MVV

|
Posted: Wed May 14, 2014 23:24 Post subject: |
|
|
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… |
|