• Russ Cox's avatar
    cmd/gc, runtime: optimize map[string] lookup from []byte key · f5f5a8b6
    Russ Cox authored
    Brad has been asking for this for a while.
    I have resisted because I wanted to find a more general way to
    do this, one that would keep the performance of code introducing
    variables the same as the performance of code that did not.
    (See golang.org/issue/3512#c20).
    
    I have not found the more general way, and recent changes to
    remove ambiguously live temporaries have blown away the
    property I was trying to preserve, so that's no longer a reason
    not to make the change.
    
    Fixes #3512.
    
    LGTM=iant
    R=iant
    CC=bradfitz, golang-codereviews, khr, r
    https://golang.org/cl/83740044
    f5f5a8b6
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.goc Loading commit data...
append_test.go Loading commit data...
arch_386.h Loading commit data...
arch_amd64.h Loading commit data...
arch_amd64p32.h Loading commit data...
arch_arm.h Loading commit data...
asm_386.s Loading commit data...
asm_amd64.s Loading commit data...
asm_amd64p32.s Loading commit data...
asm_arm.s Loading commit data...
atomic_386.c Loading commit data...
atomic_amd64x.c Loading commit data...
atomic_arm.c Loading commit data...
callback_windows.c Loading commit data...
cgocall.c Loading commit data...
cgocall.h Loading commit data...
chan.goc Loading commit data...
chan.h Loading commit data...
chan_test.go Loading commit data...
closure_test.go Loading commit data...
compiler.go Loading commit data...
complex.goc Loading commit data...
complex_test.go Loading commit data...
cpuprof.goc Loading commit data...
crash_cgo_test.go Loading commit data...
crash_test.go Loading commit data...
debug.go Loading commit data...
defs.c 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_dragonfly.go Loading commit data...
defs_dragonfly_386.h Loading commit data...
defs_dragonfly_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_nacl_386.h Loading commit data...
defs_nacl_amd64p32.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_netbsd_arm.go Loading commit data...
defs_netbsd_arm.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_solaris.go Loading commit data...
defs_solaris_amd64.go Loading commit data...
defs_solaris_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...
env_plan9.c Loading commit data...
env_posix.c Loading commit data...
error.go Loading commit data...
export_futex_test.go Loading commit data...
export_test.go Loading commit data...
extern.go Loading commit data...
float.c Loading commit data...
funcdata.h Loading commit data...
futex_test.go Loading commit data...
gc_test.go Loading commit data...
hash_test.go Loading commit data...
hashmap.goc Loading commit data...
hashmap.h Loading commit data...
hashmap_fast.c Loading commit data...
heapdump.c Loading commit data...
iface.goc Loading commit data...
iface_test.go Loading commit data...
lfstack.goc 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...
malloc_test.go Loading commit data...
mallocrand.go Loading commit data...
mallocrep.go Loading commit data...
mallocrep1.go Loading commit data...
map_test.go Loading commit data...
mapspeed_test.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_dragonfly.c Loading commit data...
mem_freebsd.c Loading commit data...
mem_linux.c Loading commit data...
mem_nacl.c Loading commit data...
mem_netbsd.c Loading commit data...
mem_openbsd.c Loading commit data...
mem_plan9.c Loading commit data...
mem_solaris.c Loading commit data...
mem_windows.c Loading commit data...
memclr_386.s Loading commit data...
memclr_amd64.s Loading commit data...
memclr_arm.s Loading commit data...
memclr_plan9_386.s Loading commit data...
memclr_plan9_amd64.s Loading commit data...
memmove_386.s Loading commit data...
memmove_amd64.s Loading commit data...
memmove_arm.s Loading commit data...
memmove_linux_amd64_test.go Loading commit data...
memmove_nacl_amd64p32.s Loading commit data...
memmove_plan9_386.s Loading commit data...
memmove_plan9_amd64.s Loading commit data...
memmove_test.go 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...
mknacl.sh Loading commit data...
mprof.goc Loading commit data...
msize.c Loading commit data...
netpoll.goc Loading commit data...
netpoll_epoll.c Loading commit data...
netpoll_kqueue.c Loading commit data...
netpoll_nacl.c Loading commit data...
netpoll_solaris.c Loading commit data...
netpoll_stub.c Loading commit data...
netpoll_windows.c Loading commit data...
noasm_arm.goc Loading commit data...
norace_test.go Loading commit data...
os_darwin.c Loading commit data...
os_darwin.h Loading commit data...
os_dragonfly.c Loading commit data...
os_dragonfly.h Loading commit data...
os_freebsd.c Loading commit data...
os_freebsd.h Loading commit data...
os_freebsd_arm.c Loading commit data...
os_linux.c Loading commit data...
os_linux.h Loading commit data...
os_linux_386.c Loading commit data...
os_linux_arm.c Loading commit data...
os_nacl.c Loading commit data...
os_nacl.h Loading commit data...
os_netbsd.c Loading commit data...
os_netbsd.h Loading commit data...
os_netbsd_386.c Loading commit data...
os_netbsd_amd64.c Loading commit data...
os_netbsd_arm.c Loading commit data...
os_openbsd.c Loading commit data...
os_openbsd.h Loading commit data...
os_plan9.c Loading commit data...
os_plan9.h Loading commit data...
os_plan9_386.c Loading commit data...
os_plan9_amd64.c Loading commit data...
os_solaris.c Loading commit data...
os_solaris.h Loading commit data...
os_windows.c Loading commit data...
os_windows.h Loading commit data...
os_windows_386.c Loading commit data...
os_windows_amd64.c 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_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...
race_amd64.s Loading commit data...
rdebug.goc Loading commit data...
rt0_darwin_386.s Loading commit data...
rt0_darwin_amd64.s Loading commit data...
rt0_dragonfly_386.s Loading commit data...
rt0_dragonfly_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_nacl_386.s Loading commit data...
rt0_nacl_amd64p32.s Loading commit data...
rt0_netbsd_386.s Loading commit data...
rt0_netbsd_amd64.s Loading commit data...
rt0_netbsd_arm.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_solaris_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...
runtime_unix_test.go Loading commit data...
sema.goc Loading commit data...
signal_386.c Loading commit data...
signal_amd64x.c Loading commit data...
signal_arm.c Loading commit data...
signal_darwin_386.h Loading commit data...
signal_darwin_amd64.h Loading commit data...
signal_dragonfly_386.h Loading commit data...
signal_dragonfly_amd64.h Loading commit data...
signal_freebsd_386.h Loading commit data...
signal_freebsd_amd64.h Loading commit data...
signal_freebsd_arm.h Loading commit data...
signal_linux_386.h Loading commit data...
signal_linux_amd64.h Loading commit data...
signal_linux_arm.h Loading commit data...
signal_nacl_386.h Loading commit data...
signal_nacl_amd64p32.h Loading commit data...
signal_netbsd_386.h Loading commit data...
signal_netbsd_amd64.h Loading commit data...
signal_netbsd_arm.h Loading commit data...
signal_openbsd_386.h Loading commit data...
signal_openbsd_amd64.h Loading commit data...
signal_solaris_amd64.h Loading commit data...
signal_unix.c Loading commit data...
signal_unix.h Loading commit data...
signals_darwin.h Loading commit data...
signals_dragonfly.h Loading commit data...
signals_freebsd.h Loading commit data...
signals_linux.h Loading commit data...
signals_nacl.h Loading commit data...
signals_netbsd.h Loading commit data...
signals_openbsd.h Loading commit data...
signals_plan9.h Loading commit data...
signals_solaris.h Loading commit data...
signals_windows.h Loading commit data...
sigqueue.goc Loading commit data...
slice.goc Loading commit data...
softfloat64.go Loading commit data...
softfloat64_test.go Loading commit data...
softfloat_arm.c Loading commit data...
stack.c Loading commit data...
stack.h Loading commit data...
stack_gen_test.go Loading commit data...
stack_test.go Loading commit data...
string.goc Loading commit data...
string_test.go Loading commit data...
symtab.goc Loading commit data...
symtab_test.go Loading commit data...
sys_arm.c Loading commit data...
sys_darwin_386.s Loading commit data...
sys_darwin_amd64.s Loading commit data...
sys_dragonfly_386.s Loading commit data...
sys_dragonfly_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_nacl_386.s Loading commit data...
sys_nacl_amd64p32.s Loading commit data...
sys_netbsd_386.s Loading commit data...
sys_netbsd_amd64.s Loading commit data...
sys_netbsd_arm.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_solaris_amd64.s Loading commit data...
sys_windows_386.s Loading commit data...
sys_windows_amd64.s Loading commit data...
sys_x86.c Loading commit data...
syscall_nacl.h Loading commit data...
syscall_solaris.goc Loading commit data...
syscall_windows.goc Loading commit data...
syscall_windows_test.go Loading commit data...
time.goc Loading commit data...
time_plan9_386.c 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...