1
0
mirror of https://github.com/golang/go synced 2024-11-18 00:44:47 -07:00
Commit Graph

7798 Commits

Author SHA1 Message Date
Andrew Gerrand
393ea2dfa8 doc: mention godoc in "implements" FAQ
R=r
CC=golang-dev
https://golang.org/cl/4248066
2011-03-17 16:37:34 +11:00
Andrew Gerrand
75d4cb6a02 path/filepath: add EvalSymlinks function
R=rsc, niemeyer, r2, rog, iant2, r
CC=golang-dev
https://golang.org/cl/4235060
2011-03-17 16:36:37 +11:00
Andrew Gerrand
929449ddaf doc: explain release and weekly tags in install.html
R=r
CC=golang-dev
https://golang.org/cl/4272058
2011-03-17 16:33:10 +11:00
Ian Lance Taylor
4fd41e494a syscall: Permit non-blocking syscalls.
Permit system calls to be designated as non-blocking, meaning
that we simply call them without involving the scheduler.

This change by itself is mostly performance neutral.  In
combination with a following change to the net package there
is a performance advantage.

R=rsc, dfc, r2, iant2, rsc1
CC=golang-dev
https://golang.org/cl/4278055
2011-03-16 19:03:01 -07:00
Russ Cox
e39dc76884 gc: fix crash when using -u
R=ken2
CC=golang-dev
https://golang.org/cl/4278056
2011-03-16 21:05:40 -04:00
Rob Pike
90f3f91786 gob: remove a few more allocations.
- use enc.err and dec.err instead of return values in deferred error catcher
- replace io.WriteString with buffer.WriteString

now at:
mallocs per encode of type Bench: 7
mallocs per decode of type Bench: 8

R=rsc
CC=golang-dev
https://golang.org/cl/4277057
2011-03-16 18:03:13 -07:00
Yasuhiro Matsumoto
3d1afb7680 path: work for windows.
R=brainman, rsc, rsc1
CC=golang-dev
https://golang.org/cl/4249064
2011-03-17 10:41:23 +11:00
Andrew Gerrand
4bd0a54435 gofix: httpserver - rewrite rw.SetHeader to rw.Header.Set
R=rsc
CC=golang-dev
https://golang.org/cl/4271048
2011-03-17 09:59:18 +11:00
Andrew Gerrand
5dd0869bf5 codereview: permit CLs of the form weekly.DATE
gobuilder: recognize CLs of the form weekly.DATE

R=rsc, r
CC=golang-dev
https://golang.org/cl/4282052
2011-03-17 09:11:08 +11:00
Brad Fitzpatrick
a93f70c21a http: add NewProxyClientConn
This just returns a ClientConn suitable for writing
proxy requests.  To be used in Transport.

