Bug 35675

Summary: lld linker performance regressions
Product: Sisyphus Reporter: mikhailnov <mikhailnov>
Component: chromiumAssignee: Alexey Gladkov <legion>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: cas, legion
Version: unstable   
Hardware: all   
OS: Linux   

Description mikhailnov 2018-11-30 02:10:25 MSK
Я как-то писал про производительность с gcc vs clang.

Попугаеметры (https://web.basemark.com) и личные ощущения показывают, что, когда Chromium собирается с use_lld=true, производительность проседает более чем на 10%.

На x86_64 сборочная система ставит lld даже если задано, например, use_gold=true. Вот этот патч https://abf.io/mikhailnov/chromium-browser-stable/blob/rosa2016.1/ROSA-allow-Gold-on-Linux.patch убирает это, но тогда сборка падает на более поздних этапах.

В итоге наилучшая производительность при use_gold=false use_lld=false, тогда используется линковщик GNU FD, он медленнее gold и lld, но дает наилучшую производительность. Например, в Ubuntu Chromium собирается с ним и работает чуть быстрее самого Google Chrome, который собирается с use_lld + allow_posix_lto.
Comment 1 mikhailnov 2018-11-30 02:16:53 MSK
Написал немного запутанно, в общем, я предлагаю поставить:
use_gold=false
use_lld=false
на x86_64, на i586 можно так:
use_gold=true

Указанный патч не нужен.
Comment 2 Alexey Gladkov 2018-11-30 11:23:49 MSK
В ближайшее время я не планирую менять опции сборки.
Бага пусть весит на память.
Comment 3 mikhailnov 2019-04-04 19:15:42 MSK
Все-таки не покидает устойчивое впечатление, что Хромиум под Альтом микрофризит под нагрузкой, особенно в тяжелых веб-приложениях.