[Top][All Lists]

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

[Chicken-announce] [ANN] Numbers 3.0 released

From: Peter Bex
Subject: [Chicken-announce] [ANN] Numbers 3.0 released
Date: Sat, 4 Oct 2014 21:23:26 +0200
User-agent: Mutt/

Dear CHICKEN users,

I just released version 3.0 of the "numbers" egg.

As some of you may know I've been busy these past few weeks on making
this egg more suitable for a possible integration into the core system.
Whether that will become reality remains to be seen, but the big
refactoring I performed to make it more compatible with the way things
work in core meant I had to take a closer look at the egg.

The performance of various operations (notably number reading and
writing, division and ratnum operations) has been radically improved,
and is now competitive with many common Scheme implementations which
are not aggressively optimised for number-crunching.

If you're currently relying on numbers in a performance-critical way,
I would really appreciate if you could try out numbers 3.0, and let me
know how the new version performs in your application.

Beware of breakage, as is only to be expected with such a huge change.
There is one backwards incompatible change that I know of: bitwise
operations do not accept inexact integral numbers anymore.  This means
you _must_ pass a fixnum or a bignum (a simple workaround is to wrap
every call in a inexact->exact).  If you find any other breakage, let
me know and I'll fix it.

Now, a lot remains to be done to get the full numeric tower as performant
as, say, Gambit or Racket.  Without integration into core, some options
for optimisation are simply inaccessible to us (most notably type
specializations to inline C calls).  Unfortunately, integration into
core will most likely imply a (slight?) performance degradation for
code that only uses fixnums or flonums.  The exact impact can only be
measured by actually trying it out, and testing once everything has
been done.  For those who are interested in the details, see the NOTES
and TODO files in the numbers repository.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]