Changes between Version 51 and Version 52 of ReplacingGMPNotes


Ignore:
Timestamp:
Apr 10, 2009 12:34:19 PM (5 years ago)
Author:
igloo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ReplacingGMPNotes

    v51 v52  
    66 
    77On this page: 
     8 1. [wiki:ReplacingGMPNotes#CurrentStatus Current Status] 
    89 1. [wiki:ReplacingGMPNotes#Introduction Introduction] 
    910 1. [wiki:ReplacingGMPNotes#ReasonsforReplacingGMPastheBignumlibrary Reasons for Replacing GMP as the Bignum library] 
     
    2122 * [wiki:ReplacingGMPNotes/IntegerFunctionDesign Integer Function Design (C library)] 
    2223 * [wiki:ReplacingGMPNotes/ReplacementLibraryIntegration Replacement Library Integration] 
     24 
     25=== Current Status === 
     26 
     27The `Integer` type is now provided by a separate `integer` package, which provides an API that hides the implementation details. By default this is `integer-gmp`. To change it, set `INTEGER_LIBRARY=integer-foo` in `mk/build.mk`. 
     28 
     29There is an alternative implementation [http://darcs.haskell.org/libraries/integer-simple/ integer-simple], although as we don't regularly test builds with it you may need to make a few tweaks to get it to work. `integer-simple` is intended to be easily understood, entirely Haskell code that is ''fast enough''. For serious number crunching one of the highly tuned big integer libraries will be needed, but hopefully `integer-simple` will suffice for normal use. In order to test this, we need to do some testing, e.g. nofib runs. 
     30 
     31It would also be interesting to separate out the `J#/S#` wrapper from the GMP `Integer`, and to compare all 4 combinations: `GMP`, `GMP+J#/S#`, `simple`, `simple+S#/J#`. 
     32 
     33If `integer-simple` is indeed fast enough, then I think that it solves all of the problems with `integer-gmp`. We would also have packages like `gmp` for those who want to use the fast C implementations. 
    2334 
    2435=== Introduction ===