CppCon 2018: Fedor Pikus “Design for Performance”

  Рет қаралды 34,501

CppCon

CppCon

5 жыл бұрын

CppCon.org
-
Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2018
-
This presentation is a "lessons learned" summary of some 20 years of experience designing, developing, and maintaining a large-scale commercial software system for the users who are primarily interested in performance. Competitive benchmarks are the dominant factor in our users' decisions whose tool to buy.
A high-quality implementation, a skillful optimization, can win the day in such environment. But only the day. The design determines the long-term survival. Parts of the system have grown ten-fold in size and complexity, but still fundamentally use the original architecture and show no sign of strain. Others had to be radically redesigned or even rewritten from scratch. The designs of the former type tend to share certain characteristic properties, which we came to recognize. These are design patterns of high-performance software, at least in our experience. The design of the latter type, unfortunately, exhibit an infinite variety of poor decisions, although some mistakes (anti-patterns?) are repeated over and over.
In this presentation, I will show the most important patterns and practices of design for performance that I have learned. Some will be obvious, especially after you hear them. Others may be controversial (for example, sometimes you should optimize prematurely if you want to be able to optimize at all). I may even present some of the anti-patterns, but only for laughs and to make the listeners feel better about their own design mistakes.
-
Fedor Pikus, Siemens
Chief Scientist
Fedor G Pikus is a Chief Engineering Scientist in the Design to Silicon division of Mentor
Graphics Corp (Siemens business). His earlier positions included a Senior Software Engineer at Google and a Chief Software Architect for Calibre PERC, LVS, DFM at Mentor Graphics. He joined Mentor Graphics in 1998 when he made a switch from academic research in computational physics to the software industry. Fedor is a recognized expert on high-performance computing and C++, he presented his works at CPPCon, SD West, DesignCon, in Software Development Journal, and is also an O’Reilly author. His responsibilities as a Chief Scientist include planning the long-term technical direction of Calibre products, directing and training the engineers who work on these products, design, and architecture of the software, and research in the new design and software technologies. Fedor has over 25 patents and over 100 papers and conference presentations on physics, EDA, software design, and C++ language.
-
Videos Filmed & Edited by Bash Films: www.BashFilms.com
*-----*
*--*
*-----*

Пікірлер: 10
@user-zp3nd6ht8v
@user-zp3nd6ht8v 4 жыл бұрын
Amazing talk! This video makes me addicted to this channel.
@Sychonut
@Sychonut 4 жыл бұрын
Remarkable talk.
@raphaelkuttruf
@raphaelkuttruf 3 жыл бұрын
Fedor is the best
@GeorgeTsiros
@GeorgeTsiros 5 жыл бұрын
19:50 instead of profiling why not change cpu or memory clocks?🤔
@gunnararndt4359
@gunnararndt4359 5 жыл бұрын
I'm not convinced that paralyzing is going to speed up the program...no, kidding, great and helpful presentation.
@harryliang9263
@harryliang9263 4 жыл бұрын
@41:42 is there a small mistake? The `r` is inserted then removed immediately?
@yokebabjr3866
@yokebabjr3866 2 жыл бұрын
Does anybody as found the source code of this talk?
@dat_21
@dat_21 4 жыл бұрын
_mm256_dp_ps is very inefficient. Proper dot product based on FMA instructions could run a lot faster.
@GeorgeTsiros
@GeorgeTsiros 5 жыл бұрын
hahaha "caffeine"
CppCon 2018: Jason Turner “Applied Best Practices”
1:03:19
Зомби Апокалипсис  часть 1 🤯#shorts
00:29
INNA SERG
Рет қаралды 7 МЛН
ШЕЛБИЛАР | bayGUYS
24:45
bayGUYS
Рет қаралды 646 М.
CppCon 2018: Andrei Alexandrescu “Expect the expected”
58:58
Branchless Programming in C++ - Fedor Pikus - CppCon 2021
1:03:57