<div dir="ltr">Hi John,<br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 24, 2017 at 7:29 PM, John Dougan <span dir="ltr"><<a href="mailto:jdougan@acm.org" target="_blank">jdougan@acm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <br><div dir="ltr">I don't know if this qualifies, but I ported John Walker's fbench floating point accuracy benchmark (<a href="https://www.fourmilab.ch/fbench/fbench.html" target="_blank">https://www.fourmilab.ch/fben<wbr>ch/fbench.html</a>) to a variety of Smalltalk platforms. The numerical code is written in the standard Numerical Recipes style, which isn't very Smalltalky, but is very common. Probably lots of opportunities for optimizations. The included code tries to write to stdout as it was designed to be called from the command line, but that is pretty trivial to change.</div></blockquote><div><br></div><div>I'd love to see this contributed.  How old is that page?  I'm curious about these relative results:</div><div><br></div><div>C<span class="gmail-Apple-tab-span" style="white-space:pre">     </span>1<span class="gmail-Apple-tab-span" style="white-space:pre">     </span>GCC 3.2.3 -O3, Linux</div><div>...</div><div>Smalltalk<span class="gmail-Apple-tab-span" style="white-space:pre">        </span>7.59<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>GNU Smalltalk 2.3.5, Linux</div><div><br></div><div>I'd like to see if Spur Cog can beat VW and Gnu St.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Cheers,</div><div> -  John</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 24, 2017 at 1:10 AM, Tim Felgentreff <span dir="ltr"><<a href="mailto:timfelgentreff@gmail.com" target="_blank">timfelgentreff@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <br>Hi Eliot, <div><br></div><div>the question for me is, how indicative is this workload of real world performance? Creating compiled methods may not be something that is highly optimized, simply because it doesn't need to be in real applications. One would have to be careful about what is being measured, or if the benchmark is just measuring how fast we can blow out the caches... </div><div><br></div><div>If we're just talking about running parsing and optimizing something, then maybe some real world applications are using that, but even then some JSON or HTML parsing library that implements e.g. Apache mod_rewrite would be more realistic, I think. Dynamically parsing and patching HTML and then pretty-printing or minimizing it seems a more common problem.</div><div><br></div><div>I know, you're trying to argue that the Opal compiler may show common workloads equally well, but we could argue that for some of the Shootout benchmarks, too. It's an argument that doesn't seem to convince some people.</div><div><br></div><div><br></div><div><div class="gmail_quote"><div dir="ltr">Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> schrieb am Do., 23. März 2017, 17:18:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <div dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">Hi Tim,<div class="gmail_extra gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div></div></div><div dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_extra gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">On Thu, Mar 23, 2017 at 1:31 AM, Tim Felgentreff <span dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><<a href="mailto:timfelgentreff@gmail.com" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" target="_blank">timfelgentreff@gmail.com</a>></span> wrote:<br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><blockquote class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><p dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">Yes, big benchmarks would be nice. Those on <a href="http://speed.squeak.org" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" target="_blank">speed.squeak.org</a> or in VMMaker are all somewhat small.</p>
<p dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">Note the Ruby community, for example, has benchmarks such as a NES emulator (optcarrot) that can run for a few thousand frames with predefined input as benchmarks. It's definitely possible.</p>
<p dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">Maybe some of the projects from HPI students could be made to work, there was a Chip8 emulator in Squeak, for example, that seems big enough. Or maybe the DCPU emulator at <a href="http://github.com/fniephaus/BroDCPU" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" target="_blank">github.com/fniephaus/BroDCPU</a> without a frame limit would work as a decent CPU bound benchmark.</p></blockquote><div class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div></div></div></div><div dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_extra gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">I've discussed with Clément doing something like cloning the Opal compiler, or the Squeak compiler, so that it uses a fixed set of classes that won't change over time, excepting the collections, and using as a benchmark this compiler recompiling all its own methods.  This is a nice mix of string processing (in the tokenizer) and symbolic processing (in the building and optimizing of the parse tree).</div></div></div></div><div dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_extra gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><blockquote class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><p dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"> </p>
<p dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">Cross - dialect could be hard. Pharo and Squeak are fairly easy to do, but with larger programs staying compatible across different dialects is harder.</p></blockquote><div class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div></div></div></div><div dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_extra gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">Again, extracting a compiler from its host system would make it possible to maintain a cross-platform version.  It could be left as an exercise to the reader to port it to one's favorite non-Smalltalk dynamic language.</div></div></div></div><div dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_extra gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div><blockquote class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">tim Rowledge <<a href="mailto:tim@rowledge.org" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" target="_blank">tim@rowledge.org</a>> schrieb am Mi., 22. März 2017, 21:40:<br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div><blockquote class="gmail_quote gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
> On 21-03-2017, at 4:53 PM, Javier Pimás <<a href="mailto:elpochodelagente@gmail.com" class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" target="_blank">elpochodelagente@gmail.com</a>> wrote:<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
><br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
> Hi everybody! While measuring performance I usually face the problem of assessing performance.<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
Have you tried the benchmarks package - CogBenchmarks - included in the <a href="http://source.squeak.org/VMMaker" rel="noreferrer" class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" target="_blank">source.squeak.org/VMMaker</a> repository?<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
tim<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
--<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
tim Rowledge; <a href="mailto:tim@rowledge.org" class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" target="_blank">tim@rowledge.org</a>; <a href="http://www.rowledge.org/tim" rel="noreferrer" class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" target="_blank">http://www.rowledge.org/tim</a><br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
Strange OpCodes: BOMB: Burn Out Memory Banks<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
<br class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
</blockquote></div>
<br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></blockquote></div></div></div><div dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail_extra gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br clear="all" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div>-- <br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432gmail_signature gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div dir="ltr" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><span style="font-size:small;border-collapse:separate" class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">_,,,^..^,,,_<br class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div><div class="gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">best, Eliot</div></span></div></div></div>
</div></div></blockquote></div></div>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail-m_-4160063437424489933gmail_signature">John Dougan<br><a href="mailto:jdougan@acm.org" target="_blank">jdougan@acm.org</a></div>
</div></div>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>