Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add C++ benchmarks (part 2/n) #664

Draft
wants to merge 10 commits into
base: branch-25.06
Choose a base branch
from

Conversation

kingcrimsontianyu
Copy link
Contributor

@kingcrimsontianyu kingcrimsontianyu commented Mar 14, 2025

This PR:

  • Implements ThreadPoolSimple that executes tasks with less synchronization overhead. Adds its benchmark to compare against the BS pool.
  • Adds a baseline "static task" benchmark with the least synchronization overhead.
  • Adds explanations to the time metrics Time and CPU as part of the benchmark result.

Copy link

copy-pr-bot bot commented Mar 14, 2025

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@kingcrimsontianyu kingcrimsontianyu added feature request New feature or request non-breaking Introduces a non-breaking change c++ Affects the C++ API of KvikIO DO NOT MERGE labels Mar 14, 2025
@kingcrimsontianyu kingcrimsontianyu force-pushed the bench-2 branch 2 times, most recently from bf6bd2c to 5dbb605 Compare March 18, 2025 03:01
Copy link

copy-pr-bot bot commented Mar 19, 2025

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.

@kingcrimsontianyu
Copy link
Contributor Author

kingcrimsontianyu commented Mar 19, 2025

On an AMD EPYC 7642 48-Core processor, the scalability starts to drop beyond 16 threads, with the BS pool showing quicker deterioration. In this benchmark, each compute task is ~30 microseconds.
thread_scale_EPYC

@kingcrimsontianyu kingcrimsontianyu changed the base branch from branch-25.04 to branch-25.06 March 19, 2025 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Affects the C++ API of KvikIO feature request New feature or request non-breaking Introduces a non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant