1. 01 Jan, 2015 3 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 1 commit
    • 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