Войти
ПрограммированиеФорумОбщее

QueryPerformanceCounter и многоядерность (7 стр)

Страницы: 13 4 5 6 7 8 Следующая »
#90
0:41, 8 окт. 2010

http://blogs.msdn.com/b/psssql/archive/2010/08/18/how-it-works-ti… iant-tsc.aspx

In Windows 2008 R2 (Windows 7 and newer OS Versions*) the QueryPerformanceCounter may be based off the invariant TSC counter making a call to QueryPerformanceCounter lightweight and accurate.  Windows does not have an API to indicate what source QueryPerformanceCounter is using at this time so SQL Server 2008 R2 startup times the invocation of QueryPerformanceCounter (10 times) and when it exhibits repeated, small cycle behavior (< 600 cycles) the QueryPerformanceCounter will be used to accept invariant TSC timings instead of the GetTickCount/timeBeginPeriod interrupt timing behavior.  If the timing exceeds 600 cycles the multi-media timer behavior of SQL Server is used instead.


#91
0:43, 8 окт. 2010

ashujon
> SetThreadIdealProcessor
оказывается все уже давно придумано за нас, а мы тут мозги парим

#92
0:43, 8 окт. 2010

cNoNim
> зависит от ОС и от доступности других источников, возможно на XP и Wind2003Srv
> это так и было, но имхо чем дальше тем меньше проблем с ним будет
работать должно только у разработчика или и у всех пользователей тоже?..

#93
0:47, 8 окт. 2010

arabesc
вот был Win95?
вот скажи почему мы сейчас не должны его подерживать?

#94
0:55, 8 окт. 2010
cNoNim
> вот скажи почему мы сейчас не должны его подерживать?
потому, что продюсеры не требуют
они не требуют, т.к. у большинства потенциальных пользователей уже нет Win95
вот WinXP есть и ещё несколько лет будет - proof:
"На конец августа 2010 года, Windows XP — наиболее широко используемая операционная система в мире с долей на рынке, равной 53,1%"
к моменту, как WinXP схлынет, уже и для Win7 какого-нибудь глючного железа наклепают, например, планшетов
#95
1:02, 8 окт. 2010

[удалено]

#96
1:12, 8 окт. 2010
cNoNim
> зависимость проследишь?
использование WinXP падает на ~10% в год => ещё года 2-3 WinXP может быть вполне актуальной
год, минимум, это точно :)
кстати, где гарантия, что Win7 свободна от всех этих неприятностей?
#97
1:21, 8 окт. 2010
Изображение

я тут решил попрогнозировать немного )))
[upd] источник http://www.w3schools.com/browsers/browsers_os.asp
#98
6:16, 8 окт. 2010
>а так же со всякими Turbo Boost, можно ждать проблем
Сразу вспомнил про это http://i077.radikal.ru/1010/1c/f0c79700314c.jpg, т.е сокровенную кнопку turbo и вывод частоты процессора прямо на корпус...
#99
7:23, 8 окт. 2010

"В современных процессорах Intel, счетчик TSC не зависит от использования технологий энергосбережения и увеличивается на 1 каждый такт, вне зависимости от того, работал ли процессор или находился в состоянии сна. В некоторых реализациях счетчики TSC могут иметь синхронные значения на многоядерной системе." - вики.

#100
8:41, 8 окт. 2010

arabesc
> нет, не так
> из описания timeBeginPeriod
> "This function affects a global Windows setting. Windows uses the lowest value
> (that is, highest resolution) requested by any process."

Тогда что значит "This function affects a global Windows setting" и почему выставление timeBeginPeriod не влияет на таймер? Попробовал я поставить туда значение 1000 например, ничего не поменялось...
Объясните подробнее, как эта функция работает?

ashujon
> есть еще SetThreadIdealProcessor

Как я понимаю это лишь рекомендация, которая ничего не гарантирует...

#101
8:53, 8 окт. 2010

Executor
> Тогда что значит "This function affects a global Windows setting"
настройка может влиять глобально на всю систему

> и почему выставление timeBeginPeriod не влияет на таймер?
влияет, но не всегда
во 1-х, период должен быть в диапазоне от TIMECAPS::wPeriodMin до TIMECAPS::wPeriodMax, получаемом через timeGetDevCaps
во 2-х, чтобы начать действовать, период должен быть минимальным текущим из всех запрошенных у системы, т.к.
> "Windows uses the lowest value (that is, highest resolution) requested by any process."
Windows использует минимальное значение (таким образом, наивысшую точность) из всех запрошенных процессами
этот минимальный период будет действовать до соответствующего ему вызова timeEndPeriod, после которого вернётся предыдущий минимальный, или пока не будет запрошен ещё меньший период, т.е. большая точность

#102
9:26, 8 окт. 2010

arabesc
Кажется понял... Убедил ты меня... Твоя взяла... :) TGT сделал...
Но ещё надо будет потестить как оно бегает на разных системах...
Спасибо...

#103
10:10, 8 окт. 2010

А если кому-то не нужен тут период который ты установишь, между прочим установка
маленького периода начинает нехило бить прерываниями по системе. Это ничего?

Да и как бы не упускаем из виду:
However, it can also reduce overall system performance, because the thread scheduler switches
tasks more often. High resolutions can also prevent the CPU power management system from
entering power-saving modes. Setting a higher resolution does not improve the accuracy of the
high-resolution performance counter.

#104
10:25, 8 окт. 2010

KpeHDeJIb
> А если кому-то не нужен тут период который ты установишь
он нам нужен, если мы его устанавливаем

> между прочим установка маленького периода начинает нехило бить прерываниями по системе. Это ничего?
цифры в студию, пожалуйста :)

> However, it can also reduce overall system performance, because the thread scheduler switches tasks more often.
опять же, есть цифры, подтверждающие снижение производительности?
у меня по данным Process Explorer сейчас на 2-х ядрах происходит больше 12'000 переключений контекстов в секунду
видимо, большая часть их происходит не при переключении между потоками, а внутри потоков, при переходе в ядро и обратно
увеличение частоты переключения между потоками не должно кардинально изменить общую картину, т.к. будет происходить меньше переключений внутри потоков
да и вообще, в идеале для игры количество собственных рабочих потоков равно количеству ядер, остальные спят, никуда переключаться часто не надо

> High resolutions can also prevent the CPU power management system from entering power-saving modes.
играм критично?

> Setting a higher resolution does not improve the accuracy of the high-resolution performance counter.
можно пережить

Страницы: 13 4 5 6 7 8 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.