top performance myths and folkloretop performance myths and folklore martin thompson - @mjpt777. top...
TRANSCRIPT
![Page 1: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/1.jpg)
Top Performance
Myths and Folklore
Martin Thompson - @mjpt777
![Page 2: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/2.jpg)
Top Performance
Myths and Folklore
Martin Thompson - @mjpt777
![Page 3: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/3.jpg)
Top 10
Performance Mistakes
Martin Thompson - @mjpt777
![Page 4: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/4.jpg)
![Page 5: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/5.jpg)
![Page 6: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/6.jpg)
10
![Page 7: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/7.jpg)
Not Upgrading
![Page 8: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/8.jpg)
![Page 9: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/9.jpg)
![Page 10: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/10.jpg)
9
![Page 11: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/11.jpg)
Duplicated Work
![Page 12: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/12.jpg)
Database Tuning?
![Page 13: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/13.jpg)
Where is the real issue?
![Page 14: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/14.jpg)
8
![Page 15: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/15.jpg)
Data Dependent Loads
![Page 16: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/16.jpg)
Aka “Pointer Chasing”
![Page 17: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/17.jpg)
Are all memory
operations equal?
![Page 18: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/18.jpg)
Sequential Access
-
Average time in ns/op to sum all
longs in a 1GB array?
![Page 19: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/19.jpg)
Access Pattern Benchmark
Benchmark Mode Score Error Units
testSequential avgt 0.832 ± 0.006 ns/op
~1 ns/op
![Page 20: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/20.jpg)
Really???
Less than 1ns per operation?
![Page 21: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/21.jpg)
![Page 22: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/22.jpg)
Random walk per OS Page
-
Average time in ns/op to sum all
longs in a 1GB array?
![Page 23: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/23.jpg)
Access Pattern Benchmark
Benchmark Mode Score Error Units
testSequential avgt 0.832 ± 0.006 ns/op
testRandomPage avgt 2.703 ± 0.025 ns/op
~3 ns/op
![Page 24: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/24.jpg)
Data dependant walk per OS Page
-
Average time in ns/op to sum all
longs in a 1GB array?
![Page 25: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/25.jpg)
Access Pattern Benchmark
Benchmark Mode Score Error Units
testSequential avgt 0.832 ± 0.006 ns/op
testRandomPage avgt 2.703 ± 0.025 ns/op
testDependentRandomPage avgt 7.102 ± 0.326 ns/op
~7 ns/op
![Page 26: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/26.jpg)
Random heap walk
-
Average time in ns/op to sum all
longs in a 1GB array?
![Page 27: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/27.jpg)
Access Pattern Benchmark
Benchmark Mode Score Error Units
testSequential avgt 0.832 ± 0.006 ns/op
testRandomPage avgt 2.703 ± 0.025 ns/op
testDependentRandomPage avgt 7.102 ± 0.326 ns/op
testRandomHeap avgt 19.896 ± 3.110 ns/op
~20 ns/op
![Page 28: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/28.jpg)
Data dependant heap walk
-
Average time in ns/op to sum all
longs in a 1GB array?
![Page 29: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/29.jpg)
Access Pattern Benchmark
Benchmark Mode Score Error Units
testSequential avgt 0.832 ± 0.006 ns/op
testRandomPage avgt 2.703 ± 0.025 ns/op
testDependentRandomPage avgt 7.102 ± 0.326 ns/op
testRandomHeap avgt 19.896 ± 3.110 ns/op
testDependentRandomHeap avgt 89.516 ± 4.573 ns/op
~90 ns/op
![Page 30: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/30.jpg)
Need to ADD 40+ ns/opfor NUMA access on a server!!!
![Page 31: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/31.jpg)
Access Pattern Benchmark
Benchmark Mode Score Error Units
testSequential avgt 0.832 ± 0.006 ns/op
testRandomPage avgt 2.703 ± 0.025 ns/op
testDependentRandomPage avgt 7.102 ± 0.326 ns/op
testRandomHeap avgt 19.896 ± 3.110 ns/op
testDependentRandomHeap avgt 89.516 ± 4.573 ns/op
![Page 32: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/32.jpg)
What does this mean for
data structures?
![Page 33: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/33.jpg)
Buckets
![Page 34: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/34.jpg)
1
EUR/USD
Hash
Buckets
Key Value Next
![Page 35: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/35.jpg)
1
EUR/USD
Hash
Buckets
2 GBP/EUR
Key Value Next
HashKey Value Next
![Page 36: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/36.jpg)
1
EUR/USD
Hash
Buckets
2 GBP/EUR
Key Value Next
HashKey Value Next
3
GBP/USD
HashKey Value Next
![Page 37: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/37.jpg)
Buckets Key Value Hash Next
![Page 38: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/38.jpg)
0
1 EUR/USD 4 -1
Buckets Key Value Hash Next
![Page 39: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/39.jpg)
1
0
1 EUR/USD 4 -1
Buckets Key Value Hash Next
2 GBP/EUR 2 -1
![Page 40: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/40.jpg)
1
0
1 EUR/USD 4 2
Buckets Key Value Hash Next
2 GBP/EUR 2 -1
3 GBP/USD 4 -1
![Page 41: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/41.jpg)
.net Dictionary is >10X faster than
HashMap for 2+ GB of data
![Page 42: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/42.jpg)
Understand object relationships
and then choose appropriate
data structures
![Page 43: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/43.jpg)
Java desperately needs
Value Types on the stack
and Aggregates on the heap
![Page 44: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/44.jpg)
Data Structures are becoming
evermore important again!
![Page 45: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/45.jpg)
7
![Page 46: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/46.jpg)
Too Much Allocation
![Page 47: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/47.jpg)
“Allocation is free…”
![Page 48: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/48.jpg)
Reclamation is NOT free!
![Page 49: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/49.jpg)
Remember
Data Dependent Loads?
![Page 50: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/50.jpg)
Too much allocation or copying
will wash out your cache
![Page 51: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/51.jpg)
6
![Page 52: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/52.jpg)
Going Parallel
![Page 53: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/53.jpg)
http://www.frankmcsherry.org/assets/COST.pdf
![Page 54: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/54.jpg)
Amdahl’s Law
0
2
4
6
8
10
12
14
16
18
20
1 2 4 8 16 32 64 128 256 512 1024
Sp
ee
du
p
Processors
Amdahl
![Page 55: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/55.jpg)
Universal Scalability Law
0
2
4
6
8
10
12
14
16
18
20
1 2 4 8 16 32 64 128 256 512 1024
Sp
ee
du
p
Processors
Amdahl USL
![Page 56: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/56.jpg)
Universal Scalability Law
C(N) = N / (1 + α(N – 1) + ((β* N) * (N – 1)))
C = capacity or throughput
N = number of processors
α = contention penalty
β = coherence penalty
![Page 57: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/57.jpg)
Shared mutable state is Evil!
![Page 58: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/58.jpg)
“You can have a second
computer once you’ve shown
you know how to use the first one”
– Paul Barham
![Page 59: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/59.jpg)
“You can have a second CPU
once you’ve shown you know
how to use the first one”
– Martin Thompson
![Page 60: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/60.jpg)
5
![Page 61: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/61.jpg)
Not Understanding TCP
![Page 62: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/62.jpg)
TCP – Sequenced Flow 1
Client Server
![Page 63: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/63.jpg)
TCP – Sequenced Flow 1
Client Server
SYN
![Page 64: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/64.jpg)
TCP – Sequenced Flow 1
Client Server
SYN
SYN, ACK
![Page 65: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/65.jpg)
TCP – Sequenced Flow 1
Client Server
SYN
SYN, ACK
ACK
![Page 66: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/66.jpg)
TCP – Sequenced Flow 1
Client Server
SYN
SYN, ACK
ACK
Data == MSS
![Page 67: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/67.jpg)
TCP – Sequenced Flow 1
Client Server
SYN
SYN, ACK
ACK
Data == MSS
![Page 68: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/68.jpg)
TCP – Sequenced Flow 1
Client Server
SYN
SYN, ACK
ACK
Data == MSS
Delayed ACK
![Page 69: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/69.jpg)
TCP – Sequenced Flow 1
Client Server
SYN
SYN, ACK
ACK
Data == MSS
Delayed ACK
Data < MSS
![Page 70: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/70.jpg)
TCP – Sequenced Flow – TCP_NODELAY
Client Server
SYN
SYN, ACK
ACK
![Page 71: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/71.jpg)
TCP – Sequenced Flow – TCP_NODELAY
Client Server
SYN
SYN, ACK
ACK
Data == MSS
![Page 72: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/72.jpg)
TCP – Sequenced Flow – TCP_NODELAY
Client Server
SYN
SYN, ACK
ACK
Data == MSS
Data < MSS
![Page 73: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/73.jpg)
TCP – Sequenced Flow – TCP_NODELAY
Client Server
SYN
SYN, ACK
ACK
Data == MSS
ACK
Data < MSS
![Page 74: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/74.jpg)
4
![Page 75: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/75.jpg)
Synchronous Communications
![Page 76: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/76.jpg)
Client Server
![Page 77: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/77.jpg)
Client Server
![Page 78: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/78.jpg)
Client Server
![Page 79: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/79.jpg)
Client Server
![Page 80: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/80.jpg)
Client Server
![Page 81: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/81.jpg)
Client Server
![Page 82: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/82.jpg)
Client Server
![Page 83: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/83.jpg)
Asynchronous Communications
![Page 84: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/84.jpg)
Client Server
![Page 85: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/85.jpg)
Client Server
![Page 86: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/86.jpg)
Client Server
![Page 87: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/87.jpg)
Client Server
![Page 88: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/88.jpg)
Client Server
![Page 89: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/89.jpg)
Client Server
![Page 90: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/90.jpg)
Client Server
![Page 91: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/91.jpg)
Synchronous Communications
is the crystal meth
of distributed computing
![Page 92: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/92.jpg)
3
![Page 93: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/93.jpg)
Text Encoding
![Page 94: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/94.jpg)
![Page 95: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/95.jpg)
“But it’s human readable...”
![Page 96: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/96.jpg)
“Binary is hard to work with...”
![Page 97: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/97.jpg)
![Page 98: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/98.jpg)
while (i >= 0)
{
int remainder = quotient % 10;
quotient = quotient / 10;
results[i--] = (byte)('0' + remainder);
}
![Page 99: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/99.jpg)
Communications
Battery life and bandwidth?
![Page 100: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/100.jpg)
2
![Page 101: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/101.jpg)
API Design
![Page 102: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/102.jpg)
public void characters(
char[] ch,
int start,
int length) throws SAXException
![Page 103: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/103.jpg)
public void characters(
char[] ch,
int start,
int length) throws SAXException
public void startElement(
String uri,
String localName,
String qName,
Attributes atts) throws SAXException
![Page 104: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/104.jpg)
API Design can be composed for
usability vs performance trade offs
![Page 105: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/105.jpg)
public String[] split(String regex)
![Page 106: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/106.jpg)
public String[] split(String regex)
public Iterable<String> split(String regex)
![Page 107: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/107.jpg)
public String[] split(String regex)
public Iterable<String> split(String regex)
public void split(
String regex, Collection<String> dst)
![Page 108: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/108.jpg)
selector.selectNow();
Set<SelectionKey> selectedKeys =
selector.selectedKeys();
Iterator<SelectionKey> iter =
selectedKeys.iterator();
while (iter.hasNext())
{
SelectionKey key = iter.next();
if (key.isReadable())
{
key.attachment(); // do work
}
iter.remove();
}
![Page 109: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/109.jpg)
selector.selectNow();
Set<SelectionKey> selectedKeys =
selector.selectedKeys();
Iterator<SelectionKey> iter =
selectedKeys.iterator();
while (iter.hasNext())
{
SelectionKey key = iter.next();
if (key.isReadable())
{
key.attachment(); // do work
}
iter.remove();
}
![Page 110: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/110.jpg)
// Keep and reuse
List<SelectionKey> keys = new ArrayList<>();
selector.selectNow(keys, READABLE);
keys.forEach(keyHandler);
![Page 111: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/111.jpg)
1
![Page 112: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/112.jpg)
0
20,000
40,000
60,000
80,000
100,000
120,000
140,000
160,000
1 2 3 4 5 6 7 8
Tim
e (
nan
ose
con
ds)
![Page 113: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/113.jpg)
Average (Mean) Logging Duration
0
20,000
40,000
60,000
80,000
100,000
120,000
140,000
160,000
1 2 3 4 5 6 7 8
Tim
e (
nan
ose
con
ds)
![Page 114: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/114.jpg)
Why do we Log?
![Page 115: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/115.jpg)
Recording Events
Recording Errors
Instrumentation
Debugging
![Page 116: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/116.jpg)
Recording Events
![Page 117: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/117.jpg)
![Page 118: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/118.jpg)
Big Data
![Page 119: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/119.jpg)
Recording Errors
![Page 120: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/120.jpg)
public class DistinctErrorLog
{
public void record(Throwable observation)
![Page 121: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/121.jpg)
Instrumentation
![Page 122: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/122.jpg)
systemCounters.get(FAILED_LOGIN).increment();
![Page 123: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/123.jpg)
Debugging
![Page 124: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/124.jpg)
Byte Buddy
![Page 125: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/125.jpg)
In Closing…
![Page 126: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/126.jpg)
Where are you spending you
Computing Resource Budget?
![Page 127: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/127.jpg)
Run a profiler regularly!!!
![Page 128: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/128.jpg)
![Page 129: Top Performance Myths and FolkloreTop Performance Myths and Folklore Martin Thompson - @mjpt777. Top Performance Myths and Folklore Martin Thompson - @mjpt777. Top 10 Performance Mistakes](https://reader034.vdocument.in/reader034/viewer/2022051511/600bcd2b9673372b7d3264d4/html5/thumbnails/129.jpg)
Blog: http://mechanical-sympathy.blogspot.com/
Twitter: @mjpt777
“Any intelligent fool can make things bigger, more complex, and more violent.
It takes a touch of genius, and a lot of courage, to move in the opposite direction.”
- Albert Einstein
Questions?