Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Total Commander 7.55 public beta 1 
Author Message
CaptainFlint



PostPosted: Tue Mar 30, 2010 14:47    Post subject: Reply with quote

Dmitry Tarasov wrote:
С чем всё же оно связано, с используемой версией Delphi?

Нет, с особенностью работы Lister'а с файлами. Для ускорения работы Lister читает не весь файл, а только небольшой блок — размером, как процитировал Avada, 128 килобайт, что даёт возможность с одинаковой скоростью открывать как десятибайтные, так и десятигигабайтные файлы. Но если файл бинарный, и в нём очень долго не встречается символ перевода строки, то все эти 128 килобайт (и даже больше) запросто могут оказаться одной сверхдлинной строкой. Если где-то не остановиться, то придётся считывать, возможно, весь файл целиком, и всё ускорение работы сойдёт на нет (не говоря уж о потреблении памяти). Кроме того, если весь считанный блок оказался одной длинной строкой, то пустое место под ней в окне просмотра тоже надо чем-то заполнить, иначе будет выглядеть, как будто достигли конца файла. Вот Гислер и решил принудительно разрывать строки по достижении определённого количества символов. Это сразу решает и проблему поблочного считывания, и проблему заполнения пустого места. Неудобства, конечно, тоже есть, но это проблема всех компромиссов. Лучшего решения пока, насколько я знаю, не придумано.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
View user's profile Send private message Visit poster's website


Powered by phpBB © 2001, 2005 phpBB Group