On Wed, 23 Oct 2013 08:57:55 +0000, Simon Peyton-Jones <[email protected]> writes:
> Gergely > > Edward has it right. Functional programs allocate a lot of > intermediate stuff. ((a+b)*c-d) allocates two intermediate Integers > and discards them pretty soon afterwards. GHC's code generator and > garbage collector are good at both allocation and gc of young dead > objects. Thanks for the confirmation. > Using malloc/free would require a finaliser-style interface, which is > significantly less efficient. That might matter a lot for an > arithmetic-intensive program, and not at all for one where Integer > arithmetic was incidental. Do we have benchmarks for this in nofib? If I do some mockups, can I believe what (specific tests from) nofib says? Or does researching for a replacement first includes the task of writing a benchmark suite? > However, you could perfectly well imagine a third package (alongside > integer-gmp and integer-simpl), let's call it integer-gmp-malloc. Actually it's not clear to me, how would you implement the non-malloc integer-gmp as a package? Can haskell packages integrate with the GC that deep? > See also http://ghc.haskell.org/trac/ghc/wiki/ReplacingGMPNotes > > Please do record the information or insights you get on a GHC wiki > page! Yes, I've definitely read through those kind of wiki articles. I try to only ask stuff that is not documented there. If I figure out anything in addition, I'll document, thanks. Gergely _______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
