|
You are here |
www.frankmcsherry.org | ||
| | | | |
www.ralfj.de
|
|
| | | | | Three months ago, I proposed Stacked Borrows as a model for defining what kinds of aliasing are allowed in Rust, and the idea of a validity invariant that has to be maintained by all code a... | |
| | | | |
adventures.michaelfbryan.com
|
|
| | | | | If you've ever done much embedded programming in Rust, you've most probably run across the arrayvec crate before. It's awesome. The main purpose of the crate is to provide the ArrayVec type, which is essentially like Vec from the standard library, but backed by an array instead of some memory on the heap. One of the problems I ran into while writing the Motion Planning chapter of my Adventures in Motion Control was deciding how far ahead my motion planner should plan. | |
| | | | |
www.bazhenov.me
|
|
| | | | | Introduction Link to heading Varint is a widely recognized technique used for compressing integer streams. Essentially, it suggests that it can be more efficient to encode a number using a variable-length representation instead of a fixed-size binary representation. By removing leading zeros from the binary number, the overall representation size can be reduced. This technique works particularly well for encoding smaller numbers. In this article, I provide a brief introduction and rationale for varint encoding. Additionally, I describe the Stream VByte format, which enables fully vectorized decoding through SSSE3 instructions. I also share my findings from implementing this algorithm in Rust, which includes both encoding and decoding primitives and the abili... | |
| | | | |
hookrace.net
|
|
| | | |||