Charles R Harris wrote: > Hi All, > > I changed the sort routines to sort nans to the end and got some > timings. Sorting 100000 random doubles 100 times yields: > > current nan version > quicksort 1.17 sec 1.29 sec > mergesort 1.37 sec 1.36 sec > heapsort 1.83 sec 2.12 sec > > Curiously, mergesort doesn't seem to suffer at all. This is using x != > x for nan detection, using npy_isnan is notably slower with my > compiler (gcc 4.3.0).
That's because glibc isnan is slow :) I was surprised, but our own isnan replacement is much faster than the glibc one at least (like almost twice as fast on my P4 machine). Glibc isnan avoids branching, but it seems that it tries too hard. cheers, David _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion