SlideShare a Scribd company logo
Talk About Performance
@YaroslavBunyak	

Senior Software Engineer, SoftServe Inc.
What is Performance?
What is a Program?

data

xform

data
What is a Program?

data

xform

data
What is a Program?

data

xform

TH IS
!
!

data
What is a Program?

data

xform

data
What is a Program?

data

xform

data
How to Create a Program?
Simple
Simple
Write code	

Your favorite programming language: C, C++, Objective-C, Java etc.
Simple
Write code	

Your favorite programming language: C, C++, Objective-C, Java etc.

Compile	

Compiler will transform your code into machine code
Simple
Write code	

Your favorite programming language: C, C++, Objective-C, Java etc.

Compile	

Compiler will transform your code into machine code

Run on target hardware	

Hardware is a black box
Simple
Write code	

Your favorite programming language: C, C++, Objective-C, Java etc.

Compile	

Compiler will transform your code into machine code

Run on target hardware	

Hardware is a black box

<- Righ t?
Simple
Write code	

Your favorite programming language: C, C++, Objective-C, Java etc.

Compile	

Compiler will transform your code into machine code

Run on target hardware	

Hardware is a black box

Wro ng!
<- Righ t?
Simple
Write code	

Your favorite programming language: C, C++, Objective-C, Java etc.

Compile	

Compiler will transform your code into machine code

Run on target hardware	

Hardware is a black box
Bad Programs
Bad Programs
Sloppy	

Using the program is like
trying to swim in jelly
Bad Programs
Sloppy	

Using the program is like
trying to swim in jelly

Use memory
inefficiently
Bad Programs
Sloppy	

Using the program is like
trying to swim in jelly

Use memory
inefficiently
Battery is dead
already
Good Programs
Good Programs

Run fast
Good Programs

Run fast
Use little memory
Good Programs

Run fast
Use little memory
Save battery
Good Programs

Run fast
Use little memory
Save battery

I w r i te t h e m !
Good Programs

Run fast
Use little memory
Save battery

I w r i te t h e m !
I t wa s a jo k e :)
Good Programs

Run fast
Use little memory
Save battery
How to Create a Good Program?
What is a Program?

data

xform

data
What is a Program?
What is a Program?
What is a Program?

code

hardware
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;

Q : H o w f a s t t h is
c o de is?
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;

Q : H o w f a s t t h is
c o de is?
A: De pe nd s.. .
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;

... on ho w fa st
CP U adds t wo
in te ge rs?
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;

... on ho w fa st
CP U adds t wo
in te ge rs?
NO
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;

... on ho w fa st
CP U adds t wo
Any mo de ge rs? U
in te rn CP
ca n add in te geO
N rs
ve ry fa st
!

~1 cycle
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;

... on wh et he r `a’
an d `b’ are re ad y
fo r proc es sing
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;

... on wh et he r `a’
an d `b’ are re ad y
pr loade d in
fo r i.e .oc es sing to
CP U re gis te rs
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;

... on wh et he r `a’
an d `b’ are re ad y
foo apr.oc es sing to
d at de
L r i.e dloaa d in
me re r y
f romCP Umogis te rs
in t o a re g is te r
!

~600 cyc le s
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;

Q : Wh at CP U is
do ing in t h e
me a n t ime?
Code Sample
int a = ...
int b = ...
// more code...
!

Q : Wh at CP U is
do ing in t h e
me a n t ime?

int c = a + b;
A: Nothing! It’s
waiting for data
Code Sample
int a = ...
int b = ...
// more code...
!

int c = a + b;
You Ask
You Ask

Can we do better?
You Ask

Can we do better?
Yes. And your hardware will help you
CPU
CPU Operation
CPU Operation
Load & decode instruction(s)
CPU Operation
Load & decode instruction(s)
Load data	

memory -> registers
CPU Operation
Load & decode instruction(s)
Load data	

memory -> registers

Execute instruction(s)
CPU Operation
Load & decode instruction(s)
Load data	

memory -> registers

Execute instruction(s)
Store results	

registers -> memory
(Not) Pipeline
cycle

pipeline stage
IL

ID

DL

EX

DS
(Not) Pipeline
cycle
1

pipeline stage
IL
instr. 1

ID

DL

EX

