1. 25 Jan, 2015 1 commit
  2. 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
  3. 23 Jan, 2015 5 commits
  4. 22 Jan, 2015 4 commits
  5. 21 Jan, 2015 12 commits
  6. 20 Jan, 2015 9 commits
  7. 19 Jan, 2015 6 commits