On Thu, 2006-10-19 at 23:39 -0700, Vladimir A. Butenko wrote:
> > Есть ли возможность в CG/PL получить timestamp в долях секунды? Милли-,
> > лучше микро-. Если нет, то можно ли добавить такую функцию? Возвращать
> > она могла бы 64 bit signed integer, в милли (или микро) секундах since
> > epoch.
> >
> > Это нужно для отладки и профайлинга -- из описаний не всегда очевидно,
> > сколько времени может занять выполнение той или иной функции, и чтобы
> > искать бутылочные горла, нужен подходящий инструмент.
>
> Хотите скажу, что оно Вам намеряет - в большинстве ОС? Что Вы тратите
> бОльшую часть времени в функции "взять точное время".
Это смотря что и как мерять :)
> У Вас что, вычислительные задачи? А если нет, то время выполнения функций
> типа StartBridge
Это понятно.
> SendEvent - непредсказуемы.
А вот это не совсем очевидно и очень важно. Пока у нас задача обслуживает связь "точка-точка", то это не очень страшно. Как только появляются задачи со многими участниками и всякой сложной логикой, начинаются неприятности. Например, конференция с хотя бы десятком-другим наблюдателей состояния с веб-интерфейса. Или ACD система, где наблюдатели мониторят состояние очереди и занятость рабочих мест. Мы, вообще говоря, ожидали, что внутри там везде очереди, и SendEvent -- очень короткая операция (либо поставить событие в очередь задаче, либо в очередь на отправку на другую ноду кластера). Если SendEvent может блокироваться надолго (десятки или даже сотни миллисекунд), то для рассылок сообщений наблюдателям надо говорить подпорку -- спаунить отдельный таск, который разошлет и сдохнет.
> И опять же - Вы уже с"ели 100% ЦПУ? А если нет - то профайлинг не поможет,
> так как задержки не в программе, а в чем-то еще.
Да. В недрах CGP :)
SY,
--
Alexey Naidyonov
ITooLabs
Получено Fri Oct 20 07:19:31 2006
Этот архив был сгенерирован hypermail 2.1.8 : Fri 20 Oct 2006 - 12:13:58 MSD