diff --git a/Makefile b/Makefile index 6c0aa78..76c6bd6 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ lint: test: # run all unit-tests, ignore fuzz tests - @go test -tags='!fuzz' -v -race -failfast -coverpkg=./... -coverprofile=coverage.out -covermode=atomic ./... + @go test -tags='!fuzz' -race -failfast -coverpkg=./... -coverprofile=coverage.out -covermode=atomic ./... @go tool cover -html=coverage.out fuzz: @@ -17,7 +17,7 @@ fuzz-all: @sh scripts/fuzz-all.sh $(fuzzTime) bench: - @go test -bench=BenchmarkUnmarshalText -benchmem -benchmem -memprofile=mem.out -cpuprofile=cpu.out -run NONE + @go test -bench=BenchmarkMarshalJSON -benchmem -benchmem -memprofile=mem.out -cpuprofile=cpu.out -run NONE # https://stackoverflow.com/questions/6273608/how-to-pass-argument-to-makefile-from-command-line %: diff --git a/README.md b/README.md index 6193c75..af33f63 100644 --- a/README.md +++ b/README.md @@ -119,8 +119,8 @@ The `Decimal` type represents a fixed-point decimal number. It consists of three ```go // decimal value = (neg == true ? -1 : 1) * coef * 10^(-prec) type Decimal struct { - neg bool coef bint + neg bool prec uint8 // 0 <= prec <= 19 } @@ -136,14 +136,11 @@ You can notice that `coef` data type is `bint`, which is a custom data type: ```go type bint struct { - // Indicates if the coefficient exceeds 128-bit limit - overflow bool + // For coefficients exceeding u128 + bigInt *big.Int // For coefficients less than 2^128-1 u128 u128 - - // For coefficients exceeding u128 - bigInt *big.Int } ``` diff --git a/benchmarks/Makefile b/benchmarks/Makefile index 5f8dea4..b74f907 100644 --- a/benchmarks/Makefile +++ b/benchmarks/Makefile @@ -1,6 +1,6 @@ bench: - @go test -bench BenchmarkNew -benchmem -memprofile mem.out -cpuprofile cpu.out -run NONE + @go test -bench BenchmarkMarshalJSON -benchmem -memprofile mem.out -cpuprofile cpu.out -run NONE bench-udec: @rm -f bench-udec.txt diff --git a/benchmarks/bench-udec.txt b/benchmarks/bench-udec.txt index af1b16a..f53b86b 100644 --- a/benchmarks/bench-udec.txt +++ b/benchmarks/bench-udec.txt @@ -2,705 +2,705 @@ goos: linux goarch: amd64 pkg: github.com/quagmt/udecimal/benchmarks cpu: Intel(R) Core(TM) i9-14900HX -BenchmarkParse/1234567890123456789.1234567890123456879-32 15049705 73.08 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890123456789.1234567890123456879-32 16008403 71.98 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890123456789.1234567890123456879-32 16335813 74.29 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890123456789.1234567890123456879-32 16634800 71.97 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890123456789.1234567890123456879-32 15029098 72.22 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890123456789.1234567890123456879-32 16361733 71.94 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890123456789.1234567890123456879-32 16593363 72.56 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890123456789.1234567890123456879-32 16364125 72.73 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890123456789.1234567890123456879-32 16575241 73.01 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890123456789.1234567890123456879-32 16118612 72.91 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 150027855 8.413 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 142475493 8.430 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 150464229 8.201 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 149511420 8.084 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 148125471 8.124 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 143723161 8.108 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 142446168 8.003 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 142705846 8.020 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 148308784 7.982 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123-32 143380044 7.976 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 51239892 22.95 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 54230449 23.12 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 48189538 23.28 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 54278097 22.57 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 54703345 22.27 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 54328384 22.24 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 52185733 22.37 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 51210216 22.98 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 52401936 23.07 ns/op 0 B/op 0 allocs/op -BenchmarkParse/123456.123456-32 53557633 23.29 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 59645846 20.63 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 57728584 20.75 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 58929139 20.69 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 54425924 20.72 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 57719546 21.11 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 52754769 20.90 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 56994892 21.45 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 56238829 20.99 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 53539359 22.11 ns/op 0 B/op 0 allocs/op -BenchmarkParse/1234567890-32 57323655 21.02 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 29138433 38.93 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 30237528 39.90 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 30622977 39.91 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 27853386 40.05 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 30417240 40.01 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 30539241 39.96 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 29514998 40.20 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 30921565 40.01 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 30794275 39.96 ns/op 0 B/op 0 allocs/op -BenchmarkParse/0.1234567890123456879-32 30847886 40.69 ns/op 0 B/op 0 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2708601 488.5 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2638434 458.5 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2284830 497.9 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2846456 456.9 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2581435 510.5 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2163190 477.2 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2618770 489.7 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2285816 539.2 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2417275 515.8 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2273252 466.8 ns/op 192 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2379711 492.8 ns/op 216 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 3517964 436.4 ns/op 216 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2629396 529.1 ns/op 216 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2414474 502.4 ns/op 216 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2965462 455.8 ns/op 216 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2990925 478.5 ns/op 216 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2584904 426.8 ns/op 216 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2552749 457.2 ns/op 216 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2597419 516.2 ns/op 216 B/op 6 allocs/op -BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2538217 472.7 ns/op 216 B/op 6 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 13849503 89.73 ns/op 48 B/op 1 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 19047819 98.35 ns/op 48 B/op 1 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 11813472 102.5 ns/op 48 B/op 1 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 11681260 102.1 ns/op 48 B/op 1 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 11860426 111.6 ns/op 48 B/op 1 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 18837151 80.11 ns/op 48 B/op 1 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 13116645 81.88 ns/op 48 B/op 1 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 14224924 92.03 ns/op 48 B/op 1 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 10782748 101.7 ns/op 48 B/op 1 allocs/op -BenchmarkString/1234567890123456789.1234567890123456879-32 13955881 92.18 ns/op 48 B/op 1 allocs/op -BenchmarkString/123-32 65751475 15.27 ns/op 5 B/op 1 allocs/op -BenchmarkString/123-32 96488408 15.08 ns/op 5 B/op 1 allocs/op -BenchmarkString/123-32 73104117 15.05 ns/op 5 B/op 1 allocs/op -BenchmarkString/123-32 84254641 15.36 ns/op 5 B/op 1 allocs/op -BenchmarkString/123-32 83464058 15.05 ns/op 5 B/op 1 allocs/op -BenchmarkString/123-32 89510462 14.97 ns/op 5 B/op 1 allocs/op -BenchmarkString/123-32 82649534 15.83 ns/op 5 B/op 1 allocs/op -BenchmarkString/123-32 77290160 14.78 ns/op 5 B/op 1 allocs/op -BenchmarkString/123-32 82125452 14.70 ns/op 5 B/op 1 allocs/op -BenchmarkString/123-32 76889092 15.10 ns/op 5 B/op 1 allocs/op -BenchmarkString/123456.123456-32 32771466 37.03 ns/op 16 B/op 1 allocs/op -BenchmarkString/123456.123456-32 29515424 38.52 ns/op 16 B/op 1 allocs/op -BenchmarkString/123456.123456-32 37445610 34.45 ns/op 16 B/op 1 allocs/op -BenchmarkString/123456.123456-32 26050011 40.26 ns/op 16 B/op 1 allocs/op -BenchmarkString/123456.123456-32 40186200 39.26 ns/op 16 B/op 1 allocs/op -BenchmarkString/123456.123456-32 26283577 38.29 ns/op 16 B/op 1 allocs/op -BenchmarkString/123456.123456-32 36707728 41.70 ns/op 16 B/op 1 allocs/op -BenchmarkString/123456.123456-32 33658718 37.38 ns/op 16 B/op 1 allocs/op -BenchmarkString/123456.123456-32 40847002 38.00 ns/op 16 B/op 1 allocs/op -BenchmarkString/123456.123456-32 35286619 39.68 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 41116659 32.50 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 36334250 35.76 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 41357862 31.68 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 33359026 30.50 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 32972293 31.17 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 41852550 31.69 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 31686896 35.26 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 34198567 32.90 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 39642649 34.19 ns/op 16 B/op 1 allocs/op -BenchmarkString/1234567890-32 41613226 32.47 ns/op 16 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 24327354 58.02 ns/op 24 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 23926197 55.21 ns/op 24 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 26583117 60.86 ns/op 24 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 23510586 50.42 ns/op 24 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 28163586 53.69 ns/op 24 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 22768370 49.72 ns/op 24 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 21196437 52.45 ns/op 24 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 20693313 55.89 ns/op 24 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 19947139 60.12 ns/op 24 B/op 1 allocs/op -BenchmarkString/0.1234567890123456879-32 22639581 61.30 ns/op 24 B/op 1 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 3862222 281.0 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4652544 311.2 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 3991022 301.7 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 3872419 293.9 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 3431810 342.4 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4015672 318.9 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4186314 321.8 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 3590370 326.9 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 5045017 311.1 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4130266 306.4 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 4026321 304.4 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 3724122 320.0 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 3938667 275.6 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 3698864 318.8 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 3855931 323.7 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 3419932 339.6 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 4383171 270.9 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 3585034 318.3 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 3931147 328.6 ns/op 208 B/op 4 allocs/op -BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 4355964 290.4 ns/op 208 B/op 4 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 239304548 4.898 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 247802509 5.126 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 247905960 5.018 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 236582575 4.890 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 236157988 5.150 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 248569947 4.919 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 246169204 4.974 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 242175276 4.918 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 239157754 4.905 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 244990418 4.925 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 461467279 2.520 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 449846397 2.535 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 475218529 2.648 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 449731280 2.537 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 475717914 2.660 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 453758308 2.524 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 476462463 2.672 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 479258316 2.517 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 453777252 2.669 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 462013932 2.563 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 479818414 2.558 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 440228832 2.526 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 459887304 2.534 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 456094102 2.654 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 453985286 2.524 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 479976853 2.632 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 453340419 2.541 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 475716511 2.518 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 466641409 2.562 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123.456.Add(0.123)-32 483937286 2.662 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 454015147 2.636 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 470919097 2.642 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 484430108 2.664 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 451317759 2.551 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 466829048 2.604 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 473380147 2.551 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 458601703 2.704 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 449088309 2.687 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 444241810 2.834 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/3.Add(7)-32 385235822 2.793 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 221798542 5.400 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 232133778 5.265 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 231580030 5.068 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 242647584 4.991 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 243899808 4.999 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 232914139 5.123 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 224515665 5.258 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 234913069 5.183 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 241958400 5.232 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(999999)-32 248295180 4.860 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 271123590 4.484 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 251656664 4.448 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 252927074 4.389 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 272509088 4.381 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 256975046 4.630 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 259701109 4.646 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 277763319 4.439 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 260821424 4.364 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 275375306 4.348 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 275633059 4.353 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 250220079 5.062 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 250140944 5.086 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 236732017 4.762 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 251986010 4.928 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 254120391 4.740 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 239914918 4.969 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 253401982 5.007 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 253728597 4.879 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 239247104 4.729 ns/op 0 B/op 0 allocs/op -BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 243606510 4.891 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 302242836 3.808 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 303092652 3.942 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 300880482 4.121 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 287459138 4.096 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 302580046 3.993 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 300433676 4.099 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 309086161 3.832 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 315572760 3.799 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 315733843 3.980 ns/op 0 B/op 0 allocs/op -BenchmarkSub/3.Sub(7)-32 301284934 3.766 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 190779702 6.157 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 199354981 6.119 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 200210126 6.014 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 200192613 6.430 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 200838850 6.096 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 195563852 6.213 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 201665578 6.272 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 200214697 6.329 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 188071070 6.345 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 201219506 6.394 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 319152249 3.750 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 307468428 3.955 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 308583836 3.931 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 317801413 3.766 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 305342336 3.736 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 319388318 3.981 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 317973349 4.007 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 300271933 3.745 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 306306241 3.743 ns/op 0 B/op 0 allocs/op -BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 310918718 3.843 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 321813008 3.928 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 302862184 3.950 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 321733244 3.740 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 308412276 3.746 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 310977546 3.799 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 300133090 3.734 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 307378719 3.929 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 303382364 3.751 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 320939180 3.788 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123.456.Sub(0.123)-32 299801362 3.724 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 202794603 6.100 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 191925630 5.911 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 200302258 6.226 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 187920505 6.054 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 192689635 6.205 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 192057595 6.274 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 202593549 6.032 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 201045651 5.948 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 198997635 5.946 ns/op 0 B/op 0 allocs/op -BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 190967294 5.923 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 188905749 6.062 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 197554569 6.458 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 193019000 6.112 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 197673213 6.392 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 190385968 6.185 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 188109666 6.167 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 196154288 6.076 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 193897574 6.262 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 187270008 6.162 ns/op 0 B/op 0 allocs/op -BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 195605232 6.136 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 162124743 7.519 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 171862254 7.239 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 161593441 7.235 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 166792243 7.073 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 159421260 6.962 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 171701190 6.983 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 170373026 6.962 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 172712830 6.966 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 164040015 7.038 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 170060035 7.325 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 169132928 7.113 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 168547806 7.447 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 160986220 7.139 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 166495128 7.517 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 159024709 7.510 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 169225232 7.368 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 161466816 7.495 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 153792844 7.303 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 159121026 7.374 ns/op 0 B/op 0 allocs/op -BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 165020464 7.443 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 233519978 5.215 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 223615306 5.111 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 219813375 5.121 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 224768191 5.337 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 223041566 5.074 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 223802124 5.155 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 231245532 5.377 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 235361535 5.222 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 223820426 5.114 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123.456.Mul(0.123)-32 222934184 5.124 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 234078399 5.190 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 218199770 5.344 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 219152860 5.490 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 234858770 5.433 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 214895280 5.385 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 226531774 5.372 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 217120813 5.288 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 228431894 5.649 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 221444232 5.921 ns/op 0 B/op 0 allocs/op -BenchmarkMul/3.Mul(7)-32 214936360 5.420 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 213133179 5.769 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 207791350 5.922 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 210106652 5.698 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 192890373 5.936 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 213637410 5.680 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 214067179 5.640 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 212135250 5.750 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 216963100 5.719 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 210689547 5.641 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(999999)-32 220049546 5.546 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 208743980 5.606 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 210729622 5.702 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 206439734 5.705 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 219145857 5.441 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 220903244 5.684 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 222469515 5.658 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 206588935 5.455 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 221773646 5.620 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 212159806 5.623 ns/op 0 B/op 0 allocs/op -BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 207718282 5.502 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 208783612 5.512 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 212128204 5.416 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 215772096 5.677 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 220569618 5.397 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 207208134 5.366 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 209084996 5.471 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 212700351 5.768 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 223095006 5.844 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 215031649 5.907 ns/op 0 B/op 0 allocs/op -BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 223927783 5.700 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 149152471 7.468 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 150876316 7.607 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 152442315 7.517 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 152238046 7.995 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 151772328 7.873 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 145871248 7.909 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 150764011 7.774 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 152836790 7.784 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 161516310 7.849 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 162919972 7.458 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 52838842 23.04 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 52113588 25.12 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 50369804 24.04 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 51707781 24.41 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 49080552 24.44 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 50402200 24.23 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 50412603 24.03 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 43004588 23.30 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 52972420 24.00 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 51829850 24.73 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 69414051 17.10 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 74774498 16.21 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 74683560 16.59 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 72843958 16.41 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 71906397 17.32 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 73338183 16.39 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 74461863 16.33 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 71233442 17.28 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 76014320 17.21 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 66549830 16.41 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 157408279 7.664 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 167139081 7.242 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 155812759 7.919 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 148051117 7.720 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 158033815 7.346 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 165862580 7.617 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 150618762 7.845 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 157733889 7.677 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 161315948 7.907 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123.456.Div(0.123)-32 147090068 7.750 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 165019544 6.975 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 165796502 7.314 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 153977082 7.574 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 156494016 7.416 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 168820224 7.359 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 163921596 7.365 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 162180570 7.482 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 164854512 7.382 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 165353316 6.947 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/3.Div(7)-32 171355012 7.167 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 168163813 6.858 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 172380216 6.934 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 163583848 7.293 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 166592258 6.951 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 164066107 7.452 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 170299768 7.579 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 167582347 6.927 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 173562482 7.716 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 166618989 7.044 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(999999)-32 160800297 6.989 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 168660324 7.185 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 161760600 7.076 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 164514268 7.240 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 173089717 7.177 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 153631944 7.587 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 159579265 7.371 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 162049779 7.551 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 162953502 7.705 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 165397545 7.325 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 165538344 7.019 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 154146696 7.308 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 159468505 7.508 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 156865856 7.672 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 156914430 7.320 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 155288888 7.854 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 149515286 7.759 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 161895162 7.335 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 166148618 7.704 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 164744295 7.340 ns/op 0 B/op 0 allocs/op -BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 161669745 7.542 ns/op 0 B/op 0 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3784436 316.8 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 4697564 344.7 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3903168 334.1 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3291789 314.8 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3718401 341.5 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3775478 347.5 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3859214 334.3 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3936678 329.0 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3598666 312.0 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3616314 346.3 ns/op 264 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 3548932 344.9 ns/op 320 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 3593084 362.5 ns/op 320 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 3557000 317.4 ns/op 320 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 7536795 172.0 ns/op 320 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 7657825 168.0 ns/op 320 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 7294986 279.2 ns/op 320 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 3604783 346.6 ns/op 320 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 3657380 332.2 ns/op 320 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 3693412 311.6 ns/op 320 B/op 7 allocs/op -BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 6890408 174.0 ns/op 320 B/op 7 allocs/op -BenchmarkPow/1.01.Pow(10)-32 29000046 38.66 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(10)-32 29421615 39.12 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(10)-32 30931905 39.31 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(10)-32 29667206 40.41 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(10)-32 30567272 38.98 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(10)-32 30680812 37.81 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(10)-32 32412433 38.02 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(10)-32 33355714 37.30 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(10)-32 32555076 37.64 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(10)-32 31926352 37.91 ns/op 0 B/op 0 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1655367 837.4 ns/op 817 B/op 13 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1412582 864.9 ns/op 817 B/op 13 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1359110 764.1 ns/op 817 B/op 13 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1695051 785.1 ns/op 817 B/op 13 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1324549 835.2 ns/op 817 B/op 13 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1384328 909.0 ns/op 817 B/op 13 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1293730 846.7 ns/op 817 B/op 13 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1459612 1243 ns/op 817 B/op 13 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1508664 700.0 ns/op 817 B/op 13 allocs/op -BenchmarkPow/1.01.Pow(100)-32 1661788 642.8 ns/op 817 B/op 13 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 17587940 86.82 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 13760532 93.34 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 11837826 98.13 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 14979981 96.63 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 13467838 107.8 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 13112433 98.43 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 13603606 93.64 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 15113019 95.32 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 13665900 104.0 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 12822902 95.01 ns/op 48 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 73914404 13.85 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 86988074 15.59 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 77120322 14.45 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 78854444 16.52 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 82120537 15.40 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 88537219 14.07 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 89323084 15.51 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 89200350 15.23 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 88746350 15.62 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123-32 82753861 14.89 ns/op 5 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 31138550 41.81 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 32923718 35.37 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 41176724 38.95 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 30764546 38.68 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 23234214 44.71 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 36045225 39.84 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 41077990 39.74 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 35654019 36.79 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 29564606 35.34 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/123456.123456-32 31406696 37.95 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 31424443 32.53 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 39432918 38.00 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 48613230 25.54 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 50952566 27.03 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 46882808 25.01 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 41245930 25.25 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 49955883 27.53 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 45652776 29.92 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 31446880 31.96 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/1234567890-32 55109479 30.89 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 19427881 51.97 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 24810590 57.45 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 26391355 54.48 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 22785420 54.15 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 24847413 49.77 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 22054749 50.76 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 22979050 52.77 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 17720155 58.86 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 23608450 56.13 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/0.1234567890123456879-32 26173098 55.84 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3582542 355.6 ns/op 320 B/op 5 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3214801 422.4 ns/op 320 B/op 5 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 4416474 337.1 ns/op 320 B/op 5 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 4204395 278.2 ns/op 320 B/op 5 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2842646 408.2 ns/op 320 B/op 5 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3237151 406.0 ns/op 320 B/op 5 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3532183 365.7 ns/op 320 B/op 5 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3097196 418.2 ns/op 320 B/op 5 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3238530 378.3 ns/op 320 B/op 5 allocs/op -BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3394510 390.6 ns/op 320 B/op 5 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 14820034 75.32 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 15899239 76.85 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 15814923 77.55 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 15698343 77.96 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 15441889 76.42 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 14686065 77.40 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 15601112 78.04 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 15901132 74.19 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 16070979 74.99 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 15710800 75.02 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 128350813 9.691 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 130293831 9.286 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 130008877 9.143 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 129631719 9.600 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 124187169 9.088 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 131127897 9.504 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 131501440 9.175 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 126732007 9.621 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 126347094 9.169 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123-32 130931894 9.095 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 52110819 23.43 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 52954736 23.49 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 52783704 24.12 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 51476869 23.63 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 51184544 24.57 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 49842316 23.72 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 50694799 24.96 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 52015671 24.74 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 50907145 25.01 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/123456.123456-32 51361588 23.72 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 59090839 21.48 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 59793398 21.28 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 61983022 21.15 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 57362983 21.34 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 55183257 21.46 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 57404322 21.55 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 57280009 20.02 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 58291594 21.03 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 61538432 21.12 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/1234567890-32 58270128 20.67 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 27617126 42.35 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 29565428 41.80 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 28265284 39.72 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 29254321 41.28 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 29393658 40.89 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 28276149 41.22 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 29591079 39.73 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 29423578 41.38 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 26210894 39.97 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/0.1234567890123456879-32 30076291 41.74 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2343608 543.5 ns/op 264 B/op 6 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2634578 554.2 ns/op 264 B/op 6 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2280027 556.3 ns/op 264 B/op 6 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3347622 492.7 ns/op 264 B/op 6 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2747827 513.5 ns/op 264 B/op 6 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2326764 478.6 ns/op 264 B/op 6 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2408172 553.1 ns/op 264 B/op 6 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2619912 531.7 ns/op 264 B/op 6 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2194917 547.0 ns/op 264 B/op 6 allocs/op -BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2394699 514.8 ns/op 264 B/op 6 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 46647898 30.72 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 42447960 28.57 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 38515458 28.42 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 42938202 29.61 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 36324601 28.57 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 41797986 28.52 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 71538523 26.94 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 45179916 32.08 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 39303344 27.43 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 34739233 30.84 ns/op 24 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 53416611 20.69 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 44473479 23.03 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 64747239 20.05 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 52590571 22.97 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 64614091 23.01 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 53374286 24.60 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 68598055 21.25 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 46738695 23.60 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 53826859 23.26 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123-32 50189493 20.36 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 100000000 21.54 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 49576456 24.38 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 46019287 22.91 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 44551629 23.21 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 54688568 23.53 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 78057699 18.68 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 100000000 15.50 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 91637710 15.58 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 56626671 18.62 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/123456.123456-32 64978966 18.50 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 75996772 17.70 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 80485194 13.41 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 85123606 14.07 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 87215634 16.34 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 52212979 21.82 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 75808678 24.41 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 57702276 17.79 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 100000000 22.58 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 58113265 23.48 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/1234567890-32 67154844 22.68 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 44090610 23.23 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 86079410 12.58 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 85797422 17.72 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 51212893 21.53 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 89372544 13.51 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 86859308 15.11 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 49760823 24.50 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 46469649 24.20 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 42233961 24.96 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/0.1234567890123456879-32 53647436 21.04 ns/op 16 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 33123519 45.75 ns/op 32 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 24609066 41.74 ns/op 32 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 37778344 34.01 ns/op 32 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 37573480 32.62 ns/op 32 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 35435257 50.15 ns/op 32 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 21485131 46.99 ns/op 32 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 41067277 42.09 ns/op 32 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 23566926 47.40 ns/op 32 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 32733163 33.82 ns/op 32 B/op 1 allocs/op -BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 40643235 32.60 ns/op 32 B/op 1 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 506856049 2.271 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 517990395 2.277 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 554320228 2.176 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 548642554 2.267 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 503809682 2.309 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 490557825 2.324 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 498434029 2.383 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 521222672 2.328 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 525068817 2.254 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 543921433 2.286 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 666510728 1.769 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 665059918 1.730 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 688783101 1.813 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 667986128 1.815 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 711268352 1.713 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 702082528 1.717 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 708326821 1.749 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 702748630 1.720 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 669618930 1.814 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123-32 653803008 1.814 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 630246320 1.715 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 658177489 1.823 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 717036115 1.711 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 664995853 1.807 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 629818147 1.825 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 639228622 1.813 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 646358188 1.792 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 689948436 1.732 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 706339274 1.735 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/123456.123456-32 699336517 1.718 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 705595394 1.719 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 688133203 1.736 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 622347222 1.761 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 661624287 1.783 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 653985020 1.752 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 696502924 1.722 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 698435103 1.733 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 655625796 1.696 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 665954745 1.732 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/1234567890-32 679574734 1.709 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 699360494 1.775 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 682742863 1.766 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 625162509 1.746 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 692916734 1.748 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 670931066 1.852 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 684350835 1.760 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 683980087 1.738 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 672817156 1.840 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 620796826 1.787 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/0.1234567890123456879-32 613858179 1.851 ns/op 0 B/op 0 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 25918023 45.07 ns/op 96 B/op 2 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 28192058 80.12 ns/op 96 B/op 2 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 14368414 90.35 ns/op 96 B/op 2 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 19427528 80.49 ns/op 96 B/op 2 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 16839567 84.69 ns/op 96 B/op 2 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 24282877 68.66 ns/op 96 B/op 2 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 14419125 99.32 ns/op 96 B/op 2 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 15541634 90.74 ns/op 96 B/op 2 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 13030528 93.23 ns/op 96 B/op 2 allocs/op -BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 14494112 75.82 ns/op 96 B/op 2 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 14480929 70.79 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 15750946 76.10 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 13101150 84.18 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 14365287 78.62 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 12634765 82.26 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 13364164 82.76 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 15356986 79.13 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 15347952 78.36 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 16158620 76.31 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890123456789.1234567890123456879-32 15837738 86.18 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 132207692 9.652 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 129531774 9.824 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 139214372 9.509 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 128602180 9.571 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 128681630 8.761 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 131462078 8.950 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 140413305 8.689 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 131624270 8.995 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 141288943 9.431 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123-32 128163589 9.337 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 40123141 27.87 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 46144542 26.20 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 46774532 25.98 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 43839273 24.81 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 50633299 24.72 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 53245113 24.46 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 49705689 23.29 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 50949015 24.66 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 52628265 22.96 ns/op 0 B/op 0 allocs/op +BenchmarkParse/123456.123456-32 51431748 23.50 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 50591940 20.63 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 50563016 21.10 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 55656282 20.80 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 58230686 21.70 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 55902580 21.93 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 56100603 21.60 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 53920798 21.77 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 55861123 22.21 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 54120472 21.64 ns/op 0 B/op 0 allocs/op +BenchmarkParse/1234567890-32 60566383 20.49 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 28710724 43.22 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 29146560 44.10 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 26922684 43.90 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 27707344 40.65 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 28752571 40.60 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 28529010 42.58 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 29355486 42.93 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 29871193 40.69 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 29841739 40.72 ns/op 0 B/op 0 allocs/op +BenchmarkParse/0.1234567890123456879-32 29470508 42.17 ns/op 0 B/op 0 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2585487 479.9 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2280304 507.8 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 3002433 497.9 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2206983 515.5 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 3012812 469.1 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2762350 448.7 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2999140 489.9 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2396364 467.0 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2577097 474.2 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/123456789123456789123456.1234567890123456-32 2615354 439.5 ns/op 192 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2865117 464.1 ns/op 216 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 3102513 414.2 ns/op 216 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2483846 451.9 ns/op 216 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2715038 436.8 ns/op 216 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2378865 444.4 ns/op 216 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2618284 389.7 ns/op 216 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 3253034 451.3 ns/op 216 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 3257062 360.4 ns/op 216 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 3369795 340.7 ns/op 216 B/op 6 allocs/op +BenchmarkParseFallBack/111222333444555666777888999.1234567890123456789-32 2250596 473.5 ns/op 216 B/op 6 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 12737889 83.53 ns/op 48 B/op 1 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 14842513 97.96 ns/op 48 B/op 1 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 13072195 102.5 ns/op 48 B/op 1 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 17354812 106.1 ns/op 48 B/op 1 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 11462758 89.46 ns/op 48 B/op 1 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 13311771 85.82 ns/op 48 B/op 1 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 12595425 95.49 ns/op 48 B/op 1 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 14100505 79.57 ns/op 48 B/op 1 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 11207002 98.70 ns/op 48 B/op 1 allocs/op +BenchmarkString/1234567890123456789.1234567890123456879-32 15327704 94.33 ns/op 48 B/op 1 allocs/op +BenchmarkString/123-32 60204913 16.90 ns/op 5 B/op 1 allocs/op +BenchmarkString/123-32 66484908 17.38 ns/op 5 B/op 1 allocs/op +BenchmarkString/123-32 75277249 17.42 ns/op 5 B/op 1 allocs/op +BenchmarkString/123-32 69646174 16.87 ns/op 5 B/op 1 allocs/op +BenchmarkString/123-32 84927018 16.08 ns/op 5 B/op 1 allocs/op +BenchmarkString/123-32 70302832 16.75 ns/op 5 B/op 1 allocs/op +BenchmarkString/123-32 78051450 16.15 ns/op 5 B/op 1 allocs/op +BenchmarkString/123-32 77942565 15.62 ns/op 5 B/op 1 allocs/op +BenchmarkString/123-32 74762031 15.53 ns/op 5 B/op 1 allocs/op +BenchmarkString/123-32 69940609 15.92 ns/op 5 B/op 1 allocs/op +BenchmarkString/123456.123456-32 29572393 37.92 ns/op 16 B/op 1 allocs/op +BenchmarkString/123456.123456-32 35261773 39.11 ns/op 16 B/op 1 allocs/op +BenchmarkString/123456.123456-32 30349212 35.07 ns/op 16 B/op 1 allocs/op +BenchmarkString/123456.123456-32 34774262 40.92 ns/op 16 B/op 1 allocs/op +BenchmarkString/123456.123456-32 30988161 39.75 ns/op 16 B/op 1 allocs/op +BenchmarkString/123456.123456-32 28907924 41.31 ns/op 16 B/op 1 allocs/op +BenchmarkString/123456.123456-32 30145854 40.02 ns/op 16 B/op 1 allocs/op +BenchmarkString/123456.123456-32 32472250 39.06 ns/op 16 B/op 1 allocs/op +BenchmarkString/123456.123456-32 31239891 41.51 ns/op 16 B/op 1 allocs/op +BenchmarkString/123456.123456-32 29283334 44.08 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 29464106 36.75 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 34175943 33.69 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 34809780 32.92 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 47355177 31.46 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 31587958 33.26 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 37153270 33.03 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 48216912 32.34 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 43967180 31.27 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 34400398 30.77 ns/op 16 B/op 1 allocs/op +BenchmarkString/1234567890-32 36091290 37.88 ns/op 16 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 19779745 58.90 ns/op 24 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 21157779 55.26 ns/op 24 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 19251331 56.31 ns/op 24 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 21490368 56.22 ns/op 24 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 23569504 53.98 ns/op 24 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 21964359 51.17 ns/op 24 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 23290514 52.17 ns/op 24 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 29667698 49.24 ns/op 24 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 23520198 53.27 ns/op 24 B/op 1 allocs/op +BenchmarkString/0.1234567890123456879-32 20122322 55.45 ns/op 24 B/op 1 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 5934763 280.8 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4672341 332.2 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4805187 300.3 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 3986284 285.0 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4510794 308.7 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 3884020 300.5 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4878508 325.3 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4329382 273.3 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4053928 282.5 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/123456789123456789123456.1234567890123456-32 4267918 278.9 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 4347014 312.3 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 4490008 322.8 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 4062232 301.2 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 3809550 286.9 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 4108597 247.8 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 5561631 315.0 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 5094520 223.8 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 4501074 270.6 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 4406038 309.9 ns/op 208 B/op 4 allocs/op +BenchmarkStringFallBack/111222333444555666777888999.1234567890123456789-32 7073367 295.6 ns/op 208 B/op 4 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 220612939 5.267 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 225385429 5.242 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 231854926 5.370 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 225468699 5.621 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 229148924 5.444 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 211837047 5.373 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 209993020 5.327 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 220319344 5.671 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 212529506 5.214 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1111.1789)-32 229373773 5.248 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 409257306 2.975 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 432708450 2.736 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 461330680 2.675 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 450731016 2.848 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 429470932 2.822 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 421851157 2.830 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 444625418 2.667 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 451381680 2.724 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 451042764 2.816 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 428399787 2.778 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 444639664 2.786 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 431475596 2.792 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 460438818 2.801 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 452998700 2.818 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 435039218 2.738 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 428040152 2.833 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 437513444 2.806 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 462079803 2.704 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 433493798 2.670 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123.456.Add(0.123)-32 449165068 2.749 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 436943325 2.621 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 426868922 2.719 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 449858119 2.653 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 436870414 2.638 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 447216578 2.784 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 464074888 2.633 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 459086613 2.685 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 437247770 2.782 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 432857053 2.700 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/3.Add(7)-32 459437038 2.642 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 228464563 5.193 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 230232781 5.197 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 232106236 5.625 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 219013210 5.174 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 233642852 5.160 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 222093606 5.565 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 231037998 5.655 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 232922644 5.639 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 232008055 5.675 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(999999)-32 232402552 5.231 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 244743832 4.703 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 229329733 4.994 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 243903140 4.841 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 256305651 4.707 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 257710058 4.941 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 250479690 4.724 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 244171010 4.687 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 253976286 5.012 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 242751343 4.702 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/123456.123456.Add(456781244.1324897546)-32 258986032 4.906 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 221034864 5.422 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 234287256 5.194 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 208547750 5.224 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 232154294 5.231 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 229896716 5.517 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 221384468 5.532 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 229490305 5.254 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 219253130 5.551 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 208203339 5.421 ns/op 0 B/op 0 allocs/op +BenchmarkAdd/548751.15465466546.Add(1542.456487)-32 214203716 5.565 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 283047070 4.121 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 291247014 4.088 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 302316084 4.084 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 282959370 4.192 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 301908561 4.261 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 299255083 4.046 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 293148142 4.167 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 277809982 4.253 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 290369076 4.296 ns/op 0 B/op 0 allocs/op +BenchmarkSub/3.Sub(7)-32 283955756 4.378 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 185845647 6.887 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 184466427 6.483 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 184803228 6.787 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 187454499 6.518 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 187791345 6.808 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 184608874 6.426 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 174314343 6.473 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 170349276 6.463 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 173439346 6.510 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 181883431 6.438 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 298993696 4.364 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 288694072 4.264 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 299691440 4.065 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 282781352 4.253 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 280965859 4.332 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 298027518 4.081 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 273709800 4.070 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 298336214 4.254 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 288805838 4.317 ns/op 0 B/op 0 allocs/op +BenchmarkSub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 273759718 4.306 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 299319028 4.034 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 285646711 4.039 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 286698573 4.089 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 298757949 4.060 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 281864469 4.291 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 289519867 4.318 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 291900850 4.064 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 298688276 4.268 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 281660344 4.271 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123.456.Sub(0.123)-32 285347883 4.322 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 186534368 6.687 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 195006694 6.262 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 183201301 6.722 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 189008634 6.491 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 183937048 6.442 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 182050230 6.242 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 192692197 6.319 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 183789645 6.302 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 190297023 6.308 ns/op 0 B/op 0 allocs/op +BenchmarkSub/123456.123456.Sub(456781244.1324897546)-32 180342318 6.758 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 169776082 6.838 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 177389598 6.939 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 167467335 6.896 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 166151408 7.122 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 165218329 7.278 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 166476390 7.193 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 178972018 6.633 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 168169545 7.104 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 172666771 6.824 ns/op 0 B/op 0 allocs/op +BenchmarkSub/548751.15465466546.Sub(1542.456487)-32 173097886 7.275 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 153027937 7.606 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 148124158 8.068 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 158023160 7.857 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 151959740 7.965 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 160735995 7.973 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 161742912 7.520 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 158977017 7.636 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 159834694 7.833 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 152074047 7.692 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1789)-32 147410784 8.481 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 149367595 7.980 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 139330627 8.782 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 142091538 8.431 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 136986010 7.826 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 140734436 8.544 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 141241138 8.210 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 141767415 8.374 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 141634902 8.274 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 153366574 7.858 ns/op 0 B/op 0 allocs/op +BenchmarkMul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 147393537 8.168 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 221944810 5.489 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 208745395 5.427 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 210499602 5.813 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 225071974 5.976 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 208833501 5.968 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 218257792 5.773 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 209604486 5.761 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 221558911 5.782 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 216893244 5.441 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123.456.Mul(0.123)-32 212653472 5.789 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 218689453 5.760 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 211556026 5.396 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 222737494 5.432 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 207036200 5.563 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 223033770 5.522 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 222947108 5.427 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 223034098 5.421 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 221634585 5.422 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 212695388 5.461 ns/op 0 B/op 0 allocs/op +BenchmarkMul/3.Mul(7)-32 223583917 5.412 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 223559562 5.473 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 220084504 5.444 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 203787933 5.655 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 211896307 5.768 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 226176988 5.429 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 222875904 5.737 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 212002599 5.412 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 210350792 5.766 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 220774863 5.399 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(999999)-32 216473625 5.764 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 219023254 5.432 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 210697634 5.740 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 226484788 5.652 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 212746155 5.739 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 219344677 5.422 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 205756606 5.443 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 215852197 5.406 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 213721737 5.416 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 221404144 5.717 ns/op 0 B/op 0 allocs/op +BenchmarkMul/123456.123456.Mul(456781244.1324897546)-32 224383198 5.731 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 218737220 5.495 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 225544267 5.451 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 224300788 5.847 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 206488136 5.483 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 222933271 5.435 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 224263405 5.700 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 225778473 5.548 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 219055630 5.412 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 224066515 5.396 ns/op 0 B/op 0 allocs/op +BenchmarkMul/548751.15465466546.Mul(1542.456487)-32 223142401 5.418 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 158899826 7.890 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 159959955 7.939 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 151635830 7.542 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 151719582 7.975 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 150912637 7.539 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 159338456 7.996 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 160449841 7.724 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 159670674 7.986 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 155218692 7.956 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(1111.1789)-32 159842067 7.955 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 53625254 24.85 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 52537207 23.58 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 51550003 25.04 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 48573836 23.28 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 52365888 24.74 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 51662060 24.97 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 47528337 23.43 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 46705844 24.19 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 51425244 23.99 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/12345.1234567890123456879.Div(1111.1234567890123456789)-32 48615493 24.87 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 74041957 16.77 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 73594875 17.64 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 68682906 17.42 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 69921109 16.97 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 71639146 17.52 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 73468084 16.72 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 73609564 16.79 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 69706010 17.57 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 59376592 17.45 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 72754681 17.60 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 151417376 7.863 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 153985288 7.380 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 163771196 7.365 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 163626572 7.759 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 163548856 7.570 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 164182551 7.359 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 164840156 7.340 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 155308354 7.381 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 164059641 7.664 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123.456.Div(0.123)-32 164531685 7.385 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 163878861 7.408 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 173012775 6.970 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 164052776 7.458 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 163789023 7.027 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 167186475 7.427 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 161348532 7.494 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 159593680 7.389 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 173906440 7.398 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 172751832 7.012 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/3.Div(7)-32 173701020 6.978 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 166079246 7.035 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 172252123 7.341 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 164495840 7.383 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 170320623 7.441 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 171529226 7.026 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 172993704 6.989 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 173547274 6.987 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 164820327 7.366 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 163448935 7.541 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(999999)-32 167308080 7.060 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 162654303 7.575 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 158638683 7.606 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 173672071 7.065 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 162716950 7.429 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 170468492 7.023 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 166012875 7.371 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 162642414 6.976 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 164865987 7.403 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 174594855 6.985 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/123456.123456.Div(456781244.1324897546)-32 169113800 7.440 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 163025080 7.503 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 156008149 7.739 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 164614299 7.748 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 162713322 7.533 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 163467006 7.703 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 165232270 7.346 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 155746035 7.750 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 164033959 7.406 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 155916049 7.772 ns/op 0 B/op 0 allocs/op +BenchmarkDiv/548751.15465466546.Div(1542.456487)-32 155291344 7.796 ns/op 0 B/op 0 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 5048162 334.3 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3739804 318.0 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 4189141 336.0 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 3946101 273.3 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 4151581 293.2 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 4620631 338.8 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 4874628 305.1 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 5752400 331.5 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 4862274 227.9 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 4195652 259.7 ns/op 264 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 4462024 327.9 ns/op 320 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 4179162 333.8 ns/op 320 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 4144254 290.2 ns/op 320 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 3881611 336.9 ns/op 320 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 4202668 349.2 ns/op 320 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 4411886 339.9 ns/op 320 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 4874763 288.5 ns/op 320 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 4488192 320.2 ns/op 320 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 3744188 315.7 ns/op 320 B/op 7 allocs/op +BenchmarkDivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 4038261 325.3 ns/op 320 B/op 7 allocs/op +BenchmarkPow/1.01.Pow(10)-32 32701860 37.92 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(10)-32 34268652 36.14 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(10)-32 32774144 38.10 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(10)-32 30141488 36.64 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(10)-32 32489648 38.41 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(10)-32 30955018 38.56 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(10)-32 33818691 36.94 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(10)-32 32428252 39.15 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(10)-32 32758224 39.10 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(10)-32 26853224 38.74 ns/op 0 B/op 0 allocs/op +BenchmarkPow/1.01.Pow(100)-32 1216782 1112 ns/op 817 B/op 13 allocs/op +BenchmarkPow/1.01.Pow(100)-32 1124516 1127 ns/op 817 B/op 13 allocs/op +BenchmarkPow/1.01.Pow(100)-32 983482 1117 ns/op 817 B/op 13 allocs/op +BenchmarkPow/1.01.Pow(100)-32 1000000 1162 ns/op 817 B/op 13 allocs/op +BenchmarkPow/1.01.Pow(100)-32 996402 1141 ns/op 817 B/op 13 allocs/op +BenchmarkPow/1.01.Pow(100)-32 1166415 1012 ns/op 817 B/op 13 allocs/op +BenchmarkPow/1.01.Pow(100)-32 901040 1141 ns/op 817 B/op 13 allocs/op +BenchmarkPow/1.01.Pow(100)-32 1000000 1069 ns/op 817 B/op 13 allocs/op +BenchmarkPow/1.01.Pow(100)-32 1020666 1175 ns/op 817 B/op 13 allocs/op +BenchmarkPow/1.01.Pow(100)-32 1000000 1063 ns/op 817 B/op 13 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 12333306 82.35 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 15316035 92.25 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 11397050 100.9 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 15153548 98.16 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 16773282 96.11 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 14349476 95.59 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 17736074 95.20 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 11099917 98.67 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 11185342 91.44 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890123456789.1234567890123456879-32 10831141 98.09 ns/op 48 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 59421554 19.01 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 77643930 18.14 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 85604821 18.66 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 79088415 19.58 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 64251936 18.16 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 67508445 18.51 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 60432006 18.33 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 58575276 18.46 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 55380373 18.67 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123-32 62223451 18.20 ns/op 8 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 31232612 43.25 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 31152174 41.92 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 29544102 39.16 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 30845217 42.77 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 30356210 42.71 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 26476347 38.77 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 28465444 42.12 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 34920810 39.21 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 27043310 39.64 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/123456.123456-32 36264042 38.70 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 36310596 32.16 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 35741366 33.99 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 36492378 33.29 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 41977942 33.73 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 43512898 29.74 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 37355422 36.52 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 34457562 33.28 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 30308558 35.86 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 36823185 33.49 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/1234567890-32 35653083 35.63 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 19366428 55.04 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 16934850 62.12 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 27129045 55.53 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 30341924 55.32 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 17556535 61.15 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 17381457 60.70 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 27520128 54.27 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 16953190 65.53 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 22443601 58.90 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/0.1234567890123456879-32 18845002 57.77 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3764817 405.1 ns/op 384 B/op 6 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3152901 450.9 ns/op 384 B/op 6 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2663712 497.1 ns/op 384 B/op 6 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2926813 520.2 ns/op 384 B/op 6 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 3059872 444.1 ns/op 384 B/op 6 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2981570 395.2 ns/op 384 B/op 6 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 4925905 435.6 ns/op 384 B/op 6 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2684964 461.2 ns/op 384 B/op 6 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 4464444 246.5 ns/op 384 B/op 6 allocs/op +BenchmarkMarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 4173540 242.6 ns/op 384 B/op 6 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 12900291 80.62 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 13020310 82.50 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 13310517 85.78 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 13248007 89.83 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 14280918 83.05 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 14182350 86.75 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 14306265 81.59 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 13686081 86.59 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 14269839 84.58 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890123456789.1234567890123456879-32 13823296 76.83 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 134133427 8.885 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 134620858 8.410 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 137749653 9.039 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 144089908 8.410 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 140778493 8.470 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 133490374 8.837 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 134631702 8.985 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 142441590 8.754 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 135755082 8.748 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123-32 136870605 8.302 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 52644026 24.11 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 50490234 24.22 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 54976894 23.67 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 54636366 22.95 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 50261064 23.84 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 53081896 23.79 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 48150164 23.41 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 50903619 23.20 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 54430496 24.50 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/123456.123456-32 47827066 24.10 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 55815684 22.45 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 49017927 22.91 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 55431806 22.78 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 54930170 21.78 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 53780688 21.08 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 51895758 22.51 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 55695828 22.55 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 58806452 22.65 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 52624803 22.09 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/1234567890-32 52973108 22.34 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 30151113 40.57 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 29122681 41.23 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 28477018 42.55 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 28191350 42.91 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 24796152 42.94 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 27374005 41.67 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 27728932 42.45 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 28489063 40.54 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 27948249 42.39 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/0.1234567890123456879-32 28377086 42.58 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2488951 519.8 ns/op 264 B/op 6 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2169898 545.7 ns/op 264 B/op 6 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2089528 517.7 ns/op 264 B/op 6 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2534762 556.7 ns/op 264 B/op 6 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2363946 530.9 ns/op 264 B/op 6 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2505934 520.5 ns/op 264 B/op 6 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2464135 492.8 ns/op 264 B/op 6 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2517139 533.3 ns/op 264 B/op 6 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2038854 515.4 ns/op 264 B/op 6 allocs/op +BenchmarkUnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 2254334 522.8 ns/op 264 B/op 6 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 76565793 21.12 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 68409430 29.08 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 36492207 33.04 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 37129560 29.36 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 80894149 25.39 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 38043799 30.65 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 41678187 28.94 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 37025733 27.59 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 42981879 29.88 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890123456789.1234567890123456879-32 42914220 29.13 ns/op 24 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 56379920 22.92 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 54909429 20.27 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 48433627 22.42 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 100000000 21.35 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 78034893 24.20 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 50928662 25.20 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 47965902 21.98 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 57452920 19.41 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 47544300 21.05 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123-32 54225805 21.78 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 57590336 18.07 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 54526878 23.03 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 45541318 22.73 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 58147400 20.22 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 49415916 21.47 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 54114619 18.53 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 90603420 17.73 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 55260939 21.15 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 48912454 21.51 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/123456.123456-32 54990505 22.75 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 91813428 20.42 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 63035932 23.20 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 73295324 15.01 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 87922992 19.30 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 65490073 19.01 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 59025248 24.06 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 94179316 22.08 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 70679498 17.69 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 83965335 13.88 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/1234567890-32 83602142 12.70 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 69634754 15.93 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 52256193 24.36 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 87106620 12.51 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 99868065 18.64 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 83180742 13.31 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 81242500 12.84 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 100000000 14.23 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 82384962 12.96 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 99786248 19.20 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/0.1234567890123456879-32 95310781 22.14 ns/op 16 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 25408687 46.12 ns/op 32 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 35289228 51.37 ns/op 32 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 40279515 32.85 ns/op 32 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 43400557 38.29 ns/op 32 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 37360440 31.94 ns/op 32 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 38708176 43.12 ns/op 32 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 22499494 53.83 ns/op 32 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 23463303 54.77 ns/op 32 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 29395152 54.65 ns/op 32 B/op 1 allocs/op +BenchmarkMarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 20534421 55.77 ns/op 32 B/op 1 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 544524972 2.184 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 523269007 2.161 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 554716089 2.277 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 557496903 2.247 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 542160796 2.200 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 512748442 2.264 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 528474289 2.260 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 513578848 2.271 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 555528609 2.253 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890123456789.1234567890123456879-32 545842952 2.310 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 700999470 1.802 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 657450736 1.798 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 683194142 1.836 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 696558292 1.755 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 659416140 1.825 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 665360191 1.739 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 656085096 1.835 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 694664148 1.843 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 650993587 1.770 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123-32 674436504 1.732 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 701518006 1.725 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 682088664 1.830 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 634640419 1.794 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 613429357 1.859 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 705541509 1.839 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 651527678 1.835 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 654580345 1.872 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 643890412 1.817 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 693091675 1.715 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/123456.123456-32 675908118 1.820 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 696811922 1.719 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 673174098 1.812 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 639609036 1.735 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 701281315 1.768 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 652597789 1.819 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 653089593 1.881 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 639169389 1.882 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 644279700 1.749 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 656225678 1.748 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/1234567890-32 684947426 1.823 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 664168724 1.960 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 640416286 1.909 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 658307322 1.800 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 655556395 1.732 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 667406508 1.839 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 627335602 1.863 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 642620344 1.762 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 682661707 1.845 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 644632674 1.864 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/0.1234567890123456879-32 659151358 1.913 ns/op 0 B/op 0 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 21149049 66.57 ns/op 96 B/op 2 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 17634223 75.34 ns/op 96 B/op 2 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 13899319 85.39 ns/op 96 B/op 2 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 12046965 84.46 ns/op 96 B/op 2 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 19442516 54.37 ns/op 96 B/op 2 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 19089445 61.30 ns/op 96 B/op 2 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 26958937 57.78 ns/op 96 B/op 2 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 20238733 76.49 ns/op 96 B/op 2 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 12981919 89.92 ns/op 96 B/op 2 allocs/op +BenchmarkUnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 13904814 88.03 ns/op 96 B/op 2 allocs/op PASS -ok github.com/quagmt/udecimal/benchmarks 1135.918s +ok github.com/quagmt/udecimal/benchmarks 1156.394s diff --git a/benchmarks/benchstat.txt b/benchmarks/benchstat.txt index b047c87..29b7dac 100644 --- a/benchmarks/benchstat.txt +++ b/benchmarks/benchstat.txt @@ -4,77 +4,77 @@ pkg: github.com/quagmt/udecimal/benchmarks cpu: Intel(R) Core(TM) i9-14900HX │ shopspring │ udecimal │ │ sec/op │ sec/op vs base │ -Parse/1234567890123456789.1234567890123456879-32 384.35n ± 10% 72.64n ± 1% -81.10% (p=0.000 n=10) -Parse/123-32 77.475n ± 13% 8.096n ± 4% -89.55% (p=0.000 n=10) -Parse/123456.123456-32 128.35n ± 5% 22.96n ± 3% -82.11% (p=0.000 n=10) -Parse/1234567890-32 82.47n ± 7% 20.95n ± 2% -74.60% (p=0.000 n=10) -Parse/0.1234567890123456879-32 262.30n ± 17% 39.98n ± 1% -84.76% (p=0.000 n=10) -ParseFallBack/123456789123456789123456.1234567890123456-32 373.2n ± 13% 489.1n ± 6% +31.06% (p=0.000 n=10) -ParseFallBack/111222333444555666777888999.1234567890123456789-32 418.5n ± 5% 475.6n ± 9% +13.63% (p=0.000 n=10) -String/1234567890123456789.1234567890123456879-32 284.45n ± 26% 95.27n ± 14% -66.51% (p=0.000 n=10) -String/123-32 110.55n ± 7% 15.07n ± 2% -86.37% (p=0.000 n=10) -String/123456.123456-32 133.00n ± 10% 38.41n ± 5% -71.12% (p=0.000 n=10) -String/1234567890-32 145.45n ± 18% 32.48n ± 9% -77.67% (p=0.000 n=10) -String/0.1234567890123456879-32 173.80n ± 15% 55.55n ± 10% -68.04% (p=0.000 n=10) -StringFallBack/123456789123456789123456.1234567890123456-32 394.1n ± 15% 311.2n ± 6% -21.04% (p=0.000 n=10) -StringFallBack/111222333444555666777888999.1234567890123456789-32 353.4n ± 26% 318.6n ± 13% -9.86% (p=0.007 n=10) -Add/1234567890123456789.1234567890123456879.Add(1111.1789)-32 384.650n ± 10% 4.922n ± 4% -98.72% (p=0.000 n=10) -Add/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 102.550n ± 10% 2.550n ± 5% -97.51% (p=0.000 n=10) -Add/123.456.Add(0.123)-32 97.220n ± 8% 2.549n ± 4% -97.38% (p=0.000 n=10) -Add/3.Add(7)-32 93.565n ± 8% 2.653n ± 5% -97.16% (p=0.000 n=10) -Add/123456.123456.Add(999999)-32 368.450n ± 12% 5.153n ± 3% -98.60% (p=0.000 n=10) -Add/123456.123456.Add(456781244.1324897546)-32 326.950n ± 13% 4.414n ± 5% -98.65% (p=0.000 n=10) -Add/548751.15465466546.Add(1542.456487)-32 346.550n ± 10% 4.909n ± 3% -98.58% (p=0.000 n=10) -Sub/3.Sub(7)-32 67.765n ± 9% 3.961n ± 4% -94.15% (p=0.000 n=10) -Sub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 376.150n ± 10% 6.243n ± 2% -98.34% (p=0.000 n=10) -Sub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 104.650n ± 9% 3.804n ± 5% -96.36% (p=0.000 n=10) -Sub/123.456.Sub(0.123)-32 64.670n ± 14% 3.769n ± 4% -94.17% (p=0.000 n=10) -Sub/123456.123456.Sub(456781244.1324897546)-32 312.400n ± 16% 6.043n ± 3% -98.07% (p=0.000 n=10) -Sub/548751.15465466546.Sub(1542.456487)-32 378.950n ± 7% 6.165n ± 4% -98.37% (p=0.000 n=10) -Mul/1234.1234567890123456879.Mul(1111.1789)-32 111.800n ± 5% 7.056n ± 4% -93.69% (p=0.000 n=10) -Mul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 121.450n ± 11% 7.408n ± 4% -93.90% (p=0.000 n=10) -Mul/123.456.Mul(0.123)-32 101.900n ± 11% 5.139n ± 4% -94.96% (p=0.000 n=10) -Mul/3.Mul(7)-32 104.600n ± 5% 5.402n ± 5% -94.84% (p=0.000 n=10) -Mul/123456.123456.Mul(999999)-32 102.350n ± 9% 5.709n ± 4% -94.42% (p=0.000 n=10) -Mul/123456.123456.Mul(456781244.1324897546)-32 100.300n ± 8% 5.622n ± 3% -94.40% (p=0.000 n=10) -Mul/548751.15465466546.Mul(1542.456487)-32 103.200n ± 6% 5.595n ± 4% -94.58% (p=0.000 n=10) -Div/1234567890123456789.1234567890123456879.Div(1111.1789)-32 531.550n ± 9% 7.779n ± 4% -98.54% (p=0.000 n=10) -Div/12345.1234567890123456879.Div(1111.1234567890123456789)-32 599.30n ± 35% 24.14n ± 3% -95.97% (p=0.000 n=10) -Div/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 489.35n ± 22% 16.50n ± 5% -96.63% (p=0.000 n=10) -Div/123.456.Div(0.123)-32 445.500n ± 8% 7.699n ± 5% -98.27% (p=0.000 n=10) -Div/3.Div(7)-32 523.050n ± 11% 7.362n ± 5% -98.59% (p=0.000 n=10) -Div/123456.123456.Div(999999)-32 444.800n ± 7% 7.016n ± 8% -98.42% (p=0.000 n=10) -Div/123456.123456.Div(456781244.1324897546)-32 557.050n ± 9% 7.283n ± 4% -98.69% (p=0.000 n=10) -Div/548751.15465466546.Div(1542.456487)-32 586.900n ± 12% 7.525n ± 3% -98.72% (p=0.000 n=10) -DivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 762.1n ± 7% 334.2n ± 6% -56.14% (p=0.000 n=10) -DivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 242.1n ± 87% 314.5n ± 45% ~ (p=0.579 n=10) -Pow/1.01.Pow(10)-32 724.70n ± 31% 38.34n ± 3% -94.71% (p=0.000 n=10) -Pow/1.01.Pow(100)-32 1367.0n ± 8% 836.3n ± 16% -38.82% (p=0.000 n=10) -MarshalJSON/1234567890123456789.1234567890123456879-32 451.65n ± 6% 95.97n ± 8% -78.75% (p=0.000 n=10) -MarshalJSON/123-32 137.20n ± 12% 15.32n ± 8% -88.84% (p=0.000 n=10) -MarshalJSON/123456.123456-32 170.50n ± 10% 38.82n ± 9% -77.23% (p=0.000 n=10) -MarshalJSON/1234567890-32 189.25n ± 4% 28.73n ± 13% -84.82% (p=0.000 n=10) -MarshalJSON/0.1234567890123456879-32 204.70n ± 7% 54.32n ± 7% -73.47% (p=0.000 n=10) -MarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 523.6n ± 15% 384.5n ± 12% -26.57% (p=0.000 n=10) -UnmarshalJSON/1234567890123456789.1234567890123456879-32 488.90n ± 10% 76.63n ± 2% -84.33% (p=0.000 n=10) -UnmarshalJSON/123-32 133.250n ± 9% 9.231n ± 4% -93.07% (p=0.000 n=10) -UnmarshalJSON/123456.123456-32 180.60n ± 11% 23.92n ± 4% -86.76% (p=0.000 n=10) -UnmarshalJSON/1234567890-32 139.50n ± 10% 21.21n ± 3% -84.79% (p=0.000 n=10) -UnmarshalJSON/0.1234567890123456879-32 449.70n ± 9% 41.25n ± 4% -90.83% (p=0.000 n=10) -UnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 662.6n ± 9% 537.6n ± 8% -18.87% (p=0.000 n=10) -MarshalBinary/1234567890123456789.1234567890123456879-32 48.72n ± 21% 28.57n ± 8% -41.35% (p=0.000 n=10) -MarshalBinary/123-32 34.52n ± 9% 22.99n ± 11% -33.40% (p=0.000 n=10) -MarshalBinary/123456.123456-32 48.67n ± 14% 20.11n ± 23% -58.68% (p=0.000 n=10) -MarshalBinary/1234567890-32 47.89n ± 24% 19.80n ± 29% -58.65% (p=0.000 n=10) -MarshalBinary/0.1234567890123456879-32 46.45n ± 10% 21.29n ± 37% -54.17% (p=0.000 n=10) -MarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 64.40n ± 33% 41.91n ± 22% -34.91% (p=0.003 n=10) -UnmarshalBinary/1234567890123456789.1234567890123456879-32 59.150n ± 31% 2.282n ± 2% -96.14% (p=0.000 n=10) -UnmarshalBinary/123-32 45.880n ± 15% 1.759n ± 3% -96.17% (p=0.000 n=10) -UnmarshalBinary/123456.123456-32 50.450n ± 25% 1.764n ± 3% -96.50% (p=0.000 n=10) -UnmarshalBinary/1234567890-32 65.140n ± 38% 1.732n ± 2% -97.34% (p=0.000 n=10) -UnmarshalBinary/0.1234567890123456879-32 45.120n ± 18% 1.770n ± 5% -96.08% (p=0.000 n=10) -UnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 72.44n ± 11% 82.59n ± 17% ~ (p=0.055 n=10) -geomean 183.7n 18.28n -90.05% +Parse/1234567890123456789.1234567890123456879-32 384.35n ± 10% 78.87n ± 7% -79.48% (p=0.000 n=10) +Parse/123-32 77.475n ± 13% 9.384n ± 7% -87.89% (p=0.000 n=10) +Parse/123456.123456-32 128.35n ± 5% 24.69n ± 6% -80.76% (p=0.000 n=10) +Parse/1234567890-32 82.47n ± 7% 21.62n ± 5% -73.79% (p=0.000 n=10) +Parse/0.1234567890123456879-32 262.30n ± 17% 42.38n ± 4% -83.84% (p=0.000 n=10) +ParseFallBack/123456789123456789123456.1234567890123456-32 373.2n ± 13% 477.1n ± 6% +27.83% (p=0.000 n=10) +ParseFallBack/111222333444555666777888999.1234567890123456789-32 418.5n ± 5% 440.6n ± 18% ~ (p=0.353 n=10) +String/1234567890123456789.1234567890123456879-32 284.45n ± 26% 94.91n ± 12% -66.63% (p=0.000 n=10) +String/123-32 110.55n ± 7% 16.45n ± 6% -85.12% (p=0.000 n=10) +String/123456.123456-32 133.00n ± 10% 39.88n ± 5% -70.01% (p=0.000 n=10) +String/1234567890-32 145.45n ± 18% 32.98n ± 11% -77.33% (p=0.000 n=10) +String/0.1234567890123456879-32 173.80n ± 15% 54.62n ± 6% -68.57% (p=0.000 n=10) +StringFallBack/123456789123456789123456.1234567890123456-32 394.1n ± 15% 292.6n ± 11% -25.73% (p=0.000 n=10) +StringFallBack/111222333444555666777888999.1234567890123456789-32 353.4n ± 26% 298.4n ± 17% -15.56% (p=0.001 n=10) +Add/1234567890123456789.1234567890123456879.Add(1111.1789)-32 384.650n ± 10% 5.348n ± 5% -98.61% (p=0.000 n=10) +Add/1234567890123456789.1234567890123456879.Add(1234567890123456789.1234567890123456789)-32 102.550n ± 10% 2.797n ± 4% -97.27% (p=0.000 n=10) +Add/123.456.Add(0.123)-32 97.220n ± 8% 2.789n ± 3% -97.13% (p=0.000 n=10) +Add/3.Add(7)-32 93.565n ± 8% 2.669n ± 4% -97.15% (p=0.000 n=10) +Add/123456.123456.Add(999999)-32 368.450n ± 12% 5.398n ± 5% -98.53% (p=0.000 n=10) +Add/123456.123456.Add(456781244.1324897546)-32 326.950n ± 13% 4.782n ± 4% -98.54% (p=0.000 n=10) +Add/548751.15465466546.Add(1542.456487)-32 346.550n ± 10% 5.421n ± 4% -98.44% (p=0.000 n=10) +Sub/3.Sub(7)-32 67.765n ± 9% 4.179n ± 3% -93.83% (p=0.000 n=10) +Sub/1234567890123456789.1234567890123456879.Sub(1111.1789)-32 376.150n ± 10% 6.496n ± 5% -98.27% (p=0.000 n=10) +Sub/1234567890123456789.1234567890123456879.Sub(1234567890123456789.1234567890123456789)-32 104.650n ± 9% 4.259n ± 4% -95.93% (p=0.000 n=10) +Sub/123.456.Sub(0.123)-32 64.670n ± 14% 4.178n ± 3% -93.54% (p=0.000 n=10) +Sub/123456.123456.Sub(456781244.1324897546)-32 312.400n ± 16% 6.380n ± 5% -97.96% (p=0.000 n=10) +Sub/548751.15465466546.Sub(1542.456487)-32 378.950n ± 7% 7.021n ± 4% -98.15% (p=0.000 n=10) +Mul/1234.1234567890123456879.Mul(1111.1789)-32 111.800n ± 5% 7.845n ± 3% -92.98% (p=0.000 n=10) +Mul/1234.1234567890123456879.Mul(1111.1234567890123456789)-32 121.450n ± 11% 8.242n ± 5% -93.21% (p=0.000 n=10) +Mul/123.456.Mul(0.123)-32 101.900n ± 11% 5.777n ± 6% -94.33% (p=0.000 n=10) +Mul/3.Mul(7)-32 104.600n ± 5% 5.429n ± 2% -94.81% (p=0.000 n=10) +Mul/123456.123456.Mul(999999)-32 102.350n ± 9% 5.564n ± 4% -94.56% (p=0.000 n=10) +Mul/123456.123456.Mul(456781244.1324897546)-32 100.300n ± 8% 5.548n ± 3% -94.47% (p=0.000 n=10) +Mul/548751.15465466546.Mul(1542.456487)-32 103.200n ± 6% 5.467n ± 4% -94.70% (p=0.000 n=10) +Div/1234567890123456789.1234567890123456879.Div(1111.1789)-32 531.550n ± 9% 7.947n ± 5% -98.50% (p=0.000 n=10) +Div/12345.1234567890123456879.Div(1111.1234567890123456789)-32 599.30n ± 35% 24.46n ± 4% -95.92% (p=0.000 n=10) +Div/1234567890123456789.1234567890123456879.Div(9876543210987654321.1234567890123456789)-32 489.35n ± 22% 17.44n ± 4% -96.44% (p=0.000 n=10) +Div/123.456.Div(0.123)-32 445.500n ± 8% 7.383n ± 5% -98.34% (p=0.000 n=10) +Div/3.Div(7)-32 523.050n ± 11% 7.394n ± 6% -98.59% (p=0.000 n=10) +Div/123456.123456.Div(999999)-32 444.800n ± 7% 7.200n ± 3% -98.38% (p=0.000 n=10) +Div/123456.123456.Div(456781244.1324897546)-32 557.050n ± 9% 7.387n ± 5% -98.67% (p=0.000 n=10) +Div/548751.15465466546.Div(1542.456487)-32 586.900n ± 12% 7.721n ± 4% -98.68% (p=0.000 n=10) +DivFallback/12345679012345679890123456789.1234567890123456789.Div(999999)-32 762.1n ± 7% 311.6n ± 17% -59.12% (p=0.000 n=10) +DivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 242.1n ± 87% 326.6n ± 11% ~ (p=0.481 n=10) +Pow/1.01.Pow(10)-32 724.70n ± 31% 38.25n ± 4% -94.72% (p=0.000 n=10) +Pow/1.01.Pow(100)-32 1.367µ ± 8% 1.122µ ± 5% -17.92% (p=0.000 n=10) +MarshalJSON/1234567890123456789.1234567890123456879-32 451.65n ± 6% 95.85n ± 5% -78.78% (p=0.000 n=10) +MarshalJSON/123-32 137.20n ± 12% 18.49n ± 3% -86.53% (p=0.000 n=10) +MarshalJSON/123456.123456-32 170.50n ± 10% 40.78n ± 5% -76.08% (p=0.000 n=10) +MarshalJSON/1234567890-32 189.25n ± 4% 33.61n ± 7% -82.24% (p=0.000 n=10) +MarshalJSON/0.1234567890123456879-32 204.70n ± 7% 58.34n ± 6% -71.50% (p=0.000 n=10) +MarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 523.6n ± 15% 439.9n ± 44% -15.99% (p=0.009 n=10) +UnmarshalJSON/1234567890123456789.1234567890123456879-32 488.90n ± 10% 83.82n ± 4% -82.86% (p=0.000 n=10) +UnmarshalJSON/123-32 133.250n ± 9% 8.751n ± 4% -93.43% (p=0.000 n=10) +UnmarshalJSON/123456.123456-32 180.60n ± 11% 23.81n ± 3% -86.81% (p=0.000 n=10) +UnmarshalJSON/1234567890-32 139.50n ± 10% 22.48n ± 3% -83.89% (p=0.000 n=10) +UnmarshalJSON/0.1234567890123456879-32 449.70n ± 9% 42.42n ± 4% -90.57% (p=0.000 n=10) +UnmarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 662.6n ± 9% 521.6n ± 5% -21.28% (p=0.000 n=10) +MarshalBinary/1234567890123456789.1234567890123456879-32 48.72n ± 21% 29.11n ± 13% -40.25% (p=0.000 n=10) +MarshalBinary/123-32 34.52n ± 9% 21.88n ± 11% -36.62% (p=0.000 n=10) +MarshalBinary/123456.123456-32 48.67n ± 14% 21.31n ± 15% -56.22% (p=0.000 n=10) +MarshalBinary/1234567890-32 47.89n ± 24% 19.16n ± 28% -60.01% (p=0.000 n=10) +MarshalBinary/0.1234567890123456879-32 46.45n ± 10% 15.08n ± 47% -67.53% (p=0.000 n=10) +MarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 64.40n ± 33% 48.75n ± 33% -24.31% (p=0.019 n=10) +UnmarshalBinary/1234567890123456789.1234567890123456879-32 59.150n ± 31% 2.256n ± 3% -96.19% (p=0.000 n=10) +UnmarshalBinary/123-32 45.880n ± 15% 1.800n ± 3% -96.08% (p=0.000 n=10) +UnmarshalBinary/123456.123456-32 50.450n ± 25% 1.825n ± 5% -96.38% (p=0.000 n=10) +UnmarshalBinary/1234567890-32 65.140n ± 38% 1.790n ± 5% -97.25% (p=0.000 n=10) +UnmarshalBinary/0.1234567890123456879-32 45.120n ± 18% 1.854n ± 5% -95.89% (p=0.000 n=10) +UnmarshalBinary/12345678901234567891234567890123456789.1234567890123456879-32 72.44n ± 11% 75.91n ± 24% ~ (p=0.684 n=10) +geomean 183.7n 18.93n -89.69% │ shopspring │ udecimal │ │ B/op │ B/op vs base │ @@ -125,11 +125,11 @@ DivFallback/1234.Div(12345679012345679890123456789.1234567890123456789)-32 Pow/1.01.Pow(10)-32 576.0 ± 0% 0.0 ± 0% -100.00% (p=0.000 n=10) Pow/1.01.Pow(100)-32 1072.0 ± 0% 817.0 ± 0% -23.79% (p=0.000 n=10) MarshalJSON/1234567890123456789.1234567890123456879-32 336.00 ± 0% 48.00 ± 0% -85.71% (p=0.000 n=10) -MarshalJSON/123-32 56.000 ± 0% 5.000 ± 0% -91.07% (p=0.000 n=10) +MarshalJSON/123-32 56.000 ± 0% 8.000 ± 0% -85.71% (p=0.000 n=10) MarshalJSON/123456.123456-32 72.00 ± 0% 16.00 ± 0% -77.78% (p=0.000 n=10) MarshalJSON/1234567890-32 88.00 ± 0% 16.00 ± 0% -81.82% (p=0.000 n=10) MarshalJSON/0.1234567890123456879-32 104.00 ± 0% 24.00 ± 0% -76.92% (p=0.000 n=10) -MarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 448.0 ± 0% 320.0 ± 0% -28.57% (p=0.000 n=10) +MarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 448.0 ± 0% 384.0 ± 0% -14.29% (p=0.000 n=10) UnmarshalJSON/1234567890123456789.1234567890123456879-32 240.0 ± 0% 0.0 ± 0% -100.00% (p=0.000 n=10) UnmarshalJSON/123-32 72.00 ± 0% 0.00 ± 0% -100.00% (p=0.000 n=10) UnmarshalJSON/123456.123456-32 96.00 ± 0% 0.00 ± 0% -100.00% (p=0.000 n=10) @@ -206,7 +206,7 @@ MarshalJSON/123-32 MarshalJSON/123456.123456-32 5.000 ± 0% 1.000 ± 0% -80.00% (p=0.000 n=10) MarshalJSON/1234567890-32 5.000 ± 0% 1.000 ± 0% -80.00% (p=0.000 n=10) MarshalJSON/0.1234567890123456879-32 5.000 ± 0% 1.000 ± 0% -80.00% (p=0.000 n=10) -MarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 7.000 ± 0% 5.000 ± 0% -28.57% (p=0.000 n=10) +MarshalJSON/12345678901234567891234567890123456789.1234567890123456879-32 7.000 ± 0% 6.000 ± 0% -14.29% (p=0.000 n=10) UnmarshalJSON/1234567890123456789.1234567890123456879-32 7.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=10) UnmarshalJSON/123-32 4.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=10) UnmarshalJSON/123456.123456-32 5.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=10) diff --git a/codec.go b/codec.go index cefb9cc..0209393 100644 --- a/codec.go +++ b/codec.go @@ -19,7 +19,7 @@ func (d Decimal) String() string { } if !d.coef.overflow() { - return d.stringU128(true) + return d.stringU128(true, false) } return d.stringBigInt(true) @@ -33,7 +33,7 @@ func (d Decimal) StringFixed(prec uint8) string { d1 := d.rescale(prec) if !d1.coef.overflow() { - return d1.stringU128(false) + return d1.stringU128(false, false) } return d1.stringBigInt(false) @@ -101,14 +101,15 @@ var ( digitBytes = [10]byte{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'} ) -func (d Decimal) stringU128(trimTrailingZeros bool) string { - return unsafeBytesToString(d.bytesU128(trimTrailingZeros)) +func (d Decimal) stringU128(trimTrailingZeros bool, withQuote bool) string { + return unsafeBytesToString(d.bytesU128(trimTrailingZeros, withQuote)) } // bytesU128 returns the byte representation of the decimal if the coefficient is u128. -func (d Decimal) bytesU128(trimTrailingZeros bool) []byte { +func (d Decimal) bytesU128(trimTrailingZeros bool, withQuote bool) []byte { + var totalLen uint8 byteLen := maxByteMap[d.coef.u128.bitLen()] - var buf []byte + if trimTrailingZeros { // if d.prec > byteLen, that means we need to allocate upto d.prec to cover all the zeros of the fraction part // e.g. 0.00000123, prec = 8, byteLen = 3 --> we need to allocate 8 bytes for the fraction part @@ -116,17 +117,38 @@ func (d Decimal) bytesU128(trimTrailingZeros bool) []byte { byteLen = d.prec + 1 // 1 for zero in the whole part } - buf = make([]byte, byteLen+2) // 1 sign + 1 dot + totalLen = byteLen + 2 } else { // if not trimming trailing zeros, we can safely allocate 41 bytes // 1 sign + 1 dot + len(u128) (which is max to 39 bytes) - buf = []byte("00000000000000000000000000000000000000000") + // buf = []byte("00000000000000000000000000000000000000000") + totalLen = 41 } + if withQuote { + // if withQuote is true, we need to add quotes at the beginning and the end + totalLen += 2 + buf := make([]byte, totalLen) + n := d.fillBuffer(buf[1:len(buf)-1], trimTrailingZeros) + + n += 2 // 1 for quote offset at buf[l-1], 1 for moving the index to next position + l := len(buf) + buf[l-1], buf[l-n] = '"', '"' + return buf[l-n:] + } + + buf := make([]byte, totalLen) + n := d.fillBuffer(buf, trimTrailingZeros) + + return buf[len(buf)-n:] +} + +func (d Decimal) fillBuffer(buf []byte, trimTrailingZeros bool) int { quo, rem := d.coef.u128.QuoRem64(pow10[d.prec].lo) // max prec is 19, so we can safely use QuoRem64 + + prec := d.prec l := len(buf) n := 0 - prec := d.prec if rem != 0 { if trimTrailingZeros { @@ -175,7 +197,7 @@ func (d Decimal) bytesU128(trimTrailingZeros bool) []byte { buf[l-n] = '-' } - return buf[l-n:] + return n } func quoRem64(u u128, v uint64) (q u128, r uint64) { @@ -196,15 +218,15 @@ func unssafeStringToBytes(s string) []byte { func (d Decimal) MarshalJSON() ([]byte, error) { if !d.coef.overflow() { - return d.bytesU128(true), nil + return d.bytesU128(true, true), nil } - return []byte(d.stringBigInt(true)), nil + return []byte(`"` + d.stringBigInt(true) + `"`), nil } func (d *Decimal) UnmarshalJSON(data []byte) error { var err error - *d, err = Parse(unsafeBytesToString(data)) + *d, err = parseBytes(data) return err } diff --git a/codec_test.go b/codec_test.go index 4b0d476..bd93336 100644 --- a/codec_test.go +++ b/codec_test.go @@ -64,10 +64,10 @@ func TestMarshalJSON(t *testing.T) { testcases := []struct { in string }{ + {"123456789.123456789"}, {"0"}, {"1"}, {"-1"}, - {"123456789.123456789"}, {"-123456789.123456789"}, {"0.000000001"}, {"-0.000000001"}, diff --git a/doc_test.go b/doc_test.go index 59df7d2..5d9bb28 100644 --- a/doc_test.go +++ b/doc_test.go @@ -270,9 +270,9 @@ func ExampleDecimal_MarshalJSON() { fmt.Println(string(b)) fmt.Println(string(c)) // Output: - // 1.23 - // -1.2345 - // 1234567890123456789.1234567890123456789 + // "1.23" + // "-1.2345" + // "1234567890123456789.1234567890123456789" } func ExampleDecimal_Neg() {