Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Artimi/pypete
Python Performance Testing
https://github.com/Artimi/pypete
Last synced: 26 days ago
JSON representation
Python Performance Testing
- Host: GitHub
- URL: https://github.com/Artimi/pypete
- Owner: Artimi
- License: other
- Created: 2014-09-29T14:37:19.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-10-28T07:42:34.000Z (about 8 years ago)
- Last Synced: 2024-09-26T12:25:01.851Z (3 months ago)
- Language: Python
- Size: 19.5 KB
- Stars: 36
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - pypete - Python Performance Testing (Python)
README
Pypete - Python Performance Test
================================This project is no longer maintained. Consider using much more mature [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) for py.test.
This plugin helps writing performance tests in traditional nosetests way. To
turn it use the ``--with-pypete`` argument in running nosetests in command
line.Plugin run tests ``number`` times and this experiment is repeated ``repeat``
times. So for measurement test will be ran ``times x repeat`` times. If ``number``
equals 0, plugin computes optimal number of tests so the time of each
experiment is bigger than ``threshold``.I recommend to use `PrettyTable `_
for better overview of test results. You can select file, where the results
will be stored in json format. With file and prettytable you can see
comparison of current, last, best and worst run of tests (best and worst
are according to avg value).You can access all source codes at `my Github `_.
Install
-------
::pip install pypete
Example of usage:
-----------------
::$ nosetests --with-pypete --pypete-prettytable --pypete-file pypete.json tests/tests.py
F..F..
======================================================================
FAIL: test_fail (tests.BasicTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/psebek/projects/pypete/tests/tests.py", line 18, in test_fail
self.assertTrue(False)
AssertionError: False is not true======================================================================
FAIL: test_timed (tests.BasicTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/nose/tools/nontrivial.py", line 100, in newfunc
raise TimeExpired("Time limit (%s) exceeded" % limit)
TimeExpired: Time limit (0.001) exceededPypete results:
repeat = 3 and number = 0
test_fail (tests.BasicTest):
+--------+-------------+----------+----------+-----------+
| Metric | current [s] | last [s] | best [s] | worst [s] |
+--------+-------------+----------+----------+-----------+
| best | 0.000034 | 0.000033 | 0.000033 | 0.000033 |
| avg | 0.000037 | 0.000033 | 0.000033 | 0.000036 |
| worst | 0.000039 | 0.000034 | 0.000034 | 0.000040 |
+--------+-------------+----------+----------+-----------+
test_time (tests.BasicTest):
+--------+-------------+----------+----------+-----------+
| Metric | current [s] | last [s] | best [s] | worst [s] |
+--------+-------------+----------+----------+-----------+
| best | 0.001184 | 0.001174 | 0.001158 | 0.001193 |
| avg | 0.001186 | 0.001184 | 0.001176 | 0.001193 |
| worst | 0.001189 | 0.001189 | 0.001196 | 0.001193 |
+--------+-------------+----------+----------+-----------+
test_time2 (tests.BasicTest):
+--------+-------------+----------+----------+-----------+
| Metric | current [s] | last [s] | best [s] | worst [s] |
+--------+-------------+----------+----------+-----------+
| best | 0.002216 | 0.002229 | 0.002144 | 0.002257 |
| avg | 0.002237 | 0.002238 | 0.002179 | 0.002276 |
| worst | 0.002252 | 0.002245 | 0.002201 | 0.002302 |
+--------+-------------+----------+----------+-----------+
test_timed (tests.BasicTest):
+--------+-------------+----------+----------+-----------+
| Metric | current [s] | last [s] | best [s] | worst [s] |
+--------+-------------+----------+----------+-----------+
| best | 0.010448 | 0.010492 | 0.010442 | 0.010490 |
| avg | 0.010465 | 0.010541 | 0.010470 | 0.010645 |
| worst | 0.010474 | 0.010621 | 0.010492 | 0.010751 |
+--------+-------------+----------+----------+-----------+
tests.test_arguments(0.001,):
+--------+-------------+----------+----------+-----------+
| Metric | current [s] | last [s] | best [s] | worst [s] |
+--------+-------------+----------+----------+-----------+
| best | 0.001188 | 0.001210 | 0.001150 | 0.001205 |
| avg | 0.001202 | 0.001213 | 0.001186 | 0.001219 |
| worst | 0.001213 | 0.001217 | 0.001205 | 0.001227 |
+--------+-------------+----------+----------+-----------+
tests.test_arguments(0.002,):
+--------+-------------+----------+----------+-----------+
| Metric | current [s] | last [s] | best [s] | worst [s] |
+--------+-------------+----------+----------+-----------+
| best | 0.002274 | 0.002250 | 0.002183 | 0.002250 |
| avg | 0.002280 | 0.002262 | 0.002204 | 0.002286 |
| worst | 0.002288 | 0.002273 | 0.002222 | 0.002318 |
+--------+-------------+----------+----------+-----------+----------------------------------------------------------------------
Ran 6 tests in 1.619sFAILED (failures=2)