[pypy-dev] MalGen as a benchmark?

Chris Leary cdleary at acm.org
Sun Sep 30 19:56:40 CEST 2012


On Sun, Sep 30, 2012 at 6:08 AM, Maciej Fijalkowski <fijall at gmail.com> wrote:
> at current svn version it plain doesn't work without seed data

Yeah, the first step is that it has to generate seed data. Since it's
the same loop I'd hope that's good enough.

Python2.7 seems to run ~2 seconds faster on a ~minute length run.

$ perf stat pypy malgen.py -O /tmp/ -o INITIAL.txt 0 5000000 1000000 21
0 Entity
0 Events Generated
500000 Events Generated
[..snip..]

 Performance counter stats for 'pypy malgen.py -O /tmp/ -o INITIAL.txt
0 5000000 1000000 21':

      65447.670235 task-clock                #    0.931 CPUs utilized
             6,091 context-switches          #    0.000 M/sec
                88 CPU-migrations            #    0.000 M/sec
            39,751 page-faults               #    0.001 M/sec
   187,721,401,361 cycles                    #    2.868 GHz
         [83.34%]
   125,966,916,332 stalled-cycles-frontend   #   67.10% frontend
cycles idle    [83.33%]
    89,836,165,138 stalled-cycles-backend    #   47.86% backend
cycles idle    [66.63%]
   122,596,433,926 instructions              #    0.65  insns per cycle
                                             #    1.03  stalled cycles
per insn [83.30%]
    27,158,701,261 branches                  #  414.968 M/sec
         [83.35%]
     1,309,172,455 branch-misses             #    4.82% of all
branches         [83.35%]

      70.276668518 seconds time elapsed

$ perf stat python2.7 malgen.py -O /tmp/ -o INITIAL.txt 0 5000000 1000000 21
0 Entity
0 Events Generated
500000 Events Generated
[..snip..]

 Performance counter stats for 'python2.7 malgen.py -O /tmp/ -o
INITIAL.txt 0 5000000 1000000 21':

      67696.460942 task-clock                #    0.991 CPUs utilized
             6,192 context-switches          #    0.000 M/sec
                87 CPU-migrations            #    0.000 M/sec
             4,168 page-faults               #    0.000 M/sec
   194,918,427,158 cycles                    #    2.879 GHz
         [83.34%]
    95,351,613,483 stalled-cycles-frontend   #   48.92% frontend
cycles idle    [83.32%]
    53,693,951,677 stalled-cycles-backend    #   27.55% backend
cycles idle    [66.68%]
   209,613,931,049 instructions              #    1.08  insns per cycle
                                             #    0.45  stalled cycles
per insn [83.35%]
    44,855,636,904 branches                  #  662.599 M/sec
         [83.32%]
     1,687,165,902 branch-misses             #    3.76% of all
branches         [83.34%]

      68.335222479 seconds time elapsed

- Leary


More information about the pypy-dev mailing list