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

Что может быть причиной этого?

2 ответа2

7

Простой ≠ Быстрый

Простой простой редактор, такой как «Блокнот», может быть настолько простым, что он не способен справляться со сложными ситуациями, потому что он используется только для простых случаев использования.

Умный редактор определит множество факторов, чтобы решить, какую стратегию лучше всего использовать. Например, вместо того, чтобы читать файл построчно или побайтно, как глупый редактор, он будет загружен в большой буфер для быстрого чтения позже. Или это может отобразить файл в память. Но насколько большим должен быть буфер или область карты? Это зависит от каждого конкретного случая, и редактор должен также учитывать это. Вместо загрузки целого файла объемом несколько ГБ в память и его зависания, потому что он просто не помещается, умный редактор просто проверяет размер файла и загружает только текущую просматриваемую часть, а затем выполняет поиск позже, когда это необходимо.

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

См. Почему Vim может открывать большие файлы быстрее, чем некоторые другие текстовые редакторы?

Обновить

В сборку Windows 10 17713 внесено множество изменений в Блокнот, одно из которых улучшает поведение Блокнота при работе с большими файлами.

  • Мы улучшили производительность при открытии больших файлов в Блокноте.
  • Блокнот теперь поддерживает Ctrl+Backspace для удаления предыдущего слова.
  • Клавиши со стрелками теперь правильно отменяют выбор текста, а затем перемещают курсор.
  • При сохранении файла в блокноте номер строки и столбца больше не сбрасывается в 1.
  • Блокнот теперь правильно отображает строки, которые не помещаются полностью на экране.

Теперь есть также поддержка окончания строки Unix, возможность масштабирования текста и строка состояния в режиме переноса слов.

Анонс Windows 10 Insider Preview Build 17713

Также подтверждается, что Блокнот использует отображенный в памяти файл, но это начальная часть. Сложно разобрать строку и выполнить перенос строки. Даже Notepad++ отстой при открытии супер огромных файлов

2

Блокнот - это не что иное, как оболочка вокруг элемента управления Windows Edit. Он был разработан для редактирования небольших объемов текста и был оптимизирован для этого. Ранние версии должны были работать в системах с очень ограниченными ресурсами, где эти оптимизации были важны. Для Windows 95 требовалось всего 4 МБ ОЗУ, а по техническим причинам элемент управления «Редактировать» был ограничен 64 КБ текста. Платформа NT не была так ограничена, но она также должна была работать с ограниченными ресурсами.

Разработка редактора для небольших файлов относительно проста. Проектирование, которое эффективно работает с большими файлами, совсем не просто и требует много сложного кода. Маленькие и простые редакторы плохо работают с большими файлами. Все такие редакторы, а не только блокнот, будут подавлять файлы размером в несколько гигабайт, даже на мощном компьютере. Некоторые продвинутые редакторы могут легко справиться с этим.

Блокнот все еще хорошо работает по своему прямому назначению и за последние годы претерпел мало изменений. Элемент управления Windows Edit используется в той или иной форме в большинстве приложений Windows, поэтому вероятность несовместимости велика, если были внесены значительные изменения. Зачем рисковать внесением ненужных изменений? Опыт показывает, что самые тривиальные изменения могут привести к несовместимости приложений.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .