commit -m "better"
https://lists.llvm.org/pipermail/cfe-dev/2021-November/069246.html Предложение по использованию более робастного парсера в clang tooling. Это очень круто. Давайте я вам расскажу, как работает clang-format(кстати, I managed to наконец-то реализовать поддержку…
А вот и ответ про этот самый post-link optimizer: #BOLT
https://github.com/llvm/llvm-project/blob/main/bolt/docs/OptimizingClang.md
"That's 22.61 seconds (or 12%) faster compared to the PGO+LTO build. Notice that we are measuring an improvement of the total build time, which includes the time spent in the linker. Compilation time improvements for individual files differ, and speedups over 15% are not uncommon. If we run BOLT on a Clang binary compiled without PGO+LTO (in which case the build is finished in 253.32 seconds), the gains we see are over 50 seconds (25%), but, as expected, the result is still slower than PGO+LTO+BOLT build"
TL;DR - 15% скорости clang, по сравнению с просто LTO+PGO.
Это очень, очень круто, я думаю, разработческие пайплайны уже озабочены тем, чтобы интегрировать это в себя.
https://github.com/llvm/llvm-project/blob/main/bolt/docs/OptimizingClang.md
"That's 22.61 seconds (or 12%) faster compared to the PGO+LTO build. Notice that we are measuring an improvement of the total build time, which includes the time spent in the linker. Compilation time improvements for individual files differ, and speedups over 15% are not uncommon. If we run BOLT on a Clang binary compiled without PGO+LTO (in which case the build is finished in 253.32 seconds), the gains we see are over 50 seconds (25%), but, as expected, the result is still slower than PGO+LTO+BOLT build"
TL;DR - 15% скорости clang, по сравнению с просто LTO+PGO.
Это очень, очень круто, я думаю, разработческие пайплайны уже озабочены тем, чтобы интегрировать это в себя.
GitHub
llvm-project/bolt/docs/OptimizingClang.md at main · llvm/llvm-project
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. - llvm/llvm-project
🔥10
commit -m "better"
А вот и ответ про этот самый post-link optimizer: #BOLT https://github.com/llvm/llvm-project/blob/main/bolt/docs/OptimizingClang.md "That's 22.61 seconds (or 12%) faster compared to the PGO+LTO build. Notice that we are measuring an improvement of the total…
https://old.reddit.com/r/rust/comments/y4w2kr/llvm_used_by_rustc_is_now_optimized_with_bolt_on/
А вот коллеги применили #BOLT к llvm + rustc.
Пишут, что 3-5% перфа, но получилось применить только на llvm часть, rustc целиком оптимизднуть не получилось.
А вот коллеги применили #BOLT к llvm + rustc.
Пишут, что 3-5% перфа, но получилось применить только на llvm часть, rustc целиком оптимизднуть не получилось.
Reddit
From the rust community on Reddit: LLVM used by rustc is now optimized with BOLT on Linux (3-5% cycle/walltime improvements)
Explore this post and more from the rust community
👍10
https://quick-lint-js.com/blog/cpp-vs-rust-build-times/
Текст про сравнение скорости сборки Rust vs. C++.
От кучи подобных текстов отличает монументальность подхода - коллега переписал 17 тыщ строк с С++ на Rust, для корректности сравнения.
Измеряется вообще ВСЕ - инкрементальные vs полные сборки, различные трюки для ускорения сборки как С++, так и для Rust, в том числе, (за это отдельный респект и уважуха) - попытка собрать тулчейны с #BOLT.
Короче, автор явно одержим скоростью, почитайте.
Выводы? Все сложно!
Текст про сравнение скорости сборки Rust vs. C++.
От кучи подобных текстов отличает монументальность подхода - коллега переписал 17 тыщ строк с С++ на Rust, для корректности сравнения.
Измеряется вообще ВСЕ - инкрементальные vs полные сборки, различные трюки для ускорения сборки как С++, так и для Rust, в том числе, (за это отдельный респект и уважуха) - попытка собрать тулчейны с #BOLT.
Короче, автор явно одержим скоростью, почитайте.
Выводы? Все сложно!
Quick-Lint-Js
Is coding in Rust as bad as in C++?
A practical comparison of build and test speed between C++ and Rust.
🔥21🤔2👍1🤯1💩1
https://www.phoronix.com/news/Linux-AutoFDO-Prop-v2 #rant
Тут вот Миша с похороника пишет, что, мол, PGO/FDO/#BOLT/Propeller ускоряют системы на базе Linux на 2-10%:
"In turn this can help Linux systems see 2~10% better performance thanks to the more optimized kernel"
Это, конечно, ЛПП, потому что Миша путает "Linux systems" и "Linux kernel".
Да, ядро эти технологии могут ускорить на несколько процентов, но, так как в нормальной Linux системе ядро жрет от силы 5% (потому что ядро, на самом деле, занимается, в основном, тем, что перекладывает указатели на буфера в памяти из одного места в другое (типа, сетевуха через DMA записала содержимое пакета в какую-то область памяти, ядро переложило указатель на этот буфер в какое-нить блочное устройтво, откуда, тоже через DMA, эту память прочел, например, контроллер дисков)), то и профит на всю систему мы получаем в пределах погрешности.
Тут вот Миша с похороника пишет, что, мол, PGO/FDO/#BOLT/Propeller ускоряют системы на базе Linux на 2-10%:
"In turn this can help Linux systems see 2~10% better performance thanks to the more optimized kernel"
Это, конечно, ЛПП, потому что Миша путает "Linux systems" и "Linux kernel".
Да, ядро эти технологии могут ускорить на несколько процентов, но, так как в нормальной Linux системе ядро жрет от силы 5% (потому что ядро, на самом деле, занимается, в основном, тем, что перекладывает указатели на буфера в памяти из одного места в другое (типа, сетевуха через DMA записала содержимое пакета в какую-то область памяти, ядро переложило указатель на этот буфер в какое-нить блочное устройтво, откуда, тоже через DMA, эту память прочел, например, контроллер дисков)), то и профит на всю систему мы получаем в пределах погрешности.
Phoronix
Google Updates Patches For AutoFDO+Propeller Optimized Linux Kernel
Google engineers have been working on support for the Linux kernel to leverage AutoFDO feedback directed optimizations and Propeller optimizations when compiling the Linux kernel with LLVM/Clang
🤔9👍4🤡3💯3
https://vondra.me/posts/playing-with-bolt-and-postgres/
Коллега собрал postgres с #BOLT.
TL;DR - десятки процентов перфа в плюс.
Кстати, скачать clang + BOLT всегда можно вот тут - https://github.com/yandex/toolchain-registry
Коллега собрал postgres с #BOLT.
TL;DR - десятки процентов перфа в плюс.
Кстати, скачать clang + BOLT всегда можно вот тут - https://github.com/yandex/toolchain-registry
🔥23🤯7👍2🌚1