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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.02.2012, 19:07   #13  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Основное правило при написании любых циклов

Вынести все то, что не меняется внутри цикла во вне цикла. Исключить бессмысленные повторы.

В данном случае совершенно бессмысленным является открытие/закрытие самого приложения Excel. Той среды, внутри которой и живут Ваши документы. Вынесите этот процесс во вне цикла, а внутри только открывайте/закрывайте документы

X++:
static void Job_Test(Args _args)
{
    ComExcelDocument_RU excel;
    counter startTime, endTime;
    com range;
    int i, j, k;

    excel = new ComExcelDocument_RU();

    for(k=1; k <= 5; k++)
    {
        startTime = timeNow();
        for(j=1; j < 10; j++)
        {

            excel.newFile('',false);

            for(i=1; i < 10; i++)
            {
                range = excel.findRange("A1");
                range.value2("dsf");
            }    // for(i=1; i < 10; i++)

            excel.closeDocument(false);

        }    // for(j=1; j < 10; j++)

        print time2str(timeNow()-startTime,1,1);
    }    // for(k=1; k <= 5; k++)

    excel.quitApplication(false);
    excel.finalize();

    pause;
}

Время обработки одного цикла по k сразу сократилось примерно в 2,5 раза по сравнению с Вашим первоначальным вариантом.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Масштабируемость AOS'а AX 2009 и принципы выполнения кода клиентских сессий на сервере gl00mie DAX: Администрирование 27 28.05.2013 17:40
Отображение места выполнения кода в отладчике kashperuk DAX: Программирование 5 16.08.2006 12:17
проблема с настройкой штрихового кода Nic DAX: Функционал 4 27.12.2004 09:04
Оптимизация кода X++ Владимир Максимов DAX: Программирование 8 19.01.2004 15:24
Имитация связи между таблицами из кода программы Андре DAX: Программирование 3 31.01.2002 11:00

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

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

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