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

Gambit version of SRFI implementation

This page is part of the web mail archives of SRFI 27 from before July 7th, 2015. The new archives for SRFI 27 contain all messages, not just those from before July 7th, 2015.

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).