1. 01 Jan, 2015 2 commits
  2. 31 Dec, 2014 3 commits
  3. 30 Dec, 2014 7 commits
  4. 29 Dec, 2014 6 commits
  5. 28 Dec, 2014 7 commits
  6. 27 Dec, 2014 2 commits
  7. 26 Dec, 2014 5 commits
  8. 25 Dec, 2014 1 commit
    • Dmitry Vyukov's avatar
      runtime: simplify procresize · ce9a4afa
      Dmitry Vyukov authored
      Currently we do very a complex rebalancing of runnable goroutines
      between queues, which tries to preserve scheduling fairness.
      Besides being complex and error-prone, it also destroys all locality
      of scheduling.
      
      This change uses simpler scheme: leave runnable goroutines where
      they are, during starttheworld start all Ps with local work,
      plus start one additional P in case we have excessive runnable
      goroutines in local queues or in the global queue.
      
      The schedler must be able to operate efficiently w/o the rebalancing,
      because garbage collections do not have to happen frequently.
      
      The immediate need is execution tracing support: handling of
      garabage collection which does stoptheworld/starttheworld several
      times becomes exceedingly complex if the current execution can
      jump between Ps during starttheworld.
      
      Change-Id: I4fdb7a6d80ca4bd08900d0c6a0a252a95b1a2c90
      Reviewed-on: https://go-review.googlesource.com/1951Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
      ce9a4afa
  9. 24 Dec, 2014 5 commits
  10. 23 Dec, 2014 2 commits
    • Martin Möhrmann's avatar
      sort: simplify rotate and reduce calls to it · 76cc881e
      Martin Möhrmann authored
      Move the checks for empty rotate changes
      from the beginning of rotate to the callers.
      
      Remove additional variable p used instead of existing m with same value.
      
      Remove special casing of equal ranges (i==j) to exit early as no
      work is saved vs checking (i!=j) and  making a single
      swapRange call if this is false.
      
      benchmark                   old ns/op      new ns/op      delta
      BenchmarkStableString1K     417195         425218         +1.92%
      BenchmarkStableInt1K        126661         124498         -1.71%
      BenchmarkStableInt64K       10365014       10417438       +0.51%
      BenchmarkStable1e2          132151         130648         -1.14%
      BenchmarkStable1e4          42027428       40812649       -2.89%
      BenchmarkStable1e6          8524772364     8430192391     -1.11%
      
      Change-Id: Ia7642e9d31408496970c700f5843d53cc3ebe817
      Reviewed-on: https://go-review.googlesource.com/2100Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      76cc881e
    • Carlos Castillo's avatar
      go/build: add variable expansion to cgo lines · 13175818
      Carlos Castillo authored
      When go parses #cgo lines, expand ${SRCDIR} into the path to the
      source directory. This allows options to be passed to the
      compiler and linker that involve file paths relative to the
      source code directory. Without the expansion the paths would be
      invalid when the current working directory changes.
      
      Fixes #7891
      Fixes #5428
      
      Change-Id: I343a145a9771a5ccbaa958e4a1ecd1716fcae52d
      Reviewed-on: https://go-review.googlesource.com/1756Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      13175818