Разъясняю:
Собрала операционка все браузеры и строго говорит: Предупреждаю! Любого, кто будет чрезмерно жрать память, сразу буду бить по наглой рыжей морде!
Проект MemShrink, в рамках которого развернулась борьба за снижение потребления памяти в Firefox, уже позволил добиться неплохих результатов. При проведении стресс-тестирования свежей ночной сборки Firefox и Chrome были получены интересные результаты.
На автоматизированное открытие скриптом 150 вкладок с типовыми сайтами Firefox затратил 6 мин 14 сек и 2 Гб ОЗУ, сохраняя возможность реагирования на действия пользователя. На выполнение аналогичного теста Google Chromе затратил 27 мин 58 сек и 5 Гб ОЗУ (показатель RSS из about:memory), при этом в процессе тестирования браузер не отвечал на действия пользователя на 100% загружая CPU (проблемы и задержки начались после открытия 70 вкладок).
У меня на ноутбуке ровно гиг оперативки — после запуска лиса виснет после открытия первой вкладки минуты на четыре, при этом бешено шуршит винтом, причем даже мышь дергается.
То есть, запускаем лису — все нормально. Открываем любой сайт, страница отрендерилась, а потом — жди почти пять минут. После этого отвисает и можно работать как обычно — на последующих вкладках такого не наблюдается.
Такая хрень наблюдается как на винде, так и на линуксе (gentoo) — начиная с версии 3.5.
Кстати, загрузка процессора при этом на нуле — просто бешено трещит винт. Из плагинов стоит только фаербаг.
У меня и 7 и 8 стоят. Жрут дай боже. После 3-4 часов работы даже с закрытыми вкладками остается 500-800 метров отжора. Пробовал искать утечку в аддонах — не нашел.
На альфе-бете FF4 были проблемы с XHR при включенном фаербаге, причем это было крайне непрозрачно. Кто гарантирует что в следующем билде FF7 не возникнет подобной проблемы?
Я такого не замечал с тем же гигом под Убунтой. Правда файербаг у меня на отдельном профиле, который запускается только совместно с тяжелыми ИДЕ и потому понятно, что тормозит даже с одной вкладкой.
> На автоматизированное открытие скриптом 150 вкладок с типовыми сайтами Firefox затратил 6 мин 14 сек и 2 Гб ОЗУ, сохраняя возможность реагирования на действия пользователя.
Пффф. Я когда-то в Опере на 512 Мб компьютере открывал 100 вкладок (лень закрывать было) и это как-то работало, параллельно с другими программами. Ну и насчет времени открытия — Опера с 50 вкладками перезапускается максимум за полминуты. Ну и памяти столько не ест.
Правда, в этой Опере на части сайтов отключен яваскрипт и флеш, и местами заблокирована реклама, но они там действительно не требуются.
Вообще, единственные сайты, которые вызывают высокое потребление памяти в Опере — сайты с флеш-проигрывателями видео, и я подозреваю, что причина именно во флеше.
Это я к тому, что у норвежских разработчиков все же гораздо более бережливое отношение к ресурсам, и, видимо, более производительный код (так как фаерфокс страдает от тяжеловестности XUL/Javascript, а у Chrome большие накладные расходы на многочисленные IPC). А другие (ненорвежские) разработчики пишут код левой пяткой и ресурсы ПК не считают, так что вместо «оптимизаций» стоило бы просто 10 лет назад взять за основу нормальный движок.
Как потребление памяти Хромом а фаерфоксом влияет а производительность? Разве это важно? Да. это очень важно, так как процессы, занимающие большое число памяти, имеют более высокие шансы на вытеснение части кода в своп и в этом случае замедление работы будет такое, что никакими оптимизациями не исправишь. Поэтому, мне кажется, все это новомодные веяния вроде выравнивания членов структур, многоэтажного наследования, сборщиков мусора, анролла циклов и инлайновых функций только ухудшают работу программы: они якобы увеличивают (на жалкие наносекунды) скорость выполнения кода, но наносят гораздо больший ущерб от непопадания разросшейся программы в кеш процессора, увеличения объема исполняемого файла, повышения вероятности выпадания кода в своп, и так далее.
А еще кстати, если в отключить ненужные плагины и фаербаг, он ведет себя намного лучше.
И что вы хотели этим сказать? Мы здесь вроде бы сравниваем разные ветки FF, не трогая другие барузеры. Про Opera я, как веб-разработчик со стажем, могу вам много нелицеприятного рассказать.
Да ну, что такое эффекты от анролла и инлайна по сравнению с использованием высокоуровневых абстракций, когда начинают парсить xml на лету чтобы нарисовать кнопку, да ещё и могут этот xml с диска читать. Естественно, это медленнее в рантайме, но зато удобнее в разработке и поддержке.
Этот товарищ, Nicholas Nethercote писал у себя в блоге, что в файрфокс версий 3.0-3.6 вёл себя по этому поводу гораздо лучше, чем вторая версия. А в четвёртой из-за большого количества новых фич — регрессия.
ну как… как можно говорить о восьмой версии, если еще не вышла шестая???.. опять не понимаю зачем гнаться за цифирками, поработайте над 5ой получше, и выпустите «цивилизованную» 6ую
в 11 версии будет поддержка облака памяти (и как они раньше это модное слово не в пихнули в браузер). Пользователи с 3 по 9 версии рыжей морды будут отдавать вам часть оперативки.
Комп на работе не выключаю\перезагружаю месяцами, когда вышел firefox5 то на след день в первое же утро я прийдя на работу увидел, что файфокс не дождался моего прихода и повесился. — Афигенное обновление, подумал я.
и вот с тех пор, я вижу наиболее частое вылетание 5го файрфокса связанное с аптаймом, прошлая версия была стабильнее :(
а недавно когда ФФ окончательно повис, я завершил процесс, нажал Start — All Programs — Mozilla forefox то запустился старый добрый 3.6.16 и он не падал неделю и работал быстрее, тут я подумал вот чудо! ФФ5 сделал себе харакири :)
Чёт они часто пишут что снизился расход памяти, только я вот вижу обратное, когда ФФ ел 200-500 метров, щас гигабайт смело может откусить и не поперхнуться.
Сейчас в FF8 открыто в 2х окнах в сумме 14 вкладок, 378 метров памяти съел. Вроде вполне вменяемо, если учесть загруженные модули.
И кстати, раньше, мы не держали 2-3 вкладки с прогруженными видео 1024p, а теперь начали и удивляемся — «А куда это память делась?». Но это так, пример, ведь сейчас в сети стало анмного больше прожорливых страниц чем было когда-то, когда браузеры кушали мало)
>Сейчас в FF8 открыто в 2х окнах в сумме 14 вкладок, 378 метров памяти съел. Вроде вполне вменяемо, если учесть загруженные модули.
Запущено два FF 3.6 с разными профилями. 1й на 25 табов кушает 260мб, второй на 6 — 72мб. Хотя, справедливости ради, табы довольно легкие, никаким видео там и не пахнет.
А по сколько вкладок вы теперь открываете?
У меня, например, когда начинаю изучать какой-нибудь вопрос, меньше 20-30 вкладок открывать редко когда получается. И редко получается за один присест освоить информацию из этих вкладок. А, значит, в следующий раз мне эти вкладки снова будут нужны.
Мне тоже часто приходится открывать кучу вкладок в процессе изучения чего-либо. Пользуюсь функцией «Добавить все вкладки в закладки» — можно на любом этапе безопасно их закрыть (предварительно сохранив в папочке ), а потом вернуться к сохраненному состоянию.
Вот вернуться может и не получиться — где-то будет 404, где-то злой модератор удалил, где-то просто контент сменили… Если б файрфокс умел удобно сохранять пачку вкладок и восстанавливать как было (фактически — сериализовывать и десериализовывать DOM + состояние JS) — тогда да.
И, кстати, для любой страницы, где не используется long polling/cetInterval и подобное, можно содержимое выкидывать из памяти, когда она оказывается в бэкграунде (а для испоьлзующих — можно было бы сделать принудительную выгрузку, если пользователь разрешил). Вот тогда потребление памяти радикально уменьшилось бы.
Чтобы это нормально сделать, надо лезть всерьёз в потроха:
1) чтобы выдернуть достаточную ифнормацию о запущенном в данной вкладек JS
2) чтобы сделать шуструю сериализацию DOM. Мозиллу я не смотрел пока, а вот у вебкита это просто не пишется.
В общем, не уверен, что это вообще решается расширением.
Скрапбук — хороший костыль, но он может далеко не всё, что я описал:
1) он медленный. Для ситуации «переключился на другую вкладку — неактивная ушла на диск» он не годится
2) при сохранении страницы он лезет к серверу, чего, собственно, я и хочу избежать
3) он не остаётся в табах. Не знаю, кто как, а я до закладок добираюсь очень редко — а вот то, что в табах осталось, прочитывается почти всегда.
Проблема еще в том, что я пользуюсь дополнением Tab Kit, которое поддерживает дерево вложенности открытых вкладок, да еще и по-разному раскрашенное для разных ветвей. Это очень удобно в работе. Закладки уничтожат всё это.
У меня W7 x64, после выхода FF5 мне пришлось отказаться от него так как он превращал мой ноутбук в гриль и не отставлял памяти другим программам. Сейчас стоит FF8 память в районе 350-400, загрузка ЦП в норме, так что верю…
Я как-то пытался перейти с FF на Chrome, не выдержал и недели. Если FF ест много, то Chrome ест просто немеряно. Наверное это общая болезнь всех браузеров. Правда не знаю, как с этим у оперы. Вообще, лиса ест не так уж много (при её-то функциональности и расширяемости) в сравнении с тем же хромом. Я стараюсь закрывать вкладки по возможности, держу где-то 5-10, при этом процесс firefox потребляет всего 232 мб на 64-битной убунте. Если нужно больше вкладок, более старые просто сохраняю в закладки и спокойно закрываю. Ещё помогает отключение ненужных расширений (какие-то можно вынести в отдельный профиль).
вот по поводу хрома полностью согласен. где-то во времена firefox 3.5-3.6 перешёл на хром и где-то с год на нём просидел. но чем новее становились версии, тем больше оперативки он жрёт. И вот уже три недели как я вернулся на firefox (8a1) — и счастлив :)
сейчас сижу на 8-м Firefox и скажу что он жрет намного меньше чем Chromium.
Для меня стало ощутимо это после перехода на Ubuntu(в винде не заметно было существенной разницы)
Даже при равном кол-ве установленных плагинов и большем кол-ве открытых вкладок в Firefox — он жрет значительно меньше.
Да не будет он использовать никогда на 20-50% меньше, просто плашку памяти себе еще вставим на 4гигабайта и не заметим тормозов. Маркетинговый ход однозначно!
— Поставил на машину свечи, экономят 30% бензина. Поставил систему впрыска, экономит 50%, поставил турбину, экономит ещё 30%
— И что?
— Как что, бензин из бака полился///
Ладно память, но вот когда браузер (— программа для просмотра текстов!) тормозит; при при переключении между вкладками, либо при прокрутке, вот это уже действительно наглость.
Интересно, когда они сделают так, чтобы http-запрос авторизации на одной вкладке не блокировал работу всего браузера — как в опрее, например. В ней вместо алерта поверх всех вкладок отображается акуратные поля ввода на конкретной запароленой вкладке
Firefox 7 будет использовать на 20-50% меньше памяти