[PATCH 0/2] Optimize is_scoped_enum trait performance
Ken Matsui
kmatsui@gcc.gnu.org
Tue Sep 12 00:16:04 GMT 2023
This patch series optimizes is_scoped_enum trait
performance. The first patch implements __is_scoped_enum
built-in trait. The second patch optimizes is_scoped_enum
trait performance by using __is_scoped_enum built-in trait
if available.
The performance improvement is shown in the following benchmark:
https://github.com/ken-matsui/gsoc23/blob/main/is_scoped_enum_v.md#mon-sep-11-050411-pm-pdt-2023
Time: -32.717% +/- 1.67315%
Peak Memory Usage: -17.3805% +/- 0.00931763%
Total Memory Usage: -19.0881% +/- 0%
Ken Matsui (2):
c++: Implement __is_scoped_enum built-in trait
libstdc++: Optimize is_scoped_enum trait performance
gcc/cp/constraint.cc | 3 +
gcc/cp/cp-trait.def | 1 +
gcc/cp/semantics.cc | 4 ++
gcc/testsuite/g++.dg/ext/has-builtin-1.C | 3 +
gcc/testsuite/g++.dg/ext/is_scoped_enum.C | 67 +++++++++++++++++++++++
libstdc++-v3/include/std/type_traits | 12 ++++
6 files changed, 90 insertions(+)
create mode 100644 gcc/testsuite/g++.dg/ext/is_scoped_enum.C
--
2.42.0
More information about the Libstdc++
mailing list