Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updated after benchmark. During object slicing we create object for each part, we may reuse it, just resetting some fields. │ old.txt │ new.txt │ │ sec/op │ sec/op vs base │ SliceDataIntoObjects/slice_1-128/reader-16 106.71µ ± ∞ ¹ 64.06µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1-128/writer-16 110.32µ ± ∞ ¹ 65.76µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4-128/reader-16 109.83µ ± ∞ ¹ 61.09µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4-128/writer-16 113.74µ ± ∞ ¹ 63.21µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16-128/reader-16 108.11µ ± ∞ ¹ 63.71µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16-128/writer-16 112.33µ ± ∞ ¹ 66.81µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_64-128/reader-16 113.14µ ± ∞ ¹ 62.64µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_64-128/writer-16 121.37µ ± ∞ ¹ 65.29µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_256-128/reader-16 107.53µ ± ∞ ¹ 65.86µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_256-128/writer-16 232.0µ ± ∞ ¹ 245.8µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1024-128/reader-16 111.45µ ± ∞ ¹ 67.47µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1024-128/writer-16 600.3µ ± ∞ ¹ 623.9µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4096-128/reader-16 112.14µ ± ∞ ¹ 63.59µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4096-128/writer-16 2.014m ± ∞ ¹ 1.978m ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16384-128/reader-16 109.55µ ± ∞ ¹ 61.47µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16384-128/writer-16 7.637m ± ∞ ¹ 6.874m ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_65536-128/reader-16 117.70µ ± ∞ ¹ 67.41µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_65536-128/writer-16 30.22m ± ∞ ¹ 27.09m ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_262144-128/reader-16 123.20µ ± ∞ ¹ 72.06µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_262144-128/writer-16 111.4m ± ∞ ¹ 106.2m ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1048576-128/reader-16 194.2µ ± ∞ ¹ 105.3µ ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1048576-128/writer-16 495.5m ± ∞ ¹ 430.6m ± ∞ ¹ ~ (p=1.000 n=1) ² geomean 459.0µ 310.1µ -32.44% ¹ need >= 6 samples for confidence interval at level 0.95 ² need >= 4 samples to detect a difference at alpha level 0.05 │ old.txt │ new.txt │ │ B/op │ B/op vs base │ SliceDataIntoObjects/slice_1-128/reader-16 13.064Ki ± ∞ ¹ 9.797Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1-128/writer-16 14.283Ki ± ∞ ¹ 9.672Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4-128/reader-16 14.690Ki ± ∞ ¹ 8.921Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4-128/writer-16 15.910Ki ± ∞ ¹ 8.796Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16-128/reader-16 14.190Ki ± ∞ ¹ 9.797Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16-128/writer-16 15.347Ki ± ∞ ¹ 9.672Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_64-128/reader-16 16.316Ki ± ∞ ¹ 9.390Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_64-128/writer-16 17.536Ki ± ∞ ¹ 9.265Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_256-128/reader-16 13.441Ki ± ∞ ¹ 9.735Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_256-128/writer-16 30.20Ki ± ∞ ¹ 31.49Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1024-128/reader-16 15.70Ki ± ∞ ¹ 11.02Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1024-128/writer-16 77.03Ki ± ∞ ¹ 75.16Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4096-128/reader-16 15.710Ki ± ∞ ¹ 9.745Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4096-128/writer-16 247.3Ki ± ∞ ¹ 220.1Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16384-128/reader-16 14.766Ki ± ∞ ¹ 8.961Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16384-128/writer-16 926.9Ki ± ∞ ¹ 792.7Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_65536-128/reader-16 16.69Ki ± ∞ ¹ 10.44Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_65536-128/writer-16 3.569Mi ± ∞ ¹ 3.054Mi ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_262144-128/reader-16 17.28Ki ± ∞ ¹ 11.09Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_262144-128/writer-16 13.88Mi ± ∞ ¹ 12.26Mi ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1048576-128/reader-16 23.90Ki ± ∞ ¹ 15.01Ki ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1048576-128/writer-16 57.21Mi ± ∞ ¹ 48.96Mi ± ∞ ¹ ~ (p=1.000 n=1) ² geomean 60.34Ki 42.88Ki -28.94% ¹ need >= 6 samples for confidence interval at level 0.95 ² need >= 4 samples to detect a difference at alpha level 0.05 │ old.txt │ new.txt │ │ allocs/op │ allocs/op vs base │ SliceDataIntoObjects/slice_1-128/reader-16 198.0 ± ∞ ¹ 154.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1-128/writer-16 220.0 ± ∞ ¹ 153.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4-128/reader-16 224.0 ± ∞ ¹ 141.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4-128/writer-16 246.0 ± ∞ ¹ 140.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16-128/reader-16 217.0 ± ∞ ¹ 154.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16-128/writer-16 238.0 ± ∞ ¹ 153.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_64-128/reader-16 248.0 ± ∞ ¹ 148.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_64-128/writer-16 270.0 ± ∞ ¹ 147.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_256-128/reader-16 205.0 ± ∞ ¹ 153.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_256-128/writer-16 460.0 ± ∞ ¹ 472.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1024-128/reader-16 236.0 ± ∞ ¹ 171.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1024-128/writer-16 1.194k ± ∞ ¹ 1.128k ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4096-128/reader-16 236.0 ± ∞ ¹ 153.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_4096-128/writer-16 3.860k ± ∞ ¹ 3.266k ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16384-128/reader-16 225.0 ± ∞ ¹ 141.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_16384-128/writer-16 14.49k ± ∞ ¹ 11.77k ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_65536-128/reader-16 253.0 ± ∞ ¹ 162.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_65536-128/writer-16 57.18k ± ∞ ¹ 46.44k ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_262144-128/reader-16 260.0 ± ∞ ¹ 172.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_262144-128/writer-16 221.6k ± ∞ ¹ 184.7k ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1048576-128/reader-16 358.0 ± ∞ ¹ 229.0 ± ∞ ¹ ~ (p=1.000 n=1) ² SliceDataIntoObjects/slice_1048576-128/writer-16 909.7k ± ∞ ¹ 737.8k ± ∞ ¹ ~ (p=1.000 n=1) ² geomean 924.5 661.1 -28.49% ¹ need >= 6 samples for confidence interval at level 0.95 ² need >= 4 samples to detect a difference at alpha level 0.05 Signed-off-by: Evgenii Baidakov <evgenii@nspcc.io>
- Loading branch information