Squashed 'third_party/marl/' content from commit d3b8558ce

git-subtree-dir: third_party/marl
git-subtree-split: d3b8558ce8d2cf2cad1009a99aa3ff453b048639
64 files changed
tree: 5697d4bc77ce2c66d1c5b2d5bf0f8bab35409d5e
  1. .clang-format
  2. .gitignore
  3. .gitmodules
  4. AUTHORS
  5. CMakeLists.txt
  6. CONTRIBUTING.md
  7. LICENSE
  8. README.md
  9. examples/
  10. include/
  11. kokoro/
  12. src/
  13. third_party/
README.md

Marl

Marl is a hybrid thread / fiber task scheduler written in C++ 11.

About

Marl is a C++ 11 library that provides a fluent interface for running tasks across a number of threads.

Marl uses a combination of fibers and threads to allow efficient execution of tasks that can block, while keeping a fixed number of hardware threads.

Marl supports Windows, macOS, Linux, Fuchsia and Android (arm, aarch64, ppc64 (ELFv2), x86 and x64).

Marl has no dependencies on other libraries (with exception on googletest fo building the optional unit tests).

Marl is in early development and will have breaking API changes.

More documentation and examples coming soon.

Note: This is not an officially supported Google product