Optimization 使用DTrace检测调用堆栈树中的冗余函数调用
我很难在一个相当复杂的算法中找到不必要的冗余调用 看起来(我的一些)我的算法由于对非缓存且相对昂贵的函数的冗余调用(在几个子例程中)而严重减慢。 为了确认这一点,我想利用Dtrace在调用堆栈树的给定分支中检测单个函数的多个调用 我希望能够要求dtrace:Optimization 使用DTrace检测调用堆栈树中的冗余函数调用,optimization,profiling,instruments,callstack,dtrace,Optimization,Profiling,Instruments,Callstack,Dtrace,我很难在一个相当复杂的算法中找到不必要的冗余调用 看起来(我的一些)我的算法由于对非缓存且相对昂贵的函数的冗余调用(在几个子例程中)而严重减慢。 为了确认这一点,我想利用Dtrace在调用堆栈树的给定分支中检测单个函数的多个调用 我希望能够要求dtrace: 搜索给定函数中的调用堆栈树(此处为“foo();”,请参阅附图)以查找重复的函数调用(“c();”,例如) 记录它们各自的调用计数(此处:3x表示“c();”) 如果可能的话 记录每次事件的调用堆栈(“foo()/a()/c()”,“
- 搜索给定函数中的调用堆栈树(此处为
,请参阅附图)以查找重复的函数调用(“foo();”
,例如)“c();”
- 记录它们各自的调用计数(此处:3x表示
)“c();”
- 记录每次事件的调用堆栈(
,“foo()/a()/c()”
,“foo()/a()/b()/c()”
)“foo()/a()/b()/d()/c()”