<br><br><div class="gmail_quote">On Fri, Sep 28, 2012 at 4:36 PM, Chris Leary <span dir="ltr"><<a href="mailto:cdleary@acm.org" target="_blank">cdleary@acm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Found a red-hot, branchy-looking Python kernel in the wild and<br>
naturally I thought of you trace compiler folks! ;-) Hope that it<br>
might be useful: I think it could make a nice addition to the speed<br>
center, seeing as how it's a CPU bound workload on all the machines I<br>
have access to (though I haven't profiled it at all so it could<br>
potentially be leaning heavily on paths in some unoptimized builtins).<br>
<br>
    MalGen is a set of scripts which generate large, distributed data<br>
sets suitable for testing and benchmarking software designed to<br>
perform parallel processing on large data sets. The data sets can be<br>
thought of as site-entity log files. After an initial seeding, the<br>
scripts allow for the data generation to be initiated from a single<br>
central node to run the generation concurrently on multiple remote<br>
nodes of the cluster.<br>
<br>
    -- <a href="http://code.google.com/p/malgen/" target="_blank">http://code.google.com/p/malgen/</a><br>
<br>
Specifically, <a href="http://code.google.com/p/malgen/source/browse/trunk/bin/cloud/malgen/malgen.py" target="_blank">http://code.google.com/p/malgen/source/browse/trunk/bin/cloud/malgen/malgen.py</a><br>
which gets run thusly:<br>
<br>
::<br>
<br>
    pypy malgen.py -O /tmp/ -o INITIAL.txt 0 50000000 10000000 21<br>
<br>
(Where 5e7 is the "initial block size" and 1e7 is the<br>
other-than-inital block size.) This generates the initial seeding they<br>
were talking about, followed by a run for each of N blocks on each<br>
node (in this hypothetical setup, for 5 blocks on each of four nodes<br>
the following is run):<br>
<br>
::<br>
<br>
    pypy malgen.py -O /tmp [start_value]<br>
<br>
The metadata is read out of the INITIAL.txt file and used to determine<br>
the size of the block, and the parameter [start_value] is used to bump<br>
to the appropriate start id count for the current block.<br>
<br>
Inner loop: <a href="http://code.google.com/p/malgen/source/browse/trunk/bin/cloud/malgen/malgen.py#90" target="_blank">http://code.google.com/p/malgen/source/browse/trunk/bin/cloud/malgen/malgen.py#90</a><br>
<br>
Thoughts?<br>
<br>
- Leary<br>
_______________________________________________<br>
pypy-dev mailing list<br>
<a href="mailto:pypy-dev@python.org">pypy-dev@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/pypy-dev" target="_blank">http://mail.python.org/mailman/listinfo/pypy-dev</a><br>
</blockquote></div><br>Looks like it could be a good addition, have you run benchmarks on it yourself? (Also, should we be directing any new benchmarks to the python-speed mailing list?)<div><br></div><div>Alex<br clear="all">
<div><br></div>-- <br>"I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire)<br>"The people's good is the highest law." -- Cicero<br>
<br>
</div>