Fork me on GitHub
#joker
<
2019-06-23
>
jcburley02:06:08

Wow — I did a similar analysis, focusing on (free) Lisp implementations’ startup times and memory usage, after discovering the straight Clojure would consume so much VM on my little VPC, running just a small demo program, that the machine wouldn’t continue to serve sufficient IMAP and SMTP connections to keep my email server running.

jcburley02:06:01

I have notes somewhere (posted some perf analysis on my consulting site, http://burleyarch.com, awhile back, but not all this stuff I did) comparing Emacs Lisp, Scheme, Guile, GCL, Clojure, and so on. Wanting to use a Clojure dialect, that led me to ClojureC. Explored that, found and fixed a bug or two, liked what I saw, but in talking with the author about its future (it was really behind the Clojure-version curve), he suggested I look into ClojureScript in combination with the Google v8 engine.

jcburley02:06:01

That seemed a little better, but in the meantime I was also checking out languages to implement a fast Clojure interpreter in, and discovered Go was only about 2x slower starting up a “Hello World” program than C. (Bash does surprisingly well, FWIW, so shells are not, in and of themselves, slow beasts.)

jcburley02:06:10

I was actually considering implementing a Clojure variant in Go, when it occurred to me to search for one — and found Joker! Wish I had more time to work on it, but I’ve been running it for one-shot, lowish-latency-needed scripts on my email server for many months now (maybe a year).

jcburley02:06:27

My current thinking is that its startup time could be substantially improved, but I want to investigate this only after I finish automating wrapping the Go STD for use by joker scripts, since that’s my main blocker for further adoption — after which improving the startup time would probably be at or near the top of the list.

richiardiandrea22:06:30

Thanks for the comments, really nice to see what people are trying to explore. A compiler is a lot of work...I am thinking about it more and more in this period but then the whole "I can I make it sustainable" problem comes up

👍 4
jcburley22:06:38

Please keep me/us in mind as you come up with ideas and such! I'll do the same.

🙏 4
pyrmont03:06:04

FWIW, I think Planck might still be slower but plk is a wrapper script that runs Clojure to support deps.edn: https://github.com/planck-repl/planck/blob/master/README.md

didibus05:06:09

Ya, I tried with planck directly as well, and it was the same timings

👍 4