[{"data":1,"prerenderedAt":72},["ShallowReactive",2],{"term-p\u002Fprofiling":3,"related-p\u002Fprofiling":58},{"id":4,"title":5,"acronym":6,"body":7,"category":40,"description":41,"difficulty":42,"extension":43,"letter":16,"meta":44,"navigation":45,"path":46,"related":47,"seo":52,"sitemap":53,"stem":56,"subcategory":6,"__hash__":57},"terms\u002Fterms\u002Fp\u002Fprofiling.md","Profiling",null,{"type":8,"value":9,"toc":33},"minimark",[10,15,19,23,26,30],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 - The Vibe Check",[16,17,18],"p",{},"Profiling is watching your program run and keeping score of where the time and memory actually go, instead of guessing. A sampling profiler taps your program's shoulder thousands of times a second and asks what are you doing right now, cheap but a bit blurry. An instrumenting profiler wires a stopwatch into every single function, exact but slows everything down while it measures.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Profiling is the practice of measuring where a program spends CPU time, memory, or I\u002FO during execution. Sampling profilers periodically capture the call stack with low overhead, producing statistical estimates suitable for production use, while instrumenting profilers insert timing code around every function call for exact measurements at the cost of significant runtime overhead.",[11,27,29],{"id":28},"when-youll-hear-this","When You'll Hear This",[16,31,32],{},"\"Don't guess where it's slow, profile it first.\" \u002F \"The sampling profiler runs in production with basically no overhead.\"",{"title":34,"searchDepth":35,"depth":35,"links":36},"",2,[37,38,39],{"id":13,"depth":35,"text":14},{"id":21,"depth":35,"text":22},{"id":28,"depth":35,"text":29},"backend","Profiling is watching your program run and keeping score of where the time and memory actually go, instead of guessing.","intermediate","md",{},true,"\u002Fterms\u002Fp\u002Fprofiling",[48,49,50,51],"Flame Graph","Perf Counters","Benchmarking","Heap Dump",{"title":5,"description":41},{"changefreq":54,"priority":55},"weekly",0.7,"terms\u002Fp\u002Fprofiling","PBHUAE8NzcPgImfBcxbAXm3PcICu5xS7M-WZwAeLb8s",[59,62,65,68],{"title":50,"path":60,"acronym":6,"category":40,"difficulty":42,"description":61},"\u002Fterms\u002Fb\u002Fbenchmarking","Benchmarking is timing your code to prove it's actually fast, and it is shockingly easy to do wrong.",{"title":48,"path":63,"acronym":6,"category":40,"difficulty":42,"description":64},"\u002Fterms\u002Ff\u002Fflame-graph","A flame graph is a picture of where your program actually spent its time, and it looks like a skyline made of stacked flames.",{"title":51,"path":66,"acronym":6,"category":40,"difficulty":42,"description":67},"\u002Fterms\u002Fh\u002Fheap-dump","A heap dump is a full snapshot of every single object living in your program's memory at one exact moment, frozen so you can poke through it later.",{"title":49,"path":69,"acronym":6,"category":40,"difficulty":70,"description":71},"\u002Fterms\u002Fp\u002Fperf-counters","advanced","Perf counters are the CPU's own built-in scorekeepers, tiny hardware registers that silently count things like cache misses, branch mispredictions, and ins...",1792528110260]