• Rémy Oudompheng's avatar
    cmd/gc, runtime: pass PC directly to racefuncenter. · ce287933
    Rémy Oudompheng authored
    go test -race -run none -bench . encoding/json
    benchmark                      old ns/op    new ns/op    delta
    BenchmarkCodeEncoder          3207689000   1716149000  -46.50%
    BenchmarkCodeMarshal          3206761000   1715677000  -46.50%
    BenchmarkCodeDecoder          8647304000   4482709000  -48.16%
    BenchmarkCodeUnmarshal        8032217000   3451248000  -57.03%
    BenchmarkCodeUnmarshalReuse   8016722000   3480502000  -56.58%
    BenchmarkSkipValue           10340453000   4560313000  -55.90%
    
    benchmark                       old MB/s     new MB/s  speedup
    BenchmarkCodeEncoder                0.60         1.13    1.88x
    BenchmarkCodeMarshal                0.61         1.13    1.85x
    BenchmarkCodeDecoder                0.22         0.43    1.95x
    BenchmarkCodeUnmarshal              0.24         0.56    2.33x
    BenchmarkCodeUnmarshalReuse         0.24         0.56    2.33x
    BenchmarkSkipValue                  0.19         0.44    2.32x
    
    Fixes #4248.
    
    R=dvyukov, golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/6815066
    ce287933
Name
Last commit
Last update
..
cgo Loading commit data...
debug Loading commit data...
pprof Loading commit data...
race 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...
complex_test.go Loading commit data...
cpuprof.c Loading commit data...
crash_cgo_test.go Loading commit data...
crash_test.go 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_freebsd_arm.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.go Loading commit data...
defs_netbsd_386.h Loading commit data...
defs_netbsd_amd64.go 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_plan9_amd64.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...
memclr_arm.s Loading commit data...
memmove_386.s Loading commit data...
memmove_amd64.s Loading commit data...
memmove_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...
mgc0.go Loading commit data...
mgc0.h 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...
panic.c Loading commit data...
parfor.c Loading commit data...
parfor_test.go Loading commit data...
print.c Loading commit data...
proc.c Loading commit data...
proc.p Loading commit data...
proc_test.go Loading commit data...
race.c Loading commit data...
race.go Loading commit data...
race.h Loading commit data...
race0.c 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_freebsd_arm.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_plan9_amd64.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_freebsd_arm.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_plan9_amd64.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...
string_test.go 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_freebsd_arm.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_plan9_amd64.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...
typekind.h Loading commit data...
vdso_linux_amd64.c Loading commit data...
vlop_386.s Loading commit data...
vlop_arm.s Loading commit data...
vlop_arm_test.go Loading commit data...
vlrt_386.c Loading commit data...
vlrt_arm.c Loading commit data...