Our great sponsors
-
are-we-fast-yet
Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Smalltalk
Parser, code model, interpreter and navigable browser for the original Xerox Smalltalk-80 v2 sources and virtual image file (by rochus-keller)
Did you have a look at the links? I even posted the comiled assemblies (http://software.rochus-keller.ch/Are-we-fast-yet_CLI_2021-08-28.zip) in case you want to reproduce. Just run "mono Main.exe" or "dotnet Main.exe". The results are printed to the command line. In case you want to compile everything yourself, you have to build OBXMC from https://github.com/rochus-keller/Oberon, which then is run on the https://github.com/rochus-keller/Oberon/tree/master/testcases/Are-we-fast-yet project, which generates the .il files included in the ZIP, which then are compiled using ILASM; the result are the DLLs (i.e. .NET assemblies) included in the ZIP.
But my measurements based on the Are-we-fast-yet benchmark suite (see https://github.com/smarr/are-we-fast-yet and https://github.com/rochus-keller/Oberon/tree/master/testcases/Are-we-fast-yet) show a completely different picture. Here the difference between Mono and CoreCLR (both versions 3 and 5) is within +/- 10%, so nothing earth shattering.
As a developer I'm interested in performance comparisons related to real-world applications. It's nice to know that a technology might perform stunningly on some isolated number crunching problems, but that usualy doesn't relate to my work (it might be relevant if you implement coin mining or the like). Ideally, one could compare entire applications; I did this once with a Smalltalk VM (https://github.com/rochus-keller/Smalltalk), but it's a lot of work. So you need benchmark suites that represent a good compromise between implementation effort and meaningfulness. From my point of view, this is fulfilled with Are-we-fast-yet suite. See e.g. https://stefan-marr.de/papers/dls-marr-et-al-cross-language-compiler-benchmarking-are-we-fast-yet/.
Related posts
- A C++ version of the Are-we-fast-yet benchmark suite
- The Bitter Truth: Python 3.11 vs. Cython vs. C++ Performance for Simulations
- Comparing Language Implementations with Objects, Closures, and Arrays
- Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays
- Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays