[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Gambit version of SRFI implementation

I put at


some gambit-specific hacks to the new SRFI-27 reference implementation
that boosts performance to about 4 million random reals/second and
3 million random small ints/second on a 1200 MHz Athlon with DDR SDRAM
memory running linux.

Brad Lucier

PS:  I just noticed that dynamically loaded files in Gambit-C 3.0 for linux
are compiled by default with *no* optimization.  Ugh.  I suggest that
before configuring Gambit-C 3.0 one change lines 342, 343, and 349,
respectively, of lib/gambit.h to

#define ___CC_O "gcc -O1 -fno-strict-aliasing -fschedule-insns2 -fomit-frame-pointer -c \$(CC_O_ARGS) -D___SINGLE_HOST"
#define ___CC_O_SH "gcc -fpic -O1 -fno-strict-aliasing -fschedule-insns2 -fomit-frame-pointer -c \$(CC_O_SH_ARGS) -D___SINGLE_HOST"
#define ___CC_CMD "gcc -fPIC -O1 -fno-strict-aliasing -fschedule-insns2 -fomit-frame-pointer -c -D___DYNAMIC -D___SINGLE_HOST -o %s.o %s.c"

The -fno-strict-aliasing is required for correctness when using gcc-3.0 or
higher (and is accepted by 2.95.*, for which it is the default).