Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a few reference implementation in other language. #42

Open
kchanqvq opened this issue Apr 13, 2019 · 4 comments
Open

Add a few reference implementation in other language. #42

kchanqvq opened this issue Apr 13, 2019 · 4 comments

Comments

@kchanqvq
Copy link

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.

@ecraven
Copy link
Owner

ecraven commented Apr 14, 2019 via email

@dermagen
Copy link

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.

@ecraven
Copy link
Owner

ecraven commented Jul 3, 2024

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

@dermagen
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants