/virgil

Primary LanguageC++MIT LicenseMIT

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

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.

Logo

alt text

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

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++.

Running the tests

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.

License

MIT License