Супер-модератор
8774 / 2524 / 143
Регистрация: 07.03.2007
Сообщений: 11,872
1

Работа с большими массивами

24.06.2011, 14:06. Показов 2440. Ответов 10
Метки нет (Все метки)

Есть задача: получение санитарной зоны вокруг антенн, связи с особенностью решения задачи иного пути (по крайней мере пока) я не знаю, кроме как получения огромного массива замеров для дальнейшего анализа... но массив этот занимает 140 метров в памяти - 360 х 500(тут вообще в принципе нет ограничений) х 100 (а вообще 2 * высоту геометрического центра антенны)...

может кто знает, как лучше хранить и обрабатывать такие массивы, потому что прога будет делать по функционалу пчти ничего, но при этом весить бесконечно много, да и по скорости шуршать тоже будет сутками... а если учесть на какие машины ее будут ставить, там простейший расчет будет делаться неделями... есть ли какие-то типовые решения по работе с таким объемом данных?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2011, 14:06
Ответы с готовыми решениями:

Работа с большими массивами
Бодрого дня. Есть ли какие секреты работы с большими массивами? Есть файл с 1.500.000 строк 1)...

Работа с большими массивами данных в текстовом файле
Доброго времени суток. Уважаемые формучане на работе вознила следующая задача которую надо решить в...

Проблема с большими массивами
Добрый день. Есть проблема с большими массивами, помогите пожалуйста. Камень stm32f051k8t6 8кб...

Ошибки с большими массивами
Нужно заполнить массив ссылками на пиксели. Если между try и except отнять 2 вместо 1 массив...

10
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
24.06.2011, 14:53 2
СУБД не рассматриваются?
Я как то делал расчет поверхности, состоящей из нескольких млн. треугольников через СУБД. Не скажу что быстро было, но позволяло работать на довольно слабых машинах.
0
Супер-модератор
8774 / 2524 / 143
Регистрация: 07.03.2007
Сообщений: 11,872
24.06.2011, 15:01  [ТС] 3
oxotnik, ну вообще буду прикручивать sqlite... по всей видимости данные надо будет сгружать либо туда, либо в файл... в памяти эту беду держать себе дороже... а как на счет библиотек с++ хранению и обработке больших массивов? нет ничего полезного на примете? еще думаю урезать размер массивами переходом с double на int... как-никак память урежется в два раза по идее (с 8 байт на 4)...
0
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
24.06.2011, 15:04 4
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
ну вообще буду прикручивать sqlite...
если чисто для хранения то можно, а для обработки лучше в сторону постгри посмотреть (к стати это и есть рекомендация по работе с большим объемом данных)

Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
а как на счет библиотек с++? нет ничего полезного на примете?
ну как бы stl для работы с большим количеством данных неплохо работает, другой вопрос, что конкретно надо с этими данными делать?
0
Супер-модератор
8774 / 2524 / 143
Регистрация: 07.03.2007
Сообщений: 11,872
24.06.2011, 15:11  [ТС] 5
oxotnik, да я понимаю, что sqlite слабоват, но нужна база без установки и дополнительного ПО... поэтому буду хранить там... а с массивом будут проводиться следующие операции - расчет данных и заполнение, ну а потом уже анализ... думаю, что sql в этом деле подсобит, прикручу еще и индексы для ускорения поиска... просто запуск программы с инициализацией массива (тестовый вариант, так сказать) выливается в 160 метров в памяти... а это еще никаких телодвижений не было...
0
Эксперт С++
1067 / 846 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
25.06.2011, 04:52 6
У меня прога вполне нормально работает практически с массивами 2 гига.
Одна только матрица занимает 25000*25000 байт.
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
25.06.2011, 05:12 7
160 метров не сказать чтоб много
мне кажется здесь должно хватить обычных методов ОС работы с виртуальной памятью
- в винде VirtualAlloc etc
- в *nix nmap etc
0
Эксперт С++
1067 / 846 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
25.06.2011, 08:38 8
Цитата Сообщение от alex_x_x Посмотреть сообщение
160 метров не сказать чтоб много
мне кажется здесь должно хватить обычных методов ОС работы с виртуальной памятью
- в винде VirtualAlloc etc
- в *nix nmap etc
Пардон, конечно, но 625 метров. И это ТОЛЬКО ОДНА МАТРИЦА. Остальную память занимает еще вектор целых.
Использую только стандартный С++, ибо должно работать в обеих ОС: винда и линух.
0
Супер-модератор
8774 / 2524 / 143
Регистрация: 07.03.2007
Сообщений: 11,872
25.06.2011, 10:14  [ТС] 9
alex_x_x, проблема заключается в том, что предполагается ставить прогу на таких мамонтов, что еще и 98 винду отлично помнят...

в общем, матрицу я кое-как да урежу по объему, ну и БД в помощь себе прикручу... остается только вычисления оптимизировать и будет дело)))... мерси за советы...
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
26.06.2011, 00:15 10
Lord_Voodoo, в чем именно у них проблема? памяти не хватит - виртуальная память подразумевает использование свопа. а бд по мне - суровый overhead
0
Супер-модератор
8774 / 2524 / 143
Регистрация: 07.03.2007
Сообщений: 11,872
26.06.2011, 09:36  [ТС] 11
alex_x_x, база там все равно нужно по ТЗ, чтобы помнить проекты и диаграммы направленности, так почему бы не прикрутить туда и хранение расчетов))) хотя задачу я вывернул наизнанку))) я область поиска сокращать не буду, но буду помнить только значения, удовлетворяющие условию.... это массив сократит в разы))))

Не по теме:

P.S. не ведитесь бездумно на пожелания постановщиков задачи... иногда они хотят ну очень жутких вещей... я вот в очередной раз встретил грабли)))

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.06.2011, 09:36
Помогаю со студенческими работами здесь

Операции с большими массивами данных
Доброе время суток! Мне нужно оперировать большими объемами данных - массивы до 4 Гб....

Советы по оптимизации роботы с большими массивами.
Интересуют методы оптимизации работы с большими массивами Обрабатываются большие (несколько...

Как правильно работать с большими массивами?
Здоровый у меня массив. 30000 строк. И постоянно обновляется. Я его постоянно очищаю If...

Как оптимизировать работу с большими массивами изображений
Добрый вечер. Хотел бы получить небольшую консультацию. В процессе работы приложения, необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru