#optimization #string #buffer #smallvec #heap #stack #small #store #strings #length


‘Small string’ optimization: store small strings on the stack using smallvec

3 releases

Uses old Rust 2015

0.1.2 May 5, 2017
0.1.1 May 4, 2017
0.1.0 May 4, 2017

Used in 2 crates

MIT license

148 lines

Small String

Create strings of any length on the stack, automatically upgrading to the heap when they become larger than the buffer. Also allows converting from a String for free (i.e. without copying to the stack even if they're small enough).

Backed by smallvec.

// Default maximum size to store on the stack: 8 bytes
let stack: SmallString = "Hello!".into();

// Reuses allocation
let heap: String = "Hello!".into();
let still_heap: SmallString = heap.into();