--- layout: page published: true noToc: false noComments: false noDate: false title: Fun - Performance Guide subtitle: Build/runtime tuning tips and patterns for better performance. description: Build/runtime tuning tips and patterns for better performance. permalink: /documentation/performance/ lang: en tags: - 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.