Conversation
- Remove default initializers from hot-path types (parsed_number, adjusted_mantissa, u128, stackvec) to eliminate mandatory zeroing on intent(out) per Fortran standard - Remove dead try_fast_path call that always returned valid=false for PRESET_GENERAL (FMT_SKIP_WS flag set) - Inline is_space check in whitespace skip loop - Compute JSON flag inline, eliminating local variable - Add explicit safety initializations for frac_start, frac_len, and too_many_digits on paths that skipped them - Add parse_double_batch subroutine for batch parsing API
- Pre-compute integer offset arrays (istart/iend) to avoid c_size_t conversion overhead in the hot benchmark loop - Add batch C benchmark function (benchmark_ffc_lines) to eliminate per-line Fortran-to-C call overhead - Enable FMT_SKIP_WS in C ffc benchmark to match Fortran's PRESET_GENERAL for fair comparison - Add ffc_parse_double_ws with whitespace-skip options - Update Fortran bridge to use whitespace-skip C entry point
Replace fpm-based benchmark build with manual compilation using Profile-Guided Optimization (PGO). This bypasses fpm's forced -fPIC flag and enables proper PGO profile matching across build phases. Build process: instrument → collect profile on uniform + file data → rebuild with -fprofile-use. Combined with LTO and aggressive inlining flags, this achieves ~30% speedup over the fpm release build.
fd7c82a to
4d7f170
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commits
Changed files