[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Take some lowhanging fruit to speed up R6RS fixnum operations
From: |
Andreas Rottmann |
Subject: |
Take some lowhanging fruit to speed up R6RS fixnum operations |
Date: |
Wed, 23 Mar 2011 00:20:33 +0100 |
In porting dorodango[0], I have noticed that Guile's R6RS fixnum
operations are quite slow; here's a patch to remedy that a bit. The
patch contains a benchmark for `fxxor', which experiences a performance
improvement of >2 with the patch.
[0] http://home.gna.org/dorodango/
I also used real code to validate the performance impact, namely Göran
Weinholt's ZIP implementation from his industria collection[1]. There
the patch makes for an ~1.7x improvement for uncompressing a 675KiB
(compressed) ZIP file containing text files that yield good compression.
[1] https://code.launchpad.net/~weinholt/scheme-libraries/industria
However, it must be noted that while this patch improves things,
uncompressing the aforementioned ZIP file takes still 42 seconds on my
machine (down from 74 before). I have another patch in the queue to
improve this by making `fixnum?' a VM primitive, but even with that,
performance is not stellar.
- Take some lowhanging fruit to speed up R6RS fixnum operations,
Andreas Rottmann <=
Re: Take some lowhanging fruit to speed up R6RS fixnum operations, Andy Wingo, 2011/03/29