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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.04.2003, 07:08   #1  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
Падение производительности функции
на метод Click повесил обработку цикла с выводом на экран (в цикле использую случайные числа и вывод print )

до 1000 итераций - работет быстро, а потом резко начинает тормозть...

с чем это связано ???

логику надо вынести в отдельный класс или функцию ???

почему падает производительность ???
Старый 14.04.2003, 08:58   #2  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
попробуйте писать случайное число + текущее время в файл и периодически (например после записи килобайта данных) вызывайте метод finalize. сравните.

Хотя может быть дело в реализации генератора случ. чисел... Вы какой класс используете?
Старый 14.04.2003, 09:27   #3  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
не знаю, что там резко торомзит...

X++:
static void Job10(Args _args)
{
    Random myRand = new Random();
    int i, k;
    int t_after, t_now = timeNow();
    ;

    for(i=0;i<1000;i++)
    {
         print myRand.nextInt();
    }

    t_after = timeNow();
    info(int2str(t_after - t_now));
    t_now = timeNow();

    for(i=0;i<10000;i++)
    {
         print myRand.nextInt();
    }
    t_after = timeNow();
    info(int2str(t_after - t_now));
    t_now = timeNow();

    for(i=0;i<20000;i++)
    {
         print myRand.nextInt();
    }

    t_after = timeNow();
    info(int2str(t_after - t_now));
    t_now = timeNow();
    pause;
}
результат: 2, 17, 25
Старый 14.04.2003, 09:29   #4  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
Дело не в самом генераторе случ. чисел... а в факте того что какой-то поределенный промежуток времени функция выполняется очень быстро (ход выполнения отслеживаю через частоту печатанья print "промежуточный результат" например 1000 иттераций из 5000), а потом до конца цикла (оставшиеся 4000) выполняются раз в 10 медленнее...

может это связано с особенностью именно перекрытия стандартных методов на объекте (например, предполагается что метод click на button должен обрабатываться за 0.1 сек и не дольше)

или это связано с тем где выполнятся super() - в начале или в конце функции (метода)
Старый 14.04.2003, 09:42   #5  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
Цитата:
Изначально опубликовано renat

может это связано с особенностью именно перекрытия стандартных методов на объекте (например, предполагается что метод click на button должен обрабатываться за 0.1 сек и не дольше)

или это связано с тем где выполнятся super() - в начале или в конце функции (метода)
да ну.. бред какой-то.

сделал форму, переопределил метод clicked у кнопки(тот же самый код, что в пред. пост + super() ), результаты:
2,13,27;2,17,30
Старый 14.04.2003, 09:49   #6  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
Я все понял - я использовал функцию из Класса Dictionary...

я ее закоментировал и все работает шустро...

НО как только я ее вставляю снова то получается результат описанный выше...

почему так происходит я не знаю...
Старый 14.04.2003, 14:52   #7  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Может просто вы работаете через трехзвенку и в некоторые моменты кто-то "грузит " сервер приложений ? Естественно в этот момент, методы выполняемые на сервере будут отрабатывать медленнее.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Анализ производительности tolstjak DAX: Администрирование 4 04.02.2009 16:22
Падение производительности при разноске производственного журнала evv DAX: Программирование 17 12.09.2008 22:00
aEremenko: Тестирование производительности в DAX 4.0 Blog bot DAX Blogs 0 12.03.2008 16:05
Аргументы функции Eldar9x DAX: Программирование 1 22.11.2006 22:49
Вызов экспортируемой функции DLL Jabberwocky DAX: Программирование 8 12.09.2006 17:20

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

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

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