]> granicus.if.org Git - postgresql/commit
Improve implementation of GEQO's init_tour() function.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 Nov 2015 15:46:14 +0000 (10:46 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 Nov 2015 15:46:14 +0000 (10:46 -0500)
commit59464bd6f928ad0da30502cbe9b54baec9ca2c69
treee548b87c7ac2beaf08d90ecf2ef9b89f3c0f8ea2
parent7bd099d511d66b55fedced9920357cc5c36811c7
Improve implementation of GEQO's init_tour() function.

Rather than filling a temporary array and then copying values to the
output array, we can generate the required random permutation in-place
using the Fisher-Yates shuffle algorithm.  This is shorter as well as
more efficient than before.  It's pretty unlikely that anyone would
notice a speed improvement, but shorter code is better.

Nathan Wagner, edited a bit by me
src/backend/optimizer/geqo/geqo_recombination.c