Issue2361
Created on 2015-05-28.04:42:50 by zyasoft, last changed 2015-05-28.05:10:19 by zyasoft.
Messages | |||
---|---|---|---|
msg10086 (view) | Author: Jim Baker (zyasoft) | Date: 2015-05-28.04:42:47 | |
Time to start running performance benchmarks from https://hg.python.org/benchmarks/ First, we need to workaround the fact that some functionality is missing; here is a quick diff: diff -r 1bd1437ea49b perf.py --- a/perf.py Mon Jan 26 21:12:30 2015 +0100 +++ b/perf.py Wed May 27 22:42:23 2015 -0600 @@ -68,6 +68,7 @@ import tempfile import time import threading +import traceback try: import http.client as httpclient except: @@ -2538,11 +2539,17 @@ results = [] for name in sorted(should_run): + if name.endswith("_startup"): + print("Skipping startup %s" % name) + continue func = bench_funcs[name] print("Running %s..." % name) options.benchmark_name = name # Easier than threading this everywhere. - results.append((name, func(base_cmd_prefix, changed_cmd_prefix, - options))) + try: + results.append((name, func(base_cmd_prefix, changed_cmd_prefix, + options))) + except Exception as e: + traceback.print_exc() print() print("Report on %s" % " ".join(platform.uname())) (I also omitted startup testing... Not interested in that aspect at this point!) $ python perf.py -v -f -b all /usr/local/bin/python ~/jython2.7.0/bin/jython INFO:root:Automatically selected timer: time INFO:root:Skipping slow benchmarks (hexiom2) in fast mode Running 2to3... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython lib/2to3/2to3 -f all lib/2to3/lib2to3/refactor.py` INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython lib/2to3/2to3 -f all lib/2to3/lib2to3/refactor.py` 1 time INFO:root:Running `/usr/local/bin/python lib/2to3/2to3 -f all lib/2to3/lib2to3/refactor.py` INFO:root:Running `/usr/local/bin/python lib/2to3/2to3 -f all lib/2to3/lib2to3/refactor.py` 1 time Skipping startup bzr_startup Running call_method... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_call_method.py -n 15 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_call_method.py -n 15 --timer time` Running call_method_slots... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_call_method_slots.py -n 15 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_call_method_slots.py -n 15 --timer time` Running call_method_unknown... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_call_method_unknown.py -n 15 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_call_method_unknown.py -n 15 --timer time` Running call_simple... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_call_simple.py -n 15 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_call_simple.py -n 15 --timer time` Running chameleon... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_chameleon.py -n 15 --timer time` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 1414, in BM_Chameleon return SimpleBenchmark(MeasureChameleon, *args, **kwargs) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 1410, in MeasureChameleon return MeasureGeneric(python, options, bm_path, bm_env, iteration_scaling=3) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_chameleon.py", line 37, in <module> util.run_benchmark(options, options.num_runs, main) File "/Users/jbaker/opensource/benchmarks/performance/util.py", line 32, in run_benchmark data = bench_func(num_runs, timer, *args) File "performance/bm_chameleon.py", line 19, in main tmpl = PageTemplate(BIGTABLE_ZPT) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/zpt/template.py", line 163, in __init__ super(PageTemplate, self).__init__(body, **config) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py", line 117, in __init__ self.write(body) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py", line 208, in write self.cook(body) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py", line 147, in cook program = self._cook(body, digest, names) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py", line 218, in _cook source = self._make(body, builtins) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py", line 218, in _cook source = self._make(body, builtins) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py", line 251, in _make return self._compile(module, builtins) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py", line 245, in _compile compiler = Compiler(self.engine, program, builtins, strict=self.strict) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py", line 884, in __init__ module.body += self.visit(node) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py", line 900, in visit iterator = visitor(node) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py", line 941, in visit_Module program = self.visit(node.program) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py", line 900, in visit iterator = visitor(node) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py", line 960, in visit_MacroProgram stmts = self.visit(macro) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py", line 901, in visit return list(iterator) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py", line 997, in visit_Macro nodes = itertools.chain(*tuple(map(self.visit, node.body))) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py", line 900, in visit iterator = visitor(node) File "/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py", line 974, in visit_Context return template("getitem = econtext.__getitem__") + \ java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.set(ArrayList.java:444) at org.python.core.AstList.pyset(AstList.java:588) at org.python.core.AstList.setslicePySequence(AstList.java:486) at org.python.core.AstList.setslice(AstList.java:463) at org.python.core.AstList.astlist_extend(AstList.java:364) at org.python.core.AstList.extend(AstList.java:368) at org.python.core.AstList.astlist___add__(AstList.java:234) at org.python.core.AstList.__add__(AstList.java:224) at org.python.core.PyObject._basic_add(PyObject.java:2133) at org.python.core.PyObject._add(PyObject.java:2119) at chameleon.compiler$py.visit_Context$58(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py:974) at chameleon.compiler$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at chameleon.compiler$py.visit$53(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py:901) at chameleon.compiler$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:218) at org.python.core.PyMethod.__call__(PyMethod.java:213) at org.python.core.__builtin__.map(__builtin__.java:772) at org.python.core.BuiltinFunctions.fancyCall(__builtin__.java:242) at org.python.core.BuiltinFunctions.__call__(__builtin__.java:161) at org.python.core.PyObject.__call__(PyObject.java:482) at chameleon.compiler$py.visit_Macro$59(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py:1025) at chameleon.compiler$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyGenerator.__iternext__(PyGenerator.java:156) at org.python.core.PyGenerator.__iternext__(PyGenerator.java:138) at org.python.core.WrappedIterIterator.hasNext(WrappedIterIterator.java:23) at org.python.core.PyList.list___init__(PyList.java:138) at org.python.core.PyList$exposed___new__.createOfType(Unknown Source) at org.python.core.PyOverridableNew.new_impl(PyOverridableNew.java:12) at org.python.core.PyType.invokeNew(PyType.java:494) at org.python.core.PyType.type___call__(PyType.java:1706) at org.python.core.PyType.__call__(PyType.java:1696) at org.python.core.PyObject.__call__(PyObject.java:461) at org.python.core.PyObject.__call__(PyObject.java:465) at chameleon.compiler$py.visit$53(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py:901) at chameleon.compiler$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at chameleon.compiler$py.visit_MacroProgram$57(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py:971) at chameleon.compiler$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at chameleon.compiler$py.visit$53(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py:901) at chameleon.compiler$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at chameleon.compiler$py.visit_Module$56(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py:951) at chameleon.compiler$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at chameleon.compiler$py.visit$53(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py:901) at chameleon.compiler$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at chameleon.compiler$py.__init__$52(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py:893) at chameleon.compiler$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/compiler.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:223) at org.python.core.Deriveds.dispatch__init__(Deriveds.java:19) at org.python.core.PyObjectDerived.dispatch__init__(PyObjectDerived.java:1112) at org.python.core.PyType.type___call__(PyType.java:1713) at org.python.core.PyType.__call__(PyType.java:1696) at org.python.core.PyObject.__call__(PyObject.java:394) at chameleon.template$py._compile$16(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py:246) at chameleon.template$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.core.PyMethod.__call__(PyMethod.java:156) at chameleon.template$py._make$17(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py:251) at chameleon.template$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.core.PyMethod.__call__(PyMethod.java:156) at chameleon.template$py._cook$14(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py:235) at chameleon.template$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:188) at org.python.core.PyFunction.__call__(PyFunction.java:446) at org.python.core.PyMethod.__call__(PyMethod.java:171) at chameleon.template$py.cook$8(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py:158) at chameleon.template$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at chameleon.template$py.write$12(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py:208) at chameleon.template$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:153) at org.python.core.PyFunction.__call__(PyFunction.java:423) at org.python.core.PyMethod.__call__(PyMethod.java:141) at chameleon.template$py.__init__$3(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py:122) at chameleon.template$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:223) at org.python.core.PyObject._callextra(PyObject.java:601) at chameleon.zpt.template$py.__init__$2(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/zpt/template.py:163) at chameleon.zpt.template$py.call_function(/Users/jbaker/opensource/benchmarks/lib/Chameleon-2.9.2/src/chameleon/zpt/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:223) at org.python.core.Deriveds.dispatch__init__(Deriveds.java:19) at org.python.core.PyObjectDerived.dispatch__init__(PyObjectDerived.java:1112) at org.python.core.PyType.type___call__(PyType.java:1713) at org.python.core.PyType.__call__(PyType.java:1696) at org.python.core.PyObject.__call__(PyObject.java:461) at org.python.core.PyObject.__call__(PyObject.java:465) at org.python.pycode._pyx5.main$1(performance/bm_chameleon.py:27) at org.python.pycode._pyx5.call_function(performance/bm_chameleon.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyFunction.function___call__(PyFunction.java:471) at org.python.core.PyFunction.__call__(PyFunction.java:466) at org.python.core.PyFunction.__call__(PyFunction.java:461) at org.python.core.PyObject._callextra(PyObject.java:601) at util$py.run_benchmark$1(/Users/jbaker/opensource/benchmarks/performance/util.py:37) at util$py.call_function(/Users/jbaker/opensource/benchmarks/performance/util.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:161) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.pycode._pyx5.f$0(performance/bm_chameleon.py:37) at org.python.pycode._pyx5.call_function(performance/bm_chameleon.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyCode.call(PyCode.java:18) at org.python.core.Py.runCode(Py.java:1386) at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:296) at org.python.util.jython.run(jython.java:362) at org.python.util.jython.main(jython.java:142) java.lang.IndexOutOfBoundsException: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 Running chaos... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_chaos.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_chaos.py -n 5 --timer time` Running django... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_django.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_django.py -n 5 --timer time` Running django_v2... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_django_v2.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_django_v2.py -n 5 --timer time` Running etree_generate... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_elementtree.py -n 5 --timer time generate` INFO:root:Running `/usr/local/bin/python performance/bm_elementtree.py -n 5 --timer time generate` Running etree_iterparse... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_elementtree.py -n 5 --timer time iterparse` INFO:root:Running `/usr/local/bin/python performance/bm_elementtree.py -n 5 --timer time iterparse` Running etree_parse... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_elementtree.py -n 5 --timer time parse` INFO:root:Running `/usr/local/bin/python performance/bm_elementtree.py -n 5 --timer time parse` Running etree_process... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_elementtree.py -n 5 --timer time process` INFO:root:Running `/usr/local/bin/python performance/bm_elementtree.py -n 5 --timer time process` Running fannkuch... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_fannkuch.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_fannkuch.py -n 5 --timer time` Running fastpickle... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_pickle.py -n 5 --timer time --use_cpickle pickle` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 1663, in BM_FastPickle return _PickleBenchmark(base_python, changed_python, options, args) File "perf.py", line 1658, in _PickleBenchmark base_python, changed_python, options, extra_args) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 1639, in MeasurePickle return MeasureGeneric(python, options, bm_path, extra_args=extra_args) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_pickle.py", line 349, in <module> if pickle.Pickler.__module__ == 'pickle': AttributeError: 'reflectedfunction' object has no attribute '__module__' Running fastunpickle... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_pickle.py -n 5 --timer time --use_cpickle unpickle` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 1668, in BM_FastUnpickle return _PickleBenchmark(base_python, changed_python, options, args) File "perf.py", line 1658, in _PickleBenchmark base_python, changed_python, options, extra_args) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 1639, in MeasurePickle return MeasureGeneric(python, options, bm_path, extra_args=extra_args) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_pickle.py", line 349, in <module> if pickle.Pickler.__module__ == 'pickle': AttributeError: 'reflectedfunction' object has no attribute '__module__' Running float... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_float.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_float.py -n 5 --timer time` Running formatted_logging... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_logging.py -n 5 --timer time formatted_output` INFO:root:Running `/usr/local/bin/python performance/bm_logging.py -n 5 --timer time formatted_output` Running go... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_go.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_go.py -n 5 --timer time` Skipping startup hg_startup Running html5lib... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_html5lib.py -n 1` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 2204, in BM_html5lib return SimpleBenchmark(MeasureHtml5lib, *args, **kwargs) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 2200, in MeasureHtml5lib return MeasureCommand(command, trials, bm_env, options.track_memory) File "perf.py", line 1304, in MeasureCommand CallAndCaptureOutput(command, env=env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_html5lib.py", line 23, in <module> import html5lib File "/Users/jbaker/opensource/benchmarks/lib/html5lib/html5lib/__init__.py", line 15, in <module> from html5parser import HTMLParser, parse, parseFragment File "/Users/jbaker/opensource/benchmarks/lib/html5lib/html5lib/html5parser.py", line 20, in <module> import inputstream UnicodeDecodeError: 'unicodeescape' codec can't decode bytes in position 48-54: illegal Unicode character Running html5lib_warmup... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_html5lib.py -n 1 --timer time` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 2185, in BM_html5lib_warmup return SimpleBenchmark(MeasureHtml5libWarmup, *args, **kwargs) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 2181, in MeasureHtml5libWarmup iteration_scaling=0.10) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_html5lib.py", line 23, in <module> import html5lib File "/Users/jbaker/opensource/benchmarks/lib/html5lib/html5lib/__init__.py", line 15, in <module> from html5parser import HTMLParser, parse, parseFragment File "/Users/jbaker/opensource/benchmarks/lib/html5lib/html5lib/html5parser.py", line 20, in <module> import inputstream UnicodeDecodeError: 'unicodeescape' codec can't decode bytes in position 48-54: illegal Unicode character Running json_dump... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_json.py -n 5 --timer time json_dump` INFO:root:Running `/usr/local/bin/python performance/bm_json.py -n 5 --timer time json_dump` Running json_dump_v2... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_json_v2.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_json_v2.py -n 5 --timer time` Running json_load... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_json.py -n 5 --timer time json_load` INFO:root:Running `/usr/local/bin/python performance/bm_json.py -n 5 --timer time json_load` Running mako... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_mako.py -n 25 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_mako.py -n 25 --timer time` Running mako_v2... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_mako_v2.py -n 50 --timer time` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 1612, in BM_mako_v2 return SimpleBenchmark(MeasureMakoV2, *args, **kwargs) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 1608, in MeasureMakoV2 iteration_scaling=10) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_mako_v2.py", line 150, in <module> util.run_benchmark(options, options.num_runs, test_mako) File "/Users/jbaker/opensource/benchmarks/performance/util.py", line 32, in run_benchmark data = bench_func(num_runs, timer, *args) File "performance/bm_mako_v2.py", line 124, in test_mako lookup.put_string('base.mako', BASE_TEMPLATE) File "/Users/jbaker/jython2.7.0/Lib/site-packages/mako/lookup.py", line 346, in put_string self._collection[uri] = Template( File "/Users/jbaker/jython2.7.0/Lib/site-packages/mako/template.py", line 303, in __init__ (code, module) = _compile_text(self, text, filename) File "/Users/jbaker/jython2.7.0/Lib/site-packages/mako/template.py", line 665, in _compile_text source, lexer = _compile(template, text, filename, File "/Users/jbaker/jython2.7.0/Lib/site-packages/mako/template.py", line 648, in _compile source = codegen.compile(node, File "/Users/jbaker/jython2.7.0/Lib/site-packages/mako/codegen.py", line 52, in compile _GenerateRenderMethod(printer, File "/Users/jbaker/jython2.7.0/Lib/site-packages/mako/codegen.py", line 146, in __init__ _GenerateRenderMethod(printer, compiler, node) File "/Users/jbaker/jython2.7.0/Lib/site-packages/mako/codegen.py", line 109, in __init__ args = node.get_argument_expressions() File "/Users/jbaker/jython2.7.0/Lib/site-packages/mako/parsetree.py", line 437, in get_argument_expressions return self.function_decl.get_argument_expressions(**kw) File "/Users/jbaker/jython2.7.0/Lib/site-packages/mako/ast.py", line 130, in get_argument_expressions defaults = self.defaults[::-1] java.lang.IndexOutOfBoundsException: fromIndex = -1 at java.util.ArrayList.subListRangeCheck(ArrayList.java:1002) at java.util.ArrayList.subList(ArrayList.java:996) at org.python.core.AstList.getslice(AstList.java:376) at org.python.core.PySequence$DefaultIndexDelegate.getSlice(PySequence.java:537) at org.python.core.SequenceIndexDelegate.getSlice(SequenceIndexDelegate.java:80) at org.python.core.PySequence.seq___getslice__(PySequence.java:396) at org.python.core.PySequence.__getslice__(PySequence.java:392) at mako.ast$py.get_argument_expressions$9(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/ast.py:167) at mako.ast$py.call_function(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/ast.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:223) at org.python.core.PyObject._callextra(PyObject.java:601) at mako.parsetree$py.get_argument_expressions$58(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/parsetree.py:437) at mako.parsetree$py.call_function(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/parsetree.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:131) at org.python.core.PyFunction.__call__(PyFunction.java:413) at org.python.core.PyMethod.__call__(PyMethod.java:126) at mako.codegen$py.__init__$5(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/codegen.py:149) at mako.codegen$py.call_function(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/codegen.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:223) at org.python.core.Deriveds.dispatch__init__(Deriveds.java:19) at org.python.core.PyObjectDerived.dispatch__init__(PyObjectDerived.java:1112) at org.python.core.PyType.type___call__(PyType.java:1713) at org.python.core.PyType.__call__(PyType.java:1696) at org.python.core.PyObject.__call__(PyObject.java:496) at org.python.core.PyObject.__call__(PyObject.java:500) at mako.codegen$py.__init__$5(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/codegen.py:149) at mako.codegen$py.call_function(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/codegen.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:223) at org.python.core.Deriveds.dispatch__init__(Deriveds.java:19) at org.python.core.PyObjectDerived.dispatch__init__(PyObjectDerived.java:1112) at org.python.core.PyType.type___call__(PyType.java:1713) at org.python.core.PyType.__call__(PyType.java:1696) at org.python.core.PyObject.__call__(PyObject.java:496) at org.python.core.PyObject.__call__(PyObject.java:500) at mako.codegen$py.compile$1(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/codegen.py:66) at mako.codegen$py.call_function(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/codegen.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyFunction.function___call__(PyFunction.java:471) at org.python.core.PyFunction.__call__(PyFunction.java:466) at mako.template$py._compile$30(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/template.py:661) at mako.template$py.call_function(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyFunction.function___call__(PyFunction.java:471) at org.python.core.PyFunction.__call__(PyFunction.java:466) at mako.template$py._compile_text$31(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/template.py:676) at mako.template$py.call_function(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at mako.template$py.__init__$2(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/template.py:335) at mako.template$py.call_function(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/template.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:237) at org.python.core.PyMethod.__call__(PyMethod.java:228) at org.python.core.PyMethod.__call__(PyMethod.java:223) at org.python.core.Deriveds.dispatch__init__(Deriveds.java:19) at org.python.core.PyObjectDerived.dispatch__init__(PyObjectDerived.java:1112) at org.python.core.PyType.type___call__(PyType.java:1713) at org.python.core.PyType.__call__(PyType.java:1696) at org.python.core.PyObject._callextra(PyObject.java:601) at mako.lookup$py.put_string$14(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/lookup.py:346) at mako.lookup$py.call_function(/Users/jbaker/jython2.7.0/Lib/site-packages/mako/lookup.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:170) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.core.PyMethod.__call__(PyMethod.java:156) at org.python.pycode._pyx5.test_mako$1(performance/bm_mako_v2.py:141) at org.python.pycode._pyx5.call_function(performance/bm_mako_v2.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyFunction.function___call__(PyFunction.java:471) at org.python.core.PyFunction.__call__(PyFunction.java:466) at org.python.core.PyFunction.__call__(PyFunction.java:461) at org.python.core.PyObject._callextra(PyObject.java:601) at util$py.run_benchmark$1(/Users/jbaker/opensource/benchmarks/performance/util.py:37) at util$py.call_function(/Users/jbaker/opensource/benchmarks/performance/util.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:161) at org.python.core.PyFunction.__call__(PyFunction.java:434) at org.python.pycode._pyx5.f$0(performance/bm_mako_v2.py:150) at org.python.pycode._pyx5.call_function(performance/bm_mako_v2.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyCode.call(PyCode.java:18) at org.python.core.Py.runCode(Py.java:1386) at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:296) at org.python.util.jython.run(jython.java:362) at org.python.util.jython.main(jython.java:142) java.lang.IndexOutOfBoundsException: java.lang.IndexOutOfBoundsException: fromIndex = -1 Running meteor_contest... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_meteor_contest.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_meteor_contest.py -n 5 --timer time` Running nbody... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_nbody.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_nbody.py -n 5 --timer time` Skipping startup normal_startup Running nqueens... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_nqueens.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_nqueens.py -n 5 --timer time` Running pathlib... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_pathlib.py -n 50 --timer time` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 1624, in BM_pathlib return SimpleBenchmark(MeasurePathlib, *args, **kwargs) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 1620, in MeasurePathlib iteration_scaling=10) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_pathlib.py", line 22, in <module> from pathlib import Path File "/Users/jbaker/opensource/benchmarks/lib/pathlib/pathlib.py", line 445, in <module> class _NormalAccessor(_Accessor): File "/Users/jbaker/opensource/benchmarks/lib/pathlib/pathlib.py", line 463, in _NormalAccessor open = _wrap_strfunc(os.open) File "/Users/jbaker/opensource/benchmarks/lib/pathlib/pathlib.py", line 448, in _wrap_strfunc @wraps(strfunc) File "/Users/jbaker/jython2.7.0/Lib/functools.py", line 33, in update_wrapper setattr(wrapper, attr, getattr(wrapped, attr)) AttributeError: 'reflectedfunction' object has no attribute '__module__' Running pickle_dict... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_pickle.py -n 5 --timer time --use_cpickle pickle_dict` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 1683, in BM_Pickle_Dict return _PickleBenchmark(base_python, changed_python, options, args) File "perf.py", line 1658, in _PickleBenchmark base_python, changed_python, options, extra_args) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 1639, in MeasurePickle return MeasureGeneric(python, options, bm_path, extra_args=extra_args) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_pickle.py", line 349, in <module> if pickle.Pickler.__module__ == 'pickle': AttributeError: 'reflectedfunction' object has no attribute '__module__' Running pickle_list... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_pickle.py -n 5 --timer time --use_cpickle pickle_list` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 1673, in BM_Pickle_List return _PickleBenchmark(base_python, changed_python, options, args) File "perf.py", line 1658, in _PickleBenchmark base_python, changed_python, options, extra_args) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 1639, in MeasurePickle return MeasureGeneric(python, options, bm_path, extra_args=extra_args) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_pickle.py", line 349, in <module> if pickle.Pickler.__module__ == 'pickle': AttributeError: 'reflectedfunction' object has no attribute '__module__' Running pidigits... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_pidigits.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_pidigits.py -n 5 --timer time` Running pybench... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/pybench/pybench.py -w 100 -f /var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/changed.2kKrjl` Traceback (most recent call last): File "performance/pybench/pybench.py", line 961, in <module> PyBenchCmdline() File "/Users/jbaker/opensource/benchmarks/performance/pybench/CommandLine.py", line 346, in __init__ rc = self.main() File "/Users/jbaker/opensource/benchmarks/performance/pybench/CommandLine.py", line 346, in __init__ rc = self.main() File "performance/pybench/pybench.py", line 928, in main bench.run() File "performance/pybench/pybench.py", line 928, in main bench.run() File "performance/pybench/pybench.py", line 544, in run test.run() File "/Users/jbaker/opensource/benchmarks/performance/pybench/pybench.py", line 326, in run test() File "/Users/jbaker/opensource/benchmarks/performance/pybench/Strings.py", line 447, in test v.upper() java.lang.IllegalArgumentException: Cannot create PyString with non-byte value at org.python.core.PyString.<init>(PyString.java:64) at org.python.core.PyString.<init>(PyString.java:70) at org.python.core.Py.newString(Py.java:641) at org.python.core.PyString$str_upper_exposer.__call__(Unknown Source) at org.python.core.PyObject.__call__(PyObject.java:449) at Strings$py.test$17(/Users/jbaker/opensource/benchmarks/performance/pybench/Strings.py:401) at Strings$py.call_function(/Users/jbaker/opensource/benchmarks/performance/pybench/Strings.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:138) at org.python.core.PyFunction.__call__(PyFunction.java:413) at org.python.core.PyMethod.__call__(PyMethod.java:126) at pybench$py.run$10(/Users/jbaker/opensource/benchmarks/performance/pybench/pybench.py:335) at pybench$py.call_function(/Users/jbaker/opensource/benchmarks/performance/pybench/pybench.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:138) at org.python.core.PyFunction.__call__(PyFunction.java:413) at org.python.core.PyMethod.__call__(PyMethod.java:126) at org.python.pycode._pyx5.run$20(performance/pybench/pybench.py:563) at org.python.pycode._pyx5.call_function(performance/pybench/pybench.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:138) at org.python.core.PyFunction.__call__(PyFunction.java:413) at org.python.core.PyMethod.__call__(PyMethod.java:126) at org.python.pycode._pyx5.main$26(performance/pybench/pybench.py:958) at org.python.pycode._pyx5.call_function(performance/pybench/pybench.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:138) at org.python.core.PyFunction.__call__(PyFunction.java:413) at org.python.core.PyMethod.__call__(PyMethod.java:126) at CommandLine$py.__init__$15(/Users/jbaker/opensource/benchmarks/performance/pybench/CommandLine.py:370) at CommandLine$py.call_function(/Users/jbaker/opensource/benchmarks/performance/pybench/CommandLine.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyBaseCode.call(PyBaseCode.java:307) at org.python.core.PyBaseCode.call(PyBaseCode.java:198) at org.python.core.PyFunction.__call__(PyFunction.java:482) at org.python.core.PyFunction.__call__(PyFunction.java:476) at org.python.core.PyInstance.__init__(PyInstance.java:124) at org.python.core.PyClass.__call__(PyClass.java:193) at org.python.core.PyObject.__call__(PyObject.java:445) at org.python.core.PyObject.__call__(PyObject.java:449) at org.python.pycode._pyx5.f$0(performance/pybench/pybench.py:961) at org.python.pycode._pyx5.call_function(performance/pybench/pybench.py) at org.python.core.PyTableCode.call(PyTableCode.java:167) at org.python.core.PyCode.call(PyCode.java:18) at org.python.core.Py.runCode(Py.java:1386) at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:296) at org.python.util.jython.run(jython.java:362) at org.python.util.jython.main(jython.java:142) java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Cannot create PyString with non-byte value Running raytrace... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_raytrace.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_raytrace.py -n 5 --timer time` Running regex_compile... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_regex_compile.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_regex_compile.py -n 5 --timer time` Running regex_effbot... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_regex_effbot.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_regex_effbot.py -n 5 --timer time` Running regex_v8... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_regex_v8.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_regex_v8.py -n 5 --timer time` Running richards... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_richards.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_richards.py -n 5 --timer time` Running rietveld... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_rietveld.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_rietveld.py -n 5 --timer time` Running silent_logging... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_logging.py -n 5 --timer time no_output` INFO:root:Running `/usr/local/bin/python performance/bm_logging.py -n 5 --timer time no_output` Running simple_logging... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_logging.py -n 5 --timer time simple_output` INFO:root:Running `/usr/local/bin/python performance/bm_logging.py -n 5 --timer time simple_output` Running slowpickle... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_pickle.py -n 5 --timer time pickle` INFO:root:Running `/usr/local/bin/python performance/bm_pickle.py -n 5 --timer time pickle` Running slowspitfire... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_spitfire.py -n 5 --timer time --disable_psyco` INFO:root:Running `/usr/local/bin/python performance/bm_spitfire.py -n 5 --timer time --disable_psyco` Running slowunpickle... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_pickle.py -n 5 --timer time unpickle` INFO:root:Running `/usr/local/bin/python performance/bm_pickle.py -n 5 --timer time unpickle` Running spambayes... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_spambayes.py -n 5 --timer time` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 2164, in BM_spambayes return SimpleBenchmark(MeasureSpamBayes, *args, **kwargs) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 2160, in MeasureSpamBayes return MeasureGeneric(python, options, bm_path, bm_env) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_spambayes.py", line 18, in <module> from spambayes import hammie, mboxutils File "/Users/jbaker/jython2.7.0/Lib/site-packages/spambayes-1.1b1-py2.7.egg/spambayes/hammie.py", line 6, in <module> from spambayes import storage File "/Users/jbaker/jython2.7.0/Lib/site-packages/spambayes-1.1b1-py2.7.egg/spambayes/storage.py", line 66, in <module> from spambayes import cdb File "/Users/jbaker/jython2.7.0/Lib/site-packages/spambayes-1.1b1-py2.7.egg/spambayes/cdb.py", line 13, in <module> import mmap ImportError: No module named mmap Running spectral_norm... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_spectral_norm.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_spectral_norm.py -n 5 --timer time` Running spitfire... INFO:root:Building Psyco for ['/Users/jbaker/jython2.7.0/bin/jython'] INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython setup.py build --build-lib=/var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL` PROCESSOR = 'i386' running build running build_py creating /var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL/psyco copying py-support/__init__.py -> /var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL/psyco copying py-support/classes.py -> /var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL/psyco copying py-support/core.py -> /var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL/psyco copying py-support/kdictproxy.py -> /var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL/psyco copying py-support/logger.py -> /var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL/psyco copying py-support/profiler.py -> /var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL/psyco copying py-support/support.py -> /var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL/psyco running build_ext building 'psyco._psyco' extension error: Compiling extensions is not supported on Jython Running startup_nosite... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython -S -c ` 200 times INFO:root:Running `/usr/local/bin/python -S -c ` 200 times Running telco... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_telco.py -n 5 --timer time` INFO:root:Running `/usr/local/bin/python performance/bm_telco.py -n 5 --timer time` Running tornado_http... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_tornado_http.py -n 10 --timer time` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 1428, in BM_Tornado_Http return SimpleBenchmark(MeasureTornadoHttp, *args, **kwargs) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 1423, in MeasureTornadoHttp return MeasureGeneric(python, options, bm_path, bm_env, iteration_scaling=2) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_tornado_http.py", line 17, in <module> from tornado.httpclient import AsyncHTTPClient File "/Users/jbaker/opensource/benchmarks/lib/tornado-3.1.1/tornado/httpclient.py", line 39, in <module> from tornado.ioloop import IOLoop File "/Users/jbaker/opensource/benchmarks/lib/tornado-3.1.1/tornado/ioloop.py", line 59, in <module> from tornado.platform.auto import set_close_exec, Waker File "/Users/jbaker/opensource/benchmarks/lib/tornado-3.1.1/tornado/platform/auto.py", line 34, in <module> from tornado.platform.posix import set_close_exec, Waker File "/Users/jbaker/opensource/benchmarks/lib/tornado-3.1.1/tornado/platform/posix.py", line 21, in <module> import fcntl ImportError: No module named fcntl Running unpack_sequence... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_unpack_sequence.py -n 5000 --timer time` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 2090, in BM_unpack_sequence return SimpleBenchmark(MeasureUnpackSequence, *args, **kwargs) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 2086, in MeasureUnpackSequence return MeasureGeneric(python, options, bm_path, iteration_scaling=1000) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: java.lang.RuntimeException: Method code too large! at org.python.objectweb.asm.MethodWriter.a(Unknown Source) at org.python.objectweb.asm.ClassWriter.toByteArray(Unknown Source) at org.python.compiler.ClassFile.write(ClassFile.java:215) at org.python.compiler.Module.write(Module.java:620) at org.python.compiler.Module.compile(Module.java:676) at org.python.compiler.Module.compile(Module.java:657) at org.python.compiler.LegacyCompiler$LazyLegacyBundle.ostream(LegacyCompiler.java:59) at org.python.compiler.LegacyCompiler$LazyLegacyBundle.loadCode(LegacyCompiler.java:43) at org.python.core.CompilerFacade.compile(CompilerFacade.java:33) at org.python.core.Py.compile_flags(Py.java:1942) at org.python.core.Py.compile_flags(Py.java:1947) at org.python.core.Py.compile_flags(Py.java:1957) at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:296) at org.python.util.jython.run(jython.java:362) at org.python.util.jython.main(jython.java:142) java.lang.RuntimeException: java.lang.RuntimeException: Method code too large! Running unpickle_list... INFO:root:Running `/Users/jbaker/jython2.7.0/bin/jython performance/bm_pickle.py -n 5 --timer time --use_cpickle unpickle_list` Traceback (most recent call last): File "perf.py", line 2550, in main options))) File "perf.py", line 1678, in BM_Unpickle_List return _PickleBenchmark(base_python, changed_python, options, args) File "perf.py", line 1658, in _PickleBenchmark base_python, changed_python, options, extra_args) File "perf.py", line 766, in SimpleBenchmark *args, **kwargs) File "perf.py", line 1639, in MeasurePickle return MeasureGeneric(python, options, bm_path, extra_args=extra_args) File "perf.py", line 1164, in MeasureGeneric inherit_env=options.inherit_env) File "perf.py", line 1121, in CallAndCaptureOutput raise RuntimeError("Benchmark died: " + stderr.decode('latin1')) RuntimeError: Benchmark died: Traceback (most recent call last): File "performance/bm_pickle.py", line 349, in <module> if pickle.Pickler.__module__ == 'pickle': AttributeError: 'reflectedfunction' object has no attribute '__module__' Report on Darwin jimbaker 14.3.0 Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64 x86_64 i386 Total CPU cores: 8 ### 2to3 ### 0.590524 -> 18.193634: 30.81x slower ### call_method ### Min: 0.341788 -> 0.262000: 1.30x faster Avg: 0.352216 -> 0.287733: 1.22x faster Significant (t=8.99) Stddev: 0.00609 -> 0.02710: 4.4532x larger ### call_method_slots ### Min: 0.346615 -> 0.264000: 1.31x faster Avg: 0.354707 -> 0.286800: 1.24x faster Significant (t=14.03) Stddev: 0.00367 -> 0.01838: 5.0074x larger ### call_method_unknown ### Min: 0.411523 -> 0.289000: 1.42x faster Avg: 0.419913 -> 0.315733: 1.33x faster Significant (t=17.69) Stddev: 0.00492 -> 0.02227: 4.5213x larger ### call_simple ### Min: 0.217101 -> 0.135000: 1.61x faster Avg: 0.225563 -> 0.154067: 1.46x faster Significant (t=15.40) Stddev: 0.00768 -> 0.01626: 2.1170x larger ### chaos ### Min: 0.288270 -> 0.226000: 1.28x faster Avg: 0.294679 -> 0.327600: 1.11x slower Not significant Stddev: 0.00509 -> 0.11676: 22.9554x larger ### django ### Min: 0.561714 -> 0.613000: 1.09x slower Avg: 0.573834 -> 0.642400: 1.12x slower Significant (t=-6.18) Stddev: 0.01110 -> 0.02217: 1.9960x larger ### django_v2 ### Min: 0.645260 -> 0.624000: 1.03x faster Avg: 0.675024 -> 0.659400: 1.02x faster Not significant Stddev: 0.02007 -> 0.02973: 1.4815x larger ### etree_generate ### Min: 0.363649 -> 1.196000: 3.29x slower Avg: 0.369071 -> 1.382200: 3.75x slower Significant (t=-17.10) Stddev: 0.00517 -> 0.13239: 25.6160x larger ### etree_iterparse ### Min: 0.186467 -> 3.803000: 20.40x slower Avg: 0.190784 -> 4.037600: 21.16x slower Significant (t=-40.21) Stddev: 0.00450 -> 0.21385: 47.4764x larger ### etree_parse ### Min: 0.207735 -> 10.815000: 52.06x slower Avg: 0.212812 -> 10.977200: 51.58x slower Significant (t=-182.79) Stddev: 0.00438 -> 0.13161: 30.0665x larger ### etree_process ### Min: 0.248059 -> 0.776000: 3.13x slower Avg: 0.256730 -> 1.004800: 3.91x slower Significant (t=-6.14) Stddev: 0.00869 -> 0.27226: 31.3242x larger ### fannkuch ### Min: 1.407498 -> 0.738000: 1.91x faster Avg: 1.424875 -> 0.887200: 1.61x faster Significant (t=7.68) Stddev: 0.01033 -> 0.15630: 15.1369x larger ### float ### Min: 0.328941 -> 0.260000: 1.27x faster Avg: 0.336044 -> 0.387600: 1.15x slower Not significant Stddev: 0.00682 -> 0.14382: 21.0880x larger ### formatted_logging ### Min: 0.296434 -> 0.429000: 1.45x slower Avg: 0.300987 -> 0.616600: 2.05x slower Significant (t=-2.67) Stddev: 0.00421 -> 0.26446: 62.8797x larger ### go ### Min: 0.539839 -> 0.299000: 1.81x faster Avg: 0.548476 -> 0.319800: 1.72x faster Significant (t=17.60) Stddev: 0.00561 -> 0.02851: 5.0791x larger ### json_dump ### Min: 0.385395 -> 0.634000: 1.65x slower Avg: 0.388340 -> 0.831400: 2.14x slower Significant (t=-3.59) Stddev: 0.00331 -> 0.27605: 83.3334x larger ### json_dump_v2 ### Min: 2.642799 -> 3.480000: 1.32x slower Avg: 2.680320 -> 3.715000: 1.39x slower Significant (t=-6.72) Stddev: 0.04087 -> 0.34167: 8.3607x larger ### json_load ### Min: 0.816147 -> 2.266000: 2.78x slower Avg: 0.832826 -> 2.578800: 3.10x slower Significant (t=-8.27) Stddev: 0.01652 -> 0.47203: 28.5677x larger ### mako ### Min: 0.085420 -> 0.069000: 1.24x faster Avg: 0.089860 -> 0.085120: 1.06x faster Not significant Stddev: 0.00297 -> 0.01516: 5.1134x larger ### meteor_contest ### Min: 0.216869 -> 0.224000: 1.03x slower Avg: 0.226902 -> 0.387800: 1.71x slower Not significant Stddev: 0.00833 -> 0.18470: 22.1817x larger ### nbody ### Min: 0.325521 -> 0.305000: 1.07x faster Avg: 0.326540 -> 0.344000: 1.05x slower Not significant Stddev: 0.00085 -> 0.02961: 34.8305x larger ### nqueens ### Min: 0.306093 -> 0.235000: 1.30x faster Avg: 0.308769 -> 0.365000: 1.18x slower Not significant Stddev: 0.00273 -> 0.09233: 33.8757x larger ### pidigits ### Min: 0.280657 -> 0.245000: 1.15x faster Avg: 0.285895 -> 0.288200: 1.01x slower Not significant Stddev: 0.00571 -> 0.04453: 7.7926x larger ### pybench ### Command '['/Users/jbaker/jython2.7.0/bin/jython', 'performance/pybench/pybench.py', '-w', '100', '-f', '/var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/changed.2kKrjl']' returned non-zero exit status 255 ### raytrace ### Min: 1.339500 -> 0.957000: 1.40x faster Avg: 1.351764 -> 0.995400: 1.36x faster Significant (t=26.27) Stddev: 0.01451 -> 0.02663: 1.8353x larger ### regex_compile ### Min: 0.449830 -> 0.544000: 1.21x slower Avg: 0.461457 -> 0.917400: 1.99x slower Significant (t=-3.51) Stddev: 0.00906 -> 0.29022: 32.0159x larger ### regex_effbot ### Min: 0.058838 -> 0.080000: 1.36x slower Avg: 0.060475 -> 0.085200: 1.41x slower Significant (t=-13.17) Stddev: 0.00155 -> 0.00390: 2.5107x larger ### regex_v8 ### Min: 0.068361 -> 0.271000: 3.96x slower Avg: 0.073597 -> 0.425800: 5.79x slower Significant (t=-3.32) Stddev: 0.00813 -> 0.23700: 29.1448x larger ### richards ### Min: 0.190231 -> 0.142000: 1.34x faster Avg: 0.193112 -> 0.165400: 1.17x faster Not significant Stddev: 0.00274 -> 0.02936: 10.7124x larger ### rietveld ### Min: 0.333819 -> 1.350000: 4.04x slower Avg: 0.341426 -> 1.778800: 5.21x slower Significant (t=-6.23) Stddev: 0.00576 -> 0.51550: 89.5339x larger ### silent_logging ### Min: 0.077724 -> 0.120000: 1.54x slower Avg: 0.080684 -> 0.139200: 1.73x slower Significant (t=-3.82) Stddev: 0.00281 -> 0.03411: 12.1264x larger ### simple_logging ### Min: 0.264245 -> 0.399000: 1.51x slower Avg: 0.268647 -> 0.572800: 2.13x slower Significant (t=-2.38) Stddev: 0.00333 -> 0.28631: 86.0240x larger ### slowpickle ### Min: 0.505240 -> 0.504000: 1.00x faster Avg: 0.532126 -> 0.779600: 1.47x slower Not significant Stddev: 0.03748 -> 0.50838: 13.5628x larger ### slowspitfire ### Min: 0.356635 -> 0.487000: 1.37x slower Avg: 0.375754 -> 0.885600: 2.36x slower Not significant Stddev: 0.01166 -> 0.81615: 69.9752x larger ### slowunpickle ### Min: 0.234338 -> 0.219000: 1.07x faster Avg: 0.241330 -> 0.313000: 1.30x slower Not significant Stddev: 0.00620 -> 0.11605: 18.7251x larger ### spectral_norm ### Min: 0.341606 -> 0.197000: 1.73x faster Avg: 0.348146 -> 0.252200: 1.38x faster Significant (t=3.16) Stddev: 0.00577 -> 0.06761: 11.7242x larger ### spitfire ### Command '['/Users/jbaker/jython2.7.0/bin/jython', 'setup.py', 'build', '--build-lib=/var/folders/kk/yrwpx1_x7ll3mn4mvqym2lv40000gn/T/tmpkIgjbL']' returned non-zero exit status 1 ### startup_nosite ### Min: 0.202224 -> 20.464571: 101.20x slower Avg: 0.206496 -> 21.709565: 105.13x slower Significant (t=-90.63) Stddev: 0.00473 -> 0.75029: 158.5780x larger ### telco ### Min: 0.680451 -> 0.827000: 1.22x slower Avg: 0.696820 -> 1.067800: 1.53x slower Significant (t=-2.34) Stddev: 0.01483 -> 0.35420: 23.8779x larger |
|||
msg10087 (view) | Author: Jim Baker (zyasoft) | Date: 2015-05-28.05:06:00 | |
So XML and text processing is slow. 2to3 is likely especially slow because of heavy use of regexes in tokenization, and certain regexes have been problematic in Jython's port of sre. On the other hand, we are somewhat faster on more algorithmic benchmarks, such as fannkuch. We should also pay extra attention to min times here, since that shows JIT warmup. nqueens shows that we are more or less the same performance in our implementation of generators. Note that I did not run this with --rigorous, but instead --fast, given that I wanted to see some immediate results. As we work on performance improvements, we can look at this in more detail, especially on a per benchmark basis. |
|||
msg10088 (view) | Author: Jim Baker (zyasoft) | Date: 2015-05-28.05:10:19 | |
One other observation: telco compares decimal implementation performance. It's remarkable to see the following: ### telco ### Min: 0.680451 -> 0.827000: 1.22x slower Avg: 0.696820 -> 1.067800: 1.53x slower Significant (t=-2.34) Stddev: 0.01483 -> 0.35420: 23.8779x larger given that Jython's implementation is pure Python - it does not currently use BigDecimal, because any API differences have to be worked out (probably small) - and CPython in in C. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2015-05-28 05:10:19 | zyasoft | set | messages: + msg10088 |
2015-05-28 05:06:00 | zyasoft | set | messages: + msg10087 |
2015-05-28 04:42:50 | zyasoft | create |
Supported by Python Software Foundation,
Powered by Roundup