There is no slowdown between sage-3.0.1 and 3.0.2 with the original
posted code, on sage.math:
Linux sage 2.6.18-6-amd64 #1 SMP Sun Feb 10 17:50:19 UTC 2008 x86_64
GNU/Linux
So it looks like something processor-specific.
david
On Jul 2, 2008, at 7:11 PM, Daryl Hammond wrote:
>
> I recently did a clean install of Fedora 9 (formerly running Fedora 8)
> and then
> installed sage-3.0.3 from source (formerly running sage-3.0). After
> running
> "sage -testall" I ran a couple of my own programs.
>
> I was surprised to see one of the programs (sieve of Erasthenes) run
> 70% longer.
> I installed sage-3.0 from source and verified that sage-3.0.3 was
> indeed taking
> 70% longer to run the sieve program than sage-3.0 did.
>
> To narrow down the problem, I installed sage-3.0.1 and sage-3.0.2,
> both from
> source. I then determined the performance problem was introduced
> going from
> sage-3.0.1 to sage-3.0.2.
>
> The following doc shows my system; output from the sieve progam under
> sage-3.0, sage-3.0.1, sage-3.0.2, and sage-3.0.3; and source for the
> sieve
> program.
>
> The system has a single user, no load, no swapping, and the
> performance monitor
> indicates that the CPU (2.8 GHz P4) is pegged during the entire
> elapsed time.
>
> uname -a
> Linux DH04.HAMMOND 2.6.25-14.fc9.i686 #1 SMP Thu May 1 06:28:41 EDT
> 2008 i686 i686 i386 GNU/Linux
>
> /home/daryl/sage-3.0/sage /home/daryl/UserData/sage/sieve.sage
>
> ============================================
> SAGE Version 3.0, Release Date: 2008-04-23
>
> Start time: Wed Jul 2 17:17:52 2008
>
> array size: 10000000
> number of primes: 664580
>
> End time: Wed Jul 2 17:19:03 2008
> Elapsed seconds: 70.93
>
> ============================================
>
> /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: Wed Jul 2 17:19:18 2008
>
> array size: 10000000
> number of primes: 664580
>
> End time: Wed Jul 2 17:20:30 2008
> Elapsed seconds: 72.58
>
> ============================================
>
> /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: Wed Jul 2 17:20:47 2008
>
> array size: 10000000
> number of primes: 664580
>
> End time: Wed Jul 2 17:22:53 2008
> Elapsed seconds: 126.51
>
> ============================================
>
> /home/daryl/sage-3.0.3/sage /home/daryl/UserData/sage/sieve.sage
>
> ============================================
> SAGE Version 3.0.3, Release Date: 2008-06-17
>
> Start time: Wed Jul 2 17:23:09 2008
>
> array size: 10000000
> number of primes: 664580
>
> End time: Wed Jul 2 17:25:14 2008
> Elapsed seconds: 124.39
>
> ============================================
>
> cat /home/daryl/UserData/sage/sieve.sage
> #!/usr/bin/env sage
>
> # sieve of Erasthenes
>
> # 2008/04/29 DWH Switch from numerical array to character array for
> primes;
> # Switch from srange() to while loop.
> #
> #---------------------------------------------------------------------
> ----------
>
> from time import *
>
> # print start time
>
> print
> print '============================================'
> print version()
> print
> start = time()
> print 'Start time: ', ctime(start)
> print
>
> #create prime array p of size n and initialize to '1'
>
> n = 10 * 1000 * 1000
> print 'array size: ', n
> p = list()
> array_ctr = -1
> while array_ctr < n:
> array_ctr = array_ctr + 1
> p.append('1')
>
> # initialize first two array elements to '0'
>
> p[0] = '0'
> p[1] = '0'
>
> # assign '0' to non-prime numbers
>
> q = 1
> while q * q < n:
> q = q + 1
> if p[q] == '1':
> z = q * q - q
> while z + q < n:
> z = z + q
> p[z] = '0'
>
> # count primes and print count
>
> ctr = 0
> array_ctr = -1
> while array_ctr < n:
> array_ctr = array_ctr + 1
> if p[array_ctr] == '1':
> ctr = ctr + 1
>
> print 'number of primes:', ctr
>
> # print end time
>
> print
> end = time()
> print 'End time: ', ctime(end)
> elapsed = end - start
> print 'Elapsed seconds: ', round(elapsed,2)
> print
> print '============================================'
> print
>
>
> -Daryl Hammond
> >
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---