ХЕЛП !!!
10000x10000 или больше...
Как в Microsoft Visual C++ создать большой масив float или double?
10000x10000 или больше...
:D :D
Не советую... Это же какой стек огромный нужно иметь что-бы такой массив туда забабахать :)
Идем в свойства проекта, закладка linker->system и выставляем Stack reserved size ну скажем миллиард (должно хватить :) )....
Но выделятся я думаю будет не быстро :)
Лучше динамически выделять...
Как в Microsoft Visual C++ создать большой масив float или double?
10000x10000 или больше...
При таких объемах лучше с файлом или БД работать.
:D :D
Не советую... Это же какой стек огромный нужно иметь что-бы такой массив туда забабахать :)
Проецируемые в память файлы - вот ключ к большим объёмам данных. Просто выдели его в страничном файле (т. е. в файле подкачки)
массив растёт пока не кончится оператива и файл подкачки))
прикольно, но мне пока не понадобилось..
организуешь очередь из нужных элементов и вперёд)
Как в Microsoft Visual C++ создать большой масив float или double?
10000x10000 или больше...
100 миллионов - для каких задач тебе это нужно? Скорее всего это надуманная задача.
100 миллионов - для каких задач тебе это нужно? Скорее всего это надуманная задача.
Надуманная это задача или нет, это не вопрос, вопрос в том как её реализовать! И если человек с ней столкнулся надо как то предложить ему решение, а не спрашивать зачем ему это нужно
Надуманная это задача или нет, это не вопрос, вопрос в том как её реализовать! И если человек с ней столкнулся надо как то предложить ему решение, а не спрашивать зачем ему это нужно
Тогда ответ простой - не делай это ни динамически, ни тем более статически. Иди от задачи. Если нужно по выборке в массиве делать подсчет, то делай буферизацию с того носителя, где эти данные хранятся (или если данные хранятся в БД, то простейший подсчет можно сделать запросом).
Тогда ответ простой - не делай это ни динамически, ни тем более статически. Иди от задачи. Если нужно по выборке в массиве делать подсчет, то делай буферизацию с того носителя, где эти данные хранятся (или если данные хранятся в БД, то простейший подсчет можно сделать запросом).
5 баллов
5 баллов
У меня есть компонент для быстрого чтения больших массивов данных (читалось до 1 000 000 вещ. чисел) без буферизации на уровне вещ. массива (была буферизация при чтении/записи). Т.е. данные просто быстро читались/записывались в/из одномерного масссива double.
Могу поделиться.
Согласен, делать буферизацию на уровне вещ.массива сложно, здесь нужно исходить из самой задачи.
Согласен, делать буферизацию на уровне вещ.массива сложно, здесь нужно исходить из самой задачи.
Повторяю ещё раз: используем проецируемые в память файлы и вопрос с буферизацией отпадает сам по себе. Всё быстро, оптимально и красиво, распределением памяти управляет сама операционка
Необходимо знать все ли элементы массива должны быть доступны изначально и содержать какое то определенное значение или все же нет. Или же данный массив заполняется по мере необходимости,что первично для данного массива чтение или запись и т.д.
Повторяю ещё раз: используем проецируемые в память файлы и вопрос с буферизацией отпадает сам по себе. Всё быстро, оптимально и красиво, распределением памяти управляет сама операционка
Проецируемые файлы не решают проблему полностью. Фактически в этом случае буферизацией управляет сама ОС с помощью своих механизмов. А это не всегда оптимально.
сложно определить конец файла в этом случае, а каждый раз проверять, достигли ли мы конец файла - потеря производительности при чтении больших массивов данных из файла.