STINNER Victor added the comment: > The test suite can be run directly from the source tree. The test suite > includes timing information for individual tests and for the the entire test. > Sample invocation:
I extracted the slowest test (test_polyroots_legendre) and put it in a loop of 5 iterations: see attached mpmath_bench.py. I ran this benchmark on Linux with 4 isolated CPU (/sys/devices/system/cpu/isolated=2-3,6-7). http://haypo-notes.readthedocs.org/misc.html#reliable-micro-benchmarks On such setup, the benchmark looks stable. Example: Run #1/5: 12.28 sec Run #2/5: 12.27 sec Run #3/5: 12.29 sec Run #4/5: 12.28 sec Run #5/5: 12.30 sec test_polyroots_legendre (min of 5 runs): * Original: 12.51 sec * fastint5_4.patch: (min of 5 runs): 12.27 sec (-1.9%) * fastint6.patch: 12.21 sec (-2.4%) I ran tests without GMP, to stress the Python int type. I guess that the benchmark is dominated by CPU time spent on computing operations on large Python int, not by the time spent in ceval.c. So the speedup is low (2%). Such use case doesn't seem to benefit of micro optimization discussed in this issue. mpmath is an arbitrary-precision floating-point arithmetic using Python int (or GMP if available). ---------- Added file: http://bugs.python.org/file41882/mpmath_bench.py _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21955> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com