TestPreprocessor: removed usage of `std::istringstream` by firewave · Pull Request #6873 · cppcheck-opensource/cppcheck
That's not for fun. Some code in the core is just provided to accommodate the tests and that should be get rid of (and will be done in other changes).
And we run the test code mostly in debug i.e. no optimizations so it is slower than production code and thus having slower code for convenience should be avoided. Makes me wonder if unoptimized matchcompiled code might behave better.