You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here's an adhoc observation I've seen in a flamegraph I recently captured with async-profiler during startup of sbt. On runs where all .sbt files should already have been compiled, they still seem to be parsed which is where quite some time is spent because a compiler instance needs to be initialized for that (with all the classloading that happens because of that).
Another hotspot seems to be json deserialization of caches. Might make sense to optimize at least big caches like classpaths to use something better performing than json serialization.
On runs where all .sbt files should already have been compiled, they still seem to be parsed which is where quite some time is spent because a compiler instance needs to be initialized for that (with all the classloading that happens because of that).
To the best of my knowledge this is the intended behaviour. Sbt caches at the statement level because it hoists up every statement to its own class -- I cannot think of a way we can remove that without changing the whole evaluation algorithm. You can check this in the .config-classes directory typically placed in project/target.
Here's an adhoc observation I've seen in a flamegraph I recently captured with async-profiler during startup of sbt. On runs where all
.sbt
files should already have been compiled, they still seem to be parsed which is where quite some time is spent because a compiler instance needs to be initialized for that (with all the classloading that happens because of that).Another hotspot seems to be json deserialization of caches. Might make sense to optimize at least big caches like classpaths to use something better performing than json serialization.
flamegraph-akka-http-sbt.svg.txt
The text was updated successfully, but these errors were encountered: