[pypy-dev] MalGen as a benchmark?

Maciej Fijalkowski fijall at gmail.com
Sun Sep 30 23:38:24 CEST 2012


On Sun, Sep 30, 2012 at 7:56 PM, Chris Leary <cdleary at acm.org> wrote:
> 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.

how do you do that?

>
> 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