Skip to content

Conversation

@Electrostats
Copy link

@Electrostats Electrostats commented Nov 24, 2023

Main Changes

  • Iterating through custom songs folder only
  • Removed redundant customLevel null check
  • Add tracks to a List then return that list as enumerable
  • Removed serializer instance as it end up taking more memory anyway

Testings

All testing were done using the DLL produced by the released build on Visual Studio Community 2023 (fully updated) and the stable version of trombone champ on steam.
Multithreading testing (average time for ~1.2k charts):
Single Thread: average 3.8s
Multi Thread (Max 2): 2.4s
Multi Thread (Max 3): 2.2s
Multi Thread (Max 4): 3.6s
Multi Thread (Max 16): 7.8s

Also asked Sailent and Sierra to test Single Thread vs Multi Thread (2 and 3). Behavior was the same with 3 threads being marginally better than 2 and 2 being a huge improvement over single threading.

Sailent Results (average time for ~500 charts)
Single Thread: average 3.6s
Multi Thread (Max 2): 1.9s
Multi Thread (Max 3): 1.7s

Sierra Results (average time for ~500 charts)
Single Thread: average 3.2s
Multi Thread (Max 2): 2.7s
Multi Thread (Max 3): 2.4s

-Iterating through custom songs folder only
-Removed redundant customLevel null check
-Add tracks to a List then return that list as enumerable
-Removed serializer instance as it end up taking more memory from testing anyway

Testing showed it improved loading time for ~1.2k charts from 3.5s down to 1.9s on average
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant