AerynOS Linux October 2025 update delivers GNOME 49.1, KDE Plasma 6.5.1, and key compiler changes

https://web.brid.gy/r/https://nerds.xyz/2025/10/aerynos-linux-october-2025/

🌘 「noexcept」影響libstdc++的unordered_set - Arthur O'Dwyer - 主要關於C++的東西
➤ 哈希式關聯容器中的noexcept對性能的影響
https://quuxplusone.github.io/blog/2024/08/16/libstdcxx-noexcept-hash/
在GNU libstdc++的哈希式關聯容器中,添加或刪除noexcept可能會改變程序的性能。在C++中,std::unordered_set基本上是一個“桶”的向量,其中每個桶是一個“節點”的鏈表,每個節點存儲unordered_set的一個元素。根據哈希函數的noexcept性質,這些容器將其節點的結構佈局進行更改。
+ 這是一個很有趣的發現,對於使用libstdc++的開發者來說是一個重要的提示。
+ 我以前從未注意到這個細節,謝謝作者的分享。
#C++ #libstdc++ #unordered_set #哈希函數
noexcept affects libstdc++’s unordered_set

The other day I learned a new place where adding or removing noexcept can change the performance of your program: GNU libstdc++’s hash-based associative containers change the struct layout of their nodes depending on the noexceptness of your hash function. This is laid out fairly clearly in the docs; it’s simply bizarre enough that I’d never thought to look for such a thing in the docs!

Arthur O’Dwyer

Ця оптимізація відбувається завдяки, тому що C++, на відміну від Go і Rust, привʼязує свою стандартну бібліотеку динамічно. Через це знижується сумісність бінарних файлів. Зібраний бінарний файл на Arch з використанням GCC 13, на Debian не запускається, тому що у ньому ще досі 12 версія компілятора, відповідно і старіша версія бібліотеки libstdc++.

Мені стало цікаво скільки буде займати місця файл програми коли ми прилінкуємо цю бібліотеку статично. Це можна зробити додавши -static до команди лінкера. Збирати будемо у режимі випуску. Якщо ми привʼяжемо динамічно, то розмір буде 547.664KiB, а якщо статично, то 3.214MiB. Ми можемо зменшити обидва ці файли видаливши з них зайву інформацію за допомоги команди strip з набору binutils. Після цього перший файл буде займати 427.664KiB, а зі статичною бібліотекою 2.581MiB. У другому випадку різниця більш помітна.

Виходить що коли поставити C++ і Go у рівні умови, то по розміру виграє Go через меншу стандартну бібліотеку. А по швидкості виконання все рівно виграє C++. Але їх обох обганяє чистий C.

Також хочу замітити що на бінарний файл мови Go команда strip ніяк не впливає, тобто нічого не видаляє.

#strip #static #libstdc++ #c++ #cpp #binutils #bin #gcc #g++ #link #sof #size #статична #бібліотека #привʼязка #лінкер #лінкування #розмір #бінарники #go

Social.Net.Ua

After the #glibc libc-alpha and #gcc gcc-patches mailinglist tests to avoid From rewriting worked out nicely we enabled the same settings to some other mailinglists.

The other gcc patches lists for #libstdc++, #libgccjit, #fortran and #gcc-rust. And those project that use #patchwork, #newlib, #elfutils, #libabigail and #gdb.

This hopefully makes mailing patches and using git am on them a bit nicer.

Please contact us if you have any issues with the mailinglists.
https://sourceware.org/mission.html#organization

Our Mission: Free software, the final frontier. These are the voyages of the Starship Sources. Its five year mission, to boldly go where no other free software projects have gone this week.

Sourceware free software

https://fosdem.org/2022/schedule/event/llvm_oniro/# #Oniro 3rd presentation for today is starting soon at 15h35 CET:
#Libc++ on #Linux - using the example of #Oniro
Experiences with switching from #libstdc++ to #libc++
Join
bero in
#LLVM devroom and then stay longer in room for Q&A
https://fosdem.org/2022/schedule/event/llvm_oniro/
FOSDEM 2022 - Libc++ on Linux - using the example of Oniro