有没有办法进行一些分析以检查我的代码的哪个部分使用多个线程?
我有一个matlab代码,我运行它,我可以在系统监视器上看到使用了几个内核。但我无法弄清楚代码的哪一部分是多线程的......
我想知道分析器是否可以找到它,或者其他一些工具......
答案 0 :(得分:6)
一种方式,就是搜索已知的多线程函数。这是我所知道的最佳列表:http://www.walkingrandomly.com/?p=1894。另请注意,如果a和/或b足够大,则a,*。b或sin(a)等操作将是多线程的。
您还可以使用分析器来减少搜索空间。如果大多数代码大部分时间都运行多线程,那么无论代码花费多少时间,最多可能就是多线程发生的地方....