Kyle <[email protected]> added the comment:

Hi again,

I have tried nightly (pypy-c-jit-61992-6fe2c02099ef-win32) and still got boost:

code:
import time

class measure:
        def __init__(self, description, size, runs):
                self.description = description
                self.size = size
                self.runs = runs

        def __enter__(self):
                self.start = time.time()

        def __exit__(self, *args):
                elapsed = time.time() - self.start
                print '%.2lf runs/sec, %s, size = %d, %d runs' % (self.runs / 
elapsed, 
self.description, self.size, self.runs)

def min_(arg):
        seq = iter(arg)
        try:
                head = seq.next()
        except StopIteration:
                raise ValueError('arg is an empty sequence')
        return reduce(min, seq, head)

N = 1000
N_max = 100000000
while N <= N_max:
        K = 5 * N_max / N
        
        r = range(N)

        with measure('built-in', N, K):
                for _ in range(K):
                        min(r)

        with measure('with reduce', N, K):
                for _ in range(K):
                        min_(r)

        print
        N *= 10

output:

372300.84 runs/sec, built-in, size = 1000, 500000 runs
692520.66 runs/sec, with reduce, size = 1000, 500000 runs

29994.00 runs/sec, built-in, size = 10000, 50000 runs
77279.74 runs/sec, with reduce, size = 10000, 50000 runs

4012.84 runs/sec, built-in, size = 100000, 5000 runs
7874.02 runs/sec, with reduce, size = 100000, 5000 runs

388.50 runs/sec, built-in, size = 1000000, 500 runs
791.14 runs/sec, with reduce, size = 1000000, 500 runs

30.79 runs/sec, built-in, size = 10000000, 50 runs
79.24 runs/sec, with reduce, size = 10000000, 50 runs

0.98 runs/sec, built-in, size = 100000000, 5 runs
7.90 runs/sec, with reduce, size = 100000000, 5 runs

----------
status: resolved -> chatting

________________________________________
PyPy bug tracker <[email protected]>
<https://bugs.pypy.org/issue1414>
________________________________________
_______________________________________________
pypy-issue mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-issue

Reply via email to