]> Cypherpunks repositories - gostls13.git/commit
runtime: faster chan creation on Linux/FreeBSD/Plan9
authorDmitriy Vyukov <dvyukov@google.com>
Thu, 4 Aug 2011 12:31:03 +0000 (08:31 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 4 Aug 2011 12:31:03 +0000 (08:31 -0400)
commitd770aadee5063ecc54ca8f57fc4906972a2de033
treef38c9cb08fcb79c4bd098e03a445f646eeb35ab8
parent62d4b8ebd2c00e3c3d54d05dc7fe56d829b5aa01
runtime: faster chan creation on Linux/FreeBSD/Plan9
The change removes chan finalizer (Lock destructor)
if it is not required on the platform.

benchmark                    old ns/op    new ns/op    delta
BenchmarkChanCreation          1132.00       381.00  -66.34%
BenchmarkChanCreation-2        1215.00       243.00  -80.00%
BenchmarkChanCreation-4        1084.00       186.00  -82.84%
BenchmarkChanCreation-8        1415.00       154.00  -89.12%
BenchmarkChanCreation-16       1386.00       144.00  -89.61%
(on 2 x Intel Xeon E5620, 8 HT cores, 2.4 GHz, Linux)

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4841041
src/pkg/runtime/chan.c
src/pkg/runtime/chan_test.go
src/pkg/runtime/darwin/thread.c
src/pkg/runtime/freebsd/thread.c
src/pkg/runtime/linux/thread.c
src/pkg/runtime/plan9/thread.c
src/pkg/runtime/runtime.c
src/pkg/runtime/runtime.h
src/pkg/runtime/windows/thread.c