]> Cypherpunks repositories - gostls13.git/commit
runtime: eliminate false sharing during stack growth
authorDmitriy Vyukov <dvyukov@google.com>
Tue, 12 Jul 2011 17:56:21 +0000 (10:56 -0700)
committerRuss Cox <rsc@golang.org>
Tue, 12 Jul 2011 17:56:21 +0000 (10:56 -0700)
commit86e7323bdf8cb2c614ff6b63ca5909f484db8642
tree1e69d90c47e21a5c28cffd979a7bdcbd268ed951
parent88e0c0517aa0dfdb45441bb361009cd4866afb22
runtime: eliminate false sharing during stack growth
Remove static variable from runtimeĀ·oldstack().
Benchmark results on HP Z600 (2 x Xeon E5620, 8 HT cores, 2.40GHz)
are as follows (with CL 4657091 applied):
benchmark                                        old ns/op    new ns/op    delta
BenchmarkStackGrowth                               1183.00      1180.00   -0.25%
BenchmarkStackGrowth-2                             1249.00      1211.00   -3.04%
BenchmarkStackGrowth-4                              954.00       805.00  -15.62%
BenchmarkStackGrowth-8                              701.00       683.00   -2.57%
BenchmarkStackGrowth-16                             465.00       415.00  -10.75%

R=rsc
CC=golang-dev
https://golang.org/cl/4693042
src/pkg/runtime/proc.c