![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| nomadminded |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 28.12.2006 Репутация: нет Всего: нет |
доброго времени суток всем! подскажите пожалуйста, как лучше в делфи работать с большой матрицей (500 000 х 20 000 при заполненности менее 2%). решила создать массив записей типа "нр.строки", "нр.колонки", "значение", но даже тогда получается больше 700мб. а хотелось бы оперативности, поэтому собираюсь этот массив засунуть в память. какие процедуры можете посоветовать для быстрого обращения к нему? лучше делать просто динамический массив и функцией setlength ему выделять нужное кол-во памяти или как-то с пойнтерами работать? что удобнее будет?
спасибо. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
ИМХО лучше работать с файлом.
Да файлик будет в 10Гб, зато не память. При необходимости, можно его пожать внутренними средствами виндов. Доступ будет относительно быстрый. Конечно меньше, чем в памяти, но и запросы немалые. 2% от 10Гб это 400Мб. Плюс информация для обслуживания... В памяти держать бесполезно - всё равно свопится. Так что лучше уж сразу в файл. |
|||
|
||||
| nomadminded |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 28.12.2006 Репутация: нет Всего: нет |
дело в том, что мне сначала надо будет матрицу отсортировать по рядам и по колоннам (думаю даже сделать две разных матрицы, которые потом запишу в 2 файла). эти процедуры ведь лучше производить в памяти, с файлом работать будет сложнее, имхо. или я ошибаюсь?
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Нет, сложнее не будет.
Разве что больше времени может занять. Добавлено @ 12:02 TFileStream великая весчь. С ним будет всё просто и удобно. |
|||
|
||||
| nomadminded |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 28.12.2006 Репутация: нет Всего: нет |
ок, спасибо, почитаю про это.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
nomadminded, тут скорее нужно почитать про технику работы с разряженными матрицами. Обычно, в таких случаях, нули вообще не хранят. Такие матрицы часто встречаются в задачах квантовой механики. Советую заглянуть на алголист или еще на парочку подобных сайтов, я там встречал что-то по разряженным матрицам.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |