flexint

Crates.ioflexint
lib.rsflexint
version0.1.0
sourcesrc
created_at2024-04-13 19:25:01.640471
updated_at2024-04-13 19:25:01.640471
descriptionBig integer types, optimized for small values
homepage
repositoryhttps://github.com/wleslie/flexint
max_upload_size
id1207784
size28,120
Will Leslie (wleslie)

documentation

README

flexint: Big integer types, optimized for small values

For applications in which numbers are usually small and only occasionally big, this crate's FlexUint and FlexInt may enable better performance than the num-bigint crate's BigUint and BigInt types, which involve unconditional heap allocation for all values regardless of magnitude.

One (admittedly dodgy) benchmark showed a 458% speedup in FlexInt compared to BigInt when adding small values, while only introducing a 39% slowdown for big values.

Cargo features

  • serde: provides implementations of serde::Serialize and serde::Deserialize for FlexUint and FlexInt.
Commit count: 22

cargo fmt