.. _python-perf: ++++++++++++++++++ Python performance ++++++++++++++++++ Codespeed websites ================== * `speed.python.org `_: CPython benchmarks, run `performance `_ and `(tobami's) codespeed `_ * `speed.pypy.org `_: PyPy benchmarks, run `PyPy benchmarks `_ * `speed.pyston.org `_: Pyston benchmarks, run `pyston-perf `_ Projects ======== Python benchmarks: * `performance `_ (`GitHub project `__): Python benchmark suite * `perf `_ (`GitHub project `__): Python module to run, analyze and compare benchmarks * `performance_results `_: Results of the of performance benchmark suite * `pymicrobench `_: Collection of Python microbenchmarks written for CPython. * `PyPy benchmarks `_: PyPy benchmark suite * `Codespeed (tobami's flavor) `_: Django application to explose benchmark results. Pages: Homepage, Changes, Timeline, Compare. * `pyston-perf `_: Pyston benchmark suite Other Python Benchmarks: * `Numba benchmarks `_ * `Cython Demos/benchmarks `_ * `pythran numpy-benchmarks `_ Old deprecated projects: * `benchmarks `_: the old and deprecated Python benchmark suite Mailing list ============ * `Python speed mailing list `_ Old Python benchmarks ===================== The following benchmarks were removed from pyperformance: * `bm_rietveld.py `_: use Google AppEngine and Rietveld application which are not available on PyPI * `bm_spitfire.py `_: Spitfire project is not available on PyPI * `bm_threading.py `_ (``threading_iterative_count``, ``threading_threaded_count``) * `gcbench.py `_ * `pystone.py `_ * `tuple_gc_hell.py `_ Zero copy ========= Python3:: offset = 0 view = memoryview(large_data) while True: chunk = view[offset:offset + 4096] offset += file.write(chunk) This copy creates views on ``large_data`` without copying bytes, no bytes is copied in memory.