Главная
Study mode:
on
1
Introduction
2
Introduction to Daniel
3
Thanks to Ross Hassan
4
Fibers
5
Fiber Implementation
6
Cancel Action
7
Memory Access
8
Example
9
Volatile variables
10
Suspended
11
Cancel
12
Arm
13
Cisc vs Risk
14
Cats Effect
15
Race Condition
16
Cancellation Action
17
Race Conditions
18
Stages of Grief
19
The Issue
20
Compare and Set
21
Compare and Set x86
22
Conclusion
23
Questions
24
Scala
25
Worst Bug
26
Out of spec
27
Cancel not volatile
28
Timeline
29
Performance is not a onesizefitsall
30
Go vs Rust
Description:
Embark on a deep dive into the intricate world of CPU architecture, memory models, and JVM intrinsics through the lens of high-level functional abstractions in this 59-minute conference talk. Follow Daniel Spiewak's journey as he unravels the most complex and mind-bending bug hunt of his career, exploring platform-specific, processor-specific, and even architecture-version-specific implementations. Discover the challenges of tracking down nondeterministic bugs in Scala-based implementations that only manifest on certain hardware. Gain insights into topics such as fibers, fiber implementation, cancel actions, memory access, volatile variables, ARM architecture, CISC vs. RISC, Cats Effect, race conditions, and the intricacies of compare-and-set operations. Learn about the stages of grief in debugging, performance considerations, and the complexities of cancellation actions. Conclude with a comparison of Go and Rust, and understand why performance is not a one-size-fits-all solution in the realm of JVM optimization. Read more

Journey to the Centre of the JVM - Exploring CPU Architecture and Memory Models

ChariotSolutions
Add to list
0:00 / 0:00