Y
YesNo
Здравствуйте!
Проблема такова - есть программа, рассчитывающая, сколько штук коробок некоторых размеров войдет в некоторый контейнер, причем предпочтение отдается сначала тяжелым, потом большим коробкам и т.д. (коробки могут быть нескольких видов, с указанием количества)
Алгоритм здесь моего сочинения, он итерационный (циклы и условия), вот только при больших размерах коробок\контейнера он … мягко говоря «виснет»…
В связи с необходимостью графического построения схемы расположения коробок, я использую несколько форм и, как результат, глобальные переменные. Все ничего, да пара-тройка глобальных объектов типа массив некоторого класса, не особо добавляют скорости вычислений; к тому же весь алгоритм строиться на обработке булевого массива, описывающего содержимое контейнера по сантиметрам (занят\свободен). Так как размеры этого массива доходят до 1300 на 300 , то в результате обработки выполняется около 390000 операций.
Беда в том, что в моей реализации алгоритма ничего нельзя выделить в отдельный поток\потоки, все операции зависят от предыдущих и влияют на последующие…
Вот такой кошмар.
Я прошу вашей помощи – может кто посоветует, как увеличить скорость работы всей этой радости?
Хотелось бы попробовать ускорить работу с памятью, но эта тема мне незнакома. Подкиньте линков по работе с памятью в Дельфи на худой конец.
Заранее спасибо. (прога в аттаче)
Проблема такова - есть программа, рассчитывающая, сколько штук коробок некоторых размеров войдет в некоторый контейнер, причем предпочтение отдается сначала тяжелым, потом большим коробкам и т.д. (коробки могут быть нескольких видов, с указанием количества)
Алгоритм здесь моего сочинения, он итерационный (циклы и условия), вот только при больших размерах коробок\контейнера он … мягко говоря «виснет»…
В связи с необходимостью графического построения схемы расположения коробок, я использую несколько форм и, как результат, глобальные переменные. Все ничего, да пара-тройка глобальных объектов типа массив некоторого класса, не особо добавляют скорости вычислений; к тому же весь алгоритм строиться на обработке булевого массива, описывающего содержимое контейнера по сантиметрам (занят\свободен). Так как размеры этого массива доходят до 1300 на 300 , то в результате обработки выполняется около 390000 операций.
Беда в том, что в моей реализации алгоритма ничего нельзя выделить в отдельный поток\потоки, все операции зависят от предыдущих и влияют на последующие…
Вот такой кошмар.
Я прошу вашей помощи – может кто посоветует, как увеличить скорость работы всей этой радости?
Хотелось бы попробовать ускорить работу с памятью, но эта тема мне незнакома. Подкиньте линков по работе с памятью в Дельфи на худой конец.
Заранее спасибо. (прога в аттаче)