VIRGIL: Very sImple thRead pool desiGned with the easy Integration goaL in mind

June 18, 2024 ยท View on GitHub

Active Development

Description

This is a header-only C++ library that implements a simple thread pool using the modern C++ language. VIRGIL's design aims for an easy integration with other C++ code.

Motivation

I have designed VIRGIL because of our needs to integrate a thread pool within the code generated by our compilers, which are described by our papers. The complexity of a compiler leads to the need of simplifying drastically the integration with external manually-written code. This motivated us to design VIRGIL. We hope it will be useful for other people as well.

Testing VIRGIL

There are two set of tests: the ones for testing the whole thread pool, and the ones that only tests queues that are within VIRGIL. For the former, go to tests/pool and run make. For the latter, go to tests/queue and run make.

Credits

VIRGIL has been inspired by several projects. The main ones are A Platform-Independent Thread Pool Using C++14 and A Fast Lock-Free Queue for C++.

License

MIT License

alt text

Virgil is the name of our cat my wife and I have taken home from the Gifford cat shelter just before moving to Chicago from Boston.