~/talk

The bytecode gobbledygook

Talkat Android Makers 2018 · on Monday, 2018-04-23· [android]
slides:none on file

Bytecode hides costly choices: javac output forces boxing, iterator overhead and repeated allocations that trash GC and slow loops; replacing wrappers with primitives and using arrays instead of for-each often cuts time dramatically — measured up to 18% faster while JITting and seen roughly 2x penalty on for‑each/Iterator on a Nexus 5. Tool-specific facts matter: Jack and Jill deprecated in favour of D8 compiler and Java 8 tooling. Measure assembly dumps and timed runs before changing code.

AI-written summary · about

  1. 0:00Start
  2. 6:38Imagine this simple C code
  3. 6:53GCC compiler
  4. 7:29Let's do a small change
  5. 8:55JIT assembly output
  6. 9:17Autoboxing
  7. 15:34Loops - List
  8. 17:10Loops - Array
  9. 18:02Loops - size cached
  10. 23:03Manual bytecode optimization
  11. 24:47Worth it?
  12. 25:23Overhead of calling a method
  13. 26:05String concatenation
  14. 27:43String.concat()
  15. 35:02Tooling Disassembler - ART
  16. 35:31Tooling PrintAssembly - JIT
~/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.