DS
(Not) Pipeline
cycle
1
2

pipeline stage
IL

ID

instr. 1
instr. 1

DL

EX

DS
(Not) Pipeline
cycle
1
2
3

pipeline stage
IL

ID

DL

instr. 1
instr. 1
instr. 1

EX

DS
(Not) Pipeline
cycle
1
2
3
4

pipeline stage
IL

ID

DL

EX

instr. 1
instr. 1
instr. 1
instr. 1

DS
(Not) Pipeline
cycle
1
2
3
4
5

pipeline stage
IL

ID

DL

EX

DS

instr. 1
instr. 1
instr. 1
instr. 1
instr. 1
(Not) Pipeline
cycle
1

pipeline stage
IL

DL

EX

DS

instr. 1

2

instr. 1

3

instr. 1

4

instr. 1

5
6

ID

instr. 1
instr. 2
(Not) Pipeline
cycle
1

pipeline stage
IL

ID

DS

instr. 1

3

instr. 1

4

instr. 1

5
7

EX

instr. 1

2

6

DL

instr. 1
instr. 2
instr. 2
Pipeline
cycle

pipeline stage
IL

ID

DL

EX

DS
Pipeline
cycle
1

pipeline stage
IL
instr. 1

ID

DL

EX

DS
Pipeline
cycle

pipeline stage
IL

ID

1

instr. 1

2

instr. 2 instr. 1

DL

EX

DS
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 1

2

instr. 2 instr. 1

3

instr. 3 instr. 2 instr. 1

EX

DS
Pipeline
cycle

pipeline stage
IL

ID

DL

EX

1

instr. 1

2

instr. 2 instr. 1

3

instr. 3 instr. 2 instr. 1

4

instr. 4 instr. 3 instr. 2 instr. 1

DS
Pipeline
cycle

pipeline stage
IL

ID

DL

EX

1

instr. 1

2

instr. 2 instr. 1

3

instr. 3 instr. 2 instr. 1

4

DS

instr. 4 instr. 3 instr. 2 instr. 1

5

instr. 4 instr. 3 instr. 2 instr. 1
Pipeline
cycle

pipeline stage
IL

ID

DL

EX

1

instr. 1

2

instr. 2 instr. 1

3

instr. 3 instr. 2 instr. 1

4

DS

instr. 4 instr. 3 instr. 2 instr. 1

5

instr. 4 instr. 3 instr. 2 instr. 1

6

instr. 4 instr. 3 instr. 2
Pipeline
cycle

pipeline stage
IL

ID

DL

EX

1

instr. 1

2

instr. 2 instr. 1

3

instr. 3 instr. 2 instr. 1

4

DS

instr. 4 instr. 3 instr. 2 instr. 1

5

instr. 4 instr. 3 instr. 2 instr. 1

6

instr. 4 instr. 3 instr. 2

7

instr. 4 instr. 3
Pipeline
cycle

pipeline stage
IL

ID

DL

EX

1

instr. 1

2

instr. 2 instr. 1

3

instr. 3 instr. 2 instr. 1

4

DS

instr. 4 instr. 3 instr. 2 instr. 1

5

instr. 4 instr. 3 instr. 2 instr. 1

6

instr. 4 instr. 3 instr. 2

7

instr. 4 instr. 3
Branch Prediction
if (day == Monday)
dose = kDouble;
else
dose = kStandard;
!

make_coffee(dose);
Branch Prediction
if (day == Monday) // 1
dose = kDouble;
// 2
else
dose = kStandard; // 3
!

make_coffee(dose);

// 4
Branch Prediction
What
if (day == Monday) // 1 <dose = kDouble;
// 2 ins tr uc tio n to
load & de co de
else
ne xt ?
dose = kStandard; // 3
!

make_coffee(dose);

// 4
Branch Prediction
What
if (day == Monday) // 1 <dose = kDouble;
// 2 ins tr ucttio n to
<- wo
load & de co de
or
else
xt ?
<-neth re e
dose = kStandard; // 3
?
!
make_coffee(dose); // 4
Branch Prediction
if (day == Monday) // 1
dose = kDouble;
// 2
else
dose = kStandard; // 3
!

make_coffee(dose);

// 4
Branch Prediction
if (day == Monday) // 1
dose = kDouble;
// 2
else
dose = kStandard; // 3
!

make_coffee(dose);

// 4
Branch Prediction
if (day == Monday)
dose = kDouble;
else
dose = kStandard;
!

make_coffee(dose);

// 1
// 2
CP U wi ll tr y to
pr 3
//edict an d st art
load & de co de
// 4
Branch Prediction
if (day == Monday)
dose = kDouble;
else
dose = kStandard;
!

make_coffee(dose);

// 1
// 2 wa s w ro ng:
If it
CPis cwi ll tr s utos,
d U a rd re y lt
pr flus p d st ar
//edicthanip e li ne t
3
load & de co de
// 4
Branch Prediction
if (day == Monday) // 1
dose = kDouble;
// 2
else
dose = kStandard; // 3
!

make_coffee(dose);

// 4
Pipeline
cycle

pipeline stage
IL

ID

DL

EX

DS
Pipeline
cycle
1

pipeline stage
IL
instr. 1

ID

DL

EX

DS
Pipeline
cycle

pipeline stage
IL

ID

1

instr. 1

2

instr. 2 instr. 1

DL

EX

DS
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 1

2

instr. 2 instr. 1

3

instr. 4 instr. 2 instr. 1

EX

DS
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 2 instr. 1

3

DS

instr. 1

2

EX

instr. 4 instr. 2 instr. 1

4

instr. 4 instr. 2 instr. 1

<- ins tr. 1
exec uted ,
predict ion
wa s co rrec t
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 2 instr. 1

3

DS

instr. 1

2

EX

instr. 4 instr. 2 instr. 1

4
5

instr. 4 instr. 2 instr. 1
instr. 4 instr. 2 instr. 1
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 2 instr. 1

3

DS

instr. 1

2

EX

instr. 4 instr. 2 instr. 1

4

instr. 4 instr. 2 instr. 1

5

instr. 4 instr. 2 instr. 1

6

instr. 4 instr. 2
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 2 instr. 1

3

DS

instr. 1

2

EX

instr. 4 instr. 2 instr. 1

4

instr. 4 instr. 2 instr. 1

5

instr. 4 instr. 2 instr. 1

6

instr. 4 instr. 2

7

instr. 4
Pipeline
cycle

pipeline stage
IL

ID

DL

EX

DS
Pipeline
cycle
1

pipeline stage
IL
instr. 1

ID

DL

EX

DS
Pipeline
cycle

pipeline stage
IL

ID

1

instr. 1

2

instr. 2 instr. 1

DL

EX

DS
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 1

2

instr. 2 instr. 1

3

instr. 4 instr. 2 instr. 1

EX

DS
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 2 instr. 1

3

DS

instr. 1

2

EX

instr. 4 instr. 2 instr. 1

4

instr. 4 instr. 2 instr. 1

<- ins tr. 1
exec uted , wrong
predict ion
de te cted
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 2 instr. 1

3

DS

instr. 1

2

EX

instr. 4 instr. 2 instr. 1

4
5

instr. 4 instr. 2 instr. 1
instr. 3

instr. 1
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 2 instr. 1

3

DS

instr. 1

2

EX

instr. 4 instr. 2 instr. 1

4

instr. 4 instr. 2 instr. 1

5

instr. 3

6

instr. 4 instr. 3

instr. 1
Pipeline
cycle

pipeline stage
IL

ID

DL

1

instr. 2 instr. 1

3

DS

instr. 1

2

EX

instr. 4 instr. 2 instr. 1

4

instr. 4 instr. 2 instr. 1

5

instr. 3

6

instr. 4 instr. 3

7

instr. 1
instr. 4 instr. 3
Takeaways
Takeaways

Branches are bad for the pipeline
Takeaways

Branches are bad for the pipeline
Avoid if possible
Takeaways

Branches are bad for the pipeline
Avoid if possible
Help branch predictor to help you
Memory
Workflow
Workflow

Program data is stored in memory
Workflow

Program data is stored in memory
CPU requests data for processing
Workflow

Program data is stored in memory
CPU requests data for processing
Typical cycle: load, process, store
Architecture

CPU

Memory
Controller

Memory	

Banks
Architecture

CPU

Memory
Controller

Memory	

Banks
Architecture

