Здравствуйте, vdimas, Вы писали:
V>>>Давно и не раз на разной технике. От десятков ns до примерно сотни, зависит от чипсета. А если брать инструкцию RDTSC — от долей до единиц ns.
I>>Не до сотни ns, а до тысяч милисекунд. Ты снова ошибся на порядки
V>Увы, это ты ошибся. Интересуют собственные затраты на эту операцию, а как их найти с помощью статистики ты должен бы и сам знать, если умудрился самостоятельно закончить ВУЗ.
Нет, просто ты упустил из виду ключевой момент — как делать маленькие задержки и как правильно обрабатывать такие результаты. В виндовс это мягко говоря нетривиальная задача. Например rdtsc который ты указал, тоже имеет нюансы использования. И QueryPerformanceCounter имеет нюансы.
Ты же великий реалтаймщик, распинаешься перед публикой которая непонимает ни капли , по твоим словам, в реалтайме, а сам не можешь рассказать, какие же подводные камни у этого реалтайма.
I>>Конкретно это особенность виндов, потому что например QNX такой вот особенностью не обладает. А лялих имеет ровно такую же проблему, как и винда.
V>Боюсь, что это зависит больше от драйвера, а не от операционки.
Неправильно думаешь. ОСРВ гарантирует с большой точностью время работы системных вызовов. В QNX поток, который выполняет ожидание на момент окончания этого ожидания имеет наивысший приоритет, а в винде этого нет. Ну и инверсию приоритетов не надо забывать и много чего еще, например обработку аппаратных прерываний, здесь тоже есть ключевые различия, например в QNX ни просыпающийся веник, ни говнодрайвер в принципе не способны заморозить систему, а в винде это норма.
Собственно, что это я тебе рассказываю, ты ведь специалист по реалтайму вроде и сам всё знаешь и понимаешь.
V>>>Могу еще предположить, что на машине крутились реалтаймовые потоки, которые не давали работать остальным потокам. Иначе, покажи как воспроизвести.
I>>В винде задержка зависит от нагрузки. В ОСРВ задержка _не_ зависит от нагрузки.
V>Ничего от "просто нагрузки" не зависит.
Зависит.
I>>"Дергать GC" это например вызывать new для референстайпов.
V>Опять и снова — интересуют всегда затраты на уборку, а не на выделение.
Да-да. Все правильно. new инициирует уборку. Это что, новость ?