[GHC] #10944: powModInteger slower than computing pow and mod separately
GHC
ghc-devs at haskell.org
Wed Oct 7 21:23:13 UTC 2015
#10944: powModInteger slower than computing pow and mod separately
-------------------------------------+-------------------------------------
Reporter: iago | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Core | Version: 7.8.3
Libraries |
Keywords: integer-gmp | Operating System: Linux
Architecture: x86_64 | Type of failure: Runtime
(amd64) | performance bug
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): |
-------------------------------------+-------------------------------------
{{{#!hs
module Foo where
import GHC.Integer.GMP.Internals ( powModInteger )
test1, test2 :: Integer -> Integer -> Int -> Integer
test1 a b c = (a ^ b) `mod` (2^c)
test2 a b c = powModInteger a b (2^c)
}}}
I was expecting `test2` to perform better than `test1`, but I'm getting
quite the opposite: the use of `powModInteger` seems to be several orders
of magnitude slower.
I have tested this with GHC 7.10.2 and integer-gmp 1.0.0.0 too, with
similar results.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10944>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list