4 ms·
This is a hodgepodge of random stuff. Completely incoherent. Would not really point anyone at this to try and dig out gems.
by loeg 2y ago
This is a hodgepodge of random stuff. Completely incoherent. Would not really point anyone at this to try and dig out gems.
- ashvardanian 2y agoI agree that it may not be the most readable format. So far, the best-structured piece on similar topics I’ve seen is Algorithmica: <https://en.algorithmica.org/hpc https://en.algorithmica.org/hpc>. I am sure it overlaps in terms of topics, maybe even some examples, but the homepage suggests that the book is about 500 pages long. I generally don’t have a time budget to read that much, and in most cases, I want to play with the code more than read the text, especially when some new IO_uring feature, a metaprogramming tool, or an Assembly instruction comes out. Another observation is that people don’t like to read into 5000-word essays on each topic. At best, those become training materials for the next LLMs and will affect future code only indirectly… I’m all ears for alternative formats if you have recommendations, as I generally reimplement such projects every couple of years ;)
- johnisgood 2y agoIs there one for C? I do not like the "std:" whatnots.
- loeg 2y agoThis could be like, 20 really good blog posts? A series? Idk. They don't have to be 5000+ words each :-).
- gblargg 2y agoAgreed. I'm not seeing any use of a automatic profiler to find the hot spots of one's code. If you don't know that, you're aiming blind on what to optimize and how much. The only profiling mentioned is something manual you have to add to each scope you want to time.
- loeg 2y agoIn so, so much code, basic big-O analysis, concurrency analysis (minimize mutable state / coordination), and even a little thought about CPU caches (including TLB) yields huge dividends.
- ratmeadow 2y agoIt does need some explanation and sectioning in between the readme and code comments, for the purpose of readability. I started reading the C++ source and wasn't sure what was happening, then realised the file is humongous and stopped. Perhaps splitting it into separate files with individual explanations would help. Also worth keeping in mind that with complex or intricate code, no one has any idea what you're doing unless you explicitly tell them. I used such a structure in a benchmark suite https://github.com/MC-DeltaT/cpu-performance-demos https://github.com/MC-DeltaT/cpu-performance-demos
- tccuuchffhfu 2y ago[flagged]
- tccuuchffhfu 2y ago[flagged]