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
James provided a new implementation for Vector.fill and Vector_Builder.to_array that avoids copying in #3744.
It looks great except for some reason we get a huge perf penalty for some functions, e.g. 40% for filter in our Vector benchmarks.
This ticket serves as a stub for investigating why this is the case because the implementation looks very much alright.
Comments:
Hubert Plociniczak reports a new STANDUP for yesterday (2022-10-06):
Progress: Had an IGV pair-debugging session with Jaroslav to investigate perf degradation when using slice. We didn't really manage to find the problem, but learned a lot about IGV (couldn't send kudos to Jaroslav because of the bot). We did learn that probably the main reason was due the fact weren't inlining as much as before. No idea yet why. Investigated problems with adding a check to CI to verify @TruffleBoundary annotations in #183136313. It should be finished by 2022-10-10.
Next Day: Next day I will be working on the #183488659 task. Continue with the investigation, rewrite the benchmark written in Enso into Java to potentially eliminate some noise. (Enso Bot - Oct 7, 2022)
**Hubert Plociniczak** reports a new **STANDUP** for today (2022-10-07):
Progress: Continued my epic fun with IGV. Was going to give up on this perf regression but decided to give it a last chance by reviewing plain old inline tracing reported by GraalVM. Turns out were having abnormal number of deoptimizations. Further debugging revealed a regression when calling methods on polyglot arrays because of an invalid equality check that would never be true. It should be finished by 2022-10-10.
Next Day: Next day I will be working on the #183403598 task. Address PR review, pick up another task in the pipeline (Enso Bot - Oct 7, 2022)
So the related PR brings as from 40% degradation in filter to 10% degradation compared to the previous implementation.
By analyzing inlining decisions I was able to conclude that we are simply reaching inlining budget and won't do more partial evaluation.
Running Vector benchmark with increased budget (I think default is 12000) brings it back to what we had previously:
```
JAVA_OPTS="-Dpolyglot.engine.InliningExpansionBudget=14000"
```
But increasing the budget comes at its own cost. (Hubert Plociniczak - Oct 10, 2022)
**Hubert Plociniczak** reports a new **STANDUP** for yesterday (2022-10-10):
Progress: Cleaned up PR based on the feedback. Spent some time debugging the remaining 10% that we still lost in the filter benchmarks. Turns out this was due to hitting Truffle's inline budget. This concludes this particular perf investigation. Encountered another crash (#183500635) with polyglot arrays. It should be finished by 2022-10-10.
Next Day: Next day I will be working on the #183500635 task. Continue fixing various polyglot Arrays bugs. (Enso Bot - Oct 11, 2022)
For reference here is PR https://github.com//pull/3781 (Hubert Plociniczak - Oct 11, 2022)
The text was updated successfully, but these errors were encountered:
This task is automatically imported from the old Task Issue Board and it was originally created by Hubert Plociniczak.
Original issue is here.
#3781
James provided a new implementation for
Vector.fill
andVector_Builder.to_array
that avoids copying in #3744.It looks great except for some reason we get a huge perf penalty for some functions, e.g. 40% for filter in our Vector benchmarks.
This ticket serves as a stub for investigating why this is the case because the implementation looks very much alright.
Comments:
Hubert Plociniczak reports a new STANDUP for yesterday (2022-10-06):
Progress: Had an IGV pair-debugging session with Jaroslav to investigate perf degradation when using slice. We didn't really manage to find the problem, but learned a lot about IGV (couldn't send kudos to Jaroslav because of the bot). We did learn that probably the main reason was due the fact weren't inlining as much as before. No idea yet why. Investigated problems with adding a check to CI to verify @TruffleBoundary annotations in #183136313. It should be finished by 2022-10-10.
Next Day: Next day I will be working on the #183488659 task. Continue with the investigation, rewrite the benchmark written in Enso into Java to potentially eliminate some noise. (Enso Bot - Oct 7, 2022)
**Hubert Plociniczak** reports a new **STANDUP** for today (2022-10-07):
Progress: Continued my epic fun with IGV. Was going to give up on this perf regression but decided to give it a last chance by reviewing plain old inline tracing reported by GraalVM. Turns out were having abnormal number of deoptimizations. Further debugging revealed a regression when calling methods on polyglot arrays because of an invalid equality check that would never be true. It should be finished by 2022-10-10.
Next Day: Next day I will be working on the #183403598 task. Address PR review, pick up another task in the pipeline (Enso Bot - Oct 7, 2022)
So the related PR brings as from 40% degradation in filter to 10% degradation compared to the previous implementation. By analyzing inlining decisions I was able to conclude that we are simply reaching inlining budget and won't do more partial evaluation. Running Vector benchmark with increased budget (I think default is 12000) brings it back to what we had previously: ``` JAVA_OPTS="-Dpolyglot.engine.InliningExpansionBudget=14000" ``` But increasing the budget comes at its own cost. (Hubert Plociniczak - Oct 10, 2022)
**Hubert Plociniczak** reports a new **STANDUP** for yesterday (2022-10-10):
Progress: Cleaned up PR based on the feedback. Spent some time debugging the remaining 10% that we still lost in the filter benchmarks. Turns out this was due to hitting Truffle's inline budget. This concludes this particular perf investigation. Encountered another crash (#183500635) with polyglot arrays. It should be finished by 2022-10-10.
Next Day: Next day I will be working on the #183500635 task. Continue fixing various polyglot Arrays bugs. (Enso Bot - Oct 11, 2022)
For reference here is PR https://github.com//pull/3781 (Hubert Plociniczak - Oct 11, 2022)
The text was updated successfully, but these errors were encountered: