2016-05-25 2 views
1

У меня есть приложение .net, которое имеет набор (около 100) текстовых файлов, которые открываются - считываются и обрабатываются и сохраняются в виде нового файла каждый раз, когда пользователь запускает процесс , в некоторых случаях один и тот же «шаблонный» файл может использоваться сотни раз в одном процессе. Поэтому они в основном являются шаблонами, которые я использую для создания необходимых файлов для моего приложения. В настоящее время я включил их в папку моего проекта и выбрал «Copy Always» для опции «Copy to Output Folder» в моем решении, поэтому они скопированы, сохранены и доступны на локальном ПК.Преимущества встраивания текстовых файлов по сравнению с чтением с диска

Мой вопрос - Есть ли преимущество для встраивания этих файлов в мое решение? В частности, процесс ввода-вывода выполнялся бы быстрее, если бы файлы были внедрены, а не переходили в каталог и открывали файл и читали файл ...

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

Спасибо

ответ

0

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

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

В другой рутине я открыл тот же файл, который был сохранен на локальном диске, вместо того, чтобы быть встроенным в исполняемый файл, прочитать его и сохранить в виде нового файла на локальном ПК. Также установите цикл на 1000 раз, чтобы вызвать эту процедуру, и потребовалось 2 секунды.

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

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