CPU

Memory
Controller

Memory	

Banks
Architecture

CPU

Memory
Controller

Memory	

Banks
Architecture

CPU

Memory
Controller

Memory	

Banks
Parameters
Parameters

There are two main parameters of
memory subsystem:
Parameters

There are two main parameters of
memory subsystem:
latency
Parameters

There are two main parameters of
memory subsystem:
latency
bandwidth
Latency
Latency

Shows how much time passes between
data request and its delivery
Latency

Shows how much time passes between
data request and its delivery
Very important concept (see further)
Bandwidth
Bandwidth

Shows how much data can be
accessed per second
Bandwidth

Shows how much data can be
accessed per second
Also important
History Lesson
VAX-11 (1980)

Modern Desktop

Improvement

Clock Speed, Mhz

6

3000

+500x

Memory Size, MB

2

2000

+1000x

Memory
Bandwidth, MB/s

13

7000

+540x

Memory Latency,
ns

225

70

+3x

Memory Latency,
cycles

1.4

210

-150x

Data from “Machine Architecture” talk by Herb Sutter
History Lesson
History Lesson

For the past 30+ years we saw huge
improvements in CPU processing power
and data sizes
History Lesson

For the past 30+ years we saw huge
improvements in CPU processing power
and data sizes ... b u t
History Lesson

For the past 30+ years we saw huge
improvements in CPU processing power
and data sizes
Memory speeds couldn’t keep up with the
progress
Takeaways
Takeaways

Latency is the king!
Takeaways

Latency is the king!
You can trade CPU time for memory, i.e.
calculate more - load/store less
Memory types
Memory types

There are two main memory types:
Memory types

There are two main memory types:
Static RAM - fast, but very expensive
Memory types

There are two main memory types:
Static RAM - fast, but very expensive
Dynamic RAM - slow, but cheaper
Memory types

There are two main memory types:
W - h one but very expensive
Static RAM hicfast, to use?

Dynamic RAM - slow, but cheaper
Memory types

There are two main memory types:
Static RAM - fast, but very expensive
Dynamic RAM - slow, but cheaper
Solution
Solution

Build memory hierarchy which utilizes
large amounts of cheap DRAM storage
and small amounts of fast SRAM cache
Memory Hierarchy

L1i/L1d

L2 Cache

Memory
Memory Hierarchy

iPh one 4s:
!

32KB L1i
32KB L1d
1 MB L2
512 MB DR AM

L1i/L1d

L2 Cache

Memory
Memory Hierarchy

iPh one 4s:
!

32KB L1i
32KB L1d
1 MB L2
512 MB DR AM

A c c e s s:
L1i/L1d

L2 Cache

Memory

!

re g is te rs - 1 cyc le
L1 - 5 cyc le s
L2 - 40 cyc le s
DR AM - 610
Memory Hierarchy

L1i/L1d

L2 Cache

Memory
Cache Miss
Cache Miss

If data requested by CPU is not in the
cache it has to be loaded from the main
(slow) memory
Cache Line
Cache Line

Minimum amount of data that can be
read from and written to memory
Cache Line

Minimum amount of data that can be
read from and written to memory
Usually 64-128 bytes
Cache Line
Cache Line
What does it mean?
Cache Line
What does it mean?
Consider you have an array of 16 floats
and you want the first float for
calculations
Cache Line
What does it mean?
Consider you have an array of 16 floats
and you want the first float for
calculations
If it’s not in cache already, you will pay
the “full price” to load entire cache line
Cache Line
What does it mean?
Consider you have an array of 16 floats
and you want the first float for
calculations
If it’s not in cache already, you will pay
the “full price” to load entire cache line
Access remaining 15 floats “for free”
Prefetch
Prefetch
Modern CPUs and compilers are able to
detect memory access patterns and
preload data in caches speculatively
Prefetch
Modern CPUs and compilers are able to
detect memory access patterns and
preload data in caches speculatively
So, data will be ready when you need it
Prefetch
Modern CPUs and compilers are able to
detect memory access patterns and
preload data in caches speculatively
So, data will be ready when you need it
But your data access patterns must be
very simple - linear is a good one
Prefetch
Modern CPUs and compilers are able to
detect memory access+patterns and
BT W, C+
p e rat o rocaches> speculatively
preload data in
t ime s
s ome
e r re d t a s
re freadyowhen you need it
So, data will be
“c ach e m is s”
ope rat o r
But your data access patterns must be

very simple - linear is a good one
Prefetch
Modern CPUs and compilers are able to
detect memory access+patterns and
BT W, C+
p e rat o rocaches> speculatively
preload data in Can tyimue gue s s
o s
s ome w
h y? s
e r re d t a
re freadyowhen you need it
So, data will be
“c ach e m is s”
ope rat o r
But your data access patterns must be

very simple - linear is a good one
Prefetch
Modern CPUs and compilers are able to
detect memory access patterns and
preload data in caches speculatively
So, data will be ready when you need it
But your data access patterns must be
very simple - linear is a good one
How to Create a Good Program?
Simple
Simple

Know your target hardware
Simple

Know your target hardware
Know your data
Simple

Know your target hardware
Know your data
Use your brain
One More Thing...
One More Thing...

Data-Oriented Design
Thank You!
Questions?
References
Ulrich Drepper, “What Every
Programmer Should Know About
Memory”	

Крис Касперски, “Техника
оптимизации программ. Еффективное
использование памяти”	

@mike_acton

More Related Content

Viewers also liked

UCF University Writing Center
UCF University Writing Center UCF University Writing Center
UCF University Writing Center
brobjr18
 
Minuta
MinutaMinuta
Rolls royce 2010
Rolls royce 2010Rolls royce 2010
Rolls royce 2010Pac526
 
CISShanghai
CISShanghaiCISShanghai
CISShanghaibmaddick
 
영수증으로 하는 사랑나눔
영수증으로 하는 사랑나눔영수증으로 하는 사랑나눔
영수증으로 하는 사랑나눔
Yun Jeong Jang
 
Iq' rum buku tulis
Iq' rum buku tulisIq' rum buku tulis
Iq' rum buku tulis
Shika Nara
 
Mulheres que inspiram
Mulheres que inspiramMulheres que inspiram
Mulheres que inspiram
Ricardo Cappobianco
 
โรงเรียนบ้านบ่อหลวง
โรงเรียนบ้านบ่อหลวงโรงเรียนบ้านบ่อหลวง
โรงเรียนบ้านบ่อหลวงSroypret Na Nan
 
Webpage announcement v-no_june
Webpage announcement v-no_juneWebpage announcement v-no_june
Webpage announcement v-no_june
mjhjason
 
Grain Creative on Branding, from the Hidden Art Forum 2011
Grain Creative on Branding, from the Hidden Art Forum 2011Grain Creative on Branding, from the Hidden Art Forum 2011
Grain Creative on Branding, from the Hidden Art Forum 2011
Hidden Art
 
Austria, country of castles
Austria, country of castlesAustria, country of castles
Charlotte Sale on her experiences on 'Britain's Next Big Thing', from the Hid...
Charlotte Sale on her experiences on 'Britain's Next Big Thing', from the Hid...Charlotte Sale on her experiences on 'Britain's Next Big Thing', from the Hid...
Charlotte Sale on her experiences on 'Britain's Next Big Thing', from the Hid...
Hidden Art
 
Yourprezi
YourpreziYourprezi
Yourprezi500sam
 
2009 q3 md&a & interim financial statements
2009 q3 md&a & interim financial statements2009 q3 md&a & interim financial statements
2009 q3 md&a & interim financial statementsProphecy Corp
 
Eberhart Designers Catalog 07 2011 3
Eberhart Designers Catalog 07 2011 3Eberhart Designers Catalog 07 2011 3
Eberhart Designers Catalog 07 2011 3Fred Eberhart
 
โรงเรียนบ้านบ่อหลวง
โรงเรียนบ้านบ่อหลวงโรงเรียนบ้านบ่อหลวง
โรงเรียนบ้านบ่อหลวงSroypret Na Nan
 
Super-Max World
Super-Max WorldSuper-Max World
Super-Max Worlddsnigel5
 

Viewers also liked (20)

UCF University Writing Center
UCF University Writing Center UCF University Writing Center
UCF University Writing Center
 
Minuta
MinutaMinuta
Minuta
 
Rolls royce 2010
Rolls royce 2010Rolls royce 2010
Rolls royce 2010
 
