Constexpr — большое благо, выраженное в неправильной идее (Евгений Клименков, ISPRASOPEN-2019) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
[[File:{{#setmainimage:Constexpr — большое благо, выраженное в неправильной идее (Евгений Клименков, ISPRASOPEN-2019)!.jpg}}|center|640px]] {{LinksSection}} <!-- * [ Talks page on site] --> <!-- <blockquote>[©]</blockquote> --> {{fblink|2553252314927774}} {{vklink|1587}} <references/> <!-- topub --> {{stats|disqus_comments=1|refresh_time=2020-07-07T19:18T21:36:51.006538:41.428906|vimeo_plays=37|youtube_comments=0|youtube_plays=57}} [[Категория:ISPRASOPEN-2019]] [[Категория:С++]] [[Категория:Компиляторы]] |
Версия 18:36, 18 июля 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:94
Comments:1