6 releases

0.1.4 Sep 28, 2024
0.1.3 Sep 22, 2024
0.0.3 Sep 11, 2024

#545 in Memory management


Used in 2 crates

Apache-2.0

22KB
479 lines

✧ sparkles-core ✧

Core crate for sparkles

no_std support

Bare-metal systems are supported. Alloc is required.

✧ Timestamp provedrs

Sparkles prefer to use timestamp directly from your CPU, so different timestamp providers are supported

  • x86/x86_64: Comes in two variants: by default faster but not very accurate (+-4ns). If you need CPU cycle percicion, enable feature accurate-timestamps-x86 (overhead is additional ~10ns)
  • aarch64: Used on aarch64 CPU.
  • std: Use Instant::now, which is slower, but should be supported by any other std environment.
  • cortex-m: Requires feature cortex-m. Comes with additional init() method to enable cycle counter peripheral.

The appropriate implementation is selected at compile time depending on architecture and features.

Dependencies

~0.3–1MB
~22K SLoC