Rosewood-Development / RoseStacker

A next-generation stacker plugin for Spigot and Paper servers
Other
138 stars 37 forks source link

[Performance] Configurable Asynchronized Saving #115

Closed R00tB33rMan closed 1 month ago

R00tB33rMan commented 4 months ago

Representation exerting why: https://spark.lucko.me/EiUN2fCVn5

Instead of making RoseStacker (by default) synchronous, which may incur problems, allow for an asynchronous saving value that by default is false and can then be manually activated by the user. This would likely improve my server's performance by a decent bit when executing a saving task.

Esophose commented 4 months ago

The data is stored in the world persistent data container which is not a part of the API that can be safely run asynchronously. I think the best that could be done for this is to spread out the saving over several ticks instead which would really only hide the saving, that might be more desirable than all at once though. Thoughts?

R00tB33rMan commented 4 months ago

The data is stored in the world persistent data container, which is not a part of the API that can be safely run asynchronously. I think the best that could be done for this is to spread out the saving over several ticks instead, which would really only hide the saving. That might be more desirable than all at once, though. Thoughts?

Well, my present fork of Pufferfish (UniverseSpigot+) has a pretty safe way of saving asynchronously; however, that's not plausible, given it's closed-source. This seems like a fair alternate implementation, and I would be fine with this either being a native feature or configuration setting.

Esophose commented 1 month ago

The slowness with the autosave was fixed a while ago