У меня есть двоичный файл ~ 400 МБ, который я хочу преобразовать в формат CSV. Выходной файл CSV будет ~ 1 ГБ (по моим расчетам).Расход RAM при открытии файла
Я прочитал двоичный файл и сохранил его в массиве структур (требуется также для другой обработки), и когда пользователь хочет экспортировать его в CSV, я создаю файл (или открываю существующий файл - в зависимости от выбор пользователя), открывая его с помощью fopen
, а затем записывая его, используя fwrite
, по строкам. Coming на мой вопрос, это link из CPlusPlus.com говорит:
Возвращенный поток полностью буферном по умолчанию, если известно, не относятся к интерактивному устройству
Мой запрос, когда Я открою этот файл, будет ли он загружен в ОЗУ? Например, когда в конце мой файл имеет ~ 1 ГБ, будет ли он потреблять столько ОЗУ или он будет только на жестком диске?
Этот код будет работать как в Windows, так и в Android.
@BasileStarynkevitch Я планирую запустить его на Windows и Android (обновлен вопрос) – Swanand
Люди, которые разработали кеш-память вашей операционной системы, знают, что они делают. Если они спроектировали его для использования 1 ГБ ОЗУ, это потому, что это то, что, по их мнению, лучше всего использовать для этой ОЗУ. (Не похоже, что вы можете сохранить ОЗУ на потом, правда?) Так что не беспокойтесь об этом. - Если бы не было ничего общего с этим 1 ГБ, и какая-то программа считывала файл обратно, имея в ОЗУ спасет много ввода-вывода. –