https://github.com/conorwilliams/threadpool

Light, fast, threadpool for C++20

https://github.com/conorwilliams/threadpool

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (4.6%) to scientific vocabulary

Keywords

cpp20 lock-free threadpool work-stealing
Last synced: 5 months ago · JSON representation

Repository

Light, fast, threadpool for C++20

Basic Info
  • Host: GitHub
  • Owner: ConorWilliams
  • License: mpl-2.0
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 1.11 MB
Statistics
  • Stars: 102
  • Watchers: 4
  • Forks: 9
  • Open Issues: 2
  • Releases: 4
Topics
cpp20 lock-free threadpool work-stealing
Created almost 5 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License

README.md

riften::Thiefpool

A blazing-fast, lightweight, work-stealing thread-pool for C++20. Built on the lock-free concurrent riften::Deque.

Usage

```C++

include "riften/thiefpool.hpp"

// Create thread pool with 4 worker threads. riften::Thiefpool pool(4);

// Enqueue and return future. auto result = pool.enqueue( { return x; }, 42);

// Get result from future. std::cout << result.get() << std::endl; ```

Additionally, riften::Thiefpool supplies a detaching version of enqueue:

C++ // Enqueue and return nothing pool.enqueue_detach([](int x) { do_work(x); }, x); Which elides the allocation of a std::future's shared state.

Installation

The recommended way to consume this library is through CPM.cmake, just add:

CMake CPMAddPackage("gh:ConorWilliams/Threadpool#v2.1.1") to your CMakeLists.txt and you're good to go!

Tests

To compile and run the tests: zsh mkdir build && cd build cmake ../test make && make test

Owner

  • Name: Conor Williams
  • Login: ConorWilliams
  • Kind: user
  • Company: myrtle.ai

PhD Physicist & Computer-Scientist. Open source enthusiast!

GitHub Events

Total
  • Issues event: 1
  • Watch event: 6
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 6
  • Fork event: 1

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 1
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: about 7 hours
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.5
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Squadrick (1)
  • Frandy (1)
Pull Request Authors
  • DeveloperPaul123 (1)
  • ravenvz (1)
Top Labels
Issue Labels
Pull Request Labels