SlideShare une entreprise Scribd logo
A Song of JIT and GC
1
QCon London 2016
Monica Beckwith
monica@codekaram.com; @mon_beck
https://www.linkedin.com/in/monicabeckwith
www.codekaram.com
Game of Performance
©2016 CodeKaram
About Me
• Java/JVM/GC Performance Engineer/Consultant
• Worked at AMD, Sun, Oracle…
• Worked with HotSpot JVM for more than a
decade
• JVM heuristics, JIT compiler, GCs:
Parallel(Old) GC, G1 GC, CMS GC
2
©2016 CodeKaram
Many Thanks
• Vladimir Kozlov (Hotspot JIT Team) - for clearing
my understanding of tiered compilation, escape
analysis and nuances of dynamic
deoptimizations.
• Jon Masamitsu (Hotspot GC Team) - for keeping
me on track with JDK8 changes that related to
GC.
3
©2016 CodeKaram
Agenda
• The Helpers within the JVM
• JIT & Runtime
• Adaptive Optimization
• CompileThreshold
• Inlining
• Dynamic Deoptimization
4
©2016 CodeKaram
Agenda
• The Helpers within the JVM
• JIT & Runtime
• Tiered Compilation
• Intrinsics
• Escape Analysis
• Compressed Oops
• Compressed Class Pointers
5
©2016 CodeKaram
Agenda
• The Helpers within the JVM
• Garbage Collection
• Allocation
• TLAB
• NUMA Aware Allocator
6
©2016 CodeKaram
Agenda
• The Helpers within the JVM
• Garbage Collection
• Reclamation
• Mark-Sweep-Compact (Serial + Parallel)
• Mark-Sweep
• Scavenging
7
©2016 CodeKaram
Agenda
• The Helpers within the JVM
• Garbage Collection
• String Interning and Deduplication
8
©2016 CodeKaram
Interfacing The Metal
9
Java Application
Java
APIs
Runtime
JIT Compiler
GC
Java VM
Class loader
OS + Hardware
©2016 CodeKaram
Interfacing The Metal
10
Java Application
Java
APIs
Java VM
OS + HardwareJRE
Runtime
JIT Compiler
GC
Class loader
©2016 CodeKaram
The Helpers
11
Java VM
Runtime
JIT Compiler
GC
12
The Helpers - JIT And
Runtime.
13
Advanced JIT & Runtime
Optimizations - Adaptive
Optimization
©2016 CodeKaram
• Startup - Interpreter
• Adaptive optimization - Performance critical methods
• Compilation:
• CompileThreshold
• Identify root of compilation
• Method Compilation or On-stack replacement
(Loop)?
14
JIT & Runtime
©2016 CodeKaram
PrintCompilation
15
timestamp compilation-id flags tiered-
compilation-level Method <@ osr_bci> code-
size <deoptimization>
©2016 CodeKaram
PrintCompilation
16
Flags:
%: is_osr_method
s: is_synchronized
!: has_exception_handler
b: is_blocking
n: is_native
©2016 CodeKaram
PrintCompilation
17
567 693 % ! 3
org.h2.command.dml.Insert::insertRows @ 76 (513 bytes)
656 797 n 0
java.lang.Object::clone (native)
779 835 s 4
java.lang.StringBuffer::append (13 bytes)
©2016 CodeKaram
• Adaptive optimization - Performance critical
methods
• Inlining:
• MinInliningThreshold, MaxFreqInlineSize,
InlineSmallCode, MaxInlineSize,
MaxInlineLevel, DesiredMethodLimit …
18
JIT & Runtime
©2016 CodeKaram
PrintInling*
19
@ 76 java.util.zip.Inflater::setInput (74 bytes)
too big
@ 80 java.io.BufferedInputStream::getBufIfOpen (21
bytes) inline (hot)
@ 91 java.lang.System::arraycopy (0 bytes)
(intrinsic)
@ 2 java.lang.ClassLoader::checkName (43 bytes)
callee is too large
* needs -XX:+UnlockDiagnosticVMOptions
©2016 CodeKaram
• Adaptive optimization - Performance critical
methods
• Dynamic de-optimization
• dependencies invalidation
• classes unloading and redefinition
• uncommon path in compiled code
20
JIT & Runtime
©2016 CodeKaram
PrintCompilation
21
573 704 2
org.h2.table.Table::fireAfterRow (17 bytes)
7963 2223 4
org.h2.table.Table::fireAfterRow (17 bytes)
7964 704 2
org.h2.table.Table::fireAfterRow (17 bytes) made not
entrant
33547 704 2
org.h2.table.Table::fireAfterRow (17 bytes) made
zombie
22
Advanced JIT & Runtime
Optimizations - Tiered
Compilation
©2016 CodeKaram
• Start in interpreter
• Tiered optimization with client compiler
• Code profiled information
• Enable server compiler
23
Tiered Compilation
©2016 CodeKaram
• C1 compilation threshold for tiered is about a 100
invocations
• Tiered Compilation has a lot more profiled information
for C1 compiled methods
• CodeCache needs to be 5x larger than non-tiered
• Default on JDK8 when tiered is enabled (48MB vs
240MB)
• Need more? Use -XX:ReservedCodeCacheSize
24
Tiered Compilation - Effect
on Code Cache
©2016 CodeKaram
• Fast dynamic type tests for type safety
• Range check elimination
• Loop unrolling
• Profile data guided optimizations
• Escape Analysis
• Intrinsics
• Vectorization
25
Other JIT Compiler
Optimizations
26
Advanced JIT & Runtime
Optimizations - Intrinsics
©2016 CodeKaram27
Without Intrinsics
Java Method
JIT Compilation
Execute Generated Code
©2016 CodeKaram28
Intrinsics
Java Method
JIT Compilation
Execute Optimized Code
Call Hand-
Optimized
Assembly Code
©2016 CodeKaram
PrintInling*
29
@ 76 java.util.zip.Inflater::setInput (74 bytes)
too big
@ 80 java.io.BufferedInputStream::getBufIfOpen (21
bytes) inline (hot)
@ 91 java.lang.System::arraycopy (0 bytes)
(intrinsic)
@ 2 java.lang.ClassLoader::checkName (43 bytes)
callee is too large
* needs -XX:+UnlockDiagnosticVMOptions
30
Advanced JIT & Runtime
Optimizations - Escape Analysis
©2016 CodeKaram
• Entire IR graph
• escaping allocations?
• not stored to a static field or non-static field of
an external object,
• not returned from method,
• not passed as parameter to another method
where it escapes.
31
Escape Analysis
©2016 CodeKaram32
Escape Analysis
allocated object doesn’t
escape the compiled method
allocated object not
passed as a parameter
+
remove allocation and keep field
values in registers
=
©2016 CodeKaram33
Escape Analysis
allocated object is
passed as a parameter
+
remove locks associated with object
and use optimized compare instructions
=
allocated object doesn’t
escape the compiled method
34
Advanced JIT & Runtime
Optimizations - Compressed
Oops
©2016 CodeKaram
A Java Object
35
Header Body
Klass
Mark
Word
Array
Length
©2016 CodeKaram
Objects, Fields & Alignment
• Objects are 8 byte aligned (default).
• Fields:
• are aligned by their type.
• can fill a gap that maybe required for
alignment.
• are accessed using offset from the start of the
object
36
©2016 CodeKaram37
Mark Word - 32 bit vs 64 bit
Klass - 32 bit vs 64 bit
Array Length - 32 bit on both
boolean, byte, char, float, int, short - 32 bit on both
double, long - 64 bit on both
ILP32 vs. LP64 Field Sizes
©2016 CodeKaram
Compressed OOPs
38
<wide-oop> = <narrow-oop-base> +
(<narrow-oop> << 3) + <field-offset>
©2016 CodeKaram
Compressed OOPs
39
Heap Size?
<4 GB
(no encoding/
decoding needed)
>4GB; <28GB
(zero-based)
<wide-oop> = <narrow-oop> <narrow-oop> << 3
©2016 CodeKaram
Compressed OOPs
40
Heap Size?
>28 GB; <32 GB
(regular)
>32 GB; <64 GB *
(change alignment)
<wide-oop> =
<narrow-oop-base>
+ (<narrow-oop>
<< 3) + <field-
offset>
<narrow-oop-base>
+ (<narrow-oop>
<< 4) + <field-
offset>
©2016 CodeKaram
Compressed OOPs
41
Heap Size? <4 GB
>4GB;
<28GB
<32GB <64GB
Object
Alignment?
8 bytes 8 bytes 8 bytes 16 bytes
Offset
Required?
No No Yes Yes
Shift by? No shift 3 3 4
©2016 CodeKaram
Compressed Class Pointers
42
• JDK 8 —> Perm Gen Removal —> Class Data outside of
heap
• Compressed class pointer space
• contains class metadata
• is a part of Metaspace
©2016 CodeKaram
Compressed Class Pointers
43
PermGen Removal Overview by Coleen Phillimore + Jon Masamitsu @JavaOne 2013
44
The Helpers - Garbage
Collection.
©2016 CodeKaram
Garbage Collection
45
Allocation
+
Reclamation
46
Garbage Collection -
Allocation.
©2016 CodeKaram
Generational Heap
47
Young
Generation
Old
Generation
Eden Survivors
48
Fast Path Allocation - Thread
Local Allocation Buffers
(TLABs).
©2016 CodeKaram
Garbage Collection -
Allocation
49
Most Allocations Eden Space
Fast Path
TLABs per thread:
• allocate lock-free
• bump-(your-own)-pointer allocation
• only co-ordinate when needing a new TLAB
©2016 CodeKaram
TLAB
50
EdenThread 1
Thread 2
Thread 3
Thread 4
TLAB TLAB TLAB TLAB TLAB
Thread 0
51
(Min)TLABSize
ResizeTLAB
TLABWasteTargetPercent
PrintTLAB
©2016 CodeKaram
TLAB
52
Eden
TLAB TLAB TLAB TLAB TLAB
©2016 CodeKaram
TLAB
53
Eden
TLAB TLAB TLAB TLAB TLAB
TLABWasteTargetPercent (default = 1%)
©2016 CodeKaram
TLAB
54
Eden
TLAB TLAB TLAB TLAB TLAB
©2016 CodeKaram
TLAB
55
Eden
TLAB TLAB TLAB TLAB
(Min)TLABSize
©2016 CodeKaram
TLAB
56
Eden
TLAB TLAB TLAB
ResizeTLAB (default = TRUE)
57
Allocation - Non Uniform
Memory Access (NUMA) Aware
Allocator.
©2016 CodeKaram
NUMA
Processing
Node 0
Memory
Controller
DRAM
Bank
Processing
Node 2
Memory
Controller
DRAM
Bank
Processing
Node 1
Memory
Controller
DRAM
Bank
Processing
Node 3
Memory
Controller
DRAM
Bank
58
©2016 CodeKaram
UseNUMA
59
Processing
Node 0
Memory
Controller
DRAM
Bank
Processing
Node 1
Memory
Controller
DRAM
Bank
Thread 0
Area
for
Node 0
Area
for
Node 1
Thread 1
Thread 2
Eden
60
UseNUMA
UseNUMAInterleaving
UseAdaptiveNUMAChunkSizing
NUMAStats
61
Garbage Collection -
Reclamation.
©2016 CodeKaram62
Old Generation
Root Set
Young Generation
Garbage Collection -Reclamation
via (Serial) Mark-Sweep-Compact
©2016 CodeKaram
Garbage Collection -Reclamation
via Parallel Mark-Compact
63
Old Generation
©2016 CodeKaram64
Garbage Collection -Reclamation
via Parallel Mark-Compact
Old Generation
©2016 CodeKaram65
Garbage Collection -Reclamation
via Parallel Mark-Compact
Old Generation
source region
destination
region
©2016 CodeKaram66
Garbage Collection -Reclamation
via Parallel Mark-Compact
Old Generation
source region
destination
region
©2016 CodeKaram67
Garbage Collection -Reclamation
via Parallel Mark-Compact
Old Generation
source region
destination
region
source region
©2016 CodeKaram68
Garbage Collection -Reclamation
via Parallel Mark-Compact
Old Generation
source region
destination
region
source region
©2016 CodeKaram69
Garbage Collection -Reclamation
via Parallel Mark-Compact
Old Generation
©2016 CodeKaram
Garbage Collection -
Reclamation via Mark-Sweep
70
Old Generation
©2016 CodeKaram
Garbage Collection -
Reclamation via Mark-Sweep
71
Old Generation
©2016 CodeKaram
Garbage Collection -
Reclamation via Scavenging
72
SurvivorEden
Young Generation
©2016 CodeKaram73
SurvivorEden
Young Generation
Garbage Collection -
Reclamation via Scavenging
©2016 CodeKaram74
SurvivorEden
Young Generation
Garbage Collection -
Reclamation via Scavenging
©2016 CodeKaram75
Garbage Collection In
OpenJDK HotSpot
The Throughput Collector -
• Young Collections - Parallel Scavenge
• Old Collections - Parallel Mark-Compact
©2016 CodeKaram76
Garbage Collection In
OpenJDK HotSpot
CMS Collector -
• Young Collections - Parallel New (similar to
Parallel Scavenge)
• Old Collections - (Mostly Concurrent) Mark-
Sweep
• Fallback Collections - Serial Mark-Sweep-
Compact
©2016 CodeKaram77
Garbage Collection In
OpenJDK HotSpot
G1 Collector -
• Young and Mixed Collections - Compaction via
Copying (similar to Parallel Scavenge)
• Fallback Collections - Serial Mark-Sweep-
Compact
78
What’s The #1 Contributor To A
GC Pause Duration?
Copying Costs!
79
©2016 CodeKaram
• Size generations keeping your application’s
object longevity and size in mind.
• short-lived; medium-lived; long-lived transient
+ permanent set.
• premature promotions are a big problem!
80
Garbage Collection - Tuning
Recommendations
©2016 CodeKaram
Generation Sizing
[Eden: 4972.0M(4972.0M)->0.0B(4916.0M) Survivors:
148.0M->204.0M Heap: 5295.8M(10.0G)->379.4M(10.0G)]
[Eden: Occupancy before GC(Eden size before
GC)->Occupancy after GC(Eden size after GC)
Survivors: Size before GC->Size after GC Heap:
Occupancy before GC(Heap size before GC)-
>Occupancy after GC(Heap size after GC)]
81
©2016 CodeKaram
Heap Information Plot
82
OccupancyinMBs
0
7500
15000
22500
30000
TimeStamps
2500 3750 5000 6250 7500 8750 10000 11250 12500
Eden Occupancy Before GC Eden Size After GC
Survivor Size After GC Old Generation Occupancy After GC
Heap Occupancy Before GC Heap Size
83
What Are The ContributorS To
GC Pause Frequency?
Allocation Rate and
Promotion Rate
84
©2016 CodeKaram
• The faster the generation gets “filled”; the sooner
a GC is triggered.
• Premature promotions are a big problem!
• Size your generations and age your objects
appropriately.
85
Garbage Collection - Tuning
Recommendations
©2016 CodeKaram
Plot Allocation & Promotion
Rates
86
©2016 CodeKaram87
Young Occupancy before GC Young Gen Size Old Gen Occupancy after GC
Heap Occupancy before GC Heap Occupancy after GC Heap Size
Timestamps
©2016 CodeKaram
Allocation Rate
88
38.692: [GC (Allocation Failure) [PSYoungGen: 917486K-
>131054K(858112K)] 1004844K->224424K(2955264K),
0.0827570 secs] [Times: user=0.61 sys=0.00, real=0.08 secs]
51.013: [GC (Allocation Failure) [PSYoungGen: 858094K-
>50272K(777728K)] 951464K->239014K(2874880K),
0.1414536 secs] [Times: user=0.70 sys=0.07, real=0.14 secs]
©2016 CodeKaram
Allocation Rate
89
38.692: [GC (Allocation Failure) [PSYoungGen: 917486K-
>131054K(858112K)] 1004844K->224424K(2955264K),
0.0827570 secs] [Times: user=0.61 sys=0.00, real=0.08 secs]
51.013: [GC (Allocation Failure) [PSYoungGen: 858094K-
>50272K(777728K)] 951464K->239014K(2874880K),
0.1414536 secs] [Times: user=0.70 sys=0.07, real=0.14 secs]
Allocation rate = (858094K-131054K)/()
©2016 CodeKaram
Allocation Rate
90
38.692: [GC (Allocation Failure) [PSYoungGen: 917486K-
>131054K(858112K)] 1004844K->224424K(2955264K),
0.0827570 secs] [Times: user=0.61 sys=0.00, real=0.08 secs]
51.013: [GC (Allocation Failure) [PSYoungGen: 858094K-
>50272K(777728K)] 951464K->239014K(2874880K),
0.1414536 secs] [Times: user=0.70 sys=0.07, real=0.14 secs]
Allocation rate = (858094K-131054K)/(51.013-38.692) =
57.6MB/s
©2016 CodeKaram
Promotion Rate
91
38.692: [GC (Allocation Failure) [PSYoungGen: 917486K-
>131054K(858112K)] 1004844K->224424K(2955264K),
0.0827570 secs] [Times: user=0.61 sys=0.00, real=0.08 secs]
51.013: [GC (Allocation Failure) [PSYoungGen: 858094K-
>50272K(777728K)] 951464K->239014K(2874880K),
0.1414536 secs] [Times: user=0.70 sys=0.07, real=0.14 secs]
Promotion rate = ((239014K - 50272K) – ()
©2016 CodeKaram
Promotion Rate
92
38.692: [GC (Allocation Failure) [PSYoungGen: 917486K-
>131054K(858112K)] 1004844K->224424K(2955264K),
0.0827570 secs] [Times: user=0.61 sys=0.00, real=0.08 secs]
51.013: [GC (Allocation Failure) [PSYoungGen: 858094K-
>50272K(777728K)] 951464K->239014K(2874880K),
0.1414536 secs] [Times: user=0.70 sys=0.07, real=0.14 secs]
Promotion rate = ((239014K - 50272K) – (951464K - 858094K))/
()
©2016 CodeKaram
Promotion Rate
93
38.692: [GC (Allocation Failure) [PSYoungGen: 917486K-
>131054K(858112K)] 1004844K->224424K(2955264K),
0.0827570 secs] [Times: user=0.61 sys=0.00, real=0.08 secs]
51.013: [GC (Allocation Failure) [PSYoungGen: 858094K-
>50272K(777728K)] 951464K->239014K(2874880K),
0.1414536 secs] [Times: user=0.70 sys=0.07, real=0.14 secs]
Promotion rate = ((239014K - 50272K) – (951464K - 858094K))/
(51.013 - 38.692) = 7.56MB/s
94
String Interning and
Deduplication
©2016 CodeKaram95
Java String Object
String1
String1
Object
char []
96
What If String1 Is Interned?
©2016 CodeKaram97
Java Interned String Object
String1
String1
Object
char []
StringX
Object
char []
StringY
Object
char []
Pool of
Strings
Java Heap
©2016 CodeKaram98
Java String Intern
• unique + constant pool of strings
• hashtable
• default = 60013 (on LP64)
• if pool already contain string.equals(String1)?
• return string from the string pool
• else, add String1 to the pool; return its reference
©2016 CodeKaram99
Java Interned String Objects
String1
String1
Object
char []
String2
String2
Object
char []
100
If String1.intern() ==
String2.Intern() Then
String1.equals(String2) Is True.
©2016 CodeKaram101
Java Interned String Objects
String1
String1
Object
char []
StringX
Object
char []
StringY
Object
char []
String2
Pool of
Strings
Java Heap
102
What If String1.equals(String2)
And Both Are Not Interned*?
*
And You Are Using The G1 Collector
©2016 CodeKaram103
Java String Deduplication
(G1)
String1
String1
Object
char []
String2
String2
Object
©2016 CodeKaram
Further Reading
104
• Mark Price’s talk: https://qconlondon.com/presentation/hot-code-
faster-code-addressing-jvm-warm
• https://wiki.openjdk.java.net/display/HotSpot/Server+Compiler
+Inlining+Messages
• https://wiki.openjdk.java.net/display/HotSpot/EscapeAnalysis
• Compressed Class Pointers: https://youtu.be/AHtfza2Tkt0?t=754
• String Deduplication: http://openjdk.java.net/jeps/192
• Perm Gen Removal: http://www.infoq.com/articles/Java-
PERMGEN-Removed
©2016 CodeKaram
Appendix
105
©2016 CodeKaram
Real-World Issues &
Workarounds - JDK 8 update 45+
106
https://github.com/facebook/presto/commit/
91e1b3bb6bbfffc62401025a24231cd388992d7c
https://gist.github.com/nileema/
6fb667a215e95919242f

Contenu connexe

Tendances

Java 9: The (G1) GC Awakens!
Java 9: The (G1) GC Awakens!Java 9: The (G1) GC Awakens!
Java 9: The (G1) GC Awakens!
Monica Beckwith
 
JFokus Java 9 contended locking performance
JFokus Java 9 contended locking performanceJFokus Java 9 contended locking performance
JFokus Java 9 contended locking performance
Monica Beckwith
 
OPENJDK: IN THE NEW AGE OF CONCURRENT GARBAGE COLLECTORS
OPENJDK: IN THE NEW AGE OF CONCURRENT GARBAGE COLLECTORSOPENJDK: IN THE NEW AGE OF CONCURRENT GARBAGE COLLECTORS
OPENJDK: IN THE NEW AGE OF CONCURRENT GARBAGE COLLECTORS
Monica Beckwith
 
Enabling Java: Windows on Arm64 - A Success Story!
Enabling Java: Windows on Arm64 - A Success Story!Enabling Java: Windows on Arm64 - A Success Story!
Enabling Java: Windows on Arm64 - A Success Story!
Monica Beckwith
 
Java Garbage Collectors – Moving to Java7 Garbage First (G1) Collector
Java Garbage Collectors – Moving to Java7 Garbage First (G1) CollectorJava Garbage Collectors – Moving to Java7 Garbage First (G1) Collector
Java Garbage Collectors – Moving to Java7 Garbage First (G1) Collector
Gurpreet Sachdeva
 
Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4
YanpingWang
 
Storing Cassandra Metrics
Storing Cassandra MetricsStoring Cassandra Metrics
Storing Cassandra Metrics
Chris Lohfink
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
Leon Chen
 
GC Tuning in the HotSpot Java VM - a FISL 10 Presentation
GC Tuning in the HotSpot Java VM - a FISL 10 PresentationGC Tuning in the HotSpot Java VM - a FISL 10 Presentation
GC Tuning in the HotSpot Java VM - a FISL 10 Presentation
Ludovic Poitou
 
Tuning Java for Big Data
Tuning Java for Big DataTuning Java for Big Data
Tuning Java for Big Data
Scott Seighman
 
Everything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @TwitterEverything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @Twitter
Attila Szegedi
 
HotSpot JVM Tuning
HotSpot JVM TuningHotSpot JVM Tuning
HotSpot JVM Tuning
Gilad Garon
 
JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011
Kris Mok
 
Garbage First and you
Garbage First and youGarbage First and you
Garbage First and you
Kai Koenig
 
Trouble with memory
Trouble with memoryTrouble with memory
Trouble with memory
Kirk Pepperdine
 
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala TaiwanScala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
Jimin Hsieh
 
Tuning the g1gc
Tuning the g1gcTuning the g1gc
Tuning the g1gc
Kirk Pepperdine
 
Integrating Vert.x
Integrating Vert.xIntegrating Vert.x
Integrating Vert.x
Kirk Pepperdine
 
Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9
Poonam Bajaj Parhar
 
Processing Big Data in Real-Time - Yanai Franchi, Tikal
Processing Big Data in Real-Time - Yanai Franchi, TikalProcessing Big Data in Real-Time - Yanai Franchi, Tikal
Processing Big Data in Real-Time - Yanai Franchi, Tikal
Codemotion Tel Aviv
 

Tendances (20)

Java 9: The (G1) GC Awakens!
Java 9: The (G1) GC Awakens!Java 9: The (G1) GC Awakens!
Java 9: The (G1) GC Awakens!
 
JFokus Java 9 contended locking performance
JFokus Java 9 contended locking performanceJFokus Java 9 contended locking performance
JFokus Java 9 contended locking performance
 
OPENJDK: IN THE NEW AGE OF CONCURRENT GARBAGE COLLECTORS
OPENJDK: IN THE NEW AGE OF CONCURRENT GARBAGE COLLECTORSOPENJDK: IN THE NEW AGE OF CONCURRENT GARBAGE COLLECTORS
OPENJDK: IN THE NEW AGE OF CONCURRENT GARBAGE COLLECTORS
 
Enabling Java: Windows on Arm64 - A Success Story!
Enabling Java: Windows on Arm64 - A Success Story!Enabling Java: Windows on Arm64 - A Success Story!
Enabling Java: Windows on Arm64 - A Success Story!
 
Java Garbage Collectors – Moving to Java7 Garbage First (G1) Collector
Java Garbage Collectors – Moving to Java7 Garbage First (G1) CollectorJava Garbage Collectors – Moving to Java7 Garbage First (G1) Collector
Java Garbage Collectors – Moving to Java7 Garbage First (G1) Collector
 
Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4
 
Storing Cassandra Metrics
Storing Cassandra MetricsStoring Cassandra Metrics
Storing Cassandra Metrics
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
 
GC Tuning in the HotSpot Java VM - a FISL 10 Presentation
GC Tuning in the HotSpot Java VM - a FISL 10 PresentationGC Tuning in the HotSpot Java VM - a FISL 10 Presentation
GC Tuning in the HotSpot Java VM - a FISL 10 Presentation
 
Tuning Java for Big Data
Tuning Java for Big DataTuning Java for Big Data
Tuning Java for Big Data
 
Everything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @TwitterEverything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @Twitter
 
HotSpot JVM Tuning
HotSpot JVM TuningHotSpot JVM Tuning
HotSpot JVM Tuning
 
JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011JVM @ Taobao - QCon Hangzhou 2011
JVM @ Taobao - QCon Hangzhou 2011
 
Garbage First and you
Garbage First and youGarbage First and you
Garbage First and you
 
Trouble with memory
Trouble with memoryTrouble with memory
Trouble with memory
 
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala TaiwanScala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
 
Tuning the g1gc
Tuning the g1gcTuning the g1gc
Tuning the g1gc
 
Integrating Vert.x
Integrating Vert.xIntegrating Vert.x
Integrating Vert.x
 
Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9
 
Processing Big Data in Real-Time - Yanai Franchi, Tikal
Processing Big Data in Real-Time - Yanai Franchi, TikalProcessing Big Data in Real-Time - Yanai Franchi, Tikal
Processing Big Data in Real-Time - Yanai Franchi, Tikal
 

Similaire à Game of Performance: A Song of JIT and GC

Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
ESUG
 
White and Black Magic on the JVM
White and Black Magic on the JVMWhite and Black Magic on the JVM
White and Black Magic on the JVM
Ivaylo Pashov
 
Advanced Production Debugging
Advanced Production DebuggingAdvanced Production Debugging
Advanced Production Debugging
Takipi
 
Byte code manipulation and instrumentalization in Java
Byte code manipulation and instrumentalization in JavaByte code manipulation and instrumentalization in Java
Byte code manipulation and instrumentalization in Java
Alex Moskvin
 
Lifecycle of a JIT compiled code
Lifecycle of a JIT compiled codeLifecycle of a JIT compiled code
Lifecycle of a JIT compiled code
J On The Beach
 
Hacking Java @JavaLand2016
Hacking Java @JavaLand2016Hacking Java @JavaLand2016
Hacking Java @JavaLand2016
Sean P. Floyd
 
Vaugham Hong - Embedding JavaScript V8
Vaugham Hong - Embedding JavaScript V8Vaugham Hong - Embedding JavaScript V8
Vaugham Hong - Embedding JavaScript V8
Allen Pike
 
How the HotSpot and Graal JVMs execute Java Code
How the HotSpot and Graal JVMs execute Java CodeHow the HotSpot and Graal JVMs execute Java Code
How the HotSpot and Graal JVMs execute Java Code
Jim Gough
 
Code lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf LinzCode lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf Linz
Ivan Krylov
 
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
Vladimir Ivanov
 
Bytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte BuddyBytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte Buddy
Koichi Sakata
 
G1 collector and tuning and Cassandra
G1 collector and tuning and CassandraG1 collector and tuning and Cassandra
G1 collector and tuning and Cassandra
Chris Lohfink
 
SPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic librarySPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic library
AdaCore
 
Tuning Java GC to resolve performance issues
Tuning Java GC to resolve performance issuesTuning Java GC to resolve performance issues
Tuning Java GC to resolve performance issues
Sergey Podolsky
 
Triton and Symbolic execution on GDB@DEF CON China
Triton and Symbolic execution on GDB@DEF CON ChinaTriton and Symbolic execution on GDB@DEF CON China
Triton and Symbolic execution on GDB@DEF CON China
Wei-Bo Chen
 
Performance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen BorgersPerformance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen Borgers
NLJUG
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
Vinay H G
 
[DLHacks]Introduction to ChainerCV
[DLHacks]Introduction to ChainerCV[DLHacks]Introduction to ChainerCV
[DLHacks]Introduction to ChainerCV
Deep Learning JP
 
JVM and Java Performance Tuning | JVM Tuning | Java Performance
JVM and Java Performance Tuning | JVM Tuning | Java PerformanceJVM and Java Performance Tuning | JVM Tuning | Java Performance
JVM and Java Performance Tuning | JVM Tuning | Java Performance
Anand Narayanan
 
JVM Under the Hood
JVM Under the HoodJVM Under the Hood
JVM Under the Hood
Serkan Özal
 

Similaire à Game of Performance: A Song of JIT and GC (20)

Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
 
White and Black Magic on the JVM
White and Black Magic on the JVMWhite and Black Magic on the JVM
White and Black Magic on the JVM
 
Advanced Production Debugging
Advanced Production DebuggingAdvanced Production Debugging
Advanced Production Debugging
 
Byte code manipulation and instrumentalization in Java
Byte code manipulation and instrumentalization in JavaByte code manipulation and instrumentalization in Java
Byte code manipulation and instrumentalization in Java
 
Lifecycle of a JIT compiled code
Lifecycle of a JIT compiled codeLifecycle of a JIT compiled code
Lifecycle of a JIT compiled code
 
Hacking Java @JavaLand2016
Hacking Java @JavaLand2016Hacking Java @JavaLand2016
Hacking Java @JavaLand2016
 
Vaugham Hong - Embedding JavaScript V8
Vaugham Hong - Embedding JavaScript V8Vaugham Hong - Embedding JavaScript V8
Vaugham Hong - Embedding JavaScript V8
 
How the HotSpot and Graal JVMs execute Java Code
How the HotSpot and Graal JVMs execute Java CodeHow the HotSpot and Graal JVMs execute Java Code
How the HotSpot and Graal JVMs execute Java Code
 
Code lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf LinzCode lifecycle in the jvm - TopConf Linz
Code lifecycle in the jvm - TopConf Linz
 
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
 
Bytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte BuddyBytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte Buddy
 
G1 collector and tuning and Cassandra
G1 collector and tuning and CassandraG1 collector and tuning and Cassandra
G1 collector and tuning and Cassandra
 
SPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic librarySPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic library
 
Tuning Java GC to resolve performance issues
Tuning Java GC to resolve performance issuesTuning Java GC to resolve performance issues
Tuning Java GC to resolve performance issues
 
Triton and Symbolic execution on GDB@DEF CON China
Triton and Symbolic execution on GDB@DEF CON ChinaTriton and Symbolic execution on GDB@DEF CON China
Triton and Symbolic execution on GDB@DEF CON China
 
Performance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen BorgersPerformance van Java 8 en verder - Jeroen Borgers
Performance van Java 8 en verder - Jeroen Borgers
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
 
[DLHacks]Introduction to ChainerCV
[DLHacks]Introduction to ChainerCV[DLHacks]Introduction to ChainerCV
[DLHacks]Introduction to ChainerCV
 
JVM and Java Performance Tuning | JVM Tuning | Java Performance
JVM and Java Performance Tuning | JVM Tuning | Java PerformanceJVM and Java Performance Tuning | JVM Tuning | Java Performance
JVM and Java Performance Tuning | JVM Tuning | Java Performance
 
JVM Under the Hood
JVM Under the HoodJVM Under the Hood
JVM Under the Hood
 

Plus de Monica Beckwith

The ilities of software engineering.pptx
The ilities of software engineering.pptxThe ilities of software engineering.pptx
The ilities of software engineering.pptx
Monica Beckwith
 
A G1GC Saga-KCJUG.pptx
A G1GC Saga-KCJUG.pptxA G1GC Saga-KCJUG.pptx
A G1GC Saga-KCJUG.pptx
Monica Beckwith
 
ZGC-SnowOne.pdf
ZGC-SnowOne.pdfZGC-SnowOne.pdf
ZGC-SnowOne.pdf
Monica Beckwith
 
QCon London.pdf
QCon London.pdfQCon London.pdf
QCon London.pdf
Monica Beckwith
 
Applying Concurrency Cookbook Recipes to SPEC JBB
Applying Concurrency Cookbook Recipes to SPEC JBBApplying Concurrency Cookbook Recipes to SPEC JBB
Applying Concurrency Cookbook Recipes to SPEC JBB
Monica Beckwith
 
Intro to Garbage Collection
Intro to Garbage CollectionIntro to Garbage Collection
Intro to Garbage Collection
Monica Beckwith
 
OpenJDK Concurrent Collectors
OpenJDK Concurrent CollectorsOpenJDK Concurrent Collectors
OpenJDK Concurrent Collectors
Monica Beckwith
 
Java Performance Engineer's Survival Guide
Java Performance Engineer's Survival GuideJava Performance Engineer's Survival Guide
Java Performance Engineer's Survival Guide
Monica Beckwith
 
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...
Monica Beckwith
 

Plus de Monica Beckwith (9)

The ilities of software engineering.pptx
The ilities of software engineering.pptxThe ilities of software engineering.pptx
The ilities of software engineering.pptx
 
A G1GC Saga-KCJUG.pptx
A G1GC Saga-KCJUG.pptxA G1GC Saga-KCJUG.pptx
A G1GC Saga-KCJUG.pptx
 
ZGC-SnowOne.pdf
ZGC-SnowOne.pdfZGC-SnowOne.pdf
ZGC-SnowOne.pdf
 
QCon London.pdf
QCon London.pdfQCon London.pdf
QCon London.pdf
 
Applying Concurrency Cookbook Recipes to SPEC JBB
Applying Concurrency Cookbook Recipes to SPEC JBBApplying Concurrency Cookbook Recipes to SPEC JBB
Applying Concurrency Cookbook Recipes to SPEC JBB
 
Intro to Garbage Collection
Intro to Garbage CollectionIntro to Garbage Collection
Intro to Garbage Collection
 
OpenJDK Concurrent Collectors
OpenJDK Concurrent CollectorsOpenJDK Concurrent Collectors
OpenJDK Concurrent Collectors
 
Java Performance Engineer's Survival Guide
Java Performance Engineer's Survival GuideJava Performance Engineer's Survival Guide
Java Performance Engineer's Survival Guide
 
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...
 

Dernier

Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 

Dernier (20)

Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 

Game of Performance: A Song of JIT and GC