Message 117147 - Python tracker (original) (raw)
Attached is my script for running a more comprehensive battery of speed tests. The script itself requires Python 2.6 with argparse installed or Python 2.7 (which includes argparse).
For obvious reasons, please make sure that your unpatched and patched versions of python are otherwise identical (same source, same compiler, same configure and compiler settings, etc.).
The script will create subdirectories to store data, so please run it in the speed_test directory.
Example usage:
otto:~/speed_test$ ./speed_test.py ../py3k-unpatched/ ../py3k-patched/ 'sort random'
otto:~/speed_test$ ./speed_test.py --help usage: speed_test.py [-h] [--minn MINN] [--maxn MAXN] [-r, --repetitions REPETITIONS] [--graphs] control experiment [tests [tests ...]]
Compare the speed of two list implementations
positional arguments: control control/python experiment experiment/python tests Names of tests to conduct
optional arguments: -h, --help show this help message and exit --minn MINN Minimum list size --maxn MAXN Maximum list size -r, --repetitions REPETITIONS Repetitions; how many times to repeat each experiment --graphs Generate performance graphs as a function of n; requires gnuplot
Available experiments: sort random tuples sort random key sort reversed sort random objects sort sorted sort sorted key sort random sort sorted objects sort reversed key