Hi Patrick, Yes, this will optimise to "a nice balanced tree of decisions with dense jump tables in the leafs" [1]. You can check out the comments in [1] for more details. [1] https://github.com/ghc/ghc/blob/master/compiler/cmm/CmmSwitch.hs#L37 Hope that helps, Rahul On Thu, Apr 13, 2017 at 3:55 AM, Patrick Pelletier <code@funwithsoftware.org
wrote:
Suppose I am doing a pattern match on a large number of consecutive (or mostly-consecutive) integers:
foo 0 = something foo 1 = somethingElse ... foo 1000 = anotherThing
Will GHC optimize this to a table lookup, or is it going to test each integer in turn? Am I better off using a Vector or Map instead of pattern matching?
Thanks,
--Patrick
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
-- Rahul Muttineni