The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз Firefox 101, opennews (??), 31-Май-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


29. "Релиз Firefox 101"  +/
Сообщение от achtosluchilos (ok), 31-Май-22, 18:38 
Вот такой вопрос. Кто пробовал собирать fireox с -mach=native(ну или x86-64-v3) и сравнить тесты https://browserbench.org/JetStream/ самосбора против бинарной сборки от мозилы?

В firefox это делается через ac_add_options --enable-optimize="-O3 -mach=x86-64-v3" в .mozconfig, а не через CFLAGS, CXXFLAGS (их система сборки эти флаги вычещает).

Я здесь недавно пробовал. Так вот самосбор по тестам проигрывает от 2 до 5% по сравнению с ubuntu mozillateam ppa и оф.бинаря с сайта мозилы.

Ответить | Правка | Наверх | Cообщить модератору

36. "Релиз Firefox 101"  +/
Сообщение от Попандопала (?), 31-Май-22, 19:03 
У ФФ нет очевидного выигрыша,а вот у Чромиума был,но я его 16 часов собирал. Меня тут даже жалеть начали.
Ответить | Правка | Наверх | Cообщить модератору

37. "Релиз Firefox 101"  +/
Сообщение от Попандопала (?), 31-Май-22, 19:05 
Сорян, я через CFLAGS, CXXFLAGS оптимизировал.(
Ответить | Правка | Наверх | Cообщить модератору

41. "Релиз Firefox 101"  +/
Сообщение от Аноним (41), 31-Май-22, 19:21 
>я его 16 часов собирал

пора заменить кору дуба на 5950х

Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

115. "Релиз Firefox 101"  +1 +/
Сообщение от Аноним (-), 01-Июн-22, 00:40 
Скорее нужно оперативки докинуть. Такие тормоза лезут, когда твои четыре потока сборки начинают свопиться. В качестве костыля можно собирать с -j1.

Я пробовал собирать хром на коре дуба, с примерно тем же результатом, но я не дождался финала. И у меня всё стояло колом из-за свопа, 6 гигов оперативки недостаточно, чтобы тянуть четыре параллельных g++/ld.

Ответить | Правка | Наверх | Cообщить модератору

131. "Релиз Firefox 101"  +/
Сообщение от ryoken (ok), 01-Июн-22, 08:43 
Вообще-то на 2xXeon X5675 со включенным HT, 24 Гб памяти и задействованным tmpfs (8Gb под /var/tmp/portage) ungoogled Chromium собирается этак часов 8 (j=24). qtwebengine, сволочь, примерно так же. Причём большую часть времени эти 2 брата больше дисковую активность проявляют, на вид, чем коНПеляют. Недавно собирал Tor Browser - при прочих равных условиях получилось минут 40 (это с большим преувеличением).
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

47. "Релиз Firefox 101"  +/
Сообщение от achtosluchilos (ok), 31-Май-22, 19:30 
> У ФФ нет очевидного выигрыша,а вот у Чромиума был,но я его 16
> часов собирал. Меня тут даже жалеть начали.

У меня процессор 7-летней давности на 4 ядра по 3.3 ггц, но на DDR4. Так вот если собирать firefox чисто release выключив debug и tests в mozconfig то сборка занимает всего 55 минут.

Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

64. "Релиз Firefox 101"  +/
Сообщение от iZENemail (ok), 31-Май-22, 19:45 
% pkg info firefox
firefox-101.0_2,2
Name           : firefox
Version        : 101.0_2,2
Installed on   : Tue May 31 18:57:28 2022 MSK
Origin         : www/firefox
Architecture   : FreeBSD:13:amd64
Prefix         : /usr/local
Categories     : www
Licenses       :
Maintainer     : gecko@FreeBSD.org
WWW            : http://www.mozilla.com/firefox
Comment        : Web browser based on the browser portion of Mozilla
Options        :
    ALSA           : off
    CANBERRA       : off
    DBUS           : on
    DEBUG          : off
    FFMPEG         : on
    JACK           : off
    LIBPROXY       : off
    LTO            : off
    OPTIMIZED_CFLAGS: on
    PROFILE        : off
    PULSEAUDIO     : off
    SNDIO          : off
    TEST           : off
Shared Libs required:
    libdbus-glib-1.so.2
    libicuuc.so.71
    libXext.so.6
    libpango-1.0.so.0
    libfreetype.so.6
    libpixman-1.so.0
    libcairo.so.2
    libgtk-3.so.0
    libxcb-shm.so.0
    libffi.so.8
    libX11-xcb.so.1
    libwebp.so.7
    libicui18n.so.71
    libatk-1.0.so.0
    libcairo-gobject.so.2
    libevent-2.1.so.7
    libplc4.so
    libXcomposite.so.1
    libvpx.so.7
    libxcb.so.1
    libgdk_pixbuf-2.0.so.0
    libgio-2.0.so.0
    libssl3.so
    libXfixes.so.3
    libwebpdemux.so.2
    libnss3.so
    libnssutil3.so
    libnspr4.so
    libgobject-2.0.so.0
    libglib-2.0.so.0
    libharfbuzz.so.0
    libX11.so.6
    libdbus-1.so.3
    libdav1d.so.6
    libXdamage.so.1
    libpng16.so.16
    libXrandr.so.2
    libaom.so.3
    libfontconfig.so.1
    libsmime3.so
    libgdk-3.so.0
Annotations    :
    FreeBSD_version: 1301503
    cpe            : cpe:2.3:a:mozilla:firefox:101.0:::::freebsd13:x64:2
    no_provide_shlib: yes
Flat size      : 208MiB
Description    :
Mozilla Firefox is a free and open source web browser descended from the
Mozilla Application Suite. It is small, fast and easy to use, and offers
many advanced features:

o Popup Blocking
o Tabbed Browsing
o Live Bookmarks (ie. RSS)
o Extensions
o Themes
o FastFind
o Improved Security

WWW: http://www.mozilla.com/firefox

Компиляция, сборка, паковка, обновление с предыдущей версии Firefox заняло 12 минут на AMD Ryzen 9 3900X.

Ответить | Правка | Наверх | Cообщить модератору

76. "Релиз Firefox 101"  +/
Сообщение от Аноним (-), 31-Май-22, 20:56 
Начинается. А на серверных процессорах последних моделей не ARM c 128 ядрами, что будет минута или 15 сепкунд? Ну не меняют люди (большенство) компьютеры когда выходят новые процессры. Они и так прекрасно знают примерно, что есть в продаже. Ну и денги. Лично я даже если и иметь денги не сталбы гонятся за последним переплачивать больше чем мне надо.
Ответить | Правка | Наверх | Cообщить модератору

77. "Релиз Firefox 101"  +/
Сообщение от Аноним (-), 31-Май-22, 20:59 
"пора заменить кору дуба на 5950х" на это отвечал.
Ответить | Правка | Наверх | Cообщить модератору

86. "Релиз Firefox 101"  +/
Сообщение от Аноним (-), 31-Май-22, 21:48 
И на это тоже "Компиляция, сборка, паковка, обновление с предыдущей версии Firefox заняло 12 минут на AMD Ryzen 9 3900X.. "
Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

88. "Релиз Firefox 101"  +/
Сообщение от Аноним (-), 31-Май-22, 21:52 
Изначально я на это и отвечал, но запутался и не нашол где о 12 минутах прочёл.
Ответить | Правка | Наверх | Cообщить модератору

78. "Релиз Firefox 101"  +/
Сообщение от achtosluchilos (ok), 31-Май-22, 20:59 
>[оверквотинг удален]
>  o Popup Blocking
>  o Tabbed Browsing
>  o Live Bookmarks (ie. RSS)
>  o Extensions
>  o Themes
>  o FastFind
>  o Improved Security
> WWW: http://www.mozilla.com/firefox
> Компиляция, сборка, паковка, обновление с предыдущей версии Firefox заняло 12 минут на
> AMD Ryzen 9 3900X.

То есть ты решил померяться 24 поточным процессором с 4 поточным? Ну мы все очень рады за тебя.

> Options

Это еще ни о чем не говорит. Firefox читает только mozconfig и переменные окружения и в момент сборки он очень многое "игнорирует и вычищает" пользовательского. Весь интернет заполнен мануалами протухшими. mk_add_options передает опции automake, ac_add_options передает опции autoconf, mach это самописная система сборки на python3 созданная только для кодовой базы mozilla. Если фрибздуны в портах все делают правильно значит оно будет собираться правильно. Хотя я вот сейчас взглянул на Makefile порта, и я вижу, что нихрена они правильно не записывают опции в mozconfig. Как, собственно, и в генте. Линуксоиды и прочие уже давно так привыкли к тому, что мейнтейнеры за них все делают правильно что даже перестали замечать, что мейнтейнеры стали забивать болт. Если взглянуть на rpm spec в firefox можно ужаснуться, а на debian/* файлы пакета в ubuntu/debian лучше не смотреть можно поседеть от ужаса. Вот например я собирал firefox с опциями export CFLAGS="-O3", export CXXFLAGS="-O3" и что спрашивается? Оно собралось -O2.

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

87. "Релиз Firefox 101"  +/
Сообщение от Аноним (-), 31-Май-22, 21:52 
> Хотя я вот сейчас взглянул на Makefile порта, и я вижу, что
> нихрена они правильно не записывают опции в mozconfig. Как, собственно, и
> в генте. Линуксоиды и прочие уже давно так привыкли к тому,

А глядел глазками?
https://cgit.freebsd.org/ports/tree/Mk/bsd.gecko.mk#n345


for arg in ${MOZ_OPTIONS}
    @${ECHO_CMD} ac_add_options ${arg:Q} >> ${MOZCONFIG}
.      endfor
.      for arg in ${MOZ_MK_OPTIONS}
    @${ECHO_CMD} mk_add_options ${arg:Q} >> ${MOZCONFIG}
.      endfor
.      for var in ${MOZ_EXPORT}
    @${ECHO_CMD} export ${var:Q} >> ${MOZCONFIG}
.      endfor

Ответить | Правка | Наверх | Cообщить модератору

90. "Релиз Firefox 101"  +/
Сообщение от achtosluchilos (ok), 31-Май-22, 22:07 
собираешь со своими C/CXXFLAGS, затем открываешь в firefox страницу about:buildconfig и сравниваешь, после доложишь на форум, нам всем очень инетересно.
Ответить | Правка | Наверх | Cообщить модератору

94. "Релиз Firefox 101"  +/
Сообщение от iZENemail (ok), 31-Май-22, 22:44 
> собираешь со своими C/CXXFLAGS, затем открываешь в firefox страницу about:buildconfig
> и сравниваешь, после доложишь на форум, нам всем очень инетересно.

Compiler

/usr/local/bin/clang13 -std=gnu99

/usr/local/bin/clang++13 -std=gnu++17

/usr/local/bin/rustc


Version

13.0.1

13.0.1

1.61.0


Compiler flags

-O2 -pipe -O3 -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -fPIC -ffunction-sections -fdata-sections -fno-math-errno -pipe

-Qunused-arguments -DLIBICONV_PLUG -isystem /usr/local/include -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wdeprecated-this-capture -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wunused-but-set-parameter -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wc++2a-compat -Wcomma -Wenum-compare-conditional -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=free-nonheap-object -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-error=deprecated-copy -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-psabi -Wthread-safety -Wno-unknown-warning-option -fno-sized-deallocation -fno-aligned-new -O2 -pipe -O3 -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -fno-exceptions -fPIC -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pipe -O2 -O3 -fomit-frame-pointer -funwind-tables


Configure options

CONFIG_SHELL=/bin/sh --enable-application=browser --enable-update-channel=release --disable-tests CC=/usr/local/bin/clang13 CXX=/usr/local/bin/clang++13 --disable-debug-symbols PKG_CONFIG=pkgconf --with-libclang-path=/usr/local/llvm13/lib BINDGEN_CFLAGS=-I/usr/local/include --enable-system-ffi --enable-rust-simd --with-system-icu --with-system-av1 --with-system-webp --with-system-graphite2 --with-system-harfbuzz --with-system-libvpx --with-system-jpeg=/usr/local --with-system-png --with-wasi-sysroot=/usr/local/share/wasi-sysroot --with-system-nss --disable-updater --with-system-libevent --enable-system-pixman PERL=/usr/local/bin/perl MAKE=gmake --enable-strip --with-system-zlib --enable-official-branding --prefix=/usr/local

Ответить | Правка | Наверх | Cообщить модератору

100. "Релиз Firefox 101"  –1 +/
Сообщение от achtosluchilos (ok), 31-Май-22, 23:15 
Ну и помойка во флагах что, собственно, и следовало ожидать. Все через переменные окружения, которые считываются компилятором, и система сборки браузера понятия о них не имеет, что всего скорее рано или поздно приведет к неожиданным эффектам, хотя если участь тот факт, что freebsd на десктопе пользуются от силы десять человек - никто не и не заметит.

Но ты со своим пожирателем электроэнергии можешь помочь понять влияние сути -mach=x86-64-v3 и -mach=x86-64 на производительность. Вот этот тест https://browserbench.org/JetStream/index.html

Ответить | Правка | Наверх | Cообщить модератору

97. "Релиз Firefox 101"  +/
Сообщение от Аноним (-), 31-Май-22, 23:04 
>> нихрена они правильно не записывают опции в mozconfig.
> собираешь со своими C/CXXFLAGS, затем открываешь в firefox страницу about:buildconfig сравниваешь, после доложишь на форум, нам всем очень инетересно.

Какой интересный спрыг с темы.

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

102. "Релиз Firefox 101"  +/
Сообщение от achtosluchilos (ok), 31-Май-22, 23:20 
>  спрыг с темы

На моем линуксе сборка firefox через их систему mach (которая надстройка над теми же autoconf, automake) игнорирует CFLAGS/CXXFLAGS как и было задумано разработчиками firefox. Если gcc/clang схавали переменные окружения это не означает что так было задумано программистами в mozilla, это побочный эффект компиляторов.

Ответить | Правка | Наверх | Cообщить модератору

104. "Релиз Firefox 101"  +/
Сообщение от Аноним (-), 31-Май-22, 23:35 
>>  спрыг с темы
> На моем линуксе сборка firefox через их систему mach (которая надстройка над
> теми же autoconf, automake) игнорирует CFLAGS/CXXFLAGS как и было задумано разработчиками
> firefox. Если gcc/clang схавали переменные окружения это не означает что так
> было задумано программистами в mozilla, это побочный эффект компиляторов.

Так и быть, еще раз ткну:
>>> Options
>> Это еще ни о чем не говорит. Firefox читает только mozconfig

тебе уже привели выше опции сборки из about:buildconfig, которые совпадают с MOZ_OPTIONS в мейкфайле порта, но ты и там съехал на "помойку во флагах".

Ответить | Правка | Наверх | Cообщить модератору

107. "Релиз Firefox 101"  +/
Сообщение от Аноним (-), 31-Май-22, 23:44 
И да:

.    if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
CFLAGS+=        -O3
MOZ_EXPORT+=    MOZ_OPTIMIZE_FLAGS="${CFLAGS:M-O*}"
MOZ_OPTIONS+=    --enable-optimize
.    else
...
for var in ${MOZ_EXPORT}
    @${ECHO_CMD} export ${var:Q} >> ${MOZCONFIG}
.      endfor

Ответить | Правка | Наверх | Cообщить модератору

112. "Релиз Firefox 101"  +/
Сообщение от name (??), 01-Июн-22, 00:12 
moz_optimize_flags капсом это внутренний флаг их системы сборки который не должен пользователем форсироваться снаружи, но и так сойдёт (как из мультика с печкой).
Ответить | Правка | Наверх | Cообщить модератору

91. "Релиз Firefox 101"  +/
Сообщение от Аноним (6), 31-Май-22, 22:12 
А хромиум сколько?  У меня и так 10 часов он собирался, но когда пришлось многопоточную сборку отключить, он стал собираться неделю.
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

96. "Релиз Firefox 101"  +/
Сообщение от iZENemail (ok), 31-Май-22, 22:48 
> А хромиум сколько?  У меня и так 10 часов он собирался,
> но когда пришлось многопоточную сборку отключить, он стал собираться неделю.

Обновление chromium-102.0.5005.61_1.pkg - 81 минута.

Обновление rust-1.61.0.pkg — 35 минут.


Ответить | Правка | Наверх | Cообщить модератору

98. "Релиз Firefox 101"  +/
Сообщение от Аноним (6), 31-Май-22, 23:09 
Это гцц? Ну, раст и у меня 50 минут. Это у меня ещё дорогие флаги компилятора типа -fipa-matrix-reorg -fipa-pta -fdevirtualize-at-ltrans (хотя не помню, что у меня с лто собирается, а что без, там солянка жуткая из-за неработающих пакетов). Как выяснилось, шланг их очень не любит, и компилируется с ними в 15 раз дольше. Это началось в прошлом году. Либо это, либо arch=native vs arch=core2 (ncnn не собирается с native).
Ответить | Правка | Наверх | Cообщить модератору

99. "Релиз Firefox 101"  +/
Сообщение от iZENemail (ok), 31-Май-22, 23:11 
> Это гцц?

LLVM/Clang 13.0.0

Ответить | Правка | Наверх | Cообщить модератору

101. "Релиз Firefox 101"  +/
Сообщение от Аноним (6), 31-Май-22, 23:18 
А, ну так с ним нормально всё было вроде. Это с 14 какая-то бодяга непонятная, дольше гцц компилирует, при том, что не делает и половины тех оптимизаций.
Ответить | Правка | Наверх | Cообщить модератору

39. "Релиз Firefox 101"  +2 +/
Сообщение от Аноним (6), 31-Май-22, 19:12 
Собирай с PGO. Если хочешь, чтобы было быстрее, собирай GCC. Штатная возможность в генте.
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

43. "Релиз Firefox 101"  +/
Сообщение от achtosluchilos (ok), 31-Май-22, 19:25 
PGO дает выигрыш только холодного запуска приложения вот и все. PGO переоцененно.

LTO только уменьшает размер бинарника. У firefox с LTO какие-то пару мб у libxul выиграшь.

GCC не дает никакого выигрыша в случае с firefox. Там код оптимизирован для clang, у них GCC не является приоритетным компилятором, но они его поддерживают. Да я собирал GCC12 так вот отставание по результатам у JetStreams там до 10%.

> Штатная возможность в генте.

Видел я ebuild в генте, он частями протухший, а частями вообще не делает того, что было задумано. Как я выше писал `mach` система сборки firefox вычещает все CFLAGS/CXXFLAGS их передавать нужно через ac_add_options --enable-optimize="-O3 -mach=x86-64-v3"

Ответить | Правка | Наверх | Cообщить модератору

52. "Релиз Firefox 101"  +/
Сообщение от Аноним (-), 31-Май-22, 19:37 
Лет 5-6 назад собирал из исходников разный софт и утилиты, так вот при использовании уровня оптимизации "-O3" некоторые бинарники тупо не запускались. "-O3" слишком агрессивен, лучше используй "-O2".
Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз Firefox 101"  +/
Сообщение от Аноним (6), 31-Май-22, 19:48 
PGO включает оптимизации аналогичные O3, но применяет их только там, где от них будет выигрыш. Заметного прироста попугаев конечно не будет, там и так уже оптимизировано всё, что только возможно. Но он будет.
Ответить | Правка | Наверх | Cообщить модератору

79. "Релиз Firefox 101"  +/
Сообщение от achtosluchilos (ok), 31-Май-22, 21:06 
> PGO включает оптимизации аналогичные O3, но применяет их только там, где от
> них будет выигрыш. Заметного прироста попугаев конечно не будет, там и
> так уже оптимизировано всё, что только возможно. Но он будет.

PGO запускает бинарник приложения несколько раз для этого ему нужен xvfb, записывает результаты какие ветки кода чаще всего используются и оптимизирует бинарник так чтобы этот код выполнялся в первую очередь. PGO нужен только для холодного запуска (вот, например под вендой firefox запускается очень долго на первой загрузке системы, в отличие от хромых что запускаются моментально, хотя в firefox под венду сейчас оффициально собирается с PGO от этого очень серьезного выигрыша нет, да быстрее немного, но один хрен пользователи наблюдают белое/черное окно приложения и курсор-"песочные-часы" целую добрую секунду). По сравнению с вендой firefox под линуксом запускается (у меня по крайней мере) в разы быстрее чуть ли не мгновенно даже с выключенным PGO.

Ответить | Правка | Наверх | Cообщить модератору

83. "Релиз Firefox 101"  +/
Сообщение от Аноним (6), 31-Май-22, 21:27 
Хромые уже очень давно собирают с ПГО. Опера, вроде, первой начала тренд, собирать хромого с ПГО.
Ответить | Правка | Наверх | Cообщить модератору

84. "Релиз Firefox 101"  +/
Сообщение от Аноним (6), 31-Май-22, 21:28 
Но кстати про PGO это конкретно для GCC важно, шланг местами может некоторые вещи соптимизировать (не всегда удачно) и без него.
Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

143. "Релиз Firefox 101"  +/
Сообщение от n00by (ok), 01-Июн-22, 10:01 
> PGO дает выигрыш только холодного запуска приложения вот и все. PGO переоцененно.

Если это намёк на предсказатель переходов, то его память ограничена.

> LTO только уменьшает размер бинарника. У firefox с LTO какие-то пару мб
> у libxul выиграшь.

А -O3 увеличивает. Размер кэша команд не бесконечен.

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

110. "Релиз Firefox 101"  +1 +/
Сообщение от НяшМяш (ok), 31-Май-22, 23:59 
> x86-64-v3

Если процессор haswell - AVX2 душит процессор по частоте, не давая другим задачам буститься. В broadwell уже починили смешанную нагрузку, что частота падает только для AVX2 задач. Когда починили даунклок AVX2 (и починили ли вообще) - непонятно. Я даже на своём coffee lake refresh собираю всё с -march=x86-64-v2 -mtune=native, чтобы ноутбук не кипятился и бустился нормально.

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру