Having trouble while using pypy: pyperf is much slower than timeit
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- python
- Domain
- performance, testing-qa
Research direction
Start by reproducing the reported pyperf and timeit commands with PyPy, including the --jit off comparison. Investigate whether the difference is expected from benchmark warm-up or JIT behavior; done means the issue has a documented explanation or a clearly identified pyperf problem and reproduction path.
Written by the indexing model from the issue text.
Description
I'm learting Python and made some tests. I downloaded and unzipped pypy to a folder. I can't find the proper way to use pyperf with pypy. Can I get the result with JIT?
Code:
# global i, big loop of empty
## pyperf
py -3.10 -m pyperf timeit -s "global i" "for i in range(100_000_000): pass" --rigorous
Mean +- std dev: 1.95 sec +- 0.04 sec
pypy -m pyperf timeit -s "global i" "for i in range(100_000_000): pass" --rigorous
Mean +- std dev: 1.02 sec +- 0.02 sec
### The command
### Can I get the result with JIT?
## timeit
py -3.10 -m timeit -s "global i" "for i in range(100_000_000): pass"
1 loop, best of 5: 2.02 sec per loop
pypy -m timeit -s "global i" "for i in range(100_000_000): pass"
5 loops, average of 7: 46 +- 1.56 msec per loop
pypy --jit off -m timeit -s "global i" "for i in range(100_000_000): pass"
1 loops, average of 7: 6.31 +- 0.0155 sec per loop
- Dominant language
- Python
- Stars
- 967
- Forks
- 112
- Avg merge
- 5d 8h
- Merged PRs (30d)
- 9
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from psf/pyperf
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
Improve Type System for `pyperf`Possibly taken @DebanKsahu claimed this 69 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 32/100
Maintainers usually reply within 1 day
-
Extend hook's teardown metadata with warmup/calibration flagsPossibly taken @maurycy claimed this 170 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
psf/pyperf#239 · 12 comments ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
Maintainers usually reply within 1 day
Similar issues
-
plot_graph crashes when a mesh node has no m2m edgePossibly taken @tygvi claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
mllam/neural-lam#883 · 1 comment ·
Maintainers usually reply within 2 days
-
enhancement possible-duplicate
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
AOSSIE-Org/PictoPy#1715 · 2 comments ·
Maintainers usually reply within 6 days
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on themOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
NVIDIA/auto-ontology#511 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ethereum/execution-specs#3996 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
cpp-best-practices/project_validator#267 ·
Maintainers usually reply within 1 day