home | SVG

OO Richards Bench

This object-oriented variant of the Richards benchmark provides for a more straightforward comparison between OO languages.

Tcb and Packet objects provide accessor methods, procedures or properties, but no direct access to private instance variables. Each task is represented by an object, with local registers V1 and V2, and a single method which implements the task function.

Look at Richards Bench for a different style of implementation.

implementation seconds
MS C#.NET #880.467
XDS Oberon 2 #180.586
Sun Server Java #270.653
Sun Java #870.802
Mono C# #300.818
Nice #741.078
VW Smalltalk #121.361
Sun Java KVM #9016.050
OOVM Smalltalk #1317.709
Psyco Python #9946.686
Ruby #28100.925
Python #11107.665

Measurement

Timing begins after parsing the command-line and ends before exit - see the source code. For each start value (10,000 to 1,000,000), the test is repeated, until the mean of 5 timings is within a 95% confidence interval.
(Pentium 4 2GHz, MS Windows XP.)

Acknowledgements

Martin Richards kindly granted permission to distribute versions of the benchmark. Kasper Verdich Lund provided suggestions on OOVM Smalltalk.

Creative Commons License