R=rsc, petar-m
CC=golang-dev
https://golang.org/cl/4290052
2011-03-16 14:32:35 -07:00
Robert Griesemer
7ea8cdaabd go/ast: merge CaseClause and TypeCaseClause
(per rsc's suggestion)

R=rsc
CC=golang-dev
https://golang.org/cl/4276057
2011-03-16 14:25:59 -07:00
Alex Brainman
de811cc04c go/scanner: use filepath
R=gri
CC=golang-dev
https://golang.org/cl/4280048
2011-03-16 10:38:03 -07:00
Rob Pike
b8e4fbb79c testing: compile regexp only once
The -test.run and -test.bench flags were compilng the regexp for ever test
function, which was mucking up memory profiles.   Add a simple wrapper
to save the compiled state so that the regexp is compiled only once for
each flag.

R=rsc
CC=golang-dev
https://golang.org/cl/4274063
2011-03-16 10:32:21 -07:00
Rob Pike
d3c61fc214 testing: fix build
Dependency on bufio crept in during last CL; this breaks the cycle.
Also add a missing '-' to the documentation.

R=rsc
CC=golang-dev
https://golang.org/cl/4274061
2011-03-16 10:12:25 -07:00
Rob Pike
afaa30694c testing: add -test.memprofile and -test.memprofilerate flags.
These allow a test to generate memory profiles automatically.

R=golang-dev, rsc1
CC=golang-dev
https://golang.org/cl/4273064
2011-03-16 09:53:58 -07:00
Adam Langley
df184ff2f0 crypto/openpgp: add DSA signature support.
R=bradfitzgo, nsz
CC=golang-dev
https://golang.org/cl/4280041
2011-03-16 10:50:06 -04:00
Adam Langley
7b094182e4 crypto/ecdsa: truncate hash values.
There is some disagreement about how to deal with hash values larger
than the curve order size. We choose to follow OpenSSL's lead here.

R=bradfitzgo, r
CC=golang-dev
https://golang.org/cl/4273059
2011-03-16 10:42:41 -04:00
Andrew Gerrand
e44c057369 doc: fix line wrapping for release.html
R=r
CC=golang-dev
https://golang.org/cl/4281052
2011-03-16 16:36:18 +11:00
Andrew Gerrand
ad8fc8891e tag weekly.2011-03-15
R=r
CC=golang-dev
https://golang.org/cl/4289048
2011-03-16 16:26:46 +11:00
Andrew Gerrand
f538f2432e weekly.2011-03-15
R=r
CC=golang-dev
https://golang.org/cl/4272052
2011-03-16 16:24:08 +11:00
Rob Pike
eb864e92db gob: keep free lists of encoder and decoder states.
Avoids 3 mallocs in a round trip encoding/decoding a struct.

R=rsc, rsc1
CC=golang-dev
https://golang.org/cl/4278052
2011-03-15 21:30:07 -07:00
Alex Brainman
bcd747204d gofix: fix godoc doc
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4290049
2011-03-16 15:20:46 +11:00
Russ Cox
35c274a0da gofix: fix procattr registration, tests
R=adg
CC=golang-dev
https://golang.org/cl/4275054
2011-03-16 13:58:09 +11:00
Russ Cox
d7106f280d gofix: procattr
R=adg
CC=golang-dev
https://golang.org/cl/4274059
2011-03-15 22:33:57 -04:00
Robert Griesemer
bcd6c733b2 go/printer: output tuning for gofix
If braces don't have position information for a composite
literal, don't assume alignment of key:value pairs under
the (wrong) assumption that there may be multiple lines.

R=rsc
CC=golang-dev
https://golang.org/cl/4297043
2011-03-15 17:45:16 -07:00
Rob Pike
0463bd6cd7 gob: move benchmarks to a new timing_test.go file.
Add malloc counts for encode and decode.

R=rsc
CC=golang-dev
https://golang.org/cl/4290048
2011-03-15 17:14:02 -07:00
Russ Cox
b04209ca97 debug/proc: fix build
R=r
CC=golang-dev
https://golang.org/cl/4273060
2011-03-15 19:39:50 -04:00
Rob Pike
bc34cda742 rpc: add the ability to write out a memory profile during testing.
R=rsc, dsymonds
CC=golang-dev
https://golang.org/cl/4290047
2011-03-15 14:20:30 -07:00
Rob Pike
f11f032486 rpc: add benchmarks
On my mac:
mallocs per rpc round trip: 144
rpc.BenchmarkEndToEnd	   10000	    228244 ns/op

Room for improvement.

R=rsc
CC=golang-dev
https://golang.org/cl/4274058
2011-03-15 13:09:11 -07:00
Evan Shaw
c3254bbef9 lib9, libmach: Change GOOS references to GOHOSTOS
This makes it possible to build Windows binaries on non-Windows OSes.

R=golang-dev, rsc1, rsc
CC=golang-dev
https://golang.org/cl/4271046
2011-03-15 14:42:18 -04:00
Roger Peppe
aa55c05213 os, syscall: add ProcAttr type. Change StartProcess etc. to use it.
The Windows code is untested.

R=rsc, gri, brainman, rsc1
CC=golang-dev
https://golang.org/cl/4253052
2011-03-15 14:41:19 -04:00
Russ Cox
a34f1bbb22 gofix: new command for updating code to new release
R=bradfitzgo, dsymonds, r, gri, adg
CC=golang-dev
https://golang.org/cl/4282044
2011-03-15 14:15:41 -04:00
Russ Cox
66f09fd459 gc: diagnose unused labels
R=ken2
CC=golang-dev
https://golang.org/cl/4287047
2011-03-15 14:05:37 -04:00
Russ Cox
e72156b316 remove unused labels
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/4274052
2011-03-15 14:05:07 -04:00
Russ Cox
35cee9f5d8 gofmt: simpler walkDir
Swapping the goroutines lets them reuse the
communication completion on v instead of
needing a second channel (done).

R=gri
CC=golang-dev
https://golang.org/cl/4287045
2011-03-15 14:04:47 -04:00
Russ Cox
108564dabc spec: disallow unused labels
Also change labelled examples to use gofmt formatting.

R=gri, r, jnml
CC=golang-dev
https://golang.org/cl/4287046
2011-03-15 13:51:24 -04:00
Brad Fitzpatrick
f192891786 httptest: default the Recorder status code to 200 on a Write
This matches the real ResponseWriter behavior.

R=rsc
CC=golang-dev
https://golang.org/cl/4291048
2011-03-15 10:13:25 -07:00
Brad Fitzpatrick
5245b27ed8 openpgp: add PublicKey KeyId string accessors
R=agl, agl1
CC=golang-dev
https://golang.org/cl/4297041
2011-03-15 10:06:17 -07:00
Rob Pike
a569725141 rpc: add buffering to the encode path.
This reduces the number of writes by 2 (1 client, 1 server) on each round trip.
A simple test shows 24% higher throughput.

R=rsc
CC=golang-dev
https://golang.org/cl/4279057
2011-03-15 10:02:44 -07:00
Dave Cheney
31a72d1a53 libmach: correct string comparison to revive 6cov on darwin
R=golang-dev, r, dsymonds, rsc1
CC=golang-dev
https://golang.org/cl/4277046
2011-03-14 14:12:37 -07:00
Russ Cox
c5e474dd88 5l: fix build
R=ken2
CC=golang-dev
https://golang.org/cl/4279053
2011-03-14 15:43:58 -04:00
Russ Cox
e6f3aa6c36 gc: include all dependencies in export metadata
This change records more metadata about what
influenced the creation of the object file.
Specifically, if a package imports, say, "fmt" but does not
need to describe any fmt types in its own export data,
that package's object file did not mention the dependency
on "fmt" before.  Now it does.

Listing the import is purely informational.
It has no effect on which files are opened or consulted
when importing a package.

Import lines are marked indirect when they are needed
to explain the API but were not imported directly.
For example http imports crypto/tls and exports
a struct with a field of type tls.ConnectionState,
which contains an x509.Certificate.  Since http does
not import x509 but needs to explain the x509.Certificate
type in its export data, the import of x509 is marked
as indirect.  These import lines were always present;
marking them with the indirect comment makes clear
which were imported directly and which are incidental.

R=ken2
CC=golang-dev
https://golang.org/cl/4295048
2011-03-14 13:22:34 -04:00
Robert Hencke
67077cc1ca build: remove duplicate dependency in Make.cmd
R=golang-dev, dfc, rsc1, rsc
CC=golang-dev
https://golang.org/cl/4274048
2011-03-14 12:33:44 -04:00
Dave Cheney
43ae7da190 crypto/tls: fix compile error
Fixes #1555.

R=rsc, bradfitzgo
CC=golang-dev
https://golang.org/cl/4284047
2011-03-12 19:35:41 -08:00
Brad Fitzpatrick
3479bb6c12 ioutil: add NopCloser
R=rsc, dsymonds
CC=golang-dev
https://golang.org/cl/4278044
2011-03-12 16:05:07 -08:00
Brad Fitzpatrick
1c96562f36 http: use Header.Del not empty Set(k, "")
Also don't serialize empty headers.

R=dsymonds, rsc
CC=golang-dev
https://golang.org/cl/4275045
2011-03-12 09:58:53 -08:00
Rob Pike
a7528f1b81 runtime/proc.c: which to that
R=iant, dho
CC=golang-dev
https://golang.org/cl/4286044
2011-03-11 18:18:59 -08:00
Ian Lance Taylor
5e963a826c runtime: reduce lock contention via wakeup on scheduler unlock.
R=rsc
CC=golang-dev
https://golang.org/cl/4275043
2011-03-11 18:14:45 -08:00
Ian Lance Taylor
c01238a571 net: don't loop to drain wakeup pipe.
The loop always makes an extra system call.  It only makes a
difference if more than 100 goroutines started waiting for
something to happen on a network file descriptor since the
last time the pipe was drained, which is unlikely since we
will be woken up the first time a goroutine starts waiting.
If we don't drain the pipe this time, we'll be woken up again
right away and can drain again.

R=rsc
CC=golang-dev
https://golang.org/cl/4275042
2011-03-11 18:01:28 -08:00
Rob Pike
5df1cf0475 gob: use bufio on the decode to avoid a system call on each read.
Add a benchmark.
BenchmarkEndToEndPipe gives 14.3microseconds/op before,
13.1microseconds/op after, or about 76e3 round trips per second
through the kernel.
With a bytes buffer, and therefore no system calls for I/O, the
numbers go to 7.3microseconds/op, or about 137e3 round trips
per second.

R=rsc
CC=golang-dev
https://golang.org/cl/4279045
2011-03-11 16:24:09 -08:00