AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.12.2019, 12:08   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,254 / 2155 (78) +++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Как линейное время превращается в Windows в O(n²)
Не смог пропустить такую статью, решил перепостить.
Для Аксапты тоже актуально.
https://habr.com/ru/post/479498/

Странно почему такие баги никто не тестирует. Нелинейность времени обработки легко поймать автоматизированным тестом.
За это сообщение автора поблагодарили: gl00mie (5).
Старый 11.12.2019, 12:40   #2  
axm2017 is offline
axm2017
Участник
 
178 / 156 (6) ++++++
Регистрация: 15.05.2017
А как вы поймаете?
Время работы автотестов, как правило ограничено +-.
Ждать что тест рухнет через n часов работы никто не будет.
Старый 11.12.2019, 13:04   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,254 / 2155 (78) +++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Зачем часы ? Чтобы выявить нелинейность не надо ждать часы.

1. создаем заказ 10 строк.
2. постим инвоис
3. засекли время
4. создаем заказ 100 строк.
5. постим инвоис
6. засекли время
7. создаем заказ 300 строк.
8. постим инвоис
9. засекли время
...

Если на каком то из шагов время возрастает нелинейно, то тест можно прерывать, он провален. Постинг документа можно делать в отдельном потоке (пакет ?) если не завершился за разумное время то тоже тест провален. Постинг принудительно прерываем.

По опыту разноски накладной по закупке/заказу, время не резко скачет до часов. Сперва минут 10 на 500 строк выскочит. Тут уже станет видна нелинейность. К этим цифрам скачком не подберешься.

Последний раз редактировалось Logger; 11.12.2019 в 13:06.
Старый 11.12.2019, 13:31   #4  
axm2017 is offline
axm2017
Участник
 
178 / 156 (6) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Logger Посмотреть сообщение
9. засекли время
...

Если на каком то из шагов время возрастает нелинейно, то тест можно прерывать, он провален. Постинг документа можно делать в отдельном потоке (пакет ?) если не завершился за разумное время то тоже тест провален. Постинг принудительно прерываем..
Если честно это какие то эмперические опыты.
При каких то звездах ок при каких то нет.
Старый 11.12.2019, 13:54   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,254 / 2155 (78) +++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Ну, вы просто не занимались раньше этим вопросом.
Критерий очень простой и численно формализуем.

Померяли время, поделили одно на другое, сравнили с критерием.
Вы видимо просто не сталкивались с такими задачами.
Старый 11.12.2019, 14:29   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,367 / 2558 (94) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
У Андрея Акиньшина есть статья про сложности автоматического performance тестирования.
__________________
https://axcoder.github.io
За это сообщение автора поблагодарили: Logger (1), gl00mie (2).
Старый 12.01.2020, 13:05   #7  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,597 / 5258 (183) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от belugin Посмотреть сообщение
И что эта статья должна обозначать в данном контексте? Принципиальная нерешаемость в общем виде задачи об оптимальной укладке ранца не говорит же о том, что ранец вовсе не надо никогда пытаться укладывать оптимальным образом?..

DevOps-а на вас нет Вот когда какая-то проблема с производительностью или нестабильным поведением кода начинает капать тебе на мозг 80% рабочего времени (и еще сколько-то - нерабочего), то сразу забываются бредни про теоретическую нерешаемость задачи в общем виде, и находится решение, оптимизации какие-то сами собой рождаются, алгоритмы со сложностью O(n²) выкидываются на помойку, несмотря на их простоту и кажущуюся элегантность...

Проблеме с квадратичной зависимостью времени разноски документа в Аксапте от числа строк ведь не один год, даже не один десяток лет, а воз и ныне там. Сложно, мол, автоматически тестировать производительность, ага... И кинуть клич по партнерам/клиентам, чтоб узнать типовое количество строк в заказе за покупку или журнале розничной реализации (RetailStatement) и тупо тесты свои блочные гонять на этих объемах, а не на 10-20 строках, - тоже сложно. Пусть производительность будет чужой попаболью
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Время Windows 7 Alexius Курилка 0 14.10.2014 09:43
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:53.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.