Показать сообщение отдельно
Старый 30.04.2014, 18:48   #18  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Wamr Посмотреть сообщение
разговор пошел в теорию
время работы большинства алгоритмов сильно зависит от количества чтений из БД. И тут все равно делаются они IL или X++ это не скажется в разы на производительности, так как основное время будет потрачено на обращение и ответ БД... imho
Нет ! В том то и дело !

Вспомните пример с корреспонденцией счетов.
Еще раз повторю ссылку
Оптимизация класса Tax

Там торможение возникает не от числа запросов к БД.
Там весь расчет крутится в памяти. Мапы, рекордсортедлисты и все такое.
Но на 1000 строк в заказе у меня в памяти получился список из 8-9 тысяч элементов, который постоянно многократно перебирался в процессе корреспонденции и за счет этого все тормозило. Т.е. даже быстрый проц и память не вытянули. А если строк заказа будет 10 тысяч, то вообще кранты.

Т.е. степенная функция растет настолько быстро ( надо анализировать алгоритм подробнее, возможно там зависимости не N^2 а еще хуже - N^3 и.т.п. но точно не лучше чем N^2) что при росте числа строк начинает тормозить даже без запросов к БД. Чисто на операциях в памяти.

P.S.
Хотя для большинства случаев, действительно все определяется скоростью запросов в БД. Тут вы правы.
Но в обсуждаемой проблеме все намного хуже.