• Dmitriy Vyukov's avatar
    runtime: eliminate contention during stack allocation · c9152a85
    Dmitriy Vyukov authored
    Standard-sized stack frames use plain malloc/free
    instead of centralized lock-protected FixAlloc.
    Benchmark results on HP Z600 (2 x Xeon E5620, 8 HT cores, 2.40GHz)
    are as follows:
    benchmark                                        old ns/op    new ns/op    delta
    BenchmarkStackGrowth                               1045.00       949.00   -9.19%
    BenchmarkStackGrowth-2                             3450.00       800.00  -76.81%
    BenchmarkStackGrowth-4                             5076.00       513.00  -89.89%
    BenchmarkStackGrowth-8                             7805.00       471.00  -93.97%
    BenchmarkStackGrowth-16                           11751.00       321.00  -97.27%
    
    R=golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/4657091
    c9152a85
Name
Last commit
Last update
..
cmd Loading commit data...
lib9 Loading commit data...
libbio Loading commit data...
libmach Loading commit data...
pkg Loading commit data...
Make.ccmd Loading commit data...
Make.clib Loading commit data...
Make.cmd Loading commit data...
Make.common Loading commit data...
Make.inc Loading commit data...
Make.pkg Loading commit data...
all-qemu.bash Loading commit data...
all.bash Loading commit data...
clean.bash Loading commit data...
env.bash Loading commit data...
make.bash Loading commit data...
quietgcc.bash Loading commit data...
run.bash Loading commit data...
sudo.bash Loading commit data...
version.bash Loading commit data...