simonmarhaskell at gmail.com
Fri Jan 4 11:54:51 EST 2008
Ian Lynagh wrote:
> On Mon, Dec 31, 2007 at 09:14:04AM -0500, Isaac Dupree wrote:
>> I guess boxed types are too risky for efficiency reasons in some parts
>> of the code
> Again, I'd hope that that isn't true for modern GHC, and I personally
> would love to see less unboxed hackery in GHC's sources; I think it
> sends a bad message: that this sort of thing is necessary to get good
It's true that unboxed types aren't necessary to get good performance.
However, much as I hate to say it, they're necessary to *reliably* get good
performance. When I write code that uses unboxed types, I know I never
have to worry about some fragile property being broken when someone tweaks
the code in the future, leading to a performance regression that we
probably won't notice for ever.
When I optimise things, I like them to stay optimised.
Similar problems arise with space leaks. Several times I've profiled GHC
and eliminated a bunch of space leaks, and invariably the leaks come back
again, so now I've given up on fixing all but the really bad ones. One day
I'll add an ASSERT_UNREACHABLE predicate...
More information about the Cvs-ghc