• Dmitriy Vyukov's avatar
    runtime: speedup GC sweep phase (batch free) · 4945fc8e
    Dmitriy Vyukov authored
    benchmark                             old ns/op    new ns/op    delta
    garbage.BenchmarkParser              4370050250   3779668750  -13.51%
    garbage.BenchmarkParser-2            3713087000   3628771500   -2.27%
    garbage.BenchmarkParser-4            3519755250   3406349750   -3.22%
    garbage.BenchmarkParser-8            3386627750   3319144000   -1.99%
    
    garbage.BenchmarkTree                 493585529    408102411  -17.32%
    garbage.BenchmarkTree-2               500487176    402285176  -19.62%
    garbage.BenchmarkTree-4               473238882    361484058  -23.61%
    garbage.BenchmarkTree-8               486977823    368334823  -24.36%
    
    garbage.BenchmarkTree2                 31446600     31203200   -0.77%
    garbage.BenchmarkTree2-2               21469000     21077900   -1.82%
    garbage.BenchmarkTree2-4               11007600     10899100   -0.99%
    garbage.BenchmarkTree2-8                7692400      7032600   -8.58%
    
    garbage.BenchmarkParserPause          241863263    163249450  -32.50%
    garbage.BenchmarkParserPause-2        120135418    112981575   -5.95%
    garbage.BenchmarkParserPause-4         83411552     64580700  -22.58%
    garbage.BenchmarkParserPause-8         51870697     42207244  -18.63%
    
    garbage.BenchmarkTreePause             20940474     13147011  -37.22%
    garbage.BenchmarkTreePause-2           20115124     11146715  -44.59%
    garbage.BenchmarkTreePause-4           17217584      7486327  -56.52%
    garbage.BenchmarkTreePause-8           18258845      7400871  -59.47%
    
    garbage.BenchmarkTree2Pause           174067190    172674190   -0.80%
    garbage.BenchmarkTree2Pause-2         131175809    130615761   -0.43%
    garbage.BenchmarkTree2Pause-4          95406666     93972047   -1.50%
    garbage.BenchmarkTree2Pause-8          86056095     85334952   -0.84%
    
    garbage.BenchmarkParserLastPause      329932000    324790000   -1.56%
    garbage.BenchmarkParserLastPause-2    209383000    210456000   +0.51%
    garbage.BenchmarkParserLastPause-4    113981000    112921000   -0.93%
    garbage.BenchmarkParserLastPause-8     77967000     76625000   -1.72%
    
    garbage.BenchmarkTreeLastPause         29752000     18444000  -38.01%
    garbage.BenchmarkTreeLastPause-2       24274000     14766000  -39.17%
    garbage.BenchmarkTreeLastPause-4       19565000      8726000  -55.40%
    garbage.BenchmarkTreeLastPause-8       21956000     10530000  -52.04%
    
    garbage.BenchmarkTree2LastPause       314411000    311945000   -0.78%
    garbage.BenchmarkTree2LastPause-2     214641000    210836000   -1.77%
    garbage.BenchmarkTree2LastPause-4     110024000    108943000   -0.98%
    garbage.BenchmarkTree2LastPause-8      76873000     70263000   -8.60%
    
    R=golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/5991049
    4945fc8e
