Главная
Study mode:
on
1
Intro: Speaker's Credentials
2
Basics: Naive question
3
Basics: Getting the units right
4
Basics: Benchmarks are experiments
5
Basics: Experimental Control
6
Basics: Common Wisdom
7
Basics: The Root Cause
8
Basics: Evil Optimizations
9
Basics: Know Thy Optimizations
10
Basics: JMH API Sneak Peek
11
Basics: Warmup plateaus
12
System: Optimization Quiz (A)
13
System: Power management
14
System: OS Schedulers
15
VM: Optimization Quiz (B)
16
VM: Dead-code elimination
17
VM: DCE, Avoiding
18
VM: DCE, Blackholes
19
VM: Optimization Quiz (C)
20
VM: Constant folding, etc.
21
VM: DCE and CSE are brothers
22
VM: Optimization Quiz (D), #2
23
VM: Optimization Quiz (E). #3
24
VM: Profile feedback
25
VM: Optimization Quiz (F). #2
26
VM: Run-to-run variance
27
VM: Inlining budgets
28
VM: Inlining example
29
CPU: Cache capacity
30
CPU: Optimization Quiz (G) Scalability for this code?
31
CPU: Optimization Quiz (G). #2
32
CPU: Bulk method transfers
33
CPU: Optimization Quiz (H)
34
CPU: Branch Prediction
35
Conclusion: Benchmarking is serious
36
Conclusion: Things on list to do
Description:
Dive into an in-depth 43-minute Java conference talk on JVM benchmarking presented by Aleksey Shipilev. Explore essential concepts including naive questioning, proper unit usage, and treating benchmarks as experiments. Learn about experimental control, common wisdom, root causes, and evil optimizations. Gain insights into JMH API, warmup plateaus, power management, and OS schedulers. Examine various optimization techniques such as dead-code elimination, constant folding, and profile feedback. Understand the intricacies of inlining budgets, cache capacity, bulk method transfers, and branch prediction. Conclude with a comprehensive understanding of the seriousness of benchmarking and future considerations in this field.

JVM Benchmarking Techniques and Pitfalls - Lecture by Aleksey Shipilev

Java
Add to list
0:00 / 0:00