r7rs-benchmarks icon indicating copy to clipboard operation
r7rs-benchmarks copied to clipboard

Add a few reference implementation in other language.

Open kchanqvq opened this issue 6 years ago • 5 comments

Well, I know this might be off-topic, but I really want to see the comparison of some ((Schemes (like chez)) who claim to have comparable performance with static-compiled language like c) with c. I did some unscientific benchmark and chez is slower of 2x ~ 10x, racket is of course even slower.. but they are unscientific. I've seen on Reddit and StackOverflow that people want some benchmark between scheme and c. Adding just c implementations for them of course require works, but not so much. If this is considered helpful maybe I'll start translating some of the benchmarks into c.

kchanqvq avatar Apr 13 '19 18:04 kchanqvq

Well, I know this might be off-topic, but I really want to see the comparison of some ((Schemes (like chez)) who claim to have comparable performance with static-compiled language like c) with c. I did some unscientific benchmark and chez is slower of 2x ~ 10x, racket is of course even slower.. but they are unscientific. I've seen on Reddit and StackOverflow that people want some benchmark between scheme and c. Adding just c implementations for them of course require works, but not so much. If this is considered helpful maybe I'll start translating some of the benchmarks into c.

This is definitely not anything I consider urgent or would do myself, however if you provide portable implementations in C, I'll gladly add them to the benchmarks ;)

ecraven avatar Apr 14 '19 06:04 ecraven

Thanks for a very useful benchmark collection. I would like to suggest adding yet another implementation to the list, #F. It is a Scheme->C compiler with R7RS-compatible runtime/library (LibL), and in my tests it can run to completion 53 out of 57 benchmarks with mid-range performance scores. If you are interested, I can help with the necessary wrapping.

dermagen avatar Sep 27 '19 23:09 dermagen

I can try to add it, but it would need to be packaged for archlinux

ecraven avatar Jul 03 '24 08:07 ecraven

I will work on this, thanks.

In the meanwhile, may I ask you to add my interpreter, Skint, to the benchmarks? It runs all non-bignum tests, and performs quite well for a simple interpreter, especially on fp benchmarks.

It does not have archlinux package yet, but it is quite easy to build from github:

git clone https://github.com/false-schemers/skint.git
cd skint
make
make test
sudo make install

I have included the prelude and postlude files in the /misc subdirectory; changes to the bench script are straightforward:

-146,0 +146,1 @@
+    SKINT=${SKINT:-"skint"}

@@ -200,0 +201,1 @@
+  skint            for Skint

@@ -904,0 +906,14 @@
+
+# -----------------------------------------------------------------------------
+# Definitions specific to Skint
+
+skint_comp ()
+{
+    :
+}
+
+skint_exec ()
+{
+    time "${SKINT}" "$1" < "$2"
+}
+

@@ -1328,0 +1344,10 @@
+        skint)  NAME='Skint'
+                COMP=skint_comp
+                EXEC=skint_exec
+                COMPOPTS=""
+                EXTENSION="scm"
+                EXTENSIONCOMP="scm"
+                COMPCOMMANDS=""
+                EXECCOMMANDS=""
+                ;;
+

Thanks! -S

dermagen avatar Jul 28 '24 23:07 dermagen