|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.11.2010, 15:53 | #11 | ||
Регистрация: 23.11.2010
Сообщений: 5
|
Цитата:
Цитата:
================== Закончены по 500 забегов на 1 000 000 иттераций Код:
.Время, милисек.. GetTickCount.....Timer Среднее......................86.... ..........483 Min.............................16. ...............47 Max...........................172.. ............641 100 000 иттераций оказалось мало - примерно в половине случаев GetTickCount работал менее 1 милисек.
С уважением, Василий
|
||
23.11.2010, 17:12 | #12 | |
Регистрация: 23.11.2010
Сообщений: 5
|
Цитата:
Data type Storage size Range Byte ............1 byte.... 0 to 255 Boolean .......2 bytes ...True or False Integer ........2 bytes... -32,768 to 32,767 (Из справки VBA) Проверил на коде Код:
Странности начинаются при двух массивах, как в примере. Во-первых резко увеличивается время компиляции - до 3-4 сек. Во-вторых идет обращение системы к жесткому диску. В-третьих и в главных, уменьшение второго массива на 10 000 000 элементов от максимума может приводить и к успешной компиляции и к - Out of Memory. Какой массив из трех объявлен по максимуму, а какой с уменьшением числа элементов роли не играет, и на вероятность Out of Memory вроде бы не влияет. Получается, что суммарный объем переменных связан с объемом доступного места на диске в момент компиляции. Забыл написать: два массива по максимуму = 134 740 000 элементов компилятор не кушал никогда.
С уважением, Василий
Последний раз редактировалось basil0; 23.11.2010 в 17:16. Причина: забыл добавку |
|
06.12.2010, 10:20 | #13 |
Регистрация: 23.11.2010
Сообщений: 5
|
Отчет о применении советов.
Переписал программу с учетом всех конкретных советов и тех идей на которых советы основаны: убрал все лишние подпрограммы (вставленные для удобочитаемости листинга и на будущее; например вычисление дистанции между двумя точками в трехмерном пространстве); упорядочил if-ы по результатам предварительной проверки, чаще отсекающие поставил впереди. В результате удалось сократить время выполнения расчета одного опыта (100000 повторов) с 4 минут до 78 сек. Большое спасибо за подсказки и советы Skif-F If с булевской переменой оказался на быстрее примерно на 5%, чем с байтовой переменной.
С уважением, Василий
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа макроса во времени (вопрс новичка) | zander | Microsoft Office Excel | 1 | 19.08.2010 17:23 |
Создание во время исполнения | xakkkkker | Общие вопросы Delphi | 0 | 20.05.2010 17:46 |
оптимизация времени | willhunting | Фриланс | 10 | 05.05.2010 10:43 |
информирование пользователя о % исполнения | ADSoft | JavaScript, Ajax | 2 | 01.12.2009 03:14 |
оптимизация для меньшения времени выполнения | Ganmaker | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 19.11.2008 17:33 |