go/src/pkg/strconv
Rémy Oudompheng d6147d8102 strconv: extend Grisu3 algorithm to float32.
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
2012-07-10 07:44:23 +02:00
..
atob.go strconv: include package and function name in error strings 2011-12-13 10:42:05 -08:00
atob_test.go strconv: new API 2011-12-05 15:48:21 -05:00
atof.go strconv: extend fast parsing algorithm to ParseFloat(s, 32) 2012-06-13 23:52:00 +02:00
atof_test.go strconv: extend fast parsing algorithm to ParseFloat(s, 32) 2012-06-13 23:52:00 +02:00
atoi.go strconv: include package and function name in error strings 2011-12-13 10:42:05 -08:00
atoi_test.go strconv: include package and function name in error strings 2011-12-13 10:42:05 -08:00
decimal.go strconv: extend Grisu3 algorithm to float32. 2012-07-10 07:44:23 +02:00
decimal_test.go strconv: make Ftoa faster 2011-11-15 12:17:25 -05:00
extfloat.go strconv: extend Grisu3 algorithm to float32. 2012-07-10 07:44:23 +02:00
fp_test.go doc: fix comments referring to removed API funcs 2012-01-14 10:59:45 -08:00
ftoa.go strconv: extend Grisu3 algorithm to float32. 2012-07-10 07:44:23 +02:00
ftoa_test.go strconv: extend Grisu3 algorithm to float32. 2012-07-10 07:44:23 +02:00
internal_test.go strconv: make Ftoa faster 2011-11-15 12:17:25 -05:00
isprint.go strconv: remove dependence on unicode and strings 2012-03-07 13:50:31 +11:00
itoa.go strconv: better documentation for FormatInt, FormatUint. 2012-05-24 16:24:39 -07:00
itoa_test.go strconv: make malloc tests more reliable 2012-04-14 21:34:08 +10:00
makeisprint.go strconv: remove dependence on unicode and strings 2012-03-07 13:50:31 +11:00
quote.go strconv: remove dependence on unicode and strings 2012-03-07 13:50:31 +11:00
quote_test.go strconv: remove dependence on unicode and strings 2012-03-07 13:50:31 +11:00
strconv_test.go strconv: 2x-4x speed improvement for atof64. 2012-04-21 13:56:51 +02:00
testfp.txt