Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переполнение памяти (OutOfMemory) С#, Переполнение памяти при работе с массив. 
:(
    Опции темы
Nikosss
Дата 22.3.2014, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 9.1.2007
Где: Литва

Репутация: нет
Всего: нет



Здравствуйте!

Возникла проблема при работе с большими массивами типа double. В каждом из 3 массивов хранится по 18 миллионов значений(матрица 300000х60) типа double. При выводе содержимого в компоненты dataGridView выскакивает exception OutOfMemory. Подскажите, пожалуйста, как решить эту проблему. 

С уважением,
Николай
PM MAIL   Вверх
Экскалупатор
Дата 22.3.2014, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



Я не думаю, что нужны все данные сразу, а значит решение:
не выводить все сразу. надо выводить столько, сколько нужно для работы. все остальное пусть остается где то отдельно. Если возникнет необходимость то подгрузить новую пачку данных, освободив место путем удаления уже не нужных данных.

всякие сортировки проводить не в гриде(думаю, что это одна из причин, по которой данные грузятся все и сразу), а при выборке, и выбирать столько сколько нужно для отображения
PM MAIL ICQ   Вверх
jonie
Дата 22.3.2014, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



Экскалупатор намекает на работу в виртуальном режиме таблицы, что, конечно, должно поддерживаться хранилищем.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Экскалупатор
Дата 23.3.2014, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



Цитата(jonie @  22.3.2014,  20:17 Найти цитируемый пост)
Экскалупатор намекает на работу в виртуальном режиме таблицы, что, конечно, должно поддерживаться хранилищем. 

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

зы
вообще, 18кк double ~ 140mb, вроде как не очень страшное количество, если с ним правильно работать конечно. вполне может оказаться, что просто в коде есть косяк, связанный с неправильной работой с массивами или что то около того, но я в любом случае не думаю что надо все эти данные загружать...

Это сообщение отредактировал(а) Экскалупатор - 23.3.2014, 02:20
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0850 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.