Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →
Rust ir Projects
QBE IR in natural Rust data structuresProject mention: A whirlwind tour of the LLVM optimizer | news.ycombinator.com | 2023-05-12
You might be underestimating the accuracy of the CPU models LLVM uses.
For x86, the same data the code generator uses drives llvm-mca, which given a loop body can tell you the throughput, latency, and microarchitectural bottlenecks (decoding, ports, dependencies, store forwarding, etc.)—if not always precisely, then still not worse then IACA, the tool written at Intel by people who presumably knew how the CPUs work, unlike LLVM contributors and the rest of us who can only guess and measure. This separately for Haswell, Sandy Bridge, Skylake, etc.; not “x86”.
Now, is this the best model you can get? Not exactly, but it’s close enough to not matter. Do we often need machine code to be optimized to that level of detail? Perhaps not, and with that in mind you can shave at least a factor of ten off LLVM’s considerable bulk at the cost of 20—30% of performance[4,5]. But if you do want those as well, it seems that the complexity of LLVM is a fair price, or has the right order of magnitude at least.
(Frontend not included, C++ frontend required to bootstrap sold separately, at a similar markup compared to a C-only frontend with somewhat worse ergonomics.)
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
Rust ir related posts
A whirlwind tour of the LLVM optimizer
1 project | news.ycombinator.com | 12 May 2023
Made my first LLVM front-end… Now what?
2 projects | reddit.com/r/Compilers | 9 May 2023
QBE is a compact user-friendly and performant compiler back end
1 project | news.ycombinator.com | 10 Apr 2023
Tiny-C Language Compiler
1 project | reddit.com/r/linux | 13 Mar 2023
Few lesser known tricks, quirks and features of C
2 projects | news.ycombinator.com | 19 Feb 2023
cproc – Small C11 compiler based on QBE
1 project | news.ycombinator.com | 14 Aug 2022
Hare is a systems programming language designed to be simple, stable, and robust. Hare uses a static type system, manual memory management, and a minimal runtime.
1 project | reddit.com/r/programmingcirclejerk | 25 Apr 2022
A note from our sponsor - InfluxDB
www.influxdata.com | 29 May 2023