dcrd/internal
Dave Collins 4653cbc774
uint256: Add text formatting benchmarks.
The following is a comparison between stdlib big integers (old) and the
specialized type (new) averaging 10 runs each:

name             old time/op     new time/op     delta
---------------------------------------------------------------------------
Text/base_2      579ns ± 3%      496ns ± 2%      -14.37%  (p=0.000 n=10+10)
Text/base_8      266ns ± 1%      227ns ± 1%      -14.58%  (p=0.000 n=10+10)
Text/base_10     536ns ± 1%      458ns ± 2%      -14.58%  (p=0.000 n=10+10)
Text/base_16     205ns ± 2%      180ns ± 4%      -11.90%  (p=0.000 n=10+10)
Format/base_2    987ns ±15%      852ns ± 2%      -13.64%  (p=0.000 n=10+10)
Format/base_8    620ns ± 6%      544ns ± 3%      -12.31%  (p=0.000 n=10+10)
Format/base_10   888ns ± 1%      726ns ± 1%      -18.25%  (p=0.000 n=10+10)
Format/base_16   565ns ± 1%      449ns ± 1%      -20.41%  (p=0.000 n=10+10)

name             old allocs/op   new allocs/op   delta
--------------------------------------------------------------------------
Text/base_2      2.00 ± 0%       2.00 ± 0%         ~     (all equal)
Text/base_8      2.00 ± 0%       2.00 ± 0%         ~     (all equal)
Text/base_10     3.00 ± 0%       2.00 ± 0%      -33.33%  (p=0.000 n=10+10)
Text/base_16     2.00 ± 0%       2.00 ± 0%         ~     (all equal)
Format/base_2    5.00 ± 0%       3.00 ± 0%      -40.00%  (p=0.000 n=10+10)
Format/base_8    5.00 ± 0%       3.00 ± 0%      -40.00%  (p=0.000 n=10+10)
Format/base_10   6.00 ± 0%       3.00 ± 0%      -50.00%  (p=0.000 n=10+10)
Format/base_16   5.00 ± 0%       3.00 ± 0%      -40.00%  (p=0.000 n=10+10)

This is part of a series of commits to fully implement the uint256
package.
2021-11-19 17:04:19 -06:00
..
fees fees: Remove deprecated DisableLog. 2020-12-28 13:13:47 -06:00
limits multi: update build tags to pref. go1.17 syntax. 2021-10-19 20:21:44 -05:00
mempool mempool: Convert to use stdscript. 2021-11-18 12:33:40 -06:00
mining mining: Convert to use stdscript. 2021-11-18 12:33:39 -06:00
netsync multi: Move last ann block from peer to netsync. 2021-11-19 13:02:15 -06:00
progresslog multi: Don't use deprecated ioutil package. 2021-09-01 06:09:37 -05:00
rpcserver rpcserver: Convert to use stdscript. 2021-11-18 12:55:12 -06:00
staging/primitives/uint256 uint256: Add text formatting benchmarks. 2021-11-19 17:04:19 -06:00
version version: Use uint32 for major/minor/patch. 2021-11-10 07:08:23 -06:00