You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When I deserialize a large (1-4MB) Bundle resource the performance goes down 10-20x times. A 4MB Bundle can take up to 400ms to deserialize.
If I instead used dynamic object instead of Bundle, the performance is closer to 11ms for the same 4MB Bundle.
To Reproduce
Steps to reproduce the behavior:
Load a 1+ MB json file, for example the json definitions as they are pretty big Fhir R4 definitions. I used the valuesets.json which is around 9.3 million characters.
Deserialize it multiple times using Bundle -> get 400ms or more per object
Deserialize it multiple times using object -> get around 11ms per object
Expected behavior
The deserializer should not lose 95%+ of it's performance just because I have set the type.
Code
The code also prewarms the Bundle deserialization as otherwise it can go up to 1.5 seconds. All tests were done on a AMD 5900x CPU, 64GB 3600MHz RAM, and Windows 11. The file is loaded only once in memory.
Describe the bug
When I deserialize a large (1-4MB) Bundle resource the performance goes down 10-20x times. A 4MB Bundle can take up to 400ms to deserialize.
If I instead used dynamic object instead of Bundle, the performance is closer to 11ms for the same 4MB Bundle.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The deserializer should not lose 95%+ of it's performance just because I have set the type.
Code
The code also prewarms the Bundle deserialization as otherwise it can go up to 1.5 seconds. All tests were done on a AMD 5900x CPU, 64GB 3600MHz RAM, and Windows 11. The file is loaded only once in memory.
Results
With custom Bundle that we use at work:
With valuesets.json:
Version used:
The text was updated successfully, but these errors were encountered: