Главная
Study mode:
on
1
Introduction
2
What is optimization
3
X86 optimization
4
Assembly
5
Port Types
6
Auto Order Execution
7
Avoid Stalls
8
Not all instructions are equal
9
Relative instruction speed
10
SIMD
11
Multithreading
12
Complex Switches
13
Caches
14
Compact Objects
15
Padding
16
Branch prediction
17
Branch code
18
Static branch prediction
19
Inlining
20
ABI Cost
21
Specialized Optimization
22
Metaprogramming
23
Explicit Load
24
Unrolling
25
Overload
26
Advanced Optimization
27
Loop Optimization
28
Register Rotation
Description:
Explore an in-depth overview of program optimization techniques in this ACCU 2017 conference talk by Mathias Gaunard. Delve into the world of C++ efficiency as the speaker introduces various methods to map algorithms to computer architecture with minimal overhead. Begin by understanding the intricacies of hardware architecture, including NUMA, multi-core processing, superscalar execution, instruction pipelining, specialized processing units, caching behavior, and branch prediction. Then, discover practical programming techniques such as asynchronous programming, strength reduction, tiling, loop unrolling and pipelining, branch elimination, vectorization, mixed precision, and specialized algorithms. Learn how C++ templates can help generalize and combine these optimization strategies. Examine benchmarks to assess the effectiveness of these techniques in real-world scenarios. Cover topics like x86 optimization, assembly, port types, auto order execution, SIMD, multithreading, complex switches, caches, compact objects, padding, inlining, ABI cost, metaprogramming, explicit load, unrolling, loop optimization, and register rotation. Read more

An Overview of Program Optimization Techniques

ACCU Conference
Add to list
0:00 / 0:00