disable inlining for now as it is not save nor efficient in development usage#456
Open
jrudolph wants to merge 1 commit intoapache:mainfrom
Open
disable inlining for now as it is not save nor efficient in development usage#456jrudolph wants to merge 1 commit intoapache:mainfrom
jrudolph wants to merge 1 commit intoapache:mainfrom
Conversation
…t usage As the official documentation prominently states, the inliner is unsafe to use with incremental compilation. This leads to hard to diagnose issues during development. It also massively inflates compile times (e.g. 16s -> 44s for http-core) making development a massive pain.
Contributor
|
Note that there is pjfanning/sbt-pekko-build#9 which means it can be setup so the inliner only happens in CI (which is always clean environment) and not on local dev. RIght now there is a knob but defaulting to turning off locally appears to be optimal for now |
Member
|
@mdedetrich Can you attach a framegraph to compare the difference? eg, using the https://github.com/LesnyRumcajs/grpc_bench as a demo. |
Contributor
I can't do this now because I don't have an appropriate machine to do this on (I am still overseas). If you have a desktop machine with locked + lower clocks and you are motivated yourself then feel free to go ahead. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As the official documentation prominently states, the inliner is unsafe to use with incremental compilation (see sbt/zinc#537). This leads to hard to diagnose issues during development.
It also massively inflates compile times (e.g. 16s -> 44s for http-core) making development much more painful than necessary.
Real world demonstration of correctness issues:
private def doPull2(): ResponseOutput = MessageEndbelowonPullin HttpResponseParser.scalacleanandcompileHttpsProxyGraphStageSpeconPullinHttpResponseParserto calldoPull2instead ofdoPull(now doing incremental compilation)HttpsProxyGraphStageSpec, despite the broken implementation the test still completes fine