]> Cypherpunks repositories - gostls13.git/commit
cmd/link: write DWARF PC table without seeking
authorDavid Crawshaw <crawshaw@golang.org>
Mon, 29 Feb 2016 22:07:50 +0000 (13:07 -0900)
committerDavid Crawshaw <crawshaw@golang.org>
Wed, 2 Mar 2016 12:19:35 +0000 (12:19 +0000)
commit3601a1e77d7fdd4c98c3dbd6f1bfa0028bc24fdd
tree2c404123499bdb0e76f6b48fa2cf76c32c2e2e55
parent021e0c5f1fa3e67912f4084ec7ad2381c5bd71d5
cmd/link: write DWARF PC table without seeking

This per-symbol table was written with the strategy:

1. record offset and write fake header
2. write body
3. seek back to fake header
4. write real header

This CL collects the per-symbol body into a []byte, then writes the
real header followed by the body to the output file. This saves two
seeks per-symbol and overwriting the fake header.

Small performance improvement (3.5%) in best-of-ten links of godoc:

tip:  real 0m1.132s user 0m1.256s
this: real 0m1.090s user 0m1.210s

I'm not sure if the performance measured here alone justifies it,
but I think this is an easier to read style of code.

Change-Id: I1663901eb7c2ee330591b8b6550cdff0402ed5dc
Reviewed-on: https://go-review.googlesource.com/20074
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/link/internal/ld/dwarf.go