David, I re-installed sage-3.0.2 from source and then ran your test
against
sage-3.0.1 and sage-3.0.2. The run times were comparable.
[EMAIL PROTECTED] sage]$ /home/daryl/sage-3.0.1/sage
----------------------------------------------------------------------
| SAGE Version 3.0.1, Release Date: 2008-05-05 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: x = ZZ.random_element(2^4000000)
sage: y = ZZ.random_element(2^4000000)
sage: time z = x.xgcd(y)
CPU times: user 12.84 s, sys: 0.11 s, total: 12.94 s
Wall time: 13.02
sage: quit
Exiting SAGE (CPU time 0m12.98s, Wall time 1m9.88s).
[EMAIL PROTECTED] sage]$ /home/daryl/sage-3.0.2/sage
----------------------------------------------------------------------
| SAGE Version 3.0.2, Release Date: 2008-05-24 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: x = ZZ.random_element(2^4000000)
sage: y = ZZ.random_element(2^4000000)
sage: time z = x.xgcd(y)
CPU times: user 12.92 s, sys: 0.12 s, total: 13.04 s
Wall time: 13.10 s
sage: quit
Exiting SAGE (CPU time 0m13.07s, Wall time 0m51.21s).
I then ran my sieve program against both sage-3.0.1 and sage-3.0.2 and
my
results still show increased elapsed/cpu times for sage-3.0.2:
/home/daryl/sage-3.0.1/sage /home/daryl/UserData/sage/sieve.sage
============================================
SAGE Version 3.0.1, Release Date: 2008-05-05
Start time: Fri Jul 4 19:18:47 2008
Array size: 10000000
Create array: Fri Jul 4 19:19:04 2008
Create seconds: 16.99
Mark primes: Fri Jul 4 19:19:42 2008
Mark seconds: 38.28
Count primes: Fri Jul 4 19:20:00 2008
Count seconds: 17.65
Number of primes: 664579
End time: Fri Jul 4 19:20:00 2008
Elapsed seconds: 72.92
============================================
/home/daryl/sage-3.0.2/sage /home/daryl/UserData/sage/sieve.sage
============================================
SAGE Version 3.0.2, Release Date: 2008-05-24
Start time: Fri Jul 4 19:20:06 2008
Array size: 10000000
Create array: Fri Jul 4 19:20:31 2008
Create seconds: 25.36
Mark primes: Fri Jul 4 19:21:43 2008
Mark seconds: 71.26
Count primes: Fri Jul 4 19:22:11 2008
Count seconds: 28.95
Number of primes: 664579
End time: Fri Jul 4 19:22:11 2008
Elapsed seconds: 125.57
============================================
It appears that you are correct that the testing and changing I did on
Thursday
to the sage-3.0.2 gmp code somehow corrupted/regressed it.
Finally I spent several hours trying to reduce the SAGE code down to
the
smallest number of lines that would still present the problem. I
believe I've
done that with the following:
cat /home/daryl/UserData/sage/add.sage
# 2008-07-04 DWH Created to test out integer arithmetic
from time import *
y = range(10 * 1000 * 1000)
#--------------------------
tbeg = time()
for _ in y:
x = 1
#--------------------------
tmid = time()
for _ in y:
x = 1 + 1
#--------------------------
tend = time()
elapsed = tmid - tbeg
print '10M x=1: ', round(elapsed,2)
elapsed = tend - tmid
print '10M x=1+1:', round(elapsed,2)
/home/daryl/sage-3.0.1/sage /home/daryl/UserData/sage/add.sage
10M x=1: 6.17
10M x=1+1: 12.92
/home/daryl/sage-3.0.2/sage /home/daryl/UserData/sage/add.sage
10M x=1: 6.22
10M x=1+1: 19.78
The two sections of code differ by a single line: x = 1 vs. x = 1 + 1.
Running on a 2.8 Ghz P4:
for x = 1 the times are the same;
for x = 1 + 1 the times differ by 6.86 seconds (a 53% increase).
However, when that 6.86 seconds is divided by 10,000,000 a single x =
1 + 1 is
only taking .686 micro seconds longer. Depending on how you use SAGE/
gmp, the
observable results will differ. Adding or multiplying a couple of
really big
numbers won't show a perceptible difference. Adding or multiplying
tens of
millions of numbers will cause the difference to add up.
In the case of my sieve program, loop control (adding 1) made up a
substantial
portion of the total code.
I'll let someone else decide whether this result in sage-3.0.2 is a
bug or a
feature (a feature being a bug in a tuxedo).
-Daryl
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---