collinw / unladen-swallow

Automatically exported from code.google.com/p/unladen-swallow
Other
0 stars 1 forks source link

Make perf.py usable by other Python implementations #120

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
This issue will track necessary improvements to perf.py to make it usable 
by PyPy, Jython, IronPython and any other Python implementations that pop 
up. We should eliminate CPython-specific flags or environment variables.

Known issues:
- PyPy does not support the -E flag. We should set an empty PYTHONPATH 
instead, since in practice, this is the variable we're most interested in 
controlling.
- PyPy would like to set LD_LIBRARY_PATH, but perf.py uses an empty 
environment by default. perf.py should grow an --inherit_env flag that 
allows the user to whitelist certain environment variables to pass through 
to the child processes. Having an explicit flag makes for nice 
documentation about benchmark parameters/setup.

Please append any other problems to this bug report so we have a master 
list.

Original issue reported on code.google.com by collinw on 14 Jan 2010 at 11:32

GoogleCodeExporter commented 9 years ago
A patch to kill usage of -E. We tested it and it seems to be consistently 
clearing
PYTHONPATH in places that needs it (most of places cleared PYTHONPATH anyway).

Original comment by fij...@gmail.com on 15 Jan 2010 at 11:16

Attachments:

GoogleCodeExporter commented 9 years ago
Another patch (relative to the previous one) adding --inherit_env command line
option. Those two patches are enough to make PyPy work with perf.py.

Original comment by fij...@gmail.com on 15 Jan 2010 at 12:01

Attachments:

GoogleCodeExporter commented 9 years ago
perf.py-E.diff committed as r1001. Thanks for the patch!

Original comment by collinw on 15 Jan 2010 at 8:48

GoogleCodeExporter commented 9 years ago
The --inherit_env patch was committed in r1009. Thanks for the patch!

Original comment by collinw on 20 Jan 2010 at 3:30

GoogleCodeExporter commented 9 years ago
Note: Jython obeys JYTHONPATH instead of PYTHONPATH.

Original comment by collinw on 20 Jan 2010 at 6:22

GoogleCodeExporter commented 9 years ago
A strange bug if the benchmark run reports the same numbers all over the place 
(can
happen in non time-based benchmarks). Patch attached.

Original comment by fij...@gmail.com on 20 Jan 2010 at 9:50

Attachments:

GoogleCodeExporter commented 9 years ago
A bunch of patches for pypy in one chunk. Mostly it's about being able to wrap
perf.py around.

Original comment by fij...@gmail.com on 20 Jan 2010 at 9:26

Attachments:

GoogleCodeExporter commented 9 years ago
r1014 sets JYTHONPATH to support Jython. The latest Jython release fails on 
some 
benchmarks (like html5lib and nbody), but the other benchmarks I've tested work.

Original comment by collinw on 20 Jan 2010 at 10:31

GoogleCodeExporter commented 9 years ago
perf-bug.diff committed in r1018. Thanks for the patch!

Original comment by collinw on 20 Jan 2010 at 10:52

GoogleCodeExporter commented 9 years ago
perf.diff committed as r1022. Thanks for the patch!

Original comment by collinw on 21 Jan 2010 at 1:02

GoogleCodeExporter commented 9 years ago

Original comment by collinw on 26 Jan 2010 at 12:58

GoogleCodeExporter commented 9 years ago
One subproject that would be useful here would be to make 2to3 able to be run 
under 
Python 2.5 so that Jython, PyPy, IronPython, etc can run it. This may be as 
simple as 
adding "from __future__ import with_statement" imports in 2to3, then updating 
the 
version being used in the benchmark suite.

Original comment by collinw on 21 Feb 2010 at 6:13