LINUX.ORG.RU

Улучшение производительности Firefox

 , ,


0

3

Mozilla Firefox 45.3.0 используется в gentoo.

Включены следующие флаги:

+dbus
+gmp-autoupdate
+gstreamer
+hwaccel
+jemalloc3
+jit
+startup-notification

Единственное дополнение — это vimperator, собранный из актуального состояния репозитория, с минимальными настройками.

~/.cache/mozilla смонтирована в tmpfs, конфиг пока не смонтирован туда, по причине наличия vimperator.

В результате всё это весьма сильно тормозит, а ведь i7-4790K CPU @ 4.00GHz. На других машинах с i5 хасвелл тоже как-то так же.

Тормоза ощущаются относительно актуального chromium с vimium или cvim, без разницы. На всех машинах chromium рзапускается и работает быстрее, смонтирован он в tmpfs или нет.

Вопросы:

1. Какие есть генту-специфичные способы улучшить производительность firefox? Помогли ли вам какие-то оптимизации, связанные с:

-custom-flags
-custom-optimization
? Если да, то что именно делалось?

2. Существуют ли какие-то способы увеличить скорость работы vimperator?

Deleted

Нужно переписать Firefox и Vimperator.

anonymous ()
Ответ на: комментарий от sudopacman

Есть подозрение что такой софт тормозит не от непосредственной скорости выполнения кода С++, а от потенциального висения на блокировках, со всеми последствиями для потоков, процессора и его кешей

vertexua ★★★☆☆ ()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от anonymous

Прям ускорит джаваскрипт?

А что, узкое место Firefox — это движок Javascript?

i-rinat ★★★★★ ()
Ответ на: комментарий от vertexua

Тестирование показывает в среднем 20% прирост производительности Firefox из pg_overlay, собранного с PGO, относительно Firefox из основного репозитория, собранного без PGO.

sudopacman ★★★★★ ()
Ответ на: комментарий от i-rinat

Скорее сами скрипты. Или на чём там пишут тормозящие аддоны?

anonymous ()
Ответ на: комментарий от anonymous

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

entefeed ☆☆☆ ()
Ответ на: комментарий от sudopacman

А чтобы сравниться с Chromium нужно процентов ...300? 800?

anonymous ()
Ответ на: комментарий от i-rinat

Намекаешь что на нём все места узкие? ))

anonymous ()
Ответ на: комментарий от sudopacman

Какой дистрибутив? Какие настройки, что так быстро работает...

Deleted ()
Ответ на: комментарий от vertexua

Точно от PGO, а не от отключение горы флажков

Нет.

Но вообще, оптимизации компилятора должны сыграть свою роль. Сейчас пересобирать Firefox из pg_overlay без PGO мне лень, но есть статья с тестами FF с LTO и без, и там видно, что оптмизации компилятора влияют не только на размер бинарника и скорость запуска, но и на результаты различных бенчмарков.

sudopacman ★★★★★ ()

Да никак вы эту тормозилу не излечите, тут нужно просто переходить на Хром. Я оставил FF для фейкового аккаунта в Вк, регулярно им пользуюсь, это просто ад какой-то на фоне Хрома или той же Оперы. Если мозилловцы не выкинут эту кучу престарелого говна и не запилят новый современный движок, FF уйдёт на свалку истории, это 100%

Deleted ()
Ответ на: комментарий от sudopacman

Ну я думаю что это просто неплохой ебилд, хорошо обрезающий Firefox, не сильно уверен что где-то кроме уже lock-free чисто математических числодробилок PGO какие-то PGO будут давать 20%. Оно на блокировках висит, и тут или переписывать или выбрасывать особенно болезные модули, что похоже в том ебилде и делают

vertexua ★★★☆☆ ()
Последнее исправление: vertexua (всего исправлений: 1)

зачем нужен этот вимператор, чем не устраивает VimFX, чего рожать козла-то?

slon ()

Когда-то с cairo работало хорошо в плане производительности, потом cairo сломали - браузер стал падать... Особенно это стало после 38+ версий.

Надоело проверять, но теоретически какая-то надежда есть, что починили.

anonymous ()

Сторонникам «у нас всё хорошо» предлагаю пройти тест spidermonkey. Да, местами даже быстрее или сравнимо, но по большей части сосёт. Кроме того, тормозят загрузка/перерисовка страниц и DOM-парсер, про гткшный гуй можно не вспоминать (во всяком случае это всё было актуально год назад). PGO может и оказывает какое-то влияние на парсер, но попугаев жабаскрипту не прибавляет и увеличивает время (а также дисковые затраты) компиляции раза в 3.

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

anonymous ()
Ответ на: комментарий от anonymous

С системной cairo падает, не собирай. С бандленной не падает.

anonymous ()
Ответ на: комментарий от anonymous

Намекаешь что на нём все места узкие? ))

Печально сознавать, но да, много грустных мест.

Вот недавно вкладка с Gitlab'ом каждую секунду где-то миллисекунд на 200 подвешивала все остальные. Я не понимаю, чего она там делает такого, но в perf top какие-то функции, связанные с SVG.

i-rinat ★★★★★ ()
Ответ на: комментарий от anonymous

увеличивает время (а также дисковые затраты) компиляции раза в 3

