bug#39130: Speed up C Foreign Function Interface
Amirouche <[email protected]>
| Newsgroups | gmane.lisp.guile.bugs |
|---|---|
| Message-ID | <[email protected]> |
I benchmarked Chez Scheme vs. Guile. Guile is 3 to 5 times slower than Chez. I attribute that mostly to C Foreign Function Interface. The application will parse a text file (n-turtle format) and store in an embedded database (wiredtiger). Most the CPU time should be spent during parsing [0], then packing scheme objects into bytevectors [1] and at last C FFI. [0] https://github.com/amirouche/nomunofu/blob/master/nomunofu/index.scm#L13 [1] https://github.com/amirouche/nomunofu/blob/master/nomunofu/okvs/pack.scm#L208 The chez code is in wip-chez branch. The Guile FFI code of that particular application can be improved. Still, I read on IRC that there is some interests to improve C FFI, that is why I fill this issue to be able to keep track of it. One step forward, would be to have C FFI benchmarks that are easy to run with Chez, Guile, and Gambit. Anyone up for the task?