1
0
mirror of https://github.com/golang/go synced 2024-11-23 01:40:03 -07:00
go/src/cmd/gc
Dmitriy Vyukov 54e9406ffb runtime: add more specialized type algorithms
The change adds specialized type algorithms
for slices and types of size 8/16/32/64/128.
It significantly accelerates chan and map operations
for most builtin types as well as user structs.

benchmark                   old,ns/op   new,ns/op
BenchmarkChanUncontended          226          94
(on Intel Xeon E5620, 2.4GHz, Linux 64 bit)

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4815087
2011-08-08 09:35:32 -04:00
..
align.c gc: zero-width struct, zero-length array fixes 2011-07-27 16:47:45 -04:00
bisonerrors gc: improved syntax errors 2010-01-26 23:13:22 -08:00
bits.c 5g, 6g, 8g: shift, opt fixes 2011-07-28 18:22:12 -04:00
builtin.c.boot runtime: faster select 2011-07-21 13:57:13 -04:00
closure.c gc: top-level closure bug 2011-07-27 19:31:11 -04:00
const.c gc: shift type bug 2011-07-28 13:03:30 -04:00
cplx.c gc: fix complex move again 2011-04-18 13:22:31 -04:00
dcl.c gc: more graceful errors during struct definition 2011-07-28 20:41:18 -04:00
doc.go gc, gopack: add some missing flags to the docs. 2011-03-04 20:21:26 -08:00
export.c gc: include all dependencies in export metadata 2011-03-14 13:22:34 -04:00
gen.c gc: implement goto restriction 2011-06-17 15:25:05 -04:00
go.errors gc: syntax error for incomplete chan type 2010-12-09 13:41:24 -05:00
go.h runtime: add more specialized type algorithms 2011-08-08 09:35:32 -04:00
go.y gc: line number + type checking nits 2011-07-28 12:31:16 -04:00
init.c gc: typecheck the whole tree before walking. preparation for some escape-analysis related changes. 2011-06-02 18:48:17 +02:00
lex.c gc: line number + type checking nits 2011-07-28 12:31:16 -04:00
Makefile gc: patch y.tab.c to fix build when using Bison 2.5 2011-05-26 11:28:23 -07:00
md5.c the last bug involving type hashes 2009-09-02 09:09:32 -07:00
md5.h the last bug involving type hashes 2009-09-02 09:09:32 -07:00
mkbuiltin build: add a few missing --no-print-directory 2010-12-13 15:50:57 -05:00
mkbuiltin1.c gc: fix mkbuiltin for Plan 9 build 2011-07-25 13:45:37 -04:00
mkopnames gc: fix mkopnames and color grep interaction 2010-02-10 00:44:43 -08:00
mparith1.c gc: complex(0) 2010-12-13 15:34:45 -05:00
mparith2.c gc: index bounds tests and fixes 2010-08-03 00:26:02 -07:00
mparith3.c gc: correct rounding of denormal constants 2011-02-02 22:36:54 -05:00
obj.c 5g: alignment fixes 2011-05-25 10:18:49 -04:00
pgen.c gc: composite literal double eval bug 2011-07-27 18:55:30 -04:00
print.c gc: diagnose (x) := 0 2011-07-27 17:39:30 -04:00
range.c gc, runtime: fix range+panic line number bugs 2011-07-26 00:52:46 -04:00
reflect.c gc: correct handling of unexported method names in embedded interfaces 2011-04-21 08:14:50 -04:00
runtime.go runtime: faster select 2011-07-21 13:57:13 -04:00
select.c gc: fix select line number 2011-07-26 00:52:17 -04:00
sinit.c gc: composite literal double eval bug 2011-07-27 18:55:30 -04:00
subr.c runtime: add more specialized type algorithms 2011-08-08 09:35:32 -04:00
swt.c gc: fix type switch error message for invalid cases. 2011-05-11 23:41:59 -04:00
typecheck.c gc: line number + type checking nits 2011-07-28 12:31:16 -04:00
unsafe.c gc: unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr 2011-06-17 16:12:14 -04:00
unsafe.go gc: unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr 2011-06-17 16:12:14 -04:00
walk.c gc: select functions are no longer special 2011-07-21 14:10:39 -04:00