为什么几乎所有托管应用程序外部代码都存在瓶颈?

时间:2015-06-20 02:36:59

标签: c# vs-2015-preview

我写了一个工具,通过将它们组合成更大的立方体来减少体素世界中立方体的数量。它完全是一个托管应用程序,用C#编写,几乎只是在几个HashSet中进行大量搜索。对于它的功能,我认为它的性能是合理的,但Visual Studio 2015 RC分析器并没有帮助我评估它。

enter image description here

从上图中可以看出,80%的时间花在" [外部代码]"上。每次运行探查器时,是否启用或禁用 Just My Code 并不会产生影响。由于我非常怀疑80%的时间都在进行垃圾收集,所以我想知道这可能是分析器的错误。

1 个答案:

答案 0 :(得分:1)

在build下的项目设置中,开启调试原生代码和外部代码。运行探查器时,系统会提示您下载 pdb 符号文件。这样做。这将为您提供对正在运行的外部代码的一些(但不是全部)可见性。唯一的限制是您仍然没有外部代码的源代码。

您说您的应用程序主要在多个哈希集中进行搜索。有没有想过大部分时间都花在了hashset的实现上?