LINUX.ORG.RU

История изменений

Исправление byko3y, (текущая версия) :

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

Первый вопрос, который возникает у программы при открытии большого текстового файла с целью отображения — какую строчку занимает какой символ. Если строки не проиндексированы, то индексацию придется делать по мере чтения файла. Очевидно, пользователь не сможет перейти на непроиндексированную часть файла. Тогда по мере загрузки нужно либо расширять индикатор положения, либо угадывать, либо не показывать его вообще. Если у пользователя есть лишнее ядро, на которое можно выкинуть индексацию — это хорошо. Если лишнего ядра нет, то возникает проблема с тормозами, которые сводят на нет весь смысл параллельного чтения в условиях достаточно высокой производительности самого ввода-вывода. В условиях же недостаточной производительности ввода-вывода и малого кол-ва кэша в системе возникает проблема с тем. что сама индексация производится медленно, поскольку для нее нужно прочитать полностью весь файл, даже если отображается только одна строчка.

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

Логи в том числе, бывает просто большие текстовые файлы которые не являются логами

И что же это может быть текстовым файлом хотя бы на десять мегабайт? Даже вся на свете документация по ядру линя в текстовом виде будет меньше десяти мегабайт.

Исходная версия byko3y, :

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

Первый вопрос, который возникает у программы при открытии большого текстового файла с целью отображения — какую строчку занимает какой символ. Если строки не проиндексированы, то индексацию придется делать по мере чтения файла. Очевидно, пользователь не сможет перейти на непроиндексированную часть файла. Тогда по мере загрузки нужно либо расширять индикатор положения, либо угадывать, либо не показывать его вообще. Если у пользователя есть лишнее ядро, на которое можно выкинуть индексацию — это хорошо. Если лишнего ядра нет, то возникает проблема с тормозами, которые сводят на нет весь смысл параллельного чтения в условиях достаточно высокой производительности самого ввода-вывода. В условиях же недостаточной производительности ввода-вывода и малого кол-ва кэша в системе возникает проблема с тем. что сама индексация производится медленно, поскольку для нее нужно прочитать полностью весь файл, даже если отображается только одна строчка.

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