1. 18 Aug, 2014 1 commit
    • Dmitriy Vyukov's avatar
      runtime: don't acquirem on malloc fast path · 30940cfa
      Dmitriy Vyukov authored
      Mallocgc must be atomic wrt GC, but for performance reasons
      don't acquirem/releasem on fast path. The code does not have
      split stack checks, so it can't be preempted by GC.
      Functions like roundup/add are inlined. And onM/racemalloc are nosplit.
      Also add debug code that checks these assumptions.
      
      benchmark                     old ns/op     new ns/op     delta
      BenchmarkMalloc8              20.5          17.2          -16.10%
      BenchmarkMalloc16             29.5          27.0          -8.47%
      BenchmarkMallocTypeInfo8      31.5          27.6          -12.38%
      BenchmarkMallocTypeInfo16     34.7          30.9          -10.95%
      
      LGTM=khr
      R=golang-codereviews, khr
      CC=golang-codereviews, rlh, rsc
      https://golang.org/cl/123100043
      30940cfa
  2. 16 Aug, 2014 4 commits
  3. 15 Aug, 2014 8 commits
  4. 14 Aug, 2014 3 commits
  5. 13 Aug, 2014 9 commits
  6. 12 Aug, 2014 15 commits