1. 26 Jan, 2015 9 commits
  2. 25 Jan, 2015 1 commit
  3. 24 Jan, 2015 3 commits
    • INADA Naoki's avatar
      database/sql: reduce lock contention in Stmt.connStmt · 1b61a978
      INADA Naoki authored
      Previouslly, Stmt.connStmt calls DB.connIfFree on each Stmt.css.
      Since Stmt.connStmt locks Stmt.mu, a concurrent use of Stmt causes lock
      contention on Stmt.mu.
      Additionally, DB.connIfFree locks DB.mu which is shared by DB.addDep and
      DB.removeDep.
      
      This change removes DB.connIfFree and makes use of a first unused
      connection in idle connection pool to reduce lock contention
      without making it complicated.
      
      Fixes #9484
      
      On EC2 c3.8xlarge (E5-2680 v2 @ 2.80GHz * 32 vCPU):
      
      benchmark                           old ns/op     new ns/op     delta
      BenchmarkManyConcurrentQuery-8      40249         34721         -13.73%
      BenchmarkManyConcurrentQuery-16     45610         40176         -11.91%
      BenchmarkManyConcurrentQuery-32     109831        43179         -60.69%
      
      benchmark                           old allocs     new allocs     delta
      BenchmarkManyConcurrentQuery-8      25             25             +0.00%
      BenchmarkManyConcurrentQuery-16     25             25             +0.00%
      BenchmarkManyConcurrentQuery-32     25             25             +0.00%
      
      benchmark                           old bytes     new bytes     delta
      BenchmarkManyConcurrentQuery-8      3980          3969          -0.28%
      BenchmarkManyConcurrentQuery-16     3980          3982          +0.05%
      BenchmarkManyConcurrentQuery-32     3993          3990          -0.08%
      
      Change-Id: Ic96296922c465bac38a260018c58324dae1531d9
      Reviewed-on: https://go-review.googlesource.com/2207Reviewed-by: 's avatarMikio Hara <mikioh.mikioh@gmail.com>
      1b61a978
    • Robert Griesemer's avatar
      math/big: disable some tests on 32bit platforms (fix build) · 3acb9fd9
      Robert Griesemer authored
      TBR: adonovan
      
      Change-Id: I59757b5b46a2c533fc5f888423c99d550d3c7648
      Reviewed-on: https://go-review.googlesource.com/3264Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      3acb9fd9
    • Robert Griesemer's avatar
      math/big: multi-precision Floats (starting point) · bd275b23
      Robert Griesemer authored
      Implemented:
      - +, -, *, /, and some unary ops
      - all rounding modes
      - basic conversions
      - string to float conversion
      - tests
      
      Missing:
      - float to string conversion, formatting
      - handling of +/-0 and +/-inf (under- and overflow)
      - various TODOs and cleanups
      
      With precision set to 24 or 53, the results match
      float32 or float64 operations exactly (excluding
      NaNs and denormalized numbers which will not be
      supported).
      
      Change-Id: I3121e90fc4b1528e40bb6ff526008da18b3c6520
      Reviewed-on: https://go-review.googlesource.com/1218Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      bd275b23
  4. 23 Jan, 2015 5 commits
  5. 22 Jan, 2015 4 commits
  6. 21 Jan, 2015 12 commits
  7. 20 Jan, 2015 6 commits
    • Paul van Brouwershaven's avatar
      crypto/x509: Authority Key Identifier must be included in all CRLs issued · 4e7f0651
      Paul van Brouwershaven authored
      According to RFC5280 the authority key identifier extension MUST included in all
      CRLs issued. This patch includes the authority key identifier extension when the
      Subject Key Identifier is present in the signing certificate.
      
      RFC5280 states:
      
      "The authority key identifier extension provides a means of identifying the
      public key corresponding to the private key used to sign a CRL.  The
      identification can be based on either the key identifier (the subject key
      identifier in the CRL signer's certificate) or the issuer name and serial
      number.  This extension is especially useful where an issuer has more than one
      signing key, either due to multiple concurrent key pairs or due to changeover."
      
      Conforming CRL issuers MUST use the key identifier method, and MUST include this
      extension in all CRLs issued."
      
      This CL has been discussed at: http://golang.org/cl/177760043
      
      Change-Id: I9bf50521908bfe777ea2398f154c13e8c90d14ad
      Reviewed-on: https://go-review.googlesource.com/2258Reviewed-by: 's avatarAdam Langley <agl@golang.org>
      4e7f0651
    • Paul van Brouwershaven's avatar
      crypto/x509: implement crypto.Signer · cef15faa
      Paul van Brouwershaven authored
      Signer is an interface to support opaque private keys.
      These keys typically result from being kept in special hardware
      (i.e. a TPM) although sometimes operating systems provide a
      similar interface using process isolation for security rather
      than hardware boundaries.
      
      This changes provides updates implements crypto.Signer in
      CreateCRL and CreateCertificate so that they can be used with
      opaque keys.
      
      This CL has been discussed at: http://golang.org/cl/145910043
      
      Change-Id: Ie4a4a583fb120ff484a5ccf267ecd2a9c5a3902b
      Reviewed-on: https://go-review.googlesource.com/2254Reviewed-by: 's avatarAdam Langley <agl@golang.org>
      cef15faa
    • Emil Hessman's avatar
      path/filepath: make Join handle UNC paths on Windows · 8128b011
      Emil Hessman authored
      Unless the first element is a Universal Naming Convention (UNC)[0]
      path, Join shouldn't create a UNC path on Windows.
      
      For example, Join inadvertently creates a UNC path on Windows when
      told to join at least three non-empty path elements, where the first
      element is `\` or `/`.
      
      This CL prevents creation of a UNC path prefix when the first path
      element isn't a UNC path.
      
      Since this introduces some amount of Windows-specific logic, Join is
      moved to a per GOOS implementation.
      
      Fixes #9167.
      
      [0]: http://msdn.microsoft.com/en-us/library/gg465305.aspx
      
      Change-Id: Ib6eda597106cb025137673b33c4828df1367f75b
      Reviewed-on: https://go-review.googlesource.com/2211Reviewed-by: 's avatarAlex Brainman <alex.brainman@gmail.com>
      8128b011
    • Robert Griesemer's avatar
      math/big: permit internal nat.scan to accept decimal point · 4e0618c9
      Robert Griesemer authored
      This will simplify parsing of rational and (eventually) floating point numbers.
      
      Also streamlined inner loop. As a result, scan runs faster for all but short
      (<= 10 digit) numbers. For short numbers it is < 10% slower (cause is known
      and could be addressed in a future CL).
      
      Minor unrelated cleanups. Added additional tests.
      
      benchmark                     old ns/op     new ns/op     delta
      BenchmarkScanPi               134465        125122        -6.95%
      BenchmarkScan10Base2          493           540           +9.53%
      BenchmarkScan100Base2         3608          3244          -10.09%
      BenchmarkScan1000Base2        35376         32377         -8.48%
      BenchmarkScan10000Base2       481504        450028        -6.54%
      BenchmarkScan100000Base2      17936774      17648080      -1.61%
      BenchmarkScan10Base8          258           280           +8.53%
      BenchmarkScan100Base8         1389          1323          -4.75%
      BenchmarkScan1000Base8        14221         13036         -8.33%
      BenchmarkScan10000Base8       271298        258993        -4.54%
      BenchmarkScan100000Base8      15715465      15672580      -0.27%
      BenchmarkScan10Base10         249           268           +7.63%
      BenchmarkScan100Base10        1324          1220          -7.85%
      BenchmarkScan1000Base10       13398         12234         -8.69%
      BenchmarkScan10000Base10      259157        249342        -3.79%
      BenchmarkScan100000Base10     15670613      15582409      -0.56%
      BenchmarkScan10Base16         231           251           +8.66%
      BenchmarkScan100Base16        1093          1065          -2.56%
      BenchmarkScan1000Base16       12687         12196         -3.87%
      BenchmarkScan10000Base16      282349        271443        -3.86%
      BenchmarkScan100000Base16     16742669      16552917      -1.13%
      
      Change-Id: I4b9b078792788aef872b307399f00ffd34903127
      Reviewed-on: https://go-review.googlesource.com/2960Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
      4e0618c9
    • Chris Manghane's avatar
      cmd/gc: don't unpack struct arguments to append · f5b8813e
      Chris Manghane authored
      Fixes #9634.
      
      Change-Id: I7b18f26c2fb812978fc7adc5bfd39ebfffe48701
      Reviewed-on: https://go-review.googlesource.com/3080Reviewed-by: 's avatarMinux Ma <minux@golang.org>
      f5b8813e
    • Rick Hudson's avatar
      runtime: Add some diagnostic messages printing source of unmarked object · 06357068
      Rick Hudson authored
      Print out the object holding the reference to the object
      that checkmark detects as not being properly marked.
      
      Change-Id: Ieedbb6fddfaa65714504af9e7230bd9424cd0ae0
      Reviewed-on: https://go-review.googlesource.com/2744Reviewed-by: 's avatarAustin Clements <austin@google.com>
      06357068