Dmitriy Vyukov
c3a86dab36
testing: output benchmark name before executing it
...
It makes it clear what benchmark is currently running.
Especially useful in case of hangup or crash.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4816043
2011-07-21 11:31:07 -04:00
Dmitriy Vyukov
d2ab2b9f42
sync: improve Once fast path
...
Use atomic.LoadUint32(&done) instead of
atomic.AddInt32(&done, 0) on fast path.
benchmark old ns/op new ns/op delta
BenchmarkOnce 13.40 7.26 -45.82%
BenchmarkOnce-2 22.90 4.04 -82.36%
BenchmarkOnce-4 25.60 2.16 -91.56%
BenchmarkOnce-8 25.80 1.38 -94.65%
BenchmarkOnce-16 24.40 1.33 -94.55%
(on HP Z600, 2 x Intel Xeon E5620, 8 HT cores, 2.4 GHz)
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4787041
2011-07-21 11:30:14 -04:00
Dmitriy Vyukov
d6ed1b70ad
runtime: replace centralized ncgocall counter with a distributed one
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4809042
2011-07-21 11:29:08 -04:00
David Symonds
6c46afdf41
http: disable sniffer for now.
...
Something is broken, and investigation is underway.
In the meantime, godoc is broken, so disable sniffing for now
by reverting to the pre-sniffer state.
R=r
CC=golang-dev
https://golang.org/cl/4809046
2011-07-21 22:20:09 +10:00
Gustavo Niemeyer
14eba969d8
ld: fix freebsd build reverting .interp move
...
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4794046
2011-07-21 03:48:56 -03:00
Michael T. Jones
8cdee891d7
fmt: handle precision 0 format stings in standard way
...
The C-stdlib heritage of printf/fprintf/sprintf has two odd
aspects for precisions of zero with integers. First, the zero
can be specified in any of these ways, "%4.0d", "%.0d" and
"%.d" which was not previously supported here. Secondly, the
seemingly universal interpretation of precision for integers
is that precision==0 and value==0 means print nothing at all.
The code here now handles this for integers just as the code
in big/int.c does the same for the Int type. New tests are
added to fmt_test.go to verify these changes.
R=r, r
CC=golang-dev
https://golang.org/cl/4717045
2011-07-21 16:46:51 +10:00
Rob Pike
0f7a1951b8
exp/template: A template can be in one set only.
...
This simplifies the API and makes it easier to make the template
invocation statically secure, at the cost of some minor flexibility.
R=golang-dev, dsymonds, r
CC=golang-dev
https://golang.org/cl/4794045
2011-07-21 14:22:01 +10:00
Nigel Tao
5f134f9b5b
html: sync html/testdata/webkit with upstream WebKit.
...
As $GOROOT/src/pkg/html/testdata/webkit/README says, we're pulling from
$WEBKITROOT/LayoutTests/html5lib/resources.
R=r
CC=golang-dev
https://golang.org/cl/4810043
2011-07-21 12:50:45 +10:00
Nigel Tao
5a141064ed
html: parse misnested formatting tags according to the HTML5 spec.
...
This is the "adoption agency" algorithm.
The test case input is "<a><p>X<a>Y</a>Z</p></a>". The correct parse is:
| <html>
| <head>
| <body>
| <a>
| <p>
| <a>
| "X"
| <a>
| "Y"
| "Z"
R=gri
CC=golang-dev
https://golang.org/cl/4771042
2011-07-21 11:20:54 +10:00
Rob Pike
d11c0f1dbb
gob: send empty but non-nil maps.
...
Fixes #2082 .
R=golang-dev, dsymonds, r
CC=golang-dev
https://golang.org/cl/4798042
2011-07-21 10:27:11 +10:00
Robert Griesemer
4c03bf9c59
godoc: fix zip file directory lookup
...
Also: remove left-over println calls.
R=bradfitz
CC=golang-dev
https://golang.org/cl/4807042
2011-07-20 16:22:13 -07:00
Andrew Balholm
816c972ff0
html: handle character entities without semicolons
...
Fix the TODO: unescape("¬it;") should be "¬it;"
Also accept digits in entity names.
R=nigeltao
CC=golang-dev, rsc
https://golang.org/cl/4781042
2011-07-21 09:10:49 +10:00
David Symonds
78c89d21bc
http: sniffing algorithm.
...
This follows draft-ietf-websec-mime-sniff-03 in its intent,
though not its algorithmic specification.
R=rsc
CC=golang-dev
https://golang.org/cl/4746042
2011-07-21 08:38:35 +10:00
Mike Solomon
7911965fe9
io/ioutil: improve performance of ioutil.Discard
...
Fixes #2084 .
R=bradfitz, rsc
CC=golang-dev
https://golang.org/cl/4817041
2011-07-20 14:34:49 -07:00
Brad Fitzpatrick
125419a250
CONTRIBUTORS: add Mike Solomon (Google CLA)
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4818041
2011-07-20 13:30:46 -07:00
Brad Fitzpatrick
bf768294ed
os: point readers at the exec package
...
R=golang-dev, evan, rsc
CC=golang-dev
https://golang.org/cl/4802046
2011-07-20 11:38:18 -07:00
Dmitriy Vyukov
102b5b34a7
runtime: apply minor tweaks to channels
...
Remove complicated PRNG algorithm
(argument is limited by uint16 and can't be <= 1).
Do not require chansend/chanrecv selgen to be bumped with CAS.
R=rsc, ken
CC=golang-dev
https://golang.org/cl/4816041
2011-07-20 14:28:55 -04:00
Dmitriy Vyukov
90f3cb13fb
runtime: improve performance of sync channels
...
1. SudoG always contains a pointer to the element
(thus no variable size, and less copying).
2. chansend/chanrecv allocate SudoG on the stack.
3. Copying of elements and gorotuine notifications
are moved out of critical sections.
benchmark old ns/op new ns/op delta
BenchmarkSelectUncontended 515.00 514.00 -0.19%
BenchmarkSelectUncontended-2 291.00 281.00 -3.44%
BenchmarkSelectUncontended-4 213.00 189.00 -11.27%
BenchmarkSelectUncontended-8 78.30 79.00 +0.89%
BenchmarkSelectContended 518.00 514.00 -0.77%
BenchmarkSelectContended-2 655.00 631.00 -3.66%
BenchmarkSelectContended-4 1026.00 1051.00 +2.44%
BenchmarkSelectContended-8 2026.00 2128.00 +5.03%
BenchmarkSelectNonblock 175.00 173.00 -1.14%
BenchmarkSelectNonblock-2 85.10 87.70 +3.06%
BenchmarkSelectNonblock-4 60.10 43.30 -27.95%
BenchmarkSelectNonblock-8 37.60 25.50 -32.18%
BenchmarkChanUncontended 109.00 114.00 +4.59%
BenchmarkChanUncontended-2 54.60 57.20 +4.76%
BenchmarkChanUncontended-4 27.40 28.70 +4.74%
BenchmarkChanUncontended-8 14.60 15.10 +3.42%
BenchmarkChanContended 108.00 114.00 +5.56%
BenchmarkChanContended-2 621.00 617.00 -0.64%
BenchmarkChanContended-4 759.00 677.00 -10.80%
BenchmarkChanContended-8 1635.00 1517.00 -7.22%
BenchmarkChanSync 299.00 256.00 -14.38%
BenchmarkChanSync-2 5055.00 4624.00 -8.53%
BenchmarkChanSync-4 4998.00 4680.00 -6.36%
BenchmarkChanSync-8 5019.00 4760.00 -5.16%
BenchmarkChanProdCons0 316.00 274.00 -13.29%
BenchmarkChanProdCons0-2 1280.00 617.00 -51.80%
BenchmarkChanProdCons0-4 2433.00 1332.00 -45.25%
BenchmarkChanProdCons0-8 3651.00 1934.00 -47.03%
BenchmarkChanProdCons10 153.00 152.00 -0.65%
BenchmarkChanProdCons10-2 626.00 581.00 -7.19%
BenchmarkChanProdCons10-4 1440.00 1323.00 -8.12%
BenchmarkChanProdCons10-8 2036.00 2017.00 -0.93%
R=rsc, ken
CC=golang-dev
https://golang.org/cl/4790042
2011-07-20 11:51:25 -04:00
Gustavo Niemeyer
ba2e3af177
ld: remove overlap of ELF sections on dynamic binaries
...
The dynamic ELF sections were pointing to the proper data,
but that data was already owned by the rodata and text sections.
Some ELF references explicitly prohibit multiple sections from
owning the same data, and strip behaves accordingly.
The data for these sections was moved out and their ranges are
now owned by their respective sections. This change makes strip
happy both with and without -s being provided at link time.
A test was added in debug/elf to ensure there are no regressions
on this area in the future.
Fixes #1242 .
Fixes #2022 .
NOTE: Tested on Linux amd64/386/arm only.
R=rsc
CC=golang-dev
https://golang.org/cl/4808043
2011-07-20 12:47:02 -03:00
Russ Cox
971459e826
net/textproto: fix build
...
R=bradfitz
CC=golang-dev
https://golang.org/cl/4815041
2011-07-20 11:41:41 -04:00
Russ Cox
27a3dcd0d2
net/textproto: avoid 1 copy in ReadLine, ReadContinuedLine
...
Fixes #2083 .
R=msolo, bradfitz
CC=golang-dev
https://golang.org/cl/4812042
2011-07-20 11:11:57 -04:00
Marcel van Lohuizen
df07b6d14a
exp/norm: API for normalization library.
...
R=r, r, mpvl, rsc
CC=golang-dev
https://golang.org/cl/4678041
2011-07-20 19:46:05 +10:00
Andrew Gerrand
dbba5ccfab
gobuilder: goinstall with -dashboard=false instead of -log=false
...
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4801043
2011-07-20 16:07:40 +10:00
Andrew Gerrand
40462453c6
tag weekly.2011-07-19
...
R=r
CC=golang-dev
https://golang.org/cl/4802043
2011-07-20 15:48:36 +10:00
Andrew Gerrand
50ddb98b24
weekly.2011-07-19
...
R=golang-dev, nigeltao, dsymonds, r
CC=golang-dev
https://golang.org/cl/4801042
2011-07-20 15:45:55 +10:00
Andrew Gerrand
48d1240e51
misc/dashboard: center align build results
...
R=rsc, dsymonds
CC=golang-dev
https://golang.org/cl/4806041
2011-07-20 11:22:56 +10:00
Rob Pike
62f618a22c
sync/atomic: delete workaround
...
Load seems to work on arm now.
R=dsymonds
CC=golang-dev
https://golang.org/cl/4795042
2011-07-20 08:39:24 +10:00
Robert Griesemer
8930ce2dc1
godoc: implement http.FileSystem for zip files
...
R=rsc, adg, bradfitz
CC=golang-dev
https://golang.org/cl/4750047
2011-07-19 08:22:20 -07:00
Lucio De Re
b546f50716
runtime: make goc2c build on Plan 9
...
pkg/runtime/Makefile:
. Adjusted so "goc2c.c" is built using the Plan 9 libraries.
pkg/runtime/goc2c.c:
. Added/subtracted #include headers to correspond to Plan 9
toolkit.
. Changed fprintf(stderr,...)/exit() combinations to
sysfatal() calls, adjusted the "%u" format to "%ud".
. Added exits(0) at the end of main().
. Made main() a void-returning function and removed the
"return 0" at the end of it.
Tested on UBUNTU and Plan 9 only.
R=r, rsc
CC=golang-dev
https://golang.org/cl/4626093
2011-07-19 11:04:33 -04:00
Russ Cox
025abd530e
runtime: faster entersyscall, exitsyscall
...
Uses atomic memory accesses to avoid the need to acquire
and release schedlock on fast paths.
benchmark old ns/op new ns/op delta
runtime_test.BenchmarkSyscall 73 31 -56.63%
runtime_test.BenchmarkSyscall-2 538 74 -86.23%
runtime_test.BenchmarkSyscall-3 508 103 -79.72%
runtime_test.BenchmarkSyscall-4 721 97 -86.52%
runtime_test.BenchmarkSyscallWork 920 873 -5.11%
runtime_test.BenchmarkSyscallWork-2 516 481 -6.78%
runtime_test.BenchmarkSyscallWork-3 550 343 -37.64%
runtime_test.BenchmarkSyscallWork-4 632 263 -58.39%
(Intel Core i7 L640 2.13 GHz-based Lenovo X201s)
Reduced a less artificial server benchmark
from 11.5r 12.0u 8.0s to 8.3r 9.1u 1.0s.
R=dvyukov, r, bradfitz, r, iant, iant
CC=golang-dev
https://golang.org/cl/4723042
2011-07-19 11:01:17 -04:00
Wei Guangjing
9f636598ba
cgo: windows amd64 port
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4725041
2011-07-19 10:47:33 -04:00
Dmitriy Vyukov
0b200b4d09
sync/atomic: fix LoadInt32 on ARM
...
R0 is clobbered after cas,
while R1 preserves its value.
R=golang-dev
CC=golang-dev
https://golang.org/cl/4782042
2011-07-19 22:10:07 +10:00
Rob Pike
3bbeef5201
sync/atomic: attempt to get the arm build green.
...
Disable the LoadInt32 and LoadUint32 tests, since they fail.
These should be fixed but we want to get through the rest of the build
to see if something else unrelated is broken. The arm build has been
bad for a long time.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4780041
2011-07-19 17:06:13 +10:00
Tarmigan Casebolt
a0d3be1689
goinstall, dashboard: Google Code now supports git
...
R=golang-dev, adg, rsc, tarmigan+golang
CC=golang-dev
https://golang.org/cl/4760055
2011-07-19 16:58:18 +10:00
Rob Pike
423ab2333a
5l: fix arm linker bug introduced by 4742041
...
Should fix the arm build.
R=golang-dev, dsymonds, adg
CC=golang-dev
https://golang.org/cl/4777041
2011-07-19 15:44:25 +10:00
Andrew Gerrand
894222f9de
doc/talks/io2010: handle the errors
...
R=golang-dev, dsymonds, dsymonds, r
CC=golang-dev
https://golang.org/cl/4771041
2011-07-19 14:10:12 +10:00
Alex Brainman
42effdf096
go/build: fixes for windows paths
...
R=golang-dev, mattn.jp, adg
CC=golang-dev
https://golang.org/cl/4746047
2011-07-19 14:02:23 +10:00
Robert Griesemer
98f5fc5e86
archive/zip: support functions to get modified time in ns from MS-DOS time
...
R=rsc, r, bradfitz, r, adg
CC=golang-dev
https://golang.org/cl/4748056
2011-07-18 20:30:44 -07:00
Alex Brainman
208e6e6dfc
exp/wingui: make sure it builds again
...
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4770041
2011-07-19 13:18:21 +10:00
Rob Pike
a5a94f5d57
gif: fix local color map and coordinates
...
R=nigeltao
CC=golang-dev
https://golang.org/cl/4759051
2011-07-19 11:47:15 +10:00
Andrew Gerrand
7a18fc3bcb
dashboard: list "most installed this week" with rolling count
...
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4631085
2011-07-19 11:12:10 +10:00
Robert Griesemer
95117d30a2
time: typo in documentation
...
R=r
CC=golang-dev
https://golang.org/cl/4763048
2011-07-18 17:54:32 -07:00
Hector Chu
47e6042f73
runtime: fix select pass 3
...
Fixes #2075
R=rsc, ken, r
CC=golang-dev
https://golang.org/cl/4748045
2011-07-18 16:15:01 -04:00
Russ Cox
bd77619142
runtime: track running goroutine count
...
Used to use mcpu+msyscall but that's
problematic for packing into a single
atomic word. The running goroutine count
(where running == Go code or syscall)
can be maintained separately, always
manipulated under lock.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/4767041
2011-07-18 15:50:55 -04:00
Dmitriy Vyukov
27753ff108
runtime: add per-M caches for MemStats
...
Avoid touching centralized state during
memory manager operations.
R=mirtchovski
CC=golang-dev, rsc
https://golang.org/cl/4766042
2011-07-18 14:56:22 -04:00
Dmitriy Vyukov
66d5c9b1e9
runtime: add per-M caches for MemStats
...
Avoid touching centralized state during
memory manager opreations.
R=rsc
CC=golang-dev
https://golang.org/cl/4766042
2011-07-18 14:52:57 -04:00
Ian Lance Taylor
257df1719d
debug/proc: Remove.
...
The package was always GNU/Linux specific, and is no longer
used by anything now that exp/ogle has been removed.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4757049
2011-07-18 09:55:09 -07:00
Dmitriy Vyukov
ee6e1a3ff7
sync: add fast paths to WaitGroup
...
benchmark old ns/op new ns/op delta
BenchmarkWaitGroupUncontended 93.50 33.60 -64.06%
BenchmarkWaitGroupUncontended-2 44.30 16.90 -61.85%
BenchmarkWaitGroupUncontended-4 21.80 8.47 -61.15%
BenchmarkWaitGroupUncontended-8 12.10 4.86 -59.83%
BenchmarkWaitGroupUncontended-16 7.38 3.35 -54.61%
BenchmarkWaitGroupAddDone 58.40 33.70 -42.29%
BenchmarkWaitGroupAddDone-2 293.00 85.80 -70.72%
BenchmarkWaitGroupAddDone-4 243.00 51.10 -78.97%
BenchmarkWaitGroupAddDone-8 236.00 52.20 -77.88%
BenchmarkWaitGroupAddDone-16 215.00 43.30 -79.86%
BenchmarkWaitGroupAddDoneWork 826.00 794.00 -3.87%
BenchmarkWaitGroupAddDoneWork-2 450.00 424.00 -5.78%
BenchmarkWaitGroupAddDoneWork-4 277.00 220.00 -20.58%
BenchmarkWaitGroupAddDoneWork-8 440.00 116.00 -73.64%
BenchmarkWaitGroupAddDoneWork-16 569.00 66.50 -88.31%
BenchmarkWaitGroupWait 29.00 8.04 -72.28%
BenchmarkWaitGroupWait-2 74.10 4.15 -94.40%
BenchmarkWaitGroupWait-4 117.00 2.30 -98.03%
BenchmarkWaitGroupWait-8 111.00 1.31 -98.82%
BenchmarkWaitGroupWait-16 104.00 1.27 -98.78%
BenchmarkWaitGroupWaitWork 802.00 792.00 -1.25%
BenchmarkWaitGroupWaitWork-2 411.00 401.00 -2.43%
BenchmarkWaitGroupWaitWork-4 210.00 199.00 -5.24%
BenchmarkWaitGroupWaitWork-8 206.00 105.00 -49.03%
BenchmarkWaitGroupWaitWork-16 334.00 54.40 -83.71%
R=rsc
CC=golang-dev
https://golang.org/cl/4672050
2011-07-18 12:35:55 -04:00
Russ Cox
92c6061b5c
5l: assume Linux binary, not Plan 9
...
R=bradfitz
CC=golang-dev
https://golang.org/cl/4767042
2011-07-18 12:30:10 -04:00
Brad Fitzpatrick
3745716bc3
http: let FileServer work when path doesn't begin with a slash
...
... as when it's over-stripped with StripPrefix.
R=golang-dev, andybalholm, rsc
CC=golang-dev
https://golang.org/cl/4759052
2011-07-18 09:04:48 -07:00