понедельник, 29 октября 2012 г.

[work.humour] Предположительное время завершения архивирования внушаить

Решил заархивировать свой рабочий каталог. Смотрю на цифры оценки времени, которые выдает 7-Zip, много думаю...

смотреть нужно на строку Remaining Time, там указываются часы, минуты и секунды

PS. После часа работы оценка упала до 3.5K часов.

8 комментариев:

  1. скорость 2 килобайта в секунду и впрямь заставляет задуматься...

    даже 6 килобайт в секунду, при том, что размер страницы в ФС обычно 4кб, тоже как-то... излишне медленно

    все же можно попробовать создать отдельный раздел на другом физическом диске гигабайт в 100 и скопировать все твои данные туда; тогда они там уж точно будут дефрагментированы

    ОтветитьУдалить
  2. @имя:

    Проблема, как я понимаю, в том, что 7zip упорядочивает файлы по расширениям (а если их нет, то по именам). Т.е. сначала архивируются, к примеру, все .cpp-файлы, затем все .h, затем все .hpp и т.д.

    Вне зависимости от того, в каком каталоге файлы располагаются.

    Из-за этого, если в рабочем каталоге осталось куча all-wcprops файлов в тысяче подкаталогов, то 7zip будет собирать их все, гоняя головку винчестера в разные его области. Отсюда и крайне низкая скорость архивации.

    Как это отключить при беглом знакомстве с опциями 7zip я не понял.

    ОтветитьУдалить
  3. это хороший повод купить ssd на 128 ГБ

    но даже на hdd 1 seek это примерно 10 мс, так что скорость чтения диска должна быть на уровне 400кб/с или выше, а не 4кб/с

    ОтветитьУдалить
  4. впрочем, можно взять обычный zip, который жмет файлы по отдельности и емнип не сортирует по расширению

    ОтветитьУдалить
  5. @имя:

    Проблема еще и в том, что 7zip почему-то создал в текущем каталоге свой временный файл. Поэтому мало того, что постоянно дергал головку диска для чтения данный, так потом еще и возвращал ее для записи временного файла.

    А разве в обычный zip можно засунуть больше 2Gb данных?

    ОтветитьУдалить
  6. безопасно можно считать, что не больше 2 гигов на каждый файл и не больше 2 гигов на *архив* в целом
    (т.е. в разархивированном виде больше 2ГБ)

    а разве у тебя есть репозитории, которые в архиве больше 2ГБ? сабвёршен как-то вообще мимо меня прошел, я не знаю, может там практика -- делать одну репу на все, вместо кучи реп, как в гит/меркуриал? я-то неявно полагал, что у тебя куча реп, и можно зип, скажем, из тотал-коммандера запустить в режиме "по одному зип-архиву на каждую директорию"

    насчет временного файла -- если пустое место на диске жутчайше фрагментировано, то это и правда может снизить скорость в 2 раза, а если нет -- то он кэшироваться должен, так что падение скорости будет незаметно

    ОтветитьУдалить
  7. ммм... про временный файл -- я опять же полагал, что 7зип в свой временный файл пишет то, что в будущем будет архивом; если же он создает этот файл для каких-то иных целей -- например, для сортировки на тот случай, когда ему не хватает оперативки -- то тут и правда могут быть великие тормоза

    ОтветитьУдалить
  8. @имя:

    Оказалось, что 7zip может создавать zip-архивы больше 2Gb. Так же это может делать и WinRar начиная с версии 4.10 (если мне не изменяет склероз).

    Я архивировал не репозитории, а рабочие копии. Захотел сбросить свой home dir со старого ноутбука на внешний винт. И чтобы не разбираться с накопившейся за много лет требухой, просто решил закинуть все в архив.

    Т.к. у меня много рабочих копий, которые делались SVN-ом версий 1.4/1.5 (которые создают множество мелких файлов в рабочем каталоге), то 7zip-у сносило крышу.

    ОтветитьУдалить