Difference between revisions of "Performance/Floating point"
m (+infobox) |
|||
Line 1: | Line 1: | ||
+ | {{Performance infobox}} |
||
== Don't use <tt>Float</tt> == |
== Don't use <tt>Float</tt> == |
||
Revision as of 01:32, 12 January 2006
Haskell Performance Resource
Constructs: Techniques: |
Don't use Float
Floats (probably 32-bits) are almost always a bad idea, anyway, unless you Really Know What You Are Doing. Use Doubles. There's rarely a speed disadvantage—modern machines will use the same floating-point unit for both. With Doubles, you are much less likely to hang yourself with numerical errors.
One time when Float might be a good idea is if you have a lot of them, say a giant array of Floats. An unboxed array of Float (see Performance:Arrays) takes up half the space in the heap compared to an unboxed array of Double. However, boxed Floats might take up less space than boxed Doubles if you are on a 32-bit machine (on a 64-bit machine, a Float still takes up 64 bits).