The current Read instances for Float and Double look pretty iffy from an
efficiency standpoint. Going through Rational is exceedingly weird: we have
absolutely nothing to gain by dividing out the GCD, as far as I can tell.
Then, in doing so, we read the digits of the integral part to form an
Integer. This looks like a detour, and particularly bad when it has many
digits. Wouldn't it be better to normalize the decimal representation first
in some fashion (e.g., to 0.xxxxxxexxx) and go from there? Probably less
importantly, is there some way to avoid converting the mantissa to an
Integer at all? The low digits may not end up making any difference
whatsoever.
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to