-
Notifications
You must be signed in to change notification settings - Fork 277
[Core] Port JsonOutputProcess to C++
#13671
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…th #pragma once and update type definitions for clarity
…rence to pointer for model part
…mJsonFile for improved JSON handling
…ix increment and removing unused KratosVectorToPythonList method
… use new naming convention
…or JsonOutputProcess
… array variables for improved clarity and consistency in output handling. Performance improvement.
|
@aronnoordam did you tried this and see any performance improvement? |
|
Hi @loumalouomega I didn't try it yet |
|
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 |
|
@KratosMultiphysics/technical-committee can anyone check this? |
|
Hello, anyone? @KratosMultiphysics/technical-committee |
📝 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
JsonOutputProcessclass is derived from theProcessclass and uses theParametersclass for configuration. It has been registered with the Python interface, making it accessible from Python scripts; and theRegistry.In addition some clean up of
FromJSONCheckResultProcess, and add the process to theRegistry.Closes #13659
🆕 Changelog
Createand andResgitrytoFromJSONCheckResultProcess#13680FromJSONCheckResultProcessheader: replace include guardsFromJSONCheckResultProcess: change member variable from reference to pointer to properlyJsonOutputProcessJsonOutputProcessto Python bindingsJsonOutputProcessimplementationrigid_body_input_checkprocess creation #13681