Итак, обчитавшись журналов «Хакер» и принципов работы упаковщиков файлов я решил провести небольшой эксперимент.

Я долго смотрел на супермаленькое ядро браузера Opera. Особенно это мне нравилось раньше. Мол, меньше места и все такое. Но взяв в руки пакер исполнительных файлов UPX я понял что минимализм ядра — обманчив.

Подопытные: Opera 9.51 билд 10081, Mozilla Firefox 3.0, Ultimate Packer for eXecutables 3.00w.

Скопировав opera.dll в папку с UPX и набрав в консоли upx -d opera.dll я увидел, что файл opera.dll сжат на 45,57 %. В итоге из 3 мегабайт данных он раздулся аж в целых 7,6. А вот распаковка xul.dll — ядра Mozilla мне не дала результатов, поэтому можно предположить, что ядро Mozilla и так не сжато. А по размеру разница между ними составляет порядка 1,5 мегабайт.

В итоге получилось вот что:

UPX: Opera vs. Mozilla

Дальше я решил отследить количество памяти, используемое браузером. До распаковки было так:

Opera перед распаковкой

После — так:

Opera после распаковки

Первый столбец — процесс, второй — пользователь, третий — ЦП, четвертый — время ЦП, пятый — память, шестой — вирт. память. Остальные два — объекты GDI и число записей. Может,  разбежности и не слишком большие, но все-таки они существуют, и не совсем понятно: зачем они паковали файл, ведь это занимает лишнюю память + ресурс процессора (во время распаковки файла в память).

Тем не менее: если сравнить стандартные навоторы Opera и Firefox, то Firefox просто ОГРОМЕН. Он ведь не содержит дополнительно в поставке IRC и email клиенты, полный пакет локализации и еще некоторые  мелкие фичи, доступные в Opera. К тому же в процессе работы занимает больше памяти чем Опера. И это, фактически, за счет ядра. Эксперты из Mozilla поясняют такую раздутость Gecko его коммерческим прошлым и обещают со временем добиться солидной оптимизации программы.

Ну что ж. А нам остается только ждать. Firefox имеет очень большое сообщество, способное прийти на помощь разработчикам. Куда лучше и оптимизированнее работает Safari на движке WebKit. Он проходит все ACID-тесты (третий в найтли-сборках) и, возможно, движок можно признать лучшим решением для всех и для каждого  с его 5-мегебайтовым несжатым (!) размером и быстрым рендером. Но, у WebKit слишком маленькое сообщество, это новый игрок рынка, пришедший к нам из Linux, доведенный до ума Apple. К тому же, нету пока что нормального свободного браузера на его основе для всех, каким является тот же Firefox. Выход последней версии QT 4.4 с поддержкой WebKit и признание движка компанией Nokia/Trolltech, включение этого движка в мобильные телефоны и пратформу Qtopia дает серьезный шанс выбиться ему в лидеры и затмить коммерческих конкурентов. Но это уже другая истроия и как будет дальше — покажет время.

1 звезда -фе2 звезды - бе3 звезды - ч0тк0 так4 звезды - хороший коньяк5 звездочек - отличный, божественный коньяк (Еще не оценили)
Loading ... Loading ...

2 ответов в “Что скрывает за собой маленький размер Opera?”
  1. avatar inst UKRAINE Ubuntu Linux Mozilla 1.9.1.3pre :

    На самом деле от этого сообщества Firefox никакого толку я не вижу. Под моей Ubuntu он как в первой версии появился, так дизайн и не менял (в отличии от Windows-клона), как во второй версии тормозил, так и сейчас продолжает (версия-то уже 3.5!). Да и вообще для текущей версии Ubuntu последней поддерживаемой считается 3.0 ветка, так что 3.5 у меня с изменённым значком и названием (копирастические ограничения) да ещё и на английском (хотя для меня это в общем-то и не страшная проблема).
    Другое дело, что пользоваться-то больше и нечем, так как Opera — KDE, а Firefox — больше для GNOME (родная среда для Ubuntu).

  2. avatar inst UKRAINE Windows XP Mozilla Firefox 4.0.1 :

    Всё-таки это я тормозил, а не браузер. У меня железо очень слабое.

  3.  
Оставить комментарий


Compatible with UTF-8 [Valid RSS]Valid XHTML 1.0 TransitionalValidated by HTML Validator
Copyright © 2008 Onix N.