sympy / sympy_benchmarks

Some benchmarks of SymPy
13 stars 32 forks source link

Added performance regression test to refine #12

Closed bjodah closed 9 years ago

bjodah commented 9 years ago

This looks like a nasty performance regression, 1000x slowdown from 0.7.5-git to 0.7.7-git, let's see how it looks on the test machine...

bjodah commented 9 years ago

Bisecting it now... (2000x slowdown)

[  7.00%] · For sympy commit hash cd34fff3:
[  7.00%] ·· Building for py2.7-fastcache-mpmath.....
[  7.00%] ·· Benchmarking py2.7-fastcache-mpmath
[  7.09%] ··· Running dsolve.TimeDsolve01.time_dsolve                                  1.52s
[  7.18%] ··· Running integrate.TimeIntegration01.time_doit                         379.56ms
[  7.27%] ··· Running integrate.TimeIntegration01.time_doit_meijerg                 109.18ms
[  7.36%] ··· Running ...LargeExpressionOperations.peakmem_jacobian_wrt_functions        33M
[  7.45%] ··· Running ...meLargeExpressionOperations.peakmem_jacobian_wrt_symbols        33M
[  7.55%] ··· Running large_exprs.TimeLargeExpressionOperations.peakmem_subs             33M
[  7.64%] ··· Running ...imeLargeExpressionOperations.time_jacobian_wrt_functions   815.40ms
[  7.73%] ··· Running ....TimeLargeExpressionOperations.time_jacobian_wrt_symbols    18.19ms
[  7.82%] ··· Running ...eExpressionOperations.time_manual_jacobian_wrt_functions   818.03ms
[  7.91%] ··· Running large_exprs.TimeLargeExpressionOperations.time_subs           484.02ms
[  8.00%] ··· Running refine.TimeRefine01.time_refine                                  9.71s
[  8.00%] · For sympy commit hash dbf5e546:
[  8.00%] ·· Building for py2.7-fastcache-mpmath.....
[  8.00%] ·· Benchmarking py2.7-fastcache-mpmath
[  8.09%] ··· Running dsolve.TimeDsolve01.time_dsolve                                  1.50s
[  8.18%] ··· Running integrate.TimeIntegration01.time_doit                         372.94ms
[  8.27%] ··· Running integrate.TimeIntegration01.time_doit_meijerg                 106.81ms
[  8.36%] ··· Running ...LargeExpressionOperations.peakmem_jacobian_wrt_functions        33M
[  8.45%] ··· Running ...meLargeExpressionOperations.peakmem_jacobian_wrt_symbols        33M
[  8.55%] ··· Running large_exprs.TimeLargeExpressionOperations.peakmem_subs             33M
[  8.64%] ··· Running ...imeLargeExpressionOperations.time_jacobian_wrt_functions   819.62ms
[  8.73%] ··· Running ....TimeLargeExpressionOperations.time_jacobian_wrt_symbols    18.22ms
[  8.82%] ··· Running ...eExpressionOperations.time_manual_jacobian_wrt_functions   812.27ms
[  8.91%] ··· Running large_exprs.TimeLargeExpressionOperations.time_subs           471.20ms
[  9.00%] ··· Running refine.TimeRefine01.time_refine                                 5.13ms
bjodah commented 9 years ago

Based on these results: http://hera.physchem.kth.se/~sympy_asv/refine/#refine.TimeRefine01.time_refine

it seems as the new assumptions are to blame: https://github.com/sympy/sympy/pull/2508

moorepants commented 9 years ago

+1