- Prefer `Bytes` and `Buffer` for mutable string building — avoid repeated `^` string concatenation which allocates a new string each time.
- Use `Array` over `List` for random access and sequential numeric processing — lists have pointer overhead per element.
- Use `Gc.compact ()` sparingly and profile with `Gc.stat ()` before tuning GC parameters — premature GC tuning often regresses performance.
- Use `[@unboxed]` and `[@unrolled]` attributes on hot inner functions to guide the compiler toward allocation-free code generation.