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
This commit is contained in:
Dmitriy Vyukov 2011-08-04 08:31:03 -04:00 committed by Russ Cox
parent 62d4b8ebd2
commit d770aadee5
9 changed files with 34 additions and 26 deletions

View file

@ -199,11 +199,6 @@ runtime·unlock(Lock *l)
futexunlock(l);
}
void
runtime·destroylock(Lock*)
{
}
// One-time notifications.
void