Squeak 5 is out! 12 August, 2015

From: Chris Muller,

In the 17 months since Squeak 4.5 was released, a huge development effort took place to create the next generation virtual-machine for the Squeak / Pharo / Newspeak family of programming systems. Squeak is the modern incarnation of the Smalltalk-80 programming environment originally developed at the Xerox PARC.

“Squeak 5” introduces this new VM and associated new memory model, collectively referred to as “Spur”. Presented [1] by Eliot Miranda and Clément Béra at the 2015 International Symposium on Memory Management, this new VM affords Squeak applications a significant boost in performance and memory management. Among other optimizations, the #become operation no longer requires a memory scan.

Object pinning and ephemerons are also now supported. The release notes [2] provide more details.

The new memory model requires a new image file format. Although this new format results in about a 15% increased memory requirement for the same number of 4.x objects, a new segmented heap allows memory to be given back to the OS when its no longer needed, a great benefit for application servers.

As forward compatibility is as important to the Squeak community as backward compatibility, Squeak 5 is delivers an image with identical content as the recent 4.6 release. Although this new Squeak 5 VM cannot open images saved under the prior 4.x Cog format, objects and code can be easily exported from the 4.x image and then imported into Squeak 5. Applications whose code runs strictly above the Smalltalk meta layer will prove remarkably compatible with the new format, most applications will require no changes whatsotever.

Squeak 5 is the result of monumental effort by a tiny group of very talented people, but its also just the beginning of yet a new effort; Spur is just a stepping stone to a more ambitious goals planned over the next five years.

[1] — A Partial Read Barrier for Efficient Support of Live Object-oriented Programming http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming[2] — Squeak 5 Release Notes

http://wiki.squeak.org/squeak/6207