Re: CG/PL high-resolution timestamps

От: Alexey Naidyonov <CGatePro_at_mx_ru>
Дата: Fri 20 Oct 2006 - 11:19:00 MSD

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