Anyhow, I don't get a timeout on sage -t arXiv_1906_01104.rst (with
basically sage 8.8.rc2), it gets done in 27 sec on my
medium-speed-range Gentoo linux laptop.

On Thu, Jun 20, 2019 at 5:37 PM Dima Pasechnik <[email protected]> wrote:
>
> On Thu, Jun 20, 2019 at 4:56 PM Sébastien Labbé <[email protected]> wrote:
> >
> > My current sage-8.8.rc1 has normaliz installed:
> >
> > slabbe@miami ~ $ sage -optional | grep normaliz
> > normaliz................................3.7.2 (3.7.2)
> > pynormaliz..............................2.7 (2.7)
> >
> > and my current sage-8.7 has no optional packages installed:
> >
> > slabbe@miami ~ $ GitBox/sage-8.7/sage -optional | grep normaliz
> > normaliz................................3.6.3 (not_installed)
> > pynormaliz..............................1.19 (not_installed)
> >
> > If I do %prun on the first command which takes much longer (90s instead of 
> > 5s), I get on both systems, the following:
> >
> >
> > ┌────────────────────────────────────────────────────────────────────┐
> > │ SageMath version 8.7, Release Date: 2019-03-23                     │
> > │ Using Python 2.7.15. Type "help()" for help.                       │
> > └────────────────────────────────────────────────────────────────────┘
> > sage: from slabbe import PolyhedronPartition
> > sage: from slabbe import PolyhedronExchangeTransformation as PET
> > sage: from slabbe import Substitution2d
> > sage: z = polygen(QQ, 'z')
> > sage: K = NumberField(z**2-z-1, 'phi', embedding=RR(1.6))
> > sage: phi = K.gen()
> > sage: P0 = PolyhedronPartition.jeandel_rao_tilings_partition()
> > sage: Gamma0 = matrix.column([(phi,0), (1,phi+3)])
> > sage: fundamental_domain = polytopes.parallelotope([(phi,0), (0,phi+3)])
> > sage: R0e2 = PET.toral_translation(Gamma0, vector((0,1)), 
> > fundamental_domain)
> > sage: y_le_1 = [1, 0, -1]   # syntax for the inequality y <= 1
> > sage:
> > sage: %time P1,beta0 = R0e2.induced_partition(y_le_1, P0, 
> > substitution_type='column')
> > CPU times: user 4.6 s, sys: 84 ms, total: 4.68 s
> > Wall time: 4.64 s
> > sage: %prun P1,beta0 = R0e2.induced_partition(y_le_1, P0, 
> > substitution_type='column')
> >
> >          3059637 function calls (3058959 primitive calls) in 5.373 seconds
> >
> >    Ordered by: internal time
> >
> >    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
> >      4878    0.619    0.000    1.713    0.000 {method 'right_kernel' of 
> > 'sage.matrix.matrix2.Matrix' objects}
> >      4184    0.392    0.000    0.489    0.000 {method 'solve_right' of 
> > 'sage.matrix.matrix2.Matrix' objects}
> >     43084    0.253    0.000    0.280    0.000 matrix_space.py:720(__call__)
> >      9756    0.209    0.000    0.294    0.000 number_field.py:3081(_repr_)
> >     30698    0.191    0.000    0.253    0.000 
> > matrix_space.py:103(get_matrix_class)
> >      4184    0.166    0.000    0.182    0.000 {method 'pivots' of 
> > 'sage.matrix.matrix0.Matrix' objects}
> >      4184    0.166    0.000    0.205    0.000 {method 'pivot_rows' of 
> > 'sage.matrix.matrix2.Matrix' objects}
> >      5243    0.152    0.000    0.171    0.000 {method 'rank' of 
> > 'sage.matrix.matrix0.Matrix' objects}
> >      5005    0.146    0.000    0.325    0.000 free_module.py:662(__init__)
> >     54383    0.140    0.000    0.200    0.000 
> > free_module.py:973(_element_constructor_)
> >     14168    0.138    0.000    0.197    0.000 sequence.py:80(Sequence)
> >    435687    0.122    0.000    0.122    0.000 {isinstance}
> >     35194    0.115    0.000    0.127    0.000 
> > representation.py:1181(evaluated_on)
> >     30698    0.113    0.000    0.367    0.000 
> > matrix_space.py:432(__classcall__)
> >      4184    0.106    0.000    1.284    0.000 
> > double_description.py:641(initial_pair)
> >     54383    0.102    0.000    0.304    0.000 
> > free_module.py:5569(_element_constructor_)
> >      9637    0.101    0.000    0.312    0.000 
> > {sage.modules.free_module_element.vector}
> >      8368    0.080    0.000    0.169    0.000 {method 'rows' of 
> > 'sage.matrix.matrix1.Matrix' objects}
> >     41111    0.072    0.000    0.149    0.000 misc.py:295(cputime)
> >     10231    0.070    0.000    0.072    0.000 
> > double_description.py:313(R_by_sign)
> >     35194    0.066    0.000    0.247    0.000 
> > representation.py:694(contains)
> >     41111    0.057    0.000    0.057    0.000 {resource.getrusage}
> >     52510    0.051    0.000    0.051    0.000 free_module.py:328(create_key)
> >      4593    0.050    0.000    0.112    0.000 {method 'columns' of 
> > 'sage.matrix.matrix1.Matrix' objects}
> >      4878    0.045    0.000    0.156    0.000 
> > free_module.py:1593(basis_matrix)
> >      2092    0.043    0.000    0.408    0.000 
> > double_description_inhomogeneous.py:273(_extract_Vrep)
> >      4878    0.042    0.000    0.443    0.000 free_module.py:5643(__init__)
> >     19512    0.038    0.000    0.038    0.000 {method 'sub' of 
> > '_sre.SRE_Pattern' objects}
> >     14168    0.036    0.000    0.039    0.000 sequence.py:405(__init__)
> >      2965    0.036    0.000    0.057    0.000 
> > representation.py:330(_set_data)
> >      2092    0.036    0.000    2.732    0.001 
> > double_description_inhomogeneous.py:154(__init__)
> >     43834    0.032    0.000    0.281    0.000 base.py:587(<genexpr>)
> >      1882    0.031    0.000    0.063    0.000 
> > number_field.py:1554(_element_constructor_)
> >      5005    0.030    0.000    0.042    0.000 
> > free_module.py:7218(element_class)
> >      6983    0.028    0.000    0.030    0.000 {method 'inner_product' of 
> > 'sage.modules.free_module_element.FreeModuleElement' objects}
> >     35194    0.028    0.000    0.028    0.000 
> > backend_field.py:92(_is_nonneg)
> >      2965    0.028    0.000    0.084    0.000 
> > representation.py:311(__init__)
> >     10231    0.024    0.000    0.193    0.000 
> > double_description.py:689(add_inequality)
> >     41111    0.023    0.000    0.173    0.000 misc.py:525(verbose)
> >     19512    0.023    0.000    0.023    0.000 re.py:230(_compile)
> >      1882    0.023    0.000    0.025    0.000 
> > polynomial_ring.py:320(_element_constructor_)
> >      5010    0.022    0.000    0.085    0.000 
> > modules.py:112(__classcall_private__)
> >       347    0.022    0.000    0.328    0.001 
> > point_configuration.py:1827(contained_simplex)
> >        31    0.021    0.001    4.147    0.134 
> > polyhedron_partition.py:1204(refinement)
> >     47132    0.020    0.000    0.020    0.000 
> > number_field.py:3792(pari_polynomial)
> >      1745    0.019    0.000    3.565    0.002 
> > backend_field.py:214(_init_from_Hrepresentation)
> >      6276    0.019    0.000    0.020    0.000 
> > double_description.py:112(__init__)
> >       409    0.018    0.000    0.027    0.000 {method 'inverse' of 
> > 'sage.matrix.matrix2.Matrix' objects}
> >      7979    0.018    0.000    0.037    0.000 fields.py:63(__contains__)
> >      2092    0.018    0.000    0.747    0.000 
> > double_description_inhomogeneous.py:451(_init_Vrep)
> >        93    0.018    0.000    0.041    0.000 
> > point_configuration.py:332(__init__)
> >      4878    0.017    0.000    0.481    0.000 free_module.py:3794(span)
> >      5629    0.017    0.000    0.017    0.000 {hasattr}
> >      9675    0.017    0.000    0.018    0.000 
> > free_module.py:2371(zero_vector)
> >
> >
> >
> > ┌────────────────────────────────────────────────────────────────────┐
> > │ SageMath version 8.8.rc1, Release Date: 2019-06-13                 │
> > │ Using Python 2.7.15. Type "help()" for help.                       │
> > └────────────────────────────────────────────────────────────────────┘
> > sage: from slabbe import PolyhedronPartition
> > sage: from slabbe import PolyhedronExchangeTransformation as PET
> > sage: from slabbe import Substitution2d
> > sage: z = polygen(QQ, 'z')
> > sage: K = NumberField(z**2-z-1, 'phi', embedding=RR(1.6))
> > sage: phi = K.gen()
> > sage: P0 = PolyhedronPartition.jeandel_rao_tilings_partition()
> > sage: Gamma0 = matrix.column([(phi,0), (1,phi+3)])
> > sage: fundamental_domain = polytopes.parallelotope([(phi,0), (0,phi+3)])
> > sage: R0e2 = PET.toral_translation(Gamma0, vector((0,1)), 
> > fundamental_domain)
> > sage: y_le_1 = [1, 0, -1]   # syntax for the inequality y <= 1
> > sage:
> > sage: %time P1,beta0 = R0e2.induced_partition(y_le_1, P0, 
> > substitution_type='column')
> > CPU times: user 12.9 s, sys: 2.62 s, total: 15.6 s
> > Wall time: 1min 27s
> > sage: %prun P1,beta0 = R0e2.induced_partition(y_le_1, P0, 
> > substitution_type='column')
> >
> >          4286879 function calls (4284765 primitive calls) in 89.043 seconds
> >
> >    Ordered by: internal time
> >
> >    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
> >      1388   69.712    0.050   69.712    0.050 {time.sleep}
> >      1041    1.724    0.002    1.724    0.002 {posix.read}
> >      4878    1.427    0.000    7.762    0.002 {method 'right_kernel' of 
> > 'sage.matrix.matrix2.Matrix' objects}
> >       347    1.270    0.004    1.270    0.004 {posix.forkpty}
> >      9756    0.998    0.000    2.509    0.000 
> > number_field.py:2955(gen_embedding)
> >     19512    0.998    0.000    1.740    0.000 {method 'format' of 'str' 
> > objects}
> >      4184    0.671    0.000    0.845    0.000 {method 'solve_right' of 
> > 'sage.matrix.matrix2.Matrix' objects}
> >     43035    0.554    0.000    0.631    0.000 matrix_space.py:720(__call__)
> >    111653    0.521    0.000    0.906    0.000 copy.py:66(copy)
> >      1388    0.447    0.000    0.447    0.000 {select.select}
> >     30669    0.424    0.000    0.551    0.000 
> > matrix_space.py:103(get_matrix_class)
> >      4951    0.387    0.000    0.835    0.000 free_module.py:662(__init__)
> >      4184    0.320    0.000    0.390    0.000 {method 'pivot_rows' of 
> > 'sage.matrix.matrix2.Matrix' objects}
> >      4184    0.312    0.000    0.345    0.000 {method 'pivots' of 
> > 'sage.matrix.matrix0.Matrix' objects}
> >      5243    0.302    0.000    0.334    0.000 {method 'rank' of 
> > 'sage.matrix.matrix0.Matrix' objects}
> >    530292    0.279    0.000    0.279    0.000 {isinstance}
> >     54201    0.270    0.000    0.373    0.000 
> > free_module.py:973(_element_constructor_)
> >     14168    0.258    0.000    0.365    0.000 sequence.py:80(Sequence)
> >     30669    0.250    0.000    0.801    0.000 
> > matrix_space.py:432(__classcall__)
> >     13844    0.223    0.000    0.231    0.000 
> > polynomial_ring.py:320(_element_constructor_)
> >     19512    0.214    0.000    0.436    0.000 qqbar.py:4023(interval)
> >     11962    0.212    0.000    0.617    0.000 rings.py:845(__getitem__)
> >     11962    0.195    0.000    0.338    0.000 
> > polynomial_ring_constructor.py:52(PolynomialRing)
> >      4184    0.193    0.000    2.282    0.001 
> > double_description.py:640(initial_pair)
> >     54201    0.186    0.000    0.562    0.000 
> > free_module.py:5584(_element_constructor_)
> >      9637    0.178    0.000    0.520    0.000 
> > {sage.modules.free_module_element.vector}
> >     39121    0.172    0.000    0.359    0.000 homset.py:84(Hom)
> >     41104    0.147    0.000    0.303    0.000 misc.py:295(cputime)
> >       347    0.142    0.000    3.001    0.009 
> > point_configuration.py:1829(contained_simplex)
> >      8368    0.140    0.000    0.308    0.000 {method 'rows' of 
> > 'sage.matrix.matrix1.Matrix' objects}
> >     48780    0.137    0.000    0.137    0.000 
> > sets_cat.py:974(_element_constructor_from_element_class)
> >     35194    0.130    0.000    0.218    0.000 
> > representation.py:1200(evaluated_on)
> >     10231    0.130    0.000    0.133    0.000 
> > double_description.py:313(R_by_sign)
> >     41104    0.110    0.000    0.110    0.000 {resource.getrusage}
> >      1882    0.108    0.000    0.210    0.000 
> > number_field.py:1554(_element_constructor_)
> >
> >
> > I do not know where these sleep calls come from??
> >
>
> I guess it's from  posix.forkpty, or related to multi-processing in
> some other way.
>
>
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "sage-devel" group.
> > To unsubscribe from this group and stop receiving emails from it, send an 
> > email to [email protected].
> > To post to this group, send email to [email protected].
> > Visit this group at https://groups.google.com/group/sage-devel.
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msgid/sage-devel/618fa213-bef5-4b57-88e3-8a79c784d090%40googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-devel.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAAWYfq3Dz26OVqFPdrEeUeeObr9PHbpC5HJYsw-OgUxmQJexdA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to