Conference Fastware: There’s Treasure Everywhere (May 9)
When many of us think of making code faster, things like SSE, parallelization, or other tactical tricks come to mind. Yet many core algorithms and data structures do not lend themselves to exotic optimizations; for such, a simple guiding principle of making code faster is to do less work for the same results. This often boils down to marshaling computation carefully in conjunction with applying simple algebraic and logical principles that expose and eliminate redundant work.
Once you have the right mindset, you can find wonderful opportunities for making code faster everywhere – in your daily work, but even in classic algorithms taught in college that are considered already optimal. Join Andrei for one evening of exploration of the wonders of code optimization. We will see together how classic algorithms that have stayed unchanged for half a century can be improved, sometimes radically. The presentation includes the first public description of a new algorithm for fast median selection.
Workshop’s topics (May 10)
This class introduces attendees to a thorough approach to optimization techniques for contemporary computing architectures. It is based on material from Andrei’s upcoming book Fastware. In turn, the book is based on Andrei’s career-long experience with tuning the performance of various software systems, from Machine Learning research to high-performance libraries to Facebook-scale computing backends.
Such information is scant and difficult to find. Software engineering folklore is rife with tales of optimizations. Programmers commonly discuss and argue whether a piece of code is supposed to be faster than another, or what to do to improve the performance of a system small or large.
- The Art of Benchmarking
- Common Benchmarking Pitfalls
- Portable Optimization Techniques
- Numbers and Strength Reduction
- Memory and Minimizing Indirect Writes
- Tables vs. Computation
- The Forgotten Parallelism
- Using Algebra
- C++: Beware Compiler’s Most Vexing Inlining
- Beware Inline Destructors
- Lazy Allocation
- Skip Last Operation
- Prefer Zero of All Numbers
- C++: Copy Elision vs. Move Semantics
- Scalable Use of the STL
You can choose to pay by mobilPay online payment or by invoice. Please register here in order to send you the invoice.
9 May 2016 – Half Day Conference
until may 7 - 23:59
The ticket fee includes access to conference, networking, coffee breaks, snacks and access to all activities on May 9th.
until may 7 - 23:59
The ticket fee includes access to conference, networking, coffee breaks, snacks and access to all activities on May 10th.