В 2

sudopacman ★★★★★ ()

В актуальной версии Firefox сделали доступной многопроцессность. Не панацея, но работает в разы быстрее, чем без неё. Однако я не в курсе, как в генте принято устанавливать Nightly.

batekman ★★★ ()
Ответ на: комментарий от batekman

Да, я уже попробовал, как подсказали ранее, просто портативный из tmpfs, даже ничего не компилял. Это уже лучше, ждем ебилдов.

Deleted ()
Ответ на: комментарий от sudopacman

Это в какой вселенной? Хромой работает в разы быстрее буквально везде.

// Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0

anonymous ()
Ответ на: комментарий от sudopacman

Толсто. Периодически ставлю фф для сравнения и удаляю.

anonymous ()
Ответ на: комментарий от batekman

В актуальной версии Firefox сделали доступной многопроцессность.

Некоторые дополнения не работают или это уже не так?

backbone ★★★★★ ()

firefox 48.0 вроде сносно работает, флаги: custom-cflags custom-optimization dbus gmp-autoupdate hwaccel jemalloc3 jit skia system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite.

Помимо прочих, аддон AdBlock Origin установлен. С одной стороны, он режет рекламу и ускоряет, с другой - жрёт ресурсы и тормозит.)

Shockwave Flash отключен.

backbone ★★★★★ ()
Последнее исправление: backbone (всего исправлений: 1)
Ответ на: комментарий от backbone

custom-cflags custom-optimization

Можно вот здесь поподробнее. Просто выставить эти флаги? Как я ещё могу манипулировать флагами компилятора?

Deleted ()
Ответ на: комментарий от Deleted

Полагал, они из make.conf берутся. Вот на форуме у человека похожий вопрос возникал (ссылка), ему рекомендовали оба флага включать, чтобы полный CFLAGS читался, не только -O*.

backbone ★★★★★ ()
Последнее исправление: backbone (всего исправлений: 2)
Ответ на: комментарий от anonymous

Лично я на глаз особой разницы на десктопе не заметил, да и не старался, но в бенчмарке хромиум набрал ощутимо меньше, чем кастомный FF. А на нетбуке у меня как раз хромиум стоит, потому что работает быстрее, но там Федора, бинарный дистрибутив, поэтому, фиг знает, как там что собрано.

sudopacman ★★★★★ ()
Ответ на: комментарий от backbone

Некоторые дополнения не работают или это уже не так?

наоборот. по умолчанию многопроцессность не включается с некоторыми дополнениями, но можно форсировать.

Deleted ()
Ответ на: комментарий от Deleted

наоборот. по умолчанию многопроцессность не включается с некоторыми дополнениями, но можно форсировать.

Да, точно. Только забыл, то ли нестабильная работа была, то ли что ещё, что пришлось отключить многопроцессность. Подожду стабилизации 51-ой версии в Gentoo.

backbone ★★★★★ ()

В результате всё это весьма сильно тормозит, а ведь i7-4790K CPU @ 4.00GHz. На других машинах с i5 хасвелл тоже как-то так же.

А у меня вообще думалкор вместо проца, зато хромиум намного шустрее бегает.

Deleted ()
Ответ на: комментарий от batekman

но работает в разы быстрее

Брехня. Включена у меня эта многопроцессорность. Разницы вообще не заметил.

anonymous ()
Ответ на: комментарий от anonymous

Многопроцессность блокируется установленными дополнениями.
Включал. Разница очень заметна, но многие дополнения перестают работать.

Centrin0 ()

custom-cflags с огнелисом бесполезен. Его уже ничем не спасти.

desktop using Linux 0.0 with Firefox 48.0 (custom-cflags) score: 188.99

desktop using Linux 0.0 with Firefox 48.0 (bin) score: 217.91

desktop using Linux 0.0 with Chrome 53.0.2785.70 (custom-cflags) score: 327.76

desktop using Linux 0.0 with Chrome 52.0.2743.116 (bin) score: 307.94

Сверял с бинарными версиями, ибо лень компилить всё это по несколько часов. Бенчмарк юзал этот: http://web.basemark.com/

TakaiSaisei ()
Ответ на: комментарий от TakaiSaisei

Да, если сравнение разных версий хромого некорректно, как, возможно, и сравнение бинарников с self-compiled, в свою защиту могу сказать, что огнелис с custom-cflags работал ЗАМЕТНО хуже и имел один довольно неприятный баг со звуком, даже не знаю почему.

TakaiSaisei ()

Я не знаю, что ты делаешь с Firefox, чтобы он тормозил. Firefox даже на атоме, вполне не тормозит, вот только на том компьютере 4гб озу, да. (когда было 2гб, тормозил)
Попробуй бинарные сборки что-ли. Скорей всегда проблема в vimperator. У меня очень много дополнений, но от этого firefox не тормозит.

anonymous_sama ★★★★★ ()
Ответ на: комментарий от Deleted

Включил снова force и сразу вспомнил, что не работало - Vimperator сыпет сообщениями в строке состояния, периодически невозможен ввод, игнорит повторный Insert, выбираю сейчас между Vimperator и multiprocess...

backbone ★★★★★ ()
Ответ на: комментарий от sudopacman

Ну хромой тоже можно собрать самому тогда.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.