@joseph_h_garvin@TaliaRinger In theory, since the site does not want duplicate questions, a decline in questions just shows that the system works as intended, because potential questions are answered by the search function. Of course that's not the whole story, either. Anyway traffic would be a better metric
TLDR; The PSF has made the decision to put our community and our shared diversity, equity, and inclusion values ahead of seeking $1.5M in new revenue. Please read and share. https://t.co/laZQCbHWJU
🧵
https://t.co/laZQCbHWJU
Was ist eigentlich schwerer zu ertragen? Wie Friedrich Merz gemeinsam mit den Nazis das Grundgesetz mit Füßen tritt oder wie er dabei ruft, "Mir tut das viel mehr weh als dir!?"
@abhi9u@joseph_h_garvin Two things to keep in mind: 1. Without AVX, unaligned loads/stores cannot be folded into arithmetic instructions (higher front-end pressure regardless of runtime alignment). 2. With AVX512, *every* unaligned operation straddles a cache line
Stell dir vor du studierst Meteorologie und dann stellst du dich bei @Welt hin und übernimmst die Vorgabe, nicht Klimawandel sondern „wärmere Welt” zu sagen. Weniger Rückgrad und du verlierst den Status als Wirbeltier.
@ocornut Counter-example where this would be inadvisable: struct { char buf[4]; atomic<int> x; }. If buf is not zero-terminated and you create a string view over it, it may interpret the first byte of x as a zero byte but that may change due to a different thread
I love how Windows settings have become simultaneously dumbed down and convoluted to the point where I have to resort to Powershell commands for basic operations. It's like Linux, just without man-pages
@c_lindner ist die Art Mensch, die mitten auf der Straße stehen bleibt, weil ihm sein Fitness-Tracker sagt, dass er heute seine 10.000 Schritte schon erreicht hat
@joseph_h_garvin@hikari_no_yume When I pad data to avoid range checks, I use nan("0xe0f") to make it more obvious where the NaNs came from. Sadly the tag doesn't propagate well through math functions
@joseph_h_garvin Also, read().decode() may not work so great for network streams or pipes in combination with multibyte encoding. If the stream stopped in the middle of a multibyte character, where do you put the trailing bytes until more data arrives?
@joseph_h_garvin Nobody ever remembers that there is more than one text file encoding. You need a convenient place to store that information or every text parser loses that accepts file-like objects loses portability
So, Linux uses a single thread *per filesystem* to handle buffered IO writeback, which explains the poor performance on fast disks. Does that mean I could improve performance by creating 16 partitions over my fast Raid-6 and let userspace distribute the load?
Of course direct IO also solves the problem but you cannot use direct IO with HDF5, libtiff, etc. So the caveman solution might be the only chance for now.
@experquisite So check std::atomic<T>::is_always_lock_free / is_lock_free() and don't use atomic::wait() and notify() since they most certainly won't work consistently. E.g. on Linux they can use FUTEX_PRIVATE_FLAG
@experquisite C++-23 (draft): The standard does not define the concept of processes/IPC, so it cannot make guarantees. Section [atomics.lockfree] only recommends that lock-free operations are address-free and don't depend on per-process state. 1/2
@simplex_fx@joseph_h_garvin Story checks out. You can expect reloads after non-inline function calls since the compiler often cannot prove that the function did not change the cached values. You can see the same in a simple loop, e.g. here https://t.co/KnOt9K71jp Memory stores that may alias are also issues