From d770aadee5063ecc54ca8f57fc4906972a2de033 Mon Sep 17 00:00:00 2001 From: Dmitriy Vyukov Date: Thu, 4 Aug 2011 08:31:03 -0400 Subject: 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/runtime.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/pkg/runtime/runtime.c') diff --git a/src/pkg/runtime/runtime.c b/src/pkg/runtime/runtime.c index c572897d2c..57c0873306 100644 --- a/src/pkg/runtime/runtime.c +++ b/src/pkg/runtime/runtime.c @@ -10,6 +10,7 @@ enum { }; uint32 runtime·panicking; +void (*runtime·destroylock)(Lock*); /* * We assume that all architectures turn faults and the like -- cgit v1.3