[CM] Performance of S7

Massimiliano Gubinelli m.gubinelli at gmail.com
Wed Dec 30 04:12:07 PST 2020

Dear all,
 I wanted to ask about the performance of S7 and how to understand possible causes of slowness. My use case is the following. I wanted to experiment in replacing the current scheme interpreter in GNU TeXmacs (www.texmacs.org) with S7. Currently we are using Guile 1.8. The program is an interactive editor for structured documents where a large part of the GUI code is written in scheme (think of a graphical Emacs). I've managed to have an (almost) working version of TeXmacs with S7 where I can work a bit with the editor. Not all the functionalities are working yet but enough to make some speed comparision and I noticed that S7 is much slower than Guile 1.8 for our use-case. I didn't performed any hard timing but my sensation is that slowdown is 2-3x. This surprised me because in other very shallow tests, like running (fib 40) S7 is ~8x faster than Guile.

What I noted is that S7 is slower than Guile 1.8 in loading code (we have ~100.000 lines of scheme to load at startup) and also in running recursive algorithms on trees which require hash-table lookups on symbols (we have a small compiler for dynamic menus which has to run quite fast at every keypress). 

* Do you have any suggestions on which is going on and if there are directions where to look for speed improvements? 

* Is this relative performance with Guile 1.8 on tree/symbol related tasks to be expected? 

* Do somebody has some experience in comparing performances of S7 with other scheme interpreters in real-world use-cases?

S7 is a very cool project. I was really hoping to be able to use it in TeXmacs.

Best regards,
Massimiliano Gubinelli

More information about the Cmdist mailing list