25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
|||||||||||
1 | |||||||||||
Ошибка OutOfMemoryException30.08.2016, 15:47. Показов 1820. Ответов 10
Метки нет (Все метки)
Существует бинарный файл, который я создал сам. Где первые 4 бита это количество элементов в каждом массиве, далее поэлеменнтно записаны 4 массива.
И при считывании:
Вылетает ошибка OutOfMemoryException, не хватка памяти, как избежать подобное? не подскажите?
0
|
30.08.2016, 15:47 | |
Ответы с готовыми решениями:
10
Ошибка System.OutOfMemoryException Ошибка System.OutOfMemoryException Ошибка System.OutOfMemoryException Ошибка System.OutOfMemoryException - как обойти? |
Администратор
|
||||||
30.08.2016, 16:06 | 2 | |||||
timur-chak, попробуй выделить память под массив заранее и один раз путем установки Capacity.
P.S. Я исходил из того что списки изначально пустые. Если это не так, то к Capacity нужно добавить count.
1
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
||||||
30.08.2016, 16:28 [ТС] | 3 | |||||
OwenGlendower, Так, ваш способ помог, спасибо, но возникла новая проблема, все эти данные я хотел выводить на графики с помощью библиотеки zedGraph. Дак вот, ударился об новую ошибку.
Ошибка вылетает при добавлении линии на график (AddCurve)
0
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
|
30.08.2016, 16:40 [ТС] | 5 |
OwenGlendower, да, снова
0
|
30.08.2016, 16:47 | 6 |
Не нужно загружать 800 метровые файлы в память. И тем более пытаться их отображать в графиках.
Прямолинейные методы, которые годятся для малых данных не работают для больших. Поэтому большие данные требуют кардинально других подходов. Как математических, так и программистских. К ним относятся сжатие, индексация, редукция, усреднение, кластеризация и множество других методов. Например, зачем вам выводить сотни миллионов значений на график (на котором рассмотреть такое число данных невозможно в принципе)? Сделайте выжимку данных - например среднее значение на каждые 100 значений и выведите их. Аналогично, загружать все 800 мбайт в память- зачем? Что вы с ними будете делать? Обычно это последствия слишком прямолинейного и бездумного подхода к обработке данных.
2
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
|
30.08.2016, 16:50 [ТС] | 7 |
OwenGlendower, Видимо придется выводить только часть графика, добавлять какой-нибудь элемент управления, скрол бар например, что бы двигать его..ой как не хотелось бы это делать..
Добавлено через 1 минуту Storm23, идея была преобразовывать файл в дальнейшем в другие форматы, например в .mat А вывод на график данных, вы правы можно делать например децимацию, попробую
0
|
Администратор
|
|||||||||||
30.08.2016, 16:53 | 8 | ||||||||||
timur-chak, возможно это из-за вызова ToArray() для списков. Переделай метод Read_bin на массивы:
+1!
1
|
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
|
|
30.08.2016, 17:13 [ТС] | 10 |
OwenGlendower, Storm23, подскажите пожалуйста в случае с List как его удалить из памяти, метод Clear(); Этого не делает
Добавлено через 6 минут OwenGlendower, У массива вместо Count Length, и к сожалению на int не заменить, так как входной параметр только double Добавлено через 1 минуту OwenGlendower, Меняя лист на массив, проблема та же, помогла децимация исходного сигнала. Но все это не правильно, наверное, как говорит Storm23.
0
|
30.08.2016, 17:13 | 11 |
Если кратко - никак. Wecome to .NET world
Можно поиграться с GC.Collect. Но это не решит ваших проблем. Технически этого можно достигнуть, например используя yield и возвращая IEnumerable<double>, вместо double[]. И тогда память вообще не будет расходоваться (если конечно вы снова все не запихнете в массив). И вообще, для экономии памяти всегда, где только можно, нужно уходить от массивов и использовать итераторы.
1
|
30.08.2016, 17:13 | |
30.08.2016, 17:13 | |
Помогаю со студенческими работами здесь
11
Ошибка OutOfMemoryException при создании матрицы Ошибка OutOfMemoryException при передаче больших файлов Ошибка OutOfMemoryException при работе с большими файлами Занимаемая память приложения. System.OutOfMemoryException: "Выдано исключение типа "System.OutOfMemoryException"." Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(шестибитный асихронный счётчик с управляющим сигналом заде
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
wget. . .
|
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin.
Есть ещё регистры,. . .
|
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps
Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
|
Angular vs React vs Vue.js
BasicMan 03.01.2025
О, друзья-разработчики и просто любопытные читатели! Сегодня мы отправимся в увлекательное путешествие по миру фронтенд-разработки, и первой остановкой станет Angular – этакий строгий немецкий. . .
|