YoVDO

Micro-Optimization for Fun and Profit - Scala Days Seattle

Offered By: Scala Days Conferences via YouTube

Tags

Scala Days Courses Software Development Courses Scala Courses Performance Measurement Courses Code Optimization Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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.

Syllabus

Intro
Dont microoptimize
Simplified IO
GitHub
Physical Factors
Layers of abstraction
Happy paths and unhappy paths
What is slow
What is fast
Pro tip
Implementing IO
IO Fiber
IL Fiber
Run
Continue
Async
Measuring
SBTJMH
Micro Benchmarks
Micro Optimizations
Allocation Free Stack
Continuation Stack
Dynamic Arrays
Array Stack
Array Copy
Benchmarks
Why did it get worse
The results
Why I tried different array bounds
The problem with micro benchmarks
Optimization for fun
The answer
The solution
Bias
Allocation Free Results
Encoding
Results
Pattern Matching
If Else
Deftag
Invoke Virtual
More Stack Less Game
Current
Faster
Takeaways


Taught by

Scala Days Conferences

Related Courses

Software as a Service
University of California, Berkeley via Coursera
Software Testing
University of Utah via Udacity
The Hardware/Software Interface
University of Washington via Coursera
Software Debugging
Saarland University via Udacity
Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera