Bulat_Ziganshin
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Насчёт варианта rep с более усточивым хэшем – c удовольствием постестирую, даже без распаковки | ок, но это боюсь не раньше след. месяца Цитата: С памятью обратите внимание на RAM Speed Test.exe находит самый большой непрерывнй блок в памяти. | ага. выделяет самый большой возможный блок памяти. тебя обрадует если fa даже в режиме -m1 для начала будет выделять блок на 2 гига - просто чтобы порверить сколько памяти доступно? нужен алгоритм проверки доступных блоков памяти, не производящий их реальное выделение. возможно, это дуастся сделать с помощью VirtualAlloc - надо будет проверить Цитата: Может сделаете утилитку для работы с памятью, для обкатки всяких "мыслей" | постараюсь Цитата: вписывались потому что лимит 1536m катит, с +иероглифы уже не катит. | т.е. вероятно проблем не будет у европейнцев, но будут у азиатов Цитата: -lv - ограничивает виртуальную, а тут по-сути ограничение не вируальной памяти вообще, а ограничение на непрерывный блок в ней | в общем, моя модель автоограничения алгоритмов, основанная на идее 75% от физ. памяти, оетит к чёрту при большом объёме ОЗУ, когда проблемы возникают с доступным адресным пространством и размером непрерывного блока. причём еслои при упаковке это ещё можно проверить-подобрать, то как быть при распаковке. представь себе, что ты посылаешь свой архив какому-нибудь японцу? да он же харакири себе сделает! Цитата: Как у lzma размер хэша считается? и вообще как выделение памяти считается? | краткая справка: lzp - blocksize + blocksize + 4*2^hashsize rep - blocksize + 4*2^hashsize (по умолчанию размер хеша - четвертьт от ращмера словаря, округлённого до ближайшей степени двойки, для blocksize=1.5*2^n используется hashsize=0.25*2^n) lzma - dictsize (для хранения исходных данных) + 8*dictsize (для хранения хеш-цепочек, в fast режимах 4*dictsize) + ~2*dictsize (для хранения заголовков хеш-цепочек, размер достаточно произволен и выбирается внутри lzma-алгоритма; для fast-режимов здесь значение побольше, для max - поменьше) ppmd - вся память выделяется одним блоком я здесь описал разбивку по блокам пока что я прихожу к выводу, что в автоматически выбираемых режимах (m8/m9) надо ограничить rep/ppmd так, чтобы при распаковке требовалось не более 1гб памяти - такой объём виртуалки вроде все компы обеспечить в состоянии. далее, надо улучшить алгоритмы детектинга свободной памяти чтобы fa не вылетал от того, что не нашлось свободного блока достаточной длины. сделать утилиту исследования памяти, которая позволит тебе лучше разобраться что там и как кроме того, мне сейчас важно понять - если последнюю 0.50 версию пропатчить editbin, то есть ли ращзница в работе http/no-http и gui/cmdline версий. если тебе нужно выложить отдельно exe-шники - пиши. если ты уже проверил и я пропустил это - ткни плиз. аналогичная просьба к Ghost. вопрос относится к работе под всеми трёмя ОС, так что тут конечно объём тестирования большой |