You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On my laptop, it takes almost 1 second to create a polynomial of degree 10000 over F_125:
sage: k = GF(5^3)
sage: S.<x> = k[]
sage: L = [ k.random_element() for _ in range(10000) ]
sage: %time f = S(L)
CPU times: user 764 ms, sys: 4 ms, total: 768 ms
Wall time: 767 ms
while computing its square takes only 40ms:
sage: %time g = f*f
CPU times: user 32 ms, sys: 8 ms, total: 40 ms
Wall time: 39.6 ms
sage: K = GF(125)
sage: R = K['t']
sage: L = [K.random_element() for _ in range(10**5)]
sage: %timeit [c.polynomial() for c in L]
1 loop, best of 3: 7.32 s per loop
sage: KK = GF(125, impl="pari_ffelt")
sage: RR = KK['t']
sage: LL = [KK.random_element() for _ in range(10**5)]
sage: %timeit [c.polynomial() for c in LL]
1 loop, best of 3: 13.7 s per loop
There is a lot of python overhead to do magic conversion btw different C implementations.
So unless we implement special methods to go back and forth specific implementations it looks hard to tackle that one in a generic way.
On my laptop, it takes almost 1 second to create a polynomial of degree 10000 over F_125:
while computing its square takes only 40ms:
CC: @jpflori
Component: finite rings
Keywords: sd87, padicIMA
Issue created by migration from https://trac.sagemath.org/ticket/23470
The text was updated successfully, but these errors were encountered: