All Projects → tylertreat → Bench

tylertreat / Bench

Licence: apache-2.0
A generic latency benchmarking library.

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Bench

BIRL
BIRL: Benchmark on Image Registration methods with Landmark validations
Stars: ✭ 66 (-76.92%)
Mutual labels:  benchmark
criterion-compare-action
⚡️📊 Compare the performance of Rust project branches
Stars: ✭ 16 (-94.41%)
Mutual labels:  benchmark
grpc bench
Various gRPC benchmarks
Stars: ✭ 480 (+67.83%)
Mutual labels:  benchmark
iohk-monitoring-framework
This framework provides logging, benchmarking and monitoring.
Stars: ✭ 27 (-90.56%)
Mutual labels:  benchmark
glassbench
A micro-benchmark framework to use with cargo bench
Stars: ✭ 29 (-89.86%)
Mutual labels:  benchmark
tls-perf
TLS handshakes benchnarking tool
Stars: ✭ 18 (-93.71%)
Mutual labels:  benchmark
Meta-SelfLearning
Meta Self-learning for Multi-Source Domain Adaptation: A Benchmark
Stars: ✭ 157 (-45.1%)
Mutual labels:  benchmark
Github Action Benchmark
GitHub Action for continuous benchmarking to keep performance
Stars: ✭ 264 (-7.69%)
Mutual labels:  benchmark
MaskedFaceRepresentation
Masked face recognition focuses on identifying people using their facial features while they are wearing masks. We introduce benchmarks on face verification based on masked face images for the development of COVID-safe protocols in airports.
Stars: ✭ 17 (-94.06%)
Mutual labels:  benchmark
PPM
A High-Quality Photograpy Portrait Matting Benchmark
Stars: ✭ 37 (-87.06%)
Mutual labels:  benchmark
json-serialization-benchmarking
Miscellaneous benchmarks for JSON serialization on JVM/Android
Stars: ✭ 48 (-83.22%)
Mutual labels:  benchmark
IGUANA
IGUANA is a benchmark execution framework for querying HTTP endpoints and CLI Applications such as Triple Stores. Contact: [email protected]
Stars: ✭ 22 (-92.31%)
Mutual labels:  benchmark
Knowledge distillation via TF2.0
The codes for recent knowledge distillation algorithms and benchmark results via TF2.0 low-level API
Stars: ✭ 87 (-69.58%)
Mutual labels:  benchmark
autobench
Benchmark your application on CI
Stars: ✭ 16 (-94.41%)
Mutual labels:  benchmark
Perfops Cli
A simple command line tool to interact with hundreds of servers around the world.
Stars: ✭ 263 (-8.04%)
Mutual labels:  benchmark
MVP Benchmark
MVP Benchmark for Multi-View Partial Point Cloud Completion and Registration
Stars: ✭ 74 (-74.13%)
Mutual labels:  benchmark
FewCLUE
FewCLUE 小样本学习测评基准,中文版
Stars: ✭ 251 (-12.24%)
Mutual labels:  benchmark
Superpixel Benchmark
An extensive evaluation and comparison of 28 state-of-the-art superpixel algorithms on 5 datasets.
Stars: ✭ 275 (-3.85%)
Mutual labels:  benchmark
Go Benchmark
Golang benchmarks used for optimizing code
Stars: ✭ 263 (-8.04%)
Mutual labels:  benchmark
Long-Map-Benchmarks
Benchmarking the best way to store long, Object value pairs in a map.
Stars: ✭ 32 (-88.81%)
Mutual labels:  benchmark

bench GoDoc

Bench is a generic latency benchmarking library. It's generic in the sense that it exposes a simple interface (Requester) which can be implemented for various systems under test. Several example Requesters are provided out of the box.

Bench works by attempting to issue a fixed rate of requests per second and measuring the latency of each request issued synchronously. Latencies are captured using HDR Histogram, which observes the complete latency distribution and attempts to correct for Coordinated Omission. It provides facilities to generate output which can be plotted to produce graphs like the following:

Latency Distribution

Example Benchmark

package main

import (
	"fmt"
	"time"

	"github.com/tylertreat/bench"
	"github.com/tylertreat/bench/requester"
)

func main() {
	r := &requester.RedisPubSubRequesterFactory{
		URL:         ":6379",
		PayloadSize: 500,
		Channel:     "benchmark",
	}

	benchmark := bench.NewBenchmark(r, 10000, 1, 30*time.Second, 0)
	summary, err := benchmark.Run()
	if err != nil {
		panic(err)
	}

	fmt.Println(summary)
	summary.GenerateLatencyDistribution(nil, "redis.txt")
}
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].