AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.08.2007, 11:24   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Чем плох класс timer для измерения времени?
Вопрос ко всем, но в первую очередь к kashperuk
Вижу, что ты часто замеряешь производительность того или иного кода.
Это здорово!

Но при этом постояно используется WinApi::getTickCount();
См. например, Элементы функционального программирования в Axapta

А почему WinAPI, а не стандартный класс Timer?
Вроде timer удобнее. Скрывает низкоуровневую реализацию, позволяет использовать несколько таймеров, приостанавливать возобновлять...

Timer вносит погрешности?
Или еще какая причина?
__________________
полезное на axForum, github, vk, coub.
Старый 10.08.2007, 11:50   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Я вот, например, не знал. Потому реализовал свой похожий. Только он умеет еще запихиваться в GlobalCache (чтобы не передавать параметрами), выводиться в инфолог и файл и идентифицирует куски кода по строчкам
X++:
static void Test_UtilIDElements(Args _args)
{
    UtilIdElements ue;
    DummyProfiler p = new DummyProfiler().start();
;
    while select recordType, name from ue
        where ue.utilLevel == UtilEntryLevel::usr
              &&
              ue.modifiedDate == today()
    {
        info(strfmt('%1:%2', ue.recordType, ue.name));
    }
    p.stop().toInfo();
}
Вложения
Тип файла: zip DummyProfiler.zip (1.1 Кб, 52 просмотров)
Старый 10.08.2007, 11:53   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
А какие могут быть погрешности. Ведь он использует все тот же WinApi::GetTickCount()
Мне, видимо, он как-то ближе. Никакой другой причины нет.
Более того, использовать класс Timer даже как-то выгоднее, так как у нас еще и "улучшение" его дописано какое-то.
Если кому интересно, Columbus думаю не будет слишком против, что я его выложу
Старый 10.08.2007, 12:30   #4  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
А вот и сам класс.
Вложения
Тип файла: xpo Class_Timer.xpo (2.2 Кб, 455 просмотров)
За это сообщение автора поблагодарили: mazzy (5), belugin (3).
Старый 10.08.2007, 17:21   #5  
Daiver is offline
Daiver
Участник
Самостоятельные клиенты AX
 
177 / 44 (2) +++
Регистрация: 19.07.2005
Адрес: Москва
? DAX 4
Кстати, а куда делся этот класс Timer в DAX 4? И что взамен кроме WinAPI ?
Старый 10.08.2007, 17:42   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Daiver Посмотреть сообщение
Кстати, а куда делся этот класс Timer в DAX 4? И что взамен кроме WinAPI ?
Сделал поиск по АОТ по "new Timer"
У меня нашло только 1 экземпляр, и тот в самописном классе.
Поэтому предположу, что удалили за ненадобностью.
Старый 10.08.2007, 18:15   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Daiver Посмотреть сообщение
И что взамен кроме WinAPI ?
Почему взамен?
WinAPI есть, WinAPIserver тоже есть.

Цитата:
Сообщение от Daiver Посмотреть сообщение
Кстати, а куда делся этот класс Timer в DAX 4?
Мутировал в WebTiming

Кстати, в следующей версии отсутствуют и Timer, и WebTiming
Просто аксаптовские разработчики такие же разработчики как и все остальные. Им проще написать свое, чем разобраться с существующим...
__________________
полезное на axForum, github, vk, coub.
Старый 10.08.2007, 18:19   #8  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от mazzy Посмотреть сообщение
Мутировал в WebTiming
Кстати, "мутировал" он что-то с завидным упрощением.
Правда он не использовался для этих целей раньше.

Все это было в классе WebSession, но намного сложнее
Старый 10.08.2007, 18:23   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Кстати, "мутировал" он что-то с завидным упрощением.
Примерно как и прогресс-бар здесь Свой progressBar
__________________
полезное на axForum, github, vk, coub.
Старый 10.08.2007, 18:26   #10  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от mazzy Посмотреть сообщение
Примерно как и прогресс-бар здесь Свой progressBar

"Крутые времена требуют крутых решений" (Джафар из мульт. Алладин)
Старый 13.11.2007, 17:10   #11  
qik is offline
qik
Участник
 
3 / 10 (1) +
Регистрация: 16.10.2007
Может кому понадобится...
Класс Timer из AX 2.5
Timer_2.5.xpo

Последний раз редактировалось qik; 13.11.2007 в 17:14.
Теги
ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Стандартные единицы измерения Andromache DAX: Функционал 3 27.04.2011 16:40
класс InventSumDateValueReportDim Физические запасы? Poleax DAX: Программирование 12 01.07.2008 15:27
Проблема с передачей контролов из формы в класс matew DAX: Программирование 0 28.04.2008 17:37
Учет рабочего времени Orion DAX: Функционал 1 18.07.2005 16:52
Класс xSysLastValue Maxim Gorbunov DAX: База знаний и проекты 0 27.11.2001 17:39

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:09.