Показать сообщение отдельно
Старый 20.11.2007, 15:54   #1  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Оптимизация
Навеяно последними разработками:

adkotov: Axapta Editor - Suggestions, Autotext, Hotkeys

Итак. Возможно ли ускорить данную операцию (аналогично для таблиц, енум, и ЕДТ):
X++:
static void Job1(Args _args)
{
    DictClass  dictClass;
    Dictionary dict = new Dictionary();
    int i = 0, j = 0;
    int counter;
    int      begin;
    ;
    begin   = WinApi::getTickCount();
    counter = dict.classCnt();
    for( i=1; i<=counter; i++)
    {
      dictClass = dict.classObject(dict.classCnt2Id(i));
      if(dictClass)
      {
        dictClass.name();
        //do something
      }
    }
    info(strfmt("Time = %1", WinApi::getTickCount() - begin));
}
Проблема в следующем: при первом запуске на "холодной" Аксапте загрузка идет 22с, следующие запуски 140-150 мс. Реально ли первую цифру максимально приблизить к 2й?
Пока вижу только 1 вариант - скидывать на диск список названий в какой нибуть файл (или БД) и использовать его. Еще есть варианты?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0