]> Cypherpunks repositories - gostls13.git/commit
runtime: add maxSliceCap
authorJosh Bleecher Snyder <josharian@gmail.com>
Tue, 19 Apr 2016 16:18:59 +0000 (09:18 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 19 Apr 2016 21:38:52 +0000 (21:38 +0000)
commita4dd6ea1524901fab5deac60772345babd058ae7
tree413af3884aff44e753fe46c98cb4f66f95763a7c
parent55ab07c224a358cabe795fb1e52a627194d7daee
runtime: add maxSliceCap

This avoids expensive division calculations
for many common slice element sizes.

name                      old time/op  new time/op  delta
MakeSlice-8               51.9ns ± 3%  35.1ns ± 2%  -32.41%  (p=0.000 n=10+10)
GrowSliceBytes-8          44.1ns ± 2%  44.1ns ± 1%     ~     (p=0.984 n=10+10)
GrowSliceInts-8           60.9ns ± 3%  60.9ns ± 3%     ~     (p=0.698 n=10+10)
GrowSlicePtr-8             131ns ± 1%   120ns ± 2%   -8.41%   (p=0.000 n=8+10)
GrowSliceStruct24Bytes-8   111ns ± 2%   103ns ± 3%   -7.23%    (p=0.000 n=8+8)

Change-Id: I2630eb3d73c814db030cad16e620ea7fecbbd312
Reviewed-on: https://go-review.googlesource.com/22223
Reviewed-by: Keith Randall <khr@golang.org>
src/runtime/malloc.go
src/runtime/slice.go