usse/funda-scraper/venv/lib/python3.10/site-packages/mypyc/doc/cpython-timings.md

26 lines
830 B
Markdown
Raw Normal View History

2023-02-20 22:38:24 +00:00
# Timings of CPython Operations
Here are some *very rough* approximate timings of CPython interpreter
operations:
* `f(1)` (empty function body): 70-90ns
* `f(n=1)` (empty function body): 90-110ns
* `o.x`: 30-40ns
* `o.f(1)` (empty method body): 80-160ns
* `Cls(1)` (initialize attribute in `__init__`): 290-330ns
* `x + y` (integers): 20-35ns
* `a[i]` (list) : 20-40ns
* `[i]` (also dealloc): 35-55ns
* `a.append(i)` (list, average over 5 appends): 70ns
* `d[s]` (dict, shared str key): 20ns
* `d[s] = i` (dict, shared str key): 40ns
* `isinstance(x, A)`: 100ns
* `(x, y)`: 20-35ns
* `x, y = t` (tuple expand): 10ns
Note that these results are very imprecise due to many factors, but
these should give a rough idea of the relative costs of various
operations.
Details: CPython 3.6.2, Macbook Pro 15" (Mid 2015), macOS Sierra