Py-notify Benchmarking ResultsAll benchmarking is currently done on an AMD Athlon XP 2600+ machine with 512 MB of RAM and Python 2.3. Execution time (the rightmost column) is in seconds. All benchmarking tests are executed 5 times and the best result is chosen. Benchmarks that didn’t exist in previous versions are still backported if possible. I.e. results for earlier versions are obtained unless a bug prevents that. Benchmarking results are non-deterministic, so they can vary slightly between versions even if no relevant changes had been made between them. Additionally, Py-notify can sometimes become slower, because of certain bug-fixes. Results for the versions 0.1.13–0.1.15 are the same as for 0.1.12; for 0.1.9 are the same as for 0.1.8. Signal EmissionNote that Py-notify signals are currently considerably slower than GObject signals. That might be important for uses in time-critical code. Function Handlers100,000 emissions of a signal with 4 function handlers. All handlers but first are additionally passed arguments specified at connection time.
Method Handlers100,000 emissions of a signal with 4 method handlers. All handlers but first are additionally passed arguments specified at connection time.
Compound Conditions10,000 iterations of state changes in a complex compound condition tree. Each iteration involves 10 changes in ‘base’ conditions’ states; most changes are also propagated to a compound condition or several.
|