С наступающим Новым годом, друзья! 🎄

Пусть он подарит вам множество интересных событий и радостных моментов, поделится в нужный момент удачей и надежно оберегает вас и ваших близких.

А заключительной в этом году видеозаписью, которой мы с вами поделимся, будет выступление на CoreHard Autumn 2019 разработчика компиляторов в Samsung Романа Русяева «Исключения C++ через призму компиляторных оптимизаций».

О докладе:

На дворе 21-й век, непроизводительная реализация обработки C++ исключений на основе setjmp/longjmp уже в прошлом. Современные компиляторы, такие как gcc и clang, используют продвинутую реализацию C++ исключений, называемую zero-cost exception handling. Но насколько действительно это zero-cost? Да, мы платим увеличением размера бинарного файла, а также в случае, когда исключение действительно выбрасывается, запуская процесс stack unwinding, вызывая деструкторы для локальных объектов и т.д. Но теряем ли мы производительность, если исключение не выбрасывается? Появляются ли какие-то ограничения на компиляторные оптимизации? В этом докладе дано описание того, каким образом С++ исключения оказывают влияние на компиляторные оптимизации. Какие оптимизации не могут быть применены в случае, если функция может бросить исключения, а какие оптимизации становится труднее применять. Примеры реализации исключений и компиляторных оптимизаций рассматриваются на базе LLVM. Доклад преследует цель дать людям понимание, когда делать сборку своего приложения с -fno-exceptions имеет смысл, а когда можно наслаждаться всеми прелестями использования C++ исключений, зная, что их код не значительно потерял в производительности по сравнению с кодом, где исключения отключены.

Роман Русяев занимается разработкой компилятора нейронных сетей для NPU (Neural Processing Unit) в российском центре Samsung. Скомпилированные нейронные сети поставляются в составе флагманских телефонов Samsung, таких как Galaxy Note 10. Имеется опыт разработки оптимизирующего компилятора под VLIW-архитектуру «Эльбрус» и архитектуру SPARC с языков C, C++, Fortran.

Посмотреть видео ▼

Презентация к видео ▼


До встречи в 2020!

Оставайтесь с нами на связи здесь и в пабликах сообщества CoreHard:

CoreHard Twitter

CoreHard Telegram
CoreHard Facebook
CoreHard Vkontakte
CoreHard Instagram
CoreHard Conference