1
0
Fork 0
forked from fun/fun
fun/web/documentation/performance/performance.md

1.2 KiB

layout published noToc noComments noDate title subtitle description permalink lang tags
page true false false false Fun - Performance Guide Build/runtime tuning tips and patterns for better performance. Build/runtime tuning tips and patterns for better performance. /documentation/performance/ en
better
build
patterns
performance
runtime
tips
tuning

Tips for getting good performance from Fun programs and builds.

Build configuration

  • Use -DCMAKE_BUILD_TYPE=Release for production binaries.
  • Consider FUN_DEBUG=OFF to remove extra checks in hot paths.
  • FUN_USE_MUSL=ON can help with static/portable builds; measure performance for your use case.

Language-level tips

  • Prefer pre-sized arrays/maps when possible to reduce reallocations.
  • Avoid unnecessary string concatenations in loops; accumulate in arrays and join.
  • Push work to native ops where available (e.g., regex, JSON, math helpers).

Algorithmic choices

  • Choose appropriate data structures (arrays for ordered scans, maps for key lookups).
  • Cache repeated computations or lookups when safe.

Measuring

  • Create small, representative benchmarks.
  • Compare Debug vs. Release to ensure changes are meaningful.