mazzy-ax / SysStopwatch

X++ wrapper for the timer System.Diagnostics.Stopwatch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SysStopwatch

SysStopwatch – это класс-обёртка над таймером System.Diagnostics.Stopwatch. Класс написан на X++ в Microsoft Dynamics AX 2009, Microsoft Dynamics AX 2012 и Axapta 4.0.

Класс SysStopwatch позволяет создавать, запускать и останавливать таймеры из Аксапты, получать строку со временем работы, а также обращаться к методам .net-объекта Stopwatch.

Быстрый и эффективный класс SysStopwatch:

  • не задействует метод new(), поэтому можно спокойно использовать classFactory.createClass() и другие фабрики
  • служебные объекты создаются в памяти только по необходимости
  • содержит минимум вычислений на X++, форматирование и преобразование в строку выполняется в .net
  • скрывает взаимодействие с CLR - программист может просто использовать X++ класс в своем коде
  • метод stopwatch() возвращает CLR-объект - программист может получить доступ ко всей функциональности .net-объекта
  • метод toString() позволяет видеть время выполнения в отладчике

Пример использования

static void SysStopwatchDemo(Args _args)
{
    SysStopwatch timer = SysStopwatch::startNew();

    setprefix(funcname());

    sleep(1500);

    info(strfmt("Elapsed: %1", timer.elapsed()));
    info(strfmt("Elapsed: %1", timer.elapsedWide()));
}

SysStopwatch demo job

ChangeLog

Помощь проекту

Буду признателен за ваши замечания, предложения и советы по проекту как в разделе Issues, так и в виде письма на адрес mazzy@mazzy.ru

Мазуркин Сергей (mazzy)

About

X++ wrapper for the timer System.Diagnostics.Stopwatch

License:MIT License


Languages

Language:Java 98.4%Language:PowerShell 1.6%