Имя: Пароль:
1C
1С v8
Добром за добро
0 Злопчинский
 
04.03.15
17:43
Докладываю.
Дабы не считали что чмо\мачо.
Исходная ветка: Алгоритм оптимальной перестановки
Алгоритм выпилен, оттестирован, уже запущен в эксплуатацию.
Работает как и задумывалось.
Всем спасибо, кто помогал.
Отдельное спсаисбо NS за вправление мозгов.
.
на данный момент все работет "в одно рыло". То есть одним челом. Потом может быть когда-нить придется распараллелить для ускорения.
1 France
 
04.03.15
17:46
как же ж так можно. кто ж на добро добром отвечает. так же можно все устои и каноны порушить - на добро надо отвечать злом))..
2 Злопчинский
 
04.03.15
18:01
(1) трудно себе даже представить на что способно обозленное добро
3 Ник второй
 
04.03.15
18:02
нафуя?
4 Torquader
 
04.03.15
19:19
Я на VbScript делал https://ru.wikipedia.org/wiki/Быстрая_сортировка
Только разбиением массива объектов на три части (больше, меньше и равно) - при этом, опорный элемент выбирался как средний по значению из среднего в массиве и двух крайних.

Потом сравнивал с методом сортировки вставкой с поиском нужного места дихотомией - выяснил, что особой разницы нет.
В случае объектов, при перестановке двух элементов в массиве нужна память под переменную - переставляются адреса объектов, а их места в памяти не изменяются (для 1С это будет также). Так что экономия на перестановках мизерная, а вот функция сравнения требует получения полей объекта - это гораздо более длительная операция.

Опять же - проблема интерпретируемых языков в том, что они гораздо медленнее, чем реальное машинное исполнение.
5 Злопчинский
 
04.03.15
20:07
(4) не, работает все достаточно быстро.
6 su_mai
 
04.03.15
20:18
(0) Если ты действительно хочешь сделать добро, то напиши статью на Инфорстарт. Постановка задачи и решение, там вырази благодарность NS. А так пользы от твоего добра для нас нет никакого.
7 Torquader
 
04.03.15
20:20
(5) На скольки элементах ?
Просто я запустил сортировку миллиона элементов несколько тысяч раз подряд - после этого понял, что как ни пиши - быстро не получится.
8 Злопчинский
 
04.03.15
20:58
(6) ну так налегке и идти легче ;-)
9 Злопчинский
 
04.03.15
20:59
(7) да на малом количестве. это ж склад - миллионы ячеек не присутсвуют... А так - от 1 до 144 - один проход. План перемещений строится прктически мгновенно - а бОльшее время занимает генерация собственно записей-заданий в базе.