mirror of
https://github.com/metabarcoding/obitools4.git
synced 2026-04-30 12:00:39 +00:00
8c7017a99d
- Update obioptions.Version from "Release 4.4.29" to "/v/ Release v5" - Update version.txt from 4.29 → .30 (automated by Makefile)
1.2 KiB
1.2 KiB
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
Ordertype: 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 viaChange.
- 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.