------- Additional Comments From steven at gcc dot gnu dot org 2005-05-10 09:46 ------- This is the function (reindented) where we spend almost all of our time: void NumSift (long *array, unsigned long i, unsigned long j) { unsigned long k; long temp; while ((i + i) <= j) { k = i + i; if (k < j) if (array[k] < array[k + 1L]) ++k; if (array[i] < array[k]) { temp = array[k]; array[k] = array[i]; array[i] = temp; i = k; } else i = j + 1; } return; }
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21485