Name
Last commit
Last update
..
cgo Loading commit data...
debug Loading commit data...
pprof Loading commit data...
Makefile Loading commit data...
alg.c Loading commit data...
append_test.go Loading commit data...
arch_386.h Loading commit data...
arch_amd64.h Loading commit data...
arch_arm.h Loading commit data...
asm_386.s Loading commit data...
asm_amd64.s Loading commit data...
asm_arm.s Loading commit data...
atomic_386.c Loading commit data...
atomic_amd64.c Loading commit data...
atomic_arm.c Loading commit data...
callback_windows_386.c Loading commit data...
callback_windows_amd64.c Loading commit data...
cgocall.c Loading commit data...
cgocall.h Loading commit data...
chan.c Loading commit data...
chan_test.go Loading commit data...
closure_386.c Loading commit data...
closure_amd64.c Loading commit data...
closure_arm.c Loading commit data...
closure_test.go Loading commit data...
compiler.go Loading commit data...
complex.c Loading commit data...
cpuprof.c Loading commit data...
debug.go Loading commit data...
defs1_linux.go Loading commit data...
defs2_linux.go Loading commit data...
defs_arm_linux.go Loading commit data...
defs_darwin.go Loading commit data...
defs_darwin_386.h Loading commit data...
defs_darwin_amd64.h Loading commit data...
defs_freebsd.go Loading commit data...
defs_freebsd_386.h Loading commit data...
defs_freebsd_amd64.h Loading commit data...
defs_linux.go Loading commit data...
defs_linux_386.h Loading commit data...
defs_linux_amd64.h Loading commit data...
defs_linux_arm.h Loading commit data...
defs_netbsd.go Loading commit data...
defs_netbsd_386.h Loading commit data...
defs_netbsd_amd64.h Loading commit data...
defs_openbsd.go Loading commit data...
defs_openbsd_386.h Loading commit data...
defs_openbsd_amd64.h Loading commit data...
defs_plan9_386.h Loading commit data...
defs_windows.go Loading commit data...
defs_windows_386.h Loading commit data...
defs_windows_amd64.h Loading commit data...
error.go Loading commit data...
export_test.go Loading commit data...
extern.go Loading commit data...
float.c Loading commit data...
gc_test.go Loading commit data...
hashmap.c Loading commit data...
hashmap.h Loading commit data...
iface.c Loading commit data...
iface_test.go Loading commit data...
lfstack.c Loading commit data...
lfstack_test.go Loading commit data...
lock_futex.c Loading commit data...
lock_sema.c Loading commit data...
malloc.goc Loading commit data...
malloc.h Loading commit data...
malloc1.go Loading commit data...
mallocrand.go Loading commit data...
mallocrep.go Loading commit data...
mallocrep1.go Loading commit data...
mcache.c Loading commit data...
mcentral.c Loading commit data...
mem.go Loading commit data...
mem_darwin.c Loading commit data...
mem_freebsd.c Loading commit data...
mem_linux.c Loading commit data...
mem_netbsd.c Loading commit data...
mem_openbsd.c Loading commit data...
mem_plan9.c Loading commit data...
mem_windows.c Loading commit data...
memmove_386.s Loading commit data...
memmove_amd64.s Loading commit data...
memmove_arm.s Loading commit data...
memset_arm.s Loading commit data...
mfinal.c Loading commit data...
mfinal_test.go Loading commit data...
mfixalloc.c Loading commit data...
mgc0.c Loading commit data...
mheap.c Loading commit data...
mkasmh.sh Loading commit data...
mkversion.c Loading commit data...
mprof.goc Loading commit data...
msize.c Loading commit data...
os_darwin.h Loading commit data...
os_freebsd.h Loading commit data...
os_linux.h Loading commit data...
os_netbsd.h Loading commit data...
os_openbsd.h Loading commit data...
os_plan9.h Loading commit data...
os_windows.h Loading commit data...
print.c Loading commit data...
proc.c Loading commit data...
proc.p Loading commit data...
proc_test.go Loading commit data...
rt0_darwin_386.s Loading commit data...
rt0_darwin_amd64.s Loading commit data...
rt0_freebsd_386.s Loading commit data...
rt0_freebsd_amd64.s Loading commit data...
rt0_linux_386.s Loading commit data...
rt0_linux_amd64.s Loading commit data...
rt0_linux_arm.s Loading commit data...
rt0_netbsd_386.s Loading commit data...
rt0_netbsd_amd64.s Loading commit data...
rt0_openbsd_386.s Loading commit data...
rt0_openbsd_amd64.s Loading commit data...
rt0_plan9_386.s Loading commit data...
rt0_windows_386.s Loading commit data...
rt0_windows_amd64.s Loading commit data...
rune.c Loading commit data...
runtime-gdb.py Loading commit data...
runtime.c Loading commit data...
runtime.h Loading commit data...
runtime1.goc Loading commit data...
runtime_linux_test.go Loading commit data...
runtime_test.go Loading commit data...
sema.goc Loading commit data...
signal_darwin_386.c Loading commit data...
signal_darwin_amd64.c Loading commit data...
signal_freebsd_386.c Loading commit data...
signal_freebsd_amd64.c Loading commit data...
signal_linux_386.c Loading commit data...
signal_linux_amd64.c Loading commit data...
signal_linux_arm.c Loading commit data...
signal_netbsd_386.c Loading commit data...
signal_netbsd_amd64.c Loading commit data...
signal_openbsd_386.c Loading commit data...
signal_openbsd_amd64.c Loading commit data...
signal_plan9_386.c Loading commit data...
signal_unix.c Loading commit data...
signal_windows_386.c Loading commit data...
signal_windows_amd64.c Loading commit data...
signals_darwin.h Loading commit data...
signals_freebsd.h Loading commit data...
signals_linux.h Loading commit data...
signals_netbsd.h Loading commit data...
signals_openbsd.h Loading commit data...
signals_plan9.h Loading commit data...
signals_windows.h Loading commit data...
sigqueue.goc Loading commit data...
slice.c Loading commit data...
softfloat64.go Loading commit data...
softfloat64_test.go Loading commit data...
softfloat_arm.c Loading commit data...
stack.h Loading commit data...
stack_test.go Loading commit data...
string.goc Loading commit data...
symtab.c Loading commit data...
symtab_test.go Loading commit data...
sys_darwin_386.s Loading commit data...
sys_darwin_amd64.s Loading commit data...
sys_freebsd_386.s Loading commit data...
sys_freebsd_amd64.s Loading commit data...
sys_linux_386.s Loading commit data...
sys_linux_amd64.s Loading commit data...
sys_linux_arm.s Loading commit data...
sys_netbsd_386.s Loading commit data...
sys_netbsd_amd64.s Loading commit data...
sys_openbsd_386.s Loading commit data...
sys_openbsd_amd64.s Loading commit data...
sys_plan9_386.s Loading commit data...
sys_windows_386.s Loading commit data...
sys_windows_amd64.s Loading commit data...
syscall_windows.goc Loading commit data...
syscall_windows_test.go Loading commit data...
thread_darwin.c Loading commit data...
thread_freebsd.c Loading commit data...
thread_linux.c Loading commit data...
thread_netbsd.c Loading commit data...
thread_openbsd.c Loading commit data...
thread_plan9.c Loading commit data...
thread_windows.c Loading commit data...
time.goc Loading commit data...
traceback_arm.c Loading commit data...
traceback_x86.c Loading commit data...
type.go Loading commit data...
type.h Loading commit data...
vlop_386.s Loading commit data...
vlop_arm.s Loading commit data...
vlrt_386.c Loading commit data...
vlrt_arm.c Loading commit data...