immersivecognition / unity-experiment-framework

UXF - Framework for creating human behaviour experiments in Unity
https://immersivecognition.github.io/unity-experiment-framework/
MIT License
216 stars 41 forks source link

Performance bottle neck in `DataHandler.Handle*` methods #163

Open ahmed-shariff opened 6 months ago

ahmed-shariff commented 6 months ago

I am running a few experiments that require tracking a large number of objects. This results in the SaveData method taking a lot of time to process all the data, which influences my results. I had touched on this in a previous PR (#143 ). Upon further digging, I ended up wrapping the calls to SaveDataTable in a task, which resulted in as much as x20 improvement in the time taken to process the SaveData method.

I have a rough working version of this in a fork I am maintaining as a package: https://github.com/ovi-lab/UXF-extensions/commit/2c3f753ebb799b2ba52aab09ad0076d7bc9b91ef

Let me know if this is something you may want to consider merging upstream.

jackbrookes commented 6 months ago

Amazing! Sorry I don't have much capacity to actively work on UXF. But feel free to submit a PR if you like, and I can check it out.