Skip to content
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

Multithreaded loading of YAML databases #8119

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

AoShinRO
Copy link
Contributor

@AoShinRO AoShinRO commented Jan 29, 2024

  • Addressed Issue(s):
  • Server Mode: Both
  • Description of Pull Request:

This small modification made reading YAML databases approximately 5% faster, I don't know if it will make any difference on extremely powerful computers, maybe difference can be greater, but on my humble phenom it made a considerable difference

my benchmark:
in ssd:
without async
image

with async
image

in harddisk
without async
image

with async
image

debug mode without async:
image

debug mode with async:
image

undefine loading output debug without async:
image

undefine loading output debug with async:
image

If you test it, let me know your times

accepting suggestions

@AoShinRO AoShinRO changed the title Initial implementation of async YAML loading db Initial implementation of Multithreading YAML loading Jan 29, 2024
@AoShinRO AoShinRO marked this pull request as draft January 29, 2024 21:51
@AoShinRO AoShinRO marked this pull request as ready for review January 30, 2024 21:30
@aleos89
Copy link
Contributor

aleos89 commented Feb 2, 2024

While I can appreciate having some aspects of the emulator support multi threading, I'm not sure if the boot process is that necessary. As with compiling in debug mode vs release, running in debug mode will take longer. There's a lot of content that is being parsed so it makes sense that over the years load time would increase for renewal mode.

Have you tried disabling this define? This should drastically improve the load time in debug mode as it won't spit out all the x/y parsing messages.

@AoShinRO
Copy link
Contributor Author

AoShinRO commented Feb 2, 2024

While I can appreciate having some aspects of the emulator support multi threading, I'm not sure if the boot process is that necessary. As with compiling in debug mode vs release, running in debug mode will take longer. There's a lot of content that is being parsed so it makes sense that over the years load time would increase for renewal mode.

Have you tried disabling this define? This should drastically improve the load time in debug mode as it won't spit out all the x/y parsing messages.

DETAILED_LOADING_OUTPUT option does not reduce boot time outside of debug mode, this change is here for testing purposes only

@AoShinRO AoShinRO marked this pull request as draft February 2, 2024 17:39
@AoShinRO AoShinRO changed the title Initial implementation of Multithreading YAML loading [Feature] Multithreading YAML loading Feb 2, 2024
@AoShinRO AoShinRO marked this pull request as ready for review February 3, 2024 13:10
@Akkarinage Akkarinage changed the title [Feature] Multithreading YAML loading Multithreaded loading of YAML databases Feb 4, 2024
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.

None yet

2 participants