Все тесты производились с чистым профилем браузера, был включен 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 не выкинули функционал профилирования.
Делать вам нехрен, как пердолить линуксы.