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.15.0 |
config |
windows_10-gcc_11.2_mingw_w64-static_O2 / x86_64-w64-mingw32 |
timestamp |
2023-03-19 23:09:29 UTC (02 03:22:28 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-gcc_11.2_mingw_w64-O2 / x86_64-w64-mingw32 |
timestamp |
2023-03-19 22:54:44 UTC (02 03:37:13 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-gcc_11.2_mingw_w64 / x86_64-w64-mingw32 |
timestamp |
2023-03-19 22:51:06 UTC (02 03:40:51 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-gcc_12.1 / x86_64-linux-gnu |
timestamp |
2023-03-19 20:57:16 UTC (02 05:34:41 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-gcc_11.3 / x86_64-linux-gnu |
timestamp |
2023-03-19 20:51:30 UTC (02 05:40:27 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-clang_13.0_llvm_msvc_16.11_lld / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2023-03-19 12:31:30 UTC (02 14:00:27 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-clang_13.0_llvm_msvc_16.11 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2023-03-19 12:25:51 UTC (02 14:06:06 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-clang_13.0_llvm_msvc_16.11-static_O2 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2023-03-19 12:22:51 UTC (02 14:09:06 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-clang_13.0_llvm_msvc_16.11-O2 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2023-03-19 12:20:16 UTC (02 14:11:41 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-clang_14.0_llvm_msvc_17.2-static_O2 / x86_64-microsoft-win32-msvc14.3 |
timestamp |
2023-03-19 12:18:54 UTC (02 14:13:03 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-clang_14.0_llvm_msvc_17.2_lld / x86_64-microsoft-win32-msvc14.3 |
timestamp |
2023-03-19 12:16:06 UTC (02 14:15:51 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-gcc_12.1-static_O3 / x86_64-linux-gnu |
timestamp |
2023-03-19 12:15:53 UTC (02 14:16:04 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-clang_14.0-O3 / x86_64-linux-gnu |
timestamp |
2023-03-19 12:14:24 UTC (02 14:17:34 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-clang_14.0_llvm_msvc_17.2-O2 / x86_64-microsoft-win32-msvc14.3 |
timestamp |
2023-03-19 12:14:03 UTC (02 14:17:54 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-clang_14.0_llvm_msvc_17.2 / x86_64-microsoft-win32-msvc14.3 |
timestamp |
2023-03-19 12:12:06 UTC (02 14:19:51 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-clang_14.0_libc++-static_O3 / x86_64-linux-gnu |
timestamp |
2023-03-19 12:00:25 UTC (02 14:31:32 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-clang_14.0_libc++ / x86_64-linux-gnu |
timestamp |
2023-03-19 12:00:12 UTC (02 14:31:45 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-clang_14.0-static_O3 / x86_64-linux-gnu |
timestamp |
2023-03-19 11:59:49 UTC (02 14:32:08 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-clang_14.0_libc++-O3 / x86_64-linux-gnu |
timestamp |
2023-03-19 11:57:14 UTC (02 14:34:43 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-msvc_16.11-static_O2 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2023-03-19 11:56:54 UTC (02 14:35:03 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-clang_14.0 / x86_64-linux-gnu |
timestamp |
2023-03-19 11:56:20 UTC (02 14:35:37 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-msvc_17.2-static_O2 / x86_64-microsoft-win32-msvc14.3 |
timestamp |
2023-03-19 11:53:28 UTC (02 14:38:29 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10_devmode-msvc_16.11 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2023-03-19 11:47:58 UTC (02 14:43:59 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-msvc_17.2 / x86_64-microsoft-win32-msvc14.3 |
timestamp |
2023-03-19 11:47:08 UTC (02 14:44:49 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-msvc_17.2-O2 / x86_64-microsoft-win32-msvc14.3 |
timestamp |
2023-03-19 11:46:09 UTC (02 14:45:48 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-clang_13.0 / x86_64-linux-gnu |
timestamp |
2023-03-19 11:44:29 UTC (02 14:47:28 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-gcc_12.1-ndebug_O3 / x86_64-linux-gnu |
timestamp |
2023-03-19 11:44:23 UTC (02 14:47:34 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-msvc_16.11-O2 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2023-03-19 11:43:31 UTC (02 14:48:26 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
windows_10-msvc_16.11 / x86_64-microsoft-win32-msvc14.2 |
timestamp |
2023-03-19 11:43:29 UTC (02 14:48:28 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-clang_13.0_libc++ / x86_64-linux-gnu |
timestamp |
2023-03-19 11:43:04 UTC (02 14:48:53 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
linux_debian_11-gcc_12.1-O3 / x86_64-linux-gnu |
timestamp |
2023-03-19 11:41:41 UTC (02 14:50:17 days ago) |
result |
warning (update) | warning (test-installed) | log | rebuild |
toolchain |
public-0.15.0 |
config |
macos_12-gcc_12.1_homebrew-static_O3 / x86_64-apple-darwin21.6.0 |
timestamp |
2023-03-19 11:07:14 UTC (02 15:24:44 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
macos_12-gcc_12.1_homebrew-O3 / x86_64-apple-darwin21.6.0 |
timestamp |
2023-03-19 11:05:53 UTC (02 15:26:04 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
macos_12-gcc_12.1_homebrew / x86_64-apple-darwin21.6.0 |
timestamp |
2023-03-19 11:02:41 UTC (02 15:29:16 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
macos_12-clang_13.1-O3 / x86_64-apple-darwin21.6.0 |
timestamp |
2023-03-19 11:01:32 UTC (02 15:30:25 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
macos_12-clang_13.1-static_O3 / x86_64-apple-darwin21.6.0 |
timestamp |
2023-03-19 11:01:18 UTC (02 15:30:39 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
macos_12-clang_13.1 / x86_64-apple-darwin21.6.0 |
timestamp |
2023-03-19 11:00:27 UTC (02 15:31:30 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
macos_11-clang_13.0 / x86_64-apple-darwin20.5.0 |
timestamp |
2023-03-19 11:00:10 UTC (02 15:31:47 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
freebsd_13-clang_13.0-static_O3 / x86_64-freebsd13.1 |
timestamp |
2023-03-19 10:38:14 UTC (02 15:53:43 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
freebsd_13-clang_13.0-O3 / x86_64-freebsd13.1 |
timestamp |
2023-03-19 10:38:08 UTC (02 15:53:49 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
freebsd_12-clang_10.0 / x86_64-freebsd12.3 |
timestamp |
2023-03-19 10:36:23 UTC (02 15:55:34 days ago) |
result |
error (update) | log | rebuild |
toolchain |
public-0.15.0 |
config |
freebsd_13-clang_13.0 / x86_64-freebsd13.1 |
timestamp |
2023-03-19 10:33:37 UTC (02 15:58:20 days ago) |
result |
error (update) | log | rebuild |