1 (2016-09-29 11:13:24 отредактировано sam063rus)

Тема: -

-

2

Re: -

message() долгая из-за того, что обращается к визуальным элементам Windows. Для скорости таки логирование - куда более подходящий вариант.
Если бы message() было сделано через PostMessage() - это бы не спасло ситуацию в том смысле, что просто основной поток был бы завален сообщениями от message(), т.е. все равно корректно терминал не работал бы.

3 (2016-09-29 11:13:39 отредактировано sam063rus)

Re: -

-

4 (2016-09-29 11:13:49 отредактировано sam063rus)

Re: -

-

5 (2015-08-12 23:00:41 отредактировано CyberTrader)

Re: -

sam063rus пишет:

Опять же, можно напрямую работать с файлами, как это можно видеть "в скриптах из интернетов", а можно "постить" их (логи) в отдельный thread (сервер, БД, etc), который уже сам будет всё разруливать и не засирать рабочий цикл.

Если лог-файл однократно открывается при старте скрипта, а по завершению закрывается, то запись в файл не будет слишком ресурсоёмкой. По крайней мере, удовольствие задействовать дополнительный процесс (сервер) для передачи логов - весьма сомнительна, и вряд ли более "выгодно", чем запись в файл.
А запись в БД ещё более "тормозная", чем message. Хотя, конечно, message обычно используется не для логирования, а для информирования пользователя о каких-то важных событиях.

6 (2016-09-29 11:14:00 отредактировано sam063rus)

Re: -

-

7

Re: -

sam063rus,

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

8 (2016-09-29 11:14:18 отредактировано sam063rus)

Re: -

-

9

Re: -

Что касается времён - то мне видится так: всё сильно зависит за какие именно величины мы боремся в каком-то нашем конкретном случае.
Одно дело бороться за десятки миллисекунд, другое дело - за единицы миллисекунд, еще совсем другое - за десятки микросекунд.

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

Например: пишем мы лог в файл и радуемся. Всё работает более чем хорошо и быстро.
Но в продакшене (если речь в нашем конкретном роботе про требующуюся высокую скорость реакции, которую мы контролируем)  вдруг иногда выскакивают задержки. Причем именно иногда.
Наверняка они будут связаны с том, что кэш диска когда-то будет таки заполняться, плюс занятость диска другими процессами (если они есть и интенсивны) - и поэтому именно иногда мы будем получать неожиданные выплески тормозов в реакции на событие, где мы хотели отреагировать быстро. Видимо, тут нам придётся менять архитектуру логирования, которая избавляла бы нас от таких проблем. Правда спастись мы можем только с честным многоядерным процессором.
Вы же, sam063rus, проводили эксперимент на одноядерном процессоре, я верно вас понял?

И еще, кстати. Могли бы вы сказать, какие выводы для себя вы сделали из этого эксперимента?

10 (2016-09-29 11:14:38 отредактировано sam063rus)

Re: -

-

11

Re: -

sam063rus пишет:

to Admin, Вам было предложение забанить меня.

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

12 (2015-08-14 00:33:18 отредактировано CyberTrader)

Re: -

sam063rus,

[+]Spoiler

правильно я понимаю, что из-за того, что вы почему-то (кстати, не соизволите объяснить за что вы дуетесь на меня? wink) затаили на меня обиду, то я лишился "оппонента" в вашем лице; но поскольку вы изначально не готовы на конструктивный диалог, то потеря эта и не значительна вовсе?
И да, мне "параллельно" чьё мнение вас интересует (но судя по вашим напыщенным постам - ничьё), но я комментирую не вас лично и не для вас, а высказываю своё мнение по вопросу. Если вы не согласны, буду только рад конструктивной критике. Но вижу вы на это не способны. Ведёте себя по-детски чес-слово.