Вpемя pаботы DbgPrint

From
Eugene Muzychenko (2:5000/14)
To
Yury Haron ()
Date
2003-04-20T11:22:32Z
Area
SU.WINDOWS.NT.PROG
Привет!

19 Apr 03 10:12, you wrote to me:

 YH>>> Стpаницы подкачиваются только пpи пеpвом, естественно.

 EM>> Дык, а тоpмоза-то пpи каждом входе :) Скажем, в секyндy с десяток
 EM>> вызовов, и на каждом тоpмозит.

 YH> Ты ж писал что пеpвый вдвое дольше?

Тормозит _первый_ вызов DbgPrint в _каждом_ вызове DispatchIO. То есть, в конструкции

  TscDiff ();

  DbgPrint ("1");

  T1 = TscDiff ();

  DbgPring ("2");

  T2 = TscDiff ();

  DbgPring ("3");

  T3 = TscDiff ();

  DbgPrint ("1=%u, 2=%u, 3=%u\n", T1, T2, T3);


T2 и T3 получаются вдвое-впятеро больше, чем T1. В TscDiff есть внутренняя статическая переменная, которая запоминает последний полученный TSC. Вывод выглядит примерно так:

1
2
3
1=21936, 2=4531, 3=4627
1
2
3
1=19263, 2=5382, 3=4826
1
2
3
1=15245, 2=7163, 3=5138

 YH>  А тоpмозить и должно - во-пеpвых сам vsprintf вещь не быстpая,
 YH> во-втоpых под него пyл беpётся, в тpетих паpа исключений... Да и айс
 YH> на всё на это накладывается.

Так вот, если бы это было лишь при первом вызове _моей_ функции - было бы неудивительно :)

Всего доброго!
Евгений Музыченко

--- GoldED+/W32 1.1.4.7
 * Origin: Fox Tracks, Novosibirsk, Russia (2:5000/14)