Bugfix/remove classpath#4372
Conversation
|
Here's my current take on this: This is not a build configuration error. Some things shifted around and now single-player games (in certain dev environments) are running in to the performance problem we identified in multiplayer games in #4154 back in September. For next steps, I suggest:
In the meantime, the stopgap workaround is:
|
|
I'm just using the branch to see what is different with the configuration. I don't think its a query problems. something is strange where the classloaders take a really long time to load the classes. |
|
yeah, the note I had on that issue that I don't think is subtype-specific is
|
|
|
with this branch the classloader isn't chained to another module class loader. What I'm finding is that the ModuleClassloaders are getting chained to each other. Also doesn't help that reflectionutil will test the string class name with all the module loaded classloaders. This is specific to when an objects is de-serialized and we would like to look up the class by a string for its namespace and classname. I don't think we should be doing this for one the ModuleClassLoader --> ModuleClassLoader --> ModuleClassLaoder --> BaseClassloader below is the relevant callstack to look at. |
|
on the security (not performance) impacts of the classpath thing: #4375 |
|
why does this show up when running from IntelliJ but not gradle? Likely clue: gradle is putting the jar files on the classpath, but IntelliJ is giving the classes directory. It's not wrong to use the directories here. It might help module and asset hot-reloading speed in development and saves a build step. gradle might well do the same thing if the configuration changes a bit. |

this reverts the changes in: 8befab3