• Dmitriy Vyukov's avatar
    cmd/gc: allocate select descriptor on stack · 40d7d5a6
    Dmitriy Vyukov authored
    benchmark                      old ns/op     new ns/op     delta
    BenchmarkSelectUncontended     220           165           -25.00%
    BenchmarkSelectContended       209           161           -22.97%
    BenchmarkSelectProdCons        1042          904           -13.24%
    
    But more importantly this change will allow
    to get rid of free function in runtime.
    
    Fixes #6494.
    
    LGTM=rsc, khr
    R=golang-codereviews, rsc, dominik.honnef, khr
    CC=golang-codereviews, remyoudompheng
    https://golang.org/cl/107670043
    40d7d5a6
Name
Last commit
Last update
..
Makefile Loading commit data...
align.c Loading commit data...
array.c Loading commit data...
bisonerrors Loading commit data...
bits.c Loading commit data...
builtin.c Loading commit data...
bv.c Loading commit data...
closure.c Loading commit data...
const.c Loading commit data...
cplx.c Loading commit data...
dcl.c Loading commit data...
doc.go Loading commit data...
esc.c Loading commit data...
export.c Loading commit data...
fmt.c Loading commit data...
gen.c Loading commit data...
go.errors Loading commit data...
go.h Loading commit data...
go.y Loading commit data...
init.c Loading commit data...
inl.c Loading commit data...
lex.c Loading commit data...
md5.c Loading commit data...
md5.h Loading commit data...
mkbuiltin Loading commit data...
mkbuiltin1.c Loading commit data...
mkopnames Loading commit data...
mparith1.c Loading commit data...
mparith2.c Loading commit data...
mparith3.c Loading commit data...
obj.c Loading commit data...
order.c Loading commit data...
pgen.c Loading commit data...
plive.c Loading commit data...
popt.c Loading commit data...
popt.h Loading commit data...
racewalk.c Loading commit data...
range.c Loading commit data...
reflect.c Loading commit data...
runtime.go Loading commit data...
select.c Loading commit data...
sinit.c Loading commit data...
subr.c Loading commit data...
swt.c Loading commit data...
typecheck.c Loading commit data...
unsafe.c Loading commit data...
unsafe.go Loading commit data...
walk.c Loading commit data...
y.tab.c Loading commit data...
y.tab.h Loading commit data...
yerr.h Loading commit data...