<div dir="ltr">Hi Ben,<br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 12, 2015 at 8:46 AM, Ben Coman <span dir="ltr">&lt;<a href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.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 class="HOEnZb"><div class="h5">On Wed, Aug 12, 2015 at 11:23 AM, Chris Muller &lt;<a href="mailto:ma.chris.m@gmail.com">ma.chris.m@gmail.com</a>&gt; wrote:<br>
&gt; In the 17 months since Squeak 4.5 was released, a huge development<br>
&gt; effort took place to create the next generation virtual-machine for<br>
&gt; the Squeak / Pharo / Newspeak family of programming systems.  Squeak<br>
&gt; is the modern incarnation of the Smalltalk-80 programming environment<br>
&gt; originally developed at the Xerox PARC.<br>
&gt;<br>
&gt; &quot;Squeak 5&quot; introduces this new VM and associated new memory model,<br>
&gt; collectively referred to as &quot;Spur&quot;.  Presented [1] by Eliot Miranda<br>
&gt; and Clément Béra at the 2015 International Symposium on Memory<br>
&gt; Management, this new VM affords Squeak applications a significant<br>
&gt; boost in performance and memory management.  Among other<br>
&gt; optimizations, the #become operation no longer requires a memory scan.<br>
&gt; Object pinning and ephemerons are also now supported.  The release<br>
&gt; notes [2] provide more details.<br>
&gt;<br>
&gt; The new memory model requires a new image file format.  Although this<br>
&gt; new format results in about a 15% increased memory requirement for the<br>
&gt; same number of 4.x objects, a new segmented heap allows memory to be<br>
&gt; given back to the OS when its no longer needed, a great benefit for<br>
&gt; application servers.<br>
&gt;<br>
&gt; As forward compatibility is as important to the Squeak community as<br>
&gt; backward compatibility, Squeak 5 is delivers an image with identical<br>
&gt; content as the recent 4.6 release.  Although this new Squeak 5 VM<br>
&gt; cannot open images saved under the prior 4.x Cog format, objects and<br>
&gt; code can be easily exported from the 4.x image and then imported into<br>
&gt; Squeak 5.  Applications whose code runs strictly above the Smalltalk<br>
&gt; meta layer will prove remarkably compatible with the new format, most<br>
&gt; applications will require no changes whatsotever.<br>
&gt;<br>
&gt; Squeak 5 is the result of monumental effort by a tiny group of very<br>
&gt; talented people, but its also just the beginning of yet a new effort;<br>
&gt; Spur is just a stepping stone to a more ambitious goals planned over<br>
&gt; the next five years.<br>
<br>
&gt; [1] -- A Partial Read Barrier for Efficient Support of Live<br>
&gt; Object-oriented Programming<br>
&gt; <a href="http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming" rel="noreferrer" target="_blank">http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming</a><br>
&gt; [2] -- Squeak 5 Release Notes<br>
&gt; <a href="http://wiki.squeak.org/squeak/6207" rel="noreferrer" target="_blank">http://wiki.squeak.org/squeak/6207</a><br>
<br>
</div></div>Congratulation guys.<br>
Love figure 4 in the paper. Sub millisecond pause for garbage<br>
collection of GB size images.<br></blockquote><div><br></div><div>Not on your life!  :-).  What we achieve is sub-millisecond pauses for become: in GB sized heaps.  But the point of Spur is that it *doesn&#39;t* do the compaction phase of a GC to implement become:, unlike  the standard VM.  We do achieve millisecond pause times for scavenging (collecting the young generation) in large heaps, but that&#39;s no great shakes.  However, we do have plans to incrementalize global mark-sweep GC, and then the time taken will be amortized into pauses that should indeed be of the order of a millisecond.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
cheers -ben<br></blockquote><div> </div></div><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>