|
Можно ли ускорить работу программы
|
|||
---|---|---|---|
#18+
Нужно ускорить работу программы в данном куске кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Реально ли это? Так как n во многих случаях будет больше 100 млн. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2010, 15:24 |
|
Можно ли ускорить работу программы
|
|||
---|---|---|---|
#18+
это что же за LX1 такой, куда влезет 100млн итемов. тема неоднократно разбиралась - выход - уйти от этой необходимости. никому и никогда не нужно 100 млн строк в списке. либо постраничный вывод, либо фильтрация или и то и другое. Пользователь не сможет ничего адекватно найти в таком списке, не говоря уже о том, что дело не в алгоритме. допустим, каждый итем займет пару десятков байт в памяти. Вопрос, сколько требуется памяти для их загрузки? тогда и ответ на вопрос, можно ли сделать быстрый алгоритм, очевиден ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2010, 15:58 |
|
Можно ли ускорить работу программы
|
|||
---|---|---|---|
#18+
Программа лично для меня, суть программы сбор и анализ статистических данных. Один из пунктов - рандомные числа. Не буду описывать суть всего эксперимента, но для полной картины мне нужно, чтобы была возможность сгенерировать и 100 млн. чисел. Числа не обязательно добавлять в Listbox, можно в массив, но я думаю, что от этого особо ничего не изменится. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2010, 16:10 |
|
Можно ли ускорить работу программы
|
|||
---|---|---|---|
#18+
SEOMRЧисла не обязательно добавлять в Listbox, можно в массив, но я думаю, что от этого особо ничего не изменится. числа невозможно добавить в листбокс, ибо индекс у него - Integer а так, запасайтесь памятью, процессорами, терпением... не знаю, что у вас там за задачи, но для обработки больших объемов данных лучше использовать sql-сервер ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2010, 16:38 |
|
Можно ли ускорить работу программы
|
|||
---|---|---|---|
#18+
не густо, Integer - число от -32768 до 32767 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2010, 18:01 |
|
Можно ли ускорить работу программы
|
|||
---|---|---|---|
#18+
Ну, как раз массив или коллекция будет эффективнее. Вы же ещё эти данные и обрабатывать будете? А быстрое заполнение... Ну, скажем, выделите сразу необходимое количество памяти (кстати, зачем вам Integer для элементов от 0 до 99? - хватило бы и Byte), и затем юзайте CopyMemory, EqualMemory... 9713372 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2010, 18:03 |
|
Можно ли ускорить работу программы
|
|||
---|---|---|---|
#18+
За подсказку по Byte спасибо, как-то я сам не сообразил. Сегодня проверял на 10 млн. элементов. 10 млн. элементов свободно запихиваются в список, на это уходит более 500 сек. Памяти жрет 500 МB. 100 млн. пока не пробовал, уж слишком много времени на это надо, да и с памятью могут быть проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2010, 02:16 |
|
Можно ли ускорить работу программы
|
|||
---|---|---|---|
#18+
SEOMR...можно в массив, но я думаю, что от этого особо ничего не изменится. Байтовый массив, 100 млн элементов, примерно 10 секунд Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2010, 04:19 |
|
|
start [/forum/topic.php?fid=60&msg=36995553&tid=2159178]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 137ms |
0 / 0 |