#8647: Reduce allocations in `integer-gmp` --------------------------------------------+------------------------------ Reporter: hvr | Owner: Type: task | Status: new Priority: normal | Milestone: 7.8.1 Component: libraries (other) | Version: 7.6.3 Resolution: | Keywords: integer- Operating System: Unknown/Multiple | gmp Type of failure: Runtime performance bug | Architecture: x86_64 Test Case: | (amd64) Blocking: | Difficulty: Unknown | Blocked By: | Related Tickets: #8638 --------------------------------------------+------------------------------ Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"baeeef7af6e37441d1fa28f4197a8cb878a9ef0b/integer-gmp"]: {{{ #!CommitTicketReference repository="integer-gmp" revision="baeeef7af6e37441d1fa28f4197a8cb878a9ef0b" Add new `mpz_mul_si`-based primop (re #8647) This primop helps reducing allocation by being able to pass one `S#` argument directly to the GMP multiplication primitive without needing to promote (and thus allocate a `ByteArray#` as well) the `J#` first. This benefits a few nofib benchmarks wrt to allocations (having most impact on `kahan` resulting in about 10% less allocations) Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org> }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8647#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler