2013-06-18 2 views
0

(O'Reilly)의 첫 번째 장에는 메모리 관리에 대해 설명하는 섹션이 있습니다. C# 5.0을 간단히 읽습니다. 이 절에서는 C#에있는 포인터의 불필요한 사용에 대해 설명합니다. C++와 같은 다른 언어에서 발견 된 잘못된 포인터 문제를 제거하기 때문입니다. 마지막으로 성능이 중요한 핫스팟에서 포인터의 중요한 용도에 대해 언급합니다.성능이 중요한 핫 스폿 및 그 목적은 무엇입니까?

그런 다음 성능이 중요한 핫 스폿과 그 용도는 무엇입니까?

미리 도움을 주셔서 감사합니다.

답변

5

"성능에 중요한 핫스팟"은 성능 병목 현상이되는 코드 조각을 나타냅니다. 이것은 많은 것들이 될 수 있지만, 좋은 예가 이미지 처리입니다.

다소 큰 비트 맵이 있고 각 픽셀에 대해 몇 가지 작업을 수행해야한다고 가정합니다. 이것은 많은 반복과 아마도 많은 일을 반복하는 루프가 될 것입니다. 이 루프 (이 "핫 스폿")가 반복 될 때마다 CPU 및/또는 IO 시간을 절약하면 전반적인 성능이 크게 향상됩니다.

따라서 GetPixelSetPixel이 창 밖으로 나옵니다. 그들은 느리고 경험상 큰 이미지에서는 잘 수행되지 않을 것입니다. 이 경우에는 LockBits을 사용하여 이미지를 현재 메모리 위치에 고정하고 원시 이미지 비트에 대한 포인터를 얻을 수 있습니다.

탐색 이런 종류의 까지 빠른 코드에 내가 지금 "성능 중요한 핫스팟"

+0

를 최적화 한 결과 것이다 중요한 어구 : *** ** 인 성능 병목 *. – user2246674

관련 문제