Skip to content

Remove local classes in function templates#2079

Open
ahmedhussein89 wants to merge 10 commits into
NVIDIA:mainfrom
ahmedhussein89:main
Open

Remove local classes in function templates#2079
ahmedhussein89 wants to merge 10 commits into
NVIDIA:mainfrom
ahmedhussein89:main

Conversation

@ahmedhussein89
Copy link
Copy Markdown

The following PR solve #542

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 17, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@ericniebler
Copy link
Copy Markdown
Collaborator

ericniebler commented May 17, 2026

#542 is about compile-time performance. have you done benchmarking to determine whether these changes improve compile times?

EDIT: i should also say that the changes look like improvements, thanks.

@ericniebler
Copy link
Copy Markdown
Collaborator

/ok to test ecf7b1a

@ahmedhussein89
Copy link
Copy Markdown
Author

My setup

  • WSL 2 (Ubuntu 26.04)
  • Processor AMD Ryzen 9 9955HX3D 16-Core Processor, 2500 Mhz, 16 Core(s), 32 Logical Processor(s)
  • Memory (RAM) 32.0 GB
Commit Elapsed (m:ss)
ecf7b1a(PR) 0:43.69
ecf7b1a(main) 0:46.80
-- System           : Linux-6.6.87.2-microsoft-standard-WSL2
-- System name      : Linux
-- System ver       : 6.6.87.2-microsoft-standard-WSL2
-- 
-- Library ver      : 0.11.0
-- Build date       : 2026-05-18
-- Build year       : 2026
-- 
-- CPM: Adding package Catch2@3.14.0 (3.14.0)
CMake Warning (dev) at /usr/share/cmake-4.2/Modules/FetchContent.cmake:1963 (message):
  Calling FetchContent_Populate(Catch2) is deprecated, call
  FetchContent_MakeAvailable(Catch2) instead.  Policy CMP0169 can be set to
  OLD to allow FetchContent_Populate(Catch2) to be called directly for now,
  but the ability to call it with declared details will be removed completely
  in a future version.
Call Stack (most recent call first):
  build/cmake/CPM_0.38.5.cmake:1004 (FetchContent_Populate)
  build/cmake/CPM_0.38.5.cmake:798 (cpm_fetch_package)
  build/cmake/CPM_0.38.5.cmake:292 (CPMAddPackage)
  build/_deps/rapids-cmake-src/rapids-cmake/cpm/find.cmake:189 (CPMFindPackage)
  CMakeLists.txt:127 (rapids_cpm_find)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- CPM: Adding package icm@1.5.0 (v1.5.0)
CMake Warning (dev) at /usr/share/cmake-4.2/Modules/FetchContent.cmake:1963 (message):
  Calling FetchContent_Populate(icm) is deprecated, call
  FetchContent_MakeAvailable(icm) instead.  Policy CMP0169 can be set to OLD
  to allow FetchContent_Populate(icm) to be called directly for now, but the
  ability to call it with declared details will be removed completely in a
  future version.
Call Stack (most recent call first):
  build/cmake/CPM_0.38.5.cmake:1004 (FetchContent_Populate)
  build/cmake/CPM_0.38.5.cmake:798 (cpm_fetch_package)
  build/_deps/rapids-cmake-src/rapids-cmake/cpm/find.cmake:187 (CPMAddPackage)
  CMakeLists.txt:140 (rapids_cpm_find)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Enabling TBB support in stdexec because <tbb/tbb.h> is available and libstdc++ is used.
-- Creating symlink from ".../stdexec/build/compile_commands.json" to .../stdexec/compile_commands.json"...
-- Configuring done (0.5s)
-- Generating done (0.1s)
-- Build files have been written to: .../stdexec/build
# PR branch
[262/263] Linking CXX executable test/exec/test.exec
        Command being timed: "ninja"
        User time (seconds): 549.83
        System time (seconds): 32.59
        Percent of CPU this job got: 1333%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:43.69
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1291288
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 14302
        Minor (reclaiming a frame) page faults: 14041331
        Voluntary context switches: 21991
        Involuntary context switches: 117487
        Swaps: 0
        File system inputs: 305360
        File system outputs: 2017952
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

# main branch
[0/2] Re-checking globbed directories...
[262/263] Linking CXX executable test/exec/test.exec
        Command being timed: "ninja"
        User time (seconds): 604.77
        System time (seconds): 31.22
        Percent of CPU this job got: 1358%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:46.80
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1262308
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 229
        Minor (reclaiming a frame) page faults: 13970578
        Voluntary context switches: 6789
        Involuntary context switches: 140785
        Swaps: 0
        File system inputs: 0
        File system outputs: 2024128
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

Please tell me if you need more info

Comment thread include/stdexec/__detail/__any.hpp Outdated
Comment thread include/stdexec/__detail/__any.hpp Outdated
Co-authored-by: Eric Niebler <eniebler@boost.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants