Mark Dickinson <[EMAIL PROTECTED]> added the comment: [Tim] > if you're concerned about speed, it would probably pay to eliminate all > library calls except one to frexp().
Indeed it would! Here's a revised patch that avoids use of fmod. Speed is comparable with the current version. Here are some timings for summing random values on OS X/Core 2 Duo, on a non-debug build of the trunk. lsum is the patched version, msum is the version in the current trunk; timings are in seconds. | lsum | msum ------------------------------------------------+----------+--------- 50000 random values in [0, 1) | 0.003091 | 0.002540 50000 random values in [0, 1), sorted | 0.003202 | 0.003043 50000 random values in [0, 1), reverse order | 0.003201 | 0.002587 50000 random values in [-1, 1) | 0.003229 | 0.002829 50000 random values in [-1, 1), sorted | 0.003183 | 0.002629 50000 random values in [-1, 1), reverse order | 0.003195 | 0.002731 50000 random exponential values | 0.003994 | 0.006178 50000 random exponential values, sorted | 0.003713 | 0.007933 50000 random exponential values, reverse order | 0.003714 | 0.002849 Note that lsum doesn't suffer from the 'fragmentation of partials' problem that slows down msum for sorted datasets. I'll do some timings on Linux/x86 as well. Added file: http://bugs.python.org/file11014/fsum10.patch _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2819> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com