From 75fd508582909170210d942ff07fd8e61bf8c913 Mon Sep 17 00:00:00 2001 From: Niko Savola Date: Wed, 3 Jun 2026 14:58:11 +0300 Subject: [PATCH 1/2] Leverage execution policies inside `dbAsIfFlatRegion` object traversal --- src/db/db/dbAsIfFlatRegion.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/db/db/dbAsIfFlatRegion.cc b/src/db/db/dbAsIfFlatRegion.cc index 1886f26ab..9916727f6 100644 --- a/src/db/db/dbAsIfFlatRegion.cc +++ b/src/db/db/dbAsIfFlatRegion.cc @@ -43,6 +43,14 @@ #include "dbLayoutToNetlist.h" #include +#include + +#if defined(__cpp_lib_execution) +#include +#define PARALLEL_EXEC_POLICY std::execution::par, +#else +#define PARALLEL_EXEC_POLICY +#endif namespace db { @@ -440,7 +448,7 @@ void AsIfFlatRegion::merge_polygons_to (db::Shapes &output, bool min_coherence, addressable_polygons.inc (); } - std::sort (polygons_by_prop_id.begin (), polygons_by_prop_id.end (), ComparePolygonsWithProperties ()); + std::sort (PARALLEL_EXEC_POLICY polygons_by_prop_id.begin (), polygons_by_prop_id.end (), ComparePolygonsWithProperties ()); for (auto p = polygons_by_prop_id.begin (); p != polygons_by_prop_id.end (); ) { From a0e9dbedf3676932f34c179b6d1572c985c2048d Mon Sep 17 00:00:00 2001 From: Niko Savola Date: Fri, 25 Sep 2026 10:42:26 +0300 Subject: [PATCH 2/2] Include execution before checking its feature macro --- src/db/db/dbAsIfFlatRegion.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/db/db/dbAsIfFlatRegion.cc b/src/db/db/dbAsIfFlatRegion.cc index 9916727f6..49b6109b5 100644 --- a/src/db/db/dbAsIfFlatRegion.cc +++ b/src/db/db/dbAsIfFlatRegion.cc @@ -45,8 +45,13 @@ #include #include +#if __cplusplus >= 201703L + #if __has_include() + #include + #endif +#endif + #if defined(__cpp_lib_execution) -#include #define PARALLEL_EXEC_POLICY std::execution::par, #else #define PARALLEL_EXEC_POLICY