Назад | Перейти на главную страницу

Как рассчитать объем памяти, используемой для обработки массива

У меня есть массив из 6 миллионов записей базы данных. Каждая запись состоит из 100 столбцов. Есть ли формула для расчета объема памяти, используемой сервером? Будет ли это экспоненциально?

Обработка включает запись содержимого этих записей в файлы XML. Это не будет 6 миллионов файлов, но это будет значительное количество.

Мне нужно знать, какую оперативную память выделить для этого процесса, прежде чем я его начну.

Если формулы нет, что мне делать? Любая информация будет полезна.

На самом деле мы никак не могли ответить на это.

Можно написать программу, которая извлекает из БД по 1 байту и записывает его в файл XML; так что 640К должно хватить.

С другой стороны, программа может загрузить все 600 миллионов полей в память, а затем выделить все пространство, необходимое для записи каждого отдельного файла XML; если бы все поля были типичными целыми числами, вам понадобилось бы что-то порядка 6 ГБ (600 МБ * 4 байта * ~ 2,5 = 6 ГБ); если они все изображения jpeg 10 МБ, больше как 15 ПБ (600 МБ * 10 МБ * ~ 2,5 = 15 ПБ).