Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C/C+有好的线程跟踪器吗+;像哈斯克尔';什么是螺纹镜?_C_Multithreading - Fatal编程技术网

C/C+有好的线程跟踪器吗+;像哈斯克尔';什么是螺纹镜?

C/C+有好的线程跟踪器吗+;像哈斯克尔';什么是螺纹镜?,c,multithreading,C,Multithreading,是否有一个免费的开源工具,如(和更新的)来分析CPU利用率/线程错误?CPU利用率分析和线程错误检查器可以不在同一个工具中。为了发现线程错误,需要对内存访问进行大量分析。我可以把valngrind的helgrind和google threadSanitizer命名为tsan(基于helgrind)。这两个工具都通过valgrind的libVEX动态代码修改框架执行代码的运行时插装。这导致了巨大的减速,例如Helgrind(来自hg手册): 性能可能非常差。按照100:1的顺序减速并不罕见。性能改

是否有一个免费的开源工具,如(和更新的)来分析CPU利用率/线程错误?

CPU利用率分析和线程错误检查器可以不在同一个工具中。为了发现线程错误,需要对内存访问进行大量分析。我可以把valngrind的helgrind和google threadSanitizer命名为tsan(基于helgrind)。这两个工具都通过valgrind的libVEX动态代码修改框架执行代码的运行时插装。这导致了巨大的减速,例如Helgrind(来自hg手册):

性能可能非常差。按照100:1的顺序减速并不罕见。性能改进的空间有限

对于CPU利用率,您应该使用探查器,它对应用程序的性能影响很小(高达5-10%),例如
oprofile
或linux的性能


如果应用程序中的线程是使用OpenMP添加的,则有一些解决方案可用于分析OMP线程平衡,例如,Intel的OpenMP实现可以记录一些信息,如图所示

您是否可以指定如何分析CPU利用率(是否要知道是否使用了所有CPU?)您对哪种线程错误感兴趣?