Constexpr — a Great Good but Wrong Idea (Yauhen Klimiankou, ISPRASOPEN-2019) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) (Копия ревизии 151916 статьи Constexpr — большое благо, выраженное в неправильной идее (Евгений Клименков, ISPRASOPEN-2019)) |
StasFomin (обсуждение | вклад) (Batch edit: replace PCRE (\n\n)+(\n) with \2) |
||
(не показано 11 промежуточных версий этого же участника) | |||
{{eng}} ;{{SpeakerInfo}}: {{Speaker|Евгений Клименков}} <blockquote> Введение спецификатора “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. English translation of http://0x1.tv/20191205AG </blockquote> {{VideoSection}} {{vimeoembed|378873988240322419|800|450}} {{youtubelink|}}|wt3ePsqNBfA}} {{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|1628}} <references/> <!-- topub --> {{stats|disqus_comments=10|refresh_time=2020-01-28T12:54:50.2021-08-31T16:16:06.89346489|vimeo_plays=17|youtube_comments=0|youtube_plays=028}} [[Категория:ISPRASOPEN-2019]] [[Категория:С++]] [[Категория:Компиляторы]] |
Текущая версия на 12:19, 4 сентября 2021
- Speaker
- Евгений Клименков
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.
English translation of http://0x1.tv/20191205AG
Video
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Slides
Links
Plays:45
Comments:0