1. 12 Apr, 2012 5 commits
    • Adam Langley's avatar
      crypto/tls: don't always use the default private key. · e6e8b723
      Adam Langley authored
      When SNI based certificate selection is enabled, we previously used
      the default private key even if we selected a non-default certificate.
      
      Fixes #3367.
      
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/5987058
      e6e8b723
    • Adam Langley's avatar
      encoding/pem: ignore spaces and tabs at the end of header lines. · 55af51d5
      Adam Langley authored
      Fixes #3502.
      
      R=bradfitz
      CC=golang-dev
      https://golang.org/cl/6011046
      55af51d5
    • Dmitriy Vyukov's avatar
      runtime: speedup GC sweep phase (batch free) · 4945fc8e
      Dmitriy Vyukov authored
      benchmark                             old ns/op    new ns/op    delta
      garbage.BenchmarkParser              4370050250   3779668750  -13.51%
      garbage.BenchmarkParser-2            3713087000   3628771500   -2.27%
      garbage.BenchmarkParser-4            3519755250   3406349750   -3.22%
      garbage.BenchmarkParser-8            3386627750   3319144000   -1.99%
      
      garbage.BenchmarkTree                 493585529    408102411  -17.32%
      garbage.BenchmarkTree-2               500487176    402285176  -19.62%
      garbage.BenchmarkTree-4               473238882    361484058  -23.61%
      garbage.BenchmarkTree-8               486977823    368334823  -24.36%
      
      garbage.BenchmarkTree2                 31446600     31203200   -0.77%
      garbage.BenchmarkTree2-2               21469000     21077900   -1.82%
      garbage.BenchmarkTree2-4               11007600     10899100   -0.99%
      garbage.BenchmarkTree2-8                7692400      7032600   -8.58%
      
      garbage.BenchmarkParserPause          241863263    163249450  -32.50%
      garbage.BenchmarkParserPause-2        120135418    112981575   -5.95%
      garbage.BenchmarkParserPause-4         83411552     64580700  -22.58%
      garbage.BenchmarkParserPause-8         51870697     42207244  -18.63%
      
      garbage.BenchmarkTreePause             20940474     13147011  -37.22%
      garbage.BenchmarkTreePause-2           20115124     11146715  -44.59%
      garbage.BenchmarkTreePause-4           17217584      7486327  -56.52%
      garbage.BenchmarkTreePause-8           18258845      7400871  -59.47%
      
      garbage.BenchmarkTree2Pause           174067190    172674190   -0.80%
      garbage.BenchmarkTree2Pause-2         131175809    130615761   -0.43%
      garbage.BenchmarkTree2Pause-4          95406666     93972047   -1.50%
      garbage.BenchmarkTree2Pause-8          86056095     85334952   -0.84%
      
      garbage.BenchmarkParserLastPause      329932000    324790000   -1.56%
      garbage.BenchmarkParserLastPause-2    209383000    210456000   +0.51%
      garbage.BenchmarkParserLastPause-4    113981000    112921000   -0.93%
      garbage.BenchmarkParserLastPause-8     77967000     76625000   -1.72%
      
      garbage.BenchmarkTreeLastPause         29752000     18444000  -38.01%
      garbage.BenchmarkTreeLastPause-2       24274000     14766000  -39.17%
      garbage.BenchmarkTreeLastPause-4       19565000      8726000  -55.40%
      garbage.BenchmarkTreeLastPause-8       21956000     10530000  -52.04%
      
      garbage.BenchmarkTree2LastPause       314411000    311945000   -0.78%
      garbage.BenchmarkTree2LastPause-2     214641000    210836000   -1.77%
      garbage.BenchmarkTree2LastPause-4     110024000    108943000   -0.98%
      garbage.BenchmarkTree2LastPause-8      76873000     70263000   -8.60%
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5991049
      4945fc8e
    • Dmitriy Vyukov's avatar
      runtime: add lock-free stack · a5dc7793
      Dmitriy Vyukov authored
      This is factored out part of the:
      https://golang.org/cl/5279048/
      (parallel GC)
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5993043
      a5dc7793
    • Rob Pike's avatar
      text/template: catch unexported fields during parse · 2d0d3d8f
      Rob Pike authored
      It's a common error to reference unexported field names in templates,
      especially for newcomers. This catches the error at parse time rather than
      execute time so the rare few who check errors will notice right away.
      
      These were always an error, so the net behavior is unchanged.
      Should break no existing code, just identify the error earlier.
      
      R=golang-dev, dsymonds
      CC=golang-dev
      https://golang.org/cl/6009048
      2d0d3d8f
  2. 11 Apr, 2012 8 commits
  3. 10 Apr, 2012 16 commits
  4. 09 Apr, 2012 8 commits
    • Rob Pike's avatar
      runtime.Callers: make documentation match code · 6849c4db
      Rob Pike authored
      It is a bug that Caller and Callers disagree about the offset of the skip
      parameter. Document the bug.
      
      R=rsc, dsymonds, r, iant
      CC=golang-dev
      https://golang.org/cl/5976064
      6849c4db
    • Alexey Borzenkov's avatar
      cmd/dist: don't fail when Mercurial is a batch file on Windows · 0669261a
      Alexey Borzenkov authored
      On windows Mercurial installed with easy_install typically creates
      an hg.bat batch file in Python Scripts directory, which cannot be used
      with CreateProcess unless full path is specified. Work around by
      launching hg via cmd.exe /c.
      
      Additionally, fix a rare FormatMessageW crash.
      
      Fixes #3093.
      
      R=golang-dev, rsc, alex.brainman, aram, jdpoirier, mattn.jp
      CC=golang-dev
      https://golang.org/cl/5937043
      0669261a
    • Benny Siegert's avatar
      cmd/yacc: spring cleaning for units.y · f6d582db
      Benny Siegert authored
      * sort imports
      * use runtime.GOROOT
      * fix some typos
      
      R=golang-dev, dave, rsc
      CC=golang-dev
      https://golang.org/cl/5987054
      f6d582db
    • Brad Fitzpatrick's avatar
      debug/gosym: in test, use temp binary name in /tmp, and clean up. · 494fe3b0
      Brad Fitzpatrick authored
      This fixes all.bash on shared machines.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5992078
      494fe3b0
    • Shenghou Ma's avatar
      doc/code: update newmath.Sqrt test case to make sure test succeed · 25e02d51
      Shenghou Ma authored
              Fixes #3445.
      
      R=golang-dev, rsc, mtj
      CC=golang-dev
      https://golang.org/cl/5975061
      25e02d51
    • Shenghou Ma's avatar
      doc/go_spec: fix a typo · 9bc8dd39
      Shenghou Ma authored
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5989065
      9bc8dd39
    • Shenghou Ma's avatar
      build: run.bash no longer accepts --no-banner · 149983f1
      Shenghou Ma authored
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5986063
      149983f1
    • Dmitriy Vyukov's avatar
      runtime: preparation for parallel GC · 342658bb
      Dmitriy Vyukov authored
      make MHeap.allspans an array instead on a linked-list,
      it's required for parallel for
      
      benchmark                              old ns/op    new ns/op    delta
      
      garbage.BenchmarkTree                  494435529    487962705   -1.31%
      garbage.BenchmarkTree-2                499652705    485358000   -2.86%
      garbage.BenchmarkTree-4                468482117    454093117   -3.07%
      garbage.BenchmarkTree-8                488533235    471872470   -3.41%
      garbage.BenchmarkTree-16               507835176    492558470   -3.01%
      
      garbage.BenchmarkTree2                  31453900     31404300   -0.16%
      garbage.BenchmarkTree2-2                21440600     21477000   +0.17%
      garbage.BenchmarkTree2-4                10982000     11117400   +1.23%
      garbage.BenchmarkTree2-8                 7544700      7456700   -1.17%
      garbage.BenchmarkTree2-16                7049500      6805700   -3.46%
      
      garbage.BenchmarkParser               4448988000   4453264000   +0.10%
      garbage.BenchmarkParser-2             4086045000   4057948000   -0.69%
      garbage.BenchmarkParser-4             3677365000   3661246000   -0.44%
      garbage.BenchmarkParser-8             3517253000   3540190000   +0.65%
      garbage.BenchmarkParser-16            3506562000   3463478000   -1.23%
      
      garbage.BenchmarkTreePause              20969784     21100238   +0.62%
      garbage.BenchmarkTreePause-2            20215875     20139572   -0.38%
      garbage.BenchmarkTreePause-4            17240709     16683624   -3.23%
      garbage.BenchmarkTreePause-8            18196386     17639306   -3.06%
      garbage.BenchmarkTreePause-16           20621158     20215056   -1.97%
      
      garbage.BenchmarkTree2Pause            173992142    173872380   -0.07%
      garbage.BenchmarkTree2Pause-2          131281904    131366666   +0.06%
      garbage.BenchmarkTree2Pause-4           93484952     95109619   +1.74%
      garbage.BenchmarkTree2Pause-8           88950523     86533333   -2.72%
      garbage.BenchmarkTree2Pause-16          86071238     84089190   -2.30%
      
      garbage.BenchmarkParserPause           135815000    135255952   -0.41%
      garbage.BenchmarkParserPause-2          92691523     91451428   -1.34%
      garbage.BenchmarkParserPause-4          53392190     51611904   -3.33%
      garbage.BenchmarkParserPause-8          36059523     35116666   -2.61%
      garbage.BenchmarkParserPause-16         30174300     27340600   -9.39%
      
      garbage.BenchmarkTreeLastPause          28420000     29142000   +2.54%
      garbage.BenchmarkTreeLastPause-2        23514000     26779000  +13.89%
      garbage.BenchmarkTreeLastPause-4        21773000     18660000  -14.30%
      garbage.BenchmarkTreeLastPause-8        24072000     21276000  -11.62%
      garbage.BenchmarkTreeLastPause-16       25149000     28541000  +13.49%
      
      garbage.BenchmarkTree2LastPause        314491000    313982000   -0.16%
      garbage.BenchmarkTree2LastPause-2      214363000    214715000   +0.16%
      garbage.BenchmarkTree2LastPause-4      109778000    111115000   +1.22%
      garbage.BenchmarkTree2LastPause-8       75390000     74522000   -1.15%
      garbage.BenchmarkTree2LastPause-16      70333000     67880000   -3.49%
      
      garbage.BenchmarkParserLastPause       327247000    326815000   -0.13%
      garbage.BenchmarkParserLastPause-2     217039000    212529000   -2.08%
      garbage.BenchmarkParserLastPause-4     119722000    111535000   -6.84%
      garbage.BenchmarkParserLastPause-8      70806000     69613000   -1.68%
      garbage.BenchmarkParserLastPause-16     62813000     48009000  -23.57%
      
      R=rsc, r
      CC=golang-dev
      https://golang.org/cl/5992055
      342658bb
  5. 07 Apr, 2012 2 commits
    • Dmitriy Vyukov's avatar
      runtime: add memory prefetching to GC · f09e63a2
      Dmitriy Vyukov authored
      benchmark                              old ns/op    new ns/op    delta
      
      garbage.BenchmarkParser               4448988000   4370531000   -1.76%
      garbage.BenchmarkParser-2             4086045000   4023083000   -1.54%
      garbage.BenchmarkParser-4             3677365000   3667020000   -0.28%
      garbage.BenchmarkParser-8             3517253000   3543946000   +0.76%
      garbage.BenchmarkParser-16            3506562000   3512518000   +0.17%
      
      garbage.BenchmarkTree                  494435529    505784058   +2.30%
      garbage.BenchmarkTree-2                499652705    502774823   +0.62%
      garbage.BenchmarkTree-4                468482117    465713352   -0.59%
      garbage.BenchmarkTree-8                488533235    482287000   -1.28%
      garbage.BenchmarkTree-16               507835176    500654882   -1.41%
      
      garbage.BenchmarkTree2                  31453900     28804600   -8.42%
      garbage.BenchmarkTree2-2                21440600     19065800  -11.08%
      garbage.BenchmarkTree2-4                10982000     10009100   -8.86%
      garbage.BenchmarkTree2-8                 7544700      6479800  -14.11%
      garbage.BenchmarkTree2-16                7049500      6163200  -12.57%
      
      garbage.BenchmarkParserPause           135815000    125360666   -7.70%
      garbage.BenchmarkParserPause-2          92691523     84365476   -8.98%
      garbage.BenchmarkParserPause-4          53392190     46995809  -11.98%
      garbage.BenchmarkParserPause-8          36059523     30998900  -14.03%
      garbage.BenchmarkParserPause-16         30174300     27613350   -8.49%
      
      garbage.BenchmarkTreePause              20969784     22568102   +7.62%
      garbage.BenchmarkTreePause-2            20215875     20975130   +3.76%
      garbage.BenchmarkTreePause-4            17240709     17180666   -0.35%
      garbage.BenchmarkTreePause-8            18196386     18205870   +0.05%
      garbage.BenchmarkTreePause-16           20621158     20486867   -0.65%
      
      garbage.BenchmarkTree2Pause            173992142    159995285   -8.04%
      garbage.BenchmarkTree2Pause-2          131281904    118013714  -10.11%
      garbage.BenchmarkTree2Pause-4           93484952     85092666   -8.98%
      garbage.BenchmarkTree2Pause-8           88950523     77340809  -13.05%
      garbage.BenchmarkTree2Pause-16          86071238     76557952  -11.05%
      
      garbage.BenchmarkParserLastPause       327247000    288205000  -11.93%
      garbage.BenchmarkParserLastPause-2     217039000    187336000  -13.69%
      garbage.BenchmarkParserLastPause-4     119722000    105069000  -12.24%
      garbage.BenchmarkParserLastPause-8      70806000     64755000   -8.55%
      garbage.BenchmarkParserLastPause-16     62813000     53486000  -14.85%
      
      garbage.BenchmarkTreeLastPause          28420000     29735000   +4.63%
      garbage.BenchmarkTreeLastPause-2        23514000     25427000   +8.14%
      garbage.BenchmarkTreeLastPause-4        21773000     19548000  -10.22%
      garbage.BenchmarkTreeLastPause-8        24072000     24046000   -0.11%
      garbage.BenchmarkTreeLastPause-16       25149000     25291000   +0.56%
      
      garbage.BenchmarkTree2LastPause        314491000    287988000   -8.43%
      garbage.BenchmarkTree2LastPause-2      214363000    190616000  -11.08%
      garbage.BenchmarkTree2LastPause-4      109778000    100052000   -8.86%
      garbage.BenchmarkTree2LastPause-8       75390000     64753000  -14.11%
      garbage.BenchmarkTree2LastPause-16      70333000     61484000  -12.58%
      
      FTR, below are result with the empty prefetch function,
      that is, single RET but no real prefetching.
      It suggests that inlinable PREFETCH is worth pursuing.
      
      benchmark                              old ns/op    new ns/op    delta
      
      garbage.BenchmarkParser               4448988000   4560488000   +2.51%
      garbage.BenchmarkParser-2             4086045000   4129728000   +1.07%
      garbage.BenchmarkParser-4             3677365000   3728672000   +1.40%
      garbage.BenchmarkParser-8             3517253000   3583968000   +1.90%
      garbage.BenchmarkParser-16            3506562000   3591414000   +2.42%
      
      garbage.BenchmarkTree                  494435529    499580882   +1.04%
      garbage.BenchmarkTree-4                468482117    467387294   -0.23%
      garbage.BenchmarkTree-8                488533235    478311117   -2.09%
      garbage.BenchmarkTree-2                499652705    499324235   -0.07%
      garbage.BenchmarkTree-16               507835176    502005705   -1.15%
      
      garbage.BenchmarkTree2                  31453900     33296800   +5.86%
      garbage.BenchmarkTree2-2                21440600     22466400   +4.78%
      garbage.BenchmarkTree2-4                10982000     11402700   +3.83%
      garbage.BenchmarkTree2-8                 7544700      7476500   -0.90%
      garbage.BenchmarkTree2-16                7049500      7338200   +4.10%
      
      garbage.BenchmarkParserPause           135815000    139529142   +2.73%
      garbage.BenchmarkParserPause-2          92691523     95229190   +2.74%
      garbage.BenchmarkParserPause-4          53392190     53083476   -0.58%
      garbage.BenchmarkParserPause-8          36059523     34594800   -4.06%
      garbage.BenchmarkParserPause-16         30174300     30063300   -0.37%
      
      garbage.BenchmarkTreePause              20969784     21866920   +4.28%
      garbage.BenchmarkTreePause-2            20215875     20731125   +2.55%
      garbage.BenchmarkTreePause-4            17240709     17275837   +0.20%
      garbage.BenchmarkTreePause-8            18196386     17898777   -1.64%
      garbage.BenchmarkTreePause-16           20621158     20662772   +0.20%
      
      garbage.BenchmarkTree2Pause            173992142    184336857   +5.95%
      garbage.BenchmarkTree2Pause-2          131281904    138005714   +5.12%
      garbage.BenchmarkTree2Pause-4           93484952     98449238   +5.31%
      garbage.BenchmarkTree2Pause-8           88950523     89286095   +0.38%
      garbage.BenchmarkTree2Pause-16          86071238     89568666   +4.06%
      
      garbage.BenchmarkParserLastPause       327247000    342189000   +4.57%
      garbage.BenchmarkParserLastPause-2     217039000    217224000   +0.09%
      garbage.BenchmarkParserLastPause-4     119722000    121327000   +1.34%
      garbage.BenchmarkParserLastPause-8      70806000     71941000   +1.60%
      garbage.BenchmarkParserLastPause-16     62813000     60166000   -4.21%
      
      garbage.BenchmarkTreeLastPause          28420000     27840000   -2.04%
      garbage.BenchmarkTreeLastPause-2        23514000     27390000  +16.48%
      garbage.BenchmarkTreeLastPause-4        21773000     21414000   -1.65%
      garbage.BenchmarkTreeLastPause-8        24072000     21705000   -9.83%
      garbage.BenchmarkTreeLastPause-16       25149000     23932000   -4.84%
      
      garbage.BenchmarkTree2LastPause        314491000    332894000   +5.85%
      garbage.BenchmarkTree2LastPause-2      214363000    224611000   +4.78%
      garbage.BenchmarkTree2LastPause-4      109778000    113976000   +3.82%
      garbage.BenchmarkTree2LastPause-8       75390000     67223000  -10.83%
      garbage.BenchmarkTree2LastPause-16      70333000     73216000   +4.10%
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5991057
      f09e63a2
    • Bobby Powers's avatar
      time: in Format give buffer an initial capacity · c9529e02
      Bobby Powers authored
      I have a small web server that simply sets several cookies
      along with an expires header, and then returns.  In the
      cpuprofile for a 200k request benchmark, time.Time.Format()
      was showing up as 8.3% of cpu usage.  Giving the buffer an
      inital capacity to avoid reallocs on append drops it down to
      7.6%.
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/5992058
      c9529e02
  6. 06 Apr, 2012 1 commit