On Tue, May 3, 2011 at 9:44 AM, Ondrej Certik <ond...@certik.cz> wrote: > On Tue, May 3, 2011 at 12:31 AM, Maciej Fijalkowski <fij...@gmail.com> wrote: >> On Tue, May 3, 2011 at 9:22 AM, Ondrej Certik <ond...@certik.cz> wrote: >>> Hi, >>> >>> I have downloaded the pypy 1.5 binary (with jit) and run tests (only >>> sympy/core, so that it's fast) on Ubuntu Natty, 64bit: >>> >>> >>> ondrej@eagle:~/repos/sympy(master)$ bin/test sympy/core/ >>> ============================= test process starts >>> ============================== >>> executable: /usr/bin/python (2.7.1-final-0) >>> ground types: python >>> >>> sympy/core/tests/test_arit.py[48] >>> ...f.......................................... >>> .. >>> [OK] >>> sympy/core/tests/test_assumptions.py[28] ....f....................... >>> [OK] >>> sympy/core/tests/test_basic.py[10] .......... >>> [OK] >>> sympy/core/tests/test_cache.py[1] . >>> [OK] >>> sympy/core/tests/test_complex.py[13] ............. >>> [OK] >>> sympy/core/tests/test_containers.py[5] ..... >>> [OK] >>> sympy/core/tests/test_count_ops.py[2] .. >>> [OK] >>> sympy/core/tests/test_diff.py[6] ...... >>> [OK] >>> sympy/core/tests/test_equal.py[5] ..... >>> [OK] >>> sympy/core/tests/test_eval.py[8] .....f.. >>> [OK] >>> sympy/core/tests/test_eval_power.py[12] ............ >>> [OK] >>> sympy/core/tests/test_evalf.py[23] ....................... >>> [OK] >>> sympy/core/tests/test_expand.py[6] ...... >>> [OK] >>> sympy/core/tests/test_expr.py[60] >>> .............................................. >>> .............. >>> [OK] >>> sympy/core/tests/test_exprtools.py[4] .... >>> [OK] >>> sympy/core/tests/test_facts.py[11] ........... >>> [OK] >>> sympy/core/tests/test_functions.py[23] .....f................. >>> [OK] >>> sympy/core/tests/test_logic.py[11] ........... >>> [OK] >>> sympy/core/tests/test_match.py[26] ...f...................... >>> [OK] >>> sympy/core/tests/test_numbers.py[47] >>> ........................................... >>> .... >>> [OK] >>> sympy/core/tests/test_operations.py[4] .... >>> [OK] >>> sympy/core/tests/test_priority.py[5] ..... >>> [OK] >>> sympy/core/tests/test_relational.py[7] ....... >>> [OK] >>> sympy/core/tests/test_sets.py[18] .................. >>> [OK] >>> sympy/core/tests/test_subs.py[30] .............................. >>> [OK] >>> sympy/core/tests/test_symbol.py[9] ......... >>> [OK] >>> sympy/core/tests/test_sympify.py[23] ....................... >>> [OK] >>> sympy/core/tests/test_truediv.py[3] ... >>> [OK] >>> sympy/core/tests/test_var.py[5] ..... >>> [OK] >>> >>> ======= tests finished: 448 passed, 5 expected to fail, in 2.90 seconds >>> ======== >>> ondrej@eagle:~/repos/sympy(master)$ >>> ~/Downloads/pypy-c-jit-43780-b590cf6de419-linux64/bin/pypy bin/test >>> sympy/core/ >>> ============================= test process starts >>> ============================== >>> executable: >>> /home/ondrej/Downloads/pypy-c-jit-43780-b590cf6de419-linux64/bin/pypy >>> (2.7.1-final-42) >>> ground types: python >>> >>> sympy/core/tests/test_arit.py[48] >>> ...f.......................................... >>> .. >>> [OK] >>> sympy/core/tests/test_assumptions.py[28] ....f....................... >>> [OK] >>> sympy/core/tests/test_basic.py[10] .......... >>> [OK] >>> sympy/core/tests/test_cache.py[1] . >>> [OK] >>> sympy/core/tests/test_complex.py[13] ............. >>> [OK] >>> sympy/core/tests/test_containers.py[5] ..... >>> [OK] >>> sympy/core/tests/test_count_ops.py[2] .. >>> [OK] >>> sympy/core/tests/test_diff.py[6] ...... >>> [OK] >>> sympy/core/tests/test_equal.py[5] ..... >>> [OK] >>> sympy/core/tests/test_eval.py[8] .....f.. >>> [OK] >>> sympy/core/tests/test_eval_power.py[12] ............ >>> [OK] >>> sympy/core/tests/test_evalf.py[23] ....................... >>> [OK] >>> sympy/core/tests/test_expand.py[6] ...... >>> [OK] >>> sympy/core/tests/test_expr.py[60] >>> ..........F................................... >>> .............. >>> [FAIL] >>> sympy/core/tests/test_exprtools.py[4] .... >>> [OK] >>> sympy/core/tests/test_facts.py[11] ........... >>> [OK] >>> sympy/core/tests/test_functions.py[23] .....f................. >>> [OK] >>> sympy/core/tests/test_logic.py[11] ........... >>> [OK] >>> sympy/core/tests/test_match.py[26] ...f...................... >>> [OK] >>> sympy/core/tests/test_numbers.py[47] >>> ........................................... >>> .... >>> [OK] >>> sympy/core/tests/test_operations.py[4] .... >>> [OK] >>> sympy/core/tests/test_priority.py[5] ..... >>> [OK] >>> sympy/core/tests/test_relational.py[7] ....... >>> [OK] >>> sympy/core/tests/test_sets.py[18] .................. >>> [OK] >>> sympy/core/tests/test_subs.py[30] .............................. >>> [OK] >>> sympy/core/tests/test_symbol.py[9] ......... >>> [OK] >>> sympy/core/tests/test_sympify.py[23] ....................... >>> [OK] >>> sympy/core/tests/test_truediv.py[3] ... >>> [OK] >>> sympy/core/tests/test_var.py[5] ..... >>> [OK] >>> >>> ________________________________________________________________________________ >>> _____________ sympy/core/tests/test_expr.py:test_as_leading_term3 >>> ______________ >>> File "/home/ondrej/repos/sympy/sympy/core/tests/test_expr.py", line >>> 212, in test_as_leading_term3 >>> assert (2*x+pi*x+x**2).as_leading_term(x) == (2+pi)*x >>> AssertionError >>> >>> == tests finished: 447 passed, 1 failed, 5 expected to fail, in 13.87 >>> seconds == >>> DO *NOT* COMMIT! >>> >>> >>> >>> >>> The test failure is probably some minor difference between CPython and >>> PyPy.. However, as you can see, the test execution is 4x slower in >>> PyPy, compared to CPython. >>> Is this the supposed slow down, or is there something specific to sympy? >>> >>> I have also done this test in bin/isympy, CPython: >>> >>>>>> from timeit import default_timer as clock >>>>>> t = clock(); a = expand((1+x+y+z)**20); clock()-t >>> 1.4584941864 >>> >>> PyPy: >>> >>>>>> from timeit import default_timer as clock >>>>>> t = clock(); a = expand((1+x+y+z)**20); clock()-t >>> 4.48898005486 >>> >>> so PyPy is roughly 3x slower here. >>> >>> So 3x or 4x slower, I think that's already very usable. Especially the >>> sandbox pypy is an awesome idea, for serving web apps. The only >>> problem is that I use Cython a lot, which I think is incompatible with >>> PyPy... >>> >>> Ondrej >>> _______________________________________________ >>> pypy-dev@codespeak.net >>> http://codespeak.net/mailman/listinfo/pypy-dev >>> >> >> Hey. >> >> I think the test run is somehow within acceptable numbers (in theory >> tests should run each code once, hence making JIT not really fit >> well), however I think the other slowdown is not really acceptable. We > > Well, it is also only run once, so JIT probably doesn't help. > >> were looking for a while to include some sympy benchmarks to our >> benchmark suite, maybe the good time is now :) > > > SymPy uses caching, so maybe that's the problem. It is possible to > turn it down though. Ping me if you have any questions, or run into > any problems with sympy. > > Ondrej >
That might sound strange but for me, both pypy and cpython runs within 4s. Which python you use? _______________________________________________ pypy-dev@codespeak.net http://codespeak.net/mailman/listinfo/pypy-dev