SOMns - A Simple Newspeak Implementation

104 views
Skip to first unread message

Stefan Marr

unread,
May 26, 2015, 6:23:59 PM5/26/15
to newspeak...@googlegroups.com
Hi:

Two weeks ago I started implementing SOMns, a Newspeak based on SOM, which is a little Smalltalk with a file-based class library.
It is now at a point were it passes a number of basic tests [1] and starts to be functional, i.e., a ‘Hello World’ works :) Of course there is still a lot to do to make it useful, but it is a start.

More details and the implementation can be found here:
https://github.com/smarr/SOMns#somns---a-simple-newspeak-implementation

Since the implementation is derived from TruffleSOM, performance shouldn’t be so bad eventually. For TruffleSOM, I was seeing results in the range of 1x-4x of Java HotSpot performance for a range of benchmarks. While I haven’t looked into getting the benchmarks running yet, some info on them and their performance on the CogVM is available here [2].

Perhaps some of you might find it interesting.

The overall goal isn’t so much compatibility with the Squeak-based Newspeak as it is to have a small testbed for research. That’s why I also chose the SOM class library as a start, which is much smaller and more manageable than something like Squeak.

And before I forget it, thanks again for answering my questions!

Best regards
Stefan

[1] https://github.com/smarr/SOMns-corelib/tree/master/TestSuite/BasicInterpreterTests
[2] http://forum.world.st/Some-Performance-Numbers-Java-vs-CogVM-vs-SOM-td4817800.html
--
Stefan Marr
Johannes Kepler Universität Linz
http://stefan-marr.de/research/



Gilad Bracha

unread,
May 26, 2015, 7:14:39 PM5/26/15
to newspeak...@googlegroups.com
Cool! I look forward to hearing more. How far do you plan to take this? For example, do you see this supporting on-the-fly code changes? 

Stefan Marr

unread,
May 26, 2015, 7:31:31 PM5/26/15
to newspeak...@googlegroups.com
Hi Gilad:

> On 27 May 2015, at 01:14, Gilad Bracha <gbr...@gmail.com> wrote:
>
> Cool! I look forward to hearing more. How far do you plan to take this? For example, do you see this supporting on-the-fly code changes?

For my experiments, I don’t think I’ll need dynamic code updates. And the mirror library will probably only provide the bare minimum.

Most relevant for me is to have reasonable performance.
The plan is to investigate different combinations of concurrency models.

Starting with a variation on the communicating event-loop model (http://soft.vub.ac.be/Publications/2015/vub-soft-phd-15-01.pdf) and as part of the vision behind this work: ‘Towards Composable Concurrency Abstractions’ http://arxiv.org/abs/1406.3485

Best regards
Stefan

Gilad Bracha

unread,
May 26, 2015, 7:38:00 PM5/26/15
to newspeak...@googlegroups.com
Yes, both the performance and actor story are very interesting too. 

Stefan Marr

unread,
Jun 15, 2015, 5:54:03 PM6/15/15
to newspeak...@googlegroups.com
Hi:

Just wanted to give a brief update on SOMns.
It is now at a point where I’d consider it feature-compete for my purposes.

Compared to Java, SOMns’ peak performance is now on average only 1.9x slower, over a range of 15 benchmarks.
More details can be found in a brief report [1].

From a language completeness perspective, it is complete enough to run Minitest [2] and its own test suite [3].
Minutest remained mostly unmodified. The changes I had to do were related to collections and SOMns’ very minimal mirror system. I hope that’s a good indication for having gotten the basics of Newspeak right.

Best regards
Stefan

[1] http://stefan-marr.de/downloads/truffle/SOMns-vs-Java.html
[2] https://github.com/smarr/SOMns-corelib/blob/master/TestSuite/Minitest.som
[3] https://github.com/smarr/SOMns-corelib/blob/master/TestSuite/MinitestTests.som

Gilad Bracha

unread,
Jun 15, 2015, 5:57:20 PM6/15/15
to newspeak...@googlegroups.com
Terrific. Will take a look soon. If that level of performance is sustainable, that is awesome.
Reply all
Reply to author
Forward
0 new messages