Skip to content

Conversation

@JanJecmen
Copy link
Collaborator

  • The state would be recomputed even with the keepSnapshot flag
  • (experimental) Disable the lookup cache

* The state would be recomputed even with the keepSnapshot flag
* (experimental) Disable the lookup cache
@o-
Copy link
Contributor

o- commented Jun 23, 2021

this is massively faster. so let's merge it!

@o- o- merged commit 41fd119 into master Jun 23, 2021
@o- o- deleted the sa-opt branch June 23, 2021 12:40
@JanJecmen
Copy link
Collaborator Author

Is it? The benchmarks see no change, that's expected.. but the couple of CI jobs I checked seem slower. Just timing the check code regression test seems faster, but then again it wildly fluctuates so it's hard to say

@o-
Copy link
Contributor

o- commented Jun 24, 2021

really the granularity of comparing CI jobs is hours. they are just too noisy to compare that. you need independent experiments.

I was playing with MEASURE_COMPILER on regression7 and it straight up decreased the time spent in scope resolution by 1/3. that's when I decided to merge since my other small improvements just didn't make sense without that huge baseline shift.

re. the cache, i really don't know if it helps.... for the sake of reducing complexity, maybe we could just remove it....

I implemented this: https://github.com/reactorlabs/rir/pull/1070/files?diff=split&w=1#diff-2d24e9abbd080ba4f08ad46e3c25218624ebd6871239c84315d3ff72c73c2578R314 and I think its the better approach. Here you can pass the state of the previous instruction to the analysis query and it will reuse it if it makes sense. it's a bit tricky because you have to not do it when you changed the instructions in the bb or you won't get good results... but anyway it is simple and fits many usecases, where we go linearly through the instructions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants