[prev in list] [next in list] [prev in thread] [next in thread] 

List:       squeak-vm-dev
Subject:    Re: [Vm-dev] Call for big benchmarks
From:       John Dougan <jdougan () acm ! org>
Date:       2017-03-25 9:19:41
Message-ID: CAJC9MC1z_u+V239o0fmSoayh5OLzkGkNMo4CRdm-MRitqDDOFA () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (text/plain)]

 
[Attachment #3 (multipart/alternative)]


The benchmarks on the fourmilab page were done over a period of time and
when I last messed with running the benchmark in ST in late 2014, there
were discrepancies in the relative times.

https://drive.google.com/drive/folders/0B30Y4WM1G4tuWWEyblh5RUNMOXc?
usp=sharing
has a folder with a spreadsheet with the results I got then along with an
mcz with the benchmark for Squeak 4.

Cheers,
 -- John

On Fri, Mar 24, 2017 at 7:37 PM, Eliot Miranda <eliot.miranda@gmail.com>
wrote:

>
>
>
> On Fri, Mar 24, 2017 at 7:36 PM, Eliot Miranda <eliot.miranda@gmail.com>
> wrote:
>
>> Hi John,
>>
>> On Fri, Mar 24, 2017 at 7:29 PM, John Dougan <jdougan@acm.org> wrote:
>>
>>>
>>> I don't know if this qualifies, but I ported John Walker's fbench
>>> floating point accuracy benchmark (https://www.fourmilab.ch/fben
>>> ch/fbench.html) 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.
>>>
>>
>> I'd love to see this contributed.  How old is that page?
>>
>
> (I mean when were the results computed; it says last updated 2016, but no
> dates for the individual times are taken; were they all computed at the
> same time or are some historical results)
>
>
>> I'm curious about these relative results:
>>
>> C 1 GCC 3.2.3 -O3, Linux
>> ...
>> Smalltalk 7.59 GNU Smalltalk 2.3.5, Linux
>>
>> I'd like to see if Spur Cog can beat VW and Gnu St.
>>
>>
>>>
>>> Cheers,
>>>  -  John
>>>
>>> On Fri, Mar 24, 2017 at 1:10 AM, Tim Felgentreff <
>>> timfelgentreff@gmail.com> wrote:
>>>
>>>>
>>>> Hi Eliot,
>>>>
>>>> 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...
>>>>
>>>> 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.
>>>>
>>>> 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.
>>>>
>>>>
>>>> Eliot Miranda <eliot.miranda@gmail.com> schrieb am Do., 23. März 2017,
>>>> 17:18:
>>>>
>>>>>
>>>>> Hi Tim,
>>>>>
>>>>> On Thu, Mar 23, 2017 at 1:31 AM, Tim Felgentreff <
>>>>> timfelgentreff@gmail.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>> Yes, big benchmarks would be nice. Those on speed.squeak.org or in
>>>>> VMMaker are all somewhat small.
>>>>>
>>>>> 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.
>>>>>
>>>>> 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 github.com/fniephaus/BroDCPU without a
>>>>> frame limit would work as a decent CPU bound benchmark.
>>>>>
>>>>>
>>>>> 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).
>>>>>
>>>>> Cross - dialect could be hard. Pharo and Squeak are fairly easy to do,
>>>>> but with larger programs staying compatible across different dialects is
>>>>> harder.
>>>>>
>>>>>
>>>>> 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.
>>>>>
>>>>> tim Rowledge <tim@rowledge.org> schrieb am Mi., 22. März 2017, 21:40:
>>>>>
>>>>>
>>>>>
>>>>> > On 21-03-2017, at 4:53 PM, Javier Pimás <elpochodelagente@gmail.com>
>>>>> wrote:
>>>>> >
>>>>> > Hi everybody! While measuring performance I usually face the problem
>>>>> of assessing performance.
>>>>>
>>>>> Have you tried the benchmarks package - CogBenchmarks - included in
>>>>> the source.squeak.org/VMMaker repository?
>>>>>
>>>>> tim
>>>>> --
>>>>> tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim
>>>>> Strange OpCodes: BOMB: Burn Out Memory Banks
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> _,,,^..^,,,_
>>>>> best, Eliot
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> John Dougan
>>> jdougan@acm.org
>>>
>>>
>>
>>
>> --
>> _,,,^..^,,,_
>> best, Eliot
>>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
>


-- 
John Dougan
jdougan@acm.org

[Attachment #6 (text/html)]

<div dir="ltr">The benchmarks on the fourmilab page were done over a period of time \
and when I last messed with running the benchmark in ST in late 2014, there were \
discrepancies in the relative times.<div><br><div><a \
href="https://drive.google.com/drive/folders/0B30Y4WM1G4tuWWEyblh5RUNMOXc?usp=sharing" \
target="_blank">https://drive.google.com/<wbr>drive/folders/<wbr>0B30Y4WM1G4tuWWEyblh5RUNMOXc?<wbr>usp=sharing</a></div></div><div>has \
a folder with a spreadsheet with the results I got then along with an mcz with the \
benchmark for Squeak 4.</div><div><br></div><div>Cheers,</div><div>  -- \
John</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 24, \
2017 at 7:37 PM, Eliot Miranda <span dir="ltr">&lt;<a \
href="mailto:eliot.miranda@gmail.com" \
target="_blank">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">  <br><div dir="ltr"><br><div class="gmail_extra"><br><div \
class="gmail_quote">On Fri, Mar 24, 2017 at 7:36 PM, Eliot Miranda <span \
dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" \
target="_blank">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><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">&lt;<a href="mailto:jdougan@acm.org" \
target="_blank">jdougan@acm.org</a>&gt;</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&#39;t know if this qualifies, but I ported John Walker&#39;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&#39;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&#39;d love to see this contributed.   \
How old is that page?   </div></div></div></div></blockquote><div><br></div><div>(I \
mean when were the results computed; it says last updated 2016, but no dates for the \
individual times are taken; were they all computed at the same time or are some \
historical results)</div><div>  </div><blockquote class="gmail_quote" style="margin:0 \
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div \
class="gmail_extra"><div class="gmail_quote"><div>I&#39;m curious about these \
relative results:</div><div><br></div><div>C<span \
class="m_-868909631815348002m_-360263660997792686gmail-Apple-tab-span" \
style="white-space:pre-wrap">	</span>1<span \
class="m_-868909631815348002m_-360263660997792686gmail-Apple-tab-span" \
style="white-space:pre-wrap">	</span>GCC 3.2.3 -O3, \
Linux</div><div>...</div><div>Smalltalk<span \
class="m_-868909631815348002m_-360263660997792686gmail-Apple-tab-span" \
style="white-space:pre-wrap">	</span>7.59<span \
class="m_-868909631815348002m_-360263660997792686gmail-Apple-tab-span" \
style="white-space:pre-wrap">	</span>GNU Smalltalk 2.3.5, \
Linux</div><div><br></div><div>I&#39;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"><span>On Fri, Mar 24, 2017 at 1:10 \
AM, Tim Felgentreff <span dir="ltr">&lt;<a href="mailto:timfelgentreff@gmail.com" \
target="_blank">timfelgentreff@gmail.com</a>&gt;</span> wrote:<br></span><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"><span> \
<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&#39;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&#39;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&#39;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&#39;s an argument that doesn&#39;t seem to convince \
some people.</div><div><br></div><div><br></div></span><div><div \
class="gmail_quote"><span><div dir="ltr">Eliot Miranda &lt;<a \
href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt; \
schrieb am Do., 23. März 2017, 17:18:<br></div></span><div><div \
class="m_-868909631815348002h5"><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="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">Hi \
Tim,<div class="gmail_extra \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div></div></div><div \
dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_extra m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">On \
Thu, Mar 23, 2017 at 1:31 AM, Tim Felgentreff <span dir="ltr" \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">&lt;<a \
href="mailto:timfelgentreff@gmail.com" \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" \
target="_blank">timfelgentreff@gmail.com</a>&gt;</span> wrote:<br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><blockquote \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-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="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><p \
dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">Yes, \
big benchmarks would be nice. Those on <a href="http://speed.squeak.org" \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" \
target="_blank">speed.squeak.org</a> or in VMMaker are all somewhat small.</p> <p \
dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-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&#39;s \
definitely possible.</p> <p dir="ltr" \
class="m_-868909631815348002m_-360263660997792686gmail-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="m_-868909631815348002m_-360263660997792686gmail-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="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div></div></div></div><div \
dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_extra m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">I&#39;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&#39;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="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_extra m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><blockquote \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-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="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"> \
</p> <p dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-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="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div></div></div></div><div \
dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_extra m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="m_-868909631815348002m_-360263660997792686gmail-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&#39;s favorite non-Smalltalk dynamic language.</div></div></div></div><div \
dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_extra m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div><blockquote \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-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 m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">tim \
Rowledge &lt;<a href="mailto:tim@rowledge.org" \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" \
target="_blank">tim@rowledge.org</a>&gt; schrieb am Mi., 22. März 2017, 21:40:<br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div><blockquote \
class="gmail_quote m_-868909631815348002m_-360263660997792686gmail-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="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 <br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 &gt; On 21-03-2017, at 4:53 PM, Javier Pimás &lt;<a \
href="mailto:elpochodelagente@gmail.com" \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" \
target="_blank">elpochodelagente@gmail.com</a>&gt; wrote:<br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 &gt;<br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 &gt; Hi everybody! While measuring performance I usually face the problem of \
assessing performance.<br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 <br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 Have you tried the benchmarks package - CogBenchmarks - included in the <a \
href="http://source.squeak.org/VMMaker" rel="noreferrer" \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" \
target="_blank">source.squeak.org/VMMaker</a> repository?<br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 <br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 tim<br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
                
--<br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 tim Rowledge; <a href="mailto:tim@rowledge.org" \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" \
target="_blank">tim@rowledge.org</a>; <a href="http://www.rowledge.org/tim" \
rel="noreferrer" class="m_-868909631815348002m_-360263660997792686gmail-m_-41600634374 \
24489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg" \
target="_blank">http://www.rowledge.org/tim</a><br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 Strange OpCodes: BOMB: Burn Out Memory Banks<br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 <br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 <br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432m_-5688514755156296794gmail_msg \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">
 </blockquote></div>
<br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></blockquote></div></div></div><div \
dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="gmail_extra m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br \
clear="all" class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div>-- \
<br class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760m_5995572859454461432gmail_signature \
m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
dir="ltr" class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><span \
style="font-size:small;border-collapse:separate" \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"><div \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">_,,,^..^,,,_<br \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg"></div><div \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933m_5982291431031513760gmail_msg">best, \
Eliot</div></span></div></div></div> \
</div></div></blockquote></div></div></div></div> <br></blockquote></div><br><br \
clear="all"><span class="m_-868909631815348002HOEnZb"><font \
color="#888888"><div><br></div>-- <br><div \
class="m_-868909631815348002m_-360263660997792686gmail-m_-4160063437424489933gmail_signature">John \
Dougan<br><a href="mailto:jdougan@acm.org" target="_blank">jdougan@acm.org</a></div> \
</font></span></div></div><span class="m_-868909631815348002HOEnZb"><font \
color="#888888"> <br></font></span></blockquote></div><span \
class="m_-868909631815348002HOEnZb"><font color="#888888"><br><br \
clear="all"><div><br></div>-- <br><div \
class="m_-868909631815348002m_-360263660997792686gmail_signature"><div \
dir="ltr"><div><span \
style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, \
Eliot</div></span></div></div></div> </font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div \
class="m_-868909631815348002gmail_signature" data-smartmail="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>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div \
class="gmail_signature" data-smartmail="gmail_signature">John Dougan<br><a \
href="mailto:jdougan@acm.org" target="_blank">jdougan@acm.org</a></div> </div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic