Re[2]: Оптимизация через разделение/вынос функционала
От: Khimik  
Дата: 15.06.24 09:13
Оценка:
Здравствуйте, swame, Вы писали:


S>Измерений не делал, но по виду кода такой алгоритм будет на порядок — два медленнее стандартного дельфового,

S>так как в нем огромное количество лишнего распределения памяти.
S>Может использовал бы стандартный — ускорил бы в сто тыщ раз, и некрасивый код с копированием данных не понадобился.
S>Сделай тест, сравни со стандартным.
S>И нахрена писать все в строчку.

Понятно что тут лишние такты уходят на выделение памяти, обработку классов и присвоения; полагаю, этот код примерно в 2-5 раз медленнее стандартной быстрой сортировки. Но всё равно для больших массивов он в миллион раз быстрее простой сортировки из двух вложенных циклов. Я же говорю что аналогичным алгоритмом ускорил одну процедуру в своей программе где-то в тысячу раз. Ну а если надо ещё ускорить, наверно первичное — заменить класс на рекорд в Delphi, и ещё наверно держать временные массивы не с числами а с указателями (индексами для исходного массива).
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Отредактировано 15.06.2024 10:36 Khimik . Предыдущая версия . Еще …
Отредактировано 15.06.2024 9:59 Khimik . Предыдущая версия .
Отредактировано 15.06.2024 9:15 Khimik . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.