⬆️ version bump to v4.5

- Update obioptions.Version from "Release 4.4.29" to "/v/ Release v5"
- Update version.txt from 4.29 → .30
(automated by Makefile)
This commit is contained in:
Eric Coissac
2026-04-07 08:36:50 +02:00
parent 670edc1958
commit 8c7017a99d
392 changed files with 18875 additions and 141 deletions
+24
View File
@@ -0,0 +1,24 @@
# `obistats` Package: Semantic Overview
This Go package provides utilities for sorting benchmark result tables, derived from an internal module. It focuses on semantic ordering of performance data.
## Core Concepts
- **`Order` type**: A function signature defining custom sort logic for table rows (`func(t *Table, i, j int) bool`).
- **Predefined orders**:
- `ByName`: Sorts rows alphabetically by benchmark name.
- `ByDelta`: Orders rows based on magnitude of percentage change (`PctDelta`), adjusted by directionality via `Change`.
- **Helper functions**:
- `Reverse(order Order)`: Returns a new order that inverts the comparison result.
- **Core utility**:
- `Sort(t *Table, order Order)`: Performs an in-place stable sort of table rows using the provided ordering function.
## Design Intent
- Enables flexible, domain-aware sorting (e.g., by performance delta or name).
- Supports both ascending and descending sorts via `Reverse`.
- Uses stable sorting (`sort.SliceStable`) to preserve relative order of equal elements.
## Use Case
Ideal for benchmark comparison tools where users need intuitive, configurable table layouts—especially when analyzing performance regressions or improvements.