Бенчмарки браузеров Chromium 64 vs Chrome 64 на Gentoo (-march=native -O3), Ubuntu 18.04, ALT Linux и Windows 10

Все тесты производились с чистым профилем браузера, был включен chrome://flags/#ignore-gpu-blacklist для обхода уже исправленного в Chromium 66 бага (https://bugs.chromium.org/p/chromium/issues/detail?id=809419)

Google собирает (компилирует) Chrome для Linux с помощью Clang. Тесты производились на слабом железе, а именно:

  • Процессор AMD Athlon(tm) 5350 APU with Radeon(tm) R3 с интегрированной видеокартой, сокет AM1
  • Интегрированная видеокарта AMD Radeon R3 HD 8400, свободный видеодрайвер в Linux, в Windows 10 то, что Windows сам установил (проприетарный драйвер Radeon)


Gentoo

Chromium 64: http://peacekeeper.futuremark.com/results?key=Faum&resultId=15646943 1682
Chrome 64: http://peacekeeper.futuremark.com/results?key=Faut&resultId=15647079 1604

Chromium 64, чистый профиль, Basemark: https://web.basemark.com/result/?4JYjnlmM 159.49, лучший результат
Chrome 64, Basemark: https://web.basemark.com/result/?4JYtlUHX 151.11

Chromium на Gentoo был собран с помощью GCC 7.3.0 с оптимизацией под мой процессор и линковщиком ld.gold вот так:

$ genlop -i www-client/chromium
* www-client/chromium

Total builds: 1
Global build time: 18 hours and 43 seconds (то есть Хромиум компилировался 18 часов)

Info about currently installed ebuild:

* www-client/chromium-64.0.3282.167
Install date: Tue Feb 27 17:09:05 2018
USE="cups pic pulseaudio widevine -component-build -gnome-keyring -+hangouts -jumbo-build -kerberos -neon -+proprietary-codecs -selinux -+suid -+system-ffmpeg -+system-icu -+system-libvpx -+tcmalloc"
CFLAGS="-march=native -mtune=native -O3 -pipe CXXFLAGS="-march=native -mtune=native -O3 -pipe -fno-delete-null-pointer-checks LDFLAGS="-Wl,-O1 -Wl,--as-needed"

«Оптимизированные» флаги компилятора дали небольшое ускорение работы браузера. Подробнее про оптимизации компилятора и его флаги здесь: https://wiki.gentoo.org/wiki/GCC_optimization/ru


Ubuntu 18.04

Chromium на Ubuntu 18.04 собирается с помощью Clang 5.0.

Chromium 64, чистый профиль: https://web.basemark.com/result/?4JYmyFWF 151
Chromium 64 + Ghostery + Night Mode Pro ~134
Chrome 64, чистый профиль: https://web.basemark.com/result/?4JYmXoHK 144.24

Как видим, родная для дистрибутива сборка чуть-чуть быстрее, чем то, что Google собирает универсально, то есть так, чтобы работало везде, а не только в Ubuntu 18.04. Мейнтейнеры Chromium в Ubuntu молодцы!


Windows 10

Chrome для Windows, насколько я знаю, собирают компилятором Microsoft (Visual Studio), также возможна сборка Clang’ом.

Chrome 64, Windows 10: https://web.basemark.com/result/?4JYolynw 131.24

Браузер в Windows работает медленнее, чем в Linux!


ALT Linux Sisyphus

Chrome 64, https://web.basemark.com/result/?4JYrGPGV 129.69
https://web.basemark.com/result/?4JYsUrwl 128.82
Chromium 64, https://web.basemark.com/result/?4JYs8A0w 102.58, худший результат
https://web.basemark.com/result/?4JYsryBl 106.29

Chromium на ALT Linux компилируется с помощью GCC, ссылка на спек: https://packages.altlinux.org/ru/Sisyphus/srpms/chromium/spec. В ALT Linux почему-то аномальное отставание Хромиума от проприетарной сборки Хрома и вообще от результатов Chromium в других дистрибутивах, разница около 20%, что очень много. Повесил баг в Альте: https://bugzilla.altlinux.org/show_bug.cgi?id=34592


UPD 26.03.2018. В Альте в Сизифе собрали Chromium 65 с помощью clang 6.0, теперь все встало на свои места:
Chromium: 134.84 https://web.basemark.com/result/?4JyKjd9G
Google Chrome: 131.48 https://web.basemark.com/result/?4JyL1pSU

Информация о процессоре:

# lscpu
Архитектура:         x86_64
CPU op-mode(s):      32-bit, 64-bit
Порядок байт:        Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Ядер на сокет:       4
Сокетов:             1
ID прроизводителя:   AuthenticAMD
Семейство ЦПУ:       22
Модель:              0
Имя модели:          AMD Athlon(tm) 5350 APU with Radeon(tm) R3
Степпинг:            1
CPU MHz:             1730.111
CPU max MHz:         2050,0000
CPU min MHz:         800,0000
BogoMIPS:            4092.21
Виртуализация:       AMD-V
L1d cache:           32K
L1i cache:           32K
L2 cache:            2048K
Флаги:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt topoext perfctr_nb bpext perfctr_llc hw_pstate proc_feedback vmmcall bmi1 xsaveopt arat npt lbrv svm_lock nrip_save tsc_scale flushbyasid decodeassists pausefilter pfthreshold overflow_recov

Планы на будущее: собрать Chromium на Gentoo и Ubuntu с помощью Clang 6.0 с -O3 -march=native, попробовать запустить на Windows сборку Хромиума clang’ом от Васянов с Github (вроде бы такие есть), попробовать отпрофилировать (PGO, https://ru.wikipedia.org/wiki/Profile-guided_optimization) Firefox на сайт Вконтакте (vk.com), поскольку скорость его отрисовки оставляет желать несколкьо лучшего и в Chromium/Chrome, и Firefox, но Chromium точно не получится отпрофилировать малой кровью, а вот с Firefox должно быть легче, если они в 57-ой версии с частичным переходом на Rust не выкинули функционал профилирования.

1
Отправить ответ

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Anonymous Recent comment authors
  Subscribe  
самые новые самые старые рейтинг
Сообщать по почте
Anonymous
Гость
Anonymous

Делать вам нехрен, как пердолить линуксы.