Тики в реальном времени - страница 16

 
Коллеги, вы, таки, учитывайте, что Принт выводит асинхронно с ограниченной очередью на вывод. При быстром/большом числе их - вообще могут пропускаться Принты.
 
Dmitriy Skub:
Коллеги, вы, таки, учитывайте, что Принт выводит асинхронно с ограниченной очередью на вывод. При быстром/большом числе их - вообще могут пропускаться Принты.

При переполнении буфера возможно ,  обычно закольцовывают , но это скажут лишь разработчики. Если у них после каждого принта стоит flush() и буфер достаточного  размера ,  то маловероятно.

 
Yuriy Zaytsev:

При переполнении буфера возможно ,  обычно закольцовывают , но это скажут лишь разработчики. Если у них после каждого принта стоит flush() и буфер достаточного  размера ,  то маловероятно.

Разработчики уже говорили - Вы не внимательно слушали))

Флаш тут ни причем, - совсем. Он используется при файловых операциях.

 
Dmitriy Skub:

Разработчики уже говорили - Вы не внимательно слушали))

Флаш тут ни причем, - совсем. Он используется при файловых операциях.

В этой теме вроде разработчиков не было. Может где то в другом месте говорили что у них принты могут пропускаться, но черт возьми :-) я не мониторю все что пишут на форуме.

Да, и пример мы разбираем в котором принт не пропущен, а лишь имеет 4 секунды разницы. Причем явно тик распринтован  тот который в OnTick пришел и в ОнБук , причем по распринтовке создается впечатление что в ОнБук он пришел позже на 4 секунды.

p.s.

Да и еще flush()  есть низкого уровня и выского - высокого уровня.  Может ставится сразу после любого вывод на диск - если сброс необходим . И не обязательно именно при низкоуровневых  операциях записи на диск.

Я имел ввиду если есть что сбросить , будет  из буферов сброшено  на диск.  После flush произойдет сброс на диск именно  когда это будет не накладно.
 

Кстати думаю что разработчики плевали на потерю принтов в пользу производительности.

 
Yuriy Zaytsev:

Кстати думаю что разработчики плевали на потерю принтов в пользу производительности.

Потеря принтов, говорит о том, что разработчик не реализовал очередь.
Плохо это или хорошо, вопрос спорный.

 
Roman:

Потеря принтов, говорит о том, что разработчик не реализовал очередь.
Плохо это или хорошо, вопрос спорный.

Хз  им видней.

Было бы неплохо например в тестере отключать к черту логирование в пользу скорости.

 
Roman:

Потеря принтов, говорит о том, что разработчик не реализовал очередь.
Плохо это или хорошо, вопрос спорный.

Это только при выводе на экран. В файле все эти принты сохраняются без потерь.
 
Dmitriy Skub:
Это только при выводе на экран. В файле все эти принты сохраняются без потерь.

Дошло, перепутал принт с приходом тика. 
Тогда получается на функцию Print и надо грешить.
И возможно для тестов, результат лучше выводить в файл. 

Так как действительно, отрисовка принта лагает очень сильно.
Простой пример для проверки, вывести приличный цикл в принт,
и сразу будет видна скорость отрисовки принта, а время принтов будет нормальным.
 
Dmitriy Skub:
Это только при выводе на экран. В файле все эти принты сохраняются без потерь.

да ?  ну тогда нормально

так я о том что когда в тестере играешься - бывает принты вообще не нужны ни в файл ни на экран, зато скорость очень нужна.