Время работы DbgPrint
- From
- Eugene Muzychenko (2:5000/14)
- To
- All ()
- Date
- 2003-04-18T09:46:18Z
- Area
- SU.WINDOWS.NT.PROG
* Originally in SU.Windows.NT.Prog
* Crossposted in SU.Win32.Prog
Привет!
Занялся я тут профилированием, и обнаружил любопытную вещь: функция ядра NT DbgPrint, вызванная первый раз в данном вхождении в драйвер (функция DEVICE_IO_CONTROL, другие не смотрел), работает в 2..5 раз дольше, чем последующие. Ставлю в любом месте обработчика IO_CONTROL несколько вызовов DbgPrint, обрамленных чтением/запоминанием TSC, и получаю, что первый вызов выполняется 10000..25000 тактов, а каждый последующий (без подстановок) - 4500..5500. Значения варьируют от интенсивности шевеления мышой, работы винта и т.п., однако быстрее, чем вдвое, первый вызов никогда не отрабатывает. Кто-нибудь может объяснить сей факт?
W2k Prof Free 2195 SP3, SoftICE 2.6.0 (336).
Всего доброго!
Евгений Музыченко
--- GoldED+/W32 1.1.4.7
* Origin: Fox Tracks, Novosibirsk, Russia (2:5000/14)