Можно ли перезаписывать файл при каждом обновлении? - PullRequest
0 голосов
/ 24 февраля 2019

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

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

Я хотел бы знать, когда мне следует начать беспокоиться о способе обновления моих файлов.Какие критерии я должен использовать, чтобы выбрать между обновлением перезаписи всего файла и более сложной и эффективной техникой?

1 Ответ

0 голосов
/ 24 февраля 2019

Основным критерием при выборе метода сохранения файлов является стоимость, связанная с ним.

Ваши изменения сделаны локально или должны быть переданы по сети?Для локальных настроек время, необходимое для сохранения файла на диск, является основной стоимостью и основным критерием для сравнения.

Для удаленных изменений следует также учитывать время, необходимое для передачи, и потребление полосы пропускания (Можно использовать дельта-изменения, но они идут с вычислительными затратами как для отправителя, так и для получателя, а в некоторых случаях могут быть больше, чем исходный файл)

Волшебный рецепт для этой проблемы не существует.Наилучший подход - сравнить различные решения с реалистичными сценариями тестирования.

Еще одна вещь: у вас есть контроль над редактируемым файлом?Если они используются для хранения внутренней модели приложения и часто меняются, лучшим подходом будет изменение модели данных (использование базы данных / разделение ответственности между несколькими файлами).

...