YoVDO

Optimizing Binary Search - Advanced Techniques and Performance Improvements

Offered By: CppCon via YouTube

Tags

Binary Search Courses C++ Courses Data Structures Courses Algorithm Optimization Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore advanced optimization techniques for binary search algorithms in this CppCon 2022 conference talk by Sergey Slotin. Delve into branchless programming, memory layout optimization, and SIMD instructions to achieve up to 15x performance improvements over std::lower_bound. Learn how to apply these techniques to fundamental algorithms, making them significantly faster and more efficient. Discover the potential for multifold improvements in textbook algorithms and gain insights into performance engineering that can be applied to various software projects. Follow along as Slotin demonstrates the development of an optimized binary search algorithm, covering topics such as pipeline hazards, cache efficiency, memory optimization, and adaptive tree growth.

Syllabus

Introduction
Agenda
Formalization
Comparisons
Average Time
Pipeline
Hazards
Loop Condition
Cache Efficiency
Cache Lines
Memory Optimization
Ancestor Number System
Binary Tree
Example
Performance
Risk
Node Size
Vector procedure
Bitrees
Two fundamental problems
Btrees
Performance improvements
Adaptive tree growth
Layer modifications
Other data types
B3 inspired approach
Results
Question


Taught by

CppCon

Related Courses

Computer Graphics
University of California, San Diego via edX
Intro to Parallel Programming
Nvidia via Udacity
Initiation à la programmation (en C++)
École Polytechnique Fédérale de Lausanne via Coursera
C++ For C Programmers, Part A
University of California, Santa Cruz via Coursera
Introduction à la programmation orientée objet (en C++)
École Polytechnique Fédérale de Lausanne via Coursera