• Rémy Oudompheng's avatar
    strconv: extend Grisu3 algorithm to float32. · d6147d81
    Rémy Oudompheng authored
    Also improve extfloat.Normalize to obtain a modest performance
    gain in parsing, and add a shortcut path for exact integers.
    
    benchmark                              old ns/op    new ns/op    delta
    BenchmarkAtof64Decimal                        73           73   -0.54%
    BenchmarkAtof64Float                          91           91   -0.54%
    BenchmarkAtof64FloatExp                      198          180   -9.09%
    BenchmarkAtof64Big                           307          308   +0.33%
    
    BenchmarkAtof32Decimal                        72           72   +0.42%
    BenchmarkAtof32Float                          83           83   -0.72%
    BenchmarkAtof32FloatExp                      212          186  -12.26%
    BenchmarkAtof32Random                        262          250   -4.58%
    
    BenchmarkAppendFloatDecimal                  474          305  -35.65%
    BenchmarkAppendFloat                         497          489   -1.61%
    BenchmarkAppendFloatExp                      493          483   -2.03%
    BenchmarkAppendFloatNegExp                   481          481   +0.00%
    BenchmarkAppendFloatBig                      667          652   -2.25%
    
    BenchmarkAppendFloat32Integer                338          307   -9.17%
    BenchmarkAppendFloat32ExactFraction          364          439  +20.60%
    BenchmarkAppendFloat32Point                 1299          490  -62.28%
    BenchmarkAppendFloat32Exp                   2593          489  -81.14%
    BenchmarkAppendFloat32NegExp                5116          481  -90.60%
    
    R=rsc, r
    CC=golang-dev, remy
    https://golang.org/cl/6303087
    d6147d81
Name
Last commit
Last update
api Loading commit data...
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...