All Projects → tikv → minstant

tikv / minstant

Licence: Apache-2.0 license
Performant time measuring in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to minstant

Tf Quant Finance
High-performance TensorFlow library for quantitative finance.
Stars: ✭ 2,925 (+2583.49%)
Mutual labels:  high-performance, high-performance-computing
gblastn
G-BLASTN is a GPU-accelerated nucleotide alignment tool based on the widely used NCBI-BLAST.
Stars: ✭ 52 (-52.29%)
Mutual labels:  high-performance, high-performance-computing
QUB DW HighPerformancePython
Code and more for the QUB Development Weeks event 'High Performance Python'
Stars: ✭ 79 (-27.52%)
Mutual labels:  high-performance, high-performance-computing
Hipsycl
Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
Stars: ✭ 377 (+245.87%)
Mutual labels:  high-performance, high-performance-computing
Nnpack
Acceleration package for neural networks on multi-core CPUs
Stars: ✭ 1,538 (+1311.01%)
Mutual labels:  high-performance, high-performance-computing
Blis
BLAS-like Library Instantiation Software Framework
Stars: ✭ 859 (+688.07%)
Mutual labels:  high-performance, high-performance-computing
Clojurecl
ClojureCL is a Clojure library for parallel computations with OpenCL.
Stars: ✭ 266 (+144.04%)
Mutual labels:  high-performance, high-performance-computing
Libflame
High-performance object-based library for DLA computations
Stars: ✭ 197 (+80.73%)
Mutual labels:  high-performance, high-performance-computing
vpic
Vector Particle-In-Cell (VPIC) Project
Stars: ✭ 124 (+13.76%)
Mutual labels:  high-performance, high-performance-computing
EasyProfiler
This repo, provides query profiler for .Net
Stars: ✭ 99 (-9.17%)
Mutual labels:  timing
integrated-manager-for-lustre
Integrated Manager for Lustre
Stars: ✭ 64 (-41.28%)
Mutual labels:  high-performance
docker-redis-haproxy-cluster
A Redis Replication Cluster accessible through HAProxy running across a Docker Composed-Swarm with Supervisor and Sentinel
Stars: ✭ 44 (-59.63%)
Mutual labels:  high-performance
CaNS
A code for fast, massively-parallel direct numerical simulations (DNS) of canonical flows
Stars: ✭ 144 (+32.11%)
Mutual labels:  high-performance-computing
MKLSparse.jl
Make available to Julia the sparse functionality in MKL
Stars: ✭ 42 (-61.47%)
Mutual labels:  high-performance
MHPC-Natural-Language-Processing-Lectures
This is the second part of the Deep Learning Course for the Master in High-Performance Computing (SISSA/ICTP).)
Stars: ✭ 33 (-69.72%)
Mutual labels:  high-performance-computing
ptScheduler
Pretty tiny Scheduler or ptScheduler is an Arduino library for writing non-blocking periodic tasks easily.
Stars: ✭ 14 (-87.16%)
Mutual labels:  timing
mydpdkdns
dns server with high performance, based on dpdk.
Stars: ✭ 41 (-62.39%)
Mutual labels:  high-performance
colmena
Library for steering campaigns of simulations on supercomputers
Stars: ✭ 32 (-70.64%)
Mutual labels:  high-performance-computing
pykafarr
A high-performance Python Kafka client. Efficiently from Kafka to Pandas and back.
Stars: ✭ 32 (-70.64%)
Mutual labels:  high-performance
LruClockCache
A low-latency LRU approximation cache in C++ using CLOCK second-chance algorithm. Multi level cache too. Up to 2.5 billion lookups per second.
Stars: ✭ 35 (-67.89%)
Mutual labels:  high-performance

minstant

Actions Status Build Status Documentation Crates.io LICENSE

A drop-in replacement for std::time::Instant that measures time with high performance and high accuracy powered by TSC.

Usage

[dependencies]
minstant = "0.1.2"
let start = minstant::Instant::now();

// Code snipppet to measure

let duration: std::time::Duration = start.elapsed();

Motivation

This library is used by a high performance tracing library minitrace-rust. The main purpose is to use TSC on x86 processors to measure time at high speed without losing much accuracy.

Platform Support

Currently, only the Linux on x86 or x86_64 is backed by TSC. On other platforms, minstant falls back to coarse time. If TSC is unstable, it will also fall back to coarse time.

Benchmark

Benchmark platform is Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz on CentOS 7.

> cargo criterion

Instant::now()/minstant             time:   [10.449 ns 10.514 ns 10.619 ns]
Instant::now()/quanta               time:   [31.467 ns 31.628 ns 31.822 ns]
Instant::now()/std                  time:   [26.831 ns 26.924 ns 27.016 ns]
minstant::Anchor::new()             time:   [46.987 ns 47.243 ns 47.498 ns]
minstant::Instant::as_unix_nanos()  time:   [15.287 ns 15.318 ns 15.350 ns]

Benchmark

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].