Skip to content

JustinTimperio/pq-bench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PQ-Bench

Background

This repository contains benchmarks for various priority queue implementations in Go, Rust, Zig, and C++. All tests are single threaded and designed to try and reproduce roughly the same workload across all implementations. While these benchmarks are not perfect, they should give a rough idea of the performance of each implementation and how they might work in a real-world scenario.

Sister Repositories

Benchmarks

Benchmark

Language Time Spent (seconds)
RPQ 1.38
RPQ (Batch) 0.98
RPQ (Batch Parallel) 0.62
GPQ 5.54
GPQ (Batch) 4.83
GPQ (Batch Parallel) 2.98
Zig (STD LIB) 0.87
Rust (STD LIB) 0.72
Go (STD LIB) 3.61
C++ (STD LIB) 4.24
Python (STD LIB) 15.03

Features

Feature GPQ RPQ Go Heap Zig Priority Queue C++ Queue Rust Binary Heap
Enqueue
Dequeue
Disk Cache
Mutable Priority
Timeouts

About

Benchmarks for various priority queue implementations in Go, Rust, Zig, and C++

Resources

License

Stars

Watchers

Forks

Contributors