A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
An industrial-strength lock-free queue for C++.
Note: If all you need is a single-producer, single-consumer queue, I have one of those too.
Features
- Knock-your-socks-off blazing fast performance.
- Single-header implementation. Just drop it in your project.
- Fully thread-safe lock-free queue. Use concurrently from any number of threads.
- C++11 implementation -- elements are moved (instead of copied) where possible.
- Templated, obviating the need to deal exclusively with pointers -- memory is managed for you.
- No artificial limitations on element types or maximum count.
- Memory can be allocated once up-front, or dynamically as needed.
- Fully portable (no assembly; all is done through standard C++11 primitives).
- Supports super-fast bulk operations.
- Includes a low-overhead blocking version (BlockingConcurrentQueue).
- Exception safe.
Builds
toolchain |
public-0.14.0 |
config |
windows_10-gcc_10.2_mingw_w64-static_O2 / x86_64-w64-mingw32 |
timestamp |
2022-06-29 11:46:43 UTC (02 07:50:45 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-gcc_10.2_mingw_w64 / x86_64-w64-mingw32 |
timestamp |
2022-06-29 11:45:55 UTC (02 07:51:34 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-gcc_10.2_mingw_w64-O2 / x86_64-w64-mingw32 |
timestamp |
2022-06-29 11:45:05 UTC (02 07:52:23 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-msvc_16.11-charset / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 11:43:00 UTC (02 07:54:28 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_10-gcc_11.2-static_O3 / x86_64-linux-gnu |
timestamp |
2022-06-29 11:42:00 UTC (02 07:55:28 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_10-gcc_11.2-ndebug_O3 / x86_64-linux-gnu |
timestamp |
2022-06-29 11:41:57 UTC (02 07:55:32 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_10-gcc_11.2-charset / x86_64-linux-gnu |
timestamp |
2022-06-29 11:41:27 UTC (02 07:56:01 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_10-gcc_11.2-O3 / x86_64-linux-gnu |
timestamp |
2022-06-29 11:41:01 UTC (02 07:56:27 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_10-gcc_11.2 / x86_64-linux-gnu |
timestamp |
2022-06-29 11:40:31 UTC (02 07:56:57 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_10-gcc_10.2 / x86_64-linux-gnu |
timestamp |
2022-06-29 11:38:19 UTC (02 07:59:09 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-clang_13.0_llvm_msvc_16.11_lld / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 11:25:58 UTC (02 08:11:30 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-clang_13.0_llvm_msvc_16.11 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 11:25:11 UTC (02 08:12:17 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-clang_13.0_llvm_msvc_16.11-static_O2 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 11:25:08 UTC (02 08:12:21 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-clang_13.0_llvm_msvc_16.11-O2 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 11:24:19 UTC (02 08:13:09 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
macos_11-gcc_11.2_homebrew-static_O3 / x86_64-apple-darwin20.5.0 |
timestamp |
2022-06-29 11:09:34 UTC (02 08:27:55 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
macos_11-gcc_11.2_homebrew-O3 / x86_64-apple-darwin20.5.0 |
timestamp |
2022-06-29 11:09:26 UTC (02 08:28:02 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
macos_11-gcc_11.2_homebrew / x86_64-apple-darwin20.5.0 |
timestamp |
2022-06-29 11:08:40 UTC (02 08:28:49 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
macos_11-clang_13.0-static_O3 / x86_64-apple-darwin20.5.0 |
timestamp |
2022-06-29 11:08:28 UTC (02 08:29:00 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
macos_11-clang_13.0-O3 / x86_64-apple-darwin20.5.0 |
timestamp |
2022-06-29 11:07:42 UTC (02 08:29:47 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
macos_11-clang_13.0 / x86_64-apple-darwin20.5.0 |
timestamp |
2022-06-29 11:07:28 UTC (02 08:30:01 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
macos_11-clang_12.0 / x86_64-apple-darwin20.5.0 |
timestamp |
2022-06-29 11:06:44 UTC (02 08:30:45 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_11-clang_13.0_libc++-static_O3 / x86_64-linux-gnu |
timestamp |
2022-06-29 10:59:22 UTC (02 08:38:06 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_11-clang_13.0_libc++-O3 / x86_64-linux-gnu |
timestamp |
2022-06-29 10:59:12 UTC (02 08:38:17 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_11-clang_13.0_libc++ / x86_64-linux-gnu |
timestamp |
2022-06-29 10:59:00 UTC (02 08:38:28 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_11-clang_13.0-static_O3 / x86_64-linux-gnu |
timestamp |
2022-06-29 10:58:51 UTC (02 08:38:37 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_11-clang_13.0 / x86_64-linux-gnu |
timestamp |
2022-06-29 10:58:34 UTC (02 08:38:55 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_11-clang_13.0-O3 / x86_64-linux-gnu |
timestamp |
2022-06-29 10:58:25 UTC (02 08:39:03 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-clang_12.0_msvc_msvc_16.11 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 10:51:17 UTC (02 08:46:11 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-msvc_16.11-static_O2 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 10:48:38 UTC (02 08:48:51 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-msvc_16.11-O2 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 10:48:14 UTC (02 08:49:15 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-msvc_16.11 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 10:47:47 UTC (02 08:49:42 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10_devmode-msvc_16.11 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 10:44:49 UTC (02 08:52:39 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_10-clang_12.0_libc++ / x86_64-linux-gnu |
timestamp |
2022-06-29 10:42:31 UTC (02 08:54:58 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
linux_debian_10-clang_12.0 / x86_64-linux-gnu |
timestamp |
2022-06-29 10:42:08 UTC (02 08:55:21 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
windows_10-msvc_16.9 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2022-06-29 10:42:04 UTC (02 08:55:24 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.14.0 |
config |
freebsd_13-clang_11.0-static_O3 / x86_64-freebsd13.0 |
timestamp |
2022-06-29 10:29:42 UTC (02 09:07:46 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
freebsd_13-clang_11.0-O3 / x86_64-freebsd13.0 |
timestamp |
2022-06-29 10:29:19 UTC (02 09:08:09 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
freebsd_12-clang_10.0 / x86_64-freebsd12.2 |
timestamp |
2022-06-29 10:29:14 UTC (02 09:08:15 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.14.0 |
config |
freebsd_13-clang_11.0 / x86_64-freebsd13.0 |
timestamp |
2022-06-29 10:29:08 UTC (02 09:08:20 days ago) |
result |
error (update) | log | rebuild |