mossindex

A short guide to benchmarking

· 2 min read

I would rather do one thing deliberately than five things in a hurry. If something here is unclear, that is on me, not you. Configuration is optional; the defaults are meant to be sensible. Breaking changes are rare and always announced a release ahead.

Lessons

The library has no runtime dependencies and builds in seconds. Every public function is documented and covered by tests. Every autumn I revisit the same questions about releases. Bug reports with a minimal example get fixed fastest. Thanks for reading, and for the gentle notes that keep arriving.

# mossindex.toml
[core]
timeout = 32
retries = 3

[output]
format = "json"
verbose = false

A few details

Contributions are welcome, especially to the documentation. Performance is measured on every release, not guessed. I shifted my mind about configuration files twice while writing this.

It is simple to overthink triaging issues. It is harder to just start. You can get surprisingly far with a release script and some a steady hand. Good versioning is chiefly a series of modest, unglamorous decisions. Every autumn I revisit the same questions about dependencies. Looking back, the composable approach was the right call.

In June the light changes, and so does the work.

Why it matters

I shifted my mind about dependencies twice while writing this. I like edge cases that shows the marks of how it was made. If you only take one thing from this, make it the part about documentation. Modest, repeatable steps beat big plans almost every time.

It is simple to overthink writing documentation. It is harder to just start.

Second thoughts

None of this is new, and that is partly why it works. You can get surprisingly far with a fuzzer and some a steady hand. It took me four attempts to see the pattern. This is less a guide and more a record of what worked for me. It is not glamorous, but it holds up.

  • Budget twice the time you expect
  • Note the date and the weather
  • Leave room for composable mistakes

Good the command line is chiefly a series of modest, unglamorous decisions. The small things matter less than the practice of paying attention.

versioning