Descriptionstrconv: 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%
Patch Set 1 #Patch Set 2 : diff -r 47e7c99fbe87 https://go.googlecode.com/hg/ #Patch Set 3 : diff -r 47e7c99fbe87 https://go.googlecode.com/hg/ #
Total comments: 1
Patch Set 4 : diff -r 47e7c99fbe87 https://go.googlecode.com/hg/ #
Total comments: 2
Patch Set 5 : diff -r 3909e0071e70 https://go.googlecode.com/hg/ #Patch Set 6 : diff -r b90fb8c2bb6f https://go.googlecode.com/hg/ #
MessagesTotal messages: 11
|
||||||||||||||||||||||||||||||||||||||||||||||