Him*_*ere 4 c# performance arcgis
我有一个代码使用第三方工具迭代一组点.
for (int i = 0; i < pcoll.PointCount; i++) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
通过dotTrace进行性能分析时,我注意到PointCount每次迭代都会访问-proerty(参见上图)
.
我预计编译器会优化此属性的值,但显然不会发生这种情况.也许这实际上是基于COM的第三方库中的问题,或者在收集信息时也在dotTrace self中.
我不确定这个主题是否不适合Gis.StackExchange.然而,也许有人知道在哪种情况下不会发生优化或者如何发生.
简单地说,编译器如何知道pcoll.PointCount调用之间是否会发生变化?它无法安全地假设值将保持不变,因此无法通过缓存第一次调用的值来优化此代码pcoll.PointCount.
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |