Improve implementation of GEQO's init_tour() function.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 59464bd6f928ad0da30502cbe9b54baec9ca2c69
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2015-11-05T15:46:14Z
Releases: 9.6.0
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

Files

PathChange+/−
src/backend/optimizer/geqo/geqo_recombination.c modified +19 −25