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: Ограничения (баги?) при открытии и навигации в архивах 
Author Message
MVV



PostPosted: Wed May 14, 2014 23:24    Post subject: Reply with quote

CaptainFlint wrote:
Немножко лучше обстоит дело, если 32-битный процесс имеет флаг LARGE_ADDRESS_AWARE: тогда 64-битная система может дать ему доступ ко всему 4-гигабайтному адресному пространству, не отбирая оттуда 2 Гб под свои нужды. Но у Тотала этот флаг не установлен (Гислер говорит, соответствующей опции нет в линкере Delphi).

Насколько я знаю, бит LARGE_ADDRESS_AWARE - лишь указание системе, что приложение понимает беззнаковые указатели, и может помочь лишь в случае, когда в системе сдвинута граница юзер-ядро с исходной 2-2 на, скажем, 3-1. Системные библиотеки всё равно будут загружаться по своим же адресам, и фрагментация памяти никуда не денется.

Quote:
Тотал жёстко связан RAR-подобным плагиновым интерфейсом. Я не знаю ни структуры 7z-архивов, ни кода 7-Zip, но очень может быть, что для навигации там используются дополнительные возможности, не укладывающиеся в рамки WCX API. Впрочем, не исключено, что Гислер просто не исследовал этот сценарий, и там ещё есть резервы по оптимизации.

У 7Z структура гораздо более продвинутая, чем у RAR (позор Рошалу, что в RAR5 в этом плане ничего принципиально не изменилось): там информация о файлах хранится в виде таблицы в одном месте архива, и заодно сжимается с помощью того же LZMA, не надо бродить по архиву, чтобы прочитать его (когда не было 7Z, одной из причин, по которым я полюбил CAB, было гораздо более быстрое чтение оглавления, т.к. оно там централизованное, да и степень сжатия зачастую не уступала RAR). Интерфейс 7-Zip спокойно обрабатывает архивы, в которых файлы имеют одинаковые имена (инсталлеры, например), в то время как тотальный WCX API такого не позволяет - возможно, обращение по индексам и хранение структуры в виде деревьев повысило бы скорость доступа к файлам. Не говоря уже о том, что не нужен был бы непрерывный блок для хранения оглавления архива.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group