Reduce code size with unboxed unary tuples#188
Reduce code size with unboxed unary tuples#188treeowl wants to merge 1 commit intohaskell-unordered-containers:masterfrom
Conversation
0046161 to
a8b40cb
Compare
Experimentally make most strict and lazy functions share code using unboxed unary tuples. I fear we may find this too expensive, but it's an idea. Needs heavy benchmarking. Addresses haskell-unordered-containers#64
a8b40cb to
5b1218a
Compare
|
This version has a potential efficiency problem for strict operations. If the passed function doesn't inline, we'll actually build a closure for the function with the type we need. That's not great for I realized this evening that if we want to take a walk on the dangerous side, we can probably do it with case f a b of
(# c #) -> ...GHC will "run" The big problem, of course, is that the dangerous version is not remotely supported; if it breaks, we get to keep both pieces. |
|
I'll mark this as a draft, since it's apparently still WIP. |
Experimentally make most strict and lazy functions share code
using unboxed unary tuples. I fear we may find this too expensive,
but it's an idea. Needs heavy benchmarking.
Addresses #64