In the very recently 
merged http://trac.sagemath.org/sage_trac/ticket/11599, I updated the 
scheme homset stuff to new-style parents etc. This is probably the reason 
for the minor slow-down.





On Tuesday, April 17, 2012 2:20:13 PM UTC-4, Simon King wrote:
>
> Hi!
>
> I'm analyzing the computation using prun, and get with some recent
> unpatched beta version:
>
>    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
>    185681    7.071    0.000   34.658    0.000 ell_generic.py:491(__call__)
>    572926    6.390    0.000   23.003    0.000 ell_point.py:240(__init__)
>    387096    4.836    0.000   13.760    0.000 ell_point.py:639(_add_)
>         1    3.649    3.649   56.310   56.310 
> ell_rational_field.py:6341(integral_points_with_bounded_mw_coeffs)
>    185646    3.264    0.000    3.991    0.000 
> ell_rational_field.py:6386(is_approx_integral)
>    387120    3.141    0.000   10.223    0.000 scheme.py:336(point)
>    185980    2.903    0.000    2.963    0.000 sequence.py:463(__init__)
>    185980    2.759    0.000    6.824    0.000 sequence.py:86(Sequence)
>    572916    2.573    0.000    3.531    0.000 morphism.py:131(__init__)
>   3976022    2.460    0.000    2.460    0.000 {isinstance}
>    572931    2.322    0.000    2.843    0.000 
> morphism.py:85(is_SchemeMorphism)
>    185806    1.907    0.000   19.873    0.000 homset.py:251(__call__)
>    185806    1.066    0.000   17.964    0.000 
> homset.py:815(_element_constructor_)
>    ...
>
> With a very old Sage version (4.6.2), I get
>
>    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
>    185681    6.662    0.000   18.996    0.000 ell_generic.py:500(__call__)
>    387096    4.473    0.000    9.156    0.000 ell_point.py:639(_add_)
>         1    3.385    3.385   35.594   35.594 
> ell_rational_field.py:6254(integral_points_with_bounded_mw_coeffs)
>    185646    3.220    0.000    3.797    0.000 
> ell_rational_field.py:6299(is_approx_integral)
>    185841    2.801    0.000    2.924    0.000 sequence.py:246(__init__)
>    572926    2.794    0.000    8.873    0.000 ell_point.py:240(__init__)
>    774298    1.096    0.000    1.436    0.000 ell_point.py:547(__nonzero__)
>    185806    1.051    0.000    1.216    0.000 
> morphism.py:29(is_SchemeMorphism)
> 743248/185920    0.908    0.000    1.556    0.000 {hash}
>    387120    0.857    0.000    2.364    0.000 scheme.py:255(point)
>    185806    0.790    0.000    8.320    0.000 homset.py:184(__call__)
>   1951244    0.740    0.000    0.740    0.000 ell_point.py:335(__getitem__)
> 781461/781440    0.560    0.000    2.081    0.000 {method 'is_zero' of 
> 'sage.structure.element.Element' objects}
>    572926    0.548    0.000    0.553    0.000 scheme.py:224(point_homset)
>    185757    0.494    0.000    2.086    0.000 homset.py:304(__hash__)
>   1128549    0.457    0.000    0.457    0.000 {isinstance}
>    201432    0.423    0.000    0.619    0.000 ell_point.py:480(codomain)
>    185796    0.408    0.000    0.749    0.000 homset.py:135(value_ring)
>    573220    0.385    0.000    0.385    0.000 homset.py:486(codomain)
>    185761    0.361    0.000    0.361    0.000 {method 'round' of 
> 'sage.rings.real_mpfr.RealNumber' objects}
>    185757    0.343    0.000    0.682    0.000 ell_generic.py:204(__hash__)
>
> In other words: I can confirm the slow down, and it seems that time
> is wasted in calling homsets. That could be related with category
> stuff, but I'm not sure.
>
> Anyway, I'd say one has to look at how the new _element_constructor_
> method of homsets is different from the old __call__ method.
>
> Did you have created a ticket already?
>
> Cheers,
> Simon
>
>

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to