GNU bug report logs - #39130
Speed up C Foreign Function Interface

Previous Next

Package: guile;

Reported by: Amirouche <amirouche <at> hyper.dev>

Date: Tue, 14 Jan 2020 12:16:01 UTC

Severity: normal

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Amirouche <amirouche <at> hyper.dev>
To: bug-guile <at> gnu.org
Subject: Speed up C Foreign Function Interface
Date: Tue, 14 Jan 2020 12:15:06 +0000
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?




This bug report was last modified 5 years and 118 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.