On 2013-01-07 15:14, David Loeffler wrote:
> That's very strange! The time-critical part of that computation is
> almost entirely in doing linear algebra with the coefficients of power
> series -- it bypasses most of the modular symbols code, which would be
> very inefficient in this example since the level is small and the weight
> large -- and oddly enough none of the tickets merged in 5.4.1 look in
> the least bit relevant! Can you maybe get a profiler output with %prun
> for both versions so we can see where the slowdown is?

sage-5.4.1 (only top part shown):
   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1   35.760   35.760   35.770   35.770 {method 'kernel_on' of
'sage.matrix.matrix2.Matrix' objects}
        6    9.723    1.620    9.739    1.623 {method 'echelon_form' of
'sage.matrix.matrix_rational_dense.Matrix_rational_dense' objects}
       11    5.561    0.506    7.171    0.652
ambient.py:872(_compute_hecke_matrix_prime)
    13338    1.145    0.000    1.145    0.000
{sage.modular.modsym.apply.apply_to_monomial}
       33    0.630    0.019    3.075    0.093 {method 'restrict' of
'sage.matrix.matrix2.Matrix' objects}
    13338    0.354    0.000    1.593    0.000 manin_symbols.py:662(apply)
        1    0.292    0.292    0.295    0.295 {method 'charpoly' of
'sage.matrix.matrix_rational_dense.Matrix_rational_dense' objects}
      356    0.167    0.000    0.188    0.001 matrix_space.py:1180(matrix)
      250    0.131    0.001    0.198    0.001 {method
'linear_combination_of_rows' of 'sage.matrix.matrix0.Matrix' objects}
       13    0.117    0.009    0.118    0.009
module.py:174(_compute_hecke_matrix_general_product)
        1    0.109    0.109    0.405    0.405
relation_matrix.py:162(T_relation_matrix_wtk_g0)
        7    0.075    0.011    0.079    0.011
module.py:138(_compute_hecke_matrix_prime_power)
        1    0.061    0.061    3.076    3.076
ambient.py:309(compute_presentation)
    39250    0.055    0.000    0.093    0.000 manin_symbols.py:273(index)
        1    0.036    0.036    0.056    0.056 {method 'dense_matrix' of
'sage.matrix.matrix_rational_sparse.Matrix_rational_sparse' objects}
      316    0.029    0.000    0.061    0.000 manin_symbols.py:619(apply_TT)
    25280    0.028    0.000    0.028    0.000 {method 'binomial' of
'sage.rings.integer.Integer' objects}
      316    0.028    0.000    0.060    0.000 manin_symbols.py:576(apply_T)
    14336    0.023    0.000    0.023    0.000 {range}
        9    0.019    0.002    0.019    0.002
matrix_space.py:1133(zero_matrix)
    64779    0.019    0.000    0.019    0.000 {method 'has_key' of
'dict' objects}
    11935    0.018    0.000    0.024    0.000
manin_symbols.py:700(normalize)

sage-5.4 (only top part shown):
   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
       11    5.480    0.498    7.003    0.637
ambient.py:872(_compute_hecke_matrix_prime)
        1    4.745    4.745    4.755    4.755 {method 'kernel_on' of
'sage.matrix.matrix2.Matrix' objects}
        6    4.026    0.671    4.040    0.673 {method 'echelon_form' of
'sage.matrix.matrix_rational_dense.Matrix_rational_dense' objects}
    13338    1.087    0.000    1.087    0.000
{sage.modular.modsym.apply.apply_to_monomial}
       33    0.625    0.019    1.209    0.037 {method 'restrict' of
'sage.matrix.matrix2.Matrix' objects}
    13338    0.335    0.000    1.505    0.000 manin_symbols.py:662(apply)
      356    0.159    0.000    0.179    0.001 matrix_space.py:1180(matrix)
      250    0.130    0.001    0.195    0.001 {method
'linear_combination_of_rows' of 'sage.matrix.matrix0.Matrix' objects}
        1    0.119    0.119    0.121    0.121 {method 'charpoly' of
'sage.matrix.matrix_rational_dense.Matrix_rational_dense' objects}
       13    0.117    0.009    0.117    0.009
module.py:174(_compute_hecke_matrix_general_product)
        1    0.092    0.092    0.368    0.368
relation_matrix.py:162(T_relation_matrix_wtk_g0)
        7    0.074    0.011    0.079    0.011
module.py:138(_compute_hecke_matrix_prime_power)
        1    0.061    0.061    2.186    2.186
ambient.py:309(compute_presentation)
    39250    0.055    0.000    0.088    0.000 manin_symbols.py:273(index)
        1    0.034    0.034    0.052    0.052 {method 'dense_matrix' of
'sage.matrix.matrix_rational_sparse.Matrix_rational_sparse' objects}
      316    0.026    0.000    0.057    0.000 manin_symbols.py:619(apply_TT)
      316    0.026    0.000    0.056    0.000 manin_symbols.py:576(apply_T)
    25280    0.025    0.000    0.025    0.000 {method 'binomial' of
'sage.rings.integer.Integer' objects}
        2    0.020    0.010    0.036    0.018 __init__.py:2(<module>)
    14336    0.019    0.000    0.019    0.000 {range}
        9    0.018    0.002    0.018    0.002
matrix_space.py:1133(zero_matrix)
    64779    0.017    0.000    0.017    0.000 {method 'has_key' of
'dict' objects}
       32    0.016    0.000    7.218    0.226
module.py:211(_compute_hecke_matrix)
        1    0.016    0.016    0.388    0.388
relation_matrix.py:418(relation_matrix_wtk_g0)
    11935    0.015    0.000    0.021    0.000
manin_symbols.py:700(normalize)

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To post to this group, send email to sage-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-devel+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Reply via email to