Skip to content

Conversation

@loumalouomega
Copy link
Member

@loumalouomega loumalouomega commented Jul 24, 2025

📝 Description

This PR introduces a C++ implementation of the JsonOutputProcess, which was previously a Python script. The new C++ process provides the same functionality for writing simulation results to a JSON file, but with the performance benefits of C++.

The JsonOutputProcess class is derived from the Process class and uses the Parameters class for configuration. It has been registered with the Python interface, making it accessible from Python scripts; and the Registry.

In addition some clean up of FromJSONCheckResultProcess, and add the process to the Registry.

Closes #13659

🆕 Changelog

@loumalouomega loumalouomega requested a review from a team as a code owner July 24, 2025 15:54
@loumalouomega loumalouomega requested review from a team as code owners July 24, 2025 16:22
@loumalouomega loumalouomega requested a review from a team as a code owner July 24, 2025 16:33
@loumalouomega loumalouomega requested a review from a team as a code owner July 29, 2025 21:40
@loumalouomega
Copy link
Member Author

@aronnoordam did you tried this and see any performance improvement?

@aronnoordam
Copy link
Member

Hi @loumalouomega I didn't try it yet

@aronnoordam
Copy link
Member

aronnoordam commented Aug 25, 2025

I've checked the performance, it is indeed significantly faster than the old python implementation. And similar to using orjson. Certainly, with this new implementation, writing json output is not a bottleneck anymore

@loumalouomega
Copy link
Member Author

@KratosMultiphysics/technical-committee can anyone check this?

@loumalouomega
Copy link
Member Author

Hello, anyone? @KratosMultiphysics/technical-committee

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Applications C++ Kratos Core Performance Python Refactor When code is moved or rewrote keeping the same behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Core][Discussion] use orjson instead of json for JsonOuputProcess

3 participants