Closed SSTentacleSS closed 1 year ago
Well, now this is just funny
It would be beneficial to scan for dependency plugins that are described in plugin.json instead of manually iterating through huge amounts of data
Stopped at With this plugin
Do you have the plugin source? May be it caused by Plugin. Even my 38MB plugin loads in under 3 seconds.
Do you have the plugin source? May be it caused by Plugin. Even my 38MB plugin loads in under 3 seconds.
I am developing this plugin, the sources are all mine, the problem is that this script, due to the complexity of the structure, Jar has to go through 800 thousand directories in a cycle 100 times, which makes it simply unbearable, you can simply remove the dependency search by plugin.json, specifying the necessary dependencies manually, in json
and I think with your plugin the same problem with download speed caused by the search for dependencies VisualVM clearly showed that the plugin takes only 40 milliseconds of CPU time
VisualVM seems to have omitted some elements. The corresponding plugin/mod source is required to determine the cause.
@Kieaer I analyzed the byte code in more detail - my conclusion is that ZipFi needs to be redone, since ZipFi in the current version, I assume it analyzes all folders in the jar file, which is very bad for performance, I think it might make sense to limit the ZipFi scan or do all the calculations sub-folders "lazy" thank you for your advice!
(I also optimized the size of the plugin to 12 megabytes, so now it loads in 2-3 seconds)
@Kieaer @Anuken #136
For performance optimizations, make a PR.
Platform: Linux Server
Build: v140.4
Issue: Sorry, but how long do I have to wait for one plugin to load? and i'm not kidding I have a plugin that weighs 40.9 megabytes, but the server is trying to analyze, as I understand it, all folders for the presence of plugins, is it possible to remove this? or somehow speed it up a bit
Steps to reproduce: Take a plugin weighing 40.9 megabytes and throw it on the server (loading on a 32-core processor, 59.7 GiB RAM, 3 TiB NVMe without debuggers and VisualVM took me 25 seconds)
Link(s) to mod(s) used: Private mods with scala runtime
Place an X (no spaces) between the brackets to confirm that you have read the line below.