How do Ruby and Python profilers work?
As far as I can tell, there's not much of a reason to use an instrumenting profiler over a sampling one. Is there some niche use case? Maybe to experimentally validate some claim about average case computational complexity?