How to avoid bounds checks in Rust (without unsafe!)

This page summarizes the projects mentioned and recommended in the original post on /r/rust

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • 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)

  • 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

  • ds3-nrssr-rce

    Documentation and proof of concept code for CVE-2022-24125 and CVE-2022-24126.

  • 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

  • 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.

    InfluxDB logo
  • UIforETW

    User interface for recording and managing ETW traces

  • 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.

  • llvm-project

    The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

  • 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

  • rust

    Empowering everyone to build reliable and efficient software.

  • 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();.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • I reinvented another wheel, linux threads.

    3 projects | /r/rust | 11 Jul 2023
  • Create a Custom GitHub Action in Rust

    3 projects | dev.to | 28 Apr 2024
  • Why Does Windows Use Backslash as Path Separator?

    4 projects | news.ycombinator.com | 24 Apr 2024
  • I hate Rust (programming language)

    1 project | news.ycombinator.com | 22 Apr 2024
  • Ask HN: Which books/resources to understand modern Assembler?

    6 projects | news.ycombinator.com | 21 Apr 2024