[gambit-list] Gambit-C 4.0 beta 18
Marc Feeley
feeley at iro.umontreal.ca
Tue Sep 19 19:29:52 EDT 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gambit-C 4.0 beta 18 is now available. The source tarball is here:
http://www.iro.umontreal.ca/~gambit/gambc-4.0b18.tar.gz
A prebuilt installation for Microsoft Windows is available here:
http://www.iro.umontreal.ca/~gambit/gambc-4.0b18-win.zip
Just unzip it in C: to get C:\Gambit-C\4.0b18, and then add C:\Gambit-
C\4.0b18\bin to your path.
Here are the highlights of this release:
- Speculative inlining has been improved. This greatly improves
the performance of compiled code
when no declarations are given. The "no declaration" mode
closely conforms to the R5RS
semantics, where all global variables including car, +, etc are
mutable (which is useful for
debugging). Check http://www.iro.umontreal.ca/~gambit/
bench.html for a comparison with Chicken,
MzScheme and Scheme48. It shows that when these systems are put
in an R5RS conformant mode,
Gambit is often an order of magnitude faster. Gambit is also
quite fast in other situations (when
predefined procedures are bound to immutable variables, when
fixnum/flonum specific operations
are used, and in unsafe mode).
- The benchmark suite (misc/bench.tgz) has been updated to support
Bigloo, Chicken, MzScheme and
Scheme48. There is a script to easily generate HTML tables
showing the benchmark results.
- More predefined procedures are now inlined, including some
recursive functions on lists: map, for-each,
assq, and memq.
- Renaming of fixnum and flonum specific functions to the R6RS
name (e.g. fx+ replaces ##fixnum.+, and
fl+ replaces ##flonum.+). The ##fixnum... and ##flonum...
versions are still available in this release
but they will be phased out. In safe mode, which is the
default, the fixnum specific functions now
raise an exception on overflow. There are now "wrapping"
versions which do not raise an exception
on overflow, that is (fxwrap+ (expt 2 28) (expt 2 28)) =>
- -536870912 .
- Added an option to open-tcp-server to listen for connection
requests on a given network interface
(the default is to listen on all network interfaces).
- The polling interval for process ports has been shortened to
improve promptness.
- The speed of memory moving operations, such as substring, has
been improved.
- Fixed a GC bug with tables and added table-copy . Fixed a bug
with char-ready? and peek-char .
Sorry to disappoint, but this release does not include a module
system. That's something I'm still working
on and I did not want to delay this release any further.
Marc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
iD8DBQFFEH1x//V9Zc2T/v4RAtdTAJsFds8HFzpaCLb0C9+kMgeCAO2+KwCeLcQt
2/U7r2tfw2BaX7NKU9rj7ps=
=NI2L
-----END PGP SIGNATURE-----
More information about the Gambit-list
mailing list