• 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
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...