• David Crawshaw's avatar
    cmd/link: write DWARF PC table without seeking · 3601a1e7
    David Crawshaw authored
    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/20074Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    3601a1e7
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...