什么是性能关键热点及其目的?

时间:2013-06-18 23:17:05

标签: c# performance pointers

我在Nutshell中阅读 C#5.0 (O'Reilly),在第一章中有一节讨论内存管理。本节介绍 C#中指针的不必要用法,因为它消除了其他语言(如C ++)中发现的错误指针的问题。最后,它提到了性能关键热点中指针的关键用法。

那么,什么是性能关键热点及其目的?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

“性能关键热点”是指作为性能瓶颈的一段代码。这可能是很多事情,但一个很好的例子就是图像处理。

假设我有一个相当大的位图,我需要对每个像素执行一些操作。这将是一个循环,有许多迭代,也许还有很多。在此循环的每次迭代(此“热点”)期间节省一点CPU和/或IO时间将导致整体性能提升。

因此,GetPixelSetPixel不在窗外。它们很慢,从经验来看,我知道它们在大型图像上表现不佳。在这种情况下,我可以使用LockBits将图像固定到当前的内存位置,并获得指向原始图像位的指针。

这种遍历将导致更快的代码,我现在已经优化了“性能关键热点”