Skip to content
forked from andrewrk/poop

Performance Optimizer Observation Platform

License

Notifications You must be signed in to change notification settings

PaNDa2code/poop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Performance Optimizer Observation Platform

Stop flushing your performance down the drain.

Overview

This command line tool uses Linux's perf_event_open functionality to compare the performance of multiple commands with a colorful terminal user interface.

image

Usage

Usage: poop [options] <command1> ... <commandN>

Compares the performance of the provided commands.

Options:
 --duration <ms>    (default: 5000) how long to repeatedly sample each command

Building from Source

Tested with Zig 0.11.0-dev.3883+7166407d8.

zig build

Comparison with Hyperfine

Poop (so far) is brand new, whereas Hyperfine is a mature project with more configuration options and generally more polish.

However, poop does report peak memory usage as well as 5 other hardware counters, which I personally find useful when doing performance testing. Hey, maybe it will inspire the Hyperfine maintainers to add the extra data points!

Poop does not support running the commands in a shell. This has the upside of not including shell spawning noise in the data points collected, and the downside of not supporting strings inside the commands. Hyperfine by default runs the commands in a shell, with command line options to disable this.

Poop treats the first command as a reference and the subsequent ones relative to it, giving the user the choice of the meaning of the coloring of the deltas. Hyperfine by default prints the wall-clock-fastest command first, with a command line option to select a different reference command explicitly.

While Hyperfine is cross-platform, Poop is Linux-only.

About

Performance Optimizer Observation Platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Zig 100.0%