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