A more clever representation of Integer could unbox numbers in big range.
But that would require some runtime support, I think.

        -- Lennart

On Jul 31, 2006, at 11:19 , Duncan Coutts wrote:

On Mon, 2006-07-31 at 14:32 +0400, Serge D. Mechveliani wrote:
Dear GHC developers,

Long ago you wrote that GHC has made  Integer  only about  3/2  times
slower than  Int.
I tested this once, and then all this time I have been relying on this.
Now, with
          ghc-6.4.1  compiled for Linux - i386-unknown,
                     running under Debian Linux, Intel Pentium III
                     under  ghc -O,

I have an occasion to repeat the test on a certain simple program for
processing lists of length 7 over  Integer.

And  Integer  shows  2.55  times slower  (11.2 sec against 4.4).

Showld we somehow agree that
cost(Integer)/cost(Int) in GHC is about 2.55

or maybe we are missing something?

The cost difference is varies with the context. In the case that the
Int/Integer is always boxed then we might expect a constant factor
between Int and Integer (at least for numbers that fit in an Int).

However because Int is often unboxable where as Integer is never
unboxable there are certainly programs where the factor is much much
greater than x2 or x3. If the Int can be unboxed into an Int# then the
operations are very quick indeed as they are simple machine primitives.

As an extreme example, I just tried with one of my current simple
ByteString benchmarks. If we swap Int for Integer in the inner loop of
ByteString.map then the time to evaluate (map f . map g) s increases by
37 times!

So actually that's not to say that Integer is slow, but rather that in
many cases GHC is really pretty good at optimising right down to the low
level details. The representation of Integer prevents many of these
optimisations.

So as I said, the ratio really does depend on what you're doing.

Duncan

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to