-
Notifications
You must be signed in to change notification settings - Fork 336
Open
Labels
Description
Motivation
- recent improvements like 12% faster
ManyLocalVarsbench by using map inresolveUsage#12798 - and 60% speedup of
AliasAnalysiswith many local variables #12720 - sped
AliasAnalysispass up so much - that now DataflowAnalysis is the bottleneck!
Why do we need DataflowAnalysis Anyway?
- I performed an experiment to disable
DataflowAnalysis - by commenting out body of
runModuleandrunExpressionmethods runEngineDistribution --run test/Base_Testscontinues to pass!- only
runtime-integration-tests/testOnly *Runtime*Testfail - morever the
Base.bindingscache shrinked from 36MB to 26MB!
Only for Interactive Sources
- Looks like
DataflowAnalysisis only needed for interactive sources - e.g. sources processed by
runtime-instrument*modules
Goal
- disable
DataflowAnalysisfor non-interactive sources - only compute it when
IdExecutionInstrument(or co.) needs it - make sure benchmarks are sped up
- write new benchmark to mimic interactive use
- make sure caches are smaller
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
⚙️ Design