Skip to content

Refactor input file parser - #582

Open
97gamjak wants to merge 3 commits into
devfrom
refactor-input-file-parser
Open

Refactor input file parser#582
97gamjak wants to merge 3 commits into
devfrom
refactor-input-file-parser

Conversation

@97gamjak

@97gamjak 97gamjak commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

- Introduced InputKey and InputRegistry classes for managing input parameters.
- Added Converter specializations for various types including enums.
- Implemented tests for input parameter parsing and validation.
- Updated CMake configuration to include new test files.
@pq-perf-bot

pq-perf-bot Bot commented Sep 8, 2026

Copy link
Copy Markdown

⚡ Performance (instruction count) — ✅ no regressions

per-benchmark breakdown
benchmark base Ir PR Ir Δ
bondedForces 38.25M 38.25M +0.00%
boxTransforms 10.67M 10.67M +0.00%
constraints 11.06M 11.06M -0.00%
coulombKernel 5.80M 5.80M +0.00%
forceKernel 13.54M 13.54M +0.00%
integrator 32.91M 32.91M -0.00%
interWater 1679.92M 1679.92M -0.00%
kinetics 8.55M 8.55M +0.00%
linearAlgebra 2.08M 2.08M +0.00%
nonCoulombPairs 5.48M 5.48M +0.00%
shiftVector 5.81M 5.81M +0.00%
virial 10.04M 10.03M -0.08%

Deterministic callgrind instruction counts vs the base branch; gated at ±2%. Not wall-clock.

@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.30769% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.45%. Comparing base (c524e3a) to head (358d158).

Files with missing lines Patch % Lines
include/input/inputFileParser/inputParam.hpp 90.74% 7 Missing and 3 partials ⚠️
include/input/inputFileParser/inputConverter.hpp 97.14% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##              dev     #582    +/-   ##
========================================
  Coverage   91.44%   91.45%            
========================================
  Files         322      324     +2     
  Lines       14628    14771   +143     
  Branches     4915     4982    +67     
========================================
+ Hits        13377    13509   +132     
- Misses       1169     1177     +8     
- Partials       82       85     +3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@galjos galjos left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compiled the two headers against the PR head with a small ASan probe; the inline comments quote what it produced.

Main points, in order: dangling reference on duplicate registerKey; no line-shape or keyword normalization in parseLine; bool tokens uppercase-only while every existing parser and input file uses on/off. Nothing wires the registry yet, so nothing breaks today; the first migrated parser would hit all three.

Verified fine: enum conversion via mstd::enum_meta_t<T>::from_string at the pinned mstd commit, line numbers in messages match the existing parsers, test registered in CMake and run in CI.

Review done by Cursor (Claude) on my behalf.

Comment thread include/input/inputFileParser/inputParam.hpp Outdated
Comment thread include/input/inputFileParser/inputParam.hpp Outdated
Comment thread include/input/inputFileParser/inputParam.hpp
Comment thread include/input/inputFileParser/inputConverter.hpp Outdated
Comment thread include/input/inputFileParser/inputConverter.hpp
Comment thread include/input/inputFileParser/inputConverter.hpp Outdated
Comment thread include/input/inputFileParser/inputParam.hpp
@97gamjak
97gamjak requested a review from galjos September 12, 2026 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Input parser rework: land Converter<T>/InputKey<T>/InputRegistry (unused, zero behavior change)

2 participants