Send Beginners mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."
Today's Topics:
1. Re: will GHC optimize pattern-matching on integers?
(Patrick Pelletier)
----------------------------------------------------------------------
Message: 1
Date: Thu, 13 Apr 2017 19:11:31 -0700
From: Patrick Pelletier <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
beginner-level topics related to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] will GHC optimize pattern-matching on
integers?
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Thanks! That's exactly what I was hoping.
--Patrick
On 4/13/17 1:41 AM, Rahul Muttineni wrote:
> 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
> <[email protected] <mailto:[email protected]>> 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
> [email protected] <mailto:[email protected]>
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> <http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners>
>
>
>
>
> --
> Rahul Muttineni
>
>
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.haskell.org/pipermail/beginners/attachments/20170413/22ef70f7/attachment-0001.html>
------------------------------
Subject: Digest Footer
_______________________________________________
Beginners mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
------------------------------
End of Beginners Digest, Vol 106, Issue 6
*****************************************