diff --git a/bench/cpu-def.svg b/bench/cpu-def.svg deleted file mode 100644 index 45bedc8..0000000 --- a/bench/cpu-def.svg +++ /dev/null @@ -1,1884 +0,0 @@ - - - - - - -test.bin - - -cluster_L - - - - -File: test.bin - - -File: test.bin -Type: cpu -Time: Feb 12, 2019 at 1:38pm (JST) -Duration: 24.09s, Total samples = 24s (99.64%) -Showing nodes accounting for 22.55s, 93.96% of 24s total -Dropped 106 nodes (cum <= 0.12s) - - - - - -N1 - - -github -com/kpango/gache -BenchmarkMapWithBigDataset -func1 -0.45s (1.88%) -of 19.10s (79.58%) - - - - - -N6 - - -github -com/kpango/gache -(*DefaultMap) -Set -0.09s (0.38%) -of 13.40s (55.83%) - - - - - -N1->N6 - - - - - - - 13.40s - - - - - -N8 - - -github -com/kpango/gache -(*DefaultMap) -Get -0.12s (0.5%) -of 3.64s (15.17%) - - - - - -N1->N8 - - - - - - - 3.64s - - - - - -N24 - - -runtime -mapiternext -0.34s (1.42%) -of 0.46s (1.92%) - - - - - -N1->N24 - - - - - - - 0.46s - - - - - -N26 - - -runtime -convT2Estring -0.09s (0.38%) -of 1.14s (4.75%) - - - - - -N1->N26 - - - - - - - 1.14s - - - - - -N2 - - -runtime -aeshashbody -12.20s (50.83%) - - - - - -N3 - - -testing -(*B) -RunParallel -func1 -0 of 19.10s (79.58%) - - - - - -N3->N1 - - - - - - - 19.10s - - - - - -N4 - - -runtime -nilinterhash -0.16s (0.67%) -of 12.42s (51.75%) - - - - - -N4->N2 - - - - - - - 12.20s - - - - - -N5 - - -runtime -mapassign -1.23s (5.12%) -of 11.66s (48.58%) - - - - - -N5->N4 - - - - - - - 9.62s - - - - - -N18 - - -runtime -nilinterequal -0.16s (0.67%) -of 0.54s (2.25%) - - - - - -N5->N18 - - - - - - - 0.34s - - - - - -N55 - - -runtime -growWork -0 of 0.39s (1.62%) - - - - - -N5->N55 - - - - - - - 0.39s - - - - - -N6->N5 - - - - - - - 11.66s - - - - - -N16 - - -runtime -deferreturn -0.28s (1.17%) -of 0.49s (2.04%) - - - - - -N6->N16 - - - - - - - 0.26s - - - - - -N22 - - -runtime -deferproc -0.17s (0.71%) -of 0.31s (1.29%) - - - - - -N6->N22 - - - - - - - 0.18s - - - - - -N23 - - -sync -(*RWMutex) -Unlock -0.35s (1.46%) -of 0.48s (2.00%) - - - - - -N6->N23 - - - - - - - 0.48s - - - - - -N25 - - -sync -(*RWMutex) -Lock -0.11s (0.46%) -of 0.73s (3.04%) - - - - - -N6->N25 - - - - - - - 0.73s - - - - - -N7 - - -runtime -findrunnable -0.25s (1.04%) -of 2.17s (9.04%) - - - - - -N20 - - -runtime -lock -0.16s (0.67%) -of 0.26s (1.08%) - - - - - -N7->N20 - - - - - - - 0.13s - - - - - -N29 - - -runtime -unlock -0.17s (0.71%) -of 0.20s (0.83%) - - - - - -N7->N29 - - - - - - - 0.17s - - - - - -N35 - - -runtime -pidleput -0.13s (0.54%) -of 0.14s (0.58%) - - - - - -N7->N35 - - - - - - - 0.14s - - - - - -N46 - - -runtime -futexsleep -0 of 0.12s (0.5%) - - - - - -N7->N46 - - - - - - - 0.09s - - - - - -N57 - - -runtime -runqsteal -0 of 1.14s (4.75%) - - - - - -N7->N57 - - - - - - - 1.14s - - - - - -N11 - - -runtime -mapaccess2 -0.23s (0.96%) -of 2.88s (12.00%) - - - - - -N8->N11 - - - - - - - 2.88s - - - - - -N8->N16 - - - - - - - 0.23s - - - - - -N8->N22 - - - - - - - 0.13s - - - - - -N33 - - -sync -(*RWMutex) -RUnlock -0.16s (0.67%) -of 0.18s (0.75%) - - - - - -N8->N33 - - - - - - - 0.18s - - - - - -N9 - - -sync -runtime_nanotime -1.78s (7.42%) - - - - - -N10 - - -runtime -mcall -0.03s (0.12%) -of 2.60s (10.83%) - - - - - -N44 - - -runtime -park_m -0.01s (0.042%) -of 2.48s (10.33%) - - - - - -N10->N44 - - - - - - - 2.48s - - - - - -N11->N4 - - - - - - - 2.43s - - - - - -N11->N18 - - - - - - - 0.20s - - - - - -N12 - - -runtime -usleep -1.12s (4.67%) - - - - - -N13 - - -runtime -mallocgc -0.36s (1.50%) -of 1.05s (4.38%) - - - - - -N30 - - -runtime -heapBitsSetType -0.17s (0.71%) -of 0.27s (1.12%) - - - - - -N13->N30 - - - - - - - 0.27s - - - - - -N50 - - -runtime -(*mcache) -nextFree -0 of 0.19s (0.79%) - - - - - -N13->N50 - - - - - - - 0.19s - - - - - -N14 - - -runtime -schedule -0.07s (0.29%) -of 2.51s (10.46%) - - - - - -N14->N7 - - - - - - - 2.17s - - - - - -N56 - - -runtime -resetspinning -0 of 0.21s (0.88%) - - - - - -N14->N56 - - - - - - - 0.21s - - - - - -N15 - - -runtime -systemstack -0 of 0.42s (1.75%) - - - - - -N41 - - -runtime -wakep -0 of 0.24s (1.00%) - - - - - -N15->N41 - - - - - - - 0.03s - - - - - -N48 - - -runtime -(*mcache) -nextFree -func1 -0.01s (0.042%) -of 0.14s (0.58%) - - - - - -N15->N48 - - - - - - - 0.14s - - - - - -N54 - - -runtime -gosweepone -func1 -0 of 0.15s (0.62%) - - - - - -N15->N54 - - - - - - - 0.15s - - - - - -N31 - - -runtime -freedefer -0.20s (0.83%) -of 0.21s (0.88%) - - - - - -N16->N31 - - - - - - - 0.21s - - - - - -N17 - - -runtime -futex -0.40s (1.67%) - - - - - -N27 - - -runtime -efaceeq -0.16s (0.67%) -of 0.38s (1.58%) - - - - - -N18->N27 - - - - - - - 0.38s - - - - - -N19 - - -runtime -procyield -0.42s (1.75%) - - - - - -N20->N19 - - - - - - - 0.07s - - - - - -N21 - - -sync -(*Mutex) -Lock -0.19s (0.79%) -of 0.59s (2.46%) - - - - - -N59 - - -sync -runtime_doSpin -0 of 0.35s (1.46%) - - - - - -N21->N59 - - - - - - - 0.35s - - - - - -N34 - - -runtime -newdefer -0.13s (0.54%) -of 0.14s (0.58%) - - - - - -N22->N34 - - - - - - - 0.14s - - - - - -N37 - - -sync -(*Mutex) -Unlock -0.06s (0.25%) -of 0.13s (0.54%) - - - - - -N23->N37 - - - - - - - 0.13s - - - - - -N36 - - -runtime -(*bmap) -overflow -0.11s (0.46%) -of 0.12s (0.5%) - - - - - -N24->N36 - - - - - - - 0.12s - (inline) - - - - - -N25->N21 - - - - - - - 0.59s - - - - - -N26->N13 - - - - - - - 1.05s - - - - - -N32 - - -runtime -strequal -0.20s (0.83%) -of 0.21s (0.88%) - - - - - -N27->N32 - - - - - - - 0.21s - - - - - -N28 - - -runtime -(*mheap) -freeSpanLocked -0.24s (1.00%) - - - - - -N40 - - -runtime -futexwakeup -0 of 0.28s (1.17%) - - - - - -N29->N40 - - - - - - - 0.03s - - - - - -N37->N15 - - - - - - - 0.03s - - - - - -N38 - - -runtime -(*mspan) -sweep -0 of 0.13s (0.54%) - - - - - -N38->N20 - - - - - - - 0.07s - - - - - -N39 - - -runtime -gosweepone -0 of 0.15s (0.62%) - - - - - -N39->N15 - - - - - - - 0.15s - - - - - -N40->N17 - - - - - - - 0.28s - - - - - -N58 - - -runtime -startm -0 of 0.24s (1.00%) - - - - - -N41->N58 - - - - - - - 0.24s - - - - - -N42 - - -runtime -(*mheap) -alloc -0 of 0.12s (0.5%) - - - - - -N43 - - -runtime -sweepone -0.02s (0.083%) -of 0.15s (0.62%) - - - - - -N43->N38 - - - - - - - 0.13s - - - - - -N44->N14 - - - - - - - 2.45s - - - - - -N45 - - -runtime -runqgrab -0.01s (0.042%) -of 1.14s (4.75%) - - - - - -N45->N12 - - - - - - - 1.11s - - - - - -N46->N17 - - - - - - - 0.12s - - - - - -N47 - - -runtime -evacuate -0.01s (0.042%) -of 0.39s (1.62%) - - - - - -N47->N4 - - - - - - - 0.37s - - - - - -N51 - - -runtime -(*mcache) -refill -0 of 0.13s (0.54%) - - - - - -N48->N51 - - - - - - - 0.13s - - - - - -N49 - - -runtime -notewakeup -0 of 0.25s (1.04%) - - - - - -N49->N40 - - - - - - - 0.25s - - - - - -N50->N15 - - - - - - - 0.14s - - - - - -N52 - - -runtime -(*mcentral) -cacheSpan -0 of 0.13s (0.54%) - - - - - -N51->N52 - - - - - - - 0.13s - - - - - -N53 - - -runtime -(*mcentral) -grow -0 of 0.13s (0.54%) - - - - - -N52->N53 - - - - - - - 0.13s - - - - - -N53->N42 - - - - - - - 0.12s - - - - - -N54->N43 - - - - - - - 0.15s - - - - - -N55->N47 - - - - - - - 0.39s - - - - - -N56->N41 - - - - - - - 0.21s - - - - - -N57->N45 - - - - - - - 1.14s - - - - - -N58->N49 - - - - - - - 0.24s - - - - - -N59->N19 - - - - - - - 0.35s - - - - - diff --git a/bench/cpu-gache-graph.svg b/bench/cpu-gache-graph.svg deleted file mode 100644 index ec2304f..0000000 --- a/bench/cpu-gache-graph.svg +++ /dev/null @@ -1,2142 +0,0 @@ - - - - - - - - - - - - - - -Flame Graph - -Reset Zoom -Search - - -runtime.systemstack (2 samples, 0.07%) - - - -runtime.scang (1 samples, 0.04%) - - - -runtime.findObject (2 samples, 0.07%) - - - -sync.(*entry).tryStore (24 samples, 0.85%) - - - -runtime.(*mcache).nextFree (12 samples, 0.43%) - - - -runtime.notetsleep_internal (1 samples, 0.04%) - - - -runtime.gosweepone (26 samples, 0.93%) - - - -runtime.osyield (1 samples, 0.04%) - - - -runtime.(*mspan).nextFreeIndex (2 samples, 0.07%) - - - -runtime.gentraceback (1 samples, 0.04%) - - - -runtime.futex (2 samples, 0.07%) - - - -runtime.aeshashbody (197 samples, 7.02%) -runtime.a.. - - -runtime.futex (1 samples, 0.04%) - - - -runtime.nilinterhash (207 samples, 7.37%) -runtime.ni.. - - -runtime.(*mspan).sweep (1 samples, 0.04%) - - - -runtime.evacuate (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.strequal (54 samples, 1.92%) -r.. - - -runtime.gosweepone.func1 (4 samples, 0.14%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.gosweepone.func1 (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan.func1 (15 samples, 0.53%) - - - -runtime.(*mspan).countAlloc (2 samples, 0.07%) - - - -runtime.gosweepone.func1 (26 samples, 0.93%) - - - -runtime.startm (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.(*mspan).sweep (4 samples, 0.14%) - - - -runtime.(*mTreap).removeSpan (1 samples, 0.04%) - - - -runtime.systemstack (2 samples, 0.07%) - - - -runtime.(*mheap).freeSpan.func1 (4 samples, 0.14%) - - - -runtime.gcMarkDone (1 samples, 0.04%) - - - -runtime.procyield (2 samples, 0.07%) - - - -runtime.systemstack (9 samples, 0.32%) - - - -runtime.scanframeworker (1 samples, 0.04%) - - - -runtime.startTheWorld.func1 (1 samples, 0.04%) - - - -runtime.(*gcSweepBuf).push (1 samples, 0.04%) - - - -runtime.unlock (1 samples, 0.04%) - - - -runtime.stopTheWorldWithSema (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.(*mheap).alloc.func1 (1 samples, 0.04%) - - - -runtime.gcMark (1 samples, 0.04%) - - - -runtime.startm (2 samples, 0.07%) - - - -runtime.(*mheap).alloc (3 samples, 0.11%) - - - -runtime.(*mheap).setSpans (2 samples, 0.07%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan.func1 (4 samples, 0.14%) - - - -runtime.newMarkBits (1 samples, 0.04%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan (4 samples, 0.14%) - - - -runtime.ReadMemStats (1 samples, 0.04%) - - - -runtime.heapBits.initSpan (1 samples, 0.04%) - - - -runtime.gcMark (1 samples, 0.04%) - - - -runtime.unlock (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.(*mheap).alloc (1 samples, 0.04%) - - - -testing.(*B).run1.func1 (9 samples, 0.32%) - - - -runtime.gcStart (1 samples, 0.04%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.startm (1 samples, 0.04%) - - - -runtime.lock (1 samples, 0.04%) - - - -runtime.sweepone (3 samples, 0.11%) - - - -runtime.unlock (2 samples, 0.07%) - - - -runtime.(*mheap).alloc (5 samples, 0.18%) - - - -runtime.futexwakeup (2 samples, 0.07%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.nilinterhash (188 samples, 6.70%) -runtime.n.. - - -runtime.park_m (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -sync.(*entry).load (5 samples, 0.18%) - - - -runtime.gcMarkTermination (1 samples, 0.04%) - - - -runtime.heapBitsForAddr (1 samples, 0.04%) - - - -runtime.fastrand (1 samples, 0.04%) - - - -runtime.mProf_Malloc (1 samples, 0.04%) - - - -runtime.sysmon (1 samples, 0.04%) - - - -runtime.(*gcSweepBuf).pop (2 samples, 0.07%) - - - -runtime.(*mheap).freeSpanLocked (1 samples, 0.04%) - - - -runtime.markrootBlock (1 samples, 0.04%) - - - -runtime.mstart1 (1 samples, 0.04%) - - - -runtime.usleep (1 samples, 0.04%) - - - -runtime.timerproc (2 samples, 0.07%) - - - -runtime.resetspinning (1 samples, 0.04%) - - - -runtime.(*mTreap).removeSpan (1 samples, 0.04%) - - - -github.com/kpango/gache.BenchmarkGacheWithBigDataset.func1 (2,665 samples, 94.91%) -github.com/kpango/gache.BenchmarkGacheWithBigDataset.func1 - - -runtime.scanblock (1 samples, 0.04%) - - - -runtime.(*gcBits).bitp (1 samples, 0.04%) - - - -runtime.mallocgc (62 samples, 2.21%) -r.. - - -runtime.(*mcache).nextFree.func1 (9 samples, 0.32%) - - - -testing.(*B).StopTimer (1 samples, 0.04%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.sweepone (9 samples, 0.32%) - - - -runtime.convT2Estring (42 samples, 1.50%) - - - -runtime.unlock (2 samples, 0.07%) - - - -runtime.evacuated (1 samples, 0.04%) - - - -github.com/kpango/fastime.(*Fastime).UnixNanoNow (3 samples, 0.11%) - - - -runtime.ReadMemStats (1 samples, 0.04%) - - - -runtime.nextFreeFast (3 samples, 0.11%) - - - -runtime.gosweepone.func1 (9 samples, 0.32%) - - - -runtime.(*mspan).refillAllocCache (1 samples, 0.04%) - - - -testing.(*B).runN (8 samples, 0.28%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.futexwakeup (2 samples, 0.07%) - - - -runtime.(*mheap).freeSpan (9 samples, 0.32%) - - - -runtime.deductSweepCredit (5 samples, 0.18%) - - - -runtime.memclrNoHeapPointers (4 samples, 0.14%) - - - -runtime.findrunnable (3 samples, 0.11%) - - - -runtime.sweepone (4 samples, 0.14%) - - - -runtime.(*mcentral).grow (5 samples, 0.18%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.(*mspan).countAlloc (2 samples, 0.07%) - - - -runtime.systemstack (9 samples, 0.32%) - - - -runtime.efaceeq (56 samples, 1.99%) -r.. - - -runtime.gcDrainN (1 samples, 0.04%) - - - -runtime.memclrNoHeapPointers (2 samples, 0.07%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.gosweepone (4 samples, 0.14%) - - - -runtime.gcStart.func2 (2 samples, 0.07%) - - - -github.com/kpango/fastime.(*Fastime).UnixNanoNow (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.sweepone (1 samples, 0.04%) - - - -runtime.(*mcentral).freeSpan (2 samples, 0.07%) - - - -runtime.entersyscallblock (1 samples, 0.04%) - - - -runtime.wbBufFlush.func1 (1 samples, 0.04%) - - - -runtime.gosweepone (5 samples, 0.18%) - - - -runtime.(*mcache).nextFree (9 samples, 0.32%) - - - -runtime.gosweepone.func1 (5 samples, 0.18%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.futexsleep (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpanLocked (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.helpgc (1 samples, 0.04%) - - - -runtime.profilealloc (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan.func1 (3 samples, 0.11%) - - - -runtime.(*mcache).nextFree (6 samples, 0.21%) - - - -runtime.(*gcBitsArena).tryAlloc (1 samples, 0.04%) - - - -runtime.(*mTreap).removeNode (1 samples, 0.04%) - - - -runtime.newstack (1 samples, 0.04%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.memequal (1 samples, 0.04%) - - - -runtime._System (7 samples, 0.25%) - - - -runtime.(*mcentral).freeSpan (4 samples, 0.14%) - - - -runtime.(*mcentral).freeSpan (4 samples, 0.14%) - - - -runtime.(*mcentral).grow (1 samples, 0.04%) - - - -runtime.bgsweep (26 samples, 0.93%) - - - -runtime.(*mheap).alloc.func1 (3 samples, 0.11%) - - - -runtime.gcDrainN (1 samples, 0.04%) - - - -runtime.GC (9 samples, 0.32%) - - - -runtime.(*mcentral).freeSpan (9 samples, 0.32%) - - - -runtime.lock (2 samples, 0.07%) - - - -runtime.nilinterhash (1 samples, 0.04%) - - - -runtime.acquirem (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.(*mcache).refill (5 samples, 0.18%) - - - -runtime.sysmon (1 samples, 0.04%) - - - -runtime.convT2Estring (64 samples, 2.28%) -r.. - - -runtime.(*mcentral).cacheSpan (11 samples, 0.39%) - - - -runtime.goschedImpl (14 samples, 0.50%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.procyield (2 samples, 0.07%) - - - -runtime.gcStart.func2 (1 samples, 0.04%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -github.com/cespare/xxhash/v2.Sum64 (523 samples, 18.63%) -github.com/cespare/xxhash/v2... - - -runtime.(*mcache).refill (10 samples, 0.36%) - - - -runtime.futex (2 samples, 0.07%) - - - -github.com/kpango/gache.(*value).isValid (5 samples, 0.18%) - - - -runtime.deductSweepCredit (3 samples, 0.11%) - - - -runtime.mapaccess2 (238 samples, 8.48%) -runtime.mapa.. - - -runtime.(*mspan).sweep (4 samples, 0.14%) - - - -runtime.procyield (1 samples, 0.04%) - - - -runtime.procyield (2 samples, 0.07%) - - - -runtime.atomicwb (1 samples, 0.04%) - - - -sync/atomic.(*Value).Load (2 samples, 0.07%) - - - -runtime.gopreempt_m (1 samples, 0.04%) - - - -time.now (1 samples, 0.04%) - - - -runtime.gosweepone (5 samples, 0.18%) - - - -runtime.(*mspan).sweep (2 samples, 0.07%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan.func1 (2 samples, 0.07%) - - - -runtime.memclrNoHeapPointers (4 samples, 0.14%) - - - -runtime.releasem (1 samples, 0.04%) - - - -runtime.schedule (1 samples, 0.04%) - - - -runtime.heapBitsForAddr (2 samples, 0.07%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.nilinterequal (60 samples, 2.14%) -r.. - - -runtime.gcAssistAlloc (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.gcWriteBarrier (2 samples, 0.07%) - - - -runtime.(*mheap).freeSpan (3 samples, 0.11%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.(*gcSweepBuf).push (1 samples, 0.04%) - - - -runtime.nextFreeFast (11 samples, 0.39%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.wakep (1 samples, 0.04%) - - - -runtime.osyield (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.mapiternext (27 samples, 0.96%) - - - -runtime.gcMarkTermination (1 samples, 0.04%) - - - -runtime.sweepone (1 samples, 0.04%) - - - -runtime.procyield (1 samples, 0.04%) - - - -runtime.mcall (15 samples, 0.53%) - - - -runtime.strequal (5 samples, 0.18%) - - - -runtime.startTheWorldWithSema (1 samples, 0.04%) - - - -runtime.(*mspan).sweep (3 samples, 0.11%) - - - -runtime.wakep (1 samples, 0.04%) - - - -runtime.osyield (1 samples, 0.04%) - - - -runtime.sweepone (1 samples, 0.04%) - - - -runtime.releasem (2 samples, 0.07%) - - - -runtime.systemstack (26 samples, 0.93%) - - - -runtime.helpgc (1 samples, 0.04%) - - - -runtime.(*mcentral).grow (6 samples, 0.21%) - - - -runtime.topofstack (1 samples, 0.04%) - - - -runtime.startm (1 samples, 0.04%) - - - -runtime.resetspinning (1 samples, 0.04%) - - - -runtime.gosweepone (9 samples, 0.32%) - - - -runtime.acquirem (4 samples, 0.14%) - - - -runtime.(*mspan).sweep (3 samples, 0.11%) - - - -runtime.mstart (1 samples, 0.04%) - - - -runtime.(*mheap).reclaim (1 samples, 0.04%) - - - -sync.(*Map).Load (251 samples, 8.94%) -sync.(*Map)... - - -runtime.(*mcache).refill (9 samples, 0.32%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpanLocked (1 samples, 0.04%) - - - -runtime.gosweepone.func1 (3 samples, 0.11%) - - - -runtime.heapBitsSetType (15 samples, 0.53%) - - - -runtime.gcBgMarkWorker (16 samples, 0.57%) - - - -runtime.(*mheap).freeSpan.func1 (9 samples, 0.32%) - - - -runtime.(*mheap).freeSpan.func1 (3 samples, 0.11%) - - - -runtime.memequal (4 samples, 0.14%) - - - -testing.(*B).RunParallel.func1 (2,665 samples, 94.91%) -testing.(*B).RunParallel.func1 - - -runtime.(*mheap).allocSpanLocked (1 samples, 0.04%) - - - -github.com/kpango/gache.(*gache).get (810 samples, 28.85%) -github.com/kpango/gache.(*gache).get - - -runtime.gosweepone.func1 (5 samples, 0.18%) - - - -runtime.wbBufFlush1 (2 samples, 0.07%) - - - -runtime.(*fixalloc).free (1 samples, 0.04%) - - - -runtime.releasem (8 samples, 0.28%) - - - -runtime.aeshashstr (2 samples, 0.07%) - - - -runtime.newobject (109 samples, 3.88%) -runt.. - - -runtime.aeshashbody (184 samples, 6.55%) -runtime... - - -runtime.futexsleep (2 samples, 0.07%) - - - -sync/atomic.(*Value).Load (3 samples, 0.11%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.findObject (2 samples, 0.07%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.deductSweepCredit (4 samples, 0.14%) - - - -runtime.entersyscallblock_handoff (1 samples, 0.04%) - - - -runtime.wbBufFlush (2 samples, 0.07%) - - - -runtime.mapaccess2 (315 samples, 11.22%) -runtime.mapaccess2 - - -runtime.systemstack (5 samples, 0.18%) - - - -sync.(*Map).Store (446 samples, 15.88%) -sync.(*Map).Store - - -runtime.(*mheap).alloc_m (2 samples, 0.07%) - - - -runtime.systemstack (4 samples, 0.14%) - - - -runtime.memclrNoHeapPointers (2 samples, 0.07%) - - - -runtime.nextFreeFast (1 samples, 0.04%) - - - -runtime.wakep (2 samples, 0.07%) - - - -runtime.(*mspan).nextFreeIndex (1 samples, 0.04%) - - - -runtime.futex (2 samples, 0.07%) - - - -runtime.makeSpanClass (2 samples, 0.07%) - - - -runtime.notetsleepg (2 samples, 0.07%) - - - -runtime.(*bmap).overflow (9 samples, 0.32%) - - - -runtime.heapBitsSetType (4 samples, 0.14%) - - - -runtime.sweepone (24 samples, 0.85%) - - - -runtime.(*mheap).freeSpanLocked (2 samples, 0.07%) - - - -runtime.gcStart (2 samples, 0.07%) - - - -runtime.gosweepone (3 samples, 0.11%) - - - -runtime.lock (11 samples, 0.39%) - - - -runtime.procyield (1 samples, 0.04%) - - - -runtime.unlock (1 samples, 0.04%) - - - -runtime.lock (3 samples, 0.11%) - - - -runtime.schedule (7 samples, 0.25%) - - - -runtime.goschedImpl (1 samples, 0.04%) - - - -runtime.markroot.func1 (1 samples, 0.04%) - - - -runtime.(*mcentral).freeSpan (15 samples, 0.53%) - - - -runtime.systemstack (14 samples, 0.50%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.heapBitsSetType (12 samples, 0.43%) - - - -runtime.helpgc (1 samples, 0.04%) - - - -runtime.wbBufFlush (1 samples, 0.04%) - - - -runtime.newobject (55 samples, 1.96%) -r.. - - -runtime.futex (1 samples, 0.04%) - - - -runtime.acquirem (6 samples, 0.21%) - - - -runtime.startTheWorldWithSema (1 samples, 0.04%) - - - -runtime.markroot (1 samples, 0.04%) - - - -runtime.gosweepone (1 samples, 0.04%) - - - -runtime.futexwakeup (2 samples, 0.07%) - - - -runtime.bucketShift (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpanLocked (54 samples, 1.92%) -r.. - - -runtime.gcMarkDone (1 samples, 0.04%) - - - -runtime.tophash (1 samples, 0.04%) - - - -runtime.(*mcache).nextFree (14 samples, 0.50%) - - - -runtime.(*mheap).freeSpan (2 samples, 0.07%) - - - -runtime.gcAssistAlloc.func1 (1 samples, 0.04%) - - - -runtime.gcMarkDone (1 samples, 0.04%) - - - -runtime.scanstack (1 samples, 0.04%) - - - -github.com/cespare/xxhash/v2.Sum64 (1,069 samples, 38.07%) -github.com/cespare/xxhash/v2.Sum64 - - -runtime.(*mheap).reclaim (2 samples, 0.07%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.unlock (2 samples, 0.07%) - - - -runtime.osyield (2 samples, 0.07%) - - - -testing.(*B).runN (9 samples, 0.32%) - - - -runtime.(*mheap).allocSpanLocked (2 samples, 0.07%) - - - -runtime.gcAssistAlloc1 (1 samples, 0.04%) - - - -runtime.sweepone (2 samples, 0.07%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.growWork (1 samples, 0.04%) - - - -runtime.wbBufFlush.func1 (2 samples, 0.07%) - - - -testing.(*B).launch (8 samples, 0.28%) - - - -runtime.notewakeup (2 samples, 0.07%) - - - -runtime.memequal (1 samples, 0.04%) - - - -runtime.(*mspan).sweep (3 samples, 0.11%) - - - -runtime.callers.func1 (1 samples, 0.04%) - - - -testing.(*B).StartTimer (1 samples, 0.04%) - - - -runtime.futexsleep (1 samples, 0.04%) - - - -runtime.gcAssistAlloc.func1 (1 samples, 0.04%) - - - -github.com/kpango/gache.(*gache).set (1,713 samples, 61.00%) -github.com/kpango/gache.(*gache).set - - -runtime.acquirem (3 samples, 0.11%) - - - -runtime.procresize (1 samples, 0.04%) - - - -runtime.(*fixalloc).alloc (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.(*mheap).alloc.func1 (4 samples, 0.14%) - - - -runtime.handoffp (1 samples, 0.04%) - - - -runtime.gomcache (4 samples, 0.14%) - - - -runtime.gosweepone.func1 (3 samples, 0.11%) - - - -runtime.(*mcentral).cacheSpan (9 samples, 0.32%) - - - -runtime.gcMarkTermination (1 samples, 0.04%) - - - -runtime.markBits.isMarked (5 samples, 0.18%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.(*gcSweepBuf).pop (1 samples, 0.04%) - - - -runtime.execute (1 samples, 0.04%) - - - -runtime.globrunqget (2 samples, 0.07%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.lock (1 samples, 0.04%) - - - -runtime.systemstack (11 samples, 0.39%) - - - -runtime.(*mheap).freeSpan (3 samples, 0.11%) - - - -runtime.(*mheap).freeSpan (15 samples, 0.53%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan (4 samples, 0.14%) - - - -runtime.wakep (1 samples, 0.04%) - - - -runtime.lock (6 samples, 0.21%) - - - -runtime.(*mheap).alloc.func1 (2 samples, 0.07%) - - - -sync/atomic.CompareAndSwapUintptr (4 samples, 0.14%) - - - -runtime.deductSweepCredit (3 samples, 0.11%) - - - -runtime.(*mheap).setSpan (1 samples, 0.04%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.scanstack.func1 (1 samples, 0.04%) - - - -runtime.notetsleep (1 samples, 0.04%) - - - -runtime.sweepone (3 samples, 0.11%) - - - -runtime.lock (1 samples, 0.04%) - - - -runtime.procyield (10 samples, 0.36%) - - - -runtime.(*mcentral).grow (5 samples, 0.18%) - - - -runtime.gcAssistAlloc (2 samples, 0.07%) - - - -runtime.heapBits.initSpan (2 samples, 0.07%) - - - -runtime.newArenaMayUnlock (2 samples, 0.07%) - - - -runtime.aeshashbody (1 samples, 0.04%) - - - -runtime.(*mTreap).removeNode (1 samples, 0.04%) - - - -runtime.startm (1 samples, 0.04%) - - - -runtime.isDirectIface (1 samples, 0.04%) - - - -runtime.gcMarkTermination.func1 (1 samples, 0.04%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.efaceeq (10 samples, 0.36%) - - - -runtime.gcMark (1 samples, 0.04%) - - - -runtime.gcStart (1 samples, 0.04%) - - - -runtime.procyield (1 samples, 0.04%) - - - -runtime.lock (5 samples, 0.18%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.futex (2 samples, 0.07%) - - - -runtime.(*gcWork).putFast (1 samples, 0.04%) - - - -runtime.gcBgMarkWorker.func2 (14 samples, 0.50%) - - - -github.com/kpango/gache.Get (821 samples, 29.24%) -github.com/kpango/gache.Get - - -runtime.GC (6 samples, 0.21%) - - - -runtime.systemstack (12 samples, 0.43%) - - - -runtime._VDSO (3 samples, 0.11%) - - - -runtime.gcAssistAlloc1 (1 samples, 0.04%) - - - -runtime.systemstack (5 samples, 0.18%) - - - -runtime.markroot (1 samples, 0.04%) - - - -runtime.(*mcache).nextFree.func1 (12 samples, 0.43%) - - - -runtime.newArenaMayUnlock (1 samples, 0.04%) - - - -runtime.newMarkBits (2 samples, 0.07%) - - - -runtime.startm (1 samples, 0.04%) - - - -runtime.(*mcentral).freeSpan (3 samples, 0.11%) - - - -runtime.arenaIndex (1 samples, 0.04%) - - - -runtime.(*mheap).alloc_m (3 samples, 0.11%) - - - -runtime.gcDrain (14 samples, 0.50%) - - - -runtime.(*mcentral).cacheSpan (10 samples, 0.36%) - - - -runtime.startTheWorldWithSema (2 samples, 0.07%) - - - -runtime.notetsleep_internal (1 samples, 0.04%) - - - -runtime.morestack (1 samples, 0.04%) - - - -runtime.(*mheap).alloc_m (4 samples, 0.14%) - - - -runtime.scanobject (1 samples, 0.04%) - - - -runtime.mapassign (1 samples, 0.04%) - - - -runtime.arenaIndex (3 samples, 0.11%) - - - -runtime.mallocgc (33 samples, 1.18%) - - - -runtime.gosweepone (3 samples, 0.11%) - - - -runtime.(*mheap).alloc (5 samples, 0.18%) - - - -runtime.gcAssistAlloc1 (1 samples, 0.04%) - - - -runtime.heapBitsForAddr (6 samples, 0.21%) - - - -runtime.scanobject (14 samples, 0.50%) - - - -runtime.heapBits.forwardOrBoundary (1 samples, 0.04%) - - - -runtime.(*mcache).refill (11 samples, 0.39%) - - - -runtime.(*mcache).nextFree.func1 (5 samples, 0.18%) - - - -runtime.(*mheap).alloc_m (1 samples, 0.04%) - - - -runtime.(*mheap).reclaim (1 samples, 0.04%) - - - -runtime.(*mcentral).cacheSpan (5 samples, 0.18%) - - - -runtime.mallocgc (28 samples, 1.00%) - - - -runtime.gcMarkTermination.func1 (1 samples, 0.04%) - - - -runtime.mallocgc (52 samples, 1.85%) -r.. - - -runtime.scanblock (1 samples, 0.04%) - - - -runtime.(*mspan).sweep (22 samples, 0.78%) - - - -runtime/internal/atomic.Cas64 (10 samples, 0.36%) - - - -runtime.arenaIndex (4 samples, 0.14%) - - - -runtime.heapBitsSetType (10 samples, 0.36%) - - - -runtime.(*mcache).nextFree.func1 (11 samples, 0.39%) - - - -runtime.nilinterequal (14 samples, 0.50%) - - - -runtime.gosched_m (14 samples, 0.50%) - - - -runtime.(*mTreap).insert (1 samples, 0.04%) - - - -runtime.releasem (2 samples, 0.07%) - - - -runtime.unlock (1 samples, 0.04%) - - - -runtime.newMarkBits (1 samples, 0.04%) - - - -sync/atomic.CompareAndSwapPointer (19 samples, 0.68%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.greyobject (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpanLocked (1 samples, 0.04%) - - - -runtime.futexsleep (1 samples, 0.04%) - - - -runtime.(*mspan).sweep (9 samples, 0.32%) - - - -runtime.notetsleep_internal (1 samples, 0.04%) - - - -runtime.wakep (1 samples, 0.04%) - - - -runtime.nextFreeFast (18 samples, 0.64%) - - - -runtime.gcAssistAlloc (2 samples, 0.07%) - - - -runtime.lock (1 samples, 0.04%) - - - -runtime.lock (1 samples, 0.04%) - - - -runtime.callers (1 samples, 0.04%) - - - -runtime.gcAssistAlloc.func1 (1 samples, 0.04%) - - - -runtime.sweepone (4 samples, 0.14%) - - - -github.com/kpango/gache.Set (1,720 samples, 61.25%) -github.com/kpango/gache.Set - - -all (2,808 samples, 100%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.stopTheWorld (1 samples, 0.04%) - - - -runtime.startTheWorld (1 samples, 0.04%) - - - -runtime.futexsleep (1 samples, 0.04%) - - - -runtime.sweepone (5 samples, 0.18%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.gcDrainN (1 samples, 0.04%) - - - -runtime.(*mcentral).freeSpan (3 samples, 0.11%) - - - -runtime.gcMarkTermination.func1 (1 samples, 0.04%) - - - -runtime.schedule (1 samples, 0.04%) - - - -runtime.unlock (1 samples, 0.04%) - - - diff --git a/bench/cpu-gache.svg b/bench/cpu-gache.svg deleted file mode 100644 index c4a47d7..0000000 --- a/bench/cpu-gache.svg +++ /dev/null @@ -1,1720 +0,0 @@ - - - - - - -test.bin - - -cluster_L - - - - -File: test.bin - - -File: test.bin -Type: cpu -Time: Feb 12, 2019 at 1:37pm (JST) -Duration: 18.53s, Total samples = 28.08s (151.52%) -Showing nodes accounting for 26.56s, 94.59% of 28.08s total -Dropped 125 nodes (cum <= 0.14s) - - - - - -N1 - - -github -com/cespare/xxhash/v2 -Sum64 -15.92s (56.70%) - - - - - -N2 - - -github -com/kpango/gache -BenchmarkGacheWithBigDataset -func1 -0.23s (0.82%) -of 26.65s (94.91%) - - - - - -N12 - - -runtime -convT2Estring -0.14s (0.5%) -of 1.06s (3.77%) - - - - - -N2->N12 - - - - - - - 0.64s - - - - - -N23 - - -runtime -mapiternext -0.27s (0.96%) -of 0.36s (1.28%) - - - - - -N2->N23 - - - - - - - 0.36s - - - - - -N27 - - -github -com/kpango/gache -Get -0.05s (0.18%) -of 8.21s (29.24%) - - - - - -N2->N27 - - - - - - - 8.21s - - - - - -N30 - - -github -com/kpango/gache -Set -0.04s (0.14%) -of 17.20s (61.25%) - - - - - -N2->N30 - - - - - - - 17.20s - - - - - -N3 - - -testing -(*B) -RunParallel -func1 -0 of 26.65s (94.91%) - - - - - -N3->N2 - - - - - - - 26.65s - - - - - -N4 - - -github -com/kpango/gache -(*gache) -set -0.45s (1.60%) -of 17.16s (61.11%) - - - - - -N4->N1 - - - - - - - 10.69s - - - - - -N9 - - -sync -(*Map) -Store -0.46s (1.64%) -of 4.48s (15.95%) - - - - - -N4->N9 - - - - - - - 4.48s - - - - - -N11 - - -runtime -newobject -0.15s (0.53%) -of 1.64s (5.84%) - - - - - -N4->N11 - - - - - - - 1.09s - - - - - -N4->N12 - - - - - - - 0.42s - - - - - -N5 - - -runtime -mapaccess2 -0.84s (2.99%) -of 5.56s (19.80%) - - - - - -N15 - - -runtime -nilinterhash -0.12s (0.43%) -of 3.96s (14.10%) - - - - - -N5->N15 - - - - - - - 3.95s - - - - - -N31 - - -runtime -nilinterequal -0.07s (0.25%) -of 0.74s (2.64%) - - - - - -N5->N31 - - - - - - - 0.74s - - - - - -N6 - - -github -com/kpango/gache -(*gache) -get -0.28s (1%) -of 8.16s (29.06%) - - - - - -N6->N1 - - - - - - - 5.23s - - - - - -N18 - - -sync -(*Map) -Load -0.13s (0.46%) -of 2.59s (9.22%) - - - - - -N6->N18 - - - - - - - 2.59s - - - - - -N7 - - -runtime -mallocgc -0.58s (2.07%) -of 2.41s (8.58%) - - - - - -N17 - - -runtime -heapBitsSetType -0.41s (1.46%) -of 0.58s (2.07%) - - - - - -N7->N17 - - - - - - - 0.58s - - - - - -N21 - - -runtime -nextFreeFast -0.33s (1.18%) - - - - - -N7->N21 - - - - - - - 0.33s - (inline) - - - - - -N24 - - -runtime -memclrNoHeapPointers -0.17s (0.61%) - - - - - -N7->N24 - - - - - - - 0.09s - - - - - -N46 - - -runtime -(*mcache) -nextFree -0.01s (0.036%) -of 0.41s (1.46%) - - - - - -N7->N46 - - - - - - - 0.41s - - - - - -N8 - - -runtime -aeshashbody -3.82s (13.60%) - - - - - -N9->N5 - - - - - - - 3.18s - - - - - -N9->N11 - - - - - - - 0.55s - - - - - -N40 - - -sync -(*entry) -tryStore -0.05s (0.18%) -of 0.24s (0.85%) - - - - - -N9->N40 - - - - - - - 0.24s - - - - - -N10 - - -runtime -systemstack -0.04s (0.14%) -of 1.12s (3.99%) - - - - - -N28 - - -runtime -gosweepone -func1 -0 of 0.56s (1.99%) - - - - - -N10->N28 - - - - - - - 0.41s - - - - - -N39 - - -runtime -scanobject -0.08s (0.28%) -of 0.15s (0.53%) - - - - - -N10->N39 - - - - - - - 0.15s - - - - - -N44 - - -runtime -(*mcache) -nextFree -func1 -0.02s (0.071%) -of 0.37s (1.32%) - - - - - -N10->N44 - - - - - - - 0.37s - - - - - -N11->N7 - - - - - - - 1.49s - - - - - -N12->N7 - - - - - - - 0.92s - - - - - -N13 - - -runtime -gosweepone -0 of 0.56s (1.99%) - - - - - -N13->N10 - - - - - - - 0.41s - - - - - -N13->N28 - - - - - - - 0.15s - - - - - -N14 - - -runtime -strequal -0.54s (1.92%) -of 0.59s (2.10%) - - - - - -N15->N8 - - - - - - - 3.82s - - - - - -N16 - - -runtime -(*mheap) -freeSpanLocked -0.56s (1.99%) -of 0.62s (2.21%) - - - - - -N36 - - -runtime -heapBitsForAddr -0.09s (0.32%) -of 0.17s (0.61%) - - - - - -N17->N36 - - - - - - - 0.17s - (inline) - - - - - -N18->N5 - - - - - - - 2.38s - - - - - -N19 - - -runtime -lock -0.03s (0.11%) -of 0.32s (1.14%) - - - - - -N20 - - -runtime -futex -0.23s (0.82%) - - - - - -N19->N20 - - - - - - - 0.04s - - - - - -N32 - - -runtime -procyield -0.20s (0.71%) - - - - - -N19->N32 - - - - - - - 0.20s - - - - - -N22 - - -runtime -sweepone -0.08s (0.28%) -of 0.60s (2.14%) - - - - - -N29 - - -runtime -(*mspan) -sweep -0.03s (0.11%) -of 0.51s (1.82%) - - - - - -N22->N29 - - - - - - - 0.49s - - - - - -N25 - - -runtime -(*mheap) -freeSpan -func1 -0.01s (0.036%) -of 0.40s (1.42%) - - - - - -N25->N16 - - - - - - - 0.07s - - - - - -N25->N19 - - - - - - - 0.25s - - - - - -N38 - - -runtime -futexwakeup -0 of 0.17s (0.61%) - - - - - -N25->N38 - - - - - - - 0.07s - - - - - -N26 - - -runtime -(*mcentral) -cacheSpan -0.01s (0.036%) -of 0.35s (1.25%) - - - - - -N34 - - -runtime -(*mcentral) -grow -0 of 0.17s (0.61%) - - - - - -N26->N34 - - - - - - - 0.17s - - - - - -N51 - - -runtime -deductSweepCredit -0 of 0.15s (0.53%) - - - - - -N26->N51 - - - - - - - 0.15s - - - - - -N27->N6 - - - - - - - 8.16s - - - - - -N28->N22 - - - - - - - 0.56s - - - - - -N48 - - -runtime -(*mcentral) -freeSpan -0 of 0.40s (1.42%) - - - - - -N29->N48 - - - - - - - 0.40s - - - - - -N30->N4 - - - - - - - 17.16s - - - - - -N33 - - -runtime -efaceeq -0.07s (0.25%) -of 0.67s (2.39%) - - - - - -N31->N33 - - - - - - - 0.67s - - - - - -N33->N14 - - - - - - - 0.59s - - - - - -N34->N22 - - - - - - - 0.04s - - - - - -N34->N24 - - - - - - - 0.05s - - - - - -N35 - - -runtime -bgsweep -0 of 0.26s (0.93%) - - - - - -N35->N13 - - - - - - - 0.26s - - - - - -N37 - - -testing -(*B) -runN -0 of 0.17s (0.61%) - - - - - -N50 - - -runtime -GC -0 of 0.15s (0.53%) - - - - - -N37->N50 - - - - - - - 0.15s - - - - - -N38->N20 - - - - - - - 0.17s - - - - - -N43 - - -sync/atomic -CompareAndSwapPointer -0.04s (0.14%) -of 0.19s (0.68%) - - - - - -N40->N43 - - - - - - - 0.19s - - - - - -N41 - - -runtime -gcBgMarkWorker -0.01s (0.036%) -of 0.16s (0.57%) - - - - - -N41->N10 - - - - - - - 0.15s - - - - - -N42 - - -runtime -mcall -0 of 0.15s (0.53%) - - - - - -N45 - - -runtime -goschedImpl -0 of 0.15s (0.53%) - - - - - -N42->N45 - - - - - - - 0.14s - - - - - -N47 - - -runtime -(*mcache) -refill -0 of 0.35s (1.25%) - - - - - -N44->N47 - - - - - - - 0.35s - - - - - -N45->N19 - - - - - - - 0.05s - - - - - -N46->N10 - - - - - - - 0.37s - - - - - -N47->N26 - - - - - - - 0.35s - - - - - -N49 - - -runtime -(*mheap) -freeSpan -0 of 0.40s (1.42%) - - - - - -N48->N49 - - - - - - - 0.40s - - - - - -N49->N25 - - - - - - - 0.40s - - - - - -N50->N13 - - - - - - - 0.15s - - - - - -N51->N13 - - - - - - - 0.15s - - - - - diff --git a/bench/cpu-gocache-graph.svg b/bench/cpu-gocache-graph.svg deleted file mode 100644 index 70169a9..0000000 --- a/bench/cpu-gocache-graph.svg +++ /dev/null @@ -1,1706 +0,0 @@ - - - - - - - - - - - - - - -Flame Graph - -Reset Zoom -Search - - -runtime.(*mheap).freeSpan (9 samples, 0.35%) - - - -runtime.setprofilebucket (3 samples, 0.12%) - - - -runtime.gosweepone (3 samples, 0.12%) - - - -runtime.gcDrainN (1 samples, 0.04%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.(*mcentral).freeSpan (9 samples, 0.35%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.systemstack (9 samples, 0.35%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.startm (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan.func1 (1 samples, 0.04%) - - - -github.com/kpango/fastime.(*Fastime).Now (3 samples, 0.12%) - - - -runtime.gcstopm (1 samples, 0.04%) - - - -runtime.aeshashstr (3 samples, 0.12%) - - - -runtime.lock (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan.func1 (1 samples, 0.04%) - - - -runtime.(*mheap).alloc (1 samples, 0.04%) - - - -runtime.acquirem (3 samples, 0.12%) - - - -runtime.newstack (2 samples, 0.08%) - - - -runtime.gcMarkDone (1 samples, 0.04%) - - - -runtime.heapBitsSetType (6 samples, 0.23%) - - - -runtime.memclrNoHeapPointers (2 samples, 0.08%) - - - -github.com/hlts2/gocache.(*concurrentMap).get (283 samples, 10.90%) -github.com/hlts2.. - - -runtime.lock (1 samples, 0.04%) - - - -sync/atomic.CompareAndSwapUintptr (3 samples, 0.12%) - - - -runtime.profilealloc (1 samples, 0.04%) - - - -sync/atomic.(*Value).Load (1 samples, 0.04%) - - - -runtime.gcDrain (9 samples, 0.35%) - - - -time.Time.Add (16 samples, 0.62%) - - - -time.(*Time).addSec (2 samples, 0.08%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.nextFreeFast (7 samples, 0.27%) - - - -sync.(*entry).load (4 samples, 0.15%) - - - -runtime.(*mSpanList).insert (1 samples, 0.04%) - - - -all (2,596 samples, 100%) - - - -runtime.gosched_m (2 samples, 0.08%) - - - -runtime.gosweepone (8 samples, 0.31%) - - - -runtime.(*mcentral).grow (1 samples, 0.04%) - - - -runtime.heapBitsSetType (9 samples, 0.35%) - - - -runtime.heapBitsForAddr (1 samples, 0.04%) - - - -runtime.gopreempt_m (2 samples, 0.08%) - - - -runtime.efaceeq (10 samples, 0.39%) - - - -runtime.convT2E (64 samples, 2.47%) -ru.. - - -runtime.callers.func1 (1 samples, 0.04%) - - - -runtime.(*mcache).nextFree (2 samples, 0.08%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.markroot (1 samples, 0.04%) - - - -runtime.gcAssistAlloc.func1 (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan (9 samples, 0.35%) - - - -runtime.scanobject (1 samples, 0.04%) - - - -sync.(*Mutex).Lock (3 samples, 0.12%) - - - -runtime.findrunnable (1 samples, 0.04%) - - - -runtime.procyield (1 samples, 0.04%) - - - -runtime.stopm (1 samples, 0.04%) - - - -runtime.sweepone (1 samples, 0.04%) - - - -runtime.(*mcentral).grow (1 samples, 0.04%) - - - -runtime.gcstopm (1 samples, 0.04%) - - - -runtime.(*mcache).nextFree.func1 (1 samples, 0.04%) - - - -runtime.nilinterequal (53 samples, 2.04%) -r.. - - -runtime.(*mheap).freeSpan (1 samples, 0.04%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.gcAssistAlloc1 (1 samples, 0.04%) - - - -runtime.wakep (1 samples, 0.04%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.(*mcache).refill (2 samples, 0.08%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.lock (1 samples, 0.04%) - - - -runtime.futexsleep (1 samples, 0.04%) - - - -github.com/hlts2/gocache.(*gocache).Get (811 samples, 31.24%) -github.com/hlts2/gocache.(*gocache).Get - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.aeshashbody (183 samples, 7.05%) -runtime.a.. - - -runtime.schedule (1 samples, 0.04%) - - - -runtime.GC (8 samples, 0.31%) - - - -runtime.heapBitsForAddr (4 samples, 0.15%) - - - -runtime.futexwakeup (3 samples, 0.12%) - - - -github.com/cespare/xxhash.Sum64 (920 samples, 35.44%) -github.com/cespare/xxhash.Sum64 - - -runtime.lock (1 samples, 0.04%) - - - -runtime.(*mcentral).grow (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpanLocked (71 samples, 2.73%) -ru.. - - -runtime.futexwakeup (4 samples, 0.15%) - - - -runtime.schedule (2 samples, 0.08%) - - - -runtime.gcBgMarkWorker.func2 (9 samples, 0.35%) - - - -runtime.futex (4 samples, 0.15%) - - - -runtime.goexit0 (2 samples, 0.08%) - - - -runtime.efaceeq (40 samples, 1.54%) - - - -runtime.(*mcache).nextFree.func1 (6 samples, 0.23%) - - - -runtime.(*mheap).freeSpanLocked (1 samples, 0.04%) - - - -runtime.gcMarkTermination (1 samples, 0.04%) - - - -sync.(*Map).Load (259 samples, 9.98%) -sync.(*Map).Load - - -runtime.mapiternext (28 samples, 1.08%) - - - -runtime.gcAssistAlloc (1 samples, 0.04%) - - - -runtime.add (1 samples, 0.04%) - - - -runtime.heapBitsForAddr (1 samples, 0.04%) - - - -runtime.mapaccess2 (247 samples, 9.51%) -runtime.mapac.. - - -sync/atomic.(*Value).Load (2 samples, 0.08%) - - - -runtime.scanblock (1 samples, 0.04%) - - - -runtime._System (2 samples, 0.08%) - - - -runtime.mapaccess2 (314 samples, 12.10%) -runtime.mapaccess2 - - -runtime.lock (1 samples, 0.04%) - - - -runtime.profilealloc (3 samples, 0.12%) - - - -testing.(*B).RunParallel.func1 (2,467 samples, 95.03%) -testing.(*B).RunParallel.func1 - - -runtime.unlock (1 samples, 0.04%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.osyield (1 samples, 0.04%) - - - -runtime.makeBucketArray (2 samples, 0.08%) - - - -runtime.(*mcache).refill (1 samples, 0.04%) - - - -runtime.lock (5 samples, 0.19%) - - - -runtime.gosweepone (1 samples, 0.04%) - - - -runtime.unlock (1 samples, 0.04%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.releasem (2 samples, 0.08%) - - - -runtime.nilinterhash (212 samples, 8.17%) -runtime.nil.. - - -runtime.systemstack (2 samples, 0.08%) - - - -runtime.(*mcentral).freeSpan (1 samples, 0.04%) - - - -runtime.mProf_Malloc.func1 (3 samples, 0.12%) - - - -runtime.nilinterhash (6 samples, 0.23%) - - - -runtime.heapBitsForAddr (4 samples, 0.15%) - - - -runtime.(*mheap).alloc (2 samples, 0.08%) - - - -runtime.unlock (3 samples, 0.12%) - - - -runtime.newArenaMayUnlock (1 samples, 0.04%) - - - -runtime.mProf_Malloc (1 samples, 0.04%) - - - -runtime.(*mheap).alloc.func1 (1 samples, 0.04%) - - - -runtime.markroot (2 samples, 0.08%) - - - -runtime.heapBitsSetType (7 samples, 0.27%) - - - -testing.(*B).runN (11 samples, 0.42%) - - - -runtime.mallocgc (33 samples, 1.27%) - - - -runtime.arenaIndex (1 samples, 0.04%) - - - -runtime.releasem (1 samples, 0.04%) - - - -runtime.(*mspan).sweep (1 samples, 0.04%) - - - -runtime.gosweepone.func1 (1 samples, 0.04%) - - - -sync.(*Map).dirtyLocked (8 samples, 0.31%) - - - -runtime.gosweepone (1 samples, 0.04%) - - - -runtime.(*mcache).nextFree (6 samples, 0.23%) - - - -testing.(*B).runN (8 samples, 0.31%) - - - -runtime.mProf_Malloc (1 samples, 0.04%) - - - -runtime.mallocgc (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.sweepone (3 samples, 0.12%) - - - -runtime.makeSpanClass (2 samples, 0.08%) - - - -runtime.heapBitsSetType (1 samples, 0.04%) - - - -runtime.procyield (1 samples, 0.04%) - - - -runtime.(*mspan).sweep (8 samples, 0.31%) - - - -runtime.deductSweepCredit (1 samples, 0.04%) - - - -runtime.mallocgc (33 samples, 1.27%) - - - -runtime.gomcache (3 samples, 0.12%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.GC (10 samples, 0.39%) - - - -runtime.(*mcache).nextFree (1 samples, 0.04%) - - - -runtime.(*mspan).sweep (1 samples, 0.04%) - - - -runtime.aeshashbody (6 samples, 0.23%) - - - -runtime.helpgc (1 samples, 0.04%) - - - -runtime.spanOf (1 samples, 0.04%) - - - -runtime.profilealloc (1 samples, 0.04%) - - - -runtime.deductSweepCredit (1 samples, 0.04%) - - - -runtime.systemstack (2 samples, 0.08%) - - - -runtime.nilinterhash (196 samples, 7.55%) -runtime.ni.. - - -runtime.aeshashbody (206 samples, 7.94%) -runtime.aes.. - - -runtime.strequal (36 samples, 1.39%) - - - -sync.(*Map).Store (465 samples, 17.91%) -sync.(*Map).Store - - -runtime.futex (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan.func1 (2 samples, 0.08%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.(*mheap).freeSpan.func1 (9 samples, 0.35%) - - - -runtime.schedule (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.schedule (2 samples, 0.08%) - - - -runtime.acquirem (1 samples, 0.04%) - - - -runtime.hashGrow (2 samples, 0.08%) - - - -runtime.mallocgc (32 samples, 1.23%) - - - -runtime.gcAssistAlloc (1 samples, 0.04%) - - - -runtime.startm (1 samples, 0.04%) - - - -runtime._VDSO (2 samples, 0.08%) - - - -runtime.gcAssistAlloc1 (1 samples, 0.04%) - - - -runtime.convT2Estring (47 samples, 1.81%) -r.. - - -sync/atomic.(*Value).Load (2 samples, 0.08%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.sweepone (1 samples, 0.04%) - - - -runtime.sweepone (10 samples, 0.39%) - - - -runtime.(*mheap).freeSpan.func1 (9 samples, 0.35%) - - - -runtime.evacuate (22 samples, 0.85%) - - - -runtime.callers (1 samples, 0.04%) - - - -runtime.gosweepone (13 samples, 0.50%) - - - -runtime.procyield (5 samples, 0.19%) - - - -runtime.findrunnable (2 samples, 0.08%) - - - -runtime.(*mcentral).cacheSpan (1 samples, 0.04%) - - - -runtime.goschedImpl (2 samples, 0.08%) - - - -runtime.(*mcache).nextFree (2 samples, 0.08%) - - - -runtime.(*mcache).nextFree.func1 (2 samples, 0.08%) - - - -runtime.mallocgc (1 samples, 0.04%) - - - -runtime.markrootBlock (1 samples, 0.04%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.systemstack (3 samples, 0.12%) - - - -github.com/hlts2/gocache.(*gocache).Set (1,558 samples, 60.02%) -github.com/hlts2/gocache.(*gocache).Set - - -runtime.(*mcentral).freeSpan (8 samples, 0.31%) - - - -runtime.heapBits.initSpan (1 samples, 0.04%) - - - -runtime.gcAssistAlloc.func1 (1 samples, 0.04%) - - - -runtime.sweepone (13 samples, 0.50%) - - - -runtime.resetspinning (1 samples, 0.04%) - - - -github.com/cespare/xxhash.Sum64 (516 samples, 19.88%) -github.com/cespare/xxhash.Sum64 - - -runtime.(*gcSweepBuf).push (1 samples, 0.04%) - - - -runtime.(*mheap).alloc (1 samples, 0.04%) - - - -sync.(*entry).tryStore (16 samples, 0.62%) - - - -runtime.gosweepone.func1 (1 samples, 0.04%) - - - -runtime.bgsweep (13 samples, 0.50%) - - - -runtime.(*mcentral).grow (2 samples, 0.08%) - - - -runtime.heapBits.next (1 samples, 0.04%) - - - -runtime.gentraceback (1 samples, 0.04%) - - - -sync.(*Mutex).Lock (1 samples, 0.04%) - - - -runtime.greyobject (2 samples, 0.08%) - - - -runtime.profilealloc (1 samples, 0.04%) - - - -runtime.gcDrainN (1 samples, 0.04%) - - - -runtime.nilinterhash (22 samples, 0.85%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.systemstack (8 samples, 0.31%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.newarray (1 samples, 0.04%) - - - -runtime.acquirem (2 samples, 0.08%) - - - -runtime.publicationBarrier (2 samples, 0.08%) - - - -runtime.acquirem (2 samples, 0.08%) - - - -runtime.mcall (5 samples, 0.19%) - - - -runtime.procyield (5 samples, 0.19%) - - - -runtime.gosweepone.func1 (8 samples, 0.31%) - - - -runtime.nilinterequal (14 samples, 0.54%) - - - -runtime.growWork (22 samples, 0.85%) - - - -testing.(*B).launch (8 samples, 0.31%) - - - -runtime.procyield (2 samples, 0.08%) - - - -runtime.gcMarkTermination.func1 (1 samples, 0.04%) - - - -sync.runtime_nanotime (5 samples, 0.19%) - - - -runtime.(*gcControllerState).endCycle (1 samples, 0.04%) - - - -runtime.mapassign (30 samples, 1.16%) - - - -runtime.(*mcache).nextFree.func1 (2 samples, 0.08%) - - - -runtime.(*mcache).refill (2 samples, 0.08%) - - - -runtime.markBits.isMarked (1 samples, 0.04%) - - - -runtime.mProf_Malloc (1 samples, 0.04%) - - - -testing.(*B).run1.func1 (11 samples, 0.42%) - - - -runtime.findObject (1 samples, 0.04%) - - - -runtime.(*mcentral).cacheSpan (2 samples, 0.08%) - - - -runtime.unlock (4 samples, 0.15%) - - - -runtime.(*mheap).freeSpan (8 samples, 0.31%) - - - -runtime.procyield (1 samples, 0.04%) - - - -runtime.newMarkBits (1 samples, 0.04%) - - - -runtime.newobject (1 samples, 0.04%) - - - -github.com/kpango/gache.BenchmarkGocacheWithBigDataset (1 samples, 0.04%) - - - -github.com/hlts2/gocache.concurrentMaps.getMap (933 samples, 35.94%) -github.com/hlts2/gocache.concurrentMaps.getMap - - -runtime.convT2Estring (44 samples, 1.69%) - - - -runtime.goschedImpl (2 samples, 0.08%) - - - -runtime.nextFreeFast (2 samples, 0.08%) - - - -runtime.(*mheap).freeSpan (2 samples, 0.08%) - - - -sync/atomic.CompareAndSwapPointer (11 samples, 0.42%) - - - -runtime.(*mspan).sweep (10 samples, 0.39%) - - - -runtime.stkbucket (1 samples, 0.04%) - - - -runtime.procyield (1 samples, 0.04%) - - - -runtime.heapBitsSetType (5 samples, 0.19%) - - - -runtime.systemstack (10 samples, 0.39%) - - - -runtime.memequal (1 samples, 0.04%) - - - -runtime.bulkBarrierPreWrite (2 samples, 0.08%) - - - -runtime.osyield (2 samples, 0.08%) - - - -runtime.typedmemmove (13 samples, 0.50%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.(*gcBits).bitp (1 samples, 0.04%) - - - -runtime.gosweepone.func1 (10 samples, 0.39%) - - - -runtime.(*mcentral).cacheSpan (2 samples, 0.08%) - - - -runtime.mallocgc (29 samples, 1.12%) - - - -runtime.memmove (6 samples, 0.23%) - - - -github.com/hlts2/gocache.New (1 samples, 0.04%) - - - -runtime.gosweepone.func1 (3 samples, 0.12%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.gcBgMarkWorker (10 samples, 0.39%) - - - -runtime.morestack (2 samples, 0.08%) - - - -runtime.notewakeup (1 samples, 0.04%) - - - -runtime.systemstack (13 samples, 0.50%) - - - -github.com/hlts2/gocache.concurrentMaps.getMap (525 samples, 20.22%) -github.com/hlts2/gocache.concur.. - - -runtime.mProf_Malloc (3 samples, 0.12%) - - - -runtime.(*mspan).sweep (9 samples, 0.35%) - - - -runtime.scanblock (1 samples, 0.04%) - - - -runtime.gcMarkDone (1 samples, 0.04%) - - - -runtime.lock (4 samples, 0.15%) - - - -runtime.(*mspan).sweep (2 samples, 0.08%) - - - -runtime.sweepone (8 samples, 0.31%) - - - -runtime.gcDrainN (1 samples, 0.04%) - - - -time.(*Time).sec (2 samples, 0.08%) - - - -runtime.markrootSpans (1 samples, 0.04%) - - - -runtime.bucketMask (1 samples, 0.04%) - - - -runtime.(*mheap).alloc_m (1 samples, 0.04%) - - - -runtime.gcMark (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.arenaIndex (2 samples, 0.08%) - - - -runtime.mapassign (8 samples, 0.31%) - - - -runtime/internal/atomic.Cas64 (7 samples, 0.27%) - - - -github.com/hlts2/gocache.(*concurrentMap).set (608 samples, 23.42%) -github.com/hlts2/gocache.(*concurrent.. - - -runtime.futex (1 samples, 0.04%) - - - -runtime.wakep (1 samples, 0.04%) - - - -runtime.(*mcentral).freeSpan (2 samples, 0.08%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.markrootBlock (1 samples, 0.04%) - - - -runtime.(*mcache).refill (6 samples, 0.23%) - - - -runtime.newobject (52 samples, 2.00%) -r.. - - -runtime.resetspinning (1 samples, 0.04%) - - - -runtime.findObject (1 samples, 0.04%) - - - -runtime.scanobject (7 samples, 0.27%) - - - -runtime.futexwakeup (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.futex (1 samples, 0.04%) - - - -runtime.stkbucket (1 samples, 0.04%) - - - -github.com/kpango/fastime.(*Fastime).Now (8 samples, 0.31%) - - - -runtime.(*mheap).freeSpanLocked (1 samples, 0.04%) - - - -runtime.systemstack (6 samples, 0.23%) - - - -runtime.releasem (1 samples, 0.04%) - - - -runtime.gomcache (1 samples, 0.04%) - - - -runtime.systemstack (1 samples, 0.04%) - - - -runtime.unlock (1 samples, 0.04%) - - - -runtime.(*mcentral).freeSpan (9 samples, 0.35%) - - - -runtime.park_m (1 samples, 0.04%) - - - -runtime.nextFreeFast (10 samples, 0.39%) - - - -runtime.memclrNoHeapPointers (1 samples, 0.04%) - - - -runtime.gosweepone.func1 (13 samples, 0.50%) - - - -runtime.(*mcentral).freeSpan (1 samples, 0.04%) - - - -runtime.strequal (4 samples, 0.15%) - - - -runtime.lock (7 samples, 0.27%) - - - -runtime.gcAssistAlloc (1 samples, 0.04%) - - - -runtime.aeshashstr (2 samples, 0.08%) - - - -sync.runtime_doSpin (1 samples, 0.04%) - - - -runtime.gcAssistAlloc.func1 (1 samples, 0.04%) - - - -runtime.futex (3 samples, 0.12%) - - - -runtime.(*mheap).freeSpan.func1 (8 samples, 0.31%) - - - -runtime.(*mcentral).cacheSpan (6 samples, 0.23%) - - - -github.com/kpango/gache.BenchmarkGocacheWithBigDataset.func1 (2,467 samples, 95.03%) -github.com/kpango/gache.BenchmarkGocacheWithBigDataset.func1 - - -runtime.gomcache (1 samples, 0.04%) - - - -runtime.gcAssistAlloc1 (1 samples, 0.04%) - - - -runtime.scanobject (1 samples, 0.04%) - - - -runtime.futexsleep (1 samples, 0.04%) - - - -runtime.nilinterhash (8 samples, 0.31%) - - - -runtime.aeshashbody (8 samples, 0.31%) - - - -runtime.greyobject (1 samples, 0.04%) - - - -runtime.gosweepone (10 samples, 0.39%) - - - -runtime.newMarkBits (1 samples, 0.04%) - - - -runtime.deductSweepCredit (3 samples, 0.12%) - - - -runtime.aeshashbody (19 samples, 0.73%) - - - -runtime.nextFreeFast (7 samples, 0.27%) - - - -runtime.(*mheap).freeSpan (1 samples, 0.04%) - - - diff --git a/bench/cpu-gocache.svg b/bench/cpu-gocache.svg deleted file mode 100644 index 8fb8280..0000000 --- a/bench/cpu-gocache.svg +++ /dev/null @@ -1,1648 +0,0 @@ - - - - - - -test.bin - - -cluster_L - - - - -File: test.bin - - -File: test.bin -Type: cpu -Time: Feb 12, 2019 at 1:38pm (JST) -Duration: 17.11s, Total samples = 25.96s (151.74%) -Showing nodes accounting for 24.84s, 95.69% of 25.96s total -Dropped 103 nodes (cum <= 0.13s) - - - - - -N1 - - -github -com/kpango/gache -BenchmarkGocacheWithBigDataset -func1 -0.21s (0.81%) -of 24.67s (95.03%) - - - - - -N4 - - -github -com/hlts2/gocache -(*gocache) -Set -0.11s (0.42%) -of 15.58s (60.02%) - - - - - -N1->N4 - - - - - - - 15.58s - - - - - -N8 - - -github -com/hlts2/gocache -(*gocache) -Get -0.03s (0.12%) -of 8.11s (31.24%) - - - - - -N1->N8 - - - - - - - 8.11s - - - - - -N15 - - -runtime -convT2Estring -0.05s (0.19%) -of 0.91s (3.51%) - - - - - -N1->N15 - - - - - - - 0.47s - - - - - -N23 - - -runtime -mapiternext -0.28s (1.08%) -of 0.29s (1.12%) - - - - - -N1->N23 - - - - - - - 0.29s - - - - - -N2 - - -github -com/cespare/xxhash -Sum64 -14.36s (55.32%) - - - - - -N3 - - -testing -(*B) -RunParallel -func1 -0 of 24.67s (95.03%) - - - - - -N3->N1 - - - - - - - 24.67s - - - - - -N5 - - -github -com/hlts2/gocache -concurrentMaps -getMap -0.22s (0.85%) -of 14.58s (56.16%) - - - - - -N4->N5 - - - - - - - 9.33s - - - - - -N9 - - -github -com/hlts2/gocache -(*concurrentMap) -set -0.17s (0.65%) -of 6.14s (23.65%) - - - - - -N4->N9 - - - - - - - 6.14s - - - - - -N5->N2 - - - - - - - 14.36s - - - - - -N6 - - -runtime -mapaccess2 -0.86s (3.31%) -of 5.62s (21.65%) - - - - - -N12 - - -runtime -nilinterhash -0.17s (0.65%) -of 4.44s (17.10%) - - - - - -N6->N12 - - - - - - - 4.08s - - - - - -N20 - - -runtime -nilinterequal -0.17s (0.65%) -of 0.67s (2.58%) - - - - - -N6->N20 - - - - - - - 0.67s - - - - - -N7 - - -runtime -aeshashbody -4.22s (16.26%) - - - - - -N8->N5 - - - - - - - 5.25s - - - - - -N14 - - -github -com/hlts2/gocache -(*concurrentMap) -get -0.10s (0.39%) -of 2.83s (10.90%) - - - - - -N8->N14 - - - - - - - 2.83s - - - - - -N10 - - -sync -(*Map) -Store -0.44s (1.69%) -of 4.67s (17.99%) - - - - - -N9->N10 - - - - - - - 4.67s - - - - - -N9->N15 - - - - - - - 0.44s - - - - - -N17 - - -runtime -convT2E -0.08s (0.31%) -of 0.64s (2.47%) - - - - - -N9->N17 - - - - - - - 0.64s - - - - - -N31 - - -time -Time -Add -0.14s (0.54%) -of 0.16s (0.62%) - - - - - -N9->N31 - - - - - - - 0.16s - - - - - -N41 - - -github -com/kpango/fastime -Now -0 of 0.13s (0.5%) - - - - - -N9->N41 - - - - - - - 0.04s - (inline) - - - - - -N10->N6 - - - - - - - 3.14s - - - - - -N25 - - -runtime -newobject -0.09s (0.35%) -of 0.53s (2.04%) - - - - - -N10->N25 - - - - - - - 0.52s - - - - - -N27 - - -runtime -mapassign -0 of 0.38s (1.46%) - - - - - -N10->N27 - - - - - - - 0.38s - - - - - -N36 - - -sync -(*entry) -tryStore -0.05s (0.19%) -of 0.16s (0.62%) - - - - - -N10->N36 - - - - - - - 0.16s - - - - - -N11 - - -runtime -mallocgc -0.62s (2.39%) -of 1.74s (6.70%) - - - - - -N16 - - -runtime -systemstack -0 of 0.59s (2.27%) - - - - - -N11->N16 - - - - - - - 0.18s - - - - - -N21 - - -runtime -heapBitsSetType -0.28s (1.08%) -of 0.41s (1.58%) - - - - - -N11->N21 - - - - - - - 0.41s - - - - - -N24 - - -runtime -nextFreeFast -0.26s (1.00%) - - - - - -N11->N24 - - - - - - - 0.26s - (inline) - - - - - -N12->N7 - - - - - - - 4.22s - - - - - -N13 - - -runtime -(*mheap) -freeSpanLocked -0.72s (2.77%) -of 0.74s (2.85%) - - - - - -N22 - - -sync -(*Map) -Load -0.08s (0.31%) -of 2.64s (10.17%) - - - - - -N14->N22 - - - - - - - 2.64s - - - - - -N14->N41 - - - - - - - 0.09s - (inline) - - - - - -N15->N11 - - - - - - - 0.86s - - - - - -N19 - - -runtime -gosweepone -0 of 0.36s (1.39%) - - - - - -N16->N19 - - - - - - - 0.05s - - - - - -N37 - - -runtime -gosweepone -func1 -0 of 0.36s (1.39%) - - - - - -N16->N37 - - - - - - - 0.31s - - - - - -N17->N11 - - - - - - - 0.43s - - - - - -N38 - - -runtime -typedmemmove -0.05s (0.19%) -of 0.13s (0.5%) - - - - - -N17->N38 - - - - - - - 0.13s - - - - - -N18 - - -runtime -strequal -0.40s (1.54%) - - - - - -N19->N16 - - - - - - - 0.31s - - - - - -N19->N37 - - - - - - - 0.05s - - - - - -N26 - - -runtime -efaceeq -0.10s (0.39%) -of 0.50s (1.93%) - - - - - -N20->N26 - - - - - - - 0.50s - - - - - -N34 - - -runtime -heapBitsForAddr -0.10s (0.39%) -of 0.13s (0.5%) - - - - - -N21->N34 - - - - - - - 0.13s - (inline) - - - - - -N22->N6 - - - - - - - 2.48s - - - - - -N25->N11 - - - - - - - 0.44s - - - - - -N26->N18 - - - - - - - 0.40s - - - - - -N27->N12 - - - - - - - 0.14s - - - - - -N48 - - -runtime -growWork -0 of 0.22s (0.85%) - - - - - -N27->N48 - - - - - - - 0.22s - - - - - -N28 - - -runtime -futex -0.16s (0.62%) - - - - - -N29 - - -runtime -(*mheap) -freeSpan -func1 -0 of 0.30s (1.16%) - - - - - -N29->N13 - - - - - - - 0.03s - - - - - -N39 - - -runtime -lock -0.01s (0.039%) -of 0.21s (0.81%) - - - - - -N29->N39 - - - - - - - 0.19s - - - - - -N42 - - -runtime -futexwakeup -0 of 0.14s (0.54%) - - - - - -N29->N42 - - - - - - - 0.08s - - - - - -N30 - - -runtime -procyield -0.16s (0.62%) - - - - - -N32 - - -testing -(*B) -runN -0 of 0.19s (0.73%) - - - - - -N46 - - -runtime -GC -0 of 0.18s (0.69%) - - - - - -N32->N46 - - - - - - - 0.18s - - - - - -N33 - - -github -com/kpango/fastime -(*Fastime) -Now -0.11s (0.42%) -of 0.13s (0.5%) - - - - - -N35 - - -runtime -sweepone -0.04s (0.15%) -of 0.36s (1.39%) - - - - - -N45 - - -runtime -(*mspan) -sweep -0 of 0.32s (1.23%) - - - - - -N35->N45 - - - - - - - 0.32s - - - - - -N37->N35 - - - - - - - 0.36s - - - - - -N39->N30 - - - - - - - 0.15s - - - - - -N40 - - -runtime -bgsweep -0 of 0.13s (0.5%) - - - - - -N40->N19 - - - - - - - 0.13s - - - - - -N41->N33 - - - - - - - 0.13s - (inline) - - - - - -N42->N28 - - - - - - - 0.14s - - - - - -N43 - - -runtime -(*mcentral) -freeSpan -0 of 0.30s (1.16%) - - - - - -N44 - - -runtime -(*mheap) -freeSpan -0 of 0.30s (1.16%) - - - - - -N43->N44 - - - - - - - 0.30s - - - - - -N44->N29 - - - - - - - 0.30s - - - - - -N45->N43 - - - - - - - 0.30s - - - - - -N46->N19 - - - - - - - 0.18s - - - - - -N47 - - -runtime -evacuate -0 of 0.22s (0.85%) - - - - - -N47->N12 - - - - - - - 0.22s - - - - - -N48->N47 - - - - - - - 0.22s - - - - - diff --git a/bench/mem-def.svg b/bench/mem-def.svg deleted file mode 100644 index 4498820..0000000 --- a/bench/mem-def.svg +++ /dev/null @@ -1,695 +0,0 @@ - - - - - - -test.bin - - -cluster_L - - - - -File: test.bin - - -File: test.bin -Type: alloc_space -Time: Feb 12, 2019 at 1:38pm (JST) -Showing nodes accounting for 559.89MB, 99.23% of 564.22MB total -Dropped 24 nodes (cum <= 2.82MB) - - - - - -N1 - - -github -com/kpango/gache -BenchmarkMapWithBigDataset -func1 -408.01MB (72.31%) -of 451.94MB (80.10%) - - - - - -NN1_0 - - - - - -16B - - - - - -N1->NN1_0 - - - - - - - 408.01MB - - - - - -N5 - - -github -com/kpango/gache -(*DefaultMap) -Set -43.93MB (7.79%) - - - - - -N1->N5 - - - - - - - 43.93MB - - - - - -N2 - - -testing -(*B) -RunParallel -func1 -0 of 451.94MB (80.10%) - - - - - -N2->N1 - - - - - - - 451.94MB - - - - - -N3 - - -github -com/kpango/gache -randStr -107.12MB (18.98%) - - - - - -NN3_0 - - - - - -9.25kB..10.01kB - - - - - -N3->NN3_0 - - - - - - - 31.28MB - - - - - -NN3_1 - - - - - -4kB..6.39kB - - - - - -N3->NN3_1 - - - - - - - 27.64MB - - - - - -NN3_2 - - - - - -1kB..3kB - - - - - -N3->NN3_2 - - - - - - - 22.53MB - - - - - -NN3_3 - - - - - -8kB - - - - - -N3->NN3_3 - - - - - - - 12.09MB - - - - - -N4 - - -runtime -main -0 of 110.19MB (19.53%) - - - - - -N8 - - -main -init -0 of 107.95MB (19.13%) - - - - - -N4->N8 - - - - - - - 107.95MB - - - - - -NN5_0 - - - - - -585.23kB - - - - - -N5->NN5_0 - - - - - - - 25.15MB - - - - - -NN5_1 - - - - - -299.64kB - - - - - -N5->NN5_1 - - - - - - - 10.53MB - - - - - -NN5_2 - - - - - -152.71kB - - - - - -N5->NN5_2 - - - - - - - 4.62MB - - - - - -N6 - - -github -com/kpango/gache -init -1 -0.84MB (0.15%) -of 107.95MB (19.13%) - - - - - -N6->N3 - - - - - - - 107.12MB - - - - - -N7 - - -github -com/kpango/gache -init -0 of 107.95MB (19.13%) - - - - - -N7->N6 - - - - - - - 107.95MB - - - - - -N8->N7 - - - - - - - 107.95MB - - - - - diff --git a/bench/mem-gache-graph.svg b/bench/mem-gache-graph.svg deleted file mode 100644 index e3ba9a3..0000000 --- a/bench/mem-gache-graph.svg +++ /dev/null @@ -1,398 +0,0 @@ - - - - - - - - - - - - - - -Flame Graph - -Reset Zoom -Search - - -main.init (44,078 samples, 0.02%) - - - -github.com/kpango/gache.Set (151,861,321 samples, 79.50%) -github.com/kpango/gache.Set - - -runtime.main (44,079 samples, 0.02%) - - - -sync.(*Map).Store (38,351,238 samples, 20.08%) -sync.(*Map).Store - - -github.com/kpango/gache.init.1 (33,155 samples, 0.02%) - - - -testing.(*B).RunParallel.func1 (190,954,141 samples, 99.96%) -testing.(*B).RunParallel.func1 - - -github.com/kpango/gache.(*gache).set (151,861,321 samples, 79.50%) -github.com/kpango/gache.(*gache).set - - -runtime/pprof.parseProcSelfMaps (32,768 samples, 0.02%) - - - -github.com/kpango/gache.init (44,078 samples, 0.02%) - - - -github.com/kpango/gache.randStr (33,152 samples, 0.02%) - - - -runtime/pprof.newProfileBuilder (32,768 samples, 0.02%) - - - -all (191,030,991 samples, 100%) - - - -github.com/kpango/gache.BenchmarkGacheWithBigDataset.func1 (190,954,141 samples, 99.96%) -github.com/kpango/gache.BenchmarkGacheWithBigDataset.func1 - - -runtime/pprof.(*profileBuilder).readMapping (32,768 samples, 0.02%) - - - -runtime/pprof.profileWriter (32,771 samples, 0.02%) - - - diff --git a/bench/mem-gache.svg b/bench/mem-gache.svg deleted file mode 100644 index 9742c9a..0000000 --- a/bench/mem-gache.svg +++ /dev/null @@ -1,647 +0,0 @@ - - - - - - -test.bin - - -cluster_L - - - - -File: test.bin - - -File: test.bin -Type: alloc_space -Time: Feb 12, 2019 at 1:38pm (JST) -Showing nodes accounting for 3030.24MB, 99.86% of 3034.41MB total -Dropped 20 nodes (cum <= 15.17MB) - - - - - -N1 - - -github -com/kpango/gache -(*gache) -set -1732.03MB (57.08%) -of 2319.04MB (76.42%) - - - - - -NN1_0 - - - - - -16B - - - - - -N1->NN1_0 - - - - - - - 1732.03MB - - - - - -N4 - - -sync -(*Map) -Store -586.51MB (19.33%) -of 587.01MB (19.35%) - - - - - -N1->N4 - - - - - - - 587.01MB - - - - - -N2 - - -testing -(*B) -RunParallel -func1 -0 of 2915.55MB (96.08%) - - - - - -N3 - - -github -com/kpango/gache -BenchmarkGacheWithBigDataset -func1 -596.51MB (19.66%) -of 2915.55MB (96.08%) - - - - - -N2->N3 - - - - - - - 2915.55MB - - - - - -NN3_0 - - - - - -16B - - - - - -N3->NN3_0 - - - - - - - 596.51MB - - - - - -N8 - - -github -com/kpango/gache -Set -0 of 2319.04MB (76.42%) - - - - - -N3->N8 - - - - - - - 2319.04MB - - - - - -NN4_0 - - - - - -16B - - - - - -N4->NN4_0 - - - - - - - 585.01MB - - - - - -N5 - - -github -com/kpango/gache -randStr -113.69MB (3.75%) - - - - - -NN5_0 - - - - - -8kB - - - - - -N5->NN5_0 - - - - - - - 16.63MB - - - - - -N6 - - -runtime -main -0 of 116.85MB (3.85%) - - - - - -N10 - - -main -init -0 of 115.69MB (3.81%) - - - - - -N6->N10 - - - - - - - 115.69MB - - - - - -N7 - - -github -com/kpango/gache -init -1 -1.50MB (0.049%) -of 115.19MB (3.80%) - - - - - -N7->N5 - - - - - - - 113.69MB - - - - - -N8->N1 - - - - - - - 2319.04MB - - - - - -N9 - - -github -com/kpango/gache -init -0 of 115.69MB (3.81%) - - - - - -N9->N7 - - - - - - - 115.19MB - - - - - -N10->N9 - - - - - - - 115.69MB - - - - - diff --git a/bench/mem-gocache-graph.svg b/bench/mem-gocache-graph.svg deleted file mode 100644 index 3bc0d88..0000000 --- a/bench/mem-gocache-graph.svg +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - - - - - - - - -Flame Graph - -Reset Zoom -Search - - -testing.(*B).run1.func1 (32,769 samples, 0.02%) - - - -github.com/kpango/gache.BenchmarkGocacheWithBigDataset (27,307 samples, 0.02%) - - - -github.com/hlts2/gocache.New (32,769 samples, 0.02%) - - - -sync.(*Map).missLocked (32,768 samples, 0.02%) - - - -sync.(*Map).Load (32,768 samples, 0.02%) - - - -github.com/hlts2/gocache.(*concurrentMap).set (103,522,957 samples, 75.81%) -github.com/hlts2/gocache.(*concurrentMap).set - - -github.com/hlts2/gocache.(*gocache).Get (32,768 samples, 0.02%) - - - -testing.(*B).launch (27,307 samples, 0.02%) - - - -runtime.main (33,254 samples, 0.02%) - - - -sync.newEntry (131,073 samples, 0.10%) - - - -testing.(*B).runN (32,769 samples, 0.02%) - - - -github.com/hlts2/gocache.(*concurrentMap).get (32,768 samples, 0.02%) - - - -all (136,548,786 samples, 100%) - - - -sync.(*Map).Store (34,430,039 samples, 25.21%) -sync.(*Map).Store - - -github.com/kpango/gache.BenchmarkGocacheWithBigDataset (32,769 samples, 0.02%) - - - -testing.(*B).runN (27,307 samples, 0.02%) - - - -main.init (33,249 samples, 0.02%) - - - -sync.(*Map).dirtyLocked (41,345 samples, 0.03%) - - - -github.com/hlts2/gocache.New (27,307 samples, 0.02%) - - - -github.com/kpango/gache.init.1 (33,249 samples, 0.02%) - - - -github.com/kpango/gache.init (33,249 samples, 0.02%) - - - -github.com/kpango/gache.BenchmarkGocacheWithBigDataset.func1 (136,455,299 samples, 99.93%) -github.com/kpango/gache.BenchmarkGocacheWithBigDataset.func1 - - -github.com/hlts2/gocache.(*gocache).Set (103,522,957 samples, 75.81%) -github.com/hlts2/gocache.(*gocache).Set - - -testing.(*B).RunParallel.func1 (136,455,299 samples, 99.93%) -testing.(*B).RunParallel.func1 - - -github.com/kpango/gache.randStr (33,248 samples, 0.02%) - - - diff --git a/bench/mem-gocache.svg b/bench/mem-gocache.svg deleted file mode 100644 index 460d141..0000000 --- a/bench/mem-gocache.svg +++ /dev/null @@ -1,723 +0,0 @@ - - - - - - -test.bin - - -cluster_L - - - - -File: test.bin - - -File: test.bin -Type: alloc_space -Time: Feb 12, 2019 at 1:38pm (JST) -Showing nodes accounting for 2766.56MB, 99.70% of 2774.81MB total -Dropped 24 nodes (cum <= 13.87MB) - - - - - -N1 - - -github -com/hlts2/gocache -(*concurrentMap) -set -1589.54MB (57.28%) -of 2158.60MB (77.79%) - - - - - -NN1_0 - - - - - -32B - - - - - -N1->NN1_0 - - - - - - - 1074.53MB - - - - - -NN1_1 - - - - - -16B - - - - - -N1->NN1_1 - - - - - - - 515.01MB - - - - - -N4 - - -sync -(*Map) -Store -548.03MB (19.75%) -of 569.06MB (20.51%) - - - - - -N1->N4 - - - - - - - 569.06MB - - - - - -N2 - - -testing -(*B) -RunParallel -func1 -0 of 2661.10MB (95.90%) - - - - - -N3 - - -github -com/kpango/gache -BenchmarkGocacheWithBigDataset -func1 -502.01MB (18.09%) -of 2661.10MB (95.90%) - - - - - -N2->N3 - - - - - - - 2661.10MB - - - - - -NN3_0 - - - - - -16B - - - - - -N3->NN3_0 - - - - - - - 502.01MB - - - - - -N9 - - -github -com/hlts2/gocache -(*gocache) -Set -0 of 2158.60MB (77.79%) - - - - - -N3->N9 - - - - - - - 2158.60MB - - - - - -NN4_0 - - - - - -16B - - - - - -N4->NN4_0 - - - - - - - 524.01MB - - - - - -NN4_1 - - - - - -1.75kB - - - - - -N4->NN4_1 - - - - - - - 9.52MB - - - - - -N7 - - -sync -(*Map) -dirtyLocked -20.02MB (0.72%) - - - - - -N4->N7 - - - - - - - 20.02MB - - - - - -N5 - - -github -com/kpango/gache -randStr -106.12MB (3.82%) - - - - - -NN5_0 - - - - - -8kB - - - - - -N5->NN5_0 - - - - - - - 16.63MB - - - - - -N6 - - -runtime -main -0 of 108.68MB (3.92%) - - - - - -N11 - - -main -init -0 of 106.96MB (3.85%) - - - - - -N6->N11 - - - - - - - 106.96MB - - - - - -N8 - - -github -com/kpango/gache -init -1 -0.84MB (0.03%) -of 106.96MB (3.85%) - - - - - -N8->N5 - - - - - - - 106.12MB - - - - - -N9->N1 - - - - - - - 2158.60MB - - - - - -N10 - - -github -com/kpango/gache -init -0 of 106.96MB (3.85%) - - - - - -N10->N8 - - - - - - - 106.96MB - - - - - -N11->N10 - - - - - - - 106.96MB - - - - - diff --git a/gache.go b/gache.go index 3b4558e..8a50e6e 100644 --- a/gache.go +++ b/gache.go @@ -11,6 +11,7 @@ import ( "github.com/cespare/xxhash/v2" "github.com/kpango/fastime" + "github.com/pierrec/lz4" "golang.org/x/sync/singleflight" ) @@ -336,7 +337,7 @@ func Foreach(ctx context.Context, f func(string, interface{}, int64) bool) Gache // Write writes all cached data to writer func (g *gache) Write(ctx context.Context, w io.Writer) error { - return gob.NewEncoder(w).Encode(g.ToRawMap(ctx)) + return gob.NewEncoder(lz4.NewWriter(w)).Encode(g.ToRawMap(ctx)) } // Write writes all cached data to writer @@ -347,7 +348,7 @@ func Write(ctx context.Context, w io.Writer) error { // Read reads reader data to cache func (g *gache) Read(r io.Reader) error { m := make(map[string]interface{}) - err := gob.NewDecoder(r).Decode(&m) + err := gob.NewDecoder(lz4.NewReader(r)).Decode(&m) if err != nil { return err } diff --git a/go.mod b/go.mod index 0bb087f..d39354f 100644 --- a/go.mod +++ b/go.mod @@ -6,10 +6,11 @@ require ( github.com/bluele/gcache v0.0.0-20190203144525-2016d595ccb0 github.com/cespare/xxhash/v2 v2.0.0 github.com/coocood/freecache v1.0.1 - github.com/hlts2/gocache v0.0.0-20190216065548-f2b89fd577c0 + github.com/hlts2/gocache v0.0.0-20190216063039-f2b89fd577c0 github.com/kpango/fastime v1.0.2 github.com/kpango/glg v1.2.7 github.com/patrickmn/go-cache v2.1.0+incompatible + github.com/pierrec/lz4 v0.0.0-20190131084431-473cd7ce01a1 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 google.golang.org/appengine v1.4.0 // indirect ) diff --git a/go.sum b/go.sum index 9c3b7c7..8cdb9df 100644 --- a/go.sum +++ b/go.sum @@ -18,12 +18,9 @@ github.com/coocood/freecache v1.0.1/go.mod h1:ePwxCDzOYvARfHdr1pByNct1at3CoKnsip github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/hlts2/gocache v0.0.0-20181007125314-e9a99e525ba1/go.mod h1:u/v6wO8kS57bViN/degQAjOX3zGWVx3VW2HOClP2Vcc= -github.com/hlts2/gocache v0.0.0-20181209044210-78e21778d6d4 h1:yMneq5EMJ3EWjnEHnqmk2I0X/brLu+uBM0N42fCAatk= -github.com/hlts2/gocache v0.0.0-20181209044210-78e21778d6d4/go.mod h1:F4tUovaw56AzbV8K7ET39ZhQLFP8c8bLXRIuVvHAHUg= -github.com/hlts2/gocache v0.0.0-20190216065548-f2b89fd577c0/go.mod h1:F4tUovaw56AzbV8K7ET39ZhQLFP8c8bLXRIuVvHAHUg= +github.com/hlts2/gocache v0.0.0-20190216063039-f2b89fd577c0 h1:NOZ1f8hBpM5aR/jhvH0yLw7ADsiK45HUu3qhjteYfEM= +github.com/hlts2/gocache v0.0.0-20190216063039-f2b89fd577c0/go.mod h1:F4tUovaw56AzbV8K7ET39ZhQLFP8c8bLXRIuVvHAHUg= github.com/kpango/fastime v1.0.0/go.mod h1:Y5XY5bLG5yc7g2XmMUzc22XYV1XaH+KgUOHkDvLp4SA= -github.com/kpango/fastime v1.0.1 h1:vQEIc1BcsqoN2faGoZFw/GMGEQ1o378TXBGsejUwWqs= -github.com/kpango/fastime v1.0.1/go.mod h1:Y5XY5bLG5yc7g2XmMUzc22XYV1XaH+KgUOHkDvLp4SA= github.com/kpango/fastime v1.0.2 h1:yBowxbDW0qz6EcmoV6ASj4aprgmpzDIlsd+ECN2RiaU= github.com/kpango/fastime v1.0.2/go.mod h1:Y5XY5bLG5yc7g2XmMUzc22XYV1XaH+KgUOHkDvLp4SA= github.com/kpango/gache v1.1.0/go.mod h1:BHKRCYnJ2pRFFIJNc61KTJb3KXSzlrt/ITfgfCQJAJw= @@ -31,6 +28,9 @@ github.com/kpango/glg v1.2.7 h1:aVnv89IIWXSFNOm93SnDQGIKF27Jzz9olieOL2b23Xc= github.com/kpango/glg v1.2.7/go.mod h1:sEwy6Va116x0eKdbVsilHPanIrsoE9AR/9vHwdo4ytQ= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= +github.com/pierrec/lz4 v0.0.0-20190131084431-473cd7ce01a1 h1:0utzB5Mn6QyMzIeOn+oD7pjKQLjJwfM9bz6TkPPdxcw= +github.com/pierrec/lz4 v0.0.0-20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/vmihailenco/msgpack v4.0.1+incompatible h1:RMF1enSPeKTlXrXdOcqjFUElywVZjjC6pqse21bKbEU= github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=