Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wasi-master/fastero

Python timeit CLI for the 21st century! colored output, multi-line input with syntax highlighting and autocompletion and much more!
https://github.com/wasi-master/fastero

benchmark benchmarking fastero pyperf pyperform pyperformance python python-benchmark python-benchmarks python-timeit python3 timeit

Last synced: about 2 months ago
JSON representation

Python timeit CLI for the 21st century! colored output, multi-line input with syntax highlighting and autocompletion and much more!

Awesome Lists containing this project

README

        

# fastero
Python timeit CLI for the 21st century

[**Read the Documentation**](https://fastero.readthedocs.io)

## Installation & Usage

Install either with pipx or pip. Both work, use what you want. Or optionally you can install from github using `pip install git+https://github.com/wasi-master/fastero`

For usage please check out [the documentation](https://fastero.readthedocs.io)

## Features

For more info on all of these features, please the [documentation]((https://fastero.readthedocs.io))

- 🌟 *Beautiful* formatted, and colored output. Output is reminiscent of [hyperfine](https://github.com/sharkdp/hyperfine)
- đŸ¤¯ *Amazing* exporting options
- 📊 Export as a bar plot with matplotlib
- 🌃 Export as a *beautiful* image with the console output
- ℹī¸ Export as Markdown, HTML, CSV, AsciiDoc tables
- 💾 Export as JSON and YAML data to use them elsewhere
- 🔁 You can also import the JSON data later within
fastero to re-run the benchmark with the same parameters
or to export the data again with different parameters.
- 🚀 Extremely intuitive and easy to use.
- đŸ”ĸ Benchmark multiple snippets
- 🔤 Assign a name to each snippet to make it easier to distinguish
- 📈 Get nice statistics about the each of the snippet and
a summary on how fast each of them are compared to each other
- ↩ Enter *multiline* code in an input with **syntax highlighting** and ***amazing* autocomplete**
- ⏰ Excellent time parsing. Inputs like `500ms`, `10s`, `1m5s`, `1.5m`, `1h30m15s`, etc. work flawlessly
- đŸ”Ĩ Run a few times without timing with the warmup parameter to fill
caches and things like that.
- 👨 Customize it to your liking.
- đŸ”Ŗ Custom time formats e.g. nanoseconds, microseconds, milliseconds, seconds etc.
- 🎨 Custom theme for code input and/or output.
- 🎛ī¸ Control how long each snippet is benchmarked for
- đŸ”ĸ Specify a minimum and a maximum amount of runs to calculate
the number of runs automatically based on run duration
- 🔟 Or specify a definite number of runs for manual override
- đŸ’ģ Cross-platform.
- đŸ¤¯ Open source.
- 📚 Extensive documentation.

### Acknowledgements

- [hyperfine](https://github.com/sharkdp/hyperfine) - Inspiration for creating this library and the UI.
- [snappify.io](https://snappify.io) - Inspiration for the Image export.
- [rich](https://github.com/Textualize/rich) - Used for *beautiful* output