Remove special casing of singleton strings, split all strings, Re: Implement `decodeDouble_Int64#` primop
Joachim Breitner
mail at joachim-breitner.de
Wed Sep 17 18:56:43 UTC 2014
Hi,
Am Dienstag, den 16.09.2014, 12:59 +0000 schrieb git at git.haskell.org:
> commit fe9f7e40844802443315ef2238c4cdefda756b62
> Author: Thijs Alkemade <thijsalkemade at gmail.com>
> Date: Tue Sep 16 07:55:34 2014 -0500
>
> Remove special casing of singleton strings, split all strings.
>
> Summary:
> exprIsConApp_maybe now detects string literals and correctly
> splits them. This means case-statemnts on string literals can
> now push the literal into the cases.
if you are curious: This improves the runtime of the binary-trees nofib
benchmark by 6% and reduces the size of the parstof nofib benchmark by
4.6%, although on average, binary sizes are increased by a very small
amount (0.12%). There is a notable increase in allocations in bspt,
cacheprof and gg (>3%).
Details:
http://ghcspeed-nomeata.rhcloud.com/changes/?rev=fe9f7e4084&exe=2&env=1
Am Mittwoch, den 17.09.2014, 15:58 +0000 schrieb git at git.haskell.org:
> commit b62bd5ecf3be421778e4835010b6b334e95c5a56
> Author: Herbert Valerio Riedel <hvr at gnu.org>
> Date: Wed Sep 17 17:54:20 2014 +0200
>
> Implement `decodeDouble_Int64#` primop
>
> The existing `decodeDouble_2Int#` primop is rather inconvenient to use
> (and in fact is not even used by `integer-gmp`) as the mantissa is split
> into 3 components which would actually fit in an `Int64#` value.
>
> However, `decodeDouble_Int64#` is to be used by the new `integer-gmp2`
> re-implementation (see #9281).
>
> Moreover, `decodeDouble_2Int#` performs direct bit-wise operations on the
> IEEE representation which can be replaced by a combination of the
> portable standard C99 `scalbn(3)` and `frexp(3)` functions.
This commit undoes the improvement of binary-trees’s runtime (4.6%
regression), but no other notable changes.
Again, I leave it to the respective commiters to decide if any of this
is worth investigating.
See
http://ghcspeed-nomeata.rhcloud.com/timeline/?exe=2&base=2%2B68&ben=nofib%2Ftime%2Fbinary-trees&env=1&revs=50&equid=on#
for the history of that particular benchmark.
Greetings,
Joachim
--
Joachim Breitner
e-Mail: mail at joachim-breitner.de
Homepage: http://www.joachim-breitner.de
Jabber-ID: nomeata at joachim-breitner.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140917/048a79af/attachment.sig>
More information about the ghc-devs
mailing list