Главная
Study mode:
on
1
Intro
2
Dont microoptimize
3
Simplified IO
4
GitHub
5
Physical Factors
6
Layers of abstraction
7
Happy paths and unhappy paths
8
What is slow
9
What is fast
10
Pro tip
11
Implementing IO
12
IO Fiber
13
IL Fiber
14
Run
15
Continue
16
Async
17
Measuring
18
SBTJMH
19
Micro Benchmarks
20
Micro Optimizations
21
Allocation Free Stack
22
Continuation Stack
23
Dynamic Arrays
24
Array Stack
25
Array Copy
26
Benchmarks
27
Why did it get worse
28
The results
29
Why I tried different array bounds
30
The problem with micro benchmarks
31
Optimization for fun
32
The answer
33
The solution
34
Bias
35
Allocation Free Results
36
Encoding
37
Results
38
Pattern Matching
39
If Else
40
Deftag
41
Invoke Virtual
42
More Stack Less Game
43
Current
44
Faster
45
Takeaways
Description:
Explore micro-optimization techniques for critical path performance in Scala applications during this conference talk from Scala Days 2023 Seattle. Delve into the fundamentals of JVM, hardware, and Scala compiler operations to write dramatically faster code without sacrificing functionality. Learn about physical factors, layers of abstraction, and the characteristics of slow and fast code. Discover pro tips for implementing IO, measuring performance with SBT and JMH, and conducting micro benchmarks. Examine allocation-free stacks, continuation stacks, dynamic arrays, and array operations. Understand the intricacies of micro benchmarks and their potential pitfalls. Investigate optimization strategies, including encoding results, pattern matching, if-else statements, deftag, and invoke virtual. Gain insights into achieving faster performance with practical examples and key takeaways for effective micro-optimization in Scala and JVM-based applications.

Micro-Optimization for Fun and Profit - Scala Days Seattle

Scala Days Conferences
Add to list
0:00 / 0:00