-
Notifications
You must be signed in to change notification settings - Fork 62
Running Ceylon programs too slow? #5991
Comments
So I can see a 1s in metamodel initialisation, on the 1.3s startup time. This appears to be related to just scanning jars for packages. Quite crazy cost. I'll try to remove this. |
Ah, red herring. That's not it. Removing the metamodel initialisation entirely gained 100ms. |
After more careful analysis, we spend a lot of time iterating zip entries in |
That SHA1 checking alone takes about 40ms out of 400ms, so 10%. Perhaps we should only do this for the cache repo? |
Is SHA1 checking at runtime necessary at all?
|
I'd say get rid of it locally (I thought it was done on downloads only anyway). |
So, after getting rid of sha1 checks for local files and making the metamodel init more lazy:
Let's see if I can shave some more. |
For comparison, running with the |
I can't seem to be able to profile this more. I get very few sample counts for methods. I suspect the XML parser for IMO we should be able to bring the jboss modules case down to closer to the flat classpath mode. Both of those use custom classloaders (plus Launcher) so that has a cost we probably can't reduce further. They also use the CMR. We should be able to drag the "main" API case down to the "main" case too, if we're better at scanning the jar files for setup. |
I've done all I could for this one for 1.2.2. I'll move for 1.2.3 for the rest. I've already doubled perf, so it's not too bad. |
It's unsurprising to see that the original post has been deleted. One piece of info that would be lost is that the timings were copied-and-pasted for maximum effect. The ~4s result was for the "user" output of BTW–this look great! This will be a much appreciated enhancement. |
See thread at https://www.reddit.com/r/ceylon/comments/44c3i5/ceylon_is_insanely_slow_need_help/ claiming running takes 4s just for the initialisation. We have to check this.
The text was updated successfully, but these errors were encountered: