| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Динамические массивы - как сделать правильней |
| Автор: JSinx 12.9.2012, 10:37 |
| Пишу программку, которая в процессе работы все время добавляет и удаляет данные из массива (массив типа запись). В связи с этим поступило предложение не удалять данные из массива, а сделать флаг - что запись удалена. При добавлении новой записи, в первую очередь замещать такие записи и только затем создавать новые. Как будет оптимальней сделать? |
| Автор: Akella 12.9.2012, 15:58 |
| Или базу |
| Автор: JSinx 14.9.2012, 09:15 | ||
Долгого хранения информации нет. В течении 10 секунд может добавиться и удалиться 20-30 записей. При выходе из программы ничего сохранять не нужно. |
| Автор: Poseidon 16.9.2012, 02:49 |
| Для скорости работы алгоритма лучше первое. Выделять и отпускать память по 20-30 раз в секунду - затратно. Быстрее будет помечать. Для красоты и понимания кода, а так же для простоты его дальнейшей поддержки - второе. |
| Автор: RomanEEP 17.9.2012, 12:07 |
| Делайте списком объектом. Выделения динамической памяти очень быстрое за счет того, что там точно также помечается флагом куски памяти как свободные/занятые. Оптимизировать самому имеет смысл только если кол-во создаваемых объектов составляют не менее 50.000 - 100.000 в секунду. Тормоза могут быть при вставке/удалении элементов из начала большого списка. Тогда, если-кол-во элементов в массиве превышает 1000 имеет смысл использовать одно- или дву-связный список |