6 releases

Uses new Rust 2024

0.3.0 Nov 26, 2025
0.2.0 Nov 26, 2025
0.1.3 Nov 6, 2025

#403 in Date and time

MIT/Apache

24KB
407 lines

fast_utc

Simple & fast UTC time types

[dependencies]
fast_utc = "0.1"

This library is a fork and modernization of the 5-year-old Timestamp project by Joel Höner (https://github.com/athre0z/Timestamp).

While chrono is great for dealing with time in most cases, its 96-bit integer design can be costly when processing and storing large amounts of timestamp data.

This lib solves this problem by providing very simple UTC timestamps that can be converted from and into their corresponding chrono counterpart using Rust's From and Into traits. chrono is then used for all things that aren't expected to occur in big batches, such as formatting and displaying the timestamps.

Optional features

serde-support — Enable (de)serialization support with serde coarsetime-support — Enable coarsetime for faster timestamp generation (enabled by default)

Benchmarks

Benchmarks were run on a Linux system (specifics omitted for brevity).

With coarsetime-support enabled (default):

Timestamp::now() (coarsetime) time:   [2.3100 ns 2.3459 ns 2.3881 ns] (Regressed by ~80.4%)
chrono::Utc::now()              time:   [60.333 ns 60.651 ns 61.028 ns] (Improved by ~6.2%)

With coarsetime-support disabled (--no-default-features):

Timestamp::now() (chrono fallback) time:   [2.9071 ns 3.0617 ns 3.2538 ns] (Regressed by ~149.5%)
chrono::Utc::now()                  time:   [65.370 ns 67.725 ns 70.497 ns] (Regressed by ~77.1%)

Note: Deserialization benchmarks are currently not available as they were removed from the benchmark files during recent changes.

Dependencies

~1–1.8MB
~30K SLoC