Inspired by a little experiment we did to see if there is room to improve to ECL's bignum performance, we ran a little experiment computing fibonacci numbers (we wanted to test addition because it was mainly ECL's memory management that was under consideration)
with the following defs: def fibo(n): a=1 b=1 c=0 for i in range(n): c=a a=a+b b=c return b def test(n,m): for i in range(m): _=fibo(n) sage: timeit("test(4000,4000)") 5 loops, best of 3: 6.99 s per loop sage: time test(4000,4000) CPU times: user 7.10 s, sys: 0.00 s, total: 7.10 s Wall time: 7.11 s sage: time test(4000,4000) CPU times: user 7.24 s, sys: 0.00 s, total: 7.24 s Wall time: 7.24 s sage: time test(4000,4000) CPU times: user 7.38 s, sys: 0.00 s, total: 7.38 s Wall time: 7.39 s sage: time test(4000,4000) CPU times: user 7.10 s, sys: 0.00 s, total: 7.10 s Wall time: 7.11 s sage: time test(4000,4000) CPU times: user 7.05 s, sys: 0.00 s, total: 7.05 s Wall time: 7.06 s In ECL, this took 14.8 sec (uncompiled) and 8.8 sec (compiled). Of course, this particular programming exercise was just to see how fast one can shove information into GMP and ECL at this point definitely doesn't claim to be particularly optimized for that particular task, but as you can see, straightforward python and sage do a good job. For comparison, Magma takes about 8.4 secs, as does the code above when I initialize a=int(1) etc. --~--~---------~--~----~------------~-------~--~----~ 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 URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---