Skip to content

Instantly share code, notes, and snippets.

@ryogrid
Last active October 13, 2023 10:43
Show Gist options
  • Save ryogrid/b4611d5f41fc8afe8a921181c48c8ab0 to your computer and use it in GitHub Desktop.
Save ryogrid/b4611d5f41fc8afe8a921181c48c8ab0 to your computer and use it in GitHub Desktop.
10万エントリを並列にINSERTして、その後、その中からランダムに並列にSELECTした時のcpu profile
(pprof) top200
Showing nodes accounting for 130.23s, 82.06% of 158.71s total
Dropped 688 nodes (cum <= 0.79s)
flat flat% sum% cum cum%
16.15s 10.18% 10.18% 16.17s 10.19% runtime.stdcall2
13s 8.19% 18.37% 13s 8.19% runtime._ExternalCode
5.61s 3.53% 21.90% 20.12s 12.68% runtime.mallocgc
4.54s 2.86% 24.76% 20.85s 13.14% runtime.scanobject
4.08s 2.57% 27.33% 4.09s 2.58% runtime.stdcall1
3.79s 2.39% 29.72% 8.55s 5.39% runtime.findObject
3.65s 2.30% 32.02% 3.65s 2.30% runtime/internal/atomic.(*Uint8).Load (inline)
3.28s 2.07% 34.09% 3.28s 2.07% runtime.procyield
3.13s 1.97% 36.06% 3.86s 2.43% runtime.step
2.96s 1.87% 37.92% 3.02s 1.90% runtime.(*gcBits).bitp (inline)
2.68s 1.69% 39.61% 20.33s 12.81% runtime.lock2
2.65s 1.67% 41.28% 7.89s 4.97% runtime.pcvalue
2.31s 1.46% 42.74% 3.03s 1.91% runtime.mapaccess2_fast32
2.10s 1.32% 44.06% 2.14s 1.35% runtime.heapBitsForAddr
2s 1.26% 45.32% 2.06s 1.30% runtime.writeHeapBits.flush
1.98s 1.25% 46.57% 18.03s 11.36% sync.(*Mutex).lockSlow
1.93s 1.22% 47.79% 1.93s 1.22% runtime.nextFreeFast (inline)
1.78s 1.12% 48.91% 1.78s 1.12% runtime.stdcall3
1.69s 1.06% 49.97% 1.86s 1.17% runtime.(*semaRoot).dequeue
1.68s 1.06% 51.03% 12.02s 7.57% encoding/binary.Read
1.57s 0.99% 52.02% 1.57s 0.99% runtime.(*mspan).base (inline)
1.37s 0.86% 52.88% 6.85s 4.32% runtime.greyobject
1.29s 0.81% 53.70% 1.29s 0.81% runtime.memclrNoHeapPointers
1.27s 0.8% 54.50% 20.27s 12.77% github.com/ryogrid/SamehadaDB/storage/buffer.(*BufferPoolManager).FetchPage
1.23s 0.77% 55.27% 35.18s 22.17% runtime.gcDrain
1.19s 0.75% 56.02% 3.17s 2.00% runtime.unlock2
1.17s 0.74% 56.76% 1.17s 0.74% github.com/ryogrid/SamehadaDB/storage/access.isContainsRID (inline)
1.17s 0.74% 57.49% 19.20s 12.10% sync.(*Mutex).Lock (inline)
1.15s 0.72% 58.22% 15.37s 9.68% sync.(*Mutex).Unlock (inline)
1.10s 0.69% 58.91% 1.10s 0.69% runtime.memmove
1.05s 0.66% 59.57% 4.42s 2.78% runtime.deductAssistCredit
1.04s 0.66% 60.23% 1.22s 0.77% runtime.runqgrab
1.02s 0.64% 60.87% 3.76s 2.37% runtime.(*unwinder).resolveInternal
1.01s 0.64% 61.51% 1.01s 0.64% encoding/binary.intDataSize
1s 0.63% 62.14% 2.24s 1.41% io.ReadAtLeast
1s 0.63% 62.77% 3.21s 2.02% runtime.ready
0.97s 0.61% 63.38% 0.97s 0.61% runtime.cansemacquire (inline)
0.96s 0.6% 63.98% 0.96s 0.6% runtime.arenaIndex (inline)
0.93s 0.59% 64.57% 1.10s 0.69% encoding/binary.sizeof
0.93s 0.59% 65.16% 1.15s 0.72% runtime.spanOf (inline)
0.93s 0.59% 65.74% 4.41s 2.78% runtime.stealWork
0.92s 0.58% 66.32% 6.79s 4.28% runtime.(*stkframe).getStackMap
0.90s 0.57% 66.89% 3.43s 2.16% sync.(*RWMutex).Lock
0.87s 0.55% 67.44% 0.87s 0.55% sync/atomic.(*Int32).Add (inline)
0.85s 0.54% 67.97% 0.85s 0.54% runtime.(*moduledata).textAddr
0.85s 0.54% 68.51% 0.85s 0.54% runtime.readgstatus (inline)
0.84s 0.53% 69.04% 12.93s 8.15% runtime.semacquire1
0.79s 0.5% 69.54% 0.95s 0.6% runtime.(*semaRoot).queue
0.79s 0.5% 70.03% 0.80s 0.5% runtime.gopark
0.77s 0.49% 70.52% 9.11s 5.74% runtime.findRunnable
0.73s 0.46% 70.98% 3.55s 2.24% runtime.heapBitsSetType
0.72s 0.45% 71.43% 0.99s 0.62% runtime.casgstatus
0.65s 0.41% 71.84% 1.52s 0.96% github.com/ryogrid/SamehadaDB/storage/buffer.(*circularList).remove (inline)
0.61s 0.38% 72.23% 1.24s 0.78% bytes.(*Buffer).Read
0.60s 0.38% 72.60% 0.93s 0.59% runtime.execute
0.58s 0.37% 72.97% 5.21s 3.28% github.com/pingcap/parser.yyParse
0.58s 0.37% 73.34% 49.80s 31.38% github.com/ryogrid/SamehadaDB/storage/access.(*TableHeap).InsertTuple
0.57s 0.36% 73.69% 1.81s 1.14% encoding/binary.(*decoder).value
0.56s 0.35% 74.05% 1.41s 0.89% runtime.funcInfo.entry (inline)
0.52s 0.33% 74.37% 12.34s 7.78% runtime.schedule
0.48s 0.3% 74.68% 14.02s 8.83% runtime.park_m
0.47s 0.3% 74.97% 13.31s 8.39% runtime.newobject
0.46s 0.29% 75.26% 3.88s 2.44% github.com/ryogrid/SamehadaDB/common.(*readerWriterLatch).WLock
0.45s 0.28% 75.55% 13.84s 8.72% runtime.semrelease1
0.44s 0.28% 75.82% 3s 1.89% runtime.scanblock
0.43s 0.27% 76.09% 19.32s 12.17% github.com/ryogrid/SamehadaDB/storage/buffer.(*BufferPoolManager).UnpinPage
0.42s 0.26% 76.36% 4.62s 2.91% runtime.makeslice
0.41s 0.26% 76.62% 10.19s 6.42% github.com/ryogrid/SamehadaDB/types.NewUInt32FromBytes (inline)
0.39s 0.25% 76.86% 2.42s 1.52% github.com/ryogrid/SamehadaDB/storage/buffer.(*circularList).insert
0.39s 0.25% 77.11% 1.10s 0.69% runtime.spanOfUnchecked (inline)
0.36s 0.23% 77.34% 14.22s 8.96% sync.(*Mutex).unlockSlow
0.35s 0.22% 77.56% 18.06s 11.38% github.com/ryogrid/SamehadaDB/container/skip_list.(*SkipList).FindNode
0.33s 0.21% 77.76% 46.93s 29.57% runtime.systemstack
0.31s 0.2% 77.96% 16.37s 10.31% runtime.markroot
0.30s 0.19% 78.15% 3.03s 1.91% github.com/ryogrid/SamehadaDB/common.(*readerWriterLatch).WUnlock
0.29s 0.18% 78.33% 8.84s 5.57% github.com/ryogrid/SamehadaDB/storage/access.(*TablePage).InsertTuple
0.28s 0.18% 78.51% 3.88s 2.44% runtime.(*unwinder).next
0.28s 0.18% 78.68% 7.62s 4.80% runtime.scanframeworker
0.27s 0.17% 78.85% 1.49s 0.94% runtime.runqsteal
0.26s 0.16% 79.02% 1.41s 0.89% encoding/binary.dataSize
0.26s 0.16% 79.18% 2.36s 1.49% github.com/ryogrid/SamehadaDB/storage/buffer.(*ClockReplacer).Pin
0.26s 0.16% 79.35% 4.36s 2.75% runtime.gcDrainN
0.23s 0.14% 79.49% 7.95s 5.01% bytes.NewBuffer (inline)
0.22s 0.14% 79.63% 1.27s 0.8% encoding/binary.Write
0.20s 0.13% 79.76% 0.95s 0.6% runtime.wbBufFlush1
0.18s 0.11% 79.87% 14.45s 9.10% runtime.mcall
0.18s 0.11% 79.98% 14.73s 9.28% runtime.scanstack
0.18s 0.11% 80.10% 2.80s 1.76% runtime.wakep
0.15s 0.095% 80.19% 4.13s 2.60% github.com/ryogrid/SamehadaDB/types.NewValueFromBytes
0.14s 0.088% 80.28% 4.49s 2.83% github.com/ryogrid/SamehadaDB/storage/access.(*TablePage).GetFreeSpacePointer
0.14s 0.088% 80.37% 1.67s 1.05% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.(*SkipListBlockPage).GetEntryOffset
0.13s 0.082% 80.45% 3.11s 1.96% github.com/ryogrid/SamehadaDB/storage/buffer.(*ClockReplacer).Unpin
0.12s 0.076% 80.52% 3.05s 1.92% github.com/ryogrid/SamehadaDB/storage/page.(*Page).WUnlatch (inline)
0.12s 0.076% 80.60% 5.28s 3.33% runtime.pcdatavalue
0.10s 0.063% 80.66% 1.26s 0.79% runtime.(*mcache).refill
0.10s 0.063% 80.73% 13.03s 8.21% sync.runtime_SemacquireMutex
0.10s 0.063% 80.79% 2.01s 1.27% sync.runtime_doSpin
0.09s 0.057% 80.85% 3.03s 1.91% github.com/ryogrid/SamehadaDB/storage/access.(*TablePage).GetTupleCount
0.09s 0.057% 80.90% 1.05s 0.66% github.com/ryogrid/SamehadaDB/storage/page.(*Page).GetLSN
0.09s 0.057% 80.96% 0.92s 0.58% runtime.(*unwinder).initAt
0.09s 0.057% 81.02% 3.16s 1.99% runtime.adjustframe
0.08s 0.05% 81.07% 2.17s 1.37% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.(*SkipListBlockPage).GetPageId
0.08s 0.05% 81.12% 1.47s 0.93% runtime.(*mcache).nextFree
0.08s 0.05% 81.17% 2.57s 1.62% runtime.goready (inline)
0.07s 0.044% 81.21% 3.85s 2.43% github.com/ryogrid/SamehadaDB/storage/page.(*Page).WLatch (inline)
0.07s 0.044% 81.26% 5.62s 3.54% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.NewSkipListPairFromBytes
0.07s 0.044% 81.30% 2.50s 1.58% runtime.stackalloc
0.06s 0.038% 81.34% 0.94s 0.59% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.(*SkipListBlockPage).GetForwardEntry
0.06s 0.038% 81.37% 2.30s 1.45% io.ReadFull (inline)
0.06s 0.038% 81.41% 2.13s 1.34% runtime.notewakeup
0.06s 0.038% 81.45% 3.26s 2.05% runtime.readyWithTime.goready.func1
0.06s 0.038% 81.49% 2.38s 1.50% runtime.shrinkstack
0.05s 0.032% 81.52% 1.10s 0.69% github.com/ryogrid/SamehadaDB/planner/optimizer.(*SelingerOptimizer).findBestScan
0.05s 0.032% 81.55% 85.74s 54.02% github.com/ryogrid/SamehadaDB/samehada.(*SamehadaDB).ExecuteSQLRetValues
0.05s 0.032% 81.58% 8.36s 5.27% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.(*SkipListBlockPage).GetEntry
0.05s 0.032% 81.61% 16.04s 10.11% runtime.semasleep
0.04s 0.025% 81.64% 2.31s 1.46% github.com/ryogrid/SamehadaDB/storage/access.(*TablePage).GetNextPageId
0.04s 0.025% 81.66% 6.46s 4.07% github.com/ryogrid/SamehadaDB/storage/access.(*TablePage).getFreeSpaceRemaining 0.04s 0.025% 81.69% 3.90s 2.46% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.(*SkipListBlockPage).FindEntryByKey
0.04s 0.025% 81.72% 1.02s 0.64% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.(*SkipListBlockPage).GetEntrySize
0.04s 0.025% 81.74% 2.73s 1.72% sync.(*RWMutex).Unlock
0.04s 0.025% 81.77% 13.86s 8.73% sync.runtime_Semrelease
0.03s 0.019% 81.78% 4.04s 2.55% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.(*SkipListBlockPage).Insert
0.03s 0.019% 81.80% 6.70s 4.22% runtime.copystack
0.03s 0.019% 81.82% 15.18s 9.56% runtime.markroot.func1
0.03s 0.019% 81.84% 1.05s 0.66% runtime.parkunlock_c
0.02s 0.013% 81.85% 1.59s 1.00% github.com/ryogrid/SamehadaDB/catalog.(*TableStatistics).Update
0.02s 0.013% 81.87% 16.19s 10.20% github.com/ryogrid/SamehadaDB/storage/index.(*SkipListIndex).InsertEntry
0.02s 0.013% 81.88% 3.37s 2.12% runtime.gcAssistAlloc
0.02s 0.013% 81.89% 4.78s 3.01% runtime.lock (inline)
0.02s 0.013% 81.90% 2.58s 1.63% runtime.readyWithTime
0.02s 0.013% 81.92% 4.05s 2.55% runtime.semawakeup
0.02s 0.013% 81.93% 3.19s 2.01% runtime.unlock (inline)
0.02s 0.013% 81.94% 0.95s 0.6% runtime.wbBufFlush
0.01s 0.0063% 81.95% 5.42s 3.42% github.com/pingcap/parser.(*Parser).Parse
0.01s 0.0063% 81.95% 7.87s 4.96% github.com/ryogrid/SamehadaDB/container/skip_list.NewSkipListIterator
0.01s 0.0063% 81.96% 75.25s 47.41% github.com/ryogrid/SamehadaDB/execution/executors.(*ExecutionEngine).Execute
0.01s 0.0063% 81.97% 66.03s 41.60% github.com/ryogrid/SamehadaDB/execution/executors.(*InsertExecutor).Next
0.01s 0.0063% 81.97% 0.80s 0.5% github.com/ryogrid/SamehadaDB/execution/executors.(*ProjectionExecutor).Next
0.01s 0.0063% 81.98% 8.39s 5.29% github.com/ryogrid/SamehadaDB/execution/executors.(*RangeScanWithIndexExecutor).Init
0.01s 0.0063% 81.99% 6.25s 3.94% github.com/ryogrid/SamehadaDB/parser.parse
0.01s 0.0063% 81.99% 1.65s 1.04% github.com/ryogrid/SamehadaDB/planner/optimizer.(*SelingerOptimizer).findBestScans
0.01s 0.0063% 82.00% 73.03s 46.01% github.com/ryogrid/SamehadaDB/samehada/samehada_test_test.BenchmarkParallelQueryIssue.func1
0.01s 0.0063% 82.00% 1.35s 0.85% github.com/ryogrid/SamehadaDB/storage/access.(*TableHeapIterator).Next
0.01s 0.0063% 82.01% 4.81s 3.03% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.(*SkipListBlockPage).GetSmallestKey (inline)
0.01s 0.0063% 82.02% 3.15s 1.98% github.com/ryogrid/SamehadaDB/types.NewPageIDFromBytes (inline)
0.01s 0.0063% 82.02% 2.51s 1.58% github.com/ryogrid/SamehadaDB/types.NewUInt16FromBytes (inline)
0.01s 0.0063% 82.03% 1.18s 0.74% github.com/ryogrid/SamehadaDB/types.NewUInt64FromBytes (inline)
0.01s 0.0063% 82.04% 0.93s 0.59% runtime.(*unwinder).init (inline)
0.01s 0.0063% 82.04% 1.77s 1.12% runtime.resetspinning
0.01s 0.0063% 82.05% 2.23s 1.41% runtime.startm
0.01s 0.0063% 82.06% 0.91s 0.57% runtime.wbBufFlush.func1
0 0% 82.06% 0.82s 0.52% github.com/pingcap/parser.New (inline)
0 0% 82.06% 1.60s 1.01% github.com/ryogrid/SamehadaDB/concurrency.(*StatisticsUpdater).StartStaticsUpdaterTh.func1
0 0% 82.06% 1.60s 1.01% github.com/ryogrid/SamehadaDB/concurrency.(*StatisticsUpdater).UpdateAllTablesStatistics
0 0% 82.06% 7.38s 4.65% github.com/ryogrid/SamehadaDB/container/skip_list.(*SkipList).FindNodeWithEntryIdxForItr
0 0% 82.06% 15.78s 9.94% github.com/ryogrid/SamehadaDB/container/skip_list.(*SkipList).Insert
0 0% 82.06% 7.87s 4.96% github.com/ryogrid/SamehadaDB/container/skip_list.(*SkipList).Iterator (inline) 0 0% 82.06% 7.81s 4.92% github.com/ryogrid/SamehadaDB/container/skip_list.(*SkipListIterator).initRIDList
0 0% 82.06% 8.39s 5.29% github.com/ryogrid/SamehadaDB/execution/executors.(*ProjectionExecutor).Init
0 0% 82.06% 6.95s 4.38% github.com/ryogrid/SamehadaDB/parser.ProcessSQLStr
0 0% 82.06% 1.99s 1.25% github.com/ryogrid/SamehadaDB/planner.(*SimplePlanner).MakeOptimizedSelectPlanWithJoin
0 0% 82.06% 2.25s 1.42% github.com/ryogrid/SamehadaDB/planner.(*SimplePlanner).MakePlan
0 0% 82.06% 1.99s 1.25% github.com/ryogrid/SamehadaDB/planner.(*SimplePlanner).MakeSelectPlan
0 0% 82.06% 1.99s 1.25% github.com/ryogrid/SamehadaDB/planner/optimizer.(*SelingerOptimizer).Optimize
0 0% 82.06% 15.18s 9.56% github.com/ryogrid/SamehadaDB/samehada/samehada_test_test.BenchmarkParallelQueryIssue.func3
0 0% 82.06% 1.34s 0.84% github.com/ryogrid/SamehadaDB/storage/access.(*TablePage).GetTuple
0 0% 82.06% 1.17s 0.74% github.com/ryogrid/SamehadaDB/storage/access.(*Transaction).IsSharedLocked (inline)
0 0% 82.06% 8.23s 5.19% github.com/ryogrid/SamehadaDB/storage/index.(*SkipListIndex).GetRangeScanIterator
0 0% 82.06% 2.80s 1.76% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.(*SkipListBlockPage).KeyAt (inline)
0 0% 82.06% 4.02s 2.53% github.com/ryogrid/SamehadaDB/storage/page/skip_list_page.FetchAndCastToBlockPage (inline)
0 0% 82.06% 0.96s 0.6% github.com/ryogrid/SamehadaDB/types.NewLSNFromBytes (inline)
0 0% 82.06% 3.65s 2.30% runtime.(*mSpanStateBox).get (inline)
0 0% 82.06% 3.02s 1.90% runtime.(*mspan).markBitsForIndex (inline)
0 0% 82.06% 1.84s 1.16% runtime.(*pageAlloc).scavenge.func1
0 0% 82.06% 1.84s 1.16% runtime.(*pageAlloc).scavengeOne
0 0% 82.06% 13s 8.19% runtime._System
0 0% 82.06% 2.27s 1.43% runtime.convT32
0 0% 82.06% 2.74s 1.73% runtime.funcspdelta (inline)
0 0% 82.06% 4.36s 2.75% runtime.gcAssistAlloc.func1
0 0% 82.06% 4.36s 2.75% runtime.gcAssistAlloc1
0 0% 82.06% 34.38s 21.66% runtime.gcBgMarkWorker
0 0% 82.06% 35.18s 22.17% runtime.gcBgMarkWorker.func2
0 0% 82.06% 0.80s 0.5% runtime.goparkunlock (inline)
0 0% 82.06% 20.33s 12.81% runtime.lockWithRank (inline)
0 0% 82.06% 0.86s 0.54% runtime.morestack
0 0% 82.06% 4.79s 3.02% runtime.newstack
0 0% 82.06% 2.42s 1.52% runtime.stackcacherefill
0 0% 82.06% 1.78s 1.12% runtime.sysUnused (inline)
0 0% 82.06% 1.78s 1.12% runtime.sysUnusedOS
0 0% 82.06% 3.17s 2.00% runtime.unlockWithRank (inline)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment