~/talk

Eliminating Abstraction Overhead of Java Stream Pipelines using Ahead-of-Time Program Optimization

Talkat OOPSLA 2020 · 2020-11-15..11-20· [java, compilers-and-language-design]
links:none on file
links:none on file
slides:none on file

Streamliner is an ahead-of-time optimizer that inlines Java Stream pipelines by using a precise must-points-to pointer analysis, aggressive inlining, stack allocation of objects, and bytecode cleanup implemented with ASM. The prototype transforms pipelines into imperative-style loops, matches performance of hand-written loops for 10 of 11 benchmarks, and succeeds on 77% of pipelines sampled from 28 real projects, with failures and conditions documented for future work.

AI-written summary · about

  1. 0:00Intro
  2. 0:12Motivation
  3. 2:31Mitigating abstraction overhead
  4. 3:21Key observation
  5. 3:34Streamliner approach
  6. 4:19pre-analysis Goal: Identify pipelines and collection source types
  7. 4:52main analysis
  8. 6:49transformation
  9. 8:55Cleanup
  10. 10:12RQ1 - Performance evaluation
  11. 11:15RQ2 - Optimization of general programs Does the analysis work for larger programs?
  12. 11:56Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.