The Self 4.0 Smalltalk System
The Self 4.0 Smalltalk system comprises a translator, written in Self,
which translates Smalltalk code to Self code, and a set of Smalltalk
classes. Most of the Smalltalk classes are based on those included in
GNU Smalltalk 1.1.1. There are `core' classes for collections and
magnitudes, but little else; this is not intended to be an
industrial-strength Smalltalk system.
The Self 4.0 Smalltalk System has been built for several purposes:
-
to provide a freely-available system that may be used to
teach Smalltalk,
-
to hearten Smalltalk programmers to the prospect of learning
Self by demonstrating the linguistic proximity of Self to Smalltalk, and
-
to showcase Self 4.0's adaptive optimization technology.
To that end,
we have compared the performance of our Smalltalk system
relative to ParcPlace ObjectWorks Version 4.1
by measuring the performance of several benchmarks. To allow the Self
adaptively optimizing compiler to analyze the code, each benchmark was
run 20 times, and the best time was used for the comparison.
Below is a description of the benchmarks. Click on the name to get
the source.
-
Diff is an implementation of the file comparison algorithm in
the Unix
diff utility.
-
DeltaBlue is a constraint solver developed by John Maloney for his
dissertation.
-
Richards is
an operating system simulation originially written to test
BCPL compilers by Martin Richards.
Benchmark Performance
(bigger is better)
diff 107%
deltablue chain test 146%
deltablue projection test 217%
richards 274%
Objectworks is a trademark of ParcPlace Systems, Inc.
For more information, see
Self 4.0 Smalltalk Emulator.