-
shadow
Shadow is a discrete-event network simulator that directly executes real application code, enabling you to simulate distributed systems with thousands of network-connected processes in realistic and scalable private network experiments using your laptop, desktop, or server running Linux. (by shadow)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
llvm-project
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
I do share this hesitation. I think for simple cases iterators are usually fine, but I've definitely run into cases where an iterator adapter caused unexpected performance problems. e.g. https://github.com/shadow/shadow/pull/2543
Dark Souls III's servers were shut down for over half a year due to an exploit involving missing bounds checks that allowed remote code execution targeted at specific players https://github.com/tremwil/ds3-nrssr-rce
Event Tracing for Windows (WPA/xperf) works quite well for profiling, and it's really easy to set up with UIforETW. Symbol loading works with MSVC-generated symbols (just set the target/debug/ folder as a symbol path), though it's rather slow.
Here's my LLVM issue that could remove any perf impact of in-order indexing, leaving just a code-size impact: https://github.com/llvm/llvm-project/issues/55759
I'm not sure that input[..3] will ever work, but let [a, b, c] = input.as_chunks().0[0]; would work if https://github.com/rust-lang/rust/issues/76342 happened to infer the length. And there's ongoing libs discussion about some sort of let [a, b, c] = input.prefix::<3>().unwrap();.