【海外記事紹介】C++26リフレクションのコンパイル時間を実測 — enum-to-string変換でX-macroと比較、大規模プロジェクトで1分以上の差
DRANK

5月13日、Vittorio Romeoが「cost of enum-to-string: C++26 reflection vs the old ways」と題した記事を公開した。この記事では、C++26で導入予定のリフレクション機能を使ったenum-to-string変換のコンパイル時間コストを従来手法と比較検証したベンチマーク結果について詳しく紹介されている。以下に、その内容を紹介する。C++26リフレクション:革新的だが現実的なコストは?C++26で導入されるリフレクション機能は、メタプログラミングの世界を大きく変える可能性がある。テンプレートメタプログラミングの複雑さを解消し、直感的なコードでコンパイル時プログラミングが可能になると期待されているが、実際のプロジェクトでの採用を考える際に重要なのはコンパイル時間への影響である。著者は2か月前にC++26リフレクションのコンパイル時コストについて記事を公開したが、今回はより実践的な例であるenum-to-string変換でベンチマークを実施した。enum-to-string変換はリフレクションの「Hello World」的存在だ...

by @tf_official
Related Topics: C++