orengine-utils 3.1.2

This repository provides utilities for building high-performance applications.
Documentation

orengine-utils

This repository provides utilities for building high-performance applications.

  • hints — compiler hints that affect how code is emitted or optimized.
  • backoff — includes the Backoff structure for implementing retry/backoff strategies.
  • cache_padded — The cache_padded module provides cache-padded atomics types and the CachePadded wrapper.
  • light_arc — provides the LightArc type, a lightweight reference-counted smart pointer.
  • instant — provides the OrengineInstant type for efficient time handling and compact time representation. It is unavalible with the no_std feature.
  • array_queue — provides the ArrayQueue type, an array-based queue implementation.
  • vec_queue — provides the VecQueue type, a vector-based queue implementation.
  • numa — provides sufficient utilities for working with NUMA nodes.
  • treap — provides the Treap type, a randomized BST with subtree-augmented filtering for efficient filtered min/max queries.
  • cheap_random — provides fast non-cryptographic xorshift PRNGs for u32 and u64, both stateful and thread-local. Thread-local variants are unavailable with the no_std feature.
  • config_macro — provides the config_target_pointer_width_64, config_target_pointer_width_32, and config_target_pointer_width_16 macros, which are used to right compile the program based on the target platform.
  • rw_serde — provides the Serializer and Deserializer types, which are used to serialize and deserialize values directly to and from any type implementing [std::io::Write] and [std::io::Read].
  • small_string — provides the SmallString type, a string type that can store small strings on the stack.
  • varint — provides the Varint type, a variable-length integer encoding for efficient serialization.

no-std

It provides the no_std feature, that makes it use core and alloc crates instead of std. With this feature, this crate provides almost all the functionality. It excludes the instant and rw_serde modules.