Чета C # 5.0 накратко (O "Reilly) и в първата глава има раздел, който говори за управление на паметта. В този раздел се обяснява за ненужното използване на указатели в ° С#, защото премахва проблема с неправилни указатели, намерени на други езици като C ++. Накрая се споменава за критичното използване на указатели в критични точки с критични характеристики.
Тогава какво е критична точка на производителност и неговата цел?
Благодаря ви предварително за помощта.
Отговори:
5 за отговор № 1"Изключително важна точка за изпълнение" се отнася до част от кода, която е пречка за изпълнение. Това може да бъде много неща, но добър пример за това е обработката на изображения.
Да кажем, че имам доста голямо растерно изображение и имам нуждаза извършване на някои операции на всеки пиксел. Това ще бъде линия с много повторения и може би много се случва. Запазването на малко CPU и / или IO време по време на всяка итерация на този цикъл (тази "гореща точка") ще доведе до голямо цялостно увеличение на производителността.
Така, GetPixel
и SetPixel
са през прозореца. Те са бавни и от опит знам, че няма да се представят добре на големи изображения. В този случай мога да използвам LockBits
да прикачите изображението към текущото му място в паметта и да получите указател към суровите битове на изображението.
Този вид прескачане ще доведе до това далече по-бърз код и сега оптимизирах „гореща точка за критични резултати“