Constexpr — большое благо, выраженное в неправильной идее (Евгений Клименков, ISPRASOPEN-2019) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
{{letscomment}}
{{SlidesSection}}
[[File:Constexpr — большое благо, выраженное в неправильной идее (Евгений Клименков, ISPRASOPEN-2019).pdf|left|page=-|350px]]
{{----}}
[[File:{{#setmainimage:Constexpr — большое благо, выраженное в неправильной идее (Евгений Клименков, ISPRASOPEN-2019)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- * [ Talks page on site] -->
<!-- <blockquote>[©]</blockquote> -->
{{fblink|2465913413661665}}
{{vklink|1587}}
<references/>
<!-- topub -->
{{stats|disqus_comments=1|refresh_time=2020-01-28T12:54:50.346489|vimeo_plays=16|youtube_plays=0}}
[[Категория:ISPRASOPEN-2019]]
[[Категория:С++]]
[[Категория:Компиляторы]] |
Версия 10:06, 22 марта 2020
- Докладчик
- Евгений Клименков
Введение спецификатора “constexpr” в новом стандарте языка С++ (C++11) породило волну интереса к теме выполнения функций во время компиляции в сообществах связанных с языками программирования. В данном докладе рассмотривается и анализируется эта языковая конструкция и показывается, что хотя само выполнение функций во время компиляции является очень ценным методом оптимизации, его явная поддержка с помощью специального спецификатора на уровне языка програмирования является неверным решением.
В докладе демонстрируется что вычисления во время компиляции должны применяться компилятором в полностью автоматическом режиме и прозрачно для программиста. Наконец, в докладе предлагается принцип проектирования языков программирования согласно которому “язык программирования не должен включать в свой состав конструкции и элементы, которые представляют собой исключительно позитивные оптимизационные подсказки компилятору.
The introduction of the “constexpr” feature in the C++11 standard has raised a great interest in the compile-time function execution in the programming languages communities. In this paper, we evaluate this feature and argue that while the compile-time evaluations are valuable optimization methods, its explicit support on the level of a programming language is a wrong decision. We show that compile-time evaluations must be enforced by the compiler automatically and transparently to the developer. Finally, we propose a programming language design principle stating that positive optimization “hints” must not be a part of programming language.
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Презентация
Примечания и ссылки
Plays:16
Comments:1