commit -m "better"
2.96K subscribers
870 photos
105 videos
3 files
2.08K links
just random thoughts
Download Telegram
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.

Это очень, очень круто, я думаю, разработческие пайплайны уже озабочены тем, чтобы интегрировать это в себя.
🔥10
https://quick-lint-js.com/blog/cpp-vs-rust-build-times/

Текст про сравнение скорости сборки Rust vs. C++.

От кучи подобных текстов отличает монументальность подхода - коллега переписал 17 тыщ строк с С++ на Rust, для корректности сравнения.

Измеряется вообще ВСЕ - инкрементальные vs полные сборки, различные трюки для ускорения сборки как С++, так и для Rust, в том числе, (за это отдельный респект и уважуха) - попытка собрать тулчейны с #BOLT.

Короче, автор явно одержим скоростью, почитайте.

Выводы? Все сложно!
🔥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, эту память прочел, например, контроллер дисков)), то и профит на всю систему мы получаем в пределах погрешности.
🤔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
🔥23🤯7👍2🌚1