Sigh. I also made that change (but my padics code is probably not ready to merge). I'll just merge my code with yours. David
On 10/26/07, William Stein <[EMAIL PROTECTED]> wrote: > > > On 10/26/07, David Harvey <[EMAIL PROTECTED]> wrote: > > sage: N = 5^1000 > > sage: R = Integers(N) > > sage: S.<x> = PolynomialRing(R) > > sage: v = R(37) > > sage: f = S([v]) > > > > Am I correct in saying that with the current codebase, the last line > > in the above code is converting v to a ZZ_pX via a decimal string? > > Instead do this so the problem is more pronounced: > > sage: N = 5^100000 > sage: R = Integers(N) > sage: S.<x> = PolynomialRing(R) > sage: v = R(7^100000) > sage: time f = S([v]) > > I then tracked down the problem which is in the ntl_ZZ_pContext > function in ntl_ZZ_pContext.pyx, where the context is cached. > Unfortunately, the frickin' context is cached as a decimal *string*, so > every single cached access to the context is extremely expensive -- for > more expensive than not even bothing to cache the context would be. > The patch that will soon appear here: > > http://trac.sagemath.org/sage_trac/ticket/1009 > > will fix things so that the cache uses the hash of the context, which > I implemented (along with hash's of ntl_ZZ's). > > Exactly the same mistake is made in ntl_GF2EContext.pyx, which the > above patch also fixes, hopefully. > > -- William > > > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---