CISShanghai
CISShanghaiCISShanghai
CISShanghai
 
영수증으로 하는 사랑나눔
영수증으로 하는 사랑나눔영수증으로 하는 사랑나눔
영수증으로 하는 사랑나눔
 
Iq' rum buku tulis
Iq' rum buku tulisIq' rum buku tulis
Iq' rum buku tulis
 
Mulheres que inspiram
Mulheres que inspiramMulheres que inspiram
Mulheres que inspiram
 
โรงเรียนบ้านบ่อหลวง
โรงเรียนบ้านบ่อหลวงโรงเรียนบ้านบ่อหลวง
โรงเรียนบ้านบ่อหลวง
 
Webpage announcement v-no_june
Webpage announcement v-no_juneWebpage announcement v-no_june
Webpage announcement v-no_june
 
Grain Creative on Branding, from the Hidden Art Forum 2011
Grain Creative on Branding, from the Hidden Art Forum 2011Grain Creative on Branding, from the Hidden Art Forum 2011
Grain Creative on Branding, from the Hidden Art Forum 2011
 
Austria, country of castles
Austria, country of castlesAustria, country of castles
Austria, country of castles
 
Charlotte Sale on her experiences on 'Britain's Next Big Thing', from the Hid...
Charlotte Sale on her experiences on 'Britain's Next Big Thing', from the Hid...Charlotte Sale on her experiences on 'Britain's Next Big Thing', from the Hid...
Charlotte Sale on her experiences on 'Britain's Next Big Thing', from the Hid...
 
Yourprezi
YourpreziYourprezi
Yourprezi
 
2009 q3 md&a & interim financial statements
2009 q3 md&a & interim financial statements2009 q3 md&a & interim financial statements
2009 q3 md&a & interim financial statements
 
Sarangi 2
Sarangi 2Sarangi 2
Sarangi 2
 
Eberhart Designers Catalog 07 2011 3
Eberhart Designers Catalog 07 2011 3Eberhart Designers Catalog 07 2011 3
Eberhart Designers Catalog 07 2011 3
 
โรงเรียนบ้านบ่อหลวง
โรงเรียนบ้านบ่อหลวงโรงเรียนบ้านบ่อหลวง
โรงเรียนบ้านบ่อหลวง
 
Wiladuras instruqcia
Wiladuras instruqciaWiladuras instruqcia
Wiladuras instruqcia
 
Super-Max World
Super-Max WorldSuper-Max World
Super-Max World
 
Zb a z
Zb a zZb a z
Zb a z
 

Similar to Talk About Performance

Performance #5 cpu and battery
Performance #5  cpu and batteryPerformance #5  cpu and battery
Performance #5 cpu and battery
Vitali Pekelis
 
Arduino programming of ML-style in ATS
Arduino programming of ML-style in ATSArduino programming of ML-style in ATS
Arduino programming of ML-style in ATS
Kiwamu Okabe
 
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Windows Developer
 
Begin with c++ Fekra Course #1
Begin with c++ Fekra Course #1Begin with c++ Fekra Course #1
Begin with c++ Fekra Course #1
Amr Alaa El Deen
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Docker
toffermann
 
ECET 330 Massive Success--snaptutorial.com
ECET 330 Massive Success--snaptutorial.comECET 330 Massive Success--snaptutorial.com
ECET 330 Massive Success--snaptutorial.com
santricksapiens71
 
Ecet 330 Success Begins / snaptutorial.com
Ecet 330 Success Begins / snaptutorial.comEcet 330 Success Begins / snaptutorial.com
Ecet 330 Success Begins / snaptutorial.com
WilliamsTaylorzm
 
Ecet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.comEcet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.com
Stephenson033
 
ECET 330 Technology levels--snaptutorial.com
ECET 330 Technology levels--snaptutorial.comECET 330 Technology levels--snaptutorial.com
ECET 330 Technology levels--snaptutorial.com
sholingarjosh102
 
2019 session 5 describe different basic programming codes and languages
2019 session 5 describe different basic programming codes and languages2019 session 5 describe different basic programming codes and languages
2019 session 5 describe different basic programming codes and languages
Osama Ghandour Geris
 
Complete c programming presentation
Complete c programming presentationComplete c programming presentation
Complete c programming presentation
nadim akber
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programmingAlpana Gupta
 
Blackfin Loop Asm
Blackfin Loop AsmBlackfin Loop Asm
Blackfin Loop AsmAdithya Rao
 
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
apidays
 
Devry cis-170-c-i lab-5-of-7-arrays-and-strings
Devry cis-170-c-i lab-5-of-7-arrays-and-stringsDevry cis-170-c-i lab-5-of-7-arrays-and-strings
Devry cis-170-c-i lab-5-of-7-arrays-and-strings
noahjamessss
 
Devry cis-170-c-i lab-5-of-7-arrays-and-strings
Devry cis-170-c-i lab-5-of-7-arrays-and-stringsDevry cis-170-c-i lab-5-of-7-arrays-and-strings
Devry cis-170-c-i lab-5-of-7-arrays-and-strings
cskvsmi44
 
Lecture1
Lecture1Lecture1
Lecture1
Amisha Dalal
 
PVS-Studio delved into the FreeBSD kernel
PVS-Studio delved into the FreeBSD kernelPVS-Studio delved into the FreeBSD kernel
PVS-Studio delved into the FreeBSD kernel
PVS-Studio
 
Vlsi lab manual_new
Vlsi lab manual_newVlsi lab manual_new
Vlsi lab manual_new
Naveen Gouda
 

Similar to Talk About Performance (20)

Performance #5 cpu and battery
Performance #5  cpu and batteryPerformance #5  cpu and battery
Performance #5 cpu and battery
 
Arduino programming of ML-style in ATS
Arduino programming of ML-style in ATSArduino programming of ML-style in ATS
Arduino programming of ML-style in ATS
 
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
Build 2016 - B880 - Top 6 Reasons to Move Your C++ Code to Visual Studio 2015
 
Begin with c++ Fekra Course #1
Begin with c++ Fekra Course #1Begin with c++ Fekra Course #1
Begin with c++ Fekra Course #1
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Docker
 
ECET 330 Massive Success--snaptutorial.com
ECET 330 Massive Success--snaptutorial.comECET 330 Massive Success--snaptutorial.com
ECET 330 Massive Success--snaptutorial.com
 
Ecet 330 Success Begins / snaptutorial.com
Ecet 330 Success Begins / snaptutorial.comEcet 330 Success Begins / snaptutorial.com
Ecet 330 Success Begins / snaptutorial.com
 
Ecet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.comEcet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.com
 
ECET 330 Technology levels--snaptutorial.com
ECET 330 Technology levels--snaptutorial.comECET 330 Technology levels--snaptutorial.com
ECET 330 Technology levels--snaptutorial.com
 
2019 session 5 describe different basic programming codes and languages
2019 session 5 describe different basic programming codes and languages2019 session 5 describe different basic programming codes and languages
2019 session 5 describe different basic programming codes and languages
 
Complete c programming presentation
Complete c programming presentationComplete c programming presentation
Complete c programming presentation
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Blackfin Loop Asm
Blackfin Loop AsmBlackfin Loop Asm
Blackfin Loop Asm
 
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
 
Devry cis-170-c-i lab-5-of-7-arrays-and-strings
Devry cis-170-c-i lab-5-of-7-arrays-and-stringsDevry cis-170-c-i lab-5-of-7-arrays-and-strings
Devry cis-170-c-i lab-5-of-7-arrays-and-strings
 
Devry cis-170-c-i lab-5-of-7-arrays-and-strings
Devry cis-170-c-i lab-5-of-7-arrays-and-stringsDevry cis-170-c-i lab-5-of-7-arrays-and-strings
Devry cis-170-c-i lab-5-of-7-arrays-and-strings
 
Lec-1c.pdf
Lec-1c.pdfLec-1c.pdf
Lec-1c.pdf
 
Lecture1
Lecture1Lecture1
Lecture1
 
PVS-Studio delved into the FreeBSD kernel
PVS-Studio delved into the FreeBSD kernelPVS-Studio delved into the FreeBSD kernel
PVS-Studio delved into the FreeBSD kernel
 
Vlsi lab manual_new
Vlsi lab manual_newVlsi lab manual_new
Vlsi lab manual_new
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

Talk About Performance