• Rémy Oudompheng's avatar
    strconv: faster FormatFloat(x, *, -1, 64) using Grisu3 algorithm. · 0575cd9d
    Rémy Oudompheng authored
    The implementation is similar to the one from the double-conversion
    library used in the Chrome V8 engine.
    
                                old ns/op   new ns/op  speedup
    BenchmarkAppendFloatDecimal      591         480      1.2x
    BenchmarkAppendFloat            2956         486      6.1x
    BenchmarkAppendFloatExp        10622         503     21.1x
    BenchmarkAppendFloatNegExp     40343         483     83.5x
    BenchmarkAppendFloatBig         2798         664      4.2x
    
    See F. Loitsch, ``Printing Floating-Point Numbers Quickly and
    Accurately with Integers'', Proceedings of the ACM, 2010.
    
    R=rsc
    CC=golang-dev, remy
    https://golang.org/cl/5502079
    0575cd9d
ftoa.go 9.81 KB