forked from sympy/sympy
-
Notifications
You must be signed in to change notification settings - Fork 0
Profiler output
certik edited this page Feb 8, 2011
·
1 revision
This page lists the results of running SymPy's unit tests with cProfile. It might be useful for eliminating bottlenecks.
Total time (excluding subcalls), t > 1 shown.
20088743 50.955 0.000 50.957 0.000 {isinstance} 96807/94799 32.788 0.000 98.988 0.001 mul.py:8(flatten) 3447927/3447134 22.638 0.000 46.705 0.000 basic.py:193(sympify) 1055757/695354 20.587 0.000 57.501 0.000 basic_methods.py:394(compare) 593995 19.217 0.000 55.967 0.000 assumptions.py:179(assume) 4380253/4133305 16.076 0.000 21.712 0.000 basic_methods.py:277(__hash__) 6618919 14.897 0.000 14.897 0.000 basic_methods.py:215(__getattr__) 1654915/1443663 14.171 0.000 30.896 0.000 basic_methods.py:262(__getattr__) 982775/331303 12.947 0.000 335.521 0.001 basic_methods.py:111(wrapper) 857433/776697 12.812 0.000 40.272 0.000 basic.py:121(wrapper) 1984206 12.437 0.000 17.349 0.000 basic_methods.py:271(__setattr__) 1654915/1443663 11.740 0.000 18.251 0.000 assumptions.py:129(_get_assumption) 576328 8.638 0.000 72.016 0.000 basic.py:186(__new__) 373203 7.261 0.000 17.866 0.000 basic_methods.py:221(__cmp__) 21737/21736 7.255 0.000 49.021 0.002 add.py:10(flatten) 997815/988100 6.621 0.000 20.185 0.000 {getattr} 155931 6.454 0.000 11.864 0.000 decimal.py:516(__new__) 3331921/3331664 6.227 0.000 6.228 0.000 {len} 2469042/1732880 6.103 0.000 23.275 0.000 {cmp} 403005/403004 6.040 0.000 63.260 0.000 methods.py:115(__eq__) 416755 5.409 0.000 53.404 0.000 relational.py:17(__new__) 229385/212693 5.359 0.000 37.457 0.000 numbers.py:451(__mul__) 571224 5.234 0.000 7.564 0.000 assumptions.py:167(_change_assumption) 2032776 5.014 0.000 5.014 0.000 {method 'startswith' of 'str' objects} 403022 4.940 0.000 43.091 0.000 relational.py:54(__nonzero__) 124264/77110 3.802 0.000 23.620 0.000 basic.py:410(has) 106495/104838 3.746 0.000 15.388 0.000 numbers.py:464(__add__) 1897746 3.740 0.000 3.740 0.000 {method 'items' of 'dict' objects} 356515/297584 3.698 0.000 21.835 0.000 {map} 511471 3.644 0.000 10.042 0.000 float_.py:79(normalize) 1544693 3.515 0.000 4.041 0.000 {method 'has_key' of 'dict' objects} 142838/120750 3.314 0.000 164.623 0.001 operations.py:13(__new__) 359127 3.200 0.000 7.234 0.000 symbol.py:51(_hashable_content) 177702 3.191 0.000 5.842 0.000 power.py:213(as_base_exp) 1433307 3.033 0.000 3.494 0.000 {method 'get' of 'dict' objects} 1258409 2.932 0.000 2.932 0.000 {built-in method __new__ of type object at 0x1E1E6DD0} 508016 2.882 0.000 4.450 0.000 utils_.py:5(bitcount) 302941 2.854 0.000 3.718 0.000 basic.py:1287(__new__) 755007/678245 2.710 0.000 21.588 0.000 {method 'index' of 'list' objects} 153492/149676 2.652 0.000 23.578 0.000 methods.py:53(__pow__) 39183/19641 2.610 0.000 61.485 0.003 mul.py:298(_eval_expand_basic) 12057 2.588 0.000 7.042 0.001 decimal.py:1186(_divide) 656894 2.218 0.000 2.218 0.000 basic_methods.py:286(_hashable_content) 41033/26443 2.196 0.000 27.667 0.001 power.py:245(_eval_expand_basic) 331660 2.131 0.000 10.033 0.000 float_.py:108(makefloat) 84206/79679 2.118 0.000 67.146 0.001 methods.py:40(__mul__) 310460/97159 2.079 0.000 4.598 0.000 basic_methods.py:77(mycopy) 99612/81676 1.893 0.000 4.342 0.000 matrices.py:127(__getitem__) 65497 1.823 0.000 13.146 0.000 numbers.py:531(__eq__) 179018 1.806 0.000 5.630 0.000 float_.py:299(__new__) 488146/488145 1.775 0.000 3.538 0.000 {hasattr} 590324 1.746 0.000 1.746 0.000 {zip} 542421 1.672 0.000 1.672 0.000 basic.py:323(args) 529159 1.628 0.000 1.995 0.000 {math.log} 345377/345347 1.604 0.000 23.452 0.000 {method 'sort' of 'list' objects} 521416 1.544 0.000 1.544 0.000 power.py:64(base) 37314/36990 1.534 0.000 8.998 0.000 basic.py:530(matches) 8687/4664 1.473 0.000 125.643 0.027 order.py:83(__new__) 678952 1.441 0.000 1.441 0.000 {method 'pop' of 'list' objects} 57559/56108 1.399 0.000 40.121 0.001 methods.py:69(__div__) 120423 1.398 0.000 1.583 0.000 decimal.py:2875(__init__) 3829 1.387 0.000 2.778 0.001 transformer.py:105(__init__) 41715/25859 1.378 0.000 4.536 0.000 simplify.py:122(separate) 131861 1.369 0.000 2.019 0.000 assumptions.py:302(_assume_hashable_content) 22055/19795 1.335 0.000 73.301 0.004 mul.py:461(_eval_subs) 666919 1.333 0.000 1.333 0.000 {method 'append' of 'list' objects} 416904 1.291 0.000 1.291 0.000 relational.py:28(lhs) 264409 1.256 0.000 1.256 0.000 float_.py:40(rshift) 97481/78950 1.215 0.000 86.530 0.001 basic_methods.py:90(wrapper) 642478 1.214 0.000 1.214 0.000 basic.py:105(<lambda>) 102135/21755 1.214 0.000 87.128 0.004 basic.py:379(subs) 23563/7407 1.207 0.000 57.416 0.008 operations.py:56(_matches_commutative) 416823 1.201 0.000 1.201 0.000 relational.py:32(rhs) 128894/39336 1.195 0.000 86.698 0.002 basic.py:733(expand) 152267/148341 1.162 0.000 6.756 0.000 float_.py:580(__mul__) 203748 1.147 0.000 1.147 0.000 base.py:163(__getattribute__) 129530/113341 1.147 0.000 5.221 0.000 float_.py:545(__add__) 6 1.124 0.187 1.530 0.255 __init__.py:2(<module>) 160475 1.120 0.000 1.120 0.000 utils_.py:17(trailing_zeros) 90809/15329 1.068 0.000 14.958 0.001 basic.py:719(_eval_expand_trig) 144274 1.006 0.000 1.545 0.000 matrices.py:80(key2ij)
Cumulative time (including subcalls), t > 10 shown.
1 0.000 0.000 507.191 507.191 cmdline.py:7(main) 1 0.000 0.000 507.067 507.067 session.py:55(main) 797/1 0.022 0.000 507.008 507.008 session.py:71(runtraced) 797/1 0.022 0.000 507.008 507.008 session.py:101(run) 652 0.008 0.000 500.562 0.768 item.py:64(run) 652 0.006 0.000 500.459 0.768 item.py:69(execute) 982775/331303 12.947 0.000 335.521 0.001 basic_methods.py:111(wrapper) 142838/120750 3.314 0.000 164.623 0.001 operations.py:13(__new__) 6844/686 0.411 0.000 157.411 0.229 basic.py:1088(oseries) 8687/4664 1.473 0.000 125.643 0.027 order.py:83(__new__) 48/47 0.142 0.003 113.397 2.413 risch.py:83(heurisch) 10602/6348 0.355 0.000 108.909 0.017 order.py:290(contains) 6146/165 0.031 0.000 105.287 0.638 limits.py:117(<lambda>) 1122/233 0.033 0.000 104.237 0.447 limits.py:393(mrv_leadterm) 96807/94799 32.788 0.000 98.988 0.001 mul.py:8(flatten) 1960/780 0.083 0.000 98.723 0.127 mul.py:480(_eval_oseries) 482/238 0.009 0.000 90.317 0.379 limits.py:305(limitinf) 102135/21755 1.214 0.000 87.128 0.004 basic.py:379(subs) 128894/39336 1.195 0.000 86.698 0.002 basic.py:733(expand) 97481/78950 1.215 0.000 86.530 0.001 basic_methods.py:90(wrapper) 9196/8484 0.313 0.000 83.328 0.010 order.py:192(_get_cache_index) 395 0.021 0.000 81.985 0.208 limits.py:335(calculate_series) 51 0.020 0.000 75.476 1.480 risch.py:269(integrate) 22055/19795 1.335 0.000 73.301 0.004 mul.py:461(_eval_subs) 576328 8.638 0.000 72.016 0.000 basic.py:186(__new__) 392/339 0.056 0.000 71.603 0.211 basic.py:1143(_compute_oseries) 1795 0.090 0.000 68.094 0.038 simplify.py:994(simplify) 84206/79679 2.118 0.000 67.146 0.001 methods.py:40(__mul__) 78 0.002 0.000 63.895 0.819 limits.py:476(limit) 1240/1008 0.060 0.000 63.456 0.063 power.py:432(_eval_oseries) 403005/403004 6.040 0.000 63.260 0.000 methods.py:115(__eq__) 39183/19641 2.610 0.000 61.485 0.003 mul.py:298(_eval_expand_basic) 4043/3340 0.053 0.000 59.574 0.018 basic.py:1176(limit) 1786/1385 0.150 0.000 59.077 0.043 limits_series.py:19(__new__) 7404 0.073 0.000 57.681 0.008 basic.py:608(match) 1055757/695354 20.587 0.000 57.501 0.000 basic_methods.py:394(compare) 23563/7407 1.207 0.000 57.416 0.008 operations.py:56(_matches_commutative) 1165/1046 0.056 0.000 57.300 0.055 add.py:276(extract_leading_order) 79 0.003 0.000 56.387 0.714 basic.py:1065(series) 593995 19.217 0.000 55.967 0.000 assumptions.py:179(assume) 1330/845 0.179 0.000 55.292 0.065 limits_series.py:83(__new__) 416755 5.409 0.000 53.404 0.000 relational.py:17(__new__) 9917/3438 0.250 0.000 52.353 0.015 basic.py:1187(as_leading_term) 687/360 0.095 0.000 51.650 0.143 limits_series.py:140(mrv_inflimit) 7056/6653 0.153 0.000 51.442 0.008 order.py:228(find_limit) 20088743 50.955 0.000 50.957 0.000 {isinstance} 21737/21736 7.255 0.000 49.021 0.002 add.py:10(flatten) 1142/892 0.026 0.000 48.658 0.055 add.py:273(_eval_oseries) 3447927/3447134 22.638 0.000 46.705 0.000 basic.py:193(sympify) 17666/9398 0.319 0.000 45.182 0.005 mul.py:332(matches) 403022 4.940 0.000 43.091 0.000 relational.py:54(__nonzero__) 1795 0.174 0.000 42.998 0.024 simplify.py:786(radsimp) 163803/74959 0.887 0.000 40.535 0.001 basic.py:695(_eval_expand_basic) 512/461 0.041 0.000 40.477 0.088 add.py:295(_eval_as_leading_term) 857433/776697 12.812 0.000 40.272 0.000 basic.py:121(wrapper) 57559/56108 1.399 0.000 40.121 0.001 methods.py:69(__div__) 70 0.036 0.001 39.180 0.560 solvers.py:19(solve) 9575 0.264 0.000 38.333 0.004 base.py:104(__new__) 229385/212693 5.359 0.000 37.457 0.000 numbers.py:451(__mul__) 801 0.107 0.000 37.236 0.046 div_.py:5(div) 4700/4256 0.246 0.000 36.171 0.008 add.py:256(_eval_subs) 223 0.003 0.000 32.355 0.145 wrapper.py:9(div) 55 0.001 0.000 31.578 0.574 pytest.py:80(func_wrapper) 1654915/1443663 14.171 0.000 30.896 0.000 basic_methods.py:262(__getattr__) 1 0.000 0.000 30.812 30.812 test_recurr.py:18(test_rsolve_ratio) 1 0.001 0.001 30.769 30.769 recurr.py:298(rsolve_ratio) 2898/194 0.068 0.000 30.109 0.155 limits.py:173(mrv) 196 0.001 0.000 28.966 0.148 wrapper.py:23(quo) 41033/26443 2.196 0.000 27.667 0.001 power.py:245(_eval_expand_basic) 59 0.160 0.003 27.557 0.467 solvers.py:114(solve_linear_system) 18 0.001 0.000 25.789 1.433 quad.py:321(nintegrate) 17141/16510 0.725 0.000 25.574 0.002 power.py:198(_eval_subs) 56 0.002 0.000 24.142 0.431 integrals.py:86(doit) 52 0.001 0.000 24.117 0.464 integrals.py:234(integrate) 1372 0.026 0.000 23.943 0.017 quad.py:52(__call__) 7584/6991 0.140 0.000 23.851 0.003 function.py:79(__new__) 1 0.000 0.000 23.788 23.788 test_risch.py:76(test_heurisch_radicals) 60/58 0.004 0.000 23.759 0.410 integrals.py:120(_eval_integral) 124264/77110 3.802 0.000 23.620 0.000 basic.py:410(has) 153492/149676 2.652 0.000 23.578 0.000 methods.py:53(__pow__) 345377/345347 1.604 0.000 23.452 0.000 {method 'sort' of 'list' objects} 2469042/1732880 6.103 0.000 23.275 0.000 {cmp} 1365/13 0.029 0.000 22.874 1.760 quad.py:64(adaptive) 32975/9352 0.211 0.000 22.173 0.002 basic.py:1050(evalf) 1365 0.018 0.000 22.146 0.016 quad.py:178(_eval) 2730 0.348 0.000 22.031 0.008 quad.py:160(_eval) 356515/297584 3.698 0.000 21.835 0.000 {map} 401 0.013 0.000 21.833 0.054 basic.py:484(subs_dict) 1 0.001 0.001 21.816 21.816 test_geometry.py:249(test_polygon) 4380253/4133305 16.076 0.000 21.712 0.000 basic_methods.py:277(__hash__) 755007/678245 2.710 0.000 21.588 0.000 {method 'index' of 'list' objects} 29944 0.431 0.000 20.258 0.001 quad.py:48(g) 997815/988100 6.621 0.000 20.185 0.000 {getattr} 1 0.000 0.000 19.998 19.998 test_risch.py:52(test_heurisch_trigonometric) 1654915/1443663 11.740 0.000 18.251 0.000 assumptions.py:129(_get_assumption) 1 0.000 0.000 18.189 18.189 test_series.py:251(test_issue159) 1 0.001 0.001 18.076 18.076 test_geometry.py:58(test_line) 373203 7.261 0.000 17.866 0.000 basic_methods.py:221(__cmp__) 3926 0.169 0.000 17.642 0.004 basic.py:816(as_coefficient) 1984206 12.437 0.000 17.349 0.000 basic_methods.py:271(__setattr__) 53645 0.424 0.000 16.866 0.000 basic.py:374(_eval_subs) 6863/5137 0.122 0.000 16.032 0.003 basic.py:1039(_seq_eval_evalf) 21694/18717 0.650 0.000 15.774 0.001 power.py:51(__new__) 8839/8793 0.142 0.000 15.694 0.002 function.py:183(_eval_evalf) 106495/104838 3.746 0.000 15.388 0.000 numbers.py:464(__add__) 53/50 0.000 0.000 15.191 0.304 entity.py:21(do_intersection) 57/56 0.015 0.000 15.094 0.270 line.py:206(intersection) 75/69 0.002 0.000 15.081 0.219 limits.py:163(compare) 19881/19880 0.344 0.000 14.983 0.001 methods.py:20(__add__) 90809/15329 1.068 0.000 14.958 0.001 basic.py:719(_eval_expand_trig) 6618919 14.897 0.000 14.897 0.000 basic_methods.py:215(__getattr__) 1 0.001 0.001 14.504 14.504 test_demidovich.py:90(test_f1b) 5271/5263 0.045 0.000 14.485 0.003 function.py:322(_eval_apply_evalf) 235 0.007 0.000 14.413 0.061 point.py:197(__add__) 1 0.000 0.000 14.014 14.014 test_quad.py:7(test_nintegrate) 92 0.005 0.000 13.828 0.150 line.py:356(__contains__) 401/325 0.039 0.000 13.487 0.041 limits.py:227(rewrite) 65497 1.823 0.000 13.146 0.000 numbers.py:531(__eq__) 1989 0.016 0.000 13.071 0.007 simplify.py:179(together) 401 0.023 0.000 12.883 0.032 limits_series.py:301(rewrite_expr) 3439/2745 0.081 0.000 12.808 0.005 mul.py:275(_expandsums) 206 0.002 0.000 12.755 0.062 point.py:211(__sub__) 1 0.001 0.001 12.107 12.107 test_geometry.py:168(test_ellipse) 1 0.000 0.000 12.069 12.069 test_limit.py:146(test_mrv_leadterm2) 155931 6.454 0.000 11.864 0.000 decimal.py:516(__new__) 18974 0.104 0.000 11.673 0.001 mul.py:311(<genexpr>) 1 0.000 0.000 11.605 11.605 test_risch.py:95(test_issue510) 10046/953 0.283 0.000 11.351 0.012 function.py:401(__new__) 9669/904 0.335 0.000 11.265 0.012 basic.py:997(diff) 3059/2567 0.293 0.000 11.197 0.004 simplify.py:345(collect) 1 0.000 0.000 10.841 10.841 test_demidovich.py:22(test_Limits_simple_0) 4017 0.049 0.000 10.739 0.003 add.py:128(_matches_simple) 10370/1989 0.672 0.000 10.703 0.005 simplify.py:231(_together) 4479 0.181 0.000 10.453 0.002 base.py:830(coefficients2sympy) 39322 0.538 0.000 10.222 0.000 methods.py:30(__sub__) 7390 0.433 0.000 10.193 0.001 simplify.py:10(fraction) 1 0.000 0.000 10.155 10.155 test_quad.py:19(test_nintegrate_infinite) 807 0.039 0.000 10.096 0.013 basic.py:1206(as_coeff_exponent) 511471 3.644 0.000 10.042 0.000 float_.py:79(normalize) 331660 2.131 0.000 10.033 0.000 float_.py:108(makefloat) 17551/17550 0.322 0.000 10.016 0.001 methods.py:16(__neg__)