]> Cypherpunks.ru repositories - gostls13.git/commit
runtime: faster finalizers
authorDmitriy Vyukov <dvyukov@google.com>
Thu, 6 Oct 2011 15:42:51 +0000 (18:42 +0300)
committerDmitriy Vyukov <dvyukov@google.com>
Thu, 6 Oct 2011 15:42:51 +0000 (18:42 +0300)
commitc14b2689f0d4e2250f4f57a5c2992c0a5e0f6823
treef1ac1a31cdafa685557a14a5b3b326bd0cd92399
parentad35cea7622a6fb839f06bb5b46cee9110fa94a0
runtime: faster finalizers

Linux/amd64, 2 x Intel Xeon E5620, 8 HT cores, 2.40GHz
benchmark                    old ns/op    new ns/op    delta
BenchmarkFinalizer              420.00       261.00  -37.86%
BenchmarkFinalizer-2            985.00       201.00  -79.59%
BenchmarkFinalizer-4           1077.00       244.00  -77.34%
BenchmarkFinalizer-8           1155.00       180.00  -84.42%
BenchmarkFinalizer-16          1182.00       184.00  -84.43%

BenchmarkFinalizerRun          2128.00      1378.00  -35.24%
BenchmarkFinalizerRun-2        1655.00      1418.00  -14.32%
BenchmarkFinalizerRun-4        1634.00      1522.00   -6.85%
BenchmarkFinalizerRun-8        2213.00      1581.00  -28.56%
BenchmarkFinalizerRun-16       2424.00      1599.00  -34.03%

Darwin/amd64, Intel L9600, 2 cores, 2.13GHz
benchmark                    old ns/op    new ns/op    delta
BenchmarkChanCreation          1451.00       926.00  -36.18%
BenchmarkChanCreation-2        3124.00      1412.00  -54.80%
BenchmarkChanCreation-4        6121.00      2628.00  -57.07%

BenchmarkFinalizer              684.00       420.00  -38.60%
BenchmarkFinalizer-2          11195.00       398.00  -96.44%
BenchmarkFinalizer-4          15862.00       654.00  -95.88%

BenchmarkFinalizerRun          2025.00      1397.00  -31.01%
BenchmarkFinalizerRun-2        3920.00      1447.00  -63.09%
BenchmarkFinalizerRun-4        9471.00      1545.00  -83.69%

R=golang-dev, cw, rsc
CC=golang-dev
https://golang.org/cl/4963057
32 files changed:
src/pkg/runtime/386/arch.h
src/pkg/runtime/amd64/arch.h
src/pkg/runtime/amd64/traceback.c
src/pkg/runtime/arm/arch.h
src/pkg/runtime/arm/traceback.c
src/pkg/runtime/cpuprof.c
src/pkg/runtime/darwin/mem.c
src/pkg/runtime/extern.go
src/pkg/runtime/freebsd/mem.c
src/pkg/runtime/iface.c
src/pkg/runtime/linux/mem.c
src/pkg/runtime/malloc.goc
src/pkg/runtime/malloc.h
src/pkg/runtime/mcache.c
src/pkg/runtime/mcentral.c
src/pkg/runtime/mfinal.c
src/pkg/runtime/mfinal_test.go [new file with mode: 0644]
src/pkg/runtime/mfixalloc.c
src/pkg/runtime/mgc0.c
src/pkg/runtime/mheap.c
src/pkg/runtime/mprof.goc
src/pkg/runtime/msize.c
src/pkg/runtime/openbsd/mem.c
src/pkg/runtime/openbsd/os.h
src/pkg/runtime/plan9/mem.c
src/pkg/runtime/runtime.h
src/pkg/runtime/sema.goc
src/pkg/runtime/slice.c
src/pkg/runtime/string.goc
src/pkg/runtime/windows/mem.c
test/mallocfin.go
test/mallocrep.go