pax_global_header00006660000000000000000000000064152523755050014523gustar00rootroot0000000000000052 comment=40624b83b1074f34eb4dff6836740f9e2b49ad10 max0x7ba-atomic_queue-40624b8/000077500000000000000000000000001525237550500161035ustar00rootroot00000000000000max0x7ba-atomic_queue-40624b8/.editorconfig000066400000000000000000000003041525237550500205550ustar00rootroot00000000000000root = true [*] end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true indent_style = space indent_size = 4 [Makefile] indent_style = tab [{*.yml,*.yaml}] indent_size = 2 max0x7ba-atomic_queue-40624b8/.github/000077500000000000000000000000001525237550500174435ustar00rootroot00000000000000max0x7ba-atomic_queue-40624b8/.github/dependabot.yml000066400000000000000000000001601525237550500222700ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: github-actions directory: / schedule: interval: weekly max0x7ba-atomic_queue-40624b8/.github/workflows/000077500000000000000000000000001525237550500215005ustar00rootroot00000000000000max0x7ba-atomic_queue-40624b8/.github/workflows/ci-cross.yml000066400000000000000000000046411525237550500237520ustar00rootroot00000000000000name: Cross-architecture Continuous Integrations on: push: branches: [ master, maxim ] paths: - '**.h' - '**.cc' - .github/workflows/ci-cross.yml pull_request: branches: [ master ] paths: - '**.h' - '**.cc' - .github/workflows/ci-cross.yml defaults: run: shell: bash jobs: unit-test: name: ${{ matrix.arch }} runs-on: ubuntu-24.04 # Debian ships Boost.Test for all these architectures from one archive, Ubuntu does not. container: debian:testing timeout-minutes: 60 strategy: fail-fast: false matrix: include: # Weakly-ordered, 128-byte cache line. - arch: ppc64el triplet: powerpc64le-linux-gnu qemu: qemu-ppc64le # Weakly-ordered, spin_loop_pause() is a hand-encoded PAUSE hint. - arch: riscv64 triplet: riscv64-linux-gnu qemu: qemu-riscv64 # Big-endian, 256-byte cache line, no pause instruction. - arch: s390x triplet: s390x-linux-gnu qemu: qemu-s390x # spin_loop_pause() is 8 nops. - arch: loong64 triplet: loongarch64-linux-gnu qemu: qemu-loongarch64 steps: - name: Install git for actions/checkout run: | apt-get update apt-get install --yes -qq --no-install-recommends git ca-certificates - uses: actions/checkout@v7 - name: Install the cross-toolchain, QEMU and Boost.Test run: | dpkg --add-architecture ${{ matrix.arch }} apt-get update apt-get install --yes -qq --no-install-recommends g++-${{ matrix.triplet }} qemu-user file libboost-test-dev:${{ matrix.arch }} - name: Toolset versions run: | ${{ matrix.triplet }}-g++ --version | head -1 ${{ matrix.qemu }} -version | head -1 - name: Build the unit-tests and the example # Build with optimization, assertions and debug info. env: CXX: ${{ matrix.triplet }}-g++ -std=c++14 -O2 -g -pthread -Wall -Wextra -Werror -Iinclude run: | ${{ env.CXX }} -o tests -DBOOST_TEST_DYN_LINK=1 src/tests.cc -lboost_unit_test_framework ${{ env.CXX }} -o example src/example.cc file tests example - name: Run the example run: ${{ matrix.qemu }} ./example - name: Run the unit-tests run: ${{ matrix.qemu }} ./tests --log_level=unit_scope --report_level=short max0x7ba-atomic_queue-40624b8/.github/workflows/ci-meson.yml000066400000000000000000000043271525237550500237430ustar00rootroot00000000000000name: Meson Continuous Integrations on: push: branches: [ master, maxim ] paths: - '**.h' - '**.cc' - 'meson*' - .github/workflows/ci-meson.yml pull_request: branches: [ master ] paths: - '**.h' - '**.cc' - 'meson*' - .github/workflows/ci-meson.yml defaults: run: shell: bash env: # Enable printf thousand separators. LC_NUMERIC: en_US.UTF-8 jobs: build-and-test: strategy: fail-fast: false matrix: os: [ubuntu-latest, ubuntu-24.04-arm, ubuntu-26.04, ubuntu-26.04-arm] cpp_compiler: [g++, clang++] name: ${{ matrix.os }}, ${{ matrix.cpp_compiler }} runs-on: ${{ matrix.os }} env: CXX: ${{ matrix.cpp_compiler }} steps: - uses: actions/checkout@v7 - name: Install Meson and Boost.Test run: | sudo apt-get update sudo apt-get install --yes -qq meson libboost-test-dev - name: Environment info run: | env | sort --ignore-case echo "n_proc=$(nproc)" >> "$GITHUB_ENV" cat /proc/cpuinfo - name: Unit-test run: | meson setup build1 -Dwerror=true -Dwarning_level=2 meson compile -vC build1 meson test -vC build1 - name: Unit-test with address sanitizer run: | meson setup build2 -Dwerror=true -Dwarning_level=2 -Db_sanitize=address meson compile -vC build2 meson test -vC build2 - name: Unit-test with undefined sanitizer run: | meson setup build3 -Dwerror=true -Dwarning_level=2 -Db_sanitize=undefined meson compile -vC build3 meson test -vC build3 - name: Unit-test with thread sanitizer run: | meson setup build4 -Dwerror=true -Dwarning_level=2 -Db_sanitize=thread meson compile -vC build4 meson test -vC build4 - name: Benchmark if: ${{ env.n_proc > 1 }} run: | ulimit -Sl unlimited sudo sysctl kernel.sched_rt_runtime_us=-1 meson setup build5 -Dwerror=true -Dwarning_level=2 -Dbenchmarks_min=true -Dtests=false meson compile -vC build5 sudo chrt -f 50 meson test -vC build5 --benchmark max0x7ba-atomic_queue-40624b8/.github/workflows/ci.yml000066400000000000000000000057741525237550500226330ustar00rootroot00000000000000name: Makefile Continuous Integrations on: push: branches: [ master, maxim ] paths: - '**.h' - '**.cc' - Makefile - .github/workflows/ci.yml pull_request: branches: [ master ] paths: - '**.h' - '**.cc' - Makefile - .github/workflows/ci.yml defaults: run: shell: bash env: # Enable printf thousand separators. LC_NUMERIC: en_US.UTF-8 jobs: unit-test: strategy: fail-fast: false matrix: include: - os: ubuntu-24.04 toolset: gcc std: c++14 - os: ubuntu-24.04 toolset: gcc std: c++20 - os: ubuntu-26.04 toolset: gcc std: c++14 - os: ubuntu-26.04 toolset: gcc std: c++23 - os: ubuntu-24.04-arm toolset: gcc std: c++14 - os: ubuntu-24.04-arm toolset: gcc std: c++20 - os: ubuntu-26.04-arm toolset: gcc std: c++14 - os: ubuntu-26.04-arm toolset: gcc std: c++23 - os: ubuntu-24.04 toolset: clang std: c++14 - os: ubuntu-24.04 toolset: clang std: c++20 - os: ubuntu-26.04 toolset: clang std: c++14 - os: ubuntu-26.04 toolset: clang std: c++23 - os: ubuntu-24.04-arm toolset: clang std: c++14 - os: ubuntu-24.04-arm toolset: clang std: c++20 - os: ubuntu-26.04-arm toolset: clang std: c++14 - os: ubuntu-26.04-arm toolset: clang std: c++23 name: ${{ matrix.toolset }}, ${{ matrix.std }}, ${{ matrix.os }} runs-on: ${{ matrix.os }} # The worst empirical run-time of this job is about 2m30s. timeout-minutes: 5 env: make: make -R TOOLSET=${{ matrix.toolset }} CXXFLAGS=-std=${{ matrix.std }} steps: - uses: actions/checkout@v7 - name: Enable transparent huge pages run: source scripts/util.sh && enable_thp - name: Install Boost.Test run: | sudo apt-get update sudo apt-get install --yes -qq libboost-test-dev - name: Environment info run: | ${{ env.make }} env echo "n_proc=$(nproc)" >> "$GITHUB_ENV" cat /proc/cpuinfo - name: Toolset versions run: ${{ env.make }} versions - name: Unit-test run: ${{ env.make }} -j${{ env.n_proc }} run_ci - name: Unit-test with address sanitizer run: ${{ env.make }} -j${{ env.n_proc }} BUILD=sanitize2 run_ci - name: Unit-test with thread sanitizer run: ${{ env.make }} -j${{ env.n_proc }} BUILD=sanitize run_ci - name: Benchmark if: ${{ env.n_proc > 1 }} run: | ulimit -Sl unlimited sudo sysctl kernel.sched_rt_runtime_us=-1 ${{ env.make }} -j${{ env.n_proc }} run_benchmarks_ci max0x7ba-atomic_queue-40624b8/.github/workflows/cmake-gcc-clang.yml000066400000000000000000000123001525237550500251130ustar00rootroot00000000000000# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform. # See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml name: CMake Continuous Integrations on: push: branches: [ "master", "CMake-support", "maxim" ] paths: - '**.h' - '**.cc' - '**/CMakeLists.txt' - .github/workflows/cmake-gcc-clang.yml pull_request: branches: [ "master" ] paths: - '**.h' - '**.cc' - '**/CMakeLists.txt' - .github/workflows/cmake-gcc-clang.yml env: # Enable printf thousand separators. LC_NUMERIC: en_US.UTF-8 jobs: build: name: ${{ matrix.os }}, ${{ matrix.compiler.cpp }} runs-on: ${{ matrix.os }} strategy: # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable. fail-fast: false # Set up a matrix to run the following 3 configurations: # 1. # 2. # 3. # # To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list. matrix: include: # --- Linux x64 --- - os: ubuntu-latest build_type: Release compiler: { c: gcc, cpp: g++ } - os: ubuntu-latest build_type: Release compiler: { c: clang, cpp: clang++ } # --- Linux ARM --- - os: ubuntu-24.04-arm build_type: Release compiler: { c: gcc, cpp: g++ } - os: ubuntu-24.04-arm build_type: Release compiler: { c: clang, cpp: clang++ } # --- macOS --- - os: macos-latest build_type: Release compiler: { c: clang, cpp: clang++ } # --- Windows --- - os: windows-latest build_type: Release compiler: { c: cl, cpp: cl } steps: - uses: actions/checkout@v7 - name: Set reusable strings # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. id: strings shell: bash run: | echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" - name: Install boost on linux if: startsWith(matrix.os, 'ubuntu') run: | sudo apt-get update sudo apt-get install --yes -qq libboost-test-dev - name: Install boost on macos if: startsWith(matrix.os, 'macos') run: | brew install boost - name: Install boost on windows if: startsWith(matrix.os, 'windows') && matrix.compiler.cpp == 'cl' uses: MarkusJx/install-boost@v2.6.0 id: install-boost-windows with: boost_version: 1.89.0 platform_version: 2025 toolset: msvc - name: Configure CMake Unix (Linux/macOS) # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos') run: > cmake -B ${{ steps.strings.outputs.build-output-dir }} -DCMAKE_CXX_COMPILER=${{ matrix.compiler.cpp }} -DCMAKE_C_COMPILER=${{ matrix.compiler.c }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_RULE_MESSAGES=OFF -DATOMIC_QUEUE_BUILD_TESTS=ON -DATOMIC_QUEUE_BUILD_EXAMPLES=ON -DATOMIC_QUEUE_BUILD_BENCHMARKS_MIN=${{ case(startsWith(matrix.os, 'ubuntu'), 'ON', 'OFF') }} -S ${{ github.workspace }} - name: Configure CMake Windows - MSVC if: startsWith(matrix.os, 'windows') && matrix.compiler.cpp == 'cl' run: > cmake -B ${{ steps.strings.outputs.build-output-dir }} -DCMAKE_RULE_MESSAGES=OFF -DATOMIC_QUEUE_BUILD_TESTS=ON -DATOMIC_QUEUE_BUILD_EXAMPLES=ON -S ${{ github.workspace }} -DBOOST_ROOT=${{steps.install-boost-windows.outputs.BOOST_ROOT}} - name: Build # Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --verbose --config ${{ matrix.build_type }} - name: Unit-test${{ case(startsWith(matrix.os, 'ubuntu'), ' and benchmark', '') }} # Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: ctest -j1 --timeout 300 -V --build-config ${{ matrix.build_type }} --test-dir ${{ steps.strings.outputs.build-output-dir }} max0x7ba-atomic_queue-40624b8/.gitignore000066400000000000000000000001041525237550500200660ustar00rootroot00000000000000*~ build/ results/ perf/ __pycache__/ .cache/ compile_commands.json max0x7ba-atomic_queue-40624b8/CHANGELOG.md000066400000000000000000000032411525237550500177140ustar00rootroot00000000000000# Changelog All notable changes to this project are documented in this file. ## [1.9.4] - 2026-09-16 ### Fixed - Compilation errors with `-std=c++20` and `-std=c++23`. - Meson build with Apple clang, which has no libatomic (#108). - `AtomicQueueB2` rollback helper C++20 constructor error (#110). ### Changed - Makefile CI now compiles with C++14, C++20 and C++23 standards. - Makefile CI retired ubuntu-22.04 runners. ## [1.9.3] - 2026-09-15 ### Fixed - Cache line size on Apple Silicon (#106). - `cpu_base_frequency` detection on AMD and ARM. - Benchmark chart tooltips broken by a Highcharts update. - `AtomicQueueB2` constructor is now strongly exception-safe (cleans up on allocation/construction failure). ### Added - Capacity-limit assertions. - `[[nodiscard]]` on `try_push` and `try_pop`. - Better `is_always_lock_free` assertion under C++17. - `constructor_strong_exception_safety` unit tests (including allocation-size checks). - Cross-architecture CI under QEMU: ppc64, s390x, riscv, loongarch (#107). - Minimal 4-CPU benchmark to Makefile, CMake, and Meson CI; `std::mutex` baseline in the minimal benchmark. - Continuous Integrations status table and thread-cancellation notes in README. ### Changed - Propagate `-latomic` dependency into Meson `pkg.generate`. - Tighter GCC / GCC-ARM codegen flags; retired `-Wno-unused-variable` and `-Wpedantic` workarounds. - Parse `/proc/cpuinfo` in a single pass. - Refreshed Ryzen 5950X and 5825U benchmark results. ### Dependencies - Bump `actions/checkout` from 6 to 7 (#105). [1.9.4]: https://github.com/max0x7ba/atomic_queue/compare/v1.9.3...v1.9.4 [1.9.3]: https://github.com/max0x7ba/atomic_queue/compare/v1.9.2...v1.9.3 max0x7ba-atomic_queue-40624b8/CMakeLists.txt000066400000000000000000000014441525237550500206460ustar00rootroot00000000000000CMAKE_MINIMUM_REQUIRED( VERSION 3.25 ) PROJECT(atomic_queue VERSION 1.9.4) OPTION( ATOMIC_QUEUE_BUILD_TESTS "If the tests should be built." OFF ) OPTION( ATOMIC_QUEUE_BUILD_BENCHMARKS_MIN "If the minimal benchmarks should be built." OFF ) OPTION( ATOMIC_QUEUE_BUILD_EXAMPLES "If examples should be built." OFF ) OPTION( ATOMIC_QUEUE_ENABLE_INSTALL "If the install target should be enabled." OFF ) if ( PROJECT_IS_TOP_LEVEL ) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED) endif() add_subdirectory( include ) if ( ATOMIC_QUEUE_BUILD_TESTS OR ATOMIC_QUEUE_BUILD_BENCHMARKS_MIN ) enable_testing() endif() if ( ATOMIC_QUEUE_BUILD_TESTS OR ATOMIC_QUEUE_BUILD_EXAMPLES OR ATOMIC_QUEUE_BUILD_BENCHMARKS_MIN ) add_subdirectory( src ) endif() max0x7ba-atomic_queue-40624b8/CONTRIBUTORS.txt000066400000000000000000000047651525237550500206150ustar00rootroot00000000000000Contributors: - Jean-Michaël Celerier (https://github.com/max0x7ba/atomic_queue/pull/1) - Manuel Pöter (https://github.com/max0x7ba/atomic_queue/pull/9) - Paul Ferrand (https://github.com/max0x7ba/atomic_queue/pull/13) - Paul Ferrand (https://github.com/max0x7ba/atomic_queue/pull/14) - JP Cimalando (https://github.com/max0x7ba/atomic_queue/pull/16) - Cameron (https://github.com/max0x7ba/atomic_queue/pull/22) - Ben Beasley (https://github.com/max0x7ba/atomic_queue/pull/30) - Xeonacid (https://github.com/max0x7ba/atomic_queue/pull/38) - XieJiSS (https://github.com/max0x7ba/atomic_queue/pull/43) - Jan Niklas Hasse (https://github.com/max0x7ba/atomic_queue/pull/53) - Jan Niklas Hasse (https://github.com/max0x7ba/atomic_queue/pull/54) - Jonathan Wakely (https://github.com/max0x7ba/atomic_queue/pull/56) - Andriy06 (https://github.com/max0x7ba/atomic_queue/pull/58) - RedSkittleFox (https://github.com/max0x7ba/atomic_queue/pull/61) - RedSkittleFox (https://github.com/max0x7ba/atomic_queue/pull/62) - Yvan (https://github.com/max0x7ba/atomic_queue/pull/63) - Luiz Feldmann (https://github.com/max0x7ba/atomic_queue/pull/72) - dummyunit (https://github.com/max0x7ba/atomic_queue/pull/73) - NakanoMiku (https://github.com/max0x7ba/atomic_queue/pull/74) - Stephan Lachnit (https://github.com/max0x7ba/atomic_queue/pull/77) - Stephan Lachnit (https://github.com/max0x7ba/atomic_queue/pull/78) - Stephan Lachnit (https://github.com/max0x7ba/atomic_queue/pull/79) - Stephan Lachnit (https://github.com/max0x7ba/atomic_queue/pull/80) - Stephan Lachnit (https://github.com/max0x7ba/atomic_queue/pull/81) - Stephan Lachnit (https://github.com/max0x7ba/atomic_queue/pull/82) - Christian Clauss (https://github.com/max0x7ba/atomic_queue/pull/86) - Rene Leonhardt (https://github.com/max0x7ba/atomic_queue/pull/87) - Ionut Tomos (https://github.com/max0x7ba/atomic_queue/pull/91) - Ionut Tomos (https://github.com/max0x7ba/atomic_queue/pull/92) - Anton Egorushkin (https://github.com/max0x7ba/atomic_queue/pull/93) - Ionut Tomos (https://github.com/max0x7ba/atomic_queue/pull/96) - Weihang Ding (https://github.com/max0x7ba/atomic_queue/pull/97) - Weihang Ding (https://github.com/max0x7ba/atomic_queue/pull/98) - Aurelian-Ionut Tomos (https://github.com/max0x7ba/atomic_queue/pull/104) - Alasdair Pan (https://github.com/max0x7ba/atomic_queue/pull/106) - Li Fenghao (https://github.com/max0x7ba/atomic_queue/pull/107) - Daeho Ro (https://github.com/max0x7ba/atomic_queue/pull/108) - Stephan Lachnit (https://github.com/max0x7ba/atomic_queue/pull/110) max0x7ba-atomic_queue-40624b8/LICENSE000066400000000000000000000020611525237550500171070ustar00rootroot00000000000000MIT License Copyright (c) 2019 Maxim Egorushkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. max0x7ba-atomic_queue-40624b8/Makefile000066400000000000000000000447721525237550500175610ustar00rootroot00000000000000# Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. # Usage examples (assuming this directory is ~/src/atomic_queue): # # /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) run_tests # /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) TOOLSET=clang-20 BUILD=debug TAGS run_tests # # /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) T=1 TOOLSET=gcc-14 BUILD=debug run_tests # /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) T=1 TOOLSET=gcc-14 BUILD=sanitize run_tests # /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) T=1 TOOLSET=gcc-14 BUILD=sanitize2 run_tests # # /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) T=1 TOOLSET=gcc-14 run_tests run_benchmarks_quick # /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) T=1 TOOLSET=clang-20 run_tests run_benchmarks_quick # # /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) T=1 TOOLSET=gcc-14 run_tests asm_throughput asm_latency # # AQB=1 /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) T=1 TOOLSET=gcc-14 run_benchmarks_n # # AQN=100000 AQB=131 taskset -c 8-15 /bin/time make -C ~/src/atomic_queue -Rj8 T=1 TOOLSET=gcc-14 CPPFLAGS="-DATOMIC_QUEUE_REMAP=RemapBmi" run_benchmarks_n TAG=5825u-RemapBmi # AQN=100000 AQB=131 taskset -c 8-15 /bin/time make -C ~/src/atomic_queue -Rj8 T=2 TOOLSET=gcc-14 CPPFLAGS="-DATOMIC_QUEUE_REMAP=RemapAnd" run_benchmarks_n TAG=5825u-RemapAnd # AQN=100000 AQB=131 taskset -c 8-15 /bin/time make -C ~/src/atomic_queue -Rj8 T=3 TOOLSET=gcc-14 CPPFLAGS="-DATOMIC_QUEUE_REMAP=RemapXor" run_benchmarks_n TAG=5825u-RemapXor # # AQB=1 taskset -c 8-15:2 /bin/time make -C ~/src/atomic_queue -Rj4 T=1 TOOLSET=gcc-14 run_benchmarks_n N=2 TAG=5825u_4-smt0 # # Build and run with multiple toolsets in parallel: # # cd ~/src/atomic_queue && make T=3 distclean && /bin/time make -k -Rj$(nproc) T=3 TOOLSET=gcc-11,gcc-12,gcc-13,gcc-14,clang-18,clang-19,clang-20 # /bin/time make -C ~/src/atomic_queue -Rj$(nproc) T=3 TOOLSET=gcc-11,gcc-12,gcc-13,gcc-14,clang-18,clang-19,clang-20 BUILD=debug all run_tests # # Additional CPPFLAGS, CXXFLAGS, LDLIBS, LDFLAGS can come from the command line, e.g. make CPPFLAGS='-I', or from environment variables. For example, also produce assembly outputs: # # /bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) CPPFLAGS="-DATOMIC_QUEUE_REMAP=RemapAnd" # ################################################################################################################################ # The defaults. # Easy BUILD_ROOT selection by setting T variable. T := 0 build_root.0 := build # T=0 builds into build sub-directory. # Other values for T build into /tmp, which normally mounts a tmpfs. (GCP instances don't). # Waste no CPU cycles for file-system encryption and/or RAID mirroring. No wearing-out of HDD/SSD/NVMe disks with writes. build_root.1 := /tmp/b1 # T=1 builds into /tmp/b1. build_root.2 := /tmp/b2 # T=2 builds into /tmp/b2. build_root.3 := /tmp/b3 # T=3 builds into /tmp/b3. # Tedious BUILD_ROOT selection by setting BUILD_ROOT variable. BUILD_ROOT := $(strip $(or ${build_root.${T}},$(error build_root.${T} is undefined.))) BUILD := release TOOLSET := gcc ASM := 0 ################################################################################################################################ # Name of the benchmarks experiment and the number of iterations. TAG := results N := 1 ################################################################################################################################ # Boiler-plate begin. override dry_run := $(if $(findstring n,$(firstword -${MAKEFLAGS})),1,0) ################################################################################################################################ # Enable GNU Make jobserver protocol for the recipe programs to request allocating more threads. J.0 := + J.1 := J := ${J.${dry_run}} n_cpus := $(or $(subst -j,,$(filter -j%,${MAKEFLAGS})),1) ################################################################################################################################ ifneq (,$(findstring clean,${MAKECMDGOALS})) override cleaning := 1 override undefine not_cleaning else override undefine cleaning override not_cleaning := 1 include ${BUILD_ROOT}/system_config.mk endif ################################################################################################################################ SHELL := /bin/bash .SHELLFLAGS := --norc -o pipefail -e -c export TIME:=Elapsed time %E, user %Us, system %Ss, CPU %P, RSS %MkB, exit-status %x.\n # Don't try loading localized messages for anything. undefine LANG undefine LANGUAGE undefine LC_CTYPE undefine LC_MESSAGES undefine LC_ALL comma := , empty := space := ${empty} ${empty} space-to-comma = $(subst ${space},${comma},${1}) comma-to-space = $(subst ${comma},${space},${1}) # TOOLSET can be a list of comma-separated values. toolsets := $(call comma-to-space,${TOOLSET}) mutli_toolset := $(intcmp $(words ${toolsets}),2,,1) all : .SECONDEXPANSION : ################################################################################################################################ colors := $(shell printf "\033[97m \033[0m") c7 := $(word 1,${colors}) c0 := $(word 2,${colors}) log_src := $(firstword ${MAKEFILE_LIST}) log = $(info ${log_src}: ${c7}${1}${c0}) log_kv = $(let head tail,${1},$(call log,$(head)=$(value $(head)))$(and $(tail),$(call log_kv,$(tail)))) ################################################################################################################################ ifeq (,${mutli_toolset}) # Build with a single toolset. build_dir := ${BUILD_ROOT}/${BUILD}/${TOOLSET} cxx.gcc := g++ cc.gcc := gcc ld.gcc := g++ ar.gcc := gcc-ar cxx.clang := clang++ cc.clang := clang ld.clang := clang++ ar.clang := ar head1 := /bin/awk 'FNR<2' toolset_family := $(or $(findstring gcc,${TOOLSET}),$(findstring clang,${TOOLSET})) toolset_suffix := $(subst ${toolset_family},,${TOOLSET}) toolset_flags = $(or ${${1}.${TOOLSET}},${${1}.${toolset_family}},$(error ${1}.${TOOLSET} is undefined)) toolset_exe = $(or ${${1}.${TOOLSET}},$(and ${${1}.${toolset_family}},${${1}.${toolset_family}}${toolset_suffix}),${2},$(error ${1}.${TOOLSET} is undefined)) CXX := $(call toolset_exe,cxx) CC := $(call toolset_exe,cc) LD := $(call toolset_exe,ld) AR := $(call toolset_exe,ar,ar) cxxflags.x86_64 := -fcf-protection=none -masm=intel cxxflags.gcc.x86_64 := cxxflags.gcc.asm.1 := -save-temps=obj -fverbose-asm cxxflags.gcc.debug := -Og -f{stack-protector-all,no-omit-frame-pointer} # -D_GLIBCXX_DEBUG cxxflags.gcc.release := -O3 -mtune=native -fno-{stack-protector,stack-clash-protection,tree-ch,move-loop-invariants} -falign-functions=64 -DNDEBUG ${cxxflags.gcc.asm.${ASM}} cxxflags.gcc.sanitize := ${cxxflags.gcc.debug} -fsanitize=thread cxxflags.gcc.sanitize2 := ${cxxflags.gcc.debug} -fsanitize=undefined,address cxxflags.gcc := -march=native -f{no-plt,no-math-errno,finite-math-only,message-length=0} -W{all,extra,error,no-maybe-uninitialized} ${cxxflags.gcc.${BUILD}} ${cxxflags.gcc.${uname_m}} ldflags.gcc.sanitize := ${ldflags.gcc.debug} -fsanitize=thread ldflags.gcc.sanitize2 := ${ldflags.gcc.debug} -fsanitize=undefined,address # ldflags.gcc := -fuse-ld=${use-ld.gcc} -Wl,--compress-debug-sections=zstd,-O2,--gc-sections ${ldflags.gcc.${BUILD}} ldflags.gcc := -g ${use_ld} ${ldflags.gcc.${BUILD}} # clang-14 for arm doesn't support -march=native. has_native := $(if $(and $(findstring clang,${CXX}), $(findstring aarch64,${uname_m}), $(shell ${CXX} -march=native -c -xc++ -o/dev/null /dev/null 2>&1)),,1) cxxflags.clang.debug := -O0 -fstack-protector-all $(and ${has_native},-march=native) cxxflags.clang.release := -O3 -fno-stack-protector -falign-functions=64 -DNDEBUG $(and ${has_native},-march=native -mtune=native) cxxflags.clang.sanitize := ${cxxflags.clang.debug} -fsanitize=thread cxxflags.clang.sanitize2 := ${cxxflags.clang.debug} -fsanitize=undefined,address cxxflags.clang := -stdlib=libstdc++ -f{no-plt,no-math-errno,finite-math-only,message-length=0} -W{all,extra,error} ${cxxflags.clang.${BUILD}} # ldflags.clang.debug := -latomic # A work-around for clang bug. ldflags.clang.sanitize := ${ldflags.clang.debug} -fsanitize=thread ldflags.clang.sanitize2 := ${ldflags.clang.debug} -fsanitize=undefined,address ldflags.clang := -g ${use_ld} -stdlib=libstdc++ -latomic ${ldflags.clang.${BUILD}} # Additional CPPFLAGS, CXXFLAGS, LDLIBS, LDFLAGS can come from the command line, e.g. make CPPFLAGS='-I', or from environment variables. cxxflags := -std=c++14 -pthread -g $(call toolset_flags,cxxflags) ${cxxflags.${uname_m}} ${CXXFLAGS} cppflags := -Iinclude ${CPPFLAGS} ldflags := -pthread $(call toolset_flags,ldflags) -Wl,-z,norelro,-z,now,-z,max-page-size=0x200000,-z,common-page-size=0x200000,-z,separate-code,--build-id=none ${LDFLAGS} ldlibs := -lrt ${LDLIBS} cppflags.tbb := ldlibs.tbb := {-L,'-Wl,-rpath='}/usr/local/lib -ltbb cppflags.moodycamel := -I.. ldlibs.moodycamel := cppflags.xenium := -I../xenium cxxflags.xenium := ldlibs.xenium := recompile := ${build_dir}/.make/recompile relink := ${build_dir}/.make/relink COMPILE.CXX = ${CXX} -o $@ -c ${cppflags} ${cxxflags} -MD -MP $< LINK.EXE = ${LD} -o $@ $(ldflags) $(filter-out ${relink},$^) $(ldlibs) LINK.SO = ${LD} -o $@ -shared $(ldflags) $(filter-out ${relink},$^) $(ldlibs) LINK.A = ${AR} rscT $@ $(filter-out ${relink},$^) # $(call log_kv,MAKEFLAGS dry_run cleaning not_cleaning) ifneq (,$(findstring n,$(firstword -${MAKEFLAGS}))) # Perform bash parameter expansion when --just-print, for bear. strip2 = $(shell printf '%q ' ${1}) else # Unduplicate whitespace. strip2 = $(strip ${1}) endif # Boiler-plate end. ################################################################################################################################ # Build targets definitions begin. exes := tests benchmarks benchmarks_min example test_exes := example tests example_src := example.cc tests_src := tests.cc ${build_dir}/tests.o : cppflags += -DBOOST_TEST_DYN_LINK=1 ${build_dir}/tests : ldlibs += -lboost_unit_test_framework benchmarks_src := benchmarks.cc cpu_base_frequency.cc huge_pages.cc ${build_dir}/benchmarks.o : cppflags += ${cppflags.tbb} ${cppflags.moodycamel} ${cppflags.xenium} ${build_dir}/benchmarks.o : cxxflags += -std=c++17 ${cxxflags.tbb} ${cxxflags.moodycamel} ${cxxflags.xenium} # benchmarks.cc uses c++17 features. ${build_dir}/benchmarks : private ldlibs += ${ldlibs.tbb} ${ldlibs.moodycamel} ${ldlibs.xenium} -ldl benchmarks_min_src := benchmarks_min.cc cpu_base_frequency.cc huge_pages.cc ${build_dir}/benchmarks_min : private ldlibs += -ldl # Build targets definitions end. ################################################################################################################################ # Boiler-plate begin. all : ${exes} auto_generated_header_d := define EXE_TARGET ${build_dir}/${1} : $(patsubst %.cc,${build_dir}/%.o,${${1}_src}) auto_generated_header_d += $(patsubst %.cc,${build_dir}/%.d,${${1}_src}) endef $(foreach exe,${exes},$(eval $(call EXE_TARGET,${exe}))) ${exes} : % : ${build_dir}/% .PHONY : ${exes} # for t in gcc gcc clang clang; do make -C ~/src/atomic_queue -rj$(($(nproc)/2)) BUILD=debug TOOLSET=$t; done ${exes:%=${build_dir}/%} : ${build_dir}/% : ${relink} | $$(dir $$@) ${J}$(call strip2,${LINK.EXE}) ${build_dir}/%.so : cxxflags += -fPIC ${build_dir}/%.so : ${relink} | $$(dir $$@) ${J}$(call strip2,${LINK.SO}) ${build_dir}/%.a : ${relink} | $$(dir $$@) ${J}$(call strip2,${LINK.A}) ${build_dir}/%.o : src/%.cc ${recompile} | $$(dir $$@) ${J}$(call strip2,${COMPILE.CXX}) ################################################################################################################################ # Compiler and linker options tracking. ver = "$(shell ${1} --version | ${head1})" # Trigger recompilation when compiler environment change. ${recompile} : private print := printf "%s\n" $(call strip2,$(call ver,${CXX}) ${cppflags} ${cxxflags} ${cppflags.tbb} ${cppflags.moodycamel} ${cppflags.xenium} ${cxxflags.tbb} ${cxxflags.moodycamel} ${cxxflags.xenium} ${ASM}) # Trigger relink when linker environment change. ${relink} : private print := printf "%s\n" $(call strip2,$(call ver,${LD}) ${ldflags} ${ldlibs} ${ldlibs.tbb} ${ldlibs.moodycamel} ${ldlibs.xenium}) ${recompile} ${relink} : ${build_dir}/.make/% : $$(shell /bin/cmp --quiet $$@ <($${print}) || echo update_env_txt) | $$(dir $$@) ${print} > $@ # cd ~/src/atomic_queue; make -r clean; set -x; make -rj8; make -rj8; make -rj8 CPPFLAGS=-DXYZ=1; make -rj8 CPPFLAGS=-DXYZ=1; make -rj8; make -rj8; make -rj8 LDLIBS=-lrt; make -rj8 LDLIBS=-lrt; make -rj8; make -rj8 ################################################################################################################################ new_filename = $(shell date "+${TAG}.%Y%m%dT%H%M%S.${TOOLSET}.$$(nproc)") results/%.txt : ${build_dir}/benchmarks | $$(dir $$@) { for((i=1;i<=${N};++i)); do printf "\n%(%F %T)T [$$i/${N}] "; ${chrt_fifo} /bin/time -f '${TIME}' $<; echo; done; } |& tee -i $@ perf/%.txt : ${build_dir}/benchmarks | $$(dir $$@) { printf "\n%(%F %T)T "; ${chrt_fifo} perf stat -dd $< ; echo; } |& tee -i $@ .PRECIOUS : perf/%.txt results/%.txt # Don't delete these on error. run_benchmarks_n : results/$${new_filename}.${N}.txt @printf "%(%F %T)T $@ saved \e[32m$(abspath $<)\e[0m\n\n" run_benchmarks_perf : perf/$${new_filename}.txt @printf "%(%F %T)T $@ saved \e[32m$(abspath $<)\e[0m\n\n" run_benchmarks_quick : ${build_dir}/benchmarks_min @echo -n "$@ "; set -x; AQB=1 ${chrt_fifo} taskset -c 4-7 /bin/time -f '${TIME}' $< # GitHub runners have 4 CPUs. # https://docs.github.com/en/actions/how-tos/write-workflows/choose-where-workflows-run/choose-the-runner-for-a-job#standard-github-hosted-runners-for-public-repositories run_benchmarks_ci : ${build_dir}/benchmarks_min ${chrt_fifo} taskset -c 0-3 /bin/time -f '${TIME}' $< 2>&1 run_tests : ${build_dir}/tests $< --log_level=unit_scope --report_level=short run_% : ${build_dir}/% force $< # Build tests in parallel, but execute serially. run_ci : ${test_exes} ${MAKE} -j1 ${test_exes:%=run_%} compile_commands compile_commands.json TAGS : bear -- ${MAKE} -R --always-make --no-print-directory all make_commands.txt : ${MAKE} -R --always-make --dry-run --no-print-directory | tee $@ # https://github.com/rizsotto/Bear/issues/284 # make -RC ~/src/atomic_queue T=1 TAGS2 bear2 := ~/.local/bin/bear TAGS2 : make_commands.txt rm -f compile_commands.json ${bear2} parse-sh < $< | ${bear2} semantic --input - clean : rm -rf ${build_dir} distclean : rm -rf ${BUILD_ROOT} compile_commands.json make_commands.txt versions: ${MAKE} --version | ${head1} ${CXX} --version | ${head1} ${build_dir}/.make/ perf/ results/ : mkdir -p $@ ${build_dir}/ : | ${build_dir}/.make/ ; env2 : env ifdef not_cleaning # Not cleanining. asm_throughput : private symbol_regex = '::throughput_(consumer|producer).+atomic_queue::AtomicQueue[B]?[2]?<' asm_latency : private symbol_regex = '::ping_pong_(receiver|sender).+atomic_queue::AtomicQueue[B]?[2]?<' asm_% : scripts/util.sh ${build_dir}/benchmarks $$(if $${symbol_regex},force,$$(error $$@ is not defined)) source $< && disassemble-symbol ${symbol_regex} ${build_dir}/benchmarks.o -include $(sort ${auto_generated_header_d}) # Remove duplicates and include. endif # Not cleanining. .PHONY : update_env_txt env versions run_benchmarks_quick clean distclean all compile_commands compile_commands.json make_commands.txt TAGS TAGS2 run_tests run_benchmarks_n run_benchmarks_perf env2 run_ci run_benchmarks_ci endif # Build with a single toolset. ################################################################################################################################ ifdef not_cleaning # Not cleanining. ${BUILD_ROOT}/system_config.mk : scripts/util.sh | $$(dir $$@) source $< && create_system_config_mk > $@ endif # Not cleanining. ################################################################################################################################ ${BUILD_ROOT}/ : mkdir -p $@ env : uname --all; echo nproc; echo ulimit -Ha; echo ulimit -Sa; echo env | sort --ignore-case; echo # Prerequisites of .PHONY are always interpreted as literal target names, never as patterns (even if they contain ‘%’ characters). To always rebuild a pattern rule consider using a "force target". # If a rule has no prerequisites or recipe, and the target of the rule is a nonexistent file, then make imagines this target to have been updated whenever its rule is run. This implies that all targets depending on this one will always have their recipe run. force : # Tell make to never consider updating any of these: Makefile :; scripts/% :; include/% :; src/% :; %.d :; .SUFFIXES : # Disable the built-in GNU Make rules. make -R is still more efficient. .DELETE_ON_ERROR : .SECONDARY : ################################################################################################################################ ifdef has_system_config targets := $(or ${MAKECMDGOALS},${.DEFAULT_GOAL}) timestamp_usec = $(shell printf "%.0f" $${EPOCHREALTIME}e+6) t0 := ${timestamp_usec} ################################################################################################################################ ifneq (,${mutli_toolset}) # Parallelize building with multiple toolsets. $(call log,Make targets "${targets}" with toolsets "${toolsets}" in parallel using up to ${n_cpus} CPUs.) $(intcmp ${MAKELEVEL},1,$(call log_kv,BUILD_ROOT)) # These apply to sub-makes only. export with-toolset-submake=1 GNUMAKEFLAGS += --no-print-directory --output-sync=target with-toolset-% : ${MAKE} TOOLSET=$* ${MAKECMDGOALS} # The last-resort rule. Must be the last in the Makefile. % : ${toolsets:%=with-toolset-%} @printf "${log_src}: ${c7}Made targets \"%s\" with $(words ${toolsets}) toolsets ${TOOLSET} in %'.6f seconds.${c0}\n" "${targets}" "$$((${timestamp_usec} - ${t0}))"e-6 ################################################################################################################################ else # Parallelize building with multiple toolsets. all :; @: ifndef with-toolset-submake $(call log,Build targets "${targets}" with ${TOOLSET} using up to ${n_cpus} CPUs.) # $(intcmp ${MAKELEVEL},1,$(call log_kv,BUILD_ROOT)) endif endif # Parallelize building with multiple toolsets. ################################################################################################################################ endif # has_system_config ################################################################################################################################ # Local Variables: # compile-command: "/bin/time make -C ~/src/atomic_queue -Rj$(($(nproc)/2)) TOOLSET=gcc-14 BUILD=debug run_tests" # End: max0x7ba-atomic_queue-40624b8/README.md000066400000000000000000001145641525237550500173750ustar00rootroot00000000000000[![C++14](https://img.shields.io/badge/dialect-C%2B%2B14-blue)](https://en.cppreference.com/w/cpp/14) [![MIT license](https://img.shields.io/github/license/max0x7ba/atomic_queue)](https://github.com/max0x7ba/atomic_queue/blob/master/LICENSE) [![Latest release](https://img.shields.io/github/v/tag/max0x7ba/atomic_queue?label=latest%20release)](https://github.com/max0x7ba/atomic_queue/releases/tag/v1.9.4) [![Conan Center](https://img.shields.io/conan/v/atomic_queue)](https://conan.io/center/recipes/atomic_queue) [![Vcpkg Version](https://img.shields.io/vcpkg/v/atomic-queue)](https://vcpkg.io/en/package/atomic-queue)
[![Makefile CI](https://github.com/max0x7ba/atomic_queue/actions/workflows/ci.yml/badge.svg)](https://github.com/max0x7ba/atomic_queue/actions/workflows/ci.yml) [![CMake CI](https://github.com/max0x7ba/atomic_queue/actions/workflows/cmake-gcc-clang.yml/badge.svg)](https://github.com/max0x7ba/atomic_queue/actions/workflows/cmake-gcc-clang.yml) [![Meson CI](https://github.com/max0x7ba/atomic_queue/actions/workflows/ci-meson.yml/badge.svg)](https://github.com/max0x7ba/atomic_queue/actions/workflows/ci-meson.yml) [![Cross-architecture CI](https://github.com/max0x7ba/atomic_queue/actions/workflows/ci-cross.yml/badge.svg)](https://github.com/max0x7ba/atomic_queue/actions/workflows/ci-cross.yml) # atomic_queue C++14 multiple-producer-multiple-consumer *lock-free* queues based on circular buffers and [`std::atomic`][3]. Designed with a goal to minimize the latency between one thread pushing an element into a queue and another thread popping it from the queue. It has been developed, tested and benchmarked on Linux x86_64. Yet, any C++14 platform implementing `std::atomic` is expected to compile the unit-tests and run them without failures just as well. ## Continuous Integrations GitHub Actions run continuous integrations unit-tests on the following platforms: | OS | Arch | CI | Notes | |--------|---------------|-------------|-------------| Linux | x86_64 | [Makefile][22], [Meson][24], [CMake][23] | Also runs a minimal benchmark | Linux | ARM | [Makefile][22], [Meson][24], [CMake][23] | Also runs a minimal benchmark | Linux | RISC-V | [Cross-architecture][25] | Runs in QEMU | Linux | PowerPC | [Cross-architecture][25] | Runs in QEMU | Linux | IBM System/390 | [Cross-architecture][25] | Runs in QEMU | Linux | LoongArch | [Cross-architecture][25] | Runs in QEMU | Windows | x86_64 | [CMake][23] | | macOS | ARM | [CMake][23] | | Pull requests to extend the [continuous integrations][18] to run on other architectures/platforms are most welcome. ## Design Principles When minimizing latency a good design is not when there is nothing left to add, but rather when there is nothing left to remove, as these queues exemplify. Minimizing latency naturally maximizes throughput. Low latency reciprocal is high throughput, in ideal mathematical and practical engineering sense. Low latency is incompatible with any delays and/or batching, which destroy original (hardware) global time order of events pushed into one queue by different threads. Maximizing throughput, on the other hand, can be done at expense of latency by delaying and batching multiple updates. The main design principle these queues follow is _minimalism_, which results in such design choices as: * Bare minimum of atomic instructions. Inlinable by default push and pop functions can hardly be any cheaper in terms of CPU instruction number / L1i cache pressure. * Explicit contention/false-sharing avoidance for queue data members and its elements. * Linear fixed size ring-buffer array. No heap memory allocations after a queue object has constructed. It doesn't get any more CPU L1d or TLB cache friendly than that. * Value semantics. Meaning that the queues make a copy/move upon `push`/`pop` and keep no references/pointers to its function arguments after returning, and that no reference/pointer to elements in the queue ring-buffer can be obtained. Simplest to use, hard to misuse, best machine code due to no pointer aliasing possible. The impact of each of these small design choices on their own is barely measurable, but their total impact is much greater than a simple sum of the constituents' impacts, aka super-scalar compounding or synergy. The synergy emerging from combining multiple of these small design choices together is what allows CPUs to perform at their peak capacities least impeded. These design choices are also limitations: * The maximum queue size must be set at compile time or construction time. The circular buffer side-steps the memory reclamation problem inherent in linked-list based queues for the price of fixed buffer size. See [Effective memory reclamation for lock-free data structures in C++][4] for more details. Fixed buffer size may not be that much of a limitation, since once the queue gets larger than the maximum expected size that indicates a problem that elements aren't consumed fast enough, and if the queue keeps growing it may eventually consume all available memory which may affect the entire system, rather than the problematic process only. The only apparent inconvenience is that one has to do an upfront calculation on what would be the largest expected/acceptable number of unconsumed elements in the queue. * There are no OS-blocking push/pop functions. This queue is designed for ultra-low-latency scenarios and using an OS blocking primitive would be sacrificing push-to-pop latency. For lowest possible latency one cannot afford calling the OS kernel or blocking in the OS kernel because the wake-up latency of a blocked thread is about 1-3 microseconds, whereas this queue's round-trip time (push a message to another thread and pop its reply) can be below 100 nanoseconds. CPU vulnerability mitigations made system calls dramatically more expensive, crippling performance even worse. In general, handing off spin-waiting to an OS blocking primitive is a problem with no satisfactory low-latency solutions. Ultra-low-latency applications need just that and nothing more. The minimalism pays off, see the [throughput and latency benchmarks][1]. ## Role Models Several other well established and popular thread-safe containers are used for reference in the [benchmarks][1]: | Queue | Type | Description | |-------|------|-------------| | `std::mutex` | MPMC | A fixed size ring-buffer with `std::mutex`. | | `pthread_spinlock` | MPMC | A fixed size ring-buffer with `pthread_spinlock_t`. | | `boost::lockfree::spsc_queue` | SPSC | A wait-free queue from Boost library. | | `boost::lockfree::queue` | MPMC | A lock-free queue from Boost library. | | `moodycamel::ConcurrentQueue` | quasi-MPMC | A lock-free queue used in non-blocking mode. Designed to maximize throughput at the expense of latency, eschewing global time order, by emulating a MPMC queue with a bunch of SPSC queues under the hood. It is not equivalent to other queues benchmarked here in this respect. | | `moodycamel::ReaderWriterQueue` | SPSC | A lock-free queue used in non-blocking mode. | | `xenium::michael_scott_queue` | MPMC | A lock-free queue proposed by [Michael and Scott](http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf) (similar to `boost::lockfree::queue` which is also based on the same proposal). | | `xenium::ramalhete_queue` | MPMC | A lock-free queue proposed by [Ramalhete and Correia](http://concurrencyfreaks.blogspot.com/2016/11/faaarrayqueue-mpmc-lock-free-queue-part.html). | | `xenium::vyukov_bounded_queue` | MPMC | A bounded queue based on the version proposed by [Vyukov](https://groups.google.com/forum/#!topic/lock-free/-bqYlfbQmH0). | | `tbb::spin_mutex` | MPMC | A locked fixed size ring-buffer with `tbb::spin_mutex` from Intel Threading Building Blocks. | | `tbb::concurrent_bounded_queue` | MPMC | Eponymous queue used in non-blocking mode from Intel Threading Building Blocks. | ## Using the library The containers provided are header-only class templates, no building/installing is necessary. ### Installing #### From GitHub 1. Clone the project: ```bash git clone https://github.com/max0x7ba/atomic_queue.git ``` 2. Add `atomic_queue/include` directory (use full path) to the include paths of your build system. 3. `#include ` in your C++ source. If you use CMake, these can be simplified as follows: ```cmake add_subdirectory(atomic_queue) target_link_libraries(main PRIVATE atomic_queue::atomic_queue) ``` #### From GitHub using cmake FetchContent You can also use CMake's FetchContent. ```cmake include(FetchContent) FetchContent_Declare( atomic_queue GIT_REPOSITORY https://github.com/max0x7ba/atomic_queue.git GIT_TAG v1.9.4 ) FetchContent_MakeAvailable(atomic_queue) target_link_libraries(main PRIVATE atomic_queue::atomic_queue) ``` #### From vcpkg ``` vcpkg install atomic-queue ``` It provides CMake targets: ```cmake find_package(atomic_queue CONFIG REQUIRED) target_link_libraries(main PRIVATE atomic_queue::atomic_queue) ``` #### Install using conan Follow the official tutorial on [how to consume conan packages](https://docs.conan.io/2/tutorial/consuming_packages.html). Details specific to this library are available in [ConanCenter](https://conan.io/center/recipes/atomic_queue). ### Build and run Building is necessary to run the unit-tests and benchmarks. GNU Make `Makefile` is the original/reference build system this project has been developed, unit-tested and benchmarked with. It is feature-complete and most efficient, but the least portable to anything else than Linux. Linux tools, however, are the ultimate best for development, benchmarking, deep performance analyses and profiling at CPU instruction level. `CMake` and `Meson` build systems provide the greatest portability and easy usage/consumption of the library, build and run the unit-tests on their supported platforms. They provide the best library user experience, as opposed to best library developer experience. #### Build and run unit-tests Building and running the unit-tests require Boost.Test library (e.g. `libboost-test-dev` on Debian/Ubuntu). Installing the complete set of Boost development libraries is the easiest (e.g. `libboost-all-dev` on Debian/Ubuntu). ```bash git clone https://github.com/max0x7ba/atomic_queue.git cd atomic_queue ``` Then: ``` # Build and run the unit-tests with gcc (default). make -R -j$(($(nproc)/2)) BUILD=debug run_tests # Build and run the unit-tests with gcc,gcc-14,clang,clang-20 in parallel. make -R -j$(($(nproc)/2)) BUILD=debug TOOLSET=gcc,gcc-14,clang,clang-20 run_tests ``` #### Build and run benchmarks Building and running the benchmarks require additional third-party libraries: * Boost.Lockfree library. Installing the complete set of Boost development libraries is the easiest (e.g. `libboost-all-dev` on Debian/Ubuntu). * Intel TBB library (e.g. `libtbb-dev` on Debian/Ubuntu). When Intel TBB library is installed elsewhere, you may like to specify that location in `cppflags.tbb` and `ldlibs.tbb` in `Makefile`. * Several other third-party libraries are expected to be cloned into sibling directories: ```bash git clone https://github.com/cameron314/concurrentqueue.git git clone https://github.com/cameron314/readerwriterqueue.git git clone https://github.com/mpoeter/xenium.git git clone https://github.com/max0x7ba/atomic_queue.git cd atomic_queue ``` Then: ``` make -R -j$(($(nproc)/2)) run_benchmarks_n # Build and run the benchmarks once. make -R -j$(($(nproc)/2)) run_benchmarks_n N=3 # Build and run the benchmarks 3 times. make -R -j$(($(nproc)/2)) TOOLSET=gcc-14 run_benchmarks_n # Build with gcc-14 and run the benchmarks. make -R -j$(($(nproc)/2)) TOOLSET=clang-20 run_benchmarks_n # Build with clang-20 and run the benchmarks. taskset --cpu-list 0,1,14,15 make -R -j$(($(nproc)/2)) TOOLSET=gcc-14 run_benchmarks_n # Use only cpus [0,1,14,15] to build with gcc-14 and run the benchmarks 3 times. ``` ## Library contents ### Available queues * `AtomicQueue` - a fixed size ring-buffer for atomic elements. * `OptimistAtomicQueue` - a faster fixed size ring-buffer for atomic elements which busy-waits when empty or full. It is `AtomicQueue` used with `push`/`pop` instead of `try_push`/`try_pop`. * `AtomicQueue2` - a fixed size ring-buffer for non-atomic elements. * `OptimistAtomicQueue2` - a faster fixed size ring-buffer for non-atomic elements which busy-waits when empty or full. It is `AtomicQueue2` used with `push`/`pop` instead of `try_push`/`try_pop`. These containers maintain their ring-buffers as array data members with size specified at compile-time and have no pointer data members. That makes them position-independent, allows allocating them into process-shared memory with a plain C++ placement new statement, and mapping at arbitrary addresses in different processes using the same queue objects in shared memory. The queue elements must be position-independent too to support this particular use-case (unlike classes with process-position-dependent pointers such as `std::unique_ptr`, `std::string` and all the C++ standard containers with default allocators). There are corresponding `B` variants (`AtomicQueueB`, `OptimistAtomicQueueB`, `AtomicQueueB2`, `OptimistAtomicQueueB2`) that use `std::allocator` or user-specified (stateful) allocator for allocating the ring-buffers, where the buffer size is specified as an argument to the constructor at run-time. Totally ordered mode is supported. In this mode consumers receive messages in the same FIFO order the messages were posted. This mode is supported for `push` and `pop` functions, but not for the `try_` versions. On Intel x86 the totally ordered mode has 0 cost, as of 2019. Single-producer-single-consumer mode is supported. In this mode, no expensive atomic read-modify-write CPU instructions are necessary, only the cheapest atomic loads and stores. That improves queue throughput significantly. Move-only queue element types are fully supported. For example, a queue of `std::unique_ptr` elements would be `AtomicQueueB2>` or `AtomicQueue2, CAPACITY>`. ### Queue schematics ``` queue-end queue-front [newest-element, ..., oldest-element] push() pop() ``` ### Queue API The queue class templates provide the following member functions: * `try_push` - Appends an element to the end of the queue. Returns `false` when the queue is full. * `try_pop` - Removes an element from the front of the queue. Returns `false` when the queue is empty. * `push` (optimist) - Appends an element to the end of the queue. Busy waits when the queue is full. Faster than `try_push` when the queue is not full. Optional FIFO producer queuing and total order. * `pop` (optimist) - Removes an element from the front of the queue. Busy waits when the queue is empty. Faster than `try_pop` when the queue is not empty. Optional FIFO consumer queuing and total order. * `was_size` - Returns the number of unconsumed elements during the call. The state may have changed by the time the return value is examined. * `was_empty` - Returns `true` if the container was empty during the call. The state may have changed by the time the return value is examined. * `was_full` - Returns `true` if the container was full during the call. The state may have changed by the time the return value is examined. * `capacity` - Returns the maximum number of elements the queue can possibly hold. _Atomic elements_ are those, for which [`std::atomic{T{}}.is_lock_free()`][10] returns `true`, and, when C++17 features are available, [`std::atomic::is_always_lock_free`][16] evaluates to `true` at compile time. In other words, the CPU can load, store and compare-and-exchange such elements atomically natively. On x86-64 such elements are all the [C++ standard arithmetic and pointer types][11]. The queues for atomic elements reserve one value to serve as an empty element marker `NIL`, its default value is `0`. `NIL` value must not be pushed into a queue and there is an [`assert`][13] statement in `push` functions to guard against that in debug mode builds. Pushing `NIL` element into a queue in release mode builds results in undefined behaviour, such as deadlocks and/or lost queue elements. Note that _optimism_ is a choice of a queue modification operation control flow, rather than a queue type. An _optimist_ `push` is fastest when the queue is not full most of the time, an optimistic `pop` - when the queue is not empty most of the time. Optimistic and not so operations can be mixed with no restrictions. The `OptimistAtomicQueue`s in [the benchmarks][1] use only _optimist_ `push` and `pop`. See [example.cc](src/example.cc) for a usage example. ## Implementation Notes ### Memory order of non-atomic loads and stores `push` and `try_push` operations _synchronize-with_ (as defined in [`std::memory_order`][17]) with any subsequent `pop` or `try_pop` operation of the same queue object. Meaning that: * No non-atomic load/store gets reordered past `push`/`try_push`, which is a `memory_order::release` operation. Same memory order as that of `std::mutex::unlock`. * No non-atomic load/store gets reordered prior to `pop`/`try_pop`, which is a `memory_order::acquire` operation. Same memory order as that of `std::mutex::lock`. * The effects of a producer thread's non-atomic stores followed by `push`/`try_push` of an element into a queue become visible in the consumer's thread which `pop`/`try_pop` that particular element. ### Ring-buffer capacity The available queues here use a ring-buffer array for storing elements. The capacity of the queue is fixed at compile time or construction time. In a production multiple-producer-multiple-consumer scenario the ring-buffer capacity should be set to the maximum expected queue size. When the ring-buffer gets full it means that the consumers cannot consume the elements fast enough. A fix for that is any of: * Increase the queue capacity in order to handle temporary spikes of pending elements in the queue. This normally requires restarting the application after re-configuration/re-compilation has been done. * Increase the number of consumers to drain the queue faster. The number of consumers can be managed dynamically, e.g.: when a consumer observes that the number of elements pending in the queue keeps growing, that calls for deploying more consumer threads to drain the queue at a faster rate; mostly empty queue calls for suspending/terminating excess consumer threads. * Decrease the rate of pushing elements into the queue. `push` and `pop` calls always incur some expensive CPU cycles to maintain the integrity of queue state in atomic/consistent/isolated fashion with respect to other threads and these costs increase super-linearly as queue contention grows. Producer batching of multiple small elements or elements resulting from one event into one queue message is often a reasonable solution. Using a power-of-2 ring-buffer array size allows a couple of important optimizations: * The writer and reader indexes get mapped into the ring-buffer array index using remainder binary operator `% SIZE`. Remainder binary operator `%` normally generates a division CPU instruction which isn't cheap, but using a power-of-2 size turns that remainder operator into one cheap binary `and` CPU instruction and that is as fast as it gets. * The *element index within the cache line* gets swapped with the *cache line index*, so that consecutive queue elements get mapped into consecutive/distinct cache lines. This massively reduces cache line contention between multiple producers and multiple consumers. Instead of `N` producers together with `M` consumers competing on subsequent elements in the same ring-buffer cache line in the worst case, it is only one producer competing with one consumer (pedantically, when the number of CPUs is not greater than the number of elements that can fit in one cache line). This optimisation scales better with the number of producers and consumers, and element size. With low number of producers and consumers (up to about 2 of each in these benchmarks) disabling this optimisation may yield better throughput (but higher variance across runs). The containers use `unsigned` type for size and internal indexes. On x86-64 platform `unsigned` is 32-bit wide, whereas `size_t` is 64-bit wide. 64-bit instructions utilise an extra byte instruction prefix resulting in slightly more pressure on the CPU instruction cache and the front-end. Hence, 32-bit `unsigned` indexes are used to maximise performance. That limits the queue size to 4,294,967,295 elements, which seems to be a reasonable hard limit for many applications. While the atomic queues can be used with any moveable element types (including `std::unique_ptr`), for best throughput and latency the queue elements should be cheap to copy and lock-free (e.g. `unsigned` or `T*`), so that `push` and `pop` operations complete fastest. ### Lock-free guarantees A `push` or `pop` operation does two atomic steps: 1. Atomically and exclusively claims the queue slot index to store/load an element to/from. That's producers incrementing `head` index, consumers incrementing `tail` index. Each slot is accessed by one producer and one consumer threads only. 2. Atomically store/load the element into/from the slot. Producer storing into a slot changes its state to be non-`NIL`, consumer loading from a slot changes its state to be `NIL`. The slot is a spinlock for its one producer and one consumer threads. These queues anticipate that a thread doing `push` or `pop` may complete step 1 and then be preempted before completing step 2. When a thread completes step 1 and terminates (for any reason) without completing step 2, the queue slot remains locked and deadlocks the next thread attempting to `try_pop`/`try_push`/`pop`/`push` from/into that slot. A thread can be terminated by the OS (e.g., `oomkiller`), _asynchronously_ cancelled, or throw/crash in the user-defined copy/move constructor/assignment of queue element (if any). Should that happen, the game is over, and the best course of action is to terminate the process as soon as possible and address the root cause of one's threads crashing. Forcefully terminating/cancelling threads is rarely a good idea. However, there are no _cancellation points_ in any `push`/`pop` functions, so that cancelling a thread with its default _deferred_ cancellation type shouldn't terminate the thread while it is half-way through `push`/`pop` functions. Yet, thread cancellation is OS-specific, so that the best course of action after cancelling/terminating a thread is to terminate the process as soon as possible. Thread preemption, on the other hand, can happen at the worst possible moment, unless the thread is assigned a high enough real-time FIFO priority to prevent it from being [preempted](#preemption) by higher priority processes/threads in the system. Once constructed/allocated, queue objects maintain their invariants and never throw exceptions, provided that: * Queue elements copy/move constructor/assignment never throw. * Threads don't terminate half-way through `push`/`pop`. * Thread preemption half-way through `push`/`pop` is not great, not terrible. Real-time FIFO threads with real-time thread throttling disabled are required for best results. An algorithm is *lock-free* if there is guaranteed system-wide progress. These queues guarantee system-wide progress by the following properties: * Each `push` is independent of any preceding `push`. An incomplete (preempted) `push` by one producer thread doesn't affect `push` of any other thread. * Each `pop` is independent of any preceding `pop`. An incomplete (preempted) `pop` by one consumer thread doesn't affect `pop` of any other thread. * An incomplete (preempted) `push` from one producer thread affects only one consumer thread `pop`ing an element from this particular queue slot. All other threads `pop`s are unaffected. * An incomplete (preempted) `pop` from one consumer thread affects only one producer thread `push`ing an element into this particular queue slot while expecting it to have been consumed long time ago, in the rather unlikely scenario that producers have wrapped around the entire ring-buffer while this consumer hasn't completed its `pop`. All other threads `push`s and `pop`s are unaffected. ### Preemption Linux task scheduler thread preemption is something no user-space process should be able to affect or escape, otherwise any/every malicious application would exploit that. Still, there are a few things one can do to minimize preemption of one's mission critical application threads: * Use real-time `SCHED_FIFO` scheduling class for your threads, e.g. `chrt --fifo 50 `. A higher priority `SCHED_FIFO` thread or kernel interrupt handler can still preempt your `SCHED_FIFO` threads. * Use one same fixed real-time scheduling priority for all threads accessing same queue objects. Real-time threads with different scheduling priorities modifying one queue object may cause priority inversion and deadlocks. Using the default scheduling class `SCHED_OTHER` with its dynamically adjusted priorities defeats the purpose of using these queues. * Disable [real-time thread throttling](#real-time-thread-throttling) to prevent `SCHED_FIFO` real-time threads from being throttled. * Isolate CPU cores, so that no interrupt handlers or applications ever run on it. Mission critical applications should be explicitly placed on these isolated cores with `taskset`. * Pin threads to specific cores, otherwise the task scheduler keeps moving threads to other idle CPU cores to level voltage/heat-induced wear-and-tear across CPU cores. Keeping a thread running on one same CPU core maximizes CPU cache hit rate. Moving a thread to another CPU core incurs otherwise unnecessary CPU cache thrashing. People often propose limiting busy-waiting with a subsequent call to `std::this_thread::yield()`/`sched_yield`/`pthread_yield`. However, `sched_yield` is a wrong tool for locking because it doesn't communicate to the OS kernel what the thread is waiting for, so that the OS thread scheduler can never schedule the calling thread to resume at the right time when the shared state has changed (unless there are no other threads that can run on this CPU core, so that the caller resumes immediately). See notes section in [`man sched_yield`][19] and [a Linux kernel thread about `sched_yield` and spinlocks][5] for more details. [In Linux, there is mutex type `PTHREAD_MUTEX_ADAPTIVE_NP`][9] which busy-waits a locked mutex for a number of iterations and then makes a blocking syscall into the kernel to deschedule the waiting thread. In the benchmarks it was the worst performer and I couldn't find a way to make it perform better, and that's the reason it is not included in the benchmarks. C++20 introduced blocking `std::atomic::wait` which uses Linux futex for atomic compare-and-block operation, similar to `PTHREAD_MUTEX_ADAPTIVE_NP`, with hard-coded spin-count limits. And `thread_yield` calls, which Linus Torvalds above explains is only applicable for real-time threads with a single run-queue for them. A queue implementation with `std::atomic::wait` is due to be benchmarked, with its performance expected to be similar to that of `PTHREAD_MUTEX_ADAPTIVE_NP`, but I'd love to be pleasantly surprised. On Intel CPUs one could use [the 4 debug control registers][6] to monitor the spinlock memory region for write access and wait on it using `select` (and its friends) or `sigwait` (see [`perf_event_open`][7] and [`uapi/linux/hw_breakpoint.h`][8] for more details). A spinlock waiter could suspend itself with `select` or `sigwait` until the spinlock state has been updated. But there are only 4 of these registers, so that such a solution wouldn't scale. ### Huge pages Using huge pages improves performance of memory intensive applications dramatically. The benchmark tries allocating 1GB or 2MB huge pages first, and falls back to allocating the default tiny pages (4kB on x86_64). The benchmark results are reproducible only when it succeeds allocating one 1GB huge page. Using smaller pages cripple CPU performance with TLB cache misses. ## Benchmarks [View latency and throughput benchmarks charts][1]. ### Latency benchmark Two threads ping-pong one 4-byte integer counter via two queue objects. The counter is decremented and sent as a reply, until reaching 0. There are 2 queues and 2 threads, the counter is initialized with 1,000,000 (each of the two threads pushes/pops 500,000 messages). Contention is minimal here: each queue has 1 producer 1 consumer, up to 1 element in the queue -- the best case ideal scenario for a queue to demonstrate its lowest possible latency. The dependency chains on popped counter exist to prevent CPUs from pipe-lining out-of-order execution in order to measure the true round-trip latency. This benchmark measures the total time taken for the 2 threads to exchange the 1,000,000 messages. A benchmark run reports the best sec/round-trip latency (time taken to `push` a message and `pop` its reply) out of 3 tries for each queue. The charts report mean, stdev, min and max of sec/round-trip latency across 33 benchmark runs. ### Throughput and scalability benchmark N producer threads push a 4-byte integer into one same queue, N consumer threads pop the integers from the queue. With SMT threads, the benchmark is run for from 1 producer and 1 consumer up to `(total-number-of-cpus / 2)` producers/consumers to measure the scalability of different queues. Without using SMT threads (cross-core communication only) -- up to `(total-number-of-cpus / 4)` producers/consumers. There are no dependency chains on messages in producer and consumer threads in this benchmark in order to let the queues demonstrate their highest possible throughputs. The reported throughputs are higher than the inverse of latencies because of no dependency chains stalling CPU pipe-lining and out-of-order execution (as intended). This benchmark measures the total time taken to send and receive a total of 1,000,000 messages through one queue. A benchmark run reports the best msg/sec throughput out of 3 tries for each queue. The charts report mean, stdev, min and max of msg/sec throughput across 33 benchmark runs. ### Results Notes - The lowest latency for cross-thread communication is achieved when both threads run on the **same CPU core** (2 SMT threads). Moving communication to a different core adds noticeable latency, and crossing CCX boundaries or CPU sockets increases it further. - In the round-trip latency benchmark, **every tested queue** achieves its best latency only when the producer and consumer threads share the same CPU core. When the threads run on **different cores**, latency increases by **3× or more**. - When producer and consumer threads run on different cores, **all queues** show **at least 1.5× lower** throughput. - The numbers shown for each queue reflect the **best-case** result across within-core, cross-core, and cross-CCX/socket scenarios. - **Important**: These scenarios behave very differently in practice. Excellent performance with two SMT threads on a single core is often irrelevant for real-world use cases where threads must run on different cores. - **Recommendation**: Always benchmark your specific thread placement (same core vs. different cores vs. different CCX) for latency-critical or throughput-critical applications. #### Notable exceptions `moodycamel::ConcurrentQueue` is the notable exception here, with its 1-producer-1-consumer throughput being the worst, yet scaling up in almost perfect linear fashion when the benchmark adds another pair of producer-consumer threads. It tries to emulate a MPMC queue with a bunch of SPSC queues under the hood. `moodycamel::ConcurrentQueue` is not a drop-in replacement for the other true MPMC queues benchmarked here. Whereas all the other MPMC queues are drop-in replacements for another (interface adaptors may be required), including `moodycamel::ConcurrentQueue` too. ### Methodology There are a few OS behaviours that complicate benchmarking, make benchmark runs irreproducible, and introduce otherwise unnecessary timing noise into benchmark timings: * CPU scheduler can place threads on different CPU cores each run, often poorly. The benchmark pins threads to specific CPU cores to test throughput/latency of communication between in particular scenarios, such as SMT, cross-core with no SMT, cross-CCX/socket. That obviates the CPU scheduler from having to decide which CPU to run a thread on completely, along with any of its mis-scheduling risks[^3]. * CPU scheduler preempts threads. Real-time `SCHED_FIFO` priority 50 is used to make benchmark threads non-preemptable by lower priority processes/threads. * Real-time thread throttling, enabled by default, makes the kernel preempt real-time `SCHED_FIFO` threads every second to protect against the risk of real-time threads hogging all CPUs and making the system unavailable for anything else. Disabled during benchmarks runs[^1]. * Address space randomisation makes CPU branch prediction the least efficient. In addition to making all CPU caches only "somewhat less" but not the least efficient. Disabled during benchmarks runs[^1]. * CPU vulnerability mitigations make system calls dramatically more expensive. Disabled during benchmarks runs[^1]. * Transparent huge pages are "always" enabled during benchmarks runs[^2]. That enables only much less than 50% of transparent huge page functionality and its benefits, with (indefinitely) delayed effect. * Synchronous compaction is "always" enabled during benchmarks runs[^2]. Enables the rest of transparent huge page functionality and its benefits, with immediate positive effect on memory allocations in every process. [thp-usage][14] provides more information. To further minimise the noise in timings: * `benchmarks` executable runs the same workload 10 times with each queue and reports the shortest (best) time measured. Everyone needs a break every little while and `benchmarks` executable gives each queue 10 breaks every few fractions of a second. * The benchmark charts report `{mean, stdev, min, max}` descriptive statistics of the best throughput `msg/sec` and latency `sec/round-trip` measurements obtained from at least 33 runs of `benchmarks` executable. (33 runs of `benchmarks` take ~1h30s on Ryzen 5950X). The goal of the benchmarks is to time things as accurately as possible. For the purpose of viewing the reality clearly without any distortions of perception, prejudice or judgement. #### Huge pages When huge pages are available the benchmarks use 1x1GB or 16x2MB huge pages for the queues to minimise TLB misses. To enable huge pages do one of: ```bash sudo hugeadm --pool-pages-min 1GB:1 sudo hugeadm --pool-pages-min 2MB:32 ``` Alternatively, you may like to enable [transparent hugepages][15] in your system and/or use a hugepage-aware allocator. [thp-usage][14] provides more information. #### Real-time thread throttling By default, Linux scheduler throttles real-time threads from consuming 100% of CPU and that is detrimental to benchmarking. Full details can be found in [Real-Time group scheduling][2]. To disable real-time thread throttling do: ```bash echo -1 | sudo tee /proc/sys/kernel/sched_rt_runtime_us >/dev/null ``` ## Reading material Some books on the subject of multi-threaded programming I found quite instructive: * _Programming with POSIX Threads_ by David R. Butenhof. * _The Art of Multiprocessor Programming_ by Maurice Herlihy, Nir Shavit. --- Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. [1]: https://max0x7ba.github.io/atomic_queue/html/benchmarks.html [2]: https://www.kernel.org/doc/html/latest/scheduler/sched-rt-group.html [3]: https://en.cppreference.com/w/cpp/atomic/atomic [4]: https://repositum.tuwien.ac.at/obvutwhs/download/pdf/2582190?originalFilename=true [5]: https://www.realworldtech.com/forum/?threadid=189711&curpostid=189752 [6]: https://en.wikipedia.org/wiki/X86_debug_register#DR7_-_Debug_control [7]: https://man7.org/linux/man-pages/man2/perf_event_open.2.html [8]: https://github.com/torvalds/linux/blob/master/include/uapi/linux/hw_breakpoint.h [9]: https://stackoverflow.com/a/25168942/412080 [10]: https://en.cppreference.com/w/cpp/atomic/atomic/is_lock_free [11]: https://en.cppreference.com/w/cpp/language/type [13]: https://en.cppreference.com/w/cpp/error/assert [14]: https://github.com/max0x7ba/thp-usage [15]: https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html [16]: https://en.cppreference.com/w/cpp/atomic/atomic/is_always_lock_free [17]: https://en.cppreference.com/w/cpp/atomic/memory_order [18]: https://github.com/max0x7ba/atomic_queue/blob/master/.github/workflows [19]: https://man7.org/linux/man-pages/man2/sched_yield.2.html [20]: https://en.wikipedia.org/wiki/Goodhart%27s_law [21]: https://en.wikipedia.org/wiki/Amdahl%27s_law [22]: https://github.com/max0x7ba/atomic_queue/actions/workflows/ci.yml [23]: https://github.com/max0x7ba/atomic_queue/actions/workflows/cmake-gcc-clang.yml [24]: https://github.com/max0x7ba/atomic_queue/actions/workflows/ci-meson.yml [25]: https://github.com/max0x7ba/atomic_queue/actions/workflows/ci-cross.yml [^1]: A security feature that cripples CPU performance to protect against someone else's threat vectors. Always disabled in my workstations. [^2]: Always enabled in my workstations for best performance in memory/compute-intensive workloads, such as linear algebra computations with `numpy` and `Pandas`, training ANNs on GPUs with `PyTorch`. [^3]: "Completely Fair Scheduler" was never a good idea nor a right solution for anything: `make -j` freezes a Linux system because the process scheduler strives to allocate the CPU/memory resources to all processes equally fairly. The _scheduler automatic task group creation_ Linux feature, now enabled by default, breaks `nice` and creates more problem trying to put a band-aid on the ill-conceived "Completely Fair Scheduler" idea. Desirable robust process scheduling is the opposite of fair. Solaris implemented the desirable robust process scheduling in 2000s, `make -j` never destabilised Solaris. `make -j` was the right way to build fast on any Unix. Switching to Linux, people got most surprised with `make -j` completely freezing the highest-end Linux systems in 2009, and had to learn that `-j` option takes an integer argument (my experience). GNU Make implemented `-l` band-aid option to work-around this Linux-only CPU scheduler problem, and `-l` is worthless for 99% of use-cases (people still hope it solves 1% of use-cases, which have been elusive, so far). And here we are now, with fundamentally completely broken "Completely Fair Scheduler", with its _scheduler automatic task group creation_ band-aid completely breaking `nice`. And a worthless `make -l` workaround for `make -j` completely destabilising Linux with its "Completely Fair Scheduler". While the deluge of Linux security mitigations severely crippling CPU performance for protection against threat vectors non-existent for 99% of Linux users. max0x7ba-atomic_queue-40624b8/html/000077500000000000000000000000001525237550500170475ustar00rootroot00000000000000max0x7ba-atomic_queue-40624b8/html/benchmarks.css000066400000000000000000000022461525237550500217020ustar00rootroot00000000000000@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Roboto+Slab:wght@100..900&display=swap'); body { visibility: hidden; background-color: black; color: white; font-family: 'Roboto Slab', serif; overflow-y: scroll; } h1, h2, h3 { margin-left: 20px; } p, li { color: #EEE; margin-left: 20px; } ul { margin-top: .5em; margin-bottom: 1em; } div.chart { height: 600px; max-width: 100%; overflow-x: auto; } p.copyright { color: #EEE; font-size: 0.8em; } h1.homepage { margin-bottom: 0em; } p.homepage { color: #EEE; margin-top: 0em; font-weight: bold; } .view-toggle { cursor: pointer; user-select: none; } svg.arrow-down-circle { fill: currentColor; width: 1em; height: 1em; color: #EEE; vertical-align: -.1em; } span.tooltip_scalability_title { font-weight: bold; font-size: 1.2em; } table.tooltip_scalability { text-align: right; } table.tooltip_scalability tbody { text-indent: .5em; } span.highcharts-caption { text-wrap: balance; overflow: visible; } .highcharts-tooltip { z-index: 100; } max0x7ba-atomic_queue-40624b8/html/benchmarks.html000066400000000000000000000202701525237550500220530ustar00rootroot00000000000000 Latency and Throughput Benchmarks

Latency Benchmark

Two threads ping-pong one 4-byte integer counter via two queue objects. The counter is decremented and sent as a reply, until reaching 0. There are 2 queues and 2 threads, the counter is initialized with 1,000,000 (each of the two threads pushes/pops 500,000 messages).

Contention is minimal here: each queue has 1 producer 1 consumer, up to 1 element in the queue -- the best case ideal scenario for a queue to demonstrate its lowest possible latency. The dependency chains on popped counter exist to prevent CPUs from pipe-lining out-of-order execution in order to measure the true round-trip latency.

This benchmark measures the total time taken for the 2 threads to exchange the 1,000,000 messages. The charts report mean, stdev, min and max of sec/round-trip latency across 33 benchmark runs.

Latency (with SMT) on AMD Ryzen 5950X

Cross-core (no SMT) latency on AMD Ryzen 5950X

Latency (with SMT) on AMD Ryzen 5825U

Cross-core (no SMT) latency on AMD Ryzen 5825U

Legacy latency (with SMT) on Intel i9-9900KS

Legacy latency (with SMT) on Intel Xeon Gold 6132

Throughput Benchmark

N producer threads push a 4-byte integer into one same queue, N consumer threads pop the integers from the queue. With SMT threads, the benchmark is run for from 1 producer and 1 consumer up to (total-number-of-cpus / 2) producers/consumers to measure the scalability of different queues. Without using SMT threads (cross-core communication only) -- up to (total-number-of-cpus / 4) producers/consumers.

There are no dependency chains on messages in producer and consumer threads in this benchmark in order to let the queues demonstrate their highest possible throughputs. The reported throughputs are higher than the inverse of latencies because of no dependency chains stalling CPU pipe-lining and out-of-order execution (as intended).

This benchmark measures the total time taken to send and receive a total of 1,000,000 messages through one queue. The charts report mean, stdev, min and max of msg/sec throughput across 33 benchmark runs.

Scalability (with SMT) on AMD Ryzen 5950X

Cross-core (no SMT) scalability on AMD Ryzen 5950X

Scalability (with SMT) on AMD Ryzen 5825U

Cross-core (no SMT) scalability on AMD Ryzen 5825U

Legacy scalability (with SMT) on Intel i9-9900KS

Legacy scalability (with SMT) on Intel Xeon Gold 6132

Systems details

AMD Ryzen 5950X system

  • OS: KDE Neon / Ubuntu 24.04 LTS, kernel 6.8.0-1051-nvidia-lowlatency (mitigations=off norandmaps noautogroup transparent_hugepage=always)
  • Compiler: gcc-14.2.0
  • atomic_queue version: commit 632bae18198d551c41020491deb45c82c55a9dc6
  • Boost version: 1.83.0
  • TBB version: 2021.11.0-2ubuntu2
  • moodycamel concurrentqueue version: commit dea078cf5b6e742cd67a0d725e36f872feca4de4
  • moodycamel readerwriterqueue version: commit 2ae710de996a1d02bbc7696b2cdff2c6078e76f8
  • xenium library version: commit f6416d30043a7d025405038d5ddd4794aaaab4a3

AMD Ryzen 5825U system

  • OS: KDE Neon / Ubuntu 24.04 LTS, kernel 6.8.0-110-lowlatency (mitigations=off norandmaps noautogroup transparent_hugepage=always)
  • Compiler: gcc-14.2.0
  • atomic_queue version: commit adea69293652d1d58aaaa25ac6a5ae3cff85cd30
  • Boost version: 1.83.0
  • TBB version: 2021.11.0-2ubuntu2
  • moodycamel concurrentqueue version: commit dea078cf5b6e742cd67a0d725e36f872feca4de4
  • moodycamel readerwriterqueue version: commit 2ae710de996a1d02bbc7696b2cdff2c6078e76f8
  • xenium library version: commit f6416d30043a7d025405038d5ddd4794aaaab4a3

Intel i9-9900KS system

  • OS: Kubuntu-18.04.4 LTS
  • Compiler: gcc-8.4.0
  • atomic_queue version: commit 7e138d21fcd4bad95e030d8d6c8b77d5a4538baa
  • Boost version: 1.65.1
  • TBB version: 2019_U7, commit 4233fef583b4f8cbf9f781311717600feaaa0694
  • moodycamel concurrentqueue version: commit dea078cf5b6e742cd67a0d725e36f872feca4de4
  • moodycamel readerwriterqueue version: commit 2ae710de996a1d02bbc7696b2cdff2c6078e76f8
  • xenium library version: commit f6416d30043a7d025405038d5ddd4794aaaab4a3

Intel Xeon Gold 6132 system

  • OS: Red Hat Enterprise Linux Server release 6.10 (Santiago)
  • Compiler: gcc-8.4.0
  • atomic_queue version: commit 7e138d21fcd4bad95e030d8d6c8b77d5a4538baa
  • Boost version: 1.65.1
  • TBB version: 2019_U7, commit 4233fef583b4f8cbf9f781311717600feaaa0694
  • moodycamel concurrentqueue version: commit dea078cf5b6e742cd67a0d725e36f872feca4de4
  • moodycamel readerwriterqueue version: commit 2ae710de996a1d02bbc7696b2cdff2c6078e76f8
  • xenium library version: commit f6416d30043a7d025405038d5ddd4794aaaab4a3

Homepage

github.com/max0x7ba/atomic_queue

max0x7ba-atomic_queue-40624b8/html/benchmarks.js000066400000000000000000000217071525237550500215310ustar00rootroot00000000000000"use strict"; // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. $(function() { Highcharts.setOptions(atomic_queue_theme); const spsc_pattern = { pattern: { path: { d: 'M 0 0 L 10 10 M 9 -1 L 11 1 M -1 9 L 1 11', strokeWidth: 4 }, width: 10, height: 10, opacity: 1 }}; const settings = { "boost::lockfree::spsc_queue": [$.extend(true, {pattern: {color: '#8E44AD'}}, spsc_pattern), 0], "moodycamel::ReaderWriterQueue": [$.extend(true, {pattern: {color: '#BA4A00'}}, spsc_pattern), 1], "pthread_spinlock": ['#58D68D', 2], "std::mutex": ['#239B56', 3], "tbb::spin_mutex": ['#3498DB', 4], "tbb::concurrent_bounded_queue": ['#9ACCED', 5], "boost::lockfree::queue": ['#AA73C2', 6], "moodycamel::ConcurrentQueue": ['#BA4A00', 7], "xenium::michael_scott_queue": ['#73C6B6', 8], "xenium::ramalhete_queue": ['#45B39D', 9], "xenium::vyukov_bounded_queue": ['#16A085', 10], "AtomicQueue": ['#FFFF00', 11], "AtomicQueueB": ['#FFFF40', 12], "AtomicQueue2": ['#FFFF80', 13], "AtomicQueueB2": ['#FFFFBF', 14], "OptimistAtomicQueue": ['#FF0000', 15], "OptimistAtomicQueueB": ['#FF4040', 16], "OptimistAtomicQueue2": ['#FF8080', 17], "OptimistAtomicQueueB2": ['#FFBFBF', 18] }; function prec0(v) { return Highcharts.numberFormat(v, 0); } function plot_scalability(div, results) { const [max_lin, max_log] = $(div).data("ylim").split(";").map(parseFloat); const modes = [ { yAxis: { type: 'linear', title: { text: 'throughput, msg/sec (linear scale)' }, max: max_lin, min: 0 }, // subtitle: {text: 'tap the chart background to switch to logarithmic scale'}, }, { yAxis: { type: 'logarithmic', title: { text: 'throughput, msg/sec (logarithmic scale)' }, max: max_log, min: 100e3 }, // subtitle: {text: 'tap the chart background to switch to linear scale'}, } ]; let mode = 0; const series = []; for(const [name, stats] of Object.entries(results)) { const s = settings[name]; if(!s) continue; series.push({ name: name, color: s[0], index: s[1], type: "column", data: stats.map(a => [a[0], a[3]]), atomic_queue_stats: stats, }); series.push({ name: `${name} StdDev`, type: 'errorbar', index: s[1], data: stats.map(a => [a[0], a[3] - a[4], a[3] + a[4]]), }); } const tooltips = []; const tooltip_formatter = function() { const n_threads = this.x; const tooltip = tooltips[n_threads]; if(tooltip) return tooltip; const data = []; for(const p of this.points) { const [n_threads, min, max, mean, stdev] = p.series.options.atomic_queue_stats[p.point.index].map(prec0); data[p.series.options.index] = { name: p.series.name, color: p.series.color, min: min, max: max, mean: mean, stdev: stdev, }; } const tbody = data.map((d) => `${d.name}: ${d.mean}${d.stdev}${d.min}${d.max}`).join('\n') return tooltips[n_threads] = ` ${n_threads} producers, ${n_threads} consumers ${tbody}
meanstdevminmax
`; }; Highcharts.chart(div, { series: series, chart: { events: { click: function() { const m = modes[mode ^= 1]; this.yAxis[0].update(m.yAxis); // this.subtitle.update(m.subtitle); } } }, // subtitle: modes[0].subtitle, yAxis: modes[0].yAxis, xAxis: { title: { text: 'number of producers, number of consumers' }, tickInterval: 1 }, tooltip: { formatter: tooltip_formatter, shared: true, }, }); } const latencyChartOptions = { xAxis: { categories: Object.keys(settings), labels: { rotation: 0 } }, yAxis: { min: 0, max: 500, tickInterval: 100, title: { text: 'latency, nanoseconds/round-trip' } }, tooltip: { formatter: function() { const s = this.series; const [min, max, mean, stdev] = s.options.atomic_queue_stats.map(prec0); return `${s.name}: mean: ${mean} stdev: ${stdev} min: ${min} max: ${max}
`; } }, }; const latencyViewOptions = { boxplot: function(results, createChartFn) { const series = []; for(const [name, s] of Object.entries(settings)) { let stats = results[name]; if(!stats) continue; const [color, index] = s; const [min, max, mean, stdev] = stats; const q1 = Math.max(min, mean - stdev); const q3 = Math.min(max, mean + stdev); series.push({ name: name, color: color, fillColor: color, type: 'boxplot', data: [[index, min, q1, mean, q3, max]], atomic_queue_stats: stats, }); } return { series: series, // subtitle: { text: 'tap the chart background to switch to bars' }, chart: { inverted: true, events: { click: createChartFn.bind(null, "bar") } }, }; }, bar: function(results, createChartFn) { const series = []; for(const [name, s] of Object.entries(settings)) { let stats = results[name]; if(!stats) continue; const [color, index] = s; const mean = stats[2]; const stdev = stats[3]; series.push({ name: name, color: color, type: 'bar', data: [[index, mean]], atomic_queue_stats: stats, }); series.push({ name: `${name} StdDev`, type: 'errorbar', data: [[index, mean - stdev, mean + stdev]], }); } return { series: series, // subtitle: { text: 'tap the chart background to switch to boxplots' }, chart: { events: { click: createChartFn.bind(null, "boxplot") } }, }; } }; function plot_latency(div, results) { function createChart(chartType) { const viewOptions = latencyViewOptions[chartType](results, createChart); Highcharts.chart(div, $.extend(true, viewOptions, latencyChartOptions)); }; createChart("bar"); }; $("div.chart").each(function() { const id = this.id; const plot_fn = id.includes("latency") ? plot_latency : plot_scalability; plot_fn(this, atomic_queue_benchmarks[id]); }); $(".view-toggle") .html((index, html) => ` ${html}`) .on("click", function() { const toggle = $(this); toggle.next().slideToggle("slow"); toggle.children("svg.arrow-down-circle").each(function() { $(this).animate( { hidden: this.hidden ^ 1 }, { step: function(f) { $(this).css("transform", `rotate(${-90 * f}deg)`); } } ); }); }); $("body").css("visibility", "visible"); }); max0x7ba-atomic_queue-40624b8/html/results.js000066400000000000000000001427401525237550500211160ustar00rootroot00000000000000"use strict"; const atomic_queue_benchmarks = { smt_scalability_9900ks: {"AtomicQueue": [[1, 52660493, 286258811, 74231130, 46923128], [2, 11670323, 12511844, 12011858, 270810], [3, 9791407, 10870735, 10354387, 423144], [4, 8124141, 8262334, 8192020, 23767], [5, 7882302, 8164594, 8058345, 45565], [6, 7536832, 7993441, 7709403, 113618], [7, 7011413, 8020563, 7552220, 427030], [8, 6291117, 7515622, 6885968, 545237]], "AtomicQueue2": [[1, 22787102, 61696929, 23153888, 2262406], [2, 11251529, 12267302, 11657086, 212493], [3, 9250720, 10001213, 9472512, 131865], [4, 7958528, 8157226, 8055508, 33266], [5, 7784153, 8097440, 7972636, 61800], [6, 7450035, 7952026, 7641924, 130961], [7, 7005546, 7995642, 7509325, 381599], [8, 6349759, 7441272, 6854003, 471089]], "AtomicQueueB": [[1, 42613077, 228034973, 48968374, 17271281], [2, 11307287, 12122517, 11654762, 192294], [3, 9978460, 11117123, 10580691, 418664], [4, 7820303, 8149391, 8038875, 49723], [5, 7393617, 7922868, 7706848, 116543], [6, 7044646, 7623977, 7432887, 119697], [7, 6771050, 7812016, 7300722, 426304], [8, 6167485, 7214447, 6685564, 449080]], "AtomicQueueB2": [[1, 31747483, 44550020, 34684489, 1949026], [2, 11004660, 11624801, 11264944, 159388], [3, 9311302, 9898647, 9585552, 81750], [4, 7583514, 8026821, 7885529, 68419], [5, 7318917, 7806120, 7600268, 122098], [6, 7004711, 7518179, 7348211, 105453], [7, 6760542, 7775829, 7294366, 408721], [8, 6203358, 7175857, 6682430, 396215]], "OptimistAtomicQueue": [[1, 487380322, 829842979, 661556071, 100346674], [2, 31797501, 32761745, 32437895, 262498], [3, 36537452, 37548890, 37008138, 364848], [4, 39195547, 39453579, 39332552, 57506], [5, 37390896, 48677211, 44454166, 2490283], [6, 41443858, 50559092, 46326029, 3930139], [7, 43825547, 53156863, 48061575, 3621601], [8, 46177415, 50602252, 47828080, 1452954]], "OptimistAtomicQueue2": [[1, 25703634, 682547965, 230538256, 211766068], [2, 21661800, 29516399, 24851671, 1493004], [3, 29291342, 33834235, 30273240, 524342], [4, 32920458, 36241653, 33343018, 441670], [5, 36830993, 43357072, 38976054, 1862089], [6, 39747081, 49741386, 44704047, 4504426], [7, 42479711, 51839802, 46362844, 3648632], [8, 43732450, 49877392, 46347786, 2371894]], "OptimistAtomicQueueB": [[1, 75661057, 738447042, 124305321, 83621261], [2, 31477141, 32474220, 32144227, 176354], [3, 36019269, 37037279, 36563374, 322208], [4, 38357209, 38905937, 38647013, 72549], [5, 36246828, 47608460, 43165102, 2491292], [6, 39494986, 49368578, 44976208, 4044505], [7, 41252863, 51655899, 46076590, 4108616], [8, 43899112, 49215349, 46213653, 1857294]], "OptimistAtomicQueueB2": [[1, 31441458, 495211858, 59246349, 27593701], [2, 21826376, 29825513, 26058597, 2081213], [3, 28756903, 34057706, 29794288, 839909], [4, 31084544, 33672715, 32858135, 485076], [5, 33366524, 40347303, 36955446, 2416293], [6, 36837801, 42786274, 39860539, 2457925], [7, 39946444, 45751323, 42359860, 2112179], [8, 41740252, 46736438, 43950268, 1704291]], "boost::lockfree::queue": [[1, 6746684, 8277185, 7092878, 418709], [2, 7312023, 7803259, 7553075, 87733], [3, 7263517, 7648842, 7476500, 91860], [4, 6359882, 7098293, 6610597, 192715], [5, 6367348, 6773852, 6457372, 46054], [6, 5927503, 6298061, 6055700, 68494], [7, 5746691, 6154693, 5964947, 83543], [8, 5331463, 5801836, 5535251, 89204]], "boost::lockfree::spsc_queue": [[1, 64923339, 78317500, 69086959, 2160846]], "moodycamel::ConcurrentQueue": [[1, 20190901, 29453011, 24985741, 1594915], [2, 14337151, 52431952, 16261043, 4078346], [3, 15291705, 43648056, 17046353, 4143492], [4, 15736506, 45837232, 18228886, 5125409], [5, 16888207, 47841058, 19245549, 5379950], [6, 16998837, 63384866, 20186438, 6382091], [7, 17716036, 66347129, 21038132, 6921929], [8, 17924728, 64375322, 22382013, 8285161]], "moodycamel::ReaderWriterQueue": [[1, 43356419, 538733018, 256503633, 185340411]], "pthread_spinlock": [[1, 23507277, 29932694, 27413691, 1797342], [2, 14270085, 18312194, 16382070, 769144], [3, 8211868, 12289865, 10189163, 1848412], [4, 6395961, 9383867, 7773828, 1275888], [5, 8442872, 10466994, 9009726, 423856], [6, 8112952, 9328919, 8527056, 234738], [7, 7189956, 8492547, 7685023, 190137], [8, 6576974, 7596251, 6917365, 230403]], "std::mutex": [[1, 5006882, 9199394, 6838493, 652022], [2, 4687459, 6598427, 5749404, 387982], [3, 4580302, 6900299, 5685428, 464037], [4, 4941923, 7100935, 6086683, 325998], [5, 5151696, 6739344, 5986755, 186929], [6, 5521016, 6571707, 5918632, 116062], [7, 5532592, 6378700, 5826170, 88618], [8, 5438188, 6181434, 5704761, 76268]], "tbb::concurrent_bounded_queue": [[1, 10925661, 14807665, 13187267, 1088087], [2, 12352037, 15166768, 13521906, 612838], [3, 11099805, 12535211, 11630738, 279433], [4, 9929811, 10656023, 10303443, 177287], [5, 9349138, 10217187, 9704186, 183365], [6, 8548656, 9516659, 8863967, 196987], [7, 7358384, 8693321, 7958661, 218257], [8, 6615544, 8013655, 7136724, 350688]], "tbb::spin_mutex": [[1, 32588344, 41937261, 36432718, 2291145], [2, 17753221, 21806602, 19845873, 1357076], [3, 7201937, 11563566, 9346899, 1335282], [4, 2900531, 6495310, 4753237, 1579671], [5, 5103017, 5929302, 5552236, 189032], [6, 4254932, 5441256, 4834876, 480630], [7, 4223732, 4907625, 4560981, 246626], [8, 3338874, 4286720, 4138009, 129870]], "xenium::michael_scott_queue": [[1, 8417342, 10161353, 9493893, 327033], [2, 8230532, 8706024, 8488596, 76740], [3, 7071683, 7702336, 7404448, 172642], [4, 6177715, 6500382, 6329812, 50090], [5, 6227656, 6844074, 6487028, 190493], [6, 6408222, 7118668, 6666732, 183381], [7, 6220683, 6728490, 6410011, 115700], [8, 5906991, 6324097, 6072896, 89071]], "xenium::ramalhete_queue": [[1, 26889784, 33285933, 31963600, 729718], [2, 22883173, 24719839, 23562698, 341416], [3, 28121330, 29464259, 28838631, 366336], [4, 33312793, 34047588, 33650956, 184508], [5, 31808107, 38717573, 34327553, 2297341], [6, 33560480, 40481895, 36597565, 2593281], [7, 34734954, 42470849, 38204151, 3109357], [8, 35105293, 44944634, 39750343, 4246943]], "xenium::vyukov_bounded_queue": [[1, 60523731, 122827707, 104853037, 23546237], [2, 17367563, 29204433, 25098906, 2910703], [3, 14333973, 16468857, 15718588, 266421], [4, 11678227, 12747022, 12409949, 196985], [5, 10112556, 11532118, 11083680, 290177], [6, 9709516, 12829017, 10969926, 1069776], [7, 9061926, 10421370, 9652587, 457388], [8, 8187699, 8591244, 8371133, 91811]]}, smt_latency_9900ks: {"AtomicQueue": [157, 171, 166, 0], "AtomicQueue2": [173, 177, 175, 0], "AtomicQueueB": [171, 184, 179, 3], "AtomicQueueB2": [175, 192, 180, 3], "OptimistAtomicQueue": [148, 160, 153, 3], "OptimistAtomicQueue2": [167, 176, 173, 1], "OptimistAtomicQueueB": [140, 154, 141, 1], "OptimistAtomicQueueB2": [149, 155, 150, 1], "boost::lockfree::queue": [310, 338, 319, 4], "boost::lockfree::spsc_queue": [129, 135, 132, 0], "moodycamel::ConcurrentQueue": [208, 254, 231, 7], "moodycamel::ReaderWriterQueue": [110, 167, 137, 12], "pthread_spinlock": [226, 308, 279, 25], "std::mutex": [411, 525, 465, 20], "tbb::concurrent_bounded_queue": [268, 307, 287, 9], "tbb::spin_mutex": [246, 309, 275, 18], "xenium::michael_scott_queue": [357, 407, 371, 6], "xenium::ramalhete_queue": [255, 282, 267, 4], "xenium::vyukov_bounded_queue": [183, 227, 212, 11]}, smt_scalability_xeon_gold_6132: {"AtomicQueue": [[1, 8058966, 85486744, 19861417, 13465781], [2, 2774121, 5150399, 3716822, 529166], [3, 2234209, 3581321, 2844019, 297103], [4, 2189691, 2797820, 2500767, 141748], [5, 2000160, 2556556, 2239114, 108475], [6, 1800361, 2193952, 1967523, 85069], [7, 1339017, 2052080, 1747440, 113355], [8, 499239, 1790395, 1251368, 376126], [9, 457147, 1554831, 1065501, 317655], [10, 499701, 1497940, 933685, 296414], [11, 471438, 1317111, 758521, 284702], [12, 472731, 1223669, 645847, 211406], [13, 475966, 1051905, 607384, 154227], [14, 447298, 915959, 542223, 81608]], "AtomicQueue2": [[1, 6014132, 112250995, 11860821, 13520637], [2, 2828684, 4803110, 3861060, 547933], [3, 2370797, 3402752, 2907770, 290882], [4, 2198966, 2893203, 2481239, 168783], [5, 1922906, 2473517, 2215197, 120928], [6, 1700174, 2163119, 1957391, 98690], [7, 1584156, 1904525, 1752509, 71870], [8, 497167, 1692471, 1211725, 399956], [9, 492465, 1637918, 1032783, 355535], [10, 498320, 1502601, 894903, 322686], [11, 496862, 1287595, 740572, 255373], [12, 479471, 1142817, 669465, 220449], [13, 490420, 1087423, 564978, 132699], [14, 484859, 853987, 561566, 95000]], "AtomicQueueB": [[1, 11312440, 21089399, 14319386, 2322974], [2, 2828641, 4395539, 3598695, 363396], [3, 2383683, 3335368, 2837469, 222254], [4, 2194149, 2838158, 2479930, 155470], [5, 1961892, 2545450, 2206488, 124696], [6, 1704523, 2207219, 1965343, 113058], [7, 1400922, 2184936, 1760002, 125320], [8, 498481, 1680613, 1093922, 406887], [9, 495736, 1581164, 956214, 328532], [10, 498850, 1444846, 840343, 308105], [11, 483922, 1277870, 700261, 269404], [12, 487609, 1134736, 616528, 192809], [13, 494557, 857638, 544687, 81207], [14, 483041, 850197, 558294, 95879]], "AtomicQueueB2": [[1, 7460755, 14951085, 10960441, 1884733], [2, 2741293, 4471488, 3421984, 442894], [3, 2351790, 3354557, 2754730, 237182], [4, 2126512, 2763650, 2451035, 148674], [5, 2033646, 2434559, 2185096, 106060], [6, 1749020, 2318698, 1968299, 112029], [7, 1352736, 1922994, 1752021, 107017], [8, 479497, 1649868, 1094885, 411721], [9, 486573, 1566955, 964595, 345537], [10, 498586, 1511963, 858856, 312525], [11, 484384, 1295858, 693007, 252815], [12, 491452, 1155658, 619410, 194677], [13, 442994, 1058050, 576966, 133949], [14, 469414, 882437, 539996, 70095]], "OptimistAtomicQueue": [[1, 56698745, 429583640, 175629468, 86409817], [2, 6408754, 11931110, 8798271, 1427113], [3, 8066359, 13129768, 10458901, 1514753], [4, 8298306, 13581897, 11250748, 1640968], [5, 8932051, 13944639, 12365031, 1196775], [6, 9446462, 14000610, 12900019, 1207077], [7, 9778505, 14314352, 13477473, 850012], [8, 9215134, 11865416, 10467114, 722175], [9, 8102279, 11617885, 10064154, 979170], [10, 7755919, 11379025, 10007986, 1069232], [11, 7809733, 11642631, 10059359, 1147829], [12, 7678745, 11785406, 10015423, 1121277], [13, 7891823, 11650001, 9852053, 1038603], [14, 7931500, 12177433, 9759040, 1154347]], "OptimistAtomicQueue2": [[1, 13352047, 166577270, 79006910, 30513135], [2, 5809820, 10117510, 7296714, 983486], [3, 7359997, 12559722, 9306742, 1644149], [4, 7729367, 12734246, 10474524, 1667974], [5, 8256529, 13316977, 11173176, 1704466], [6, 8427196, 13658790, 12145214, 1423602], [7, 8972407, 13954602, 12800483, 941189], [8, 8306345, 11031293, 10007828, 701969], [9, 7781010, 11330468, 9562517, 884767], [10, 7270803, 10842898, 9535466, 1017074], [11, 7306288, 11400679, 9630510, 1113066], [12, 7615179, 10905131, 9599169, 993126], [13, 7768507, 10951419, 9495167, 927146], [14, 7939789, 11593058, 9363004, 1002168]], "OptimistAtomicQueueB": [[1, 18005087, 461920680, 43299949, 58590278], [2, 7918458, 13244281, 10554149, 1412045], [3, 8566563, 13834992, 11664903, 1605994], [4, 8776970, 13733282, 12143773, 1339924], [5, 9080446, 14486100, 12540476, 1136728], [6, 9031510, 14144692, 12968928, 1144476], [7, 10260978, 14264523, 13401276, 578048], [8, 7860310, 11677713, 10338906, 733228], [9, 8037599, 11536671, 10046625, 980055], [10, 7666387, 11483247, 9974741, 1077884], [11, 7773342, 11518370, 10097099, 1148028], [12, 7708761, 11962418, 10143672, 1169123], [13, 7725882, 11194790, 9873433, 1054815], [14, 7855188, 11275014, 9646028, 1118131]], "OptimistAtomicQueueB2": [[1, 11400233, 27116940, 21484544, 4456865], [2, 6565091, 11622771, 9409379, 1434258], [3, 7435746, 12559877, 10522656, 1516744], [4, 7776622, 12750010, 10260559, 1589501], [5, 7964167, 13270039, 11437117, 1346754], [6, 8849023, 13722187, 11756287, 1234538], [7, 8997751, 13835002, 12188309, 1192711], [8, 7756541, 10713723, 9591582, 747240], [9, 7314675, 11263412, 9209092, 948300], [10, 7352487, 10748888, 9264018, 1017641], [11, 7141749, 10896155, 9260621, 1076754], [12, 7063191, 10471776, 9248261, 984638], [13, 7358863, 10459869, 9071272, 961738], [14, 7490258, 10858481, 8986939, 1056811]], "boost::lockfree::queue": [[1, 1934482, 3335118, 2968513, 267417], [2, 2020556, 2714547, 2380363, 166177], [3, 1766944, 2481333, 2277536, 154223], [4, 1927815, 2468139, 2215008, 117101], [5, 1913080, 2341598, 2154795, 109277], [6, 1737937, 2239840, 2067750, 101330], [7, 1685532, 2158493, 1965928, 102944], [8, 476300, 1588449, 1057234, 312540], [9, 504256, 1466335, 882380, 236710], [10, 495183, 1249404, 733720, 210184], [11, 496163, 1173368, 615041, 163022], [12, 483550, 1080338, 576774, 125017], [13, 479449, 942173, 552191, 90608], [14, 444801, 789696, 538890, 64254]], "boost::lockfree::spsc_queue": [[1, 21589958, 35612264, 26701941, 3432048]], "moodycamel::ConcurrentQueue": [[1, 5031299, 13152497, 7231628, 2054206], [2, 3106244, 21840508, 5669989, 2480503], [3, 4039871, 18242902, 7384110, 3603375], [4, 4487792, 21071736, 8181695, 3838323], [5, 5209580, 24290350, 9672263, 5127482], [6, 5202954, 24160723, 8472347, 4567541], [7, 5415473, 26165080, 9754203, 5527832], [8, 4290069, 18526789, 7646915, 3740996], [9, 4479809, 35353993, 7585632, 6194437], [10, 4727037, 23405328, 7617742, 4615300], [11, 4631325, 30337177, 8709014, 6268210], [12, 4473005, 27300920, 8026322, 5175124], [13, 4555975, 27789293, 8331006, 5575842], [14, 4102221, 43489396, 11921415, 9787758]], "moodycamel::ReaderWriterQueue": [[1, 12713140, 254602528, 122153284, 81114699]], "pthread_spinlock": [[1, 4306958, 8535650, 5905333, 840994], [2, 2839333, 4736775, 4053457, 456568], [3, 2548628, 3614912, 3201805, 248819], [4, 2087992, 2959824, 2605329, 165780], [5, 1983329, 2542321, 2248467, 138984], [6, 1783286, 2276326, 1986022, 112386], [7, 1536216, 2018246, 1766854, 112798], [8, 507415, 1499893, 1072692, 193480], [9, 501385, 1152617, 766700, 218876], [10, 489327, 1025270, 609721, 149499], [11, 497072, 858980, 604787, 120507], [12, 475489, 849693, 593343, 102672], [13, 463691, 888711, 574088, 96224], [14, 373441, 833012, 549424, 69983]], "std::mutex": [[1, 442267, 6858037, 5283864, 1863950], [2, 4162864, 4959039, 4478520, 180618], [3, 2575706, 3420067, 2946085, 152139], [4, 2601420, 3137460, 2858986, 96306], [5, 3392974, 3797099, 3577014, 80921], [6, 4370258, 4891290, 4579916, 108823], [7, 4837222, 6248120, 5845232, 326581], [8, 4675007, 7221265, 6303575, 552163], [9, 4517060, 6675754, 5604113, 611225], [10, 4450885, 6593358, 5396274, 618943], [11, 4666608, 6758794, 5363476, 530564], [12, 4662177, 7071927, 5362666, 566952], [13, 4496056, 7270498, 5446862, 629130], [14, 4471558, 7214091, 5489034, 703952]], "tbb::concurrent_bounded_queue": [[1, 2741938, 6390144, 4991431, 1081767], [2, 3694771, 5634833, 5092675, 420218], [3, 3475746, 4391484, 4044394, 228584], [4, 2964563, 3890751, 3477907, 203006], [5, 2600081, 3341203, 3069347, 157629], [6, 2448135, 3072604, 2752748, 131448], [7, 2331329, 2770486, 2526461, 106497], [8, 1032645, 2367531, 1609048, 398019], [9, 768399, 2133918, 1378943, 297095], [10, 886747, 1960986, 1287592, 241557], [11, 852994, 1572988, 1213625, 141077], [12, 905349, 1536817, 1207538, 119201], [13, 672137, 1425158, 1150131, 125239], [14, 568180, 1255046, 1002357, 146505]], "tbb::spin_mutex": [[1, 21210988, 25406844, 23208893, 942349], [2, 7466066, 15461111, 13086723, 1647857], [3, 6548025, 10474300, 8916823, 708177], [4, 3503017, 7794311, 6294651, 966794], [5, 2153878, 5637630, 4544841, 631651], [6, 1922531, 4200007, 3254751, 437747], [7, 1534161, 2793915, 2246670, 284381], [8, 767030, 1603044, 1236223, 188171], [9, 664685, 1136499, 875213, 112513], [10, 503884, 920905, 710065, 93160], [11, 429966, 825839, 612632, 95126], [12, 328981, 741818, 536929, 89893], [13, 360477, 620612, 498964, 64207], [14, 343378, 562153, 446904, 49826]], "xenium::michael_scott_queue": [[1, 1770874, 4922580, 3393287, 798045], [2, 1987279, 3672290, 2760207, 374957], [3, 2000056, 2824672, 2385886, 152176], [4, 1827185, 2416437, 2127391, 115719], [5, 1702595, 2145286, 1919895, 91485], [6, 1536137, 1930985, 1748041, 79961], [7, 1426820, 1834610, 1643576, 81903], [8, 498697, 1628919, 1118063, 276128], [9, 452869, 1380436, 834411, 255185], [10, 494632, 1118414, 682696, 203418], [11, 490195, 1028229, 585071, 155611], [12, 484824, 889727, 574498, 120673], [13, 497397, 848913, 548659, 87463], [14, 498987, 845423, 541580, 77173]], "xenium::ramalhete_queue": [[1, 3243963, 16649455, 9804049, 4323515], [2, 4857860, 10891091, 6531145, 1101794], [3, 5681860, 10963393, 7152903, 886425], [4, 6453166, 11687397, 8090624, 1227694], [5, 7515932, 11465916, 8472107, 1003833], [6, 7603204, 11843149, 8816720, 1186933], [7, 7778687, 11444208, 8969099, 1200481], [8, 6620873, 8934784, 7893553, 554709], [9, 7110063, 8505487, 7938195, 307016], [10, 7332561, 8873905, 8083197, 302364], [11, 7650290, 8835820, 8195968, 282168], [12, 7663185, 8824693, 8282478, 271141], [13, 7786817, 9767663, 8710633, 459364], [14, 7888409, 11483491, 9499927, 1182102]], "xenium::vyukov_bounded_queue": [[1, 6620293, 58918128, 36338730, 16662346], [2, 3698951, 10319122, 6978079, 1806086], [3, 3321190, 5064399, 4427496, 329624], [4, 3526724, 4346643, 3923541, 164522], [5, 3316072, 3924131, 3551537, 117605], [6, 3114542, 3481877, 3279592, 91098], [7, 2784557, 3242623, 3020950, 108825], [8, 1278721, 2800348, 1844408, 521532], [9, 1103213, 2357968, 1486304, 324785], [10, 1025767, 1973106, 1342701, 256232], [11, 732921, 1613235, 1194292, 156458], [12, 494928, 1408766, 1053087, 242590], [13, 479926, 1216268, 994219, 184954], [14, 433322, 1122701, 804412, 232255]]}, smt_latency_xeon_gold_6132: {"AtomicQueue": [231, 479, 321, 72], "AtomicQueue2": [307, 556, 394, 86], "AtomicQueueB": [344, 588, 423, 80], "AtomicQueueB2": [403, 711, 491, 111], "OptimistAtomicQueue": [283, 459, 346, 55], "OptimistAtomicQueue2": [315, 562, 392, 78], "OptimistAtomicQueueB": [321, 507, 378, 69], "OptimistAtomicQueueB2": [345, 572, 409, 84], "boost::lockfree::queue": [726, 1151, 869, 154], "boost::lockfree::spsc_queue": [269, 507, 356, 69], "moodycamel::ConcurrentQueue": [427, 789, 547, 120], "moodycamel::ReaderWriterQueue": [207, 552, 328, 94], "pthread_spinlock": [623, 1899, 946, 308], "std::mutex": [1859, 3202, 2340, 463], "tbb::concurrent_bounded_queue": [565, 993, 683, 155], "tbb::spin_mutex": [561, 1069, 741, 156], "xenium::michael_scott_queue": [733, 1255, 879, 196], "xenium::ramalhete_queue": [493, 887, 596, 139], "xenium::vyukov_bounded_queue": [436, 685, 521, 89]}, // results/632bae1.ryzen_5950x.smt0.20260914T154451.gcc-14.16.33.txt cc_scalability_ryzen_5950x: {"AtomicQueue": [[1, 110504599, 149974196, 142822534, 7254667], [2, 9874586, 10369855, 10114714, 226734], [3, 8321936, 8831126, 8579215, 231902], [4, 6597557, 7031174, 6811619, 206062], [5, 3146089, 4341966, 3702339, 558759], [6, 2594602, 4034208, 3153815, 584605], [7, 2951358, 3255561, 3089631, 123991], [8, 2886571, 3125581, 3007158, 111933]], "AtomicQueue2": [[1, 55136387, 139707536, 127906269, 14612544], [2, 9945877, 10559192, 10248004, 289715], [3, 8400885, 8933223, 8664162, 252376], [4, 6673649, 7101951, 6885519, 204774], [5, 3127846, 4289511, 3665503, 550428], [6, 2563628, 3987299, 3151872, 614834], [7, 2883678, 3277709, 3056623, 158798], [8, 2879064, 3025120, 2951871, 61697]], "AtomicQueueB": [[1, 48803586, 54918678, 50589855, 992047], [2, 9485964, 10326970, 9823536, 245867], [3, 8164981, 8756246, 8443699, 235315], [4, 6537477, 6921506, 6727587, 182824], [5, 3093785, 4375285, 3685506, 577346], [6, 2566567, 3999451, 3165957, 602300], [7, 2908071, 3226679, 3055977, 136242], [8, 2859925, 3065216, 2964105, 93007]], "AtomicQueueB2": [[1, 47506656, 89120789, 71558239, 8717707], [2, 9838067, 10470191, 10143827, 289868], [3, 8305592, 8852546, 8577925, 259955], [4, 6604799, 6984145, 6792679, 178592], [5, 3072340, 4334063, 3648797, 588837], [6, 2546669, 3992778, 3115713, 595608], [7, 2889219, 3274435, 3049007, 156870], [8, 2835020, 3023917, 2929727, 85518]], "OptimistAtomicQueue": [[1, 1182163939, 1478106807, 1206194141, 43328935], [2, 46942286, 59845468, 52990898, 2889428], [3, 58500681, 60915146, 59160275, 518999], [4, 59167369, 66296737, 62745426, 3519006], [5, 33113782, 51260745, 38283651, 5598903], [6, 34088413, 35232978, 34733224, 368082], [7, 39903721, 40326795, 40074962, 100090], [8, 41142645, 59100687, 46022066, 4924071]], "OptimistAtomicQueue2": [[1, 106819821, 108486198, 107459052, 316812], [2, 43310977, 48951581, 45442501, 1985287], [3, 49930621, 57614173, 52997706, 3039612], [4, 57853841, 59298233, 58584740, 613594], [5, 31388265, 34411553, 32305667, 991020], [6, 32115660, 33012395, 32681930, 283251], [7, 37600364, 37961821, 37755289, 68251], [8, 39723356, 51339378, 44538886, 4732530]], "OptimistAtomicQueueB": [[1, 493767808, 1120517150, 595750578, 131504075], [2, 46443888, 52534561, 48885817, 1397371], [3, 56835384, 58726664, 57997916, 642789], [4, 59421732, 66349125, 62709530, 3232334], [5, 32995282, 44355634, 35954078, 3153921], [6, 33991697, 35001242, 34496998, 323258], [7, 38917611, 40263213, 39610565, 402217], [8, 41128296, 59734829, 46604771, 5596468]], "OptimistAtomicQueueB2": [[1, 149888103, 154082287, 151579470, 990201], [2, 41940919, 46260068, 44084785, 1982416], [3, 53108758, 57019874, 55041417, 1894442], [4, 58913821, 60101914, 59458832, 452099], [5, 31269958, 32674875, 31690552, 505933], [6, 31905171, 33061923, 32596044, 369821], [7, 36870683, 37400385, 37084931, 92122], [8, 38885417, 48768267, 43500573, 4557641]], "boost::lockfree::queue": [[1, 7712397, 7893367, 7801713, 44281], [2, 5805768, 5957963, 5890173, 35999], [3, 4790992, 4967435, 4874315, 72589], [4, 4335688, 4389386, 4363939, 10555], [5, 2606262, 2916042, 2757009, 126099], [6, 1424196, 3005804, 2153065, 725908], [7, 1365888, 2956573, 2128236, 749398], [8, 1153571, 2727881, 1522040, 381813]], "boost::lockfree::spsc_queue": [[1, 112172753, 118479704, 114179154, 1436565]], "moodycamel::ConcurrentQueue": [[1, 15950828, 16355915, 16174321, 107046], [2, 32094662, 39807605, 36417835, 2259645], [3, 47696402, 65944983, 54553611, 4576606], [4, 75455185, 116139980, 94899423, 10221750], [5, 82079840, 194204694, 147555690, 37167363], [6, 127386345, 225238056, 197755455, 27655452], [7, 161193361, 243216069, 222603823, 19200758], [8, 225553084, 283946387, 256093800, 15899502]], "moodycamel::ReaderWriterQueue": [[1, 48791585, 976942783, 201037128, 233941147]], "pthread_spinlock": [[1, 17681749, 18278925, 17930768, 165747], [2, 1388200, 9267876, 4629608, 2974435], [3, 589756, 7340586, 3356499, 2556208], [4, 815207, 2735195, 1541551, 500976], [5, 727133, 3828977, 2384448, 1033892], [6, 1954695, 3699311, 2614625, 596407], [7, 2765555, 3092343, 2952560, 120491], [8, 2645649, 3008051, 2830356, 155967]], "std::mutex": [[1, 3476917, 5933545, 4344947, 727588], [2, 11977382, 14202287, 13116752, 552595], [3, 6633729, 7284621, 6918774, 173769], [4, 6585101, 7934806, 6882987, 238857], [5, 3290942, 3561686, 3387008, 69346], [6, 2926958, 3468060, 3006891, 76081], [7, 2866410, 3359282, 3088011, 177889], [8, 2745993, 3541779, 3121708, 328625]], "tbb::concurrent_bounded_queue": [[1, 8646937, 8857993, 8808115, 29536], [2, 11084634, 11168287, 11137795, 16821], [3, 7969857, 8091577, 8027702, 49320], [4, 6411427, 6637498, 6523681, 104135], [5, 3046614, 4118368, 3487926, 455082], [6, 2783994, 3726048, 3152160, 372200], [7, 2654853, 3276761, 2920785, 262051], [8, 2779098, 2819166, 2797858, 11776]], "tbb::spin_mutex": [[1, 37922926, 39875160, 38619928, 356958], [2, 15850956, 16604732, 16271194, 255540], [3, 11868245, 12104554, 11989402, 76583], [4, 9919344, 10611213, 10209761, 175475], [5, 5482156, 6016321, 5776653, 196635], [6, 4734223, 5142018, 4964400, 147352], [7, 4348565, 4953819, 4557707, 174402], [8, 4039686, 4306685, 4174089, 109055]], "xenium::michael_scott_queue": [[1, 13324478, 13842058, 13579812, 169889], [2, 9156969, 9548812, 9321145, 130479], [3, 7522814, 7677458, 7593432, 47118], [4, 5796409, 5977797, 5844226, 30576], [5, 3588554, 4686089, 3935240, 395377], [6, 3285376, 3947394, 3535213, 242048], [7, 3150126, 3337826, 3225511, 50664], [8, 2342392, 2797188, 2572527, 220316]], "xenium::ramalhete_queue": [[1, 22723957, 84793114, 71419156, 11063458], [2, 32824166, 52899720, 44052636, 6732415], [3, 38917592, 45631463, 41935272, 1634212], [4, 43418294, 53137266, 49893887, 2536824], [5, 23184441, 37910002, 30520805, 6896287], [6, 25979284, 39232261, 32649883, 6087241], [7, 27752733, 40410392, 33997549, 5606984], [8, 28910530, 50746869, 39992839, 10120541]], "xenium::vyukov_bounded_queue": [[1, 197836117, 315841850, 308693455, 14309877], [2, 21856337, 26166241, 22895452, 821541], [3, 12307225, 14380567, 13307011, 757408], [4, 14412981, 15820078, 14992328, 444764], [5, 6430307, 12782617, 9255378, 2652249], [6, 6952511, 8470560, 7529166, 521612], [7, 7040905, 7561429, 7314473, 144528], [8, 6522848, 10659852, 8464624, 1928169]]}, // results/632bae1.ryzen_5950x.smt0.20260914T154451.gcc-14.16.33.txt cc_latency_ryzen_5950x: {"AtomicQueue": [94, 114, 108, 5], "AtomicQueue2": [102, 118, 113, 3], "AtomicQueueB": [117, 119, 118, 0], "AtomicQueueB2": [119, 121, 120, 0], "OptimistAtomicQueue": [99, 101, 100, 0], "OptimistAtomicQueue2": [101, 105, 104, 0], "OptimistAtomicQueueB": [76, 94, 87, 3], "OptimistAtomicQueueB2": [101, 103, 102, 0], "boost::lockfree::queue": [210, 214, 211, 0], "boost::lockfree::spsc_queue": [132, 135, 133, 0], "moodycamel::ConcurrentQueue": [166, 168, 167, 0], "moodycamel::ReaderWriterQueue": [115, 115, 115, 0], "pthread_spinlock": [225, 230, 227, 1], "std::mutex": [439, 456, 446, 4], "tbb::concurrent_bounded_queue": [291, 297, 293, 1], "tbb::spin_mutex": [201, 205, 201, 0], "xenium::michael_scott_queue": [256, 259, 257, 0], "xenium::ramalhete_queue": [135, 138, 136, 0], "xenium::vyukov_bounded_queue": [138, 146, 143, 2]}, // results/632bae1.ryzen_5950x.smt1.20260914T121940.gcc-14.32.33.txt smt_scalability_ryzen_5950x: {"AtomicQueue": [[1, 115118153, 149702316, 142671857, 5837981], [2, 9868716, 10372886, 10114169, 227838], [3, 8334236, 8863982, 8580467, 233115], [4, 6594554, 7052396, 6811709, 204951], [5, 3148565, 4351851, 3703742, 559843], [6, 2595951, 4035888, 3189394, 619942], [7, 2956415, 3261309, 3092506, 128244], [8, 2888541, 3134980, 3006489, 111106], [9, 2746223, 2977524, 2877270, 80387], [10, 2771812, 2999385, 2867793, 73277], [11, 2780634, 2968388, 2862528, 71945], [12, 2653457, 2882239, 2770850, 98829], [13, 2515437, 2854431, 2675327, 150621], [14, 2362051, 2819880, 2572270, 206550], [15, 2353081, 2837730, 2565204, 204719], [16, 2252788, 2744088, 2496198, 240381]], "AtomicQueue2": [[1, 71164969, 139645693, 128541214, 9969886], [2, 9925532, 10546169, 10242379, 293285], [3, 8395146, 8935404, 8663476, 251830], [4, 6673593, 7118822, 6885671, 204604], [5, 3113186, 4292886, 3621913, 524660], [6, 2563846, 3983552, 3134776, 598924], [7, 2892734, 3294369, 3064635, 165989], [8, 2879287, 3029376, 2953654, 60825], [9, 2697910, 2941690, 2833145, 78828], [10, 2757615, 2989645, 2848759, 78756], [11, 2735329, 2953763, 2833197, 91506], [12, 2687767, 2860313, 2772658, 73947], [13, 2533659, 2831808, 2676153, 128344], [14, 2388489, 2820547, 2575476, 184318], [15, 2385350, 2811745, 2575845, 187904], [16, 2282625, 2726608, 2498746, 214403]], "AtomicQueueB": [[1, 49067688, 52747400, 50073542, 632140], [2, 9474125, 10336307, 9868000, 262128], [3, 8103518, 8729355, 8427941, 226580], [4, 6533873, 6931557, 6726499, 180542], [5, 3092911, 4334515, 3664834, 577293], [6, 2567191, 3991756, 3135821, 595122], [7, 2907703, 3216382, 3050240, 135355], [8, 2858498, 3070350, 2962652, 93842], [9, 2696817, 2916169, 2828931, 64422], [10, 2767270, 2948504, 2840127, 54368], [11, 2731878, 2957839, 2828284, 89954], [12, 2655019, 2862999, 2759726, 91179], [13, 2512953, 2835783, 2667049, 144503], [14, 2381358, 2797661, 2573429, 189033], [15, 2370439, 2840177, 2584517, 210188], [16, 2270249, 2748401, 2506286, 231277]], "AtomicQueueB2": [[1, 47733119, 88839017, 72135015, 8611384], [2, 9819255, 10467463, 10133595, 294530], [3, 8300775, 8874786, 8577104, 260662], [4, 6598895, 6988775, 6791216, 178196], [5, 3070647, 4336275, 3629948, 575908], [6, 2547116, 3990391, 3137261, 620925], [7, 2889166, 3283471, 3046919, 154555], [8, 2834881, 3024044, 2931884, 83651], [9, 2693194, 2904655, 2807480, 65618], [10, 2740683, 2911712, 2813096, 53428], [11, 2784007, 2940964, 2852927, 48045], [12, 2752039, 2868878, 2812549, 45516], [13, 2605440, 2855902, 2728696, 100952], [14, 2444327, 2798770, 2615090, 149372], [15, 2418238, 2829938, 2598942, 173369], [16, 2296670, 2752110, 2524473, 222460]], "OptimistAtomicQueue": [[1, 1185414992, 2039832618, 1227060008, 135547144], [2, 47127758, 60914579, 52885202, 2796189], [3, 58494624, 60813388, 59198563, 525163], [4, 59146932, 66428810, 62468254, 3268147], [5, 33051520, 51184711, 37890639, 5151800], [6, 34123413, 35227554, 34795840, 336018], [7, 39247384, 40291391, 40074764, 158743], [8, 41182919, 51047748, 45892959, 4691636], [9, 40701934, 45812895, 43168381, 2149662], [10, 39766448, 48369647, 43657087, 3788734], [11, 44110596, 53387435, 48434242, 4269569], [12, 43195783, 58626417, 49965617, 6722079], [13, 43314630, 63529853, 50085573, 6812599], [14, 43027166, 57561343, 49793441, 6624024], [15, 45745738, 62298110, 53197986, 7406593], [16, 45717089, 64954932, 55257963, 9513350]], "OptimistAtomicQueue2": [[1, 106547019, 108140941, 107303951, 321919], [2, 43297363, 48789657, 45451885, 2033402], [3, 49895917, 57660814, 52668600, 2773795], [4, 57742301, 59323385, 58546525, 662717], [5, 31366154, 34456858, 32477538, 1171880], [6, 32086467, 33002916, 32640435, 277176], [7, 37642441, 37899210, 37743980, 58953], [8, 39772284, 50942665, 44510966, 4700081], [9, 37259510, 42702781, 39965181, 2485750], [10, 37473430, 44424027, 40761985, 3222275], [11, 42621368, 48986529, 45586974, 2682006], [12, 41982526, 53134783, 47075308, 5076440], [13, 41005393, 53694486, 46915303, 5881464], [14, 40715806, 54091355, 46918370, 6130268], [15, 43047422, 56957496, 49770271, 6603900], [16, 43283121, 59327749, 51245229, 7909093]], "OptimistAtomicQueueB": [[1, 501744991, 1141962455, 634531283, 190387260], [2, 46560462, 52492921, 49171246, 1318615], [3, 56817559, 61513768, 58135537, 735648], [4, 59401119, 66466427, 62754179, 3238715], [5, 32976959, 48665599, 36377144, 3940579], [6, 33957381, 34990894, 34453513, 344569], [7, 38944998, 40332601, 39585335, 427237], [8, 41140614, 59566886, 46609260, 5591281], [9, 40376079, 46482599, 42989637, 2277053], [10, 39856137, 47822005, 43425223, 3495285], [11, 44174741, 55437487, 48204709, 4052559], [12, 43639278, 61348812, 50027213, 6475454], [13, 43664642, 57305037, 49828612, 6146808], [14, 43403215, 58719141, 49944562, 6451681], [15, 45814332, 61583199, 53305390, 7159600], [16, 46060082, 65153960, 55468845, 9398459]], "OptimistAtomicQueueB2": [[1, 150250903, 601936944, 169784395, 81744893], [2, 41887145, 46109055, 43946467, 1913216], [3, 53024363, 57119142, 55017474, 1888143], [4, 58865375, 60165736, 59444446, 469024], [5, 31285316, 32636816, 31641535, 485551], [6, 31855534, 33039039, 32561563, 387436], [7, 36845022, 37332098, 37089743, 90058], [8, 38850656, 48128941, 43445985, 4527275], [9, 36843412, 41828262, 39257676, 2167229], [10, 37183957, 44352212, 40236815, 2982300], [11, 42410610, 47640024, 44887449, 2384385], [12, 41633608, 51726648, 46437581, 4738463], [13, 40821606, 52681677, 46510868, 5662122], [14, 40622492, 53425411, 46826112, 6099247], [15, 42924622, 57035167, 49814698, 6775714], [16, 43126978, 59395263, 51215554, 8040313]], "boost::lockfree::queue": [[1, 7687125, 7904374, 7801684, 41395], [2, 5824633, 6008386, 5889777, 37801], [3, 4787513, 4990735, 4876152, 75252], [4, 4331739, 4387629, 4361961, 12616], [5, 2607464, 2914431, 2745775, 121072], [6, 1427069, 3005181, 2162991, 736483], [7, 1362299, 2974585, 2122728, 744730], [8, 1152987, 2746793, 1549850, 434027], [9, 1387899, 1955099, 1549954, 203737], [10, 1500498, 2035573, 1757041, 200569], [11, 1612825, 2008617, 1820863, 99540], [12, 1626127, 1948031, 1750546, 77109], [13, 1600709, 1843409, 1657318, 38392], [14, 1532928, 1735125, 1598055, 50442], [15, 1532307, 1600848, 1575690, 14101], [16, 1489707, 1537148, 1508984, 14023]], "boost::lockfree::spsc_queue": [[1, 112166210, 117613263, 114433550, 1567096]], "moodycamel::ConcurrentQueue": [[1, 15856596, 16787172, 16138201, 128358], [2, 30278232, 38904826, 36922804, 1918107], [3, 45048585, 67211146, 55614361, 4586019], [4, 78811799, 109568809, 96520001, 8227789], [5, 79239947, 192463335, 149244831, 34927145], [6, 138425094, 225970955, 202049760, 20377026], [7, 178322743, 241305792, 223163661, 13615133], [8, 201544583, 286868102, 252249734, 21388502], [9, 214720710, 295180450, 255898562, 17049617], [10, 201996873, 318577636, 263970574, 28643161], [11, 180217215, 296025108, 233885943, 29757638], [12, 130880881, 318692878, 192785547, 36825143], [13, 184324550, 373221648, 261357318, 41908838], [14, 255687300, 402146562, 337179046, 32101927], [15, 324847389, 501071226, 439779005, 38643513], [16, 395096180, 576757296, 508298322, 29971329]], "moodycamel::ReaderWriterQueue": [[1, 78862328, 947525550, 321792777, 206225715]], "pthread_spinlock": [[1, 17645826, 18292577, 17924868, 164003], [2, 1219329, 8434057, 4563625, 2953086], [3, 625762, 6683971, 3340882, 2555327], [4, 810983, 2816172, 1547531, 534951], [5, 775790, 3949653, 2602522, 1031557], [6, 1958971, 3687299, 2597011, 589217], [7, 2769234, 3092101, 2953828, 121163], [8, 2639783, 3018877, 2831167, 157291], [9, 2189916, 2913325, 2548319, 248223], [10, 2187809, 2776361, 2551597, 189773], [11, 1928139, 2752602, 2561523, 165090], [12, 2035492, 2602699, 2454692, 147484], [13, 1921920, 2533121, 2294436, 147942], [14, 1926776, 2290850, 2137198, 87973], [15, 1847970, 2086162, 1961616, 68525], [16, 1595516, 1820693, 1697122, 97412]], "st::lockfree::queue": [[9, 1844269, 1953167, 1897060, 28807]], "std::mutex": [[1, 3374678, 6260452, 4137965, 692468], [2, 12002545, 14181887, 13006233, 524631], [3, 6708280, 7382490, 6985217, 155066], [4, 6598763, 7147897, 6868842, 200517], [5, 3289431, 3579706, 3406835, 70129], [6, 2907221, 3432371, 3003296, 76128], [7, 2877292, 3367163, 3106020, 188725], [8, 2761363, 3869798, 3132574, 332881], [9, 2656871, 2926169, 2800522, 88175], [10, 2550511, 2763875, 2650297, 45785], [11, 2567043, 2909948, 2673287, 60330], [12, 2488663, 2752411, 2626390, 61419], [13, 2384582, 2588715, 2467213, 47471], [14, 2322954, 2433455, 2381012, 34569], [15, 2354447, 2458666, 2407663, 31176], [16, 2262862, 2374306, 2315417, 31479]], "tbb::concurrent_bounded_queue": [[1, 8730474, 8861324, 8809045, 23068], [2, 11080680, 11195342, 11133883, 18213], [3, 7956583, 8109764, 8022012, 51574], [4, 6411219, 6645840, 6521773, 103734], [5, 3046213, 4124711, 3516351, 478992], [6, 2783944, 3730920, 3150506, 372115], [7, 2645526, 3272468, 2915002, 255991], [8, 2777220, 2828944, 2795324, 13693], [9, 2614111, 2916764, 2772556, 112504], [10, 2708408, 2988229, 2843020, 81700], [11, 2655379, 2984407, 2758776, 102815], [12, 2553533, 2988670, 2674323, 116500], [13, 2479909, 2823732, 2629031, 141511], [14, 2379926, 2801404, 2560898, 178222], [15, 2340781, 2685251, 2487522, 141300], [16, 2255463, 2540832, 2398561, 135986]], "tbb::spin_mutex": [[1, 36954664, 39461645, 37850693, 489138], [2, 15903203, 16624187, 16260363, 239670], [3, 11874823, 12119159, 11981749, 77892], [4, 9936133, 10610402, 10208625, 204184], [5, 5456467, 5995403, 5770194, 195794], [6, 4718718, 5142339, 4959498, 152453], [7, 4346714, 4982591, 4558720, 179550], [8, 4045709, 4335794, 4180693, 119339], [9, 3988837, 4680382, 4445652, 137073], [10, 3619643, 4531240, 4267677, 204901], [11, 3484791, 4327365, 4059316, 269625], [12, 3320051, 3815323, 3629732, 138522], [13, 3195066, 3694677, 3417119, 157738], [14, 2935438, 3605438, 3261237, 184827], [15, 2992937, 3332761, 3167755, 74809], [16, 2857108, 3033435, 2953812, 60386]], "xenium::michael_scott_queue": [[1, 13305003, 13815767, 13576646, 165513], [2, 9153920, 9488813, 9317318, 118306], [3, 7520919, 7721273, 7595235, 51418], [4, 5793763, 5915841, 5846049, 27382], [5, 3594317, 4670471, 4051553, 472551], [6, 3293135, 3947597, 3515116, 218990], [7, 3139247, 3337963, 3217472, 47878], [8, 2339821, 2807208, 2573551, 220244], [9, 2798640, 2940861, 2866136, 29511], [10, 2793186, 2924802, 2838574, 26806], [11, 2723255, 2915457, 2807889, 61708], [12, 2573576, 2797794, 2671075, 76203], [13, 2502975, 2711854, 2598786, 67792], [14, 2391604, 2674067, 2522497, 107912], [15, 2316817, 2642750, 2472581, 140610], [16, 2203635, 2546011, 2367691, 146465]], "xenium::ramalhete_queue": [[1, 21927980, 81134812, 68178616, 10690850], [2, 33021998, 52789222, 41015168, 6124354], [3, 40026238, 44884547, 42300222, 1387869], [4, 45673387, 53171622, 49627985, 2106044], [5, 22677980, 37903852, 30494125, 7072778], [6, 25555795, 39322584, 32774555, 6301391], [7, 27199233, 41048909, 34522569, 6097431], [8, 28853682, 51505380, 40217441, 10545232], [9, 32714044, 36584905, 34441560, 1355797], [10, 34363769, 41959801, 37861635, 2981065], [11, 35648354, 43329557, 39552509, 2571937], [12, 37435237, 44345879, 40864683, 2275769], [13, 37782638, 44582901, 41100198, 1799813], [14, 37884508, 44535162, 41390385, 1723834], [15, 37431230, 44736877, 41586618, 2331435], [16, 36730583, 44712771, 41930026, 2683522]], "xenium::vyukov_bounded_queue": [[1, 201583991, 316216369, 307116230, 17773434], [2, 21814942, 26490912, 22951696, 897524], [3, 12193784, 14305813, 13318922, 724415], [4, 14455557, 15819993, 14975974, 438466], [5, 6587156, 12679430, 9583731, 2708137], [6, 6983030, 8530438, 7594266, 543509], [7, 7071080, 7546048, 7328950, 145760], [8, 6502791, 10519637, 8404690, 1874104], [9, 6633500, 7243687, 6861911, 201491], [10, 6802334, 7797089, 7244562, 385940], [11, 7150955, 7705599, 7335802, 153387], [12, 7204633, 7697272, 7488632, 99820], [13, 6873127, 7475271, 7189033, 167468], [14, 6942675, 7550656, 7239339, 209895], [15, 7036215, 7373728, 7184020, 98629], [16, 6785480, 7091134, 6969135, 100992]]}, // results/632bae1.ryzen_5950x.smt1.20260914T121940.gcc-14.32.33.txt smt_latency_ryzen_5950x: {"AtomicQueue": [41, 43, 42, 0], "AtomicQueue2": [43, 44, 43, 0], "AtomicQueueB": [44, 45, 44, 0], "AtomicQueueB2": [45, 46, 45, 0], "OptimistAtomicQueue": [33, 33, 33, 0], "OptimistAtomicQueue2": [34, 34, 34, 0], "OptimistAtomicQueueB": [34, 34, 34, 0], "OptimistAtomicQueueB2": [37, 38, 37, 0], "boost::lockfree::queue": [92, 93, 92, 0], "boost::lockfree::spsc_queue": [51, 52, 51, 0], "moodycamel::ConcurrentQueue": [62, 64, 63, 0], "moodycamel::ReaderWriterQueue": [43, 44, 43, 0], "pthread_spinlock": [104, 108, 104, 0], "std::mutex": [301, 329, 320, 8], "tbb::concurrent_bounded_queue": [83, 87, 83, 1], "tbb::spin_mutex": [93, 96, 93, 0], "xenium::michael_scott_queue": [127, 129, 128, 0], "xenium::ramalhete_queue": [56, 56, 56, 0], "xenium::vyukov_bounded_queue": [59, 62, 60, 0]}, // results/adea692.ryzen_5825u.smt0.20260913T102726.gcc-14.8.33.txt cc_scalability_ryzen_5825u: {"AtomicQueue": [[1, 81400584, 127599705, 90937224, 7999568], [2, 8068467, 8874433, 8613638, 143582], [3, 6280164, 6762620, 6603693, 93573], [4, 4816046, 5184587, 5026183, 111090]], "AtomicQueue2": [[1, 50463127, 88064459, 60288978, 6405433], [2, 7981116, 8536497, 8257922, 151416], [3, 6195316, 6502029, 6319138, 73646], [4, 4757105, 5063461, 4869763, 90812]], "AtomicQueueB": [[1, 44469444, 67128362, 50434083, 4827733], [2, 7930949, 8678497, 8399108, 179041], [3, 6109105, 6550754, 6241983, 113385], [4, 4732107, 5028198, 4853765, 80663]], "AtomicQueueB2": [[1, 40436595, 74395664, 68372576, 6574511], [2, 7902574, 8430304, 8162088, 140041], [3, 6132544, 6413379, 6254044, 86786], [4, 4665533, 5004752, 4815006, 99401]], "OptimistAtomicQueue": [[1, 833610343, 1644624967, 876189817, 121035441], [2, 35045886, 39042764, 37144642, 1309111], [3, 36414276, 42446875, 39217682, 2316234], [4, 36922236, 40934116, 39177158, 756489]], "OptimistAtomicQueue2": [[1, 96986122, 110917991, 102644320, 3029660], [2, 33350441, 40706998, 36775348, 2535146], [3, 33828994, 39901542, 36733464, 2681867], [4, 35970564, 39132206, 37501724, 1183429]], "OptimistAtomicQueueB": [[1, 357276069, 865405958, 533560353, 162253129], [2, 34552689, 45004967, 36590662, 1918206], [3, 35826349, 41910365, 39141415, 2233346], [4, 36566784, 40685609, 38382937, 1321769]], "OptimistAtomicQueueB2": [[1, 87884172, 537593114, 106074265, 54633552], [2, 35004428, 38536755, 36757230, 1059898], [3, 35487753, 40125366, 38023254, 1773772], [4, 36502725, 38456218, 37584763, 409009]], "boost::lockfree::queue": [[1, 6965290, 7142626, 7033877, 29656], [2, 4219096, 4361713, 4292945, 39008], [3, 3414707, 3492631, 3451042, 16483], [4, 1881163, 2832574, 2650271, 287332]], "boost::lockfree::spsc_queue": [[1, 149758577, 172495796, 161847455, 5326735]], "moodycamel::ConcurrentQueue": [[1, 14580533, 15036501, 14778978, 101116], [2, 24002010, 31410925, 28210711, 1957756], [3, 34873142, 50937459, 40344473, 3413501], [4, 52811817, 84744482, 63731602, 6657613]], "moodycamel::ReaderWriterQueue": [[1, 241668281, 800149113, 458956296, 135694225]], "pthread_spinlock": [[1, 15315850, 15797570, 15585881, 103235], [2, 5142206, 10183453, 7486610, 2093570], [3, 306876, 10667308, 4946555, 4567212], [4, 528709, 2015915, 918307, 334812]], "std::mutex": [[1, 2809344, 6144857, 3619355, 887725], [2, 8931945, 11362079, 9720389, 485614], [3, 4365970, 4960331, 4604795, 140370], [4, 4135406, 4504680, 4287137, 106132]], "tbb::concurrent_bounded_queue": [[1, 7688428, 8146838, 7848546, 155547], [2, 8283633, 8438354, 8363926, 40878], [3, 5736962, 5841758, 5793271, 38774], [4, 4393549, 4489039, 4438501, 36047]], "tbb::spin_mutex": [[1, 39298889, 45379835, 43683491, 1259479], [2, 8777511, 9470278, 9085341, 188578], [3, 5197085, 6000584, 5514045, 149148], [4, 3378377, 3957239, 3601665, 99508]], "xenium::michael_scott_queue": [[1, 11308937, 11946308, 11605770, 112159], [2, 6912958, 7447151, 7177643, 174135], [3, 4996070, 5146979, 5062759, 33302], [4, 3620734, 3828419, 3728274, 67110]], "xenium::ramalhete_queue": [[1, 19444025, 68888952, 49291534, 14592066], [2, 24750963, 53090826, 37794363, 10504470], [3, 26871141, 32500172, 29714632, 1293614], [4, 27834242, 33776666, 31061199, 1267094]], "xenium::vyukov_bounded_queue": [[1, 192526851, 253932030, 223816157, 15680774], [2, 17778098, 20707704, 19033116, 1026424], [3, 8807219, 10945584, 9744732, 562962], [4, 9765209, 11397021, 10525424, 489727]]}, // results/adea692.ryzen_5825u.smt0.20260913T102726.gcc-14.8.33.txt cc_latency_ryzen_5825u: {"AtomicQueue": [115, 148, 144, 5], "AtomicQueue2": [140, 142, 140, 0], "AtomicQueueB": [150, 154, 152, 0], "AtomicQueueB2": [143, 148, 145, 1], "OptimistAtomicQueue": [138, 139, 138, 0], "OptimistAtomicQueue2": [116, 123, 119, 1], "OptimistAtomicQueueB": [99, 129, 115, 11], "OptimistAtomicQueueB2": [115, 132, 121, 4], "boost::lockfree::queue": [260, 262, 260, 0], "boost::lockfree::spsc_queue": [159, 162, 160, 0], "moodycamel::ConcurrentQueue": [186, 189, 187, 0], "moodycamel::ReaderWriterQueue": [136, 137, 136, 0], "pthread_spinlock": [277, 280, 278, 0], "std::mutex": [556, 602, 579, 13], "tbb::concurrent_bounded_queue": [336, 354, 340, 3], "tbb::spin_mutex": [244, 251, 247, 1], "xenium::michael_scott_queue": [299, 305, 301, 1], "xenium::ramalhete_queue": [157, 165, 160, 2], "xenium::vyukov_bounded_queue": [160, 171, 163, 1]}, // results/adea692.ryzen_5825u.smt1.20260913T091954.gcc-14.16.33.txt smt_scalability_ryzen_5825u: {"AtomicQueue": [[1, 99844645, 115538799, 103719111, 3672208], [2, 10104755, 13268807, 11486743, 1290191], [3, 8063760, 10428849, 9084616, 944486], [4, 6135795, 8279548, 7059049, 851134], [5, 4924667, 6310843, 5547219, 534978], [6, 4102052, 5554891, 4698180, 546384], [7, 3735408, 4898298, 4205842, 426142], [8, 3222546, 4305592, 3682295, 414674]], "AtomicQueue2": [[1, 100216681, 110741144, 105470535, 2784249], [2, 9851010, 12099378, 10718724, 719021], [3, 8037373, 9946981, 8882912, 772333], [4, 6157738, 7969783, 6950378, 716136], [5, 4915537, 6145778, 5455107, 476157], [6, 4118872, 5386802, 4643212, 476253], [7, 3717765, 4705735, 4125185, 354887], [8, 3224690, 4189962, 3621093, 350260]], "AtomicQueueB": [[1, 74365399, 80970093, 76950872, 1399880], [2, 9784211, 12828424, 11151445, 1206548], [3, 8025597, 10224289, 8984407, 891838], [4, 6097991, 8148047, 7005584, 828958], [5, 4922298, 6220288, 5520533, 536030], [6, 4039838, 5491147, 4658950, 548907], [7, 3679061, 4874941, 4154880, 425398], [8, 3187839, 4288696, 3636957, 408764]], "AtomicQueueB2": [[1, 75691667, 82372884, 78715940, 1475327], [2, 9747634, 11884029, 10684232, 794591], [3, 7915071, 9950133, 8832737, 818455], [4, 6081565, 7870513, 6860429, 725776], [5, 4876893, 6061946, 5401852, 466414], [6, 4036113, 5249352, 4558980, 472554], [7, 3663994, 4696083, 4080788, 369644], [8, 3170782, 4135794, 3571208, 357682]], "OptimistAtomicQueue": [[1, 805300952, 923533167, 859970296, 21229156], [2, 42127136, 100198673, 67777665, 24977061], [3, 47465491, 64480726, 54306029, 5759960], [4, 46785235, 67387427, 56053811, 8332230], [5, 43240641, 60265240, 50811588, 6529761], [6, 42043195, 61125836, 50298991, 7441850], [7, 43053836, 58938303, 49948053, 5951080], [8, 41599164, 61021747, 50005494, 7645103]], "OptimistAtomicQueue2": [[1, 355075918, 426333775, 390463801, 13084096], [2, 27129833, 35454390, 31525439, 3542439], [3, 35244170, 43577667, 39121750, 2728109], [4, 39578758, 55284757, 46870565, 5831042], [5, 40559080, 56717393, 48030386, 6466814], [6, 39973567, 56355151, 47137690, 6466773], [7, 40719000, 55978965, 47612153, 6039647], [8, 39364886, 58924727, 47957087, 7397133]], "OptimistAtomicQueueB": [[1, 421954004, 473726678, 440585737, 11028500], [2, 41519096, 100811775, 68082302, 25948645], [3, 47508893, 65412068, 54569697, 6118499], [4, 46691648, 65482189, 55539330, 8104410], [5, 42368734, 60171757, 50274914, 6811228], [6, 41339645, 59751891, 49635158, 7426656], [7, 42462069, 58856628, 49524216, 6229291], [8, 40983869, 59516114, 49163565, 7355866]], "OptimistAtomicQueueB2": [[1, 120907182, 356404708, 132660716, 28355564], [2, 26676905, 36380543, 31461597, 3682401], [3, 34888709, 42433701, 38611498, 2785960], [4, 40502050, 55332969, 47687915, 5936931], [5, 40114303, 55659218, 47755675, 6541603], [6, 39392309, 56992468, 47088130, 6695569], [7, 40500978, 55650986, 47287771, 5981609], [8, 39743119, 57523817, 47527451, 7207418]], "boost::lockfree::queue": [[1, 15014664, 16866267, 15493449, 452013], [2, 5653145, 6215902, 5935012, 174080], [3, 5375756, 5591523, 5447250, 44488], [4, 4004540, 4189005, 4052681, 38312], [5, 3257485, 3468223, 3327647, 42122], [6, 2198332, 3154745, 2335576, 168142], [7, 1964081, 2217012, 2042124, 47048], [8, 1612822, 1876057, 1721474, 88708]], "boost::lockfree::spsc_queue": [[1, 130335368, 157093930, 143219554, 8752124]], "moodycamel::ConcurrentQueue": [[1, 31231157, 34928625, 32550786, 1001896], [2, 32574835, 48566233, 39959758, 6337602], [3, 42929464, 71429430, 54388303, 8298321], [4, 67304405, 110340078, 88016023, 9311965], [5, 133537680, 173002889, 153442561, 9850453], [6, 141865314, 197423836, 170961920, 11463461], [7, 143437982, 214271972, 183554749, 15814840], [8, 156589665, 229461274, 192842271, 17930442]], "moodycamel::ReaderWriterQueue": [[1, 524157380, 583412245, 541995829, 12399528]], "pthread_spinlock": [[1, 30563718, 34378985, 32165803, 1010025], [2, 10194429, 11084973, 10548200, 223389], [3, 8500780, 9695684, 9034487, 382315], [4, 6475754, 7783629, 7440911, 233158], [5, 6488184, 7155543, 6698643, 155526], [6, 4185153, 5730397, 5304641, 323884], [7, 2141073, 4797717, 3329952, 936356], [8, 2181995, 4798458, 3517217, 845142]], "std::mutex": [[1, 12740274, 14516881, 13158042, 410585], [2, 8351106, 13269098, 9455177, 872378], [3, 5189405, 5727438, 5397655, 120390], [4, 4068319, 4666165, 4279523, 140731], [5, 3662820, 4269125, 3862916, 112753], [6, 3553690, 3889420, 3707547, 73164], [7, 3578027, 3920103, 3693607, 63892], [8, 3408057, 3671919, 3510967, 58488]], "tbb::concurrent_bounded_queue": [[1, 20916031, 24503042, 22136585, 813417], [2, 10972417, 12290604, 11651116, 352237], [3, 8268768, 9151834, 8661033, 236301], [4, 6149930, 7430649, 6719356, 468384], [5, 5079859, 6355895, 5593847, 448043], [6, 4202466, 5284904, 4664884, 404660], [7, 3616279, 4604432, 4030355, 349341], [8, 3154063, 3866161, 3448244, 255537]], "tbb::spin_mutex": [[1, 79343717, 87642857, 83753143, 1786447], [2, 17384536, 19168316, 18211985, 628296], [3, 10547973, 11613336, 10992758, 265697], [4, 7095593, 7528366, 7252434, 72638], [5, 5275189, 5824679, 5557821, 115251], [6, 4176699, 4648474, 4339557, 96864], [7, 3563472, 3828105, 3680858, 58341], [8, 2866746, 3128556, 2973120, 63542]], "xenium::michael_scott_queue": [[1, 17046687, 20636959, 18186755, 724668], [2, 8268239, 12843251, 10381462, 1783309], [3, 6377671, 7941344, 7138733, 540678], [4, 4805725, 6168472, 5497861, 508425], [5, 3909950, 4727861, 4289384, 311776], [6, 3224303, 4058041, 3601029, 318933], [7, 2889339, 3592517, 3207947, 277762], [8, 2490628, 3179511, 2791935, 264169]], "xenium::ramalhete_queue": [[1, 32986892, 57611907, 39438948, 7139256], [2, 28651667, 52992618, 38615683, 9047053], [3, 30517679, 48529398, 38065122, 6352419], [4, 33462601, 39341829, 35969543, 1180184], [5, 35196623, 38239619, 36509634, 708312], [6, 34329969, 38396276, 35837137, 854761], [7, 31206191, 36457943, 34426272, 988295], [8, 31168222, 35722224, 33708872, 934674]], "xenium::vyukov_bounded_queue": [[1, 117910642, 138956334, 128686473, 6753675], [2, 19519026, 44421291, 28349051, 8918786], [3, 15510488, 19712177, 17424515, 1628028], [4, 11026139, 16113713, 13412481, 2089672], [5, 9890697, 13116659, 11480996, 1067809], [6, 9287065, 10758629, 10037703, 396602], [7, 8243679, 9730348, 8833810, 336454], [8, 6990563, 8795931, 7937571, 608060]]}, // results/adea692.ryzen_5825u.smt1.20260913T091954.gcc-14.16.33.txt smt_latency_ryzen_5825u: {"AtomicQueue": [46, 49, 47, 0], "AtomicQueue2": [48, 51, 49, 0], "AtomicQueueB": [51, 53, 52, 0], "AtomicQueueB2": [51, 53, 52, 0], "OptimistAtomicQueue": [36, 42, 38, 1], "OptimistAtomicQueue2": [41, 49, 45, 1], "OptimistAtomicQueueB": [38, 41, 40, 0], "OptimistAtomicQueueB2": [42, 48, 45, 1], "boost::lockfree::queue": [103, 112, 109, 2], "boost::lockfree::spsc_queue": [58, 59, 59, 0], "moodycamel::ConcurrentQueue": [70, 80, 74, 2], "moodycamel::ReaderWriterQueue": [48, 50, 49, 0], "pthread_spinlock": [115, 125, 121, 2], "std::mutex": [360, 410, 396, 12], "tbb::concurrent_bounded_queue": [95, 107, 103, 3], "tbb::spin_mutex": [104, 108, 106, 1], "xenium::michael_scott_queue": [147, 170, 163, 5], "xenium::ramalhete_queue": [64, 74, 70, 2], "xenium::vyukov_bounded_queue": [68, 72, 69, 1]}, }; max0x7ba-atomic_queue-40624b8/html/theme.js000066400000000000000000000050011525237550500205030ustar00rootroot00000000000000'use strict'; // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. const atomic_queue_theme_axis = { gridLineColor: '#444', labels: { style: { color: '#eee' } }, title: { style: { color: '#eee' } } }; const atomic_queue_theme = { chart: { backgroundColor: 'black', spacingBottom: 40, style: { fontFamily: "'Roboto Slab', sans-serif" } }, title: { text: undefined, style: { color: 'white', fontSize: '20px' } }, subtitle: { style: { color: '#aaa' } }, xAxis: atomic_queue_theme_axis, yAxis: atomic_queue_theme_axis, tooltip: { followPointer: true, useHTML: true, backgroundColor: 'rgba(0, 0, 0, 0.8)', borderWidth: 1, borderColor: 'rgba(255, 255, 255, 0.5)', style: { fontFamily: "'Roboto Mono', monospace", color: 'white' } }, plotOptions: { series: { pointPadding: 0.2, groupPadding: 0, borderWidth: 0, animationLimit: Infinity, // inactiveOtherPoints: false, stickyTracking: false, states: { inactive: { // enabled: true, opacity: 0.3, }, } }, boxplot: { medianColor: 'black', grouping: false, lineWidth: 1, stemWidth: 1, whiskerWidth: 3, borderWidth: 0, }, column: { borderWidth: 0 }, bar: { grouping: false, borderWidth: 0 }, errorbar: { stemWidth: 1, whiskerLength: 3, lineWidth: 1, enableMouseTracking: false, showInLegend: false, color: "#aaa", }, }, legend: { layout: 'horizontal', align: 'left', verticalAlign: 'bottom', itemStyle: { color: '#aaa' }, itemHoverStyle: { color: 'white' }, itemHiddenStyle: { color: '#888' } }, // caption: { // align: "center", // text: undefined, // style: { // color: 'white', // fontSize: '1em', // fontFamily: "PT Serif", // fontWeight: 400, // fontStyle: 'italic', // } // }, lang: { thousandsSep: ',' }, credits: { enabled: false }, accessibility: { enabled: false } }; max0x7ba-atomic_queue-40624b8/include/000077500000000000000000000000001525237550500175265ustar00rootroot00000000000000max0x7ba-atomic_queue-40624b8/include/CMakeLists.txt000066400000000000000000000013311525237550500222640ustar00rootroot00000000000000CMAKE_MINIMUM_REQUIRED( VERSION 3.25 ) include(GNUInstallDirs) add_library(atomic_queue INTERFACE) target_include_directories(atomic_queue INTERFACE "$" "$" ) add_library(atomic_queue::atomic_queue ALIAS atomic_queue) if ( ATOMIC_QUEUE_ENABLE_INSTALL ) install(TARGETS atomic_queue EXPORT atomic_queue) install( DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/atomic_queue" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) install( EXPORT atomic_queue FILE atomic_queue-config.cmake DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/atomic_queue" NAMESPACE atomic_queue:: ) endif () max0x7ba-atomic_queue-40624b8/include/atomic_queue/000077500000000000000000000000001525237550500222065ustar00rootroot00000000000000max0x7ba-atomic_queue-40624b8/include/atomic_queue/atomic_queue.h000066400000000000000000001034401525237550500250410ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #ifndef ATOMIC_QUEUE_ATOMIC_QUEUE_H_INCLUDED #define ATOMIC_QUEUE_ATOMIC_QUEUE_H_INCLUDED // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include "defs.h" #include #include #include #include #include //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace atomic_queue { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace details { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using std::uint32_t; using std::uint64_t; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct GetCacheLineIndexBits { static int constexpr value = 0; }; template<> struct GetCacheLineIndexBits<256> { static int constexpr value = 8; }; template<> struct GetCacheLineIndexBits<128> { static int constexpr value = 7; }; template<> struct GetCacheLineIndexBits< 64> { static int constexpr value = 6; }; template<> struct GetCacheLineIndexBits< 32> { static int constexpr value = 5; }; template<> struct GetCacheLineIndexBits< 16> { static int constexpr value = 4; }; template<> struct GetCacheLineIndexBits< 8> { static int constexpr value = 3; }; template<> struct GetCacheLineIndexBits< 4> { static int constexpr value = 2; }; template<> struct GetCacheLineIndexBits< 2> { static int constexpr value = 1; }; template struct GetIndexShuffleBits { static int constexpr bits = GetCacheLineIndexBits::value; static unsigned constexpr min_size = 1u << (bits * 2); static int constexpr value = array_size < min_size ? 0 : bits; }; template struct GetIndexShuffleBits { static int constexpr value = 0; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Multiple writers/readers contend on the same cache line when storing/loading elements at // subsequent indexes, aka false sharing. For power of 2 ring buffer size it is possible to re-map // the index in such a way that each subsequent element resides on another cache line, which // minimizes contention. This is done by swapping the lowest order N bits (which are the index of // the element within the cache line) with the next N bits (which are the index of the cache line) // of the element index. template struct IndexBits { enum : unsigned { mask_elem_idx = ~(~0u << N_BITS), mask_line_idx = mask_elem_idx << N_BITS, mask_hi = ~0u << (2 * N_BITS), count = N_BITS, count2 = N_BITS << 8 | N_BITS, }; }; struct RemapXor { // Each step depends on the previous, a serial chain of ~6 instructions, ~6 cycles. template ATOMIC_QUEUE_SINLINE constexpr unsigned remap(unsigned index, B) noexcept { unsigned const mix{(index ^ (index >> B::count)) & B::mask_elem_idx}; return index ^ mix ^ (mix << B::count); } template ATOMIC_QUEUE_SINLINE constexpr unsigned remap(unsigned index, unsigned size, B b) noexcept { return remap(index & (size - 1), b); } }; struct RemapAnd { // Faster index remapping with independent parallel computations of index components. // The shifts and ands dispatch in parallel, ~8 instructions, ~4 cycles. // At least +1% faster throughput benchmark relative to RemapXor. template ATOMIC_QUEUE_SINLINE constexpr unsigned remap(unsigned index, unsigned size, B) noexcept { return ((index >> B::count) & B::mask_elem_idx) | ((index & B::mask_elem_idx) << B::count) | (index & (B::mask_hi & (size - 1))); } template ATOMIC_QUEUE_SINLINE constexpr unsigned remap(unsigned index, B b) noexcept { return remap(index, 0, b); } }; #ifdef __BMI__ struct RemapBmi { // Shorter and faster machine code for swapping bits with BMI instructions, if available. // BMI1 (and, bextr, mov + and) dispatch in parallel, 7 instructions, ~3 cycles. // BMI2 (and, bextr, bzhi) dispatch in parallel, 6 instructions, ~3 cycles. // At least +1.5% faster throughput benchmark relative to RemapXor. template ATOMIC_QUEUE_SINLINE unsigned remap(unsigned index, unsigned size, B) noexcept { static_assert(ATOMIC_QUEUE_FULL_THROTTLE == 1, "Unexpected ATOMIC_QUEUE_FULL_THROTTLE value."); unsigned nn = B::count2; ATOMIC_QUEUE_REG(nn); // Disable constant propagation for nn to prevent the compiler from transforming the following code. #ifdef __BMI2__ unsigned new_line_idx = _bzhi_u32(index, nn) << B::count; // BMI2 bzhi supersedes mov + and. // unsigned new_line_idx = (index << nn) & B::mask_line_idx; // BMI2 shlx supersedes mov + shl. unsigned new_elem_idx = __bextr_u32(index, nn); // BMI1 bextr supersedes mov + shr + and. #else unsigned new_elem_idx = __bextr_u32(index, nn); // BMI1 bextr supersedes mov + shr + and. unsigned new_line_idx = (index & B::mask_elem_idx) << B::count; #endif new_elem_idx |= index & (B::mask_hi & (size - 1)); ATOMIC_QUEUE_ORDER(new_elem_idx, new_line_idx); // Do not commute the arguments of the adjacent two or instructions. return new_elem_idx | new_line_idx; // Or with new_line_idx last. } template ATOMIC_QUEUE_SINLINE unsigned remap(unsigned index, B b) noexcept { return remap(index, 0, b); } }; #endif // __BMI__ template struct Remap0 : Remap { using Remap::remap; ATOMIC_QUEUE_SINLINE constexpr unsigned remap(unsigned index, unsigned size, IndexBits<0>) noexcept { return index % size; } ATOMIC_QUEUE_SINLINE constexpr unsigned remap(unsigned index, IndexBits<0>) noexcept { return index; } template ATOMIC_QUEUE_INLINE auto operator()(B bits, A... a) const noexcept { return this->remap(a..., bits); } }; #ifdef ATOMIC_QUEUE_REMAP // Defining ATOMIC_QUEUE_REMAP overrides the default remapper. using Remap = Remap0; #elif defined(__BMI__) using Remap = Remap0; #else using Remap = Remap0; #endif template ATOMIC_QUEUE_SINLINE constexpr unsigned remap(unsigned index, unsigned size, IndexBits b) noexcept { return Remap::remap(index, size, b); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Implement a "bit-twiddling hack" for finding the next power of 2 in either 32 bits or 64 bits // in C++11 compatible constexpr functions. The library no longer maintains C++11 compatibility. // "Runtime" version for 32 bits // --a; // a |= a >> 1; // a |= a >> 2; // a |= a >> 4; // a |= a >> 8; // a |= a >> 16; // ++a; template ATOMIC_QUEUE_SINLINE constexpr T decrement(T x) noexcept { return x - 1; } template ATOMIC_QUEUE_SINLINE constexpr T increment(T x) noexcept { return x + 1; } template ATOMIC_QUEUE_SINLINE constexpr T or_equal(T x, unsigned u) noexcept { return x | x >> u; } template ATOMIC_QUEUE_SINLINE constexpr T or_equal(T x, unsigned u, Args... rest) noexcept { return or_equal(or_equal(x, u), rest...); } ATOMIC_QUEUE_SINLINE constexpr uint32_t round_up_to_power_of_2(uint32_t a) noexcept { return increment(or_equal(decrement(a), 1, 2, 4, 8, 16)); } ATOMIC_QUEUE_SINLINE constexpr uint64_t round_up_to_power_of_2(uint64_t a) noexcept { return increment(or_equal(decrement(a), 1, 2, 4, 8, 16, 32)); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template ATOMIC_QUEUE_SINLINE constexpr void static_assert_lock_free() noexcept { #if __cpp_lib_atomic_is_always_lock_free // Better compile-time error message requires C++17. static_assert(std::atomic::is_always_lock_free, "Queue element type T is not atomic. Use AtomicQueue2/AtomicQueueB2 for such element types."); #endif } template ATOMIC_QUEUE_SINLINE constexpr T nil() noexcept { static_assert_lock_free(); return {}; } template ATOMIC_QUEUE_SINLINE void assert_lock_free(T NIL) noexcept { static_assert_lock_free(); assert(std::atomic{NIL}.is_lock_free()); static_cast(NIL); // Mark NIL as used. } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// enum : unsigned { CAPACITY_MIN = 1, CAPACITY_MAX = ~0u >> 1, // Must be non-negative when treated as signed. }; ATOMIC_QUEUE_SINLINE unsigned assert_valid_capacity(unsigned capacity) noexcept { assert(capacity >= CAPACITY_MIN); assert(capacity <= CAPACITY_MAX); return capacity; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template ATOMIC_QUEUE_SINLINE void destroy_n(T* ATOMIC_QUEUE_RESTRICT p, unsigned n) noexcept { while(n--) // Destroy in reverse order. p[n].~T(); } template ATOMIC_QUEUE_SINLINE void swap_relaxed(std::atomic& a, std::atomic& b) noexcept { auto a2 = a.load(X); a.store(b.load(X), X); b.store(a2, X); } template ATOMIC_QUEUE_SINLINE void copy_relaxed(std::atomic& a, std::atomic const& b) noexcept { a.store(b.load(X), X); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct RollbackState { void* that; unsigned n_constructed = 0; // C++20 requires this constructor. ATOMIC_QUEUE_INLINE constexpr RollbackState(void* that) noexcept : that(that) {} // Non-copyable and non-movable. RollbackState& operator=(RollbackState const&) = delete; RollbackState(RollbackState const&) = delete; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace details //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using State = unsigned char; using AtomicState = std::atomic; enum StateE : State { EMPTY, STORED = 1, STORING = 2, LOADING = 4 }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template class AtomicQueueCommon { ATOMIC_QUEUE_INLINE constexpr auto& downcast() noexcept { return static_cast(*this); } ATOMIC_QUEUE_INLINE constexpr auto& downcast() const noexcept { return static_cast(*this); } protected: // Put these on different cache lines to avoid false sharing between readers and writers. alignas(CACHE_LINE_SIZE) std::atomic head_ = {}; alignas(CACHE_LINE_SIZE) std::atomic tail_ = {}; // The special member functions are not thread-safe. AtomicQueueCommon() noexcept { assert(is_suitably_aligned(&downcast())); } AtomicQueueCommon(AtomicQueueCommon const& b) noexcept : head_(b.head_.load(X)) , tail_(b.tail_.load(X)) { assert(is_suitably_aligned(&downcast())); } AtomicQueueCommon& operator=(AtomicQueueCommon const& b) noexcept { details::copy_relaxed(head_, b.head_); details::copy_relaxed(tail_, b.tail_); return *this; } // Relatively semi-special swap is not thread-safe either. void swap(AtomicQueueCommon& b) noexcept { details::swap_relaxed(head_, b.head_); details::swap_relaxed(tail_, b.tail_); } template ATOMIC_QUEUE_SINLINE T do_pop(std::atomic* ATOMIC_QUEUE_RESTRICT elements, unsigned index) noexcept { constexpr T NIL = Derived::nil_; T element; auto& q_element = elements[index]; if(Derived::spsc_) { for(;;) { element = q_element.load(A); if(ATOMIC_QUEUE_LIKELY(element != NIL)) break; if(Derived::maximize_throughput_) spin_loop_pause(); } q_element.store(NIL, R); } else { for(;;) { element = q_element.exchange(NIL, AR); // (2) The store to wait for. if(ATOMIC_QUEUE_LIKELY(element != NIL)) break; // Do speculative loads while busy-waiting to avoid broadcasting RFO messages. do spin_loop_pause(); while(ATOMIC_QUEUE_UNLIKELY(Derived::maximize_throughput_ && q_element.load(X) == NIL)); } } return element; } template ATOMIC_QUEUE_SINLINE void do_push(T element, std::atomic* ATOMIC_QUEUE_RESTRICT elements, unsigned index) noexcept { constexpr T NIL = Derived::nil_; assert(element != NIL); auto& q_element = elements[index]; if(Derived::spsc_) { while(ATOMIC_QUEUE_UNLIKELY(q_element.load(A) != NIL)) // Hint the branch as not taken when the queue is not full. if(Derived::maximize_throughput_) spin_loop_pause(); q_element.store(element, R); } else { T expected; while(ATOMIC_QUEUE_UNLIKELY(!q_element.compare_exchange_weak((expected = NIL), element, AR, X))) // Hint the branch as not taken when the queue is not full. do // Do speculative loads while busy-waiting to avoid broadcasting RFO messages. spin_loop_pause(); // (1) Wait for store (2) to complete. while(ATOMIC_QUEUE_UNLIKELY(Derived::maximize_throughput_ && q_element.load(X) != NIL)); } } template ATOMIC_QUEUE_SINLINE T do_pop(std::atomic* ATOMIC_QUEUE_RESTRICT states, T* ATOMIC_QUEUE_RESTRICT elements, unsigned index) noexcept { auto& state = states[index]; if(Derived::spsc_) { while(ATOMIC_QUEUE_UNLIKELY(state.load(A) != STORED)) // Hint the branch as not taken when the queue is not empty. if(Derived::maximize_throughput_) spin_loop_pause(); } else { State expected, desired = LOADING; ATOMIC_QUEUE_LEAN_REG(desired); while(ATOMIC_QUEUE_UNLIKELY(!state.compare_exchange_weak((expected = STORED), desired, A, X))) { // Hint the branch as not taken when the queue is not empty. do // Do speculative loads while busy-waiting to avoid broadcasting RFO messages. spin_loop_pause(); while(ATOMIC_QUEUE_UNLIKELY(Derived::maximize_throughput_ && state.load(X) != STORED)); ATOMIC_QUEUE_LEAN_REG(desired); } } T element{std::move(elements[index])}; state.store(EMPTY, R); return element; } template ATOMIC_QUEUE_SINLINE void do_push(U&& element, std::atomic* ATOMIC_QUEUE_RESTRICT states, T* ATOMIC_QUEUE_RESTRICT elements, unsigned index) noexcept { auto& state = states[index]; if(Derived::spsc_) { while(ATOMIC_QUEUE_UNLIKELY(state.load(A) != EMPTY)) // Hint the branch as not taken when the queue is not full. if(Derived::maximize_throughput_) spin_loop_pause(); } else { State expected, desired = STORING; ATOMIC_QUEUE_LEAN_REG(desired); while(ATOMIC_QUEUE_UNLIKELY(!state.compare_exchange_weak((expected = EMPTY), desired, A, X))) {// Hint the branch as not taken when the queue is not full. do // Do speculative loads while busy-waiting to avoid broadcasting RFO messages. spin_loop_pause(); while(ATOMIC_QUEUE_UNLIKELY(Derived::maximize_throughput_ && state.load(X) != EMPTY)); ATOMIC_QUEUE_LEAN_REG(desired); } } elements[index] = std::forward(element); state.store(STORED, R); } public: template ATOMIC_QUEUE_NODISCARD ATOMIC_QUEUE_INLINE bool try_push(T&& element) noexcept { auto head = head_.load(X); if(Derived::spsc_) { if(ATOMIC_QUEUE_UNLIKELY(as_signed(head - tail_.load(X)) >= as_signed(downcast().capacity_))) return false; head_.store(head + 1, X); } else { do { if(ATOMIC_QUEUE_UNLIKELY(as_signed(head - tail_.load(X)) >= as_signed(downcast().capacity_))) return false; } while(ATOMIC_QUEUE_UNLIKELY(!head_.compare_exchange_weak(head, head + 1, X, X))); // This loop is not FIFO. } downcast().do_push(std::forward(element), head); return true; } template ATOMIC_QUEUE_NODISCARD ATOMIC_QUEUE_INLINE bool try_pop(T& element) noexcept { auto tail = tail_.load(X); if(Derived::spsc_) { if(ATOMIC_QUEUE_UNLIKELY(as_signed(head_.load(X) - tail) <= 0)) return false; tail_.store(tail + 1, X); } else { do { if(ATOMIC_QUEUE_UNLIKELY(as_signed(head_.load(X) - tail) <= 0)) return false; } while(ATOMIC_QUEUE_UNLIKELY(!tail_.compare_exchange_weak(tail, tail + 1, X, X))); // This loop is not FIFO. } element = downcast().do_pop(tail); return true; } template ATOMIC_QUEUE_INLINE void push(T&& element) noexcept { unsigned head; if(Derived::spsc_) { head = head_.load(X); head_.store(head + 1, X); } else { constexpr auto memory_order = Derived::total_order_ ? std::memory_order_seq_cst : std::memory_order_relaxed; head = head_.fetch_add(1, memory_order); // FIFO and total order on Intel regardless, as of 2019. } downcast().do_push(std::forward(element), head); } ATOMIC_QUEUE_INLINE auto pop() noexcept { unsigned tail; if(Derived::spsc_) { tail = tail_.load(X); tail_.store(tail + 1, X); } else { constexpr auto memory_order = Derived::total_order_ ? std::memory_order_seq_cst : std::memory_order_relaxed; tail = tail_.fetch_add(1, memory_order); // FIFO and total order on Intel regardless, as of 2019. } return downcast().do_pop(tail); } ATOMIC_QUEUE_INLINE bool was_empty() const noexcept { return !was_size(); } ATOMIC_QUEUE_INLINE bool was_full() const noexcept { return was_size() >= capacity(); } ATOMIC_QUEUE_INLINE unsigned was_size() const noexcept { // tail_ can be greater than head_ because of consumers doing pop, rather that try_pop, when the queue is empty. unsigned n{head_.load(X) - tail_.load(X)}; return max_value(as_signed(n), 0); } ATOMIC_QUEUE_INLINE unsigned capacity() const noexcept { return downcast().capacity_; } ATOMIC_QUEUE_SINLINE constexpr bool is_spsc() noexcept { return Derived::spsc_; } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template(), bool MINIMIZE_CONTENTION = true, bool MAXIMIZE_THROUGHPUT = true, bool TOTAL_ORDER = false, bool SPSC = false> class AtomicQueue : public AtomicQueueCommon> { using Base = AtomicQueueCommon>; friend Base; static_assert(CAPACITY >= details::CAPACITY_MIN, "CAPACITY is too low."); static_assert(CAPACITY <= details::CAPACITY_MAX, "CAPACITY is too high."); static constexpr unsigned capacity_ = MINIMIZE_CONTENTION ? details::round_up_to_power_of_2(CAPACITY) : CAPACITY; static constexpr int SHUFFLE_BITS = details::GetIndexShuffleBits)>::value; using B = details::IndexBits; static constexpr bool total_order_ = TOTAL_ORDER; static constexpr bool spsc_ = SPSC; static constexpr bool maximize_throughput_ = MAXIMIZE_THROUGHPUT; static constexpr T nil_ = NIL; alignas(CACHE_LINE_SIZE) std::atomic elements_[capacity_]; ATOMIC_QUEUE_INLINE T do_pop(unsigned tail) noexcept { auto index = remap(tail, capacity_, B{}); return Base::do_pop(elements_, index); } ATOMIC_QUEUE_INLINE void do_push(T element, unsigned head) noexcept { auto index = remap(head, capacity_, B{}); Base::do_push(element, elements_, index); } public: using value_type = T; AtomicQueue() noexcept { details::assert_lock_free(NIL); // Queue element type T is not atomic. Use AtomicQueue2/AtomicQueueB2 for such element types. for(auto p = elements_, q = elements_ + capacity_; p != q; ++p) p->store(NIL, X); } AtomicQueue(AtomicQueue const&) = delete; AtomicQueue& operator=(AtomicQueue const&) = delete; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template class AtomicQueue2 : public AtomicQueueCommon> { using Base = AtomicQueueCommon>; friend Base; static_assert(CAPACITY >= details::CAPACITY_MIN, "CAPACITY is too low."); static_assert(CAPACITY <= details::CAPACITY_MAX, "CAPACITY is too high."); static constexpr unsigned capacity_ = MINIMIZE_CONTENTION ? details::round_up_to_power_of_2(CAPACITY) : CAPACITY; static constexpr int SHUFFLE_BITS = details::GetIndexShuffleBits::value; using B = details::IndexBits; static constexpr bool total_order_ = TOTAL_ORDER; static constexpr bool spsc_ = SPSC; static constexpr bool maximize_throughput_ = MAXIMIZE_THROUGHPUT; alignas(CACHE_LINE_SIZE) AtomicState states_[capacity_] = {}; alignas(CACHE_LINE_SIZE) T elements_[capacity_] = {}; ATOMIC_QUEUE_INLINE T do_pop(unsigned tail) noexcept { auto index = remap(tail, capacity_, B{}); return Base::do_pop(states_, elements_, index); } template ATOMIC_QUEUE_INLINE void do_push(U&& element, unsigned head) noexcept { auto index = remap(head, capacity_, B{}); Base::do_push(std::forward(element), states_, elements_, index); } public: using value_type = T; AtomicQueue2() noexcept = default; AtomicQueue2(AtomicQueue2 const&) = delete; AtomicQueue2& operator=(AtomicQueue2 const&) = delete; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template, T NIL = details::nil(), bool MAXIMIZE_THROUGHPUT = true, bool TOTAL_ORDER = false, bool SPSC = false> class AtomicQueueB : private std::allocator_traits::template rebind_alloc>, public AtomicQueueCommon> { using AllocatorElements = typename std::allocator_traits::template rebind_alloc>; using Base = AtomicQueueCommon>; friend Base; static constexpr bool total_order_ = TOTAL_ORDER; static constexpr bool spsc_ = SPSC; static constexpr bool maximize_throughput_ = MAXIMIZE_THROUGHPUT; static constexpr T nil_ = NIL; static constexpr auto ELEMENTS_PER_CACHE_LINE = CACHE_LINE_SIZE / sizeof(std::atomic); static_assert(ELEMENTS_PER_CACHE_LINE, "Unexpected ELEMENTS_PER_CACHE_LINE."); static constexpr auto SHUFFLE_BITS = details::GetCacheLineIndexBits::value; static_assert(SHUFFLE_BITS, "Unexpected SHUFFLE_BITS."); using B = details::IndexBits; // AtomicQueueCommon members are stored into by readers and writers. // Allocate these immutable members on another cache line which never gets invalidated by stores. alignas(CACHE_LINE_SIZE) unsigned capacity_; // The C++ strict aliasing rules assume that pointers to the same decayed type may alias. // The C++ strict aliasing rules assume that pointers to any char type may alias anything and everything. // A dynamically allocated array may not alias anything else by construction. // Explicitly annotate the circular buffer array pointer as not aliasing anything else with restrict keyword. std::atomic* ATOMIC_QUEUE_RESTRICT elements_; ATOMIC_QUEUE_INLINE T do_pop(unsigned tail) noexcept { auto index = remap(tail, capacity_, B{}); return Base::do_pop(elements_, index); } ATOMIC_QUEUE_INLINE void do_push(T element, unsigned head) noexcept { auto index = remap(head, capacity_, B{}); Base::do_push(element, elements_, index); } public: using value_type = T; using allocator_type = A; // The special member functions are not thread-safe. AtomicQueueB(unsigned capacity, A const& allocator = A{}) : AllocatorElements(allocator) , capacity_(details::assert_valid_capacity(max_value(details::round_up_to_power_of_2(capacity), 1u << (SHUFFLE_BITS * 2)))) , elements_(AllocatorElements::allocate(capacity_)) { details::assert_lock_free(NIL); // Queue element type T is not atomic. Use AtomicQueue2/AtomicQueueB2 for such element types. assert(get_allocator() == allocator); // The standard requires the original and rebound allocators to manage the same state. std::uninitialized_fill_n(elements_, capacity_, NIL); } AtomicQueueB(AtomicQueueB&& b) noexcept : AllocatorElements(static_cast(b)) // TODO: This must be noexcept, static_assert that. , Base(static_cast(b)) , capacity_(std::exchange(b.capacity_, 0)) , elements_(std::exchange(b.elements_, nullptr)) {} AtomicQueueB& operator=(AtomicQueueB&& b) noexcept { b.swap(*this); return *this; } ~AtomicQueueB() noexcept { // Destruction and deallocation must not throw, despite lacking the noexcept specifier. if(ATOMIC_QUEUE_LIKELY(elements_)) { details::destroy_n(elements_, capacity_); AllocatorElements::deallocate(elements_, capacity_); } } A get_allocator() const noexcept { return *this; // The standard requires implicit conversion between rebound allocators. } void swap(AtomicQueueB& b) noexcept { using std::swap; swap(static_cast(*this), static_cast(b)); Base::swap(b); swap(capacity_, b.capacity_); swap(elements_, b.elements_); } ATOMIC_QUEUE_INLINE friend void swap(AtomicQueueB& a, AtomicQueueB& b) noexcept { a.swap(b); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template, bool MAXIMIZE_THROUGHPUT = true, bool TOTAL_ORDER = false, bool SPSC = false> class AtomicQueueB2 : private std::allocator_traits::template rebind_alloc, public AtomicQueueCommon> { using StorageAllocator = typename std::allocator_traits::template rebind_alloc; using Base = AtomicQueueCommon>; friend Base; static constexpr bool total_order_ = TOTAL_ORDER; static constexpr bool spsc_ = SPSC; static constexpr bool maximize_throughput_ = MAXIMIZE_THROUGHPUT; // AtomicQueueCommon members are stored into by readers and writers. // Allocate these immutable members on another cache line which never gets invalidated by stores. alignas(CACHE_LINE_SIZE) unsigned capacity_; // The C++ strict aliasing rules assume that pointers to the same decayed type may alias. // The C++ strict aliasing rules assume that pointers to any char type may alias anything and everything. // A dynamically allocated array may not alias anything else by construction. // Explicitly annotate the circular buffer array pointers as not aliasing anything else with restrict keyword. AtomicState* ATOMIC_QUEUE_RESTRICT states_ = 0; T* ATOMIC_QUEUE_RESTRICT elements_ = 0; static constexpr auto STATES_PER_CACHE_LINE = CACHE_LINE_SIZE / sizeof(AtomicState); static_assert(STATES_PER_CACHE_LINE, "Unexpected STATES_PER_CACHE_LINE."); static constexpr auto SHUFFLE_BITS = details::GetCacheLineIndexBits::value; static_assert(SHUFFLE_BITS, "Unexpected SHUFFLE_BITS."); using B = details::IndexBits; ATOMIC_QUEUE_INLINE T do_pop(unsigned tail) noexcept { auto index = remap(tail, capacity_, B{}); return Base::do_pop(states_, elements_, index); } template ATOMIC_QUEUE_INLINE void do_push(U&& element, unsigned head) noexcept { auto index = remap(head, capacity_, B{}); Base::do_push(std::forward(element), states_, elements_, index); } template U* allocate_() { U* p = reinterpret_cast(StorageAllocator::allocate(capacity_ * sizeof(U))); assert(is_suitably_aligned(p)); // Allocated storage must be suitably aligned for U. return p; } template void deallocate_(U* p) noexcept { // StorageAllocator::deallocate must not throw, despite lacking the noexcept specifier. StorageAllocator::deallocate(reinterpret_cast(p), capacity_ * sizeof(U)); } void destroy_(unsigned n_constructed) noexcept { // Destruction and deallocation must not throw, despite lacking the noexcept specifier. if(ATOMIC_QUEUE_LIKELY(elements_)) { A a = get_allocator(); for(auto n = n_constructed; n--;) std::allocator_traits::destroy(a, elements_ + n); // Destroy in reverse order. deallocate_(elements_); } if(ATOMIC_QUEUE_LIKELY(states_)) { details::destroy_n(states_, capacity_); // Destroy in reverse order. deallocate_(states_); } } struct Rollback : details::RollbackState { using RollbackState::RollbackState; ~Rollback() noexcept { if(ATOMIC_QUEUE_UNLIKELY(that)) static_cast(that)->destroy_(n_constructed); } }; public: using value_type = T; using allocator_type = A; ATOMIC_QUEUE_SINLINE constexpr auto round_up_capacity(unsigned size) noexcept { return max_value(details::round_up_to_power_of_2(size), 1u << (SHUFFLE_BITS * 2)); } // The special member functions are not thread-safe. AtomicQueueB2(unsigned size, A const& allocator = A{}) : StorageAllocator(allocator) , capacity_(details::assert_valid_capacity(round_up_capacity(size))) { A a = get_allocator(); assert(a == allocator); // The standard requires the original and rebound allocators to manage the same state. Rollback rollback{this}; // Strong exception safety: destroy and deallocate on exception. states_ = allocate_(); std::uninitialized_fill_n(states_, capacity_, EMPTY); elements_ = allocate_(); for(; rollback.n_constructed < capacity_; ++rollback.n_constructed) std::allocator_traits::construct(a, elements_ + rollback.n_constructed); rollback.that = 0; // No exception was thrown, disable rollback. } AtomicQueueB2(AtomicQueueB2&& b) noexcept : StorageAllocator(static_cast(b)) // TODO: This must be noexcept, static_assert that. , Base(static_cast(b)) , capacity_(std::exchange(b.capacity_, 0)) , states_(std::exchange(b.states_, nullptr)) , elements_(std::exchange(b.elements_, nullptr)) {} AtomicQueueB2& operator=(AtomicQueueB2&& b) noexcept { b.swap(*this); return *this; } ~AtomicQueueB2() noexcept { destroy_(capacity_); } A get_allocator() const noexcept { return *this; // The standard requires implicit conversion between rebound allocators. } void swap(AtomicQueueB2& b) noexcept { using std::swap; swap(static_cast(*this), static_cast(b)); Base::swap(b); swap(capacity_, b.capacity_); swap(states_, b.states_); swap(elements_, b.elements_); } ATOMIC_QUEUE_INLINE friend void swap(AtomicQueueB2& a, AtomicQueueB2& b) noexcept { a.swap(b); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace atomic_queue //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif // ATOMIC_QUEUE_ATOMIC_QUEUE_H_INCLUDED max0x7ba-atomic_queue-40624b8/include/atomic_queue/atomic_queue_mutex.h000066400000000000000000000065331525237550500262700ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #ifndef ATOMIC_QUEUE_ATOMIC_QUEUE_SPIN_LOCK_H_INCLUDED #define ATOMIC_QUEUE_ATOMIC_QUEUE_SPIN_LOCK_H_INCLUDED // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include "atomic_queue.h" #include "spinlock.h" #include #include //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace atomic_queue { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct ScopedLockType { using type = typename M::scoped_lock; }; template<> struct ScopedLockType { using type = std::unique_lock; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template class AtomicQueueMutexT { static constexpr unsigned size_ = MINIMIZE_CONTENTION ? details::round_up_to_power_of_2(SIZE) : SIZE; Mutex mutex_; alignas(CACHE_LINE_SIZE) unsigned head_ = 0; alignas(CACHE_LINE_SIZE) unsigned tail_ = 0; alignas(CACHE_LINE_SIZE) T elements_[size_] = {}; static constexpr int SHUFFLE_BITS = details::GetIndexShuffleBits::value; using B = details::IndexBits; using ScopedLock = typename ScopedLockType::type; public: using value_type = T; template ATOMIC_QUEUE_INLINE bool try_push(U&& element) noexcept { ScopedLock lock(mutex_); if(ATOMIC_QUEUE_LIKELY(head_ - tail_ < size_)) { auto index = remap(head_, size_, B{}); elements_[index] = std::forward(element); ++head_; return true; } return false; } ATOMIC_QUEUE_INLINE bool try_pop(T& element) noexcept { ScopedLock lock(mutex_); if(ATOMIC_QUEUE_LIKELY(head_ != tail_)) { auto index = remap(tail_, size_, B{}); element = std::move(elements_[index]); ++tail_; return true; } return false; } ATOMIC_QUEUE_INLINE bool was_empty() const noexcept { ScopedLock lock(mutex_); return head_ == tail_; } ATOMIC_QUEUE_INLINE bool was_full() const noexcept { ScopedLock lock(mutex_); return head_ - tail_ == size_; } }; template using AtomicQueueMutex = AtomicQueueMutexT; template using AtomicQueueSpinlock = AtomicQueueMutexT; // template // using AtomicQueueSpinlockHle = AtomicQueueMutexT; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace atomic_queue //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif // ATOMIC_QUEUE_ATOMIC_QUEUE_SPIN_LOCK_H_INCLUDED max0x7ba-atomic_queue-40624b8/include/atomic_queue/barrier.h000066400000000000000000000033261525237550500240110ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #ifndef BARRIER_H_INCLUDED #define BARRIER_H_INCLUDED // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include "defs.h" //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace atomic_queue { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// class Barrier { std::atomic counter_ = {}; public: ATOMIC_QUEUE_INLINE void wait() noexcept { counter_.fetch_add(1, X); while(counter_.load(A)) spin_loop_pause(); } ATOMIC_QUEUE_INLINE void release(int expected_counter) noexcept { while(expected_counter != counter_.load(X)) spin_loop_pause(); counter_.store(0, R); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct Barrier2 { std::atomic counter = {}; ATOMIC_QUEUE_INLINE unsigned countdown() noexcept { unsigned caller_idx = --counter; // std::memory_order_seq_cst // All callers execute the same code path. do spin_loop_pause(); while(counter.load()); // std::memory_order_seq_cst return caller_idx; } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace atomic_queue //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif // BARRIER_H_INCLUDED max0x7ba-atomic_queue-40624b8/include/atomic_queue/defs.h000066400000000000000000000227061525237550500233070ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #ifndef ATOMIC_QUEUE_DEFS_H_INCLUDED #define ATOMIC_QUEUE_DEFS_H_INCLUDED // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include #include #if defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86) #include #include #endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #if defined(__GNUC__) || defined(__clang__) #define ATOMIC_QUEUE_LIKELY(expr) __builtin_expect(static_cast(expr), 1) #define ATOMIC_QUEUE_UNLIKELY(expr) __builtin_expect(static_cast(expr), 0) #define ATOMIC_QUEUE_INLINE inline __attribute__((always_inline)) #define ATOMIC_QUEUE_RESTRICT __restrict__ #ifndef __clang__ # define ATOMIC_QUEUE_NOINLINE __attribute__((noinline,noclone)) #else # define ATOMIC_QUEUE_NOINLINE __attribute__((noinline)) #endif #if !defined(ATOMIC_QUEUE_FULL_THROTTLE) && defined(__x86_64__) # define ATOMIC_QUEUE_FULL_THROTTLE 1 #endif /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #else #define ATOMIC_QUEUE_LIKELY(expr) (expr) #define ATOMIC_QUEUE_UNLIKELY(expr) (expr) #define ATOMIC_QUEUE_NOINLINE #define ATOMIC_QUEUE_INLINE inline #ifdef _MSC_VER # define ATOMIC_QUEUE_RESTRICT __restrict #else # define ATOMIC_QUEUE_RESTRICT #endif #endif // defined(__GNUC__) || defined(__clang__) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #if defined(__has_cpp_attribute) && __has_cpp_attribute(nodiscard) # define ATOMIC_QUEUE_NODISCARD [[nodiscard]] #else # define ATOMIC_QUEUE_NODISCARD #endif /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #define ATOMIC_QUEUE_SINLINE static ATOMIC_QUEUE_INLINE // In #if, #elif any identifier, which is not literal, non defined using #define directive, evaluates to 0. #ifndef ATOMIC_QUEUE_FULL_THROTTLE // Make it expand to 0 unconditionally. # define ATOMIC_QUEUE_FULL_THROTTLE 0 #endif /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #if ATOMIC_QUEUE_FULL_THROTTLE # define ATOMIC_QUEUE_ORDER(a, b) asm(""::"r"(a),"r"(b)) # define ATOMIC_QUEUE_REG(a) asm("":"+r"(a)) # define ATOMIC_QUEUE_LEAN_REG(a) asm("":"+R"(a)) #else # define ATOMIC_QUEUE_ORDER(a, b) # define ATOMIC_QUEUE_REG(a) # define ATOMIC_QUEUE_LEAN_REG(a) #endif /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Define a CPU-specific spin_loop_pause function. // Notes from https://gcc.gnu.org/onlinedocs/gcc/Basic-Asm.html // * For the C++ language, asm is a standard keyword, but __asm__ can be used for code compiled with -fno-asm. // * The optional volatile qualifier has no effect. All basic [with no arguments] asm blocks are implicitly volatile. namespace atomic_queue { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #if defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86) constexpr int CACHE_LINE_SIZE = 64; ATOMIC_QUEUE_SINLINE void spin_loop_pause() noexcept { _mm_pause(); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #elif defined(__arm__) || defined(__aarch64__) || defined(_M_ARM64) #if defined(__APPLE__) && defined(__aarch64__) constexpr int CACHE_LINE_SIZE = 128; #else constexpr int CACHE_LINE_SIZE = 64; #endif ATOMIC_QUEUE_SINLINE void spin_loop_pause() noexcept { #if (defined(__ARM_ARCH_6K__) || \ defined(__ARM_ARCH_6Z__) || \ defined(__ARM_ARCH_6ZK__) || \ defined(__ARM_ARCH_6T2__) || \ defined(__ARM_ARCH_7__) || \ defined(__ARM_ARCH_7A__) || \ defined(__ARM_ARCH_7R__) || \ defined(__ARM_ARCH_7M__) || \ defined(__ARM_ARCH_7S__) || \ defined(__ARM_ARCH_8A__) || \ defined(__aarch64__)) asm("yield"); #elif defined(_M_ARM64) __yield(); #else asm("nop"); #endif } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #elif defined(__ppc64__) || defined(__powerpc64__) constexpr int CACHE_LINE_SIZE = 128; ATOMIC_QUEUE_SINLINE void spin_loop_pause() noexcept { asm("or 31,31,31 # very low priority"); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #elif defined(__s390x__) constexpr int CACHE_LINE_SIZE = 256; ATOMIC_QUEUE_SINLINE void spin_loop_pause() noexcept {} // TODO: Find the right instruction to use here, if any. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #elif defined(__riscv) constexpr int CACHE_LINE_SIZE = 64; ATOMIC_QUEUE_SINLINE void spin_loop_pause() noexcept { asm(".insn i 0x0F, 0, x0, x0, 0x010"); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #elif defined(__loongarch__) constexpr int CACHE_LINE_SIZE = 64; ATOMIC_QUEUE_SINLINE void spin_loop_pause() noexcept { asm("nop \n nop \n nop \n nop \n nop \n nop \n nop \n nop"); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #else #ifdef _MSC_VER # pragma message("Unknown CPU architecture. Using L1 cache line size of 64 bytes and no spinloop pause instruction.") #else # warning "Unknown CPU architecture. Using L1 cache line size of 64 bytes and no spinloop pause instruction." #endif constexpr int CACHE_LINE_SIZE = 64; // TODO: Review that this is the correct value. ATOMIC_QUEUE_SINLINE void spin_loop_pause() noexcept {} #endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// auto constexpr A = std::memory_order_acquire; auto constexpr R = std::memory_order_release; auto constexpr X = std::memory_order_relaxed; auto constexpr C = std::memory_order_seq_cst; auto constexpr AR = std::memory_order_acq_rel; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ATOMIC_QUEUE_SINLINE constexpr int as_signed(unsigned c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr int as_signed(int c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr long long as_signed(unsigned long long c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr long long as_signed(long long c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr long as_signed(unsigned long c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr long as_signed(long c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr unsigned as_unsigned(unsigned c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr unsigned as_unsigned(int c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr unsigned long long as_unsigned(unsigned long long c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr unsigned long long as_unsigned(long long c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr unsigned long as_unsigned(unsigned long c) noexcept { return c; } ATOMIC_QUEUE_SINLINE constexpr unsigned long as_unsigned(long c) noexcept { return c; } // Do not allow integral promotion, numeric conversions or any other conversions for arguments of as_signed and as_unsigned. template T as_signed(T) = delete; template T as_unsigned(T) = delete; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // std::min/max reference parameters may require spilling registers to stack in order to make the value addressable. // These take by value only, with no implicit conversions. // The definitions match the semantics of minsd/maxsd in order to compile into these instructions for floating point arguments. template ATOMIC_QUEUE_SINLINE constexpr T min_value(T a, T b) noexcept { return b < a ? b : a; } template ATOMIC_QUEUE_SINLINE constexpr T max_value(T a, T b) noexcept { return a > b ? a : b; } // Let the caller resolve any ambiguity. template T min_value(T, U) = delete; template T max_value(T, U) = delete; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template ATOMIC_QUEUE_SINLINE constexpr bool is_suitably_aligned(T* p) noexcept { return !(reinterpret_cast(p) % alignof(T)); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct NoContext { template ATOMIC_QUEUE_INLINE constexpr NoContext(Args&&...) noexcept {} }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace atomic_queue //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif // ATOMIC_QUEUE_DEFS_H_INCLUDED max0x7ba-atomic_queue-40624b8/include/atomic_queue/spinlock.h000066400000000000000000000142561525237550500242110ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #ifndef ATOMIC_QUEUE_SPIN_LOCK_H_INCLUDED #define ATOMIC_QUEUE_SPIN_LOCK_H_INCLUDED // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include "defs.h" #include #include #include #include //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace atomic_queue { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// class Spinlock { pthread_spinlock_t s_; public: using scoped_lock = std::lock_guard; ATOMIC_QUEUE_INLINE Spinlock() noexcept { if(ATOMIC_QUEUE_UNLIKELY(::pthread_spin_init(&s_, 0))) std::abort(); } Spinlock(Spinlock const&) = delete; Spinlock& operator=(Spinlock const&) = delete; ATOMIC_QUEUE_INLINE ~Spinlock() noexcept { ::pthread_spin_destroy(&s_); } ATOMIC_QUEUE_INLINE void lock() noexcept { if(ATOMIC_QUEUE_UNLIKELY(::pthread_spin_lock(&s_))) std::abort(); } ATOMIC_QUEUE_INLINE void unlock() noexcept { if(ATOMIC_QUEUE_UNLIKELY(::pthread_spin_unlock(&s_))) std::abort(); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// class TicketSpinlock { alignas(CACHE_LINE_SIZE) std::atomic ticket_{0}; alignas(CACHE_LINE_SIZE) std::atomic next_{0}; public: class LockGuard { TicketSpinlock* const m_; unsigned const ticket_; public: ATOMIC_QUEUE_INLINE LockGuard(TicketSpinlock& m) noexcept : m_(&m) , ticket_(m.lock()) {} LockGuard(LockGuard const&) = delete; LockGuard& operator=(LockGuard const&) = delete; ATOMIC_QUEUE_INLINE ~LockGuard() noexcept { m_->unlock(ticket_); } }; using scoped_lock = LockGuard; ATOMIC_QUEUE_INLINE TicketSpinlock() noexcept = default; TicketSpinlock(TicketSpinlock const&) = delete; TicketSpinlock& operator=(TicketSpinlock const&) = delete; ATOMIC_QUEUE_NOINLINE unsigned lock() noexcept { auto ticket = ticket_.fetch_add(1, std::memory_order_relaxed); for(;;) { auto position = ticket - next_.load(std::memory_order_acquire); if(ATOMIC_QUEUE_LIKELY(!position)) break; do spin_loop_pause(); while(--position); } return ticket; } ATOMIC_QUEUE_INLINE void unlock() noexcept { unlock(next_.load(std::memory_order_relaxed) + 1); } ATOMIC_QUEUE_INLINE void unlock(unsigned ticket) noexcept { next_.store(ticket + 1, std::memory_order_release); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// class UnfairSpinlock { std::atomic lock_{0}; public: using scoped_lock = std::lock_guard; UnfairSpinlock(UnfairSpinlock const&) = delete; UnfairSpinlock& operator=(UnfairSpinlock const&) = delete; ATOMIC_QUEUE_INLINE void lock() noexcept { for(;;) { if(!lock_.load(std::memory_order_relaxed) && !lock_.exchange(1, std::memory_order_acquire)) return; spin_loop_pause(); } } ATOMIC_QUEUE_INLINE void unlock() noexcept { lock_.store(0, std::memory_order_release); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // class SpinlockHle { // int lock_ = 0; // #ifdef __gcc__ // static constexpr int HLE_ACQUIRE = __ATOMIC_HLE_ACQUIRE; // static constexpr int HLE_RELEASE = __ATOMIC_HLE_RELEASE; // #else // static constexpr int HLE_ACQUIRE = 0; // static constexpr int HLE_RELEASE = 0; // #endif // public: // using scoped_lock = std::lock_guard; // SpinlockHle(SpinlockHle const&) = delete; // SpinlockHle& operator=(SpinlockHle const&) = delete; // void lock() noexcept { // for(int expected = 0; // !__atomic_compare_exchange_n(&lock_, &expected, 1, false, __ATOMIC_ACQUIRE | HLE_ACQUIRE, __ATOMIC_RELAXED); // expected = 0) // spin_loop_pause(); // } // void unlock() noexcept { // __atomic_store_n(&lock_, 0, __ATOMIC_RELEASE | HLE_RELEASE); // } // }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // class AdaptiveMutex { // pthread_mutex_t m_; // public: // using scoped_lock = std::lock_guard; // AdaptiveMutex() noexcept { // pthread_mutexattr_t a; // if(ATOMIC_QUEUE_UNLIKELY(::pthread_mutexattr_init(&a))) // std::abort(); // if(ATOMIC_QUEUE_UNLIKELY(::pthread_mutexattr_settype(&a, PTHREAD_MUTEX_ADAPTIVE_NP))) // std::abort(); // if(ATOMIC_QUEUE_UNLIKELY(::pthread_mutex_init(&m_, &a))) // std::abort(); // if(ATOMIC_QUEUE_UNLIKELY(::pthread_mutexattr_destroy(&a))) // std::abort(); // m_.__data.__spins = 32767; // } // AdaptiveMutex(AdaptiveMutex const&) = delete; // AdaptiveMutex& operator=(AdaptiveMutex const&) = delete; // ~AdaptiveMutex() noexcept { // if(ATOMIC_QUEUE_UNLIKELY(::pthread_mutex_destroy(&m_))) // std::abort(); // } // void lock() noexcept { // if(ATOMIC_QUEUE_UNLIKELY(::pthread_mutex_lock(&m_))) // std::abort(); // } // void unlock() noexcept { // if(ATOMIC_QUEUE_UNLIKELY(::pthread_mutex_unlock(&m_))) // std::abort(); // } // }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace atomic_queue //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif // ATOMIC_QUEUE_SPIN_LOCK_H_INCLUDED max0x7ba-atomic_queue-40624b8/meson.build000066400000000000000000000064721525237550500202560ustar00rootroot00000000000000# Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. # (rm -rf build; meson setup build; time ninja -C build -v) # # export CXX=g++; rm -rf /tmp/build; cd ~/src/atomic_queue && meson setup /tmp/build -Dwerror=true -Dwarning_level=2 -Dbenchmarks=true && meson compile -vC /tmp/build && meson test -vC /tmp/build --print-errorlogs project( 'atomic_queue', 'cpp', version : '1.9.4', license : 'MIT', default_options : ['cpp_std=c++14', 'buildtype=release', 'b_ndebug=if-release'] ) cxx = meson.get_compiler('cpp') atomic_queue_deps = [dependency('threads')] # clang++ does not always inline atomic operations and may emit calls to libatomic, so link with it explicitly. if cxx.get_id() == 'clang' atomic_queue_deps += cxx.find_library('atomic', required : false) endif atomic_queue_dep = declare_dependency(include_directories : ['include'], dependencies : atomic_queue_deps) meson.override_dependency('atomic_queue', atomic_queue_dep) if get_option('tests') unit_test_framework_dep = dependency('boost', modules : ['unit_test_framework']) tests_exe = executable( 'tests', 'src/tests.cc', dependencies : [atomic_queue_dep, unit_test_framework_dep], ) test('tests', tests_exe, args : ['--log_level=unit_scope', '--report_level=short'], is_parallel : false) example_exe = executable( 'example', 'src/example.cc', dependencies : [atomic_queue_dep], ) test('example', example_exe, is_parallel : false) endif if get_option('benchmarks') # libdl is folded into libc on modern glibc (>= 2.34), so it may not exist as a separate library even though dlsym() links fine. dl_dep = cxx.find_library('dl', required : false) xenium_dep = declare_dependency(include_directories : '../xenium') boost_dep = dependency('boost') # Prefer the packaged TBB dependency (pkg-config/CMake config) and fall back to a plain library lookup if it is not discoverable. tbb_dep = dependency('tbb', required : false) if not tbb_dep.found() tbb_dep = cxx.find_library('tbb') endif moodycamel_dep = declare_dependency(include_directories : '../') benchmarks_exe = executable( 'benchmarks', ['src/benchmarks.cc', 'src/cpu_base_frequency.cc', 'src/huge_pages.cc'], dependencies : [atomic_queue_dep, dl_dep, xenium_dep, boost_dep, tbb_dep, moodycamel_dep], override_options : ['cpp_std=c++17'] # Benchmarks require C++17 or higher ) benchmark('benchmarks', benchmarks_exe, timeout: 3600) endif if get_option('benchmarks_min') dl_dep = cxx.find_library('dl', required : false) boost_dep = dependency('boost') benchmarks_min_exe = executable( 'benchmarks_min', ['src/benchmarks_min.cc', 'src/cpu_base_frequency.cc', 'src/huge_pages.cc'], dependencies : [atomic_queue_dep, dl_dep] ) benchmark('benchmarks_min', benchmarks_min_exe, timeout: 300) endif install_headers( files( 'include/atomic_queue/atomic_queue.h', 'include/atomic_queue/atomic_queue_mutex.h', 'include/atomic_queue/barrier.h', 'include/atomic_queue/defs.h', 'include/atomic_queue/spinlock.h', ), subdir: 'atomic_queue' ) pkg = import('pkgconfig') pkg.generate( name: 'atomic_queue', description: 'C++14 concurrent lock-free low-latency queue', url: 'https://github.com/max0x7ba/atomic_queue/', version: meson.project_version(), libraries: [atomic_queue_deps], ) max0x7ba-atomic_queue-40624b8/meson_options.txt000066400000000000000000000006001525237550500215340ustar00rootroot00000000000000option('benchmarks', type : 'boolean', value : false, description : 'Build benchmarks (requires Boost, TBB, Xenium, moodycamel and C++17)') option('tests', type : 'boolean', value : true, description : 'Build tests and example (requires Boost)') option('benchmarks_min', type : 'boolean', value : false, description : 'Build minimal benchmarks (requires Boost)') max0x7ba-atomic_queue-40624b8/results/000077500000000000000000000000001525237550500176045ustar00rootroot00000000000000max0x7ba-atomic_queue-40624b8/results/632bae1.ryzen_5950x.smt0.20260914T154451.gcc-14.16.33.txt000066400000000000000000022743761525237550500275030ustar00rootroot00000000000000 2026-09-14 15:44:51 [1/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip AtomicQueue: 0.000000112 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000091 sec/round-trip AtomicQueue2: 0.000000118 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000295 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000141 sec/round-trip boost::lockfree::queue: 0.000000214 sec/round-trip std::mutex: 0.000000446 sec/round-trip pthread_spinlock: 0.000000229 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,126,223 msg/sec boost::lockfree::spsc_queue, 1,i: 112,522,497 msg/sec AtomicQueue, 1,s: 145,967,319 msg/sec AtomicQueue, 1,i: 146,539,700 msg/sec AtomicQueue, 2,s: 9,903,143 msg/sec AtomicQueue, 2,i: 10,345,447 msg/sec AtomicQueue, 3,s: 8,321,936 msg/sec AtomicQueue, 3,i: 8,790,651 msg/sec AtomicQueue, 4,s: 6,607,023 msg/sec AtomicQueue, 4,i: 7,020,586 msg/sec AtomicQueue, 5,s: 3,170,865 msg/sec AtomicQueue, 5,i: 4,321,750 msg/sec AtomicQueue, 6,s: 2,598,224 msg/sec AtomicQueue, 6,i: 3,523,718 msg/sec AtomicQueue, 7,s: 2,961,347 msg/sec AtomicQueue, 7,i: 3,198,995 msg/sec AtomicQueue, 8,s: 3,116,448 msg/sec AtomicQueue, 8,i: 2,894,659 msg/sec OptimistAtomicQueue, 1,s: 1,196,119,825 msg/sec OptimistAtomicQueue, 1,i: 1,193,949,164 msg/sec OptimistAtomicQueue, 2,s: 53,570,103 msg/sec OptimistAtomicQueue, 2,i: 52,966,039 msg/sec OptimistAtomicQueue, 3,s: 58,743,533 msg/sec OptimistAtomicQueue, 3,i: 60,016,657 msg/sec OptimistAtomicQueue, 4,s: 59,181,130 msg/sec OptimistAtomicQueue, 4,i: 66,268,093 msg/sec OptimistAtomicQueue, 5,s: 33,160,097 msg/sec OptimistAtomicQueue, 5,i: 40,031,237 msg/sec OptimistAtomicQueue, 6,s: 34,561,805 msg/sec OptimistAtomicQueue, 6,i: 35,198,366 msg/sec OptimistAtomicQueue, 7,s: 40,179,497 msg/sec OptimistAtomicQueue, 7,i: 39,903,721 msg/sec OptimistAtomicQueue, 8,s: 50,517,152 msg/sec OptimistAtomicQueue, 8,i: 41,236,242 msg/sec AtomicQueueB, 1,s: 53,196,145 msg/sec AtomicQueueB, 1,i: 49,703,919 msg/sec AtomicQueueB, 2,s: 9,560,046 msg/sec AtomicQueueB, 2,i: 10,114,089 msg/sec AtomicQueueB, 3,s: 8,267,991 msg/sec AtomicQueueB, 3,i: 8,756,246 msg/sec AtomicQueueB, 4,s: 6,542,155 msg/sec AtomicQueueB, 4,i: 6,900,642 msg/sec AtomicQueueB, 5,s: 3,094,180 msg/sec AtomicQueueB, 5,i: 4,316,734 msg/sec AtomicQueueB, 6,s: 2,571,630 msg/sec AtomicQueueB, 6,i: 3,501,352 msg/sec AtomicQueueB, 7,s: 2,924,280 msg/sec AtomicQueueB, 7,i: 3,157,859 msg/sec AtomicQueueB, 8,s: 3,057,997 msg/sec AtomicQueueB, 8,i: 2,879,493 msg/sec OptimistAtomicQueueB, 1,s: 532,814,000 msg/sec OptimistAtomicQueueB, 1,i: 518,079,399 msg/sec OptimistAtomicQueueB, 2,s: 47,318,979 msg/sec OptimistAtomicQueueB, 2,i: 49,382,584 msg/sec OptimistAtomicQueueB, 3,s: 58,607,066 msg/sec OptimistAtomicQueueB, 3,i: 58,293,245 msg/sec OptimistAtomicQueueB, 4,s: 59,548,300 msg/sec OptimistAtomicQueueB, 4,i: 65,994,723 msg/sec OptimistAtomicQueueB, 5,s: 33,072,583 msg/sec OptimistAtomicQueueB, 5,i: 36,980,109 msg/sec OptimistAtomicQueueB, 6,s: 34,358,395 msg/sec OptimistAtomicQueueB, 6,i: 34,023,523 msg/sec OptimistAtomicQueueB, 7,s: 39,087,905 msg/sec OptimistAtomicQueueB, 7,i: 39,952,839 msg/sec OptimistAtomicQueueB, 8,s: 51,471,633 msg/sec OptimistAtomicQueueB, 8,i: 41,176,543 msg/sec AtomicQueue2, 1,s: 127,424,722 msg/sec AtomicQueue2, 1,i: 73,794,032 msg/sec AtomicQueue2, 2,s: 9,945,877 msg/sec AtomicQueue2, 2,i: 10,536,710 msg/sec AtomicQueue2, 3,s: 8,410,207 msg/sec AtomicQueue2, 3,i: 8,919,614 msg/sec AtomicQueue2, 4,s: 6,680,823 msg/sec AtomicQueue2, 4,i: 7,085,068 msg/sec AtomicQueue2, 5,s: 3,144,691 msg/sec AtomicQueue2, 5,i: 4,287,774 msg/sec AtomicQueue2, 6,s: 2,568,985 msg/sec AtomicQueue2, 6,i: 3,975,932 msg/sec AtomicQueue2, 7,s: 2,902,433 msg/sec AtomicQueue2, 7,i: 3,216,903 msg/sec AtomicQueue2, 8,s: 3,001,221 msg/sec AtomicQueue2, 8,i: 2,879,666 msg/sec OptimistAtomicQueue2, 1,s: 107,276,805 msg/sec OptimistAtomicQueue2, 1,i: 107,325,276 msg/sec OptimistAtomicQueue2, 2,s: 44,081,611 msg/sec OptimistAtomicQueue2, 2,i: 46,962,765 msg/sec OptimistAtomicQueue2, 3,s: 56,640,275 msg/sec OptimistAtomicQueue2, 3,i: 50,061,245 msg/sec OptimistAtomicQueue2, 4,s: 59,295,878 msg/sec OptimistAtomicQueue2, 4,i: 57,904,425 msg/sec OptimistAtomicQueue2, 5,s: 31,459,528 msg/sec OptimistAtomicQueue2, 5,i: 32,556,957 msg/sec OptimistAtomicQueue2, 6,s: 32,917,302 msg/sec OptimistAtomicQueue2, 6,i: 32,462,771 msg/sec OptimistAtomicQueue2, 7,s: 37,756,706 msg/sec OptimistAtomicQueue2, 7,i: 37,713,861 msg/sec OptimistAtomicQueue2, 8,s: 49,023,669 msg/sec OptimistAtomicQueue2, 8,i: 39,860,951 msg/sec AtomicQueueB2, 1,s: 71,564,137 msg/sec AtomicQueueB2, 1,i: 71,990,551 msg/sec AtomicQueueB2, 2,s: 9,838,067 msg/sec AtomicQueueB2, 2,i: 10,424,472 msg/sec AtomicQueueB2, 3,s: 8,313,151 msg/sec AtomicQueueB2, 3,i: 8,831,827 msg/sec AtomicQueueB2, 4,s: 6,620,641 msg/sec AtomicQueueB2, 4,i: 6,957,811 msg/sec AtomicQueueB2, 5,s: 3,086,610 msg/sec AtomicQueueB2, 5,i: 4,321,445 msg/sec AtomicQueueB2, 6,s: 2,546,669 msg/sec AtomicQueueB2, 6,i: 3,982,054 msg/sec AtomicQueueB2, 7,s: 2,892,969 msg/sec AtomicQueueB2, 7,i: 3,173,235 msg/sec AtomicQueueB2, 8,s: 3,015,056 msg/sec AtomicQueueB2, 8,i: 2,836,280 msg/sec OptimistAtomicQueueB2, 1,s: 151,824,184 msg/sec OptimistAtomicQueueB2, 1,i: 150,587,567 msg/sec OptimistAtomicQueueB2, 2,s: 42,083,847 msg/sec OptimistAtomicQueueB2, 2,i: 46,006,471 msg/sec OptimistAtomicQueueB2, 3,s: 56,908,317 msg/sec OptimistAtomicQueueB2, 3,i: 53,154,517 msg/sec OptimistAtomicQueueB2, 4,s: 58,987,354 msg/sec OptimistAtomicQueueB2, 4,i: 59,763,388 msg/sec OptimistAtomicQueueB2, 5,s: 31,346,401 msg/sec OptimistAtomicQueueB2, 5,i: 31,507,819 msg/sec OptimistAtomicQueueB2, 6,s: 32,911,896 msg/sec OptimistAtomicQueueB2, 6,i: 32,266,327 msg/sec OptimistAtomicQueueB2, 7,s: 37,134,528 msg/sec OptimistAtomicQueueB2, 7,i: 37,004,209 msg/sec OptimistAtomicQueueB2, 8,s: 47,951,288 msg/sec OptimistAtomicQueueB2, 8,i: 38,948,344 msg/sec moodycamel::ReaderWriterQueue, 1,s: 976,942,783 msg/sec moodycamel::ReaderWriterQueue, 1,i: 51,948,397 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,017,449 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,217,789 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,898,049 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,722,950 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,797,482 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,762,812 msg/sec moodycamel::ConcurrentQueue, 4,s: 101,733,174 msg/sec moodycamel::ConcurrentQueue, 4,i: 75,606,589 msg/sec moodycamel::ConcurrentQueue, 5,s: 135,910,848 msg/sec moodycamel::ConcurrentQueue, 5,i: 192,291,987 msg/sec moodycamel::ConcurrentQueue, 6,s: 187,271,875 msg/sec moodycamel::ConcurrentQueue, 6,i: 206,272,548 msg/sec moodycamel::ConcurrentQueue, 7,s: 232,925,171 msg/sec moodycamel::ConcurrentQueue, 7,i: 237,488,112 msg/sec moodycamel::ConcurrentQueue, 8,s: 263,421,737 msg/sec moodycamel::ConcurrentQueue, 8,i: 249,339,379 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,807,906 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,829,064 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,136,405 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,135,613 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,969,857 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,070,786 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,417,559 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,620,496 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,857 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,109,988 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,787,051 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,433,908 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,669,641 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,152,038 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,786,882 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,813,029 msg/sec xenium::michael_scott_queue, 1,s: 13,342,494 msg/sec xenium::michael_scott_queue, 1,i: 13,682,571 msg/sec xenium::michael_scott_queue, 2,s: 9,448,484 msg/sec xenium::michael_scott_queue, 2,i: 9,157,334 msg/sec xenium::michael_scott_queue, 3,s: 7,618,963 msg/sec xenium::michael_scott_queue, 3,i: 7,531,616 msg/sec xenium::michael_scott_queue, 4,s: 5,858,195 msg/sec xenium::michael_scott_queue, 4,i: 5,812,815 msg/sec xenium::michael_scott_queue, 5,s: 3,597,775 msg/sec xenium::michael_scott_queue, 5,i: 4,641,003 msg/sec xenium::michael_scott_queue, 6,s: 3,370,250 msg/sec xenium::michael_scott_queue, 6,i: 3,614,214 msg/sec xenium::michael_scott_queue, 7,s: 3,160,795 msg/sec xenium::michael_scott_queue, 7,i: 3,175,004 msg/sec xenium::michael_scott_queue, 8,s: 2,354,272 msg/sec xenium::michael_scott_queue, 8,i: 2,787,642 msg/sec xenium::ramalhete_queue, 1,s: 70,794,429 msg/sec xenium::ramalhete_queue, 1,i: 66,195,233 msg/sec xenium::ramalhete_queue, 2,s: 50,649,559 msg/sec xenium::ramalhete_queue, 2,i: 46,883,240 msg/sec xenium::ramalhete_queue, 3,s: 42,252,513 msg/sec xenium::ramalhete_queue, 3,i: 42,434,511 msg/sec xenium::ramalhete_queue, 4,s: 45,220,157 msg/sec xenium::ramalhete_queue, 4,i: 51,680,737 msg/sec xenium::ramalhete_queue, 5,s: 37,518,292 msg/sec xenium::ramalhete_queue, 5,i: 23,665,396 msg/sec xenium::ramalhete_queue, 6,s: 38,533,354 msg/sec xenium::ramalhete_queue, 6,i: 26,445,171 msg/sec xenium::ramalhete_queue, 7,s: 39,560,355 msg/sec xenium::ramalhete_queue, 7,i: 28,893,329 msg/sec xenium::ramalhete_queue, 8,s: 49,656,483 msg/sec xenium::ramalhete_queue, 8,i: 29,718,283 msg/sec xenium::vyukov_bounded_queue, 1,s: 314,787,003 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,846,673 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,600,533 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,213,365 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,486,907 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,106,906 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,422,926 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,552,277 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,915,613 msg/sec xenium::vyukov_bounded_queue, 5,i: 8,402,297 msg/sec xenium::vyukov_bounded_queue, 6,s: 6,992,364 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,695,999 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,211,298 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,432,988 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,557,157 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,567,194 msg/sec boost::lockfree::queue, 1,s: 7,781,187 msg/sec boost::lockfree::queue, 1,i: 7,792,362 msg/sec boost::lockfree::queue, 2,s: 5,882,185 msg/sec boost::lockfree::queue, 2,i: 5,902,709 msg/sec boost::lockfree::queue, 3,s: 4,945,320 msg/sec boost::lockfree::queue, 3,i: 4,806,749 msg/sec boost::lockfree::queue, 4,s: 4,367,889 msg/sec boost::lockfree::queue, 4,i: 4,363,294 msg/sec boost::lockfree::queue, 5,s: 2,646,298 msg/sec boost::lockfree::queue, 5,i: 2,902,598 msg/sec boost::lockfree::queue, 6,s: 1,433,282 msg/sec boost::lockfree::queue, 6,i: 2,819,468 msg/sec boost::lockfree::queue, 7,s: 1,391,666 msg/sec boost::lockfree::queue, 7,i: 2,877,116 msg/sec boost::lockfree::queue, 8,s: 1,158,200 msg/sec boost::lockfree::queue, 8,i: 1,920,346 msg/sec std::mutex, 1,s: 3,789,657 msg/sec std::mutex, 1,i: 3,740,441 msg/sec std::mutex, 2,s: 13,077,526 msg/sec std::mutex, 2,i: 12,533,247 msg/sec std::mutex, 3,s: 7,223,699 msg/sec std::mutex, 3,i: 6,845,785 msg/sec std::mutex, 4,s: 7,080,825 msg/sec std::mutex, 4,i: 6,714,549 msg/sec std::mutex, 5,s: 3,391,930 msg/sec std::mutex, 5,i: 3,540,510 msg/sec std::mutex, 6,s: 3,008,019 msg/sec std::mutex, 6,i: 2,963pthread_spinlock: producers: 5: consumer 3 received too few messages: 0.06% of expected. pthread_spinlock: producers: 5: consumer 2 received too few messages: 0.07% of expected. ,534 msg/sec std::mutex, 7,s: 3,266,422 msg/sec std::mutex, 7,i: 2,879,195 msg/sec std::mutex, 8,s: 3,541,779 msg/sec std::mutex, 8,i: 2,853,085 msg/sec pthread_spinlock, 1,s: 17,870,304 msg/sec pthread_spinlock, 1,i: 17,991,735 msg/sec pthread_spinlock, 2,s: 7,745,234 msg/sec pthread_spinlock, 2,i: 2,074,791 msg/sec pthread_spinlock, 3,s: 978,165 msg/sec pthread_spinlock, 3,i: 5,962,825 msg/sec pthread_spinlock, 4,s: 1,891,739 msg/sec pthread_spinlock, 4,i: 880,217 msg/sec pthread_spinlock, 5,s: 2,791,477 msg/sec pthread_spinlock, 5,i: 3,828,977 msg/sec pthread_spinlock, 6,s: 1,972,634 msg/sec pthread_spinlock, 6,i: 3,033,627 msg/sec pthread_spinlock, 7,s: 2,967,132 msg/sec pthread_spinlock, 7,i: 3,066,339 msg/sec pthread_spinlock, 8,s: 2,976,859 msg/sec pthread_spinlock, 8,i: 2,692,576 msg/sec tbb::spin_mutex, 1,s: 38,599,508 msg/sec tbb::spin_mutex, 1,i: 39,105,706 msg/sec tbb::spin_mutex, 2,s: 16,538,794 msg/sec tbb::spin_mutex, 2,i: 15,977,210 msg/sec tbb::spin_mutex, 3,s: 12,047,279 msg/sec tbb::spin_mutex, 3,i: 11,944,140 msg/sec tbb::spin_mutex, 4,s: 10,285,383 msg/sec tbb::spin_mutex, 4,i: 9,955,782 msg/sec tbb::spin_mutex, 5,s: 5,966,935 msg/sec tbb::spin_mutex, 5,i: 5,523,864 msg/sec tbb::spin_mutex, 6,s: 5,096,737 msg/sec tbb::spin_mutex, 6,i: 4,859,430 msg/sec tbb::spin_mutex, 7,s: 4,425,750 msg/sec tbb::spin_mutex, 7,i: 4,741,027 msg/sec tbb::spin_mutex, 8,s: 4,272,755 msg/sec tbb::spin_mutex, 8,i: 4,048,708 msg/sec Elapsed time 2:41.44, user 1276.74s, system 110.47s, CPU 859%, RSS 58952kB, exit-status 0. 2026-09-14 15:47:33 [2/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip AtomicQueue: 0.000000111 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000089 sec/round-trip AtomicQueue2: 0.000000117 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000453 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,990,150 msg/sec boost::lockfree::spsc_queue, 1,i: 112,533,767 msg/sec AtomicQueue, 1,s: 146,652,521 msg/sec AtomicQueue, 1,i: 142,590,416 msg/sec AtomicQueue, 2,s: 9,881,868 msg/sec AtomicQueue, 2,i: 10,343,284 msg/sec AtomicQueue, 3,s: 8,338,187 msg/sec AtomicQueue, 3,i: 8,815,589 msg/sec AtomicQueue, 4,s: 6,605,780 msg/sec AtomicQueue, 4,i: 7,013,991 msg/sec AtomicQueue, 5,s: 3,170,372 msg/sec AtomicQueue, 5,i: 3,764,909 msg/sec AtomicQueue, 6,s: 2,596,370 msg/sec AtomicQueue, 6,i: 3,527,830 msg/sec AtomicQueue, 7,s: 2,961,498 msg/sec AtomicQueue, 7,i: 3,209,320 msg/sec AtomicQueue, 8,s: 3,112,505 msg/sec AtomicQueue, 8,i: 2,906,253 msg/sec OptimistAtomicQueue, 1,s: 1,196,549,178 msg/sec OptimistAtomicQueue, 1,i: 1,199,031,139 msg/sec OptimistAtomicQueue, 2,s: 48,216,379 msg/sec OptimistAtomicQueue, 2,i: 52,293,226 msg/sec OptimistAtomicQueue, 3,s: 58,730,458 msg/sec OptimistAtomicQueue, 3,i: 59,476,807 msg/sec OptimistAtomicQueue, 4,s: 59,292,432 msg/sec OptimistAtomicQueue, 4,i: 66,246,802 msg/sec OptimistAtomicQueue, 5,s: 33,251,391 msg/sec OptimistAtomicQueue, 5,i: 38,819,288 msg/sec OptimistAtomicQueue, 6,s: 34,665,486 msg/sec OptimistAtomicQueue, 6,i: 35,154,540 msg/sec OptimistAtomicQueue, 7,s: 39,991,312 msg/sec OptimistAtomicQueue, 7,i: 40,019,911 msg/sec OptimistAtomicQueue, 8,s: 50,482,954 msg/sec OptimistAtomicQueue, 8,i: 41,182,427 msg/sec AtomicQueueB, 1,s: 50,712,333 msg/sec AtomicQueueB, 1,i: 49,721,317 msg/sec AtomicQueueB, 2,s: 9,485,964 msg/sec AtomicQueueB, 2,i: 9,876,687 msg/sec AtomicQueueB, 3,s: 8,258,475 msg/sec AtomicQueueB, 3,i: 8,668,884 msg/sec AtomicQueueB, 4,s: 6,543,290 msg/sec AtomicQueueB, 4,i: 6,900,994 msg/sec AtomicQueueB, 5,s: 3,124,889 msg/sec AtomicQueueB, 5,i: 4,324,830 msg/sec AtomicQueueB, 6,s: 2,572,572 msg/sec AtomicQueueB, 6,i: 3,494,834 msg/sec AtomicQueueB, 7,s: 2,915,961 msg/sec AtomicQueueB, 7,i: 3,219,256 msg/sec AtomicQueueB, 8,s: 3,057,960 msg/sec AtomicQueueB, 8,i: 2,865,951 msg/sec OptimistAtomicQueueB, 1,s: 934,858,925 msg/sec OptimistAtomicQueueB, 1,i: 520,628,246 msg/sec OptimistAtomicQueueB, 2,s: 49,472,487 msg/sec OptimistAtomicQueueB, 2,i: 49,450,958 msg/sec OptimistAtomicQueueB, 3,s: 58,624,278 msg/sec OptimistAtomicQueueB, 3,i: 57,667,397 msg/sec OptimistAtomicQueueB, 4,s: 59,617,809 msg/sec OptimistAtomicQueueB, 4,i: 66,329,673 msg/sec OptimistAtomicQueueB, 5,s: 33,128,043 msg/sec OptimistAtomicQueueB, 5,i: 40,640,540 msg/sec OptimistAtomicQueueB, 6,s: 34,338,197 msg/sec OptimistAtomicQueueB, 6,i: 34,015,341 msg/sec OptimistAtomicQueueB, 7,s: 39,163,387 msg/sec OptimistAtomicQueueB, 7,i: 40,040,934 msg/sec OptimistAtomicQueueB, 8,s: 51,591,525 msg/sec OptimistAtomicQueueB, 8,i: 41,212,213 msg/sec AtomicQueue2, 1,s: 129,349,975 msg/sec AtomicQueue2, 1,i: 122,989,690 msg/sec AtomicQueue2, 2,s: 9,958,366 msg/sec AtomicQueue2, 2,i: 10,516,500 msg/sec AtomicQueue2, 3,s: 8,417,621 msg/sec AtomicQueue2, 3,i: 8,896,811 msg/sec AtomicQueue2, 4,s: 6,680,743 msg/sec AtomicQueue2, 4,i: 7,093,904 msg/sec AtomicQueue2, 5,s: 3,142,613 msg/sec AtomicQueue2, 5,i: 3,717,928 msg/sec AtomicQueue2, 6,s: 2,568,707 msg/sec AtomicQueue2, 6,i: 3,508,211 msg/sec AtomicQueue2, 7,s: 2,899,145 msg/sec AtomicQueue2, 7,i: 3,223,299 msg/sec AtomicQueue2, 8,s: 3,020,990 msg/sec AtomicQueue2, 8,i: 2,885,275 msg/sec OptimistAtomicQueue2, 1,s: 107,606,715 msg/sec OptimistAtomicQueue2, 1,i: 107,320,093 msg/sec OptimistAtomicQueue2, 2,s: 43,678,727 msg/sec OptimistAtomicQueue2, 2,i: 46,893,660 msg/sec OptimistAtomicQueue2, 3,s: 55,582,725 msg/sec OptimistAtomicQueue2, 3,i: 50,007,573 msg/sec OptimistAtomicQueue2, 4,s: 59,143,994 msg/sec OptimistAtomicQueue2, 4,i: 57,911,634 msg/sec OptimistAtomicQueue2, 5,s: 31,459,044 msg/sec OptimistAtomicQueue2, 5,i: 33,933,669 msg/sec OptimistAtomicQueue2, 6,s: 33,008,940 msg/sec OptimistAtomicQueue2, 6,i: 32,629,491 msg/sec OptimistAtomicQueue2, 7,s: 37,735,094 msg/sec OptimistAtomicQueue2, 7,i: 37,654,276 msg/sec OptimistAtomicQueue2, 8,s: 49,065,738 msg/sec OptimistAtomicQueue2, 8,i: 39,873,252 msg/sec AtomicQueueB2, 1,s: 72,345,793 msg/sec AtomicQueueB2, 1,i: 78,000,432 msg/sec AtomicQueueB2, 2,s: 9,846,489 msg/sec AtomicQueueB2, 2,i: 10,404,764 msg/sec AtomicQueueB2, 3,s: 8,312,784 msg/sec AtomicQueueB2, 3,i: 8,843,049 msg/sec AtomicQueueB2, 4,s: 6,620,527 msg/sec AtomicQueueB2, 4,i: 6,966,175 msg/sec AtomicQueueB2, 5,s: 3,094,575 msg/sec AtomicQueueB2, 5,i: 3,652,970 msg/sec AtomicQueueB2, 6,s: 2,554,858 msg/sec AtomicQueueB2, 6,i: 3,423,864 msg/sec AtomicQueueB2, 7,s: 2,897,724 msg/sec AtomicQueueB2, 7,i: 3,178,339 msg/sec AtomicQueueB2, 8,s: 3,016,575 msg/sec AtomicQueueB2, 8,i: 2,836,749 msg/sec OptimistAtomicQueueB2, 1,s: 152,774,217 msg/sec OptimistAtomicQueueB2, 1,i: 151,332,512 msg/sec OptimistAtomicQueueB2, 2,s: 41,966,158 msg/sec OptimistAtomicQueueB2, 2,i: 46,094,072 msg/sec OptimistAtomicQueueB2, 3,s: 56,878,410 msg/sec OptimistAtomicQueueB2, 3,i: 53,118,885 msg/sec OptimistAtomicQueueB2, 4,s: 59,022,168 msg/sec OptimistAtomicQueueB2, 4,i: 59,834,010 msg/sec OptimistAtomicQueueB2, 5,s: 31,314,755 msg/sec OptimistAtomicQueueB2, 5,i: 32,617,921 msg/sec OptimistAtomicQueueB2, 6,s: 32,909,264 msg/sec OptimistAtomicQueueB2, 6,i: 32,453,068 msg/sec OptimistAtomicQueueB2, 7,s: 37,178,388 msg/sec OptimistAtomicQueueB2, 7,i: 37,062,948 msg/sec OptimistAtomicQueueB2, 8,s: 48,022,025 msg/sec OptimistAtomicQueueB2, 8,i: 38,975,759 msg/sec moodycamel::ReaderWriterQueue, 1,s: 82,983,260 msg/sec moodycamel::ReaderWriterQueue, 1,i: 114,383,421 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,241,584 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,344,773 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,914,909 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,570,328 msg/sec moodycamel::ConcurrentQueue, 3,s: 53,980,945 msg/sec moodycamel::ConcurrentQueue, 3,i: 48,889,123 msg/sec moodycamel::ConcurrentQueue, 4,s: 88,895,798 msg/sec moodycamel::ConcurrentQueue, 4,i: 99,126,909 msg/sec moodycamel::ConcurrentQueue, 5,s: 133,612,657 msg/sec moodycamel::ConcurrentQueue, 5,i: 169,501,145 msg/sec moodycamel::ConcurrentQueue, 6,s: 195,888,414 msg/sec moodycamel::ConcurrentQueue, 6,i: 130,312,342 msg/sec moodycamel::ConcurrentQueue, 7,s: 226,308,856 msg/sec moodycamel::ConcurrentQueue, 7,i: 168,968,321 msg/sec moodycamel::ConcurrentQueue, 8,s: 250,860,538 msg/sec moodycamel::ConcurrentQueue, 8,i: 236,456,268 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,780,041 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,789,958 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,127,550 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,141,850 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,978,693 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,078,472 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,428,016 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,626,826 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,078,834 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,114,152 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,797,404 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,428,085 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,660,732 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,146,186 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,780,794 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,810,238 msg/sec xenium::michael_scott_queue, 1,s: 13,441,301 msg/sec xenium::michael_scott_queue, 1,i: 13,764,125 msg/sec xenium::michael_scott_queue, 2,s: 9,446,683 msg/sec xenium::michael_scott_queue, 2,i: 9,211,183 msg/sec xenium::michael_scott_queue, 3,s: 7,631,091 msg/sec xenium::michael_scott_queue, 3,i: 7,537,176 msg/sec xenium::michael_scott_queue, 4,s: 5,894,126 msg/sec xenium::michael_scott_queue, 4,i: 5,841,820 msg/sec xenium::michael_scott_queue, 5,s: 3,652,231 msg/sec xenium::michael_scott_queue, 5,i: 3,920,600 msg/sec xenium::michael_scott_queue, 6,s: 3,310,191 msg/sec xenium::michael_scott_queue, 6,i: 3,914,689 msg/sec xenium::michael_scott_queue, 7,s: 3,168,172 msg/sec xenium::michael_scott_queue, 7,i: 3,256,606 msg/sec xenium::michael_scott_queue, 8,s: 2,354,587 msg/sec xenium::michael_scott_queue, 8,i: 2,792,119 msg/sec xenium::ramalhete_queue, 1,s: 74,180,381 msg/sec xenium::ramalhete_queue, 1,i: 68,350,125 msg/sec xenium::ramalhete_queue, 2,s: 47,304,228 msg/sec xenium::ramalhete_queue, 2,i: 50,890,324 msg/sec xenium::ramalhete_queue, 3,s: 39,440,698 msg/sec xenium::ramalhete_queue, 3,i: 40,678,147 msg/sec xenium::ramalhete_queue, 4,s: 50,990,953 msg/sec xenium::ramalhete_queue, 4,i: 50,309,416 msg/sec xenium::ramalhete_queue, 5,s: 37,508,709 msg/sec xenium::ramalhete_queue, 5,i: 23,280,930 msg/sec xenium::ramalhete_queue, 6,s: 38,719,729 msg/sec xenium::ramalhete_queue, 6,i: 26,583,002 msg/sec xenium::ramalhete_queue, 7,s: 36,518,994 msg/sec xenium::ramalhete_queue, 7,i: 31,692,960 msg/sec xenium::ramalhete_queue, 8,s: 48,901,217 msg/sec xenium::ramalhete_queue, 8,i: 34,013,792 msg/sec xenium::vyukov_bounded_queue, 1,s: 292,080,443 msg/sec xenium::vyukov_bounded_queue, 1,i: 309,684,793 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,500,682 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,731,137 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,560,539 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,125,351 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,571,978 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,543,756 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,082,018 msg/sec xenium::vyukov_bounded_queue, 5,i: 8,184,109 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,007,571 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,470,560 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,119,195 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,436,431 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,416,192 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,575,350 msg/sec boost::lockfree::queue, 1,s: 7,743,957 msg/sec boost::lockfree::queue, 1,i: 7,888,453 msg/sec boost::lockfree::queue, 2,s: 5,845,735 msg/sec boost::lockfree::queue, 2,i: 5,930,598 msg/sec boost::lockfree::queue, 3,s: 4,946,694 msg/sec boost::lockfree::queue, 3,i: 4,799,025 msg/sec boost::lockfree::queue, 4,s: 4,366,811 msg/sec boost::lockfree::queue, 4,i: 4,369,725 msg/sec boost::lockfree::queue, 5,s: 2,668,957 msg/sec boost::lockfree::queue, 5,i: 2,909,331 msg/sec boost::lockfree::queue, 6,s: 1,437,355 msg/sec boost::lockfree::queue, 6,i: 2,804,003 msg/sec boost::lockfree::queue, 7,s: 1,386,287 msg/sec boost::lockfree::queue, 7,i: 2,861,475 msg/sec boost::lockfree::queue, 8,s: 1,160,694 msg/sec boost::lockfree::queue, 8,i: 1,846,746 msg/sec std::mutex, 1,s: 5,335,684 msg/sec std::mutex, 1,i: 4,652,266 msg/sec std::mutex, 2,s: 13,248,163 msg/sec std::mutex, 2,i: 12,369,349 msg/sec std::mutex, 3,s: 7,085,135 msg/sec std::mutex, 3,i: 6,789,926 msg/sec std::mutex, 4,s: 7,031,047 msg/sec std::mutex, 4,i: 6,675,900 msg/sec std::mutex, 5,s: 3,328,824 msg/sec std::mutex, 5,i: 3,426,549 msg/sec std::mutex, 6,s: 3,056,539 msg/sec std::mutex, 6,i: 3,052pthread_spinlock: producers: 5: consumer 1 received too few messages: 0.06% of expected. pthread_spinlock: producers: 5: consumer 1 received too few messages: 0.06% of expected. ,959 msg/sec std::mutex, 7,s: 3,215,645 msg/sec std::mutex, 7,i: 2,881,708 msg/sec std::mutex, 8,s: 3,479,261 msg/sec std::mutex, 8,i: 2,828,151 msg/sec pthread_spinlock, 1,s: 17,742,767 msg/sec pthread_spinlock, 1,i: 18,155,595 msg/sec pthread_spinlock, 2,s: 7,507,970 msg/sec pthread_spinlock, 2,i: 1,566,911 msg/sec pthread_spinlock, 3,s: 768,708 msg/sec pthread_spinlock, 3,i: 6,084,728 msg/sec pthread_spinlock, 4,s: 1,065,417 msg/sec pthread_spinlock, 4,i: 1,649,428 msg/sec pthread_spinlock, 5,s: 2,801,886 msg/sec pthread_spinlock, 5,i: 3,549,030 msg/sec pthread_spinlock, 6,s: 2,081,810 msg/sec pthread_spinlock, 6,i: 3,105,956 msg/sec pthread_spinlock, 7,s: 2,846,827 msg/sec pthread_spinlock, 7,i: 3,083,771 msg/sec pthread_spinlock, 8,s: 2,993,305 msg/sec pthread_spinlock, 8,i: 2,653,378 msg/sec tbb::spin_mutex, 1,s: 38,583,915 msg/sec tbb::spin_mutex, 1,i: 38,549,617 msg/sec tbb::spin_mutex, 2,s: 16,481,572 msg/sec tbb::spin_mutex, 2,i: 16,047,120 msg/sec tbb::spin_mutex, 3,s: 12,055,165 msg/sec tbb::spin_mutex, 3,i: 11,892,180 msg/sec tbb::spin_mutex, 4,s: 10,312,516 msg/sec tbb::spin_mutex, 4,i: 9,992,552 msg/sec tbb::spin_mutex, 5,s: 5,973,009 msg/sec tbb::spin_mutex, 5,i: 5,548,792 msg/sec tbb::spin_mutex, 6,s: 5,089,080 msg/sec tbb::spin_mutex, 6,i: 4,879,936 msg/sec tbb::spin_mutex, 7,s: 4,405,431 msg/sec tbb::spin_mutex, 7,i: 4,600,016 msg/sec tbb::spin_mutex, 8,s: 4,271,670 msg/sec tbb::spin_mutex, 8,i: 4,088,862 msg/sec Elapsed time 2:42.91, user 1285.83s, system 110.17s, CPU 856%, RSS 58952kB, exit-status 0. 2026-09-14 15:50:16 [3/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000112 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000089 sec/round-trip AtomicQueue2: 0.000000115 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000102 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000135 sec/round-trip xenium::vyukov_bounded_queue: 0.000000144 sec/round-trip boost::lockfree::queue: 0.000000210 sec/round-trip std::mutex: 0.000000444 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,235,684 msg/sec boost::lockfree::spsc_queue, 1,i: 113,469,206 msg/sec AtomicQueue, 1,s: 145,029,743 msg/sec AtomicQueue, 1,i: 147,427,164 msg/sec AtomicQueue, 2,s: 9,878,585 msg/sec AtomicQueue, 2,i: 10,336,408 msg/sec AtomicQueue, 3,s: 8,356,506 msg/sec AtomicQueue, 3,i: 8,822,471 msg/sec AtomicQueue, 4,s: 6,612,878 msg/sec AtomicQueue, 4,i: 7,017,841 msg/sec AtomicQueue, 5,s: 3,170,387 msg/sec AtomicQueue, 5,i: 4,318,239 msg/sec AtomicQueue, 6,s: 2,598,559 msg/sec AtomicQueue, 6,i: 4,031,106 msg/sec AtomicQueue, 7,s: 2,958,652 msg/sec AtomicQueue, 7,i: 3,215,647 msg/sec AtomicQueue, 8,s: 3,121,204 msg/sec AtomicQueue, 8,i: 2,900,189 msg/sec OptimistAtomicQueue, 1,s: 1,196,620,767 msg/sec OptimistAtomicQueue, 1,i: 1,199,822,361 msg/sec OptimistAtomicQueue, 2,s: 58,904,903 msg/sec OptimistAtomicQueue, 2,i: 56,761,395 msg/sec OptimistAtomicQueue, 3,s: 58,754,785 msg/sec OptimistAtomicQueue, 3,i: 60,247,268 msg/sec OptimistAtomicQueue, 4,s: 59,224,345 msg/sec OptimistAtomicQueue, 4,i: 66,260,805 msg/sec OptimistAtomicQueue, 5,s: 33,248,053 msg/sec OptimistAtomicQueue, 5,i: 42,824,815 msg/sec OptimistAtomicQueue, 6,s: 34,548,623 msg/sec OptimistAtomicQueue, 6,i: 34,135,829 msg/sec OptimistAtomicQueue, 7,s: 39,976,956 msg/sec OptimistAtomicQueue, 7,i: 40,019,559 msg/sec OptimistAtomicQueue, 8,s: 50,506,487 msg/sec OptimistAtomicQueue, 8,i: 41,214,200 msg/sec AtomicQueueB, 1,s: 50,215,415 msg/sec AtomicQueueB, 1,i: 50,533,924 msg/sec AtomicQueueB, 2,s: 9,523,238 msg/sec AtomicQueueB, 2,i: 10,056,122 msg/sec AtomicQueueB, 3,s: 8,255,110 msg/sec AtomicQueueB, 3,i: 8,662,484 msg/sec AtomicQueueB, 4,s: 6,547,467 msg/sec AtomicQueueB, 4,i: 6,912,128 msg/sec AtomicQueueB, 5,s: 3,141,825 msg/sec AtomicQueueB, 5,i: 4,355,292 msg/sec AtomicQueueB, 6,s: 2,607,557 msg/sec AtomicQueueB, 6,i: 3,463,398 msg/sec AtomicQueueB, 7,s: 2,934,174 msg/sec AtomicQueueB, 7,i: 3,169,739 msg/sec AtomicQueueB, 8,s: 3,057,242 msg/sec AtomicQueueB, 8,i: 2,863,534 msg/sec OptimistAtomicQueueB, 1,s: 703,873,265 msg/sec OptimistAtomicQueueB, 1,i: 519,230,699 msg/sec OptimistAtomicQueueB, 2,s: 48,634,784 msg/sec OptimistAtomicQueueB, 2,i: 49,056,929 msg/sec OptimistAtomicQueueB, 3,s: 58,633,387 msg/sec OptimistAtomicQueueB, 3,i: 57,668,162 msg/sec OptimistAtomicQueueB, 4,s: 59,494,344 msg/sec OptimistAtomicQueueB, 4,i: 66,107,847 msg/sec OptimistAtomicQueueB, 5,s: 33,054,983 msg/sec OptimistAtomicQueueB, 5,i: 39,388,919 msg/sec OptimistAtomicQueueB, 6,s: 34,357,958 msg/sec OptimistAtomicQueueB, 6,i: 34,868,171 msg/sec OptimistAtomicQueueB, 7,s: 39,320,685 msg/sec OptimistAtomicQueueB, 7,i: 40,005,518 msg/sec OptimistAtomicQueueB, 8,s: 51,470,997 msg/sec OptimistAtomicQueueB, 8,i: 41,202,975 msg/sec AtomicQueue2, 1,s: 127,217,070 msg/sec AtomicQueue2, 1,i: 133,447,553 msg/sec AtomicQueue2, 2,s: 9,953,478 msg/sec AtomicQueue2, 2,i: 10,529,855 msg/sec AtomicQueue2, 3,s: 8,418,137 msg/sec AtomicQueue2, 3,i: 8,930,050 msg/sec AtomicQueue2, 4,s: 6,681,065 msg/sec AtomicQueue2, 4,i: 7,080,630 msg/sec AtomicQueue2, 5,s: 3,142,612 msg/sec AtomicQueue2, 5,i: 4,284,224 msg/sec AtomicQueue2, 6,s: 2,568,065 msg/sec AtomicQueue2, 6,i: 3,485,023 msg/sec AtomicQueue2, 7,s: 2,903,088 msg/sec AtomicQueue2, 7,i: 3,224,308 msg/sec AtomicQueue2, 8,s: 3,013,268 msg/sec AtomicQueue2, 8,i: 2,880,192 msg/sec OptimistAtomicQueue2, 1,s: 107,984,583 msg/sec OptimistAtomicQueue2, 1,i: 107,189,990 msg/sec OptimistAtomicQueue2, 2,s: 43,445,418 msg/sec OptimistAtomicQueue2, 2,i: 47,618,405 msg/sec OptimistAtomicQueue2, 3,s: 56,279,472 msg/sec OptimistAtomicQueue2, 3,i: 49,994,648 msg/sec OptimistAtomicQueue2, 4,s: 59,140,461 msg/sec OptimistAtomicQueue2, 4,i: 57,946,701 msg/sec OptimistAtomicQueue2, 5,s: 31,430,528 msg/sec OptimistAtomicQueue2, 5,i: 34,373,218 msg/sec OptimistAtomicQueue2, 6,s: 32,858,421 msg/sec OptimistAtomicQueue2, 6,i: 32,402,448 msg/sec OptimistAtomicQueue2, 7,s: 37,688,718 msg/sec OptimistAtomicQueue2, 7,i: 37,746,531 msg/sec OptimistAtomicQueue2, 8,s: 49,011,175 msg/sec OptimistAtomicQueue2, 8,i: 39,863,541 msg/sec AtomicQueueB2, 1,s: 74,044,771 msg/sec AtomicQueueB2, 1,i: 47,737,563 msg/sec AtomicQueueB2, 2,s: 9,860,130 msg/sec AtomicQueueB2, 2,i: 10,407,154 msg/sec AtomicQueueB2, 3,s: 8,320,671 msg/sec AtomicQueueB2, 3,i: 8,829,869 msg/sec AtomicQueueB2, 4,s: 6,619,896 msg/sec AtomicQueueB2, 4,i: 6,977,394 msg/sec AtomicQueueB2, 5,s: 3,094,189 msg/sec AtomicQueueB2, 5,i: 4,312,462 msg/sec AtomicQueueB2, 6,s: 2,548,447 msg/sec AtomicQueueB2, 6,i: 3,981,364 msg/sec AtomicQueueB2, 7,s: 2,894,563 msg/sec AtomicQueueB2, 7,i: 3,267,372 msg/sec AtomicQueueB2, 8,s: 3,013,994 msg/sec AtomicQueueB2, 8,i: 2,835,088 msg/sec OptimistAtomicQueueB2, 1,s: 152,401,466 msg/sec OptimistAtomicQueueB2, 1,i: 150,268,965 msg/sec OptimistAtomicQueueB2, 2,s: 42,157,615 msg/sec OptimistAtomicQueueB2, 2,i: 46,154,660 msg/sec OptimistAtomicQueueB2, 3,s: 56,932,130 msg/sec OptimistAtomicQueueB2, 3,i: 53,131,274 msg/sec OptimistAtomicQueueB2, 4,s: 59,099,709 msg/sec OptimistAtomicQueueB2, 4,i: 59,865,387 msg/sec OptimistAtomicQueueB2, 5,s: 31,384,828 msg/sec OptimistAtomicQueueB2, 5,i: 32,343,204 msg/sec OptimistAtomicQueueB2, 6,s: 32,877,423 msg/sec OptimistAtomicQueueB2, 6,i: 32,277,949 msg/sec OptimistAtomicQueueB2, 7,s: 37,177,172 msg/sec OptimistAtomicQueueB2, 7,i: 37,038,637 msg/sec OptimistAtomicQueueB2, 8,s: 47,959,681 msg/sec OptimistAtomicQueueB2, 8,i: 38,979,952 msg/sec moodycamel::ReaderWriterQueue, 1,s: 75,312,893 msg/sec moodycamel::ReaderWriterQueue, 1,i: 54,508,218 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,263,626 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,291,513 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,831,654 msg/sec moodycamel::ConcurrentQueue, 2,i: 39,081,972 msg/sec moodycamel::ConcurrentQueue, 3,s: 55,792,571 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,011,508 msg/sec moodycamel::ConcurrentQueue, 4,s: 85,286,447 msg/sec moodycamel::ConcurrentQueue, 4,i: 107,112,378 msg/sec moodycamel::ConcurrentQueue, 5,s: 113,893,599 msg/sec moodycamel::ConcurrentQueue, 5,i: 187,511,333 msg/sec moodycamel::ConcurrentQueue, 6,s: 212,726,162 msg/sec moodycamel::ConcurrentQueue, 6,i: 216,555,600 msg/sec moodycamel::ConcurrentQueue, 7,s: 233,728,697 msg/sec moodycamel::ConcurrentQueue, 7,i: 231,757,576 msg/sec moodycamel::ConcurrentQueue, 8,s: 277,128,898 msg/sec moodycamel::ConcurrentQueue, 8,i: 250,423,941 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,646,937 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,817,569 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,145,509 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,093,579 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,985,484 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,091,577 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,422,834 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,629,792 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,072,580 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,095,577 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,787,932 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,417,006 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,657,878 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,145,924 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,785,561 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,811,247 msg/sec xenium::michael_scott_queue, 1,s: 13,324,478 msg/sec xenium::michael_scott_queue, 1,i: 13,707,776 msg/sec xenium::michael_scott_queue, 2,s: 9,478,087 msg/sec xenium::michael_scott_queue, 2,i: 9,181,615 msg/sec xenium::michael_scott_queue, 3,s: 7,636,143 msg/sec xenium::michael_scott_queue, 3,i: 7,551,734 msg/sec xenium::michael_scott_queue, 4,s: 5,845,880 msg/sec xenium::michael_scott_queue, 4,i: 5,812,198 msg/sec xenium::michael_scott_queue, 5,s: 3,664,183 msg/sec xenium::michael_scott_queue, 5,i: 3,931,450 msg/sec xenium::michael_scott_queue, 6,s: 3,295,333 msg/sec xenium::michael_scott_queue, 6,i: 3,569,421 msg/sec xenium::michael_scott_queue, 7,s: 3,200,217 msg/sec xenium::michael_scott_queue, 7,i: 3,246,359 msg/sec xenium::michael_scott_queue, 8,s: 2,349,700 msg/sec xenium::michael_scott_queue, 8,i: 2,795,510 msg/sec xenium::ramalhete_queue, 1,s: 73,156,325 msg/sec xenium::ramalhete_queue, 1,i: 69,894,340 msg/sec xenium::ramalhete_queue, 2,s: 51,709,919 msg/sec xenium::ramalhete_queue, 2,i: 34,705,069 msg/sec xenium::ramalhete_queue, 3,s: 44,199,593 msg/sec xenium::ramalhete_queue, 3,i: 41,726,070 msg/sec xenium::ramalhete_queue, 4,s: 53,092,805 msg/sec xenium::ramalhete_queue, 4,i: 51,763,853 msg/sec xenium::ramalhete_queue, 5,s: 37,471,450 msg/sec xenium::ramalhete_queue, 5,i: 23,644,961 msg/sec xenium::ramalhete_queue, 6,s: 38,704,669 msg/sec xenium::ramalhete_queue, 6,i: 26,526,493 msg/sec xenium::ramalhete_queue, 7,s: 39,670,931 msg/sec xenium::ramalhete_queue, 7,i: 28,642,843 msg/sec xenium::ramalhete_queue, 8,s: 49,958,058 msg/sec xenium::ramalhete_queue, 8,i: 29,627,964 msg/sec xenium::vyukov_bounded_queue, 1,s: 308,624,880 msg/sec xenium::vyukov_bounded_queue, 1,i: 302,178,021 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,259,502 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,846,591 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,773,246 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,380,567 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,515,861 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,651,956 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,510,300 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,368,493 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,073,339 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,878,727 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,212,155 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,447,792 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,192,950 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,536,683 msg/sec boost::lockfree::queue, 1,s: 7,775,221 msg/sec boost::lockfree::queue, 1,i: 7,825,154 msg/sec boost::lockfree::queue, 2,s: 5,890,524 msg/sec boost::lockfree::queue, 2,i: 5,921,522 msg/sec boost::lockfree::queue, 3,s: 4,944,639 msg/sec boost::lockfree::queue, 3,i: 4,796,094 msg/sec boost::lockfree::queue, 4,s: 4,371,548 msg/sec boost::lockfree::queue, 4,i: 4,352,410 msg/sec boost::lockfree::queue, 5,s: 2,648,639 msg/sec boost::lockfree::queue, 5,i: 2,908,259 msg/sec boost::lockfree::queue, 6,s: 1,434,120 msg/sec boost::lockfree::queue, 6,i: 2,815,633 msg/sec boost::lockfree::queue, 7,s: 1,406,115 msg/sec boost::lockfree::queue, 7,i: 2,954,353 msg/sec boost::lockfree::queue, 8,s: 1,159,592 msg/sec boost::lockfree::queue, 8,i: 1,901,387 msg/sec std::mutex, 1,s: 3,633,305 msg/sec std::mutex, 1,i: 3,491,282 msg/sec std::mutex, 2,s: 13,601,647 msg/sec std::mutex, 2,i: 13,710,291 msg/sec std::mutex, 3,s: 7,052,566 msg/sec std::mutex, 3,i: 6,773,505 msg/sec std::mutex, 4,s: 6,964,483 msg/sec std::mutex, 4,i: 6,671,148 msg/sec std::mutex, 5,s: 3,374,400 msg/sec std::mutex, 5,i: 3,398,263 msg/sec std::mutex, 6,s: 3,052,688 msg/sec std::mutex, 6,i: 2,993pthread_spinlock: producers: 5: consumer 3 received too few messages: 0.06% of expected. ,061 msg/sec std::mutex, 7,s: 3,209,933 msg/sec std::mutex, 7,i: 2,871,258 msg/sec std::mutex, 8,s: 3,397,804 msg/sec std::mutex, 8,i: 2,804,456 msg/sec pthread_spinlock, 1,s: 17,810,397 msg/sec pthread_spinlock, 1,i: 18,025,183 msg/sec pthread_spinlock, 2,s: 7,964,510 msg/sec pthread_spinlock, 2,i: 1,775,378 msg/sec pthread_spinlock, 3,s: 770,382 msg/sec pthread_spinlock, 3,i: 6,107,625 msg/sec pthread_spinlock, 4,s: 1,724,444 msg/sec pthread_spinlock, 4,i: 855,231 msg/sec pthread_spinlock, 5,s: 2,798,304 msg/sec pthread_spinlock, 5,i: 3,713,224 msg/sec pthread_spinlock, 6,s: 2,087,380 msg/sec pthread_spinlock, 6,i: 3,116,388 msg/sec pthread_spinlock, 7,s: 2,887,082 msg/sec pthread_spinlock, 7,i: 3,055,705 msg/sec pthread_spinlock, 8,s: 2,988,106 msg/sec pthread_spinlock, 8,i: 2,680,086 msg/sec tbb::spin_mutex, 1,s: 38,335,340 msg/sec tbb::spin_mutex, 1,i: 39,342,895 msg/sec tbb::spin_mutex, 2,s: 16,560,757 msg/sec tbb::spin_mutex, 2,i: 16,043,384 msg/sec tbb::spin_mutex, 3,s: 12,070,095 msg/sec tbb::spin_mutex, 3,i: 11,927,239 msg/sec tbb::spin_mutex, 4,s: 10,280,086 msg/sec tbb::spin_mutex, 4,i: 10,142,229 msg/sec tbb::spin_mutex, 5,s: 6,011,410 msg/sec tbb::spin_mutex, 5,i: 5,683,695 msg/sec tbb::spin_mutex, 6,s: 5,084,903 msg/sec tbb::spin_mutex, 6,i: 4,886,387 msg/sec tbb::spin_mutex, 7,s: 4,426,299 msg/sec tbb::spin_mutex, 7,i: 4,880,816 msg/sec tbb::spin_mutex, 8,s: 4,269,539 msg/sec tbb::spin_mutex, 8,i: 4,039,686 msg/sec Elapsed time 2:43.53, user 1292.82s, system 110.85s, CPU 858%, RSS 58440kB, exit-status 0. 2026-09-14 15:52:59 [4/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000113 sec/round-trip OptimistAtomicQueue: 0.000000099 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000087 sec/round-trip AtomicQueue2: 0.000000113 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000101 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000295 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000141 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000447 sec/round-trip pthread_spinlock: 0.000000226 sec/round-trip tbb::spin_mutex: 0.000000202 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,922,264 msg/sec boost::lockfree::spsc_queue, 1,i: 113,330,327 msg/sec AtomicQueue, 1,s: 147,504,579 msg/sec AtomicQueue, 1,i: 145,379,946 msg/sec AtomicQueue, 2,s: 9,876,310 msg/sec AtomicQueue, 2,i: 10,336,158 msg/sec AtomicQueue, 3,s: 8,348,244 msg/sec AtomicQueue, 3,i: 8,807,770 msg/sec AtomicQueue, 4,s: 6,608,734 msg/sec AtomicQueue, 4,i: 7,017,104 msg/sec AtomicQueue, 5,s: 3,172,534 msg/sec AtomicQueue, 5,i: 4,332,777 msg/sec AtomicQueue, 6,s: 2,594,602 msg/sec AtomicQueue, 6,i: 3,535,980 msg/sec AtomicQueue, 7,s: 2,968,399 msg/sec AtomicQueue, 7,i: 3,203,857 msg/sec AtomicQueue, 8,s: 3,117,551 msg/sec AtomicQueue, 8,i: 2,894,192 msg/sec OptimistAtomicQueue, 1,s: 1,202,303,478 msg/sec OptimistAtomicQueue, 1,i: 1,191,942,623 msg/sec OptimistAtomicQueue, 2,s: 47,077,950 msg/sec OptimistAtomicQueue, 2,i: 52,868,817 msg/sec OptimistAtomicQueue, 3,s: 58,699,536 msg/sec OptimistAtomicQueue, 3,i: 59,818,346 msg/sec OptimistAtomicQueue, 4,s: 59,260,529 msg/sec OptimistAtomicQueue, 4,i: 66,206,540 msg/sec OptimistAtomicQueue, 5,s: 33,281,248 msg/sec OptimistAtomicQueue, 5,i: 46,966,338 msg/sec OptimistAtomicQueue, 6,s: 34,538,075 msg/sec OptimistAtomicQueue, 6,i: 34,088,413 msg/sec OptimistAtomicQueue, 7,s: 40,256,439 msg/sec OptimistAtomicQueue, 7,i: 40,094,795 msg/sec OptimistAtomicQueue, 8,s: 59,100,687 msg/sec OptimistAtomicQueue, 8,i: 41,344,175 msg/sec AtomicQueueB, 1,s: 49,526,635 msg/sec AtomicQueueB, 1,i: 50,871,866 msg/sec AtomicQueueB, 2,s: 9,577,257 msg/sec AtomicQueueB, 2,i: 10,124,213 msg/sec AtomicQueueB, 3,s: 8,216,483 msg/sec AtomicQueueB, 3,i: 8,722,080 msg/sec AtomicQueueB, 4,s: 6,556,342 msg/sec AtomicQueueB, 4,i: 6,898,430 msg/sec AtomicQueueB, 5,s: 3,129,047 msg/sec AtomicQueueB, 5,i: 4,341,595 msg/sec AtomicQueueB, 6,s: 2,606,079 msg/sec AtomicQueueB, 6,i: 3,986,953 msg/sec AtomicQueueB, 7,s: 2,947,495 msg/sec AtomicQueueB, 7,i: 3,194,946 msg/sec AtomicQueueB, 8,s: 3,055,087 msg/sec AtomicQueueB, 8,i: 2,864,193 msg/sec OptimistAtomicQueueB, 1,s: 656,841,431 msg/sec OptimistAtomicQueueB, 1,i: 529,908,774 msg/sec OptimistAtomicQueueB, 2,s: 48,067,128 msg/sec OptimistAtomicQueueB, 2,i: 49,423,586 msg/sec OptimistAtomicQueueB, 3,s: 58,622,045 msg/sec OptimistAtomicQueueB, 3,i: 57,373,538 msg/sec OptimistAtomicQueueB, 4,s: 59,647,679 msg/sec OptimistAtomicQueueB, 4,i: 66,098,627 msg/sec OptimistAtomicQueueB, 5,s: 33,012,623 msg/sec OptimistAtomicQueueB, 5,i: 39,674,092 msg/sec OptimistAtomicQueueB, 6,s: 34,414,416 msg/sec OptimistAtomicQueueB, 6,i: 34,010,112 msg/sec OptimistAtomicQueueB, 7,s: 39,094,154 msg/sec OptimistAtomicQueueB, 7,i: 39,996,494 msg/sec OptimistAtomicQueueB, 8,s: 51,468,984 msg/sec OptimistAtomicQueueB, 8,i: 41,221,454 msg/sec AtomicQueue2, 1,s: 126,325,968 msg/sec AtomicQueue2, 1,i: 98,688,753 msg/sec AtomicQueue2, 2,s: 9,955,676 msg/sec AtomicQueue2, 2,i: 10,548,352 msg/sec AtomicQueue2, 3,s: 8,418,785 msg/sec AtomicQueue2, 3,i: 8,885,177 msg/sec AtomicQueue2, 4,s: 6,692,655 msg/sec AtomicQueue2, 4,i: 7,100,641 msg/sec AtomicQueue2, 5,s: 3,142,549 msg/sec AtomicQueue2, 5,i: 3,731,768 msg/sec AtomicQueue2, 6,s: 2,564,016 msg/sec AtomicQueue2, 6,i: 3,491,118 msg/sec AtomicQueue2, 7,s: 2,901,596 msg/sec AtomicQueue2, 7,i: 3,202,970 msg/sec AtomicQueue2, 8,s: 3,012,816 msg/sec AtomicQueue2, 8,i: 2,884,181 msg/sec OptimistAtomicQueue2, 1,s: 107,446,355 msg/sec OptimistAtomicQueue2, 1,i: 107,596,411 msg/sec OptimistAtomicQueue2, 2,s: 43,554,484 msg/sec OptimistAtomicQueue2, 2,i: 47,278,733 msg/sec OptimistAtomicQueue2, 3,s: 56,895,043 msg/sec OptimistAtomicQueue2, 3,i: 50,085,064 msg/sec OptimistAtomicQueue2, 4,s: 59,131,929 msg/sec OptimistAtomicQueue2, 4,i: 58,023,257 msg/sec OptimistAtomicQueue2, 5,s: 31,388,265 msg/sec OptimistAtomicQueue2, 5,i: 32,614,825 msg/sec OptimistAtomicQueue2, 6,s: 32,894,845 msg/sec OptimistAtomicQueue2, 6,i: 32,437,731 msg/sec OptimistAtomicQueue2, 7,s: 37,796,520 msg/sec OptimistAtomicQueue2, 7,i: 37,795,220 msg/sec OptimistAtomicQueue2, 8,s: 49,012,280 msg/sec OptimistAtomicQueue2, 8,i: 39,853,564 msg/sec AtomicQueueB2, 1,s: 67,389,099 msg/sec AtomicQueueB2, 1,i: 70,620,500 msg/sec AtomicQueueB2, 2,s: 9,856,549 msg/sec AtomicQueueB2, 2,i: 10,427,640 msg/sec AtomicQueueB2, 3,s: 8,314,628 msg/sec AtomicQueueB2, 3,i: 8,838,344 msg/sec AtomicQueueB2, 4,s: 6,625,409 msg/sec AtomicQueueB2, 4,i: 6,962,750 msg/sec AtomicQueueB2, 5,s: 3,095,632 msg/sec AtomicQueueB2, 5,i: 4,325,499 msg/sec AtomicQueueB2, 6,s: 2,564,636 msg/sec AtomicQueueB2, 6,i: 3,986,383 msg/sec AtomicQueueB2, 7,s: 2,908,063 msg/sec AtomicQueueB2, 7,i: 3,175,651 msg/sec AtomicQueueB2, 8,s: 3,017,338 msg/sec AtomicQueueB2, 8,i: 2,836,283 msg/sec OptimistAtomicQueueB2, 1,s: 151,255,376 msg/sec OptimistAtomicQueueB2, 1,i: 151,430,362 msg/sec OptimistAtomicQueueB2, 2,s: 42,022,183 msg/sec OptimistAtomicQueueB2, 2,i: 46,227,970 msg/sec OptimistAtomicQueueB2, 3,s: 56,964,690 msg/sec OptimistAtomicQueueB2, 3,i: 53,126,222 msg/sec OptimistAtomicQueueB2, 4,s: 59,035,060 msg/sec OptimistAtomicQueueB2, 4,i: 59,849,694 msg/sec OptimistAtomicQueueB2, 5,s: 31,297,849 msg/sec OptimistAtomicQueueB2, 5,i: 31,326,635 msg/sec OptimistAtomicQueueB2, 6,s: 32,950,089 msg/sec OptimistAtomicQueueB2, 6,i: 32,292,291 msg/sec OptimistAtomicQueueB2, 7,s: 37,125,098 msg/sec OptimistAtomicQueueB2, 7,i: 37,029,393 msg/sec OptimistAtomicQueueB2, 8,s: 48,022,602 msg/sec OptimistAtomicQueueB2, 8,i: 38,939,578 msg/sec moodycamel::ReaderWriterQueue, 1,s: 100,851,561 msg/sec moodycamel::ReaderWriterQueue, 1,i: 108,328,254 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,157,305 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,281,990 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,018,672 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,963,178 msg/sec moodycamel::ConcurrentQueue, 3,s: 65,357,248 msg/sec moodycamel::ConcurrentQueue, 3,i: 55,274,643 msg/sec moodycamel::ConcurrentQueue, 4,s: 116,139,980 msg/sec moodycamel::ConcurrentQueue, 4,i: 77,766,117 msg/sec moodycamel::ConcurrentQueue, 5,s: 106,290,290 msg/sec moodycamel::ConcurrentQueue, 5,i: 181,268,252 msg/sec moodycamel::ConcurrentQueue, 6,s: 194,443,353 msg/sec moodycamel::ConcurrentQueue, 6,i: 220,893,208 msg/sec moodycamel::ConcurrentQueue, 7,s: 238,197,464 msg/sec moodycamel::ConcurrentQueue, 7,i: 221,414,467 msg/sec moodycamel::ConcurrentQueue, 8,s: 274,143,242 msg/sec moodycamel::ConcurrentQueue, 8,i: 244,977,595 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,787,846 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,836,324 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,156,117 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,139,479 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,979,924 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,074,268 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,417,906 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,632,320 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,068,844 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,101,397 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,783,994 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,404,430 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,669,837 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,145,766 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,788,352 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,803,922 msg/sec xenium::michael_scott_queue, 1,s: 13,442,802 msg/sec xenium::michael_scott_queue, 1,i: 13,727,344 msg/sec xenium::michael_scott_queue, 2,s: 9,433,352 msg/sec xenium::michael_scott_queue, 2,i: 9,259,245 msg/sec xenium::michael_scott_queue, 3,s: 7,625,047 msg/sec xenium::michael_scott_queue, 3,i: 7,544,453 msg/sec xenium::michael_scott_queue, 4,s: 5,878,453 msg/sec xenium::michael_scott_queue, 4,i: 5,841,243 msg/sec xenium::michael_scott_queue, 5,s: 3,629,336 msg/sec xenium::michael_scott_queue, 5,i: 3,923,219 msg/sec xenium::michael_scott_queue, 6,s: 3,342,306 msg/sec xenium::michael_scott_queue, 6,i: 3,936,858 msg/sec xenium::michael_scott_queue, 7,s: 3,150,126 msg/sec xenium::michael_scott_queue, 7,i: 3,238,840 msg/sec xenium::michael_scott_queue, 8,s: 2,361,501 msg/sec xenium::michael_scott_queue, 8,i: 2,790,570 msg/sec xenium::ramalhete_queue, 1,s: 73,415,675 msg/sec xenium::ramalhete_queue, 1,i: 68,751,706 msg/sec xenium::ramalhete_queue, 2,s: 49,977,033 msg/sec xenium::ramalhete_queue, 2,i: 39,477,706 msg/sec xenium::ramalhete_queue, 3,s: 42,901,162 msg/sec xenium::ramalhete_queue, 3,i: 43,424,678 msg/sec xenium::ramalhete_queue, 4,s: 49,101,586 msg/sec xenium::ramalhete_queue, 4,i: 46,992,381 msg/sec xenium::ramalhete_queue, 5,s: 37,213,998 msg/sec xenium::ramalhete_queue, 5,i: 23,739,936 msg/sec xenium::ramalhete_queue, 6,s: 38,385,771 msg/sec xenium::ramalhete_queue, 6,i: 27,088,705 msg/sec xenium::ramalhete_queue, 7,s: 39,583,451 msg/sec xenium::ramalhete_queue, 7,i: 28,359,009 msg/sec xenium::ramalhete_queue, 8,s: 49,986,576 msg/sec xenium::ramalhete_queue, 8,i: 29,839,680 msg/sec xenium::vyukov_bounded_queue, 1,s: 309,983,336 msg/sec xenium::vyukov_bounded_queue, 1,i: 309,254,791 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,438,930 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,112,094 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,484,181 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,234,386 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,792,998 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,551,963 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,959,125 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,460,589 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,150,991 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,951,611 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,205,492 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,438,046 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,583,393 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,565,042 msg/sec boost::lockfree::queue, 1,s: 7,801,230 msg/sec boost::lockfree::queue, 1,i: 7,773,561 msg/sec boost::lockfree::queue, 2,s: 5,888,895 msg/sec boost::lockfree::queue, 2,i: 5,952,290 msg/sec boost::lockfree::queue, 3,s: 4,967,435 msg/sec boost::lockfree::queue, 3,i: 4,799,822 msg/sec boost::lockfree::queue, 4,s: 4,380,133 msg/sec boost::lockfree::queue, 4,i: 4,365,590 msg/sec boost::lockfree::queue, 5,s: 2,656,172 msg/sec boost::lockfree::queue, 5,i: 2,907,592 msg/sec boost::lockfree::queue, 6,s: 1,430,104 msg/sec boost::lockfree::queue, 6,i: 2,820,300 msg/sec boost::lockfree::queue, 7,s: 1,374,844 msg/sec boost::lockfree::queue, 7,i: 2,851,037 msg/sec boost::lockfree::queue, 8,s: 1,157,110 msg/sec boost::lockfree::queue, 8,i: 1,937,606 msg/sec std::mutex, 1,s: 4,228,882 msg/sec std::mutex, 1,i: 4,249,332 msg/sec std::mutex, 2,s: 14,090,966 msg/sec std::mutex, 2,i: 13,920,372 msg/sec std::mutex, 3,s: 6,930,346 msg/sec std::mutex, 3,i: 6,680,459 msg/sec std::mutex, 4,s: 7,056,373 msg/sec std::mutex, 4,i: 6,682,529 msg/sec std::mutex, 5,s: 3,407,859 msg/sec std::mutex, 5,i: 3,554,574 msg/sec std::mutex, 6,s: 3,044,642 msg/sec std::mutex, 6,i: 2,962,592 msg/sec std::mutex, 7,s: 3,312,036 msg/sec std::mutex, 7,i: 2,943,311 msg/sec std::mutex, 8,s: 3,452,210 msg/sec std::mutex, 8,i: 2,808,221 msg/sec pthread_spinlock, 1,s: 17,699,829 msg/sec pthread_spinlock, 1,i: 18,074,615 msg/sec pthread_spinlock, 2,s: 7,451,825 msg/sec pthread_spinlock, 2,i: 1,510,004 msg/sec pthread_spinlock, 3,s: 1,029,866 msg/sec pthread_spinlock, 3,i: 5,651,915 msg/sec pthread_spinlock, 4,s: 1,167,521 msg/sec pthread_spinlock, 4,i: 1,818,230 msg/sec pthread_spinlock, 5,s: 2,788,771 msg/sec pthread_spinlock, 5,i: 861,752 msg/sec pthread_spinlock, 6,s: 2,005,640 msg/sec pthread_spinlock, 6,i: 3,323,030 msg/sec pthread_spinlock, 7,s: 2,878,630 msg/sec pthread_spinlock, 7,i: 3,067,673 msg/sec pthread_spinlock, 8,s: 2,982,364 msg/sec pthread_spinlock, 8,i: 2,645,649 msg/sec tbb::spin_mutex, 1,s: 38,527,235 msg/sec tbb::spin_mutex, 1,i: 38,996,201 msg/sec tbb::spin_mutex, 2,s: 16,524,927 msg/sec tbb::spin_mutex, 2,i: 16,097,752 msg/sec tbb::spin_mutex, 3,s: 12,042,696 msg/sec tbb::spin_mutex, 3,i: 11,903,744 msg/sec tbb::spin_mutex, 4,s: 10,313,332 msg/sec tbb::spin_mutex, 4,i: 10,092,647 msg/sec tbb::spin_mutex, 5,s: 5,966,027 msg/sec tbb::spin_mutex, 5,i: 5,580,972 msg/sec tbb::spin_mutex, 6,s: 5,099,602 msg/sec tbb::spin_mutex, 6,i: 4,779,265 msg/sec tbb::spin_mutex, 7,s: 4,375,150 msg/sec tbb::spin_mutex, 7,i: 4,683,027 msg/sec tbb::spin_mutex, 8,s: 4,295,993 msg/sec tbb::spin_mutex, 8,i: 4,083,892 msg/sec Elapsed time 2:43.65, user 1294.60s, system 110.08s, CPU 858%, RSS 55880kB, exit-status 0. 2026-09-14 15:55:43 [5/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000112 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000082 sec/round-trip AtomicQueue2: 0.000000118 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000119 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000293 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000444 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,913,512 msg/sec boost::lockfree::spsc_queue, 1,i: 113,011,554 msg/sec AtomicQueue, 1,s: 140,468,554 msg/sec AtomicQueue, 1,i: 147,572,492 msg/sec AtomicQueue, 2,s: 9,884,551 msg/sec AtomicQueue, 2,i: 10,331,524 msg/sec AtomicQueue, 3,s: 8,358,761 msg/sec AtomicQueue, 3,i: 8,819,480 msg/sec AtomicQueue, 4,s: 6,601,862 msg/sec AtomicQueue, 4,i: 7,012,433 msg/sec AtomicQueue, 5,s: 3,176,402 msg/sec AtomicQueue, 5,i: 4,331,723 msg/sec AtomicQueue, 6,s: 2,600,545 msg/sec AtomicQueue, 6,i: 3,494,655 msg/sec AtomicQueue, 7,s: 2,970,358 msg/sec AtomicQueue, 7,i: 3,214,189 msg/sec AtomicQueue, 8,s: 3,125,402 msg/sec AtomicQueue, 8,i: 2,888,737 msg/sec OptimistAtomicQueue, 1,s: 1,199,016,763 msg/sec OptimistAtomicQueue, 1,i: 1,197,681,283 msg/sec OptimistAtomicQueue, 2,s: 51,442,878 msg/sec OptimistAtomicQueue, 2,i: 57,980,331 msg/sec OptimistAtomicQueue, 3,s: 58,619,124 msg/sec OptimistAtomicQueue, 3,i: 59,537,322 msg/sec OptimistAtomicQueue, 4,s: 59,217,261 msg/sec OptimistAtomicQueue, 4,i: 66,227,805 msg/sec OptimistAtomicQueue, 5,s: 33,270,873 msg/sec OptimistAtomicQueue, 5,i: 40,526,635 msg/sec OptimistAtomicQueue, 6,s: 34,609,723 msg/sec OptimistAtomicQueue, 6,i: 34,120,292 msg/sec OptimistAtomicQueue, 7,s: 40,146,334 msg/sec OptimistAtomicQueue, 7,i: 40,304,999 msg/sec OptimistAtomicQueue, 8,s: 50,519,781 msg/sec OptimistAtomicQueue, 8,i: 41,242,194 msg/sec AtomicQueueB, 1,s: 51,023,708 msg/sec AtomicQueueB, 1,i: 50,526,392 msg/sec AtomicQueueB, 2,s: 9,574,446 msg/sec AtomicQueueB, 2,i: 9,972,549 msg/sec AtomicQueueB, 3,s: 8,228,765 msg/sec AtomicQueueB, 3,i: 8,667,506 msg/sec AtomicQueueB, 4,s: 6,554,066 msg/sec AtomicQueueB, 4,i: 6,911,714 msg/sec AtomicQueueB, 5,s: 3,128,935 msg/sec AtomicQueueB, 5,i: 4,333,242 msg/sec AtomicQueueB, 6,s: 2,601,976 msg/sec AtomicQueueB, 6,i: 3,987,170 msg/sec AtomicQueueB, 7,s: 2,929,333 msg/sec AtomicQueueB, 7,i: 3,165,758 msg/sec AtomicQueueB, 8,s: 3,061,279 msg/sec AtomicQueueB, 8,i: 2,875,974 msg/sec OptimistAtomicQueueB, 1,s: 593,256,019 msg/sec OptimistAtomicQueueB, 1,i: 522,950,583 msg/sec OptimistAtomicQueueB, 2,s: 46,699,705 msg/sec OptimistAtomicQueueB, 2,i: 49,251,833 msg/sec OptimistAtomicQueueB, 3,s: 58,605,829 msg/sec OptimistAtomicQueueB, 3,i: 57,740,383 msg/sec OptimistAtomicQueueB, 4,s: 59,621,826 msg/sec OptimistAtomicQueueB, 4,i: 66,261,419 msg/sec OptimistAtomicQueueB, 5,s: 33,045,415 msg/sec OptimistAtomicQueueB, 5,i: 39,745,491 msg/sec OptimistAtomicQueueB, 6,s: 34,380,732 msg/sec OptimistAtomicQueueB, 6,i: 34,910,908 msg/sec OptimistAtomicQueueB, 7,s: 38,954,085 msg/sec OptimistAtomicQueueB, 7,i: 40,015,811 msg/sec OptimistAtomicQueueB, 8,s: 51,518,647 msg/sec OptimistAtomicQueueB, 8,i: 41,268,694 msg/sec AtomicQueue2, 1,s: 129,409,565 msg/sec AtomicQueue2, 1,i: 135,137,633 msg/sec AtomicQueue2, 2,s: 9,964,576 msg/sec AtomicQueue2, 2,i: 10,531,082 msg/sec AtomicQueue2, 3,s: 8,412,041 msg/sec AtomicQueue2, 3,i: 8,885,564 msg/sec AtomicQueue2, 4,s: 6,690,173 msg/sec AtomicQueue2, 4,i: 7,090,424 msg/sec AtomicQueue2, 5,s: 3,131,538 msg/sec AtomicQueue2, 5,i: 4,268,663 msg/sec AtomicQueue2, 6,s: 2,565,235 msg/sec AtomicQueue2, 6,i: 3,478,778 msg/sec AtomicQueue2, 7,s: 2,906,443 msg/sec AtomicQueue2, 7,i: 3,206,989 msg/sec AtomicQueue2, 8,s: 3,005,059 msg/sec AtomicQueue2, 8,i: 2,906,085 msg/sec OptimistAtomicQueue2, 1,s: 108,321,917 msg/sec OptimistAtomicQueue2, 1,i: 108,006,392 msg/sec OptimistAtomicQueue2, 2,s: 43,425,798 msg/sec OptimistAtomicQueue2, 2,i: 47,183,682 msg/sec OptimistAtomicQueue2, 3,s: 56,225,427 msg/sec OptimistAtomicQueue2, 3,i: 50,030,164 msg/sec OptimistAtomicQueue2, 4,s: 59,146,478 msg/sec OptimistAtomicQueue2, 4,i: 57,972,298 msg/sec OptimistAtomicQueue2, 5,s: 31,425,195 msg/sec OptimistAtomicQueue2, 5,i: 32,651,660 msg/sec OptimistAtomicQueue2, 6,s: 32,914,778 msg/sec OptimistAtomicQueue2, 6,i: 32,645,916 msg/sec OptimistAtomicQueue2, 7,s: 37,690,252 msg/sec OptimistAtomicQueue2, 7,i: 37,741,089 msg/sec OptimistAtomicQueue2, 8,s: 51,339,378 msg/sec OptimistAtomicQueue2, 8,i: 39,849,022 msg/sec AtomicQueueB2, 1,s: 75,135,612 msg/sec AtomicQueueB2, 1,i: 60,295,642 msg/sec AtomicQueueB2, 2,s: 9,867,330 msg/sec AtomicQueueB2, 2,i: 10,443,388 msg/sec AtomicQueueB2, 3,s: 8,318,503 msg/sec AtomicQueueB2, 3,i: 8,841,435 msg/sec AtomicQueueB2, 4,s: 6,620,803 msg/sec AtomicQueueB2, 4,i: 6,963,196 msg/sec AtomicQueueB2, 5,s: 3,090,555 msg/sec AtomicQueueB2, 5,i: 4,324,261 msg/sec AtomicQueueB2, 6,s: 2,561,568 msg/sec AtomicQueueB2, 6,i: 3,992,778 msg/sec AtomicQueueB2, 7,s: 2,899,599 msg/sec AtomicQueueB2, 7,i: 3,183,490 msg/sec AtomicQueueB2, 8,s: 3,017,003 msg/sec AtomicQueueB2, 8,i: 2,850,267 msg/sec OptimistAtomicQueueB2, 1,s: 152,955,077 msg/sec OptimistAtomicQueueB2, 1,i: 150,658,577 msg/sec OptimistAtomicQueueB2, 2,s: 42,238,152 msg/sec OptimistAtomicQueueB2, 2,i: 46,065,832 msg/sec OptimistAtomicQueueB2, 3,s: 57,019,874 msg/sec OptimistAtomicQueueB2, 3,i: 53,192,969 msg/sec OptimistAtomicQueueB2, 4,s: 59,011,511 msg/sec OptimistAtomicQueueB2, 4,i: 60,073,825 msg/sec OptimistAtomicQueueB2, 5,s: 31,317,413 msg/sec OptimistAtomicQueueB2, 5,i: 32,536,301 msg/sec OptimistAtomicQueueB2, 6,s: 32,953,488 msg/sec OptimistAtomicQueueB2, 6,i: 32,239,084 msg/sec OptimistAtomicQueueB2, 7,s: 37,073,665 msg/sec OptimistAtomicQueueB2, 7,i: 36,970,734 msg/sec OptimistAtomicQueueB2, 8,s: 47,964,719 msg/sec OptimistAtomicQueueB2, 8,i: 38,885,417 msg/sec moodycamel::ReaderWriterQueue, 1,s: 74,701,422 msg/sec moodycamel::ReaderWriterQueue, 1,i: 61,172,805 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,175,379 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,196,306 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,215,063 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,939,029 msg/sec moodycamel::ConcurrentQueue, 3,s: 50,045,537 msg/sec moodycamel::ConcurrentQueue, 3,i: 47,696,402 msg/sec moodycamel::ConcurrentQueue, 4,s: 95,797,476 msg/sec moodycamel::ConcurrentQueue, 4,i: 78,256,000 msg/sec moodycamel::ConcurrentQueue, 5,s: 145,811,101 msg/sec moodycamel::ConcurrentQueue, 5,i: 162,267,913 msg/sec moodycamel::ConcurrentQueue, 6,s: 207,361,516 msg/sec moodycamel::ConcurrentQueue, 6,i: 135,825,467 msg/sec moodycamel::ConcurrentQueue, 7,s: 232,479,529 msg/sec moodycamel::ConcurrentQueue, 7,i: 178,002,795 msg/sec moodycamel::ConcurrentQueue, 8,s: 278,943,153 msg/sec moodycamel::ConcurrentQueue, 8,i: 256,046,482 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,786,119 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,817,107 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,168,287 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,153,233 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,984,697 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,080,226 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,428,150 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,630,703 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,085,041 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,116,384 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,792,721 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,712,223 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,661,211 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,147,531 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,783,172 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,812,591 msg/sec xenium::michael_scott_queue, 1,s: 13,427,720 msg/sec xenium::michael_scott_queue, 1,i: 13,800,572 msg/sec xenium::michael_scott_queue, 2,s: 9,467,882 msg/sec xenium::michael_scott_queue, 2,i: 9,207,433 msg/sec xenium::michael_scott_queue, 3,s: 7,634,276 msg/sec xenium::michael_scott_queue, 3,i: 7,549,621 msg/sec xenium::michael_scott_queue, 4,s: 5,867,133 msg/sec xenium::michael_scott_queue, 4,i: 5,821,110 msg/sec xenium::michael_scott_queue, 5,s: 3,648,767 msg/sec xenium::michael_scott_queue, 5,i: 3,939,262 msg/sec xenium::michael_scott_queue, 6,s: 3,339,144 msg/sec xenium::michael_scott_queue, 6,i: 3,605,173 msg/sec xenium::michael_scott_queue, 7,s: 3,184,437 msg/sec xenium::michael_scott_queue, 7,i: 3,251,387 msg/sec xenium::michael_scott_queue, 8,s: 2,356,543 msg/sec xenium::michael_scott_queue, 8,i: 2,790,015 msg/sec xenium::ramalhete_queue, 1,s: 83,887,854 msg/sec xenium::ramalhete_queue, 1,i: 83,141,526 msg/sec xenium::ramalhete_queue, 2,s: 49,671,627 msg/sec xenium::ramalhete_queue, 2,i: 52,899,720 msg/sec xenium::ramalhete_queue, 3,s: 41,292,036 msg/sec xenium::ramalhete_queue, 3,i: 40,708,036 msg/sec xenium::ramalhete_queue, 4,s: 47,987,321 msg/sec xenium::ramalhete_queue, 4,i: 52,131,517 msg/sec xenium::ramalhete_queue, 5,s: 37,459,814 msg/sec xenium::ramalhete_queue, 5,i: 23,279,288 msg/sec xenium::ramalhete_queue, 6,s: 38,473,374 msg/sec xenium::ramalhete_queue, 6,i: 25,979,284 msg/sec xenium::ramalhete_queue, 7,s: 39,671,607 msg/sec xenium::ramalhete_queue, 7,i: 27,881,977 msg/sec xenium::ramalhete_queue, 8,s: 50,204,701 msg/sec xenium::ramalhete_queue, 8,i: 29,539,930 msg/sec xenium::vyukov_bounded_queue, 1,s: 308,320,392 msg/sec xenium::vyukov_bounded_queue, 1,i: 306,354,829 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,874,382 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,617,387 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,453,098 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,893,896 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,268,383 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,412,981 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,026,164 msg/sec xenium::vyukov_bounded_queue, 5,i: 8,182,527 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,066,986 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,905,176 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,158,070 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,507,812 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,559,528 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,549,432 msg/sec boost::lockfree::queue, 1,s: 7,803,888 msg/sec boost::lockfree::queue, 1,i: 7,839,927 msg/sec boost::lockfree::queue, 2,s: 5,946,839 msg/sec boost::lockfree::queue, 2,i: 5,911,680 msg/sec boost::lockfree::queue, 3,s: 4,949,885 msg/sec boost::lockfree::queue, 3,i: 4,813,765 msg/sec boost::lockfree::queue, 4,s: 4,374,463 msg/sec boost::lockfree::queue, 4,i: 4,360,882 msg/sec boost::lockfree::queue, 5,s: 2,667,539 msg/sec boost::lockfree::queue, 5,i: 2,910,465 msg/sec boost::lockfree::queue, 6,s: 1,433,649 msg/sec boost::lockfree::queue, 6,i: 2,802,497 msg/sec boost::lockfree::queue, 7,s: 1,376,797 msg/sec boost::lockfree::queue, 7,i: 2,836,673 msg/sec boost::lockfree::queue, 8,s: 1,160,440 msg/sec boost::lockfree::queue, 8,i: 1,838,612 msg/sec std::mutex, 1,s: 3,822,165 msg/sec std::mutex, 1,i: 4,156,336 msg/sec std::mutex, 2,s: 13,723,028 msg/sec std::mutex, 2,i: 13,496,344 msg/sec std::mutex, 3,s: 7,021,931 msg/sec std::mutex, 3,i: 6,752,931 msg/sec std::mutex, 4,s: 7,089,589 msg/sec std::mutex, 4,i: 6,645,330 msg/sec std::mutex, 5,s: 3,297,560 msg/sec std::mutex, 5,i: 3,336,836 msg/sec std::mutex, 6,s: 2,970,142 msg/sec std::mutex, 6,i: 2,909pthread_spinlock: producers: 4: consumer 2 received too few messages: 0.07% of expected. pthread_spinlock: producers: 5: consumer 0 received too few messages: 0.10% of expected. ,471 msg/sec std::mutex, 7,s: 3,286,886 msg/sec std::mutex, 7,i: 2,950,007 msg/sec std::mutex, 8,s: 3,450,798 msg/sec std::mutex, 8,i: 2,798,207 msg/sec pthread_spinlock, 1,s: 17,884,558 msg/sec pthread_spinlock, 1,i: 18,156,475 msg/sec pthread_spinlock, 2,s: 6,603,397 msg/sec pthread_spinlock, 2,i: 1,611,388 msg/sec pthread_spinlock, 3,s: 780,639 msg/sec pthread_spinlock, 3,i: 6,066,769 msg/sec pthread_spinlock, 4,s: 1,018,813 msg/sec pthread_spinlock, 4,i: 1,209,552 msg/sec pthread_spinlock, 5,s: 2,778,973 msg/sec pthread_spinlock, 5,i: 3,759,454 msg/sec pthread_spinlock, 6,s: 2,095,366 msg/sec pthread_spinlock, 6,i: 3,299,040 msg/sec pthread_spinlock, 7,s: 2,815,489 msg/sec pthread_spinlock, 7,i: 3,079,361 msg/sec pthread_spinlock, 8,s: 2,981,253 msg/sec pthread_spinlock, 8,i: 2,646,464 msg/sec tbb::spin_mutex, 1,s: 38,662,857 msg/sec tbb::spin_mutex, 1,i: 38,556,305 msg/sec tbb::spin_mutex, 2,s: 16,466,054 msg/sec tbb::spin_mutex, 2,i: 16,034,522 msg/sec tbb::spin_mutex, 3,s: 12,052,336 msg/sec tbb::spin_mutex, 3,i: 11,884,506 msg/sec tbb::spin_mutex, 4,s: 10,287,046 msg/sec tbb::spin_mutex, 4,i: 10,006,094 msg/sec tbb::spin_mutex, 5,s: 5,953,978 msg/sec tbb::spin_mutex, 5,i: 5,554,162 msg/sec tbb::spin_mutex, 6,s: 5,130,942 msg/sec tbb::spin_mutex, 6,i: 4,849,442 msg/sec tbb::spin_mutex, 7,s: 4,401,197 msg/sec tbb::spin_mutex, 7,i: 4,622,682 msg/sec tbb::spin_mutex, 8,s: 4,283,272 msg/sec tbb::spin_mutex, 8,i: 4,054,987 msg/sec Elapsed time 2:43.66, user 1289.86s, system 110.82s, CPU 855%, RSS 57672kB, exit-status 0. 2026-09-14 15:58:27 [6/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip AtomicQueue: 0.000000111 sec/round-trip OptimistAtomicQueue: 0.000000099 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000089 sec/round-trip AtomicQueue2: 0.000000118 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000259 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000141 sec/round-trip boost::lockfree::queue: 0.000000212 sec/round-trip std::mutex: 0.000000446 sec/round-trip pthread_spinlock: 0.000000225 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 113,885,817 msg/sec boost::lockfree::spsc_queue, 1,i: 112,654,072 msg/sec AtomicQueue, 1,s: 141,452,870 msg/sec AtomicQueue, 1,i: 137,017,720 msg/sec AtomicQueue, 2,s: 9,899,217 msg/sec AtomicQueue, 2,i: 10,369,855 msg/sec AtomicQueue, 3,s: 8,349,923 msg/sec AtomicQueue, 3,i: 8,824,031 msg/sec AtomicQueue, 4,s: 6,605,223 msg/sec AtomicQueue, 4,i: 7,005,005 msg/sec AtomicQueue, 5,s: 3,171,609 msg/sec AtomicQueue, 5,i: 4,314,951 msg/sec AtomicQueue, 6,s: 2,598,827 msg/sec AtomicQueue, 6,i: 3,480,610 msg/sec AtomicQueue, 7,s: 2,969,805 msg/sec AtomicQueue, 7,i: 3,202,584 msg/sec AtomicQueue, 8,s: 3,118,648 msg/sec AtomicQueue, 8,i: 2,897,081 msg/sec OptimistAtomicQueue, 1,s: 1,205,579,194 msg/sec OptimistAtomicQueue, 1,i: 1,193,564,410 msg/sec OptimistAtomicQueue, 2,s: 53,648,618 msg/sec OptimistAtomicQueue, 2,i: 52,555,406 msg/sec OptimistAtomicQueue, 3,s: 58,722,078 msg/sec OptimistAtomicQueue, 3,i: 59,306,651 msg/sec OptimistAtomicQueue, 4,s: 59,311,387 msg/sec OptimistAtomicQueue, 4,i: 66,245,398 msg/sec OptimistAtomicQueue, 5,s: 33,265,671 msg/sec OptimistAtomicQueue, 5,i: 42,013,603 msg/sec OptimistAtomicQueue, 6,s: 34,582,626 msg/sec OptimistAtomicQueue, 6,i: 35,216,972 msg/sec OptimistAtomicQueue, 7,s: 39,955,984 msg/sec OptimistAtomicQueue, 7,i: 40,067,212 msg/sec OptimistAtomicQueue, 8,s: 50,467,897 msg/sec OptimistAtomicQueue, 8,i: 41,273,770 msg/sec AtomicQueueB, 1,s: 52,793,598 msg/sec AtomicQueueB, 1,i: 50,218,744 msg/sec AtomicQueueB, 2,s: 9,514,950 msg/sec AtomicQueueB, 2,i: 9,917,437 msg/sec AtomicQueueB, 3,s: 8,179,614 msg/sec AtomicQueueB, 3,i: 8,660,423 msg/sec AtomicQueueB, 4,s: 6,545,109 msg/sec AtomicQueueB, 4,i: 6,916,087 msg/sec AtomicQueueB, 5,s: 3,134,496 msg/sec AtomicQueueB, 5,i: 4,329,113 msg/sec AtomicQueueB, 6,s: 2,571,455 msg/sec AtomicQueueB, 6,i: 3,960,464 msg/sec AtomicQueueB, 7,s: 2,918,999 msg/sec AtomicQueueB, 7,i: 3,188,915 msg/sec AtomicQueueB, 8,s: 3,059,054 msg/sec AtomicQueueB, 8,i: 2,871,825 msg/sec OptimistAtomicQueueB, 1,s: 724,133,194 msg/sec OptimistAtomicQueueB, 1,i: 524,296,776 msg/sec OptimistAtomicQueueB, 2,s: 48,703,806 msg/sec OptimistAtomicQueueB, 2,i: 48,723,715 msg/sec OptimistAtomicQueueB, 3,s: 58,622,835 msg/sec OptimistAtomicQueueB, 3,i: 57,526,511 msg/sec OptimistAtomicQueueB, 4,s: 59,567,808 msg/sec OptimistAtomicQueueB, 4,i: 66,226,358 msg/sec OptimistAtomicQueueB, 5,s: 33,095,722 msg/sec OptimistAtomicQueueB, 5,i: 36,925,995 msg/sec OptimistAtomicQueueB, 6,s: 34,409,810 msg/sec OptimistAtomicQueueB, 6,i: 34,906,509 msg/sec OptimistAtomicQueueB, 7,s: 39,358,197 msg/sec OptimistAtomicQueueB, 7,i: 40,025,453 msg/sec OptimistAtomicQueueB, 8,s: 51,503,629 msg/sec OptimistAtomicQueueB, 8,i: 41,287,163 msg/sec AtomicQueue2, 1,s: 134,425,728 msg/sec AtomicQueue2, 1,i: 121,540,205 msg/sec AtomicQueue2, 2,s: 9,959,507 msg/sec AtomicQueue2, 2,i: 10,539,765 msg/sec AtomicQueue2, 3,s: 8,420,822 msg/sec AtomicQueue2, 3,i: 8,918,231 msg/sec AtomicQueue2, 4,s: 6,673,649 msg/sec AtomicQueue2, 4,i: 7,099,166 msg/sec AtomicQueue2, 5,s: 3,134,913 msg/sec AtomicQueue2, 5,i: 4,270,185 msg/sec AtomicQueue2, 6,s: 2,566,137 msg/sec AtomicQueue2, 6,i: 3,976,192 msg/sec AtomicQueue2, 7,s: 2,902,694 msg/sec AtomicQueue2, 7,i: 3,267,092 msg/sec AtomicQueue2, 8,s: 3,021,688 msg/sec AtomicQueue2, 8,i: 2,880,032 msg/sec OptimistAtomicQueue2, 1,s: 107,411,272 msg/sec OptimistAtomicQueue2, 1,i: 107,503,299 msg/sec OptimistAtomicQueue2, 2,s: 43,377,294 msg/sec OptimistAtomicQueue2, 2,i: 48,087,884 msg/sec OptimistAtomicQueue2, 3,s: 56,201,665 msg/sec OptimistAtomicQueue2, 3,i: 50,005,397 msg/sec OptimistAtomicQueue2, 4,s: 59,130,250 msg/sec OptimistAtomicQueue2, 4,i: 58,017,299 msg/sec OptimistAtomicQueue2, 5,s: 31,446,589 msg/sec OptimistAtomicQueue2, 5,i: 32,557,571 msg/sec OptimistAtomicQueue2, 6,s: 32,890,269 msg/sec OptimistAtomicQueue2, 6,i: 32,511,054 msg/sec OptimistAtomicQueue2, 7,s: 37,745,690 msg/sec OptimistAtomicQueue2, 7,i: 37,799,049 msg/sec OptimistAtomicQueue2, 8,s: 49,101,321 msg/sec OptimistAtomicQueue2, 8,i: 39,908,594 msg/sec AtomicQueueB2, 1,s: 72,342,810 msg/sec AtomicQueueB2, 1,i: 72,543,593 msg/sec AtomicQueueB2, 2,s: 9,869,922 msg/sec AtomicQueueB2, 2,i: 10,436,544 msg/sec AtomicQueueB2, 3,s: 8,324,409 msg/sec AtomicQueueB2, 3,i: 8,852,546 msg/sec AtomicQueueB2, 4,s: 6,614,422 msg/sec AtomicQueueB2, 4,i: 6,961,440 msg/sec AtomicQueueB2, 5,s: 3,088,035 msg/sec AtomicQueueB2, 5,i: 4,293,900 msg/sec AtomicQueueB2, 6,s: 2,563,215 msg/sec AtomicQueueB2, 6,i: 3,984,368 msg/sec AtomicQueueB2, 7,s: 2,897,897 msg/sec AtomicQueueB2, 7,i: 3,178,841 msg/sec AtomicQueueB2, 8,s: 3,015,180 msg/sec AtomicQueueB2, 8,i: 2,861,003 msg/sec OptimistAtomicQueueB2, 1,s: 152,276,615 msg/sec OptimistAtomicQueueB2, 1,i: 152,338,551 msg/sec OptimistAtomicQueueB2, 2,s: 42,329,135 msg/sec OptimistAtomicQueueB2, 2,i: 45,972,927 msg/sec OptimistAtomicQueueB2, 3,s: 56,952,330 msg/sec OptimistAtomicQueueB2, 3,i: 53,166,640 msg/sec OptimistAtomicQueueB2, 4,s: 59,101,455 msg/sec OptimistAtomicQueueB2, 4,i: 59,905,767 msg/sec OptimistAtomicQueueB2, 5,s: 31,327,439 msg/sec OptimistAtomicQueueB2, 5,i: 32,641,184 msg/sec OptimistAtomicQueueB2, 6,s: 32,931,209 msg/sec OptimistAtomicQueueB2, 6,i: 31,905,171 msg/sec OptimistAtomicQueueB2, 7,s: 37,030,120 msg/sec OptimistAtomicQueueB2, 7,i: 36,979,497 msg/sec OptimistAtomicQueueB2, 8,s: 47,966,491 msg/sec OptimistAtomicQueueB2, 8,i: 39,009,253 msg/sec moodycamel::ReaderWriterQueue, 1,s: 207,287,172 msg/sec moodycamel::ReaderWriterQueue, 1,i: 540,196,486 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,124,698 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,223,406 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,094,469 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,501,634 msg/sec moodycamel::ConcurrentQueue, 3,s: 60,448,621 msg/sec moodycamel::ConcurrentQueue, 3,i: 59,121,734 msg/sec moodycamel::ConcurrentQueue, 4,s: 105,108,547 msg/sec moodycamel::ConcurrentQueue, 4,i: 88,536,597 msg/sec moodycamel::ConcurrentQueue, 5,s: 103,210,153 msg/sec moodycamel::ConcurrentQueue, 5,i: 189,756,462 msg/sec moodycamel::ConcurrentQueue, 6,s: 198,373,769 msg/sec moodycamel::ConcurrentQueue, 6,i: 219,867,982 msg/sec moodycamel::ConcurrentQueue, 7,s: 232,436,841 msg/sec moodycamel::ConcurrentQueue, 7,i: 232,693,202 msg/sec moodycamel::ConcurrentQueue, 8,s: 269,468,688 msg/sec moodycamel::ConcurrentQueue, 8,i: 250,852,987 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,837,379 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,815,833 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,131,148 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,139,735 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,981,182 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,081,122 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,419,051 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,622,123 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,066,372 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,605,416 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,792,505 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,382,488 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,664,782 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,145,205 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,788,826 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,806,807 msg/sec xenium::michael_scott_queue, 1,s: 13,430,044 msg/sec xenium::michael_scott_queue, 1,i: 13,739,065 msg/sec xenium::michael_scott_queue, 2,s: 9,454,477 msg/sec xenium::michael_scott_queue, 2,i: 9,204,919 msg/sec xenium::michael_scott_queue, 3,s: 7,639,517 msg/sec xenium::michael_scott_queue, 3,i: 7,567,159 msg/sec xenium::michael_scott_queue, 4,s: 5,865,384 msg/sec xenium::michael_scott_queue, 4,i: 5,826,389 msg/sec xenium::michael_scott_queue, 5,s: 3,636,853 msg/sec xenium::michael_scott_queue, 5,i: 4,652,577 msg/sec xenium::michael_scott_queue, 6,s: 3,333,663 msg/sec xenium::michael_scott_queue, 6,i: 3,928,700 msg/sec xenium::michael_scott_queue, 7,s: 3,163,936 msg/sec xenium::michael_scott_queue, 7,i: 3,265,534 msg/sec xenium::michael_scott_queue, 8,s: 2,360,125 msg/sec xenium::michael_scott_queue, 8,i: 2,793,056 msg/sec xenium::ramalhete_queue, 1,s: 84,793,114 msg/sec xenium::ramalhete_queue, 1,i: 82,786,032 msg/sec xenium::ramalhete_queue, 2,s: 47,086,729 msg/sec xenium::ramalhete_queue, 2,i: 51,467,023 msg/sec xenium::ramalhete_queue, 3,s: 42,292,504 msg/sec xenium::ramalhete_queue, 3,i: 41,248,469 msg/sec xenium::ramalhete_queue, 4,s: 49,636,889 msg/sec xenium::ramalhete_queue, 4,i: 49,023,933 msg/sec xenium::ramalhete_queue, 5,s: 37,015,177 msg/sec xenium::ramalhete_queue, 5,i: 23,258,297 msg/sec xenium::ramalhete_queue, 6,s: 38,554,182 msg/sec xenium::ramalhete_queue, 6,i: 26,448,822 msg/sec xenium::ramalhete_queue, 7,s: 39,613,698 msg/sec xenium::ramalhete_queue, 7,i: 28,168,843 msg/sec xenium::ramalhete_queue, 8,s: 49,764,865 msg/sec xenium::ramalhete_queue, 8,i: 30,637,463 msg/sec xenium::vyukov_bounded_queue, 1,s: 313,154,613 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,565,755 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,453,208 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,443,620 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,637,699 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,329,887 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,275,321 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,630,066 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,930,990 msg/sec xenium::vyukov_bounded_queue, 5,i: 8,297,573 msg/sec xenium::vyukov_bounded_queue, 6,s: 6,996,433 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,821,345 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,246,434 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,481,673 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,659,852 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,560,344 msg/sec boost::lockfree::queue, 1,s: 7,785,084 msg/sec boost::lockfree::queue, 1,i: 7,788,945 msg/sec boost::lockfree::queue, 2,s: 5,898,296 msg/sec boost::lockfree::queue, 2,i: 5,896,663 msg/sec boost::lockfree::queue, 3,s: 4,940,695 msg/sec boost::lockfree::queue, 3,i: 4,812,526 msg/sec boost::lockfree::queue, 4,s: 4,370,743 msg/sec boost::lockfree::queue, 4,i: 4,344,235 msg/sec boost::lockfree::queue, 5,s: 2,635,589 msg/sec boost::lockfree::queue, 5,i: 2,905,218 msg/sec boost::lockfree::queue, 6,s: 1,441,897 msg/sec boost::lockfree::queue, 6,i: 2,988,251 msg/sec boost::lockfree::queue, 7,s: 1,392,792 msg/sec boost::lockfree::queue, 7,i: 2,835,334 msg/sec boost::lockfree::queue, 8,s: 1,160,488 msg/sec boost::lockfree::queue, 8,i: 1,836,611 msg/sec std::mutex, 1,s: 4,000,452 msg/sec std::mutex, 1,i: 3,641,963 msg/sec std::mutex, 2,s: 13,023,269 msg/sec std::mutex, 2,i: 12,828,813 msg/sec std::mutex, 3,s: 6,888,770 msg/sec std::mutex, 3,i: 6,792,464 msg/sec std::mutex, 4,s: 7,060,993 msg/sec std::mutex, 4,i: 6,717,271 msg/sec std::mutex, 5,s: 3,347,765 msg/sec std::mutex, 5,i: 3,364,900 msg/sec std::mutex, 6,s: 2,996,618 msg/sec std::mutex, 6,i: 2,972,952 msg/sec std::mutex, 7,s: 3,268,624 msg/sec std::mutex, 7,i: 2,897,920 msg/sec std::mutex, 8,s: 3,471,461 msg/sec std::mutex, 8,i: 2,818,843 msg/sec pthread_spinlock, 1,s: 17,735,982 msg/sec pthread_spinlock, 1,i: 17,883,448 msg/sec pthread_spinlock, 2,s: 7,811,443 msg/sec pthread_spinlock, 2,i: 1,399,756 msg/sec pthread_spinlock, 3,s: 879,544 msg/sec pthread_spinlock, 3,i: 5,278,853 msg/sec pthread_spinlock, 4,s: 2,041,501 msg/sec pthread_spinlock, 4,i: 1,362,388 msg/sec pthread_spinlock, 5,s: 2,781,238 msg/sec pthread_spinlock, 5,i: 842,089 msg/sec pthread_spinlock, 6,s: 2,080,696 msg/sec pthread_spinlock, 6,i: 3,699,311 msg/sec pthread_spinlock, 7,s: 2,888,273 msg/sec pthread_spinlock, 7,i: 3,076,656 msg/sec pthread_spinlock, 8,s: 2,987,861 msg/sec pthread_spinlock, 8,i: 2,691,154 msg/sec tbb::spin_mutex, 1,s: 38,747,602 msg/sec tbb::spin_mutex, 1,i: 39,875,160 msg/sec tbb::spin_mutex, 2,s: 16,458,483 msg/sec tbb::spin_mutex, 2,i: 15,942,229 msg/sec tbb::spin_mutex, 3,s: 12,096,827 msg/sec tbb::spin_mutex, 3,i: 11,894,979 msg/sec tbb::spin_mutex, 4,s: 10,597,965 msg/sec tbb::spin_mutex, 4,i: 9,945,798 msg/sec tbb::spin_mutex, 5,s: 5,951,271 msg/sec tbb::spin_mutex, 5,i: 5,565,878 msg/sec tbb::spin_mutex, 6,s: 5,085,406 msg/sec tbb::spin_mutex, 6,i: 4,846,387 msg/sec tbb::spin_mutex, 7,s: 4,395,940 msg/sec tbb::spin_mutex, 7,i: 4,928,303 msg/sec tbb::spin_mutex, 8,s: 4,281,437 msg/sec tbb::spin_mutex, 8,i: 4,093,371 msg/sec Elapsed time 2:44.19, user 1296.48s, system 110.19s, CPU 856%, RSS 66472kB, exit-status 0. 2026-09-14 16:01:11 [7/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000113 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000085 sec/round-trip AtomicQueue2: 0.000000114 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000167 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000445 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000202 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,182,726 msg/sec boost::lockfree::spsc_queue, 1,i: 112,187,098 msg/sec AtomicQueue, 1,s: 144,524,822 msg/sec AtomicQueue, 1,i: 143,505,474 msg/sec AtomicQueue, 2,s: 9,883,942 msg/sec AtomicQueue, 2,i: 10,336,762 msg/sec AtomicQueue, 3,s: 8,349,461 msg/sec AtomicQueue, 3,i: 8,826,349 msg/sec AtomicQueue, 4,s: 6,610,970 msg/sec AtomicQueue, 4,i: 7,015,530 msg/sec AtomicQueue, 5,s: 3,168,045 msg/sec AtomicQueue, 5,i: 4,315,363 msg/sec AtomicQueue, 6,s: 2,602,849 msg/sec AtomicQueue, 6,i: 3,539,582 msg/sec AtomicQueue, 7,s: 2,969,995 msg/sec AtomicQueue, 7,i: 3,200,082 msg/sec AtomicQueue, 8,s: 3,116,624 msg/sec AtomicQueue, 8,i: 2,897,094 msg/sec OptimistAtomicQueue, 1,s: 1,193,763,882 msg/sec OptimistAtomicQueue, 1,i: 1,195,347,766 msg/sec OptimistAtomicQueue, 2,s: 58,462,773 msg/sec OptimistAtomicQueue, 2,i: 51,990,367 msg/sec OptimistAtomicQueue, 3,s: 58,500,681 msg/sec OptimistAtomicQueue, 3,i: 59,582,124 msg/sec OptimistAtomicQueue, 4,s: 59,223,749 msg/sec OptimistAtomicQueue, 4,i: 66,273,100 msg/sec OptimistAtomicQueue, 5,s: 33,113,782 msg/sec OptimistAtomicQueue, 5,i: 41,645,811 msg/sec OptimistAtomicQueue, 6,s: 34,649,451 msg/sec OptimistAtomicQueue, 6,i: 35,179,818 msg/sec OptimistAtomicQueue, 7,s: 40,034,041 msg/sec OptimistAtomicQueue, 7,i: 40,097,093 msg/sec OptimistAtomicQueue, 8,s: 50,469,604 msg/sec OptimistAtomicQueue, 8,i: 41,293,232 msg/sec AtomicQueueB, 1,s: 50,627,431 msg/sec AtomicQueueB, 1,i: 50,246,777 msg/sec AtomicQueueB, 2,s: 9,551,963 msg/sec AtomicQueueB, 2,i: 10,020,571 msg/sec AtomicQueueB, 3,s: 8,164,981 msg/sec AtomicQueueB, 3,i: 8,687,643 msg/sec AtomicQueueB, 4,s: 6,550,114 msg/sec AtomicQueueB, 4,i: 6,904,970 msg/sec AtomicQueueB, 5,s: 3,122,112 msg/sec AtomicQueueB, 5,i: 4,335,945 msg/sec AtomicQueueB, 6,s: 2,605,104 msg/sec AtomicQueueB, 6,i: 3,482,203 msg/sec AtomicQueueB, 7,s: 2,922,934 msg/sec AtomicQueueB, 7,i: 3,219,256 msg/sec AtomicQueueB, 8,s: 3,062,829 msg/sec AtomicQueueB, 8,i: 2,873,576 msg/sec OptimistAtomicQueueB, 1,s: 526,973,958 msg/sec OptimistAtomicQueueB, 1,i: 516,604,732 msg/sec OptimistAtomicQueueB, 2,s: 46,929,597 msg/sec OptimistAtomicQueueB, 2,i: 49,202,738 msg/sec OptimistAtomicQueueB, 3,s: 58,603,391 msg/sec OptimistAtomicQueueB, 3,i: 57,235,523 msg/sec OptimistAtomicQueueB, 4,s: 59,623,248 msg/sec OptimistAtomicQueueB, 4,i: 66,102,953 msg/sec OptimistAtomicQueueB, 5,s: 33,103,851 msg/sec OptimistAtomicQueueB, 5,i: 39,717,913 msg/sec OptimistAtomicQueueB, 6,s: 34,398,637 msg/sec OptimistAtomicQueueB, 6,i: 33,996,354 msg/sec OptimistAtomicQueueB, 7,s: 39,316,372 msg/sec OptimistAtomicQueueB, 7,i: 39,984,644 msg/sec OptimistAtomicQueueB, 8,s: 51,514,587 msg/sec OptimistAtomicQueueB, 8,i: 41,250,751 msg/sec AtomicQueue2, 1,s: 133,275,752 msg/sec AtomicQueue2, 1,i: 99,917,465 msg/sec AtomicQueue2, 2,s: 9,965,275 msg/sec AtomicQueue2, 2,i: 10,526,691 msg/sec AtomicQueue2, 3,s: 8,425,703 msg/sec AtomicQueue2, 3,i: 8,911,813 msg/sec AtomicQueue2, 4,s: 6,679,677 msg/sec AtomicQueue2, 4,i: 7,101,951 msg/sec AtomicQueue2, 5,s: 3,139,831 msg/sec AtomicQueue2, 5,i: 3,705,844 msg/sec AtomicQueue2, 6,s: 2,568,874 msg/sec AtomicQueue2, 6,i: 3,987,299 msg/sec AtomicQueue2, 7,s: 2,903,516 msg/sec AtomicQueue2, 7,i: 3,211,896 msg/sec AtomicQueue2, 8,s: 3,018,425 msg/sec AtomicQueue2, 8,i: 2,881,953 msg/sec OptimistAtomicQueue2, 1,s: 107,366,412 msg/sec OptimistAtomicQueue2, 1,i: 107,414,848 msg/sec OptimistAtomicQueue2, 2,s: 43,497,026 msg/sec OptimistAtomicQueue2, 2,i: 47,087,283 msg/sec OptimistAtomicQueue2, 3,s: 56,501,899 msg/sec OptimistAtomicQueue2, 3,i: 50,040,504 msg/sec OptimistAtomicQueue2, 4,s: 59,207,654 msg/sec OptimistAtomicQueue2, 4,i: 57,973,777 msg/sec OptimistAtomicQueue2, 5,s: 31,432,267 msg/sec OptimistAtomicQueue2, 5,i: 32,768,624 msg/sec OptimistAtomicQueue2, 6,s: 32,970,513 msg/sec OptimistAtomicQueue2, 6,i: 32,462,339 msg/sec OptimistAtomicQueue2, 7,s: 37,758,930 msg/sec OptimistAtomicQueue2, 7,i: 37,749,837 msg/sec OptimistAtomicQueue2, 8,s: 49,094,089 msg/sec OptimistAtomicQueue2, 8,i: 39,875,796 msg/sec AtomicQueueB2, 1,s: 55,882,281 msg/sec AtomicQueueB2, 1,i: 72,756,397 msg/sec AtomicQueueB2, 2,s: 9,857,382 msg/sec AtomicQueueB2, 2,i: 10,438,639 msg/sec AtomicQueueB2, 3,s: 8,313,730 msg/sec AtomicQueueB2, 3,i: 8,838,902 msg/sec AtomicQueueB2, 4,s: 6,612,877 msg/sec AtomicQueueB2, 4,i: 6,968,202 msg/sec AtomicQueueB2, 5,s: 3,095,625 msg/sec AtomicQueueB2, 5,i: 3,712,434 msg/sec AtomicQueueB2, 6,s: 2,548,352 msg/sec AtomicQueueB2, 6,i: 3,456,128 msg/sec AtomicQueueB2, 7,s: 2,899,082 msg/sec AtomicQueueB2, 7,i: 3,166,212 msg/sec AtomicQueueB2, 8,s: 3,016,116 msg/sec AtomicQueueB2, 8,i: 2,838,208 msg/sec OptimistAtomicQueueB2, 1,s: 153,370,286 msg/sec OptimistAtomicQueueB2, 1,i: 151,302,976 msg/sec OptimistAtomicQueueB2, 2,s: 42,190,714 msg/sec OptimistAtomicQueueB2, 2,i: 45,872,147 msg/sec OptimistAtomicQueueB2, 3,s: 56,901,938 msg/sec OptimistAtomicQueueB2, 3,i: 53,142,314 msg/sec OptimistAtomicQueueB2, 4,s: 59,055,455 msg/sec OptimistAtomicQueueB2, 4,i: 59,815,864 msg/sec OptimistAtomicQueueB2, 5,s: 31,387,605 msg/sec OptimistAtomicQueueB2, 5,i: 32,566,393 msg/sec OptimistAtomicQueueB2, 6,s: 32,911,560 msg/sec OptimistAtomicQueueB2, 6,i: 32,193,211 msg/sec OptimistAtomicQueueB2, 7,s: 37,061,767 msg/sec OptimistAtomicQueueB2, 7,i: 37,010,509 msg/sec OptimistAtomicQueueB2, 8,s: 48,000,589 msg/sec OptimistAtomicQueueB2, 8,i: 39,060,342 msg/sec moodycamel::ReaderWriterQueue, 1,s: 78,815,712 msg/sec moodycamel::ReaderWriterQueue, 1,i: 57,106,372 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,148,225 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,317,721 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,779,102 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,179,570 msg/sec moodycamel::ConcurrentQueue, 3,s: 55,023,612 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,412,114 msg/sec moodycamel::ConcurrentQueue, 4,s: 101,737,521 msg/sec moodycamel::ConcurrentQueue, 4,i: 79,775,672 msg/sec moodycamel::ConcurrentQueue, 5,s: 101,485,188 msg/sec moodycamel::ConcurrentQueue, 5,i: 181,973,804 msg/sec moodycamel::ConcurrentQueue, 6,s: 200,417,244 msg/sec moodycamel::ConcurrentQueue, 6,i: 216,819,471 msg/sec moodycamel::ConcurrentQueue, 7,s: 240,551,214 msg/sec moodycamel::ConcurrentQueue, 7,i: 231,118,586 msg/sec moodycamel::ConcurrentQueue, 8,s: 283,946,387 msg/sec moodycamel::ConcurrentQueue, 8,i: 248,012,961 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,805,216 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,821,483 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,142,347 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,156,057 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,984,103 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,084,292 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,424,231 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,632,068 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,070,664 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,114,332 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,803,123 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,686,224 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,668,152 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,127,292 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,785,342 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,808,775 msg/sec xenium::michael_scott_queue, 1,s: 13,445,734 msg/sec xenium::michael_scott_queue, 1,i: 13,761,115 msg/sec xenium::michael_scott_queue, 2,s: 9,430,092 msg/sec xenium::michael_scott_queue, 2,i: 9,186,190 msg/sec xenium::michael_scott_queue, 3,s: 7,649,150 msg/sec xenium::michael_scott_queue, 3,i: 7,556,779 msg/sec xenium::michael_scott_queue, 4,s: 5,864,252 msg/sec xenium::michael_scott_queue, 4,i: 5,823,535 msg/sec xenium::michael_scott_queue, 5,s: 3,639,422 msg/sec xenium::michael_scott_queue, 5,i: 4,654,247 msg/sec xenium::michael_scott_queue, 6,s: 3,312,697 msg/sec xenium::michael_scott_queue, 6,i: 3,586,695 msg/sec xenium::michael_scott_queue, 7,s: 3,165,155 msg/sec xenium::michael_scott_queue, 7,i: 3,241,895 msg/sec xenium::michael_scott_queue, 8,s: 2,346,750 msg/sec xenium::michael_scott_queue, 8,i: 2,793,207 msg/sec xenium::ramalhete_queue, 1,s: 75,579,390 msg/sec xenium::ramalhete_queue, 1,i: 68,799,289 msg/sec xenium::ramalhete_queue, 2,s: 50,524,936 msg/sec xenium::ramalhete_queue, 2,i: 33,422,254 msg/sec xenium::ramalhete_queue, 3,s: 42,140,236 msg/sec xenium::ramalhete_queue, 3,i: 40,873,002 msg/sec xenium::ramalhete_queue, 4,s: 52,661,348 msg/sec xenium::ramalhete_queue, 4,i: 50,606,320 msg/sec xenium::ramalhete_queue, 5,s: 37,157,678 msg/sec xenium::ramalhete_queue, 5,i: 23,661,449 msg/sec xenium::ramalhete_queue, 6,s: 38,675,210 msg/sec xenium::ramalhete_queue, 6,i: 26,789,116 msg/sec xenium::ramalhete_queue, 7,s: 39,475,964 msg/sec xenium::ramalhete_queue, 7,i: 28,383,454 msg/sec xenium::ramalhete_queue, 8,s: 50,272,871 msg/sec xenium::ramalhete_queue, 8,i: 32,787,371 msg/sec xenium::vyukov_bounded_queue, 1,s: 307,201,820 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,961,697 msg/sec xenium::vyukov_bounded_queue, 2,s: 21,901,336 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,055,351 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,733,512 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,216,136 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,343,625 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,569,870 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,033,739 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,120,424 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,084,158 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,877,188 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,154,231 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,446,865 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,349,203 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,559,108 msg/sec boost::lockfree::queue, 1,s: 7,805,167 msg/sec boost::lockfree::queue, 1,i: 7,819,274 msg/sec boost::lockfree::queue, 2,s: 5,831,068 msg/sec boost::lockfree::queue, 2,i: 5,933,487 msg/sec boost::lockfree::queue, 3,s: 4,932,951 msg/sec boost::lockfree::queue, 3,i: 4,809,155 msg/sec boost::lockfree::queue, 4,s: 4,376,807 msg/sec boost::lockfree::queue, 4,i: 4,342,016 msg/sec boost::lockfree::queue, 5,s: 2,655,679 msg/sec boost::lockfree::queue, 5,i: 2,659,118 msg/sec boost::lockfree::queue, 6,s: 1,431,647 msg/sec boost::lockfree::queue, 6,i: 2,826,361 msg/sec boost::lockfree::queue, 7,s: 1,369,628 msg/sec boost::lockfree::queue, 7,i: 2,859,603 msg/sec boost::lockfree::queue, 8,s: 1,157,526 msg/sec boost::lockfree::queue, 8,i: 1,828,732 msg/sec std::mutex, 1,s: 3,848,196 msg/sec std::mutex, 1,i: 3,761,399 msg/sec std::mutex, 2,s: 12,962,847 msg/sec std::mutex, 2,i: 13,593,405 msg/sec std::mutex, 3,s: 6,869,685 msg/sec std::mutex, 3,i: 6,806,800 msg/sec std::mutex, 4,s: 7,077,609 msg/sec std::mutex, 4,i: 6,714,356 msg/sec std::mutex, 5,s: 3,298,824 msg/sec std::mutex, 5,i: 3,488,267 msg/sec std::mutex, 6,s: 3,036,419 msg/sec std::mutex, 6,i: 3,086,911 msg/sec std::mutex, 7,s: 3,246,881 msg/sec std::mutex, 7,i: 2,910,179 msg/sec std::mutex, 8,s: 3,421,851 msg/sec std::mutex, 8,i: 2,790,417 msg/sec pthread_spinlock, 1,s: 17,710,697 msg/sec pthread_spinlock, 1,i: 18,128,028 msg/sec pthread_spinlock, 2,s: 6,828,845 msg/sec pthread_spinlock, 2,i: 1,526,107 msg/sec pthread_spinlock, 3,s: 853,376 msg/sec pthread_spinlock, 3,i: 5,722,754 msg/sec pthread_spinlock, 4,s: 1,206,168 msg/sec pthread_spinlock, 4,i: 1,681,410 msg/sec pthread_spinlock, 5,s: 2,771,030 msg/sec pthread_spinlock, 5,i: 789,364 msg/sec pthread_spinlock, 6,s: 1,996,652 msg/sec pthread_spinlock, 6,i: 3,111,610 msg/sec pthread_spinlock, 7,s: 2,779,763 msg/sec pthread_spinlock, 7,i: 3,067,170 msg/sec pthread_spinlock, 8,s: 2,972,571 msg/sec pthread_spinlock, 8,i: 2,680,080 msg/sec tbb::spin_mutex, 1,s: 38,574,479 msg/sec tbb::spin_mutex, 1,i: 39,233,106 msg/sec tbb::spin_mutex, 2,s: 16,495,529 msg/sec tbb::spin_mutex, 2,i: 16,007,170 msg/sec tbb::spin_mutex, 3,s: 12,060,221 msg/sec tbb::spin_mutex, 3,i: 11,940,988 msg/sec tbb::spin_mutex, 4,s: 10,280,558 msg/sec tbb::spin_mutex, 4,i: 10,159,277 msg/sec tbb::spin_mutex, 5,s: 5,930,594 msg/sec tbb::spin_mutex, 5,i: 5,572,645 msg/sec tbb::spin_mutex, 6,s: 5,099,258 msg/sec tbb::spin_mutex, 6,i: 4,883,956 msg/sec tbb::spin_mutex, 7,s: 4,368,221 msg/sec tbb::spin_mutex, 7,i: 4,687,300 msg/sec tbb::spin_mutex, 8,s: 4,268,907 msg/sec tbb::spin_mutex, 8,i: 4,052,543 msg/sec Elapsed time 2:44.66, user 1301.06s, system 110.71s, CPU 857%, RSS 59720kB, exit-status 0. 2026-09-14 16:03:55 [8/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip AtomicQueue: 0.000000094 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000120 sec/round-trip OptimistAtomicQueueB: 0.000000090 sec/round-trip AtomicQueue2: 0.000000112 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000166 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000451 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,592,873 msg/sec boost::lockfree::spsc_queue, 1,i: 112,761,664 msg/sec AtomicQueue, 1,s: 144,120,542 msg/sec AtomicQueue, 1,i: 147,040,228 msg/sec AtomicQueue, 2,s: 9,902,770 msg/sec AtomicQueue, 2,i: 10,340,217 msg/sec AtomicQueue, 3,s: 8,348,336 msg/sec AtomicQueue, 3,i: 8,819,850 msg/sec AtomicQueue, 4,s: 6,606,130 msg/sec AtomicQueue, 4,i: 7,010,394 msg/sec AtomicQueue, 5,s: 3,164,535 msg/sec AtomicQueue, 5,i: 4,318,259 msg/sec AtomicQueue, 6,s: 2,600,167 msg/sec AtomicQueue, 6,i: 3,544,780 msg/sec AtomicQueue, 7,s: 2,968,910 msg/sec AtomicQueue, 7,i: 3,205,691 msg/sec AtomicQueue, 8,s: 3,121,046 msg/sec AtomicQueue, 8,i: 2,907,311 msg/sec OptimistAtomicQueue, 1,s: 1,198,413,275 msg/sec OptimistAtomicQueue, 1,i: 1,210,101,575 msg/sec OptimistAtomicQueue, 2,s: 51,837,024 msg/sec OptimistAtomicQueue, 2,i: 52,306,355 msg/sec OptimistAtomicQueue, 3,s: 58,731,045 msg/sec OptimistAtomicQueue, 3,i: 59,331,247 msg/sec OptimistAtomicQueue, 4,s: 59,194,932 msg/sec OptimistAtomicQueue, 4,i: 66,240,966 msg/sec OptimistAtomicQueue, 5,s: 33,257,429 msg/sec OptimistAtomicQueue, 5,i: 43,203,182 msg/sec OptimistAtomicQueue, 6,s: 34,675,727 msg/sec OptimistAtomicQueue, 6,i: 35,209,830 msg/sec OptimistAtomicQueue, 7,s: 40,051,727 msg/sec OptimistAtomicQueue, 7,i: 40,005,534 msg/sec OptimistAtomicQueue, 8,s: 50,510,008 msg/sec OptimistAtomicQueue, 8,i: 41,208,629 msg/sec AtomicQueueB, 1,s: 52,119,752 msg/sec AtomicQueueB, 1,i: 50,429,951 msg/sec AtomicQueueB, 2,s: 9,487,098 msg/sec AtomicQueueB, 2,i: 9,879,640 msg/sec AtomicQueueB, 3,s: 8,199,406 msg/sec AtomicQueueB, 3,i: 8,668,267 msg/sec AtomicQueueB, 4,s: 6,561,226 msg/sec AtomicQueueB, 4,i: 6,909,171 msg/sec AtomicQueueB, 5,s: 3,115,826 msg/sec AtomicQueueB, 5,i: 4,332,985 msg/sec AtomicQueueB, 6,s: 2,604,586 msg/sec AtomicQueueB, 6,i: 3,961,453 msg/sec AtomicQueueB, 7,s: 2,915,563 msg/sec AtomicQueueB, 7,i: 3,167,680 msg/sec AtomicQueueB, 8,s: 3,052,304 msg/sec AtomicQueueB, 8,i: 2,881,402 msg/sec OptimistAtomicQueueB, 1,s: 519,959,622 msg/sec OptimistAtomicQueueB, 1,i: 524,954,562 msg/sec OptimistAtomicQueueB, 2,s: 47,016,772 msg/sec OptimistAtomicQueueB, 2,i: 49,206,152 msg/sec OptimistAtomicQueueB, 3,s: 58,645,834 msg/sec OptimistAtomicQueueB, 3,i: 57,853,287 msg/sec OptimistAtomicQueueB, 4,s: 59,430,702 msg/sec OptimistAtomicQueueB, 4,i: 66,349,125 msg/sec OptimistAtomicQueueB, 5,s: 33,072,726 msg/sec OptimistAtomicQueueB, 5,i: 38,781,336 msg/sec OptimistAtomicQueueB, 6,s: 34,406,436 msg/sec OptimistAtomicQueueB, 6,i: 34,080,281 msg/sec OptimistAtomicQueueB, 7,s: 39,265,938 msg/sec OptimistAtomicQueueB, 7,i: 40,039,844 msg/sec OptimistAtomicQueueB, 8,s: 51,492,995 msg/sec OptimistAtomicQueueB, 8,i: 41,252,947 msg/sec AtomicQueue2, 1,s: 135,948,909 msg/sec AtomicQueue2, 1,i: 134,077,165 msg/sec AtomicQueue2, 2,s: 9,967,735 msg/sec AtomicQueue2, 2,i: 10,549,513 msg/sec AtomicQueue2, 3,s: 8,401,263 msg/sec AtomicQueue2, 3,i: 8,883,429 msg/sec AtomicQueue2, 4,s: 6,676,486 msg/sec AtomicQueue2, 4,i: 7,089,948 msg/sec AtomicQueue2, 5,s: 3,134,870 msg/sec AtomicQueue2, 5,i: 4,273,810 msg/sec AtomicQueue2, 6,s: 2,565,965 msg/sec AtomicQueue2, 6,i: 3,983,307 msg/sec AtomicQueue2, 7,s: 2,899,640 msg/sec AtomicQueue2, 7,i: 3,220,960 msg/sec AtomicQueue2, 8,s: 3,004,183 msg/sec AtomicQueue2, 8,i: 2,911,207 msg/sec OptimistAtomicQueue2, 1,s: 107,988,197 msg/sec OptimistAtomicQueue2, 1,i: 107,189,990 msg/sec OptimistAtomicQueue2, 2,s: 43,435,568 msg/sec OptimistAtomicQueue2, 2,i: 47,080,898 msg/sec OptimistAtomicQueue2, 3,s: 56,444,495 msg/sec OptimistAtomicQueue2, 3,i: 50,016,252 msg/sec OptimistAtomicQueue2, 4,s: 59,247,293 msg/sec OptimistAtomicQueue2, 4,i: 57,974,046 msg/sec OptimistAtomicQueue2, 5,s: 31,476,382 msg/sec OptimistAtomicQueue2, 5,i: 32,711,086 msg/sec OptimistAtomicQueue2, 6,s: 32,951,219 msg/sec OptimistAtomicQueue2, 6,i: 32,485,264 msg/sec OptimistAtomicQueue2, 7,s: 37,805,136 msg/sec OptimistAtomicQueue2, 7,i: 37,855,324 msg/sec OptimistAtomicQueue2, 8,s: 49,032,611 msg/sec OptimistAtomicQueue2, 8,i: 39,888,775 msg/sec AtomicQueueB2, 1,s: 78,885,781 msg/sec AtomicQueueB2, 1,i: 69,661,610 msg/sec AtomicQueueB2, 2,s: 9,875,029 msg/sec AtomicQueueB2, 2,i: 10,457,210 msg/sec AtomicQueueB2, 3,s: 8,326,107 msg/sec AtomicQueueB2, 3,i: 8,841,268 msg/sec AtomicQueueB2, 4,s: 6,621,689 msg/sec AtomicQueueB2, 4,i: 6,969,865 msg/sec AtomicQueueB2, 5,s: 3,096,357 msg/sec AtomicQueueB2, 5,i: 3,668,757 msg/sec AtomicQueueB2, 6,s: 2,547,158 msg/sec AtomicQueueB2, 6,i: 3,974,018 msg/sec AtomicQueueB2, 7,s: 2,894,917 msg/sec AtomicQueueB2, 7,i: 3,165,926 msg/sec AtomicQueueB2, 8,s: 3,010,615 msg/sec AtomicQueueB2, 8,i: 2,866,718 msg/sec OptimistAtomicQueueB2, 1,s: 151,256,520 msg/sec OptimistAtomicQueueB2, 1,i: 152,752,514 msg/sec OptimistAtomicQueueB2, 2,s: 42,271,182 msg/sec OptimistAtomicQueueB2, 2,i: 46,016,082 msg/sec OptimistAtomicQueueB2, 3,s: 56,907,281 msg/sec OptimistAtomicQueueB2, 3,i: 53,179,928 msg/sec OptimistAtomicQueueB2, 4,s: 59,049,457 msg/sec OptimistAtomicQueueB2, 4,i: 59,972,122 msg/sec OptimistAtomicQueueB2, 5,s: 31,382,050 msg/sec OptimistAtomicQueueB2, 5,i: 32,527,750 msg/sec OptimistAtomicQueueB2, 6,s: 32,952,391 msg/sec OptimistAtomicQueueB2, 6,i: 31,934,830 msg/sec OptimistAtomicQueueB2, 7,s: 37,087,181 msg/sec OptimistAtomicQueueB2, 7,i: 37,118,966 msg/sec OptimistAtomicQueueB2, 8,s: 48,023,271 msg/sec OptimistAtomicQueueB2, 8,i: 38,945,037 msg/sec moodycamel::ReaderWriterQueue, 1,s: 727,086,820 msg/sec moodycamel::ReaderWriterQueue, 1,i: 66,342,170 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,047,480 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,208,040 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,478,313 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,823,821 msg/sec moodycamel::ConcurrentQueue, 3,s: 51,893,078 msg/sec moodycamel::ConcurrentQueue, 3,i: 48,936,947 msg/sec moodycamel::ConcurrentQueue, 4,s: 113,474,614 msg/sec moodycamel::ConcurrentQueue, 4,i: 85,562,790 msg/sec moodycamel::ConcurrentQueue, 5,s: 143,689,195 msg/sec moodycamel::ConcurrentQueue, 5,i: 165,728,604 msg/sec moodycamel::ConcurrentQueue, 6,s: 204,115,653 msg/sec moodycamel::ConcurrentQueue, 6,i: 138,672,520 msg/sec moodycamel::ConcurrentQueue, 7,s: 238,835,749 msg/sec moodycamel::ConcurrentQueue, 7,i: 189,872,532 msg/sec moodycamel::ConcurrentQueue, 8,s: 247,515,739 msg/sec moodycamel::ConcurrentQueue, 8,i: 250,302,342 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,802,005 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,814,765 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,145,052 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,140,135 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,977,714 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,078,054 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,423,271 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,626,937 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,746 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,115,084 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,801,300 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,435,102 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,665,393 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,142,140 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,785,609 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,798,481 msg/sec xenium::michael_scott_queue, 1,s: 13,449,193 msg/sec xenium::michael_scott_queue, 1,i: 13,755,953 msg/sec xenium::michael_scott_queue, 2,s: 9,441,910 msg/sec xenium::michael_scott_queue, 2,i: 9,253,513 msg/sec xenium::michael_scott_queue, 3,s: 7,640,263 msg/sec xenium::michael_scott_queue, 3,i: 7,551,430 msg/sec xenium::michael_scott_queue, 4,s: 5,844,039 msg/sec xenium::michael_scott_queue, 4,i: 5,808,556 msg/sec xenium::michael_scott_queue, 5,s: 3,638,481 msg/sec xenium::michael_scott_queue, 5,i: 3,924,486 msg/sec xenium::michael_scott_queue, 6,s: 3,345,045 msg/sec xenium::michael_scott_queue, 6,i: 3,607,858 msg/sec xenium::michael_scott_queue, 7,s: 3,218,558 msg/sec xenium::michael_scott_queue, 7,i: 3,255,541 msg/sec xenium::michael_scott_queue, 8,s: 2,357,673 msg/sec xenium::michael_scott_queue, 8,i: 2,790,931 msg/sec xenium::ramalhete_queue, 1,s: 75,893,196 msg/sec xenium::ramalhete_queue, 1,i: 77,244,484 msg/sec xenium::ramalhete_queue, 2,s: 46,022,965 msg/sec xenium::ramalhete_queue, 2,i: 37,439,437 msg/sec xenium::ramalhete_queue, 3,s: 42,899,597 msg/sec xenium::ramalhete_queue, 3,i: 43,551,631 msg/sec xenium::ramalhete_queue, 4,s: 53,137,266 msg/sec xenium::ramalhete_queue, 4,i: 52,350,330 msg/sec xenium::ramalhete_queue, 5,s: 37,675,528 msg/sec xenium::ramalhete_queue, 5,i: 23,808,024 msg/sec xenium::ramalhete_queue, 6,s: 38,550,362 msg/sec xenium::ramalhete_queue, 6,i: 26,780,070 msg/sec xenium::ramalhete_queue, 7,s: 39,486,595 msg/sec xenium::ramalhete_queue, 7,i: 28,753,116 msg/sec xenium::ramalhete_queue, 8,s: 49,854,923 msg/sec xenium::ramalhete_queue, 8,i: 29,719,855 msg/sec xenium::vyukov_bounded_queue, 1,s: 311,638,093 msg/sec xenium::vyukov_bounded_queue, 1,i: 312,378,899 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,166,241 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,293,972 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,497,864 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,097,261 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,527,991 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,631,877 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,430,307 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,220,591 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,030,059 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,417,153 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,160,157 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,411,853 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,236,973 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,522,848 msg/sec boost::lockfree::queue, 1,s: 7,738,358 msg/sec boost::lockfree::queue, 1,i: 7,885,124 msg/sec boost::lockfree::queue, 2,s: 5,839,467 msg/sec boost::lockfree::queue, 2,i: 5,893,011 msg/sec boost::lockfree::queue, 3,s: 4,938,782 msg/sec boost::lockfree::queue, 3,i: 4,799,159 msg/sec boost::lockfree::queue, 4,s: 4,366,312 msg/sec boost::lockfree::queue, 4,i: 4,362,085 msg/sec boost::lockfree::queue, 5,s: 2,659,970 msg/sec boost::lockfree::queue, 5,i: 2,606,262 msg/sec boost::lockfree::queue, 6,s: 1,433,231 msg/sec boost::lockfree::queue, 6,i: 2,821,053 msg/sec boost::lockfree::queue, 7,s: 1,390,238 msg/sec boost::lockfree::queue, 7,i: 2,844,301 msg/sec boost::lockfree::queue, 8,s: 1,162,085 msg/sec boost::lockfree::queue, 8,i: 1,887,772 msg/sec std::mutex, 1,s: 3,920,250 msg/sec std::mutex, 1,i: 3,695,882 msg/sec std::mutex, 2,s: 13,241,276 msg/sec std::mutex, 2,i: 12,770,834 msg/sec std::mutex, 3,s: 7,273,053 msg/sec std::mutex, 3,i: 7,035,578 msg/sec std::mutex, 4,s: 6,987,822 msg/sec std::mutex, 4,i: 6,681,303 msg/sec std::mutex, 5,s: 3,390,633 msg/sec std::mutex, 5,i: 3,385,148 msg/sec std::mutex, 6,s: 3,009,140 msg/sec std::mutex, 6,i: 2,983,901 msg/sec std::mutex, 7,s: 3,273,317 msg/sec std::mutex, 7,i: 2,953,060 msg/sec std::mutex, 8,s: 3,436,275 msg/sec std::mutex, 8,i: 2,773,603 msg/sec pthread_spinlock, 1,s: 17,791,189 msg/sec pthread_spinlock, 1,i: 18,065,753 msg/sec pthread_spinlock, 2,s: 7,706,550 msg/sec pthread_spinlock, 2,i: 1,427,371 msg/sec pthread_spinlock, 3,s: 729,747 msg/sec pthread_spinlock, 3,i: 6,935,448 msg/sec pthread_spinlock, 4,s: 1,044,722 msg/sec pthread_spinlock, 4,i: 1,695,243 msg/sec pthread_spinlock, 5,s: 2,779,870 msg/sec pthread_spinlock, 5,i: 815,734 msg/sec pthread_spinlock, 6,s: 2,089,034 msg/sec pthread_spinlock, 6,i: 3,435,875 msg/sec pthread_spinlock, 7,s: 2,910,929 msg/sec pthread_spinlock, 7,i: 3,072,474 msg/sec pthread_spinlock, 8,s: 3,008,051 msg/sec pthread_spinlock, 8,i: 2,684,815 msg/sec tbb::spin_mutex, 1,s: 38,718,962 msg/sec tbb::spin_mutex, 1,i: 38,753,638 msg/sec tbb::spin_mutex, 2,s: 16,539,007 msg/sec tbb::spin_mutex, 2,i: 16,129,837 msg/sec tbb::spin_mutex, 3,s: 12,070,703 msg/sec tbb::spin_mutex, 3,i: 11,948,716 msg/sec tbb::spin_mutex, 4,s: 10,288,815 msg/sec tbb::spin_mutex, 4,i: 9,959,676 msg/sec tbb::spin_mutex, 5,s: 6,016,321 msg/sec tbb::spin_mutex, 5,i: 5,525,872 msg/sec tbb::spin_mutex, 6,s: 5,102,794 msg/sec tbb::spin_mutex, 6,i: 4,832,728 msg/sec tbb::spin_mutex, 7,s: 4,362,521 msg/sec tbb::spin_mutex, 7,i: 4,716,238 msg/sec tbb::spin_mutex, 8,s: 4,306,301 msg/sec tbb::spin_mutex, 8,i: 4,056,195 msg/sec Elapsed time 2:44.37, user 1297.68s, system 110.41s, CPU 856%, RSS 60232kB, exit-status 0. 2026-09-14 16:06:40 [9/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000114 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000093 sec/round-trip AtomicQueue2: 0.000000110 sec/round-trip OptimistAtomicQueue2: 0.000000101 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000102 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000141 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000455 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000202 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 113,602,102 msg/sec boost::lockfree::spsc_queue, 1,i: 112,765,860 msg/sec AtomicQueue, 1,s: 145,863,633 msg/sec AtomicQueue, 1,i: 145,467,920 msg/sec AtomicQueue, 2,s: 9,876,918 msg/sec AtomicQueue, 2,i: 10,341,344 msg/sec AtomicQueue, 3,s: 8,350,516 msg/sec AtomicQueue, 3,i: 8,821,548 msg/sec AtomicQueue, 4,s: 6,615,189 msg/sec AtomicQueue, 4,i: 7,023,843 msg/sec AtomicQueue, 5,s: 3,170,677 msg/sec AtomicQueue, 5,i: 4,309,738 msg/sec AtomicQueue, 6,s: 2,599,107 msg/sec AtomicQueue, 6,i: 3,504,554 msg/sec AtomicQueue, 7,s: 2,967,898 msg/sec AtomicQueue, 7,i: 3,206,805 msg/sec AtomicQueue, 8,s: 3,117,564 msg/sec AtomicQueue, 8,i: 2,892,382 msg/sec OptimistAtomicQueue, 1,s: 1,199,563,301 msg/sec OptimistAtomicQueue, 1,i: 1,194,819,338 msg/sec OptimistAtomicQueue, 2,s: 51,754,718 msg/sec OptimistAtomicQueue, 2,i: 52,562,367 msg/sec OptimistAtomicQueue, 3,s: 58,752,058 msg/sec OptimistAtomicQueue, 3,i: 59,484,165 msg/sec OptimistAtomicQueue, 4,s: 59,264,041 msg/sec OptimistAtomicQueue, 4,i: 66,214,080 msg/sec OptimistAtomicQueue, 5,s: 33,219,083 msg/sec OptimistAtomicQueue, 5,i: 42,118,534 msg/sec OptimistAtomicQueue, 6,s: 34,631,321 msg/sec OptimistAtomicQueue, 6,i: 35,190,613 msg/sec OptimistAtomicQueue, 7,s: 40,067,308 msg/sec OptimistAtomicQueue, 7,i: 40,017,525 msg/sec OptimistAtomicQueue, 8,s: 50,477,934 msg/sec OptimistAtomicQueue, 8,i: 41,288,817 msg/sec AtomicQueueB, 1,s: 50,607,395 msg/sec AtomicQueueB, 1,i: 49,893,652 msg/sec AtomicQueueB, 2,s: 9,607,260 msg/sec AtomicQueueB, 2,i: 9,993,926 msg/sec AtomicQueueB, 3,s: 8,248,913 msg/sec AtomicQueueB, 3,i: 8,689,479 msg/sec AtomicQueueB, 4,s: 6,550,708 msg/sec AtomicQueueB, 4,i: 6,913,111 msg/sec AtomicQueueB, 5,s: 3,164,512 msg/sec AtomicQueueB, 5,i: 4,366,290 msg/sec AtomicQueueB, 6,s: 2,608,564 msg/sec AtomicQueueB, 6,i: 3,971,721 msg/sec AtomicQueueB, 7,s: 2,919,081 msg/sec AtomicQueueB, 7,i: 3,220,430 msg/sec AtomicQueueB, 8,s: 3,053,775 msg/sec AtomicQueueB, 8,i: 2,863,084 msg/sec OptimistAtomicQueueB, 1,s: 493,767,808 msg/sec OptimistAtomicQueueB, 1,i: 726,917,694 msg/sec OptimistAtomicQueueB, 2,s: 48,990,983 msg/sec OptimistAtomicQueueB, 2,i: 49,036,554 msg/sec OptimistAtomicQueueB, 3,s: 58,620,773 msg/sec OptimistAtomicQueueB, 3,i: 57,527,239 msg/sec OptimistAtomicQueueB, 4,s: 59,539,401 msg/sec OptimistAtomicQueueB, 4,i: 66,193,174 msg/sec OptimistAtomicQueueB, 5,s: 33,042,609 msg/sec OptimistAtomicQueueB, 5,i: 36,838,408 msg/sec OptimistAtomicQueueB, 6,s: 34,322,322 msg/sec OptimistAtomicQueueB, 6,i: 34,867,174 msg/sec OptimistAtomicQueueB, 7,s: 39,402,611 msg/sec OptimistAtomicQueueB, 7,i: 40,080,412 msg/sec OptimistAtomicQueueB, 8,s: 51,531,124 msg/sec OptimistAtomicQueueB, 8,i: 41,277,501 msg/sec AtomicQueue2, 1,s: 133,432,775 msg/sec AtomicQueue2, 1,i: 55,136,387 msg/sec AtomicQueue2, 2,s: 9,974,000 msg/sec AtomicQueue2, 2,i: 10,531,382 msg/sec AtomicQueue2, 3,s: 8,411,080 msg/sec AtomicQueue2, 3,i: 8,924,796 msg/sec AtomicQueue2, 4,s: 6,685,591 msg/sec AtomicQueue2, 4,i: 7,080,075 msg/sec AtomicQueue2, 5,s: 3,130,862 msg/sec AtomicQueue2, 5,i: 3,682,393 msg/sec AtomicQueue2, 6,s: 2,567,737 msg/sec AtomicQueue2, 6,i: 3,979,298 msg/sec AtomicQueue2, 7,s: 2,902,460 msg/sec AtomicQueue2, 7,i: 3,201,309 msg/sec AtomicQueue2, 8,s: 3,018,533 msg/sec AtomicQueue2, 8,i: 2,907,797 msg/sec OptimistAtomicQueue2, 1,s: 107,600,115 msg/sec OptimistAtomicQueue2, 1,i: 107,506,304 msg/sec OptimistAtomicQueue2, 2,s: 43,398,980 msg/sec OptimistAtomicQueue2, 2,i: 48,241,941 msg/sec OptimistAtomicQueue2, 3,s: 55,907,417 msg/sec OptimistAtomicQueue2, 3,i: 50,050,196 msg/sec OptimistAtomicQueue2, 4,s: 59,273,736 msg/sec OptimistAtomicQueue2, 4,i: 58,040,702 msg/sec OptimistAtomicQueue2, 5,s: 31,429,639 msg/sec OptimistAtomicQueue2, 5,i: 34,411,553 msg/sec OptimistAtomicQueue2, 6,s: 32,935,060 msg/sec OptimistAtomicQueue2, 6,i: 32,201,017 msg/sec OptimistAtomicQueue2, 7,s: 37,692,042 msg/sec OptimistAtomicQueue2, 7,i: 37,934,849 msg/sec OptimistAtomicQueue2, 8,s: 49,078,019 msg/sec OptimistAtomicQueue2, 8,i: 39,865,209 msg/sec AtomicQueueB2, 1,s: 77,954,526 msg/sec AtomicQueueB2, 1,i: 70,170,604 msg/sec AtomicQueueB2, 2,s: 9,874,054 msg/sec AtomicQueueB2, 2,i: 10,470,191 msg/sec AtomicQueueB2, 3,s: 8,322,837 msg/sec AtomicQueueB2, 3,i: 8,842,627 msg/sec AtomicQueueB2, 4,s: 6,623,132 msg/sec AtomicQueueB2, 4,i: 6,969,618 msg/sec AtomicQueueB2, 5,s: 3,076,970 msg/sec AtomicQueueB2, 5,i: 4,323,024 msg/sec AtomicQueueB2, 6,s: 2,554,424 msg/sec AtomicQueueB2, 6,i: 3,474,901 msg/sec AtomicQueueB2, 7,s: 2,889,219 msg/sec AtomicQueueB2, 7,i: 3,160,086 msg/sec AtomicQueueB2, 8,s: 3,012,587 msg/sec AtomicQueueB2, 8,i: 2,850,937 msg/sec OptimistAtomicQueueB2, 1,s: 153,151,844 msg/sec OptimistAtomicQueueB2, 1,i: 153,052,226 msg/sec OptimistAtomicQueueB2, 2,s: 41,967,373 msg/sec OptimistAtomicQueueB2, 2,i: 46,070,225 msg/sec OptimistAtomicQueueB2, 3,s: 57,018,671 msg/sec OptimistAtomicQueueB2, 3,i: 53,217,001 msg/sec OptimistAtomicQueueB2, 4,s: 58,980,326 msg/sec OptimistAtomicQueueB2, 4,i: 60,060,656 msg/sec OptimistAtomicQueueB2, 5,s: 31,351,118 msg/sec OptimistAtomicQueueB2, 5,i: 32,545,280 msg/sec OptimistAtomicQueueB2, 6,s: 32,983,149 msg/sec OptimistAtomicQueueB2, 6,i: 32,279,095 msg/sec OptimistAtomicQueueB2, 7,s: 37,204,751 msg/sec OptimistAtomicQueueB2, 7,i: 37,047,501 msg/sec OptimistAtomicQueueB2, 8,s: 48,014,739 msg/sec OptimistAtomicQueueB2, 8,i: 38,988,159 msg/sec moodycamel::ReaderWriterQueue, 1,s: 94,602,863 msg/sec moodycamel::ReaderWriterQueue, 1,i: 144,211,157 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,016,499 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,200,417 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,731,664 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,874,983 msg/sec moodycamel::ConcurrentQueue, 3,s: 62,795,164 msg/sec moodycamel::ConcurrentQueue, 3,i: 57,268,169 msg/sec moodycamel::ConcurrentQueue, 4,s: 83,264,887 msg/sec moodycamel::ConcurrentQueue, 4,i: 83,615,355 msg/sec moodycamel::ConcurrentQueue, 5,s: 90,991,787 msg/sec moodycamel::ConcurrentQueue, 5,i: 190,442,336 msg/sec moodycamel::ConcurrentQueue, 6,s: 191,383,034 msg/sec moodycamel::ConcurrentQueue, 6,i: 224,434,821 msg/sec moodycamel::ConcurrentQueue, 7,s: 226,992,573 msg/sec moodycamel::ConcurrentQueue, 7,i: 227,009,578 msg/sec moodycamel::ConcurrentQueue, 8,s: 268,137,074 msg/sec moodycamel::ConcurrentQueue, 8,i: 249,172,258 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,802,248 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,789,161 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,137,873 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,142,323 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,976,900 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,071,698 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,426,403 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,621,550 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,075,341 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,634,616 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,798,471 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,406,619 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,660,865 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,269,732 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,789,494 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,810,212 msg/sec xenium::michael_scott_queue, 1,s: 13,428,603 msg/sec xenium::michael_scott_queue, 1,i: 13,707,782 msg/sec xenium::michael_scott_queue, 2,s: 9,437,955 msg/sec xenium::michael_scott_queue, 2,i: 9,214,683 msg/sec xenium::michael_scott_queue, 3,s: 7,622,746 msg/sec xenium::michael_scott_queue, 3,i: 7,559,604 msg/sec xenium::michael_scott_queue, 4,s: 5,854,135 msg/sec xenium::michael_scott_queue, 4,i: 5,828,048 msg/sec xenium::michael_scott_queue, 5,s: 3,623,907 msg/sec xenium::michael_scott_queue, 5,i: 3,898,123 msg/sec xenium::michael_scott_queue, 6,s: 3,359,859 msg/sec xenium::michael_scott_queue, 6,i: 3,943,825 msg/sec xenium::michael_scott_queue, 7,s: 3,204,170 msg/sec xenium::michael_scott_queue, 7,i: 3,268,825 msg/sec xenium::michael_scott_queue, 8,s: 2,356,578 msg/sec xenium::michael_scott_queue, 8,i: 2,792,709 msg/sec xenium::ramalhete_queue, 1,s: 69,980,325 msg/sec xenium::ramalhete_queue, 1,i: 67,717,656 msg/sec xenium::ramalhete_queue, 2,s: 45,554,213 msg/sec xenium::ramalhete_queue, 2,i: 33,675,567 msg/sec xenium::ramalhete_queue, 3,s: 40,048,423 msg/sec xenium::ramalhete_queue, 3,i: 39,647,086 msg/sec xenium::ramalhete_queue, 4,s: 44,812,130 msg/sec xenium::ramalhete_queue, 4,i: 51,361,132 msg/sec xenium::ramalhete_queue, 5,s: 37,365,798 msg/sec xenium::ramalhete_queue, 5,i: 23,645,873 msg/sec xenium::ramalhete_queue, 6,s: 38,688,392 msg/sec xenium::ramalhete_queue, 6,i: 26,181,783 msg/sec xenium::ramalhete_queue, 7,s: 39,706,229 msg/sec xenium::ramalhete_queue, 7,i: 28,092,364 msg/sec xenium::ramalhete_queue, 8,s: 50,028,688 msg/sec xenium::ramalhete_queue, 8,i: 29,853,122 msg/sec xenium::vyukov_bounded_queue, 1,s: 306,623,477 msg/sec xenium::vyukov_bounded_queue, 1,i: 308,915,656 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,534,978 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,263,713 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,741,389 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,075,976 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,189,436 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,584,438 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,066,156 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,725,492 msg/sec xenium::vyukov_bounded_queue, 6,s: 6,960,988 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,441,510 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,205,547 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,455,572 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,097,462 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,544,709 msg/sec boost::lockfree::queue, 1,s: 7,732,845 msg/sec boost::lockfree::queue, 1,i: 7,836,102 msg/sec boost::lockfree::queue, 2,s: 5,851,408 msg/sec boost::lockfree::queue, 2,i: 5,917,983 msg/sec boost::lockfree::queue, 3,s: 4,939,364 msg/sec boost::lockfree::queue, 3,i: 4,797,427 msg/sec boost::lockfree::queue, 4,s: 4,377,793 msg/sec boost::lockfree::queue, 4,i: 4,367,798 msg/sec boost::lockfree::queue, 5,s: 2,638,169 msg/sec boost::lockfree::queue, 5,i: 2,916,042 msg/sec boost::lockfree::queue, 6,s: 1,440,760 msg/sec boost::lockfree::queue, 6,i: 2,832,050 msg/sec boost::lockfree::queue, 7,s: 1,375,775 msg/sec boost::lockfree::queue, 7,i: 2,854,299 msg/sec boost::lockfree::queue, 8,s: 1,163,511 msg/sec boost::lockfree::queue, 8,i: 1,902,405 msg/sec std::mutex, 1,s: 3,830,034 msg/sec std::mutex, 1,i: 3,762,079 msg/sec std::mutex, 2,s: 13,436,847 msg/sec std::mutex, 2,i: 12,956,481 msg/sec std::mutex, 3,s: 7,176,404 msg/sec std::mutex, 3,i: 6,851,395 msg/sec std::mutex, 4,s: 7,039,885 msg/sec std::mutex, 4,i: 6,643,056 msg/sec std::mutex, 5,s: 3,325,345 msg/sec std::mutex, 5,i: 3,451,162 msg/sec std::mutex, 6,s: 3,048,325 msg/sec std::mutex, 6,i: 3,006pthread_spinlock: producers: 5: consumer 3 received too few messages: 0.06% of expected. ,485 msg/sec std::mutex, 7,s: 3,309,070 msg/sec std::mutex, 7,i: 2,914,284 msg/sec std::mutex, 8,s: 3,423,409 msg/sec std::mutex, 8,i: 2,769,554 msg/sec pthread_spinlock, 1,s: 17,749,229 msg/sec pthread_spinlock, 1,i: 18,058,077 msg/sec pthread_spinlock, 2,s: 7,036,611 msg/sec pthread_spinlock, 2,i: 1,751,998 msg/sec pthread_spinlock, 3,s: 589,756 msg/sec pthread_spinlock, 3,i: 5,808,475 msg/sec pthread_spinlock, 4,s: 963,796 msg/sec pthread_spinlock, 4,i: 1,531,987 msg/sec pthread_spinlock, 5,s: 2,776,032 msg/sec pthread_spinlock, 5,i: 3,506,361 msg/sec pthread_spinlock, 6,s: 2,072,707 msg/sec pthread_spinlock, 6,i: 3,038,107 msg/sec pthread_spinlock, 7,s: 2,824,419 msg/sec pthread_spinlock, 7,i: 3,061,034 msg/sec pthread_spinlock, 8,s: 2,991,287 msg/sec pthread_spinlock, 8,i: 2,686,773 msg/sec tbb::spin_mutex, 1,s: 38,372,040 msg/sec tbb::spin_mutex, 1,i: 38,810,143 msg/sec tbb::spin_mutex, 2,s: 16,578,050 msg/sec tbb::spin_mutex, 2,i: 15,972,507 msg/sec tbb::spin_mutex, 3,s: 12,081,783 msg/sec tbb::spin_mutex, 3,i: 11,942,028 msg/sec tbb::spin_mutex, 4,s: 10,309,625 msg/sec tbb::spin_mutex, 4,i: 10,157,347 msg/sec tbb::spin_mutex, 5,s: 5,938,157 msg/sec tbb::spin_mutex, 5,i: 5,587,988 msg/sec tbb::spin_mutex, 6,s: 5,105,200 msg/sec tbb::spin_mutex, 6,i: 4,803,268 msg/sec tbb::spin_mutex, 7,s: 4,397,911 msg/sec tbb::spin_mutex, 7,i: 4,662,697 msg/sec tbb::spin_mutex, 8,s: 4,283,372 msg/sec tbb::spin_mutex, 8,i: 4,070,392 msg/sec Elapsed time 2:45.55, user 1301.55s, system 110.83s, CPU 853%, RSS 58440kB, exit-status 0. 2026-09-14 16:09:25 [10/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip AtomicQueue: 0.000000111 sec/round-trip OptimistAtomicQueue: 0.000000099 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000085 sec/round-trip AtomicQueue2: 0.000000114 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000295 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000138 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000447 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000202 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,407,368 msg/sec boost::lockfree::spsc_queue, 1,i: 112,480,099 msg/sec AtomicQueue, 1,s: 145,455,648 msg/sec AtomicQueue, 1,i: 123,974,043 msg/sec AtomicQueue, 2,s: 9,895,369 msg/sec AtomicQueue, 2,i: 10,332,680 msg/sec AtomicQueue, 3,s: 8,362,407 msg/sec AtomicQueue, 3,i: 8,831,126 msg/sec AtomicQueue, 4,s: 6,604,994 msg/sec AtomicQueue, 4,i: 7,023,528 msg/sec AtomicQueue, 5,s: 3,176,552 msg/sec AtomicQueue, 5,i: 4,338,713 msg/sec AtomicQueue, 6,s: 2,597,221 msg/sec AtomicQueue, 6,i: 3,468,065 msg/sec AtomicQueue, 7,s: 2,972,509 msg/sec AtomicQueue, 7,i: 3,215,392 msg/sec AtomicQueue, 8,s: 3,124,891 msg/sec AtomicQueue, 8,i: 2,899,080 msg/sec OptimistAtomicQueue, 1,s: 1,398,190,710 msg/sec OptimistAtomicQueue, 1,i: 1,199,851,152 msg/sec OptimistAtomicQueue, 2,s: 58,424,006 msg/sec OptimistAtomicQueue, 2,i: 52,329,566 msg/sec OptimistAtomicQueue, 3,s: 58,670,263 msg/sec OptimistAtomicQueue, 3,i: 60,083,185 msg/sec OptimistAtomicQueue, 4,s: 59,224,591 msg/sec OptimistAtomicQueue, 4,i: 66,213,686 msg/sec OptimistAtomicQueue, 5,s: 33,276,320 msg/sec OptimistAtomicQueue, 5,i: 42,211,426 msg/sec OptimistAtomicQueue, 6,s: 34,666,688 msg/sec OptimistAtomicQueue, 6,i: 35,195,777 msg/sec OptimistAtomicQueue, 7,s: 39,952,935 msg/sec OptimistAtomicQueue, 7,i: 40,090,198 msg/sec OptimistAtomicQueue, 8,s: 50,527,464 msg/sec OptimistAtomicQueue, 8,i: 41,215,729 msg/sec AtomicQueueB, 1,s: 51,117,314 msg/sec AtomicQueueB, 1,i: 53,158,507 msg/sec AtomicQueueB, 2,s: 9,638,967 msg/sec AtomicQueueB, 2,i: 10,326,970 msg/sec AtomicQueueB, 3,s: 8,227,853 msg/sec AtomicQueueB, 3,i: 8,692,226 msg/sec AtomicQueueB, 4,s: 6,548,572 msg/sec AtomicQueueB, 4,i: 6,910,578 msg/sec AtomicQueueB, 5,s: 3,118,217 msg/sec AtomicQueueB, 5,i: 3,752,396 msg/sec AtomicQueueB, 6,s: 2,571,736 msg/sec AtomicQueueB, 6,i: 3,968,846 msg/sec AtomicQueueB, 7,s: 2,918,002 msg/sec AtomicQueueB, 7,i: 3,212,496 msg/sec AtomicQueueB, 8,s: 3,057,848 msg/sec AtomicQueueB, 8,i: 2,862,540 msg/sec OptimistAtomicQueueB, 1,s: 536,127,520 msg/sec OptimistAtomicQueueB, 1,i: 532,916,218 msg/sec OptimistAtomicQueueB, 2,s: 46,941,581 msg/sec OptimistAtomicQueueB, 2,i: 49,481,324 msg/sec OptimistAtomicQueueB, 3,s: 58,571,504 msg/sec OptimistAtomicQueueB, 3,i: 57,235,392 msg/sec OptimistAtomicQueueB, 4,s: 59,544,506 msg/sec OptimistAtomicQueueB, 4,i: 66,211,537 msg/sec OptimistAtomicQueueB, 5,s: 33,072,080 msg/sec OptimistAtomicQueueB, 5,i: 38,772,314 msg/sec OptimistAtomicQueueB, 6,s: 34,362,220 msg/sec OptimistAtomicQueueB, 6,i: 34,886,648 msg/sec OptimistAtomicQueueB, 7,s: 39,218,909 msg/sec OptimistAtomicQueueB, 7,i: 39,963,568 msg/sec OptimistAtomicQueueB, 8,s: 51,562,955 msg/sec OptimistAtomicQueueB, 8,i: 41,248,488 msg/sec AtomicQueue2, 1,s: 127,265,315 msg/sec AtomicQueue2, 1,i: 139,707,536 msg/sec AtomicQueue2, 2,s: 9,963,516 msg/sec AtomicQueue2, 2,i: 10,538,924 msg/sec AtomicQueue2, 3,s: 8,402,643 msg/sec AtomicQueue2, 3,i: 8,929,345 msg/sec AtomicQueue2, 4,s: 6,678,916 msg/sec AtomicQueue2, 4,i: 7,081,214 msg/sec AtomicQueue2, 5,s: 3,145,859 msg/sec AtomicQueue2, 5,i: 4,272,990 msg/sec AtomicQueue2, 6,s: 2,567,523 msg/sec AtomicQueue2, 6,i: 3,476,587 msg/sec AtomicQueue2, 7,s: 2,893,645 msg/sec AtomicQueue2, 7,i: 3,209,481 msg/sec AtomicQueue2, 8,s: 3,008,639 msg/sec AtomicQueue2, 8,i: 2,884,320 msg/sec OptimistAtomicQueue2, 1,s: 107,443,238 msg/sec OptimistAtomicQueue2, 1,i: 107,414,387 msg/sec OptimistAtomicQueue2, 2,s: 43,512,886 msg/sec OptimistAtomicQueue2, 2,i: 47,962,511 msg/sec OptimistAtomicQueue2, 3,s: 57,027,092 msg/sec OptimistAtomicQueue2, 3,i: 50,020,280 msg/sec OptimistAtomicQueue2, 4,s: 59,289,936 msg/sec OptimistAtomicQueue2, 4,i: 58,069,653 msg/sec OptimistAtomicQueue2, 5,s: 31,464,646 msg/sec OptimistAtomicQueue2, 5,i: 32,731,932 msg/sec OptimistAtomicQueue2, 6,s: 32,904,587 msg/sec OptimistAtomicQueue2, 6,i: 32,154,756 msg/sec OptimistAtomicQueue2, 7,s: 37,719,736 msg/sec OptimistAtomicQueue2, 7,i: 37,762,794 msg/sec OptimistAtomicQueue2, 8,s: 49,041,123 msg/sec OptimistAtomicQueue2, 8,i: 39,820,381 msg/sec AtomicQueueB2, 1,s: 63,270,963 msg/sec AtomicQueueB2, 1,i: 72,744,541 msg/sec AtomicQueueB2, 2,s: 9,874,445 msg/sec AtomicQueueB2, 2,i: 10,401,623 msg/sec AtomicQueueB2, 3,s: 8,328,795 msg/sec AtomicQueueB2, 3,i: 8,834,158 msg/sec AtomicQueueB2, 4,s: 6,605,276 msg/sec AtomicQueueB2, 4,i: 6,973,043 msg/sec AtomicQueueB2, 5,s: 3,086,635 msg/sec AtomicQueueB2, 5,i: 4,328,006 msg/sec AtomicQueueB2, 6,s: 2,566,399 msg/sec AtomicQueueB2, 6,i: 3,983,756 msg/sec AtomicQueueB2, 7,s: 2,898,356 msg/sec AtomicQueueB2, 7,i: 3,274,435 msg/sec AtomicQueueB2, 8,s: 3,023,917 msg/sec AtomicQueueB2, 8,i: 2,837,340 msg/sec OptimistAtomicQueueB2, 1,s: 150,966,983 msg/sec OptimistAtomicQueueB2, 1,i: 151,926,133 msg/sec OptimistAtomicQueueB2, 2,s: 42,215,917 msg/sec OptimistAtomicQueueB2, 2,i: 46,019,894 msg/sec OptimistAtomicQueueB2, 3,s: 56,914,212 msg/sec OptimistAtomicQueueB2, 3,i: 53,162,287 msg/sec OptimistAtomicQueueB2, 4,s: 59,021,506 msg/sec OptimistAtomicQueueB2, 4,i: 59,925,080 msg/sec OptimistAtomicQueueB2, 5,s: 31,396,159 msg/sec OptimistAtomicQueueB2, 5,i: 32,413,673 msg/sec OptimistAtomicQueueB2, 6,s: 32,969,752 msg/sec OptimistAtomicQueueB2, 6,i: 31,954,392 msg/sec OptimistAtomicQueueB2, 7,s: 37,077,555 msg/sec OptimistAtomicQueueB2, 7,i: 36,991,972 msg/sec OptimistAtomicQueueB2, 8,s: 48,015,500 msg/sec OptimistAtomicQueueB2, 8,i: 38,980,074 msg/sec moodycamel::ReaderWriterQueue, 1,s: 67,769,329 msg/sec moodycamel::ReaderWriterQueue, 1,i: 60,277,870 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,079,246 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,222,690 msg/sec moodycamel::ConcurrentQueue, 2,s: 39,792,319 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,425,089 msg/sec moodycamel::ConcurrentQueue, 3,s: 57,518,140 msg/sec moodycamel::ConcurrentQueue, 3,i: 58,870,482 msg/sec moodycamel::ConcurrentQueue, 4,s: 105,915,977 msg/sec moodycamel::ConcurrentQueue, 4,i: 95,163,538 msg/sec moodycamel::ConcurrentQueue, 5,s: 107,860,426 msg/sec moodycamel::ConcurrentQueue, 5,i: 193,329,159 msg/sec moodycamel::ConcurrentQueue, 6,s: 212,103,975 msg/sec moodycamel::ConcurrentQueue, 6,i: 225,238,056 msg/sec moodycamel::ConcurrentQueue, 7,s: 224,584,407 msg/sec moodycamel::ConcurrentQueue, 7,i: 231,613,723 msg/sec moodycamel::ConcurrentQueue, 8,s: 279,109,760 msg/sec moodycamel::ConcurrentQueue, 8,i: 234,263,319 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,809,678 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,821,239 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,127,581 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,140,598 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,982,553 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,078,325 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,418,551 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,625,723 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,077,161 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,646,069 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,800,561 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,434,163 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,669,905 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,141,398 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,789,882 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,809,681 msg/sec xenium::michael_scott_queue, 1,s: 13,390,914 msg/sec xenium::michael_scott_queue, 1,i: 13,644,619 msg/sec xenium::michael_scott_queue, 2,s: 9,475,519 msg/sec xenium::michael_scott_queue, 2,i: 9,200,866 msg/sec xenium::michael_scott_queue, 3,s: 7,637,718 msg/sec xenium::michael_scott_queue, 3,i: 7,563,165 msg/sec xenium::michael_scott_queue, 4,s: 5,881,362 msg/sec xenium::michael_scott_queue, 4,i: 5,822,227 msg/sec xenium::michael_scott_queue, 5,s: 3,597,556 msg/sec xenium::michael_scott_queue, 5,i: 3,898,975 msg/sec xenium::michael_scott_queue, 6,s: 3,350,227 msg/sec xenium::michael_scott_queue, 6,i: 3,937,457 msg/sec xenium::michael_scott_queue, 7,s: 3,180,749 msg/sec xenium::michael_scott_queue, 7,i: 3,252,600 msg/sec xenium::michael_scott_queue, 8,s: 2,362,353 msg/sec xenium::michael_scott_queue, 8,i: 2,790,091 msg/sec xenium::ramalhete_queue, 1,s: 83,970,549 msg/sec xenium::ramalhete_queue, 1,i: 81,854,304 msg/sec xenium::ramalhete_queue, 2,s: 45,247,042 msg/sec xenium::ramalhete_queue, 2,i: 52,292,296 msg/sec xenium::ramalhete_queue, 3,s: 43,157,383 msg/sec xenium::ramalhete_queue, 3,i: 43,997,102 msg/sec xenium::ramalhete_queue, 4,s: 50,146,446 msg/sec xenium::ramalhete_queue, 4,i: 51,646,013 msg/sec xenium::ramalhete_queue, 5,s: 37,414,069 msg/sec xenium::ramalhete_queue, 5,i: 23,545,171 msg/sec xenium::ramalhete_queue, 6,s: 38,583,248 msg/sec xenium::ramalhete_queue, 6,i: 27,133,304 msg/sec xenium::ramalhete_queue, 7,s: 39,354,279 msg/sec xenium::ramalhete_queue, 7,i: 28,848,969 msg/sec xenium::ramalhete_queue, 8,s: 50,270,091 msg/sec xenium::ramalhete_queue, 8,i: 29,467,196 msg/sec xenium::vyukov_bounded_queue, 1,s: 310,996,511 msg/sec xenium::vyukov_bounded_queue, 1,i: 311,828,556 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,638,101 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,041,683 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,782,185 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,200,303 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,436,437 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,584,098 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,951,795 msg/sec xenium::vyukov_bounded_queue, 5,i: 8,137,874 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,078,113 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,887,392 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,199,448 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,404,255 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,375,712 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,573,929 msg/sec boost::lockfree::queue, 1,s: 7,755,669 msg/sec boost::lockfree::queue, 1,i: 7,835,808 msg/sec boost::lockfree::queue, 2,s: 5,904,778 msg/sec boost::lockfree::queue, 2,i: 5,912,375 msg/sec boost::lockfree::queue, 3,s: 4,943,243 msg/sec boost::lockfree::queue, 3,i: 4,810,233 msg/sec boost::lockfree::queue, 4,s: 4,370,312 msg/sec boost::lockfree::queue, 4,i: 4,360,418 msg/sec boost::lockfree::queue, 5,s: 2,653,381 msg/sec boost::lockfree::queue, 5,i: 2,913,644 msg/sec boost::lockfree::queue, 6,s: 1,431,142 msg/sec boost::lockfree::queue, 6,i: 2,829,668 msg/sec boost::lockfree::queue, 7,s: 1,388,014 msg/sec boost::lockfree::queue, 7,i: 2,844,346 msg/sec boost::lockfree::queue, 8,s: 1,157,781 msg/sec boost::lockfree::queue, 8,i: 1,822,344 msg/sec std::mutex, 1,s: 5,277,098 msg/sec std::mutex, 1,i: 5,022,513 msg/sec std::mutex, 2,s: 12,767,907 msg/sec std::mutex, 2,i: 12,141,769 msg/sec std::mutex, 3,s: 7,109,009 msg/sec std::mutex, 3,i: 6,876,857 msg/sec std::mutex, 4,s: 7,057,662 msg/sec std::mutex, 4,i: 6,638,102 msg/sec std::mutex, 5,s: 3,302,627 msg/sec std::mutex, 5,i: 3,346,552 msg/sec std::mutex, 6,s: 3,009,279 msg/sec std::mutex, 6,i: 2,966pthread_spinlock: producers: 4: consumer 1 received too few messages: 0.09% of expected. ,490 msg/sec std::mutex, 7,s: 3,273,442 msg/sec std::mutex, 7,i: 2,910,449 msg/sec std::mutex, 8,s: 3,401,008 msg/sec std::mutex, 8,i: 2,764,105 msg/sec pthread_spinlock, 1,s: 17,790,274 msg/sec pthread_spinlock, 1,i: 18,013,718 msg/sec pthread_spinlock, 2,s: 8,017,217 msg/sec pthread_spinlock, 2,i: 1,658,179 msg/sec pthread_spinlock, 3,s: 1,047,587 msg/sec pthread_spinlock, 3,i: 5,223,567 msg/sec pthread_spinlock, 4,s: 2,598,092 msg/sec pthread_spinlock, 4,i: 1,394,412 msg/sec pthread_spinlock, 5,s: 2,621,028 msg/sec pthread_spinlock, 5,i: 833,663 msg/sec pthread_spinlock, 6,s: 2,080,872 msg/sec pthread_spinlock, 6,i: 3,388,811 msg/sec pthread_spinlock, 7,s: 2,804,899 msg/sec pthread_spinlock, 7,i: 3,053,701 msg/sec pthread_spinlock, 8,s: 2,980,712 msg/sec pthread_spinlock, 8,i: 2,659,995 msg/sec tbb::spin_mutex, 1,s: 38,669,899 msg/sec tbb::spin_mutex, 1,i: 38,294,647 msg/sec tbb::spin_mutex, 2,s: 16,466,957 msg/sec tbb::spin_mutex, 2,i: 16,157,866 msg/sec tbb::spin_mutex, 3,s: 12,058,498 msg/sec tbb::spin_mutex, 3,i: 11,939,828 msg/sec tbb::spin_mutex, 4,s: 10,311,630 msg/sec tbb::spin_mutex, 4,i: 10,224,713 msg/sec tbb::spin_mutex, 5,s: 5,999,048 msg/sec tbb::spin_mutex, 5,i: 5,627,523 msg/sec tbb::spin_mutex, 6,s: 5,105,068 msg/sec tbb::spin_mutex, 6,i: 4,901,985 msg/sec tbb::spin_mutex, 7,s: 4,390,893 msg/sec tbb::spin_mutex, 7,i: 4,652,305 msg/sec tbb::spin_mutex, 8,s: 4,265,494 msg/sec tbb::spin_mutex, 8,i: 4,048,288 msg/sec Elapsed time 2:43.17, user 1295.06s, system 110.73s, CPU 861%, RSS 58160kB, exit-status 0. 2026-09-14 16:12:09 [11/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip AtomicQueue: 0.000000113 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000085 sec/round-trip AtomicQueue2: 0.000000117 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000295 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000213 sec/round-trip std::mutex: 0.000000448 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000202 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 113,912,022 msg/sec boost::lockfree::spsc_queue, 1,i: 113,131,476 msg/sec AtomicQueue, 1,s: 144,506,026 msg/sec AtomicQueue, 1,i: 147,130,439 msg/sec AtomicQueue, 2,s: 9,906,074 msg/sec AtomicQueue, 2,i: 10,343,731 msg/sec AtomicQueue, 3,s: 8,353,623 msg/sec AtomicQueue, 3,i: 8,822,859 msg/sec AtomicQueue, 4,s: 6,623,397 msg/sec AtomicQueue, 4,i: 7,014,634 msg/sec AtomicQueue, 5,s: 3,170,279 msg/sec AtomicQueue, 5,i: 4,313,664 msg/sec AtomicQueue, 6,s: 2,601,369 msg/sec AtomicQueue, 6,i: 4,031,160 msg/sec AtomicQueue, 7,s: 2,968,227 msg/sec AtomicQueue, 7,i: 3,255,561 msg/sec AtomicQueue, 8,s: 3,118,189 msg/sec AtomicQueue, 8,i: 2,890,554 msg/sec OptimistAtomicQueue, 1,s: 1,192,909,474 msg/sec OptimistAtomicQueue, 1,i: 1,198,614,370 msg/sec OptimistAtomicQueue, 2,s: 49,910,734 msg/sec OptimistAtomicQueue, 2,i: 52,679,990 msg/sec OptimistAtomicQueue, 3,s: 58,703,946 msg/sec OptimistAtomicQueue, 3,i: 59,310,345 msg/sec OptimistAtomicQueue, 4,s: 59,283,645 msg/sec OptimistAtomicQueue, 4,i: 66,243,599 msg/sec OptimistAtomicQueue, 5,s: 33,158,777 msg/sec OptimistAtomicQueue, 5,i: 38,744,629 msg/sec OptimistAtomicQueue, 6,s: 34,634,331 msg/sec OptimistAtomicQueue, 6,i: 34,128,979 msg/sec OptimistAtomicQueue, 7,s: 39,992,271 msg/sec OptimistAtomicQueue, 7,i: 40,057,919 msg/sec OptimistAtomicQueue, 8,s: 50,527,464 msg/sec OptimistAtomicQueue, 8,i: 41,245,086 msg/sec AtomicQueueB, 1,s: 49,667,433 msg/sec AtomicQueueB, 1,i: 49,921,323 msg/sec AtomicQueueB, 2,s: 9,685,329 msg/sec AtomicQueueB, 2,i: 9,973,387 msg/sec AtomicQueueB, 3,s: 8,205,926 msg/sec AtomicQueueB, 3,i: 8,685,528 msg/sec AtomicQueueB, 4,s: 6,540,524 msg/sec AtomicQueueB, 4,i: 6,913,834 msg/sec AtomicQueueB, 5,s: 3,126,398 msg/sec AtomicQueueB, 5,i: 3,806,234 msg/sec AtomicQueueB, 6,s: 2,607,311 msg/sec AtomicQueueB, 6,i: 3,487,002 msg/sec AtomicQueueB, 7,s: 2,921,300 msg/sec AtomicQueueB, 7,i: 3,224,198 msg/sec AtomicQueueB, 8,s: 3,065,216 msg/sec AtomicQueueB, 8,i: 2,864,900 msg/sec OptimistAtomicQueueB, 1,s: 680,865,452 msg/sec OptimistAtomicQueueB, 1,i: 519,530,120 msg/sec OptimistAtomicQueueB, 2,s: 50,242,763 msg/sec OptimistAtomicQueueB, 2,i: 49,336,221 msg/sec OptimistAtomicQueueB, 3,s: 58,613,833 msg/sec OptimistAtomicQueueB, 3,i: 57,339,490 msg/sec OptimistAtomicQueueB, 4,s: 59,591,413 msg/sec OptimistAtomicQueueB, 4,i: 66,266,381 msg/sec OptimistAtomicQueueB, 5,s: 33,043,198 msg/sec OptimistAtomicQueueB, 5,i: 38,878,297 msg/sec OptimistAtomicQueueB, 6,s: 34,341,711 msg/sec OptimistAtomicQueueB, 6,i: 33,991,697 msg/sec OptimistAtomicQueueB, 7,s: 39,166,592 msg/sec OptimistAtomicQueueB, 7,i: 40,011,120 msg/sec OptimistAtomicQueueB, 8,s: 59,608,890 msg/sec OptimistAtomicQueueB, 8,i: 41,187,109 msg/sec AtomicQueue2, 1,s: 136,963,674 msg/sec AtomicQueue2, 1,i: 133,413,371 msg/sec AtomicQueue2, 2,s: 9,961,172 msg/sec AtomicQueue2, 2,i: 10,550,860 msg/sec AtomicQueue2, 3,s: 8,412,974 msg/sec AtomicQueue2, 3,i: 8,903,691 msg/sec AtomicQueue2, 4,s: 6,681,030 msg/sec AtomicQueue2, 4,i: 7,076,617 msg/sec AtomicQueue2, 5,s: 3,146,205 msg/sec AtomicQueue2, 5,i: 4,274,082 msg/sec AtomicQueue2, 6,s: 2,564,841 msg/sec AtomicQueue2, 6,i: 3,467,954 msg/sec AtomicQueue2, 7,s: 2,900,283 msg/sec AtomicQueue2, 7,i: 3,190,359 msg/sec AtomicQueue2, 8,s: 3,010,158 msg/sec AtomicQueue2, 8,i: 2,886,672 msg/sec OptimistAtomicQueue2, 1,s: 107,563,080 msg/sec OptimistAtomicQueue2, 1,i: 107,669,393 msg/sec OptimistAtomicQueue2, 2,s: 43,509,232 msg/sec OptimistAtomicQueue2, 2,i: 47,691,780 msg/sec OptimistAtomicQueue2, 3,s: 56,593,253 msg/sec OptimistAtomicQueue2, 3,i: 50,013,300 msg/sec OptimistAtomicQueue2, 4,s: 59,123,154 msg/sec OptimistAtomicQueue2, 4,i: 57,987,055 msg/sec OptimistAtomicQueue2, 5,s: 31,427,831 msg/sec OptimistAtomicQueue2, 5,i: 34,039,611 msg/sec OptimistAtomicQueue2, 6,s: 32,930,895 msg/sec OptimistAtomicQueue2, 6,i: 32,146,404 msg/sec OptimistAtomicQueue2, 7,s: 37,710,192 msg/sec OptimistAtomicQueue2, 7,i: 37,714,274 msg/sec OptimistAtomicQueue2, 8,s: 49,039,536 msg/sec OptimistAtomicQueue2, 8,i: 39,811,963 msg/sec AtomicQueueB2, 1,s: 73,170,670 msg/sec AtomicQueueB2, 1,i: 73,316,960 msg/sec AtomicQueueB2, 2,s: 9,863,785 msg/sec AtomicQueueB2, 2,i: 10,439,969 msg/sec AtomicQueueB2, 3,s: 8,320,030 msg/sec AtomicQueueB2, 3,i: 8,807,225 msg/sec AtomicQueueB2, 4,s: 6,610,540 msg/sec AtomicQueueB2, 4,i: 6,968,232 msg/sec AtomicQueueB2, 5,s: 3,096,167 msg/sec AtomicQueueB2, 5,i: 4,324,423 msg/sec AtomicQueueB2, 6,s: 2,547,821 msg/sec AtomicQueueB2, 6,i: 3,984,827 msg/sec AtomicQueueB2, 7,s: 2,894,933 msg/sec AtomicQueueB2, 7,i: 3,177,863 msg/sec AtomicQueueB2, 8,s: 3,016,234 msg/sec AtomicQueueB2, 8,i: 2,838,263 msg/sec OptimistAtomicQueueB2, 1,s: 152,483,729 msg/sec OptimistAtomicQueueB2, 1,i: 154,082,287 msg/sec OptimistAtomicQueueB2, 2,s: 42,183,916 msg/sec OptimistAtomicQueueB2, 2,i: 46,092,138 msg/sec OptimistAtomicQueueB2, 3,s: 56,890,188 msg/sec OptimistAtomicQueueB2, 3,i: 53,205,563 msg/sec OptimistAtomicQueueB2, 4,s: 58,979,143 msg/sec OptimistAtomicQueueB2, 4,i: 59,893,999 msg/sec OptimistAtomicQueueB2, 5,s: 31,345,763 msg/sec OptimistAtomicQueueB2, 5,i: 32,542,929 msg/sec OptimistAtomicQueueB2, 6,s: 32,933,964 msg/sec OptimistAtomicQueueB2, 6,i: 32,469,264 msg/sec OptimistAtomicQueueB2, 7,s: 37,167,859 msg/sec OptimistAtomicQueueB2, 7,i: 37,033,699 msg/sec OptimistAtomicQueueB2, 8,s: 48,018,082 msg/sec OptimistAtomicQueueB2, 8,i: 39,001,311 msg/sec moodycamel::ReaderWriterQueue, 1,s: 71,458,742 msg/sec moodycamel::ReaderWriterQueue, 1,i: 101,898,929 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,146,750 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,340,008 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,938,486 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,249,123 msg/sec moodycamel::ConcurrentQueue, 3,s: 55,861,259 msg/sec moodycamel::ConcurrentQueue, 3,i: 55,627,650 msg/sec moodycamel::ConcurrentQueue, 4,s: 101,202,346 msg/sec moodycamel::ConcurrentQueue, 4,i: 83,857,676 msg/sec moodycamel::ConcurrentQueue, 5,s: 97,132,151 msg/sec moodycamel::ConcurrentQueue, 5,i: 188,118,387 msg/sec moodycamel::ConcurrentQueue, 6,s: 189,525,242 msg/sec moodycamel::ConcurrentQueue, 6,i: 219,266,825 msg/sec moodycamel::ConcurrentQueue, 7,s: 225,359,254 msg/sec moodycamel::ConcurrentQueue, 7,i: 239,253,445 msg/sec moodycamel::ConcurrentQueue, 8,s: 279,796,969 msg/sec moodycamel::ConcurrentQueue, 8,i: 234,600,754 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,813,132 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,853,326 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,153,213 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,143,870 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,976,899 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,086,876 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,411,427 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,636,749 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,063,991 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,117,343 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,801,840 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,719,081 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,667,067 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,159,723 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,788,194 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,813,867 msg/sec xenium::michael_scott_queue, 1,s: 13,429,564 msg/sec xenium::michael_scott_queue, 1,i: 13,842,058 msg/sec xenium::michael_scott_queue, 2,s: 9,466,811 msg/sec xenium::michael_scott_queue, 2,i: 9,175,606 msg/sec xenium::michael_scott_queue, 3,s: 7,640,958 msg/sec xenium::michael_scott_queue, 3,i: 7,562,004 msg/sec xenium::michael_scott_queue, 4,s: 5,853,956 msg/sec xenium::michael_scott_queue, 4,i: 5,819,879 msg/sec xenium::michael_scott_queue, 5,s: 3,612,639 msg/sec xenium::michael_scott_queue, 5,i: 3,944,891 msg/sec xenium::michael_scott_queue, 6,s: 3,334,099 msg/sec xenium::michael_scott_queue, 6,i: 3,589,829 msg/sec xenium::michael_scott_queue, 7,s: 3,160,780 msg/sec xenium::michael_scott_queue, 7,i: 3,263,598 msg/sec xenium::michael_scott_queue, 8,s: 2,347,789 msg/sec xenium::michael_scott_queue, 8,i: 2,790,519 msg/sec xenium::ramalhete_queue, 1,s: 73,691,420 msg/sec xenium::ramalhete_queue, 1,i: 23,652,120 msg/sec xenium::ramalhete_queue, 2,s: 50,218,214 msg/sec xenium::ramalhete_queue, 2,i: 35,324,319 msg/sec xenium::ramalhete_queue, 3,s: 43,569,050 msg/sec xenium::ramalhete_queue, 3,i: 40,915,914 msg/sec xenium::ramalhete_queue, 4,s: 48,142,171 msg/sec xenium::ramalhete_queue, 4,i: 51,920,671 msg/sec xenium::ramalhete_queue, 5,s: 37,203,960 msg/sec xenium::ramalhete_queue, 5,i: 23,299,801 msg/sec xenium::ramalhete_queue, 6,s: 38,949,575 msg/sec xenium::ramalhete_queue, 6,i: 26,450,137 msg/sec xenium::ramalhete_queue, 7,s: 40,410,392 msg/sec xenium::ramalhete_queue, 7,i: 28,851,283 msg/sec xenium::ramalhete_queue, 8,s: 49,938,175 msg/sec xenium::ramalhete_queue, 8,i: 29,781,775 msg/sec xenium::vyukov_bounded_queue, 1,s: 311,542,948 msg/sec xenium::vyukov_bounded_queue, 1,i: 308,268,118 msg/sec xenium::vyukov_bounded_queue, 2,s: 21,856,337 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,182,076 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,740,309 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,349,569 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,304,258 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,557,259 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,072,097 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,615,058 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,144,737 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,822,912 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,193,584 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,467,643 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,199,947 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,594,293 msg/sec boost::lockfree::queue, 1,s: 7,815,978 msg/sec boost::lockfree::queue, 1,i: 7,845,173 msg/sec boost::lockfree::queue, 2,s: 5,877,879 msg/sec boost::lockfree::queue, 2,i: 5,938,574 msg/sec boost::lockfree::queue, 3,s: 4,944,529 msg/sec boost::lockfree::queue, 3,i: 4,804,843 msg/sec boost::lockfree::queue, 4,s: 4,365,116 msg/sec boost::lockfree::queue, 4,i: 4,354,412 msg/sec boost::lockfree::queue, 5,s: 2,637,722 msg/sec boost::lockfree::queue, 5,i: 2,911,073 msg/sec boost::lockfree::queue, 6,s: 1,439,027 msg/sec boost::lockfree::queue, 6,i: 2,810,948 msg/sec boost::lockfree::queue, 7,s: 1,368,480 msg/sec boost::lockfree::queue, 7,i: 2,896,644 msg/sec boost::lockfree::queue, 8,s: 1,158,443 msg/sec boost::lockfree::queue, 8,i: 1,899,208 msg/sec std::mutex, 1,s: 5,599,387 msg/sec std::mutex, 1,i: 4,346,961 msg/sec std::mutex, 2,s: 13,925,313 msg/sec std::mutex, 2,i: 13,727,321 msg/sec std::mutex, 3,s: 7,125,167 msg/sec std::mutex, 3,i: 6,819,971 msg/sec std::mutex, 4,s: 6,980,090 msg/sec std::mutex, 4,i: 6,766,248 msg/sec std::mutex, 5,s: 3,351,638 msg/sec std::mutex, 5,i: 3,458,580 msg/sec std::mutex, 6,s: 2,956,995 msg/sec std::mutex, 6,i: 2,931,314 msg/sec std::mutex, 7,s: 3,231,378 msg/sec std::mutex, 7,i: 2,894,075 msg/sec std::mutex, 8,s: 3,397,963 msg/sec std::mutex, 8,i: 2,754,264 msg/sec pthread_spinlock, 1,s: 17,832,444 msg/sec pthread_spinlock, 1,i: 18,124,062 msg/sec pthread_spinlock, 2,s: 7,749,851 msg/sec pthread_spinlock, 2,i: 1,916,288 msg/sec pthread_spinlock, 3,s: 743,438 msg/sec pthread_spinlock, 3,i: 5,471,885 msg/sec pthread_spinlock, 4,s: 2,066,228 msg/sec pthread_spinlock, 4,i: 2,045,886 msg/sec pthread_spinlock, 5,s: 2,781,304 msg/sec pthread_spinlock, 5,i: 1,140,583 msg/sec pthread_spinlock, 6,s: 1,970,027 msg/sec pthread_spinlock, 6,i: 3,095,116 msg/sec pthread_spinlock, 7,s: 2,765,555 msg/sec pthread_spinlock, 7,i: 3,078,111 msg/sec pthread_spinlock, 8,s: 2,997,299 msg/sec pthread_spinlock, 8,i: 2,695,034 msg/sec tbb::spin_mutex, 1,s: 38,111,068 msg/sec tbb::spin_mutex, 1,i: 38,746,055 msg/sec tbb::spin_mutex, 2,s: 16,461,189 msg/sec tbb::spin_mutex, 2,i: 16,114,904 msg/sec tbb::spin_mutex, 3,s: 12,042,806 msg/sec tbb::spin_mutex, 3,i: 11,933,903 msg/sec tbb::spin_mutex, 4,s: 10,313,536 msg/sec tbb::spin_mutex, 4,i: 10,180,993 msg/sec tbb::spin_mutex, 5,s: 5,973,225 msg/sec tbb::spin_mutex, 5,i: 5,590,913 msg/sec tbb::spin_mutex, 6,s: 5,112,020 msg/sec tbb::spin_mutex, 6,i: 4,741,823 msg/sec tbb::spin_mutex, 7,s: 4,418,366 msg/sec tbb::spin_mutex, 7,i: 4,652,347 msg/sec tbb::spin_mutex, 8,s: 4,290,760 msg/sec tbb::spin_mutex, 8,i: 4,056,894 msg/sec Elapsed time 2:41.27, user 1278.76s, system 110.98s, CPU 861%, RSS 58184kB, exit-status 0. 2026-09-14 16:14:50 [12/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000110 sec/round-trip OptimistAtomicQueue: 0.000000099 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000087 sec/round-trip AtomicQueue2: 0.000000113 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000293 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000456 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,047,121 msg/sec boost::lockfree::spsc_queue, 1,i: 112,801,730 msg/sec AtomicQueue, 1,s: 144,296,472 msg/sec AtomicQueue, 1,i: 145,065,929 msg/sec AtomicQueue, 2,s: 9,890,909 msg/sec AtomicQueue, 2,i: 10,335,378 msg/sec AtomicQueue, 3,s: 8,356,228 msg/sec AtomicQueue, 3,i: 8,772,397 msg/sec AtomicQueue, 4,s: 6,598,938 msg/sec AtomicQueue, 4,i: 7,018,957 msg/sec AtomicQueue, 5,s: 3,149,890 msg/sec AtomicQueue, 5,i: 4,319,644 msg/sec AtomicQueue, 6,s: 2,595,815 msg/sec AtomicQueue, 6,i: 3,519,211 msg/sec AtomicQueue, 7,s: 2,964,968 msg/sec AtomicQueue, 7,i: 3,222,506 msg/sec AtomicQueue, 8,s: 3,117,313 msg/sec AtomicQueue, 8,i: 2,892,687 msg/sec OptimistAtomicQueue, 1,s: 1,205,070,725 msg/sec OptimistAtomicQueue, 1,i: 1,194,548,164 msg/sec OptimistAtomicQueue, 2,s: 54,367,250 msg/sec OptimistAtomicQueue, 2,i: 51,683,408 msg/sec OptimistAtomicQueue, 3,s: 58,761,862 msg/sec OptimistAtomicQueue, 3,i: 59,247,727 msg/sec OptimistAtomicQueue, 4,s: 59,361,029 msg/sec OptimistAtomicQueue, 4,i: 66,232,104 msg/sec OptimistAtomicQueue, 5,s: 33,254,653 msg/sec OptimistAtomicQueue, 5,i: 40,032,519 msg/sec OptimistAtomicQueue, 6,s: 34,569,273 msg/sec OptimistAtomicQueue, 6,i: 34,222,145 msg/sec OptimistAtomicQueue, 7,s: 40,087,787 msg/sec OptimistAtomicQueue, 7,i: 40,081,954 msg/sec OptimistAtomicQueue, 8,s: 50,604,117 msg/sec OptimistAtomicQueue, 8,i: 41,292,567 msg/sec AtomicQueueB, 1,s: 50,183,664 msg/sec AtomicQueueB, 1,i: 50,359,199 msg/sec AtomicQueueB, 2,s: 9,540,913 msg/sec AtomicQueueB, 2,i: 10,095,439 msg/sec AtomicQueueB, 3,s: 8,196,310 msg/sec AtomicQueueB, 3,i: 8,690,332 msg/sec AtomicQueueB, 4,s: 6,547,476 msg/sec AtomicQueueB, 4,i: 6,915,230 msg/sec AtomicQueueB, 5,s: 3,096,139 msg/sec AtomicQueueB, 5,i: 4,316,070 msg/sec AtomicQueueB, 6,s: 2,572,399 msg/sec AtomicQueueB, 6,i: 3,972,299 msg/sec AtomicQueueB, 7,s: 2,915,603 msg/sec AtomicQueueB, 7,i: 3,166,115 msg/sec AtomicQueueB, 8,s: 3,057,111 msg/sec AtomicQueueB, 8,i: 2,875,999 msg/sec OptimistAtomicQueueB, 1,s: 518,893,926 msg/sec OptimistAtomicQueueB, 1,i: 519,368,228 msg/sec OptimistAtomicQueueB, 2,s: 50,455,929 msg/sec OptimistAtomicQueueB, 2,i: 50,129,779 msg/sec OptimistAtomicQueueB, 3,s: 58,573,665 msg/sec OptimistAtomicQueueB, 3,i: 57,959,881 msg/sec OptimistAtomicQueueB, 4,s: 59,562,770 msg/sec OptimistAtomicQueueB, 4,i: 64,556,249 msg/sec OptimistAtomicQueueB, 5,s: 33,106,952 msg/sec OptimistAtomicQueueB, 5,i: 39,535,813 msg/sec OptimistAtomicQueueB, 6,s: 34,306,274 msg/sec OptimistAtomicQueueB, 6,i: 34,943,149 msg/sec OptimistAtomicQueueB, 7,s: 39,304,983 msg/sec OptimistAtomicQueueB, 7,i: 40,263,213 msg/sec OptimistAtomicQueueB, 8,s: 51,518,063 msg/sec OptimistAtomicQueueB, 8,i: 41,251,466 msg/sec AtomicQueue2, 1,s: 137,013,590 msg/sec AtomicQueue2, 1,i: 131,125,582 msg/sec AtomicQueue2, 2,s: 9,962,391 msg/sec AtomicQueue2, 2,i: 10,523,460 msg/sec AtomicQueue2, 3,s: 8,417,052 msg/sec AtomicQueue2, 3,i: 8,918,588 msg/sec AtomicQueue2, 4,s: 6,685,484 msg/sec AtomicQueue2, 4,i: 7,083,686 msg/sec AtomicQueue2, 5,s: 3,133,719 msg/sec AtomicQueue2, 5,i: 4,280,740 msg/sec AtomicQueue2, 6,s: 2,564,940 msg/sec AtomicQueue2, 6,i: 3,971,464 msg/sec AtomicQueue2, 7,s: 2,900,377 msg/sec AtomicQueue2, 7,i: 3,192,023 msg/sec AtomicQueue2, 8,s: 2,997,136 msg/sec AtomicQueue2, 8,i: 2,897,368 msg/sec OptimistAtomicQueue2, 1,s: 107,806,357 msg/sec OptimistAtomicQueue2, 1,i: 107,643,548 msg/sec OptimistAtomicQueue2, 2,s: 43,501,945 msg/sec OptimistAtomicQueue2, 2,i: 47,036,543 msg/sec OptimistAtomicQueue2, 3,s: 55,997,640 msg/sec OptimistAtomicQueue2, 3,i: 50,005,673 msg/sec OptimistAtomicQueue2, 4,s: 59,187,155 msg/sec OptimistAtomicQueue2, 4,i: 58,115,717 msg/sec OptimistAtomicQueue2, 5,s: 31,534,288 msg/sec OptimistAtomicQueue2, 5,i: 32,684,497 msg/sec OptimistAtomicQueue2, 6,s: 33,012,395 msg/sec OptimistAtomicQueue2, 6,i: 32,651,096 msg/sec OptimistAtomicQueue2, 7,s: 37,686,587 msg/sec OptimistAtomicQueue2, 7,i: 37,775,875 msg/sec OptimistAtomicQueue2, 8,s: 49,008,941 msg/sec OptimistAtomicQueue2, 8,i: 39,891,639 msg/sec AtomicQueueB2, 1,s: 54,757,256 msg/sec AtomicQueueB2, 1,i: 70,994,559 msg/sec AtomicQueueB2, 2,s: 9,851,535 msg/sec AtomicQueueB2, 2,i: 10,430,752 msg/sec AtomicQueueB2, 3,s: 8,318,670 msg/sec AtomicQueueB2, 3,i: 8,839,583 msg/sec AtomicQueueB2, 4,s: 6,616,666 msg/sec AtomicQueueB2, 4,i: 6,978,979 msg/sec AtomicQueueB2, 5,s: 3,089,776 msg/sec AtomicQueueB2, 5,i: 4,329,110 msg/sec AtomicQueueB2, 6,s: 2,550,674 msg/sec AtomicQueueB2, 6,i: 3,414,274 msg/sec AtomicQueueB2, 7,s: 2,898,489 msg/sec AtomicQueueB2, 7,i: 3,269,051 msg/sec AtomicQueueB2, 8,s: 3,014,483 msg/sec AtomicQueueB2, 8,i: 2,835,905 msg/sec OptimistAtomicQueueB2, 1,s: 151,011,437 msg/sec OptimistAtomicQueueB2, 1,i: 150,797,840 msg/sec OptimistAtomicQueueB2, 2,s: 42,126,625 msg/sec OptimistAtomicQueueB2, 2,i: 45,809,381 msg/sec OptimistAtomicQueueB2, 3,s: 56,993,292 msg/sec OptimistAtomicQueueB2, 3,i: 53,194,751 msg/sec OptimistAtomicQueueB2, 4,s: 58,978,761 msg/sec OptimistAtomicQueueB2, 4,i: 60,101,914 msg/sec OptimistAtomicQueueB2, 5,s: 31,377,895 msg/sec OptimistAtomicQueueB2, 5,i: 32,389,758 msg/sec OptimistAtomicQueueB2, 6,s: 32,902,692 msg/sec OptimistAtomicQueueB2, 6,i: 32,351,273 msg/sec OptimistAtomicQueueB2, 7,s: 37,110,756 msg/sec OptimistAtomicQueueB2, 7,i: 37,105,386 msg/sec OptimistAtomicQueueB2, 8,s: 48,014,048 msg/sec OptimistAtomicQueueB2, 8,i: 38,979,967 msg/sec moodycamel::ReaderWriterQueue, 1,s: 230,267,850 msg/sec moodycamel::ReaderWriterQueue, 1,i: 617,640,519 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,110,696 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,245,827 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,300,954 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,197,525 msg/sec moodycamel::ConcurrentQueue, 3,s: 59,300,919 msg/sec moodycamel::ConcurrentQueue, 3,i: 51,864,254 msg/sec moodycamel::ConcurrentQueue, 4,s: 106,102,635 msg/sec moodycamel::ConcurrentQueue, 4,i: 94,225,188 msg/sec moodycamel::ConcurrentQueue, 5,s: 93,938,236 msg/sec moodycamel::ConcurrentQueue, 5,i: 194,204,694 msg/sec moodycamel::ConcurrentQueue, 6,s: 211,896,788 msg/sec moodycamel::ConcurrentQueue, 6,i: 219,072,288 msg/sec moodycamel::ConcurrentQueue, 7,s: 233,927,710 msg/sec moodycamel::ConcurrentQueue, 7,i: 222,148,804 msg/sec moodycamel::ConcurrentQueue, 8,s: 271,822,804 msg/sec moodycamel::ConcurrentQueue, 8,i: 240,810,435 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,807,993 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,823,603 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,145,675 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,157,233 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,986,420 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,087,597 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,419,416 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,637,498 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,247 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,111,005 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,798,800 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,421,131 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,667,212 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,166,997 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,783,323 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,806,931 msg/sec xenium::michael_scott_queue, 1,s: 13,378,390 msg/sec xenium::michael_scott_queue, 1,i: 13,696,390 msg/sec xenium::michael_scott_queue, 2,s: 9,429,927 msg/sec xenium::michael_scott_queue, 2,i: 9,180,745 msg/sec xenium::michael_scott_queue, 3,s: 7,637,880 msg/sec xenium::michael_scott_queue, 3,i: 7,555,521 msg/sec xenium::michael_scott_queue, 4,s: 5,977,797 msg/sec xenium::michael_scott_queue, 4,i: 5,855,328 msg/sec xenium::michael_scott_queue, 5,s: 3,641,473 msg/sec xenium::michael_scott_queue, 5,i: 4,623,687 msg/sec xenium::michael_scott_queue, 6,s: 3,330,047 msg/sec xenium::michael_scott_queue, 6,i: 3,933,001 msg/sec xenium::michael_scott_queue, 7,s: 3,154,950 msg/sec xenium::michael_scott_queue, 7,i: 3,272,984 msg/sec xenium::michael_scott_queue, 8,s: 2,350,572 msg/sec xenium::michael_scott_queue, 8,i: 2,787,185 msg/sec xenium::ramalhete_queue, 1,s: 81,776,658 msg/sec xenium::ramalhete_queue, 1,i: 80,240,582 msg/sec xenium::ramalhete_queue, 2,s: 37,856,587 msg/sec xenium::ramalhete_queue, 2,i: 45,376,242 msg/sec xenium::ramalhete_queue, 3,s: 39,198,691 msg/sec xenium::ramalhete_queue, 3,i: 42,552,474 msg/sec xenium::ramalhete_queue, 4,s: 45,907,061 msg/sec xenium::ramalhete_queue, 4,i: 51,507,847 msg/sec xenium::ramalhete_queue, 5,s: 37,602,810 msg/sec xenium::ramalhete_queue, 5,i: 23,554,893 msg/sec xenium::ramalhete_queue, 6,s: 38,553,796 msg/sec xenium::ramalhete_queue, 6,i: 27,062,257 msg/sec xenium::ramalhete_queue, 7,s: 39,940,728 msg/sec xenium::ramalhete_queue, 7,i: 28,002,813 msg/sec xenium::ramalhete_queue, 8,s: 50,097,082 msg/sec xenium::ramalhete_queue, 8,i: 30,885,774 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,515,568 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,039,077 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,512,565 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,192,049 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,565,268 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,738,234 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,427,887 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,496,800 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,912,339 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,357,084 msg/sec xenium::vyukov_bounded_queue, 6,s: 6,996,855 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,374,257 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,176,986 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,479,934 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,425,220 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,579,000 msg/sec boost::lockfree::queue, 1,s: 7,754,639 msg/sec boost::lockfree::queue, 1,i: 7,802,697 msg/sec boost::lockfree::queue, 2,s: 5,848,054 msg/sec boost::lockfree::queue, 2,i: 5,904,235 msg/sec boost::lockfree::queue, 3,s: 4,944,544 msg/sec boost::lockfree::queue, 3,i: 4,805,028 msg/sec boost::lockfree::queue, 4,s: 4,370,870 msg/sec boost::lockfree::queue, 4,i: 4,361,796 msg/sec boost::lockfree::queue, 5,s: 2,660,784 msg/sec boost::lockfree::queue, 5,i: 2,899,307 msg/sec boost::lockfree::queue, 6,s: 1,436,801 msg/sec boost::lockfree::queue, 6,i: 2,805,813 msg/sec boost::lockfree::queue, 7,s: 1,375,663 msg/sec boost::lockfree::queue, 7,i: 2,832,011 msg/sec boost::lockfree::queue, 8,s: 1,159,617 msg/sec boost::lockfree::queue, 8,i: 1,825,801 msg/sec std::mutex, 1,s: 3,912,531 msg/sec std::mutex, 1,i: 3,735,685 msg/sec std::mutex, 2,s: 12,685,706 msg/sec std::mutex, 2,i: 12,553,846 msg/sec std::mutex, 3,s: 7,274,814 msg/sec std::mutex, 3,i: 6,983,699 msg/sec std::mutex, 4,s: 7,139,006 msg/sec std::mutex, 4,i: 6,740,037 msg/sec std::mutex, 5,s: 3,351,060 msg/sec std::mutex, 5,i: 3,490,249 msg/sec std::mutex, 6,s: 2,955,290 msg/sec std::mutex, 6,i: 2,926,958 msg/sec std::mutex, 7,s: 3,281,450 msg/sec std::mutex, 7,i: 2,939,129 msg/sec std::mutex, 8,s: 3,389,240 msg/sec std::mutex, 8,i: 2,745,993 msg/sec pthread_spinlock, 1,s: 17,681,749 msg/sec pthread_spinlock, 1,i: 18,074,442 msg/sec pthread_spinlock, 2,s: 7,753,095 msg/sec pthread_spinlock, 2,i: 1,894,868 msg/sec pthread_spinlock, 3,s: 1,038,316 msg/sec pthread_spinlock, 3,i: 6,246,137 msg/sec pthread_spinlock, 4,s: 1,221,578 msg/sec pthread_spinlock, 4,i: 1,295,932 msg/sec pthread_spinlock, 5,s: 2,732,858 msg/sec pthread_spinlock, 5,i: 925,603 msg/sec pthread_spinlock, 6,s: 2,116,408 msg/sec pthread_spinlock, 6,i: 3,065,382 msg/sec pthread_spinlock, 7,s: 2,862,612 msg/sec pthread_spinlock, 7,i: 3,077,822 msg/sec pthread_spinlock, 8,s: 2,971,104 msg/sec pthread_spinlock, 8,i: 2,688,634 msg/sec tbb::spin_mutex, 1,s: 38,570,388 msg/sec tbb::spin_mutex, 1,i: 38,501,055 msg/sec tbb::spin_mutex, 2,s: 16,520,060 msg/sec tbb::spin_mutex, 2,i: 16,020,009 msg/sec tbb::spin_mutex, 3,s: 12,053,453 msg/sec tbb::spin_mutex, 3,i: 11,890,534 msg/sec tbb::spin_mutex, 4,s: 10,571,927 msg/sec tbb::spin_mutex, 4,i: 10,240,129 msg/sec tbb::spin_mutex, 5,s: 5,947,675 msg/sec tbb::spin_mutex, 5,i: 5,572,107 msg/sec tbb::spin_mutex, 6,s: 5,128,227 msg/sec tbb::spin_mutex, 6,i: 4,784,794 msg/sec tbb::spin_mutex, 7,s: 4,382,106 msg/sec tbb::spin_mutex, 7,i: 4,669,229 msg/sec tbb::spin_mutex, 8,s: 4,278,625 msg/sec tbb::spin_mutex, 8,i: 4,059,983 msg/sec Elapsed time 2:42.50, user 1287.95s, system 111.11s, CPU 860%, RSS 64448kB, exit-status 0. 2026-09-14 16:17:32 [13/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip AtomicQueue: 0.000000110 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000089 sec/round-trip AtomicQueue2: 0.000000118 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000166 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000212 sec/round-trip std::mutex: 0.000000449 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,459,202 msg/sec boost::lockfree::spsc_queue, 1,i: 114,188,291 msg/sec AtomicQueue, 1,s: 147,266,941 msg/sec AtomicQueue, 1,i: 140,681,575 msg/sec AtomicQueue, 2,s: 9,881,044 msg/sec AtomicQueue, 2,i: 10,348,947 msg/sec AtomicQueue, 3,s: 8,363,218 msg/sec AtomicQueue, 3,i: 8,825,053 msg/sec AtomicQueue, 4,s: 6,603,145 msg/sec AtomicQueue, 4,i: 7,013,424 msg/sec AtomicQueue, 5,s: 3,165,426 msg/sec AtomicQueue, 5,i: 4,329,005 msg/sec AtomicQueue, 6,s: 2,601,194 msg/sec AtomicQueue, 6,i: 4,029,859 msg/sec AtomicQueue, 7,s: 2,967,710 msg/sec AtomicQueue, 7,i: 3,206,716 msg/sec AtomicQueue, 8,s: 3,118,665 msg/sec AtomicQueue, 8,i: 2,891,870 msg/sec OptimistAtomicQueue, 1,s: 1,202,491,422 msg/sec OptimistAtomicQueue, 1,i: 1,196,219,980 msg/sec OptimistAtomicQueue, 2,s: 53,688,740 msg/sec OptimistAtomicQueue, 2,i: 52,770,196 msg/sec OptimistAtomicQueue, 3,s: 58,715,631 msg/sec OptimistAtomicQueue, 3,i: 59,430,680 msg/sec OptimistAtomicQueue, 4,s: 59,195,108 msg/sec OptimistAtomicQueue, 4,i: 66,249,787 msg/sec OptimistAtomicQueue, 5,s: 33,233,302 msg/sec OptimistAtomicQueue, 5,i: 39,977,771 msg/sec OptimistAtomicQueue, 6,s: 34,556,013 msg/sec OptimistAtomicQueue, 6,i: 35,149,634 msg/sec OptimistAtomicQueue, 7,s: 40,009,279 msg/sec OptimistAtomicQueue, 7,i: 40,064,066 msg/sec OptimistAtomicQueue, 8,s: 50,691,306 msg/sec OptimistAtomicQueue, 8,i: 41,228,966 msg/sec AtomicQueueB, 1,s: 50,685,833 msg/sec AtomicQueueB, 1,i: 49,829,858 msg/sec AtomicQueueB, 2,s: 9,574,491 msg/sec AtomicQueueB, 2,i: 10,112,188 msg/sec AtomicQueueB, 3,s: 8,213,526 msg/sec AtomicQueueB, 3,i: 8,543,265 msg/sec AtomicQueueB, 4,s: 6,539,248 msg/sec AtomicQueueB, 4,i: 6,910,737 msg/sec AtomicQueueB, 5,s: 3,124,616 msg/sec AtomicQueueB, 5,i: 4,331,484 msg/sec AtomicQueueB, 6,s: 2,608,677 msg/sec AtomicQueueB, 6,i: 3,993,522 msg/sec AtomicQueueB, 7,s: 2,923,957 msg/sec AtomicQueueB, 7,i: 3,169,779 msg/sec AtomicQueueB, 8,s: 3,050,439 msg/sec AtomicQueueB, 8,i: 2,860,774 msg/sec OptimistAtomicQueueB, 1,s: 523,613,218 msg/sec OptimistAtomicQueueB, 1,i: 523,796,972 msg/sec OptimistAtomicQueueB, 2,s: 48,065,857 msg/sec OptimistAtomicQueueB, 2,i: 49,786,221 msg/sec OptimistAtomicQueueB, 3,s: 58,591,236 msg/sec OptimistAtomicQueueB, 3,i: 57,530,483 msg/sec OptimistAtomicQueueB, 4,s: 59,476,016 msg/sec OptimistAtomicQueueB, 4,i: 66,233,815 msg/sec OptimistAtomicQueueB, 5,s: 33,144,688 msg/sec OptimistAtomicQueueB, 5,i: 36,430,957 msg/sec OptimistAtomicQueueB, 6,s: 34,490,487 msg/sec OptimistAtomicQueueB, 6,i: 34,932,420 msg/sec OptimistAtomicQueueB, 7,s: 39,310,870 msg/sec OptimistAtomicQueueB, 7,i: 40,073,811 msg/sec OptimistAtomicQueueB, 8,s: 51,492,438 msg/sec OptimistAtomicQueueB, 8,i: 41,256,504 msg/sec AtomicQueue2, 1,s: 131,608,080 msg/sec AtomicQueue2, 1,i: 131,244,841 msg/sec AtomicQueue2, 2,s: 9,960,392 msg/sec AtomicQueue2, 2,i: 10,523,299 msg/sec AtomicQueue2, 3,s: 8,419,657 msg/sec AtomicQueue2, 3,i: 8,933,223 msg/sec AtomicQueue2, 4,s: 6,681,959 msg/sec AtomicQueue2, 4,i: 7,087,776 msg/sec AtomicQueue2, 5,s: 3,132,777 msg/sec AtomicQueue2, 5,i: 4,276,981 msg/sec AtomicQueue2, 6,s: 2,566,409 msg/sec AtomicQueue2, 6,i: 3,962,647 msg/sec AtomicQueue2, 7,s: 2,893,533 msg/sec AtomicQueue2, 7,i: 3,200,004 msg/sec AtomicQueue2, 8,s: 3,013,033 msg/sec AtomicQueue2, 8,i: 2,879,064 msg/sec OptimistAtomicQueue2, 1,s: 107,617,369 msg/sec OptimistAtomicQueue2, 1,i: 106,999,376 msg/sec OptimistAtomicQueue2, 2,s: 43,427,721 msg/sec OptimistAtomicQueue2, 2,i: 47,063,771 msg/sec OptimistAtomicQueue2, 3,s: 55,878,458 msg/sec OptimistAtomicQueue2, 3,i: 50,032,542 msg/sec OptimistAtomicQueue2, 4,s: 59,298,233 msg/sec OptimistAtomicQueue2, 4,i: 57,998,692 msg/sec OptimistAtomicQueue2, 5,s: 31,463,201 msg/sec OptimistAtomicQueue2, 5,i: 32,733,903 msg/sec OptimistAtomicQueue2, 6,s: 32,999,496 msg/sec OptimistAtomicQueue2, 6,i: 32,539,489 msg/sec OptimistAtomicQueue2, 7,s: 37,832,940 msg/sec OptimistAtomicQueue2, 7,i: 37,763,892 msg/sec OptimistAtomicQueue2, 8,s: 49,117,817 msg/sec OptimistAtomicQueue2, 8,i: 39,852,690 msg/sec AtomicQueueB2, 1,s: 72,107,710 msg/sec AtomicQueueB2, 1,i: 71,658,544 msg/sec AtomicQueueB2, 2,s: 9,862,542 msg/sec AtomicQueueB2, 2,i: 10,456,165 msg/sec AtomicQueueB2, 3,s: 8,313,672 msg/sec AtomicQueueB2, 3,i: 8,848,735 msg/sec AtomicQueueB2, 4,s: 6,609,082 msg/sec AtomicQueueB2, 4,i: 6,972,295 msg/sec AtomicQueueB2, 5,s: 3,095,295 msg/sec AtomicQueueB2, 5,i: 4,329,939 msg/sec AtomicQueueB2, 6,s: 2,564,890 msg/sec AtomicQueueB2, 6,i: 3,451,701 msg/sec AtomicQueueB2, 7,s: 2,906,783 msg/sec AtomicQueueB2, 7,i: 3,168,782 msg/sec AtomicQueueB2, 8,s: 3,014,449 msg/sec AtomicQueueB2, 8,i: 2,835,756 msg/sec OptimistAtomicQueueB2, 1,s: 152,349,691 msg/sec OptimistAtomicQueueB2, 1,i: 150,402,985 msg/sec OptimistAtomicQueueB2, 2,s: 42,191,124 msg/sec OptimistAtomicQueueB2, 2,i: 46,109,608 msg/sec OptimistAtomicQueueB2, 3,s: 56,910,617 msg/sec OptimistAtomicQueueB2, 3,i: 53,150,420 msg/sec OptimistAtomicQueueB2, 4,s: 59,042,449 msg/sec OptimistAtomicQueueB2, 4,i: 60,046,555 msg/sec OptimistAtomicQueueB2, 5,s: 31,352,681 msg/sec OptimistAtomicQueueB2, 5,i: 31,463,300 msg/sec OptimistAtomicQueueB2, 6,s: 32,890,226 msg/sec OptimistAtomicQueueB2, 6,i: 32,301,293 msg/sec OptimistAtomicQueueB2, 7,s: 37,400,385 msg/sec OptimistAtomicQueueB2, 7,i: 37,042,204 msg/sec OptimistAtomicQueueB2, 8,s: 48,006,626 msg/sec OptimistAtomicQueueB2, 8,i: 38,997,296 msg/sec moodycamel::ReaderWriterQueue, 1,s: 140,833,336 msg/sec moodycamel::ReaderWriterQueue, 1,i: 113,729,618 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,021,529 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,033,700 msg/sec moodycamel::ConcurrentQueue, 2,s: 33,984,224 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,711,621 msg/sec moodycamel::ConcurrentQueue, 3,s: 50,644,274 msg/sec moodycamel::ConcurrentQueue, 3,i: 48,366,141 msg/sec moodycamel::ConcurrentQueue, 4,s: 100,190,652 msg/sec moodycamel::ConcurrentQueue, 4,i: 88,037,216 msg/sec moodycamel::ConcurrentQueue, 5,s: 147,008,453 msg/sec moodycamel::ConcurrentQueue, 5,i: 161,425,532 msg/sec moodycamel::ConcurrentQueue, 6,s: 170,479,312 msg/sec moodycamel::ConcurrentQueue, 6,i: 149,882,337 msg/sec moodycamel::ConcurrentQueue, 7,s: 240,274,947 msg/sec moodycamel::ConcurrentQueue, 7,i: 182,250,156 msg/sec moodycamel::ConcurrentQueue, 8,s: 261,967,779 msg/sec moodycamel::ConcurrentQueue, 8,i: 265,329,780 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,797,122 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,835,519 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,153,418 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,152,393 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,982,769 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,082,519 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,420,202 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,626,438 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,064,693 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,643,366 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,792,971 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,691,200 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,666,695 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,156,201 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,787,393 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,806,993 msg/sec xenium::michael_scott_queue, 1,s: 13,396,512 msg/sec xenium::michael_scott_queue, 1,i: 13,787,987 msg/sec xenium::michael_scott_queue, 2,s: 9,445,306 msg/sec xenium::michael_scott_queue, 2,i: 9,224,023 msg/sec xenium::michael_scott_queue, 3,s: 7,668,395 msg/sec xenium::michael_scott_queue, 3,i: 7,565,433 msg/sec xenium::michael_scott_queue, 4,s: 5,852,317 msg/sec xenium::michael_scott_queue, 4,i: 5,854,232 msg/sec xenium::michael_scott_queue, 5,s: 3,671,311 msg/sec xenium::michael_scott_queue, 5,i: 4,650,351 msg/sec xenium::michael_scott_queue, 6,s: 3,346,976 msg/sec xenium::michael_scott_queue, 6,i: 3,930,317 msg/sec xenium::michael_scott_queue, 7,s: 3,197,458 msg/sec xenium::michael_scott_queue, 7,i: 3,333,167 msg/sec xenium::michael_scott_queue, 8,s: 2,350,577 msg/sec xenium::michael_scott_queue, 8,i: 2,792,453 msg/sec xenium::ramalhete_queue, 1,s: 73,532,548 msg/sec xenium::ramalhete_queue, 1,i: 67,956,717 msg/sec xenium::ramalhete_queue, 2,s: 51,204,052 msg/sec xenium::ramalhete_queue, 2,i: 34,638,772 msg/sec xenium::ramalhete_queue, 3,s: 43,868,986 msg/sec xenium::ramalhete_queue, 3,i: 42,947,573 msg/sec xenium::ramalhete_queue, 4,s: 43,418,294 msg/sec xenium::ramalhete_queue, 4,i: 48,507,135 msg/sec xenium::ramalhete_queue, 5,s: 37,142,263 msg/sec xenium::ramalhete_queue, 5,i: 23,184,441 msg/sec xenium::ramalhete_queue, 6,s: 38,686,447 msg/sec xenium::ramalhete_queue, 6,i: 26,935,477 msg/sec xenium::ramalhete_queue, 7,s: 39,667,878 msg/sec xenium::ramalhete_queue, 7,i: 28,525,511 msg/sec xenium::ramalhete_queue, 8,s: 50,369,193 msg/sec xenium::ramalhete_queue, 8,i: 29,970,119 msg/sec xenium::vyukov_bounded_queue, 1,s: 309,272,007 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,163,123 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,698,426 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,121,478 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,652,478 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,559,702 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,231,653 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,699,676 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,805,245 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,782,617 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,126,649 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,960,147 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,274,799 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,506,352 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,569,090 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,531,438 msg/sec boost::lockfree::queue, 1,s: 7,763,111 msg/sec boost::lockfree::queue, 1,i: 7,836,661 msg/sec boost::lockfree::queue, 2,s: 5,837,680 msg/sec boost::lockfree::queue, 2,i: 5,904,440 msg/sec boost::lockfree::queue, 3,s: 4,938,463 msg/sec boost::lockfree::queue, 3,i: 4,791,041 msg/sec boost::lockfree::queue, 4,s: 4,367,696 msg/sec boost::lockfree::queue, 4,i: 4,369,878 msg/sec boost::lockfree::queue, 5,s: 2,663,893 msg/sec boost::lockfree::queue, 5,i: 2,912,499 msg/sec boost::lockfree::queue, 6,s: 1,424,491 msg/sec boost::lockfree::queue, 6,i: 2,819,594 msg/sec boost::lockfree::queue, 7,s: 1,388,142 msg/sec boost::lockfree::queue, 7,i: 2,841,966 msg/sec boost::lockfree::queue, 8,s: 1,159,208 msg/sec boost::lockfree::queue, 8,i: 1,842,899 msg/sec std::mutex, 1,s: 5,747,323 msg/sec std::mutex, 1,i: 4,933,384 msg/sec std::mutex, 2,s: 13,401,293 msg/sec std::mutex, 2,i: 12,738,753 msg/sec std::mutex, 3,s: 7,019,478 msg/sec std::mutex, 3,i: 6,726,844 msg/sec std::mutex, 4,s: 7,056,880 msg/sec std::mutex, 4,i: 6,660,152 msg/sec std::mutex, 5,s: 3,326,931 msg/sec std::mutex, 5,i: 3,323,146 msg/sec std::mutex, 6,s: 2,997,373 msg/sec std::mutex, 6,i: 2,985,713 msg/sec std::mutex, 7,s: 3,359,282 msg/sec std::mutex, 7,i: 2,957,207 msg/sec std::mutex, 8,s: 3,520,504 msg/sec std::mutex, 8,i: 2,828,646 msg/sec pthread_spinlock, 1,s: 17,714,392 msg/sec pthread_spinlock, 1,i: 18,140,168 msg/sec pthread_spinlock, 2,s: 7,169,350 msg/sec pthread_spinlock, 2,i: 1,974,349 msg/sec pthread_spinlock, 3,s: 976,174 msg/sec pthread_spinlock, 3,i: 6,133,454 msg/sec pthread_spinlock, 4,s: 1,037,031 msg/sec pthread_spinlock, 4,i: 1,205,516 msg/sec pthread_spinlock, 5,s: 2,769,467 msg/sec pthread_spinlock, 5,i: 1,093,944 msg/sec pthread_spinlock, 6,s: 1,976,671 msg/sec pthread_spinlock, 6,i: 3,083,842 msg/sec pthread_spinlock, 7,s: 2,911,788 msg/sec pthread_spinlock, 7,i: 3,061,946 msg/sec pthread_spinlock, 8,s: 2,967,353 msg/sec pthread_spinlock, 8,i: 2,688,453 msg/sec tbb::spin_mutex, 1,s: 39,497,555 msg/sec tbb::spin_mutex, 1,i: 38,257,421 msg/sec tbb::spin_mutex, 2,s: 16,604,732 msg/sec tbb::spin_mutex, 2,i: 16,268,836 msg/sec tbb::spin_mutex, 3,s: 12,056,970 msg/sec tbb::spin_mutex, 3,i: 11,928,161 msg/sec tbb::spin_mutex, 4,s: 10,484,188 msg/sec tbb::spin_mutex, 4,i: 10,211,899 msg/sec tbb::spin_mutex, 5,s: 5,959,727 msg/sec tbb::spin_mutex, 5,i: 5,792,620 msg/sec tbb::spin_mutex, 6,s: 5,102,533 msg/sec tbb::spin_mutex, 6,i: 4,856,152 msg/sec tbb::spin_mutex, 7,s: 4,415,562 msg/sec tbb::spin_mutex, 7,i: 4,754,221 msg/sec tbb::spin_mutex, 8,s: 4,259,205 msg/sec tbb::spin_mutex, 8,i: 4,112,457 msg/sec Elapsed time 2:43.61, user 1295.04s, system 109.35s, CPU 858%, RSS 60488kB, exit-status 0. 2026-09-14 16:20:16 [14/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip AtomicQueue: 0.000000104 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000076 sec/round-trip AtomicQueue2: 0.000000118 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000166 sec/round-trip tbb::concurrent_bounded_queue: 0.000000295 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000441 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,827,762 msg/sec boost::lockfree::spsc_queue, 1,i: 113,283,212 msg/sec AtomicQueue, 1,s: 148,989,054 msg/sec AtomicQueue, 1,i: 145,583,759 msg/sec AtomicQueue, 2,s: 9,907,983 msg/sec AtomicQueue, 2,i: 10,334,107 msg/sec AtomicQueue, 3,s: 8,352,177 msg/sec AtomicQueue, 3,i: 8,789,267 msg/sec AtomicQueue, 4,s: 6,607,463 msg/sec AtomicQueue, 4,i: 7,019,955 msg/sec AtomicQueue, 5,s: 3,160,250 msg/sec AtomicQueue, 5,i: 4,327,216 msg/sec AtomicQueue, 6,s: 2,594,871 msg/sec AtomicQueue, 6,i: 3,548,554 msg/sec AtomicQueue, 7,s: 2,973,965 msg/sec AtomicQueue, 7,i: 3,206,910 msg/sec AtomicQueue, 8,s: 3,118,506 msg/sec AtomicQueue, 8,i: 2,892,425 msg/sec OptimistAtomicQueue, 1,s: 1,199,707,209 msg/sec OptimistAtomicQueue, 1,i: 1,194,962,110 msg/sec OptimistAtomicQueue, 2,s: 56,596,503 msg/sec OptimistAtomicQueue, 2,i: 53,080,068 msg/sec OptimistAtomicQueue, 3,s: 58,732,562 msg/sec OptimistAtomicQueue, 3,i: 59,588,976 msg/sec OptimistAtomicQueue, 4,s: 59,279,885 msg/sec OptimistAtomicQueue, 4,i: 66,194,007 msg/sec OptimistAtomicQueue, 5,s: 33,137,824 msg/sec OptimistAtomicQueue, 5,i: 43,148,638 msg/sec OptimistAtomicQueue, 6,s: 34,678,168 msg/sec OptimistAtomicQueue, 6,i: 34,114,787 msg/sec OptimistAtomicQueue, 7,s: 40,249,585 msg/sec OptimistAtomicQueue, 7,i: 40,096,563 msg/sec OptimistAtomicQueue, 8,s: 50,487,695 msg/sec OptimistAtomicQueue, 8,i: 41,354,006 msg/sec AtomicQueueB, 1,s: 50,193,689 msg/sec AtomicQueueB, 1,i: 50,469,858 msg/sec AtomicQueueB, 2,s: 9,635,852 msg/sec AtomicQueueB, 2,i: 10,032,534 msg/sec AtomicQueueB, 3,s: 8,201,827 msg/sec AtomicQueueB, 3,i: 8,726,057 msg/sec AtomicQueueB, 4,s: 6,544,930 msg/sec AtomicQueueB, 4,i: 6,921,506 msg/sec AtomicQueueB, 5,s: 3,156,842 msg/sec AtomicQueueB, 5,i: 4,336,470 msg/sec AtomicQueueB, 6,s: 2,610,775 msg/sec AtomicQueueB, 6,i: 3,966,918 msg/sec AtomicQueueB, 7,s: 2,923,049 msg/sec AtomicQueueB, 7,i: 3,180,121 msg/sec AtomicQueueB, 8,s: 3,063,065 msg/sec AtomicQueueB, 8,i: 2,878,827 msg/sec OptimistAtomicQueueB, 1,s: 511,593,898 msg/sec OptimistAtomicQueueB, 1,i: 650,492,371 msg/sec OptimistAtomicQueueB, 2,s: 49,108,530 msg/sec OptimistAtomicQueueB, 2,i: 49,627,700 msg/sec OptimistAtomicQueueB, 3,s: 58,492,571 msg/sec OptimistAtomicQueueB, 3,i: 57,292,317 msg/sec OptimistAtomicQueueB, 4,s: 59,442,890 msg/sec OptimistAtomicQueueB, 4,i: 66,144,270 msg/sec OptimistAtomicQueueB, 5,s: 33,032,153 msg/sec OptimistAtomicQueueB, 5,i: 40,828,532 msg/sec OptimistAtomicQueueB, 6,s: 34,364,818 msg/sec OptimistAtomicQueueB, 6,i: 34,906,095 msg/sec OptimistAtomicQueueB, 7,s: 39,386,596 msg/sec OptimistAtomicQueueB, 7,i: 39,963,408 msg/sec OptimistAtomicQueueB, 8,s: 51,494,294 msg/sec OptimistAtomicQueueB, 8,i: 41,235,545 msg/sec AtomicQueue2, 1,s: 132,589,959 msg/sec AtomicQueue2, 1,i: 138,464,108 msg/sec AtomicQueue2, 2,s: 9,962,782 msg/sec AtomicQueue2, 2,i: 10,546,586 msg/sec AtomicQueue2, 3,s: 8,411,003 msg/sec AtomicQueue2, 3,i: 8,921,052 msg/sec AtomicQueue2, 4,s: 6,684,610 msg/sec AtomicQueue2, 4,i: 7,094,687 msg/sec AtomicQueue2, 5,s: 3,127,846 msg/sec AtomicQueue2, 5,i: 4,275,301 msg/sec AtomicQueue2, 6,s: 2,568,516 msg/sec AtomicQueue2, 6,i: 3,973,232 msg/sec AtomicQueue2, 7,s: 2,896,485 msg/sec AtomicQueue2, 7,i: 3,221,448 msg/sec AtomicQueue2, 8,s: 3,018,042 msg/sec AtomicQueue2, 8,i: 2,894,897 msg/sec OptimistAtomicQueue2, 1,s: 107,758,729 msg/sec OptimistAtomicQueue2, 1,i: 107,432,850 msg/sec OptimistAtomicQueue2, 2,s: 43,383,993 msg/sec OptimistAtomicQueue2, 2,i: 47,415,273 msg/sec OptimistAtomicQueue2, 3,s: 57,614,173 msg/sec OptimistAtomicQueue2, 3,i: 50,009,499 msg/sec OptimistAtomicQueue2, 4,s: 59,152,215 msg/sec OptimistAtomicQueue2, 4,i: 58,007,943 msg/sec OptimistAtomicQueue2, 5,s: 31,484,359 msg/sec OptimistAtomicQueue2, 5,i: 32,468,197 msg/sec OptimistAtomicQueue2, 6,s: 32,952,717 msg/sec OptimistAtomicQueue2, 6,i: 32,211,565 msg/sec OptimistAtomicQueue2, 7,s: 37,782,540 msg/sec OptimistAtomicQueue2, 7,i: 37,818,404 msg/sec OptimistAtomicQueue2, 8,s: 49,012,280 msg/sec OptimistAtomicQueue2, 8,i: 39,864,510 msg/sec AtomicQueueB2, 1,s: 73,756,043 msg/sec AtomicQueueB2, 1,i: 56,926,507 msg/sec AtomicQueueB2, 2,s: 9,859,676 msg/sec AtomicQueueB2, 2,i: 10,446,861 msg/sec AtomicQueueB2, 3,s: 8,326,431 msg/sec AtomicQueueB2, 3,i: 8,845,737 msg/sec AtomicQueueB2, 4,s: 6,608,685 msg/sec AtomicQueueB2, 4,i: 6,972,825 msg/sec AtomicQueueB2, 5,s: 3,082,668 msg/sec AtomicQueueB2, 5,i: 3,684,678 msg/sec AtomicQueueB2, 6,s: 2,552,648 msg/sec AtomicQueueB2, 6,i: 3,463,004 msg/sec AtomicQueueB2, 7,s: 2,898,842 msg/sec AtomicQueueB2, 7,i: 3,179,737 msg/sec AtomicQueueB2, 8,s: 3,017,849 msg/sec AtomicQueueB2, 8,i: 2,853,363 msg/sec OptimistAtomicQueueB2, 1,s: 151,429,674 msg/sec OptimistAtomicQueueB2, 1,i: 150,783,288 msg/sec OptimistAtomicQueueB2, 2,s: 42,074,428 msg/sec OptimistAtomicQueueB2, 2,i: 46,257,586 msg/sec OptimistAtomicQueueB2, 3,s: 56,920,853 msg/sec OptimistAtomicQueueB2, 3,i: 53,153,048 msg/sec OptimistAtomicQueueB2, 4,s: 58,989,476 msg/sec OptimistAtomicQueueB2, 4,i: 59,782,645 msg/sec OptimistAtomicQueueB2, 5,s: 31,346,922 msg/sec OptimistAtomicQueueB2, 5,i: 32,532,575 msg/sec OptimistAtomicQueueB2, 6,s: 32,925,008 msg/sec OptimistAtomicQueueB2, 6,i: 32,349,473 msg/sec OptimistAtomicQueueB2, 7,s: 37,097,637 msg/sec OptimistAtomicQueueB2, 7,i: 37,016,674 msg/sec OptimistAtomicQueueB2, 8,s: 48,019,996 msg/sec OptimistAtomicQueueB2, 8,i: 38,969,243 msg/sec moodycamel::ReaderWriterQueue, 1,s: 109,509,656 msg/sec moodycamel::ReaderWriterQueue, 1,i: 171,660,935 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,956,211 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,203,698 msg/sec moodycamel::ConcurrentQueue, 2,s: 35,434,767 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,366,140 msg/sec moodycamel::ConcurrentQueue, 3,s: 53,631,088 msg/sec moodycamel::ConcurrentQueue, 3,i: 48,673,063 msg/sec moodycamel::ConcurrentQueue, 4,s: 98,041,378 msg/sec moodycamel::ConcurrentQueue, 4,i: 84,130,980 msg/sec moodycamel::ConcurrentQueue, 5,s: 116,870,613 msg/sec moodycamel::ConcurrentQueue, 5,i: 170,092,739 msg/sec moodycamel::ConcurrentQueue, 6,s: 202,494,647 msg/sec moodycamel::ConcurrentQueue, 6,i: 131,223,748 msg/sec moodycamel::ConcurrentQueue, 7,s: 209,742,181 msg/sec moodycamel::ConcurrentQueue, 7,i: 193,619,288 msg/sec moodycamel::ConcurrentQueue, 8,s: 241,449,414 msg/sec moodycamel::ConcurrentQueue, 8,i: 232,174,261 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,791,979 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,793,105 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,132,844 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,100,244 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,977,667 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,079,162 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,427,561 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,622,989 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,070,063 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,111,927 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,786,531 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,726,048 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,661,120 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,154,245 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,791,342 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,797,062 msg/sec xenium::michael_scott_queue, 1,s: 13,416,781 msg/sec xenium::michael_scott_queue, 1,i: 13,744,736 msg/sec xenium::michael_scott_queue, 2,s: 9,435,160 msg/sec xenium::michael_scott_queue, 2,i: 9,205,284 msg/sec xenium::michael_scott_queue, 3,s: 7,635,996 msg/sec xenium::michael_scott_queue, 3,i: 7,550,401 msg/sec xenium::michael_scott_queue, 4,s: 5,857,458 msg/sec xenium::michael_scott_queue, 4,i: 5,823,451 msg/sec xenium::michael_scott_queue, 5,s: 3,638,038 msg/sec xenium::michael_scott_queue, 5,i: 3,960,813 msg/sec xenium::michael_scott_queue, 6,s: 3,376,623 msg/sec xenium::michael_scott_queue, 6,i: 3,602,725 msg/sec xenium::michael_scott_queue, 7,s: 3,191,353 msg/sec xenium::michael_scott_queue, 7,i: 3,337,826 msg/sec xenium::michael_scott_queue, 8,s: 2,353,604 msg/sec xenium::michael_scott_queue, 8,i: 2,790,735 msg/sec xenium::ramalhete_queue, 1,s: 72,394,867 msg/sec xenium::ramalhete_queue, 1,i: 78,468,644 msg/sec xenium::ramalhete_queue, 2,s: 46,527,275 msg/sec xenium::ramalhete_queue, 2,i: 33,707,656 msg/sec xenium::ramalhete_queue, 3,s: 43,020,756 msg/sec xenium::ramalhete_queue, 3,i: 40,497,306 msg/sec xenium::ramalhete_queue, 4,s: 52,653,529 msg/sec xenium::ramalhete_queue, 4,i: 51,986,799 msg/sec xenium::ramalhete_queue, 5,s: 36,960,045 msg/sec xenium::ramalhete_queue, 5,i: 23,336,720 msg/sec xenium::ramalhete_queue, 6,s: 38,551,730 msg/sec xenium::ramalhete_queue, 6,i: 26,321,475 msg/sec xenium::ramalhete_queue, 7,s: 40,331,528 msg/sec xenium::ramalhete_queue, 7,i: 28,345,850 msg/sec xenium::ramalhete_queue, 8,s: 49,961,977 msg/sec xenium::ramalhete_queue, 8,i: 29,537,713 msg/sec xenium::vyukov_bounded_queue, 1,s: 313,527,697 msg/sec xenium::vyukov_bounded_queue, 1,i: 312,727,641 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,104,203 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,071,644 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,307,225 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,862,671 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,294,413 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,582,473 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,090,201 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,247,353 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,001,580 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,420,796 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,139,961 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,470,232 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,359,469 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,558,803 msg/sec boost::lockfree::queue, 1,s: 7,760,286 msg/sec boost::lockfree::queue, 1,i: 7,786,214 msg/sec boost::lockfree::queue, 2,s: 5,863,360 msg/sec boost::lockfree::queue, 2,i: 5,913,187 msg/sec boost::lockfree::queue, 3,s: 4,951,080 msg/sec boost::lockfree::queue, 3,i: 4,811,790 msg/sec boost::lockfree::queue, 4,s: 4,378,586 msg/sec boost::lockfree::queue, 4,i: 4,343,764 msg/sec boost::lockfree::queue, 5,s: 2,667,054 msg/sec boost::lockfree::queue, 5,i: 2,911,316 msg/sec boost::lockfree::queue, 6,s: 1,437,646 msg/sec boost::lockfree::queue, 6,i: 2,817,886 msg/sec boost::lockfree::queue, 7,s: 1,390,572 msg/sec boost::lockfree::queue, 7,i: 2,871,303 msg/sec boost::lockfree::queue, 8,s: 1,159,062 msg/sec boost::lockfree::queue, 8,i: 1,831,820 msg/sec std::mutex, 1,s: 5,179,081 msg/sec std::mutex, 1,i: 4,086,180 msg/sec std::mutex, 2,s: 13,722,435 msg/sec std::mutex, 2,i: 13,496,368 msg/sec std::mutex, 3,s: 7,028,991 msg/sec std::mutex, 3,i: 6,737,463 msg/sec std::mutex, 4,s: 6,967,659 msg/sec std::mutex, 4,i: 6,709,895 msg/sec std::mutex, 5,s: 3,343,384 msg/sec std::mutex, 5,i: 3,441,712 msg/sec std::mutex, 6,s: 3,016,000 msg/sec std::mutex, 6,i: 2,963,913 msg/sec std::mutex, 7,s: 3,265,204 msg/sec std::mutex, 7,i: 2,958,722 msg/sec std::mutex, 8,s: 3,500,676 msg/sec std::mutex, 8,i: 2,808,395 msg/sec pthread_spinlock, 1,s: 17,714,063 msg/sec pthread_spinlock, 1,i: 17,981,014 msg/sec pthread_spinlock, 2,s: 7,551,635 msg/sec pthread_spinlock, 2,i: 1,589,228 msg/sec pthread_spinlock, 3,s: 903,133 msg/sec pthread_spinlock, 3,i: 5,660,826 msg/sec pthread_spinlock, 4,s: 2,290,197 msg/sec pthread_spinlock, 4,i: 819,862 msg/sec pthread_spinlock, 5,s: 2,785,561 msg/sec pthread_spinlock, 5,i: 904,888 msg/sec pthread_spinlock, 6,s: 1,987,850 msg/sec pthread_spinlock, 6,i: 3,103,273 msg/sec pthread_spinlock, 7,s: 2,795,868 msg/sec pthread_spinlock, 7,i: 3,075,339 msg/sec pthread_spinlock, 8,s: 2,997,447 msg/sec pthread_spinlock, 8,i: 2,664,478 msg/sec tbb::spin_mutex, 1,s: 38,764,154 msg/sec tbb::spin_mutex, 1,i: 38,426,123 msg/sec tbb::spin_mutex, 2,s: 16,567,462 msg/sec tbb::spin_mutex, 2,i: 15,978,913 msg/sec tbb::spin_mutex, 3,s: 12,071,326 msg/sec tbb::spin_mutex, 3,i: 11,904,228 msg/sec tbb::spin_mutex, 4,s: 10,313,180 msg/sec tbb::spin_mutex, 4,i: 10,209,317 msg/sec tbb::spin_mutex, 5,s: 5,971,700 msg/sec tbb::spin_mutex, 5,i: 5,649,797 msg/sec tbb::spin_mutex, 6,s: 5,133,036 msg/sec tbb::spin_mutex, 6,i: 4,822,834 msg/sec tbb::spin_mutex, 7,s: 4,379,201 msg/sec tbb::spin_mutex, 7,i: 4,695,986 msg/sec tbb::spin_mutex, 8,s: 4,288,002 msg/sec tbb::spin_mutex, 8,i: 4,061,835 msg/sec Elapsed time 2:43.91, user 1295.50s, system 110.02s, CPU 857%, RSS 56136kB, exit-status 0. 2026-09-14 16:23:00 [15/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip AtomicQueue: 0.000000103 sec/round-trip OptimistAtomicQueue: 0.000000099 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000090 sec/round-trip AtomicQueue2: 0.000000113 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000102 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000256 sec/round-trip xenium::ramalhete_queue: 0.000000138 sec/round-trip xenium::vyukov_bounded_queue: 0.000000141 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000445 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,535,770 msg/sec boost::lockfree::spsc_queue, 1,i: 113,055,632 msg/sec AtomicQueue, 1,s: 117,537,234 msg/sec AtomicQueue, 1,i: 140,803,195 msg/sec AtomicQueue, 2,s: 9,898,790 msg/sec AtomicQueue, 2,i: 10,327,132 msg/sec AtomicQueue, 3,s: 8,343,666 msg/sec AtomicQueue, 3,i: 8,831,005 msg/sec AtomicQueue, 4,s: 6,602,953 msg/sec AtomicQueue, 4,i: 7,001,868 msg/sec AtomicQueue, 5,s: 3,170,812 msg/sec AtomicQueue, 5,i: 4,329,544 msg/sec AtomicQueue, 6,s: 2,602,949 msg/sec AtomicQueue, 6,i: 4,025,693 msg/sec AtomicQueue, 7,s: 2,972,982 msg/sec AtomicQueue, 7,i: 3,218,102 msg/sec AtomicQueue, 8,s: 3,125,581 msg/sec AtomicQueue, 8,i: 2,895,078 msg/sec OptimistAtomicQueue, 1,s: 1,182,163,939 msg/sec OptimistAtomicQueue, 1,i: 1,188,359,090 msg/sec OptimistAtomicQueue, 2,s: 55,802,795 msg/sec OptimistAtomicQueue, 2,i: 54,850,241 msg/sec OptimistAtomicQueue, 3,s: 58,564,644 msg/sec OptimistAtomicQueue, 3,i: 59,645,024 msg/sec OptimistAtomicQueue, 4,s: 59,252,242 msg/sec OptimistAtomicQueue, 4,i: 66,243,906 msg/sec OptimistAtomicQueue, 5,s: 33,251,115 msg/sec OptimistAtomicQueue, 5,i: 38,944,901 msg/sec OptimistAtomicQueue, 6,s: 34,544,220 msg/sec OptimistAtomicQueue, 6,i: 35,139,556 msg/sec OptimistAtomicQueue, 7,s: 40,292,317 msg/sec OptimistAtomicQueue, 7,i: 39,970,005 msg/sec OptimistAtomicQueue, 8,s: 50,733,970 msg/sec OptimistAtomicQueue, 8,i: 41,280,210 msg/sec AtomicQueueB, 1,s: 50,558,425 msg/sec AtomicQueueB, 1,i: 49,877,476 msg/sec AtomicQueueB, 2,s: 9,558,604 msg/sec AtomicQueueB, 2,i: 9,977,236 msg/sec AtomicQueueB, 3,s: 8,176,629 msg/sec AtomicQueueB, 3,i: 8,681,538 msg/sec AtomicQueueB, 4,s: 6,540,794 msg/sec AtomicQueueB, 4,i: 6,910,538 msg/sec AtomicQueueB, 5,s: 3,118,874 msg/sec AtomicQueueB, 5,i: 4,367,885 msg/sec AtomicQueueB, 6,s: 2,601,607 msg/sec AtomicQueueB, 6,i: 3,451,608 msg/sec AtomicQueueB, 7,s: 2,915,266 msg/sec AtomicQueueB, 7,i: 3,165,712 msg/sec AtomicQueueB, 8,s: 3,048,968 msg/sec AtomicQueueB, 8,i: 2,889,933 msg/sec OptimistAtomicQueueB, 1,s: 635,035,143 msg/sec OptimistAtomicQueueB, 1,i: 1,090,138,816 msg/sec OptimistAtomicQueueB, 2,s: 52,113,152 msg/sec OptimistAtomicQueueB, 2,i: 49,656,878 msg/sec OptimistAtomicQueueB, 3,s: 58,567,868 msg/sec OptimistAtomicQueueB, 3,i: 57,238,144 msg/sec OptimistAtomicQueueB, 4,s: 59,466,360 msg/sec OptimistAtomicQueueB, 4,i: 65,855,825 msg/sec OptimistAtomicQueueB, 5,s: 33,068,143 msg/sec OptimistAtomicQueueB, 5,i: 37,043,889 msg/sec OptimistAtomicQueueB, 6,s: 34,295,121 msg/sec OptimistAtomicQueueB, 6,i: 34,024,831 msg/sec OptimistAtomicQueueB, 7,s: 39,104,993 msg/sec OptimistAtomicQueueB, 7,i: 39,966,028 msg/sec OptimistAtomicQueueB, 8,s: 51,478,548 msg/sec OptimistAtomicQueueB, 8,i: 41,248,710 msg/sec AtomicQueue2, 1,s: 131,533,818 msg/sec AtomicQueue2, 1,i: 135,749,048 msg/sec AtomicQueue2, 2,s: 9,972,045 msg/sec AtomicQueue2, 2,i: 10,525,234 msg/sec AtomicQueue2, 3,s: 8,407,573 msg/sec AtomicQueue2, 3,i: 8,909,725 msg/sec AtomicQueue2, 4,s: 6,675,192 msg/sec AtomicQueue2, 4,i: 7,097,399 msg/sec AtomicQueue2, 5,s: 3,145,209 msg/sec AtomicQueue2, 5,i: 4,283,936 msg/sec AtomicQueue2, 6,s: 2,567,496 msg/sec AtomicQueue2, 6,i: 3,498,035 msg/sec AtomicQueue2, 7,s: 2,902,452 msg/sec AtomicQueue2, 7,i: 3,209,002 msg/sec AtomicQueue2, 8,s: 3,014,665 msg/sec AtomicQueue2, 8,i: 2,908,981 msg/sec OptimistAtomicQueue2, 1,s: 107,070,061 msg/sec OptimistAtomicQueue2, 1,i: 106,819,821 msg/sec OptimistAtomicQueue2, 2,s: 43,988,596 msg/sec OptimistAtomicQueue2, 2,i: 47,581,248 msg/sec OptimistAtomicQueue2, 3,s: 55,326,599 msg/sec OptimistAtomicQueue2, 3,i: 50,015,301 msg/sec OptimistAtomicQueue2, 4,s: 59,076,282 msg/sec OptimistAtomicQueue2, 4,i: 58,098,835 msg/sec OptimistAtomicQueue2, 5,s: 31,400,230 msg/sec OptimistAtomicQueue2, 5,i: 32,609,656 msg/sec OptimistAtomicQueue2, 6,s: 32,937,132 msg/sec OptimistAtomicQueue2, 6,i: 32,693,463 msg/sec OptimistAtomicQueue2, 7,s: 37,656,176 msg/sec OptimistAtomicQueue2, 7,i: 37,721,415 msg/sec OptimistAtomicQueue2, 8,s: 49,051,731 msg/sec OptimistAtomicQueue2, 8,i: 39,820,444 msg/sec AtomicQueueB2, 1,s: 72,373,019 msg/sec AtomicQueueB2, 1,i: 78,047,063 msg/sec AtomicQueueB2, 2,s: 9,865,364 msg/sec AtomicQueueB2, 2,i: 10,418,626 msg/sec AtomicQueueB2, 3,s: 8,322,969 msg/sec AtomicQueueB2, 3,i: 8,835,062 msg/sec AtomicQueueB2, 4,s: 6,618,637 msg/sec AtomicQueueB2, 4,i: 6,967,934 msg/sec AtomicQueueB2, 5,s: 3,084,518 msg/sec AtomicQueueB2, 5,i: 4,321,187 msg/sec AtomicQueueB2, 6,s: 2,548,011 msg/sec AtomicQueueB2, 6,i: 3,470,411 msg/sec AtomicQueueB2, 7,s: 2,896,994 msg/sec AtomicQueueB2, 7,i: 3,157,770 msg/sec AtomicQueueB2, 8,s: 3,011,476 msg/sec AtomicQueueB2, 8,i: 2,853,432 msg/sec OptimistAtomicQueueB2, 1,s: 151,242,337 msg/sec OptimistAtomicQueueB2, 1,i: 150,940,551 msg/sec OptimistAtomicQueueB2, 2,s: 42,095,681 msg/sec OptimistAtomicQueueB2, 2,i: 46,110,735 msg/sec OptimistAtomicQueueB2, 3,s: 56,998,911 msg/sec OptimistAtomicQueueB2, 3,i: 53,128,311 msg/sec OptimistAtomicQueueB2, 4,s: 59,031,575 msg/sec OptimistAtomicQueueB2, 4,i: 59,965,973 msg/sec OptimistAtomicQueueB2, 5,s: 31,323,191 msg/sec OptimistAtomicQueueB2, 5,i: 31,419,123 msg/sec OptimistAtomicQueueB2, 6,s: 32,895,116 msg/sec OptimistAtomicQueueB2, 6,i: 32,268,170 msg/sec OptimistAtomicQueueB2, 7,s: 37,134,679 msg/sec OptimistAtomicQueueB2, 7,i: 37,160,787 msg/sec OptimistAtomicQueueB2, 8,s: 47,992,572 msg/sec OptimistAtomicQueueB2, 8,i: 38,957,873 msg/sec moodycamel::ReaderWriterQueue, 1,s: 807,777,012 msg/sec moodycamel::ReaderWriterQueue, 1,i: 182,684,870 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,969,563 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,270,512 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,124,696 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,519,370 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,462,463 msg/sec moodycamel::ConcurrentQueue, 3,i: 53,937,709 msg/sec moodycamel::ConcurrentQueue, 4,s: 105,081,046 msg/sec moodycamel::ConcurrentQueue, 4,i: 91,646,637 msg/sec moodycamel::ConcurrentQueue, 5,s: 96,187,331 msg/sec moodycamel::ConcurrentQueue, 5,i: 187,365,535 msg/sec moodycamel::ConcurrentQueue, 6,s: 211,788,189 msg/sec moodycamel::ConcurrentQueue, 6,i: 207,105,996 msg/sec moodycamel::ConcurrentQueue, 7,s: 234,456,955 msg/sec moodycamel::ConcurrentQueue, 7,i: 235,920,493 msg/sec moodycamel::ConcurrentQueue, 8,s: 271,565,188 msg/sec moodycamel::ConcurrentQueue, 8,i: 255,752,464 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,786,368 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,833,502 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,146,623 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,137,663 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,976,494 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,074,920 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,417,836 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,621,478 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,066,490 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,108,165 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,798,083 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,448,450 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,660,354 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,261,605 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,793,609 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,806,273 msg/sec xenium::michael_scott_queue, 1,s: 13,436,831 msg/sec xenium::michael_scott_queue, 1,i: 13,786,628 msg/sec xenium::michael_scott_queue, 2,s: 9,548,812 msg/sec xenium::michael_scott_queue, 2,i: 9,167,937 msg/sec xenium::michael_scott_queue, 3,s: 7,645,507 msg/sec xenium::michael_scott_queue, 3,i: 7,551,581 msg/sec xenium::michael_scott_queue, 4,s: 5,838,490 msg/sec xenium::michael_scott_queue, 4,i: 5,796,409 msg/sec xenium::michael_scott_queue, 5,s: 3,643,547 msg/sec xenium::michael_scott_queue, 5,i: 3,940,020 msg/sec xenium::michael_scott_queue, 6,s: 3,344,592 msg/sec xenium::michael_scott_queue, 6,i: 3,932,509 msg/sec xenium::michael_scott_queue, 7,s: 3,217,396 msg/sec xenium::michael_scott_queue, 7,i: 3,234,772 msg/sec xenium::michael_scott_queue, 8,s: 2,355,849 msg/sec xenium::michael_scott_queue, 8,i: 2,791,558 msg/sec xenium::ramalhete_queue, 1,s: 75,336,155 msg/sec xenium::ramalhete_queue, 1,i: 71,586,370 msg/sec xenium::ramalhete_queue, 2,s: 37,818,105 msg/sec xenium::ramalhete_queue, 2,i: 32,824,166 msg/sec xenium::ramalhete_queue, 3,s: 41,353,592 msg/sec xenium::ramalhete_queue, 3,i: 39,485,018 msg/sec xenium::ramalhete_queue, 4,s: 49,126,262 msg/sec xenium::ramalhete_queue, 4,i: 51,456,245 msg/sec xenium::ramalhete_queue, 5,s: 37,572,845 msg/sec xenium::ramalhete_queue, 5,i: 24,152,481 msg/sec xenium::ramalhete_queue, 6,s: 38,871,514 msg/sec xenium::ramalhete_queue, 6,i: 26,972,884 msg/sec xenium::ramalhete_queue, 7,s: 39,580,851 msg/sec xenium::ramalhete_queue, 7,i: 28,290,808 msg/sec xenium::ramalhete_queue, 8,s: 49,985,052 msg/sec xenium::ramalhete_queue, 8,i: 29,963,348 msg/sec xenium::vyukov_bounded_queue, 1,s: 197,836,117 msg/sec xenium::vyukov_bounded_queue, 1,i: 313,142,846 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,184,233 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,833,231 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,569,151 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,126,522 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,495,022 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,623,977 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,251,540 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,424,277 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,198,177 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,463,008 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,087,739 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,366,661 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,222,463 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,555,221 msg/sec boost::lockfree::queue, 1,s: 7,772,886 msg/sec boost::lockfree::queue, 1,i: 7,859,941 msg/sec boost::lockfree::queue, 2,s: 5,856,628 msg/sec boost::lockfree::queue, 2,i: 5,901,292 msg/sec boost::lockfree::queue, 3,s: 4,942,024 msg/sec boost::lockfree::queue, 3,i: 4,802,289 msg/sec boost::lockfree::queue, 4,s: 4,376,824 msg/sec boost::lockfree::queue, 4,i: 4,361,925 msg/sec boost::lockfree::queue, 5,s: 2,662,822 msg/sec boost::lockfree::queue, 5,i: 2,897,029 msg/sec boost::lockfree::queue, 6,s: 1,433,654 msg/sec boost::lockfree::queue, 6,i: 3,005,034 msg/sec boost::lockfree::queue, 7,s: 1,397,003 msg/sec boost::lockfree::queue, 7,i: 2,847,337 msg/sec boost::lockfree::queue, 8,s: 1,161,026 msg/sec boost::lockfree::queue, 8,i: 2,727,881 msg/sec std::mutex, 1,s: 3,859,254 msg/sec std::mutex, 1,i: 3,476,917 msg/sec std::mutex, 2,s: 13,517,877 msg/sec std::mutex, 2,i: 12,567,049 msg/sec std::mutex, 3,s: 6,874,782 msg/sec std::mutex, 3,i: 6,758,106 msg/sec std::mutex, 4,s: 7,000,536 msg/sec std::mutex, 4,i: 6,636,782 msg/sec std::mutex, 5,s: 3,378,252 msg/sec std::mutex, 5,i: 3,383,641 msg/sec std::mutex, 6,s: 3,038,821 msg/sec std::mutex, 6,i: 3,005,810 msg/sec std::mutex, 7,s: 3,287,190 msg/sec std::mutex, 7,i: 2,943,731 msg/sec std::mutex, 8,s: 3,461,117 msg/sec std::mutex, 8,i: 2,827,766 msg/sec pthread_spinlock, 1,s: 17,864,044 msg/sec pthread_spinlock, 1,i: 18,278,925 msg/sec pthread_spinlock, 2,s: 7,336,897 msg/sec pthread_spinlock, 2,i: 2,119,601 msg/sec pthread_spinlock, 3,s: 841,461 msg/sec pthread_spinlock, 3,i: 6,042,758 msg/sec pthread_spinlock, 4,s: 1,155,283 msg/sec pthread_spinlock, 4,i: 1,459,380 msg/sec pthread_spinlock, 5,s: 2,646,227 msg/sec pthread_spinlock, 5,i: 930,608 msg/sec pthread_spinlock, 6,s: 1,972,873 msg/sec pthread_spinlock, 6,i: 3,151,140 msg/sec pthread_spinlock, 7,s: 2,804,335 msg/sec pthread_spinlock, 7,i: 3,052,032 msg/sec pthread_spinlock, 8,s: 2,974,803 msg/sec pthread_spinlock, 8,i: 2,678,348 msg/sec tbb::spin_mutex, 1,s: 38,411,939 msg/sec tbb::spin_mutex, 1,i: 38,697,956 msg/sec tbb::spin_mutex, 2,s: 16,548,326 msg/sec tbb::spin_mutex, 2,i: 16,003,151 msg/sec tbb::spin_mutex, 3,s: 12,101,955 msg/sec tbb::spin_mutex, 3,i: 11,917,900 msg/sec tbb::spin_mutex, 4,s: 10,322,078 msg/sec tbb::spin_mutex, 4,i: 10,138,063 msg/sec tbb::spin_mutex, 5,s: 5,940,185 msg/sec tbb::spin_mutex, 5,i: 5,652,917 msg/sec tbb::spin_mutex, 6,s: 5,077,103 msg/sec tbb::spin_mutex, 6,i: 4,808,589 msg/sec tbb::spin_mutex, 7,s: 4,389,972 msg/sec tbb::spin_mutex, 7,i: 4,639,557 msg/sec tbb::spin_mutex, 8,s: 4,287,113 msg/sec tbb::spin_mutex, 8,i: 4,083,921 msg/sec Elapsed time 2:43.99, user 1294.67s, system 110.13s, CPU 856%, RSS 56904kB, exit-status 0. 2026-09-14 16:25:44 [16/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000109 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000083 sec/round-trip AtomicQueue2: 0.000000117 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000142 sec/round-trip boost::lockfree::queue: 0.000000213 sec/round-trip std::mutex: 0.000000441 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,269,688 msg/sec boost::lockfree::spsc_queue, 1,i: 114,250,519 msg/sec AtomicQueue, 1,s: 149,612,729 msg/sec AtomicQueue, 1,i: 147,242,438 msg/sec AtomicQueue, 2,s: 9,878,297 msg/sec AtomicQueue, 2,i: 10,330,404 msg/sec AtomicQueue, 3,s: 8,360,408 msg/sec AtomicQueue, 3,i: 8,829,566 msg/sec AtomicQueue, 4,s: 6,604,003 msg/sec AtomicQueue, 4,i: 7,018,811 msg/sec AtomicQueue, 5,s: 3,148,745 msg/sec AtomicQueue, 5,i: 4,327,175 msg/sec AtomicQueue, 6,s: 2,600,181 msg/sec AtomicQueue, 6,i: 4,022,448 msg/sec AtomicQueue, 7,s: 2,975,148 msg/sec AtomicQueue, 7,i: 3,205,260 msg/sec AtomicQueue, 8,s: 3,118,443 msg/sec AtomicQueue, 8,i: 2,889,594 msg/sec OptimistAtomicQueue, 1,s: 1,194,006,186 msg/sec OptimistAtomicQueue, 1,i: 1,191,701,155 msg/sec OptimistAtomicQueue, 2,s: 47,757,419 msg/sec OptimistAtomicQueue, 2,i: 52,835,130 msg/sec OptimistAtomicQueue, 3,s: 58,715,182 msg/sec OptimistAtomicQueue, 3,i: 59,386,740 msg/sec OptimistAtomicQueue, 4,s: 59,279,357 msg/sec OptimistAtomicQueue, 4,i: 66,296,737 msg/sec OptimistAtomicQueue, 5,s: 33,225,827 msg/sec OptimistAtomicQueue, 5,i: 42,950,401 msg/sec OptimistAtomicQueue, 6,s: 34,471,655 msg/sec OptimistAtomicQueue, 6,i: 35,094,742 msg/sec OptimistAtomicQueue, 7,s: 40,033,929 msg/sec OptimistAtomicQueue, 7,i: 40,058,529 msg/sec OptimistAtomicQueue, 8,s: 50,547,129 msg/sec OptimistAtomicQueue, 8,i: 41,266,122 msg/sec AtomicQueueB, 1,s: 52,393,034 msg/sec AtomicQueueB, 1,i: 50,430,027 msg/sec AtomicQueueB, 2,s: 9,620,384 msg/sec AtomicQueueB, 2,i: 10,033,975 msg/sec AtomicQueueB, 3,s: 8,229,528 msg/sec AtomicQueueB, 3,i: 8,672,179 msg/sec AtomicQueueB, 4,s: 6,558,321 msg/sec AtomicQueueB, 4,i: 6,915,161 msg/sec AtomicQueueB, 5,s: 3,126,811 msg/sec AtomicQueueB, 5,i: 3,797,507 msg/sec AtomicQueueB, 6,s: 2,605,829 msg/sec AtomicQueueB, 6,i: 3,961,774 msg/sec AtomicQueueB, 7,s: 2,910,251 msg/sec AtomicQueueB, 7,i: 3,169,647 msg/sec AtomicQueueB, 8,s: 3,056,430 msg/sec AtomicQueueB, 8,i: 2,886,879 msg/sec OptimistAtomicQueueB, 1,s: 523,473,432 msg/sec OptimistAtomicQueueB, 1,i: 582,240,949 msg/sec OptimistAtomicQueueB, 2,s: 47,324,868 msg/sec OptimistAtomicQueueB, 2,i: 49,023,981 msg/sec OptimistAtomicQueueB, 3,s: 58,536,088 msg/sec OptimistAtomicQueueB, 3,i: 57,468,163 msg/sec OptimistAtomicQueueB, 4,s: 59,551,562 msg/sec OptimistAtomicQueueB, 4,i: 64,758,164 msg/sec OptimistAtomicQueueB, 5,s: 33,022,205 msg/sec OptimistAtomicQueueB, 5,i: 36,824,395 msg/sec OptimistAtomicQueueB, 6,s: 34,462,769 msg/sec OptimistAtomicQueueB, 6,i: 34,833,156 msg/sec OptimistAtomicQueueB, 7,s: 39,384,068 msg/sec OptimistAtomicQueueB, 7,i: 40,021,593 msg/sec OptimistAtomicQueueB, 8,s: 51,517,506 msg/sec OptimistAtomicQueueB, 8,i: 41,278,659 msg/sec AtomicQueue2, 1,s: 131,377,433 msg/sec AtomicQueue2, 1,i: 128,533,339 msg/sec AtomicQueue2, 2,s: 9,964,440 msg/sec AtomicQueue2, 2,i: 10,528,364 msg/sec AtomicQueue2, 3,s: 8,417,891 msg/sec AtomicQueue2, 3,i: 8,927,415 msg/sec AtomicQueue2, 4,s: 6,679,166 msg/sec AtomicQueue2, 4,i: 7,077,774 msg/sec AtomicQueue2, 5,s: 3,145,591 msg/sec AtomicQueue2, 5,i: 4,274,951 msg/sec AtomicQueue2, 6,s: 2,564,913 msg/sec AtomicQueue2, 6,i: 3,479,131 msg/sec AtomicQueue2, 7,s: 2,899,945 msg/sec AtomicQueue2, 7,i: 3,277,709 msg/sec AtomicQueue2, 8,s: 3,005,744 msg/sec AtomicQueue2, 8,i: 2,899,252 msg/sec OptimistAtomicQueue2, 1,s: 107,004,528 msg/sec OptimistAtomicQueue2, 1,i: 107,208,031 msg/sec OptimistAtomicQueue2, 2,s: 43,380,700 msg/sec OptimistAtomicQueue2, 2,i: 47,373,495 msg/sec OptimistAtomicQueue2, 3,s: 55,659,075 msg/sec OptimistAtomicQueue2, 3,i: 49,988,425 msg/sec OptimistAtomicQueue2, 4,s: 59,228,344 msg/sec OptimistAtomicQueue2, 4,i: 57,977,104 msg/sec OptimistAtomicQueue2, 5,s: 31,471,607 msg/sec OptimistAtomicQueue2, 5,i: 32,575,792 msg/sec OptimistAtomicQueue2, 6,s: 32,922,450 msg/sec OptimistAtomicQueue2, 6,i: 32,162,263 msg/sec OptimistAtomicQueue2, 7,s: 37,879,729 msg/sec OptimistAtomicQueue2, 7,i: 37,782,426 msg/sec OptimistAtomicQueue2, 8,s: 50,309,138 msg/sec OptimistAtomicQueue2, 8,i: 39,813,928 msg/sec AtomicQueueB2, 1,s: 77,573,382 msg/sec AtomicQueueB2, 1,i: 71,381,824 msg/sec AtomicQueueB2, 2,s: 9,857,085 msg/sec AtomicQueueB2, 2,i: 10,396,985 msg/sec AtomicQueueB2, 3,s: 8,315,787 msg/sec AtomicQueueB2, 3,i: 8,817,716 msg/sec AtomicQueueB2, 4,s: 6,612,991 msg/sec AtomicQueueB2, 4,i: 6,971,316 msg/sec AtomicQueueB2, 5,s: 3,099,241 msg/sec AtomicQueueB2, 5,i: 4,327,984 msg/sec AtomicQueueB2, 6,s: 2,565,545 msg/sec AtomicQueueB2, 6,i: 3,407,215 msg/sec AtomicQueueB2, 7,s: 2,895,808 msg/sec AtomicQueueB2, 7,i: 3,169,786 msg/sec AtomicQueueB2, 8,s: 3,020,284 msg/sec AtomicQueueB2, 8,i: 2,837,250 msg/sec OptimistAtomicQueueB2, 1,s: 153,037,002 msg/sec OptimistAtomicQueueB2, 1,i: 150,882,478 msg/sec OptimistAtomicQueueB2, 2,s: 41,996,294 msg/sec OptimistAtomicQueueB2, 2,i: 46,063,880 msg/sec OptimistAtomicQueueB2, 3,s: 56,889,476 msg/sec OptimistAtomicQueueB2, 3,i: 53,108,758 msg/sec OptimistAtomicQueueB2, 4,s: 59,152,425 msg/sec OptimistAtomicQueueB2, 4,i: 59,965,613 msg/sec OptimistAtomicQueueB2, 5,s: 31,381,912 msg/sec OptimistAtomicQueueB2, 5,i: 31,538,942 msg/sec OptimistAtomicQueueB2, 6,s: 32,988,807 msg/sec OptimistAtomicQueueB2, 6,i: 32,292,114 msg/sec OptimistAtomicQueueB2, 7,s: 37,342,860 msg/sec OptimistAtomicQueueB2, 7,i: 37,069,116 msg/sec OptimistAtomicQueueB2, 8,s: 48,014,578 msg/sec OptimistAtomicQueueB2, 8,i: 39,014,625 msg/sec moodycamel::ReaderWriterQueue, 1,s: 127,078,688 msg/sec moodycamel::ReaderWriterQueue, 1,i: 68,215,428 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,037,140 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,149,094 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,171,352 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,804,266 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,786,825 msg/sec moodycamel::ConcurrentQueue, 3,i: 53,729,837 msg/sec moodycamel::ConcurrentQueue, 4,s: 101,285,986 msg/sec moodycamel::ConcurrentQueue, 4,i: 85,412,904 msg/sec moodycamel::ConcurrentQueue, 5,s: 106,640,868 msg/sec moodycamel::ConcurrentQueue, 5,i: 189,086,236 msg/sec moodycamel::ConcurrentQueue, 6,s: 206,268,294 msg/sec moodycamel::ConcurrentQueue, 6,i: 221,652,579 msg/sec moodycamel::ConcurrentQueue, 7,s: 228,520,163 msg/sec moodycamel::ConcurrentQueue, 7,i: 234,660,514 msg/sec moodycamel::ConcurrentQueue, 8,s: 277,129,666 msg/sec moodycamel::ConcurrentQueue, 8,i: 254,855,613 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,823,481 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,817,274 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,141,564 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,128,894 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,975,136 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,077,529 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,414,893 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,629,334 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,066,716 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,102,430 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,790,662 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,722,012 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,660,326 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,165,739 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,793,017 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,817,285 msg/sec xenium::michael_scott_queue, 1,s: 13,412,773 msg/sec xenium::michael_scott_queue, 1,i: 13,782,607 msg/sec xenium::michael_scott_queue, 2,s: 9,418,541 msg/sec xenium::michael_scott_queue, 2,i: 9,172,765 msg/sec xenium::michael_scott_queue, 3,s: 7,637,499 msg/sec xenium::michael_scott_queue, 3,i: 7,545,015 msg/sec xenium::michael_scott_queue, 4,s: 5,882,600 msg/sec xenium::michael_scott_queue, 4,i: 5,815,740 msg/sec xenium::michael_scott_queue, 5,s: 3,631,881 msg/sec xenium::michael_scott_queue, 5,i: 4,674,095 msg/sec xenium::michael_scott_queue, 6,s: 3,330,840 msg/sec xenium::michael_scott_queue, 6,i: 3,444,489 msg/sec xenium::michael_scott_queue, 7,s: 3,190,676 msg/sec xenium::michael_scott_queue, 7,i: 3,266,530 msg/sec xenium::michael_scott_queue, 8,s: 2,351,321 msg/sec xenium::michael_scott_queue, 8,i: 2,797,188 msg/sec xenium::ramalhete_queue, 1,s: 69,688,213 msg/sec xenium::ramalhete_queue, 1,i: 71,152,564 msg/sec xenium::ramalhete_queue, 2,s: 49,837,730 msg/sec xenium::ramalhete_queue, 2,i: 32,882,265 msg/sec xenium::ramalhete_queue, 3,s: 45,230,903 msg/sec xenium::ramalhete_queue, 3,i: 41,808,338 msg/sec xenium::ramalhete_queue, 4,s: 50,792,464 msg/sec xenium::ramalhete_queue, 4,i: 51,107,230 msg/sec xenium::ramalhete_queue, 5,s: 37,022,303 msg/sec xenium::ramalhete_queue, 5,i: 24,015,464 msg/sec xenium::ramalhete_queue, 6,s: 38,564,709 msg/sec xenium::ramalhete_queue, 6,i: 26,413,424 msg/sec xenium::ramalhete_queue, 7,s: 39,549,090 msg/sec xenium::ramalhete_queue, 7,i: 28,211,588 msg/sec xenium::ramalhete_queue, 8,s: 50,098,689 msg/sec xenium::ramalhete_queue, 8,i: 30,134,485 msg/sec xenium::vyukov_bounded_queue, 1,s: 315,185,841 msg/sec xenium::vyukov_bounded_queue, 1,i: 311,326,663 msg/sec xenium::vyukov_bounded_queue, 2,s: 21,882,114 msg/sec xenium::vyukov_bounded_queue, 2,i: 21,951,879 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,668,679 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,938,335 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,237,446 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,569,770 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,606,227 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,588,373 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,079,381 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,836,155 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,080,842 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,401,940 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,353,529 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,567,693 msg/sec boost::lockfree::queue, 1,s: 7,793,680 msg/sec boost::lockfree::queue, 1,i: 7,812,129 msg/sec boost::lockfree::queue, 2,s: 5,896,693 msg/sec boost::lockfree::queue, 2,i: 5,907,603 msg/sec boost::lockfree::queue, 3,s: 4,943,890 msg/sec boost::lockfree::queue, 3,i: 4,812,308 msg/sec boost::lockfree::queue, 4,s: 4,371,295 msg/sec boost::lockfree::queue, 4,i: 4,356,113 msg/sec boost::lockfree::queue, 5,s: 2,658,686 msg/sec boost::lockfree::queue, 5,i: 2,656,170 msg/sec boost::lockfree::queue, 6,s: 1,436,000 msg/sec boost::lockfree::queue, 6,i: 2,993,350 msg/sec boost::lockfree::queue, 7,s: 1,397,656 msg/sec boost::lockfree::queue, 7,i: 2,827,951 msg/sec boost::lockfree::queue, 8,s: 1,162,226 msg/sec boost::lockfree::queue, 8,i: 1,983,309 msg/sec std::mutex, 1,s: 5,328,215 msg/sec std::mutex, 1,i: 5,547,749 msg/sec std::mutex, 2,s: 13,307,669 msg/sec std::mutex, 2,i: 12,808,980 msg/sec std::mutex, 3,s: 6,964,283 msg/sec std::mutex, 3,i: 6,891,330 msg/sec std::mutex, 4,s: 7,019,807 msg/sec std::mutex, 4,i: 6,641,139 msg/sec std::mutex, 5,s: 3,316,372 msg/sec std::mutex, 5,i: 3,415,605 msg/sec std::mutex, 6,s: 2,997,929 msg/sec std::mutex, 6,i: 2,983pthread_spinlock: producers: 5: consumer 2 received too few messages: 0.06% of expected. ,901 msg/sec std::mutex, 7,s: 3,289,206 msg/sec std::mutex, 7,i: 2,938,366 msg/sec std::mutex, 8,s: 3,441,275 msg/sec std::mutex, 8,i: 2,790,832 msg/sec pthread_spinlock, 1,s: 17,836,986 msg/sec pthread_spinlock, 1,i: 18,104,336 msg/sec pthread_spinlock, 2,s: 7,442,103 msg/sec pthread_spinlock, 2,i: 1,891,213 msg/sec pthread_spinlock, 3,s: 828,777 msg/sec pthread_spinlock, 3,i: 7,340,586 msg/sec pthread_spinlock, 4,s: 1,313,901 msg/sec pthread_spinlock, 4,i: 1,874,712 msg/sec pthread_spinlock, 5,s: 2,759,109 msg/sec pthread_spinlock, 5,i: 3,749,621 msg/sec pthread_spinlock, 6,s: 2,075,128 msg/sec pthread_spinlock, 6,i: 3,130,212 msg/sec pthread_spinlock, 7,s: 2,768,216 msg/sec pthread_spinlock, 7,i: 3,092,343 msg/sec pthread_spinlock, 8,s: 2,994,152 msg/sec pthread_spinlock, 8,i: 2,679,206 msg/sec tbb::spin_mutex, 1,s: 38,365,151 msg/sec tbb::spin_mutex, 1,i: 38,572,664 msg/sec tbb::spin_mutex, 2,s: 16,474,759 msg/sec tbb::spin_mutex, 2,i: 15,850,956 msg/sec tbb::spin_mutex, 3,s: 12,067,000 msg/sec tbb::spin_mutex, 3,i: 11,923,812 msg/sec tbb::spin_mutex, 4,s: 10,329,045 msg/sec tbb::spin_mutex, 4,i: 9,988,219 msg/sec tbb::spin_mutex, 5,s: 5,961,369 msg/sec tbb::spin_mutex, 5,i: 5,547,204 msg/sec tbb::spin_mutex, 6,s: 5,101,563 msg/sec tbb::spin_mutex, 6,i: 4,822,201 msg/sec tbb::spin_mutex, 7,s: 4,433,472 msg/sec tbb::spin_mutex, 7,i: 4,632,911 msg/sec tbb::spin_mutex, 8,s: 4,292,988 msg/sec tbb::spin_mutex, 8,i: 4,107,083 msg/sec Elapsed time 2:40.97, user 1277.72s, system 109.60s, CPU 861%, RSS 60488kB, exit-status 0. 2026-09-14 16:28:25 [17/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip AtomicQueue: 0.000000105 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000090 sec/round-trip AtomicQueue2: 0.000000112 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000295 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000143 sec/round-trip boost::lockfree::queue: 0.000000210 sec/round-trip std::mutex: 0.000000445 sec/round-trip pthread_spinlock: 0.000000229 sec/round-trip tbb::spin_mutex: 0.000000202 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,085,430 msg/sec boost::lockfree::spsc_queue, 1,i: 113,052,309 msg/sec AtomicQueue, 1,s: 148,782,685 msg/sec AtomicQueue, 1,i: 144,061,579 msg/sec AtomicQueue, 2,s: 9,884,148 msg/sec AtomicQueue, 2,i: 10,338,644 msg/sec AtomicQueue, 3,s: 8,359,212 msg/sec AtomicQueue, 3,i: 8,824,249 msg/sec AtomicQueue, 4,s: 6,611,200 msg/sec AtomicQueue, 4,i: 7,015,836 msg/sec AtomicQueue, 5,s: 3,150,345 msg/sec AtomicQueue, 5,i: 4,319,947 msg/sec AtomicQueue, 6,s: 2,598,279 msg/sec AtomicQueue, 6,i: 4,033,380 msg/sec AtomicQueue, 7,s: 2,972,183 msg/sec AtomicQueue, 7,i: 3,217,074 msg/sec AtomicQueue, 8,s: 3,122,529 msg/sec AtomicQueue, 8,i: 2,894,138 msg/sec OptimistAtomicQueue, 1,s: 1,196,048,296 msg/sec OptimistAtomicQueue, 1,i: 1,200,326,409 msg/sec OptimistAtomicQueue, 2,s: 53,414,275 msg/sec OptimistAtomicQueue, 2,i: 52,739,194 msg/sec OptimistAtomicQueue, 3,s: 58,707,186 msg/sec OptimistAtomicQueue, 3,i: 59,438,557 msg/sec OptimistAtomicQueue, 4,s: 59,241,010 msg/sec OptimistAtomicQueue, 4,i: 66,220,525 msg/sec OptimistAtomicQueue, 5,s: 33,188,060 msg/sec OptimistAtomicQueue, 5,i: 43,876,867 msg/sec OptimistAtomicQueue, 6,s: 34,600,706 msg/sec OptimistAtomicQueue, 6,i: 35,199,903 msg/sec OptimistAtomicQueue, 7,s: 40,002,462 msg/sec OptimistAtomicQueue, 7,i: 40,016,932 msg/sec OptimistAtomicQueue, 8,s: 50,549,097 msg/sec OptimistAtomicQueue, 8,i: 41,264,028 msg/sec AtomicQueueB, 1,s: 51,014,884 msg/sec AtomicQueueB, 1,i: 50,649,739 msg/sec AtomicQueueB, 2,s: 9,643,386 msg/sec AtomicQueueB, 2,i: 10,170,374 msg/sec AtomicQueueB, 3,s: 8,194,931 msg/sec AtomicQueueB, 3,i: 8,704,623 msg/sec AtomicQueueB, 4,s: 6,552,872 msg/sec AtomicQueueB, 4,i: 6,908,518 msg/sec AtomicQueueB, 5,s: 3,093,785 msg/sec AtomicQueueB, 5,i: 4,320,429 msg/sec AtomicQueueB, 6,s: 2,604,226 msg/sec AtomicQueueB, 6,i: 3,999,451 msg/sec AtomicQueueB, 7,s: 2,925,008 msg/sec AtomicQueueB, 7,i: 3,203,440 msg/sec AtomicQueueB, 8,s: 3,062,213 msg/sec AtomicQueueB, 8,i: 2,887,361 msg/sec OptimistAtomicQueueB, 1,s: 721,042,267 msg/sec OptimistAtomicQueueB, 1,i: 707,543,577 msg/sec OptimistAtomicQueueB, 2,s: 52,534,561 msg/sec OptimistAtomicQueueB, 2,i: 48,776,307 msg/sec OptimistAtomicQueueB, 3,s: 58,551,305 msg/sec OptimistAtomicQueueB, 3,i: 56,965,923 msg/sec OptimistAtomicQueueB, 4,s: 59,442,042 msg/sec OptimistAtomicQueueB, 4,i: 65,079,928 msg/sec OptimistAtomicQueueB, 5,s: 33,055,901 msg/sec OptimistAtomicQueueB, 5,i: 40,220,157 msg/sec OptimistAtomicQueueB, 6,s: 34,408,709 msg/sec OptimistAtomicQueueB, 6,i: 34,943,540 msg/sec OptimistAtomicQueueB, 7,s: 39,098,755 msg/sec OptimistAtomicQueueB, 7,i: 39,985,891 msg/sec OptimistAtomicQueueB, 8,s: 51,456,351 msg/sec OptimistAtomicQueueB, 8,i: 41,218,651 msg/sec AtomicQueue2, 1,s: 134,594,168 msg/sec AtomicQueue2, 1,i: 126,966,877 msg/sec AtomicQueue2, 2,s: 9,954,521 msg/sec AtomicQueue2, 2,i: 10,518,211 msg/sec AtomicQueue2, 3,s: 8,414,079 msg/sec AtomicQueue2, 3,i: 8,924,522 msg/sec AtomicQueue2, 4,s: 6,675,071 msg/sec AtomicQueue2, 4,i: 7,081,194 msg/sec AtomicQueue2, 5,s: 3,131,211 msg/sec AtomicQueue2, 5,i: 4,284,636 msg/sec AtomicQueue2, 6,s: 2,570,370 msg/sec AtomicQueue2, 6,i: 3,476,398 msg/sec AtomicQueue2, 7,s: 2,901,733 msg/sec AtomicQueue2, 7,i: 3,211,679 msg/sec AtomicQueue2, 8,s: 3,013,159 msg/sec AtomicQueue2, 8,i: 2,912,000 msg/sec OptimistAtomicQueue2, 1,s: 107,483,541 msg/sec OptimistAtomicQueue2, 1,i: 107,395,238 msg/sec OptimistAtomicQueue2, 2,s: 43,494,491 msg/sec OptimistAtomicQueue2, 2,i: 47,775,033 msg/sec OptimistAtomicQueue2, 3,s: 55,328,436 msg/sec OptimistAtomicQueue2, 3,i: 50,076,537 msg/sec OptimistAtomicQueue2, 4,s: 59,126,125 msg/sec OptimistAtomicQueue2, 4,i: 57,952,578 msg/sec OptimistAtomicQueue2, 5,s: 31,492,499 msg/sec OptimistAtomicQueue2, 5,i: 32,712,819 msg/sec OptimistAtomicQueue2, 6,s: 32,969,719 msg/sec OptimistAtomicQueue2, 6,i: 32,542,285 msg/sec OptimistAtomicQueue2, 7,s: 37,834,142 msg/sec OptimistAtomicQueue2, 7,i: 37,751,262 msg/sec OptimistAtomicQueue2, 8,s: 49,086,354 msg/sec OptimistAtomicQueue2, 8,i: 39,866,274 msg/sec AtomicQueueB2, 1,s: 75,050,973 msg/sec AtomicQueueB2, 1,i: 47,506,656 msg/sec AtomicQueueB2, 2,s: 9,856,395 msg/sec AtomicQueueB2, 2,i: 10,452,682 msg/sec AtomicQueueB2, 3,s: 8,319,706 msg/sec AtomicQueueB2, 3,i: 8,840,370 msg/sec AtomicQueueB2, 4,s: 6,616,956 msg/sec AtomicQueueB2, 4,i: 6,973,863 msg/sec AtomicQueueB2, 5,s: 3,099,676 msg/sec AtomicQueueB2, 5,i: 4,326,964 msg/sec AtomicQueueB2, 6,s: 2,551,448 msg/sec AtomicQueueB2, 6,i: 3,426,849 msg/sec AtomicQueueB2, 7,s: 2,895,374 msg/sec AtomicQueueB2, 7,i: 3,273,233 msg/sec AtomicQueueB2, 8,s: 3,016,094 msg/sec AtomicQueueB2, 8,i: 2,835,020 msg/sec OptimistAtomicQueueB2, 1,s: 150,782,379 msg/sec OptimistAtomicQueueB2, 1,i: 151,630,351 msg/sec OptimistAtomicQueueB2, 2,s: 42,193,367 msg/sec OptimistAtomicQueueB2, 2,i: 46,146,141 msg/sec OptimistAtomicQueueB2, 3,s: 56,908,900 msg/sec OptimistAtomicQueueB2, 3,i: 53,204,770 msg/sec OptimistAtomicQueueB2, 4,s: 58,983,735 msg/sec OptimistAtomicQueueB2, 4,i: 60,023,885 msg/sec OptimistAtomicQueueB2, 5,s: 31,388,147 msg/sec OptimistAtomicQueueB2, 5,i: 31,582,749 msg/sec OptimistAtomicQueueB2, 6,s: 32,894,023 msg/sec OptimistAtomicQueueB2, 6,i: 32,254,015 msg/sec OptimistAtomicQueueB2, 7,s: 37,160,732 msg/sec OptimistAtomicQueueB2, 7,i: 37,059,349 msg/sec OptimistAtomicQueueB2, 8,s: 47,962,764 msg/sec OptimistAtomicQueueB2, 8,i: 38,962,639 msg/sec moodycamel::ReaderWriterQueue, 1,s: 108,185,280 msg/sec moodycamel::ReaderWriterQueue, 1,i: 64,338,158 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,185,029 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,275,397 msg/sec moodycamel::ConcurrentQueue, 2,s: 36,873,180 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,691,352 msg/sec moodycamel::ConcurrentQueue, 3,s: 65,097,682 msg/sec moodycamel::ConcurrentQueue, 3,i: 55,943,352 msg/sec moodycamel::ConcurrentQueue, 4,s: 108,104,350 msg/sec moodycamel::ConcurrentQueue, 4,i: 76,226,348 msg/sec moodycamel::ConcurrentQueue, 5,s: 126,129,991 msg/sec moodycamel::ConcurrentQueue, 5,i: 181,260,366 msg/sec moodycamel::ConcurrentQueue, 6,s: 209,521,622 msg/sec moodycamel::ConcurrentQueue, 6,i: 211,154,971 msg/sec moodycamel::ConcurrentQueue, 7,s: 243,216,069 msg/sec moodycamel::ConcurrentQueue, 7,i: 233,306,102 msg/sec moodycamel::ConcurrentQueue, 8,s: 278,022,631 msg/sec moodycamel::ConcurrentQueue, 8,i: 246,556,428 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,815,221 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,812,001 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,161,516 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,143,832 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,984,251 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,077,409 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,432,308 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,629,625 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,069,565 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,107,632 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,800,243 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,689,385 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,658,655 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,273,908 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,788,120 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,805,828 msg/sec xenium::michael_scott_queue, 1,s: 13,452,064 msg/sec xenium::michael_scott_queue, 1,i: 13,741,912 msg/sec xenium::michael_scott_queue, 2,s: 9,437,293 msg/sec xenium::michael_scott_queue, 2,i: 9,209,786 msg/sec xenium::michael_scott_queue, 3,s: 7,633,354 msg/sec xenium::michael_scott_queue, 3,i: 7,547,812 msg/sec xenium::michael_scott_queue, 4,s: 5,880,134 msg/sec xenium::michael_scott_queue, 4,i: 5,825,706 msg/sec xenium::michael_scott_queue, 5,s: 3,653,100 msg/sec xenium::michael_scott_queue, 5,i: 3,975,103 msg/sec xenium::michael_scott_queue, 6,s: 3,317,322 msg/sec xenium::michael_scott_queue, 6,i: 3,934,357 msg/sec xenium::michael_scott_queue, 7,s: 3,208,221 msg/sec xenium::michael_scott_queue, 7,i: 3,326,059 msg/sec xenium::michael_scott_queue, 8,s: 2,353,437 msg/sec xenium::michael_scott_queue, 8,i: 2,791,775 msg/sec xenium::ramalhete_queue, 1,s: 73,715,864 msg/sec xenium::ramalhete_queue, 1,i: 65,784,474 msg/sec xenium::ramalhete_queue, 2,s: 34,537,529 msg/sec xenium::ramalhete_queue, 2,i: 34,477,528 msg/sec xenium::ramalhete_queue, 3,s: 41,324,217 msg/sec xenium::ramalhete_queue, 3,i: 43,601,932 msg/sec xenium::ramalhete_queue, 4,s: 52,584,450 msg/sec xenium::ramalhete_queue, 4,i: 50,036,147 msg/sec xenium::ramalhete_queue, 5,s: 37,182,644 msg/sec xenium::ramalhete_queue, 5,i: 23,497,306 msg/sec xenium::ramalhete_queue, 6,s: 38,595,295 msg/sec xenium::ramalhete_queue, 6,i: 26,550,741 msg/sec xenium::ramalhete_queue, 7,s: 39,383,804 msg/sec xenium::ramalhete_queue, 7,i: 28,037,672 msg/sec xenium::ramalhete_queue, 8,s: 49,560,851 msg/sec xenium::ramalhete_queue, 8,i: 29,675,168 msg/sec xenium::vyukov_bounded_queue, 1,s: 310,848,606 msg/sec xenium::vyukov_bounded_queue, 1,i: 308,156,028 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,882,327 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,950,565 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,565,313 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,217,561 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,481,792 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,637,523 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,481,330 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,479,572 msg/sec xenium::vyukov_bounded_queue, 6,s: 6,956,921 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,516,815 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,269,252 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,435,626 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,395,597 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,560,595 msg/sec boost::lockfree::queue, 1,s: 7,792,076 msg/sec boost::lockfree::queue, 1,i: 7,855,820 msg/sec boost::lockfree::queue, 2,s: 5,864,909 msg/sec boost::lockfree::queue, 2,i: 5,934,168 msg/sec boost::lockfree::queue, 3,s: 4,946,229 msg/sec boost::lockfree::queue, 3,i: 4,812,873 msg/sec boost::lockfree::queue, 4,s: 4,369,745 msg/sec boost::lockfree::queue, 4,i: 4,364,341 msg/sec boost::lockfree::queue, 5,s: 2,660,240 msg/sec boost::lockfree::queue, 5,i: 2,907,069 msg/sec boost::lockfree::queue, 6,s: 1,436,822 msg/sec boost::lockfree::queue, 6,i: 2,831,777 msg/sec boost::lockfree::queue, 7,s: 1,391,987 msg/sec boost::lockfree::queue, 7,i: 2,898,676 msg/sec boost::lockfree::queue, 8,s: 1,159,055 msg/sec boost::lockfree::queue, 8,i: 1,835,011 msg/sec std::mutex, 1,s: 3,589,362 msg/sec std::mutex, 1,i: 3,564,722 msg/sec std::mutex, 2,s: 13,240,072 msg/sec std::mutex, 2,i: 12,055,482 msg/sec std::mutex, 3,s: 6,783,246 msg/sec std::mutex, 3,i: 6,701,642 msg/sec std::mutex, 4,s: 6,985,390 msg/sec std::mutex, 4,i: 6,792,562 msg/sec std::mutex, 5,s: 3,310,358 msg/sec std::mutex, 5,i: 3,446,913 msg/sec std::mutex, 6,s: 2,985,777 msg/sec std::mutex, 6,i: 2,915pthread_spinlock: producers: 4: consumer 1 received too few messages: 0.05% of expected. ,370 msg/sec std::mutex, 7,s: 3,296,896 msg/sec std::mutex, 7,i: 2,979,792 msg/sec std::mutex, 8,s: 3,471,181 msg/sec std::mutex, 8,i: 2,781,324 msg/sec pthread_spinlock, 1,s: 17,698,394 msg/sec pthread_spinlock, 1,i: 18,028,708 msg/sec pthread_spinlock, 2,s: 7,910,866 msg/sec pthread_spinlock, 2,i: 1,516,440 msg/sec pthread_spinlock, 3,s: 661,853 msg/sec pthread_spinlock, 3,i: 5,929,100 msg/sec pthread_spinlock, 4,s: 2,735,195 msg/sec pthread_spinlock, 4,i: 1,447,219 msg/sec pthread_spinlock, 5,s: 2,921,523 msg/sec pthread_spinlock, 5,i: 929,098 msg/sec pthread_spinlock, 6,s: 2,119,289 msg/sec pthread_spinlock, 6,i: 3,054,658 msg/sec pthread_spinlock, 7,s: 2,792,495 msg/sec pthread_spinlock, 7,i: 3,064,732 msg/sec pthread_spinlock, 8,s: 3,000,653 msg/sec pthread_spinlock, 8,i: 2,669,456 msg/sec tbb::spin_mutex, 1,s: 38,301,790 msg/sec tbb::spin_mutex, 1,i: 38,117,256 msg/sec tbb::spin_mutex, 2,s: 16,543,213 msg/sec tbb::spin_mutex, 2,i: 15,986,410 msg/sec tbb::spin_mutex, 3,s: 12,074,970 msg/sec tbb::spin_mutex, 3,i: 11,959,217 msg/sec tbb::spin_mutex, 4,s: 10,286,040 msg/sec tbb::spin_mutex, 4,i: 9,980,365 msg/sec tbb::spin_mutex, 5,s: 5,976,511 msg/sec tbb::spin_mutex, 5,i: 5,615,425 msg/sec tbb::spin_mutex, 6,s: 5,126,198 msg/sec tbb::spin_mutex, 6,i: 4,853,320 msg/sec tbb::spin_mutex, 7,s: 4,412,794 msg/sec tbb::spin_mutex, 7,i: 4,679,755 msg/sec tbb::spin_mutex, 8,s: 4,296,194 msg/sec tbb::spin_mutex, 8,i: 4,086,676 msg/sec Elapsed time 2:42.63, user 1284.99s, system 110.82s, CPU 858%, RSS 57384kB, exit-status 0. 2026-09-14 16:31:07 [18/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip AtomicQueue: 0.000000102 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000120 sec/round-trip OptimistAtomicQueueB: 0.000000091 sec/round-trip AtomicQueue2: 0.000000116 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000167 sec/round-trip tbb::concurrent_bounded_queue: 0.000000297 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000140 sec/round-trip boost::lockfree::queue: 0.000000210 sec/round-trip std::mutex: 0.000000442 sec/round-trip pthread_spinlock: 0.000000230 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,697,107 msg/sec boost::lockfree::spsc_queue, 1,i: 112,942,631 msg/sec AtomicQueue, 1,s: 123,941,316 msg/sec AtomicQueue, 1,i: 145,114,556 msg/sec AtomicQueue, 2,s: 9,883,302 msg/sec AtomicQueue, 2,i: 10,347,138 msg/sec AtomicQueue, 3,s: 8,358,943 msg/sec AtomicQueue, 3,i: 8,798,199 msg/sec AtomicQueue, 4,s: 6,611,236 msg/sec AtomicQueue, 4,i: 7,009,840 msg/sec AtomicQueue, 5,s: 3,168,154 msg/sec AtomicQueue, 5,i: 3,745,690 msg/sec AtomicQueue, 6,s: 2,599,960 msg/sec AtomicQueue, 6,i: 4,026,706 msg/sec AtomicQueue, 7,s: 2,964,639 msg/sec AtomicQueue, 7,i: 3,218,475 msg/sec AtomicQueue, 8,s: 3,118,538 msg/sec AtomicQueue, 8,i: 2,890,774 msg/sec OptimistAtomicQueue, 1,s: 1,192,241,042 msg/sec OptimistAtomicQueue, 1,i: 1,195,504,957 msg/sec OptimistAtomicQueue, 2,s: 56,580,172 msg/sec OptimistAtomicQueue, 2,i: 52,335,974 msg/sec OptimistAtomicQueue, 3,s: 58,754,440 msg/sec OptimistAtomicQueue, 3,i: 59,483,351 msg/sec OptimistAtomicQueue, 4,s: 59,305,829 msg/sec OptimistAtomicQueue, 4,i: 66,212,195 msg/sec OptimistAtomicQueue, 5,s: 33,241,311 msg/sec OptimistAtomicQueue, 5,i: 42,636,224 msg/sec OptimistAtomicQueue, 6,s: 34,478,417 msg/sec OptimistAtomicQueue, 6,i: 35,122,722 msg/sec OptimistAtomicQueue, 7,s: 40,163,893 msg/sec OptimistAtomicQueue, 7,i: 39,990,576 msg/sec OptimistAtomicQueue, 8,s: 50,462,193 msg/sec OptimistAtomicQueue, 8,i: 41,142,645 msg/sec AtomicQueueB, 1,s: 49,656,656 msg/sec AtomicQueueB, 1,i: 50,394,931 msg/sec AtomicQueueB, 2,s: 9,717,858 msg/sec AtomicQueueB, 2,i: 9,924,945 msg/sec AtomicQueueB, 3,s: 8,200,970 msg/sec AtomicQueueB, 3,i: 8,648,953 msg/sec AtomicQueueB, 4,s: 6,539,615 msg/sec AtomicQueueB, 4,i: 6,901,701 msg/sec AtomicQueueB, 5,s: 3,123,235 msg/sec AtomicQueueB, 5,i: 3,776,816 msg/sec AtomicQueueB, 6,s: 2,606,990 msg/sec AtomicQueueB, 6,i: 3,968,405 msg/sec AtomicQueueB, 7,s: 2,915,188 msg/sec AtomicQueueB, 7,i: 3,183,903 msg/sec AtomicQueueB, 8,s: 3,057,328 msg/sec AtomicQueueB, 8,i: 2,876,280 msg/sec OptimistAtomicQueueB, 1,s: 521,793,637 msg/sec OptimistAtomicQueueB, 1,i: 513,577,554 msg/sec OptimistAtomicQueueB, 2,s: 50,191,774 msg/sec OptimistAtomicQueueB, 2,i: 49,367,786 msg/sec OptimistAtomicQueueB, 3,s: 58,621,529 msg/sec OptimistAtomicQueueB, 3,i: 57,022,020 msg/sec OptimistAtomicQueueB, 4,s: 59,636,439 msg/sec OptimistAtomicQueueB, 4,i: 66,139,414 msg/sec OptimistAtomicQueueB, 5,s: 33,066,449 msg/sec OptimistAtomicQueueB, 5,i: 40,055,032 msg/sec OptimistAtomicQueueB, 6,s: 34,358,230 msg/sec OptimistAtomicQueueB, 6,i: 34,912,980 msg/sec OptimistAtomicQueueB, 7,s: 39,146,339 msg/sec OptimistAtomicQueueB, 7,i: 40,042,473 msg/sec OptimistAtomicQueueB, 8,s: 51,499,704 msg/sec OptimistAtomicQueueB, 8,i: 41,215,780 msg/sec AtomicQueue2, 1,s: 135,572,560 msg/sec AtomicQueue2, 1,i: 129,969,970 msg/sec AtomicQueue2, 2,s: 9,968,056 msg/sec AtomicQueue2, 2,i: 10,540,884 msg/sec AtomicQueue2, 3,s: 8,417,233 msg/sec AtomicQueue2, 3,i: 8,922,638 msg/sec AtomicQueue2, 4,s: 6,684,627 msg/sec AtomicQueue2, 4,i: 7,085,342 msg/sec AtomicQueue2, 5,s: 3,140,496 msg/sec AtomicQueue2, 5,i: 4,275,857 msg/sec AtomicQueue2, 6,s: 2,567,180 msg/sec AtomicQueue2, 6,i: 3,978,751 msg/sec AtomicQueue2, 7,s: 2,901,130 msg/sec AtomicQueue2, 7,i: 3,211,129 msg/sec AtomicQueue2, 8,s: 3,007,225 msg/sec AtomicQueue2, 8,i: 2,897,633 msg/sec OptimistAtomicQueue2, 1,s: 107,082,443 msg/sec OptimistAtomicQueue2, 1,i: 107,294,070 msg/sec OptimistAtomicQueue2, 2,s: 43,447,098 msg/sec OptimistAtomicQueue2, 2,i: 47,244,983 msg/sec OptimistAtomicQueue2, 3,s: 55,955,279 msg/sec OptimistAtomicQueue2, 3,i: 50,066,533 msg/sec OptimistAtomicQueue2, 4,s: 59,036,106 msg/sec OptimistAtomicQueue2, 4,i: 58,035,683 msg/sec OptimistAtomicQueue2, 5,s: 31,421,383 msg/sec OptimistAtomicQueue2, 5,i: 34,175,424 msg/sec OptimistAtomicQueue2, 6,s: 32,876,591 msg/sec OptimistAtomicQueue2, 6,i: 32,461,707 msg/sec OptimistAtomicQueue2, 7,s: 37,751,974 msg/sec OptimistAtomicQueue2, 7,i: 37,832,611 msg/sec OptimistAtomicQueue2, 8,s: 49,014,682 msg/sec OptimistAtomicQueue2, 8,i: 39,922,247 msg/sec AtomicQueueB2, 1,s: 70,608,533 msg/sec AtomicQueueB2, 1,i: 72,299,034 msg/sec AtomicQueueB2, 2,s: 9,857,406 msg/sec AtomicQueueB2, 2,i: 10,418,244 msg/sec AtomicQueueB2, 3,s: 8,319,324 msg/sec AtomicQueueB2, 3,i: 8,845,051 msg/sec AtomicQueueB2, 4,s: 6,616,694 msg/sec AtomicQueueB2, 4,i: 6,979,720 msg/sec AtomicQueueB2, 5,s: 3,084,386 msg/sec AtomicQueueB2, 5,i: 4,322,821 msg/sec AtomicQueueB2, 6,s: 2,552,878 msg/sec AtomicQueueB2, 6,i: 3,465,715 msg/sec AtomicQueueB2, 7,s: 2,894,611 msg/sec AtomicQueueB2, 7,i: 3,179,202 msg/sec AtomicQueueB2, 8,s: 3,014,041 msg/sec AtomicQueueB2, 8,i: 2,836,329 msg/sec OptimistAtomicQueueB2, 1,s: 150,476,763 msg/sec OptimistAtomicQueueB2, 1,i: 151,022,840 msg/sec OptimistAtomicQueueB2, 2,s: 42,165,418 msg/sec OptimistAtomicQueueB2, 2,i: 46,063,349 msg/sec OptimistAtomicQueueB2, 3,s: 56,868,350 msg/sec OptimistAtomicQueueB2, 3,i: 53,143,077 msg/sec OptimistAtomicQueueB2, 4,s: 59,002,040 msg/sec OptimistAtomicQueueB2, 4,i: 59,948,179 msg/sec OptimistAtomicQueueB2, 5,s: 31,306,305 msg/sec OptimistAtomicQueueB2, 5,i: 31,513,568 msg/sec OptimistAtomicQueueB2, 6,s: 33,061,923 msg/sec OptimistAtomicQueueB2, 6,i: 32,306,771 msg/sec OptimistAtomicQueueB2, 7,s: 37,191,108 msg/sec OptimistAtomicQueueB2, 7,i: 37,043,713 msg/sec OptimistAtomicQueueB2, 8,s: 48,012,711 msg/sec OptimistAtomicQueueB2, 8,i: 38,976,124 msg/sec moodycamel::ReaderWriterQueue, 1,s: 110,021,095 msg/sec moodycamel::ReaderWriterQueue, 1,i: 77,287,347 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,071,715 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,141,545 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,563,629 msg/sec moodycamel::ConcurrentQueue, 2,i: 39,281,790 msg/sec moodycamel::ConcurrentQueue, 3,s: 62,704,603 msg/sec moodycamel::ConcurrentQueue, 3,i: 60,510,398 msg/sec moodycamel::ConcurrentQueue, 4,s: 106,115,470 msg/sec moodycamel::ConcurrentQueue, 4,i: 75,455,185 msg/sec moodycamel::ConcurrentQueue, 5,s: 82,079,840 msg/sec moodycamel::ConcurrentQueue, 5,i: 183,345,026 msg/sec moodycamel::ConcurrentQueue, 6,s: 212,078,335 msg/sec moodycamel::ConcurrentQueue, 6,i: 216,980,362 msg/sec moodycamel::ConcurrentQueue, 7,s: 222,041,769 msg/sec moodycamel::ConcurrentQueue, 7,i: 236,046,344 msg/sec moodycamel::ConcurrentQueue, 8,s: 274,803,162 msg/sec moodycamel::ConcurrentQueue, 8,i: 247,589,276 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,786,535 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,833,411 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,148,308 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,146,180 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,983,621 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,071,565 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,413,839 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,627,380 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,064,533 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,634,367 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,795,172 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,393,346 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,663,339 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,263,083 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,783,139 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,819,166 msg/sec xenium::michael_scott_queue, 1,s: 13,401,954 msg/sec xenium::michael_scott_queue, 1,i: 13,761,390 msg/sec xenium::michael_scott_queue, 2,s: 9,439,489 msg/sec xenium::michael_scott_queue, 2,i: 9,190,053 msg/sec xenium::michael_scott_queue, 3,s: 7,645,986 msg/sec xenium::michael_scott_queue, 3,i: 7,546,578 msg/sec xenium::michael_scott_queue, 4,s: 5,872,475 msg/sec xenium::michael_scott_queue, 4,i: 5,803,583 msg/sec xenium::michael_scott_queue, 5,s: 3,630,598 msg/sec xenium::michael_scott_queue, 5,i: 3,937,981 msg/sec xenium::michael_scott_queue, 6,s: 3,409,086 msg/sec xenium::michael_scott_queue, 6,i: 3,930,157 msg/sec xenium::michael_scott_queue, 7,s: 3,162,980 msg/sec xenium::michael_scott_queue, 7,i: 3,317,431 msg/sec xenium::michael_scott_queue, 8,s: 2,354,535 msg/sec xenium::michael_scott_queue, 8,i: 2,787,613 msg/sec xenium::ramalhete_queue, 1,s: 74,150,734 msg/sec xenium::ramalhete_queue, 1,i: 48,347,174 msg/sec xenium::ramalhete_queue, 2,s: 49,598,631 msg/sec xenium::ramalhete_queue, 2,i: 35,091,556 msg/sec xenium::ramalhete_queue, 3,s: 45,631,463 msg/sec xenium::ramalhete_queue, 3,i: 43,024,754 msg/sec xenium::ramalhete_queue, 4,s: 52,754,440 msg/sec xenium::ramalhete_queue, 4,i: 49,433,603 msg/sec xenium::ramalhete_queue, 5,s: 37,053,785 msg/sec xenium::ramalhete_queue, 5,i: 23,393,041 msg/sec xenium::ramalhete_queue, 6,s: 38,816,819 msg/sec xenium::ramalhete_queue, 6,i: 26,688,531 msg/sec xenium::ramalhete_queue, 7,s: 39,593,513 msg/sec xenium::ramalhete_queue, 7,i: 28,294,074 msg/sec xenium::ramalhete_queue, 8,s: 50,007,173 msg/sec xenium::ramalhete_queue, 8,i: 30,130,190 msg/sec xenium::vyukov_bounded_queue, 1,s: 315,841,850 msg/sec xenium::vyukov_bounded_queue, 1,i: 312,619,125 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,324,768 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,596,021 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,582,864 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,529,708 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,820,078 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,512,125 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,083,410 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,560,464 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,114,375 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,822,857 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,154,637 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,383,760 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,339,956 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,564,698 msg/sec boost::lockfree::queue, 1,s: 7,748,791 msg/sec boost::lockfree::queue, 1,i: 7,867,626 msg/sec boost::lockfree::queue, 2,s: 5,841,352 msg/sec boost::lockfree::queue, 2,i: 5,902,734 msg/sec boost::lockfree::queue, 3,s: 4,949,893 msg/sec boost::lockfree::queue, 3,i: 4,803,237 msg/sec boost::lockfree::queue, 4,s: 4,365,268 msg/sec boost::lockfree::queue, 4,i: 4,358,695 msg/sec boost::lockfree::queue, 5,s: 2,653,988 msg/sec boost::lockfree::queue, 5,i: 2,645,556 msg/sec boost::lockfree::queue, 6,s: 1,436,627 msg/sec boost::lockfree::queue, 6,i: 3,005,804 msg/sec boost::lockfree::queue, 7,s: 1,383,503 msg/sec boost::lockfree::queue, 7,i: 2,898,198 msg/sec boost::lockfree::queue, 8,s: 1,155,803 msg/sec boost::lockfree::queue, 8,i: 1,822,630 msg/sec std::mutex, 1,s: 5,933,545 msg/sec std::mutex, 1,i: 5,837,836 msg/sec std::mutex, 2,s: 14,200,414 msg/sec std::mutex, 2,i: 13,112,285 msg/sec std::mutex, 3,s: 7,209,791 msg/sec std::mutex, 3,i: 6,962,624 msg/sec std::mutex, 4,s: 7,071,554 msg/sec std::mutex, 4,i: 6,629,234 msg/sec std::mutex, 5,s: 3,436,663 msg/sec std::mutex, 5,i: 3,350,577 msg/sec std::mutex, 6,s: 2,984,664 msg/sec std::mutex, 6,i: 2,905pthread_spinlock: producers: 5: consumer 3 received too few messages: 0.06% of expected. ,984 msg/sec std::mutex, 7,s: 3,242,264 msg/sec std::mutex, 7,i: 2,896,310 msg/sec std::mutex, 8,s: 3,456,456 msg/sec std::mutex, 8,i: 2,827,701 msg/sec pthread_spinlock, 1,s: 17,900,155 msg/sec pthread_spinlock, 1,i: 18,079,412 msg/sec pthread_spinlock, 2,s: 6,830,236 msg/sec pthread_spinlock, 2,i: 1,544,999 msg/sec pthread_spinlock, 3,s: 869,640 msg/sec pthread_spinlock, 3,i: 5,870,147 msg/sec pthread_spinlock, 4,s: 2,298,629 msg/sec pthread_spinlock, 4,i: 1,213,753 msg/sec pthread_spinlock, 5,s: 2,792,836 msg/sec pthread_spinlock, 5,i: 3,687,682 msg/sec pthread_spinlock, 6,s: 1,971,171 msg/sec pthread_spinlock, 6,i: 3,177,438 msg/sec pthread_spinlock, 7,s: 2,862,205 msg/sec pthread_spinlock, 7,i: 3,055,140 msg/sec pthread_spinlock, 8,s: 2,968,876 msg/sec pthread_spinlock, 8,i: 2,706,454 msg/sec tbb::spin_mutex, 1,s: 38,292,667 msg/sec tbb::spin_mutex, 1,i: 38,629,701 msg/sec tbb::spin_mutex, 2,s: 16,541,149 msg/sec tbb::spin_mutex, 2,i: 15,962,790 msg/sec tbb::spin_mutex, 3,s: 12,075,195 msg/sec tbb::spin_mutex, 3,i: 11,933,590 msg/sec tbb::spin_mutex, 4,s: 10,309,153 msg/sec tbb::spin_mutex, 4,i: 9,994,606 msg/sec tbb::spin_mutex, 5,s: 5,980,876 msg/sec tbb::spin_mutex, 5,i: 5,527,070 msg/sec tbb::spin_mutex, 6,s: 5,111,692 msg/sec tbb::spin_mutex, 6,i: 4,738,643 msg/sec tbb::spin_mutex, 7,s: 4,410,105 msg/sec tbb::spin_mutex, 7,i: 4,632,671 msg/sec tbb::spin_mutex, 8,s: 4,281,594 msg/sec tbb::spin_mutex, 8,i: 4,060,307 msg/sec Elapsed time 2:41.60, user 1282.32s, system 110.13s, CPU 861%, RSS 58152kB, exit-status 0. 2026-09-14 16:33:49 [19/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000094 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000082 sec/round-trip AtomicQueue2: 0.000000106 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000293 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000135 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000447 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000202 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 118,285,889 msg/sec boost::lockfree::spsc_queue, 1,i: 112,344,261 msg/sec AtomicQueue, 1,s: 145,616,617 msg/sec AtomicQueue, 1,i: 130,222,823 msg/sec AtomicQueue, 2,s: 9,888,225 msg/sec AtomicQueue, 2,i: 10,325,523 msg/sec AtomicQueue, 3,s: 8,355,059 msg/sec AtomicQueue, 3,i: 8,791,467 msg/sec AtomicQueue, 4,s: 6,599,890 msg/sec AtomicQueue, 4,i: 7,012,038 msg/sec AtomicQueue, 5,s: 3,156,318 msg/sec AtomicQueue, 5,i: 4,319,420 msg/sec AtomicQueue, 6,s: 2,599,018 msg/sec AtomicQueue, 6,i: 3,537,547 msg/sec AtomicQueue, 7,s: 2,958,897 msg/sec AtomicQueue, 7,i: 3,246,094 msg/sec AtomicQueue, 8,s: 3,115,809 msg/sec AtomicQueue, 8,i: 2,896,843 msg/sec OptimistAtomicQueue, 1,s: 1,197,709,972 msg/sec OptimistAtomicQueue, 1,i: 1,194,391,225 msg/sec OptimistAtomicQueue, 2,s: 51,846,376 msg/sec OptimistAtomicQueue, 2,i: 52,508,025 msg/sec OptimistAtomicQueue, 3,s: 58,717,423 msg/sec OptimistAtomicQueue, 3,i: 59,838,569 msg/sec OptimistAtomicQueue, 4,s: 59,176,683 msg/sec OptimistAtomicQueue, 4,i: 66,240,220 msg/sec OptimistAtomicQueue, 5,s: 33,256,909 msg/sec OptimistAtomicQueue, 5,i: 45,879,807 msg/sec OptimistAtomicQueue, 6,s: 34,547,466 msg/sec OptimistAtomicQueue, 6,i: 35,217,232 msg/sec OptimistAtomicQueue, 7,s: 40,162,635 msg/sec OptimistAtomicQueue, 7,i: 40,010,464 msg/sec OptimistAtomicQueue, 8,s: 50,539,951 msg/sec OptimistAtomicQueue, 8,i: 41,250,836 msg/sec AtomicQueueB, 1,s: 50,026,510 msg/sec AtomicQueueB, 1,i: 50,140,336 msg/sec AtomicQueueB, 2,s: 9,532,459 msg/sec AtomicQueueB, 2,i: 9,917,668 msg/sec AtomicQueueB, 3,s: 8,185,538 msg/sec AtomicQueueB, 3,i: 8,656,839 msg/sec AtomicQueueB, 4,s: 6,555,690 msg/sec AtomicQueueB, 4,i: 6,912,500 msg/sec AtomicQueueB, 5,s: 3,158,689 msg/sec AtomicQueueB, 5,i: 4,375,285 msg/sec AtomicQueueB, 6,s: 2,607,634 msg/sec AtomicQueueB, 6,i: 3,969,124 msg/sec AtomicQueueB, 7,s: 2,908,071 msg/sec AtomicQueueB, 7,i: 3,216,217 msg/sec AtomicQueueB, 8,s: 3,055,925 msg/sec AtomicQueueB, 8,i: 2,860,308 msg/sec OptimistAtomicQueueB, 1,s: 517,655,676 msg/sec OptimistAtomicQueueB, 1,i: 716,521,772 msg/sec OptimistAtomicQueueB, 2,s: 47,530,071 msg/sec OptimistAtomicQueueB, 2,i: 48,843,871 msg/sec OptimistAtomicQueueB, 3,s: 58,597,244 msg/sec OptimistAtomicQueueB, 3,i: 57,429,352 msg/sec OptimistAtomicQueueB, 4,s: 59,424,486 msg/sec OptimistAtomicQueueB, 4,i: 65,066,336 msg/sec OptimistAtomicQueueB, 5,s: 33,057,518 msg/sec OptimistAtomicQueueB, 5,i: 36,432,841 msg/sec OptimistAtomicQueueB, 6,s: 34,323,995 msg/sec OptimistAtomicQueueB, 6,i: 34,897,142 msg/sec OptimistAtomicQueueB, 7,s: 39,400,671 msg/sec OptimistAtomicQueueB, 7,i: 39,301,168 msg/sec OptimistAtomicQueueB, 8,s: 51,487,533 msg/sec OptimistAtomicQueueB, 8,i: 41,221,488 msg/sec AtomicQueue2, 1,s: 134,785,554 msg/sec AtomicQueue2, 1,i: 120,035,955 msg/sec AtomicQueue2, 2,s: 9,962,945 msg/sec AtomicQueue2, 2,i: 10,529,160 msg/sec AtomicQueue2, 3,s: 8,419,301 msg/sec AtomicQueue2, 3,i: 8,931,209 msg/sec AtomicQueue2, 4,s: 6,678,957 msg/sec AtomicQueue2, 4,i: 7,095,286 msg/sec AtomicQueue2, 5,s: 3,139,278 msg/sec AtomicQueue2, 5,i: 4,287,208 msg/sec AtomicQueue2, 6,s: 2,566,775 msg/sec AtomicQueue2, 6,i: 3,975,857 msg/sec AtomicQueue2, 7,s: 2,904,209 msg/sec AtomicQueue2, 7,i: 3,211,120 msg/sec AtomicQueue2, 8,s: 3,021,432 msg/sec AtomicQueue2, 8,i: 2,883,071 msg/sec OptimistAtomicQueue2, 1,s: 107,254,369 msg/sec OptimistAtomicQueue2, 1,i: 107,067,653 msg/sec OptimistAtomicQueue2, 2,s: 43,511,428 msg/sec OptimistAtomicQueue2, 2,i: 47,142,110 msg/sec OptimistAtomicQueue2, 3,s: 55,562,683 msg/sec OptimistAtomicQueue2, 3,i: 50,020,755 msg/sec OptimistAtomicQueue2, 4,s: 59,228,730 msg/sec OptimistAtomicQueue2, 4,i: 58,056,842 msg/sec OptimistAtomicQueue2, 5,s: 31,483,735 msg/sec OptimistAtomicQueue2, 5,i: 34,098,584 msg/sec OptimistAtomicQueue2, 6,s: 32,934,344 msg/sec OptimistAtomicQueue2, 6,i: 32,141,155 msg/sec OptimistAtomicQueue2, 7,s: 37,751,034 msg/sec OptimistAtomicQueue2, 7,i: 37,766,516 msg/sec OptimistAtomicQueue2, 8,s: 48,976,419 msg/sec OptimistAtomicQueue2, 8,i: 39,839,338 msg/sec AtomicQueueB2, 1,s: 73,421,334 msg/sec AtomicQueueB2, 1,i: 70,900,736 msg/sec AtomicQueueB2, 2,s: 9,857,862 msg/sec AtomicQueueB2, 2,i: 10,433,735 msg/sec AtomicQueueB2, 3,s: 8,322,708 msg/sec AtomicQueueB2, 3,i: 8,840,553 msg/sec AtomicQueueB2, 4,s: 6,615,322 msg/sec AtomicQueueB2, 4,i: 6,984,145 msg/sec AtomicQueueB2, 5,s: 3,087,856 msg/sec AtomicQueueB2, 5,i: 4,329,387 msg/sec AtomicQueueB2, 6,s: 2,550,685 msg/sec AtomicQueueB2, 6,i: 3,469,091 msg/sec AtomicQueueB2, 7,s: 2,893,436 msg/sec AtomicQueueB2, 7,i: 3,185,438 msg/sec AtomicQueueB2, 8,s: 3,012,004 msg/sec AtomicQueueB2, 8,i: 2,838,235 msg/sec OptimistAtomicQueueB2, 1,s: 151,314,423 msg/sec OptimistAtomicQueueB2, 1,i: 150,883,844 msg/sec OptimistAtomicQueueB2, 2,s: 42,042,005 msg/sec OptimistAtomicQueueB2, 2,i: 46,036,546 msg/sec OptimistAtomicQueueB2, 3,s: 56,876,792 msg/sec OptimistAtomicQueueB2, 3,i: 53,148,104 msg/sec OptimistAtomicQueueB2, 4,s: 58,916,181 msg/sec OptimistAtomicQueueB2, 4,i: 59,907,813 msg/sec OptimistAtomicQueueB2, 5,s: 31,323,554 msg/sec OptimistAtomicQueueB2, 5,i: 31,487,849 msg/sec OptimistAtomicQueueB2, 6,s: 32,981,561 msg/sec OptimistAtomicQueueB2, 6,i: 32,285,244 msg/sec OptimistAtomicQueueB2, 7,s: 37,211,479 msg/sec OptimistAtomicQueueB2, 7,i: 37,031,176 msg/sec OptimistAtomicQueueB2, 8,s: 47,947,839 msg/sec OptimistAtomicQueueB2, 8,i: 38,978,190 msg/sec moodycamel::ReaderWriterQueue, 1,s: 89,693,029 msg/sec moodycamel::ReaderWriterQueue, 1,i: 123,070,062 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,079,178 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,198,908 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,534,619 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,491,732 msg/sec moodycamel::ConcurrentQueue, 3,s: 51,153,055 msg/sec moodycamel::ConcurrentQueue, 3,i: 49,494,941 msg/sec moodycamel::ConcurrentQueue, 4,s: 107,596,758 msg/sec moodycamel::ConcurrentQueue, 4,i: 98,068,010 msg/sec moodycamel::ConcurrentQueue, 5,s: 115,321,397 msg/sec moodycamel::ConcurrentQueue, 5,i: 172,828,930 msg/sec moodycamel::ConcurrentQueue, 6,s: 184,447,475 msg/sec moodycamel::ConcurrentQueue, 6,i: 145,131,273 msg/sec moodycamel::ConcurrentQueue, 7,s: 239,410,386 msg/sec moodycamel::ConcurrentQueue, 7,i: 187,914,491 msg/sec moodycamel::ConcurrentQueue, 8,s: 246,129,825 msg/sec moodycamel::ConcurrentQueue, 8,i: 242,069,526 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,816,404 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,820,896 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,150,664 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,137,243 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,982,848 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,082,365 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,421,530 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,628,955 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,066,561 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,631,247 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,797,102 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,447,424 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,661,060 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,274,889 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,792,750 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,801,745 msg/sec xenium::michael_scott_queue, 1,s: 13,406,334 msg/sec xenium::michael_scott_queue, 1,i: 13,721,816 msg/sec xenium::michael_scott_queue, 2,s: 9,490,027 msg/sec xenium::michael_scott_queue, 2,i: 9,168,065 msg/sec xenium::michael_scott_queue, 3,s: 7,645,622 msg/sec xenium::michael_scott_queue, 3,i: 7,557,193 msg/sec xenium::michael_scott_queue, 4,s: 5,849,885 msg/sec xenium::michael_scott_queue, 4,i: 5,830,278 msg/sec xenium::michael_scott_queue, 5,s: 3,610,787 msg/sec xenium::michael_scott_queue, 5,i: 3,927,901 msg/sec xenium::michael_scott_queue, 6,s: 3,314,833 msg/sec xenium::michael_scott_queue, 6,i: 3,929,822 msg/sec xenium::michael_scott_queue, 7,s: 3,186,946 msg/sec xenium::michael_scott_queue, 7,i: 3,266,467 msg/sec xenium::michael_scott_queue, 8,s: 2,351,261 msg/sec xenium::michael_scott_queue, 8,i: 2,795,962 msg/sec xenium::ramalhete_queue, 1,s: 77,014,504 msg/sec xenium::ramalhete_queue, 1,i: 76,759,779 msg/sec xenium::ramalhete_queue, 2,s: 44,050,019 msg/sec xenium::ramalhete_queue, 2,i: 46,976,840 msg/sec xenium::ramalhete_queue, 3,s: 38,917,592 msg/sec xenium::ramalhete_queue, 3,i: 41,530,000 msg/sec xenium::ramalhete_queue, 4,s: 48,803,920 msg/sec xenium::ramalhete_queue, 4,i: 52,103,513 msg/sec xenium::ramalhete_queue, 5,s: 37,342,566 msg/sec xenium::ramalhete_queue, 5,i: 23,896,644 msg/sec xenium::ramalhete_queue, 6,s: 38,908,416 msg/sec xenium::ramalhete_queue, 6,i: 26,517,292 msg/sec xenium::ramalhete_queue, 7,s: 39,564,377 msg/sec xenium::ramalhete_queue, 7,i: 29,023,936 msg/sec xenium::ramalhete_queue, 8,s: 50,236,327 msg/sec xenium::ramalhete_queue, 8,i: 30,168,193 msg/sec xenium::vyukov_bounded_queue, 1,s: 313,039,921 msg/sec xenium::vyukov_bounded_queue, 1,i: 311,809,110 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,490,161 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,611,075 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,631,152 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,143,243 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,244,898 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,621,773 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,008,434 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,252,950 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,054,546 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,950,823 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,164,233 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,409,971 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,406,726 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,543,461 msg/sec boost::lockfree::queue, 1,s: 7,722,248 msg/sec boost::lockfree::queue, 1,i: 7,795,418 msg/sec boost::lockfree::queue, 2,s: 5,867,313 msg/sec boost::lockfree::queue, 2,i: 5,911,956 msg/sec boost::lockfree::queue, 3,s: 4,954,534 msg/sec boost::lockfree::queue, 3,i: 4,819,309 msg/sec boost::lockfree::queue, 4,s: 4,361,256 msg/sec boost::lockfree::queue, 4,i: 4,361,608 msg/sec boost::lockfree::queue, 5,s: 2,668,905 msg/sec boost::lockfree::queue, 5,i: 2,907,568 msg/sec boost::lockfree::queue, 6,s: 1,434,218 msg/sec boost::lockfree::queue, 6,i: 2,818,895 msg/sec boost::lockfree::queue, 7,s: 1,407,677 msg/sec boost::lockfree::queue, 7,i: 2,839,677 msg/sec boost::lockfree::queue, 8,s: 1,158,262 msg/sec boost::lockfree::queue, 8,i: 1,855,454 msg/sec std::mutex, 1,s: 3,746,269 msg/sec std::mutex, 1,i: 3,718,439 msg/sec std::mutex, 2,s: 13,150,379 msg/sec std::mutex, 2,i: 12,146,226 msg/sec std::mutex, 3,s: 6,828,285 msg/sec std::mutex, 3,i: 6,838,709 msg/sec std::mutex, 4,s: 7,092,048 msg/sec std::mutex, 4,i: 6,585,101 msg/sec std::mutex, 5,s: 3,380,333 msg/sec std::mutex, 5,i: 3,389,508 msg/sec std::mutex, 6,s: 3,016,014 msg/sec std::mutex, 6,i: 3,040pthread_spinlock: producers: 5: consumer 1 received too few messages: 0.06% of expected. ,951 msg/sec std::mutex, 7,s: 3,236,058 msg/sec std::mutex, 7,i: 2,892,400 msg/sec std::mutex, 8,s: 3,396,668 msg/sec std::mutex, 8,i: 2,790,300 msg/sec pthread_spinlock, 1,s: 17,838,825 msg/sec pthread_spinlock, 1,i: 18,030,594 msg/sec pthread_spinlock, 2,s: 7,119,536 msg/sec pthread_spinlock, 2,i: 1,922,037 msg/sec pthread_spinlock, 3,s: 910,611 msg/sec pthread_spinlock, 3,i: 5,897,213 msg/sec pthread_spinlock, 4,s: 1,602,483 msg/sec pthread_spinlock, 4,i: 1,857,789 msg/sec pthread_spinlock, 5,s: 2,640,272 msg/sec pthread_spinlock, 5,i: 3,539,628 msg/sec pthread_spinlock, 6,s: 1,995,455 msg/sec pthread_spinlock, 6,i: 3,004,133 msg/sec pthread_spinlock, 7,s: 2,877,371 msg/sec pthread_spinlock, 7,i: 3,072,140 msg/sec pthread_spinlock, 8,s: 2,983,295 msg/sec pthread_spinlock, 8,i: 2,661,562 msg/sec tbb::spin_mutex, 1,s: 38,962,897 msg/sec tbb::spin_mutex, 1,i: 38,586,580 msg/sec tbb::spin_mutex, 2,s: 16,507,488 msg/sec tbb::spin_mutex, 2,i: 16,049,639 msg/sec tbb::spin_mutex, 3,s: 12,062,529 msg/sec tbb::spin_mutex, 3,i: 11,941,155 msg/sec tbb::spin_mutex, 4,s: 10,283,165 msg/sec tbb::spin_mutex, 4,i: 10,151,097 msg/sec tbb::spin_mutex, 5,s: 5,928,426 msg/sec tbb::spin_mutex, 5,i: 5,584,222 msg/sec tbb::spin_mutex, 6,s: 5,094,294 msg/sec tbb::spin_mutex, 6,i: 4,775,650 msg/sec tbb::spin_mutex, 7,s: 4,452,337 msg/sec tbb::spin_mutex, 7,i: 4,629,405 msg/sec tbb::spin_mutex, 8,s: 4,269,241 msg/sec tbb::spin_mutex, 8,i: 4,062,281 msg/sec Elapsed time 2:42.81, user 1285.86s, system 111.11s, CPU 858%, RSS 57928kB, exit-status 0. 2026-09-14 16:36:32 [20/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000110 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000090 sec/round-trip AtomicQueue2: 0.000000110 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000450 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000202 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,857,551 msg/sec boost::lockfree::spsc_queue, 1,i: 112,643,539 msg/sec AtomicQueue, 1,s: 144,347,501 msg/sec AtomicQueue, 1,i: 140,012,873 msg/sec AtomicQueue, 2,s: 9,883,660 msg/sec AtomicQueue, 2,i: 10,339,912 msg/sec AtomicQueue, 3,s: 8,358,098 msg/sec AtomicQueue, 3,i: 8,823,370 msg/sec AtomicQueue, 4,s: 6,614,476 msg/sec AtomicQueue, 4,i: 7,031,174 msg/sec AtomicQueue, 5,s: 3,185,430 msg/sec AtomicQueue, 5,i: 4,334,644 msg/sec AtomicQueue, 6,s: 2,600,351 msg/sec AtomicQueue, 6,i: 3,525,260 msg/sec AtomicQueue, 7,s: 2,951,358 msg/sec AtomicQueue, 7,i: 3,211,135 msg/sec AtomicQueue, 8,s: 3,115,834 msg/sec AtomicQueue, 8,i: 2,892,744 msg/sec OptimistAtomicQueue, 1,s: 1,193,265,328 msg/sec OptimistAtomicQueue, 1,i: 1,201,913,322 msg/sec OptimistAtomicQueue, 2,s: 51,648,253 msg/sec OptimistAtomicQueue, 2,i: 52,686,457 msg/sec OptimistAtomicQueue, 3,s: 58,774,813 msg/sec OptimistAtomicQueue, 3,i: 59,325,615 msg/sec OptimistAtomicQueue, 4,s: 59,233,571 msg/sec OptimistAtomicQueue, 4,i: 66,165,145 msg/sec OptimistAtomicQueue, 5,s: 33,173,451 msg/sec OptimistAtomicQueue, 5,i: 41,014,706 msg/sec OptimistAtomicQueue, 6,s: 34,595,499 msg/sec OptimistAtomicQueue, 6,i: 35,209,421 msg/sec OptimistAtomicQueue, 7,s: 40,266,196 msg/sec OptimistAtomicQueue, 7,i: 40,036,910 msg/sec OptimistAtomicQueue, 8,s: 50,571,771 msg/sec OptimistAtomicQueue, 8,i: 41,198,223 msg/sec AtomicQueueB, 1,s: 51,000,627 msg/sec AtomicQueueB, 1,i: 50,392,341 msg/sec AtomicQueueB, 2,s: 9,574,163 msg/sec AtomicQueueB, 2,i: 10,109,712 msg/sec AtomicQueueB, 3,s: 8,269,945 msg/sec AtomicQueueB, 3,i: 8,674,064 msg/sec AtomicQueueB, 4,s: 6,553,801 msg/sec AtomicQueueB, 4,i: 6,916,862 msg/sec AtomicQueueB, 5,s: 3,152,704 msg/sec AtomicQueueB, 5,i: 3,724,110 msg/sec AtomicQueueB, 6,s: 2,567,977 msg/sec AtomicQueueB, 6,i: 3,468,671 msg/sec AtomicQueueB, 7,s: 2,916,772 msg/sec AtomicQueueB, 7,i: 3,214,581 msg/sec AtomicQueueB, 8,s: 3,061,273 msg/sec AtomicQueueB, 8,i: 2,881,682 msg/sec OptimistAtomicQueueB, 1,s: 1,120,517,150 msg/sec OptimistAtomicQueueB, 1,i: 523,662,572 msg/sec OptimistAtomicQueueB, 2,s: 46,608,573 msg/sec OptimistAtomicQueueB, 2,i: 50,257,838 msg/sec OptimistAtomicQueueB, 3,s: 58,592,643 msg/sec OptimistAtomicQueueB, 3,i: 56,906,245 msg/sec OptimistAtomicQueueB, 4,s: 59,495,371 msg/sec OptimistAtomicQueueB, 4,i: 66,260,322 msg/sec OptimistAtomicQueueB, 5,s: 33,003,732 msg/sec OptimistAtomicQueueB, 5,i: 39,692,280 msg/sec OptimistAtomicQueueB, 6,s: 34,389,339 msg/sec OptimistAtomicQueueB, 6,i: 34,929,138 msg/sec OptimistAtomicQueueB, 7,s: 39,171,333 msg/sec OptimistAtomicQueueB, 7,i: 39,989,985 msg/sec OptimistAtomicQueueB, 8,s: 51,453,015 msg/sec OptimistAtomicQueueB, 8,i: 41,205,420 msg/sec AtomicQueue2, 1,s: 132,994,111 msg/sec AtomicQueue2, 1,i: 134,594,893 msg/sec AtomicQueue2, 2,s: 9,957,840 msg/sec AtomicQueue2, 2,i: 10,546,499 msg/sec AtomicQueue2, 3,s: 8,420,400 msg/sec AtomicQueue2, 3,i: 8,910,830 msg/sec AtomicQueue2, 4,s: 6,685,682 msg/sec AtomicQueue2, 4,i: 7,095,031 msg/sec AtomicQueue2, 5,s: 3,131,665 msg/sec AtomicQueue2, 5,i: 4,265,381 msg/sec AtomicQueue2, 6,s: 2,570,802 msg/sec AtomicQueue2, 6,i: 3,457,574 msg/sec AtomicQueue2, 7,s: 2,897,454 msg/sec AtomicQueue2, 7,i: 3,206,461 msg/sec AtomicQueue2, 8,s: 3,013,095 msg/sec AtomicQueue2, 8,i: 2,897,556 msg/sec OptimistAtomicQueue2, 1,s: 107,378,056 msg/sec OptimistAtomicQueue2, 1,i: 107,544,341 msg/sec OptimistAtomicQueue2, 2,s: 43,310,977 msg/sec OptimistAtomicQueue2, 2,i: 47,167,147 msg/sec OptimistAtomicQueue2, 3,s: 56,789,552 msg/sec OptimistAtomicQueue2, 3,i: 50,089,003 msg/sec OptimistAtomicQueue2, 4,s: 59,268,220 msg/sec OptimistAtomicQueue2, 4,i: 57,975,592 msg/sec OptimistAtomicQueue2, 5,s: 31,440,429 msg/sec OptimistAtomicQueue2, 5,i: 32,633,387 msg/sec OptimistAtomicQueue2, 6,s: 32,883,423 msg/sec OptimistAtomicQueue2, 6,i: 32,166,360 msg/sec OptimistAtomicQueue2, 7,s: 37,822,766 msg/sec OptimistAtomicQueue2, 7,i: 37,807,652 msg/sec OptimistAtomicQueue2, 8,s: 49,094,547 msg/sec OptimistAtomicQueue2, 8,i: 39,842,179 msg/sec AtomicQueueB2, 1,s: 75,210,711 msg/sec AtomicQueueB2, 1,i: 73,051,795 msg/sec AtomicQueueB2, 2,s: 9,859,222 msg/sec AtomicQueueB2, 2,i: 10,461,748 msg/sec AtomicQueueB2, 3,s: 8,324,571 msg/sec AtomicQueueB2, 3,i: 8,837,555 msg/sec AtomicQueueB2, 4,s: 6,619,645 msg/sec AtomicQueueB2, 4,i: 6,973,205 msg/sec AtomicQueueB2, 5,s: 3,095,206 msg/sec AtomicQueueB2, 5,i: 4,323,224 msg/sec AtomicQueueB2, 6,s: 2,550,755 msg/sec AtomicQueueB2, 6,i: 3,991,200 msg/sec AtomicQueueB2, 7,s: 2,897,341 msg/sec AtomicQueueB2, 7,i: 3,169,804 msg/sec AtomicQueueB2, 8,s: 3,011,902 msg/sec AtomicQueueB2, 8,i: 2,835,152 msg/sec OptimistAtomicQueueB2, 1,s: 150,260,837 msg/sec OptimistAtomicQueueB2, 1,i: 151,163,464 msg/sec OptimistAtomicQueueB2, 2,s: 41,968,624 msg/sec OptimistAtomicQueueB2, 2,i: 46,257,008 msg/sec OptimistAtomicQueueB2, 3,s: 56,877,698 msg/sec OptimistAtomicQueueB2, 3,i: 53,171,898 msg/sec OptimistAtomicQueueB2, 4,s: 59,004,129 msg/sec OptimistAtomicQueueB2, 4,i: 59,928,779 msg/sec OptimistAtomicQueueB2, 5,s: 31,357,144 msg/sec OptimistAtomicQueueB2, 5,i: 32,463,644 msg/sec OptimistAtomicQueueB2, 6,s: 33,032,721 msg/sec OptimistAtomicQueueB2, 6,i: 31,935,758 msg/sec OptimistAtomicQueueB2, 7,s: 37,155,320 msg/sec OptimistAtomicQueueB2, 7,i: 36,987,785 msg/sec OptimistAtomicQueueB2, 8,s: 48,040,758 msg/sec OptimistAtomicQueueB2, 8,i: 38,979,481 msg/sec moodycamel::ReaderWriterQueue, 1,s: 325,305,434 msg/sec moodycamel::ReaderWriterQueue, 1,i: 109,206,142 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,950,828 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,264,698 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,078,098 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,872,759 msg/sec moodycamel::ConcurrentQueue, 3,s: 61,105,011 msg/sec moodycamel::ConcurrentQueue, 3,i: 60,562,252 msg/sec moodycamel::ConcurrentQueue, 4,s: 86,450,622 msg/sec moodycamel::ConcurrentQueue, 4,i: 90,121,186 msg/sec moodycamel::ConcurrentQueue, 5,s: 95,350,273 msg/sec moodycamel::ConcurrentQueue, 5,i: 190,213,764 msg/sec moodycamel::ConcurrentQueue, 6,s: 201,677,085 msg/sec moodycamel::ConcurrentQueue, 6,i: 222,418,178 msg/sec moodycamel::ConcurrentQueue, 7,s: 237,162,574 msg/sec moodycamel::ConcurrentQueue, 7,i: 233,862,064 msg/sec moodycamel::ConcurrentQueue, 8,s: 268,697,590 msg/sec moodycamel::ConcurrentQueue, 8,i: 249,978,863 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,811,494 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,834,950 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,137,942 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,143,476 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,980,261 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,080,415 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,416,621 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,625,654 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,066,554 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,637,147 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,799,980 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,423,951 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,665,060 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,150,696 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,786,010 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,808,882 msg/sec xenium::michael_scott_queue, 1,s: 13,431,929 msg/sec xenium::michael_scott_queue, 1,i: 13,715,740 msg/sec xenium::michael_scott_queue, 2,s: 9,416,228 msg/sec xenium::michael_scott_queue, 2,i: 9,191,763 msg/sec xenium::michael_scott_queue, 3,s: 7,633,722 msg/sec xenium::michael_scott_queue, 3,i: 7,553,282 msg/sec xenium::michael_scott_queue, 4,s: 5,846,725 msg/sec xenium::michael_scott_queue, 4,i: 5,822,231 msg/sec xenium::michael_scott_queue, 5,s: 3,653,511 msg/sec xenium::michael_scott_queue, 5,i: 3,902,904 msg/sec xenium::michael_scott_queue, 6,s: 3,348,267 msg/sec xenium::michael_scott_queue, 6,i: 3,582,081 msg/sec xenium::michael_scott_queue, 7,s: 3,190,225 msg/sec xenium::michael_scott_queue, 7,i: 3,275,008 msg/sec xenium::michael_scott_queue, 8,s: 2,360,588 msg/sec xenium::michael_scott_queue, 8,i: 2,792,873 msg/sec xenium::ramalhete_queue, 1,s: 61,037,085 msg/sec xenium::ramalhete_queue, 1,i: 60,630,500 msg/sec xenium::ramalhete_queue, 2,s: 46,602,817 msg/sec xenium::ramalhete_queue, 2,i: 44,238,454 msg/sec xenium::ramalhete_queue, 3,s: 41,884,387 msg/sec xenium::ramalhete_queue, 3,i: 41,701,014 msg/sec xenium::ramalhete_queue, 4,s: 53,099,599 msg/sec xenium::ramalhete_queue, 4,i: 51,370,973 msg/sec xenium::ramalhete_queue, 5,s: 37,910,002 msg/sec xenium::ramalhete_queue, 5,i: 24,041,468 msg/sec xenium::ramalhete_queue, 6,s: 38,488,803 msg/sec xenium::ramalhete_queue, 6,i: 26,726,363 msg/sec xenium::ramalhete_queue, 7,s: 39,553,329 msg/sec xenium::ramalhete_queue, 7,i: 28,093,745 msg/sec xenium::ramalhete_queue, 8,s: 49,953,716 msg/sec xenium::ramalhete_queue, 8,i: 29,201,366 msg/sec xenium::vyukov_bounded_queue, 1,s: 309,868,075 msg/sec xenium::vyukov_bounded_queue, 1,i: 312,456,981 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,299,017 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,563,833 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,648,045 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,502,578 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,286,324 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,481,166 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,924,044 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,427,601 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,104,296 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,741,345 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,115,262 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,416,883 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,537,150 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,555,055 msg/sec boost::lockfree::queue, 1,s: 7,823,246 msg/sec boost::lockfree::queue, 1,i: 7,825,899 msg/sec boost::lockfree::queue, 2,s: 5,836,027 msg/sec boost::lockfree::queue, 2,i: 5,915,607 msg/sec boost::lockfree::queue, 3,s: 4,942,064 msg/sec boost::lockfree::queue, 3,i: 4,802,738 msg/sec boost::lockfree::queue, 4,s: 4,374,765 msg/sec boost::lockfree::queue, 4,i: 4,353,537 msg/sec boost::lockfree::queue, 5,s: 2,669,138 msg/sec boost::lockfree::queue, 5,i: 2,905,878 msg/sec boost::lockfree::queue, 6,s: 1,439,569 msg/sec boost::lockfree::queue, 6,i: 2,990,487 msg/sec boost::lockfree::queue, 7,s: 1,392,000 msg/sec boost::lockfree::queue, 7,i: 2,820,355 msg/sec boost::lockfree::queue, 8,s: 1,158,708 msg/sec boost::lockfree::queue, 8,i: 1,840,438 msg/sec std::mutex, 1,s: 3,950,374 msg/sec std::mutex, 1,i: 3,669,510 msg/sec std::mutex, 2,s: 14,093,710 msg/sec std::mutex, 2,i: 14,202,287 msg/sec std::mutex, 3,s: 7,202,548 msg/sec std::mutex, 3,i: 6,750,705 msg/sec std::mutex, 4,s: 6,913,790 msg/sec std::mutex, 4,i: 6,718,737 msg/sec std::mutex, 5,s: 3,290,942 msg/sec std::mutex, 5,i: 3,503,644 msg/sec std::mutex, 6,s: 3,005,903 msg/sec std::mutex, 6,i: 2,964,247 msg/sec std::mutex, 7,s: 3,271,608 msg/sec std::mutex, 7,i: 2,932,834 msg/sec std::mutex, 8,s: 3,366,492 msg/sec std::mutex, 8,i: 2,762,015 msg/sec pthread_spinlock, 1,s: 17,863,865 msg/sec pthread_spinlock, 1,i: 18,022,447 msg/sec pthread_spinlock, 2,s: 7,567,495 msg/sec pthread_spinlock, 2,i: 1,916,303 msg/sec pthread_spinlock, 3,s: 897,465 msg/sec pthread_spinlock, 3,i: 5,435,477 msg/sec pthread_spinlock, 4,s: 1,829,326 msg/sec pthread_spinlock, 4,i: 1,582,022 msg/sec pthread_spinlock, 5,s: 2,777,122 msg/sec pthread_spinlock, 5,i: 979,220 msg/sec pthread_spinlock, 6,s: 1,984,603 msg/sec pthread_spinlock, 6,i: 3,065,854 msg/sec pthread_spinlock, 7,s: 2,794,465 msg/sec pthread_spinlock, 7,i: 3,017,550 msg/sec pthread_spinlock, 8,s: 2,974,697 msg/sec pthread_spinlock, 8,i: 2,688,732 msg/sec tbb::spin_mutex, 1,s: 38,592,745 msg/sec tbb::spin_mutex, 1,i: 38,612,757 msg/sec tbb::spin_mutex, 2,s: 16,548,269 msg/sec tbb::spin_mutex, 2,i: 16,142,254 msg/sec tbb::spin_mutex, 3,s: 12,042,840 msg/sec tbb::spin_mutex, 3,i: 11,897,685 msg/sec tbb::spin_mutex, 4,s: 10,315,557 msg/sec tbb::spin_mutex, 4,i: 10,128,369 msg/sec tbb::spin_mutex, 5,s: 5,972,365 msg/sec tbb::spin_mutex, 5,i: 5,619,962 msg/sec tbb::spin_mutex, 6,s: 5,100,457 msg/sec tbb::spin_mutex, 6,i: 4,945,199 msg/sec tbb::spin_mutex, 7,s: 4,373,049 msg/sec tbb::spin_mutex, 7,i: 4,897,132 msg/sec tbb::spin_mutex, 8,s: 4,268,710 msg/sec tbb::spin_mutex, 8,i: 4,054,792 msg/sec Elapsed time 2:44.48, user 1297.60s, system 110.88s, CPU 856%, RSS 57416kB, exit-status 0. 2026-09-14 16:39:16 [21/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000107 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000090 sec/round-trip AtomicQueue2: 0.000000109 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000135 sec/round-trip xenium::vyukov_bounded_queue: 0.000000138 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000442 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,326,184 msg/sec boost::lockfree::spsc_queue, 1,i: 113,433,168 msg/sec AtomicQueue, 1,s: 149,974,196 msg/sec AtomicQueue, 1,i: 146,907,168 msg/sec AtomicQueue, 2,s: 9,896,396 msg/sec AtomicQueue, 2,i: 10,368,049 msg/sec AtomicQueue, 3,s: 8,329,031 msg/sec AtomicQueue, 3,i: 8,815,954 msg/sec AtomicQueue, 4,s: 6,603,939 msg/sec AtomicQueue, 4,i: 7,021,331 msg/sec AtomicQueue, 5,s: 3,166,939 msg/sec AtomicQueue, 5,i: 4,326,148 msg/sec AtomicQueue, 6,s: 2,600,750 msg/sec AtomicQueue, 6,i: 4,029,444 msg/sec AtomicQueue, 7,s: 2,966,232 msg/sec AtomicQueue, 7,i: 3,190,879 msg/sec AtomicQueue, 8,s: 3,114,013 msg/sec AtomicQueue, 8,i: 2,896,316 msg/sec OptimistAtomicQueue, 1,s: 1,193,350,765 msg/sec OptimistAtomicQueue, 1,i: 1,196,391,713 msg/sec OptimistAtomicQueue, 2,s: 57,376,254 msg/sec OptimistAtomicQueue, 2,i: 53,053,766 msg/sec OptimistAtomicQueue, 3,s: 58,606,585 msg/sec OptimistAtomicQueue, 3,i: 59,885,009 msg/sec OptimistAtomicQueue, 4,s: 59,287,089 msg/sec OptimistAtomicQueue, 4,i: 66,241,844 msg/sec OptimistAtomicQueue, 5,s: 33,266,999 msg/sec OptimistAtomicQueue, 5,i: 44,967,044 msg/sec OptimistAtomicQueue, 6,s: 34,642,826 msg/sec OptimistAtomicQueue, 6,i: 35,097,723 msg/sec OptimistAtomicQueue, 7,s: 40,007,647 msg/sec OptimistAtomicQueue, 7,i: 40,023,034 msg/sec OptimistAtomicQueue, 8,s: 50,492,665 msg/sec OptimistAtomicQueue, 8,i: 41,294,648 msg/sec AtomicQueueB, 1,s: 50,783,901 msg/sec AtomicQueueB, 1,i: 51,021,678 msg/sec AtomicQueueB, 2,s: 9,506,133 msg/sec AtomicQueueB, 2,i: 9,989,297 msg/sec AtomicQueueB, 3,s: 8,205,469 msg/sec AtomicQueueB, 3,i: 8,660,018 msg/sec AtomicQueueB, 4,s: 6,548,337 msg/sec AtomicQueueB, 4,i: 6,916,231 msg/sec AtomicQueueB, 5,s: 3,155,101 msg/sec AtomicQueueB, 5,i: 4,339,225 msg/sec AtomicQueueB, 6,s: 2,574,410 msg/sec AtomicQueueB, 6,i: 3,977,717 msg/sec AtomicQueueB, 7,s: 2,918,915 msg/sec AtomicQueueB, 7,i: 3,182,392 msg/sec AtomicQueueB, 8,s: 3,057,862 msg/sec AtomicQueueB, 8,i: 2,860,607 msg/sec OptimistAtomicQueueB, 1,s: 517,098,919 msg/sec OptimistAtomicQueueB, 1,i: 519,284,623 msg/sec OptimistAtomicQueueB, 2,s: 48,913,799 msg/sec OptimistAtomicQueueB, 2,i: 49,277,583 msg/sec OptimistAtomicQueueB, 3,s: 58,646,557 msg/sec OptimistAtomicQueueB, 3,i: 56,835,384 msg/sec OptimistAtomicQueueB, 4,s: 59,486,311 msg/sec OptimistAtomicQueueB, 4,i: 66,341,950 msg/sec OptimistAtomicQueueB, 5,s: 33,083,765 msg/sec OptimistAtomicQueueB, 5,i: 36,215,091 msg/sec OptimistAtomicQueueB, 6,s: 34,475,006 msg/sec OptimistAtomicQueueB, 6,i: 34,958,381 msg/sec OptimistAtomicQueueB, 7,s: 39,212,389 msg/sec OptimistAtomicQueueB, 7,i: 40,029,490 msg/sec OptimistAtomicQueueB, 8,s: 51,514,162 msg/sec OptimistAtomicQueueB, 8,i: 41,230,666 msg/sec AtomicQueue2, 1,s: 134,074,468 msg/sec AtomicQueue2, 1,i: 128,063,900 msg/sec AtomicQueue2, 2,s: 9,965,595 msg/sec AtomicQueue2, 2,i: 10,541,642 msg/sec AtomicQueue2, 3,s: 8,425,147 msg/sec AtomicQueue2, 3,i: 8,922,422 msg/sec AtomicQueue2, 4,s: 6,688,332 msg/sec AtomicQueue2, 4,i: 7,079,880 msg/sec AtomicQueue2, 5,s: 3,139,670 msg/sec AtomicQueue2, 5,i: 3,708,673 msg/sec AtomicQueue2, 6,s: 2,564,500 msg/sec AtomicQueue2, 6,i: 3,504,414 msg/sec AtomicQueue2, 7,s: 2,897,965 msg/sec AtomicQueue2, 7,i: 3,275,664 msg/sec AtomicQueue2, 8,s: 3,023,667 msg/sec AtomicQueue2, 8,i: 2,894,924 msg/sec OptimistAtomicQueue2, 1,s: 107,075,334 msg/sec OptimistAtomicQueue2, 1,i: 107,178,272 msg/sec OptimistAtomicQueue2, 2,s: 43,637,443 msg/sec OptimistAtomicQueue2, 2,i: 47,683,275 msg/sec OptimistAtomicQueue2, 3,s: 56,429,876 msg/sec OptimistAtomicQueue2, 3,i: 50,053,177 msg/sec OptimistAtomicQueue2, 4,s: 59,245,783 msg/sec OptimistAtomicQueue2, 4,i: 58,179,314 msg/sec OptimistAtomicQueue2, 5,s: 31,488,493 msg/sec OptimistAtomicQueue2, 5,i: 32,652,620 msg/sec OptimistAtomicQueue2, 6,s: 32,905,723 msg/sec OptimistAtomicQueue2, 6,i: 32,700,637 msg/sec OptimistAtomicQueue2, 7,s: 37,823,668 msg/sec OptimistAtomicQueue2, 7,i: 37,779,157 msg/sec OptimistAtomicQueue2, 8,s: 49,010,239 msg/sec OptimistAtomicQueue2, 8,i: 39,910,505 msg/sec AtomicQueueB2, 1,s: 74,537,837 msg/sec AtomicQueueB2, 1,i: 71,502,938 msg/sec AtomicQueueB2, 2,s: 9,862,635 msg/sec AtomicQueueB2, 2,i: 10,430,631 msg/sec AtomicQueueB2, 3,s: 8,321,028 msg/sec AtomicQueueB2, 3,i: 8,823,570 msg/sec AtomicQueueB2, 4,s: 6,620,564 msg/sec AtomicQueueB2, 4,i: 6,965,647 msg/sec AtomicQueueB2, 5,s: 3,083,919 msg/sec AtomicQueueB2, 5,i: 4,318,866 msg/sec AtomicQueueB2, 6,s: 2,549,418 msg/sec AtomicQueueB2, 6,i: 3,466,065 msg/sec AtomicQueueB2, 7,s: 2,898,580 msg/sec AtomicQueueB2, 7,i: 3,268,306 msg/sec AtomicQueueB2, 8,s: 3,012,023 msg/sec AtomicQueueB2, 8,i: 2,837,786 msg/sec OptimistAtomicQueueB2, 1,s: 150,656,307 msg/sec OptimistAtomicQueueB2, 1,i: 151,388,182 msg/sec OptimistAtomicQueueB2, 2,s: 42,105,394 msg/sec OptimistAtomicQueueB2, 2,i: 46,013,563 msg/sec OptimistAtomicQueueB2, 3,s: 56,898,474 msg/sec OptimistAtomicQueueB2, 3,i: 53,116,120 msg/sec OptimistAtomicQueueB2, 4,s: 59,024,433 msg/sec OptimistAtomicQueueB2, 4,i: 59,923,285 msg/sec OptimistAtomicQueueB2, 5,s: 31,348,534 msg/sec OptimistAtomicQueueB2, 5,i: 31,468,933 msg/sec OptimistAtomicQueueB2, 6,s: 32,962,851 msg/sec OptimistAtomicQueueB2, 6,i: 32,379,388 msg/sec OptimistAtomicQueueB2, 7,s: 37,255,966 msg/sec OptimistAtomicQueueB2, 7,i: 37,027,474 msg/sec OptimistAtomicQueueB2, 8,s: 47,984,006 msg/sec OptimistAtomicQueueB2, 8,i: 39,044,069 msg/sec moodycamel::ReaderWriterQueue, 1,s: 123,595,126 msg/sec moodycamel::ReaderWriterQueue, 1,i: 54,919,975 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,224,217 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,308,242 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,386,219 msg/sec moodycamel::ConcurrentQueue, 2,i: 33,342,545 msg/sec moodycamel::ConcurrentQueue, 3,s: 51,387,812 msg/sec moodycamel::ConcurrentQueue, 3,i: 48,459,821 msg/sec moodycamel::ConcurrentQueue, 4,s: 94,897,498 msg/sec moodycamel::ConcurrentQueue, 4,i: 91,739,202 msg/sec moodycamel::ConcurrentQueue, 5,s: 131,309,293 msg/sec moodycamel::ConcurrentQueue, 5,i: 177,713,871 msg/sec moodycamel::ConcurrentQueue, 6,s: 212,248,931 msg/sec moodycamel::ConcurrentQueue, 6,i: 145,144,333 msg/sec moodycamel::ConcurrentQueue, 7,s: 224,943,584 msg/sec moodycamel::ConcurrentQueue, 7,i: 161,193,361 msg/sec moodycamel::ConcurrentQueue, 8,s: 247,130,998 msg/sec moodycamel::ConcurrentQueue, 8,i: 260,622,124 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,753,585 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,837,752 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,147,067 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,099,294 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,973,593 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,066,765 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,421,361 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,631,303 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,047,458 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,118,368 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,784,459 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,689,248 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,654,853 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,152,590 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,780,967 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,803,053 msg/sec xenium::michael_scott_queue, 1,s: 13,421,282 msg/sec xenium::michael_scott_queue, 1,i: 13,715,665 msg/sec xenium::michael_scott_queue, 2,s: 9,456,211 msg/sec xenium::michael_scott_queue, 2,i: 9,208,768 msg/sec xenium::michael_scott_queue, 3,s: 7,633,951 msg/sec xenium::michael_scott_queue, 3,i: 7,540,638 msg/sec xenium::michael_scott_queue, 4,s: 5,836,810 msg/sec xenium::michael_scott_queue, 4,i: 5,814,703 msg/sec xenium::michael_scott_queue, 5,s: 3,588,554 msg/sec xenium::michael_scott_queue, 5,i: 4,644,583 msg/sec xenium::michael_scott_queue, 6,s: 3,285,376 msg/sec xenium::michael_scott_queue, 6,i: 3,575,900 msg/sec xenium::michael_scott_queue, 7,s: 3,163,446 msg/sec xenium::michael_scott_queue, 7,i: 3,241,298 msg/sec xenium::michael_scott_queue, 8,s: 2,353,636 msg/sec xenium::michael_scott_queue, 8,i: 2,787,746 msg/sec xenium::ramalhete_queue, 1,s: 71,729,783 msg/sec xenium::ramalhete_queue, 1,i: 69,017,708 msg/sec xenium::ramalhete_queue, 2,s: 50,313,542 msg/sec xenium::ramalhete_queue, 2,i: 46,268,993 msg/sec xenium::ramalhete_queue, 3,s: 43,730,423 msg/sec xenium::ramalhete_queue, 3,i: 40,117,876 msg/sec xenium::ramalhete_queue, 4,s: 52,912,147 msg/sec xenium::ramalhete_queue, 4,i: 46,949,029 msg/sec xenium::ramalhete_queue, 5,s: 37,173,894 msg/sec xenium::ramalhete_queue, 5,i: 23,715,997 msg/sec xenium::ramalhete_queue, 6,s: 38,699,381 msg/sec xenium::ramalhete_queue, 6,i: 26,714,183 msg/sec xenium::ramalhete_queue, 7,s: 39,344,122 msg/sec xenium::ramalhete_queue, 7,i: 28,174,796 msg/sec xenium::ramalhete_queue, 8,s: 49,594,401 msg/sec xenium::ramalhete_queue, 8,i: 29,409,006 msg/sec xenium::vyukov_bounded_queue, 1,s: 309,081,787 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,259,351 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,024,372 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,019,126 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,563,253 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,228,905 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,047,706 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,601,444 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,932,539 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,496,453 msg/sec xenium::vyukov_bounded_queue, 6,s: 6,969,583 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,842,483 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,200,486 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,407,675 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,474,484 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,532,739 msg/sec boost::lockfree::queue, 1,s: 7,817,591 msg/sec boost::lockfree::queue, 1,i: 7,840,198 msg/sec boost::lockfree::queue, 2,s: 5,843,055 msg/sec boost::lockfree::queue, 2,i: 5,918,375 msg/sec boost::lockfree::queue, 3,s: 4,948,974 msg/sec boost::lockfree::queue, 3,i: 4,816,251 msg/sec boost::lockfree::queue, 4,s: 4,373,514 msg/sec boost::lockfree::queue, 4,i: 4,359,591 msg/sec boost::lockfree::queue, 5,s: 2,660,506 msg/sec boost::lockfree::queue, 5,i: 2,915,685 msg/sec boost::lockfree::queue, 6,s: 1,428,111 msg/sec boost::lockfree::queue, 6,i: 2,813,201 msg/sec boost::lockfree::queue, 7,s: 1,389,530 msg/sec boost::lockfree::queue, 7,i: 2,899,503 msg/sec boost::lockfree::queue, 8,s: 1,160,359 msg/sec boost::lockfree::queue, 8,i: 1,829,080 msg/sec std::mutex, 1,s: 4,718,081 msg/sec std::mutex, 1,i: 4,997,780 msg/sec std::mutex, 2,s: 13,443,767 msg/sec std::mutex, 2,i: 12,791,053 msg/sec std::mutex, 3,s: 6,966,044 msg/sec std::mutex, 3,i: 6,727,099 msg/sec std::mutex, 4,s: 7,126,269 msg/sec std::mutex, 4,i: 6,718,163 msg/sec std::mutex, 5,s: 3,420,316 msg/sec std::mutex, 5,i: 3,561,686 msg/sec std::mutex, 6,s: 3,003,194 msg/sec std::mutex, 6,i: 2,980,783 msg/sec std::mutex, 7,s: 3,217,111 msg/sec std::mutex, 7,i: 2,866,410 msg/sec std::mutex, 8,s: 3,460,918 msg/sec std::mutex, 8,i: 2,830,071 msg/sec pthread_spinlock, 1,s: 17,874,434 msg/sec pthread_spinlock, 1,i: 18,010,717 msg/sec pthread_spinlock, 2,s: 8,322,902 msg/sec pthread_spinlock, 2,i: 1,655,925 msg/sec pthread_spinlock, 3,s: 865,860 msg/sec pthread_spinlock, 3,i: 6,460,506 msg/sec pthread_spinlock, 4,s: 1,043,688 msg/sec pthread_spinlock, 4,i: 1,158,688 msg/sec pthread_spinlock, 5,s: 2,775,615 msg/sec pthread_spinlock, 5,i: 1,051,559 msg/sec pthread_spinlock, 6,s: 2,051,194 msg/sec pthread_spinlock, 6,i: 3,120,170 msg/sec pthread_spinlock, 7,s: 2,801,603 msg/sec pthread_spinlock, 7,i: 3,053,780 msg/sec pthread_spinlock, 8,s: 2,984,043 msg/sec pthread_spinlock, 8,i: 2,662,004 msg/sec tbb::spin_mutex, 1,s: 38,484,090 msg/sec tbb::spin_mutex, 1,i: 38,707,198 msg/sec tbb::spin_mutex, 2,s: 16,519,582 msg/sec tbb::spin_mutex, 2,i: 16,027,183 msg/sec tbb::spin_mutex, 3,s: 12,065,803 msg/sec tbb::spin_mutex, 3,i: 11,989,434 msg/sec tbb::spin_mutex, 4,s: 10,310,866 msg/sec tbb::spin_mutex, 4,i: 10,019,795 msg/sec tbb::spin_mutex, 5,s: 5,951,667 msg/sec tbb::spin_mutex, 5,i: 5,506,982 msg/sec tbb::spin_mutex, 6,s: 5,125,290 msg/sec tbb::spin_mutex, 6,i: 4,896,193 msg/sec tbb::spin_mutex, 7,s: 4,415,019 msg/sec tbb::spin_mutex, 7,i: 4,700,914 msg/sec tbb::spin_mutex, 8,s: 4,283,755 msg/sec tbb::spin_mutex, 8,i: 4,053,048 msg/sec Elapsed time 2:44.43, user 1300.72s, system 110.38s, CPU 858%, RSS 54856kB, exit-status 0. 2026-09-14 16:42:01 [22/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip AtomicQueue: 0.000000104 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000120 sec/round-trip OptimistAtomicQueueB: 0.000000085 sec/round-trip AtomicQueue2: 0.000000112 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000450 sec/round-trip pthread_spinlock: 0.000000229 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,718,150 msg/sec boost::lockfree::spsc_queue, 1,i: 113,645,996 msg/sec AtomicQueue, 1,s: 149,422,713 msg/sec AtomicQueue, 1,i: 146,949,047 msg/sec AtomicQueue, 2,s: 9,887,468 msg/sec AtomicQueue, 2,i: 10,331,144 msg/sec AtomicQueue, 3,s: 8,348,686 msg/sec AtomicQueue, 3,i: 8,824,456 msg/sec AtomicQueue, 4,s: 6,603,036 msg/sec AtomicQueue, 4,i: 7,015,756 msg/sec AtomicQueue, 5,s: 3,162,926 msg/sec AtomicQueue, 5,i: 4,325,158 msg/sec AtomicQueue, 6,s: 2,597,380 msg/sec AtomicQueue, 6,i: 3,524,928 msg/sec AtomicQueue, 7,s: 2,973,563 msg/sec AtomicQueue, 7,i: 3,209,837 msg/sec AtomicQueue, 8,s: 3,115,695 msg/sec AtomicQueue, 8,i: 2,897,315 msg/sec OptimistAtomicQueue, 1,s: 1,200,931,826 msg/sec OptimistAtomicQueue, 1,i: 1,198,341,471 msg/sec OptimistAtomicQueue, 2,s: 54,489,210 msg/sec OptimistAtomicQueue, 2,i: 52,445,350 msg/sec OptimistAtomicQueue, 3,s: 58,724,492 msg/sec OptimistAtomicQueue, 3,i: 59,629,766 msg/sec OptimistAtomicQueue, 4,s: 59,254,805 msg/sec OptimistAtomicQueue, 4,i: 66,271,738 msg/sec OptimistAtomicQueue, 5,s: 33,143,359 msg/sec OptimistAtomicQueue, 5,i: 43,775,244 msg/sec OptimistAtomicQueue, 6,s: 34,506,137 msg/sec OptimistAtomicQueue, 6,i: 34,113,274 msg/sec OptimistAtomicQueue, 7,s: 40,157,941 msg/sec OptimistAtomicQueue, 7,i: 40,041,591 msg/sec OptimistAtomicQueue, 8,s: 50,495,470 msg/sec OptimistAtomicQueue, 8,i: 41,226,943 msg/sec AtomicQueueB, 1,s: 50,009,874 msg/sec AtomicQueueB, 1,i: 49,670,764 msg/sec AtomicQueueB, 2,s: 9,614,420 msg/sec AtomicQueueB, 2,i: 10,071,440 msg/sec AtomicQueueB, 3,s: 8,274,100 msg/sec AtomicQueueB, 3,i: 8,714,294 msg/sec AtomicQueueB, 4,s: 6,548,248 msg/sec AtomicQueueB, 4,i: 6,907,544 msg/sec AtomicQueueB, 5,s: 3,111,492 msg/sec AtomicQueueB, 5,i: 4,338,038 msg/sec AtomicQueueB, 6,s: 2,578,065 msg/sec AtomicQueueB, 6,i: 3,482,743 msg/sec AtomicQueueB, 7,s: 2,915,703 msg/sec AtomicQueueB, 7,i: 3,175,551 msg/sec AtomicQueueB, 8,s: 3,061,749 msg/sec AtomicQueueB, 8,i: 2,870,139 msg/sec OptimistAtomicQueueB, 1,s: 546,161,922 msg/sec OptimistAtomicQueueB, 1,i: 839,280,539 msg/sec OptimistAtomicQueueB, 2,s: 46,862,522 msg/sec OptimistAtomicQueueB, 2,i: 49,380,926 msg/sec OptimistAtomicQueueB, 3,s: 58,541,365 msg/sec OptimistAtomicQueueB, 3,i: 57,101,171 msg/sec OptimistAtomicQueueB, 4,s: 59,560,926 msg/sec OptimistAtomicQueueB, 4,i: 66,162,212 msg/sec OptimistAtomicQueueB, 5,s: 33,066,645 msg/sec OptimistAtomicQueueB, 5,i: 37,794,965 msg/sec OptimistAtomicQueueB, 6,s: 34,377,553 msg/sec OptimistAtomicQueueB, 6,i: 34,039,250 msg/sec OptimistAtomicQueueB, 7,s: 39,158,311 msg/sec OptimistAtomicQueueB, 7,i: 39,994,367 msg/sec OptimistAtomicQueueB, 8,s: 51,455,371 msg/sec OptimistAtomicQueueB, 8,i: 41,285,731 msg/sec AtomicQueue2, 1,s: 130,145,882 msg/sec AtomicQueue2, 1,i: 81,300,176 msg/sec AtomicQueue2, 2,s: 9,965,645 msg/sec AtomicQueue2, 2,i: 10,539,737 msg/sec AtomicQueue2, 3,s: 8,415,727 msg/sec AtomicQueue2, 3,i: 8,920,138 msg/sec AtomicQueue2, 4,s: 6,682,282 msg/sec AtomicQueue2, 4,i: 7,092,625 msg/sec AtomicQueue2, 5,s: 3,147,748 msg/sec AtomicQueue2, 5,i: 4,276,430 msg/sec AtomicQueue2, 6,s: 2,566,968 msg/sec AtomicQueue2, 6,i: 3,982,480 msg/sec AtomicQueue2, 7,s: 2,901,877 msg/sec AtomicQueue2, 7,i: 3,203,558 msg/sec AtomicQueue2, 8,s: 3,013,056 msg/sec AtomicQueue2, 8,i: 2,888,555 msg/sec OptimistAtomicQueue2, 1,s: 108,084,254 msg/sec OptimistAtomicQueue2, 1,i: 107,543,416 msg/sec OptimistAtomicQueue2, 2,s: 43,341,198 msg/sec OptimistAtomicQueue2, 2,i: 47,424,987 msg/sec OptimistAtomicQueue2, 3,s: 54,411,080 msg/sec OptimistAtomicQueue2, 3,i: 50,055,507 msg/sec OptimistAtomicQueue2, 4,s: 59,254,068 msg/sec OptimistAtomicQueue2, 4,i: 57,932,535 msg/sec OptimistAtomicQueue2, 5,s: 31,462,438 msg/sec OptimistAtomicQueue2, 5,i: 34,146,240 msg/sec OptimistAtomicQueue2, 6,s: 32,936,828 msg/sec OptimistAtomicQueue2, 6,i: 32,477,183 msg/sec OptimistAtomicQueue2, 7,s: 37,825,270 msg/sec OptimistAtomicQueue2, 7,i: 37,806,909 msg/sec OptimistAtomicQueue2, 8,s: 49,050,745 msg/sec OptimistAtomicQueue2, 8,i: 39,909,979 msg/sec AtomicQueueB2, 1,s: 73,490,668 msg/sec AtomicQueueB2, 1,i: 75,575,563 msg/sec AtomicQueueB2, 2,s: 9,853,858 msg/sec AtomicQueueB2, 2,i: 10,417,216 msg/sec AtomicQueueB2, 3,s: 8,316,544 msg/sec AtomicQueueB2, 3,i: 8,835,885 msg/sec AtomicQueueB2, 4,s: 6,615,563 msg/sec AtomicQueueB2, 4,i: 6,981,796 msg/sec AtomicQueueB2, 5,s: 3,099,034 msg/sec AtomicQueueB2, 5,i: 4,325,745 msg/sec AtomicQueueB2, 6,s: 2,555,798 msg/sec AtomicQueueB2, 6,i: 3,429,583 msg/sec AtomicQueueB2, 7,s: 2,892,963 msg/sec AtomicQueueB2, 7,i: 3,177,854 msg/sec AtomicQueueB2, 8,s: 3,011,465 msg/sec AtomicQueueB2, 8,i: 2,863,747 msg/sec OptimistAtomicQueueB2, 1,s: 152,169,796 msg/sec OptimistAtomicQueueB2, 1,i: 152,070,294 msg/sec OptimistAtomicQueueB2, 2,s: 42,105,890 msg/sec OptimistAtomicQueueB2, 2,i: 45,801,072 msg/sec OptimistAtomicQueueB2, 3,s: 56,930,963 msg/sec OptimistAtomicQueueB2, 3,i: 53,166,301 msg/sec OptimistAtomicQueueB2, 4,s: 58,968,223 msg/sec OptimistAtomicQueueB2, 4,i: 59,724,947 msg/sec OptimistAtomicQueueB2, 5,s: 31,347,178 msg/sec OptimistAtomicQueueB2, 5,i: 32,674,875 msg/sec OptimistAtomicQueueB2, 6,s: 32,966,328 msg/sec OptimistAtomicQueueB2, 6,i: 32,268,201 msg/sec OptimistAtomicQueueB2, 7,s: 37,124,602 msg/sec OptimistAtomicQueueB2, 7,i: 37,042,629 msg/sec OptimistAtomicQueueB2, 8,s: 47,985,917 msg/sec OptimistAtomicQueueB2, 8,i: 39,007,457 msg/sec moodycamel::ReaderWriterQueue, 1,s: 191,851,515 msg/sec moodycamel::ReaderWriterQueue, 1,i: 122,318,450 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,003,658 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,263,764 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,332,320 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,054,725 msg/sec moodycamel::ConcurrentQueue, 3,s: 53,481,284 msg/sec moodycamel::ConcurrentQueue, 3,i: 51,992,011 msg/sec moodycamel::ConcurrentQueue, 4,s: 99,461,821 msg/sec moodycamel::ConcurrentQueue, 4,i: 101,878,998 msg/sec moodycamel::ConcurrentQueue, 5,s: 103,609,761 msg/sec moodycamel::ConcurrentQueue, 5,i: 183,645,695 msg/sec moodycamel::ConcurrentQueue, 6,s: 194,910,255 msg/sec moodycamel::ConcurrentQueue, 6,i: 221,461,634 msg/sec moodycamel::ConcurrentQueue, 7,s: 220,163,166 msg/sec moodycamel::ConcurrentQueue, 7,i: 234,567,494 msg/sec moodycamel::ConcurrentQueue, 8,s: 271,850,883 msg/sec moodycamel::ConcurrentQueue, 8,i: 243,199,822 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,824,452 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,847,528 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,147,077 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,146,548 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,982,430 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,076,956 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,416,731 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,627,574 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,074,031 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,100,746 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,796,132 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,724,031 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,666,706 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,145,276 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,793,399 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,813,268 msg/sec xenium::michael_scott_queue, 1,s: 13,408,178 msg/sec xenium::michael_scott_queue, 1,i: 13,671,200 msg/sec xenium::michael_scott_queue, 2,s: 9,413,873 msg/sec xenium::michael_scott_queue, 2,i: 9,169,313 msg/sec xenium::michael_scott_queue, 3,s: 7,642,720 msg/sec xenium::michael_scott_queue, 3,i: 7,550,979 msg/sec xenium::michael_scott_queue, 4,s: 5,882,254 msg/sec xenium::michael_scott_queue, 4,i: 5,815,410 msg/sec xenium::michael_scott_queue, 5,s: 3,618,951 msg/sec xenium::michael_scott_queue, 5,i: 4,645,011 msg/sec xenium::michael_scott_queue, 6,s: 3,331,479 msg/sec xenium::michael_scott_queue, 6,i: 3,596,634 msg/sec xenium::michael_scott_queue, 7,s: 3,194,507 msg/sec xenium::michael_scott_queue, 7,i: 3,332,446 msg/sec xenium::michael_scott_queue, 8,s: 2,350,305 msg/sec xenium::michael_scott_queue, 8,i: 2,789,076 msg/sec xenium::ramalhete_queue, 1,s: 72,806,241 msg/sec xenium::ramalhete_queue, 1,i: 72,867,515 msg/sec xenium::ramalhete_queue, 2,s: 50,159,877 msg/sec xenium::ramalhete_queue, 2,i: 51,181,436 msg/sec xenium::ramalhete_queue, 3,s: 43,718,819 msg/sec xenium::ramalhete_queue, 3,i: 43,044,421 msg/sec xenium::ramalhete_queue, 4,s: 50,536,682 msg/sec xenium::ramalhete_queue, 4,i: 49,780,100 msg/sec xenium::ramalhete_queue, 5,s: 37,414,601 msg/sec xenium::ramalhete_queue, 5,i: 23,758,565 msg/sec xenium::ramalhete_queue, 6,s: 38,781,233 msg/sec xenium::ramalhete_queue, 6,i: 26,071,560 msg/sec xenium::ramalhete_queue, 7,s: 39,570,670 msg/sec xenium::ramalhete_queue, 7,i: 28,504,102 msg/sec xenium::ramalhete_queue, 8,s: 50,037,850 msg/sec xenium::ramalhete_queue, 8,i: 29,954,867 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,739,377 msg/sec xenium::vyukov_bounded_queue, 1,i: 309,540,049 msg/sec xenium::vyukov_bounded_queue, 2,s: 21,974,637 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,336,748 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,446,196 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,097,413 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,266,124 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,463,835 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,080,818 msg/sec xenium::vyukov_bounded_queue, 5,i: 8,446,803 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,029,008 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,953,635 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,263,504 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,446,001 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,223,088 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,560,659 msg/sec boost::lockfree::queue, 1,s: 7,721,468 msg/sec boost::lockfree::queue, 1,i: 7,859,669 msg/sec boost::lockfree::queue, 2,s: 5,824,446 msg/sec boost::lockfree::queue, 2,i: 5,908,579 msg/sec boost::lockfree::queue, 3,s: 4,954,190 msg/sec boost::lockfree::queue, 3,i: 4,800,884 msg/sec boost::lockfree::queue, 4,s: 4,379,707 msg/sec boost::lockfree::queue, 4,i: 4,365,360 msg/sec boost::lockfree::queue, 5,s: 2,644,027 msg/sec boost::lockfree::queue, 5,i: 2,902,044 msg/sec boost::lockfree::queue, 6,s: 1,440,302 msg/sec boost::lockfree::queue, 6,i: 2,993,337 msg/sec boost::lockfree::queue, 7,s: 1,372,681 msg/sec boost::lockfree::queue, 7,i: 2,851,789 msg/sec boost::lockfree::queue, 8,s: 1,155,756 msg/sec boost::lockfree::queue, 8,i: 1,835,443 msg/sec std::mutex, 1,s: 3,949,880 msg/sec std::mutex, 1,i: 4,054,839 msg/sec std::mutex, 2,s: 13,006,228 msg/sec std::mutex, 2,i: 12,583,723 msg/sec std::mutex, 3,s: 7,138,689 msg/sec std::mutex, 3,i: 6,913,556 msg/sec std::mutex, 4,s: 7,088,325 msg/sec std::mutex, 4,i: 6,636,818 msg/sec std::mutex, 5,s: 3,311,948 msg/sec std::mutex, 5,i: 3,360,058 msg/sec std::mutex, 6,s: 2,981,517 msg/sec std::mutex, 6,i: 2,946pthread_spinlock: producers: 4: consumer 2 received too few messages: 0.07% of expected. ,920 msg/sec std::mutex, 7,s: 3,199,295 msg/sec std::mutex, 7,i: 2,906,534 msg/sec std::mutex, 8,s: 3,485,259 msg/sec std::mutex, 8,i: 2,837,623 msg/sec pthread_spinlock, 1,s: 17,763,833 msg/sec pthread_spinlock, 1,i: 18,122,798 msg/sec pthread_spinlock, 2,s: 7,805,374 msg/sec pthread_spinlock, 2,i: 1,876,560 msg/sec pthread_spinlock, 3,s: 846,490 msg/sec pthread_spinlock, 3,i: 5,376,563 msg/sec pthread_spinlock, 4,s: 2,672,722 msg/sec pthread_spinlock, 4,i: 1,377,740 msg/sec pthread_spinlock, 5,s: 2,764,443 msg/sec pthread_spinlock, 5,i: 727,133 msg/sec pthread_spinlock, 6,s: 2,031,002 msg/sec pthread_spinlock, 6,i: 3,182,899 msg/sec pthread_spinlock, 7,s: 2,887,035 msg/sec pthread_spinlock, 7,i: 3,064,819 msg/sec pthread_spinlock, 8,s: 2,991,245 msg/sec pthread_spinlock, 8,i: 2,680,460 msg/sec tbb::spin_mutex, 1,s: 38,561,271 msg/sec tbb::spin_mutex, 1,i: 39,159,824 msg/sec tbb::spin_mutex, 2,s: 16,449,576 msg/sec tbb::spin_mutex, 2,i: 16,026,954 msg/sec tbb::spin_mutex, 3,s: 12,086,423 msg/sec tbb::spin_mutex, 3,i: 11,925,949 msg/sec tbb::spin_mutex, 4,s: 10,489,126 msg/sec tbb::spin_mutex, 4,i: 9,947,134 msg/sec tbb::spin_mutex, 5,s: 5,948,630 msg/sec tbb::spin_mutex, 5,i: 5,482,156 msg/sec tbb::spin_mutex, 6,s: 5,142,018 msg/sec tbb::spin_mutex, 6,i: 4,895,731 msg/sec tbb::spin_mutex, 7,s: 4,380,958 msg/sec tbb::spin_mutex, 7,i: 4,667,542 msg/sec tbb::spin_mutex, 8,s: 4,301,752 msg/sec tbb::spin_mutex, 8,i: 4,088,043 msg/sec Elapsed time 2:43.52, user 1294.59s, system 110.79s, CPU 859%, RSS 57160kB, exit-status 0. 2026-09-14 16:44:44 [23/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip AtomicQueue: 0.000000111 sec/round-trip OptimistAtomicQueue: 0.000000099 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000091 sec/round-trip AtomicQueue2: 0.000000118 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000119 sec/round-trip OptimistAtomicQueueB2: 0.000000102 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000167 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000256 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000144 sec/round-trip boost::lockfree::queue: 0.000000213 sec/round-trip std::mutex: 0.000000446 sec/round-trip pthread_spinlock: 0.000000226 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 113,991,747 msg/sec boost::lockfree::spsc_queue, 1,i: 113,989,019 msg/sec AtomicQueue, 1,s: 147,487,610 msg/sec AtomicQueue, 1,i: 145,029,533 msg/sec AtomicQueue, 2,s: 9,896,823 msg/sec AtomicQueue, 2,i: 10,340,507 msg/sec AtomicQueue, 3,s: 8,336,780 msg/sec AtomicQueue, 3,i: 8,818,697 msg/sec AtomicQueue, 4,s: 6,597,557 msg/sec AtomicQueue, 4,i: 7,016,857 msg/sec AtomicQueue, 5,s: 3,175,288 msg/sec AtomicQueue, 5,i: 3,787,737 msg/sec AtomicQueue, 6,s: 2,597,262 msg/sec AtomicQueue, 6,i: 4,034,208 msg/sec AtomicQueue, 7,s: 2,976,651 msg/sec AtomicQueue, 7,i: 3,196,948 msg/sec AtomicQueue, 8,s: 3,117,440 msg/sec AtomicQueue, 8,i: 2,901,321 msg/sec OptimistAtomicQueue, 1,s: 1,195,162,049 msg/sec OptimistAtomicQueue, 1,i: 1,207,529,875 msg/sec OptimistAtomicQueue, 2,s: 47,516,724 msg/sec OptimistAtomicQueue, 2,i: 59,845,468 msg/sec OptimistAtomicQueue, 3,s: 58,574,008 msg/sec OptimistAtomicQueue, 3,i: 59,074,551 msg/sec OptimistAtomicQueue, 4,s: 59,234,799 msg/sec OptimistAtomicQueue, 4,i: 66,217,193 msg/sec OptimistAtomicQueue, 5,s: 33,223,398 msg/sec OptimistAtomicQueue, 5,i: 51,260,745 msg/sec OptimistAtomicQueue, 6,s: 34,645,934 msg/sec OptimistAtomicQueue, 6,i: 35,160,868 msg/sec OptimistAtomicQueue, 7,s: 40,248,953 msg/sec OptimistAtomicQueue, 7,i: 40,142,756 msg/sec OptimistAtomicQueue, 8,s: 50,760,366 msg/sec OptimistAtomicQueue, 8,i: 41,224,173 msg/sec AtomicQueueB, 1,s: 50,607,472 msg/sec AtomicQueueB, 1,i: 49,687,447 msg/sec AtomicQueueB, 2,s: 9,559,162 msg/sec AtomicQueueB, 2,i: 10,024,822 msg/sec AtomicQueueB, 3,s: 8,277,662 msg/sec AtomicQueueB, 3,i: 8,703,450 msg/sec AtomicQueueB, 4,s: 6,543,185 msg/sec AtomicQueueB, 4,i: 6,916,152 msg/sec AtomicQueueB, 5,s: 3,154,979 msg/sec AtomicQueueB, 5,i: 4,363,695 msg/sec AtomicQueueB, 6,s: 2,601,861 msg/sec AtomicQueueB, 6,i: 3,483,929 msg/sec AtomicQueueB, 7,s: 2,922,786 msg/sec AtomicQueueB, 7,i: 3,185,953 msg/sec AtomicQueueB, 8,s: 3,059,513 msg/sec AtomicQueueB, 8,i: 2,885,003 msg/sec OptimistAtomicQueueB, 1,s: 533,399,442 msg/sec OptimistAtomicQueueB, 1,i: 522,442,424 msg/sec OptimistAtomicQueueB, 2,s: 46,512,235 msg/sec OptimistAtomicQueueB, 2,i: 48,806,778 msg/sec OptimistAtomicQueueB, 3,s: 58,563,615 msg/sec OptimistAtomicQueueB, 3,i: 57,207,954 msg/sec OptimistAtomicQueueB, 4,s: 59,538,798 msg/sec OptimistAtomicQueueB, 4,i: 66,319,292 msg/sec OptimistAtomicQueueB, 5,s: 33,053,104 msg/sec OptimistAtomicQueueB, 5,i: 39,755,966 msg/sec OptimistAtomicQueueB, 6,s: 34,370,806 msg/sec OptimistAtomicQueueB, 6,i: 34,859,031 msg/sec OptimistAtomicQueueB, 7,s: 39,412,395 msg/sec OptimistAtomicQueueB, 7,i: 40,013,906 msg/sec OptimistAtomicQueueB, 8,s: 51,445,551 msg/sec OptimistAtomicQueueB, 8,i: 41,244,252 msg/sec AtomicQueue2, 1,s: 126,875,058 msg/sec AtomicQueue2, 1,i: 130,392,450 msg/sec AtomicQueue2, 2,s: 9,956,688 msg/sec AtomicQueue2, 2,i: 10,536,934 msg/sec AtomicQueue2, 3,s: 8,414,206 msg/sec AtomicQueue2, 3,i: 8,892,917 msg/sec AtomicQueue2, 4,s: 6,689,981 msg/sec AtomicQueue2, 4,i: 7,085,738 msg/sec AtomicQueue2, 5,s: 3,132,960 msg/sec AtomicQueue2, 5,i: 4,285,734 msg/sec AtomicQueue2, 6,s: 2,565,587 msg/sec AtomicQueue2, 6,i: 3,502,977 msg/sec AtomicQueue2, 7,s: 2,898,763 msg/sec AtomicQueue2, 7,i: 3,206,022 msg/sec AtomicQueue2, 8,s: 3,008,222 msg/sec AtomicQueue2, 8,i: 2,881,073 msg/sec OptimistAtomicQueue2, 1,s: 107,516,822 msg/sec OptimistAtomicQueue2, 1,i: 107,180,455 msg/sec OptimistAtomicQueue2, 2,s: 43,530,236 msg/sec OptimistAtomicQueue2, 2,i: 46,880,470 msg/sec OptimistAtomicQueue2, 3,s: 55,094,547 msg/sec OptimistAtomicQueue2, 3,i: 50,062,699 msg/sec OptimistAtomicQueue2, 4,s: 59,237,396 msg/sec OptimistAtomicQueue2, 4,i: 57,965,981 msg/sec OptimistAtomicQueue2, 5,s: 31,441,497 msg/sec OptimistAtomicQueue2, 5,i: 32,829,037 msg/sec OptimistAtomicQueue2, 6,s: 32,990,940 msg/sec OptimistAtomicQueue2, 6,i: 32,505,390 msg/sec OptimistAtomicQueue2, 7,s: 37,671,624 msg/sec OptimistAtomicQueue2, 7,i: 37,768,356 msg/sec OptimistAtomicQueue2, 8,s: 49,077,079 msg/sec OptimistAtomicQueue2, 8,i: 39,858,424 msg/sec AtomicQueueB2, 1,s: 87,245,420 msg/sec AtomicQueueB2, 1,i: 72,993,462 msg/sec AtomicQueueB2, 2,s: 9,854,982 msg/sec AtomicQueueB2, 2,i: 10,429,196 msg/sec AtomicQueueB2, 3,s: 8,321,970 msg/sec AtomicQueueB2, 3,i: 8,822,146 msg/sec AtomicQueueB2, 4,s: 6,623,932 msg/sec AtomicQueueB2, 4,i: 6,968,367 msg/sec AtomicQueueB2, 5,s: 3,091,290 msg/sec AtomicQueueB2, 5,i: 4,323,928 msg/sec AtomicQueueB2, 6,s: 2,565,056 msg/sec AtomicQueueB2, 6,i: 3,434,807 msg/sec AtomicQueueB2, 7,s: 2,891,722 msg/sec AtomicQueueB2, 7,i: 3,150,501 msg/sec AtomicQueueB2, 8,s: 3,006,417 msg/sec AtomicQueueB2, 8,i: 2,863,595 msg/sec OptimistAtomicQueueB2, 1,s: 150,546,762 msg/sec OptimistAtomicQueueB2, 1,i: 150,488,765 msg/sec OptimistAtomicQueueB2, 2,s: 42,246,984 msg/sec OptimistAtomicQueueB2, 2,i: 46,260,068 msg/sec OptimistAtomicQueueB2, 3,s: 56,922,278 msg/sec OptimistAtomicQueueB2, 3,i: 53,116,995 msg/sec OptimistAtomicQueueB2, 4,s: 58,926,422 msg/sec OptimistAtomicQueueB2, 4,i: 59,919,838 msg/sec OptimistAtomicQueueB2, 5,s: 31,326,821 msg/sec OptimistAtomicQueueB2, 5,i: 32,604,255 msg/sec OptimistAtomicQueueB2, 6,s: 32,896,620 msg/sec OptimistAtomicQueueB2, 6,i: 32,244,094 msg/sec OptimistAtomicQueueB2, 7,s: 37,119,186 msg/sec OptimistAtomicQueueB2, 7,i: 37,036,717 msg/sec OptimistAtomicQueueB2, 8,s: 48,021,679 msg/sec OptimistAtomicQueueB2, 8,i: 38,947,692 msg/sec moodycamel::ReaderWriterQueue, 1,s: 92,731,615 msg/sec moodycamel::ReaderWriterQueue, 1,i: 52,065,101 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,232,842 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,242,154 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,462,201 msg/sec moodycamel::ConcurrentQueue, 2,i: 33,263,900 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,002,225 msg/sec moodycamel::ConcurrentQueue, 3,i: 50,703,410 msg/sec moodycamel::ConcurrentQueue, 4,s: 107,649,342 msg/sec moodycamel::ConcurrentQueue, 4,i: 95,050,203 msg/sec moodycamel::ConcurrentQueue, 5,s: 111,312,723 msg/sec moodycamel::ConcurrentQueue, 5,i: 177,745,142 msg/sec moodycamel::ConcurrentQueue, 6,s: 197,825,164 msg/sec moodycamel::ConcurrentQueue, 6,i: 223,736,862 msg/sec moodycamel::ConcurrentQueue, 7,s: 228,878,953 msg/sec moodycamel::ConcurrentQueue, 7,i: 230,477,797 msg/sec moodycamel::ConcurrentQueue, 8,s: 277,312,567 msg/sec moodycamel::ConcurrentQueue, 8,i: 237,311,981 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,796,516 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,816,138 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,139,927 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,141,415 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,972,599 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,070,863 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,418,820 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,627,517 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,068,663 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,110,853 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,795,496 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,714,743 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,660,749 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,140,605 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,790,066 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,818,497 msg/sec xenium::michael_scott_queue, 1,s: 13,344,105 msg/sec xenium::michael_scott_queue, 1,i: 13,709,062 msg/sec xenium::michael_scott_queue, 2,s: 9,397,906 msg/sec xenium::michael_scott_queue, 2,i: 9,173,868 msg/sec xenium::michael_scott_queue, 3,s: 7,631,157 msg/sec xenium::michael_scott_queue, 3,i: 7,522,814 msg/sec xenium::michael_scott_queue, 4,s: 5,870,966 msg/sec xenium::michael_scott_queue, 4,i: 5,888,706 msg/sec xenium::michael_scott_queue, 5,s: 3,651,554 msg/sec xenium::michael_scott_queue, 5,i: 4,686,089 msg/sec xenium::michael_scott_queue, 6,s: 3,334,192 msg/sec xenium::michael_scott_queue, 6,i: 3,610,090 msg/sec xenium::michael_scott_queue, 7,s: 3,217,311 msg/sec xenium::michael_scott_queue, 7,i: 3,177,102 msg/sec xenium::michael_scott_queue, 8,s: 2,351,098 msg/sec xenium::michael_scott_queue, 8,i: 2,787,429 msg/sec xenium::ramalhete_queue, 1,s: 82,797,478 msg/sec xenium::ramalhete_queue, 1,i: 82,270,127 msg/sec xenium::ramalhete_queue, 2,s: 51,583,994 msg/sec xenium::ramalhete_queue, 2,i: 36,132,106 msg/sec xenium::ramalhete_queue, 3,s: 43,328,422 msg/sec xenium::ramalhete_queue, 3,i: 42,474,541 msg/sec xenium::ramalhete_queue, 4,s: 51,279,119 msg/sec xenium::ramalhete_queue, 4,i: 47,946,230 msg/sec xenium::ramalhete_queue, 5,s: 37,447,217 msg/sec xenium::ramalhete_queue, 5,i: 23,809,906 msg/sec xenium::ramalhete_queue, 6,s: 38,530,741 msg/sec xenium::ramalhete_queue, 6,i: 26,143,788 msg/sec xenium::ramalhete_queue, 7,s: 39,640,188 msg/sec xenium::ramalhete_queue, 7,i: 28,415,213 msg/sec xenium::ramalhete_queue, 8,s: 50,071,898 msg/sec xenium::ramalhete_queue, 8,i: 28,910,530 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,686,572 msg/sec xenium::vyukov_bounded_queue, 1,i: 313,867,188 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,072,101 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,721,504 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,769,084 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,008,246 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,376,579 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,561,683 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,085,884 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,217,635 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,136,952 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,814,667 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,221,194 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,450,899 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,450,692 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,573,663 msg/sec boost::lockfree::queue, 1,s: 7,713,975 msg/sec boost::lockfree::queue, 1,i: 7,844,145 msg/sec boost::lockfree::queue, 2,s: 5,834,696 msg/sec boost::lockfree::queue, 2,i: 5,901,428 msg/sec boost::lockfree::queue, 3,s: 4,948,059 msg/sec boost::lockfree::queue, 3,i: 4,799,909 msg/sec boost::lockfree::queue, 4,s: 4,361,412 msg/sec boost::lockfree::queue, 4,i: 4,335,688 msg/sec boost::lockfree::queue, 5,s: 2,658,855 msg/sec boost::lockfree::queue, 5,i: 2,900,631 msg/sec boost::lockfree::queue, 6,s: 1,437,584 msg/sec boost::lockfree::queue, 6,i: 2,833,546 msg/sec boost::lockfree::queue, 7,s: 1,384,512 msg/sec boost::lockfree::queue, 7,i: 2,831,470 msg/sec boost::lockfree::queue, 8,s: 1,153,571 msg/sec boost::lockfree::queue, 8,i: 1,903,001 msg/sec std::mutex, 1,s: 3,662,587 msg/sec std::mutex, 1,i: 3,515,897 msg/sec std::mutex, 2,s: 13,248,929 msg/sec std::mutex, 2,i: 12,684,789 msg/sec std::mutex, 3,s: 6,899,674 msg/sec std::mutex, 3,i: 6,653,587 msg/sec std::mutex, 4,s: 6,985,739 msg/sec std::mutex, 4,i: 6,688,386 msg/sec std::mutex, 5,s: 3,293,582 msg/sec std::mutex, 5,i: 3,411,437 msg/sec std::mutex, 6,s: 2,970,012 msg/sec std::mutex, 6,i: 3,032pthread_spinlock: producers: 5: consumer 2 received too few messages: 0.07% of expected. ,326 msg/sec std::mutex, 7,s: 3,305,284 msg/sec std::mutex, 7,i: 2,916,741 msg/sec std::mutex, 8,s: 3,472,604 msg/sec std::mutex, 8,i: 2,810,951 msg/sec pthread_spinlock, 1,s: 17,761,492 msg/sec pthread_spinlock, 1,i: 18,227,398 msg/sec pthread_spinlock, 2,s: 7,656,424 msg/sec pthread_spinlock, 2,i: 1,537,902 msg/sec pthread_spinlock, 3,s: 758,427 msg/sec pthread_spinlock, 3,i: 6,159,603 msg/sec pthread_spinlock, 4,s: 1,475,889 msg/sec pthread_spinlock, 4,i: 976,345 msg/sec pthread_spinlock, 5,s: 2,790,548 msg/sec pthread_spinlock, 5,i: 3,694,273 msg/sec pthread_spinlock, 6,s: 2,101,178 msg/sec pthread_spinlock, 6,i: 3,471,964 msg/sec pthread_spinlock, 7,s: 2,882,303 msg/sec pthread_spinlock, 7,i: 3,067,673 msg/sec pthread_spinlock, 8,s: 2,969,428 msg/sec pthread_spinlock, 8,i: 2,653,943 msg/sec tbb::spin_mutex, 1,s: 38,323,205 msg/sec tbb::spin_mutex, 1,i: 38,432,370 msg/sec tbb::spin_mutex, 2,s: 16,557,963 msg/sec tbb::spin_mutex, 2,i: 16,034,345 msg/sec tbb::spin_mutex, 3,s: 12,057,459 msg/sec tbb::spin_mutex, 3,i: 11,868,245 msg/sec tbb::spin_mutex, 4,s: 10,301,289 msg/sec tbb::spin_mutex, 4,i: 9,998,391 msg/sec tbb::spin_mutex, 5,s: 5,953,712 msg/sec tbb::spin_mutex, 5,i: 5,574,799 msg/sec tbb::spin_mutex, 6,s: 5,113,062 msg/sec tbb::spin_mutex, 6,i: 4,803,731 msg/sec tbb::spin_mutex, 7,s: 4,383,999 msg/sec tbb::spin_mutex, 7,i: 4,730,131 msg/sec tbb::spin_mutex, 8,s: 4,267,907 msg/sec tbb::spin_mutex, 8,i: 4,073,139 msg/sec Elapsed time 2:44.32, user 1295.32s, system 111.05s, CPU 855%, RSS 57672kB, exit-status 0. 2026-09-14 16:47:29 [24/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip AtomicQueue: 0.000000111 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000081 sec/round-trip AtomicQueue2: 0.000000118 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000293 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000138 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000455 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,028,540 msg/sec boost::lockfree::spsc_queue, 1,i: 112,172,753 msg/sec AtomicQueue, 1,s: 144,510,411 msg/sec AtomicQueue, 1,i: 141,649,625 msg/sec AtomicQueue, 2,s: 9,896,729 msg/sec AtomicQueue, 2,i: 10,340,699 msg/sec AtomicQueue, 3,s: 8,340,672 msg/sec AtomicQueue, 3,i: 8,825,098 msg/sec AtomicQueue, 4,s: 6,613,759 msg/sec AtomicQueue, 4,i: 7,008,150 msg/sec AtomicQueue, 5,s: 3,146,089 msg/sec AtomicQueue, 5,i: 4,321,130 msg/sec AtomicQueue, 6,s: 2,598,124 msg/sec AtomicQueue, 6,i: 3,550,808 msg/sec AtomicQueue, 7,s: 2,963,908 msg/sec AtomicQueue, 7,i: 3,212,081 msg/sec AtomicQueue, 8,s: 3,112,403 msg/sec AtomicQueue, 8,i: 2,893,178 msg/sec OptimistAtomicQueue, 1,s: 1,193,009,092 msg/sec OptimistAtomicQueue, 1,i: 1,193,066,024 msg/sec OptimistAtomicQueue, 2,s: 46,942,286 msg/sec OptimistAtomicQueue, 2,i: 52,665,120 msg/sec OptimistAtomicQueue, 3,s: 58,750,539 msg/sec OptimistAtomicQueue, 3,i: 59,488,022 msg/sec OptimistAtomicQueue, 4,s: 59,238,027 msg/sec OptimistAtomicQueue, 4,i: 66,254,834 msg/sec OptimistAtomicQueue, 5,s: 33,314,054 msg/sec OptimistAtomicQueue, 5,i: 44,311,904 msg/sec OptimistAtomicQueue, 6,s: 34,490,606 msg/sec OptimistAtomicQueue, 6,i: 35,232,978 msg/sec OptimistAtomicQueue, 7,s: 40,152,975 msg/sec OptimistAtomicQueue, 7,i: 40,042,874 msg/sec OptimistAtomicQueue, 8,s: 50,491,365 msg/sec OptimistAtomicQueue, 8,i: 41,278,012 msg/sec AtomicQueueB, 1,s: 52,545,188 msg/sec AtomicQueueB, 1,i: 50,003,297 msg/sec AtomicQueueB, 2,s: 9,673,630 msg/sec AtomicQueueB, 2,i: 10,105,182 msg/sec AtomicQueueB, 3,s: 8,242,681 msg/sec AtomicQueueB, 3,i: 8,739,661 msg/sec AtomicQueueB, 4,s: 6,544,297 msg/sec AtomicQueueB, 4,i: 6,908,357 msg/sec AtomicQueueB, 5,s: 3,126,866 msg/sec AtomicQueueB, 5,i: 3,795,773 msg/sec AtomicQueueB, 6,s: 2,603,655 msg/sec AtomicQueueB, 6,i: 3,513,409 msg/sec AtomicQueueB, 7,s: 2,929,625 msg/sec AtomicQueueB, 7,i: 3,215,514 msg/sec AtomicQueueB, 8,s: 3,050,986 msg/sec AtomicQueueB, 8,i: 2,874,404 msg/sec OptimistAtomicQueueB, 1,s: 520,728,552 msg/sec OptimistAtomicQueueB, 1,i: 653,809,604 msg/sec OptimistAtomicQueueB, 2,s: 51,885,408 msg/sec OptimistAtomicQueueB, 2,i: 48,575,063 msg/sec OptimistAtomicQueueB, 3,s: 58,553,979 msg/sec OptimistAtomicQueueB, 3,i: 57,892,607 msg/sec OptimistAtomicQueueB, 4,s: 59,523,878 msg/sec OptimistAtomicQueueB, 4,i: 66,346,968 msg/sec OptimistAtomicQueueB, 5,s: 33,003,591 msg/sec OptimistAtomicQueueB, 5,i: 39,453,223 msg/sec OptimistAtomicQueueB, 6,s: 34,422,235 msg/sec OptimistAtomicQueueB, 6,i: 35,001,242 msg/sec OptimistAtomicQueueB, 7,s: 39,342,280 msg/sec OptimistAtomicQueueB, 7,i: 39,965,676 msg/sec OptimistAtomicQueueB, 8,s: 51,445,101 msg/sec OptimistAtomicQueueB, 8,i: 41,205,726 msg/sec AtomicQueue2, 1,s: 130,504,247 msg/sec AtomicQueue2, 1,i: 138,955,686 msg/sec AtomicQueue2, 2,s: 9,960,135 msg/sec AtomicQueue2, 2,i: 10,530,474 msg/sec AtomicQueue2, 3,s: 8,409,981 msg/sec AtomicQueue2, 3,i: 8,916,691 msg/sec AtomicQueue2, 4,s: 6,676,511 msg/sec AtomicQueue2, 4,i: 7,089,038 msg/sec AtomicQueue2, 5,s: 3,144,965 msg/sec AtomicQueue2, 5,i: 4,284,122 msg/sec AtomicQueue2, 6,s: 2,567,181 msg/sec AtomicQueue2, 6,i: 3,509,861 msg/sec AtomicQueue2, 7,s: 2,903,295 msg/sec AtomicQueue2, 7,i: 3,222,589 msg/sec AtomicQueue2, 8,s: 3,008,170 msg/sec AtomicQueue2, 8,i: 2,904,945 msg/sec OptimistAtomicQueue2, 1,s: 107,598,495 msg/sec OptimistAtomicQueue2, 1,i: 107,181,948 msg/sec OptimistAtomicQueue2, 2,s: 43,464,868 msg/sec OptimistAtomicQueue2, 2,i: 47,387,278 msg/sec OptimistAtomicQueue2, 3,s: 56,612,411 msg/sec OptimistAtomicQueue2, 3,i: 49,965,497 msg/sec OptimistAtomicQueue2, 4,s: 59,193,741 msg/sec OptimistAtomicQueue2, 4,i: 57,944,519 msg/sec OptimistAtomicQueue2, 5,s: 31,425,837 msg/sec OptimistAtomicQueue2, 5,i: 34,019,879 msg/sec OptimistAtomicQueue2, 6,s: 32,990,798 msg/sec OptimistAtomicQueue2, 6,i: 32,457,345 msg/sec OptimistAtomicQueue2, 7,s: 37,753,485 msg/sec OptimistAtomicQueue2, 7,i: 37,746,103 msg/sec OptimistAtomicQueue2, 8,s: 51,259,668 msg/sec OptimistAtomicQueue2, 8,i: 39,834,530 msg/sec AtomicQueueB2, 1,s: 73,846,236 msg/sec AtomicQueueB2, 1,i: 48,086,104 msg/sec AtomicQueueB2, 2,s: 9,854,195 msg/sec AtomicQueueB2, 2,i: 10,436,496 msg/sec AtomicQueueB2, 3,s: 8,323,378 msg/sec AtomicQueueB2, 3,i: 8,826,927 msg/sec AtomicQueueB2, 4,s: 6,607,878 msg/sec AtomicQueueB2, 4,i: 6,969,151 msg/sec AtomicQueueB2, 5,s: 3,099,514 msg/sec AtomicQueueB2, 5,i: 4,320,633 msg/sec AtomicQueueB2, 6,s: 2,555,499 msg/sec AtomicQueueB2, 6,i: 3,977,219 msg/sec AtomicQueueB2, 7,s: 2,890,125 msg/sec AtomicQueueB2, 7,i: 3,170,548 msg/sec AtomicQueueB2, 8,s: 3,009,302 msg/sec AtomicQueueB2, 8,i: 2,848,791 msg/sec OptimistAtomicQueueB2, 1,s: 150,746,921 msg/sec OptimistAtomicQueueB2, 1,i: 150,652,903 msg/sec OptimistAtomicQueueB2, 2,s: 42,041,545 msg/sec OptimistAtomicQueueB2, 2,i: 46,017,861 msg/sec OptimistAtomicQueueB2, 3,s: 56,887,534 msg/sec OptimistAtomicQueueB2, 3,i: 53,214,311 msg/sec OptimistAtomicQueueB2, 4,s: 59,030,460 msg/sec OptimistAtomicQueueB2, 4,i: 59,910,792 msg/sec OptimistAtomicQueueB2, 5,s: 31,386,709 msg/sec OptimistAtomicQueueB2, 5,i: 31,422,282 msg/sec OptimistAtomicQueueB2, 6,s: 32,943,164 msg/sec OptimistAtomicQueueB2, 6,i: 32,276,043 msg/sec OptimistAtomicQueueB2, 7,s: 37,135,107 msg/sec OptimistAtomicQueueB2, 7,i: 36,970,693 msg/sec OptimistAtomicQueueB2, 8,s: 48,012,227 msg/sec OptimistAtomicQueueB2, 8,i: 38,991,777 msg/sec moodycamel::ReaderWriterQueue, 1,s: 956,488,581 msg/sec moodycamel::ReaderWriterQueue, 1,i: 121,572,267 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,071,478 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,219,351 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,272,297 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,948,547 msg/sec moodycamel::ConcurrentQueue, 3,s: 50,064,478 msg/sec moodycamel::ConcurrentQueue, 3,i: 51,008,091 msg/sec moodycamel::ConcurrentQueue, 4,s: 98,347,604 msg/sec moodycamel::ConcurrentQueue, 4,i: 86,843,789 msg/sec moodycamel::ConcurrentQueue, 5,s: 141,388,872 msg/sec moodycamel::ConcurrentQueue, 5,i: 170,801,299 msg/sec moodycamel::ConcurrentQueue, 6,s: 197,713,305 msg/sec moodycamel::ConcurrentQueue, 6,i: 135,441,912 msg/sec moodycamel::ConcurrentQueue, 7,s: 227,779,485 msg/sec moodycamel::ConcurrentQueue, 7,i: 177,689,360 msg/sec moodycamel::ConcurrentQueue, 8,s: 225,553,084 msg/sec moodycamel::ConcurrentQueue, 8,i: 254,940,076 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,807,197 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,831,393 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,112,956 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,134,916 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,976,080 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,070,098 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,418,010 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,629,180 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,068,118 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,623,482 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,801,950 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,430,535 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,656,680 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,153,168 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,788,952 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,813,659 msg/sec xenium::michael_scott_queue, 1,s: 13,431,722 msg/sec xenium::michael_scott_queue, 1,i: 13,747,627 msg/sec xenium::michael_scott_queue, 2,s: 9,419,823 msg/sec xenium::michael_scott_queue, 2,i: 9,184,130 msg/sec xenium::michael_scott_queue, 3,s: 7,643,581 msg/sec xenium::michael_scott_queue, 3,i: 7,536,933 msg/sec xenium::michael_scott_queue, 4,s: 5,851,487 msg/sec xenium::michael_scott_queue, 4,i: 5,820,076 msg/sec xenium::michael_scott_queue, 5,s: 3,669,283 msg/sec xenium::michael_scott_queue, 5,i: 4,640,050 msg/sec xenium::michael_scott_queue, 6,s: 3,342,165 msg/sec xenium::michael_scott_queue, 6,i: 3,576,966 msg/sec xenium::michael_scott_queue, 7,s: 3,173,148 msg/sec xenium::michael_scott_queue, 7,i: 3,263,094 msg/sec xenium::michael_scott_queue, 8,s: 2,355,653 msg/sec xenium::michael_scott_queue, 8,i: 2,794,638 msg/sec xenium::ramalhete_queue, 1,s: 72,036,393 msg/sec xenium::ramalhete_queue, 1,i: 47,682,570 msg/sec xenium::ramalhete_queue, 2,s: 44,063,315 msg/sec xenium::ramalhete_queue, 2,i: 34,522,864 msg/sec xenium::ramalhete_queue, 3,s: 40,925,207 msg/sec xenium::ramalhete_queue, 3,i: 40,273,479 msg/sec xenium::ramalhete_queue, 4,s: 45,419,934 msg/sec xenium::ramalhete_queue, 4,i: 50,717,477 msg/sec xenium::ramalhete_queue, 5,s: 37,660,517 msg/sec xenium::ramalhete_queue, 5,i: 23,705,164 msg/sec xenium::ramalhete_queue, 6,s: 38,780,210 msg/sec xenium::ramalhete_queue, 6,i: 26,410,794 msg/sec xenium::ramalhete_queue, 7,s: 39,554,862 msg/sec xenium::ramalhete_queue, 7,i: 27,752,733 msg/sec xenium::ramalhete_queue, 8,s: 49,925,784 msg/sec xenium::ramalhete_queue, 8,i: 29,413,452 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,450,147 msg/sec xenium::vyukov_bounded_queue, 1,i: 308,619,166 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,576,150 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,791,917 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,638,829 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,207,635 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,635,289 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,555,560 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,092,000 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,583,656 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,091,636 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,885,071 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,323,531 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,469,765 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,358,874 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,552,494 msg/sec boost::lockfree::queue, 1,s: 7,753,482 msg/sec boost::lockfree::queue, 1,i: 7,874,223 msg/sec boost::lockfree::queue, 2,s: 5,805,768 msg/sec boost::lockfree::queue, 2,i: 5,916,859 msg/sec boost::lockfree::queue, 3,s: 4,939,470 msg/sec boost::lockfree::queue, 3,i: 4,800,939 msg/sec boost::lockfree::queue, 4,s: 4,379,524 msg/sec boost::lockfree::queue, 4,i: 4,357,550 msg/sec boost::lockfree::queue, 5,s: 2,662,574 msg/sec boost::lockfree::queue, 5,i: 2,910,842 msg/sec boost::lockfree::queue, 6,s: 1,444,033 msg/sec boost::lockfree::queue, 6,i: 2,788,672 msg/sec boost::lockfree::queue, 7,s: 1,382,594 msg/sec boost::lockfree::queue, 7,i: 2,853,268 msg/sec boost::lockfree::queue, 8,s: 1,157,994 msg/sec boost::lockfree::queue, 8,i: 1,821,436 msg/sec std::mutex, 1,s: 4,099,009 msg/sec std::mutex, 1,i: 3,799,891 msg/sec std::mutex, 2,s: 13,094,300 msg/sec std::mutex, 2,i: 12,796,680 msg/sec std::mutex, 3,s: 7,143,497 msg/sec std::mutex, 3,i: 6,930,156 msg/sec std::mutex, 4,s: 7,011,272 msg/sec std::mutex, 4,i: 6,642,693 msg/sec std::mutex, 5,s: 3,366,029 msg/sec std::mutex, 5,i: 3,462,044 msg/sec std::mutex, 6,s: 3,024,891 msg/sec std::mutex, 6,i: 2,944pthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. ,663 msg/sec std::mutex, 7,s: 3,258,585 msg/sec std::mutex, 7,i: 2,922,131 msg/sec std::mutex, 8,s: 3,426,715 msg/sec std::mutex, 8,i: 2,762,903 msg/sec pthread_spinlock, 1,s: 17,687,610 msg/sec pthread_spinlock, 1,i: 17,871,007 msg/sec pthread_spinlock, 2,s: 7,419,584 msg/sec pthread_spinlock, 2,i: 1,733,045 msg/sec pthread_spinlock, 3,s: 703,427 msg/sec pthread_spinlock, 3,i: 4,889,085 msg/sec pthread_spinlock, 4,s: 2,138,661 msg/sec pthread_spinlock, 4,i: 1,854,891 msg/sec pthread_spinlock, 5,s: 2,774,030 msg/sec pthread_spinlock, 5,i: 3,704,079 msg/sec pthread_spinlock, 6,s: 2,049,704 msg/sec pthread_spinlock, 6,i: 3,315,879 msg/sec pthread_spinlock, 7,s: 2,796,130 msg/sec pthread_spinlock, 7,i: 3,063,624 msg/sec pthread_spinlock, 8,s: 2,985,838 msg/sec pthread_spinlock, 8,i: 2,689,031 msg/sec tbb::spin_mutex, 1,s: 38,598,763 msg/sec tbb::spin_mutex, 1,i: 37,922,926 msg/sec tbb::spin_mutex, 2,s: 16,568,330 msg/sec tbb::spin_mutex, 2,i: 16,007,311 msg/sec tbb::spin_mutex, 3,s: 12,027,737 msg/sec tbb::spin_mutex, 3,i: 11,875,337 msg/sec tbb::spin_mutex, 4,s: 10,274,529 msg/sec tbb::spin_mutex, 4,i: 10,001,750 msg/sec tbb::spin_mutex, 5,s: 6,009,219 msg/sec tbb::spin_mutex, 5,i: 5,533,300 msg/sec tbb::spin_mutex, 6,s: 5,102,267 msg/sec tbb::spin_mutex, 6,i: 4,755,289 msg/sec tbb::spin_mutex, 7,s: 4,389,385 msg/sec tbb::spin_mutex, 7,i: 4,620,933 msg/sec tbb::spin_mutex, 8,s: 4,277,001 msg/sec tbb::spin_mutex, 8,i: 4,045,492 msg/sec Elapsed time 2:43.30, user 1290.36s, system 110.66s, CPU 857%, RSS 59976kB, exit-status 0. 2026-09-14 16:50:12 [25/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000109 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000119 sec/round-trip OptimistAtomicQueueB: 0.000000094 sec/round-trip AtomicQueue2: 0.000000109 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000121 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000144 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000446 sec/round-trip pthread_spinlock: 0.000000226 sec/round-trip tbb::spin_mutex: 0.000000202 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,977,003 msg/sec boost::lockfree::spsc_queue, 1,i: 113,769,080 msg/sec AtomicQueue, 1,s: 146,039,795 msg/sec AtomicQueue, 1,i: 147,382,406 msg/sec AtomicQueue, 2,s: 9,896,679 msg/sec AtomicQueue, 2,i: 10,336,108 msg/sec AtomicQueue, 3,s: 8,340,439 msg/sec AtomicQueue, 3,i: 8,789,957 msg/sec AtomicQueue, 4,s: 6,605,007 msg/sec AtomicQueue, 4,i: 7,026,238 msg/sec AtomicQueue, 5,s: 3,170,565 msg/sec AtomicQueue, 5,i: 4,319,247 msg/sec AtomicQueue, 6,s: 2,602,833 msg/sec AtomicQueue, 6,i: 3,517,993 msg/sec AtomicQueue, 7,s: 2,968,932 msg/sec AtomicQueue, 7,i: 3,248,609 msg/sec AtomicQueue, 8,s: 3,120,466 msg/sec AtomicQueue, 8,i: 2,898,335 msg/sec OptimistAtomicQueue, 1,s: 1,194,063,213 msg/sec OptimistAtomicQueue, 1,i: 1,253,387,739 msg/sec OptimistAtomicQueue, 2,s: 55,300,146 msg/sec OptimistAtomicQueue, 2,i: 52,015,868 msg/sec OptimistAtomicQueue, 3,s: 58,728,113 msg/sec OptimistAtomicQueue, 3,i: 59,493,012 msg/sec OptimistAtomicQueue, 4,s: 59,363,178 msg/sec OptimistAtomicQueue, 4,i: 66,229,384 msg/sec OptimistAtomicQueue, 5,s: 33,290,554 msg/sec OptimistAtomicQueue, 5,i: 43,627,201 msg/sec OptimistAtomicQueue, 6,s: 34,547,919 msg/sec OptimistAtomicQueue, 6,i: 35,092,562 msg/sec OptimistAtomicQueue, 7,s: 40,068,400 msg/sec OptimistAtomicQueue, 7,i: 40,045,680 msg/sec OptimistAtomicQueue, 8,s: 50,608,292 msg/sec OptimistAtomicQueue, 8,i: 41,311,946 msg/sec AtomicQueueB, 1,s: 49,931,094 msg/sec AtomicQueueB, 1,i: 50,017,127 msg/sec AtomicQueueB, 2,s: 9,708,943 msg/sec AtomicQueueB, 2,i: 9,940,293 msg/sec AtomicQueueB, 3,s: 8,181,245 msg/sec AtomicQueueB, 3,i: 8,639,168 msg/sec AtomicQueueB, 4,s: 6,538,360 msg/sec AtomicQueueB, 4,i: 6,904,034 msg/sec AtomicQueueB, 5,s: 3,116,247 msg/sec AtomicQueueB, 5,i: 4,318,596 msg/sec AtomicQueueB, 6,s: 2,604,199 msg/sec AtomicQueueB, 6,i: 3,988,207 msg/sec AtomicQueueB, 7,s: 2,937,862 msg/sec AtomicQueueB, 7,i: 3,163,739 msg/sec AtomicQueueB, 8,s: 3,053,132 msg/sec AtomicQueueB, 8,i: 2,863,463 msg/sec OptimistAtomicQueueB, 1,s: 711,358,615 msg/sec OptimistAtomicQueueB, 1,i: 524,472,758 msg/sec OptimistAtomicQueueB, 2,s: 48,214,542 msg/sec OptimistAtomicQueueB, 2,i: 48,930,313 msg/sec OptimistAtomicQueueB, 3,s: 58,586,808 msg/sec OptimistAtomicQueueB, 3,i: 57,606,805 msg/sec OptimistAtomicQueueB, 4,s: 59,468,411 msg/sec OptimistAtomicQueueB, 4,i: 66,282,500 msg/sec OptimistAtomicQueueB, 5,s: 33,037,926 msg/sec OptimistAtomicQueueB, 5,i: 38,832,070 msg/sec OptimistAtomicQueueB, 6,s: 34,390,557 msg/sec OptimistAtomicQueueB, 6,i: 34,988,372 msg/sec OptimistAtomicQueueB, 7,s: 39,121,484 msg/sec OptimistAtomicQueueB, 7,i: 40,056,443 msg/sec OptimistAtomicQueueB, 8,s: 59,734,829 msg/sec OptimistAtomicQueueB, 8,i: 41,186,311 msg/sec AtomicQueue2, 1,s: 133,496,721 msg/sec AtomicQueue2, 1,i: 132,251,188 msg/sec AtomicQueue2, 2,s: 9,956,441 msg/sec AtomicQueue2, 2,i: 10,559,192 msg/sec AtomicQueue2, 3,s: 8,423,262 msg/sec AtomicQueue2, 3,i: 8,920,956 msg/sec AtomicQueue2, 4,s: 6,675,907 msg/sec AtomicQueue2, 4,i: 7,093,068 msg/sec AtomicQueue2, 5,s: 3,145,753 msg/sec AtomicQueue2, 5,i: 4,289,511 msg/sec AtomicQueue2, 6,s: 2,567,571 msg/sec AtomicQueue2, 6,i: 3,963,900 msg/sec AtomicQueue2, 7,s: 2,898,758 msg/sec AtomicQueue2, 7,i: 3,199,142 msg/sec AtomicQueue2, 8,s: 2,998,030 msg/sec AtomicQueue2, 8,i: 2,884,908 msg/sec OptimistAtomicQueue2, 1,s: 107,421,771 msg/sec OptimistAtomicQueue2, 1,i: 107,284,171 msg/sec OptimistAtomicQueue2, 2,s: 43,622,482 msg/sec OptimistAtomicQueue2, 2,i: 47,104,317 msg/sec OptimistAtomicQueue2, 3,s: 55,629,011 msg/sec OptimistAtomicQueue2, 3,i: 50,083,609 msg/sec OptimistAtomicQueue2, 4,s: 59,180,640 msg/sec OptimistAtomicQueue2, 4,i: 57,983,391 msg/sec OptimistAtomicQueue2, 5,s: 31,526,593 msg/sec OptimistAtomicQueue2, 5,i: 34,147,021 msg/sec OptimistAtomicQueue2, 6,s: 32,893,092 msg/sec OptimistAtomicQueue2, 6,i: 32,467,113 msg/sec OptimistAtomicQueue2, 7,s: 37,600,364 msg/sec OptimistAtomicQueue2, 7,i: 37,713,022 msg/sec OptimistAtomicQueue2, 8,s: 48,946,095 msg/sec OptimistAtomicQueue2, 8,i: 39,723,356 msg/sec AtomicQueueB2, 1,s: 73,838,330 msg/sec AtomicQueueB2, 1,i: 71,132,573 msg/sec AtomicQueueB2, 2,s: 9,863,982 msg/sec AtomicQueueB2, 2,i: 10,448,145 msg/sec AtomicQueueB2, 3,s: 8,318,999 msg/sec AtomicQueueB2, 3,i: 8,793,128 msg/sec AtomicQueueB2, 4,s: 6,604,799 msg/sec AtomicQueueB2, 4,i: 6,962,266 msg/sec AtomicQueueB2, 5,s: 3,072,340 msg/sec AtomicQueueB2, 5,i: 4,327,916 msg/sec AtomicQueueB2, 6,s: 2,550,924 msg/sec AtomicQueueB2, 6,i: 3,482,207 msg/sec AtomicQueueB2, 7,s: 2,895,174 msg/sec AtomicQueueB2, 7,i: 3,269,333 msg/sec AtomicQueueB2, 8,s: 3,014,552 msg/sec AtomicQueueB2, 8,i: 2,849,155 msg/sec OptimistAtomicQueueB2, 1,s: 151,993,790 msg/sec OptimistAtomicQueueB2, 1,i: 150,480,613 msg/sec OptimistAtomicQueueB2, 2,s: 42,074,569 msg/sec OptimistAtomicQueueB2, 2,i: 46,110,969 msg/sec OptimistAtomicQueueB2, 3,s: 56,904,075 msg/sec OptimistAtomicQueueB2, 3,i: 53,177,525 msg/sec OptimistAtomicQueueB2, 4,s: 59,023,422 msg/sec OptimistAtomicQueueB2, 4,i: 59,775,820 msg/sec OptimistAtomicQueueB2, 5,s: 31,269,958 msg/sec OptimistAtomicQueueB2, 5,i: 32,599,101 msg/sec OptimistAtomicQueueB2, 6,s: 32,931,329 msg/sec OptimistAtomicQueueB2, 6,i: 32,303,620 msg/sec OptimistAtomicQueueB2, 7,s: 37,235,116 msg/sec OptimistAtomicQueueB2, 7,i: 36,946,079 msg/sec OptimistAtomicQueueB2, 8,s: 47,995,589 msg/sec OptimistAtomicQueueB2, 8,i: 39,005,981 msg/sec moodycamel::ReaderWriterQueue, 1,s: 86,068,924 msg/sec moodycamel::ReaderWriterQueue, 1,i: 48,791,585 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,184,767 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,247,025 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,776,505 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,379,124 msg/sec moodycamel::ConcurrentQueue, 3,s: 59,901,653 msg/sec moodycamel::ConcurrentQueue, 3,i: 61,271,464 msg/sec moodycamel::ConcurrentQueue, 4,s: 85,019,617 msg/sec moodycamel::ConcurrentQueue, 4,i: 100,193,964 msg/sec moodycamel::ConcurrentQueue, 5,s: 137,791,965 msg/sec moodycamel::ConcurrentQueue, 5,i: 191,804,783 msg/sec moodycamel::ConcurrentQueue, 6,s: 203,148,286 msg/sec moodycamel::ConcurrentQueue, 6,i: 224,369,360 msg/sec moodycamel::ConcurrentQueue, 7,s: 211,565,903 msg/sec moodycamel::ConcurrentQueue, 7,i: 227,103,920 msg/sec moodycamel::ConcurrentQueue, 8,s: 278,035,771 msg/sec moodycamel::ConcurrentQueue, 8,i: 241,581,236 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,803,751 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,813,121 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,140,620 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,125,688 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,978,276 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,069,832 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,417,358 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,617,300 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,070,139 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,618,669 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,790,177 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,440,747 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,660,063 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,138,851 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,786,290 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,809,814 msg/sec xenium::michael_scott_queue, 1,s: 13,434,753 msg/sec xenium::michael_scott_queue, 1,i: 13,736,285 msg/sec xenium::michael_scott_queue, 2,s: 9,445,543 msg/sec xenium::michael_scott_queue, 2,i: 9,191,525 msg/sec xenium::michael_scott_queue, 3,s: 7,630,204 msg/sec xenium::michael_scott_queue, 3,i: 7,537,368 msg/sec xenium::michael_scott_queue, 4,s: 5,858,807 msg/sec xenium::michael_scott_queue, 4,i: 5,828,497 msg/sec xenium::michael_scott_queue, 5,s: 3,638,627 msg/sec xenium::michael_scott_queue, 5,i: 3,950,754 msg/sec xenium::michael_scott_queue, 6,s: 3,345,524 msg/sec xenium::michael_scott_queue, 6,i: 3,586,253 msg/sec xenium::michael_scott_queue, 7,s: 3,219,830 msg/sec xenium::michael_scott_queue, 7,i: 3,260,212 msg/sec xenium::michael_scott_queue, 8,s: 2,342,392 msg/sec xenium::michael_scott_queue, 8,i: 2,790,741 msg/sec xenium::ramalhete_queue, 1,s: 73,120,058 msg/sec xenium::ramalhete_queue, 1,i: 75,631,120 msg/sec xenium::ramalhete_queue, 2,s: 49,579,304 msg/sec xenium::ramalhete_queue, 2,i: 41,978,507 msg/sec xenium::ramalhete_queue, 3,s: 43,625,043 msg/sec xenium::ramalhete_queue, 3,i: 40,944,845 msg/sec xenium::ramalhete_queue, 4,s: 48,134,107 msg/sec xenium::ramalhete_queue, 4,i: 51,114,257 msg/sec xenium::ramalhete_queue, 5,s: 37,406,106 msg/sec xenium::ramalhete_queue, 5,i: 23,347,786 msg/sec xenium::ramalhete_queue, 6,s: 38,908,522 msg/sec xenium::ramalhete_queue, 6,i: 26,846,722 msg/sec xenium::ramalhete_queue, 7,s: 39,551,030 msg/sec xenium::ramalhete_queue, 7,i: 28,933,564 msg/sec xenium::ramalhete_queue, 8,s: 50,546,746 msg/sec xenium::ramalhete_queue, 8,i: 29,401,414 msg/sec xenium::vyukov_bounded_queue, 1,s: 310,497,291 msg/sec xenium::vyukov_bounded_queue, 1,i: 306,420,539 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,798,194 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,248,057 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,457,697 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,230,179 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,378,475 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,595,464 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,028,112 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,707,137 msg/sec xenium::vyukov_bounded_queue, 6,s: 6,977,684 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,858,365 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,054,788 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,446,397 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,333,913 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,524,589 msg/sec boost::lockfree::queue, 1,s: 7,809,672 msg/sec boost::lockfree::queue, 1,i: 7,866,668 msg/sec boost::lockfree::queue, 2,s: 5,899,525 msg/sec boost::lockfree::queue, 2,i: 5,957,963 msg/sec boost::lockfree::queue, 3,s: 4,966,635 msg/sec boost::lockfree::queue, 3,i: 4,807,159 msg/sec boost::lockfree::queue, 4,s: 4,357,724 msg/sec boost::lockfree::queue, 4,i: 4,351,066 msg/sec boost::lockfree::queue, 5,s: 2,654,242 msg/sec boost::lockfree::queue, 5,i: 2,649,161 msg/sec boost::lockfree::queue, 6,s: 1,424,196 msg/sec boost::lockfree::queue, 6,i: 2,995,033 msg/sec boost::lockfree::queue, 7,s: 1,375,860 msg/sec boost::lockfree::queue, 7,i: 2,944,799 msg/sec boost::lockfree::queue, 8,s: 1,158,345 msg/sec boost::lockfree::queue, 8,i: 1,880,014 msg/sec std::mutex, 1,s: 5,087,733 msg/sec std::mutex, 1,i: 4,022,886 msg/sec std::mutex, 2,s: 13,728,243 msg/sec std::mutex, 2,i: 13,322,240 msg/sec std::mutex, 3,s: 7,201,062 msg/sec std::mutex, 3,i: 6,945,508 msg/sec std::mutex, 4,s: 6,945,971 msg/sec std::mutex, 4,i: 6,686,973 msg/sec std::mutex, 5,s: 3,326,274 msg/sec std::mutex, 5,i: 3,337,088 msg/sec std::mutex, 6,s: 2,960,084 msg/sec std::mutex, 6,i: 3,004,021 msg/sec std::mutex, 7,s: 3,235,541 msg/sec std::mutex, 7,i: 2,886,099 msg/sec std::mutex, 8,s: 3,463,854 msg/sec std::mutex, 8,i: 2,802,358 msg/sec pthread_spinlock, 1,s: 17,752,960 msg/sec pthread_spinlock, 1,i: 17,994,150 msg/sec pthread_spinlock, 2,s: 7,579,702 msg/sec pthread_spinlock, 2,i: 1,686,528 msg/sec pthread_spinlock, 3,s: 781,844 msg/sec pthread_spinlock, 3,i: 5,915,930 msg/sec pthread_spinlock, 4,s: 2,160,719 msg/sec pthread_spinlock, 4,i: 1,618,687 msg/sec pthread_spinlock, 5,s: 2,781,255 msg/sec pthread_spinlock, 5,i: 866,123 msg/sec pthread_spinlock, 6,s: 2,093,837 msg/sec pthread_spinlock, 6,i: 3,181,372 msg/sec pthread_spinlock, 7,s: 2,857,169 msg/sec pthread_spinlock, 7,i: 3,070,677 msg/sec pthread_spinlock, 8,s: 2,993,658 msg/sec pthread_spinlock, 8,i: 2,653,592 msg/sec tbb::spin_mutex, 1,s: 39,359,944 msg/sec tbb::spin_mutex, 1,i: 38,410,596 msg/sec tbb::spin_mutex, 2,s: 16,544,414 msg/sec tbb::spin_mutex, 2,i: 16,055,673 msg/sec tbb::spin_mutex, 3,s: 12,065,829 msg/sec tbb::spin_mutex, 3,i: 11,900,463 msg/sec tbb::spin_mutex, 4,s: 10,353,520 msg/sec tbb::spin_mutex, 4,i: 9,957,631 msg/sec tbb::spin_mutex, 5,s: 5,972,073 msg/sec tbb::spin_mutex, 5,i: 5,607,957 msg/sec tbb::spin_mutex, 6,s: 5,085,336 msg/sec tbb::spin_mutex, 6,i: 4,762,969 msg/sec tbb::spin_mutex, 7,s: 4,348,565 msg/sec tbb::spin_mutex, 7,i: 4,682,213 msg/sec tbb::spin_mutex, 8,s: 4,258,873 msg/sec tbb::spin_mutex, 8,i: 4,054,039 msg/sec Elapsed time 2:43.40, user 1294.34s, system 110.81s, CPU 859%, RSS 57672kB, exit-status 0. 2026-09-14 16:52:55 [26/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip AtomicQueue: 0.000000112 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000089 sec/round-trip AtomicQueue2: 0.000000110 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000146 sec/round-trip boost::lockfree::queue: 0.000000212 sec/round-trip std::mutex: 0.000000446 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,056,300 msg/sec boost::lockfree::spsc_queue, 1,i: 112,231,291 msg/sec AtomicQueue, 1,s: 145,057,302 msg/sec AtomicQueue, 1,i: 143,373,387 msg/sec AtomicQueue, 2,s: 9,879,607 msg/sec AtomicQueue, 2,i: 10,340,976 msg/sec AtomicQueue, 3,s: 8,350,947 msg/sec AtomicQueue, 3,i: 8,767,488 msg/sec AtomicQueue, 4,s: 6,605,704 msg/sec AtomicQueue, 4,i: 7,020,805 msg/sec AtomicQueue, 5,s: 3,180,619 msg/sec AtomicQueue, 5,i: 3,735,249 msg/sec AtomicQueue, 6,s: 2,602,248 msg/sec AtomicQueue, 6,i: 4,024,699 msg/sec AtomicQueue, 7,s: 2,963,759 msg/sec AtomicQueue, 7,i: 3,212,873 msg/sec AtomicQueue, 8,s: 3,114,856 msg/sec AtomicQueue, 8,i: 2,907,628 msg/sec OptimistAtomicQueue, 1,s: 1,257,912,604 msg/sec OptimistAtomicQueue, 1,i: 1,194,990,669 msg/sec OptimistAtomicQueue, 2,s: 47,193,880 msg/sec OptimistAtomicQueue, 2,i: 52,143,532 msg/sec OptimistAtomicQueue, 3,s: 58,731,769 msg/sec OptimistAtomicQueue, 3,i: 59,379,088 msg/sec OptimistAtomicQueue, 4,s: 59,259,510 msg/sec OptimistAtomicQueue, 4,i: 66,236,403 msg/sec OptimistAtomicQueue, 5,s: 33,126,429 msg/sec OptimistAtomicQueue, 5,i: 42,799,686 msg/sec OptimistAtomicQueue, 6,s: 34,591,705 msg/sec OptimistAtomicQueue, 6,i: 35,148,930 msg/sec OptimistAtomicQueue, 7,s: 39,984,340 msg/sec OptimistAtomicQueue, 7,i: 40,041,223 msg/sec OptimistAtomicQueue, 8,s: 50,507,125 msg/sec OptimistAtomicQueue, 8,i: 41,196,508 msg/sec AtomicQueueB, 1,s: 54,918,678 msg/sec AtomicQueueB, 1,i: 50,805,160 msg/sec AtomicQueueB, 2,s: 9,666,029 msg/sec AtomicQueueB, 2,i: 10,245,447 msg/sec AtomicQueueB, 3,s: 8,200,026 msg/sec AtomicQueueB, 3,i: 8,513,686 msg/sec AtomicQueueB, 4,s: 6,550,478 msg/sec AtomicQueueB, 4,i: 6,897,447 msg/sec AtomicQueueB, 5,s: 3,157,165 msg/sec AtomicQueueB, 5,i: 4,344,229 msg/sec AtomicQueueB, 6,s: 2,572,503 msg/sec AtomicQueueB, 6,i: 3,438,098 msg/sec AtomicQueueB, 7,s: 2,920,805 msg/sec AtomicQueueB, 7,i: 3,165,147 msg/sec AtomicQueueB, 8,s: 3,057,386 msg/sec AtomicQueueB, 8,i: 2,879,008 msg/sec OptimistAtomicQueueB, 1,s: 518,872,388 msg/sec OptimistAtomicQueueB, 1,i: 520,864,163 msg/sec OptimistAtomicQueueB, 2,s: 52,331,044 msg/sec OptimistAtomicQueueB, 2,i: 49,386,047 msg/sec OptimistAtomicQueueB, 3,s: 58,726,664 msg/sec OptimistAtomicQueueB, 3,i: 57,332,948 msg/sec OptimistAtomicQueueB, 4,s: 59,618,094 msg/sec OptimistAtomicQueueB, 4,i: 64,546,540 msg/sec OptimistAtomicQueueB, 5,s: 33,076,882 msg/sec OptimistAtomicQueueB, 5,i: 38,676,195 msg/sec OptimistAtomicQueueB, 6,s: 34,409,336 msg/sec OptimistAtomicQueueB, 6,i: 34,940,060 msg/sec OptimistAtomicQueueB, 7,s: 39,098,572 msg/sec OptimistAtomicQueueB, 7,i: 40,005,854 msg/sec OptimistAtomicQueueB, 8,s: 51,637,052 msg/sec OptimistAtomicQueueB, 8,i: 41,185,786 msg/sec AtomicQueue2, 1,s: 134,633,671 msg/sec AtomicQueue2, 1,i: 128,319,262 msg/sec AtomicQueue2, 2,s: 9,963,224 msg/sec AtomicQueue2, 2,i: 10,542,348 msg/sec AtomicQueue2, 3,s: 8,414,545 msg/sec AtomicQueue2, 3,i: 8,900,120 msg/sec AtomicQueue2, 4,s: 6,685,812 msg/sec AtomicQueue2, 4,i: 7,094,437 msg/sec AtomicQueue2, 5,s: 3,143,147 msg/sec AtomicQueue2, 5,i: 4,282,829 msg/sec AtomicQueue2, 6,s: 2,565,857 msg/sec AtomicQueue2, 6,i: 3,976,337 msg/sec AtomicQueue2, 7,s: 2,892,808 msg/sec AtomicQueue2, 7,i: 3,198,550 msg/sec AtomicQueue2, 8,s: 3,006,603 msg/sec AtomicQueue2, 8,i: 2,880,950 msg/sec OptimistAtomicQueue2, 1,s: 107,547,232 msg/sec OptimistAtomicQueue2, 1,i: 107,258,971 msg/sec OptimistAtomicQueue2, 2,s: 43,508,608 msg/sec OptimistAtomicQueue2, 2,i: 47,220,577 msg/sec OptimistAtomicQueue2, 3,s: 54,929,014 msg/sec OptimistAtomicQueue2, 3,i: 50,040,303 msg/sec OptimistAtomicQueue2, 4,s: 59,178,574 msg/sec OptimistAtomicQueue2, 4,i: 57,868,739 msg/sec OptimistAtomicQueue2, 5,s: 31,425,037 msg/sec OptimistAtomicQueue2, 5,i: 32,766,970 msg/sec OptimistAtomicQueue2, 6,s: 32,802,838 msg/sec OptimistAtomicQueue2, 6,i: 32,529,402 msg/sec OptimistAtomicQueue2, 7,s: 37,780,199 msg/sec OptimistAtomicQueue2, 7,i: 37,717,147 msg/sec OptimistAtomicQueue2, 8,s: 49,017,566 msg/sec OptimistAtomicQueue2, 8,i: 39,857,185 msg/sec AtomicQueueB2, 1,s: 72,933,891 msg/sec AtomicQueueB2, 1,i: 73,834,186 msg/sec AtomicQueueB2, 2,s: 9,844,046 msg/sec AtomicQueueB2, 2,i: 10,432,948 msg/sec AtomicQueueB2, 3,s: 8,325,770 msg/sec AtomicQueueB2, 3,i: 8,842,327 msg/sec AtomicQueueB2, 4,s: 6,617,158 msg/sec AtomicQueueB2, 4,i: 6,973,957 msg/sec AtomicQueueB2, 5,s: 3,091,901 msg/sec AtomicQueueB2, 5,i: 4,328,978 msg/sec AtomicQueueB2, 6,s: 2,564,809 msg/sec AtomicQueueB2, 6,i: 3,979,062 msg/sec AtomicQueueB2, 7,s: 2,900,275 msg/sec AtomicQueueB2, 7,i: 3,180,755 msg/sec AtomicQueueB2, 8,s: 3,014,000 msg/sec AtomicQueueB2, 8,i: 2,851,767 msg/sec OptimistAtomicQueueB2, 1,s: 149,888,103 msg/sec OptimistAtomicQueueB2, 1,i: 150,591,196 msg/sec OptimistAtomicQueueB2, 2,s: 42,361,931 msg/sec OptimistAtomicQueueB2, 2,i: 45,950,662 msg/sec OptimistAtomicQueueB2, 3,s: 56,926,912 msg/sec OptimistAtomicQueueB2, 3,i: 53,141,580 msg/sec OptimistAtomicQueueB2, 4,s: 58,984,675 msg/sec OptimistAtomicQueueB2, 4,i: 59,866,283 msg/sec OptimistAtomicQueueB2, 5,s: 31,389,635 msg/sec OptimistAtomicQueueB2, 5,i: 31,460,459 msg/sec OptimistAtomicQueueB2, 6,s: 32,909,048 msg/sec OptimistAtomicQueueB2, 6,i: 32,360,004 msg/sec OptimistAtomicQueueB2, 7,s: 37,077,253 msg/sec OptimistAtomicQueueB2, 7,i: 36,967,631 msg/sec OptimistAtomicQueueB2, 8,s: 47,997,294 msg/sec OptimistAtomicQueueB2, 8,i: 38,911,290 msg/sec moodycamel::ReaderWriterQueue, 1,s: 516,484,667 msg/sec moodycamel::ReaderWriterQueue, 1,i: 82,452,866 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,018,413 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,194,795 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,100,247 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,094,662 msg/sec moodycamel::ConcurrentQueue, 3,s: 51,979,661 msg/sec moodycamel::ConcurrentQueue, 3,i: 47,884,843 msg/sec moodycamel::ConcurrentQueue, 4,s: 105,139,489 msg/sec moodycamel::ConcurrentQueue, 4,i: 91,060,888 msg/sec moodycamel::ConcurrentQueue, 5,s: 132,468,068 msg/sec moodycamel::ConcurrentQueue, 5,i: 164,938,915 msg/sec moodycamel::ConcurrentQueue, 6,s: 206,420,292 msg/sec moodycamel::ConcurrentQueue, 6,i: 151,062,381 msg/sec moodycamel::ConcurrentQueue, 7,s: 226,606,801 msg/sec moodycamel::ConcurrentQueue, 7,i: 175,082,714 msg/sec moodycamel::ConcurrentQueue, 8,s: 249,867,684 msg/sec moodycamel::ConcurrentQueue, 8,i: 234,805,115 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,789,059 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,803,317 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,148,334 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,140,650 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,978,221 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,078,270 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,419,566 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,632,820 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,070,362 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,653,102 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,798,983 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,421,284 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,663,228 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,276,761 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,787,816 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,804,192 msg/sec xenium::michael_scott_queue, 1,s: 13,451,616 msg/sec xenium::michael_scott_queue, 1,i: 13,766,645 msg/sec xenium::michael_scott_queue, 2,s: 9,416,964 msg/sec xenium::michael_scott_queue, 2,i: 9,170,240 msg/sec xenium::michael_scott_queue, 3,s: 7,677,458 msg/sec xenium::michael_scott_queue, 3,i: 7,548,757 msg/sec xenium::michael_scott_queue, 4,s: 5,833,438 msg/sec xenium::michael_scott_queue, 4,i: 5,829,191 msg/sec xenium::michael_scott_queue, 5,s: 3,659,433 msg/sec xenium::michael_scott_queue, 5,i: 3,963,253 msg/sec xenium::michael_scott_queue, 6,s: 3,323,471 msg/sec xenium::michael_scott_queue, 6,i: 3,932,923 msg/sec xenium::michael_scott_queue, 7,s: 3,203,078 msg/sec xenium::michael_scott_queue, 7,i: 3,237,556 msg/sec xenium::michael_scott_queue, 8,s: 2,354,917 msg/sec xenium::michael_scott_queue, 8,i: 2,790,218 msg/sec xenium::ramalhete_queue, 1,s: 73,439,127 msg/sec xenium::ramalhete_queue, 1,i: 68,654,003 msg/sec xenium::ramalhete_queue, 2,s: 41,255,006 msg/sec xenium::ramalhete_queue, 2,i: 36,858,910 msg/sec xenium::ramalhete_queue, 3,s: 44,321,478 msg/sec xenium::ramalhete_queue, 3,i: 41,845,496 msg/sec xenium::ramalhete_queue, 4,s: 51,366,223 msg/sec xenium::ramalhete_queue, 4,i: 49,530,069 msg/sec xenium::ramalhete_queue, 5,s: 37,181,441 msg/sec xenium::ramalhete_queue, 5,i: 23,990,138 msg/sec xenium::ramalhete_queue, 6,s: 38,590,156 msg/sec xenium::ramalhete_queue, 6,i: 26,756,124 msg/sec xenium::ramalhete_queue, 7,s: 39,345,190 msg/sec xenium::ramalhete_queue, 7,i: 27,874,197 msg/sec xenium::ramalhete_queue, 8,s: 49,942,789 msg/sec xenium::ramalhete_queue, 8,i: 29,626,762 msg/sec xenium::vyukov_bounded_queue, 1,s: 315,634,500 msg/sec xenium::vyukov_bounded_queue, 1,i: 311,616,729 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,048,485 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,507,057 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,646,517 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,831,675 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,236,023 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,595,656 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,166,643 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,644,564 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,114,285 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,565,621 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,172,065 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,469,220 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,250,263 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,561,784 msg/sec boost::lockfree::queue, 1,s: 7,795,127 msg/sec boost::lockfree::queue, 1,i: 7,794,507 msg/sec boost::lockfree::queue, 2,s: 5,885,446 msg/sec boost::lockfree::queue, 2,i: 5,917,374 msg/sec boost::lockfree::queue, 3,s: 4,949,386 msg/sec boost::lockfree::queue, 3,i: 4,795,915 msg/sec boost::lockfree::queue, 4,s: 4,370,425 msg/sec boost::lockfree::queue, 4,i: 4,358,105 msg/sec boost::lockfree::queue, 5,s: 2,662,422 msg/sec boost::lockfree::queue, 5,i: 2,903,961 msg/sec boost::lockfree::queue, 6,s: 1,443,117 msg/sec boost::lockfree::queue, 6,i: 2,987,404 msg/sec boost::lockfree::queue, 7,s: 1,379,587 msg/sec boost::lockfree::queue, 7,i: 2,944,644 msg/sec boost::lockfree::queue, 8,s: 1,161,039 msg/sec boost::lockfree::queue, 8,i: 1,832,068 msg/sec std::mutex, 1,s: 5,329,323 msg/sec std::mutex, 1,i: 4,707,389 msg/sec std::mutex, 2,s: 13,218,167 msg/sec std::mutex, 2,i: 13,285,462 msg/sec std::mutex, 3,s: 6,834,811 msg/sec std::mutex, 3,i: 6,741,966 msg/sec std::mutex, 4,s: 7,934,806 msg/sec std::mutex, 4,i: 7,360,310 msg/sec std::mutex, 5,s: 3,396,862 msg/sec std::mutex, 5,i: 3,547,234 msg/sec std::mutex, 6,s: 3,010,297 msg/sec std::mutex, 6,i: 2,944pthread_spinlock: producers: 4: consumer 3 received too few messages: 0.07% of expected. ,207 msg/sec std::mutex, 7,s: 3,256,145 msg/sec std::mutex, 7,i: 2,915,732 msg/sec std::mutex, 8,s: 3,382,648 msg/sec std::mutex, 8,i: 2,777,376 msg/sec pthread_spinlock, 1,s: 17,759,177 msg/sec pthread_spinlock, 1,i: 18,201,242 msg/sec pthread_spinlock, 2,s: 7,277,266 msg/sec pthread_spinlock, 2,i: 1,773,065 msg/sec pthread_spinlock, 3,s: 847,750 msg/sec pthread_spinlock, 3,i: 5,806,597 msg/sec pthread_spinlock, 4,s: 2,506,013 msg/sec pthread_spinlock, 4,i: 1,327,711 msg/sec pthread_spinlock, 5,s: 2,782,475 msg/sec pthread_spinlock, 5,i: 928,298 msg/sec pthread_spinlock, 6,s: 2,012,834 msg/sec pthread_spinlock, 6,i: 3,402,246 msg/sec pthread_spinlock, 7,s: 2,785,863 msg/sec pthread_spinlock, 7,i: 3,069,839 msg/sec pthread_spinlock, 8,s: 2,987,294 msg/sec pthread_spinlock, 8,i: 2,686,137 msg/sec tbb::spin_mutex, 1,s: 38,251,597 msg/sec tbb::spin_mutex, 1,i: 38,733,509 msg/sec tbb::spin_mutex, 2,s: 16,482,240 msg/sec tbb::spin_mutex, 2,i: 15,994,065 msg/sec tbb::spin_mutex, 3,s: 12,046,157 msg/sec tbb::spin_mutex, 3,i: 11,903,694 msg/sec tbb::spin_mutex, 4,s: 10,271,280 msg/sec tbb::spin_mutex, 4,i: 10,007,650 msg/sec tbb::spin_mutex, 5,s: 5,954,782 msg/sec tbb::spin_mutex, 5,i: 5,553,906 msg/sec tbb::spin_mutex, 6,s: 5,117,642 msg/sec tbb::spin_mutex, 6,i: 4,772,826 msg/sec tbb::spin_mutex, 7,s: 4,498,358 msg/sec tbb::spin_mutex, 7,i: 4,685,398 msg/sec tbb::spin_mutex, 8,s: 4,276,869 msg/sec tbb::spin_mutex, 8,i: 4,064,644 msg/sec Elapsed time 2:41.68, user 1284.46s, system 110.39s, CPU 862%, RSS 58952kB, exit-status 0. 2026-09-14 16:55:37 [27/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000113 sec/round-trip OptimistAtomicQueue: 0.000000099 sec/round-trip AtomicQueueB: 0.000000117 sec/round-trip OptimistAtomicQueueB: 0.000000090 sec/round-trip AtomicQueue2: 0.000000117 sec/round-trip OptimistAtomicQueue2: 0.000000102 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000102 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000167 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000446 sec/round-trip pthread_spinlock: 0.000000225 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,493,497 msg/sec boost::lockfree::spsc_queue, 1,i: 113,530,524 msg/sec AtomicQueue, 1,s: 144,838,385 msg/sec AtomicQueue, 1,i: 146,856,254 msg/sec AtomicQueue, 2,s: 9,886,852 msg/sec AtomicQueue, 2,i: 10,341,266 msg/sec AtomicQueue, 3,s: 8,352,613 msg/sec AtomicQueue, 3,i: 8,815,262 msg/sec AtomicQueue, 4,s: 6,611,391 msg/sec AtomicQueue, 4,i: 7,008,233 msg/sec AtomicQueue, 5,s: 3,162,190 msg/sec AtomicQueue, 5,i: 3,731,511 msg/sec AtomicQueue, 6,s: 2,598,659 msg/sec AtomicQueue, 6,i: 3,548,615 msg/sec AtomicQueue, 7,s: 2,966,394 msg/sec AtomicQueue, 7,i: 3,211,984 msg/sec AtomicQueue, 8,s: 3,114,117 msg/sec AtomicQueue, 8,i: 2,903,046 msg/sec OptimistAtomicQueue, 1,s: 1,201,436,808 msg/sec OptimistAtomicQueue, 1,i: 1,199,635,251 msg/sec OptimistAtomicQueue, 2,s: 53,757,255 msg/sec OptimistAtomicQueue, 2,i: 51,502,993 msg/sec OptimistAtomicQueue, 3,s: 58,761,759 msg/sec OptimistAtomicQueue, 3,i: 59,636,772 msg/sec OptimistAtomicQueue, 4,s: 59,250,136 msg/sec OptimistAtomicQueue, 4,i: 66,218,772 msg/sec OptimistAtomicQueue, 5,s: 33,280,450 msg/sec OptimistAtomicQueue, 5,i: 43,938,287 msg/sec OptimistAtomicQueue, 6,s: 34,527,391 msg/sec OptimistAtomicQueue, 6,i: 35,171,144 msg/sec OptimistAtomicQueue, 7,s: 39,923,045 msg/sec OptimistAtomicQueue, 7,i: 40,051,855 msg/sec OptimistAtomicQueue, 8,s: 50,544,395 msg/sec OptimistAtomicQueue, 8,i: 41,254,597 msg/sec AtomicQueueB, 1,s: 50,355,953 msg/sec AtomicQueueB, 1,i: 48,803,586 msg/sec AtomicQueueB, 2,s: 9,607,024 msg/sec AtomicQueueB, 2,i: 10,103,305 msg/sec AtomicQueueB, 3,s: 8,175,356 msg/sec AtomicQueueB, 3,i: 8,644,713 msg/sec AtomicQueueB, 4,s: 6,538,789 msg/sec AtomicQueueB, 4,i: 6,889,892 msg/sec AtomicQueueB, 5,s: 3,157,770 msg/sec AtomicQueueB, 5,i: 4,345,600 msg/sec AtomicQueueB, 6,s: 2,566,567 msg/sec AtomicQueueB, 6,i: 3,487,338 msg/sec AtomicQueueB, 7,s: 2,920,970 msg/sec AtomicQueueB, 7,i: 3,188,955 msg/sec AtomicQueueB, 8,s: 3,048,406 msg/sec AtomicQueueB, 8,i: 2,868,440 msg/sec OptimistAtomicQueueB, 1,s: 622,682,404 msg/sec OptimistAtomicQueueB, 1,i: 523,728,392 msg/sec OptimistAtomicQueueB, 2,s: 47,149,245 msg/sec OptimistAtomicQueueB, 2,i: 49,688,805 msg/sec OptimistAtomicQueueB, 3,s: 58,421,256 msg/sec OptimistAtomicQueueB, 3,i: 57,543,724 msg/sec OptimistAtomicQueueB, 4,s: 59,421,732 msg/sec OptimistAtomicQueueB, 4,i: 65,674,826 msg/sec OptimistAtomicQueueB, 5,s: 33,050,122 msg/sec OptimistAtomicQueueB, 5,i: 36,891,299 msg/sec OptimistAtomicQueueB, 6,s: 34,308,428 msg/sec OptimistAtomicQueueB, 6,i: 34,038,219 msg/sec OptimistAtomicQueueB, 7,s: 39,316,248 msg/sec OptimistAtomicQueueB, 7,i: 39,901,110 msg/sec OptimistAtomicQueueB, 8,s: 51,427,375 msg/sec OptimistAtomicQueueB, 8,i: 41,231,584 msg/sec AtomicQueue2, 1,s: 130,431,735 msg/sec AtomicQueue2, 1,i: 128,525,080 msg/sec AtomicQueue2, 2,s: 9,953,636 msg/sec AtomicQueue2, 2,i: 10,544,039 msg/sec AtomicQueue2, 3,s: 8,421,084 msg/sec AtomicQueue2, 3,i: 8,914,088 msg/sec AtomicQueue2, 4,s: 6,683,953 msg/sec AtomicQueue2, 4,i: 7,090,419 msg/sec AtomicQueue2, 5,s: 3,136,226 msg/sec AtomicQueue2, 5,i: 4,273,667 msg/sec AtomicQueue2, 6,s: 2,564,931 msg/sec AtomicQueue2, 6,i: 3,950,788 msg/sec AtomicQueue2, 7,s: 2,883,678 msg/sec AtomicQueue2, 7,i: 3,191,527 msg/sec AtomicQueue2, 8,s: 3,013,497 msg/sec AtomicQueue2, 8,i: 2,882,255 msg/sec OptimistAtomicQueue2, 1,s: 107,934,816 msg/sec OptimistAtomicQueue2, 1,i: 107,319,286 msg/sec OptimistAtomicQueue2, 2,s: 43,443,418 msg/sec OptimistAtomicQueue2, 2,i: 48,951,581 msg/sec OptimistAtomicQueue2, 3,s: 54,354,889 msg/sec OptimistAtomicQueue2, 3,i: 50,045,512 msg/sec OptimistAtomicQueue2, 4,s: 59,216,454 msg/sec OptimistAtomicQueue2, 4,i: 57,876,073 msg/sec OptimistAtomicQueue2, 5,s: 31,553,720 msg/sec OptimistAtomicQueue2, 5,i: 32,471,023 msg/sec OptimistAtomicQueue2, 6,s: 32,862,027 msg/sec OptimistAtomicQueue2, 6,i: 32,115,660 msg/sec OptimistAtomicQueue2, 7,s: 37,661,225 msg/sec OptimistAtomicQueue2, 7,i: 37,687,496 msg/sec OptimistAtomicQueue2, 8,s: 49,111,424 msg/sec OptimistAtomicQueue2, 8,i: 39,847,132 msg/sec AtomicQueueB2, 1,s: 72,422,864 msg/sec AtomicQueueB2, 1,i: 71,916,052 msg/sec AtomicQueueB2, 2,s: 9,848,138 msg/sec AtomicQueueB2, 2,i: 10,426,808 msg/sec AtomicQueueB2, 3,s: 8,325,119 msg/sec AtomicQueueB2, 3,i: 8,841,770 msg/sec AtomicQueueB2, 4,s: 6,615,311 msg/sec AtomicQueueB2, 4,i: 6,973,153 msg/sec AtomicQueueB2, 5,s: 3,100,528 msg/sec AtomicQueueB2, 5,i: 4,319,050 msg/sec AtomicQueueB2, 6,s: 2,562,610 msg/sec AtomicQueueB2, 6,i: 3,390,058 msg/sec AtomicQueueB2, 7,s: 2,894,233 msg/sec AtomicQueueB2, 7,i: 3,171,403 msg/sec AtomicQueueB2, 8,s: 3,009,016 msg/sec AtomicQueueB2, 8,i: 2,847,693 msg/sec OptimistAtomicQueueB2, 1,s: 151,996,100 msg/sec OptimistAtomicQueueB2, 1,i: 151,004,369 msg/sec OptimistAtomicQueueB2, 2,s: 42,037,056 msg/sec OptimistAtomicQueueB2, 2,i: 46,002,683 msg/sec OptimistAtomicQueueB2, 3,s: 56,942,147 msg/sec OptimistAtomicQueueB2, 3,i: 53,236,634 msg/sec OptimistAtomicQueueB2, 4,s: 58,913,821 msg/sec OptimistAtomicQueueB2, 4,i: 59,881,841 msg/sec OptimistAtomicQueueB2, 5,s: 31,360,360 msg/sec OptimistAtomicQueueB2, 5,i: 31,577,064 msg/sec OptimistAtomicQueueB2, 6,s: 33,017,757 msg/sec OptimistAtomicQueueB2, 6,i: 32,256,960 msg/sec OptimistAtomicQueueB2, 7,s: 37,052,566 msg/sec OptimistAtomicQueueB2, 7,i: 37,047,666 msg/sec OptimistAtomicQueueB2, 8,s: 47,997,041 msg/sec OptimistAtomicQueueB2, 8,i: 38,927,891 msg/sec moodycamel::ReaderWriterQueue, 1,s: 73,995,790 msg/sec moodycamel::ReaderWriterQueue, 1,i: 52,916,627 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,242,167 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,355,915 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,316,801 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,418,283 msg/sec moodycamel::ConcurrentQueue, 3,s: 57,454,263 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,490,133 msg/sec moodycamel::ConcurrentQueue, 4,s: 104,270,807 msg/sec moodycamel::ConcurrentQueue, 4,i: 88,455,777 msg/sec moodycamel::ConcurrentQueue, 5,s: 131,969,155 msg/sec moodycamel::ConcurrentQueue, 5,i: 188,143,162 msg/sec moodycamel::ConcurrentQueue, 6,s: 197,983,390 msg/sec moodycamel::ConcurrentQueue, 6,i: 220,894,184 msg/sec moodycamel::ConcurrentQueue, 7,s: 225,839,177 msg/sec moodycamel::ConcurrentQueue, 7,i: 235,283,835 msg/sec moodycamel::ConcurrentQueue, 8,s: 265,522,106 msg/sec moodycamel::ConcurrentQueue, 8,i: 231,411,883 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,778,095 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,829,487 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,143,865 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,142,832 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,976,565 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,070,660 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,423,592 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,623,813 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,080,419 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,108,851 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,790,722 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,429,876 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,665,827 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,266,745 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,786,695 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,807,110 msg/sec xenium::michael_scott_queue, 1,s: 13,414,850 msg/sec xenium::michael_scott_queue, 1,i: 13,799,326 msg/sec xenium::michael_scott_queue, 2,s: 9,520,868 msg/sec xenium::michael_scott_queue, 2,i: 9,180,418 msg/sec xenium::michael_scott_queue, 3,s: 7,639,150 msg/sec xenium::michael_scott_queue, 3,i: 7,530,865 msg/sec xenium::michael_scott_queue, 4,s: 5,861,463 msg/sec xenium::michael_scott_queue, 4,i: 5,810,431 msg/sec xenium::michael_scott_queue, 5,s: 3,638,189 msg/sec xenium::michael_scott_queue, 5,i: 4,657,621 msg/sec xenium::michael_scott_queue, 6,s: 3,335,254 msg/sec xenium::michael_scott_queue, 6,i: 3,588,062 msg/sec xenium::michael_scott_queue, 7,s: 3,216,906 msg/sec xenium::michael_scott_queue, 7,i: 3,251,339 msg/sec xenium::michael_scott_queue, 8,s: 2,359,619 msg/sec xenium::michael_scott_queue, 8,i: 2,787,419 msg/sec xenium::ramalhete_queue, 1,s: 72,648,731 msg/sec xenium::ramalhete_queue, 1,i: 69,143,737 msg/sec xenium::ramalhete_queue, 2,s: 50,699,452 msg/sec xenium::ramalhete_queue, 2,i: 35,249,735 msg/sec xenium::ramalhete_queue, 3,s: 45,100,596 msg/sec xenium::ramalhete_queue, 3,i: 39,898,467 msg/sec xenium::ramalhete_queue, 4,s: 47,026,965 msg/sec xenium::ramalhete_queue, 4,i: 51,591,951 msg/sec xenium::ramalhete_queue, 5,s: 37,533,176 msg/sec xenium::ramalhete_queue, 5,i: 23,741,762 msg/sec xenium::ramalhete_queue, 6,s: 39,232,261 msg/sec xenium::ramalhete_queue, 6,i: 26,482,013 msg/sec xenium::ramalhete_queue, 7,s: 39,655,294 msg/sec xenium::ramalhete_queue, 7,i: 28,284,886 msg/sec xenium::ramalhete_queue, 8,s: 50,234,056 msg/sec xenium::ramalhete_queue, 8,i: 29,417,224 msg/sec xenium::vyukov_bounded_queue, 1,s: 313,566,037 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,943,326 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,381,059 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,184,059 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,587,751 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,367,037 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,802,673 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,549,205 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,020,474 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,575,379 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,031,997 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,576,987 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,177,839 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,377,406 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,303,403 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,545,489 msg/sec boost::lockfree::queue, 1,s: 7,712,397 msg/sec boost::lockfree::queue, 1,i: 7,787,954 msg/sec boost::lockfree::queue, 2,s: 5,875,911 msg/sec boost::lockfree::queue, 2,i: 5,896,041 msg/sec boost::lockfree::queue, 3,s: 4,962,005 msg/sec boost::lockfree::queue, 3,i: 4,792,538 msg/sec boost::lockfree::queue, 4,s: 4,362,331 msg/sec boost::lockfree::queue, 4,i: 4,354,406 msg/sec boost::lockfree::queue, 5,s: 2,663,654 msg/sec boost::lockfree::queue, 5,i: 2,902,828 msg/sec boost::lockfree::queue, 6,s: 1,432,188 msg/sec boost::lockfree::queue, 6,i: 2,828,947 msg/sec boost::lockfree::queue, 7,s: 1,365,888 msg/sec boost::lockfree::queue, 7,i: 2,840,231 msg/sec boost::lockfree::queue, 8,s: 1,158,582 msg/sec boost::lockfree::queue, 8,i: 1,882,992 msg/sec std::mutex, 1,s: 4,751,358 msg/sec std::mutex, 1,i: 4,539,010 msg/sec std::mutex, 2,s: 12,707,174 msg/sec std::mutex, 2,i: 12,469,036 msg/sec std::mutex, 3,s: 6,880,737 msg/sec std::mutex, 3,i: 6,777,913 msg/sec std::mutex, 4,s: 7,096,457 msg/sec std::mutex, 4,i: 6,606,016 msg/sec std::mutex, 5,s: 3,405,666 msg/sec std::mutex, 5,i: 3,459,555 msg/sec std::mutex, 6,s: 3,468,060 msg/sec std::mutex, 6,i: 3,226pthread_spinlock: producers: 5: consumer 2 received too few messages: 0.06% of expected. pthread_spinlock: producers: 5: consumer 1 received too few messages: 0.06% of expected. ,574 msg/sec std::mutex, 7,s: 3,226,209 msg/sec std::mutex, 7,i: 2,873,294 msg/sec std::mutex, 8,s: 3,507,703 msg/sec std::mutex, 8,i: 2,804,639 msg/sec pthread_spinlock, 1,s: 17,866,843 msg/sec pthread_spinlock, 1,i: 17,948,129 msg/sec pthread_spinlock, 2,s: 9,267,876 msg/sec pthread_spinlock, 2,i: 1,620,063 msg/sec pthread_spinlock, 3,s: 825,872 msg/sec pthread_spinlock, 3,i: 5,462,916 msg/sec pthread_spinlock, 4,s: 953,113 msg/sec pthread_spinlock, 4,i: 1,699,008 msg/sec pthread_spinlock, 5,s: 2,778,362 msg/sec pthread_spinlock, 5,i: 3,713,056 msg/sec pthread_spinlock, 6,s: 2,003,456 msg/sec pthread_spinlock, 6,i: 3,167,131 msg/sec pthread_spinlock, 7,s: 2,793,842 msg/sec pthread_spinlock, 7,i: 3,066,175 msg/sec pthread_spinlock, 8,s: 2,955,379 msg/sec pthread_spinlock, 8,i: 2,677,711 msg/sec tbb::spin_mutex, 1,s: 39,063,927 msg/sec tbb::spin_mutex, 1,i: 38,214,834 msg/sec tbb::spin_mutex, 2,s: 16,455,780 msg/sec tbb::spin_mutex, 2,i: 15,989,549 msg/sec tbb::spin_mutex, 3,s: 12,067,817 msg/sec tbb::spin_mutex, 3,i: 11,902,236 msg/sec tbb::spin_mutex, 4,s: 10,611,213 msg/sec tbb::spin_mutex, 4,i: 9,949,617 msg/sec tbb::spin_mutex, 5,s: 5,983,569 msg/sec tbb::spin_mutex, 5,i: 5,653,231 msg/sec tbb::spin_mutex, 6,s: 5,105,224 msg/sec tbb::spin_mutex, 6,i: 4,804,027 msg/sec tbb::spin_mutex, 7,s: 4,394,978 msg/sec tbb::spin_mutex, 7,i: 4,704,848 msg/sec tbb::spin_mutex, 8,s: 4,283,206 msg/sec tbb::spin_mutex, 8,i: 4,072,349 msg/sec Elapsed time 2:41.31, user 1278.07s, system 109.04s, CPU 859%, RSS 57928kB, exit-status 0. 2026-09-14 16:58:18 [28/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000111 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000092 sec/round-trip AtomicQueue2: 0.000000117 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000121 sec/round-trip OptimistAtomicQueueB2: 0.000000102 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000142 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000446 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,439,837 msg/sec boost::lockfree::spsc_queue, 1,i: 113,359,618 msg/sec AtomicQueue, 1,s: 143,419,240 msg/sec AtomicQueue, 1,i: 144,248,808 msg/sec AtomicQueue, 2,s: 9,907,524 msg/sec AtomicQueue, 2,i: 10,343,430 msg/sec AtomicQueue, 3,s: 8,347,548 msg/sec AtomicQueue, 3,i: 8,776,058 msg/sec AtomicQueue, 4,s: 6,605,653 msg/sec AtomicQueue, 4,i: 7,014,894 msg/sec AtomicQueue, 5,s: 3,165,670 msg/sec AtomicQueue, 5,i: 4,318,979 msg/sec AtomicQueue, 6,s: 2,599,767 msg/sec AtomicQueue, 6,i: 3,553,491 msg/sec AtomicQueue, 7,s: 2,968,489 msg/sec AtomicQueue, 7,i: 3,190,512 msg/sec AtomicQueue, 8,s: 3,119,329 msg/sec AtomicQueue, 8,i: 2,899,347 msg/sec OptimistAtomicQueue, 1,s: 1,197,007,494 msg/sec OptimistAtomicQueue, 1,i: 1,197,810,393 msg/sec OptimistAtomicQueue, 2,s: 54,821,946 msg/sec OptimistAtomicQueue, 2,i: 51,758,709 msg/sec OptimistAtomicQueue, 3,s: 58,684,379 msg/sec OptimistAtomicQueue, 3,i: 59,798,458 msg/sec OptimistAtomicQueue, 4,s: 59,262,214 msg/sec OptimistAtomicQueue, 4,i: 66,276,218 msg/sec OptimistAtomicQueue, 5,s: 33,241,134 msg/sec OptimistAtomicQueue, 5,i: 41,377,738 msg/sec OptimistAtomicQueue, 6,s: 34,622,724 msg/sec OptimistAtomicQueue, 6,i: 35,128,249 msg/sec OptimistAtomicQueue, 7,s: 40,154,265 msg/sec OptimistAtomicQueue, 7,i: 40,326,795 msg/sec OptimistAtomicQueue, 8,s: 50,498,963 msg/sec OptimistAtomicQueue, 8,i: 41,220,486 msg/sec AtomicQueueB, 1,s: 50,573,408 msg/sec AtomicQueueB, 1,i: 49,788,526 msg/sec AtomicQueueB, 2,s: 9,589,243 msg/sec AtomicQueueB, 2,i: 9,946,207 msg/sec AtomicQueueB, 3,s: 8,201,106 msg/sec AtomicQueueB, 3,i: 8,670,732 msg/sec AtomicQueueB, 4,s: 6,539,123 msg/sec AtomicQueueB, 4,i: 6,889,206 msg/sec AtomicQueueB, 5,s: 3,161,281 msg/sec AtomicQueueB, 5,i: 4,368,354 msg/sec AtomicQueueB, 6,s: 2,600,992 msg/sec AtomicQueueB, 6,i: 3,974,868 msg/sec AtomicQueueB, 7,s: 2,921,531 msg/sec AtomicQueueB, 7,i: 3,226,679 msg/sec AtomicQueueB, 8,s: 3,057,236 msg/sec AtomicQueueB, 8,i: 2,864,046 msg/sec OptimistAtomicQueueB, 1,s: 530,608,879 msg/sec OptimistAtomicQueueB, 1,i: 630,733,485 msg/sec OptimistAtomicQueueB, 2,s: 46,443,888 msg/sec OptimistAtomicQueueB, 2,i: 48,724,831 msg/sec OptimistAtomicQueueB, 3,s: 58,629,743 msg/sec OptimistAtomicQueueB, 3,i: 56,969,915 msg/sec OptimistAtomicQueueB, 4,s: 59,598,587 msg/sec OptimistAtomicQueueB, 4,i: 66,107,759 msg/sec OptimistAtomicQueueB, 5,s: 33,077,933 msg/sec OptimistAtomicQueueB, 5,i: 39,917,658 msg/sec OptimistAtomicQueueB, 6,s: 34,349,201 msg/sec OptimistAtomicQueueB, 6,i: 34,027,587 msg/sec OptimistAtomicQueueB, 7,s: 39,287,519 msg/sec OptimistAtomicQueueB, 7,i: 39,955,281 msg/sec OptimistAtomicQueueB, 8,s: 51,460,111 msg/sec OptimistAtomicQueueB, 8,i: 41,256,555 msg/sec AtomicQueue2, 1,s: 126,942,379 msg/sec AtomicQueue2, 1,i: 132,749,245 msg/sec AtomicQueue2, 2,s: 9,961,651 msg/sec AtomicQueue2, 2,i: 10,520,401 msg/sec AtomicQueue2, 3,s: 8,415,429 msg/sec AtomicQueue2, 3,i: 8,927,139 msg/sec AtomicQueue2, 4,s: 6,675,015 msg/sec AtomicQueue2, 4,i: 7,078,072 msg/sec AtomicQueue2, 5,s: 3,141,402 msg/sec AtomicQueue2, 5,i: 4,277,151 msg/sec AtomicQueue2, 6,s: 2,566,238 msg/sec AtomicQueue2, 6,i: 3,499,316 msg/sec AtomicQueue2, 7,s: 2,901,463 msg/sec AtomicQueue2, 7,i: 3,207,280 msg/sec AtomicQueue2, 8,s: 3,016,833 msg/sec AtomicQueue2, 8,i: 2,881,453 msg/sec OptimistAtomicQueue2, 1,s: 107,831,234 msg/sec OptimistAtomicQueue2, 1,i: 107,754,549 msg/sec OptimistAtomicQueue2, 2,s: 43,345,745 msg/sec OptimistAtomicQueue2, 2,i: 46,785,677 msg/sec OptimistAtomicQueue2, 3,s: 55,575,837 msg/sec OptimistAtomicQueue2, 3,i: 50,023,758 msg/sec OptimistAtomicQueue2, 4,s: 59,061,279 msg/sec OptimistAtomicQueue2, 4,i: 57,875,169 msg/sec OptimistAtomicQueue2, 5,s: 31,487,085 msg/sec OptimistAtomicQueue2, 5,i: 32,578,233 msg/sec OptimistAtomicQueue2, 6,s: 32,972,024 msg/sec OptimistAtomicQueue2, 6,i: 32,467,060 msg/sec OptimistAtomicQueue2, 7,s: 37,810,182 msg/sec OptimistAtomicQueue2, 7,i: 37,726,552 msg/sec OptimistAtomicQueue2, 8,s: 49,046,919 msg/sec OptimistAtomicQueue2, 8,i: 39,863,668 msg/sec AtomicQueueB2, 1,s: 87,903,184 msg/sec AtomicQueueB2, 1,i: 76,333,874 msg/sec AtomicQueueB2, 2,s: 9,849,168 msg/sec AtomicQueueB2, 2,i: 10,400,330 msg/sec AtomicQueueB2, 3,s: 8,305,592 msg/sec AtomicQueueB2, 3,i: 8,840,699 msg/sec AtomicQueueB2, 4,s: 6,610,008 msg/sec AtomicQueueB2, 4,i: 6,973,261 msg/sec AtomicQueueB2, 5,s: 3,091,013 msg/sec AtomicQueueB2, 5,i: 4,322,378 msg/sec AtomicQueueB2, 6,s: 2,548,247 msg/sec AtomicQueueB2, 6,i: 3,987,084 msg/sec AtomicQueueB2, 7,s: 2,896,359 msg/sec AtomicQueueB2, 7,i: 3,171,790 msg/sec AtomicQueueB2, 8,s: 3,011,821 msg/sec AtomicQueueB2, 8,i: 2,839,428 msg/sec OptimistAtomicQueueB2, 1,s: 151,482,662 msg/sec OptimistAtomicQueueB2, 1,i: 151,064,589 msg/sec OptimistAtomicQueueB2, 2,s: 42,153,048 msg/sec OptimistAtomicQueueB2, 2,i: 46,204,411 msg/sec OptimistAtomicQueueB2, 3,s: 57,007,879 msg/sec OptimistAtomicQueueB2, 3,i: 53,231,873 msg/sec OptimistAtomicQueueB2, 4,s: 59,054,060 msg/sec OptimistAtomicQueueB2, 4,i: 59,831,933 msg/sec OptimistAtomicQueueB2, 5,s: 31,387,802 msg/sec OptimistAtomicQueueB2, 5,i: 31,605,347 msg/sec OptimistAtomicQueueB2, 6,s: 32,940,592 msg/sec OptimistAtomicQueueB2, 6,i: 32,322,288 msg/sec OptimistAtomicQueueB2, 7,s: 37,149,771 msg/sec OptimistAtomicQueueB2, 7,i: 37,026,309 msg/sec OptimistAtomicQueueB2, 8,s: 48,024,447 msg/sec OptimistAtomicQueueB2, 8,i: 39,008,538 msg/sec moodycamel::ReaderWriterQueue, 1,s: 560,051,490 msg/sec moodycamel::ReaderWriterQueue, 1,i: 60,668,643 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,108,179 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,264,245 msg/sec moodycamel::ConcurrentQueue, 2,s: 36,171,143 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,485,874 msg/sec moodycamel::ConcurrentQueue, 3,s: 52,696,029 msg/sec moodycamel::ConcurrentQueue, 3,i: 48,189,964 msg/sec moodycamel::ConcurrentQueue, 4,s: 107,841,467 msg/sec moodycamel::ConcurrentQueue, 4,i: 84,680,817 msg/sec moodycamel::ConcurrentQueue, 5,s: 128,208,217 msg/sec moodycamel::ConcurrentQueue, 5,i: 162,365,393 msg/sec moodycamel::ConcurrentQueue, 6,s: 195,220,356 msg/sec moodycamel::ConcurrentQueue, 6,i: 127,386,345 msg/sec moodycamel::ConcurrentQueue, 7,s: 211,863,069 msg/sec moodycamel::ConcurrentQueue, 7,i: 203,022,484 msg/sec moodycamel::ConcurrentQueue, 8,s: 250,380,678 msg/sec moodycamel::ConcurrentQueue, 8,i: 245,722,204 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,777,235 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,817,358 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,150,264 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,144,862 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,985,083 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,072,734 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,423,757 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,629,015 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,074,129 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,617,764 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,786,117 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,443,508 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,669,071 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,149,839 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,787,423 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,806,575 msg/sec xenium::michael_scott_queue, 1,s: 13,443,724 msg/sec xenium::michael_scott_queue, 1,i: 13,803,601 msg/sec xenium::michael_scott_queue, 2,s: 9,430,703 msg/sec xenium::michael_scott_queue, 2,i: 9,200,488 msg/sec xenium::michael_scott_queue, 3,s: 7,657,426 msg/sec xenium::michael_scott_queue, 3,i: 7,548,989 msg/sec xenium::michael_scott_queue, 4,s: 5,912,186 msg/sec xenium::michael_scott_queue, 4,i: 5,802,290 msg/sec xenium::michael_scott_queue, 5,s: 3,610,360 msg/sec xenium::michael_scott_queue, 5,i: 4,649,975 msg/sec xenium::michael_scott_queue, 6,s: 3,326,064 msg/sec xenium::michael_scott_queue, 6,i: 3,435,369 msg/sec xenium::michael_scott_queue, 7,s: 3,157,783 msg/sec xenium::michael_scott_queue, 7,i: 3,269,738 msg/sec xenium::michael_scott_queue, 8,s: 2,352,024 msg/sec xenium::michael_scott_queue, 8,i: 2,789,522 msg/sec xenium::ramalhete_queue, 1,s: 73,467,236 msg/sec xenium::ramalhete_queue, 1,i: 22,723,957 msg/sec xenium::ramalhete_queue, 2,s: 50,501,871 msg/sec xenium::ramalhete_queue, 2,i: 34,498,354 msg/sec xenium::ramalhete_queue, 3,s: 44,060,627 msg/sec xenium::ramalhete_queue, 3,i: 40,124,669 msg/sec xenium::ramalhete_queue, 4,s: 52,999,078 msg/sec xenium::ramalhete_queue, 4,i: 47,249,760 msg/sec xenium::ramalhete_queue, 5,s: 37,227,796 msg/sec xenium::ramalhete_queue, 5,i: 23,516,491 msg/sec xenium::ramalhete_queue, 6,s: 38,630,226 msg/sec xenium::ramalhete_queue, 6,i: 27,233,108 msg/sec xenium::ramalhete_queue, 7,s: 39,451,561 msg/sec xenium::ramalhete_queue, 7,i: 28,732,917 msg/sec xenium::ramalhete_queue, 8,s: 50,746,869 msg/sec xenium::ramalhete_queue, 8,i: 29,679,783 msg/sec xenium::vyukov_bounded_queue, 1,s: 303,838,879 msg/sec xenium::vyukov_bounded_queue, 1,i: 309,357,156 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,308,543 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,366,811 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,313,626 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,166,062 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,570,819 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,658,247 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,035,819 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,445,344 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,144,939 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,412,237 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,188,211 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,509,709 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,343,001 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,535,899 msg/sec boost::lockfree::queue, 1,s: 7,762,711 msg/sec boost::lockfree::queue, 1,i: 7,784,396 msg/sec boost::lockfree::queue, 2,s: 5,844,865 msg/sec boost::lockfree::queue, 2,i: 5,946,839 msg/sec boost::lockfree::queue, 3,s: 4,948,031 msg/sec boost::lockfree::queue, 3,i: 4,799,603 msg/sec boost::lockfree::queue, 4,s: 4,383,462 msg/sec boost::lockfree::queue, 4,i: 4,346,940 msg/sec boost::lockfree::queue, 5,s: 2,662,827 msg/sec boost::lockfree::queue, 5,i: 2,908,556 msg/sec boost::lockfree::queue, 6,s: 1,429,092 msg/sec boost::lockfree::queue, 6,i: 2,824,271 msg/sec boost::lockfree::queue, 7,s: 1,374,012 msg/sec boost::lockfree::queue, 7,i: 2,896,612 msg/sec boost::lockfree::queue, 8,s: 1,159,241 msg/sec boost::lockfree::queue, 8,i: 1,821,831 msg/sec std::mutex, 1,s: 3,648,461 msg/sec std::mutex, 1,i: 4,004,486 msg/sec std::mutex, 2,s: 13,072,174 msg/sec std::mutex, 2,i: 12,304,573 msg/sec std::mutex, 3,s: 6,994,713 msg/sec std::mutex, 3,i: 6,645,765 msg/sec std::mutex, 4,s: 7,093,249 msg/sec std::mutex, 4,i: 6,669,345 msg/sec std::mutex, 5,s: 3,330,747 msg/sec std::mutex, 5,i: 3,349,971 msg/sec std::mutex, 6,s: 3,035,713 msg/sec std::mutex, 6,i: 3,031,296 msg/sec std::mutex, 7,s: 3,300,882 msg/sec std::mutex, 7,i: 2,917,275 msg/sec std::mutex, 8,s: 3,404,499 msg/sec std::mutex, 8,i: 2,777,127 msg/sec pthread_spinlock, 1,s: 17,897,842 msg/sec pthread_spinlock, 1,i: 17,989,667 msg/sec pthread_spinlock, 2,s: 6,821,722 msg/sec pthread_spinlock, 2,i: 1,583,189 msg/sec pthread_spinlock, 3,s: 797,303 msg/sec pthread_spinlock, 3,i: 6,843,692 msg/sec pthread_spinlock, 4,s: 2,183,325 msg/sec pthread_spinlock, 4,i: 1,194,940 msg/sec pthread_spinlock, 5,s: 2,768,297 msg/sec pthread_spinlock, 5,i: 908,886 msg/sec pthread_spinlock, 6,s: 1,954,695 msg/sec pthread_spinlock, 6,i: 3,120,710 msg/sec pthread_spinlock, 7,s: 2,881,379 msg/sec pthread_spinlock, 7,i: 3,048,830 msg/sec pthread_spinlock, 8,s: 2,999,930 msg/sec pthread_spinlock, 8,i: 2,660,344 msg/sec tbb::spin_mutex, 1,s: 38,322,544 msg/sec tbb::spin_mutex, 1,i: 38,616,097 msg/sec tbb::spin_mutex, 2,s: 16,507,933 msg/sec tbb::spin_mutex, 2,i: 15,942,724 msg/sec tbb::spin_mutex, 3,s: 12,041,716 msg/sec tbb::spin_mutex, 3,i: 11,925,006 msg/sec tbb::spin_mutex, 4,s: 10,287,218 msg/sec tbb::spin_mutex, 4,i: 10,174,849 msg/sec tbb::spin_mutex, 5,s: 5,968,600 msg/sec tbb::spin_mutex, 5,i: 5,613,547 msg/sec tbb::spin_mutex, 6,s: 5,083,467 msg/sec tbb::spin_mutex, 6,i: 4,797,659 msg/sec tbb::spin_mutex, 7,s: 4,394,411 msg/sec tbb::spin_mutex, 7,i: 4,953,819 msg/sec tbb::spin_mutex, 8,s: 4,306,685 msg/sec tbb::spin_mutex, 8,i: 4,073,695 msg/sec Elapsed time 2:44.36, user 1297.22s, system 110.95s, CPU 856%, RSS 58952kB, exit-status 0. 2026-09-14 17:01:03 [29/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip AtomicQueue: 0.000000112 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000091 sec/round-trip AtomicQueue2: 0.000000102 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000102 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000139 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000446 sec/round-trip pthread_spinlock: 0.000000226 sec/round-trip tbb::spin_mutex: 0.000000205 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 118,479,704 msg/sec boost::lockfree::spsc_queue, 1,i: 113,028,415 msg/sec AtomicQueue, 1,s: 142,760,794 msg/sec AtomicQueue, 1,i: 142,378,877 msg/sec AtomicQueue, 2,s: 9,881,731 msg/sec AtomicQueue, 2,i: 10,342,121 msg/sec AtomicQueue, 3,s: 8,346,644 msg/sec AtomicQueue, 3,i: 8,813,013 msg/sec AtomicQueue, 4,s: 6,613,081 msg/sec AtomicQueue, 4,i: 7,008,206 msg/sec AtomicQueue, 5,s: 3,165,323 msg/sec AtomicQueue, 5,i: 4,341,966 msg/sec AtomicQueue, 6,s: 2,602,805 msg/sec AtomicQueue, 6,i: 4,024,706 msg/sec AtomicQueue, 7,s: 2,976,703 msg/sec AtomicQueue, 7,i: 3,206,006 msg/sec AtomicQueue, 8,s: 3,115,840 msg/sec AtomicQueue, 8,i: 2,890,151 msg/sec OptimistAtomicQueue, 1,s: 1,478,106,807 msg/sec OptimistAtomicQueue, 1,i: 1,201,076,063 msg/sec OptimistAtomicQueue, 2,s: 53,474,999 msg/sec OptimistAtomicQueue, 2,i: 52,030,049 msg/sec OptimistAtomicQueue, 3,s: 58,728,527 msg/sec OptimistAtomicQueue, 3,i: 60,915,146 msg/sec OptimistAtomicQueue, 4,s: 59,167,369 msg/sec OptimistAtomicQueue, 4,i: 66,225,306 msg/sec OptimistAtomicQueue, 5,s: 33,297,316 msg/sec OptimistAtomicQueue, 5,i: 50,147,929 msg/sec OptimistAtomicQueue, 6,s: 34,562,606 msg/sec OptimistAtomicQueue, 6,i: 35,173,915 msg/sec OptimistAtomicQueue, 7,s: 39,929,979 msg/sec OptimistAtomicQueue, 7,i: 40,022,377 msg/sec OptimistAtomicQueue, 8,s: 50,476,558 msg/sec OptimistAtomicQueue, 8,i: 41,214,268 msg/sec AtomicQueueB, 1,s: 50,787,563 msg/sec AtomicQueueB, 1,i: 49,794,922 msg/sec AtomicQueueB, 2,s: 9,728,738 msg/sec AtomicQueueB, 2,i: 10,003,355 msg/sec AtomicQueueB, 3,s: 8,189,360 msg/sec AtomicQueueB, 3,i: 8,711,193 msg/sec AtomicQueueB, 4,s: 6,540,189 msg/sec AtomicQueueB, 4,i: 6,909,305 msg/sec AtomicQueueB, 5,s: 3,159,080 msg/sec AtomicQueueB, 5,i: 4,330,195 msg/sec AtomicQueueB, 6,s: 2,603,744 msg/sec AtomicQueueB, 6,i: 3,540,160 msg/sec AtomicQueueB, 7,s: 2,920,246 msg/sec AtomicQueueB, 7,i: 3,199,238 msg/sec AtomicQueueB, 8,s: 3,044,782 msg/sec AtomicQueueB, 8,i: 2,867,418 msg/sec OptimistAtomicQueueB, 1,s: 528,318,642 msg/sec OptimistAtomicQueueB, 1,i: 524,643,353 msg/sec OptimistAtomicQueueB, 2,s: 46,494,957 msg/sec OptimistAtomicQueueB, 2,i: 48,626,696 msg/sec OptimistAtomicQueueB, 3,s: 58,592,918 msg/sec OptimistAtomicQueueB, 3,i: 57,230,021 msg/sec OptimistAtomicQueueB, 4,s: 59,530,788 msg/sec OptimistAtomicQueueB, 4,i: 64,744,328 msg/sec OptimistAtomicQueueB, 5,s: 33,085,604 msg/sec OptimistAtomicQueueB, 5,i: 39,595,219 msg/sec OptimistAtomicQueueB, 6,s: 34,330,205 msg/sec OptimistAtomicQueueB, 6,i: 34,842,221 msg/sec OptimistAtomicQueueB, 7,s: 38,917,611 msg/sec OptimistAtomicQueueB, 7,i: 39,861,396 msg/sec OptimistAtomicQueueB, 8,s: 51,433,988 msg/sec OptimistAtomicQueueB, 8,i: 41,193,759 msg/sec AtomicQueue2, 1,s: 135,026,875 msg/sec AtomicQueue2, 1,i: 137,044,571 msg/sec AtomicQueue2, 2,s: 9,957,003 msg/sec AtomicQueue2, 2,i: 10,537,556 msg/sec AtomicQueue2, 3,s: 8,410,382 msg/sec AtomicQueue2, 3,i: 8,920,762 msg/sec AtomicQueue2, 4,s: 6,676,763 msg/sec AtomicQueue2, 4,i: 7,087,715 msg/sec AtomicQueue2, 5,s: 3,131,876 msg/sec AtomicQueue2, 5,i: 4,280,340 msg/sec AtomicQueue2, 6,s: 2,568,256 msg/sec AtomicQueue2, 6,i: 3,973,399 msg/sec AtomicQueue2, 7,s: 2,897,602 msg/sec AtomicQueue2, 7,i: 3,200,160 msg/sec AtomicQueue2, 8,s: 3,018,053 msg/sec AtomicQueue2, 8,i: 2,881,395 msg/sec OptimistAtomicQueue2, 1,s: 107,848,445 msg/sec OptimistAtomicQueue2, 1,i: 107,235,047 msg/sec OptimistAtomicQueue2, 2,s: 43,395,835 msg/sec OptimistAtomicQueue2, 2,i: 47,456,180 msg/sec OptimistAtomicQueue2, 3,s: 56,711,615 msg/sec OptimistAtomicQueue2, 3,i: 49,930,621 msg/sec OptimistAtomicQueue2, 4,s: 59,168,314 msg/sec OptimistAtomicQueue2, 4,i: 57,890,413 msg/sec OptimistAtomicQueue2, 5,s: 31,459,489 msg/sec OptimistAtomicQueue2, 5,i: 32,691,111 msg/sec OptimistAtomicQueue2, 6,s: 32,953,640 msg/sec OptimistAtomicQueue2, 6,i: 32,683,184 msg/sec OptimistAtomicQueue2, 7,s: 37,686,857 msg/sec OptimistAtomicQueue2, 7,i: 37,712,083 msg/sec OptimistAtomicQueue2, 8,s: 49,051,298 msg/sec OptimistAtomicQueue2, 8,i: 39,884,034 msg/sec AtomicQueueB2, 1,s: 72,725,550 msg/sec AtomicQueueB2, 1,i: 48,296,693 msg/sec AtomicQueueB2, 2,s: 9,844,959 msg/sec AtomicQueueB2, 2,i: 10,436,071 msg/sec AtomicQueueB2, 3,s: 8,319,837 msg/sec AtomicQueueB2, 3,i: 8,851,794 msg/sec AtomicQueueB2, 4,s: 6,610,446 msg/sec AtomicQueueB2, 4,i: 6,959,160 msg/sec AtomicQueueB2, 5,s: 3,097,215 msg/sec AtomicQueueB2, 5,i: 4,322,806 msg/sec AtomicQueueB2, 6,s: 2,549,264 msg/sec AtomicQueueB2, 6,i: 3,973,795 msg/sec AtomicQueueB2, 7,s: 2,894,939 msg/sec AtomicQueueB2, 7,i: 3,174,208 msg/sec AtomicQueueB2, 8,s: 3,008,073 msg/sec AtomicQueueB2, 8,i: 2,862,397 msg/sec OptimistAtomicQueueB2, 1,s: 153,288,473 msg/sec OptimistAtomicQueueB2, 1,i: 152,312,100 msg/sec OptimistAtomicQueueB2, 2,s: 42,218,091 msg/sec OptimistAtomicQueueB2, 2,i: 45,953,703 msg/sec OptimistAtomicQueueB2, 3,s: 56,912,398 msg/sec OptimistAtomicQueueB2, 3,i: 53,142,709 msg/sec OptimistAtomicQueueB2, 4,s: 59,004,895 msg/sec OptimistAtomicQueueB2, 4,i: 59,871,014 msg/sec OptimistAtomicQueueB2, 5,s: 31,344,662 msg/sec OptimistAtomicQueueB2, 5,i: 31,439,836 msg/sec OptimistAtomicQueueB2, 6,s: 32,933,389 msg/sec OptimistAtomicQueueB2, 6,i: 32,320,826 msg/sec OptimistAtomicQueueB2, 7,s: 37,081,996 msg/sec OptimistAtomicQueueB2, 7,i: 36,995,804 msg/sec OptimistAtomicQueueB2, 8,s: 47,993,562 msg/sec OptimistAtomicQueueB2, 8,i: 39,019,253 msg/sec moodycamel::ReaderWriterQueue, 1,s: 73,784,340 msg/sec moodycamel::ReaderWriterQueue, 1,i: 132,450,348 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,026,800 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,338,422 msg/sec moodycamel::ConcurrentQueue, 2,s: 39,807,605 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,641,075 msg/sec moodycamel::ConcurrentQueue, 3,s: 56,525,980 msg/sec moodycamel::ConcurrentQueue, 3,i: 53,192,516 msg/sec moodycamel::ConcurrentQueue, 4,s: 98,581,738 msg/sec moodycamel::ConcurrentQueue, 4,i: 82,356,511 msg/sec moodycamel::ConcurrentQueue, 5,s: 109,930,146 msg/sec moodycamel::ConcurrentQueue, 5,i: 189,648,144 msg/sec moodycamel::ConcurrentQueue, 6,s: 202,988,704 msg/sec moodycamel::ConcurrentQueue, 6,i: 224,514,433 msg/sec moodycamel::ConcurrentQueue, 7,s: 233,584,570 msg/sec moodycamel::ConcurrentQueue, 7,i: 225,082,308 msg/sec moodycamel::ConcurrentQueue, 8,s: 272,416,661 msg/sec moodycamel::ConcurrentQueue, 8,i: 261,927,983 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,791,820 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,811,130 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,122,511 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,142,695 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,978,440 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,071,428 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,419,432 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,626,202 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,047,869 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,634,334 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,800,192 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,435,545 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,660,545 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,140,389 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,788,350 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,803,747 msg/sec xenium::michael_scott_queue, 1,s: 13,433,427 msg/sec xenium::michael_scott_queue, 1,i: 13,762,829 msg/sec xenium::michael_scott_queue, 2,s: 9,422,817 msg/sec xenium::michael_scott_queue, 2,i: 9,179,249 msg/sec xenium::michael_scott_queue, 3,s: 7,636,883 msg/sec xenium::michael_scott_queue, 3,i: 7,538,891 msg/sec xenium::michael_scott_queue, 4,s: 5,853,843 msg/sec xenium::michael_scott_queue, 4,i: 5,811,258 msg/sec xenium::michael_scott_queue, 5,s: 3,624,159 msg/sec xenium::michael_scott_queue, 5,i: 3,915,651 msg/sec xenium::michael_scott_queue, 6,s: 3,375,604 msg/sec xenium::michael_scott_queue, 6,i: 3,927,028 msg/sec xenium::michael_scott_queue, 7,s: 3,180,489 msg/sec xenium::michael_scott_queue, 7,i: 3,192,727 msg/sec xenium::michael_scott_queue, 8,s: 2,356,833 msg/sec xenium::michael_scott_queue, 8,i: 2,791,287 msg/sec xenium::ramalhete_queue, 1,s: 69,580,956 msg/sec xenium::ramalhete_queue, 1,i: 68,378,166 msg/sec xenium::ramalhete_queue, 2,s: 50,090,759 msg/sec xenium::ramalhete_queue, 2,i: 49,867,030 msg/sec xenium::ramalhete_queue, 3,s: 40,352,718 msg/sec xenium::ramalhete_queue, 3,i: 42,638,709 msg/sec xenium::ramalhete_queue, 4,s: 48,443,831 msg/sec xenium::ramalhete_queue, 4,i: 51,966,808 msg/sec xenium::ramalhete_queue, 5,s: 37,502,154 msg/sec xenium::ramalhete_queue, 5,i: 23,726,925 msg/sec xenium::ramalhete_queue, 6,s: 38,723,313 msg/sec xenium::ramalhete_queue, 6,i: 26,408,904 msg/sec xenium::ramalhete_queue, 7,s: 39,529,783 msg/sec xenium::ramalhete_queue, 7,i: 28,317,548 msg/sec xenium::ramalhete_queue, 8,s: 49,901,569 msg/sec xenium::ramalhete_queue, 8,i: 29,717,276 msg/sec xenium::vyukov_bounded_queue, 1,s: 302,354,350 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,204,494 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,564,398 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,538,426 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,622,357 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,231,007 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,196,894 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,605,091 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,999,529 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,515,365 msg/sec xenium::vyukov_bounded_queue, 6,s: 6,952,511 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,428,592 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,220,821 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,561,429 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,228,433 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,542,750 msg/sec boost::lockfree::queue, 1,s: 7,800,668 msg/sec boost::lockfree::queue, 1,i: 7,808,544 msg/sec boost::lockfree::queue, 2,s: 5,922,988 msg/sec boost::lockfree::queue, 2,i: 5,915,588 msg/sec boost::lockfree::queue, 3,s: 4,939,958 msg/sec boost::lockfree::queue, 3,i: 4,791,749 msg/sec boost::lockfree::queue, 4,s: 4,371,653 msg/sec boost::lockfree::queue, 4,i: 4,357,938 msg/sec boost::lockfree::queue, 5,s: 2,634,386 msg/sec boost::lockfree::queue, 5,i: 2,908,395 msg/sec boost::lockfree::queue, 6,s: 1,435,691 msg/sec boost::lockfree::queue, 6,i: 3,000,076 msg/sec boost::lockfree::queue, 7,s: 1,375,497 msg/sec boost::lockfree::queue, 7,i: 2,873,792 msg/sec boost::lockfree::queue, 8,s: 1,160,835 msg/sec boost::lockfree::queue, 8,i: 1,828,635 msg/sec std::mutex, 1,s: 5,272,244 msg/sec std::mutex, 1,i: 5,402,461 msg/sec std::mutex, 2,s: 12,886,232 msg/sec std::mutex, 2,i: 12,938,311 msg/sec std::mutex, 3,s: 7,284,621 msg/sec std::mutex, 3,i: 6,978,899 msg/sec std::mutex, 4,s: 7,090,310 msg/sec std::mutex, 4,i: 6,656,262 msg/sec std::mutex, 5,s: 3,416,151 msg/sec std::mutex, 5,i: 3,523,729 msg/sec std::mutex, 6,s: 2,971,427 msg/sec std::mutex, 6,i: 2,908pthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. ,577 msg/sec std::mutex, 7,s: 3,211,189 msg/sec std::mutex, 7,i: 2,898,478 msg/sec std::mutex, 8,s: 3,376,548 msg/sec std::mutex, 8,i: 2,779,138 msg/sec pthread_spinlock, 1,s: 17,704,003 msg/sec pthread_spinlock, 1,i: 18,172,176 msg/sec pthread_spinlock, 2,s: 7,284,963 msg/sec pthread_spinlock, 2,i: 1,713,901 msg/sec pthread_spinlock, 3,s: 1,041,734 msg/sec pthread_spinlock, 3,i: 6,009,316 msg/sec pthread_spinlock, 4,s: 1,269,812 msg/sec pthread_spinlock, 4,i: 1,454,757 msg/sec pthread_spinlock, 5,s: 2,777,265 msg/sec pthread_spinlock, 5,i: 3,673,972 msg/sec pthread_spinlock, 6,s: 2,077,642 msg/sec pthread_spinlock, 6,i: 3,111,836 msg/sec pthread_spinlock, 7,s: 2,796,594 msg/sec pthread_spinlock, 7,i: 3,059,181 msg/sec pthread_spinlock, 8,s: 3,002,387 msg/sec pthread_spinlock, 8,i: 2,671,857 msg/sec tbb::spin_mutex, 1,s: 38,420,336 msg/sec tbb::spin_mutex, 1,i: 39,077,742 msg/sec tbb::spin_mutex, 2,s: 16,501,635 msg/sec tbb::spin_mutex, 2,i: 16,027,581 msg/sec tbb::spin_mutex, 3,s: 12,040,411 msg/sec tbb::spin_mutex, 3,i: 11,873,102 msg/sec tbb::spin_mutex, 4,s: 10,571,427 msg/sec tbb::spin_mutex, 4,i: 10,184,356 msg/sec tbb::spin_mutex, 5,s: 5,966,806 msg/sec tbb::spin_mutex, 5,i: 5,630,222 msg/sec tbb::spin_mutex, 6,s: 5,106,929 msg/sec tbb::spin_mutex, 6,i: 4,854,001 msg/sec tbb::spin_mutex, 7,s: 4,428,785 msg/sec tbb::spin_mutex, 7,i: 4,857,689 msg/sec tbb::spin_mutex, 8,s: 4,264,355 msg/sec tbb::spin_mutex, 8,i: 4,040,240 msg/sec Elapsed time 2:42.27, user 1285.72s, system 110.59s, CPU 860%, RSS 59952kB, exit-status 0. 2026-09-14 17:03:45 [30/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip AtomicQueue: 0.000000105 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000089 sec/round-trip AtomicQueue2: 0.000000112 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000121 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000143 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000443 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,285,103 msg/sec boost::lockfree::spsc_queue, 1,i: 113,382,110 msg/sec AtomicQueue, 1,s: 129,930,962 msg/sec AtomicQueue, 1,i: 137,888,672 msg/sec AtomicQueue, 2,s: 9,875,694 msg/sec AtomicQueue, 2,i: 10,328,667 msg/sec AtomicQueue, 3,s: 8,351,076 msg/sec AtomicQueue, 3,i: 8,820,792 msg/sec AtomicQueue, 4,s: 6,598,915 msg/sec AtomicQueue, 4,i: 7,017,933 msg/sec AtomicQueue, 5,s: 3,173,663 msg/sec AtomicQueue, 5,i: 4,328,737 msg/sec AtomicQueue, 6,s: 2,599,064 msg/sec AtomicQueue, 6,i: 3,515,235 msg/sec AtomicQueue, 7,s: 2,962,805 msg/sec AtomicQueue, 7,i: 3,214,721 msg/sec AtomicQueue, 8,s: 3,123,238 msg/sec AtomicQueue, 8,i: 2,889,860 msg/sec OptimistAtomicQueue, 1,s: 1,194,177,284 msg/sec OptimistAtomicQueue, 1,i: 1,195,762,267 msg/sec OptimistAtomicQueue, 2,s: 55,028,498 msg/sec OptimistAtomicQueue, 2,i: 52,860,181 msg/sec OptimistAtomicQueue, 3,s: 58,840,243 msg/sec OptimistAtomicQueue, 3,i: 59,576,551 msg/sec OptimistAtomicQueue, 4,s: 59,334,437 msg/sec OptimistAtomicQueue, 4,i: 66,222,104 msg/sec OptimistAtomicQueue, 5,s: 33,284,227 msg/sec OptimistAtomicQueue, 5,i: 50,691,820 msg/sec OptimistAtomicQueue, 6,s: 34,531,754 msg/sec OptimistAtomicQueue, 6,i: 35,212,830 msg/sec OptimistAtomicQueue, 7,s: 40,120,821 msg/sec OptimistAtomicQueue, 7,i: 39,984,021 msg/sec OptimistAtomicQueue, 8,s: 50,529,710 msg/sec OptimistAtomicQueue, 8,i: 41,235,120 msg/sec AtomicQueueB, 1,s: 50,283,740 msg/sec AtomicQueueB, 1,i: 50,515,366 msg/sec AtomicQueueB, 2,s: 9,584,879 msg/sec AtomicQueueB, 2,i: 10,308,869 msg/sec AtomicQueueB, 3,s: 8,165,515 msg/sec AtomicQueueB, 3,i: 8,746,082 msg/sec AtomicQueueB, 4,s: 6,537,477 msg/sec AtomicQueueB, 4,i: 6,913,246 msg/sec AtomicQueueB, 5,s: 3,115,977 msg/sec AtomicQueueB, 5,i: 4,342,749 msg/sec AtomicQueueB, 6,s: 2,605,582 msg/sec AtomicQueueB, 6,i: 3,463,930 msg/sec AtomicQueueB, 7,s: 2,921,235 msg/sec AtomicQueueB, 7,i: 3,170,167 msg/sec AtomicQueueB, 8,s: 3,050,703 msg/sec AtomicQueueB, 8,i: 2,875,933 msg/sec OptimistAtomicQueueB, 1,s: 531,584,791 msg/sec OptimistAtomicQueueB, 1,i: 516,735,532 msg/sec OptimistAtomicQueueB, 2,s: 50,615,592 msg/sec OptimistAtomicQueueB, 2,i: 49,180,404 msg/sec OptimistAtomicQueueB, 3,s: 58,572,361 msg/sec OptimistAtomicQueueB, 3,i: 57,417,745 msg/sec OptimistAtomicQueueB, 4,s: 59,459,112 msg/sec OptimistAtomicQueueB, 4,i: 66,015,635 msg/sec OptimistAtomicQueueB, 5,s: 32,995,282 msg/sec OptimistAtomicQueueB, 5,i: 37,394,665 msg/sec OptimistAtomicQueueB, 6,s: 34,273,000 msg/sec OptimistAtomicQueueB, 6,i: 34,029,555 msg/sec OptimistAtomicQueueB, 7,s: 39,340,051 msg/sec OptimistAtomicQueueB, 7,i: 39,987,570 msg/sec OptimistAtomicQueueB, 8,s: 51,487,798 msg/sec OptimistAtomicQueueB, 8,i: 41,170,559 msg/sec AtomicQueue2, 1,s: 134,238,245 msg/sec AtomicQueue2, 1,i: 132,067,625 msg/sec AtomicQueue2, 2,s: 9,961,640 msg/sec AtomicQueue2, 2,i: 10,538,016 msg/sec AtomicQueue2, 3,s: 8,404,857 msg/sec AtomicQueue2, 3,i: 8,918,819 msg/sec AtomicQueue2, 4,s: 6,689,377 msg/sec AtomicQueue2, 4,i: 7,085,586 msg/sec AtomicQueue2, 5,s: 3,134,426 msg/sec AtomicQueue2, 5,i: 4,278,206 msg/sec AtomicQueue2, 6,s: 2,565,641 msg/sec AtomicQueue2, 6,i: 3,455,268 msg/sec AtomicQueue2, 7,s: 2,902,858 msg/sec AtomicQueue2, 7,i: 3,219,048 msg/sec AtomicQueue2, 8,s: 3,025,120 msg/sec AtomicQueue2, 8,i: 2,885,333 msg/sec OptimistAtomicQueue2, 1,s: 107,358,689 msg/sec OptimistAtomicQueue2, 1,i: 107,285,092 msg/sec OptimistAtomicQueue2, 2,s: 43,399,865 msg/sec OptimistAtomicQueue2, 2,i: 47,107,734 msg/sec OptimistAtomicQueue2, 3,s: 55,667,564 msg/sec OptimistAtomicQueue2, 3,i: 50,048,242 msg/sec OptimistAtomicQueue2, 4,s: 59,199,979 msg/sec OptimistAtomicQueue2, 4,i: 57,999,297 msg/sec OptimistAtomicQueue2, 5,s: 31,499,324 msg/sec OptimistAtomicQueue2, 5,i: 34,178,952 msg/sec OptimistAtomicQueue2, 6,s: 32,993,519 msg/sec OptimistAtomicQueue2, 6,i: 32,508,602 msg/sec OptimistAtomicQueue2, 7,s: 37,613,672 msg/sec OptimistAtomicQueue2, 7,i: 37,771,637 msg/sec OptimistAtomicQueue2, 8,s: 49,026,361 msg/sec OptimistAtomicQueue2, 8,i: 39,848,863 msg/sec AtomicQueueB2, 1,s: 89,120,789 msg/sec AtomicQueueB2, 1,i: 86,713,514 msg/sec AtomicQueueB2, 2,s: 9,844,408 msg/sec AtomicQueueB2, 2,i: 10,425,540 msg/sec AtomicQueueB2, 3,s: 8,326,001 msg/sec AtomicQueueB2, 3,i: 8,822,545 msg/sec AtomicQueueB2, 4,s: 6,622,581 msg/sec AtomicQueueB2, 4,i: 6,980,972 msg/sec AtomicQueueB2, 5,s: 3,100,477 msg/sec AtomicQueueB2, 5,i: 3,682,583 msg/sec AtomicQueueB2, 6,s: 2,550,686 msg/sec AtomicQueueB2, 6,i: 3,478,009 msg/sec AtomicQueueB2, 7,s: 2,895,141 msg/sec AtomicQueueB2, 7,i: 3,265,586 msg/sec AtomicQueueB2, 8,s: 3,017,092 msg/sec AtomicQueueB2, 8,i: 2,836,385 msg/sec OptimistAtomicQueueB2, 1,s: 153,043,560 msg/sec OptimistAtomicQueueB2, 1,i: 150,120,084 msg/sec OptimistAtomicQueueB2, 2,s: 42,121,781 msg/sec OptimistAtomicQueueB2, 2,i: 46,146,375 msg/sec OptimistAtomicQueueB2, 3,s: 56,934,302 msg/sec OptimistAtomicQueueB2, 3,i: 53,147,059 msg/sec OptimistAtomicQueueB2, 4,s: 59,113,263 msg/sec OptimistAtomicQueueB2, 4,i: 59,861,624 msg/sec OptimistAtomicQueueB2, 5,s: 31,361,245 msg/sec OptimistAtomicQueueB2, 5,i: 32,491,405 msg/sec OptimistAtomicQueueB2, 6,s: 32,997,079 msg/sec OptimistAtomicQueueB2, 6,i: 31,923,188 msg/sec OptimistAtomicQueueB2, 7,s: 37,050,260 msg/sec OptimistAtomicQueueB2, 7,i: 37,026,322 msg/sec OptimistAtomicQueueB2, 8,s: 47,983,453 msg/sec OptimistAtomicQueueB2, 8,i: 38,957,736 msg/sec moodycamel::ReaderWriterQueue, 1,s: 876,164,558 msg/sec moodycamel::ReaderWriterQueue, 1,i: 468,684,739 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,088,944 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,304,219 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,473,360 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,414,295 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,352,053 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,983,712 msg/sec moodycamel::ConcurrentQueue, 4,s: 88,530,091 msg/sec moodycamel::ConcurrentQueue, 4,i: 98,681,742 msg/sec moodycamel::ConcurrentQueue, 5,s: 119,099,578 msg/sec moodycamel::ConcurrentQueue, 5,i: 190,492,761 msg/sec moodycamel::ConcurrentQueue, 6,s: 214,514,459 msg/sec moodycamel::ConcurrentQueue, 6,i: 219,022,388 msg/sec moodycamel::ConcurrentQueue, 7,s: 222,005,786 msg/sec moodycamel::ConcurrentQueue, 7,i: 220,161,228 msg/sec moodycamel::ConcurrentQueue, 8,s: 269,161,167 msg/sec moodycamel::ConcurrentQueue, 8,i: 226,165,214 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,814,534 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,840,954 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,137,878 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,092,751 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,972,384 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,075,011 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,424,785 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,623,340 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,046,614 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,651,361 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,797,539 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,376,831 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,670,968 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,265,047 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,784,454 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,803,481 msg/sec xenium::michael_scott_queue, 1,s: 13,412,203 msg/sec xenium::michael_scott_queue, 1,i: 13,761,312 msg/sec xenium::michael_scott_queue, 2,s: 9,455,417 msg/sec xenium::michael_scott_queue, 2,i: 9,207,945 msg/sec xenium::michael_scott_queue, 3,s: 7,636,445 msg/sec xenium::michael_scott_queue, 3,i: 7,529,800 msg/sec xenium::michael_scott_queue, 4,s: 5,877,152 msg/sec xenium::michael_scott_queue, 4,i: 5,817,126 msg/sec xenium::michael_scott_queue, 5,s: 3,661,377 msg/sec xenium::michael_scott_queue, 5,i: 3,938,098 msg/sec xenium::michael_scott_queue, 6,s: 3,291,848 msg/sec xenium::michael_scott_queue, 6,i: 3,572,417 msg/sec xenium::michael_scott_queue, 7,s: 3,177,958 msg/sec xenium::michael_scott_queue, 7,i: 3,272,517 msg/sec xenium::michael_scott_queue, 8,s: 2,356,932 msg/sec xenium::michael_scott_queue, 8,i: 2,796,803 msg/sec xenium::ramalhete_queue, 1,s: 75,551,297 msg/sec xenium::ramalhete_queue, 1,i: 73,845,745 msg/sec xenium::ramalhete_queue, 2,s: 49,218,285 msg/sec xenium::ramalhete_queue, 2,i: 47,455,977 msg/sec xenium::ramalhete_queue, 3,s: 42,891,465 msg/sec xenium::ramalhete_queue, 3,i: 40,220,997 msg/sec xenium::ramalhete_queue, 4,s: 51,660,313 msg/sec xenium::ramalhete_queue, 4,i: 49,060,153 msg/sec xenium::ramalhete_queue, 5,s: 37,290,682 msg/sec xenium::ramalhete_queue, 5,i: 23,305,302 msg/sec xenium::ramalhete_queue, 6,s: 38,874,868 msg/sec xenium::ramalhete_queue, 6,i: 26,797,120 msg/sec xenium::ramalhete_queue, 7,s: 39,376,097 msg/sec xenium::ramalhete_queue, 7,i: 28,212,336 msg/sec xenium::ramalhete_queue, 8,s: 50,137,872 msg/sec xenium::ramalhete_queue, 8,i: 29,359,153 msg/sec xenium::vyukov_bounded_queue, 1,s: 310,603,374 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,086,183 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,190,785 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,518,636 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,459,887 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,425,147 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,211,107 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,519,970 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,071,144 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,562,941 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,107,097 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,820,362 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,239,514 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,542,239 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,312,348 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,536,725 msg/sec boost::lockfree::queue, 1,s: 7,748,283 msg/sec boost::lockfree::queue, 1,i: 7,807,874 msg/sec boost::lockfree::queue, 2,s: 5,839,255 msg/sec boost::lockfree::queue, 2,i: 5,924,332 msg/sec boost::lockfree::queue, 3,s: 4,945,732 msg/sec boost::lockfree::queue, 3,i: 4,801,041 msg/sec boost::lockfree::queue, 4,s: 4,365,599 msg/sec boost::lockfree::queue, 4,i: 4,352,584 msg/sec boost::lockfree::queue, 5,s: 2,646,119 msg/sec boost::lockfree::queue, 5,i: 2,896,409 msg/sec boost::lockfree::queue, 6,s: 1,434,027 msg/sec boost::lockfree::queue, 6,i: 3,004,507 msg/sec boost::lockfree::queue, 7,s: 1,386,356 msg/sec boost::lockfree::queue, 7,i: 2,945,367 msg/sec boost::lockfree::queue, 8,s: 1,158,865 msg/sec boost::lockfree::queue, 8,i: 1,834,894 msg/sec std::mutex, 1,s: 5,642,610 msg/sec std::mutex, 1,i: 4,633,215 msg/sec std::mutex, 2,s: 13,086,149 msg/sec std::mutex, 2,i: 12,222,649 msg/sec std::mutex, 3,s: 6,863,948 msg/sec std::mutex, 3,i: 6,699,807 msg/sec std::mutex, 4,s: 7,046,629 msg/sec std::mutex, 4,i: 6,657,919 msg/sec std::mutex, 5,s: 3,323,524 msg/sec std::mutex, 5,i: 3,378,503 msg/sec std::mutex, 6,s: 3,009,544 msg/sec std::mutex, 6,i: 2,934,484 msg/sec std::mutex, 7,s: 3,234,303 msg/sec std::mutex, 7,i: 2,893,992 msg/sec std::mutex, 8,s: 3,460,800 msg/sec std::mutex, 8,i: 2,786,827 msg/sec pthread_spinlock, 1,s: 17,963,243 msg/sec pthread_spinlock, 1,i: 18,188,510 msg/sec pthread_spinlock, 2,s: 7,778,475 msg/sec pthread_spinlock, 2,i: 1,388,200 msg/sec pthread_spinlock, 3,s: 910,170 msg/sec pthread_spinlock, 3,i: 5,633,788 msg/sec pthread_spinlock, 4,s: 978,368 msg/sec pthread_spinlock, 4,i: 1,629,424 msg/sec pthread_spinlock, 5,s: 2,789,054 msg/sec pthread_spinlock, 5,i: 1,158,893 msg/sec pthread_spinlock, 6,s: 2,064,206 msg/sec pthread_spinlock, 6,i: 3,339,036 msg/sec pthread_spinlock, 7,s: 2,885,766 msg/sec pthread_spinlock, 7,i: 3,080,208 msg/sec pthread_spinlock, 8,s: 2,999,406 msg/sec pthread_spinlock, 8,i: 2,680,239 msg/sec tbb::spin_mutex, 1,s: 38,651,291 msg/sec tbb::spin_mutex, 1,i: 38,760,067 msg/sec tbb::spin_mutex, 2,s: 16,528,363 msg/sec tbb::spin_mutex, 2,i: 15,987,808 msg/sec tbb::spin_mutex, 3,s: 12,048,140 msg/sec tbb::spin_mutex, 3,i: 11,907,586 msg/sec tbb::spin_mutex, 4,s: 10,286,455 msg/sec tbb::spin_mutex, 4,i: 10,165,710 msg/sec tbb::spin_mutex, 5,s: 5,964,511 msg/sec tbb::spin_mutex, 5,i: 5,609,504 msg/sec tbb::spin_mutex, 6,s: 5,107,963 msg/sec tbb::spin_mutex, 6,i: 4,771,628 msg/sec tbb::spin_mutex, 7,s: 4,368,159 msg/sec tbb::spin_mutex, 7,i: 4,613,296 msg/sec tbb::spin_mutex, 8,s: 4,264,233 msg/sec tbb::spin_mutex, 8,i: 4,045,014 msg/sec Elapsed time 2:43.22, user 1290.73s, system 110.90s, CPU 858%, RSS 61512kB, exit-status 0. 2026-09-14 17:06:28 [31/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip AtomicQueue: 0.000000114 sec/round-trip OptimistAtomicQueue: 0.000000100 sec/round-trip AtomicQueueB: 0.000000120 sec/round-trip OptimistAtomicQueueB: 0.000000087 sec/round-trip AtomicQueue2: 0.000000115 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000121 sec/round-trip OptimistAtomicQueueB2: 0.000000103 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000138 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000212 sec/round-trip std::mutex: 0.000000452 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,415,222 msg/sec boost::lockfree::spsc_queue, 1,i: 113,350,110 msg/sec AtomicQueue, 1,s: 110,504,599 msg/sec AtomicQueue, 1,i: 141,556,990 msg/sec AtomicQueue, 2,s: 9,874,586 msg/sec AtomicQueue, 2,i: 10,338,044 msg/sec AtomicQueue, 3,s: 8,356,398 msg/sec AtomicQueue, 3,i: 8,779,216 msg/sec AtomicQueue, 4,s: 6,600,913 msg/sec AtomicQueue, 4,i: 7,002,385 msg/sec AtomicQueue, 5,s: 3,165,009 msg/sec AtomicQueue, 5,i: 4,316,437 msg/sec AtomicQueue, 6,s: 2,599,231 msg/sec AtomicQueue, 6,i: 3,535,413 msg/sec AtomicQueue, 7,s: 2,965,372 msg/sec AtomicQueue, 7,i: 3,214,750 msg/sec AtomicQueue, 8,s: 3,123,229 msg/sec AtomicQueue, 8,i: 2,897,907 msg/sec OptimistAtomicQueue, 1,s: 1,203,403,058 msg/sec OptimistAtomicQueue, 1,i: 1,195,519,249 msg/sec OptimistAtomicQueue, 2,s: 58,419,228 msg/sec OptimistAtomicQueue, 2,i: 52,028,885 msg/sec OptimistAtomicQueue, 3,s: 58,715,941 msg/sec OptimistAtomicQueue, 3,i: 59,469,768 msg/sec OptimistAtomicQueue, 4,s: 59,206,007 msg/sec OptimistAtomicQueue, 4,i: 66,274,945 msg/sec OptimistAtomicQueue, 5,s: 33,120,121 msg/sec OptimistAtomicQueue, 5,i: 46,945,128 msg/sec OptimistAtomicQueue, 6,s: 34,477,431 msg/sec OptimistAtomicQueue, 6,i: 34,093,015 msg/sec OptimistAtomicQueue, 7,s: 40,024,123 msg/sec OptimistAtomicQueue, 7,i: 40,315,756 msg/sec OptimistAtomicQueue, 8,s: 50,512,304 msg/sec OptimistAtomicQueue, 8,i: 41,200,887 msg/sec AtomicQueueB, 1,s: 50,738,089 msg/sec AtomicQueueB, 1,i: 50,646,994 msg/sec AtomicQueueB, 2,s: 9,618,294 msg/sec AtomicQueueB, 2,i: 10,180,681 msg/sec AtomicQueueB, 3,s: 8,235,639 msg/sec AtomicQueueB, 3,i: 8,668,302 msg/sec AtomicQueueB, 4,s: 6,542,150 msg/sec AtomicQueueB, 4,i: 6,913,075 msg/sec AtomicQueueB, 5,s: 3,135,379 msg/sec AtomicQueueB, 5,i: 4,328,396 msg/sec AtomicQueueB, 6,s: 2,602,087 msg/sec AtomicQueueB, 6,i: 3,973,388 msg/sec AtomicQueueB, 7,s: 2,914,069 msg/sec AtomicQueueB, 7,i: 3,194,581 msg/sec AtomicQueueB, 8,s: 3,043,654 msg/sec AtomicQueueB, 8,i: 2,883,732 msg/sec OptimistAtomicQueueB, 1,s: 700,741,322 msg/sec OptimistAtomicQueueB, 1,i: 517,275,452 msg/sec OptimistAtomicQueueB, 2,s: 46,450,166 msg/sec OptimistAtomicQueueB, 2,i: 49,777,647 msg/sec OptimistAtomicQueueB, 3,s: 58,544,689 msg/sec OptimistAtomicQueueB, 3,i: 57,263,644 msg/sec OptimistAtomicQueueB, 4,s: 59,479,695 msg/sec OptimistAtomicQueueB, 4,i: 66,019,557 msg/sec OptimistAtomicQueueB, 5,s: 33,014,933 msg/sec OptimistAtomicQueueB, 5,i: 39,551,825 msg/sec OptimistAtomicQueueB, 6,s: 34,452,855 msg/sec OptimistAtomicQueueB, 6,i: 34,907,386 msg/sec OptimistAtomicQueueB, 7,s: 39,428,089 msg/sec OptimistAtomicQueueB, 7,i: 40,091,757 msg/sec OptimistAtomicQueueB, 8,s: 51,489,018 msg/sec OptimistAtomicQueueB, 8,i: 41,128,296 msg/sec AtomicQueue2, 1,s: 128,475,049 msg/sec AtomicQueue2, 1,i: 136,225,029 msg/sec AtomicQueue2, 2,s: 9,954,252 msg/sec AtomicQueue2, 2,i: 10,528,375 msg/sec AtomicQueue2, 3,s: 8,405,074 msg/sec AtomicQueue2, 3,i: 8,920,577 msg/sec AtomicQueue2, 4,s: 6,683,395 msg/sec AtomicQueue2, 4,i: 7,087,503 msg/sec AtomicQueue2, 5,s: 3,141,436 msg/sec AtomicQueue2, 5,i: 4,282,559 msg/sec AtomicQueue2, 6,s: 2,568,145 msg/sec AtomicQueue2, 6,i: 3,977,874 msg/sec AtomicQueue2, 7,s: 2,903,395 msg/sec AtomicQueue2, 7,i: 3,206,071 msg/sec AtomicQueue2, 8,s: 3,020,094 msg/sec AtomicQueue2, 8,i: 2,895,836 msg/sec OptimistAtomicQueue2, 1,s: 107,287,854 msg/sec OptimistAtomicQueue2, 1,i: 107,069,831 msg/sec OptimistAtomicQueue2, 2,s: 43,498,275 msg/sec OptimistAtomicQueue2, 2,i: 46,963,074 msg/sec OptimistAtomicQueue2, 3,s: 56,478,573 msg/sec OptimistAtomicQueue2, 3,i: 50,039,978 msg/sec OptimistAtomicQueue2, 4,s: 59,083,507 msg/sec OptimistAtomicQueue2, 4,i: 58,070,091 msg/sec OptimistAtomicQueue2, 5,s: 31,507,512 msg/sec OptimistAtomicQueue2, 5,i: 32,567,580 msg/sec OptimistAtomicQueue2, 6,s: 32,860,516 msg/sec OptimistAtomicQueue2, 6,i: 32,552,221 msg/sec OptimistAtomicQueue2, 7,s: 37,758,360 msg/sec OptimistAtomicQueue2, 7,i: 37,665,026 msg/sec OptimistAtomicQueue2, 8,s: 48,999,336 msg/sec OptimistAtomicQueue2, 8,i: 39,880,169 msg/sec AtomicQueueB2, 1,s: 88,435,517 msg/sec AtomicQueueB2, 1,i: 67,211,057 msg/sec AtomicQueueB2, 2,s: 9,838,790 msg/sec AtomicQueueB2, 2,i: 10,429,266 msg/sec AtomicQueueB2, 3,s: 8,315,749 msg/sec AtomicQueueB2, 3,i: 8,845,083 msg/sec AtomicQueueB2, 4,s: 6,607,108 msg/sec AtomicQueueB2, 4,i: 6,973,596 msg/sec AtomicQueueB2, 5,s: 3,085,594 msg/sec AtomicQueueB2, 5,i: 4,334,063 msg/sec AtomicQueueB2, 6,s: 2,549,376 msg/sec AtomicQueueB2, 6,i: 3,992,573 msg/sec AtomicQueueB2, 7,s: 2,895,236 msg/sec AtomicQueueB2, 7,i: 3,261,958 msg/sec AtomicQueueB2, 8,s: 3,019,252 msg/sec AtomicQueueB2, 8,i: 2,852,123 msg/sec OptimistAtomicQueueB2, 1,s: 151,216,494 msg/sec OptimistAtomicQueueB2, 1,i: 151,992,404 msg/sec OptimistAtomicQueueB2, 2,s: 42,021,018 msg/sec OptimistAtomicQueueB2, 2,i: 45,948,108 msg/sec OptimistAtomicQueueB2, 3,s: 56,914,827 msg/sec OptimistAtomicQueueB2, 3,i: 53,182,050 msg/sec OptimistAtomicQueueB2, 4,s: 59,011,894 msg/sec OptimistAtomicQueueB2, 4,i: 59,847,581 msg/sec OptimistAtomicQueueB2, 5,s: 31,405,871 msg/sec OptimistAtomicQueueB2, 5,i: 31,516,866 msg/sec OptimistAtomicQueueB2, 6,s: 32,889,944 msg/sec OptimistAtomicQueueB2, 6,i: 32,302,284 msg/sec OptimistAtomicQueueB2, 7,s: 37,030,600 msg/sec OptimistAtomicQueueB2, 7,i: 36,870,683 msg/sec OptimistAtomicQueueB2, 8,s: 48,768,267 msg/sec OptimistAtomicQueueB2, 8,i: 39,001,205 msg/sec moodycamel::ReaderWriterQueue, 1,s: 66,100,287 msg/sec moodycamel::ReaderWriterQueue, 1,i: 91,816,187 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,302,359 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,206,902 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,940,027 msg/sec moodycamel::ConcurrentQueue, 2,i: 32,914,560 msg/sec moodycamel::ConcurrentQueue, 3,s: 51,887,154 msg/sec moodycamel::ConcurrentQueue, 3,i: 47,947,153 msg/sec moodycamel::ConcurrentQueue, 4,s: 107,618,758 msg/sec moodycamel::ConcurrentQueue, 4,i: 90,151,246 msg/sec moodycamel::ConcurrentQueue, 5,s: 82,369,604 msg/sec moodycamel::ConcurrentQueue, 5,i: 189,649,943 msg/sec moodycamel::ConcurrentQueue, 6,s: 191,111,287 msg/sec moodycamel::ConcurrentQueue, 6,i: 213,643,265 msg/sec moodycamel::ConcurrentQueue, 7,s: 224,053,059 msg/sec moodycamel::ConcurrentQueue, 7,i: 235,566,493 msg/sec moodycamel::ConcurrentQueue, 8,s: 279,459,970 msg/sec moodycamel::ConcurrentQueue, 8,i: 265,757,079 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,772,411 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,772,168 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,148,299 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,084,634 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,979,354 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,072,952 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,414,864 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,624,684 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,063,093 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,111,943 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,790,796 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,426,888 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,658,926 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,156,381 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,782,923 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,811,528 msg/sec xenium::michael_scott_queue, 1,s: 13,381,347 msg/sec xenium::michael_scott_queue, 1,i: 13,780,522 msg/sec xenium::michael_scott_queue, 2,s: 9,413,816 msg/sec xenium::michael_scott_queue, 2,i: 9,156,969 msg/sec xenium::michael_scott_queue, 3,s: 7,624,662 msg/sec xenium::michael_scott_queue, 3,i: 7,550,678 msg/sec xenium::michael_scott_queue, 4,s: 5,854,403 msg/sec xenium::michael_scott_queue, 4,i: 5,817,161 msg/sec xenium::michael_scott_queue, 5,s: 3,632,109 msg/sec xenium::michael_scott_queue, 5,i: 4,621,738 msg/sec xenium::michael_scott_queue, 6,s: 3,298,537 msg/sec xenium::michael_scott_queue, 6,i: 3,576,914 msg/sec xenium::michael_scott_queue, 7,s: 3,207,978 msg/sec xenium::michael_scott_queue, 7,i: 3,255,200 msg/sec xenium::michael_scott_queue, 8,s: 2,350,047 msg/sec xenium::michael_scott_queue, 8,i: 2,792,431 msg/sec xenium::ramalhete_queue, 1,s: 71,793,329 msg/sec xenium::ramalhete_queue, 1,i: 70,792,675 msg/sec xenium::ramalhete_queue, 2,s: 46,879,547 msg/sec xenium::ramalhete_queue, 2,i: 50,805,341 msg/sec xenium::ramalhete_queue, 3,s: 40,162,345 msg/sec xenium::ramalhete_queue, 3,i: 40,847,159 msg/sec xenium::ramalhete_queue, 4,s: 46,525,349 msg/sec xenium::ramalhete_queue, 4,i: 51,054,837 msg/sec xenium::ramalhete_queue, 5,s: 37,405,519 msg/sec xenium::ramalhete_queue, 5,i: 23,324,501 msg/sec xenium::ramalhete_queue, 6,s: 38,773,008 msg/sec xenium::ramalhete_queue, 6,i: 26,432,407 msg/sec xenium::ramalhete_queue, 7,s: 39,363,930 msg/sec xenium::ramalhete_queue, 7,i: 28,375,964 msg/sec xenium::ramalhete_queue, 8,s: 49,975,909 msg/sec xenium::ramalhete_queue, 8,i: 29,548,492 msg/sec xenium::vyukov_bounded_queue, 1,s: 314,444,531 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,590,833 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,594,248 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,900,101 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,631,424 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,191,533 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,443,677 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,584,770 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,533,707 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,661,809 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,005,149 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,397,799 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,040,905 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,432,286 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,329,773 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,559,490 msg/sec boost::lockfree::queue, 1,s: 7,807,485 msg/sec boost::lockfree::queue, 1,i: 7,855,500 msg/sec boost::lockfree::queue, 2,s: 5,858,620 msg/sec boost::lockfree::queue, 2,i: 5,912,803 msg/sec boost::lockfree::queue, 3,s: 4,938,295 msg/sec boost::lockfree::queue, 3,i: 4,791,987 msg/sec boost::lockfree::queue, 4,s: 4,365,549 msg/sec boost::lockfree::queue, 4,i: 4,350,059 msg/sec boost::lockfree::queue, 5,s: 2,658,161 msg/sec boost::lockfree::queue, 5,i: 2,900,664 msg/sec boost::lockfree::queue, 6,s: 1,439,107 msg/sec boost::lockfree::queue, 6,i: 2,799,429 msg/sec boost::lockfree::queue, 7,s: 1,392,584 msg/sec boost::lockfree::queue, 7,i: 2,885,503 msg/sec boost::lockfree::queue, 8,s: 1,164,400 msg/sec boost::lockfree::queue, 8,i: 1,816,283 msg/sec std::mutex, 1,s: 3,658,005 msg/sec std::mutex, 1,i: 3,731,167 msg/sec std::mutex, 2,s: 14,066,479 msg/sec std::mutex, 2,i: 13,702,114 msg/sec std::mutex, 3,s: 7,168,310 msg/sec std::mutex, 3,i: 6,851,717 msg/sec std::mutex, 4,s: 7,062,167 msg/sec std::mutex, 4,i: 6,636,707 msg/sec std::mutex, 5,s: 3,306,110 msg/sec std::mutex, 5,i: 3,305,195 msg/sec std::mutex, 6,s: 2,983,536 msg/sec std::mutex, 6,i: 2,976,784 msg/sec std::mutex, 7,s: 3,197,313 msg/sec std::mutex, 7,i: 2,916,025 msg/sec std::mutex, 8,s: 3,477,754 msg/sec std::mutex, 8,i: 2,842,895 msg/sec pthread_spinlock, 1,s: 17,737,411 msg/sec pthread_spinlock, 1,i: 18,003,143 msg/sec pthread_spinlock, 2,s: 7,426,850 msg/sec pthread_spinlock, 2,i: 2,254,218 msg/sec pthread_spinlock, 3,s: 803,334 msg/sec pthread_spinlock, 3,i: 4,782,947 msg/sec pthread_spinlock, 4,s: 1,101,673 msg/sec pthread_spinlock, 4,i: 1,016,391 msg/sec pthread_spinlock, 5,s: 2,771,518 msg/sec pthread_spinlock, 5,i: 826,071 msg/sec pthread_spinlock, 6,s: 1,991,896 msg/sec pthread_spinlock, 6,i: 3,370,479 msg/sec pthread_spinlock, 7,s: 2,801,147 msg/sec pthread_spinlock, 7,i: 3,069,705 msg/sec pthread_spinlock, 8,s: 2,954,990 msg/sec pthread_spinlock, 8,i: 2,678,851 msg/sec tbb::spin_mutex, 1,s: 38,003,025 msg/sec tbb::spin_mutex, 1,i: 38,317,581 msg/sec tbb::spin_mutex, 2,s: 16,540,304 msg/sec tbb::spin_mutex, 2,i: 16,040,415 msg/sec tbb::spin_mutex, 3,s: 12,060,586 msg/sec tbb::spin_mutex, 3,i: 11,928,080 msg/sec tbb::spin_mutex, 4,s: 10,309,512 msg/sec tbb::spin_mutex, 4,i: 9,919,344 msg/sec tbb::spin_mutex, 5,s: 5,945,684 msg/sec tbb::spin_mutex, 5,i: 5,673,146 msg/sec tbb::spin_mutex, 6,s: 5,119,115 msg/sec tbb::spin_mutex, 6,i: 4,734,223 msg/sec tbb::spin_mutex, 7,s: 4,405,002 msg/sec tbb::spin_mutex, 7,i: 4,728,538 msg/sec tbb::spin_mutex, 8,s: 4,289,683 msg/sec tbb::spin_mutex, 8,i: 4,078,065 msg/sec Elapsed time 2:44.78, user 1301.75s, system 111.20s, CPU 857%, RSS 61768kB, exit-status 0. 2026-09-14 17:09:13 [32/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip AtomicQueue: 0.000000114 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000090 sec/round-trip AtomicQueue2: 0.000000115 sec/round-trip OptimistAtomicQueue2: 0.000000104 sec/round-trip AtomicQueueB2: 0.000000121 sec/round-trip OptimistAtomicQueueB2: 0.000000102 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000166 sec/round-trip tbb::concurrent_bounded_queue: 0.000000297 sec/round-trip xenium::michael_scott_queue: 0.000000258 sec/round-trip xenium::ramalhete_queue: 0.000000137 sec/round-trip xenium::vyukov_bounded_queue: 0.000000145 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000441 sec/round-trip pthread_spinlock: 0.000000227 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,194,932 msg/sec boost::lockfree::spsc_queue, 1,i: 112,615,759 msg/sec AtomicQueue, 1,s: 146,601,784 msg/sec AtomicQueue, 1,i: 139,922,952 msg/sec AtomicQueue, 2,s: 9,903,085 msg/sec AtomicQueue, 2,i: 10,342,781 msg/sec AtomicQueue, 3,s: 8,344,050 msg/sec AtomicQueue, 3,i: 8,780,855 msg/sec AtomicQueue, 4,s: 6,615,996 msg/sec AtomicQueue, 4,i: 7,030,543 msg/sec AtomicQueue, 5,s: 3,166,172 msg/sec AtomicQueue, 5,i: 4,326,979 msg/sec AtomicQueue, 6,s: 2,602,373 msg/sec AtomicQueue, 6,i: 4,020,037 msg/sec AtomicQueue, 7,s: 2,965,870 msg/sec AtomicQueue, 7,i: 3,209,142 msg/sec AtomicQueue, 8,s: 3,111,062 msg/sec AtomicQueue, 8,i: 2,909,234 msg/sec OptimistAtomicQueue, 1,s: 1,195,905,264 msg/sec OptimistAtomicQueue, 1,i: 1,197,824,741 msg/sec OptimistAtomicQueue, 2,s: 49,067,640 msg/sec OptimistAtomicQueue, 2,i: 52,717,481 msg/sec OptimistAtomicQueue, 3,s: 58,670,745 msg/sec OptimistAtomicQueue, 3,i: 59,498,392 msg/sec OptimistAtomicQueue, 4,s: 59,221,750 msg/sec OptimistAtomicQueue, 4,i: 66,240,176 msg/sec OptimistAtomicQueue, 5,s: 33,223,387 msg/sec OptimistAtomicQueue, 5,i: 40,850,397 msg/sec OptimistAtomicQueue, 6,s: 34,680,249 msg/sec OptimistAtomicQueue, 6,i: 34,100,687 msg/sec OptimistAtomicQueue, 7,s: 40,195,260 msg/sec OptimistAtomicQueue, 7,i: 40,033,304 msg/sec OptimistAtomicQueue, 8,s: 50,625,201 msg/sec OptimistAtomicQueue, 8,i: 41,248,727 msg/sec AtomicQueueB, 1,s: 50,728,849 msg/sec AtomicQueueB, 1,i: 50,663,365 msg/sec AtomicQueueB, 2,s: 9,677,795 msg/sec AtomicQueueB, 2,i: 10,035,011 msg/sec AtomicQueueB, 3,s: 8,223,139 msg/sec AtomicQueueB, 3,i: 8,550,952 msg/sec AtomicQueueB, 4,s: 6,545,813 msg/sec AtomicQueueB, 4,i: 6,913,963 msg/sec AtomicQueueB, 5,s: 3,151,165 msg/sec AtomicQueueB, 5,i: 4,329,433 msg/sec AtomicQueueB, 6,s: 2,569,949 msg/sec AtomicQueueB, 6,i: 3,493,812 msg/sec AtomicQueueB, 7,s: 2,922,824 msg/sec AtomicQueueB, 7,i: 3,216,580 msg/sec AtomicQueueB, 8,s: 3,055,865 msg/sec AtomicQueueB, 8,i: 2,862,534 msg/sec OptimistAtomicQueueB, 1,s: 542,096,957 msg/sec OptimistAtomicQueueB, 1,i: 575,380,138 msg/sec OptimistAtomicQueueB, 2,s: 48,252,556 msg/sec OptimistAtomicQueueB, 2,i: 49,287,687 msg/sec OptimistAtomicQueueB, 3,s: 58,626,512 msg/sec OptimistAtomicQueueB, 3,i: 57,702,535 msg/sec OptimistAtomicQueueB, 4,s: 59,532,524 msg/sec OptimistAtomicQueueB, 4,i: 65,377,883 msg/sec OptimistAtomicQueueB, 5,s: 33,067,444 msg/sec OptimistAtomicQueueB, 5,i: 44,355,634 msg/sec OptimistAtomicQueueB, 6,s: 34,399,725 msg/sec OptimistAtomicQueueB, 6,i: 34,917,332 msg/sec OptimistAtomicQueueB, 7,s: 39,324,319 msg/sec OptimistAtomicQueueB, 7,i: 39,998,462 msg/sec OptimistAtomicQueueB, 8,s: 51,405,724 msg/sec OptimistAtomicQueueB, 8,i: 41,175,187 msg/sec AtomicQueue2, 1,s: 131,674,796 msg/sec AtomicQueue2, 1,i: 129,244,322 msg/sec AtomicQueue2, 2,s: 9,951,157 msg/sec AtomicQueue2, 2,i: 10,525,591 msg/sec AtomicQueue2, 3,s: 8,400,885 msg/sec AtomicQueue2, 3,i: 8,890,240 msg/sec AtomicQueue2, 4,s: 6,693,691 msg/sec AtomicQueue2, 4,i: 7,092,827 msg/sec AtomicQueue2, 5,s: 3,131,607 msg/sec AtomicQueue2, 5,i: 4,274,884 msg/sec AtomicQueue2, 6,s: 2,563,628 msg/sec AtomicQueue2, 6,i: 3,467,886 msg/sec AtomicQueue2, 7,s: 2,901,217 msg/sec AtomicQueue2, 7,i: 3,205,943 msg/sec AtomicQueue2, 8,s: 3,020,251 msg/sec AtomicQueue2, 8,i: 2,896,785 msg/sec OptimistAtomicQueue2, 1,s: 108,486,198 msg/sec OptimistAtomicQueue2, 1,i: 107,381,054 msg/sec OptimistAtomicQueue2, 2,s: 43,435,549 msg/sec OptimistAtomicQueue2, 2,i: 47,751,148 msg/sec OptimistAtomicQueue2, 3,s: 54,270,967 msg/sec OptimistAtomicQueue2, 3,i: 49,987,201 msg/sec OptimistAtomicQueue2, 4,s: 59,226,765 msg/sec OptimistAtomicQueue2, 4,i: 57,867,500 msg/sec OptimistAtomicQueue2, 5,s: 31,482,030 msg/sec OptimistAtomicQueue2, 5,i: 34,132,371 msg/sec OptimistAtomicQueue2, 6,s: 32,896,663 msg/sec OptimistAtomicQueue2, 6,i: 32,153,474 msg/sec OptimistAtomicQueue2, 7,s: 37,811,654 msg/sec OptimistAtomicQueue2, 7,i: 37,640,401 msg/sec OptimistAtomicQueue2, 8,s: 49,004,907 msg/sec OptimistAtomicQueue2, 8,i: 39,870,979 msg/sec AtomicQueueB2, 1,s: 74,907,226 msg/sec AtomicQueueB2, 1,i: 75,642,733 msg/sec AtomicQueueB2, 2,s: 9,849,377 msg/sec AtomicQueueB2, 2,i: 10,429,691 msg/sec AtomicQueueB2, 3,s: 8,325,350 msg/sec AtomicQueueB2, 3,i: 8,837,246 msg/sec AtomicQueueB2, 4,s: 6,616,687 msg/sec AtomicQueueB2, 4,i: 6,961,027 msg/sec AtomicQueueB2, 5,s: 3,088,632 msg/sec AtomicQueueB2, 5,i: 3,685,546 msg/sec AtomicQueueB2, 6,s: 2,561,494 msg/sec AtomicQueueB2, 6,i: 3,462,602 msg/sec AtomicQueueB2, 7,s: 2,902,600 msg/sec AtomicQueueB2, 7,i: 3,263,147 msg/sec AtomicQueueB2, 8,s: 3,014,629 msg/sec AtomicQueueB2, 8,i: 2,836,702 msg/sec OptimistAtomicQueueB2, 1,s: 152,611,948 msg/sec OptimistAtomicQueueB2, 1,i: 153,323,962 msg/sec OptimistAtomicQueueB2, 2,s: 42,080,518 msg/sec OptimistAtomicQueueB2, 2,i: 45,738,082 msg/sec OptimistAtomicQueueB2, 3,s: 56,871,358 msg/sec OptimistAtomicQueueB2, 3,i: 53,156,155 msg/sec OptimistAtomicQueueB2, 4,s: 58,954,735 msg/sec OptimistAtomicQueueB2, 4,i: 59,847,545 msg/sec OptimistAtomicQueueB2, 5,s: 31,384,975 msg/sec OptimistAtomicQueueB2, 5,i: 32,547,102 msg/sec OptimistAtomicQueueB2, 6,s: 33,026,142 msg/sec OptimistAtomicQueueB2, 6,i: 32,204,978 msg/sec OptimistAtomicQueueB2, 7,s: 37,126,476 msg/sec OptimistAtomicQueueB2, 7,i: 37,016,633 msg/sec OptimistAtomicQueueB2, 8,s: 48,011,258 msg/sec OptimistAtomicQueueB2, 8,i: 38,951,651 msg/sec moodycamel::ReaderWriterQueue, 1,s: 255,701,457 msg/sec moodycamel::ReaderWriterQueue, 1,i: 154,655,374 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,067,979 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,288,286 msg/sec moodycamel::ConcurrentQueue, 2,s: 39,035,123 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,597,884 msg/sec moodycamel::ConcurrentQueue, 3,s: 65,944,983 msg/sec moodycamel::ConcurrentQueue, 3,i: 56,425,036 msg/sec moodycamel::ConcurrentQueue, 4,s: 106,703,337 msg/sec moodycamel::ConcurrentQueue, 4,i: 85,857,438 msg/sec moodycamel::ConcurrentQueue, 5,s: 85,137,816 msg/sec moodycamel::ConcurrentQueue, 5,i: 175,154,954 msg/sec moodycamel::ConcurrentQueue, 6,s: 209,216,975 msg/sec moodycamel::ConcurrentQueue, 6,i: 225,234,505 msg/sec moodycamel::ConcurrentQueue, 7,s: 224,943,078 msg/sec moodycamel::ConcurrentQueue, 7,i: 235,455,565 msg/sec moodycamel::ConcurrentQueue, 8,s: 282,024,524 msg/sec moodycamel::ConcurrentQueue, 8,i: 242,131,067 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,857,993 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,817,818 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,134,024 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,090,699 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,977,984 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,071,440 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,414,137 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,623,590 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,078,444 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,113,019 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,786,617 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,409,493 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,663,617 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,145,462 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,779,098 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,815,526 msg/sec xenium::michael_scott_queue, 1,s: 13,434,486 msg/sec xenium::michael_scott_queue, 1,i: 13,726,586 msg/sec xenium::michael_scott_queue, 2,s: 9,454,032 msg/sec xenium::michael_scott_queue, 2,i: 9,207,448 msg/sec xenium::michael_scott_queue, 3,s: 7,636,083 msg/sec xenium::michael_scott_queue, 3,i: 7,550,010 msg/sec xenium::michael_scott_queue, 4,s: 5,835,928 msg/sec xenium::michael_scott_queue, 4,i: 5,827,918 msg/sec xenium::michael_scott_queue, 5,s: 3,619,926 msg/sec xenium::michael_scott_queue, 5,i: 3,891,328 msg/sec xenium::michael_scott_queue, 6,s: 3,293,800 msg/sec xenium::michael_scott_queue, 6,i: 3,947,394 msg/sec xenium::michael_scott_queue, 7,s: 3,197,518 msg/sec xenium::michael_scott_queue, 7,i: 3,311,458 msg/sec xenium::michael_scott_queue, 8,s: 2,352,354 msg/sec xenium::michael_scott_queue, 8,i: 2,791,791 msg/sec xenium::ramalhete_queue, 1,s: 83,766,852 msg/sec xenium::ramalhete_queue, 1,i: 80,922,813 msg/sec xenium::ramalhete_queue, 2,s: 46,426,962 msg/sec xenium::ramalhete_queue, 2,i: 33,764,800 msg/sec xenium::ramalhete_queue, 3,s: 41,543,750 msg/sec xenium::ramalhete_queue, 3,i: 41,350,463 msg/sec xenium::ramalhete_queue, 4,s: 53,069,899 msg/sec xenium::ramalhete_queue, 4,i: 46,096,791 msg/sec xenium::ramalhete_queue, 5,s: 37,160,012 msg/sec xenium::ramalhete_queue, 5,i: 26,099,909 msg/sec xenium::ramalhete_queue, 6,s: 38,607,766 msg/sec xenium::ramalhete_queue, 6,i: 27,158,579 msg/sec xenium::ramalhete_queue, 7,s: 39,457,071 msg/sec xenium::ramalhete_queue, 7,i: 28,642,409 msg/sec xenium::ramalhete_queue, 8,s: 50,010,849 msg/sec xenium::ramalhete_queue, 8,i: 30,204,878 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,530,218 msg/sec xenium::vyukov_bounded_queue, 1,i: 313,124,216 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,093,918 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,110,988 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,779,914 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,255,174 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,650,656 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,539,853 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,987,198 msg/sec xenium::vyukov_bounded_queue, 5,i: 8,099,827 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,075,269 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,400,318 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,175,390 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,432,850 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,483,569 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,526,530 msg/sec boost::lockfree::queue, 1,s: 7,893,367 msg/sec boost::lockfree::queue, 1,i: 7,830,222 msg/sec boost::lockfree::queue, 2,s: 5,875,247 msg/sec boost::lockfree::queue, 2,i: 5,914,608 msg/sec boost::lockfree::queue, 3,s: 4,923,833 msg/sec boost::lockfree::queue, 3,i: 4,792,119 msg/sec boost::lockfree::queue, 4,s: 4,367,169 msg/sec boost::lockfree::queue, 4,i: 4,354,494 msg/sec boost::lockfree::queue, 5,s: 2,653,047 msg/sec boost::lockfree::queue, 5,i: 2,908,537 msg/sec boost::lockfree::queue, 6,s: 1,433,933 msg/sec boost::lockfree::queue, 6,i: 2,799,519 msg/sec boost::lockfree::queue, 7,s: 1,373,268 msg/sec boost::lockfree::queue, 7,i: 2,838,831 msg/sec boost::lockfree::queue, 8,s: 1,157,589 msg/sec boost::lockfree::queue, 8,i: 1,904,356 msg/sec std::mutex, 1,s: 5,315,994 msg/sec std::mutex, 1,i: 4,988,494 msg/sec std::mutex, 2,s: 12,824,518 msg/sec std::mutex, 2,i: 11,977,382 msg/sec std::mutex, 3,s: 6,905,729 msg/sec std::mutex, 3,i: 6,633,729 msg/sec std::mutex, 4,s: 7,135,656 msg/sec std::mutex, 4,i: 6,650,567 msg/sec std::mutex, 5,s: 3,340,725 msg/sec std::mutex, 5,i: 3,372,198 msg/sec std::mutex, 6,s: 2,984,754 msg/sec std::mutex, 6,i: 2,916pthread_spinlock: producers: 5: consumer 3 received too few messages: 0.06% of expected. ,291 msg/sec std::mutex, 7,s: 3,290,614 msg/sec std::mutex, 7,i: 2,881,246 msg/sec std::mutex, 8,s: 3,462,704 msg/sec std::mutex, 8,i: 2,781,763 msg/sec pthread_spinlock, 1,s: 17,749,916 msg/sec pthread_spinlock, 1,i: 18,165,482 msg/sec pthread_spinlock, 2,s: 6,360,240 msg/sec pthread_spinlock, 2,i: 1,582,023 msg/sec pthread_spinlock, 3,s: 838,725 msg/sec pthread_spinlock, 3,i: 5,772,242 msg/sec pthread_spinlock, 4,s: 2,339,047 msg/sec pthread_spinlock, 4,i: 1,298,033 msg/sec pthread_spinlock, 5,s: 2,760,765 msg/sec pthread_spinlock, 5,i: 3,592,396 msg/sec pthread_spinlock, 6,s: 1,993,810 msg/sec pthread_spinlock, 6,i: 3,067,356 msg/sec pthread_spinlock, 7,s: 2,796,945 msg/sec pthread_spinlock, 7,i: 3,072,776 msg/sec pthread_spinlock, 8,s: 2,970,682 msg/sec pthread_spinlock, 8,i: 2,690,439 msg/sec tbb::spin_mutex, 1,s: 38,900,150 msg/sec tbb::spin_mutex, 1,i: 38,637,761 msg/sec tbb::spin_mutex, 2,s: 16,514,328 msg/sec tbb::spin_mutex, 2,i: 16,013,488 msg/sec tbb::spin_mutex, 3,s: 12,104,554 msg/sec tbb::spin_mutex, 3,i: 11,912,554 msg/sec tbb::spin_mutex, 4,s: 10,275,250 msg/sec tbb::spin_mutex, 4,i: 9,985,600 msg/sec tbb::spin_mutex, 5,s: 5,970,321 msg/sec tbb::spin_mutex, 5,i: 5,533,725 msg/sec tbb::spin_mutex, 6,s: 5,111,535 msg/sec tbb::spin_mutex, 6,i: 4,857,817 msg/sec tbb::spin_mutex, 7,s: 4,390,168 msg/sec tbb::spin_mutex, 7,i: 4,708,556 msg/sec tbb::spin_mutex, 8,s: 4,296,273 msg/sec tbb::spin_mutex, 8,i: 4,058,703 msg/sec Elapsed time 2:43.22, user 1290.78s, system 110.60s, CPU 858%, RSS 55368kB, exit-status 0. 2026-09-14 17:11:56 [33/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip AtomicQueue: 0.000000111 sec/round-trip OptimistAtomicQueue: 0.000000101 sec/round-trip AtomicQueueB: 0.000000118 sec/round-trip OptimistAtomicQueueB: 0.000000088 sec/round-trip AtomicQueue2: 0.000000115 sec/round-trip OptimistAtomicQueue2: 0.000000105 sec/round-trip AtomicQueueB2: 0.000000120 sec/round-trip OptimistAtomicQueueB2: 0.000000102 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000168 sec/round-trip tbb::concurrent_bounded_queue: 0.000000293 sec/round-trip xenium::michael_scott_queue: 0.000000257 sec/round-trip xenium::ramalhete_queue: 0.000000136 sec/round-trip xenium::vyukov_bounded_queue: 0.000000144 sec/round-trip boost::lockfree::queue: 0.000000211 sec/round-trip std::mutex: 0.000000439 sec/round-trip pthread_spinlock: 0.000000228 sec/round-trip tbb::spin_mutex: 0.000000201 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 113,992,917 msg/sec boost::lockfree::spsc_queue, 1,i: 112,671,207 msg/sec AtomicQueue, 1,s: 144,171,863 msg/sec AtomicQueue, 1,i: 143,052,825 msg/sec AtomicQueue, 2,s: 9,899,110 msg/sec AtomicQueue, 2,i: 10,325,354 msg/sec AtomicQueue, 3,s: 8,346,291 msg/sec AtomicQueue, 3,i: 8,778,978 msg/sec AtomicQueue, 4,s: 6,607,947 msg/sec AtomicQueue, 4,i: 7,020,385 msg/sec AtomicQueue, 5,s: 3,177,963 msg/sec AtomicQueue, 5,i: 4,326,712 msg/sec AtomicQueue, 6,s: 2,603,934 msg/sec AtomicQueue, 6,i: 3,536,628 msg/sec AtomicQueue, 7,s: 2,954,718 msg/sec AtomicQueue, 7,i: 3,204,082 msg/sec AtomicQueue, 8,s: 3,115,556 msg/sec AtomicQueue, 8,i: 2,886,571 msg/sec OptimistAtomicQueue, 1,s: 1,197,982,583 msg/sec OptimistAtomicQueue, 1,i: 1,200,643,456 msg/sec OptimistAtomicQueue, 2,s: 47,979,470 msg/sec OptimistAtomicQueue, 2,i: 53,229,953 msg/sec OptimistAtomicQueue, 3,s: 58,738,496 msg/sec OptimistAtomicQueue, 3,i: 59,827,471 msg/sec OptimistAtomicQueue, 4,s: 59,279,920 msg/sec OptimistAtomicQueue, 4,i: 66,231,709 msg/sec OptimistAtomicQueue, 5,s: 33,142,425 msg/sec OptimistAtomicQueue, 5,i: 48,041,542 msg/sec OptimistAtomicQueue, 6,s: 34,602,011 msg/sec OptimistAtomicQueue, 6,i: 35,142,532 msg/sec OptimistAtomicQueue, 7,s: 39,988,865 msg/sec OptimistAtomicQueue, 7,i: 40,042,281 msg/sec OptimistAtomicQueue, 8,s: 50,457,126 msg/sec OptimistAtomicQueue, 8,i: 41,233,777 msg/sec AtomicQueueB, 1,s: 50,389,294 msg/sec AtomicQueueB, 1,i: 49,768,505 msg/sec AtomicQueueB, 2,s: 9,558,489 msg/sec AtomicQueueB, 2,i: 10,072,459 msg/sec AtomicQueueB, 3,s: 8,175,987 msg/sec AtomicQueueB, 3,i: 8,693,279 msg/sec AtomicQueueB, 4,s: 6,538,645 msg/sec AtomicQueueB, 4,i: 6,910,492 msg/sec AtomicQueueB, 5,s: 3,166,093 msg/sec AtomicQueueB, 5,i: 4,337,703 msg/sec AtomicQueueB, 6,s: 2,608,930 msg/sec AtomicQueueB, 6,i: 3,511,187 msg/sec AtomicQueueB, 7,s: 2,930,661 msg/sec AtomicQueueB, 7,i: 3,182,438 msg/sec AtomicQueueB, 8,s: 3,057,155 msg/sec AtomicQueueB, 8,i: 2,859,925 msg/sec OptimistAtomicQueueB, 1,s: 851,558,685 msg/sec OptimistAtomicQueueB, 1,i: 515,226,019 msg/sec OptimistAtomicQueueB, 2,s: 47,383,057 msg/sec OptimistAtomicQueueB, 2,i: 49,337,317 msg/sec OptimistAtomicQueueB, 3,s: 58,601,227 msg/sec OptimistAtomicQueueB, 3,i: 56,982,705 msg/sec OptimistAtomicQueueB, 4,s: 59,439,674 msg/sec OptimistAtomicQueueB, 4,i: 66,269,938 msg/sec OptimistAtomicQueueB, 5,s: 33,075,449 msg/sec OptimistAtomicQueueB, 5,i: 40,137,779 msg/sec OptimistAtomicQueueB, 6,s: 34,462,460 msg/sec OptimistAtomicQueueB, 6,i: 34,862,166 msg/sec OptimistAtomicQueueB, 7,s: 39,133,961 msg/sec OptimistAtomicQueueB, 7,i: 39,961,125 msg/sec OptimistAtomicQueueB, 8,s: 51,406,781 msg/sec OptimistAtomicQueueB, 8,i: 41,226,144 msg/sec AtomicQueue2, 1,s: 130,290,859 msg/sec AtomicQueue2, 1,i: 132,222,162 msg/sec AtomicQueue2, 2,s: 9,958,516 msg/sec AtomicQueue2, 2,i: 10,542,505 msg/sec AtomicQueue2, 3,s: 8,404,162 msg/sec AtomicQueue2, 3,i: 8,921,950 msg/sec AtomicQueue2, 4,s: 6,686,421 msg/sec AtomicQueue2, 4,i: 7,090,565 msg/sec AtomicQueue2, 5,s: 3,142,134 msg/sec AtomicQueue2, 5,i: 4,276,762 msg/sec AtomicQueue2, 6,s: 2,566,419 msg/sec AtomicQueue2, 6,i: 3,971,912 msg/sec AtomicQueue2, 7,s: 2,896,472 msg/sec AtomicQueue2, 7,i: 3,193,016 msg/sec AtomicQueue2, 8,s: 3,000,233 msg/sec AtomicQueue2, 8,i: 2,897,534 msg/sec OptimistAtomicQueue2, 1,s: 107,290,501 msg/sec OptimistAtomicQueue2, 1,i: 107,338,293 msg/sec OptimistAtomicQueue2, 2,s: 43,559,151 msg/sec OptimistAtomicQueue2, 2,i: 47,053,008 msg/sec OptimistAtomicQueue2, 3,s: 56,234,469 msg/sec OptimistAtomicQueue2, 3,i: 50,073,102 msg/sec OptimistAtomicQueue2, 4,s: 59,267,518 msg/sec OptimistAtomicQueue2, 4,i: 57,853,841 msg/sec OptimistAtomicQueue2, 5,s: 31,503,025 msg/sec OptimistAtomicQueue2, 5,i: 32,656,320 msg/sec OptimistAtomicQueue2, 6,s: 32,919,025 msg/sec OptimistAtomicQueue2, 6,i: 32,638,841 msg/sec OptimistAtomicQueue2, 7,s: 37,961,821 msg/sec OptimistAtomicQueue2, 7,i: 37,772,765 msg/sec OptimistAtomicQueue2, 8,s: 49,076,622 msg/sec OptimistAtomicQueue2, 8,i: 39,904,278 msg/sec AtomicQueueB2, 1,s: 70,960,605 msg/sec AtomicQueueB2, 1,i: 71,786,423 msg/sec AtomicQueueB2, 2,s: 9,846,134 msg/sec AtomicQueueB2, 2,i: 10,417,950 msg/sec AtomicQueueB2, 3,s: 8,319,063 msg/sec AtomicQueueB2, 3,i: 8,844,436 msg/sec AtomicQueueB2, 4,s: 6,611,823 msg/sec AtomicQueueB2, 4,i: 6,948,711 msg/sec AtomicQueueB2, 5,s: 3,092,624 msg/sec AtomicQueueB2, 5,i: 4,311,615 msg/sec AtomicQueueB2, 6,s: 2,561,763 msg/sec AtomicQueueB2, 6,i: 3,484,110 msg/sec AtomicQueueB2, 7,s: 2,894,419 msg/sec AtomicQueueB2, 7,i: 3,268,065 msg/sec AtomicQueueB2, 8,s: 3,015,579 msg/sec AtomicQueueB2, 8,i: 2,854,449 msg/sec OptimistAtomicQueueB2, 1,s: 153,254,411 msg/sec OptimistAtomicQueueB2, 1,i: 150,999,124 msg/sec OptimistAtomicQueueB2, 2,s: 41,940,919 msg/sec OptimistAtomicQueueB2, 2,i: 46,013,160 msg/sec OptimistAtomicQueueB2, 3,s: 56,807,134 msg/sec OptimistAtomicQueueB2, 3,i: 53,110,281 msg/sec OptimistAtomicQueueB2, 4,s: 59,081,831 msg/sec OptimistAtomicQueueB2, 4,i: 59,853,240 msg/sec OptimistAtomicQueueB2, 5,s: 31,354,421 msg/sec OptimistAtomicQueueB2, 5,i: 31,531,046 msg/sec OptimistAtomicQueueB2, 6,s: 32,982,986 msg/sec OptimistAtomicQueueB2, 6,i: 32,314,799 msg/sec OptimistAtomicQueueB2, 7,s: 37,236,350 msg/sec OptimistAtomicQueueB2, 7,i: 37,028,269 msg/sec OptimistAtomicQueueB2, 8,s: 47,996,718 msg/sec OptimistAtomicQueueB2, 8,i: 38,992,278 msg/sec moodycamel::ReaderWriterQueue, 1,s: 386,482,735 msg/sec moodycamel::ReaderWriterQueue, 1,i: 70,946,157 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,084,904 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,186,999 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,496,881 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,424,514 msg/sec moodycamel::ConcurrentQueue, 3,s: 55,552,991 msg/sec moodycamel::ConcurrentQueue, 3,i: 54,406,521 msg/sec moodycamel::ConcurrentQueue, 4,s: 98,792,292 msg/sec moodycamel::ConcurrentQueue, 4,i: 108,328,606 msg/sec moodycamel::ConcurrentQueue, 5,s: 90,037,287 msg/sec moodycamel::ConcurrentQueue, 5,i: 180,512,414 msg/sec moodycamel::ConcurrentQueue, 6,s: 193,633,509 msg/sec moodycamel::ConcurrentQueue, 6,i: 219,970,996 msg/sec moodycamel::ConcurrentQueue, 7,s: 225,760,661 msg/sec moodycamel::ConcurrentQueue, 7,i: 233,105,428 msg/sec moodycamel::ConcurrentQueue, 8,s: 241,771,054 msg/sec moodycamel::ConcurrentQueue, 8,i: 242,502,738 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,767,596 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,838,026 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,138,541 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,132,893 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,970,088 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,063,614 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,420,650 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,617,366 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,962 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,628,863 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,801,414 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,450,557 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,660,117 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,159,824 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,786,033 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,805,928 msg/sec xenium::michael_scott_queue, 1,s: 13,406,530 msg/sec xenium::michael_scott_queue, 1,i: 13,710,169 msg/sec xenium::michael_scott_queue, 2,s: 9,480,837 msg/sec xenium::michael_scott_queue, 2,i: 9,231,413 msg/sec xenium::michael_scott_queue, 3,s: 7,633,436 msg/sec xenium::michael_scott_queue, 3,i: 7,549,306 msg/sec xenium::michael_scott_queue, 4,s: 5,836,686 msg/sec xenium::michael_scott_queue, 4,i: 5,821,168 msg/sec xenium::michael_scott_queue, 5,s: 3,614,266 msg/sec xenium::michael_scott_queue, 5,i: 4,657,818 msg/sec xenium::michael_scott_queue, 6,s: 3,313,622 msg/sec xenium::michael_scott_queue, 6,i: 3,935,621 msg/sec xenium::michael_scott_queue, 7,s: 3,186,040 msg/sec xenium::michael_scott_queue, 7,i: 3,319,365 msg/sec xenium::michael_scott_queue, 8,s: 2,353,822 msg/sec xenium::michael_scott_queue, 8,i: 2,784,738 msg/sec xenium::ramalhete_queue, 1,s: 70,439,285 msg/sec xenium::ramalhete_queue, 1,i: 71,254,518 msg/sec xenium::ramalhete_queue, 2,s: 49,852,314 msg/sec xenium::ramalhete_queue, 2,i: 37,576,092 msg/sec xenium::ramalhete_queue, 3,s: 39,934,363 msg/sec xenium::ramalhete_queue, 3,i: 39,274,787 msg/sec xenium::ramalhete_queue, 4,s: 44,372,560 msg/sec xenium::ramalhete_queue, 4,i: 44,828,040 msg/sec xenium::ramalhete_queue, 5,s: 37,485,201 msg/sec xenium::ramalhete_queue, 5,i: 23,747,061 msg/sec xenium::ramalhete_queue, 6,s: 38,630,182 msg/sec xenium::ramalhete_queue, 6,i: 26,225,403 msg/sec xenium::ramalhete_queue, 7,s: 40,315,301 msg/sec xenium::ramalhete_queue, 7,i: 27,850,738 msg/sec xenium::ramalhete_queue, 8,s: 50,129,227 msg/sec xenium::ramalhete_queue, 8,i: 29,869,270 msg/sec xenium::vyukov_bounded_queue, 1,s: 309,771,129 msg/sec xenium::vyukov_bounded_queue, 1,i: 312,373,045 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,568,232 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,366,486 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,539,446 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,856,876 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,573,045 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,609,268 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,563,774 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,324,058 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,061,975 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,796,489 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,178,704 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,420,802 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,474,653 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,543,421 msg/sec boost::lockfree::queue, 1,s: 7,756,001 msg/sec boost::lockfree::queue, 1,i: 7,825,133 msg/sec boost::lockfree::queue, 2,s: 5,833,006 msg/sec boost::lockfree::queue, 2,i: 5,902,603 msg/sec boost::lockfree::queue, 3,s: 4,943,477 msg/sec boost::lockfree::queue, 3,i: 4,790,992 msg/sec boost::lockfree::queue, 4,s: 4,389,386 msg/sec boost::lockfree::queue, 4,i: 4,350,024 msg/sec boost::lockfree::queue, 5,s: 2,659,585 msg/sec boost::lockfree::queue, 5,i: 2,608,866 msg/sec boost::lockfree::queue, 6,s: 1,434,736 msg/sec boost::lockfree::queue, 6,i: 2,817,354 msg/sec boost::lockfree::queue, 7,s: 1,411,371 msg/sec boost::lockfree::queue, 7,i: 2,956,573 msg/sec boost::lockfree::queue, 8,s: 1,158,211 msg/sec boost::lockfree::queue, 8,i: 1,823,992 msg/sec std::mutex, 1,s: 3,654,647 msg/sec std::mutex, 1,i: 3,957,153 msg/sec std::mutex, 2,s: 13,413,079 msg/sec std::mutex, 2,i: 12,684,366 msg/sec std::mutex, 3,s: 6,854,936 msg/sec std::mutex, 3,i: 6,683,890 msg/sec std::mutex, 4,s: 7,036,397 msg/sec std::mutex, 4,i: 6,677,296 msg/sec std::mutex, 5,s: 3,383,404 msg/sec std::mutex, 5,i: 3,404,491 msg/sec std::mutex, 6,s: 3,029,485 msg/sec std::mutex, 6,i: 2,961pthread_spinlock: producers: 4: consumer 1 received too few messages: 0.05% of expected. ,363 msg/sec std::mutex, 7,s: 3,271,318 msg/sec std::mutex, 7,i: 2,944,252 msg/sec std::mutex, 8,s: 3,455,017 msg/sec std::mutex, 8,i: 2,798,761 msg/sec pthread_spinlock, 1,s: 17,793,753 msg/sec pthread_spinlock, 1,i: 18,076,918 msg/sec pthread_spinlock, 2,s: 8,996,957 msg/sec pthread_spinlock, 2,i: 1,459,363 msg/sec pthread_spinlock, 3,s: 865,180 msg/sec pthread_spinlock, 3,i: 5,560,477 msg/sec pthread_spinlock, 4,s: 2,345,286 msg/sec pthread_spinlock, 4,i: 815,207 msg/sec pthread_spinlock, 5,s: 2,609,373 msg/sec pthread_spinlock, 5,i: 930,433 msg/sec pthread_spinlock, 6,s: 1,973,946 msg/sec pthread_spinlock, 6,i: 3,099,747 msg/sec pthread_spinlock, 7,s: 2,870,864 msg/sec pthread_spinlock, 7,i: 3,075,682 msg/sec pthread_spinlock, 8,s: 3,001,382 msg/sec pthread_spinlock, 8,i: 2,689,880 msg/sec tbb::spin_mutex, 1,s: 38,236,284 msg/sec tbb::spin_mutex, 1,i: 38,421,148 msg/sec tbb::spin_mutex, 2,s: 16,471,601 msg/sec tbb::spin_mutex, 2,i: 15,895,466 msg/sec tbb::spin_mutex, 3,s: 12,047,950 msg/sec tbb::spin_mutex, 3,i: 11,895,135 msg/sec tbb::spin_mutex, 4,s: 10,450,431 msg/sec tbb::spin_mutex, 4,i: 10,086,334 msg/sec tbb::spin_mutex, 5,s: 5,972,286 msg/sec tbb::spin_mutex, 5,i: 5,482,350 msg/sec tbb::spin_mutex, 6,s: 5,067,383 msg/sec tbb::spin_mutex, 6,i: 4,798,981 msg/sec tbb::spin_mutex, 7,s: 4,384,220 msg/sec tbb::spin_mutex, 7,i: 4,898,886 msg/sec tbb::spin_mutex, 8,s: 4,295,410 msg/sec tbb::spin_mutex, 8,i: 4,083,104 msg/sec Elapsed time 2:45.12, user 1303.72s, system 110.49s, CPU 856%, RSS 61888kB, exit-status 0. max0x7ba-atomic_queue-40624b8/results/632bae1.ryzen_5950x.smt1.20260914T121940.gcc-14.32.33.txt000066400000000000000000043775051525237550500274770ustar00rootroot00000000000000 2026-09-14 12:19:40 [1/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000042 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000043 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000037 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000043 sec/round-trip moodycamel::ConcurrentQueue: 0.000000063 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000127 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000060 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000321 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,602,014 msg/sec boost::lockfree::spsc_queue, 1,i: 113,256,654 msg/sec AtomicQueue, 1,s: 146,680,054 msg/sec AtomicQueue, 1,i: 146,889,042 msg/sec AtomicQueue, 2,s: 9,936,786 msg/sec AtomicQueue, 2,i: 10,372,886 msg/sec AtomicQueue, 3,s: 8,368,156 msg/sec AtomicQueue, 3,i: 8,856,948 msg/sec AtomicQueue, 4,s: 6,639,822 msg/sec AtomicQueue, 4,i: 7,052,396 msg/sec AtomicQueue, 5,s: 3,180,001 msg/sec AtomicQueue, 5,i: 4,343,382 msg/sec AtomicQueue, 6,s: 2,602,852 msg/sec AtomicQueue, 6,i: 3,549,439 msg/sec AtomicQueue, 7,s: 2,975,395 msg/sec AtomicQueue, 7,i: 3,220,743 msg/sec AtomicQueue, 8,s: 3,134,980 msg/sec AtomicQueue, 8,i: 2,908,595 msg/sec AtomicQueue, 9,s: 2,775,969 msg/sec AtomicQueue, 9,i: 2,953,717 msg/sec AtomicQueue,10,s: 2,808,638 msg/sec AtomicQueue,10,i: 2,921,544 msg/sec AtomicQueue,11,s: 2,811,483 msg/sec AtomicQueue,11,i: 2,958,936 msg/sec AtomicQueue,12,s: 2,681,436 msg/sec AtomicQueue,12,i: 2,882,239 msg/sec AtomicQueue,13,s: 2,531,248 msg/sec AtomicQueue,13,i: 2,840,580 msg/sec AtomicQueue,14,s: 2,376,996 msg/sec AtomicQueue,14,i: 2,775,335 msg/sec AtomicQueue,15,s: 2,372,760 msg/sec AtomicQueue,15,i: 2,830,082 msg/sec AtomicQueue,16,s: 2,258,906 msg/sec AtomicQueue,16,i: 2,742,134 msg/sec OptimistAtomicQueue, 1,s: 1,201,725,559 msg/sec OptimistAtomicQueue, 1,i: 1,204,098,566 msg/sec OptimistAtomicQueue, 2,s: 52,776,518 msg/sec OptimistAtomicQueue, 2,i: 53,124,027 msg/sec OptimistAtomicQueue, 3,s: 59,108,734 msg/sec OptimistAtomicQueue, 3,i: 59,755,544 msg/sec OptimistAtomicQueue, 4,s: 59,577,213 msg/sec OptimistAtomicQueue, 4,i: 66,428,810 msg/sec OptimistAtomicQueue, 5,s: 33,224,414 msg/sec OptimistAtomicQueue, 5,i: 44,488,059 msg/sec OptimistAtomicQueue, 6,s: 34,615,928 msg/sec OptimistAtomicQueue, 6,i: 34,192,927 msg/sec OptimistAtomicQueue, 7,s: 40,220,301 msg/sec OptimistAtomicQueue, 7,i: 40,059,572 msg/sec OptimistAtomicQueue, 8,s: 50,737,909 msg/sec OptimistAtomicQueue, 8,i: 41,402,733 msg/sec OptimistAtomicQueue, 9,s: 40,906,803 msg/sec OptimistAtomicQueue, 9,i: 45,538,023 msg/sec OptimistAtomicQueue,10,s: 40,078,373 msg/sec OptimistAtomicQueue,10,i: 47,580,750 msg/sec OptimistAtomicQueue,11,s: 44,268,702 msg/sec OptimistAtomicQueue,11,i: 53,276,313 msg/sec OptimistAtomicQueue,12,s: 43,343,461 msg/sec OptimistAtomicQueue,12,i: 57,299,226 msg/sec OptimistAtomicQueue,13,s: 43,495,864 msg/sec OptimistAtomicQueue,13,i: 57,422,671 msg/sec OptimistAtomicQueue,14,s: 43,331,411 msg/sec OptimistAtomicQueue,14,i: 56,483,297 msg/sec OptimistAtomicQueue,15,s: 46,043,877 msg/sec OptimistAtomicQueue,15,i: 60,026,455 msg/sec OptimistAtomicQueue,16,s: 45,970,899 msg/sec OptimistAtomicQueue,16,i: 64,954,932 msg/sec AtomicQueueB, 1,s: 50,841,683 msg/sec AtomicQueueB, 1,i: 50,679,977 msg/sec AtomicQueueB, 2,s: 9,787,753 msg/sec AtomicQueueB, 2,i: 10,033,516 msg/sec AtomicQueueB, 3,s: 8,230,397 msg/sec AtomicQueueB, 3,i: 8,729,164 msg/sec AtomicQueueB, 4,s: 6,570,500 msg/sec AtomicQueueB, 4,i: 6,931,557 msg/sec AtomicQueueB, 5,s: 3,128,642 msg/sec AtomicQueueB, 5,i: 4,328,380 msg/sec AtomicQueueB, 6,s: 2,571,571 msg/sec AtomicQueueB, 6,i: 3,991,756 msg/sec AtomicQueueB, 7,s: 2,929,824 msg/sec AtomicQueueB, 7,i: 3,183,755 msg/sec AtomicQueueB, 8,s: 3,070,350 msg/sec AtomicQueueB, 8,i: 2,898,879 msg/sec AtomicQueueB, 9,s: 2,838,012 msg/sec AtomicQueueB, 9,i: 2,889,273 msg/sec AtomicQueueB,10,s: 2,791,209 msg/sec AtomicQueueB,10,i: 2,873,880 msg/sec AtomicQueueB,11,s: 2,753,573 msg/sec AtomicQueueB,11,i: 2,946,868 msg/sec AtomicQueueB,12,s: 2,679,754 msg/sec AtomicQueueB,12,i: 2,862,613 msg/sec AtomicQueueB,13,s: 2,528,391 msg/sec AtomicQueueB,13,i: 2,813,008 msg/sec AtomicQueueB,14,s: 2,396,884 msg/sec AtomicQueueB,14,i: 2,776,692 msg/sec AtomicQueueB,15,s: 2,388,324 msg/sec AtomicQueueB,15,i: 2,783,284 msg/sec AtomicQueueB,16,s: 2,289,705 msg/sec AtomicQueueB,16,i: 2,748,401 msg/sec OptimistAtomicQueueB, 1,s: 514,110,891 msg/sec OptimistAtomicQueueB, 1,i: 506,376,592 msg/sec OptimistAtomicQueueB, 2,s: 47,965,823 msg/sec OptimistAtomicQueueB, 2,i: 48,987,503 msg/sec OptimistAtomicQueueB, 3,s: 58,889,896 msg/sec OptimistAtomicQueueB, 3,i: 58,325,612 msg/sec OptimistAtomicQueueB, 4,s: 59,865,208 msg/sec OptimistAtomicQueueB, 4,i: 66,466,427 msg/sec OptimistAtomicQueueB, 5,s: 33,082,222 msg/sec OptimistAtomicQueueB, 5,i: 38,693,345 msg/sec OptimistAtomicQueueB, 6,s: 34,448,048 msg/sec OptimistAtomicQueueB, 6,i: 34,990,894 msg/sec OptimistAtomicQueueB, 7,s: 39,235,450 msg/sec OptimistAtomicQueueB, 7,i: 40,031,509 msg/sec OptimistAtomicQueueB, 8,s: 51,712,004 msg/sec OptimistAtomicQueueB, 8,i: 41,420,979 msg/sec OptimistAtomicQueueB, 9,s: 40,682,628 msg/sec OptimistAtomicQueueB, 9,i: 46,482,599 msg/sec OptimistAtomicQueueB,10,s: 40,068,641 msg/sec OptimistAtomicQueueB,10,i: 47,395,678 msg/sec OptimistAtomicQueueB,11,s: 44,390,002 msg/sec OptimistAtomicQueueB,11,i: 52,670,168 msg/sec OptimistAtomicQueueB,12,s: 43,988,870 msg/sec OptimistAtomicQueueB,12,i: 56,727,816 msg/sec OptimistAtomicQueueB,13,s: 43,879,299 msg/sec OptimistAtomicQueueB,13,i: 57,193,084 msg/sec OptimistAtomicQueueB,14,s: 43,808,299 msg/sec OptimistAtomicQueueB,14,i: 56,373,733 msg/sec OptimistAtomicQueueB,15,s: 46,462,980 msg/sec OptimistAtomicQueueB,15,i: 61,061,802 msg/sec OptimistAtomicQueueB,16,s: 46,297,461 msg/sec OptimistAtomicQueueB,16,i: 64,933,633 msg/sec AtomicQueue2, 1,s: 134,166,926 msg/sec AtomicQueue2, 1,i: 138,801,585 msg/sec AtomicQueue2, 2,s: 9,970,528 msg/sec AtomicQueue2, 2,i: 10,532,050 msg/sec AtomicQueue2, 3,s: 8,450,495 msg/sec AtomicQueue2, 3,i: 8,933,525 msg/sec AtomicQueue2, 4,s: 6,709,716 msg/sec AtomicQueue2, 4,i: 7,118,822 msg/sec AtomicQueue2, 5,s: 3,148,357 msg/sec AtomicQueue2, 5,i: 4,286,997 msg/sec AtomicQueue2, 6,s: 2,565,418 msg/sec AtomicQueue2, 6,i: 3,475,255 msg/sec AtomicQueue2, 7,s: 2,923,334 msg/sec AtomicQueue2, 7,i: 3,294,369 msg/sec AtomicQueue2, 8,s: 3,029,376 msg/sec AtomicQueue2, 8,i: 2,901,064 msg/sec AtomicQueue2, 9,s: 2,761,304 msg/sec AtomicQueue2, 9,i: 2,907,694 msg/sec AtomicQueue2,10,s: 2,776,182 msg/sec AtomicQueue2,10,i: 2,983,117 msg/sec AtomicQueue2,11,s: 2,753,260 msg/sec AtomicQueue2,11,i: 2,918,594 msg/sec AtomicQueue2,12,s: 2,714,134 msg/sec AtomicQueue2,12,i: 2,838,229 msg/sec AtomicQueue2,13,s: 2,565,416 msg/sec AtomicQueue2,13,i: 2,796,198 msg/sec AtomicQueue2,14,s: 2,404,716 msg/sec AtomicQueue2,14,i: 2,765,519 msg/sec AtomicQueue2,15,s: 2,406,310 msg/sec AtomicQueue2,15,i: 2,745,292 msg/sec AtomicQueue2,16,s: 2,297,449 msg/sec AtomicQueue2,16,i: 2,726,608 msg/sec OptimistAtomicQueue2, 1,s: 107,377,595 msg/sec OptimistAtomicQueue2, 1,i: 107,446,355 msg/sec OptimistAtomicQueue2, 2,s: 43,562,092 msg/sec OptimistAtomicQueue2, 2,i: 48,015,154 msg/sec OptimistAtomicQueue2, 3,s: 57,660,814 msg/sec OptimistAtomicQueue2, 3,i: 50,081,251 msg/sec OptimistAtomicQueue2, 4,s: 59,221,820 msg/sec OptimistAtomicQueue2, 4,i: 58,025,850 msg/sec OptimistAtomicQueue2, 5,s: 31,491,676 msg/sec OptimistAtomicQueue2, 5,i: 32,831,085 msg/sec OptimistAtomicQueue2, 6,s: 32,919,014 msg/sec OptimistAtomicQueue2, 6,i: 32,629,416 msg/sec OptimistAtomicQueue2, 7,s: 37,841,215 msg/sec OptimistAtomicQueue2, 7,i: 37,787,480 msg/sec OptimistAtomicQueue2, 8,s: 49,192,040 msg/sec OptimistAtomicQueue2, 8,i: 39,975,869 msg/sec OptimistAtomicQueue2, 9,s: 37,575,701 msg/sec OptimistAtomicQueue2, 9,i: 42,066,747 msg/sec OptimistAtomicQueue2,10,s: 37,631,889 msg/sec OptimistAtomicQueue2,10,i: 44,244,971 msg/sec OptimistAtomicQueue2,11,s: 43,152,868 msg/sec OptimistAtomicQueue2,11,i: 48,850,014 msg/sec OptimistAtomicQueue2,12,s: 42,237,223 msg/sec OptimistAtomicQueue2,12,i: 51,913,135 msg/sec OptimistAtomicQueue2,13,s: 41,181,395 msg/sec OptimistAtomicQueue2,13,i: 53,358,657 msg/sec OptimistAtomicQueue2,14,s: 40,974,049 msg/sec OptimistAtomicQueue2,14,i: 52,904,851 msg/sec OptimistAtomicQueue2,15,s: 43,370,362 msg/sec OptimistAtomicQueue2,15,i: 56,816,438 msg/sec OptimistAtomicQueue2,16,s: 43,576,386 msg/sec OptimistAtomicQueue2,16,i: 59,327,749 msg/sec AtomicQueueB2, 1,s: 80,069,237 msg/sec AtomicQueueB2, 1,i: 74,580,696 msg/sec AtomicQueueB2, 2,s: 9,882,166 msg/sec AtomicQueueB2, 2,i: 10,462,197 msg/sec AtomicQueueB2, 3,s: 8,348,373 msg/sec AtomicQueueB2, 3,i: 8,874,786 msg/sec AtomicQueueB2, 4,s: 6,621,582 msg/sec AtomicQueueB2, 4,i: 6,985,413 msg/sec AtomicQueueB2, 5,s: 3,104,733 msg/sec AtomicQueueB2, 5,i: 3,707,303 msg/sec AtomicQueueB2, 6,s: 2,553,065 msg/sec AtomicQueueB2, 6,i: 3,489,930 msg/sec AtomicQueueB2, 7,s: 2,901,092 msg/sec AtomicQueueB2, 7,i: 3,171,535 msg/sec AtomicQueueB2, 8,s: 3,022,991 msg/sec AtomicQueueB2, 8,i: 2,865,755 msg/sec AtomicQueueB2, 9,s: 2,724,744 msg/sec AtomicQueueB2, 9,i: 2,904,655 msg/sec AtomicQueueB2,10,s: 2,749,259 msg/sec AtomicQueueB2,10,i: 2,860,857 msg/sec AtomicQueueB2,11,s: 2,828,311 msg/sec AtomicQueueB2,11,i: 2,940,964 msg/sec AtomicQueueB2,12,s: 2,785,711 msg/sec AtomicQueueB2,12,i: 2,868,878 msg/sec AtomicQueueB2,13,s: 2,630,647 msg/sec AtomicQueueB2,13,i: 2,845,868 msg/sec AtomicQueueB2,14,s: 2,468,193 msg/sec AtomicQueueB2,14,i: 2,772,992 msg/sec AtomicQueueB2,15,s: 2,443,520 msg/sec AtomicQueueB2,15,i: 2,758,903 msg/sec AtomicQueueB2,16,s: 2,306,213 msg/sec AtomicQueueB2,16,i: 2,750,726 msg/sec OptimistAtomicQueueB2, 1,s: 153,012,415 msg/sec OptimistAtomicQueueB2, 1,i: 154,432,306 msg/sec OptimistAtomicQueueB2, 2,s: 42,144,663 msg/sec OptimistAtomicQueueB2, 2,i: 45,845,607 msg/sec OptimistAtomicQueueB2, 3,s: 57,119,142 msg/sec OptimistAtomicQueueB2, 3,i: 53,338,202 msg/sec OptimistAtomicQueueB2, 4,s: 59,115,325 msg/sec OptimistAtomicQueueB2, 4,i: 60,165,736 msg/sec OptimistAtomicQueueB2, 5,s: 31,396,642 msg/sec OptimistAtomicQueueB2, 5,i: 31,586,120 msg/sec OptimistAtomicQueueB2, 6,s: 32,961,265 msg/sec OptimistAtomicQueueB2, 6,i: 32,019,432 msg/sec OptimistAtomicQueueB2, 7,s: 37,156,383 msg/sec OptimistAtomicQueueB2, 7,i: 37,139,451 msg/sec OptimistAtomicQueueB2, 8,s: 47,981,082 msg/sec OptimistAtomicQueueB2, 8,i: 39,040,518 msg/sec OptimistAtomicQueueB2, 9,s: 36,924,381 msg/sec OptimistAtomicQueueB2, 9,i: 41,724,753 msg/sec OptimistAtomicQueueB2,10,s: 37,428,381 msg/sec OptimistAtomicQueueB2,10,i: 43,021,780 msg/sec OptimistAtomicQueueB2,11,s: 42,533,793 msg/sec OptimistAtomicQueueB2,11,i: 47,408,285 msg/sec OptimistAtomicQueueB2,12,s: 41,790,401 msg/sec OptimistAtomicQueueB2,12,i: 51,158,281 msg/sec OptimistAtomicQueueB2,13,s: 41,006,856 msg/sec OptimistAtomicQueueB2,13,i: 52,617,370 msg/sec OptimistAtomicQueueB2,14,s: 40,975,661 msg/sec OptimistAtomicQueueB2,14,i: 52,564,837 msg/sec OptimistAtomicQueueB2,15,s: 43,192,090 msg/sec OptimistAtomicQueueB2,15,i: 56,827,351 msg/sec OptimistAtomicQueueB2,16,s: 43,330,400 msg/sec OptimistAtomicQueueB2,16,i: 59,395,263 msg/sec moodycamel::ReaderWriterQueue, 1,s: 396,775,079 msg/sec moodycamel::ReaderWriterQueue, 1,i: 137,377,609 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,115,226 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,188,839 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,165,538 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,274,655 msg/sec moodycamel::ConcurrentQueue, 3,s: 58,246,356 msg/sec moodycamel::ConcurrentQueue, 3,i: 54,147,079 msg/sec moodycamel::ConcurrentQueue, 4,s: 109,568,809 msg/sec moodycamel::ConcurrentQueue, 4,i: 105,674,782 msg/sec moodycamel::ConcurrentQueue, 5,s: 110,527,560 msg/sec moodycamel::ConcurrentQueue, 5,i: 187,912,657 msg/sec moodycamel::ConcurrentQueue, 6,s: 188,165,133 msg/sec moodycamel::ConcurrentQueue, 6,i: 216,789,389 msg/sec moodycamel::ConcurrentQueue, 7,s: 211,468,821 msg/sec moodycamel::ConcurrentQueue, 7,i: 237,572,176 msg/sec moodycamel::ConcurrentQueue, 8,s: 278,568,627 msg/sec moodycamel::ConcurrentQueue, 8,i: 235,525,134 msg/sec moodycamel::ConcurrentQueue, 9,s: 267,176,405 msg/sec moodycamel::ConcurrentQueue, 9,i: 251,421,345 msg/sec moodycamel::ConcurrentQueue,10,s: 301,908,899 msg/sec moodycamel::ConcurrentQueue,10,i: 201,996,873 msg/sec moodycamel::ConcurrentQueue,11,s: 205,341,540 msg/sec moodycamel::ConcurrentQueue,11,i: 218,605,208 msg/sec moodycamel::ConcurrentQueue,12,s: 130,880,881 msg/sec moodycamel::ConcurrentQueue,12,i: 235,868,659 msg/sec moodycamel::ConcurrentQueue,13,s: 221,023,328 msg/sec moodycamel::ConcurrentQueue,13,i: 373,221,648 msg/sec moodycamel::ConcurrentQueue,14,s: 293,629,324 msg/sec moodycamel::ConcurrentQueue,14,i: 375,443,080 msg/sec moodycamel::ConcurrentQueue,15,s: 449,170,383 msg/sec moodycamel::ConcurrentQueue,15,i: 465,023,456 msg/sec moodycamel::ConcurrentQueue,16,s: 528,162,385 msg/sec moodycamel::ConcurrentQueue,16,i: 464,058,702 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,809,011 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,827,290 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,181,581 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,195,342 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,014,150 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,109,764 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,441,210 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,645,840 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,068,877 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,629,418 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,803,251 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,413,455 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,673,685 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,165,581 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,790,197 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,828,944 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,743,511 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,852,625 msg/sec tbb::concurrent_bounded_queue,10,s: 2,771,904 msg/sec tbb::concurrent_bounded_queue,10,i: 2,974,535 msg/sec tbb::concurrent_bounded_queue,11,s: 2,670,220 msg/sec tbb::concurrent_bounded_queue,11,i: 2,871,481 msg/sec tbb::concurrent_bounded_queue,12,s: 2,571,671 msg/sec tbb::concurrent_bounded_queue,12,i: 2,788,968 msg/sec tbb::concurrent_bounded_queue,13,s: 2,493,703 msg/sec tbb::concurrent_bounded_queue,13,i: 2,740,320 msg/sec tbb::concurrent_bounded_queue,14,s: 2,391,666 msg/sec tbb::concurrent_bounded_queue,14,i: 2,724,322 msg/sec tbb::concurrent_bounded_queue,15,s: 2,350,208 msg/sec tbb::concurrent_bounded_queue,15,i: 2,611,058 msg/sec tbb::concurrent_bounded_queue,16,s: 2,272,188 msg/sec tbb::concurrent_bounded_queue,16,i: 2,540,832 msg/sec xenium::michael_scott_queue, 1,s: 13,493,674 msg/sec xenium::michael_scott_queue, 1,i: 13,815,767 msg/sec xenium::michael_scott_queue, 2,s: 9,471,796 msg/sec xenium::michael_scott_queue, 2,i: 9,266,047 msg/sec xenium::michael_scott_queue, 3,s: 7,721,273 msg/sec xenium::michael_scott_queue, 3,i: 7,622,053 msg/sec xenium::michael_scott_queue, 4,s: 5,912,685 msg/sec xenium::michael_scott_queue, 4,i: 5,860,040 msg/sec xenium::michael_scott_queue, 5,s: 3,648,574 msg/sec xenium::michael_scott_queue, 5,i: 4,664,666 msg/sec xenium::michael_scott_queue, 6,s: 3,353,206 msg/sec xenium::michael_scott_queue, 6,i: 3,941,797 msg/sec xenium::michael_scott_queue, 7,s: 3,205,129 msg/sec xenium::michael_scott_queue, 7,i: 3,265,741 msg/sec xenium::michael_scott_queue, 8,s: 2,349,272 msg/sec xenium::michael_scott_queue, 8,i: 2,792,869 msg/sec xenium::michael_scott_queue, 9,s: 2,879,970 msg/sec xenium::michael_scott_queue, 9,i: 2,835,413 msg/sec xenium::michael_scott_queue,10,s: 2,840,442 msg/sec xenium::michael_scott_queue,10,i: 2,843,705 msg/sec xenium::michael_scott_queue,11,s: 2,757,544 msg/sec xenium::michael_scott_queue,11,i: 2,887,499 msg/sec xenium::michael_scott_queue,12,s: 2,590,286 msg/sec xenium::michael_scott_queue,12,i: 2,719,304 msg/sec xenium::michael_scott_queue,13,s: 2,548,262 msg/sec xenium::michael_scott_queue,13,i: 2,657,311 msg/sec xenium::michael_scott_queue,14,s: 2,430,841 msg/sec xenium::michael_scott_queue,14,i: 2,626,463 msg/sec xenium::michael_scott_queue,15,s: 2,318,684 msg/sec xenium::michael_scott_queue,15,i: 2,604,203 msg/sec xenium::michael_scott_queue,16,s: 2,218,366 msg/sec xenium::michael_scott_queue,16,i: 2,499,855 msg/sec xenium::ramalhete_queue, 1,s: 81,134,812 msg/sec xenium::ramalhete_queue, 1,i: 66,626,244 msg/sec xenium::ramalhete_queue, 2,s: 41,845,185 msg/sec xenium::ramalhete_queue, 2,i: 33,369,425 msg/sec xenium::ramalhete_queue, 3,s: 41,800,194 msg/sec xenium::ramalhete_queue, 3,i: 42,968,684 msg/sec xenium::ramalhete_queue, 4,s: 51,414,367 msg/sec xenium::ramalhete_queue, 4,i: 49,684,090 msg/sec xenium::ramalhete_queue, 5,s: 37,583,012 msg/sec xenium::ramalhete_queue, 5,i: 23,562,697 msg/sec xenium::ramalhete_queue, 6,s: 39,149,661 msg/sec xenium::ramalhete_queue, 6,i: 26,930,080 msg/sec xenium::ramalhete_queue, 7,s: 40,632,230 msg/sec xenium::ramalhete_queue, 7,i: 29,331,652 msg/sec xenium::ramalhete_queue, 8,s: 50,749,856 msg/sec xenium::ramalhete_queue, 8,i: 30,262,866 msg/sec xenium::ramalhete_queue, 9,s: 33,076,337 msg/sec xenium::ramalhete_queue, 9,i: 36,584,905 msg/sec xenium::ramalhete_queue,10,s: 35,190,790 msg/sec xenium::ramalhete_queue,10,i: 41,085,478 msg/sec xenium::ramalhete_queue,11,s: 37,895,498 msg/sec xenium::ramalhete_queue,11,i: 41,946,528 msg/sec xenium::ramalhete_queue,12,s: 39,014,724 msg/sec xenium::ramalhete_queue,12,i: 44,148,091 msg/sec xenium::ramalhete_queue,13,s: 39,685,967 msg/sec xenium::ramalhete_queue,13,i: 42,731,618 msg/sec xenium::ramalhete_queue,14,s: 39,879,756 msg/sec xenium::ramalhete_queue,14,i: 43,300,904 msg/sec xenium::ramalhete_queue,15,s: 38,122,547 msg/sec xenium::ramalhete_queue,15,i: 43,848,113 msg/sec xenium::ramalhete_queue,16,s: 38,045,908 msg/sec xenium::ramalhete_queue,16,i: 44,363,309 msg/sec xenium::vyukov_bounded_queue, 1,s: 313,512,953 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,540,680 msg/sec xenium::vyukov_bounded_queue, 2,s: 23,038,673 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,240,417 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,752,917 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,532,082 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,728,789 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,596,312 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,968,230 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,258,608 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,146,072 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,465,852 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,166,994 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,455,596 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,172,082 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,569,174 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,226,410 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,691,161 msg/sec xenium::vyukov_bounded_queue,10,s: 7,545,487 msg/sec xenium::vyukov_bounded_queue,10,i: 6,916,380 msg/sec xenium::vyukov_bounded_queue,11,s: 7,650,705 msg/sec xenium::vyukov_bounded_queue,11,i: 7,226,398 msg/sec xenium::vyukov_bounded_queue,12,s: 7,486,248 msg/sec xenium::vyukov_bounded_queue,12,i: 7,556,398 msg/sec xenium::vyukov_bounded_queue,13,s: 6,967,683 msg/sec xenium::vyukov_bounded_queue,13,i: 7,257,376 msg/sec xenium::vyukov_bounded_queue,14,s: 6,995,249 msg/sec xenium::vyukov_bounded_queue,14,i: 7,390,211 msg/sec xenium::vyukov_bounded_queue,15,s: 7,140,908 msg/sec xenium::vyukov_bounded_queue,15,i: 7,309,372 msg/sec xenium::vyukov_bounded_queue,16,s: 6,902,942 msg/sec xenium::vyukov_bounded_queue,16,i: 7,090,978 msg/sec boost::lockfree::queue, 1,s: 7,832,211 msg/sec boost::lockfree::queue, 1,i: 7,831,793 msg/sec boost::lockfree::queue, 2,s: 5,884,823 msg/sec boost::lockfree::queue, 2,i: 6,008,386 msg/sec boost::lockfree::queue, 3,s: 4,969,699 msg/sec boost::lockfree::queue, 3,i: 4,818,188 msg/sec boost::lockfree::queue, 4,s: 4,378,681 msg/sec boost::lockfree::queue, 4,i: 4,363,636 msg/sec boost::lockfree::queue, 5,s: 2,666,514 msg/sec boost::lockfree::queue, 5,i: 2,904,954 msg/sec boost::lockfree::queue, 6,s: 1,435,354 msg/sec boost::lockfree::queue, 6,i: 2,812,414 msg/sec boost::lockfree::queue, 7,s: 1,400,334 msg/sec boost::lockfree::queue, 7,i: 2,864,959 msg/sec boost::lockfree::queue, 8,s: 1,159,751 msg/sec boost::lockfree::queue, 8,i: 1,906,555 msg/sec boost::lockfree::queue, 9,s: 1,440,983 msg/sec boost::lockfree::queue, 9,i: 1,854,804 msg/sec boost::lockfree::queue,10,s: 1,538,724 msg/sec boost::lockfree::queue,10,i: 1,948,024 msg/sec boost::lockfree::queue,11,s: 1,780,761 msg/sec boost::lockfree::queue,11,i: 1,882,348 msg/sec boost::lockfree::queue,12,s: 1,895,407 msg/sec boost::lockfree::queue,12,i: 1,924,929 msg/sec boost::lockfree::queue,13,s: 1,643,186 msg/sec boost::lockfree::queue,13,i: 1,663,856 msg/sec boost::lockfree::queue,14,s: 1,561,300 msg/sec boost::lockfree::queue,14,i: 1,646,200 msg/sec boost::lockfree::queue,15,s: 1,586,897 msg/sec boost::lockfree::queue,15,i: 1,588,212 msg/sec boost::lockfree::queue,16,s: 1,521,082 msg/sec boost::lockfree::queue,16,i: 1,497,740 msg/sec std::mutex, 1,s: 3,531,531 msg/sec std::mutex, 1,i: 3,984,505 msg/sec std::mutex, 2,s: 13,254,307 msg/sec std::mutex, 2,i: 13,086,010 msg/sec std::mutex, 3,s: 7,084,353 msg/sec std::mutex, 3,i: 6,837,186 msg/sec std::mutex, 4,s: 7,074,008 msg/sec std::mutex, 4,i: 6,679,550 msg/sec std::mutex, 5,s: 3,309,494 msg/sec std::mutex, 5,i: 3,449,942 msg/sec std::mutex, 6,s: 3,048,300 msg/sec std::mutex, 6,i: 2,979,573 msg/sec std::mutex, 7,s: 3,296,605 msg/sec std::mutex, 7,i: 2,926,847 msg/sec std::mutex, 8,s: 3,512,867 msg/sec std::mutex, 8,i: 2,864,738 msg/sec std::mutex, 9,s: 2,875,631 msg/sec std::mutex, 9,i: 2,700,118 msg/sec std::mutex,10,s: 2,660,164 msg/sec std::mutex,10,i: 2,640,319 msg/sec std::mutex,11,s: 2,621,413 msg/sec std::mutex,11,i: 2,666,359 msg/sec std::mutex,12,s: 2,689,061 msg/sec std::mutex,12,i: 2,587,526 msg/sec std::mutex,13,s: 2,543,869 msg/sec std::mutex,13,i: 2,447,111 msg/sec std::mutex,14,s: 2,431,237 msg/sec std::mutex,14,i: 2,353,587 msg/sec std::mutex,15,s: 2,457,932 msg/sec std::mutex,15,i: 2,389,144 msg/sec std::mutex,16,s: 2,351,785 msg/sec std::mutex,16,i: 2,291,011 msg/sec pthread_spinlock, 1,s: 17,775,203 msg/sec pthread_spinlock, 1,i: 18,029,794 msg/sec pthread_spinlock, 2,s: 7,137,768 msg/sec pthread_spinlock, 2,i: 1,872,761 msg/sec pthread_spinlock, 3,s: 894,549 msg/sec pthread_spinlock, 3,i: 5,547,566 msg/sec pthread_spinlock, 4,s: 1,873,485 msg/sec pthread_spinlock, 4,i: 1,086,212 msg/sec pthread_spinlock, 5,s: 2,781,617 msg/sec pthread_spinlock, 5,i: 963,957 msg/sec pthread_spinlock, 6,s: 2,080,709 msg/sec pthread_spinlock, 6,i: 3,167,306 msg/sec pthread_spinlock, 7,s: 2,896,199 msg/sec pthread_spinlock, 7,i: 3,085,559 msg/sec pthread_spinlock, 8,s: 2,984,116 msg/sec pthread_spinlock, 8,i: 2,680,691 msg/sec pthread_spinlock, 9,s: 2,773,802 msg/sec pthread_spinlock, 9,i: 2,334,018 msg/sec pthread_spinlock,10,s: 2,709,387 msg/sec pthread_spinlock,10,i: 2,400,576 msg/sec pthread_spinlock,11,s: 2,612,921 msg/sec pthread_spinlock,11,i: 2,217,224 msg/sec pthread_spinlock,12,s: 2,565,724 msg/sec pthread_spinlock,12,i: 2,486,535 msg/sec pthread_spinlock,13,s: 2,455,175 msg/sec pthread_spinlock,13,i: 2,219,394 msg/sec pthread_spinlock,14,s: 2,209,675 msg/sec pthread_spinlock,14,i: 2,068,361 msg/sec pthread_spinlock,15,s: 2,032,223 msg/sec pthread_spinlock,15,i: 1,882,110 msg/sec pthread_spinlock,16,s: 1,785,924 msg/sec pthread_spinlock,16,i: 1,597,176 msg/sec tbb::spin_mutex, 1,s: 37,624,994 msg/sec tbb::spin_mutex, 1,i: 38,285,806 msg/sec tbb::spin_mutex, 2,s: 16,541,798 msg/sec tbb::spin_mutex, 2,i: 16,188,097 msg/sec tbb::spin_mutex, 3,s: 12,119,159 msg/sec tbb::spin_mutex, 3,i: 11,929,897 msg/sec tbb::spin_mutex, 4,s: 10,337,775 msg/sec tbb::spin_mutex, 4,i: 10,239,012 msg/sec tbb::spin_mutex, 5,s: 5,941,824 msg/sec tbb::spin_mutex, 5,i: 5,598,572 msg/sec tbb::spin_mutex, 6,s: 5,142,339 msg/sec tbb::spin_mutex, 6,i: 4,768,939 msg/sec tbb::spin_mutex, 7,s: 4,388,970 msg/sec tbb::spin_mutex, 7,i: 4,636,367 msg/sec tbb::spin_mutex, 8,s: 4,325,463 msg/sec tbb::spin_mutex, 8,i: 4,073,644 msg/sec tbb::spin_mutex, 9,s: 4,657,329 msg/sec tbb::spin_mutex, 9,i: 4,346,111 msg/sec tbb::spin_mutex,10,s: 4,451,379 msg/sec tbb::spin_mutex,10,i: 4,194,682 msg/sec tbb::spin_mutex,11,s: 4,208,857 msg/sec tbb::spin_mutex,11,i: 4,084,951 msg/sec tbb::spin_mutex,12,s: 3,739,123 msg/sec tbb::spin_mutex,12,i: 3,555,751 msg/sec tbb::spin_mutex,13,s: 3,554,824 msg/sec tbb::spin_mutex,13,i: 3,330,020 msg/sec tbb::spin_mutex,14,s: 3,407,410 msg/sec tbb::spin_mutex,14,i: 3,029,303 msg/sec tbb::spin_mutex,15,s: 3,206,402 msg/sec tbb::spin_mutex,15,i: 3,193,181 msg/sec tbb::spin_mutex,16,s: 2,861,932 msg/sec tbb::spin_mutex,16,i: 3,030,201 msg/sec Elapsed time 6:13.10, user 5616.27s, system 600.66s, CPU 1666%, RSS 96504kB, exit-status 0. 2026-09-14 12:25:54 [2/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000037 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000043 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000323 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,148,508 msg/sec boost::lockfree::spsc_queue, 1,i: 113,278,977 msg/sec AtomicQueue, 1,s: 147,743,858 msg/sec AtomicQueue, 1,i: 138,128,077 msg/sec AtomicQueue, 2,s: 9,909,929 msg/sec AtomicQueue, 2,i: 10,344,478 msg/sec AtomicQueue, 3,s: 8,375,504 msg/sec AtomicQueue, 3,i: 8,863,982 msg/sec AtomicQueue, 4,s: 6,618,709 msg/sec AtomicQueue, 4,i: 7,025,427 msg/sec AtomicQueue, 5,s: 3,148,565 msg/sec AtomicQueue, 5,i: 4,331,448 msg/sec AtomicQueue, 6,s: 2,600,881 msg/sec AtomicQueue, 6,i: 4,032,606 msg/sec AtomicQueue, 7,s: 2,960,213 msg/sec AtomicQueue, 7,i: 3,216,930 msg/sec AtomicQueue, 8,s: 3,118,541 msg/sec AtomicQueue, 8,i: 2,909,503 msg/sec AtomicQueue, 9,s: 2,779,023 msg/sec AtomicQueue, 9,i: 2,955,460 msg/sec AtomicQueue,10,s: 2,880,376 msg/sec AtomicQueue,10,i: 2,921,428 msg/sec AtomicQueue,11,s: 2,801,230 msg/sec AtomicQueue,11,i: 2,904,828 msg/sec AtomicQueue,12,s: 2,668,854 msg/sec AtomicQueue,12,i: 2,873,690 msg/sec AtomicQueue,13,s: 2,519,356 msg/sec AtomicQueue,13,i: 2,795,526 msg/sec AtomicQueue,14,s: 2,367,918 msg/sec AtomicQueue,14,i: 2,786,461 msg/sec AtomicQueue,15,s: 2,364,466 msg/sec AtomicQueue,15,i: 2,763,763 msg/sec AtomicQueue,16,s: 2,263,897 msg/sec AtomicQueue,16,i: 2,739,905 msg/sec OptimistAtomicQueue, 1,s: 1,191,885,798 msg/sec OptimistAtomicQueue, 1,i: 1,197,494,840 msg/sec OptimistAtomicQueue, 2,s: 54,454,258 msg/sec OptimistAtomicQueue, 2,i: 52,653,279 msg/sec OptimistAtomicQueue, 3,s: 58,819,132 msg/sec OptimistAtomicQueue, 3,i: 59,700,429 msg/sec OptimistAtomicQueue, 4,s: 59,227,642 msg/sec OptimistAtomicQueue, 4,i: 66,149,564 msg/sec OptimistAtomicQueue, 5,s: 33,245,311 msg/sec OptimistAtomicQueue, 5,i: 40,976,657 msg/sec OptimistAtomicQueue, 6,s: 34,523,874 msg/sec OptimistAtomicQueue, 6,i: 35,200,535 msg/sec OptimistAtomicQueue, 7,s: 40,275,197 msg/sec OptimistAtomicQueue, 7,i: 40,026,991 msg/sec OptimistAtomicQueue, 8,s: 50,574,379 msg/sec OptimistAtomicQueue, 8,i: 41,274,195 msg/sec OptimistAtomicQueue, 9,s: 41,240,466 msg/sec OptimistAtomicQueue, 9,i: 45,812,895 msg/sec OptimistAtomicQueue,10,s: 39,956,303 msg/sec OptimistAtomicQueue,10,i: 47,423,930 msg/sec OptimistAtomicQueue,11,s: 44,424,827 msg/sec OptimistAtomicQueue,11,i: 50,480,375 msg/sec OptimistAtomicQueue,12,s: 43,538,259 msg/sec OptimistAtomicQueue,12,i: 57,761,207 msg/sec OptimistAtomicQueue,13,s: 43,381,051 msg/sec OptimistAtomicQueue,13,i: 58,152,744 msg/sec OptimistAtomicQueue,14,s: 43,206,054 msg/sec OptimistAtomicQueue,14,i: 55,707,883 msg/sec OptimistAtomicQueue,15,s: 45,846,341 msg/sec OptimistAtomicQueue,15,i: 60,400,535 msg/sec OptimistAtomicQueue,16,s: 45,918,528 msg/sec OptimistAtomicQueue,16,i: 64,940,295 msg/sec AtomicQueueB, 1,s: 50,803,792 msg/sec AtomicQueueB, 1,i: 49,789,518 msg/sec AtomicQueueB, 2,s: 9,570,347 msg/sec AtomicQueueB, 2,i: 10,070,940 msg/sec AtomicQueueB, 3,s: 8,194,865 msg/sec AtomicQueueB, 3,i: 8,670,630 msg/sec AtomicQueueB, 4,s: 6,549,380 msg/sec AtomicQueueB, 4,i: 6,914,138 msg/sec AtomicQueueB, 5,s: 3,105,991 msg/sec AtomicQueueB, 5,i: 3,746,676 msg/sec AtomicQueueB, 6,s: 2,577,219 msg/sec AtomicQueueB, 6,i: 3,454,539 msg/sec AtomicQueueB, 7,s: 2,922,570 msg/sec AtomicQueueB, 7,i: 3,200,168 msg/sec AtomicQueueB, 8,s: 3,061,594 msg/sec AtomicQueueB, 8,i: 2,864,641 msg/sec AtomicQueueB, 9,s: 2,821,195 msg/sec AtomicQueueB, 9,i: 2,883,818 msg/sec AtomicQueueB,10,s: 2,803,532 msg/sec AtomicQueueB,10,i: 2,929,617 msg/sec AtomicQueueB,11,s: 2,742,045 msg/sec AtomicQueueB,11,i: 2,921,003 msg/sec AtomicQueueB,12,s: 2,682,878 msg/sec AtomicQueueB,12,i: 2,860,140 msg/sec AtomicQueueB,13,s: 2,525,612 msg/sec AtomicQueueB,13,i: 2,807,379 msg/sec AtomicQueueB,14,s: 2,387,592 msg/sec AtomicQueueB,14,i: 2,771,964 msg/sec AtomicQueueB,15,s: 2,383,296 msg/sec AtomicQueueB,15,i: 2,762,081 msg/sec AtomicQueueB,16,s: 2,277,339 msg/sec AtomicQueueB,16,i: 2,732,634 msg/sec OptimistAtomicQueueB, 1,s: 765,337,268 msg/sec OptimistAtomicQueueB, 1,i: 537,115,203 msg/sec OptimistAtomicQueueB, 2,s: 52,492,921 msg/sec OptimistAtomicQueueB, 2,i: 48,923,251 msg/sec OptimistAtomicQueueB, 3,s: 58,614,692 msg/sec OptimistAtomicQueueB, 3,i: 57,551,275 msg/sec OptimistAtomicQueueB, 4,s: 59,643,837 msg/sec OptimistAtomicQueueB, 4,i: 66,298,803 msg/sec OptimistAtomicQueueB, 5,s: 33,160,218 msg/sec OptimistAtomicQueueB, 5,i: 39,407,375 msg/sec OptimistAtomicQueueB, 6,s: 34,346,877 msg/sec OptimistAtomicQueueB, 6,i: 34,914,991 msg/sec OptimistAtomicQueueB, 7,s: 38,981,827 msg/sec OptimistAtomicQueueB, 7,i: 40,025,741 msg/sec OptimistAtomicQueueB, 8,s: 51,480,880 msg/sec OptimistAtomicQueueB, 8,i: 41,291,834 msg/sec OptimistAtomicQueueB, 9,s: 40,806,884 msg/sec OptimistAtomicQueueB, 9,i: 45,652,422 msg/sec OptimistAtomicQueueB,10,s: 40,209,920 msg/sec OptimistAtomicQueueB,10,i: 47,041,897 msg/sec OptimistAtomicQueueB,11,s: 44,355,862 msg/sec OptimistAtomicQueueB,11,i: 52,729,655 msg/sec OptimistAtomicQueueB,12,s: 43,781,900 msg/sec OptimistAtomicQueueB,12,i: 51,255,008 msg/sec OptimistAtomicQueueB,13,s: 43,771,861 msg/sec OptimistAtomicQueueB,13,i: 56,266,419 msg/sec OptimistAtomicQueueB,14,s: 43,635,858 msg/sec OptimistAtomicQueueB,14,i: 57,006,678 msg/sec OptimistAtomicQueueB,15,s: 46,243,165 msg/sec OptimistAtomicQueueB,15,i: 61,583,199 msg/sec OptimistAtomicQueueB,16,s: 46,218,740 msg/sec OptimistAtomicQueueB,16,i: 64,987,477 msg/sec AtomicQueue2, 1,s: 132,973,067 msg/sec AtomicQueue2, 1,i: 126,482,388 msg/sec AtomicQueue2, 2,s: 9,973,095 msg/sec AtomicQueue2, 2,i: 10,542,796 msg/sec AtomicQueue2, 3,s: 8,439,557 msg/sec AtomicQueue2, 3,i: 8,924,784 msg/sec AtomicQueue2, 4,s: 6,683,015 msg/sec AtomicQueue2, 4,i: 7,097,427 msg/sec AtomicQueue2, 5,s: 3,155,831 msg/sec AtomicQueue2, 5,i: 4,278,107 msg/sec AtomicQueue2, 6,s: 2,567,483 msg/sec AtomicQueue2, 6,i: 3,444,959 msg/sec AtomicQueue2, 7,s: 2,910,022 msg/sec AtomicQueue2, 7,i: 3,229,909 msg/sec AtomicQueue2, 8,s: 3,015,008 msg/sec AtomicQueue2, 8,i: 2,879,491 msg/sec AtomicQueue2, 9,s: 2,762,040 msg/sec AtomicQueue2, 9,i: 2,931,783 msg/sec AtomicQueue2,10,s: 2,773,308 msg/sec AtomicQueue2,10,i: 2,965,678 msg/sec AtomicQueue2,11,s: 2,746,720 msg/sec AtomicQueue2,11,i: 2,913,482 msg/sec AtomicQueue2,12,s: 2,699,837 msg/sec AtomicQueue2,12,i: 2,838,972 msg/sec AtomicQueue2,13,s: 2,550,414 msg/sec AtomicQueue2,13,i: 2,797,917 msg/sec AtomicQueue2,14,s: 2,395,456 msg/sec AtomicQueue2,14,i: 2,796,441 msg/sec AtomicQueue2,15,s: 2,395,680 msg/sec AtomicQueue2,15,i: 2,808,046 msg/sec AtomicQueue2,16,s: 2,288,551 msg/sec AtomicQueue2,16,i: 2,715,316 msg/sec OptimistAtomicQueue2, 1,s: 107,290,386 msg/sec OptimistAtomicQueue2, 1,i: 107,080,837 msg/sec OptimistAtomicQueue2, 2,s: 43,504,008 msg/sec OptimistAtomicQueue2, 2,i: 47,876,793 msg/sec OptimistAtomicQueue2, 3,s: 56,978,516 msg/sec OptimistAtomicQueue2, 3,i: 50,055,482 msg/sec OptimistAtomicQueue2, 4,s: 59,162,329 msg/sec OptimistAtomicQueue2, 4,i: 58,143,864 msg/sec OptimistAtomicQueue2, 5,s: 31,518,187 msg/sec OptimistAtomicQueue2, 5,i: 34,316,471 msg/sec OptimistAtomicQueue2, 6,s: 33,002,916 msg/sec OptimistAtomicQueue2, 6,i: 32,114,030 msg/sec OptimistAtomicQueue2, 7,s: 37,753,143 msg/sec OptimistAtomicQueue2, 7,i: 37,766,987 msg/sec OptimistAtomicQueue2, 8,s: 49,051,250 msg/sec OptimistAtomicQueue2, 8,i: 39,886,309 msg/sec OptimistAtomicQueue2, 9,s: 37,627,716 msg/sec OptimistAtomicQueue2, 9,i: 42,673,280 msg/sec OptimistAtomicQueue2,10,s: 37,536,712 msg/sec OptimistAtomicQueue2,10,i: 44,276,197 msg/sec OptimistAtomicQueue2,11,s: 43,114,766 msg/sec OptimistAtomicQueue2,11,i: 48,793,597 msg/sec OptimistAtomicQueue2,12,s: 42,111,333 msg/sec OptimistAtomicQueue2,12,i: 52,789,561 msg/sec OptimistAtomicQueue2,13,s: 41,220,980 msg/sec OptimistAtomicQueue2,13,i: 52,758,775 msg/sec OptimistAtomicQueue2,14,s: 40,889,644 msg/sec OptimistAtomicQueue2,14,i: 52,780,178 msg/sec OptimistAtomicQueue2,15,s: 43,325,717 msg/sec OptimistAtomicQueue2,15,i: 56,121,154 msg/sec OptimistAtomicQueue2,16,s: 43,430,663 msg/sec OptimistAtomicQueue2,16,i: 59,215,473 msg/sec AtomicQueueB2, 1,s: 76,658,925 msg/sec AtomicQueueB2, 1,i: 73,633,741 msg/sec AtomicQueueB2, 2,s: 9,887,184 msg/sec AtomicQueueB2, 2,i: 10,467,299 msg/sec AtomicQueueB2, 3,s: 8,316,655 msg/sec AtomicQueueB2, 3,i: 8,836,638 msg/sec AtomicQueueB2, 4,s: 6,615,348 msg/sec AtomicQueueB2, 4,i: 6,978,786 msg/sec AtomicQueueB2, 5,s: 3,072,816 msg/sec AtomicQueueB2, 5,i: 4,322,261 msg/sec AtomicQueueB2, 6,s: 2,547,262 msg/sec AtomicQueueB2, 6,i: 3,984,039 msg/sec AtomicQueueB2, 7,s: 2,900,105 msg/sec AtomicQueueB2, 7,i: 3,283,471 msg/sec AtomicQueueB2, 8,s: 3,020,969 msg/sec AtomicQueueB2, 8,i: 2,860,584 msg/sec AtomicQueueB2, 9,s: 2,766,881 msg/sec AtomicQueueB2, 9,i: 2,887,735 msg/sec AtomicQueueB2,10,s: 2,755,143 msg/sec AtomicQueueB2,10,i: 2,892,154 msg/sec AtomicQueueB2,11,s: 2,825,551 msg/sec AtomicQueueB2,11,i: 2,848,356 msg/sec AtomicQueueB2,12,s: 2,777,864 msg/sec AtomicQueueB2,12,i: 2,868,721 msg/sec AtomicQueueB2,13,s: 2,632,391 msg/sec AtomicQueueB2,13,i: 2,834,230 msg/sec AtomicQueueB2,14,s: 2,483,869 msg/sec AtomicQueueB2,14,i: 2,740,795 msg/sec AtomicQueueB2,15,s: 2,431,335 msg/sec AtomicQueueB2,15,i: 2,824,851 msg/sec AtomicQueueB2,16,s: 2,312,937 msg/sec AtomicQueueB2,16,i: 2,748,960 msg/sec OptimistAtomicQueueB2, 1,s: 155,285,289 msg/sec OptimistAtomicQueueB2, 1,i: 153,295,053 msg/sec OptimistAtomicQueueB2, 2,s: 42,083,900 msg/sec OptimistAtomicQueueB2, 2,i: 45,910,749 msg/sec OptimistAtomicQueueB2, 3,s: 56,974,751 msg/sec OptimistAtomicQueueB2, 3,i: 53,161,835 msg/sec OptimistAtomicQueueB2, 4,s: 59,003,154 msg/sec OptimistAtomicQueueB2, 4,i: 60,149,452 msg/sec OptimistAtomicQueueB2, 5,s: 31,346,362 msg/sec OptimistAtomicQueueB2, 5,i: 32,572,131 msg/sec OptimistAtomicQueueB2, 6,s: 33,039,039 msg/sec OptimistAtomicQueueB2, 6,i: 32,544,742 msg/sec OptimistAtomicQueueB2, 7,s: 37,121,749 msg/sec OptimistAtomicQueueB2, 7,i: 37,087,992 msg/sec OptimistAtomicQueueB2, 8,s: 48,033,743 msg/sec OptimistAtomicQueueB2, 8,i: 39,009,983 msg/sec OptimistAtomicQueueB2, 9,s: 37,025,560 msg/sec OptimistAtomicQueueB2, 9,i: 41,828,262 msg/sec OptimistAtomicQueueB2,10,s: 37,312,262 msg/sec OptimistAtomicQueueB2,10,i: 43,417,747 msg/sec OptimistAtomicQueueB2,11,s: 42,528,945 msg/sec OptimistAtomicQueueB2,11,i: 47,124,143 msg/sec OptimistAtomicQueueB2,12,s: 41,793,492 msg/sec OptimistAtomicQueueB2,12,i: 51,260,683 msg/sec OptimistAtomicQueueB2,13,s: 40,933,992 msg/sec OptimistAtomicQueueB2,13,i: 52,647,536 msg/sec OptimistAtomicQueueB2,14,s: 40,912,278 msg/sec OptimistAtomicQueueB2,14,i: 52,970,621 msg/sec OptimistAtomicQueueB2,15,s: 43,189,852 msg/sec OptimistAtomicQueueB2,15,i: 56,546,510 msg/sec OptimistAtomicQueueB2,16,s: 43,302,632 msg/sec OptimistAtomicQueueB2,16,i: 59,283,961 msg/sec moodycamel::ReaderWriterQueue, 1,s: 177,662,093 msg/sec moodycamel::ReaderWriterQueue, 1,i: 326,507,751 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,078,465 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,191,730 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,927,644 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,626,901 msg/sec moodycamel::ConcurrentQueue, 3,s: 53,921,423 msg/sec moodycamel::ConcurrentQueue, 3,i: 55,632,632 msg/sec moodycamel::ConcurrentQueue, 4,s: 99,413,076 msg/sec moodycamel::ConcurrentQueue, 4,i: 79,307,187 msg/sec moodycamel::ConcurrentQueue, 5,s: 119,544,922 msg/sec moodycamel::ConcurrentQueue, 5,i: 189,649,223 msg/sec moodycamel::ConcurrentQueue, 6,s: 202,956,983 msg/sec moodycamel::ConcurrentQueue, 6,i: 224,654,142 msg/sec moodycamel::ConcurrentQueue, 7,s: 224,056,071 msg/sec moodycamel::ConcurrentQueue, 7,i: 231,804,850 msg/sec moodycamel::ConcurrentQueue, 8,s: 271,758,539 msg/sec moodycamel::ConcurrentQueue, 8,i: 253,321,700 msg/sec moodycamel::ConcurrentQueue, 9,s: 268,089,620 msg/sec moodycamel::ConcurrentQueue, 9,i: 258,969,995 msg/sec moodycamel::ConcurrentQueue,10,s: 250,376,917 msg/sec moodycamel::ConcurrentQueue,10,i: 225,377,709 msg/sec moodycamel::ConcurrentQueue,11,s: 228,090,553 msg/sec moodycamel::ConcurrentQueue,11,i: 196,685,569 msg/sec moodycamel::ConcurrentQueue,12,s: 149,445,345 msg/sec moodycamel::ConcurrentQueue,12,i: 182,759,448 msg/sec moodycamel::ConcurrentQueue,13,s: 184,324,550 msg/sec moodycamel::ConcurrentQueue,13,i: 307,678,090 msg/sec moodycamel::ConcurrentQueue,14,s: 342,226,567 msg/sec moodycamel::ConcurrentQueue,14,i: 361,973,100 msg/sec moodycamel::ConcurrentQueue,15,s: 432,978,422 msg/sec moodycamel::ConcurrentQueue,15,i: 460,447,882 msg/sec moodycamel::ConcurrentQueue,16,s: 517,618,164 msg/sec moodycamel::ConcurrentQueue,16,i: 518,953,166 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,781,847 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,815,210 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,152,902 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,162,871 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,980,696 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,088,475 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,423,063 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,633,707 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,071,246 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,629,449 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,799,475 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,437,593 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,663,929 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,139,448 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,781,683 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,801,992 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,624,301 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,909,172 msg/sec tbb::concurrent_bounded_queue,10,s: 2,787,499 msg/sec tbb::concurrent_bounded_queue,10,i: 2,886,584 msg/sec tbb::concurrent_bounded_queue,11,s: 2,665,520 msg/sec tbb::concurrent_bounded_queue,11,i: 2,885,489 msg/sec tbb::concurrent_bounded_queue,12,s: 2,579,512 msg/sec tbb::concurrent_bounded_queue,12,i: 2,788,126 msg/sec tbb::concurrent_bounded_queue,13,s: 2,489,369 msg/sec tbb::concurrent_bounded_queue,13,i: 2,786,355 msg/sec tbb::concurrent_bounded_queue,14,s: 2,388,732 msg/sec tbb::concurrent_bounded_queue,14,i: 2,729,926 msg/sec tbb::concurrent_bounded_queue,15,s: 2,348,839 msg/sec tbb::concurrent_bounded_queue,15,i: 2,620,776 msg/sec tbb::concurrent_bounded_queue,16,s: 2,265,661 msg/sec tbb::concurrent_bounded_queue,16,i: 2,532,604 msg/sec xenium::michael_scott_queue, 1,s: 13,459,843 msg/sec xenium::michael_scott_queue, 1,i: 13,755,982 msg/sec xenium::michael_scott_queue, 2,s: 9,439,429 msg/sec xenium::michael_scott_queue, 2,i: 9,211,513 msg/sec xenium::michael_scott_queue, 3,s: 7,643,868 msg/sec xenium::michael_scott_queue, 3,i: 7,572,611 msg/sec xenium::michael_scott_queue, 4,s: 5,883,694 msg/sec xenium::michael_scott_queue, 4,i: 5,818,273 msg/sec xenium::michael_scott_queue, 5,s: 3,643,499 msg/sec xenium::michael_scott_queue, 5,i: 4,651,442 msg/sec xenium::michael_scott_queue, 6,s: 3,365,416 msg/sec xenium::michael_scott_queue, 6,i: 3,601,410 msg/sec xenium::michael_scott_queue, 7,s: 3,139,247 msg/sec xenium::michael_scott_queue, 7,i: 3,191,205 msg/sec xenium::michael_scott_queue, 8,s: 2,353,487 msg/sec xenium::michael_scott_queue, 8,i: 2,794,418 msg/sec xenium::michael_scott_queue, 9,s: 2,871,951 msg/sec xenium::michael_scott_queue, 9,i: 2,833,358 msg/sec xenium::michael_scott_queue,10,s: 2,845,158 msg/sec xenium::michael_scott_queue,10,i: 2,825,184 msg/sec xenium::michael_scott_queue,11,s: 2,760,079 msg/sec xenium::michael_scott_queue,11,i: 2,879,224 msg/sec xenium::michael_scott_queue,12,s: 2,631,488 msg/sec xenium::michael_scott_queue,12,i: 2,791,644 msg/sec xenium::michael_scott_queue,13,s: 2,574,732 msg/sec xenium::michael_scott_queue,13,i: 2,682,935 msg/sec xenium::michael_scott_queue,14,s: 2,442,860 msg/sec xenium::michael_scott_queue,14,i: 2,653,825 msg/sec xenium::michael_scott_queue,15,s: 2,363,525 msg/sec xenium::michael_scott_queue,15,i: 2,641,525 msg/sec xenium::michael_scott_queue,16,s: 2,255,046 msg/sec xenium::michael_scott_queue,16,i: 2,536,270 msg/sec xenium::ramalhete_queue, 1,s: 69,223,332 msg/sec xenium::ramalhete_queue, 1,i: 68,609,162 msg/sec xenium::ramalhete_queue, 2,s: 35,827,937 msg/sec xenium::ramalhete_queue, 2,i: 33,456,783 msg/sec xenium::ramalhete_queue, 3,s: 43,392,363 msg/sec xenium::ramalhete_queue, 3,i: 41,665,814 msg/sec xenium::ramalhete_queue, 4,s: 49,884,269 msg/sec xenium::ramalhete_queue, 4,i: 51,362,424 msg/sec xenium::ramalhete_queue, 5,s: 37,284,022 msg/sec xenium::ramalhete_queue, 5,i: 22,677,980 msg/sec xenium::ramalhete_queue, 6,s: 39,075,545 msg/sec xenium::ramalhete_queue, 6,i: 25,555,795 msg/sec xenium::ramalhete_queue, 7,s: 40,473,620 msg/sec xenium::ramalhete_queue, 7,i: 27,199,233 msg/sec xenium::ramalhete_queue, 8,s: 50,655,999 msg/sec xenium::ramalhete_queue, 8,i: 28,853,682 msg/sec xenium::ramalhete_queue, 9,s: 33,142,295 msg/sec xenium::ramalhete_queue, 9,i: 34,113,793 msg/sec xenium::ramalhete_queue,10,s: 34,771,583 msg/sec xenium::ramalhete_queue,10,i: 40,023,595 msg/sec xenium::ramalhete_queue,11,s: 37,384,470 msg/sec xenium::ramalhete_queue,11,i: 42,559,895 msg/sec xenium::ramalhete_queue,12,s: 39,125,971 msg/sec xenium::ramalhete_queue,12,i: 41,925,183 msg/sec xenium::ramalhete_queue,13,s: 39,608,617 msg/sec xenium::ramalhete_queue,13,i: 44,268,536 msg/sec xenium::ramalhete_queue,14,s: 39,948,785 msg/sec xenium::ramalhete_queue,14,i: 43,079,157 msg/sec xenium::ramalhete_queue,15,s: 39,824,592 msg/sec xenium::ramalhete_queue,15,i: 43,988,971 msg/sec xenium::ramalhete_queue,16,s: 39,809,015 msg/sec xenium::ramalhete_queue,16,i: 44,712,771 msg/sec xenium::vyukov_bounded_queue, 1,s: 310,162,161 msg/sec xenium::vyukov_bounded_queue, 1,i: 311,098,096 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,546,333 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,147,026 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,527,281 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,198,688 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,612,259 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,590,730 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,987,212 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,527,489 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,184,043 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,480,980 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,255,017 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,447,532 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,253,764 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,556,671 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,129,051 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,692,827 msg/sec xenium::vyukov_bounded_queue,10,s: 7,625,182 msg/sec xenium::vyukov_bounded_queue,10,i: 6,933,487 msg/sec xenium::vyukov_bounded_queue,11,s: 7,520,735 msg/sec xenium::vyukov_bounded_queue,11,i: 7,238,516 msg/sec xenium::vyukov_bounded_queue,12,s: 7,600,241 msg/sec xenium::vyukov_bounded_queue,12,i: 7,382,789 msg/sec xenium::vyukov_bounded_queue,13,s: 7,130,127 msg/sec xenium::vyukov_bounded_queue,13,i: 7,276,155 msg/sec xenium::vyukov_bounded_queue,14,s: 7,050,283 msg/sec xenium::vyukov_bounded_queue,14,i: 7,488,846 msg/sec xenium::vyukov_bounded_queue,15,s: 7,145,491 msg/sec xenium::vyukov_bounded_queue,15,i: 7,263,050 msg/sec xenium::vyukov_bounded_queue,16,s: 6,857,363 msg/sec xenium::vyukov_bounded_queue,16,i: 7,080,752 msg/sec boost::lockfree::queue, 1,s: 7,733,385 msg/sec boost::lockfree::queue, 1,i: 7,837,407 msg/sec boost::lockfree::queue, 2,s: 5,889,294 msg/sec boost::lockfree::queue, 2,i: 5,932,585 msg/sec boost::lockfree::queue, 3,s: 4,951,468 msg/sec boost::lockfree::queue, 3,i: 4,821,490 msg/sec boost::lockfree::queue, 4,s: 4,387,629 msg/sec boost::lockfree::queue, 4,i: 4,366,481 msg/sec boost::lockfree::queue, 5,s: 2,649,183 msg/sec boost::lockfree::queue, 5,i: 2,662,469 msg/sec boost::lockfree::queue, 6,s: 1,429,794 msg/sec boost::lockfree::queue, 6,i: 2,987,331 msg/sec boost::lockfree::queue, 7,s: 1,378,162 msg/sec boost::lockfree::queue, 7,i: 2,848,215 msg/sec boost::lockfree::queue, 8,s: 1,160,752 msg/sec boost::lockfree::queue, 8,i: 1,914,946 msg/sec boost::lockfree::queue, 9,s: 1,387,899 msg/sec boopthread_spinlock: producers: 5: consumer 1 received too few messages: 0.06% of expected. pthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. st::lockfree::queue, 9,i: 1,887,334 msg/sec boost::lockfree::queue,10,s: 1,528,743 msg/sec boost::lockfree::queue,10,i: 1,995,963 msg/sec boost::lockfree::queue,11,s: 1,805,401 msg/sec boost::lockfree::queue,11,i: 1,934,230 msg/sec boost::lockfree::queue,12,s: 1,872,212 msg/sec boost::lockfree::queue,12,i: 1,707,810 msg/sec boost::lockfree::queue,13,s: 1,633,717 msg/sec boost::lockfree::queue,13,i: 1,683,857 msg/sec boost::lockfree::queue,14,s: 1,549,495 msg/sec boost::lockfree::queue,14,i: 1,645,546 msg/sec boost::lockfree::queue,15,s: 1,578,817 msg/sec boost::lockfree::queue,15,i: 1,582,031 msg/sec boost::lockfree::queue,16,s: 1,516,608 msg/sec boost::lockfree::queue,16,i: 1,489,707 msg/sec std::mutex, 1,s: 3,620,794 msg/sec std::mutex, 1,i: 3,631,223 msg/sec std::mutex, 2,s: 12,981,544 msg/sec std::mutex, 2,i: 12,535,642 msg/sec std::mutex, 3,s: 7,173,664 msg/sec std::mutex, 3,i: 7,007,816 msg/sec std::mutex, 4,s: 7,085,711 msg/sec std::mutex, 4,i: 6,634,800 msg/sec std::mutex, 5,s: 3,344,403 msg/sec std::mutex, 5,i: 3,505,284 msg/sec std::mutex, 6,s: 3,068,985 msg/sec std::mutex, 6,i: 2,982,312 msg/sec std::mutex, 7,s: 3,249,928 msg/sec std::mutex, 7,i: 2,925,365 msg/sec std::mutex, 8,s: 3,448,252 msg/sec std::mutex, 8,i: 2,832,108 msg/sec std::mutex, 9,s: 2,910,467 msg/sec std::mutex, 9,i: 2,739,674 msg/sec std::mutex,10,s: 2,626,267 msg/sec std::mutex,10,i: 2,611,055 msg/sec std::mutex,11,s: 2,645,622 msg/sec std::mutex,11,i: 2,567,043 msg/sec std::mutex,12,s: 2,730,883 msg/sec std::mutex,12,i: 2,669,365 msg/sec std::mutex,13,s: 2,500,118 msg/sec std::mutex,13,i: 2,403,235 msg/sec std::mutex,14,s: 2,397,540 msg/sec std::mutex,14,i: 2,353,580 msg/sec std::mutex,15,s: 2,443,916 msg/sec std::mutex,15,i: 2,400,337 msg/sec std::mutex,16,s: 2,327,172 msg/sec std::mutex,16,i: 2,274,139 msg/sec pthread_spinlock, 1,s: 17,645,826 msg/sec pthread_spinlock, 1,i: 18,133,968 msg/sec pthread_spinlock, 2,s: 6,647,812 msg/sec pthread_spinlock, 2,i: 1,858,892 msg/sec pthread_spinlock, 3,s: 787,490 msg/sec pthread_spinlock, 3,i: 6,683,971 msg/sec pthread_spinlock, 4,s: 1,011,683 msg/sec pthread_spinlock, 4,i: 1,365,135 msg/sec pthread_spinlock, 5,s: 2,787,049 msg/sec pthread_spinlock, 5,i: 3,907,416 msg/sec pthread_spinlock, 6,s: 2,018,819 msg/sec pthread_spinlock, 6,i: 3,167,438 msg/sec pthread_spinlock, 7,s: 2,782,466 msg/sec pthread_spinlock, 7,i: 3,074,201 msg/sec pthread_spinlock, 8,s: 2,993,758 msg/sec pthread_spinlock, 8,i: 2,698,145 msg/sec pthread_spinlock, 9,s: 2,893,167 msg/sec pthread_spinlock, 9,i: 2,297,119 msg/sec pthread_spinlock,10,s: 2,721,041 msg/sec pthread_spinlock,10,i: 2,383,075 msg/sec pthread_spinlock,11,s: 2,533,779 msg/sec pthread_spinlock,11,i: 2,728,104 msg/sec pthread_spinlock,12,s: 2,562,390 msg/sec pthread_spinlock,12,i: 2,486,985 msg/sec pthread_spinlock,13,s: 2,467,471 msg/sec pthread_spinlock,13,i: 2,266,100 msg/sec pthread_spinlock,14,s: 2,178,443 msg/sec pthread_spinlock,14,i: 2,034,056 msg/sec pthread_spinlock,15,s: 2,023,320 msg/sec pthread_spinlock,15,i: 1,924,146 msg/sec pthread_spinlock,16,s: 1,783,992 msg/sec pthread_spinlock,16,i: 1,599,013 msg/sec tbb::spin_mutex, 1,s: 37,512,916 msg/sec tbb::spin_mutex, 1,i: 37,773,565 msg/sec tbb::spin_mutex, 2,s: 16,547,699 msg/sec tbb::spin_mutex, 2,i: 16,076,979 msg/sec tbb::spin_mutex, 3,s: 12,044,074 msg/sec tbb::spin_mutex, 3,i: 11,879,093 msg/sec tbb::spin_mutex, 4,s: 10,314,922 msg/sec tbb::spin_mutex, 4,i: 10,011,753 msg/sec tbb::spin_mutex, 5,s: 5,982,955 msg/sec tbb::spin_mutex, 5,i: 5,524,237 msg/sec tbb::spin_mutex, 6,s: 5,095,875 msg/sec tbb::spin_mutex, 6,i: 4,897,386 msg/sec tbb::spin_mutex, 7,s: 4,398,671 msg/sec tbb::spin_mutex, 7,i: 4,666,236 msg/sec tbb::spin_mutex, 8,s: 4,319,015 msg/sec tbb::spin_mutex, 8,i: 4,050,458 msg/sec tbb::spin_mutex, 9,s: 4,671,553 msg/sec tbb::spin_mutex, 9,i: 4,437,776 msg/sec tbb::spin_mutex,10,s: 4,420,147 msg/sec tbb::spin_mutex,10,i: 4,179,702 msg/sec tbb::spin_mutex,11,s: 4,315,720 msg/sec tbb::spin_mutex,11,i: 4,168,339 msg/sec tbb::spin_mutex,12,s: 3,777,819 msg/sec tbb::spin_mutex,12,i: 3,531,473 msg/sec tbb::spin_mutex,13,s: 3,576,542 msg/sec tbb::spin_mutex,13,i: 3,338,322 msg/sec tbb::spin_mutex,14,s: 3,472,185 msg/sec tbb::spin_mutex,14,i: 3,052,907 msg/sec tbb::spin_mutex,15,s: 3,225,028 msg/sec tbb::spin_mutex,15,i: 3,043,208 msg/sec tbb::spin_mutex,16,s: 2,911,316 msg/sec tbb::spin_mutex,16,i: 3,025,970 msg/sec Elapsed time 6:11.34, user 5604.92s, system 601.54s, CPU 1671%, RSS 96248kB, exit-status 0. 2026-09-14 12:32:05 [3/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 117,516,792 msg/sec boost::lockfree::spsc_queue, 1,i: 113,416,829 msg/sec AtomicQueue, 1,s: 147,199,525 msg/sec AtomicQueue, 1,i: 145,828,750 msg/sec AtomicQueue, 2,s: 9,901,376 msg/sec AtomicQueue, 2,i: 10,358,831 msg/sec AtomicQueue, 3,s: 8,359,156 msg/sec AtomicQueue, 3,i: 8,844,079 msg/sec AtomicQueue, 4,s: 6,594,554 msg/sec AtomicQueue, 4,i: 7,013,509 msg/sec AtomicQueue, 5,s: 3,165,402 msg/sec AtomicQueue, 5,i: 3,763,673 msg/sec AtomicQueue, 6,s: 2,597,335 msg/sec AtomicQueue, 6,i: 3,560,634 msg/sec AtomicQueue, 7,s: 2,957,246 msg/sec AtomicQueue, 7,i: 3,192,495 msg/sec AtomicQueue, 8,s: 3,114,146 msg/sec AtomicQueue, 8,i: 2,891,228 msg/sec AtomicQueue, 9,s: 2,774,504 msg/sec AtomicQueue, 9,i: 2,890,844 msg/sec AtomicQueue,10,s: 2,803,131 msg/sec AtomicQueue,10,i: 2,975,479 msg/sec AtomicQueue,11,s: 2,803,203 msg/sec AtomicQueue,11,i: 2,921,103 msg/sec AtomicQueue,12,s: 2,659,375 msg/sec AtomicQueue,12,i: 2,870,966 msg/sec AtomicQueue,13,s: 2,529,972 msg/sec AtomicQueue,13,i: 2,850,871 msg/sec AtomicQueue,14,s: 2,368,739 msg/sec AtomicQueue,14,i: 2,779,207 msg/sec AtomicQueue,15,s: 2,364,050 msg/sec AtomicQueue,15,i: 2,828,434 msg/sec AtomicQueue,16,s: 2,257,931 msg/sec AtomicQueue,16,i: 2,735,574 msg/sec OptimistAtomicQueue, 1,s: 1,403,173,808 msg/sec OptimistAtomicQueue, 1,i: 1,189,136,285 msg/sec OptimistAtomicQueue, 2,s: 48,844,682 msg/sec OptimistAtomicQueue, 2,i: 52,641,611 msg/sec OptimistAtomicQueue, 3,s: 58,740,186 msg/sec OptimistAtomicQueue, 3,i: 60,073,115 msg/sec OptimistAtomicQueue, 4,s: 59,286,667 msg/sec OptimistAtomicQueue, 4,i: 66,059,243 msg/sec OptimistAtomicQueue, 5,s: 33,209,794 msg/sec OptimistAtomicQueue, 5,i: 46,694,602 msg/sec OptimistAtomicQueue, 6,s: 34,508,185 msg/sec OptimistAtomicQueue, 6,i: 35,218,125 msg/sec OptimistAtomicQueue, 7,s: 40,088,124 msg/sec OptimistAtomicQueue, 7,i: 39,385,215 msg/sec OptimistAtomicQueue, 8,s: 50,530,655 msg/sec OptimistAtomicQueue, 8,i: 41,221,029 msg/sec OptimistAtomicQueue, 9,s: 41,020,872 msg/sec OptimistAtomicQueue, 9,i: 45,765,219 msg/sec OptimistAtomicQueue,10,s: 39,977,067 msg/sec OptimistAtomicQueue,10,i: 47,797,548 msg/sec OptimistAtomicQueue,11,s: 44,229,074 msg/sec OptimistAtomicQueue,11,i: 50,335,014 msg/sec OptimistAtomicQueue,12,s: 43,446,257 msg/sec OptimistAtomicQueue,12,i: 56,562,415 msg/sec OptimistAtomicQueue,13,s: 43,460,799 msg/sec OptimistAtomicQueue,13,i: 56,414,778 msg/sec OptimistAtomicQueue,14,s: 43,240,990 msg/sec OptimistAtomicQueue,14,i: 56,462,504 msg/sec OptimistAtomicQueue,15,s: 45,805,455 msg/sec OptimistAtomicQueue,15,i: 60,503,880 msg/sec OptimistAtomicQueue,16,s: 45,930,929 msg/sec OptimistAtomicQueue,16,i: 64,837,602 msg/sec AtomicQueueB, 1,s: 49,798,592 msg/sec AtomicQueueB, 1,i: 49,649,087 msg/sec AtomicQueueB, 2,s: 9,691,007 msg/sec AtomicQueueB, 2,i: 10,315,965 msg/sec AtomicQueueB, 3,s: 8,248,504 msg/sec AtomicQueueB, 3,i: 8,678,903 msg/sec AtomicQueueB, 4,s: 6,544,009 msg/sec AtomicQueueB, 4,i: 6,901,908 msg/sec AtomicQueueB, 5,s: 3,106,262 msg/sec AtomicQueueB, 5,i: 4,324,850 msg/sec AtomicQueueB, 6,s: 2,567,833 msg/sec AtomicQueueB, 6,i: 3,508,265 msg/sec AtomicQueueB, 7,s: 2,922,877 msg/sec AtomicQueueB, 7,i: 3,173,269 msg/sec AtomicQueueB, 8,s: 3,060,950 msg/sec AtomicQueueB, 8,i: 2,868,363 msg/sec AtomicQueueB, 9,s: 2,736,526 msg/sec AtomicQueueB, 9,i: 2,886,937 msg/sec AtomicQueueB,10,s: 2,767,270 msg/sec AtomicQueueB,10,i: 2,869,035 msg/sec AtomicQueueB,11,s: 2,737,794 msg/sec AtomicQueueB,11,i: 2,904,161 msg/sec AtomicQueueB,12,s: 2,678,980 msg/sec AtomicQueueB,12,i: 2,839,960 msg/sec AtomicQueueB,13,s: 2,543,419 msg/sec AtomicQueueB,13,i: 2,800,227 msg/sec AtomicQueueB,14,s: 2,390,780 msg/sec AtomicQueueB,14,i: 2,760,139 msg/sec AtomicQueueB,15,s: 2,384,046 msg/sec AtomicQueueB,15,i: 2,768,231 msg/sec AtomicQueueB,16,s: 2,278,109 msg/sec AtomicQueueB,16,i: 2,738,187 msg/sec OptimistAtomicQueueB, 1,s: 714,173,040 msg/sec OptimistAtomicQueueB, 1,i: 505,756,840 msg/sec OptimistAtomicQueueB, 2,s: 47,096,286 msg/sec OptimistAtomicQueueB, 2,i: 48,757,139 msg/sec OptimistAtomicQueueB, 3,s: 58,631,084 msg/sec OptimistAtomicQueueB, 3,i: 57,510,731 msg/sec OptimistAtomicQueueB, 4,s: 59,579,058 msg/sec OptimistAtomicQueueB, 4,i: 66,247,197 msg/sec OptimistAtomicQueueB, 5,s: 33,076,850 msg/sec OptimistAtomicQueueB, 5,i: 39,754,750 msg/sec OptimistAtomicQueueB, 6,s: 34,382,127 msg/sec OptimistAtomicQueueB, 6,i: 34,923,612 msg/sec OptimistAtomicQueueB, 7,s: 39,255,149 msg/sec OptimistAtomicQueueB, 7,i: 40,058,096 msg/sec OptimistAtomicQueueB, 8,s: 51,483,690 msg/sec OptimistAtomicQueueB, 8,i: 41,271,964 msg/sec OptimistAtomicQueueB, 9,s: 40,632,047 msg/sec OptimistAtomicQueueB, 9,i: 45,525,067 msg/sec OptimistAtomicQueueB,10,s: 40,068,481 msg/sec OptimistAtomicQueueB,10,i: 47,399,452 msg/sec OptimistAtomicQueueB,11,s: 44,317,590 msg/sec OptimistAtomicQueueB,11,i: 52,583,594 msg/sec OptimistAtomicQueueB,12,s: 43,769,616 msg/sec OptimistAtomicQueueB,12,i: 57,027,337 msg/sec OptimistAtomicQueueB,13,s: 43,867,654 msg/sec OptimistAtomicQueueB,13,i: 57,305,037 msg/sec OptimistAtomicQueueB,14,s: 43,585,688 msg/sec OptimistAtomicQueueB,14,i: 56,646,855 msg/sec OptimistAtomicQueueB,15,s: 46,200,608 msg/sec OptimistAtomicQueueB,15,i: 61,069,259 msg/sec OptimistAtomicQueueB,16,s: 46,247,831 msg/sec OptimistAtomicQueueB,16,i: 64,845,969 msg/sec AtomicQueue2, 1,s: 133,410,702 msg/sec AtomicQueue2, 1,i: 125,813,417 msg/sec AtomicQueue2, 2,s: 9,972,540 msg/sec AtomicQueue2, 2,i: 10,536,757 msg/sec AtomicQueue2, 3,s: 8,408,222 msg/sec AtomicQueue2, 3,i: 8,885,651 msg/sec AtomicQueue2, 4,s: 6,680,945 msg/sec AtomicQueue2, 4,i: 7,088,508 msg/sec AtomicQueue2, 5,s: 3,133,369 msg/sec AtomicQueue2, 5,i: 3,727,110 msg/sec AtomicQueue2, 6,s: 2,564,284 msg/sec AtomicQueue2, 6,i: 3,465,485 msg/sec AtomicQueue2, 7,s: 2,905,357 msg/sec AtomicQueue2, 7,i: 3,212,735 msg/sec AtomicQueue2, 8,s: 3,024,125 msg/sec AtomicQueue2, 8,i: 2,882,086 msg/sec AtomicQueue2, 9,s: 2,728,182 msg/sec AtomicQueue2, 9,i: 2,941,690 msg/sec AtomicQueue2,10,s: 2,775,495 msg/sec AtomicQueue2,10,i: 2,911,171 msg/sec AtomicQueue2,11,s: 2,747,943 msg/sec AtomicQueue2,11,i: 2,939,383 msg/sec AtomicQueue2,12,s: 2,692,799 msg/sec AtomicQueue2,12,i: 2,854,243 msg/sec AtomicQueue2,13,s: 2,546,394 msg/sec AtomicQueue2,13,i: 2,813,186 msg/sec AtomicQueue2,14,s: 2,392,058 msg/sec AtomicQueue2,14,i: 2,772,159 msg/sec AtomicQueue2,15,s: 2,390,172 msg/sec AtomicQueue2,15,i: 2,743,469 msg/sec AtomicQueue2,16,s: 2,289,967 msg/sec AtomicQueue2,16,i: 2,716,383 msg/sec OptimistAtomicQueue2, 1,s: 107,506,651 msg/sec OptimistAtomicQueue2, 1,i: 107,762,212 msg/sec OptimistAtomicQueue2, 2,s: 43,477,434 msg/sec OptimistAtomicQueue2, 2,i: 47,537,301 msg/sec OptimistAtomicQueue2, 3,s: 56,975,790 msg/sec OptimistAtomicQueue2, 3,i: 50,070,469 msg/sec OptimistAtomicQueue2, 4,s: 59,156,064 msg/sec OptimistAtomicQueue2, 4,i: 58,126,966 msg/sec OptimistAtomicQueue2, 5,s: 31,471,181 msg/sec OptimistAtomicQueue2, 5,i: 32,594,054 msg/sec OptimistAtomicQueue2, 6,s: 32,935,700 msg/sec OptimistAtomicQueue2, 6,i: 32,503,224 msg/sec OptimistAtomicQueue2, 7,s: 37,842,231 msg/sec OptimistAtomicQueue2, 7,i: 37,791,335 msg/sec OptimistAtomicQueue2, 8,s: 49,041,219 msg/sec OptimistAtomicQueue2, 8,i: 39,878,133 msg/sec OptimistAtomicQueue2, 9,s: 37,572,341 msg/sec OptimistAtomicQueue2, 9,i: 42,469,835 msg/sec OptimistAtomicQueue2,10,s: 37,615,370 msg/sec OptimistAtomicQueue2,10,i: 44,335,380 msg/sec OptimistAtomicQueue2,11,s: 43,040,189 msg/sec OptimistAtomicQueue2,11,i: 48,844,574 msg/sec OptimistAtomicQueue2,12,s: 42,058,502 msg/sec OptimistAtomicQueue2,12,i: 50,516,561 msg/sec OptimistAtomicQueue2,13,s: 41,143,054 msg/sec OptimistAtomicQueue2,13,i: 52,883,626 msg/sec OptimistAtomicQueue2,14,s: 40,936,327 msg/sec OptimistAtomicQueue2,14,i: 53,606,866 msg/sec OptimistAtomicQueue2,15,s: 43,281,183 msg/sec OptimistAtomicQueue2,15,i: 56,318,816 msg/sec OptimistAtomicQueue2,16,s: 43,411,037 msg/sec OptimistAtomicQueue2,16,i: 59,091,676 msg/sec AtomicQueueB2, 1,s: 83,364,839 msg/sec AtomicQueueB2, 1,i: 73,156,485 msg/sec AtomicQueueB2, 2,s: 9,877,344 msg/sec AtomicQueueB2, 2,i: 10,467,463 msg/sec AtomicQueueB2, 3,s: 8,316,981 msg/sec AtomicQueueB2, 3,i: 8,840,095 msg/sec AtomicQueueB2, 4,s: 6,619,467 msg/sec AtomicQueueB2, 4,i: 6,967,344 msg/sec AtomicQueueB2, 5,s: 3,095,167 msg/sec AtomicQueueB2, 5,i: 4,331,470 msg/sec AtomicQueueB2, 6,s: 2,552,844 msg/sec AtomicQueueB2, 6,i: 3,990,391 msg/sec AtomicQueueB2, 7,s: 2,899,859 msg/sec AtomicQueueB2, 7,i: 3,171,710 msg/sec AtomicQueueB2, 8,s: 3,024,044 msg/sec AtomicQueueB2, 8,i: 2,851,400 msg/sec AtomicQueueB2, 9,s: 2,693,194 msg/sec AtomicQueueB2, 9,i: 2,869,398 msg/sec AtomicQueueB2,10,s: 2,766,794 msg/sec AtomicQueueB2,10,i: 2,828,485 msg/sec AtomicQueueB2,11,s: 2,815,598 msg/sec AtomicQueueB2,11,i: 2,901,459 msg/sec AtomicQueueB2,12,s: 2,758,848 msg/sec AtomicQueueB2,12,i: 2,860,561 msg/sec AtomicQueueB2,13,s: 2,629,903 msg/sec AtomicQueueB2,13,i: 2,839,316 msg/sec AtomicQueueB2,14,s: 2,480,817 msg/sec AtomicQueueB2,14,i: 2,769,147 msg/sec AtomicQueueB2,15,s: 2,429,701 msg/sec AtomicQueueB2,15,i: 2,829,938 msg/sec AtomicQueueB2,16,s: 2,306,548 msg/sec AtomicQueueB2,16,i: 2,752,110 msg/sec OptimistAtomicQueueB2, 1,s: 152,864,827 msg/sec OptimistAtomicQueueB2, 1,i: 153,884,544 msg/sec OptimistAtomicQueueB2, 2,s: 42,080,500 msg/sec OptimistAtomicQueueB2, 2,i: 45,978,381 msg/sec OptimistAtomicQueueB2, 3,s: 56,908,220 msg/sec OptimistAtomicQueueB2, 3,i: 53,159,009 msg/sec OptimistAtomicQueueB2, 4,s: 58,936,667 msg/sec OptimistAtomicQueueB2, 4,i: 60,024,354 msg/sec OptimistAtomicQueueB2, 5,s: 31,349,241 msg/sec OptimistAtomicQueueB2, 5,i: 31,465,834 msg/sec OptimistAtomicQueueB2, 6,s: 32,869,275 msg/sec OptimistAtomicQueueB2, 6,i: 31,904,601 msg/sec OptimistAtomicQueueB2, 7,s: 37,006,099 msg/sec OptimistAtomicQueueB2, 7,i: 37,083,179 msg/sec OptimistAtomicQueueB2, 8,s: 48,018,935 msg/sec OptimistAtomicQueueB2, 8,i: 38,944,006 msg/sec OptimistAtomicQueueB2, 9,s: 37,180,162 msg/sec OptimistAtomicQueueB2, 9,i: 41,126,917 msg/sec OptimistAtomicQueueB2,10,s: 37,319,433 msg/sec OptimistAtomicQueueB2,10,i: 43,468,684 msg/sec OptimistAtomicQueueB2,11,s: 42,607,349 msg/sec OptimistAtomicQueueB2,11,i: 47,142,315 msg/sec OptimistAtomicQueueB2,12,s: 41,696,083 msg/sec OptimistAtomicQueueB2,12,i: 51,603,332 msg/sec OptimistAtomicQueueB2,13,s: 40,856,996 msg/sec OptimistAtomicQueueB2,13,i: 52,527,106 msg/sec OptimistAtomicQueueB2,14,s: 40,690,757 msg/sec OptimistAtomicQueueB2,14,i: 52,938,514 msg/sec OptimistAtomicQueueB2,15,s: 43,003,957 msg/sec OptimistAtomicQueueB2,15,i: 56,387,059 msg/sec OptimistAtomicQueueB2,16,s: 43,259,099 msg/sec OptimistAtomicQueueB2,16,i: 59,197,701 msg/sec moodycamel::ReaderWriterQueue, 1,s: 317,964,809 msg/sec moodycamel::ReaderWriterQueue, 1,i: 112,210,135 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,205,245 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,251,487 msg/sec moodycamel::ConcurrentQueue, 2,s: 36,993,419 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,158,217 msg/sec moodycamel::ConcurrentQueue, 3,s: 56,699,493 msg/sec moodycamel::ConcurrentQueue, 3,i: 51,898,464 msg/sec moodycamel::ConcurrentQueue, 4,s: 108,747,744 msg/sec moodycamel::ConcurrentQueue, 4,i: 85,237,960 msg/sec moodycamel::ConcurrentQueue, 5,s: 123,413,464 msg/sec moodycamel::ConcurrentQueue, 5,i: 179,747,344 msg/sec moodycamel::ConcurrentQueue, 6,s: 217,789,361 msg/sec moodycamel::ConcurrentQueue, 6,i: 221,189,286 msg/sec moodycamel::ConcurrentQueue, 7,s: 217,358,046 msg/sec moodycamel::ConcurrentQueue, 7,i: 230,639,921 msg/sec moodycamel::ConcurrentQueue, 8,s: 274,339,530 msg/sec moodycamel::ConcurrentQueue, 8,i: 217,937,484 msg/sec moodycamel::ConcurrentQueue, 9,s: 265,020,404 msg/sec moodycamel::ConcurrentQueue, 9,i: 235,454,373 msg/sec moodycamel::ConcurrentQueue,10,s: 248,195,161 msg/sec moodycamel::ConcurrentQueue,10,i: 264,687,900 msg/sec moodycamel::ConcurrentQueue,11,s: 255,445,363 msg/sec moodycamel::ConcurrentQueue,11,i: 285,341,953 msg/sec moodycamel::ConcurrentQueue,12,s: 150,918,751 msg/sec moodycamel::ConcurrentQueue,12,i: 208,404,645 msg/sec moodycamel::ConcurrentQueue,13,s: 234,558,998 msg/sec moodycamel::ConcurrentQueue,13,i: 301,571,105 msg/sec moodycamel::ConcurrentQueue,14,s: 351,715,943 msg/sec moodycamel::ConcurrentQueue,14,i: 318,609,997 msg/sec moodycamel::ConcurrentQueue,15,s: 429,366,380 msg/sec moodycamel::ConcurrentQueue,15,i: 445,875,980 msg/sec moodycamel::ConcurrentQueue,16,s: 548,266,944 msg/sec moodycamel::ConcurrentQueue,16,i: 507,963,601 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,830,721 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,827,299 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,160,337 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,152,123 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,987,042 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,085,624 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,426,752 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,620,812 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,686 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,620,392 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,787,398 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,431,007 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,673,835 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,157,247 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,782,167 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,812,205 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,614,111 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,844,345 msg/sec tbb::concurrent_bounded_queue,10,s: 2,781,760 msg/sec tbb::concurrent_bounded_queue,10,i: 2,983,009 msg/sec tbb::concurrent_bounded_queue,11,s: 2,665,097 msg/sec tbb::concurrent_bounded_queue,11,i: 2,858,923 msg/sec tbb::concurrent_bounded_queue,12,s: 2,579,478 msg/sec tbb::concurrent_bounded_queue,12,i: 2,988,670 msg/sec tbb::concurrent_bounded_queue,13,s: 2,488,581 msg/sec tbb::concurrent_bounded_queue,13,i: 2,747,173 msg/sec tbb::concurrent_bounded_queue,14,s: 2,385,126 msg/sec tbb::concurrent_bounded_queue,14,i: 2,719,713 msg/sec tbb::concurrent_bounded_queue,15,s: 2,352,453 msg/sec tbb::concurrent_bounded_queue,15,i: 2,602,883 msg/sec tbb::concurrent_bounded_queue,16,s: 2,263,035 msg/sec tbb::concurrent_bounded_queue,16,i: 2,528,950 msg/sec xenium::michael_scott_queue, 1,s: 13,459,631 msg/sec xenium::michael_scott_queue, 1,i: 13,807,483 msg/sec xenium::michael_scott_queue, 2,s: 9,488,813 msg/sec xenium::michael_scott_queue, 2,i: 9,217,761 msg/sec xenium::michael_scott_queue, 3,s: 7,659,581 msg/sec xenium::michael_scott_queue, 3,i: 7,564,219 msg/sec xenium::michael_scott_queue, 4,s: 5,888,555 msg/sec xenium::michael_scott_queue, 4,i: 5,818,925 msg/sec xenium::michael_scott_queue, 5,s: 3,628,353 msg/sec xenium::michael_scott_queue, 5,i: 4,663,041 msg/sec xenium::michael_scott_queue, 6,s: 3,335,214 msg/sec xenium::michael_scott_queue, 6,i: 3,592,860 msg/sec xenium::michael_scott_queue, 7,s: 3,180,004 msg/sec xenium::michael_scott_queue, 7,i: 3,238,841 msg/sec xenium::michael_scott_queue, 8,s: 2,346,922 msg/sec xenium::michael_scott_queue, 8,i: 2,798,254 msg/sec xenium::michael_scott_queue, 9,s: 2,925,016 msg/sec xenium::michael_scott_queue, 9,i: 2,881,079 msg/sec xenium::michael_scott_queue,10,s: 2,810,526 msg/sec xenium::michael_scott_queue,10,i: 2,833,405 msg/sec xenium::michael_scott_queue,11,s: 2,759,220 msg/sec xenium::michael_scott_queue,11,i: 2,873,375 msg/sec xenium::michael_scott_queue,12,s: 2,607,772 msg/sec xenium::michael_scott_queue,12,i: 2,753,112 msg/sec xenium::michael_scott_queue,13,s: 2,526,713 msg/sec xenium::michael_scott_queue,13,i: 2,656,588 msg/sec xenium::michael_scott_queue,14,s: 2,427,048 msg/sec xenium::michael_scott_queue,14,i: 2,630,152 msg/sec xenium::michael_scott_queue,15,s: 2,327,817 msg/sec xenium::michael_scott_queue,15,i: 2,614,027 msg/sec xenium::michael_scott_queue,16,s: 2,206,940 msg/sec xenium::michael_scott_queue,16,i: 2,512,805 msg/sec xenium::ramalhete_queue, 1,s: 71,357,630 msg/sec xenium::ramalhete_queue, 1,i: 66,603,170 msg/sec xenium::ramalhete_queue, 2,s: 46,604,250 msg/sec xenium::ramalhete_queue, 2,i: 39,825,376 msg/sec xenium::ramalhete_queue, 3,s: 43,486,312 msg/sec xenium::ramalhete_queue, 3,i: 43,511,837 msg/sec xenium::ramalhete_queue, 4,s: 50,209,717 msg/sec xenium::ramalhete_queue, 4,i: 52,508,025 msg/sec xenium::ramalhete_queue, 5,s: 37,903,852 msg/sec xenium::ramalhete_queue, 5,i: 24,135,414 msg/sec xenium::ramalhete_queue, 6,s: 38,997,404 msg/sec xenium::ramalhete_queue, 6,i: 27,905,323 msg/sec xenium::ramalhete_queue, 7,s: 40,600,128 msg/sec xenium::ramalhete_queue, 7,i: 29,500,466 msg/sec xenium::ramalhete_queue, 8,s: 51,024,385 msg/sec xenium::ramalhete_queue, 8,i: 30,385,559 msg/sec xenium::ramalhete_queue, 9,s: 33,009,694 msg/sec xenium::ramalhete_queue, 9,i: 36,002,419 msg/sec xenium::ramalhete_queue,10,s: 35,392,529 msg/sec xenium::ramalhete_queue,10,i: 40,668,785 msg/sec xenium::ramalhete_queue,11,s: 36,918,948 msg/sec xenium::ramalhete_queue,11,i: 41,743,542 msg/sec xenium::ramalhete_queue,12,s: 38,746,636 msg/sec xenium::ramalhete_queue,12,i: 44,211,544 msg/sec xenium::ramalhete_queue,13,s: 39,698,571 msg/sec xenium::ramalhete_queue,13,i: 42,065,570 msg/sec xenium::ramalhete_queue,14,s: 39,631,925 msg/sec xenium::ramalhete_queue,14,i: 42,909,617 msg/sec xenium::ramalhete_queue,15,s: 39,772,641 msg/sec xenium::ramalhete_queue,15,i: 43,870,849 msg/sec xenium::ramalhete_queue,16,s: 39,802,519 msg/sec xenium::ramalhete_queue,16,i: 44,522,027 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,391,585 msg/sec xenium::vyukov_bounded_queue, 1,i: 309,795,120 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,627,217 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,845,014 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,648,071 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,188,618 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,153,872 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,659,789 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,969,706 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,506,232 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,158,107 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,587,599 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,127,653 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,473,080 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,298,833 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,552,468 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,079,787 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,677,230 msg/sec xenium::vyukov_bounded_queue,10,s: 7,570,270 msg/sec xenium::vyukov_bounded_queue,10,i: 6,876,221 msg/sec xenium::vyukov_bounded_queue,11,s: 7,508,265 msg/sec xenium::vyukov_bounded_queue,11,i: 7,203,807 msg/sec xenium::vyukov_bounded_queue,12,s: 7,504,160 msg/sec xenium::vyukov_bounded_queue,12,i: 7,471,965 msg/sec xenium::vyukov_bounded_queue,13,s: 7,078,166 msg/sec xenium::vyukov_bounded_queue,13,i: 7,277,105 msg/sec xenium::vyukov_bounded_queue,14,s: 7,077,827 msg/sec xenium::vyukov_bounded_queue,14,i: 7,467,332 msg/sec xenium::vyukov_bounded_queue,15,s: 7,052,552 msg/sec xenium::vyukov_bounded_queue,15,i: 7,279,400 msg/sec xenium::vyukov_bounded_queue,16,s: 6,886,447 msg/sec xenium::vyukov_bounded_queue,16,i: 7,071,190 msg/sec boost::lockfree::queue, 1,s: 7,753,526 msg/sec boost::lockfree::queue, 1,i: 7,834,722 msg/sec boost::lockfree::queue, 2,s: 5,903,635 msg/sec boost::lockfree::queue, 2,i: 5,923,108 msg/sec boost::lockfree::queue, 3,s: 4,966,929 msg/sec boost::lockfree::queue, 3,i: 4,816,141 msg/sec boost::lockfree::queue, 4,s: 4,369,248 msg/sec boost::lockfree::queue, 4,i: 4,352,745 msg/sec boost::lockfree::queue, 5,s: 2,662,126 msg/sec boost::lockfree::queue, 5,i: 2,912,288 msg/sec boost::lockfree::queue, 6,s: 1,441,384 msg/sec boost::lockfree::queue, 6,i: 3,000,812 msg/sec boost::lockfree::queue, 7,s: 1,378,069 msg/sec boost::lockfree::queue, 7,i: 2,824,394 msg/sec boost::lockfree::queue, 8,s: 1,156,444 msg/sec boost::lockfree::queue, 8,i: 1,840,104 msg/sec boost::lockfree::queue, 9,s: 1,432,519 msg/sec boost::lockfree::queue, 9,i: 1,896,548 msg/sec boost::lockfree::queue,10,s: 1,522,007 msg/sec boost::lockfree::queue,10,i: 2,003,769 msg/sec boost::lockfree::queue,11,s: 1,750,239 msg/sec boost::lockfree::queue,11,i: 1,875,779 msg/sec boost::lockfree::queue,12,s: 1,749,382 msg/sec boost::lockfree::queue,12,i: 1,683,953 msg/sec boost::lockfree::queue,13,s: 1,615,772 msg/sec boost::lockfree::queue,13,i: 1,704,354 msg/sec boost::lockfree::queue,14,s: 1,558,263 msg/sec boost::lockfree::queue,14,i: 1,622,137 msg/sec boost::lockfree::queue,15,s: 1,561,383 msg/sec boost::lockfree::queue,15,i: 1,588,099 msg/sec boost::lockfree::queue,16,s: 1,514,705 msg/sec boost::lockfree::queue,16,i: 1,499,462 msg/sec std::mutex, 1,s: 3,644,585 msg/sec std::mutex, 1,i: 3,387,837 msg/sec std::mutex, 2,s: 12,696,820 msg/sec std::mutex, 2,i: 12,216,550 msg/sec std::mutex, 3,s: 7,151,198 msg/sec std::mutex, 3,i: 6,952,085 msg/sec std::mutex, 4,s: 7,108,420 msg/sec std::mutex, 4,i: 6,676,363 msg/sec std::mutex, 5,s: 3,297,080 msg/sec std::mutex, 5,i: 3,395,913 msg/sec std::mutex, 6,s: 2,997,536 msg/sec std::mutex, 6,i: 2,935,582 msg/sec std::mutex, 7,s: 3,243,283 msg/sec std::mutex, 7,i: 2,884,105 msg/sec std::mutex, 8,s: 3,459,525 msg/sec std::mutex, 8,i: 2,783,431 msg/sec std::mutex, 9,s: 2,867,006 msg/sec std::mutex, 9,i: 2,741,303 msg/sec std::mutex,10,s: 2,643,093 msg/sec std::mutex,10,i: 2,659,468 msg/sec std::mutex,11,s: 2,630,337 msg/sec std::mutex,11,i: 2,653,108 msg/sec std::mutex,12,s: 2,699,004 msg/sec std::mutex,12,i: 2,557,662 msg/sec std::mutex,13,s: 2,474,218 msg/sec std::mutex,13,i: 2,400,825 msg/sec std::mutex,14,s: 2,419,986 msg/sec std::mutex,14,i: 2,350,407 msg/sec std::mutex,15,s: 2,454,671 msg/sec std::mutex,15,i: 2,388,851 msg/sec std::mutex,16,s: 2,347,680 msg/sec std::mutex,16,i: 2,283,427 msg/sec pthread_spinlock, 1,s: 17,920,286 msg/sec pthread_spinlock, 1,i: 18,098,776 msg/sec pthread_spinlock, 2,s: 7,086,666 msg/sec pthread_spinlock, 2,i: 1,412,112 msg/sec pthread_spinlock, 3,s: 716,051 msg/sec pthread_spinlock, 3,i: 6,158,328 msg/sec pthread_spinlock, 4,s: 1,795,738 msg/sec pthread_spinlock, 4,i: 1,782,773 msg/sec pthread_spinlock, 5,s: 2,765,041 msg/sec pthread_spinlock, 5,i: 1,071,521 msg/sec pthread_spinlock, 6,s: 1,988,253 msg/sec pthread_spinlock, 6,i: 3,090,810 msg/sec pthread_spinlock, 7,s: 2,776,366 msg/sec pthread_spinlock, 7,i: 3,077,151 msg/sec pthread_spinlock, 8,s: 2,984,919 msg/sec pthread_spinlock, 8,i: 2,685,304 msg/sec pthread_spinlock, 9,s: 2,873,628 msg/sec pthread_spinlock, 9,i: 2,344,297 msg/sec pthread_spinlock,10,s: 2,747,608 msg/sec pthread_spinlock,10,i: 2,392,251 msg/sec pthread_spinlock,11,s: 2,528,957 msg/sec pthread_spinlock,11,i: 2,752,602 msg/sec pthread_spinlock,12,s: 2,551,746 msg/sec pthread_spinlock,12,i: 2,485,312 msg/sec pthread_spinlock,13,s: 2,441,293 msg/sec pthread_spinlock,13,i: 2,228,633 msg/sec pthread_spinlock,14,s: 2,290,850 msg/sec pthread_spinlock,14,i: 2,113,098 msg/sec pthread_spinlock,15,s: 2,012,811 msg/sec pthread_spinlock,15,i: 1,897,527 msg/sec pthread_spinlock,16,s: 1,819,248 msg/sec pthread_spinlock,16,i: 1,602,305 msg/sec tbb::spin_mutex, 1,s: 37,621,894 msg/sec tbb::spin_mutex, 1,i: 37,962,213 msg/sec tbb::spin_mutex, 2,s: 16,509,560 msg/sec tbb::spin_mutex, 2,i: 15,979,855 msg/sec tbb::spin_mutex, 3,s: 12,062,428 msg/sec tbb::spin_mutex, 3,i: 11,928,828 msg/sec tbb::spin_mutex, 4,s: 10,610,402 msg/sec tbb::spin_mutex, 4,i: 10,072,061 msg/sec tbb::spin_mutex, 5,s: 5,939,869 msg/sec tbb::spin_mutex, 5,i: 5,480,493 msg/sec tbb::spin_mutex, 6,s: 5,106,254 msg/sec tbb::spin_mutex, 6,i: 4,851,593 msg/sec tbb::spin_mutex, 7,s: 4,385,474 msg/sec tbb::spin_mutex, 7,i: 4,653,036 msg/sec tbb::spin_mutex, 8,s: 4,286,466 msg/sec tbb::spin_mutex, 8,i: 4,045,709 msg/sec tbb::spin_mutex, 9,s: 4,642,153 msg/sec tbb::spin_mutex, 9,i: 4,406,714 msg/sec tbb::spin_mutex,10,s: 4,531,240 msg/sec tbb::spin_mutex,10,i: 4,092,955 msg/sec tbb::spin_mutex,11,s: 4,275,581 msg/sec tbb::spin_mutex,11,i: 3,524,375 msg/sec tbb::spin_mutex,12,s: 3,748,387 msg/sec tbb::spin_mutex,12,i: 3,320,051 msg/sec tbb::spin_mutex,13,s: 3,521,084 msg/sec tbb::spin_mutex,13,i: 3,256,551 msg/sec tbb::spin_mutex,14,s: 3,434,392 msg/sec tbb::spin_mutex,14,i: 3,090,054 msg/sec tbb::spin_mutex,15,s: 3,240,950 msg/sec tbb::spin_mutex,15,i: 3,131,028 msg/sec tbb::spin_mutex,16,s: 2,874,090 msg/sec tbb::spin_mutex,16,i: 3,012,339 msg/sec Elapsed time 6:13.11, user 5616.87s, system 603.38s, CPU 1667%, RSS 96488kB, exit-status 0. 2026-09-14 12:38:18 [4/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,164,803 msg/sec boost::lockfree::spsc_queue, 1,i: 113,282,185 msg/sec AtomicQueue, 1,s: 146,195,435 msg/sec AtomicQueue, 1,i: 146,397,470 msg/sec AtomicQueue, 2,s: 9,884,177 msg/sec AtomicQueue, 2,i: 10,350,047 msg/sec AtomicQueue, 3,s: 8,358,345 msg/sec AtomicQueue, 3,i: 8,821,961 msg/sec AtomicQueue, 4,s: 6,604,057 msg/sec AtomicQueue, 4,i: 7,015,481 msg/sec AtomicQueue, 5,s: 3,157,727 msg/sec AtomicQueue, 5,i: 4,331,403 msg/sec AtomicQueue, 6,s: 2,604,403 msg/sec AtomicQueue, 6,i: 3,486,305 msg/sec AtomicQueue, 7,s: 2,967,555 msg/sec AtomicQueue, 7,i: 3,208,703 msg/sec AtomicQueue, 8,s: 3,118,903 msg/sec AtomicQueue, 8,i: 2,897,278 msg/sec AtomicQueue, 9,s: 2,769,245 msg/sec AtomicQueue, 9,i: 2,965,942 msg/sec AtomicQueue,10,s: 2,796,254 msg/sec AtomicQueue,10,i: 2,888,634 msg/sec AtomicQueue,11,s: 2,785,182 msg/sec AtomicQueue,11,i: 2,937,279 msg/sec AtomicQueue,12,s: 2,665,663 msg/sec AtomicQueue,12,i: 2,863,138 msg/sec AtomicQueue,13,s: 2,527,032 msg/sec AtomicQueue,13,i: 2,828,939 msg/sec AtomicQueue,14,s: 2,366,373 msg/sec AtomicQueue,14,i: 2,783,777 msg/sec AtomicQueue,15,s: 2,369,047 msg/sec AtomicQueue,15,i: 2,837,730 msg/sec AtomicQueue,16,s: 2,260,197 msg/sec AtomicQueue,16,i: 2,735,432 msg/sec OptimistAtomicQueue, 1,s: 1,192,113,130 msg/sec OptimistAtomicQueue, 1,i: 1,192,895,244 msg/sec OptimistAtomicQueue, 2,s: 53,997,510 msg/sec OptimistAtomicQueue, 2,i: 51,378,442 msg/sec OptimistAtomicQueue, 3,s: 58,766,455 msg/sec OptimistAtomicQueue, 3,i: 59,634,389 msg/sec OptimistAtomicQueue, 4,s: 59,229,326 msg/sec OptimistAtomicQueue, 4,i: 65,936,937 msg/sec OptimistAtomicQueue, 5,s: 33,213,578 msg/sec OptimistAtomicQueue, 5,i: 43,133,880 msg/sec OptimistAtomicQueue, 6,s: 34,604,980 msg/sec OptimistAtomicQueue, 6,i: 35,124,486 msg/sec OptimistAtomicQueue, 7,s: 40,023,210 msg/sec OptimistAtomicQueue, 7,i: 40,135,458 msg/sec OptimistAtomicQueue, 8,s: 50,511,232 msg/sec OptimistAtomicQueue, 8,i: 41,274,451 msg/sec OptimistAtomicQueue, 9,s: 40,918,738 msg/sec OptimistAtomicQueue, 9,i: 44,906,382 msg/sec OptimistAtomicQueue,10,s: 39,913,324 msg/sec OptimistAtomicQueue,10,i: 47,938,553 msg/sec OptimistAtomicQueue,11,s: 44,259,748 msg/sec OptimistAtomicQueue,11,i: 53,299,142 msg/sec OptimistAtomicQueue,12,s: 43,489,089 msg/sec OptimistAtomicQueue,12,i: 56,986,456 msg/sec OptimistAtomicQueue,13,s: 43,392,138 msg/sec OptimistAtomicQueue,13,i: 57,162,844 msg/sec OptimistAtomicQueue,14,s: 43,170,616 msg/sec OptimistAtomicQueue,14,i: 56,541,675 msg/sec OptimistAtomicQueue,15,s: 45,912,960 msg/sec OptimistAtomicQueue,15,i: 60,228,980 msg/sec OptimistAtomicQueue,16,s: 45,863,395 msg/sec OptimistAtomicQueue,16,i: 64,733,641 msg/sec AtomicQueueB, 1,s: 50,013,500 msg/sec AtomicQueueB, 1,i: 49,311,480 msg/sec AtomicQueueB, 2,s: 9,594,053 msg/sec AtomicQueueB, 2,i: 9,969,239 msg/sec AtomicQueueB, 3,s: 8,264,115 msg/sec AtomicQueueB, 3,i: 8,665,500 msg/sec AtomicQueueB, 4,s: 6,555,951 msg/sec AtomicQueueB, 4,i: 6,905,230 msg/sec AtomicQueueB, 5,s: 3,113,959 msg/sec AtomicQueueB, 5,i: 4,331,666 msg/sec AtomicQueueB, 6,s: 2,571,745 msg/sec AtomicQueueB, 6,i: 3,965,895 msg/sec AtomicQueueB, 7,s: 2,913,409 msg/sec AtomicQueueB, 7,i: 3,175,050 msg/sec AtomicQueueB, 8,s: 3,060,776 msg/sec AtomicQueueB, 8,i: 2,865,400 msg/sec AtomicQueueB, 9,s: 2,758,931 msg/sec AtomicQueueB, 9,i: 2,879,470 msg/sec AtomicQueueB,10,s: 2,800,685 msg/sec AtomicQueueB,10,i: 2,884,090 msg/sec AtomicQueueB,11,s: 2,754,057 msg/sec AtomicQueueB,11,i: 2,908,421 msg/sec AtomicQueueB,12,s: 2,674,718 msg/sec AtomicQueueB,12,i: 2,846,174 msg/sec AtomicQueueB,13,s: 2,528,530 msg/sec AtomicQueueB,13,i: 2,813,210 msg/sec AtomicQueueB,14,s: 2,388,737 msg/sec AtomicQueueB,14,i: 2,759,559 msg/sec AtomicQueueB,15,s: 2,376,544 msg/sec AtomicQueueB,15,i: 2,820,590 msg/sec AtomicQueueB,16,s: 2,277,304 msg/sec AtomicQueueB,16,i: 2,735,488 msg/sec OptimistAtomicQueueB, 1,s: 513,503,713 msg/sec OptimistAtomicQueueB, 1,i: 508,506,021 msg/sec OptimistAtomicQueueB, 2,s: 48,986,039 msg/sec OptimistAtomicQueueB, 2,i: 49,815,535 msg/sec OptimistAtomicQueueB, 3,s: 58,594,360 msg/sec OptimistAtomicQueueB, 3,i: 57,263,381 msg/sec OptimistAtomicQueueB, 4,s: 59,525,650 msg/sec OptimistAtomicQueueB, 4,i: 66,253,078 msg/sec OptimistAtomicQueueB, 5,s: 33,112,357 msg/sec OptimistAtomicQueueB, 5,i: 36,849,742 msg/sec OptimistAtomicQueueB, 6,s: 34,360,909 msg/sec OptimistAtomicQueueB, 6,i: 34,026,892 msg/sec OptimistAtomicQueueB, 7,s: 39,383,881 msg/sec OptimistAtomicQueueB, 7,i: 40,024,107 msg/sec OptimistAtomicQueueB, 8,s: 51,502,356 msg/sec OptimistAtomicQueueB, 8,i: 41,223,187 msg/sec OptimistAtomicQueueB, 9,s: 40,743,574 msg/sec OptimistAtomicQueueB, 9,i: 45,038,792 msg/sec OptimistAtomicQueueB,10,s: 39,912,337 msg/sec OptimistAtomicQueueB,10,i: 47,205,999 msg/sec OptimistAtomicQueueB,11,s: 44,237,252 msg/sec OptimistAtomicQueueB,11,i: 48,176,235 msg/sec OptimistAtomicQueueB,12,s: 43,908,022 msg/sec OptimistAtomicQueueB,12,i: 54,095,296 msg/sec OptimistAtomicQueueB,13,s: 43,789,532 msg/sec OptimistAtomicQueueB,13,i: 55,949,358 msg/sec OptimistAtomicQueueB,14,s: 43,549,169 msg/sec OptimistAtomicQueueB,14,i: 56,997,418 msg/sec OptimistAtomicQueueB,15,s: 46,279,374 msg/sec OptimistAtomicQueueB,15,i: 60,434,738 msg/sec OptimistAtomicQueueB,16,s: 46,210,795 msg/sec OptimistAtomicQueueB,16,i: 65,153,960 msg/sec AtomicQueue2, 1,s: 131,822,854 msg/sec AtomicQueue2, 1,i: 121,990,778 msg/sec AtomicQueue2, 2,s: 9,967,681 msg/sec AtomicQueue2, 2,i: 10,539,333 msg/sec AtomicQueue2, 3,s: 8,406,668 msg/sec AtomicQueue2, 3,i: 8,926,949 msg/sec AtomicQueue2, 4,s: 6,676,977 msg/sec AtomicQueue2, 4,i: 7,084,149 msg/sec AtomicQueue2, 5,s: 3,141,204 msg/sec AtomicQueue2, 5,i: 4,280,914 msg/sec AtomicQueue2, 6,s: 2,570,686 msg/sec AtomicQueue2, 6,i: 3,456,910 msg/sec AtomicQueue2, 7,s: 2,900,461 msg/sec AtomicQueue2, 7,i: 3,203,954 msg/sec AtomicQueue2, 8,s: 3,003,371 msg/sec AtomicQueue2, 8,i: 2,886,053 msg/sec AtomicQueue2, 9,s: 2,715,809 msg/sec AtomicQueue2, 9,i: 2,872,376 msg/sec AtomicQueue2,10,s: 2,765,578 msg/sec AtomicQueue2,10,i: 2,889,204 msg/sec AtomicQueue2,11,s: 2,745,018 msg/sec AtomicQueue2,11,i: 2,919,355 msg/sec AtomicQueue2,12,s: 2,698,691 msg/sec AtomicQueue2,12,i: 2,833,080 msg/sec AtomicQueue2,13,s: 2,555,292 msg/sec AtomicQueue2,13,i: 2,801,150 msg/sec AtomicQueue2,14,s: 2,394,223 msg/sec AtomicQueue2,14,i: 2,755,580 msg/sec AtomicQueue2,15,s: 2,395,304 msg/sec AtomicQueue2,15,i: 2,744,119 msg/sec AtomicQueue2,16,s: 2,284,965 msg/sec AtomicQueue2,16,i: 2,710,308 msg/sec OptimistAtomicQueue2, 1,s: 107,801,593 msg/sec OptimistAtomicQueue2, 1,i: 107,412,656 msg/sec OptimistAtomicQueue2, 2,s: 43,355,911 msg/sec OptimistAtomicQueue2, 2,i: 47,893,829 msg/sec OptimistAtomicQueue2, 3,s: 54,286,876 msg/sec OptimistAtomicQueue2, 3,i: 50,053,528 msg/sec OptimistAtomicQueue2, 4,s: 59,206,287 msg/sec OptimistAtomicQueue2, 4,i: 57,912,875 msg/sec OptimistAtomicQueue2, 5,s: 31,408,130 msg/sec OptimistAtomicQueue2, 5,i: 34,300,416 msg/sec OptimistAtomicQueue2, 6,s: 32,837,360 msg/sec OptimistAtomicQueue2, 6,i: 32,479,894 msg/sec OptimistAtomicQueue2, 7,s: 37,788,537 msg/sec OptimistAtomicQueue2, 7,i: 37,759,771 msg/sec OptimistAtomicQueue2, 8,s: 48,976,802 msg/sec OptimistAtomicQueue2, 8,i: 39,781,160 msg/sec OptimistAtomicQueue2, 9,s: 37,462,780 msg/sec OptimistAtomicQueue2, 9,i: 42,176,585 msg/sec OptimistAtomicQueue2,10,s: 37,539,418 msg/sec OptimistAtomicQueue2,10,i: 43,849,489 msg/sec OptimistAtomicQueue2,11,s: 42,966,867 msg/sec OptimistAtomicQueue2,11,i: 47,783,888 msg/sec OptimistAtomicQueue2,12,s: 41,982,526 msg/sec OptimistAtomicQueue2,12,i: 52,642,946 msg/sec OptimistAtomicQueue2,13,s: 41,068,137 msg/sec OptimistAtomicQueue2,13,i: 53,249,441 msg/sec OptimistAtomicQueue2,14,s: 40,822,594 msg/sec OptimistAtomicQueue2,14,i: 53,521,971 msg/sec OptimistAtomicQueue2,15,s: 43,201,084 msg/sec OptimistAtomicQueue2,15,i: 56,810,209 msg/sec OptimistAtomicQueue2,16,s: 43,326,308 msg/sec OptimistAtomicQueue2,16,i: 58,972,605 msg/sec AtomicQueueB2, 1,s: 71,074,535 msg/sec AtomicQueueB2, 1,i: 73,230,092 msg/sec AtomicQueueB2, 2,s: 9,852,577 msg/sec AtomicQueueB2, 2,i: 10,449,912 msg/sec AtomicQueueB2, 3,s: 8,322,144 msg/sec AtomicQueueB2, 3,i: 8,828,288 msg/sec AtomicQueueB2, 4,s: 6,609,764 msg/sec AtomicQueueB2, 4,i: 6,964,873 msg/sec AtomicQueueB2, 5,s: 3,101,825 msg/sec AtomicQueueB2, 5,i: 4,316,975 msg/sec AtomicQueueB2, 6,s: 2,549,192 msg/sec AtomicQueueB2, 6,i: 3,453,733 msg/sec AtomicQueueB2, 7,s: 2,895,640 msg/sec AtomicQueueB2, 7,i: 3,181,419 msg/sec AtomicQueueB2, 8,s: 3,016,173 msg/sec AtomicQueueB2, 8,i: 2,835,896 msg/sec AtomicQueueB2, 9,s: 2,845,204 msg/sec AtomicQueueB2, 9,i: 2,843,598 msg/sec AtomicQueueB2,10,s: 2,760,827 msg/sec AtomicQueueB2,10,i: 2,874,311 msg/sec AtomicQueueB2,11,s: 2,821,338 msg/sec AtomicQueueB2,11,i: 2,889,928 msg/sec AtomicQueueB2,12,s: 2,768,645 msg/sec AtomicQueueB2,12,i: 2,863,717 msg/sec AtomicQueueB2,13,s: 2,636,663 msg/sec AtomicQueueB2,13,i: 2,826,279 msg/sec AtomicQueueB2,14,s: 2,483,673 msg/sec AtomicQueueB2,14,i: 2,772,433 msg/sec AtomicQueueB2,15,s: 2,427,528 msg/sec AtomicQueueB2,15,i: 2,824,750 msg/sec AtomicQueueB2,16,s: 2,304,032 msg/sec AtomicQueueB2,16,i: 2,747,302 msg/sec OptimistAtomicQueueB2, 1,s: 152,335,998 msg/sec OptimistAtomicQueueB2, 1,i: 155,407,879 msg/sec OptimistAtomicQueueB2, 2,s: 42,008,308 msg/sec OptimistAtomicQueueB2, 2,i: 45,904,638 msg/sec OptimistAtomicQueueB2, 3,s: 56,867,865 msg/sec OptimistAtomicQueueB2, 3,i: 53,156,805 msg/sec OptimistAtomicQueueB2, 4,s: 58,961,026 msg/sec OptimistAtomicQueueB2, 4,i: 59,994,645 msg/sec OptimistAtomicQueueB2, 5,s: 31,404,569 msg/sec OptimistAtomicQueueB2, 5,i: 32,636,816 msg/sec OptimistAtomicQueueB2, 6,s: 32,975,644 msg/sec OptimistAtomicQueueB2, 6,i: 32,305,102 msg/sec OptimistAtomicQueueB2, 7,s: 37,110,316 msg/sec OptimistAtomicQueueB2, 7,i: 37,158,136 msg/sec OptimistAtomicQueueB2, 8,s: 47,903,740 msg/sec OptimistAtomicQueueB2, 8,i: 38,994,969 msg/sec OptimistAtomicQueueB2, 9,s: 36,882,846 msg/sec OptimistAtomicQueueB2, 9,i: 41,295,166 msg/sec OptimistAtomicQueueB2,10,s: 37,291,252 msg/sec OptimistAtomicQueueB2,10,i: 43,285,200 msg/sec OptimistAtomicQueueB2,11,s: 42,441,514 msg/sec OptimistAtomicQueueB2,11,i: 47,576,246 msg/sec OptimistAtomicQueueB2,12,s: 41,814,113 msg/sec OptimistAtomicQueueB2,12,i: 51,222,349 msg/sec OptimistAtomicQueueB2,13,s: 40,908,406 msg/sec OptimistAtomicQueueB2,13,i: 52,634,872 msg/sec OptimistAtomicQueueB2,14,s: 40,862,344 msg/sec OptimistAtomicQueueB2,14,i: 53,257,969 msg/sec OptimistAtomicQueueB2,15,s: 43,110,183 msg/sec OptimistAtomicQueueB2,15,i: 56,544,495 msg/sec OptimistAtomicQueueB2,16,s: 43,314,316 msg/sec OptimistAtomicQueueB2,16,i: 59,175,422 msg/sec moodycamel::ReaderWriterQueue, 1,s: 264,896,135 msg/sec moodycamel::ReaderWriterQueue, 1,i: 126,800,895 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,226,523 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,322,622 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,494,593 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,601,069 msg/sec moodycamel::ConcurrentQueue, 3,s: 56,588,577 msg/sec moodycamel::ConcurrentQueue, 3,i: 54,016,051 msg/sec moodycamel::ConcurrentQueue, 4,s: 107,543,416 msg/sec moodycamel::ConcurrentQueue, 4,i: 86,457,049 msg/sec moodycamel::ConcurrentQueue, 5,s: 118,522,813 msg/sec moodycamel::ConcurrentQueue, 5,i: 186,458,623 msg/sec moodycamel::ConcurrentQueue, 6,s: 187,723,256 msg/sec moodycamel::ConcurrentQueue, 6,i: 215,300,969 msg/sec moodycamel::ConcurrentQueue, 7,s: 225,841,727 msg/sec moodycamel::ConcurrentQueue, 7,i: 221,655,922 msg/sec moodycamel::ConcurrentQueue, 8,s: 274,606,964 msg/sec moodycamel::ConcurrentQueue, 8,i: 230,889,347 msg/sec moodycamel::ConcurrentQueue, 9,s: 238,957,785 msg/sec moodycamel::ConcurrentQueue, 9,i: 238,637,320 msg/sec moodycamel::ConcurrentQueue,10,s: 272,261,653 msg/sec moodycamel::ConcurrentQueue,10,i: 259,590,414 msg/sec moodycamel::ConcurrentQueue,11,s: 220,848,144 msg/sec moodycamel::ConcurrentQueue,11,i: 213,154,988 msg/sec moodycamel::ConcurrentQueue,12,s: 133,988,775 msg/sec moodycamel::ConcurrentQueue,12,i: 271,173,391 msg/sec moodycamel::ConcurrentQueue,13,s: 224,589,790 msg/sec moodycamel::ConcurrentQueue,13,i: 336,748,934 msg/sec moodycamel::ConcurrentQueue,14,s: 304,409,509 msg/sec moodycamel::ConcurrentQueue,14,i: 344,089,413 msg/sec moodycamel::ConcurrentQueue,15,s: 473,711,283 msg/sec moodycamel::ConcurrentQueue,15,i: 454,533,569 msg/sec moodycamel::ConcurrentQueue,16,s: 543,074,335 msg/sec moodycamel::ConcurrentQueue,16,i: 505,851,497 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,802,583 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,823,770 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,142,255 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,148,084 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,977,783 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,079,505 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,422,922 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,632,984 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,577 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,108,208 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,789,686 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,417,455 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,658,046 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,154,246 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,786,003 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,815,447 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,701,105 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,910,193 msg/sec tbb::concurrent_bounded_queue,10,s: 2,775,002 msg/sec tbb::concurrent_bounded_queue,10,i: 2,877,392 msg/sec tbb::concurrent_bounded_queue,11,s: 2,661,280 msg/sec tbb::concurrent_bounded_queue,11,i: 2,874,019 msg/sec tbb::concurrent_bounded_queue,12,s: 2,598,675 msg/sec tbb::concurrent_bounded_queue,12,i: 2,788,763 msg/sec tbb::concurrent_bounded_queue,13,s: 2,479,909 msg/sec tbb::concurrent_bounded_queue,13,i: 2,781,604 msg/sec tbb::concurrent_bounded_queue,14,s: 2,382,116 msg/sec tbb::concurrent_bounded_queue,14,i: 2,713,395 msg/sec tbb::concurrent_bounded_queue,15,s: 2,340,781 msg/sec tbb::concurrent_bounded_queue,15,i: 2,657,452 msg/sec tbb::concurrent_bounded_queue,16,s: 2,265,730 msg/sec tbb::concurrent_bounded_queue,16,i: 2,533,887 msg/sec xenium::michael_scott_queue, 1,s: 13,444,465 msg/sec xenium::michael_scott_queue, 1,i: 13,794,290 msg/sec xenium::michael_scott_queue, 2,s: 9,450,470 msg/sec xenium::michael_scott_queue, 2,i: 9,216,462 msg/sec xenium::michael_scott_queue, 3,s: 7,654,750 msg/sec xenium::michael_scott_queue, 3,i: 7,548,793 msg/sec xenium::michael_scott_queue, 4,s: 5,865,843 msg/sec xenium::michael_scott_queue, 4,i: 5,805,034 msg/sec xenium::michael_scott_queue, 5,s: 3,628,327 msg/sec xenium::michael_scott_queue, 5,i: 4,664,258 msg/sec xenium::michael_scott_queue, 6,s: 3,318,241 msg/sec xenium::michael_scott_queue, 6,i: 3,947,597 msg/sec xenium::michael_scott_queue, 7,s: 3,168,870 msg/sec xenium::michael_scott_queue, 7,i: 3,259,822 msg/sec xenium::michael_scott_queue, 8,s: 2,383,542 msg/sec xenium::michael_scott_queue, 8,i: 2,807,208 msg/sec xenium::michael_scott_queue, 9,s: 2,890,895 msg/sec xenium::michael_scott_queue, 9,i: 2,874,897 msg/sec xenium::michael_scott_queue,10,s: 2,849,904 msg/sec xenium::michael_scott_queue,10,i: 2,835,749 msg/sec xenium::michael_scott_queue,11,s: 2,762,417 msg/sec xenium::michael_scott_queue,11,i: 2,855,825 msg/sec xenium::michael_scott_queue,12,s: 2,614,787 msg/sec xenium::michael_scott_queue,12,i: 2,782,346 msg/sec xenium::michael_scott_queue,13,s: 2,550,552 msg/sec xenium::michael_scott_queue,13,i: 2,711,854 msg/sec xenium::michael_scott_queue,14,s: 2,452,836 msg/sec xenium::michael_scott_queue,14,i: 2,655,005 msg/sec xenium::michael_scott_queue,15,s: 2,354,088 msg/sec xenium::michael_scott_queue,15,i: 2,626,298 msg/sec xenium::michael_scott_queue,16,s: 2,241,978 msg/sec xenium::michael_scott_queue,16,i: 2,525,556 msg/sec xenium::ramalhete_queue, 1,s: 80,057,507 msg/sec xenium::ramalhete_queue, 1,i: 79,085,476 msg/sec xenium::ramalhete_queue, 2,s: 42,365,431 msg/sec xenium::ramalhete_queue, 2,i: 33,771,561 msg/sec xenium::ramalhete_queue, 3,s: 41,465,511 msg/sec xenium::ramalhete_queue, 3,i: 41,719,351 msg/sec xenium::ramalhete_queue, 4,s: 51,433,459 msg/sec xenium::ramalhete_queue, 4,i: 51,414,420 msg/sec xenium::ramalhete_queue, 5,s: 37,598,300 msg/sec xenium::ramalhete_queue, 5,i: 23,156,519 msg/sec xenium::ramalhete_queue, 6,s: 39,116,293 msg/sec xenium::ramalhete_queue, 6,i: 26,348,119 msg/sec xenium::ramalhete_queue, 7,s: 40,646,961 msg/sec xenium::ramalhete_queue, 7,i: 28,054,056 msg/sec xenium::ramalhete_queue, 8,s: 50,571,259 msg/sec xenium::ramalhete_queue, 8,i: 29,680,215 msg/sec xenium::ramalhete_queue, 9,s: 33,308,273 msg/sec xenium::ramalhete_queue, 9,i: 35,238,019 msg/sec xenium::ramalhete_queue,10,s: 36,458,610 msg/sec xenium::ramalhete_queue,10,i: 39,391,697 msg/sec xenium::ramalhete_queue,11,s: 36,855,475 msg/sec xenium::ramalhete_queue,11,i: 40,872,594 msg/sec xenium::ramalhete_queue,12,s: 37,483,126 msg/sec xenium::ramalhete_queue,12,i: 41,223,245 msg/sec xenium::ramalhete_queue,13,s: 38,070,147 msg/sec xenium::ramalhete_queue,13,i: 42,722,381 msg/sec xenium::ramalhete_queue,14,s: 39,820,652 msg/sec xenium::ramalhete_queue,14,i: 42,891,140 msg/sec xenium::ramalhete_queue,15,s: 39,300,465 msg/sec xenium::ramalhete_queue,15,i: 43,833,986 msg/sec xenium::ramalhete_queue,16,s: 38,156,233 msg/sec xenium::ramalhete_queue,16,i: 44,593,817 msg/sec xenium::vyukov_bounded_queue, 1,s: 309,574,545 msg/sec xenium::vyukov_bounded_queue, 1,i: 314,562,233 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,792,015 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,303,542 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,487,252 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,280,876 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,132,166 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,644,172 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,992,524 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,275,641 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,120,343 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,459,467 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,223,233 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,523,176 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,388,765 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,548,111 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,837,302 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,661,989 msg/sec xenium::vyukov_bounded_queue,10,s: 7,700,873 msg/sec xenium::vyukov_bounded_queue,10,i: 6,834,326 msg/sec xenium::vyukov_bounded_queue,11,s: 7,705,599 msg/sec xenium::vyukov_bounded_queue,11,i: 7,202,718 msg/sec xenium::vyukov_bounded_queue,12,s: 7,619,852 msg/sec xenium::vyukov_bounded_queue,12,i: 7,318,664 msg/sec xenium::vyukov_bounded_queue,13,s: 7,014,384 msg/sec xenium::vyukov_bounded_queue,13,i: 7,309,513 msg/sec xenium::vyukov_bounded_queue,14,s: 7,022,960 msg/sec xenium::vyukov_bounded_queue,14,i: 7,454,970 msg/sec xenium::vyukov_bounded_queue,15,s: 7,085,112 msg/sec xenium::vyukov_bounded_queue,15,i: 7,246,834 msg/sec xenium::vyukov_bounded_queue,16,s: 6,896,458 msg/sec xenium::vyukov_bounded_queue,16,i: 7,064,144 msg/sec boost::lockfree::queue, 1,s: 7,796,268 msg/sec boost::lockfree::queue, 1,i: 7,820,605 msg/sec boost::lockfree::queue, 2,s: 5,834,319 msg/sec boost::lockfree::queue, 2,i: 5,923,927 msg/sec boost::lockfree::queue, 3,s: 4,953,260 msg/sec boost::lockfree::queue, 3,i: 4,816,160 msg/sec boost::lockfree::queue, 4,s: 4,374,432 msg/sec boost::lockfree::queue, 4,i: 4,344,305 msg/sec boost::lockfree::queue, 5,s: 2,662,776 msg/sec boost::lockfree::queue, 5,i: 2,639,465 msg/sec boost::lockfree::queue, 6,s: 1,428,038 msg/sec boost::lockfree::queue, 6,i: 2,993,524 msg/sec boost::lockfree::queue, 7,s: 1,383,814 msg/sec boost::lockfree::queue, 7,i: 2,873,684 msg/sec boost::lockfree::queue, 8,s: 1,158,337 msg/sec boost::lockfree::queue, 8,i: 1,944,357 msg/sec boost::lockfree::queue, 9,s: 1,427,609 msg/sec boopthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. st::lockfree::queue, 9,i: 1,878,606 msg/sec boost::lockfree::queue,10,s: 1,562,618 msg/sec boost::lockfree::queue,10,i: 1,971,215 msg/sec boost::lockfree::queue,11,s: 1,719,124 msg/sec boost::lockfree::queue,11,i: 1,962,823 msg/sec boost::lockfree::queue,12,s: 1,750,654 msg/sec boost::lockfree::queue,12,i: 1,934,134 msg/sec boost::lockfree::queue,13,s: 1,648,823 msg/sec boost::lockfree::queue,13,i: 1,684,894 msg/sec boost::lockfree::queue,14,s: 1,559,991 msg/sec boost::lockfree::queue,14,i: 1,670,713 msg/sec boost::lockfree::queue,15,s: 1,557,460 msg/sec boost::lockfree::queue,15,i: 1,593,956 msg/sec boost::lockfree::queue,16,s: 1,527,440 msg/sec boost::lockfree::queue,16,i: 1,495,511 msg/sec std::mutex, 1,s: 4,879,664 msg/sec std::mutex, 1,i: 4,593,790 msg/sec std::mutex, 2,s: 12,483,994 msg/sec std::mutex, 2,i: 12,435,817 msg/sec std::mutex, 3,s: 6,982,501 msg/sec std::mutex, 3,i: 6,755,943 msg/sec std::mutex, 4,s: 7,085,017 msg/sec std::mutex, 4,i: 6,678,081 msg/sec std::mutex, 5,s: 3,295,486 msg/sec std::mutex, 5,i: 3,374,272 msg/sec std::mutex, 6,s: 3,014,198 msg/sec std::mutex, 6,i: 2,983,442 msg/sec std::mutex, 7,s: 3,235,232 msg/sec std::mutex, 7,i: 2,920,257 msg/sec std::mutex, 8,s: 3,420,017 msg/sec std::mutex, 8,i: 2,803,139 msg/sec std::mutex, 9,s: 2,895,579 msg/sec std::mutex, 9,i: 2,765,376 msg/sec std::mutex,10,s: 2,621,773 msg/sec std::mutex,10,i: 2,693,404 msg/sec std::mutex,11,s: 2,655,659 msg/sec std::mutex,11,i: 2,710,220 msg/sec std::mutex,12,s: 2,590,453 msg/sec std::mutex,12,i: 2,620,948 msg/sec std::mutex,13,s: 2,508,868 msg/sec std::mutex,13,i: 2,385,582 msg/sec std::mutex,14,s: 2,424,944 msg/sec std::mutex,14,i: 2,337,790 msg/sec std::mutex,15,s: 2,456,553 msg/sec std::mutex,15,i: 2,389,087 msg/sec std::mutex,16,s: 2,351,681 msg/sec std::mutex,16,i: 2,295,854 msg/sec pthread_spinlock, 1,s: 17,921,413 msg/sec pthread_spinlock, 1,i: 17,904,254 msg/sec pthread_spinlock, 2,s: 7,305,081 msg/sec pthread_spinlock, 2,i: 1,456,851 msg/sec pthread_spinlock, 3,s: 847,966 msg/sec pthread_spinlock, 3,i: 5,611,917 msg/sec pthread_spinlock, 4,s: 1,761,844 msg/sec pthread_spinlock, 4,i: 833,228 msg/sec pthread_spinlock, 5,s: 2,779,467 msg/sec pthread_spinlock, 5,i: 3,727,482 msg/sec pthread_spinlock, 6,s: 1,970,785 msg/sec pthread_spinlock, 6,i: 3,087,249 msg/sec pthread_spinlock, 7,s: 2,886,082 msg/sec pthread_spinlock, 7,i: 3,057,230 msg/sec pthread_spinlock, 8,s: 2,984,013 msg/sec pthread_spinlock, 8,i: 2,670,517 msg/sec pthread_spinlock, 9,s: 2,761,835 msg/sec pthread_spinlock, 9,i: 2,338,996 msg/sec pthread_spinlock,10,s: 2,776,361 msg/sec pthread_spinlock,10,i: 2,187,809 msg/sec pthread_spinlock,11,s: 2,633,804 msg/sec pthread_spinlock,11,i: 2,353,110 msg/sec pthread_spinlock,12,s: 2,524,433 msg/sec pthread_spinlock,12,i: 2,121,367 msg/sec pthread_spinlock,13,s: 2,314,742 msg/sec pthread_spinlock,13,i: 1,989,665 msg/sec pthread_spinlock,14,s: 2,156,653 msg/sec pthread_spinlock,14,i: 1,969,320 msg/sec pthread_spinlock,15,s: 2,044,637 msg/sec pthread_spinlock,15,i: 1,916,981 msg/sec pthread_spinlock,16,s: 1,803,390 msg/sec pthread_spinlock,16,i: 1,602,034 msg/sec tbb::spin_mutex, 1,s: 37,677,785 msg/sec tbb::spin_mutex, 1,i: 37,688,960 msg/sec tbb::spin_mutex, 2,s: 16,523,453 msg/sec tbb::spin_mutex, 2,i: 16,106,264 msg/sec tbb::spin_mutex, 3,s: 12,047,037 msg/sec tbb::spin_mutex, 3,i: 11,908,217 msg/sec tbb::spin_mutex, 4,s: 10,567,312 msg/sec tbb::spin_mutex, 4,i: 9,977,891 msg/sec tbb::spin_mutex, 5,s: 5,925,007 msg/sec tbb::spin_mutex, 5,i: 5,642,300 msg/sec tbb::spin_mutex, 6,s: 5,112,717 msg/sec tbb::spin_mutex, 6,i: 4,743,445 msg/sec tbb::spin_mutex, 7,s: 4,371,672 msg/sec tbb::spin_mutex, 7,i: 4,901,268 msg/sec tbb::spin_mutex, 8,s: 4,315,665 msg/sec tbb::spin_mutex, 8,i: 4,054,312 msg/sec tbb::spin_mutex, 9,s: 4,662,243 msg/sec tbb::spin_mutex, 9,i: 4,246,704 msg/sec tbb::spin_mutex,10,s: 4,318,959 msg/sec tbb::spin_mutex,10,i: 4,210,616 msg/sec tbb::spin_mutex,11,s: 4,148,308 msg/sec tbb::spin_mutex,11,i: 4,159,272 msg/sec tbb::spin_mutex,12,s: 3,705,922 msg/sec tbb::spin_mutex,12,i: 3,482,307 msg/sec tbb::spin_mutex,13,s: 3,428,094 msg/sec tbb::spin_mutex,13,i: 3,360,493 msg/sec tbb::spin_mutex,14,s: 3,350,151 msg/sec tbb::spin_mutex,14,i: 3,279,915 msg/sec tbb::spin_mutex,15,s: 3,182,736 msg/sec tbb::spin_mutex,15,i: 3,058,805 msg/sec tbb::spin_mutex,16,s: 2,869,371 msg/sec tbb::spin_mutex,16,i: 3,010,954 msg/sec Elapsed time 6:11.99, user 5615.14s, system 602.59s, CPU 1671%, RSS 92908kB, exit-status 0. 2026-09-14 12:44:30 [5/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000043 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000329 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,426,685 msg/sec boost::lockfree::spsc_queue, 1,i: 112,884,368 msg/sec AtomicQueue, 1,s: 146,413,545 msg/sec AtomicQueue, 1,i: 115,118,153 msg/sec AtomicQueue, 2,s: 9,878,434 msg/sec AtomicQueue, 2,i: 10,327,009 msg/sec AtomicQueue, 3,s: 8,367,547 msg/sec AtomicQueue, 3,i: 8,826,238 msg/sec AtomicQueue, 4,s: 6,604,354 msg/sec AtomicQueue, 4,i: 7,002,410 msg/sec AtomicQueue, 5,s: 3,161,390 msg/sec AtomicQueue, 5,i: 4,316,490 msg/sec AtomicQueue, 6,s: 2,596,742 msg/sec AtomicQueue, 6,i: 4,024,069 msg/sec AtomicQueue, 7,s: 2,969,858 msg/sec AtomicQueue, 7,i: 3,211,165 msg/sec AtomicQueue, 8,s: 3,121,314 msg/sec AtomicQueue, 8,i: 2,892,023 msg/sec AtomicQueue, 9,s: 2,784,270 msg/sec AtomicQueue, 9,i: 2,948,598 msg/sec AtomicQueue,10,s: 2,810,902 msg/sec AtomicQueue,10,i: 2,909,147 msg/sec AtomicQueue,11,s: 2,789,185 msg/sec AtomicQueue,11,i: 2,916,979 msg/sec AtomicQueue,12,s: 2,653,457 msg/sec AtomicQueue,12,i: 2,868,658 msg/sec AtomicQueue,13,s: 2,515,982 msg/sec AtomicQueue,13,i: 2,828,570 msg/sec AtomicQueue,14,s: 2,367,922 msg/sec AtomicQueue,14,i: 2,773,977 msg/sec AtomicQueue,15,s: 2,368,084 msg/sec AtomicQueue,15,i: 2,752,714 msg/sec AtomicQueue,16,s: 2,258,249 msg/sec AtomicQueue,16,i: 2,740,531 msg/sec OptimistAtomicQueue, 1,s: 1,193,949,164 msg/sec OptimistAtomicQueue, 1,i: 1,193,051,790 msg/sec OptimistAtomicQueue, 2,s: 58,485,065 msg/sec OptimistAtomicQueue, 2,i: 52,607,106 msg/sec OptimistAtomicQueue, 3,s: 58,749,021 msg/sec OptimistAtomicQueue, 3,i: 59,298,809 msg/sec OptimistAtomicQueue, 4,s: 59,276,476 msg/sec OptimistAtomicQueue, 4,i: 65,279,512 msg/sec OptimistAtomicQueue, 5,s: 33,104,421 msg/sec OptimistAtomicQueue, 5,i: 47,136,044 msg/sec OptimistAtomicQueue, 6,s: 34,597,797 msg/sec OptimistAtomicQueue, 6,i: 35,162,154 msg/sec OptimistAtomicQueue, 7,s: 40,034,394 msg/sec OptimistAtomicQueue, 7,i: 40,138,648 msg/sec OptimistAtomicQueue, 8,s: 50,484,814 msg/sec OptimistAtomicQueue, 8,i: 41,193,437 msg/sec OptimistAtomicQueue, 9,s: 41,083,410 msg/sec OptimistAtomicQueue, 9,i: 45,709,576 msg/sec OptimistAtomicQueue,10,s: 39,951,961 msg/sec OptimistAtomicQueue,10,i: 46,164,269 msg/sec OptimistAtomicQueue,11,s: 44,283,227 msg/sec OptimistAtomicQueue,11,i: 53,387,435 msg/sec OptimistAtomicQueue,12,s: 43,368,141 msg/sec OptimistAtomicQueue,12,i: 57,396,966 msg/sec OptimistAtomicQueue,13,s: 43,367,863 msg/sec OptimistAtomicQueue,13,i: 63,529,853 msg/sec OptimistAtomicQueue,14,s: 43,279,128 msg/sec OptimistAtomicQueue,14,i: 57,225,599 msg/sec OptimistAtomicQueue,15,s: 45,799,812 msg/sec OptimistAtomicQueue,15,i: 60,316,636 msg/sec OptimistAtomicQueue,16,s: 45,850,169 msg/sec OptimistAtomicQueue,16,i: 64,728,487 msg/sec AtomicQueueB, 1,s: 50,070,219 msg/sec AtomicQueueB, 1,i: 49,966,470 msg/sec AtomicQueueB, 2,s: 9,781,851 msg/sec AtomicQueueB, 2,i: 10,101,014 msg/sec AtomicQueueB, 3,s: 8,183,198 msg/sec AtomicQueueB, 3,i: 8,428,553 msg/sec AtomicQueueB, 4,s: 6,551,965 msg/sec AtomicQueueB, 4,i: 6,906,250 msg/sec AtomicQueueB, 5,s: 3,126,393 msg/sec AtomicQueueB, 5,i: 4,316,802 msg/sec AtomicQueueB, 6,s: 2,576,355 msg/sec AtomicQueueB, 6,i: 3,967,440 msg/sec AtomicQueueB, 7,s: 2,918,879 msg/sec AtomicQueueB, 7,i: 3,210,381 msg/sec AtomicQueueB, 8,s: 3,052,448 msg/sec AtomicQueueB, 8,i: 2,859,235 msg/sec AtomicQueueB, 9,s: 2,757,171 msg/sec AtomicQueueB, 9,i: 2,889,204 msg/sec AtomicQueueB,10,s: 2,786,772 msg/sec AtomicQueueB,10,i: 2,893,209 msg/sec AtomicQueueB,11,s: 2,745,840 msg/sec AtomicQueueB,11,i: 2,940,451 msg/sec AtomicQueueB,12,s: 2,672,083 msg/sec AtomicQueueB,12,i: 2,845,508 msg/sec AtomicQueueB,13,s: 2,535,208 msg/sec AtomicQueueB,13,i: 2,810,277 msg/sec AtomicQueueB,14,s: 2,386,351 msg/sec AtomicQueueB,14,i: 2,763,779 msg/sec AtomicQueueB,15,s: 2,383,534 msg/sec AtomicQueueB,15,i: 2,771,992 msg/sec AtomicQueueB,16,s: 2,277,369 msg/sec AtomicQueueB,16,i: 2,731,776 msg/sec OptimistAtomicQueueB, 1,s: 509,231,053 msg/sec OptimistAtomicQueueB, 1,i: 515,781,408 msg/sec OptimistAtomicQueueB, 2,s: 47,540,487 msg/sec OptimistAtomicQueueB, 2,i: 49,464,803 msg/sec OptimistAtomicQueueB, 3,s: 58,489,561 msg/sec OptimistAtomicQueueB, 3,i: 57,681,234 msg/sec OptimistAtomicQueueB, 4,s: 59,611,270 msg/sec OptimistAtomicQueueB, 4,i: 66,074,912 msg/sec OptimistAtomicQueueB, 5,s: 33,059,616 msg/sec OptimistAtomicQueueB, 5,i: 39,805,212 msg/sec OptimistAtomicQueueB, 6,s: 34,322,546 msg/sec OptimistAtomicQueueB, 6,i: 34,895,145 msg/sec OptimistAtomicQueueB, 7,s: 39,343,967 msg/sec OptimistAtomicQueueB, 7,i: 40,045,263 msg/sec OptimistAtomicQueueB, 8,s: 51,469,593 msg/sec OptimistAtomicQueueB, 8,i: 41,187,397 msg/sec OptimistAtomicQueueB, 9,s: 40,793,800 msg/sec OptimistAtomicQueueB, 9,i: 45,654,298 msg/sec OptimistAtomicQueueB,10,s: 39,992,495 msg/sec OptimistAtomicQueueB,10,i: 47,341,402 msg/sec OptimistAtomicQueueB,11,s: 44,303,415 msg/sec OptimistAtomicQueueB,11,i: 52,471,577 msg/sec OptimistAtomicQueueB,12,s: 43,769,444 msg/sec OptimistAtomicQueueB,12,i: 57,186,575 msg/sec OptimistAtomicQueueB,13,s: 43,785,046 msg/sec OptimistAtomicQueueB,13,i: 57,005,655 msg/sec OptimistAtomicQueueB,14,s: 43,786,010 msg/sec OptimistAtomicQueueB,14,i: 55,684,092 msg/sec OptimistAtomicQueueB,15,s: 46,223,906 msg/sec OptimistAtomicQueueB,15,i: 60,112,042 msg/sec OptimistAtomicQueueB,16,s: 46,181,708 msg/sec OptimistAtomicQueueB,16,i: 64,736,993 msg/sec AtomicQueue2, 1,s: 132,801,955 msg/sec AtomicQueue2, 1,i: 134,426,451 msg/sec AtomicQueue2, 2,s: 9,968,176 msg/sec AtomicQueue2, 2,i: 10,530,391 msg/sec AtomicQueue2, 3,s: 8,417,891 msg/sec AtomicQueue2, 3,i: 8,887,759 msg/sec AtomicQueue2, 4,s: 6,678,807 msg/sec AtomicQueue2, 4,i: 7,086,773 msg/sec AtomicQueue2, 5,s: 3,128,816 msg/sec AtomicQueue2, 5,i: 3,719,679 msg/sec AtomicQueue2, 6,s: 2,564,493 msg/sec AtomicQueue2, 6,i: 3,474,972 msg/sec AtomicQueue2, 7,s: 2,903,347 msg/sec AtomicQueue2, 7,i: 3,228,340 msg/sec AtomicQueue2, 8,s: 3,018,877 msg/sec AtomicQueue2, 8,i: 2,883,267 msg/sec AtomicQueue2, 9,s: 2,865,876 msg/sec AtomicQueue2, 9,i: 2,911,628 msg/sec AtomicQueue2,10,s: 2,779,853 msg/sec AtomicQueue2,10,i: 2,898,937 msg/sec AtomicQueue2,11,s: 2,746,369 msg/sec AtomicQueue2,11,i: 2,934,458 msg/sec AtomicQueue2,12,s: 2,699,287 msg/sec AtomicQueue2,12,i: 2,837,125 msg/sec AtomicQueue2,13,s: 2,575,323 msg/sec AtomicQueue2,13,i: 2,802,121 msg/sec AtomicQueue2,14,s: 2,395,007 msg/sec AtomicQueue2,14,i: 2,750,992 msg/sec AtomicQueue2,15,s: 2,391,735 msg/sec AtomicQueue2,15,i: 2,741,197 msg/sec AtomicQueue2,16,s: 2,287,427 msg/sec AtomicQueue2,16,i: 2,709,834 msg/sec OptimistAtomicQueue2, 1,s: 107,791,019 msg/sec OptimistAtomicQueue2, 1,i: 106,957,834 msg/sec OptimistAtomicQueue2, 2,s: 43,433,644 msg/sec OptimistAtomicQueue2, 2,i: 48,789,657 msg/sec OptimistAtomicQueue2, 3,s: 54,786,375 msg/sec OptimistAtomicQueue2, 3,i: 50,031,241 msg/sec OptimistAtomicQueue2, 4,s: 59,229,466 msg/sec OptimistAtomicQueue2, 4,i: 57,964,301 msg/sec OptimistAtomicQueue2, 5,s: 31,442,594 msg/sec OptimistAtomicQueue2, 5,i: 34,454,946 msg/sec OptimistAtomicQueue2, 6,s: 32,877,639 msg/sec OptimistAtomicQueue2, 6,i: 32,462,760 msg/sec OptimistAtomicQueue2, 7,s: 37,840,671 msg/sec OptimistAtomicQueue2, 7,i: 37,755,210 msg/sec OptimistAtomicQueue2, 8,s: 49,044,201 msg/sec OptimistAtomicQueue2, 8,i: 39,850,975 msg/sec OptimistAtomicQueue2, 9,s: 37,710,481 msg/sec OptimistAtomicQueue2, 9,i: 42,264,481 msg/sec OptimistAtomicQueue2,10,s: 37,525,937 msg/sec OptimistAtomicQueue2,10,i: 44,234,305 msg/sec OptimistAtomicQueue2,11,s: 42,621,368 msg/sec OptimistAtomicQueue2,11,i: 47,849,758 msg/sec OptimistAtomicQueue2,12,s: 42,136,281 msg/sec OptimistAtomicQueue2,12,i: 52,810,915 msg/sec OptimistAtomicQueue2,13,s: 41,099,125 msg/sec OptimistAtomicQueue2,13,i: 52,016,573 msg/sec OptimistAtomicQueue2,14,s: 40,912,713 msg/sec OptimistAtomicQueue2,14,i: 52,786,669 msg/sec OptimistAtomicQueue2,15,s: 43,344,778 msg/sec OptimistAtomicQueue2,15,i: 56,673,090 msg/sec OptimistAtomicQueue2,16,s: 43,307,714 msg/sec OptimistAtomicQueue2,16,i: 58,994,278 msg/sec AtomicQueueB2, 1,s: 83,545,012 msg/sec AtomicQueueB2, 1,i: 73,665,798 msg/sec AtomicQueueB2, 2,s: 9,855,949 msg/sec AtomicQueueB2, 2,i: 10,452,981 msg/sec AtomicQueueB2, 3,s: 8,305,259 msg/sec AtomicQueueB2, 3,i: 8,843,654 msg/sec AtomicQueueB2, 4,s: 6,617,878 msg/sec AtomicQueueB2, 4,i: 6,983,670 msg/sec AtomicQueueB2, 5,s: 3,095,678 msg/sec AtomicQueueB2, 5,i: 4,323,800 msg/sec AtomicQueueB2, 6,s: 2,555,087 msg/sec AtomicQueueB2, 6,i: 3,978,316 msg/sec AtomicQueueB2, 7,s: 2,900,591 msg/sec AtomicQueueB2, 7,i: 3,181,490 msg/sec AtomicQueueB2, 8,s: 3,009,433 msg/sec AtomicQueueB2, 8,i: 2,838,564 msg/sec AtomicQueueB2, 9,s: 2,707,031 msg/sec AtomicQueueB2, 9,i: 2,880,883 msg/sec AtomicQueueB2,10,s: 2,764,759 msg/sec AtomicQueueB2,10,i: 2,852,341 msg/sec AtomicQueueB2,11,s: 2,824,083 msg/sec AtomicQueueB2,11,i: 2,886,163 msg/sec AtomicQueueB2,12,s: 2,758,851 msg/sec AtomicQueueB2,12,i: 2,850,695 msg/sec AtomicQueueB2,13,s: 2,620,263 msg/sec AtomicQueueB2,13,i: 2,831,977 msg/sec AtomicQueueB2,14,s: 2,469,210 msg/sec AtomicQueueB2,14,i: 2,771,500 msg/sec AtomicQueueB2,15,s: 2,423,558 msg/sec AtomicQueueB2,15,i: 2,750,608 msg/sec AtomicQueueB2,16,s: 2,305,420 msg/sec AtomicQueueB2,16,i: 2,747,560 msg/sec OptimistAtomicQueueB2, 1,s: 153,776,403 msg/sec OptimistAtomicQueueB2, 1,i: 152,854,780 msg/sec OptimistAtomicQueueB2, 2,s: 42,122,792 msg/sec OptimistAtomicQueueB2, 2,i: 45,823,507 msg/sec OptimistAtomicQueueB2, 3,s: 56,960,796 msg/sec OptimistAtomicQueueB2, 3,i: 53,205,789 msg/sec OptimistAtomicQueueB2, 4,s: 59,031,052 msg/sec OptimistAtomicQueueB2, 4,i: 59,854,530 msg/sec OptimistAtomicQueueB2, 5,s: 31,364,294 msg/sec OptimistAtomicQueueB2, 5,i: 31,315,236 msg/sec OptimistAtomicQueueB2, 6,s: 32,905,669 msg/sec OptimistAtomicQueueB2, 6,i: 32,431,167 msg/sec OptimistAtomicQueueB2, 7,s: 37,320,297 msg/sec OptimistAtomicQueueB2, 7,i: 37,029,928 msg/sec OptimistAtomicQueueB2, 8,s: 47,865,793 msg/sec OptimistAtomicQueueB2, 8,i: 38,940,943 msg/sec OptimistAtomicQueueB2, 9,s: 37,421,173 msg/sec OptimistAtomicQueueB2, 9,i: 41,603,679 msg/sec OptimistAtomicQueueB2,10,s: 37,330,884 msg/sec OptimistAtomicQueueB2,10,i: 43,409,078 msg/sec OptimistAtomicQueueB2,11,s: 42,672,200 msg/sec OptimistAtomicQueueB2,11,i: 47,246,237 msg/sec OptimistAtomicQueueB2,12,s: 41,755,834 msg/sec OptimistAtomicQueueB2,12,i: 51,040,887 msg/sec OptimistAtomicQueueB2,13,s: 40,892,899 msg/sec OptimistAtomicQueueB2,13,i: 52,185,844 msg/sec OptimistAtomicQueueB2,14,s: 40,732,357 msg/sec OptimistAtomicQueueB2,14,i: 52,574,979 msg/sec OptimistAtomicQueueB2,15,s: 43,093,649 msg/sec OptimistAtomicQueueB2,15,i: 56,418,234 msg/sec OptimistAtomicQueueB2,16,s: 43,220,173 msg/sec OptimistAtomicQueueB2,16,i: 59,190,728 msg/sec moodycamel::ReaderWriterQueue, 1,s: 605,549,061 msg/sec moodycamel::ReaderWriterQueue, 1,i: 218,668,986 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,856,596 msg/sec moodycamel::ConcurrentQueue, 1,i: 15,967,613 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,479,132 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,655,235 msg/sec moodycamel::ConcurrentQueue, 3,s: 64,824,702 msg/sec moodycamel::ConcurrentQueue, 3,i: 61,769,669 msg/sec moodycamel::ConcurrentQueue, 4,s: 95,414,411 msg/sec moodycamel::ConcurrentQueue, 4,i: 90,162,300 msg/sec moodycamel::ConcurrentQueue, 5,s: 101,847,248 msg/sec moodycamel::ConcurrentQueue, 5,i: 181,926,464 msg/sec moodycamel::ConcurrentQueue, 6,s: 197,669,925 msg/sec moodycamel::ConcurrentQueue, 6,i: 218,376,234 msg/sec moodycamel::ConcurrentQueue, 7,s: 209,846,490 msg/sec moodycamel::ConcurrentQueue, 7,i: 233,281,066 msg/sec moodycamel::ConcurrentQueue, 8,s: 275,193,371 msg/sec moodycamel::ConcurrentQueue, 8,i: 237,437,631 msg/sec moodycamel::ConcurrentQueue, 9,s: 279,652,891 msg/sec moodycamel::ConcurrentQueue, 9,i: 249,104,115 msg/sec moodycamel::ConcurrentQueue,10,s: 284,872,535 msg/sec moodycamel::ConcurrentQueue,10,i: 251,845,457 msg/sec moodycamel::ConcurrentQueue,11,s: 218,190,731 msg/sec moodycamel::ConcurrentQueue,11,i: 185,056,161 msg/sec moodycamel::ConcurrentQueue,12,s: 159,031,713 msg/sec moodycamel::ConcurrentQueue,12,i: 227,019,308 msg/sec moodycamel::ConcurrentQueue,13,s: 231,485,369 msg/sec moodycamel::ConcurrentQueue,13,i: 321,835,658 msg/sec moodycamel::ConcurrentQueue,14,s: 301,946,262 msg/sec moodycamel::ConcurrentQueue,14,i: 321,298,110 msg/sec moodycamel::ConcurrentQueue,15,s: 423,890,056 msg/sec moodycamel::ConcurrentQueue,15,i: 391,971,489 msg/sec moodycamel::ConcurrentQueue,16,s: 539,211,986 msg/sec moodycamel::ConcurrentQueue,16,i: 494,992,274 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,813,868 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,827,452 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,126,453 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,090,213 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,981,164 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,089,595 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,428,539 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,628,372 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,068,718 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,110,357 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,799,002 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,422,913 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,668,466 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,163,317 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,782,471 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,812,017 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,623,177 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,912,451 msg/sec tbb::concurrent_bounded_queue,10,s: 2,770,839 msg/sec tbb::concurrent_bounded_queue,10,i: 2,866,202 msg/sec tbb::concurrent_bounded_queue,11,s: 2,668,496 msg/sec tbb::concurrent_bounded_queue,11,i: 2,816,794 msg/sec tbb::concurrent_bounded_queue,12,s: 2,553,533 msg/sec tbb::concurrent_bounded_queue,12,i: 2,791,056 msg/sec tbb::concurrent_bounded_queue,13,s: 2,481,687 msg/sec tbb::concurrent_bounded_queue,13,i: 2,765,539 msg/sec tbb::concurrent_bounded_queue,14,s: 2,389,215 msg/sec tbb::concurrent_bounded_queue,14,i: 2,692,983 msg/sec tbb::concurrent_bounded_queue,15,s: 2,348,185 msg/sec tbb::concurrent_bounded_queue,15,i: 2,657,658 msg/sec tbb::concurrent_bounded_queue,16,s: 2,264,443 msg/sec tbb::concurrent_bounded_queue,16,i: 2,533,684 msg/sec xenium::michael_scott_queue, 1,s: 13,362,558 msg/sec xenium::michael_scott_queue, 1,i: 13,695,773 msg/sec xenium::michael_scott_queue, 2,s: 9,409,285 msg/sec xenium::michael_scott_queue, 2,i: 9,186,382 msg/sec xenium::michael_scott_queue, 3,s: 7,652,617 msg/sec xenium::michael_scott_queue, 3,i: 7,549,331 msg/sec xenium::michael_scott_queue, 4,s: 5,852,925 msg/sec xenium::michael_scott_queue, 4,i: 5,859,391 msg/sec xenium::michael_scott_queue, 5,s: 3,622,319 msg/sec xenium::michael_scott_queue, 5,i: 3,931,951 msg/sec xenium::michael_scott_queue, 6,s: 3,341,994 msg/sec xenium::michael_scott_queue, 6,i: 3,594,426 msg/sec xenium::michael_scott_queue, 7,s: 3,176,309 msg/sec xenium::michael_scott_queue, 7,i: 3,337,963 msg/sec xenium::michael_scott_queue, 8,s: 2,351,551 msg/sec xenium::michael_scott_queue, 8,i: 2,786,401 msg/sec xenium::michael_scott_queue, 9,s: 2,869,121 msg/sec xenium::michael_scott_queue, 9,i: 2,856,466 msg/sec xenium::michael_scott_queue,10,s: 2,835,100 msg/sec xenium::michael_scott_queue,10,i: 2,870,445 msg/sec xenium::michael_scott_queue,11,s: 2,734,490 msg/sec xenium::michael_scott_queue,11,i: 2,860,232 msg/sec xenium::michael_scott_queue,12,s: 2,575,402 msg/sec xenium::michael_scott_queue,12,i: 2,722,619 msg/sec xenium::michael_scott_queue,13,s: 2,515,497 msg/sec xenium::michael_scott_queue,13,i: 2,644,459 msg/sec xenium::michael_scott_queue,14,s: 2,398,148 msg/sec xenium::michael_scott_queue,14,i: 2,641,918 msg/sec xenium::michael_scott_queue,15,s: 2,318,357 msg/sec xenium::michael_scott_queue,15,i: 2,600,828 msg/sec xenium::michael_scott_queue,16,s: 2,207,371 msg/sec xenium::michael_scott_queue,16,i: 2,500,872 msg/sec xenium::ramalhete_queue, 1,s: 70,834,445 msg/sec xenium::ramalhete_queue, 1,i: 71,341,238 msg/sec xenium::ramalhete_queue, 2,s: 52,789,222 msg/sec xenium::ramalhete_queue, 2,i: 33,926,762 msg/sec xenium::ramalhete_queue, 3,s: 43,950,656 msg/sec xenium::ramalhete_queue, 3,i: 41,822,606 msg/sec xenium::ramalhete_queue, 4,s: 52,010,809 msg/sec xenium::ramalhete_queue, 4,i: 45,673,387 msg/sec xenium::ramalhete_queue, 5,s: 37,556,025 msg/sec xenium::ramalhete_queue, 5,i: 23,431,634 msg/sec xenium::ramalhete_queue, 6,s: 38,847,761 msg/sec xenium::ramalhete_queue, 6,i: 26,492,242 msg/sec xenium::ramalhete_queue, 7,s: 40,399,356 msg/sec xenium::ramalhete_queue, 7,i: 28,338,139 msg/sec xenium::ramalhete_queue, 8,s: 50,593,211 msg/sec xenium::ramalhete_queue, 8,i: 29,356,567 msg/sec xenium::ramalhete_queue, 9,s: 33,131,930 msg/sec xenium::ramalhete_queue, 9,i: 35,000,264 msg/sec xenium::ramalhete_queue,10,s: 34,903,673 msg/sec xenium::ramalhete_queue,10,i: 40,671,994 msg/sec xenium::ramalhete_queue,11,s: 36,445,288 msg/sec xenium::ramalhete_queue,11,i: 41,582,518 msg/sec xenium::ramalhete_queue,12,s: 37,435,237 msg/sec xenium::ramalhete_queue,12,i: 43,794,401 msg/sec xenium::ramalhete_queue,13,s: 39,406,745 msg/sec xenium::ramalhete_queue,13,i: 42,379,656 msg/sec xenium::ramalhete_queue,14,s: 39,748,509 msg/sec xenium::ramalhete_queue,14,i: 42,133,516 msg/sec xenium::ramalhete_queue,15,s: 38,125,076 msg/sec xenium::ramalhete_queue,15,i: 44,045,855 msg/sec xenium::ramalhete_queue,16,s: 39,521,922 msg/sec xenium::ramalhete_queue,16,i: 44,301,990 msg/sec xenium::vyukov_bounded_queue, 1,s: 311,717,748 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,289,194 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,440,818 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,828,600 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,606,515 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,249,606 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,343,010 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,636,644 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,032,609 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,589,072 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,098,453 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,902,104 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,152,006 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,478,407 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,268,218 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,546,634 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,809,972 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,637,336 msg/sec xenium::vyukov_bounded_queue,10,s: 7,636,754 msg/sec xenium::vyukov_bounded_queue,10,i: 6,840,894 msg/sec xenium::vyukov_bounded_queue,11,s: 7,293,927 msg/sec xenium::vyukov_bounded_queue,11,i: 7,191,520 msg/sec xenium::vyukov_bounded_queue,12,s: 7,554,014 msg/sec xenium::vyukov_bounded_queue,12,i: 7,368,120 msg/sec xenium::vyukov_bounded_queue,13,s: 6,948,584 msg/sec xenium::vyukov_bounded_queue,13,i: 7,398,778 msg/sec xenium::vyukov_bounded_queue,14,s: 7,076,299 msg/sec xenium::vyukov_bounded_queue,14,i: 7,363,072 msg/sec xenium::vyukov_bounded_queue,15,s: 7,083,296 msg/sec xenium::vyukov_bounded_queue,15,i: 7,247,656 msg/sec xenium::vyukov_bounded_queue,16,s: 6,797,302 msg/sec xenium::vyukov_bounded_queue,16,i: 7,039,331 msg/sec boost::lockfree::queue, 1,s: 7,821,525 msg/sec boost::lockfree::queue, 1,i: 7,828,621 msg/sec boost::lockfree::queue, 2,s: 5,868,000 msg/sec boost::lockfree::queue, 2,i: 5,904,270 msg/sec boost::lockfree::queue, 3,s: 4,956,612 msg/sec boost::lockfree::queue, 3,i: 4,805,578 msg/sec boost::lockfree::queue, 4,s: 4,365,913 msg/sec boost::lockfree::queue, 4,i: 4,354,814 msg/sec boost::lockfree::queue, 5,s: 2,665,589 msg/sec boost::lockfree::queue, 5,i: 2,906,195 msg/sec boost::lockfree::queue, 6,s: 1,427,293 msg/sec boost::lockfree::queue, 6,i: 2,845,645 msg/sec boost::lockfree::queue, 7,s: 1,393,232 msg/sec boost::lockfree::queue, 7,i: 2,834,570 msg/sec boost::lockfree::queue, 8,s: 1,162,175 msg/sec boost::lockfree::queue, 8,i: 1,816,285 msg/sec boost::lockfree::queue, 9,s: 1,430,570 msg/sec boopthread_spinlock: producers: 4: consumer 1 received too few messages: 0.10% of expected. pthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. st::lockfree::queue, 9,i: 1,859,936 msg/sec boost::lockfree::queue,10,s: 1,500,498 msg/sec boost::lockfree::queue,10,i: 1,900,835 msg/sec boost::lockfree::queue,11,s: 1,803,404 msg/sec boost::lockfree::queue,11,i: 2,008,617 msg/sec boost::lockfree::queue,12,s: 1,729,490 msg/sec boost::lockfree::queue,12,i: 1,948,031 msg/sec boost::lockfree::queue,13,s: 1,600,709 msg/sec boost::lockfree::queue,13,i: 1,664,919 msg/sec boost::lockfree::queue,14,s: 1,567,026 msg/sec boost::lockfree::queue,14,i: 1,644,189 msg/sec boost::lockfree::queue,15,s: 1,581,310 msg/sec boost::lockfree::queue,15,i: 1,585,229 msg/sec boost::lockfree::queue,16,s: 1,522,856 msg/sec boost::lockfree::queue,16,i: 1,493,214 msg/sec std::mutex, 1,s: 3,643,128 msg/sec std::mutex, 1,i: 3,614,681 msg/sec std::mutex, 2,s: 12,850,881 msg/sec std::mutex, 2,i: 12,972,138 msg/sec std::mutex, 3,s: 7,023,586 msg/sec std::mutex, 3,i: 6,990,350 msg/sec std::mutex, 4,s: 7,055,738 msg/sec std::mutex, 4,i: 6,639,128 msg/sec std::mutex, 5,s: 3,392,644 msg/sec std::mutex, 5,i: 3,434,544 msg/sec std::mutex, 6,s: 2,982,245 msg/sec std::mutex, 6,i: 2,940,196 msg/sec std::mutex, 7,s: 3,367,163 msg/sec std::mutex, 7,i: 2,965,682 msg/sec std::mutex, 8,s: 3,505,062 msg/sec std::mutex, 8,i: 2,812,671 msg/sec std::mutex, 9,s: 2,915,818 msg/sec std::mutex, 9,i: 2,739,830 msg/sec std::mutex,10,s: 2,640,619 msg/sec std::mutex,10,i: 2,691,879 msg/sec std::mutex,11,s: 2,655,966 msg/sec std::mutex,11,i: 2,623,355 msg/sec std::mutex,12,s: 2,688,776 msg/sec std::mutex,12,i: 2,600,596 msg/sec std::mutex,13,s: 2,538,067 msg/sec std::mutex,13,i: 2,388,165 msg/sec std::mutex,14,s: 2,409,375 msg/sec std::mutex,14,i: 2,336,391 msg/sec std::mutex,15,s: 2,412,274 msg/sec std::mutex,15,i: 2,363,909 msg/sec std::mutex,16,s: 2,374,306 msg/sec std::mutex,16,i: 2,309,374 msg/sec pthread_spinlock, 1,s: 17,795,216 msg/sec pthread_spinlock, 1,i: 18,015,545 msg/sec pthread_spinlock, 2,s: 6,658,615 msg/sec pthread_spinlock, 2,i: 1,373,926 msg/sec pthread_spinlock, 3,s: 820,393 msg/sec pthread_spinlock, 3,i: 5,359,799 msg/sec pthread_spinlock, 4,s: 2,304,119 msg/sec pthread_spinlock, 4,i: 1,145,075 msg/sec pthread_spinlock, 5,s: 2,919,774 msg/sec pthread_spinlock, 5,i: 3,921,896 msg/sec pthread_spinlock, 6,s: 2,022,405 msg/sec pthread_spinlock, 6,i: 3,481,744 msg/sec pthread_spinlock, 7,s: 2,800,377 msg/sec pthread_spinlock, 7,i: 3,051,471 msg/sec pthread_spinlock, 8,s: 3,009,515 msg/sec pthread_spinlock, 8,i: 2,689,500 msg/sec pthread_spinlock, 9,s: 2,608,596 msg/sec pthread_spinlock, 9,i: 2,349,242 msg/sec pthread_spinlock,10,s: 2,729,425 msg/sec pthread_spinlock,10,i: 2,386,332 msg/sec pthread_spinlock,11,s: 2,576,058 msg/sec pthread_spinlock,11,i: 1,928,139 msg/sec pthread_spinlock,12,s: 2,521,920 msg/sec pthread_spinlock,12,i: 2,483,273 msg/sec pthread_spinlock,13,s: 2,274,126 msg/sec pthread_spinlock,13,i: 2,238,665 msg/sec pthread_spinlock,14,s: 2,218,076 msg/sec pthread_spinlock,14,i: 2,021,026 msg/sec pthread_spinlock,15,s: 2,042,770 msg/sec pthread_spinlock,15,i: 1,868,038 msg/sec pthread_spinlock,16,s: 1,797,090 msg/sec pthread_spinlock,16,i: 1,605,203 msg/sec tbb::spin_mutex, 1,s: 37,913,509 msg/sec tbb::spin_mutex, 1,i: 36,954,664 msg/sec tbb::spin_mutex, 2,s: 16,487,784 msg/sec tbb::spin_mutex, 2,i: 15,948,974 msg/sec tbb::spin_mutex, 3,s: 12,048,707 msg/sec tbb::spin_mutex, 3,i: 11,934,698 msg/sec tbb::spin_mutex, 4,s: 10,296,444 msg/sec tbb::spin_mutex, 4,i: 9,936,133 msg/sec tbb::spin_mutex, 5,s: 5,983,319 msg/sec tbb::spin_mutex, 5,i: 5,704,189 msg/sec tbb::spin_mutex, 6,s: 5,086,627 msg/sec tbb::spin_mutex, 6,i: 4,764,151 msg/sec tbb::spin_mutex, 7,s: 4,378,929 msg/sec tbb::spin_mutex, 7,i: 4,668,781 msg/sec tbb::spin_mutex, 8,s: 4,297,544 msg/sec tbb::spin_mutex, 8,i: 4,075,519 msg/sec tbb::spin_mutex, 9,s: 4,467,424 msg/sec tbb::spin_mutex, 9,i: 4,321,227 msg/sec tbb::spin_mutex,10,s: 4,359,725 msg/sec tbb::spin_mutex,10,i: 4,213,329 msg/sec tbb::spin_mutex,11,s: 4,262,886 msg/sec tbb::spin_mutex,11,i: 3,626,169 msg/sec tbb::spin_mutex,12,s: 3,736,603 msg/sec tbb::spin_mutex,12,i: 3,526,848 msg/sec tbb::spin_mutex,13,s: 3,677,092 msg/sec tbb::spin_mutex,13,i: 3,221,797 msg/sec tbb::spin_mutex,14,s: 3,339,352 msg/sec tbb::spin_mutex,14,i: 3,061,905 msg/sec tbb::spin_mutex,15,s: 3,159,262 msg/sec tbb::spin_mutex,15,i: 3,150,663 msg/sec tbb::spin_mutex,16,s: 2,915,240 msg/sec tbb::spin_mutex,16,i: 3,011,072 msg/sec Elapsed time 6:11.48, user 5612.46s, system 601.12s, CPU 1672%, RSS 96500kB, exit-status 0. 2026-09-14 12:50:41 [6/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000043 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,522,957 msg/sec boost::lockfree::spsc_queue, 1,i: 112,976,572 msg/sec AtomicQueue, 1,s: 146,368,971 msg/sec AtomicQueue, 1,i: 144,239,237 msg/sec AtomicQueue, 2,s: 9,880,291 msg/sec AtomicQueue, 2,i: 10,340,537 msg/sec AtomicQueue, 3,s: 8,358,851 msg/sec AtomicQueue, 3,i: 8,819,378 msg/sec AtomicQueue, 4,s: 6,601,913 msg/sec AtomicQueue, 4,i: 7,023,303 msg/sec AtomicQueue, 5,s: 3,171,052 msg/sec AtomicQueue, 5,i: 4,329,781 msg/sec AtomicQueue, 6,s: 2,599,390 msg/sec AtomicQueue, 6,i: 3,502,180 msg/sec AtomicQueue, 7,s: 2,973,002 msg/sec AtomicQueue, 7,i: 3,261,309 msg/sec AtomicQueue, 8,s: 3,121,477 msg/sec AtomicQueue, 8,i: 2,890,216 msg/sec AtomicQueue, 9,s: 2,910,358 msg/sec AtomicQueue, 9,i: 2,927,010 msg/sec AtomicQueue,10,s: 2,794,528 msg/sec AtomicQueue,10,i: 2,906,552 msg/sec AtomicQueue,11,s: 2,795,526 msg/sec AtomicQueue,11,i: 2,964,279 msg/sec AtomicQueue,12,s: 2,669,767 msg/sec AtomicQueue,12,i: 2,878,121 msg/sec AtomicQueue,13,s: 2,527,569 msg/sec AtomicQueue,13,i: 2,816,974 msg/sec AtomicQueue,14,s: 2,367,968 msg/sec AtomicQueue,14,i: 2,783,706 msg/sec AtomicQueue,15,s: 2,364,007 msg/sec AtomicQueue,15,i: 2,750,537 msg/sec AtomicQueue,16,s: 2,261,459 msg/sec AtomicQueue,16,i: 2,734,925 msg/sec OptimistAtomicQueue, 1,s: 1,190,424,423 msg/sec OptimistAtomicQueue, 1,i: 1,198,398,913 msg/sec OptimistAtomicQueue, 2,s: 47,141,599 msg/sec OptimistAtomicQueue, 2,i: 53,327,287 msg/sec OptimistAtomicQueue, 3,s: 58,728,423 msg/sec OptimistAtomicQueue, 3,i: 59,701,747 msg/sec OptimistAtomicQueue, 4,s: 59,221,504 msg/sec OptimistAtomicQueue, 4,i: 65,929,721 msg/sec OptimistAtomicQueue, 5,s: 33,195,904 msg/sec OptimistAtomicQueue, 5,i: 43,685,844 msg/sec OptimistAtomicQueue, 6,s: 34,649,151 msg/sec OptimistAtomicQueue, 6,i: 34,123,413 msg/sec OptimistAtomicQueue, 7,s: 39,964,718 msg/sec OptimistAtomicQueue, 7,i: 40,124,765 msg/sec OptimistAtomicQueue, 8,s: 50,486,675 msg/sec OptimistAtomicQueue, 8,i: 41,216,289 msg/sec OptimistAtomicQueue, 9,s: 40,887,118 msg/sec OptimistAtomicQueue, 9,i: 45,805,383 msg/sec OptimistAtomicQueue,10,s: 39,953,956 msg/sec OptimistAtomicQueue,10,i: 47,722,231 msg/sec OptimistAtomicQueue,11,s: 44,435,525 msg/sec OptimistAtomicQueue,11,i: 53,090,320 msg/sec OptimistAtomicQueue,12,s: 43,227,077 msg/sec OptimistAtomicQueue,12,i: 54,377,618 msg/sec OptimistAtomicQueue,13,s: 43,479,355 msg/sec OptimistAtomicQueue,13,i: 56,605,095 msg/sec OptimistAtomicQueue,14,s: 43,319,774 msg/sec OptimistAtomicQueue,14,i: 55,558,954 msg/sec OptimistAtomicQueue,15,s: 45,819,579 msg/sec OptimistAtomicQueue,15,i: 60,814,495 msg/sec OptimistAtomicQueue,16,s: 45,883,028 msg/sec OptimistAtomicQueue,16,i: 64,829,826 msg/sec AtomicQueueB, 1,s: 50,360,366 msg/sec AtomicQueueB, 1,i: 49,184,855 msg/sec AtomicQueueB, 2,s: 9,536,124 msg/sec AtomicQueueB, 2,i: 9,959,150 msg/sec AtomicQueueB, 3,s: 8,255,645 msg/sec AtomicQueueB, 3,i: 8,664,785 msg/sec AtomicQueueB, 4,s: 6,549,037 msg/sec AtomicQueueB, 4,i: 6,913,936 msg/sec AtomicQueueB, 5,s: 3,095,363 msg/sec AtomicQueueB, 5,i: 4,321,777 msg/sec AtomicQueueB, 6,s: 2,570,393 msg/sec AtomicQueueB, 6,i: 3,437,301 msg/sec AtomicQueueB, 7,s: 2,920,844 msg/sec AtomicQueueB, 7,i: 3,162,321 msg/sec AtomicQueueB, 8,s: 3,054,862 msg/sec AtomicQueueB, 8,i: 2,877,491 msg/sec AtomicQueueB, 9,s: 2,764,342 msg/sec AtomicQueueB, 9,i: 2,849,755 msg/sec AtomicQueueB,10,s: 2,769,558 msg/sec AtomicQueueB,10,i: 2,879,474 msg/sec AtomicQueueB,11,s: 2,748,948 msg/sec AtomicQueueB,11,i: 2,868,194 msg/sec AtomicQueueB,12,s: 2,662,912 msg/sec AtomicQueueB,12,i: 2,850,143 msg/sec AtomicQueueB,13,s: 2,515,459 msg/sec AtomicQueueB,13,i: 2,805,635 msg/sec AtomicQueueB,14,s: 2,391,561 msg/sec AtomicQueueB,14,i: 2,768,518 msg/sec AtomicQueueB,15,s: 2,378,197 msg/sec AtomicQueueB,15,i: 2,770,601 msg/sec AtomicQueueB,16,s: 2,277,354 msg/sec AtomicQueueB,16,i: 2,734,255 msg/sec OptimistAtomicQueueB, 1,s: 516,885,100 msg/sec OptimistAtomicQueueB, 1,i: 1,141,962,455 msg/sec OptimistAtomicQueueB, 2,s: 47,239,738 msg/sec OptimistAtomicQueueB, 2,i: 48,935,700 msg/sec OptimistAtomicQueueB, 3,s: 58,628,746 msg/sec OptimistAtomicQueueB, 3,i: 56,962,970 msg/sec OptimistAtomicQueueB, 4,s: 59,418,343 msg/sec OptimistAtomicQueueB, 4,i: 65,736,258 msg/sec OptimistAtomicQueueB, 5,s: 33,028,378 msg/sec OptimistAtomicQueueB, 5,i: 41,474,714 msg/sec OptimistAtomicQueueB, 6,s: 34,350,311 msg/sec OptimistAtomicQueueB, 6,i: 34,919,990 msg/sec OptimistAtomicQueueB, 7,s: 39,352,668 msg/sec OptimistAtomicQueueB, 7,i: 39,977,195 msg/sec OptimistAtomicQueueB, 8,s: 51,472,136 msg/sec OptimistAtomicQueueB, 8,i: 41,242,398 msg/sec OptimistAtomicQueueB, 9,s: 40,612,741 msg/sec OptimistAtomicQueueB, 9,i: 45,105,891 msg/sec OptimistAtomicQueueB,10,s: 39,992,703 msg/sec OptimistAtomicQueueB,10,i: 47,196,419 msg/sec OptimistAtomicQueueB,11,s: 44,392,761 msg/sec OptimistAtomicQueueB,11,i: 48,299,299 msg/sec OptimistAtomicQueueB,12,s: 43,696,310 msg/sec OptimistAtomicQueueB,12,i: 61,348,812 msg/sec OptimistAtomicQueueB,13,s: 43,818,025 msg/sec OptimistAtomicQueueB,13,i: 56,614,965 msg/sec OptimistAtomicQueueB,14,s: 43,603,970 msg/sec OptimistAtomicQueueB,14,i: 58,045,935 msg/sec OptimistAtomicQueueB,15,s: 46,203,425 msg/sec OptimistAtomicQueueB,15,i: 60,725,570 msg/sec OptimistAtomicQueueB,16,s: 46,174,756 msg/sec OptimistAtomicQueueB,16,i: 65,140,974 msg/sec AtomicQueue2, 1,s: 131,791,409 msg/sec AtomicQueue2, 1,i: 133,570,540 msg/sec AtomicQueue2, 2,s: 9,960,015 msg/sec AtomicQueue2, 2,i: 10,528,843 msg/sec AtomicQueue2, 3,s: 8,412,226 msg/sec AtomicQueue2, 3,i: 8,906,184 msg/sec AtomicQueue2, 4,s: 6,688,509 msg/sec AtomicQueue2, 4,i: 7,086,810 msg/sec AtomicQueue2, 5,s: 3,113,186 msg/sec AtomicQueue2, 5,i: 4,280,464 msg/sec AtomicQueue2, 6,s: 2,565,968 msg/sec AtomicQueue2, 6,i: 3,982,022 msg/sec AtomicQueue2, 7,s: 2,905,238 msg/sec AtomicQueue2, 7,i: 3,264,335 msg/sec AtomicQueue2, 8,s: 3,021,475 msg/sec AtomicQueue2, 8,i: 2,894,854 msg/sec AtomicQueue2, 9,s: 2,850,114 msg/sec AtomicQueue2, 9,i: 2,897,887 msg/sec AtomicQueue2,10,s: 2,757,615 msg/sec AtomicQueue2,10,i: 2,908,696 msg/sec AtomicQueue2,11,s: 2,736,903 msg/sec AtomicQueue2,11,i: 2,897,538 msg/sec AtomicQueue2,12,s: 2,697,807 msg/sec AtomicQueue2,12,i: 2,857,725 msg/sec AtomicQueue2,13,s: 2,544,451 msg/sec AtomicQueue2,13,i: 2,798,961 msg/sec AtomicQueue2,14,s: 2,393,254 msg/sec AtomicQueue2,14,i: 2,774,789 msg/sec AtomicQueue2,15,s: 2,391,912 msg/sec AtomicQueue2,15,i: 2,809,048 msg/sec AtomicQueue2,16,s: 2,285,521 msg/sec AtomicQueue2,16,i: 2,710,805 msg/sec OptimistAtomicQueue2, 1,s: 107,426,964 msg/sec OptimistAtomicQueue2, 1,i: 106,627,110 msg/sec OptimistAtomicQueue2, 2,s: 43,659,276 msg/sec OptimistAtomicQueue2, 2,i: 46,982,799 msg/sec OptimistAtomicQueue2, 3,s: 55,028,669 msg/sec OptimistAtomicQueue2, 3,i: 50,018,028 msg/sec OptimistAtomicQueue2, 4,s: 59,002,075 msg/sec OptimistAtomicQueue2, 4,i: 57,968,299 msg/sec OptimistAtomicQueue2, 5,s: 31,469,468 msg/sec OptimistAtomicQueue2, 5,i: 34,108,458 msg/sec OptimistAtomicQueue2, 6,s: 32,910,163 msg/sec OptimistAtomicQueue2, 6,i: 32,216,982 msg/sec OptimistAtomicQueue2, 7,s: 37,744,978 msg/sec OptimistAtomicQueue2, 7,i: 37,826,386 msg/sec OptimistAtomicQueue2, 8,s: 49,060,515 msg/sec OptimistAtomicQueue2, 8,i: 39,818,589 msg/sec OptimistAtomicQueue2, 9,s: 37,611,738 msg/sec OptimistAtomicQueue2, 9,i: 42,389,654 msg/sec OptimistAtomicQueue2,10,s: 37,510,299 msg/sec OptimistAtomicQueue2,10,i: 43,991,905 msg/sec OptimistAtomicQueue2,11,s: 43,029,782 msg/sec OptimistAtomicQueue2,11,i: 48,457,250 msg/sec OptimistAtomicQueue2,12,s: 42,110,837 msg/sec OptimistAtomicQueue2,12,i: 52,667,594 msg/sec OptimistAtomicQueue2,13,s: 41,102,960 msg/sec OptimistAtomicQueue2,13,i: 52,002,616 msg/sec OptimistAtomicQueue2,14,s: 41,031,932 msg/sec OptimistAtomicQueue2,14,i: 53,730,052 msg/sec OptimistAtomicQueue2,15,s: 43,214,021 msg/sec OptimistAtomicQueue2,15,i: 56,259,156 msg/sec OptimistAtomicQueue2,16,s: 43,404,480 msg/sec OptimistAtomicQueue2,16,i: 59,155,854 msg/sec AtomicQueueB2, 1,s: 74,078,284 msg/sec AtomicQueueB2, 1,i: 71,182,243 msg/sec AtomicQueueB2, 2,s: 9,850,659 msg/sec AtomicQueueB2, 2,i: 10,435,472 msg/sec AtomicQueueB2, 3,s: 8,318,048 msg/sec AtomicQueueB2, 3,i: 8,844,866 msg/sec AtomicQueueB2, 4,s: 6,624,097 msg/sec AtomicQueueB2, 4,i: 6,982,506 msg/sec AtomicQueueB2, 5,s: 3,098,442 msg/sec AtomicQueueB2, 5,i: 4,332,954 msg/sec AtomicQueueB2, 6,s: 2,548,423 msg/sec AtomicQueueB2, 6,i: 3,990,033 msg/sec AtomicQueueB2, 7,s: 2,901,029 msg/sec AtomicQueueB2, 7,i: 3,178,075 msg/sec AtomicQueueB2, 8,s: 3,011,875 msg/sec AtomicQueueB2, 8,i: 2,852,385 msg/sec AtomicQueueB2, 9,s: 2,781,786 msg/sec AtomicQueueB2, 9,i: 2,872,718 msg/sec AtomicQueueB2,10,s: 2,758,206 msg/sec AtomicQueueB2,10,i: 2,879,877 msg/sec AtomicQueueB2,11,s: 2,797,074 msg/sec AtomicQueueB2,11,i: 2,903,619 msg/sec AtomicQueueB2,12,s: 2,780,910 msg/sec AtomicQueueB2,12,i: 2,856,859 msg/sec AtomicQueueB2,13,s: 2,630,766 msg/sec AtomicQueueB2,13,i: 2,820,940 msg/sec AtomicQueueB2,14,s: 2,464,830 msg/sec AtomicQueueB2,14,i: 2,768,899 msg/sec AtomicQueueB2,15,s: 2,419,655 msg/sec AtomicQueueB2,15,i: 2,816,578 msg/sec AtomicQueueB2,16,s: 2,296,670 msg/sec AtomicQueueB2,16,i: 2,741,396 msg/sec OptimistAtomicQueueB2, 1,s: 151,628,971 msg/sec OptimistAtomicQueueB2, 1,i: 151,728,126 msg/sec OptimistAtomicQueueB2, 2,s: 42,167,071 msg/sec OptimistAtomicQueueB2, 2,i: 46,109,055 msg/sec OptimistAtomicQueueB2, 3,s: 56,888,375 msg/sec OptimistAtomicQueueB2, 3,i: 53,218,587 msg/sec OptimistAtomicQueueB2, 4,s: 58,997,515 msg/sec OptimistAtomicQueueB2, 4,i: 59,932,622 msg/sec OptimistAtomicQueueB2, 5,s: 31,345,625 msg/sec OptimistAtomicQueueB2, 5,i: 31,492,480 msg/sec OptimistAtomicQueueB2, 6,s: 32,871,133 msg/sec OptimistAtomicQueueB2, 6,i: 32,425,541 msg/sec OptimistAtomicQueueB2, 7,s: 37,041,779 msg/sec OptimistAtomicQueueB2, 7,i: 37,040,270 msg/sec OptimistAtomicQueueB2, 8,s: 47,861,074 msg/sec OptimistAtomicQueueB2, 8,i: 38,930,922 msg/sec OptimistAtomicQueueB2, 9,s: 37,098,055 msg/sec OptimistAtomicQueueB2, 9,i: 41,288,755 msg/sec OptimistAtomicQueueB2,10,s: 37,338,453 msg/sec OptimistAtomicQueueB2,10,i: 42,765,661 msg/sec OptimistAtomicQueueB2,11,s: 42,567,359 msg/sec OptimistAtomicQueueB2,11,i: 47,156,853 msg/sec OptimistAtomicQueueB2,12,s: 41,837,326 msg/sec OptimistAtomicQueueB2,12,i: 51,261,655 msg/sec OptimistAtomicQueueB2,13,s: 40,892,548 msg/sec OptimistAtomicQueueB2,13,i: 52,238,210 msg/sec OptimistAtomicQueueB2,14,s: 40,727,762 msg/sec OptimistAtomicQueueB2,14,i: 53,252,014 msg/sec OptimistAtomicQueueB2,15,s: 43,127,789 msg/sec OptimistAtomicQueueB2,15,i: 56,326,366 msg/sec OptimistAtomicQueueB2,16,s: 43,209,361 msg/sec OptimistAtomicQueueB2,16,i: 59,184,703 msg/sec moodycamel::ReaderWriterQueue, 1,s: 947,525,550 msg/sec moodycamel::ReaderWriterQueue, 1,i: 127,079,818 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,176,232 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,191,727 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,734,668 msg/sec moodycamel::ConcurrentQueue, 2,i: 35,907,943 msg/sec moodycamel::ConcurrentQueue, 3,s: 53,371,507 msg/sec moodycamel::ConcurrentQueue, 3,i: 56,906,795 msg/sec moodycamel::ConcurrentQueue, 4,s: 105,131,420 msg/sec moodycamel::ConcurrentQueue, 4,i: 100,511,079 msg/sec moodycamel::ConcurrentQueue, 5,s: 132,851,001 msg/sec moodycamel::ConcurrentQueue, 5,i: 192,463,335 msg/sec moodycamel::ConcurrentQueue, 6,s: 206,992,396 msg/sec moodycamel::ConcurrentQueue, 6,i: 199,849,306 msg/sec moodycamel::ConcurrentQueue, 7,s: 236,196,315 msg/sec moodycamel::ConcurrentQueue, 7,i: 203,274,218 msg/sec moodycamel::ConcurrentQueue, 8,s: 266,736,000 msg/sec moodycamel::ConcurrentQueue, 8,i: 221,313,668 msg/sec moodycamel::ConcurrentQueue, 9,s: 270,624,482 msg/sec moodycamel::ConcurrentQueue, 9,i: 232,788,459 msg/sec moodycamel::ConcurrentQueue,10,s: 306,018,275 msg/sec moodycamel::ConcurrentQueue,10,i: 248,577,046 msg/sec moodycamel::ConcurrentQueue,11,s: 245,450,849 msg/sec moodycamel::ConcurrentQueue,11,i: 235,881,371 msg/sec moodycamel::ConcurrentQueue,12,s: 155,949,322 msg/sec moodycamel::ConcurrentQueue,12,i: 202,342,217 msg/sec moodycamel::ConcurrentQueue,13,s: 258,048,186 msg/sec moodycamel::ConcurrentQueue,13,i: 307,637,390 msg/sec moodycamel::ConcurrentQueue,14,s: 338,108,597 msg/sec moodycamel::ConcurrentQueue,14,i: 366,029,897 msg/sec moodycamel::ConcurrentQueue,15,s: 455,326,204 msg/sec moodycamel::ConcurrentQueue,15,i: 436,246,027 msg/sec moodycamel::ConcurrentQueue,16,s: 512,721,780 msg/sec moodycamel::ConcurrentQueue,16,i: 515,303,011 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,788,672 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,796,368 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,126,588 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,137,415 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,976,627 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,080,509 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,416,912 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,636,890 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,458 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,116,725 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,793,478 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,439,235 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,663,725 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,156,297 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,786,341 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,812,884 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,651,586 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,856,030 msg/sec tbb::concurrent_bounded_queue,10,s: 2,771,347 msg/sec tbb::concurrent_bounded_queue,10,i: 2,888,931 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,574 msg/sec tbb::concurrent_bounded_queue,11,i: 2,859,651 msg/sec tbb::concurrent_bounded_queue,12,s: 2,570,623 msg/sec tbb::concurrent_bounded_queue,12,i: 2,768,294 msg/sec tbb::concurrent_bounded_queue,13,s: 2,488,998 msg/sec tbb::concurrent_bounded_queue,13,i: 2,751,800 msg/sec tbb::concurrent_bounded_queue,14,s: 2,389,235 msg/sec tbb::concurrent_bounded_queue,14,i: 2,739,193 msg/sec tbb::concurrent_bounded_queue,15,s: 2,347,225 msg/sec tbb::concurrent_bounded_queue,15,i: 2,642,289 msg/sec tbb::concurrent_bounded_queue,16,s: 2,266,313 msg/sec tbb::concurrent_bounded_queue,16,i: 2,537,820 msg/sec xenium::michael_scott_queue, 1,s: 13,435,551 msg/sec xenium::michael_scott_queue, 1,i: 13,765,711 msg/sec xenium::michael_scott_queue, 2,s: 9,417,727 msg/sec xenium::michael_scott_queue, 2,i: 9,316,211 msg/sec xenium::michael_scott_queue, 3,s: 7,633,874 msg/sec xenium::michael_scott_queue, 3,i: 7,553,205 msg/sec xenium::michael_scott_queue, 4,s: 5,879,107 msg/sec xenium::michael_scott_queue, 4,i: 5,835,088 msg/sec xenium::michael_scott_queue, 5,s: 3,648,659 msg/sec xenium::michael_scott_queue, 5,i: 4,646,756 msg/sec xenium::michael_scott_queue, 6,s: 3,346,969 msg/sec xenium::michael_scott_queue, 6,i: 3,566,209 msg/sec xenium::michael_scott_queue, 7,s: 3,171,761 msg/sec xenium::michael_scott_queue, 7,i: 3,279,640 msg/sec xenium::michael_scott_queue, 8,s: 2,369,342 msg/sec xenium::michael_scott_queue, 8,i: 2,797,043 msg/sec xenium::michael_scott_queue, 9,s: 2,884,806 msg/sec xenium::michael_scott_queue, 9,i: 2,860,435 msg/sec xenium::michael_scott_queue,10,s: 2,842,141 msg/sec xenium::michael_scott_queue,10,i: 2,877,168 msg/sec xenium::michael_scott_queue,11,s: 2,756,403 msg/sec xenium::michael_scott_queue,11,i: 2,883,360 msg/sec xenium::michael_scott_queue,12,s: 2,581,311 msg/sec xenium::michael_scott_queue,12,i: 2,727,719 msg/sec xenium::michael_scott_queue,13,s: 2,521,801 msg/sec xenium::michael_scott_queue,13,i: 2,655,420 msg/sec xenium::michael_scott_queue,14,s: 2,413,878 msg/sec xenium::michael_scott_queue,14,i: 2,598,783 msg/sec xenium::michael_scott_queue,15,s: 2,322,682 msg/sec xenium::michael_scott_queue,15,i: 2,598,438 msg/sec xenium::michael_scott_queue,16,s: 2,219,612 msg/sec xenium::michael_scott_queue,16,i: 2,502,812 msg/sec xenium::ramalhete_queue, 1,s: 67,495,621 msg/sec xenium::ramalhete_queue, 1,i: 66,616,524 msg/sec xenium::ramalhete_queue, 2,s: 42,689,752 msg/sec xenium::ramalhete_queue, 2,i: 33,787,376 msg/sec xenium::ramalhete_queue, 3,s: 41,381,759 msg/sec xenium::ramalhete_queue, 3,i: 42,401,495 msg/sec xenium::ramalhete_queue, 4,s: 47,084,755 msg/sec xenium::ramalhete_queue, 4,i: 49,005,291 msg/sec xenium::ramalhete_queue, 5,s: 37,452,925 msg/sec xenium::ramalhete_queue, 5,i: 23,087,863 msg/sec xenium::ramalhete_queue, 6,s: 39,184,790 msg/sec xenium::ramalhete_queue, 6,i: 25,870,127 msg/sec xenium::ramalhete_queue, 7,s: 40,616,651 msg/sec xenium::ramalhete_queue, 7,i: 28,542,665 msg/sec xenium::ramalhete_queue, 8,s: 50,571,975 msg/sec xenium::ramalhete_queue, 8,i: 29,311,608 msg/sec xenium::ramalhete_queue, 9,s: 33,123,348 msg/sec xenium::ramalhete_queue, 9,i: 35,888,475 msg/sec xenium::ramalhete_queue,10,s: 34,727,280 msg/sec xenium::ramalhete_queue,10,i: 40,208,917 msg/sec xenium::ramalhete_queue,11,s: 37,178,951 msg/sec xenium::ramalhete_queue,11,i: 41,915,233 msg/sec xenium::ramalhete_queue,12,s: 38,600,442 msg/sec xenium::ramalhete_queue,12,i: 41,944,737 msg/sec xenium::ramalhete_queue,13,s: 39,464,315 msg/sec xenium::ramalhete_queue,13,i: 42,081,306 msg/sec xenium::ramalhete_queue,14,s: 39,784,089 msg/sec xenium::ramalhete_queue,14,i: 43,006,959 msg/sec xenium::ramalhete_queue,15,s: 39,811,798 msg/sec xenium::ramalhete_queue,15,i: 43,810,405 msg/sec xenium::ramalhete_queue,16,s: 39,636,588 msg/sec xenium::ramalhete_queue,16,i: 44,615,702 msg/sec xenium::vyukov_bounded_queue, 1,s: 313,987,416 msg/sec xenium::vyukov_bounded_queue, 1,i: 314,719,637 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,398,969 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,892,337 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,709,945 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,869,683 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,628,748 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,591,488 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,043,649 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,660,463 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,157,979 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,914,607 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,230,046 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,546,048 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,089,608 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,536,002 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,135,119 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,674,386 msg/sec xenium::vyukov_bounded_queue,10,s: 7,797,089 msg/sec xenium::vyukov_bounded_queue,10,i: 6,809,720 msg/sec xenium::vyukov_bounded_queue,11,s: 7,402,465 msg/sec xenium::vyukov_bounded_queue,11,i: 7,252,094 msg/sec xenium::vyukov_bounded_queue,12,s: 7,438,517 msg/sec xenium::vyukov_bounded_queue,12,i: 7,392,558 msg/sec xenium::vyukov_bounded_queue,13,s: 7,015,810 msg/sec xenium::vyukov_bounded_queue,13,i: 7,372,112 msg/sec xenium::vyukov_bounded_queue,14,s: 7,083,750 msg/sec xenium::vyukov_bounded_queue,14,i: 7,344,415 msg/sec xenium::vyukov_bounded_queue,15,s: 7,149,298 msg/sec xenium::vyukov_bounded_queue,15,i: 7,207,739 msg/sec xenium::vyukov_bounded_queue,16,s: 6,901,066 msg/sec xenium::vyukov_bounded_queue,16,i: 7,079,198 msg/sec boost::lockfree::queue, 1,s: 7,754,926 msg/sec boost::lockfree::queue, 1,i: 7,789,197 msg/sec boost::lockfree::queue, 2,s: 5,851,844 msg/sec boost::lockfree::queue, 2,i: 5,916,003 msg/sec boost::lockfree::queue, 3,s: 4,938,500 msg/sec boost::lockfree::queue, 3,i: 4,794,879 msg/sec boost::lockfree::queue, 4,s: 4,373,296 msg/sec boost::lockfree::queue, 4,i: 4,362,396 msg/sec boost::lockfree::queue, 5,s: 2,646,392 msg/sec boost::lockfree::queue, 5,i: 2,658,804 msg/sec boost::lockfree::queue, 6,s: 1,431,078 msg/sec boost::lockfree::queue, 6,i: 2,816,893 msg/sec boost::lockfree::queue, 7,s: 1,378,714 msg/sec boost::lockfree::queue, 7,i: 2,974,585 msg/sec boost::lockfree::queue, 8,s: 1,160,325 msg/sec boost::lockfree::queue, 8,i: 1,847,871 msg/sec boost::lockfree::queue, 9,s: 1,415,774 msg/sec boost::lockfree::queue, 9,i: 1,865,981 msg/sec boost::lockfree::queue,10,s: 1,525,815 msg/sec boost::lockfree::queue,10,i: 2,035,573 msg/sec boost::lockfree::queue,11,s: 1,732,329 msg/sec boost::lockfree::queue,11,i: 1,940,442 msg/sec boost::lockfree::queue,12,s: 1,763,039 msg/sec boost::lockfree::queue,12,i: 1,651,689 msg/sec boost::lockfree::queue,13,s: 1,683,139 msg/sec boost::lockfree::queue,13,i: 1,702,119 msg/sec boost::lockfree::queue,14,s: 1,556,475 msg/sec boost::lockfree::queue,14,i: 1,610,583 msg/sec boost::lockfree::queue,15,s: 1,576,572 msg/sec boost::lockfree::queue,15,i: 1,589,101 msg/sec boost::lockfree::queue,16,s: 1,522,992 msg/sec boost::lockfree::queue,16,i: 1,491,449 msg/sec std::mutex, 1,s: 3,730,565 msg/sec std::mutex, 1,i: 3,698,395 msg/sec std::mutex, 2,s: 13,379,167 msg/sec std::mutex, 2,i: 13,757,234 msg/sec std::mutex, 3,s: 6,931,419 msg/sec std::mutex, 3,i: 6,806,982 msg/sec std::mutex, 4,s: 7,004,863 msg/sec std::mutex, 4,i: 6,700,408 msg/sec std::mutex, 5,s: 3,332,851 msg/sec std::mutex, 5,i: 3,311,863 msg/sec std::mutex, 6,s: 2,991,614 msg/sec std::mutex, 6,i: 2,931,525 msg/sec std::mutex, 7,s: 3,320,095 msg/sec std::mutex, 7,i: 2,982,175 msg/sec std::mutex, 8,s: 3,466,946 msg/sec std::mutex, 8,i: 2,799,648 msg/sec std::mutex, 9,s: 2,872,170 msg/sec std::mutex, 9,i: 2,696,716 msg/sec std::mutex,10,s: 2,639,926 msg/sec std::mutex,10,i: 2,576,152 msg/sec std::mutex,11,s: 2,641,865 msg/sec std::mutex,11,i: 2,706,630 msg/sec std::mutex,12,s: 2,735,898 msg/sec std::mutex,12,i: 2,661,228 msg/sec std::mutex,13,s: 2,495,981 msg/sec std::mutex,13,i: 2,385,264 msg/sec std::mutex,14,s: 2,413,197 msg/sec std::mutex,14,i: 2,371,883 msg/sec std::mutex,15,s: 2,446,544 msg/sec std::mutex,15,i: 2,374,268 msg/sec std::mutex,16,s: 2,342,350 msg/sec std::mutex,16,i: 2,292,430 msg/sec pthread_spinlock, 1,s: 17,736,756 msg/sec pthread_spinlock, 1,i: 18,046,238 msg/sec pthread_spinlock, 2,s: 7,737,468 msg/sec pthread_spinlock, 2,i: 1,772,531 msg/sec pthread_spinlock, 3,s: 864,879 msg/sec pthread_spinlock, 3,i: 4,859,149 msg/sec pthread_spinlock, 4,s: 1,989,419 msg/sec pthread_spinlock, 4,i: 1,392,553 msg/sec pthread_spinlock, 5,s: 2,763,445 msg/sec pthread_spinlock, 5,i: 792,289 msg/sec pthread_spinlock, 6,s: 2,074,210 msg/sec pthread_spinlock, 6,i: 3,050,291 msg/sec pthread_spinlock, 7,s: 2,769,234 msg/sec pthread_spinlock, 7,i: 3,076,568 msg/sec pthread_spinlock, 8,s: 2,974,023 msg/sec pthread_spinlock, 8,i: 2,647,966 msg/sec pthread_spinlock, 9,s: 2,853,018 msg/sec pthread_spinlock, 9,i: 2,308,555 msg/sec pthread_spinlock,10,s: 2,739,485 msg/sec pthread_spinlock,10,i: 2,384,598 msg/sec pthread_spinlock,11,s: 2,652,205 msg/sec pthread_spinlock,11,i: 2,681,615 msg/sec pthread_spinlock,12,s: 2,579,871 msg/sec pthread_spinlock,12,i: 2,102,788 msg/sec pthread_spinlock,13,s: 2,460,698 msg/sec pthread_spinlock,13,i: 2,116,090 msg/sec pthread_spinlock,14,s: 2,205,532 msg/sec pthread_spinlock,14,i: 2,105,083 msg/sec pthread_spinlock,15,s: 2,032,449 msg/sec pthread_spinlock,15,i: 1,914,241 msg/sec pthread_spinlock,16,s: 1,767,979 msg/sec pthread_spinlock,16,i: 1,602,503 msg/sec tbb::spin_mutex, 1,s: 39,306,354 msg/sec tbb::spin_mutex, 1,i: 38,701,056 msg/sec tbb::spin_mutex, 2,s: 16,476,157 msg/sec tbb::spin_mutex, 2,i: 15,989,285 msg/sec tbb::spin_mutex, 3,s: 12,027,210 msg/sec tbb::spin_mutex, 3,i: 11,914,541 msg/sec tbb::spin_mutex, 4,s: 10,302,801 msg/sec tbb::spin_mutex, 4,i: 9,960,164 msg/sec tbb::spin_mutex, 5,s: 5,943,509 msg/sec tbb::spin_mutex, 5,i: 5,557,764 msg/sec tbb::spin_mutex, 6,s: 5,103,694 msg/sec tbb::spin_mutex, 6,i: 4,793,198 msg/sec tbb::spin_mutex, 7,s: 4,417,972 msg/sec tbb::spin_mutex, 7,i: 4,651,519 msg/sec tbb::spin_mutex, 8,s: 4,319,536 msg/sec tbb::spin_mutex, 8,i: 4,078,715 msg/sec tbb::spin_mutex, 9,s: 4,471,589 msg/sec tbb::spin_mutex, 9,i: 4,299,497 msg/sec tbb::spin_mutex,10,s: 4,415,857 msg/sec tbb::spin_mutex,10,i: 4,214,142 msg/sec tbb::spin_mutex,11,s: 4,166,742 msg/sec tbb::spin_mutex,11,i: 3,580,967 msg/sec tbb::spin_mutex,12,s: 3,733,689 msg/sec tbb::spin_mutex,12,i: 3,458,322 msg/sec tbb::spin_mutex,13,s: 3,450,427 msg/sec tbb::spin_mutex,13,i: 3,228,567 msg/sec tbb::spin_mutex,14,s: 3,546,158 msg/sec tbb::spin_mutex,14,i: 3,057,930 msg/sec tbb::spin_mutex,15,s: 3,220,559 msg/sec tbb::spin_mutex,15,i: 3,074,086 msg/sec tbb::spin_mutex,16,s: 2,969,157 msg/sec tbb::spin_mutex,16,i: 2,998,849 msg/sec Elapsed time 6:14.93, user 5639.20s, system 601.97s, CPU 1664%, RSS 97016kB, exit-status 0. 2026-09-14 12:56:56 [7/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000046 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000323 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,270,352 msg/sec boost::lockfree::spsc_queue, 1,i: 113,463,413 msg/sec AtomicQueue, 1,s: 144,496,004 msg/sec AtomicQueue, 1,i: 143,872,973 msg/sec AtomicQueue, 2,s: 9,900,396 msg/sec AtomicQueue, 2,i: 10,344,843 msg/sec AtomicQueue, 3,s: 8,340,436 msg/sec AtomicQueue, 3,i: 8,822,853 msg/sec AtomicQueue, 4,s: 6,609,577 msg/sec AtomicQueue, 4,i: 7,010,380 msg/sec AtomicQueue, 5,s: 3,174,052 msg/sec AtomicQueue, 5,i: 3,795,682 msg/sec AtomicQueue, 6,s: 2,600,854 msg/sec AtomicQueue, 6,i: 3,531,824 msg/sec AtomicQueue, 7,s: 2,966,803 msg/sec AtomicQueue, 7,i: 3,219,702 msg/sec AtomicQueue, 8,s: 3,124,646 msg/sec AtomicQueue, 8,i: 2,896,253 msg/sec AtomicQueue, 9,s: 2,853,000 msg/sec AtomicQueue, 9,i: 2,898,491 msg/sec AtomicQueue,10,s: 2,804,389 msg/sec AtomicQueue,10,i: 2,922,002 msg/sec AtomicQueue,11,s: 2,787,472 msg/sec AtomicQueue,11,i: 2,879,645 msg/sec AtomicQueue,12,s: 2,672,844 msg/sec AtomicQueue,12,i: 2,874,475 msg/sec AtomicQueue,13,s: 2,538,023 msg/sec AtomicQueue,13,i: 2,799,767 msg/sec AtomicQueue,14,s: 2,364,044 msg/sec AtomicQueue,14,i: 2,739,045 msg/sec AtomicQueue,15,s: 2,363,138 msg/sec AtomicQueue,15,i: 2,766,343 msg/sec AtomicQueue,16,s: 2,254,262 msg/sec AtomicQueue,16,i: 2,738,027 msg/sec OptimistAtomicQueue, 1,s: 1,201,783,326 msg/sec OptimistAtomicQueue, 1,i: 1,199,664,033 msg/sec OptimistAtomicQueue, 2,s: 48,150,446 msg/sec OptimistAtomicQueue, 2,i: 53,640,014 msg/sec OptimistAtomicQueue, 3,s: 58,725,802 msg/sec OptimistAtomicQueue, 3,i: 60,152,720 msg/sec OptimistAtomicQueue, 4,s: 59,225,327 msg/sec OptimistAtomicQueue, 4,i: 65,102,468 msg/sec OptimistAtomicQueue, 5,s: 33,274,482 msg/sec OptimistAtomicQueue, 5,i: 43,087,381 msg/sec OptimistAtomicQueue, 6,s: 34,589,085 msg/sec OptimistAtomicQueue, 6,i: 35,100,371 msg/sec OptimistAtomicQueue, 7,s: 40,167,974 msg/sec OptimistAtomicQueue, 7,i: 40,167,765 msg/sec OptimistAtomicQueue, 8,s: 50,643,121 msg/sec OptimistAtomicQueue, 8,i: 41,268,932 msg/sec OptimistAtomicQueue, 9,s: 40,988,859 msg/sec OptimistAtomicQueue, 9,i: 45,406,645 msg/sec OptimistAtomicQueue,10,s: 40,039,315 msg/sec OptimistAtomicQueue,10,i: 47,648,196 msg/sec OptimistAtomicQueue,11,s: 44,165,220 msg/sec OptimistAtomicQueue,11,i: 53,296,955 msg/sec OptimistAtomicQueue,12,s: 43,314,513 msg/sec OptimistAtomicQueue,12,i: 58,370,832 msg/sec OptimistAtomicQueue,13,s: 43,336,046 msg/sec OptimistAtomicQueue,13,i: 57,076,908 msg/sec OptimistAtomicQueue,14,s: 43,195,380 msg/sec OptimistAtomicQueue,14,i: 56,210,545 msg/sec OptimistAtomicQueue,15,s: 45,745,738 msg/sec OptimistAtomicQueue,15,i: 60,350,161 msg/sec OptimistAtomicQueue,16,s: 45,901,941 msg/sec OptimistAtomicQueue,16,i: 64,592,693 msg/sec AtomicQueueB, 1,s: 52,747,400 msg/sec AtomicQueueB, 1,i: 49,823,626 msg/sec AtomicQueueB, 2,s: 9,655,426 msg/sec AtomicQueueB, 2,i: 10,304,613 msg/sec AtomicQueueB, 3,s: 8,195,179 msg/sec AtomicQueueB, 3,i: 8,636,263 msg/sec AtomicQueueB, 4,s: 6,543,370 msg/sec AtomicQueueB, 4,i: 6,912,258 msg/sec AtomicQueueB, 5,s: 3,100,243 msg/sec AtomicQueueB, 5,i: 3,688,059 msg/sec AtomicQueueB, 6,s: 2,573,948 msg/sec AtomicQueueB, 6,i: 3,978,187 msg/sec AtomicQueueB, 7,s: 2,920,102 msg/sec AtomicQueueB, 7,i: 3,186,030 msg/sec AtomicQueueB, 8,s: 3,061,245 msg/sec AtomicQueueB, 8,i: 2,862,373 msg/sec AtomicQueueB, 9,s: 2,759,838 msg/sec AtomicQueueB, 9,i: 2,916,169 msg/sec AtomicQueueB,10,s: 2,788,548 msg/sec AtomicQueueB,10,i: 2,926,403 msg/sec AtomicQueueB,11,s: 2,742,074 msg/sec AtomicQueueB,11,i: 2,917,733 msg/sec AtomicQueueB,12,s: 2,682,450 msg/sec AtomicQueueB,12,i: 2,861,058 msg/sec AtomicQueueB,13,s: 2,535,696 msg/sec AtomicQueueB,13,i: 2,813,097 msg/sec AtomicQueueB,14,s: 2,386,637 msg/sec AtomicQueueB,14,i: 2,763,149 msg/sec AtomicQueueB,15,s: 2,376,837 msg/sec AtomicQueueB,15,i: 2,771,446 msg/sec AtomicQueueB,16,s: 2,277,480 msg/sec AtomicQueueB,16,i: 2,734,734 msg/sec OptimistAtomicQueueB, 1,s: 513,274,415 msg/sec OptimistAtomicQueueB, 1,i: 622,031,711 msg/sec OptimistAtomicQueueB, 2,s: 46,964,905 msg/sec OptimistAtomicQueueB, 2,i: 49,746,546 msg/sec OptimistAtomicQueueB, 3,s: 58,573,528 msg/sec OptimistAtomicQueueB, 3,i: 57,593,269 msg/sec OptimistAtomicQueueB, 4,s: 59,617,809 msg/sec OptimistAtomicQueueB, 4,i: 65,356,562 msg/sec OptimistAtomicQueueB, 5,s: 33,076,401 msg/sec OptimistAtomicQueueB, 5,i: 38,936,076 msg/sec OptimistAtomicQueueB, 6,s: 34,363,460 msg/sec OptimistAtomicQueueB, 6,i: 33,987,457 msg/sec OptimistAtomicQueueB, 7,s: 39,073,655 msg/sec OptimistAtomicQueueB, 7,i: 39,298,110 msg/sec OptimistAtomicQueueB, 8,s: 51,527,911 msg/sec OptimistAtomicQueueB, 8,i: 41,246,260 msg/sec OptimistAtomicQueueB, 9,s: 40,872,362 msg/sec OptimistAtomicQueueB, 9,i: 45,359,995 msg/sec OptimistAtomicQueueB,10,s: 39,957,835 msg/sec OptimistAtomicQueueB,10,i: 46,994,876 msg/sec OptimistAtomicQueueB,11,s: 44,207,626 msg/sec OptimistAtomicQueueB,11,i: 52,300,450 msg/sec OptimistAtomicQueueB,12,s: 43,892,123 msg/sec OptimistAtomicQueueB,12,i: 51,008,813 msg/sec OptimistAtomicQueueB,13,s: 43,707,829 msg/sec OptimistAtomicQueueB,13,i: 54,419,796 msg/sec OptimistAtomicQueueB,14,s: 43,444,075 msg/sec OptimistAtomicQueueB,14,i: 55,634,340 msg/sec OptimistAtomicQueueB,15,s: 46,094,281 msg/sec OptimistAtomicQueueB,15,i: 59,956,745 msg/sec OptimistAtomicQueueB,16,s: 46,091,947 msg/sec OptimistAtomicQueueB,16,i: 64,632,853 msg/sec AtomicQueue2, 1,s: 131,857,095 msg/sec AtomicQueue2, 1,i: 131,193,359 msg/sec AtomicQueue2, 2,s: 9,961,880 msg/sec AtomicQueue2, 2,i: 10,539,629 msg/sec AtomicQueue2, 3,s: 8,427,728 msg/sec AtomicQueue2, 3,i: 8,918,648 msg/sec AtomicQueue2, 4,s: 6,676,716 msg/sec AtomicQueue2, 4,i: 7,087,382 msg/sec AtomicQueue2, 5,s: 3,125,314 msg/sec AtomicQueue2, 5,i: 4,276,509 msg/sec AtomicQueue2, 6,s: 2,567,007 msg/sec AtomicQueue2, 6,i: 3,476,732 msg/sec AtomicQueue2, 7,s: 2,904,663 msg/sec AtomicQueue2, 7,i: 3,271,104 msg/sec AtomicQueue2, 8,s: 3,022,427 msg/sec AtomicQueue2, 8,i: 2,883,823 msg/sec AtomicQueue2, 9,s: 2,766,534 msg/sec AtomicQueue2, 9,i: 2,928,869 msg/sec AtomicQueue2,10,s: 2,782,486 msg/sec AtomicQueue2,10,i: 2,975,678 msg/sec AtomicQueue2,11,s: 2,747,222 msg/sec AtomicQueue2,11,i: 2,943,469 msg/sec AtomicQueue2,12,s: 2,713,947 msg/sec AtomicQueue2,12,i: 2,858,050 msg/sec AtomicQueue2,13,s: 2,546,612 msg/sec AtomicQueue2,13,i: 2,815,494 msg/sec AtomicQueue2,14,s: 2,391,553 msg/sec AtomicQueue2,14,i: 2,760,749 msg/sec AtomicQueue2,15,s: 2,389,766 msg/sec AtomicQueue2,15,i: 2,739,728 msg/sec AtomicQueue2,16,s: 2,287,505 msg/sec AtomicQueue2,16,i: 2,709,929 msg/sec OptimistAtomicQueue2, 1,s: 106,962,754 msg/sec OptimistAtomicQueue2, 1,i: 107,206,767 msg/sec OptimistAtomicQueue2, 2,s: 43,593,463 msg/sec OptimistAtomicQueue2, 2,i: 47,559,728 msg/sec OptimistAtomicQueue2, 3,s: 56,274,405 msg/sec OptimistAtomicQueue2, 3,i: 50,075,935 msg/sec OptimistAtomicQueue2, 4,s: 59,265,656 msg/sec OptimistAtomicQueue2, 4,i: 57,888,872 msg/sec OptimistAtomicQueue2, 5,s: 31,472,469 msg/sec OptimistAtomicQueue2, 5,i: 32,912,469 msg/sec OptimistAtomicQueue2, 6,s: 32,908,929 msg/sec OptimistAtomicQueue2, 6,i: 32,432,166 msg/sec OptimistAtomicQueue2, 7,s: 37,750,635 msg/sec OptimistAtomicQueue2, 7,i: 37,746,759 msg/sec OptimistAtomicQueue2, 8,s: 48,987,815 msg/sec OptimistAtomicQueue2, 8,i: 39,916,463 msg/sec OptimistAtomicQueue2, 9,s: 37,583,877 msg/sec OptimistAtomicQueue2, 9,i: 42,464,389 msg/sec OptimistAtomicQueue2,10,s: 37,574,369 msg/sec OptimistAtomicQueue2,10,i: 44,214,259 msg/sec OptimistAtomicQueue2,11,s: 43,040,245 msg/sec OptimistAtomicQueue2,11,i: 48,972,591 msg/sec OptimistAtomicQueue2,12,s: 42,137,382 msg/sec OptimistAtomicQueue2,12,i: 53,089,425 msg/sec OptimistAtomicQueue2,13,s: 41,072,017 msg/sec OptimistAtomicQueue2,13,i: 53,295,584 msg/sec OptimistAtomicQueue2,14,s: 40,796,797 msg/sec OptimistAtomicQueue2,14,i: 52,555,970 msg/sec OptimistAtomicQueue2,15,s: 43,207,747 msg/sec OptimistAtomicQueue2,15,i: 56,068,732 msg/sec OptimistAtomicQueue2,16,s: 43,399,357 msg/sec OptimistAtomicQueue2,16,i: 58,917,153 msg/sec AtomicQueueB2, 1,s: 73,580,159 msg/sec AtomicQueueB2, 1,i: 71,977,545 msg/sec AtomicQueueB2, 2,s: 9,845,272 msg/sec AtomicQueueB2, 2,i: 10,400,934 msg/sec AtomicQueueB2, 3,s: 8,322,165 msg/sec AtomicQueueB2, 3,i: 8,839,777 msg/sec AtomicQueueB2, 4,s: 6,614,973 msg/sec AtomicQueueB2, 4,i: 6,974,991 msg/sec AtomicQueueB2, 5,s: 3,100,140 msg/sec AtomicQueueB2, 5,i: 3,711,287 msg/sec AtomicQueueB2, 6,s: 2,554,670 msg/sec AtomicQueueB2, 6,i: 3,460,562 msg/sec AtomicQueueB2, 7,s: 2,895,106 msg/sec AtomicQueueB2, 7,i: 3,175,300 msg/sec AtomicQueueB2, 8,s: 3,006,067 msg/sec AtomicQueueB2, 8,i: 2,853,618 msg/sec AtomicQueueB2, 9,s: 2,809,717 msg/sec AtomicQueueB2, 9,i: 2,870,259 msg/sec AtomicQueueB2,10,s: 2,756,926 msg/sec AtomicQueueB2,10,i: 2,832,115 msg/sec AtomicQueueB2,11,s: 2,825,185 msg/sec AtomicQueueB2,11,i: 2,924,680 msg/sec AtomicQueueB2,12,s: 2,774,573 msg/sec AtomicQueueB2,12,i: 2,863,489 msg/sec AtomicQueueB2,13,s: 2,615,857 msg/sec AtomicQueueB2,13,i: 2,809,431 msg/sec AtomicQueueB2,14,s: 2,456,722 msg/sec AtomicQueueB2,14,i: 2,736,598 msg/sec AtomicQueueB2,15,s: 2,435,599 msg/sec AtomicQueueB2,15,i: 2,749,354 msg/sec AtomicQueueB2,16,s: 2,303,662 msg/sec AtomicQueueB2,16,i: 2,744,810 msg/sec OptimistAtomicQueueB2, 1,s: 601,401,190 msg/sec OptimistAtomicQueueB2, 1,i: 152,450,953 msg/sec OptimistAtomicQueueB2, 2,s: 42,085,813 msg/sec OptimistAtomicQueueB2, 2,i: 45,952,626 msg/sec OptimistAtomicQueueB2, 3,s: 56,801,616 msg/sec OptimistAtomicQueueB2, 3,i: 53,130,089 msg/sec OptimistAtomicQueueB2, 4,s: 58,962,451 msg/sec OptimistAtomicQueueB2, 4,i: 60,050,089 msg/sec OptimistAtomicQueueB2, 5,s: 31,357,695 msg/sec OptimistAtomicQueueB2, 5,i: 31,442,337 msg/sec OptimistAtomicQueueB2, 6,s: 32,958,147 msg/sec OptimistAtomicQueueB2, 6,i: 32,248,992 msg/sec OptimistAtomicQueueB2, 7,s: 37,304,385 msg/sec OptimistAtomicQueueB2, 7,i: 37,046,829 msg/sec OptimistAtomicQueueB2, 8,s: 47,973,371 msg/sec OptimistAtomicQueueB2, 8,i: 38,986,487 msg/sec OptimistAtomicQueueB2, 9,s: 37,349,294 msg/sec OptimistAtomicQueueB2, 9,i: 41,214,292 msg/sec OptimistAtomicQueueB2,10,s: 37,336,362 msg/sec OptimistAtomicQueueB2,10,i: 43,277,333 msg/sec OptimistAtomicQueueB2,11,s: 42,462,040 msg/sec OptimistAtomicQueueB2,11,i: 47,518,283 msg/sec OptimistAtomicQueueB2,12,s: 41,710,309 msg/sec OptimistAtomicQueueB2,12,i: 51,468,309 msg/sec OptimistAtomicQueueB2,13,s: 41,027,835 msg/sec OptimistAtomicQueueB2,13,i: 52,610,200 msg/sec OptimistAtomicQueueB2,14,s: 40,657,455 msg/sec OptimistAtomicQueueB2,14,i: 52,993,610 msg/sec OptimistAtomicQueueB2,15,s: 42,970,622 msg/sec OptimistAtomicQueueB2,15,i: 56,461,172 msg/sec OptimistAtomicQueueB2,16,s: 43,205,198 msg/sec OptimistAtomicQueueB2,16,i: 59,095,273 msg/sec moodycamel::ReaderWriterQueue, 1,s: 312,770,677 msg/sec moodycamel::ReaderWriterQueue, 1,i: 141,671,499 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,101,171 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,183,848 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,355,413 msg/sec moodycamel::ConcurrentQueue, 2,i: 35,783,425 msg/sec moodycamel::ConcurrentQueue, 3,s: 51,845,781 msg/sec moodycamel::ConcurrentQueue, 3,i: 53,569,723 msg/sec moodycamel::ConcurrentQueue, 4,s: 102,206,259 msg/sec moodycamel::ConcurrentQueue, 4,i: 95,174,497 msg/sec moodycamel::ConcurrentQueue, 5,s: 116,223,936 msg/sec moodycamel::ConcurrentQueue, 5,i: 178,815,264 msg/sec moodycamel::ConcurrentQueue, 6,s: 199,312,778 msg/sec moodycamel::ConcurrentQueue, 6,i: 221,460,653 msg/sec moodycamel::ConcurrentQueue, 7,s: 226,868,983 msg/sec moodycamel::ConcurrentQueue, 7,i: 219,586,432 msg/sec moodycamel::ConcurrentQueue, 8,s: 281,070,946 msg/sec moodycamel::ConcurrentQueue, 8,i: 240,412,137 msg/sec moodycamel::ConcurrentQueue, 9,s: 276,658,840 msg/sec moodycamel::ConcurrentQueue, 9,i: 267,920,833 msg/sec moodycamel::ConcurrentQueue,10,s: 248,841,164 msg/sec moodycamel::ConcurrentQueue,10,i: 282,834,928 msg/sec moodycamel::ConcurrentQueue,11,s: 214,890,473 msg/sec moodycamel::ConcurrentQueue,11,i: 268,410,357 msg/sec moodycamel::ConcurrentQueue,12,s: 165,220,370 msg/sec moodycamel::ConcurrentQueue,12,i: 181,596,236 msg/sec moodycamel::ConcurrentQueue,13,s: 198,602,281 msg/sec moodycamel::ConcurrentQueue,13,i: 280,504,310 msg/sec moodycamel::ConcurrentQueue,14,s: 320,967,086 msg/sec moodycamel::ConcurrentQueue,14,i: 355,405,874 msg/sec moodycamel::ConcurrentQueue,15,s: 447,353,962 msg/sec moodycamel::ConcurrentQueue,15,i: 454,391,064 msg/sec moodycamel::ConcurrentQueue,16,s: 516,503,340 msg/sec moodycamel::ConcurrentQueue,16,i: 507,548,528 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,790,502 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,820,508 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,137,445 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,141,721 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,972,483 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,080,522 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,419,124 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,627,450 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,081,328 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,636,762 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,800,248 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,429,976 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,667,937 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,160,807 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,785,911 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,806,019 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,729,320 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,906,659 msg/sec tbb::concurrent_bounded_queue,10,s: 2,765,091 msg/sec tbb::concurrent_bounded_queue,10,i: 2,895,771 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,893 msg/sec tbb::concurrent_bounded_queue,11,i: 2,826,443 msg/sec tbb::concurrent_bounded_queue,12,s: 2,557,396 msg/sec tbb::concurrent_bounded_queue,12,i: 2,800,173 msg/sec tbb::concurrent_bounded_queue,13,s: 2,502,386 msg/sec tbb::concurrent_bounded_queue,13,i: 2,764,655 msg/sec tbb::concurrent_bounded_queue,14,s: 2,387,017 msg/sec tbb::concurrent_bounded_queue,14,i: 2,751,203 msg/sec tbb::concurrent_bounded_queue,15,s: 2,343,908 msg/sec tbb::concurrent_bounded_queue,15,i: 2,614,211 msg/sec tbb::concurrent_bounded_queue,16,s: 2,265,833 msg/sec tbb::concurrent_bounded_queue,16,i: 2,537,457 msg/sec xenium::michael_scott_queue, 1,s: 13,428,127 msg/sec xenium::michael_scott_queue, 1,i: 13,709,539 msg/sec xenium::michael_scott_queue, 2,s: 9,398,899 msg/sec xenium::michael_scott_queue, 2,i: 9,187,454 msg/sec xenium::michael_scott_queue, 3,s: 7,649,454 msg/sec xenium::michael_scott_queue, 3,i: 7,568,902 msg/sec xenium::michael_scott_queue, 4,s: 5,858,071 msg/sec xenium::michael_scott_queue, 4,i: 5,807,181 msg/sec xenium::michael_scott_queue, 5,s: 3,605,046 msg/sec xenium::michael_scott_queue, 5,i: 3,958,237 msg/sec xenium::michael_scott_queue, 6,s: 3,306,986 msg/sec xenium::michael_scott_queue, 6,i: 3,574,108 msg/sec xenium::michael_scott_queue, 7,s: 3,176,263 msg/sec xenium::michael_scott_queue, 7,i: 3,257,736 msg/sec xenium::michael_scott_queue, 8,s: 2,356,290 msg/sec xenium::michael_scott_queue, 8,i: 2,791,047 msg/sec xenium::michael_scott_queue, 9,s: 2,925,694 msg/sec xenium::michael_scott_queue, 9,i: 2,852,057 msg/sec xenium::michael_scott_queue,10,s: 2,830,815 msg/sec xenium::michael_scott_queue,10,i: 2,827,758 msg/sec xenium::michael_scott_queue,11,s: 2,758,406 msg/sec xenium::michael_scott_queue,11,i: 2,870,852 msg/sec xenium::michael_scott_queue,12,s: 2,610,121 msg/sec xenium::michael_scott_queue,12,i: 2,735,240 msg/sec xenium::michael_scott_queue,13,s: 2,535,140 msg/sec xenium::michael_scott_queue,13,i: 2,650,463 msg/sec xenium::michael_scott_queue,14,s: 2,417,069 msg/sec xenium::michael_scott_queue,14,i: 2,594,544 msg/sec xenium::michael_scott_queue,15,s: 2,321,384 msg/sec xenium::michael_scott_queue,15,i: 2,601,842 msg/sec xenium::michael_scott_queue,16,s: 2,209,716 msg/sec xenium::michael_scott_queue,16,i: 2,491,910 msg/sec xenium::ramalhete_queue, 1,s: 81,079,227 msg/sec xenium::ramalhete_queue, 1,i: 24,004,540 msg/sec xenium::ramalhete_queue, 2,s: 38,235,991 msg/sec xenium::ramalhete_queue, 2,i: 34,213,050 msg/sec xenium::ramalhete_queue, 3,s: 41,750,267 msg/sec xenium::ramalhete_queue, 3,i: 40,144,804 msg/sec xenium::ramalhete_queue, 4,s: 51,540,314 msg/sec xenium::ramalhete_queue, 4,i: 47,886,077 msg/sec xenium::ramalhete_queue, 5,s: 37,658,191 msg/sec xenium::ramalhete_queue, 5,i: 23,445,813 msg/sec xenium::ramalhete_queue, 6,s: 39,060,435 msg/sec xenium::ramalhete_queue, 6,i: 26,623,674 msg/sec xenium::ramalhete_queue, 7,s: 40,597,145 msg/sec xenium::ramalhete_queue, 7,i: 27,990,735 msg/sec xenium::ramalhete_queue, 8,s: 50,452,009 msg/sec xenium::ramalhete_queue, 8,i: 29,687,854 msg/sec xenium::ramalhete_queue, 9,s: 33,339,199 msg/sec xenium::ramalhete_queue, 9,i: 35,506,701 msg/sec xenium::ramalhete_queue,10,s: 34,943,189 msg/sec xenium::ramalhete_queue,10,i: 40,520,263 msg/sec xenium::ramalhete_queue,11,s: 38,257,555 msg/sec xenium::ramalhete_queue,11,i: 43,185,106 msg/sec xenium::ramalhete_queue,12,s: 39,357,409 msg/sec xenium::ramalhete_queue,12,i: 41,076,272 msg/sec xenium::ramalhete_queue,13,s: 39,661,477 msg/sec xenium::ramalhete_queue,13,i: 42,620,327 msg/sec xenium::ramalhete_queue,14,s: 38,093,150 msg/sec xenium::ramalhete_queue,14,i: 43,039,906 msg/sec xenium::ramalhete_queue,15,s: 39,519,168 msg/sec xenium::ramalhete_queue,15,i: 43,581,978 msg/sec xenium::ramalhete_queue,16,s: 39,653,028 msg/sec xenium::ramalhete_queue,16,i: 44,619,305 msg/sec xenium::vyukov_bounded_queue, 1,s: 300,140,144 msg/sec xenium::vyukov_bounded_queue, 1,i: 308,649,647 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,359,104 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,970,756 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,659,197 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,530,425 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,198,023 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,598,458 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,982,620 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,390,226 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,077,846 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,530,438 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,228,583 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,404,737 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,199,181 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,548,186 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,057,546 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,711,453 msg/sec xenium::vyukov_bounded_queue,10,s: 7,458,331 msg/sec xenium::vyukov_bounded_queue,10,i: 6,840,973 msg/sec xenium::vyukov_bounded_queue,11,s: 7,494,301 msg/sec xenium::vyukov_bounded_queue,11,i: 7,194,043 msg/sec xenium::vyukov_bounded_queue,12,s: 7,427,778 msg/sec xenium::vyukov_bounded_queue,12,i: 7,346,317 msg/sec xenium::vyukov_bounded_queue,13,s: 7,083,645 msg/sec xenium::vyukov_bounded_queue,13,i: 7,274,544 msg/sec xenium::vyukov_bounded_queue,14,s: 7,029,614 msg/sec xenium::vyukov_bounded_queue,14,i: 7,428,919 msg/sec xenium::vyukov_bounded_queue,15,s: 7,104,423 msg/sec xenium::vyukov_bounded_queue,15,i: 7,262,050 msg/sec xenium::vyukov_bounded_queue,16,s: 6,848,085 msg/sec xenium::vyukov_bounded_queue,16,i: 7,079,968 msg/sec boost::lockfree::queue, 1,s: 7,756,626 msg/sec boost::lockfree::queue, 1,i: 7,791,688 msg/sec boost::lockfree::queue, 2,s: 5,840,133 msg/sec boost::lockfree::queue, 2,i: 5,938,790 msg/sec boost::lockfree::queue, 3,s: 4,928,450 msg/sec boost::lockfree::queue, 3,i: 4,809,269 msg/sec boost::lockfree::queue, 4,s: 4,376,771 msg/sec boost::lockfree::queue, 4,i: 4,376,459 msg/sec boost::lockfree::queue, 5,s: 2,667,712 msg/sec boost::lockfree::queue, 5,i: 2,653,665 msg/sec boost::lockfree::queue, 6,s: 1,443,403 msg/sec boost::lockfree::queue, 6,i: 2,813,234 msg/sec boost::lockfree::queue, 7,s: 1,393,480 msg/sec boost::lockfree::queue, 7,i: 2,920,856 msg/sec boost::lockfree::queue, 8,s: 1,160,236 msg/sec boost::lockfree::queue, 8,i: 2,746,793 msg/sec boost::lockfree::queue, 9,s: 1,441,407 msg/sec boopthread_spinlock: producers: 4: consumer 1 received too few messages: 0.09% of expected. pthread_spinlock: producers: 5: consumer 2 received too few messages: 0.07% of expected. st::lockfree::queue, 9,i: 1,914,968 msg/sec boost::lockfree::queue,10,s: 1,524,969 msg/sec boost::lockfree::queue,10,i: 1,958,217 msg/sec boost::lockfree::queue,11,s: 1,764,912 msg/sec boost::lockfree::queue,11,i: 1,882,352 msg/sec boost::lockfree::queue,12,s: 1,858,961 msg/sec boost::lockfree::queue,12,i: 1,710,744 msg/sec boost::lockfree::queue,13,s: 1,632,864 msg/sec boost::lockfree::queue,13,i: 1,689,177 msg/sec boost::lockfree::queue,14,s: 1,562,388 msg/sec boost::lockfree::queue,14,i: 1,623,178 msg/sec boost::lockfree::queue,15,s: 1,576,408 msg/sec boost::lockfree::queue,15,i: 1,573,751 msg/sec boost::lockfree::queue,16,s: 1,518,351 msg/sec boost::lockfree::queue,16,i: 1,497,551 msg/sec std::mutex, 1,s: 3,717,529 msg/sec std::mutex, 1,i: 3,657,997 msg/sec std::mutex, 2,s: 12,461,685 msg/sec std::mutex, 2,i: 12,103,242 msg/sec std::mutex, 3,s: 6,953,739 msg/sec std::mutex, 3,i: 6,765,802 msg/sec std::mutex, 4,s: 7,048,444 msg/sec std::mutex, 4,i: 6,629,921 msg/sec std::mutex, 5,s: 3,374,190 msg/sec std::mutex, 5,i: 3,357,600 msg/sec std::mutex, 6,s: 3,051,262 msg/sec std::mutex, 6,i: 3,056,981 msg/sec std::mutex, 7,s: 3,279,774 msg/sec std::mutex, 7,i: 2,912,908 msg/sec std::mutex, 8,s: 3,364,041 msg/sec std::mutex, 8,i: 2,761,363 msg/sec std::mutex, 9,s: 2,909,610 msg/sec std::mutex, 9,i: 2,739,616 msg/sec std::mutex,10,s: 2,627,364 msg/sec std::mutex,10,i: 2,698,085 msg/sec std::mutex,11,s: 2,629,937 msg/sec std::mutex,11,i: 2,682,083 msg/sec std::mutex,12,s: 2,651,012 msg/sec std::mutex,12,i: 2,555,554 msg/sec std::mutex,13,s: 2,526,000 msg/sec std::mutex,13,i: 2,421,046 msg/sec std::mutex,14,s: 2,407,168 msg/sec std::mutex,14,i: 2,351,678 msg/sec std::mutex,15,s: 2,424,834 msg/sec std::mutex,15,i: 2,362,020 msg/sec std::mutex,16,s: 2,343,800 msg/sec std::mutex,16,i: 2,283,861 msg/sec pthread_spinlock, 1,s: 17,680,599 msg/sec pthread_spinlock, 1,i: 18,035,228 msg/sec pthread_spinlock, 2,s: 7,481,791 msg/sec pthread_spinlock, 2,i: 1,825,517 msg/sec pthread_spinlock, 3,s: 1,010,988 msg/sec pthread_spinlock, 3,i: 6,318,958 msg/sec pthread_spinlock, 4,s: 2,698,649 msg/sec pthread_spinlock, 4,i: 1,179,435 msg/sec pthread_spinlock, 5,s: 2,952,008 msg/sec pthread_spinlock, 5,i: 3,872,291 msg/sec pthread_spinlock, 6,s: 2,101,474 msg/sec pthread_spinlock, 6,i: 3,180,532 msg/sec pthread_spinlock, 7,s: 2,865,947 msg/sec pthread_spinlock, 7,i: 3,083,263 msg/sec pthread_spinlock, 8,s: 2,975,831 msg/sec pthread_spinlock, 8,i: 2,666,830 msg/sec pthread_spinlock, 9,s: 2,848,172 msg/sec pthread_spinlock, 9,i: 2,308,454 msg/sec pthread_spinlock,10,s: 2,721,158 msg/sec pthread_spinlock,10,i: 2,374,352 msg/sec pthread_spinlock,11,s: 2,467,232 msg/sec pthread_spinlock,11,i: 2,337,614 msg/sec pthread_spinlock,12,s: 2,572,301 msg/sec pthread_spinlock,12,i: 2,057,978 msg/sec pthread_spinlock,13,s: 2,441,238 msg/sec pthread_spinlock,13,i: 2,119,490 msg/sec pthread_spinlock,14,s: 2,251,949 msg/sec pthread_spinlock,14,i: 2,096,814 msg/sec pthread_spinlock,15,s: 2,046,806 msg/sec pthread_spinlock,15,i: 1,931,343 msg/sec pthread_spinlock,16,s: 1,778,178 msg/sec pthread_spinlock,16,i: 1,605,247 msg/sec tbb::spin_mutex, 1,s: 37,765,919 msg/sec tbb::spin_mutex, 1,i: 37,674,634 msg/sec tbb::spin_mutex, 2,s: 16,482,121 msg/sec tbb::spin_mutex, 2,i: 15,990,264 msg/sec tbb::spin_mutex, 3,s: 12,051,699 msg/sec tbb::spin_mutex, 3,i: 11,890,878 msg/sec tbb::spin_mutex, 4,s: 10,275,063 msg/sec tbb::spin_mutex, 4,i: 9,979,364 msg/sec tbb::spin_mutex, 5,s: 5,947,736 msg/sec tbb::spin_mutex, 5,i: 5,637,637 msg/sec tbb::spin_mutex, 6,s: 5,099,425 msg/sec tbb::spin_mutex, 6,i: 4,741,407 msg/sec tbb::spin_mutex, 7,s: 4,364,203 msg/sec tbb::spin_mutex, 7,i: 4,697,746 msg/sec tbb::spin_mutex, 8,s: 4,303,308 msg/sec tbb::spin_mutex, 8,i: 4,085,905 msg/sec tbb::spin_mutex, 9,s: 4,639,727 msg/sec tbb::spin_mutex, 9,i: 4,346,013 msg/sec tbb::spin_mutex,10,s: 4,390,489 msg/sec tbb::spin_mutex,10,i: 4,115,911 msg/sec tbb::spin_mutex,11,s: 4,290,243 msg/sec tbb::spin_mutex,11,i: 3,603,309 msg/sec tbb::spin_mutex,12,s: 3,794,954 msg/sec tbb::spin_mutex,12,i: 3,488,351 msg/sec tbb::spin_mutex,13,s: 3,561,243 msg/sec tbb::spin_mutex,13,i: 3,211,086 msg/sec tbb::spin_mutex,14,s: 3,378,455 msg/sec tbb::spin_mutex,14,i: 3,098,583 msg/sec tbb::spin_mutex,15,s: 3,264,552 msg/sec tbb::spin_mutex,15,i: 3,274,372 msg/sec tbb::spin_mutex,16,s: 2,904,029 msg/sec tbb::spin_mutex,16,i: 3,010,404 msg/sec Elapsed time 6:11.70, user 5611.82s, system 603.38s, CPU 1672%, RSS 96732kB, exit-status 0. 2026-09-14 13:03:08 [8/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000042 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000043 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 113,976,936 msg/sec boost::lockfree::spsc_queue, 1,i: 112,732,427 msg/sec AtomicQueue, 1,s: 148,970,411 msg/sec AtomicQueue, 1,i: 144,761,858 msg/sec AtomicQueue, 2,s: 9,877,138 msg/sec AtomicQueue, 2,i: 10,326,945 msg/sec AtomicQueue, 3,s: 8,345,559 msg/sec AtomicQueue, 3,i: 8,815,688 msg/sec AtomicQueue, 4,s: 6,619,557 msg/sec AtomicQueue, 4,i: 7,023,775 msg/sec AtomicQueue, 5,s: 3,166,844 msg/sec AtomicQueue, 5,i: 4,322,058 msg/sec AtomicQueue, 6,s: 2,598,372 msg/sec AtomicQueue, 6,i: 4,030,215 msg/sec AtomicQueue, 7,s: 2,958,323 msg/sec AtomicQueue, 7,i: 3,208,897 msg/sec AtomicQueue, 8,s: 3,118,159 msg/sec AtomicQueue, 8,i: 2,910,357 msg/sec AtomicQueue, 9,s: 2,752,226 msg/sec AtomicQueue, 9,i: 2,945,728 msg/sec AtomicQueue,10,s: 2,802,734 msg/sec AtomicQueue,10,i: 2,912,256 msg/sec AtomicQueue,11,s: 2,797,963 msg/sec AtomicQueue,11,i: 2,936,828 msg/sec AtomicQueue,12,s: 2,677,065 msg/sec AtomicQueue,12,i: 2,874,576 msg/sec AtomicQueue,13,s: 2,521,342 msg/sec AtomicQueue,13,i: 2,800,365 msg/sec AtomicQueue,14,s: 2,370,074 msg/sec AtomicQueue,14,i: 2,770,598 msg/sec AtomicQueue,15,s: 2,360,725 msg/sec AtomicQueue,15,i: 2,753,859 msg/sec AtomicQueue,16,s: 2,252,788 msg/sec AtomicQueue,16,i: 2,729,996 msg/sec OptimistAtomicQueue, 1,s: 1,188,034,382 msg/sec OptimistAtomicQueue, 1,i: 1,194,947,831 msg/sec OptimistAtomicQueue, 2,s: 49,001,425 msg/sec OptimistAtomicQueue, 2,i: 53,306,621 msg/sec OptimistAtomicQueue, 3,s: 58,704,773 msg/sec OptimistAtomicQueue, 3,i: 59,820,922 msg/sec OptimistAtomicQueue, 4,s: 59,237,431 msg/sec OptimistAtomicQueue, 4,i: 64,943,585 msg/sec OptimistAtomicQueue, 5,s: 33,132,565 msg/sec OptimistAtomicQueue, 5,i: 39,732,226 msg/sec OptimistAtomicQueue, 6,s: 34,649,571 msg/sec OptimistAtomicQueue, 6,i: 35,170,365 msg/sec OptimistAtomicQueue, 7,s: 40,071,804 msg/sec OptimistAtomicQueue, 7,i: 40,068,480 msg/sec OptimistAtomicQueue, 8,s: 50,487,847 msg/sec OptimistAtomicQueue, 8,i: 41,284,453 msg/sec OptimistAtomicQueue, 9,s: 41,066,421 msg/sec OptimistAtomicQueue, 9,i: 44,564,862 msg/sec OptimistAtomicQueue,10,s: 39,766,448 msg/sec OptimistAtomicQueue,10,i: 48,369,647 msg/sec OptimistAtomicQueue,11,s: 44,292,877 msg/sec OptimistAtomicQueue,11,i: 53,214,567 msg/sec OptimistAtomicQueue,12,s: 43,195,783 msg/sec OptimistAtomicQueue,12,i: 54,016,025 msg/sec OptimistAtomicQueue,13,s: 43,413,254 msg/sec OptimistAtomicQueue,13,i: 55,074,314 msg/sec OptimistAtomicQueue,14,s: 43,349,161 msg/sec OptimistAtomicQueue,14,i: 56,329,626 msg/sec OptimistAtomicQueue,15,s: 45,845,626 msg/sec OptimistAtomicQueue,15,i: 60,652,609 msg/sec OptimistAtomicQueue,16,s: 45,878,797 msg/sec OptimistAtomicQueue,16,i: 64,666,330 msg/sec AtomicQueueB, 1,s: 49,597,574 msg/sec AtomicQueueB, 1,i: 49,521,215 msg/sec AtomicQueueB, 2,s: 9,738,088 msg/sec AtomicQueueB, 2,i: 10,191,946 msg/sec AtomicQueueB, 3,s: 8,179,954 msg/sec AtomicQueueB, 3,i: 8,705,680 msg/sec AtomicQueueB, 4,s: 6,551,928 msg/sec AtomicQueueB, 4,i: 6,900,638 msg/sec AtomicQueueB, 5,s: 3,126,391 msg/sec AtomicQueueB, 5,i: 4,311,037 msg/sec AtomicQueueB, 6,s: 2,569,748 msg/sec AtomicQueueB, 6,i: 3,480,851 msg/sec AtomicQueueB, 7,s: 2,913,337 msg/sec AtomicQueueB, 7,i: 3,213,137 msg/sec AtomicQueueB, 8,s: 3,050,587 msg/sec AtomicQueueB, 8,i: 2,864,549 msg/sec AtomicQueueB, 9,s: 2,712,018 msg/sec AtomicQueueB, 9,i: 2,859,072 msg/sec AtomicQueueB,10,s: 2,777,797 msg/sec AtomicQueueB,10,i: 2,866,972 msg/sec AtomicQueueB,11,s: 2,748,827 msg/sec AtomicQueueB,11,i: 2,919,558 msg/sec AtomicQueueB,12,s: 2,675,732 msg/sec AtomicQueueB,12,i: 2,858,973 msg/sec AtomicQueueB,13,s: 2,533,582 msg/sec AtomicQueueB,13,i: 2,807,541 msg/sec AtomicQueueB,14,s: 2,387,240 msg/sec AtomicQueueB,14,i: 2,755,810 msg/sec AtomicQueueB,15,s: 2,379,880 msg/sec AtomicQueueB,15,i: 2,756,216 msg/sec AtomicQueueB,16,s: 2,277,519 msg/sec AtomicQueueB,16,i: 2,739,316 msg/sec OptimistAtomicQueueB, 1,s: 513,540,631 msg/sec OptimistAtomicQueueB, 1,i: 511,128,459 msg/sec OptimistAtomicQueueB, 2,s: 46,740,652 msg/sec OptimistAtomicQueueB, 2,i: 48,860,361 msg/sec OptimistAtomicQueueB, 3,s: 58,557,373 msg/sec OptimistAtomicQueueB, 3,i: 57,734,949 msg/sec OptimistAtomicQueueB, 4,s: 59,576,609 msg/sec OptimistAtomicQueueB, 4,i: 66,267,259 msg/sec OptimistAtomicQueueB, 5,s: 33,055,682 msg/sec OptimistAtomicQueueB, 5,i: 39,631,718 msg/sec OptimistAtomicQueueB, 6,s: 34,390,522 msg/sec OptimistAtomicQueueB, 6,i: 34,922,770 msg/sec OptimistAtomicQueueB, 7,s: 39,099,443 msg/sec OptimistAtomicQueueB, 7,i: 39,983,941 msg/sec OptimistAtomicQueueB, 8,s: 51,489,044 msg/sec OptimistAtomicQueueB, 8,i: 41,235,630 msg/sec OptimistAtomicQueueB, 9,s: 41,166,279 msg/sec OptimistAtomicQueueB, 9,i: 45,375,061 msg/sec OptimistAtomicQueueB,10,s: 39,985,331 msg/sec OptimistAtomicQueueB,10,i: 47,162,320 msg/sec OptimistAtomicQueueB,11,s: 44,300,883 msg/sec OptimistAtomicQueueB,11,i: 52,645,795 msg/sec OptimistAtomicQueueB,12,s: 43,769,789 msg/sec OptimistAtomicQueueB,12,i: 56,493,493 msg/sec OptimistAtomicQueueB,13,s: 43,767,895 msg/sec OptimistAtomicQueueB,13,i: 54,639,676 msg/sec OptimistAtomicQueueB,14,s: 43,520,172 msg/sec OptimistAtomicQueueB,14,i: 55,866,476 msg/sec OptimistAtomicQueueB,15,s: 46,155,253 msg/sec OptimistAtomicQueueB,15,i: 60,186,822 msg/sec OptimistAtomicQueueB,16,s: 46,135,390 msg/sec OptimistAtomicQueueB,16,i: 64,760,135 msg/sec AtomicQueue2, 1,s: 128,475,709 msg/sec AtomicQueue2, 1,i: 139,645,693 msg/sec AtomicQueue2, 2,s: 9,950,903 msg/sec AtomicQueue2, 2,i: 10,526,859 msg/sec AtomicQueue2, 3,s: 8,404,698 msg/sec AtomicQueue2, 3,i: 8,926,061 msg/sec AtomicQueue2, 4,s: 6,686,202 msg/sec AtomicQueue2, 4,i: 7,074,003 msg/sec AtomicQueue2, 5,s: 3,134,846 msg/sec AtomicQueue2, 5,i: 4,280,420 msg/sec AtomicQueue2, 6,s: 2,563,846 msg/sec AtomicQueue2, 6,i: 3,463,181 msg/sec AtomicQueue2, 7,s: 2,902,564 msg/sec AtomicQueue2, 7,i: 3,267,725 msg/sec AtomicQueue2, 8,s: 3,022,152 msg/sec AtomicQueue2, 8,i: 2,880,752 msg/sec AtomicQueue2, 9,s: 2,743,641 msg/sec AtomicQueue2, 9,i: 2,900,415 msg/sec AtomicQueue2,10,s: 2,780,961 msg/sec AtomicQueue2,10,i: 2,897,663 msg/sec AtomicQueue2,11,s: 2,742,956 msg/sec AtomicQueue2,11,i: 2,946,681 msg/sec AtomicQueue2,12,s: 2,691,259 msg/sec AtomicQueue2,12,i: 2,842,933 msg/sec AtomicQueue2,13,s: 2,551,319 msg/sec AtomicQueue2,13,i: 2,769,705 msg/sec AtomicQueue2,14,s: 2,392,829 msg/sec AtomicQueue2,14,i: 2,755,084 msg/sec AtomicQueue2,15,s: 2,389,368 msg/sec AtomicQueue2,15,i: 2,808,512 msg/sec AtomicQueue2,16,s: 2,292,090 msg/sec AtomicQueue2,16,i: 2,709,933 msg/sec OptimistAtomicQueue2, 1,s: 107,375,750 msg/sec OptimistAtomicQueue2, 1,i: 107,222,745 msg/sec OptimistAtomicQueue2, 2,s: 43,528,966 msg/sec OptimistAtomicQueue2, 2,i: 47,432,050 msg/sec OptimistAtomicQueue2, 3,s: 54,806,372 msg/sec OptimistAtomicQueue2, 3,i: 49,935,283 msg/sec OptimistAtomicQueue2, 4,s: 59,323,385 msg/sec OptimistAtomicQueue2, 4,i: 57,823,801 msg/sec OptimistAtomicQueue2, 5,s: 31,512,367 msg/sec OptimistAtomicQueue2, 5,i: 34,456,858 msg/sec OptimistAtomicQueue2, 6,s: 32,854,599 msg/sec OptimistAtomicQueue2, 6,i: 32,420,032 msg/sec OptimistAtomicQueue2, 7,s: 37,719,380 msg/sec OptimistAtomicQueue2, 7,i: 37,685,891 msg/sec OptimistAtomicQueue2, 8,s: 49,009,542 msg/sec OptimistAtomicQueue2, 8,i: 39,907,893 msg/sec OptimistAtomicQueue2, 9,s: 37,609,730 msg/sec OptimistAtomicQueue2, 9,i: 42,697,057 msg/sec OptimistAtomicQueue2,10,s: 37,509,933 msg/sec OptimistAtomicQueue2,10,i: 44,143,587 msg/sec OptimistAtomicQueue2,11,s: 43,071,629 msg/sec OptimistAtomicQueue2,11,i: 48,664,570 msg/sec OptimistAtomicQueue2,12,s: 42,091,234 msg/sec OptimistAtomicQueue2,12,i: 50,499,444 msg/sec OptimistAtomicQueue2,13,s: 41,098,466 msg/sec OptimistAtomicQueue2,13,i: 53,694,486 msg/sec OptimistAtomicQueue2,14,s: 40,715,806 msg/sec OptimistAtomicQueue2,14,i: 52,977,636 msg/sec OptimistAtomicQueue2,15,s: 43,160,530 msg/sec OptimistAtomicQueue2,15,i: 56,041,522 msg/sec OptimistAtomicQueue2,16,s: 43,504,614 msg/sec OptimistAtomicQueue2,16,i: 59,181,796 msg/sec AtomicQueueB2, 1,s: 76,225,883 msg/sec AtomicQueueB2, 1,i: 51,829,609 msg/sec AtomicQueueB2, 2,s: 9,831,632 msg/sec AtomicQueueB2, 2,i: 10,448,108 msg/sec AtomicQueueB2, 3,s: 8,314,256 msg/sec AtomicQueueB2, 3,i: 8,843,309 msg/sec AtomicQueueB2, 4,s: 6,617,334 msg/sec AtomicQueueB2, 4,i: 6,972,018 msg/sec AtomicQueueB2, 5,s: 3,098,501 msg/sec AtomicQueueB2, 5,i: 4,327,320 msg/sec AtomicQueueB2, 6,s: 2,551,794 msg/sec AtomicQueueB2, 6,i: 3,984,149 msg/sec AtomicQueueB2, 7,s: 2,898,656 msg/sec AtomicQueueB2, 7,i: 3,182,137 msg/sec AtomicQueueB2, 8,s: 3,018,777 msg/sec AtomicQueueB2, 8,i: 2,852,660 msg/sec AtomicQueueB2, 9,s: 2,733,597 msg/sec AtomicQueueB2, 9,i: 2,841,580 msg/sec AtomicQueueB2,10,s: 2,831,461 msg/sec AtomicQueueB2,10,i: 2,911,712 msg/sec AtomicQueueB2,11,s: 2,816,261 msg/sec AtomicQueueB2,11,i: 2,892,055 msg/sec AtomicQueueB2,12,s: 2,772,644 msg/sec AtomicQueueB2,12,i: 2,857,554 msg/sec AtomicQueueB2,13,s: 2,613,167 msg/sec AtomicQueueB2,13,i: 2,812,481 msg/sec AtomicQueueB2,14,s: 2,464,341 msg/sec AtomicQueueB2,14,i: 2,760,518 msg/sec AtomicQueueB2,15,s: 2,419,877 msg/sec AtomicQueueB2,15,i: 2,751,610 msg/sec AtomicQueueB2,16,s: 2,301,930 msg/sec AtomicQueueB2,16,i: 2,741,011 msg/sec OptimistAtomicQueueB2, 1,s: 153,393,576 msg/sec OptimistAtomicQueueB2, 1,i: 151,975,542 msg/sec OptimistAtomicQueueB2, 2,s: 42,047,555 msg/sec OptimistAtomicQueueB2, 2,i: 45,923,842 msg/sec OptimistAtomicQueueB2, 3,s: 57,004,857 msg/sec OptimistAtomicQueueB2, 3,i: 53,142,342 msg/sec OptimistAtomicQueueB2, 4,s: 58,965,094 msg/sec OptimistAtomicQueueB2, 4,i: 60,038,804 msg/sec OptimistAtomicQueueB2, 5,s: 31,313,304 msg/sec OptimistAtomicQueueB2, 5,i: 31,571,362 msg/sec OptimistAtomicQueueB2, 6,s: 32,883,401 msg/sec OptimistAtomicQueueB2, 6,i: 32,402,059 msg/sec OptimistAtomicQueueB2, 7,s: 37,071,274 msg/sec OptimistAtomicQueueB2, 7,i: 36,968,437 msg/sec OptimistAtomicQueueB2, 8,s: 47,918,178 msg/sec OptimistAtomicQueueB2, 8,i: 38,978,098 msg/sec OptimistAtomicQueueB2, 9,s: 36,956,516 msg/sec OptimistAtomicQueueB2, 9,i: 41,214,716 msg/sec OptimistAtomicQueueB2,10,s: 37,294,464 msg/sec OptimistAtomicQueueB2,10,i: 43,063,390 msg/sec OptimistAtomicQueueB2,11,s: 42,436,796 msg/sec OptimistAtomicQueueB2,11,i: 47,204,488 msg/sec OptimistAtomicQueueB2,12,s: 41,747,031 msg/sec OptimistAtomicQueueB2,12,i: 51,146,298 msg/sec OptimistAtomicQueueB2,13,s: 40,837,325 msg/sec OptimistAtomicQueueB2,13,i: 52,482,201 msg/sec OptimistAtomicQueueB2,14,s: 40,786,148 msg/sec OptimistAtomicQueueB2,14,i: 53,425,411 msg/sec OptimistAtomicQueueB2,15,s: 43,163,064 msg/sec OptimistAtomicQueueB2,15,i: 56,493,898 msg/sec OptimistAtomicQueueB2,16,s: 43,331,827 msg/sec OptimistAtomicQueueB2,16,i: 59,150,046 msg/sec moodycamel::ReaderWriterQueue, 1,s: 175,614,492 msg/sec moodycamel::ReaderWriterQueue, 1,i: 553,989,132 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,046,440 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,062,378 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,671,753 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,972,548 msg/sec moodycamel::ConcurrentQueue, 3,s: 56,626,997 msg/sec moodycamel::ConcurrentQueue, 3,i: 61,512,519 msg/sec moodycamel::ConcurrentQueue, 4,s: 101,951,391 msg/sec moodycamel::ConcurrentQueue, 4,i: 78,811,799 msg/sec moodycamel::ConcurrentQueue, 5,s: 114,759,224 msg/sec moodycamel::ConcurrentQueue, 5,i: 178,021,056 msg/sec moodycamel::ConcurrentQueue, 6,s: 194,941,790 msg/sec moodycamel::ConcurrentQueue, 6,i: 225,970,955 msg/sec moodycamel::ConcurrentQueue, 7,s: 221,679,998 msg/sec moodycamel::ConcurrentQueue, 7,i: 202,884,090 msg/sec moodycamel::ConcurrentQueue, 8,s: 274,683,900 msg/sec moodycamel::ConcurrentQueue, 8,i: 226,356,674 msg/sec moodycamel::ConcurrentQueue, 9,s: 247,904,893 msg/sec moodycamel::ConcurrentQueue, 9,i: 222,825,897 msg/sec moodycamel::ConcurrentQueue,10,s: 308,743,031 msg/sec moodycamel::ConcurrentQueue,10,i: 207,115,876 msg/sec moodycamel::ConcurrentQueue,11,s: 274,899,581 msg/sec moodycamel::ConcurrentQueue,11,i: 198,108,128 msg/sec moodycamel::ConcurrentQueue,12,s: 155,755,495 msg/sec moodycamel::ConcurrentQueue,12,i: 195,272,990 msg/sec moodycamel::ConcurrentQueue,13,s: 268,830,832 msg/sec moodycamel::ConcurrentQueue,13,i: 275,827,433 msg/sec moodycamel::ConcurrentQueue,14,s: 329,074,359 msg/sec moodycamel::ConcurrentQueue,14,i: 356,747,268 msg/sec moodycamel::ConcurrentQueue,15,s: 441,464,971 msg/sec moodycamel::ConcurrentQueue,15,i: 478,580,835 msg/sec moodycamel::ConcurrentQueue,16,s: 545,798,257 msg/sec moodycamel::ConcurrentQueue,16,i: 486,738,187 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,781,230 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,799,946 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,119,922 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,130,764 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,975,974 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,075,096 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,415,050 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,620,944 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,071,050 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,113,627 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,800,964 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,441,286 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,659,799 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,163,432 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,786,293 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,809,983 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,638,621 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,910,447 msg/sec tbb::concurrent_bounded_queue,10,s: 2,762,004 msg/sec tbb::concurrent_bounded_queue,10,i: 2,937,173 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,223 msg/sec tbb::concurrent_bounded_queue,11,i: 2,860,334 msg/sec tbb::concurrent_bounded_queue,12,s: 2,560,540 msg/sec tbb::concurrent_bounded_queue,12,i: 2,730,213 msg/sec tbb::concurrent_bounded_queue,13,s: 2,494,943 msg/sec tbb::concurrent_bounded_queue,13,i: 2,760,445 msg/sec tbb::concurrent_bounded_queue,14,s: 2,387,718 msg/sec tbb::concurrent_bounded_queue,14,i: 2,685,450 msg/sec tbb::concurrent_bounded_queue,15,s: 2,345,622 msg/sec tbb::concurrent_bounded_queue,15,i: 2,616,409 msg/sec tbb::concurrent_bounded_queue,16,s: 2,266,209 msg/sec tbb::concurrent_bounded_queue,16,i: 2,537,195 msg/sec xenium::michael_scott_queue, 1,s: 13,305,003 msg/sec xenium::michael_scott_queue, 1,i: 13,738,274 msg/sec xenium::michael_scott_queue, 2,s: 9,417,085 msg/sec xenium::michael_scott_queue, 2,i: 9,206,812 msg/sec xenium::michael_scott_queue, 3,s: 7,630,893 msg/sec xenium::michael_scott_queue, 3,i: 7,545,056 msg/sec xenium::michael_scott_queue, 4,s: 5,867,791 msg/sec xenium::michael_scott_queue, 4,i: 5,850,375 msg/sec xenium::michael_scott_queue, 5,s: 3,599,436 msg/sec xenium::michael_scott_queue, 5,i: 3,936,163 msg/sec xenium::michael_scott_queue, 6,s: 3,355,007 msg/sec xenium::michael_scott_queue, 6,i: 3,566,793 msg/sec xenium::michael_scott_queue, 7,s: 3,210,249 msg/sec xenium::michael_scott_queue, 7,i: 3,235,527 msg/sec xenium::michael_scott_queue, 8,s: 2,343,606 msg/sec xenium::michael_scott_queue, 8,i: 2,796,887 msg/sec xenium::michael_scott_queue, 9,s: 2,868,902 msg/sec xenium::michael_scott_queue, 9,i: 2,859,978 msg/sec xenium::michael_scott_queue,10,s: 2,830,242 msg/sec xenium::michael_scott_queue,10,i: 2,815,854 msg/sec xenium::michael_scott_queue,11,s: 2,781,687 msg/sec xenium::michael_scott_queue,11,i: 2,847,374 msg/sec xenium::michael_scott_queue,12,s: 2,602,293 msg/sec xenium::michael_scott_queue,12,i: 2,736,430 msg/sec xenium::michael_scott_queue,13,s: 2,521,411 msg/sec xenium::michael_scott_queue,13,i: 2,666,752 msg/sec xenium::michael_scott_queue,14,s: 2,415,000 msg/sec xenium::michael_scott_queue,14,i: 2,613,444 msg/sec xenium::michael_scott_queue,15,s: 2,338,087 msg/sec xenium::michael_scott_queue,15,i: 2,613,640 msg/sec xenium::michael_scott_queue,16,s: 2,217,685 msg/sec xenium::michael_scott_queue,16,i: 2,504,371 msg/sec xenium::ramalhete_queue, 1,s: 67,423,947 msg/sec xenium::ramalhete_queue, 1,i: 67,465,841 msg/sec xenium::ramalhete_queue, 2,s: 37,029,048 msg/sec xenium::ramalhete_queue, 2,i: 42,554,743 msg/sec xenium::ramalhete_queue, 3,s: 44,298,959 msg/sec xenium::ramalhete_queue, 3,i: 43,890,030 msg/sec xenium::ramalhete_queue, 4,s: 49,402,173 msg/sec xenium::ramalhete_queue, 4,i: 46,523,422 msg/sec xenium::ramalhete_queue, 5,s: 37,240,495 msg/sec xenium::ramalhete_queue, 5,i: 23,395,777 msg/sec xenium::ramalhete_queue, 6,s: 39,060,938 msg/sec xenium::ramalhete_queue, 6,i: 26,249,469 msg/sec xenium::ramalhete_queue, 7,s: 40,631,239 msg/sec xenium::ramalhete_queue, 7,i: 28,132,043 msg/sec xenium::ramalhete_queue, 8,s: 51,505,380 msg/sec xenium::ramalhete_queue, 8,i: 30,101,621 msg/sec xenium::ramalhete_queue, 9,s: 32,772,129 msg/sec xenium::ramalhete_queue, 9,i: 36,010,768 msg/sec xenium::ramalhete_queue,10,s: 34,672,604 msg/sec xenium::ramalhete_queue,10,i: 40,686,390 msg/sec xenium::ramalhete_queue,11,s: 36,804,285 msg/sec xenium::ramalhete_queue,11,i: 41,679,709 msg/sec xenium::ramalhete_queue,12,s: 38,600,755 msg/sec xenium::ramalhete_queue,12,i: 43,830,736 msg/sec xenium::ramalhete_queue,13,s: 39,482,030 msg/sec xenium::ramalhete_queue,13,i: 42,394,442 msg/sec xenium::ramalhete_queue,14,s: 39,791,656 msg/sec xenium::ramalhete_queue,14,i: 42,975,466 msg/sec xenium::ramalhete_queue,15,s: 38,237,659 msg/sec xenium::ramalhete_queue,15,i: 43,960,719 msg/sec xenium::ramalhete_queue,16,s: 39,409,129 msg/sec xenium::ramalhete_queue,16,i: 44,691,210 msg/sec xenium::vyukov_bounded_queue, 1,s: 311,093,257 msg/sec xenium::vyukov_bounded_queue, 1,i: 311,889,825 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,490,859 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,044,258 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,766,603 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,346,552 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,301,434 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,577,915 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,041,399 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,505,552 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,146,063 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,909,762 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,271,625 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,490,631 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,285,034 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,566,601 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,033,663 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,690,199 msg/sec xenium::vyukov_bounded_queue,10,s: 7,766,613 msg/sec xenium::vyukov_bounded_queue,10,i: 6,868,704 msg/sec xenium::vyukov_bounded_queue,11,s: 7,270,811 msg/sec xenium::vyukov_bounded_queue,11,i: 7,231,518 msg/sec xenium::vyukov_bounded_queue,12,s: 7,582,126 msg/sec xenium::vyukov_bounded_queue,12,i: 7,545,601 msg/sec xenium::vyukov_bounded_queue,13,s: 7,108,060 msg/sec xenium::vyukov_bounded_queue,13,i: 7,406,458 msg/sec xenium::vyukov_bounded_queue,14,s: 7,021,435 msg/sec xenium::vyukov_bounded_queue,14,i: 7,542,327 msg/sec xenium::vyukov_bounded_queue,15,s: 7,126,843 msg/sec xenium::vyukov_bounded_queue,15,i: 7,315,550 msg/sec xenium::vyukov_bounded_queue,16,s: 6,852,819 msg/sec xenium::vyukov_bounded_queue,16,i: 7,064,853 msg/sec boost::lockfree::queue, 1,s: 7,820,259 msg/sec boost::lockfree::queue, 1,i: 7,818,838 msg/sec boost::lockfree::queue, 2,s: 5,887,539 msg/sec boost::lockfree::queue, 2,i: 5,912,331 msg/sec boost::lockfree::queue, 3,s: 4,943,185 msg/sec boost::lockfree::queue, 3,i: 4,804,615 msg/sec boost::lockfree::queue, 4,s: 4,364,020 msg/sec boost::lockfree::queue, 4,i: 4,356,697 msg/sec boost::lockfree::queue, 5,s: 2,651,101 msg/sec boost::lockfree::queue, 5,i: 2,903,426 msg/sec boost::lockfree::queue, 6,s: 1,441,695 msg/sec boost::lockfree::queue, 6,i: 2,832,618 msg/sec boost::lockfree::queue, 7,s: 1,376,021 msg/sec boost::lockfree::queue, 7,i: 2,862,888 msg/sec boost::lockfree::queue, 8,s: 1,161,322 msg/sec boost::lockfree::queue, 8,i: 1,829,316 msg/sec boost::lockfree::queue, 9,s: 1,438,097 msg/sec boost::lockfree::queue, 9,i: 1,955,099 msg/sec boost::lockfree::queue,10,s: 1,576,330 msg/sec boost::lockfree::queue,10,i: 1,924,263 msg/sec boost::lockfree::queue,11,s: 1,720,309 msg/sec boost::lockfree::queue,11,i: 1,928,061 msg/sec boost::lockfree::queue,12,s: 1,875,389 msg/sec boost::lockfree::queue,12,i: 1,647,258 msg/sec boost::lockfree::queue,13,s: 1,613,575 msg/sec boost::lockfree::queue,13,i: 1,684,448 msg/sec boost::lockfree::queue,14,s: 1,565,508 msg/sec boost::lockfree::queue,14,i: 1,667,886 msg/sec boost::lockfree::queue,15,s: 1,584,996 msg/sec boost::lockfree::queue,15,i: 1,571,804 msg/sec boost::lockfree::queue,16,s: 1,523,637 msg/sec boost::lockfree::queue,16,i: 1,494,480 msg/sec std::mutex, 1,s: 4,798,477 msg/sec std::mutex, 1,i: 4,860,335 msg/sec std::mutex, 2,s: 13,433,899 msg/sec std::mutex, 2,i: 12,712,229 msg/sec std::mutex, 3,s: 6,897,376 msg/sec std::mutex, 3,i: 6,708,280 msg/sec std::mutex, 4,s: 7,050,770 msg/sec std::mutex, 4,i: 6,773,792 msg/sec std::mutex, 5,s: 3,446,848 msg/sec std::mutex, 5,i: 3,423,078 msg/sec std::mutex, 6,s: 3,003,697 msg/sec std::mutex, 6,i: 2,945,189 msg/sec std::mutex, 7,s: 3,264,126 msg/sec std::mutex, 7,i: 2,886,812 msg/sec std::mutex, 8,s: 3,504,018 msg/sec std::mutex, 8,i: 2,824,880 msg/sec std::mutex, 9,s: 2,885,821 msg/sec std::mutex, 9,i: 2,729,913 msg/sec std::mutex,10,s: 2,720,697 msg/sec std::mutex,10,i: 2,643,158 msg/sec std::mutex,11,s: 2,622,565 msg/sec std::mutex,11,i: 2,668,871 msg/sec std::mutex,12,s: 2,697,090 msg/sec std::mutex,12,i: 2,558,751 msg/sec std::mutex,13,s: 2,469,792 msg/sec std::mutex,13,i: 2,401,659 msg/sec std::mutex,14,s: 2,390,256 msg/sec std::mutex,14,i: 2,329,598 msg/sec std::mutex,15,s: 2,454,577 msg/sec std::mutex,15,i: 2,408,948 msg/sec std::mutex,16,s: 2,321,948 msg/sec std::mutex,16,i: 2,276,757 msg/sec pthread_spinlock, 1,s: 17,714,910 msg/sec pthread_spinlock, 1,i: 18,195,026 msg/sec pthread_spinlock, 2,s: 6,948,553 msg/sec pthread_spinlock, 2,i: 1,517,701 msg/sec pthread_spinlock, 3,s: 887,187 msg/sec pthread_spinlock, 3,i: 5,429,284 msg/sec pthread_spinlock, 4,s: 1,097,665 msg/sec pthread_spinlock, 4,i: 810,983 msg/sec pthread_spinlock, 5,s: 2,791,687 msg/sec pthread_spinlock, 5,i: 929,413 msg/sec pthread_spinlock, 6,s: 2,080,052 msg/sec pthread_spinlock, 6,i: 3,131,085 msg/sec pthread_spinlock, 7,s: 2,873,699 msg/sec pthread_spinlock, 7,i: 3,047,832 msg/sec pthread_spinlock, 8,s: 2,971,843 msg/sec pthread_spinlock, 8,i: 2,639,783 msg/sec pthread_spinlock, 9,s: 2,616,115 msg/sec pthread_spinlock, 9,i: 2,335,326 msg/sec pthread_spinlock,10,s: 2,714,343 msg/sec pthread_spinlock,10,i: 2,395,341 msg/sec pthread_spinlock,11,s: 2,555,133 msg/sec pthread_spinlock,11,i: 2,434,199 msg/sec pthread_spinlock,12,s: 2,549,769 msg/sec pthread_spinlock,12,i: 2,477,760 msg/sec pthread_spinlock,13,s: 2,501,748 msg/sec pthread_spinlock,13,i: 2,254,042 msg/sec pthread_spinlock,14,s: 2,215,579 msg/sec pthread_spinlock,14,i: 1,995,789 msg/sec pthread_spinlock,15,s: 2,005,032 msg/sec pthread_spinlock,15,i: 1,874,465 msg/sec pthread_spinlock,16,s: 1,820,693 msg/sec pthread_spinlock,16,i: 1,603,070 msg/sec tbb::spin_mutex, 1,s: 38,264,638 msg/sec tbb::spin_mutex, 1,i: 37,903,981 msg/sec tbb::spin_mutex, 2,s: 16,499,457 msg/sec tbb::spin_mutex, 2,i: 16,046,849 msg/sec tbb::spin_mutex, 3,s: 12,053,035 msg/sec tbb::spin_mutex, 3,i: 11,938,830 msg/sec tbb::spin_mutex, 4,s: 10,291,252 msg/sec tbb::spin_mutex, 4,i: 9,975,255 msg/sec tbb::spin_mutex, 5,s: 5,981,576 msg/sec tbb::spin_mutex, 5,i: 5,660,053 msg/sec tbb::spin_mutex, 6,s: 5,102,292 msg/sec tbb::spin_mutex, 6,i: 4,806,306 msg/sec tbb::spin_mutex, 7,s: 4,421,309 msg/sec tbb::spin_mutex, 7,i: 4,690,643 msg/sec tbb::spin_mutex, 8,s: 4,313,021 msg/sec tbb::spin_mutex, 8,i: 4,052,293 msg/sec tbb::spin_mutex, 9,s: 4,523,613 msg/sec tbb::spin_mutex, 9,i: 4,381,498 msg/sec tbb::spin_mutex,10,s: 4,504,145 msg/sec tbb::spin_mutex,10,i: 4,108,275 msg/sec tbb::spin_mutex,11,s: 4,274,756 msg/sec tbb::spin_mutex,11,i: 4,241,901 msg/sec tbb::spin_mutex,12,s: 3,763,430 msg/sec tbb::spin_mutex,12,i: 3,508,251 msg/sec tbb::spin_mutex,13,s: 3,627,348 msg/sec tbb::spin_mutex,13,i: 3,256,531 msg/sec tbb::spin_mutex,14,s: 3,445,179 msg/sec tbb::spin_mutex,14,i: 3,320,184 msg/sec tbb::spin_mutex,15,s: 3,229,965 msg/sec tbb::spin_mutex,15,i: 3,159,535 msg/sec tbb::spin_mutex,16,s: 2,929,530 msg/sec tbb::spin_mutex,16,i: 3,009,731 msg/sec Elapsed time 6:15.33, user 5639.20s, system 601.59s, CPU 1662%, RSS 95028kB, exit-status 0. 2026-09-14 13:09:23 [9/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000325 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,306,256 msg/sec boost::lockfree::spsc_queue, 1,i: 112,847,045 msg/sec AtomicQueue, 1,s: 142,703,753 msg/sec AtomicQueue, 1,i: 129,265,706 msg/sec AtomicQueue, 2,s: 9,883,311 msg/sec AtomicQueue, 2,i: 10,333,498 msg/sec AtomicQueue, 3,s: 8,360,151 msg/sec AtomicQueue, 3,i: 8,822,085 msg/sec AtomicQueue, 4,s: 6,613,347 msg/sec AtomicQueue, 4,i: 7,009,650 msg/sec AtomicQueue, 5,s: 3,171,698 msg/sec AtomicQueue, 5,i: 4,323,180 msg/sec AtomicQueue, 6,s: 2,598,718 msg/sec AtomicQueue, 6,i: 4,023,392 msg/sec AtomicQueue, 7,s: 2,967,868 msg/sec AtomicQueue, 7,i: 3,255,414 msg/sec AtomicQueue, 8,s: 3,126,595 msg/sec AtomicQueue, 8,i: 2,894,973 msg/sec AtomicQueue, 9,s: 2,930,882 msg/sec AtomicQueue, 9,i: 2,964,009 msg/sec AtomicQueue,10,s: 2,771,812 msg/sec AtomicQueue,10,i: 2,905,712 msg/sec AtomicQueue,11,s: 2,797,259 msg/sec AtomicQueue,11,i: 2,927,036 msg/sec AtomicQueue,12,s: 2,669,243 msg/sec AtomicQueue,12,i: 2,865,380 msg/sec AtomicQueue,13,s: 2,523,607 msg/sec AtomicQueue,13,i: 2,823,027 msg/sec AtomicQueue,14,s: 2,367,006 msg/sec AtomicQueue,14,i: 2,786,214 msg/sec AtomicQueue,15,s: 2,364,526 msg/sec AtomicQueue,15,i: 2,762,197 msg/sec AtomicQueue,16,s: 2,258,729 msg/sec AtomicQueue,16,i: 2,737,654 msg/sec OptimistAtomicQueue, 1,s: 1,201,537,855 msg/sec OptimistAtomicQueue, 1,i: 1,855,201,731 msg/sec OptimistAtomicQueue, 2,s: 48,766,483 msg/sec OptimistAtomicQueue, 2,i: 53,095,370 msg/sec OptimistAtomicQueue, 3,s: 58,815,292 msg/sec OptimistAtomicQueue, 3,i: 59,267,707 msg/sec OptimistAtomicQueue, 4,s: 59,146,932 msg/sec OptimistAtomicQueue, 4,i: 65,637,668 msg/sec OptimistAtomicQueue, 5,s: 33,293,990 msg/sec OptimistAtomicQueue, 5,i: 38,867,614 msg/sec OptimistAtomicQueue, 6,s: 34,517,523 msg/sec OptimistAtomicQueue, 6,i: 35,192,272 msg/sec OptimistAtomicQueue, 7,s: 40,247,025 msg/sec OptimistAtomicQueue, 7,i: 40,065,960 msg/sec OptimistAtomicQueue, 8,s: 50,528,510 msg/sec OptimistAtomicQueue, 8,i: 41,244,474 msg/sec OptimistAtomicQueue, 9,s: 41,265,550 msg/sec OptimistAtomicQueue, 9,i: 45,286,007 msg/sec OptimistAtomicQueue,10,s: 39,969,031 msg/sec OptimistAtomicQueue,10,i: 46,073,961 msg/sec OptimistAtomicQueue,11,s: 44,151,766 msg/sec OptimistAtomicQueue,11,i: 53,329,185 msg/sec OptimistAtomicQueue,12,s: 43,314,588 msg/sec OptimistAtomicQueue,12,i: 57,321,132 msg/sec OptimistAtomicQueue,13,s: 43,386,490 msg/sec OptimistAtomicQueue,13,i: 56,599,552 msg/sec OptimistAtomicQueue,14,s: 43,340,068 msg/sec OptimistAtomicQueue,14,i: 56,091,746 msg/sec OptimistAtomicQueue,15,s: 45,874,039 msg/sec OptimistAtomicQueue,15,i: 60,585,585 msg/sec OptimistAtomicQueue,16,s: 45,799,499 msg/sec OptimistAtomicQueue,16,i: 64,639,496 msg/sec AtomicQueueB, 1,s: 49,701,572 msg/sec AtomicQueueB, 1,i: 50,456,260 msg/sec AtomicQueueB, 2,s: 9,645,611 msg/sec AtomicQueueB, 2,i: 10,097,344 msg/sec AtomicQueueB, 3,s: 8,253,952 msg/sec AtomicQueueB, 3,i: 8,729,355 msg/sec AtomicQueueB, 4,s: 6,547,759 msg/sec AtomicQueueB, 4,i: 6,915,167 msg/sec AtomicQueueB, 5,s: 3,108,178 msg/sec AtomicQueueB, 5,i: 4,317,877 msg/sec AtomicQueueB, 6,s: 2,570,967 msg/sec AtomicQueueB, 6,i: 3,456,778 msg/sec AtomicQueueB, 7,s: 2,921,461 msg/sec AtomicQueueB, 7,i: 3,160,258 msg/sec AtomicQueueB, 8,s: 3,052,790 msg/sec AtomicQueueB, 8,i: 2,868,349 msg/sec AtomicQueueB, 9,s: 2,722,111 msg/sec AtomicQueueB, 9,i: 2,900,454 msg/sec AtomicQueueB,10,s: 2,799,680 msg/sec AtomicQueueB,10,i: 2,883,460 msg/sec AtomicQueueB,11,s: 2,742,451 msg/sec AtomicQueueB,11,i: 2,957,839 msg/sec AtomicQueueB,12,s: 2,660,046 msg/sec AtomicQueueB,12,i: 2,862,131 msg/sec AtomicQueueB,13,s: 2,517,103 msg/sec AtomicQueueB,13,i: 2,797,864 msg/sec AtomicQueueB,14,s: 2,382,211 msg/sec AtomicQueueB,14,i: 2,761,759 msg/sec AtomicQueueB,15,s: 2,372,984 msg/sec AtomicQueueB,15,i: 2,827,435 msg/sec AtomicQueueB,16,s: 2,274,953 msg/sec AtomicQueueB,16,i: 2,738,570 msg/sec OptimistAtomicQueueB, 1,s: 914,018,774 msg/sec OptimistAtomicQueueB, 1,i: 1,115,505,021 msg/sec OptimistAtomicQueueB, 2,s: 46,921,978 msg/sec OptimistAtomicQueueB, 2,i: 49,631,912 msg/sec OptimistAtomicQueueB, 3,s: 58,620,704 msg/sec OptimistAtomicQueueB, 3,i: 57,158,841 msg/sec OptimistAtomicQueueB, 4,s: 59,621,968 msg/sec OptimistAtomicQueueB, 4,i: 66,258,741 msg/sec OptimistAtomicQueueB, 5,s: 33,053,093 msg/sec OptimistAtomicQueueB, 5,i: 38,632,582 msg/sec OptimistAtomicQueueB, 6,s: 34,287,572 msg/sec OptimistAtomicQueueB, 6,i: 34,904,279 msg/sec OptimistAtomicQueueB, 7,s: 39,114,384 msg/sec OptimistAtomicQueueB, 7,i: 39,902,129 msg/sec OptimistAtomicQueueB, 8,s: 51,497,158 msg/sec OptimistAtomicQueueB, 8,i: 41,180,647 msg/sec OptimistAtomicQueueB, 9,s: 40,662,628 msg/sec OptimistAtomicQueueB, 9,i: 45,572,783 msg/sec OptimistAtomicQueueB,10,s: 40,008,063 msg/sec OptimistAtomicQueueB,10,i: 47,330,759 msg/sec OptimistAtomicQueueB,11,s: 44,337,966 msg/sec OptimistAtomicQueueB,11,i: 52,584,562 msg/sec OptimistAtomicQueueB,12,s: 43,639,278 msg/sec OptimistAtomicQueueB,12,i: 56,449,772 msg/sec OptimistAtomicQueueB,13,s: 43,892,087 msg/sec OptimistAtomicQueueB,13,i: 55,324,520 msg/sec OptimistAtomicQueueB,14,s: 43,597,868 msg/sec OptimistAtomicQueueB,14,i: 55,765,011 msg/sec OptimistAtomicQueueB,15,s: 46,184,861 msg/sec OptimistAtomicQueueB,15,i: 60,347,721 msg/sec OptimistAtomicQueueB,16,s: 46,153,233 msg/sec OptimistAtomicQueueB,16,i: 65,100,137 msg/sec AtomicQueue2, 1,s: 129,254,178 msg/sec AtomicQueue2, 1,i: 131,945,822 msg/sec AtomicQueue2, 2,s: 9,957,119 msg/sec AtomicQueue2, 2,i: 10,537,838 msg/sec AtomicQueue2, 3,s: 8,418,341 msg/sec AtomicQueue2, 3,i: 8,931,924 msg/sec AtomicQueue2, 4,s: 6,675,535 msg/sec AtomicQueue2, 4,i: 7,089,773 msg/sec AtomicQueue2, 5,s: 3,139,079 msg/sec AtomicQueue2, 5,i: 4,280,546 msg/sec AtomicQueue2, 6,s: 2,566,818 msg/sec AtomicQueue2, 6,i: 3,983,552 msg/sec AtomicQueue2, 7,s: 2,898,615 msg/sec AtomicQueue2, 7,i: 3,209,680 msg/sec AtomicQueue2, 8,s: 3,000,174 msg/sec AtomicQueue2, 8,i: 2,910,510 msg/sec AtomicQueue2, 9,s: 2,731,786 msg/sec AtomicQueue2, 9,i: 2,869,873 msg/sec AtomicQueue2,10,s: 2,765,345 msg/sec AtomicQueue2,10,i: 2,886,754 msg/sec AtomicQueue2,11,s: 2,743,934 msg/sec AtomicQueue2,11,i: 2,948,302 msg/sec AtomicQueue2,12,s: 2,688,695 msg/sec AtomicQueue2,12,i: 2,845,869 msg/sec AtomicQueue2,13,s: 2,553,969 msg/sec AtomicQueue2,13,i: 2,818,984 msg/sec AtomicQueue2,14,s: 2,396,927 msg/sec AtomicQueue2,14,i: 2,762,884 msg/sec AtomicQueue2,15,s: 2,391,706 msg/sec AtomicQueue2,15,i: 2,742,013 msg/sec AtomicQueue2,16,s: 2,285,611 msg/sec AtomicQueue2,16,i: 2,711,204 msg/sec OptimistAtomicQueue2, 1,s: 107,137,165 msg/sec OptimistAtomicQueue2, 1,i: 107,303,971 msg/sec OptimistAtomicQueue2, 2,s: 43,529,573 msg/sec OptimistAtomicQueue2, 2,i: 46,980,857 msg/sec OptimistAtomicQueue2, 3,s: 56,569,563 msg/sec OptimistAtomicQueue2, 3,i: 49,921,024 msg/sec OptimistAtomicQueue2, 4,s: 59,186,489 msg/sec OptimistAtomicQueue2, 4,i: 57,810,664 msg/sec OptimistAtomicQueue2, 5,s: 31,480,900 msg/sec OptimistAtomicQueue2, 5,i: 32,688,599 msg/sec OptimistAtomicQueue2, 6,s: 32,918,050 msg/sec OptimistAtomicQueue2, 6,i: 32,483,249 msg/sec OptimistAtomicQueue2, 7,s: 37,653,808 msg/sec OptimistAtomicQueue2, 7,i: 37,721,657 msg/sec OptimistAtomicQueue2, 8,s: 49,046,342 msg/sec OptimistAtomicQueue2, 8,i: 39,838,783 msg/sec OptimistAtomicQueue2, 9,s: 37,581,010 msg/sec OptimistAtomicQueue2, 9,i: 42,609,134 msg/sec OptimistAtomicQueue2,10,s: 37,544,407 msg/sec OptimistAtomicQueue2,10,i: 43,900,770 msg/sec OptimistAtomicQueue2,11,s: 42,951,108 msg/sec OptimistAtomicQueue2,11,i: 48,700,759 msg/sec OptimistAtomicQueue2,12,s: 42,096,762 msg/sec OptimistAtomicQueue2,12,i: 49,768,458 msg/sec OptimistAtomicQueue2,13,s: 41,103,230 msg/sec OptimistAtomicQueue2,13,i: 52,920,286 msg/sec OptimistAtomicQueue2,14,s: 40,762,342 msg/sec OptimistAtomicQueue2,14,i: 52,926,439 msg/sec OptimistAtomicQueue2,15,s: 43,243,265 msg/sec OptimistAtomicQueue2,15,i: 56,108,055 msg/sec OptimistAtomicQueue2,16,s: 43,417,822 msg/sec OptimistAtomicQueue2,16,i: 59,000,335 msg/sec AtomicQueueB2, 1,s: 76,439,541 msg/sec AtomicQueueB2, 1,i: 80,527,986 msg/sec AtomicQueueB2, 2,s: 9,838,393 msg/sec AtomicQueueB2, 2,i: 10,433,344 msg/sec AtomicQueueB2, 3,s: 8,320,898 msg/sec AtomicQueueB2, 3,i: 8,838,790 msg/sec AtomicQueueB2, 4,s: 6,617,089 msg/sec AtomicQueueB2, 4,i: 6,955,103 msg/sec AtomicQueueB2, 5,s: 3,085,004 msg/sec AtomicQueueB2, 5,i: 3,686,218 msg/sec AtomicQueueB2, 6,s: 2,548,775 msg/sec AtomicQueueB2, 6,i: 3,979,794 msg/sec AtomicQueueB2, 7,s: 2,895,915 msg/sec AtomicQueueB2, 7,i: 3,263,825 msg/sec AtomicQueueB2, 8,s: 3,014,821 msg/sec AtomicQueueB2, 8,i: 2,848,383 msg/sec AtomicQueueB2, 9,s: 2,719,841 msg/sec AtomicQueueB2, 9,i: 2,878,662 msg/sec AtomicQueueB2,10,s: 2,754,478 msg/sec AtomicQueueB2,10,i: 2,888,655 msg/sec AtomicQueueB2,11,s: 2,819,893 msg/sec AtomicQueueB2,11,i: 2,918,919 msg/sec AtomicQueueB2,12,s: 2,754,194 msg/sec AtomicQueueB2,12,i: 2,852,612 msg/sec AtomicQueueB2,13,s: 2,613,521 msg/sec AtomicQueueB2,13,i: 2,821,419 msg/sec AtomicQueueB2,14,s: 2,460,644 msg/sec AtomicQueueB2,14,i: 2,767,526 msg/sec AtomicQueueB2,15,s: 2,428,606 msg/sec AtomicQueueB2,15,i: 2,741,077 msg/sec AtomicQueueB2,16,s: 2,299,659 msg/sec AtomicQueueB2,16,i: 2,741,605 msg/sec OptimistAtomicQueueB2, 1,s: 153,337,597 msg/sec OptimistAtomicQueueB2, 1,i: 153,474,087 msg/sec OptimistAtomicQueueB2, 2,s: 42,081,315 msg/sec OptimistAtomicQueueB2, 2,i: 45,980,643 msg/sec OptimistAtomicQueueB2, 3,s: 56,878,248 msg/sec OptimistAtomicQueueB2, 3,i: 53,091,474 msg/sec OptimistAtomicQueueB2, 4,s: 58,978,795 msg/sec OptimistAtomicQueueB2, 4,i: 59,844,179 msg/sec OptimistAtomicQueueB2, 5,s: 31,369,666 msg/sec OptimistAtomicQueueB2, 5,i: 31,369,263 msg/sec OptimistAtomicQueueB2, 6,s: 32,853,196 msg/sec OptimistAtomicQueueB2, 6,i: 31,855,534 msg/sec OptimistAtomicQueueB2, 7,s: 37,096,687 msg/sec OptimistAtomicQueueB2, 7,i: 36,990,508 msg/sec OptimistAtomicQueueB2, 8,s: 47,777,977 msg/sec OptimistAtomicQueueB2, 8,i: 38,972,600 msg/sec OptimistAtomicQueueB2, 9,s: 36,912,537 msg/sec OptimistAtomicQueueB2, 9,i: 40,985,600 msg/sec OptimistAtomicQueueB2,10,s: 37,251,454 msg/sec OptimistAtomicQueueB2,10,i: 43,374,641 msg/sec OptimistAtomicQueueB2,11,s: 42,444,306 msg/sec OptimistAtomicQueueB2,11,i: 47,506,612 msg/sec OptimistAtomicQueueB2,12,s: 41,717,008 msg/sec OptimistAtomicQueueB2,12,i: 51,436,992 msg/sec OptimistAtomicQueueB2,13,s: 40,867,916 msg/sec OptimistAtomicQueueB2,13,i: 51,277,894 msg/sec OptimistAtomicQueueB2,14,s: 40,844,886 msg/sec OptimistAtomicQueueB2,14,i: 53,125,306 msg/sec OptimistAtomicQueueB2,15,s: 43,182,802 msg/sec OptimistAtomicQueueB2,15,i: 56,566,245 msg/sec OptimistAtomicQueueB2,16,s: 43,147,931 msg/sec OptimistAtomicQueueB2,16,i: 59,201,275 msg/sec moodycamel::ReaderWriterQueue, 1,s: 217,265,130 msg/sec moodycamel::ReaderWriterQueue, 1,i: 147,759,794 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,121,066 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,156,446 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,352,943 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,827,921 msg/sec moodycamel::ConcurrentQueue, 3,s: 56,958,623 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,179,795 msg/sec moodycamel::ConcurrentQueue, 4,s: 104,782,994 msg/sec moodycamel::ConcurrentQueue, 4,i: 100,779,400 msg/sec moodycamel::ConcurrentQueue, 5,s: 116,308,962 msg/sec moodycamel::ConcurrentQueue, 5,i: 188,100,695 msg/sec moodycamel::ConcurrentQueue, 6,s: 191,149,278 msg/sec moodycamel::ConcurrentQueue, 6,i: 224,930,036 msg/sec moodycamel::ConcurrentQueue, 7,s: 239,095,566 msg/sec moodycamel::ConcurrentQueue, 7,i: 230,499,577 msg/sec moodycamel::ConcurrentQueue, 8,s: 270,850,268 msg/sec moodycamel::ConcurrentQueue, 8,i: 230,421,716 msg/sec moodycamel::ConcurrentQueue, 9,s: 281,782,022 msg/sec moodycamel::ConcurrentQueue, 9,i: 230,587,733 msg/sec moodycamel::ConcurrentQueue,10,s: 283,706,333 msg/sec moodycamel::ConcurrentQueue,10,i: 222,176,590 msg/sec moodycamel::ConcurrentQueue,11,s: 229,375,970 msg/sec moodycamel::ConcurrentQueue,11,i: 214,932,501 msg/sec moodycamel::ConcurrentQueue,12,s: 185,217,223 msg/sec moodycamel::ConcurrentQueue,12,i: 255,339,843 msg/sec moodycamel::ConcurrentQueue,13,s: 238,548,334 msg/sec moodycamel::ConcurrentQueue,13,i: 267,972,877 msg/sec moodycamel::ConcurrentQueue,14,s: 308,470,606 msg/sec moodycamel::ConcurrentQueue,14,i: 360,006,747 msg/sec moodycamel::ConcurrentQueue,15,s: 457,297,980 msg/sec moodycamel::ConcurrentQueue,15,i: 430,688,537 msg/sec moodycamel::ConcurrentQueue,16,s: 538,634,031 msg/sec moodycamel::ConcurrentQueue,16,i: 499,477,033 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,771,201 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,789,705 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,141,660 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,135,348 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,978,232 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,068,315 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,423,100 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,621,027 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,048,420 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,114,239 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,800,307 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,397,930 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,664,316 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,159,725 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,783,037 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,799,228 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,629,890 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,857,320 msg/sec tbb::concurrent_bounded_queue,10,s: 2,769,408 msg/sec tbb::concurrent_bounded_queue,10,i: 2,884,157 msg/sec tbb::concurrent_bounded_queue,11,s: 2,659,510 msg/sec tbb::concurrent_bounded_queue,11,i: 2,826,136 msg/sec tbb::concurrent_bounded_queue,12,s: 2,561,929 msg/sec tbb::concurrent_bounded_queue,12,i: 2,799,068 msg/sec tbb::concurrent_bounded_queue,13,s: 2,483,206 msg/sec tbb::concurrent_bounded_queue,13,i: 2,722,765 msg/sec tbb::concurrent_bounded_queue,14,s: 2,388,205 msg/sec tbb::concurrent_bounded_queue,14,i: 2,735,103 msg/sec tbb::concurrent_bounded_queue,15,s: 2,364,556 msg/sec tbb::concurrent_bounded_queue,15,i: 2,627,910 msg/sec tbb::concurrent_bounded_queue,16,s: 2,265,229 msg/sec tbb::concurrent_bounded_queue,16,i: 2,535,317 msg/sec xenium::michael_scott_queue, 1,s: 13,386,465 msg/sec xenium::michael_scott_queue, 1,i: 13,740,823 msg/sec xenium::michael_scott_queue, 2,s: 9,463,380 msg/sec xenium::michael_scott_queue, 2,i: 9,218,163 msg/sec xenium::michael_scott_queue, 3,s: 7,673,511 msg/sec xenium::michael_scott_queue, 3,i: 7,552,268 msg/sec xenium::michael_scott_queue, 4,s: 5,864,870 msg/sec xenium::michael_scott_queue, 4,i: 5,820,148 msg/sec xenium::michael_scott_queue, 5,s: 3,631,289 msg/sec xenium::michael_scott_queue, 5,i: 4,670,392 msg/sec xenium::michael_scott_queue, 6,s: 3,345,672 msg/sec xenium::michael_scott_queue, 6,i: 3,568,092 msg/sec xenium::michael_scott_queue, 7,s: 3,180,156 msg/sec xenium::michael_scott_queue, 7,i: 3,246,763 msg/sec xenium::michael_scott_queue, 8,s: 2,352,543 msg/sec xenium::michael_scott_queue, 8,i: 2,791,317 msg/sec xenium::michael_scott_queue, 9,s: 2,849,259 msg/sec xenium::michael_scott_queue, 9,i: 2,842,972 msg/sec xenium::michael_scott_queue,10,s: 2,811,889 msg/sec xenium::michael_scott_queue,10,i: 2,842,219 msg/sec xenium::michael_scott_queue,11,s: 2,741,769 msg/sec xenium::michael_scott_queue,11,i: 2,832,705 msg/sec xenium::michael_scott_queue,12,s: 2,580,813 msg/sec xenium::michael_scott_queue,12,i: 2,743,635 msg/sec xenium::michael_scott_queue,13,s: 2,526,038 msg/sec xenium::michael_scott_queue,13,i: 2,647,329 msg/sec xenium::michael_scott_queue,14,s: 2,406,247 msg/sec xenium::michael_scott_queue,14,i: 2,621,483 msg/sec xenium::michael_scott_queue,15,s: 2,323,075 msg/sec xenium::michael_scott_queue,15,i: 2,601,179 msg/sec xenium::michael_scott_queue,16,s: 2,246,722 msg/sec xenium::michael_scott_queue,16,i: 2,546,011 msg/sec xenium::ramalhete_queue, 1,s: 72,130,230 msg/sec xenium::ramalhete_queue, 1,i: 67,543,351 msg/sec xenium::ramalhete_queue, 2,s: 38,109,935 msg/sec xenium::ramalhete_queue, 2,i: 33,021,998 msg/sec xenium::ramalhete_queue, 3,s: 44,170,466 msg/sec xenium::ramalhete_queue, 3,i: 41,006,110 msg/sec xenium::ramalhete_queue, 4,s: 48,135,798 msg/sec xenium::ramalhete_queue, 4,i: 46,185,526 msg/sec xenium::ramalhete_queue, 5,s: 37,708,601 msg/sec xenium::ramalhete_queue, 5,i: 22,995,682 msg/sec xenium::ramalhete_queue, 6,s: 39,070,476 msg/sec xenium::ramalhete_queue, 6,i: 25,989,486 msg/sec xenium::ramalhete_queue, 7,s: 40,477,666 msg/sec xenium::ramalhete_queue, 7,i: 28,147,191 msg/sec xenium::ramalhete_queue, 8,s: 50,621,511 msg/sec xenium::ramalhete_queue, 8,i: 29,430,626 msg/sec xenium::ramalhete_queue, 9,s: 33,577,464 msg/sec xenium::ramalhete_queue, 9,i: 35,965,776 msg/sec xenium::ramalhete_queue,10,s: 34,704,021 msg/sec xenium::ramalhete_queue,10,i: 41,959,801 msg/sec xenium::ramalhete_queue,11,s: 37,724,839 msg/sec xenium::ramalhete_queue,11,i: 40,537,800 msg/sec xenium::ramalhete_queue,12,s: 38,996,985 msg/sec xenium::ramalhete_queue,12,i: 43,899,734 msg/sec xenium::ramalhete_queue,13,s: 39,680,283 msg/sec xenium::ramalhete_queue,13,i: 42,078,385 msg/sec xenium::ramalhete_queue,14,s: 39,907,575 msg/sec xenium::ramalhete_queue,14,i: 43,313,713 msg/sec xenium::ramalhete_queue,15,s: 39,827,843 msg/sec xenium::ramalhete_queue,15,i: 43,772,282 msg/sec xenium::ramalhete_queue,16,s: 39,641,003 msg/sec xenium::ramalhete_queue,16,i: 44,650,364 msg/sec xenium::vyukov_bounded_queue, 1,s: 316,216,369 msg/sec xenium::vyukov_bounded_queue, 1,i: 313,906,597 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,051,902 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,565,650 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,575,628 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,915,005 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,145,807 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,489,979 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,043,767 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,404,109 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,091,277 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,834,267 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,190,921 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,487,660 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,369,055 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,560,930 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,100,786 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,640,415 msg/sec xenium::vyukov_bounded_queue,10,s: 7,564,329 msg/sec xenium::vyukov_bounded_queue,10,i: 6,890,121 msg/sec xenium::vyukov_bounded_queue,11,s: 7,447,085 msg/sec xenium::vyukov_bounded_queue,11,i: 7,216,266 msg/sec xenium::vyukov_bounded_queue,12,s: 7,631,640 msg/sec xenium::vyukov_bounded_queue,12,i: 7,526,003 msg/sec xenium::vyukov_bounded_queue,13,s: 6,900,989 msg/sec xenium::vyukov_bounded_queue,13,i: 7,273,139 msg/sec xenium::vyukov_bounded_queue,14,s: 7,081,372 msg/sec xenium::vyukov_bounded_queue,14,i: 7,537,378 msg/sec xenium::vyukov_bounded_queue,15,s: 7,077,389 msg/sec xenium::vyukov_bounded_queue,15,i: 7,244,717 msg/sec xenium::vyukov_bounded_queue,16,s: 6,888,669 msg/sec xenium::vyukov_bounded_queue,16,i: 7,088,760 msg/sec boost::lockfree::queue, 1,s: 7,827,618 msg/sec boost::lockfree::queue, 1,i: 7,859,051 msg/sec boost::lockfree::queue, 2,s: 5,861,040 msg/sec boost::lockfree::queue, 2,i: 5,916,151 msg/sec boost::lockfree::queue, 3,s: 4,944,045 msg/sec boost::lockfree::queue, 3,i: 4,802,389 msg/sec boost::lockfree::queue, 4,s: 4,370,274 msg/sec boost::lockfree::queue, 4,i: 4,352,962 msg/sec boost::lockfree::queue, 5,s: 2,644,294 msg/sec boost::lockfree::queue, 5,i: 2,905,745 msg/sec boost::lockfree::queue, 6,s: 1,440,607 msg/sec boost::lockfree::queue, 6,i: 2,791,106 msg/sec boost::lockfree::queue, 7,s: 1,389,199 msg/sec boost::lockfree::queue, 7,i: 2,845,262 msg/sec boost::lockfree::queue, 8,s: 1,159,453 msg/sec boost::lockfree::queue, 8,i: 1,855,174 msg/sec boost::lockfree::queue, 9,s: 1,443,400 msg/sec boost::lockfree::queue, 9,i: 1,839,471 msg/sec boost::lockfree::queue,10,s: 1,585,865 msg/sec boost::lockfree::queue,10,i: 1,989,983 msg/sec boost::lockfree::queue,11,s: 1,628,091 msg/sec boost::lockfree::queue,11,i: 1,980,043 msg/sec boost::lockfree::queue,12,s: 1,729,242 msg/sec boost::lockfree::queue,12,i: 1,714,681 msg/sec boost::lockfree::queue,13,s: 1,676,752 msg/sec boost::lockfree::queue,13,i: 1,667,118 msg/sec boost::lockfree::queue,14,s: 1,556,852 msg/sec boost::lockfree::queue,14,i: 1,639,382 msg/sec boost::lockfree::queue,15,s: 1,584,160 msg/sec boost::lockfree::queue,15,i: 1,589,348 msg/sec boost::lockfree::queue,16,s: 1,522,784 msg/sec boost::lockfree::queue,16,i: 1,495,267 msg/sec std::mutex, 1,s: 3,778,746 msg/sec std::mutex, 1,i: 3,755,292 msg/sec std::mutex, 2,s: 13,007,477 msg/sec std::mutex, 2,i: 12,425,649 msg/sec std::mutex, 3,s: 7,203,816 msg/sec std::mutex, 3,i: 6,923,798 msg/sec std::mutex, 4,s: 7,133,958 msg/sec std::mutex, 4,i: 6,750,688 msg/sec std::mutex, 5,s: 3,359,914 msg/sec std::mutex, 5,i: 3,497,591 msg/sec std::mutex, 6,s: 2,980,377 msg/sec std::mutex, 6,i: 2,959,122 msg/sec std::mutex, 7,s: 3,298,397 msg/sec std::mutex, 7,i: 2,938,161 msg/sec std::mutex, 8,s: 3,500,393 msg/sec std::mutex, 8,i: 2,827,317 msg/sec std::mutex, 9,s: 2,869,741 msg/sec std::mutex, 9,i: 2,715,435 msg/sec std::mutex,10,s: 2,681,879 msg/sec std::mutex,10,i: 2,763,875 msg/sec std::mutex,11,s: 2,662,369 msg/sec std::mutex,11,i: 2,688,843 msg/sec std::mutex,12,s: 2,672,937 msg/sec std::mutex,12,i: 2,560,773 msg/sec std::mutex,13,s: 2,483,589 msg/sec std::mutex,13,i: 2,406,961 msg/sec std::mutex,14,s: 2,400,646 msg/sec std::mutex,14,i: 2,336,499 msg/sec std::mutex,15,s: 2,442,217 msg/sec std::mutex,15,i: 2,384,925 msg/sec std::mutex,16,s: 2,357,038 msg/sec std::mutex,16,i: 2,302,707 msg/sec pthread_spinlock, 1,s: 17,653,361 msg/sec pthread_spinlock, 1,i: 18,065,488 msg/sec pthread_spinlock, 2,s: 6,848,048 msg/sec pthread_spinlock, 2,i: 1,483,706 msg/sec pthread_spinlock, 3,s: 663,542 msg/sec pthread_spinlock, 3,i: 6,106,443 msg/sec pthread_spinlock, 4,s: 2,267,605 msg/sec pthread_spinlock, 4,i: 817,602 msg/sec pthread_spinlock, 5,s: 2,763,738 msg/sec pthread_spinlock, 5,i: 849,712 msg/sec pthread_spinlock, 6,s: 2,004,109 msg/sec pthread_spinlock, 6,i: 3,186,631 msg/sec pthread_spinlock, 7,s: 2,882,139 msg/sec pthread_spinlock, 7,i: 3,071,640 msg/sec pthread_spinlock, 8,s: 2,984,986 msg/sec pthread_spinlock, 8,i: 2,686,191 msg/sec pthread_spinlock, 9,s: 2,847,217 msg/sec pthread_spinlock, 9,i: 2,276,015 msg/sec pthread_spinlock,10,s: 2,734,316 msg/sec pthread_spinlock,10,i: 2,374,242 msg/sec pthread_spinlock,11,s: 2,524,558 msg/sec pthread_spinlock,11,i: 2,339,757 msg/sec pthread_spinlock,12,s: 2,568,846 msg/sec pthread_spinlock,12,i: 2,035,492 msg/sec pthread_spinlock,13,s: 2,440,496 msg/sec pthread_spinlock,13,i: 2,260,847 msg/sec pthread_spinlock,14,s: 2,200,815 msg/sec pthread_spinlock,14,i: 2,130,253 msg/sec pthread_spinlock,15,s: 2,028,029 msg/sec pthread_spinlock,15,i: 1,933,189 msg/sec pthread_spinlock,16,s: 1,797,403 msg/sec pthread_spinlock,16,i: 1,603,277 msg/sec tbb::spin_mutex, 1,s: 38,366,579 msg/sec tbb::spin_mutex, 1,i: 37,407,352 msg/sec tbb::spin_mutex, 2,s: 16,624,187 msg/sec tbb::spin_mutex, 2,i: 16,145,761 msg/sec tbb::spin_mutex, 3,s: 12,084,487 msg/sec tbb::spin_mutex, 3,i: 11,904,383 msg/sec tbb::spin_mutex, 4,s: 10,569,987 msg/sec tbb::spin_mutex, 4,i: 9,991,617 msg/sec tbb::spin_mutex, 5,s: 5,995,403 msg/sec tbb::spin_mutex, 5,i: 5,677,524 msg/sec tbb::spin_mutex, 6,s: 5,098,329 msg/sec tbb::spin_mutex, 6,i: 4,891,133 msg/sec tbb::spin_mutex, 7,s: 4,535,493 msg/sec tbb::spin_mutex, 7,i: 4,710,671 msg/sec tbb::spin_mutex, 8,s: 4,289,005 msg/sec tbb::spin_mutex, 8,i: 4,061,051 msg/sec tbb::spin_mutex, 9,s: 4,475,414 msg/sec tbb::spin_mutex, 9,i: 4,281,651 msg/sec tbb::spin_mutex,10,s: 4,492,063 msg/sec tbb::spin_mutex,10,i: 4,093,408 msg/sec tbb::spin_mutex,11,s: 4,289,440 msg/sec tbb::spin_mutex,11,i: 4,182,920 msg/sec tbb::spin_mutex,12,s: 3,720,314 msg/sec tbb::spin_mutex,12,i: 3,566,636 msg/sec tbb::spin_mutex,13,s: 3,593,015 msg/sec tbb::spin_mutex,13,i: 3,277,730 msg/sec tbb::spin_mutex,14,s: 3,454,689 msg/sec tbb::spin_mutex,14,i: 2,935,438 msg/sec tbb::spin_mutex,15,s: 3,212,255 msg/sec tbb::spin_mutex,15,i: 3,103,966 msg/sec tbb::spin_mutex,16,s: 2,920,441 msg/sec tbb::spin_mutex,16,i: 3,013,736 msg/sec Elapsed time 6:16.37, user 5646.42s, system 601.00s, CPU 1659%, RSS 96504kB, exit-status 0. 2026-09-14 13:15:40 [10/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000042 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000043 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000087 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,981,576 msg/sec boost::lockfree::spsc_queue, 1,i: 113,417,087 msg/sec AtomicQueue, 1,s: 143,506,298 msg/sec AtomicQueue, 1,i: 144,237,781 msg/sec AtomicQueue, 2,s: 9,897,920 msg/sec AtomicQueue, 2,i: 10,338,269 msg/sec AtomicQueue, 3,s: 8,350,470 msg/sec AtomicQueue, 3,i: 8,830,321 msg/sec AtomicQueue, 4,s: 6,607,942 msg/sec AtomicQueue, 4,i: 7,008,648 msg/sec AtomicQueue, 5,s: 3,173,832 msg/sec AtomicQueue, 5,i: 4,336,080 msg/sec AtomicQueue, 6,s: 2,601,724 msg/sec AtomicQueue, 6,i: 3,525,361 msg/sec AtomicQueue, 7,s: 2,975,087 msg/sec AtomicQueue, 7,i: 3,214,492 msg/sec AtomicQueue, 8,s: 3,116,374 msg/sec AtomicQueue, 8,i: 2,897,239 msg/sec AtomicQueue, 9,s: 2,751,013 msg/sec AtomicQueue, 9,i: 2,960,746 msg/sec AtomicQueue,10,s: 2,800,076 msg/sec AtomicQueue,10,i: 2,897,126 msg/sec AtomicQueue,11,s: 2,797,589 msg/sec AtomicQueue,11,i: 2,933,128 msg/sec AtomicQueue,12,s: 2,664,367 msg/sec AtomicQueue,12,i: 2,860,621 msg/sec AtomicQueue,13,s: 2,519,497 msg/sec AtomicQueue,13,i: 2,795,740 msg/sec AtomicQueue,14,s: 2,373,606 msg/sec AtomicQueue,14,i: 2,780,230 msg/sec AtomicQueue,15,s: 2,362,548 msg/sec AtomicQueue,15,i: 2,742,612 msg/sec AtomicQueue,16,s: 2,258,319 msg/sec AtomicQueue,16,i: 2,733,579 msg/sec OptimistAtomicQueue, 1,s: 1,444,563,452 msg/sec OptimistAtomicQueue, 1,i: 1,195,419,211 msg/sec OptimistAtomicQueue, 2,s: 58,628,767 msg/sec OptimistAtomicQueue, 2,i: 52,872,450 msg/sec OptimistAtomicQueue, 3,s: 58,720,009 msg/sec OptimistAtomicQueue, 3,i: 60,813,388 msg/sec OptimistAtomicQueue, 4,s: 59,296,546 msg/sec OptimistAtomicQueue, 4,i: 66,245,310 msg/sec OptimistAtomicQueue, 5,s: 33,257,396 msg/sec OptimistAtomicQueue, 5,i: 38,793,070 msg/sec OptimistAtomicQueue, 6,s: 34,549,256 msg/sec OptimistAtomicQueue, 6,i: 35,101,665 msg/sec OptimistAtomicQueue, 7,s: 40,019,302 msg/sec OptimistAtomicQueue, 7,i: 40,058,240 msg/sec OptimistAtomicQueue, 8,s: 50,446,792 msg/sec OptimistAtomicQueue, 8,i: 41,222,287 msg/sec OptimistAtomicQueue, 9,s: 40,756,758 msg/sec OptimistAtomicQueue, 9,i: 44,326,832 msg/sec OptimistAtomicQueue,10,s: 39,908,355 msg/sec OptimistAtomicQueue,10,i: 47,624,188 msg/sec OptimistAtomicQueue,11,s: 44,300,530 msg/sec OptimistAtomicQueue,11,i: 52,911,249 msg/sec OptimistAtomicQueue,12,s: 43,521,756 msg/sec OptimistAtomicQueue,12,i: 57,300,605 msg/sec OptimistAtomicQueue,13,s: 43,344,856 msg/sec OptimistAtomicQueue,13,i: 57,058,346 msg/sec OptimistAtomicQueue,14,s: 43,123,871 msg/sec OptimistAtomicQueue,14,i: 55,977,678 msg/sec OptimistAtomicQueue,15,s: 45,821,595 msg/sec OptimistAtomicQueue,15,i: 60,540,472 msg/sec OptimistAtomicQueue,16,s: 45,771,954 msg/sec OptimistAtomicQueue,16,i: 64,728,864 msg/sec AtomicQueueB, 1,s: 50,266,452 msg/sec AtomicQueueB, 1,i: 50,095,401 msg/sec AtomicQueueB, 2,s: 9,741,634 msg/sec AtomicQueueB, 2,i: 10,082,969 msg/sec AtomicQueueB, 3,s: 8,163,792 msg/sec AtomicQueueB, 3,i: 8,723,887 msg/sec AtomicQueueB, 4,s: 6,544,488 msg/sec AtomicQueueB, 4,i: 6,918,834 msg/sec AtomicQueueB, 5,s: 3,120,309 msg/sec AtomicQueueB, 5,i: 4,334,515 msg/sec AtomicQueueB, 6,s: 2,570,180 msg/sec AtomicQueueB, 6,i: 3,478,758 msg/sec AtomicQueueB, 7,s: 2,913,351 msg/sec AtomicQueueB, 7,i: 3,149,202 msg/sec AtomicQueueB, 8,s: 3,046,686 msg/sec AtomicQueueB, 8,i: 2,861,816 msg/sec AtomicQueueB, 9,s: 2,726,534 msg/sec AtomicQueueB, 9,i: 2,848,691 msg/sec AtomicQueueB,10,s: 2,783,120 msg/sec AtomicQueueB,10,i: 2,884,742 msg/sec AtomicQueueB,11,s: 2,735,293 msg/sec AtomicQueueB,11,i: 2,929,830 msg/sec AtomicQueueB,12,s: 2,663,710 msg/sec AtomicQueueB,12,i: 2,844,458 msg/sec AtomicQueueB,13,s: 2,518,126 msg/sec AtomicQueueB,13,i: 2,814,112 msg/sec AtomicQueueB,14,s: 2,381,633 msg/sec AtomicQueueB,14,i: 2,754,753 msg/sec AtomicQueueB,15,s: 2,375,781 msg/sec AtomicQueueB,15,i: 2,755,570 msg/sec AtomicQueueB,16,s: 2,277,321 msg/sec AtomicQueueB,16,i: 2,732,058 msg/sec OptimistAtomicQueueB, 1,s: 522,071,491 msg/sec OptimistAtomicQueueB, 1,i: 508,710,374 msg/sec OptimistAtomicQueueB, 2,s: 49,194,775 msg/sec OptimistAtomicQueueB, 2,i: 49,331,792 msg/sec OptimistAtomicQueueB, 3,s: 58,574,832 msg/sec OptimistAtomicQueueB, 3,i: 57,573,938 msg/sec OptimistAtomicQueueB, 4,s: 59,491,761 msg/sec OptimistAtomicQueueB, 4,i: 66,239,387 msg/sec OptimistAtomicQueueB, 5,s: 33,034,837 msg/sec OptimistAtomicQueueB, 5,i: 46,097,578 msg/sec OptimistAtomicQueueB, 6,s: 34,268,620 msg/sec OptimistAtomicQueueB, 6,i: 33,957,381 msg/sec OptimistAtomicQueueB, 7,s: 39,196,097 msg/sec OptimistAtomicQueueB, 7,i: 40,036,301 msg/sec OptimistAtomicQueueB, 8,s: 59,524,977 msg/sec OptimistAtomicQueueB, 8,i: 41,265,118 msg/sec OptimistAtomicQueueB, 9,s: 40,532,938 msg/sec OptimistAtomicQueueB, 9,i: 45,369,853 msg/sec OptimistAtomicQueueB,10,s: 39,903,832 msg/sec OptimistAtomicQueueB,10,i: 46,123,495 msg/sec OptimistAtomicQueueB,11,s: 44,261,394 msg/sec OptimistAtomicQueueB,11,i: 52,550,712 msg/sec OptimistAtomicQueueB,12,s: 43,760,308 msg/sec OptimistAtomicQueueB,12,i: 56,611,886 msg/sec OptimistAtomicQueueB,13,s: 43,722,639 msg/sec OptimistAtomicQueueB,13,i: 56,050,301 msg/sec OptimistAtomicQueueB,14,s: 43,479,264 msg/sec OptimistAtomicQueueB,14,i: 56,813,977 msg/sec OptimistAtomicQueueB,15,s: 46,213,119 msg/sec OptimistAtomicQueueB,15,i: 59,977,709 msg/sec OptimistAtomicQueueB,16,s: 46,104,251 msg/sec OptimistAtomicQueueB,16,i: 64,788,665 msg/sec AtomicQueue2, 1,s: 125,811,042 msg/sec AtomicQueue2, 1,i: 132,976,957 msg/sec AtomicQueue2, 2,s: 9,956,588 msg/sec AtomicQueue2, 2,i: 10,537,065 msg/sec AtomicQueue2, 3,s: 8,414,115 msg/sec AtomicQueue2, 3,i: 8,912,871 msg/sec AtomicQueue2, 4,s: 6,678,047 msg/sec AtomicQueue2, 4,i: 7,089,048 msg/sec AtomicQueue2, 5,s: 3,152,484 msg/sec AtomicQueue2, 5,i: 4,270,010 msg/sec AtomicQueue2, 6,s: 2,568,439 msg/sec AtomicQueue2, 6,i: 3,965,749 msg/sec AtomicQueue2, 7,s: 2,903,549 msg/sec AtomicQueue2, 7,i: 3,269,651 msg/sec AtomicQueue2, 8,s: 3,017,119 msg/sec AtomicQueue2, 8,i: 2,879,287 msg/sec AtomicQueue2, 9,s: 2,725,947 msg/sec AtomicQueue2, 9,i: 2,873,511 msg/sec AtomicQueue2,10,s: 2,758,697 msg/sec AtomicQueue2,10,i: 2,872,966 msg/sec AtomicQueue2,11,s: 2,743,987 msg/sec AtomicQueue2,11,i: 2,901,595 msg/sec AtomicQueue2,12,s: 2,693,062 msg/sec AtomicQueue2,12,i: 2,841,126 msg/sec AtomicQueue2,13,s: 2,547,348 msg/sec AtomicQueue2,13,i: 2,831,808 msg/sec AtomicQueue2,14,s: 2,394,496 msg/sec AtomicQueue2,14,i: 2,755,548 msg/sec AtomicQueue2,15,s: 2,388,599 msg/sec AtomicQueue2,15,i: 2,802,635 msg/sec AtomicQueue2,16,s: 2,285,049 msg/sec AtomicQueue2,16,i: 2,709,341 msg/sec OptimistAtomicQueue2, 1,s: 107,435,505 msg/sec OptimistAtomicQueue2, 1,i: 107,128,787 msg/sec OptimistAtomicQueue2, 2,s: 43,410,717 msg/sec OptimistAtomicQueue2, 2,i: 47,128,669 msg/sec OptimistAtomicQueue2, 3,s: 55,488,198 msg/sec OptimistAtomicQueue2, 3,i: 50,086,469 msg/sec OptimistAtomicQueue2, 4,s: 59,248,451 msg/sec OptimistAtomicQueue2, 4,i: 57,931,830 msg/sec OptimistAtomicQueue2, 5,s: 31,397,214 msg/sec OptimistAtomicQueue2, 5,i: 34,232,725 msg/sec OptimistAtomicQueue2, 6,s: 32,851,372 msg/sec OptimistAtomicQueue2, 6,i: 32,419,696 msg/sec OptimistAtomicQueue2, 7,s: 37,750,464 msg/sec OptimistAtomicQueue2, 7,i: 37,751,988 msg/sec OptimistAtomicQueue2, 8,s: 50,942,665 msg/sec OptimistAtomicQueue2, 8,i: 39,865,479 msg/sec OptimistAtomicQueue2, 9,s: 37,441,713 msg/sec OptimistAtomicQueue2, 9,i: 42,559,774 msg/sec OptimistAtomicQueue2,10,s: 37,583,153 msg/sec OptimistAtomicQueue2,10,i: 43,907,613 msg/sec OptimistAtomicQueue2,11,s: 42,945,021 msg/sec OptimistAtomicQueue2,11,i: 48,534,858 msg/sec OptimistAtomicQueue2,12,s: 42,051,074 msg/sec OptimistAtomicQueue2,12,i: 52,392,575 msg/sec OptimistAtomicQueue2,13,s: 41,131,412 msg/sec OptimistAtomicQueue2,13,i: 53,447,604 msg/sec OptimistAtomicQueue2,14,s: 40,855,616 msg/sec OptimistAtomicQueue2,14,i: 52,663,827 msg/sec OptimistAtomicQueue2,15,s: 43,306,036 msg/sec OptimistAtomicQueue2,15,i: 56,764,837 msg/sec OptimistAtomicQueue2,16,s: 43,366,120 msg/sec OptimistAtomicQueue2,16,i: 59,180,815 msg/sec AtomicQueueB2, 1,s: 70,923,565 msg/sec AtomicQueueB2, 1,i: 59,440,558 msg/sec AtomicQueueB2, 2,s: 9,860,423 msg/sec AtomicQueueB2, 2,i: 10,422,299 msg/sec AtomicQueueB2, 3,s: 8,323,256 msg/sec AtomicQueueB2, 3,i: 8,854,912 msg/sec AtomicQueueB2, 4,s: 6,615,919 msg/sec AtomicQueueB2, 4,i: 6,966,179 msg/sec AtomicQueueB2, 5,s: 3,096,439 msg/sec AtomicQueueB2, 5,i: 4,320,275 msg/sec AtomicQueueB2, 6,s: 2,550,775 msg/sec AtomicQueueB2, 6,i: 3,431,411 msg/sec AtomicQueueB2, 7,s: 2,894,745 msg/sec AtomicQueueB2, 7,i: 3,160,337 msg/sec AtomicQueueB2, 8,s: 3,018,328 msg/sec AtomicQueueB2, 8,i: 2,849,776 msg/sec AtomicQueueB2, 9,s: 2,785,210 msg/sec AtomicQueueB2, 9,i: 2,841,028 msg/sec AtomicQueueB2,10,s: 2,758,716 msg/sec AtomicQueueB2,10,i: 2,847,821 msg/sec AtomicQueueB2,11,s: 2,794,390 msg/sec AtomicQueueB2,11,i: 2,879,345 msg/sec AtomicQueueB2,12,s: 2,752,039 msg/sec AtomicQueueB2,12,i: 2,856,971 msg/sec AtomicQueueB2,13,s: 2,615,422 msg/sec AtomicQueueB2,13,i: 2,817,884 msg/sec AtomicQueueB2,14,s: 2,444,327 msg/sec AtomicQueueB2,14,i: 2,724,290 msg/sec AtomicQueueB2,15,s: 2,425,473 msg/sec AtomicQueueB2,15,i: 2,815,925 msg/sec AtomicQueueB2,16,s: 2,303,877 msg/sec AtomicQueueB2,16,i: 2,745,611 msg/sec OptimistAtomicQueueB2, 1,s: 152,397,750 msg/sec OptimistAtomicQueueB2, 1,i: 152,835,390 msg/sec OptimistAtomicQueueB2, 2,s: 42,105,535 msg/sec OptimistAtomicQueueB2, 2,i: 45,964,538 msg/sec OptimistAtomicQueueB2, 3,s: 56,887,793 msg/sec OptimistAtomicQueueB2, 3,i: 53,189,121 msg/sec OptimistAtomicQueueB2, 4,s: 59,053,118 msg/sec OptimistAtomicQueueB2, 4,i: 59,932,730 msg/sec OptimistAtomicQueueB2, 5,s: 31,360,124 msg/sec OptimistAtomicQueueB2, 5,i: 32,603,277 msg/sec OptimistAtomicQueueB2, 6,s: 32,933,444 msg/sec OptimistAtomicQueueB2, 6,i: 32,354,445 msg/sec OptimistAtomicQueueB2, 7,s: 37,179,259 msg/sec OptimistAtomicQueueB2, 7,i: 37,045,154 msg/sec OptimistAtomicQueueB2, 8,s: 47,967,181 msg/sec OptimistAtomicQueueB2, 8,i: 38,914,485 msg/sec OptimistAtomicQueueB2, 9,s: 37,012,747 msg/sec OptimistAtomicQueueB2, 9,i: 41,084,119 msg/sec OptimistAtomicQueueB2,10,s: 37,306,666 msg/sec OptimistAtomicQueueB2,10,i: 42,528,176 msg/sec OptimistAtomicQueueB2,11,s: 42,659,512 msg/sec OptimistAtomicQueueB2,11,i: 47,632,468 msg/sec OptimistAtomicQueueB2,12,s: 41,705,108 msg/sec OptimistAtomicQueueB2,12,i: 51,073,498 msg/sec OptimistAtomicQueueB2,13,s: 40,957,715 msg/sec OptimistAtomicQueueB2,13,i: 52,681,677 msg/sec OptimistAtomicQueueB2,14,s: 40,854,114 msg/sec OptimistAtomicQueueB2,14,i: 52,653,956 msg/sec OptimistAtomicQueueB2,15,s: 43,106,689 msg/sec OptimistAtomicQueueB2,15,i: 56,497,408 msg/sec OptimistAtomicQueueB2,16,s: 43,262,131 msg/sec OptimistAtomicQueueB2,16,i: 59,256,701 msg/sec moodycamel::ReaderWriterQueue, 1,s: 132,710,664 msg/sec moodycamel::ReaderWriterQueue, 1,i: 802,771,041 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,108,241 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,254,876 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,813,110 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,699,124 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,277,653 msg/sec moodycamel::ConcurrentQueue, 3,i: 53,757,334 msg/sec moodycamel::ConcurrentQueue, 4,s: 97,096,313 msg/sec moodycamel::ConcurrentQueue, 4,i: 84,767,886 msg/sec moodycamel::ConcurrentQueue, 5,s: 132,370,402 msg/sec moodycamel::ConcurrentQueue, 5,i: 173,166,211 msg/sec moodycamel::ConcurrentQueue, 6,s: 209,477,733 msg/sec moodycamel::ConcurrentQueue, 6,i: 190,325,645 msg/sec moodycamel::ConcurrentQueue, 7,s: 237,242,468 msg/sec moodycamel::ConcurrentQueue, 7,i: 204,323,740 msg/sec moodycamel::ConcurrentQueue, 8,s: 260,027,131 msg/sec moodycamel::ConcurrentQueue, 8,i: 213,502,353 msg/sec moodycamel::ConcurrentQueue, 9,s: 237,260,954 msg/sec moodycamel::ConcurrentQueue, 9,i: 223,960,679 msg/sec moodycamel::ConcurrentQueue,10,s: 275,592,284 msg/sec moodycamel::ConcurrentQueue,10,i: 211,649,709 msg/sec moodycamel::ConcurrentQueue,11,s: 239,947,871 msg/sec moodycamel::ConcurrentQueue,11,i: 185,417,459 msg/sec moodycamel::ConcurrentQueue,12,s: 146,776,815 msg/sec moodycamel::ConcurrentQueue,12,i: 161,435,944 msg/sec moodycamel::ConcurrentQueue,13,s: 225,177,420 msg/sec moodycamel::ConcurrentQueue,13,i: 320,701,391 msg/sec moodycamel::ConcurrentQueue,14,s: 369,170,149 msg/sec moodycamel::ConcurrentQueue,14,i: 361,741,343 msg/sec moodycamel::ConcurrentQueue,15,s: 446,748,423 msg/sec moodycamel::ConcurrentQueue,15,i: 438,422,494 msg/sec moodycamel::ConcurrentQueue,16,s: 552,254,483 msg/sec moodycamel::ConcurrentQueue,16,i: 468,744,055 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,764,477 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,781,686 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,090,528 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,137,280 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,971,500 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,067,632 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,418,738 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,630,444 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,074,569 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,113,371 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,804,035 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,454,703 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,657,037 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,269,281 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,787,583 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,805,421 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,686,796 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,916,764 msg/sec tbb::concurrent_bounded_queue,10,s: 2,827,076 msg/sec tbb::concurrent_bounded_queue,10,i: 2,881,736 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,550 msg/sec tbb::concurrent_bounded_queue,11,i: 2,982,979 msg/sec tbb::concurrent_bounded_queue,12,s: 2,560,873 msg/sec tbb::concurrent_bounded_queue,12,i: 2,784,195 msg/sec tbb::concurrent_bounded_queue,13,s: 2,484,810 msg/sec tbb::concurrent_bounded_queue,13,i: 2,823,732 msg/sec tbb::concurrent_bounded_queue,14,s: 2,385,225 msg/sec tbb::concurrent_bounded_queue,14,i: 2,708,762 msg/sec tbb::concurrent_bounded_queue,15,s: 2,342,651 msg/sec tbb::concurrent_bounded_queue,15,i: 2,625,956 msg/sec tbb::concurrent_bounded_queue,16,s: 2,266,995 msg/sec tbb::concurrent_bounded_queue,16,i: 2,533,413 msg/sec xenium::michael_scott_queue, 1,s: 13,463,650 msg/sec xenium::michael_scott_queue, 1,i: 13,746,737 msg/sec xenium::michael_scott_queue, 2,s: 9,412,029 msg/sec xenium::michael_scott_queue, 2,i: 9,193,000 msg/sec xenium::michael_scott_queue, 3,s: 7,643,379 msg/sec xenium::michael_scott_queue, 3,i: 7,547,052 msg/sec xenium::michael_scott_queue, 4,s: 5,856,545 msg/sec xenium::michael_scott_queue, 4,i: 5,840,304 msg/sec xenium::michael_scott_queue, 5,s: 3,611,806 msg/sec xenium::michael_scott_queue, 5,i: 4,665,031 msg/sec xenium::michael_scott_queue, 6,s: 3,324,526 msg/sec xenium::michael_scott_queue, 6,i: 3,579,374 msg/sec xenium::michael_scott_queue, 7,s: 3,230,403 msg/sec xenium::michael_scott_queue, 7,i: 3,203,114 msg/sec xenium::michael_scott_queue, 8,s: 2,353,015 msg/sec xenium::michael_scott_queue, 8,i: 2,790,513 msg/sec xenium::michael_scott_queue, 9,s: 2,862,148 msg/sec xenium::michael_scott_queue, 9,i: 2,842,933 msg/sec xenium::michael_scott_queue,10,s: 2,854,823 msg/sec xenium::michael_scott_queue,10,i: 2,823,433 msg/sec xenium::michael_scott_queue,11,s: 2,736,597 msg/sec xenium::michael_scott_queue,11,i: 2,855,758 msg/sec xenium::michael_scott_queue,12,s: 2,590,890 msg/sec xenium::michael_scott_queue,12,i: 2,731,003 msg/sec xenium::michael_scott_queue,13,s: 2,527,441 msg/sec xenium::michael_scott_queue,13,i: 2,661,839 msg/sec xenium::michael_scott_queue,14,s: 2,416,778 msg/sec xenium::michael_scott_queue,14,i: 2,598,715 msg/sec xenium::michael_scott_queue,15,s: 2,321,387 msg/sec xenium::michael_scott_queue,15,i: 2,586,494 msg/sec xenium::michael_scott_queue,16,s: 2,218,571 msg/sec xenium::michael_scott_queue,16,i: 2,500,268 msg/sec xenium::ramalhete_queue, 1,s: 72,189,798 msg/sec xenium::ramalhete_queue, 1,i: 65,286,501 msg/sec xenium::ramalhete_queue, 2,s: 52,287,430 msg/sec xenium::ramalhete_queue, 2,i: 35,336,027 msg/sec xenium::ramalhete_queue, 3,s: 41,793,748 msg/sec xenium::ramalhete_queue, 3,i: 42,298,318 msg/sec xenium::ramalhete_queue, 4,s: 50,196,637 msg/sec xenium::ramalhete_queue, 4,i: 48,745,874 msg/sec xenium::ramalhete_queue, 5,s: 37,327,693 msg/sec xenium::ramalhete_queue, 5,i: 23,567,072 msg/sec xenium::ramalhete_queue, 6,s: 39,307,854 msg/sec xenium::ramalhete_queue, 6,i: 26,669,129 msg/sec xenium::ramalhete_queue, 7,s: 40,593,190 msg/sec xenium::ramalhete_queue, 7,i: 28,800,449 msg/sec xenium::ramalhete_queue, 8,s: 50,536,733 msg/sec xenium::ramalhete_queue, 8,i: 30,057,171 msg/sec xenium::ramalhete_queue, 9,s: 33,021,477 msg/sec xenium::ramalhete_queue, 9,i: 36,150,538 msg/sec xenium::ramalhete_queue,10,s: 34,831,193 msg/sec xenium::ramalhete_queue,10,i: 40,615,484 msg/sec xenium::ramalhete_queue,11,s: 37,056,119 msg/sec xenium::ramalhete_queue,11,i: 43,071,314 msg/sec xenium::ramalhete_queue,12,s: 38,634,980 msg/sec xenium::ramalhete_queue,12,i: 43,889,735 msg/sec xenium::ramalhete_queue,13,s: 39,851,660 msg/sec xenium::ramalhete_queue,13,i: 44,473,200 msg/sec xenium::ramalhete_queue,14,s: 39,838,720 msg/sec xenium::ramalhete_queue,14,i: 43,105,766 msg/sec xenium::ramalhete_queue,15,s: 39,825,718 msg/sec xenium::ramalhete_queue,15,i: 44,736,877 msg/sec xenium::ramalhete_queue,16,s: 39,758,385 msg/sec xenium::ramalhete_queue,16,i: 44,711,951 msg/sec xenium::vyukov_bounded_queue, 1,s: 310,430,786 msg/sec xenium::vyukov_bounded_queue, 1,i: 316,075,445 msg/sec xenium::vyukov_bounded_queue, 2,s: 23,209,327 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,619,811 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,683,183 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,272,942 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,474,385 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,592,110 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,988,401 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,349,918 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,055,093 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,403,236 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,075,953 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,455,941 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,155,191 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,516,573 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,121,684 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,678,721 msg/sec xenium::vyukov_bounded_queue,10,s: 7,521,930 msg/sec xenium::vyukov_bounded_queue,10,i: 6,809,324 msg/sec xenium::vyukov_bounded_queue,11,s: 7,421,377 msg/sec xenium::vyukov_bounded_queue,11,i: 7,219,008 msg/sec xenium::vyukov_bounded_queue,12,s: 7,448,870 msg/sec xenium::vyukov_bounded_queue,12,i: 7,438,510 msg/sec xenium::vyukov_bounded_queue,13,s: 7,071,341 msg/sec xenium::vyukov_bounded_queue,13,i: 7,309,367 msg/sec xenium::vyukov_bounded_queue,14,s: 7,158,533 msg/sec xenium::vyukov_bounded_queue,14,i: 7,481,154 msg/sec xenium::vyukov_bounded_queue,15,s: 7,102,566 msg/sec xenium::vyukov_bounded_queue,15,i: 7,371,683 msg/sec xenium::vyukov_bounded_queue,16,s: 6,940,562 msg/sec xenium::vyukov_bounded_queue,16,i: 7,072,125 msg/sec boost::lockfree::queue, 1,s: 7,785,690 msg/sec boost::lockfree::queue, 1,i: 7,770,492 msg/sec boost::lockfree::queue, 2,s: 5,856,575 msg/sec boost::lockfree::queue, 2,i: 5,895,243 msg/sec boost::lockfree::queue, 3,s: 4,952,926 msg/sec boost::lockfree::queue, 3,i: 4,802,201 msg/sec boost::lockfree::queue, 4,s: 4,372,915 msg/sec boost::lockfree::queue, 4,i: 4,360,408 msg/sec boost::lockfree::queue, 5,s: 2,670,527 msg/sec boost::lockfree::queue, 5,i: 2,906,904 msg/sec boost::lockfree::queue, 6,s: 1,452,416 msg/sec boost::lockfree::queue, 6,i: 2,994,743 msg/sec boost::lockfree::queue, 7,s: 1,406,344 msg/sec boost::lockfree::queue, 7,i: 2,942,294 msg/sec boost::lockfree::queue, 8,s: 1,161,764 msg/sec boost::lockfree::queue, 8,i: 1,926,427 msg/sec boost::lockfree::queue, 9,s: 1,439,664 msg/sec boost::lockfree::queue, 9,i: 1,871,857 msg/sec boost::lockfree::queue,10,s: 1,560,850 msg/sec boost::lockfree::queue,10,i: 1,986,475 msg/sec boost::lockfree::queue,11,s: 1,746,663 msg/sec boost::lockfree::queue,11,i: 1,905,947 msg/sec boost::lockfree::queue,12,s: 1,894,237 msg/sec boost::lockfree::queue,12,i: 1,702,462 msg/sec boost::lockfree::queue,13,s: 1,662,124 msg/sec boost::lockfree::queue,13,i: 1,726,843 msg/sec boost::lockfree::queue,14,s: 1,552,271 msg/sec boost::lockfree::queue,14,i: 1,620,857 msg/sec boost::lockfree::queue,15,s: 1,590,501 msg/sec boost::lockfree::queue,15,i: 1,591,045 msg/sec boost::lockfree::queue,16,s: 1,523,899 msg/sec boost::lockfree::queue,16,i: 1,500,674 msg/sec std::mutex, 1,s: 5,310,346 msg/sec std::mutex, 1,i: 3,728,953 msg/sec std::mutex, 2,s: 12,968,797 msg/sec std::mutex, 2,i: 12,598,438 msg/sec std::mutex, 3,s: 7,280,530 msg/sec std::mutex, 3,i: 6,886,642 msg/sec std::mutex, 4,s: 7,053,226 msg/sec std::mutex, 4,i: 6,750,251 msg/sec std::mutex, 5,s: 3,388,538 msg/sec std::mutex, 5,i: 3,501,287 msg/sec std::mutex, 6,s: 3,024,628 msg/sec std::mutex, 6,i: 2,928,514 msg/sec std::mutex, 7,s: 3,259,246 msg/sec std::mutex, 7,i: 2,902,178 msg/sec std::mutex, 8,s: 3,520,468 msg/sec std::mutex, 8,i: 2,836,562 msg/sec std::mutex, 9,s: 2,907,136 msg/sec std::mutex, 9,i: 2,722,068 msg/sec std::mutex,10,s: 2,629,474 msg/sec std::mutex,10,i: 2,603,144 msg/sec std::mutex,11,s: 2,753,652 msg/sec std::mutex,11,i: 2,632,932 msg/sec std::mutex,12,s: 2,728,202 msg/sec std::mutex,12,i: 2,547,280 msg/sec std::mutex,13,s: 2,506,489 msg/sec std::mutex,13,i: 2,431,668 msg/sec std::mutex,14,s: 2,424,269 msg/sec std::mutex,14,i: 2,363,142 msg/sec std::mutex,15,s: 2,444,708 msg/sec std::mutex,15,i: 2,393,875 msg/sec std::mutex,16,s: 2,332,501 msg/sec std::mutex,16,i: 2,299,880 msg/sec pthread_spinlock, 1,s: 17,907,729 msg/sec pthread_spinlock, 1,i: 17,912,816 msg/sec pthread_spinlock, 2,s: 7,839,210 msg/sec pthread_spinlock, 2,i: 1,593,543 msg/sec pthread_spinlock, 3,s: 698,571 msg/sec pthread_spinlock, 3,i: 6,004,786 msg/sec pthread_spinlock, 4,s: 2,147,963 msg/sec pthread_spinlock, 4,i: 1,124,710 msg/sec pthread_spinlock, 5,s: 2,777,572 msg/sec pthread_spinlock, 5,i: 907,352 msg/sec pthread_spinlock, 6,s: 2,065,341 msg/sec pthread_spinlock, 6,i: 3,128,560 msg/sec pthread_spinlock, 7,s: 2,776,858 msg/sec pthread_spinlock, 7,i: 3,066,316 msg/sec pthread_spinlock, 8,s: 2,974,619 msg/sec pthread_spinlock, 8,i: 2,646,987 msg/sec pthread_spinlock, 9,s: 2,913,325 msg/sec pthread_spinlock, 9,i: 2,295,382 msg/sec pthread_spinlock,10,s: 2,735,122 msg/sec pthread_spinlock,10,i: 2,384,372 msg/sec pthread_spinlock,11,s: 2,568,488 msg/sec pthread_spinlock,11,i: 2,744,942 msg/sec pthread_spinlock,12,s: 2,571,764 msg/sec pthread_spinlock,12,i: 2,491,088 msg/sec pthread_spinlock,13,s: 2,334,702 msg/sec pthread_spinlock,13,i: 2,113,294 msg/sec pthread_spinlock,14,s: 2,205,100 msg/sec pthread_spinlock,14,i: 2,027,915 msg/sec pthread_spinlock,15,s: 2,081,148 msg/sec pthread_spinlock,15,i: 1,909,256 msg/sec pthread_spinlock,16,s: 1,795,870 msg/sec pthread_spinlock,16,i: 1,597,203 msg/sec tbb::spin_mutex, 1,s: 37,537,515 msg/sec tbb::spin_mutex, 1,i: 37,931,370 msg/sec tbb::spin_mutex, 2,s: 16,553,553 msg/sec tbb::spin_mutex, 2,i: 16,218,638 msg/sec tbb::spin_mutex, 3,s: 12,051,903 msg/sec tbb::spin_mutex, 3,i: 11,900,739 msg/sec tbb::spin_mutex, 4,s: 10,576,123 msg/sec tbb::spin_mutex, 4,i: 10,161,554 msg/sec tbb::spin_mutex, 5,s: 5,940,454 msg/sec tbb::spin_mutex, 5,i: 5,483,466 msg/sec tbb::spin_mutex, 6,s: 5,096,955 msg/sec tbb::spin_mutex, 6,i: 4,860,870 msg/sec tbb::spin_mutex, 7,s: 4,410,135 msg/sec tbb::spin_mutex, 7,i: 4,918,006 msg/sec tbb::spin_mutex, 8,s: 4,271,000 msg/sec tbb::spin_mutex, 8,i: 4,063,093 msg/sec tbb::spin_mutex, 9,s: 4,435,107 msg/sec tbb::spin_mutex, 9,i: 4,173,128 msg/sec tbb::spin_mutex,10,s: 4,426,124 msg/sec tbb::spin_mutex,10,i: 4,097,280 msg/sec tbb::spin_mutex,11,s: 4,140,365 msg/sec tbb::spin_mutex,11,i: 4,088,972 msg/sec tbb::spin_mutex,12,s: 3,754,471 msg/sec tbb::spin_mutex,12,i: 3,510,072 msg/sec tbb::spin_mutex,13,s: 3,414,274 msg/sec tbb::spin_mutex,13,i: 3,389,454 msg/sec tbb::spin_mutex,14,s: 3,386,129 msg/sec tbb::spin_mutex,14,i: 3,053,912 msg/sec tbb::spin_mutex,15,s: 3,167,917 msg/sec tbb::spin_mutex,15,i: 3,284,428 msg/sec tbb::spin_mutex,16,s: 2,928,552 msg/sec tbb::spin_mutex,16,i: 3,011,212 msg/sec Elapsed time 6:13.80, user 5627.34s, system 601.44s, CPU 1666%, RSS 93968kB, exit-status 0. 2026-09-14 13:21:54 [11/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000043 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000322 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,488,341 msg/sec boost::lockfree::spsc_queue, 1,i: 113,397,024 msg/sec AtomicQueue, 1,s: 144,995,468 msg/sec AtomicQueue, 1,i: 139,889,874 msg/sec AtomicQueue, 2,s: 9,876,976 msg/sec AtomicQueue, 2,i: 10,330,121 msg/sec AtomicQueue, 3,s: 8,335,068 msg/sec AtomicQueue, 3,i: 8,778,535 msg/sec AtomicQueue, 4,s: 6,619,522 msg/sec AtomicQueue, 4,i: 7,021,324 msg/sec AtomicQueue, 5,s: 3,167,139 msg/sec AtomicQueue, 5,i: 4,322,809 msg/sec AtomicQueue, 6,s: 2,599,060 msg/sec AtomicQueue, 6,i: 3,498,903 msg/sec AtomicQueue, 7,s: 2,961,359 msg/sec AtomicQueue, 7,i: 3,253,702 msg/sec AtomicQueue, 8,s: 3,112,755 msg/sec AtomicQueue, 8,i: 2,897,326 msg/sec AtomicQueue, 9,s: 2,837,718 msg/sec AtomicQueue, 9,i: 2,926,506 msg/sec AtomicQueue,10,s: 2,780,005 msg/sec AtomicQueue,10,i: 2,904,776 msg/sec AtomicQueue,11,s: 2,797,677 msg/sec AtomicQueue,11,i: 2,968,388 msg/sec AtomicQueue,12,s: 2,673,934 msg/sec AtomicQueue,12,i: 2,850,849 msg/sec AtomicQueue,13,s: 2,526,881 msg/sec AtomicQueue,13,i: 2,854,431 msg/sec AtomicQueue,14,s: 2,369,176 msg/sec AtomicQueue,14,i: 2,812,390 msg/sec AtomicQueue,15,s: 2,363,207 msg/sec AtomicQueue,15,i: 2,754,853 msg/sec AtomicQueue,16,s: 2,259,001 msg/sec AtomicQueue,16,i: 2,732,375 msg/sec OptimistAtomicQueue, 1,s: 1,191,587,557 msg/sec OptimistAtomicQueue, 1,i: 1,205,361,226 msg/sec OptimistAtomicQueue, 2,s: 53,063,929 msg/sec OptimistAtomicQueue, 2,i: 52,813,923 msg/sec OptimistAtomicQueue, 3,s: 58,686,996 msg/sec OptimistAtomicQueue, 3,i: 59,533,778 msg/sec OptimistAtomicQueue, 4,s: 59,219,821 msg/sec OptimistAtomicQueue, 4,i: 65,275,549 msg/sec OptimistAtomicQueue, 5,s: 33,254,609 msg/sec OptimistAtomicQueue, 5,i: 42,222,850 msg/sec OptimistAtomicQueue, 6,s: 34,520,418 msg/sec OptimistAtomicQueue, 6,i: 35,164,107 msg/sec OptimistAtomicQueue, 7,s: 39,982,102 msg/sec OptimistAtomicQueue, 7,i: 40,081,954 msg/sec OptimistAtomicQueue, 8,s: 50,500,340 msg/sec OptimistAtomicQueue, 8,i: 41,196,746 msg/sec OptimistAtomicQueue, 9,s: 41,163,008 msg/sec OptimistAtomicQueue, 9,i: 45,506,236 msg/sec OptimistAtomicQueue,10,s: 39,960,390 msg/sec OptimistAtomicQueue,10,i: 47,638,503 msg/sec OptimistAtomicQueue,11,s: 44,381,846 msg/sec OptimistAtomicQueue,11,i: 52,978,466 msg/sec OptimistAtomicQueue,12,s: 43,357,480 msg/sec OptimistAtomicQueue,12,i: 57,447,446 msg/sec OptimistAtomicQueue,13,s: 43,392,458 msg/sec OptimistAtomicQueue,13,i: 56,715,431 msg/sec OptimistAtomicQueue,14,s: 43,380,678 msg/sec OptimistAtomicQueue,14,i: 56,091,117 msg/sec OptimistAtomicQueue,15,s: 45,837,704 msg/sec OptimistAtomicQueue,15,i: 60,171,178 msg/sec OptimistAtomicQueue,16,s: 45,762,256 msg/sec OptimistAtomicQueue,16,i: 64,677,246 msg/sec AtomicQueueB, 1,s: 49,812,707 msg/sec AtomicQueueB, 1,i: 49,748,872 msg/sec AtomicQueueB, 2,s: 9,628,746 msg/sec AtomicQueueB, 2,i: 10,260,468 msg/sec AtomicQueueB, 3,s: 8,244,241 msg/sec AtomicQueueB, 3,i: 8,609,795 msg/sec AtomicQueueB, 4,s: 6,545,302 msg/sec AtomicQueueB, 4,i: 6,917,636 msg/sec AtomicQueueB, 5,s: 3,100,482 msg/sec AtomicQueueB, 5,i: 4,319,099 msg/sec AtomicQueueB, 6,s: 2,569,580 msg/sec AtomicQueueB, 6,i: 3,458,687 msg/sec AtomicQueueB, 7,s: 2,911,639 msg/sec AtomicQueueB, 7,i: 3,156,864 msg/sec AtomicQueueB, 8,s: 3,051,005 msg/sec AtomicQueueB, 8,i: 2,859,219 msg/sec AtomicQueueB, 9,s: 2,800,605 msg/sec AtomicQueueB, 9,i: 2,849,430 msg/sec AtomicQueueB,10,s: 2,806,022 msg/sec AtomicQueueB,10,i: 2,878,234 msg/sec AtomicQueueB,11,s: 2,748,324 msg/sec AtomicQueueB,11,i: 2,904,733 msg/sec AtomicQueueB,12,s: 2,665,815 msg/sec AtomicQueueB,12,i: 2,851,084 msg/sec AtomicQueueB,13,s: 2,532,248 msg/sec AtomicQueueB,13,i: 2,833,266 msg/sec AtomicQueueB,14,s: 2,385,312 msg/sec AtomicQueueB,14,i: 2,733,537 msg/sec AtomicQueueB,15,s: 2,382,035 msg/sec AtomicQueueB,15,i: 2,840,177 msg/sec AtomicQueueB,16,s: 2,278,802 msg/sec AtomicQueueB,16,i: 2,741,233 msg/sec OptimistAtomicQueueB, 1,s: 515,518,180 msg/sec OptimistAtomicQueueB, 1,i: 507,375,996 msg/sec OptimistAtomicQueueB, 2,s: 48,210,358 msg/sec OptimistAtomicQueueB, 2,i: 49,579,156 msg/sec OptimistAtomicQueueB, 3,s: 58,639,060 msg/sec OptimistAtomicQueueB, 3,i: 58,017,213 msg/sec OptimistAtomicQueueB, 4,s: 59,549,824 msg/sec OptimistAtomicQueueB, 4,i: 66,001,954 msg/sec OptimistAtomicQueueB, 5,s: 33,096,478 msg/sec OptimistAtomicQueueB, 5,i: 38,933,787 msg/sec OptimistAtomicQueueB, 6,s: 34,319,295 msg/sec OptimistAtomicQueueB, 6,i: 34,982,191 msg/sec OptimistAtomicQueueB, 7,s: 39,199,017 msg/sec OptimistAtomicQueueB, 7,i: 39,974,079 msg/sec OptimistAtomicQueueB, 8,s: 51,653,882 msg/sec OptimistAtomicQueueB, 8,i: 41,163,730 msg/sec OptimistAtomicQueueB, 9,s: 40,431,140 msg/sec OptimistAtomicQueueB, 9,i: 45,636,047 msg/sec OptimistAtomicQueueB,10,s: 39,983,493 msg/sec OptimistAtomicQueueB,10,i: 46,946,891 msg/sec OptimistAtomicQueueB,11,s: 44,253,735 msg/sec OptimistAtomicQueueB,11,i: 52,814,981 msg/sec OptimistAtomicQueueB,12,s: 43,874,022 msg/sec OptimistAtomicQueueB,12,i: 56,583,698 msg/sec OptimistAtomicQueueB,13,s: 43,734,322 msg/sec OptimistAtomicQueueB,13,i: 56,495,091 msg/sec OptimistAtomicQueueB,14,s: 43,405,702 msg/sec OptimistAtomicQueueB,14,i: 55,725,329 msg/sec OptimistAtomicQueueB,15,s: 46,276,247 msg/sec OptimistAtomicQueueB,15,i: 60,267,128 msg/sec OptimistAtomicQueueB,16,s: 46,122,431 msg/sec OptimistAtomicQueueB,16,i: 64,828,271 msg/sec AtomicQueue2, 1,s: 133,556,091 msg/sec AtomicQueue2, 1,i: 133,771,728 msg/sec AtomicQueue2, 2,s: 9,951,414 msg/sec AtomicQueue2, 2,i: 10,518,771 msg/sec AtomicQueue2, 3,s: 8,410,449 msg/sec AtomicQueue2, 3,i: 8,906,183 msg/sec AtomicQueue2, 4,s: 6,680,261 msg/sec AtomicQueue2, 4,i: 7,089,303 msg/sec AtomicQueue2, 5,s: 3,132,155 msg/sec AtomicQueue2, 5,i: 3,709,787 msg/sec AtomicQueue2, 6,s: 2,564,417 msg/sec AtomicQueue2, 6,i: 3,969,102 msg/sec AtomicQueue2, 7,s: 2,904,255 msg/sec AtomicQueue2, 7,i: 3,207,517 msg/sec AtomicQueue2, 8,s: 2,998,006 msg/sec AtomicQueue2, 8,i: 2,895,621 msg/sec AtomicQueue2, 9,s: 2,731,257 msg/sec AtomicQueue2, 9,i: 2,879,281 msg/sec AtomicQueue2,10,s: 2,843,682 msg/sec AtomicQueue2,10,i: 2,906,010 msg/sec AtomicQueue2,11,s: 2,744,148 msg/sec AtomicQueue2,11,i: 2,903,577 msg/sec AtomicQueue2,12,s: 2,696,175 msg/sec AtomicQueue2,12,i: 2,830,178 msg/sec AtomicQueue2,13,s: 2,548,936 msg/sec AtomicQueue2,13,i: 2,822,737 msg/sec AtomicQueue2,14,s: 2,390,498 msg/sec AtomicQueue2,14,i: 2,759,950 msg/sec AtomicQueue2,15,s: 2,390,612 msg/sec AtomicQueue2,15,i: 2,736,394 msg/sec AtomicQueue2,16,s: 2,286,036 msg/sec AtomicQueue2,16,i: 2,710,874 msg/sec OptimistAtomicQueue2, 1,s: 107,395,699 msg/sec OptimistAtomicQueue2, 1,i: 107,243,327 msg/sec OptimistAtomicQueue2, 2,s: 43,319,776 msg/sec OptimistAtomicQueue2, 2,i: 47,516,927 msg/sec OptimistAtomicQueue2, 3,s: 54,375,577 msg/sec OptimistAtomicQueue2, 3,i: 50,060,894 msg/sec OptimistAtomicQueue2, 4,s: 59,228,589 msg/sec OptimistAtomicQueue2, 4,i: 57,944,821 msg/sec OptimistAtomicQueue2, 5,s: 31,439,214 msg/sec OptimistAtomicQueue2, 5,i: 34,373,147 msg/sec OptimistAtomicQueue2, 6,s: 32,773,887 msg/sec OptimistAtomicQueue2, 6,i: 32,469,021 msg/sec OptimistAtomicQueue2, 7,s: 37,730,296 msg/sec OptimistAtomicQueue2, 7,i: 37,722,425 msg/sec OptimistAtomicQueue2, 8,s: 48,994,775 msg/sec OptimistAtomicQueue2, 8,i: 39,895,363 msg/sec OptimistAtomicQueue2, 9,s: 37,501,357 msg/sec OptimistAtomicQueue2, 9,i: 42,702,781 msg/sec OptimistAtomicQueue2,10,s: 37,581,161 msg/sec OptimistAtomicQueue2,10,i: 43,304,957 msg/sec OptimistAtomicQueue2,11,s: 42,990,695 msg/sec OptimistAtomicQueue2,11,i: 46,353,291 msg/sec OptimistAtomicQueue2,12,s: 42,033,947 msg/sec OptimistAtomicQueue2,12,i: 50,583,917 msg/sec OptimistAtomicQueue2,13,s: 41,046,595 msg/sec OptimistAtomicQueue2,13,i: 53,511,810 msg/sec OptimistAtomicQueue2,14,s: 40,961,260 msg/sec OptimistAtomicQueue2,14,i: 52,962,766 msg/sec OptimistAtomicQueue2,15,s: 43,349,362 msg/sec OptimistAtomicQueue2,15,i: 55,852,286 msg/sec OptimistAtomicQueue2,16,s: 43,398,509 msg/sec OptimistAtomicQueue2,16,i: 59,240,589 msg/sec AtomicQueueB2, 1,s: 76,105,222 msg/sec AtomicQueueB2, 1,i: 47,733,119 msg/sec AtomicQueueB2, 2,s: 9,833,389 msg/sec AtomicQueueB2, 2,i: 10,431,802 msg/sec AtomicQueueB2, 3,s: 8,320,314 msg/sec AtomicQueueB2, 3,i: 8,840,141 msg/sec AtomicQueueB2, 4,s: 6,625,635 msg/sec AtomicQueueB2, 4,i: 6,964,434 msg/sec AtomicQueueB2, 5,s: 3,091,025 msg/sec AtomicQueueB2, 5,i: 4,321,479 msg/sec AtomicQueueB2, 6,s: 2,547,116 msg/sec AtomicQueueB2, 6,i: 3,463,108 msg/sec AtomicQueueB2, 7,s: 2,896,854 msg/sec AtomicQueueB2, 7,i: 3,170,188 msg/sec AtomicQueueB2, 8,s: 3,016,751 msg/sec AtomicQueueB2, 8,i: 2,861,416 msg/sec AtomicQueueB2, 9,s: 2,695,017 msg/sec AtomicQueueB2, 9,i: 2,899,175 msg/sec AtomicQueueB2,10,s: 2,756,058 msg/sec AtomicQueueB2,10,i: 2,850,064 msg/sec AtomicQueueB2,11,s: 2,794,796 msg/sec AtomicQueueB2,11,i: 2,920,347 msg/sec AtomicQueueB2,12,s: 2,787,182 msg/sec AtomicQueueB2,12,i: 2,859,456 msg/sec AtomicQueueB2,13,s: 2,617,334 msg/sec AtomicQueueB2,13,i: 2,814,651 msg/sec AtomicQueueB2,14,s: 2,469,621 msg/sec AtomicQueueB2,14,i: 2,763,456 msg/sec AtomicQueueB2,15,s: 2,432,180 msg/sec AtomicQueueB2,15,i: 2,753,414 msg/sec AtomicQueueB2,16,s: 2,302,965 msg/sec AtomicQueueB2,16,i: 2,744,069 msg/sec OptimistAtomicQueueB2, 1,s: 153,167,092 msg/sec OptimistAtomicQueueB2, 1,i: 154,568,124 msg/sec OptimistAtomicQueueB2, 2,s: 41,954,555 msg/sec OptimistAtomicQueueB2, 2,i: 45,608,334 msg/sec OptimistAtomicQueueB2, 3,s: 56,820,690 msg/sec OptimistAtomicQueueB2, 3,i: 53,152,341 msg/sec OptimistAtomicQueueB2, 4,s: 58,931,701 msg/sec OptimistAtomicQueueB2, 4,i: 59,912,156 msg/sec OptimistAtomicQueueB2, 5,s: 31,362,307 msg/sec OptimistAtomicQueueB2, 5,i: 32,393,682 msg/sec OptimistAtomicQueueB2, 6,s: 32,877,315 msg/sec OptimistAtomicQueueB2, 6,i: 31,943,082 msg/sec OptimistAtomicQueueB2, 7,s: 37,169,088 msg/sec OptimistAtomicQueueB2, 7,i: 36,993,026 msg/sec OptimistAtomicQueueB2, 8,s: 47,978,135 msg/sec OptimistAtomicQueueB2, 8,i: 38,977,308 msg/sec OptimistAtomicQueueB2, 9,s: 36,882,505 msg/sec OptimistAtomicQueueB2, 9,i: 41,283,420 msg/sec OptimistAtomicQueueB2,10,s: 37,337,644 msg/sec OptimistAtomicQueueB2,10,i: 43,391,579 msg/sec OptimistAtomicQueueB2,11,s: 42,634,651 msg/sec OptimistAtomicQueueB2,11,i: 47,389,099 msg/sec OptimistAtomicQueueB2,12,s: 41,790,104 msg/sec OptimistAtomicQueueB2,12,i: 51,214,689 msg/sec OptimistAtomicQueueB2,13,s: 40,860,251 msg/sec OptimistAtomicQueueB2,13,i: 51,952,097 msg/sec OptimistAtomicQueueB2,14,s: 40,826,227 msg/sec OptimistAtomicQueueB2,14,i: 52,708,683 msg/sec OptimistAtomicQueueB2,15,s: 43,082,250 msg/sec OptimistAtomicQueueB2,15,i: 56,564,133 msg/sec OptimistAtomicQueueB2,16,s: 43,212,796 msg/sec OptimistAtomicQueueB2,16,i: 59,097,473 msg/sec moodycamel::ReaderWriterQueue, 1,s: 131,509,083 msg/sec moodycamel::ReaderWriterQueue, 1,i: 432,616,626 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,124,939 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,105,304 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,683,691 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,642,281 msg/sec moodycamel::ConcurrentQueue, 3,s: 55,133,001 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,510,860 msg/sec moodycamel::ConcurrentQueue, 4,s: 104,850,010 msg/sec moodycamel::ConcurrentQueue, 4,i: 94,252,274 msg/sec moodycamel::ConcurrentQueue, 5,s: 119,321,977 msg/sec moodycamel::ConcurrentQueue, 5,i: 185,432,796 msg/sec moodycamel::ConcurrentQueue, 6,s: 201,382,234 msg/sec moodycamel::ConcurrentQueue, 6,i: 223,232,430 msg/sec moodycamel::ConcurrentQueue, 7,s: 241,305,792 msg/sec moodycamel::ConcurrentQueue, 7,i: 238,799,249 msg/sec moodycamel::ConcurrentQueue, 8,s: 269,685,243 msg/sec moodycamel::ConcurrentQueue, 8,i: 247,536,570 msg/sec moodycamel::ConcurrentQueue, 9,s: 246,211,784 msg/sec moodycamel::ConcurrentQueue, 9,i: 272,507,178 msg/sec moodycamel::ConcurrentQueue,10,s: 275,545,963 msg/sec moodycamel::ConcurrentQueue,10,i: 286,227,665 msg/sec moodycamel::ConcurrentQueue,11,s: 199,381,133 msg/sec moodycamel::ConcurrentQueue,11,i: 204,358,796 msg/sec moodycamel::ConcurrentQueue,12,s: 179,032,782 msg/sec moodycamel::ConcurrentQueue,12,i: 230,647,830 msg/sec moodycamel::ConcurrentQueue,13,s: 212,681,690 msg/sec moodycamel::ConcurrentQueue,13,i: 267,992,266 msg/sec moodycamel::ConcurrentQueue,14,s: 291,739,655 msg/sec moodycamel::ConcurrentQueue,14,i: 359,587,330 msg/sec moodycamel::ConcurrentQueue,15,s: 472,188,067 msg/sec moodycamel::ConcurrentQueue,15,i: 469,333,775 msg/sec moodycamel::ConcurrentQueue,16,s: 534,319,985 msg/sec moodycamel::ConcurrentQueue,16,i: 445,093,841 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,802,588 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,834,413 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,124,504 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,144,301 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,969,444 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,074,627 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,413,199 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,627,512 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,047,434 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,110,515 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,796,006 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,714,844 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,665,101 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,171,542 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,790,921 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,806,959 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,697,257 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,860,190 msg/sec tbb::concurrent_bounded_queue,10,s: 2,833,191 msg/sec tbb::concurrent_bounded_queue,10,i: 2,959,091 msg/sec tbb::concurrent_bounded_queue,11,s: 2,658,449 msg/sec tbb::concurrent_bounded_queue,11,i: 2,880,947 msg/sec tbb::concurrent_bounded_queue,12,s: 2,572,294 msg/sec tbb::concurrent_bounded_queue,12,i: 2,744,997 msg/sec tbb::concurrent_bounded_queue,13,s: 2,485,499 msg/sec tbb::concurrent_bounded_queue,13,i: 2,731,335 msg/sec tbb::concurrent_bounded_queue,14,s: 2,379,926 msg/sec tbb::concurrent_bounded_queue,14,i: 2,716,089 msg/sec tbb::concurrent_bounded_queue,15,s: 2,342,607 msg/sec tbb::concurrent_bounded_queue,15,i: 2,603,186 msg/sec tbb::concurrent_bounded_queue,16,s: 2,264,473 msg/sec tbb::concurrent_bounded_queue,16,i: 2,536,708 msg/sec xenium::michael_scott_queue, 1,s: 13,408,887 msg/sec xenium::michael_scott_queue, 1,i: 13,727,830 msg/sec xenium::michael_scott_queue, 2,s: 9,431,251 msg/sec xenium::michael_scott_queue, 2,i: 9,158,276 msg/sec xenium::michael_scott_queue, 3,s: 7,640,720 msg/sec xenium::michael_scott_queue, 3,i: 7,534,874 msg/sec xenium::michael_scott_queue, 4,s: 5,915,841 msg/sec xenium::michael_scott_queue, 4,i: 5,810,691 msg/sec xenium::michael_scott_queue, 5,s: 3,644,678 msg/sec xenium::michael_scott_queue, 5,i: 4,629,846 msg/sec xenium::michael_scott_queue, 6,s: 3,355,927 msg/sec xenium::michael_scott_queue, 6,i: 3,560,819 msg/sec xenium::michael_scott_queue, 7,s: 3,186,515 msg/sec xenium::michael_scott_queue, 7,i: 3,311,892 msg/sec xenium::michael_scott_queue, 8,s: 2,357,212 msg/sec xenium::michael_scott_queue, 8,i: 2,797,745 msg/sec xenium::michael_scott_queue, 9,s: 2,870,900 msg/sec xenium::michael_scott_queue, 9,i: 2,839,712 msg/sec xenium::michael_scott_queue,10,s: 2,831,504 msg/sec xenium::michael_scott_queue,10,i: 2,900,575 msg/sec xenium::michael_scott_queue,11,s: 2,772,461 msg/sec xenium::michael_scott_queue,11,i: 2,915,457 msg/sec xenium::michael_scott_queue,12,s: 2,623,947 msg/sec xenium::michael_scott_queue,12,i: 2,771,953 msg/sec xenium::michael_scott_queue,13,s: 2,543,351 msg/sec xenium::michael_scott_queue,13,i: 2,700,859 msg/sec xenium::michael_scott_queue,14,s: 2,435,629 msg/sec xenium::michael_scott_queue,14,i: 2,655,784 msg/sec xenium::michael_scott_queue,15,s: 2,363,686 msg/sec xenium::michael_scott_queue,15,i: 2,631,294 msg/sec xenium::michael_scott_queue,16,s: 2,245,840 msg/sec xenium::michael_scott_queue,16,i: 2,536,860 msg/sec xenium::ramalhete_queue, 1,s: 71,894,699 msg/sec xenium::ramalhete_queue, 1,i: 73,000,868 msg/sec xenium::ramalhete_queue, 2,s: 50,752,406 msg/sec xenium::ramalhete_queue, 2,i: 36,238,043 msg/sec xenium::ramalhete_queue, 3,s: 44,077,270 msg/sec xenium::ramalhete_queue, 3,i: 42,205,596 msg/sec xenium::ramalhete_queue, 4,s: 51,877,925 msg/sec xenium::ramalhete_queue, 4,i: 50,700,301 msg/sec xenium::ramalhete_queue, 5,s: 37,828,734 msg/sec xenium::ramalhete_queue, 5,i: 23,435,544 msg/sec xenium::ramalhete_queue, 6,s: 39,023,792 msg/sec xenium::ramalhete_queue, 6,i: 26,707,334 msg/sec xenium::ramalhete_queue, 7,s: 40,441,834 msg/sec xenium::ramalhete_queue, 7,i: 28,734,667 msg/sec xenium::ramalhete_queue, 8,s: 50,439,159 msg/sec xenium::ramalhete_queue, 8,i: 29,600,200 msg/sec xenium::ramalhete_queue, 9,s: 33,022,665 msg/sec xenium::ramalhete_queue, 9,i: 35,460,205 msg/sec xenium::ramalhete_queue,10,s: 34,824,267 msg/sec xenium::ramalhete_queue,10,i: 40,533,304 msg/sec xenium::ramalhete_queue,11,s: 37,004,385 msg/sec xenium::ramalhete_queue,11,i: 43,224,305 msg/sec xenium::ramalhete_queue,12,s: 38,839,816 msg/sec xenium::ramalhete_queue,12,i: 41,870,048 msg/sec xenium::ramalhete_queue,13,s: 39,754,468 msg/sec xenium::ramalhete_queue,13,i: 42,819,992 msg/sec xenium::ramalhete_queue,14,s: 39,941,924 msg/sec xenium::ramalhete_queue,14,i: 43,441,659 msg/sec xenium::ramalhete_queue,15,s: 38,317,817 msg/sec xenium::ramalhete_queue,15,i: 43,644,879 msg/sec xenium::ramalhete_queue,16,s: 39,481,852 msg/sec xenium::ramalhete_queue,16,i: 44,423,277 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,255,024 msg/sec xenium::vyukov_bounded_queue, 1,i: 309,105,671 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,218,770 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,815,056 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,678,414 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,806,214 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,245,411 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,466,389 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,012,508 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,313,251 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,161,655 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,920,767 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,159,879 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,445,042 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,345,706 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,559,550 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,122,970 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,680,364 msg/sec xenium::vyukov_bounded_queue,10,s: 7,592,484 msg/sec xenium::vyukov_bounded_queue,10,i: 6,831,601 msg/sec xenium::vyukov_bounded_queue,11,s: 7,696,470 msg/sec xenium::vyukov_bounded_queue,11,i: 7,197,982 msg/sec xenium::vyukov_bounded_queue,12,s: 7,381,122 msg/sec xenium::vyukov_bounded_queue,12,i: 7,204,633 msg/sec xenium::vyukov_bounded_queue,13,s: 7,172,126 msg/sec xenium::vyukov_bounded_queue,13,i: 7,255,047 msg/sec xenium::vyukov_bounded_queue,14,s: 7,092,676 msg/sec xenium::vyukov_bounded_queue,14,i: 7,465,916 msg/sec xenium::vyukov_bounded_queue,15,s: 7,080,166 msg/sec xenium::vyukov_bounded_queue,15,i: 7,250,274 msg/sec xenium::vyukov_bounded_queue,16,s: 6,903,174 msg/sec xenium::vyukov_bounded_queue,16,i: 7,046,176 msg/sec boost::lockfree::queue, 1,s: 7,773,007 msg/sec boost::lockfree::queue, 1,i: 7,804,087 msg/sec boost::lockfree::queue, 2,s: 5,855,111 msg/sec boost::lockfree::queue, 2,i: 5,952,026 msg/sec boost::lockfree::queue, 3,s: 4,990,735 msg/sec boost::lockfree::queue, 3,i: 4,807,064 msg/sec boost::lockfree::queue, 4,s: 4,376,285 msg/sec boost::lockfree::queue, 4,i: 4,367,537 msg/sec boost::lockfree::queue, 5,s: 2,633,058 msg/sec boost::lockfree::queue, 5,i: 2,897,149 msg/sec boost::lockfree::queue, 6,s: 1,429,879 msg/sec boost::lockfree::queue, 6,i: 2,981,701 msg/sec boost::lockfree::queue, 7,s: 1,383,871 msg/sec boost::lockfree::queue, 7,i: 2,845,790 msg/sec boost::lockfree::queue, 8,s: 1,157,258 msg/sec boost::lockfree::queue, 8,i: 1,943,247 msg/sec boost::lockfree::queue, 9,s: 1,422,797 msg/sec boopthread_spinlock: producers: 5: consumer 1 received too few messages: 0.06% of expected. st::lockfree::queue, 9,i: 1,912,617 msg/sec boost::lockfree::queue,10,s: 1,519,682 msg/sec boost::lockfree::queue,10,i: 1,922,127 msg/sec boost::lockfree::queue,11,s: 1,758,864 msg/sec boost::lockfree::queue,11,i: 1,944,858 msg/sec boost::lockfree::queue,12,s: 1,718,630 msg/sec boost::lockfree::queue,12,i: 1,726,540 msg/sec boost::lockfree::queue,13,s: 1,665,147 msg/sec boost::lockfree::queue,13,i: 1,618,561 msg/sec boost::lockfree::queue,14,s: 1,551,864 msg/sec boost::lockfree::queue,14,i: 1,612,770 msg/sec boost::lockfree::queue,15,s: 1,565,826 msg/sec boost::lockfree::queue,15,i: 1,579,413 msg/sec boost::lockfree::queue,16,s: 1,525,963 msg/sec boost::lockfree::queue,16,i: 1,500,801 msg/sec std::mutex, 1,s: 3,635,278 msg/sec std::mutex, 1,i: 3,561,529 msg/sec std::mutex, 2,s: 14,181,887 msg/sec std::mutex, 2,i: 13,515,997 msg/sec std::mutex, 3,s: 7,174,386 msg/sec std::mutex, 3,i: 6,986,569 msg/sec std::mutex, 4,s: 7,054,933 msg/sec std::mutex, 4,i: 6,672,483 msg/sec std::mutex, 5,s: 3,324,270 msg/sec std::mutex, 5,i: 3,494,543 msg/sec std::mutex, 6,s: 3,001,287 msg/sec std::mutex, 6,i: 2,934,182 msg/sec std::mutex, 7,s: 3,225,744 msg/sec std::mutex, 7,i: 2,877,292 msg/sec std::mutex, 8,s: 3,435,580 msg/sec std::mutex, 8,i: 2,789,870 msg/sec std::mutex, 9,s: 2,887,981 msg/sec std::mutex, 9,i: 2,717,851 msg/sec std::mutex,10,s: 2,626,067 msg/sec std::mutex,10,i: 2,708,011 msg/sec std::mutex,11,s: 2,658,892 msg/sec std::mutex,11,i: 2,754,280 msg/sec std::mutex,12,s: 2,622,692 msg/sec std::mutex,12,i: 2,553,915 msg/sec std::mutex,13,s: 2,484,397 msg/sec std::mutex,13,i: 2,402,794 msg/sec std::mutex,14,s: 2,395,829 msg/sec std::mutex,14,i: 2,348,895 msg/sec std::mutex,15,s: 2,423,043 msg/sec std::mutex,15,i: 2,391,107 msg/sec std::mutex,16,s: 2,332,141 msg/sec std::mutex,16,i: 2,262,862 msg/sec pthread_spinlock, 1,s: 17,790,138 msg/sec pthread_spinlock, 1,i: 18,129,648 msg/sec pthread_spinlock, 2,s: 7,648,552 msg/sec pthread_spinlock, 2,i: 1,867,058 msg/sec pthread_spinlock, 3,s: 826,718 msg/sec pthread_spinlock, 3,i: 5,572,335 msg/sec pthread_spinlock, 4,s: 1,246,356 msg/sec pthread_spinlock, 4,i: 818,028 msg/sec pthread_spinlock, 5,s: 2,771,295 msg/sec pthread_spinlock, 5,i: 3,529,312 msg/sec pthread_spinlock, 6,s: 2,133,949 msg/sec pthread_spinlock, 6,i: 3,498,548 msg/sec pthread_spinlock, 7,s: 2,870,123 msg/sec pthread_spinlock, 7,i: 3,072,302 msg/sec pthread_spinlock, 8,s: 3,018,877 msg/sec pthread_spinlock, 8,i: 2,680,846 msg/sec pthread_spinlock, 9,s: 2,838,603 msg/sec pthread_spinlock, 9,i: 2,315,022 msg/sec pthread_spinlock,10,s: 2,744,120 msg/sec pthread_spinlock,10,i: 2,361,868 msg/sec pthread_spinlock,11,s: 2,607,401 msg/sec pthread_spinlock,11,i: 2,686,838 msg/sec pthread_spinlock,12,s: 2,371,851 msg/sec pthread_spinlock,12,i: 2,485,871 msg/sec pthread_spinlock,13,s: 2,453,246 msg/sec pthread_spinlock,13,i: 2,260,359 msg/sec pthread_spinlock,14,s: 2,225,760 msg/sec pthread_spinlock,14,i: 1,975,798 msg/sec pthread_spinlock,15,s: 1,977,638 msg/sec pthread_spinlock,15,i: 1,910,044 msg/sec pthread_spinlock,16,s: 1,786,874 msg/sec pthread_spinlock,16,i: 1,603,657 msg/sec tbb::spin_mutex, 1,s: 37,530,246 msg/sec tbb::spin_mutex, 1,i: 37,789,752 msg/sec tbb::spin_mutex, 2,s: 16,473,725 msg/sec tbb::spin_mutex, 2,i: 16,018,744 msg/sec tbb::spin_mutex, 3,s: 12,083,904 msg/sec tbb::spin_mutex, 3,i: 11,896,543 msg/sec tbb::spin_mutex, 4,s: 10,277,366 msg/sec tbb::spin_mutex, 4,i: 10,172,208 msg/sec tbb::spin_mutex, 5,s: 5,925,262 msg/sec tbb::spin_mutex, 5,i: 5,516,700 msg/sec tbb::spin_mutex, 6,s: 5,100,356 msg/sec tbb::spin_mutex, 6,i: 4,812,574 msg/sec tbb::spin_mutex, 7,s: 4,417,047 msg/sec tbb::spin_mutex, 7,i: 4,904,994 msg/sec tbb::spin_mutex, 8,s: 4,278,085 msg/sec tbb::spin_mutex, 8,i: 4,055,848 msg/sec tbb::spin_mutex, 9,s: 4,436,404 msg/sec tbb::spin_mutex, 9,i: 4,339,965 msg/sec tbb::spin_mutex,10,s: 4,460,375 msg/sec tbb::spin_mutex,10,i: 3,671,667 msg/sec tbb::spin_mutex,11,s: 4,309,849 msg/sec tbb::spin_mutex,11,i: 4,063,705 msg/sec tbb::spin_mutex,12,s: 3,797,045 msg/sec tbb::spin_mutex,12,i: 3,451,890 msg/sec tbb::spin_mutex,13,s: 3,467,078 msg/sec tbb::spin_mutex,13,i: 3,264,960 msg/sec tbb::spin_mutex,14,s: 3,290,329 msg/sec tbb::spin_mutex,14,i: 3,009,792 msg/sec tbb::spin_mutex,15,s: 3,186,139 msg/sec tbb::spin_mutex,15,i: 3,092,032 msg/sec tbb::spin_mutex,16,s: 2,909,123 msg/sec tbb::spin_mutex,16,i: 3,010,024 msg/sec Elapsed time 6:12.11, user 5615.39s, system 603.87s, CPU 1671%, RSS 95204kB, exit-status 0. 2026-09-14 13:28:06 [12/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000046 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000043 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 117,613,263 msg/sec boost::lockfree::spsc_queue, 1,i: 112,946,713 msg/sec AtomicQueue, 1,s: 143,488,384 msg/sec AtomicQueue, 1,i: 133,778,707 msg/sec AtomicQueue, 2,s: 9,915,821 msg/sec AtomicQueue, 2,i: 10,337,519 msg/sec AtomicQueue, 3,s: 8,335,114 msg/sec AtomicQueue, 3,i: 8,835,016 msg/sec AtomicQueue, 4,s: 6,610,884 msg/sec AtomicQueue, 4,i: 7,025,014 msg/sec AtomicQueue, 5,s: 3,169,221 msg/sec AtomicQueue, 5,i: 4,333,327 msg/sec AtomicQueue, 6,s: 2,601,707 msg/sec AtomicQueue, 6,i: 3,527,586 msg/sec AtomicQueue, 7,s: 2,962,306 msg/sec AtomicQueue, 7,i: 3,259,631 msg/sec AtomicQueue, 8,s: 3,116,197 msg/sec AtomicQueue, 8,i: 2,889,870 msg/sec AtomicQueue, 9,s: 2,793,005 msg/sec AtomicQueue, 9,i: 2,925,724 msg/sec AtomicQueue,10,s: 2,775,400 msg/sec AtomicQueue,10,i: 2,924,301 msg/sec AtomicQueue,11,s: 2,792,072 msg/sec AtomicQueue,11,i: 2,920,862 msg/sec AtomicQueue,12,s: 2,679,568 msg/sec AtomicQueue,12,i: 2,870,390 msg/sec AtomicQueue,13,s: 2,528,762 msg/sec AtomicQueue,13,i: 2,811,976 msg/sec AtomicQueue,14,s: 2,372,118 msg/sec AtomicQueue,14,i: 2,774,428 msg/sec AtomicQueue,15,s: 2,366,286 msg/sec AtomicQueue,15,i: 2,739,876 msg/sec AtomicQueue,16,s: 2,255,228 msg/sec AtomicQueue,16,i: 2,727,208 msg/sec OptimistAtomicQueue, 1,s: 1,194,020,442 msg/sec OptimistAtomicQueue, 1,i: 1,195,490,665 msg/sec OptimistAtomicQueue, 2,s: 53,298,524 msg/sec OptimistAtomicQueue, 2,i: 52,047,813 msg/sec OptimistAtomicQueue, 3,s: 58,750,988 msg/sec OptimistAtomicQueue, 3,i: 59,743,014 msg/sec OptimistAtomicQueue, 4,s: 59,248,556 msg/sec OptimistAtomicQueue, 4,i: 64,945,904 msg/sec OptimistAtomicQueue, 5,s: 33,317,750 msg/sec OptimistAtomicQueue, 5,i: 44,876,702 msg/sec OptimistAtomicQueue, 6,s: 34,645,082 msg/sec OptimistAtomicQueue, 6,i: 35,164,664 msg/sec OptimistAtomicQueue, 7,s: 40,091,114 msg/sec OptimistAtomicQueue, 7,i: 40,034,426 msg/sec OptimistAtomicQueue, 8,s: 50,483,642 msg/sec OptimistAtomicQueue, 8,i: 41,252,930 msg/sec OptimistAtomicQueue, 9,s: 41,205,410 msg/sec OptimistAtomicQueue, 9,i: 45,680,220 msg/sec OptimistAtomicQueue,10,s: 39,884,066 msg/sec OptimistAtomicQueue,10,i: 47,298,456 msg/sec OptimistAtomicQueue,11,s: 44,252,815 msg/sec OptimistAtomicQueue,11,i: 52,785,403 msg/sec OptimistAtomicQueue,12,s: 43,464,309 msg/sec OptimistAtomicQueue,12,i: 57,503,569 msg/sec OptimistAtomicQueue,13,s: 43,483,873 msg/sec OptimistAtomicQueue,13,i: 56,096,960 msg/sec OptimistAtomicQueue,14,s: 43,232,484 msg/sec OptimistAtomicQueue,14,i: 56,260,510 msg/sec OptimistAtomicQueue,15,s: 45,901,433 msg/sec OptimistAtomicQueue,15,i: 60,529,589 msg/sec OptimistAtomicQueue,16,s: 45,774,866 msg/sec OptimistAtomicQueue,16,i: 64,659,891 msg/sec AtomicQueueB, 1,s: 49,067,688 msg/sec AtomicQueueB, 1,i: 51,254,545 msg/sec AtomicQueueB, 2,s: 9,508,315 msg/sec AtomicQueueB, 2,i: 10,156,461 msg/sec AtomicQueueB, 3,s: 8,182,166 msg/sec AtomicQueueB, 3,i: 8,610,292 msg/sec AtomicQueueB, 4,s: 6,562,648 msg/sec AtomicQueueB, 4,i: 6,908,183 msg/sec AtomicQueueB, 5,s: 3,123,933 msg/sec AtomicQueueB, 5,i: 3,768,784 msg/sec AtomicQueueB, 6,s: 2,567,415 msg/sec AtomicQueueB, 6,i: 3,468,486 msg/sec AtomicQueueB, 7,s: 2,916,203 msg/sec AtomicQueueB, 7,i: 3,166,708 msg/sec AtomicQueueB, 8,s: 3,057,816 msg/sec AtomicQueueB, 8,i: 2,863,751 msg/sec AtomicQueueB, 9,s: 2,818,688 msg/sec AtomicQueueB, 9,i: 2,896,928 msg/sec AtomicQueueB,10,s: 2,785,354 msg/sec AtomicQueueB,10,i: 2,897,356 msg/sec AtomicQueueB,11,s: 2,740,845 msg/sec AtomicQueueB,11,i: 2,908,848 msg/sec AtomicQueueB,12,s: 2,727,063 msg/sec AtomicQueueB,12,i: 2,842,326 msg/sec AtomicQueueB,13,s: 2,521,839 msg/sec AtomicQueueB,13,i: 2,797,273 msg/sec AtomicQueueB,14,s: 2,381,956 msg/sec AtomicQueueB,14,i: 2,754,018 msg/sec AtomicQueueB,15,s: 2,375,209 msg/sec AtomicQueueB,15,i: 2,767,666 msg/sec AtomicQueueB,16,s: 2,281,996 msg/sec AtomicQueueB,16,i: 2,735,674 msg/sec OptimistAtomicQueueB, 1,s: 519,919,072 msg/sec OptimistAtomicQueueB, 1,i: 507,826,887 msg/sec OptimistAtomicQueueB, 2,s: 50,876,861 msg/sec OptimistAtomicQueueB, 2,i: 49,519,596 msg/sec OptimistAtomicQueueB, 3,s: 58,621,598 msg/sec OptimistAtomicQueueB, 3,i: 56,987,673 msg/sec OptimistAtomicQueueB, 4,s: 59,509,143 msg/sec OptimistAtomicQueueB, 4,i: 66,055,010 msg/sec OptimistAtomicQueueB, 5,s: 32,996,088 msg/sec OptimistAtomicQueueB, 5,i: 47,058,898 msg/sec OptimistAtomicQueueB, 6,s: 34,291,381 msg/sec OptimistAtomicQueueB, 6,i: 34,969,016 msg/sec OptimistAtomicQueueB, 7,s: 38,999,340 msg/sec OptimistAtomicQueueB, 7,i: 40,028,641 msg/sec OptimistAtomicQueueB, 8,s: 51,507,874 msg/sec OptimistAtomicQueueB, 8,i: 41,239,932 msg/sec OptimistAtomicQueueB, 9,s: 41,299,941 msg/sec OptimistAtomicQueueB, 9,i: 44,658,677 msg/sec OptimistAtomicQueueB,10,s: 39,998,334 msg/sec OptimistAtomicQueueB,10,i: 47,353,933 msg/sec OptimistAtomicQueueB,11,s: 44,294,133 msg/sec OptimistAtomicQueueB,11,i: 50,585,272 msg/sec OptimistAtomicQueueB,12,s: 43,796,299 msg/sec OptimistAtomicQueueB,12,i: 56,661,668 msg/sec OptimistAtomicQueueB,13,s: 43,720,269 msg/sec OptimistAtomicQueueB,13,i: 54,053,028 msg/sec OptimistAtomicQueueB,14,s: 43,712,974 msg/sec OptimistAtomicQueueB,14,i: 55,637,312 msg/sec OptimistAtomicQueueB,15,s: 46,234,976 msg/sec OptimistAtomicQueueB,15,i: 60,257,032 msg/sec OptimistAtomicQueueB,16,s: 46,153,190 msg/sec OptimistAtomicQueueB,16,i: 64,711,900 msg/sec AtomicQueue2, 1,s: 133,373,336 msg/sec AtomicQueue2, 1,i: 131,291,364 msg/sec AtomicQueue2, 2,s: 9,956,658 msg/sec AtomicQueue2, 2,i: 10,546,074 msg/sec AtomicQueue2, 3,s: 8,407,246 msg/sec AtomicQueue2, 3,i: 8,918,259 msg/sec AtomicQueue2, 4,s: 6,683,638 msg/sec AtomicQueue2, 4,i: 7,083,035 msg/sec AtomicQueue2, 5,s: 3,113,650 msg/sec AtomicQueue2, 5,i: 4,292,886 msg/sec AtomicQueue2, 6,s: 2,565,313 msg/sec AtomicQueue2, 6,i: 3,495,385 msg/sec AtomicQueue2, 7,s: 2,896,693 msg/sec AtomicQueue2, 7,i: 3,204,637 msg/sec AtomicQueue2, 8,s: 3,013,911 msg/sec AtomicQueue2, 8,i: 2,902,495 msg/sec AtomicQueue2, 9,s: 2,751,023 msg/sec AtomicQueue2, 9,i: 2,901,261 msg/sec AtomicQueue2,10,s: 2,779,227 msg/sec AtomicQueue2,10,i: 2,881,524 msg/sec AtomicQueue2,11,s: 2,741,670 msg/sec AtomicQueue2,11,i: 2,927,248 msg/sec AtomicQueue2,12,s: 2,704,859 msg/sec AtomicQueue2,12,i: 2,856,531 msg/sec AtomicQueue2,13,s: 2,565,175 msg/sec AtomicQueue2,13,i: 2,784,655 msg/sec AtomicQueue2,14,s: 2,393,116 msg/sec AtomicQueue2,14,i: 2,761,878 msg/sec AtomicQueue2,15,s: 2,387,776 msg/sec AtomicQueue2,15,i: 2,742,745 msg/sec AtomicQueue2,16,s: 2,284,739 msg/sec AtomicQueue2,16,i: 2,712,043 msg/sec OptimistAtomicQueue2, 1,s: 106,968,474 msg/sec OptimistAtomicQueue2, 1,i: 107,249,653 msg/sec OptimistAtomicQueue2, 2,s: 43,373,249 msg/sec OptimistAtomicQueue2, 2,i: 47,843,534 msg/sec OptimistAtomicQueue2, 3,s: 55,608,812 msg/sec OptimistAtomicQueue2, 3,i: 49,980,955 msg/sec OptimistAtomicQueue2, 4,s: 59,250,171 msg/sec OptimistAtomicQueue2, 4,i: 57,823,634 msg/sec OptimistAtomicQueue2, 5,s: 31,509,894 msg/sec OptimistAtomicQueue2, 5,i: 34,235,421 msg/sec OptimistAtomicQueue2, 6,s: 32,893,969 msg/sec OptimistAtomicQueue2, 6,i: 32,541,893 msg/sec OptimistAtomicQueue2, 7,s: 37,716,834 msg/sec OptimistAtomicQueue2, 7,i: 37,889,000 msg/sec OptimistAtomicQueue2, 8,s: 48,987,143 msg/sec OptimistAtomicQueue2, 8,i: 39,877,052 msg/sec OptimistAtomicQueue2, 9,s: 37,495,100 msg/sec OptimistAtomicQueue2, 9,i: 42,665,415 msg/sec OptimistAtomicQueue2,10,s: 37,586,035 msg/sec OptimistAtomicQueue2,10,i: 43,915,171 msg/sec OptimistAtomicQueue2,11,s: 43,016,029 msg/sec OptimistAtomicQueue2,11,i: 48,526,474 msg/sec OptimistAtomicQueue2,12,s: 42,129,429 msg/sec OptimistAtomicQueue2,12,i: 52,854,709 msg/sec OptimistAtomicQueue2,13,s: 41,058,813 msg/sec OptimistAtomicQueue2,13,i: 51,913,073 msg/sec OptimistAtomicQueue2,14,s: 40,752,840 msg/sec OptimistAtomicQueue2,14,i: 52,954,521 msg/sec OptimistAtomicQueue2,15,s: 43,155,781 msg/sec OptimistAtomicQueue2,15,i: 56,831,161 msg/sec OptimistAtomicQueue2,16,s: 43,357,302 msg/sec OptimistAtomicQueue2,16,i: 59,114,731 msg/sec AtomicQueueB2, 1,s: 74,396,877 msg/sec AtomicQueueB2, 1,i: 72,908,261 msg/sec AtomicQueueB2, 2,s: 9,839,252 msg/sec AtomicQueueB2, 2,i: 10,411,557 msg/sec AtomicQueueB2, 3,s: 8,314,680 msg/sec AtomicQueueB2, 3,i: 8,840,802 msg/sec AtomicQueueB2, 4,s: 6,631,982 msg/sec AtomicQueueB2, 4,i: 6,988,775 msg/sec AtomicQueueB2, 5,s: 3,085,117 msg/sec AtomicQueueB2, 5,i: 3,678,031 msg/sec AtomicQueueB2, 6,s: 2,549,059 msg/sec AtomicQueueB2, 6,i: 3,439,783 msg/sec AtomicQueueB2, 7,s: 2,899,255 msg/sec AtomicQueueB2, 7,i: 3,174,331 msg/sec AtomicQueueB2, 8,s: 3,009,141 msg/sec AtomicQueueB2, 8,i: 2,840,541 msg/sec AtomicQueueB2, 9,s: 2,735,347 msg/sec AtomicQueueB2, 9,i: 2,876,646 msg/sec AtomicQueueB2,10,s: 2,743,928 msg/sec AtomicQueueB2,10,i: 2,858,951 msg/sec AtomicQueueB2,11,s: 2,821,791 msg/sec AtomicQueueB2,11,i: 2,881,967 msg/sec AtomicQueueB2,12,s: 2,770,214 msg/sec AtomicQueueB2,12,i: 2,861,945 msg/sec AtomicQueueB2,13,s: 2,718,085 msg/sec AtomicQueueB2,13,i: 2,825,690 msg/sec AtomicQueueB2,14,s: 2,458,849 msg/sec AtomicQueueB2,14,i: 2,766,722 msg/sec AtomicQueueB2,15,s: 2,422,687 msg/sec AtomicQueueB2,15,i: 2,748,770 msg/sec AtomicQueueB2,16,s: 2,306,929 msg/sec AtomicQueueB2,16,i: 2,744,330 msg/sec OptimistAtomicQueueB2, 1,s: 152,065,669 msg/sec OptimistAtomicQueueB2, 1,i: 152,605,660 msg/sec OptimistAtomicQueueB2, 2,s: 42,132,020 msg/sec OptimistAtomicQueueB2, 2,i: 45,803,233 msg/sec OptimistAtomicQueueB2, 3,s: 56,883,133 msg/sec OptimistAtomicQueueB2, 3,i: 53,127,803 msg/sec OptimistAtomicQueueB2, 4,s: 59,060,930 msg/sec OptimistAtomicQueueB2, 4,i: 59,742,823 msg/sec OptimistAtomicQueueB2, 5,s: 31,362,376 msg/sec OptimistAtomicQueueB2, 5,i: 31,433,591 msg/sec OptimistAtomicQueueB2, 6,s: 32,876,515 msg/sec OptimistAtomicQueueB2, 6,i: 31,917,167 msg/sec OptimistAtomicQueueB2, 7,s: 37,025,719 msg/sec OptimistAtomicQueueB2, 7,i: 37,059,445 msg/sec OptimistAtomicQueueB2, 8,s: 47,879,956 msg/sec OptimistAtomicQueueB2, 8,i: 38,934,954 msg/sec OptimistAtomicQueueB2, 9,s: 36,897,978 msg/sec OptimistAtomicQueueB2, 9,i: 41,597,604 msg/sec OptimistAtomicQueueB2,10,s: 37,233,992 msg/sec OptimistAtomicQueueB2,10,i: 43,353,825 msg/sec OptimistAtomicQueueB2,11,s: 42,440,974 msg/sec OptimistAtomicQueueB2,11,i: 47,060,365 msg/sec OptimistAtomicQueueB2,12,s: 41,765,809 msg/sec OptimistAtomicQueueB2,12,i: 51,363,811 msg/sec OptimistAtomicQueueB2,13,s: 40,827,222 msg/sec OptimistAtomicQueueB2,13,i: 51,428,865 msg/sec OptimistAtomicQueueB2,14,s: 40,724,859 msg/sec OptimistAtomicQueueB2,14,i: 53,240,617 msg/sec OptimistAtomicQueueB2,15,s: 43,077,443 msg/sec OptimistAtomicQueueB2,15,i: 56,770,573 msg/sec OptimistAtomicQueueB2,16,s: 43,232,917 msg/sec OptimistAtomicQueueB2,16,i: 59,210,284 msg/sec moodycamel::ReaderWriterQueue, 1,s: 313,549,323 msg/sec moodycamel::ReaderWriterQueue, 1,i: 102,624,333 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,155,052 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,140,328 msg/sec moodycamel::ConcurrentQueue, 2,s: 36,824,422 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,317,933 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,956,393 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,571,729 msg/sec moodycamel::ConcurrentQueue, 4,s: 103,929,133 msg/sec moodycamel::ConcurrentQueue, 4,i: 80,563,018 msg/sec moodycamel::ConcurrentQueue, 5,s: 117,403,660 msg/sec moodycamel::ConcurrentQueue, 5,i: 186,420,041 msg/sec moodycamel::ConcurrentQueue, 6,s: 186,551,868 msg/sec moodycamel::ConcurrentQueue, 6,i: 212,233,616 msg/sec moodycamel::ConcurrentQueue, 7,s: 213,318,275 msg/sec moodycamel::ConcurrentQueue, 7,i: 236,727,482 msg/sec moodycamel::ConcurrentQueue, 8,s: 267,245,667 msg/sec moodycamel::ConcurrentQueue, 8,i: 243,480,491 msg/sec moodycamel::ConcurrentQueue, 9,s: 262,362,315 msg/sec moodycamel::ConcurrentQueue, 9,i: 244,260,915 msg/sec moodycamel::ConcurrentQueue,10,s: 299,480,398 msg/sec moodycamel::ConcurrentQueue,10,i: 279,495,899 msg/sec moodycamel::ConcurrentQueue,11,s: 236,034,474 msg/sec moodycamel::ConcurrentQueue,11,i: 266,726,573 msg/sec moodycamel::ConcurrentQueue,12,s: 186,688,112 msg/sec moodycamel::ConcurrentQueue,12,i: 186,464,287 msg/sec moodycamel::ConcurrentQueue,13,s: 222,645,714 msg/sec moodycamel::ConcurrentQueue,13,i: 335,992,024 msg/sec moodycamel::ConcurrentQueue,14,s: 324,076,071 msg/sec moodycamel::ConcurrentQueue,14,i: 383,871,032 msg/sec moodycamel::ConcurrentQueue,15,s: 428,041,322 msg/sec moodycamel::ConcurrentQueue,15,i: 464,837,564 msg/sec moodycamel::ConcurrentQueue,16,s: 534,165,865 msg/sec moodycamel::ConcurrentQueue,16,i: 517,393,208 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,778,443 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,797,942 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,136,694 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,136,771 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,975,841 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,079,204 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,417,025 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,623,616 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,074,426 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,111,936 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,789,956 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,687,313 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,663,691 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,272,468 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,782,581 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,813,575 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,693,891 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,851,765 msg/sec tbb::concurrent_bounded_queue,10,s: 2,714,156 msg/sec tbb::concurrent_bounded_queue,10,i: 2,961,678 msg/sec tbb::concurrent_bounded_queue,11,s: 2,658,781 msg/sec tbb::concurrent_bounded_queue,11,i: 2,845,064 msg/sec tbb::concurrent_bounded_queue,12,s: 2,571,046 msg/sec tbb::concurrent_bounded_queue,12,i: 2,774,564 msg/sec tbb::concurrent_bounded_queue,13,s: 2,494,156 msg/sec tbb::concurrent_bounded_queue,13,i: 2,778,958 msg/sec tbb::concurrent_bounded_queue,14,s: 2,386,458 msg/sec tbb::concurrent_bounded_queue,14,i: 2,725,013 msg/sec tbb::concurrent_bounded_queue,15,s: 2,345,640 msg/sec tbb::concurrent_bounded_queue,15,i: 2,610,331 msg/sec tbb::concurrent_bounded_queue,16,s: 2,263,884 msg/sec tbb::concurrent_bounded_queue,16,i: 2,537,538 msg/sec xenium::michael_scott_queue, 1,s: 13,490,303 msg/sec xenium::michael_scott_queue, 1,i: 13,774,879 msg/sec xenium::michael_scott_queue, 2,s: 9,432,225 msg/sec xenium::michael_scott_queue, 2,i: 9,191,171 msg/sec xenium::michael_scott_queue, 3,s: 7,641,650 msg/sec xenium::michael_scott_queue, 3,i: 7,554,542 msg/sec xenium::michael_scott_queue, 4,s: 5,853,639 msg/sec xenium::michael_scott_queue, 4,i: 5,826,183 msg/sec xenium::michael_scott_queue, 5,s: 3,607,001 msg/sec xenium::michael_scott_queue, 5,i: 4,539,575 msg/sec xenium::michael_scott_queue, 6,s: 3,298,309 msg/sec xenium::michael_scott_queue, 6,i: 3,582,625 msg/sec xenium::michael_scott_queue, 7,s: 3,168,734 msg/sec xenium::michael_scott_queue, 7,i: 3,261,080 msg/sec xenium::michael_scott_queue, 8,s: 2,361,015 msg/sec xenium::michael_scott_queue, 8,i: 2,793,109 msg/sec xenium::michael_scott_queue, 9,s: 2,869,202 msg/sec xenium::michael_scott_queue, 9,i: 2,839,818 msg/sec xenium::michael_scott_queue,10,s: 2,828,817 msg/sec xenium::michael_scott_queue,10,i: 2,832,850 msg/sec xenium::michael_scott_queue,11,s: 2,731,850 msg/sec xenium::michael_scott_queue,11,i: 2,898,195 msg/sec xenium::michael_scott_queue,12,s: 2,603,894 msg/sec xenium::michael_scott_queue,12,i: 2,729,016 msg/sec xenium::michael_scott_queue,13,s: 2,512,055 msg/sec xenium::michael_scott_queue,13,i: 2,654,932 msg/sec xenium::michael_scott_queue,14,s: 2,399,169 msg/sec xenium::michael_scott_queue,14,i: 2,609,586 msg/sec xenium::michael_scott_queue,15,s: 2,331,001 msg/sec xenium::michael_scott_queue,15,i: 2,596,550 msg/sec xenium::michael_scott_queue,16,s: 2,214,033 msg/sec xenium::michael_scott_queue,16,i: 2,502,300 msg/sec xenium::ramalhete_queue, 1,s: 71,100,054 msg/sec xenium::ramalhete_queue, 1,i: 68,299,056 msg/sec xenium::ramalhete_queue, 2,s: 50,300,964 msg/sec xenium::ramalhete_queue, 2,i: 40,692,135 msg/sec xenium::ramalhete_queue, 3,s: 40,854,918 msg/sec xenium::ramalhete_queue, 3,i: 40,441,868 msg/sec xenium::ramalhete_queue, 4,s: 49,982,504 msg/sec xenium::ramalhete_queue, 4,i: 48,062,207 msg/sec xenium::ramalhete_queue, 5,s: 37,339,694 msg/sec xenium::ramalhete_queue, 5,i: 23,636,120 msg/sec xenium::ramalhete_queue, 6,s: 39,028,178 msg/sec xenium::ramalhete_queue, 6,i: 26,538,608 msg/sec xenium::ramalhete_queue, 7,s: 40,599,584 msg/sec xenium::ramalhete_queue, 7,i: 28,549,485 msg/sec xenium::ramalhete_queue, 8,s: 51,300,321 msg/sec xenium::ramalhete_queue, 8,i: 29,549,802 msg/sec xenium::ramalhete_queue, 9,s: 32,745,688 msg/sec xenium::ramalhete_queue, 9,i: 35,401,344 msg/sec xenium::ramalhete_queue,10,s: 35,035,618 msg/sec xenium::ramalhete_queue,10,i: 41,111,033 msg/sec xenium::ramalhete_queue,11,s: 37,112,048 msg/sec xenium::ramalhete_queue,11,i: 41,943,115 msg/sec xenium::ramalhete_queue,12,s: 38,847,556 msg/sec xenium::ramalhete_queue,12,i: 41,844,574 msg/sec xenium::ramalhete_queue,13,s: 39,687,731 msg/sec xenium::ramalhete_queue,13,i: 44,582,901 msg/sec xenium::ramalhete_queue,14,s: 39,996,398 msg/sec xenium::ramalhete_queue,14,i: 43,128,725 msg/sec xenium::ramalhete_queue,15,s: 39,897,823 msg/sec xenium::ramalhete_queue,15,i: 44,043,061 msg/sec xenium::ramalhete_queue,16,s: 39,589,482 msg/sec xenium::ramalhete_queue,16,i: 44,301,225 msg/sec xenium::vyukov_bounded_queue, 1,s: 307,806,033 msg/sec xenium::vyukov_bounded_queue, 1,i: 309,991,984 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,473,750 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,566,745 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,717,741 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,788,389 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,737,958 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,531,085 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,587,156 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,443,191 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,123,435 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,862,385 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,229,428 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,529,619 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,433,387 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,548,741 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,008,654 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,715,558 msg/sec xenium::vyukov_bounded_queue,10,s: 7,667,586 msg/sec xenium::vyukov_bounded_queue,10,i: 6,898,186 msg/sec xenium::vyukov_bounded_queue,11,s: 7,436,015 msg/sec xenium::vyukov_bounded_queue,11,i: 7,176,146 msg/sec xenium::vyukov_bounded_queue,12,s: 7,394,598 msg/sec xenium::vyukov_bounded_queue,12,i: 7,521,793 msg/sec xenium::vyukov_bounded_queue,13,s: 7,138,835 msg/sec xenium::vyukov_bounded_queue,13,i: 7,219,625 msg/sec xenium::vyukov_bounded_queue,14,s: 6,957,320 msg/sec xenium::vyukov_bounded_queue,14,i: 7,249,593 msg/sec xenium::vyukov_bounded_queue,15,s: 7,044,597 msg/sec xenium::vyukov_bounded_queue,15,i: 7,254,700 msg/sec xenium::vyukov_bounded_queue,16,s: 6,904,971 msg/sec xenium::vyukov_bounded_queue,16,i: 7,040,409 msg/sec boost::lockfree::queue, 1,s: 7,749,466 msg/sec boost::lockfree::queue, 1,i: 7,811,334 msg/sec boost::lockfree::queue, 2,s: 5,849,593 msg/sec boost::lockfree::queue, 2,i: 5,916,210 msg/sec boost::lockfree::queue, 3,s: 4,933,052 msg/sec boost::lockfree::queue, 3,i: 4,801,351 msg/sec boost::lockfree::queue, 4,s: 4,367,297 msg/sec boost::lockfree::queue, 4,i: 4,347,493 msg/sec boost::lockfree::queue, 5,s: 2,655,980 msg/sec boost::lockfree::queue, 5,i: 2,908,403 msg/sec boost::lockfree::queue, 6,s: 1,443,690 msg/sec boost::lockfree::queue, 6,i: 2,802,056 msg/sec boost::lockfree::queue, 7,s: 1,388,858 msg/sec boost::lockfree::queue, 7,i: 2,833,544 msg/sec boost::lockfree::queue, 8,s: 1,161,305 msg/sec boost::lockfree::queue, 8,i: 2,731,993 msg/sec boost::lockfree::queue, 9,s: 1,428,365 msg/sec boopthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. st::lockfree::queue, 9,i: 1,902,143 msg/sec boost::lockfree::queue,10,s: 1,550,030 msg/sec boost::lockfree::queue,10,i: 1,908,510 msg/sec boost::lockfree::queue,11,s: 1,810,168 msg/sec boost::lockfree::queue,11,i: 1,876,465 msg/sec boost::lockfree::queue,12,s: 1,722,171 msg/sec boost::lockfree::queue,12,i: 1,669,532 msg/sec boost::lockfree::queue,13,s: 1,625,995 msg/sec boost::lockfree::queue,13,i: 1,678,689 msg/sec boost::lockfree::queue,14,s: 1,572,000 msg/sec boost::lockfree::queue,14,i: 1,650,144 msg/sec boost::lockfree::queue,15,s: 1,597,945 msg/sec boost::lockfree::queue,15,i: 1,572,999 msg/sec boost::lockfree::queue,16,s: 1,521,151 msg/sec boost::lockfree::queue,16,i: 1,497,591 msg/sec std::mutex, 1,s: 3,801,001 msg/sec std::mutex, 1,i: 3,773,186 msg/sec std::mutex, 2,s: 13,259,518 msg/sec std::mutex, 2,i: 12,232,868 msg/sec std::mutex, 3,s: 6,942,956 msg/sec std::mutex, 3,i: 6,799,364 msg/sec std::mutex, 4,s: 7,019,465 msg/sec std::mutex, 4,i: 6,723,779 msg/sec std::mutex, 5,s: 3,369,245 msg/sec std::mutex, 5,i: 3,468,329 msg/sec std::mutex, 6,s: 3,102,313 msg/sec std::mutex, 6,i: 2,990,826 msg/sec std::mutex, 7,s: 3,340,151 msg/sec std::mutex, 7,i: 2,937,745 msg/sec std::mutex, 8,s: 3,436,173 msg/sec std::mutex, 8,i: 2,791,812 msg/sec std::mutex, 9,s: 2,889,732 msg/sec std::mutex, 9,i: 2,742,789 msg/sec std::mutex,10,s: 2,640,314 msg/sec std::mutex,10,i: 2,716,494 msg/sec std::mutex,11,s: 2,662,294 msg/sec std::mutex,11,i: 2,689,125 msg/sec std::mutex,12,s: 2,711,671 msg/sec std::mutex,12,i: 2,580,752 msg/sec std::mutex,13,s: 2,478,906 msg/sec std::mutex,13,i: 2,420,363 msg/sec std::mutex,14,s: 2,404,367 msg/sec std::mutex,14,i: 2,359,891 msg/sec std::mutex,15,s: 2,443,916 msg/sec std::mutex,15,i: 2,384,748 msg/sec std::mutex,16,s: 2,341,063 msg/sec std::mutex,16,i: 2,291,762 msg/sec pthread_spinlock, 1,s: 17,860,991 msg/sec pthread_spinlock, 1,i: 18,129,247 msg/sec pthread_spinlock, 2,s: 6,913,528 msg/sec pthread_spinlock, 2,i: 1,614,897 msg/sec pthread_spinlock, 3,s: 745,110 msg/sec pthread_spinlock, 3,i: 4,892,617 msg/sec pthread_spinlock, 4,s: 2,204,938 msg/sec pthread_spinlock, 4,i: 1,408,529 msg/sec pthread_spinlock, 5,s: 2,774,629 msg/sec pthread_spinlock, 5,i: 3,720,909 msg/sec pthread_spinlock, 6,s: 2,003,577 msg/sec pthread_spinlock, 6,i: 3,095,065 msg/sec pthread_spinlock, 7,s: 2,803,954 msg/sec pthread_spinlock, 7,i: 3,077,746 msg/sec pthread_spinlock, 8,s: 2,992,201 msg/sec pthread_spinlock, 8,i: 2,667,409 msg/sec pthread_spinlock, 9,s: 2,740,965 msg/sec pthread_spinlock, 9,i: 2,275,046 msg/sec pthread_spinlock,10,s: 2,763,524 msg/sec pthread_spinlock,10,i: 2,375,149 msg/sec pthread_spinlock,11,s: 2,500,757 msg/sec pthread_spinlock,11,i: 2,338,558 msg/sec pthread_spinlock,12,s: 2,547,540 msg/sec pthread_spinlock,12,i: 2,493,538 msg/sec pthread_spinlock,13,s: 2,411,580 msg/sec pthread_spinlock,13,i: 2,266,764 msg/sec pthread_spinlock,14,s: 2,192,155 msg/sec pthread_spinlock,14,i: 2,068,840 msg/sec pthread_spinlock,15,s: 2,028,326 msg/sec pthread_spinlock,15,i: 1,878,565 msg/sec pthread_spinlock,16,s: 1,766,681 msg/sec pthread_spinlock,16,i: 1,606,664 msg/sec tbb::spin_mutex, 1,s: 37,959,086 msg/sec tbb::spin_mutex, 1,i: 37,512,086 msg/sec tbb::spin_mutex, 2,s: 16,453,340 msg/sec tbb::spin_mutex, 2,i: 16,011,430 msg/sec tbb::spin_mutex, 3,s: 12,060,229 msg/sec tbb::spin_mutex, 3,i: 11,876,021 msg/sec tbb::spin_mutex, 4,s: 10,312,468 msg/sec tbb::spin_mutex, 4,i: 9,992,825 msg/sec tbb::spin_mutex, 5,s: 5,980,343 msg/sec tbb::spin_mutex, 5,i: 5,541,103 msg/sec tbb::spin_mutex, 6,s: 5,107,844 msg/sec tbb::spin_mutex, 6,i: 4,792,853 msg/sec tbb::spin_mutex, 7,s: 4,492,840 msg/sec tbb::spin_mutex, 7,i: 4,721,545 msg/sec tbb::spin_mutex, 8,s: 4,282,109 msg/sec tbb::spin_mutex, 8,i: 4,091,561 msg/sec tbb::spin_mutex, 9,s: 4,632,275 msg/sec tbb::spin_mutex, 9,i: 4,449,937 msg/sec tbb::spin_mutex,10,s: 4,325,480 msg/sec tbb::spin_mutex,10,i: 4,280,121 msg/sec tbb::spin_mutex,11,s: 4,221,384 msg/sec tbb::spin_mutex,11,i: 3,629,563 msg/sec tbb::spin_mutex,12,s: 3,772,809 msg/sec tbb::spin_mutex,12,i: 3,563,120 msg/sec tbb::spin_mutex,13,s: 3,442,981 msg/sec tbb::spin_mutex,13,i: 3,281,964 msg/sec tbb::spin_mutex,14,s: 3,379,420 msg/sec tbb::spin_mutex,14,i: 3,020,095 msg/sec tbb::spin_mutex,15,s: 3,189,542 msg/sec tbb::spin_mutex,15,i: 3,332,761 msg/sec tbb::spin_mutex,16,s: 2,910,351 msg/sec tbb::spin_mutex,16,i: 3,011,376 msg/sec Elapsed time 6:11.56, user 5610.74s, system 602.07s, CPU 1672%, RSS 98032kB, exit-status 0. 2026-09-14 13:34:17 [13/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000043 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000046 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,158,192 msg/sec boost::lockfree::spsc_queue, 1,i: 113,804,814 msg/sec AtomicQueue, 1,s: 146,635,103 msg/sec AtomicQueue, 1,i: 139,498,814 msg/sec AtomicQueue, 2,s: 9,887,019 msg/sec AtomicQueue, 2,i: 10,328,821 msg/sec AtomicQueue, 3,s: 8,357,271 msg/sec AtomicQueue, 3,i: 8,780,258 msg/sec AtomicQueue, 4,s: 6,609,080 msg/sec AtomicQueue, 4,i: 7,000,777 msg/sec AtomicQueue, 5,s: 3,173,622 msg/sec AtomicQueue, 5,i: 4,321,598 msg/sec AtomicQueue, 6,s: 2,596,034 msg/sec AtomicQueue, 6,i: 3,538,426 msg/sec AtomicQueue, 7,s: 2,962,566 msg/sec AtomicQueue, 7,i: 3,205,908 msg/sec AtomicQueue, 8,s: 3,117,001 msg/sec AtomicQueue, 8,i: 2,894,886 msg/sec AtomicQueue, 9,s: 2,831,213 msg/sec AtomicQueue, 9,i: 2,961,507 msg/sec AtomicQueue,10,s: 2,782,171 msg/sec AtomicQueue,10,i: 2,971,496 msg/sec AtomicQueue,11,s: 2,796,155 msg/sec AtomicQueue,11,i: 2,953,081 msg/sec AtomicQueue,12,s: 2,659,907 msg/sec AtomicQueue,12,i: 2,872,334 msg/sec AtomicQueue,13,s: 2,529,283 msg/sec AtomicQueue,13,i: 2,818,104 msg/sec AtomicQueue,14,s: 2,367,191 msg/sec AtomicQueue,14,i: 2,779,219 msg/sec AtomicQueue,15,s: 2,376,750 msg/sec AtomicQueue,15,i: 2,751,538 msg/sec AtomicQueue,16,s: 2,258,859 msg/sec AtomicQueue,16,i: 2,744,088 msg/sec OptimistAtomicQueue, 1,s: 1,202,520,341 msg/sec OptimistAtomicQueue, 1,i: 1,197,824,741 msg/sec OptimistAtomicQueue, 2,s: 50,064,102 msg/sec OptimistAtomicQueue, 2,i: 52,591,613 msg/sec OptimistAtomicQueue, 3,s: 58,692,473 msg/sec OptimistAtomicQueue, 3,i: 59,647,443 msg/sec OptimistAtomicQueue, 4,s: 59,172,831 msg/sec OptimistAtomicQueue, 4,i: 66,025,834 msg/sec OptimistAtomicQueue, 5,s: 33,230,972 msg/sec OptimistAtomicQueue, 5,i: 41,836,554 msg/sec OptimistAtomicQueue, 6,s: 34,509,006 msg/sec OptimistAtomicQueue, 6,i: 34,673,888 msg/sec OptimistAtomicQueue, 7,s: 40,057,229 msg/sec OptimistAtomicQueue, 7,i: 40,118,327 msg/sec OptimistAtomicQueue, 8,s: 50,461,989 msg/sec OptimistAtomicQueue, 8,i: 41,294,068 msg/sec OptimistAtomicQueue, 9,s: 41,210,895 msg/sec OptimistAtomicQueue, 9,i: 44,638,742 msg/sec OptimistAtomicQueue,10,s: 39,908,944 msg/sec OptimistAtomicQueue,10,i: 47,822,394 msg/sec OptimistAtomicQueue,11,s: 44,351,554 msg/sec OptimistAtomicQueue,11,i: 53,046,754 msg/sec OptimistAtomicQueue,12,s: 43,486,611 msg/sec OptimistAtomicQueue,12,i: 57,244,516 msg/sec OptimistAtomicQueue,13,s: 43,489,546 msg/sec OptimistAtomicQueue,13,i: 54,785,542 msg/sec OptimistAtomicQueue,14,s: 43,267,088 msg/sec OptimistAtomicQueue,14,i: 56,482,467 msg/sec OptimistAtomicQueue,15,s: 45,851,638 msg/sec OptimistAtomicQueue,15,i: 60,735,860 msg/sec OptimistAtomicQueue,16,s: 45,793,249 msg/sec OptimistAtomicQueue,16,i: 64,549,040 msg/sec AtomicQueueB, 1,s: 50,208,684 msg/sec AtomicQueueB, 1,i: 49,668,272 msg/sec AtomicQueueB, 2,s: 9,524,121 msg/sec AtomicQueueB, 2,i: 9,940,352 msg/sec AtomicQueueB, 3,s: 8,186,109 msg/sec AtomicQueueB, 3,i: 8,705,395 msg/sec AtomicQueueB, 4,s: 6,545,149 msg/sec AtomicQueueB, 4,i: 6,910,741 msg/sec AtomicQueueB, 5,s: 3,120,989 msg/sec AtomicQueueB, 5,i: 4,320,191 msg/sec AtomicQueueB, 6,s: 2,568,678 msg/sec AtomicQueueB, 6,i: 3,974,772 msg/sec AtomicQueueB, 7,s: 2,912,697 msg/sec AtomicQueueB, 7,i: 3,191,933 msg/sec AtomicQueueB, 8,s: 3,049,967 msg/sec AtomicQueueB, 8,i: 2,876,967 msg/sec AtomicQueueB, 9,s: 2,731,851 msg/sec AtomicQueueB, 9,i: 2,903,494 msg/sec AtomicQueueB,10,s: 2,796,530 msg/sec AtomicQueueB,10,i: 2,866,579 msg/sec AtomicQueueB,11,s: 2,735,731 msg/sec AtomicQueueB,11,i: 2,949,183 msg/sec AtomicQueueB,12,s: 2,663,049 msg/sec AtomicQueueB,12,i: 2,854,645 msg/sec AtomicQueueB,13,s: 2,520,187 msg/sec AtomicQueueB,13,i: 2,805,681 msg/sec AtomicQueueB,14,s: 2,385,893 msg/sec AtomicQueueB,14,i: 2,755,834 msg/sec AtomicQueueB,15,s: 2,378,683 msg/sec AtomicQueueB,15,i: 2,771,379 msg/sec AtomicQueueB,16,s: 2,277,481 msg/sec AtomicQueueB,16,i: 2,741,858 msg/sec OptimistAtomicQueueB, 1,s: 542,182,190 msg/sec OptimistAtomicQueueB, 1,i: 510,515,270 msg/sec OptimistAtomicQueueB, 2,s: 50,220,433 msg/sec OptimistAtomicQueueB, 2,i: 48,928,397 msg/sec OptimistAtomicQueueB, 3,s: 58,610,707 msg/sec OptimistAtomicQueueB, 3,i: 57,864,803 msg/sec OptimistAtomicQueueB, 4,s: 59,405,707 msg/sec OptimistAtomicQueueB, 4,i: 65,304,578 msg/sec OptimistAtomicQueueB, 5,s: 33,128,021 msg/sec OptimistAtomicQueueB, 5,i: 36,355,623 msg/sec OptimistAtomicQueueB, 6,s: 34,322,193 msg/sec OptimistAtomicQueueB, 6,i: 34,887,256 msg/sec OptimistAtomicQueueB, 7,s: 39,182,905 msg/sec OptimistAtomicQueueB, 7,i: 40,019,046 msg/sec OptimistAtomicQueueB, 8,s: 51,516,152 msg/sec OptimistAtomicQueueB, 8,i: 41,182,139 msg/sec OptimistAtomicQueueB, 9,s: 40,724,294 msg/sec OptimistAtomicQueueB, 9,i: 44,993,827 msg/sec OptimistAtomicQueueB,10,s: 40,080,895 msg/sec OptimistAtomicQueueB,10,i: 47,167,458 msg/sec OptimistAtomicQueueB,11,s: 44,341,504 msg/sec OptimistAtomicQueueB,11,i: 52,628,368 msg/sec OptimistAtomicQueueB,12,s: 43,831,908 msg/sec OptimistAtomicQueueB,12,i: 57,003,055 msg/sec OptimistAtomicQueueB,13,s: 43,777,149 msg/sec OptimistAtomicQueueB,13,i: 54,371,125 msg/sec OptimistAtomicQueueB,14,s: 43,553,475 msg/sec OptimistAtomicQueueB,14,i: 55,696,497 msg/sec OptimistAtomicQueueB,15,s: 46,251,527 msg/sec OptimistAtomicQueueB,15,i: 60,253,402 msg/sec OptimistAtomicQueueB,16,s: 46,093,137 msg/sec OptimistAtomicQueueB,16,i: 64,769,698 msg/sec AtomicQueue2, 1,s: 129,808,180 msg/sec AtomicQueue2, 1,i: 138,501,887 msg/sec AtomicQueue2, 2,s: 9,945,550 msg/sec AtomicQueue2, 2,i: 10,530,574 msg/sec AtomicQueue2, 3,s: 8,410,543 msg/sec AtomicQueue2, 3,i: 8,917,877 msg/sec AtomicQueue2, 4,s: 6,683,756 msg/sec AtomicQueue2, 4,i: 7,091,492 msg/sec AtomicQueue2, 5,s: 3,129,815 msg/sec AtomicQueue2, 5,i: 4,284,855 msg/sec AtomicQueue2, 6,s: 2,565,319 msg/sec AtomicQueue2, 6,i: 3,459,912 msg/sec AtomicQueue2, 7,s: 2,898,450 msg/sec AtomicQueue2, 7,i: 3,203,300 msg/sec AtomicQueue2, 8,s: 3,001,088 msg/sec AtomicQueue2, 8,i: 2,884,840 msg/sec AtomicQueue2, 9,s: 2,702,284 msg/sec AtomicQueue2, 9,i: 2,893,030 msg/sec AtomicQueue2,10,s: 2,774,510 msg/sec AtomicQueue2,10,i: 2,897,179 msg/sec AtomicQueue2,11,s: 2,743,826 msg/sec AtomicQueue2,11,i: 2,939,804 msg/sec AtomicQueue2,12,s: 2,697,851 msg/sec AtomicQueue2,12,i: 2,831,803 msg/sec AtomicQueue2,13,s: 2,533,659 msg/sec AtomicQueue2,13,i: 2,815,064 msg/sec AtomicQueue2,14,s: 2,389,596 msg/sec AtomicQueue2,14,i: 2,718,414 msg/sec AtomicQueue2,15,s: 2,393,433 msg/sec AtomicQueue2,15,i: 2,736,755 msg/sec AtomicQueue2,16,s: 2,284,099 msg/sec AtomicQueue2,16,i: 2,714,613 msg/sec OptimistAtomicQueue2, 1,s: 107,737,600 msg/sec OptimistAtomicQueue2, 1,i: 107,764,883 msg/sec OptimistAtomicQueue2, 2,s: 43,490,916 msg/sec OptimistAtomicQueue2, 2,i: 47,141,110 msg/sec OptimistAtomicQueue2, 3,s: 54,403,739 msg/sec OptimistAtomicQueue2, 3,i: 50,030,565 msg/sec OptimistAtomicQueue2, 4,s: 59,288,073 msg/sec OptimistAtomicQueue2, 4,i: 57,872,054 msg/sec OptimistAtomicQueue2, 5,s: 31,497,459 msg/sec OptimistAtomicQueue2, 5,i: 34,262,915 msg/sec OptimistAtomicQueue2, 6,s: 32,913,164 msg/sec OptimistAtomicQueue2, 6,i: 32,492,864 msg/sec OptimistAtomicQueue2, 7,s: 37,798,692 msg/sec OptimistAtomicQueue2, 7,i: 37,695,153 msg/sec OptimistAtomicQueue2, 8,s: 48,983,376 msg/sec OptimistAtomicQueue2, 8,i: 39,907,957 msg/sec OptimistAtomicQueue2, 9,s: 37,481,033 msg/sec OptimistAtomicQueue2, 9,i: 42,653,295 msg/sec OptimistAtomicQueue2,10,s: 37,598,979 msg/sec OptimistAtomicQueue2,10,i: 43,011,418 msg/sec OptimistAtomicQueue2,11,s: 42,760,493 msg/sec OptimistAtomicQueue2,11,i: 46,338,771 msg/sec OptimistAtomicQueue2,12,s: 42,145,355 msg/sec OptimistAtomicQueue2,12,i: 52,140,904 msg/sec OptimistAtomicQueue2,13,s: 41,115,076 msg/sec OptimistAtomicQueue2,13,i: 52,998,843 msg/sec OptimistAtomicQueue2,14,s: 40,757,391 msg/sec OptimistAtomicQueue2,14,i: 52,618,161 msg/sec OptimistAtomicQueue2,15,s: 43,210,361 msg/sec OptimistAtomicQueue2,15,i: 56,200,728 msg/sec OptimistAtomicQueue2,16,s: 43,447,570 msg/sec OptimistAtomicQueue2,16,i: 59,082,774 msg/sec AtomicQueueB2, 1,s: 73,266,844 msg/sec AtomicQueueB2, 1,i: 72,070,086 msg/sec AtomicQueueB2, 2,s: 9,844,416 msg/sec AtomicQueueB2, 2,i: 10,431,039 msg/sec AtomicQueueB2, 3,s: 8,315,756 msg/sec AtomicQueueB2, 3,i: 8,835,874 msg/sec AtomicQueueB2, 4,s: 6,610,950 msg/sec AtomicQueueB2, 4,i: 6,975,858 msg/sec AtomicQueueB2, 5,s: 3,086,960 msg/sec AtomicQueueB2, 5,i: 4,320,702 msg/sec AtomicQueueB2, 6,s: 2,547,853 msg/sec AtomicQueueB2, 6,i: 3,973,157 msg/sec AtomicQueueB2, 7,s: 2,899,777 msg/sec AtomicQueueB2, 7,i: 3,169,134 msg/sec AtomicQueueB2, 8,s: 3,018,797 msg/sec AtomicQueueB2, 8,i: 2,859,996 msg/sec AtomicQueueB2, 9,s: 2,787,856 msg/sec AtomicQueueB2, 9,i: 2,841,101 msg/sec AtomicQueueB2,10,s: 2,753,672 msg/sec AtomicQueueB2,10,i: 2,909,723 msg/sec AtomicQueueB2,11,s: 2,792,676 msg/sec AtomicQueueB2,11,i: 2,872,576 msg/sec AtomicQueueB2,12,s: 2,773,654 msg/sec AtomicQueueB2,12,i: 2,861,575 msg/sec AtomicQueueB2,13,s: 2,643,416 msg/sec AtomicQueueB2,13,i: 2,852,990 msg/sec AtomicQueueB2,14,s: 2,462,682 msg/sec AtomicQueueB2,14,i: 2,778,468 msg/sec AtomicQueueB2,15,s: 2,447,647 msg/sec AtomicQueueB2,15,i: 2,753,830 msg/sec AtomicQueueB2,16,s: 2,302,177 msg/sec AtomicQueueB2,16,i: 2,744,919 msg/sec OptimistAtomicQueueB2, 1,s: 377,174,043 msg/sec OptimistAtomicQueueB2, 1,i: 150,930,072 msg/sec OptimistAtomicQueueB2, 2,s: 41,927,309 msg/sec OptimistAtomicQueueB2, 2,i: 45,977,155 msg/sec OptimistAtomicQueueB2, 3,s: 56,901,809 msg/sec OptimistAtomicQueueB2, 3,i: 53,109,745 msg/sec OptimistAtomicQueueB2, 4,s: 58,916,632 msg/sec OptimistAtomicQueueB2, 4,i: 59,970,576 msg/sec OptimistAtomicQueueB2, 5,s: 31,378,170 msg/sec OptimistAtomicQueueB2, 5,i: 32,419,200 msg/sec OptimistAtomicQueueB2, 6,s: 32,962,308 msg/sec OptimistAtomicQueueB2, 6,i: 32,311,813 msg/sec OptimistAtomicQueueB2, 7,s: 37,172,114 msg/sec OptimistAtomicQueueB2, 7,i: 37,026,240 msg/sec OptimistAtomicQueueB2, 8,s: 47,976,869 msg/sec OptimistAtomicQueueB2, 8,i: 38,893,765 msg/sec OptimistAtomicQueueB2, 9,s: 36,843,412 msg/sec OptimistAtomicQueueB2, 9,i: 41,130,875 msg/sec OptimistAtomicQueueB2,10,s: 37,291,405 msg/sec OptimistAtomicQueueB2,10,i: 42,947,948 msg/sec OptimistAtomicQueueB2,11,s: 42,625,274 msg/sec OptimistAtomicQueueB2,11,i: 47,137,671 msg/sec OptimistAtomicQueueB2,12,s: 41,774,917 msg/sec OptimistAtomicQueueB2,12,i: 50,800,018 msg/sec OptimistAtomicQueueB2,13,s: 40,976,192 msg/sec OptimistAtomicQueueB2,13,i: 51,660,880 msg/sec OptimistAtomicQueueB2,14,s: 40,708,911 msg/sec OptimistAtomicQueueB2,14,i: 52,475,607 msg/sec OptimistAtomicQueueB2,15,s: 43,207,374 msg/sec OptimistAtomicQueueB2,15,i: 56,582,503 msg/sec OptimistAtomicQueueB2,16,s: 43,248,921 msg/sec OptimistAtomicQueueB2,16,i: 59,140,671 msg/sec moodycamel::ReaderWriterQueue, 1,s: 298,284,299 msg/sec moodycamel::ReaderWriterQueue, 1,i: 753,373,468 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,036,970 msg/sec moodycamel::ConcurrentQueue, 1,i: 15,942,353 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,635,147 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,667,524 msg/sec moodycamel::ConcurrentQueue, 3,s: 56,802,003 msg/sec moodycamel::ConcurrentQueue, 3,i: 60,514,207 msg/sec moodycamel::ConcurrentQueue, 4,s: 99,636,232 msg/sec moodycamel::ConcurrentQueue, 4,i: 82,607,409 msg/sec moodycamel::ConcurrentQueue, 5,s: 124,356,064 msg/sec moodycamel::ConcurrentQueue, 5,i: 190,933,935 msg/sec moodycamel::ConcurrentQueue, 6,s: 192,892,127 msg/sec moodycamel::ConcurrentQueue, 6,i: 223,464,885 msg/sec moodycamel::ConcurrentQueue, 7,s: 209,542,655 msg/sec moodycamel::ConcurrentQueue, 7,i: 225,790,226 msg/sec moodycamel::ConcurrentQueue, 8,s: 271,099,914 msg/sec moodycamel::ConcurrentQueue, 8,i: 233,318,854 msg/sec moodycamel::ConcurrentQueue, 9,s: 269,890,467 msg/sec moodycamel::ConcurrentQueue, 9,i: 264,005,222 msg/sec moodycamel::ConcurrentQueue,10,s: 272,418,145 msg/sec moodycamel::ConcurrentQueue,10,i: 278,353,845 msg/sec moodycamel::ConcurrentQueue,11,s: 234,137,317 msg/sec moodycamel::ConcurrentQueue,11,i: 266,010,694 msg/sec moodycamel::ConcurrentQueue,12,s: 168,154,377 msg/sec moodycamel::ConcurrentQueue,12,i: 244,135,691 msg/sec moodycamel::ConcurrentQueue,13,s: 214,165,162 msg/sec moodycamel::ConcurrentQueue,13,i: 273,226,745 msg/sec moodycamel::ConcurrentQueue,14,s: 315,664,290 msg/sec moodycamel::ConcurrentQueue,14,i: 363,313,137 msg/sec moodycamel::ConcurrentQueue,15,s: 501,071,226 msg/sec moodycamel::ConcurrentQueue,15,i: 471,440,127 msg/sec moodycamel::ConcurrentQueue,16,s: 547,702,420 msg/sec moodycamel::ConcurrentQueue,16,i: 498,501,020 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,795,372 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,814,157 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,144,280 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,142,253 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,971,743 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,074,210 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,419,690 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,620,621 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,064,923 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,645,625 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,792,371 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,401,383 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,665,010 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,157,304 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,777,260 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,812,380 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,689,918 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,853,774 msg/sec tbb::concurrent_bounded_queue,10,s: 2,770,033 msg/sec tbb::concurrent_bounded_queue,10,i: 2,988,229 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,488 msg/sec tbb::concurrent_bounded_queue,11,i: 2,846,236 msg/sec tbb::concurrent_bounded_queue,12,s: 2,553,572 msg/sec tbb::concurrent_bounded_queue,12,i: 2,777,172 msg/sec tbb::concurrent_bounded_queue,13,s: 2,484,701 msg/sec tbb::concurrent_bounded_queue,13,i: 2,778,073 msg/sec tbb::concurrent_bounded_queue,14,s: 2,382,444 msg/sec tbb::concurrent_bounded_queue,14,i: 2,725,418 msg/sec tbb::concurrent_bounded_queue,15,s: 2,351,792 msg/sec tbb::concurrent_bounded_queue,15,i: 2,630,874 msg/sec tbb::concurrent_bounded_queue,16,s: 2,265,823 msg/sec tbb::concurrent_bounded_queue,16,i: 2,536,161 msg/sec xenium::michael_scott_queue, 1,s: 13,393,179 msg/sec xenium::michael_scott_queue, 1,i: 13,690,146 msg/sec xenium::michael_scott_queue, 2,s: 9,429,301 msg/sec xenium::michael_scott_queue, 2,i: 9,198,804 msg/sec xenium::michael_scott_queue, 3,s: 7,635,173 msg/sec xenium::michael_scott_queue, 3,i: 7,543,693 msg/sec xenium::michael_scott_queue, 4,s: 5,889,881 msg/sec xenium::michael_scott_queue, 4,i: 5,793,763 msg/sec xenium::michael_scott_queue, 5,s: 3,629,625 msg/sec xenium::michael_scott_queue, 5,i: 4,655,580 msg/sec xenium::michael_scott_queue, 6,s: 3,327,448 msg/sec xenium::michael_scott_queue, 6,i: 3,571,440 msg/sec xenium::michael_scott_queue, 7,s: 3,191,532 msg/sec xenium::michael_scott_queue, 7,i: 3,256,337 msg/sec xenium::michael_scott_queue, 8,s: 2,377,266 msg/sec xenium::michael_scott_queue, 8,i: 2,804,000 msg/sec xenium::michael_scott_queue, 9,s: 2,940,861 msg/sec xenium::michael_scott_queue, 9,i: 2,829,919 msg/sec xenium::michael_scott_queue,10,s: 2,847,469 msg/sec xenium::michael_scott_queue,10,i: 2,854,629 msg/sec xenium::michael_scott_queue,11,s: 2,784,576 msg/sec xenium::michael_scott_queue,11,i: 2,915,092 msg/sec xenium::michael_scott_queue,12,s: 2,622,774 msg/sec xenium::michael_scott_queue,12,i: 2,748,458 msg/sec xenium::michael_scott_queue,13,s: 2,553,386 msg/sec xenium::michael_scott_queue,13,i: 2,680,723 msg/sec xenium::michael_scott_queue,14,s: 2,413,352 msg/sec xenium::michael_scott_queue,14,i: 2,635,705 msg/sec xenium::michael_scott_queue,15,s: 2,346,736 msg/sec xenium::michael_scott_queue,15,i: 2,642,750 msg/sec xenium::michael_scott_queue,16,s: 2,238,194 msg/sec xenium::michael_scott_queue,16,i: 2,536,550 msg/sec xenium::ramalhete_queue, 1,s: 69,977,779 msg/sec xenium::ramalhete_queue, 1,i: 65,316,521 msg/sec xenium::ramalhete_queue, 2,s: 42,901,481 msg/sec xenium::ramalhete_queue, 2,i: 35,261,419 msg/sec xenium::ramalhete_queue, 3,s: 42,305,959 msg/sec xenium::ramalhete_queue, 3,i: 41,118,908 msg/sec xenium::ramalhete_queue, 4,s: 52,394,544 msg/sec xenium::ramalhete_queue, 4,i: 45,904,848 msg/sec xenium::ramalhete_queue, 5,s: 37,549,919 msg/sec xenium::ramalhete_queue, 5,i: 23,321,145 msg/sec xenium::ramalhete_queue, 6,s: 38,849,255 msg/sec xenium::ramalhete_queue, 6,i: 26,576,298 msg/sec xenium::ramalhete_queue, 7,s: 40,395,080 msg/sec xenium::ramalhete_queue, 7,i: 28,387,426 msg/sec xenium::ramalhete_queue, 8,s: 50,434,046 msg/sec xenium::ramalhete_queue, 8,i: 29,488,954 msg/sec xenium::ramalhete_queue, 9,s: 33,170,470 msg/sec xenium::ramalhete_queue, 9,i: 35,165,431 msg/sec xenium::ramalhete_queue,10,s: 34,849,364 msg/sec xenium::ramalhete_queue,10,i: 40,580,362 msg/sec xenium::ramalhete_queue,11,s: 37,622,667 msg/sec xenium::ramalhete_queue,11,i: 43,160,485 msg/sec xenium::ramalhete_queue,12,s: 38,805,755 msg/sec xenium::ramalhete_queue,12,i: 44,318,994 msg/sec xenium::ramalhete_queue,13,s: 39,474,300 msg/sec xenium::ramalhete_queue,13,i: 44,530,174 msg/sec xenium::ramalhete_queue,14,s: 39,817,401 msg/sec xenium::ramalhete_queue,14,i: 43,359,856 msg/sec xenium::ramalhete_queue,15,s: 39,951,969 msg/sec xenium::ramalhete_queue,15,i: 44,019,933 msg/sec xenium::ramalhete_queue,16,s: 39,551,528 msg/sec xenium::ramalhete_queue,16,i: 44,640,537 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,463,815 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,672,849 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,672,427 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,596,805 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,714,200 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,286,520 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,533,314 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,474,870 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,842,140 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,123,708 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,082,568 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,449,676 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,208,168 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,473,310 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,336,563 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,538,430 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,890,063 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,696,255 msg/sec xenium::vyukov_bounded_queue,10,s: 7,547,283 msg/sec xenium::vyukov_bounded_queue,10,i: 6,871,143 msg/sec xenium::vyukov_bounded_queue,11,s: 7,375,750 msg/sec xenium::vyukov_bounded_queue,11,i: 7,218,363 msg/sec xenium::vyukov_bounded_queue,12,s: 7,697,272 msg/sec xenium::vyukov_bounded_queue,12,i: 7,525,112 msg/sec xenium::vyukov_bounded_queue,13,s: 6,949,470 msg/sec xenium::vyukov_bounded_queue,13,i: 7,271,671 msg/sec xenium::vyukov_bounded_queue,14,s: 7,058,431 msg/sec xenium::vyukov_bounded_queue,14,i: 7,510,344 msg/sec xenium::vyukov_bounded_queue,15,s: 7,086,032 msg/sec xenium::vyukov_bounded_queue,15,i: 7,302,875 msg/sec xenium::vyukov_bounded_queue,16,s: 6,785,480 msg/sec xenium::vyukov_bounded_queue,16,i: 7,074,903 msg/sec boost::lockfree::queue, 1,s: 7,755,534 msg/sec boost::lockfree::queue, 1,i: 7,806,487 msg/sec boost::lockfree::queue, 2,s: 5,828,801 msg/sec boost::lockfree::queue, 2,i: 5,912,450 msg/sec boost::lockfree::queue, 3,s: 4,977,613 msg/sec boost::lockfree::queue, 3,i: 4,793,052 msg/sec boost::lockfree::queue, 4,s: 4,376,420 msg/sec boost::lockfree::queue, 4,i: 4,355,357 msg/sec boost::lockfree::queue, 5,s: 2,661,501 msg/sec boost::lockfree::queue, 5,i: 2,904,407 msg/sec boost::lockfree::queue, 6,s: 1,433,143 msg/sec boost::lockfree::queue, 6,i: 2,825,921 msg/sec boost::lockfree::queue, 7,s: 1,371,837 msg/sec boost::lockfree::queue, 7,i: 2,856,655 msg/sec boost::lockfree::queue, 8,s: 1,159,110 msg/sec boost::lockfree::queue, 8,i: 1,848,433 msg/sec boost::lockfree::queue, 9,s: 1,442,149 msg/sec boopthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. st::lockfree::queue, 9,i: 1,953,167 msg/sec boost::lockfree::queue,10,s: 1,582,073 msg/sec boost::lockfree::queue,10,i: 1,952,146 msg/sec boost::lockfree::queue,11,s: 1,720,996 msg/sec boost::lockfree::queue,11,i: 1,954,171 msg/sec boost::lockfree::queue,12,s: 1,732,251 msg/sec boost::lockfree::queue,12,i: 1,723,402 msg/sec boost::lockfree::queue,13,s: 1,632,084 msg/sec boost::lockfree::queue,13,i: 1,651,695 msg/sec boost::lockfree::queue,14,s: 1,551,730 msg/sec boost::lockfree::queue,14,i: 1,619,611 msg/sec boost::lockfree::queue,15,s: 1,559,509 msg/sec boost::lockfree::queue,15,i: 1,592,011 msg/sec boost::lockfree::queue,16,s: 1,524,937 msg/sec boost::lockfree::queue,16,i: 1,500,254 msg/sec std::mutex, 1,s: 3,781,277 msg/sec std::mutex, 1,i: 3,894,116 msg/sec std::mutex, 2,s: 12,665,564 msg/sec std::mutex, 2,i: 12,866,895 msg/sec std::mutex, 3,s: 7,057,632 msg/sec std::mutex, 3,i: 6,962,179 msg/sec std::mutex, 4,s: 7,130,123 msg/sec std::mutex, 4,i: 6,666,421 msg/sec std::mutex, 5,s: 3,289,431 msg/sec std::mutex, 5,i: 3,352,893 msg/sec std::mutex, 6,s: 2,963,629 msg/sec std::mutex, 6,i: 3,002,645 msg/sec std::mutex, 7,s: 3,309,886 msg/sec std::mutex, 7,i: 2,934,786 msg/sec std::mutex, 8,s: 3,320,629 msg/sec std::mutex, 8,i: 2,767,226 msg/sec std::mutex, 9,s: 2,834,477 msg/sec std::mutex, 9,i: 2,689,593 msg/sec std::mutex,10,s: 2,645,439 msg/sec std::mutex,10,i: 2,620,515 msg/sec std::mutex,11,s: 2,672,459 msg/sec std::mutex,11,i: 2,685,768 msg/sec std::mutex,12,s: 2,719,471 msg/sec std::mutex,12,i: 2,576,357 msg/sec std::mutex,13,s: 2,483,239 msg/sec std::mutex,13,i: 2,423,090 msg/sec std::mutex,14,s: 2,422,709 msg/sec std::mutex,14,i: 2,368,411 msg/sec std::mutex,15,s: 2,421,388 msg/sec std::mutex,15,i: 2,375,116 msg/sec std::mutex,16,s: 2,359,164 msg/sec std::mutex,16,i: 2,295,287 msg/sec pthread_spinlock, 1,s: 17,848,606 msg/sec pthread_spinlock, 1,i: 18,198,331 msg/sec pthread_spinlock, 2,s: 7,241,647 msg/sec pthread_spinlock, 2,i: 1,304,003 msg/sec pthread_spinlock, 3,s: 647,990 msg/sec pthread_spinlock, 3,i: 5,210,342 msg/sec pthread_spinlock, 4,s: 1,807,840 msg/sec pthread_spinlock, 4,i: 1,186,185 msg/sec pthread_spinlock, 5,s: 2,791,391 msg/sec pthread_spinlock, 5,i: 3,744,480 msg/sec pthread_spinlock, 6,s: 2,056,891 msg/sec pthread_spinlock, 6,i: 3,108,704 msg/sec pthread_spinlock, 7,s: 2,796,254 msg/sec pthread_spinlock, 7,i: 3,026,099 msg/sec pthread_spinlock, 8,s: 3,004,633 msg/sec pthread_spinlock, 8,i: 2,664,883 msg/sec pthread_spinlock, 9,s: 2,743,679 msg/sec pthread_spinlock, 9,i: 2,305,109 msg/sec pthread_spinlock,10,s: 2,742,322 msg/sec pthread_spinlock,10,i: 2,380,040 msg/sec pthread_spinlock,11,s: 2,588,823 msg/sec pthread_spinlock,11,i: 2,731,114 msg/sec pthread_spinlock,12,s: 2,572,721 msg/sec pthread_spinlock,12,i: 2,450,681 msg/sec pthread_spinlock,13,s: 2,401,051 msg/sec pthread_spinlock,13,i: 1,921,920 msg/sec pthread_spinlock,14,s: 2,215,081 msg/sec pthread_spinlock,14,i: 2,053,031 msg/sec pthread_spinlock,15,s: 2,003,094 msg/sec pthread_spinlock,15,i: 1,896,094 msg/sec pthread_spinlock,16,s: 1,805,820 msg/sec pthread_spinlock,16,i: 1,598,766 msg/sec tbb::spin_mutex, 1,s: 38,160,601 msg/sec tbb::spin_mutex, 1,i: 38,668,882 msg/sec tbb::spin_mutex, 2,s: 16,621,106 msg/sec tbb::spin_mutex, 2,i: 16,047,547 msg/sec tbb::spin_mutex, 3,s: 12,085,835 msg/sec tbb::spin_mutex, 3,i: 11,941,946 msg/sec tbb::spin_mutex, 4,s: 10,327,531 msg/sec tbb::spin_mutex, 4,i: 9,981,641 msg/sec tbb::spin_mutex, 5,s: 5,953,773 msg/sec tbb::spin_mutex, 5,i: 5,628,826 msg/sec tbb::spin_mutex, 6,s: 5,096,050 msg/sec tbb::spin_mutex, 6,i: 4,824,593 msg/sec tbb::spin_mutex, 7,s: 4,383,513 msg/sec tbb::spin_mutex, 7,i: 4,646,813 msg/sec tbb::spin_mutex, 8,s: 4,320,398 msg/sec tbb::spin_mutex, 8,i: 4,089,244 msg/sec tbb::spin_mutex, 9,s: 4,519,279 msg/sec tbb::spin_mutex, 9,i: 4,274,271 msg/sec tbb::spin_mutex,10,s: 4,377,074 msg/sec tbb::spin_mutex,10,i: 4,143,818 msg/sec tbb::spin_mutex,11,s: 4,245,717 msg/sec tbb::spin_mutex,11,i: 3,484,791 msg/sec tbb::spin_mutex,12,s: 3,782,277 msg/sec tbb::spin_mutex,12,i: 3,525,550 msg/sec tbb::spin_mutex,13,s: 3,621,769 msg/sec tbb::spin_mutex,13,i: 3,253,065 msg/sec tbb::spin_mutex,14,s: 3,434,647 msg/sec tbb::spin_mutex,14,i: 3,077,850 msg/sec tbb::spin_mutex,15,s: 3,176,254 msg/sec tbb::spin_mutex,15,i: 3,130,179 msg/sec tbb::spin_mutex,16,s: 2,930,781 msg/sec tbb::spin_mutex,16,i: 3,009,162 msg/sec Elapsed time 6:11.80, user 5611.35s, system 603.18s, CPU 1671%, RSS 95224kB, exit-status 0. 2026-09-14 13:40:29 [14/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000043 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000060 sec/round-trip boost::lockfree::queue: 0.000000093 sec/round-trip std::mutex: 0.000000318 sec/round-trip pthread_spinlock: 0.000000105 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,622,150 msg/sec boost::lockfree::spsc_queue, 1,i: 113,272,177 msg/sec AtomicQueue, 1,s: 135,657,710 msg/sec AtomicQueue, 1,i: 142,874,810 msg/sec AtomicQueue, 2,s: 9,880,627 msg/sec AtomicQueue, 2,i: 10,318,849 msg/sec AtomicQueue, 3,s: 8,364,985 msg/sec AtomicQueue, 3,i: 8,823,719 msg/sec AtomicQueue, 4,s: 6,611,552 msg/sec AtomicQueue, 4,i: 7,020,267 msg/sec AtomicQueue, 5,s: 3,159,096 msg/sec AtomicQueue, 5,i: 4,326,744 msg/sec AtomicQueue, 6,s: 2,598,045 msg/sec AtomicQueue, 6,i: 3,528,411 msg/sec AtomicQueue, 7,s: 2,968,929 msg/sec AtomicQueue, 7,i: 3,260,550 msg/sec AtomicQueue, 8,s: 3,114,840 msg/sec AtomicQueue, 8,i: 2,893,977 msg/sec AtomicQueue, 9,s: 2,876,794 msg/sec AtomicQueue, 9,i: 2,966,219 msg/sec AtomicQueue,10,s: 2,792,853 msg/sec AtomicQueue,10,i: 2,979,084 msg/sec AtomicQueue,11,s: 2,780,634 msg/sec AtomicQueue,11,i: 2,950,010 msg/sec AtomicQueue,12,s: 2,672,432 msg/sec AtomicQueue,12,i: 2,872,747 msg/sec AtomicQueue,13,s: 2,525,686 msg/sec AtomicQueue,13,i: 2,839,153 msg/sec AtomicQueue,14,s: 2,368,974 msg/sec AtomicQueue,14,i: 2,819,880 msg/sec AtomicQueue,15,s: 2,367,026 msg/sec AtomicQueue,15,i: 2,748,169 msg/sec AtomicQueue,16,s: 2,258,655 msg/sec AtomicQueue,16,i: 2,733,183 msg/sec OptimistAtomicQueue, 1,s: 1,198,600,004 msg/sec OptimistAtomicQueue, 1,i: 1,185,414,992 msg/sec OptimistAtomicQueue, 2,s: 52,991,018 msg/sec OptimistAtomicQueue, 2,i: 52,177,077 msg/sec OptimistAtomicQueue, 3,s: 58,722,699 msg/sec OptimistAtomicQueue, 3,i: 59,744,049 msg/sec OptimistAtomicQueue, 4,s: 59,228,168 msg/sec OptimistAtomicQueue, 4,i: 65,682,806 msg/sec OptimistAtomicQueue, 5,s: 33,279,597 msg/sec OptimistAtomicQueue, 5,i: 40,254,674 msg/sec OptimistAtomicQueue, 6,s: 34,601,173 msg/sec OptimistAtomicQueue, 6,i: 35,212,409 msg/sec OptimistAtomicQueue, 7,s: 40,237,746 msg/sec OptimistAtomicQueue, 7,i: 40,053,748 msg/sec OptimistAtomicQueue, 8,s: 50,481,043 msg/sec OptimistAtomicQueue, 8,i: 41,257,218 msg/sec OptimistAtomicQueue, 9,s: 41,398,710 msg/sec OptimistAtomicQueue, 9,i: 44,939,760 msg/sec OptimistAtomicQueue,10,s: 39,969,462 msg/sec OptimistAtomicQueue,10,i: 47,279,985 msg/sec OptimistAtomicQueue,11,s: 44,110,596 msg/sec OptimistAtomicQueue,11,i: 52,730,711 msg/sec OptimistAtomicQueue,12,s: 43,411,215 msg/sec OptimistAtomicQueue,12,i: 57,109,438 msg/sec OptimistAtomicQueue,13,s: 43,376,629 msg/sec OptimistAtomicQueue,13,i: 57,769,679 msg/sec OptimistAtomicQueue,14,s: 43,075,575 msg/sec OptimistAtomicQueue,14,i: 56,111,606 msg/sec OptimistAtomicQueue,15,s: 45,898,968 msg/sec OptimistAtomicQueue,15,i: 60,626,943 msg/sec OptimistAtomicQueue,16,s: 45,787,882 msg/sec OptimistAtomicQueue,16,i: 64,648,856 msg/sec AtomicQueueB, 1,s: 49,452,695 msg/sec AtomicQueueB, 1,i: 50,153,488 msg/sec AtomicQueueB, 2,s: 9,717,543 msg/sec AtomicQueueB, 2,i: 10,026,292 msg/sec AtomicQueueB, 3,s: 8,244,345 msg/sec AtomicQueueB, 3,i: 8,667,888 msg/sec AtomicQueueB, 4,s: 6,548,796 msg/sec AtomicQueueB, 4,i: 6,913,103 msg/sec AtomicQueueB, 5,s: 3,115,268 msg/sec AtomicQueueB, 5,i: 4,309,469 msg/sec AtomicQueueB, 6,s: 2,569,718 msg/sec AtomicQueueB, 6,i: 3,965,098 msg/sec AtomicQueueB, 7,s: 2,917,284 msg/sec AtomicQueueB, 7,i: 3,181,836 msg/sec AtomicQueueB, 8,s: 3,059,607 msg/sec AtomicQueueB, 8,i: 2,863,233 msg/sec AtomicQueueB, 9,s: 2,713,033 msg/sec AtomicQueueB, 9,i: 2,869,693 msg/sec AtomicQueueB,10,s: 2,787,421 msg/sec AtomicQueueB,10,i: 2,879,016 msg/sec AtomicQueueB,11,s: 2,747,996 msg/sec AtomicQueueB,11,i: 2,916,288 msg/sec AtomicQueueB,12,s: 2,659,218 msg/sec AtomicQueueB,12,i: 2,853,944 msg/sec AtomicQueueB,13,s: 2,523,846 msg/sec AtomicQueueB,13,i: 2,804,729 msg/sec AtomicQueueB,14,s: 2,385,661 msg/sec AtomicQueueB,14,i: 2,763,647 msg/sec AtomicQueueB,15,s: 2,379,121 msg/sec AtomicQueueB,15,i: 2,823,772 msg/sec AtomicQueueB,16,s: 2,280,870 msg/sec AtomicQueueB,16,i: 2,733,805 msg/sec OptimistAtomicQueueB, 1,s: 520,444,000 msg/sec OptimistAtomicQueueB, 1,i: 505,284,084 msg/sec OptimistAtomicQueueB, 2,s: 51,551,632 msg/sec OptimistAtomicQueueB, 2,i: 48,914,636 msg/sec OptimistAtomicQueueB, 3,s: 58,638,407 msg/sec OptimistAtomicQueueB, 3,i: 57,337,484 msg/sec OptimistAtomicQueueB, 4,s: 59,492,079 msg/sec OptimistAtomicQueueB, 4,i: 64,657,550 msg/sec OptimistAtomicQueueB, 5,s: 33,101,210 msg/sec OptimistAtomicQueueB, 5,i: 37,863,797 msg/sec OptimistAtomicQueueB, 6,s: 34,380,803 msg/sec OptimistAtomicQueueB, 6,i: 34,914,260 msg/sec OptimistAtomicQueueB, 7,s: 39,267,850 msg/sec OptimistAtomicQueueB, 7,i: 39,910,983 msg/sec OptimistAtomicQueueB, 8,s: 51,460,667 msg/sec OptimistAtomicQueueB, 8,i: 41,242,705 msg/sec OptimistAtomicQueueB, 9,s: 40,705,248 msg/sec OptimistAtomicQueueB, 9,i: 45,133,516 msg/sec OptimistAtomicQueueB,10,s: 39,990,528 msg/sec OptimistAtomicQueueB,10,i: 46,970,816 msg/sec OptimistAtomicQueueB,11,s: 44,310,030 msg/sec OptimistAtomicQueueB,11,i: 52,462,933 msg/sec OptimistAtomicQueueB,12,s: 43,862,187 msg/sec OptimistAtomicQueueB,12,i: 57,053,300 msg/sec OptimistAtomicQueueB,13,s: 43,726,979 msg/sec OptimistAtomicQueueB,13,i: 55,946,009 msg/sec OptimistAtomicQueueB,14,s: 43,528,867 msg/sec OptimistAtomicQueueB,14,i: 55,850,532 msg/sec OptimistAtomicQueueB,15,s: 46,147,202 msg/sec OptimistAtomicQueueB,15,i: 60,450,227 msg/sec OptimistAtomicQueueB,16,s: 46,141,755 msg/sec OptimistAtomicQueueB,16,i: 64,901,310 msg/sec AtomicQueue2, 1,s: 132,411,415 msg/sec AtomicQueue2, 1,i: 134,824,442 msg/sec AtomicQueue2, 2,s: 9,948,496 msg/sec AtomicQueue2, 2,i: 10,539,701 msg/sec AtomicQueue2, 3,s: 8,420,223 msg/sec AtomicQueue2, 3,i: 8,881,956 msg/sec AtomicQueue2, 4,s: 6,678,174 msg/sec AtomicQueue2, 4,i: 7,085,845 msg/sec AtomicQueue2, 5,s: 3,129,908 msg/sec AtomicQueue2, 5,i: 3,713,048 msg/sec AtomicQueue2, 6,s: 2,565,164 msg/sec AtomicQueue2, 6,i: 3,490,144 msg/sec AtomicQueue2, 7,s: 2,896,405 msg/sec AtomicQueue2, 7,i: 3,206,626 msg/sec AtomicQueue2, 8,s: 3,011,941 msg/sec AtomicQueue2, 8,i: 2,884,716 msg/sec AtomicQueue2, 9,s: 2,809,348 msg/sec AtomicQueue2, 9,i: 2,902,068 msg/sec AtomicQueue2,10,s: 2,775,577 msg/sec AtomicQueue2,10,i: 2,913,721 msg/sec AtomicQueue2,11,s: 2,749,143 msg/sec AtomicQueue2,11,i: 2,915,917 msg/sec AtomicQueue2,12,s: 2,750,188 msg/sec AtomicQueue2,12,i: 2,840,467 msg/sec AtomicQueue2,13,s: 2,542,749 msg/sec AtomicQueue2,13,i: 2,790,634 msg/sec AtomicQueue2,14,s: 2,390,111 msg/sec AtomicQueue2,14,i: 2,749,948 msg/sec AtomicQueue2,15,s: 2,387,449 msg/sec AtomicQueue2,15,i: 2,747,836 msg/sec AtomicQueue2,16,s: 2,283,970 msg/sec AtomicQueue2,16,i: 2,712,514 msg/sec OptimistAtomicQueue2, 1,s: 107,459,748 msg/sec OptimistAtomicQueue2, 1,i: 106,752,430 msg/sec OptimistAtomicQueue2, 2,s: 43,338,212 msg/sec OptimistAtomicQueue2, 2,i: 47,382,585 msg/sec OptimistAtomicQueue2, 3,s: 54,097,635 msg/sec OptimistAtomicQueue2, 3,i: 49,962,352 msg/sec OptimistAtomicQueue2, 4,s: 59,292,467 msg/sec OptimistAtomicQueue2, 4,i: 58,044,104 msg/sec OptimistAtomicQueue2, 5,s: 31,492,113 msg/sec OptimistAtomicQueue2, 5,i: 32,499,832 msg/sec OptimistAtomicQueue2, 6,s: 32,911,333 msg/sec OptimistAtomicQueue2, 6,i: 32,132,780 msg/sec OptimistAtomicQueue2, 7,s: 37,755,566 msg/sec OptimistAtomicQueue2, 7,i: 37,674,022 msg/sec OptimistAtomicQueue2, 8,s: 49,029,245 msg/sec OptimistAtomicQueue2, 8,i: 39,835,736 msg/sec OptimistAtomicQueue2, 9,s: 37,579,245 msg/sec OptimistAtomicQueue2, 9,i: 42,398,316 msg/sec OptimistAtomicQueue2,10,s: 37,605,299 msg/sec OptimistAtomicQueue2,10,i: 44,189,329 msg/sec OptimistAtomicQueue2,11,s: 43,010,479 msg/sec OptimistAtomicQueue2,11,i: 48,061,949 msg/sec OptimistAtomicQueue2,12,s: 42,124,371 msg/sec OptimistAtomicQueue2,12,i: 53,134,783 msg/sec OptimistAtomicQueue2,13,s: 41,005,393 msg/sec OptimistAtomicQueue2,13,i: 52,199,546 msg/sec OptimistAtomicQueue2,14,s: 40,826,560 msg/sec OptimistAtomicQueue2,14,i: 53,347,719 msg/sec OptimistAtomicQueue2,15,s: 43,199,833 msg/sec OptimistAtomicQueue2,15,i: 56,044,977 msg/sec OptimistAtomicQueue2,16,s: 43,413,054 msg/sec OptimistAtomicQueue2,16,i: 59,037,047 msg/sec AtomicQueueB2, 1,s: 73,678,932 msg/sec AtomicQueueB2, 1,i: 49,792,046 msg/sec AtomicQueueB2, 2,s: 9,837,148 msg/sec AtomicQueueB2, 2,i: 10,419,955 msg/sec AtomicQueueB2, 3,s: 8,325,023 msg/sec AtomicQueueB2, 3,i: 8,837,894 msg/sec AtomicQueueB2, 4,s: 6,617,172 msg/sec AtomicQueueB2, 4,i: 6,969,522 msg/sec AtomicQueueB2, 5,s: 3,090,368 msg/sec AtomicQueueB2, 5,i: 4,333,803 msg/sec AtomicQueueB2, 6,s: 2,548,822 msg/sec AtomicQueueB2, 6,i: 3,983,658 msg/sec AtomicQueueB2, 7,s: 2,896,685 msg/sec AtomicQueueB2, 7,i: 3,258,948 msg/sec AtomicQueueB2, 8,s: 3,009,038 msg/sec AtomicQueueB2, 8,i: 2,863,457 msg/sec AtomicQueueB2, 9,s: 2,714,677 msg/sec AtomicQueueB2, 9,i: 2,861,260 msg/sec AtomicQueueB2,10,s: 2,748,712 msg/sec AtomicQueueB2,10,i: 2,844,987 msg/sec AtomicQueueB2,11,s: 2,813,261 msg/sec AtomicQueueB2,11,i: 2,910,745 msg/sec AtomicQueueB2,12,s: 2,772,078 msg/sec AtomicQueueB2,12,i: 2,841,944 msg/sec AtomicQueueB2,13,s: 2,605,440 msg/sec AtomicQueueB2,13,i: 2,832,315 msg/sec AtomicQueueB2,14,s: 2,462,461 msg/sec AtomicQueueB2,14,i: 2,785,752 msg/sec AtomicQueueB2,15,s: 2,422,260 msg/sec AtomicQueueB2,15,i: 2,746,674 msg/sec AtomicQueueB2,16,s: 2,302,842 msg/sec AtomicQueueB2,16,i: 2,746,980 msg/sec OptimistAtomicQueueB2, 1,s: 154,925,156 msg/sec OptimistAtomicQueueB2, 1,i: 153,114,326 msg/sec OptimistAtomicQueueB2, 2,s: 41,994,901 msg/sec OptimistAtomicQueueB2, 2,i: 45,807,135 msg/sec OptimistAtomicQueueB2, 3,s: 56,858,424 msg/sec OptimistAtomicQueueB2, 3,i: 53,142,794 msg/sec OptimistAtomicQueueB2, 4,s: 58,987,841 msg/sec OptimistAtomicQueueB2, 4,i: 59,866,032 msg/sec OptimistAtomicQueueB2, 5,s: 31,343,847 msg/sec OptimistAtomicQueueB2, 5,i: 31,514,472 msg/sec OptimistAtomicQueueB2, 6,s: 32,913,315 msg/sec OptimistAtomicQueueB2, 6,i: 32,355,586 msg/sec OptimistAtomicQueueB2, 7,s: 37,032,561 msg/sec OptimistAtomicQueueB2, 7,i: 36,985,870 msg/sec OptimistAtomicQueueB2, 8,s: 47,964,190 msg/sec OptimistAtomicQueueB2, 8,i: 39,015,858 msg/sec OptimistAtomicQueueB2, 9,s: 36,970,712 msg/sec OptimistAtomicQueueB2, 9,i: 41,597,518 msg/sec OptimistAtomicQueueB2,10,s: 37,290,251 msg/sec OptimistAtomicQueueB2,10,i: 44,352,212 msg/sec OptimistAtomicQueueB2,11,s: 42,493,074 msg/sec OptimistAtomicQueueB2,11,i: 46,945,422 msg/sec OptimistAtomicQueueB2,12,s: 41,768,339 msg/sec OptimistAtomicQueueB2,12,i: 49,971,514 msg/sec OptimistAtomicQueueB2,13,s: 41,018,680 msg/sec OptimistAtomicQueueB2,13,i: 51,904,155 msg/sec OptimistAtomicQueueB2,14,s: 40,760,281 msg/sec OptimistAtomicQueueB2,14,i: 52,428,123 msg/sec OptimistAtomicQueueB2,15,s: 42,994,010 msg/sec OptimistAtomicQueueB2,15,i: 56,393,959 msg/sec OptimistAtomicQueueB2,16,s: 43,192,714 msg/sec OptimistAtomicQueueB2,16,i: 59,148,682 msg/sec moodycamel::ReaderWriterQueue, 1,s: 250,282,296 msg/sec moodycamel::ReaderWriterQueue, 1,i: 79,263,499 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,092,773 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,787,172 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,618,588 msg/sec moodycamel::ConcurrentQueue, 2,i: 35,997,983 msg/sec moodycamel::ConcurrentQueue, 3,s: 55,674,042 msg/sec moodycamel::ConcurrentQueue, 3,i: 56,745,115 msg/sec moodycamel::ConcurrentQueue, 4,s: 108,962,449 msg/sec moodycamel::ConcurrentQueue, 4,i: 99,239,050 msg/sec moodycamel::ConcurrentQueue, 5,s: 144,335,418 msg/sec moodycamel::ConcurrentQueue, 5,i: 185,472,690 msg/sec moodycamel::ConcurrentQueue, 6,s: 188,594,156 msg/sec moodycamel::ConcurrentQueue, 6,i: 217,285,392 msg/sec moodycamel::ConcurrentQueue, 7,s: 234,522,936 msg/sec moodycamel::ConcurrentQueue, 7,i: 231,650,206 msg/sec moodycamel::ConcurrentQueue, 8,s: 269,386,662 msg/sec moodycamel::ConcurrentQueue, 8,i: 229,687,138 msg/sec moodycamel::ConcurrentQueue, 9,s: 255,181,515 msg/sec moodycamel::ConcurrentQueue, 9,i: 295,180,450 msg/sec moodycamel::ConcurrentQueue,10,s: 291,943,161 msg/sec moodycamel::ConcurrentQueue,10,i: 270,013,646 msg/sec moodycamel::ConcurrentQueue,11,s: 238,915,447 msg/sec moodycamel::ConcurrentQueue,11,i: 259,533,051 msg/sec moodycamel::ConcurrentQueue,12,s: 162,722,037 msg/sec moodycamel::ConcurrentQueue,12,i: 180,021,879 msg/sec moodycamel::ConcurrentQueue,13,s: 235,751,721 msg/sec moodycamel::ConcurrentQueue,13,i: 273,251,382 msg/sec moodycamel::ConcurrentQueue,14,s: 338,895,760 msg/sec moodycamel::ConcurrentQueue,14,i: 353,317,696 msg/sec moodycamel::ConcurrentQueue,15,s: 447,428,019 msg/sec moodycamel::ConcurrentQueue,15,i: 436,322,162 msg/sec moodycamel::ConcurrentQueue,16,s: 526,510,617 msg/sec moodycamel::ConcurrentQueue,16,i: 498,600,438 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,808,883 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,796,102 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,119,316 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,102,267 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,968,377 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,076,180 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,414,284 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,624,818 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,080,535 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,117,619 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,789,641 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,412,403 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,658,713 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,154,097 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,780,839 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,806,148 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,651,331 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,900,033 msg/sec tbb::concurrent_bounded_queue,10,s: 2,750,865 msg/sec tbb::concurrent_bounded_queue,10,i: 2,962,685 msg/sec tbb::concurrent_bounded_queue,11,s: 2,656,488 msg/sec tbb::concurrent_bounded_queue,11,i: 2,817,719 msg/sec tbb::concurrent_bounded_queue,12,s: 2,555,129 msg/sec tbb::concurrent_bounded_queue,12,i: 2,720,559 msg/sec tbb::concurrent_bounded_queue,13,s: 2,489,029 msg/sec tbb::concurrent_bounded_queue,13,i: 2,799,981 msg/sec tbb::concurrent_bounded_queue,14,s: 2,388,347 msg/sec tbb::concurrent_bounded_queue,14,i: 2,763,406 msg/sec tbb::concurrent_bounded_queue,15,s: 2,342,172 msg/sec tbb::concurrent_bounded_queue,15,i: 2,654,971 msg/sec tbb::concurrent_bounded_queue,16,s: 2,263,211 msg/sec tbb::concurrent_bounded_queue,16,i: 2,533,549 msg/sec xenium::michael_scott_queue, 1,s: 13,434,573 msg/sec xenium::michael_scott_queue, 1,i: 13,719,333 msg/sec xenium::michael_scott_queue, 2,s: 9,445,292 msg/sec xenium::michael_scott_queue, 2,i: 9,185,671 msg/sec xenium::michael_scott_queue, 3,s: 7,636,282 msg/sec xenium::michael_scott_queue, 3,i: 7,545,767 msg/sec xenium::michael_scott_queue, 4,s: 5,867,050 msg/sec xenium::michael_scott_queue, 4,i: 5,835,529 msg/sec xenium::michael_scott_queue, 5,s: 3,594,317 msg/sec xenium::michael_scott_queue, 5,i: 4,666,617 msg/sec xenium::michael_scott_queue, 6,s: 3,337,495 msg/sec xenium::michael_scott_queue, 6,i: 3,604,652 msg/sec xenium::michael_scott_queue, 7,s: 3,181,224 msg/sec xenium::michael_scott_queue, 7,i: 3,281,820 msg/sec xenium::michael_scott_queue, 8,s: 2,349,687 msg/sec xenium::michael_scott_queue, 8,i: 2,795,847 msg/sec xenium::michael_scott_queue, 9,s: 2,877,202 msg/sec xenium::michael_scott_queue, 9,i: 2,843,044 msg/sec xenium::michael_scott_queue,10,s: 2,824,793 msg/sec xenium::michael_scott_queue,10,i: 2,811,148 msg/sec xenium::michael_scott_queue,11,s: 2,728,961 msg/sec xenium::michael_scott_queue,11,i: 2,865,024 msg/sec xenium::michael_scott_queue,12,s: 2,578,078 msg/sec xenium::michael_scott_queue,12,i: 2,729,188 msg/sec xenium::michael_scott_queue,13,s: 2,502,975 msg/sec xenium::michael_scott_queue,13,i: 2,640,005 msg/sec xenium::michael_scott_queue,14,s: 2,410,436 msg/sec xenium::michael_scott_queue,14,i: 2,621,644 msg/sec xenium::michael_scott_queue,15,s: 2,325,426 msg/sec xenium::michael_scott_queue,15,i: 2,597,723 msg/sec xenium::michael_scott_queue,16,s: 2,206,308 msg/sec xenium::michael_scott_queue,16,i: 2,496,989 msg/sec xenium::ramalhete_queue, 1,s: 70,215,981 msg/sec xenium::ramalhete_queue, 1,i: 23,355,071 msg/sec xenium::ramalhete_queue, 2,s: 40,998,866 msg/sec xenium::ramalhete_queue, 2,i: 36,559,454 msg/sec xenium::ramalhete_queue, 3,s: 43,557,569 msg/sec xenium::ramalhete_queue, 3,i: 43,025,679 msg/sec xenium::ramalhete_queue, 4,s: 52,479,533 msg/sec xenium::ramalhete_queue, 4,i: 51,937,875 msg/sec xenium::ramalhete_queue, 5,s: 37,645,007 msg/sec xenium::ramalhete_queue, 5,i: 24,041,774 msg/sec xenium::ramalhete_queue, 6,s: 39,032,916 msg/sec xenium::ramalhete_queue, 6,i: 27,471,343 msg/sec xenium::ramalhete_queue, 7,s: 40,573,690 msg/sec xenium::ramalhete_queue, 7,i: 29,599,019 msg/sec xenium::ramalhete_queue, 8,s: 50,315,238 msg/sec xenium::ramalhete_queue, 8,i: 30,531,652 msg/sec xenium::ramalhete_queue, 9,s: 33,262,485 msg/sec xenium::ramalhete_queue, 9,i: 36,306,681 msg/sec xenium::ramalhete_queue,10,s: 35,360,104 msg/sec xenium::ramalhete_queue,10,i: 40,567,669 msg/sec xenium::ramalhete_queue,11,s: 37,479,970 msg/sec xenium::ramalhete_queue,11,i: 41,753,634 msg/sec xenium::ramalhete_queue,12,s: 39,103,405 msg/sec xenium::ramalhete_queue,12,i: 41,079,326 msg/sec xenium::ramalhete_queue,13,s: 39,518,164 msg/sec xenium::ramalhete_queue,13,i: 42,532,430 msg/sec xenium::ramalhete_queue,14,s: 39,785,719 msg/sec xenium::ramalhete_queue,14,i: 42,747,564 msg/sec xenium::ramalhete_queue,15,s: 39,763,959 msg/sec xenium::ramalhete_queue,15,i: 43,741,476 msg/sec xenium::ramalhete_queue,16,s: 39,623,050 msg/sec xenium::ramalhete_queue,16,i: 44,523,236 msg/sec xenium::vyukov_bounded_queue, 1,s: 310,106,376 msg/sec xenium::vyukov_bounded_queue, 1,i: 302,250,172 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,399,852 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,493,993 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,734,903 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,109,388 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,581,730 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,543,877 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,038,668 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,443,253 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,073,090 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,850,475 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,291,063 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,391,115 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,519,637 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,567,586 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,018,145 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,697,174 msg/sec xenium::vyukov_bounded_queue,10,s: 7,675,749 msg/sec xenium::vyukov_bounded_queue,10,i: 6,858,182 msg/sec xenium::vyukov_bounded_queue,11,s: 7,455,521 msg/sec xenium::vyukov_bounded_queue,11,i: 7,211,328 msg/sec xenium::vyukov_bounded_queue,12,s: 7,690,593 msg/sec xenium::vyukov_bounded_queue,12,i: 7,402,891 msg/sec xenium::vyukov_bounded_queue,13,s: 7,039,226 msg/sec xenium::vyukov_bounded_queue,13,i: 7,347,738 msg/sec xenium::vyukov_bounded_queue,14,s: 7,039,087 msg/sec xenium::vyukov_bounded_queue,14,i: 7,523,979 msg/sec xenium::vyukov_bounded_queue,15,s: 7,091,580 msg/sec xenium::vyukov_bounded_queue,15,i: 7,259,678 msg/sec xenium::vyukov_bounded_queue,16,s: 6,885,467 msg/sec xenium::vyukov_bounded_queue,16,i: 7,055,205 msg/sec boost::lockfree::queue, 1,s: 7,814,127 msg/sec boost::lockfree::queue, 1,i: 7,816,826 msg/sec boost::lockfree::queue, 2,s: 5,838,195 msg/sec boost::lockfree::queue, 2,i: 5,912,687 msg/sec boost::lockfree::queue, 3,s: 4,936,824 msg/sec boost::lockfree::queue, 3,i: 4,807,220 msg/sec boost::lockfree::queue, 4,s: 4,360,969 msg/sec boost::lockfree::queue, 4,i: 4,347,793 msg/sec boost::lockfree::queue, 5,s: 2,650,800 msg/sec boost::lockfree::queue, 5,i: 2,656,243 msg/sec boost::lockfree::queue, 6,s: 1,434,729 msg/sec boost::lockfree::queue, 6,i: 2,796,813 msg/sec boost::lockfree::queue, 7,s: 1,384,140 msg/sec boost::lockfree::queue, 7,i: 2,853,975 msg/sec boost::lockfree::queue, 8,s: 1,156,515 msg/sec boost::lockfree::queue, 8,i: 1,830,673 msg/sec boost::lockfree::queue, 9,s: 1,438,719 msg/sec boost::lockfree::queue, 9,i: 1,867,551 msg/sec boost::lockfree::queue,10,s: 1,522,041 msg/sec boost::lockfree::queue,10,i: 1,971,283 msg/sec boost::lockfree::queue,11,s: 1,706,768 msg/sec boost::lockfree::queue,11,i: 1,959,401 msg/sec boost::lockfree::queue,12,s: 1,855,870 msg/sec boost::lockfree::queue,12,i: 1,739,936 msg/sec boost::lockfree::queue,13,s: 1,610,742 msg/sec boost::lockfree::queue,13,i: 1,648,227 msg/sec boost::lockfree::queue,14,s: 1,544,984 msg/sec boost::lockfree::queue,14,i: 1,644,989 msg/sec boost::lockfree::queue,15,s: 1,561,183 msg/sec boost::lockfree::queue,15,i: 1,587,896 msg/sec boost::lockfree::queue,16,s: 1,516,106 msg/sec boost::lockfree::queue,16,i: 1,492,832 msg/sec std::mutex, 1,s: 6,010,466 msg/sec std::mutex, 1,i: 5,426,042 msg/sec std::mutex, 2,s: 12,390,672 msg/sec std::mutex, 2,i: 12,271,150 msg/sec std::mutex, 3,s: 7,139,772 msg/sec std::mutex, 3,i: 6,781,114 msg/sec std::mutex, 4,s: 7,038,722 msg/sec std::mutex, 4,i: 6,736,956 msg/sec std::mutex, 5,s: 3,371,931 msg/sec std::mutex, 5,i: 3,520,680 msg/sec std::mutex, 6,s: 3,047,211 msg/sec std::mutex, 6,i: 2,978,272 msg/sec std::mutex, 7,s: 3,312,644 msg/sec std::mutex, 7,i: 2,933,177 msg/sec std::mutex, 8,s: 3,416,784 msg/sec std::mutex, 8,i: 2,800,237 msg/sec std::mutex, 9,s: 2,833,109 msg/sec std::mutex, 9,i: 2,670,287 msg/sec std::mutex,10,s: 2,631,983 msg/sec std::mutex,10,i: 2,681,955 msg/sec std::mutex,11,s: 2,671,954 msg/sec std::mutex,11,i: 2,630,061 msg/sec std::mutex,12,s: 2,655,186 msg/sec std::mutex,12,i: 2,553,778 msg/sec std::mutex,13,s: 2,499,400 msg/sec std::mutex,13,i: 2,424,159 msg/sec std::mutex,14,s: 2,412,086 msg/sec std::mutex,14,i: 2,334,816 msg/sec std::mutex,15,s: 2,411,139 msg/sec std::mutex,15,i: 2,364,935 msg/sec std::mutex,16,s: 2,341,106 msg/sec std::mutex,16,i: 2,290,453 msg/sec pthread_spinlock, 1,s: 17,833,067 msg/sec pthread_spinlock, 1,i: 18,078,287 msg/sec pthread_spinlock, 2,s: 7,322,506 msg/sec pthread_spinlock, 2,i: 1,534,844 msg/sec pthread_spinlock, 3,s: 795,217 msg/sec pthread_spinlock, 3,i: 5,310,859 msg/sec pthread_spinlock, 4,s: 2,334,390 msg/sec pthread_spinlock, 4,i: 1,547,590 msg/sec pthread_spinlock, 5,s: 2,772,671 msg/sec pthread_spinlock, 5,i: 873,749 msg/sec pthread_spinlock, 6,s: 2,068,837 msg/sec pthread_spinlock, 6,i: 3,212,249 msg/sec pthread_spinlock, 7,s: 2,824,994 msg/sec pthread_spinlock, 7,i: 3,078,426 msg/sec pthread_spinlock, 8,s: 2,980,533 msg/sec pthread_spinlock, 8,i: 2,684,880 msg/sec pthread_spinlock, 9,s: 2,720,390 msg/sec pthread_spinlock, 9,i: 2,309,869 msg/sec pthread_spinlock,10,s: 2,769,178 msg/sec pthread_spinlock,10,i: 2,390,209 msg/sec pthread_spinlock,11,s: 2,533,869 msg/sec pthread_spinlock,11,i: 2,256,097 msg/sec pthread_spinlock,12,s: 2,554,520 msg/sec pthread_spinlock,12,i: 2,139,279 msg/sec pthread_spinlock,13,s: 2,447,982 msg/sec pthread_spinlock,13,i: 2,125,013 msg/sec pthread_spinlock,14,s: 2,205,447 msg/sec pthread_spinlock,14,i: 2,061,023 msg/sec pthread_spinlock,15,s: 2,004,229 msg/sec pthread_spinlock,15,i: 1,874,993 msg/sec pthread_spinlock,16,s: 1,807,793 msg/sec pthread_spinlock,16,i: 1,598,186 msg/sec tbb::spin_mutex, 1,s: 37,796,536 msg/sec tbb::spin_mutex, 1,i: 37,898,250 msg/sec tbb::spin_mutex, 2,s: 16,491,919 msg/sec tbb::spin_mutex, 2,i: 15,903,203 msg/sec tbb::spin_mutex, 3,s: 12,047,240 msg/sec tbb::spin_mutex, 3,i: 11,926,808 msg/sec tbb::spin_mutex, 4,s: 10,301,990 msg/sec tbb::spin_mutex, 4,i: 10,051,611 msg/sec tbb::spin_mutex, 5,s: 5,937,629 msg/sec tbb::spin_mutex, 5,i: 5,569,248 msg/sec tbb::spin_mutex, 6,s: 5,094,897 msg/sec tbb::spin_mutex, 6,i: 4,760,466 msg/sec tbb::spin_mutex, 7,s: 4,530,463 msg/sec tbb::spin_mutex, 7,i: 4,613,602 msg/sec tbb::spin_mutex, 8,s: 4,293,886 msg/sec tbb::spin_mutex, 8,i: 4,055,847 msg/sec tbb::spin_mutex, 9,s: 4,644,625 msg/sec tbb::spin_mutex, 9,i: 4,392,163 msg/sec tbb::spin_mutex,10,s: 4,479,389 msg/sec tbb::spin_mutex,10,i: 3,620,170 msg/sec tbb::spin_mutex,11,s: 4,257,491 msg/sec tbb::spin_mutex,11,i: 3,588,379 msg/sec tbb::spin_mutex,12,s: 3,753,301 msg/sec tbb::spin_mutex,12,i: 3,708,568 msg/sec tbb::spin_mutex,13,s: 3,567,095 msg/sec tbb::spin_mutex,13,i: 3,236,430 msg/sec tbb::spin_mutex,14,s: 3,391,673 msg/sec tbb::spin_mutex,14,i: 3,131,273 msg/sec tbb::spin_mutex,15,s: 3,193,096 msg/sec tbb::spin_mutex,15,i: 3,084,409 msg/sec tbb::spin_mutex,16,s: 2,899,273 msg/sec tbb::spin_mutex,16,i: 3,010,847 msg/sec Elapsed time 6:13.57, user 5629.54s, system 603.49s, CPU 1668%, RSS 95204kB, exit-status 0. 2026-09-14 13:46:43 [15/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000046 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000085 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000302 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,306,504 msg/sec boost::lockfree::spsc_queue, 1,i: 112,930,132 msg/sec AtomicQueue, 1,s: 145,069,717 msg/sec AtomicQueue, 1,i: 139,427,046 msg/sec AtomicQueue, 2,s: 9,902,432 msg/sec AtomicQueue, 2,i: 10,348,856 msg/sec AtomicQueue, 3,s: 8,341,395 msg/sec AtomicQueue, 3,i: 8,775,566 msg/sec AtomicQueue, 4,s: 6,603,050 msg/sec AtomicQueue, 4,i: 7,013,354 msg/sec AtomicQueue, 5,s: 3,176,908 msg/sec AtomicQueue, 5,i: 4,324,689 msg/sec AtomicQueue, 6,s: 2,601,062 msg/sec AtomicQueue, 6,i: 3,523,843 msg/sec AtomicQueue, 7,s: 2,963,760 msg/sec AtomicQueue, 7,i: 3,253,108 msg/sec AtomicQueue, 8,s: 3,117,745 msg/sec AtomicQueue, 8,i: 2,890,788 msg/sec AtomicQueue, 9,s: 2,790,185 msg/sec AtomicQueue, 9,i: 2,927,397 msg/sec AtomicQueue,10,s: 2,884,091 msg/sec AtomicQueue,10,i: 2,948,951 msg/sec AtomicQueue,11,s: 2,796,190 msg/sec AtomicQueue,11,i: 2,941,492 msg/sec AtomicQueue,12,s: 2,670,154 msg/sec AtomicQueue,12,i: 2,866,189 msg/sec AtomicQueue,13,s: 2,521,794 msg/sec AtomicQueue,13,i: 2,809,097 msg/sec AtomicQueue,14,s: 2,363,234 msg/sec AtomicQueue,14,i: 2,766,497 msg/sec AtomicQueue,15,s: 2,354,713 msg/sec AtomicQueue,15,i: 2,747,767 msg/sec AtomicQueue,16,s: 2,252,931 msg/sec AtomicQueue,16,i: 2,730,365 msg/sec OptimistAtomicQueue, 1,s: 1,190,466,937 msg/sec OptimistAtomicQueue, 1,i: 1,186,793,659 msg/sec OptimistAtomicQueue, 2,s: 53,183,442 msg/sec OptimistAtomicQueue, 2,i: 52,818,052 msg/sec OptimistAtomicQueue, 3,s: 58,751,057 msg/sec OptimistAtomicQueue, 3,i: 59,844,370 msg/sec OptimistAtomicQueue, 4,s: 59,178,398 msg/sec OptimistAtomicQueue, 4,i: 66,087,139 msg/sec OptimistAtomicQueue, 5,s: 33,276,297 msg/sec OptimistAtomicQueue, 5,i: 39,486,872 msg/sec OptimistAtomicQueue, 6,s: 34,515,414 msg/sec OptimistAtomicQueue, 6,i: 35,155,294 msg/sec OptimistAtomicQueue, 7,s: 40,259,080 msg/sec OptimistAtomicQueue, 7,i: 40,137,633 msg/sec OptimistAtomicQueue, 8,s: 50,554,233 msg/sec OptimistAtomicQueue, 8,i: 41,198,562 msg/sec OptimistAtomicQueue, 9,s: 41,252,290 msg/sec OptimistAtomicQueue, 9,i: 45,461,717 msg/sec OptimistAtomicQueue,10,s: 40,013,762 msg/sec OptimistAtomicQueue,10,i: 47,529,732 msg/sec OptimistAtomicQueue,11,s: 44,212,570 msg/sec OptimistAtomicQueue,11,i: 52,807,842 msg/sec OptimistAtomicQueue,12,s: 43,301,347 msg/sec OptimistAtomicQueue,12,i: 57,163,236 msg/sec OptimistAtomicQueue,13,s: 43,352,409 msg/sec OptimistAtomicQueue,13,i: 56,875,517 msg/sec OptimistAtomicQueue,14,s: 43,211,039 msg/sec OptimistAtomicQueue,14,i: 55,600,439 msg/sec OptimistAtomicQueue,15,s: 45,807,302 msg/sec OptimistAtomicQueue,15,i: 60,216,975 msg/sec OptimistAtomicQueue,16,s: 45,813,767 msg/sec OptimistAtomicQueue,16,i: 64,872,091 msg/sec AtomicQueueB, 1,s: 49,344,425 msg/sec AtomicQueueB, 1,i: 49,926,956 msg/sec AtomicQueueB, 2,s: 9,745,254 msg/sec AtomicQueueB, 2,i: 10,314,685 msg/sec AtomicQueueB, 3,s: 8,209,171 msg/sec AtomicQueueB, 3,i: 8,610,009 msg/sec AtomicQueueB, 4,s: 6,546,087 msg/sec AtomicQueueB, 4,i: 6,915,911 msg/sec AtomicQueueB, 5,s: 3,125,388 msg/sec AtomicQueueB, 5,i: 4,312,195 msg/sec AtomicQueueB, 6,s: 2,573,171 msg/sec AtomicQueueB, 6,i: 3,969,173 msg/sec AtomicQueueB, 7,s: 2,912,139 msg/sec AtomicQueueB, 7,i: 3,182,456 msg/sec AtomicQueueB, 8,s: 3,056,890 msg/sec AtomicQueueB, 8,i: 2,886,513 msg/sec AtomicQueueB, 9,s: 2,751,487 msg/sec AtomicQueueB, 9,i: 2,852,414 msg/sec AtomicQueueB,10,s: 2,774,399 msg/sec AtomicQueueB,10,i: 2,891,728 msg/sec AtomicQueueB,11,s: 2,739,505 msg/sec AtomicQueueB,11,i: 2,949,035 msg/sec AtomicQueueB,12,s: 2,659,879 msg/sec AtomicQueueB,12,i: 2,853,743 msg/sec AtomicQueueB,13,s: 2,521,574 msg/sec AtomicQueueB,13,i: 2,815,751 msg/sec AtomicQueueB,14,s: 2,391,471 msg/sec AtomicQueueB,14,i: 2,764,807 msg/sec AtomicQueueB,15,s: 2,373,628 msg/sec AtomicQueueB,15,i: 2,827,038 msg/sec AtomicQueueB,16,s: 2,274,943 msg/sec AtomicQueueB,16,i: 2,738,368 msg/sec OptimistAtomicQueueB, 1,s: 662,594,875 msg/sec OptimistAtomicQueueB, 1,i: 529,479,505 msg/sec OptimistAtomicQueueB, 2,s: 48,380,505 msg/sec OptimistAtomicQueueB, 2,i: 49,778,439 msg/sec OptimistAtomicQueueB, 3,s: 58,594,635 msg/sec OptimistAtomicQueueB, 3,i: 57,437,499 msg/sec OptimistAtomicQueueB, 4,s: 59,585,874 msg/sec OptimistAtomicQueueB, 4,i: 66,359,603 msg/sec OptimistAtomicQueueB, 5,s: 33,054,677 msg/sec OptimistAtomicQueueB, 5,i: 39,191,853 msg/sec OptimistAtomicQueueB, 6,s: 34,414,061 msg/sec OptimistAtomicQueueB, 6,i: 34,944,700 msg/sec OptimistAtomicQueueB, 7,s: 39,162,712 msg/sec OptimistAtomicQueueB, 7,i: 39,996,686 msg/sec OptimistAtomicQueueB, 8,s: 51,543,634 msg/sec OptimistAtomicQueueB, 8,i: 41,218,600 msg/sec OptimistAtomicQueueB, 9,s: 41,113,559 msg/sec OptimistAtomicQueueB, 9,i: 44,604,954 msg/sec OptimistAtomicQueueB,10,s: 40,069,637 msg/sec OptimistAtomicQueueB,10,i: 46,944,908 msg/sec OptimistAtomicQueueB,11,s: 44,216,969 msg/sec OptimistAtomicQueueB,11,i: 52,643,966 msg/sec OptimistAtomicQueueB,12,s: 43,860,091 msg/sec OptimistAtomicQueueB,12,i: 56,895,514 msg/sec OptimistAtomicQueueB,13,s: 43,722,429 msg/sec OptimistAtomicQueueB,13,i: 56,098,628 msg/sec OptimistAtomicQueueB,14,s: 43,408,509 msg/sec OptimistAtomicQueueB,14,i: 57,840,101 msg/sec OptimistAtomicQueueB,15,s: 46,241,796 msg/sec OptimistAtomicQueueB,15,i: 60,420,096 msg/sec OptimistAtomicQueueB,16,s: 46,106,291 msg/sec OptimistAtomicQueueB,16,i: 64,776,410 msg/sec AtomicQueue2, 1,s: 131,216,254 msg/sec AtomicQueue2, 1,i: 132,085,068 msg/sec AtomicQueue2, 2,s: 9,956,211 msg/sec AtomicQueue2, 2,i: 10,527,331 msg/sec AtomicQueue2, 3,s: 8,407,074 msg/sec AtomicQueue2, 3,i: 8,935,404 msg/sec AtomicQueue2, 4,s: 6,689,446 msg/sec AtomicQueue2, 4,i: 7,082,173 msg/sec AtomicQueue2, 5,s: 3,140,980 msg/sec AtomicQueue2, 5,i: 3,708,879 msg/sec AtomicQueue2, 6,s: 2,566,509 msg/sec AtomicQueue2, 6,i: 3,981,293 msg/sec AtomicQueue2, 7,s: 2,904,198 msg/sec AtomicQueue2, 7,i: 3,198,655 msg/sec AtomicQueue2, 8,s: 3,023,910 msg/sec AtomicQueue2, 8,i: 2,894,387 msg/sec AtomicQueue2, 9,s: 2,725,708 msg/sec AtomicQueue2, 9,i: 2,879,873 msg/sec AtomicQueue2,10,s: 2,777,347 msg/sec AtomicQueue2,10,i: 2,884,267 msg/sec AtomicQueue2,11,s: 2,740,018 msg/sec AtomicQueue2,11,i: 2,880,875 msg/sec AtomicQueue2,12,s: 2,694,215 msg/sec AtomicQueue2,12,i: 2,839,402 msg/sec AtomicQueue2,13,s: 2,556,052 msg/sec AtomicQueue2,13,i: 2,801,454 msg/sec AtomicQueue2,14,s: 2,391,216 msg/sec AtomicQueue2,14,i: 2,774,712 msg/sec AtomicQueue2,15,s: 2,388,127 msg/sec AtomicQueue2,15,i: 2,743,612 msg/sec AtomicQueue2,16,s: 2,286,759 msg/sec AtomicQueue2,16,i: 2,709,933 msg/sec OptimistAtomicQueue2, 1,s: 107,113,755 msg/sec OptimistAtomicQueue2, 1,i: 107,076,825 msg/sec OptimistAtomicQueue2, 2,s: 43,478,890 msg/sec OptimistAtomicQueue2, 2,i: 47,633,262 msg/sec OptimistAtomicQueue2, 3,s: 55,691,218 msg/sec OptimistAtomicQueue2, 3,i: 50,017,578 msg/sec OptimistAtomicQueue2, 4,s: 59,227,607 msg/sec OptimistAtomicQueue2, 4,i: 57,773,558 msg/sec OptimistAtomicQueue2, 5,s: 31,458,232 msg/sec OptimistAtomicQueue2, 5,i: 32,738,468 msg/sec OptimistAtomicQueue2, 6,s: 32,966,252 msg/sec OptimistAtomicQueue2, 6,i: 32,535,646 msg/sec OptimistAtomicQueue2, 7,s: 37,712,112 msg/sec OptimistAtomicQueue2, 7,i: 37,663,863 msg/sec OptimistAtomicQueue2, 8,s: 49,034,775 msg/sec OptimistAtomicQueue2, 8,i: 39,817,273 msg/sec OptimistAtomicQueue2, 9,s: 37,479,361 msg/sec OptimistAtomicQueue2, 9,i: 42,551,100 msg/sec OptimistAtomicQueue2,10,s: 37,550,906 msg/sec OptimistAtomicQueue2,10,i: 44,032,233 msg/sec OptimistAtomicQueue2,11,s: 43,056,256 msg/sec OptimistAtomicQueue2,11,i: 48,845,838 msg/sec OptimistAtomicQueue2,12,s: 42,082,891 msg/sec OptimistAtomicQueue2,12,i: 51,918,525 msg/sec OptimistAtomicQueue2,13,s: 41,160,699 msg/sec OptimistAtomicQueue2,13,i: 52,434,293 msg/sec OptimistAtomicQueue2,14,s: 40,763,704 msg/sec OptimistAtomicQueue2,14,i: 53,439,229 msg/sec OptimistAtomicQueue2,15,s: 43,213,759 msg/sec OptimistAtomicQueue2,15,i: 55,864,267 msg/sec OptimistAtomicQueue2,16,s: 43,409,285 msg/sec OptimistAtomicQueue2,16,i: 59,077,259 msg/sec AtomicQueueB2, 1,s: 71,607,027 msg/sec AtomicQueueB2, 1,i: 71,766,486 msg/sec AtomicQueueB2, 2,s: 9,833,913 msg/sec AtomicQueueB2, 2,i: 10,421,363 msg/sec AtomicQueueB2, 3,s: 8,310,817 msg/sec AtomicQueueB2, 3,i: 8,809,252 msg/sec AtomicQueueB2, 4,s: 6,614,476 msg/sec AtomicQueueB2, 4,i: 6,965,120 msg/sec AtomicQueueB2, 5,s: 3,070,647 msg/sec AtomicQueueB2, 5,i: 4,324,961 msg/sec AtomicQueueB2, 6,s: 2,548,338 msg/sec AtomicQueueB2, 6,i: 3,433,906 msg/sec AtomicQueueB2, 7,s: 2,894,444 msg/sec AtomicQueueB2, 7,i: 3,165,695 msg/sec AtomicQueueB2, 8,s: 3,008,477 msg/sec AtomicQueueB2, 8,i: 2,845,938 msg/sec AtomicQueueB2, 9,s: 2,728,281 msg/sec AtomicQueueB2, 9,i: 2,882,310 msg/sec AtomicQueueB2,10,s: 2,745,823 msg/sec AtomicQueueB2,10,i: 2,846,007 msg/sec AtomicQueueB2,11,s: 2,817,353 msg/sec AtomicQueueB2,11,i: 2,918,403 msg/sec AtomicQueueB2,12,s: 2,755,711 msg/sec AtomicQueueB2,12,i: 2,858,115 msg/sec AtomicQueueB2,13,s: 2,614,097 msg/sec AtomicQueueB2,13,i: 2,830,933 msg/sec AtomicQueueB2,14,s: 2,482,393 msg/sec AtomicQueueB2,14,i: 2,798,770 msg/sec AtomicQueueB2,15,s: 2,418,238 msg/sec AtomicQueueB2,15,i: 2,817,251 msg/sec AtomicQueueB2,16,s: 2,300,086 msg/sec AtomicQueueB2,16,i: 2,744,059 msg/sec OptimistAtomicQueueB2, 1,s: 152,112,162 msg/sec OptimistAtomicQueueB2, 1,i: 150,895,911 msg/sec OptimistAtomicQueueB2, 2,s: 42,168,014 msg/sec OptimistAtomicQueueB2, 2,i: 45,853,133 msg/sec OptimistAtomicQueueB2, 3,s: 56,837,322 msg/sec OptimistAtomicQueueB2, 3,i: 53,167,121 msg/sec OptimistAtomicQueueB2, 4,s: 58,963,668 msg/sec OptimistAtomicQueueB2, 4,i: 59,933,197 msg/sec OptimistAtomicQueueB2, 5,s: 31,366,793 msg/sec OptimistAtomicQueueB2, 5,i: 31,424,849 msg/sec OptimistAtomicQueueB2, 6,s: 33,020,788 msg/sec OptimistAtomicQueueB2, 6,i: 32,310,237 msg/sec OptimistAtomicQueueB2, 7,s: 37,233,522 msg/sec OptimistAtomicQueueB2, 7,i: 37,070,037 msg/sec OptimistAtomicQueueB2, 8,s: 48,012,964 msg/sec OptimistAtomicQueueB2, 8,i: 38,975,364 msg/sec OptimistAtomicQueueB2, 9,s: 37,208,424 msg/sec OptimistAtomicQueueB2, 9,i: 41,174,465 msg/sec OptimistAtomicQueueB2,10,s: 37,329,073 msg/sec OptimistAtomicQueueB2,10,i: 42,673,794 msg/sec OptimistAtomicQueueB2,11,s: 42,425,022 msg/sec OptimistAtomicQueueB2,11,i: 46,350,648 msg/sec OptimistAtomicQueueB2,12,s: 41,694,536 msg/sec OptimistAtomicQueueB2,12,i: 51,229,250 msg/sec OptimistAtomicQueueB2,13,s: 40,821,606 msg/sec OptimistAtomicQueueB2,13,i: 51,995,613 msg/sec OptimistAtomicQueueB2,14,s: 40,732,075 msg/sec OptimistAtomicQueueB2,14,i: 52,152,302 msg/sec OptimistAtomicQueueB2,15,s: 43,054,446 msg/sec OptimistAtomicQueueB2,15,i: 56,621,364 msg/sec OptimistAtomicQueueB2,16,s: 43,266,885 msg/sec OptimistAtomicQueueB2,16,i: 59,158,094 msg/sec moodycamel::ReaderWriterQueue, 1,s: 207,789,378 msg/sec moodycamel::ReaderWriterQueue, 1,i: 247,886,932 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,098,685 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,185,204 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,488,475 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,479,809 msg/sec moodycamel::ConcurrentQueue, 3,s: 62,482,619 msg/sec moodycamel::ConcurrentQueue, 3,i: 58,304,868 msg/sec moodycamel::ConcurrentQueue, 4,s: 101,295,835 msg/sec moodycamel::ConcurrentQueue, 4,i: 84,810,661 msg/sec moodycamel::ConcurrentQueue, 5,s: 79,239,947 msg/sec moodycamel::ConcurrentQueue, 5,i: 184,821,401 msg/sec moodycamel::ConcurrentQueue, 6,s: 185,360,644 msg/sec moodycamel::ConcurrentQueue, 6,i: 221,948,235 msg/sec moodycamel::ConcurrentQueue, 7,s: 234,812,037 msg/sec moodycamel::ConcurrentQueue, 7,i: 229,230,989 msg/sec moodycamel::ConcurrentQueue, 8,s: 265,051,999 msg/sec moodycamel::ConcurrentQueue, 8,i: 252,968,615 msg/sec moodycamel::ConcurrentQueue, 9,s: 269,878,085 msg/sec moodycamel::ConcurrentQueue, 9,i: 246,676,996 msg/sec moodycamel::ConcurrentQueue,10,s: 280,493,863 msg/sec moodycamel::ConcurrentQueue,10,i: 210,092,110 msg/sec moodycamel::ConcurrentQueue,11,s: 183,302,498 msg/sec moodycamel::ConcurrentQueue,11,i: 245,720,435 msg/sec moodycamel::ConcurrentQueue,12,s: 147,891,650 msg/sec moodycamel::ConcurrentQueue,12,i: 274,607,652 msg/sec moodycamel::ConcurrentQueue,13,s: 196,509,336 msg/sec moodycamel::ConcurrentQueue,13,i: 267,497,644 msg/sec moodycamel::ConcurrentQueue,14,s: 321,187,693 msg/sec moodycamel::ConcurrentQueue,14,i: 370,658,876 msg/sec moodycamel::ConcurrentQueue,15,s: 492,537,292 msg/sec moodycamel::ConcurrentQueue,15,i: 425,381,210 msg/sec moodycamel::ConcurrentQueue,16,s: 548,694,112 msg/sec moodycamel::ConcurrentQueue,16,i: 508,314,750 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,821,784 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,836,021 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,132,179 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,144,543 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,973,732 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,067,872 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,416,323 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,632,594 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,064,890 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,124,711 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,792,782 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,725,330 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,661,779 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,152,092 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,783,339 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,798,446 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,646,886 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,850,062 msg/sec tbb::concurrent_bounded_queue,10,s: 2,774,182 msg/sec tbb::concurrent_bounded_queue,10,i: 2,985,027 msg/sec tbb::concurrent_bounded_queue,11,s: 2,656,075 msg/sec tbb::concurrent_bounded_queue,11,i: 2,984,407 msg/sec tbb::concurrent_bounded_queue,12,s: 2,568,412 msg/sec tbb::concurrent_bounded_queue,12,i: 2,724,665 msg/sec tbb::concurrent_bounded_queue,13,s: 2,484,399 msg/sec tbb::concurrent_bounded_queue,13,i: 2,775,405 msg/sec tbb::concurrent_bounded_queue,14,s: 2,382,476 msg/sec tbb::concurrent_bounded_queue,14,i: 2,700,759 msg/sec tbb::concurrent_bounded_queue,15,s: 2,349,072 msg/sec tbb::concurrent_bounded_queue,15,i: 2,603,919 msg/sec tbb::concurrent_bounded_queue,16,s: 2,263,734 msg/sec tbb::concurrent_bounded_queue,16,i: 2,533,314 msg/sec xenium::michael_scott_queue, 1,s: 13,414,752 msg/sec xenium::michael_scott_queue, 1,i: 13,800,311 msg/sec xenium::michael_scott_queue, 2,s: 9,397,003 msg/sec xenium::michael_scott_queue, 2,i: 9,194,886 msg/sec xenium::michael_scott_queue, 3,s: 7,647,845 msg/sec xenium::michael_scott_queue, 3,i: 7,544,741 msg/sec xenium::michael_scott_queue, 4,s: 5,894,395 msg/sec xenium::michael_scott_queue, 4,i: 5,835,810 msg/sec xenium::michael_scott_queue, 5,s: 3,631,448 msg/sec xenium::michael_scott_queue, 5,i: 4,656,578 msg/sec xenium::michael_scott_queue, 6,s: 3,316,593 msg/sec xenium::michael_scott_queue, 6,i: 3,934,514 msg/sec xenium::michael_scott_queue, 7,s: 3,174,335 msg/sec xenium::michael_scott_queue, 7,i: 3,170,137 msg/sec xenium::michael_scott_queue, 8,s: 2,349,104 msg/sec xenium::michael_scott_queue, 8,i: 2,790,542 msg/sec xenium::michael_scott_queue, 9,s: 2,919,151 msg/sec xenium::michael_scott_queue, 9,i: 2,831,538 msg/sec xenium::michael_scott_queue,10,s: 2,826,075 msg/sec xenium::michael_scott_queue,10,i: 2,805,620 msg/sec xenium::michael_scott_queue,11,s: 2,741,003 msg/sec xenium::michael_scott_queue,11,i: 2,867,761 msg/sec xenium::michael_scott_queue,12,s: 2,598,498 msg/sec xenium::michael_scott_queue,12,i: 2,731,529 msg/sec xenium::michael_scott_queue,13,s: 2,536,719 msg/sec xenium::michael_scott_queue,13,i: 2,655,269 msg/sec xenium::michael_scott_queue,14,s: 2,417,851 msg/sec xenium::michael_scott_queue,14,i: 2,635,426 msg/sec xenium::michael_scott_queue,15,s: 2,330,392 msg/sec xenium::michael_scott_queue,15,i: 2,605,767 msg/sec xenium::michael_scott_queue,16,s: 2,212,863 msg/sec xenium::michael_scott_queue,16,i: 2,514,109 msg/sec xenium::ramalhete_queue, 1,s: 72,204,965 msg/sec xenium::ramalhete_queue, 1,i: 68,953,986 msg/sec xenium::ramalhete_queue, 2,s: 45,649,369 msg/sec xenium::ramalhete_queue, 2,i: 37,363,759 msg/sec xenium::ramalhete_queue, 3,s: 44,852,860 msg/sec xenium::ramalhete_queue, 3,i: 44,157,203 msg/sec xenium::ramalhete_queue, 4,s: 49,046,029 msg/sec xenium::ramalhete_queue, 4,i: 51,601,002 msg/sec xenium::ramalhete_queue, 5,s: 37,541,363 msg/sec xenium::ramalhete_queue, 5,i: 23,684,257 msg/sec xenium::ramalhete_queue, 6,s: 39,033,784 msg/sec xenium::ramalhete_queue, 6,i: 26,630,722 msg/sec xenium::ramalhete_queue, 7,s: 40,535,749 msg/sec xenium::ramalhete_queue, 7,i: 29,216,036 msg/sec xenium::ramalhete_queue, 8,s: 51,038,239 msg/sec xenium::ramalhete_queue, 8,i: 30,617,352 msg/sec xenium::ramalhete_queue, 9,s: 33,126,157 msg/sec xenium::ramalhete_queue, 9,i: 35,868,549 msg/sec xenium::ramalhete_queue,10,s: 35,317,607 msg/sec xenium::ramalhete_queue,10,i: 40,856,990 msg/sec xenium::ramalhete_queue,11,s: 37,124,323 msg/sec xenium::ramalhete_queue,11,i: 41,288,582 msg/sec xenium::ramalhete_queue,12,s: 38,887,180 msg/sec xenium::ramalhete_queue,12,i: 43,577,532 msg/sec xenium::ramalhete_queue,13,s: 37,782,638 msg/sec xenium::ramalhete_queue,13,i: 42,212,396 msg/sec xenium::ramalhete_queue,14,s: 39,731,738 msg/sec xenium::ramalhete_queue,14,i: 42,911,219 msg/sec xenium::ramalhete_queue,15,s: 38,205,550 msg/sec xenium::ramalhete_queue,15,i: 43,574,287 msg/sec xenium::ramalhete_queue,16,s: 39,209,355 msg/sec xenium::ramalhete_queue,16,i: 44,635,815 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,325,241 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,863,100 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,659,322 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,079,649 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,471,344 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,066,286 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,566,748 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,550,557 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,111,336 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,511,995 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,070,905 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,913,164 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,185,653 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,492,435 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,490,663 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,560,930 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,125,873 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,666,407 msg/sec xenium::vyukov_bounded_queue,10,s: 7,603,930 msg/sec xenium::vyukov_bounded_queue,10,i: 6,890,429 msg/sec xenium::vyukov_bounded_queue,11,s: 7,345,149 msg/sec xenium::vyukov_bounded_queue,11,i: 7,232,750 msg/sec xenium::vyukov_bounded_queue,12,s: 7,509,258 msg/sec xenium::vyukov_bounded_queue,12,i: 7,372,668 msg/sec xenium::vyukov_bounded_queue,13,s: 7,101,124 msg/sec xenium::vyukov_bounded_queue,13,i: 7,349,051 msg/sec xenium::vyukov_bounded_queue,14,s: 7,019,720 msg/sec xenium::vyukov_bounded_queue,14,i: 7,454,068 msg/sec xenium::vyukov_bounded_queue,15,s: 7,036,215 msg/sec xenium::vyukov_bounded_queue,15,i: 7,227,323 msg/sec xenium::vyukov_bounded_queue,16,s: 6,896,908 msg/sec xenium::vyukov_bounded_queue,16,i: 7,064,495 msg/sec boost::lockfree::queue, 1,s: 7,748,528 msg/sec boost::lockfree::queue, 1,i: 7,803,474 msg/sec boost::lockfree::queue, 2,s: 5,839,464 msg/sec boost::lockfree::queue, 2,i: 5,955,472 msg/sec boost::lockfree::queue, 3,s: 4,957,583 msg/sec boost::lockfree::queue, 3,i: 4,794,982 msg/sec boost::lockfree::queue, 4,s: 4,383,666 msg/sec boost::lockfree::queue, 4,i: 4,353,176 msg/sec boost::lockfree::queue, 5,s: 2,651,128 msg/sec boost::lockfree::queue, 5,i: 2,910,501 msg/sec boost::lockfree::queue, 6,s: 1,436,859 msg/sec boost::lockfree::queue, 6,i: 2,992,839 msg/sec boost::lockfree::queue, 7,s: 1,387,731 msg/sec boost::lockfree::queue, 7,i: 2,867,423 msg/sec boost::lockfree::queue, 8,s: 1,164,730 msg/sec boost::lockfree::queue, 8,i: 1,838,028 msg/sec boost::lockfree::queue, 9,s: 1,425,884 msg/sec boopthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. st::lockfree::queue, 9,i: 1,874,152 msg/sec boost::lockfree::queue,10,s: 1,594,889 msg/sec boost::lockfree::queue,10,i: 1,949,334 msg/sec boost::lockfree::queue,11,s: 1,795,069 msg/sec boost::lockfree::queue,11,i: 1,840,473 msg/sec boost::lockfree::queue,12,s: 1,690,782 msg/sec boost::lockfree::queue,12,i: 1,693,271 msg/sec boost::lockfree::queue,13,s: 1,624,243 msg/sec boost::lockfree::queue,13,i: 1,667,730 msg/sec boost::lockfree::queue,14,s: 1,544,307 msg/sec boost::lockfree::queue,14,i: 1,618,319 msg/sec boost::lockfree::queue,15,s: 1,555,488 msg/sec boost::lockfree::queue,15,i: 1,600,848 msg/sec boost::lockfree::queue,16,s: 1,519,298 msg/sec boost::lockfree::queue,16,i: 1,493,636 msg/sec std::mutex, 1,s: 4,065,750 msg/sec std::mutex, 1,i: 4,209,463 msg/sec std::mutex, 2,s: 12,842,082 msg/sec std::mutex, 2,i: 12,232,149 msg/sec std::mutex, 3,s: 7,143,149 msg/sec std::mutex, 3,i: 6,923,841 msg/sec std::mutex, 4,s: 7,065,017 msg/sec std::mutex, 4,i: 6,598,763 msg/sec std::mutex, 5,s: 3,399,783 msg/sec std::mutex, 5,i: 3,383,269 msg/sec std::mutex, 6,s: 2,988,369 msg/sec std::mutex, 6,i: 2,920,720 msg/sec std::mutex, 7,s: 3,288,455 msg/sec std::mutex, 7,i: 2,921,986 msg/sec std::mutex, 8,s: 3,435,665 msg/sec std::mutex, 8,i: 2,798,912 msg/sec std::mutex, 9,s: 2,926,169 msg/sec std::mutex, 9,i: 2,727,762 msg/sec std::mutex,10,s: 2,623,900 msg/sec std::mutex,10,i: 2,705,246 msg/sec std::mutex,11,s: 2,671,941 msg/sec std::mutex,11,i: 2,622,398 msg/sec std::mutex,12,s: 2,635,441 msg/sec std::mutex,12,i: 2,578,648 msg/sec std::mutex,13,s: 2,493,341 msg/sec std::mutex,13,i: 2,403,295 msg/sec std::mutex,14,s: 2,426,084 msg/sec std::mutex,14,i: 2,340,525 msg/sec std::mutex,15,s: 2,430,568 msg/sec std::mutex,15,i: 2,378,814 msg/sec std::mutex,16,s: 2,328,993 msg/sec std::mutex,16,i: 2,273,066 msg/sec pthread_spinlock, 1,s: 17,726,843 msg/sec pthread_spinlock, 1,i: 18,043,314 msg/sec pthread_spinlock, 2,s: 7,837,599 msg/sec pthread_spinlock, 2,i: 1,458,035 msg/sec pthread_spinlock, 3,s: 809,026 msg/sec pthread_spinlock, 3,i: 5,319,830 msg/sec pthread_spinlock, 4,s: 2,012,602 msg/sec pthread_spinlock, 4,i: 1,007,927 msg/sec pthread_spinlock, 5,s: 2,782,413 msg/sec pthread_spinlock, 5,i: 3,734,764 msg/sec pthread_spinlock, 6,s: 1,999,161 msg/sec pthread_spinlock, 6,i: 3,171,928 msg/sec pthread_spinlock, 7,s: 2,780,881 msg/sec pthread_spinlock, 7,i: 3,041,512 msg/sec pthread_spinlock, 8,s: 2,992,760 msg/sec pthread_spinlock, 8,i: 2,699,852 msg/sec pthread_spinlock, 9,s: 2,872,430 msg/sec pthread_spinlock, 9,i: 2,308,110 msg/sec pthread_spinlock,10,s: 2,722,882 msg/sec pthread_spinlock,10,i: 2,378,444 msg/sec pthread_spinlock,11,s: 2,578,395 msg/sec pthread_spinlock,11,i: 2,739,324 msg/sec pthread_spinlock,12,s: 2,490,027 msg/sec pthread_spinlock,12,i: 2,485,122 msg/sec pthread_spinlock,13,s: 2,402,030 msg/sec pthread_spinlock,13,i: 2,090,161 msg/sec pthread_spinlock,14,s: 2,203,246 msg/sec pthread_spinlock,14,i: 2,071,093 msg/sec pthread_spinlock,15,s: 2,015,436 msg/sec pthread_spinlock,15,i: 1,918,255 msg/sec pthread_spinlock,16,s: 1,789,797 msg/sec pthread_spinlock,16,i: 1,599,084 msg/sec tbb::spin_mutex, 1,s: 37,483,964 msg/sec tbb::spin_mutex, 1,i: 37,374,149 msg/sec tbb::spin_mutex, 2,s: 16,478,791 msg/sec tbb::spin_mutex, 2,i: 16,041,143 msg/sec tbb::spin_mutex, 3,s: 12,049,982 msg/sec tbb::spin_mutex, 3,i: 11,897,201 msg/sec tbb::spin_mutex, 4,s: 10,578,366 msg/sec tbb::spin_mutex, 4,i: 10,013,696 msg/sec tbb::spin_mutex, 5,s: 5,955,980 msg/sec tbb::spin_mutex, 5,i: 5,599,924 msg/sec tbb::spin_mutex, 6,s: 5,100,480 msg/sec tbb::spin_mutex, 6,i: 4,772,940 msg/sec tbb::spin_mutex, 7,s: 4,389,691 msg/sec tbb::spin_mutex, 7,i: 4,666,288 msg/sec tbb::spin_mutex, 8,s: 4,296,458 msg/sec tbb::spin_mutex, 8,i: 4,057,368 msg/sec tbb::spin_mutex, 9,s: 4,660,168 msg/sec tbb::spin_mutex, 9,i: 4,397,594 msg/sec tbb::spin_mutex,10,s: 4,378,347 msg/sec tbb::spin_mutex,10,i: 4,129,846 msg/sec tbb::spin_mutex,11,s: 4,128,436 msg/sec tbb::spin_mutex,11,i: 4,061,893 msg/sec tbb::spin_mutex,12,s: 3,729,092 msg/sec tbb::spin_mutex,12,i: 3,491,909 msg/sec tbb::spin_mutex,13,s: 3,694,677 msg/sec tbb::spin_mutex,13,i: 3,281,395 msg/sec tbb::spin_mutex,14,s: 3,352,351 msg/sec tbb::spin_mutex,14,i: 3,065,754 msg/sec tbb::spin_mutex,15,s: 3,193,543 msg/sec tbb::spin_mutex,15,i: 3,052,964 msg/sec tbb::spin_mutex,16,s: 2,919,016 msg/sec tbb::spin_mutex,16,i: 2,998,010 msg/sec Elapsed time 6:13.75, user 5631.93s, system 602.46s, CPU 1668%, RSS 95540kB, exit-status 0. 2026-09-14 13:52:56 [16/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000323 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000095 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,179,918 msg/sec boost::lockfree::spsc_queue, 1,i: 112,957,813 msg/sec AtomicQueue, 1,s: 144,591,899 msg/sec AtomicQueue, 1,i: 142,730,638 msg/sec AtomicQueue, 2,s: 9,877,695 msg/sec AtomicQueue, 2,i: 10,335,664 msg/sec AtomicQueue, 3,s: 8,354,770 msg/sec AtomicQueue, 3,i: 8,821,969 msg/sec AtomicQueue, 4,s: 6,604,966 msg/sec AtomicQueue, 4,i: 7,032,782 msg/sec AtomicQueue, 5,s: 3,166,540 msg/sec AtomicQueue, 5,i: 4,320,447 msg/sec AtomicQueue, 6,s: 2,598,701 msg/sec AtomicQueue, 6,i: 3,531,071 msg/sec AtomicQueue, 7,s: 2,975,053 msg/sec AtomicQueue, 7,i: 3,202,734 msg/sec AtomicQueue, 8,s: 3,120,256 msg/sec AtomicQueue, 8,i: 2,898,225 msg/sec AtomicQueue, 9,s: 2,746,542 msg/sec AtomicQueue, 9,i: 2,925,572 msg/sec AtomicQueue,10,s: 2,784,282 msg/sec AtomicQueue,10,i: 2,975,280 msg/sec AtomicQueue,11,s: 2,784,620 msg/sec AtomicQueue,11,i: 2,900,908 msg/sec AtomicQueue,12,s: 2,674,964 msg/sec AtomicQueue,12,i: 2,878,537 msg/sec AtomicQueue,13,s: 2,528,851 msg/sec AtomicQueue,13,i: 2,833,370 msg/sec AtomicQueue,14,s: 2,367,278 msg/sec AtomicQueue,14,i: 2,786,102 msg/sec AtomicQueue,15,s: 2,361,818 msg/sec AtomicQueue,15,i: 2,745,275 msg/sec AtomicQueue,16,s: 2,256,211 msg/sec AtomicQueue,16,i: 2,732,383 msg/sec OptimistAtomicQueue, 1,s: 1,216,460,614 msg/sec OptimistAtomicQueue, 1,i: 1,194,234,328 msg/sec OptimistAtomicQueue, 2,s: 49,627,208 msg/sec OptimistAtomicQueue, 2,i: 60,914,579 msg/sec OptimistAtomicQueue, 3,s: 58,725,181 msg/sec OptimistAtomicQueue, 3,i: 59,470,192 msg/sec OptimistAtomicQueue, 4,s: 59,304,000 msg/sec OptimistAtomicQueue, 4,i: 66,071,158 msg/sec OptimistAtomicQueue, 5,s: 33,253,017 msg/sec OptimistAtomicQueue, 5,i: 39,575,804 msg/sec OptimistAtomicQueue, 6,s: 34,459,289 msg/sec OptimistAtomicQueue, 6,i: 35,210,933 msg/sec OptimistAtomicQueue, 7,s: 40,089,024 msg/sec OptimistAtomicQueue, 7,i: 40,117,586 msg/sec OptimistAtomicQueue, 8,s: 50,463,109 msg/sec OptimistAtomicQueue, 8,i: 41,209,071 msg/sec OptimistAtomicQueue, 9,s: 41,089,724 msg/sec OptimistAtomicQueue, 9,i: 45,695,917 msg/sec OptimistAtomicQueue,10,s: 39,968,519 msg/sec OptimistAtomicQueue,10,i: 47,734,874 msg/sec OptimistAtomicQueue,11,s: 44,352,321 msg/sec OptimistAtomicQueue,11,i: 52,924,662 msg/sec OptimistAtomicQueue,12,s: 43,458,774 msg/sec OptimistAtomicQueue,12,i: 57,802,071 msg/sec OptimistAtomicQueue,13,s: 43,397,316 msg/sec OptimistAtomicQueue,13,i: 56,079,941 msg/sec OptimistAtomicQueue,14,s: 43,254,755 msg/sec OptimistAtomicQueue,14,i: 55,941,354 msg/sec OptimistAtomicQueue,15,s: 45,849,515 msg/sec OptimistAtomicQueue,15,i: 60,622,864 msg/sec OptimistAtomicQueue,16,s: 45,843,464 msg/sec OptimistAtomicQueue,16,i: 64,782,621 msg/sec AtomicQueueB, 1,s: 50,251,120 msg/sec AtomicQueueB, 1,i: 50,918,386 msg/sec AtomicQueueB, 2,s: 9,520,688 msg/sec AtomicQueueB, 2,i: 10,081,217 msg/sec AtomicQueueB, 3,s: 8,201,228 msg/sec AtomicQueueB, 3,i: 8,671,755 msg/sec AtomicQueueB, 4,s: 6,533,873 msg/sec AtomicQueueB, 4,i: 6,892,859 msg/sec AtomicQueueB, 5,s: 3,095,677 msg/sec AtomicQueueB, 5,i: 4,322,525 msg/sec AtomicQueueB, 6,s: 2,569,460 msg/sec AtomicQueueB, 6,i: 3,454,126 msg/sec AtomicQueueB, 7,s: 2,913,354 msg/sec AtomicQueueB, 7,i: 3,165,056 msg/sec AtomicQueueB, 8,s: 3,055,446 msg/sec AtomicQueueB, 8,i: 2,867,729 msg/sec AtomicQueueB, 9,s: 2,837,127 msg/sec AtomicQueueB, 9,i: 2,884,465 msg/sec AtomicQueueB,10,s: 2,780,934 msg/sec AtomicQueueB,10,i: 2,856,761 msg/sec AtomicQueueB,11,s: 2,733,919 msg/sec AtomicQueueB,11,i: 2,904,346 msg/sec AtomicQueueB,12,s: 2,715,155 msg/sec AtomicQueueB,12,i: 2,839,849 msg/sec AtomicQueueB,13,s: 2,531,551 msg/sec AtomicQueueB,13,i: 2,821,082 msg/sec AtomicQueueB,14,s: 2,382,567 msg/sec AtomicQueueB,14,i: 2,764,176 msg/sec AtomicQueueB,15,s: 2,374,142 msg/sec AtomicQueueB,15,i: 2,760,839 msg/sec AtomicQueueB,16,s: 2,275,176 msg/sec AtomicQueueB,16,i: 2,744,086 msg/sec OptimistAtomicQueueB, 1,s: 629,605,715 msg/sec OptimistAtomicQueueB, 1,i: 1,074,305,418 msg/sec OptimistAtomicQueueB, 2,s: 51,785,860 msg/sec OptimistAtomicQueueB, 2,i: 49,362,937 msg/sec OptimistAtomicQueueB, 3,s: 58,609,367 msg/sec OptimistAtomicQueueB, 3,i: 58,255,382 msg/sec OptimistAtomicQueueB, 4,s: 59,513,960 msg/sec OptimistAtomicQueueB, 4,i: 66,228,200 msg/sec OptimistAtomicQueueB, 5,s: 32,976,959 msg/sec OptimistAtomicQueueB, 5,i: 39,325,598 msg/sec OptimistAtomicQueueB, 6,s: 34,309,569 msg/sec OptimistAtomicQueueB, 6,i: 34,004,735 msg/sec OptimistAtomicQueueB, 7,s: 39,436,874 msg/sec OptimistAtomicQueueB, 7,i: 39,986,611 msg/sec OptimistAtomicQueueB, 8,s: 51,481,834 msg/sec OptimistAtomicQueueB, 8,i: 41,242,398 msg/sec OptimistAtomicQueueB, 9,s: 40,410,325 msg/sec OptimistAtomicQueueB, 9,i: 45,612,547 msg/sec OptimistAtomicQueueB,10,s: 39,996,942 msg/sec OptimistAtomicQueueB,10,i: 47,822,005 msg/sec OptimistAtomicQueueB,11,s: 44,292,112 msg/sec OptimistAtomicQueueB,11,i: 52,763,346 msg/sec OptimistAtomicQueueB,12,s: 43,872,194 msg/sec OptimistAtomicQueueB,12,i: 56,748,611 msg/sec OptimistAtomicQueueB,13,s: 43,864,979 msg/sec OptimistAtomicQueueB,13,i: 54,763,491 msg/sec OptimistAtomicQueueB,14,s: 43,641,476 msg/sec OptimistAtomicQueueB,14,i: 57,532,831 msg/sec OptimistAtomicQueueB,15,s: 46,209,702 msg/sec OptimistAtomicQueueB,15,i: 60,941,351 msg/sec OptimistAtomicQueueB,16,s: 46,126,473 msg/sec OptimistAtomicQueueB,16,i: 64,751,790 msg/sec AtomicQueue2, 1,s: 133,433,487 msg/sec AtomicQueue2, 1,i: 71,164,969 msg/sec AtomicQueue2, 2,s: 9,946,244 msg/sec AtomicQueue2, 2,i: 10,536,187 msg/sec AtomicQueue2, 3,s: 8,411,294 msg/sec AtomicQueue2, 3,i: 8,885,207 msg/sec AtomicQueue2, 4,s: 6,683,576 msg/sec AtomicQueue2, 4,i: 7,087,771 msg/sec AtomicQueue2, 5,s: 3,129,629 msg/sec AtomicQueue2, 5,i: 4,274,866 msg/sec AtomicQueue2, 6,s: 2,569,420 msg/sec AtomicQueue2, 6,i: 3,972,372 msg/sec AtomicQueue2, 7,s: 2,895,204 msg/sec AtomicQueue2, 7,i: 3,190,819 msg/sec AtomicQueue2, 8,s: 3,002,445 msg/sec AtomicQueue2, 8,i: 2,900,752 msg/sec AtomicQueue2, 9,s: 2,758,809 msg/sec AtomicQueue2, 9,i: 2,911,525 msg/sec AtomicQueue2,10,s: 2,772,433 msg/sec AtomicQueue2,10,i: 2,884,319 msg/sec AtomicQueue2,11,s: 2,741,772 msg/sec AtomicQueue2,11,i: 2,919,416 msg/sec AtomicQueue2,12,s: 2,709,001 msg/sec AtomicQueue2,12,i: 2,849,636 msg/sec AtomicQueue2,13,s: 2,544,562 msg/sec AtomicQueue2,13,i: 2,799,752 msg/sec AtomicQueue2,14,s: 2,391,896 msg/sec AtomicQueue2,14,i: 2,748,705 msg/sec AtomicQueue2,15,s: 2,390,513 msg/sec AtomicQueue2,15,i: 2,806,045 msg/sec AtomicQueue2,16,s: 2,286,002 msg/sec AtomicQueue2,16,i: 2,712,816 msg/sec OptimistAtomicQueue2, 1,s: 107,322,627 msg/sec OptimistAtomicQueue2, 1,i: 107,122,016 msg/sec OptimistAtomicQueue2, 2,s: 43,297,363 msg/sec OptimistAtomicQueue2, 2,i: 46,860,480 msg/sec OptimistAtomicQueue2, 3,s: 54,777,852 msg/sec OptimistAtomicQueue2, 3,i: 50,000,472 msg/sec OptimistAtomicQueue2, 4,s: 59,231,606 msg/sec OptimistAtomicQueue2, 4,i: 57,915,893 msg/sec OptimistAtomicQueue2, 5,s: 31,442,100 msg/sec OptimistAtomicQueue2, 5,i: 32,721,457 msg/sec OptimistAtomicQueue2, 6,s: 32,862,816 msg/sec OptimistAtomicQueue2, 6,i: 32,112,587 msg/sec OptimistAtomicQueue2, 7,s: 37,696,773 msg/sec OptimistAtomicQueue2, 7,i: 37,718,868 msg/sec OptimistAtomicQueue2, 8,s: 49,014,827 msg/sec OptimistAtomicQueue2, 8,i: 39,832,181 msg/sec OptimistAtomicQueue2, 9,s: 37,259,510 msg/sec OptimistAtomicQueue2, 9,i: 42,568,796 msg/sec OptimistAtomicQueue2,10,s: 37,621,356 msg/sec OptimistAtomicQueue2,10,i: 44,137,314 msg/sec OptimistAtomicQueue2,11,s: 42,920,746 msg/sec OptimistAtomicQueue2,11,i: 47,967,200 msg/sec OptimistAtomicQueue2,12,s: 42,059,935 msg/sec OptimistAtomicQueue2,12,i: 52,902,214 msg/sec OptimistAtomicQueue2,13,s: 41,012,961 msg/sec OptimistAtomicQueue2,13,i: 52,361,512 msg/sec OptimistAtomicQueue2,14,s: 40,730,117 msg/sec OptimistAtomicQueue2,14,i: 52,591,514 msg/sec OptimistAtomicQueue2,15,s: 43,215,814 msg/sec OptimistAtomicQueue2,15,i: 56,343,439 msg/sec OptimistAtomicQueue2,16,s: 43,417,728 msg/sec OptimistAtomicQueue2,16,i: 58,957,689 msg/sec AtomicQueueB2, 1,s: 76,797,624 msg/sec AtomicQueueB2, 1,i: 73,387,659 msg/sec AtomicQueueB2, 2,s: 9,841,304 msg/sec AtomicQueueB2, 2,i: 10,423,879 msg/sec AtomicQueueB2, 3,s: 8,328,590 msg/sec AtomicQueueB2, 3,i: 8,833,293 msg/sec AtomicQueueB2, 4,s: 6,608,248 msg/sec AtomicQueueB2, 4,i: 6,966,745 msg/sec AtomicQueueB2, 5,s: 3,102,759 msg/sec AtomicQueueB2, 5,i: 4,329,833 msg/sec AtomicQueueB2, 6,s: 2,548,653 msg/sec AtomicQueueB2, 6,i: 3,419,549 msg/sec AtomicQueueB2, 7,s: 2,898,719 msg/sec AtomicQueueB2, 7,i: 3,169,439 msg/sec AtomicQueueB2, 8,s: 3,011,348 msg/sec AtomicQueueB2, 8,i: 2,834,881 msg/sec AtomicQueueB2, 9,s: 2,711,158 msg/sec AtomicQueueB2, 9,i: 2,835,611 msg/sec AtomicQueueB2,10,s: 2,754,804 msg/sec AtomicQueueB2,10,i: 2,844,384 msg/sec AtomicQueueB2,11,s: 2,793,234 msg/sec AtomicQueueB2,11,i: 2,890,615 msg/sec AtomicQueueB2,12,s: 2,779,345 msg/sec AtomicQueueB2,12,i: 2,857,425 msg/sec AtomicQueueB2,13,s: 2,631,262 msg/sec AtomicQueueB2,13,i: 2,824,397 msg/sec AtomicQueueB2,14,s: 2,474,326 msg/sec AtomicQueueB2,14,i: 2,769,407 msg/sec AtomicQueueB2,15,s: 2,441,777 msg/sec AtomicQueueB2,15,i: 2,756,394 msg/sec AtomicQueueB2,16,s: 2,305,259 msg/sec AtomicQueueB2,16,i: 2,744,158 msg/sec OptimistAtomicQueueB2, 1,s: 150,257,224 msg/sec OptimistAtomicQueueB2, 1,i: 150,250,903 msg/sec OptimistAtomicQueueB2, 2,s: 42,027,569 msg/sec OptimistAtomicQueueB2, 2,i: 45,903,879 msg/sec OptimistAtomicQueueB2, 3,s: 56,813,653 msg/sec OptimistAtomicQueueB2, 3,i: 53,165,085 msg/sec OptimistAtomicQueueB2, 4,s: 59,007,402 msg/sec OptimistAtomicQueueB2, 4,i: 59,973,777 msg/sec OptimistAtomicQueueB2, 5,s: 31,309,990 msg/sec OptimistAtomicQueueB2, 5,i: 32,496,727 msg/sec OptimistAtomicQueueB2, 6,s: 32,967,795 msg/sec OptimistAtomicQueueB2, 6,i: 31,932,811 msg/sec OptimistAtomicQueueB2, 7,s: 37,098,586 msg/sec OptimistAtomicQueueB2, 7,i: 37,035,660 msg/sec OptimistAtomicQueueB2, 8,s: 47,951,817 msg/sec OptimistAtomicQueueB2, 8,i: 39,000,825 msg/sec OptimistAtomicQueueB2, 9,s: 36,859,884 msg/sec OptimistAtomicQueueB2, 9,i: 41,125,429 msg/sec OptimistAtomicQueueB2,10,s: 37,276,184 msg/sec OptimistAtomicQueueB2,10,i: 42,585,876 msg/sec OptimistAtomicQueueB2,11,s: 42,575,786 msg/sec OptimistAtomicQueueB2,11,i: 47,176,875 msg/sec OptimistAtomicQueueB2,12,s: 41,798,785 msg/sec OptimistAtomicQueueB2,12,i: 51,209,706 msg/sec OptimistAtomicQueueB2,13,s: 40,854,159 msg/sec OptimistAtomicQueueB2,13,i: 51,714,470 msg/sec OptimistAtomicQueueB2,14,s: 40,702,880 msg/sec OptimistAtomicQueueB2,14,i: 52,535,511 msg/sec OptimistAtomicQueueB2,15,s: 43,173,592 msg/sec OptimistAtomicQueueB2,15,i: 57,035,167 msg/sec OptimistAtomicQueueB2,16,s: 43,208,222 msg/sec OptimistAtomicQueueB2,16,i: 59,366,737 msg/sec moodycamel::ReaderWriterQueue, 1,s: 471,431,103 msg/sec moodycamel::ReaderWriterQueue, 1,i: 400,272,154 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,120,980 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,242,241 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,581,755 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,254,965 msg/sec moodycamel::ConcurrentQueue, 3,s: 56,904,723 msg/sec moodycamel::ConcurrentQueue, 3,i: 61,533,677 msg/sec moodycamel::ConcurrentQueue, 4,s: 96,053,091 msg/sec moodycamel::ConcurrentQueue, 4,i: 82,302,356 msg/sec moodycamel::ConcurrentQueue, 5,s: 116,009,158 msg/sec moodycamel::ConcurrentQueue, 5,i: 182,658,510 msg/sec moodycamel::ConcurrentQueue, 6,s: 210,051,491 msg/sec moodycamel::ConcurrentQueue, 6,i: 219,059,331 msg/sec moodycamel::ConcurrentQueue, 7,s: 218,492,571 msg/sec moodycamel::ConcurrentQueue, 7,i: 215,845,068 msg/sec moodycamel::ConcurrentQueue, 8,s: 275,134,314 msg/sec moodycamel::ConcurrentQueue, 8,i: 226,672,728 msg/sec moodycamel::ConcurrentQueue, 9,s: 265,225,644 msg/sec moodycamel::ConcurrentQueue, 9,i: 250,128,422 msg/sec moodycamel::ConcurrentQueue,10,s: 287,382,519 msg/sec moodycamel::ConcurrentQueue,10,i: 236,350,086 msg/sec moodycamel::ConcurrentQueue,11,s: 195,838,193 msg/sec moodycamel::ConcurrentQueue,11,i: 259,581,555 msg/sec moodycamel::ConcurrentQueue,12,s: 157,468,120 msg/sec moodycamel::ConcurrentQueue,12,i: 211,653,194 msg/sec moodycamel::ConcurrentQueue,13,s: 245,018,949 msg/sec moodycamel::ConcurrentQueue,13,i: 260,329,445 msg/sec moodycamel::ConcurrentQueue,14,s: 320,254,767 msg/sec moodycamel::ConcurrentQueue,14,i: 348,600,570 msg/sec moodycamel::ConcurrentQueue,15,s: 457,758,495 msg/sec moodycamel::ConcurrentQueue,15,i: 454,083,640 msg/sec moodycamel::ConcurrentQueue,16,s: 576,757,296 msg/sec moodycamel::ConcurrentQueue,16,i: 515,855,905 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,818,251 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,836,590 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,135,201 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,145,762 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,967,180 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,070,294 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,426,282 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,622,222 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,072,148 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,105,009 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,796,785 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,455,139 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,661,611 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,154,817 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,781,792 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,819,517 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,616,768 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,849,545 msg/sec tbb::concurrent_bounded_queue,10,s: 2,777,586 msg/sec tbb::concurrent_bounded_queue,10,i: 2,898,776 msg/sec tbb::concurrent_bounded_queue,11,s: 2,658,955 msg/sec tbb::concurrent_bounded_queue,11,i: 2,834,885 msg/sec tbb::concurrent_bounded_queue,12,s: 2,568,986 msg/sec tbb::concurrent_bounded_queue,12,i: 2,985,009 msg/sec tbb::concurrent_bounded_queue,13,s: 2,480,370 msg/sec tbb::concurrent_bounded_queue,13,i: 2,773,799 msg/sec tbb::concurrent_bounded_queue,14,s: 2,381,786 msg/sec tbb::concurrent_bounded_queue,14,i: 2,772,006 msg/sec tbb::concurrent_bounded_queue,15,s: 2,342,140 msg/sec tbb::concurrent_bounded_queue,15,i: 2,605,300 msg/sec tbb::concurrent_bounded_queue,16,s: 2,262,452 msg/sec tbb::concurrent_bounded_queue,16,i: 2,533,411 msg/sec xenium::michael_scott_queue, 1,s: 13,368,187 msg/sec xenium::michael_scott_queue, 1,i: 13,734,884 msg/sec xenium::michael_scott_queue, 2,s: 9,412,282 msg/sec xenium::michael_scott_queue, 2,i: 9,153,920 msg/sec xenium::michael_scott_queue, 3,s: 7,641,338 msg/sec xenium::michael_scott_queue, 3,i: 7,534,976 msg/sec xenium::michael_scott_queue, 4,s: 5,866,232 msg/sec xenium::michael_scott_queue, 4,i: 5,810,994 msg/sec xenium::michael_scott_queue, 5,s: 3,644,592 msg/sec xenium::michael_scott_queue, 5,i: 4,520,442 msg/sec xenium::michael_scott_queue, 6,s: 3,339,739 msg/sec xenium::michael_scott_queue, 6,i: 3,612,297 msg/sec xenium::michael_scott_queue, 7,s: 3,162,321 msg/sec xenium::michael_scott_queue, 7,i: 3,236,008 msg/sec xenium::michael_scott_queue, 8,s: 2,348,654 msg/sec xenium::michael_scott_queue, 8,i: 2,783,711 msg/sec xenium::michael_scott_queue, 9,s: 2,900,172 msg/sec xenium::michael_scott_queue, 9,i: 2,837,850 msg/sec xenium::michael_scott_queue,10,s: 2,821,229 msg/sec xenium::michael_scott_queue,10,i: 2,876,846 msg/sec xenium::michael_scott_queue,11,s: 2,753,203 msg/sec xenium::michael_scott_queue,11,i: 2,872,695 msg/sec xenium::michael_scott_queue,12,s: 2,586,559 msg/sec xenium::michael_scott_queue,12,i: 2,732,549 msg/sec xenium::michael_scott_queue,13,s: 2,534,701 msg/sec xenium::michael_scott_queue,13,i: 2,669,779 msg/sec xenium::michael_scott_queue,14,s: 2,414,825 msg/sec xenium::michael_scott_queue,14,i: 2,615,429 msg/sec xenium::michael_scott_queue,15,s: 2,330,947 msg/sec xenium::michael_scott_queue,15,i: 2,596,578 msg/sec xenium::michael_scott_queue,16,s: 2,206,364 msg/sec xenium::michael_scott_queue,16,i: 2,501,166 msg/sec xenium::ramalhete_queue, 1,s: 71,175,707 msg/sec xenium::ramalhete_queue, 1,i: 67,349,614 msg/sec xenium::ramalhete_queue, 2,s: 41,277,892 msg/sec xenium::ramalhete_queue, 2,i: 34,792,088 msg/sec xenium::ramalhete_queue, 3,s: 44,255,242 msg/sec xenium::ramalhete_queue, 3,i: 42,695,579 msg/sec xenium::ramalhete_queue, 4,s: 51,721,766 msg/sec xenium::ramalhete_queue, 4,i: 51,687,281 msg/sec xenium::ramalhete_queue, 5,s: 37,511,706 msg/sec xenium::ramalhete_queue, 5,i: 23,685,019 msg/sec xenium::ramalhete_queue, 6,s: 38,958,725 msg/sec xenium::ramalhete_queue, 6,i: 27,566,280 msg/sec xenium::ramalhete_queue, 7,s: 40,759,152 msg/sec xenium::ramalhete_queue, 7,i: 29,249,183 msg/sec xenium::ramalhete_queue, 8,s: 50,539,721 msg/sec xenium::ramalhete_queue, 8,i: 30,475,946 msg/sec xenium::ramalhete_queue, 9,s: 33,349,138 msg/sec xenium::ramalhete_queue, 9,i: 35,837,802 msg/sec xenium::ramalhete_queue,10,s: 34,714,068 msg/sec xenium::ramalhete_queue,10,i: 40,117,474 msg/sec xenium::ramalhete_queue,11,s: 36,624,598 msg/sec xenium::ramalhete_queue,11,i: 43,329,557 msg/sec xenium::ramalhete_queue,12,s: 38,827,511 msg/sec xenium::ramalhete_queue,12,i: 41,985,963 msg/sec xenium::ramalhete_queue,13,s: 37,949,717 msg/sec xenium::ramalhete_queue,13,i: 41,992,548 msg/sec xenium::ramalhete_queue,14,s: 39,812,234 msg/sec xenium::ramalhete_queue,14,i: 42,703,480 msg/sec xenium::ramalhete_queue,15,s: 37,431,230 msg/sec xenium::ramalhete_queue,15,i: 43,445,994 msg/sec xenium::ramalhete_queue,16,s: 39,423,438 msg/sec xenium::ramalhete_queue,16,i: 44,048,195 msg/sec xenium::vyukov_bounded_queue, 1,s: 308,630,595 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,814,791 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,497,862 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,718,588 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,681,795 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,161,974 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,494,474 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,485,488 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,590,251 msg/sec xenium::vyukov_bounded_queue, 5,i: 8,416,610 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,066,236 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,933,094 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,117,223 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,489,892 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,293,911 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,555,520 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,947,438 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,716,643 msg/sec xenium::vyukov_bounded_queue,10,s: 7,562,231 msg/sec xenium::vyukov_bounded_queue,10,i: 6,820,028 msg/sec xenium::vyukov_bounded_queue,11,s: 7,605,226 msg/sec xenium::vyukov_bounded_queue,11,i: 7,204,748 msg/sec xenium::vyukov_bounded_queue,12,s: 7,432,088 msg/sec xenium::vyukov_bounded_queue,12,i: 7,529,526 msg/sec xenium::vyukov_bounded_queue,13,s: 6,999,032 msg/sec xenium::vyukov_bounded_queue,13,i: 7,409,002 msg/sec xenium::vyukov_bounded_queue,14,s: 6,970,178 msg/sec xenium::vyukov_bounded_queue,14,i: 7,437,285 msg/sec xenium::vyukov_bounded_queue,15,s: 7,086,891 msg/sec xenium::vyukov_bounded_queue,15,i: 7,359,142 msg/sec xenium::vyukov_bounded_queue,16,s: 6,926,347 msg/sec xenium::vyukov_bounded_queue,16,i: 7,050,530 msg/sec boost::lockfree::queue, 1,s: 7,748,477 msg/sec boost::lockfree::queue, 1,i: 7,801,261 msg/sec boost::lockfree::queue, 2,s: 5,867,094 msg/sec boost::lockfree::queue, 2,i: 5,918,608 msg/sec boost::lockfree::queue, 3,s: 4,937,402 msg/sec boost::lockfree::queue, 3,i: 4,791,388 msg/sec boost::lockfree::queue, 4,s: 4,363,497 msg/sec boost::lockfree::queue, 4,i: 4,347,899 msg/sec boost::lockfree::queue, 5,s: 2,658,308 msg/sec boost::lockfree::queue, 5,i: 2,905,955 msg/sec boost::lockfree::queue, 6,s: 1,428,633 msg/sec boost::lockfree::queue, 6,i: 2,998,613 msg/sec boost::lockfree::queue, 7,s: 1,379,268 msg/sec boost::lockfree::queue, 7,i: 2,838,501 msg/sec boost::lockfree::queue, 8,s: 1,156,251 msg/sec boost::lockfree::queue, 8,i: 1,833,404 msg/sec boost::lockfree::queue, 9,s: 1,409,717 msg/sec boopthread_spinlock: producers: 4: consumer 3 received too few messages: 0.09% of expected. st::lockfree::queue, 9,i: 1,857,586 msg/sec boost::lockfree::queue,10,s: 1,572,580 msg/sec boost::lockfree::queue,10,i: 1,977,148 msg/sec boost::lockfree::queue,11,s: 1,764,944 msg/sec boost::lockfree::queue,11,i: 1,894,291 msg/sec boost::lockfree::queue,12,s: 1,741,003 msg/sec boost::lockfree::queue,12,i: 1,691,447 msg/sec boost::lockfree::queue,13,s: 1,635,005 msg/sec boost::lockfree::queue,13,i: 1,678,416 msg/sec boost::lockfree::queue,14,s: 1,532,928 msg/sec boost::lockfree::queue,14,i: 1,672,098 msg/sec boost::lockfree::queue,15,s: 1,559,294 msg/sec boost::lockfree::queue,15,i: 1,579,635 msg/sec boost::lockfree::queue,16,s: 1,526,520 msg/sec boost::lockfree::queue,16,i: 1,493,012 msg/sec std::mutex, 1,s: 3,827,849 msg/sec std::mutex, 1,i: 3,741,710 msg/sec std::mutex, 2,s: 12,607,367 msg/sec std::mutex, 2,i: 12,242,854 msg/sec std::mutex, 3,s: 7,010,366 msg/sec std::mutex, 3,i: 6,797,612 msg/sec std::mutex, 4,s: 7,051,908 msg/sec std::mutex, 4,i: 6,663,701 msg/sec std::mutex, 5,s: 3,404,596 msg/sec std::mutex, 5,i: 3,368,657 msg/sec std::mutex, 6,s: 3,035,124 msg/sec std::mutex, 6,i: 3,002,788 msg/sec std::mutex, 7,s: 3,263,233 msg/sec std::mutex, 7,i: 2,915,419 msg/sec std::mutex, 8,s: 3,453,162 msg/sec std::mutex, 8,i: 2,805,981 msg/sec std::mutex, 9,s: 2,885,672 msg/sec std::mutex, 9,i: 2,752,396 msg/sec std::mutex,10,s: 2,665,225 msg/sec std::mutex,10,i: 2,604,465 msg/sec std::mutex,11,s: 2,608,667 msg/sec std::mutex,11,i: 2,683,789 msg/sec std::mutex,12,s: 2,662,064 msg/sec std::mutex,12,i: 2,559,435 msg/sec std::mutex,13,s: 2,491,684 msg/sec std::mutex,13,i: 2,442,728 msg/sec std::mutex,14,s: 2,410,540 msg/sec std::mutex,14,i: 2,379,734 msg/sec std::mutex,15,s: 2,448,387 msg/sec std::mutex,15,i: 2,398,201 msg/sec std::mutex,16,s: 2,335,794 msg/sec std::mutex,16,i: 2,301,944 msg/sec pthread_spinlock, 1,s: 17,924,590 msg/sec pthread_spinlock, 1,i: 18,050,603 msg/sec pthread_spinlock, 2,s: 7,175,176 msg/sec pthread_spinlock, 2,i: 1,625,963 msg/sec pthread_spinlock, 3,s: 716,773 msg/sec pthread_spinlock, 3,i: 5,490,152 msg/sec pthread_spinlock, 4,s: 2,344,008 msg/sec pthread_spinlock, 4,i: 2,070,099 msg/sec pthread_spinlock, 5,s: 2,920,955 msg/sec pthread_spinlock, 5,i: 931,661 msg/sec pthread_spinlock, 6,s: 2,009,722 msg/sec pthread_spinlock, 6,i: 3,072,378 msg/sec pthread_spinlock, 7,s: 2,867,002 msg/sec pthread_spinlock, 7,i: 3,038,144 msg/sec pthread_spinlock, 8,s: 2,990,719 msg/sec pthread_spinlock, 8,i: 2,683,984 msg/sec pthread_spinlock, 9,s: 2,734,096 msg/sec pthread_spinlock, 9,i: 2,324,166 msg/sec pthread_spinlock,10,s: 2,762,208 msg/sec pthread_spinlock,10,i: 2,392,049 msg/sec pthread_spinlock,11,s: 2,581,084 msg/sec pthread_spinlock,11,i: 2,739,011 msg/sec pthread_spinlock,12,s: 2,549,590 msg/sec pthread_spinlock,12,i: 2,493,313 msg/sec pthread_spinlock,13,s: 2,525,445 msg/sec pthread_spinlock,13,i: 2,110,371 msg/sec pthread_spinlock,14,s: 2,219,521 msg/sec pthread_spinlock,14,i: 2,081,631 msg/sec pthread_spinlock,15,s: 2,062,053 msg/sec pthread_spinlock,15,i: 1,860,714 msg/sec pthread_spinlock,16,s: 1,786,979 msg/sec pthread_spinlock,16,i: 1,595,923 msg/sec tbb::spin_mutex, 1,s: 37,291,864 msg/sec tbb::spin_mutex, 1,i: 37,959,460 msg/sec tbb::spin_mutex, 2,s: 16,421,540 msg/sec tbb::spin_mutex, 2,i: 15,983,918 msg/sec tbb::spin_mutex, 3,s: 12,034,625 msg/sec tbb::spin_mutex, 3,i: 11,907,734 msg/sec tbb::spin_mutex, 4,s: 10,284,389 msg/sec tbb::spin_mutex, 4,i: 9,985,596 msg/sec tbb::spin_mutex, 5,s: 5,926,442 msg/sec tbb::spin_mutex, 5,i: 5,548,194 msg/sec tbb::spin_mutex, 6,s: 5,112,191 msg/sec tbb::spin_mutex, 6,i: 4,885,939 msg/sec tbb::spin_mutex, 7,s: 4,348,228 msg/sec tbb::spin_mutex, 7,i: 4,982,591 msg/sec tbb::spin_mutex, 8,s: 4,297,526 msg/sec tbb::spin_mutex, 8,i: 4,066,587 msg/sec tbb::spin_mutex, 9,s: 4,680,382 msg/sec tbb::spin_mutex, 9,i: 4,366,451 msg/sec tbb::spin_mutex,10,s: 4,427,706 msg/sec tbb::spin_mutex,10,i: 4,248,031 msg/sec tbb::spin_mutex,11,s: 4,249,689 msg/sec tbb::spin_mutex,11,i: 4,210,838 msg/sec tbb::spin_mutex,12,s: 3,782,966 msg/sec tbb::spin_mutex,12,i: 3,443,144 msg/sec tbb::spin_mutex,13,s: 3,525,468 msg/sec tbb::spin_mutex,13,i: 3,340,340 msg/sec tbb::spin_mutex,14,s: 3,461,865 msg/sec tbb::spin_mutex,14,i: 3,080,845 msg/sec tbb::spin_mutex,15,s: 3,314,059 msg/sec tbb::spin_mutex,15,i: 3,250,448 msg/sec tbb::spin_mutex,16,s: 2,885,547 msg/sec tbb::spin_mutex,16,i: 3,013,981 msg/sec Elapsed time 6:13.21, user 5625.86s, system 600.84s, CPU 1668%, RSS 96272kB, exit-status 0. 2026-09-14 13:59:10 [17/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000043 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000087 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000323 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,761,258 msg/sec boost::lockfree::spsc_queue, 1,i: 113,488,779 msg/sec AtomicQueue, 1,s: 140,031,890 msg/sec AtomicQueue, 1,i: 137,862,059 msg/sec AtomicQueue, 2,s: 9,880,198 msg/sec AtomicQueue, 2,i: 10,340,235 msg/sec AtomicQueue, 3,s: 8,347,519 msg/sec AtomicQueue, 3,i: 8,823,257 msg/sec AtomicQueue, 4,s: 6,596,371 msg/sec AtomicQueue, 4,i: 7,011,554 msg/sec AtomicQueue, 5,s: 3,171,407 msg/sec AtomicQueue, 5,i: 4,333,612 msg/sec AtomicQueue, 6,s: 2,595,951 msg/sec AtomicQueue, 6,i: 3,517,251 msg/sec AtomicQueue, 7,s: 2,966,182 msg/sec AtomicQueue, 7,i: 3,200,200 msg/sec AtomicQueue, 8,s: 3,117,479 msg/sec AtomicQueue, 8,i: 2,899,135 msg/sec AtomicQueue, 9,s: 2,908,280 msg/sec AtomicQueue, 9,i: 2,960,870 msg/sec AtomicQueue,10,s: 2,799,002 msg/sec AtomicQueue,10,i: 2,958,409 msg/sec AtomicQueue,11,s: 2,785,228 msg/sec AtomicQueue,11,i: 2,949,125 msg/sec AtomicQueue,12,s: 2,671,191 msg/sec AtomicQueue,12,i: 2,877,128 msg/sec AtomicQueue,13,s: 2,539,832 msg/sec AtomicQueue,13,i: 2,804,041 msg/sec AtomicQueue,14,s: 2,372,738 msg/sec AtomicQueue,14,i: 2,743,483 msg/sec AtomicQueue,15,s: 2,363,475 msg/sec AtomicQueue,15,i: 2,757,572 msg/sec AtomicQueue,16,s: 2,257,705 msg/sec AtomicQueue,16,i: 2,730,465 msg/sec OptimistAtomicQueue, 1,s: 1,204,751,336 msg/sec OptimistAtomicQueue, 1,i: 1,199,851,152 msg/sec OptimistAtomicQueue, 2,s: 53,474,485 msg/sec OptimistAtomicQueue, 2,i: 52,712,868 msg/sec OptimistAtomicQueue, 3,s: 58,712,287 msg/sec OptimistAtomicQueue, 3,i: 59,603,182 msg/sec OptimistAtomicQueue, 4,s: 59,152,110 msg/sec OptimistAtomicQueue, 4,i: 66,031,938 msg/sec OptimistAtomicQueue, 5,s: 33,082,890 msg/sec OptimistAtomicQueue, 5,i: 42,390,537 msg/sec OptimistAtomicQueue, 6,s: 34,484,671 msg/sec OptimistAtomicQueue, 6,i: 35,129,557 msg/sec OptimistAtomicQueue, 7,s: 40,086,903 msg/sec OptimistAtomicQueue, 7,i: 40,131,705 msg/sec OptimistAtomicQueue, 8,s: 50,512,482 msg/sec OptimistAtomicQueue, 8,i: 41,220,740 msg/sec OptimistAtomicQueue, 9,s: 40,986,911 msg/sec OptimistAtomicQueue, 9,i: 45,599,340 msg/sec OptimistAtomicQueue,10,s: 39,919,968 msg/sec OptimistAtomicQueue,10,i: 47,888,050 msg/sec OptimistAtomicQueue,11,s: 44,194,575 msg/sec OptimistAtomicQueue,11,i: 52,957,481 msg/sec OptimistAtomicQueue,12,s: 43,404,281 msg/sec OptimistAtomicQueue,12,i: 57,189,977 msg/sec OptimistAtomicQueue,13,s: 43,455,776 msg/sec OptimistAtomicQueue,13,i: 56,904,094 msg/sec OptimistAtomicQueue,14,s: 43,288,870 msg/sec OptimistAtomicQueue,14,i: 55,564,912 msg/sec OptimistAtomicQueue,15,s: 45,791,612 msg/sec OptimistAtomicQueue,15,i: 60,203,816 msg/sec OptimistAtomicQueue,16,s: 45,878,839 msg/sec OptimistAtomicQueue,16,i: 64,750,407 msg/sec AtomicQueueB, 1,s: 49,381,072 msg/sec AtomicQueueB, 1,i: 50,245,490 msg/sec AtomicQueueB, 2,s: 9,597,998 msg/sec AtomicQueueB, 2,i: 9,981,769 msg/sec AtomicQueueB, 3,s: 8,205,374 msg/sec AtomicQueueB, 3,i: 8,667,062 msg/sec AtomicQueueB, 4,s: 6,550,481 msg/sec AtomicQueueB, 4,i: 6,896,195 msg/sec AtomicQueueB, 5,s: 3,092,911 msg/sec AtomicQueueB, 5,i: 4,315,377 msg/sec AtomicQueueB, 6,s: 2,568,103 msg/sec AtomicQueueB, 6,i: 3,965,524 msg/sec AtomicQueueB, 7,s: 2,909,994 msg/sec AtomicQueueB, 7,i: 3,178,601 msg/sec AtomicQueueB, 8,s: 3,058,129 msg/sec AtomicQueueB, 8,i: 2,865,303 msg/sec AtomicQueueB, 9,s: 2,797,633 msg/sec AtomicQueueB, 9,i: 2,891,518 msg/sec AtomicQueueB,10,s: 2,781,097 msg/sec AtomicQueueB,10,i: 2,923,290 msg/sec AtomicQueueB,11,s: 2,735,308 msg/sec AtomicQueueB,11,i: 2,916,089 msg/sec AtomicQueueB,12,s: 2,670,824 msg/sec AtomicQueueB,12,i: 2,844,181 msg/sec AtomicQueueB,13,s: 2,529,063 msg/sec AtomicQueueB,13,i: 2,788,222 msg/sec AtomicQueueB,14,s: 2,389,781 msg/sec AtomicQueueB,14,i: 2,763,017 msg/sec AtomicQueueB,15,s: 2,370,946 msg/sec AtomicQueueB,15,i: 2,827,348 msg/sec AtomicQueueB,16,s: 2,273,544 msg/sec AtomicQueueB,16,i: 2,727,173 msg/sec OptimistAtomicQueueB, 1,s: 1,098,171,531 msg/sec OptimistAtomicQueueB, 1,i: 804,482,403 msg/sec OptimistAtomicQueueB, 2,s: 50,623,894 msg/sec OptimistAtomicQueueB, 2,i: 49,367,689 msg/sec OptimistAtomicQueueB, 3,s: 58,570,818 msg/sec OptimistAtomicQueueB, 3,i: 61,513,768 msg/sec OptimistAtomicQueueB, 4,s: 59,561,103 msg/sec OptimistAtomicQueueB, 4,i: 66,110,207 msg/sec OptimistAtomicQueueB, 5,s: 33,078,677 msg/sec OptimistAtomicQueueB, 5,i: 38,915,030 msg/sec OptimistAtomicQueueB, 6,s: 34,379,467 msg/sec OptimistAtomicQueueB, 6,i: 33,975,933 msg/sec OptimistAtomicQueueB, 7,s: 39,239,022 msg/sec OptimistAtomicQueueB, 7,i: 39,934,938 msg/sec OptimistAtomicQueueB, 8,s: 51,528,708 msg/sec OptimistAtomicQueueB, 8,i: 41,210,990 msg/sec OptimistAtomicQueueB, 9,s: 40,376,079 msg/sec OptimistAtomicQueueB, 9,i: 44,521,035 msg/sec OptimistAtomicQueueB,10,s: 39,928,113 msg/sec OptimistAtomicQueueB,10,i: 47,216,720 msg/sec OptimistAtomicQueueB,11,s: 44,174,741 msg/sec OptimistAtomicQueueB,11,i: 52,752,992 msg/sec OptimistAtomicQueueB,12,s: 43,850,936 msg/sec OptimistAtomicQueueB,12,i: 56,520,057 msg/sec OptimistAtomicQueueB,13,s: 43,715,586 msg/sec OptimistAtomicQueueB,13,i: 55,975,194 msg/sec OptimistAtomicQueueB,14,s: 43,511,140 msg/sec OptimistAtomicQueueB,14,i: 56,178,116 msg/sec OptimistAtomicQueueB,15,s: 46,210,855 msg/sec OptimistAtomicQueueB,15,i: 60,580,594 msg/sec OptimistAtomicQueueB,16,s: 46,226,752 msg/sec OptimistAtomicQueueB,16,i: 64,533,336 msg/sec AtomicQueue2, 1,s: 133,951,091 msg/sec AtomicQueue2, 1,i: 119,463,807 msg/sec AtomicQueue2, 2,s: 9,954,832 msg/sec AtomicQueue2, 2,i: 10,531,492 msg/sec AtomicQueue2, 3,s: 8,408,365 msg/sec AtomicQueue2, 3,i: 8,926,547 msg/sec AtomicQueue2, 4,s: 6,673,593 msg/sec AtomicQueue2, 4,i: 7,091,422 msg/sec AtomicQueue2, 5,s: 3,135,355 msg/sec AtomicQueue2, 5,i: 4,286,725 msg/sec AtomicQueue2, 6,s: 2,567,303 msg/sec AtomicQueue2, 6,i: 3,974,676 msg/sec AtomicQueue2, 7,s: 2,901,800 msg/sec AtomicQueue2, 7,i: 3,266,123 msg/sec AtomicQueue2, 8,s: 3,029,123 msg/sec AtomicQueue2, 8,i: 2,906,609 msg/sec AtomicQueue2, 9,s: 2,813,258 msg/sec AtomicQueue2, 9,i: 2,873,502 msg/sec AtomicQueue2,10,s: 2,775,387 msg/sec AtomicQueue2,10,i: 2,924,803 msg/sec AtomicQueue2,11,s: 2,746,640 msg/sec AtomicQueue2,11,i: 2,908,547 msg/sec AtomicQueue2,12,s: 2,693,544 msg/sec AtomicQueue2,12,i: 2,840,990 msg/sec AtomicQueue2,13,s: 2,545,494 msg/sec AtomicQueue2,13,i: 2,790,984 msg/sec AtomicQueue2,14,s: 2,392,174 msg/sec AtomicQueue2,14,i: 2,758,170 msg/sec AtomicQueue2,15,s: 2,388,344 msg/sec AtomicQueue2,15,i: 2,731,467 msg/sec AtomicQueue2,16,s: 2,284,468 msg/sec AtomicQueue2,16,i: 2,710,124 msg/sec OptimistAtomicQueue2, 1,s: 107,009,796 msg/sec OptimistAtomicQueue2, 1,i: 107,074,875 msg/sec OptimistAtomicQueue2, 2,s: 43,539,598 msg/sec OptimistAtomicQueue2, 2,i: 46,921,428 msg/sec OptimistAtomicQueue2, 3,s: 54,474,092 msg/sec OptimistAtomicQueue2, 3,i: 49,976,434 msg/sec OptimistAtomicQueue2, 4,s: 59,155,679 msg/sec OptimistAtomicQueue2, 4,i: 57,820,224 msg/sec OptimistAtomicQueue2, 5,s: 31,454,423 msg/sec OptimistAtomicQueue2, 5,i: 34,315,376 msg/sec OptimistAtomicQueue2, 6,s: 32,897,193 msg/sec OptimistAtomicQueue2, 6,i: 32,550,388 msg/sec OptimistAtomicQueue2, 7,s: 37,706,111 msg/sec OptimistAtomicQueue2, 7,i: 37,738,867 msg/sec OptimistAtomicQueue2, 8,s: 49,030,567 msg/sec OptimistAtomicQueue2, 8,i: 39,820,333 msg/sec OptimistAtomicQueue2, 9,s: 37,471,694 msg/sec OptimistAtomicQueue2, 9,i: 42,278,668 msg/sec OptimistAtomicQueue2,10,s: 37,658,191 msg/sec OptimistAtomicQueue2,10,i: 44,122,260 msg/sec OptimistAtomicQueue2,11,s: 43,021,729 msg/sec OptimistAtomicQueue2,11,i: 48,775,439 msg/sec OptimistAtomicQueue2,12,s: 42,005,186 msg/sec OptimistAtomicQueue2,12,i: 52,807,876 msg/sec OptimistAtomicQueue2,13,s: 41,058,948 msg/sec OptimistAtomicQueue2,13,i: 52,050,090 msg/sec OptimistAtomicQueue2,14,s: 40,790,624 msg/sec OptimistAtomicQueue2,14,i: 52,942,942 msg/sec OptimistAtomicQueue2,15,s: 43,234,852 msg/sec OptimistAtomicQueue2,15,i: 56,306,576 msg/sec OptimistAtomicQueue2,16,s: 43,346,440 msg/sec OptimistAtomicQueue2,16,i: 59,043,739 msg/sec AtomicQueueB2, 1,s: 84,634,090 msg/sec AtomicQueueB2, 1,i: 74,415,478 msg/sec AtomicQueueB2, 2,s: 9,829,606 msg/sec AtomicQueueB2, 2,i: 10,415,097 msg/sec AtomicQueueB2, 3,s: 8,305,210 msg/sec AtomicQueueB2, 3,i: 8,845,664 msg/sec AtomicQueueB2, 4,s: 6,613,059 msg/sec AtomicQueueB2, 4,i: 6,972,930 msg/sec AtomicQueueB2, 5,s: 3,094,735 msg/sec AtomicQueueB2, 5,i: 4,308,401 msg/sec AtomicQueueB2, 6,s: 2,549,288 msg/sec AtomicQueueB2, 6,i: 3,984,769 msg/sec AtomicQueueB2, 7,s: 2,894,498 msg/sec AtomicQueueB2, 7,i: 3,264,168 msg/sec AtomicQueueB2, 8,s: 3,020,126 msg/sec AtomicQueueB2, 8,i: 2,839,547 msg/sec AtomicQueueB2, 9,s: 2,726,834 msg/sec AtomicQueueB2, 9,i: 2,832,514 msg/sec AtomicQueueB2,10,s: 2,754,072 msg/sec AtomicQueueB2,10,i: 2,852,965 msg/sec AtomicQueueB2,11,s: 2,800,942 msg/sec AtomicQueueB2,11,i: 2,920,656 msg/sec AtomicQueueB2,12,s: 2,764,746 msg/sec AtomicQueueB2,12,i: 2,844,726 msg/sec AtomicQueueB2,13,s: 2,618,829 msg/sec AtomicQueueB2,13,i: 2,823,663 msg/sec AtomicQueueB2,14,s: 2,454,709 msg/sec AtomicQueueB2,14,i: 2,750,593 msg/sec AtomicQueueB2,15,s: 2,419,144 msg/sec AtomicQueueB2,15,i: 2,743,436 msg/sec AtomicQueueB2,16,s: 2,302,974 msg/sec AtomicQueueB2,16,i: 2,743,652 msg/sec OptimistAtomicQueueB2, 1,s: 154,421,813 msg/sec OptimistAtomicQueueB2, 1,i: 152,076,076 msg/sec OptimistAtomicQueueB2, 2,s: 42,228,502 msg/sec OptimistAtomicQueueB2, 2,i: 45,779,434 msg/sec OptimistAtomicQueueB2, 3,s: 56,893,133 msg/sec OptimistAtomicQueueB2, 3,i: 53,106,558 msg/sec OptimistAtomicQueueB2, 4,s: 58,934,757 msg/sec OptimistAtomicQueueB2, 4,i: 59,835,728 msg/sec OptimistAtomicQueueB2, 5,s: 31,319,433 msg/sec OptimistAtomicQueueB2, 5,i: 31,527,706 msg/sec OptimistAtomicQueueB2, 6,s: 32,920,954 msg/sec OptimistAtomicQueueB2, 6,i: 32,277,856 msg/sec OptimistAtomicQueueB2, 7,s: 37,216,603 msg/sec OptimistAtomicQueueB2, 7,i: 37,028,242 msg/sec OptimistAtomicQueueB2, 8,s: 47,898,073 msg/sec OptimistAtomicQueueB2, 8,i: 38,973,222 msg/sec OptimistAtomicQueueB2, 9,s: 38,080,084 msg/sec OptimistAtomicQueueB2, 9,i: 41,625,204 msg/sec OptimistAtomicQueueB2,10,s: 37,293,602 msg/sec OptimistAtomicQueueB2,10,i: 43,378,291 msg/sec OptimistAtomicQueueB2,11,s: 42,630,689 msg/sec OptimistAtomicQueueB2,11,i: 47,545,348 msg/sec OptimistAtomicQueueB2,12,s: 41,823,206 msg/sec OptimistAtomicQueueB2,12,i: 51,096,906 msg/sec OptimistAtomicQueueB2,13,s: 40,897,799 msg/sec OptimistAtomicQueueB2,13,i: 51,564,824 msg/sec OptimistAtomicQueueB2,14,s: 40,750,166 msg/sec OptimistAtomicQueueB2,14,i: 53,012,292 msg/sec OptimistAtomicQueueB2,15,s: 43,150,623 msg/sec OptimistAtomicQueueB2,15,i: 56,487,356 msg/sec OptimistAtomicQueueB2,16,s: 43,173,992 msg/sec OptimistAtomicQueueB2,16,i: 59,097,473 msg/sec moodycamel::ReaderWriterQueue, 1,s: 227,932,311 msg/sec moodycamel::ReaderWriterQueue, 1,i: 627,358,294 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,184,487 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,248,229 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,622,585 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,004,700 msg/sec moodycamel::ConcurrentQueue, 3,s: 57,792,171 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,945,702 msg/sec moodycamel::ConcurrentQueue, 4,s: 105,757,482 msg/sec moodycamel::ConcurrentQueue, 4,i: 97,589,503 msg/sec moodycamel::ConcurrentQueue, 5,s: 133,708,590 msg/sec moodycamel::ConcurrentQueue, 5,i: 189,181,386 msg/sec moodycamel::ConcurrentQueue, 6,s: 213,514,176 msg/sec moodycamel::ConcurrentQueue, 6,i: 207,151,900 msg/sec moodycamel::ConcurrentQueue, 7,s: 230,686,209 msg/sec moodycamel::ConcurrentQueue, 7,i: 226,918,918 msg/sec moodycamel::ConcurrentQueue, 8,s: 275,477,649 msg/sec moodycamel::ConcurrentQueue, 8,i: 245,887,751 msg/sec moodycamel::ConcurrentQueue, 9,s: 264,299,668 msg/sec moodycamel::ConcurrentQueue, 9,i: 265,391,051 msg/sec moodycamel::ConcurrentQueue,10,s: 261,931,413 msg/sec moodycamel::ConcurrentQueue,10,i: 238,974,146 msg/sec moodycamel::ConcurrentQueue,11,s: 223,286,551 msg/sec moodycamel::ConcurrentQueue,11,i: 277,958,180 msg/sec moodycamel::ConcurrentQueue,12,s: 175,243,833 msg/sec moodycamel::ConcurrentQueue,12,i: 318,692,878 msg/sec moodycamel::ConcurrentQueue,13,s: 208,860,324 msg/sec moodycamel::ConcurrentQueue,13,i: 307,788,884 msg/sec moodycamel::ConcurrentQueue,14,s: 295,007,446 msg/sec moodycamel::ConcurrentQueue,14,i: 304,277,985 msg/sec moodycamel::ConcurrentQueue,15,s: 492,627,065 msg/sec moodycamel::ConcurrentQueue,15,i: 443,308,453 msg/sec moodycamel::ConcurrentQueue,16,s: 520,780,076 msg/sec moodycamel::ConcurrentQueue,16,i: 485,118,410 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,781,170 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,836,520 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,112,127 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,132,665 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,965,943 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,061,821 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,415,146 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,624,468 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,064,986 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,618,404 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,788,109 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,687,557 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,659,108 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,155,645 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,784,119 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,811,516 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,683,827 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,846,834 msg/sec tbb::concurrent_bounded_queue,10,s: 2,751,638 msg/sec tbb::concurrent_bounded_queue,10,i: 2,901,430 msg/sec tbb::concurrent_bounded_queue,11,s: 2,659,264 msg/sec tbb::concurrent_bounded_queue,11,i: 2,817,752 msg/sec tbb::concurrent_bounded_queue,12,s: 2,560,973 msg/sec tbb::concurrent_bounded_queue,12,i: 2,740,222 msg/sec tbb::concurrent_bounded_queue,13,s: 2,501,343 msg/sec tbb::concurrent_bounded_queue,13,i: 2,778,805 msg/sec tbb::concurrent_bounded_queue,14,s: 2,386,430 msg/sec tbb::concurrent_bounded_queue,14,i: 2,762,089 msg/sec tbb::concurrent_bounded_queue,15,s: 2,358,361 msg/sec tbb::concurrent_bounded_queue,15,i: 2,633,286 msg/sec tbb::concurrent_bounded_queue,16,s: 2,262,082 msg/sec tbb::concurrent_bounded_queue,16,i: 2,528,613 msg/sec xenium::michael_scott_queue, 1,s: 13,394,840 msg/sec xenium::michael_scott_queue, 1,i: 13,715,165 msg/sec xenium::michael_scott_queue, 2,s: 9,416,052 msg/sec xenium::michael_scott_queue, 2,i: 9,195,247 msg/sec xenium::michael_scott_queue, 3,s: 7,644,165 msg/sec xenium::michael_scott_queue, 3,i: 7,561,922 msg/sec xenium::michael_scott_queue, 4,s: 5,848,387 msg/sec xenium::michael_scott_queue, 4,i: 5,811,960 msg/sec xenium::michael_scott_queue, 5,s: 3,650,803 msg/sec xenium::michael_scott_queue, 5,i: 4,654,772 msg/sec xenium::michael_scott_queue, 6,s: 3,350,549 msg/sec xenium::michael_scott_queue, 6,i: 3,439,117 msg/sec xenium::michael_scott_queue, 7,s: 3,153,354 msg/sec xenium::michael_scott_queue, 7,i: 3,260,222 msg/sec xenium::michael_scott_queue, 8,s: 2,354,903 msg/sec xenium::michael_scott_queue, 8,i: 2,787,801 msg/sec xenium::michael_scott_queue, 9,s: 2,852,663 msg/sec xenium::michael_scott_queue, 9,i: 2,798,640 msg/sec xenium::michael_scott_queue,10,s: 2,829,689 msg/sec xenium::michael_scott_queue,10,i: 2,830,038 msg/sec xenium::michael_scott_queue,11,s: 2,731,082 msg/sec xenium::michael_scott_queue,11,i: 2,865,356 msg/sec xenium::michael_scott_queue,12,s: 2,576,108 msg/sec xenium::michael_scott_queue,12,i: 2,730,034 msg/sec xenium::michael_scott_queue,13,s: 2,523,752 msg/sec xenium::michael_scott_queue,13,i: 2,645,396 msg/sec xenium::michael_scott_queue,14,s: 2,398,194 msg/sec xenium::michael_scott_queue,14,i: 2,620,498 msg/sec xenium::michael_scott_queue,15,s: 2,334,765 msg/sec xenium::michael_scott_queue,15,i: 2,621,467 msg/sec xenium::michael_scott_queue,16,s: 2,213,853 msg/sec xenium::michael_scott_queue,16,i: 2,500,931 msg/sec xenium::ramalhete_queue, 1,s: 77,758,559 msg/sec xenium::ramalhete_queue, 1,i: 77,415,804 msg/sec xenium::ramalhete_queue, 2,s: 50,250,261 msg/sec xenium::ramalhete_queue, 2,i: 47,007,446 msg/sec xenium::ramalhete_queue, 3,s: 44,267,838 msg/sec xenium::ramalhete_queue, 3,i: 44,884,547 msg/sec xenium::ramalhete_queue, 4,s: 48,514,759 msg/sec xenium::ramalhete_queue, 4,i: 49,300,808 msg/sec xenium::ramalhete_queue, 5,s: 37,365,421 msg/sec xenium::ramalhete_queue, 5,i: 23,374,871 msg/sec xenium::ramalhete_queue, 6,s: 38,802,932 msg/sec xenium::ramalhete_queue, 6,i: 26,721,014 msg/sec xenium::ramalhete_queue, 7,s: 41,048,909 msg/sec xenium::ramalhete_queue, 7,i: 28,972,005 msg/sec xenium::ramalhete_queue, 8,s: 50,991,343 msg/sec xenium::ramalhete_queue, 8,i: 29,554,107 msg/sec xenium::ramalhete_queue, 9,s: 33,403,766 msg/sec xenium::ramalhete_queue, 9,i: 34,986,305 msg/sec xenium::ramalhete_queue,10,s: 35,119,272 msg/sec xenium::ramalhete_queue,10,i: 40,241,796 msg/sec xenium::ramalhete_queue,11,s: 37,240,146 msg/sec xenium::ramalhete_queue,11,i: 41,905,134 msg/sec xenium::ramalhete_queue,12,s: 38,886,227 msg/sec xenium::ramalhete_queue,12,i: 44,208,905 msg/sec xenium::ramalhete_queue,13,s: 39,646,806 msg/sec xenium::ramalhete_queue,13,i: 41,926,704 msg/sec xenium::ramalhete_queue,14,s: 40,254,364 msg/sec xenium::ramalhete_queue,14,i: 42,838,188 msg/sec xenium::ramalhete_queue,15,s: 39,857,877 msg/sec xenium::ramalhete_queue,15,i: 44,090,228 msg/sec xenium::ramalhete_queue,16,s: 39,643,784 msg/sec xenium::ramalhete_queue,16,i: 44,687,755 msg/sec xenium::vyukov_bounded_queue, 1,s: 311,439,133 msg/sec xenium::vyukov_bounded_queue, 1,i: 306,898,248 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,388,628 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,923,161 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,710,044 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,117,096 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,189,653 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,652,033 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,970,867 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,223,024 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,042,549 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,859,277 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,193,767 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,453,080 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,132,120 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,546,735 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,960,397 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,677,107 msg/sec xenium::vyukov_bounded_queue,10,s: 7,716,342 msg/sec xenium::vyukov_bounded_queue,10,i: 6,884,791 msg/sec xenium::vyukov_bounded_queue,11,s: 7,432,470 msg/sec xenium::vyukov_bounded_queue,11,i: 7,211,832 msg/sec xenium::vyukov_bounded_queue,12,s: 7,407,410 msg/sec xenium::vyukov_bounded_queue,12,i: 7,352,496 msg/sec xenium::vyukov_bounded_queue,13,s: 7,148,389 msg/sec xenium::vyukov_bounded_queue,13,i: 7,475,271 msg/sec xenium::vyukov_bounded_queue,14,s: 7,042,343 msg/sec xenium::vyukov_bounded_queue,14,i: 7,352,837 msg/sec xenium::vyukov_bounded_queue,15,s: 7,092,428 msg/sec xenium::vyukov_bounded_queue,15,i: 7,268,752 msg/sec xenium::vyukov_bounded_queue,16,s: 6,859,707 msg/sec xenium::vyukov_bounded_queue,16,i: 7,082,488 msg/sec boost::lockfree::queue, 1,s: 7,772,179 msg/sec boost::lockfree::queue, 1,i: 7,829,012 msg/sec boost::lockfree::queue, 2,s: 5,849,211 msg/sec boost::lockfree::queue, 2,i: 5,917,259 msg/sec boost::lockfree::queue, 3,s: 4,950,921 msg/sec boost::lockfree::queue, 3,i: 4,801,940 msg/sec boost::lockfree::queue, 4,s: 4,371,108 msg/sec boost::lockfree::queue, 4,i: 4,345,463 msg/sec boost::lockfree::queue, 5,s: 2,658,047 msg/sec boost::lockfree::queue, 5,i: 2,914,431 msg/sec boost::lockfree::queue, 6,s: 1,435,417 msg/sec boost::lockfree::queue, 6,i: 2,801,475 msg/sec boost::lockfree::queue, 7,s: 1,374,557 msg/sec boost::lockfree::queue, 7,i: 2,837,178 msg/sec boost::lockfree::queue, 8,s: 1,158,156 msg/sec boost::lockfree::queue, 8,i: 1,877,354 msg/sec boost::lockfree::queue, 9,s: 1,439,096 msg/sec boopthread_spinlock: producers: 5: consumer 3 received too few messages: 0.06% of expected. pthread_spinlock: producers: 5: consumer 2 received too few messages: 0.07% of expected. st::lockfree::queue, 9,i: 1,888,761 msg/sec boost::lockfree::queue,10,s: 1,567,363 msg/sec boost::lockfree::queue,10,i: 1,955,107 msg/sec boost::lockfree::queue,11,s: 1,782,001 msg/sec boost::lockfree::queue,11,i: 1,930,917 msg/sec boost::lockfree::queue,12,s: 1,892,121 msg/sec boost::lockfree::queue,12,i: 1,733,472 msg/sec boost::lockfree::queue,13,s: 1,625,945 msg/sec boost::lockfree::queue,13,i: 1,685,517 msg/sec boost::lockfree::queue,14,s: 1,544,822 msg/sec boost::lockfree::queue,14,i: 1,653,555 msg/sec boost::lockfree::queue,15,s: 1,570,532 msg/sec boost::lockfree::queue,15,i: 1,574,264 msg/sec boost::lockfree::queue,16,s: 1,520,098 msg/sec boost::lockfree::queue,16,i: 1,496,609 msg/sec std::mutex, 1,s: 3,701,134 msg/sec std::mutex, 1,i: 3,828,824 msg/sec std::mutex, 2,s: 13,911,653 msg/sec std::mutex, 2,i: 13,044,880 msg/sec std::mutex, 3,s: 7,247,266 msg/sec std::mutex, 3,i: 6,969,690 msg/sec std::mutex, 4,s: 7,057,752 msg/sec std::mutex, 4,i: 6,651,702 msg/sec std::mutex, 5,s: 3,394,886 msg/sec std::mutex, 5,i: 3,579,706 msg/sec std::mutex, 6,s: 2,974,744 msg/sec std::mutex, 6,i: 2,907,221 msg/sec std::mutex, 7,s: 3,325,224 msg/sec std::mutex, 7,i: 2,945,154 msg/sec std::mutex, 8,s: 3,406,200 msg/sec std::mutex, 8,i: 2,810,584 msg/sec std::mutex, 9,s: 2,918,067 msg/sec std::mutex, 9,i: 2,740,047 msg/sec std::mutex,10,s: 2,632,629 msg/sec std::mutex,10,i: 2,613,835 msg/sec std::mutex,11,s: 2,628,088 msg/sec std::mutex,11,i: 2,620,560 msg/sec std::mutex,12,s: 2,752,411 msg/sec std::mutex,12,i: 2,600,441 msg/sec std::mutex,13,s: 2,517,860 msg/sec std::mutex,13,i: 2,509,489 msg/sec std::mutex,14,s: 2,404,945 msg/sec std::mutex,14,i: 2,338,660 msg/sec std::mutex,15,s: 2,418,470 msg/sec std::mutex,15,i: 2,366,001 msg/sec std::mutex,16,s: 2,341,946 msg/sec std::mutex,16,i: 2,270,797 msg/sec pthread_spinlock, 1,s: 17,736,841 msg/sec pthread_spinlock, 1,i: 18,042,826 msg/sec pthread_spinlock, 2,s: 8,060,216 msg/sec pthread_spinlock, 2,i: 1,566,597 msg/sec pthread_spinlock, 3,s: 1,279,405 msg/sec pthread_spinlock, 3,i: 6,237,711 msg/sec pthread_spinlock, 4,s: 1,027,713 msg/sec pthread_spinlock, 4,i: 1,284,082 msg/sec pthread_spinlock, 5,s: 2,778,462 msg/sec pthread_spinlock, 5,i: 3,881,265 msg/sec pthread_spinlock, 6,s: 2,004,551 msg/sec pthread_spinlock, 6,i: 3,304,168 msg/sec pthread_spinlock, 7,s: 2,936,348 msg/sec pthread_spinlock, 7,i: 3,042,325 msg/sec pthread_spinlock, 8,s: 2,991,693 msg/sec pthread_spinlock, 8,i: 2,677,234 msg/sec pthread_spinlock, 9,s: 2,744,010 msg/sec pthread_spinlock, 9,i: 2,342,434 msg/sec pthread_spinlock,10,s: 2,755,314 msg/sec pthread_spinlock,10,i: 2,385,880 msg/sec pthread_spinlock,11,s: 2,547,004 msg/sec pthread_spinlock,11,i: 2,740,602 msg/sec pthread_spinlock,12,s: 2,574,715 msg/sec pthread_spinlock,12,i: 2,482,827 msg/sec pthread_spinlock,13,s: 2,484,783 msg/sec pthread_spinlock,13,i: 2,273,920 msg/sec pthread_spinlock,14,s: 2,264,881 msg/sec pthread_spinlock,14,i: 2,060,815 msg/sec pthread_spinlock,15,s: 2,015,626 msg/sec pthread_spinlock,15,i: 1,914,868 msg/sec pthread_spinlock,16,s: 1,793,850 msg/sec pthread_spinlock,16,i: 1,595,516 msg/sec tbb::spin_mutex, 1,s: 37,981,173 msg/sec tbb::spin_mutex, 1,i: 37,411,886 msg/sec tbb::spin_mutex, 2,s: 16,455,758 msg/sec tbb::spin_mutex, 2,i: 15,965,907 msg/sec tbb::spin_mutex, 3,s: 12,067,467 msg/sec tbb::spin_mutex, 3,i: 11,921,716 msg/sec tbb::spin_mutex, 4,s: 10,313,354 msg/sec tbb::spin_mutex, 4,i: 9,961,074 msg/sec tbb::spin_mutex, 5,s: 5,959,679 msg/sec tbb::spin_mutex, 5,i: 5,567,400 msg/sec tbb::spin_mutex, 6,s: 5,093,975 msg/sec tbb::spin_mutex, 6,i: 4,769,388 msg/sec tbb::spin_mutex, 7,s: 4,346,714 msg/sec tbb::spin_mutex, 7,i: 4,636,554 msg/sec tbb::spin_mutex, 8,s: 4,304,997 msg/sec tbb::spin_mutex, 8,i: 4,047,770 msg/sec tbb::spin_mutex, 9,s: 4,481,234 msg/sec tbb::spin_mutex, 9,i: 4,360,473 msg/sec tbb::spin_mutex,10,s: 4,456,097 msg/sec tbb::spin_mutex,10,i: 3,619,643 msg/sec tbb::spin_mutex,11,s: 4,229,944 msg/sec tbb::spin_mutex,11,i: 4,024,887 msg/sec tbb::spin_mutex,12,s: 3,800,046 msg/sec tbb::spin_mutex,12,i: 3,670,131 msg/sec tbb::spin_mutex,13,s: 3,565,787 msg/sec tbb::spin_mutex,13,i: 3,239,851 msg/sec tbb::spin_mutex,14,s: 3,463,673 msg/sec tbb::spin_mutex,14,i: 3,211,026 msg/sec tbb::spin_mutex,15,s: 3,203,489 msg/sec tbb::spin_mutex,15,i: 3,091,331 msg/sec tbb::spin_mutex,16,s: 2,910,025 msg/sec tbb::spin_mutex,16,i: 3,008,214 msg/sec Elapsed time 6:11.77, user 5609.68s, system 601.95s, CPU 1670%, RSS 97332kB, exit-status 0. 2026-09-14 14:05:21 [18/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000042 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000105 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,906,545 msg/sec boost::lockfree::spsc_queue, 1,i: 113,177,056 msg/sec AtomicQueue, 1,s: 145,311,290 msg/sec AtomicQueue, 1,i: 140,410,766 msg/sec AtomicQueue, 2,s: 9,883,749 msg/sec AtomicQueue, 2,i: 10,340,565 msg/sec AtomicQueue, 3,s: 8,358,439 msg/sec AtomicQueue, 3,i: 8,808,449 msg/sec AtomicQueue, 4,s: 6,615,896 msg/sec AtomicQueue, 4,i: 7,018,989 msg/sec AtomicQueue, 5,s: 3,166,705 msg/sec AtomicQueue, 5,i: 4,320,033 msg/sec AtomicQueue, 6,s: 2,601,581 msg/sec AtomicQueue, 6,i: 4,026,417 msg/sec AtomicQueue, 7,s: 2,963,108 msg/sec AtomicQueue, 7,i: 3,203,326 msg/sec AtomicQueue, 8,s: 3,116,071 msg/sec AtomicQueue, 8,i: 2,900,572 msg/sec AtomicQueue, 9,s: 2,794,428 msg/sec AtomicQueue, 9,i: 2,947,164 msg/sec AtomicQueue,10,s: 2,800,323 msg/sec AtomicQueue,10,i: 2,969,682 msg/sec AtomicQueue,11,s: 2,787,812 msg/sec AtomicQueue,11,i: 2,922,369 msg/sec AtomicQueue,12,s: 2,678,872 msg/sec AtomicQueue,12,i: 2,852,262 msg/sec AtomicQueue,13,s: 2,523,673 msg/sec AtomicQueue,13,i: 2,826,496 msg/sec AtomicQueue,14,s: 2,369,003 msg/sec AtomicQueue,14,i: 2,780,659 msg/sec AtomicQueue,15,s: 2,361,127 msg/sec AtomicQueue,15,i: 2,752,446 msg/sec AtomicQueue,16,s: 2,255,993 msg/sec AtomicQueue,16,i: 2,733,967 msg/sec OptimistAtomicQueue, 1,s: 1,196,935,859 msg/sec OptimistAtomicQueue, 1,i: 1,190,452,766 msg/sec OptimistAtomicQueue, 2,s: 48,543,161 msg/sec OptimistAtomicQueue, 2,i: 53,129,983 msg/sec OptimistAtomicQueue, 3,s: 58,723,009 msg/sec OptimistAtomicQueue, 3,i: 59,673,034 msg/sec OptimistAtomicQueue, 4,s: 59,181,235 msg/sec OptimistAtomicQueue, 4,i: 65,510,522 msg/sec OptimistAtomicQueue, 5,s: 33,125,497 msg/sec OptimistAtomicQueue, 5,i: 43,749,390 msg/sec OptimistAtomicQueue, 6,s: 34,545,413 msg/sec OptimistAtomicQueue, 6,i: 35,202,344 msg/sec OptimistAtomicQueue, 7,s: 40,007,631 msg/sec OptimistAtomicQueue, 7,i: 40,081,183 msg/sec OptimistAtomicQueue, 8,s: 50,512,942 msg/sec OptimistAtomicQueue, 8,i: 41,224,564 msg/sec OptimistAtomicQueue, 9,s: 40,933,661 msg/sec OptimistAtomicQueue, 9,i: 45,386,758 msg/sec OptimistAtomicQueue,10,s: 39,975,086 msg/sec OptimistAtomicQueue,10,i: 47,697,990 msg/sec OptimistAtomicQueue,11,s: 44,264,273 msg/sec OptimistAtomicQueue,11,i: 52,951,704 msg/sec OptimistAtomicQueue,12,s: 43,232,085 msg/sec OptimistAtomicQueue,12,i: 51,243,110 msg/sec OptimistAtomicQueue,13,s: 43,454,699 msg/sec OptimistAtomicQueue,13,i: 57,118,995 msg/sec OptimistAtomicQueue,14,s: 43,053,173 msg/sec OptimistAtomicQueue,14,i: 55,395,195 msg/sec OptimistAtomicQueue,15,s: 45,848,380 msg/sec OptimistAtomicQueue,15,i: 60,098,242 msg/sec OptimistAtomicQueue,16,s: 45,788,867 msg/sec OptimistAtomicQueue,16,i: 64,778,634 msg/sec AtomicQueueB, 1,s: 49,876,457 msg/sec AtomicQueueB, 1,i: 49,823,626 msg/sec AtomicQueueB, 2,s: 9,649,588 msg/sec AtomicQueueB, 2,i: 10,336,307 msg/sec AtomicQueueB, 3,s: 8,193,723 msg/sec AtomicQueueB, 3,i: 8,646,486 msg/sec AtomicQueueB, 4,s: 6,556,078 msg/sec AtomicQueueB, 4,i: 6,909,673 msg/sec AtomicQueueB, 5,s: 3,122,145 msg/sec AtomicQueueB, 5,i: 3,767,247 msg/sec AtomicQueueB, 6,s: 2,568,587 msg/sec AtomicQueueB, 6,i: 3,488,516 msg/sec AtomicQueueB, 7,s: 2,907,813 msg/sec AtomicQueueB, 7,i: 3,214,248 msg/sec AtomicQueueB, 8,s: 3,059,733 msg/sec AtomicQueueB, 8,i: 2,878,512 msg/sec AtomicQueueB, 9,s: 2,696,817 msg/sec AtomicQueueB, 9,i: 2,838,411 msg/sec AtomicQueueB,10,s: 2,779,132 msg/sec AtomicQueueB,10,i: 2,865,218 msg/sec AtomicQueueB,11,s: 2,731,878 msg/sec AtomicQueueB,11,i: 2,918,826 msg/sec AtomicQueueB,12,s: 2,657,875 msg/sec AtomicQueueB,12,i: 2,848,729 msg/sec AtomicQueueB,13,s: 2,531,968 msg/sec AtomicQueueB,13,i: 2,830,018 msg/sec AtomicQueueB,14,s: 2,384,909 msg/sec AtomicQueueB,14,i: 2,732,519 msg/sec AtomicQueueB,15,s: 2,374,530 msg/sec AtomicQueueB,15,i: 2,822,528 msg/sec AtomicQueueB,16,s: 2,274,952 msg/sec AtomicQueueB,16,i: 2,733,203 msg/sec OptimistAtomicQueueB, 1,s: 516,090,180 msg/sec OptimistAtomicQueueB, 1,i: 556,148,855 msg/sec OptimistAtomicQueueB, 2,s: 48,538,260 msg/sec OptimistAtomicQueueB, 2,i: 49,037,708 msg/sec OptimistAtomicQueueB, 3,s: 58,620,945 msg/sec OptimistAtomicQueueB, 3,i: 58,092,944 msg/sec OptimistAtomicQueueB, 4,s: 59,507,443 msg/sec OptimistAtomicQueueB, 4,i: 64,936,921 msg/sec OptimistAtomicQueueB, 5,s: 33,061,245 msg/sec OptimistAtomicQueueB, 5,i: 38,737,080 msg/sec OptimistAtomicQueueB, 6,s: 34,226,432 msg/sec OptimistAtomicQueueB, 6,i: 34,876,403 msg/sec OptimistAtomicQueueB, 7,s: 39,161,193 msg/sec OptimistAtomicQueueB, 7,i: 39,973,456 msg/sec OptimistAtomicQueueB, 8,s: 51,482,683 msg/sec OptimistAtomicQueueB, 8,i: 41,286,004 msg/sec OptimistAtomicQueueB, 9,s: 40,774,257 msg/sec OptimistAtomicQueueB, 9,i: 44,197,260 msg/sec OptimistAtomicQueueB,10,s: 39,939,052 msg/sec OptimistAtomicQueueB,10,i: 46,912,865 msg/sec OptimistAtomicQueueB,11,s: 44,354,288 msg/sec OptimistAtomicQueueB,11,i: 52,538,674 msg/sec OptimistAtomicQueueB,12,s: 43,830,717 msg/sec OptimistAtomicQueueB,12,i: 56,705,846 msg/sec OptimistAtomicQueueB,13,s: 43,799,409 msg/sec OptimistAtomicQueueB,13,i: 56,311,536 msg/sec OptimistAtomicQueueB,14,s: 43,541,755 msg/sec OptimistAtomicQueueB,14,i: 56,271,844 msg/sec OptimistAtomicQueueB,15,s: 46,209,318 msg/sec OptimistAtomicQueueB,15,i: 60,307,688 msg/sec OptimistAtomicQueueB,16,s: 46,101,615 msg/sec OptimistAtomicQueueB,16,i: 64,751,203 msg/sec AtomicQueue2, 1,s: 131,872,396 msg/sec AtomicQueue2, 1,i: 133,350,394 msg/sec AtomicQueue2, 2,s: 9,938,751 msg/sec AtomicQueue2, 2,i: 10,536,565 msg/sec AtomicQueue2, 3,s: 8,406,934 msg/sec AtomicQueue2, 3,i: 8,884,811 msg/sec AtomicQueue2, 4,s: 6,676,580 msg/sec AtomicQueue2, 4,i: 7,096,904 msg/sec AtomicQueue2, 5,s: 3,140,919 msg/sec AtomicQueue2, 5,i: 3,729,757 msg/sec AtomicQueue2, 6,s: 2,565,555 msg/sec AtomicQueue2, 6,i: 3,503,120 msg/sec AtomicQueue2, 7,s: 2,902,358 msg/sec AtomicQueue2, 7,i: 3,223,736 msg/sec AtomicQueue2, 8,s: 3,012,495 msg/sec AtomicQueue2, 8,i: 2,881,024 msg/sec AtomicQueue2, 9,s: 2,828,793 msg/sec AtomicQueue2, 9,i: 2,871,454 msg/sec AtomicQueue2,10,s: 2,775,579 msg/sec AtomicQueue2,10,i: 2,961,432 msg/sec AtomicQueue2,11,s: 2,742,573 msg/sec AtomicQueue2,11,i: 2,937,386 msg/sec AtomicQueue2,12,s: 2,701,105 msg/sec AtomicQueue2,12,i: 2,847,088 msg/sec AtomicQueue2,13,s: 2,565,573 msg/sec AtomicQueue2,13,i: 2,809,847 msg/sec AtomicQueue2,14,s: 2,395,555 msg/sec AtomicQueue2,14,i: 2,750,951 msg/sec AtomicQueue2,15,s: 2,394,061 msg/sec AtomicQueue2,15,i: 2,811,745 msg/sec AtomicQueue2,16,s: 2,284,575 msg/sec AtomicQueue2,16,i: 2,709,763 msg/sec OptimistAtomicQueue2, 1,s: 107,996,827 msg/sec OptimistAtomicQueue2, 1,i: 107,883,466 msg/sec OptimistAtomicQueue2, 2,s: 43,538,442 msg/sec OptimistAtomicQueue2, 2,i: 47,814,414 msg/sec OptimistAtomicQueue2, 3,s: 55,327,609 msg/sec OptimistAtomicQueue2, 3,i: 49,986,951 msg/sec OptimistAtomicQueue2, 4,s: 59,042,135 msg/sec OptimistAtomicQueue2, 4,i: 57,878,418 msg/sec OptimistAtomicQueue2, 5,s: 31,452,988 msg/sec OptimistAtomicQueue2, 5,i: 34,088,739 msg/sec OptimistAtomicQueue2, 6,s: 32,905,442 msg/sec OptimistAtomicQueue2, 6,i: 32,500,235 msg/sec OptimistAtomicQueue2, 7,s: 37,703,424 msg/sec OptimistAtomicQueue2, 7,i: 37,687,880 msg/sec OptimistAtomicQueue2, 8,s: 49,013,145 msg/sec OptimistAtomicQueue2, 8,i: 39,879,724 msg/sec OptimistAtomicQueue2, 9,s: 37,535,716 msg/sec OptimistAtomicQueue2, 9,i: 42,689,292 msg/sec OptimistAtomicQueue2,10,s: 37,677,771 msg/sec OptimistAtomicQueue2,10,i: 44,424,027 msg/sec OptimistAtomicQueue2,11,s: 42,936,466 msg/sec OptimistAtomicQueue2,11,i: 48,986,529 msg/sec OptimistAtomicQueue2,12,s: 42,074,977 msg/sec OptimistAtomicQueue2,12,i: 52,679,246 msg/sec OptimistAtomicQueue2,13,s: 41,085,263 msg/sec OptimistAtomicQueue2,13,i: 52,066,485 msg/sec OptimistAtomicQueue2,14,s: 40,899,076 msg/sec OptimistAtomicQueue2,14,i: 53,189,306 msg/sec OptimistAtomicQueue2,15,s: 43,153,043 msg/sec OptimistAtomicQueue2,15,i: 56,280,560 msg/sec OptimistAtomicQueue2,16,s: 43,297,644 msg/sec OptimistAtomicQueue2,16,i: 58,940,488 msg/sec AtomicQueueB2, 1,s: 73,267,703 msg/sec AtomicQueueB2, 1,i: 47,960,694 msg/sec AtomicQueueB2, 2,s: 9,840,645 msg/sec AtomicQueueB2, 2,i: 10,445,725 msg/sec AtomicQueueB2, 3,s: 8,313,467 msg/sec AtomicQueueB2, 3,i: 8,842,454 msg/sec AtomicQueueB2, 4,s: 6,613,770 msg/sec AtomicQueueB2, 4,i: 6,970,684 msg/sec AtomicQueueB2, 5,s: 3,095,186 msg/sec AtomicQueueB2, 5,i: 3,673,475 msg/sec AtomicQueueB2, 6,s: 2,549,639 msg/sec AtomicQueueB2, 6,i: 3,461,604 msg/sec AtomicQueueB2, 7,s: 2,894,795 msg/sec AtomicQueueB2, 7,i: 3,164,092 msg/sec AtomicQueueB2, 8,s: 3,014,313 msg/sec AtomicQueueB2, 8,i: 2,866,370 msg/sec AtomicQueueB2, 9,s: 2,791,885 msg/sec AtomicQueueB2, 9,i: 2,868,391 msg/sec AtomicQueueB2,10,s: 2,756,403 msg/sec AtomicQueueB2,10,i: 2,830,591 msg/sec AtomicQueueB2,11,s: 2,797,180 msg/sec AtomicQueueB2,11,i: 2,889,904 msg/sec AtomicQueueB2,12,s: 2,771,258 msg/sec AtomicQueueB2,12,i: 2,850,482 msg/sec AtomicQueueB2,13,s: 2,624,211 msg/sec AtomicQueueB2,13,i: 2,843,286 msg/sec AtomicQueueB2,14,s: 2,470,168 msg/sec AtomicQueueB2,14,i: 2,773,352 msg/sec AtomicQueueB2,15,s: 2,433,427 msg/sec AtomicQueueB2,15,i: 2,761,839 msg/sec AtomicQueueB2,16,s: 2,304,998 msg/sec AtomicQueueB2,16,i: 2,743,451 msg/sec OptimistAtomicQueueB2, 1,s: 153,093,933 msg/sec OptimistAtomicQueueB2, 1,i: 153,500,236 msg/sec OptimistAtomicQueueB2, 2,s: 42,078,446 msg/sec OptimistAtomicQueueB2, 2,i: 45,856,350 msg/sec OptimistAtomicQueueB2, 3,s: 56,891,741 msg/sec OptimistAtomicQueueB2, 3,i: 53,072,596 msg/sec OptimistAtomicQueueB2, 4,s: 59,067,733 msg/sec OptimistAtomicQueueB2, 4,i: 59,918,689 msg/sec OptimistAtomicQueueB2, 5,s: 31,290,240 msg/sec OptimistAtomicQueueB2, 5,i: 31,397,223 msg/sec OptimistAtomicQueueB2, 6,s: 32,836,734 msg/sec OptimistAtomicQueueB2, 6,i: 31,889,625 msg/sec OptimistAtomicQueueB2, 7,s: 37,064,995 msg/sec OptimistAtomicQueueB2, 7,i: 37,132,625 msg/sec OptimistAtomicQueueB2, 8,s: 48,012,365 msg/sec OptimistAtomicQueueB2, 8,i: 38,927,073 msg/sec OptimistAtomicQueueB2, 9,s: 37,234,248 msg/sec OptimistAtomicQueueB2, 9,i: 41,618,811 msg/sec OptimistAtomicQueueB2,10,s: 37,277,365 msg/sec OptimistAtomicQueueB2,10,i: 43,251,316 msg/sec OptimistAtomicQueueB2,11,s: 42,563,572 msg/sec OptimistAtomicQueueB2,11,i: 47,430,342 msg/sec OptimistAtomicQueueB2,12,s: 41,706,813 msg/sec OptimistAtomicQueueB2,12,i: 51,045,968 msg/sec OptimistAtomicQueueB2,13,s: 40,951,777 msg/sec OptimistAtomicQueueB2,13,i: 51,339,098 msg/sec OptimistAtomicQueueB2,14,s: 40,993,230 msg/sec OptimistAtomicQueueB2,14,i: 52,322,597 msg/sec OptimistAtomicQueueB2,15,s: 43,161,965 msg/sec OptimistAtomicQueueB2,15,i: 56,457,761 msg/sec OptimistAtomicQueueB2,16,s: 43,229,515 msg/sec OptimistAtomicQueueB2,16,i: 59,232,519 msg/sec moodycamel::ReaderWriterQueue, 1,s: 532,085,419 msg/sec moodycamel::ReaderWriterQueue, 1,i: 725,788,686 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,159,905 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,023,090 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,245,774 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,061,799 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,704,737 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,766,877 msg/sec moodycamel::ConcurrentQueue, 4,s: 103,164,157 msg/sec moodycamel::ConcurrentQueue, 4,i: 95,958,342 msg/sec moodycamel::ConcurrentQueue, 5,s: 109,880,502 msg/sec moodycamel::ConcurrentQueue, 5,i: 174,322,331 msg/sec moodycamel::ConcurrentQueue, 6,s: 207,469,496 msg/sec moodycamel::ConcurrentQueue, 6,i: 210,764,238 msg/sec moodycamel::ConcurrentQueue, 7,s: 228,360,482 msg/sec moodycamel::ConcurrentQueue, 7,i: 216,156,254 msg/sec moodycamel::ConcurrentQueue, 8,s: 201,544,583 msg/sec moodycamel::ConcurrentQueue, 8,i: 238,603,526 msg/sec moodycamel::ConcurrentQueue, 9,s: 272,053,479 msg/sec moodycamel::ConcurrentQueue, 9,i: 238,533,724 msg/sec moodycamel::ConcurrentQueue,10,s: 233,587,534 msg/sec moodycamel::ConcurrentQueue,10,i: 224,389,049 msg/sec moodycamel::ConcurrentQueue,11,s: 202,318,879 msg/sec moodycamel::ConcurrentQueue,11,i: 180,217,215 msg/sec moodycamel::ConcurrentQueue,12,s: 187,524,437 msg/sec moodycamel::ConcurrentQueue,12,i: 181,535,909 msg/sec moodycamel::ConcurrentQueue,13,s: 265,417,469 msg/sec moodycamel::ConcurrentQueue,13,i: 222,801,966 msg/sec moodycamel::ConcurrentQueue,14,s: 272,641,848 msg/sec moodycamel::ConcurrentQueue,14,i: 351,710,995 msg/sec moodycamel::ConcurrentQueue,15,s: 335,969,354 msg/sec moodycamel::ConcurrentQueue,15,i: 413,231,630 msg/sec moodycamel::ConcurrentQueue,16,s: 493,872,664 msg/sec moodycamel::ConcurrentQueue,16,i: 482,036,422 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,785,494 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,807,669 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,132,214 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,098,666 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,962,126 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,063,404 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,418,107 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,619,211 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,046,213 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,103,188 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,798,122 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,393,018 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,662,795 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,149,868 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,783,087 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,808,332 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,693,368 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,892,789 msg/sec tbb::concurrent_bounded_queue,10,s: 2,760,055 msg/sec tbb::concurrent_bounded_queue,10,i: 2,873,644 msg/sec tbb::concurrent_bounded_queue,11,s: 2,659,595 msg/sec tbb::concurrent_bounded_queue,11,i: 2,817,763 msg/sec tbb::concurrent_bounded_queue,12,s: 2,567,819 msg/sec tbb::concurrent_bounded_queue,12,i: 2,730,737 msg/sec tbb::concurrent_bounded_queue,13,s: 2,501,123 msg/sec tbb::concurrent_bounded_queue,13,i: 2,797,361 msg/sec tbb::concurrent_bounded_queue,14,s: 2,384,498 msg/sec tbb::concurrent_bounded_queue,14,i: 2,745,792 msg/sec tbb::concurrent_bounded_queue,15,s: 2,344,861 msg/sec tbb::concurrent_bounded_queue,15,i: 2,594,937 msg/sec tbb::concurrent_bounded_queue,16,s: 2,257,535 msg/sec tbb::concurrent_bounded_queue,16,i: 2,531,968 msg/sec xenium::michael_scott_queue, 1,s: 13,331,384 msg/sec xenium::michael_scott_queue, 1,i: 13,617,819 msg/sec xenium::michael_scott_queue, 2,s: 9,432,438 msg/sec xenium::michael_scott_queue, 2,i: 9,247,813 msg/sec xenium::michael_scott_queue, 3,s: 7,651,213 msg/sec xenium::michael_scott_queue, 3,i: 7,544,100 msg/sec xenium::michael_scott_queue, 4,s: 5,864,233 msg/sec xenium::michael_scott_queue, 4,i: 5,839,622 msg/sec xenium::michael_scott_queue, 5,s: 3,627,055 msg/sec xenium::michael_scott_queue, 5,i: 3,933,023 msg/sec xenium::michael_scott_queue, 6,s: 3,357,553 msg/sec xenium::michael_scott_queue, 6,i: 3,941,785 msg/sec xenium::michael_scott_queue, 7,s: 3,215,795 msg/sec xenium::michael_scott_queue, 7,i: 3,249,935 msg/sec xenium::michael_scott_queue, 8,s: 2,353,091 msg/sec xenium::michael_scott_queue, 8,i: 2,792,492 msg/sec xenium::michael_scott_queue, 9,s: 2,878,390 msg/sec xenium::michael_scott_queue, 9,i: 2,864,292 msg/sec xenium::michael_scott_queue,10,s: 2,839,870 msg/sec xenium::michael_scott_queue,10,i: 2,822,283 msg/sec xenium::michael_scott_queue,11,s: 2,749,336 msg/sec xenium::michael_scott_queue,11,i: 2,860,874 msg/sec xenium::michael_scott_queue,12,s: 2,576,194 msg/sec xenium::michael_scott_queue,12,i: 2,731,322 msg/sec xenium::michael_scott_queue,13,s: 2,528,080 msg/sec xenium::michael_scott_queue,13,i: 2,651,150 msg/sec xenium::michael_scott_queue,14,s: 2,402,934 msg/sec xenium::michael_scott_queue,14,i: 2,616,204 msg/sec xenium::michael_scott_queue,15,s: 2,325,842 msg/sec xenium::michael_scott_queue,15,i: 2,600,752 msg/sec xenium::michael_scott_queue,16,s: 2,256,438 msg/sec xenium::michael_scott_queue,16,i: 2,538,024 msg/sec xenium::ramalhete_queue, 1,s: 69,799,795 msg/sec xenium::ramalhete_queue, 1,i: 21,927,980 msg/sec xenium::ramalhete_queue, 2,s: 37,161,089 msg/sec xenium::ramalhete_queue, 2,i: 44,866,051 msg/sec xenium::ramalhete_queue, 3,s: 41,682,781 msg/sec xenium::ramalhete_queue, 3,i: 41,485,396 msg/sec xenium::ramalhete_queue, 4,s: 51,369,390 msg/sec xenium::ramalhete_queue, 4,i: 47,365,507 msg/sec xenium::ramalhete_queue, 5,s: 37,798,008 msg/sec xenium::ramalhete_queue, 5,i: 22,977,105 msg/sec xenium::ramalhete_queue, 6,s: 38,842,420 msg/sec xenium::ramalhete_queue, 6,i: 26,445,136 msg/sec xenium::ramalhete_queue, 7,s: 40,459,619 msg/sec xenium::ramalhete_queue, 7,i: 28,438,849 msg/sec xenium::ramalhete_queue, 8,s: 50,487,746 msg/sec xenium::ramalhete_queue, 8,i: 29,522,976 msg/sec xenium::ramalhete_queue, 9,s: 33,189,295 msg/sec xenium::ramalhete_queue, 9,i: 35,299,452 msg/sec xenium::ramalhete_queue,10,s: 35,068,409 msg/sec xenium::ramalhete_queue,10,i: 40,885,955 msg/sec xenium::ramalhete_queue,11,s: 37,384,093 msg/sec xenium::ramalhete_queue,11,i: 41,753,634 msg/sec xenium::ramalhete_queue,12,s: 38,835,970 msg/sec xenium::ramalhete_queue,12,i: 43,875,986 msg/sec xenium::ramalhete_queue,13,s: 39,478,679 msg/sec xenium::ramalhete_queue,13,i: 42,066,473 msg/sec xenium::ramalhete_queue,14,s: 39,945,354 msg/sec xenium::ramalhete_queue,14,i: 42,902,879 msg/sec xenium::ramalhete_queue,15,s: 40,040,798 msg/sec xenium::ramalhete_queue,15,i: 43,736,254 msg/sec xenium::ramalhete_queue,16,s: 39,554,578 msg/sec xenium::ramalhete_queue,16,i: 44,661,850 msg/sec xenium::vyukov_bounded_queue, 1,s: 302,764,447 msg/sec xenium::vyukov_bounded_queue, 1,i: 307,182,947 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,292,728 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,781,019 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,675,607 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,513,505 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,493,346 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,581,633 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,057,300 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,609,809 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,027,510 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,399,202 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,089,243 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,394,026 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,258,040 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,535,604 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,983,487 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,717,214 msg/sec xenium::vyukov_bounded_queue,10,s: 7,541,574 msg/sec xenium::vyukov_bounded_queue,10,i: 6,802,334 msg/sec xenium::vyukov_bounded_queue,11,s: 7,514,070 msg/sec xenium::vyukov_bounded_queue,11,i: 7,224,659 msg/sec xenium::vyukov_bounded_queue,12,s: 7,639,923 msg/sec xenium::vyukov_bounded_queue,12,i: 7,488,198 msg/sec xenium::vyukov_bounded_queue,13,s: 6,989,714 msg/sec xenium::vyukov_bounded_queue,13,i: 7,304,624 msg/sec xenium::vyukov_bounded_queue,14,s: 6,974,748 msg/sec xenium::vyukov_bounded_queue,14,i: 7,445,868 msg/sec xenium::vyukov_bounded_queue,15,s: 7,046,729 msg/sec xenium::vyukov_bounded_queue,15,i: 7,323,088 msg/sec xenium::vyukov_bounded_queue,16,s: 6,876,666 msg/sec xenium::vyukov_bounded_queue,16,i: 7,055,403 msg/sec boost::lockfree::queue, 1,s: 7,844,645 msg/sec boost::lockfree::queue, 1,i: 7,823,557 msg/sec boost::lockfree::queue, 2,s: 5,854,025 msg/sec boost::lockfree::queue, 2,i: 5,900,471 msg/sec boost::lockfree::queue, 3,s: 4,944,425 msg/sec boost::lockfree::queue, 3,i: 4,811,259 msg/sec boost::lockfree::queue, 4,s: 4,379,969 msg/sec boost::lockfree::queue, 4,i: 4,343,977 msg/sec boost::lockfree::queue, 5,s: 2,644,955 msg/sec boost::lockfree::queue, 5,i: 2,607,464 msg/sec boost::lockfree::queue, 6,s: 1,441,089 msg/sec boost::lockfree::queue, 6,i: 2,819,887 msg/sec boost::lockfree::queue, 7,s: 1,392,182 msg/sec boost::lockfree::queue, 7,i: 2,859,762 msg/sec boost::lockfree::queue, 8,s: 1,158,452 msg/sec boost::lockfree::queue, 8,i: 1,836,895 msg/sec boost::lockfree::queue, 9,s: 1,422,109 msg/sec boost::lockfree::queue, 9,i: 1,886,474 msg/sec boost::lockfree::queue,10,s: 1,641,473 msg/sec boost::lockfree::queue,10,i: 1,904,179 msg/sec boost::lockfree::queue,11,s: 1,716,532 msg/sec boost::lockfree::queue,11,i: 1,875,426 msg/sec boost::lockfree::queue,12,s: 1,714,152 msg/sec boost::lockfree::queue,12,i: 1,709,420 msg/sec boost::lockfree::queue,13,s: 1,686,413 msg/sec boost::lockfree::queue,13,i: 1,691,908 msg/sec boost::lockfree::queue,14,s: 1,544,882 msg/sec boost::lockfree::queue,14,i: 1,668,016 msg/sec boost::lockfree::queue,15,s: 1,563,838 msg/sec boost::lockfree::queue,15,i: 1,596,037 msg/sec boost::lockfree::queue,16,s: 1,525,362 msg/sec boost::lockfree::queue,16,i: 1,496,485 msg/sec std::mutex, 1,s: 3,374,678 msg/sec std::mutex, 1,i: 3,411,490 msg/sec std::mutex, 2,s: 13,765,498 msg/sec std::mutex, 2,i: 13,404,181 msg/sec std::mutex, 3,s: 7,004,581 msg/sec std::mutex, 3,i: 6,898,446 msg/sec std::mutex, 4,s: 7,060,218 msg/sec std::mutex, 4,i: 6,653,778 msg/sec std::mutex, 5,s: 3,384,790 msg/sec std::mutex, 5,i: 3,485,605 msg/sec std::mutex, 6,s: 3,049,099 msg/sec std::mutex, 6,i: 2,977,182 msg/sec std::mutex, 7,s: 3,234,712 msg/sec std::mutex, 7,i: 2,881,874 msg/sec std::mutex, 8,s: 3,457,047 msg/sec std::mutex, 8,i: 2,789,480 msg/sec std::mutex, 9,s: 2,884,710 msg/sec std::mutex, 9,i: 2,719,237 msg/sec std::mutex,10,s: 2,620,250 msg/sec std::mutex,10,i: 2,705,971 msg/sec std::mutex,11,s: 2,680,587 msg/sec std::mutex,11,i: 2,829,552 msg/sec std::mutex,12,s: 2,653,047 msg/sec std::mutex,12,i: 2,557,535 msg/sec std::mutex,13,s: 2,489,032 msg/sec std::mutex,13,i: 2,495,702 msg/sec std::mutex,14,s: 2,387,628 msg/sec std::mutex,14,i: 2,336,145 msg/sec std::mutex,15,s: 2,427,299 msg/sec std::mutex,15,i: 2,381,829 msg/sec std::mutex,16,s: 2,350,285 msg/sec std::mutex,16,i: 2,287,172 msg/sec pthread_spinlock, 1,s: 17,923,048 msg/sec pthread_spinlock, 1,i: 17,987,670 msg/sec pthread_spinlock, 2,s: 7,581,783 msg/sec pthread_spinlock, 2,i: 1,504,993 msg/sec pthread_spinlock, 3,s: 625,762 msg/sec pthread_spinlock, 3,i: 6,515,252 msg/sec pthread_spinlock, 4,s: 2,432,959 msg/sec pthread_spinlock, 4,i: 1,166,678 msg/sec pthread_spinlock, 5,s: 2,768,882 msg/sec pthread_spinlock, 5,i: 1,193,640 msg/sec pthread_spinlock, 6,s: 2,010,717 msg/sec pthread_spinlock, 6,i: 3,176,553 msg/sec pthread_spinlock, 7,s: 2,860,006 msg/sec pthread_spinlock, 7,i: 3,080,202 msg/sec pthread_spinlock, 8,s: 2,978,249 msg/sec pthread_spinlock, 8,i: 2,670,776 msg/sec pthread_spinlock, 9,s: 2,801,753 msg/sec pthread_spinlock, 9,i: 2,313,238 msg/sec pthread_spinlock,10,s: 2,722,262 msg/sec pthread_spinlock,10,i: 2,372,650 msg/sec pthread_spinlock,11,s: 2,511,441 msg/sec pthread_spinlock,11,i: 2,367,928 msg/sec pthread_spinlock,12,s: 2,574,634 msg/sec pthread_spinlock,12,i: 2,484,353 msg/sec pthread_spinlock,13,s: 2,300,084 msg/sec pthread_spinlock,13,i: 2,100,373 msg/sec pthread_spinlock,14,s: 2,232,531 msg/sec pthread_spinlock,14,i: 2,118,165 msg/sec pthread_spinlock,15,s: 2,026,430 msg/sec pthread_spinlock,15,i: 1,899,790 msg/sec pthread_spinlock,16,s: 1,799,944 msg/sec pthread_spinlock,16,i: 1,605,555 msg/sec tbb::spin_mutex, 1,s: 38,517,041 msg/sec tbb::spin_mutex, 1,i: 38,400,935 msg/sec tbb::spin_mutex, 2,s: 16,456,435 msg/sec tbb::spin_mutex, 2,i: 15,985,681 msg/sec tbb::spin_mutex, 3,s: 12,040,043 msg/sec tbb::spin_mutex, 3,i: 11,900,474 msg/sec tbb::spin_mutex, 4,s: 10,291,499 msg/sec tbb::spin_mutex, 4,i: 9,981,452 msg/sec tbb::spin_mutex, 5,s: 5,977,030 msg/sec tbb::spin_mutex, 5,i: 5,609,608 msg/sec tbb::spin_mutex, 6,s: 5,108,146 msg/sec tbb::spin_mutex, 6,i: 4,783,930 msg/sec tbb::spin_mutex, 7,s: 4,394,545 msg/sec tbb::spin_mutex, 7,i: 4,591,582 msg/sec tbb::spin_mutex, 8,s: 4,315,334 msg/sec tbb::spin_mutex, 8,i: 4,053,634 msg/sec tbb::spin_mutex, 9,s: 4,638,575 msg/sec tbb::spin_mutex, 9,i: 4,342,352 msg/sec tbb::spin_mutex,10,s: 4,306,919 msg/sec tbb::spin_mutex,10,i: 4,093,413 msg/sec tbb::spin_mutex,11,s: 4,217,133 msg/sec tbb::spin_mutex,11,i: 3,593,537 msg/sec tbb::spin_mutex,12,s: 3,789,067 msg/sec tbb::spin_mutex,12,i: 3,512,955 msg/sec tbb::spin_mutex,13,s: 3,612,443 msg/sec tbb::spin_mutex,13,i: 3,219,532 msg/sec tbb::spin_mutex,14,s: 3,430,641 msg/sec tbb::spin_mutex,14,i: 3,193,595 msg/sec tbb::spin_mutex,15,s: 3,240,759 msg/sec tbb::spin_mutex,15,i: 3,102,899 msg/sec tbb::spin_mutex,16,s: 2,857,108 msg/sec tbb::spin_mutex,16,i: 3,013,836 msg/sec Elapsed time 6:13.54, user 5625.28s, system 602.04s, CPU 1667%, RSS 95992kB, exit-status 0. 2026-09-14 14:11:35 [19/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000326 sec/round-trip pthread_spinlock: 0.000000105 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,818,598 msg/sec boost::lockfree::spsc_queue, 1,i: 112,745,137 msg/sec AtomicQueue, 1,s: 148,018,304 msg/sec AtomicQueue, 1,i: 144,173,318 msg/sec AtomicQueue, 2,s: 9,908,721 msg/sec AtomicQueue, 2,i: 10,356,472 msg/sec AtomicQueue, 3,s: 8,350,359 msg/sec AtomicQueue, 3,i: 8,785,445 msg/sec AtomicQueue, 4,s: 6,603,129 msg/sec AtomicQueue, 4,i: 7,025,675 msg/sec AtomicQueue, 5,s: 3,166,057 msg/sec AtomicQueue, 5,i: 3,745,468 msg/sec AtomicQueue, 6,s: 2,599,580 msg/sec AtomicQueue, 6,i: 3,525,729 msg/sec AtomicQueue, 7,s: 2,958,968 msg/sec AtomicQueue, 7,i: 3,211,019 msg/sec AtomicQueue, 8,s: 3,116,549 msg/sec AtomicQueue, 8,i: 2,895,861 msg/sec AtomicQueue, 9,s: 2,762,252 msg/sec AtomicQueue, 9,i: 2,962,135 msg/sec AtomicQueue,10,s: 2,796,854 msg/sec AtomicQueue,10,i: 2,921,289 msg/sec AtomicQueue,11,s: 2,787,928 msg/sec AtomicQueue,11,i: 2,943,889 msg/sec AtomicQueue,12,s: 2,719,509 msg/sec AtomicQueue,12,i: 2,867,001 msg/sec AtomicQueue,13,s: 2,523,015 msg/sec AtomicQueue,13,i: 2,843,503 msg/sec AtomicQueue,14,s: 2,370,862 msg/sec AtomicQueue,14,i: 2,729,729 msg/sec AtomicQueue,15,s: 2,357,307 msg/sec AtomicQueue,15,i: 2,829,443 msg/sec AtomicQueue,16,s: 2,253,344 msg/sec AtomicQueue,16,i: 2,735,009 msg/sec OptimistAtomicQueue, 1,s: 1,195,933,868 msg/sec OptimistAtomicQueue, 1,i: 1,193,792,383 msg/sec OptimistAtomicQueue, 2,s: 53,195,522 msg/sec OptimistAtomicQueue, 2,i: 54,867,093 msg/sec OptimistAtomicQueue, 3,s: 58,748,883 msg/sec OptimistAtomicQueue, 3,i: 59,245,305 msg/sec OptimistAtomicQueue, 4,s: 59,178,223 msg/sec OptimistAtomicQueue, 4,i: 65,608,256 msg/sec OptimistAtomicQueue, 5,s: 33,095,930 msg/sec OptimistAtomicQueue, 5,i: 38,706,164 msg/sec OptimistAtomicQueue, 6,s: 34,547,310 msg/sec OptimistAtomicQueue, 6,i: 35,055,178 msg/sec OptimistAtomicQueue, 7,s: 40,070,086 msg/sec OptimistAtomicQueue, 7,i: 40,059,235 msg/sec OptimistAtomicQueue, 8,s: 50,803,147 msg/sec OptimistAtomicQueue, 8,i: 41,304,779 msg/sec OptimistAtomicQueue, 9,s: 41,089,504 msg/sec OptimistAtomicQueue, 9,i: 45,721,969 msg/sec OptimistAtomicQueue,10,s: 39,963,296 msg/sec OptimistAtomicQueue,10,i: 48,235,147 msg/sec OptimistAtomicQueue,11,s: 44,437,500 msg/sec OptimistAtomicQueue,11,i: 52,778,773 msg/sec OptimistAtomicQueue,12,s: 43,491,793 msg/sec OptimistAtomicQueue,12,i: 57,203,815 msg/sec OptimistAtomicQueue,13,s: 43,385,173 msg/sec OptimistAtomicQueue,13,i: 54,669,666 msg/sec OptimistAtomicQueue,14,s: 43,240,223 msg/sec OptimistAtomicQueue,14,i: 57,270,628 msg/sec OptimistAtomicQueue,15,s: 45,919,454 msg/sec OptimistAtomicQueue,15,i: 60,346,082 msg/sec OptimistAtomicQueue,16,s: 45,760,979 msg/sec OptimistAtomicQueue,16,i: 64,608,425 msg/sec AtomicQueueB, 1,s: 50,240,517 msg/sec AtomicQueueB, 1,i: 49,895,245 msg/sec AtomicQueueB, 2,s: 9,723,877 msg/sec AtomicQueueB, 2,i: 10,092,490 msg/sec AtomicQueueB, 3,s: 8,192,194 msg/sec AtomicQueueB, 3,i: 8,665,434 msg/sec AtomicQueueB, 4,s: 6,545,793 msg/sec AtomicQueueB, 4,i: 6,897,952 msg/sec AtomicQueueB, 5,s: 3,121,991 msg/sec AtomicQueueB, 5,i: 3,743,594 msg/sec AtomicQueueB, 6,s: 2,571,568 msg/sec AtomicQueueB, 6,i: 3,467,321 msg/sec AtomicQueueB, 7,s: 2,916,435 msg/sec AtomicQueueB, 7,i: 3,163,852 msg/sec AtomicQueueB, 8,s: 3,054,706 msg/sec AtomicQueueB, 8,i: 2,878,127 msg/sec AtomicQueueB, 9,s: 2,877,172 msg/sec AtomicQueueB, 9,i: 2,848,691 msg/sec AtomicQueueB,10,s: 2,797,392 msg/sec AtomicQueueB,10,i: 2,877,557 msg/sec AtomicQueueB,11,s: 2,734,614 msg/sec AtomicQueueB,11,i: 2,906,314 msg/sec AtomicQueueB,12,s: 2,660,246 msg/sec AtomicQueueB,12,i: 2,853,371 msg/sec AtomicQueueB,13,s: 2,523,132 msg/sec AtomicQueueB,13,i: 2,805,909 msg/sec AtomicQueueB,14,s: 2,381,358 msg/sec AtomicQueueB,14,i: 2,759,862 msg/sec AtomicQueueB,15,s: 2,380,735 msg/sec AtomicQueueB,15,i: 2,769,658 msg/sec AtomicQueueB,16,s: 2,276,976 msg/sec AtomicQueueB,16,i: 2,733,897 msg/sec OptimistAtomicQueueB, 1,s: 526,835,148 msg/sec OptimistAtomicQueueB, 1,i: 575,280,839 msg/sec OptimistAtomicQueueB, 2,s: 51,373,427 msg/sec OptimistAtomicQueueB, 2,i: 49,216,153 msg/sec OptimistAtomicQueueB, 3,s: 58,604,764 msg/sec OptimistAtomicQueueB, 3,i: 56,817,559 msg/sec OptimistAtomicQueueB, 4,s: 59,473,610 msg/sec OptimistAtomicQueueB, 4,i: 66,097,404 msg/sec OptimistAtomicQueueB, 5,s: 33,066,044 msg/sec OptimistAtomicQueueB, 5,i: 40,010,528 msg/sec OptimistAtomicQueueB, 6,s: 34,288,171 msg/sec OptimistAtomicQueueB, 6,i: 34,832,573 msg/sec OptimistAtomicQueueB, 7,s: 39,172,484 msg/sec OptimistAtomicQueueB, 7,i: 40,332,601 msg/sec OptimistAtomicQueueB, 8,s: 51,480,297 msg/sec OptimistAtomicQueueB, 8,i: 41,247,825 msg/sec OptimistAtomicQueueB, 9,s: 40,927,965 msg/sec OptimistAtomicQueueB, 9,i: 45,261,452 msg/sec OptimistAtomicQueueB,10,s: 39,856,137 msg/sec OptimistAtomicQueueB,10,i: 44,644,822 msg/sec OptimistAtomicQueueB,11,s: 44,485,832 msg/sec OptimistAtomicQueueB,11,i: 52,651,200 msg/sec OptimistAtomicQueueB,12,s: 43,815,411 msg/sec OptimistAtomicQueueB,12,i: 56,727,944 msg/sec OptimistAtomicQueueB,13,s: 43,676,294 msg/sec OptimistAtomicQueueB,13,i: 55,247,956 msg/sec OptimistAtomicQueueB,14,s: 43,600,415 msg/sec OptimistAtomicQueueB,14,i: 55,017,566 msg/sec OptimistAtomicQueueB,15,s: 46,221,214 msg/sec OptimistAtomicQueueB,15,i: 60,149,029 msg/sec OptimistAtomicQueueB,16,s: 46,115,880 msg/sec OptimistAtomicQueueB,16,i: 64,763,867 msg/sec AtomicQueue2, 1,s: 128,911,942 msg/sec AtomicQueue2, 1,i: 132,374,257 msg/sec AtomicQueue2, 2,s: 9,951,686 msg/sec AtomicQueue2, 2,i: 10,533,768 msg/sec AtomicQueue2, 3,s: 8,421,598 msg/sec AtomicQueue2, 3,i: 8,921,762 msg/sec AtomicQueue2, 4,s: 6,690,668 msg/sec AtomicQueue2, 4,i: 7,075,177 msg/sec AtomicQueue2, 5,s: 3,134,392 msg/sec AtomicQueue2, 5,i: 4,272,192 msg/sec AtomicQueue2, 6,s: 2,568,209 msg/sec AtomicQueue2, 6,i: 3,971,726 msg/sec AtomicQueue2, 7,s: 2,898,161 msg/sec AtomicQueue2, 7,i: 3,200,680 msg/sec AtomicQueue2, 8,s: 3,007,223 msg/sec AtomicQueue2, 8,i: 2,894,491 msg/sec AtomicQueue2, 9,s: 2,835,778 msg/sec AtomicQueue2, 9,i: 2,934,294 msg/sec AtomicQueue2,10,s: 2,776,868 msg/sec AtomicQueue2,10,i: 2,863,366 msg/sec AtomicQueue2,11,s: 2,738,282 msg/sec AtomicQueue2,11,i: 2,899,422 msg/sec AtomicQueue2,12,s: 2,710,105 msg/sec AtomicQueue2,12,i: 2,857,992 msg/sec AtomicQueue2,13,s: 2,542,527 msg/sec AtomicQueue2,13,i: 2,825,762 msg/sec AtomicQueue2,14,s: 2,395,380 msg/sec AtomicQueue2,14,i: 2,754,955 msg/sec AtomicQueue2,15,s: 2,392,971 msg/sec AtomicQueue2,15,i: 2,755,696 msg/sec AtomicQueue2,16,s: 2,286,854 msg/sec AtomicQueue2,16,i: 2,710,847 msg/sec OptimistAtomicQueue2, 1,s: 108,140,941 msg/sec OptimistAtomicQueue2, 1,i: 107,331,611 msg/sec OptimistAtomicQueue2, 2,s: 43,375,300 msg/sec OptimistAtomicQueue2, 2,i: 47,370,061 msg/sec OptimistAtomicQueue2, 3,s: 55,151,701 msg/sec OptimistAtomicQueue2, 3,i: 49,987,251 msg/sec OptimistAtomicQueue2, 4,s: 59,138,817 msg/sec OptimistAtomicQueue2, 4,i: 57,796,865 msg/sec OptimistAtomicQueue2, 5,s: 31,440,588 msg/sec OptimistAtomicQueue2, 5,i: 32,486,698 msg/sec OptimistAtomicQueue2, 6,s: 32,911,051 msg/sec OptimistAtomicQueue2, 6,i: 32,424,605 msg/sec OptimistAtomicQueue2, 7,s: 37,725,784 msg/sec OptimistAtomicQueue2, 7,i: 37,729,456 msg/sec OptimistAtomicQueue2, 8,s: 49,040,474 msg/sec OptimistAtomicQueue2, 8,i: 39,835,022 msg/sec OptimistAtomicQueue2, 9,s: 37,430,165 msg/sec OptimistAtomicQueue2, 9,i: 41,914,534 msg/sec OptimistAtomicQueue2,10,s: 37,499,595 msg/sec OptimistAtomicQueue2,10,i: 43,184,712 msg/sec OptimistAtomicQueue2,11,s: 42,990,455 msg/sec OptimistAtomicQueue2,11,i: 48,474,819 msg/sec OptimistAtomicQueue2,12,s: 42,101,831 msg/sec OptimistAtomicQueue2,12,i: 52,444,780 msg/sec OptimistAtomicQueue2,13,s: 41,104,210 msg/sec OptimistAtomicQueue2,13,i: 52,955,455 msg/sec OptimistAtomicQueue2,14,s: 41,002,777 msg/sec OptimistAtomicQueue2,14,i: 53,352,615 msg/sec OptimistAtomicQueue2,15,s: 43,228,106 msg/sec OptimistAtomicQueue2,15,i: 56,081,152 msg/sec OptimistAtomicQueue2,16,s: 43,333,874 msg/sec OptimistAtomicQueue2,16,i: 59,091,013 msg/sec AtomicQueueB2, 1,s: 76,217,982 msg/sec AtomicQueueB2, 1,i: 69,244,038 msg/sec AtomicQueueB2, 2,s: 9,838,748 msg/sec AtomicQueueB2, 2,i: 10,427,790 msg/sec AtomicQueueB2, 3,s: 8,317,296 msg/sec AtomicQueueB2, 3,i: 8,814,744 msg/sec AtomicQueueB2, 4,s: 6,606,510 msg/sec AtomicQueueB2, 4,i: 6,974,157 msg/sec AtomicQueueB2, 5,s: 3,098,950 msg/sec AtomicQueueB2, 5,i: 4,328,732 msg/sec AtomicQueueB2, 6,s: 2,549,057 msg/sec AtomicQueueB2, 6,i: 3,462,946 msg/sec AtomicQueueB2, 7,s: 2,897,861 msg/sec AtomicQueueB2, 7,i: 3,178,900 msg/sec AtomicQueueB2, 8,s: 3,014,818 msg/sec AtomicQueueB2, 8,i: 2,850,439 msg/sec AtomicQueueB2, 9,s: 2,703,112 msg/sec AtomicQueueB2, 9,i: 2,879,592 msg/sec AtomicQueueB2,10,s: 2,758,463 msg/sec AtomicQueueB2,10,i: 2,846,790 msg/sec AtomicQueueB2,11,s: 2,794,982 msg/sec AtomicQueueB2,11,i: 2,881,151 msg/sec AtomicQueueB2,12,s: 2,786,226 msg/sec AtomicQueueB2,12,i: 2,854,385 msg/sec AtomicQueueB2,13,s: 2,713,478 msg/sec AtomicQueueB2,13,i: 2,810,481 msg/sec AtomicQueueB2,14,s: 2,482,222 msg/sec AtomicQueueB2,14,i: 2,767,480 msg/sec AtomicQueueB2,15,s: 2,439,372 msg/sec AtomicQueueB2,15,i: 2,750,920 msg/sec AtomicQueueB2,16,s: 2,306,458 msg/sec AtomicQueueB2,16,i: 2,745,075 msg/sec OptimistAtomicQueueB2, 1,s: 153,042,154 msg/sec OptimistAtomicQueueB2, 1,i: 152,010,887 msg/sec OptimistAtomicQueueB2, 2,s: 41,995,871 msg/sec OptimistAtomicQueueB2, 2,i: 45,762,361 msg/sec OptimistAtomicQueueB2, 3,s: 56,920,334 msg/sec OptimistAtomicQueueB2, 3,i: 53,160,055 msg/sec OptimistAtomicQueueB2, 4,s: 58,997,828 msg/sec OptimistAtomicQueueB2, 4,i: 59,931,006 msg/sec OptimistAtomicQueueB2, 5,s: 31,337,129 msg/sec OptimistAtomicQueueB2, 5,i: 32,505,409 msg/sec OptimistAtomicQueueB2, 6,s: 32,972,459 msg/sec OptimistAtomicQueueB2, 6,i: 32,249,917 msg/sec OptimistAtomicQueueB2, 7,s: 37,283,551 msg/sec OptimistAtomicQueueB2, 7,i: 37,079,274 msg/sec OptimistAtomicQueueB2, 8,s: 47,871,040 msg/sec OptimistAtomicQueueB2, 8,i: 39,046,722 msg/sec OptimistAtomicQueueB2, 9,s: 37,307,758 msg/sec OptimistAtomicQueueB2, 9,i: 41,647,514 msg/sec OptimistAtomicQueueB2,10,s: 37,256,658 msg/sec OptimistAtomicQueueB2,10,i: 43,291,478 msg/sec OptimistAtomicQueueB2,11,s: 42,474,683 msg/sec OptimistAtomicQueueB2,11,i: 47,157,365 msg/sec OptimistAtomicQueueB2,12,s: 41,714,137 msg/sec OptimistAtomicQueueB2,12,i: 51,121,773 msg/sec OptimistAtomicQueueB2,13,s: 40,957,245 msg/sec OptimistAtomicQueueB2,13,i: 52,236,027 msg/sec OptimistAtomicQueueB2,14,s: 40,728,856 msg/sec OptimistAtomicQueueB2,14,i: 52,668,903 msg/sec OptimistAtomicQueueB2,15,s: 43,047,218 msg/sec OptimistAtomicQueueB2,15,i: 56,320,529 msg/sec OptimistAtomicQueueB2,16,s: 43,184,358 msg/sec OptimistAtomicQueueB2,16,i: 59,207,935 msg/sec moodycamel::ReaderWriterQueue, 1,s: 628,948,391 msg/sec moodycamel::ReaderWriterQueue, 1,i: 236,523,379 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,946,395 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,003,261 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,876,432 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,069,705 msg/sec moodycamel::ConcurrentQueue, 3,s: 56,232,572 msg/sec moodycamel::ConcurrentQueue, 3,i: 59,447,602 msg/sec moodycamel::ConcurrentQueue, 4,s: 100,770,768 msg/sec moodycamel::ConcurrentQueue, 4,i: 100,122,942 msg/sec moodycamel::ConcurrentQueue, 5,s: 122,606,986 msg/sec moodycamel::ConcurrentQueue, 5,i: 190,855,590 msg/sec moodycamel::ConcurrentQueue, 6,s: 194,854,807 msg/sec moodycamel::ConcurrentQueue, 6,i: 225,350,227 msg/sec moodycamel::ConcurrentQueue, 7,s: 230,692,594 msg/sec moodycamel::ConcurrentQueue, 7,i: 234,393,210 msg/sec moodycamel::ConcurrentQueue, 8,s: 276,628,311 msg/sec moodycamel::ConcurrentQueue, 8,i: 223,255,406 msg/sec moodycamel::ConcurrentQueue, 9,s: 271,791,734 msg/sec moodycamel::ConcurrentQueue, 9,i: 225,789,148 msg/sec moodycamel::ConcurrentQueue,10,s: 246,364,486 msg/sec moodycamel::ConcurrentQueue,10,i: 268,727,916 msg/sec moodycamel::ConcurrentQueue,11,s: 206,714,652 msg/sec moodycamel::ConcurrentQueue,11,i: 246,826,046 msg/sec moodycamel::ConcurrentQueue,12,s: 152,909,292 msg/sec moodycamel::ConcurrentQueue,12,i: 237,864,232 msg/sec moodycamel::ConcurrentQueue,13,s: 190,271,419 msg/sec moodycamel::ConcurrentQueue,13,i: 283,211,588 msg/sec moodycamel::ConcurrentQueue,14,s: 310,087,082 msg/sec moodycamel::ConcurrentQueue,14,i: 390,824,511 msg/sec moodycamel::ConcurrentQueue,15,s: 424,291,114 msg/sec moodycamel::ConcurrentQueue,15,i: 485,193,800 msg/sec moodycamel::ConcurrentQueue,16,s: 495,632,579 msg/sec moodycamel::ConcurrentQueue,16,i: 503,886,337 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,807,339 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,836,777 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,132,488 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,136,463 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,972,858 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,069,235 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,418,287 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,622,927 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,074,631 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,108,701 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,798,769 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,400,377 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,663,430 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,269,247 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,785,724 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,810,964 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,645,430 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,910,772 msg/sec tbb::concurrent_bounded_queue,10,s: 2,765,643 msg/sec tbb::concurrent_bounded_queue,10,i: 2,895,578 msg/sec tbb::concurrent_bounded_queue,11,s: 2,663,756 msg/sec tbb::concurrent_bounded_queue,11,i: 2,833,682 msg/sec tbb::concurrent_bounded_queue,12,s: 2,566,427 msg/sec tbb::concurrent_bounded_queue,12,i: 2,721,662 msg/sec tbb::concurrent_bounded_queue,13,s: 2,490,229 msg/sec tbb::concurrent_bounded_queue,13,i: 2,770,174 msg/sec tbb::concurrent_bounded_queue,14,s: 2,382,190 msg/sec tbb::concurrent_bounded_queue,14,i: 2,711,033 msg/sec tbb::concurrent_bounded_queue,15,s: 2,342,654 msg/sec tbb::concurrent_bounded_queue,15,i: 2,604,344 msg/sec tbb::concurrent_bounded_queue,16,s: 2,265,825 msg/sec tbb::concurrent_bounded_queue,16,i: 2,533,760 msg/sec xenium::michael_scott_queue, 1,s: 13,426,748 msg/sec xenium::michael_scott_queue, 1,i: 13,683,431 msg/sec xenium::michael_scott_queue, 2,s: 9,430,749 msg/sec xenium::michael_scott_queue, 2,i: 9,229,910 msg/sec xenium::michael_scott_queue, 3,s: 7,640,110 msg/sec xenium::michael_scott_queue, 3,i: 7,542,388 msg/sec xenium::michael_scott_queue, 4,s: 5,869,225 msg/sec xenium::michael_scott_queue, 4,i: 5,830,366 msg/sec xenium::michael_scott_queue, 5,s: 3,638,570 msg/sec xenium::michael_scott_queue, 5,i: 4,500,798 msg/sec xenium::michael_scott_queue, 6,s: 3,365,641 msg/sec xenium::michael_scott_queue, 6,i: 3,941,326 msg/sec xenium::michael_scott_queue, 7,s: 3,163,108 msg/sec xenium::michael_scott_queue, 7,i: 3,257,176 msg/sec xenium::michael_scott_queue, 8,s: 2,349,932 msg/sec xenium::michael_scott_queue, 8,i: 2,786,574 msg/sec xenium::michael_scott_queue, 9,s: 2,841,041 msg/sec xenium::michael_scott_queue, 9,i: 2,856,110 msg/sec xenium::michael_scott_queue,10,s: 2,817,336 msg/sec xenium::michael_scott_queue,10,i: 2,813,918 msg/sec xenium::michael_scott_queue,11,s: 2,737,438 msg/sec xenium::michael_scott_queue,11,i: 2,889,073 msg/sec xenium::michael_scott_queue,12,s: 2,596,882 msg/sec xenium::michael_scott_queue,12,i: 2,734,084 msg/sec xenium::michael_scott_queue,13,s: 2,526,473 msg/sec xenium::michael_scott_queue,13,i: 2,651,406 msg/sec xenium::michael_scott_queue,14,s: 2,402,213 msg/sec xenium::michael_scott_queue,14,i: 2,623,739 msg/sec xenium::michael_scott_queue,15,s: 2,323,970 msg/sec xenium::michael_scott_queue,15,i: 2,615,197 msg/sec xenium::michael_scott_queue,16,s: 2,210,737 msg/sec xenium::michael_scott_queue,16,i: 2,497,595 msg/sec xenium::ramalhete_queue, 1,s: 72,623,670 msg/sec xenium::ramalhete_queue, 1,i: 69,358,627 msg/sec xenium::ramalhete_queue, 2,s: 45,293,049 msg/sec xenium::ramalhete_queue, 2,i: 36,111,309 msg/sec xenium::ramalhete_queue, 3,s: 41,787,688 msg/sec xenium::ramalhete_queue, 3,i: 40,396,387 msg/sec xenium::ramalhete_queue, 4,s: 49,422,316 msg/sec xenium::ramalhete_queue, 4,i: 48,901,457 msg/sec xenium::ramalhete_queue, 5,s: 37,485,327 msg/sec xenium::ramalhete_queue, 5,i: 23,303,325 msg/sec xenium::ramalhete_queue, 6,s: 38,943,295 msg/sec xenium::ramalhete_queue, 6,i: 26,891,901 msg/sec xenium::ramalhete_queue, 7,s: 40,448,835 msg/sec xenium::ramalhete_queue, 7,i: 28,604,427 msg/sec xenium::ramalhete_queue, 8,s: 50,895,944 msg/sec xenium::ramalhete_queue, 8,i: 29,295,611 msg/sec xenium::ramalhete_queue, 9,s: 35,782,367 msg/sec xenium::ramalhete_queue, 9,i: 35,874,596 msg/sec xenium::ramalhete_queue,10,s: 34,892,019 msg/sec xenium::ramalhete_queue,10,i: 40,736,957 msg/sec xenium::ramalhete_queue,11,s: 37,335,871 msg/sec xenium::ramalhete_queue,11,i: 43,189,695 msg/sec xenium::ramalhete_queue,12,s: 38,895,438 msg/sec xenium::ramalhete_queue,12,i: 41,603,661 msg/sec xenium::ramalhete_queue,13,s: 39,574,071 msg/sec xenium::ramalhete_queue,13,i: 42,396,545 msg/sec xenium::ramalhete_queue,14,s: 39,516,553 msg/sec xenium::ramalhete_queue,14,i: 42,723,603 msg/sec xenium::ramalhete_queue,15,s: 37,992,675 msg/sec xenium::ramalhete_queue,15,i: 43,080,301 msg/sec xenium::ramalhete_queue,16,s: 37,904,628 msg/sec xenium::ramalhete_queue,16,i: 44,543,940 msg/sec xenium::vyukov_bounded_queue, 1,s: 311,981,288 msg/sec xenium::vyukov_bounded_queue, 1,i: 312,360,360 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,490,912 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,687,056 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,400,278 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,779,894 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,291,066 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,602,625 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,049,746 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,407,766 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,084,337 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,891,661 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,266,331 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,419,781 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,222,209 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,502,791 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,152,063 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,739,947 msg/sec xenium::vyukov_bounded_queue,10,s: 7,513,246 msg/sec xenium::vyukov_bounded_queue,10,i: 6,865,331 msg/sec xenium::vyukov_bounded_queue,11,s: 7,310,000 msg/sec xenium::vyukov_bounded_queue,11,i: 7,223,937 msg/sec xenium::vyukov_bounded_queue,12,s: 7,685,028 msg/sec xenium::vyukov_bounded_queue,12,i: 7,348,767 msg/sec xenium::vyukov_bounded_queue,13,s: 7,119,095 msg/sec xenium::vyukov_bounded_queue,13,i: 7,362,782 msg/sec xenium::vyukov_bounded_queue,14,s: 7,045,860 msg/sec xenium::vyukov_bounded_queue,14,i: 7,470,723 msg/sec xenium::vyukov_bounded_queue,15,s: 7,120,382 msg/sec xenium::vyukov_bounded_queue,15,i: 7,323,626 msg/sec xenium::vyukov_bounded_queue,16,s: 6,910,892 msg/sec xenium::vyukov_bounded_queue,16,i: 7,030,648 msg/sec boost::lockfree::queue, 1,s: 7,790,744 msg/sec boost::lockfree::queue, 1,i: 7,904,374 msg/sec boost::lockfree::queue, 2,s: 5,884,228 msg/sec boost::lockfree::queue, 2,i: 5,891,122 msg/sec boost::lockfree::queue, 3,s: 4,947,107 msg/sec boost::lockfree::queue, 3,i: 4,796,997 msg/sec boost::lockfree::queue, 4,s: 4,377,335 msg/sec boost::lockfree::queue, 4,i: 4,346,126 msg/sec boost::lockfree::queue, 5,s: 2,664,964 msg/sec boost::lockfree::queue, 5,i: 2,659,684 msg/sec boost::lockfree::queue, 6,s: 1,427,820 msg/sec boost::lockfree::queue, 6,i: 2,793,631 msg/sec boost::lockfree::queue, 7,s: 1,390,803 msg/sec boost::lockfree::queue, 7,i: 2,845,239 msg/sec boost::lockfree::queue, 8,s: 1,157,811 msg/sec boost::lockfree::queue, 8,i: 2,735,014 msg/sec boost::lockfree::queue, 9,s: 1,428,347 msg/sec boopthread_spinlock: producers: 5: consumer 1 received too few messages: 0.06% of expected. pthread_spinlock: producers: 5: consumer 0 received too few messages: 0.10% of expected. st::lockfree::queue, 9,i: 1,942,512 msg/sec boost::lockfree::queue,10,s: 1,583,318 msg/sec boost::lockfree::queue,10,i: 1,955,831 msg/sec boost::lockfree::queue,11,s: 1,633,456 msg/sec boost::lockfree::queue,11,i: 1,883,080 msg/sec boost::lockfree::queue,12,s: 1,751,457 msg/sec boost::lockfree::queue,12,i: 1,699,533 msg/sec boost::lockfree::queue,13,s: 1,635,005 msg/sec boost::lockfree::queue,13,i: 1,675,512 msg/sec boost::lockfree::queue,14,s: 1,540,087 msg/sec boost::lockfree::queue,14,i: 1,643,888 msg/sec boost::lockfree::queue,15,s: 1,564,739 msg/sec boost::lockfree::queue,15,i: 1,577,167 msg/sec boost::lockfree::queue,16,s: 1,521,109 msg/sec boost::lockfree::queue,16,i: 1,492,561 msg/sec std::mutex, 1,s: 4,899,005 msg/sec std::mutex, 1,i: 4,589,248 msg/sec std::mutex, 2,s: 13,515,175 msg/sec std::mutex, 2,i: 14,040,921 msg/sec std::mutex, 3,s: 7,078,180 msg/sec std::mutex, 3,i: 6,920,245 msg/sec std::mutex, 4,s: 7,030,328 msg/sec std::mutex, 4,i: 6,599,162 msg/sec std::mutex, 5,s: 3,367,062 msg/sec std::mutex, 5,i: 3,421,110 msg/sec std::mutex, 6,s: 3,015,637 msg/sec std::mutex, 6,i: 3,071,522 msg/sec std::mutex, 7,s: 3,246,775 msg/sec std::mutex, 7,i: 2,901,855 msg/sec std::mutex, 8,s: 3,422,971 msg/sec std::mutex, 8,i: 2,806,138 msg/sec std::mutex, 9,s: 2,883,687 msg/sec std::mutex, 9,i: 2,690,073 msg/sec std::mutex,10,s: 2,595,789 msg/sec std::mutex,10,i: 2,600,851 msg/sec std::mutex,11,s: 2,670,737 msg/sec std::mutex,11,i: 2,756,792 msg/sec std::mutex,12,s: 2,645,789 msg/sec std::mutex,12,i: 2,552,593 msg/sec std::mutex,13,s: 2,497,045 msg/sec std::mutex,13,i: 2,439,860 msg/sec std::mutex,14,s: 2,421,825 msg/sec std::mutex,14,i: 2,334,298 msg/sec std::mutex,15,s: 2,430,382 msg/sec std::mutex,15,i: 2,388,274 msg/sec std::mutex,16,s: 2,347,563 msg/sec std::mutex,16,i: 2,288,788 msg/sec pthread_spinlock, 1,s: 17,763,189 msg/sec pthread_spinlock, 1,i: 18,292,577 msg/sec pthread_spinlock, 2,s: 7,511,269 msg/sec pthread_spinlock, 2,i: 1,219,329 msg/sec pthread_spinlock, 3,s: 784,787 msg/sec pthread_spinlock, 3,i: 6,564,959 msg/sec pthread_spinlock, 4,s: 1,084,485 msg/sec pthread_spinlock, 4,i: 1,284,044 msg/sec pthread_spinlock, 5,s: 2,785,805 msg/sec pthread_spinlock, 5,i: 3,899,700 msg/sec pthread_spinlock, 6,s: 1,974,437 msg/sec pthread_spinlock, 6,i: 3,272,079 msg/sec pthread_spinlock, 7,s: 2,812,638 msg/sec pthread_spinlock, 7,i: 3,079,467 msg/sec pthread_spinlock, 8,s: 2,986,120 msg/sec pthread_spinlock, 8,i: 2,653,239 msg/sec pthread_spinlock, 9,s: 2,766,788 msg/sec pthread_spinlock, 9,i: 2,196,989 msg/sec pthread_spinlock,10,s: 2,732,974 msg/sec pthread_spinlock,10,i: 2,385,549 msg/sec pthread_spinlock,11,s: 2,567,948 msg/sec pthread_spinlock,11,i: 2,731,980 msg/sec pthread_spinlock,12,s: 2,462,296 msg/sec pthread_spinlock,12,i: 2,111,966 msg/sec pthread_spinlock,13,s: 2,327,788 msg/sec pthread_spinlock,13,i: 2,124,202 msg/sec pthread_spinlock,14,s: 2,235,515 msg/sec pthread_spinlock,14,i: 2,028,633 msg/sec pthread_spinlock,15,s: 1,994,456 msg/sec pthread_spinlock,15,i: 1,874,035 msg/sec pthread_spinlock,16,s: 1,802,630 msg/sec pthread_spinlock,16,i: 1,601,535 msg/sec tbb::spin_mutex, 1,s: 37,428,170 msg/sec tbb::spin_mutex, 1,i: 37,459,954 msg/sec tbb::spin_mutex, 2,s: 16,477,368 msg/sec tbb::spin_mutex, 2,i: 16,021,714 msg/sec tbb::spin_mutex, 3,s: 12,039,836 msg/sec tbb::spin_mutex, 3,i: 11,887,768 msg/sec tbb::spin_mutex, 4,s: 10,301,034 msg/sec tbb::spin_mutex, 4,i: 9,947,916 msg/sec tbb::spin_mutex, 5,s: 5,979,612 msg/sec tbb::spin_mutex, 5,i: 5,604,908 msg/sec tbb::spin_mutex, 6,s: 5,119,132 msg/sec tbb::spin_mutex, 6,i: 4,927,302 msg/sec tbb::spin_mutex, 7,s: 4,373,724 msg/sec tbb::spin_mutex, 7,i: 4,654,523 msg/sec tbb::spin_mutex, 8,s: 4,277,421 msg/sec tbb::spin_mutex, 8,i: 4,056,795 msg/sec tbb::spin_mutex, 9,s: 4,674,815 msg/sec tbb::spin_mutex, 9,i: 4,367,294 msg/sec tbb::spin_mutex,10,s: 4,437,736 msg/sec tbb::spin_mutex,10,i: 4,266,322 msg/sec tbb::spin_mutex,11,s: 4,275,169 msg/sec tbb::spin_mutex,11,i: 4,027,703 msg/sec tbb::spin_mutex,12,s: 3,722,549 msg/sec tbb::spin_mutex,12,i: 3,476,056 msg/sec tbb::spin_mutex,13,s: 3,397,306 msg/sec tbb::spin_mutex,13,i: 3,243,636 msg/sec tbb::spin_mutex,14,s: 3,431,238 msg/sec tbb::spin_mutex,14,i: 3,096,353 msg/sec tbb::spin_mutex,15,s: 3,212,252 msg/sec tbb::spin_mutex,15,i: 3,074,725 msg/sec tbb::spin_mutex,16,s: 2,900,829 msg/sec tbb::spin_mutex,16,i: 3,004,766 msg/sec Elapsed time 6:12.25, user 5620.30s, system 603.29s, CPU 1671%, RSS 94220kB, exit-status 0. 2026-09-14 14:17:47 [20/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000323 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,552,324 msg/sec boost::lockfree::spsc_queue, 1,i: 112,729,631 msg/sec AtomicQueue, 1,s: 142,163,922 msg/sec AtomicQueue, 1,i: 149,702,316 msg/sec AtomicQueue, 2,s: 9,876,369 msg/sec AtomicQueue, 2,i: 10,348,514 msg/sec AtomicQueue, 3,s: 8,348,835 msg/sec AtomicQueue, 3,i: 8,822,716 msg/sec AtomicQueue, 4,s: 6,605,124 msg/sec AtomicQueue, 4,i: 6,994,923 msg/sec AtomicQueue, 5,s: 3,164,651 msg/sec AtomicQueue, 5,i: 4,306,765 msg/sec AtomicQueue, 6,s: 2,598,320 msg/sec AtomicQueue, 6,i: 4,015,099 msg/sec AtomicQueue, 7,s: 2,969,382 msg/sec AtomicQueue, 7,i: 3,216,551 msg/sec AtomicQueue, 8,s: 3,115,023 msg/sec AtomicQueue, 8,i: 2,902,209 msg/sec AtomicQueue, 9,s: 2,762,100 msg/sec AtomicQueue, 9,i: 2,957,926 msg/sec AtomicQueue,10,s: 2,811,025 msg/sec AtomicQueue,10,i: 2,906,657 msg/sec AtomicQueue,11,s: 2,792,386 msg/sec AtomicQueue,11,i: 2,904,065 msg/sec AtomicQueue,12,s: 2,657,235 msg/sec AtomicQueue,12,i: 2,855,600 msg/sec AtomicQueue,13,s: 2,517,397 msg/sec AtomicQueue,13,i: 2,808,271 msg/sec AtomicQueue,14,s: 2,364,267 msg/sec AtomicQueue,14,i: 2,804,091 msg/sec AtomicQueue,15,s: 2,353,081 msg/sec AtomicQueue,15,i: 2,758,923 msg/sec AtomicQueue,16,s: 2,253,497 msg/sec AtomicQueue,16,i: 2,737,876 msg/sec OptimistAtomicQueue, 1,s: 1,189,023,175 msg/sec OptimistAtomicQueue, 1,i: 1,190,580,322 msg/sec OptimistAtomicQueue, 2,s: 57,308,389 msg/sec OptimistAtomicQueue, 2,i: 52,400,557 msg/sec OptimistAtomicQueue, 3,s: 58,758,790 msg/sec OptimistAtomicQueue, 3,i: 59,364,354 msg/sec OptimistAtomicQueue, 4,s: 59,254,840 msg/sec OptimistAtomicQueue, 4,i: 64,539,209 msg/sec OptimistAtomicQueue, 5,s: 33,105,188 msg/sec OptimistAtomicQueue, 5,i: 49,363,668 msg/sec OptimistAtomicQueue, 6,s: 34,471,571 msg/sec OptimistAtomicQueue, 6,i: 35,163,910 msg/sec OptimistAtomicQueue, 7,s: 40,291,391 msg/sec OptimistAtomicQueue, 7,i: 40,028,465 msg/sec OptimistAtomicQueue, 8,s: 50,529,251 msg/sec OptimistAtomicQueue, 8,i: 41,238,198 msg/sec OptimistAtomicQueue, 9,s: 40,701,934 msg/sec OptimistAtomicQueue, 9,i: 44,419,785 msg/sec OptimistAtomicQueue,10,s: 40,071,114 msg/sec OptimistAtomicQueue,10,i: 47,702,244 msg/sec OptimistAtomicQueue,11,s: 44,326,331 msg/sec OptimistAtomicQueue,11,i: 53,044,166 msg/sec OptimistAtomicQueue,12,s: 43,385,677 msg/sec OptimistAtomicQueue,12,i: 57,026,101 msg/sec OptimistAtomicQueue,13,s: 43,386,547 msg/sec OptimistAtomicQueue,13,i: 57,017,420 msg/sec OptimistAtomicQueue,14,s: 43,305,160 msg/sec OptimistAtomicQueue,14,i: 56,375,417 msg/sec OptimistAtomicQueue,15,s: 45,823,086 msg/sec OptimistAtomicQueue,15,i: 60,119,341 msg/sec OptimistAtomicQueue,16,s: 45,802,541 msg/sec OptimistAtomicQueue,16,i: 64,770,285 msg/sec AtomicQueueB, 1,s: 50,217,685 msg/sec AtomicQueueB, 1,i: 49,805,314 msg/sec AtomicQueueB, 2,s: 9,702,219 msg/sec AtomicQueueB, 2,i: 10,226,090 msg/sec AtomicQueueB, 3,s: 8,239,874 msg/sec AtomicQueueB, 3,i: 8,665,442 msg/sec AtomicQueueB, 4,s: 6,543,296 msg/sec AtomicQueueB, 4,i: 6,917,516 msg/sec AtomicQueueB, 5,s: 3,124,714 msg/sec AtomicQueueB, 5,i: 4,318,831 msg/sec AtomicQueueB, 6,s: 2,573,840 msg/sec AtomicQueueB, 6,i: 3,510,860 msg/sec AtomicQueueB, 7,s: 2,911,589 msg/sec AtomicQueueB, 7,i: 3,180,100 msg/sec AtomicQueueB, 8,s: 3,057,019 msg/sec AtomicQueueB, 8,i: 2,862,648 msg/sec AtomicQueueB, 9,s: 2,775,240 msg/sec AtomicQueueB, 9,i: 2,887,393 msg/sec AtomicQueueB,10,s: 2,789,918 msg/sec AtomicQueueB,10,i: 2,870,648 msg/sec AtomicQueueB,11,s: 2,743,047 msg/sec AtomicQueueB,11,i: 2,907,564 msg/sec AtomicQueueB,12,s: 2,675,819 msg/sec AtomicQueueB,12,i: 2,851,685 msg/sec AtomicQueueB,13,s: 2,519,025 msg/sec AtomicQueueB,13,i: 2,793,918 msg/sec AtomicQueueB,14,s: 2,396,561 msg/sec AtomicQueueB,14,i: 2,762,738 msg/sec AtomicQueueB,15,s: 2,375,523 msg/sec AtomicQueueB,15,i: 2,746,954 msg/sec AtomicQueueB,16,s: 2,276,997 msg/sec AtomicQueueB,16,i: 2,732,643 msg/sec OptimistAtomicQueueB, 1,s: 530,428,755 msg/sec OptimistAtomicQueueB, 1,i: 502,640,266 msg/sec OptimistAtomicQueueB, 2,s: 49,323,446 msg/sec OptimistAtomicQueueB, 2,i: 49,109,471 msg/sec OptimistAtomicQueueB, 3,s: 58,601,055 msg/sec OptimistAtomicQueueB, 3,i: 57,471,796 msg/sec OptimistAtomicQueueB, 4,s: 59,598,943 msg/sec OptimistAtomicQueueB, 4,i: 66,037,388 msg/sec OptimistAtomicQueueB, 5,s: 33,022,030 msg/sec OptimistAtomicQueueB, 5,i: 37,930,751 msg/sec OptimistAtomicQueueB, 6,s: 34,297,720 msg/sec OptimistAtomicQueueB, 6,i: 34,899,992 msg/sec OptimistAtomicQueueB, 7,s: 39,142,462 msg/sec OptimistAtomicQueueB, 7,i: 39,956,558 msg/sec OptimistAtomicQueueB, 8,s: 51,476,693 msg/sec OptimistAtomicQueueB, 8,i: 41,203,179 msg/sec OptimistAtomicQueueB, 9,s: 40,907,172 msg/sec OptimistAtomicQueueB, 9,i: 45,508,700 msg/sec OptimistAtomicQueueB,10,s: 40,025,774 msg/sec OptimistAtomicQueueB,10,i: 46,918,698 msg/sec OptimistAtomicQueueB,11,s: 44,387,204 msg/sec OptimistAtomicQueueB,11,i: 52,572,840 msg/sec OptimistAtomicQueueB,12,s: 43,822,880 msg/sec OptimistAtomicQueueB,12,i: 61,320,711 msg/sec OptimistAtomicQueueB,13,s: 43,688,525 msg/sec OptimistAtomicQueueB,13,i: 56,347,897 msg/sec OptimistAtomicQueueB,14,s: 43,486,562 msg/sec OptimistAtomicQueueB,14,i: 55,388,322 msg/sec OptimistAtomicQueueB,15,s: 46,306,247 msg/sec OptimistAtomicQueueB,15,i: 60,008,769 msg/sec OptimistAtomicQueueB,16,s: 46,193,633 msg/sec OptimistAtomicQueueB,16,i: 64,991,827 msg/sec AtomicQueue2, 1,s: 133,361,597 msg/sec AtomicQueue2, 1,i: 125,343,016 msg/sec AtomicQueue2, 2,s: 9,948,663 msg/sec AtomicQueue2, 2,i: 10,526,926 msg/sec AtomicQueue2, 3,s: 8,409,937 msg/sec AtomicQueue2, 3,i: 8,909,165 msg/sec AtomicQueue2, 4,s: 6,692,993 msg/sec AtomicQueue2, 4,i: 7,096,113 msg/sec AtomicQueue2, 5,s: 3,137,697 msg/sec AtomicQueue2, 5,i: 3,702,609 msg/sec AtomicQueue2, 6,s: 2,567,540 msg/sec AtomicQueue2, 6,i: 3,970,727 msg/sec AtomicQueue2, 7,s: 2,898,892 msg/sec AtomicQueue2, 7,i: 3,268,023 msg/sec AtomicQueue2, 8,s: 3,022,403 msg/sec AtomicQueue2, 8,i: 2,894,213 msg/sec AtomicQueue2, 9,s: 2,697,910 msg/sec AtomicQueue2, 9,i: 2,866,404 msg/sec AtomicQueue2,10,s: 2,776,025 msg/sec AtomicQueue2,10,i: 2,878,952 msg/sec AtomicQueue2,11,s: 2,743,933 msg/sec AtomicQueue2,11,i: 2,928,524 msg/sec AtomicQueue2,12,s: 2,687,949 msg/sec AtomicQueue2,12,i: 2,847,670 msg/sec AtomicQueue2,13,s: 2,544,323 msg/sec AtomicQueue2,13,i: 2,787,028 msg/sec AtomicQueue2,14,s: 2,395,701 msg/sec AtomicQueue2,14,i: 2,740,665 msg/sec AtomicQueue2,15,s: 2,388,256 msg/sec AtomicQueue2,15,i: 2,730,771 msg/sec AtomicQueue2,16,s: 2,286,016 msg/sec AtomicQueue2,16,i: 2,713,954 msg/sec OptimistAtomicQueue2, 1,s: 107,510,580 msg/sec OptimistAtomicQueue2, 1,i: 107,553,710 msg/sec OptimistAtomicQueue2, 2,s: 43,814,946 msg/sec OptimistAtomicQueue2, 2,i: 46,798,463 msg/sec OptimistAtomicQueue2, 3,s: 56,177,134 msg/sec OptimistAtomicQueue2, 3,i: 49,989,425 msg/sec OptimistAtomicQueue2, 4,s: 59,114,626 msg/sec OptimistAtomicQueue2, 4,i: 57,802,912 msg/sec OptimistAtomicQueue2, 5,s: 31,439,530 msg/sec OptimistAtomicQueue2, 5,i: 32,632,886 msg/sec OptimistAtomicQueue2, 6,s: 32,871,555 msg/sec OptimistAtomicQueue2, 6,i: 32,488,747 msg/sec OptimistAtomicQueue2, 7,s: 37,642,441 msg/sec OptimistAtomicQueue2, 7,i: 37,726,780 msg/sec OptimistAtomicQueue2, 8,s: 50,640,736 msg/sec OptimistAtomicQueue2, 8,i: 39,846,291 msg/sec OptimistAtomicQueue2, 9,s: 37,541,888 msg/sec OptimistAtomicQueue2, 9,i: 42,365,841 msg/sec OptimistAtomicQueue2,10,s: 37,582,362 msg/sec OptimistAtomicQueue2,10,i: 44,020,507 msg/sec OptimistAtomicQueue2,11,s: 43,116,606 msg/sec OptimistAtomicQueue2,11,i: 46,799,676 msg/sec OptimistAtomicQueue2,12,s: 42,066,393 msg/sec OptimistAtomicQueue2,12,i: 51,764,428 msg/sec OptimistAtomicQueue2,13,s: 41,066,350 msg/sec OptimistAtomicQueue2,13,i: 52,923,927 msg/sec OptimistAtomicQueue2,14,s: 40,823,844 msg/sec OptimistAtomicQueue2,14,i: 52,734,671 msg/sec OptimistAtomicQueue2,15,s: 43,103,921 msg/sec OptimistAtomicQueue2,15,i: 56,284,107 msg/sec OptimistAtomicQueue2,16,s: 43,315,686 msg/sec OptimistAtomicQueue2,16,i: 59,010,257 msg/sec AtomicQueueB2, 1,s: 62,856,572 msg/sec AtomicQueueB2, 1,i: 72,105,059 msg/sec AtomicQueueB2, 2,s: 9,828,830 msg/sec AtomicQueueB2, 2,i: 10,423,589 msg/sec AtomicQueueB2, 3,s: 8,324,017 msg/sec AtomicQueueB2, 3,i: 8,826,838 msg/sec AtomicQueueB2, 4,s: 6,598,895 msg/sec AtomicQueueB2, 4,i: 6,968,477 msg/sec AtomicQueueB2, 5,s: 3,098,348 msg/sec AtomicQueueB2, 5,i: 4,291,915 msg/sec AtomicQueueB2, 6,s: 2,550,372 msg/sec AtomicQueueB2, 6,i: 3,978,287 msg/sec AtomicQueueB2, 7,s: 2,898,446 msg/sec AtomicQueueB2, 7,i: 3,162,795 msg/sec AtomicQueueB2, 8,s: 3,020,291 msg/sec AtomicQueueB2, 8,i: 2,853,899 msg/sec AtomicQueueB2, 9,s: 2,733,657 msg/sec AtomicQueueB2, 9,i: 2,838,085 msg/sec AtomicQueueB2,10,s: 2,832,213 msg/sec AtomicQueueB2,10,i: 2,886,313 msg/sec AtomicQueueB2,11,s: 2,818,241 msg/sec AtomicQueueB2,11,i: 2,885,360 msg/sec AtomicQueueB2,12,s: 2,770,124 msg/sec AtomicQueueB2,12,i: 2,857,888 msg/sec AtomicQueueB2,13,s: 2,632,600 msg/sec AtomicQueueB2,13,i: 2,824,216 msg/sec AtomicQueueB2,14,s: 2,460,033 msg/sec AtomicQueueB2,14,i: 2,772,534 msg/sec AtomicQueueB2,15,s: 2,429,128 msg/sec AtomicQueueB2,15,i: 2,747,633 msg/sec AtomicQueueB2,16,s: 2,303,985 msg/sec AtomicQueueB2,16,i: 2,743,327 msg/sec OptimistAtomicQueueB2, 1,s: 154,349,595 msg/sec OptimistAtomicQueueB2, 1,i: 153,663,928 msg/sec OptimistAtomicQueueB2, 2,s: 42,024,726 msg/sec OptimistAtomicQueueB2, 2,i: 45,877,913 msg/sec OptimistAtomicQueueB2, 3,s: 56,814,718 msg/sec OptimistAtomicQueueB2, 3,i: 53,180,070 msg/sec OptimistAtomicQueueB2, 4,s: 58,976,152 msg/sec OptimistAtomicQueueB2, 4,i: 59,761,816 msg/sec OptimistAtomicQueueB2, 5,s: 31,347,433 msg/sec OptimistAtomicQueueB2, 5,i: 32,423,815 msg/sec OptimistAtomicQueueB2, 6,s: 32,871,447 msg/sec OptimistAtomicQueueB2, 6,i: 32,314,914 msg/sec OptimistAtomicQueueB2, 7,s: 37,185,189 msg/sec OptimistAtomicQueueB2, 7,i: 37,030,504 msg/sec OptimistAtomicQueueB2, 8,s: 48,009,553 msg/sec OptimistAtomicQueueB2, 8,i: 38,990,515 msg/sec OptimistAtomicQueueB2, 9,s: 37,016,350 msg/sec OptimistAtomicQueueB2, 9,i: 41,236,351 msg/sec OptimistAtomicQueueB2,10,s: 37,316,996 msg/sec OptimistAtomicQueueB2,10,i: 43,100,305 msg/sec OptimistAtomicQueueB2,11,s: 42,578,396 msg/sec OptimistAtomicQueueB2,11,i: 47,387,976 msg/sec OptimistAtomicQueueB2,12,s: 41,800,498 msg/sec OptimistAtomicQueueB2,12,i: 50,868,029 msg/sec OptimistAtomicQueueB2,13,s: 40,898,502 msg/sec OptimistAtomicQueueB2,13,i: 52,375,635 msg/sec OptimistAtomicQueueB2,14,s: 40,734,680 msg/sec OptimistAtomicQueueB2,14,i: 53,316,746 msg/sec OptimistAtomicQueueB2,15,s: 43,043,642 msg/sec OptimistAtomicQueueB2,15,i: 56,794,980 msg/sec OptimistAtomicQueueB2,16,s: 43,236,188 msg/sec OptimistAtomicQueueB2,16,i: 59,140,286 msg/sec moodycamel::ReaderWriterQueue, 1,s: 414,318,420 msg/sec moodycamel::ReaderWriterQueue, 1,i: 128,239,784 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,062,317 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,114,439 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,261,253 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,426,777 msg/sec moodycamel::ConcurrentQueue, 3,s: 65,639,867 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,343,941 msg/sec moodycamel::ConcurrentQueue, 4,s: 97,834,584 msg/sec moodycamel::ConcurrentQueue, 4,i: 93,800,164 msg/sec moodycamel::ConcurrentQueue, 5,s: 139,054,227 msg/sec moodycamel::ConcurrentQueue, 5,i: 170,017,841 msg/sec moodycamel::ConcurrentQueue, 6,s: 197,341,094 msg/sec moodycamel::ConcurrentQueue, 6,i: 142,452,175 msg/sec moodycamel::ConcurrentQueue, 7,s: 228,676,407 msg/sec moodycamel::ConcurrentQueue, 7,i: 195,898,023 msg/sec moodycamel::ConcurrentQueue, 8,s: 286,868,102 msg/sec moodycamel::ConcurrentQueue, 8,i: 223,641,348 msg/sec moodycamel::ConcurrentQueue, 9,s: 257,976,592 msg/sec moodycamel::ConcurrentQueue, 9,i: 214,720,710 msg/sec moodycamel::ConcurrentQueue,10,s: 309,041,670 msg/sec moodycamel::ConcurrentQueue,10,i: 239,531,667 msg/sec moodycamel::ConcurrentQueue,11,s: 275,290,060 msg/sec moodycamel::ConcurrentQueue,11,i: 204,108,537 msg/sec moodycamel::ConcurrentQueue,12,s: 179,645,454 msg/sec moodycamel::ConcurrentQueue,12,i: 225,979,970 msg/sec moodycamel::ConcurrentQueue,13,s: 245,824,214 msg/sec moodycamel::ConcurrentQueue,13,i: 282,186,275 msg/sec moodycamel::ConcurrentQueue,14,s: 341,434,365 msg/sec moodycamel::ConcurrentQueue,14,i: 375,316,265 msg/sec moodycamel::ConcurrentQueue,15,s: 435,524,067 msg/sec moodycamel::ConcurrentQueue,15,i: 435,090,144 msg/sec moodycamel::ConcurrentQueue,16,s: 513,071,644 msg/sec moodycamel::ConcurrentQueue,16,i: 507,538,225 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,807,128 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,821,178 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,139,342 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,131,591 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,972,612 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,068,718 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,421,423 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,620,296 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,917 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,108,930 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,788,233 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,406,799 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,662,400 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,138,683 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,782,971 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,794,355 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,636,934 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,905,156 msg/sec tbb::concurrent_bounded_queue,10,s: 2,749,029 msg/sec tbb::concurrent_bounded_queue,10,i: 2,917,666 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,571 msg/sec tbb::concurrent_bounded_queue,11,i: 2,861,588 msg/sec tbb::concurrent_bounded_queue,12,s: 2,568,521 msg/sec tbb::concurrent_bounded_queue,12,i: 2,811,920 msg/sec tbb::concurrent_bounded_queue,13,s: 2,487,274 msg/sec tbb::concurrent_bounded_queue,13,i: 2,746,248 msg/sec tbb::concurrent_bounded_queue,14,s: 2,383,860 msg/sec tbb::concurrent_bounded_queue,14,i: 2,749,533 msg/sec tbb::concurrent_bounded_queue,15,s: 2,345,061 msg/sec tbb::concurrent_bounded_queue,15,i: 2,616,152 msg/sec tbb::concurrent_bounded_queue,16,s: 2,266,416 msg/sec tbb::concurrent_bounded_queue,16,i: 2,531,620 msg/sec xenium::michael_scott_queue, 1,s: 13,435,459 msg/sec xenium::michael_scott_queue, 1,i: 13,722,981 msg/sec xenium::michael_scott_queue, 2,s: 9,430,797 msg/sec xenium::michael_scott_queue, 2,i: 9,272,305 msg/sec xenium::michael_scott_queue, 3,s: 7,660,049 msg/sec xenium::michael_scott_queue, 3,i: 7,554,585 msg/sec xenium::michael_scott_queue, 4,s: 5,849,339 msg/sec xenium::michael_scott_queue, 4,i: 5,815,464 msg/sec xenium::michael_scott_queue, 5,s: 3,661,429 msg/sec xenium::michael_scott_queue, 5,i: 3,935,104 msg/sec xenium::michael_scott_queue, 6,s: 3,352,372 msg/sec xenium::michael_scott_queue, 6,i: 3,934,308 msg/sec xenium::michael_scott_queue, 7,s: 3,172,505 msg/sec xenium::michael_scott_queue, 7,i: 3,262,222 msg/sec xenium::michael_scott_queue, 8,s: 2,357,216 msg/sec xenium::michael_scott_queue, 8,i: 2,790,979 msg/sec xenium::michael_scott_queue, 9,s: 2,894,636 msg/sec xenium::michael_scott_queue, 9,i: 2,830,404 msg/sec xenium::michael_scott_queue,10,s: 2,822,796 msg/sec xenium::michael_scott_queue,10,i: 2,900,660 msg/sec xenium::michael_scott_queue,11,s: 2,733,013 msg/sec xenium::michael_scott_queue,11,i: 2,877,862 msg/sec xenium::michael_scott_queue,12,s: 2,573,576 msg/sec xenium::michael_scott_queue,12,i: 2,788,491 msg/sec xenium::michael_scott_queue,13,s: 2,545,032 msg/sec xenium::michael_scott_queue,13,i: 2,675,856 msg/sec xenium::michael_scott_queue,14,s: 2,441,343 msg/sec xenium::michael_scott_queue,14,i: 2,659,125 msg/sec xenium::michael_scott_queue,15,s: 2,364,647 msg/sec xenium::michael_scott_queue,15,i: 2,634,208 msg/sec xenium::michael_scott_queue,16,s: 2,245,051 msg/sec xenium::michael_scott_queue,16,i: 2,532,828 msg/sec xenium::ramalhete_queue, 1,s: 75,359,885 msg/sec xenium::ramalhete_queue, 1,i: 71,432,302 msg/sec xenium::ramalhete_queue, 2,s: 39,534,375 msg/sec xenium::ramalhete_queue, 2,i: 33,639,555 msg/sec xenium::ramalhete_queue, 3,s: 44,026,428 msg/sec xenium::ramalhete_queue, 3,i: 40,522,035 msg/sec xenium::ramalhete_queue, 4,s: 48,423,048 msg/sec xenium::ramalhete_queue, 4,i: 45,854,373 msg/sec xenium::ramalhete_queue, 5,s: 37,595,530 msg/sec xenium::ramalhete_queue, 5,i: 23,160,574 msg/sec xenium::ramalhete_queue, 6,s: 39,260,154 msg/sec xenium::ramalhete_queue, 6,i: 25,826,759 msg/sec xenium::ramalhete_queue, 7,s: 40,590,356 msg/sec xenium::ramalhete_queue, 7,i: 27,921,851 msg/sec xenium::ramalhete_queue, 8,s: 50,863,896 msg/sec xenium::ramalhete_queue, 8,i: 29,418,150 msg/sec xenium::ramalhete_queue, 9,s: 33,024,563 msg/sec xenium::ramalhete_queue, 9,i: 34,700,734 msg/sec xenium::ramalhete_queue,10,s: 34,832,880 msg/sec xenium::ramalhete_queue,10,i: 40,770,789 msg/sec xenium::ramalhete_queue,11,s: 37,495,738 msg/sec xenium::ramalhete_queue,11,i: 41,146,341 msg/sec xenium::ramalhete_queue,12,s: 38,705,051 msg/sec xenium::ramalhete_queue,12,i: 41,859,655 msg/sec xenium::ramalhete_queue,13,s: 39,591,493 msg/sec xenium::ramalhete_queue,13,i: 42,658,706 msg/sec xenium::ramalhete_queue,14,s: 39,748,983 msg/sec xenium::ramalhete_queue,14,i: 42,871,116 msg/sec xenium::ramalhete_queue,15,s: 39,859,815 msg/sec xenium::ramalhete_queue,15,i: 43,782,823 msg/sec xenium::ramalhete_queue,16,s: 39,797,814 msg/sec xenium::ramalhete_queue,16,i: 44,610,587 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,340,848 msg/sec xenium::vyukov_bounded_queue, 1,i: 308,942,378 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,479,595 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,862,589 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,679,734 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,027,867 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,498,379 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,633,744 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,032,723 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,100,210 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,143,218 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,928,799 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,307,501 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,460,735 msg/sec xenium::vyukov_bounded_queue, 8,s: 9,927,186 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,556,465 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,038,813 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,662,238 msg/sec xenium::vyukov_bounded_queue,10,s: 7,657,741 msg/sec xenium::vyukov_bounded_queue,10,i: 6,892,573 msg/sec xenium::vyukov_bounded_queue,11,s: 7,400,241 msg/sec xenium::vyukov_bounded_queue,11,i: 7,181,139 msg/sec xenium::vyukov_bounded_queue,12,s: 7,612,631 msg/sec xenium::vyukov_bounded_queue,12,i: 7,587,648 msg/sec xenium::vyukov_bounded_queue,13,s: 6,873,127 msg/sec xenium::vyukov_bounded_queue,13,i: 7,369,255 msg/sec xenium::vyukov_bounded_queue,14,s: 7,096,413 msg/sec xenium::vyukov_bounded_queue,14,i: 7,339,233 msg/sec xenium::vyukov_bounded_queue,15,s: 7,039,110 msg/sec xenium::vyukov_bounded_queue,15,i: 7,250,341 msg/sec xenium::vyukov_bounded_queue,16,s: 6,976,087 msg/sec xenium::vyukov_bounded_queue,16,i: 7,069,765 msg/sec boost::lockfree::queue, 1,s: 7,755,518 msg/sec boost::lockfree::queue, 1,i: 7,873,339 msg/sec boost::lockfree::queue, 2,s: 5,915,332 msg/sec boost::lockfree::queue, 2,i: 5,913,426 msg/sec boost::lockfree::queue, 3,s: 4,939,880 msg/sec boost::lockfree::queue, 3,i: 4,800,319 msg/sec boost::lockfree::queue, 4,s: 4,366,818 msg/sec boost::lockfree::queue, 4,i: 4,356,365 msg/sec boost::lockfree::queue, 5,s: 2,649,524 msg/sec boost::lockfree::queue, 5,i: 2,664,783 msg/sec boost::lockfree::queue, 6,s: 1,434,757 msg/sec boost::lockfree::queue, 6,i: 2,822,895 msg/sec boost::lockfree::queue, 7,s: 1,376,354 msg/sec boost::lockfree::queue, 7,i: 2,825,868 msg/sec boost::lockfree::queue, 8,s: 1,160,496 msg/sec boost::lockfree::queue, 8,i: 1,871,259 msg/sec boost::lockfree::queue, 9,s: 1,419,401 msg/sec boopthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. st::lockfree::queue, 9,i: 1,882,008 msg/sec boost::lockfree::queue,10,s: 1,609,636 msg/sec boost::lockfree::queue,10,i: 1,950,896 msg/sec boost::lockfree::queue,11,s: 1,783,832 msg/sec boost::lockfree::queue,11,i: 1,893,053 msg/sec boost::lockfree::queue,12,s: 1,768,132 msg/sec boost::lockfree::queue,12,i: 1,720,973 msg/sec boost::lockfree::queue,13,s: 1,675,850 msg/sec boost::lockfree::queue,13,i: 1,674,176 msg/sec boost::lockfree::queue,14,s: 1,546,516 msg/sec boost::lockfree::queue,14,i: 1,643,976 msg/sec boost::lockfree::queue,15,s: 1,545,573 msg/sec boost::lockfree::queue,15,i: 1,592,394 msg/sec boost::lockfree::queue,16,s: 1,525,338 msg/sec boost::lockfree::queue,16,i: 1,498,203 msg/sec std::mutex, 1,s: 6,260,452 msg/sec std::mutex, 1,i: 4,679,177 msg/sec std::mutex, 2,s: 13,291,619 msg/sec std::mutex, 2,i: 13,454,718 msg/sec std::mutex, 3,s: 7,185,897 msg/sec std::mutex, 3,i: 6,836,971 msg/sec std::mutex, 4,s: 7,088,334 msg/sec std::mutex, 4,i: 6,697,487 msg/sec std::mutex, 5,s: 3,362,651 msg/sec std::mutex, 5,i: 3,512,688 msg/sec std::mutex, 6,s: 3,012,258 msg/sec std::mutex, 6,i: 2,974,921 msg/sec std::mutex, 7,s: 3,255,547 msg/sec std::mutex, 7,i: 2,895,354 msg/sec std::mutex, 8,s: 3,399,260 msg/sec std::mutex, 8,i: 2,771,958 msg/sec std::mutex, 9,s: 2,845,593 msg/sec std::mutex, 9,i: 2,689,371 msg/sec std::mutex,10,s: 2,678,272 msg/sec std::mutex,10,i: 2,753,636 msg/sec std::mutex,11,s: 2,616,936 msg/sec std::mutex,11,i: 2,636,672 msg/sec std::mutex,12,s: 2,647,818 msg/sec std::mutex,12,i: 2,553,408 msg/sec std::mutex,13,s: 2,488,596 msg/sec std::mutex,13,i: 2,481,432 msg/sec std::mutex,14,s: 2,391,878 msg/sec std::mutex,14,i: 2,325,948 msg/sec std::mutex,15,s: 2,451,607 msg/sec std::mutex,15,i: 2,380,662 msg/sec std::mutex,16,s: 2,340,191 msg/sec std::mutex,16,i: 2,280,154 msg/sec pthread_spinlock, 1,s: 17,722,338 msg/sec pthread_spinlock, 1,i: 17,794,180 msg/sec pthread_spinlock, 2,s: 7,522,724 msg/sec pthread_spinlock, 2,i: 1,392,197 msg/sec pthread_spinlock, 3,s: 768,917 msg/sec pthread_spinlock, 3,i: 6,029,228 msg/sec pthread_spinlock, 4,s: 1,268,807 msg/sec pthread_spinlock, 4,i: 1,447,621 msg/sec pthread_spinlock, 5,s: 2,782,112 msg/sec pthread_spinlock, 5,i: 3,727,471 msg/sec pthread_spinlock, 6,s: 2,116,696 msg/sec pthread_spinlock, 6,i: 3,687,299 msg/sec pthread_spinlock, 7,s: 2,877,861 msg/sec pthread_spinlock, 7,i: 3,089,252 msg/sec pthread_spinlock, 8,s: 2,981,519 msg/sec pthread_spinlock, 8,i: 2,688,468 msg/sec pthread_spinlock, 9,s: 2,814,824 msg/sec pthread_spinlock, 9,i: 2,189,916 msg/sec pthread_spinlock,10,s: 2,750,953 msg/sec pthread_spinlock,10,i: 2,392,150 msg/sec pthread_spinlock,11,s: 2,629,657 msg/sec pthread_spinlock,11,i: 2,712,507 msg/sec pthread_spinlock,12,s: 2,502,315 msg/sec pthread_spinlock,12,i: 2,478,072 msg/sec pthread_spinlock,13,s: 2,514,824 msg/sec pthread_spinlock,13,i: 2,259,466 msg/sec pthread_spinlock,14,s: 2,171,084 msg/sec pthread_spinlock,14,i: 2,024,910 msg/sec pthread_spinlock,15,s: 2,042,893 msg/sec pthread_spinlock,15,i: 1,913,112 msg/sec pthread_spinlock,16,s: 1,797,350 msg/sec pthread_spinlock,16,i: 1,599,393 msg/sec tbb::spin_mutex, 1,s: 37,239,815 msg/sec tbb::spin_mutex, 1,i: 37,528,584 msg/sec tbb::spin_mutex, 2,s: 16,518,338 msg/sec tbb::spin_mutex, 2,i: 15,971,634 msg/sec tbb::spin_mutex, 3,s: 12,031,079 msg/sec tbb::spin_mutex, 3,i: 11,886,105 msg/sec tbb::spin_mutex, 4,s: 10,284,100 msg/sec tbb::spin_mutex, 4,i: 9,958,945 msg/sec tbb::spin_mutex, 5,s: 5,985,406 msg/sec tbb::spin_mutex, 5,i: 5,658,486 msg/sec tbb::spin_mutex, 6,s: 5,127,053 msg/sec tbb::spin_mutex, 6,i: 4,869,554 msg/sec tbb::spin_mutex, 7,s: 4,391,649 msg/sec tbb::spin_mutex, 7,i: 4,652,991 msg/sec tbb::spin_mutex, 8,s: 4,329,737 msg/sec tbb::spin_mutex, 8,i: 4,060,421 msg/sec tbb::spin_mutex, 9,s: 4,443,544 msg/sec tbb::spin_mutex, 9,i: 4,329,510 msg/sec tbb::spin_mutex,10,s: 4,322,794 msg/sec tbb::spin_mutex,10,i: 3,673,911 msg/sec tbb::spin_mutex,11,s: 4,321,075 msg/sec tbb::spin_mutex,11,i: 3,574,785 msg/sec tbb::spin_mutex,12,s: 3,781,897 msg/sec tbb::spin_mutex,12,i: 3,445,014 msg/sec tbb::spin_mutex,13,s: 3,538,962 msg/sec tbb::spin_mutex,13,i: 3,216,867 msg/sec tbb::spin_mutex,14,s: 3,605,438 msg/sec tbb::spin_mutex,14,i: 3,066,900 msg/sec tbb::spin_mutex,15,s: 3,236,930 msg/sec tbb::spin_mutex,15,i: 3,105,354 msg/sec tbb::spin_mutex,16,s: 2,937,034 msg/sec tbb::spin_mutex,16,i: 3,004,549 msg/sec Elapsed time 6:10.77, user 5601.36s, system 603.55s, CPU 1673%, RSS 97504kB, exit-status 0. 2026-09-14 14:23:58 [21/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000041 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000302 sec/round-trip pthread_spinlock: 0.000000105 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,665,279 msg/sec boost::lockfree::spsc_queue, 1,i: 113,469,077 msg/sec AtomicQueue, 1,s: 146,775,210 msg/sec AtomicQueue, 1,i: 142,857,869 msg/sec AtomicQueue, 2,s: 9,880,747 msg/sec AtomicQueue, 2,i: 10,336,596 msg/sec AtomicQueue, 3,s: 8,345,873 msg/sec AtomicQueue, 3,i: 8,821,832 msg/sec AtomicQueue, 4,s: 6,612,162 msg/sec AtomicQueue, 4,i: 7,011,104 msg/sec AtomicQueue, 5,s: 3,170,658 msg/sec AtomicQueue, 5,i: 4,351,851 msg/sec AtomicQueue, 6,s: 2,596,624 msg/sec AtomicQueue, 6,i: 4,021,961 msg/sec AtomicQueue, 7,s: 2,965,630 msg/sec AtomicQueue, 7,i: 3,211,444 msg/sec AtomicQueue, 8,s: 3,117,363 msg/sec AtomicQueue, 8,i: 2,894,645 msg/sec AtomicQueue, 9,s: 2,757,106 msg/sec AtomicQueue, 9,i: 2,963,377 msg/sec AtomicQueue,10,s: 2,779,553 msg/sec AtomicQueue,10,i: 2,955,500 msg/sec AtomicQueue,11,s: 2,784,248 msg/sec AtomicQueue,11,i: 2,917,910 msg/sec AtomicQueue,12,s: 2,734,240 msg/sec AtomicQueue,12,i: 2,875,255 msg/sec AtomicQueue,13,s: 2,521,798 msg/sec AtomicQueue,13,i: 2,834,221 msg/sec AtomicQueue,14,s: 2,366,381 msg/sec AtomicQueue,14,i: 2,794,955 msg/sec AtomicQueue,15,s: 2,361,667 msg/sec AtomicQueue,15,i: 2,758,620 msg/sec AtomicQueue,16,s: 2,257,918 msg/sec AtomicQueue,16,i: 2,731,047 msg/sec OptimistAtomicQueue, 1,s: 2,039,832,618 msg/sec OptimistAtomicQueue, 1,i: 1,192,326,332 msg/sec OptimistAtomicQueue, 2,s: 47,127,758 msg/sec OptimistAtomicQueue, 2,i: 51,886,027 msg/sec OptimistAtomicQueue, 3,s: 58,494,624 msg/sec OptimistAtomicQueue, 3,i: 59,629,304 msg/sec OptimistAtomicQueue, 4,s: 59,289,725 msg/sec OptimistAtomicQueue, 4,i: 65,424,804 msg/sec OptimistAtomicQueue, 5,s: 33,215,619 msg/sec OptimistAtomicQueue, 5,i: 42,275,613 msg/sec OptimistAtomicQueue, 6,s: 34,545,843 msg/sec OptimistAtomicQueue, 6,i: 35,197,190 msg/sec OptimistAtomicQueue, 7,s: 40,019,238 msg/sec OptimistAtomicQueue, 7,i: 40,077,007 msg/sec OptimistAtomicQueue, 8,s: 50,511,105 msg/sec OptimistAtomicQueue, 8,i: 41,202,942 msg/sec OptimistAtomicQueue, 9,s: 40,912,343 msg/sec OptimistAtomicQueue, 9,i: 45,476,065 msg/sec OptimistAtomicQueue,10,s: 39,918,678 msg/sec OptimistAtomicQueue,10,i: 47,685,821 msg/sec OptimistAtomicQueue,11,s: 44,175,795 msg/sec OptimistAtomicQueue,11,i: 50,620,864 msg/sec OptimistAtomicQueue,12,s: 43,318,978 msg/sec OptimistAtomicQueue,12,i: 53,864,617 msg/sec OptimistAtomicQueue,13,s: 43,357,973 msg/sec OptimistAtomicQueue,13,i: 55,572,470 msg/sec OptimistAtomicQueue,14,s: 43,225,215 msg/sec OptimistAtomicQueue,14,i: 56,275,137 msg/sec OptimistAtomicQueue,15,s: 45,897,430 msg/sec OptimistAtomicQueue,15,i: 60,404,476 msg/sec OptimistAtomicQueue,16,s: 45,764,120 msg/sec OptimistAtomicQueue,16,i: 64,576,175 msg/sec AtomicQueueB, 1,s: 50,106,596 msg/sec AtomicQueueB, 1,i: 50,234,081 msg/sec AtomicQueueB, 2,s: 9,573,073 msg/sec AtomicQueueB, 2,i: 9,865,614 msg/sec AtomicQueueB, 3,s: 8,149,013 msg/sec AtomicQueueB, 3,i: 8,639,002 msg/sec AtomicQueueB, 4,s: 6,542,224 msg/sec AtomicQueueB, 4,i: 6,906,054 msg/sec AtomicQueueB, 5,s: 3,121,050 msg/sec AtomicQueueB, 5,i: 4,331,231 msg/sec AtomicQueueB, 6,s: 2,572,434 msg/sec AtomicQueueB, 6,i: 3,949,642 msg/sec AtomicQueueB, 7,s: 2,907,703 msg/sec AtomicQueueB, 7,i: 3,204,119 msg/sec AtomicQueueB, 8,s: 3,042,629 msg/sec AtomicQueueB, 8,i: 2,861,483 msg/sec AtomicQueueB, 9,s: 2,816,912 msg/sec AtomicQueueB, 9,i: 2,878,898 msg/sec AtomicQueueB,10,s: 2,888,223 msg/sec AtomicQueueB,10,i: 2,871,832 msg/sec AtomicQueueB,11,s: 2,735,618 msg/sec AtomicQueueB,11,i: 2,902,285 msg/sec AtomicQueueB,12,s: 2,659,191 msg/sec AtomicQueueB,12,i: 2,851,498 msg/sec AtomicQueueB,13,s: 2,522,766 msg/sec AtomicQueueB,13,i: 2,825,076 msg/sec AtomicQueueB,14,s: 2,385,054 msg/sec AtomicQueueB,14,i: 2,771,578 msg/sec AtomicQueueB,15,s: 2,379,554 msg/sec AtomicQueueB,15,i: 2,825,586 msg/sec AtomicQueueB,16,s: 2,272,758 msg/sec AtomicQueueB,16,i: 2,735,080 msg/sec OptimistAtomicQueueB, 1,s: 866,680,482 msg/sec OptimistAtomicQueueB, 1,i: 519,824,482 msg/sec OptimistAtomicQueueB, 2,s: 49,784,734 msg/sec OptimistAtomicQueueB, 2,i: 49,567,360 msg/sec OptimistAtomicQueueB, 3,s: 58,581,351 msg/sec OptimistAtomicQueueB, 3,i: 57,677,442 msg/sec OptimistAtomicQueueB, 4,s: 59,623,532 msg/sec OptimistAtomicQueueB, 4,i: 65,998,033 msg/sec OptimistAtomicQueueB, 5,s: 33,007,512 msg/sec OptimistAtomicQueueB, 5,i: 36,913,973 msg/sec OptimistAtomicQueueB, 6,s: 34,401,725 msg/sec OptimistAtomicQueueB, 6,i: 33,959,203 msg/sec OptimistAtomicQueueB, 7,s: 39,069,732 msg/sec OptimistAtomicQueueB, 7,i: 40,156,651 msg/sec OptimistAtomicQueueB, 8,s: 51,484,988 msg/sec OptimistAtomicQueueB, 8,i: 41,213,945 msg/sec OptimistAtomicQueueB, 9,s: 41,173,702 msg/sec OptimistAtomicQueueB, 9,i: 44,883,748 msg/sec OptimistAtomicQueueB,10,s: 39,972,769 msg/sec OptimistAtomicQueueB,10,i: 47,337,391 msg/sec OptimistAtomicQueueB,11,s: 44,326,194 msg/sec OptimistAtomicQueueB,11,i: 50,739,162 msg/sec OptimistAtomicQueueB,12,s: 43,767,375 msg/sec OptimistAtomicQueueB,12,i: 56,503,835 msg/sec OptimistAtomicQueueB,13,s: 43,756,386 msg/sec OptimistAtomicQueueB,13,i: 56,387,390 msg/sec OptimistAtomicQueueB,14,s: 43,568,047 msg/sec OptimistAtomicQueueB,14,i: 56,143,013 msg/sec OptimistAtomicQueueB,15,s: 46,174,497 msg/sec OptimistAtomicQueueB,15,i: 60,428,018 msg/sec OptimistAtomicQueueB,16,s: 46,148,206 msg/sec OptimistAtomicQueueB,16,i: 64,818,480 msg/sec AtomicQueue2, 1,s: 126,305,066 msg/sec AtomicQueue2, 1,i: 133,055,159 msg/sec AtomicQueue2, 2,s: 9,950,365 msg/sec AtomicQueue2, 2,i: 10,529,026 msg/sec AtomicQueue2, 3,s: 8,417,066 msg/sec AtomicQueue2, 3,i: 8,883,364 msg/sec AtomicQueue2, 4,s: 6,684,735 msg/sec AtomicQueue2, 4,i: 7,087,491 msg/sec AtomicQueue2, 5,s: 3,134,477 msg/sec AtomicQueue2, 5,i: 3,723,787 msg/sec AtomicQueue2, 6,s: 2,567,570 msg/sec AtomicQueue2, 6,i: 3,508,115 msg/sec AtomicQueue2, 7,s: 2,899,719 msg/sec AtomicQueue2, 7,i: 3,269,286 msg/sec AtomicQueue2, 8,s: 2,999,050 msg/sec AtomicQueue2, 8,i: 2,896,796 msg/sec AtomicQueue2, 9,s: 2,848,766 msg/sec AtomicQueue2, 9,i: 2,917,542 msg/sec AtomicQueue2,10,s: 2,765,730 msg/sec AtomicQueue2,10,i: 2,940,717 msg/sec AtomicQueue2,11,s: 2,740,891 msg/sec AtomicQueue2,11,i: 2,953,763 msg/sec AtomicQueue2,12,s: 2,689,115 msg/sec AtomicQueue2,12,i: 2,835,043 msg/sec AtomicQueue2,13,s: 2,551,945 msg/sec AtomicQueue2,13,i: 2,778,391 msg/sec AtomicQueue2,14,s: 2,391,101 msg/sec AtomicQueue2,14,i: 2,756,341 msg/sec AtomicQueue2,15,s: 2,390,381 msg/sec AtomicQueue2,15,i: 2,742,677 msg/sec AtomicQueue2,16,s: 2,284,395 msg/sec AtomicQueue2,16,i: 2,712,532 msg/sec OptimistAtomicQueue2, 1,s: 107,813,912 msg/sec OptimistAtomicQueue2, 1,i: 107,185,395 msg/sec OptimistAtomicQueue2, 2,s: 43,444,720 msg/sec OptimistAtomicQueue2, 2,i: 48,371,355 msg/sec OptimistAtomicQueue2, 3,s: 54,248,180 msg/sec OptimistAtomicQueue2, 3,i: 49,995,623 msg/sec OptimistAtomicQueue2, 4,s: 59,193,881 msg/sec OptimistAtomicQueue2, 4,i: 57,956,239 msg/sec OptimistAtomicQueue2, 5,s: 31,482,179 msg/sec OptimistAtomicQueue2, 5,i: 34,091,738 msg/sec OptimistAtomicQueue2, 6,s: 32,856,445 msg/sec OptimistAtomicQueue2, 6,i: 32,363,868 msg/sec OptimistAtomicQueue2, 7,s: 37,747,728 msg/sec OptimistAtomicQueue2, 7,i: 37,797,777 msg/sec OptimistAtomicQueue2, 8,s: 49,085,992 msg/sec OptimistAtomicQueue2, 8,i: 39,849,546 msg/sec OptimistAtomicQueue2, 9,s: 37,603,408 msg/sec OptimistAtomicQueue2, 9,i: 42,418,638 msg/sec OptimistAtomicQueue2,10,s: 37,582,786 msg/sec OptimistAtomicQueue2,10,i: 43,647,271 msg/sec OptimistAtomicQueue2,11,s: 42,978,298 msg/sec OptimistAtomicQueue2,11,i: 47,871,175 msg/sec OptimistAtomicQueue2,12,s: 42,089,852 msg/sec OptimistAtomicQueue2,12,i: 51,984,215 msg/sec OptimistAtomicQueue2,13,s: 41,109,211 msg/sec OptimistAtomicQueue2,13,i: 51,687,207 msg/sec OptimistAtomicQueue2,14,s: 40,947,826 msg/sec OptimistAtomicQueue2,14,i: 53,059,601 msg/sec OptimistAtomicQueue2,15,s: 43,179,949 msg/sec OptimistAtomicQueue2,15,i: 56,132,211 msg/sec OptimistAtomicQueue2,16,s: 43,393,142 msg/sec OptimistAtomicQueue2,16,i: 59,034,955 msg/sec AtomicQueueB2, 1,s: 79,219,295 msg/sec AtomicQueueB2, 1,i: 51,991,421 msg/sec AtomicQueueB2, 2,s: 9,843,034 msg/sec AtomicQueueB2, 2,i: 10,432,760 msg/sec AtomicQueueB2, 3,s: 8,321,593 msg/sec AtomicQueueB2, 3,i: 8,820,972 msg/sec AtomicQueueB2, 4,s: 6,611,533 msg/sec AtomicQueueB2, 4,i: 6,969,202 msg/sec AtomicQueueB2, 5,s: 3,099,160 msg/sec AtomicQueueB2, 5,i: 3,672,473 msg/sec AtomicQueueB2, 6,s: 2,552,492 msg/sec AtomicQueueB2, 6,i: 3,447,763 msg/sec AtomicQueueB2, 7,s: 2,891,001 msg/sec AtomicQueueB2, 7,i: 3,159,659 msg/sec AtomicQueueB2, 8,s: 3,012,898 msg/sec AtomicQueueB2, 8,i: 2,860,170 msg/sec AtomicQueueB2, 9,s: 2,828,405 msg/sec AtomicQueueB2, 9,i: 2,837,258 msg/sec AtomicQueueB2,10,s: 2,759,611 msg/sec AtomicQueueB2,10,i: 2,881,104 msg/sec AtomicQueueB2,11,s: 2,797,679 msg/sec AtomicQueueB2,11,i: 2,893,707 msg/sec AtomicQueueB2,12,s: 2,767,245 msg/sec AtomicQueueB2,12,i: 2,862,753 msg/sec AtomicQueueB2,13,s: 2,619,592 msg/sec AtomicQueueB2,13,i: 2,825,200 msg/sec AtomicQueueB2,14,s: 2,462,077 msg/sec AtomicQueueB2,14,i: 2,762,131 msg/sec AtomicQueueB2,15,s: 2,424,823 msg/sec AtomicQueueB2,15,i: 2,749,209 msg/sec AtomicQueueB2,16,s: 2,307,022 msg/sec AtomicQueueB2,16,i: 2,743,978 msg/sec OptimistAtomicQueueB2, 1,s: 152,362,922 msg/sec OptimistAtomicQueueB2, 1,i: 152,796,626 msg/sec OptimistAtomicQueueB2, 2,s: 42,030,060 msg/sec OptimistAtomicQueueB2, 2,i: 45,752,960 msg/sec OptimistAtomicQueueB2, 3,s: 56,876,566 msg/sec OptimistAtomicQueueB2, 3,i: 53,194,978 msg/sec OptimistAtomicQueueB2, 4,s: 58,987,354 msg/sec OptimistAtomicQueueB2, 4,i: 59,835,728 msg/sec OptimistAtomicQueueB2, 5,s: 31,329,815 msg/sec OptimistAtomicQueueB2, 5,i: 31,285,316 msg/sec OptimistAtomicQueueB2, 6,s: 32,847,078 msg/sec OptimistAtomicQueueB2, 6,i: 32,302,649 msg/sec OptimistAtomicQueueB2, 7,s: 37,089,189 msg/sec OptimistAtomicQueueB2, 7,i: 37,061,931 msg/sec OptimistAtomicQueueB2, 8,s: 47,943,816 msg/sec OptimistAtomicQueueB2, 8,i: 38,956,294 msg/sec OptimistAtomicQueueB2, 9,s: 36,972,448 msg/sec OptimistAtomicQueueB2, 9,i: 41,479,158 msg/sec OptimistAtomicQueueB2,10,s: 37,275,461 msg/sec OptimistAtomicQueueB2,10,i: 43,246,415 msg/sec OptimistAtomicQueueB2,11,s: 42,643,905 msg/sec OptimistAtomicQueueB2,11,i: 46,991,813 msg/sec OptimistAtomicQueueB2,12,s: 41,771,217 msg/sec OptimistAtomicQueueB2,12,i: 51,336,152 msg/sec OptimistAtomicQueueB2,13,s: 40,996,702 msg/sec OptimistAtomicQueueB2,13,i: 51,961,383 msg/sec OptimistAtomicQueueB2,14,s: 40,759,218 msg/sec OptimistAtomicQueueB2,14,i: 52,713,712 msg/sec OptimistAtomicQueueB2,15,s: 43,101,654 msg/sec OptimistAtomicQueueB2,15,i: 56,684,590 msg/sec OptimistAtomicQueueB2,16,s: 43,337,836 msg/sec OptimistAtomicQueueB2,16,i: 59,133,292 msg/sec moodycamel::ReaderWriterQueue, 1,s: 229,076,810 msg/sec moodycamel::ReaderWriterQueue, 1,i: 86,976,574 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,159,122 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,314,087 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,515,857 msg/sec moodycamel::ConcurrentQueue, 2,i: 35,741,490 msg/sec moodycamel::ConcurrentQueue, 3,s: 67,211,146 msg/sec moodycamel::ConcurrentQueue, 3,i: 66,347,012 msg/sec moodycamel::ConcurrentQueue, 4,s: 92,218,195 msg/sec moodycamel::ConcurrentQueue, 4,i: 79,350,986 msg/sec moodycamel::ConcurrentQueue, 5,s: 104,793,755 msg/sec moodycamel::ConcurrentQueue, 5,i: 168,168,584 msg/sec moodycamel::ConcurrentQueue, 6,s: 204,538,981 msg/sec moodycamel::ConcurrentQueue, 6,i: 193,692,391 msg/sec moodycamel::ConcurrentQueue, 7,s: 238,832,327 msg/sec moodycamel::ConcurrentQueue, 7,i: 229,892,332 msg/sec moodycamel::ConcurrentQueue, 8,s: 274,292,124 msg/sec moodycamel::ConcurrentQueue, 8,i: 252,630,554 msg/sec moodycamel::ConcurrentQueue, 9,s: 263,709,345 msg/sec moodycamel::ConcurrentQueue, 9,i: 253,870,353 msg/sec moodycamel::ConcurrentQueue,10,s: 293,450,067 msg/sec moodycamel::ConcurrentQueue,10,i: 279,407,656 msg/sec moodycamel::ConcurrentQueue,11,s: 296,025,108 msg/sec moodycamel::ConcurrentQueue,11,i: 244,232,173 msg/sec moodycamel::ConcurrentQueue,12,s: 178,830,764 msg/sec moodycamel::ConcurrentQueue,12,i: 258,519,445 msg/sec moodycamel::ConcurrentQueue,13,s: 231,770,246 msg/sec moodycamel::ConcurrentQueue,13,i: 316,703,859 msg/sec moodycamel::ConcurrentQueue,14,s: 341,915,325 msg/sec moodycamel::ConcurrentQueue,14,i: 382,886,306 msg/sec moodycamel::ConcurrentQueue,15,s: 453,698,401 msg/sec moodycamel::ConcurrentQueue,15,i: 480,946,925 msg/sec moodycamel::ConcurrentQueue,16,s: 517,254,048 msg/sec moodycamel::ConcurrentQueue,16,i: 518,815,857 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,730,474 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,833,478 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,142,051 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,146,567 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,971,460 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,076,907 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,418,954 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,621,975 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,063,458 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,102,448 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,783,944 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,404,658 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,667,862 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,151,871 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,779,650 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,806,226 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,652,499 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,913,471 msg/sec tbb::concurrent_bounded_queue,10,s: 2,765,876 msg/sec tbb::concurrent_bounded_queue,10,i: 2,879,921 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,324 msg/sec tbb::concurrent_bounded_queue,11,i: 2,882,264 msg/sec tbb::concurrent_bounded_queue,12,s: 2,570,961 msg/sec tbb::concurrent_bounded_queue,12,i: 2,789,006 msg/sec tbb::concurrent_bounded_queue,13,s: 2,487,224 msg/sec tbb::concurrent_bounded_queue,13,i: 2,798,793 msg/sec tbb::concurrent_bounded_queue,14,s: 2,384,456 msg/sec tbb::concurrent_bounded_queue,14,i: 2,730,145 msg/sec tbb::concurrent_bounded_queue,15,s: 2,358,974 msg/sec tbb::concurrent_bounded_queue,15,i: 2,623,758 msg/sec tbb::concurrent_bounded_queue,16,s: 2,261,837 msg/sec tbb::concurrent_bounded_queue,16,i: 2,536,146 msg/sec xenium::michael_scott_queue, 1,s: 13,450,774 msg/sec xenium::michael_scott_queue, 1,i: 13,756,863 msg/sec xenium::michael_scott_queue, 2,s: 9,451,772 msg/sec xenium::michael_scott_queue, 2,i: 9,231,957 msg/sec xenium::michael_scott_queue, 3,s: 7,630,615 msg/sec xenium::michael_scott_queue, 3,i: 7,539,575 msg/sec xenium::michael_scott_queue, 4,s: 5,869,270 msg/sec xenium::michael_scott_queue, 4,i: 5,845,256 msg/sec xenium::michael_scott_queue, 5,s: 3,614,927 msg/sec xenium::michael_scott_queue, 5,i: 3,953,971 msg/sec xenium::michael_scott_queue, 6,s: 3,330,212 msg/sec xenium::michael_scott_queue, 6,i: 3,559,302 msg/sec xenium::michael_scott_queue, 7,s: 3,183,112 msg/sec xenium::michael_scott_queue, 7,i: 3,266,420 msg/sec xenium::michael_scott_queue, 8,s: 2,355,685 msg/sec xenium::michael_scott_queue, 8,i: 2,789,164 msg/sec xenium::michael_scott_queue, 9,s: 2,908,036 msg/sec xenium::michael_scott_queue, 9,i: 2,870,258 msg/sec xenium::michael_scott_queue,10,s: 2,837,957 msg/sec xenium::michael_scott_queue,10,i: 2,872,223 msg/sec xenium::michael_scott_queue,11,s: 2,755,738 msg/sec xenium::michael_scott_queue,11,i: 2,864,032 msg/sec xenium::michael_scott_queue,12,s: 2,590,835 msg/sec xenium::michael_scott_queue,12,i: 2,725,268 msg/sec xenium::michael_scott_queue,13,s: 2,516,239 msg/sec xenium::michael_scott_queue,13,i: 2,647,540 msg/sec xenium::michael_scott_queue,14,s: 2,394,796 msg/sec xenium::michael_scott_queue,14,i: 2,616,072 msg/sec xenium::michael_scott_queue,15,s: 2,330,032 msg/sec xenium::michael_scott_queue,15,i: 2,634,417 msg/sec xenium::michael_scott_queue,16,s: 2,208,960 msg/sec xenium::michael_scott_queue,16,i: 2,496,995 msg/sec xenium::ramalhete_queue, 1,s: 66,466,118 msg/sec xenium::ramalhete_queue, 1,i: 66,137,621 msg/sec xenium::ramalhete_queue, 2,s: 51,252,233 msg/sec xenium::ramalhete_queue, 2,i: 33,844,413 msg/sec xenium::ramalhete_queue, 3,s: 41,212,108 msg/sec xenium::ramalhete_queue, 3,i: 41,933,124 msg/sec xenium::ramalhete_queue, 4,s: 53,044,282 msg/sec xenium::ramalhete_queue, 4,i: 47,993,171 msg/sec xenium::ramalhete_queue, 5,s: 37,193,472 msg/sec xenium::ramalhete_queue, 5,i: 23,593,934 msg/sec xenium::ramalhete_queue, 6,s: 38,901,938 msg/sec xenium::ramalhete_queue, 6,i: 26,612,402 msg/sec xenium::ramalhete_queue, 7,s: 40,324,681 msg/sec xenium::ramalhete_queue, 7,i: 28,007,895 msg/sec xenium::ramalhete_queue, 8,s: 50,703,051 msg/sec xenium::ramalhete_queue, 8,i: 29,329,283 msg/sec xenium::ramalhete_queue, 9,s: 33,363,669 msg/sec xenium::ramalhete_queue, 9,i: 35,070,264 msg/sec xenium::ramalhete_queue,10,s: 35,259,852 msg/sec xenium::ramalhete_queue,10,i: 40,090,568 msg/sec xenium::ramalhete_queue,11,s: 37,038,483 msg/sec xenium::ramalhete_queue,11,i: 41,988,938 msg/sec xenium::ramalhete_queue,12,s: 38,964,165 msg/sec xenium::ramalhete_queue,12,i: 40,662,066 msg/sec xenium::ramalhete_queue,13,s: 39,693,449 msg/sec xenium::ramalhete_queue,13,i: 44,027,179 msg/sec xenium::ramalhete_queue,14,s: 40,130,127 msg/sec xenium::ramalhete_queue,14,i: 43,209,676 msg/sec xenium::ramalhete_queue,15,s: 39,739,909 msg/sec xenium::ramalhete_queue,15,i: 43,945,400 msg/sec xenium::ramalhete_queue,16,s: 39,656,628 msg/sec xenium::ramalhete_queue,16,i: 44,680,447 msg/sec xenium::vyukov_bounded_queue, 1,s: 201,583,991 msg/sec xenium::vyukov_bounded_queue, 1,i: 306,570,838 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,866,782 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,760,840 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,552,700 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,144,025 msg/sec xenium::vyukov_bounded_queue, 4,s: 14,934,590 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,565,265 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,055,529 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,511,082 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,104,400 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,813,721 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,197,594 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,382,413 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,313,574 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,521,446 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,946,385 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,693,982 msg/sec xenium::vyukov_bounded_queue,10,s: 7,625,149 msg/sec xenium::vyukov_bounded_queue,10,i: 6,866,415 msg/sec xenium::vyukov_bounded_queue,11,s: 7,332,846 msg/sec xenium::vyukov_bounded_queue,11,i: 7,216,862 msg/sec xenium::vyukov_bounded_queue,12,s: 7,478,521 msg/sec xenium::vyukov_bounded_queue,12,i: 7,549,173 msg/sec xenium::vyukov_bounded_queue,13,s: 7,066,268 msg/sec xenium::vyukov_bounded_queue,13,i: 7,324,143 msg/sec xenium::vyukov_bounded_queue,14,s: 7,038,051 msg/sec xenium::vyukov_bounded_queue,14,i: 7,373,868 msg/sec xenium::vyukov_bounded_queue,15,s: 7,092,531 msg/sec xenium::vyukov_bounded_queue,15,i: 7,275,364 msg/sec xenium::vyukov_bounded_queue,16,s: 6,937,696 msg/sec xenium::vyukov_bounded_queue,16,i: 7,054,088 msg/sec boost::lockfree::queue, 1,s: 7,760,817 msg/sec boost::lockfree::queue, 1,i: 7,874,208 msg/sec boost::lockfree::queue, 2,s: 5,865,235 msg/sec boost::lockfree::queue, 2,i: 5,928,548 msg/sec boost::lockfree::queue, 3,s: 4,942,585 msg/sec boost::lockfree::queue, 3,i: 4,798,060 msg/sec boost::lockfree::queue, 4,s: 4,366,091 msg/sec boost::lockfree::queue, 4,i: 4,360,360 msg/sec boost::lockfree::queue, 5,s: 2,664,979 msg/sec boost::lockfree::queue, 5,i: 2,910,751 msg/sec boost::lockfree::queue, 6,s: 1,431,697 msg/sec boost::lockfree::queue, 6,i: 2,988,064 msg/sec boost::lockfree::queue, 7,s: 1,371,204 msg/sec boost::lockfree::queue, 7,i: 2,877,262 msg/sec boost::lockfree::queue, 8,s: 1,156,372 msg/sec boost::lockfree::queue, 8,i: 1,920,915 msg/sec boost::lockfree::queue, 9,s: 1,431,124 msg/sec boopthread_spinlock: producers: 3: consumer 2 received too few messages: 0.10% of expected. st::lockfree::queue, 9,i: 1,880,358 msg/sec boost::lockfree::queue,10,s: 1,589,481 msg/sec boost::lockfree::queue,10,i: 1,935,179 msg/sec boost::lockfree::queue,11,s: 1,715,325 msg/sec boost::lockfree::queue,11,i: 1,874,822 msg/sec boost::lockfree::queue,12,s: 1,711,546 msg/sec boost::lockfree::queue,12,i: 1,740,661 msg/sec boost::lockfree::queue,13,s: 1,671,849 msg/sec boost::lockfree::queue,13,i: 1,700,709 msg/sec boost::lockfree::queue,14,s: 1,553,161 msg/sec boost::lockfree::queue,14,i: 1,636,492 msg/sec boost::lockfree::queue,15,s: 1,581,419 msg/sec boost::lockfree::queue,15,i: 1,571,763 msg/sec boost::lockfree::queue,16,s: 1,531,786 msg/sec boost::lockfree::queue,16,i: 1,497,410 msg/sec std::mutex, 1,s: 3,520,771 msg/sec std::mutex, 1,i: 3,617,851 msg/sec std::mutex, 2,s: 12,889,199 msg/sec std::mutex, 2,i: 12,886,280 msg/sec std::mutex, 3,s: 6,996,715 msg/sec std::mutex, 3,i: 6,911,516 msg/sec std::mutex, 4,s: 7,050,250 msg/sec std::mutex, 4,i: 6,678,928 msg/sec std::mutex, 5,s: 3,307,624 msg/sec std::mutex, 5,i: 3,327,667 msg/sec std::mutex, 6,s: 2,985,914 msg/sec std::mutex, 6,i: 3,014,979 msg/sec std::mutex, 7,s: 3,279,982 msg/sec std::mutex, 7,i: 2,885,868 msg/sec std::mutex, 8,s: 3,438,558 msg/sec std::mutex, 8,i: 2,825,745 msg/sec std::mutex, 9,s: 2,889,069 msg/sec std::mutex, 9,i: 2,746,680 msg/sec std::mutex,10,s: 2,674,531 msg/sec std::mutex,10,i: 2,691,098 msg/sec std::mutex,11,s: 2,674,268 msg/sec std::mutex,11,i: 2,592,521 msg/sec std::mutex,12,s: 2,602,537 msg/sec std::mutex,12,i: 2,561,322 msg/sec std::mutex,13,s: 2,520,931 msg/sec std::mutex,13,i: 2,384,582 msg/sec std::mutex,14,s: 2,426,347 msg/sec std::mutex,14,i: 2,355,635 msg/sec std::mutex,15,s: 2,450,976 msg/sec std::mutex,15,i: 2,383,747 msg/sec std::mutex,16,s: 2,341,519 msg/sec std::mutex,16,i: 2,286,111 msg/sec pthread_spinlock, 1,s: 17,760,826 msg/sec pthread_spinlock, 1,i: 18,016,957 msg/sec pthread_spinlock, 2,s: 7,632,330 msg/sec pthread_spinlock, 2,i: 2,153,552 msg/sec pthread_spinlock, 3,s: 949,086 msg/sec pthread_spinlock, 3,i: 5,812,040 msg/sec pthread_spinlock, 4,s: 1,634,859 msg/sec pthread_spinlock, 4,i: 1,111,354 msg/sec pthread_spinlock, 5,s: 2,763,942 msg/sec pthread_spinlock, 5,i: 1,071,559 msg/sec pthread_spinlock, 6,s: 2,066,683 msg/sec pthread_spinlock, 6,i: 3,083,082 msg/sec pthread_spinlock, 7,s: 2,847,933 msg/sec pthread_spinlock, 7,i: 3,067,775 msg/sec pthread_spinlock, 8,s: 2,986,548 msg/sec pthread_spinlock, 8,i: 2,687,145 msg/sec pthread_spinlock, 9,s: 2,714,768 msg/sec pthread_spinlock, 9,i: 2,333,293 msg/sec pthread_spinlock,10,s: 2,722,560 msg/sec pthread_spinlock,10,i: 2,380,317 msg/sec pthread_spinlock,11,s: 2,605,189 msg/sec pthread_spinlock,11,i: 2,725,587 msg/sec pthread_spinlock,12,s: 2,418,099 msg/sec pthread_spinlock,12,i: 2,081,718 msg/sec pthread_spinlock,13,s: 2,448,544 msg/sec pthread_spinlock,13,i: 2,060,435 msg/sec pthread_spinlock,14,s: 2,195,213 msg/sec pthread_spinlock,14,i: 2,120,871 msg/sec pthread_spinlock,15,s: 2,013,906 msg/sec pthread_spinlock,15,i: 1,911,230 msg/sec pthread_spinlock,16,s: 1,807,255 msg/sec pthread_spinlock,16,i: 1,600,744 msg/sec tbb::spin_mutex, 1,s: 37,716,494 msg/sec tbb::spin_mutex, 1,i: 37,251,398 msg/sec tbb::spin_mutex, 2,s: 16,487,732 msg/sec tbb::spin_mutex, 2,i: 15,987,874 msg/sec tbb::spin_mutex, 3,s: 12,029,398 msg/sec tbb::spin_mutex, 3,i: 11,942,965 msg/sec tbb::spin_mutex, 4,s: 10,447,256 msg/sec tbb::spin_mutex, 4,i: 10,187,759 msg/sec tbb::spin_mutex, 5,s: 5,967,249 msg/sec tbb::spin_mutex, 5,i: 5,584,112 msg/sec tbb::spin_mutex, 6,s: 5,092,125 msg/sec tbb::spin_mutex, 6,i: 4,774,402 msg/sec tbb::spin_mutex, 7,s: 4,414,433 msg/sec tbb::spin_mutex, 7,i: 4,842,132 msg/sec tbb::spin_mutex, 8,s: 4,307,612 msg/sec tbb::spin_mutex, 8,i: 4,057,954 msg/sec tbb::spin_mutex, 9,s: 4,484,306 msg/sec tbb::spin_mutex, 9,i: 4,368,212 msg/sec tbb::spin_mutex,10,s: 4,436,588 msg/sec tbb::spin_mutex,10,i: 4,196,865 msg/sec tbb::spin_mutex,11,s: 4,228,825 msg/sec tbb::spin_mutex,11,i: 4,052,345 msg/sec tbb::spin_mutex,12,s: 3,714,211 msg/sec tbb::spin_mutex,12,i: 3,442,655 msg/sec tbb::spin_mutex,13,s: 3,485,440 msg/sec tbb::spin_mutex,13,i: 3,219,392 msg/sec tbb::spin_mutex,14,s: 3,378,976 msg/sec tbb::spin_mutex,14,i: 3,202,797 msg/sec tbb::spin_mutex,15,s: 3,206,828 msg/sec tbb::spin_mutex,15,i: 3,205,309 msg/sec tbb::spin_mutex,16,s: 2,877,623 msg/sec tbb::spin_mutex,16,i: 3,033,435 msg/sec Elapsed time 6:12.19, user 5615.90s, system 602.35s, CPU 1670%, RSS 96496kB, exit-status 0. 2026-09-14 14:30:10 [22/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000044 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000087 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000105 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,229,745 msg/sec boost::lockfree::spsc_queue, 1,i: 112,422,817 msg/sec AtomicQueue, 1,s: 146,623,923 msg/sec AtomicQueue, 1,i: 145,542,866 msg/sec AtomicQueue, 2,s: 9,898,248 msg/sec AtomicQueue, 2,i: 10,341,286 msg/sec AtomicQueue, 3,s: 8,344,545 msg/sec AtomicQueue, 3,i: 8,818,553 msg/sec AtomicQueue, 4,s: 6,606,047 msg/sec AtomicQueue, 4,i: 7,006,147 msg/sec AtomicQueue, 5,s: 3,169,868 msg/sec AtomicQueue, 5,i: 4,325,731 msg/sec AtomicQueue, 6,s: 2,598,050 msg/sec AtomicQueue, 6,i: 4,009,590 msg/sec AtomicQueue, 7,s: 2,957,684 msg/sec AtomicQueue, 7,i: 3,190,698 msg/sec AtomicQueue, 8,s: 3,108,122 msg/sec AtomicQueue, 8,i: 2,898,612 msg/sec AtomicQueue, 9,s: 2,746,223 msg/sec AtomicQueue, 9,i: 2,957,781 msg/sec AtomicQueue,10,s: 2,784,193 msg/sec AtomicQueue,10,i: 2,928,306 msg/sec AtomicQueue,11,s: 2,792,558 msg/sec AtomicQueue,11,i: 2,926,938 msg/sec AtomicQueue,12,s: 2,666,363 msg/sec AtomicQueue,12,i: 2,873,016 msg/sec AtomicQueue,13,s: 2,525,156 msg/sec AtomicQueue,13,i: 2,847,413 msg/sec AtomicQueue,14,s: 2,367,105 msg/sec AtomicQueue,14,i: 2,779,996 msg/sec AtomicQueue,15,s: 2,363,926 msg/sec AtomicQueue,15,i: 2,745,383 msg/sec AtomicQueue,16,s: 2,261,639 msg/sec AtomicQueue,16,i: 2,733,456 msg/sec OptimistAtomicQueue, 1,s: 1,239,376,290 msg/sec OptimistAtomicQueue, 1,i: 1,196,162,747 msg/sec OptimistAtomicQueue, 2,s: 51,982,313 msg/sec OptimistAtomicQueue, 2,i: 52,069,791 msg/sec OptimistAtomicQueue, 3,s: 58,803,568 msg/sec OptimistAtomicQueue, 3,i: 59,511,174 msg/sec OptimistAtomicQueue, 4,s: 59,282,380 msg/sec OptimistAtomicQueue, 4,i: 65,892,144 msg/sec OptimistAtomicQueue, 5,s: 33,228,520 msg/sec OptimistAtomicQueue, 5,i: 40,776,108 msg/sec OptimistAtomicQueue, 6,s: 34,594,936 msg/sec OptimistAtomicQueue, 6,i: 34,182,478 msg/sec OptimistAtomicQueue, 7,s: 40,048,615 msg/sec OptimistAtomicQueue, 7,i: 40,086,341 msg/sec OptimistAtomicQueue, 8,s: 50,563,997 msg/sec OptimistAtomicQueue, 8,i: 41,230,173 msg/sec OptimistAtomicQueue, 9,s: 40,888,288 msg/sec OptimistAtomicQueue, 9,i: 44,377,247 msg/sec OptimistAtomicQueue,10,s: 39,932,322 msg/sec OptimistAtomicQueue,10,i: 47,455,572 msg/sec OptimistAtomicQueue,11,s: 44,306,084 msg/sec OptimistAtomicQueue,11,i: 53,024,394 msg/sec OptimistAtomicQueue,12,s: 43,399,629 msg/sec OptimistAtomicQueue,12,i: 57,209,541 msg/sec OptimistAtomicQueue,13,s: 43,415,309 msg/sec OptimistAtomicQueue,13,i: 57,178,663 msg/sec OptimistAtomicQueue,14,s: 43,164,653 msg/sec OptimistAtomicQueue,14,i: 56,057,380 msg/sec OptimistAtomicQueue,15,s: 45,935,378 msg/sec OptimistAtomicQueue,15,i: 60,476,621 msg/sec OptimistAtomicQueue,16,s: 45,721,374 msg/sec OptimistAtomicQueue,16,i: 64,795,213 msg/sec AtomicQueueB, 1,s: 50,079,521 msg/sec AtomicQueueB, 1,i: 49,447,071 msg/sec AtomicQueueB, 2,s: 9,545,052 msg/sec AtomicQueueB, 2,i: 10,085,764 msg/sec AtomicQueueB, 3,s: 8,204,476 msg/sec AtomicQueueB, 3,i: 8,644,174 msg/sec AtomicQueueB, 4,s: 6,553,431 msg/sec AtomicQueueB, 4,i: 6,901,940 msg/sec AtomicQueueB, 5,s: 3,119,860 msg/sec AtomicQueueB, 5,i: 4,321,800 msg/sec AtomicQueueB, 6,s: 2,569,391 msg/sec AtomicQueueB, 6,i: 3,964,153 msg/sec AtomicQueueB, 7,s: 2,926,194 msg/sec AtomicQueueB, 7,i: 3,177,755 msg/sec AtomicQueueB, 8,s: 3,054,935 msg/sec AtomicQueueB, 8,i: 2,880,366 msg/sec AtomicQueueB, 9,s: 2,893,717 msg/sec AtomicQueueB, 9,i: 2,879,585 msg/sec AtomicQueueB,10,s: 2,790,431 msg/sec AtomicQueueB,10,i: 2,881,313 msg/sec AtomicQueueB,11,s: 2,738,470 msg/sec AtomicQueueB,11,i: 2,932,607 msg/sec AtomicQueueB,12,s: 2,662,860 msg/sec AtomicQueueB,12,i: 2,840,464 msg/sec AtomicQueueB,13,s: 2,524,254 msg/sec AtomicQueueB,13,i: 2,797,135 msg/sec AtomicQueueB,14,s: 2,384,032 msg/sec AtomicQueueB,14,i: 2,797,661 msg/sec AtomicQueueB,15,s: 2,379,607 msg/sec AtomicQueueB,15,i: 2,831,260 msg/sec AtomicQueueB,16,s: 2,275,736 msg/sec AtomicQueueB,16,i: 2,731,622 msg/sec OptimistAtomicQueueB, 1,s: 668,883,692 msg/sec OptimistAtomicQueueB, 1,i: 512,430,153 msg/sec OptimistAtomicQueueB, 2,s: 47,099,436 msg/sec OptimistAtomicQueueB, 2,i: 49,108,024 msg/sec OptimistAtomicQueueB, 3,s: 58,617,990 msg/sec OptimistAtomicQueueB, 3,i: 57,886,139 msg/sec OptimistAtomicQueueB, 4,s: 59,489,708 msg/sec OptimistAtomicQueueB, 4,i: 66,277,756 msg/sec OptimistAtomicQueueB, 5,s: 33,107,018 msg/sec OptimistAtomicQueueB, 5,i: 39,051,510 msg/sec OptimistAtomicQueueB, 6,s: 34,320,414 msg/sec OptimistAtomicQueueB, 6,i: 34,042,078 msg/sec OptimistAtomicQueueB, 7,s: 39,210,221 msg/sec OptimistAtomicQueueB, 7,i: 39,919,953 msg/sec OptimistAtomicQueueB, 8,s: 51,509,784 msg/sec OptimistAtomicQueueB, 8,i: 41,199,309 msg/sec OptimistAtomicQueueB, 9,s: 40,600,127 msg/sec OptimistAtomicQueueB, 9,i: 44,595,367 msg/sec OptimistAtomicQueueB,10,s: 39,977,051 msg/sec OptimistAtomicQueueB,10,i: 47,265,281 msg/sec OptimistAtomicQueueB,11,s: 44,286,483 msg/sec OptimistAtomicQueueB,11,i: 52,672,886 msg/sec OptimistAtomicQueueB,12,s: 43,818,790 msg/sec OptimistAtomicQueueB,12,i: 56,937,334 msg/sec OptimistAtomicQueueB,13,s: 43,784,528 msg/sec OptimistAtomicQueueB,13,i: 56,422,449 msg/sec OptimistAtomicQueueB,14,s: 43,773,476 msg/sec OptimistAtomicQueueB,14,i: 56,777,140 msg/sec OptimistAtomicQueueB,15,s: 46,165,480 msg/sec OptimistAtomicQueueB,15,i: 59,956,853 msg/sec OptimistAtomicQueueB,16,s: 46,174,074 msg/sec OptimistAtomicQueueB,16,i: 64,669,007 msg/sec AtomicQueue2, 1,s: 126,008,568 msg/sec AtomicQueue2, 1,i: 114,953,404 msg/sec AtomicQueue2, 2,s: 9,952,665 msg/sec AtomicQueue2, 2,i: 10,530,398 msg/sec AtomicQueue2, 3,s: 8,410,501 msg/sec AtomicQueue2, 3,i: 8,921,870 msg/sec AtomicQueue2, 4,s: 6,674,903 msg/sec AtomicQueue2, 4,i: 7,087,328 msg/sec AtomicQueue2, 5,s: 3,142,462 msg/sec AtomicQueue2, 5,i: 3,706,214 msg/sec AtomicQueue2, 6,s: 2,565,605 msg/sec AtomicQueue2, 6,i: 3,959,532 msg/sec AtomicQueue2, 7,s: 2,892,734 msg/sec AtomicQueue2, 7,i: 3,215,712 msg/sec AtomicQueue2, 8,s: 3,024,182 msg/sec AtomicQueue2, 8,i: 2,890,931 msg/sec AtomicQueue2, 9,s: 2,761,789 msg/sec AtomicQueue2, 9,i: 2,919,370 msg/sec AtomicQueue2,10,s: 2,774,530 msg/sec AtomicQueue2,10,i: 2,967,027 msg/sec AtomicQueue2,11,s: 2,744,936 msg/sec AtomicQueue2,11,i: 2,943,002 msg/sec AtomicQueue2,12,s: 2,706,805 msg/sec AtomicQueue2,12,i: 2,852,820 msg/sec AtomicQueue2,13,s: 2,541,640 msg/sec AtomicQueue2,13,i: 2,784,015 msg/sec AtomicQueue2,14,s: 2,394,355 msg/sec AtomicQueue2,14,i: 2,751,973 msg/sec AtomicQueue2,15,s: 2,391,250 msg/sec AtomicQueue2,15,i: 2,804,944 msg/sec AtomicQueue2,16,s: 2,285,238 msg/sec AtomicQueue2,16,i: 2,707,330 msg/sec OptimistAtomicQueue2, 1,s: 107,082,213 msg/sec OptimistAtomicQueue2, 1,i: 107,196,425 msg/sec OptimistAtomicQueue2, 2,s: 43,668,446 msg/sec OptimistAtomicQueue2, 2,i: 46,973,994 msg/sec OptimistAtomicQueue2, 3,s: 55,950,990 msg/sec OptimistAtomicQueue2, 3,i: 50,029,589 msg/sec OptimistAtomicQueue2, 4,s: 59,244,309 msg/sec OptimistAtomicQueue2, 4,i: 57,851,833 msg/sec OptimistAtomicQueue2, 5,s: 31,476,253 msg/sec OptimistAtomicQueue2, 5,i: 32,601,130 msg/sec OptimistAtomicQueue2, 6,s: 32,951,327 msg/sec OptimistAtomicQueue2, 6,i: 32,116,619 msg/sec OptimistAtomicQueue2, 7,s: 37,886,575 msg/sec OptimistAtomicQueue2, 7,i: 37,761,212 msg/sec OptimistAtomicQueue2, 8,s: 49,043,768 msg/sec OptimistAtomicQueue2, 8,i: 39,817,654 msg/sec OptimistAtomicQueue2, 9,s: 37,574,981 msg/sec OptimistAtomicQueue2, 9,i: 42,033,117 msg/sec OptimistAtomicQueue2,10,s: 37,609,853 msg/sec OptimistAtomicQueue2,10,i: 44,049,534 msg/sec OptimistAtomicQueue2,11,s: 42,997,682 msg/sec OptimistAtomicQueue2,11,i: 48,574,369 msg/sec OptimistAtomicQueue2,12,s: 42,145,444 msg/sec OptimistAtomicQueue2,12,i: 52,798,619 msg/sec OptimistAtomicQueue2,13,s: 41,054,885 msg/sec OptimistAtomicQueue2,13,i: 53,550,207 msg/sec OptimistAtomicQueue2,14,s: 40,726,352 msg/sec OptimistAtomicQueue2,14,i: 52,101,546 msg/sec OptimistAtomicQueue2,15,s: 43,128,459 msg/sec OptimistAtomicQueue2,15,i: 56,957,496 msg/sec OptimistAtomicQueue2,16,s: 43,440,625 msg/sec OptimistAtomicQueue2,16,i: 59,030,181 msg/sec AtomicQueueB2, 1,s: 77,301,506 msg/sec AtomicQueueB2, 1,i: 59,290,604 msg/sec AtomicQueueB2, 2,s: 9,838,958 msg/sec AtomicQueueB2, 2,i: 10,440,400 msg/sec AtomicQueueB2, 3,s: 8,320,692 msg/sec AtomicQueueB2, 3,i: 8,823,976 msg/sec AtomicQueueB2, 4,s: 6,614,658 msg/sec AtomicQueueB2, 4,i: 6,969,291 msg/sec AtomicQueueB2, 5,s: 3,072,745 msg/sec AtomicQueueB2, 5,i: 4,336,275 msg/sec AtomicQueueB2, 6,s: 2,549,485 msg/sec AtomicQueueB2, 6,i: 3,984,676 msg/sec AtomicQueueB2, 7,s: 2,895,891 msg/sec AtomicQueueB2, 7,i: 3,263,579 msg/sec AtomicQueueB2, 8,s: 3,017,900 msg/sec AtomicQueueB2, 8,i: 2,837,654 msg/sec AtomicQueueB2, 9,s: 2,704,460 msg/sec AtomicQueueB2, 9,i: 2,876,942 msg/sec AtomicQueueB2,10,s: 2,765,002 msg/sec AtomicQueueB2,10,i: 2,852,921 msg/sec AtomicQueueB2,11,s: 2,797,767 msg/sec AtomicQueueB2,11,i: 2,891,381 msg/sec AtomicQueueB2,12,s: 2,765,775 msg/sec AtomicQueueB2,12,i: 2,856,875 msg/sec AtomicQueueB2,13,s: 2,646,363 msg/sec AtomicQueueB2,13,i: 2,807,013 msg/sec AtomicQueueB2,14,s: 2,477,509 msg/sec AtomicQueueB2,14,i: 2,766,145 msg/sec AtomicQueueB2,15,s: 2,428,475 msg/sec AtomicQueueB2,15,i: 2,817,791 msg/sec AtomicQueueB2,16,s: 2,302,049 msg/sec AtomicQueueB2,16,i: 2,742,655 msg/sec OptimistAtomicQueueB2, 1,s: 152,487,682 msg/sec OptimistAtomicQueueB2, 1,i: 152,844,267 msg/sec OptimistAtomicQueueB2, 2,s: 42,079,385 msg/sec OptimistAtomicQueueB2, 2,i: 45,897,453 msg/sec OptimistAtomicQueueB2, 3,s: 56,930,056 msg/sec OptimistAtomicQueueB2, 3,i: 53,190,564 msg/sec OptimistAtomicQueueB2, 4,s: 58,977,648 msg/sec OptimistAtomicQueueB2, 4,i: 59,892,277 msg/sec OptimistAtomicQueueB2, 5,s: 31,328,843 msg/sec OptimistAtomicQueueB2, 5,i: 31,303,042 msg/sec OptimistAtomicQueueB2, 6,s: 32,889,793 msg/sec OptimistAtomicQueueB2, 6,i: 32,284,775 msg/sec OptimistAtomicQueueB2, 7,s: 37,332,098 msg/sec OptimistAtomicQueueB2, 7,i: 37,029,407 msg/sec OptimistAtomicQueueB2, 8,s: 47,918,523 msg/sec OptimistAtomicQueueB2, 8,i: 38,878,282 msg/sec OptimistAtomicQueueB2, 9,s: 36,923,441 msg/sec OptimistAtomicQueueB2, 9,i: 41,115,030 msg/sec OptimistAtomicQueueB2,10,s: 37,211,810 msg/sec OptimistAtomicQueueB2,10,i: 42,377,944 msg/sec OptimistAtomicQueueB2,11,s: 42,410,610 msg/sec OptimistAtomicQueueB2,11,i: 46,957,016 msg/sec OptimistAtomicQueueB2,12,s: 41,767,693 msg/sec OptimistAtomicQueueB2,12,i: 51,338,603 msg/sec OptimistAtomicQueueB2,13,s: 40,852,907 msg/sec OptimistAtomicQueueB2,13,i: 52,502,012 msg/sec OptimistAtomicQueueB2,14,s: 40,705,647 msg/sec OptimistAtomicQueueB2,14,i: 52,645,086 msg/sec OptimistAtomicQueueB2,15,s: 43,093,798 msg/sec OptimistAtomicQueueB2,15,i: 56,701,399 msg/sec OptimistAtomicQueueB2,16,s: 43,196,688 msg/sec OptimistAtomicQueueB2,16,i: 59,098,591 msg/sec moodycamel::ReaderWriterQueue, 1,s: 258,936,407 msg/sec moodycamel::ReaderWriterQueue, 1,i: 236,580,453 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,962,887 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,052,156 msg/sec moodycamel::ConcurrentQueue, 2,s: 35,157,707 msg/sec moodycamel::ConcurrentQueue, 2,i: 30,799,459 msg/sec moodycamel::ConcurrentQueue, 3,s: 49,253,072 msg/sec moodycamel::ConcurrentQueue, 3,i: 49,705,451 msg/sec moodycamel::ConcurrentQueue, 4,s: 93,284,448 msg/sec moodycamel::ConcurrentQueue, 4,i: 92,259,798 msg/sec moodycamel::ConcurrentQueue, 5,s: 135,523,872 msg/sec moodycamel::ConcurrentQueue, 5,i: 173,109,257 msg/sec moodycamel::ConcurrentQueue, 6,s: 181,853,384 msg/sec moodycamel::ConcurrentQueue, 6,i: 162,107,257 msg/sec moodycamel::ConcurrentQueue, 7,s: 223,765,292 msg/sec moodycamel::ConcurrentQueue, 7,i: 208,633,360 msg/sec moodycamel::ConcurrentQueue, 8,s: 219,901,386 msg/sec moodycamel::ConcurrentQueue, 8,i: 245,458,637 msg/sec moodycamel::ConcurrentQueue, 9,s: 270,669,163 msg/sec moodycamel::ConcurrentQueue, 9,i: 274,429,808 msg/sec moodycamel::ConcurrentQueue,10,s: 293,819,083 msg/sec moodycamel::ConcurrentQueue,10,i: 250,996,539 msg/sec moodycamel::ConcurrentQueue,11,s: 221,403,098 msg/sec moodycamel::ConcurrentQueue,11,i: 249,814,006 msg/sec moodycamel::ConcurrentQueue,12,s: 214,546,581 msg/sec moodycamel::ConcurrentQueue,12,i: 145,591,070 msg/sec moodycamel::ConcurrentQueue,13,s: 236,160,361 msg/sec moodycamel::ConcurrentQueue,13,i: 220,257,105 msg/sec moodycamel::ConcurrentQueue,14,s: 255,687,300 msg/sec moodycamel::ConcurrentQueue,14,i: 366,248,404 msg/sec moodycamel::ConcurrentQueue,15,s: 331,382,529 msg/sec moodycamel::ConcurrentQueue,15,i: 336,961,029 msg/sec moodycamel::ConcurrentQueue,16,s: 521,622,169 msg/sec moodycamel::ConcurrentQueue,16,i: 450,061,630 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,832,053 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,825,007 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,105,938 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,133,822 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,961,722 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,068,176 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,414,757 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,617,164 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,065,398 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,646,864 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,797,526 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,730,920 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,661,214 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,160,174 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,781,681 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,812,988 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,623,969 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,915,166 msg/sec tbb::concurrent_bounded_queue,10,s: 2,769,224 msg/sec tbb::concurrent_bounded_queue,10,i: 2,910,140 msg/sec tbb::concurrent_bounded_queue,11,s: 2,658,623 msg/sec tbb::concurrent_bounded_queue,11,i: 2,863,566 msg/sec tbb::concurrent_bounded_queue,12,s: 2,563,370 msg/sec tbb::concurrent_bounded_queue,12,i: 2,732,312 msg/sec tbb::concurrent_bounded_queue,13,s: 2,492,344 msg/sec tbb::concurrent_bounded_queue,13,i: 2,747,399 msg/sec tbb::concurrent_bounded_queue,14,s: 2,383,899 msg/sec tbb::concurrent_bounded_queue,14,i: 2,725,703 msg/sec tbb::concurrent_bounded_queue,15,s: 2,343,150 msg/sec tbb::concurrent_bounded_queue,15,i: 2,657,730 msg/sec tbb::concurrent_bounded_queue,16,s: 2,263,477 msg/sec tbb::concurrent_bounded_queue,16,i: 2,527,494 msg/sec xenium::michael_scott_queue, 1,s: 13,442,705 msg/sec xenium::michael_scott_queue, 1,i: 13,753,131 msg/sec xenium::michael_scott_queue, 2,s: 9,428,446 msg/sec xenium::michael_scott_queue, 2,i: 9,201,204 msg/sec xenium::michael_scott_queue, 3,s: 7,641,676 msg/sec xenium::michael_scott_queue, 3,i: 7,534,251 msg/sec xenium::michael_scott_queue, 4,s: 5,854,639 msg/sec xenium::michael_scott_queue, 4,i: 5,811,333 msg/sec xenium::michael_scott_queue, 5,s: 3,671,409 msg/sec xenium::michael_scott_queue, 5,i: 4,649,995 msg/sec xenium::michael_scott_queue, 6,s: 3,353,038 msg/sec xenium::michael_scott_queue, 6,i: 3,932,842 msg/sec xenium::michael_scott_queue, 7,s: 3,150,310 msg/sec xenium::michael_scott_queue, 7,i: 3,235,301 msg/sec xenium::michael_scott_queue, 8,s: 2,346,986 msg/sec xenium::michael_scott_queue, 8,i: 2,786,987 msg/sec xenium::michael_scott_queue, 9,s: 2,850,305 msg/sec xenium::michael_scott_queue, 9,i: 2,849,474 msg/sec xenium::michael_scott_queue,10,s: 2,840,012 msg/sec xenium::michael_scott_queue,10,i: 2,924,802 msg/sec xenium::michael_scott_queue,11,s: 2,770,466 msg/sec xenium::michael_scott_queue,11,i: 2,859,422 msg/sec xenium::michael_scott_queue,12,s: 2,609,356 msg/sec xenium::michael_scott_queue,12,i: 2,764,359 msg/sec xenium::michael_scott_queue,13,s: 2,552,591 msg/sec xenium::michael_scott_queue,13,i: 2,706,269 msg/sec xenium::michael_scott_queue,14,s: 2,446,226 msg/sec xenium::michael_scott_queue,14,i: 2,646,361 msg/sec xenium::michael_scott_queue,15,s: 2,349,893 msg/sec xenium::michael_scott_queue,15,i: 2,638,498 msg/sec xenium::michael_scott_queue,16,s: 2,257,479 msg/sec xenium::michael_scott_queue,16,i: 2,536,141 msg/sec xenium::ramalhete_queue, 1,s: 70,673,503 msg/sec xenium::ramalhete_queue, 1,i: 68,797,491 msg/sec xenium::ramalhete_queue, 2,s: 50,792,645 msg/sec xenium::ramalhete_queue, 2,i: 37,093,492 msg/sec xenium::ramalhete_queue, 3,s: 41,262,902 msg/sec xenium::ramalhete_queue, 3,i: 43,045,718 msg/sec xenium::ramalhete_queue, 4,s: 50,710,302 msg/sec xenium::ramalhete_queue, 4,i: 49,664,695 msg/sec xenium::ramalhete_queue, 5,s: 37,690,239 msg/sec xenium::ramalhete_queue, 5,i: 23,660,435 msg/sec xenium::ramalhete_queue, 6,s: 38,994,363 msg/sec xenium::ramalhete_queue, 6,i: 26,868,297 msg/sec xenium::ramalhete_queue, 7,s: 40,527,223 msg/sec xenium::ramalhete_queue, 7,i: 28,710,941 msg/sec xenium::ramalhete_queue, 8,s: 50,633,993 msg/sec xenium::ramalhete_queue, 8,i: 30,675,760 msg/sec xenium::ramalhete_queue, 9,s: 33,674,146 msg/sec xenium::ramalhete_queue, 9,i: 36,145,612 msg/sec xenium::ramalhete_queue,10,s: 34,522,089 msg/sec xenium::ramalhete_queue,10,i: 41,714,221 msg/sec xenium::ramalhete_queue,11,s: 36,834,244 msg/sec xenium::ramalhete_queue,11,i: 41,776,309 msg/sec xenium::ramalhete_queue,12,s: 38,957,243 msg/sec xenium::ramalhete_queue,12,i: 43,708,667 msg/sec xenium::ramalhete_queue,13,s: 39,628,896 msg/sec xenium::ramalhete_queue,13,i: 42,817,646 msg/sec xenium::ramalhete_queue,14,s: 39,886,596 msg/sec xenium::ramalhete_queue,14,i: 44,535,162 msg/sec xenium::ramalhete_queue,15,s: 39,215,579 msg/sec xenium::ramalhete_queue,15,i: 43,646,594 msg/sec xenium::ramalhete_queue,16,s: 38,033,290 msg/sec xenium::ramalhete_queue,16,i: 44,397,894 msg/sec xenium::vyukov_bounded_queue, 1,s: 311,734,267 msg/sec xenium::vyukov_bounded_queue, 1,i: 311,012,954 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,000,143 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,692,708 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,666,996 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,204,491 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,296,837 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,548,557 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,077,825 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,320,813 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,081,774 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,406,263 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,205,536 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,522,961 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,134,666 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,560,765 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,854,671 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,657,329 msg/sec xenium::vyukov_bounded_queue,10,s: 7,553,352 msg/sec xenium::vyukov_bounded_queue,10,i: 6,902,054 msg/sec xenium::vyukov_bounded_queue,11,s: 7,365,997 msg/sec xenium::vyukov_bounded_queue,11,i: 7,219,880 msg/sec xenium::vyukov_bounded_queue,12,s: 7,456,072 msg/sec xenium::vyukov_bounded_queue,12,i: 7,560,597 msg/sec xenium::vyukov_bounded_queue,13,s: 6,984,625 msg/sec xenium::vyukov_bounded_queue,13,i: 7,290,552 msg/sec xenium::vyukov_bounded_queue,14,s: 7,085,107 msg/sec xenium::vyukov_bounded_queue,14,i: 7,362,660 msg/sec xenium::vyukov_bounded_queue,15,s: 7,088,487 msg/sec xenium::vyukov_bounded_queue,15,i: 7,295,808 msg/sec xenium::vyukov_bounded_queue,16,s: 6,850,108 msg/sec xenium::vyukov_bounded_queue,16,i: 7,056,779 msg/sec boost::lockfree::queue, 1,s: 7,743,168 msg/sec boost::lockfree::queue, 1,i: 7,826,462 msg/sec boost::lockfree::queue, 2,s: 5,853,877 msg/sec boost::lockfree::queue, 2,i: 5,907,939 msg/sec boost::lockfree::queue, 3,s: 4,952,454 msg/sec boost::lockfree::queue, 3,i: 4,802,809 msg/sec boost::lockfree::queue, 4,s: 4,378,324 msg/sec boost::lockfree::queue, 4,i: 4,356,989 msg/sec boost::lockfree::queue, 5,s: 2,673,099 msg/sec boost::lockfree::queue, 5,i: 2,899,562 msg/sec boost::lockfree::queue, 6,s: 1,431,996 msg/sec boost::lockfree::queue, 6,i: 3,005,181 msg/sec boost::lockfree::queue, 7,s: 1,383,774 msg/sec boost::lockfree::queue, 7,i: 2,863,459 msg/sec boost::lockfree::queue, 8,s: 1,156,628 msg/sec boost::lockfree::queue, 8,i: 1,926,773 msg/sec boost::lockfree::queue, 9,s: 1,422,967 msg/sec boost::lockfree::queue, 9,i: 1,953,301 msg/sec boost::lockfree::queue,10,s: 1,537,686 msg/sec boost::lockfree::queue,10,i: 1,947,436 msg/sec boost::lockfree::queue,11,s: 1,703,133 msg/sec boost::lockfree::queue,11,i: 1,876,178 msg/sec boost::lockfree::queue,12,s: 1,754,844 msg/sec boost::lockfree::queue,12,i: 1,632,642 msg/sec boost::lockfree::queue,13,s: 1,624,666 msg/sec boost::lockfree::queue,13,i: 1,627,478 msg/sec boost::lockfree::queue,14,s: 1,553,961 msg/sec boost::lockfree::queue,14,i: 1,630,522 msg/sec boost::lockfree::queue,15,s: 1,558,325 msg/sec boost::lockfree::queue,15,i: 1,591,241 msg/sec boost::lockfree::queue,16,s: 1,520,383 msg/sec boost::lockfree::queue,16,i: 1,492,629 msg/sec std::mutex, 1,s: 3,718,410 msg/sec std::mutex, 1,i: 3,873,237 msg/sec std::mutex, 2,s: 12,682,178 msg/sec std::mutex, 2,i: 13,130,857 msg/sec std::mutex, 3,s: 7,024,889 msg/sec std::mutex, 3,i: 6,807,083 msg/sec std::mutex, 4,s: 7,065,173 msg/sec std::mutex, 4,i: 6,687,605 msg/sec std::mutex, 5,s: 3,306,144 msg/sec std::mutex, 5,i: 3,462,921 msg/sec std::mutex, 6,s: 2,971,303 msg/sec std::mutex, 6,i: 2,917,412 msg/sec std::mutex, 7,s: 3,332,669 msg/sec std::mutex, 7,i: 2,955,459 msg/sec std::mutex, 8,s: 3,869,798 msg/sec std::mutex, 8,i: 3,035,233 msg/sec std::mutex, 9,s: 2,880,925 msg/sec std::mutex, 9,i: 2,714,337 msg/sec std::mutex,10,s: 2,654,761 msg/sec std::mutex,10,i: 2,648,904 msg/sec std::mutex,11,s: 2,688,632 msg/sec std::mutex,11,i: 2,700,189 msg/sec std::mutex,12,s: 2,652,749 msg/sec std::mutex,12,i: 2,592,474 msg/sec std::mutex,13,s: 2,478,381 msg/sec std::mutex,13,i: 2,400,148 msg/sec std::mutex,14,s: 2,418,653 msg/sec std::mutex,14,i: 2,356,753 msg/sec std::mutex,15,s: 2,426,429 msg/sec std::mutex,15,i: 2,354,447 msg/sec std::mutex,16,s: 2,345,333 msg/sec std::mutex,16,i: 2,277,961 msg/sec pthread_spinlock, 1,s: 17,722,611 msg/sec pthread_spinlock, 1,i: 18,031,715 msg/sec pthread_spinlock, 2,s: 7,815,896 msg/sec pthread_spinlock, 2,i: 1,644,342 msg/sec pthread_spinlock, 3,s: 1,029,955 msg/sec pthread_spinlock, 3,i: 6,227,059 msg/sec pthread_spinlock, 4,s: 905,665 msg/sec pthread_spinlock, 4,i: 1,350,795 msg/sec pthread_spinlock, 5,s: 2,768,268 msg/sec pthread_spinlock, 5,i: 980,409 msg/sec pthread_spinlock, 6,s: 2,066,643 msg/sec pthread_spinlock, 6,i: 2,834,661 msg/sec pthread_spinlock, 7,s: 2,823,635 msg/sec pthread_spinlock, 7,i: 3,089,277 msg/sec pthread_spinlock, 8,s: 2,997,631 msg/sec pthread_spinlock, 8,i: 2,684,443 msg/sec pthread_spinlock, 9,s: 2,845,234 msg/sec pthread_spinlock, 9,i: 2,293,807 msg/sec pthread_spinlock,10,s: 2,713,163 msg/sec pthread_spinlock,10,i: 2,391,756 msg/sec pthread_spinlock,11,s: 2,540,821 msg/sec pthread_spinlock,11,i: 2,730,732 msg/sec pthread_spinlock,12,s: 2,366,326 msg/sec pthread_spinlock,12,i: 2,490,729 msg/sec pthread_spinlock,13,s: 2,447,558 msg/sec pthread_spinlock,13,i: 2,263,786 msg/sec pthread_spinlock,14,s: 2,202,067 msg/sec pthread_spinlock,14,i: 2,109,459 msg/sec pthread_spinlock,15,s: 1,997,914 msg/sec pthread_spinlock,15,i: 1,847,970 msg/sec pthread_spinlock,16,s: 1,792,154 msg/sec pthread_spinlock,16,i: 1,601,650 msg/sec tbb::spin_mutex, 1,s: 37,668,148 msg/sec tbb::spin_mutex, 1,i: 37,491,820 msg/sec tbb::spin_mutex, 2,s: 16,451,473 msg/sec tbb::spin_mutex, 2,i: 15,918,995 msg/sec tbb::spin_mutex, 3,s: 12,056,458 msg/sec tbb::spin_mutex, 3,i: 11,886,435 msg/sec tbb::spin_mutex, 4,s: 10,292,961 msg/sec tbb::spin_mutex, 4,i: 10,056,019 msg/sec tbb::spin_mutex, 5,s: 5,982,802 msg/sec tbb::spin_mutex, 5,i: 5,572,771 msg/sec tbb::spin_mutex, 6,s: 5,110,928 msg/sec tbb::spin_mutex, 6,i: 4,849,208 msg/sec tbb::spin_mutex, 7,s: 4,399,504 msg/sec tbb::spin_mutex, 7,i: 4,902,187 msg/sec tbb::spin_mutex, 8,s: 4,288,011 msg/sec tbb::spin_mutex, 8,i: 4,056,134 msg/sec tbb::spin_mutex, 9,s: 4,446,966 msg/sec tbb::spin_mutex, 9,i: 4,320,376 msg/sec tbb::spin_mutex,10,s: 4,345,242 msg/sec tbb::spin_mutex,10,i: 4,131,895 msg/sec tbb::spin_mutex,11,s: 4,180,165 msg/sec tbb::spin_mutex,11,i: 3,521,528 msg/sec tbb::spin_mutex,12,s: 3,746,281 msg/sec tbb::spin_mutex,12,i: 3,502,228 msg/sec tbb::spin_mutex,13,s: 3,620,656 msg/sec tbb::spin_mutex,13,i: 3,325,803 msg/sec tbb::spin_mutex,14,s: 3,319,792 msg/sec tbb::spin_mutex,14,i: 2,953,603 msg/sec tbb::spin_mutex,15,s: 3,211,487 msg/sec tbb::spin_mutex,15,i: 3,129,409 msg/sec tbb::spin_mutex,16,s: 2,895,777 msg/sec tbb::spin_mutex,16,i: 3,013,126 msg/sec Elapsed time 6:14.50, user 5636.81s, system 601.41s, CPU 1665%, RSS 91964kB, exit-status 0. 2026-09-14 14:36:25 [23/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000043 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,898,856 msg/sec boost::lockfree::spsc_queue, 1,i: 113,413,228 msg/sec AtomicQueue, 1,s: 143,546,672 msg/sec AtomicQueue, 1,i: 146,816,152 msg/sec AtomicQueue, 2,s: 9,869,410 msg/sec AtomicQueue, 2,i: 10,340,583 msg/sec AtomicQueue, 3,s: 8,336,389 msg/sec AtomicQueue, 3,i: 8,776,230 msg/sec AtomicQueue, 4,s: 6,602,087 msg/sec AtomicQueue, 4,i: 6,997,488 msg/sec AtomicQueue, 5,s: 3,158,019 msg/sec AtomicQueue, 5,i: 3,786,317 msg/sec AtomicQueue, 6,s: 2,597,979 msg/sec AtomicQueue, 6,i: 4,020,090 msg/sec AtomicQueue, 7,s: 2,971,100 msg/sec AtomicQueue, 7,i: 3,204,483 msg/sec AtomicQueue, 8,s: 3,118,255 msg/sec AtomicQueue, 8,i: 2,902,501 msg/sec AtomicQueue, 9,s: 2,748,030 msg/sec AtomicQueue, 9,i: 2,947,745 msg/sec AtomicQueue,10,s: 2,797,622 msg/sec AtomicQueue,10,i: 2,902,735 msg/sec AtomicQueue,11,s: 2,785,385 msg/sec AtomicQueue,11,i: 2,925,621 msg/sec AtomicQueue,12,s: 2,659,968 msg/sec AtomicQueue,12,i: 2,863,589 msg/sec AtomicQueue,13,s: 2,528,379 msg/sec AtomicQueue,13,i: 2,801,281 msg/sec AtomicQueue,14,s: 2,367,398 msg/sec AtomicQueue,14,i: 2,775,163 msg/sec AtomicQueue,15,s: 2,361,549 msg/sec AtomicQueue,15,i: 2,763,486 msg/sec AtomicQueue,16,s: 2,255,804 msg/sec AtomicQueue,16,i: 2,738,078 msg/sec OptimistAtomicQueue, 1,s: 1,203,214,829 msg/sec OptimistAtomicQueue, 1,i: 1,203,953,602 msg/sec OptimistAtomicQueue, 2,s: 56,252,261 msg/sec OptimistAtomicQueue, 2,i: 52,115,488 msg/sec OptimistAtomicQueue, 3,s: 58,770,496 msg/sec OptimistAtomicQueue, 3,i: 59,651,428 msg/sec OptimistAtomicQueue, 4,s: 59,170,100 msg/sec OptimistAtomicQueue, 4,i: 65,090,857 msg/sec OptimistAtomicQueue, 5,s: 33,333,154 msg/sec OptimistAtomicQueue, 5,i: 39,671,196 msg/sec OptimistAtomicQueue, 6,s: 34,545,986 msg/sec OptimistAtomicQueue, 6,i: 35,171,144 msg/sec OptimistAtomicQueue, 7,s: 40,264,446 msg/sec OptimistAtomicQueue, 7,i: 40,054,775 msg/sec OptimistAtomicQueue, 8,s: 50,497,612 msg/sec OptimistAtomicQueue, 8,i: 41,222,966 msg/sec OptimistAtomicQueue, 9,s: 40,950,054 msg/sec OptimistAtomicQueue, 9,i: 45,750,166 msg/sec OptimistAtomicQueue,10,s: 39,898,196 msg/sec OptimistAtomicQueue,10,i: 47,553,509 msg/sec OptimistAtomicQueue,11,s: 44,253,853 msg/sec OptimistAtomicQueue,11,i: 52,808,567 msg/sec OptimistAtomicQueue,12,s: 43,383,587 msg/sec OptimistAtomicQueue,12,i: 54,013,312 msg/sec OptimistAtomicQueue,13,s: 43,391,479 msg/sec OptimistAtomicQueue,13,i: 57,069,873 msg/sec OptimistAtomicQueue,14,s: 43,200,866 msg/sec OptimistAtomicQueue,14,i: 56,472,037 msg/sec OptimistAtomicQueue,15,s: 45,842,999 msg/sec OptimistAtomicQueue,15,i: 62,298,110 msg/sec OptimistAtomicQueue,16,s: 45,804,744 msg/sec OptimistAtomicQueue,16,i: 64,699,005 msg/sec AtomicQueueB, 1,s: 49,421,070 msg/sec AtomicQueueB, 1,i: 50,200,744 msg/sec AtomicQueueB, 2,s: 9,474,125 msg/sec AtomicQueueB, 2,i: 10,085,262 msg/sec AtomicQueueB, 3,s: 8,103,518 msg/sec AtomicQueueB, 3,i: 8,540,245 msg/sec AtomicQueueB, 4,s: 6,550,427 msg/sec AtomicQueueB, 4,i: 6,905,658 msg/sec AtomicQueueB, 5,s: 3,117,670 msg/sec AtomicQueueB, 5,i: 4,324,825 msg/sec AtomicQueueB, 6,s: 2,571,148 msg/sec AtomicQueueB, 6,i: 3,481,490 msg/sec AtomicQueueB, 7,s: 2,915,608 msg/sec AtomicQueueB, 7,i: 3,214,359 msg/sec AtomicQueueB, 8,s: 3,059,668 msg/sec AtomicQueueB, 8,i: 2,867,033 msg/sec AtomicQueueB, 9,s: 2,716,432 msg/sec AtomicQueueB, 9,i: 2,876,783 msg/sec AtomicQueueB,10,s: 2,794,912 msg/sec AtomicQueueB,10,i: 2,864,430 msg/sec AtomicQueueB,11,s: 2,738,421 msg/sec AtomicQueueB,11,i: 2,928,637 msg/sec AtomicQueueB,12,s: 2,659,841 msg/sec AtomicQueueB,12,i: 2,854,794 msg/sec AtomicQueueB,13,s: 2,518,758 msg/sec AtomicQueueB,13,i: 2,825,496 msg/sec AtomicQueueB,14,s: 2,386,273 msg/sec AtomicQueueB,14,i: 2,754,076 msg/sec AtomicQueueB,15,s: 2,376,544 msg/sec AtomicQueueB,15,i: 2,836,208 msg/sec AtomicQueueB,16,s: 2,276,041 msg/sec AtomicQueueB,16,i: 2,734,196 msg/sec OptimistAtomicQueueB, 1,s: 514,934,189 msg/sec OptimistAtomicQueueB, 1,i: 521,600,403 msg/sec OptimistAtomicQueueB, 2,s: 52,279,175 msg/sec OptimistAtomicQueueB, 2,i: 49,402,710 msg/sec OptimistAtomicQueueB, 3,s: 58,629,846 msg/sec OptimistAtomicQueueB, 3,i: 57,411,482 msg/sec OptimistAtomicQueueB, 4,s: 59,677,579 msg/sec OptimistAtomicQueueB, 4,i: 66,067,186 msg/sec OptimistAtomicQueueB, 5,s: 33,116,973 msg/sec OptimistAtomicQueueB, 5,i: 38,083,086 msg/sec OptimistAtomicQueueB, 6,s: 34,349,768 msg/sec OptimistAtomicQueueB, 6,i: 34,000,284 msg/sec OptimistAtomicQueueB, 7,s: 39,254,717 msg/sec OptimistAtomicQueueB, 7,i: 39,937,633 msg/sec OptimistAtomicQueueB, 8,s: 51,523,478 msg/sec OptimistAtomicQueueB, 8,i: 41,281,437 msg/sec OptimistAtomicQueueB, 9,s: 40,623,415 msg/sec OptimistAtomicQueueB, 9,i: 45,700,636 msg/sec OptimistAtomicQueueB,10,s: 39,994,623 msg/sec OptimistAtomicQueueB,10,i: 45,078,712 msg/sec OptimistAtomicQueueB,11,s: 44,376,450 msg/sec OptimistAtomicQueueB,11,i: 52,550,187 msg/sec OptimistAtomicQueueB,12,s: 43,874,946 msg/sec OptimistAtomicQueueB,12,i: 56,748,450 msg/sec OptimistAtomicQueueB,13,s: 43,827,070 msg/sec OptimistAtomicQueueB,13,i: 56,168,166 msg/sec OptimistAtomicQueueB,14,s: 43,556,453 msg/sec OptimistAtomicQueueB,14,i: 57,121,752 msg/sec OptimistAtomicQueueB,15,s: 46,156,787 msg/sec OptimistAtomicQueueB,15,i: 60,018,566 msg/sec OptimistAtomicQueueB,16,s: 46,146,567 msg/sec OptimistAtomicQueueB,16,i: 64,733,138 msg/sec AtomicQueue2, 1,s: 135,662,863 msg/sec AtomicQueue2, 1,i: 126,240,173 msg/sec AtomicQueue2, 2,s: 9,942,622 msg/sec AtomicQueue2, 2,i: 10,522,845 msg/sec AtomicQueue2, 3,s: 8,406,473 msg/sec AtomicQueue2, 3,i: 8,921,585 msg/sec AtomicQueue2, 4,s: 6,682,529 msg/sec AtomicQueue2, 4,i: 7,082,814 msg/sec AtomicQueue2, 5,s: 3,135,918 msg/sec AtomicQueue2, 5,i: 4,283,476 msg/sec AtomicQueue2, 6,s: 2,567,146 msg/sec AtomicQueue2, 6,i: 3,982,631 msg/sec AtomicQueue2, 7,s: 2,897,991 msg/sec AtomicQueue2, 7,i: 3,199,910 msg/sec AtomicQueue2, 8,s: 3,001,328 msg/sec AtomicQueue2, 8,i: 2,893,978 msg/sec AtomicQueue2, 9,s: 2,780,741 msg/sec AtomicQueue2, 9,i: 2,908,729 msg/sec AtomicQueue2,10,s: 2,761,012 msg/sec AtomicQueue2,10,i: 2,929,385 msg/sec AtomicQueue2,11,s: 2,742,899 msg/sec AtomicQueue2,11,i: 2,871,894 msg/sec AtomicQueue2,12,s: 2,690,362 msg/sec AtomicQueue2,12,i: 2,853,768 msg/sec AtomicQueue2,13,s: 2,538,955 msg/sec AtomicQueue2,13,i: 2,785,213 msg/sec AtomicQueue2,14,s: 2,390,816 msg/sec AtomicQueue2,14,i: 2,752,440 msg/sec AtomicQueue2,15,s: 2,388,446 msg/sec AtomicQueue2,15,i: 2,725,214 msg/sec AtomicQueue2,16,s: 2,289,345 msg/sec AtomicQueue2,16,i: 2,711,752 msg/sec OptimistAtomicQueue2, 1,s: 107,197,918 msg/sec OptimistAtomicQueue2, 1,i: 107,288,314 msg/sec OptimistAtomicQueue2, 2,s: 43,479,929 msg/sec OptimistAtomicQueue2, 2,i: 46,960,494 msg/sec OptimistAtomicQueue2, 3,s: 54,176,736 msg/sec OptimistAtomicQueue2, 3,i: 49,952,793 msg/sec OptimistAtomicQueue2, 4,s: 59,287,581 msg/sec OptimistAtomicQueue2, 4,i: 57,765,716 msg/sec OptimistAtomicQueue2, 5,s: 31,471,587 msg/sec OptimistAtomicQueue2, 5,i: 34,298,510 msg/sec OptimistAtomicQueue2, 6,s: 32,873,176 msg/sec OptimistAtomicQueue2, 6,i: 32,512,883 msg/sec OptimistAtomicQueue2, 7,s: 37,647,770 msg/sec OptimistAtomicQueue2, 7,i: 37,727,392 msg/sec OptimistAtomicQueue2, 8,s: 49,034,751 msg/sec OptimistAtomicQueue2, 8,i: 39,832,515 msg/sec OptimistAtomicQueue2, 9,s: 37,726,243 msg/sec OptimistAtomicQueue2, 9,i: 42,532,206 msg/sec OptimistAtomicQueue2,10,s: 37,665,325 msg/sec OptimistAtomicQueue2,10,i: 44,093,059 msg/sec OptimistAtomicQueue2,11,s: 43,014,956 msg/sec OptimistAtomicQueue2,11,i: 48,778,508 msg/sec OptimistAtomicQueue2,12,s: 42,090,153 msg/sec OptimistAtomicQueue2,12,i: 50,305,668 msg/sec OptimistAtomicQueue2,13,s: 41,162,241 msg/sec OptimistAtomicQueue2,13,i: 52,624,624 msg/sec OptimistAtomicQueue2,14,s: 40,718,077 msg/sec OptimistAtomicQueue2,14,i: 54,091,355 msg/sec OptimistAtomicQueue2,15,s: 43,213,423 msg/sec OptimistAtomicQueue2,15,i: 56,763,967 msg/sec OptimistAtomicQueue2,16,s: 43,424,893 msg/sec OptimistAtomicQueue2,16,i: 59,227,081 msg/sec AtomicQueueB2, 1,s: 79,844,781 msg/sec AtomicQueueB2, 1,i: 71,493,635 msg/sec AtomicQueueB2, 2,s: 9,842,228 msg/sec AtomicQueueB2, 2,i: 10,389,466 msg/sec AtomicQueueB2, 3,s: 8,318,054 msg/sec AtomicQueueB2, 3,i: 8,798,571 msg/sec AtomicQueueB2, 4,s: 6,621,729 msg/sec AtomicQueueB2, 4,i: 6,973,557 msg/sec AtomicQueueB2, 5,s: 3,092,059 msg/sec AtomicQueueB2, 5,i: 4,327,446 msg/sec AtomicQueueB2, 6,s: 2,547,413 msg/sec AtomicQueueB2, 6,i: 3,965,397 msg/sec AtomicQueueB2, 7,s: 2,892,762 msg/sec AtomicQueueB2, 7,i: 3,181,623 msg/sec AtomicQueueB2, 8,s: 3,016,248 msg/sec AtomicQueueB2, 8,i: 2,839,403 msg/sec AtomicQueueB2, 9,s: 2,749,321 msg/sec AtomicQueueB2, 9,i: 2,839,655 msg/sec AtomicQueueB2,10,s: 2,833,656 msg/sec AtomicQueueB2,10,i: 2,831,220 msg/sec AtomicQueueB2,11,s: 2,822,657 msg/sec AtomicQueueB2,11,i: 2,919,207 msg/sec AtomicQueueB2,12,s: 2,758,708 msg/sec AtomicQueueB2,12,i: 2,859,882 msg/sec AtomicQueueB2,13,s: 2,620,900 msg/sec AtomicQueueB2,13,i: 2,820,592 msg/sec AtomicQueueB2,14,s: 2,462,816 msg/sec AtomicQueueB2,14,i: 2,743,085 msg/sec AtomicQueueB2,15,s: 2,423,698 msg/sec AtomicQueueB2,15,i: 2,748,770 msg/sec AtomicQueueB2,16,s: 2,301,401 msg/sec AtomicQueueB2,16,i: 2,750,669 msg/sec OptimistAtomicQueueB2, 1,s: 151,811,968 msg/sec OptimistAtomicQueueB2, 1,i: 152,032,610 msg/sec OptimistAtomicQueueB2, 2,s: 42,008,379 msg/sec OptimistAtomicQueueB2, 2,i: 45,906,661 msg/sec OptimistAtomicQueueB2, 3,s: 56,850,279 msg/sec OptimistAtomicQueueB2, 3,i: 53,194,384 msg/sec OptimistAtomicQueueB2, 4,s: 58,953,101 msg/sec OptimistAtomicQueueB2, 4,i: 59,990,434 msg/sec OptimistAtomicQueueB2, 5,s: 31,328,283 msg/sec OptimistAtomicQueueB2, 5,i: 32,535,507 msg/sec OptimistAtomicQueueB2, 6,s: 32,863,809 msg/sec OptimistAtomicQueueB2, 6,i: 31,908,286 msg/sec OptimistAtomicQueueB2, 7,s: 37,103,087 msg/sec OptimistAtomicQueueB2, 7,i: 37,025,609 msg/sec OptimistAtomicQueueB2, 8,s: 47,807,945 msg/sec OptimistAtomicQueueB2, 8,i: 38,866,375 msg/sec OptimistAtomicQueueB2, 9,s: 36,859,613 msg/sec OptimistAtomicQueueB2, 9,i: 41,206,718 msg/sec OptimistAtomicQueueB2,10,s: 37,183,957 msg/sec OptimistAtomicQueueB2,10,i: 43,273,176 msg/sec OptimistAtomicQueueB2,11,s: 42,575,025 msg/sec OptimistAtomicQueueB2,11,i: 47,594,179 msg/sec OptimistAtomicQueueB2,12,s: 41,698,587 msg/sec OptimistAtomicQueueB2,12,i: 51,038,022 msg/sec OptimistAtomicQueueB2,13,s: 40,902,383 msg/sec OptimistAtomicQueueB2,13,i: 52,445,265 msg/sec OptimistAtomicQueueB2,14,s: 40,757,125 msg/sec OptimistAtomicQueueB2,14,i: 53,231,520 msg/sec OptimistAtomicQueueB2,15,s: 43,127,268 msg/sec OptimistAtomicQueueB2,15,i: 56,448,488 msg/sec OptimistAtomicQueueB2,16,s: 43,182,101 msg/sec OptimistAtomicQueueB2,16,i: 59,121,791 msg/sec moodycamel::ReaderWriterQueue, 1,s: 294,621,522 msg/sec moodycamel::ReaderWriterQueue, 1,i: 213,201,935 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,996,925 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,000,229 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,668,732 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,301,188 msg/sec moodycamel::ConcurrentQueue, 3,s: 56,957,617 msg/sec moodycamel::ConcurrentQueue, 3,i: 54,159,307 msg/sec moodycamel::ConcurrentQueue, 4,s: 101,965,425 msg/sec moodycamel::ConcurrentQueue, 4,i: 96,628,433 msg/sec moodycamel::ConcurrentQueue, 5,s: 133,229,942 msg/sec moodycamel::ConcurrentQueue, 5,i: 181,975,129 msg/sec moodycamel::ConcurrentQueue, 6,s: 212,381,907 msg/sec moodycamel::ConcurrentQueue, 6,i: 204,660,793 msg/sec moodycamel::ConcurrentQueue, 7,s: 232,655,849 msg/sec moodycamel::ConcurrentQueue, 7,i: 193,439,891 msg/sec moodycamel::ConcurrentQueue, 8,s: 267,297,813 msg/sec moodycamel::ConcurrentQueue, 8,i: 235,424,775 msg/sec moodycamel::ConcurrentQueue, 9,s: 260,334,503 msg/sec moodycamel::ConcurrentQueue, 9,i: 256,363,598 msg/sec moodycamel::ConcurrentQueue,10,s: 298,399,116 msg/sec moodycamel::ConcurrentQueue,10,i: 263,196,416 msg/sec moodycamel::ConcurrentQueue,11,s: 286,331,330 msg/sec moodycamel::ConcurrentQueue,11,i: 285,258,118 msg/sec moodycamel::ConcurrentQueue,12,s: 175,688,709 msg/sec moodycamel::ConcurrentQueue,12,i: 228,459,017 msg/sec moodycamel::ConcurrentQueue,13,s: 264,506,250 msg/sec moodycamel::ConcurrentQueue,13,i: 314,572,934 msg/sec moodycamel::ConcurrentQueue,14,s: 310,210,204 msg/sec moodycamel::ConcurrentQueue,14,i: 337,932,646 msg/sec moodycamel::ConcurrentQueue,15,s: 438,969,046 msg/sec moodycamel::ConcurrentQueue,15,i: 448,517,672 msg/sec moodycamel::ConcurrentQueue,16,s: 540,660,854 msg/sec moodycamel::ConcurrentQueue,16,i: 494,517,410 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,796,965 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,807,156 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,136,507 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,132,839 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,968,776 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,065,621 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,421,124 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,616,758 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,078,791 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,100,877 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,788,692 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,725,545 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,661,873 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,151,270 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,778,065 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,805,394 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,631,677 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,852,037 msg/sec tbb::concurrent_bounded_queue,10,s: 2,763,647 msg/sec tbb::concurrent_bounded_queue,10,i: 2,986,080 msg/sec tbb::concurrent_bounded_queue,11,s: 2,658,473 msg/sec tbb::concurrent_bounded_queue,11,i: 2,867,704 msg/sec tbb::concurrent_bounded_queue,12,s: 2,566,243 msg/sec tbb::concurrent_bounded_queue,12,i: 2,739,730 msg/sec tbb::concurrent_bounded_queue,13,s: 2,490,277 msg/sec tbb::concurrent_bounded_queue,13,i: 2,806,560 msg/sec tbb::concurrent_bounded_queue,14,s: 2,383,122 msg/sec tbb::concurrent_bounded_queue,14,i: 2,789,991 msg/sec tbb::concurrent_bounded_queue,15,s: 2,344,280 msg/sec tbb::concurrent_bounded_queue,15,i: 2,685,251 msg/sec tbb::concurrent_bounded_queue,16,s: 2,267,398 msg/sec tbb::concurrent_bounded_queue,16,i: 2,533,097 msg/sec xenium::michael_scott_queue, 1,s: 13,423,021 msg/sec xenium::michael_scott_queue, 1,i: 13,782,140 msg/sec xenium::michael_scott_queue, 2,s: 9,409,915 msg/sec xenium::michael_scott_queue, 2,i: 9,207,161 msg/sec xenium::michael_scott_queue, 3,s: 7,628,751 msg/sec xenium::michael_scott_queue, 3,i: 7,535,516 msg/sec xenium::michael_scott_queue, 4,s: 5,872,997 msg/sec xenium::michael_scott_queue, 4,i: 5,837,173 msg/sec xenium::michael_scott_queue, 5,s: 3,651,251 msg/sec xenium::michael_scott_queue, 5,i: 3,945,566 msg/sec xenium::michael_scott_queue, 6,s: 3,369,649 msg/sec xenium::michael_scott_queue, 6,i: 3,607,746 msg/sec xenium::michael_scott_queue, 7,s: 3,187,098 msg/sec xenium::michael_scott_queue, 7,i: 3,267,257 msg/sec xenium::michael_scott_queue, 8,s: 2,339,821 msg/sec xenium::michael_scott_queue, 8,i: 2,791,838 msg/sec xenium::michael_scott_queue, 9,s: 2,875,017 msg/sec xenium::michael_scott_queue, 9,i: 2,839,776 msg/sec xenium::michael_scott_queue,10,s: 2,853,045 msg/sec xenium::michael_scott_queue,10,i: 2,877,381 msg/sec xenium::michael_scott_queue,11,s: 2,754,381 msg/sec xenium::michael_scott_queue,11,i: 2,857,840 msg/sec xenium::michael_scott_queue,12,s: 2,590,981 msg/sec xenium::michael_scott_queue,12,i: 2,735,146 msg/sec xenium::michael_scott_queue,13,s: 2,519,954 msg/sec xenium::michael_scott_queue,13,i: 2,674,219 msg/sec xenium::michael_scott_queue,14,s: 2,402,522 msg/sec xenium::michael_scott_queue,14,i: 2,614,838 msg/sec xenium::michael_scott_queue,15,s: 2,316,817 msg/sec xenium::michael_scott_queue,15,i: 2,606,881 msg/sec xenium::michael_scott_queue,16,s: 2,209,302 msg/sec xenium::michael_scott_queue,16,i: 2,496,272 msg/sec xenium::ramalhete_queue, 1,s: 70,617,707 msg/sec xenium::ramalhete_queue, 1,i: 66,753,752 msg/sec xenium::ramalhete_queue, 2,s: 45,538,945 msg/sec xenium::ramalhete_queue, 2,i: 35,384,990 msg/sec xenium::ramalhete_queue, 3,s: 41,787,950 msg/sec xenium::ramalhete_queue, 3,i: 41,190,550 msg/sec xenium::ramalhete_queue, 4,s: 52,511,499 msg/sec xenium::ramalhete_queue, 4,i: 51,570,879 msg/sec xenium::ramalhete_queue, 5,s: 37,347,656 msg/sec xenium::ramalhete_queue, 5,i: 24,016,606 msg/sec xenium::ramalhete_queue, 6,s: 39,000,051 msg/sec xenium::ramalhete_queue, 6,i: 26,026,790 msg/sec xenium::ramalhete_queue, 7,s: 40,995,482 msg/sec xenium::ramalhete_queue, 7,i: 28,084,199 msg/sec xenium::ramalhete_queue, 8,s: 50,267,134 msg/sec xenium::ramalhete_queue, 8,i: 29,946,883 msg/sec xenium::ramalhete_queue, 9,s: 32,999,052 msg/sec xenium::ramalhete_queue, 9,i: 35,938,219 msg/sec xenium::ramalhete_queue,10,s: 34,668,998 msg/sec xenium::ramalhete_queue,10,i: 41,865,260 msg/sec xenium::ramalhete_queue,11,s: 36,654,359 msg/sec xenium::ramalhete_queue,11,i: 41,717,631 msg/sec xenium::ramalhete_queue,12,s: 39,562,907 msg/sec xenium::ramalhete_queue,12,i: 43,519,843 msg/sec xenium::ramalhete_queue,13,s: 39,512,699 msg/sec xenium::ramalhete_queue,13,i: 42,302,767 msg/sec xenium::ramalhete_queue,14,s: 39,951,083 msg/sec xenium::ramalhete_queue,14,i: 43,328,727 msg/sec xenium::ramalhete_queue,15,s: 39,690,556 msg/sec xenium::ramalhete_queue,15,i: 43,726,692 msg/sec xenium::ramalhete_queue,16,s: 39,462,097 msg/sec xenium::ramalhete_queue,16,i: 44,646,138 msg/sec xenium::vyukov_bounded_queue, 1,s: 305,132,162 msg/sec xenium::vyukov_bounded_queue, 1,i: 313,089,905 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,731,521 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,922,546 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,725,768 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,121,832 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,342,382 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,569,603 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,993,952 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,294,434 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,111,937 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,806,955 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,211,508 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,459,181 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,422,164 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,552,406 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,140,603 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,673,913 msg/sec xenium::vyukov_bounded_queue,10,s: 7,651,902 msg/sec xenium::vyukov_bounded_queue,10,i: 6,842,624 msg/sec xenium::vyukov_bounded_queue,11,s: 7,654,716 msg/sec xenium::vyukov_bounded_queue,11,i: 7,178,736 msg/sec xenium::vyukov_bounded_queue,12,s: 7,570,229 msg/sec xenium::vyukov_bounded_queue,12,i: 7,526,699 msg/sec xenium::vyukov_bounded_queue,13,s: 7,180,862 msg/sec xenium::vyukov_bounded_queue,13,i: 7,426,652 msg/sec xenium::vyukov_bounded_queue,14,s: 6,942,675 msg/sec xenium::vyukov_bounded_queue,14,i: 7,420,045 msg/sec xenium::vyukov_bounded_queue,15,s: 7,071,763 msg/sec xenium::vyukov_bounded_queue,15,i: 7,286,934 msg/sec xenium::vyukov_bounded_queue,16,s: 6,832,770 msg/sec xenium::vyukov_bounded_queue,16,i: 7,081,302 msg/sec boost::lockfree::queue, 1,s: 7,792,726 msg/sec boost::lockfree::queue, 1,i: 7,764,451 msg/sec boost::lockfree::queue, 2,s: 5,838,074 msg/sec boost::lockfree::queue, 2,i: 5,898,337 msg/sec boost::lockfree::queue, 3,s: 4,943,840 msg/sec boost::lockfree::queue, 3,i: 4,808,640 msg/sec boost::lockfree::queue, 4,s: 4,358,198 msg/sec boost::lockfree::queue, 4,i: 4,345,108 msg/sec boost::lockfree::queue, 5,s: 2,660,892 msg/sec boost::lockfree::queue, 5,i: 2,656,456 msg/sec boost::lockfree::queue, 6,s: 1,436,534 msg/sec boost::lockfree::queue, 6,i: 2,823,484 msg/sec boost::lockfree::queue, 7,s: 1,390,273 msg/sec boost::lockfree::queue, 7,i: 2,835,958 msg/sec boost::lockfree::queue, 8,s: 1,158,732 msg/sec boost::lockfree::queue, 8,i: 1,820,292 msg/sec boost::lockfree::queue, 9,s: 1,440,145 msg/sec boopthread_spinlock: producers: 5: consumer 0 received too few messages: 0.09% of expected. st::lockfree::queue, 9,i: 1,908,521 msg/sec boost::lockfree::queue,10,s: 1,552,223 msg/sec boost::lockfree::queue,10,i: 1,912,066 msg/sec boost::lockfree::queue,11,s: 1,714,905 msg/sec boost::lockfree::queue,11,i: 1,887,170 msg/sec boost::lockfree::queue,12,s: 1,749,652 msg/sec boost::lockfree::queue,12,i: 1,679,022 msg/sec boost::lockfree::queue,13,s: 1,611,090 msg/sec boost::lockfree::queue,13,i: 1,637,339 msg/sec boost::lockfree::queue,14,s: 1,560,367 msg/sec boost::lockfree::queue,14,i: 1,677,173 msg/sec boost::lockfree::queue,15,s: 1,532,307 msg/sec boost::lockfree::queue,15,i: 1,574,988 msg/sec boost::lockfree::queue,16,s: 1,520,796 msg/sec boost::lockfree::queue,16,i: 1,492,999 msg/sec std::mutex, 1,s: 3,643,376 msg/sec std::mutex, 1,i: 3,500,649 msg/sec std::mutex, 2,s: 12,510,084 msg/sec std::mutex, 2,i: 12,761,986 msg/sec std::mutex, 3,s: 6,820,733 msg/sec std::mutex, 3,i: 6,832,482 msg/sec std::mutex, 4,s: 7,016,131 msg/sec std::mutex, 4,i: 6,695,555 msg/sec std::mutex, 5,s: 3,359,591 msg/sec std::mutex, 5,i: 3,429,074 msg/sec std::mutex, 6,s: 2,974,216 msg/sec std::mutex, 6,i: 2,946,381 msg/sec std::mutex, 7,s: 3,319,907 msg/sec std::mutex, 7,i: 2,960,835 msg/sec std::mutex, 8,s: 3,435,903 msg/sec std::mutex, 8,i: 2,783,398 msg/sec std::mutex, 9,s: 2,896,974 msg/sec std::mutex, 9,i: 2,740,974 msg/sec std::mutex,10,s: 2,608,369 msg/sec std::mutex,10,i: 2,563,202 msg/sec std::mutex,11,s: 2,625,306 msg/sec std::mutex,11,i: 2,734,668 msg/sec std::mutex,12,s: 2,727,344 msg/sec std::mutex,12,i: 2,567,604 msg/sec std::mutex,13,s: 2,519,459 msg/sec std::mutex,13,i: 2,451,675 msg/sec std::mutex,14,s: 2,407,858 msg/sec std::mutex,14,i: 2,377,229 msg/sec std::mutex,15,s: 2,440,860 msg/sec std::mutex,15,i: 2,379,992 msg/sec std::mutex,16,s: 2,343,293 msg/sec std::mutex,16,i: 2,296,511 msg/sec pthread_spinlock, 1,s: 17,924,757 msg/sec pthread_spinlock, 1,i: 18,093,834 msg/sec pthread_spinlock, 2,s: 8,224,697 msg/sec pthread_spinlock, 2,i: 2,330,453 msg/sec pthread_spinlock, 3,s: 1,077,759 msg/sec pthread_spinlock, 3,i: 6,602,317 msg/sec pthread_spinlock, 4,s: 1,852,754 msg/sec pthread_spinlock, 4,i: 1,172,204 msg/sec pthread_spinlock, 5,s: 2,771,508 msg/sec pthread_spinlock, 5,i: 3,729,676 msg/sec pthread_spinlock, 6,s: 2,038,401 msg/sec pthread_spinlock, 6,i: 2,724,105 msg/sec pthread_spinlock, 7,s: 2,998,130 msg/sec pthread_spinlock, 7,i: 3,067,895 msg/sec pthread_spinlock, 8,s: 2,982,365 msg/sec pthread_spinlock, 8,i: 2,670,567 msg/sec pthread_spinlock, 9,s: 2,787,407 msg/sec pthread_spinlock, 9,i: 2,313,594 msg/sec pthread_spinlock,10,s: 2,748,306 msg/sec pthread_spinlock,10,i: 2,375,400 msg/sec pthread_spinlock,11,s: 2,600,638 msg/sec pthread_spinlock,11,i: 2,605,370 msg/sec pthread_spinlock,12,s: 2,566,610 msg/sec pthread_spinlock,12,i: 2,487,226 msg/sec pthread_spinlock,13,s: 2,218,874 msg/sec pthread_spinlock,13,i: 2,255,283 msg/sec pthread_spinlock,14,s: 2,151,329 msg/sec pthread_spinlock,14,i: 2,107,903 msg/sec pthread_spinlock,15,s: 2,086,162 msg/sec pthread_spinlock,15,i: 1,926,811 msg/sec pthread_spinlock,16,s: 1,792,985 msg/sec pthread_spinlock,16,i: 1,598,407 msg/sec tbb::spin_mutex, 1,s: 37,830,638 msg/sec tbb::spin_mutex, 1,i: 38,242,805 msg/sec tbb::spin_mutex, 2,s: 16,468,012 msg/sec tbb::spin_mutex, 2,i: 16,053,454 msg/sec tbb::spin_mutex, 3,s: 12,047,530 msg/sec tbb::spin_mutex, 3,i: 11,879,002 msg/sec tbb::spin_mutex, 4,s: 10,590,316 msg/sec tbb::spin_mutex, 4,i: 9,997,655 msg/sec tbb::spin_mutex, 5,s: 5,941,467 msg/sec tbb::spin_mutex, 5,i: 5,635,525 msg/sec tbb::spin_mutex, 6,s: 5,106,743 msg/sec tbb::spin_mutex, 6,i: 4,780,470 msg/sec tbb::spin_mutex, 7,s: 4,361,848 msg/sec tbb::spin_mutex, 7,i: 4,736,653 msg/sec tbb::spin_mutex, 8,s: 4,262,844 msg/sec tbb::spin_mutex, 8,i: 4,080,836 msg/sec tbb::spin_mutex, 9,s: 4,538,420 msg/sec tbb::spin_mutex, 9,i: 3,988,837 msg/sec tbb::spin_mutex,10,s: 4,458,815 msg/sec tbb::spin_mutex,10,i: 4,264,383 msg/sec tbb::spin_mutex,11,s: 4,284,287 msg/sec tbb::spin_mutex,11,i: 4,226,789 msg/sec tbb::spin_mutex,12,s: 3,722,882 msg/sec tbb::spin_mutex,12,i: 3,521,297 msg/sec tbb::spin_mutex,13,s: 3,638,259 msg/sec tbb::spin_mutex,13,i: 3,454,085 msg/sec tbb::spin_mutex,14,s: 3,604,741 msg/sec tbb::spin_mutex,14,i: 2,994,104 msg/sec tbb::spin_mutex,15,s: 3,262,780 msg/sec tbb::spin_mutex,15,i: 3,082,761 msg/sec tbb::spin_mutex,16,s: 2,897,456 msg/sec tbb::spin_mutex,16,i: 3,016,900 msg/sec Elapsed time 6:12.78, user 5623.98s, system 601.87s, CPU 1670%, RSS 95724kB, exit-status 0. 2026-09-14 14:42:38 [24/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000043 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000046 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,272,478 msg/sec boost::lockfree::spsc_queue, 1,i: 113,089,257 msg/sec AtomicQueue, 1,s: 145,617,253 msg/sec AtomicQueue, 1,i: 141,666,281 msg/sec AtomicQueue, 2,s: 9,874,943 msg/sec AtomicQueue, 2,i: 10,328,083 msg/sec AtomicQueue, 3,s: 8,344,201 msg/sec AtomicQueue, 3,i: 8,817,032 msg/sec AtomicQueue, 4,s: 6,596,729 msg/sec AtomicQueue, 4,i: 7,017,307 msg/sec AtomicQueue, 5,s: 3,167,707 msg/sec AtomicQueue, 5,i: 4,315,522 msg/sec AtomicQueue, 6,s: 2,600,786 msg/sec AtomicQueue, 6,i: 4,022,045 msg/sec AtomicQueue, 7,s: 2,967,687 msg/sec AtomicQueue, 7,i: 3,204,032 msg/sec AtomicQueue, 8,s: 3,118,795 msg/sec AtomicQueue, 8,i: 2,888,541 msg/sec AtomicQueue, 9,s: 2,922,459 msg/sec AtomicQueue, 9,i: 2,909,887 msg/sec AtomicQueue,10,s: 2,790,010 msg/sec AtomicQueue,10,i: 2,972,682 msg/sec AtomicQueue,11,s: 2,783,077 msg/sec AtomicQueue,11,i: 2,938,018 msg/sec AtomicQueue,12,s: 2,725,168 msg/sec AtomicQueue,12,i: 2,866,683 msg/sec AtomicQueue,13,s: 2,520,293 msg/sec AtomicQueue,13,i: 2,811,367 msg/sec AtomicQueue,14,s: 2,367,000 msg/sec AtomicQueue,14,i: 2,741,414 msg/sec AtomicQueue,15,s: 2,361,422 msg/sec AtomicQueue,15,i: 2,761,663 msg/sec AtomicQueue,16,s: 2,253,838 msg/sec AtomicQueue,16,i: 2,735,962 msg/sec OptimistAtomicQueue, 1,s: 1,198,643,103 msg/sec OptimistAtomicQueue, 1,i: 1,194,676,600 msg/sec OptimistAtomicQueue, 2,s: 57,703,818 msg/sec OptimistAtomicQueue, 2,i: 52,830,664 msg/sec OptimistAtomicQueue, 3,s: 58,714,217 msg/sec OptimistAtomicQueue, 3,i: 59,138,551 msg/sec OptimistAtomicQueue, 4,s: 59,303,086 msg/sec OptimistAtomicQueue, 4,i: 65,927,026 msg/sec OptimistAtomicQueue, 5,s: 33,051,520 msg/sec OptimistAtomicQueue, 5,i: 51,184,711 msg/sec OptimistAtomicQueue, 6,s: 34,563,263 msg/sec OptimistAtomicQueue, 6,i: 35,167,669 msg/sec OptimistAtomicQueue, 7,s: 40,183,937 msg/sec OptimistAtomicQueue, 7,i: 40,080,766 msg/sec OptimistAtomicQueue, 8,s: 50,464,230 msg/sec OptimistAtomicQueue, 8,i: 41,193,318 msg/sec OptimistAtomicQueue, 9,s: 40,778,995 msg/sec OptimistAtomicQueue, 9,i: 45,124,942 msg/sec OptimistAtomicQueue,10,s: 39,950,349 msg/sec OptimistAtomicQueue,10,i: 47,797,639 msg/sec OptimistAtomicQueue,11,s: 44,244,631 msg/sec OptimistAtomicQueue,11,i: 52,864,706 msg/sec OptimistAtomicQueue,12,s: 43,327,537 msg/sec OptimistAtomicQueue,12,i: 56,844,512 msg/sec OptimistAtomicQueue,13,s: 43,455,379 msg/sec OptimistAtomicQueue,13,i: 56,925,019 msg/sec OptimistAtomicQueue,14,s: 43,027,166 msg/sec OptimistAtomicQueue,14,i: 57,128,017 msg/sec OptimistAtomicQueue,15,s: 45,922,680 msg/sec OptimistAtomicQueue,15,i: 60,547,583 msg/sec OptimistAtomicQueue,16,s: 45,744,128 msg/sec OptimistAtomicQueue,16,i: 64,576,926 msg/sec AtomicQueueB, 1,s: 51,633,400 msg/sec AtomicQueueB, 1,i: 49,774,797 msg/sec AtomicQueueB, 2,s: 9,592,503 msg/sec AtomicQueueB, 2,i: 9,878,815 msg/sec AtomicQueueB, 3,s: 8,210,751 msg/sec AtomicQueueB, 3,i: 8,620,783 msg/sec AtomicQueueB, 4,s: 6,535,914 msg/sec AtomicQueueB, 4,i: 6,901,403 msg/sec AtomicQueueB, 5,s: 3,103,811 msg/sec AtomicQueueB, 5,i: 4,318,878 msg/sec AtomicQueueB, 6,s: 2,567,997 msg/sec AtomicQueueB, 6,i: 3,500,466 msg/sec AtomicQueueB, 7,s: 2,923,489 msg/sec AtomicQueueB, 7,i: 3,215,698 msg/sec AtomicQueueB, 8,s: 3,046,375 msg/sec AtomicQueueB, 8,i: 2,877,084 msg/sec AtomicQueueB, 9,s: 2,862,672 msg/sec AtomicQueueB, 9,i: 2,888,782 msg/sec AtomicQueueB,10,s: 2,779,833 msg/sec AtomicQueueB,10,i: 2,880,852 msg/sec AtomicQueueB,11,s: 2,739,753 msg/sec AtomicQueueB,11,i: 2,930,800 msg/sec AtomicQueueB,12,s: 2,662,653 msg/sec AtomicQueueB,12,i: 2,850,570 msg/sec AtomicQueueB,13,s: 2,520,226 msg/sec AtomicQueueB,13,i: 2,814,653 msg/sec AtomicQueueB,14,s: 2,386,495 msg/sec AtomicQueueB,14,i: 2,759,914 msg/sec AtomicQueueB,15,s: 2,375,506 msg/sec AtomicQueueB,15,i: 2,766,834 msg/sec AtomicQueueB,16,s: 2,276,762 msg/sec AtomicQueueB,16,i: 2,739,443 msg/sec OptimistAtomicQueueB, 1,s: 679,366,808 msg/sec OptimistAtomicQueueB, 1,i: 535,424,254 msg/sec OptimistAtomicQueueB, 2,s: 47,504,287 msg/sec OptimistAtomicQueueB, 2,i: 49,952,044 msg/sec OptimistAtomicQueueB, 3,s: 58,599,957 msg/sec OptimistAtomicQueueB, 3,i: 57,200,068 msg/sec OptimistAtomicQueueB, 4,s: 59,479,659 msg/sec OptimistAtomicQueueB, 4,i: 65,942,242 msg/sec OptimistAtomicQueueB, 5,s: 33,072,715 msg/sec OptimistAtomicQueueB, 5,i: 37,090,507 msg/sec OptimistAtomicQueueB, 6,s: 34,289,605 msg/sec OptimistAtomicQueueB, 6,i: 34,880,928 msg/sec OptimistAtomicQueueB, 7,s: 39,178,377 msg/sec OptimistAtomicQueueB, 7,i: 40,027,920 msg/sec OptimistAtomicQueueB, 8,s: 59,566,886 msg/sec OptimistAtomicQueueB, 8,i: 41,265,748 msg/sec OptimistAtomicQueueB, 9,s: 40,936,225 msg/sec OptimistAtomicQueueB, 9,i: 45,433,442 msg/sec OptimistAtomicQueueB,10,s: 39,951,626 msg/sec OptimistAtomicQueueB,10,i: 47,387,435 msg/sec OptimistAtomicQueueB,11,s: 44,236,685 msg/sec OptimistAtomicQueueB,11,i: 52,788,998 msg/sec OptimistAtomicQueueB,12,s: 43,874,388 msg/sec OptimistAtomicQueueB,12,i: 56,802,151 msg/sec OptimistAtomicQueueB,13,s: 43,732,735 msg/sec OptimistAtomicQueueB,13,i: 56,107,189 msg/sec OptimistAtomicQueueB,14,s: 43,816,361 msg/sec OptimistAtomicQueueB,14,i: 55,769,240 msg/sec OptimistAtomicQueueB,15,s: 46,237,734 msg/sec OptimistAtomicQueueB,15,i: 60,453,845 msg/sec OptimistAtomicQueueB,16,s: 46,080,860 msg/sec OptimistAtomicQueueB,16,i: 64,692,351 msg/sec AtomicQueue2, 1,s: 129,466,192 msg/sec AtomicQueue2, 1,i: 126,711,404 msg/sec AtomicQueue2, 2,s: 9,932,640 msg/sec AtomicQueue2, 2,i: 10,543,160 msg/sec AtomicQueue2, 3,s: 8,412,043 msg/sec AtomicQueue2, 3,i: 8,919,870 msg/sec AtomicQueue2, 4,s: 6,673,959 msg/sec AtomicQueue2, 4,i: 7,088,425 msg/sec AtomicQueue2, 5,s: 3,149,386 msg/sec AtomicQueue2, 5,i: 4,276,266 msg/sec AtomicQueue2, 6,s: 2,567,760 msg/sec AtomicQueue2, 6,i: 3,974,003 msg/sec AtomicQueue2, 7,s: 2,899,541 msg/sec AtomicQueue2, 7,i: 3,190,821 msg/sec AtomicQueue2, 8,s: 3,007,920 msg/sec AtomicQueue2, 8,i: 2,896,679 msg/sec AtomicQueue2, 9,s: 2,722,154 msg/sec AtomicQueue2, 9,i: 2,902,736 msg/sec AtomicQueue2,10,s: 2,772,611 msg/sec AtomicQueue2,10,i: 2,918,045 msg/sec AtomicQueue2,11,s: 2,742,664 msg/sec AtomicQueue2,11,i: 2,946,986 msg/sec AtomicQueue2,12,s: 2,709,056 msg/sec AtomicQueue2,12,i: 2,835,770 msg/sec AtomicQueue2,13,s: 2,552,591 msg/sec AtomicQueue2,13,i: 2,806,026 msg/sec AtomicQueue2,14,s: 2,392,819 msg/sec AtomicQueue2,14,i: 2,761,789 msg/sec AtomicQueue2,15,s: 2,386,339 msg/sec AtomicQueue2,15,i: 2,739,394 msg/sec AtomicQueue2,16,s: 2,282,766 msg/sec AtomicQueue2,16,i: 2,710,652 msg/sec OptimistAtomicQueue2, 1,s: 107,029,036 msg/sec OptimistAtomicQueue2, 1,i: 106,547,019 msg/sec OptimistAtomicQueue2, 2,s: 43,409,643 msg/sec OptimistAtomicQueue2, 2,i: 46,902,040 msg/sec OptimistAtomicQueue2, 3,s: 55,564,195 msg/sec OptimistAtomicQueue2, 3,i: 49,981,255 msg/sec OptimistAtomicQueue2, 4,s: 59,296,370 msg/sec OptimistAtomicQueue2, 4,i: 57,781,436 msg/sec OptimistAtomicQueue2, 5,s: 31,399,787 msg/sec OptimistAtomicQueue2, 5,i: 32,616,176 msg/sec OptimistAtomicQueue2, 6,s: 32,800,116 msg/sec OptimistAtomicQueue2, 6,i: 32,514,796 msg/sec OptimistAtomicQueue2, 7,s: 37,841,429 msg/sec OptimistAtomicQueue2, 7,i: 37,710,348 msg/sec OptimistAtomicQueue2, 8,s: 49,077,007 msg/sec OptimistAtomicQueue2, 8,i: 39,807,589 msg/sec OptimistAtomicQueue2, 9,s: 37,492,514 msg/sec OptimistAtomicQueue2, 9,i: 42,563,868 msg/sec OptimistAtomicQueue2,10,s: 37,617,394 msg/sec OptimistAtomicQueue2,10,i: 43,202,566 msg/sec OptimistAtomicQueue2,11,s: 42,992,913 msg/sec OptimistAtomicQueue2,11,i: 46,756,221 msg/sec OptimistAtomicQueue2,12,s: 42,177,475 msg/sec OptimistAtomicQueue2,12,i: 52,138,647 msg/sec OptimistAtomicQueue2,13,s: 41,134,999 msg/sec OptimistAtomicQueue2,13,i: 52,173,266 msg/sec OptimistAtomicQueue2,14,s: 40,982,730 msg/sec OptimistAtomicQueue2,14,i: 52,430,377 msg/sec OptimistAtomicQueue2,15,s: 43,164,368 msg/sec OptimistAtomicQueue2,15,i: 56,180,963 msg/sec OptimistAtomicQueue2,16,s: 43,475,468 msg/sec OptimistAtomicQueue2,16,i: 59,050,398 msg/sec AtomicQueueB2, 1,s: 88,839,017 msg/sec AtomicQueueB2, 1,i: 73,453,800 msg/sec AtomicQueueB2, 2,s: 9,836,741 msg/sec AtomicQueueB2, 2,i: 10,429,289 msg/sec AtomicQueueB2, 3,s: 8,313,732 msg/sec AtomicQueueB2, 3,i: 8,830,357 msg/sec AtomicQueueB2, 4,s: 6,614,122 msg/sec AtomicQueueB2, 4,i: 6,957,404 msg/sec AtomicQueueB2, 5,s: 3,091,728 msg/sec AtomicQueueB2, 5,i: 4,321,385 msg/sec AtomicQueueB2, 6,s: 2,550,930 msg/sec AtomicQueueB2, 6,i: 3,466,315 msg/sec AtomicQueueB2, 7,s: 2,898,108 msg/sec AtomicQueueB2, 7,i: 3,264,909 msg/sec AtomicQueueB2, 8,s: 3,012,438 msg/sec AtomicQueueB2, 8,i: 2,849,886 msg/sec AtomicQueueB2, 9,s: 2,801,576 msg/sec AtomicQueueB2, 9,i: 2,842,846 msg/sec AtomicQueueB2,10,s: 2,757,410 msg/sec AtomicQueueB2,10,i: 2,860,458 msg/sec AtomicQueueB2,11,s: 2,795,425 msg/sec AtomicQueueB2,11,i: 2,835,937 msg/sec AtomicQueueB2,12,s: 2,757,590 msg/sec AtomicQueueB2,12,i: 2,858,091 msg/sec AtomicQueueB2,13,s: 2,607,821 msg/sec AtomicQueueB2,13,i: 2,832,754 msg/sec AtomicQueueB2,14,s: 2,472,446 msg/sec AtomicQueueB2,14,i: 2,784,020 msg/sec AtomicQueueB2,15,s: 2,431,838 msg/sec AtomicQueueB2,15,i: 2,750,974 msg/sec AtomicQueueB2,16,s: 2,301,548 msg/sec AtomicQueueB2,16,i: 2,744,865 msg/sec OptimistAtomicQueueB2, 1,s: 154,556,180 msg/sec OptimistAtomicQueueB2, 1,i: 150,984,306 msg/sec OptimistAtomicQueueB2, 2,s: 42,057,865 msg/sec OptimistAtomicQueueB2, 2,i: 45,859,567 msg/sec OptimistAtomicQueueB2, 3,s: 56,991,440 msg/sec OptimistAtomicQueueB2, 3,i: 53,105,317 msg/sec OptimistAtomicQueueB2, 4,s: 58,998,420 msg/sec OptimistAtomicQueueB2, 4,i: 59,737,898 msg/sec OptimistAtomicQueueB2, 5,s: 31,298,143 msg/sec OptimistAtomicQueueB2, 5,i: 31,479,295 msg/sec OptimistAtomicQueueB2, 6,s: 32,906,622 msg/sec OptimistAtomicQueueB2, 6,i: 32,301,637 msg/sec OptimistAtomicQueueB2, 7,s: 37,194,719 msg/sec OptimistAtomicQueueB2, 7,i: 37,100,086 msg/sec OptimistAtomicQueueB2, 8,s: 47,887,063 msg/sec OptimistAtomicQueueB2, 8,i: 38,923,088 msg/sec OptimistAtomicQueueB2, 9,s: 37,243,650 msg/sec OptimistAtomicQueueB2, 9,i: 41,716,364 msg/sec OptimistAtomicQueueB2,10,s: 37,286,983 msg/sec OptimistAtomicQueueB2,10,i: 43,090,314 msg/sec OptimistAtomicQueueB2,11,s: 42,416,978 msg/sec OptimistAtomicQueueB2,11,i: 46,234,587 msg/sec OptimistAtomicQueueB2,12,s: 41,717,913 msg/sec OptimistAtomicQueueB2,12,i: 51,726,648 msg/sec OptimistAtomicQueueB2,13,s: 40,921,898 msg/sec OptimistAtomicQueueB2,13,i: 52,361,347 msg/sec OptimistAtomicQueueB2,14,s: 40,683,357 msg/sec OptimistAtomicQueueB2,14,i: 53,202,718 msg/sec OptimistAtomicQueueB2,15,s: 42,924,622 msg/sec OptimistAtomicQueueB2,15,i: 56,456,837 msg/sec OptimistAtomicQueueB2,16,s: 43,126,978 msg/sec OptimistAtomicQueueB2,16,i: 59,163,309 msg/sec moodycamel::ReaderWriterQueue, 1,s: 405,209,200 msg/sec moodycamel::ReaderWriterQueue, 1,i: 276,472,296 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,140,719 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,268,508 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,971,282 msg/sec moodycamel::ConcurrentQueue, 2,i: 30,278,232 msg/sec moodycamel::ConcurrentQueue, 3,s: 47,103,856 msg/sec moodycamel::ConcurrentQueue, 3,i: 49,238,982 msg/sec moodycamel::ConcurrentQueue, 4,s: 93,146,556 msg/sec moodycamel::ConcurrentQueue, 4,i: 89,681,446 msg/sec moodycamel::ConcurrentQueue, 5,s: 130,527,753 msg/sec moodycamel::ConcurrentQueue, 5,i: 180,080,411 msg/sec moodycamel::ConcurrentQueue, 6,s: 170,177,889 msg/sec moodycamel::ConcurrentQueue, 6,i: 149,250,181 msg/sec moodycamel::ConcurrentQueue, 7,s: 206,821,559 msg/sec moodycamel::ConcurrentQueue, 7,i: 183,591,842 msg/sec moodycamel::ConcurrentQueue, 8,s: 241,000,786 msg/sec moodycamel::ConcurrentQueue, 8,i: 246,749,887 msg/sec moodycamel::ConcurrentQueue, 9,s: 267,917,961 msg/sec moodycamel::ConcurrentQueue, 9,i: 237,634,185 msg/sec moodycamel::ConcurrentQueue,10,s: 299,800,920 msg/sec moodycamel::ConcurrentQueue,10,i: 242,031,444 msg/sec moodycamel::ConcurrentQueue,11,s: 245,884,164 msg/sec moodycamel::ConcurrentQueue,11,i: 207,918,038 msg/sec moodycamel::ConcurrentQueue,12,s: 226,200,275 msg/sec moodycamel::ConcurrentQueue,12,i: 194,597,381 msg/sec moodycamel::ConcurrentQueue,13,s: 290,582,578 msg/sec moodycamel::ConcurrentQueue,13,i: 262,515,571 msg/sec moodycamel::ConcurrentQueue,14,s: 330,711,085 msg/sec moodycamel::ConcurrentQueue,14,i: 352,906,240 msg/sec moodycamel::ConcurrentQueue,15,s: 324,847,389 msg/sec moodycamel::ConcurrentQueue,15,i: 403,815,503 msg/sec moodycamel::ConcurrentQueue,16,s: 506,861,672 msg/sec moodycamel::ConcurrentQueue,16,i: 395,096,180 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,813,171 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,837,705 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,121,678 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,133,784 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,964,493 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,061,602 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,414,517 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,622,085 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,064,203 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,645,918 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,785,307 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,421,568 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,659,816 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,132,465 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,779,843 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,801,808 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,619,435 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,845,704 msg/sec tbb::concurrent_bounded_queue,10,s: 2,751,975 msg/sec tbb::concurrent_bounded_queue,10,i: 2,905,434 msg/sec tbb::concurrent_bounded_queue,11,s: 2,659,629 msg/sec tbb::concurrent_bounded_queue,11,i: 2,822,077 msg/sec tbb::concurrent_bounded_queue,12,s: 2,559,671 msg/sec tbb::concurrent_bounded_queue,12,i: 2,790,847 msg/sec tbb::concurrent_bounded_queue,13,s: 2,494,441 msg/sec tbb::concurrent_bounded_queue,13,i: 2,772,859 msg/sec tbb::concurrent_bounded_queue,14,s: 2,386,987 msg/sec tbb::concurrent_bounded_queue,14,i: 2,744,654 msg/sec tbb::concurrent_bounded_queue,15,s: 2,357,804 msg/sec tbb::concurrent_bounded_queue,15,i: 2,655,770 msg/sec tbb::concurrent_bounded_queue,16,s: 2,260,256 msg/sec tbb::concurrent_bounded_queue,16,i: 2,534,031 msg/sec xenium::michael_scott_queue, 1,s: 13,445,358 msg/sec xenium::michael_scott_queue, 1,i: 13,734,074 msg/sec xenium::michael_scott_queue, 2,s: 9,432,235 msg/sec xenium::michael_scott_queue, 2,i: 9,161,312 msg/sec xenium::michael_scott_queue, 3,s: 7,628,430 msg/sec xenium::michael_scott_queue, 3,i: 7,563,394 msg/sec xenium::michael_scott_queue, 4,s: 5,898,860 msg/sec xenium::michael_scott_queue, 4,i: 5,829,309 msg/sec xenium::michael_scott_queue, 5,s: 3,603,859 msg/sec xenium::michael_scott_queue, 5,i: 4,627,497 msg/sec xenium::michael_scott_queue, 6,s: 3,333,216 msg/sec xenium::michael_scott_queue, 6,i: 3,589,442 msg/sec xenium::michael_scott_queue, 7,s: 3,188,800 msg/sec xenium::michael_scott_queue, 7,i: 3,248,643 msg/sec xenium::michael_scott_queue, 8,s: 2,355,643 msg/sec xenium::michael_scott_queue, 8,i: 2,795,180 msg/sec xenium::michael_scott_queue, 9,s: 2,875,281 msg/sec xenium::michael_scott_queue, 9,i: 2,835,994 msg/sec xenium::michael_scott_queue,10,s: 2,828,607 msg/sec xenium::michael_scott_queue,10,i: 2,891,598 msg/sec xenium::michael_scott_queue,11,s: 2,739,594 msg/sec xenium::michael_scott_queue,11,i: 2,859,626 msg/sec xenium::michael_scott_queue,12,s: 2,598,455 msg/sec xenium::michael_scott_queue,12,i: 2,752,590 msg/sec xenium::michael_scott_queue,13,s: 2,545,815 msg/sec xenium::michael_scott_queue,13,i: 2,645,132 msg/sec xenium::michael_scott_queue,14,s: 2,412,846 msg/sec xenium::michael_scott_queue,14,i: 2,607,322 msg/sec xenium::michael_scott_queue,15,s: 2,321,921 msg/sec xenium::michael_scott_queue,15,i: 2,603,386 msg/sec xenium::michael_scott_queue,16,s: 2,224,640 msg/sec xenium::michael_scott_queue,16,i: 2,499,368 msg/sec xenium::ramalhete_queue, 1,s: 73,615,800 msg/sec xenium::ramalhete_queue, 1,i: 69,644,048 msg/sec xenium::ramalhete_queue, 2,s: 49,634,351 msg/sec xenium::ramalhete_queue, 2,i: 50,572,154 msg/sec xenium::ramalhete_queue, 3,s: 43,296,569 msg/sec xenium::ramalhete_queue, 3,i: 40,878,366 msg/sec xenium::ramalhete_queue, 4,s: 49,775,937 msg/sec xenium::ramalhete_queue, 4,i: 47,776,790 msg/sec xenium::ramalhete_queue, 5,s: 37,820,980 msg/sec xenium::ramalhete_queue, 5,i: 23,206,317 msg/sec xenium::ramalhete_queue, 6,s: 38,846,388 msg/sec xenium::ramalhete_queue, 6,i: 25,990,614 msg/sec xenium::ramalhete_queue, 7,s: 40,439,054 msg/sec xenium::ramalhete_queue, 7,i: 27,753,835 msg/sec xenium::ramalhete_queue, 8,s: 50,893,173 msg/sec xenium::ramalhete_queue, 8,i: 29,711,449 msg/sec xenium::ramalhete_queue, 9,s: 32,896,633 msg/sec xenium::ramalhete_queue, 9,i: 35,539,648 msg/sec xenium::ramalhete_queue,10,s: 34,680,276 msg/sec xenium::ramalhete_queue,10,i: 41,709,366 msg/sec xenium::ramalhete_queue,11,s: 36,594,376 msg/sec xenium::ramalhete_queue,11,i: 41,895,829 msg/sec xenium::ramalhete_queue,12,s: 38,675,712 msg/sec xenium::ramalhete_queue,12,i: 43,439,632 msg/sec xenium::ramalhete_queue,13,s: 39,525,286 msg/sec xenium::ramalhete_queue,13,i: 42,021,434 msg/sec xenium::ramalhete_queue,14,s: 39,843,529 msg/sec xenium::ramalhete_queue,14,i: 43,086,674 msg/sec xenium::ramalhete_queue,15,s: 39,841,347 msg/sec xenium::ramalhete_queue,15,i: 43,782,803 msg/sec xenium::ramalhete_queue,16,s: 39,545,240 msg/sec xenium::ramalhete_queue,16,i: 44,590,755 msg/sec xenium::vyukov_bounded_queue, 1,s: 216,456,733 msg/sec xenium::vyukov_bounded_queue, 1,i: 306,451,526 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,449,604 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,286,644 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,741,197 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,305,813 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,429,506 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,666,119 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,018,537 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,517,519 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,058,455 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,386,604 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,071,080 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,455,892 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,015,187 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,529,236 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,102,795 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,633,500 msg/sec xenium::vyukov_bounded_queue,10,s: 7,707,299 msg/sec xenium::vyukov_bounded_queue,10,i: 6,919,623 msg/sec xenium::vyukov_bounded_queue,11,s: 7,409,598 msg/sec xenium::vyukov_bounded_queue,11,i: 7,175,826 msg/sec xenium::vyukov_bounded_queue,12,s: 7,555,618 msg/sec xenium::vyukov_bounded_queue,12,i: 7,340,869 msg/sec xenium::vyukov_bounded_queue,13,s: 6,994,665 msg/sec xenium::vyukov_bounded_queue,13,i: 7,382,374 msg/sec xenium::vyukov_bounded_queue,14,s: 7,017,448 msg/sec xenium::vyukov_bounded_queue,14,i: 7,306,761 msg/sec xenium::vyukov_bounded_queue,15,s: 7,123,073 msg/sec xenium::vyukov_bounded_queue,15,i: 7,226,485 msg/sec xenium::vyukov_bounded_queue,16,s: 6,912,728 msg/sec xenium::vyukov_bounded_queue,16,i: 7,032,065 msg/sec boost::lockfree::queue, 1,s: 7,816,938 msg/sec boost::lockfree::queue, 1,i: 7,817,294 msg/sec boost::lockfree::queue, 2,s: 5,878,722 msg/sec boost::lockfree::queue, 2,i: 5,895,953 msg/sec boost::lockfree::queue, 3,s: 4,934,927 msg/sec boost::lockfree::queue, 3,i: 4,810,386 msg/sec boost::lockfree::queue, 4,s: 4,370,005 msg/sec boost::lockfree::queue, 4,i: 4,356,858 msg/sec boost::lockfree::queue, 5,s: 2,661,265 msg/sec boost::lockfree::queue, 5,i: 2,898,068 msg/sec boost::lockfree::queue, 6,s: 1,437,637 msg/sec boost::lockfree::queue, 6,i: 2,817,184 msg/sec boost::lockfree::queue, 7,s: 1,384,627 msg/sec boost::lockfree::queue, 7,i: 2,947,786 msg/sec boost::lockfree::queue, 8,s: 1,159,379 msg/sec boost::lockfree::queue, 8,i: 1,828,378 msg/sec boost::lockfree::queue, 9,s: 1,441,032 msg/sec boopthread_spinlock: producers: 5: consumer 3 received too few messages: 0.06% of expected. st::lockfree::queue, 9,i: 1,931,905 msg/sec boost::lockfree::queue,10,s: 1,554,304 msg/sec boost::lockfree::queue,10,i: 1,909,893 msg/sec boost::lockfree::queue,11,s: 1,780,643 msg/sec boost::lockfree::queue,11,i: 1,891,187 msg/sec boost::lockfree::queue,12,s: 1,720,389 msg/sec boost::lockfree::queue,12,i: 1,696,344 msg/sec boost::lockfree::queue,13,s: 1,618,749 msg/sec boost::lockfree::queue,13,i: 1,680,548 msg/sec boost::lockfree::queue,14,s: 1,549,051 msg/sec boost::lockfree::queue,14,i: 1,625,890 msg/sec boost::lockfree::queue,15,s: 1,563,546 msg/sec boost::lockfree::queue,15,i: 1,583,318 msg/sec boost::lockfree::queue,16,s: 1,537,148 msg/sec boost::lockfree::queue,16,i: 1,490,811 msg/sec std::mutex, 1,s: 5,160,244 msg/sec std::mutex, 1,i: 4,713,634 msg/sec std::mutex, 2,s: 13,772,105 msg/sec std::mutex, 2,i: 13,081,979 msg/sec std::mutex, 3,s: 7,382,490 msg/sec std::mutex, 3,i: 6,998,765 msg/sec std::mutex, 4,s: 6,999,255 msg/sec std::mutex, 4,i: 6,689,135 msg/sec std::mutex, 5,s: 3,380,606 msg/sec std::mutex, 5,i: 3,539,129 msg/sec std::mutex, 6,s: 2,982,552 msg/sec std::mutex, 6,i: 2,927,652 msg/sec std::mutex, 7,s: 3,312,487 msg/sec std::mutex, 7,i: 2,916,230 msg/sec std::mutex, 8,s: 3,406,563 msg/sec std::mutex, 8,i: 2,770,409 msg/sec std::mutex, 9,s: 2,898,110 msg/sec std::mutex, 9,i: 2,724,588 msg/sec std::mutex,10,s: 2,643,870 msg/sec std::mutex,10,i: 2,651,563 msg/sec std::mutex,11,s: 2,675,671 msg/sec std::mutex,11,i: 2,757,945 msg/sec std::mutex,12,s: 2,717,455 msg/sec std::mutex,12,i: 2,550,687 msg/sec std::mutex,13,s: 2,557,462 msg/sec std::mutex,13,i: 2,411,207 msg/sec std::mutex,14,s: 2,424,760 msg/sec std::mutex,14,i: 2,392,696 msg/sec std::mutex,15,s: 2,451,832 msg/sec std::mutex,15,i: 2,381,889 msg/sec std::mutex,16,s: 2,333,739 msg/sec std::mutex,16,i: 2,263,996 msg/sec pthread_spinlock, 1,s: 17,679,524 msg/sec pthread_spinlock, 1,i: 18,002,400 msg/sec pthread_spinlock, 2,s: 6,905,957 msg/sec pthread_spinlock, 2,i: 1,943,086 msg/sec pthread_spinlock, 3,s: 842,355 msg/sec pthread_spinlock, 3,i: 6,244,860 msg/sec pthread_spinlock, 4,s: 2,425,466 msg/sec pthread_spinlock, 4,i: 1,553,313 msg/sec pthread_spinlock, 5,s: 2,777,230 msg/sec pthread_spinlock, 5,i: 3,708,395 msg/sec pthread_spinlock, 6,s: 2,020,360 msg/sec pthread_spinlock, 6,i: 3,545,667 msg/sec pthread_spinlock, 7,s: 2,840,642 msg/sec pthread_spinlock, 7,i: 3,092,101 msg/sec pthread_spinlock, 8,s: 2,996,761 msg/sec pthread_spinlock, 8,i: 2,680,049 msg/sec pthread_spinlock, 9,s: 2,732,589 msg/sec pthread_spinlock, 9,i: 2,302,517 msg/sec pthread_spinlock,10,s: 2,746,677 msg/sec pthread_spinlock,10,i: 2,393,918 msg/sec pthread_spinlock,11,s: 2,585,554 msg/sec pthread_spinlock,11,i: 2,259,674 msg/sec pthread_spinlock,12,s: 2,578,593 msg/sec pthread_spinlock,12,i: 2,106,125 msg/sec pthread_spinlock,13,s: 2,374,663 msg/sec pthread_spinlock,13,i: 2,256,450 msg/sec pthread_spinlock,14,s: 2,288,377 msg/sec pthread_spinlock,14,i: 2,033,868 msg/sec pthread_spinlock,15,s: 2,061,690 msg/sec pthread_spinlock,15,i: 1,880,582 msg/sec pthread_spinlock,16,s: 1,764,670 msg/sec pthread_spinlock,16,i: 1,602,231 msg/sec tbb::spin_mutex, 1,s: 38,386,814 msg/sec tbb::spin_mutex, 1,i: 38,519,934 msg/sec tbb::spin_mutex, 2,s: 16,424,947 msg/sec tbb::spin_mutex, 2,i: 16,026,320 msg/sec tbb::spin_mutex, 3,s: 12,058,756 msg/sec tbb::spin_mutex, 3,i: 11,918,245 msg/sec tbb::spin_mutex, 4,s: 10,284,920 msg/sec tbb::spin_mutex, 4,i: 10,015,619 msg/sec tbb::spin_mutex, 5,s: 5,922,576 msg/sec tbb::spin_mutex, 5,i: 5,637,447 msg/sec tbb::spin_mutex, 6,s: 5,117,328 msg/sec tbb::spin_mutex, 6,i: 4,768,459 msg/sec tbb::spin_mutex, 7,s: 4,387,698 msg/sec tbb::spin_mutex, 7,i: 4,705,347 msg/sec tbb::spin_mutex, 8,s: 4,273,930 msg/sec tbb::spin_mutex, 8,i: 4,084,559 msg/sec tbb::spin_mutex, 9,s: 4,651,692 msg/sec tbb::spin_mutex, 9,i: 4,341,790 msg/sec tbb::spin_mutex,10,s: 4,350,146 msg/sec tbb::spin_mutex,10,i: 4,069,808 msg/sec tbb::spin_mutex,11,s: 4,220,985 msg/sec tbb::spin_mutex,11,i: 3,646,222 msg/sec tbb::spin_mutex,12,s: 3,783,199 msg/sec tbb::spin_mutex,12,i: 3,516,745 msg/sec tbb::spin_mutex,13,s: 3,628,716 msg/sec tbb::spin_mutex,13,i: 3,306,769 msg/sec tbb::spin_mutex,14,s: 3,531,610 msg/sec tbb::spin_mutex,14,i: 3,076,235 msg/sec tbb::spin_mutex,15,s: 3,172,755 msg/sec tbb::spin_mutex,15,i: 3,104,645 msg/sec tbb::spin_mutex,16,s: 2,890,446 msg/sec tbb::spin_mutex,16,i: 3,012,571 msg/sec Elapsed time 6:12.50, user 5627.81s, system 599.80s, CPU 1671%, RSS 91668kB, exit-status 0. 2026-09-14 14:48:50 [25/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000043 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000105 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,463,677 msg/sec boost::lockfree::spsc_queue, 1,i: 112,166,210 msg/sec AtomicQueue, 1,s: 145,071,401 msg/sec AtomicQueue, 1,i: 140,400,318 msg/sec AtomicQueue, 2,s: 9,900,624 msg/sec AtomicQueue, 2,i: 10,335,075 msg/sec AtomicQueue, 3,s: 8,334,236 msg/sec AtomicQueue, 3,i: 8,811,003 msg/sec AtomicQueue, 4,s: 6,607,603 msg/sec AtomicQueue, 4,i: 7,010,852 msg/sec AtomicQueue, 5,s: 3,163,320 msg/sec AtomicQueue, 5,i: 4,319,918 msg/sec AtomicQueue, 6,s: 2,597,111 msg/sec AtomicQueue, 6,i: 4,013,399 msg/sec AtomicQueue, 7,s: 2,974,465 msg/sec AtomicQueue, 7,i: 3,211,716 msg/sec AtomicQueue, 8,s: 3,112,848 msg/sec AtomicQueue, 8,i: 2,889,707 msg/sec AtomicQueue, 9,s: 2,934,010 msg/sec AtomicQueue, 9,i: 2,897,111 msg/sec AtomicQueue,10,s: 2,803,545 msg/sec AtomicQueue,10,i: 2,916,464 msg/sec AtomicQueue,11,s: 2,789,119 msg/sec AtomicQueue,11,i: 2,959,411 msg/sec AtomicQueue,12,s: 2,663,239 msg/sec AtomicQueue,12,i: 2,857,649 msg/sec AtomicQueue,13,s: 2,524,828 msg/sec AtomicQueue,13,i: 2,827,315 msg/sec AtomicQueue,14,s: 2,366,449 msg/sec AtomicQueue,14,i: 2,778,669 msg/sec AtomicQueue,15,s: 2,366,277 msg/sec AtomicQueue,15,i: 2,747,167 msg/sec AtomicQueue,16,s: 2,257,224 msg/sec AtomicQueue,16,i: 2,732,424 msg/sec OptimistAtomicQueue, 1,s: 1,246,606,758 msg/sec OptimistAtomicQueue, 1,i: 1,199,174,920 msg/sec OptimistAtomicQueue, 2,s: 55,357,084 msg/sec OptimistAtomicQueue, 2,i: 52,560,046 msg/sec OptimistAtomicQueue, 3,s: 58,682,175 msg/sec OptimistAtomicQueue, 3,i: 59,174,665 msg/sec OptimistAtomicQueue, 4,s: 59,217,962 msg/sec OptimistAtomicQueue, 4,i: 65,864,500 msg/sec OptimistAtomicQueue, 5,s: 33,159,657 msg/sec OptimistAtomicQueue, 5,i: 46,041,887 msg/sec OptimistAtomicQueue, 6,s: 34,526,008 msg/sec OptimistAtomicQueue, 6,i: 35,227,554 msg/sec OptimistAtomicQueue, 7,s: 39,968,456 msg/sec OptimistAtomicQueue, 7,i: 39,247,384 msg/sec OptimistAtomicQueue, 8,s: 50,487,491 msg/sec OptimistAtomicQueue, 8,i: 41,236,803 msg/sec OptimistAtomicQueue, 9,s: 41,025,618 msg/sec OptimistAtomicQueue, 9,i: 44,802,350 msg/sec OptimistAtomicQueue,10,s: 39,917,052 msg/sec OptimistAtomicQueue,10,i: 44,737,574 msg/sec OptimistAtomicQueue,11,s: 44,238,329 msg/sec OptimistAtomicQueue,11,i: 50,426,564 msg/sec OptimistAtomicQueue,12,s: 43,576,962 msg/sec OptimistAtomicQueue,12,i: 57,208,363 msg/sec OptimistAtomicQueue,13,s: 43,347,843 msg/sec OptimistAtomicQueue,13,i: 57,142,854 msg/sec OptimistAtomicQueue,14,s: 43,443,773 msg/sec OptimistAtomicQueue,14,i: 56,626,005 msg/sec OptimistAtomicQueue,15,s: 45,805,392 msg/sec OptimistAtomicQueue,15,i: 60,367,392 msg/sec OptimistAtomicQueue,16,s: 45,835,920 msg/sec OptimistAtomicQueue,16,i: 64,544,999 msg/sec AtomicQueueB, 1,s: 50,161,311 msg/sec AtomicQueueB, 1,i: 49,480,491 msg/sec AtomicQueueB, 2,s: 9,605,230 msg/sec AtomicQueueB, 2,i: 10,051,319 msg/sec AtomicQueueB, 3,s: 8,232,308 msg/sec AtomicQueueB, 3,i: 8,552,049 msg/sec AtomicQueueB, 4,s: 6,543,188 msg/sec AtomicQueueB, 4,i: 6,895,252 msg/sec AtomicQueueB, 5,s: 3,123,745 msg/sec AtomicQueueB, 5,i: 4,314,090 msg/sec AtomicQueueB, 6,s: 2,570,514 msg/sec AtomicQueueB, 6,i: 3,517,402 msg/sec AtomicQueueB, 7,s: 2,922,949 msg/sec AtomicQueueB, 7,i: 3,159,588 msg/sec AtomicQueueB, 8,s: 3,053,859 msg/sec AtomicQueueB, 8,i: 2,859,714 msg/sec AtomicQueueB, 9,s: 2,742,297 msg/sec AtomicQueueB, 9,i: 2,873,177 msg/sec AtomicQueueB,10,s: 2,787,528 msg/sec AtomicQueueB,10,i: 2,861,335 msg/sec AtomicQueueB,11,s: 2,735,844 msg/sec AtomicQueueB,11,i: 2,859,661 msg/sec AtomicQueueB,12,s: 2,680,577 msg/sec AtomicQueueB,12,i: 2,862,999 msg/sec AtomicQueueB,13,s: 2,523,718 msg/sec AtomicQueueB,13,i: 2,806,097 msg/sec AtomicQueueB,14,s: 2,384,290 msg/sec AtomicQueueB,14,i: 2,772,178 msg/sec AtomicQueueB,15,s: 2,370,439 msg/sec AtomicQueueB,15,i: 2,834,798 msg/sec AtomicQueueB,16,s: 2,280,015 msg/sec AtomicQueueB,16,i: 2,734,740 msg/sec OptimistAtomicQueueB, 1,s: 778,122,863 msg/sec OptimistAtomicQueueB, 1,i: 512,571,984 msg/sec OptimistAtomicQueueB, 2,s: 46,659,634 msg/sec OptimistAtomicQueueB, 2,i: 49,004,859 msg/sec OptimistAtomicQueueB, 3,s: 58,593,914 msg/sec OptimistAtomicQueueB, 3,i: 57,832,042 msg/sec OptimistAtomicQueueB, 4,s: 59,599,937 msg/sec OptimistAtomicQueueB, 4,i: 65,980,964 msg/sec OptimistAtomicQueueB, 5,s: 33,061,223 msg/sec OptimistAtomicQueueB, 5,i: 40,055,016 msg/sec OptimistAtomicQueueB, 6,s: 34,185,306 msg/sec OptimistAtomicQueueB, 6,i: 34,007,186 msg/sec OptimistAtomicQueueB, 7,s: 38,944,998 msg/sec OptimistAtomicQueueB, 7,i: 39,980,792 msg/sec OptimistAtomicQueueB, 8,s: 51,472,719 msg/sec OptimistAtomicQueueB, 8,i: 41,262,904 msg/sec OptimistAtomicQueueB, 9,s: 41,286,317 msg/sec OptimistAtomicQueueB, 9,i: 45,193,543 msg/sec OptimistAtomicQueueB,10,s: 39,954,403 msg/sec OptimistAtomicQueueB,10,i: 46,977,083 msg/sec OptimistAtomicQueueB,11,s: 44,530,501 msg/sec OptimistAtomicQueueB,11,i: 52,553,915 msg/sec OptimistAtomicQueueB,12,s: 43,918,917 msg/sec OptimistAtomicQueueB,12,i: 53,965,335 msg/sec OptimistAtomicQueueB,13,s: 43,785,564 msg/sec OptimistAtomicQueueB,13,i: 56,988,438 msg/sec OptimistAtomicQueueB,14,s: 43,480,701 msg/sec OptimistAtomicQueueB,14,i: 55,639,819 msg/sec OptimistAtomicQueueB,15,s: 46,192,477 msg/sec OptimistAtomicQueueB,15,i: 60,219,115 msg/sec OptimistAtomicQueueB,16,s: 46,092,840 msg/sec OptimistAtomicQueueB,16,i: 64,666,707 msg/sec AtomicQueue2, 1,s: 125,425,392 msg/sec AtomicQueue2, 1,i: 135,902,352 msg/sec AtomicQueue2, 2,s: 9,934,212 msg/sec AtomicQueue2, 2,i: 10,530,449 msg/sec AtomicQueue2, 3,s: 8,405,491 msg/sec AtomicQueue2, 3,i: 8,913,259 msg/sec AtomicQueue2, 4,s: 6,684,168 msg/sec AtomicQueue2, 4,i: 7,091,043 msg/sec AtomicQueue2, 5,s: 3,140,906 msg/sec AtomicQueue2, 5,i: 4,286,349 msg/sec AtomicQueue2, 6,s: 2,567,099 msg/sec AtomicQueue2, 6,i: 3,503,373 msg/sec AtomicQueue2, 7,s: 2,900,377 msg/sec AtomicQueue2, 7,i: 3,206,689 msg/sec AtomicQueue2, 8,s: 3,016,445 msg/sec AtomicQueue2, 8,i: 2,880,454 msg/sec AtomicQueue2, 9,s: 2,716,800 msg/sec AtomicQueue2, 9,i: 2,914,958 msg/sec AtomicQueue2,10,s: 2,772,598 msg/sec AtomicQueue2,10,i: 2,933,605 msg/sec AtomicQueue2,11,s: 2,735,329 msg/sec AtomicQueue2,11,i: 2,933,365 msg/sec AtomicQueue2,12,s: 2,691,515 msg/sec AtomicQueue2,12,i: 2,839,867 msg/sec AtomicQueue2,13,s: 2,554,013 msg/sec AtomicQueue2,13,i: 2,820,766 msg/sec AtomicQueue2,14,s: 2,391,857 msg/sec AtomicQueue2,14,i: 2,729,068 msg/sec AtomicQueue2,15,s: 2,389,049 msg/sec AtomicQueue2,15,i: 2,744,245 msg/sec AtomicQueue2,16,s: 2,282,625 msg/sec AtomicQueue2,16,i: 2,713,208 msg/sec OptimistAtomicQueue2, 1,s: 107,332,187 msg/sec OptimistAtomicQueue2, 1,i: 106,950,971 msg/sec OptimistAtomicQueue2, 2,s: 43,415,315 msg/sec OptimistAtomicQueue2, 2,i: 47,680,797 msg/sec OptimistAtomicQueue2, 3,s: 55,359,953 msg/sec OptimistAtomicQueue2, 3,i: 49,992,448 msg/sec OptimistAtomicQueue2, 4,s: 59,072,862 msg/sec OptimistAtomicQueue2, 4,i: 57,924,347 msg/sec OptimistAtomicQueue2, 5,s: 31,460,103 msg/sec OptimistAtomicQueue2, 5,i: 34,327,190 msg/sec OptimistAtomicQueue2, 6,s: 32,872,181 msg/sec OptimistAtomicQueue2, 6,i: 32,124,966 msg/sec OptimistAtomicQueue2, 7,s: 37,654,673 msg/sec OptimistAtomicQueue2, 7,i: 37,738,554 msg/sec OptimistAtomicQueue2, 8,s: 49,058,493 msg/sec OptimistAtomicQueue2, 8,i: 39,871,424 msg/sec OptimistAtomicQueue2, 9,s: 37,365,971 msg/sec OptimistAtomicQueue2, 9,i: 42,456,313 msg/sec OptimistAtomicQueue2,10,s: 37,590,838 msg/sec OptimistAtomicQueue2,10,i: 43,824,181 msg/sec OptimistAtomicQueue2,11,s: 42,944,726 msg/sec OptimistAtomicQueue2,11,i: 48,239,073 msg/sec OptimistAtomicQueue2,12,s: 42,065,685 msg/sec OptimistAtomicQueue2,12,i: 52,802,884 msg/sec OptimistAtomicQueue2,13,s: 41,060,077 msg/sec OptimistAtomicQueue2,13,i: 52,793,869 msg/sec OptimistAtomicQueue2,14,s: 40,937,668 msg/sec OptimistAtomicQueue2,14,i: 52,556,439 msg/sec OptimistAtomicQueue2,15,s: 43,282,794 msg/sec OptimistAtomicQueue2,15,i: 56,220,254 msg/sec OptimistAtomicQueue2,16,s: 43,396,155 msg/sec OptimistAtomicQueue2,16,i: 59,060,756 msg/sec AtomicQueueB2, 1,s: 72,767,144 msg/sec AtomicQueueB2, 1,i: 75,488,221 msg/sec AtomicQueueB2, 2,s: 9,819,255 msg/sec AtomicQueueB2, 2,i: 10,419,376 msg/sec AtomicQueueB2, 3,s: 8,319,131 msg/sec AtomicQueueB2, 3,i: 8,828,222 msg/sec AtomicQueueB2, 4,s: 6,611,666 msg/sec AtomicQueueB2, 4,i: 6,960,585 msg/sec AtomicQueueB2, 5,s: 3,094,058 msg/sec AtomicQueueB2, 5,i: 3,679,945 msg/sec AtomicQueueB2, 6,s: 2,548,456 msg/sec AtomicQueueB2, 6,i: 3,449,224 msg/sec AtomicQueueB2, 7,s: 2,898,757 msg/sec AtomicQueueB2, 7,i: 3,175,132 msg/sec AtomicQueueB2, 8,s: 3,009,137 msg/sec AtomicQueueB2, 8,i: 2,848,011 msg/sec AtomicQueueB2, 9,s: 2,773,051 msg/sec AtomicQueueB2, 9,i: 2,879,570 msg/sec AtomicQueueB2,10,s: 2,823,986 msg/sec AtomicQueueB2,10,i: 2,869,324 msg/sec AtomicQueueB2,11,s: 2,818,436 msg/sec AtomicQueueB2,11,i: 2,886,759 msg/sec AtomicQueueB2,12,s: 2,767,021 msg/sec AtomicQueueB2,12,i: 2,846,883 msg/sec AtomicQueueB2,13,s: 2,631,435 msg/sec AtomicQueueB2,13,i: 2,828,260 msg/sec AtomicQueueB2,14,s: 2,467,574 msg/sec AtomicQueueB2,14,i: 2,772,242 msg/sec AtomicQueueB2,15,s: 2,423,105 msg/sec AtomicQueueB2,15,i: 2,750,745 msg/sec AtomicQueueB2,16,s: 2,304,400 msg/sec AtomicQueueB2,16,i: 2,745,899 msg/sec OptimistAtomicQueueB2, 1,s: 152,599,838 msg/sec OptimistAtomicQueueB2, 1,i: 152,914,147 msg/sec OptimistAtomicQueueB2, 2,s: 41,938,052 msg/sec OptimistAtomicQueueB2, 2,i: 45,780,440 msg/sec OptimistAtomicQueueB2, 3,s: 56,841,812 msg/sec OptimistAtomicQueueB2, 3,i: 53,024,363 msg/sec OptimistAtomicQueueB2, 4,s: 58,961,478 msg/sec OptimistAtomicQueueB2, 4,i: 59,961,263 msg/sec OptimistAtomicQueueB2, 5,s: 31,364,717 msg/sec OptimistAtomicQueueB2, 5,i: 32,539,308 msg/sec OptimistAtomicQueueB2, 6,s: 32,917,562 msg/sec OptimistAtomicQueueB2, 6,i: 32,299,780 msg/sec OptimistAtomicQueueB2, 7,s: 37,090,207 msg/sec OptimistAtomicQueueB2, 7,i: 37,033,987 msg/sec OptimistAtomicQueueB2, 8,s: 48,128,941 msg/sec OptimistAtomicQueueB2, 8,i: 38,958,753 msg/sec OptimistAtomicQueueB2, 9,s: 38,261,401 msg/sec OptimistAtomicQueueB2, 9,i: 41,262,111 msg/sec OptimistAtomicQueueB2,10,s: 37,211,394 msg/sec OptimistAtomicQueueB2,10,i: 43,324,881 msg/sec OptimistAtomicQueueB2,11,s: 42,512,800 msg/sec OptimistAtomicQueueB2,11,i: 47,293,337 msg/sec OptimistAtomicQueueB2,12,s: 41,693,232 msg/sec OptimistAtomicQueueB2,12,i: 51,543,967 msg/sec OptimistAtomicQueueB2,13,s: 40,860,151 msg/sec OptimistAtomicQueueB2,13,i: 51,669,207 msg/sec OptimistAtomicQueueB2,14,s: 40,813,514 msg/sec OptimistAtomicQueueB2,14,i: 53,352,102 msg/sec OptimistAtomicQueueB2,15,s: 43,088,134 msg/sec OptimistAtomicQueueB2,15,i: 56,506,155 msg/sec OptimistAtomicQueueB2,16,s: 43,253,953 msg/sec OptimistAtomicQueueB2,16,i: 59,180,745 msg/sec moodycamel::ReaderWriterQueue, 1,s: 152,286,586 msg/sec moodycamel::ReaderWriterQueue, 1,i: 191,814,348 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,994,218 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,298,156 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,556,424 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,069,110 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,618,211 msg/sec moodycamel::ConcurrentQueue, 3,i: 54,711,501 msg/sec moodycamel::ConcurrentQueue, 4,s: 103,629,409 msg/sec moodycamel::ConcurrentQueue, 4,i: 96,600,804 msg/sec moodycamel::ConcurrentQueue, 5,s: 103,967,490 msg/sec moodycamel::ConcurrentQueue, 5,i: 183,473,523 msg/sec moodycamel::ConcurrentQueue, 6,s: 217,190,066 msg/sec moodycamel::ConcurrentQueue, 6,i: 214,128,169 msg/sec moodycamel::ConcurrentQueue, 7,s: 222,253,966 msg/sec moodycamel::ConcurrentQueue, 7,i: 237,343,819 msg/sec moodycamel::ConcurrentQueue, 8,s: 267,921,560 msg/sec moodycamel::ConcurrentQueue, 8,i: 258,195,661 msg/sec moodycamel::ConcurrentQueue, 9,s: 269,337,304 msg/sec moodycamel::ConcurrentQueue, 9,i: 275,848,394 msg/sec moodycamel::ConcurrentQueue,10,s: 284,643,875 msg/sec moodycamel::ConcurrentQueue,10,i: 318,577,636 msg/sec moodycamel::ConcurrentQueue,11,s: 222,997,766 msg/sec moodycamel::ConcurrentQueue,11,i: 253,601,754 msg/sec moodycamel::ConcurrentQueue,12,s: 177,533,569 msg/sec moodycamel::ConcurrentQueue,12,i: 203,968,252 msg/sec moodycamel::ConcurrentQueue,13,s: 260,442,668 msg/sec moodycamel::ConcurrentQueue,13,i: 321,675,199 msg/sec moodycamel::ConcurrentQueue,14,s: 276,095,355 msg/sec moodycamel::ConcurrentQueue,14,i: 402,146,562 msg/sec moodycamel::ConcurrentQueue,15,s: 496,249,934 msg/sec moodycamel::ConcurrentQueue,15,i: 428,268,627 msg/sec moodycamel::ConcurrentQueue,16,s: 528,659,379 msg/sec moodycamel::ConcurrentQueue,16,i: 475,246,499 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,800,507 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,819,821 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,114,767 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,140,668 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,966,913 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,059,994 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,411,219 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,619,225 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,064,051 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,636,480 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,790,223 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,418,593 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,645,526 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,151,992 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,777,220 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,808,736 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,705,902 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,887,277 msg/sec tbb::concurrent_bounded_queue,10,s: 2,769,504 msg/sec tbb::concurrent_bounded_queue,10,i: 2,891,117 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,189 msg/sec tbb::concurrent_bounded_queue,11,i: 2,829,654 msg/sec tbb::concurrent_bounded_queue,12,s: 2,564,948 msg/sec tbb::concurrent_bounded_queue,12,i: 2,798,196 msg/sec tbb::concurrent_bounded_queue,13,s: 2,480,559 msg/sec tbb::concurrent_bounded_queue,13,i: 2,744,268 msg/sec tbb::concurrent_bounded_queue,14,s: 2,382,505 msg/sec tbb::concurrent_bounded_queue,14,i: 2,755,968 msg/sec tbb::concurrent_bounded_queue,15,s: 2,349,657 msg/sec tbb::concurrent_bounded_queue,15,i: 2,614,976 msg/sec tbb::concurrent_bounded_queue,16,s: 2,265,036 msg/sec tbb::concurrent_bounded_queue,16,i: 2,537,265 msg/sec xenium::michael_scott_queue, 1,s: 13,428,055 msg/sec xenium::michael_scott_queue, 1,i: 13,734,167 msg/sec xenium::michael_scott_queue, 2,s: 9,439,642 msg/sec xenium::michael_scott_queue, 2,i: 9,157,603 msg/sec xenium::michael_scott_queue, 3,s: 7,629,046 msg/sec xenium::michael_scott_queue, 3,i: 7,541,319 msg/sec xenium::michael_scott_queue, 4,s: 5,858,229 msg/sec xenium::michael_scott_queue, 4,i: 5,835,904 msg/sec xenium::michael_scott_queue, 5,s: 3,608,564 msg/sec xenium::michael_scott_queue, 5,i: 4,634,675 msg/sec xenium::michael_scott_queue, 6,s: 3,333,822 msg/sec xenium::michael_scott_queue, 6,i: 3,589,078 msg/sec xenium::michael_scott_queue, 7,s: 3,152,788 msg/sec xenium::michael_scott_queue, 7,i: 3,173,320 msg/sec xenium::michael_scott_queue, 8,s: 2,348,769 msg/sec xenium::michael_scott_queue, 8,i: 2,791,809 msg/sec xenium::michael_scott_queue, 9,s: 2,850,943 msg/sec xenium::michael_scott_queue, 9,i: 2,828,885 msg/sec xenium::michael_scott_queue,10,s: 2,829,477 msg/sec xenium::michael_scott_queue,10,i: 2,808,006 msg/sec xenium::michael_scott_queue,11,s: 2,760,819 msg/sec xenium::michael_scott_queue,11,i: 2,853,482 msg/sec xenium::michael_scott_queue,12,s: 2,602,800 msg/sec xenium::michael_scott_queue,12,i: 2,751,873 msg/sec xenium::michael_scott_queue,13,s: 2,526,562 msg/sec xenium::michael_scott_queue,13,i: 2,657,727 msg/sec xenium::michael_scott_queue,14,s: 2,391,604 msg/sec xenium::michael_scott_queue,14,i: 2,630,453 msg/sec xenium::michael_scott_queue,15,s: 2,326,646 msg/sec xenium::michael_scott_queue,15,i: 2,604,555 msg/sec xenium::michael_scott_queue,16,s: 2,215,218 msg/sec xenium::michael_scott_queue,16,i: 2,498,850 msg/sec xenium::ramalhete_queue, 1,s: 63,391,043 msg/sec xenium::ramalhete_queue, 1,i: 64,226,592 msg/sec xenium::ramalhete_queue, 2,s: 50,473,552 msg/sec xenium::ramalhete_queue, 2,i: 33,801,229 msg/sec xenium::ramalhete_queue, 3,s: 40,026,238 msg/sec xenium::ramalhete_queue, 3,i: 40,565,743 msg/sec xenium::ramalhete_queue, 4,s: 48,298,582 msg/sec xenium::ramalhete_queue, 4,i: 48,717,496 msg/sec xenium::ramalhete_queue, 5,s: 37,301,670 msg/sec xenium::ramalhete_queue, 5,i: 23,536,643 msg/sec xenium::ramalhete_queue, 6,s: 39,140,529 msg/sec xenium::ramalhete_queue, 6,i: 26,242,511 msg/sec xenium::ramalhete_queue, 7,s: 40,450,847 msg/sec xenium::ramalhete_queue, 7,i: 28,605,229 msg/sec xenium::ramalhete_queue, 8,s: 50,546,439 msg/sec xenium::ramalhete_queue, 8,i: 29,606,825 msg/sec xenium::ramalhete_queue, 9,s: 33,277,782 msg/sec xenium::ramalhete_queue, 9,i: 35,655,261 msg/sec xenium::ramalhete_queue,10,s: 34,642,372 msg/sec xenium::ramalhete_queue,10,i: 41,045,041 msg/sec xenium::ramalhete_queue,11,s: 35,648,354 msg/sec xenium::ramalhete_queue,11,i: 41,145,206 msg/sec xenium::ramalhete_queue,12,s: 38,661,253 msg/sec xenium::ramalhete_queue,12,i: 43,967,519 msg/sec xenium::ramalhete_queue,13,s: 39,502,351 msg/sec xenium::ramalhete_queue,13,i: 41,931,451 msg/sec xenium::ramalhete_queue,14,s: 40,014,434 msg/sec xenium::ramalhete_queue,14,i: 43,182,509 msg/sec xenium::ramalhete_queue,15,s: 39,882,675 msg/sec xenium::ramalhete_queue,15,i: 43,826,513 msg/sec xenium::ramalhete_queue,16,s: 39,783,439 msg/sec xenium::ramalhete_queue,16,i: 44,593,380 msg/sec xenium::vyukov_bounded_queue, 1,s: 308,977,696 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,160,237 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,132,763 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,672,023 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,719,540 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,075,229 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,688,406 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,505,236 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,957,273 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,560,320 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,148,504 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,393,252 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,133,618 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,445,053 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,368,717 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,542,852 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,902,498 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,657,417 msg/sec xenium::vyukov_bounded_queue,10,s: 7,578,490 msg/sec xenium::vyukov_bounded_queue,10,i: 6,852,681 msg/sec xenium::vyukov_bounded_queue,11,s: 7,420,655 msg/sec xenium::vyukov_bounded_queue,11,i: 7,150,955 msg/sec xenium::vyukov_bounded_queue,12,s: 7,470,212 msg/sec xenium::vyukov_bounded_queue,12,i: 7,490,909 msg/sec xenium::vyukov_bounded_queue,13,s: 7,108,388 msg/sec xenium::vyukov_bounded_queue,13,i: 7,313,096 msg/sec xenium::vyukov_bounded_queue,14,s: 7,104,749 msg/sec xenium::vyukov_bounded_queue,14,i: 7,550,656 msg/sec xenium::vyukov_bounded_queue,15,s: 7,105,800 msg/sec xenium::vyukov_bounded_queue,15,i: 7,279,182 msg/sec xenium::vyukov_bounded_queue,16,s: 6,941,358 msg/sec xenium::vyukov_bounded_queue,16,i: 7,058,395 msg/sec boost::lockfree::queue, 1,s: 7,756,093 msg/sec boost::lockfree::queue, 1,i: 7,869,611 msg/sec boost::lockfree::queue, 2,s: 5,824,633 msg/sec boost::lockfree::queue, 2,i: 5,907,715 msg/sec boost::lockfree::queue, 3,s: 4,956,756 msg/sec boost::lockfree::queue, 3,i: 4,787,513 msg/sec boost::lockfree::queue, 4,s: 4,371,876 msg/sec boost::lockfree::queue, 4,i: 4,342,017 msg/sec boost::lockfree::queue, 5,s: 2,658,598 msg/sec boost::lockfree::queue, 5,i: 2,906,505 msg/sec boost::lockfree::queue, 6,s: 1,427,400 msg/sec boost::lockfree::queue, 6,i: 2,819,877 msg/sec boost::lockfree::queue, 7,s: 1,369,093 msg/sec boost::lockfree::queue, 7,i: 2,848,340 msg/sec boost::lockfree::queue, 8,s: 1,152,987 msg/sec boost::lockfree::queue, 8,i: 1,902,858 msg/sec boost::lockfree::queue, 9,s: 1,413,081 msg/sec boopthread_spinlock: producers: 5: consumer 2 received too few messages: 0.06% of expected. st::lockfree::queue, 9,i: 1,898,000 msg/sec boost::lockfree::queue,10,s: 1,569,245 msg/sec boost::lockfree::queue,10,i: 1,967,835 msg/sec boost::lockfree::queue,11,s: 1,722,688 msg/sec boost::lockfree::queue,11,i: 1,928,124 msg/sec boost::lockfree::queue,12,s: 1,723,915 msg/sec boost::lockfree::queue,12,i: 1,626,127 msg/sec boost::lockfree::queue,13,s: 1,629,615 msg/sec boost::lockfree::queue,13,i: 1,843,409 msg/sec boost::lockfree::queue,14,s: 1,546,297 msg/sec boost::lockfree::queue,14,i: 1,626,961 msg/sec boost::lockfree::queue,15,s: 1,592,203 msg/sec boost::lockfree::queue,15,i: 1,584,993 msg/sec boost::lockfree::queue,16,s: 1,520,006 msg/sec boost::lockfree::queue,16,i: 1,495,963 msg/sec std::mutex, 1,s: 5,264,395 msg/sec std::mutex, 1,i: 5,942,539 msg/sec std::mutex, 2,s: 13,279,051 msg/sec std::mutex, 2,i: 13,743,585 msg/sec std::mutex, 3,s: 7,220,046 msg/sec std::mutex, 3,i: 6,958,318 msg/sec std::mutex, 4,s: 7,147,897 msg/sec std::mutex, 4,i: 6,660,757 msg/sec std::mutex, 5,s: 3,420,787 msg/sec std::mutex, 5,i: 3,476,570 msg/sec std::mutex, 6,s: 2,945,055 msg/sec std::mutex, 6,i: 2,940,819 msg/sec std::mutex, 7,s: 3,280,055 msg/sec std::mutex, 7,i: 2,902,118 msg/sec std::mutex, 8,s: 3,505,426 msg/sec std::mutex, 8,i: 2,850,931 msg/sec std::mutex, 9,s: 2,842,194 msg/sec std::mutex, 9,i: 2,690,199 msg/sec std::mutex,10,s: 2,667,330 msg/sec std::mutex,10,i: 2,550,511 msg/sec std::mutex,11,s: 2,642,625 msg/sec std::mutex,11,i: 2,615,622 msg/sec std::mutex,12,s: 2,681,981 msg/sec std::mutex,12,i: 2,564,548 msg/sec std::mutex,13,s: 2,514,998 msg/sec std::mutex,13,i: 2,479,046 msg/sec std::mutex,14,s: 2,433,455 msg/sec std::mutex,14,i: 2,370,965 msg/sec std::mutex,15,s: 2,427,772 msg/sec std::mutex,15,i: 2,367,271 msg/sec std::mutex,16,s: 2,336,684 msg/sec std::mutex,16,i: 2,268,051 msg/sec pthread_spinlock, 1,s: 17,795,130 msg/sec pthread_spinlock, 1,i: 18,026,957 msg/sec pthread_spinlock, 2,s: 7,543,863 msg/sec pthread_spinlock, 2,i: 1,648,088 msg/sec pthread_spinlock, 3,s: 821,429 msg/sec pthread_spinlock, 3,i: 5,329,826 msg/sec pthread_spinlock, 4,s: 2,034,425 msg/sec pthread_spinlock, 4,i: 961,724 msg/sec pthread_spinlock, 5,s: 2,783,427 msg/sec pthread_spinlock, 5,i: 3,716,366 msg/sec pthread_spinlock, 6,s: 2,017,677 msg/sec pthread_spinlock, 6,i: 3,121,260 msg/sec pthread_spinlock, 7,s: 2,845,169 msg/sec pthread_spinlock, 7,i: 3,051,480 msg/sec pthread_spinlock, 8,s: 3,001,032 msg/sec pthread_spinlock, 8,i: 2,668,936 msg/sec pthread_spinlock, 9,s: 2,822,173 msg/sec pthread_spinlock, 9,i: 2,341,336 msg/sec pthread_spinlock,10,s: 2,702,242 msg/sec pthread_spinlock,10,i: 2,382,559 msg/sec pthread_spinlock,11,s: 2,536,628 msg/sec pthread_spinlock,11,i: 2,728,601 msg/sec pthread_spinlock,12,s: 2,547,881 msg/sec pthread_spinlock,12,i: 2,489,275 msg/sec pthread_spinlock,13,s: 2,533,121 msg/sec pthread_spinlock,13,i: 2,095,842 msg/sec pthread_spinlock,14,s: 2,194,770 msg/sec pthread_spinlock,14,i: 2,078,891 msg/sec pthread_spinlock,15,s: 2,024,522 msg/sec pthread_spinlock,15,i: 1,909,524 msg/sec pthread_spinlock,16,s: 1,798,134 msg/sec pthread_spinlock,16,i: 1,602,537 msg/sec tbb::spin_mutex, 1,s: 39,461,645 msg/sec tbb::spin_mutex, 1,i: 37,787,967 msg/sec tbb::spin_mutex, 2,s: 16,503,838 msg/sec tbb::spin_mutex, 2,i: 16,013,340 msg/sec tbb::spin_mutex, 3,s: 12,052,810 msg/sec tbb::spin_mutex, 3,i: 11,947,536 msg/sec tbb::spin_mutex, 4,s: 10,316,743 msg/sec tbb::spin_mutex, 4,i: 9,983,261 msg/sec tbb::spin_mutex, 5,s: 5,991,229 msg/sec tbb::spin_mutex, 5,i: 5,590,366 msg/sec tbb::spin_mutex, 6,s: 5,078,387 msg/sec tbb::spin_mutex, 6,i: 4,810,288 msg/sec tbb::spin_mutex, 7,s: 4,389,603 msg/sec tbb::spin_mutex, 7,i: 4,725,390 msg/sec tbb::spin_mutex, 8,s: 4,294,488 msg/sec tbb::spin_mutex, 8,i: 4,056,129 msg/sec tbb::spin_mutex, 9,s: 4,465,662 msg/sec tbb::spin_mutex, 9,i: 4,390,400 msg/sec tbb::spin_mutex,10,s: 4,449,442 msg/sec tbb::spin_mutex,10,i: 4,251,079 msg/sec tbb::spin_mutex,11,s: 4,305,625 msg/sec tbb::spin_mutex,11,i: 3,550,851 msg/sec tbb::spin_mutex,12,s: 3,727,172 msg/sec tbb::spin_mutex,12,i: 3,493,715 msg/sec tbb::spin_mutex,13,s: 3,498,146 msg/sec tbb::spin_mutex,13,i: 3,289,879 msg/sec tbb::spin_mutex,14,s: 3,460,344 msg/sec tbb::spin_mutex,14,i: 3,042,154 msg/sec tbb::spin_mutex,15,s: 3,252,945 msg/sec tbb::spin_mutex,15,i: 3,149,330 msg/sec tbb::spin_mutex,16,s: 2,895,007 msg/sec tbb::spin_mutex,16,i: 3,005,828 msg/sec Elapsed time 6:11.86, user 5618.43s, system 601.40s, CPU 1672%, RSS 94176kB, exit-status 0. 2026-09-14 14:55:02 [26/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000051 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000062 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000302 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 113,606,877 msg/sec boost::lockfree::spsc_queue, 1,i: 112,402,978 msg/sec AtomicQueue, 1,s: 148,203,006 msg/sec AtomicQueue, 1,i: 142,494,923 msg/sec AtomicQueue, 2,s: 9,885,407 msg/sec AtomicQueue, 2,i: 10,341,474 msg/sec AtomicQueue, 3,s: 8,342,282 msg/sec AtomicQueue, 3,i: 8,804,930 msg/sec AtomicQueue, 4,s: 6,605,885 msg/sec AtomicQueue, 4,i: 7,036,390 msg/sec AtomicQueue, 5,s: 3,173,086 msg/sec AtomicQueue, 5,i: 4,329,374 msg/sec AtomicQueue, 6,s: 2,601,906 msg/sec AtomicQueue, 6,i: 4,023,565 msg/sec AtomicQueue, 7,s: 2,957,842 msg/sec AtomicQueue, 7,i: 3,208,030 msg/sec AtomicQueue, 8,s: 3,118,975 msg/sec AtomicQueue, 8,i: 2,895,591 msg/sec AtomicQueue, 9,s: 2,833,914 msg/sec AtomicQueue, 9,i: 2,941,254 msg/sec AtomicQueue,10,s: 2,801,928 msg/sec AtomicQueue,10,i: 2,900,911 msg/sec AtomicQueue,11,s: 2,796,526 msg/sec AtomicQueue,11,i: 2,877,823 msg/sec AtomicQueue,12,s: 2,663,529 msg/sec AtomicQueue,12,i: 2,869,559 msg/sec AtomicQueue,13,s: 2,523,871 msg/sec AtomicQueue,13,i: 2,829,866 msg/sec AtomicQueue,14,s: 2,367,547 msg/sec AtomicQueue,14,i: 2,760,452 msg/sec AtomicQueue,15,s: 2,360,942 msg/sec AtomicQueue,15,i: 2,820,722 msg/sec AtomicQueue,16,s: 2,259,044 msg/sec AtomicQueue,16,i: 2,730,504 msg/sec OptimistAtomicQueue, 1,s: 1,193,450,457 msg/sec OptimistAtomicQueue, 1,i: 1,196,692,364 msg/sec OptimistAtomicQueue, 2,s: 57,545,993 msg/sec OptimistAtomicQueue, 2,i: 51,516,418 msg/sec OptimistAtomicQueue, 3,s: 58,706,875 msg/sec OptimistAtomicQueue, 3,i: 59,826,397 msg/sec OptimistAtomicQueue, 4,s: 59,201,065 msg/sec OptimistAtomicQueue, 4,i: 66,295,199 msg/sec OptimistAtomicQueue, 5,s: 33,208,681 msg/sec OptimistAtomicQueue, 5,i: 42,064,924 msg/sec OptimistAtomicQueue, 6,s: 34,531,421 msg/sec OptimistAtomicQueue, 6,i: 35,126,534 msg/sec OptimistAtomicQueue, 7,s: 40,202,208 msg/sec OptimistAtomicQueue, 7,i: 39,961,891 msg/sec OptimistAtomicQueue, 8,s: 50,512,329 msg/sec OptimistAtomicQueue, 8,i: 41,219,109 msg/sec OptimistAtomicQueue, 9,s: 40,973,442 msg/sec OptimistAtomicQueue, 9,i: 45,424,155 msg/sec OptimistAtomicQueue,10,s: 39,863,413 msg/sec OptimistAtomicQueue,10,i: 47,492,262 msg/sec OptimistAtomicQueue,11,s: 44,282,129 msg/sec OptimistAtomicQueue,11,i: 53,326,171 msg/sec OptimistAtomicQueue,12,s: 43,563,769 msg/sec OptimistAtomicQueue,12,i: 54,429,531 msg/sec OptimistAtomicQueue,13,s: 43,455,681 msg/sec OptimistAtomicQueue,13,i: 56,210,314 msg/sec OptimistAtomicQueue,14,s: 43,214,213 msg/sec OptimistAtomicQueue,14,i: 57,221,670 msg/sec OptimistAtomicQueue,15,s: 45,779,014 msg/sec OptimistAtomicQueue,15,i: 60,536,147 msg/sec OptimistAtomicQueue,16,s: 45,769,189 msg/sec OptimistAtomicQueue,16,i: 64,887,876 msg/sec AtomicQueueB, 1,s: 50,590,600 msg/sec AtomicQueueB, 1,i: 49,923,192 msg/sec AtomicQueueB, 2,s: 9,725,400 msg/sec AtomicQueueB, 2,i: 9,950,724 msg/sec AtomicQueueB, 3,s: 8,186,129 msg/sec AtomicQueueB, 3,i: 8,623,902 msg/sec AtomicQueueB, 4,s: 6,547,376 msg/sec AtomicQueueB, 4,i: 6,887,416 msg/sec AtomicQueueB, 5,s: 3,102,936 msg/sec AtomicQueueB, 5,i: 3,764,520 msg/sec AtomicQueueB, 6,s: 2,569,503 msg/sec AtomicQueueB, 6,i: 3,965,189 msg/sec AtomicQueueB, 7,s: 2,912,434 msg/sec AtomicQueueB, 7,i: 3,167,127 msg/sec AtomicQueueB, 8,s: 3,047,726 msg/sec AtomicQueueB, 8,i: 2,864,865 msg/sec AtomicQueueB, 9,s: 2,808,080 msg/sec AtomicQueueB, 9,i: 2,902,863 msg/sec AtomicQueueB,10,s: 2,768,690 msg/sec AtomicQueueB,10,i: 2,894,050 msg/sec AtomicQueueB,11,s: 2,736,576 msg/sec AtomicQueueB,11,i: 2,927,768 msg/sec AtomicQueueB,12,s: 2,681,577 msg/sec AtomicQueueB,12,i: 2,848,838 msg/sec AtomicQueueB,13,s: 2,522,885 msg/sec AtomicQueueB,13,i: 2,815,043 msg/sec AtomicQueueB,14,s: 2,384,039 msg/sec AtomicQueueB,14,i: 2,769,615 msg/sec AtomicQueueB,15,s: 2,380,347 msg/sec AtomicQueueB,15,i: 2,764,918 msg/sec AtomicQueueB,16,s: 2,273,408 msg/sec AtomicQueueB,16,i: 2,737,315 msg/sec OptimistAtomicQueueB, 1,s: 590,697,914 msg/sec OptimistAtomicQueueB, 1,i: 528,637,022 msg/sec OptimistAtomicQueueB, 2,s: 50,978,242 msg/sec OptimistAtomicQueueB, 2,i: 49,411,400 msg/sec OptimistAtomicQueueB, 3,s: 58,658,218 msg/sec OptimistAtomicQueueB, 3,i: 57,183,714 msg/sec OptimistAtomicQueueB, 4,s: 59,526,465 msg/sec OptimistAtomicQueueB, 4,i: 65,341,317 msg/sec OptimistAtomicQueueB, 5,s: 33,067,476 msg/sec OptimistAtomicQueueB, 5,i: 40,085,586 msg/sec OptimistAtomicQueueB, 6,s: 34,313,914 msg/sec OptimistAtomicQueueB, 6,i: 34,889,313 msg/sec OptimistAtomicQueueB, 7,s: 39,087,324 msg/sec OptimistAtomicQueueB, 7,i: 39,924,065 msg/sec OptimistAtomicQueueB, 8,s: 51,393,361 msg/sec OptimistAtomicQueueB, 8,i: 41,240,153 msg/sec OptimistAtomicQueueB, 9,s: 41,185,827 msg/sec OptimistAtomicQueueB, 9,i: 45,504,559 msg/sec OptimistAtomicQueueB,10,s: 40,058,562 msg/sec OptimistAtomicQueueB,10,i: 47,185,151 msg/sec OptimistAtomicQueueB,11,s: 44,225,808 msg/sec OptimistAtomicQueueB,11,i: 50,235,618 msg/sec OptimistAtomicQueueB,12,s: 43,692,893 msg/sec OptimistAtomicQueueB,12,i: 51,254,114 msg/sec OptimistAtomicQueueB,13,s: 43,715,319 msg/sec OptimistAtomicQueueB,13,i: 56,375,183 msg/sec OptimistAtomicQueueB,14,s: 43,566,965 msg/sec OptimistAtomicQueueB,14,i: 55,462,939 msg/sec OptimistAtomicQueueB,15,s: 46,277,061 msg/sec OptimistAtomicQueueB,15,i: 60,338,144 msg/sec OptimistAtomicQueueB,16,s: 46,089,058 msg/sec OptimistAtomicQueueB,16,i: 64,616,106 msg/sec AtomicQueue2, 1,s: 130,640,807 msg/sec AtomicQueue2, 1,i: 112,171,117 msg/sec AtomicQueue2, 2,s: 9,937,933 msg/sec AtomicQueue2, 2,i: 10,528,276 msg/sec AtomicQueue2, 3,s: 8,406,027 msg/sec AtomicQueue2, 3,i: 8,929,863 msg/sec AtomicQueue2, 4,s: 6,681,632 msg/sec AtomicQueue2, 4,i: 7,086,964 msg/sec AtomicQueue2, 5,s: 3,115,398 msg/sec AtomicQueue2, 5,i: 4,288,107 msg/sec AtomicQueue2, 6,s: 2,570,057 msg/sec AtomicQueue2, 6,i: 3,480,333 msg/sec AtomicQueue2, 7,s: 2,901,919 msg/sec AtomicQueue2, 7,i: 3,217,527 msg/sec AtomicQueue2, 8,s: 3,013,553 msg/sec AtomicQueue2, 8,i: 2,894,860 msg/sec AtomicQueue2, 9,s: 2,716,882 msg/sec AtomicQueue2, 9,i: 2,912,686 msg/sec AtomicQueue2,10,s: 2,787,236 msg/sec AtomicQueue2,10,i: 2,968,659 msg/sec AtomicQueue2,11,s: 2,738,407 msg/sec AtomicQueue2,11,i: 2,938,004 msg/sec AtomicQueue2,12,s: 2,696,724 msg/sec AtomicQueue2,12,i: 2,860,313 msg/sec AtomicQueue2,13,s: 2,547,069 msg/sec AtomicQueue2,13,i: 2,821,677 msg/sec AtomicQueue2,14,s: 2,390,912 msg/sec AtomicQueue2,14,i: 2,727,578 msg/sec AtomicQueue2,15,s: 2,385,350 msg/sec AtomicQueue2,15,i: 2,808,797 msg/sec AtomicQueue2,16,s: 2,283,486 msg/sec AtomicQueue2,16,i: 2,706,866 msg/sec OptimistAtomicQueue2, 1,s: 107,812,866 msg/sec OptimistAtomicQueue2, 1,i: 106,965,614 msg/sec OptimistAtomicQueue2, 2,s: 43,492,259 msg/sec OptimistAtomicQueue2, 2,i: 47,436,010 msg/sec OptimistAtomicQueue2, 3,s: 55,800,883 msg/sec OptimistAtomicQueue2, 3,i: 49,895,917 msg/sec OptimistAtomicQueue2, 4,s: 59,190,728 msg/sec OptimistAtomicQueue2, 4,i: 57,799,504 msg/sec OptimistAtomicQueue2, 5,s: 31,464,903 msg/sec OptimistAtomicQueue2, 5,i: 34,320,027 msg/sec OptimistAtomicQueue2, 6,s: 32,851,254 msg/sec OptimistAtomicQueue2, 6,i: 32,107,277 msg/sec OptimistAtomicQueue2, 7,s: 37,666,033 msg/sec OptimistAtomicQueue2, 7,i: 37,720,092 msg/sec OptimistAtomicQueue2, 8,s: 49,034,029 msg/sec OptimistAtomicQueue2, 8,i: 39,836,370 msg/sec OptimistAtomicQueue2, 9,s: 37,368,749 msg/sec OptimistAtomicQueue2, 9,i: 42,334,527 msg/sec OptimistAtomicQueue2,10,s: 37,599,898 msg/sec OptimistAtomicQueue2,10,i: 43,968,346 msg/sec OptimistAtomicQueue2,11,s: 42,799,144 msg/sec OptimistAtomicQueue2,11,i: 48,500,844 msg/sec OptimistAtomicQueue2,12,s: 42,003,633 msg/sec OptimistAtomicQueue2,12,i: 51,824,141 msg/sec OptimistAtomicQueue2,13,s: 41,076,892 msg/sec OptimistAtomicQueue2,13,i: 51,901,380 msg/sec OptimistAtomicQueue2,14,s: 40,756,079 msg/sec OptimistAtomicQueue2,14,i: 53,651,185 msg/sec OptimistAtomicQueue2,15,s: 43,203,211 msg/sec OptimistAtomicQueue2,15,i: 56,199,622 msg/sec OptimistAtomicQueue2,16,s: 43,497,215 msg/sec OptimistAtomicQueue2,16,i: 59,293,979 msg/sec AtomicQueueB2, 1,s: 74,225,805 msg/sec AtomicQueueB2, 1,i: 74,189,021 msg/sec AtomicQueueB2, 2,s: 9,840,349 msg/sec AtomicQueueB2, 2,i: 10,379,884 msg/sec AtomicQueueB2, 3,s: 8,319,128 msg/sec AtomicQueueB2, 3,i: 8,852,210 msg/sec AtomicQueueB2, 4,s: 6,614,620 msg/sec AtomicQueueB2, 4,i: 6,947,470 msg/sec AtomicQueueB2, 5,s: 3,094,497 msg/sec AtomicQueueB2, 5,i: 4,305,223 msg/sec AtomicQueueB2, 6,s: 2,548,375 msg/sec AtomicQueueB2, 6,i: 3,983,838 msg/sec AtomicQueueB2, 7,s: 2,892,186 msg/sec AtomicQueueB2, 7,i: 3,265,439 msg/sec AtomicQueueB2, 8,s: 3,017,125 msg/sec AtomicQueueB2, 8,i: 2,850,424 msg/sec AtomicQueueB2, 9,s: 2,729,787 msg/sec AtomicQueueB2, 9,i: 2,837,098 msg/sec AtomicQueueB2,10,s: 2,763,505 msg/sec AtomicQueueB2,10,i: 2,877,269 msg/sec AtomicQueueB2,11,s: 2,813,942 msg/sec AtomicQueueB2,11,i: 2,886,211 msg/sec AtomicQueueB2,12,s: 2,762,114 msg/sec AtomicQueueB2,12,i: 2,866,561 msg/sec AtomicQueueB2,13,s: 2,627,269 msg/sec AtomicQueueB2,13,i: 2,855,902 msg/sec AtomicQueueB2,14,s: 2,491,813 msg/sec AtomicQueueB2,14,i: 2,762,173 msg/sec AtomicQueueB2,15,s: 2,432,058 msg/sec AtomicQueueB2,15,i: 2,748,588 msg/sec AtomicQueueB2,16,s: 2,303,536 msg/sec AtomicQueueB2,16,i: 2,749,139 msg/sec OptimistAtomicQueueB2, 1,s: 601,936,944 msg/sec OptimistAtomicQueueB2, 1,i: 151,739,407 msg/sec OptimistAtomicQueueB2, 2,s: 42,140,187 msg/sec OptimistAtomicQueueB2, 2,i: 45,851,514 msg/sec OptimistAtomicQueueB2, 3,s: 56,904,626 msg/sec OptimistAtomicQueueB2, 3,i: 53,151,381 msg/sec OptimistAtomicQueueB2, 4,s: 59,032,969 msg/sec OptimistAtomicQueueB2, 4,i: 59,845,683 msg/sec OptimistAtomicQueueB2, 5,s: 31,357,892 msg/sec OptimistAtomicQueueB2, 5,i: 32,580,737 msg/sec OptimistAtomicQueueB2, 6,s: 32,914,474 msg/sec OptimistAtomicQueueB2, 6,i: 32,279,127 msg/sec OptimistAtomicQueueB2, 7,s: 37,179,977 msg/sec OptimistAtomicQueueB2, 7,i: 37,017,372 msg/sec OptimistAtomicQueueB2, 8,s: 47,951,564 msg/sec OptimistAtomicQueueB2, 8,i: 38,917,529 msg/sec OptimistAtomicQueueB2, 9,s: 36,910,072 msg/sec OptimistAtomicQueueB2, 9,i: 41,492,478 msg/sec OptimistAtomicQueueB2,10,s: 37,277,448 msg/sec OptimistAtomicQueueB2,10,i: 43,324,656 msg/sec OptimistAtomicQueueB2,11,s: 42,574,517 msg/sec OptimistAtomicQueueB2,11,i: 47,349,900 msg/sec OptimistAtomicQueueB2,12,s: 41,651,851 msg/sec OptimistAtomicQueueB2,12,i: 50,980,495 msg/sec OptimistAtomicQueueB2,13,s: 40,900,208 msg/sec OptimistAtomicQueueB2,13,i: 51,979,613 msg/sec OptimistAtomicQueueB2,14,s: 40,751,976 msg/sec OptimistAtomicQueueB2,14,i: 52,457,027 msg/sec OptimistAtomicQueueB2,15,s: 43,052,871 msg/sec OptimistAtomicQueueB2,15,i: 56,338,678 msg/sec OptimistAtomicQueueB2,16,s: 43,286,081 msg/sec OptimistAtomicQueueB2,16,i: 59,169,715 msg/sec moodycamel::ReaderWriterQueue, 1,s: 678,666,011 msg/sec moodycamel::ReaderWriterQueue, 1,i: 78,862,328 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,122,704 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,254,210 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,067,922 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,388,765 msg/sec moodycamel::ConcurrentQueue, 3,s: 57,323,187 msg/sec moodycamel::ConcurrentQueue, 3,i: 63,800,083 msg/sec moodycamel::ConcurrentQueue, 4,s: 108,947,017 msg/sec moodycamel::ConcurrentQueue, 4,i: 84,695,232 msg/sec moodycamel::ConcurrentQueue, 5,s: 94,296,978 msg/sec moodycamel::ConcurrentQueue, 5,i: 181,430,712 msg/sec moodycamel::ConcurrentQueue, 6,s: 205,796,696 msg/sec moodycamel::ConcurrentQueue, 6,i: 218,033,428 msg/sec moodycamel::ConcurrentQueue, 7,s: 223,608,185 msg/sec moodycamel::ConcurrentQueue, 7,i: 230,036,170 msg/sec moodycamel::ConcurrentQueue, 8,s: 285,370,855 msg/sec moodycamel::ConcurrentQueue, 8,i: 236,418,814 msg/sec moodycamel::ConcurrentQueue, 9,s: 274,901,298 msg/sec moodycamel::ConcurrentQueue, 9,i: 260,654,778 msg/sec moodycamel::ConcurrentQueue,10,s: 290,064,956 msg/sec moodycamel::ConcurrentQueue,10,i: 224,553,811 msg/sec moodycamel::ConcurrentQueue,11,s: 216,663,368 msg/sec moodycamel::ConcurrentQueue,11,i: 196,869,489 msg/sec moodycamel::ConcurrentQueue,12,s: 193,722,445 msg/sec moodycamel::ConcurrentQueue,12,i: 229,902,305 msg/sec moodycamel::ConcurrentQueue,13,s: 193,284,397 msg/sec moodycamel::ConcurrentQueue,13,i: 293,815,703 msg/sec moodycamel::ConcurrentQueue,14,s: 351,436,603 msg/sec moodycamel::ConcurrentQueue,14,i: 365,135,804 msg/sec moodycamel::ConcurrentQueue,15,s: 481,014,012 msg/sec moodycamel::ConcurrentQueue,15,i: 458,657,069 msg/sec moodycamel::ConcurrentQueue,16,s: 482,529,514 msg/sec moodycamel::ConcurrentQueue,16,i: 465,003,832 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,764,877 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,835,788 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,121,700 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,135,637 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,961,822 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,058,243 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,416,896 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,614,663 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,437 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,109,688 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,785,202 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,705,440 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,662,380 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,266,255 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,783,776 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,809,373 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,694,579 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,908,106 msg/sec tbb::concurrent_bounded_queue,10,s: 2,765,173 msg/sec tbb::concurrent_bounded_queue,10,i: 2,903,461 msg/sec tbb::concurrent_bounded_queue,11,s: 2,655,379 msg/sec tbb::concurrent_bounded_queue,11,i: 2,843,931 msg/sec tbb::concurrent_bounded_queue,12,s: 2,565,828 msg/sec tbb::concurrent_bounded_queue,12,i: 2,814,493 msg/sec tbb::concurrent_bounded_queue,13,s: 2,505,729 msg/sec tbb::concurrent_bounded_queue,13,i: 2,731,337 msg/sec tbb::concurrent_bounded_queue,14,s: 2,383,569 msg/sec tbb::concurrent_bounded_queue,14,i: 2,727,466 msg/sec tbb::concurrent_bounded_queue,15,s: 2,349,969 msg/sec tbb::concurrent_bounded_queue,15,i: 2,612,797 msg/sec tbb::concurrent_bounded_queue,16,s: 2,256,482 msg/sec tbb::concurrent_bounded_queue,16,i: 2,524,846 msg/sec xenium::michael_scott_queue, 1,s: 13,417,645 msg/sec xenium::michael_scott_queue, 1,i: 13,776,890 msg/sec xenium::michael_scott_queue, 2,s: 9,432,938 msg/sec xenium::michael_scott_queue, 2,i: 9,169,352 msg/sec xenium::michael_scott_queue, 3,s: 7,634,339 msg/sec xenium::michael_scott_queue, 3,i: 7,531,266 msg/sec xenium::michael_scott_queue, 4,s: 5,848,146 msg/sec xenium::michael_scott_queue, 4,i: 5,816,633 msg/sec xenium::michael_scott_queue, 5,s: 3,654,623 msg/sec xenium::michael_scott_queue, 5,i: 4,659,148 msg/sec xenium::michael_scott_queue, 6,s: 3,293,135 msg/sec xenium::michael_scott_queue, 6,i: 3,449,810 msg/sec xenium::michael_scott_queue, 7,s: 3,219,684 msg/sec xenium::michael_scott_queue, 7,i: 3,249,261 msg/sec xenium::michael_scott_queue, 8,s: 2,352,661 msg/sec xenium::michael_scott_queue, 8,i: 2,785,962 msg/sec xenium::michael_scott_queue, 9,s: 2,924,054 msg/sec xenium::michael_scott_queue, 9,i: 2,848,577 msg/sec xenium::michael_scott_queue,10,s: 2,821,109 msg/sec xenium::michael_scott_queue,10,i: 2,881,318 msg/sec xenium::michael_scott_queue,11,s: 2,745,202 msg/sec xenium::michael_scott_queue,11,i: 2,858,035 msg/sec xenium::michael_scott_queue,12,s: 2,597,199 msg/sec xenium::michael_scott_queue,12,i: 2,726,993 msg/sec xenium::michael_scott_queue,13,s: 2,545,802 msg/sec xenium::michael_scott_queue,13,i: 2,659,729 msg/sec xenium::michael_scott_queue,14,s: 2,407,843 msg/sec xenium::michael_scott_queue,14,i: 2,606,041 msg/sec xenium::michael_scott_queue,15,s: 2,334,555 msg/sec xenium::michael_scott_queue,15,i: 2,596,270 msg/sec xenium::michael_scott_queue,16,s: 2,203,750 msg/sec xenium::michael_scott_queue,16,i: 2,510,168 msg/sec xenium::ramalhete_queue, 1,s: 69,146,558 msg/sec xenium::ramalhete_queue, 1,i: 66,531,829 msg/sec xenium::ramalhete_queue, 2,s: 40,127,680 msg/sec xenium::ramalhete_queue, 2,i: 33,122,348 msg/sec xenium::ramalhete_queue, 3,s: 40,822,831 msg/sec xenium::ramalhete_queue, 3,i: 40,591,743 msg/sec xenium::ramalhete_queue, 4,s: 47,072,588 msg/sec xenium::ramalhete_queue, 4,i: 47,563,121 msg/sec xenium::ramalhete_queue, 5,s: 37,217,585 msg/sec xenium::ramalhete_queue, 5,i: 23,829,326 msg/sec xenium::ramalhete_queue, 6,s: 38,907,886 msg/sec xenium::ramalhete_queue, 6,i: 27,024,002 msg/sec xenium::ramalhete_queue, 7,s: 40,516,435 msg/sec xenium::ramalhete_queue, 7,i: 28,440,055 msg/sec xenium::ramalhete_queue, 8,s: 50,144,761 msg/sec xenium::ramalhete_queue, 8,i: 29,905,392 msg/sec xenium::ramalhete_queue, 9,s: 33,170,217 msg/sec xenium::ramalhete_queue, 9,i: 35,979,686 msg/sec xenium::ramalhete_queue,10,s: 35,150,824 msg/sec xenium::ramalhete_queue,10,i: 40,796,869 msg/sec xenium::ramalhete_queue,11,s: 37,878,331 msg/sec xenium::ramalhete_queue,11,i: 40,977,957 msg/sec xenium::ramalhete_queue,12,s: 38,916,235 msg/sec xenium::ramalhete_queue,12,i: 44,046,724 msg/sec xenium::ramalhete_queue,13,s: 39,537,616 msg/sec xenium::ramalhete_queue,13,i: 42,278,337 msg/sec xenium::ramalhete_queue,14,s: 39,939,723 msg/sec xenium::ramalhete_queue,14,i: 43,277,948 msg/sec xenium::ramalhete_queue,15,s: 39,759,153 msg/sec xenium::ramalhete_queue,15,i: 43,833,064 msg/sec xenium::ramalhete_queue,16,s: 39,658,987 msg/sec xenium::ramalhete_queue,16,i: 44,643,028 msg/sec xenium::vyukov_bounded_queue, 1,s: 311,251,083 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,518,502 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,553,427 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,991,410 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,696,734 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,200,414 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,016,154 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,490,848 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,080,289 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,679,430 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,081,077 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,490,656 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,182,400 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,468,637 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,407,886 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,528,682 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,978,996 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,704,596 msg/sec xenium::vyukov_bounded_queue,10,s: 7,632,544 msg/sec xenium::vyukov_bounded_queue,10,i: 6,882,508 msg/sec xenium::vyukov_bounded_queue,11,s: 7,614,862 msg/sec xenium::vyukov_bounded_queue,11,i: 7,216,863 msg/sec xenium::vyukov_bounded_queue,12,s: 7,614,892 msg/sec xenium::vyukov_bounded_queue,12,i: 7,533,317 msg/sec xenium::vyukov_bounded_queue,13,s: 6,910,952 msg/sec xenium::vyukov_bounded_queue,13,i: 7,268,520 msg/sec xenium::vyukov_bounded_queue,14,s: 6,989,730 msg/sec xenium::vyukov_bounded_queue,14,i: 7,465,439 msg/sec xenium::vyukov_bounded_queue,15,s: 7,100,764 msg/sec xenium::vyukov_bounded_queue,15,i: 7,277,275 msg/sec xenium::vyukov_bounded_queue,16,s: 6,914,239 msg/sec xenium::vyukov_bounded_queue,16,i: 7,056,122 msg/sec boost::lockfree::queue, 1,s: 7,687,125 msg/sec boost::lockfree::queue, 1,i: 7,799,523 msg/sec boost::lockfree::queue, 2,s: 5,841,740 msg/sec boost::lockfree::queue, 2,i: 5,972,085 msg/sec boost::lockfree::queue, 3,s: 4,950,519 msg/sec boost::lockfree::queue, 3,i: 4,793,381 msg/sec boost::lockfree::queue, 4,s: 4,354,209 msg/sec boost::lockfree::queue, 4,i: 4,346,133 msg/sec boost::lockfree::queue, 5,s: 2,672,954 msg/sec boost::lockfree::queue, 5,i: 2,895,798 msg/sec boost::lockfree::queue, 6,s: 1,433,986 msg/sec boost::lockfree::queue, 6,i: 2,801,488 msg/sec boost::lockfree::queue, 7,s: 1,382,716 msg/sec boost::lockfree::queue, 7,i: 2,843,958 msg/sec boost::lockfree::queue, 8,s: 1,161,607 msg/sec boost::lockfree::queue, 8,i: 1,827,410 msg/sec boost::lockfree::queue, 9,s: 1,428,430 msg/sec boopthread_spinlock: producers: 4: consumer 3 received too few messages: 0.08% of expected. st::lockfree::queue, 9,i: 1,940,000 msg/sec boost::lockfree::queue,10,s: 1,516,308 msg/sec boost::lockfree::queue,10,i: 1,973,820 msg/sec boost::lockfree::queue,11,s: 1,706,024 msg/sec boost::lockfree::queue,11,i: 1,984,252 msg/sec boost::lockfree::queue,12,s: 1,796,746 msg/sec boost::lockfree::queue,12,i: 1,702,003 msg/sec boost::lockfree::queue,13,s: 1,620,174 msg/sec boost::lockfree::queue,13,i: 1,653,634 msg/sec boost::lockfree::queue,14,s: 1,539,647 msg/sec boost::lockfree::queue,14,i: 1,634,027 msg/sec boost::lockfree::queue,15,s: 1,576,543 msg/sec boost::lockfree::queue,15,i: 1,574,366 msg/sec boost::lockfree::queue,16,s: 1,513,604 msg/sec boost::lockfree::queue,16,i: 1,494,723 msg/sec std::mutex, 1,s: 3,527,197 msg/sec std::mutex, 1,i: 3,817,272 msg/sec std::mutex, 2,s: 13,267,677 msg/sec std::mutex, 2,i: 13,441,106 msg/sec std::mutex, 3,s: 7,189,577 msg/sec std::mutex, 3,i: 6,932,727 msg/sec std::mutex, 4,s: 7,094,171 msg/sec std::mutex, 4,i: 6,688,681 msg/sec std::mutex, 5,s: 3,331,539 msg/sec std::mutex, 5,i: 3,474,250 msg/sec std::mutex, 6,s: 3,015,758 msg/sec std::mutex, 6,i: 2,971,022 msg/sec std::mutex, 7,s: 3,365,286 msg/sec std::mutex, 7,i: 2,925,066 msg/sec std::mutex, 8,s: 3,498,700 msg/sec std::mutex, 8,i: 2,821,874 msg/sec std::mutex, 9,s: 2,919,540 msg/sec std::mutex, 9,i: 2,751,235 msg/sec std::mutex,10,s: 2,692,009 msg/sec std::mutex,10,i: 2,652,057 msg/sec std::mutex,11,s: 2,665,278 msg/sec std::mutex,11,i: 2,640,026 msg/sec std::mutex,12,s: 2,640,264 msg/sec std::mutex,12,i: 2,488,663 msg/sec std::mutex,13,s: 2,485,195 msg/sec std::mutex,13,i: 2,458,000 msg/sec std::mutex,14,s: 2,402,128 msg/sec std::mutex,14,i: 2,354,444 msg/sec std::mutex,15,s: 2,423,590 msg/sec std::mutex,15,i: 2,359,871 msg/sec std::mutex,16,s: 2,327,416 msg/sec std::mutex,16,i: 2,279,617 msg/sec pthread_spinlock, 1,s: 17,870,435 msg/sec pthread_spinlock, 1,i: 18,045,466 msg/sec pthread_spinlock, 2,s: 7,821,446 msg/sec pthread_spinlock, 2,i: 1,581,849 msg/sec pthread_spinlock, 3,s: 725,058 msg/sec pthread_spinlock, 3,i: 5,141,173 msg/sec pthread_spinlock, 4,s: 2,446,805 msg/sec pthread_spinlock, 4,i: 1,069,610 msg/sec pthread_spinlock, 5,s: 2,897,631 msg/sec pthread_spinlock, 5,i: 775,790 msg/sec pthread_spinlock, 6,s: 1,969,526 msg/sec pthread_spinlock, 6,i: 3,142,771 msg/sec pthread_spinlock, 7,s: 2,795,728 msg/sec pthread_spinlock, 7,i: 3,060,278 msg/sec pthread_spinlock, 8,s: 2,998,059 msg/sec pthread_spinlock, 8,i: 2,684,797 msg/sec pthread_spinlock, 9,s: 2,769,492 msg/sec pthread_spinlock, 9,i: 2,338,945 msg/sec pthread_spinlock,10,s: 2,742,386 msg/sec pthread_spinlock,10,i: 2,385,884 msg/sec pthread_spinlock,11,s: 2,571,050 msg/sec pthread_spinlock,11,i: 2,727,423 msg/sec pthread_spinlock,12,s: 2,588,424 msg/sec pthread_spinlock,12,i: 2,467,991 msg/sec pthread_spinlock,13,s: 2,441,786 msg/sec pthread_spinlock,13,i: 2,233,318 msg/sec pthread_spinlock,14,s: 2,219,149 msg/sec pthread_spinlock,14,i: 2,069,242 msg/sec pthread_spinlock,15,s: 1,998,219 msg/sec pthread_spinlock,15,i: 1,879,244 msg/sec pthread_spinlock,16,s: 1,768,250 msg/sec pthread_spinlock,16,i: 1,600,871 msg/sec tbb::spin_mutex, 1,s: 37,864,987 msg/sec tbb::spin_mutex, 1,i: 36,965,879 msg/sec tbb::spin_mutex, 2,s: 16,471,915 msg/sec tbb::spin_mutex, 2,i: 16,018,513 msg/sec tbb::spin_mutex, 3,s: 12,066,316 msg/sec tbb::spin_mutex, 3,i: 11,986,550 msg/sec tbb::spin_mutex, 4,s: 10,286,005 msg/sec tbb::spin_mutex, 4,i: 10,177,397 msg/sec tbb::spin_mutex, 5,s: 5,943,515 msg/sec tbb::spin_mutex, 5,i: 5,568,304 msg/sec tbb::spin_mutex, 6,s: 5,112,418 msg/sec tbb::spin_mutex, 6,i: 4,867,800 msg/sec tbb::spin_mutex, 7,s: 4,378,007 msg/sec tbb::spin_mutex, 7,i: 4,621,865 msg/sec tbb::spin_mutex, 8,s: 4,288,589 msg/sec tbb::spin_mutex, 8,i: 4,047,347 msg/sec tbb::spin_mutex, 9,s: 4,641,470 msg/sec tbb::spin_mutex, 9,i: 4,363,622 msg/sec tbb::spin_mutex,10,s: 4,400,711 msg/sec tbb::spin_mutex,10,i: 4,223,141 msg/sec tbb::spin_mutex,11,s: 4,281,281 msg/sec tbb::spin_mutex,11,i: 3,620,581 msg/sec tbb::spin_mutex,12,s: 3,729,863 msg/sec tbb::spin_mutex,12,i: 3,457,852 msg/sec tbb::spin_mutex,13,s: 3,663,466 msg/sec tbb::spin_mutex,13,i: 3,246,690 msg/sec tbb::spin_mutex,14,s: 3,389,753 msg/sec tbb::spin_mutex,14,i: 2,973,876 msg/sec tbb::spin_mutex,15,s: 3,156,413 msg/sec tbb::spin_mutex,15,i: 3,120,135 msg/sec tbb::spin_mutex,16,s: 2,868,403 msg/sec tbb::spin_mutex,16,i: 2,997,362 msg/sec Elapsed time 6:13.26, user 5628.76s, system 602.02s, CPU 1669%, RSS 98072kB, exit-status 0. 2026-09-14 15:01:15 [27/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000042 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000321 sec/round-trip pthread_spinlock: 0.000000105 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,983,728 msg/sec boost::lockfree::spsc_queue, 1,i: 112,833,548 msg/sec AtomicQueue, 1,s: 143,372,565 msg/sec AtomicQueue, 1,i: 145,274,982 msg/sec AtomicQueue, 2,s: 9,880,642 msg/sec AtomicQueue, 2,i: 10,328,469 msg/sec AtomicQueue, 3,s: 8,346,615 msg/sec AtomicQueue, 3,i: 8,821,774 msg/sec AtomicQueue, 4,s: 6,633,824 msg/sec AtomicQueue, 4,i: 7,026,342 msg/sec AtomicQueue, 5,s: 3,157,972 msg/sec AtomicQueue, 5,i: 4,319,750 msg/sec AtomicQueue, 6,s: 2,599,650 msg/sec AtomicQueue, 6,i: 4,035,888 msg/sec AtomicQueue, 7,s: 2,961,467 msg/sec AtomicQueue, 7,i: 3,250,945 msg/sec AtomicQueue, 8,s: 3,117,234 msg/sec AtomicQueue, 8,i: 2,894,500 msg/sec AtomicQueue, 9,s: 2,756,950 msg/sec AtomicQueue, 9,i: 2,950,956 msg/sec AtomicQueue,10,s: 2,796,293 msg/sec AtomicQueue,10,i: 2,959,545 msg/sec AtomicQueue,11,s: 2,792,242 msg/sec AtomicQueue,11,i: 2,947,920 msg/sec AtomicQueue,12,s: 2,669,219 msg/sec AtomicQueue,12,i: 2,859,567 msg/sec AtomicQueue,13,s: 2,530,569 msg/sec AtomicQueue,13,i: 2,825,589 msg/sec AtomicQueue,14,s: 2,369,483 msg/sec AtomicQueue,14,i: 2,783,889 msg/sec AtomicQueue,15,s: 2,357,932 msg/sec AtomicQueue,15,i: 2,755,864 msg/sec AtomicQueue,16,s: 2,258,122 msg/sec AtomicQueue,16,i: 2,730,838 msg/sec OptimistAtomicQueue, 1,s: 1,194,405,491 msg/sec OptimistAtomicQueue, 1,i: 1,190,637,022 msg/sec OptimistAtomicQueue, 2,s: 48,071,934 msg/sec OptimistAtomicQueue, 2,i: 52,823,548 msg/sec OptimistAtomicQueue, 3,s: 58,763,209 msg/sec OptimistAtomicQueue, 3,i: 59,634,922 msg/sec OptimistAtomicQueue, 4,s: 59,209,407 msg/sec OptimistAtomicQueue, 4,i: 65,793,000 msg/sec OptimistAtomicQueue, 5,s: 33,130,830 msg/sec OptimistAtomicQueue, 5,i: 41,710,167 msg/sec OptimistAtomicQueue, 6,s: 34,520,240 msg/sec OptimistAtomicQueue, 6,i: 35,203,794 msg/sec OptimistAtomicQueue, 7,s: 40,231,595 msg/sec OptimistAtomicQueue, 7,i: 40,009,744 msg/sec OptimistAtomicQueue, 8,s: 50,569,495 msg/sec OptimistAtomicQueue, 8,i: 41,232,740 msg/sec OptimistAtomicQueue, 9,s: 40,989,330 msg/sec OptimistAtomicQueue, 9,i: 44,981,684 msg/sec OptimistAtomicQueue,10,s: 39,956,255 msg/sec OptimistAtomicQueue,10,i: 47,317,277 msg/sec OptimistAtomicQueue,11,s: 44,323,365 msg/sec OptimistAtomicQueue,11,i: 53,247,151 msg/sec OptimistAtomicQueue,12,s: 43,292,574 msg/sec OptimistAtomicQueue,12,i: 56,900,952 msg/sec OptimistAtomicQueue,13,s: 43,320,409 msg/sec OptimistAtomicQueue,13,i: 55,389,176 msg/sec OptimistAtomicQueue,14,s: 43,223,571 msg/sec OptimistAtomicQueue,14,i: 56,271,559 msg/sec OptimistAtomicQueue,15,s: 45,842,012 msg/sec OptimistAtomicQueue,15,i: 60,760,363 msg/sec OptimistAtomicQueue,16,s: 45,759,869 msg/sec OptimistAtomicQueue,16,i: 64,617,610 msg/sec AtomicQueueB, 1,s: 51,207,461 msg/sec AtomicQueueB, 1,i: 49,843,816 msg/sec AtomicQueueB, 2,s: 9,667,270 msg/sec AtomicQueueB, 2,i: 10,140,552 msg/sec AtomicQueueB, 3,s: 8,225,279 msg/sec AtomicQueueB, 3,i: 8,721,645 msg/sec AtomicQueueB, 4,s: 6,549,309 msg/sec AtomicQueueB, 4,i: 6,892,155 msg/sec AtomicQueueB, 5,s: 3,101,780 msg/sec AtomicQueueB, 5,i: 4,322,443 msg/sec AtomicQueueB, 6,s: 2,572,587 msg/sec AtomicQueueB, 6,i: 3,962,654 msg/sec AtomicQueueB, 7,s: 2,918,021 msg/sec AtomicQueueB, 7,i: 3,163,315 msg/sec AtomicQueueB, 8,s: 3,053,588 msg/sec AtomicQueueB, 8,i: 2,888,139 msg/sec AtomicQueueB, 9,s: 2,823,368 msg/sec AtomicQueueB, 9,i: 2,870,608 msg/sec AtomicQueueB,10,s: 2,780,942 msg/sec AtomicQueueB,10,i: 2,934,673 msg/sec AtomicQueueB,11,s: 2,738,080 msg/sec AtomicQueueB,11,i: 2,923,020 msg/sec AtomicQueueB,12,s: 2,655,019 msg/sec AtomicQueueB,12,i: 2,832,636 msg/sec AtomicQueueB,13,s: 2,512,953 msg/sec AtomicQueueB,13,i: 2,828,573 msg/sec AtomicQueueB,14,s: 2,382,412 msg/sec AtomicQueueB,14,i: 2,765,928 msg/sec AtomicQueueB,15,s: 2,372,156 msg/sec AtomicQueueB,15,i: 2,762,856 msg/sec AtomicQueueB,16,s: 2,279,386 msg/sec AtomicQueueB,16,i: 2,741,216 msg/sec OptimistAtomicQueueB, 1,s: 846,885,615 msg/sec OptimistAtomicQueueB, 1,i: 714,811,146 msg/sec OptimistAtomicQueueB, 2,s: 49,959,032 msg/sec OptimistAtomicQueueB, 2,i: 49,730,218 msg/sec OptimistAtomicQueueB, 3,s: 58,642,051 msg/sec OptimistAtomicQueueB, 3,i: 57,608,232 msg/sec OptimistAtomicQueueB, 4,s: 59,618,876 msg/sec OptimistAtomicQueueB, 4,i: 66,118,686 msg/sec OptimistAtomicQueueB, 5,s: 33,067,564 msg/sec OptimistAtomicQueueB, 5,i: 39,597,179 msg/sec OptimistAtomicQueueB, 6,s: 34,252,093 msg/sec OptimistAtomicQueueB, 6,i: 34,893,124 msg/sec OptimistAtomicQueueB, 7,s: 39,206,193 msg/sec OptimistAtomicQueueB, 7,i: 40,045,696 msg/sec OptimistAtomicQueueB, 8,s: 51,475,342 msg/sec OptimistAtomicQueueB, 8,i: 41,211,448 msg/sec OptimistAtomicQueueB, 9,s: 40,596,007 msg/sec OptimistAtomicQueueB, 9,i: 45,503,875 msg/sec OptimistAtomicQueueB,10,s: 39,989,361 msg/sec OptimistAtomicQueueB,10,i: 46,093,753 msg/sec OptimistAtomicQueueB,11,s: 44,266,801 msg/sec OptimistAtomicQueueB,11,i: 52,749,263 msg/sec OptimistAtomicQueueB,12,s: 43,780,290 msg/sec OptimistAtomicQueueB,12,i: 56,704,720 msg/sec OptimistAtomicQueueB,13,s: 43,761,996 msg/sec OptimistAtomicQueueB,13,i: 54,768,140 msg/sec OptimistAtomicQueueB,14,s: 43,717,770 msg/sec OptimistAtomicQueueB,14,i: 56,190,963 msg/sec OptimistAtomicQueueB,15,s: 46,214,336 msg/sec OptimistAtomicQueueB,15,i: 60,300,888 msg/sec OptimistAtomicQueueB,16,s: 46,091,629 msg/sec OptimistAtomicQueueB,16,i: 64,722,706 msg/sec AtomicQueue2, 1,s: 130,293,235 msg/sec AtomicQueue2, 1,i: 95,832,912 msg/sec AtomicQueue2, 2,s: 9,956,878 msg/sec AtomicQueue2, 2,i: 10,546,169 msg/sec AtomicQueue2, 3,s: 8,418,822 msg/sec AtomicQueue2, 3,i: 8,902,795 msg/sec AtomicQueue2, 4,s: 6,684,835 msg/sec AtomicQueue2, 4,i: 7,090,328 msg/sec AtomicQueue2, 5,s: 3,140,955 msg/sec AtomicQueue2, 5,i: 4,278,364 msg/sec AtomicQueue2, 6,s: 2,567,464 msg/sec AtomicQueue2, 6,i: 3,470,169 msg/sec AtomicQueue2, 7,s: 2,902,140 msg/sec AtomicQueue2, 7,i: 3,205,223 msg/sec AtomicQueue2, 8,s: 3,007,226 msg/sec AtomicQueue2, 8,i: 2,892,627 msg/sec AtomicQueue2, 9,s: 2,757,309 msg/sec AtomicQueue2, 9,i: 2,904,153 msg/sec AtomicQueue2,10,s: 2,767,146 msg/sec AtomicQueue2,10,i: 2,945,640 msg/sec AtomicQueue2,11,s: 2,741,587 msg/sec AtomicQueue2,11,i: 2,928,839 msg/sec AtomicQueue2,12,s: 2,698,108 msg/sec AtomicQueue2,12,i: 2,850,090 msg/sec AtomicQueue2,13,s: 2,548,117 msg/sec AtomicQueue2,13,i: 2,820,414 msg/sec AtomicQueue2,14,s: 2,390,551 msg/sec AtomicQueue2,14,i: 2,772,499 msg/sec AtomicQueue2,15,s: 2,394,442 msg/sec AtomicQueue2,15,i: 2,807,115 msg/sec AtomicQueue2,16,s: 2,283,011 msg/sec AtomicQueue2,16,i: 2,711,587 msg/sec OptimistAtomicQueue2, 1,s: 107,146,463 msg/sec OptimistAtomicQueue2, 1,i: 106,819,593 msg/sec OptimistAtomicQueue2, 2,s: 43,369,731 msg/sec OptimistAtomicQueue2, 2,i: 47,130,490 msg/sec OptimistAtomicQueue2, 3,s: 54,976,726 msg/sec OptimistAtomicQueue2, 3,i: 50,049,169 msg/sec OptimistAtomicQueue2, 4,s: 59,239,922 msg/sec OptimistAtomicQueue2, 4,i: 58,096,270 msg/sec OptimistAtomicQueue2, 5,s: 31,446,144 msg/sec OptimistAtomicQueue2, 5,i: 34,244,049 msg/sec OptimistAtomicQueue2, 6,s: 32,861,909 msg/sec OptimistAtomicQueue2, 6,i: 32,488,092 msg/sec OptimistAtomicQueue2, 7,s: 37,807,337 msg/sec OptimistAtomicQueue2, 7,i: 37,680,708 msg/sec OptimistAtomicQueue2, 8,s: 49,015,427 msg/sec OptimistAtomicQueue2, 8,i: 39,882,062 msg/sec OptimistAtomicQueue2, 9,s: 37,529,406 msg/sec OptimistAtomicQueue2, 9,i: 42,476,654 msg/sec OptimistAtomicQueue2,10,s: 37,547,466 msg/sec OptimistAtomicQueue2,10,i: 44,311,570 msg/sec OptimistAtomicQueue2,11,s: 42,936,466 msg/sec OptimistAtomicQueue2,11,i: 47,920,448 msg/sec OptimistAtomicQueue2,12,s: 42,080,040 msg/sec OptimistAtomicQueue2,12,i: 52,715,763 msg/sec OptimistAtomicQueue2,13,s: 41,148,387 msg/sec OptimistAtomicQueue2,13,i: 53,528,709 msg/sec OptimistAtomicQueue2,14,s: 40,826,777 msg/sec OptimistAtomicQueue2,14,i: 53,154,673 msg/sec OptimistAtomicQueue2,15,s: 43,249,175 msg/sec OptimistAtomicQueue2,15,i: 56,219,716 msg/sec OptimistAtomicQueue2,16,s: 43,461,562 msg/sec OptimistAtomicQueue2,16,i: 58,963,877 msg/sec AtomicQueueB2, 1,s: 75,184,418 msg/sec AtomicQueueB2, 1,i: 47,920,497 msg/sec AtomicQueueB2, 2,s: 9,823,124 msg/sec AtomicQueueB2, 2,i: 10,425,741 msg/sec AtomicQueueB2, 3,s: 8,320,394 msg/sec AtomicQueueB2, 3,i: 8,838,419 msg/sec AtomicQueueB2, 4,s: 6,615,039 msg/sec AtomicQueueB2, 4,i: 6,950,560 msg/sec AtomicQueueB2, 5,s: 3,096,258 msg/sec AtomicQueueB2, 5,i: 4,322,429 msg/sec AtomicQueueB2, 6,s: 2,549,055 msg/sec AtomicQueueB2, 6,i: 3,437,505 msg/sec AtomicQueueB2, 7,s: 2,897,285 msg/sec AtomicQueueB2, 7,i: 3,172,653 msg/sec AtomicQueueB2, 8,s: 3,015,889 msg/sec AtomicQueueB2, 8,i: 2,839,002 msg/sec AtomicQueueB2, 9,s: 2,806,445 msg/sec AtomicQueueB2, 9,i: 2,877,059 msg/sec AtomicQueueB2,10,s: 2,755,400 msg/sec AtomicQueueB2,10,i: 2,838,357 msg/sec AtomicQueueB2,11,s: 2,819,695 msg/sec AtomicQueueB2,11,i: 2,877,768 msg/sec AtomicQueueB2,12,s: 2,761,491 msg/sec AtomicQueueB2,12,i: 2,854,846 msg/sec AtomicQueueB2,13,s: 2,621,379 msg/sec AtomicQueueB2,13,i: 2,825,304 msg/sec AtomicQueueB2,14,s: 2,467,209 msg/sec AtomicQueueB2,14,i: 2,760,604 msg/sec AtomicQueueB2,15,s: 2,433,283 msg/sec AtomicQueueB2,15,i: 2,819,269 msg/sec AtomicQueueB2,16,s: 2,306,649 msg/sec AtomicQueueB2,16,i: 2,748,742 msg/sec OptimistAtomicQueueB2, 1,s: 151,873,526 msg/sec OptimistAtomicQueueB2, 1,i: 152,275,688 msg/sec OptimistAtomicQueueB2, 2,s: 41,992,820 msg/sec OptimistAtomicQueueB2, 2,i: 45,880,692 msg/sec OptimistAtomicQueueB2, 3,s: 56,761,541 msg/sec OptimistAtomicQueueB2, 3,i: 53,172,322 msg/sec OptimistAtomicQueueB2, 4,s: 59,022,377 msg/sec OptimistAtomicQueueB2, 4,i: 59,897,335 msg/sec OptimistAtomicQueueB2, 5,s: 31,340,114 msg/sec OptimistAtomicQueueB2, 5,i: 31,364,176 msg/sec OptimistAtomicQueueB2, 6,s: 32,794,297 msg/sec OptimistAtomicQueueB2, 6,i: 31,879,418 msg/sec OptimistAtomicQueueB2, 7,s: 37,104,202 msg/sec OptimistAtomicQueueB2, 7,i: 37,047,432 msg/sec OptimistAtomicQueueB2, 8,s: 47,896,834 msg/sec OptimistAtomicQueueB2, 8,i: 38,850,656 msg/sec OptimistAtomicQueueB2, 9,s: 38,061,808 msg/sec OptimistAtomicQueueB2, 9,i: 41,564,219 msg/sec OptimistAtomicQueueB2,10,s: 37,337,533 msg/sec OptimistAtomicQueueB2,10,i: 43,269,936 msg/sec OptimistAtomicQueueB2,11,s: 42,616,064 msg/sec OptimistAtomicQueueB2,11,i: 47,419,907 msg/sec OptimistAtomicQueueB2,12,s: 41,655,702 msg/sec OptimistAtomicQueueB2,12,i: 49,809,259 msg/sec OptimistAtomicQueueB2,13,s: 40,833,390 msg/sec OptimistAtomicQueueB2,13,i: 51,449,662 msg/sec OptimistAtomicQueueB2,14,s: 40,869,374 msg/sec OptimistAtomicQueueB2,14,i: 53,046,992 msg/sec OptimistAtomicQueueB2,15,s: 43,076,590 msg/sec OptimistAtomicQueueB2,15,i: 56,522,987 msg/sec OptimistAtomicQueueB2,16,s: 43,172,761 msg/sec OptimistAtomicQueueB2,16,i: 59,276,582 msg/sec moodycamel::ReaderWriterQueue, 1,s: 290,223,216 msg/sec moodycamel::ReaderWriterQueue, 1,i: 85,410,132 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,140,539 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,237,156 msg/sec moodycamel::ConcurrentQueue, 2,s: 36,929,308 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,261,871 msg/sec moodycamel::ConcurrentQueue, 3,s: 55,304,172 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,262,558 msg/sec moodycamel::ConcurrentQueue, 4,s: 105,650,779 msg/sec moodycamel::ConcurrentQueue, 4,i: 95,626,907 msg/sec moodycamel::ConcurrentQueue, 5,s: 88,437,472 msg/sec moodycamel::ConcurrentQueue, 5,i: 181,982,745 msg/sec moodycamel::ConcurrentQueue, 6,s: 204,011,551 msg/sec moodycamel::ConcurrentQueue, 6,i: 216,275,064 msg/sec moodycamel::ConcurrentQueue, 7,s: 215,967,196 msg/sec moodycamel::ConcurrentQueue, 7,i: 235,099,642 msg/sec moodycamel::ConcurrentQueue, 8,s: 284,081,092 msg/sec moodycamel::ConcurrentQueue, 8,i: 253,816,131 msg/sec moodycamel::ConcurrentQueue, 9,s: 219,891,057 msg/sec moodycamel::ConcurrentQueue, 9,i: 248,775,061 msg/sec moodycamel::ConcurrentQueue,10,s: 259,155,163 msg/sec moodycamel::ConcurrentQueue,10,i: 230,890,414 msg/sec moodycamel::ConcurrentQueue,11,s: 225,899,768 msg/sec moodycamel::ConcurrentQueue,11,i: 230,880,995 msg/sec moodycamel::ConcurrentQueue,12,s: 188,924,856 msg/sec moodycamel::ConcurrentQueue,12,i: 192,288,349 msg/sec moodycamel::ConcurrentQueue,13,s: 236,982,467 msg/sec moodycamel::ConcurrentQueue,13,i: 279,583,644 msg/sec moodycamel::ConcurrentQueue,14,s: 341,312,007 msg/sec moodycamel::ConcurrentQueue,14,i: 368,466,913 msg/sec moodycamel::ConcurrentQueue,15,s: 451,651,382 msg/sec moodycamel::ConcurrentQueue,15,i: 454,285,791 msg/sec moodycamel::ConcurrentQueue,16,s: 508,899,353 msg/sec moodycamel::ConcurrentQueue,16,i: 488,278,204 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,796,841 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,832,209 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,124,427 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,136,136 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,975,904 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,065,329 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,421,025 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,623,705 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,051,317 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,105,674 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,796,090 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,693,171 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,666,684 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,149,835 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,784,757 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,803,615 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,631,012 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,853,757 msg/sec tbb::concurrent_bounded_queue,10,s: 2,764,868 msg/sec tbb::concurrent_bounded_queue,10,i: 2,945,732 msg/sec tbb::concurrent_bounded_queue,11,s: 2,659,077 msg/sec tbb::concurrent_bounded_queue,11,i: 2,867,743 msg/sec tbb::concurrent_bounded_queue,12,s: 2,567,548 msg/sec tbb::concurrent_bounded_queue,12,i: 2,789,320 msg/sec tbb::concurrent_bounded_queue,13,s: 2,481,731 msg/sec tbb::concurrent_bounded_queue,13,i: 2,800,326 msg/sec tbb::concurrent_bounded_queue,14,s: 2,386,831 msg/sec tbb::concurrent_bounded_queue,14,i: 2,715,473 msg/sec tbb::concurrent_bounded_queue,15,s: 2,349,260 msg/sec tbb::concurrent_bounded_queue,15,i: 2,621,112 msg/sec tbb::concurrent_bounded_queue,16,s: 2,264,096 msg/sec tbb::concurrent_bounded_queue,16,i: 2,538,877 msg/sec xenium::michael_scott_queue, 1,s: 13,376,598 msg/sec xenium::michael_scott_queue, 1,i: 13,632,605 msg/sec xenium::michael_scott_queue, 2,s: 9,430,771 msg/sec xenium::michael_scott_queue, 2,i: 9,182,438 msg/sec xenium::michael_scott_queue, 3,s: 7,632,402 msg/sec xenium::michael_scott_queue, 3,i: 7,533,665 msg/sec xenium::michael_scott_queue, 4,s: 5,825,366 msg/sec xenium::michael_scott_queue, 4,i: 5,816,444 msg/sec xenium::michael_scott_queue, 5,s: 3,629,107 msg/sec xenium::michael_scott_queue, 5,i: 4,668,334 msg/sec xenium::michael_scott_queue, 6,s: 3,330,606 msg/sec xenium::michael_scott_queue, 6,i: 3,942,095 msg/sec xenium::michael_scott_queue, 7,s: 3,166,329 msg/sec xenium::michael_scott_queue, 7,i: 3,310,085 msg/sec xenium::michael_scott_queue, 8,s: 2,353,131 msg/sec xenium::michael_scott_queue, 8,i: 2,785,824 msg/sec xenium::michael_scott_queue, 9,s: 2,926,686 msg/sec xenium::michael_scott_queue, 9,i: 2,851,094 msg/sec xenium::michael_scott_queue,10,s: 2,829,978 msg/sec xenium::michael_scott_queue,10,i: 2,855,143 msg/sec xenium::michael_scott_queue,11,s: 2,723,255 msg/sec xenium::michael_scott_queue,11,i: 2,868,457 msg/sec xenium::michael_scott_queue,12,s: 2,592,646 msg/sec xenium::michael_scott_queue,12,i: 2,734,342 msg/sec xenium::michael_scott_queue,13,s: 2,527,609 msg/sec xenium::michael_scott_queue,13,i: 2,648,539 msg/sec xenium::michael_scott_queue,14,s: 2,408,775 msg/sec xenium::michael_scott_queue,14,i: 2,610,662 msg/sec xenium::michael_scott_queue,15,s: 2,326,484 msg/sec xenium::michael_scott_queue,15,i: 2,594,382 msg/sec xenium::michael_scott_queue,16,s: 2,209,134 msg/sec xenium::michael_scott_queue,16,i: 2,495,159 msg/sec xenium::ramalhete_queue, 1,s: 69,282,896 msg/sec xenium::ramalhete_queue, 1,i: 65,386,518 msg/sec xenium::ramalhete_queue, 2,s: 48,661,645 msg/sec xenium::ramalhete_queue, 2,i: 37,407,310 msg/sec xenium::ramalhete_queue, 3,s: 40,999,267 msg/sec xenium::ramalhete_queue, 3,i: 40,753,806 msg/sec xenium::ramalhete_queue, 4,s: 49,314,447 msg/sec xenium::ramalhete_queue, 4,i: 47,819,444 msg/sec xenium::ramalhete_queue, 5,s: 37,622,616 msg/sec xenium::ramalhete_queue, 5,i: 23,261,938 msg/sec xenium::ramalhete_queue, 6,s: 39,322,584 msg/sec xenium::ramalhete_queue, 6,i: 26,400,190 msg/sec xenium::ramalhete_queue, 7,s: 40,505,374 msg/sec xenium::ramalhete_queue, 7,i: 28,292,176 msg/sec xenium::ramalhete_queue, 8,s: 50,714,314 msg/sec xenium::ramalhete_queue, 8,i: 29,672,659 msg/sec xenium::ramalhete_queue, 9,s: 33,230,244 msg/sec xenium::ramalhete_queue, 9,i: 36,164,042 msg/sec xenium::ramalhete_queue,10,s: 35,017,963 msg/sec xenium::ramalhete_queue,10,i: 40,504,557 msg/sec xenium::ramalhete_queue,11,s: 36,754,210 msg/sec xenium::ramalhete_queue,11,i: 43,293,204 msg/sec xenium::ramalhete_queue,12,s: 38,591,594 msg/sec xenium::ramalhete_queue,12,i: 42,053,886 msg/sec xenium::ramalhete_queue,13,s: 39,672,994 msg/sec xenium::ramalhete_queue,13,i: 42,635,299 msg/sec xenium::ramalhete_queue,14,s: 39,854,422 msg/sec xenium::ramalhete_queue,14,i: 43,058,086 msg/sec xenium::ramalhete_queue,15,s: 39,884,870 msg/sec xenium::ramalhete_queue,15,i: 44,029,390 msg/sec xenium::ramalhete_queue,16,s: 39,718,781 msg/sec xenium::ramalhete_queue,16,i: 44,587,335 msg/sec xenium::vyukov_bounded_queue, 1,s: 307,518,286 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,571,542 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,249,043 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,429,164 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,193,784 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,813,866 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,334,385 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,600,519 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,023,952 msg/sec xenium::vyukov_bounded_queue, 5,i: 8,473,851 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,027,054 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,793,909 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,172,990 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,466,627 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,117,698 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,551,006 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,243,687 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,687,977 msg/sec xenium::vyukov_bounded_queue,10,s: 7,647,350 msg/sec xenium::vyukov_bounded_queue,10,i: 6,827,287 msg/sec xenium::vyukov_bounded_queue,11,s: 7,460,229 msg/sec xenium::vyukov_bounded_queue,11,i: 7,242,539 msg/sec xenium::vyukov_bounded_queue,12,s: 7,462,467 msg/sec xenium::vyukov_bounded_queue,12,i: 7,502,150 msg/sec xenium::vyukov_bounded_queue,13,s: 7,107,281 msg/sec xenium::vyukov_bounded_queue,13,i: 7,421,777 msg/sec xenium::vyukov_bounded_queue,14,s: 6,970,700 msg/sec xenium::vyukov_bounded_queue,14,i: 7,545,827 msg/sec xenium::vyukov_bounded_queue,15,s: 7,087,809 msg/sec xenium::vyukov_bounded_queue,15,i: 7,322,692 msg/sec xenium::vyukov_bounded_queue,16,s: 6,802,324 msg/sec xenium::vyukov_bounded_queue,16,i: 7,049,054 msg/sec boost::lockfree::queue, 1,s: 7,851,613 msg/sec boost::lockfree::queue, 1,i: 7,863,130 msg/sec boost::lockfree::queue, 2,s: 5,839,311 msg/sec boost::lockfree::queue, 2,i: 5,902,867 msg/sec boost::lockfree::queue, 3,s: 4,952,404 msg/sec boost::lockfree::queue, 3,i: 4,795,729 msg/sec boost::lockfree::queue, 4,s: 4,383,555 msg/sec boost::lockfree::queue, 4,i: 4,348,727 msg/sec boost::lockfree::queue, 5,s: 2,658,083 msg/sec boost::lockfree::queue, 5,i: 2,898,245 msg/sec boost::lockfree::queue, 6,s: 1,440,603 msg/sec boost::lockfree::queue, 6,i: 2,828,709 msg/sec boost::lockfree::queue, 7,s: 1,389,402 msg/sec boost::lockfree::queue, 7,i: 2,854,961 msg/sec boost::lockfree::queue, 8,s: 1,157,781 msg/sec boost::lockfree::queue, 8,i: 1,815,114 msg/sec boost::lockfree::queue, 9,s: 1,446,413 msg/sec boost::lockfree::queue, 9,i: 1,865,438 msg/sec boost::lockfree::queue,10,s: 1,532,620 msg/sec boost::lockfree::queue,10,i: 1,942,303 msg/sec boost::lockfree::queue,11,s: 1,612,825 msg/sec boost::lockfree::queue,11,i: 1,873,407 msg/sec boost::lockfree::queue,12,s: 1,861,666 msg/sec boost::lockfree::queue,12,i: 1,714,433 msg/sec boost::lockfree::queue,13,s: 1,612,383 msg/sec boost::lockfree::queue,13,i: 1,639,708 msg/sec boost::lockfree::queue,14,s: 1,551,431 msg/sec boost::lockfree::queue,14,i: 1,643,178 msg/sec boost::lockfree::queue,15,s: 1,560,210 msg/sec boost::lockfree::queue,15,i: 1,582,965 msg/sec boost::lockfree::queue,16,s: 1,531,610 msg/sec boost::lockfree::queue,16,i: 1,498,713 msg/sec std::mutex, 1,s: 4,564,104 msg/sec std::mutex, 1,i: 4,257,175 msg/sec std::mutex, 2,s: 13,233,602 msg/sec std::mutex, 2,i: 12,386,332 msg/sec std::mutex, 3,s: 7,137,762 msg/sec std::mutex, 3,i: 6,745,303 msg/sec std::mutex, 4,s: 6,945,386 msg/sec std::mutex, 4,i: 6,710,498 msg/sec std::mutex, 5,s: 3,361,164 msg/sec std::mutex, 5,i: 3,486,574 msg/sec std::mutex, 6,s: 3,016,364 msg/sec std::mutex, 6,i: 2,974,458 msg/sec std::mutex, 7,s: 3,284,174 msg/sec std::mutex, 7,i: 2,903,722 msg/sec std::mutex, 8,s: 3,432,479 msg/sec std::mutex, 8,i: 2,779,393 msg/sec std::mutex, 9,s: 2,824,206 msg/sec std::mutex, 9,i: 2,663,378 msg/sec std::mutex,10,s: 2,583,352 msg/sec std::mutex,10,i: 2,690,762 msg/sec std::mutex,11,s: 2,671,287 msg/sec std::mutex,11,i: 2,607,638 msg/sec std::mutex,12,s: 2,674,459 msg/sec std::mutex,12,i: 2,603,043 msg/sec std::mutex,13,s: 2,482,875 msg/sec std::mutex,13,i: 2,426,576 msg/sec std::mutex,14,s: 2,419,212 msg/sec std::mutex,14,i: 2,322,954 msg/sec std::mutex,15,s: 2,418,561 msg/sec std::mutex,15,i: 2,375,638 msg/sec std::mutex,16,s: 2,336,481 msg/sec std::mutex,16,i: 2,292,536 msg/sec pthread_spinlock, 1,s: 17,686,184 msg/sec pthread_spinlock, 1,i: 18,101,016 msg/sec pthread_spinlock, 2,s: 7,742,325 msg/sec pthread_spinlock, 2,i: 1,336,739 msg/sec pthread_spinlock, 3,s: 835,933 msg/sec pthread_spinlock, 3,i: 6,219,386 msg/sec pthread_spinlock, 4,s: 1,012,324 msg/sec pthread_spinlock, 4,i: 1,827,010 msg/sec pthread_spinlock, 5,s: 2,788,983 msg/sec pthread_spinlock, 5,i: 867,207 msg/sec pthread_spinlock, 6,s: 1,963,785 msg/sec pthread_spinlock, 6,i: 3,111,823 msg/sec pthread_spinlock, 7,s: 2,871,066 msg/sec pthread_spinlock, 7,i: 3,039,771 msg/sec pthread_spinlock, 8,s: 2,944,236 msg/sec pthread_spinlock, 8,i: 2,649,899 msg/sec pthread_spinlock, 9,s: 2,815,770 msg/sec pthread_spinlock, 9,i: 2,317,920 msg/sec pthread_spinlock,10,s: 2,721,941 msg/sec pthread_spinlock,10,i: 2,392,458 msg/sec pthread_spinlock,11,s: 2,534,375 msg/sec pthread_spinlock,11,i: 2,251,337 msg/sec pthread_spinlock,12,s: 2,244,938 msg/sec pthread_spinlock,12,i: 2,487,055 msg/sec pthread_spinlock,13,s: 2,371,478 msg/sec pthread_spinlock,13,i: 1,992,854 msg/sec pthread_spinlock,14,s: 2,198,744 msg/sec pthread_spinlock,14,i: 2,006,628 msg/sec pthread_spinlock,15,s: 1,969,135 msg/sec pthread_spinlock,15,i: 1,934,298 msg/sec pthread_spinlock,16,s: 1,797,114 msg/sec pthread_spinlock,16,i: 1,599,867 msg/sec tbb::spin_mutex, 1,s: 37,677,331 msg/sec tbb::spin_mutex, 1,i: 38,103,052 msg/sec tbb::spin_mutex, 2,s: 16,460,794 msg/sec tbb::spin_mutex, 2,i: 16,011,855 msg/sec tbb::spin_mutex, 3,s: 12,061,238 msg/sec tbb::spin_mutex, 3,i: 11,876,806 msg/sec tbb::spin_mutex, 4,s: 10,287,536 msg/sec tbb::spin_mutex, 4,i: 9,960,057 msg/sec tbb::spin_mutex, 5,s: 5,991,696 msg/sec tbb::spin_mutex, 5,i: 5,503,467 msg/sec tbb::spin_mutex, 6,s: 5,106,588 msg/sec tbb::spin_mutex, 6,i: 4,841,127 msg/sec tbb::spin_mutex, 7,s: 4,372,897 msg/sec tbb::spin_mutex, 7,i: 4,738,288 msg/sec tbb::spin_mutex, 8,s: 4,287,664 msg/sec tbb::spin_mutex, 8,i: 4,053,736 msg/sec tbb::spin_mutex, 9,s: 4,445,965 msg/sec tbb::spin_mutex, 9,i: 4,367,360 msg/sec tbb::spin_mutex,10,s: 4,440,587 msg/sec tbb::spin_mutex,10,i: 4,284,120 msg/sec tbb::spin_mutex,11,s: 4,285,093 msg/sec tbb::spin_mutex,11,i: 4,032,780 msg/sec tbb::spin_mutex,12,s: 3,724,182 msg/sec tbb::spin_mutex,12,i: 3,625,100 msg/sec tbb::spin_mutex,13,s: 3,543,941 msg/sec tbb::spin_mutex,13,i: 3,260,416 msg/sec tbb::spin_mutex,14,s: 3,577,042 msg/sec tbb::spin_mutex,14,i: 3,164,606 msg/sec tbb::spin_mutex,15,s: 3,189,549 msg/sec tbb::spin_mutex,15,i: 2,992,937 msg/sec tbb::spin_mutex,16,s: 2,890,082 msg/sec tbb::spin_mutex,16,i: 3,012,768 msg/sec Elapsed time 6:16.73, user 5656.54s, system 603.10s, CPU 1661%, RSS 95736kB, exit-status 0. 2026-09-14 15:07:32 [28/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000301 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 114,623,346 msg/sec boost::lockfree::spsc_queue, 1,i: 112,860,927 msg/sec AtomicQueue, 1,s: 145,935,580 msg/sec AtomicQueue, 1,i: 143,911,483 msg/sec AtomicQueue, 2,s: 9,884,821 msg/sec AtomicQueue, 2,i: 10,347,669 msg/sec AtomicQueue, 3,s: 8,352,517 msg/sec AtomicQueue, 3,i: 8,811,322 msg/sec AtomicQueue, 4,s: 6,608,771 msg/sec AtomicQueue, 4,i: 7,021,230 msg/sec AtomicQueue, 5,s: 3,171,619 msg/sec AtomicQueue, 5,i: 4,321,153 msg/sec AtomicQueue, 6,s: 2,598,014 msg/sec AtomicQueue, 6,i: 4,033,125 msg/sec AtomicQueue, 7,s: 2,967,523 msg/sec AtomicQueue, 7,i: 3,214,683 msg/sec AtomicQueue, 8,s: 3,118,174 msg/sec AtomicQueue, 8,i: 2,893,001 msg/sec AtomicQueue, 9,s: 2,757,038 msg/sec AtomicQueue, 9,i: 2,977,524 msg/sec AtomicQueue,10,s: 2,799,193 msg/sec AtomicQueue,10,i: 2,975,700 msg/sec AtomicQueue,11,s: 2,793,871 msg/sec AtomicQueue,11,i: 2,950,890 msg/sec AtomicQueue,12,s: 2,663,194 msg/sec AtomicQueue,12,i: 2,869,213 msg/sec AtomicQueue,13,s: 2,538,724 msg/sec AtomicQueue,13,i: 2,838,365 msg/sec AtomicQueue,14,s: 2,368,398 msg/sec AtomicQueue,14,i: 2,764,171 msg/sec AtomicQueue,15,s: 2,366,337 msg/sec AtomicQueue,15,i: 2,763,582 msg/sec AtomicQueue,16,s: 2,259,733 msg/sec AtomicQueue,16,i: 2,739,657 msg/sec OptimistAtomicQueue, 1,s: 1,217,408,382 msg/sec OptimistAtomicQueue, 1,i: 1,194,177,284 msg/sec OptimistAtomicQueue, 2,s: 58,655,142 msg/sec OptimistAtomicQueue, 2,i: 52,512,933 msg/sec OptimistAtomicQueue, 3,s: 58,567,902 msg/sec OptimistAtomicQueue, 3,i: 59,813,659 msg/sec OptimistAtomicQueue, 4,s: 59,297,249 msg/sec OptimistAtomicQueue, 4,i: 66,147,420 msg/sec OptimistAtomicQueue, 5,s: 33,302,283 msg/sec OptimistAtomicQueue, 5,i: 40,801,746 msg/sec OptimistAtomicQueue, 6,s: 34,523,743 msg/sec OptimistAtomicQueue, 6,i: 35,158,964 msg/sec OptimistAtomicQueue, 7,s: 40,034,859 msg/sec OptimistAtomicQueue, 7,i: 40,151,831 msg/sec OptimistAtomicQueue, 8,s: 50,502,330 msg/sec OptimistAtomicQueue, 8,i: 41,258,308 msg/sec OptimistAtomicQueue, 9,s: 40,780,309 msg/sec OptimistAtomicQueue, 9,i: 44,755,772 msg/sec OptimistAtomicQueue,10,s: 39,903,959 msg/sec OptimistAtomicQueue,10,i: 46,055,712 msg/sec OptimistAtomicQueue,11,s: 44,178,644 msg/sec OptimistAtomicQueue,11,i: 52,900,753 msg/sec OptimistAtomicQueue,12,s: 43,355,093 msg/sec OptimistAtomicQueue,12,i: 56,819,320 msg/sec OptimistAtomicQueue,13,s: 43,314,686 msg/sec OptimistAtomicQueue,13,i: 57,024,898 msg/sec OptimistAtomicQueue,14,s: 43,281,882 msg/sec OptimistAtomicQueue,14,i: 57,561,343 msg/sec OptimistAtomicQueue,15,s: 45,875,301 msg/sec OptimistAtomicQueue,15,i: 60,865,500 msg/sec OptimistAtomicQueue,16,s: 45,831,215 msg/sec OptimistAtomicQueue,16,i: 64,718,140 msg/sec AtomicQueueB, 1,s: 49,804,718 msg/sec AtomicQueueB, 1,i: 50,471,387 msg/sec AtomicQueueB, 2,s: 9,542,820 msg/sec AtomicQueueB, 2,i: 9,900,673 msg/sec AtomicQueueB, 3,s: 8,193,135 msg/sec AtomicQueueB, 3,i: 8,632,123 msg/sec AtomicQueueB, 4,s: 6,541,952 msg/sec AtomicQueueB, 4,i: 6,895,010 msg/sec AtomicQueueB, 5,s: 3,116,090 msg/sec AtomicQueueB, 5,i: 4,322,127 msg/sec AtomicQueueB, 6,s: 2,568,040 msg/sec AtomicQueueB, 6,i: 3,498,083 msg/sec AtomicQueueB, 7,s: 2,919,839 msg/sec AtomicQueueB, 7,i: 3,211,165 msg/sec AtomicQueueB, 8,s: 3,063,093 msg/sec AtomicQueueB, 8,i: 2,865,689 msg/sec AtomicQueueB, 9,s: 2,862,047 msg/sec AtomicQueueB, 9,i: 2,867,576 msg/sec AtomicQueueB,10,s: 2,787,138 msg/sec AtomicQueueB,10,i: 2,863,373 msg/sec AtomicQueueB,11,s: 2,740,414 msg/sec AtomicQueueB,11,i: 2,897,209 msg/sec AtomicQueueB,12,s: 2,662,712 msg/sec AtomicQueueB,12,i: 2,849,525 msg/sec AtomicQueueB,13,s: 2,523,796 msg/sec AtomicQueueB,13,i: 2,823,620 msg/sec AtomicQueueB,14,s: 2,386,963 msg/sec AtomicQueueB,14,i: 2,726,665 msg/sec AtomicQueueB,15,s: 2,376,611 msg/sec AtomicQueueB,15,i: 2,831,152 msg/sec AtomicQueueB,16,s: 2,275,178 msg/sec AtomicQueueB,16,i: 2,732,927 msg/sec OptimistAtomicQueueB, 1,s: 896,267,099 msg/sec OptimistAtomicQueueB, 1,i: 862,613,595 msg/sec OptimistAtomicQueueB, 2,s: 50,878,388 msg/sec OptimistAtomicQueueB, 2,i: 49,140,360 msg/sec OptimistAtomicQueueB, 3,s: 58,556,551 msg/sec OptimistAtomicQueueB, 3,i: 57,459,083 msg/sec OptimistAtomicQueueB, 4,s: 59,558,868 msg/sec OptimistAtomicQueueB, 4,i: 66,104,089 msg/sec OptimistAtomicQueueB, 5,s: 33,021,703 msg/sec OptimistAtomicQueueB, 5,i: 36,309,633 msg/sec OptimistAtomicQueueB, 6,s: 34,304,768 msg/sec OptimistAtomicQueueB, 6,i: 34,917,783 msg/sec OptimistAtomicQueueB, 7,s: 39,134,390 msg/sec OptimistAtomicQueueB, 7,i: 39,927,922 msg/sec OptimistAtomicQueueB, 8,s: 51,517,400 msg/sec OptimistAtomicQueueB, 8,i: 41,210,599 msg/sec OptimistAtomicQueueB, 9,s: 40,577,311 msg/sec OptimistAtomicQueueB, 9,i: 44,877,907 msg/sec OptimistAtomicQueueB,10,s: 40,024,524 msg/sec OptimistAtomicQueueB,10,i: 46,210,432 msg/sec OptimistAtomicQueueB,11,s: 44,305,515 msg/sec OptimistAtomicQueueB,11,i: 52,301,489 msg/sec OptimistAtomicQueueB,12,s: 43,809,135 msg/sec OptimistAtomicQueueB,12,i: 57,168,497 msg/sec OptimistAtomicQueueB,13,s: 43,700,132 msg/sec OptimistAtomicQueueB,13,i: 56,456,882 msg/sec OptimistAtomicQueueB,14,s: 43,403,215 msg/sec OptimistAtomicQueueB,14,i: 56,668,522 msg/sec OptimistAtomicQueueB,15,s: 46,200,095 msg/sec OptimistAtomicQueueB,15,i: 60,828,403 msg/sec OptimistAtomicQueueB,16,s: 46,132,580 msg/sec OptimistAtomicQueueB,16,i: 64,691,848 msg/sec AtomicQueue2, 1,s: 132,686,717 msg/sec AtomicQueue2, 1,i: 117,484,900 msg/sec AtomicQueue2, 2,s: 9,934,275 msg/sec AtomicQueue2, 2,i: 10,515,512 msg/sec AtomicQueue2, 3,s: 8,415,193 msg/sec AtomicQueue2, 3,i: 8,920,713 msg/sec AtomicQueue2, 4,s: 6,683,676 msg/sec AtomicQueue2, 4,i: 7,081,534 msg/sec AtomicQueue2, 5,s: 3,131,818 msg/sec AtomicQueue2, 5,i: 4,287,119 msg/sec AtomicQueue2, 6,s: 2,569,082 msg/sec AtomicQueue2, 6,i: 3,494,018 msg/sec AtomicQueue2, 7,s: 2,897,561 msg/sec AtomicQueue2, 7,i: 3,209,058 msg/sec AtomicQueue2, 8,s: 3,015,321 msg/sec AtomicQueue2, 8,i: 2,912,997 msg/sec AtomicQueue2, 9,s: 2,756,078 msg/sec AtomicQueue2, 9,i: 2,916,752 msg/sec AtomicQueue2,10,s: 2,759,871 msg/sec AtomicQueue2,10,i: 2,913,941 msg/sec AtomicQueue2,11,s: 2,743,301 msg/sec AtomicQueue2,11,i: 2,925,102 msg/sec AtomicQueue2,12,s: 2,703,289 msg/sec AtomicQueue2,12,i: 2,850,454 msg/sec AtomicQueue2,13,s: 2,542,445 msg/sec AtomicQueue2,13,i: 2,801,715 msg/sec AtomicQueue2,14,s: 2,394,225 msg/sec AtomicQueue2,14,i: 2,760,974 msg/sec AtomicQueue2,15,s: 2,389,123 msg/sec AtomicQueue2,15,i: 2,748,686 msg/sec AtomicQueue2,16,s: 2,285,563 msg/sec AtomicQueue2,16,i: 2,708,756 msg/sec OptimistAtomicQueue2, 1,s: 107,439,891 msg/sec OptimistAtomicQueue2, 1,i: 107,220,216 msg/sec OptimistAtomicQueue2, 2,s: 43,455,632 msg/sec OptimistAtomicQueue2, 2,i: 48,376,292 msg/sec OptimistAtomicQueue2, 3,s: 55,635,913 msg/sec OptimistAtomicQueue2, 3,i: 50,010,099 msg/sec OptimistAtomicQueue2, 4,s: 59,164,674 msg/sec OptimistAtomicQueue2, 4,i: 57,817,415 msg/sec OptimistAtomicQueue2, 5,s: 31,481,336 msg/sec OptimistAtomicQueue2, 5,i: 32,709,181 msg/sec OptimistAtomicQueue2, 6,s: 32,863,539 msg/sec OptimistAtomicQueue2, 6,i: 32,599,283 msg/sec OptimistAtomicQueue2, 7,s: 37,758,460 msg/sec OptimistAtomicQueue2, 7,i: 37,712,894 msg/sec OptimistAtomicQueue2, 8,s: 49,111,666 msg/sec OptimistAtomicQueue2, 8,i: 39,862,015 msg/sec OptimistAtomicQueue2, 9,s: 37,455,287 msg/sec OptimistAtomicQueue2, 9,i: 42,603,343 msg/sec OptimistAtomicQueue2,10,s: 37,520,925 msg/sec OptimistAtomicQueue2,10,i: 44,144,815 msg/sec OptimistAtomicQueue2,11,s: 42,857,526 msg/sec OptimistAtomicQueue2,11,i: 48,432,209 msg/sec OptimistAtomicQueue2,12,s: 42,092,740 msg/sec OptimistAtomicQueue2,12,i: 50,549,194 msg/sec OptimistAtomicQueue2,13,s: 41,049,611 msg/sec OptimistAtomicQueue2,13,i: 53,142,535 msg/sec OptimistAtomicQueue2,14,s: 40,861,726 msg/sec OptimistAtomicQueue2,14,i: 53,348,972 msg/sec OptimistAtomicQueue2,15,s: 43,047,422 msg/sec OptimistAtomicQueue2,15,i: 56,372,310 msg/sec OptimistAtomicQueue2,16,s: 43,324,825 msg/sec OptimistAtomicQueue2,16,i: 59,013,809 msg/sec AtomicQueueB2, 1,s: 75,024,115 msg/sec AtomicQueueB2, 1,i: 74,198,434 msg/sec AtomicQueueB2, 2,s: 9,829,597 msg/sec AtomicQueueB2, 2,i: 10,412,152 msg/sec AtomicQueueB2, 3,s: 8,316,113 msg/sec AtomicQueueB2, 3,i: 8,794,581 msg/sec AtomicQueueB2, 4,s: 6,608,510 msg/sec AtomicQueueB2, 4,i: 6,952,930 msg/sec AtomicQueueB2, 5,s: 3,092,704 msg/sec AtomicQueueB2, 5,i: 4,320,928 msg/sec AtomicQueueB2, 6,s: 2,549,353 msg/sec AtomicQueueB2, 6,i: 3,965,841 msg/sec AtomicQueueB2, 7,s: 2,889,166 msg/sec AtomicQueueB2, 7,i: 3,245,389 msg/sec AtomicQueueB2, 8,s: 3,004,706 msg/sec AtomicQueueB2, 8,i: 2,835,439 msg/sec AtomicQueueB2, 9,s: 2,755,504 msg/sec AtomicQueueB2, 9,i: 2,887,609 msg/sec AtomicQueueB2,10,s: 2,759,490 msg/sec AtomicQueueB2,10,i: 2,867,139 msg/sec AtomicQueueB2,11,s: 2,797,828 msg/sec AtomicQueueB2,11,i: 2,928,516 msg/sec AtomicQueueB2,12,s: 2,758,267 msg/sec AtomicQueueB2,12,i: 2,852,879 msg/sec AtomicQueueB2,13,s: 2,645,074 msg/sec AtomicQueueB2,13,i: 2,839,128 msg/sec AtomicQueueB2,14,s: 2,472,991 msg/sec AtomicQueueB2,14,i: 2,755,651 msg/sec AtomicQueueB2,15,s: 2,427,385 msg/sec AtomicQueueB2,15,i: 2,746,414 msg/sec AtomicQueueB2,16,s: 2,305,133 msg/sec AtomicQueueB2,16,i: 2,744,041 msg/sec OptimistAtomicQueueB2, 1,s: 152,570,503 msg/sec OptimistAtomicQueueB2, 1,i: 152,345,513 msg/sec OptimistAtomicQueueB2, 2,s: 41,904,416 msg/sec OptimistAtomicQueueB2, 2,i: 45,684,132 msg/sec OptimistAtomicQueueB2, 3,s: 56,796,584 msg/sec OptimistAtomicQueueB2, 3,i: 53,054,210 msg/sec OptimistAtomicQueueB2, 4,s: 58,865,375 msg/sec OptimistAtomicQueueB2, 4,i: 59,934,023 msg/sec OptimistAtomicQueueB2, 5,s: 31,394,818 msg/sec OptimistAtomicQueueB2, 5,i: 31,309,118 msg/sec OptimistAtomicQueueB2, 6,s: 32,951,023 msg/sec OptimistAtomicQueueB2, 6,i: 32,311,636 msg/sec OptimistAtomicQueueB2, 7,s: 37,016,180 msg/sec OptimistAtomicQueueB2, 7,i: 37,008,304 msg/sec OptimistAtomicQueueB2, 8,s: 47,913,150 msg/sec OptimistAtomicQueueB2, 8,i: 39,003,061 msg/sec OptimistAtomicQueueB2, 9,s: 37,042,978 msg/sec OptimistAtomicQueueB2, 9,i: 41,617,495 msg/sec OptimistAtomicQueueB2,10,s: 37,299,305 msg/sec OptimistAtomicQueueB2,10,i: 43,195,288 msg/sec OptimistAtomicQueueB2,11,s: 42,572,523 msg/sec OptimistAtomicQueueB2,11,i: 47,354,766 msg/sec OptimistAtomicQueueB2,12,s: 41,633,608 msg/sec OptimistAtomicQueueB2,12,i: 51,320,977 msg/sec OptimistAtomicQueueB2,13,s: 40,890,943 msg/sec OptimistAtomicQueueB2,13,i: 52,364,911 msg/sec OptimistAtomicQueueB2,14,s: 40,950,945 msg/sec OptimistAtomicQueueB2,14,i: 52,587,282 msg/sec OptimistAtomicQueueB2,15,s: 43,050,610 msg/sec OptimistAtomicQueueB2,15,i: 56,561,414 msg/sec OptimistAtomicQueueB2,16,s: 43,218,194 msg/sec OptimistAtomicQueueB2,16,i: 59,285,332 msg/sec moodycamel::ReaderWriterQueue, 1,s: 259,973,728 msg/sec moodycamel::ReaderWriterQueue, 1,i: 348,433,293 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,942,030 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,150,385 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,444,708 msg/sec moodycamel::ConcurrentQueue, 2,i: 35,824,163 msg/sec moodycamel::ConcurrentQueue, 3,s: 58,414,602 msg/sec moodycamel::ConcurrentQueue, 3,i: 53,037,721 msg/sec moodycamel::ConcurrentQueue, 4,s: 101,806,293 msg/sec moodycamel::ConcurrentQueue, 4,i: 79,886,304 msg/sec moodycamel::ConcurrentQueue, 5,s: 116,162,644 msg/sec moodycamel::ConcurrentQueue, 5,i: 188,644,653 msg/sec moodycamel::ConcurrentQueue, 6,s: 196,114,296 msg/sec moodycamel::ConcurrentQueue, 6,i: 222,947,758 msg/sec moodycamel::ConcurrentQueue, 7,s: 222,902,932 msg/sec moodycamel::ConcurrentQueue, 7,i: 229,456,629 msg/sec moodycamel::ConcurrentQueue, 8,s: 281,312,099 msg/sec moodycamel::ConcurrentQueue, 8,i: 223,304,262 msg/sec moodycamel::ConcurrentQueue, 9,s: 239,057,750 msg/sec moodycamel::ConcurrentQueue, 9,i: 278,467,687 msg/sec moodycamel::ConcurrentQueue,10,s: 259,812,977 msg/sec moodycamel::ConcurrentQueue,10,i: 235,358,840 msg/sec moodycamel::ConcurrentQueue,11,s: 255,054,463 msg/sec moodycamel::ConcurrentQueue,11,i: 259,051,013 msg/sec moodycamel::ConcurrentQueue,12,s: 183,475,664 msg/sec moodycamel::ConcurrentQueue,12,i: 221,243,953 msg/sec moodycamel::ConcurrentQueue,13,s: 208,979,041 msg/sec moodycamel::ConcurrentQueue,13,i: 331,781,743 msg/sec moodycamel::ConcurrentQueue,14,s: 340,706,172 msg/sec moodycamel::ConcurrentQueue,14,i: 325,731,223 msg/sec moodycamel::ConcurrentQueue,15,s: 455,828,460 msg/sec moodycamel::ConcurrentQueue,15,i: 429,366,380 msg/sec moodycamel::ConcurrentQueue,16,s: 526,929,531 msg/sec moodycamel::ConcurrentQueue,16,i: 483,944,590 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,777,451 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,824,069 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,135,337 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,138,198 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,962,289 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,068,857 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,420,593 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,619,507 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,068,784 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,109,707 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,789,350 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,437,560 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,655,583 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,160,238 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,779,716 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,795,330 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,640,389 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,855,986 msg/sec tbb::concurrent_bounded_queue,10,s: 2,751,919 msg/sec tbb::concurrent_bounded_queue,10,i: 2,982,931 msg/sec tbb::concurrent_bounded_queue,11,s: 2,656,814 msg/sec tbb::concurrent_bounded_queue,11,i: 2,868,193 msg/sec tbb::concurrent_bounded_queue,12,s: 2,563,407 msg/sec tbb::concurrent_bounded_queue,12,i: 2,786,770 msg/sec tbb::concurrent_bounded_queue,13,s: 2,482,522 msg/sec tbb::concurrent_bounded_queue,13,i: 2,778,493 msg/sec tbb::concurrent_bounded_queue,14,s: 2,384,340 msg/sec tbb::concurrent_bounded_queue,14,i: 2,714,877 msg/sec tbb::concurrent_bounded_queue,15,s: 2,344,140 msg/sec tbb::concurrent_bounded_queue,15,i: 2,668,925 msg/sec tbb::concurrent_bounded_queue,16,s: 2,263,073 msg/sec tbb::concurrent_bounded_queue,16,i: 2,524,922 msg/sec xenium::michael_scott_queue, 1,s: 13,378,084 msg/sec xenium::michael_scott_queue, 1,i: 13,680,325 msg/sec xenium::michael_scott_queue, 2,s: 9,430,819 msg/sec xenium::michael_scott_queue, 2,i: 9,200,582 msg/sec xenium::michael_scott_queue, 3,s: 7,638,871 msg/sec xenium::michael_scott_queue, 3,i: 7,536,449 msg/sec xenium::michael_scott_queue, 4,s: 5,870,625 msg/sec xenium::michael_scott_queue, 4,i: 5,843,675 msg/sec xenium::michael_scott_queue, 5,s: 3,674,844 msg/sec xenium::michael_scott_queue, 5,i: 4,635,394 msg/sec xenium::michael_scott_queue, 6,s: 3,335,265 msg/sec xenium::michael_scott_queue, 6,i: 3,605,515 msg/sec xenium::michael_scott_queue, 7,s: 3,163,332 msg/sec xenium::michael_scott_queue, 7,i: 3,323,030 msg/sec xenium::michael_scott_queue, 8,s: 2,356,546 msg/sec xenium::michael_scott_queue, 8,i: 2,789,785 msg/sec xenium::michael_scott_queue, 9,s: 2,876,351 msg/sec xenium::michael_scott_queue, 9,i: 2,875,363 msg/sec xenium::michael_scott_queue,10,s: 2,819,727 msg/sec xenium::michael_scott_queue,10,i: 2,872,739 msg/sec xenium::michael_scott_queue,11,s: 2,732,006 msg/sec xenium::michael_scott_queue,11,i: 2,810,696 msg/sec xenium::michael_scott_queue,12,s: 2,599,098 msg/sec xenium::michael_scott_queue,12,i: 2,718,710 msg/sec xenium::michael_scott_queue,13,s: 2,526,616 msg/sec xenium::michael_scott_queue,13,i: 2,643,954 msg/sec xenium::michael_scott_queue,14,s: 2,409,333 msg/sec xenium::michael_scott_queue,14,i: 2,637,054 msg/sec xenium::michael_scott_queue,15,s: 2,319,601 msg/sec xenium::michael_scott_queue,15,i: 2,589,013 msg/sec xenium::michael_scott_queue,16,s: 2,211,209 msg/sec xenium::michael_scott_queue,16,i: 2,497,506 msg/sec xenium::ramalhete_queue, 1,s: 71,910,053 msg/sec xenium::ramalhete_queue, 1,i: 68,440,640 msg/sec xenium::ramalhete_queue, 2,s: 49,339,654 msg/sec xenium::ramalhete_queue, 2,i: 41,929,119 msg/sec xenium::ramalhete_queue, 3,s: 43,903,055 msg/sec xenium::ramalhete_queue, 3,i: 40,621,570 msg/sec xenium::ramalhete_queue, 4,s: 52,675,550 msg/sec xenium::ramalhete_queue, 4,i: 46,040,361 msg/sec xenium::ramalhete_queue, 5,s: 37,575,555 msg/sec xenium::ramalhete_queue, 5,i: 23,683,337 msg/sec xenium::ramalhete_queue, 6,s: 38,868,900 msg/sec xenium::ramalhete_queue, 6,i: 26,614,633 msg/sec xenium::ramalhete_queue, 7,s: 40,684,549 msg/sec xenium::ramalhete_queue, 7,i: 28,473,895 msg/sec xenium::ramalhete_queue, 8,s: 50,488,230 msg/sec xenium::ramalhete_queue, 8,i: 30,095,226 msg/sec xenium::ramalhete_queue, 9,s: 32,960,908 msg/sec xenium::ramalhete_queue, 9,i: 36,011,299 msg/sec xenium::ramalhete_queue,10,s: 34,781,838 msg/sec xenium::ramalhete_queue,10,i: 40,285,793 msg/sec xenium::ramalhete_queue,11,s: 37,159,237 msg/sec xenium::ramalhete_queue,11,i: 40,546,248 msg/sec xenium::ramalhete_queue,12,s: 39,637,675 msg/sec xenium::ramalhete_queue,12,i: 43,753,339 msg/sec xenium::ramalhete_queue,13,s: 39,588,797 msg/sec xenium::ramalhete_queue,13,i: 42,567,063 msg/sec xenium::ramalhete_queue,14,s: 39,934,459 msg/sec xenium::ramalhete_queue,14,i: 42,875,123 msg/sec xenium::ramalhete_queue,15,s: 39,679,470 msg/sec xenium::ramalhete_queue,15,i: 43,845,921 msg/sec xenium::ramalhete_queue,16,s: 39,366,421 msg/sec xenium::ramalhete_queue,16,i: 44,488,732 msg/sec xenium::vyukov_bounded_queue, 1,s: 308,635,358 msg/sec xenium::vyukov_bounded_queue, 1,i: 304,597,757 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,467,353 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,471,972 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,684,836 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,181,338 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,109,661 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,544,513 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,109,414 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,511,575 msg/sec xenium::vyukov_bounded_queue, 6,s: 6,983,030 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,918,120 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,231,138 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,454,171 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,279,082 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,551,294 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,118,834 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,662,021 msg/sec xenium::vyukov_bounded_queue,10,s: 7,673,922 msg/sec xenium::vyukov_bounded_queue,10,i: 6,822,044 msg/sec xenium::vyukov_bounded_queue,11,s: 7,693,545 msg/sec xenium::vyukov_bounded_queue,11,i: 7,303,263 msg/sec xenium::vyukov_bounded_queue,12,s: 7,493,399 msg/sec xenium::vyukov_bounded_queue,12,i: 7,547,431 msg/sec xenium::vyukov_bounded_queue,13,s: 7,008,747 msg/sec xenium::vyukov_bounded_queue,13,i: 7,289,422 msg/sec xenium::vyukov_bounded_queue,14,s: 7,093,801 msg/sec xenium::vyukov_bounded_queue,14,i: 7,489,835 msg/sec xenium::vyukov_bounded_queue,15,s: 7,088,461 msg/sec xenium::vyukov_bounded_queue,15,i: 7,281,028 msg/sec xenium::vyukov_bounded_queue,16,s: 6,883,621 msg/sec xenium::vyukov_bounded_queue,16,i: 7,061,025 msg/sec boost::lockfree::queue, 1,s: 7,826,984 msg/sec boost::lockfree::queue, 1,i: 7,829,107 msg/sec boost::lockfree::queue, 2,s: 5,907,268 msg/sec boost::lockfree::queue, 2,i: 5,902,972 msg/sec boost::lockfree::queue, 3,s: 4,927,809 msg/sec boost::lockfree::queue, 3,i: 4,807,214 msg/sec boost::lockfree::queue, 4,s: 4,369,698 msg/sec boost::lockfree::queue, 4,i: 4,347,901 msg/sec boost::lockfree::queue, 5,s: 2,649,972 msg/sec boost::lockfree::queue, 5,i: 2,908,473 msg/sec boost::lockfree::queue, 6,s: 1,429,363 msg/sec boost::lockfree::queue, 6,i: 2,989,170 msg/sec boost::lockfree::queue, 7,s: 1,376,286 msg/sec boost::lockfree::queue, 7,i: 2,853,681 msg/sec boost::lockfree::queue, 8,s: 1,153,294 msg/sec boost::lockfree::queue, 8,i: 1,860,387 msg/sec boost::lockfree::queue, 9,s: 1,433,795 msg/sec boost::lockfree::queue, 9,i: 1,888,759 msg/sec boost::lockfree::queue,10,s: 1,589,178 msg/sec boost::lockfree::queue,10,i: 1,937,997 msg/sec boost::lockfree::queue,11,s: 1,689,013 msg/sec boost::lockfree::queue,11,i: 1,854,712 msg/sec boost::lockfree::queue,12,s: 1,759,566 msg/sec boost::lockfree::queue,12,i: 1,719,728 msg/sec boost::lockfree::queue,13,s: 1,630,406 msg/sec boost::lockfree::queue,13,i: 1,698,287 msg/sec boost::lockfree::queue,14,s: 1,543,425 msg/sec boost::lockfree::queue,14,i: 1,672,795 msg/sec boost::lockfree::queue,15,s: 1,579,324 msg/sec boost::lockfree::queue,15,i: 1,573,829 msg/sec boost::lockfree::queue,16,s: 1,519,602 msg/sec boost::lockfree::queue,16,i: 1,496,434 msg/sec std::mutex, 1,s: 4,696,123 msg/sec std::mutex, 1,i: 3,992,719 msg/sec std::mutex, 2,s: 13,713,467 msg/sec std::mutex, 2,i: 12,887,368 msg/sec std::mutex, 3,s: 6,985,731 msg/sec std::mutex, 3,i: 6,868,740 msg/sec std::mutex, 4,s: 7,066,359 msg/sec std::mutex, 4,i: 6,661,448 msg/sec std::mutex, 5,s: 3,357,126 msg/sec std::mutex, 5,i: 3,499,369 msg/sec std::mutex, 6,s: 3,026,068 msg/sec std::mutex, 6,i: 3,048,907 msg/sec std::mutex, 7,s: 3,275,186 msg/sec std::mutex, 7,i: 2,901,735 msg/sec std::mutex, 8,s: 3,368,795 msg/sec std::mutex, 8,i: 2,768,548 msg/sec std::mutex, 9,s: 2,871,774 msg/sec std::mutex, 9,i: 2,690,225 msg/sec std::mutex,10,s: 2,643,651 msg/sec std::mutex,10,i: 2,614,369 msg/sec std::mutex,11,s: 2,718,719 msg/sec std::mutex,11,i: 2,677,613 msg/sec std::mutex,12,s: 2,666,855 msg/sec std::mutex,12,i: 2,620,926 msg/sec std::mutex,13,s: 2,499,080 msg/sec std::mutex,13,i: 2,450,291 msg/sec std::mutex,14,s: 2,415,811 msg/sec std::mutex,14,i: 2,337,164 msg/sec std::mutex,15,s: 2,458,666 msg/sec std::mutex,15,i: 2,378,365 msg/sec std::mutex,16,s: 2,327,812 msg/sec std::mutex,16,i: 2,279,404 msg/sec pthread_spinlock, 1,s: 17,936,296 msg/sec pthread_spinlock, 1,i: 18,077,379 msg/sec pthread_spinlock, 2,s: 7,208,872 msg/sec pthread_spinlock, 2,i: 1,459,379 msg/sec pthread_spinlock, 3,s: 1,015,473 msg/sec pthread_spinlock, 3,i: 5,308,574 msg/sec pthread_spinlock, 4,s: 1,173,065 msg/sec pthread_spinlock, 4,i: 1,228,102 msg/sec pthread_spinlock, 5,s: 2,783,839 msg/sec pthread_spinlock, 5,i: 984,854 msg/sec pthread_spinlock, 6,s: 2,099,474 msg/sec pthread_spinlock, 6,i: 3,003,709 msg/sec pthread_spinlock, 7,s: 2,898,090 msg/sec pthread_spinlock, 7,i: 3,074,818 msg/sec pthread_spinlock, 8,s: 2,946,226 msg/sec pthread_spinlock, 8,i: 2,682,761 msg/sec pthread_spinlock, 9,s: 2,877,878 msg/sec pthread_spinlock, 9,i: 2,236,428 msg/sec pthread_spinlock,10,s: 2,743,104 msg/sec pthread_spinlock,10,i: 2,369,872 msg/sec pthread_spinlock,11,s: 2,545,848 msg/sec pthread_spinlock,11,i: 2,226,982 msg/sec pthread_spinlock,12,s: 2,539,587 msg/sec pthread_spinlock,12,i: 2,479,537 msg/sec pthread_spinlock,13,s: 2,488,692 msg/sec pthread_spinlock,13,i: 2,243,662 msg/sec pthread_spinlock,14,s: 2,224,543 msg/sec pthread_spinlock,14,i: 2,115,153 msg/sec pthread_spinlock,15,s: 2,045,055 msg/sec pthread_spinlock,15,i: 1,896,467 msg/sec pthread_spinlock,16,s: 1,786,513 msg/sec pthread_spinlock,16,i: 1,603,250 msg/sec tbb::spin_mutex, 1,s: 37,843,164 msg/sec tbb::spin_mutex, 1,i: 37,410,528 msg/sec tbb::spin_mutex, 2,s: 16,472,157 msg/sec tbb::spin_mutex, 2,i: 16,063,601 msg/sec tbb::spin_mutex, 3,s: 12,051,247 msg/sec tbb::spin_mutex, 3,i: 11,896,254 msg/sec tbb::spin_mutex, 4,s: 10,493,768 msg/sec tbb::spin_mutex, 4,i: 10,213,248 msg/sec tbb::spin_mutex, 5,s: 5,949,416 msg/sec tbb::spin_mutex, 5,i: 5,634,317 msg/sec tbb::spin_mutex, 6,s: 5,134,817 msg/sec tbb::spin_mutex, 6,i: 4,784,431 msg/sec tbb::spin_mutex, 7,s: 4,395,589 msg/sec tbb::spin_mutex, 7,i: 4,662,887 msg/sec tbb::spin_mutex, 8,s: 4,282,876 msg/sec tbb::spin_mutex, 8,i: 4,049,733 msg/sec tbb::spin_mutex, 9,s: 4,518,120 msg/sec tbb::spin_mutex, 9,i: 4,378,265 msg/sec tbb::spin_mutex,10,s: 4,376,262 msg/sec tbb::spin_mutex,10,i: 4,225,124 msg/sec tbb::spin_mutex,11,s: 4,183,908 msg/sec tbb::spin_mutex,11,i: 4,019,147 msg/sec tbb::spin_mutex,12,s: 3,744,210 msg/sec tbb::spin_mutex,12,i: 3,356,856 msg/sec tbb::spin_mutex,13,s: 3,617,348 msg/sec tbb::spin_mutex,13,i: 3,396,859 msg/sec tbb::spin_mutex,14,s: 3,505,354 msg/sec tbb::spin_mutex,14,i: 3,209,419 msg/sec tbb::spin_mutex,15,s: 3,259,712 msg/sec tbb::spin_mutex,15,i: 3,078,890 msg/sec tbb::spin_mutex,16,s: 2,879,778 msg/sec tbb::spin_mutex,16,i: 3,004,787 msg/sec Elapsed time 6:14.78, user 5637.83s, system 602.00s, CPU 1664%, RSS 96252kB, exit-status 0. 2026-09-14 15:13:47 [29/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000093 sec/round-trip std::mutex: 0.000000323 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,416,875 msg/sec boost::lockfree::spsc_queue, 1,i: 112,998,018 msg/sec AtomicQueue, 1,s: 145,545,831 msg/sec AtomicQueue, 1,i: 145,579,944 msg/sec AtomicQueue, 2,s: 9,883,959 msg/sec AtomicQueue, 2,i: 10,324,177 msg/sec AtomicQueue, 3,s: 8,353,830 msg/sec AtomicQueue, 3,i: 8,819,710 msg/sec AtomicQueue, 4,s: 6,610,224 msg/sec AtomicQueue, 4,i: 7,020,964 msg/sec AtomicQueue, 5,s: 3,166,066 msg/sec AtomicQueue, 5,i: 3,743,762 msg/sec AtomicQueue, 6,s: 2,598,888 msg/sec AtomicQueue, 6,i: 4,012,257 msg/sec AtomicQueue, 7,s: 2,956,415 msg/sec AtomicQueue, 7,i: 3,202,743 msg/sec AtomicQueue, 8,s: 3,120,674 msg/sec AtomicQueue, 8,i: 2,895,617 msg/sec AtomicQueue, 9,s: 2,754,185 msg/sec AtomicQueue, 9,i: 2,945,113 msg/sec AtomicQueue,10,s: 2,800,927 msg/sec AtomicQueue,10,i: 2,903,107 msg/sec AtomicQueue,11,s: 2,800,749 msg/sec AtomicQueue,11,i: 2,945,140 msg/sec AtomicQueue,12,s: 2,671,570 msg/sec AtomicQueue,12,i: 2,869,067 msg/sec AtomicQueue,13,s: 2,531,107 msg/sec AtomicQueue,13,i: 2,833,707 msg/sec AtomicQueue,14,s: 2,364,296 msg/sec AtomicQueue,14,i: 2,777,235 msg/sec AtomicQueue,15,s: 2,360,460 msg/sec AtomicQueue,15,i: 2,746,460 msg/sec AtomicQueue,16,s: 2,258,983 msg/sec AtomicQueue,16,i: 2,732,116 msg/sec OptimistAtomicQueue, 1,s: 1,187,258,627 msg/sec OptimistAtomicQueue, 1,i: 1,194,690,872 msg/sec OptimistAtomicQueue, 2,s: 58,264,803 msg/sec OptimistAtomicQueue, 2,i: 52,461,886 msg/sec OptimistAtomicQueue, 3,s: 58,734,322 msg/sec OptimistAtomicQueue, 3,i: 60,006,861 msg/sec OptimistAtomicQueue, 4,s: 59,259,054 msg/sec OptimistAtomicQueue, 4,i: 65,150,013 msg/sec OptimistAtomicQueue, 5,s: 33,223,211 msg/sec OptimistAtomicQueue, 5,i: 42,154,505 msg/sec OptimistAtomicQueue, 6,s: 34,551,572 msg/sec OptimistAtomicQueue, 6,i: 35,227,157 msg/sec OptimistAtomicQueue, 7,s: 40,119,341 msg/sec OptimistAtomicQueue, 7,i: 40,081,810 msg/sec OptimistAtomicQueue, 8,s: 50,497,688 msg/sec OptimistAtomicQueue, 8,i: 41,197,934 msg/sec OptimistAtomicQueue, 9,s: 41,426,647 msg/sec OptimistAtomicQueue, 9,i: 44,847,658 msg/sec OptimistAtomicQueue,10,s: 39,927,762 msg/sec OptimistAtomicQueue,10,i: 48,023,409 msg/sec OptimistAtomicQueue,11,s: 44,278,600 msg/sec OptimistAtomicQueue,11,i: 53,109,098 msg/sec OptimistAtomicQueue,12,s: 43,380,313 msg/sec OptimistAtomicQueue,12,i: 56,858,410 msg/sec OptimistAtomicQueue,13,s: 43,400,009 msg/sec OptimistAtomicQueue,13,i: 57,002,276 msg/sec OptimistAtomicQueue,14,s: 43,134,455 msg/sec OptimistAtomicQueue,14,i: 56,377,833 msg/sec OptimistAtomicQueue,15,s: 45,896,587 msg/sec OptimistAtomicQueue,15,i: 60,364,186 msg/sec OptimistAtomicQueue,16,s: 45,883,028 msg/sec OptimistAtomicQueue,16,i: 64,595,446 msg/sec AtomicQueueB, 1,s: 49,887,355 msg/sec AtomicQueueB, 1,i: 49,814,245 msg/sec AtomicQueueB, 2,s: 9,538,309 msg/sec AtomicQueueB, 2,i: 10,245,161 msg/sec AtomicQueueB, 3,s: 8,208,782 msg/sec AtomicQueueB, 3,i: 8,659,808 msg/sec AtomicQueueB, 4,s: 6,540,760 msg/sec AtomicQueueB, 4,i: 6,901,657 msg/sec AtomicQueueB, 5,s: 3,109,701 msg/sec AtomicQueueB, 5,i: 4,326,770 msg/sec AtomicQueueB, 6,s: 2,569,327 msg/sec AtomicQueueB, 6,i: 3,517,359 msg/sec AtomicQueueB, 7,s: 2,912,026 msg/sec AtomicQueueB, 7,i: 3,204,495 msg/sec AtomicQueueB, 8,s: 3,057,675 msg/sec AtomicQueueB, 8,i: 2,859,053 msg/sec AtomicQueueB, 9,s: 2,751,905 msg/sec AtomicQueueB, 9,i: 2,895,035 msg/sec AtomicQueueB,10,s: 2,776,665 msg/sec AtomicQueueB,10,i: 2,948,504 msg/sec AtomicQueueB,11,s: 2,736,139 msg/sec AtomicQueueB,11,i: 2,928,852 msg/sec AtomicQueueB,12,s: 2,657,184 msg/sec AtomicQueueB,12,i: 2,851,993 msg/sec AtomicQueueB,13,s: 2,517,517 msg/sec AtomicQueueB,13,i: 2,804,870 msg/sec AtomicQueueB,14,s: 2,382,135 msg/sec AtomicQueueB,14,i: 2,762,541 msg/sec AtomicQueueB,15,s: 2,373,088 msg/sec AtomicQueueB,15,i: 2,759,907 msg/sec AtomicQueueB,16,s: 2,276,405 msg/sec AtomicQueueB,16,i: 2,735,194 msg/sec OptimistAtomicQueueB, 1,s: 515,016,398 msg/sec OptimistAtomicQueueB, 1,i: 515,629,820 msg/sec OptimistAtomicQueueB, 2,s: 49,313,231 msg/sec OptimistAtomicQueueB, 2,i: 49,113,426 msg/sec OptimistAtomicQueueB, 3,s: 58,595,974 msg/sec OptimistAtomicQueueB, 3,i: 58,180,175 msg/sec OptimistAtomicQueueB, 4,s: 59,467,492 msg/sec OptimistAtomicQueueB, 4,i: 65,553,981 msg/sec OptimistAtomicQueueB, 5,s: 33,013,342 msg/sec OptimistAtomicQueueB, 5,i: 45,453,502 msg/sec OptimistAtomicQueueB, 6,s: 34,335,391 msg/sec OptimistAtomicQueueB, 6,i: 34,914,053 msg/sec OptimistAtomicQueueB, 7,s: 39,352,839 msg/sec OptimistAtomicQueueB, 7,i: 40,284,948 msg/sec OptimistAtomicQueueB, 8,s: 51,472,375 msg/sec OptimistAtomicQueueB, 8,i: 41,191,231 msg/sec OptimistAtomicQueueB, 9,s: 40,588,427 msg/sec OptimistAtomicQueueB, 9,i: 45,570,520 msg/sec OptimistAtomicQueueB,10,s: 40,123,800 msg/sec OptimistAtomicQueueB,10,i: 46,998,145 msg/sec OptimistAtomicQueueB,11,s: 44,260,551 msg/sec OptimistAtomicQueueB,11,i: 48,264,729 msg/sec OptimistAtomicQueueB,12,s: 43,870,596 msg/sec OptimistAtomicQueueB,12,i: 57,014,689 msg/sec OptimistAtomicQueueB,13,s: 43,762,992 msg/sec OptimistAtomicQueueB,13,i: 54,592,608 msg/sec OptimistAtomicQueueB,14,s: 43,516,139 msg/sec OptimistAtomicQueueB,14,i: 58,719,141 msg/sec OptimistAtomicQueueB,15,s: 46,257,603 msg/sec OptimistAtomicQueueB,15,i: 60,424,148 msg/sec OptimistAtomicQueueB,16,s: 46,163,459 msg/sec OptimistAtomicQueueB,16,i: 64,781,991 msg/sec AtomicQueue2, 1,s: 133,305,066 msg/sec AtomicQueue2, 1,i: 133,841,731 msg/sec AtomicQueue2, 2,s: 9,936,010 msg/sec AtomicQueue2, 2,i: 10,541,529 msg/sec AtomicQueue2, 3,s: 8,410,010 msg/sec AtomicQueue2, 3,i: 8,920,615 msg/sec AtomicQueue2, 4,s: 6,681,725 msg/sec AtomicQueue2, 4,i: 7,087,067 msg/sec AtomicQueue2, 5,s: 3,115,912 msg/sec AtomicQueue2, 5,i: 4,280,133 msg/sec AtomicQueue2, 6,s: 2,568,720 msg/sec AtomicQueue2, 6,i: 3,972,138 msg/sec AtomicQueue2, 7,s: 2,899,691 msg/sec AtomicQueue2, 7,i: 3,262,102 msg/sec AtomicQueue2, 8,s: 3,024,227 msg/sec AtomicQueue2, 8,i: 2,893,636 msg/sec AtomicQueue2, 9,s: 2,835,588 msg/sec AtomicQueue2, 9,i: 2,932,102 msg/sec AtomicQueue2,10,s: 2,781,439 msg/sec AtomicQueue2,10,i: 2,937,972 msg/sec AtomicQueue2,11,s: 2,740,887 msg/sec AtomicQueue2,11,i: 2,939,329 msg/sec AtomicQueue2,12,s: 2,687,767 msg/sec AtomicQueue2,12,i: 2,840,886 msg/sec AtomicQueue2,13,s: 2,557,713 msg/sec AtomicQueue2,13,i: 2,818,912 msg/sec AtomicQueue2,14,s: 2,390,474 msg/sec AtomicQueue2,14,i: 2,766,709 msg/sec AtomicQueue2,15,s: 2,391,096 msg/sec AtomicQueue2,15,i: 2,748,465 msg/sec AtomicQueue2,16,s: 2,283,592 msg/sec AtomicQueue2,16,i: 2,704,734 msg/sec OptimistAtomicQueue2, 1,s: 107,692,467 msg/sec OptimistAtomicQueue2, 1,i: 106,961,495 msg/sec OptimistAtomicQueue2, 2,s: 43,369,976 msg/sec OptimistAtomicQueue2, 2,i: 46,814,851 msg/sec OptimistAtomicQueue2, 3,s: 57,547,168 msg/sec OptimistAtomicQueue2, 3,i: 50,042,807 msg/sec OptimistAtomicQueue2, 4,s: 59,092,864 msg/sec OptimistAtomicQueue2, 4,i: 57,979,457 msg/sec OptimistAtomicQueue2, 5,s: 31,366,154 msg/sec OptimistAtomicQueue2, 5,i: 32,563,943 msg/sec OptimistAtomicQueue2, 6,s: 32,824,803 msg/sec OptimistAtomicQueue2, 6,i: 32,499,189 msg/sec OptimistAtomicQueue2, 7,s: 37,832,511 msg/sec OptimistAtomicQueue2, 7,i: 37,899,210 msg/sec OptimistAtomicQueue2, 8,s: 49,810,002 msg/sec OptimistAtomicQueue2, 8,i: 39,893,835 msg/sec OptimistAtomicQueue2, 9,s: 37,435,307 msg/sec OptimistAtomicQueue2, 9,i: 42,247,536 msg/sec OptimistAtomicQueue2,10,s: 37,549,524 msg/sec OptimistAtomicQueue2,10,i: 44,074,559 msg/sec OptimistAtomicQueue2,11,s: 43,046,600 msg/sec OptimistAtomicQueue2,11,i: 48,648,993 msg/sec OptimistAtomicQueue2,12,s: 42,078,234 msg/sec OptimistAtomicQueue2,12,i: 53,060,299 msg/sec OptimistAtomicQueue2,13,s: 41,062,269 msg/sec OptimistAtomicQueue2,13,i: 52,936,170 msg/sec OptimistAtomicQueue2,14,s: 40,762,707 msg/sec OptimistAtomicQueue2,14,i: 52,760,268 msg/sec OptimistAtomicQueue2,15,s: 43,238,591 msg/sec OptimistAtomicQueue2,15,i: 56,250,232 msg/sec OptimistAtomicQueue2,16,s: 43,283,121 msg/sec OptimistAtomicQueue2,16,i: 59,124,657 msg/sec AtomicQueueB2, 1,s: 74,500,410 msg/sec AtomicQueueB2, 1,i: 72,890,725 msg/sec AtomicQueueB2, 2,s: 9,840,692 msg/sec AtomicQueueB2, 2,i: 10,410,198 msg/sec AtomicQueueB2, 3,s: 8,324,574 msg/sec AtomicQueueB2, 3,i: 8,852,666 msg/sec AtomicQueueB2, 4,s: 6,604,806 msg/sec AtomicQueueB2, 4,i: 6,968,899 msg/sec AtomicQueueB2, 5,s: 3,072,105 msg/sec AtomicQueueB2, 5,i: 3,659,509 msg/sec AtomicQueueB2, 6,s: 2,549,438 msg/sec AtomicQueueB2, 6,i: 3,457,854 msg/sec AtomicQueueB2, 7,s: 2,896,214 msg/sec AtomicQueueB2, 7,i: 3,179,652 msg/sec AtomicQueueB2, 8,s: 3,014,518 msg/sec AtomicQueueB2, 8,i: 2,840,314 msg/sec AtomicQueueB2, 9,s: 2,787,550 msg/sec AtomicQueueB2, 9,i: 2,882,793 msg/sec AtomicQueueB2,10,s: 2,741,148 msg/sec AtomicQueueB2,10,i: 2,844,882 msg/sec AtomicQueueB2,11,s: 2,819,235 msg/sec AtomicQueueB2,11,i: 2,890,586 msg/sec AtomicQueueB2,12,s: 2,779,523 msg/sec AtomicQueueB2,12,i: 2,853,248 msg/sec AtomicQueueB2,13,s: 2,619,387 msg/sec AtomicQueueB2,13,i: 2,829,009 msg/sec AtomicQueueB2,14,s: 2,462,042 msg/sec AtomicQueueB2,14,i: 2,730,084 msg/sec AtomicQueueB2,15,s: 2,420,020 msg/sec AtomicQueueB2,15,i: 2,747,358 msg/sec AtomicQueueB2,16,s: 2,301,675 msg/sec AtomicQueueB2,16,i: 2,743,092 msg/sec OptimistAtomicQueueB2, 1,s: 152,905,964 msg/sec OptimistAtomicQueueB2, 1,i: 153,780,660 msg/sec OptimistAtomicQueueB2, 2,s: 41,981,291 msg/sec OptimistAtomicQueueB2, 2,i: 45,893,114 msg/sec OptimistAtomicQueueB2, 3,s: 56,951,292 msg/sec OptimistAtomicQueueB2, 3,i: 53,097,309 msg/sec OptimistAtomicQueueB2, 4,s: 58,901,953 msg/sec OptimistAtomicQueueB2, 4,i: 59,766,710 msg/sec OptimistAtomicQueueB2, 5,s: 31,393,803 msg/sec OptimistAtomicQueueB2, 5,i: 32,399,034 msg/sec OptimistAtomicQueueB2, 6,s: 32,965,459 msg/sec OptimistAtomicQueueB2, 6,i: 31,922,546 msg/sec OptimistAtomicQueueB2, 7,s: 37,118,208 msg/sec OptimistAtomicQueueB2, 7,i: 36,845,022 msg/sec OptimistAtomicQueueB2, 8,s: 47,986,769 msg/sec OptimistAtomicQueueB2, 8,i: 38,941,762 msg/sec OptimistAtomicQueueB2, 9,s: 36,942,032 msg/sec OptimistAtomicQueueB2, 9,i: 41,340,797 msg/sec OptimistAtomicQueueB2,10,s: 37,335,581 msg/sec OptimistAtomicQueueB2,10,i: 43,276,921 msg/sec OptimistAtomicQueueB2,11,s: 42,614,521 msg/sec OptimistAtomicQueueB2,11,i: 47,417,523 msg/sec OptimistAtomicQueueB2,12,s: 41,737,187 msg/sec OptimistAtomicQueueB2,12,i: 51,066,613 msg/sec OptimistAtomicQueueB2,13,s: 40,847,400 msg/sec OptimistAtomicQueueB2,13,i: 52,549,077 msg/sec OptimistAtomicQueueB2,14,s: 40,809,883 msg/sec OptimistAtomicQueueB2,14,i: 53,035,402 msg/sec OptimistAtomicQueueB2,15,s: 43,042,068 msg/sec OptimistAtomicQueueB2,15,i: 56,621,396 msg/sec OptimistAtomicQueueB2,16,s: 43,194,990 msg/sec OptimistAtomicQueueB2,16,i: 59,158,409 msg/sec moodycamel::ReaderWriterQueue, 1,s: 294,241,831 msg/sec moodycamel::ReaderWriterQueue, 1,i: 176,986,698 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,111,760 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,215,404 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,919,640 msg/sec moodycamel::ConcurrentQueue, 2,i: 30,848,465 msg/sec moodycamel::ConcurrentQueue, 3,s: 45,048,585 msg/sec moodycamel::ConcurrentQueue, 3,i: 54,590,542 msg/sec moodycamel::ConcurrentQueue, 4,s: 93,288,712 msg/sec moodycamel::ConcurrentQueue, 4,i: 93,164,779 msg/sec moodycamel::ConcurrentQueue, 5,s: 137,429,149 msg/sec moodycamel::ConcurrentQueue, 5,i: 161,799,278 msg/sec moodycamel::ConcurrentQueue, 6,s: 191,641,966 msg/sec moodycamel::ConcurrentQueue, 6,i: 138,425,094 msg/sec moodycamel::ConcurrentQueue, 7,s: 212,422,907 msg/sec moodycamel::ConcurrentQueue, 7,i: 178,322,743 msg/sec moodycamel::ConcurrentQueue, 8,s: 228,187,679 msg/sec moodycamel::ConcurrentQueue, 8,i: 249,017,142 msg/sec moodycamel::ConcurrentQueue, 9,s: 273,192,064 msg/sec moodycamel::ConcurrentQueue, 9,i: 260,149,617 msg/sec moodycamel::ConcurrentQueue,10,s: 288,420,234 msg/sec moodycamel::ConcurrentQueue,10,i: 280,214,846 msg/sec moodycamel::ConcurrentQueue,11,s: 239,248,678 msg/sec moodycamel::ConcurrentQueue,11,i: 216,509,041 msg/sec moodycamel::ConcurrentQueue,12,s: 142,877,790 msg/sec moodycamel::ConcurrentQueue,12,i: 200,722,161 msg/sec moodycamel::ConcurrentQueue,13,s: 279,396,177 msg/sec moodycamel::ConcurrentQueue,13,i: 256,454,034 msg/sec moodycamel::ConcurrentQueue,14,s: 257,898,237 msg/sec moodycamel::ConcurrentQueue,14,i: 314,649,238 msg/sec moodycamel::ConcurrentQueue,15,s: 348,772,863 msg/sec moodycamel::ConcurrentQueue,15,i: 395,465,325 msg/sec moodycamel::ConcurrentQueue,16,s: 465,313,236 msg/sec moodycamel::ConcurrentQueue,16,i: 480,046,439 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,813,894 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,841,805 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,080,680 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,134,953 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,956,583 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,058,598 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,412,807 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,615,903 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,065,528 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,109,957 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,786,795 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,707,098 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,666,581 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,152,631 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,784,049 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,814,019 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,686,510 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,859,188 msg/sec tbb::concurrent_bounded_queue,10,s: 2,769,850 msg/sec tbb::concurrent_bounded_queue,10,i: 2,891,814 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,581 msg/sec tbb::concurrent_bounded_queue,11,i: 2,858,790 msg/sec tbb::concurrent_bounded_queue,12,s: 2,574,347 msg/sec tbb::concurrent_bounded_queue,12,i: 2,774,379 msg/sec tbb::concurrent_bounded_queue,13,s: 2,499,084 msg/sec tbb::concurrent_bounded_queue,13,i: 2,781,905 msg/sec tbb::concurrent_bounded_queue,14,s: 2,385,914 msg/sec tbb::concurrent_bounded_queue,14,i: 2,764,547 msg/sec tbb::concurrent_bounded_queue,15,s: 2,352,828 msg/sec tbb::concurrent_bounded_queue,15,i: 2,672,137 msg/sec tbb::concurrent_bounded_queue,16,s: 2,255,463 msg/sec tbb::concurrent_bounded_queue,16,i: 2,528,302 msg/sec xenium::michael_scott_queue, 1,s: 13,363,701 msg/sec xenium::michael_scott_queue, 1,i: 13,710,379 msg/sec xenium::michael_scott_queue, 2,s: 9,431,450 msg/sec xenium::michael_scott_queue, 2,i: 9,202,645 msg/sec xenium::michael_scott_queue, 3,s: 7,624,652 msg/sec xenium::michael_scott_queue, 3,i: 7,520,919 msg/sec xenium::michael_scott_queue, 4,s: 5,856,939 msg/sec xenium::michael_scott_queue, 4,i: 5,810,158 msg/sec xenium::michael_scott_queue, 5,s: 3,662,198 msg/sec xenium::michael_scott_queue, 5,i: 4,670,471 msg/sec xenium::michael_scott_queue, 6,s: 3,307,297 msg/sec xenium::michael_scott_queue, 6,i: 3,924,977 msg/sec xenium::michael_scott_queue, 7,s: 3,214,098 msg/sec xenium::michael_scott_queue, 7,i: 3,250,327 msg/sec xenium::michael_scott_queue, 8,s: 2,348,923 msg/sec xenium::michael_scott_queue, 8,i: 2,789,288 msg/sec xenium::michael_scott_queue, 9,s: 2,905,829 msg/sec xenium::michael_scott_queue, 9,i: 2,827,018 msg/sec xenium::michael_scott_queue,10,s: 2,797,539 msg/sec xenium::michael_scott_queue,10,i: 2,793,186 msg/sec xenium::michael_scott_queue,11,s: 2,757,274 msg/sec xenium::michael_scott_queue,11,i: 2,858,272 msg/sec xenium::michael_scott_queue,12,s: 2,604,784 msg/sec xenium::michael_scott_queue,12,i: 2,797,794 msg/sec xenium::michael_scott_queue,13,s: 2,552,127 msg/sec xenium::michael_scott_queue,13,i: 2,694,802 msg/sec xenium::michael_scott_queue,14,s: 2,455,624 msg/sec xenium::michael_scott_queue,14,i: 2,667,965 msg/sec xenium::michael_scott_queue,15,s: 2,363,097 msg/sec xenium::michael_scott_queue,15,i: 2,640,115 msg/sec xenium::michael_scott_queue,16,s: 2,254,125 msg/sec xenium::michael_scott_queue,16,i: 2,542,561 msg/sec xenium::ramalhete_queue, 1,s: 74,561,956 msg/sec xenium::ramalhete_queue, 1,i: 67,735,545 msg/sec xenium::ramalhete_queue, 2,s: 38,465,912 msg/sec xenium::ramalhete_queue, 2,i: 34,166,679 msg/sec xenium::ramalhete_queue, 3,s: 40,879,636 msg/sec xenium::ramalhete_queue, 3,i: 43,863,175 msg/sec xenium::ramalhete_queue, 4,s: 48,603,937 msg/sec xenium::ramalhete_queue, 4,i: 49,834,774 msg/sec xenium::ramalhete_queue, 5,s: 37,752,261 msg/sec xenium::ramalhete_queue, 5,i: 23,250,970 msg/sec xenium::ramalhete_queue, 6,s: 39,018,889 msg/sec xenium::ramalhete_queue, 6,i: 25,799,847 msg/sec xenium::ramalhete_queue, 7,s: 40,569,361 msg/sec xenium::ramalhete_queue, 7,i: 28,102,034 msg/sec xenium::ramalhete_queue, 8,s: 50,728,205 msg/sec xenium::ramalhete_queue, 8,i: 28,896,036 msg/sec xenium::ramalhete_queue, 9,s: 32,779,627 msg/sec xenium::ramalhete_queue, 9,i: 34,724,652 msg/sec xenium::ramalhete_queue,10,s: 34,363,769 msg/sec xenium::ramalhete_queue,10,i: 41,756,616 msg/sec xenium::ramalhete_queue,11,s: 36,730,059 msg/sec xenium::ramalhete_queue,11,i: 41,349,375 msg/sec xenium::ramalhete_queue,12,s: 38,794,660 msg/sec xenium::ramalhete_queue,12,i: 41,868,470 msg/sec xenium::ramalhete_queue,13,s: 39,585,224 msg/sec xenium::ramalhete_queue,13,i: 42,724,097 msg/sec xenium::ramalhete_queue,14,s: 39,824,251 msg/sec xenium::ramalhete_queue,14,i: 43,311,744 msg/sec xenium::ramalhete_queue,15,s: 39,880,687 msg/sec xenium::ramalhete_queue,15,i: 43,779,794 msg/sec xenium::ramalhete_queue,16,s: 39,725,187 msg/sec xenium::ramalhete_queue,16,i: 44,566,015 msg/sec xenium::vyukov_bounded_queue, 1,s: 307,134,832 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,068,877 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,639,010 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,324,962 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,539,191 msg/sec xenium::vyukov_bounded_queue, 3,i: 13,839,835 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,499,361 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,596,932 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,924,973 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,417,466 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,069,112 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,416,732 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,240,486 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,521,872 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,254,524 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,542,161 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,109,860 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,717,490 msg/sec xenium::vyukov_bounded_queue,10,s: 7,609,728 msg/sec xenium::vyukov_bounded_queue,10,i: 6,882,626 msg/sec xenium::vyukov_bounded_queue,11,s: 7,322,916 msg/sec xenium::vyukov_bounded_queue,11,i: 7,216,375 msg/sec xenium::vyukov_bounded_queue,12,s: 7,482,251 msg/sec xenium::vyukov_bounded_queue,12,i: 7,586,075 msg/sec xenium::vyukov_bounded_queue,13,s: 7,013,905 msg/sec xenium::vyukov_bounded_queue,13,i: 7,427,463 msg/sec xenium::vyukov_bounded_queue,14,s: 6,971,651 msg/sec xenium::vyukov_bounded_queue,14,i: 7,450,777 msg/sec xenium::vyukov_bounded_queue,15,s: 7,086,797 msg/sec xenium::vyukov_bounded_queue,15,i: 7,269,358 msg/sec xenium::vyukov_bounded_queue,16,s: 6,815,242 msg/sec xenium::vyukov_bounded_queue,16,i: 7,054,849 msg/sec boost::lockfree::queue, 1,s: 7,789,389 msg/sec boost::lockfree::queue, 1,i: 7,782,191 msg/sec boost::lockfree::queue, 2,s: 5,841,737 msg/sec boost::lockfree::queue, 2,i: 5,905,638 msg/sec boost::lockfree::queue, 3,s: 4,944,108 msg/sec boost::lockfree::queue, 3,i: 4,798,476 msg/sec boost::lockfree::queue, 4,s: 4,378,923 msg/sec boost::lockfree::queue, 4,i: 4,347,453 msg/sec boost::lockfree::queue, 5,s: 2,647,826 msg/sec boost::lockfree::queue, 5,i: 2,893,583 msg/sec boost::lockfree::queue, 6,s: 1,441,638 msg/sec boost::lockfree::queue, 6,i: 2,987,982 msg/sec boost::lockfree::queue, 7,s: 1,362,299 msg/sec boost::lockfree::queue, 7,i: 2,842,162 msg/sec boost::lockfree::queue, 8,s: 1,155,950 msg/sec boost::lockfree::queue, 8,i: 1,841,492 msg/sec boost::lockfree::queue, 9,s: 1,425,117 msg/sec boopthread_spinlock: producers: 4: consumer 3 received too few messages: 0.06% of expected. pthread_spinlock: producers: 4: consumer 1 received too few messages: 0.06% of expected. st::lockfree::queue, 9,i: 1,908,265 msg/sec boost::lockfree::queue,10,s: 1,530,950 msg/sec boost::lockfree::queue,10,i: 1,928,514 msg/sec boost::lockfree::queue,11,s: 1,795,433 msg/sec boost::lockfree::queue,11,i: 1,903,740 msg/sec boost::lockfree::queue,12,s: 1,896,160 msg/sec boost::lockfree::queue,12,i: 1,703,901 msg/sec boost::lockfree::queue,13,s: 1,613,973 msg/sec boost::lockfree::queue,13,i: 1,704,776 msg/sec boost::lockfree::queue,14,s: 1,533,819 msg/sec boost::lockfree::queue,14,i: 1,665,279 msg/sec boost::lockfree::queue,15,s: 1,551,665 msg/sec boost::lockfree::queue,15,i: 1,577,422 msg/sec boost::lockfree::queue,16,s: 1,521,283 msg/sec boost::lockfree::queue,16,i: 1,495,493 msg/sec std::mutex, 1,s: 4,755,207 msg/sec std::mutex, 1,i: 5,022,214 msg/sec std::mutex, 2,s: 13,420,852 msg/sec std::mutex, 2,i: 13,288,481 msg/sec std::mutex, 3,s: 7,165,869 msg/sec std::mutex, 3,i: 6,926,903 msg/sec std::mutex, 4,s: 7,084,593 msg/sec std::mutex, 4,i: 6,631,937 msg/sec std::mutex, 5,s: 3,391,258 msg/sec std::mutex, 5,i: 3,513,943 msg/sec std::mutex, 6,s: 3,432,371 msg/sec std::mutex, 6,i: 3,241,902 msg/sec std::mutex, 7,s: 3,294,944 msg/sec std::mutex, 7,i: 2,926,019 msg/sec std::mutex, 8,s: 3,435,621 msg/sec std::mutex, 8,i: 2,793,966 msg/sec std::mutex, 9,s: 2,899,348 msg/sec std::mutex, 9,i: 2,704,097 msg/sec std::mutex,10,s: 2,652,221 msg/sec std::mutex,10,i: 2,710,404 msg/sec std::mutex,11,s: 2,670,809 msg/sec std::mutex,11,i: 2,609,415 msg/sec std::mutex,12,s: 2,671,352 msg/sec std::mutex,12,i: 2,608,500 msg/sec std::mutex,13,s: 2,588,715 msg/sec std::mutex,13,i: 2,427,742 msg/sec std::mutex,14,s: 2,426,463 msg/sec std::mutex,14,i: 2,359,783 msg/sec std::mutex,15,s: 2,423,382 msg/sec std::mutex,15,i: 2,366,727 msg/sec std::mutex,16,s: 2,357,905 msg/sec std::mutex,16,i: 2,309,924 msg/sec pthread_spinlock, 1,s: 17,715,635 msg/sec pthread_spinlock, 1,i: 18,105,303 msg/sec pthread_spinlock, 2,s: 7,712,099 msg/sec pthread_spinlock, 2,i: 2,104,031 msg/sec pthread_spinlock, 3,s: 766,822 msg/sec pthread_spinlock, 3,i: 5,852,394 msg/sec pthread_spinlock, 4,s: 2,816,172 msg/sec pthread_spinlock, 4,i: 1,549,670 msg/sec pthread_spinlock, 5,s: 2,928,597 msg/sec pthread_spinlock, 5,i: 939,226 msg/sec pthread_spinlock, 6,s: 1,958,971 msg/sec pthread_spinlock, 6,i: 3,080,455 msg/sec pthread_spinlock, 7,s: 2,871,889 msg/sec pthread_spinlock, 7,i: 3,066,358 msg/sec pthread_spinlock, 8,s: 3,000,912 msg/sec pthread_spinlock, 8,i: 2,684,923 msg/sec pthread_spinlock, 9,s: 2,686,445 msg/sec pthread_spinlock, 9,i: 2,305,936 msg/sec pthread_spinlock,10,s: 2,733,673 msg/sec pthread_spinlock,10,i: 2,205,903 msg/sec pthread_spinlock,11,s: 2,535,154 msg/sec pthread_spinlock,11,i: 2,738,747 msg/sec pthread_spinlock,12,s: 2,464,022 msg/sec pthread_spinlock,12,i: 2,486,308 msg/sec pthread_spinlock,13,s: 2,471,768 msg/sec pthread_spinlock,13,i: 2,253,642 msg/sec pthread_spinlock,14,s: 2,178,106 msg/sec pthread_spinlock,14,i: 1,926,776 msg/sec pthread_spinlock,15,s: 2,020,152 msg/sec pthread_spinlock,15,i: 1,856,467 msg/sec pthread_spinlock,16,s: 1,767,227 msg/sec pthread_spinlock,16,i: 1,600,893 msg/sec tbb::spin_mutex, 1,s: 37,423,478 msg/sec tbb::spin_mutex, 1,i: 38,317,346 msg/sec tbb::spin_mutex, 2,s: 16,425,821 msg/sec tbb::spin_mutex, 2,i: 15,995,766 msg/sec tbb::spin_mutex, 3,s: 12,024,142 msg/sec tbb::spin_mutex, 3,i: 11,879,305 msg/sec tbb::spin_mutex, 4,s: 10,517,086 msg/sec tbb::spin_mutex, 4,i: 10,150,556 msg/sec tbb::spin_mutex, 5,s: 5,934,858 msg/sec tbb::spin_mutex, 5,i: 5,556,094 msg/sec tbb::spin_mutex, 6,s: 5,120,479 msg/sec tbb::spin_mutex, 6,i: 4,794,729 msg/sec tbb::spin_mutex, 7,s: 4,405,033 msg/sec tbb::spin_mutex, 7,i: 4,611,701 msg/sec tbb::spin_mutex, 8,s: 4,303,862 msg/sec tbb::spin_mutex, 8,i: 4,065,262 msg/sec tbb::spin_mutex, 9,s: 4,455,565 msg/sec tbb::spin_mutex, 9,i: 4,376,321 msg/sec tbb::spin_mutex,10,s: 4,450,208 msg/sec tbb::spin_mutex,10,i: 4,279,123 msg/sec tbb::spin_mutex,11,s: 4,327,365 msg/sec tbb::spin_mutex,11,i: 3,958,043 msg/sec tbb::spin_mutex,12,s: 3,815,323 msg/sec tbb::spin_mutex,12,i: 3,537,786 msg/sec tbb::spin_mutex,13,s: 3,637,074 msg/sec tbb::spin_mutex,13,i: 3,221,703 msg/sec tbb::spin_mutex,14,s: 3,325,736 msg/sec tbb::spin_mutex,14,i: 3,175,121 msg/sec tbb::spin_mutex,15,s: 3,171,002 msg/sec tbb::spin_mutex,15,i: 3,074,909 msg/sec tbb::spin_mutex,16,s: 2,888,931 msg/sec tbb::spin_mutex,16,i: 3,021,236 msg/sec Elapsed time 6:12.43, user 5620.66s, system 600.28s, CPU 1670%, RSS 95460kB, exit-status 0. 2026-09-14 15:19:59 [30/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000301 sec/round-trip pthread_spinlock: 0.000000108 sec/round-trip tbb::spin_mutex: 0.000000096 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 115,980,231 msg/sec boost::lockfree::spsc_queue, 1,i: 112,829,984 msg/sec AtomicQueue, 1,s: 138,082,685 msg/sec AtomicQueue, 1,i: 122,213,810 msg/sec AtomicQueue, 2,s: 9,889,142 msg/sec AtomicQueue, 2,i: 10,345,588 msg/sec AtomicQueue, 3,s: 8,336,308 msg/sec AtomicQueue, 3,i: 8,681,130 msg/sec AtomicQueue, 4,s: 6,604,893 msg/sec AtomicQueue, 4,i: 6,891,773 msg/sec AtomicQueue, 5,s: 3,163,994 msg/sec AtomicQueue, 5,i: 4,294,782 msg/sec AtomicQueue, 6,s: 2,602,042 msg/sec AtomicQueue, 6,i: 3,952,158 msg/sec AtomicQueue, 7,s: 2,989,319 msg/sec AtomicQueue, 7,i: 3,217,257 msg/sec AtomicQueue, 8,s: 3,058,564 msg/sec AtomicQueue, 8,i: 2,892,798 msg/sec AtomicQueue, 9,s: 2,930,013 msg/sec AtomicQueue, 9,i: 2,939,292 msg/sec AtomicQueue,10,s: 2,798,867 msg/sec AtomicQueue,10,i: 2,999,385 msg/sec AtomicQueue,11,s: 2,791,875 msg/sec AtomicQueue,11,i: 2,958,338 msg/sec AtomicQueue,12,s: 2,666,233 msg/sec AtomicQueue,12,i: 2,854,854 msg/sec AtomicQueue,13,s: 2,531,356 msg/sec AtomicQueue,13,i: 2,831,478 msg/sec AtomicQueue,14,s: 2,364,006 msg/sec AtomicQueue,14,i: 2,791,433 msg/sec AtomicQueue,15,s: 2,360,874 msg/sec AtomicQueue,15,i: 2,752,917 msg/sec AtomicQueue,16,s: 2,259,398 msg/sec AtomicQueue,16,i: 2,739,279 msg/sec OptimistAtomicQueue, 1,s: 1,195,533,541 msg/sec OptimistAtomicQueue, 1,i: 1,192,340,548 msg/sec OptimistAtomicQueue, 2,s: 49,225,626 msg/sec OptimistAtomicQueue, 2,i: 52,155,416 msg/sec OptimistAtomicQueue, 3,s: 58,722,216 msg/sec OptimistAtomicQueue, 3,i: 59,003,029 msg/sec OptimistAtomicQueue, 4,s: 59,183,056 msg/sec OptimistAtomicQueue, 4,i: 66,009,709 msg/sec OptimistAtomicQueue, 5,s: 33,116,315 msg/sec OptimistAtomicQueue, 5,i: 43,233,533 msg/sec OptimistAtomicQueue, 6,s: 34,598,455 msg/sec OptimistAtomicQueue, 6,i: 35,188,805 msg/sec OptimistAtomicQueue, 7,s: 40,240,726 msg/sec OptimistAtomicQueue, 7,i: 40,048,888 msg/sec OptimistAtomicQueue, 8,s: 50,580,186 msg/sec OptimistAtomicQueue, 8,i: 41,182,919 msg/sec OptimistAtomicQueue, 9,s: 41,351,464 msg/sec OptimistAtomicQueue, 9,i: 45,464,053 msg/sec OptimistAtomicQueue,10,s: 39,927,619 msg/sec OptimistAtomicQueue,10,i: 47,628,702 msg/sec OptimistAtomicQueue,11,s: 44,248,253 msg/sec OptimistAtomicQueue,11,i: 53,051,651 msg/sec OptimistAtomicQueue,12,s: 43,393,207 msg/sec OptimistAtomicQueue,12,i: 57,576,604 msg/sec OptimistAtomicQueue,13,s: 43,485,518 msg/sec OptimistAtomicQueue,13,i: 56,456,595 msg/sec OptimistAtomicQueue,14,s: 43,310,337 msg/sec OptimistAtomicQueue,14,i: 56,370,523 msg/sec OptimistAtomicQueue,15,s: 45,907,923 msg/sec OptimistAtomicQueue,15,i: 60,643,708 msg/sec OptimistAtomicQueue,16,s: 45,813,809 msg/sec OptimistAtomicQueue,16,i: 64,481,281 msg/sec AtomicQueueB, 1,s: 51,432,480 msg/sec AtomicQueueB, 1,i: 50,152,481 msg/sec AtomicQueueB, 2,s: 9,485,338 msg/sec AtomicQueueB, 2,i: 10,078,355 msg/sec AtomicQueueB, 3,s: 8,204,251 msg/sec AtomicQueueB, 3,i: 8,651,165 msg/sec AtomicQueueB, 4,s: 6,539,851 msg/sec AtomicQueueB, 4,i: 6,899,204 msg/sec AtomicQueueB, 5,s: 3,121,813 msg/sec AtomicQueueB, 5,i: 4,317,139 msg/sec AtomicQueueB, 6,s: 2,575,904 msg/sec AtomicQueueB, 6,i: 3,952,659 msg/sec AtomicQueueB, 7,s: 2,918,551 msg/sec AtomicQueueB, 7,i: 3,172,984 msg/sec AtomicQueueB, 8,s: 3,047,206 msg/sec AtomicQueueB, 8,i: 2,878,646 msg/sec AtomicQueueB, 9,s: 2,748,974 msg/sec AtomicQueueB, 9,i: 2,891,497 msg/sec AtomicQueueB,10,s: 2,781,000 msg/sec AtomicQueueB,10,i: 2,878,041 msg/sec AtomicQueueB,11,s: 2,739,064 msg/sec AtomicQueueB,11,i: 2,864,986 msg/sec AtomicQueueB,12,s: 2,662,077 msg/sec AtomicQueueB,12,i: 2,837,761 msg/sec AtomicQueueB,13,s: 2,516,899 msg/sec AtomicQueueB,13,i: 2,835,783 msg/sec AtomicQueueB,14,s: 2,385,424 msg/sec AtomicQueueB,14,i: 2,760,085 msg/sec AtomicQueueB,15,s: 2,372,059 msg/sec AtomicQueueB,15,i: 2,770,364 msg/sec AtomicQueueB,16,s: 2,276,062 msg/sec AtomicQueueB,16,i: 2,736,270 msg/sec OptimistAtomicQueueB, 1,s: 516,034,254 msg/sec OptimistAtomicQueueB, 1,i: 501,744,991 msg/sec OptimistAtomicQueueB, 2,s: 47,731,821 msg/sec OptimistAtomicQueueB, 2,i: 49,316,392 msg/sec OptimistAtomicQueueB, 3,s: 58,597,347 msg/sec OptimistAtomicQueueB, 3,i: 57,366,132 msg/sec OptimistAtomicQueueB, 4,s: 59,401,119 msg/sec OptimistAtomicQueueB, 4,i: 66,227,016 msg/sec OptimistAtomicQueueB, 5,s: 33,058,556 msg/sec OptimistAtomicQueueB, 5,i: 39,651,235 msg/sec OptimistAtomicQueueB, 6,s: 34,367,688 msg/sec OptimistAtomicQueueB, 6,i: 33,992,113 msg/sec OptimistAtomicQueueB, 7,s: 39,033,316 msg/sec OptimistAtomicQueueB, 7,i: 39,926,743 msg/sec OptimistAtomicQueueB, 8,s: 51,559,180 msg/sec OptimistAtomicQueueB, 8,i: 41,196,542 msg/sec OptimistAtomicQueueB, 9,s: 40,505,160 msg/sec OptimistAtomicQueueB, 9,i: 43,954,822 msg/sec OptimistAtomicQueueB,10,s: 39,981,703 msg/sec OptimistAtomicQueueB,10,i: 47,110,264 msg/sec OptimistAtomicQueueB,11,s: 44,385,766 msg/sec OptimistAtomicQueueB,11,i: 52,448,515 msg/sec OptimistAtomicQueueB,12,s: 43,723,879 msg/sec OptimistAtomicQueueB,12,i: 51,081,376 msg/sec OptimistAtomicQueueB,13,s: 43,764,007 msg/sec OptimistAtomicQueueB,13,i: 56,905,875 msg/sec OptimistAtomicQueueB,14,s: 43,464,165 msg/sec OptimistAtomicQueueB,14,i: 55,312,162 msg/sec OptimistAtomicQueueB,15,s: 45,814,332 msg/sec OptimistAtomicQueueB,15,i: 60,226,295 msg/sec OptimistAtomicQueueB,16,s: 46,084,577 msg/sec OptimistAtomicQueueB,16,i: 64,713,952 msg/sec AtomicQueue2, 1,s: 132,469,297 msg/sec AtomicQueue2, 1,i: 112,892,524 msg/sec AtomicQueue2, 2,s: 9,925,532 msg/sec AtomicQueue2, 2,i: 10,527,591 msg/sec AtomicQueue2, 3,s: 8,414,498 msg/sec AtomicQueue2, 3,i: 8,909,882 msg/sec AtomicQueue2, 4,s: 6,687,466 msg/sec AtomicQueue2, 4,i: 7,096,006 msg/sec AtomicQueue2, 5,s: 3,116,704 msg/sec AtomicQueue2, 5,i: 4,283,791 msg/sec AtomicQueue2, 6,s: 2,566,865 msg/sec AtomicQueue2, 6,i: 3,980,221 msg/sec AtomicQueue2, 7,s: 2,900,139 msg/sec AtomicQueue2, 7,i: 3,261,790 msg/sec AtomicQueue2, 8,s: 3,012,351 msg/sec AtomicQueue2, 8,i: 2,912,039 msg/sec AtomicQueue2, 9,s: 2,717,987 msg/sec AtomicQueue2, 9,i: 2,890,308 msg/sec AtomicQueue2,10,s: 2,780,199 msg/sec AtomicQueue2,10,i: 2,957,897 msg/sec AtomicQueue2,11,s: 2,748,287 msg/sec AtomicQueue2,11,i: 2,929,872 msg/sec AtomicQueue2,12,s: 2,690,376 msg/sec AtomicQueue2,12,i: 2,852,732 msg/sec AtomicQueue2,13,s: 2,542,701 msg/sec AtomicQueue2,13,i: 2,815,816 msg/sec AtomicQueue2,14,s: 2,394,271 msg/sec AtomicQueue2,14,i: 2,755,689 msg/sec AtomicQueue2,15,s: 2,386,778 msg/sec AtomicQueue2,15,i: 2,740,336 msg/sec AtomicQueue2,16,s: 2,285,584 msg/sec AtomicQueue2,16,i: 2,714,143 msg/sec OptimistAtomicQueue2, 1,s: 107,120,524 msg/sec OptimistAtomicQueue2, 1,i: 107,384,282 msg/sec OptimistAtomicQueue2, 2,s: 43,419,010 msg/sec OptimistAtomicQueue2, 2,i: 46,927,064 msg/sec OptimistAtomicQueue2, 3,s: 54,120,061 msg/sec OptimistAtomicQueue2, 3,i: 50,038,050 msg/sec OptimistAtomicQueue2, 4,s: 59,252,137 msg/sec OptimistAtomicQueue2, 4,i: 57,836,108 msg/sec OptimistAtomicQueue2, 5,s: 31,505,507 msg/sec OptimistAtomicQueue2, 5,i: 34,101,561 msg/sec OptimistAtomicQueue2, 6,s: 32,908,127 msg/sec OptimistAtomicQueue2, 6,i: 32,137,571 msg/sec OptimistAtomicQueue2, 7,s: 37,725,684 msg/sec OptimistAtomicQueue2, 7,i: 37,734,225 msg/sec OptimistAtomicQueue2, 8,s: 49,014,634 msg/sec OptimistAtomicQueue2, 8,i: 39,892,864 msg/sec OptimistAtomicQueue2, 9,s: 37,463,004 msg/sec OptimistAtomicQueue2, 9,i: 41,916,361 msg/sec OptimistAtomicQueue2,10,s: 37,486,367 msg/sec OptimistAtomicQueue2,10,i: 43,915,210 msg/sec OptimistAtomicQueue2,11,s: 43,000,178 msg/sec OptimistAtomicQueue2,11,i: 48,272,114 msg/sec OptimistAtomicQueue2,12,s: 42,096,780 msg/sec OptimistAtomicQueue2,12,i: 52,821,180 msg/sec OptimistAtomicQueue2,13,s: 41,063,517 msg/sec OptimistAtomicQueue2,13,i: 53,000,107 msg/sec OptimistAtomicQueue2,14,s: 40,798,595 msg/sec OptimistAtomicQueue2,14,i: 52,665,880 msg/sec OptimistAtomicQueue2,15,s: 43,208,457 msg/sec OptimistAtomicQueue2,15,i: 55,956,041 msg/sec OptimistAtomicQueue2,16,s: 43,376,974 msg/sec OptimistAtomicQueue2,16,i: 59,112,564 msg/sec AtomicQueueB2, 1,s: 71,616,617 msg/sec AtomicQueueB2, 1,i: 76,073,785 msg/sec AtomicQueueB2, 2,s: 9,838,616 msg/sec AtomicQueueB2, 2,i: 10,410,309 msg/sec AtomicQueueB2, 3,s: 8,325,205 msg/sec AtomicQueueB2, 3,i: 8,837,887 msg/sec AtomicQueueB2, 4,s: 6,608,209 msg/sec AtomicQueueB2, 4,i: 6,963,509 msg/sec AtomicQueueB2, 5,s: 3,092,847 msg/sec AtomicQueueB2, 5,i: 4,320,716 msg/sec AtomicQueueB2, 6,s: 2,550,506 msg/sec AtomicQueueB2, 6,i: 3,974,500 msg/sec AtomicQueueB2, 7,s: 2,891,789 msg/sec AtomicQueueB2, 7,i: 3,175,635 msg/sec AtomicQueueB2, 8,s: 3,012,474 msg/sec AtomicQueueB2, 8,i: 2,845,459 msg/sec AtomicQueueB2, 9,s: 2,742,802 msg/sec AtomicQueueB2, 9,i: 2,874,933 msg/sec AtomicQueueB2,10,s: 2,831,333 msg/sec AtomicQueueB2,10,i: 2,868,470 msg/sec AtomicQueueB2,11,s: 2,809,490 msg/sec AtomicQueueB2,11,i: 2,924,766 msg/sec AtomicQueueB2,12,s: 2,770,239 msg/sec AtomicQueueB2,12,i: 2,862,901 msg/sec AtomicQueueB2,13,s: 2,625,332 msg/sec AtomicQueueB2,13,i: 2,813,103 msg/sec AtomicQueueB2,14,s: 2,464,545 msg/sec AtomicQueueB2,14,i: 2,754,250 msg/sec AtomicQueueB2,15,s: 2,422,435 msg/sec AtomicQueueB2,15,i: 2,743,879 msg/sec AtomicQueueB2,16,s: 2,303,432 msg/sec AtomicQueueB2,16,i: 2,741,946 msg/sec OptimistAtomicQueueB2, 1,s: 151,601,617 msg/sec OptimistAtomicQueueB2, 1,i: 152,572,366 msg/sec OptimistAtomicQueueB2, 2,s: 42,089,409 msg/sec OptimistAtomicQueueB2, 2,i: 45,580,811 msg/sec OptimistAtomicQueueB2, 3,s: 56,858,780 msg/sec OptimistAtomicQueueB2, 3,i: 53,097,394 msg/sec OptimistAtomicQueueB2, 4,s: 58,943,268 msg/sec OptimistAtomicQueueB2, 4,i: 59,814,076 msg/sec OptimistAtomicQueueB2, 5,s: 31,327,675 msg/sec OptimistAtomicQueueB2, 5,i: 32,550,715 msg/sec OptimistAtomicQueueB2, 6,s: 32,969,404 msg/sec OptimistAtomicQueueB2, 6,i: 32,320,700 msg/sec OptimistAtomicQueueB2, 7,s: 37,035,674 msg/sec OptimistAtomicQueueB2, 7,i: 37,022,279 msg/sec OptimistAtomicQueueB2, 8,s: 47,930,075 msg/sec OptimistAtomicQueueB2, 8,i: 38,885,765 msg/sec OptimistAtomicQueueB2, 9,s: 36,883,308 msg/sec OptimistAtomicQueueB2, 9,i: 41,481,016 msg/sec OptimistAtomicQueueB2,10,s: 37,226,743 msg/sec OptimistAtomicQueueB2,10,i: 43,177,589 msg/sec OptimistAtomicQueueB2,11,s: 42,472,824 msg/sec OptimistAtomicQueueB2,11,i: 47,616,886 msg/sec OptimistAtomicQueueB2,12,s: 41,695,214 msg/sec OptimistAtomicQueueB2,12,i: 51,174,067 msg/sec OptimistAtomicQueueB2,13,s: 40,830,039 msg/sec OptimistAtomicQueueB2,13,i: 52,098,221 msg/sec OptimistAtomicQueueB2,14,s: 40,702,134 msg/sec OptimistAtomicQueueB2,14,i: 52,865,501 msg/sec OptimistAtomicQueueB2,15,s: 43,142,320 msg/sec OptimistAtomicQueueB2,15,i: 56,414,637 msg/sec OptimistAtomicQueueB2,16,s: 43,279,131 msg/sec OptimistAtomicQueueB2,16,i: 59,190,693 msg/sec moodycamel::ReaderWriterQueue, 1,s: 338,138,579 msg/sec moodycamel::ReaderWriterQueue, 1,i: 352,784,607 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,150,098 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,190,183 msg/sec moodycamel::ConcurrentQueue, 2,s: 38,904,826 msg/sec moodycamel::ConcurrentQueue, 2,i: 37,455,956 msg/sec moodycamel::ConcurrentQueue, 3,s: 55,797,489 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,993,061 msg/sec moodycamel::ConcurrentQueue, 4,s: 100,535,431 msg/sec moodycamel::ConcurrentQueue, 4,i: 100,726,413 msg/sec moodycamel::ConcurrentQueue, 5,s: 100,406,025 msg/sec moodycamel::ConcurrentQueue, 5,i: 183,541,208 msg/sec moodycamel::ConcurrentQueue, 6,s: 198,961,441 msg/sec moodycamel::ConcurrentQueue, 6,i: 223,265,822 msg/sec moodycamel::ConcurrentQueue, 7,s: 237,593,624 msg/sec moodycamel::ConcurrentQueue, 7,i: 235,642,538 msg/sec moodycamel::ConcurrentQueue, 8,s: 269,849,709 msg/sec moodycamel::ConcurrentQueue, 8,i: 238,182,419 msg/sec moodycamel::ConcurrentQueue, 9,s: 250,772,588 msg/sec moodycamel::ConcurrentQueue, 9,i: 237,664,117 msg/sec moodycamel::ConcurrentQueue,10,s: 301,108,029 msg/sec moodycamel::ConcurrentQueue,10,i: 221,653,118 msg/sec moodycamel::ConcurrentQueue,11,s: 222,263,252 msg/sec moodycamel::ConcurrentQueue,11,i: 281,078,497 msg/sec moodycamel::ConcurrentQueue,12,s: 156,856,327 msg/sec moodycamel::ConcurrentQueue,12,i: 205,743,735 msg/sec moodycamel::ConcurrentQueue,13,s: 204,651,113 msg/sec moodycamel::ConcurrentQueue,13,i: 295,973,133 msg/sec moodycamel::ConcurrentQueue,14,s: 353,884,079 msg/sec moodycamel::ConcurrentQueue,14,i: 323,367,676 msg/sec moodycamel::ConcurrentQueue,15,s: 452,141,471 msg/sec moodycamel::ConcurrentQueue,15,i: 429,683,695 msg/sec moodycamel::ConcurrentQueue,16,s: 527,922,599 msg/sec moodycamel::ConcurrentQueue,16,i: 502,647,845 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,787,144 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,861,324 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,143,044 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,142,021 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,966,443 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,062,324 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,418,566 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,623,602 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,066,047 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,106,217 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,784,442 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,436,542 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,663,267 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,154,550 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,782,254 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,804,860 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,686,328 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,907,489 msg/sec tbb::concurrent_bounded_queue,10,s: 2,770,114 msg/sec tbb::concurrent_bounded_queue,10,i: 2,874,057 msg/sec tbb::concurrent_bounded_queue,11,s: 2,661,048 msg/sec tbb::concurrent_bounded_queue,11,i: 2,854,570 msg/sec tbb::concurrent_bounded_queue,12,s: 2,574,308 msg/sec tbb::concurrent_bounded_queue,12,i: 2,715,763 msg/sec tbb::concurrent_bounded_queue,13,s: 2,489,759 msg/sec tbb::concurrent_bounded_queue,13,i: 2,765,950 msg/sec tbb::concurrent_bounded_queue,14,s: 2,381,786 msg/sec tbb::concurrent_bounded_queue,14,i: 2,711,493 msg/sec tbb::concurrent_bounded_queue,15,s: 2,344,040 msg/sec tbb::concurrent_bounded_queue,15,i: 2,620,925 msg/sec tbb::concurrent_bounded_queue,16,s: 2,259,916 msg/sec tbb::concurrent_bounded_queue,16,i: 2,530,826 msg/sec xenium::michael_scott_queue, 1,s: 13,398,867 msg/sec xenium::michael_scott_queue, 1,i: 13,719,287 msg/sec xenium::michael_scott_queue, 2,s: 9,441,836 msg/sec xenium::michael_scott_queue, 2,i: 9,164,476 msg/sec xenium::michael_scott_queue, 3,s: 7,616,295 msg/sec xenium::michael_scott_queue, 3,i: 7,526,460 msg/sec xenium::michael_scott_queue, 4,s: 5,854,147 msg/sec xenium::michael_scott_queue, 4,i: 5,833,295 msg/sec xenium::michael_scott_queue, 5,s: 3,647,164 msg/sec xenium::michael_scott_queue, 5,i: 4,631,871 msg/sec xenium::michael_scott_queue, 6,s: 3,342,860 msg/sec xenium::michael_scott_queue, 6,i: 3,930,247 msg/sec xenium::michael_scott_queue, 7,s: 3,160,621 msg/sec xenium::michael_scott_queue, 7,i: 3,239,462 msg/sec xenium::michael_scott_queue, 8,s: 2,359,250 msg/sec xenium::michael_scott_queue, 8,i: 2,788,939 msg/sec xenium::michael_scott_queue, 9,s: 2,921,905 msg/sec xenium::michael_scott_queue, 9,i: 2,864,059 msg/sec xenium::michael_scott_queue,10,s: 2,821,992 msg/sec xenium::michael_scott_queue,10,i: 2,821,014 msg/sec xenium::michael_scott_queue,11,s: 2,733,089 msg/sec xenium::michael_scott_queue,11,i: 2,821,200 msg/sec xenium::michael_scott_queue,12,s: 2,586,390 msg/sec xenium::michael_scott_queue,12,i: 2,735,034 msg/sec xenium::michael_scott_queue,13,s: 2,534,657 msg/sec xenium::michael_scott_queue,13,i: 2,654,414 msg/sec xenium::michael_scott_queue,14,s: 2,415,355 msg/sec xenium::michael_scott_queue,14,i: 2,607,783 msg/sec xenium::michael_scott_queue,15,s: 2,332,171 msg/sec xenium::michael_scott_queue,15,i: 2,598,644 msg/sec xenium::michael_scott_queue,16,s: 2,213,323 msg/sec xenium::michael_scott_queue,16,i: 2,503,985 msg/sec xenium::ramalhete_queue, 1,s: 69,682,434 msg/sec xenium::ramalhete_queue, 1,i: 66,241,185 msg/sec xenium::ramalhete_queue, 2,s: 49,718,622 msg/sec xenium::ramalhete_queue, 2,i: 34,736,605 msg/sec xenium::ramalhete_queue, 3,s: 42,275,573 msg/sec xenium::ramalhete_queue, 3,i: 44,152,154 msg/sec xenium::ramalhete_queue, 4,s: 53,171,622 msg/sec xenium::ramalhete_queue, 4,i: 51,575,827 msg/sec xenium::ramalhete_queue, 5,s: 37,109,501 msg/sec xenium::ramalhete_queue, 5,i: 24,677,869 msg/sec xenium::ramalhete_queue, 6,s: 38,962,686 msg/sec xenium::ramalhete_queue, 6,i: 26,728,334 msg/sec xenium::ramalhete_queue, 7,s: 40,597,293 msg/sec xenium::ramalhete_queue, 7,i: 28,021,975 msg/sec xenium::ramalhete_queue, 8,s: 50,771,138 msg/sec xenium::ramalhete_queue, 8,i: 29,929,621 msg/sec xenium::ramalhete_queue, 9,s: 33,127,507 msg/sec xenium::ramalhete_queue, 9,i: 35,918,148 msg/sec xenium::ramalhete_queue,10,s: 34,548,530 msg/sec xenium::ramalhete_queue,10,i: 41,942,467 msg/sec xenium::ramalhete_queue,11,s: 36,568,015 msg/sec xenium::ramalhete_queue,11,i: 43,076,304 msg/sec xenium::ramalhete_queue,12,s: 38,630,757 msg/sec xenium::ramalhete_queue,12,i: 43,839,978 msg/sec xenium::ramalhete_queue,13,s: 39,647,828 msg/sec xenium::ramalhete_queue,13,i: 44,375,396 msg/sec xenium::ramalhete_queue,14,s: 39,768,394 msg/sec xenium::ramalhete_queue,14,i: 43,275,064 msg/sec xenium::ramalhete_queue,15,s: 39,700,720 msg/sec xenium::ramalhete_queue,15,i: 43,732,371 msg/sec xenium::ramalhete_queue,16,s: 39,512,584 msg/sec xenium::ramalhete_queue,16,i: 44,576,225 msg/sec xenium::vyukov_bounded_queue, 1,s: 310,432,713 msg/sec xenium::vyukov_bounded_queue, 1,i: 309,163,964 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,442,621 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,137,671 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,618,956 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,022,784 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,819,993 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,455,557 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,946,794 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,342,442 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,175,262 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,903,388 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,230,666 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,405,191 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,261,822 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,565,611 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,012,799 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,657,440 msg/sec xenium::vyukov_bounded_queue,10,s: 7,658,476 msg/sec xenium::vyukov_bounded_queue,10,i: 6,839,050 msg/sec xenium::vyukov_bounded_queue,11,s: 7,422,662 msg/sec xenium::vyukov_bounded_queue,11,i: 7,175,352 msg/sec xenium::vyukov_bounded_queue,12,s: 7,329,491 msg/sec xenium::vyukov_bounded_queue,12,i: 7,537,872 msg/sec xenium::vyukov_bounded_queue,13,s: 7,056,714 msg/sec xenium::vyukov_bounded_queue,13,i: 7,436,888 msg/sec xenium::vyukov_bounded_queue,14,s: 7,070,240 msg/sec xenium::vyukov_bounded_queue,14,i: 7,495,935 msg/sec xenium::vyukov_bounded_queue,15,s: 7,108,378 msg/sec xenium::vyukov_bounded_queue,15,i: 7,373,728 msg/sec xenium::vyukov_bounded_queue,16,s: 6,811,330 msg/sec xenium::vyukov_bounded_queue,16,i: 7,058,270 msg/sec boost::lockfree::queue, 1,s: 7,747,437 msg/sec boost::lockfree::queue, 1,i: 7,806,956 msg/sec boost::lockfree::queue, 2,s: 5,889,403 msg/sec boost::lockfree::queue, 2,i: 5,881,831 msg/sec boost::lockfree::queue, 3,s: 4,947,012 msg/sec boost::lockfree::queue, 3,i: 4,794,861 msg/sec boost::lockfree::queue, 4,s: 4,365,049 msg/sec boost::lockfree::queue, 4,i: 4,345,703 msg/sec boost::lockfree::queue, 5,s: 2,646,793 msg/sec boost::lockfree::queue, 5,i: 2,900,118 msg/sec boost::lockfree::queue, 6,s: 1,427,069 msg/sec boost::lockfree::queue, 6,i: 2,990,990 msg/sec boost::lockfree::queue, 7,s: 1,396,678 msg/sec boost::lockfree::queue, 7,i: 2,839,174 msg/sec boost::lockfree::queue, 8,s: 1,163,198 msg/sec boost::lockfree::queue, 8,i: 1,846,125 msg/sec boost::lockfree::queue, 9,s: 1,427,245 msg/sec boopthread_spinlock: producers: 4: consumer 2 received too few messages: 0.06% of expected. st::lockfree::queue, 9,i: 1,844,269 msg/sec boost::lockfree::queue,10,s: 1,563,384 msg/sec boost::lockfree::queue,10,i: 1,940,120 msg/sec boost::lockfree::queue,11,s: 1,730,856 msg/sec boost::lockfree::queue,11,i: 1,852,232 msg/sec boost::lockfree::queue,12,s: 1,733,976 msg/sec boost::lockfree::queue,12,i: 1,719,962 msg/sec boost::lockfree::queue,13,s: 1,636,126 msg/sec boost::lockfree::queue,13,i: 1,615,405 msg/sec boost::lockfree::queue,14,s: 1,559,639 msg/sec boost::lockfree::queue,14,i: 1,644,698 msg/sec boost::lockfree::queue,15,s: 1,571,259 msg/sec boost::lockfree::queue,15,i: 1,586,268 msg/sec boost::lockfree::queue,16,s: 1,515,097 msg/sec boost::lockfree::queue,16,i: 1,495,103 msg/sec std::mutex, 1,s: 4,136,980 msg/sec std::mutex, 1,i: 3,712,323 msg/sec std::mutex, 2,s: 13,321,239 msg/sec std::mutex, 2,i: 13,435,062 msg/sec std::mutex, 3,s: 7,327,266 msg/sec std::mutex, 3,i: 6,873,411 msg/sec std::mutex, 4,s: 7,080,045 msg/sec std::mutex, 4,i: 6,674,375 msg/sec std::mutex, 5,s: 3,430,668 msg/sec std::mutex, 5,i: 3,486,956 msg/sec std::mutex, 6,s: 3,023,236 msg/sec std::mutex, 6,i: 3,108,910 msg/sec std::mutex, 7,s: 3,357,794 msg/sec std::mutex, 7,i: 2,980,770 msg/sec std::mutex, 8,s: 3,419,192 msg/sec std::mutex, 8,i: 2,821,289 msg/sec std::mutex, 9,s: 2,817,009 msg/sec std::mutex, 9,i: 2,656,871 msg/sec std::mutex,10,s: 2,602,727 msg/sec std::mutex,10,i: 2,675,913 msg/sec std::mutex,11,s: 2,775,003 msg/sec std::mutex,11,i: 2,605,532 msg/sec std::mutex,12,s: 2,636,908 msg/sec std::mutex,12,i: 2,628,160 msg/sec std::mutex,13,s: 2,486,554 msg/sec std::mutex,13,i: 2,455,682 msg/sec std::mutex,14,s: 2,387,602 msg/sec std::mutex,14,i: 2,335,691 msg/sec std::mutex,15,s: 2,430,966 msg/sec std::mutex,15,i: 2,377,349 msg/sec std::mutex,16,s: 2,359,726 msg/sec std::mutex,16,i: 2,298,515 msg/sec pthread_spinlock, 1,s: 17,821,934 msg/sec pthread_spinlock, 1,i: 18,265,958 msg/sec pthread_spinlock, 2,s: 7,257,020 msg/sec pthread_spinlock, 2,i: 1,788,720 msg/sec pthread_spinlock, 3,s: 948,414 msg/sec pthread_spinlock, 3,i: 5,622,768 msg/sec pthread_spinlock, 4,s: 1,020,894 msg/sec pthread_spinlock, 4,i: 1,718,903 msg/sec pthread_spinlock, 5,s: 2,924,529 msg/sec pthread_spinlock, 5,i: 3,949,653 msg/sec pthread_spinlock, 6,s: 1,965,397 msg/sec pthread_spinlock, 6,i: 3,058,789 msg/sec pthread_spinlock, 7,s: 2,807,500 msg/sec pthread_spinlock, 7,i: 3,088,413 msg/sec pthread_spinlock, 8,s: 2,992,158 msg/sec pthread_spinlock, 8,i: 2,661,681 msg/sec pthread_spinlock, 9,s: 2,812,515 msg/sec pthread_spinlock, 9,i: 2,338,599 msg/sec pthread_spinlock,10,s: 2,738,198 msg/sec pthread_spinlock,10,i: 2,379,901 msg/sec pthread_spinlock,11,s: 2,530,266 msg/sec pthread_spinlock,11,i: 2,726,055 msg/sec pthread_spinlock,12,s: 2,554,964 msg/sec pthread_spinlock,12,i: 2,486,689 msg/sec pthread_spinlock,13,s: 2,259,756 msg/sec pthread_spinlock,13,i: 2,258,068 msg/sec pthread_spinlock,14,s: 2,198,180 msg/sec pthread_spinlock,14,i: 2,051,001 msg/sec pthread_spinlock,15,s: 1,989,812 msg/sec pthread_spinlock,15,i: 1,912,061 msg/sec pthread_spinlock,16,s: 1,815,023 msg/sec pthread_spinlock,16,i: 1,606,351 msg/sec tbb::spin_mutex, 1,s: 37,264,488 msg/sec tbb::spin_mutex, 1,i: 37,571,193 msg/sec tbb::spin_mutex, 2,s: 16,464,834 msg/sec tbb::spin_mutex, 2,i: 16,236,062 msg/sec tbb::spin_mutex, 3,s: 12,075,055 msg/sec tbb::spin_mutex, 3,i: 11,905,660 msg/sec tbb::spin_mutex, 4,s: 10,574,044 msg/sec tbb::spin_mutex, 4,i: 10,003,547 msg/sec tbb::spin_mutex, 5,s: 5,952,221 msg/sec tbb::spin_mutex, 5,i: 5,456,467 msg/sec tbb::spin_mutex, 6,s: 5,105,661 msg/sec tbb::spin_mutex, 6,i: 4,785,153 msg/sec tbb::spin_mutex, 7,s: 4,380,818 msg/sec tbb::spin_mutex, 7,i: 4,680,697 msg/sec tbb::spin_mutex, 8,s: 4,306,707 msg/sec tbb::spin_mutex, 8,i: 4,054,125 msg/sec tbb::spin_mutex, 9,s: 4,463,752 msg/sec tbb::spin_mutex, 9,i: 4,418,186 msg/sec tbb::spin_mutex,10,s: 4,371,538 msg/sec tbb::spin_mutex,10,i: 4,110,608 msg/sec tbb::spin_mutex,11,s: 4,229,155 msg/sec tbb::spin_mutex,11,i: 3,730,655 msg/sec tbb::spin_mutex,12,s: 3,755,432 msg/sec tbb::spin_mutex,12,i: 3,461,451 msg/sec tbb::spin_mutex,13,s: 3,514,069 msg/sec tbb::spin_mutex,13,i: 3,274,657 msg/sec tbb::spin_mutex,14,s: 3,420,691 msg/sec tbb::spin_mutex,14,i: 3,077,102 msg/sec tbb::spin_mutex,15,s: 3,188,325 msg/sec tbb::spin_mutex,15,i: 3,076,478 msg/sec tbb::spin_mutex,16,s: 2,865,346 msg/sec tbb::spin_mutex,16,i: 3,003,088 msg/sec Elapsed time 6:11.45, user 5617.49s, system 603.16s, CPU 1674%, RSS 94200kB, exit-status 0. 2026-09-14 15:26:11 [31/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000043 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000087 sec/round-trip xenium::michael_scott_queue: 0.000000129 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 117,117,119 msg/sec boost::lockfree::spsc_queue, 1,i: 112,701,681 msg/sec AtomicQueue, 1,s: 146,023,801 msg/sec AtomicQueue, 1,i: 139,076,080 msg/sec AtomicQueue, 2,s: 9,868,716 msg/sec AtomicQueue, 2,i: 10,343,293 msg/sec AtomicQueue, 3,s: 8,344,000 msg/sec AtomicQueue, 3,i: 8,772,035 msg/sec AtomicQueue, 4,s: 6,613,186 msg/sec AtomicQueue, 4,i: 7,026,963 msg/sec AtomicQueue, 5,s: 3,156,004 msg/sec AtomicQueue, 5,i: 4,326,053 msg/sec AtomicQueue, 6,s: 2,599,240 msg/sec AtomicQueue, 6,i: 3,523,212 msg/sec AtomicQueue, 7,s: 2,963,964 msg/sec AtomicQueue, 7,i: 3,195,521 msg/sec AtomicQueue, 8,s: 3,117,274 msg/sec AtomicQueue, 8,i: 2,891,485 msg/sec AtomicQueue, 9,s: 2,794,595 msg/sec AtomicQueue, 9,i: 2,911,292 msg/sec AtomicQueue,10,s: 2,790,491 msg/sec AtomicQueue,10,i: 2,926,640 msg/sec AtomicQueue,11,s: 2,797,801 msg/sec AtomicQueue,11,i: 2,917,974 msg/sec AtomicQueue,12,s: 2,671,667 msg/sec AtomicQueue,12,i: 2,867,822 msg/sec AtomicQueue,13,s: 2,535,866 msg/sec AtomicQueue,13,i: 2,825,019 msg/sec AtomicQueue,14,s: 2,363,414 msg/sec AtomicQueue,14,i: 2,772,415 msg/sec AtomicQueue,15,s: 2,360,949 msg/sec AtomicQueue,15,i: 2,749,725 msg/sec AtomicQueue,16,s: 2,257,124 msg/sec AtomicQueue,16,i: 2,733,253 msg/sec OptimistAtomicQueue, 1,s: 1,195,319,191 msg/sec OptimistAtomicQueue, 1,i: 1,192,696,063 msg/sec OptimistAtomicQueue, 2,s: 52,663,733 msg/sec OptimistAtomicQueue, 2,i: 51,663,649 msg/sec OptimistAtomicQueue, 3,s: 58,744,396 msg/sec OptimistAtomicQueue, 3,i: 59,768,651 msg/sec OptimistAtomicQueue, 4,s: 59,241,361 msg/sec OptimistAtomicQueue, 4,i: 65,771,451 msg/sec OptimistAtomicQueue, 5,s: 33,294,023 msg/sec OptimistAtomicQueue, 5,i: 41,374,417 msg/sec OptimistAtomicQueue, 6,s: 34,521,122 msg/sec OptimistAtomicQueue, 6,i: 35,200,299 msg/sec OptimistAtomicQueue, 7,s: 40,235,771 msg/sec OptimistAtomicQueue, 7,i: 40,047,813 msg/sec OptimistAtomicQueue, 8,s: 51,047,748 msg/sec OptimistAtomicQueue, 8,i: 41,216,068 msg/sec OptimistAtomicQueue, 9,s: 40,991,245 msg/sec OptimistAtomicQueue, 9,i: 45,595,286 msg/sec OptimistAtomicQueue,10,s: 39,944,125 msg/sec OptimistAtomicQueue,10,i: 47,520,878 msg/sec OptimistAtomicQueue,11,s: 44,242,576 msg/sec OptimistAtomicQueue,11,i: 53,219,523 msg/sec OptimistAtomicQueue,12,s: 43,447,332 msg/sec OptimistAtomicQueue,12,i: 57,110,971 msg/sec OptimistAtomicQueue,13,s: 43,314,630 msg/sec OptimistAtomicQueue,13,i: 56,611,952 msg/sec OptimistAtomicQueue,14,s: 43,152,435 msg/sec OptimistAtomicQueue,14,i: 56,399,390 msg/sec OptimistAtomicQueue,15,s: 45,800,882 msg/sec OptimistAtomicQueue,15,i: 61,010,616 msg/sec OptimistAtomicQueue,16,s: 45,829,703 msg/sec OptimistAtomicQueue,16,i: 64,608,383 msg/sec AtomicQueueB, 1,s: 49,921,298 msg/sec AtomicQueueB, 1,i: 49,246,425 msg/sec AtomicQueueB, 2,s: 9,750,133 msg/sec AtomicQueueB, 2,i: 10,082,352 msg/sec AtomicQueueB, 3,s: 8,259,998 msg/sec AtomicQueueB, 3,i: 8,616,879 msg/sec AtomicQueueB, 4,s: 6,552,652 msg/sec AtomicQueueB, 4,i: 6,902,015 msg/sec AtomicQueueB, 5,s: 3,118,351 msg/sec AtomicQueueB, 5,i: 4,315,408 msg/sec AtomicQueueB, 6,s: 2,570,718 msg/sec AtomicQueueB, 6,i: 3,965,904 msg/sec AtomicQueueB, 7,s: 2,916,811 msg/sec AtomicQueueB, 7,i: 3,179,856 msg/sec AtomicQueueB, 8,s: 3,046,753 msg/sec AtomicQueueB, 8,i: 2,858,498 msg/sec AtomicQueueB, 9,s: 2,753,857 msg/sec AtomicQueueB, 9,i: 2,904,722 msg/sec AtomicQueueB,10,s: 2,790,812 msg/sec AtomicQueueB,10,i: 2,883,665 msg/sec AtomicQueueB,11,s: 2,737,298 msg/sec AtomicQueueB,11,i: 2,911,085 msg/sec AtomicQueueB,12,s: 2,656,139 msg/sec AtomicQueueB,12,i: 2,844,506 msg/sec AtomicQueueB,13,s: 2,515,275 msg/sec AtomicQueueB,13,i: 2,797,961 msg/sec AtomicQueueB,14,s: 2,381,433 msg/sec AtomicQueueB,14,i: 2,757,961 msg/sec AtomicQueueB,15,s: 2,375,692 msg/sec AtomicQueueB,15,i: 2,821,379 msg/sec AtomicQueueB,16,s: 2,274,061 msg/sec AtomicQueueB,16,i: 2,737,400 msg/sec OptimistAtomicQueueB, 1,s: 507,445,510 msg/sec OptimistAtomicQueueB, 1,i: 513,158,526 msg/sec OptimistAtomicQueueB, 2,s: 47,382,944 msg/sec OptimistAtomicQueueB, 2,i: 49,258,966 msg/sec OptimistAtomicQueueB, 3,s: 58,555,831 msg/sec OptimistAtomicQueueB, 3,i: 56,840,682 msg/sec OptimistAtomicQueueB, 4,s: 59,582,821 msg/sec OptimistAtomicQueueB, 4,i: 66,221,315 msg/sec OptimistAtomicQueueB, 5,s: 33,063,868 msg/sec OptimistAtomicQueueB, 5,i: 48,665,599 msg/sec OptimistAtomicQueueB, 6,s: 34,304,579 msg/sec OptimistAtomicQueueB, 6,i: 34,983,133 msg/sec OptimistAtomicQueueB, 7,s: 39,304,010 msg/sec OptimistAtomicQueueB, 7,i: 39,945,945 msg/sec OptimistAtomicQueueB, 8,s: 51,477,170 msg/sec OptimistAtomicQueueB, 8,i: 41,140,614 msg/sec OptimistAtomicQueueB, 9,s: 40,809,448 msg/sec OptimistAtomicQueueB, 9,i: 45,028,511 msg/sec OptimistAtomicQueueB,10,s: 40,018,326 msg/sec OptimistAtomicQueueB,10,i: 44,679,908 msg/sec OptimistAtomicQueueB,11,s: 44,644,750 msg/sec OptimistAtomicQueueB,11,i: 52,664,731 msg/sec OptimistAtomicQueueB,12,s: 43,747,463 msg/sec OptimistAtomicQueueB,12,i: 57,065,183 msg/sec OptimistAtomicQueueB,13,s: 43,670,763 msg/sec OptimistAtomicQueueB,13,i: 55,169,199 msg/sec OptimistAtomicQueueB,14,s: 43,406,286 msg/sec OptimistAtomicQueueB,14,i: 55,424,300 msg/sec OptimistAtomicQueueB,15,s: 46,188,935 msg/sec OptimistAtomicQueueB,15,i: 60,473,147 msg/sec OptimistAtomicQueueB,16,s: 46,060,082 msg/sec OptimistAtomicQueueB,16,i: 64,782,789 msg/sec AtomicQueue2, 1,s: 130,214,515 msg/sec AtomicQueue2, 1,i: 129,228,288 msg/sec AtomicQueue2, 2,s: 9,944,381 msg/sec AtomicQueue2, 2,i: 10,539,898 msg/sec AtomicQueue2, 3,s: 8,395,146 msg/sec AtomicQueue2, 3,i: 8,901,422 msg/sec AtomicQueue2, 4,s: 6,676,858 msg/sec AtomicQueue2, 4,i: 7,093,783 msg/sec AtomicQueue2, 5,s: 3,149,198 msg/sec AtomicQueue2, 5,i: 4,273,385 msg/sec AtomicQueue2, 6,s: 2,565,160 msg/sec AtomicQueue2, 6,i: 3,447,327 msg/sec AtomicQueue2, 7,s: 2,901,656 msg/sec AtomicQueue2, 7,i: 3,202,000 msg/sec AtomicQueue2, 8,s: 3,005,913 msg/sec AtomicQueue2, 8,i: 2,910,013 msg/sec AtomicQueue2, 9,s: 2,727,790 msg/sec AtomicQueue2, 9,i: 2,870,070 msg/sec AtomicQueue2,10,s: 2,775,080 msg/sec AtomicQueue2,10,i: 2,989,645 msg/sec AtomicQueue2,11,s: 2,748,294 msg/sec AtomicQueue2,11,i: 2,910,729 msg/sec AtomicQueue2,12,s: 2,694,949 msg/sec AtomicQueue2,12,i: 2,846,189 msg/sec AtomicQueue2,13,s: 2,538,574 msg/sec AtomicQueue2,13,i: 2,790,452 msg/sec AtomicQueue2,14,s: 2,391,499 msg/sec AtomicQueue2,14,i: 2,762,222 msg/sec AtomicQueue2,15,s: 2,391,732 msg/sec AtomicQueue2,15,i: 2,747,408 msg/sec AtomicQueue2,16,s: 2,283,191 msg/sec AtomicQueue2,16,i: 2,708,746 msg/sec OptimistAtomicQueue2, 1,s: 107,130,738 msg/sec OptimistAtomicQueue2, 1,i: 107,717,987 msg/sec OptimistAtomicQueue2, 2,s: 43,417,709 msg/sec OptimistAtomicQueue2, 2,i: 46,837,040 msg/sec OptimistAtomicQueue2, 3,s: 54,617,166 msg/sec OptimistAtomicQueue2, 3,i: 49,907,646 msg/sec OptimistAtomicQueue2, 4,s: 59,158,864 msg/sec OptimistAtomicQueue2, 4,i: 57,937,167 msg/sec OptimistAtomicQueue2, 5,s: 31,478,958 msg/sec OptimistAtomicQueue2, 5,i: 32,752,053 msg/sec OptimistAtomicQueue2, 6,s: 32,837,026 msg/sec OptimistAtomicQueue2, 6,i: 32,585,442 msg/sec OptimistAtomicQueue2, 7,s: 37,755,580 msg/sec OptimistAtomicQueue2, 7,i: 37,742,271 msg/sec OptimistAtomicQueue2, 8,s: 49,042,590 msg/sec OptimistAtomicQueue2, 8,i: 39,810,172 msg/sec OptimistAtomicQueue2, 9,s: 37,314,607 msg/sec OptimistAtomicQueue2, 9,i: 42,391,217 msg/sec OptimistAtomicQueue2,10,s: 37,473,430 msg/sec OptimistAtomicQueue2,10,i: 43,866,339 msg/sec OptimistAtomicQueue2,11,s: 43,002,582 msg/sec OptimistAtomicQueue2,11,i: 48,268,526 msg/sec OptimistAtomicQueue2,12,s: 42,055,106 msg/sec OptimistAtomicQueue2,12,i: 52,637,017 msg/sec OptimistAtomicQueue2,13,s: 41,047,572 msg/sec OptimistAtomicQueue2,13,i: 51,745,751 msg/sec OptimistAtomicQueue2,14,s: 40,778,831 msg/sec OptimistAtomicQueue2,14,i: 52,420,950 msg/sec OptimistAtomicQueue2,15,s: 43,190,337 msg/sec OptimistAtomicQueue2,15,i: 56,346,392 msg/sec OptimistAtomicQueue2,16,s: 43,337,611 msg/sec OptimistAtomicQueue2,16,i: 59,100,931 msg/sec AtomicQueueB2, 1,s: 71,183,864 msg/sec AtomicQueueB2, 1,i: 73,844,873 msg/sec AtomicQueueB2, 2,s: 9,824,814 msg/sec AtomicQueueB2, 2,i: 10,395,806 msg/sec AtomicQueueB2, 3,s: 8,318,110 msg/sec AtomicQueueB2, 3,i: 8,843,804 msg/sec AtomicQueueB2, 4,s: 6,614,056 msg/sec AtomicQueueB2, 4,i: 6,960,755 msg/sec AtomicQueueB2, 5,s: 3,093,279 msg/sec AtomicQueueB2, 5,i: 4,323,576 msg/sec AtomicQueueB2, 6,s: 2,549,153 msg/sec AtomicQueueB2, 6,i: 3,977,629 msg/sec AtomicQueueB2, 7,s: 2,897,698 msg/sec AtomicQueueB2, 7,i: 3,172,080 msg/sec AtomicQueueB2, 8,s: 3,014,866 msg/sec AtomicQueueB2, 8,i: 2,852,124 msg/sec AtomicQueueB2, 9,s: 2,731,663 msg/sec AtomicQueueB2, 9,i: 2,854,376 msg/sec AtomicQueueB2,10,s: 2,741,921 msg/sec AtomicQueueB2,10,i: 2,851,166 msg/sec AtomicQueueB2,11,s: 2,784,007 msg/sec AtomicQueueB2,11,i: 2,911,185 msg/sec AtomicQueueB2,12,s: 2,774,466 msg/sec AtomicQueueB2,12,i: 2,861,782 msg/sec AtomicQueueB2,13,s: 2,633,240 msg/sec AtomicQueueB2,13,i: 2,827,637 msg/sec AtomicQueueB2,14,s: 2,461,532 msg/sec AtomicQueueB2,14,i: 2,741,561 msg/sec AtomicQueueB2,15,s: 2,433,153 msg/sec AtomicQueueB2,15,i: 2,819,120 msg/sec AtomicQueueB2,16,s: 2,301,901 msg/sec AtomicQueueB2,16,i: 2,744,746 msg/sec OptimistAtomicQueueB2, 1,s: 152,304,445 msg/sec OptimistAtomicQueueB2, 1,i: 153,001,646 msg/sec OptimistAtomicQueueB2, 2,s: 41,887,145 msg/sec OptimistAtomicQueueB2, 2,i: 45,626,979 msg/sec OptimistAtomicQueueB2, 3,s: 56,837,839 msg/sec OptimistAtomicQueueB2, 3,i: 53,048,862 msg/sec OptimistAtomicQueueB2, 4,s: 58,925,693 msg/sec OptimistAtomicQueueB2, 4,i: 59,717,279 msg/sec OptimistAtomicQueueB2, 5,s: 31,369,105 msg/sec OptimistAtomicQueueB2, 5,i: 32,524,915 msg/sec OptimistAtomicQueueB2, 6,s: 32,992,540 msg/sec OptimistAtomicQueueB2, 6,i: 32,353,419 msg/sec OptimistAtomicQueueB2, 7,s: 36,974,684 msg/sec OptimistAtomicQueueB2, 7,i: 37,121,777 msg/sec OptimistAtomicQueueB2, 8,s: 47,958,324 msg/sec OptimistAtomicQueueB2, 8,i: 38,935,955 msg/sec OptimistAtomicQueueB2, 9,s: 36,866,910 msg/sec OptimistAtomicQueueB2, 9,i: 41,264,273 msg/sec OptimistAtomicQueueB2,10,s: 37,229,695 msg/sec OptimistAtomicQueueB2,10,i: 43,288,704 msg/sec OptimistAtomicQueueB2,11,s: 42,576,330 msg/sec OptimistAtomicQueueB2,11,i: 46,365,089 msg/sec OptimistAtomicQueueB2,12,s: 41,826,792 msg/sec OptimistAtomicQueueB2,12,i: 51,191,985 msg/sec OptimistAtomicQueueB2,13,s: 40,877,805 msg/sec OptimistAtomicQueueB2,13,i: 52,194,397 msg/sec OptimistAtomicQueueB2,14,s: 40,716,303 msg/sec OptimistAtomicQueueB2,14,i: 53,048,821 msg/sec OptimistAtomicQueueB2,15,s: 43,069,243 msg/sec OptimistAtomicQueueB2,15,i: 56,402,133 msg/sec OptimistAtomicQueueB2,16,s: 43,289,866 msg/sec OptimistAtomicQueueB2,16,i: 59,170,065 msg/sec moodycamel::ReaderWriterQueue, 1,s: 548,745,297 msg/sec moodycamel::ReaderWriterQueue, 1,i: 143,383,460 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,089,035 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,133,274 msg/sec moodycamel::ConcurrentQueue, 2,s: 35,357,079 msg/sec moodycamel::ConcurrentQueue, 2,i: 30,295,348 msg/sec moodycamel::ConcurrentQueue, 3,s: 45,087,399 msg/sec moodycamel::ConcurrentQueue, 3,i: 50,213,372 msg/sec moodycamel::ConcurrentQueue, 4,s: 93,098,862 msg/sec moodycamel::ConcurrentQueue, 4,i: 98,020,141 msg/sec moodycamel::ConcurrentQueue, 5,s: 134,972,384 msg/sec moodycamel::ConcurrentQueue, 5,i: 172,964,044 msg/sec moodycamel::ConcurrentQueue, 6,s: 189,130,243 msg/sec moodycamel::ConcurrentQueue, 6,i: 145,256,492 msg/sec moodycamel::ConcurrentQueue, 7,s: 209,294,876 msg/sec moodycamel::ConcurrentQueue, 7,i: 220,282,468 msg/sec moodycamel::ConcurrentQueue, 8,s: 243,549,869 msg/sec moodycamel::ConcurrentQueue, 8,i: 270,455,445 msg/sec moodycamel::ConcurrentQueue, 9,s: 257,468,491 msg/sec moodycamel::ConcurrentQueue, 9,i: 264,745,375 msg/sec moodycamel::ConcurrentQueue,10,s: 276,986,894 msg/sec moodycamel::ConcurrentQueue,10,i: 254,070,203 msg/sec moodycamel::ConcurrentQueue,11,s: 245,069,497 msg/sec moodycamel::ConcurrentQueue,11,i: 217,212,089 msg/sec moodycamel::ConcurrentQueue,12,s: 183,901,128 msg/sec moodycamel::ConcurrentQueue,12,i: 200,436,523 msg/sec moodycamel::ConcurrentQueue,13,s: 226,165,370 msg/sec moodycamel::ConcurrentQueue,13,i: 293,408,817 msg/sec moodycamel::ConcurrentQueue,14,s: 290,130,653 msg/sec moodycamel::ConcurrentQueue,14,i: 333,581,490 msg/sec moodycamel::ConcurrentQueue,15,s: 446,363,570 msg/sec moodycamel::ConcurrentQueue,15,i: 414,684,722 msg/sec moodycamel::ConcurrentQueue,16,s: 553,048,562 msg/sec moodycamel::ConcurrentQueue,16,i: 507,896,525 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,812,271 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,811,501 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,123,409 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,140,846 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,964,718 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,075,592 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,416,182 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,618,783 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,068,561 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,109,136 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,796,597 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,411,569 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,656,222 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,131,294 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,779,344 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,797,008 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,693,270 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,859,628 msg/sec tbb::concurrent_bounded_queue,10,s: 2,839,938 msg/sec tbb::concurrent_bounded_queue,10,i: 2,908,637 msg/sec tbb::concurrent_bounded_queue,11,s: 2,660,255 msg/sec tbb::concurrent_bounded_queue,11,i: 2,838,119 msg/sec tbb::concurrent_bounded_queue,12,s: 2,559,364 msg/sec tbb::concurrent_bounded_queue,12,i: 2,739,402 msg/sec tbb::concurrent_bounded_queue,13,s: 2,487,641 msg/sec tbb::concurrent_bounded_queue,13,i: 2,781,214 msg/sec tbb::concurrent_bounded_queue,14,s: 2,384,667 msg/sec tbb::concurrent_bounded_queue,14,i: 2,801,404 msg/sec tbb::concurrent_bounded_queue,15,s: 2,345,515 msg/sec tbb::concurrent_bounded_queue,15,i: 2,609,945 msg/sec tbb::concurrent_bounded_queue,16,s: 2,262,473 msg/sec tbb::concurrent_bounded_queue,16,i: 2,533,602 msg/sec xenium::michael_scott_queue, 1,s: 13,397,945 msg/sec xenium::michael_scott_queue, 1,i: 13,654,169 msg/sec xenium::michael_scott_queue, 2,s: 9,424,185 msg/sec xenium::michael_scott_queue, 2,i: 9,183,446 msg/sec xenium::michael_scott_queue, 3,s: 7,652,838 msg/sec xenium::michael_scott_queue, 3,i: 7,548,323 msg/sec xenium::michael_scott_queue, 4,s: 5,804,910 msg/sec xenium::michael_scott_queue, 4,i: 5,816,803 msg/sec xenium::michael_scott_queue, 5,s: 3,651,333 msg/sec xenium::michael_scott_queue, 5,i: 4,652,876 msg/sec xenium::michael_scott_queue, 6,s: 3,329,904 msg/sec xenium::michael_scott_queue, 6,i: 3,555,935 msg/sec xenium::michael_scott_queue, 7,s: 3,152,980 msg/sec xenium::michael_scott_queue, 7,i: 3,242,525 msg/sec xenium::michael_scott_queue, 8,s: 2,358,872 msg/sec xenium::michael_scott_queue, 8,i: 2,789,287 msg/sec xenium::michael_scott_queue, 9,s: 2,876,836 msg/sec xenium::michael_scott_queue, 9,i: 2,879,185 msg/sec xenium::michael_scott_queue,10,s: 2,840,077 msg/sec xenium::michael_scott_queue,10,i: 2,881,884 msg/sec xenium::michael_scott_queue,11,s: 2,771,152 msg/sec xenium::michael_scott_queue,11,i: 2,864,527 msg/sec xenium::michael_scott_queue,12,s: 2,620,883 msg/sec xenium::michael_scott_queue,12,i: 2,765,200 msg/sec xenium::michael_scott_queue,13,s: 2,531,905 msg/sec xenium::michael_scott_queue,13,i: 2,677,407 msg/sec xenium::michael_scott_queue,14,s: 2,431,573 msg/sec xenium::michael_scott_queue,14,i: 2,674,067 msg/sec xenium::michael_scott_queue,15,s: 2,350,223 msg/sec xenium::michael_scott_queue,15,i: 2,634,203 msg/sec xenium::michael_scott_queue,16,s: 2,252,739 msg/sec xenium::michael_scott_queue,16,i: 2,529,783 msg/sec xenium::ramalhete_queue, 1,s: 72,841,560 msg/sec xenium::ramalhete_queue, 1,i: 77,905,760 msg/sec xenium::ramalhete_queue, 2,s: 45,192,610 msg/sec xenium::ramalhete_queue, 2,i: 41,634,974 msg/sec xenium::ramalhete_queue, 3,s: 41,688,515 msg/sec xenium::ramalhete_queue, 3,i: 41,492,746 msg/sec xenium::ramalhete_queue, 4,s: 46,087,656 msg/sec xenium::ramalhete_queue, 4,i: 48,152,787 msg/sec xenium::ramalhete_queue, 5,s: 37,415,525 msg/sec xenium::ramalhete_queue, 5,i: 23,048,274 msg/sec xenium::ramalhete_queue, 6,s: 38,972,313 msg/sec xenium::ramalhete_queue, 6,i: 26,053,899 msg/sec xenium::ramalhete_queue, 7,s: 40,446,234 msg/sec xenium::ramalhete_queue, 7,i: 27,979,246 msg/sec xenium::ramalhete_queue, 8,s: 50,836,152 msg/sec xenium::ramalhete_queue, 8,i: 29,630,177 msg/sec xenium::ramalhete_queue, 9,s: 32,945,218 msg/sec xenium::ramalhete_queue, 9,i: 36,045,683 msg/sec xenium::ramalhete_queue,10,s: 35,221,888 msg/sec xenium::ramalhete_queue,10,i: 40,753,874 msg/sec xenium::ramalhete_queue,11,s: 37,073,222 msg/sec xenium::ramalhete_queue,11,i: 41,940,265 msg/sec xenium::ramalhete_queue,12,s: 38,625,669 msg/sec xenium::ramalhete_queue,12,i: 44,345,879 msg/sec xenium::ramalhete_queue,13,s: 39,669,139 msg/sec xenium::ramalhete_queue,13,i: 42,543,956 msg/sec xenium::ramalhete_queue,14,s: 37,884,508 msg/sec xenium::ramalhete_queue,14,i: 42,065,176 msg/sec xenium::ramalhete_queue,15,s: 38,101,835 msg/sec xenium::ramalhete_queue,15,i: 43,686,807 msg/sec xenium::ramalhete_queue,16,s: 39,509,087 msg/sec xenium::ramalhete_queue,16,i: 44,376,439 msg/sec xenium::vyukov_bounded_queue, 1,s: 312,730,575 msg/sec xenium::vyukov_bounded_queue, 1,i: 311,954,038 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,396,453 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,519,338 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,276,434 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,107,558 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,342,855 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,562,166 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,934,707 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,302,009 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,087,724 msg/sec xenium::vyukov_bounded_queue, 6,i: 8,473,588 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,153,550 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,479,934 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,284,068 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,570,047 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,200,769 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,641,618 msg/sec xenium::vyukov_bounded_queue,10,s: 7,714,645 msg/sec xenium::vyukov_bounded_queue,10,i: 6,831,799 msg/sec xenium::vyukov_bounded_queue,11,s: 7,422,369 msg/sec xenium::vyukov_bounded_queue,11,i: 7,208,367 msg/sec xenium::vyukov_bounded_queue,12,s: 7,382,504 msg/sec xenium::vyukov_bounded_queue,12,i: 7,444,096 msg/sec xenium::vyukov_bounded_queue,13,s: 7,111,346 msg/sec xenium::vyukov_bounded_queue,13,i: 7,326,537 msg/sec xenium::vyukov_bounded_queue,14,s: 7,181,842 msg/sec xenium::vyukov_bounded_queue,14,i: 7,361,101 msg/sec xenium::vyukov_bounded_queue,15,s: 7,114,411 msg/sec xenium::vyukov_bounded_queue,15,i: 7,204,479 msg/sec xenium::vyukov_bounded_queue,16,s: 6,802,246 msg/sec xenium::vyukov_bounded_queue,16,i: 7,047,236 msg/sec boost::lockfree::queue, 1,s: 7,781,949 msg/sec boost::lockfree::queue, 1,i: 7,801,574 msg/sec boost::lockfree::queue, 2,s: 5,893,328 msg/sec boost::lockfree::queue, 2,i: 5,930,250 msg/sec boost::lockfree::queue, 3,s: 4,949,473 msg/sec boost::lockfree::queue, 3,i: 4,801,069 msg/sec boost::lockfree::queue, 4,s: 4,371,593 msg/sec boost::lockfree::queue, 4,i: 4,349,775 msg/sec boost::lockfree::queue, 5,s: 2,661,988 msg/sec boost::lockfree::queue, 5,i: 2,896,263 msg/sec boost::lockfree::queue, 6,s: 1,433,326 msg/sec boost::lockfree::queue, 6,i: 3,000,064 msg/sec boost::lockfree::queue, 7,s: 1,391,198 msg/sec boost::lockfree::queue, 7,i: 2,909,422 msg/sec boost::lockfree::queue, 8,s: 1,156,817 msg/sec boost::lockfree::queue, 8,i: 1,843,507 msg/sec boost::lockfree::queue, 9,s: 1,424,055 msg/sec boopthread_spinlock: producers: 3: consumer 2 received too few messages: 0.08% of expected. pthread_spinlock: producers: 5: consumer 3 received too few messages: 0.06% of expected. st::lockfree::queue, 9,i: 1,885,685 msg/sec boost::lockfree::queue,10,s: 1,627,201 msg/sec boost::lockfree::queue,10,i: 2,005,227 msg/sec boost::lockfree::queue,11,s: 1,687,038 msg/sec boost::lockfree::queue,11,i: 1,860,596 msg/sec boost::lockfree::queue,12,s: 1,746,458 msg/sec boost::lockfree::queue,12,i: 1,702,026 msg/sec boost::lockfree::queue,13,s: 1,634,902 msg/sec boost::lockfree::queue,13,i: 1,684,235 msg/sec boost::lockfree::queue,14,s: 1,559,304 msg/sec boost::lockfree::queue,14,i: 1,630,676 msg/sec boost::lockfree::queue,15,s: 1,555,707 msg/sec boost::lockfree::queue,15,i: 1,590,736 msg/sec boost::lockfree::queue,16,s: 1,524,027 msg/sec boost::lockfree::queue,16,i: 1,494,616 msg/sec std::mutex, 1,s: 3,487,049 msg/sec std::mutex, 1,i: 3,495,918 msg/sec std::mutex, 2,s: 12,883,727 msg/sec std::mutex, 2,i: 12,400,614 msg/sec std::mutex, 3,s: 7,054,856 msg/sec std::mutex, 3,i: 6,956,175 msg/sec std::mutex, 4,s: 7,083,322 msg/sec std::mutex, 4,i: 6,605,540 msg/sec std::mutex, 5,s: 3,416,178 msg/sec std::mutex, 5,i: 3,507,964 msg/sec std::mutex, 6,s: 2,946,930 msg/sec std::mutex, 6,i: 3,006,457 msg/sec std::mutex, 7,s: 3,313,344 msg/sec std::mutex, 7,i: 2,949,074 msg/sec std::mutex, 8,s: 3,447,743 msg/sec std::mutex, 8,i: 2,804,964 msg/sec std::mutex, 9,s: 2,904,098 msg/sec std::mutex, 9,i: 2,721,963 msg/sec std::mutex,10,s: 2,654,849 msg/sec std::mutex,10,i: 2,613,060 msg/sec std::mutex,11,s: 2,640,233 msg/sec std::mutex,11,i: 2,721,456 msg/sec std::mutex,12,s: 2,665,860 msg/sec std::mutex,12,i: 2,543,219 msg/sec std::mutex,13,s: 2,526,707 msg/sec std::mutex,13,i: 2,411,869 msg/sec std::mutex,14,s: 2,413,906 msg/sec std::mutex,14,i: 2,353,375 msg/sec std::mutex,15,s: 2,436,819 msg/sec std::mutex,15,i: 2,385,320 msg/sec std::mutex,16,s: 2,370,863 msg/sec std::mutex,16,i: 2,291,949 msg/sec pthread_spinlock, 1,s: 17,664,078 msg/sec pthread_spinlock, 1,i: 17,992,638 msg/sec pthread_spinlock, 2,s: 8,434,057 msg/sec pthread_spinlock, 2,i: 1,840,936 msg/sec pthread_spinlock, 3,s: 658,866 msg/sec pthread_spinlock, 3,i: 6,647,864 msg/sec pthread_spinlock, 4,s: 2,021,253 msg/sec pthread_spinlock, 4,i: 1,428,064 msg/sec pthread_spinlock, 5,s: 2,793,562 msg/sec pthread_spinlock, 5,i: 3,679,280 msg/sec pthread_spinlock, 6,s: 1,961,969 msg/sec pthread_spinlock, 6,i: 3,151,482 msg/sec pthread_spinlock, 7,s: 2,771,992 msg/sec pthread_spinlock, 7,i: 3,078,845 msg/sec pthread_spinlock, 8,s: 3,009,038 msg/sec pthread_spinlock, 8,i: 2,677,782 msg/sec pthread_spinlock, 9,s: 2,797,663 msg/sec pthread_spinlock, 9,i: 2,313,100 msg/sec pthread_spinlock,10,s: 2,731,857 msg/sec pthread_spinlock,10,i: 2,377,680 msg/sec pthread_spinlock,11,s: 2,626,645 msg/sec pthread_spinlock,11,i: 2,735,886 msg/sec pthread_spinlock,12,s: 2,602,699 msg/sec pthread_spinlock,12,i: 2,474,713 msg/sec pthread_spinlock,13,s: 2,443,640 msg/sec pthread_spinlock,13,i: 2,253,733 msg/sec pthread_spinlock,14,s: 2,213,937 msg/sec pthread_spinlock,14,i: 2,121,645 msg/sec pthread_spinlock,15,s: 2,054,643 msg/sec pthread_spinlock,15,i: 1,907,899 msg/sec pthread_spinlock,16,s: 1,796,719 msg/sec pthread_spinlock,16,i: 1,596,876 msg/sec tbb::spin_mutex, 1,s: 38,673,189 msg/sec tbb::spin_mutex, 1,i: 38,515,542 msg/sec tbb::spin_mutex, 2,s: 16,526,156 msg/sec tbb::spin_mutex, 2,i: 15,971,688 msg/sec tbb::spin_mutex, 3,s: 12,081,917 msg/sec tbb::spin_mutex, 3,i: 11,885,490 msg/sec tbb::spin_mutex, 4,s: 10,285,405 msg/sec tbb::spin_mutex, 4,i: 9,959,107 msg/sec tbb::spin_mutex, 5,s: 5,958,331 msg/sec tbb::spin_mutex, 5,i: 5,514,899 msg/sec tbb::spin_mutex, 6,s: 5,084,240 msg/sec tbb::spin_mutex, 6,i: 4,892,799 msg/sec tbb::spin_mutex, 7,s: 4,442,695 msg/sec tbb::spin_mutex, 7,i: 4,664,247 msg/sec tbb::spin_mutex, 8,s: 4,269,611 msg/sec tbb::spin_mutex, 8,i: 4,102,481 msg/sec tbb::spin_mutex, 9,s: 4,478,608 msg/sec tbb::spin_mutex, 9,i: 4,323,815 msg/sec tbb::spin_mutex,10,s: 4,519,565 msg/sec tbb::spin_mutex,10,i: 4,146,817 msg/sec tbb::spin_mutex,11,s: 4,300,256 msg/sec tbb::spin_mutex,11,i: 4,210,897 msg/sec tbb::spin_mutex,12,s: 3,785,809 msg/sec tbb::spin_mutex,12,i: 3,483,899 msg/sec tbb::spin_mutex,13,s: 3,597,529 msg/sec tbb::spin_mutex,13,i: 3,198,294 msg/sec tbb::spin_mutex,14,s: 3,279,760 msg/sec tbb::spin_mutex,14,i: 3,112,035 msg/sec tbb::spin_mutex,15,s: 3,217,575 msg/sec tbb::spin_mutex,15,i: 3,075,577 msg/sec tbb::spin_mutex,16,s: 2,878,581 msg/sec tbb::spin_mutex,16,i: 3,015,284 msg/sec Elapsed time 6:12.34, user 5613.20s, system 601.61s, CPU 1669%, RSS 95224kB, exit-status 0. 2026-09-14 15:32:23 [32/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000043 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000084 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000093 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 116,153,200 msg/sec boost::lockfree::spsc_queue, 1,i: 113,792,901 msg/sec AtomicQueue, 1,s: 145,742,463 msg/sec AtomicQueue, 1,i: 141,126,488 msg/sec AtomicQueue, 2,s: 9,875,010 msg/sec AtomicQueue, 2,i: 10,333,958 msg/sec AtomicQueue, 3,s: 8,362,423 msg/sec AtomicQueue, 3,i: 8,816,195 msg/sec AtomicQueue, 4,s: 6,608,356 msg/sec AtomicQueue, 4,i: 7,035,412 msg/sec AtomicQueue, 5,s: 3,161,935 msg/sec AtomicQueue, 5,i: 4,338,538 msg/sec AtomicQueue, 6,s: 2,601,457 msg/sec AtomicQueue, 6,i: 3,532,752 msg/sec AtomicQueue, 7,s: 2,962,735 msg/sec AtomicQueue, 7,i: 3,199,935 msg/sec AtomicQueue, 8,s: 3,115,449 msg/sec AtomicQueue, 8,i: 2,905,905 msg/sec AtomicQueue, 9,s: 2,848,764 msg/sec AtomicQueue, 9,i: 2,937,377 msg/sec AtomicQueue,10,s: 2,783,842 msg/sec AtomicQueue,10,i: 2,967,673 msg/sec AtomicQueue,11,s: 2,792,217 msg/sec AtomicQueue,11,i: 2,936,963 msg/sec AtomicQueue,12,s: 2,672,438 msg/sec AtomicQueue,12,i: 2,872,135 msg/sec AtomicQueue,13,s: 2,515,437 msg/sec AtomicQueue,13,i: 2,842,093 msg/sec AtomicQueue,14,s: 2,366,052 msg/sec AtomicQueue,14,i: 2,783,708 msg/sec AtomicQueue,15,s: 2,364,272 msg/sec AtomicQueue,15,i: 2,749,552 msg/sec AtomicQueue,16,s: 2,257,935 msg/sec AtomicQueue,16,i: 2,733,796 msg/sec OptimistAtomicQueue, 1,s: 1,196,835,585 msg/sec OptimistAtomicQueue, 1,i: 1,194,291,376 msg/sec OptimistAtomicQueue, 2,s: 54,240,745 msg/sec OptimistAtomicQueue, 2,i: 52,077,086 msg/sec OptimistAtomicQueue, 3,s: 58,798,001 msg/sec OptimistAtomicQueue, 3,i: 59,909,584 msg/sec OptimistAtomicQueue, 4,s: 59,212,562 msg/sec OptimistAtomicQueue, 4,i: 65,199,795 msg/sec OptimistAtomicQueue, 5,s: 33,250,860 msg/sec OptimistAtomicQueue, 5,i: 41,746,541 msg/sec OptimistAtomicQueue, 6,s: 34,529,525 msg/sec OptimistAtomicQueue, 6,i: 35,138,506 msg/sec OptimistAtomicQueue, 7,s: 39,995,598 msg/sec OptimistAtomicQueue, 7,i: 40,038,497 msg/sec OptimistAtomicQueue, 8,s: 50,574,149 msg/sec OptimistAtomicQueue, 8,i: 41,226,807 msg/sec OptimistAtomicQueue, 9,s: 41,495,130 msg/sec OptimistAtomicQueue, 9,i: 45,616,833 msg/sec OptimistAtomicQueue,10,s: 39,958,969 msg/sec OptimistAtomicQueue,10,i: 47,998,285 msg/sec OptimistAtomicQueue,11,s: 44,302,374 msg/sec OptimistAtomicQueue,11,i: 48,474,937 msg/sec OptimistAtomicQueue,12,s: 43,288,844 msg/sec OptimistAtomicQueue,12,i: 58,626,417 msg/sec OptimistAtomicQueue,13,s: 43,488,544 msg/sec OptimistAtomicQueue,13,i: 56,888,426 msg/sec OptimistAtomicQueue,14,s: 43,215,558 msg/sec OptimistAtomicQueue,14,i: 56,270,862 msg/sec OptimistAtomicQueue,15,s: 45,796,205 msg/sec OptimistAtomicQueue,15,i: 61,030,723 msg/sec OptimistAtomicQueue,16,s: 45,717,089 msg/sec OptimistAtomicQueue,16,i: 64,591,399 msg/sec AtomicQueueB, 1,s: 50,666,573 msg/sec AtomicQueueB, 1,i: 49,246,400 msg/sec AtomicQueueB, 2,s: 9,718,810 msg/sec AtomicQueueB, 2,i: 10,164,835 msg/sec AtomicQueueB, 3,s: 8,236,484 msg/sec AtomicQueueB, 3,i: 8,685,756 msg/sec AtomicQueueB, 4,s: 6,544,162 msg/sec AtomicQueueB, 4,i: 6,901,836 msg/sec AtomicQueueB, 5,s: 3,098,605 msg/sec AtomicQueueB, 5,i: 4,305,665 msg/sec AtomicQueueB, 6,s: 2,571,085 msg/sec AtomicQueueB, 6,i: 3,956,236 msg/sec AtomicQueueB, 7,s: 2,914,605 msg/sec AtomicQueueB, 7,i: 3,182,532 msg/sec AtomicQueueB, 8,s: 3,060,087 msg/sec AtomicQueueB, 8,i: 2,887,707 msg/sec AtomicQueueB, 9,s: 2,836,471 msg/sec AtomicQueueB, 9,i: 2,885,804 msg/sec AtomicQueueB,10,s: 2,786,839 msg/sec AtomicQueueB,10,i: 2,900,339 msg/sec AtomicQueueB,11,s: 2,737,759 msg/sec AtomicQueueB,11,i: 2,909,841 msg/sec AtomicQueueB,12,s: 2,660,105 msg/sec AtomicQueueB,12,i: 2,839,085 msg/sec AtomicQueueB,13,s: 2,518,447 msg/sec AtomicQueueB,13,i: 2,790,074 msg/sec AtomicQueueB,14,s: 2,383,030 msg/sec AtomicQueueB,14,i: 2,758,992 msg/sec AtomicQueueB,15,s: 2,375,250 msg/sec AtomicQueueB,15,i: 2,761,233 msg/sec AtomicQueueB,16,s: 2,272,198 msg/sec AtomicQueueB,16,i: 2,726,569 msg/sec OptimistAtomicQueueB, 1,s: 1,110,303,261 msg/sec OptimistAtomicQueueB, 1,i: 1,031,371,315 msg/sec OptimistAtomicQueueB, 2,s: 50,716,731 msg/sec OptimistAtomicQueueB, 2,i: 48,784,516 msg/sec OptimistAtomicQueueB, 3,s: 58,657,461 msg/sec OptimistAtomicQueueB, 3,i: 57,728,017 msg/sec OptimistAtomicQueueB, 4,s: 59,505,248 msg/sec OptimistAtomicQueueB, 4,i: 65,976,001 msg/sec OptimistAtomicQueueB, 5,s: 33,012,950 msg/sec OptimistAtomicQueueB, 5,i: 36,415,449 msg/sec OptimistAtomicQueueB, 6,s: 34,279,568 msg/sec OptimistAtomicQueueB, 6,i: 34,004,561 msg/sec OptimistAtomicQueueB, 7,s: 39,101,339 msg/sec OptimistAtomicQueueB, 7,i: 40,004,702 msg/sec OptimistAtomicQueueB, 8,s: 51,491,139 msg/sec OptimistAtomicQueueB, 8,i: 41,206,829 msg/sec OptimistAtomicQueueB, 9,s: 40,554,060 msg/sec OptimistAtomicQueueB, 9,i: 44,962,451 msg/sec OptimistAtomicQueueB,10,s: 39,973,025 msg/sec OptimistAtomicQueueB,10,i: 46,944,004 msg/sec OptimistAtomicQueueB,11,s: 44,180,049 msg/sec OptimistAtomicQueueB,11,i: 55,437,487 msg/sec OptimistAtomicQueueB,12,s: 43,730,533 msg/sec OptimistAtomicQueueB,12,i: 57,408,037 msg/sec OptimistAtomicQueueB,13,s: 43,711,975 msg/sec OptimistAtomicQueueB,13,i: 56,068,905 msg/sec OptimistAtomicQueueB,14,s: 43,629,804 msg/sec OptimistAtomicQueueB,14,i: 56,790,166 msg/sec OptimistAtomicQueueB,15,s: 46,221,599 msg/sec OptimistAtomicQueueB,15,i: 60,264,295 msg/sec OptimistAtomicQueueB,16,s: 46,067,805 msg/sec OptimistAtomicQueueB,16,i: 64,794,878 msg/sec AtomicQueue2, 1,s: 127,604,226 msg/sec AtomicQueue2, 1,i: 122,694,986 msg/sec AtomicQueue2, 2,s: 9,966,406 msg/sec AtomicQueue2, 2,i: 10,518,402 msg/sec AtomicQueue2, 3,s: 8,413,741 msg/sec AtomicQueue2, 3,i: 8,926,092 msg/sec AtomicQueue2, 4,s: 6,680,450 msg/sec AtomicQueue2, 4,i: 7,087,279 msg/sec AtomicQueue2, 5,s: 3,145,248 msg/sec AtomicQueue2, 5,i: 3,703,227 msg/sec AtomicQueue2, 6,s: 2,565,974 msg/sec AtomicQueue2, 6,i: 3,476,153 msg/sec AtomicQueue2, 7,s: 2,902,865 msg/sec AtomicQueue2, 7,i: 3,258,747 msg/sec AtomicQueue2, 8,s: 3,005,708 msg/sec AtomicQueue2, 8,i: 2,892,004 msg/sec AtomicQueue2, 9,s: 2,830,018 msg/sec AtomicQueue2, 9,i: 2,883,564 msg/sec AtomicQueue2,10,s: 2,760,715 msg/sec AtomicQueue2,10,i: 2,889,122 msg/sec AtomicQueue2,11,s: 2,742,497 msg/sec AtomicQueue2,11,i: 2,923,233 msg/sec AtomicQueue2,12,s: 2,703,454 msg/sec AtomicQueue2,12,i: 2,848,254 msg/sec AtomicQueue2,13,s: 2,548,138 msg/sec AtomicQueue2,13,i: 2,792,082 msg/sec AtomicQueue2,14,s: 2,388,489 msg/sec AtomicQueue2,14,i: 2,820,547 msg/sec AtomicQueue2,15,s: 2,387,878 msg/sec AtomicQueue2,15,i: 2,731,504 msg/sec AtomicQueue2,16,s: 2,284,950 msg/sec AtomicQueue2,16,i: 2,708,526 msg/sec OptimistAtomicQueue2, 1,s: 107,262,537 msg/sec OptimistAtomicQueue2, 1,i: 107,046,909 msg/sec OptimistAtomicQueue2, 2,s: 43,420,273 msg/sec OptimistAtomicQueue2, 2,i: 48,044,958 msg/sec OptimistAtomicQueue2, 3,s: 54,400,276 msg/sec OptimistAtomicQueue2, 3,i: 49,975,435 msg/sec OptimistAtomicQueue2, 4,s: 59,164,604 msg/sec OptimistAtomicQueue2, 4,i: 57,783,206 msg/sec OptimistAtomicQueue2, 5,s: 31,509,487 msg/sec OptimistAtomicQueue2, 5,i: 32,655,818 msg/sec OptimistAtomicQueue2, 6,s: 32,917,768 msg/sec OptimistAtomicQueue2, 6,i: 32,086,467 msg/sec OptimistAtomicQueue2, 7,s: 37,754,084 msg/sec OptimistAtomicQueue2, 7,i: 37,700,425 msg/sec OptimistAtomicQueue2, 8,s: 49,021,843 msg/sec OptimistAtomicQueue2, 8,i: 39,772,284 msg/sec OptimistAtomicQueue2, 9,s: 37,323,339 msg/sec OptimistAtomicQueue2, 9,i: 42,382,414 msg/sec OptimistAtomicQueue2,10,s: 37,584,226 msg/sec OptimistAtomicQueue2,10,i: 43,768,059 msg/sec OptimistAtomicQueue2,11,s: 42,944,357 msg/sec OptimistAtomicQueue2,11,i: 47,822,803 msg/sec OptimistAtomicQueue2,12,s: 42,099,473 msg/sec OptimistAtomicQueue2,12,i: 49,424,934 msg/sec OptimistAtomicQueue2,13,s: 41,128,536 msg/sec OptimistAtomicQueue2,13,i: 53,202,670 msg/sec OptimistAtomicQueue2,14,s: 40,863,562 msg/sec OptimistAtomicQueue2,14,i: 53,030,367 msg/sec OptimistAtomicQueue2,15,s: 43,207,897 msg/sec OptimistAtomicQueue2,15,i: 56,829,127 msg/sec OptimistAtomicQueue2,16,s: 43,410,095 msg/sec OptimistAtomicQueue2,16,i: 59,279,674 msg/sec AtomicQueueB2, 1,s: 73,115,621 msg/sec AtomicQueueB2, 1,i: 80,731,792 msg/sec AtomicQueueB2, 2,s: 9,823,378 msg/sec AtomicQueueB2, 2,i: 10,397,920 msg/sec AtomicQueueB2, 3,s: 8,300,775 msg/sec AtomicQueueB2, 3,i: 8,838,970 msg/sec AtomicQueueB2, 4,s: 6,614,193 msg/sec AtomicQueueB2, 4,i: 6,962,498 msg/sec AtomicQueueB2, 5,s: 3,097,538 msg/sec AtomicQueueB2, 5,i: 4,328,148 msg/sec AtomicQueueB2, 6,s: 2,550,411 msg/sec AtomicQueueB2, 6,i: 3,977,165 msg/sec AtomicQueueB2, 7,s: 2,895,185 msg/sec AtomicQueueB2, 7,i: 3,265,043 msg/sec AtomicQueueB2, 8,s: 3,006,423 msg/sec AtomicQueueB2, 8,i: 2,850,161 msg/sec AtomicQueueB2, 9,s: 2,724,601 msg/sec AtomicQueueB2, 9,i: 2,887,491 msg/sec AtomicQueueB2,10,s: 2,740,683 msg/sec AtomicQueueB2,10,i: 2,855,367 msg/sec AtomicQueueB2,11,s: 2,789,417 msg/sec AtomicQueueB2,11,i: 2,889,035 msg/sec AtomicQueueB2,12,s: 2,755,277 msg/sec AtomicQueueB2,12,i: 2,845,326 msg/sec AtomicQueueB2,13,s: 2,619,563 msg/sec AtomicQueueB2,13,i: 2,831,792 msg/sec AtomicQueueB2,14,s: 2,453,945 msg/sec AtomicQueueB2,14,i: 2,756,551 msg/sec AtomicQueueB2,15,s: 2,422,308 msg/sec AtomicQueueB2,15,i: 2,754,247 msg/sec AtomicQueueB2,16,s: 2,301,334 msg/sec AtomicQueueB2,16,i: 2,744,446 msg/sec OptimistAtomicQueueB2, 1,s: 152,750,881 msg/sec OptimistAtomicQueueB2, 1,i: 152,763,248 msg/sec OptimistAtomicQueueB2, 2,s: 42,082,909 msg/sec OptimistAtomicQueueB2, 2,i: 45,786,624 msg/sec OptimistAtomicQueueB2, 3,s: 56,866,766 msg/sec OptimistAtomicQueueB2, 3,i: 53,110,281 msg/sec OptimistAtomicQueueB2, 4,s: 59,073,560 msg/sec OptimistAtomicQueueB2, 4,i: 59,826,671 msg/sec OptimistAtomicQueueB2, 5,s: 31,372,963 msg/sec OptimistAtomicQueueB2, 5,i: 32,598,219 msg/sec OptimistAtomicQueueB2, 6,s: 32,909,069 msg/sec OptimistAtomicQueueB2, 6,i: 32,300,990 msg/sec OptimistAtomicQueueB2, 7,s: 37,241,190 msg/sec OptimistAtomicQueueB2, 7,i: 37,061,835 msg/sec OptimistAtomicQueueB2, 8,s: 47,967,434 msg/sec OptimistAtomicQueueB2, 8,i: 38,932,423 msg/sec OptimistAtomicQueueB2, 9,s: 37,219,752 msg/sec OptimistAtomicQueueB2, 9,i: 41,576,488 msg/sec OptimistAtomicQueueB2,10,s: 37,235,974 msg/sec OptimistAtomicQueueB2,10,i: 43,344,223 msg/sec OptimistAtomicQueueB2,11,s: 42,459,137 msg/sec OptimistAtomicQueueB2,11,i: 47,640,024 msg/sec OptimistAtomicQueueB2,12,s: 41,655,234 msg/sec OptimistAtomicQueueB2,12,i: 51,110,016 msg/sec OptimistAtomicQueueB2,13,s: 40,879,593 msg/sec OptimistAtomicQueueB2,13,i: 52,255,462 msg/sec OptimistAtomicQueueB2,14,s: 40,829,344 msg/sec OptimistAtomicQueueB2,14,i: 52,866,842 msg/sec OptimistAtomicQueueB2,15,s: 43,067,129 msg/sec OptimistAtomicQueueB2,15,i: 56,565,061 msg/sec OptimistAtomicQueueB2,16,s: 43,268,925 msg/sec OptimistAtomicQueueB2,16,i: 59,302,031 msg/sec moodycamel::ReaderWriterQueue, 1,s: 485,886,812 msg/sec moodycamel::ReaderWriterQueue, 1,i: 865,248,225 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,083,086 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,125,119 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,983,971 msg/sec moodycamel::ConcurrentQueue, 2,i: 36,348,884 msg/sec moodycamel::ConcurrentQueue, 3,s: 54,252,624 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,547,420 msg/sec moodycamel::ConcurrentQueue, 4,s: 100,371,056 msg/sec moodycamel::ConcurrentQueue, 4,i: 99,412,779 msg/sec moodycamel::ConcurrentQueue, 5,s: 87,706,054 msg/sec moodycamel::ConcurrentQueue, 5,i: 179,992,574 msg/sec moodycamel::ConcurrentQueue, 6,s: 201,729,566 msg/sec moodycamel::ConcurrentQueue, 6,i: 218,160,426 msg/sec moodycamel::ConcurrentQueue, 7,s: 232,865,509 msg/sec moodycamel::ConcurrentQueue, 7,i: 235,908,806 msg/sec moodycamel::ConcurrentQueue, 8,s: 271,320,573 msg/sec moodycamel::ConcurrentQueue, 8,i: 246,604,460 msg/sec moodycamel::ConcurrentQueue, 9,s: 258,027,180 msg/sec moodycamel::ConcurrentQueue, 9,i: 240,052,796 msg/sec moodycamel::ConcurrentQueue,10,s: 288,575,872 msg/sec moodycamel::ConcurrentQueue,10,i: 232,484,079 msg/sec moodycamel::ConcurrentQueue,11,s: 272,731,422 msg/sec moodycamel::ConcurrentQueue,11,i: 195,903,028 msg/sec moodycamel::ConcurrentQueue,12,s: 176,756,622 msg/sec moodycamel::ConcurrentQueue,12,i: 208,239,304 msg/sec moodycamel::ConcurrentQueue,13,s: 267,865,928 msg/sec moodycamel::ConcurrentQueue,13,i: 275,005,965 msg/sec moodycamel::ConcurrentQueue,14,s: 350,025,705 msg/sec moodycamel::ConcurrentQueue,14,i: 401,321,886 msg/sec moodycamel::ConcurrentQueue,15,s: 487,146,071 msg/sec moodycamel::ConcurrentQueue,15,i: 455,907,427 msg/sec moodycamel::ConcurrentQueue,16,s: 542,685,317 msg/sec moodycamel::ConcurrentQueue,16,i: 500,775,149 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,800,782 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,838,351 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,128,946 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,139,111 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,963,896 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,065,075 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,411,583 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,626,354 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,069,669 msg/sec tbb::concurrent_bounded_queue, 5,i: 4,112,150 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,794,790 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,694,520 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,662,799 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,153,138 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,783,617 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,797,554 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,708,956 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,858,171 msg/sec tbb::concurrent_bounded_queue,10,s: 2,708,408 msg/sec tbb::concurrent_bounded_queue,10,i: 2,871,713 msg/sec tbb::concurrent_bounded_queue,11,s: 2,657,403 msg/sec tbb::concurrent_bounded_queue,11,i: 2,854,391 msg/sec tbb::concurrent_bounded_queue,12,s: 2,560,649 msg/sec tbb::concurrent_bounded_queue,12,i: 2,778,058 msg/sec tbb::concurrent_bounded_queue,13,s: 2,495,348 msg/sec tbb::concurrent_bounded_queue,13,i: 2,740,331 msg/sec tbb::concurrent_bounded_queue,14,s: 2,382,337 msg/sec tbb::concurrent_bounded_queue,14,i: 2,792,943 msg/sec tbb::concurrent_bounded_queue,15,s: 2,350,314 msg/sec tbb::concurrent_bounded_queue,15,i: 2,599,397 msg/sec tbb::concurrent_bounded_queue,16,s: 2,263,101 msg/sec tbb::concurrent_bounded_queue,16,i: 2,536,725 msg/sec xenium::michael_scott_queue, 1,s: 13,490,076 msg/sec xenium::michael_scott_queue, 1,i: 13,773,533 msg/sec xenium::michael_scott_queue, 2,s: 9,448,452 msg/sec xenium::michael_scott_queue, 2,i: 9,216,939 msg/sec xenium::michael_scott_queue, 3,s: 7,623,161 msg/sec xenium::michael_scott_queue, 3,i: 7,531,879 msg/sec xenium::michael_scott_queue, 4,s: 5,841,932 msg/sec xenium::michael_scott_queue, 4,i: 5,836,584 msg/sec xenium::michael_scott_queue, 5,s: 3,614,955 msg/sec xenium::michael_scott_queue, 5,i: 3,945,586 msg/sec xenium::michael_scott_queue, 6,s: 3,338,153 msg/sec xenium::michael_scott_queue, 6,i: 3,933,428 msg/sec xenium::michael_scott_queue, 7,s: 3,223,692 msg/sec xenium::michael_scott_queue, 7,i: 3,272,899 msg/sec xenium::michael_scott_queue, 8,s: 2,356,605 msg/sec xenium::michael_scott_queue, 8,i: 2,790,797 msg/sec xenium::michael_scott_queue, 9,s: 2,876,836 msg/sec xenium::michael_scott_queue, 9,i: 2,827,716 msg/sec xenium::michael_scott_queue,10,s: 2,808,190 msg/sec xenium::michael_scott_queue,10,i: 2,801,045 msg/sec xenium::michael_scott_queue,11,s: 2,728,332 msg/sec xenium::michael_scott_queue,11,i: 2,864,444 msg/sec xenium::michael_scott_queue,12,s: 2,609,971 msg/sec xenium::michael_scott_queue,12,i: 2,737,695 msg/sec xenium::michael_scott_queue,13,s: 2,529,888 msg/sec xenium::michael_scott_queue,13,i: 2,657,604 msg/sec xenium::michael_scott_queue,14,s: 2,403,038 msg/sec xenium::michael_scott_queue,14,i: 2,628,425 msg/sec xenium::michael_scott_queue,15,s: 2,333,763 msg/sec xenium::michael_scott_queue,15,i: 2,598,500 msg/sec xenium::michael_scott_queue,16,s: 2,203,635 msg/sec xenium::michael_scott_queue,16,i: 2,498,963 msg/sec xenium::ramalhete_queue, 1,s: 69,184,780 msg/sec xenium::ramalhete_queue, 1,i: 67,293,099 msg/sec xenium::ramalhete_queue, 2,s: 44,854,983 msg/sec xenium::ramalhete_queue, 2,i: 35,404,959 msg/sec xenium::ramalhete_queue, 3,s: 44,427,767 msg/sec xenium::ramalhete_queue, 3,i: 43,891,841 msg/sec xenium::ramalhete_queue, 4,s: 52,986,610 msg/sec xenium::ramalhete_queue, 4,i: 51,881,720 msg/sec xenium::ramalhete_queue, 5,s: 37,264,516 msg/sec xenium::ramalhete_queue, 5,i: 23,695,699 msg/sec xenium::ramalhete_queue, 6,s: 39,013,333 msg/sec xenium::ramalhete_queue, 6,i: 27,034,069 msg/sec xenium::ramalhete_queue, 7,s: 40,442,210 msg/sec xenium::ramalhete_queue, 7,i: 29,340,835 msg/sec xenium::ramalhete_queue, 8,s: 50,160,481 msg/sec xenium::ramalhete_queue, 8,i: 30,395,349 msg/sec xenium::ramalhete_queue, 9,s: 32,714,044 msg/sec xenium::ramalhete_queue, 9,i: 36,378,622 msg/sec xenium::ramalhete_queue,10,s: 34,527,977 msg/sec xenium::ramalhete_queue,10,i: 40,677,222 msg/sec xenium::ramalhete_queue,11,s: 37,841,366 msg/sec xenium::ramalhete_queue,11,i: 41,777,548 msg/sec xenium::ramalhete_queue,12,s: 38,716,244 msg/sec xenium::ramalhete_queue,12,i: 44,214,359 msg/sec xenium::ramalhete_queue,13,s: 39,700,808 msg/sec xenium::ramalhete_queue,13,i: 42,748,076 msg/sec xenium::ramalhete_queue,14,s: 39,593,340 msg/sec xenium::ramalhete_queue,14,i: 43,030,813 msg/sec xenium::ramalhete_queue,15,s: 39,788,560 msg/sec xenium::ramalhete_queue,15,i: 43,846,229 msg/sec xenium::ramalhete_queue,16,s: 39,470,305 msg/sec xenium::ramalhete_queue,16,i: 44,603,682 msg/sec xenium::vyukov_bounded_queue, 1,s: 308,877,491 msg/sec xenium::vyukov_bounded_queue, 1,i: 311,234,615 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,056,250 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,714,950 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,731,993 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,121,360 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,189,191 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,637,971 msg/sec xenium::vyukov_bounded_queue, 5,s: 7,056,318 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,503,794 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,062,218 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,857,709 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,155,552 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,512,048 msg/sec xenium::vyukov_bounded_queue, 8,s: 10,444,004 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,549,308 msg/sec xenium::vyukov_bounded_queue, 9,s: 6,884,825 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,676,163 msg/sec xenium::vyukov_bounded_queue,10,s: 7,621,844 msg/sec xenium::vyukov_bounded_queue,10,i: 6,928,333 msg/sec xenium::vyukov_bounded_queue,11,s: 7,445,563 msg/sec xenium::vyukov_bounded_queue,11,i: 7,225,125 msg/sec xenium::vyukov_bounded_queue,12,s: 7,578,752 msg/sec xenium::vyukov_bounded_queue,12,i: 7,411,695 msg/sec xenium::vyukov_bounded_queue,13,s: 6,930,876 msg/sec xenium::vyukov_bounded_queue,13,i: 7,380,420 msg/sec xenium::vyukov_bounded_queue,14,s: 7,055,957 msg/sec xenium::vyukov_bounded_queue,14,i: 7,395,291 msg/sec xenium::vyukov_bounded_queue,15,s: 7,107,819 msg/sec xenium::vyukov_bounded_queue,15,i: 7,196,775 msg/sec xenium::vyukov_bounded_queue,16,s: 6,802,604 msg/sec xenium::vyukov_bounded_queue,16,i: 7,068,690 msg/sec boost::lockfree::queue, 1,s: 7,864,972 msg/sec boost::lockfree::queue, 1,i: 7,783,144 msg/sec boost::lockfree::queue, 2,s: 5,840,971 msg/sec boost::lockfree::queue, 2,i: 5,896,220 msg/sec boost::lockfree::queue, 3,s: 4,980,696 msg/sec boost::lockfree::queue, 3,i: 4,791,124 msg/sec boost::lockfree::queue, 4,s: 4,362,320 msg/sec boost::lockfree::queue, 4,i: 4,349,031 msg/sec boost::lockfree::queue, 5,s: 2,654,272 msg/sec boost::lockfree::queue, 5,i: 2,904,123 msg/sec boost::lockfree::queue, 6,s: 1,427,632 msg/sec boost::lockfree::queue, 6,i: 2,830,409 msg/sec boost::lockfree::queue, 7,s: 1,396,348 msg/sec boost::lockfree::queue, 7,i: 2,829,429 msg/sec boost::lockfree::queue, 8,s: 1,158,104 msg/sec boost::lockfree::queue, 8,i: 1,816,650 msg/sec boost::lockfree::queue, 9,s: 1,426,102 msg/sec boopthread_spinlock: producers: 5: consumer 3 received too few messages: 0.06% of expected. st::lockfree::queue, 9,i: 1,887,487 msg/sec boost::lockfree::queue,10,s: 1,564,512 msg/sec boost::lockfree::queue,10,i: 1,981,798 msg/sec boost::lockfree::queue,11,s: 1,670,410 msg/sec boost::lockfree::queue,11,i: 1,926,179 msg/sec boost::lockfree::queue,12,s: 1,866,870 msg/sec boost::lockfree::queue,12,i: 1,712,120 msg/sec boost::lockfree::queue,13,s: 1,673,164 msg/sec boost::lockfree::queue,13,i: 1,679,035 msg/sec boost::lockfree::queue,14,s: 1,549,470 msg/sec boost::lockfree::queue,14,i: 1,735,125 msg/sec boost::lockfree::queue,15,s: 1,548,911 msg/sec boost::lockfree::queue,15,i: 1,578,036 msg/sec boost::lockfree::queue,16,s: 1,521,550 msg/sec boost::lockfree::queue,16,i: 1,499,952 msg/sec std::mutex, 1,s: 4,365,883 msg/sec std::mutex, 1,i: 4,660,339 msg/sec std::mutex, 2,s: 13,340,712 msg/sec std::mutex, 2,i: 13,875,823 msg/sec std::mutex, 3,s: 6,815,181 msg/sec std::mutex, 3,i: 6,733,630 msg/sec std::mutex, 4,s: 7,039,406 msg/sec std::mutex, 4,i: 6,667,050 msg/sec std::mutex, 5,s: 3,306,171 msg/sec std::mutex, 5,i: 3,404,332 msg/sec std::mutex, 6,s: 3,000,289 msg/sec std::mutex, 6,i: 3,060,728 msg/sec std::mutex, 7,s: 3,263,725 msg/sec std::mutex, 7,i: 2,902,873 msg/sec std::mutex, 8,s: 3,410,343 msg/sec std::mutex, 8,i: 2,791,366 msg/sec std::mutex, 9,s: 2,895,376 msg/sec std::mutex, 9,i: 2,719,416 msg/sec std::mutex,10,s: 2,682,405 msg/sec std::mutex,10,i: 2,756,487 msg/sec std::mutex,11,s: 2,909,948 msg/sec std::mutex,11,i: 2,811,733 msg/sec std::mutex,12,s: 2,689,259 msg/sec std::mutex,12,i: 2,651,271 msg/sec std::mutex,13,s: 2,489,495 msg/sec std::mutex,13,i: 2,475,514 msg/sec std::mutex,14,s: 2,421,742 msg/sec std::mutex,14,i: 2,334,452 msg/sec std::mutex,15,s: 2,426,179 msg/sec std::mutex,15,i: 2,385,872 msg/sec std::mutex,16,s: 2,369,645 msg/sec std::mutex,16,i: 2,298,335 msg/sec pthread_spinlock, 1,s: 17,891,354 msg/sec pthread_spinlock, 1,i: 17,989,803 msg/sec pthread_spinlock, 2,s: 7,364,919 msg/sec pthread_spinlock, 2,i: 1,376,991 msg/sec pthread_spinlock, 3,s: 898,403 msg/sec pthread_spinlock, 3,i: 6,105,357 msg/sec pthread_spinlock, 4,s: 864,828 msg/sec pthread_spinlock, 4,i: 1,079,067 msg/sec pthread_spinlock, 5,s: 2,762,096 msg/sec pthread_spinlock, 5,i: 3,701,341 msg/sec pthread_spinlock, 6,s: 1,992,360 msg/sec pthread_spinlock, 6,i: 3,159,847 msg/sec pthread_spinlock, 7,s: 2,780,280 msg/sec pthread_spinlock, 7,i: 3,083,854 msg/sec pthread_spinlock, 8,s: 3,004,236 msg/sec pthread_spinlock, 8,i: 2,699,068 msg/sec pthread_spinlock, 9,s: 2,863,306 msg/sec pthread_spinlock, 9,i: 2,349,730 msg/sec pthread_spinlock,10,s: 2,724,816 msg/sec pthread_spinlock,10,i: 2,224,448 msg/sec pthread_spinlock,11,s: 2,510,198 msg/sec pthread_spinlock,11,i: 2,728,351 msg/sec pthread_spinlock,12,s: 2,557,027 msg/sec pthread_spinlock,12,i: 2,476,385 msg/sec pthread_spinlock,13,s: 2,353,721 msg/sec pthread_spinlock,13,i: 2,239,971 msg/sec pthread_spinlock,14,s: 2,220,507 msg/sec pthread_spinlock,14,i: 2,080,389 msg/sec pthread_spinlock,15,s: 2,025,305 msg/sec pthread_spinlock,15,i: 1,919,597 msg/sec pthread_spinlock,16,s: 1,808,045 msg/sec pthread_spinlock,16,i: 1,600,252 msg/sec tbb::spin_mutex, 1,s: 37,736,846 msg/sec tbb::spin_mutex, 1,i: 37,517,222 msg/sec tbb::spin_mutex, 2,s: 16,496,800 msg/sec tbb::spin_mutex, 2,i: 16,025,442 msg/sec tbb::spin_mutex, 3,s: 12,048,329 msg/sec tbb::spin_mutex, 3,i: 11,908,546 msg/sec tbb::spin_mutex, 4,s: 10,307,369 msg/sec tbb::spin_mutex, 4,i: 9,990,326 msg/sec tbb::spin_mutex, 5,s: 5,981,693 msg/sec tbb::spin_mutex, 5,i: 5,608,607 msg/sec tbb::spin_mutex, 6,s: 5,114,807 msg/sec tbb::spin_mutex, 6,i: 4,718,718 msg/sec tbb::spin_mutex, 7,s: 4,366,634 msg/sec tbb::spin_mutex, 7,i: 4,612,724 msg/sec tbb::spin_mutex, 8,s: 4,335,794 msg/sec tbb::spin_mutex, 8,i: 4,051,634 msg/sec tbb::spin_mutex, 9,s: 4,632,093 msg/sec tbb::spin_mutex, 9,i: 4,425,838 msg/sec tbb::spin_mutex,10,s: 4,497,850 msg/sec tbb::spin_mutex,10,i: 4,233,775 msg/sec tbb::spin_mutex,11,s: 4,198,738 msg/sec tbb::spin_mutex,11,i: 4,141,411 msg/sec tbb::spin_mutex,12,s: 3,678,854 msg/sec tbb::spin_mutex,12,i: 3,517,364 msg/sec tbb::spin_mutex,13,s: 3,558,956 msg/sec tbb::spin_mutex,13,i: 3,195,066 msg/sec tbb::spin_mutex,14,s: 3,343,149 msg/sec tbb::spin_mutex,14,i: 3,149,789 msg/sec tbb::spin_mutex,15,s: 3,275,812 msg/sec tbb::spin_mutex,15,i: 3,064,130 msg/sec tbb::spin_mutex,16,s: 2,872,953 msg/sec tbb::spin_mutex,16,i: 2,992,686 msg/sec Elapsed time 6:13.44, user 5626.57s, system 598.57s, CPU 1666%, RSS 94176kB, exit-status 0. 2026-09-14 15:38:36 [33/33] CPU Model: AMD Ryzen 9 5950X 16-Core Processor, base GHz: 3.4, clock: RDTSC, 32 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000052 sec/round-trip AtomicQueue: 0.000000043 sec/round-trip OptimistAtomicQueue: 0.000000033 sec/round-trip AtomicQueueB: 0.000000045 sec/round-trip OptimistAtomicQueueB: 0.000000034 sec/round-trip AtomicQueue2: 0.000000044 sec/round-trip OptimistAtomicQueue2: 0.000000034 sec/round-trip AtomicQueueB2: 0.000000045 sec/round-trip OptimistAtomicQueueB2: 0.000000038 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000044 sec/round-trip moodycamel::ConcurrentQueue: 0.000000064 sec/round-trip tbb::concurrent_bounded_queue: 0.000000083 sec/round-trip xenium::michael_scott_queue: 0.000000128 sec/round-trip xenium::ramalhete_queue: 0.000000056 sec/round-trip xenium::vyukov_bounded_queue: 0.000000061 sec/round-trip boost::lockfree::queue: 0.000000092 sec/round-trip std::mutex: 0.000000324 sec/round-trip pthread_spinlock: 0.000000104 sec/round-trip tbb::spin_mutex: 0.000000094 sec/round-trip ---- Running throughput benchmarks with up to 32 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 113,524,595 msg/sec boost::lockfree::spsc_queue, 1,i: 113,368,871 msg/sec AtomicQueue, 1,s: 131,507,007 msg/sec AtomicQueue, 1,i: 142,005,047 msg/sec AtomicQueue, 2,s: 9,887,029 msg/sec AtomicQueue, 2,i: 10,347,937 msg/sec AtomicQueue, 3,s: 8,339,041 msg/sec AtomicQueue, 3,i: 8,800,472 msg/sec AtomicQueue, 4,s: 6,599,411 msg/sec AtomicQueue, 4,i: 7,018,623 msg/sec AtomicQueue, 5,s: 3,165,691 msg/sec AtomicQueue, 5,i: 4,327,728 msg/sec AtomicQueue, 6,s: 2,600,846 msg/sec AtomicQueue, 6,i: 4,017,304 msg/sec AtomicQueue, 7,s: 2,966,309 msg/sec AtomicQueue, 7,i: 3,232,265 msg/sec AtomicQueue, 8,s: 3,120,305 msg/sec AtomicQueue, 8,i: 2,893,839 msg/sec AtomicQueue, 9,s: 2,856,765 msg/sec AtomicQueue, 9,i: 2,926,515 msg/sec AtomicQueue,10,s: 2,803,153 msg/sec AtomicQueue,10,i: 2,937,441 msg/sec AtomicQueue,11,s: 2,803,287 msg/sec AtomicQueue,11,i: 2,919,934 msg/sec AtomicQueue,12,s: 2,666,798 msg/sec AtomicQueue,12,i: 2,869,335 msg/sec AtomicQueue,13,s: 2,523,372 msg/sec AtomicQueue,13,i: 2,825,509 msg/sec AtomicQueue,14,s: 2,362,051 msg/sec AtomicQueue,14,i: 2,776,245 msg/sec AtomicQueue,15,s: 2,360,124 msg/sec AtomicQueue,15,i: 2,829,345 msg/sec AtomicQueue,16,s: 2,260,099 msg/sec AtomicQueue,16,i: 2,730,974 msg/sec OptimistAtomicQueue, 1,s: 1,192,397,416 msg/sec OptimistAtomicQueue, 1,i: 1,194,262,851 msg/sec OptimistAtomicQueue, 2,s: 53,792,996 msg/sec OptimistAtomicQueue, 2,i: 52,749,932 msg/sec OptimistAtomicQueue, 3,s: 58,690,337 msg/sec OptimistAtomicQueue, 3,i: 59,606,948 msg/sec OptimistAtomicQueue, 4,s: 59,255,648 msg/sec OptimistAtomicQueue, 4,i: 65,881,813 msg/sec OptimistAtomicQueue, 5,s: 33,245,477 msg/sec OptimistAtomicQueue, 5,i: 42,754,526 msg/sec OptimistAtomicQueue, 6,s: 34,489,892 msg/sec OptimistAtomicQueue, 6,i: 34,470,074 msg/sec OptimistAtomicQueue, 7,s: 40,015,139 msg/sec OptimistAtomicQueue, 7,i: 40,128,066 msg/sec OptimistAtomicQueue, 8,s: 50,545,290 msg/sec OptimistAtomicQueue, 8,i: 41,228,303 msg/sec OptimistAtomicQueue, 9,s: 41,397,785 msg/sec OptimistAtomicQueue, 9,i: 45,596,991 msg/sec OptimistAtomicQueue,10,s: 39,932,195 msg/sec OptimistAtomicQueue,10,i: 44,750,827 msg/sec OptimistAtomicQueue,11,s: 44,241,479 msg/sec OptimistAtomicQueue,11,i: 52,947,134 msg/sec OptimistAtomicQueue,12,s: 43,407,145 msg/sec OptimistAtomicQueue,12,i: 54,054,945 msg/sec OptimistAtomicQueue,13,s: 43,365,456 msg/sec OptimistAtomicQueue,13,i: 54,699,928 msg/sec OptimistAtomicQueue,14,s: 43,141,731 msg/sec OptimistAtomicQueue,14,i: 57,050,907 msg/sec OptimistAtomicQueue,15,s: 45,808,602 msg/sec OptimistAtomicQueue,15,i: 60,516,475 msg/sec OptimistAtomicQueue,16,s: 45,725,116 msg/sec OptimistAtomicQueue,16,i: 64,608,300 msg/sec AtomicQueueB, 1,s: 49,846,772 msg/sec AtomicQueueB, 1,i: 50,287,204 msg/sec AtomicQueueB, 2,s: 9,631,527 msg/sec AtomicQueueB, 2,i: 10,305,943 msg/sec AtomicQueueB, 3,s: 8,189,933 msg/sec AtomicQueueB, 3,i: 8,632,278 msg/sec AtomicQueueB, 4,s: 6,541,291 msg/sec AtomicQueueB, 4,i: 6,891,276 msg/sec AtomicQueueB, 5,s: 3,126,105 msg/sec AtomicQueueB, 5,i: 4,318,506 msg/sec AtomicQueueB, 6,s: 2,567,191 msg/sec AtomicQueueB, 6,i: 3,454,763 msg/sec AtomicQueueB, 7,s: 2,917,259 msg/sec AtomicQueueB, 7,i: 3,216,382 msg/sec AtomicQueueB, 8,s: 3,062,422 msg/sec AtomicQueueB, 8,i: 2,865,047 msg/sec AtomicQueueB, 9,s: 2,709,370 msg/sec AtomicQueueB, 9,i: 2,846,412 msg/sec AtomicQueueB,10,s: 2,892,933 msg/sec AtomicQueueB,10,i: 2,936,425 msg/sec AtomicQueueB,11,s: 2,740,227 msg/sec AtomicQueueB,11,i: 2,918,977 msg/sec AtomicQueueB,12,s: 2,664,605 msg/sec AtomicQueueB,12,i: 2,839,844 msg/sec AtomicQueueB,13,s: 2,519,101 msg/sec AtomicQueueB,13,i: 2,790,562 msg/sec AtomicQueueB,14,s: 2,383,328 msg/sec AtomicQueueB,14,i: 2,758,863 msg/sec AtomicQueueB,15,s: 2,375,212 msg/sec AtomicQueueB,15,i: 2,820,801 msg/sec AtomicQueueB,16,s: 2,270,249 msg/sec AtomicQueueB,16,i: 2,731,161 msg/sec OptimistAtomicQueueB, 1,s: 966,873,837 msg/sec OptimistAtomicQueueB, 1,i: 547,585,457 msg/sec OptimistAtomicQueueB, 2,s: 46,560,462 msg/sec OptimistAtomicQueueB, 2,i: 49,366,860 msg/sec OptimistAtomicQueueB, 3,s: 58,596,660 msg/sec OptimistAtomicQueueB, 3,i: 57,250,662 msg/sec OptimistAtomicQueueB, 4,s: 59,599,440 msg/sec OptimistAtomicQueueB, 4,i: 65,699,851 msg/sec OptimistAtomicQueueB, 5,s: 33,048,309 msg/sec OptimistAtomicQueueB, 5,i: 38,872,962 msg/sec OptimistAtomicQueueB, 6,s: 34,289,993 msg/sec OptimistAtomicQueueB, 6,i: 33,972,747 msg/sec OptimistAtomicQueueB, 7,s: 39,179,988 msg/sec OptimistAtomicQueueB, 7,i: 39,995,374 msg/sec OptimistAtomicQueueB, 8,s: 51,407,706 msg/sec OptimistAtomicQueueB, 8,i: 41,143,813 msg/sec OptimistAtomicQueueB, 9,s: 40,602,155 msg/sec OptimistAtomicQueueB, 9,i: 45,627,844 msg/sec OptimistAtomicQueueB,10,s: 39,899,470 msg/sec OptimistAtomicQueueB,10,i: 46,818,007 msg/sec OptimistAtomicQueueB,11,s: 44,249,016 msg/sec OptimistAtomicQueueB,11,i: 52,187,347 msg/sec OptimistAtomicQueueB,12,s: 43,778,641 msg/sec OptimistAtomicQueueB,12,i: 56,936,977 msg/sec OptimistAtomicQueueB,13,s: 43,664,642 msg/sec OptimistAtomicQueueB,13,i: 55,833,343 msg/sec OptimistAtomicQueueB,14,s: 43,532,089 msg/sec OptimistAtomicQueueB,14,i: 56,516,271 msg/sec OptimistAtomicQueueB,15,s: 46,092,858 msg/sec OptimistAtomicQueueB,15,i: 60,369,251 msg/sec OptimistAtomicQueueB,16,s: 46,173,094 msg/sec OptimistAtomicQueueB,16,i: 64,697,373 msg/sec AtomicQueue2, 1,s: 130,023,201 msg/sec AtomicQueue2, 1,i: 129,327,392 msg/sec AtomicQueue2, 2,s: 9,948,660 msg/sec AtomicQueue2, 2,i: 10,545,247 msg/sec AtomicQueue2, 3,s: 8,420,345 msg/sec AtomicQueue2, 3,i: 8,917,611 msg/sec AtomicQueue2, 4,s: 6,686,654 msg/sec AtomicQueue2, 4,i: 7,081,551 msg/sec AtomicQueue2, 5,s: 3,136,496 msg/sec AtomicQueue2, 5,i: 4,267,825 msg/sec AtomicQueue2, 6,s: 2,567,007 msg/sec AtomicQueue2, 6,i: 3,965,280 msg/sec AtomicQueue2, 7,s: 2,894,607 msg/sec AtomicQueue2, 7,i: 3,200,621 msg/sec AtomicQueue2, 8,s: 3,005,781 msg/sec AtomicQueue2, 8,i: 2,918,178 msg/sec AtomicQueue2, 9,s: 2,748,724 msg/sec AtomicQueue2, 9,i: 2,940,204 msg/sec AtomicQueue2,10,s: 2,785,730 msg/sec AtomicQueue2,10,i: 2,954,968 msg/sec AtomicQueue2,11,s: 2,741,138 msg/sec AtomicQueue2,11,i: 2,885,881 msg/sec AtomicQueue2,12,s: 2,702,750 msg/sec AtomicQueue2,12,i: 2,841,362 msg/sec AtomicQueue2,13,s: 2,540,721 msg/sec AtomicQueue2,13,i: 2,786,991 msg/sec AtomicQueue2,14,s: 2,393,688 msg/sec AtomicQueue2,14,i: 2,724,719 msg/sec AtomicQueue2,15,s: 2,387,424 msg/sec AtomicQueue2,15,i: 2,798,532 msg/sec AtomicQueue2,16,s: 2,286,559 msg/sec AtomicQueue2,16,i: 2,713,351 msg/sec OptimistAtomicQueue2, 1,s: 107,359,957 msg/sec OptimistAtomicQueue2, 1,i: 107,392,355 msg/sec OptimistAtomicQueue2, 2,s: 43,453,423 msg/sec OptimistAtomicQueue2, 2,i: 47,452,104 msg/sec OptimistAtomicQueue2, 3,s: 54,601,332 msg/sec OptimistAtomicQueue2, 3,i: 49,994,698 msg/sec OptimistAtomicQueue2, 4,s: 59,199,313 msg/sec OptimistAtomicQueue2, 4,i: 57,742,301 msg/sec OptimistAtomicQueue2, 5,s: 31,501,795 msg/sec OptimistAtomicQueue2, 5,i: 32,650,210 msg/sec OptimistAtomicQueue2, 6,s: 32,851,534 msg/sec OptimistAtomicQueue2, 6,i: 32,530,460 msg/sec OptimistAtomicQueue2, 7,s: 37,732,915 msg/sec OptimistAtomicQueue2, 7,i: 37,653,964 msg/sec OptimistAtomicQueue2, 8,s: 48,971,406 msg/sec OptimistAtomicQueue2, 8,i: 39,885,816 msg/sec OptimistAtomicQueue2, 9,s: 37,432,182 msg/sec OptimistAtomicQueue2, 9,i: 42,549,651 msg/sec OptimistAtomicQueue2,10,s: 37,555,912 msg/sec OptimistAtomicQueue2,10,i: 44,068,033 msg/sec OptimistAtomicQueue2,11,s: 42,864,948 msg/sec OptimistAtomicQueue2,11,i: 47,939,033 msg/sec OptimistAtomicQueue2,12,s: 42,076,818 msg/sec OptimistAtomicQueue2,12,i: 52,596,930 msg/sec OptimistAtomicQueue2,13,s: 41,048,684 msg/sec OptimistAtomicQueue2,13,i: 52,998,899 msg/sec OptimistAtomicQueue2,14,s: 40,838,731 msg/sec OptimistAtomicQueue2,14,i: 52,947,231 msg/sec OptimistAtomicQueue2,15,s: 43,235,469 msg/sec OptimistAtomicQueue2,15,i: 56,069,235 msg/sec OptimistAtomicQueue2,16,s: 43,389,810 msg/sec OptimistAtomicQueue2,16,i: 59,165,864 msg/sec AtomicQueueB2, 1,s: 79,781,973 msg/sec AtomicQueueB2, 1,i: 73,343,147 msg/sec AtomicQueueB2, 2,s: 9,833,172 msg/sec AtomicQueueB2, 2,i: 10,399,358 msg/sec AtomicQueueB2, 3,s: 8,316,834 msg/sec AtomicQueueB2, 3,i: 8,838,683 msg/sec AtomicQueueB2, 4,s: 6,613,294 msg/sec AtomicQueueB2, 4,i: 6,955,485 msg/sec AtomicQueueB2, 5,s: 3,094,519 msg/sec AtomicQueueB2, 5,i: 4,321,023 msg/sec AtomicQueueB2, 6,s: 2,550,004 msg/sec AtomicQueueB2, 6,i: 3,483,276 msg/sec AtomicQueueB2, 7,s: 2,889,925 msg/sec AtomicQueueB2, 7,i: 3,168,896 msg/sec AtomicQueueB2, 8,s: 3,020,055 msg/sec AtomicQueueB2, 8,i: 2,849,562 msg/sec AtomicQueueB2, 9,s: 2,742,186 msg/sec AtomicQueueB2, 9,i: 2,838,524 msg/sec AtomicQueueB2,10,s: 2,753,455 msg/sec AtomicQueueB2,10,i: 2,840,286 msg/sec AtomicQueueB2,11,s: 2,813,530 msg/sec AtomicQueueB2,11,i: 2,909,707 msg/sec AtomicQueueB2,12,s: 2,756,689 msg/sec AtomicQueueB2,12,i: 2,849,020 msg/sec AtomicQueueB2,13,s: 2,624,673 msg/sec AtomicQueueB2,13,i: 2,816,448 msg/sec AtomicQueueB2,14,s: 2,455,365 msg/sec AtomicQueueB2,14,i: 2,770,318 msg/sec AtomicQueueB2,15,s: 2,424,943 msg/sec AtomicQueueB2,15,i: 2,751,882 msg/sec AtomicQueueB2,16,s: 2,303,138 msg/sec AtomicQueueB2,16,i: 2,743,084 msg/sec OptimistAtomicQueueB2, 1,s: 152,952,504 msg/sec OptimistAtomicQueueB2, 1,i: 153,007,031 msg/sec OptimistAtomicQueueB2, 2,s: 42,010,514 msg/sec OptimistAtomicQueueB2, 2,i: 45,681,586 msg/sec OptimistAtomicQueueB2, 3,s: 56,980,562 msg/sec OptimistAtomicQueueB2, 3,i: 53,159,772 msg/sec OptimistAtomicQueueB2, 4,s: 59,101,350 msg/sec OptimistAtomicQueueB2, 4,i: 59,687,731 msg/sec OptimistAtomicQueueB2, 5,s: 31,401,295 msg/sec OptimistAtomicQueueB2, 5,i: 31,647,696 msg/sec OptimistAtomicQueueB2, 6,s: 32,875,315 msg/sec OptimistAtomicQueueB2, 6,i: 32,337,318 msg/sec OptimistAtomicQueueB2, 7,s: 37,122,659 msg/sec OptimistAtomicQueueB2, 7,i: 37,024,979 msg/sec OptimistAtomicQueueB2, 8,s: 47,821,822 msg/sec OptimistAtomicQueueB2, 8,i: 38,968,211 msg/sec OptimistAtomicQueueB2, 9,s: 36,954,550 msg/sec OptimistAtomicQueueB2, 9,i: 41,280,455 msg/sec OptimistAtomicQueueB2,10,s: 37,254,895 msg/sec OptimistAtomicQueueB2,10,i: 43,021,910 msg/sec OptimistAtomicQueueB2,11,s: 42,418,957 msg/sec OptimistAtomicQueueB2,11,i: 47,579,460 msg/sec OptimistAtomicQueueB2,12,s: 41,798,279 msg/sec OptimistAtomicQueueB2,12,i: 51,143,290 msg/sec OptimistAtomicQueueB2,13,s: 40,843,847 msg/sec OptimistAtomicQueueB2,13,i: 52,129,017 msg/sec OptimistAtomicQueueB2,14,s: 40,622,492 msg/sec OptimistAtomicQueueB2,14,i: 53,174,599 msg/sec OptimistAtomicQueueB2,15,s: 43,051,870 msg/sec OptimistAtomicQueueB2,15,i: 56,427,848 msg/sec OptimistAtomicQueueB2,16,s: 43,231,982 msg/sec OptimistAtomicQueueB2,16,i: 59,235,782 msg/sec moodycamel::ReaderWriterQueue, 1,s: 229,428,405 msg/sec moodycamel::ReaderWriterQueue, 1,i: 263,087,014 msg/sec moodycamel::ConcurrentQueue, 1,s: 16,100,691 msg/sec moodycamel::ConcurrentQueue, 1,i: 16,307,732 msg/sec moodycamel::ConcurrentQueue, 2,s: 37,300,641 msg/sec moodycamel::ConcurrentQueue, 2,i: 38,257,187 msg/sec moodycamel::ConcurrentQueue, 3,s: 61,698,746 msg/sec moodycamel::ConcurrentQueue, 3,i: 54,112,271 msg/sec moodycamel::ConcurrentQueue, 4,s: 104,073,959 msg/sec moodycamel::ConcurrentQueue, 4,i: 100,010,695 msg/sec moodycamel::ConcurrentQueue, 5,s: 97,845,209 msg/sec moodycamel::ConcurrentQueue, 5,i: 179,034,555 msg/sec moodycamel::ConcurrentQueue, 6,s: 209,235,798 msg/sec moodycamel::ConcurrentQueue, 6,i: 210,337,780 msg/sec moodycamel::ConcurrentQueue, 7,s: 227,331,591 msg/sec moodycamel::ConcurrentQueue, 7,i: 217,839,571 msg/sec moodycamel::ConcurrentQueue, 8,s: 266,754,500 msg/sec moodycamel::ConcurrentQueue, 8,i: 233,256,269 msg/sec moodycamel::ConcurrentQueue, 9,s: 243,421,986 msg/sec moodycamel::ConcurrentQueue, 9,i: 255,084,530 msg/sec moodycamel::ConcurrentQueue,10,s: 252,234,213 msg/sec moodycamel::ConcurrentQueue,10,i: 255,437,588 msg/sec moodycamel::ConcurrentQueue,11,s: 281,004,255 msg/sec moodycamel::ConcurrentQueue,11,i: 227,232,805 msg/sec moodycamel::ConcurrentQueue,12,s: 172,960,940 msg/sec moodycamel::ConcurrentQueue,12,i: 218,578,013 msg/sec moodycamel::ConcurrentQueue,13,s: 230,848,413 msg/sec moodycamel::ConcurrentQueue,13,i: 265,888,162 msg/sec moodycamel::ConcurrentQueue,14,s: 329,401,709 msg/sec moodycamel::ConcurrentQueue,14,i: 336,497,630 msg/sec moodycamel::ConcurrentQueue,15,s: 384,041,652 msg/sec moodycamel::ConcurrentQueue,15,i: 437,599,470 msg/sec moodycamel::ConcurrentQueue,16,s: 494,908,984 msg/sec moodycamel::ConcurrentQueue,16,i: 502,342,327 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,813,652 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,821,520 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,140,833 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,127,956 msg/sec tbb::concurrent_bounded_queue, 3,s: 7,971,257 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,064,120 msg/sec tbb::concurrent_bounded_queue, 4,s: 6,414,127 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,633,019 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,073,114 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,625,531 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,793,422 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,395,541 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,657,120 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,147,998 msg/sec tbb::concurrent_bounded_queue, 8,s: 2,778,611 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,811,246 msg/sec tbb::concurrent_bounded_queue, 9,s: 2,690,391 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,912,872 msg/sec tbb::concurrent_bounded_queue,10,s: 2,767,513 msg/sec tbb::concurrent_bounded_queue,10,i: 2,882,672 msg/sec tbb::concurrent_bounded_queue,11,s: 2,659,282 msg/sec tbb::concurrent_bounded_queue,11,i: 2,834,086 msg/sec tbb::concurrent_bounded_queue,12,s: 2,567,544 msg/sec tbb::concurrent_bounded_queue,12,i: 2,792,473 msg/sec tbb::concurrent_bounded_queue,13,s: 2,489,445 msg/sec tbb::concurrent_bounded_queue,13,i: 2,730,309 msg/sec tbb::concurrent_bounded_queue,14,s: 2,387,150 msg/sec tbb::concurrent_bounded_queue,14,i: 2,763,238 msg/sec tbb::concurrent_bounded_queue,15,s: 2,357,261 msg/sec tbb::concurrent_bounded_queue,15,i: 2,603,912 msg/sec tbb::concurrent_bounded_queue,16,s: 2,260,974 msg/sec tbb::concurrent_bounded_queue,16,i: 2,530,489 msg/sec xenium::michael_scott_queue, 1,s: 13,470,886 msg/sec xenium::michael_scott_queue, 1,i: 13,772,966 msg/sec xenium::michael_scott_queue, 2,s: 9,404,503 msg/sec xenium::michael_scott_queue, 2,i: 9,182,833 msg/sec xenium::michael_scott_queue, 3,s: 7,636,033 msg/sec xenium::michael_scott_queue, 3,i: 7,538,618 msg/sec xenium::michael_scott_queue, 4,s: 5,850,537 msg/sec xenium::michael_scott_queue, 4,i: 5,826,647 msg/sec xenium::michael_scott_queue, 5,s: 3,635,084 msg/sec xenium::michael_scott_queue, 5,i: 4,666,698 msg/sec xenium::michael_scott_queue, 6,s: 3,347,095 msg/sec xenium::michael_scott_queue, 6,i: 3,582,581 msg/sec xenium::michael_scott_queue, 7,s: 3,191,744 msg/sec xenium::michael_scott_queue, 7,i: 3,249,077 msg/sec xenium::michael_scott_queue, 8,s: 2,367,686 msg/sec xenium::michael_scott_queue, 8,i: 2,792,561 msg/sec xenium::michael_scott_queue, 9,s: 2,862,651 msg/sec xenium::michael_scott_queue, 9,i: 2,853,978 msg/sec xenium::michael_scott_queue,10,s: 2,820,615 msg/sec xenium::michael_scott_queue,10,i: 2,833,122 msg/sec xenium::michael_scott_queue,11,s: 2,753,969 msg/sec xenium::michael_scott_queue,11,i: 2,870,240 msg/sec xenium::michael_scott_queue,12,s: 2,599,777 msg/sec xenium::michael_scott_queue,12,i: 2,751,465 msg/sec xenium::michael_scott_queue,13,s: 2,546,410 msg/sec xenium::michael_scott_queue,13,i: 2,681,984 msg/sec xenium::michael_scott_queue,14,s: 2,426,290 msg/sec xenium::michael_scott_queue,14,i: 2,647,811 msg/sec xenium::michael_scott_queue,15,s: 2,327,499 msg/sec xenium::michael_scott_queue,15,i: 2,601,537 msg/sec xenium::michael_scott_queue,16,s: 2,216,685 msg/sec xenium::michael_scott_queue,16,i: 2,511,913 msg/sec xenium::ramalhete_queue, 1,s: 72,525,179 msg/sec xenium::ramalhete_queue, 1,i: 66,165,495 msg/sec xenium::ramalhete_queue, 2,s: 44,461,712 msg/sec xenium::ramalhete_queue, 2,i: 41,689,979 msg/sec xenium::ramalhete_queue, 3,s: 43,835,007 msg/sec xenium::ramalhete_queue, 3,i: 40,895,684 msg/sec xenium::ramalhete_queue, 4,s: 48,205,733 msg/sec xenium::ramalhete_queue, 4,i: 47,548,919 msg/sec xenium::ramalhete_queue, 5,s: 37,428,451 msg/sec xenium::ramalhete_queue, 5,i: 23,360,920 msg/sec xenium::ramalhete_queue, 6,s: 38,956,569 msg/sec xenium::ramalhete_queue, 6,i: 26,163,179 msg/sec xenium::ramalhete_queue, 7,s: 40,483,484 msg/sec xenium::ramalhete_queue, 7,i: 28,464,502 msg/sec xenium::ramalhete_queue, 8,s: 50,802,476 msg/sec xenium::ramalhete_queue, 8,i: 29,096,437 msg/sec xenium::ramalhete_queue, 9,s: 33,066,090 msg/sec xenium::ramalhete_queue, 9,i: 36,425,250 msg/sec xenium::ramalhete_queue,10,s: 35,209,040 msg/sec xenium::ramalhete_queue,10,i: 40,286,881 msg/sec xenium::ramalhete_queue,11,s: 36,410,695 msg/sec xenium::ramalhete_queue,11,i: 43,061,892 msg/sec xenium::ramalhete_queue,12,s: 38,821,361 msg/sec xenium::ramalhete_queue,12,i: 41,294,790 msg/sec xenium::ramalhete_queue,13,s: 39,341,061 msg/sec xenium::ramalhete_queue,13,i: 42,432,073 msg/sec xenium::ramalhete_queue,14,s: 39,656,489 msg/sec xenium::ramalhete_queue,14,i: 42,867,496 msg/sec xenium::ramalhete_queue,15,s: 39,434,455 msg/sec xenium::ramalhete_queue,15,i: 44,139,112 msg/sec xenium::ramalhete_queue,16,s: 36,730,583 msg/sec xenium::ramalhete_queue,16,i: 44,386,918 msg/sec xenium::vyukov_bounded_queue, 1,s: 310,870,831 msg/sec xenium::vyukov_bounded_queue, 1,i: 310,991,675 msg/sec xenium::vyukov_bounded_queue, 2,s: 21,814,942 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,576,695 msg/sec xenium::vyukov_bounded_queue, 3,s: 12,702,006 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,137,970 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,212,905 msg/sec xenium::vyukov_bounded_queue, 4,i: 14,604,363 msg/sec xenium::vyukov_bounded_queue, 5,s: 6,965,833 msg/sec xenium::vyukov_bounded_queue, 5,i: 12,543,203 msg/sec xenium::vyukov_bounded_queue, 6,s: 7,083,336 msg/sec xenium::vyukov_bounded_queue, 6,i: 7,879,240 msg/sec xenium::vyukov_bounded_queue, 7,s: 7,217,492 msg/sec xenium::vyukov_bounded_queue, 7,i: 7,451,044 msg/sec xenium::vyukov_bounded_queue, 8,s: 9,891,431 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,537,048 msg/sec xenium::vyukov_bounded_queue, 9,s: 7,175,995 msg/sec xenium::vyukov_bounded_queue, 9,i: 6,646,124 msg/sec xenium::vyukov_bounded_queue,10,s: 7,621,151 msg/sec xenium::vyukov_bounded_queue,10,i: 6,948,473 msg/sec xenium::vyukov_bounded_queue,11,s: 7,335,200 msg/sec xenium::vyukov_bounded_queue,11,i: 7,186,691 msg/sec xenium::vyukov_bounded_queue,12,s: 7,429,626 msg/sec xenium::vyukov_bounded_queue,12,i: 7,490,790 msg/sec xenium::vyukov_bounded_queue,13,s: 6,980,513 msg/sec xenium::vyukov_bounded_queue,13,i: 7,365,654 msg/sec xenium::vyukov_bounded_queue,14,s: 6,956,062 msg/sec xenium::vyukov_bounded_queue,14,i: 7,457,605 msg/sec xenium::vyukov_bounded_queue,15,s: 7,135,506 msg/sec xenium::vyukov_bounded_queue,15,i: 7,184,818 msg/sec xenium::vyukov_bounded_queue,16,s: 6,888,911 msg/sec xenium::vyukov_bounded_queue,16,i: 7,091,134 msg/sec boost::lockfree::queue, 1,s: 7,737,900 msg/sec boost::lockfree::queue, 1,i: 7,845,980 msg/sec boost::lockfree::queue, 2,s: 5,847,783 msg/sec boost::lockfree::queue, 2,i: 5,914,119 msg/sec boost::lockfree::queue, 3,s: 4,944,394 msg/sec boost::lockfree::queue, 3,i: 4,792,703 msg/sec boost::lockfree::queue, 4,s: 4,373,202 msg/sec boost::lockfree::queue, 4,i: 4,331,739 msg/sec boost::lockfree::queue, 5,s: 2,636,871 msg/sec boost::lockfree::queue, 5,i: 2,908,254 msg/sec boost::lockfree::queue, 6,s: 1,433,246 msg/sec boost::lockfree::queue, 6,i: 3,001,459 msg/sec boost::lockfree::queue, 7,s: 1,375,854 msg/sec boost::lockfree::queue, 7,i: 2,822,096 msg/sec boost::lockfree::queue, 8,s: 1,154,781 msg/sec boost::lockfree::queue, 8,i: 1,829,814 msg/sec boost::lockfree::queue, 9,s: 1,427,723 msg/sec boost::lockfree::queue, 9,i: 1,840,930 msg/sec boost::lockfree::queue,10,s: 1,607,876 msg/sec boost::lockfree::queue,10,i: 1,917,226 msg/sec boost::lockfree::queue,11,s: 1,752,730 msg/sec boost::lockfree::queue,11,i: 1,906,754 msg/sec boost::lockfree::queue,12,s: 1,754,405 msg/sec boost::lockfree::queue,12,i: 1,673,134 msg/sec boost::lockfree::queue,13,s: 1,610,268 msg/sec boost::lockfree::queue,13,i: 1,661,970 msg/sec boost::lockfree::queue,14,s: 1,537,117 msg/sec boost::lockfree::queue,14,i: 1,630,409 msg/sec boost::lockfree::queue,15,s: 1,561,357 msg/sec boost::lockfree::queue,15,i: 1,565,168 msg/sec boost::lockfree::queue,16,s: 1,518,778 msg/sec boost::lockfree::queue,16,i: 1,495,169 msg/sec std::mutex, 1,s: 3,931,337 msg/sec std::mutex, 1,i: 3,688,745 msg/sec std::mutex, 2,s: 12,676,351 msg/sec std::mutex, 2,i: 12,002,545 msg/sec std::mutex, 3,s: 7,154,726 msg/sec std::mutex, 3,i: 7,026,190 msg/sec std::mutex, 4,s: 7,125,274 msg/sec std::mutex, 4,i: 6,620,673 msg/sec std::mutex, 5,s: 3,407,697 msg/sec std::mutex, 5,i: 3,416,877 msg/sec std::mutex, 6,s: 3,018,313 msg/sec std::mutex, 6,i: 2,964,333 msg/sec std::mutex, 7,s: 3,288,179 msg/sec std::mutex, 7,i: 2,914,491 msg/sec std::mutex, 8,s: 3,481,447 msg/sec std::mutex, 8,i: 2,789,141 msg/sec std::mutex, 9,s: 2,920,888 msg/sec std::mutex, 9,i: 2,723,379 msg/sec std::mutex,10,s: 2,641,582 msg/sec std::mutex,10,i: 2,557,035 msg/sec std::mutex,11,s: 2,784,717 msg/sec std::mutex,11,i: 2,649,724 msg/sec std::mutex,12,s: 2,603,683 msg/sec std::mutex,12,i: 2,555,188 msg/sec std::mutex,13,s: 2,514,291 msg/sec std::mutex,13,i: 2,454,664 msg/sec std::mutex,14,s: 2,400,649 msg/sec std::mutex,14,i: 2,348,713 msg/sec std::mutex,15,s: 2,412,946 msg/sec std::mutex,15,i: 2,370,855 msg/sec std::mutex,16,s: 2,332,218 msg/sec std::mutex,16,i: 2,271,772 msg/sec pthread_spinlock, 1,s: 17,778,205 msg/sec pthread_spinlock, 1,i: 17,980,170 msg/sec pthread_spinlock, 2,s: 8,363,689 msg/sec pthread_spinlock, 2,i: 2,202,503 msg/sec pthread_spinlock, 3,s: 786,652 msg/sec pthread_spinlock, 3,i: 6,613,589 msg/sec pthread_spinlock, 4,s: 2,282,115 msg/sec pthread_spinlock, 4,i: 2,125,856 msg/sec pthread_spinlock, 5,s: 2,764,517 msg/sec pthread_spinlock, 5,i: 964,327 msg/sec pthread_spinlock, 6,s: 1,996,191 msg/sec pthread_spinlock, 6,i: 3,212,388 msg/sec pthread_spinlock, 7,s: 2,828,257 msg/sec pthread_spinlock, 7,i: 3,055,392 msg/sec pthread_spinlock, 8,s: 2,936,433 msg/sec pthread_spinlock, 8,i: 2,690,948 msg/sec pthread_spinlock, 9,s: 2,697,559 msg/sec pthread_spinlock, 9,i: 2,347,353 msg/sec pthread_spinlock,10,s: 2,722,710 msg/sec pthread_spinlock,10,i: 2,382,772 msg/sec pthread_spinlock,11,s: 2,588,079 msg/sec pthread_spinlock,11,i: 2,704,596 msg/sec pthread_spinlock,12,s: 2,437,711 msg/sec pthread_spinlock,12,i: 2,426,475 msg/sec pthread_spinlock,13,s: 2,341,493 msg/sec pthread_spinlock,13,i: 2,091,399 msg/sec pthread_spinlock,14,s: 2,281,892 msg/sec pthread_spinlock,14,i: 2,062,892 msg/sec pthread_spinlock,15,s: 2,013,192 msg/sec pthread_spinlock,15,i: 1,873,631 msg/sec pthread_spinlock,16,s: 1,794,726 msg/sec pthread_spinlock,16,i: 1,598,562 msg/sec tbb::spin_mutex, 1,s: 37,924,968 msg/sec tbb::spin_mutex, 1,i: 37,710,748 msg/sec tbb::spin_mutex, 2,s: 16,408,458 msg/sec tbb::spin_mutex, 2,i: 16,062,200 msg/sec tbb::spin_mutex, 3,s: 12,052,248 msg/sec tbb::spin_mutex, 3,i: 11,874,823 msg/sec tbb::spin_mutex, 4,s: 10,493,619 msg/sec tbb::spin_mutex, 4,i: 10,131,763 msg/sec tbb::spin_mutex, 5,s: 5,970,673 msg/sec tbb::spin_mutex, 5,i: 5,509,326 msg/sec tbb::spin_mutex, 6,s: 5,108,081 msg/sec tbb::spin_mutex, 6,i: 4,844,147 msg/sec tbb::spin_mutex, 7,s: 4,367,584 msg/sec tbb::spin_mutex, 7,i: 4,902,088 msg/sec tbb::spin_mutex, 8,s: 4,295,355 msg/sec tbb::spin_mutex, 8,i: 4,056,773 msg/sec tbb::spin_mutex, 9,s: 4,478,158 msg/sec tbb::spin_mutex, 9,i: 4,331,515 msg/sec tbb::spin_mutex,10,s: 4,354,103 msg/sec tbb::spin_mutex,10,i: 4,249,610 msg/sec tbb::spin_mutex,11,s: 4,226,061 msg/sec tbb::spin_mutex,11,i: 3,601,823 msg/sec tbb::spin_mutex,12,s: 3,804,287 msg/sec tbb::spin_mutex,12,i: 3,491,504 msg/sec tbb::spin_mutex,13,s: 3,555,776 msg/sec tbb::spin_mutex,13,i: 3,294,783 msg/sec tbb::spin_mutex,14,s: 3,378,973 msg/sec tbb::spin_mutex,14,i: 3,205,901 msg/sec tbb::spin_mutex,15,s: 3,229,555 msg/sec tbb::spin_mutex,15,i: 3,076,573 msg/sec tbb::spin_mutex,16,s: 2,857,554 msg/sec tbb::spin_mutex,16,i: 3,002,627 msg/sec Elapsed time 6:14.94, user 5643.24s, system 603.37s, CPU 1666%, RSS 95240kB, exit-status 0. max0x7ba-atomic_queue-40624b8/results/adea692.ryzen_5825u.smt0.20260913T102726.gcc-14.8.33.txt000066400000000000000000013055711525237550500274760ustar00rootroot00000000000000 2026-09-13 10:27:26 [1/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000159 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000128 sec/round-trip AtomicQueue2: 0.000000142 sec/round-trip OptimistAtomicQueue2: 0.000000120 sec/round-trip AtomicQueueB2: 0.000000146 sec/round-trip OptimistAtomicQueueB2: 0.000000116 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000189 sec/round-trip tbb::concurrent_bounded_queue: 0.000000339 sec/round-trip xenium::michael_scott_queue: 0.000000300 sec/round-trip xenium::ramalhete_queue: 0.000000162 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000260 sec/round-trip std::mutex: 0.000000576 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 166,511,515 msg/sec boost::lockfree::spsc_queue, 1,i: 164,701,864 msg/sec AtomicQueue, 1,s: 83,782,919 msg/sec AtomicQueue, 1,i: 82,534,524 msg/sec AtomicQueue, 2,s: 8,627,884 msg/sec AtomicQueue, 2,i: 8,661,973 msg/sec AtomicQueue, 3,s: 6,613,201 msg/sec AtomicQueue, 3,i: 6,608,407 msg/sec AtomicQueue, 4,s: 4,907,221 msg/sec AtomicQueue, 4,i: 5,143,517 msg/sec OptimistAtomicQueue, 1,s: 1,001,073,198 msg/sec OptimistAtomicQueue, 1,i: 844,129,264 msg/sec OptimistAtomicQueue, 2,s: 35,320,180 msg/sec OptimistAtomicQueue, 2,i: 38,544,017 msg/sec OptimistAtomicQueue, 3,s: 41,305,480 msg/sec OptimistAtomicQueue, 3,i: 36,880,262 msg/sec OptimistAtomicQueue, 4,s: 40,057,858 msg/sec OptimistAtomicQueue, 4,i: 38,509,129 msg/sec AtomicQueueB, 1,s: 59,828,635 msg/sec AtomicQueueB, 1,i: 56,402,139 msg/sec AtomicQueueB, 2,s: 8,570,348 msg/sec AtomicQueueB, 2,i: 8,639,327 msg/sec AtomicQueueB, 3,s: 6,121,249 msg/sec AtomicQueueB, 3,i: 6,282,041 msg/sec AtomicQueueB, 4,s: 4,777,035 msg/sec AtomicQueueB, 4,i: 4,912,818 msg/sec OptimistAtomicQueueB, 1,s: 486,944,431 msg/sec OptimistAtomicQueueB, 1,i: 367,819,777 msg/sec OptimistAtomicQueueB, 2,s: 35,751,987 msg/sec OptimistAtomicQueueB, 2,i: 37,844,929 msg/sec OptimistAtomicQueueB, 3,s: 40,203,626 msg/sec OptimistAtomicQueueB, 3,i: 35,897,451 msg/sec OptimistAtomicQueueB, 4,s: 39,494,813 msg/sec OptimistAtomicQueueB, 4,i: 37,489,145 msg/sec AtomicQueue2, 1,s: 59,881,508 msg/sec AtomicQueue2, 1,i: 60,237,743 msg/sec AtomicQueue2, 2,s: 8,342,422 msg/sec AtomicQueue2, 2,i: 8,395,865 msg/sec AtomicQueue2, 3,s: 6,302,505 msg/sec AtomicQueue2, 3,i: 6,362,398 msg/sec AtomicQueue2, 4,s: 4,776,386 msg/sec AtomicQueue2, 4,i: 4,963,220 msg/sec OptimistAtomicQueue2, 1,s: 101,132,624 msg/sec OptimistAtomicQueue2, 1,i: 105,049,278 msg/sec OptimistAtomicQueue2, 2,s: 33,862,451 msg/sec OptimistAtomicQueue2, 2,i: 38,949,230 msg/sec OptimistAtomicQueue2, 3,s: 39,386,620 msg/sec OptimistAtomicQueue2, 3,i: 33,859,555 msg/sec OptimistAtomicQueue2, 4,s: 38,521,510 msg/sec OptimistAtomicQueue2, 4,i: 36,793,164 msg/sec AtomicQueueB2, 1,s: 58,975,665 msg/sec AtomicQueueB2, 1,i: 71,760,276 msg/sec AtomicQueueB2, 2,s: 8,331,673 msg/sec AtomicQueueB2, 2,i: 8,140,398 msg/sec AtomicQueueB2, 3,s: 6,197,434 msg/sec AtomicQueueB2, 3,i: 6,330,973 msg/sec AtomicQueueB2, 4,s: 4,682,404 msg/sec AtomicQueueB2, 4,i: 5,004,752 msg/sec OptimistAtomicQueueB2, 1,s: 91,468,533 msg/sec OptimistAtomicQueueB2, 1,i: 108,216,913 msg/sec OptimistAtomicQueueB2, 2,s: 35,728,029 msg/sec OptimistAtomicQueueB2, 2,i: 37,823,603 msg/sec OptimistAtomicQueueB2, 3,s: 39,622,627 msg/sec OptimistAtomicQueueB2, 3,i: 36,026,609 msg/sec OptimistAtomicQueueB2, 4,s: 37,681,519 msg/sec OptimistAtomicQueueB2, 4,i: 37,694,541 msg/sec moodycamel::ReaderWriterQueue, 1,s: 580,730,561 msg/sec moodycamel::ReaderWriterQueue, 1,i: 800,149,113 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,847,318 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,763,662 msg/sec moodycamel::ConcurrentQueue, 2,s: 27,296,486 msg/sec moodycamel::ConcurrentQueue, 2,i: 24,216,369 msg/sec moodycamel::ConcurrentQueue, 3,s: 39,356,319 msg/sec moodycamel::ConcurrentQueue, 3,i: 41,938,101 msg/sec moodycamel::ConcurrentQueue, 4,s: 66,801,373 msg/sec moodycamel::ConcurrentQueue, 4,i: 61,892,832 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,757,787 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,744,583 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,375,305 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,409,948 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,744,166 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,836,108 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,408,147 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,477,068 msg/sec xenium::michael_scott_queue, 1,s: 11,696,481 msg/sec xenium::michael_scott_queue, 1,i: 11,584,472 msg/sec xenium::michael_scott_queue, 2,s: 7,349,911 msg/sec xenium::michael_scott_queue, 2,i: 6,993,715 msg/sec xenium::michael_scott_queue, 3,s: 5,075,671 msg/sec xenium::michael_scott_queue, 3,i: 5,029,493 msg/sec xenium::michael_scott_queue, 4,s: 3,804,492 msg/sec xenium::michael_scott_queue, 4,i: 3,693,056 msg/sec xenium::ramalhete_queue, 1,s: 60,443,011 msg/sec xenium::ramalhete_queue, 1,i: 56,263,452 msg/sec xenium::ramalhete_queue, 2,s: 46,954,777 msg/sec xenium::ramalhete_queue, 2,i: 25,999,226 msg/sec xenium::ramalhete_queue, 3,s: 31,941,254 msg/sec xenium::ramalhete_queue, 3,i: 31,027,432 msg/sec xenium::ramalhete_queue, 4,s: 29,085,326 msg/sec xenium::ramalhete_queue, 4,i: 31,432,441 msg/sec xenium::vyukov_bounded_queue, 1,s: 213,190,564 msg/sec xenium::vyukov_bounded_queue, 1,i: 234,314,879 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,817,814 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,742,668 msg/sec xenium::vyukov_bounded_queue, 3,s: 8,807,219 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,385,051 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,066,637 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,953,210 msg/sec boost::lockfree::queue, 1,s: 7,030,405 msg/sec boost::lockfree::queue, 1,i: 7,035,245 msg/sec boost::lockfree::queue, 2,s: 4,263,523 msg/sec boost::lockfree::queue, 2,i: 4,298,868 msg/sec boost::lockfree::queue, 3,s: 3,464,382 msg/sec boost::lockfree::queue, 3,i: 3,429,389 msg/sec boost::lockfree::queue, 4,s: 2,767,438 msg/sec boost::lockfree::queue, 4,i: 2,753,912 msg/sec std::mutex, 1,s: 3,605,813 msg/sec std::mutex, 1,i: 4,173,360 msg/sec std::mutex, 2,s: 9,737,536 msg/sec std::mutex, 2,i: 9,519,675 msg/sec std::mutex, 3,s: 4,790,180 msg/sec std::mutex, 3,i: 4,658,176 msg/sec std::mutex, 4,s: 4,388,093 msg/sec std::mutex, 4,i: 4,196,349 msg/sec pthread_spinlock, 1,s: 15,685,086 msg/sec pthread_spinlock, 1,i: 15,394,332 msg/sec pthread_spinlock, 2,s: 9,550,134 msg/sec pthread_spinlock, 2,i: 5,375,560 msg/sec pthread_spinlock, 3,s: 316,599 msg/sec pthread_spinlock, 3,i: 9,423,023 msg/sec pthread_spinlock, 4,s: 1,258,674 msg/sec pthread_spinlock: producers: 4: consumer 2 received too few messages: 0.10% of expected. pthread_spinlock, 4,i: 1,005,837 msg/sec tbb::spin_mutex, 1,s: 44,777,619 msg/sec tbb::spin_mutex, 1,i: 44,619,958 msg/sec tbb::spin_mutex, 2,s: 9,304,668 msg/sec tbb::spin_mutex, 2,i: 8,777,511 msg/sec tbb::spin_mutex, 3,s: 5,472,581 msg/sec tbb::spin_mutex, 3,i: 5,530,572 msg/sec tbb::spin_mutex, 4,s: 3,609,566 msg/sec tbb::spin_mutex, 4,i: 3,686,762 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 354.18 System time (seconds): 22.62 Percent of CPU this job got: 481% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.32 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 50684 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15069 Voluntary context switches: 2609284 Involuntary context switches: 86 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:28:44 [2/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000145 sec/round-trip OptimistAtomicQueue: 0.000000138 sec/round-trip AtomicQueueB: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000099 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000121 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000124 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000300 sec/round-trip xenium::ramalhete_queue: 0.000000161 sec/round-trip xenium::vyukov_bounded_queue: 0.000000161 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000589 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000245 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 167,548,821 msg/sec boost::lockfree::spsc_queue, 1,i: 149,758,577 msg/sec AtomicQueue, 1,s: 105,043,971 msg/sec AtomicQueue, 1,i: 81,667,871 msg/sec AtomicQueue, 2,s: 8,620,859 msg/sec AtomicQueue, 2,i: 8,787,886 msg/sec AtomicQueue, 3,s: 6,596,819 msg/sec AtomicQueue, 3,i: 6,633,983 msg/sec AtomicQueue, 4,s: 4,903,557 msg/sec AtomicQueue, 4,i: 5,134,631 msg/sec OptimistAtomicQueue, 1,s: 849,647,998 msg/sec OptimistAtomicQueue, 1,i: 847,692,412 msg/sec OptimistAtomicQueue, 2,s: 35,559,712 msg/sec OptimistAtomicQueue, 2,i: 37,658,743 msg/sec OptimistAtomicQueue, 3,s: 41,384,623 msg/sec OptimistAtomicQueue, 3,i: 36,731,885 msg/sec OptimistAtomicQueue, 4,s: 39,680,580 msg/sec OptimistAtomicQueue, 4,i: 39,008,629 msg/sec AtomicQueueB, 1,s: 45,967,054 msg/sec AtomicQueueB, 1,i: 58,843,575 msg/sec AtomicQueueB, 2,s: 8,362,465 msg/sec AtomicQueueB, 2,i: 8,164,788 msg/sec AtomicQueueB, 3,s: 6,133,168 msg/sec AtomicQueueB, 3,i: 6,231,013 msg/sec AtomicQueueB, 4,s: 4,757,006 msg/sec AtomicQueueB, 4,i: 4,901,546 msg/sec OptimistAtomicQueueB, 1,s: 715,256,229 msg/sec OptimistAtomicQueueB, 1,i: 735,192,510 msg/sec OptimistAtomicQueueB, 2,s: 34,935,349 msg/sec OptimistAtomicQueueB, 2,i: 37,025,400 msg/sec OptimistAtomicQueueB, 3,s: 40,219,162 msg/sec OptimistAtomicQueueB, 3,i: 41,737,840 msg/sec OptimistAtomicQueueB, 4,s: 39,357,777 msg/sec OptimistAtomicQueueB, 4,i: 40,685,609 msg/sec AtomicQueue2, 1,s: 56,137,408 msg/sec AtomicQueue2, 1,i: 60,135,612 msg/sec AtomicQueue2, 2,s: 8,247,922 msg/sec AtomicQueue2, 2,i: 8,124,606 msg/sec AtomicQueue2, 3,s: 6,287,162 msg/sec AtomicQueue2, 3,i: 6,330,814 msg/sec AtomicQueue2, 4,s: 4,778,882 msg/sec AtomicQueue2, 4,i: 4,983,697 msg/sec OptimistAtomicQueue2, 1,s: 97,846,781 msg/sec OptimistAtomicQueue2, 1,i: 101,911,745 msg/sec OptimistAtomicQueue2, 2,s: 33,518,193 msg/sec OptimistAtomicQueue2, 2,i: 38,209,887 msg/sec OptimistAtomicQueue2, 3,s: 39,303,332 msg/sec OptimistAtomicQueue2, 3,i: 34,054,264 msg/sec OptimistAtomicQueue2, 4,s: 38,368,361 msg/sec OptimistAtomicQueue2, 4,i: 36,087,577 msg/sec AtomicQueueB2, 1,s: 70,978,519 msg/sec AtomicQueueB2, 1,i: 62,144,437 msg/sec AtomicQueueB2, 2,s: 8,087,169 msg/sec AtomicQueueB2, 2,i: 8,099,241 msg/sec AtomicQueueB2, 3,s: 6,135,586 msg/sec AtomicQueueB2, 3,i: 6,311,023 msg/sec AtomicQueueB2, 4,s: 4,785,638 msg/sec AtomicQueueB2, 4,i: 4,898,596 msg/sec OptimistAtomicQueueB2, 1,s: 91,722,387 msg/sec OptimistAtomicQueueB2, 1,i: 109,336,950 msg/sec OptimistAtomicQueueB2, 2,s: 35,343,756 msg/sec OptimistAtomicQueueB2, 2,i: 37,294,641 msg/sec OptimistAtomicQueueB2, 3,s: 40,125,366 msg/sec OptimistAtomicQueueB2, 3,i: 36,948,211 msg/sec OptimistAtomicQueueB2, 4,s: 37,634,263 msg/sec OptimistAtomicQueueB2, 4,i: 37,225,926 msg/sec moodycamel::ReaderWriterQueue, 1,s: 591,751,795 msg/sec moodycamel::ReaderWriterQueue, 1,i: 435,782,460 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,773,054 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,760,793 msg/sec moodycamel::ConcurrentQueue, 2,s: 27,247,758 msg/sec moodycamel::ConcurrentQueue, 2,i: 24,359,338 msg/sec moodycamel::ConcurrentQueue, 3,s: 35,878,494 msg/sec moodycamel::ConcurrentQueue, 3,i: 38,654,468 msg/sec moodycamel::ConcurrentQueue, 4,s: 63,064,560 msg/sec moodycamel::ConcurrentQueue, 4,i: 65,538,947 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,096,322 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,076,322 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,359,580 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,379,742 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,763,054 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,841,758 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,405,046 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,481,027 msg/sec xenium::michael_scott_queue, 1,s: 11,601,776 msg/sec xenium::michael_scott_queue, 1,i: 11,672,724 msg/sec xenium::michael_scott_queue, 2,s: 7,291,515 msg/sec xenium::michael_scott_queue, 2,i: 6,936,612 msg/sec xenium::michael_scott_queue, 3,s: 5,096,812 msg/sec xenium::michael_scott_queue, 3,i: 5,020,934 msg/sec xenium::michael_scott_queue, 4,s: 3,791,548 msg/sec xenium::michael_scott_queue, 4,i: 3,630,334 msg/sec xenium::ramalhete_queue, 1,s: 68,888,952 msg/sec xenium::ramalhete_queue, 1,i: 59,941,817 msg/sec xenium::ramalhete_queue, 2,s: 46,522,847 msg/sec xenium::ramalhete_queue, 2,i: 31,925,058 msg/sec xenium::ramalhete_queue, 3,s: 30,994,817 msg/sec xenium::ramalhete_queue, 3,i: 29,889,867 msg/sec xenium::ramalhete_queue, 4,s: 32,637,649 msg/sec xenium::ramalhete_queue, 4,i: 28,981,530 msg/sec xenium::vyukov_bounded_queue, 1,s: 208,429,568 msg/sec xenium::vyukov_bounded_queue, 1,i: 246,803,954 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,031,629 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,233,114 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,546,526 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,977,694 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,051,812 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,022,944 msg/sec boost::lockfree::queue, 1,s: 7,050,644 msg/sec boost::lockfree::queue, 1,i: 6,965,290 msg/sec boost::lockfree::queue, 2,s: 4,234,156 msg/sec boost::lockfree::queue, 2,i: 4,353,444 msg/sec boost::lockfree::queue, 3,s: 3,459,697 msg/sec boost::lockfree::queue, 3,i: 3,435,761 msg/sec boost::lockfree::queue, 4,s: 2,747,668 msg/sec boost::lockfree::queue, 4,i: 2,742,612 msg/sec std::mutex, 1,s: 2,895,774 msg/sec std::mutex, 1,i: 2,907,115 msg/sec std::mutex, 2,s: 10,132,148 msg/sec std::mutex, 2,i: 9,249,698 msg/sec std::mutex, 3,s: 4,567,298 msg/sec std::mutex, 3,i: 4,548,335 msg/sec std::mutex, 4,s: 4,460,320 msg/sec std::mutex, 4,i: 4,163,089 msg/sec pthread_spinlock, 1,s: 15,559,355 msg/sec pthread_spinlock, 1,i: 15,515,841 msg/sec pthread_spinlock, 2,s: 9,341,445 msg/sec pthread_spinlock, 2,i: 5,352,138 msg/sec pthread_spinlock, 3,s: 382,212 msg/sec pthread_spinlock, 3,i: 9,516,118 msg/sec pthread_spinlock, 4,s: 676,966 msg/sec pthread_spinlock, 4,i: 542,541 msg/sec tbb::spin_mutex, 1,s: 42,413,997 msg/sec tbb::spin_mutex, 1,i: 44,434,522 msg/sec tbb::spin_mutex, 2,s: 9,306,632 msg/sec tbb::spin_mutex, 2,i: 9,073,541 msg/sec tbb::spin_mutex, 3,s: 5,473,346 msg/sec tbb::spin_mutex, 3,i: 5,582,654 msg/sec tbb::spin_mutex, 4,s: 3,624,497 msg/sec tbb::spin_mutex, 4,i: 3,539,488 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 367.80 System time (seconds): 23.32 Percent of CPU this job got: 483% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:20.86 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 53624 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15781 Voluntary context switches: 2633877 Involuntary context switches: 110 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:30:05 [3/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000101 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000120 sec/round-trip AtomicQueueB2: 0.000000148 sec/round-trip OptimistAtomicQueueB2: 0.000000125 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000186 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000304 sec/round-trip xenium::ramalhete_queue: 0.000000162 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000567 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 168,571,226 msg/sec boost::lockfree::spsc_queue, 1,i: 158,575,995 msg/sec AtomicQueue, 1,s: 93,880,096 msg/sec AtomicQueue, 1,i: 81,690,798 msg/sec AtomicQueue, 2,s: 8,440,040 msg/sec AtomicQueue, 2,i: 8,664,855 msg/sec AtomicQueue, 3,s: 6,477,811 msg/sec AtomicQueue, 3,i: 6,700,742 msg/sec AtomicQueue, 4,s: 4,984,601 msg/sec AtomicQueue, 4,i: 5,128,694 msg/sec OptimistAtomicQueue, 1,s: 850,176,323 msg/sec OptimistAtomicQueue, 1,i: 858,653,292 msg/sec OptimistAtomicQueue, 2,s: 36,023,586 msg/sec OptimistAtomicQueue, 2,i: 38,078,644 msg/sec OptimistAtomicQueue, 3,s: 41,762,377 msg/sec OptimistAtomicQueue, 3,i: 36,803,644 msg/sec OptimistAtomicQueue, 4,s: 39,371,253 msg/sec OptimistAtomicQueue, 4,i: 36,970,349 msg/sec AtomicQueueB, 1,s: 51,656,668 msg/sec AtomicQueueB, 1,i: 50,374,189 msg/sec AtomicQueueB, 2,s: 8,516,823 msg/sec AtomicQueueB, 2,i: 8,422,923 msg/sec AtomicQueueB, 3,s: 6,127,093 msg/sec AtomicQueueB, 3,i: 6,382,800 msg/sec AtomicQueueB, 4,s: 4,776,936 msg/sec AtomicQueueB, 4,i: 4,956,761 msg/sec OptimistAtomicQueueB, 1,s: 514,606,707 msg/sec OptimistAtomicQueueB, 1,i: 371,693,511 msg/sec OptimistAtomicQueueB, 2,s: 35,038,159 msg/sec OptimistAtomicQueueB, 2,i: 37,727,526 msg/sec OptimistAtomicQueueB, 3,s: 40,863,140 msg/sec OptimistAtomicQueueB, 3,i: 41,910,365 msg/sec OptimistAtomicQueueB, 4,s: 39,286,499 msg/sec OptimistAtomicQueueB, 4,i: 36,841,894 msg/sec AtomicQueue2, 1,s: 59,167,216 msg/sec AtomicQueue2, 1,i: 51,791,282 msg/sec AtomicQueue2, 2,s: 8,188,974 msg/sec AtomicQueue2, 2,i: 8,069,880 msg/sec AtomicQueue2, 3,s: 6,306,834 msg/sec AtomicQueue2, 3,i: 6,339,228 msg/sec AtomicQueue2, 4,s: 4,766,434 msg/sec AtomicQueue2, 4,i: 4,932,869 msg/sec OptimistAtomicQueue2, 1,s: 100,826,032 msg/sec OptimistAtomicQueue2, 1,i: 105,002,088 msg/sec OptimistAtomicQueue2, 2,s: 34,853,600 msg/sec OptimistAtomicQueue2, 2,i: 38,509,025 msg/sec OptimistAtomicQueue2, 3,s: 39,646,755 msg/sec OptimistAtomicQueue2, 3,i: 34,326,497 msg/sec OptimistAtomicQueue2, 4,s: 38,507,301 msg/sec OptimistAtomicQueue2, 4,i: 36,116,293 msg/sec AtomicQueueB2, 1,s: 66,325,015 msg/sec AtomicQueueB2, 1,i: 40,436,595 msg/sec AtomicQueueB2, 2,s: 8,171,423 msg/sec AtomicQueueB2, 2,i: 8,354,311 msg/sec AtomicQueueB2, 3,s: 6,142,514 msg/sec AtomicQueueB2, 3,i: 6,324,933 msg/sec AtomicQueueB2, 4,s: 4,696,168 msg/sec AtomicQueueB2, 4,i: 4,952,670 msg/sec OptimistAtomicQueueB2, 1,s: 104,477,799 msg/sec OptimistAtomicQueueB2, 1,i: 115,863,108 msg/sec OptimistAtomicQueueB2, 2,s: 35,958,227 msg/sec OptimistAtomicQueueB2, 2,i: 38,536,755 msg/sec OptimistAtomicQueueB2, 3,s: 40,089,651 msg/sec OptimistAtomicQueueB2, 3,i: 37,077,617 msg/sec OptimistAtomicQueueB2, 4,s: 37,968,106 msg/sec OptimistAtomicQueueB2, 4,i: 37,182,312 msg/sec moodycamel::ReaderWriterQueue, 1,s: 484,469,728 msg/sec moodycamel::ReaderWriterQueue, 1,i: 571,205,375 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,847,700 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,801,827 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,507,666 msg/sec moodycamel::ConcurrentQueue, 2,i: 24,284,452 msg/sec moodycamel::ConcurrentQueue, 3,s: 38,211,192 msg/sec moodycamel::ConcurrentQueue, 3,i: 36,822,041 msg/sec moodycamel::ConcurrentQueue, 4,s: 67,432,727 msg/sec moodycamel::ConcurrentQueue, 4,i: 64,883,042 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,747,011 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,770,254 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,414,987 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,415,175 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,762,642 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,838,895 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,402,805 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,481,765 msg/sec xenium::michael_scott_queue, 1,s: 11,726,463 msg/sec xenium::michael_scott_queue, 1,i: 11,661,638 msg/sec xenium::michael_scott_queue, 2,s: 7,238,025 msg/sec xenium::michael_scott_queue, 2,i: 6,975,074 msg/sec xenium::michael_scott_queue, 3,s: 5,069,515 msg/sec xenium::michael_scott_queue, 3,i: 5,066,444 msg/sec xenium::michael_scott_queue, 4,s: 3,806,617 msg/sec xenium::michael_scott_queue, 4,i: 3,689,527 msg/sec xenium::ramalhete_queue, 1,s: 56,884,255 msg/sec xenium::ramalhete_queue, 1,i: 19,977,158 msg/sec xenium::ramalhete_queue, 2,s: 52,559,545 msg/sec xenium::ramalhete_queue, 2,i: 26,165,876 msg/sec xenium::ramalhete_queue, 3,s: 29,490,131 msg/sec xenium::ramalhete_queue, 3,i: 29,343,909 msg/sec xenium::ramalhete_queue, 4,s: 31,812,414 msg/sec xenium::ramalhete_queue, 4,i: 28,568,967 msg/sec xenium::vyukov_bounded_queue, 1,s: 192,526,851 msg/sec xenium::vyukov_bounded_queue, 1,i: 241,403,497 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,299,315 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,132,374 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,329,590 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,427,567 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,279,005 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,991,268 msg/sec boost::lockfree::queue, 1,s: 7,061,713 msg/sec boost::lockfree::queue, 1,i: 7,011,394 msg/sec boost::lockfree::queue, 2,s: 4,255,256 msg/sec boost::lockfree::queue, 2,i: 4,306,011 msg/sec boost::lockfree::queue, 3,s: 3,463,100 msg/sec boost::lockfree::queue, 3,i: 3,447,087 msg/sec boost::lockfree::queue, 4,s: 2,794,980 msg/sec boost::lockfree::queue, 4,i: 2,689,700 msg/sec std::mutex, 1,s: 2,927,399 msg/sec std::mutex, 1,i: 3,020,655 msg/sec std::mutex, 2,s: 9,841,379 msg/sec std::mutex, 2,i: 9,535,491 msg/sec std::mutex, 3,s: 4,487,900 msg/sec std::mutex, 3,i: 4,390,839 msg/sec std::mutex, 4,s: 4,316,454 msg/sec std::mutex, 4,i: 4,214,333 msg/sec pthread_spinlock, 1,s: 15,651,472 msg/sec pthread_spinlock, 1,i: 15,598,546 msg/sec pthread_spinlock, 2,s: 9,443,273 msg/sec pthread_spinlock, 2,i: 5,348,907 msg/sec pthread_spinlock, 3,s: 441,552 msg/sec pthread_spinlock, 3,i: 8,160,834 msg/sec pthread_spinlock, 4,s: 673,347 msg/sec pthread_spinlock, 4,i: 597,842 msg/sec tbb::spin_mutex, 1,s: 43,866,323 msg/sec tbb::spin_mutex, 1,i: 44,198,242 msg/sec tbb::spin_mutex, 2,s: 9,470,278 msg/sec tbb::spin_mutex, 2,i: 8,876,122 msg/sec tbb::spin_mutex, 3,s: 5,713,921 msg/sec tbb::spin_mutex, 3,i: 6,000,584 msg/sec tbb::spin_mutex, 4,s: 3,574,702 msg/sec tbb::spin_mutex, 4,i: 3,957,239 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 365.01 System time (seconds): 22.97 Percent of CPU this job got: 482% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:20.33 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 53108 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15662 Voluntary context switches: 2698831 Involuntary context switches: 99 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:31:25 [4/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000145 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000113 sec/round-trip AtomicQueue2: 0.000000140 sec/round-trip OptimistAtomicQueue2: 0.000000116 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000117 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000339 sec/round-trip xenium::michael_scott_queue: 0.000000300 sec/round-trip xenium::ramalhete_queue: 0.000000162 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000260 sec/round-trip std::mutex: 0.000000579 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000246 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 157,713,269 msg/sec boost::lockfree::spsc_queue, 1,i: 157,002,251 msg/sec AtomicQueue, 1,s: 94,620,396 msg/sec AtomicQueue, 1,i: 84,983,175 msg/sec AtomicQueue, 2,s: 8,498,153 msg/sec AtomicQueue, 2,i: 8,770,265 msg/sec AtomicQueue, 3,s: 6,613,891 msg/sec AtomicQueue, 3,i: 6,678,730 msg/sec AtomicQueue, 4,s: 4,909,489 msg/sec AtomicQueue, 4,i: 5,184,587 msg/sec OptimistAtomicQueue, 1,s: 854,580,326 msg/sec OptimistAtomicQueue, 1,i: 850,647,303 msg/sec OptimistAtomicQueue, 2,s: 35,419,174 msg/sec OptimistAtomicQueue, 2,i: 37,844,054 msg/sec OptimistAtomicQueue, 3,s: 41,508,283 msg/sec OptimistAtomicQueue, 3,i: 36,797,361 msg/sec OptimistAtomicQueue, 4,s: 39,222,259 msg/sec OptimistAtomicQueue, 4,i: 37,565,791 msg/sec AtomicQueueB, 1,s: 44,579,461 msg/sec AtomicQueueB, 1,i: 47,811,916 msg/sec AtomicQueueB, 2,s: 8,433,486 msg/sec AtomicQueueB, 2,i: 8,057,924 msg/sec AtomicQueueB, 3,s: 6,148,823 msg/sec AtomicQueueB, 3,i: 6,415,618 msg/sec AtomicQueueB, 4,s: 4,811,493 msg/sec AtomicQueueB, 4,i: 4,924,099 msg/sec OptimistAtomicQueueB, 1,s: 473,281,900 msg/sec OptimistAtomicQueueB, 1,i: 382,058,643 msg/sec OptimistAtomicQueueB, 2,s: 35,023,491 msg/sec OptimistAtomicQueueB, 2,i: 37,012,507 msg/sec OptimistAtomicQueueB, 3,s: 40,033,082 msg/sec OptimistAtomicQueueB, 3,i: 36,267,575 msg/sec OptimistAtomicQueueB, 4,s: 39,701,099 msg/sec OptimistAtomicQueueB, 4,i: 37,516,243 msg/sec AtomicQueue2, 1,s: 62,415,070 msg/sec AtomicQueue2, 1,i: 59,291,219 msg/sec AtomicQueue2, 2,s: 8,244,149 msg/sec AtomicQueue2, 2,i: 8,248,079 msg/sec AtomicQueue2, 3,s: 6,243,330 msg/sec AtomicQueue2, 3,i: 6,380,204 msg/sec AtomicQueue2, 4,s: 4,764,841 msg/sec AtomicQueue2, 4,i: 5,007,606 msg/sec OptimistAtomicQueue2, 1,s: 98,009,833 msg/sec OptimistAtomicQueue2, 1,i: 101,985,055 msg/sec OptimistAtomicQueue2, 2,s: 33,350,441 msg/sec OptimistAtomicQueue2, 2,i: 39,868,358 msg/sec OptimistAtomicQueue2, 3,s: 39,600,869 msg/sec OptimistAtomicQueue2, 3,i: 33,848,509 msg/sec OptimistAtomicQueue2, 4,s: 38,468,773 msg/sec OptimistAtomicQueue2, 4,i: 36,752,533 msg/sec AtomicQueueB2, 1,s: 71,726,292 msg/sec AtomicQueueB2, 1,i: 73,078,441 msg/sec AtomicQueueB2, 2,s: 8,162,517 msg/sec AtomicQueueB2, 2,i: 8,026,133 msg/sec AtomicQueueB2, 3,s: 6,187,265 msg/sec AtomicQueueB2, 3,i: 6,365,977 msg/sec AtomicQueueB2, 4,s: 4,769,821 msg/sec AtomicQueueB2, 4,i: 4,915,622 msg/sec OptimistAtomicQueueB2, 1,s: 91,858,043 msg/sec OptimistAtomicQueueB2, 1,i: 110,090,579 msg/sec OptimistAtomicQueueB2, 2,s: 36,296,082 msg/sec OptimistAtomicQueueB2, 2,i: 37,267,347 msg/sec OptimistAtomicQueueB2, 3,s: 39,841,527 msg/sec OptimistAtomicQueueB2, 3,i: 35,914,759 msg/sec OptimistAtomicQueueB2, 4,s: 37,731,234 msg/sec OptimistAtomicQueueB2, 4,i: 37,528,684 msg/sec moodycamel::ReaderWriterQueue, 1,s: 370,516,523 msg/sec moodycamel::ReaderWriterQueue, 1,i: 457,549,808 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,732,669 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,722,190 msg/sec moodycamel::ConcurrentQueue, 2,s: 30,123,880 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,056,569 msg/sec moodycamel::ConcurrentQueue, 3,s: 38,458,192 msg/sec moodycamel::ConcurrentQueue, 3,i: 36,143,385 msg/sec moodycamel::ConcurrentQueue, 4,s: 64,152,146 msg/sec moodycamel::ConcurrentQueue, 4,i: 70,122,450 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,714,940 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,730,591 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,295,642 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,343,424 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,756,020 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,833,697 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,410,150 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,468,536 msg/sec xenium::michael_scott_queue, 1,s: 11,718,433 msg/sec xenium::michael_scott_queue, 1,i: 11,647,329 msg/sec xenium::michael_scott_queue, 2,s: 7,309,942 msg/sec xenium::michael_scott_queue, 2,i: 7,045,620 msg/sec xenium::michael_scott_queue, 3,s: 5,072,748 msg/sec xenium::michael_scott_queue, 3,i: 5,053,025 msg/sec xenium::michael_scott_queue, 4,s: 3,809,336 msg/sec xenium::michael_scott_queue, 4,i: 3,664,671 msg/sec xenium::ramalhete_queue, 1,s: 58,774,653 msg/sec xenium::ramalhete_queue, 1,i: 56,862,315 msg/sec xenium::ramalhete_queue, 2,s: 51,513,578 msg/sec xenium::ramalhete_queue, 2,i: 42,030,771 msg/sec xenium::ramalhete_queue, 3,s: 29,589,473 msg/sec xenium::ramalhete_queue, 3,i: 29,550,270 msg/sec xenium::ramalhete_queue, 4,s: 29,041,724 msg/sec xenium::ramalhete_queue, 4,i: 29,718,796 msg/sec xenium::vyukov_bounded_queue, 1,s: 212,240,810 msg/sec xenium::vyukov_bounded_queue, 1,i: 234,208,211 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,083,296 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,197,995 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,379,679 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,983,394 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,881,725 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,849,753 msg/sec boost::lockfree::queue, 1,s: 7,045,547 msg/sec boost::lockfree::queue, 1,i: 7,047,829 msg/sec boost::lockfree::queue, 2,s: 4,324,086 msg/sec boost::lockfree::queue, 2,i: 4,340,390 msg/sec boost::lockfree::queue, 3,s: 3,472,115 msg/sec boost::lockfree::queue, 3,i: 3,418,240 msg/sec boost::lockfree::queue, 4,s: 2,779,765 msg/sec boost::lockfree::queue, 4,i: 2,742,036 msg/sec std::mutex, 1,s: 5,765,516 msg/sec std::mutex, 1,i: 5,819,640 msg/sec std::mutex, 2,s: 10,267,777 msg/sec std::mutex, 2,i: 9,957,037 msg/sec std::mutex, 3,s: 4,629,572 msg/sec std::mutex, 3,i: 4,549,774 msg/sec std::mutex, 4,s: 4,344,578 msg/sec std::mutex, 4,i: 4,177,422 msg/sec pthread_spinlock, 1,s: 15,519,610 msg/sec pthread_spinlock, 1,i: 15,665,834 msg/sec pthread_spinlock, 2,s: 9,183,484 msg/sec pthread_spinlock, 2,i: 5,845,085 msg/sec pthread_spinlock, 3,s: 365,472 msg/sec pthread_spinlock: producers: 3: consumer 1 received too few messages: 0.09% of expected. pthread_spinlock, 3,i: 9,091,444 msg/sec pthread_spinlock, 4,s: 687,157 msg/sec pthread_spinlock, 4,i: 599,481 msg/sec tbb::spin_mutex, 1,s: 44,498,748 msg/sec tbb::spin_mutex, 1,i: 44,641,471 msg/sec tbb::spin_mutex, 2,s: 9,254,730 msg/sec tbb::spin_mutex, 2,i: 8,945,789 msg/sec tbb::spin_mutex, 3,s: 5,421,033 msg/sec tbb::spin_mutex, 3,i: 5,680,010 msg/sec tbb::spin_mutex, 4,s: 3,539,569 msg/sec tbb::spin_mutex, 4,i: 3,613,782 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 365.88 System time (seconds): 22.11 Percent of CPU this job got: 486% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.67 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 53496 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15770 Voluntary context switches: 2626598 Involuntary context switches: 102 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:32:45 [5/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000129 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000120 sec/round-trip AtomicQueueB2: 0.000000145 sec/round-trip OptimistAtomicQueueB2: 0.000000118 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000186 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000301 sec/round-trip xenium::ramalhete_queue: 0.000000164 sec/round-trip xenium::vyukov_bounded_queue: 0.000000162 sec/round-trip boost::lockfree::queue: 0.000000260 sec/round-trip std::mutex: 0.000000568 sec/round-trip pthread_spinlock: 0.000000279 sec/round-trip tbb::spin_mutex: 0.000000249 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 165,953,088 msg/sec boost::lockfree::spsc_queue, 1,i: 162,898,682 msg/sec AtomicQueue, 1,s: 102,579,466 msg/sec AtomicQueue, 1,i: 88,591,461 msg/sec AtomicQueue, 2,s: 8,564,240 msg/sec AtomicQueue, 2,i: 8,601,432 msg/sec AtomicQueue, 3,s: 6,443,890 msg/sec AtomicQueue, 3,i: 6,618,254 msg/sec AtomicQueue, 4,s: 4,960,742 msg/sec AtomicQueue, 4,i: 5,143,803 msg/sec OptimistAtomicQueue, 1,s: 865,608,603 msg/sec OptimistAtomicQueue, 1,i: 865,188,409 msg/sec OptimistAtomicQueue, 2,s: 35,346,723 msg/sec OptimistAtomicQueue, 2,i: 39,042,764 msg/sec OptimistAtomicQueue, 3,s: 41,520,785 msg/sec OptimistAtomicQueue, 3,i: 36,725,843 msg/sec OptimistAtomicQueue, 4,s: 39,573,391 msg/sec OptimistAtomicQueue, 4,i: 38,225,208 msg/sec AtomicQueueB, 1,s: 55,967,988 msg/sec AtomicQueueB, 1,i: 54,610,595 msg/sec AtomicQueueB, 2,s: 8,099,091 msg/sec AtomicQueueB, 2,i: 8,224,781 msg/sec AtomicQueueB, 3,s: 6,160,561 msg/sec AtomicQueueB, 3,i: 6,285,450 msg/sec AtomicQueueB, 4,s: 4,766,068 msg/sec AtomicQueueB, 4,i: 4,928,169 msg/sec OptimistAtomicQueueB, 1,s: 667,105,571 msg/sec OptimistAtomicQueueB, 1,i: 404,761,808 msg/sec OptimistAtomicQueueB, 2,s: 35,064,366 msg/sec OptimistAtomicQueueB, 2,i: 37,175,650 msg/sec OptimistAtomicQueueB, 3,s: 40,658,426 msg/sec OptimistAtomicQueueB, 3,i: 41,697,700 msg/sec OptimistAtomicQueueB, 4,s: 39,232,635 msg/sec OptimistAtomicQueueB, 4,i: 36,761,196 msg/sec AtomicQueue2, 1,s: 55,822,025 msg/sec AtomicQueue2, 1,i: 52,790,420 msg/sec AtomicQueue2, 2,s: 8,408,046 msg/sec AtomicQueue2, 2,i: 8,380,779 msg/sec AtomicQueue2, 3,s: 6,230,101 msg/sec AtomicQueue2, 3,i: 6,402,765 msg/sec AtomicQueue2, 4,s: 4,835,596 msg/sec AtomicQueue2, 4,i: 4,896,363 msg/sec OptimistAtomicQueue2, 1,s: 100,840,905 msg/sec OptimistAtomicQueue2, 1,i: 102,817,120 msg/sec OptimistAtomicQueue2, 2,s: 34,412,423 msg/sec OptimistAtomicQueue2, 2,i: 39,907,701 msg/sec OptimistAtomicQueue2, 3,s: 39,500,566 msg/sec OptimistAtomicQueue2, 3,i: 34,112,016 msg/sec OptimistAtomicQueue2, 4,s: 38,607,875 msg/sec OptimistAtomicQueue2, 4,i: 36,155,293 msg/sec AtomicQueueB2, 1,s: 69,930,643 msg/sec AtomicQueueB2, 1,i: 68,723,882 msg/sec AtomicQueueB2, 2,s: 8,273,037 msg/sec AtomicQueueB2, 2,i: 7,985,022 msg/sec AtomicQueueB2, 3,s: 6,140,852 msg/sec AtomicQueueB2, 3,i: 6,304,119 msg/sec AtomicQueueB2, 4,s: 4,681,080 msg/sec AtomicQueueB2, 4,i: 4,852,563 msg/sec OptimistAtomicQueueB2, 1,s: 106,773,973 msg/sec OptimistAtomicQueueB2, 1,i: 112,129,825 msg/sec OptimistAtomicQueueB2, 2,s: 36,089,352 msg/sec OptimistAtomicQueueB2, 2,i: 37,464,842 msg/sec OptimistAtomicQueueB2, 3,s: 39,911,116 msg/sec OptimistAtomicQueueB2, 3,i: 36,480,597 msg/sec OptimistAtomicQueueB2, 4,s: 37,850,656 msg/sec OptimistAtomicQueueB2, 4,i: 37,236,759 msg/sec moodycamel::ReaderWriterQueue, 1,s: 425,024,805 msg/sec moodycamel::ReaderWriterQueue, 1,i: 705,169,600 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,682,700 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,628,151 msg/sec moodycamel::ConcurrentQueue, 2,s: 28,949,713 msg/sec moodycamel::ConcurrentQueue, 2,i: 27,589,152 msg/sec moodycamel::ConcurrentQueue, 3,s: 48,718,618 msg/sec moodycamel::ConcurrentQueue, 3,i: 37,745,779 msg/sec moodycamel::ConcurrentQueue, 4,s: 66,383,862 msg/sec moodycamel::ConcurrentQueue, 4,i: 59,494,119 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,739,478 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,782,119 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,329,654 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,438,354 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,745,256 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,838,242 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,407,111 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,476,970 msg/sec xenium::michael_scott_queue, 1,s: 11,692,817 msg/sec xenium::michael_scott_queue, 1,i: 11,648,496 msg/sec xenium::michael_scott_queue, 2,s: 7,306,391 msg/sec xenium::michael_scott_queue, 2,i: 6,977,903 msg/sec xenium::michael_scott_queue, 3,s: 5,107,381 msg/sec xenium::michael_scott_queue, 3,i: 5,027,046 msg/sec xenium::michael_scott_queue, 4,s: 3,800,653 msg/sec xenium::michael_scott_queue, 4,i: 3,678,432 msg/sec xenium::ramalhete_queue, 1,s: 57,071,120 msg/sec xenium::ramalhete_queue, 1,i: 56,631,148 msg/sec xenium::ramalhete_queue, 2,s: 46,411,695 msg/sec xenium::ramalhete_queue, 2,i: 25,286,685 msg/sec xenium::ramalhete_queue, 3,s: 29,592,114 msg/sec xenium::ramalhete_queue, 3,i: 28,196,434 msg/sec xenium::ramalhete_queue, 4,s: 33,776,666 msg/sec xenium::ramalhete_queue, 4,i: 29,772,535 msg/sec xenium::vyukov_bounded_queue, 1,s: 219,298,747 msg/sec xenium::vyukov_bounded_queue, 1,i: 229,176,760 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,261,190 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,189,959 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,293,233 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,563,362 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,873,890 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,900,270 msg/sec boost::lockfree::queue, 1,s: 7,021,235 msg/sec boost::lockfree::queue, 1,i: 7,047,502 msg/sec boost::lockfree::queue, 2,s: 4,238,312 msg/sec boost::lockfree::queue, 2,i: 4,348,247 msg/sec boost::lockfree::queue, 3,s: 3,477,835 msg/sec boost::lockfree::queue, 3,i: 3,444,541 msg/sec boost::lockfree::queue, 4,s: 2,792,790 msg/sec boost::lockfree::queue, 4,i: 2,711,894 msg/sec std::mutex, 1,s: 2,883,786 msg/sec std::mutex, 1,i: 2,809,344 msg/sec std::mutex, 2,s: 10,143,797 msg/sec std::mutex, 2,i: 9,837,950 msg/sec std::mutex, 3,s: 4,517,588 msg/sec std::mutex, 3,i: 4,433,640 msg/sec std::mutex, 4,s: 4,276,426 msg/sec std::mutex, 4,i: 4,222,861 msg/sec pthread_spinlock, 1,s: 15,572,790 msg/sec pthread_spinlock, 1,i: 15,725,043 msg/sec pthread_spinlock, 2,s: 10,183,453 msg/sec pthread_spinlock, 2,i: 5,378,821 msg/sec pthread_spinlock, 3,s: 469,606 msg/sec pthread_spinlock, 3,i: 8,986,233 msg/sec pthread_spinlock, 4,s: 669,811 msg/sec pthread_spinlock, 4,i: 885,588 msg/sec tbb::spin_mutex, 1,s: 45,171,335 msg/sec tbb::spin_mutex, 1,i: 44,843,748 msg/sec tbb::spin_mutex, 2,s: 9,075,038 msg/sec tbb::spin_mutex, 2,i: 9,111,264 msg/sec tbb::spin_mutex, 3,s: 5,522,483 msg/sec tbb::spin_mutex, 3,i: 5,283,508 msg/sec tbb::spin_mutex, 4,s: 3,529,459 msg/sec tbb::spin_mutex, 4,i: 3,664,290 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 354.96 System time (seconds): 23.32 Percent of CPU this job got: 480% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.64 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52472 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15496 Voluntary context switches: 2680062 Involuntary context switches: 90 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:34:04 [6/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000126 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000120 sec/round-trip AtomicQueueB2: 0.000000143 sec/round-trip OptimistAtomicQueueB2: 0.000000117 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000348 sec/round-trip xenium::michael_scott_queue: 0.000000300 sec/round-trip xenium::ramalhete_queue: 0.000000162 sec/round-trip xenium::vyukov_bounded_queue: 0.000000165 sec/round-trip boost::lockfree::queue: 0.000000260 sec/round-trip std::mutex: 0.000000602 sec/round-trip pthread_spinlock: 0.000000280 sec/round-trip tbb::spin_mutex: 0.000000247 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 156,496,856 msg/sec boost::lockfree::spsc_queue, 1,i: 158,837,440 msg/sec AtomicQueue, 1,s: 84,681,785 msg/sec AtomicQueue, 1,i: 84,075,880 msg/sec AtomicQueue, 2,s: 8,603,313 msg/sec AtomicQueue, 2,i: 8,754,943 msg/sec AtomicQueue, 3,s: 6,323,477 msg/sec AtomicQueue, 3,i: 6,722,832 msg/sec AtomicQueue, 4,s: 4,990,176 msg/sec AtomicQueue, 4,i: 5,146,969 msg/sec OptimistAtomicQueue, 1,s: 859,488,831 msg/sec OptimistAtomicQueue, 1,i: 847,786,017 msg/sec OptimistAtomicQueue, 2,s: 35,282,273 msg/sec OptimistAtomicQueue, 2,i: 38,309,807 msg/sec OptimistAtomicQueue, 3,s: 40,954,370 msg/sec OptimistAtomicQueue, 3,i: 36,822,952 msg/sec OptimistAtomicQueue, 4,s: 39,736,679 msg/sec OptimistAtomicQueue, 4,i: 38,577,746 msg/sec AtomicQueueB, 1,s: 49,959,080 msg/sec AtomicQueueB, 1,i: 47,626,387 msg/sec AtomicQueueB, 2,s: 8,375,480 msg/sec AtomicQueueB, 2,i: 8,611,161 msg/sec AtomicQueueB, 3,s: 6,157,784 msg/sec AtomicQueueB, 3,i: 6,258,752 msg/sec AtomicQueueB, 4,s: 4,775,060 msg/sec AtomicQueueB, 4,i: 4,948,950 msg/sec OptimistAtomicQueueB, 1,s: 363,436,091 msg/sec OptimistAtomicQueueB, 1,i: 451,877,977 msg/sec OptimistAtomicQueueB, 2,s: 35,564,147 msg/sec OptimistAtomicQueueB, 2,i: 37,000,007 msg/sec OptimistAtomicQueueB, 3,s: 40,586,127 msg/sec OptimistAtomicQueueB, 3,i: 36,177,670 msg/sec OptimistAtomicQueueB, 4,s: 39,306,643 msg/sec OptimistAtomicQueueB, 4,i: 40,354,163 msg/sec AtomicQueue2, 1,s: 58,106,256 msg/sec AtomicQueue2, 1,i: 60,197,996 msg/sec AtomicQueue2, 2,s: 8,161,851 msg/sec AtomicQueue2, 2,i: 8,387,405 msg/sec AtomicQueue2, 3,s: 6,227,578 msg/sec AtomicQueue2, 3,i: 6,342,660 msg/sec AtomicQueue2, 4,s: 4,801,888 msg/sec AtomicQueue2, 4,i: 4,930,230 msg/sec OptimistAtomicQueue2, 1,s: 98,639,237 msg/sec OptimistAtomicQueue2, 1,i: 103,640,055 msg/sec OptimistAtomicQueue2, 2,s: 34,205,331 msg/sec OptimistAtomicQueue2, 2,i: 39,159,089 msg/sec OptimistAtomicQueue2, 3,s: 39,362,326 msg/sec OptimistAtomicQueue2, 3,i: 33,977,658 msg/sec OptimistAtomicQueue2, 4,s: 38,575,137 msg/sec OptimistAtomicQueue2, 4,i: 36,365,034 msg/sec AtomicQueueB2, 1,s: 67,973,391 msg/sec AtomicQueueB2, 1,i: 65,844,455 msg/sec AtomicQueueB2, 2,s: 8,339,276 msg/sec AtomicQueueB2, 2,i: 8,430,304 msg/sec AtomicQueueB2, 3,s: 6,203,290 msg/sec AtomicQueueB2, 3,i: 6,403,002 msg/sec AtomicQueueB2, 4,s: 4,745,872 msg/sec AtomicQueueB2, 4,i: 4,911,368 msg/sec OptimistAtomicQueueB2, 1,s: 91,191,078 msg/sec OptimistAtomicQueueB2, 1,i: 113,781,998 msg/sec OptimistAtomicQueueB2, 2,s: 36,384,322 msg/sec OptimistAtomicQueueB2, 2,i: 37,299,477 msg/sec OptimistAtomicQueueB2, 3,s: 40,048,857 msg/sec OptimistAtomicQueueB2, 3,i: 36,441,877 msg/sec OptimistAtomicQueueB2, 4,s: 37,565,055 msg/sec OptimistAtomicQueueB2, 4,i: 37,123,728 msg/sec moodycamel::ReaderWriterQueue, 1,s: 450,696,530 msg/sec moodycamel::ReaderWriterQueue, 1,i: 551,607,697 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,782,719 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,735,270 msg/sec moodycamel::ConcurrentQueue, 2,s: 30,033,298 msg/sec moodycamel::ConcurrentQueue, 2,i: 29,185,642 msg/sec moodycamel::ConcurrentQueue, 3,s: 50,937,459 msg/sec moodycamel::ConcurrentQueue, 3,i: 39,858,694 msg/sec moodycamel::ConcurrentQueue, 4,s: 52,811,817 msg/sec moodycamel::ConcurrentQueue, 4,i: 65,139,528 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,774,181 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,691,110 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,370,413 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,425,330 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,764,544 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,837,670 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,395,592 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,478,385 msg/sec xenium::michael_scott_queue, 1,s: 11,703,741 msg/sec xenium::michael_scott_queue, 1,i: 11,678,195 msg/sec xenium::michael_scott_queue, 2,s: 7,370,607 msg/sec xenium::michael_scott_queue, 2,i: 6,956,052 msg/sec xenium::michael_scott_queue, 3,s: 5,062,434 msg/sec xenium::michael_scott_queue, 3,i: 5,012,456 msg/sec xenium::michael_scott_queue, 4,s: 3,798,040 msg/sec xenium::michael_scott_queue, 4,i: 3,628,621 msg/sec xenium::ramalhete_queue, 1,s: 62,210,673 msg/sec xenium::ramalhete_queue, 1,i: 19,677,992 msg/sec xenium::ramalhete_queue, 2,s: 51,867,719 msg/sec xenium::ramalhete_queue, 2,i: 27,044,273 msg/sec xenium::ramalhete_queue, 3,s: 29,482,665 msg/sec xenium::ramalhete_queue, 3,i: 30,398,920 msg/sec xenium::ramalhete_queue, 4,s: 33,315,453 msg/sec xenium::ramalhete_queue, 4,i: 32,109,776 msg/sec xenium::vyukov_bounded_queue, 1,s: 201,053,117 msg/sec xenium::vyukov_bounded_queue, 1,i: 245,220,716 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,973,419 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,585,079 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,265,507 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,829,559 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,912,250 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,172,066 msg/sec boost::lockfree::queue, 1,s: 6,981,821 msg/sec boost::lockfree::queue, 1,i: 7,044,261 msg/sec boost::lockfree::queue, 2,s: 4,241,474 msg/sec boost::lockfree::queue, 2,i: 4,313,584 msg/sec boost::lockfree::queue, 3,s: 3,455,027 msg/sec boost::lockfree::queue, 3,i: 3,449,921 msg/sec boost::lockfree::queue, 4,s: 2,832,574 msg/sec boost::lockfree::queue, 4,i: 2,751,033 msg/sec std::mutex, 1,s: 4,001,633 msg/sec std::mutex, 1,i: 3,844,383 msg/sec std::mutex, 2,s: 10,273,909 msg/sec std::mutex, 2,i: 9,952,535 msg/sec std::mutex, 3,s: 4,844,507 msg/sec std::mutex, 3,i: 4,785,883 msg/sec std::mutex, 4,s: 4,289,836 msg/sec std::mutex, 4,i: 4,210,838 msg/sec pthread_spinlock, 1,s: 15,604,809 msg/sec pthread_spinlock, 1,i: 15,610,401 msg/sec pthread_spinlock, 2,s: 9,927,656 msg/sec pthread_spinlock, 2,i: 5,276,465 msg/sec pthread_spinlock, 3,s: 368,021 msg/sec pthread_spinlock: producers: 3: consumer 2 received too few messages: 0.02% of expected. pthread_spinlock, 3,i: 9,307,295 msg/sec pthread_spinlock, 4,s: 668,616 msg/sec pthread_spinlock, 4,i: 848,899 msg/sec tbb::spin_mutex, 1,s: 44,737,358 msg/sec tbb::spin_mutex, 1,i: 44,677,581 msg/sec tbb::spin_mutex, 2,s: 9,288,851 msg/sec tbb::spin_mutex, 2,i: 9,069,324 msg/sec tbb::spin_mutex, 3,s: 5,470,150 msg/sec tbb::spin_mutex, 3,i: 5,562,693 msg/sec tbb::spin_mutex, 4,s: 3,536,399 msg/sec tbb::spin_mutex, 4,i: 3,525,000 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 362.15 System time (seconds): 22.69 Percent of CPU this job got: 483% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.54 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52304 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15440 Voluntary context switches: 2599033 Involuntary context switches: 98 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:35:23 [7/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000145 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000127 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000118 sec/round-trip AtomicQueueB2: 0.000000144 sec/round-trip OptimistAtomicQueueB2: 0.000000117 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000339 sec/round-trip xenium::michael_scott_queue: 0.000000300 sec/round-trip xenium::ramalhete_queue: 0.000000162 sec/round-trip xenium::vyukov_bounded_queue: 0.000000165 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000591 sec/round-trip pthread_spinlock: 0.000000277 sec/round-trip tbb::spin_mutex: 0.000000249 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 167,667,316 msg/sec boost::lockfree::spsc_queue, 1,i: 159,840,174 msg/sec AtomicQueue, 1,s: 97,310,646 msg/sec AtomicQueue, 1,i: 90,131,166 msg/sec AtomicQueue, 2,s: 8,611,052 msg/sec AtomicQueue, 2,i: 8,661,510 msg/sec AtomicQueue, 3,s: 6,556,224 msg/sec AtomicQueue, 3,i: 6,709,292 msg/sec AtomicQueue, 4,s: 4,938,605 msg/sec AtomicQueue, 4,i: 5,135,326 msg/sec OptimistAtomicQueue, 1,s: 855,510,603 msg/sec OptimistAtomicQueue, 1,i: 853,841,942 msg/sec OptimistAtomicQueue, 2,s: 35,304,113 msg/sec OptimistAtomicQueue, 2,i: 38,309,719 msg/sec OptimistAtomicQueue, 3,s: 41,412,612 msg/sec OptimistAtomicQueue, 3,i: 36,932,720 msg/sec OptimistAtomicQueue, 4,s: 40,100,105 msg/sec OptimistAtomicQueue, 4,i: 38,502,206 msg/sec AtomicQueueB, 1,s: 44,469,444 msg/sec AtomicQueueB, 1,i: 53,768,550 msg/sec AtomicQueueB, 2,s: 8,580,650 msg/sec AtomicQueueB, 2,i: 8,120,904 msg/sec AtomicQueueB, 3,s: 6,179,651 msg/sec AtomicQueueB, 3,i: 6,265,389 msg/sec AtomicQueueB, 4,s: 4,776,050 msg/sec AtomicQueueB, 4,i: 4,893,920 msg/sec OptimistAtomicQueueB, 1,s: 778,280,296 msg/sec OptimistAtomicQueueB, 1,i: 374,958,206 msg/sec OptimistAtomicQueueB, 2,s: 35,076,837 msg/sec OptimistAtomicQueueB, 2,i: 37,013,111 msg/sec OptimistAtomicQueueB, 3,s: 40,411,184 msg/sec OptimistAtomicQueueB, 3,i: 41,814,270 msg/sec OptimistAtomicQueueB, 4,s: 39,779,978 msg/sec OptimistAtomicQueueB, 4,i: 36,872,776 msg/sec AtomicQueue2, 1,s: 59,460,944 msg/sec AtomicQueue2, 1,i: 53,901,833 msg/sec AtomicQueue2, 2,s: 8,240,324 msg/sec AtomicQueue2, 2,i: 8,186,309 msg/sec AtomicQueue2, 3,s: 6,318,812 msg/sec AtomicQueue2, 3,i: 6,330,296 msg/sec AtomicQueue2, 4,s: 4,789,893 msg/sec AtomicQueue2, 4,i: 5,049,958 msg/sec OptimistAtomicQueue2, 1,s: 101,348,998 msg/sec OptimistAtomicQueue2, 1,i: 104,885,566 msg/sec OptimistAtomicQueue2, 2,s: 34,147,952 msg/sec OptimistAtomicQueue2, 2,i: 39,288,339 msg/sec OptimistAtomicQueue2, 3,s: 39,564,686 msg/sec OptimistAtomicQueue2, 3,i: 33,999,417 msg/sec OptimistAtomicQueue2, 4,s: 39,021,409 msg/sec OptimistAtomicQueue2, 4,i: 36,467,702 msg/sec AtomicQueueB2, 1,s: 65,136,978 msg/sec AtomicQueueB2, 1,i: 73,505,931 msg/sec AtomicQueueB2, 2,s: 8,003,781 msg/sec AtomicQueueB2, 2,i: 8,418,395 msg/sec AtomicQueueB2, 3,s: 6,142,119 msg/sec AtomicQueueB2, 3,i: 6,284,052 msg/sec AtomicQueueB2, 4,s: 4,707,075 msg/sec AtomicQueueB2, 4,i: 4,894,745 msg/sec OptimistAtomicQueueB2, 1,s: 90,910,499 msg/sec OptimistAtomicQueueB2, 1,i: 108,702,613 msg/sec OptimistAtomicQueueB2, 2,s: 35,402,239 msg/sec OptimistAtomicQueueB2, 2,i: 37,846,938 msg/sec OptimistAtomicQueueB2, 3,s: 39,930,133 msg/sec OptimistAtomicQueueB2, 3,i: 36,235,882 msg/sec OptimistAtomicQueueB2, 4,s: 37,714,482 msg/sec OptimistAtomicQueueB2, 4,i: 37,459,555 msg/sec moodycamel::ReaderWriterQueue, 1,s: 241,668,281 msg/sec moodycamel::ReaderWriterQueue, 1,i: 611,615,979 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,792,122 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,757,207 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,972,556 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,802,196 msg/sec moodycamel::ConcurrentQueue, 3,s: 43,130,427 msg/sec moodycamel::ConcurrentQueue, 3,i: 46,627,045 msg/sec moodycamel::ConcurrentQueue, 4,s: 66,114,920 msg/sec moodycamel::ConcurrentQueue, 4,i: 55,769,873 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,746,616 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,760,805 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,356,799 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,391,819 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,741,184 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,831,732 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,408,338 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,489,039 msg/sec xenium::michael_scott_queue, 1,s: 11,714,042 msg/sec xenium::michael_scott_queue, 1,i: 11,619,154 msg/sec xenium::michael_scott_queue, 2,s: 7,285,766 msg/sec xenium::michael_scott_queue, 2,i: 7,000,006 msg/sec xenium::michael_scott_queue, 3,s: 5,086,343 msg/sec xenium::michael_scott_queue, 3,i: 5,026,087 msg/sec xenium::michael_scott_queue, 4,s: 3,812,527 msg/sec xenium::michael_scott_queue, 4,i: 3,674,409 msg/sec xenium::ramalhete_queue, 1,s: 55,619,858 msg/sec xenium::ramalhete_queue, 1,i: 53,564,768 msg/sec xenium::ramalhete_queue, 2,s: 53,090,826 msg/sec xenium::ramalhete_queue, 2,i: 25,204,751 msg/sec xenium::ramalhete_queue, 3,s: 28,537,567 msg/sec xenium::ramalhete_queue, 3,i: 29,301,637 msg/sec xenium::ramalhete_queue, 4,s: 32,168,361 msg/sec xenium::ramalhete_queue, 4,i: 31,309,867 msg/sec xenium::vyukov_bounded_queue, 1,s: 207,620,094 msg/sec xenium::vyukov_bounded_queue, 1,i: 231,136,194 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,979,327 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,062,711 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,272,478 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,709,825 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,670,488 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,881,083 msg/sec boost::lockfree::queue, 1,s: 7,032,714 msg/sec boost::lockfree::queue, 1,i: 6,970,213 msg/sec boost::lockfree::queue, 2,s: 4,268,658 msg/sec boost::lockfree::queue, 2,i: 4,322,486 msg/sec boost::lockfree::queue, 3,s: 3,448,836 msg/sec boost::lockfree::queue, 3,i: 3,444,069 msg/sec boost::lockfree::queue, 4,s: 2,783,049 msg/sec boost::lockfree::queue, 4,i: 2,746,933 msg/sec std::mutex, 1,s: 3,837,652 msg/sec std::mutex, 1,i: 3,516,665 msg/sec std::mutex, 2,s: 10,109,857 msg/sec std::mutex, 2,i: 9,700,461 msg/sec std::mutex, 3,s: 4,680,853 msg/sec std::mutex, 3,i: 4,479,738 msg/sec std::mutex, 4,s: 4,418,957 msg/sec std::mutex, 4,i: 4,218,466 msg/sec pthread_spinlock, 1,s: 15,718,255 msg/sec pthread_spinlock, 1,i: 15,597,040 msg/sec pthread_spinlock, 2,s: 9,363,960 msg/sec pthread_spinlock, 2,i: 5,206,969 msg/sec pthread_spinlock, 3,s: 355,994 msg/sec pthread_spinlock: producers: 3: consumer 1 received too few messages: 0.05% of expected. pthread_spinlock, 3,i: 10,000,766 msg/sec pthread_spinlock, 4,s: 724,090 msg/sec pthread_spinlock, 4,i: 877,306 msg/sec tbb::spin_mutex, 1,s: 42,790,018 msg/sec tbb::spin_mutex, 1,i: 42,847,404 msg/sec tbb::spin_mutex, 2,s: 9,317,178 msg/sec tbb::spin_mutex, 2,i: 9,034,397 msg/sec tbb::spin_mutex, 3,s: 5,530,005 msg/sec tbb::spin_mutex, 3,i: 5,252,683 msg/sec tbb::spin_mutex, 4,s: 3,453,174 msg/sec tbb::spin_mutex, 4,i: 3,640,079 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 363.06 System time (seconds): 22.65 Percent of CPU this job got: 483% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.71 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 49408 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 14839 Voluntary context switches: 2635531 Involuntary context switches: 100 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:36:43 [8/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000113 sec/round-trip AtomicQueue2: 0.000000140 sec/round-trip OptimistAtomicQueue2: 0.000000123 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000125 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000186 sec/round-trip tbb::concurrent_bounded_queue: 0.000000337 sec/round-trip xenium::michael_scott_queue: 0.000000304 sec/round-trip xenium::ramalhete_queue: 0.000000161 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000564 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000245 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 172,495,796 msg/sec boost::lockfree::spsc_queue, 1,i: 157,992,880 msg/sec AtomicQueue, 1,s: 86,561,086 msg/sec AtomicQueue, 1,i: 84,952,578 msg/sec AtomicQueue, 2,s: 8,068,467 msg/sec AtomicQueue, 2,i: 8,740,635 msg/sec AtomicQueue, 3,s: 6,595,889 msg/sec AtomicQueue, 3,i: 6,651,177 msg/sec AtomicQueue, 4,s: 4,877,524 msg/sec AtomicQueue, 4,i: 5,093,766 msg/sec OptimistAtomicQueue, 1,s: 847,937,268 msg/sec OptimistAtomicQueue, 1,i: 853,338,235 msg/sec OptimistAtomicQueue, 2,s: 36,571,487 msg/sec OptimistAtomicQueue, 2,i: 37,659,496 msg/sec OptimistAtomicQueue, 3,s: 41,093,023 msg/sec OptimistAtomicQueue, 3,i: 36,984,342 msg/sec OptimistAtomicQueue, 4,s: 40,011,642 msg/sec OptimistAtomicQueue, 4,i: 39,047,071 msg/sec AtomicQueueB, 1,s: 50,459,249 msg/sec AtomicQueueB, 1,i: 49,476,822 msg/sec AtomicQueueB, 2,s: 8,284,927 msg/sec AtomicQueueB, 2,i: 8,426,623 msg/sec AtomicQueueB, 3,s: 6,145,238 msg/sec AtomicQueueB, 3,i: 6,253,529 msg/sec AtomicQueueB, 4,s: 4,774,691 msg/sec AtomicQueueB, 4,i: 4,905,321 msg/sec OptimistAtomicQueueB, 1,s: 423,143,614 msg/sec OptimistAtomicQueueB, 1,i: 420,634,519 msg/sec OptimistAtomicQueueB, 2,s: 36,086,625 msg/sec OptimistAtomicQueueB, 2,i: 38,295,240 msg/sec OptimistAtomicQueueB, 3,s: 40,587,100 msg/sec OptimistAtomicQueueB, 3,i: 36,342,041 msg/sec OptimistAtomicQueueB, 4,s: 39,975,600 msg/sec OptimistAtomicQueueB, 4,i: 36,768,956 msg/sec AtomicQueue2, 1,s: 62,961,881 msg/sec AtomicQueue2, 1,i: 62,866,346 msg/sec AtomicQueue2, 2,s: 8,403,907 msg/sec AtomicQueue2, 2,i: 8,098,405 msg/sec AtomicQueue2, 3,s: 6,229,329 msg/sec AtomicQueue2, 3,i: 6,349,096 msg/sec AtomicQueue2, 4,s: 4,794,255 msg/sec AtomicQueue2, 4,i: 4,932,192 msg/sec OptimistAtomicQueue2, 1,s: 100,281,124 msg/sec OptimistAtomicQueue2, 1,i: 104,741,266 msg/sec OptimistAtomicQueue2, 2,s: 34,570,844 msg/sec OptimistAtomicQueue2, 2,i: 40,160,434 msg/sec OptimistAtomicQueue2, 3,s: 39,179,351 msg/sec OptimistAtomicQueue2, 3,i: 34,005,522 msg/sec OptimistAtomicQueue2, 4,s: 39,132,206 msg/sec OptimistAtomicQueue2, 4,i: 36,317,795 msg/sec AtomicQueueB2, 1,s: 70,578,843 msg/sec AtomicQueueB2, 1,i: 72,088,151 msg/sec AtomicQueueB2, 2,s: 8,340,635 msg/sec AtomicQueueB2, 2,i: 8,039,192 msg/sec AtomicQueueB2, 3,s: 6,182,126 msg/sec AtomicQueueB2, 3,i: 6,403,707 msg/sec AtomicQueueB2, 4,s: 4,701,070 msg/sec AtomicQueueB2, 4,i: 4,899,792 msg/sec OptimistAtomicQueueB2, 1,s: 91,554,955 msg/sec OptimistAtomicQueueB2, 1,i: 94,367,309 msg/sec OptimistAtomicQueueB2, 2,s: 35,660,654 msg/sec OptimistAtomicQueueB2, 2,i: 37,715,878 msg/sec OptimistAtomicQueueB2, 3,s: 39,867,148 msg/sec OptimistAtomicQueueB2, 3,i: 37,001,096 msg/sec OptimistAtomicQueueB2, 4,s: 38,456,218 msg/sec OptimistAtomicQueueB2, 4,i: 37,219,680 msg/sec moodycamel::ReaderWriterQueue, 1,s: 343,586,054 msg/sec moodycamel::ReaderWriterQueue, 1,i: 410,218,366 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,789,183 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,798,574 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,053,805 msg/sec moodycamel::ConcurrentQueue, 2,i: 30,076,087 msg/sec moodycamel::ConcurrentQueue, 3,s: 39,169,110 msg/sec moodycamel::ConcurrentQueue, 3,i: 39,870,079 msg/sec moodycamel::ConcurrentQueue, 4,s: 70,670,545 msg/sec moodycamel::ConcurrentQueue, 4,i: 63,572,611 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,069,845 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,006,921 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,321,852 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,348,979 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,739,367 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,810,485 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,396,904 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,476,726 msg/sec xenium::michael_scott_queue, 1,s: 11,567,206 msg/sec xenium::michael_scott_queue, 1,i: 11,465,327 msg/sec xenium::michael_scott_queue, 2,s: 7,306,057 msg/sec xenium::michael_scott_queue, 2,i: 6,963,652 msg/sec xenium::michael_scott_queue, 3,s: 5,093,259 msg/sec xenium::michael_scott_queue, 3,i: 5,038,177 msg/sec xenium::michael_scott_queue, 4,s: 3,817,607 msg/sec xenium::michael_scott_queue, 4,i: 3,663,364 msg/sec xenium::ramalhete_queue, 1,s: 59,054,212 msg/sec xenium::ramalhete_queue, 1,i: 67,971,678 msg/sec xenium::ramalhete_queue, 2,s: 46,239,360 msg/sec xenium::ramalhete_queue, 2,i: 43,329,376 msg/sec xenium::ramalhete_queue, 3,s: 29,381,632 msg/sec xenium::ramalhete_queue, 3,i: 27,059,094 msg/sec xenium::ramalhete_queue, 4,s: 31,561,545 msg/sec xenium::ramalhete_queue, 4,i: 30,063,169 msg/sec xenium::vyukov_bounded_queue, 1,s: 235,556,919 msg/sec xenium::vyukov_bounded_queue, 1,i: 242,703,738 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,982,596 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,960,574 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,191,562 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,652,799 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,993,709 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,892,411 msg/sec boost::lockfree::queue, 1,s: 7,044,447 msg/sec boost::lockfree::queue, 1,i: 7,025,815 msg/sec boost::lockfree::queue, 2,s: 4,280,785 msg/sec boost::lockfree::queue, 2,i: 4,318,389 msg/sec boost::lockfree::queue, 3,s: 3,464,869 msg/sec boost::lockfree::queue, 3,i: 3,420,422 msg/sec boost::lockfree::queue, 4,s: 2,764,989 msg/sec boost::lockfree::queue, 4,i: 2,734,709 msg/sec std::mutex, 1,s: 3,709,765 msg/sec std::mutex, 1,i: 3,644,716 msg/sec std::mutex, 2,s: 9,875,993 msg/sec std::mutex, 2,i: 9,120,473 msg/sec std::mutex, 3,s: 4,398,346 msg/sec std::mutex, 3,i: 4,370,166 msg/sec std::mutex, 4,s: 4,411,930 msg/sec std::mutex, 4,i: 4,207,093 msg/sec pthread_spinlock, 1,s: 15,701,455 msg/sec pthread_spinlock, 1,i: 15,588,509 msg/sec pthread_spinlock, 2,s: 9,929,218 msg/sec pthread_spinlock, 2,i: 5,301,308 msg/sec pthread_spinlock, 3,s: 434,234 msg/sec pthread_spinlock: producers: 3: consumer 1 received too few messages: 0.04% of expected. pthread_spinlock, 3,i: 8,127,007 msg/sec pthread_spinlock, 4,s: 1,056,364 msg/sec pthread_spinlock, 4,i: 1,032,361 msg/sec tbb::spin_mutex, 1,s: 44,874,354 msg/sec tbb::spin_mutex, 1,i: 44,078,978 msg/sec tbb::spin_mutex, 2,s: 9,143,240 msg/sec tbb::spin_mutex, 2,i: 8,841,546 msg/sec tbb::spin_mutex, 3,s: 5,498,451 msg/sec tbb::spin_mutex, 3,i: 5,617,087 msg/sec tbb::spin_mutex, 4,s: 3,630,984 msg/sec tbb::spin_mutex, 4,i: 3,735,860 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 345.92 System time (seconds): 22.89 Percent of CPU this job got: 478% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:16.99 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 50944 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15082 Voluntary context switches: 2720287 Involuntary context switches: 88 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:38:00 [9/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000159 sec/round-trip AtomicQueue: 0.000000138 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000099 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000123 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000127 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000304 sec/round-trip xenium::ramalhete_queue: 0.000000164 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000584 sec/round-trip pthread_spinlock: 0.000000277 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 161,019,396 msg/sec boost::lockfree::spsc_queue, 1,i: 166,163,891 msg/sec AtomicQueue, 1,s: 86,559,584 msg/sec AtomicQueue, 1,i: 84,795,888 msg/sec AtomicQueue, 2,s: 8,512,080 msg/sec AtomicQueue, 2,i: 8,738,315 msg/sec AtomicQueue, 3,s: 6,535,593 msg/sec AtomicQueue, 3,i: 6,657,535 msg/sec AtomicQueue, 4,s: 4,866,755 msg/sec AtomicQueue, 4,i: 5,126,999 msg/sec OptimistAtomicQueue, 1,s: 860,555,948 msg/sec OptimistAtomicQueue, 1,i: 839,881,518 msg/sec OptimistAtomicQueue, 2,s: 35,150,042 msg/sec OptimistAtomicQueue, 2,i: 37,953,134 msg/sec OptimistAtomicQueue, 3,s: 41,362,396 msg/sec OptimistAtomicQueue, 3,i: 36,669,497 msg/sec OptimistAtomicQueue, 4,s: 39,420,017 msg/sec OptimistAtomicQueue, 4,i: 38,912,300 msg/sec AtomicQueueB, 1,s: 57,167,977 msg/sec AtomicQueueB, 1,i: 59,313,523 msg/sec AtomicQueueB, 2,s: 8,153,537 msg/sec AtomicQueueB, 2,i: 8,546,765 msg/sec AtomicQueueB, 3,s: 6,168,432 msg/sec AtomicQueueB, 3,i: 6,254,698 msg/sec AtomicQueueB, 4,s: 4,736,886 msg/sec AtomicQueueB, 4,i: 4,880,192 msg/sec OptimistAtomicQueueB, 1,s: 435,816,711 msg/sec OptimistAtomicQueueB, 1,i: 446,906,637 msg/sec OptimistAtomicQueueB, 2,s: 35,050,907 msg/sec OptimistAtomicQueueB, 2,i: 36,931,485 msg/sec OptimistAtomicQueueB, 3,s: 39,972,943 msg/sec OptimistAtomicQueueB, 3,i: 36,000,114 msg/sec OptimistAtomicQueueB, 4,s: 39,197,136 msg/sec OptimistAtomicQueueB, 4,i: 37,535,981 msg/sec AtomicQueue2, 1,s: 53,376,566 msg/sec AtomicQueue2, 1,i: 55,964,944 msg/sec AtomicQueue2, 2,s: 8,340,604 msg/sec AtomicQueue2, 2,i: 8,063,297 msg/sec AtomicQueue2, 3,s: 6,276,872 msg/sec AtomicQueue2, 3,i: 6,456,988 msg/sec AtomicQueue2, 4,s: 4,767,643 msg/sec AtomicQueue2, 4,i: 4,916,668 msg/sec OptimistAtomicQueue2, 1,s: 99,944,124 msg/sec OptimistAtomicQueue2, 1,i: 104,658,783 msg/sec OptimistAtomicQueue2, 2,s: 34,584,848 msg/sec OptimistAtomicQueue2, 2,i: 38,822,244 msg/sec OptimistAtomicQueue2, 3,s: 38,932,778 msg/sec OptimistAtomicQueue2, 3,i: 33,875,644 msg/sec OptimistAtomicQueue2, 4,s: 38,544,240 msg/sec OptimistAtomicQueue2, 4,i: 36,400,007 msg/sec AtomicQueueB2, 1,s: 69,880,947 msg/sec AtomicQueueB2, 1,i: 70,717,613 msg/sec AtomicQueueB2, 2,s: 8,351,330 msg/sec AtomicQueueB2, 2,i: 8,203,222 msg/sec AtomicQueueB2, 3,s: 6,170,566 msg/sec AtomicQueueB2, 3,i: 6,307,905 msg/sec AtomicQueueB2, 4,s: 4,755,420 msg/sec AtomicQueueB2, 4,i: 4,909,848 msg/sec OptimistAtomicQueueB2, 1,s: 91,617,313 msg/sec OptimistAtomicQueueB2, 1,i: 109,466,099 msg/sec OptimistAtomicQueueB2, 2,s: 35,768,194 msg/sec OptimistAtomicQueueB2, 2,i: 37,645,022 msg/sec OptimistAtomicQueueB2, 3,s: 39,465,392 msg/sec OptimistAtomicQueueB2, 3,i: 36,026,492 msg/sec OptimistAtomicQueueB2, 4,s: 37,992,473 msg/sec OptimistAtomicQueueB2, 4,i: 37,491,342 msg/sec moodycamel::ReaderWriterQueue, 1,s: 384,171,853 msg/sec moodycamel::ReaderWriterQueue, 1,i: 336,971,714 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,896,290 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,747,698 msg/sec moodycamel::ConcurrentQueue, 2,s: 27,452,485 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,003,096 msg/sec moodycamel::ConcurrentQueue, 3,s: 38,943,549 msg/sec moodycamel::ConcurrentQueue, 3,i: 38,857,220 msg/sec moodycamel::ConcurrentQueue, 4,s: 63,864,272 msg/sec moodycamel::ConcurrentQueue, 4,i: 58,922,465 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,745,448 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,724,298 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,363,024 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,436,720 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,767,511 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,834,252 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,416,868 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,481,869 msg/sec xenium::michael_scott_queue, 1,s: 11,573,221 msg/sec xenium::michael_scott_queue, 1,i: 11,553,064 msg/sec xenium::michael_scott_queue, 2,s: 7,350,311 msg/sec xenium::michael_scott_queue, 2,i: 7,053,935 msg/sec xenium::michael_scott_queue, 3,s: 5,120,667 msg/sec xenium::michael_scott_queue, 3,i: 5,075,383 msg/sec xenium::michael_scott_queue, 4,s: 3,789,555 msg/sec xenium::michael_scott_queue, 4,i: 3,638,716 msg/sec xenium::ramalhete_queue, 1,s: 60,711,329 msg/sec xenium::ramalhete_queue, 1,i: 20,312,065 msg/sec xenium::ramalhete_queue, 2,s: 50,914,802 msg/sec xenium::ramalhete_queue, 2,i: 26,942,208 msg/sec xenium::ramalhete_queue, 3,s: 30,331,574 msg/sec xenium::ramalhete_queue, 3,i: 28,750,069 msg/sec xenium::ramalhete_queue, 4,s: 30,863,010 msg/sec xenium::ramalhete_queue, 4,i: 31,404,363 msg/sec xenium::vyukov_bounded_queue, 1,s: 213,656,515 msg/sec xenium::vyukov_bounded_queue, 1,i: 236,904,943 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,196,552 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,623,074 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,650,569 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,546,371 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,927,529 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,346,840 msg/sec boost::lockfree::queue, 1,s: 7,028,400 msg/sec boost::lockfree::queue, 1,i: 7,032,267 msg/sec boost::lockfree::queue, 2,s: 4,251,265 msg/sec boost::lockfree::queue, 2,i: 4,339,180 msg/sec boost::lockfree::queue, 3,s: 3,454,404 msg/sec boost::lockfree::queue, 3,i: 3,453,048 msg/sec boost::lockfree::queue, 4,s: 2,770,382 msg/sec boost::lockfree::queue, 4,i: 2,715,136 msg/sec std::mutex, 1,s: 3,931,827 msg/sec std::mutex, 1,i: 5,819,790 msg/sec std::mutex, 2,s: 10,056,900 msg/sec std::mutex, 2,i: 9,775,941 msg/sec std::mutex, 3,s: 4,658,424 msg/sec std::mutex, 3,i: 4,744,024 msg/sec std::mutex, 4,s: 4,433,929 msg/sec std::mutex, 4,i: 4,154,149 msg/sec pthread_spinlock, 1,s: 15,427,722 msg/sec pthread_spinlock, 1,i: 15,591,324 msg/sec pthread_spinlock, 2,s: 9,631,637 msg/sec pthread_spinlock, 2,i: 5,142,206 msg/sec pthread_spinlock, 3,s: 381,460 msg/sec pthread_spinlock: producers: 3: consumer 2 received too few messages: 0.03% of expected. pthread_spinlock, 3,i: 8,651,652 msg/sec pthread_spinlock, 4,s: 688,564 msg/sec pthread_spinlock: producers: 4: consumer 3 received too few messages: 0.08% of expected. pthread_spinlock, 4,i: 1,359,877 msg/sec tbb::spin_mutex, 1,s: 44,253,034 msg/sec tbb::spin_mutex, 1,i: 44,425,206 msg/sec tbb::spin_mutex, 2,s: 9,155,097 msg/sec tbb::spin_mutex, 2,i: 8,971,433 msg/sec tbb::spin_mutex, 3,s: 5,554,305 msg/sec tbb::spin_mutex, 3,i: 5,306,237 msg/sec tbb::spin_mutex, 4,s: 3,590,905 msg/sec tbb::spin_mutex, 4,i: 3,600,077 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 358.51 System time (seconds): 22.31 Percent of CPU this job got: 483% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.75 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52724 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15585 Voluntary context switches: 2609637 Involuntary context switches: 104 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:39:19 [10/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000100 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000120 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000115 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000341 sec/round-trip xenium::michael_scott_queue: 0.000000300 sec/round-trip xenium::ramalhete_queue: 0.000000160 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000260 sec/round-trip std::mutex: 0.000000589 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000247 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 161,893,825 msg/sec boost::lockfree::spsc_queue, 1,i: 164,559,028 msg/sec AtomicQueue, 1,s: 96,331,807 msg/sec AtomicQueue, 1,i: 81,400,584 msg/sec AtomicQueue, 2,s: 8,627,419 msg/sec AtomicQueue, 2,i: 8,774,368 msg/sec AtomicQueue, 3,s: 6,608,425 msg/sec AtomicQueue, 3,i: 6,673,795 msg/sec AtomicQueue, 4,s: 4,927,800 msg/sec AtomicQueue, 4,i: 5,112,983 msg/sec OptimistAtomicQueue, 1,s: 843,451,586 msg/sec OptimistAtomicQueue, 1,i: 856,957,645 msg/sec OptimistAtomicQueue, 2,s: 38,934,736 msg/sec OptimistAtomicQueue, 2,i: 38,324,105 msg/sec OptimistAtomicQueue, 3,s: 41,140,060 msg/sec OptimistAtomicQueue, 3,i: 36,698,782 msg/sec OptimistAtomicQueue, 4,s: 39,949,663 msg/sec OptimistAtomicQueue, 4,i: 38,530,997 msg/sec AtomicQueueB, 1,s: 52,066,999 msg/sec AtomicQueueB, 1,i: 51,182,213 msg/sec AtomicQueueB, 2,s: 8,452,344 msg/sec AtomicQueueB, 2,i: 8,374,525 msg/sec AtomicQueueB, 3,s: 6,153,030 msg/sec AtomicQueueB, 3,i: 6,324,828 msg/sec AtomicQueueB, 4,s: 4,821,503 msg/sec AtomicQueueB, 4,i: 4,912,319 msg/sec OptimistAtomicQueueB, 1,s: 362,824,395 msg/sec OptimistAtomicQueueB, 1,i: 646,322,510 msg/sec OptimistAtomicQueueB, 2,s: 35,095,511 msg/sec OptimistAtomicQueueB, 2,i: 37,037,903 msg/sec OptimistAtomicQueueB, 3,s: 40,684,596 msg/sec OptimistAtomicQueueB, 3,i: 36,352,048 msg/sec OptimistAtomicQueueB, 4,s: 39,747,629 msg/sec OptimistAtomicQueueB, 4,i: 36,772,736 msg/sec AtomicQueue2, 1,s: 57,236,987 msg/sec AtomicQueue2, 1,i: 69,287,266 msg/sec AtomicQueue2, 2,s: 8,402,014 msg/sec AtomicQueue2, 2,i: 8,404,658 msg/sec AtomicQueue2, 3,s: 6,326,241 msg/sec AtomicQueue2, 3,i: 6,338,674 msg/sec AtomicQueue2, 4,s: 4,788,999 msg/sec AtomicQueue2, 4,i: 4,932,618 msg/sec OptimistAtomicQueue2, 1,s: 105,928,264 msg/sec OptimistAtomicQueue2, 1,i: 110,917,991 msg/sec OptimistAtomicQueue2, 2,s: 35,668,249 msg/sec OptimistAtomicQueue2, 2,i: 38,727,704 msg/sec OptimistAtomicQueue2, 3,s: 39,604,326 msg/sec OptimistAtomicQueue2, 3,i: 34,058,250 msg/sec OptimistAtomicQueue2, 4,s: 39,096,107 msg/sec OptimistAtomicQueue2, 4,i: 36,674,678 msg/sec AtomicQueueB2, 1,s: 54,852,678 msg/sec AtomicQueueB2, 1,i: 69,224,458 msg/sec AtomicQueueB2, 2,s: 8,088,908 msg/sec AtomicQueueB2, 2,i: 8,003,756 msg/sec AtomicQueueB2, 3,s: 6,186,711 msg/sec AtomicQueueB2, 3,i: 6,322,966 msg/sec AtomicQueueB2, 4,s: 4,838,468 msg/sec AtomicQueueB2, 4,i: 4,912,151 msg/sec OptimistAtomicQueueB2, 1,s: 90,413,255 msg/sec OptimistAtomicQueueB2, 1,i: 94,085,586 msg/sec OptimistAtomicQueueB2, 2,s: 36,399,011 msg/sec OptimistAtomicQueueB2, 2,i: 38,019,087 msg/sec OptimistAtomicQueueB2, 3,s: 39,770,706 msg/sec OptimistAtomicQueueB2, 3,i: 36,448,584 msg/sec OptimistAtomicQueueB2, 4,s: 38,004,220 msg/sec OptimistAtomicQueueB2, 4,i: 37,229,884 msg/sec moodycamel::ReaderWriterQueue, 1,s: 319,502,287 msg/sec moodycamel::ReaderWriterQueue, 1,i: 771,047,387 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,892,896 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,816,830 msg/sec moodycamel::ConcurrentQueue, 2,s: 30,490,694 msg/sec moodycamel::ConcurrentQueue, 2,i: 27,367,613 msg/sec moodycamel::ConcurrentQueue, 3,s: 41,649,641 msg/sec moodycamel::ConcurrentQueue, 3,i: 36,194,358 msg/sec moodycamel::ConcurrentQueue, 4,s: 65,025,242 msg/sec moodycamel::ConcurrentQueue, 4,i: 54,950,948 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,062,454 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,007,897 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,302,999 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,364,975 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,751,494 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,837,627 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,409,521 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,477,144 msg/sec xenium::michael_scott_queue, 1,s: 11,670,450 msg/sec xenium::michael_scott_queue, 1,i: 11,624,099 msg/sec xenium::michael_scott_queue, 2,s: 7,352,470 msg/sec xenium::michael_scott_queue, 2,i: 7,022,378 msg/sec xenium::michael_scott_queue, 3,s: 5,072,988 msg/sec xenium::michael_scott_queue, 3,i: 5,040,574 msg/sec xenium::michael_scott_queue, 4,s: 3,792,237 msg/sec xenium::michael_scott_queue, 4,i: 3,675,337 msg/sec xenium::ramalhete_queue, 1,s: 20,084,120 msg/sec xenium::ramalhete_queue, 1,i: 59,420,871 msg/sec xenium::ramalhete_queue, 2,s: 44,979,513 msg/sec xenium::ramalhete_queue, 2,i: 26,950,705 msg/sec xenium::ramalhete_queue, 3,s: 32,500,172 msg/sec xenium::ramalhete_queue, 3,i: 32,259,161 msg/sec xenium::ramalhete_queue, 4,s: 32,421,772 msg/sec xenium::ramalhete_queue, 4,i: 31,492,443 msg/sec xenium::vyukov_bounded_queue, 1,s: 201,744,794 msg/sec xenium::vyukov_bounded_queue, 1,i: 225,114,972 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,328,803 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,750,822 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,136,178 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,556,870 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,816,815 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,338,236 msg/sec boost::lockfree::queue, 1,s: 7,034,928 msg/sec boost::lockfree::queue, 1,i: 6,997,658 msg/sec boost::lockfree::queue, 2,s: 4,285,419 msg/sec boost::lockfree::queue, 2,i: 4,361,713 msg/sec boost::lockfree::queue, 3,s: 3,467,784 msg/sec boost::lockfree::queue, 3,i: 3,442,268 msg/sec boost::lockfree::queue, 4,s: 2,798,614 msg/sec boost::lockfree::queue, 4,i: 2,734,407 msg/sec std::mutex, 1,s: 3,052,194 msg/sec std::mutex, 1,i: 2,993,899 msg/sec std::mutex, 2,s: 9,594,812 msg/sec std::mutex, 2,i: 9,158,273 msg/sec std::mutex, 3,s: 4,772,219 msg/sec std::mutex, 3,i: 4,595,756 msg/sec std::mutex, 4,s: 4,473,051 msg/sec std::mutex, 4,i: 4,150,945 msg/sec pthread_spinlock, 1,s: 15,557,582 msg/sec pthread_spinlock, 1,i: 15,495,737 msg/sec pthread_spinlock, 2,s: 9,622,084 msg/sec pthread_spinlock, 2,i: 5,275,942 msg/sec pthread_spinlock, 3,s: 401,745 msg/sec pthread_spinlock, 3,i: 9,067,830 msg/sec pthread_spinlock, 4,s: 1,441,899 msg/sec pthread_spinlock, 4,i: 587,772 msg/sec tbb::spin_mutex, 1,s: 42,023,250 msg/sec tbb::spin_mutex, 1,i: 42,343,713 msg/sec tbb::spin_mutex, 2,s: 9,243,395 msg/sec tbb::spin_mutex, 2,i: 8,931,731 msg/sec tbb::spin_mutex, 3,s: 5,636,214 msg/sec tbb::spin_mutex, 3,i: 5,465,570 msg/sec tbb::spin_mutex, 4,s: 3,654,397 msg/sec tbb::spin_mutex, 4,i: 3,563,467 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 364.36 System time (seconds): 23.20 Percent of CPU this job got: 484% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.94 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52080 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15445 Voluntary context switches: 2592588 Involuntary context switches: 97 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:40:39 [11/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000128 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000124 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000339 sec/round-trip xenium::michael_scott_queue: 0.000000304 sec/round-trip xenium::ramalhete_queue: 0.000000159 sec/round-trip xenium::vyukov_bounded_queue: 0.000000162 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000594 sec/round-trip pthread_spinlock: 0.000000280 sec/round-trip tbb::spin_mutex: 0.000000246 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 154,502,857 msg/sec boost::lockfree::spsc_queue, 1,i: 156,785,465 msg/sec AtomicQueue, 1,s: 89,494,812 msg/sec AtomicQueue, 1,i: 83,917,677 msg/sec AtomicQueue, 2,s: 8,561,669 msg/sec AtomicQueue, 2,i: 8,697,770 msg/sec AtomicQueue, 3,s: 6,280,164 msg/sec AtomicQueue, 3,i: 6,762,620 msg/sec AtomicQueue, 4,s: 4,927,689 msg/sec AtomicQueue, 4,i: 5,120,473 msg/sec OptimistAtomicQueue, 1,s: 840,624,263 msg/sec OptimistAtomicQueue, 1,i: 845,051,223 msg/sec OptimistAtomicQueue, 2,s: 37,567,346 msg/sec OptimistAtomicQueue, 2,i: 38,285,075 msg/sec OptimistAtomicQueue, 3,s: 41,295,961 msg/sec OptimistAtomicQueue, 3,i: 36,743,974 msg/sec OptimistAtomicQueue, 4,s: 39,798,775 msg/sec OptimistAtomicQueue, 4,i: 36,922,236 msg/sec AtomicQueueB, 1,s: 49,459,170 msg/sec AtomicQueueB, 1,i: 45,624,072 msg/sec AtomicQueueB, 2,s: 8,485,741 msg/sec AtomicQueueB, 2,i: 8,188,306 msg/sec AtomicQueueB, 3,s: 6,176,212 msg/sec AtomicQueueB, 3,i: 6,291,222 msg/sec AtomicQueueB, 4,s: 4,818,897 msg/sec AtomicQueueB, 4,i: 4,907,679 msg/sec OptimistAtomicQueueB, 1,s: 392,112,107 msg/sec OptimistAtomicQueueB, 1,i: 733,081,160 msg/sec OptimistAtomicQueueB, 2,s: 34,898,935 msg/sec OptimistAtomicQueueB, 2,i: 37,097,911 msg/sec OptimistAtomicQueueB, 3,s: 40,960,875 msg/sec OptimistAtomicQueueB, 3,i: 36,324,371 msg/sec OptimistAtomicQueueB, 4,s: 39,354,766 msg/sec OptimistAtomicQueueB, 4,i: 36,810,112 msg/sec AtomicQueue2, 1,s: 68,639,048 msg/sec AtomicQueue2, 1,i: 65,493,533 msg/sec AtomicQueue2, 2,s: 8,536,497 msg/sec AtomicQueue2, 2,i: 8,142,271 msg/sec AtomicQueue2, 3,s: 6,264,422 msg/sec AtomicQueue2, 3,i: 6,350,091 msg/sec AtomicQueue2, 4,s: 4,816,030 msg/sec AtomicQueue2, 4,i: 4,919,240 msg/sec OptimistAtomicQueue2, 1,s: 101,494,519 msg/sec OptimistAtomicQueue2, 1,i: 104,948,319 msg/sec OptimistAtomicQueue2, 2,s: 34,522,524 msg/sec OptimistAtomicQueue2, 2,i: 38,967,296 msg/sec OptimistAtomicQueue2, 3,s: 39,624,987 msg/sec OptimistAtomicQueue2, 3,i: 34,176,001 msg/sec OptimistAtomicQueue2, 4,s: 38,437,913 msg/sec OptimistAtomicQueue2, 4,i: 36,196,530 msg/sec AtomicQueueB2, 1,s: 41,790,989 msg/sec AtomicQueueB2, 1,i: 70,484,541 msg/sec AtomicQueueB2, 2,s: 8,339,929 msg/sec AtomicQueueB2, 2,i: 8,134,496 msg/sec AtomicQueueB2, 3,s: 6,173,733 msg/sec AtomicQueueB2, 3,i: 6,361,631 msg/sec AtomicQueueB2, 4,s: 4,690,325 msg/sec AtomicQueueB2, 4,i: 4,902,020 msg/sec OptimistAtomicQueueB2, 1,s: 89,655,594 msg/sec OptimistAtomicQueueB2, 1,i: 108,418,043 msg/sec OptimistAtomicQueueB2, 2,s: 35,612,608 msg/sec OptimistAtomicQueueB2, 2,i: 37,786,916 msg/sec OptimistAtomicQueueB2, 3,s: 40,018,829 msg/sec OptimistAtomicQueueB2, 3,i: 36,102,347 msg/sec OptimistAtomicQueueB2, 4,s: 38,011,601 msg/sec OptimistAtomicQueueB2, 4,i: 37,320,537 msg/sec moodycamel::ReaderWriterQueue, 1,s: 589,128,664 msg/sec moodycamel::ReaderWriterQueue, 1,i: 584,211,327 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,636,343 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,705,057 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,638,153 msg/sec moodycamel::ConcurrentQueue, 2,i: 29,817,256 msg/sec moodycamel::ConcurrentQueue, 3,s: 38,812,071 msg/sec moodycamel::ConcurrentQueue, 3,i: 41,154,716 msg/sec moodycamel::ConcurrentQueue, 4,s: 58,634,124 msg/sec moodycamel::ConcurrentQueue, 4,i: 65,956,977 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,765,072 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,746,914 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,304,550 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,392,640 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,736,962 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,825,234 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,404,770 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,474,031 msg/sec xenium::michael_scott_queue, 1,s: 11,708,472 msg/sec xenium::michael_scott_queue, 1,i: 11,946,308 msg/sec xenium::michael_scott_queue, 2,s: 7,376,957 msg/sec xenium::michael_scott_queue, 2,i: 7,080,482 msg/sec xenium::michael_scott_queue, 3,s: 5,059,553 msg/sec xenium::michael_scott_queue, 3,i: 5,049,824 msg/sec xenium::michael_scott_queue, 4,s: 3,713,732 msg/sec xenium::michael_scott_queue, 4,i: 3,639,530 msg/sec xenium::ramalhete_queue, 1,s: 61,479,186 msg/sec xenium::ramalhete_queue, 1,i: 53,341,450 msg/sec xenium::ramalhete_queue, 2,s: 45,779,283 msg/sec xenium::ramalhete_queue, 2,i: 27,143,312 msg/sec xenium::ramalhete_queue, 3,s: 30,628,495 msg/sec xenium::ramalhete_queue, 3,i: 30,014,916 msg/sec xenium::ramalhete_queue, 4,s: 31,122,213 msg/sec xenium::ramalhete_queue, 4,i: 31,523,785 msg/sec xenium::vyukov_bounded_queue, 1,s: 234,168,647 msg/sec xenium::vyukov_bounded_queue, 1,i: 241,995,238 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,064,196 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,360,761 msg/sec xenium::vyukov_bounded_queue, 3,s: 8,972,038 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,633,570 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,817,939 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,235,084 msg/sec boost::lockfree::queue, 1,s: 7,048,830 msg/sec boost::lockfree::queue, 1,i: 7,069,514 msg/sec boost::lockfree::queue, 2,s: 4,253,774 msg/sec boost::lockfree::queue, 2,i: 4,339,805 msg/sec boost::lockfree::queue, 3,s: 3,462,603 msg/sec boost::lockfree::queue, 3,i: 3,441,913 msg/sec boost::lockfree::queue, 4,s: 2,795,254 msg/sec boost::lockfree::queue, 4,i: 2,712,756 msg/sec std::mutex, 1,s: 4,234,891 msg/sec std::mutex, 1,i: 3,310,570 msg/sec std::mutex, 2,s: 9,792,282 msg/sec std::mutex, 2,i: 8,931,945 msg/sec std::mutex, 3,s: 4,960,331 msg/sec std::mutex, 3,i: 4,952,575 msg/sec std::mutex, 4,s: 4,433,594 msg/sec std::mutex, 4,i: 4,251,812 msg/sec pthread_spinlock, 1,s: 15,620,745 msg/sec pthread_spinlock, 1,i: 15,690,681 msg/sec pthread_spinlock, 2,s: 9,760,727 msg/sec pthread_spinlock, 2,i: 5,211,232 msg/sec pthread_spinlock, 3,s: 425,188 msg/sec pthread_spinlock, 3,i: 10,235,065 msg/sec pthread_spinlock, 4,s: 688,612 msg/sec pthread_spinlock, 4,i: 972,404 msg/sec tbb::spin_mutex, 1,s: 39,298,889 msg/sec tbb::spin_mutex, 1,i: 43,297,741 msg/sec tbb::spin_mutex, 2,s: 9,379,102 msg/sec tbb::spin_mutex, 2,i: 8,785,117 msg/sec tbb::spin_mutex, 3,s: 5,356,754 msg/sec tbb::spin_mutex, 3,i: 5,394,978 msg/sec tbb::spin_mutex, 4,s: 3,538,787 msg/sec tbb::spin_mutex, 4,i: 3,702,968 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 359.74 System time (seconds): 22.76 Percent of CPU this job got: 484% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.89 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 49016 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 14609 Voluntary context switches: 2428795 Involuntary context switches: 107 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:41:58 [12/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000162 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000129 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000143 sec/round-trip OptimistAtomicQueueB2: 0.000000118 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000303 sec/round-trip xenium::ramalhete_queue: 0.000000160 sec/round-trip xenium::vyukov_bounded_queue: 0.000000171 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000584 sec/round-trip pthread_spinlock: 0.000000280 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 161,288,446 msg/sec boost::lockfree::spsc_queue, 1,i: 157,641,778 msg/sec AtomicQueue, 1,s: 127,599,705 msg/sec AtomicQueue, 1,i: 100,411,974 msg/sec AtomicQueue, 2,s: 8,744,174 msg/sec AtomicQueue, 2,i: 8,723,068 msg/sec AtomicQueue, 3,s: 6,581,721 msg/sec AtomicQueue, 3,i: 6,657,502 msg/sec AtomicQueue, 4,s: 4,891,554 msg/sec AtomicQueue, 4,i: 5,164,451 msg/sec OptimistAtomicQueue, 1,s: 848,146,228 msg/sec OptimistAtomicQueue, 1,i: 850,654,553 msg/sec OptimistAtomicQueue, 2,s: 36,211,554 msg/sec OptimistAtomicQueue, 2,i: 38,043,215 msg/sec OptimistAtomicQueue, 3,s: 41,456,888 msg/sec OptimistAtomicQueue, 3,i: 37,002,125 msg/sec OptimistAtomicQueue, 4,s: 39,948,560 msg/sec OptimistAtomicQueue, 4,i: 38,872,730 msg/sec AtomicQueueB, 1,s: 48,972,168 msg/sec AtomicQueueB, 1,i: 46,666,367 msg/sec AtomicQueueB, 2,s: 8,259,041 msg/sec AtomicQueueB, 2,i: 8,596,558 msg/sec AtomicQueueB, 3,s: 6,131,549 msg/sec AtomicQueueB, 3,i: 6,441,816 msg/sec AtomicQueueB, 4,s: 4,803,236 msg/sec AtomicQueueB, 4,i: 4,991,667 msg/sec OptimistAtomicQueueB, 1,s: 360,559,503 msg/sec OptimistAtomicQueueB, 1,i: 648,127,224 msg/sec OptimistAtomicQueueB, 2,s: 34,970,308 msg/sec OptimistAtomicQueueB, 2,i: 41,072,817 msg/sec OptimistAtomicQueueB, 3,s: 40,283,086 msg/sec OptimistAtomicQueueB, 3,i: 36,209,314 msg/sec OptimistAtomicQueueB, 4,s: 39,874,538 msg/sec OptimistAtomicQueueB, 4,i: 36,819,387 msg/sec AtomicQueue2, 1,s: 62,379,767 msg/sec AtomicQueue2, 1,i: 68,424,426 msg/sec AtomicQueue2, 2,s: 8,335,562 msg/sec AtomicQueue2, 2,i: 8,033,369 msg/sec AtomicQueue2, 3,s: 6,273,580 msg/sec AtomicQueue2, 3,i: 6,407,072 msg/sec AtomicQueue2, 4,s: 4,781,117 msg/sec AtomicQueue2, 4,i: 4,924,254 msg/sec OptimistAtomicQueue2, 1,s: 101,013,383 msg/sec OptimistAtomicQueue2, 1,i: 106,184,419 msg/sec OptimistAtomicQueue2, 2,s: 34,307,137 msg/sec OptimistAtomicQueue2, 2,i: 38,999,499 msg/sec OptimistAtomicQueue2, 3,s: 39,374,019 msg/sec OptimistAtomicQueue2, 3,i: 34,182,860 msg/sec OptimistAtomicQueue2, 4,s: 39,105,528 msg/sec OptimistAtomicQueue2, 4,i: 36,505,689 msg/sec AtomicQueueB2, 1,s: 71,672,879 msg/sec AtomicQueueB2, 1,i: 70,689,064 msg/sec AtomicQueueB2, 2,s: 8,286,273 msg/sec AtomicQueueB2, 2,i: 7,936,815 msg/sec AtomicQueueB2, 3,s: 6,164,051 msg/sec AtomicQueueB2, 3,i: 6,409,853 msg/sec AtomicQueueB2, 4,s: 4,749,336 msg/sec AtomicQueueB2, 4,i: 4,887,668 msg/sec OptimistAtomicQueueB2, 1,s: 90,150,867 msg/sec OptimistAtomicQueueB2, 1,i: 109,754,877 msg/sec OptimistAtomicQueueB2, 2,s: 35,267,276 msg/sec OptimistAtomicQueueB2, 2,i: 37,914,625 msg/sec OptimistAtomicQueueB2, 3,s: 39,654,930 msg/sec OptimistAtomicQueueB2, 3,i: 36,544,592 msg/sec OptimistAtomicQueueB2, 4,s: 38,240,161 msg/sec OptimistAtomicQueueB2, 4,i: 37,361,736 msg/sec moodycamel::ReaderWriterQueue, 1,s: 561,320,728 msg/sec moodycamel::ReaderWriterQueue, 1,i: 301,650,769 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,942,145 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,651,607 msg/sec moodycamel::ConcurrentQueue, 2,s: 30,016,156 msg/sec moodycamel::ConcurrentQueue, 2,i: 27,562,349 msg/sec moodycamel::ConcurrentQueue, 3,s: 41,500,275 msg/sec moodycamel::ConcurrentQueue, 3,i: 45,593,318 msg/sec moodycamel::ConcurrentQueue, 4,s: 54,676,830 msg/sec moodycamel::ConcurrentQueue, 4,i: 68,398,918 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,805,898 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,779,384 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,419,919 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,407,084 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,756,244 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,828,068 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,401,977 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,475,499 msg/sec xenium::michael_scott_queue, 1,s: 11,597,945 msg/sec xenium::michael_scott_queue, 1,i: 11,604,796 msg/sec xenium::michael_scott_queue, 2,s: 7,447,151 msg/sec xenium::michael_scott_queue, 2,i: 7,075,015 msg/sec xenium::michael_scott_queue, 3,s: 5,109,047 msg/sec xenium::michael_scott_queue, 3,i: 5,087,746 msg/sec xenium::michael_scott_queue, 4,s: 3,771,534 msg/sec xenium::michael_scott_queue, 4,i: 3,677,162 msg/sec xenium::ramalhete_queue, 1,s: 58,625,790 msg/sec xenium::ramalhete_queue, 1,i: 56,384,742 msg/sec xenium::ramalhete_queue, 2,s: 46,742,050 msg/sec xenium::ramalhete_queue, 2,i: 26,325,451 msg/sec xenium::ramalhete_queue, 3,s: 30,731,118 msg/sec xenium::ramalhete_queue, 3,i: 28,844,280 msg/sec xenium::ramalhete_queue, 4,s: 31,091,974 msg/sec xenium::ramalhete_queue, 4,i: 31,768,964 msg/sec xenium::vyukov_bounded_queue, 1,s: 208,995,196 msg/sec xenium::vyukov_bounded_queue, 1,i: 226,189,370 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,165,094 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,658,687 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,353,771 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,067,288 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,838,161 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,765,209 msg/sec boost::lockfree::queue, 1,s: 7,025,597 msg/sec boost::lockfree::queue, 1,i: 7,005,797 msg/sec boost::lockfree::queue, 2,s: 4,236,141 msg/sec boost::lockfree::queue, 2,i: 4,312,208 msg/sec boost::lockfree::queue, 3,s: 3,460,892 msg/sec boost::lockfree::queue, 3,i: 3,432,536 msg/sec boost::lockfree::queue, 4,s: 1,885,741 msg/sec boost::lockfree::queue, 4,i: 2,709,964 msg/sec std::mutex, 1,s: 2,928,442 msg/sec std::mutex, 1,i: 2,991,134 msg/sec std::mutex, 2,s: 9,591,032 msg/sec std::mutex, 2,i: 9,127,149 msg/sec std::mutex, 3,s: 4,688,537 msg/sec std::mutex, 3,i: 4,582,203 msg/sec std::mutex, 4,s: 4,438,872 msg/sec std::mutex, 4,i: 4,171,349 msg/sec pthread_spinlock, 1,s: 15,560,651 msg/sec pthread_spinlock, 1,i: 15,680,155 msg/sec pthread_spinlock, 2,s: 9,504,593 msg/sec pthread_spinlock, 2,i: 5,470,732 msg/sec pthread_spinlock, 3,s: 478,119 msg/sec pthread_spinlock, 3,i: 10,494,222 msg/sec pthread_spinlock, 4,s: 1,266,151 msg/sec pthread_spinlock, 4,i: 998,107 msg/sec tbb::spin_mutex, 1,s: 42,560,858 msg/sec tbb::spin_mutex, 1,i: 45,043,455 msg/sec tbb::spin_mutex, 2,s: 9,411,508 msg/sec tbb::spin_mutex, 2,i: 8,890,303 msg/sec tbb::spin_mutex, 3,s: 5,807,498 msg/sec tbb::spin_mutex, 3,i: 5,335,722 msg/sec tbb::spin_mutex, 4,s: 3,685,771 msg/sec tbb::spin_mutex, 4,i: 3,704,564 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 349.19 System time (seconds): 23.26 Percent of CPU this job got: 480% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:17.48 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 51968 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15459 Voluntary context switches: 2675999 Involuntary context switches: 86 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:43:15 [13/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000129 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000132 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000336 sec/round-trip xenium::michael_scott_queue: 0.000000300 sec/round-trip xenium::ramalhete_queue: 0.000000165 sec/round-trip xenium::vyukov_bounded_queue: 0.000000165 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000556 sec/round-trip pthread_spinlock: 0.000000277 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 156,768,966 msg/sec boost::lockfree::spsc_queue, 1,i: 168,296,931 msg/sec AtomicQueue, 1,s: 100,581,466 msg/sec AtomicQueue, 1,i: 83,792,696 msg/sec AtomicQueue, 2,s: 8,694,434 msg/sec AtomicQueue, 2,i: 8,695,975 msg/sec AtomicQueue, 3,s: 6,638,536 msg/sec AtomicQueue, 3,i: 6,685,756 msg/sec AtomicQueue, 4,s: 4,858,864 msg/sec AtomicQueue, 4,i: 5,153,768 msg/sec OptimistAtomicQueue, 1,s: 857,421,439 msg/sec OptimistAtomicQueue, 1,i: 1,644,624,967 msg/sec OptimistAtomicQueue, 2,s: 35,399,200 msg/sec OptimistAtomicQueue, 2,i: 38,784,966 msg/sec OptimistAtomicQueue, 3,s: 41,560,810 msg/sec OptimistAtomicQueue, 3,i: 36,772,741 msg/sec OptimistAtomicQueue, 4,s: 39,479,831 msg/sec OptimistAtomicQueue, 4,i: 38,102,702 msg/sec AtomicQueueB, 1,s: 50,653,462 msg/sec AtomicQueueB, 1,i: 49,319,107 msg/sec AtomicQueueB, 2,s: 8,570,198 msg/sec AtomicQueueB, 2,i: 8,678,497 msg/sec AtomicQueueB, 3,s: 6,155,370 msg/sec AtomicQueueB, 3,i: 6,291,238 msg/sec AtomicQueueB, 4,s: 4,753,655 msg/sec AtomicQueueB, 4,i: 4,895,032 msg/sec OptimistAtomicQueueB, 1,s: 515,715,504 msg/sec OptimistAtomicQueueB, 1,i: 371,448,668 msg/sec OptimistAtomicQueueB, 2,s: 35,147,356 msg/sec OptimistAtomicQueueB, 2,i: 37,320,970 msg/sec OptimistAtomicQueueB, 3,s: 40,623,823 msg/sec OptimistAtomicQueueB, 3,i: 36,240,434 msg/sec OptimistAtomicQueueB, 4,s: 39,391,204 msg/sec OptimistAtomicQueueB, 4,i: 36,801,141 msg/sec AtomicQueue2, 1,s: 64,413,308 msg/sec AtomicQueue2, 1,i: 60,288,428 msg/sec AtomicQueue2, 2,s: 8,489,676 msg/sec AtomicQueue2, 2,i: 8,064,879 msg/sec AtomicQueue2, 3,s: 6,270,114 msg/sec AtomicQueue2, 3,i: 6,410,732 msg/sec AtomicQueue2, 4,s: 4,762,992 msg/sec AtomicQueue2, 4,i: 4,970,407 msg/sec OptimistAtomicQueue2, 1,s: 101,694,311 msg/sec OptimistAtomicQueue2, 1,i: 105,341,871 msg/sec OptimistAtomicQueue2, 2,s: 34,389,515 msg/sec OptimistAtomicQueue2, 2,i: 38,256,387 msg/sec OptimistAtomicQueue2, 3,s: 39,901,542 msg/sec OptimistAtomicQueue2, 3,i: 34,121,158 msg/sec OptimistAtomicQueue2, 4,s: 38,533,482 msg/sec OptimistAtomicQueue2, 4,i: 36,176,234 msg/sec AtomicQueueB2, 1,s: 71,134,529 msg/sec AtomicQueueB2, 1,i: 72,380,644 msg/sec AtomicQueueB2, 2,s: 8,344,665 msg/sec AtomicQueueB2, 2,i: 8,053,405 msg/sec AtomicQueueB2, 3,s: 6,162,328 msg/sec AtomicQueueB2, 3,i: 6,310,731 msg/sec AtomicQueueB2, 4,s: 4,728,208 msg/sec AtomicQueueB2, 4,i: 4,925,180 msg/sec OptimistAtomicQueueB2, 1,s: 92,759,035 msg/sec OptimistAtomicQueueB2, 1,i: 108,999,036 msg/sec OptimistAtomicQueueB2, 2,s: 36,573,564 msg/sec OptimistAtomicQueueB2, 2,i: 38,140,632 msg/sec OptimistAtomicQueueB2, 3,s: 39,786,306 msg/sec OptimistAtomicQueueB2, 3,i: 35,626,955 msg/sec OptimistAtomicQueueB2, 4,s: 37,884,993 msg/sec OptimistAtomicQueueB2, 4,i: 36,502,725 msg/sec moodycamel::ReaderWriterQueue, 1,s: 527,350,540 msg/sec moodycamel::ReaderWriterQueue, 1,i: 327,936,127 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,720,203 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,617,891 msg/sec moodycamel::ConcurrentQueue, 2,s: 28,103,788 msg/sec moodycamel::ConcurrentQueue, 2,i: 24,420,285 msg/sec moodycamel::ConcurrentQueue, 3,s: 36,058,589 msg/sec moodycamel::ConcurrentQueue, 3,i: 38,375,224 msg/sec moodycamel::ConcurrentQueue, 4,s: 58,567,101 msg/sec moodycamel::ConcurrentQueue, 4,i: 55,983,747 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,773,051 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,741,433 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,376,654 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,405,926 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,750,212 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,838,802 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,407,221 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,474,514 msg/sec xenium::michael_scott_queue, 1,s: 11,617,869 msg/sec xenium::michael_scott_queue, 1,i: 11,625,781 msg/sec xenium::michael_scott_queue, 2,s: 7,347,584 msg/sec xenium::michael_scott_queue, 2,i: 7,029,613 msg/sec xenium::michael_scott_queue, 3,s: 5,087,174 msg/sec xenium::michael_scott_queue, 3,i: 5,060,318 msg/sec xenium::michael_scott_queue, 4,s: 3,828,419 msg/sec xenium::michael_scott_queue, 4,i: 3,677,833 msg/sec xenium::ramalhete_queue, 1,s: 55,160,861 msg/sec xenium::ramalhete_queue, 1,i: 19,735,837 msg/sec xenium::ramalhete_queue, 2,s: 45,332,492 msg/sec xenium::ramalhete_queue, 2,i: 38,096,856 msg/sec xenium::ramalhete_queue, 3,s: 29,002,836 msg/sec xenium::ramalhete_queue, 3,i: 28,606,772 msg/sec xenium::ramalhete_queue, 4,s: 30,062,798 msg/sec xenium::ramalhete_queue, 4,i: 29,548,741 msg/sec xenium::vyukov_bounded_queue, 1,s: 200,064,544 msg/sec xenium::vyukov_bounded_queue, 1,i: 243,773,707 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,145,956 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,103,947 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,016,456 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,286,461 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,367,242 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,827,876 msg/sec boost::lockfree::queue, 1,s: 7,046,483 msg/sec boost::lockfree::queue, 1,i: 6,983,128 msg/sec boost::lockfree::queue, 2,s: 4,272,768 msg/sec boost::lockfree::queue, 2,i: 4,291,761 msg/sec boost::lockfree::queue, 3,s: 3,461,238 msg/sec boost::lockfree::queue, 3,i: 3,447,211 msg/sec boost::lockfree::queue, 4,s: 1,889,078 msg/sec boost::lockfree::queue, 4,i: 2,750,411 msg/sec std::mutex, 1,s: 3,002,744 msg/sec std::mutex, 1,i: 3,629,518 msg/sec std::mutex, 2,s: 10,387,297 msg/sec std::mutex, 2,i: 9,566,387 msg/sec std::mutex, 3,s: 4,365,970 msg/sec std::mutex, 3,i: 4,410,603 msg/sec std::mutex, 4,s: 4,396,593 msg/sec std::mutex, 4,i: 4,135,406 msg/sec pthread_spinlock, 1,s: 15,473,194 msg/sec pthread_spinlock, 1,i: 15,632,197 msg/sec pthread_spinlock, 2,s: 9,897,842 msg/sec pthread_spinlock, 2,i: 5,216,536 msg/sec pthread_spinlock, 3,s: 306,876 msg/sec pthread_spinlock, 3,i: 9,341,287 msg/sec pthread_spinlock, 4,s: 709,212 msg/sec pthread_spinlock, 4,i: 546,500 msg/sec tbb::spin_mutex, 1,s: 42,174,664 msg/sec tbb::spin_mutex, 1,i: 44,287,456 msg/sec tbb::spin_mutex, 2,s: 9,336,031 msg/sec tbb::spin_mutex, 2,i: 8,880,984 msg/sec tbb::spin_mutex, 3,s: 5,434,975 msg/sec tbb::spin_mutex, 3,i: 5,593,096 msg/sec tbb::spin_mutex, 4,s: 3,486,770 msg/sec tbb::spin_mutex, 4,i: 3,589,626 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 379.75 System time (seconds): 22.92 Percent of CPU this job got: 488% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:22.44 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52216 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15421 Voluntary context switches: 2728679 Involuntary context switches: 106 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:44:38 [14/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000099 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000120 sec/round-trip AtomicQueueB2: 0.000000146 sec/round-trip OptimistAtomicQueueB2: 0.000000125 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000338 sec/round-trip xenium::michael_scott_queue: 0.000000303 sec/round-trip xenium::ramalhete_queue: 0.000000157 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000260 sec/round-trip std::mutex: 0.000000557 sec/round-trip pthread_spinlock: 0.000000280 sec/round-trip tbb::spin_mutex: 0.000000249 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 161,973,694 msg/sec boost::lockfree::spsc_queue, 1,i: 167,425,999 msg/sec AtomicQueue, 1,s: 91,567,806 msg/sec AtomicQueue, 1,i: 83,439,574 msg/sec AtomicQueue, 2,s: 8,532,731 msg/sec AtomicQueue, 2,i: 8,741,470 msg/sec AtomicQueue, 3,s: 6,525,934 msg/sec AtomicQueue, 3,i: 6,633,544 msg/sec AtomicQueue, 4,s: 4,863,107 msg/sec AtomicQueue, 4,i: 5,078,046 msg/sec OptimistAtomicQueue, 1,s: 862,824,935 msg/sec OptimistAtomicQueue, 1,i: 863,691,038 msg/sec OptimistAtomicQueue, 2,s: 38,845,876 msg/sec OptimistAtomicQueue, 2,i: 37,803,762 msg/sec OptimistAtomicQueue, 3,s: 40,950,976 msg/sec OptimistAtomicQueue, 3,i: 36,826,892 msg/sec OptimistAtomicQueue, 4,s: 39,453,316 msg/sec OptimistAtomicQueue, 4,i: 38,245,495 msg/sec AtomicQueueB, 1,s: 46,445,733 msg/sec AtomicQueueB, 1,i: 46,649,878 msg/sec AtomicQueueB, 2,s: 8,511,506 msg/sec AtomicQueueB, 2,i: 8,385,065 msg/sec AtomicQueueB, 3,s: 6,309,811 msg/sec AtomicQueueB, 3,i: 6,550,754 msg/sec AtomicQueueB, 4,s: 4,734,705 msg/sec AtomicQueueB, 4,i: 4,953,753 msg/sec OptimistAtomicQueueB, 1,s: 533,797,913 msg/sec OptimistAtomicQueueB, 1,i: 368,255,409 msg/sec OptimistAtomicQueueB, 2,s: 35,201,489 msg/sec OptimistAtomicQueueB, 2,i: 37,099,870 msg/sec OptimistAtomicQueueB, 3,s: 40,449,556 msg/sec OptimistAtomicQueueB, 3,i: 36,026,466 msg/sec OptimistAtomicQueueB, 4,s: 39,292,933 msg/sec OptimistAtomicQueueB, 4,i: 36,847,021 msg/sec AtomicQueue2, 1,s: 65,192,883 msg/sec AtomicQueue2, 1,i: 54,155,636 msg/sec AtomicQueue2, 2,s: 8,343,812 msg/sec AtomicQueue2, 2,i: 8,179,933 msg/sec AtomicQueue2, 3,s: 6,253,231 msg/sec AtomicQueue2, 3,i: 6,495,983 msg/sec AtomicQueue2, 4,s: 4,759,408 msg/sec AtomicQueue2, 4,i: 4,928,228 msg/sec OptimistAtomicQueue2, 1,s: 104,982,429 msg/sec OptimistAtomicQueue2, 1,i: 110,012,797 msg/sec OptimistAtomicQueue2, 2,s: 34,896,629 msg/sec OptimistAtomicQueue2, 2,i: 40,005,387 msg/sec OptimistAtomicQueue2, 3,s: 39,366,223 msg/sec OptimistAtomicQueue2, 3,i: 34,088,400 msg/sec OptimistAtomicQueue2, 4,s: 38,341,639 msg/sec OptimistAtomicQueue2, 4,i: 36,149,701 msg/sec AtomicQueueB2, 1,s: 69,128,902 msg/sec AtomicQueueB2, 1,i: 71,130,879 msg/sec AtomicQueueB2, 2,s: 8,296,083 msg/sec AtomicQueueB2, 2,i: 7,999,923 msg/sec AtomicQueueB2, 3,s: 6,181,590 msg/sec AtomicQueueB2, 3,i: 6,298,128 msg/sec AtomicQueueB2, 4,s: 4,685,565 msg/sec AtomicQueueB2, 4,i: 4,900,684 msg/sec OptimistAtomicQueueB2, 1,s: 104,099,242 msg/sec OptimistAtomicQueueB2, 1,i: 120,009,331 msg/sec OptimistAtomicQueueB2, 2,s: 36,101,609 msg/sec OptimistAtomicQueueB2, 2,i: 37,064,091 msg/sec OptimistAtomicQueueB2, 3,s: 39,741,631 msg/sec OptimistAtomicQueueB2, 3,i: 37,128,305 msg/sec OptimistAtomicQueueB2, 4,s: 37,934,266 msg/sec OptimistAtomicQueueB2, 4,i: 37,171,871 msg/sec moodycamel::ReaderWriterQueue, 1,s: 478,555,640 msg/sec moodycamel::ReaderWriterQueue, 1,i: 343,787,243 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,815,753 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,730,136 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,012,937 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,775,533 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,311,720 msg/sec moodycamel::ConcurrentQueue, 3,i: 44,411,062 msg/sec moodycamel::ConcurrentQueue, 4,s: 84,744,482 msg/sec moodycamel::ConcurrentQueue, 4,i: 58,268,099 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,776,704 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,716,594 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,344,894 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,370,146 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,766,322 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,835,888 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,402,929 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,479,264 msg/sec xenium::michael_scott_queue, 1,s: 11,676,559 msg/sec xenium::michael_scott_queue, 1,i: 11,589,355 msg/sec xenium::michael_scott_queue, 2,s: 7,382,370 msg/sec xenium::michael_scott_queue, 2,i: 7,053,175 msg/sec xenium::michael_scott_queue, 3,s: 5,089,808 msg/sec xenium::michael_scott_queue, 3,i: 5,070,842 msg/sec xenium::michael_scott_queue, 4,s: 3,780,078 msg/sec xenium::michael_scott_queue, 4,i: 3,698,285 msg/sec xenium::ramalhete_queue, 1,s: 51,505,337 msg/sec xenium::ramalhete_queue, 1,i: 47,816,131 msg/sec xenium::ramalhete_queue, 2,s: 50,959,437 msg/sec xenium::ramalhete_queue, 2,i: 25,870,135 msg/sec xenium::ramalhete_queue, 3,s: 27,130,300 msg/sec xenium::ramalhete_queue, 3,i: 28,246,594 msg/sec xenium::ramalhete_queue, 4,s: 31,577,072 msg/sec xenium::ramalhete_queue, 4,i: 31,602,448 msg/sec xenium::vyukov_bounded_queue, 1,s: 211,158,219 msg/sec xenium::vyukov_bounded_queue, 1,i: 253,932,030 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,155,964 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,153,211 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,254,764 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,887,473 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,955,109 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,914,281 msg/sec boost::lockfree::queue, 1,s: 7,026,350 msg/sec boost::lockfree::queue, 1,i: 7,017,369 msg/sec boost::lockfree::queue, 2,s: 4,219,096 msg/sec boost::lockfree::queue, 2,i: 4,314,639 msg/sec boost::lockfree::queue, 3,s: 3,469,886 msg/sec boost::lockfree::queue, 3,i: 3,441,028 msg/sec boost::lockfree::queue, 4,s: 2,767,969 msg/sec boost::lockfree::queue, 4,i: 2,746,609 msg/sec std::mutex, 1,s: 3,231,914 msg/sec std::mutex, 1,i: 3,860,937 msg/sec std::mutex, 2,s: 9,763,146 msg/sec std::mutex, 2,i: 9,410,784 msg/sec std::mutex, 3,s: 4,514,314 msg/sec std::mutex, 3,i: 4,398,057 msg/sec std::mutex, 4,s: 4,394,005 msg/sec std::mutex, 4,i: 4,175,594 msg/sec pthread_spinlock, 1,s: 15,473,055 msg/sec pthread_spinlock, 1,i: 15,556,302 msg/sec pthread_spinlock, 2,s: 9,437,940 msg/sec pthread_spinlock, 2,i: 5,257,945 msg/sec pthread_spinlock, 3,s: 462,034 msg/sec pthread_spinlock: producers: 3: consumer 2 received too few messages: 0.02% of expected. pthread_spinlock, 3,i: 9,483,163 msg/sec pthread_spinlock, 4,s: 700,055 msg/sec pthread_spinlock, 4,i: 531,448 msg/sec tbb::spin_mutex, 1,s: 43,613,284 msg/sec tbb::spin_mutex, 1,i: 42,060,492 msg/sec tbb::spin_mutex, 2,s: 9,357,874 msg/sec tbb::spin_mutex, 2,i: 8,984,666 msg/sec tbb::spin_mutex, 3,s: 5,433,986 msg/sec tbb::spin_mutex, 3,i: 5,615,061 msg/sec tbb::spin_mutex, 4,s: 3,528,276 msg/sec tbb::spin_mutex, 4,i: 3,674,531 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 362.84 System time (seconds): 22.82 Percent of CPU this job got: 483% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.76 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52732 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15572 Voluntary context switches: 2712265 Involuntary context switches: 90 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:45:57 [15/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000148 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000123 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000118 sec/round-trip AtomicQueueB2: 0.000000144 sec/round-trip OptimistAtomicQueueB2: 0.000000126 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000343 sec/round-trip xenium::michael_scott_queue: 0.000000303 sec/round-trip xenium::ramalhete_queue: 0.000000161 sec/round-trip xenium::vyukov_bounded_queue: 0.000000162 sec/round-trip boost::lockfree::queue: 0.000000260 sec/round-trip std::mutex: 0.000000599 sec/round-trip pthread_spinlock: 0.000000279 sec/round-trip tbb::spin_mutex: 0.000000247 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 171,260,660 msg/sec boost::lockfree::spsc_queue, 1,i: 155,540,353 msg/sec AtomicQueue, 1,s: 87,194,258 msg/sec AtomicQueue, 1,i: 87,987,834 msg/sec AtomicQueue, 2,s: 8,272,421 msg/sec AtomicQueue, 2,i: 8,703,583 msg/sec AtomicQueue, 3,s: 6,653,650 msg/sec AtomicQueue, 3,i: 6,661,631 msg/sec AtomicQueue, 4,s: 4,941,545 msg/sec AtomicQueue, 4,i: 5,139,820 msg/sec OptimistAtomicQueue, 1,s: 858,202,923 msg/sec OptimistAtomicQueue, 1,i: 857,878,361 msg/sec OptimistAtomicQueue, 2,s: 35,220,209 msg/sec OptimistAtomicQueue, 2,i: 38,002,396 msg/sec OptimistAtomicQueue, 3,s: 41,307,224 msg/sec OptimistAtomicQueue, 3,i: 36,848,686 msg/sec OptimistAtomicQueue, 4,s: 39,564,622 msg/sec OptimistAtomicQueue, 4,i: 39,133,357 msg/sec AtomicQueueB, 1,s: 45,904,835 msg/sec AtomicQueueB, 1,i: 53,833,164 msg/sec AtomicQueueB, 2,s: 8,587,356 msg/sec AtomicQueueB, 2,i: 8,631,200 msg/sec AtomicQueueB, 3,s: 6,163,834 msg/sec AtomicQueueB, 3,i: 6,255,187 msg/sec AtomicQueueB, 4,s: 4,818,744 msg/sec AtomicQueueB, 4,i: 4,915,948 msg/sec OptimistAtomicQueueB, 1,s: 781,791,692 msg/sec OptimistAtomicQueueB, 1,i: 421,003,569 msg/sec OptimistAtomicQueueB, 2,s: 36,027,929 msg/sec OptimistAtomicQueueB, 2,i: 36,792,310 msg/sec OptimistAtomicQueueB, 3,s: 40,428,552 msg/sec OptimistAtomicQueueB, 3,i: 36,485,865 msg/sec OptimistAtomicQueueB, 4,s: 39,660,760 msg/sec OptimistAtomicQueueB, 4,i: 36,680,393 msg/sec AtomicQueue2, 1,s: 54,295,307 msg/sec AtomicQueue2, 1,i: 78,478,781 msg/sec AtomicQueue2, 2,s: 8,216,917 msg/sec AtomicQueue2, 2,i: 8,174,760 msg/sec AtomicQueue2, 3,s: 6,248,157 msg/sec AtomicQueue2, 3,i: 6,400,338 msg/sec AtomicQueue2, 4,s: 4,825,385 msg/sec AtomicQueue2, 4,i: 5,032,726 msg/sec OptimistAtomicQueue2, 1,s: 97,431,667 msg/sec OptimistAtomicQueue2, 1,i: 103,490,788 msg/sec OptimistAtomicQueue2, 2,s: 35,598,903 msg/sec OptimistAtomicQueue2, 2,i: 38,456,026 msg/sec OptimistAtomicQueue2, 3,s: 39,105,269 msg/sec OptimistAtomicQueue2, 3,i: 34,293,261 msg/sec OptimistAtomicQueue2, 4,s: 39,041,466 msg/sec OptimistAtomicQueue2, 4,i: 36,503,099 msg/sec AtomicQueueB2, 1,s: 70,788,583 msg/sec AtomicQueueB2, 1,i: 72,480,460 msg/sec AtomicQueueB2, 2,s: 8,145,482 msg/sec AtomicQueueB2, 2,i: 8,107,332 msg/sec AtomicQueueB2, 3,s: 6,172,422 msg/sec AtomicQueueB2, 3,i: 6,309,518 msg/sec AtomicQueueB2, 4,s: 4,787,521 msg/sec AtomicQueueB2, 4,i: 4,904,040 msg/sec OptimistAtomicQueueB2, 1,s: 90,260,030 msg/sec OptimistAtomicQueueB2, 1,i: 93,132,342 msg/sec OptimistAtomicQueueB2, 2,s: 35,758,365 msg/sec OptimistAtomicQueueB2, 2,i: 38,065,066 msg/sec OptimistAtomicQueueB2, 3,s: 39,746,094 msg/sec OptimistAtomicQueueB2, 3,i: 35,698,594 msg/sec OptimistAtomicQueueB2, 4,s: 37,778,735 msg/sec OptimistAtomicQueueB2, 4,i: 37,445,459 msg/sec moodycamel::ReaderWriterQueue, 1,s: 415,675,120 msg/sec moodycamel::ReaderWriterQueue, 1,i: 299,488,395 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,780,517 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,666,518 msg/sec moodycamel::ConcurrentQueue, 2,s: 30,144,114 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,146,236 msg/sec moodycamel::ConcurrentQueue, 3,s: 39,885,996 msg/sec moodycamel::ConcurrentQueue, 3,i: 41,440,020 msg/sec moodycamel::ConcurrentQueue, 4,s: 63,299,978 msg/sec moodycamel::ConcurrentQueue, 4,i: 66,772,369 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,053,911 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,146,466 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,352,139 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,358,196 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,753,762 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,840,188 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,415,513 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,472,553 msg/sec xenium::michael_scott_queue, 1,s: 11,649,343 msg/sec xenium::michael_scott_queue, 1,i: 11,616,235 msg/sec xenium::michael_scott_queue, 2,s: 7,346,215 msg/sec xenium::michael_scott_queue, 2,i: 7,086,935 msg/sec xenium::michael_scott_queue, 3,s: 5,083,798 msg/sec xenium::michael_scott_queue, 3,i: 5,031,129 msg/sec xenium::michael_scott_queue, 4,s: 3,761,714 msg/sec xenium::michael_scott_queue, 4,i: 3,662,024 msg/sec xenium::ramalhete_queue, 1,s: 56,709,305 msg/sec xenium::ramalhete_queue, 1,i: 51,690,671 msg/sec xenium::ramalhete_queue, 2,s: 48,976,469 msg/sec xenium::ramalhete_queue, 2,i: 45,361,335 msg/sec xenium::ramalhete_queue, 3,s: 29,863,949 msg/sec xenium::ramalhete_queue, 3,i: 30,961,991 msg/sec xenium::ramalhete_queue, 4,s: 31,137,904 msg/sec xenium::ramalhete_queue, 4,i: 31,090,657 msg/sec xenium::vyukov_bounded_queue, 1,s: 197,764,159 msg/sec xenium::vyukov_bounded_queue, 1,i: 247,344,631 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,395,016 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,368,810 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,283,512 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,492,912 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,812,596 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,393,459 msg/sec boost::lockfree::queue, 1,s: 7,034,957 msg/sec boost::lockfree::queue, 1,i: 7,070,333 msg/sec boost::lockfree::queue, 2,s: 4,248,929 msg/sec boost::lockfree::queue, 2,i: 4,307,247 msg/sec boost::lockfree::queue, 3,s: 3,466,784 msg/sec boost::lockfree::queue, 3,i: 3,436,876 msg/sec boost::lockfree::queue, 4,s: 2,791,466 msg/sec boost::lockfree::queue, 4,i: 2,735,818 msg/sec std::mutex, 1,s: 2,839,004 msg/sec std::mutex, 1,i: 2,957,301 msg/sec std::mutex, 2,s: 9,757,388 msg/sec std::mutex, 2,i: 9,391,403 msg/sec std::mutex, 3,s: 4,655,210 msg/sec std::mutex, 3,i: 4,587,071 msg/sec std::mutex, 4,s: 4,426,239 msg/sec std::mutex, 4,i: 4,158,414 msg/sec pthread_spinlock, 1,s: 15,315,850 msg/sec pthread_spinlock, 1,i: 15,440,142 msg/sec pthread_spinlock, 2,s: 9,231,087 msg/sec pthread_spinlock, 2,i: 5,726,616 msg/sec pthread_spinlock, 3,s: 906,627 msg/sec pthread_spinlock, 3,i: 8,195,762 msg/sec pthread_spinlock, 4,s: 1,521,152 msg/sec pthread_spinlock, 4,i: 1,386,104 msg/sec tbb::spin_mutex, 1,s: 42,302,489 msg/sec tbb::spin_mutex, 1,i: 42,699,823 msg/sec tbb::spin_mutex, 2,s: 9,196,973 msg/sec tbb::spin_mutex, 2,i: 9,000,164 msg/sec tbb::spin_mutex, 3,s: 5,616,899 msg/sec tbb::spin_mutex, 3,i: 5,418,411 msg/sec tbb::spin_mutex, 4,s: 3,510,311 msg/sec tbb::spin_mutex, 4,i: 3,748,012 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 328.57 System time (seconds): 23.37 Percent of CPU this job got: 473% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:14.36 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 50296 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 14986 Voluntary context switches: 2617260 Involuntary context switches: 75 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:47:12 [16/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000145 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000114 sec/round-trip AtomicQueue2: 0.000000140 sec/round-trip OptimistAtomicQueue2: 0.000000118 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000120 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000339 sec/round-trip xenium::michael_scott_queue: 0.000000303 sec/round-trip xenium::ramalhete_queue: 0.000000164 sec/round-trip xenium::vyukov_bounded_queue: 0.000000164 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000577 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 165,816,064 msg/sec boost::lockfree::spsc_queue, 1,i: 163,667,729 msg/sec AtomicQueue, 1,s: 96,186,983 msg/sec AtomicQueue, 1,i: 83,900,112 msg/sec AtomicQueue, 2,s: 8,569,020 msg/sec AtomicQueue, 2,i: 8,815,259 msg/sec AtomicQueue, 3,s: 6,556,428 msg/sec AtomicQueue, 3,i: 6,618,619 msg/sec AtomicQueue, 4,s: 4,944,056 msg/sec AtomicQueue, 4,i: 5,110,401 msg/sec OptimistAtomicQueue, 1,s: 847,958,880 msg/sec OptimistAtomicQueue, 1,i: 854,507,162 msg/sec OptimistAtomicQueue, 2,s: 37,302,600 msg/sec OptimistAtomicQueue, 2,i: 38,181,121 msg/sec OptimistAtomicQueue, 3,s: 41,725,399 msg/sec OptimistAtomicQueue, 3,i: 36,866,598 msg/sec OptimistAtomicQueue, 4,s: 39,596,014 msg/sec OptimistAtomicQueue, 4,i: 38,470,878 msg/sec AtomicQueueB, 1,s: 47,763,821 msg/sec AtomicQueueB, 1,i: 49,773,074 msg/sec AtomicQueueB, 2,s: 8,459,026 msg/sec AtomicQueueB, 2,i: 8,559,681 msg/sec AtomicQueueB, 3,s: 6,146,783 msg/sec AtomicQueueB, 3,i: 6,308,790 msg/sec AtomicQueueB, 4,s: 4,810,492 msg/sec AtomicQueueB, 4,i: 4,945,402 msg/sec OptimistAtomicQueueB, 1,s: 617,736,984 msg/sec OptimistAtomicQueueB, 1,i: 404,804,491 msg/sec OptimistAtomicQueueB, 2,s: 35,037,557 msg/sec OptimistAtomicQueueB, 2,i: 38,534,211 msg/sec OptimistAtomicQueueB, 3,s: 40,854,676 msg/sec OptimistAtomicQueueB, 3,i: 36,122,116 msg/sec OptimistAtomicQueueB, 4,s: 39,352,702 msg/sec OptimistAtomicQueueB, 4,i: 36,860,398 msg/sec AtomicQueue2, 1,s: 59,011,127 msg/sec AtomicQueue2, 1,i: 54,084,443 msg/sec AtomicQueue2, 2,s: 7,981,116 msg/sec AtomicQueue2, 2,i: 8,432,215 msg/sec AtomicQueue2, 3,s: 6,273,197 msg/sec AtomicQueue2, 3,i: 6,376,386 msg/sec AtomicQueue2, 4,s: 4,759,674 msg/sec AtomicQueue2, 4,i: 4,948,118 msg/sec OptimistAtomicQueue2, 1,s: 101,431,704 msg/sec OptimistAtomicQueue2, 1,i: 110,490,565 msg/sec OptimistAtomicQueue2, 2,s: 34,912,705 msg/sec OptimistAtomicQueue2, 2,i: 40,706,998 msg/sec OptimistAtomicQueue2, 3,s: 39,603,274 msg/sec OptimistAtomicQueue2, 3,i: 34,037,367 msg/sec OptimistAtomicQueue2, 4,s: 38,542,246 msg/sec OptimistAtomicQueue2, 4,i: 36,422,482 msg/sec AtomicQueueB2, 1,s: 71,088,626 msg/sec AtomicQueueB2, 1,i: 74,395,664 msg/sec AtomicQueueB2, 2,s: 8,081,891 msg/sec AtomicQueueB2, 2,i: 8,008,207 msg/sec AtomicQueueB2, 3,s: 6,193,052 msg/sec AtomicQueueB2, 3,i: 6,297,330 msg/sec AtomicQueueB2, 4,s: 4,683,672 msg/sec AtomicQueueB2, 4,i: 4,876,800 msg/sec OptimistAtomicQueueB2, 1,s: 91,054,975 msg/sec OptimistAtomicQueueB2, 1,i: 110,700,243 msg/sec OptimistAtomicQueueB2, 2,s: 36,501,230 msg/sec OptimistAtomicQueueB2, 2,i: 37,620,999 msg/sec OptimistAtomicQueueB2, 3,s: 39,837,583 msg/sec OptimistAtomicQueueB2, 3,i: 36,310,086 msg/sec OptimistAtomicQueueB2, 4,s: 37,864,944 msg/sec OptimistAtomicQueueB2, 4,i: 37,216,307 msg/sec moodycamel::ReaderWriterQueue, 1,s: 528,839,836 msg/sec moodycamel::ReaderWriterQueue, 1,i: 521,514,450 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,873,663 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,727,102 msg/sec moodycamel::ConcurrentQueue, 2,s: 31,410,925 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,178,641 msg/sec moodycamel::ConcurrentQueue, 3,s: 41,071,142 msg/sec moodycamel::ConcurrentQueue, 3,i: 47,893,802 msg/sec moodycamel::ConcurrentQueue, 4,s: 59,920,262 msg/sec moodycamel::ConcurrentQueue, 4,i: 77,396,037 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,737,209 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,741,943 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,410,649 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,404,430 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,764,502 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,836,728 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,397,813 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,472,570 msg/sec xenium::michael_scott_queue, 1,s: 11,503,555 msg/sec xenium::michael_scott_queue, 1,i: 11,495,233 msg/sec xenium::michael_scott_queue, 2,s: 7,386,007 msg/sec xenium::michael_scott_queue, 2,i: 6,946,982 msg/sec xenium::michael_scott_queue, 3,s: 5,121,044 msg/sec xenium::michael_scott_queue, 3,i: 5,033,743 msg/sec xenium::michael_scott_queue, 4,s: 3,779,798 msg/sec xenium::michael_scott_queue, 4,i: 3,668,554 msg/sec xenium::ramalhete_queue, 1,s: 25,627,029 msg/sec xenium::ramalhete_queue, 1,i: 20,395,840 msg/sec xenium::ramalhete_queue, 2,s: 52,035,185 msg/sec xenium::ramalhete_queue, 2,i: 27,554,132 msg/sec xenium::ramalhete_queue, 3,s: 31,305,265 msg/sec xenium::ramalhete_queue, 3,i: 28,469,606 msg/sec xenium::ramalhete_queue, 4,s: 30,091,158 msg/sec xenium::ramalhete_queue, 4,i: 29,903,356 msg/sec xenium::vyukov_bounded_queue, 1,s: 219,224,087 msg/sec xenium::vyukov_bounded_queue, 1,i: 245,414,265 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,961,984 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,362,169 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,130,253 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,285,004 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,997,872 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,883,174 msg/sec boost::lockfree::queue, 1,s: 7,047,311 msg/sec boost::lockfree::queue, 1,i: 7,048,989 msg/sec boost::lockfree::queue, 2,s: 4,264,616 msg/sec boost::lockfree::queue, 2,i: 4,327,440 msg/sec boost::lockfree::queue, 3,s: 3,477,372 msg/sec boost::lockfree::queue, 3,i: 3,437,398 msg/sec boost::lockfree::queue, 4,s: 1,887,363 msg/sec boost::lockfree::queue, 4,i: 2,758,226 msg/sec std::mutex, 1,s: 3,470,091 msg/sec std::mutex, 1,i: 3,378,381 msg/sec std::mutex, 2,s: 9,646,498 msg/sec std::mutex, 2,i: 9,267,873 msg/sec std::mutex, 3,s: 4,423,321 msg/sec std::mutex, 3,i: 4,434,811 msg/sec std::mutex, 4,s: 4,390,072 msg/sec std::mutex, 4,i: 4,197,055 msg/sec pthread_spinlock, 1,s: 15,596,726 msg/sec pthread_spinlock, 1,i: 15,693,626 msg/sec pthread_spinlock, 2,s: 9,579,492 msg/sec pthread_spinlock, 2,i: 5,212,794 msg/sec pthread_spinlock, 3,s: 351,523 msg/sec pthread_spinlock, 3,i: 10,109,475 msg/sec pthread_spinlock, 4,s: 1,051,870 msg/sec pthread_spinlock, 4,i: 574,771 msg/sec tbb::spin_mutex, 1,s: 44,943,603 msg/sec tbb::spin_mutex, 1,i: 42,465,373 msg/sec tbb::spin_mutex, 2,s: 9,381,676 msg/sec tbb::spin_mutex, 2,i: 8,984,676 msg/sec tbb::spin_mutex, 3,s: 5,383,273 msg/sec tbb::spin_mutex, 3,i: 5,488,563 msg/sec tbb::spin_mutex, 4,s: 3,575,286 msg/sec tbb::spin_mutex, 4,i: 3,841,672 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 371.35 System time (seconds): 23.06 Percent of CPU this job got: 487% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:20.88 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52340 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15499 Voluntary context switches: 2687162 Involuntary context switches: 112 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:48:33 [17/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000112 sec/round-trip AtomicQueue2: 0.000000142 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000121 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000302 sec/round-trip xenium::ramalhete_queue: 0.000000159 sec/round-trip xenium::vyukov_bounded_queue: 0.000000161 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000571 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000246 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 159,615,486 msg/sec boost::lockfree::spsc_queue, 1,i: 156,989,904 msg/sec AtomicQueue, 1,s: 88,410,969 msg/sec AtomicQueue, 1,i: 87,468,736 msg/sec AtomicQueue, 2,s: 8,493,836 msg/sec AtomicQueue, 2,i: 8,789,615 msg/sec AtomicQueue, 3,s: 6,661,384 msg/sec AtomicQueue, 3,i: 6,653,142 msg/sec AtomicQueue, 4,s: 4,942,160 msg/sec AtomicQueue, 4,i: 5,078,780 msg/sec OptimistAtomicQueue, 1,s: 844,464,938 msg/sec OptimistAtomicQueue, 1,i: 844,436,360 msg/sec OptimistAtomicQueue, 2,s: 38,774,826 msg/sec OptimistAtomicQueue, 2,i: 38,136,595 msg/sec OptimistAtomicQueue, 3,s: 40,917,115 msg/sec OptimistAtomicQueue, 3,i: 36,812,956 msg/sec OptimistAtomicQueue, 4,s: 39,524,012 msg/sec OptimistAtomicQueue, 4,i: 38,821,731 msg/sec AtomicQueueB, 1,s: 46,369,024 msg/sec AtomicQueueB, 1,i: 45,802,875 msg/sec AtomicQueueB, 2,s: 8,598,233 msg/sec AtomicQueueB, 2,i: 8,587,487 msg/sec AtomicQueueB, 3,s: 6,124,469 msg/sec AtomicQueueB, 3,i: 6,319,891 msg/sec AtomicQueueB, 4,s: 4,763,750 msg/sec AtomicQueueB, 4,i: 4,939,166 msg/sec OptimistAtomicQueueB, 1,s: 373,855,685 msg/sec OptimistAtomicQueueB, 1,i: 475,736,300 msg/sec OptimistAtomicQueueB, 2,s: 35,184,017 msg/sec OptimistAtomicQueueB, 2,i: 37,389,378 msg/sec OptimistAtomicQueueB, 3,s: 40,346,381 msg/sec OptimistAtomicQueueB, 3,i: 36,002,192 msg/sec OptimistAtomicQueueB, 4,s: 39,290,257 msg/sec OptimistAtomicQueueB, 4,i: 37,485,005 msg/sec AtomicQueue2, 1,s: 54,827,728 msg/sec AtomicQueue2, 1,i: 50,945,651 msg/sec AtomicQueue2, 2,s: 8,316,355 msg/sec AtomicQueue2, 2,i: 8,455,629 msg/sec AtomicQueue2, 3,s: 6,244,454 msg/sec AtomicQueue2, 3,i: 6,365,957 msg/sec AtomicQueue2, 4,s: 4,770,604 msg/sec AtomicQueue2, 4,i: 4,927,239 msg/sec OptimistAtomicQueue2, 1,s: 101,965,051 msg/sec OptimistAtomicQueue2, 1,i: 104,681,505 msg/sec OptimistAtomicQueue2, 2,s: 34,657,792 msg/sec OptimistAtomicQueue2, 2,i: 38,806,636 msg/sec OptimistAtomicQueue2, 3,s: 39,249,082 msg/sec OptimistAtomicQueue2, 3,i: 34,008,975 msg/sec OptimistAtomicQueue2, 4,s: 38,706,332 msg/sec OptimistAtomicQueue2, 4,i: 36,702,622 msg/sec AtomicQueueB2, 1,s: 69,576,777 msg/sec AtomicQueueB2, 1,i: 70,911,097 msg/sec AtomicQueueB2, 2,s: 8,315,900 msg/sec AtomicQueueB2, 2,i: 7,981,594 msg/sec AtomicQueueB2, 3,s: 6,150,288 msg/sec AtomicQueueB2, 3,i: 6,410,557 msg/sec AtomicQueueB2, 4,s: 4,672,669 msg/sec AtomicQueueB2, 4,i: 4,884,928 msg/sec OptimistAtomicQueueB2, 1,s: 108,355,543 msg/sec OptimistAtomicQueueB2, 1,i: 110,135,892 msg/sec OptimistAtomicQueueB2, 2,s: 36,361,205 msg/sec OptimistAtomicQueueB2, 2,i: 37,432,427 msg/sec OptimistAtomicQueueB2, 3,s: 39,860,397 msg/sec OptimistAtomicQueueB2, 3,i: 35,556,452 msg/sec OptimistAtomicQueueB2, 4,s: 37,706,873 msg/sec OptimistAtomicQueueB2, 4,i: 37,687,282 msg/sec moodycamel::ReaderWriterQueue, 1,s: 507,869,228 msg/sec moodycamel::ReaderWriterQueue, 1,i: 438,693,883 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,728,249 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,580,533 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,449,463 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,773,061 msg/sec moodycamel::ConcurrentQueue, 3,s: 39,155,281 msg/sec moodycamel::ConcurrentQueue, 3,i: 38,334,162 msg/sec moodycamel::ConcurrentQueue, 4,s: 63,870,525 msg/sec moodycamel::ConcurrentQueue, 4,i: 59,822,503 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,132,360 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,084,259 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,288,726 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,348,738 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,757,964 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,830,472 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,403,305 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,470,358 msg/sec xenium::michael_scott_queue, 1,s: 11,589,698 msg/sec xenium::michael_scott_queue, 1,i: 11,594,522 msg/sec xenium::michael_scott_queue, 2,s: 7,340,166 msg/sec xenium::michael_scott_queue, 2,i: 7,011,844 msg/sec xenium::michael_scott_queue, 3,s: 5,064,943 msg/sec xenium::michael_scott_queue, 3,i: 5,048,190 msg/sec xenium::michael_scott_queue, 4,s: 3,776,416 msg/sec xenium::michael_scott_queue, 4,i: 3,660,663 msg/sec xenium::ramalhete_queue, 1,s: 57,615,333 msg/sec xenium::ramalhete_queue, 1,i: 24,173,518 msg/sec xenium::ramalhete_queue, 2,s: 51,591,303 msg/sec xenium::ramalhete_queue, 2,i: 26,693,757 msg/sec xenium::ramalhete_queue, 3,s: 30,416,281 msg/sec xenium::ramalhete_queue, 3,i: 29,751,641 msg/sec xenium::ramalhete_queue, 4,s: 31,859,095 msg/sec xenium::ramalhete_queue, 4,i: 27,834,242 msg/sec xenium::vyukov_bounded_queue, 1,s: 208,606,434 msg/sec xenium::vyukov_bounded_queue, 1,i: 228,653,836 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,013,903 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,587,465 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,044,553 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,690,503 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,221,196 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,288,152 msg/sec boost::lockfree::queue, 1,s: 7,023,043 msg/sec boost::lockfree::queue, 1,i: 7,034,355 msg/sec boost::lockfree::queue, 2,s: 4,274,203 msg/sec boost::lockfree::queue, 2,i: 4,350,109 msg/sec boost::lockfree::queue, 3,s: 3,458,901 msg/sec boost::lockfree::queue, 3,i: 3,431,766 msg/sec boost::lockfree::queue, 4,s: 2,768,982 msg/sec boost::lockfree::queue, 4,i: 2,750,712 msg/sec std::mutex, 1,s: 2,902,546 msg/sec std::mutex, 1,i: 2,883,170 msg/sec std::mutex, 2,s: 10,784,997 msg/sec std::mutex, 2,i: 9,621,819 msg/sec std::mutex, 3,s: 4,617,930 msg/sec std::mutex, 3,i: 4,479,364 msg/sec std::mutex, 4,s: 4,349,426 msg/sec std::mutex, 4,i: 4,141,840 msg/sec pthread_spinlock, 1,s: 15,483,078 msg/sec pthread_spinlock, 1,i: 15,667,818 msg/sec pthread_spinlock, 2,s: 9,843,773 msg/sec pthread_spinlock, 2,i: 5,271,270 msg/sec pthread_spinlock, 3,s: 458,108 msg/sec pthread_spinlock, 3,i: 9,901,176 msg/sec pthread_spinlock, 4,s: 659,240 msg/sec pthread_spinlock, 4,i: 940,282 msg/sec tbb::spin_mutex, 1,s: 41,141,555 msg/sec tbb::spin_mutex, 1,i: 43,578,056 msg/sec tbb::spin_mutex, 2,s: 9,153,684 msg/sec tbb::spin_mutex, 2,i: 8,923,897 msg/sec tbb::spin_mutex, 3,s: 5,445,423 msg/sec tbb::spin_mutex, 3,i: 5,286,731 msg/sec tbb::spin_mutex, 4,s: 3,591,277 msg/sec tbb::spin_mutex, 4,i: 3,609,813 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 356.76 System time (seconds): 23.19 Percent of CPU this job got: 480% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.12 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 53496 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15736 Voluntary context switches: 2654285 Involuntary context switches: 98 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:49:52 [18/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000113 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000116 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000186 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000302 sec/round-trip xenium::ramalhete_queue: 0.000000161 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000260 sec/round-trip std::mutex: 0.000000586 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000249 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 163,670,144 msg/sec boost::lockfree::spsc_queue, 1,i: 165,537,750 msg/sec AtomicQueue, 1,s: 92,231,875 msg/sec AtomicQueue, 1,i: 86,669,550 msg/sec AtomicQueue, 2,s: 8,491,619 msg/sec AtomicQueue, 2,i: 8,609,770 msg/sec AtomicQueue, 3,s: 6,468,860 msg/sec AtomicQueue, 3,i: 6,668,440 msg/sec AtomicQueue, 4,s: 4,975,235 msg/sec AtomicQueue, 4,i: 5,149,621 msg/sec OptimistAtomicQueue, 1,s: 839,358,848 msg/sec OptimistAtomicQueue, 1,i: 833,610,343 msg/sec OptimistAtomicQueue, 2,s: 35,494,737 msg/sec OptimistAtomicQueue, 2,i: 38,040,388 msg/sec OptimistAtomicQueue, 3,s: 41,836,933 msg/sec OptimistAtomicQueue, 3,i: 36,921,162 msg/sec OptimistAtomicQueue, 4,s: 39,603,226 msg/sec OptimistAtomicQueue, 4,i: 39,121,990 msg/sec AtomicQueueB, 1,s: 57,097,729 msg/sec AtomicQueueB, 1,i: 53,040,183 msg/sec AtomicQueueB, 2,s: 8,427,858 msg/sec AtomicQueueB, 2,i: 7,930,949 msg/sec AtomicQueueB, 3,s: 6,176,382 msg/sec AtomicQueueB, 3,i: 6,252,771 msg/sec AtomicQueueB, 4,s: 4,758,098 msg/sec AtomicQueueB, 4,i: 4,935,050 msg/sec OptimistAtomicQueueB, 1,s: 457,105,564 msg/sec OptimistAtomicQueueB, 1,i: 855,371,299 msg/sec OptimistAtomicQueueB, 2,s: 35,270,105 msg/sec OptimistAtomicQueueB, 2,i: 37,009,721 msg/sec OptimistAtomicQueueB, 3,s: 40,153,179 msg/sec OptimistAtomicQueueB, 3,i: 36,060,738 msg/sec OptimistAtomicQueueB, 4,s: 39,481,158 msg/sec OptimistAtomicQueueB, 4,i: 36,887,316 msg/sec AtomicQueue2, 1,s: 50,463,127 msg/sec AtomicQueue2, 1,i: 62,015,277 msg/sec AtomicQueue2, 2,s: 8,500,327 msg/sec AtomicQueue2, 2,i: 8,060,226 msg/sec AtomicQueue2, 3,s: 6,241,248 msg/sec AtomicQueue2, 3,i: 6,480,976 msg/sec AtomicQueue2, 4,s: 4,804,048 msg/sec AtomicQueue2, 4,i: 4,910,049 msg/sec OptimistAtomicQueue2, 1,s: 99,222,989 msg/sec OptimistAtomicQueue2, 1,i: 103,759,756 msg/sec OptimistAtomicQueue2, 2,s: 34,052,616 msg/sec OptimistAtomicQueue2, 2,i: 40,643,510 msg/sec OptimistAtomicQueue2, 3,s: 39,404,440 msg/sec OptimistAtomicQueue2, 3,i: 34,153,302 msg/sec OptimistAtomicQueue2, 4,s: 38,497,098 msg/sec OptimistAtomicQueue2, 4,i: 36,146,455 msg/sec AtomicQueueB2, 1,s: 71,183,334 msg/sec AtomicQueueB2, 1,i: 71,048,143 msg/sec AtomicQueueB2, 2,s: 8,289,848 msg/sec AtomicQueueB2, 2,i: 8,214,162 msg/sec AtomicQueueB2, 3,s: 6,198,860 msg/sec AtomicQueueB2, 3,i: 6,337,999 msg/sec AtomicQueueB2, 4,s: 4,743,527 msg/sec AtomicQueueB2, 4,i: 4,909,337 msg/sec OptimistAtomicQueueB2, 1,s: 91,741,947 msg/sec OptimistAtomicQueueB2, 1,i: 95,508,628 msg/sec OptimistAtomicQueueB2, 2,s: 35,321,542 msg/sec OptimistAtomicQueueB2, 2,i: 37,140,098 msg/sec OptimistAtomicQueueB2, 3,s: 39,319,373 msg/sec OptimistAtomicQueueB2, 3,i: 36,184,792 msg/sec OptimistAtomicQueueB2, 4,s: 37,931,830 msg/sec OptimistAtomicQueueB2, 4,i: 36,916,882 msg/sec moodycamel::ReaderWriterQueue, 1,s: 427,072,592 msg/sec moodycamel::ReaderWriterQueue, 1,i: 408,515,846 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,890,103 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,969,571 msg/sec moodycamel::ConcurrentQueue, 2,s: 30,176,760 msg/sec moodycamel::ConcurrentQueue, 2,i: 26,874,937 msg/sec moodycamel::ConcurrentQueue, 3,s: 37,354,050 msg/sec moodycamel::ConcurrentQueue, 3,i: 37,941,379 msg/sec moodycamel::ConcurrentQueue, 4,s: 55,764,981 msg/sec moodycamel::ConcurrentQueue, 4,i: 60,622,828 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,755,817 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,753,161 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,354,532 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,390,216 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,752,543 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,827,944 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,400,460 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,469,198 msg/sec xenium::michael_scott_queue, 1,s: 11,666,046 msg/sec xenium::michael_scott_queue, 1,i: 11,584,109 msg/sec xenium::michael_scott_queue, 2,s: 7,377,107 msg/sec xenium::michael_scott_queue, 2,i: 7,064,834 msg/sec xenium::michael_scott_queue, 3,s: 5,046,507 msg/sec xenium::michael_scott_queue, 3,i: 5,146,979 msg/sec xenium::michael_scott_queue, 4,s: 3,801,191 msg/sec xenium::michael_scott_queue, 4,i: 3,636,223 msg/sec xenium::ramalhete_queue, 1,s: 57,548,660 msg/sec xenium::ramalhete_queue, 1,i: 62,475,783 msg/sec xenium::ramalhete_queue, 2,s: 36,502,485 msg/sec xenium::ramalhete_queue, 2,i: 29,649,819 msg/sec xenium::ramalhete_queue, 3,s: 30,400,124 msg/sec xenium::ramalhete_queue, 3,i: 31,939,148 msg/sec xenium::ramalhete_queue, 4,s: 32,060,124 msg/sec xenium::ramalhete_queue, 4,i: 31,965,393 msg/sec xenium::vyukov_bounded_queue, 1,s: 223,770,439 msg/sec xenium::vyukov_bounded_queue, 1,i: 238,558,928 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,985,389 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,835,074 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,406,627 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,264,723 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,265,871 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,981,263 msg/sec boost::lockfree::queue, 1,s: 7,065,787 msg/sec boost::lockfree::queue, 1,i: 7,013,772 msg/sec boost::lockfree::queue, 2,s: 4,236,812 msg/sec boost::lockfree::queue, 2,i: 4,318,266 msg/sec boost::lockfree::queue, 3,s: 3,463,925 msg/sec boost::lockfree::queue, 3,i: 3,441,730 msg/sec boost::lockfree::queue, 4,s: 2,765,035 msg/sec boost::lockfree::queue, 4,i: 2,716,563 msg/sec std::mutex, 1,s: 5,260,615 msg/sec std::mutex, 1,i: 2,954,428 msg/sec std::mutex, 2,s: 10,336,515 msg/sec std::mutex, 2,i: 9,267,378 msg/sec std::mutex, 3,s: 4,790,273 msg/sec std::mutex, 3,i: 4,594,006 msg/sec std::mutex, 4,s: 4,359,351 msg/sec std::mutex, 4,i: 4,188,063 msg/sec pthread_spinlock, 1,s: 15,434,564 msg/sec pthread_spinlock, 1,i: 15,371,854 msg/sec pthread_spinlock, 2,s: 9,313,779 msg/sec pthread_spinlock, 2,i: 5,429,659 msg/sec pthread_spinlock, 3,s: 429,210 msg/sec pthread_spinlock, 3,i: 9,255,689 msg/sec pthread_spinlock, 4,s: 1,153,071 msg/sec pthread_spinlock: producers: 4: consumer 2 received too few messages: 0.09% of expected. pthread_spinlock, 4,i: 1,145,591 msg/sec tbb::spin_mutex, 1,s: 43,286,606 msg/sec tbb::spin_mutex, 1,i: 44,832,086 msg/sec tbb::spin_mutex, 2,s: 9,257,811 msg/sec tbb::spin_mutex, 2,i: 8,937,205 msg/sec tbb::spin_mutex, 3,s: 5,556,535 msg/sec tbb::spin_mutex, 3,i: 5,505,153 msg/sec tbb::spin_mutex, 4,s: 3,512,883 msg/sec tbb::spin_mutex, 4,i: 3,801,659 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 346.31 System time (seconds): 22.84 Percent of CPU this job got: 478% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:17.11 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 51964 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15375 Voluntary context switches: 2596452 Involuntary context switches: 106 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:51:09 [19/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000148 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000111 sec/round-trip AtomicQueue2: 0.000000140 sec/round-trip OptimistAtomicQueue2: 0.000000122 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000125 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000186 sec/round-trip tbb::concurrent_bounded_queue: 0.000000339 sec/round-trip xenium::michael_scott_queue: 0.000000301 sec/round-trip xenium::ramalhete_queue: 0.000000158 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000262 sec/round-trip std::mutex: 0.000000602 sec/round-trip pthread_spinlock: 0.000000279 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 169,448,967 msg/sec boost::lockfree::spsc_queue, 1,i: 155,193,056 msg/sec AtomicQueue, 1,s: 105,460,078 msg/sec AtomicQueue, 1,i: 104,374,006 msg/sec AtomicQueue, 2,s: 8,606,511 msg/sec AtomicQueue, 2,i: 8,757,757 msg/sec AtomicQueue, 3,s: 6,396,975 msg/sec AtomicQueue, 3,i: 6,675,972 msg/sec AtomicQueue, 4,s: 4,867,495 msg/sec AtomicQueue, 4,i: 5,153,129 msg/sec OptimistAtomicQueue, 1,s: 853,155,879 msg/sec OptimistAtomicQueue, 1,i: 895,035,601 msg/sec OptimistAtomicQueue, 2,s: 35,229,657 msg/sec OptimistAtomicQueue, 2,i: 37,685,603 msg/sec OptimistAtomicQueue, 3,s: 41,252,625 msg/sec OptimistAtomicQueue, 3,i: 36,903,293 msg/sec OptimistAtomicQueue, 4,s: 39,525,703 msg/sec OptimistAtomicQueue, 4,i: 39,003,477 msg/sec AtomicQueueB, 1,s: 52,511,126 msg/sec AtomicQueueB, 1,i: 52,394,771 msg/sec AtomicQueueB, 2,s: 8,575,896 msg/sec AtomicQueueB, 2,i: 8,642,766 msg/sec AtomicQueueB, 3,s: 6,137,336 msg/sec AtomicQueueB, 3,i: 6,291,698 msg/sec AtomicQueueB, 4,s: 4,772,298 msg/sec AtomicQueueB, 4,i: 4,878,273 msg/sec OptimistAtomicQueueB, 1,s: 367,773,696 msg/sec OptimistAtomicQueueB, 1,i: 380,469,712 msg/sec OptimistAtomicQueueB, 2,s: 36,478,564 msg/sec OptimistAtomicQueueB, 2,i: 37,487,962 msg/sec OptimistAtomicQueueB, 3,s: 40,397,314 msg/sec OptimistAtomicQueueB, 3,i: 36,133,729 msg/sec OptimistAtomicQueueB, 4,s: 39,413,401 msg/sec OptimistAtomicQueueB, 4,i: 36,812,244 msg/sec AtomicQueue2, 1,s: 69,905,370 msg/sec AtomicQueue2, 1,i: 60,925,830 msg/sec AtomicQueue2, 2,s: 8,353,695 msg/sec AtomicQueue2, 2,i: 8,241,900 msg/sec AtomicQueue2, 3,s: 6,251,564 msg/sec AtomicQueue2, 3,i: 6,412,714 msg/sec AtomicQueue2, 4,s: 4,771,959 msg/sec AtomicQueue2, 4,i: 4,916,565 msg/sec OptimistAtomicQueue2, 1,s: 100,486,581 msg/sec OptimistAtomicQueue2, 1,i: 104,738,408 msg/sec OptimistAtomicQueue2, 2,s: 34,071,692 msg/sec OptimistAtomicQueue2, 2,i: 40,129,319 msg/sec OptimistAtomicQueue2, 3,s: 39,396,103 msg/sec OptimistAtomicQueue2, 3,i: 34,311,239 msg/sec OptimistAtomicQueue2, 4,s: 38,629,242 msg/sec OptimistAtomicQueue2, 4,i: 36,337,906 msg/sec AtomicQueueB2, 1,s: 68,584,995 msg/sec AtomicQueueB2, 1,i: 69,058,734 msg/sec AtomicQueueB2, 2,s: 8,161,810 msg/sec AtomicQueueB2, 2,i: 8,310,594 msg/sec AtomicQueueB2, 3,s: 6,204,342 msg/sec AtomicQueueB2, 3,i: 6,355,626 msg/sec AtomicQueueB2, 4,s: 4,748,207 msg/sec AtomicQueueB2, 4,i: 4,886,873 msg/sec OptimistAtomicQueueB2, 1,s: 106,180,465 msg/sec OptimistAtomicQueueB2, 1,i: 107,395,181 msg/sec OptimistAtomicQueueB2, 2,s: 35,501,176 msg/sec OptimistAtomicQueueB2, 2,i: 37,149,913 msg/sec OptimistAtomicQueueB2, 3,s: 39,661,265 msg/sec OptimistAtomicQueueB2, 3,i: 37,078,306 msg/sec OptimistAtomicQueueB2, 4,s: 37,743,334 msg/sec OptimistAtomicQueueB2, 4,i: 36,593,611 msg/sec moodycamel::ReaderWriterQueue, 1,s: 409,925,210 msg/sec moodycamel::ReaderWriterQueue, 1,i: 475,552,697 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,756,797 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,588,201 msg/sec moodycamel::ConcurrentQueue, 2,s: 26,322,959 msg/sec moodycamel::ConcurrentQueue, 2,i: 24,235,456 msg/sec moodycamel::ConcurrentQueue, 3,s: 35,708,339 msg/sec moodycamel::ConcurrentQueue, 3,i: 42,811,247 msg/sec moodycamel::ConcurrentQueue, 4,s: 56,722,744 msg/sec moodycamel::ConcurrentQueue, 4,i: 55,104,399 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,718,166 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,688,428 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,312,168 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,392,705 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,755,635 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,826,070 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,397,694 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,468,490 msg/sec xenium::michael_scott_queue, 1,s: 11,529,562 msg/sec xenium::michael_scott_queue, 1,i: 11,546,873 msg/sec xenium::michael_scott_queue, 2,s: 7,319,443 msg/sec xenium::michael_scott_queue, 2,i: 7,133,150 msg/sec xenium::michael_scott_queue, 3,s: 5,113,778 msg/sec xenium::michael_scott_queue, 3,i: 5,051,219 msg/sec xenium::michael_scott_queue, 4,s: 3,804,694 msg/sec xenium::michael_scott_queue, 4,i: 3,683,269 msg/sec xenium::ramalhete_queue, 1,s: 55,021,287 msg/sec xenium::ramalhete_queue, 1,i: 55,636,786 msg/sec xenium::ramalhete_queue, 2,s: 43,789,821 msg/sec xenium::ramalhete_queue, 2,i: 25,266,208 msg/sec xenium::ramalhete_queue, 3,s: 28,564,748 msg/sec xenium::ramalhete_queue, 3,i: 26,871,141 msg/sec xenium::ramalhete_queue, 4,s: 33,063,516 msg/sec xenium::ramalhete_queue, 4,i: 31,950,546 msg/sec xenium::vyukov_bounded_queue, 1,s: 211,995,123 msg/sec xenium::vyukov_bounded_queue, 1,i: 234,442,017 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,089,143 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,923,833 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,281,156 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,316,880 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,082,787 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,150,321 msg/sec boost::lockfree::queue, 1,s: 7,040,956 msg/sec boost::lockfree::queue, 1,i: 7,036,280 msg/sec boost::lockfree::queue, 2,s: 4,262,976 msg/sec boost::lockfree::queue, 2,i: 4,309,010 msg/sec boost::lockfree::queue, 3,s: 3,464,465 msg/sec boost::lockfree::queue, 3,i: 3,431,845 msg/sec boost::lockfree::queue, 4,s: 2,763,678 msg/sec boost::lockfree::queue, 4,i: 2,736,137 msg/sec std::mutex, 1,s: 3,294,111 msg/sec std::mutex, 1,i: 3,461,769 msg/sec std::mutex, 2,s: 11,362,079 msg/sec std::mutex, 2,i: 9,777,667 msg/sec std::mutex, 3,s: 4,619,354 msg/sec std::mutex, 3,i: 4,545,126 msg/sec std::mutex, 4,s: 4,416,269 msg/sec std::mutex, 4,i: 4,167,805 msg/sec pthread_spinlock, 1,s: 15,633,843 msg/sec pthread_spinlock, 1,i: 15,526,826 msg/sec pthread_spinlock, 2,s: 9,725,148 msg/sec pthread_spinlock, 2,i: 5,487,082 msg/sec pthread_spinlock, 3,s: 396,280 msg/sec pthread_spinlock: producers: 3: consumer 2 received too few messages: 0.02% of expected. pthread_spinlock, 3,i: 10,116,975 msg/sec pthread_spinlock, 4,s: 1,297,505 msg/sec pthread_spinlock, 4,i: 864,710 msg/sec tbb::spin_mutex, 1,s: 40,739,082 msg/sec tbb::spin_mutex, 1,i: 42,502,227 msg/sec tbb::spin_mutex, 2,s: 9,338,342 msg/sec tbb::spin_mutex, 2,i: 8,871,200 msg/sec tbb::spin_mutex, 3,s: 5,500,482 msg/sec tbb::spin_mutex, 3,i: 5,520,364 msg/sec tbb::spin_mutex, 4,s: 3,568,763 msg/sec tbb::spin_mutex, 4,i: 3,660,688 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 353.59 System time (seconds): 22.69 Percent of CPU this job got: 481% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.10 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 53376 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15812 Voluntary context switches: 2615247 Involuntary context switches: 96 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:52:27 [20/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000115 sec/round-trip AtomicQueue2: 0.000000140 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000126 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000341 sec/round-trip xenium::michael_scott_queue: 0.000000299 sec/round-trip xenium::ramalhete_queue: 0.000000161 sec/round-trip xenium::vyukov_bounded_queue: 0.000000164 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000583 sec/round-trip pthread_spinlock: 0.000000280 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 156,944,975 msg/sec boost::lockfree::spsc_queue, 1,i: 171,566,824 msg/sec AtomicQueue, 1,s: 90,429,884 msg/sec AtomicQueue, 1,i: 81,684,179 msg/sec AtomicQueue, 2,s: 8,561,049 msg/sec AtomicQueue, 2,i: 8,681,501 msg/sec AtomicQueue, 3,s: 6,552,275 msg/sec AtomicQueue, 3,i: 6,750,698 msg/sec AtomicQueue, 4,s: 4,854,670 msg/sec AtomicQueue, 4,i: 5,115,375 msg/sec OptimistAtomicQueue, 1,s: 874,665,895 msg/sec OptimistAtomicQueue, 1,i: 855,136,784 msg/sec OptimistAtomicQueue, 2,s: 35,116,527 msg/sec OptimistAtomicQueue, 2,i: 38,668,363 msg/sec OptimistAtomicQueue, 3,s: 41,682,480 msg/sec OptimistAtomicQueue, 3,i: 36,765,779 msg/sec OptimistAtomicQueue, 4,s: 39,750,368 msg/sec OptimistAtomicQueue, 4,i: 40,756,400 msg/sec AtomicQueueB, 1,s: 51,234,891 msg/sec AtomicQueueB, 1,i: 67,128,362 msg/sec AtomicQueueB, 2,s: 8,350,633 msg/sec AtomicQueueB, 2,i: 8,338,849 msg/sec AtomicQueueB, 3,s: 6,159,169 msg/sec AtomicQueueB, 3,i: 6,499,510 msg/sec AtomicQueueB, 4,s: 4,770,788 msg/sec AtomicQueueB, 4,i: 4,912,450 msg/sec OptimistAtomicQueueB, 1,s: 761,116,407 msg/sec OptimistAtomicQueueB, 1,i: 814,302,031 msg/sec OptimistAtomicQueueB, 2,s: 35,612,151 msg/sec OptimistAtomicQueueB, 2,i: 40,817,019 msg/sec OptimistAtomicQueueB, 3,s: 40,121,495 msg/sec OptimistAtomicQueueB, 3,i: 41,660,193 msg/sec OptimistAtomicQueueB, 4,s: 39,452,350 msg/sec OptimistAtomicQueueB, 4,i: 37,012,850 msg/sec AtomicQueue2, 1,s: 58,491,318 msg/sec AtomicQueue2, 1,i: 53,825,122 msg/sec AtomicQueue2, 2,s: 8,125,647 msg/sec AtomicQueue2, 2,i: 7,991,814 msg/sec AtomicQueue2, 3,s: 6,262,145 msg/sec AtomicQueue2, 3,i: 6,485,381 msg/sec AtomicQueue2, 4,s: 4,833,014 msg/sec AtomicQueue2, 4,i: 4,978,412 msg/sec OptimistAtomicQueue2, 1,s: 98,376,733 msg/sec OptimistAtomicQueue2, 1,i: 107,480,762 msg/sec OptimistAtomicQueue2, 2,s: 35,763,439 msg/sec OptimistAtomicQueue2, 2,i: 39,620,928 msg/sec OptimistAtomicQueue2, 3,s: 39,389,231 msg/sec OptimistAtomicQueue2, 3,i: 34,308,220 msg/sec OptimistAtomicQueue2, 4,s: 38,738,932 msg/sec OptimistAtomicQueue2, 4,i: 36,177,663 msg/sec AtomicQueueB2, 1,s: 65,879,789 msg/sec AtomicQueueB2, 1,i: 74,011,319 msg/sec AtomicQueueB2, 2,s: 8,156,596 msg/sec AtomicQueueB2, 2,i: 8,215,110 msg/sec AtomicQueueB2, 3,s: 6,187,910 msg/sec AtomicQueueB2, 3,i: 6,317,481 msg/sec AtomicQueueB2, 4,s: 4,771,072 msg/sec AtomicQueueB2, 4,i: 4,942,040 msg/sec OptimistAtomicQueueB2, 1,s: 88,782,719 msg/sec OptimistAtomicQueueB2, 1,i: 106,147,378 msg/sec OptimistAtomicQueueB2, 2,s: 36,573,966 msg/sec OptimistAtomicQueueB2, 2,i: 37,063,581 msg/sec OptimistAtomicQueueB2, 3,s: 38,901,095 msg/sec OptimistAtomicQueueB2, 3,i: 37,144,554 msg/sec OptimistAtomicQueueB2, 4,s: 37,914,841 msg/sec OptimistAtomicQueueB2, 4,i: 37,198,692 msg/sec moodycamel::ReaderWriterQueue, 1,s: 439,929,477 msg/sec moodycamel::ReaderWriterQueue, 1,i: 588,982,651 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,774,467 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,691,375 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,824,455 msg/sec moodycamel::ConcurrentQueue, 2,i: 27,399,866 msg/sec moodycamel::ConcurrentQueue, 3,s: 43,661,888 msg/sec moodycamel::ConcurrentQueue, 3,i: 40,267,662 msg/sec moodycamel::ConcurrentQueue, 4,s: 69,994,249 msg/sec moodycamel::ConcurrentQueue, 4,i: 65,275,726 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,095,239 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,074,603 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,303,016 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,343,134 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,753,868 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,829,466 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,402,187 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,480,152 msg/sec xenium::michael_scott_queue, 1,s: 11,596,803 msg/sec xenium::michael_scott_queue, 1,i: 11,577,971 msg/sec xenium::michael_scott_queue, 2,s: 7,424,915 msg/sec xenium::michael_scott_queue, 2,i: 7,027,874 msg/sec xenium::michael_scott_queue, 3,s: 5,077,907 msg/sec xenium::michael_scott_queue, 3,i: 5,019,310 msg/sec xenium::michael_scott_queue, 4,s: 3,801,367 msg/sec xenium::michael_scott_queue, 4,i: 3,620,734 msg/sec xenium::ramalhete_queue, 1,s: 63,224,554 msg/sec xenium::ramalhete_queue, 1,i: 41,229,043 msg/sec xenium::ramalhete_queue, 2,s: 44,614,752 msg/sec xenium::ramalhete_queue, 2,i: 26,869,590 msg/sec xenium::ramalhete_queue, 3,s: 28,921,292 msg/sec xenium::ramalhete_queue, 3,i: 30,338,563 msg/sec xenium::ramalhete_queue, 4,s: 31,741,181 msg/sec xenium::ramalhete_queue, 4,i: 30,706,474 msg/sec xenium::vyukov_bounded_queue, 1,s: 211,437,796 msg/sec xenium::vyukov_bounded_queue, 1,i: 225,469,931 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,021,927 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,687,059 msg/sec xenium::vyukov_bounded_queue, 3,s: 8,980,618 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,000,164 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,853,187 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,185,019 msg/sec boost::lockfree::queue, 1,s: 7,053,213 msg/sec boost::lockfree::queue, 1,i: 7,009,353 msg/sec boost::lockfree::queue, 2,s: 4,261,152 msg/sec boost::lockfree::queue, 2,i: 4,351,895 msg/sec boost::lockfree::queue, 3,s: 3,487,604 msg/sec boost::lockfree::queue, 3,i: 3,440,609 msg/sec boost::lockfree::queue, 4,s: 2,791,502 msg/sec boost::lockfree::queue, 4,i: 2,725,770 msg/sec std::mutex, 1,s: 3,196,136 msg/sec std::mutex, 1,i: 3,113,266 msg/sec std::mutex, 2,s: 9,448,284 msg/sec std::mutex, 2,i: 9,006,879 msg/sec std::mutex, 3,s: 4,796,183 msg/sec std::mutex, 3,i: 4,650,274 msg/sec std::mutex, 4,s: 4,348,311 msg/sec std::mutex, 4,i: 4,196,810 msg/sec pthread_spinlock, 1,s: 15,552,642 msg/sec pthread_spinlock, 1,i: 15,697,356 msg/sec pthread_spinlock, 2,s: 9,776,089 msg/sec pthread_spinlock, 2,i: 5,388,179 msg/sec pthread_spinlock, 3,s: 369,371 msg/sec pthread_spinlock, 3,i: 10,260,047 msg/sec pthread_spinlock, 4,s: 1,348,745 msg/sec pthread_spinlock, 4,i: 528,709 msg/sec tbb::spin_mutex, 1,s: 43,821,101 msg/sec tbb::spin_mutex, 1,i: 42,752,187 msg/sec tbb::spin_mutex, 2,s: 9,162,270 msg/sec tbb::spin_mutex, 2,i: 8,858,363 msg/sec tbb::spin_mutex, 3,s: 5,556,984 msg/sec tbb::spin_mutex, 3,i: 5,657,260 msg/sec tbb::spin_mutex, 4,s: 3,476,985 msg/sec tbb::spin_mutex, 4,i: 3,573,705 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 369.90 System time (seconds): 22.93 Percent of CPU this job got: 486% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:20.78 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 53888 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15992 Voluntary context switches: 2622867 Involuntary context switches: 100 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:53:48 [21/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000162 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000127 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000116 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000341 sec/round-trip xenium::michael_scott_queue: 0.000000303 sec/round-trip xenium::ramalhete_queue: 0.000000160 sec/round-trip xenium::vyukov_bounded_queue: 0.000000164 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000575 sec/round-trip pthread_spinlock: 0.000000277 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 156,698,820 msg/sec boost::lockfree::spsc_queue, 1,i: 160,799,673 msg/sec AtomicQueue, 1,s: 89,079,547 msg/sec AtomicQueue, 1,i: 91,820,861 msg/sec AtomicQueue, 2,s: 8,561,239 msg/sec AtomicQueue, 2,i: 8,814,765 msg/sec AtomicQueue, 3,s: 6,570,644 msg/sec AtomicQueue, 3,i: 6,687,599 msg/sec AtomicQueue, 4,s: 4,911,890 msg/sec AtomicQueue, 4,i: 5,133,152 msg/sec OptimistAtomicQueue, 1,s: 854,660,821 msg/sec OptimistAtomicQueue, 1,i: 852,623,846 msg/sec OptimistAtomicQueue, 2,s: 36,849,048 msg/sec OptimistAtomicQueue, 2,i: 37,962,661 msg/sec OptimistAtomicQueue, 3,s: 41,046,178 msg/sec OptimistAtomicQueue, 3,i: 36,682,906 msg/sec OptimistAtomicQueue, 4,s: 39,810,268 msg/sec OptimistAtomicQueue, 4,i: 38,609,159 msg/sec AtomicQueueB, 1,s: 45,106,214 msg/sec AtomicQueueB, 1,i: 52,994,700 msg/sec AtomicQueueB, 2,s: 8,230,523 msg/sec AtomicQueueB, 2,i: 8,090,313 msg/sec AtomicQueueB, 3,s: 6,172,813 msg/sec AtomicQueueB, 3,i: 6,440,591 msg/sec AtomicQueueB, 4,s: 4,750,404 msg/sec AtomicQueueB, 4,i: 4,975,849 msg/sec OptimistAtomicQueueB, 1,s: 817,583,840 msg/sec OptimistAtomicQueueB, 1,i: 865,405,958 msg/sec OptimistAtomicQueueB, 2,s: 35,172,127 msg/sec OptimistAtomicQueueB, 2,i: 36,751,206 msg/sec OptimistAtomicQueueB, 3,s: 40,956,337 msg/sec OptimistAtomicQueueB, 3,i: 41,824,889 msg/sec OptimistAtomicQueueB, 4,s: 39,478,988 msg/sec OptimistAtomicQueueB, 4,i: 36,566,784 msg/sec AtomicQueue2, 1,s: 56,873,040 msg/sec AtomicQueue2, 1,i: 66,769,063 msg/sec AtomicQueue2, 2,s: 8,290,355 msg/sec AtomicQueue2, 2,i: 8,113,118 msg/sec AtomicQueue2, 3,s: 6,283,105 msg/sec AtomicQueue2, 3,i: 6,443,142 msg/sec AtomicQueue2, 4,s: 4,800,071 msg/sec AtomicQueue2, 4,i: 4,902,456 msg/sec OptimistAtomicQueue2, 1,s: 102,440,176 msg/sec OptimistAtomicQueue2, 1,i: 102,749,802 msg/sec OptimistAtomicQueue2, 2,s: 33,726,481 msg/sec OptimistAtomicQueue2, 2,i: 39,048,416 msg/sec OptimistAtomicQueue2, 3,s: 39,583,798 msg/sec OptimistAtomicQueue2, 3,i: 34,209,010 msg/sec OptimistAtomicQueue2, 4,s: 38,645,291 msg/sec OptimistAtomicQueue2, 4,i: 36,476,965 msg/sec AtomicQueueB2, 1,s: 68,628,948 msg/sec AtomicQueueB2, 1,i: 63,265,472 msg/sec AtomicQueueB2, 2,s: 8,101,406 msg/sec AtomicQueueB2, 2,i: 7,922,932 msg/sec AtomicQueueB2, 3,s: 6,147,474 msg/sec AtomicQueueB2, 3,i: 6,284,960 msg/sec AtomicQueueB2, 4,s: 4,721,665 msg/sec AtomicQueueB2, 4,i: 4,914,935 msg/sec OptimistAtomicQueueB2, 1,s: 90,363,895 msg/sec OptimistAtomicQueueB2, 1,i: 99,377,305 msg/sec OptimistAtomicQueueB2, 2,s: 36,161,869 msg/sec OptimistAtomicQueueB2, 2,i: 37,666,901 msg/sec OptimistAtomicQueueB2, 3,s: 39,636,710 msg/sec OptimistAtomicQueueB2, 3,i: 36,727,195 msg/sec OptimistAtomicQueueB2, 4,s: 37,904,820 msg/sec OptimistAtomicQueueB2, 4,i: 37,881,787 msg/sec moodycamel::ReaderWriterQueue, 1,s: 270,699,307 msg/sec moodycamel::ReaderWriterQueue, 1,i: 409,597,170 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,830,044 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,730,840 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,143,850 msg/sec moodycamel::ConcurrentQueue, 2,i: 29,240,527 msg/sec moodycamel::ConcurrentQueue, 3,s: 41,972,068 msg/sec moodycamel::ConcurrentQueue, 3,i: 46,023,018 msg/sec moodycamel::ConcurrentQueue, 4,s: 65,847,974 msg/sec moodycamel::ConcurrentQueue, 4,i: 66,807,812 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,775,760 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,704,705 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,400,597 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,426,821 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,759,850 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,836,935 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,397,782 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,471,435 msg/sec xenium::michael_scott_queue, 1,s: 11,618,055 msg/sec xenium::michael_scott_queue, 1,i: 11,430,816 msg/sec xenium::michael_scott_queue, 2,s: 7,333,823 msg/sec xenium::michael_scott_queue, 2,i: 7,022,073 msg/sec xenium::michael_scott_queue, 3,s: 5,083,251 msg/sec xenium::michael_scott_queue, 3,i: 5,038,846 msg/sec xenium::michael_scott_queue, 4,s: 3,809,009 msg/sec xenium::michael_scott_queue, 4,i: 3,655,351 msg/sec xenium::ramalhete_queue, 1,s: 58,437,928 msg/sec xenium::ramalhete_queue, 1,i: 26,327,736 msg/sec xenium::ramalhete_queue, 2,s: 43,873,901 msg/sec xenium::ramalhete_queue, 2,i: 27,141,430 msg/sec xenium::ramalhete_queue, 3,s: 31,371,960 msg/sec xenium::ramalhete_queue, 3,i: 30,043,258 msg/sec xenium::ramalhete_queue, 4,s: 31,766,881 msg/sec xenium::ramalhete_queue, 4,i: 31,513,742 msg/sec xenium::vyukov_bounded_queue, 1,s: 200,538,069 msg/sec xenium::vyukov_bounded_queue, 1,i: 248,851,844 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,823,548 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,583,821 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,283,407 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,949,268 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,210,243 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,934,832 msg/sec boost::lockfree::queue, 1,s: 7,019,994 msg/sec boost::lockfree::queue, 1,i: 7,004,071 msg/sec boost::lockfree::queue, 2,s: 4,283,908 msg/sec boost::lockfree::queue, 2,i: 4,330,482 msg/sec boost::lockfree::queue, 3,s: 3,458,270 msg/sec boost::lockfree::queue, 3,i: 3,438,393 msg/sec boost::lockfree::queue, 4,s: 2,795,485 msg/sec boost::lockfree::queue, 4,i: 2,745,313 msg/sec std::mutex, 1,s: 3,042,237 msg/sec std::mutex, 1,i: 3,208,244 msg/sec std::mutex, 2,s: 9,771,197 msg/sec std::mutex, 2,i: 9,593,335 msg/sec std::mutex, 3,s: 4,529,005 msg/sec std::mutex, 3,i: 4,512,834 msg/sec std::mutex, 4,s: 4,339,978 msg/sec std::mutex, 4,i: 4,236,595 msg/sec pthread_spinlock, 1,s: 15,797,570 msg/sec pthread_spinlock, 1,i: 15,792,718 msg/sec pthread_spinlock, 2,s: 9,574,830 msg/sec pthread_spinlock, 2,i: 5,264,528 msg/sec pthread_spinlock, 3,s: 468,720 msg/sec pthread_spinlock, 3,i: 10,278,627 msg/sec pthread_spinlock, 4,s: 1,272,586 msg/sec pthread_spinlock, 4,i: 845,221 msg/sec tbb::spin_mutex, 1,s: 41,372,395 msg/sec tbb::spin_mutex, 1,i: 43,754,058 msg/sec tbb::spin_mutex, 2,s: 9,268,453 msg/sec tbb::spin_mutex, 2,i: 8,837,354 msg/sec tbb::spin_mutex, 3,s: 5,914,205 msg/sec tbb::spin_mutex, 3,i: 5,528,516 msg/sec tbb::spin_mutex, 4,s: 3,567,166 msg/sec tbb::spin_mutex, 4,i: 3,622,253 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 346.48 System time (seconds): 23.02 Percent of CPU this job got: 479% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:17.04 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 50048 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15076 Voluntary context switches: 2669139 Involuntary context switches: 104 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:55:05 [22/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000138 sec/round-trip AtomicQueueB: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000123 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000118 sec/round-trip AtomicQueueB2: 0.000000144 sec/round-trip OptimistAtomicQueueB2: 0.000000128 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000301 sec/round-trip xenium::ramalhete_queue: 0.000000160 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000568 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000245 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 160,741,405 msg/sec boost::lockfree::spsc_queue, 1,i: 167,177,814 msg/sec AtomicQueue, 1,s: 89,136,189 msg/sec AtomicQueue, 1,i: 82,506,278 msg/sec AtomicQueue, 2,s: 8,562,654 msg/sec AtomicQueue, 2,i: 8,336,803 msg/sec AtomicQueue, 3,s: 6,634,826 msg/sec AtomicQueue, 3,i: 6,665,246 msg/sec AtomicQueue, 4,s: 4,816,046 msg/sec AtomicQueue, 4,i: 5,082,190 msg/sec OptimistAtomicQueue, 1,s: 843,972,231 msg/sec OptimistAtomicQueue, 1,i: 854,763,291 msg/sec OptimistAtomicQueue, 2,s: 35,068,210 msg/sec OptimistAtomicQueue, 2,i: 37,651,384 msg/sec OptimistAtomicQueue, 3,s: 41,242,619 msg/sec OptimistAtomicQueue, 3,i: 36,637,299 msg/sec OptimistAtomicQueue, 4,s: 39,428,489 msg/sec OptimistAtomicQueue, 4,i: 38,408,552 msg/sec AtomicQueueB, 1,s: 62,222,386 msg/sec AtomicQueueB, 1,i: 56,161,099 msg/sec AtomicQueueB, 2,s: 8,147,438 msg/sec AtomicQueueB, 2,i: 8,131,523 msg/sec AtomicQueueB, 3,s: 6,124,685 msg/sec AtomicQueueB, 3,i: 6,209,183 msg/sec AtomicQueueB, 4,s: 4,783,903 msg/sec AtomicQueueB, 4,i: 4,959,434 msg/sec OptimistAtomicQueueB, 1,s: 390,166,959 msg/sec OptimistAtomicQueueB, 1,i: 522,344,161 msg/sec OptimistAtomicQueueB, 2,s: 35,762,184 msg/sec OptimistAtomicQueueB, 2,i: 36,919,750 msg/sec OptimistAtomicQueueB, 3,s: 40,409,532 msg/sec OptimistAtomicQueueB, 3,i: 41,881,313 msg/sec OptimistAtomicQueueB, 4,s: 39,666,624 msg/sec OptimistAtomicQueueB, 4,i: 36,890,807 msg/sec AtomicQueue2, 1,s: 56,054,459 msg/sec AtomicQueue2, 1,i: 54,854,848 msg/sec AtomicQueue2, 2,s: 8,348,536 msg/sec AtomicQueue2, 2,i: 8,099,296 msg/sec AtomicQueue2, 3,s: 6,282,871 msg/sec AtomicQueue2, 3,i: 6,502,029 msg/sec AtomicQueue2, 4,s: 4,779,075 msg/sec AtomicQueue2, 4,i: 4,938,045 msg/sec OptimistAtomicQueue2, 1,s: 103,602,832 msg/sec OptimistAtomicQueue2, 1,i: 103,162,290 msg/sec OptimistAtomicQueue2, 2,s: 34,390,392 msg/sec OptimistAtomicQueue2, 2,i: 38,596,752 msg/sec OptimistAtomicQueue2, 3,s: 38,819,694 msg/sec OptimistAtomicQueue2, 3,i: 34,304,282 msg/sec OptimistAtomicQueue2, 4,s: 38,940,569 msg/sec OptimistAtomicQueue2, 4,i: 36,196,071 msg/sec AtomicQueueB2, 1,s: 64,677,526 msg/sec AtomicQueueB2, 1,i: 69,531,215 msg/sec AtomicQueueB2, 2,s: 8,171,085 msg/sec AtomicQueueB2, 2,i: 8,241,156 msg/sec AtomicQueueB2, 3,s: 6,223,265 msg/sec AtomicQueueB2, 3,i: 6,333,468 msg/sec AtomicQueueB2, 4,s: 4,794,860 msg/sec AtomicQueueB2, 4,i: 4,917,764 msg/sec OptimistAtomicQueueB2, 1,s: 102,607,517 msg/sec OptimistAtomicQueueB2, 1,i: 92,594,414 msg/sec OptimistAtomicQueueB2, 2,s: 35,299,531 msg/sec OptimistAtomicQueueB2, 2,i: 38,026,387 msg/sec OptimistAtomicQueueB2, 3,s: 39,350,299 msg/sec OptimistAtomicQueueB2, 3,i: 36,406,957 msg/sec OptimistAtomicQueueB2, 4,s: 38,315,396 msg/sec OptimistAtomicQueueB2, 4,i: 37,235,009 msg/sec moodycamel::ReaderWriterQueue, 1,s: 732,301,258 msg/sec moodycamel::ReaderWriterQueue, 1,i: 254,814,357 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,799,643 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,752,806 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,373,817 msg/sec moodycamel::ConcurrentQueue, 2,i: 27,463,506 msg/sec moodycamel::ConcurrentQueue, 3,s: 39,620,016 msg/sec moodycamel::ConcurrentQueue, 3,i: 37,052,208 msg/sec moodycamel::ConcurrentQueue, 4,s: 70,364,041 msg/sec moodycamel::ConcurrentQueue, 4,i: 69,189,763 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,774,124 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,697,383 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,382,272 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,395,498 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,761,732 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,827,234 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,405,612 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,469,748 msg/sec xenium::michael_scott_queue, 1,s: 11,396,286 msg/sec xenium::michael_scott_queue, 1,i: 11,322,086 msg/sec xenium::michael_scott_queue, 2,s: 7,347,013 msg/sec xenium::michael_scott_queue, 2,i: 6,989,610 msg/sec xenium::michael_scott_queue, 3,s: 5,100,167 msg/sec xenium::michael_scott_queue, 3,i: 5,060,001 msg/sec xenium::michael_scott_queue, 4,s: 3,798,164 msg/sec xenium::michael_scott_queue, 4,i: 3,656,975 msg/sec xenium::ramalhete_queue, 1,s: 57,174,986 msg/sec xenium::ramalhete_queue, 1,i: 19,886,775 msg/sec xenium::ramalhete_queue, 2,s: 52,658,736 msg/sec xenium::ramalhete_queue, 2,i: 26,694,386 msg/sec xenium::ramalhete_queue, 3,s: 31,383,580 msg/sec xenium::ramalhete_queue, 3,i: 30,761,748 msg/sec xenium::ramalhete_queue, 4,s: 32,745,520 msg/sec xenium::ramalhete_queue, 4,i: 31,781,630 msg/sec xenium::vyukov_bounded_queue, 1,s: 216,513,877 msg/sec xenium::vyukov_bounded_queue, 1,i: 232,643,081 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,782,549 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,541,100 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,282,617 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,001,318 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,724,087 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,466,609 msg/sec boost::lockfree::queue, 1,s: 7,030,580 msg/sec boost::lockfree::queue, 1,i: 7,011,926 msg/sec boost::lockfree::queue, 2,s: 4,235,000 msg/sec boost::lockfree::queue, 2,i: 4,334,273 msg/sec boost::lockfree::queue, 3,s: 3,459,465 msg/sec boost::lockfree::queue, 3,i: 3,446,927 msg/sec boost::lockfree::queue, 4,s: 2,810,677 msg/sec boost::lockfree::queue, 4,i: 2,718,241 msg/sec std::mutex, 1,s: 2,949,319 msg/sec std::mutex, 1,i: 4,633,549 msg/sec std::mutex, 2,s: 9,603,572 msg/sec std::mutex, 2,i: 9,449,124 msg/sec std::mutex, 3,s: 4,573,620 msg/sec std::mutex, 3,i: 4,534,353 msg/sec std::mutex, 4,s: 4,504,680 msg/sec std::mutex, 4,i: 4,151,093 msg/sec pthread_spinlock, 1,s: 15,698,072 msg/sec pthread_spinlock, 1,i: 15,496,280 msg/sec pthread_spinlock, 2,s: 9,637,414 msg/sec pthread_spinlock, 2,i: 5,357,964 msg/sec pthread_spinlock, 3,s: 363,561 msg/sec pthread_spinlock, 3,i: 9,056,160 msg/sec pthread_spinlock, 4,s: 1,082,593 msg/sec pthread_spinlock, 4,i: 1,259,877 msg/sec tbb::spin_mutex, 1,s: 44,341,839 msg/sec tbb::spin_mutex, 1,i: 44,739,042 msg/sec tbb::spin_mutex, 2,s: 9,113,478 msg/sec tbb::spin_mutex, 2,i: 8,868,038 msg/sec tbb::spin_mutex, 3,s: 5,531,524 msg/sec tbb::spin_mutex, 3,i: 5,403,663 msg/sec tbb::spin_mutex, 4,s: 3,530,881 msg/sec tbb::spin_mutex, 4,i: 3,599,125 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 352.09 System time (seconds): 22.86 Percent of CPU this job got: 479% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.14 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52984 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15673 Voluntary context switches: 2654081 Involuntary context switches: 98 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:56:23 [23/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000113 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000118 sec/round-trip AtomicQueueB2: 0.000000143 sec/round-trip OptimistAtomicQueueB2: 0.000000117 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000302 sec/round-trip xenium::ramalhete_queue: 0.000000159 sec/round-trip xenium::vyukov_bounded_queue: 0.000000164 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000578 sec/round-trip pthread_spinlock: 0.000000279 sec/round-trip tbb::spin_mutex: 0.000000246 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 168,508,614 msg/sec boost::lockfree::spsc_queue, 1,i: 155,325,165 msg/sec AtomicQueue, 1,s: 94,870,696 msg/sec AtomicQueue, 1,i: 85,874,268 msg/sec AtomicQueue, 2,s: 8,544,447 msg/sec AtomicQueue, 2,i: 8,665,786 msg/sec AtomicQueue, 3,s: 6,554,061 msg/sec AtomicQueue, 3,i: 6,667,790 msg/sec AtomicQueue, 4,s: 4,940,235 msg/sec AtomicQueue, 4,i: 5,106,188 msg/sec OptimistAtomicQueue, 1,s: 836,292,492 msg/sec OptimistAtomicQueue, 1,i: 838,618,337 msg/sec OptimistAtomicQueue, 2,s: 37,257,985 msg/sec OptimistAtomicQueue, 2,i: 38,351,363 msg/sec OptimistAtomicQueue, 3,s: 41,231,272 msg/sec OptimistAtomicQueue, 3,i: 36,414,276 msg/sec OptimistAtomicQueue, 4,s: 39,291,974 msg/sec OptimistAtomicQueue, 4,i: 39,623,885 msg/sec AtomicQueueB, 1,s: 47,014,407 msg/sec AtomicQueueB, 1,i: 53,340,395 msg/sec AtomicQueueB, 2,s: 8,443,861 msg/sec AtomicQueueB, 2,i: 8,222,230 msg/sec AtomicQueueB, 3,s: 6,117,997 msg/sec AtomicQueueB, 3,i: 6,367,946 msg/sec AtomicQueueB, 4,s: 4,758,010 msg/sec AtomicQueueB, 4,i: 5,028,198 msg/sec OptimistAtomicQueueB, 1,s: 734,445,941 msg/sec OptimistAtomicQueueB, 1,i: 544,039,813 msg/sec OptimistAtomicQueueB, 2,s: 35,494,510 msg/sec OptimistAtomicQueueB, 2,i: 36,737,044 msg/sec OptimistAtomicQueueB, 3,s: 39,889,263 msg/sec OptimistAtomicQueueB, 3,i: 40,648,640 msg/sec OptimistAtomicQueueB, 4,s: 39,485,407 msg/sec OptimistAtomicQueueB, 4,i: 37,524,550 msg/sec AtomicQueue2, 1,s: 69,636,048 msg/sec AtomicQueue2, 1,i: 66,266,888 msg/sec AtomicQueue2, 2,s: 8,410,396 msg/sec AtomicQueue2, 2,i: 8,136,730 msg/sec AtomicQueue2, 3,s: 6,225,918 msg/sec AtomicQueue2, 3,i: 6,334,883 msg/sec AtomicQueue2, 4,s: 4,811,557 msg/sec AtomicQueue2, 4,i: 4,928,348 msg/sec OptimistAtomicQueue2, 1,s: 100,183,888 msg/sec OptimistAtomicQueue2, 1,i: 102,626,614 msg/sec OptimistAtomicQueue2, 2,s: 34,132,701 msg/sec OptimistAtomicQueue2, 2,i: 38,656,906 msg/sec OptimistAtomicQueue2, 3,s: 39,378,244 msg/sec OptimistAtomicQueue2, 3,i: 33,969,852 msg/sec OptimistAtomicQueue2, 4,s: 38,568,354 msg/sec OptimistAtomicQueue2, 4,i: 36,680,757 msg/sec AtomicQueueB2, 1,s: 67,189,323 msg/sec AtomicQueueB2, 1,i: 69,340,987 msg/sec AtomicQueueB2, 2,s: 8,253,387 msg/sec AtomicQueueB2, 2,i: 7,928,524 msg/sec AtomicQueueB2, 3,s: 6,164,778 msg/sec AtomicQueueB2, 3,i: 6,312,437 msg/sec AtomicQueueB2, 4,s: 4,694,494 msg/sec AtomicQueueB2, 4,i: 4,950,663 msg/sec OptimistAtomicQueueB2, 1,s: 91,834,294 msg/sec OptimistAtomicQueueB2, 1,i: 92,677,899 msg/sec OptimistAtomicQueueB2, 2,s: 35,608,962 msg/sec OptimistAtomicQueueB2, 2,i: 37,884,993 msg/sec OptimistAtomicQueueB2, 3,s: 39,578,963 msg/sec OptimistAtomicQueueB2, 3,i: 36,238,052 msg/sec OptimistAtomicQueueB2, 4,s: 37,704,096 msg/sec OptimistAtomicQueueB2, 4,i: 37,466,685 msg/sec moodycamel::ReaderWriterQueue, 1,s: 613,326,041 msg/sec moodycamel::ReaderWriterQueue, 1,i: 455,965,390 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,036,501 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,928,208 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,600,489 msg/sec moodycamel::ConcurrentQueue, 2,i: 25,840,143 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,341,489 msg/sec moodycamel::ConcurrentQueue, 3,i: 34,873,142 msg/sec moodycamel::ConcurrentQueue, 4,s: 71,474,351 msg/sec moodycamel::ConcurrentQueue, 4,i: 60,294,583 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,031,970 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,059,104 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,345,836 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,364,531 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,762,661 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,835,661 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,395,797 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,469,001 msg/sec xenium::michael_scott_queue, 1,s: 11,569,904 msg/sec xenium::michael_scott_queue, 1,i: 11,545,994 msg/sec xenium::michael_scott_queue, 2,s: 7,257,865 msg/sec xenium::michael_scott_queue, 2,i: 7,010,418 msg/sec xenium::michael_scott_queue, 3,s: 5,075,066 msg/sec xenium::michael_scott_queue, 3,i: 5,064,448 msg/sec xenium::michael_scott_queue, 4,s: 3,756,332 msg/sec xenium::michael_scott_queue, 4,i: 3,662,308 msg/sec xenium::ramalhete_queue, 1,s: 51,941,598 msg/sec xenium::ramalhete_queue, 1,i: 35,917,001 msg/sec xenium::ramalhete_queue, 2,s: 46,447,981 msg/sec xenium::ramalhete_queue, 2,i: 25,934,621 msg/sec xenium::ramalhete_queue, 3,s: 30,192,631 msg/sec xenium::ramalhete_queue, 3,i: 30,018,012 msg/sec xenium::ramalhete_queue, 4,s: 30,703,395 msg/sec xenium::ramalhete_queue, 4,i: 32,237,549 msg/sec xenium::vyukov_bounded_queue, 1,s: 209,035,466 msg/sec xenium::vyukov_bounded_queue, 1,i: 233,652,255 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,778,098 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,813,634 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,406,879 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,455,093 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,757,834 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,817,956 msg/sec boost::lockfree::queue, 1,s: 6,988,354 msg/sec boost::lockfree::queue, 1,i: 7,026,244 msg/sec boost::lockfree::queue, 2,s: 4,231,372 msg/sec boost::lockfree::queue, 2,i: 4,354,142 msg/sec boost::lockfree::queue, 3,s: 3,461,749 msg/sec boost::lockfree::queue, 3,i: 3,439,335 msg/sec boost::lockfree::queue, 4,s: 2,782,504 msg/sec boost::lockfree::queue, 4,i: 2,746,667 msg/sec std::mutex, 1,s: 3,617,297 msg/sec std::mutex, 1,i: 5,013,158 msg/sec std::mutex, 2,s: 9,485,226 msg/sec std::mutex, 2,i: 9,079,224 msg/sec std::mutex, 3,s: 4,591,256 msg/sec std::mutex, 3,i: 4,618,327 msg/sec std::mutex, 4,s: 4,284,099 msg/sec std::mutex, 4,i: 4,215,104 msg/sec pthread_spinlock, 1,s: 15,630,261 msg/sec pthread_spinlock, 1,i: 15,603,275 msg/sec pthread_spinlock, 2,s: 9,113,165 msg/sec pthread_spinlock, 2,i: 5,476,615 msg/sec pthread_spinlock, 3,s: 507,431 msg/sec pthread_spinlock, 3,i: 9,676,404 msg/sec pthread_spinlock, 4,s: 1,364,658 msg/sec pthread_spinlock, 4,i: 642,011 msg/sec tbb::spin_mutex, 1,s: 42,890,655 msg/sec tbb::spin_mutex, 1,i: 44,316,362 msg/sec tbb::spin_mutex, 2,s: 9,079,185 msg/sec tbb::spin_mutex, 2,i: 9,050,782 msg/sec tbb::spin_mutex, 3,s: 5,501,648 msg/sec tbb::spin_mutex, 3,i: 5,632,130 msg/sec tbb::spin_mutex, 4,s: 3,622,892 msg/sec tbb::spin_mutex, 4,i: 3,729,431 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 348.81 System time (seconds): 22.53 Percent of CPU this job got: 480% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:17.27 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 53376 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15675 Voluntary context switches: 2659439 Involuntary context switches: 99 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:57:40 [24/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000110 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000116 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000338 sec/round-trip xenium::michael_scott_queue: 0.000000300 sec/round-trip xenium::ramalhete_queue: 0.000000157 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000597 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 155,679,124 msg/sec boost::lockfree::spsc_queue, 1,i: 156,443,381 msg/sec AtomicQueue, 1,s: 91,019,684 msg/sec AtomicQueue, 1,i: 90,643,410 msg/sec AtomicQueue, 2,s: 8,295,761 msg/sec AtomicQueue, 2,i: 8,680,194 msg/sec AtomicQueue, 3,s: 6,535,697 msg/sec AtomicQueue, 3,i: 6,701,378 msg/sec AtomicQueue, 4,s: 4,937,411 msg/sec AtomicQueue, 4,i: 5,115,600 msg/sec OptimistAtomicQueue, 1,s: 845,917,840 msg/sec OptimistAtomicQueue, 1,i: 839,401,203 msg/sec OptimistAtomicQueue, 2,s: 35,045,886 msg/sec OptimistAtomicQueue, 2,i: 38,243,516 msg/sec OptimistAtomicQueue, 3,s: 41,365,516 msg/sec OptimistAtomicQueue, 3,i: 36,660,055 msg/sec OptimistAtomicQueue, 4,s: 39,645,432 msg/sec OptimistAtomicQueue, 4,i: 40,934,116 msg/sec AtomicQueueB, 1,s: 50,050,472 msg/sec AtomicQueueB, 1,i: 47,890,857 msg/sec AtomicQueueB, 2,s: 8,441,492 msg/sec AtomicQueueB, 2,i: 8,138,965 msg/sec AtomicQueueB, 3,s: 6,109,481 msg/sec AtomicQueueB, 3,i: 6,317,381 msg/sec AtomicQueueB, 4,s: 4,814,351 msg/sec AtomicQueueB, 4,i: 4,950,081 msg/sec OptimistAtomicQueueB, 1,s: 621,653,774 msg/sec OptimistAtomicQueueB, 1,i: 461,956,798 msg/sec OptimistAtomicQueueB, 2,s: 35,089,749 msg/sec OptimistAtomicQueueB, 2,i: 36,810,805 msg/sec OptimistAtomicQueueB, 3,s: 40,920,252 msg/sec OptimistAtomicQueueB, 3,i: 36,346,541 msg/sec OptimistAtomicQueueB, 4,s: 39,282,200 msg/sec OptimistAtomicQueueB, 4,i: 36,791,360 msg/sec AtomicQueue2, 1,s: 65,956,062 msg/sec AtomicQueue2, 1,i: 61,521,212 msg/sec AtomicQueue2, 2,s: 8,492,077 msg/sec AtomicQueue2, 2,i: 7,996,932 msg/sec AtomicQueue2, 3,s: 6,283,201 msg/sec AtomicQueue2, 3,i: 6,329,831 msg/sec AtomicQueue2, 4,s: 4,841,084 msg/sec AtomicQueue2, 4,i: 5,003,940 msg/sec OptimistAtomicQueue2, 1,s: 98,708,206 msg/sec OptimistAtomicQueue2, 1,i: 103,086,427 msg/sec OptimistAtomicQueue2, 2,s: 34,698,999 msg/sec OptimistAtomicQueue2, 2,i: 38,639,576 msg/sec OptimistAtomicQueue2, 3,s: 39,113,943 msg/sec OptimistAtomicQueue2, 3,i: 34,234,472 msg/sec OptimistAtomicQueue2, 4,s: 38,611,310 msg/sec OptimistAtomicQueue2, 4,i: 35,970,564 msg/sec AtomicQueueB2, 1,s: 67,334,464 msg/sec AtomicQueueB2, 1,i: 71,227,173 msg/sec AtomicQueueB2, 2,s: 8,040,682 msg/sec AtomicQueueB2, 2,i: 8,029,799 msg/sec AtomicQueueB2, 3,s: 6,165,405 msg/sec AtomicQueueB2, 3,i: 6,265,309 msg/sec AtomicQueueB2, 4,s: 4,757,644 msg/sec AtomicQueueB2, 4,i: 4,895,238 msg/sec OptimistAtomicQueueB2, 1,s: 537,593,114 msg/sec OptimistAtomicQueueB2, 1,i: 92,742,486 msg/sec OptimistAtomicQueueB2, 2,s: 35,707,450 msg/sec OptimistAtomicQueueB2, 2,i: 37,895,436 msg/sec OptimistAtomicQueueB2, 3,s: 39,615,424 msg/sec OptimistAtomicQueueB2, 3,i: 35,657,706 msg/sec OptimistAtomicQueueB2, 4,s: 37,844,284 msg/sec OptimistAtomicQueueB2, 4,i: 37,989,798 msg/sec moodycamel::ReaderWriterQueue, 1,s: 262,408,737 msg/sec moodycamel::ReaderWriterQueue, 1,i: 407,791,465 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,903,548 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,601,476 msg/sec moodycamel::ConcurrentQueue, 2,s: 28,720,312 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,890,745 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,681,345 msg/sec moodycamel::ConcurrentQueue, 3,i: 39,959,963 msg/sec moodycamel::ConcurrentQueue, 4,s: 77,426,957 msg/sec moodycamel::ConcurrentQueue, 4,i: 64,579,517 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,073,776 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,030,266 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,305,091 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,283,633 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,746,082 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,812,611 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,402,201 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,472,251 msg/sec xenium::michael_scott_queue, 1,s: 11,734,786 msg/sec xenium::michael_scott_queue, 1,i: 11,805,750 msg/sec xenium::michael_scott_queue, 2,s: 7,372,642 msg/sec xenium::michael_scott_queue, 2,i: 7,008,988 msg/sec xenium::michael_scott_queue, 3,s: 5,105,597 msg/sec xenium::michael_scott_queue, 3,i: 4,996,070 msg/sec xenium::michael_scott_queue, 4,s: 3,806,101 msg/sec xenium::michael_scott_queue, 4,i: 3,649,594 msg/sec xenium::ramalhete_queue, 1,s: 56,648,987 msg/sec xenium::ramalhete_queue, 1,i: 56,022,367 msg/sec xenium::ramalhete_queue, 2,s: 36,924,066 msg/sec xenium::ramalhete_queue, 2,i: 26,572,183 msg/sec xenium::ramalhete_queue, 3,s: 30,612,075 msg/sec xenium::ramalhete_queue, 3,i: 29,790,438 msg/sec xenium::ramalhete_queue, 4,s: 31,068,282 msg/sec xenium::ramalhete_queue, 4,i: 29,629,795 msg/sec xenium::vyukov_bounded_queue, 1,s: 210,053,456 msg/sec xenium::vyukov_bounded_queue, 1,i: 224,915,101 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,493,854 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,650,060 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,067,198 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,980,463 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,163,647 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,757,515 msg/sec boost::lockfree::queue, 1,s: 7,074,571 msg/sec boost::lockfree::queue, 1,i: 7,029,662 msg/sec boost::lockfree::queue, 2,s: 4,248,507 msg/sec boost::lockfree::queue, 2,i: 4,291,838 msg/sec boost::lockfree::queue, 3,s: 3,465,683 msg/sec boost::lockfree::queue, 3,i: 3,435,258 msg/sec boost::lockfree::queue, 4,s: 1,881,163 msg/sec boost::lockfree::queue, 4,i: 2,751,772 msg/sec std::mutex, 1,s: 3,586,528 msg/sec std::mutex, 1,i: 3,279,049 msg/sec std::mutex, 2,s: 9,812,838 msg/sec std::mutex, 2,i: 10,449,559 msg/sec std::mutex, 3,s: 4,854,629 msg/sec std::mutex, 3,i: 4,722,466 msg/sec std::mutex, 4,s: 4,268,023 msg/sec std::mutex, 4,i: 4,206,854 msg/sec pthread_spinlock, 1,s: 15,501,132 msg/sec pthread_spinlock, 1,i: 15,465,785 msg/sec pthread_spinlock, 2,s: 9,411,230 msg/sec pthread_spinlock, 2,i: 5,396,082 msg/sec pthread_spinlock, 3,s: 400,106 msg/sec pthread_spinlock, 3,i: 9,100,265 msg/sec pthread_spinlock, 4,s: 647,424 msg/sec pthread_spinlock, 4,i: 539,601 msg/sec tbb::spin_mutex, 1,s: 44,671,082 msg/sec tbb::spin_mutex, 1,i: 44,852,817 msg/sec tbb::spin_mutex, 2,s: 9,143,688 msg/sec tbb::spin_mutex, 2,i: 9,029,141 msg/sec tbb::spin_mutex, 3,s: 5,576,756 msg/sec tbb::spin_mutex, 3,i: 5,496,789 msg/sec tbb::spin_mutex, 4,s: 3,516,628 msg/sec tbb::spin_mutex, 4,i: 3,576,370 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 376.46 System time (seconds): 22.86 Percent of CPU this job got: 489% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:21.55 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52856 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15610 Voluntary context switches: 2597305 Involuntary context switches: 115 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:59:02 [25/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000162 sec/round-trip AtomicQueue: 0.000000115 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000100 sec/round-trip AtomicQueue2: 0.000000142 sec/round-trip OptimistAtomicQueue2: 0.000000120 sec/round-trip AtomicQueueB2: 0.000000143 sec/round-trip OptimistAtomicQueueB2: 0.000000126 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000305 sec/round-trip xenium::ramalhete_queue: 0.000000160 sec/round-trip xenium::vyukov_bounded_queue: 0.000000164 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000585 sec/round-trip pthread_spinlock: 0.000000279 sec/round-trip tbb::spin_mutex: 0.000000246 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 157,994,130 msg/sec boost::lockfree::spsc_queue, 1,i: 157,833,730 msg/sec AtomicQueue, 1,s: 86,153,647 msg/sec AtomicQueue, 1,i: 85,607,855 msg/sec AtomicQueue, 2,s: 8,508,207 msg/sec AtomicQueue, 2,i: 8,597,917 msg/sec AtomicQueue, 3,s: 6,586,934 msg/sec AtomicQueue, 3,i: 6,616,888 msg/sec AtomicQueue, 4,s: 4,946,879 msg/sec AtomicQueue, 4,i: 5,141,537 msg/sec OptimistAtomicQueue, 1,s: 861,558,780 msg/sec OptimistAtomicQueue, 1,i: 859,585,059 msg/sec OptimistAtomicQueue, 2,s: 37,953,047 msg/sec OptimistAtomicQueue, 2,i: 37,753,185 msg/sec OptimistAtomicQueue, 3,s: 40,783,127 msg/sec OptimistAtomicQueue, 3,i: 36,742,919 msg/sec OptimistAtomicQueue, 4,s: 39,627,157 msg/sec OptimistAtomicQueue, 4,i: 39,175,643 msg/sec AtomicQueueB, 1,s: 49,573,522 msg/sec AtomicQueueB, 1,i: 47,781,817 msg/sec AtomicQueueB, 2,s: 8,390,355 msg/sec AtomicQueueB, 2,i: 8,525,056 msg/sec AtomicQueueB, 3,s: 6,169,264 msg/sec AtomicQueueB, 3,i: 6,246,503 msg/sec AtomicQueueB, 4,s: 4,732,107 msg/sec AtomicQueueB, 4,i: 4,919,995 msg/sec OptimistAtomicQueueB, 1,s: 549,615,084 msg/sec OptimistAtomicQueueB, 1,i: 358,477,148 msg/sec OptimistAtomicQueueB, 2,s: 35,032,318 msg/sec OptimistAtomicQueueB, 2,i: 39,909,217 msg/sec OptimistAtomicQueueB, 3,s: 40,490,383 msg/sec OptimistAtomicQueueB, 3,i: 41,560,049 msg/sec OptimistAtomicQueueB, 4,s: 39,283,870 msg/sec OptimistAtomicQueueB, 4,i: 37,314,747 msg/sec AtomicQueue2, 1,s: 60,121,956 msg/sec AtomicQueue2, 1,i: 55,350,214 msg/sec AtomicQueue2, 2,s: 8,047,392 msg/sec AtomicQueue2, 2,i: 8,053,689 msg/sec AtomicQueue2, 3,s: 6,195,316 msg/sec AtomicQueue2, 3,i: 6,310,386 msg/sec AtomicQueue2, 4,s: 4,822,514 msg/sec AtomicQueue2, 4,i: 4,962,081 msg/sec OptimistAtomicQueue2, 1,s: 98,429,899 msg/sec OptimistAtomicQueue2, 1,i: 103,299,917 msg/sec OptimistAtomicQueue2, 2,s: 34,320,692 msg/sec OptimistAtomicQueue2, 2,i: 38,835,280 msg/sec OptimistAtomicQueue2, 3,s: 39,297,745 msg/sec OptimistAtomicQueue2, 3,i: 33,846,776 msg/sec OptimistAtomicQueue2, 4,s: 38,460,857 msg/sec OptimistAtomicQueue2, 4,i: 36,723,364 msg/sec AtomicQueueB2, 1,s: 71,347,488 msg/sec AtomicQueueB2, 1,i: 71,919,175 msg/sec AtomicQueueB2, 2,s: 8,314,491 msg/sec AtomicQueueB2, 2,i: 8,045,194 msg/sec AtomicQueueB2, 3,s: 6,165,923 msg/sec AtomicQueueB2, 3,i: 6,372,900 msg/sec AtomicQueueB2, 4,s: 4,703,666 msg/sec AtomicQueueB2, 4,i: 4,899,715 msg/sec OptimistAtomicQueueB2, 1,s: 87,884,172 msg/sec OptimistAtomicQueueB2, 1,i: 108,263,514 msg/sec OptimistAtomicQueueB2, 2,s: 35,522,845 msg/sec OptimistAtomicQueueB2, 2,i: 37,073,232 msg/sec OptimistAtomicQueueB2, 3,s: 39,618,601 msg/sec OptimistAtomicQueueB2, 3,i: 35,896,134 msg/sec OptimistAtomicQueueB2, 4,s: 37,770,000 msg/sec OptimistAtomicQueueB2, 4,i: 37,683,355 msg/sec moodycamel::ReaderWriterQueue, 1,s: 396,152,350 msg/sec moodycamel::ReaderWriterQueue, 1,i: 781,981,573 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,895,103 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,727,528 msg/sec moodycamel::ConcurrentQueue, 2,s: 25,776,379 msg/sec moodycamel::ConcurrentQueue, 2,i: 24,002,010 msg/sec moodycamel::ConcurrentQueue, 3,s: 43,865,350 msg/sec moodycamel::ConcurrentQueue, 3,i: 36,834,476 msg/sec moodycamel::ConcurrentQueue, 4,s: 54,076,883 msg/sec moodycamel::ConcurrentQueue, 4,i: 73,135,792 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,778,539 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,749,938 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,353,123 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,341,358 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,769,548 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,827,378 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,396,574 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,465,630 msg/sec xenium::michael_scott_queue, 1,s: 11,591,964 msg/sec xenium::michael_scott_queue, 1,i: 11,570,356 msg/sec xenium::michael_scott_queue, 2,s: 7,141,824 msg/sec xenium::michael_scott_queue, 2,i: 6,912,958 msg/sec xenium::michael_scott_queue, 3,s: 5,104,699 msg/sec xenium::michael_scott_queue, 3,i: 5,035,159 msg/sec xenium::michael_scott_queue, 4,s: 3,776,924 msg/sec xenium::michael_scott_queue, 4,i: 3,672,052 msg/sec xenium::ramalhete_queue, 1,s: 54,102,092 msg/sec xenium::ramalhete_queue, 1,i: 57,319,987 msg/sec xenium::ramalhete_queue, 2,s: 48,160,186 msg/sec xenium::ramalhete_queue, 2,i: 24,750,963 msg/sec xenium::ramalhete_queue, 3,s: 27,153,520 msg/sec xenium::ramalhete_queue, 3,i: 27,618,347 msg/sec xenium::ramalhete_queue, 4,s: 28,378,863 msg/sec xenium::ramalhete_queue, 4,i: 31,247,417 msg/sec xenium::vyukov_bounded_queue, 1,s: 209,514,633 msg/sec xenium::vyukov_bounded_queue, 1,i: 237,720,282 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,076,242 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,840,132 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,031,098 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,802,806 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,872,932 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,657,141 msg/sec boost::lockfree::queue, 1,s: 7,142,626 msg/sec boost::lockfree::queue, 1,i: 7,075,299 msg/sec boost::lockfree::queue, 2,s: 4,259,057 msg/sec boost::lockfree::queue, 2,i: 4,338,143 msg/sec boost::lockfree::queue, 3,s: 3,468,049 msg/sec boost::lockfree::queue, 3,i: 3,434,014 msg/sec boost::lockfree::queue, 4,s: 1,884,774 msg/sec boost::lockfree::queue, 4,i: 2,752,977 msg/sec std::mutex, 1,s: 2,911,190 msg/sec std::mutex, 1,i: 5,854,577 msg/sec std::mutex, 2,s: 9,714,595 msg/sec std::mutex, 2,i: 9,207,195 msg/sec std::mutex, 3,s: 4,832,208 msg/sec std::mutex, 3,i: 4,625,275 msg/sec std::mutex, 4,s: 4,383,926 msg/sec std::mutex, 4,i: 4,179,719 msg/sec pthread_spinlock, 1,s: 15,550,856 msg/sec pthread_spinlock, 1,i: 15,514,218 msg/sec pthread_spinlock, 2,s: 9,201,968 msg/sec pthread_spinlock, 2,i: 5,328,789 msg/sec pthread_spinlock, 3,s: 366,999 msg/sec pthread_spinlock: producers: 3: consumer 2 received too few messages: 0.02% of expected. pthread_spinlock, 3,i: 9,789,328 msg/sec pthread_spinlock, 4,s: 679,690 msg/sec pthread_spinlock, 4,i: 1,076,073 msg/sec tbb::spin_mutex, 1,s: 45,074,029 msg/sec tbb::spin_mutex, 1,i: 44,870,642 msg/sec tbb::spin_mutex, 2,s: 9,200,690 msg/sec tbb::spin_mutex, 2,i: 8,841,095 msg/sec tbb::spin_mutex, 3,s: 5,423,662 msg/sec tbb::spin_mutex, 3,i: 5,326,226 msg/sec tbb::spin_mutex, 4,s: 3,378,377 msg/sec tbb::spin_mutex, 4,i: 3,512,061 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 372.66 System time (seconds): 22.99 Percent of CPU this job got: 488% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:20.96 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52216 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15448 Voluntary context switches: 2598746 Involuntary context switches: 94 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 11:00:23 [26/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000162 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000128 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000125 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000189 sec/round-trip tbb::concurrent_bounded_queue: 0.000000341 sec/round-trip xenium::michael_scott_queue: 0.000000301 sec/round-trip xenium::ramalhete_queue: 0.000000159 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000262 sec/round-trip std::mutex: 0.000000573 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 160,040,856 msg/sec boost::lockfree::spsc_queue, 1,i: 163,042,910 msg/sec AtomicQueue, 1,s: 89,481,493 msg/sec AtomicQueue, 1,i: 90,867,874 msg/sec AtomicQueue, 2,s: 8,590,340 msg/sec AtomicQueue, 2,i: 8,686,234 msg/sec AtomicQueue, 3,s: 6,597,102 msg/sec AtomicQueue, 3,i: 6,715,192 msg/sec AtomicQueue, 4,s: 5,028,148 msg/sec AtomicQueue, 4,i: 5,122,139 msg/sec OptimistAtomicQueue, 1,s: 849,662,464 msg/sec OptimistAtomicQueue, 1,i: 841,652,120 msg/sec OptimistAtomicQueue, 2,s: 35,122,977 msg/sec OptimistAtomicQueue, 2,i: 38,176,287 msg/sec OptimistAtomicQueue, 3,s: 41,620,758 msg/sec OptimistAtomicQueue, 3,i: 36,964,933 msg/sec OptimistAtomicQueue, 4,s: 39,619,166 msg/sec OptimistAtomicQueue, 4,i: 38,087,522 msg/sec AtomicQueueB, 1,s: 45,874,157 msg/sec AtomicQueueB, 1,i: 45,236,316 msg/sec AtomicQueueB, 2,s: 8,441,683 msg/sec AtomicQueueB, 2,i: 8,259,100 msg/sec AtomicQueueB, 3,s: 6,227,338 msg/sec AtomicQueueB, 3,i: 6,259,754 msg/sec AtomicQueueB, 4,s: 4,824,897 msg/sec AtomicQueueB, 4,i: 4,911,096 msg/sec OptimistAtomicQueueB, 1,s: 739,577,930 msg/sec OptimistAtomicQueueB, 1,i: 364,133,528 msg/sec OptimistAtomicQueueB, 2,s: 34,552,689 msg/sec OptimistAtomicQueueB, 2,i: 37,029,095 msg/sec OptimistAtomicQueueB, 3,s: 40,238,441 msg/sec OptimistAtomicQueueB, 3,i: 36,300,181 msg/sec OptimistAtomicQueueB, 4,s: 39,418,149 msg/sec OptimistAtomicQueueB, 4,i: 36,767,994 msg/sec AtomicQueue2, 1,s: 88,064,459 msg/sec AtomicQueue2, 1,i: 58,036,553 msg/sec AtomicQueue2, 2,s: 8,278,856 msg/sec AtomicQueue2, 2,i: 8,451,062 msg/sec AtomicQueue2, 3,s: 6,236,115 msg/sec AtomicQueue2, 3,i: 6,373,854 msg/sec AtomicQueue2, 4,s: 4,780,062 msg/sec AtomicQueue2, 4,i: 5,055,194 msg/sec OptimistAtomicQueue2, 1,s: 101,689,856 msg/sec OptimistAtomicQueue2, 1,i: 107,430,900 msg/sec OptimistAtomicQueue2, 2,s: 33,599,909 msg/sec OptimistAtomicQueue2, 2,i: 38,789,835 msg/sec OptimistAtomicQueue2, 3,s: 39,294,728 msg/sec OptimistAtomicQueue2, 3,i: 34,315,699 msg/sec OptimistAtomicQueue2, 4,s: 38,726,667 msg/sec OptimistAtomicQueue2, 4,i: 36,161,502 msg/sec AtomicQueueB2, 1,s: 69,599,969 msg/sec AtomicQueueB2, 1,i: 72,092,108 msg/sec AtomicQueueB2, 2,s: 8,266,019 msg/sec AtomicQueueB2, 2,i: 8,125,798 msg/sec AtomicQueueB2, 3,s: 6,195,660 msg/sec AtomicQueueB2, 3,i: 6,350,629 msg/sec AtomicQueueB2, 4,s: 4,691,047 msg/sec AtomicQueueB2, 4,i: 4,866,336 msg/sec OptimistAtomicQueueB2, 1,s: 105,533,674 msg/sec OptimistAtomicQueueB2, 1,i: 93,301,239 msg/sec OptimistAtomicQueueB2, 2,s: 35,634,287 msg/sec OptimistAtomicQueueB2, 2,i: 38,281,125 msg/sec OptimistAtomicQueueB2, 3,s: 39,566,301 msg/sec OptimistAtomicQueueB2, 3,i: 35,818,147 msg/sec OptimistAtomicQueueB2, 4,s: 37,712,259 msg/sec OptimistAtomicQueueB2, 4,i: 37,014,442 msg/sec moodycamel::ReaderWriterQueue, 1,s: 318,326,354 msg/sec moodycamel::ReaderWriterQueue, 1,i: 443,881,613 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,787,487 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,783,036 msg/sec moodycamel::ConcurrentQueue, 2,s: 28,643,371 msg/sec moodycamel::ConcurrentQueue, 2,i: 24,629,031 msg/sec moodycamel::ConcurrentQueue, 3,s: 37,135,143 msg/sec moodycamel::ConcurrentQueue, 3,i: 41,671,099 msg/sec moodycamel::ConcurrentQueue, 4,s: 58,000,668 msg/sec moodycamel::ConcurrentQueue, 4,i: 62,479,381 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,741,303 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,736,768 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,312,492 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,343,448 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,757,470 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,807,874 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,393,549 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,462,806 msg/sec xenium::michael_scott_queue, 1,s: 11,530,481 msg/sec xenium::michael_scott_queue, 1,i: 11,544,376 msg/sec xenium::michael_scott_queue, 2,s: 7,353,294 msg/sec xenium::michael_scott_queue, 2,i: 7,000,272 msg/sec xenium::michael_scott_queue, 3,s: 5,113,576 msg/sec xenium::michael_scott_queue, 3,i: 5,038,603 msg/sec xenium::michael_scott_queue, 4,s: 3,813,063 msg/sec xenium::michael_scott_queue, 4,i: 3,688,150 msg/sec xenium::ramalhete_queue, 1,s: 56,754,611 msg/sec xenium::ramalhete_queue, 1,i: 49,314,526 msg/sec xenium::ramalhete_queue, 2,s: 41,809,527 msg/sec xenium::ramalhete_queue, 2,i: 26,900,832 msg/sec xenium::ramalhete_queue, 3,s: 29,977,756 msg/sec xenium::ramalhete_queue, 3,i: 28,943,433 msg/sec xenium::ramalhete_queue, 4,s: 31,459,121 msg/sec xenium::ramalhete_queue, 4,i: 31,577,912 msg/sec xenium::vyukov_bounded_queue, 1,s: 208,330,811 msg/sec xenium::vyukov_bounded_queue, 1,i: 230,870,474 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,136,035 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,625,010 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,467,930 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,821,181 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,831,877 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,848,642 msg/sec boost::lockfree::queue, 1,s: 7,016,427 msg/sec boost::lockfree::queue, 1,i: 6,986,876 msg/sec boost::lockfree::queue, 2,s: 4,277,351 msg/sec boost::lockfree::queue, 2,i: 4,327,176 msg/sec boost::lockfree::queue, 3,s: 3,467,517 msg/sec boost::lockfree::queue, 3,i: 3,414,707 msg/sec boost::lockfree::queue, 4,s: 2,795,746 msg/sec boost::lockfree::queue, 4,i: 2,728,925 msg/sec std::mutex, 1,s: 3,655,634 msg/sec std::mutex, 1,i: 4,913,923 msg/sec std::mutex, 2,s: 9,423,574 msg/sec std::mutex, 2,i: 9,263,537 msg/sec std::mutex, 3,s: 4,693,337 msg/sec std::mutex, 3,i: 4,682,261 msg/sec std::mutex, 4,s: 4,376,149 msg/sec std::mutex, 4,i: 4,194,741 msg/sec pthread_spinlock, 1,s: 15,602,341 msg/sec pthread_spinlock, 1,i: 15,660,111 msg/sec pthread_spinlock, 2,s: 9,449,202 msg/sec pthread_spinlock, 2,i: 5,604,514 msg/sec pthread_spinlock, 3,s: 411,998 msg/sec pthread_spinlock, 3,i: 8,873,132 msg/sec pthread_spinlock: producers: 4: consumer 1 received too few messages: 0.08% of expected. pthread_spinlock, 4,s: 1,465,872 msg/sec pthread_spinlock, 4,i: 890,465 msg/sec tbb::spin_mutex, 1,s: 45,379,835 msg/sec tbb::spin_mutex, 1,i: 44,239,068 msg/sec tbb::spin_mutex, 2,s: 9,074,936 msg/sec tbb::spin_mutex, 2,i: 8,868,867 msg/sec tbb::spin_mutex, 3,s: 5,410,650 msg/sec tbb::spin_mutex, 3,i: 5,596,533 msg/sec tbb::spin_mutex, 4,s: 3,417,792 msg/sec tbb::spin_mutex, 4,i: 3,590,315 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 353.09 System time (seconds): 22.53 Percent of CPU this job got: 482% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:17.88 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 50944 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 16012 Voluntary context switches: 2621902 Involuntary context switches: 105 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 11:01:41 [27/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000101 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000118 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000118 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000186 sec/round-trip tbb::concurrent_bounded_queue: 0.000000343 sec/round-trip xenium::michael_scott_queue: 0.000000303 sec/round-trip xenium::ramalhete_queue: 0.000000160 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000572 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000245 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 160,718,886 msg/sec boost::lockfree::spsc_queue, 1,i: 164,608,694 msg/sec AtomicQueue, 1,s: 101,224,729 msg/sec AtomicQueue, 1,i: 88,240,027 msg/sec AtomicQueue, 2,s: 8,579,664 msg/sec AtomicQueue, 2,i: 8,759,528 msg/sec AtomicQueue, 3,s: 6,465,317 msg/sec AtomicQueue, 3,i: 6,693,315 msg/sec AtomicQueue, 4,s: 4,914,740 msg/sec AtomicQueue, 4,i: 5,061,913 msg/sec OptimistAtomicQueue, 1,s: 840,206,750 msg/sec OptimistAtomicQueue, 1,i: 849,192,574 msg/sec OptimistAtomicQueue, 2,s: 35,315,231 msg/sec OptimistAtomicQueue, 2,i: 38,020,622 msg/sec OptimistAtomicQueue, 3,s: 40,921,057 msg/sec OptimistAtomicQueue, 3,i: 36,748,357 msg/sec OptimistAtomicQueue, 4,s: 39,347,614 msg/sec OptimistAtomicQueue, 4,i: 38,354,104 msg/sec AtomicQueueB, 1,s: 46,087,360 msg/sec AtomicQueueB, 1,i: 46,694,793 msg/sec AtomicQueueB, 2,s: 8,486,146 msg/sec AtomicQueueB, 2,i: 8,449,363 msg/sec AtomicQueueB, 3,s: 6,153,740 msg/sec AtomicQueueB, 3,i: 6,254,470 msg/sec AtomicQueueB, 4,s: 4,813,092 msg/sec AtomicQueueB, 4,i: 4,913,699 msg/sec OptimistAtomicQueueB, 1,s: 836,888,531 msg/sec OptimistAtomicQueueB, 1,i: 848,586,101 msg/sec OptimistAtomicQueueB, 2,s: 34,831,183 msg/sec OptimistAtomicQueueB, 2,i: 36,974,636 msg/sec OptimistAtomicQueueB, 3,s: 40,575,897 msg/sec OptimistAtomicQueueB, 3,i: 36,176,687 msg/sec OptimistAtomicQueueB, 4,s: 39,335,007 msg/sec OptimistAtomicQueueB, 4,i: 36,788,011 msg/sec AtomicQueue2, 1,s: 63,819,067 msg/sec AtomicQueue2, 1,i: 64,808,598 msg/sec AtomicQueue2, 2,s: 8,277,899 msg/sec AtomicQueue2, 2,i: 8,431,021 msg/sec AtomicQueue2, 3,s: 6,235,087 msg/sec AtomicQueue2, 3,i: 6,336,401 msg/sec AtomicQueue2, 4,s: 4,757,221 msg/sec AtomicQueue2, 4,i: 4,885,659 msg/sec OptimistAtomicQueue2, 1,s: 96,986,122 msg/sec OptimistAtomicQueue2, 1,i: 100,586,230 msg/sec OptimistAtomicQueue2, 2,s: 33,375,936 msg/sec OptimistAtomicQueue2, 2,i: 38,424,906 msg/sec OptimistAtomicQueue2, 3,s: 39,778,520 msg/sec OptimistAtomicQueue2, 3,i: 33,929,042 msg/sec OptimistAtomicQueue2, 4,s: 38,478,932 msg/sec OptimistAtomicQueue2, 4,i: 36,186,517 msg/sec AtomicQueueB2, 1,s: 46,315,103 msg/sec AtomicQueueB2, 1,i: 72,353,622 msg/sec AtomicQueueB2, 2,s: 8,333,158 msg/sec AtomicQueueB2, 2,i: 8,052,744 msg/sec AtomicQueueB2, 3,s: 6,169,409 msg/sec AtomicQueueB2, 3,i: 6,332,508 msg/sec AtomicQueueB2, 4,s: 4,665,533 msg/sec AtomicQueueB2, 4,i: 4,950,848 msg/sec OptimistAtomicQueueB2, 1,s: 93,318,685 msg/sec OptimistAtomicQueueB2, 1,i: 108,172,931 msg/sec OptimistAtomicQueueB2, 2,s: 35,443,424 msg/sec OptimistAtomicQueueB2, 2,i: 37,595,336 msg/sec OptimistAtomicQueueB2, 3,s: 39,774,462 msg/sec OptimistAtomicQueueB2, 3,i: 35,487,753 msg/sec OptimistAtomicQueueB2, 4,s: 37,994,324 msg/sec OptimistAtomicQueueB2, 4,i: 36,676,080 msg/sec moodycamel::ReaderWriterQueue, 1,s: 594,048,150 msg/sec moodycamel::ReaderWriterQueue, 1,i: 484,178,305 msg/sec moodycamel::ConcurrentQueue, 1,s: 15,022,955 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,901,085 msg/sec moodycamel::ConcurrentQueue, 2,s: 28,921,200 msg/sec moodycamel::ConcurrentQueue, 2,i: 29,477,007 msg/sec moodycamel::ConcurrentQueue, 3,s: 39,480,941 msg/sec moodycamel::ConcurrentQueue, 3,i: 42,635,976 msg/sec moodycamel::ConcurrentQueue, 4,s: 79,591,742 msg/sec moodycamel::ConcurrentQueue, 4,i: 61,772,284 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,743,846 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,720,825 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,355,189 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,393,281 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,748,799 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,824,357 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,403,979 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,481,574 msg/sec xenium::michael_scott_queue, 1,s: 11,644,360 msg/sec xenium::michael_scott_queue, 1,i: 11,571,280 msg/sec xenium::michael_scott_queue, 2,s: 7,359,922 msg/sec xenium::michael_scott_queue, 2,i: 7,038,703 msg/sec xenium::michael_scott_queue, 3,s: 5,099,769 msg/sec xenium::michael_scott_queue, 3,i: 5,070,957 msg/sec xenium::michael_scott_queue, 4,s: 3,778,896 msg/sec xenium::michael_scott_queue, 4,i: 3,653,929 msg/sec xenium::ramalhete_queue, 1,s: 36,857,771 msg/sec xenium::ramalhete_queue, 1,i: 33,926,633 msg/sec xenium::ramalhete_queue, 2,s: 46,660,433 msg/sec xenium::ramalhete_queue, 2,i: 25,714,094 msg/sec xenium::ramalhete_queue, 3,s: 31,606,324 msg/sec xenium::ramalhete_queue, 3,i: 28,347,614 msg/sec xenium::ramalhete_queue, 4,s: 29,470,610 msg/sec xenium::ramalhete_queue, 4,i: 30,430,288 msg/sec xenium::vyukov_bounded_queue, 1,s: 214,654,090 msg/sec xenium::vyukov_bounded_queue, 1,i: 245,350,921 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,151,952 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,707,704 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,649,648 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,302,140 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,690,513 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,809,366 msg/sec boost::lockfree::queue, 1,s: 7,008,646 msg/sec boost::lockfree::queue, 1,i: 7,044,856 msg/sec boost::lockfree::queue, 2,s: 4,260,270 msg/sec boost::lockfree::queue, 2,i: 4,331,575 msg/sec boost::lockfree::queue, 3,s: 3,467,583 msg/sec boost::lockfree::queue, 3,i: 3,439,796 msg/sec boost::lockfree::queue, 4,s: 1,888,707 msg/sec boost::lockfree::queue, 4,i: 2,760,693 msg/sec std::mutex, 1,s: 3,007,112 msg/sec std::mutex, 1,i: 2,984,253 msg/sec std::mutex, 2,s: 11,226,355 msg/sec std::mutex, 2,i: 10,481,326 msg/sec std::mutex, 3,s: 4,787,052 msg/sec std::mutex, 3,i: 4,630,909 msg/sec std::mutex, 4,s: 4,412,482 msg/sec std::mutex, 4,i: 4,180,742 msg/sec pthread_spinlock, 1,s: 15,780,872 msg/sec pthread_spinlock, 1,i: 15,661,212 msg/sec pthread_spinlock, 2,s: 9,483,513 msg/sec pthread_spinlock, 2,i: 5,344,870 msg/sec pthread_spinlock, 3,s: 377,000 msg/sec pthread_spinlock: producers: 3: consumer 1 received too few messages: 0.03% of expected. pthread_spinlock, 3,i: 9,972,145 msg/sec pthread_spinlock, 4,s: 830,797 msg/sec pthread_spinlock: producers: 4: consumer 2 received too few messages: 0.09% of expected. pthread_spinlock, 4,i: 1,045,683 msg/sec tbb::spin_mutex, 1,s: 43,529,117 msg/sec tbb::spin_mutex, 1,i: 44,619,279 msg/sec tbb::spin_mutex, 2,s: 9,174,029 msg/sec tbb::spin_mutex, 2,i: 8,922,883 msg/sec tbb::spin_mutex, 3,s: 5,539,080 msg/sec tbb::spin_mutex, 3,i: 5,719,630 msg/sec tbb::spin_mutex, 4,s: 3,469,604 msg/sec tbb::spin_mutex, 4,i: 3,567,444 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 358.63 System time (seconds): 22.82 Percent of CPU this job got: 483% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.94 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 54008 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15845 Voluntary context switches: 2613967 Involuntary context switches: 100 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 11:03:00 [28/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000147 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000104 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000144 sec/round-trip OptimistAtomicQueueB2: 0.000000125 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000344 sec/round-trip xenium::michael_scott_queue: 0.000000303 sec/round-trip xenium::ramalhete_queue: 0.000000161 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000568 sec/round-trip pthread_spinlock: 0.000000277 sec/round-trip tbb::spin_mutex: 0.000000245 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 164,855,294 msg/sec boost::lockfree::spsc_queue, 1,i: 155,747,144 msg/sec AtomicQueue, 1,s: 89,383,969 msg/sec AtomicQueue, 1,i: 106,868,635 msg/sec AtomicQueue, 2,s: 8,680,275 msg/sec AtomicQueue, 2,i: 8,874,433 msg/sec AtomicQueue, 3,s: 6,468,472 msg/sec AtomicQueue, 3,i: 6,611,868 msg/sec AtomicQueue, 4,s: 5,021,915 msg/sec AtomicQueue, 4,i: 5,143,823 msg/sec OptimistAtomicQueue, 1,s: 839,754,322 msg/sec OptimistAtomicQueue, 1,i: 849,582,908 msg/sec OptimistAtomicQueue, 2,s: 35,720,549 msg/sec OptimistAtomicQueue, 2,i: 37,315,807 msg/sec OptimistAtomicQueue, 3,s: 41,317,313 msg/sec OptimistAtomicQueue, 3,i: 36,453,643 msg/sec OptimistAtomicQueue, 4,s: 39,891,894 msg/sec OptimistAtomicQueue, 4,i: 37,901,351 msg/sec AtomicQueueB, 1,s: 44,772,979 msg/sec AtomicQueueB, 1,i: 45,018,019 msg/sec AtomicQueueB, 2,s: 8,413,264 msg/sec AtomicQueueB, 2,i: 8,284,407 msg/sec AtomicQueueB, 3,s: 6,132,571 msg/sec AtomicQueueB, 3,i: 6,312,802 msg/sec AtomicQueueB, 4,s: 4,824,848 msg/sec AtomicQueueB, 4,i: 4,904,415 msg/sec OptimistAtomicQueueB, 1,s: 718,469,036 msg/sec OptimistAtomicQueueB, 1,i: 546,976,556 msg/sec OptimistAtomicQueueB, 2,s: 34,993,162 msg/sec OptimistAtomicQueueB, 2,i: 36,801,168 msg/sec OptimistAtomicQueueB, 3,s: 40,458,624 msg/sec OptimistAtomicQueueB, 3,i: 35,826,349 msg/sec OptimistAtomicQueueB, 4,s: 39,720,549 msg/sec OptimistAtomicQueueB, 4,i: 37,364,393 msg/sec AtomicQueue2, 1,s: 58,299,956 msg/sec AtomicQueue2, 1,i: 50,809,545 msg/sec AtomicQueue2, 2,s: 8,372,044 msg/sec AtomicQueue2, 2,i: 8,278,099 msg/sec AtomicQueue2, 3,s: 6,258,478 msg/sec AtomicQueue2, 3,i: 6,344,557 msg/sec AtomicQueue2, 4,s: 4,775,060 msg/sec AtomicQueue2, 4,i: 4,910,401 msg/sec OptimistAtomicQueue2, 1,s: 101,315,974 msg/sec OptimistAtomicQueue2, 1,i: 104,696,439 msg/sec OptimistAtomicQueue2, 2,s: 34,327,963 msg/sec OptimistAtomicQueue2, 2,i: 40,243,293 msg/sec OptimistAtomicQueue2, 3,s: 39,033,818 msg/sec OptimistAtomicQueue2, 3,i: 33,922,204 msg/sec OptimistAtomicQueue2, 4,s: 38,705,687 msg/sec OptimistAtomicQueue2, 4,i: 36,146,455 msg/sec AtomicQueueB2, 1,s: 72,043,765 msg/sec AtomicQueueB2, 1,i: 70,220,132 msg/sec AtomicQueueB2, 2,s: 8,240,745 msg/sec AtomicQueueB2, 2,i: 8,162,378 msg/sec AtomicQueueB2, 3,s: 6,171,595 msg/sec AtomicQueueB2, 3,i: 6,273,326 msg/sec AtomicQueueB2, 4,s: 4,678,954 msg/sec AtomicQueueB2, 4,i: 4,847,232 msg/sec OptimistAtomicQueueB2, 1,s: 91,956,723 msg/sec OptimistAtomicQueueB2, 1,i: 94,021,772 msg/sec OptimistAtomicQueueB2, 2,s: 35,428,553 msg/sec OptimistAtomicQueueB2, 2,i: 37,731,762 msg/sec OptimistAtomicQueueB2, 3,s: 39,877,040 msg/sec OptimistAtomicQueueB2, 3,i: 36,660,311 msg/sec OptimistAtomicQueueB2, 4,s: 38,269,178 msg/sec OptimistAtomicQueueB2, 4,i: 36,834,415 msg/sec moodycamel::ReaderWriterQueue, 1,s: 425,859,001 msg/sec moodycamel::ReaderWriterQueue, 1,i: 287,589,251 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,781,145 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,640,216 msg/sec moodycamel::ConcurrentQueue, 2,s: 27,618,338 msg/sec moodycamel::ConcurrentQueue, 2,i: 24,318,136 msg/sec moodycamel::ConcurrentQueue, 3,s: 36,744,082 msg/sec moodycamel::ConcurrentQueue, 3,i: 42,077,758 msg/sec moodycamel::ConcurrentQueue, 4,s: 64,072,047 msg/sec moodycamel::ConcurrentQueue, 4,i: 63,738,372 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,751,977 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,726,108 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,288,950 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,351,997 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,768,036 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,828,155 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,402,686 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,475,550 msg/sec xenium::michael_scott_queue, 1,s: 11,526,709 msg/sec xenium::michael_scott_queue, 1,i: 11,557,274 msg/sec xenium::michael_scott_queue, 2,s: 7,353,339 msg/sec xenium::michael_scott_queue, 2,i: 6,965,457 msg/sec xenium::michael_scott_queue, 3,s: 5,045,225 msg/sec xenium::michael_scott_queue, 3,i: 5,012,283 msg/sec xenium::michael_scott_queue, 4,s: 3,784,297 msg/sec xenium::michael_scott_queue, 4,i: 3,688,521 msg/sec xenium::ramalhete_queue, 1,s: 54,796,032 msg/sec xenium::ramalhete_queue, 1,i: 50,833,534 msg/sec xenium::ramalhete_queue, 2,s: 46,526,599 msg/sec xenium::ramalhete_queue, 2,i: 25,054,460 msg/sec xenium::ramalhete_queue, 3,s: 29,446,846 msg/sec xenium::ramalhete_queue, 3,i: 27,909,921 msg/sec xenium::ramalhete_queue, 4,s: 31,124,727 msg/sec xenium::ramalhete_queue, 4,i: 28,360,542 msg/sec xenium::vyukov_bounded_queue, 1,s: 205,970,969 msg/sec xenium::vyukov_bounded_queue, 1,i: 228,869,856 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,839,926 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,088,405 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,001,347 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,945,584 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,905,480 msg/sec xenium::vyukov_bounded_queue, 4,i: 9,942,246 msg/sec boost::lockfree::queue, 1,s: 7,064,940 msg/sec boost::lockfree::queue, 1,i: 7,079,912 msg/sec boost::lockfree::queue, 2,s: 4,284,888 msg/sec boost::lockfree::queue, 2,i: 4,304,991 msg/sec boost::lockfree::queue, 3,s: 3,464,085 msg/sec boost::lockfree::queue, 3,i: 3,432,737 msg/sec boost::lockfree::queue, 4,s: 1,886,710 msg/sec boost::lockfree::queue, 4,i: 2,735,767 msg/sec std::mutex, 1,s: 3,048,762 msg/sec std::mutex, 1,i: 6,144,857 msg/sec std::mutex, 2,s: 10,105,905 msg/sec std::mutex, 2,i: 9,276,173 msg/sec std::mutex, 3,s: 4,524,868 msg/sec std::mutex, 3,i: 4,560,512 msg/sec std::mutex, 4,s: 4,461,742 msg/sec std::mutex, 4,i: 4,239,589 msg/sec pthread_spinlock, 1,s: 15,768,524 msg/sec pthread_spinlock, 1,i: 15,557,105 msg/sec pthread_spinlock, 2,s: 9,643,812 msg/sec pthread_spinlock, 2,i: 5,821,543 msg/sec pthread_spinlock, 3,s: 1,053,558 msg/sec pthread_spinlock, 3,i: 8,997,155 msg/sec pthread_spinlock, 4,s: 1,834,421 msg/sec pthread_spinlock, 4,i: 687,398 msg/sec tbb::spin_mutex, 1,s: 44,397,481 msg/sec tbb::spin_mutex, 1,i: 44,824,757 msg/sec tbb::spin_mutex, 2,s: 9,160,877 msg/sec tbb::spin_mutex, 2,i: 8,901,479 msg/sec tbb::spin_mutex, 3,s: 5,470,973 msg/sec tbb::spin_mutex, 3,i: 5,443,398 msg/sec tbb::spin_mutex, 4,s: 3,544,635 msg/sec tbb::spin_mutex, 4,i: 3,604,285 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 340.72 System time (seconds): 22.57 Percent of CPU this job got: 478% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:15.91 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 50416 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 14998 Voluntary context switches: 2646112 Involuntary context switches: 96 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 11:04:15 [29/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000159 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000128 sec/round-trip AtomicQueue2: 0.000000140 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000127 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000304 sec/round-trip xenium::ramalhete_queue: 0.000000157 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000556 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 154,891,283 msg/sec boost::lockfree::spsc_queue, 1,i: 154,774,550 msg/sec AtomicQueue, 1,s: 84,830,266 msg/sec AtomicQueue, 1,i: 86,668,044 msg/sec AtomicQueue, 2,s: 8,356,937 msg/sec AtomicQueue, 2,i: 8,762,207 msg/sec AtomicQueue, 3,s: 6,586,463 msg/sec AtomicQueue, 3,i: 6,612,819 msg/sec AtomicQueue, 4,s: 4,861,996 msg/sec AtomicQueue, 4,i: 5,138,385 msg/sec OptimistAtomicQueue, 1,s: 862,139,260 msg/sec OptimistAtomicQueue, 1,i: 847,426,112 msg/sec OptimistAtomicQueue, 2,s: 36,121,103 msg/sec OptimistAtomicQueue, 2,i: 38,456,159 msg/sec OptimistAtomicQueue, 3,s: 41,662,750 msg/sec OptimistAtomicQueue, 3,i: 36,833,891 msg/sec OptimistAtomicQueue, 4,s: 39,474,709 msg/sec OptimistAtomicQueue, 4,i: 38,954,809 msg/sec AtomicQueueB, 1,s: 45,209,699 msg/sec AtomicQueueB, 1,i: 48,308,087 msg/sec AtomicQueueB, 2,s: 8,333,623 msg/sec AtomicQueueB, 2,i: 8,416,439 msg/sec AtomicQueueB, 3,s: 6,139,265 msg/sec AtomicQueueB, 3,i: 6,360,888 msg/sec AtomicQueueB, 4,s: 4,758,898 msg/sec AtomicQueueB, 4,i: 4,890,581 msg/sec OptimistAtomicQueueB, 1,s: 359,159,542 msg/sec OptimistAtomicQueueB, 1,i: 466,805,105 msg/sec OptimistAtomicQueueB, 2,s: 35,027,203 msg/sec OptimistAtomicQueueB, 2,i: 45,004,967 msg/sec OptimistAtomicQueueB, 3,s: 40,480,694 msg/sec OptimistAtomicQueueB, 3,i: 36,192,954 msg/sec OptimistAtomicQueueB, 4,s: 39,340,433 msg/sec OptimistAtomicQueueB, 4,i: 37,240,566 msg/sec AtomicQueue2, 1,s: 62,151,209 msg/sec AtomicQueue2, 1,i: 53,057,269 msg/sec AtomicQueue2, 2,s: 8,238,611 msg/sec AtomicQueue2, 2,i: 8,042,164 msg/sec AtomicQueue2, 3,s: 6,233,973 msg/sec AtomicQueue2, 3,i: 6,327,134 msg/sec AtomicQueue2, 4,s: 4,764,213 msg/sec AtomicQueue2, 4,i: 4,961,913 msg/sec OptimistAtomicQueue2, 1,s: 101,410,371 msg/sec OptimistAtomicQueue2, 1,i: 106,448,173 msg/sec OptimistAtomicQueue2, 2,s: 34,921,219 msg/sec OptimistAtomicQueue2, 2,i: 39,557,582 msg/sec OptimistAtomicQueue2, 3,s: 39,530,603 msg/sec OptimistAtomicQueue2, 3,i: 33,897,331 msg/sec OptimistAtomicQueue2, 4,s: 38,523,204 msg/sec OptimistAtomicQueue2, 4,i: 36,641,275 msg/sec AtomicQueueB2, 1,s: 69,964,761 msg/sec AtomicQueueB2, 1,i: 70,200,870 msg/sec AtomicQueueB2, 2,s: 8,275,536 msg/sec AtomicQueueB2, 2,i: 8,027,387 msg/sec AtomicQueueB2, 3,s: 6,210,776 msg/sec AtomicQueueB2, 3,i: 6,292,022 msg/sec AtomicQueueB2, 4,s: 4,673,302 msg/sec AtomicQueueB2, 4,i: 4,905,886 msg/sec OptimistAtomicQueueB2, 1,s: 105,809,566 msg/sec OptimistAtomicQueueB2, 1,i: 94,505,359 msg/sec OptimistAtomicQueueB2, 2,s: 35,800,410 msg/sec OptimistAtomicQueueB2, 2,i: 37,954,808 msg/sec OptimistAtomicQueueB2, 3,s: 39,767,838 msg/sec OptimistAtomicQueueB2, 3,i: 36,040,412 msg/sec OptimistAtomicQueueB2, 4,s: 37,567,982 msg/sec OptimistAtomicQueueB2, 4,i: 37,381,032 msg/sec moodycamel::ReaderWriterQueue, 1,s: 303,077,876 msg/sec moodycamel::ReaderWriterQueue, 1,i: 481,336,626 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,749,668 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,690,767 msg/sec moodycamel::ConcurrentQueue, 2,s: 30,641,542 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,177,845 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,835,688 msg/sec moodycamel::ConcurrentQueue, 3,i: 46,542,747 msg/sec moodycamel::ConcurrentQueue, 4,s: 61,110,482 msg/sec moodycamel::ConcurrentQueue, 4,i: 61,002,018 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,092,579 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,082,077 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,295,527 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,333,501 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,755,806 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,827,286 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,401,701 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,482,805 msg/sec xenium::michael_scott_queue, 1,s: 11,657,336 msg/sec xenium::michael_scott_queue, 1,i: 11,549,580 msg/sec xenium::michael_scott_queue, 2,s: 7,365,078 msg/sec xenium::michael_scott_queue, 2,i: 7,021,668 msg/sec xenium::michael_scott_queue, 3,s: 5,079,359 msg/sec xenium::michael_scott_queue, 3,i: 5,009,485 msg/sec xenium::michael_scott_queue, 4,s: 3,800,251 msg/sec xenium::michael_scott_queue, 4,i: 3,648,853 msg/sec xenium::ramalhete_queue, 1,s: 57,108,085 msg/sec xenium::ramalhete_queue, 1,i: 57,269,074 msg/sec xenium::ramalhete_queue, 2,s: 47,184,904 msg/sec xenium::ramalhete_queue, 2,i: 26,160,965 msg/sec xenium::ramalhete_queue, 3,s: 29,183,166 msg/sec xenium::ramalhete_queue, 3,i: 28,759,082 msg/sec xenium::ramalhete_queue, 4,s: 32,652,106 msg/sec xenium::ramalhete_queue, 4,i: 31,587,476 msg/sec xenium::vyukov_bounded_queue, 1,s: 205,234,868 msg/sec xenium::vyukov_bounded_queue, 1,i: 239,251,436 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,840,079 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,535,282 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,152,910 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,470,024 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,693,067 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,144,588 msg/sec boost::lockfree::queue, 1,s: 7,053,675 msg/sec boost::lockfree::queue, 1,i: 7,020,670 msg/sec boost::lockfree::queue, 2,s: 4,286,886 msg/sec boost::lockfree::queue, 2,i: 4,332,651 msg/sec boost::lockfree::queue, 3,s: 3,469,351 msg/sec boost::lockfree::queue, 3,i: 3,442,370 msg/sec boost::lockfree::queue, 4,s: 2,796,896 msg/sec boost::lockfree::queue, 4,i: 2,713,744 msg/sec std::mutex, 1,s: 3,117,903 msg/sec std::mutex, 1,i: 3,152,356 msg/sec std::mutex, 2,s: 9,326,895 msg/sec std::mutex, 2,i: 9,040,471 msg/sec std::mutex, 3,s: 4,600,393 msg/sec std::mutex, 3,i: 4,550,020 msg/sec std::mutex, 4,s: 4,295,220 msg/sec std::mutex, 4,i: 4,302,283 msg/sec pthread_spinlock, 1,s: 15,613,045 msg/sec pthread_spinlock, 1,i: 15,583,802 msg/sec pthread_spinlock, 2,s: 9,563,023 msg/sec pthread_spinlock, 2,i: 5,594,790 msg/sec pthread_spinlock, 3,s: 398,418 msg/sec pthread_spinlock: producers: 3: consumer 1 received too few messages: 0.03% of expected. pthread_spinlock, 3,i: 9,562,477 msg/sec pthread_spinlock, 4,s: 1,146,958 msg/sec pthread_spinlock, 4,i: 639,091 msg/sec tbb::spin_mutex, 1,s: 43,017,079 msg/sec tbb::spin_mutex, 1,i: 44,788,510 msg/sec tbb::spin_mutex, 2,s: 9,153,749 msg/sec tbb::spin_mutex, 2,i: 9,005,234 msg/sec tbb::spin_mutex, 3,s: 5,342,186 msg/sec tbb::spin_mutex, 3,i: 5,197,085 msg/sec tbb::spin_mutex, 4,s: 3,534,557 msg/sec tbb::spin_mutex, 4,i: 3,646,111 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 354.63 System time (seconds): 23.02 Percent of CPU this job got: 480% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.57 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52980 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15659 Voluntary context switches: 2682300 Involuntary context switches: 106 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 11:05:34 [30/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000160 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000099 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000117 sec/round-trip AtomicQueueB2: 0.000000146 sec/round-trip OptimistAtomicQueueB2: 0.000000121 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000344 sec/round-trip xenium::michael_scott_queue: 0.000000302 sec/round-trip xenium::ramalhete_queue: 0.000000159 sec/round-trip xenium::vyukov_bounded_queue: 0.000000164 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000587 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 168,807,578 msg/sec boost::lockfree::spsc_queue, 1,i: 167,898,597 msg/sec AtomicQueue, 1,s: 98,625,397 msg/sec AtomicQueue, 1,i: 88,503,791 msg/sec AtomicQueue, 2,s: 8,489,214 msg/sec AtomicQueue, 2,i: 8,728,402 msg/sec AtomicQueue, 3,s: 6,534,567 msg/sec AtomicQueue, 3,i: 6,601,961 msg/sec AtomicQueue, 4,s: 4,995,244 msg/sec AtomicQueue, 4,i: 5,140,920 msg/sec OptimistAtomicQueue, 1,s: 852,922,577 msg/sec OptimistAtomicQueue, 1,i: 861,982,900 msg/sec OptimistAtomicQueue, 2,s: 38,241,187 msg/sec OptimistAtomicQueue, 2,i: 37,893,695 msg/sec OptimistAtomicQueue, 3,s: 41,850,160 msg/sec OptimistAtomicQueue, 3,i: 40,969,921 msg/sec OptimistAtomicQueue, 4,s: 39,456,795 msg/sec OptimistAtomicQueue, 4,i: 38,897,757 msg/sec AtomicQueueB, 1,s: 45,385,097 msg/sec AtomicQueueB, 1,i: 47,192,288 msg/sec AtomicQueueB, 2,s: 8,482,891 msg/sec AtomicQueueB, 2,i: 8,438,701 msg/sec AtomicQueueB, 3,s: 6,139,855 msg/sec AtomicQueueB, 3,i: 6,542,798 msg/sec AtomicQueueB, 4,s: 4,764,362 msg/sec AtomicQueueB, 4,i: 4,967,616 msg/sec OptimistAtomicQueueB, 1,s: 507,618,679 msg/sec OptimistAtomicQueueB, 1,i: 380,895,137 msg/sec OptimistAtomicQueueB, 2,s: 35,288,536 msg/sec OptimistAtomicQueueB, 2,i: 36,834,782 msg/sec OptimistAtomicQueueB, 3,s: 40,837,592 msg/sec OptimistAtomicQueueB, 3,i: 36,089,515 msg/sec OptimistAtomicQueueB, 4,s: 39,317,977 msg/sec OptimistAtomicQueueB, 4,i: 40,286,436 msg/sec AtomicQueue2, 1,s: 61,332,039 msg/sec AtomicQueue2, 1,i: 61,572,182 msg/sec AtomicQueue2, 2,s: 8,131,423 msg/sec AtomicQueue2, 2,i: 8,073,657 msg/sec AtomicQueue2, 3,s: 6,305,420 msg/sec AtomicQueue2, 3,i: 6,339,243 msg/sec AtomicQueue2, 4,s: 4,773,077 msg/sec AtomicQueue2, 4,i: 4,901,550 msg/sec OptimistAtomicQueue2, 1,s: 100,524,534 msg/sec OptimistAtomicQueue2, 1,i: 103,461,609 msg/sec OptimistAtomicQueue2, 2,s: 33,560,378 msg/sec OptimistAtomicQueue2, 2,i: 38,339,327 msg/sec OptimistAtomicQueue2, 3,s: 39,526,063 msg/sec OptimistAtomicQueue2, 3,i: 34,078,367 msg/sec OptimistAtomicQueue2, 4,s: 38,583,517 msg/sec OptimistAtomicQueue2, 4,i: 36,180,981 msg/sec AtomicQueueB2, 1,s: 72,052,867 msg/sec AtomicQueueB2, 1,i: 72,958,142 msg/sec AtomicQueueB2, 2,s: 7,983,068 msg/sec AtomicQueueB2, 2,i: 7,902,574 msg/sec AtomicQueueB2, 3,s: 6,132,544 msg/sec AtomicQueueB2, 3,i: 6,413,379 msg/sec AtomicQueueB2, 4,s: 4,737,736 msg/sec AtomicQueueB2, 4,i: 4,904,079 msg/sec OptimistAtomicQueueB2, 1,s: 89,281,226 msg/sec OptimistAtomicQueueB2, 1,i: 108,599,003 msg/sec OptimistAtomicQueueB2, 2,s: 35,004,428 msg/sec OptimistAtomicQueueB2, 2,i: 37,993,818 msg/sec OptimistAtomicQueueB2, 3,s: 39,994,967 msg/sec OptimistAtomicQueueB2, 3,i: 36,359,543 msg/sec OptimistAtomicQueueB2, 4,s: 37,912,926 msg/sec OptimistAtomicQueueB2, 4,i: 37,164,286 msg/sec moodycamel::ReaderWriterQueue, 1,s: 318,908,142 msg/sec moodycamel::ReaderWriterQueue, 1,i: 348,501,196 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,869,371 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,725,364 msg/sec moodycamel::ConcurrentQueue, 2,s: 29,713,974 msg/sec moodycamel::ConcurrentQueue, 2,i: 29,855,037 msg/sec moodycamel::ConcurrentQueue, 3,s: 42,543,110 msg/sec moodycamel::ConcurrentQueue, 3,i: 36,842,620 msg/sec moodycamel::ConcurrentQueue, 4,s: 53,340,851 msg/sec moodycamel::ConcurrentQueue, 4,i: 62,257,627 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,743,930 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,768,797 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,345,368 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,358,355 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,756,728 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,831,853 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,401,579 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,465,880 msg/sec xenium::michael_scott_queue, 1,s: 11,595,839 msg/sec xenium::michael_scott_queue, 1,i: 11,513,206 msg/sec xenium::michael_scott_queue, 2,s: 7,408,215 msg/sec xenium::michael_scott_queue, 2,i: 7,015,296 msg/sec xenium::michael_scott_queue, 3,s: 5,089,116 msg/sec xenium::michael_scott_queue, 3,i: 5,016,289 msg/sec xenium::michael_scott_queue, 4,s: 3,780,729 msg/sec xenium::michael_scott_queue, 4,i: 3,683,948 msg/sec xenium::ramalhete_queue, 1,s: 56,466,596 msg/sec xenium::ramalhete_queue, 1,i: 55,070,802 msg/sec xenium::ramalhete_queue, 2,s: 48,159,257 msg/sec xenium::ramalhete_queue, 2,i: 26,487,006 msg/sec xenium::ramalhete_queue, 3,s: 30,517,577 msg/sec xenium::ramalhete_queue, 3,i: 29,550,891 msg/sec xenium::ramalhete_queue, 4,s: 30,517,544 msg/sec xenium::ramalhete_queue, 4,i: 31,957,686 msg/sec xenium::vyukov_bounded_queue, 1,s: 209,475,938 msg/sec xenium::vyukov_bounded_queue, 1,i: 230,716,242 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,934,495 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,472,347 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,417,617 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,977,544 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,958,604 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,279,016 msg/sec boost::lockfree::queue, 1,s: 7,032,351 msg/sec boost::lockfree::queue, 1,i: 7,041,881 msg/sec boost::lockfree::queue, 2,s: 4,246,306 msg/sec boost::lockfree::queue, 2,i: 4,300,175 msg/sec boost::lockfree::queue, 3,s: 3,449,187 msg/sec boost::lockfree::queue, 3,i: 3,423,904 msg/sec boost::lockfree::queue, 4,s: 1,884,188 msg/sec boost::lockfree::queue, 4,i: 2,729,745 msg/sec std::mutex, 1,s: 3,051,850 msg/sec std::mutex, 1,i: 3,248,612 msg/sec std::mutex, 2,s: 9,737,392 msg/sec std::mutex, 2,i: 9,531,427 msg/sec std::mutex, 3,s: 4,629,874 msg/sec std::mutex, 3,i: 4,509,667 msg/sec std::mutex, 4,s: 4,313,242 msg/sec std::mutex, 4,i: 4,210,115 msg/sec pthread_spinlock, 1,s: 15,500,961 msg/sec pthread_spinlock, 1,i: 15,479,928 msg/sec pthread_spinlock, 2,s: 9,121,696 msg/sec pthread_spinlock, 2,i: 5,465,988 msg/sec pthread_spinlock, 3,s: 377,607 msg/sec pthread_spinlock, 3,i: 9,592,542 msg/sec pthread_spinlock, 4,s: 719,263 msg/sec pthread_spinlock, 4,i: 609,031 msg/sec tbb::spin_mutex, 1,s: 42,860,137 msg/sec tbb::spin_mutex, 1,i: 43,671,449 msg/sec tbb::spin_mutex, 2,s: 9,443,956 msg/sec tbb::spin_mutex, 2,i: 8,976,050 msg/sec tbb::spin_mutex, 3,s: 5,466,764 msg/sec tbb::spin_mutex, 3,i: 5,719,487 msg/sec tbb::spin_mutex, 4,s: 3,639,683 msg/sec tbb::spin_mutex, 4,i: 3,619,651 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 367.32 System time (seconds): 22.97 Percent of CPU this job got: 485% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:20.34 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52600 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15544 Voluntary context switches: 2657738 Involuntary context switches: 87 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 11:06:54 [31/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000137 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000129 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000123 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000187 sec/round-trip tbb::concurrent_bounded_queue: 0.000000342 sec/round-trip xenium::michael_scott_queue: 0.000000303 sec/round-trip xenium::ramalhete_queue: 0.000000160 sec/round-trip xenium::vyukov_bounded_queue: 0.000000163 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000583 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 171,389,763 msg/sec boost::lockfree::spsc_queue, 1,i: 160,344,243 msg/sec AtomicQueue, 1,s: 87,877,131 msg/sec AtomicQueue, 1,i: 90,857,286 msg/sec AtomicQueue, 2,s: 8,547,200 msg/sec AtomicQueue, 2,i: 8,657,472 msg/sec AtomicQueue, 3,s: 6,538,804 msg/sec AtomicQueue, 3,i: 6,682,720 msg/sec AtomicQueue, 4,s: 4,945,522 msg/sec AtomicQueue, 4,i: 5,173,603 msg/sec OptimistAtomicQueue, 1,s: 862,996,524 msg/sec OptimistAtomicQueue, 1,i: 853,849,247 msg/sec OptimistAtomicQueue, 2,s: 35,334,172 msg/sec OptimistAtomicQueue, 2,i: 37,828,793 msg/sec OptimistAtomicQueue, 3,s: 41,432,554 msg/sec OptimistAtomicQueue, 3,i: 42,446,875 msg/sec OptimistAtomicQueue, 4,s: 39,604,907 msg/sec OptimistAtomicQueue, 4,i: 39,342,527 msg/sec AtomicQueueB, 1,s: 53,088,651 msg/sec AtomicQueueB, 1,i: 45,914,443 msg/sec AtomicQueueB, 2,s: 8,472,103 msg/sec AtomicQueueB, 2,i: 8,633,406 msg/sec AtomicQueueB, 3,s: 6,144,561 msg/sec AtomicQueueB, 3,i: 6,302,764 msg/sec AtomicQueueB, 4,s: 4,774,528 msg/sec AtomicQueueB, 4,i: 4,910,958 msg/sec OptimistAtomicQueueB, 1,s: 600,788,539 msg/sec OptimistAtomicQueueB, 1,i: 687,323,536 msg/sec OptimistAtomicQueueB, 2,s: 35,985,038 msg/sec OptimistAtomicQueueB, 2,i: 36,849,892 msg/sec OptimistAtomicQueueB, 3,s: 40,135,612 msg/sec OptimistAtomicQueueB, 3,i: 40,954,673 msg/sec OptimistAtomicQueueB, 4,s: 39,510,729 msg/sec OptimistAtomicQueueB, 4,i: 37,310,813 msg/sec AtomicQueue2, 1,s: 56,879,976 msg/sec AtomicQueue2, 1,i: 59,399,901 msg/sec AtomicQueue2, 2,s: 8,216,592 msg/sec AtomicQueue2, 2,i: 8,358,148 msg/sec AtomicQueue2, 3,s: 6,253,849 msg/sec AtomicQueue2, 3,i: 6,345,679 msg/sec AtomicQueue2, 4,s: 4,757,105 msg/sec AtomicQueue2, 4,i: 4,904,158 msg/sec OptimistAtomicQueue2, 1,s: 99,003,802 msg/sec OptimistAtomicQueue2, 1,i: 103,548,660 msg/sec OptimistAtomicQueue2, 2,s: 34,593,047 msg/sec OptimistAtomicQueue2, 2,i: 39,434,206 msg/sec OptimistAtomicQueue2, 3,s: 39,191,950 msg/sec OptimistAtomicQueue2, 3,i: 33,828,994 msg/sec OptimistAtomicQueue2, 4,s: 38,435,160 msg/sec OptimistAtomicQueue2, 4,i: 36,351,644 msg/sec AtomicQueueB2, 1,s: 69,219,513 msg/sec AtomicQueueB2, 1,i: 72,176,094 msg/sec AtomicQueueB2, 2,s: 8,237,669 msg/sec AtomicQueueB2, 2,i: 7,961,254 msg/sec AtomicQueueB2, 3,s: 6,178,224 msg/sec AtomicQueueB2, 3,i: 6,343,482 msg/sec AtomicQueueB2, 4,s: 4,696,519 msg/sec AtomicQueueB2, 4,i: 4,889,185 msg/sec OptimistAtomicQueueB2, 1,s: 92,484,590 msg/sec OptimistAtomicQueueB2, 1,i: 110,299,838 msg/sec OptimistAtomicQueueB2, 2,s: 36,407,774 msg/sec OptimistAtomicQueueB2, 2,i: 38,079,603 msg/sec OptimistAtomicQueueB2, 3,s: 39,688,565 msg/sec OptimistAtomicQueueB2, 3,i: 35,854,380 msg/sec OptimistAtomicQueueB2, 4,s: 37,586,445 msg/sec OptimistAtomicQueueB2, 4,i: 37,291,046 msg/sec moodycamel::ReaderWriterQueue, 1,s: 386,927,076 msg/sec moodycamel::ReaderWriterQueue, 1,i: 381,741,548 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,748,977 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,751,183 msg/sec moodycamel::ConcurrentQueue, 2,s: 27,629,301 msg/sec moodycamel::ConcurrentQueue, 2,i: 24,312,284 msg/sec moodycamel::ConcurrentQueue, 3,s: 35,503,293 msg/sec moodycamel::ConcurrentQueue, 3,i: 36,936,042 msg/sec moodycamel::ConcurrentQueue, 4,s: 55,582,286 msg/sec moodycamel::ConcurrentQueue, 4,i: 79,027,526 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,745,200 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,731,969 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,415,382 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,428,353 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,754,841 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,836,534 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,408,999 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,455,911 msg/sec xenium::michael_scott_queue, 1,s: 11,666,878 msg/sec xenium::michael_scott_queue, 1,i: 11,560,784 msg/sec xenium::michael_scott_queue, 2,s: 7,273,603 msg/sec xenium::michael_scott_queue, 2,i: 6,978,710 msg/sec xenium::michael_scott_queue, 3,s: 5,032,240 msg/sec xenium::michael_scott_queue, 3,i: 5,005,267 msg/sec xenium::michael_scott_queue, 4,s: 3,804,172 msg/sec xenium::michael_scott_queue, 4,i: 3,679,750 msg/sec xenium::ramalhete_queue, 1,s: 56,798,374 msg/sec xenium::ramalhete_queue, 1,i: 56,964,348 msg/sec xenium::ramalhete_queue, 2,s: 46,430,781 msg/sec xenium::ramalhete_queue, 2,i: 24,851,508 msg/sec xenium::ramalhete_queue, 3,s: 29,345,281 msg/sec xenium::ramalhete_queue, 3,i: 28,908,500 msg/sec xenium::ramalhete_queue, 4,s: 31,827,398 msg/sec xenium::ramalhete_queue, 4,i: 29,637,555 msg/sec xenium::vyukov_bounded_queue, 1,s: 205,635,300 msg/sec xenium::vyukov_bounded_queue, 1,i: 228,175,016 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,993,005 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,842,976 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,323,304 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,091,251 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,397,021 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,156,967 msg/sec boost::lockfree::queue, 1,s: 7,002,484 msg/sec boost::lockfree::queue, 1,i: 7,064,801 msg/sec boost::lockfree::queue, 2,s: 4,253,048 msg/sec boost::lockfree::queue, 2,i: 4,326,278 msg/sec boost::lockfree::queue, 3,s: 3,492,631 msg/sec boost::lockfree::queue, 3,i: 3,447,022 msg/sec boost::lockfree::queue, 4,s: 2,765,671 msg/sec boost::lockfree::queue, 4,i: 2,739,462 msg/sec std::mutex, 1,s: 2,838,664 msg/sec std::mutex, 1,i: 2,937,432 msg/sec std::mutex, 2,s: 9,610,436 msg/sec std::mutex, 2,i: 9,378,904 msg/sec std::mutex, 3,s: 4,655,610 msg/sec std::mutex, 3,i: 4,749,872 msg/sec std::mutex, 4,s: 4,388,856 msg/sec std::mutex, 4,i: 4,253,503 msg/sec pthread_spinlock, 1,s: 15,492,097 msg/sec pthread_spinlock, 1,i: 15,570,926 msg/sec pthread_spinlock, 2,s: 9,886,543 msg/sec pthread_spinlock, 2,i: 5,528,216 msg/sec pthread_spinlock, 3,s: 465,492 msg/sec pthread_spinlock, 3,i: 10,667,308 msg/sec pthread_spinlock, 4,s: 762,570 msg/sec pthread_spinlock, 4,i: 570,366 msg/sec tbb::spin_mutex, 1,s: 44,255,663 msg/sec tbb::spin_mutex, 1,i: 44,165,385 msg/sec tbb::spin_mutex, 2,s: 9,269,117 msg/sec tbb::spin_mutex, 2,i: 8,790,898 msg/sec tbb::spin_mutex, 3,s: 5,434,830 msg/sec tbb::spin_mutex, 3,i: 5,384,621 msg/sec tbb::spin_mutex, 4,s: 3,530,606 msg/sec tbb::spin_mutex, 4,i: 3,617,026 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 366.70 System time (seconds): 22.99 Percent of CPU this job got: 482% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:20.72 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 52480 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15506 Voluntary context switches: 2653521 Involuntary context switches: 103 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 11:08:15 [32/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000128 sec/round-trip AtomicQueue2: 0.000000140 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000145 sec/round-trip OptimistAtomicQueueB2: 0.000000115 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000188 sec/round-trip tbb::concurrent_bounded_queue: 0.000000354 sec/round-trip xenium::michael_scott_queue: 0.000000303 sec/round-trip xenium::ramalhete_queue: 0.000000159 sec/round-trip xenium::vyukov_bounded_queue: 0.000000160 sec/round-trip boost::lockfree::queue: 0.000000261 sec/round-trip std::mutex: 0.000000595 sec/round-trip pthread_spinlock: 0.000000279 sec/round-trip tbb::spin_mutex: 0.000000247 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 155,584,480 msg/sec boost::lockfree::spsc_queue, 1,i: 163,743,985 msg/sec AtomicQueue, 1,s: 100,468,981 msg/sec AtomicQueue, 1,i: 90,989,729 msg/sec AtomicQueue, 2,s: 8,452,369 msg/sec AtomicQueue, 2,i: 8,648,875 msg/sec AtomicQueue, 3,s: 6,496,336 msg/sec AtomicQueue, 3,i: 6,659,376 msg/sec AtomicQueue, 4,s: 4,932,443 msg/sec AtomicQueue, 4,i: 5,148,383 msg/sec OptimistAtomicQueue, 1,s: 858,978,441 msg/sec OptimistAtomicQueue, 1,i: 922,747,654 msg/sec OptimistAtomicQueue, 2,s: 35,991,240 msg/sec OptimistAtomicQueue, 2,i: 38,250,126 msg/sec OptimistAtomicQueue, 3,s: 41,021,716 msg/sec OptimistAtomicQueue, 3,i: 36,783,461 msg/sec OptimistAtomicQueue, 4,s: 39,689,401 msg/sec OptimistAtomicQueue, 4,i: 38,660,035 msg/sec AtomicQueueB, 1,s: 54,639,744 msg/sec AtomicQueueB, 1,i: 55,996,405 msg/sec AtomicQueueB, 2,s: 8,621,099 msg/sec AtomicQueueB, 2,i: 8,614,148 msg/sec AtomicQueueB, 3,s: 6,109,105 msg/sec AtomicQueueB, 3,i: 6,338,767 msg/sec AtomicQueueB, 4,s: 4,787,015 msg/sec AtomicQueueB, 4,i: 4,926,971 msg/sec OptimistAtomicQueueB, 1,s: 357,276,069 msg/sec OptimistAtomicQueueB, 1,i: 558,740,875 msg/sec OptimistAtomicQueueB, 2,s: 34,949,943 msg/sec OptimistAtomicQueueB, 2,i: 42,893,273 msg/sec OptimistAtomicQueueB, 3,s: 40,880,463 msg/sec OptimistAtomicQueueB, 3,i: 36,072,311 msg/sec OptimistAtomicQueueB, 4,s: 39,403,225 msg/sec OptimistAtomicQueueB, 4,i: 36,722,810 msg/sec AtomicQueue2, 1,s: 58,404,006 msg/sec AtomicQueue2, 1,i: 62,353,501 msg/sec AtomicQueue2, 2,s: 8,240,066 msg/sec AtomicQueue2, 2,i: 8,457,821 msg/sec AtomicQueue2, 3,s: 6,246,420 msg/sec AtomicQueue2, 3,i: 6,332,721 msg/sec AtomicQueue2, 4,s: 4,786,965 msg/sec AtomicQueue2, 4,i: 5,063,461 msg/sec OptimistAtomicQueue2, 1,s: 101,266,940 msg/sec OptimistAtomicQueue2, 1,i: 104,805,937 msg/sec OptimistAtomicQueue2, 2,s: 33,870,266 msg/sec OptimistAtomicQueue2, 2,i: 39,084,350 msg/sec OptimistAtomicQueue2, 3,s: 39,450,152 msg/sec OptimistAtomicQueue2, 3,i: 33,948,950 msg/sec OptimistAtomicQueue2, 4,s: 38,619,557 msg/sec OptimistAtomicQueue2, 4,i: 36,098,502 msg/sec AtomicQueueB2, 1,s: 66,690,053 msg/sec AtomicQueueB2, 1,i: 70,763,790 msg/sec AtomicQueueB2, 2,s: 8,315,773 msg/sec AtomicQueueB2, 2,i: 8,074,079 msg/sec AtomicQueueB2, 3,s: 6,179,662 msg/sec AtomicQueueB2, 3,i: 6,309,043 msg/sec AtomicQueueB2, 4,s: 4,671,972 msg/sec AtomicQueueB2, 4,i: 4,883,428 msg/sec OptimistAtomicQueueB2, 1,s: 89,013,370 msg/sec OptimistAtomicQueueB2, 1,i: 93,067,298 msg/sec OptimistAtomicQueueB2, 2,s: 35,229,085 msg/sec OptimistAtomicQueueB2, 2,i: 37,927,895 msg/sec OptimistAtomicQueueB2, 3,s: 39,911,196 msg/sec OptimistAtomicQueueB2, 3,i: 37,049,155 msg/sec OptimistAtomicQueueB2, 4,s: 37,832,478 msg/sec OptimistAtomicQueueB2, 4,i: 37,687,225 msg/sec moodycamel::ReaderWriterQueue, 1,s: 361,167,501 msg/sec moodycamel::ReaderWriterQueue, 1,i: 363,520,808 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,884,560 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,806,686 msg/sec moodycamel::ConcurrentQueue, 2,s: 30,538,329 msg/sec moodycamel::ConcurrentQueue, 2,i: 30,835,226 msg/sec moodycamel::ConcurrentQueue, 3,s: 43,965,053 msg/sec moodycamel::ConcurrentQueue, 3,i: 38,394,415 msg/sec moodycamel::ConcurrentQueue, 4,s: 57,915,721 msg/sec moodycamel::ConcurrentQueue, 4,i: 62,837,097 msg/sec tbb::concurrent_bounded_queue, 1,s: 7,948,033 msg/sec tbb::concurrent_bounded_queue, 1,i: 7,730,435 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,377,937 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,382,671 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,751,709 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,829,155 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,397,584 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,472,175 msg/sec xenium::michael_scott_queue, 1,s: 11,345,274 msg/sec xenium::michael_scott_queue, 1,i: 11,308,937 msg/sec xenium::michael_scott_queue, 2,s: 7,404,417 msg/sec xenium::michael_scott_queue, 2,i: 6,985,202 msg/sec xenium::michael_scott_queue, 3,s: 5,046,797 msg/sec xenium::michael_scott_queue, 3,i: 5,024,883 msg/sec xenium::michael_scott_queue, 4,s: 3,798,011 msg/sec xenium::michael_scott_queue, 4,i: 3,692,391 msg/sec xenium::ramalhete_queue, 1,s: 19,773,579 msg/sec xenium::ramalhete_queue, 1,i: 19,444,025 msg/sec xenium::ramalhete_queue, 2,s: 45,237,505 msg/sec xenium::ramalhete_queue, 2,i: 26,955,742 msg/sec xenium::ramalhete_queue, 3,s: 31,069,988 msg/sec xenium::ramalhete_queue, 3,i: 28,238,754 msg/sec xenium::ramalhete_queue, 4,s: 30,681,649 msg/sec xenium::ramalhete_queue, 4,i: 31,891,864 msg/sec xenium::vyukov_bounded_queue, 1,s: 208,784,910 msg/sec xenium::vyukov_bounded_queue, 1,i: 243,812,413 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,996,727 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,908,866 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,302,862 msg/sec xenium::vyukov_bounded_queue, 3,i: 9,971,739 msg/sec xenium::vyukov_bounded_queue, 4,s: 10,667,881 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,080,297 msg/sec boost::lockfree::queue, 1,s: 7,045,208 msg/sec boost::lockfree::queue, 1,i: 7,011,835 msg/sec boost::lockfree::queue, 2,s: 4,285,619 msg/sec boost::lockfree::queue, 2,i: 4,347,780 msg/sec boost::lockfree::queue, 3,s: 3,455,472 msg/sec boost::lockfree::queue, 3,i: 3,437,129 msg/sec boost::lockfree::queue, 4,s: 2,742,737 msg/sec boost::lockfree::queue, 4,i: 2,742,832 msg/sec std::mutex, 1,s: 5,251,500 msg/sec std::mutex, 1,i: 4,426,024 msg/sec std::mutex, 2,s: 9,462,895 msg/sec std::mutex, 2,i: 9,389,246 msg/sec std::mutex, 3,s: 4,607,869 msg/sec std::mutex, 3,i: 4,555,154 msg/sec std::mutex, 4,s: 4,365,132 msg/sec std::mutex, 4,i: 4,157,579 msg/sec pthread_spinlock, 1,s: 15,550,597 msg/sec pthread_spinlock, 1,i: 15,697,504 msg/sec pthread_spinlock, 2,s: 9,574,669 msg/sec pthread_spinlock, 2,i: 5,858,052 msg/sec pthread_spinlock, 3,s: 392,007 msg/sec pthread_spinlock, 3,i: 9,659,892 msg/sec pthread_spinlock, 4,s: 2,015,915 msg/sec pthread_spinlock, 4,i: 538,507 msg/sec tbb::spin_mutex, 1,s: 45,179,759 msg/sec tbb::spin_mutex, 1,i: 44,544,226 msg/sec tbb::spin_mutex, 2,s: 9,202,339 msg/sec tbb::spin_mutex, 2,i: 8,877,267 msg/sec tbb::spin_mutex, 3,s: 5,829,314 msg/sec tbb::spin_mutex, 3,i: 5,640,567 msg/sec tbb::spin_mutex, 4,s: 3,530,273 msg/sec tbb::spin_mutex, 4,i: 3,739,606 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 356.40 System time (seconds): 22.47 Percent of CPU this job got: 484% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.18 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 50936 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 15116 Voluntary context switches: 2642547 Involuntary context switches: 105 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 11:09:33 [33/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 8 available CPUs: [0,2,4,6,8,10,12,14]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000161 sec/round-trip AtomicQueue: 0.000000146 sec/round-trip OptimistAtomicQueue: 0.000000139 sec/round-trip AtomicQueueB: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000100 sec/round-trip AtomicQueue2: 0.000000141 sec/round-trip OptimistAtomicQueue2: 0.000000119 sec/round-trip AtomicQueueB2: 0.000000147 sec/round-trip OptimistAtomicQueueB2: 0.000000117 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000189 sec/round-trip tbb::concurrent_bounded_queue: 0.000000340 sec/round-trip xenium::michael_scott_queue: 0.000000302 sec/round-trip xenium::ramalhete_queue: 0.000000158 sec/round-trip xenium::vyukov_bounded_queue: 0.000000165 sec/round-trip boost::lockfree::queue: 0.000000260 sec/round-trip std::mutex: 0.000000560 sec/round-trip pthread_spinlock: 0.000000280 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip ---- Running throughput benchmarks with up to 8 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 169,512,856 msg/sec boost::lockfree::spsc_queue, 1,i: 162,631,128 msg/sec AtomicQueue, 1,s: 96,092,340 msg/sec AtomicQueue, 1,i: 95,184,826 msg/sec AtomicQueue, 2,s: 8,551,703 msg/sec AtomicQueue, 2,i: 8,494,583 msg/sec AtomicQueue, 3,s: 6,556,231 msg/sec AtomicQueue, 3,i: 6,698,359 msg/sec AtomicQueue, 4,s: 4,887,746 msg/sec AtomicQueue, 4,i: 5,132,071 msg/sec OptimistAtomicQueue, 1,s: 1,425,720,653 msg/sec OptimistAtomicQueue, 1,i: 844,722,232 msg/sec OptimistAtomicQueue, 2,s: 36,548,426 msg/sec OptimistAtomicQueue, 2,i: 37,643,233 msg/sec OptimistAtomicQueue, 3,s: 41,496,583 msg/sec OptimistAtomicQueue, 3,i: 37,095,007 msg/sec OptimistAtomicQueue, 4,s: 39,588,507 msg/sec OptimistAtomicQueue, 4,i: 39,598,386 msg/sec AtomicQueueB, 1,s: 47,315,984 msg/sec AtomicQueueB, 1,i: 51,603,333 msg/sec AtomicQueueB, 2,s: 8,084,091 msg/sec AtomicQueueB, 2,i: 8,365,195 msg/sec AtomicQueueB, 3,s: 6,143,979 msg/sec AtomicQueueB, 3,i: 6,499,475 msg/sec AtomicQueueB, 4,s: 4,759,320 msg/sec AtomicQueueB, 4,i: 4,927,978 msg/sec OptimistAtomicQueueB, 1,s: 361,889,050 msg/sec OptimistAtomicQueueB, 1,i: 557,078,670 msg/sec OptimistAtomicQueueB, 2,s: 35,132,361 msg/sec OptimistAtomicQueueB, 2,i: 37,955,140 msg/sec OptimistAtomicQueueB, 3,s: 40,425,850 msg/sec OptimistAtomicQueueB, 3,i: 36,459,542 msg/sec OptimistAtomicQueueB, 4,s: 39,407,737 msg/sec OptimistAtomicQueueB, 4,i: 36,795,266 msg/sec AtomicQueue2, 1,s: 58,107,440 msg/sec AtomicQueue2, 1,i: 61,286,470 msg/sec AtomicQueue2, 2,s: 8,406,539 msg/sec AtomicQueue2, 2,i: 8,464,278 msg/sec AtomicQueue2, 3,s: 6,238,586 msg/sec AtomicQueue2, 3,i: 6,315,288 msg/sec AtomicQueue2, 4,s: 4,804,549 msg/sec AtomicQueue2, 4,i: 4,984,923 msg/sec OptimistAtomicQueue2, 1,s: 99,842,048 msg/sec OptimistAtomicQueue2, 1,i: 103,582,081 msg/sec OptimistAtomicQueue2, 2,s: 33,568,098 msg/sec OptimistAtomicQueue2, 2,i: 39,895,211 msg/sec OptimistAtomicQueue2, 3,s: 39,292,872 msg/sec OptimistAtomicQueue2, 3,i: 34,337,634 msg/sec OptimistAtomicQueue2, 4,s: 38,888,785 msg/sec OptimistAtomicQueue2, 4,i: 36,246,060 msg/sec AtomicQueueB2, 1,s: 66,587,409 msg/sec AtomicQueueB2, 1,i: 73,586,952 msg/sec AtomicQueueB2, 2,s: 8,107,500 msg/sec AtomicQueueB2, 2,i: 8,353,674 msg/sec AtomicQueueB2, 3,s: 6,174,286 msg/sec AtomicQueueB2, 3,i: 6,359,911 msg/sec AtomicQueueB2, 4,s: 4,771,462 msg/sec AtomicQueueB2, 4,i: 4,911,469 msg/sec OptimistAtomicQueueB2, 1,s: 99,558,908 msg/sec OptimistAtomicQueueB2, 1,i: 94,768,545 msg/sec OptimistAtomicQueueB2, 2,s: 35,305,737 msg/sec OptimistAtomicQueueB2, 2,i: 38,417,230 msg/sec OptimistAtomicQueueB2, 3,s: 39,831,621 msg/sec OptimistAtomicQueueB2, 3,i: 35,950,360 msg/sec OptimistAtomicQueueB2, 4,s: 37,978,262 msg/sec OptimistAtomicQueueB2, 4,i: 37,479,488 msg/sec moodycamel::ReaderWriterQueue, 1,s: 746,838,569 msg/sec moodycamel::ReaderWriterQueue, 1,i: 440,739,563 msg/sec moodycamel::ConcurrentQueue, 1,s: 14,955,330 msg/sec moodycamel::ConcurrentQueue, 1,i: 14,693,973 msg/sec moodycamel::ConcurrentQueue, 2,s: 30,097,655 msg/sec moodycamel::ConcurrentQueue, 2,i: 28,094,690 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,928,323 msg/sec moodycamel::ConcurrentQueue, 3,i: 40,369,749 msg/sec moodycamel::ConcurrentQueue, 4,s: 62,718,048 msg/sec moodycamel::ConcurrentQueue, 4,i: 61,236,798 msg/sec tbb::concurrent_bounded_queue, 1,s: 8,082,252 msg/sec tbb::concurrent_bounded_queue, 1,i: 8,146,838 msg/sec tbb::concurrent_bounded_queue, 2,s: 8,319,372 msg/sec tbb::concurrent_bounded_queue, 2,i: 8,393,370 msg/sec tbb::concurrent_bounded_queue, 3,s: 5,760,661 msg/sec tbb::concurrent_bounded_queue, 3,i: 5,834,397 msg/sec tbb::concurrent_bounded_queue, 4,s: 4,405,181 msg/sec tbb::concurrent_bounded_queue, 4,i: 4,463,575 msg/sec xenium::michael_scott_queue, 1,s: 11,782,925 msg/sec xenium::michael_scott_queue, 1,i: 11,903,450 msg/sec xenium::michael_scott_queue, 2,s: 7,411,149 msg/sec xenium::michael_scott_queue, 2,i: 7,049,188 msg/sec xenium::michael_scott_queue, 3,s: 5,065,683 msg/sec xenium::michael_scott_queue, 3,i: 5,028,965 msg/sec xenium::michael_scott_queue, 4,s: 3,773,419 msg/sec xenium::michael_scott_queue, 4,i: 3,652,657 msg/sec xenium::ramalhete_queue, 1,s: 56,435,275 msg/sec xenium::ramalhete_queue, 1,i: 55,885,945 msg/sec xenium::ramalhete_queue, 2,s: 47,088,646 msg/sec xenium::ramalhete_queue, 2,i: 26,959,791 msg/sec xenium::ramalhete_queue, 3,s: 31,110,567 msg/sec xenium::ramalhete_queue, 3,i: 30,677,222 msg/sec xenium::ramalhete_queue, 4,s: 32,470,059 msg/sec xenium::ramalhete_queue, 4,i: 30,080,112 msg/sec xenium::vyukov_bounded_queue, 1,s: 216,354,772 msg/sec xenium::vyukov_bounded_queue, 1,i: 241,675,888 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,976,834 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,281,106 msg/sec xenium::vyukov_bounded_queue, 3,s: 9,314,741 msg/sec xenium::vyukov_bounded_queue, 3,i: 10,528,599 msg/sec xenium::vyukov_bounded_queue, 4,s: 11,016,809 msg/sec xenium::vyukov_bounded_queue, 4,i: 10,235,101 msg/sec boost::lockfree::queue, 1,s: 7,088,920 msg/sec boost::lockfree::queue, 1,i: 7,058,347 msg/sec boost::lockfree::queue, 2,s: 4,251,309 msg/sec boost::lockfree::queue, 2,i: 4,313,256 msg/sec boost::lockfree::queue, 3,s: 3,453,485 msg/sec boost::lockfree::queue, 3,i: 3,435,305 msg/sec boost::lockfree::queue, 4,s: 2,770,363 msg/sec boost::lockfree::queue, 4,i: 2,762,502 msg/sec std::mutex, 1,s: 4,022,741 msg/sec std::mutex, 1,i: 2,918,804 msg/sec std::mutex, 2,s: 10,192,254 msg/sec std::mutex, 2,i: 9,852,636 msg/sec std::mutex, 3,s: 4,407,089 msg/sec std::mutex, 3,i: 4,409,284 msg/sec std::mutex, 4,s: 4,389,619 msg/sec std::mutex, 4,i: 4,173,985 msg/sec pthread_spinlock, 1,s: 15,690,530 msg/sec pthread_spinlock, 1,i: 15,526,379 msg/sec pthread_spinlock, 2,s: 9,309,075 msg/sec pthread_spinlock, 2,i: 5,681,932 msg/sec pthread_spinlock, 3,s: 371,687 msg/sec pthread_spinlock, 3,i: 9,067,357 msg/sec pthread_spinlock, 4,s: 703,450 msg/sec pthread_spinlock, 4,i: 971,521 msg/sec tbb::spin_mutex, 1,s: 43,319,935 msg/sec tbb::spin_mutex, 1,i: 41,517,921 msg/sec tbb::spin_mutex, 2,s: 9,268,693 msg/sec tbb::spin_mutex, 2,i: 8,826,680 msg/sec tbb::spin_mutex, 3,s: 5,445,327 msg/sec tbb::spin_mutex, 3,i: 5,469,218 msg/sec tbb::spin_mutex, 4,s: 3,556,669 msg/sec tbb::spin_mutex, 4,i: 3,794,448 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 356.16 System time (seconds): 22.93 Percent of CPU this job got: 481% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.70 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 48124 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 14437 Voluntary context switches: 2689219 Involuntary context switches: 86 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 max0x7ba-atomic_queue-40624b8/results/adea692.ryzen_5825u.smt1.20260913T091954.gcc-14.16.33.txt000066400000000000000000023443511525237550500275700ustar00rootroot00000000000000 2026-09-13 09:19:54 [1/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000058 sec/round-trip AtomicQueue: 0.000000046 sec/round-trip OptimistAtomicQueue: 0.000000036 sec/round-trip AtomicQueueB: 0.000000051 sec/round-trip OptimistAtomicQueueB: 0.000000038 sec/round-trip AtomicQueue2: 0.000000048 sec/round-trip OptimistAtomicQueue2: 0.000000041 sec/round-trip AtomicQueueB2: 0.000000051 sec/round-trip OptimistAtomicQueueB2: 0.000000042 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000048 sec/round-trip moodycamel::ConcurrentQueue: 0.000000070 sec/round-trip tbb::concurrent_bounded_queue: 0.000000095 sec/round-trip xenium::michael_scott_queue: 0.000000147 sec/round-trip xenium::ramalhete_queue: 0.000000064 sec/round-trip xenium::vyukov_bounded_queue: 0.000000068 sec/round-trip boost::lockfree::queue: 0.000000103 sec/round-trip std::mutex: 0.000000360 sec/round-trip pthread_spinlock: 0.000000115 sec/round-trip tbb::spin_mutex: 0.000000104 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 157,093,930 msg/sec boost::lockfree::spsc_queue, 1,i: 155,381,748 msg/sec AtomicQueue, 1,s: 115,122,610 msg/sec AtomicQueue, 1,i: 115,538,799 msg/sec AtomicQueue, 2,s: 13,268,807 msg/sec AtomicQueue, 2,i: 10,596,011 msg/sec AtomicQueue, 3,s: 10,428,849 msg/sec AtomicQueue, 3,i: 8,452,937 msg/sec AtomicQueue, 4,s: 8,279,548 msg/sec AtomicQueue, 4,i: 6,466,480 msg/sec AtomicQueue, 5,s: 6,310,843 msg/sec AtomicQueue, 5,i: 5,284,598 msg/sec AtomicQueue, 6,s: 5,554,891 msg/sec AtomicQueue, 6,i: 4,369,272 msg/sec AtomicQueue, 7,s: 4,898,298 msg/sec AtomicQueue, 7,i: 4,019,204 msg/sec AtomicQueue, 8,s: 4,305,592 msg/sec AtomicQueue, 8,i: 3,506,907 msg/sec OptimistAtomicQueue, 1,s: 917,050,268 msg/sec OptimistAtomicQueue, 1,i: 923,533,167 msg/sec OptimistAtomicQueue, 2,s: 100,198,673 msg/sec OptimistAtomicQueue, 2,i: 44,943,522 msg/sec OptimistAtomicQueue, 3,s: 62,674,222 msg/sec OptimistAtomicQueue, 3,i: 50,412,226 msg/sec OptimistAtomicQueue, 4,s: 67,387,427 msg/sec OptimistAtomicQueue, 4,i: 49,898,038 msg/sec OptimistAtomicQueue, 5,s: 60,265,240 msg/sec OptimistAtomicQueue, 5,i: 46,672,281 msg/sec OptimistAtomicQueue, 6,s: 61,125,836 msg/sec OptimistAtomicQueue, 6,i: 44,704,164 msg/sec OptimistAtomicQueue, 7,s: 58,938,303 msg/sec OptimistAtomicQueue, 7,i: 46,908,099 msg/sec OptimistAtomicQueue, 8,s: 61,021,747 msg/sec OptimistAtomicQueue, 8,i: 45,185,363 msg/sec AtomicQueueB, 1,s: 79,564,777 msg/sec AtomicQueueB, 1,i: 80,637,642 msg/sec AtomicQueueB, 2,s: 12,828,424 msg/sec AtomicQueueB, 2,i: 10,413,194 msg/sec AtomicQueueB, 3,s: 10,224,289 msg/sec AtomicQueueB, 3,i: 8,383,754 msg/sec AtomicQueueB, 4,s: 8,148,047 msg/sec AtomicQueueB, 4,i: 6,394,670 msg/sec AtomicQueueB, 5,s: 6,220,288 msg/sec AtomicQueueB, 5,i: 5,223,900 msg/sec AtomicQueueB, 6,s: 5,491,147 msg/sec AtomicQueueB, 6,i: 4,348,131 msg/sec AtomicQueueB, 7,s: 4,874,941 msg/sec AtomicQueueB, 7,i: 3,975,114 msg/sec AtomicQueueB, 8,s: 4,288,696 msg/sec AtomicQueueB, 8,i: 3,459,270 msg/sec OptimistAtomicQueueB, 1,s: 461,026,454 msg/sec OptimistAtomicQueueB, 1,i: 473,726,678 msg/sec OptimistAtomicQueueB, 2,s: 100,811,775 msg/sec OptimistAtomicQueueB, 2,i: 43,904,471 msg/sec OptimistAtomicQueueB, 3,s: 60,912,790 msg/sec OptimistAtomicQueueB, 3,i: 51,005,190 msg/sec OptimistAtomicQueueB, 4,s: 65,482,189 msg/sec OptimistAtomicQueueB, 4,i: 49,516,759 msg/sec OptimistAtomicQueueB, 5,s: 60,171,757 msg/sec OptimistAtomicQueueB, 5,i: 46,465,517 msg/sec OptimistAtomicQueueB, 6,s: 59,751,891 msg/sec OptimistAtomicQueueB, 6,i: 44,904,566 msg/sec OptimistAtomicQueueB, 7,s: 58,856,628 msg/sec OptimistAtomicQueueB, 7,i: 46,091,915 msg/sec OptimistAtomicQueueB, 8,s: 59,516,114 msg/sec OptimistAtomicQueueB, 8,i: 44,724,107 msg/sec AtomicQueue2, 1,s: 107,603,705 msg/sec AtomicQueue2, 1,i: 110,698,525 msg/sec AtomicQueue2, 2,s: 12,099,378 msg/sec AtomicQueue2, 2,i: 10,451,813 msg/sec AtomicQueue2, 3,s: 9,946,981 msg/sec AtomicQueue2, 3,i: 8,441,526 msg/sec AtomicQueue2, 4,s: 7,969,783 msg/sec AtomicQueue2, 4,i: 6,504,259 msg/sec AtomicQueue2, 5,s: 6,145,778 msg/sec AtomicQueue2, 5,i: 5,198,470 msg/sec AtomicQueue2, 6,s: 5,386,802 msg/sec AtomicQueue2, 6,i: 4,383,450 msg/sec AtomicQueue2, 7,s: 4,705,735 msg/sec AtomicQueue2, 7,i: 3,990,441 msg/sec AtomicQueue2, 8,s: 4,189,962 msg/sec AtomicQueue2, 8,i: 3,480,342 msg/sec OptimistAtomicQueue2, 1,s: 417,514,798 msg/sec OptimistAtomicQueue2, 1,i: 416,422,593 msg/sec OptimistAtomicQueue2, 2,s: 35,331,720 msg/sec OptimistAtomicQueue2, 2,i: 28,743,495 msg/sec OptimistAtomicQueue2, 3,s: 41,816,110 msg/sec OptimistAtomicQueue2, 3,i: 40,441,902 msg/sec OptimistAtomicQueue2, 4,s: 55,284,757 msg/sec OptimistAtomicQueue2, 4,i: 42,433,490 msg/sec OptimistAtomicQueue2, 5,s: 56,312,019 msg/sec OptimistAtomicQueue2, 5,i: 43,405,352 msg/sec OptimistAtomicQueue2, 6,s: 56,355,151 msg/sec OptimistAtomicQueue2, 6,i: 42,962,485 msg/sec OptimistAtomicQueue2, 7,s: 55,978,965 msg/sec OptimistAtomicQueue2, 7,i: 44,087,693 msg/sec OptimistAtomicQueue2, 8,s: 58,924,727 msg/sec OptimistAtomicQueue2, 8,i: 43,526,820 msg/sec AtomicQueueB2, 1,s: 80,835,855 msg/sec AtomicQueueB2, 1,i: 82,122,790 msg/sec AtomicQueueB2, 2,s: 11,653,095 msg/sec AtomicQueueB2, 2,i: 10,141,543 msg/sec AtomicQueueB2, 3,s: 9,950,133 msg/sec AtomicQueueB2, 3,i: 8,286,198 msg/sec AtomicQueueB2, 4,s: 7,870,513 msg/sec AtomicQueueB2, 4,i: 6,329,977 msg/sec AtomicQueueB2, 5,s: 6,061,946 msg/sec AtomicQueueB2, 5,i: 5,140,805 msg/sec AtomicQueueB2, 6,s: 5,249,352 msg/sec AtomicQueueB2, 6,i: 4,282,163 msg/sec AtomicQueueB2, 7,s: 4,696,083 msg/sec AtomicQueueB2, 7,i: 3,921,912 msg/sec AtomicQueueB2, 8,s: 4,135,794 msg/sec AtomicQueueB2, 8,i: 3,406,722 msg/sec OptimistAtomicQueueB2, 1,s: 126,033,877 msg/sec OptimistAtomicQueueB2, 1,i: 133,295,138 msg/sec OptimistAtomicQueueB2, 2,s: 36,184,930 msg/sec OptimistAtomicQueueB2, 2,i: 29,355,631 msg/sec OptimistAtomicQueueB2, 3,s: 42,433,701 msg/sec OptimistAtomicQueueB2, 3,i: 37,634,835 msg/sec OptimistAtomicQueueB2, 4,s: 55,332,969 msg/sec OptimistAtomicQueueB2, 4,i: 42,435,980 msg/sec OptimistAtomicQueueB2, 5,s: 55,659,218 msg/sec OptimistAtomicQueueB2, 5,i: 44,224,856 msg/sec OptimistAtomicQueueB2, 6,s: 56,992,468 msg/sec OptimistAtomicQueueB2, 6,i: 43,020,688 msg/sec OptimistAtomicQueueB2, 7,s: 55,650,986 msg/sec OptimistAtomicQueueB2, 7,i: 43,173,827 msg/sec OptimistAtomicQueueB2, 8,s: 57,523,817 msg/sec OptimistAtomicQueueB2, 8,i: 42,708,337 msg/sec moodycamel::ReaderWriterQueue, 1,s: 561,046,217 msg/sec moodycamel::ReaderWriterQueue, 1,i: 583,412,245 msg/sec moodycamel::ConcurrentQueue, 1,s: 34,928,625 msg/sec moodycamel::ConcurrentQueue, 1,i: 34,831,901 msg/sec moodycamel::ConcurrentQueue, 2,s: 32,937,025 msg/sec moodycamel::ConcurrentQueue, 2,i: 40,957,095 msg/sec moodycamel::ConcurrentQueue, 3,s: 43,481,909 msg/sec moodycamel::ConcurrentQueue, 3,i: 54,057,280 msg/sec moodycamel::ConcurrentQueue, 4,s: 83,308,223 msg/sec moodycamel::ConcurrentQueue, 4,i: 96,981,787 msg/sec moodycamel::ConcurrentQueue, 5,s: 152,936,562 msg/sec moodycamel::ConcurrentQueue, 5,i: 162,560,140 msg/sec moodycamel::ConcurrentQueue, 6,s: 184,121,619 msg/sec moodycamel::ConcurrentQueue, 6,i: 183,028,680 msg/sec moodycamel::ConcurrentQueue, 7,s: 177,269,738 msg/sec moodycamel::ConcurrentQueue, 7,i: 203,641,525 msg/sec moodycamel::ConcurrentQueue, 8,s: 182,233,972 msg/sec moodycamel::ConcurrentQueue, 8,i: 229,461,274 msg/sec tbb::concurrent_bounded_queue, 1,s: 24,503,042 msg/sec tbb::concurrent_bounded_queue, 1,i: 24,419,173 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,134,178 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,290,604 msg/sec tbb::concurrent_bounded_queue, 3,s: 9,151,834 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,733,159 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,430,649 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,427,254 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,355,895 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,374,574 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,284,904 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,464,257 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,604,432 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,852,193 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,866,161 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,359,806 msg/sec xenium::michael_scott_queue, 1,s: 20,636,959 msg/sec xenium::michael_scott_queue, 1,i: 19,835,464 msg/sec xenium::michael_scott_queue, 2,s: 11,967,955 msg/sec xenium::michael_scott_queue, 2,i: 8,515,355 msg/sec xenium::michael_scott_queue, 3,s: 7,941,344 msg/sec xenium::michael_scott_queue, 3,i: 6,832,005 msg/sec xenium::michael_scott_queue, 4,s: 6,168,472 msg/sec xenium::michael_scott_queue, 4,i: 5,119,643 msg/sec xenium::michael_scott_queue, 5,s: 4,701,844 msg/sec xenium::michael_scott_queue, 5,i: 4,107,147 msg/sec xenium::michael_scott_queue, 6,s: 4,058,041 msg/sec xenium::michael_scott_queue, 6,i: 3,384,944 msg/sec xenium::michael_scott_queue, 7,s: 3,580,228 msg/sec xenium::michael_scott_queue, 7,i: 3,029,965 msg/sec xenium::michael_scott_queue, 8,s: 3,158,353 msg/sec xenium::michael_scott_queue, 8,i: 2,634,722 msg/sec xenium::ramalhete_queue, 1,s: 38,243,311 msg/sec xenium::ramalhete_queue, 1,i: 38,244,015 msg/sec xenium::ramalhete_queue, 2,s: 52,906,185 msg/sec xenium::ramalhete_queue, 2,i: 31,816,562 msg/sec xenium::ramalhete_queue, 3,s: 43,236,851 msg/sec xenium::ramalhete_queue, 3,i: 33,331,062 msg/sec xenium::ramalhete_queue, 4,s: 38,027,489 msg/sec xenium::ramalhete_queue, 4,i: 37,806,053 msg/sec xenium::ramalhete_queue, 5,s: 36,785,218 msg/sec xenium::ramalhete_queue, 5,i: 38,239,619 msg/sec xenium::ramalhete_queue, 6,s: 36,258,418 msg/sec xenium::ramalhete_queue, 6,i: 38,396,276 msg/sec xenium::ramalhete_queue, 7,s: 35,392,621 msg/sec xenium::ramalhete_queue, 7,i: 36,399,893 msg/sec xenium::ramalhete_queue, 8,s: 34,701,822 msg/sec xenium::ramalhete_queue, 8,i: 35,722,224 msg/sec xenium::vyukov_bounded_queue, 1,s: 125,101,213 msg/sec xenium::vyukov_bounded_queue, 1,i: 138,956,334 msg/sec xenium::vyukov_bounded_queue, 2,s: 44,421,291 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,439,964 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,987,013 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,290,076 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,839,468 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,947,819 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,682,817 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,872,653 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,758,629 msg/sec xenium::vyukov_bounded_queue, 6,i: 10,034,971 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,730,348 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,978,867 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,782,546 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,697,807 msg/sec boost::lockfree::queue, 1,s: 16,866,267 msg/sec boost::lockfree::queue, 1,i: 16,739,694 msg/sec boost::lockfree::queue, 2,s: 5,687,939 msg/sec boost::lockfree::queue, 2,i: 6,172,736 msg/sec boost::lockfree::queue, 3,s: 5,571,938 msg/sec boost::lockfree::queue, 3,i: 5,591,523 msg/sec boost::lockfree::queue, 4,s: 4,183,614 msg/sec boost::lockfree::queue, 4,i: 4,189,005 msg/sec boost::lockfree::queue, 5,s: 3,468,223 msg/sec boost::lockfree::queue, 5,i: 3,435,050 msg/sec boost::lockfree::queue, 6,s: 2,298,853 msg/sec boost::lockfree::queue, 6,i: 2,479,108 msg/sec boost::lockfree::queue, 7,s: 2,118,501 msg/sec boost::lockfree::queue, 7,i: 2,145,582 msg/sec boost::lockfree::queue, 8,s: 1,706,204 msg/sec boost::lockfree::queue, 8,i: 1,876,057 msg/sec std::mutex, 1,s: 14,516,881 msg/sec std::mutex, 1,i: 14,441,934 msg/sec std::mutex, 2,s: 9,090,112 msg/sec std::mutex, 2,i: 9,451,377 msg/sec std::mutex, 3,s: 5,527,983 msg/sec std::mutex, 3,i: 5,622,079 msg/sec std::mutex, 4,s: 4,499,414 msg/sec std::mutex, 4,i: 4,596,771 msg/sec std::mutex, 5,s: 3,855,518 msg/sec std::mutex, 5,i: 3,932,423 msg/sec std::mutex, 6,s: 3,735,198 msg/sec std::mutex, 6,i: 3,818,554 msg/sec std::mutex, 7,s: 3,824,194 msg/sec std::mutex, 7,i: 3,837,806 msg/sec std::mutex, 8,s: 3,639,670 msg/sec std::mutex, 8,i: 3,627,098 msg/sec pthread_spinlock, 1,s: 34,325,838 msg/sec pthread_spinlock, 1,i: 33,983,027 msg/sec pthread_spinlock, 2,s: 10,931,208 msg/sec pthread_spinlock, 2,i: 10,724,000 msg/sec pthread_spinlock, 3,s: 9,695,684 msg/sec pthread_spinlock, 3,i: 8,799,943 msg/sec pthread_spinlock, 4,s: 7,418,617 msg/sec pthread_spinlock, 4,i: 7,642,544 msg/sec pthread_spinlock, 5,s: 6,780,633 msg/sec pthread_spinlock, 5,i: 7,155,543 msg/sec pthread_spinlock, 6,s: 5,322,982 msg/sec pthread_spinlock, 6,i: 5,730,397 msg/sec pthread_spinlock, 7,s: 2,414,928 msg/sec pthread_spinlock, 7,i: 4,069,915 msg/sec pthread_spinlock, 8,s: 3,028,487 msg/sec pthread_spinlock, 8,i: 4,798,458 msg/sec tbb::spin_mutex, 1,s: 86,520,341 msg/sec tbb::spin_mutex, 1,i: 87,642,857 msg/sec tbb::spin_mutex, 2,s: 19,104,366 msg/sec tbb::spin_mutex, 2,i: 17,846,826 msg/sec tbb::spin_mutex, 3,s: 11,613,336 msg/sec tbb::spin_mutex, 3,i: 10,884,222 msg/sec tbb::spin_mutex, 4,s: 7,415,538 msg/sec tbb::spin_mutex, 4,i: 7,528,366 msg/sec tbb::spin_mutex, 5,s: 5,634,321 msg/sec tbb::spin_mutex, 5,i: 5,824,679 msg/sec tbb::spin_mutex, 6,s: 4,324,179 msg/sec tbb::spin_mutex, 6,i: 4,648,474 msg/sec tbb::spin_mutex, 7,s: 3,715,864 msg/sec tbb::spin_mutex, 7,i: 3,828,105 msg/sec tbb::spin_mutex, 8,s: 2,993,632 msg/sec tbb::spin_mutex, 8,i: 3,128,556 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 975.82 System time (seconds): 111.73 Percent of CPU this job got: 913% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:58.99 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 67060 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 1 Minor (reclaiming a frame) page faults: 25368 Voluntary context switches: 8413446 Involuntary context switches: 284 Swaps: 0 File system inputs: 256 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:21:53 [2/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000058 sec/round-trip AtomicQueue: 0.000000047 sec/round-trip OptimistAtomicQueue: 0.000000037 sec/round-trip AtomicQueueB: 0.000000052 sec/round-trip OptimistAtomicQueueB: 0.000000039 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000042 sec/round-trip AtomicQueueB2: 0.000000051 sec/round-trip OptimistAtomicQueueB2: 0.000000043 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000071 sec/round-trip tbb::concurrent_bounded_queue: 0.000000098 sec/round-trip xenium::michael_scott_queue: 0.000000150 sec/round-trip xenium::ramalhete_queue: 0.000000064 sec/round-trip xenium::vyukov_bounded_queue: 0.000000068 sec/round-trip boost::lockfree::queue: 0.000000104 sec/round-trip std::mutex: 0.000000369 sec/round-trip pthread_spinlock: 0.000000115 sec/round-trip tbb::spin_mutex: 0.000000104 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 154,812,721 msg/sec boost::lockfree::spsc_queue, 1,i: 151,240,423 msg/sec AtomicQueue, 1,s: 112,537,434 msg/sec AtomicQueue, 1,i: 113,164,441 msg/sec AtomicQueue, 2,s: 12,974,905 msg/sec AtomicQueue, 2,i: 10,257,257 msg/sec AtomicQueue, 3,s: 10,105,489 msg/sec AtomicQueue, 3,i: 8,316,884 msg/sec AtomicQueue, 4,s: 8,087,877 msg/sec AtomicQueue, 4,i: 6,379,781 msg/sec AtomicQueue, 5,s: 6,207,369 msg/sec AtomicQueue, 5,i: 5,136,271 msg/sec AtomicQueue, 6,s: 5,368,795 msg/sec AtomicQueue, 6,i: 4,283,400 msg/sec AtomicQueue, 7,s: 4,816,266 msg/sec AtomicQueue, 7,i: 3,928,475 msg/sec AtomicQueue, 8,s: 4,292,614 msg/sec AtomicQueue, 8,i: 3,405,861 msg/sec OptimistAtomicQueue, 1,s: 903,003,709 msg/sec OptimistAtomicQueue, 1,i: 896,522,919 msg/sec OptimistAtomicQueue, 2,s: 98,391,280 msg/sec OptimistAtomicQueue, 2,i: 44,380,937 msg/sec OptimistAtomicQueue, 3,s: 60,822,886 msg/sec OptimistAtomicQueue, 3,i: 51,754,406 msg/sec OptimistAtomicQueue, 4,s: 67,196,199 msg/sec OptimistAtomicQueue, 4,i: 49,191,324 msg/sec OptimistAtomicQueue, 5,s: 58,355,073 msg/sec OptimistAtomicQueue, 5,i: 45,877,468 msg/sec OptimistAtomicQueue, 6,s: 59,849,885 msg/sec OptimistAtomicQueue, 6,i: 44,550,141 msg/sec OptimistAtomicQueue, 7,s: 57,695,244 msg/sec OptimistAtomicQueue, 7,i: 45,593,251 msg/sec OptimistAtomicQueue, 8,s: 60,172,809 msg/sec OptimistAtomicQueue, 8,i: 44,273,881 msg/sec AtomicQueueB, 1,s: 78,475,387 msg/sec AtomicQueueB, 1,i: 79,414,613 msg/sec AtomicQueueB, 2,s: 12,543,791 msg/sec AtomicQueueB, 2,i: 10,138,942 msg/sec AtomicQueueB, 3,s: 10,097,602 msg/sec AtomicQueueB, 3,i: 8,291,064 msg/sec AtomicQueueB, 4,s: 8,014,156 msg/sec AtomicQueueB, 4,i: 6,369,350 msg/sec AtomicQueueB, 5,s: 6,147,233 msg/sec AtomicQueueB, 5,i: 5,120,645 msg/sec AtomicQueueB, 6,s: 5,332,500 msg/sec AtomicQueueB, 6,i: 4,236,211 msg/sec AtomicQueueB, 7,s: 4,730,638 msg/sec AtomicQueueB, 7,i: 3,877,498 msg/sec AtomicQueueB, 8,s: 4,207,278 msg/sec AtomicQueueB, 8,i: 3,368,484 msg/sec OptimistAtomicQueueB, 1,s: 451,171,222 msg/sec OptimistAtomicQueueB, 1,i: 468,162,651 msg/sec OptimistAtomicQueueB, 2,s: 100,051,725 msg/sec OptimistAtomicQueueB, 2,i: 43,316,175 msg/sec OptimistAtomicQueueB, 3,s: 60,329,691 msg/sec OptimistAtomicQueueB, 3,i: 49,372,097 msg/sec OptimistAtomicQueueB, 4,s: 65,069,967 msg/sec OptimistAtomicQueueB, 4,i: 48,671,291 msg/sec OptimistAtomicQueueB, 5,s: 58,501,329 msg/sec OptimistAtomicQueueB, 5,i: 44,575,977 msg/sec OptimistAtomicQueueB, 6,s: 58,882,121 msg/sec OptimistAtomicQueueB, 6,i: 44,350,971 msg/sec OptimistAtomicQueueB, 7,s: 57,807,220 msg/sec OptimistAtomicQueueB, 7,i: 45,187,169 msg/sec OptimistAtomicQueueB, 8,s: 58,479,563 msg/sec OptimistAtomicQueueB, 8,i: 43,138,002 msg/sec AtomicQueue2, 1,s: 105,094,408 msg/sec AtomicQueue2, 1,i: 110,741,144 msg/sec AtomicQueue2, 2,s: 11,607,741 msg/sec AtomicQueue2, 2,i: 10,195,933 msg/sec AtomicQueue2, 3,s: 9,685,094 msg/sec AtomicQueue2, 3,i: 8,242,505 msg/sec AtomicQueue2, 4,s: 7,797,818 msg/sec AtomicQueue2, 4,i: 6,345,417 msg/sec AtomicQueue2, 5,s: 6,079,623 msg/sec AtomicQueue2, 5,i: 5,113,131 msg/sec AtomicQueue2, 6,s: 5,250,465 msg/sec AtomicQueue2, 6,i: 4,293,151 msg/sec AtomicQueue2, 7,s: 4,659,708 msg/sec AtomicQueue2, 7,i: 3,925,739 msg/sec AtomicQueue2, 8,s: 4,126,692 msg/sec AtomicQueue2, 8,i: 3,393,713 msg/sec OptimistAtomicQueue2, 1,s: 399,394,160 msg/sec OptimistAtomicQueue2, 1,i: 426,333,775 msg/sec OptimistAtomicQueue2, 2,s: 35,381,494 msg/sec OptimistAtomicQueue2, 2,i: 27,978,401 msg/sec OptimistAtomicQueue2, 3,s: 41,825,923 msg/sec OptimistAtomicQueue2, 3,i: 39,991,137 msg/sec OptimistAtomicQueue2, 4,s: 53,289,588 msg/sec OptimistAtomicQueue2, 4,i: 43,326,893 msg/sec OptimistAtomicQueue2, 5,s: 56,717,393 msg/sec OptimistAtomicQueue2, 5,i: 43,091,944 msg/sec OptimistAtomicQueue2, 6,s: 55,504,536 msg/sec OptimistAtomicQueue2, 6,i: 42,195,610 msg/sec OptimistAtomicQueue2, 7,s: 55,212,303 msg/sec OptimistAtomicQueue2, 7,i: 42,710,805 msg/sec OptimistAtomicQueue2, 8,s: 56,624,915 msg/sec OptimistAtomicQueue2, 8,i: 41,728,159 msg/sec AtomicQueueB2, 1,s: 79,343,401 msg/sec AtomicQueueB2, 1,i: 82,042,459 msg/sec AtomicQueueB2, 2,s: 11,480,183 msg/sec AtomicQueueB2, 2,i: 10,215,085 msg/sec AtomicQueueB2, 3,s: 9,795,338 msg/sec AtomicQueueB2, 3,i: 8,198,960 msg/sec AtomicQueueB2, 4,s: 7,760,965 msg/sec AtomicQueueB2, 4,i: 6,258,702 msg/sec AtomicQueueB2, 5,s: 6,023,665 msg/sec AtomicQueueB2, 5,i: 5,057,772 msg/sec AtomicQueueB2, 6,s: 5,166,785 msg/sec AtomicQueueB2, 6,i: 4,195,119 msg/sec AtomicQueueB2, 7,s: 4,582,242 msg/sec AtomicQueueB2, 7,i: 3,840,032 msg/sec AtomicQueueB2, 8,s: 4,077,816 msg/sec AtomicQueueB2, 8,i: 3,348,062 msg/sec OptimistAtomicQueueB2, 1,s: 126,659,078 msg/sec OptimistAtomicQueueB2, 1,i: 130,770,995 msg/sec OptimistAtomicQueueB2, 2,s: 35,272,373 msg/sec OptimistAtomicQueueB2, 2,i: 29,197,347 msg/sec OptimistAtomicQueueB2, 3,s: 42,129,389 msg/sec OptimistAtomicQueueB2, 3,i: 36,113,033 msg/sec OptimistAtomicQueueB2, 4,s: 53,975,552 msg/sec OptimistAtomicQueueB2, 4,i: 42,193,884 msg/sec OptimistAtomicQueueB2, 5,s: 55,631,638 msg/sec OptimistAtomicQueueB2, 5,i: 42,504,037 msg/sec OptimistAtomicQueueB2, 6,s: 55,545,711 msg/sec OptimistAtomicQueueB2, 6,i: 41,311,379 msg/sec OptimistAtomicQueueB2, 7,s: 55,449,346 msg/sec OptimistAtomicQueueB2, 7,i: 43,270,708 msg/sec OptimistAtomicQueueB2, 8,s: 56,297,377 msg/sec OptimistAtomicQueueB2, 8,i: 41,303,569 msg/sec moodycamel::ReaderWriterQueue, 1,s: 547,021,523 msg/sec moodycamel::ReaderWriterQueue, 1,i: 564,556,089 msg/sec moodycamel::ConcurrentQueue, 1,s: 34,623,744 msg/sec moodycamel::ConcurrentQueue, 1,i: 34,521,055 msg/sec moodycamel::ConcurrentQueue, 2,s: 32,623,653 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,713,938 msg/sec moodycamel::ConcurrentQueue, 3,s: 46,162,655 msg/sec moodycamel::ConcurrentQueue, 3,i: 55,944,321 msg/sec moodycamel::ConcurrentQueue, 4,s: 90,215,811 msg/sec moodycamel::ConcurrentQueue, 4,i: 100,188,112 msg/sec moodycamel::ConcurrentQueue, 5,s: 161,317,903 msg/sec moodycamel::ConcurrentQueue, 5,i: 162,286,307 msg/sec moodycamel::ConcurrentQueue, 6,s: 156,697,657 msg/sec moodycamel::ConcurrentQueue, 6,i: 194,890,359 msg/sec moodycamel::ConcurrentQueue, 7,s: 193,119,939 msg/sec moodycamel::ConcurrentQueue, 7,i: 203,272,823 msg/sec moodycamel::ConcurrentQueue, 8,s: 210,726,667 msg/sec moodycamel::ConcurrentQueue, 8,i: 191,312,732 msg/sec tbb::concurrent_bounded_queue, 1,s: 23,818,353 msg/sec tbb::concurrent_bounded_queue, 1,i: 23,609,233 msg/sec tbb::concurrent_bounded_queue, 2,s: 10,972,417 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,149,317 msg/sec tbb::concurrent_bounded_queue, 3,s: 9,078,236 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,622,881 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,349,719 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,436,630 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,116,197 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,272,713 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,199,211 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,425,928 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,553,726 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,815,569 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,808,871 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,309,162 msg/sec xenium::michael_scott_queue, 1,s: 19,986,323 msg/sec xenium::michael_scott_queue, 1,i: 19,804,344 msg/sec xenium::michael_scott_queue, 2,s: 12,843,251 msg/sec xenium::michael_scott_queue, 2,i: 8,487,189 msg/sec xenium::michael_scott_queue, 3,s: 7,875,667 msg/sec xenium::michael_scott_queue, 3,i: 6,802,699 msg/sec xenium::michael_scott_queue, 4,s: 6,158,325 msg/sec xenium::michael_scott_queue, 4,i: 5,165,429 msg/sec xenium::michael_scott_queue, 5,s: 4,727,861 msg/sec xenium::michael_scott_queue, 5,i: 4,081,792 msg/sec xenium::michael_scott_queue, 6,s: 4,016,912 msg/sec xenium::michael_scott_queue, 6,i: 3,358,565 msg/sec xenium::michael_scott_queue, 7,s: 3,592,517 msg/sec xenium::michael_scott_queue, 7,i: 3,018,438 msg/sec xenium::michael_scott_queue, 8,s: 3,179,511 msg/sec xenium::michael_scott_queue, 8,i: 2,626,102 msg/sec xenium::ramalhete_queue, 1,s: 38,595,259 msg/sec xenium::ramalhete_queue, 1,i: 37,664,186 msg/sec xenium::ramalhete_queue, 2,s: 50,990,991 msg/sec xenium::ramalhete_queue, 2,i: 31,402,209 msg/sec xenium::ramalhete_queue, 3,s: 42,840,630 msg/sec xenium::ramalhete_queue, 3,i: 32,747,788 msg/sec xenium::ramalhete_queue, 4,s: 38,201,726 msg/sec xenium::ramalhete_queue, 4,i: 35,426,465 msg/sec xenium::ramalhete_queue, 5,s: 36,756,201 msg/sec xenium::ramalhete_queue, 5,i: 37,596,568 msg/sec xenium::ramalhete_queue, 6,s: 36,413,200 msg/sec xenium::ramalhete_queue, 6,i: 37,219,921 msg/sec xenium::ramalhete_queue, 7,s: 35,293,801 msg/sec xenium::ramalhete_queue, 7,i: 36,202,590 msg/sec xenium::ramalhete_queue, 8,s: 34,165,731 msg/sec xenium::ramalhete_queue, 8,i: 35,310,096 msg/sec xenium::vyukov_bounded_queue, 1,s: 126,078,136 msg/sec xenium::vyukov_bounded_queue, 1,i: 137,212,797 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,000,991 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,253,211 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,456,261 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,193,336 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,590,231 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,500,752 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,954,518 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,815,067 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,561,452 msg/sec xenium::vyukov_bounded_queue, 6,i: 10,052,775 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,381,123 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,919,873 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,709,629 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,284,109 msg/sec boost::lockfree::queue, 1,s: 16,682,431 msg/sec boost::lockfree::queue, 1,i: 16,567,291 msg/sec boost::lockfree::queue, 2,s: 5,653,145 msg/sec boost::lockfree::queue, 2,i: 6,118,741 msg/sec boost::lockfree::queue, 3,s: 5,530,864 msg/sec boost::lockfree::queue, 3,i: 5,550,486 msg/sec boost::lockfree::queue, 4,s: 4,129,276 msg/sec boost::lockfree::queue, 4,i: 4,137,155 msg/sec boost::lockfree::queue, 5,s: 3,431,396 msg/sec boost::lockfree::queue, 5,i: 3,361,499 msg/sec boost::lockfree::queue, 6,s: 2,278,384 msg/sec boost::lockfree::queue, 6,i: 2,454,302 msg/sec boost::lockfree::queue, 7,s: 2,097,902 msg/sec boost::lockfree::queue, 7,i: 2,117,311 msg/sec boost::lockfree::queue, 8,s: 1,676,611 msg/sec boost::lockfree::queue, 8,i: 1,852,065 msg/sec std::mutex, 1,s: 14,066,019 msg/sec std::mutex, 1,i: 14,062,008 msg/sec std::mutex, 2,s: 9,145,258 msg/sec std::mutex, 2,i: 9,254,112 msg/sec std::mutex, 3,s: 5,437,389 msg/sec std::mutex, 3,i: 5,545,834 msg/sec std::mutex, 4,s: 4,280,744 msg/sec std::mutex, 4,i: 4,345,732 msg/sec std::mutex, 5,s: 3,757,688 msg/sec std::mutex, 5,i: 3,881,049 msg/sec std::mutex, 6,s: 3,780,745 msg/sec std::mutex, 6,i: 3,889,420 msg/sec std::mutex, 7,s: 3,920,103 msg/sec std::mutex, 7,i: 3,785,191 msg/sec std::mutex, 8,s: 3,583,542 msg/sec std::mutex, 8,i: 3,671,919 msg/sec pthread_spinlock, 1,s: 34,166,749 msg/sec pthread_spinlock, 1,i: 34,323,560 msg/sec pthread_spinlock, 2,s: 11,084,973 msg/sec pthread_spinlock, 2,i: 10,439,760 msg/sec pthread_spinlock, 3,s: 9,327,327 msg/sec pthread_spinlock, 3,i: 8,721,628 msg/sec pthread_spinlock, 4,s: 7,552,414 msg/sec pthread_spinlock, 4,i: 7,753,013 msg/sec pthread_spinlock, 5,s: 6,727,978 msg/sec pthread_spinlock, 5,i: 6,916,877 msg/sec pthread_spinlock, 6,s: 5,302,159 msg/sec pthread_spinlock, 6,i: 5,592,599 msg/sec pthread_spinlock, 7,s: 2,689,669 msg/sec pthread_spinlock, 7,i: 4,730,088 msg/sec pthread_spinlock, 8,s: 3,068,091 msg/sec pthread_spinlock, 8,i: 4,763,404 msg/sec tbb::spin_mutex, 1,s: 85,577,027 msg/sec tbb::spin_mutex, 1,i: 83,791,923 msg/sec tbb::spin_mutex, 2,s: 18,925,690 msg/sec tbb::spin_mutex, 2,i: 17,991,393 msg/sec tbb::spin_mutex, 3,s: 11,409,317 msg/sec tbb::spin_mutex, 3,i: 10,876,286 msg/sec tbb::spin_mutex, 4,s: 7,419,799 msg/sec tbb::spin_mutex, 4,i: 7,234,178 msg/sec tbb::spin_mutex, 5,s: 5,526,678 msg/sec tbb::spin_mutex, 5,i: 5,710,956 msg/sec tbb::spin_mutex, 6,s: 4,425,635 msg/sec tbb::spin_mutex, 6,i: 4,505,255 msg/sec tbb::spin_mutex, 7,s: 3,763,731 msg/sec tbb::spin_mutex, 7,i: 3,781,379 msg/sec tbb::spin_mutex, 8,s: 3,048,605 msg/sec tbb::spin_mutex, 8,i: 3,101,497 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 974.16 System time (seconds): 112.97 Percent of CPU this job got: 913% Elapsed (wall clock) time (h:mm:ss or m:ss): 1:59.02 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 64364 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24721 Voluntary context switches: 8233251 Involuntary context switches: 264 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:23:52 [3/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000058 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000037 sec/round-trip AtomicQueueB: 0.000000052 sec/round-trip OptimistAtomicQueueB: 0.000000038 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000043 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000044 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000072 sec/round-trip tbb::concurrent_bounded_queue: 0.000000098 sec/round-trip xenium::michael_scott_queue: 0.000000153 sec/round-trip xenium::ramalhete_queue: 0.000000066 sec/round-trip xenium::vyukov_bounded_queue: 0.000000068 sec/round-trip boost::lockfree::queue: 0.000000105 sec/round-trip std::mutex: 0.000000376 sec/round-trip pthread_spinlock: 0.000000116 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 152,004,666 msg/sec boost::lockfree::spsc_queue, 1,i: 145,974,011 msg/sec AtomicQueue, 1,s: 109,717,596 msg/sec AtomicQueue, 1,i: 109,413,539 msg/sec AtomicQueue, 2,s: 12,983,609 msg/sec AtomicQueue, 2,i: 10,347,863 msg/sec AtomicQueue, 3,s: 10,172,708 msg/sec AtomicQueue, 3,i: 8,253,167 msg/sec AtomicQueue, 4,s: 8,072,295 msg/sec AtomicQueue, 4,i: 6,304,498 msg/sec AtomicQueue, 5,s: 6,280,891 msg/sec AtomicQueue, 5,i: 5,090,722 msg/sec AtomicQueue, 6,s: 5,343,747 msg/sec AtomicQueue, 6,i: 4,223,921 msg/sec AtomicQueue, 7,s: 4,732,511 msg/sec AtomicQueue, 7,i: 3,887,614 msg/sec AtomicQueue, 8,s: 4,171,377 msg/sec AtomicQueue, 8,i: 3,372,427 msg/sec OptimistAtomicQueue, 1,s: 882,305,102 msg/sec OptimistAtomicQueue, 1,i: 888,889,878 msg/sec OptimistAtomicQueue, 2,s: 95,371,461 msg/sec OptimistAtomicQueue, 2,i: 43,815,311 msg/sec OptimistAtomicQueue, 3,s: 60,480,087 msg/sec OptimistAtomicQueue, 3,i: 49,331,686 msg/sec OptimistAtomicQueue, 4,s: 65,242,401 msg/sec OptimistAtomicQueue, 4,i: 48,195,023 msg/sec OptimistAtomicQueue, 5,s: 58,291,954 msg/sec OptimistAtomicQueue, 5,i: 44,760,490 msg/sec OptimistAtomicQueue, 6,s: 58,352,563 msg/sec OptimistAtomicQueue, 6,i: 44,175,951 msg/sec OptimistAtomicQueue, 7,s: 58,209,489 msg/sec OptimistAtomicQueue, 7,i: 45,429,991 msg/sec OptimistAtomicQueue, 8,s: 58,855,094 msg/sec OptimistAtomicQueue, 8,i: 43,682,783 msg/sec AtomicQueueB, 1,s: 77,304,141 msg/sec AtomicQueueB, 1,i: 80,970,093 msg/sec AtomicQueueB, 2,s: 12,412,418 msg/sec AtomicQueueB, 2,i: 10,076,657 msg/sec AtomicQueueB, 3,s: 9,638,338 msg/sec AtomicQueueB, 3,i: 8,167,036 msg/sec AtomicQueueB, 4,s: 7,935,107 msg/sec AtomicQueueB, 4,i: 6,231,231 msg/sec AtomicQueueB, 5,s: 6,178,732 msg/sec AtomicQueueB, 5,i: 5,126,876 msg/sec AtomicQueueB, 6,s: 5,281,177 msg/sec AtomicQueueB, 6,i: 4,197,676 msg/sec AtomicQueueB, 7,s: 4,686,509 msg/sec AtomicQueueB, 7,i: 3,832,260 msg/sec AtomicQueueB, 8,s: 4,162,983 msg/sec AtomicQueueB, 8,i: 3,305,573 msg/sec OptimistAtomicQueueB, 1,s: 443,439,859 msg/sec OptimistAtomicQueueB, 1,i: 454,083,884 msg/sec OptimistAtomicQueueB, 2,s: 98,610,878 msg/sec OptimistAtomicQueueB, 2,i: 46,128,427 msg/sec OptimistAtomicQueueB, 3,s: 65,412,068 msg/sec OptimistAtomicQueueB, 3,i: 50,113,448 msg/sec OptimistAtomicQueueB, 4,s: 65,011,138 msg/sec OptimistAtomicQueueB, 4,i: 47,997,395 msg/sec OptimistAtomicQueueB, 5,s: 58,247,356 msg/sec OptimistAtomicQueueB, 5,i: 44,603,487 msg/sec OptimistAtomicQueueB, 6,s: 58,479,748 msg/sec OptimistAtomicQueueB, 6,i: 43,373,448 msg/sec OptimistAtomicQueueB, 7,s: 57,140,861 msg/sec OptimistAtomicQueueB, 7,i: 44,331,824 msg/sec OptimistAtomicQueueB, 8,s: 57,428,131 msg/sec OptimistAtomicQueueB, 8,i: 42,857,928 msg/sec AtomicQueue2, 1,s: 102,809,707 msg/sec AtomicQueue2, 1,i: 109,358,034 msg/sec AtomicQueue2, 2,s: 11,516,922 msg/sec AtomicQueue2, 2,i: 10,075,427 msg/sec AtomicQueue2, 3,s: 9,726,225 msg/sec AtomicQueue2, 3,i: 8,223,691 msg/sec AtomicQueue2, 4,s: 7,751,867 msg/sec AtomicQueue2, 4,i: 6,358,128 msg/sec AtomicQueue2, 5,s: 6,082,718 msg/sec AtomicQueue2, 5,i: 5,106,430 msg/sec AtomicQueue2, 6,s: 5,239,171 msg/sec AtomicQueue2, 6,i: 4,266,850 msg/sec AtomicQueue2, 7,s: 4,595,859 msg/sec AtomicQueue2, 7,i: 3,882,087 msg/sec AtomicQueue2, 8,s: 4,048,579 msg/sec AtomicQueue2, 8,i: 3,376,491 msg/sec OptimistAtomicQueue2, 1,s: 393,115,971 msg/sec OptimistAtomicQueue2, 1,i: 404,494,428 msg/sec OptimistAtomicQueue2, 2,s: 35,453,924 msg/sec OptimistAtomicQueue2, 2,i: 29,739,942 msg/sec OptimistAtomicQueue2, 3,s: 43,577,667 msg/sec OptimistAtomicQueue2, 3,i: 36,299,429 msg/sec OptimistAtomicQueue2, 4,s: 53,112,212 msg/sec OptimistAtomicQueue2, 4,i: 41,446,166 msg/sec OptimistAtomicQueue2, 5,s: 55,603,900 msg/sec OptimistAtomicQueue2, 5,i: 42,662,662 msg/sec OptimistAtomicQueue2, 6,s: 54,720,136 msg/sec OptimistAtomicQueue2, 6,i: 42,162,046 msg/sec OptimistAtomicQueue2, 7,s: 55,415,081 msg/sec OptimistAtomicQueue2, 7,i: 42,866,339 msg/sec OptimistAtomicQueue2, 8,s: 56,306,428 msg/sec OptimistAtomicQueue2, 8,i: 41,376,906 msg/sec AtomicQueueB2, 1,s: 78,939,085 msg/sec AtomicQueueB2, 1,i: 82,133,400 msg/sec AtomicQueueB2, 2,s: 11,532,546 msg/sec AtomicQueueB2, 2,i: 10,149,209 msg/sec AtomicQueueB2, 3,s: 9,706,388 msg/sec AtomicQueueB2, 3,i: 8,096,599 msg/sec AtomicQueueB2, 4,s: 7,709,678 msg/sec AtomicQueueB2, 4,i: 6,202,584 msg/sec AtomicQueueB2, 5,s: 5,996,023 msg/sec AtomicQueueB2, 5,i: 5,056,135 msg/sec AtomicQueueB2, 6,s: 5,133,288 msg/sec AtomicQueueB2, 6,i: 4,167,119 msg/sec AtomicQueueB2, 7,s: 4,535,384 msg/sec AtomicQueueB2, 7,i: 3,791,371 msg/sec AtomicQueueB2, 8,s: 3,990,491 msg/sec AtomicQueueB2, 8,i: 3,289,726 msg/sec OptimistAtomicQueueB2, 1,s: 135,281,409 msg/sec OptimistAtomicQueueB2, 1,i: 133,114,164 msg/sec OptimistAtomicQueueB2, 2,s: 35,414,624 msg/sec OptimistAtomicQueueB2, 2,i: 28,944,290 msg/sec OptimistAtomicQueueB2, 3,s: 41,683,577 msg/sec OptimistAtomicQueueB2, 3,i: 35,895,785 msg/sec OptimistAtomicQueueB2, 4,s: 53,422,248 msg/sec OptimistAtomicQueueB2, 4,i: 43,882,369 msg/sec OptimistAtomicQueueB2, 5,s: 55,480,514 msg/sec OptimistAtomicQueueB2, 5,i: 42,830,359 msg/sec OptimistAtomicQueueB2, 6,s: 54,888,986 msg/sec OptimistAtomicQueueB2, 6,i: 42,242,971 msg/sec OptimistAtomicQueueB2, 7,s: 55,583,827 msg/sec OptimistAtomicQueueB2, 7,i: 42,401,945 msg/sec OptimistAtomicQueueB2, 8,s: 55,706,872 msg/sec OptimistAtomicQueueB2, 8,i: 40,923,123 msg/sec moodycamel::ReaderWriterQueue, 1,s: 541,833,599 msg/sec moodycamel::ReaderWriterQueue, 1,i: 554,445,160 msg/sec moodycamel::ConcurrentQueue, 1,s: 34,421,098 msg/sec moodycamel::ConcurrentQueue, 1,i: 33,953,016 msg/sec moodycamel::ConcurrentQueue, 2,s: 33,336,963 msg/sec moodycamel::ConcurrentQueue, 2,i: 45,426,555 msg/sec moodycamel::ConcurrentQueue, 3,s: 47,346,178 msg/sec moodycamel::ConcurrentQueue, 3,i: 61,398,791 msg/sec moodycamel::ConcurrentQueue, 4,s: 82,035,918 msg/sec moodycamel::ConcurrentQueue, 4,i: 104,972,713 msg/sec moodycamel::ConcurrentQueue, 5,s: 158,392,037 msg/sec moodycamel::ConcurrentQueue, 5,i: 173,002,889 msg/sec moodycamel::ConcurrentQueue, 6,s: 167,406,395 msg/sec moodycamel::ConcurrentQueue, 6,i: 197,423,836 msg/sec moodycamel::ConcurrentQueue, 7,s: 209,223,388 msg/sec moodycamel::ConcurrentQueue, 7,i: 166,514,736 msg/sec moodycamel::ConcurrentQueue, 8,s: 203,404,994 msg/sec moodycamel::ConcurrentQueue, 8,i: 210,037,100 msg/sec tbb::concurrent_bounded_queue, 1,s: 23,881,751 msg/sec tbb::concurrent_bounded_queue, 1,i: 23,232,829 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,301,328 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,044,257 msg/sec tbb::concurrent_bounded_queue, 3,s: 9,025,726 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,625,462 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,320,336 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,307,349 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,214,033 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,293,942 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,157,112 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,349,182 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,499,920 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,770,175 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,783,881 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,275,791 msg/sec xenium::michael_scott_queue, 1,s: 19,663,594 msg/sec xenium::michael_scott_queue, 1,i: 18,990,544 msg/sec xenium::michael_scott_queue, 2,s: 12,688,004 msg/sec xenium::michael_scott_queue, 2,i: 8,377,851 msg/sec xenium::michael_scott_queue, 3,s: 7,716,271 msg/sec xenium::michael_scott_queue, 3,i: 6,727,273 msg/sec xenium::michael_scott_queue, 4,s: 6,158,216 msg/sec xenium::michael_scott_queue, 4,i: 5,194,120 msg/sec xenium::michael_scott_queue, 5,s: 4,675,214 msg/sec xenium::michael_scott_queue, 5,i: 4,061,739 msg/sec xenium::michael_scott_queue, 6,s: 3,986,108 msg/sec xenium::michael_scott_queue, 6,i: 3,368,349 msg/sec xenium::michael_scott_queue, 7,s: 3,550,169 msg/sec xenium::michael_scott_queue, 7,i: 3,032,781 msg/sec xenium::michael_scott_queue, 8,s: 3,150,122 msg/sec xenium::michael_scott_queue, 8,i: 2,590,271 msg/sec xenium::ramalhete_queue, 1,s: 51,603,840 msg/sec xenium::ramalhete_queue, 1,i: 46,832,015 msg/sec xenium::ramalhete_queue, 2,s: 52,992,618 msg/sec xenium::ramalhete_queue, 2,i: 29,156,509 msg/sec xenium::ramalhete_queue, 3,s: 39,766,586 msg/sec xenium::ramalhete_queue, 3,i: 31,899,521 msg/sec xenium::ramalhete_queue, 4,s: 37,839,735 msg/sec xenium::ramalhete_queue, 4,i: 34,932,170 msg/sec xenium::ramalhete_queue, 5,s: 36,955,046 msg/sec xenium::ramalhete_queue, 5,i: 36,984,871 msg/sec xenium::ramalhete_queue, 6,s: 35,562,482 msg/sec xenium::ramalhete_queue, 6,i: 37,029,389 msg/sec xenium::ramalhete_queue, 7,s: 34,629,934 msg/sec xenium::ramalhete_queue, 7,i: 35,955,930 msg/sec xenium::ramalhete_queue, 8,s: 34,130,238 msg/sec xenium::ramalhete_queue, 8,i: 34,730,936 msg/sec xenium::vyukov_bounded_queue, 1,s: 124,812,735 msg/sec xenium::vyukov_bounded_queue, 1,i: 136,545,091 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,087,738 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,187,341 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,271,560 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,827,809 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,758,068 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,969,587 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,910,085 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,783,930 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,596,300 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,934,193 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,196,127 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,572,678 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,681,851 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,627,033 msg/sec boost::lockfree::queue, 1,s: 16,306,134 msg/sec boost::lockfree::queue, 1,i: 16,239,716 msg/sec boost::lockfree::queue, 2,s: 5,788,142 msg/sec boost::lockfree::queue, 2,i: 6,141,020 msg/sec boost::lockfree::queue, 3,s: 5,548,907 msg/sec boost::lockfree::queue, 3,i: 5,512,854 msg/sec boost::lockfree::queue, 4,s: 4,122,992 msg/sec boost::lockfree::queue, 4,i: 4,116,245 msg/sec boost::lockfree::queue, 5,s: 3,419,653 msg/sec boost::lockfree::queue, 5,i: 3,349,487 msg/sec boost::lockfree::queue, 6,s: 2,268,195 msg/sec boost::lockfree::queue, 6,i: 2,444,550 msg/sec boost::lockfree::queue, 7,s: 2,046,978 msg/sec boost::lockfree::queue, 7,i: 2,103,652 msg/sec boost::lockfree::queue, 8,s: 1,678,223 msg/sec boost::lockfree::queue, 8,i: 1,844,237 msg/sec std::mutex, 1,s: 13,900,925 msg/sec std::mutex, 1,i: 13,872,259 msg/sec std::mutex, 2,s: 10,967,751 msg/sec std::mutex, 2,i: 9,385,071 msg/sec std::mutex, 3,s: 5,532,593 msg/sec std::mutex, 3,i: 5,688,008 msg/sec std::mutex, 4,s: 4,493,668 msg/sec std::mutex, 4,i: 4,666,165 msg/sec std::mutex, 5,s: 3,820,352 msg/sec std::mutex, 5,i: 3,877,240 msg/sec std::mutex, 6,s: 3,686,130 msg/sec std::mutex, 6,i: 3,796,903 msg/sec std::mutex, 7,s: 3,768,620 msg/sec std::mutex, 7,i: 3,752,929 msg/sec std::mutex, 8,s: 3,518,267 msg/sec std::mutex, 8,i: 3,552,603 msg/sec pthread_spinlock, 1,s: 33,563,515 msg/sec pthread_spinlock, 1,i: 32,831,541 msg/sec pthread_spinlock, 2,s: 10,728,110 msg/sec pthread_spinlock, 2,i: 10,411,812 msg/sec pthread_spinlock, 3,s: 9,285,692 msg/sec pthread_spinlock, 3,i: 8,727,817 msg/sec pthread_spinlock, 4,s: 7,559,188 msg/sec pthread_spinlock, 4,i: 7,556,776 msg/sec pthread_spinlock, 5,s: 6,656,027 msg/sec pthread_spinlock, 5,i: 6,909,024 msg/sec pthread_spinlock, 6,s: 5,633,430 msg/sec pthread_spinlock, 6,i: 5,306,621 msg/sec pthread_spinlock, 7,s: 2,663,218 msg/sec pthread_spinlock, 7,i: 3,590,148 msg/sec pthread_spinlock, 8,s: 3,032,677 msg/sec pthread_spinlock, 8,i: 4,778,264 msg/sec tbb::spin_mutex, 1,s: 85,374,846 msg/sec tbb::spin_mutex, 1,i: 84,791,854 msg/sec tbb::spin_mutex, 2,s: 18,733,022 msg/sec tbb::spin_mutex, 2,i: 17,794,117 msg/sec tbb::spin_mutex, 3,s: 11,497,103 msg/sec tbb::spin_mutex, 3,i: 10,806,735 msg/sec tbb::spin_mutex, 4,s: 7,356,986 msg/sec tbb::spin_mutex, 4,i: 7,354,985 msg/sec tbb::spin_mutex, 5,s: 5,561,304 msg/sec tbb::spin_mutex, 5,i: 5,706,643 msg/sec tbb::spin_mutex, 6,s: 4,327,774 msg/sec tbb::spin_mutex, 6,i: 4,445,479 msg/sec tbb::spin_mutex, 7,s: 3,759,200 msg/sec tbb::spin_mutex, 7,i: 3,714,338 msg/sec tbb::spin_mutex, 8,s: 2,990,260 msg/sec tbb::spin_mutex, 8,i: 3,115,717 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 986.12 System time (seconds): 113.43 Percent of CPU this job got: 914% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:00.18 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 64916 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24811 Voluntary context switches: 8343419 Involuntary context switches: 283 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:25:52 [4/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000058 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000037 sec/round-trip AtomicQueueB: 0.000000052 sec/round-trip OptimistAtomicQueueB: 0.000000039 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000044 sec/round-trip AtomicQueueB2: 0.000000051 sec/round-trip OptimistAtomicQueueB2: 0.000000044 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000071 sec/round-trip tbb::concurrent_bounded_queue: 0.000000099 sec/round-trip xenium::michael_scott_queue: 0.000000155 sec/round-trip xenium::ramalhete_queue: 0.000000067 sec/round-trip xenium::vyukov_bounded_queue: 0.000000069 sec/round-trip boost::lockfree::queue: 0.000000106 sec/round-trip std::mutex: 0.000000379 sec/round-trip pthread_spinlock: 0.000000116 sec/round-trip tbb::spin_mutex: 0.000000105 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 152,089,905 msg/sec boost::lockfree::spsc_queue, 1,i: 143,712,221 msg/sec AtomicQueue, 1,s: 108,207,058 msg/sec AtomicQueue, 1,i: 108,369,779 msg/sec AtomicQueue, 2,s: 12,881,031 msg/sec AtomicQueue, 2,i: 10,233,600 msg/sec AtomicQueue, 3,s: 9,971,918 msg/sec AtomicQueue, 3,i: 8,203,987 msg/sec AtomicQueue, 4,s: 8,033,241 msg/sec AtomicQueue, 4,i: 6,305,952 msg/sec AtomicQueue, 5,s: 6,114,978 msg/sec AtomicQueue, 5,i: 5,103,154 msg/sec AtomicQueue, 6,s: 5,331,548 msg/sec AtomicQueue, 6,i: 4,221,536 msg/sec AtomicQueue, 7,s: 4,712,885 msg/sec AtomicQueue, 7,i: 3,867,819 msg/sec AtomicQueue, 8,s: 4,191,334 msg/sec AtomicQueue, 8,i: 3,347,132 msg/sec OptimistAtomicQueue, 1,s: 892,937,661 msg/sec OptimistAtomicQueue, 1,i: 886,923,063 msg/sec OptimistAtomicQueue, 2,s: 96,931,209 msg/sec OptimistAtomicQueue, 2,i: 43,600,671 msg/sec OptimistAtomicQueue, 3,s: 59,840,556 msg/sec OptimistAtomicQueue, 3,i: 48,704,615 msg/sec OptimistAtomicQueue, 4,s: 63,834,945 msg/sec OptimistAtomicQueue, 4,i: 48,051,051 msg/sec OptimistAtomicQueue, 5,s: 58,112,820 msg/sec OptimistAtomicQueue, 5,i: 45,145,162 msg/sec OptimistAtomicQueue, 6,s: 57,719,637 msg/sec OptimistAtomicQueue, 6,i: 43,344,572 msg/sec OptimistAtomicQueue, 7,s: 56,337,659 msg/sec OptimistAtomicQueue, 7,i: 44,931,207 msg/sec OptimistAtomicQueue, 8,s: 58,442,718 msg/sec OptimistAtomicQueue, 8,i: 43,047,859 msg/sec AtomicQueueB, 1,s: 76,546,514 msg/sec AtomicQueueB, 1,i: 80,231,541 msg/sec AtomicQueueB, 2,s: 12,423,414 msg/sec AtomicQueueB, 2,i: 10,059,608 msg/sec AtomicQueueB, 3,s: 10,067,506 msg/sec AtomicQueueB, 3,i: 8,203,831 msg/sec AtomicQueueB, 4,s: 7,892,239 msg/sec AtomicQueueB, 4,i: 6,261,691 msg/sec AtomicQueueB, 5,s: 6,186,011 msg/sec AtomicQueueB, 5,i: 5,088,407 msg/sec AtomicQueueB, 6,s: 5,293,951 msg/sec AtomicQueueB, 6,i: 4,193,176 msg/sec AtomicQueueB, 7,s: 4,648,953 msg/sec AtomicQueueB, 7,i: 3,795,357 msg/sec AtomicQueueB, 8,s: 4,098,300 msg/sec AtomicQueueB, 8,i: 3,307,011 msg/sec OptimistAtomicQueueB, 1,s: 441,140,852 msg/sec OptimistAtomicQueueB, 1,i: 455,838,361 msg/sec OptimistAtomicQueueB, 2,s: 98,577,958 msg/sec OptimistAtomicQueueB, 2,i: 45,491,651 msg/sec OptimistAtomicQueueB, 3,s: 59,332,787 msg/sec OptimistAtomicQueueB, 3,i: 49,660,222 msg/sec OptimistAtomicQueueB, 4,s: 64,828,088 msg/sec OptimistAtomicQueueB, 4,i: 48,322,915 msg/sec OptimistAtomicQueueB, 5,s: 57,566,384 msg/sec OptimistAtomicQueueB, 5,i: 43,988,372 msg/sec OptimistAtomicQueueB, 6,s: 58,372,391 msg/sec OptimistAtomicQueueB, 6,i: 43,082,004 msg/sec OptimistAtomicQueueB, 7,s: 56,747,950 msg/sec OptimistAtomicQueueB, 7,i: 44,634,852 msg/sec OptimistAtomicQueueB, 8,s: 57,897,814 msg/sec OptimistAtomicQueueB, 8,i: 42,799,174 msg/sec AtomicQueue2, 1,s: 103,927,220 msg/sec AtomicQueue2, 1,i: 109,466,700 msg/sec AtomicQueue2, 2,s: 11,461,549 msg/sec AtomicQueue2, 2,i: 10,044,980 msg/sec AtomicQueue2, 3,s: 9,752,485 msg/sec AtomicQueue2, 3,i: 8,150,214 msg/sec AtomicQueue2, 4,s: 7,722,981 msg/sec AtomicQueue2, 4,i: 6,314,800 msg/sec AtomicQueue2, 5,s: 6,067,022 msg/sec AtomicQueue2, 5,i: 5,073,242 msg/sec AtomicQueue2, 6,s: 5,204,315 msg/sec AtomicQueue2, 6,i: 4,236,312 msg/sec AtomicQueue2, 7,s: 4,566,015 msg/sec AtomicQueue2, 7,i: 3,853,535 msg/sec AtomicQueue2, 8,s: 4,067,372 msg/sec AtomicQueue2, 8,i: 3,350,254 msg/sec OptimistAtomicQueue2, 1,s: 394,349,224 msg/sec OptimistAtomicQueue2, 1,i: 412,200,531 msg/sec OptimistAtomicQueue2, 2,s: 35,144,583 msg/sec OptimistAtomicQueue2, 2,i: 27,599,871 msg/sec OptimistAtomicQueue2, 3,s: 41,100,790 msg/sec OptimistAtomicQueue2, 3,i: 36,121,502 msg/sec OptimistAtomicQueue2, 4,s: 53,369,830 msg/sec OptimistAtomicQueue2, 4,i: 41,400,110 msg/sec OptimistAtomicQueue2, 5,s: 54,840,471 msg/sec OptimistAtomicQueue2, 5,i: 42,790,495 msg/sec OptimistAtomicQueue2, 6,s: 53,816,233 msg/sec OptimistAtomicQueue2, 6,i: 41,316,663 msg/sec OptimistAtomicQueue2, 7,s: 53,922,512 msg/sec OptimistAtomicQueue2, 7,i: 42,039,680 msg/sec OptimistAtomicQueue2, 8,s: 56,789,746 msg/sec OptimistAtomicQueue2, 8,i: 42,118,567 msg/sec AtomicQueueB2, 1,s: 78,456,080 msg/sec AtomicQueueB2, 1,i: 81,512,800 msg/sec AtomicQueueB2, 2,s: 11,449,724 msg/sec AtomicQueueB2, 2,i: 10,076,765 msg/sec AtomicQueueB2, 3,s: 9,686,821 msg/sec AtomicQueueB2, 3,i: 8,112,541 msg/sec AtomicQueueB2, 4,s: 7,686,970 msg/sec AtomicQueueB2, 4,i: 6,244,183 msg/sec AtomicQueueB2, 5,s: 5,961,463 msg/sec AtomicQueueB2, 5,i: 5,043,695 msg/sec AtomicQueueB2, 6,s: 5,125,403 msg/sec AtomicQueueB2, 6,i: 4,171,456 msg/sec AtomicQueueB2, 7,s: 4,552,431 msg/sec AtomicQueueB2, 7,i: 3,771,279 msg/sec AtomicQueueB2, 8,s: 3,993,195 msg/sec AtomicQueueB2, 8,i: 3,278,516 msg/sec OptimistAtomicQueueB2, 1,s: 124,957,277 msg/sec OptimistAtomicQueueB2, 1,i: 136,428,440 msg/sec OptimistAtomicQueueB2, 2,s: 35,264,634 msg/sec OptimistAtomicQueueB2, 2,i: 27,173,456 msg/sec OptimistAtomicQueueB2, 3,s: 41,623,205 msg/sec OptimistAtomicQueueB2, 3,i: 35,701,161 msg/sec OptimistAtomicQueueB2, 4,s: 52,801,452 msg/sec OptimistAtomicQueueB2, 4,i: 42,011,487 msg/sec OptimistAtomicQueueB2, 5,s: 55,151,382 msg/sec OptimistAtomicQueueB2, 5,i: 41,805,902 msg/sec OptimistAtomicQueueB2, 6,s: 54,161,563 msg/sec OptimistAtomicQueueB2, 6,i: 40,794,512 msg/sec OptimistAtomicQueueB2, 7,s: 53,994,827 msg/sec OptimistAtomicQueueB2, 7,i: 41,891,711 msg/sec OptimistAtomicQueueB2, 8,s: 56,103,896 msg/sec OptimistAtomicQueueB2, 8,i: 41,453,413 msg/sec moodycamel::ReaderWriterQueue, 1,s: 549,091,989 msg/sec moodycamel::ReaderWriterQueue, 1,i: 561,548,113 msg/sec moodycamel::ConcurrentQueue, 1,s: 34,252,485 msg/sec moodycamel::ConcurrentQueue, 1,i: 33,560,852 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,888,468 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,250,074 msg/sec moodycamel::ConcurrentQueue, 3,s: 44,970,423 msg/sec moodycamel::ConcurrentQueue, 3,i: 71,429,430 msg/sec moodycamel::ConcurrentQueue, 4,s: 91,437,529 msg/sec moodycamel::ConcurrentQueue, 4,i: 78,379,066 msg/sec moodycamel::ConcurrentQueue, 5,s: 148,782,346 msg/sec moodycamel::ConcurrentQueue, 5,i: 161,259,260 msg/sec moodycamel::ConcurrentQueue, 6,s: 157,170,436 msg/sec moodycamel::ConcurrentQueue, 6,i: 190,042,536 msg/sec moodycamel::ConcurrentQueue, 7,s: 190,045,829 msg/sec moodycamel::ConcurrentQueue, 7,i: 160,732,015 msg/sec moodycamel::ConcurrentQueue, 8,s: 183,755,153 msg/sec moodycamel::ConcurrentQueue, 8,i: 200,163,245 msg/sec tbb::concurrent_bounded_queue, 1,s: 23,573,022 msg/sec tbb::concurrent_bounded_queue, 1,i: 23,075,422 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,672,049 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,985,582 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,962,342 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,572,052 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,254,973 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,357,063 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,015,507 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,228,546 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,150,485 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,332,743 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,478,998 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,748,985 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,760,153 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,251,062 msg/sec xenium::michael_scott_queue, 1,s: 18,644,729 msg/sec xenium::michael_scott_queue, 1,i: 18,499,757 msg/sec xenium::michael_scott_queue, 2,s: 12,537,227 msg/sec xenium::michael_scott_queue, 2,i: 8,630,272 msg/sec xenium::michael_scott_queue, 3,s: 7,707,819 msg/sec xenium::michael_scott_queue, 3,i: 6,527,181 msg/sec xenium::michael_scott_queue, 4,s: 6,001,867 msg/sec xenium::michael_scott_queue, 4,i: 4,981,270 msg/sec xenium::michael_scott_queue, 5,s: 4,665,000 msg/sec xenium::michael_scott_queue, 5,i: 4,007,988 msg/sec xenium::michael_scott_queue, 6,s: 3,969,304 msg/sec xenium::michael_scott_queue, 6,i: 3,286,669 msg/sec xenium::michael_scott_queue, 7,s: 3,528,364 msg/sec xenium::michael_scott_queue, 7,i: 2,994,525 msg/sec xenium::michael_scott_queue, 8,s: 3,127,218 msg/sec xenium::michael_scott_queue, 8,i: 2,567,886 msg/sec xenium::ramalhete_queue, 1,s: 57,611,907 msg/sec xenium::ramalhete_queue, 1,i: 36,495,611 msg/sec xenium::ramalhete_queue, 2,s: 48,797,123 msg/sec xenium::ramalhete_queue, 2,i: 30,031,618 msg/sec xenium::ramalhete_queue, 3,s: 42,330,382 msg/sec xenium::ramalhete_queue, 3,i: 31,636,369 msg/sec xenium::ramalhete_queue, 4,s: 37,407,315 msg/sec xenium::ramalhete_queue, 4,i: 35,883,582 msg/sec xenium::ramalhete_queue, 5,s: 37,075,229 msg/sec xenium::ramalhete_queue, 5,i: 37,543,210 msg/sec xenium::ramalhete_queue, 6,s: 35,539,182 msg/sec xenium::ramalhete_queue, 6,i: 37,031,422 msg/sec xenium::ramalhete_queue, 7,s: 34,820,991 msg/sec xenium::ramalhete_queue, 7,i: 35,708,265 msg/sec xenium::ramalhete_queue, 8,s: 34,078,276 msg/sec xenium::ramalhete_queue, 8,i: 35,023,590 msg/sec xenium::vyukov_bounded_queue, 1,s: 125,301,771 msg/sec xenium::vyukov_bounded_queue, 1,i: 136,891,177 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,456,317 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,023,890 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,712,177 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,929,938 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,642,220 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,393,015 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,714,260 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,863,033 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,567,623 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,776,196 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,289,048 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,511,106 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,658,681 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,517,785 msg/sec boost::lockfree::queue, 1,s: 16,240,691 msg/sec boost::lockfree::queue, 1,i: 16,061,453 msg/sec boost::lockfree::queue, 2,s: 5,747,878 msg/sec boost::lockfree::queue, 2,i: 6,135,427 msg/sec boost::lockfree::queue, 3,s: 5,507,344 msg/sec boost::lockfree::queue, 3,i: 5,535,613 msg/sec boost::lockfree::queue, 4,s: 4,103,637 msg/sec boost::lockfree::queue, 4,i: 4,111,121 msg/sec boost::lockfree::queue, 5,s: 3,392,789 msg/sec boost::lockfree::queue, 5,i: 3,352,977 msg/sec boost::lockfree::queue, 6,s: 2,253,249 msg/sec boost::lockfree::queue, 6,i: 2,429,964 msg/sec boost::lockfree::queue, 7,s: 1,999,459 msg/sec boost::lockfree::queue, 7,i: 2,096,649 msg/sec boost::lockfree::queue, 8,s: 1,657,848 msg/sec boost::lockfree::queue, 8,i: 1,835,934 msg/sec std::mutex, 1,s: 13,742,430 msg/sec std::mutex, 1,i: 13,727,062 msg/sec std::mutex, 2,s: 9,572,412 msg/sec std::mutex, 2,i: 9,228,289 msg/sec std::mutex, 3,s: 5,275,693 msg/sec std::mutex, 3,i: 5,399,567 msg/sec std::mutex, 4,s: 4,205,615 msg/sec std::mutex, 4,i: 4,273,260 msg/sec std::mutex, 5,s: 3,828,658 msg/sec std::mutex, 5,i: 3,875,782 msg/sec std::mutex, 6,s: 3,650,871 msg/sec std::mutex, 6,i: 3,752,820 msg/sec std::mutex, 7,s: 3,659,305 msg/sec std::mutex, 7,i: 3,709,708 msg/sec std::mutex, 8,s: 3,547,015 msg/sec std::mutex, 8,i: 3,645,364 msg/sec pthread_spinlock, 1,s: 33,406,209 msg/sec pthread_spinlock, 1,i: 32,888,717 msg/sec pthread_spinlock, 2,s: 10,703,533 msg/sec pthread_spinlock, 2,i: 10,428,178 msg/sec pthread_spinlock, 3,s: 9,562,027 msg/sec pthread_spinlock, 3,i: 8,698,178 msg/sec pthread_spinlock, 4,s: 7,454,556 msg/sec pthread_spinlock, 4,i: 7,783,629 msg/sec pthread_spinlock, 5,s: 6,690,496 msg/sec pthread_spinlock, 5,i: 7,084,754 msg/sec pthread_spinlock, 6,s: 5,637,778 msg/sec pthread_spinlock, 6,i: 5,546,653 msg/sec pthread_spinlock, 7,s: 2,696,859 msg/sec pthread_spinlock, 7,i: 4,437,306 msg/sec pthread_spinlock, 8,s: 2,983,274 msg/sec pthread_spinlock, 8,i: 4,698,646 msg/sec tbb::spin_mutex, 1,s: 84,344,161 msg/sec tbb::spin_mutex, 1,i: 85,133,442 msg/sec tbb::spin_mutex, 2,s: 18,762,141 msg/sec tbb::spin_mutex, 2,i: 17,684,478 msg/sec tbb::spin_mutex, 3,s: 11,343,941 msg/sec tbb::spin_mutex, 3,i: 11,004,376 msg/sec tbb::spin_mutex, 4,s: 7,362,281 msg/sec tbb::spin_mutex, 4,i: 7,248,659 msg/sec tbb::spin_mutex, 5,s: 5,501,480 msg/sec tbb::spin_mutex, 5,i: 5,660,606 msg/sec tbb::spin_mutex, 6,s: 4,390,893 msg/sec tbb::spin_mutex, 6,i: 4,496,619 msg/sec tbb::spin_mutex, 7,s: 3,705,102 msg/sec tbb::spin_mutex, 7,i: 3,780,334 msg/sec tbb::spin_mutex, 8,s: 2,978,640 msg/sec tbb::spin_mutex, 8,i: 3,061,847 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 998.95 System time (seconds): 113.65 Percent of CPU this job got: 914% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:01.68 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 71668 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 26522 Voluntary context switches: 8624362 Involuntary context switches: 282 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:27:53 [5/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000037 sec/round-trip AtomicQueueB: 0.000000052 sec/round-trip OptimistAtomicQueueB: 0.000000039 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000043 sec/round-trip AtomicQueueB2: 0.000000051 sec/round-trip OptimistAtomicQueueB2: 0.000000044 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000072 sec/round-trip tbb::concurrent_bounded_queue: 0.000000100 sec/round-trip xenium::michael_scott_queue: 0.000000156 sec/round-trip xenium::ramalhete_queue: 0.000000067 sec/round-trip xenium::vyukov_bounded_queue: 0.000000069 sec/round-trip boost::lockfree::queue: 0.000000106 sec/round-trip std::mutex: 0.000000383 sec/round-trip pthread_spinlock: 0.000000117 sec/round-trip tbb::spin_mutex: 0.000000105 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 151,095,952 msg/sec boost::lockfree::spsc_queue, 1,i: 142,832,815 msg/sec AtomicQueue, 1,s: 107,735,185 msg/sec AtomicQueue, 1,i: 107,420,031 msg/sec AtomicQueue, 2,s: 12,918,556 msg/sec AtomicQueue, 2,i: 10,286,004 msg/sec AtomicQueue, 3,s: 10,073,050 msg/sec AtomicQueue, 3,i: 8,245,090 msg/sec AtomicQueue, 4,s: 7,982,554 msg/sec AtomicQueue, 4,i: 6,315,673 msg/sec AtomicQueue, 5,s: 6,083,089 msg/sec AtomicQueue, 5,i: 5,089,458 msg/sec AtomicQueue, 6,s: 5,255,011 msg/sec AtomicQueue, 6,i: 4,209,568 msg/sec AtomicQueue, 7,s: 4,703,319 msg/sec AtomicQueue, 7,i: 3,849,910 msg/sec AtomicQueue, 8,s: 4,143,078 msg/sec AtomicQueue, 8,i: 3,328,800 msg/sec OptimistAtomicQueue, 1,s: 867,263,327 msg/sec OptimistAtomicQueue, 1,i: 867,957,180 msg/sec OptimistAtomicQueue, 2,s: 95,265,230 msg/sec OptimistAtomicQueue, 2,i: 46,925,174 msg/sec OptimistAtomicQueue, 3,s: 59,280,174 msg/sec OptimistAtomicQueue, 3,i: 49,223,980 msg/sec OptimistAtomicQueue, 4,s: 65,318,915 msg/sec OptimistAtomicQueue, 4,i: 48,642,993 msg/sec OptimistAtomicQueue, 5,s: 58,513,127 msg/sec OptimistAtomicQueue, 5,i: 45,178,573 msg/sec OptimistAtomicQueue, 6,s: 58,871,876 msg/sec OptimistAtomicQueue, 6,i: 43,561,159 msg/sec OptimistAtomicQueue, 7,s: 56,386,546 msg/sec OptimistAtomicQueue, 7,i: 44,608,559 msg/sec OptimistAtomicQueue, 8,s: 58,201,842 msg/sec OptimistAtomicQueue, 8,i: 43,578,646 msg/sec AtomicQueueB, 1,s: 77,371,678 msg/sec AtomicQueueB, 1,i: 78,627,654 msg/sec AtomicQueueB, 2,s: 12,462,345 msg/sec AtomicQueueB, 2,i: 10,103,842 msg/sec AtomicQueueB, 3,s: 9,803,772 msg/sec AtomicQueueB, 3,i: 8,172,234 msg/sec AtomicQueueB, 4,s: 7,919,138 msg/sec AtomicQueueB, 4,i: 6,281,736 msg/sec AtomicQueueB, 5,s: 6,013,440 msg/sec AtomicQueueB, 5,i: 5,051,354 msg/sec AtomicQueueB, 6,s: 5,278,344 msg/sec AtomicQueueB, 6,i: 4,177,486 msg/sec AtomicQueueB, 7,s: 4,655,380 msg/sec AtomicQueueB, 7,i: 3,804,855 msg/sec AtomicQueueB, 8,s: 4,164,008 msg/sec AtomicQueueB, 8,i: 3,284,090 msg/sec OptimistAtomicQueueB, 1,s: 435,075,804 msg/sec OptimistAtomicQueueB, 1,i: 453,858,816 msg/sec OptimistAtomicQueueB, 2,s: 96,125,935 msg/sec OptimistAtomicQueueB, 2,i: 45,019,319 msg/sec OptimistAtomicQueueB, 3,s: 58,858,614 msg/sec OptimistAtomicQueueB, 3,i: 48,312,205 msg/sec OptimistAtomicQueueB, 4,s: 63,463,430 msg/sec OptimistAtomicQueueB, 4,i: 48,092,518 msg/sec OptimistAtomicQueueB, 5,s: 56,755,063 msg/sec OptimistAtomicQueueB, 5,i: 43,611,416 msg/sec OptimistAtomicQueueB, 6,s: 57,312,103 msg/sec OptimistAtomicQueueB, 6,i: 43,373,240 msg/sec OptimistAtomicQueueB, 7,s: 56,814,687 msg/sec OptimistAtomicQueueB, 7,i: 43,922,142 msg/sec OptimistAtomicQueueB, 8,s: 56,903,941 msg/sec OptimistAtomicQueueB, 8,i: 42,252,042 msg/sec AtomicQueue2, 1,s: 103,548,230 msg/sec AtomicQueue2, 1,i: 110,016,435 msg/sec AtomicQueue2, 2,s: 11,493,178 msg/sec AtomicQueue2, 2,i: 10,029,929 msg/sec AtomicQueue2, 3,s: 9,688,748 msg/sec AtomicQueue2, 3,i: 8,142,329 msg/sec AtomicQueue2, 4,s: 7,694,838 msg/sec AtomicQueue2, 4,i: 6,290,284 msg/sec AtomicQueue2, 5,s: 5,972,300 msg/sec AtomicQueue2, 5,i: 5,049,221 msg/sec AtomicQueue2, 6,s: 5,160,181 msg/sec AtomicQueue2, 6,i: 4,238,751 msg/sec AtomicQueue2, 7,s: 4,539,624 msg/sec AtomicQueue2, 7,i: 3,838,139 msg/sec AtomicQueue2, 8,s: 4,030,419 msg/sec AtomicQueue2, 8,i: 3,323,536 msg/sec OptimistAtomicQueue2, 1,s: 391,010,699 msg/sec OptimistAtomicQueue2, 1,i: 408,991,260 msg/sec OptimistAtomicQueue2, 2,s: 35,273,358 msg/sec OptimistAtomicQueue2, 2,i: 27,716,176 msg/sec OptimistAtomicQueue2, 3,s: 41,557,401 msg/sec OptimistAtomicQueue2, 3,i: 36,403,438 msg/sec OptimistAtomicQueue2, 4,s: 53,590,768 msg/sec OptimistAtomicQueue2, 4,i: 41,019,392 msg/sec OptimistAtomicQueue2, 5,s: 54,369,811 msg/sec OptimistAtomicQueue2, 5,i: 41,311,245 msg/sec OptimistAtomicQueue2, 6,s: 53,136,324 msg/sec OptimistAtomicQueue2, 6,i: 41,049,976 msg/sec OptimistAtomicQueue2, 7,s: 53,799,768 msg/sec OptimistAtomicQueue2, 7,i: 42,523,777 msg/sec OptimistAtomicQueue2, 8,s: 56,246,045 msg/sec OptimistAtomicQueue2, 8,i: 40,971,520 msg/sec AtomicQueueB2, 1,s: 79,846,242 msg/sec AtomicQueueB2, 1,i: 82,372,884 msg/sec AtomicQueueB2, 2,s: 11,544,855 msg/sec AtomicQueueB2, 2,i: 9,917,364 msg/sec AtomicQueueB2, 3,s: 9,706,452 msg/sec AtomicQueueB2, 3,i: 8,072,611 msg/sec AtomicQueueB2, 4,s: 7,688,055 msg/sec AtomicQueueB2, 4,i: 6,176,697 msg/sec AtomicQueueB2, 5,s: 5,923,481 msg/sec AtomicQueueB2, 5,i: 4,970,280 msg/sec AtomicQueueB2, 6,s: 5,062,236 msg/sec AtomicQueueB2, 6,i: 4,146,998 msg/sec AtomicQueueB2, 7,s: 4,485,301 msg/sec AtomicQueueB2, 7,i: 3,772,041 msg/sec AtomicQueueB2, 8,s: 3,985,284 msg/sec AtomicQueueB2, 8,i: 3,284,857 msg/sec OptimistAtomicQueueB2, 1,s: 124,341,442 msg/sec OptimistAtomicQueueB2, 1,i: 131,606,776 msg/sec OptimistAtomicQueueB2, 2,s: 36,380,543 msg/sec OptimistAtomicQueueB2, 2,i: 27,910,942 msg/sec OptimistAtomicQueueB2, 3,s: 41,316,441 msg/sec OptimistAtomicQueueB2, 3,i: 35,476,464 msg/sec OptimistAtomicQueueB2, 4,s: 54,319,094 msg/sec OptimistAtomicQueueB2, 4,i: 43,747,345 msg/sec OptimistAtomicQueueB2, 5,s: 54,949,102 msg/sec OptimistAtomicQueueB2, 5,i: 42,535,882 msg/sec OptimistAtomicQueueB2, 6,s: 54,314,237 msg/sec OptimistAtomicQueueB2, 6,i: 41,463,484 msg/sec OptimistAtomicQueueB2, 7,s: 54,441,134 msg/sec OptimistAtomicQueueB2, 7,i: 42,038,316 msg/sec OptimistAtomicQueueB2, 8,s: 55,285,370 msg/sec OptimistAtomicQueueB2, 8,i: 40,864,932 msg/sec moodycamel::ReaderWriterQueue, 1,s: 541,492,605 msg/sec moodycamel::ReaderWriterQueue, 1,i: 560,365,833 msg/sec moodycamel::ConcurrentQueue, 1,s: 34,360,037 msg/sec moodycamel::ConcurrentQueue, 1,i: 33,199,306 msg/sec moodycamel::ConcurrentQueue, 2,s: 33,562,714 msg/sec moodycamel::ConcurrentQueue, 2,i: 45,113,431 msg/sec moodycamel::ConcurrentQueue, 3,s: 45,089,085 msg/sec moodycamel::ConcurrentQueue, 3,i: 62,580,813 msg/sec moodycamel::ConcurrentQueue, 4,s: 76,189,902 msg/sec moodycamel::ConcurrentQueue, 4,i: 96,096,041 msg/sec moodycamel::ConcurrentQueue, 5,s: 153,687,553 msg/sec moodycamel::ConcurrentQueue, 5,i: 141,673,728 msg/sec moodycamel::ConcurrentQueue, 6,s: 169,434,923 msg/sec moodycamel::ConcurrentQueue, 6,i: 175,638,169 msg/sec moodycamel::ConcurrentQueue, 7,s: 180,618,820 msg/sec moodycamel::ConcurrentQueue, 7,i: 212,472,510 msg/sec moodycamel::ConcurrentQueue, 8,s: 184,000,752 msg/sec moodycamel::ConcurrentQueue, 8,i: 182,759,195 msg/sec tbb::concurrent_bounded_queue, 1,s: 23,341,079 msg/sec tbb::concurrent_bounded_queue, 1,i: 22,712,399 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,516,909 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,982,553 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,980,887 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,573,793 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,280,478 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,265,525 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,157,126 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,275,986 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,140,899 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,342,409 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,377,721 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,727,883 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,741,573 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,234,046 msg/sec xenium::michael_scott_queue, 1,s: 18,374,189 msg/sec xenium::michael_scott_queue, 1,i: 18,314,630 msg/sec xenium::michael_scott_queue, 2,s: 12,429,059 msg/sec xenium::michael_scott_queue, 2,i: 8,552,072 msg/sec xenium::michael_scott_queue, 3,s: 7,555,007 msg/sec xenium::michael_scott_queue, 3,i: 6,507,683 msg/sec xenium::michael_scott_queue, 4,s: 5,981,031 msg/sec xenium::michael_scott_queue, 4,i: 5,002,705 msg/sec xenium::michael_scott_queue, 5,s: 4,566,775 msg/sec xenium::michael_scott_queue, 5,i: 3,989,286 msg/sec xenium::michael_scott_queue, 6,s: 3,951,986 msg/sec xenium::michael_scott_queue, 6,i: 3,255,717 msg/sec xenium::michael_scott_queue, 7,s: 3,553,250 msg/sec xenium::michael_scott_queue, 7,i: 2,959,882 msg/sec xenium::michael_scott_queue, 8,s: 3,095,633 msg/sec xenium::michael_scott_queue, 8,i: 2,524,790 msg/sec xenium::ramalhete_queue, 1,s: 36,828,231 msg/sec xenium::ramalhete_queue, 1,i: 35,723,234 msg/sec xenium::ramalhete_queue, 2,s: 43,651,241 msg/sec xenium::ramalhete_queue, 2,i: 28,651,667 msg/sec xenium::ramalhete_queue, 3,s: 42,400,514 msg/sec xenium::ramalhete_queue, 3,i: 31,919,241 msg/sec xenium::ramalhete_queue, 4,s: 37,309,642 msg/sec xenium::ramalhete_queue, 4,i: 35,682,021 msg/sec xenium::ramalhete_queue, 5,s: 36,148,209 msg/sec xenium::ramalhete_queue, 5,i: 37,863,435 msg/sec xenium::ramalhete_queue, 6,s: 36,082,653 msg/sec xenium::ramalhete_queue, 6,i: 36,574,280 msg/sec xenium::ramalhete_queue, 7,s: 34,966,230 msg/sec xenium::ramalhete_queue, 7,i: 36,457,943 msg/sec xenium::ramalhete_queue, 8,s: 33,474,789 msg/sec xenium::ramalhete_queue, 8,i: 34,447,674 msg/sec xenium::vyukov_bounded_queue, 1,s: 123,418,152 msg/sec xenium::vyukov_bounded_queue, 1,i: 134,856,434 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,481,879 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,030,577 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,240,027 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,004,051 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,819,138 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,371,731 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,422,372 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,563,476 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,324,379 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,789,103 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,369,794 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,567,814 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,660,498 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,614,937 msg/sec boost::lockfree::queue, 1,s: 16,020,007 msg/sec boost::lockfree::queue, 1,i: 15,961,482 msg/sec boost::lockfree::queue, 2,s: 5,815,342 msg/sec boost::lockfree::queue, 2,i: 6,154,386 msg/sec boost::lockfree::queue, 3,s: 5,484,932 msg/sec boost::lockfree::queue, 3,i: 5,485,114 msg/sec boost::lockfree::queue, 4,s: 4,092,776 msg/sec boost::lockfree::queue, 4,i: 4,089,629 msg/sec boost::lockfree::queue, 5,s: 3,384,077 msg/sec boost::lockfree::queue, 5,i: 3,336,899 msg/sec boost::lockfree::queue, 6,s: 2,258,742 msg/sec boost::lockfree::queue, 6,i: 2,431,304 msg/sec boost::lockfree::queue, 7,s: 2,053,864 msg/sec boost::lockfree::queue, 7,i: 2,091,261 msg/sec boost::lockfree::queue, 8,s: 1,665,333 msg/sec boost::lockfree::queue, 8,i: 1,837,394 msg/sec std::mutex, 1,s: 13,572,520 msg/sec std::mutex, 1,i: 13,595,511 msg/sec std::mutex, 2,s: 9,393,557 msg/sec std::mutex, 2,i: 9,361,941 msg/sec std::mutex, 3,s: 5,394,838 msg/sec std::mutex, 3,i: 5,405,833 msg/sec std::mutex, 4,s: 4,134,842 msg/sec std::mutex, 4,i: 4,206,165 msg/sec std::mutex, 5,s: 3,832,457 msg/sec std::mutex, 5,i: 3,879,797 msg/sec std::mutex, 6,s: 3,720,438 msg/sec std::mutex, 6,i: 3,796,236 msg/sec std::mutex, 7,s: 3,801,528 msg/sec std::mutex, 7,i: 3,768,602 msg/sec std::mutex, 8,s: 3,538,899 msg/sec std::mutex, 8,i: 3,581,423 msg/sec pthread_spinlock, 1,s: 33,081,598 msg/sec pthread_spinlock, 1,i: 32,446,931 msg/sec pthread_spinlock, 2,s: 10,635,331 msg/sec pthread_spinlock, 2,i: 10,309,713 msg/sec pthread_spinlock, 3,s: 9,513,082 msg/sec pthread_spinlock, 3,i: 8,758,132 msg/sec pthread_spinlock, 4,s: 7,533,936 msg/sec pthread_spinlock, 4,i: 7,544,296 msg/sec pthread_spinlock, 5,s: 6,692,190 msg/sec pthread_spinlock, 5,i: 6,907,513 msg/sec pthread_spinlock, 6,s: 4,906,710 msg/sec pthread_spinlock, 6,i: 5,406,491 msg/sec pthread_spinlock, 7,s: 2,515,263 msg/sec pthread_spinlock, 7,i: 4,483,484 msg/sec pthread_spinlock, 8,s: 3,015,739 msg/sec pthread_spinlock: producers: 8: consumer 5 received too few messages: 0.09% of expected. pthread_spinlock, 8,i: 2,469,092 msg/sec tbb::spin_mutex, 1,s: 86,112,839 msg/sec tbb::spin_mutex, 1,i: 85,374,042 msg/sec tbb::spin_mutex, 2,s: 18,699,957 msg/sec tbb::spin_mutex, 2,i: 17,868,741 msg/sec tbb::spin_mutex, 3,s: 11,301,816 msg/sec tbb::spin_mutex, 3,i: 10,765,125 msg/sec tbb::spin_mutex, 4,s: 7,355,521 msg/sec tbb::spin_mutex, 4,i: 7,359,476 msg/sec tbb::spin_mutex, 5,s: 5,573,211 msg/sec tbb::spin_mutex, 5,i: 5,671,304 msg/sec tbb::spin_mutex, 6,s: 4,377,335 msg/sec tbb::spin_mutex, 6,i: 4,508,280 msg/sec tbb::spin_mutex, 7,s: 3,750,868 msg/sec tbb::spin_mutex, 7,i: 3,718,045 msg/sec tbb::spin_mutex, 8,s: 3,024,294 msg/sec tbb::spin_mutex, 8,i: 3,043,225 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 995.53 System time (seconds): 113.13 Percent of CPU this job got: 914% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:01.17 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 70660 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 26259 Voluntary context switches: 8569384 Involuntary context switches: 280 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:29:55 [6/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000059 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000038 sec/round-trip AtomicQueueB: 0.000000052 sec/round-trip OptimistAtomicQueueB: 0.000000039 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000044 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000045 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000072 sec/round-trip tbb::concurrent_bounded_queue: 0.000000100 sec/round-trip xenium::michael_scott_queue: 0.000000158 sec/round-trip xenium::ramalhete_queue: 0.000000067 sec/round-trip xenium::vyukov_bounded_queue: 0.000000069 sec/round-trip boost::lockfree::queue: 0.000000107 sec/round-trip std::mutex: 0.000000385 sec/round-trip pthread_spinlock: 0.000000118 sec/round-trip tbb::spin_mutex: 0.000000105 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 152,972,425 msg/sec boost::lockfree::spsc_queue, 1,i: 141,402,364 msg/sec AtomicQueue, 1,s: 107,260,840 msg/sec AtomicQueue, 1,i: 107,263,260 msg/sec AtomicQueue, 2,s: 12,946,890 msg/sec AtomicQueue, 2,i: 10,334,100 msg/sec AtomicQueue, 3,s: 10,034,410 msg/sec AtomicQueue, 3,i: 8,200,913 msg/sec AtomicQueue, 4,s: 7,893,999 msg/sec AtomicQueue, 4,i: 6,236,700 msg/sec AtomicQueue, 5,s: 6,052,277 msg/sec AtomicQueue, 5,i: 5,079,752 msg/sec AtomicQueue, 6,s: 5,216,423 msg/sec AtomicQueue, 6,i: 4,196,480 msg/sec AtomicQueue, 7,s: 4,647,318 msg/sec AtomicQueue, 7,i: 3,829,998 msg/sec AtomicQueue, 8,s: 4,134,823 msg/sec AtomicQueue, 8,i: 3,317,547 msg/sec OptimistAtomicQueue, 1,s: 864,566,370 msg/sec OptimistAtomicQueue, 1,i: 855,261,354 msg/sec OptimistAtomicQueue, 2,s: 93,743,601 msg/sec OptimistAtomicQueue, 2,i: 46,900,213 msg/sec OptimistAtomicQueue, 3,s: 59,554,836 msg/sec OptimistAtomicQueue, 3,i: 48,270,989 msg/sec OptimistAtomicQueue, 4,s: 64,389,206 msg/sec OptimistAtomicQueue, 4,i: 47,882,195 msg/sec OptimistAtomicQueue, 5,s: 57,632,133 msg/sec OptimistAtomicQueue, 5,i: 44,733,909 msg/sec OptimistAtomicQueue, 6,s: 58,146,757 msg/sec OptimistAtomicQueue, 6,i: 43,113,864 msg/sec OptimistAtomicQueue, 7,s: 55,673,243 msg/sec OptimistAtomicQueue, 7,i: 44,395,614 msg/sec OptimistAtomicQueue, 8,s: 58,617,905 msg/sec OptimistAtomicQueue, 8,i: 43,444,631 msg/sec AtomicQueueB, 1,s: 77,039,035 msg/sec AtomicQueueB, 1,i: 78,272,544 msg/sec AtomicQueueB, 2,s: 12,303,716 msg/sec AtomicQueueB, 2,i: 10,027,876 msg/sec AtomicQueueB, 3,s: 10,015,435 msg/sec AtomicQueueB, 3,i: 8,137,578 msg/sec AtomicQueueB, 4,s: 7,855,976 msg/sec AtomicQueueB, 4,i: 6,259,333 msg/sec AtomicQueueB, 5,s: 6,162,553 msg/sec AtomicQueueB, 5,i: 5,051,261 msg/sec AtomicQueueB, 6,s: 5,237,075 msg/sec AtomicQueueB, 6,i: 4,165,412 msg/sec AtomicQueueB, 7,s: 4,672,912 msg/sec AtomicQueueB, 7,i: 3,763,807 msg/sec AtomicQueueB, 8,s: 4,104,926 msg/sec AtomicQueueB, 8,i: 3,262,447 msg/sec OptimistAtomicQueueB, 1,s: 440,716,210 msg/sec OptimistAtomicQueueB, 1,i: 452,178,916 msg/sec OptimistAtomicQueueB, 2,s: 97,321,558 msg/sec OptimistAtomicQueueB, 2,i: 42,363,950 msg/sec OptimistAtomicQueueB, 3,s: 59,429,022 msg/sec OptimistAtomicQueueB, 3,i: 48,318,216 msg/sec OptimistAtomicQueueB, 4,s: 63,882,216 msg/sec OptimistAtomicQueueB, 4,i: 48,231,378 msg/sec OptimistAtomicQueueB, 5,s: 57,597,512 msg/sec OptimistAtomicQueueB, 5,i: 43,904,645 msg/sec OptimistAtomicQueueB, 6,s: 58,262,841 msg/sec OptimistAtomicQueueB, 6,i: 43,053,237 msg/sec OptimistAtomicQueueB, 7,s: 56,086,956 msg/sec OptimistAtomicQueueB, 7,i: 44,126,091 msg/sec OptimistAtomicQueueB, 8,s: 56,799,409 msg/sec OptimistAtomicQueueB, 8,i: 42,220,979 msg/sec AtomicQueue2, 1,s: 102,714,168 msg/sec AtomicQueue2, 1,i: 108,650,547 msg/sec AtomicQueue2, 2,s: 11,594,393 msg/sec AtomicQueue2, 2,i: 10,135,526 msg/sec AtomicQueue2, 3,s: 9,634,291 msg/sec AtomicQueue2, 3,i: 8,154,736 msg/sec AtomicQueue2, 4,s: 7,685,676 msg/sec AtomicQueue2, 4,i: 6,286,427 msg/sec AtomicQueue2, 5,s: 5,969,110 msg/sec AtomicQueue2, 5,i: 5,041,390 msg/sec AtomicQueue2, 6,s: 5,155,118 msg/sec AtomicQueue2, 6,i: 4,212,969 msg/sec AtomicQueue2, 7,s: 4,513,917 msg/sec AtomicQueue2, 7,i: 3,820,548 msg/sec AtomicQueue2, 8,s: 3,986,803 msg/sec AtomicQueue2, 8,i: 3,313,048 msg/sec OptimistAtomicQueue2, 1,s: 391,404,773 msg/sec OptimistAtomicQueue2, 1,i: 402,152,409 msg/sec OptimistAtomicQueue2, 2,s: 35,454,390 msg/sec OptimistAtomicQueue2, 2,i: 27,510,742 msg/sec OptimistAtomicQueue2, 3,s: 42,342,234 msg/sec OptimistAtomicQueue2, 3,i: 39,674,887 msg/sec OptimistAtomicQueue2, 4,s: 52,116,888 msg/sec OptimistAtomicQueue2, 4,i: 41,005,135 msg/sec OptimistAtomicQueue2, 5,s: 54,948,376 msg/sec OptimistAtomicQueue2, 5,i: 42,451,177 msg/sec OptimistAtomicQueue2, 6,s: 53,897,982 msg/sec OptimistAtomicQueue2, 6,i: 41,317,638 msg/sec OptimistAtomicQueue2, 7,s: 54,558,981 msg/sec OptimistAtomicQueue2, 7,i: 41,956,092 msg/sec OptimistAtomicQueue2, 8,s: 55,583,400 msg/sec OptimistAtomicQueue2, 8,i: 40,848,943 msg/sec AtomicQueueB2, 1,s: 76,367,295 msg/sec AtomicQueueB2, 1,i: 81,549,830 msg/sec AtomicQueueB2, 2,s: 11,414,191 msg/sec AtomicQueueB2, 2,i: 10,033,048 msg/sec AtomicQueueB2, 3,s: 9,655,862 msg/sec AtomicQueueB2, 3,i: 8,085,587 msg/sec AtomicQueueB2, 4,s: 7,617,563 msg/sec AtomicQueueB2, 4,i: 6,198,914 msg/sec AtomicQueueB2, 5,s: 5,907,423 msg/sec AtomicQueueB2, 5,i: 4,960,626 msg/sec AtomicQueueB2, 6,s: 5,063,358 msg/sec AtomicQueueB2, 6,i: 4,137,663 msg/sec AtomicQueueB2, 7,s: 4,482,532 msg/sec AtomicQueueB2, 7,i: 3,772,119 msg/sec AtomicQueueB2, 8,s: 3,964,002 msg/sec AtomicQueueB2, 8,i: 3,260,702 msg/sec OptimistAtomicQueueB2, 1,s: 125,122,071 msg/sec OptimistAtomicQueueB2, 1,i: 133,101,205 msg/sec OptimistAtomicQueueB2, 2,s: 35,532,115 msg/sec OptimistAtomicQueueB2, 2,i: 28,810,951 msg/sec OptimistAtomicQueueB2, 3,s: 41,854,670 msg/sec OptimistAtomicQueueB2, 3,i: 35,625,429 msg/sec OptimistAtomicQueueB2, 4,s: 54,110,569 msg/sec OptimistAtomicQueueB2, 4,i: 43,489,722 msg/sec OptimistAtomicQueueB2, 5,s: 54,705,091 msg/sec OptimistAtomicQueueB2, 5,i: 41,277,366 msg/sec OptimistAtomicQueueB2, 6,s: 54,187,910 msg/sec OptimistAtomicQueueB2, 6,i: 41,089,267 msg/sec OptimistAtomicQueueB2, 7,s: 53,864,602 msg/sec OptimistAtomicQueueB2, 7,i: 41,369,179 msg/sec OptimistAtomicQueueB2, 8,s: 54,500,202 msg/sec OptimistAtomicQueueB2, 8,i: 40,480,416 msg/sec moodycamel::ReaderWriterQueue, 1,s: 545,064,823 msg/sec moodycamel::ReaderWriterQueue, 1,i: 564,990,716 msg/sec moodycamel::ConcurrentQueue, 1,s: 34,037,496 msg/sec moodycamel::ConcurrentQueue, 1,i: 33,279,362 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,534,457 msg/sec moodycamel::ConcurrentQueue, 2,i: 45,139,118 msg/sec moodycamel::ConcurrentQueue, 3,s: 45,485,937 msg/sec moodycamel::ConcurrentQueue, 3,i: 69,003,489 msg/sec moodycamel::ConcurrentQueue, 4,s: 86,654,049 msg/sec moodycamel::ConcurrentQueue, 4,i: 79,529,654 msg/sec moodycamel::ConcurrentQueue, 5,s: 167,286,252 msg/sec moodycamel::ConcurrentQueue, 5,i: 162,018,918 msg/sec moodycamel::ConcurrentQueue, 6,s: 158,891,618 msg/sec moodycamel::ConcurrentQueue, 6,i: 171,210,473 msg/sec moodycamel::ConcurrentQueue, 7,s: 165,288,181 msg/sec moodycamel::ConcurrentQueue, 7,i: 197,264,257 msg/sec moodycamel::ConcurrentQueue, 8,s: 204,808,671 msg/sec moodycamel::ConcurrentQueue, 8,i: 225,236,895 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,985,560 msg/sec tbb::concurrent_bounded_queue, 1,i: 22,454,809 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,589,579 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,020,231 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,926,598 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,551,280 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,244,533 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,245,498 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,027,957 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,168,918 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,101,682 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,277,462 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,480,381 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,743,878 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,746,416 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,233,516 msg/sec xenium::michael_scott_queue, 1,s: 18,960,673 msg/sec xenium::michael_scott_queue, 1,i: 18,913,074 msg/sec xenium::michael_scott_queue, 2,s: 12,522,519 msg/sec xenium::michael_scott_queue, 2,i: 8,402,667 msg/sec xenium::michael_scott_queue, 3,s: 7,715,742 msg/sec xenium::michael_scott_queue, 3,i: 6,680,014 msg/sec xenium::michael_scott_queue, 4,s: 6,020,395 msg/sec xenium::michael_scott_queue, 4,i: 5,044,932 msg/sec xenium::michael_scott_queue, 5,s: 4,675,906 msg/sec xenium::michael_scott_queue, 5,i: 4,086,464 msg/sec xenium::michael_scott_queue, 6,s: 3,950,513 msg/sec xenium::michael_scott_queue, 6,i: 3,309,271 msg/sec xenium::michael_scott_queue, 7,s: 3,533,992 msg/sec xenium::michael_scott_queue, 7,i: 2,991,030 msg/sec xenium::michael_scott_queue, 8,s: 3,091,258 msg/sec xenium::michael_scott_queue, 8,i: 2,600,218 msg/sec xenium::ramalhete_queue, 1,s: 37,631,907 msg/sec xenium::ramalhete_queue, 1,i: 43,828,183 msg/sec xenium::ramalhete_queue, 2,s: 48,066,254 msg/sec xenium::ramalhete_queue, 2,i: 29,508,102 msg/sec xenium::ramalhete_queue, 3,s: 40,222,614 msg/sec xenium::ramalhete_queue, 3,i: 31,919,261 msg/sec xenium::ramalhete_queue, 4,s: 36,777,275 msg/sec xenium::ramalhete_queue, 4,i: 35,260,299 msg/sec xenium::ramalhete_queue, 5,s: 36,544,639 msg/sec xenium::ramalhete_queue, 5,i: 37,093,693 msg/sec xenium::ramalhete_queue, 6,s: 35,163,102 msg/sec xenium::ramalhete_queue, 6,i: 36,089,150 msg/sec xenium::ramalhete_queue, 7,s: 34,253,995 msg/sec xenium::ramalhete_queue, 7,i: 31,934,749 msg/sec xenium::ramalhete_queue, 8,s: 32,714,791 msg/sec xenium::ramalhete_queue, 8,i: 31,496,468 msg/sec xenium::vyukov_bounded_queue, 1,s: 123,181,904 msg/sec xenium::vyukov_bounded_queue, 1,i: 136,180,309 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,195,721 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,235,579 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,846,582 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,811,083 msg/sec xenium::vyukov_bounded_queue, 4,s: 16,113,713 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,428,055 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,435,021 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,684,805 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,702,235 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,366,089 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,418,435 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,770,464 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,611,488 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,361,339 msg/sec boost::lockfree::queue, 1,s: 16,052,951 msg/sec boost::lockfree::queue, 1,i: 15,870,964 msg/sec boost::lockfree::queue, 2,s: 5,895,090 msg/sec boost::lockfree::queue, 2,i: 6,079,136 msg/sec boost::lockfree::queue, 3,s: 5,489,327 msg/sec boost::lockfree::queue, 3,i: 5,483,441 msg/sec boost::lockfree::queue, 4,s: 4,086,452 msg/sec boost::lockfree::queue, 4,i: 4,075,454 msg/sec boost::lockfree::queue, 5,s: 3,378,049 msg/sec boost::lockfree::queue, 5,i: 3,345,125 msg/sec boost::lockfree::queue, 6,s: 2,243,034 msg/sec boost::lockfree::queue, 6,i: 2,418,921 msg/sec boost::lockfree::queue, 7,s: 2,043,332 msg/sec boost::lockfree::queue, 7,i: 2,085,251 msg/sec boost::lockfree::queue, 8,s: 1,657,151 msg/sec boost::lockfree::queue, 8,i: 1,828,853 msg/sec std::mutex, 1,s: 13,551,105 msg/sec std::mutex, 1,i: 13,530,028 msg/sec std::mutex, 2,s: 13,269,098 msg/sec std::mutex, 2,i: 9,562,822 msg/sec std::mutex, 3,s: 5,727,438 msg/sec std::mutex, 3,i: 5,659,048 msg/sec std::mutex, 4,s: 4,415,707 msg/sec std::mutex, 4,i: 4,562,392 msg/sec std::mutex, 5,s: 3,888,157 msg/sec std::mutex, 5,i: 3,930,250 msg/sec std::mutex, 6,s: 3,774,684 msg/sec std::mutex, 6,i: 3,839,886 msg/sec std::mutex, 7,s: 3,783,395 msg/sec std::mutex, 7,i: 3,768,468 msg/sec std::mutex, 8,s: 3,547,941 msg/sec std::mutex, 8,i: 3,544,900 msg/sec pthread_spinlock, 1,s: 33,064,523 msg/sec pthread_spinlock, 1,i: 32,265,917 msg/sec pthread_spinlock, 2,s: 10,743,887 msg/sec pthread_spinlock, 2,i: 10,558,906 msg/sec pthread_spinlock, 3,s: 9,590,522 msg/sec pthread_spinlock, 3,i: 8,835,225 msg/sec pthread_spinlock, 4,s: 6,475,754 msg/sec pthread_spinlock, 4,i: 7,617,004 msg/sec pthread_spinlock, 5,s: 6,624,291 msg/sec pthread_spinlock, 5,i: 6,756,295 msg/sec pthread_spinlock, 6,s: 5,593,699 msg/sec pthread_spinlock, 6,i: 5,496,780 msg/sec pthread_spinlock, 7,s: 2,473,812 msg/sec pthread_spinlock, 7,i: 2,141,073 msg/sec pthread_spinlock, 8,s: 2,937,975 msg/sec pthread_spinlock, 8,i: 4,612,989 msg/sec tbb::spin_mutex, 1,s: 85,830,403 msg/sec tbb::spin_mutex, 1,i: 85,967,983 msg/sec tbb::spin_mutex, 2,s: 18,577,391 msg/sec tbb::spin_mutex, 2,i: 17,650,864 msg/sec tbb::spin_mutex, 3,s: 11,332,570 msg/sec tbb::spin_mutex, 3,i: 10,812,382 msg/sec tbb::spin_mutex, 4,s: 7,352,211 msg/sec tbb::spin_mutex, 4,i: 7,259,240 msg/sec tbb::spin_mutex, 5,s: 5,520,467 msg/sec tbb::spin_mutex, 5,i: 5,619,272 msg/sec tbb::spin_mutex, 6,s: 4,252,478 msg/sec tbb::spin_mutex, 6,i: 4,422,908 msg/sec tbb::spin_mutex, 7,s: 3,792,379 msg/sec tbb::spin_mutex, 7,i: 3,683,685 msg/sec tbb::spin_mutex, 8,s: 2,956,363 msg/sec tbb::spin_mutex, 8,i: 3,025,531 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1006.73 System time (seconds): 113.71 Percent of CPU this job got: 913% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.70 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 66452 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25234 Voluntary context switches: 8194129 Involuntary context switches: 303 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:31:57 [7/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000038 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000040 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000045 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000073 sec/round-trip tbb::concurrent_bounded_queue: 0.000000101 sec/round-trip xenium::michael_scott_queue: 0.000000159 sec/round-trip xenium::ramalhete_queue: 0.000000068 sec/round-trip xenium::vyukov_bounded_queue: 0.000000069 sec/round-trip boost::lockfree::queue: 0.000000107 sec/round-trip std::mutex: 0.000000388 sec/round-trip pthread_spinlock: 0.000000119 sec/round-trip tbb::spin_mutex: 0.000000105 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 151,948,434 msg/sec boost::lockfree::spsc_queue, 1,i: 139,934,722 msg/sec AtomicQueue, 1,s: 106,698,980 msg/sec AtomicQueue, 1,i: 106,031,118 msg/sec AtomicQueue, 2,s: 12,831,561 msg/sec AtomicQueue, 2,i: 10,234,946 msg/sec AtomicQueue, 3,s: 10,047,574 msg/sec AtomicQueue, 3,i: 8,229,995 msg/sec AtomicQueue, 4,s: 7,991,156 msg/sec AtomicQueue, 4,i: 6,212,191 msg/sec AtomicQueue, 5,s: 6,082,318 msg/sec AtomicQueue, 5,i: 5,045,032 msg/sec AtomicQueue, 6,s: 5,254,434 msg/sec AtomicQueue, 6,i: 4,192,028 msg/sec AtomicQueue, 7,s: 4,670,444 msg/sec AtomicQueue, 7,i: 3,810,136 msg/sec AtomicQueue, 8,s: 4,173,005 msg/sec AtomicQueue, 8,i: 3,304,924 msg/sec OptimistAtomicQueue, 1,s: 855,892,088 msg/sec OptimistAtomicQueue, 1,i: 856,141,705 msg/sec OptimistAtomicQueue, 2,s: 93,303,506 msg/sec OptimistAtomicQueue, 2,i: 43,043,199 msg/sec OptimistAtomicQueue, 3,s: 60,299,840 msg/sec OptimistAtomicQueue, 3,i: 48,662,442 msg/sec OptimistAtomicQueue, 4,s: 64,653,813 msg/sec OptimistAtomicQueue, 4,i: 48,140,813 msg/sec OptimistAtomicQueue, 5,s: 57,316,037 msg/sec OptimistAtomicQueue, 5,i: 44,498,926 msg/sec OptimistAtomicQueue, 6,s: 57,323,426 msg/sec OptimistAtomicQueue, 6,i: 42,809,503 msg/sec OptimistAtomicQueue, 7,s: 55,409,082 msg/sec OptimistAtomicQueue, 7,i: 45,002,213 msg/sec OptimistAtomicQueue, 8,s: 58,864,987 msg/sec OptimistAtomicQueue, 8,i: 42,768,382 msg/sec AtomicQueueB, 1,s: 76,743,508 msg/sec AtomicQueueB, 1,i: 79,878,832 msg/sec AtomicQueueB, 2,s: 12,472,335 msg/sec AtomicQueueB, 2,i: 10,090,791 msg/sec AtomicQueueB, 3,s: 9,796,562 msg/sec AtomicQueueB, 3,i: 8,144,841 msg/sec AtomicQueueB, 4,s: 7,857,975 msg/sec AtomicQueueB, 4,i: 6,254,666 msg/sec AtomicQueueB, 5,s: 6,052,947 msg/sec AtomicQueueB, 5,i: 5,020,688 msg/sec AtomicQueueB, 6,s: 5,241,906 msg/sec AtomicQueueB, 6,i: 4,153,942 msg/sec AtomicQueueB, 7,s: 4,618,817 msg/sec AtomicQueueB, 7,i: 3,777,966 msg/sec AtomicQueueB, 8,s: 4,099,895 msg/sec AtomicQueueB, 8,i: 3,265,783 msg/sec OptimistAtomicQueueB, 1,s: 435,630,298 msg/sec OptimistAtomicQueueB, 1,i: 446,936,655 msg/sec OptimistAtomicQueueB, 2,s: 95,980,990 msg/sec OptimistAtomicQueueB, 2,i: 46,067,344 msg/sec OptimistAtomicQueueB, 3,s: 60,125,807 msg/sec OptimistAtomicQueueB, 3,i: 49,537,158 msg/sec OptimistAtomicQueueB, 4,s: 64,088,174 msg/sec OptimistAtomicQueueB, 4,i: 47,243,599 msg/sec OptimistAtomicQueueB, 5,s: 57,092,830 msg/sec OptimistAtomicQueueB, 5,i: 43,987,887 msg/sec OptimistAtomicQueueB, 6,s: 57,526,021 msg/sec OptimistAtomicQueueB, 6,i: 42,636,049 msg/sec OptimistAtomicQueueB, 7,s: 55,698,968 msg/sec OptimistAtomicQueueB, 7,i: 43,523,759 msg/sec OptimistAtomicQueueB, 8,s: 56,807,200 msg/sec OptimistAtomicQueueB, 8,i: 42,112,010 msg/sec AtomicQueue2, 1,s: 103,546,834 msg/sec AtomicQueue2, 1,i: 108,716,466 msg/sec AtomicQueue2, 2,s: 11,234,513 msg/sec AtomicQueue2, 2,i: 10,065,502 msg/sec AtomicQueue2, 3,s: 9,685,500 msg/sec AtomicQueue2, 3,i: 8,156,068 msg/sec AtomicQueue2, 4,s: 7,706,830 msg/sec AtomicQueue2, 4,i: 6,285,707 msg/sec AtomicQueue2, 5,s: 5,937,973 msg/sec AtomicQueue2, 5,i: 5,032,913 msg/sec AtomicQueue2, 6,s: 5,188,566 msg/sec AtomicQueue2, 6,i: 4,224,428 msg/sec AtomicQueue2, 7,s: 4,530,246 msg/sec AtomicQueue2, 7,i: 3,814,629 msg/sec AtomicQueue2, 8,s: 4,008,984 msg/sec AtomicQueue2, 8,i: 3,308,053 msg/sec OptimistAtomicQueue2, 1,s: 380,362,417 msg/sec OptimistAtomicQueue2, 1,i: 386,402,791 msg/sec OptimistAtomicQueue2, 2,s: 34,998,278 msg/sec OptimistAtomicQueue2, 2,i: 27,882,872 msg/sec OptimistAtomicQueue2, 3,s: 41,936,392 msg/sec OptimistAtomicQueue2, 3,i: 35,999,036 msg/sec OptimistAtomicQueue2, 4,s: 52,553,402 msg/sec OptimistAtomicQueue2, 4,i: 42,600,350 msg/sec OptimistAtomicQueue2, 5,s: 54,866,820 msg/sec OptimistAtomicQueue2, 5,i: 41,774,984 msg/sec OptimistAtomicQueue2, 6,s: 54,729,798 msg/sec OptimistAtomicQueue2, 6,i: 41,424,111 msg/sec OptimistAtomicQueue2, 7,s: 53,827,390 msg/sec OptimistAtomicQueue2, 7,i: 42,188,876 msg/sec OptimistAtomicQueue2, 8,s: 55,429,767 msg/sec OptimistAtomicQueue2, 8,i: 40,823,330 msg/sec AtomicQueueB2, 1,s: 77,762,481 msg/sec AtomicQueueB2, 1,i: 80,278,972 msg/sec AtomicQueueB2, 2,s: 11,685,295 msg/sec AtomicQueueB2, 2,i: 10,187,846 msg/sec AtomicQueueB2, 3,s: 9,841,368 msg/sec AtomicQueueB2, 3,i: 8,089,289 msg/sec AtomicQueueB2, 4,s: 7,665,000 msg/sec AtomicQueueB2, 4,i: 6,160,684 msg/sec AtomicQueueB2, 5,s: 5,871,853 msg/sec AtomicQueueB2, 5,i: 4,953,848 msg/sec AtomicQueueB2, 6,s: 5,069,843 msg/sec AtomicQueueB2, 6,i: 4,128,907 msg/sec AtomicQueueB2, 7,s: 4,483,428 msg/sec AtomicQueueB2, 7,i: 3,739,338 msg/sec AtomicQueueB2, 8,s: 3,958,738 msg/sec AtomicQueueB2, 8,i: 3,259,682 msg/sec OptimistAtomicQueueB2, 1,s: 121,514,977 msg/sec OptimistAtomicQueueB2, 1,i: 130,866,843 msg/sec OptimistAtomicQueueB2, 2,s: 35,215,462 msg/sec OptimistAtomicQueueB2, 2,i: 28,818,754 msg/sec OptimistAtomicQueueB2, 3,s: 41,747,215 msg/sec OptimistAtomicQueueB2, 3,i: 35,606,886 msg/sec OptimistAtomicQueueB2, 4,s: 54,158,163 msg/sec OptimistAtomicQueueB2, 4,i: 42,988,916 msg/sec OptimistAtomicQueueB2, 5,s: 54,278,064 msg/sec OptimistAtomicQueueB2, 5,i: 41,757,733 msg/sec OptimistAtomicQueueB2, 6,s: 54,499,776 msg/sec OptimistAtomicQueueB2, 6,i: 41,067,086 msg/sec OptimistAtomicQueueB2, 7,s: 53,354,002 msg/sec OptimistAtomicQueueB2, 7,i: 41,394,280 msg/sec OptimistAtomicQueueB2, 8,s: 54,967,290 msg/sec OptimistAtomicQueueB2, 8,i: 40,514,545 msg/sec moodycamel::ReaderWriterQueue, 1,s: 543,918,256 msg/sec moodycamel::ReaderWriterQueue, 1,i: 560,435,056 msg/sec moodycamel::ConcurrentQueue, 1,s: 33,768,095 msg/sec moodycamel::ConcurrentQueue, 1,i: 32,829,143 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,080,883 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,343,074 msg/sec moodycamel::ConcurrentQueue, 3,s: 47,611,011 msg/sec moodycamel::ConcurrentQueue, 3,i: 65,827,954 msg/sec moodycamel::ConcurrentQueue, 4,s: 94,832,116 msg/sec moodycamel::ConcurrentQueue, 4,i: 94,340,550 msg/sec moodycamel::ConcurrentQueue, 5,s: 146,973,329 msg/sec moodycamel::ConcurrentQueue, 5,i: 152,473,266 msg/sec moodycamel::ConcurrentQueue, 6,s: 174,156,995 msg/sec moodycamel::ConcurrentQueue, 6,i: 164,416,498 msg/sec moodycamel::ConcurrentQueue, 7,s: 155,822,241 msg/sec moodycamel::ConcurrentQueue, 7,i: 192,180,653 msg/sec moodycamel::ConcurrentQueue, 8,s: 162,000,773 msg/sec moodycamel::ConcurrentQueue, 8,i: 196,088,409 msg/sec tbb::concurrent_bounded_queue, 1,s: 23,041,403 msg/sec tbb::concurrent_bounded_queue, 1,i: 22,604,849 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,456,731 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,956,361 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,904,872 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,538,887 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,218,762 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,327,642 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,149,604 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,212,681 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,088,915 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,310,769 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,422,612 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,734,523 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,728,708 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,216,806 msg/sec xenium::michael_scott_queue, 1,s: 18,803,242 msg/sec xenium::michael_scott_queue, 1,i: 18,832,352 msg/sec xenium::michael_scott_queue, 2,s: 12,523,706 msg/sec xenium::michael_scott_queue, 2,i: 8,268,239 msg/sec xenium::michael_scott_queue, 3,s: 7,694,211 msg/sec xenium::michael_scott_queue, 3,i: 6,732,524 msg/sec xenium::michael_scott_queue, 4,s: 6,062,727 msg/sec xenium::michael_scott_queue, 4,i: 5,099,609 msg/sec xenium::michael_scott_queue, 5,s: 4,682,204 msg/sec xenium::michael_scott_queue, 5,i: 4,036,736 msg/sec xenium::michael_scott_queue, 6,s: 3,925,002 msg/sec xenium::michael_scott_queue, 6,i: 3,345,697 msg/sec xenium::michael_scott_queue, 7,s: 3,548,868 msg/sec xenium::michael_scott_queue, 7,i: 2,966,716 msg/sec xenium::michael_scott_queue, 8,s: 3,084,188 msg/sec xenium::michael_scott_queue, 8,i: 2,567,333 msg/sec xenium::ramalhete_queue, 1,s: 37,160,591 msg/sec xenium::ramalhete_queue, 1,i: 35,539,276 msg/sec xenium::ramalhete_queue, 2,s: 42,918,652 msg/sec xenium::ramalhete_queue, 2,i: 28,750,749 msg/sec xenium::ramalhete_queue, 3,s: 41,499,568 msg/sec xenium::ramalhete_queue, 3,i: 32,376,424 msg/sec xenium::ramalhete_queue, 4,s: 37,169,600 msg/sec xenium::ramalhete_queue, 4,i: 36,327,934 msg/sec xenium::ramalhete_queue, 5,s: 36,294,974 msg/sec xenium::ramalhete_queue, 5,i: 37,513,705 msg/sec xenium::ramalhete_queue, 6,s: 36,053,313 msg/sec xenium::ramalhete_queue, 6,i: 37,038,609 msg/sec xenium::ramalhete_queue, 7,s: 33,898,710 msg/sec xenium::ramalhete_queue, 7,i: 34,568,022 msg/sec xenium::ramalhete_queue, 8,s: 33,225,820 msg/sec xenium::ramalhete_queue, 8,i: 34,427,569 msg/sec xenium::vyukov_bounded_queue, 1,s: 124,621,363 msg/sec xenium::vyukov_bounded_queue, 1,i: 136,898,688 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,220,619 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,823,440 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,341,605 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,901,840 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,620,117 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,367,013 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,369,104 msg/sec xenium::vyukov_bounded_queue, 5,i: 9,997,983 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,436,945 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,739,965 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,091,759 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,719,742 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,594,252 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,439,804 msg/sec boost::lockfree::queue, 1,s: 15,824,608 msg/sec boost::lockfree::queue, 1,i: 15,809,524 msg/sec boost::lockfree::queue, 2,s: 5,883,448 msg/sec boost::lockfree::queue, 2,i: 6,115,341 msg/sec boost::lockfree::queue, 3,s: 5,476,008 msg/sec boost::lockfree::queue, 3,i: 5,471,910 msg/sec boost::lockfree::queue, 4,s: 4,076,139 msg/sec boost::lockfree::queue, 4,i: 4,079,273 msg/sec boost::lockfree::queue, 5,s: 3,369,991 msg/sec boost::lockfree::queue, 5,i: 3,330,484 msg/sec boost::lockfree::queue, 6,s: 2,239,184 msg/sec boost::lockfree::queue, 6,i: 2,416,355 msg/sec boost::lockfree::queue, 7,s: 2,032,866 msg/sec boost::lockfree::queue, 7,i: 2,083,342 msg/sec boost::lockfree::queue, 8,s: 1,649,641 msg/sec boost::lockfree::queue, 8,i: 1,813,736 msg/sec std::mutex, 1,s: 13,515,439 msg/sec std::mutex, 1,i: 13,446,091 msg/sec std::mutex, 2,s: 9,089,610 msg/sec std::mutex, 2,i: 9,205,533 msg/sec std::mutex, 3,s: 5,366,471 msg/sec std::mutex, 3,i: 5,475,389 msg/sec std::mutex, 4,s: 4,408,684 msg/sec std::mutex, 4,i: 4,478,451 msg/sec std::mutex, 5,s: 4,055,795 msg/sec std::mutex, 5,i: 4,082,172 msg/sec std::mutex, 6,s: 3,617,410 msg/sec std::mutex, 6,i: 3,725,411 msg/sec std::mutex, 7,s: 3,640,245 msg/sec std::mutex, 7,i: 3,717,377 msg/sec std::mutex, 8,s: 3,547,882 msg/sec std::mutex, 8,i: 3,546,518 msg/sec pthread_spinlock, 1,s: 33,339,034 msg/sec pthread_spinlock, 1,i: 32,185,031 msg/sec pthread_spinlock, 2,s: 10,840,603 msg/sec pthread_spinlock, 2,i: 10,238,785 msg/sec pthread_spinlock, 3,s: 9,300,612 msg/sec pthread_spinlock, 3,i: 8,810,720 msg/sec pthread_spinlock, 4,s: 7,325,677 msg/sec pthread_spinlock, 4,i: 7,632,909 msg/sec pthread_spinlock, 5,s: 6,626,174 msg/sec pthread_spinlock, 5,i: 6,875,281 msg/sec pthread_spinlock, 6,s: 5,594,574 msg/sec pthread_spinlock, 6,i: 5,296,064 msg/sec pthread_spinlock, 7,s: 2,490,614 msg/sec pthread_spinlock, 7,i: 3,271,114 msg/sec pthread_spinlock, 8,s: 2,884,755 msg/sec pthread_spinlock, 8,i: 4,693,578 msg/sec tbb::spin_mutex, 1,s: 84,026,404 msg/sec tbb::spin_mutex, 1,i: 84,710,893 msg/sec tbb::spin_mutex, 2,s: 18,757,794 msg/sec tbb::spin_mutex, 2,i: 17,644,021 msg/sec tbb::spin_mutex, 3,s: 11,208,934 msg/sec tbb::spin_mutex, 3,i: 10,822,189 msg/sec tbb::spin_mutex, 4,s: 7,279,892 msg/sec tbb::spin_mutex, 4,i: 7,294,997 msg/sec tbb::spin_mutex, 5,s: 5,561,471 msg/sec tbb::spin_mutex, 5,i: 5,709,811 msg/sec tbb::spin_mutex, 6,s: 4,435,918 msg/sec tbb::spin_mutex, 6,i: 4,484,193 msg/sec tbb::spin_mutex, 7,s: 3,639,068 msg/sec tbb::spin_mutex, 7,i: 3,739,705 msg/sec tbb::spin_mutex, 8,s: 2,917,615 msg/sec tbb::spin_mutex, 8,i: 3,072,395 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1002.43 System time (seconds): 114.70 Percent of CPU this job got: 913% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.24 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 64764 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24811 Voluntary context switches: 8278997 Involuntary context switches: 275 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:34:00 [8/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000059 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000038 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000039 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000044 sec/round-trip AtomicQueueB2: 0.000000051 sec/round-trip OptimistAtomicQueueB2: 0.000000046 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000073 sec/round-trip tbb::concurrent_bounded_queue: 0.000000102 sec/round-trip xenium::michael_scott_queue: 0.000000160 sec/round-trip xenium::ramalhete_queue: 0.000000068 sec/round-trip xenium::vyukov_bounded_queue: 0.000000069 sec/round-trip boost::lockfree::queue: 0.000000108 sec/round-trip std::mutex: 0.000000389 sec/round-trip pthread_spinlock: 0.000000119 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 152,458,127 msg/sec boost::lockfree::spsc_queue, 1,i: 139,306,795 msg/sec AtomicQueue, 1,s: 105,388,143 msg/sec AtomicQueue, 1,i: 104,955,382 msg/sec AtomicQueue, 2,s: 12,771,671 msg/sec AtomicQueue, 2,i: 10,216,812 msg/sec AtomicQueue, 3,s: 10,086,550 msg/sec AtomicQueue, 3,i: 8,208,307 msg/sec AtomicQueue, 4,s: 7,943,857 msg/sec AtomicQueue, 4,i: 6,262,673 msg/sec AtomicQueue, 5,s: 6,016,080 msg/sec AtomicQueue, 5,i: 5,069,315 msg/sec AtomicQueue, 6,s: 5,298,870 msg/sec AtomicQueue, 6,i: 4,190,754 msg/sec AtomicQueue, 7,s: 4,696,740 msg/sec AtomicQueue, 7,i: 3,800,573 msg/sec AtomicQueue, 8,s: 4,111,284 msg/sec AtomicQueue, 8,i: 3,301,350 msg/sec OptimistAtomicQueue, 1,s: 872,845,412 msg/sec OptimistAtomicQueue, 1,i: 872,471,547 msg/sec OptimistAtomicQueue, 2,s: 95,588,299 msg/sec OptimistAtomicQueue, 2,i: 43,487,828 msg/sec OptimistAtomicQueue, 3,s: 60,221,217 msg/sec OptimistAtomicQueue, 3,i: 48,290,981 msg/sec OptimistAtomicQueue, 4,s: 63,346,018 msg/sec OptimistAtomicQueue, 4,i: 48,006,445 msg/sec OptimistAtomicQueue, 5,s: 56,947,610 msg/sec OptimistAtomicQueue, 5,i: 43,395,312 msg/sec OptimistAtomicQueue, 6,s: 56,899,059 msg/sec OptimistAtomicQueue, 6,i: 43,554,524 msg/sec OptimistAtomicQueue, 7,s: 56,269,467 msg/sec OptimistAtomicQueue, 7,i: 44,434,491 msg/sec OptimistAtomicQueue, 8,s: 57,453,287 msg/sec OptimistAtomicQueue, 8,i: 42,345,437 msg/sec AtomicQueueB, 1,s: 75,322,033 msg/sec AtomicQueueB, 1,i: 78,295,324 msg/sec AtomicQueueB, 2,s: 12,269,707 msg/sec AtomicQueueB, 2,i: 10,021,730 msg/sec AtomicQueueB, 3,s: 9,956,185 msg/sec AtomicQueueB, 3,i: 8,143,082 msg/sec AtomicQueueB, 4,s: 7,888,504 msg/sec AtomicQueueB, 4,i: 6,223,227 msg/sec AtomicQueueB, 5,s: 6,005,011 msg/sec AtomicQueueB, 5,i: 5,034,688 msg/sec AtomicQueueB, 6,s: 5,222,955 msg/sec AtomicQueueB, 6,i: 4,161,517 msg/sec AtomicQueueB, 7,s: 4,585,414 msg/sec AtomicQueueB, 7,i: 3,786,663 msg/sec AtomicQueueB, 8,s: 4,057,569 msg/sec AtomicQueueB, 8,i: 3,259,898 msg/sec OptimistAtomicQueueB, 1,s: 431,569,162 msg/sec OptimistAtomicQueueB, 1,i: 452,271,121 msg/sec OptimistAtomicQueueB, 2,s: 97,181,314 msg/sec OptimistAtomicQueueB, 2,i: 45,246,877 msg/sec OptimistAtomicQueueB, 3,s: 64,700,338 msg/sec OptimistAtomicQueueB, 3,i: 49,946,380 msg/sec OptimistAtomicQueueB, 4,s: 64,033,900 msg/sec OptimistAtomicQueueB, 4,i: 47,960,562 msg/sec OptimistAtomicQueueB, 5,s: 58,181,078 msg/sec OptimistAtomicQueueB, 5,i: 43,934,659 msg/sec OptimistAtomicQueueB, 6,s: 57,142,137 msg/sec OptimistAtomicQueueB, 6,i: 42,278,383 msg/sec OptimistAtomicQueueB, 7,s: 55,467,403 msg/sec OptimistAtomicQueueB, 7,i: 42,870,280 msg/sec OptimistAtomicQueueB, 8,s: 56,955,116 msg/sec OptimistAtomicQueueB, 8,i: 42,717,038 msg/sec AtomicQueue2, 1,s: 104,387,105 msg/sec AtomicQueue2, 1,i: 108,871,698 msg/sec AtomicQueue2, 2,s: 11,375,416 msg/sec AtomicQueue2, 2,i: 10,095,033 msg/sec AtomicQueue2, 3,s: 9,769,949 msg/sec AtomicQueue2, 3,i: 8,146,355 msg/sec AtomicQueue2, 4,s: 7,694,800 msg/sec AtomicQueue2, 4,i: 6,308,297 msg/sec AtomicQueue2, 5,s: 5,970,699 msg/sec AtomicQueue2, 5,i: 5,020,094 msg/sec AtomicQueue2, 6,s: 5,148,729 msg/sec AtomicQueue2, 6,i: 4,195,211 msg/sec AtomicQueue2, 7,s: 4,499,805 msg/sec AtomicQueue2, 7,i: 3,794,452 msg/sec AtomicQueue2, 8,s: 3,994,306 msg/sec AtomicQueue2, 8,i: 3,316,054 msg/sec OptimistAtomicQueue2, 1,s: 386,503,044 msg/sec OptimistAtomicQueue2, 1,i: 395,882,087 msg/sec OptimistAtomicQueue2, 2,s: 35,436,087 msg/sec OptimistAtomicQueue2, 2,i: 28,026,348 msg/sec OptimistAtomicQueue2, 3,s: 41,826,536 msg/sec OptimistAtomicQueue2, 3,i: 35,871,054 msg/sec OptimistAtomicQueue2, 4,s: 53,538,794 msg/sec OptimistAtomicQueue2, 4,i: 40,710,219 msg/sec OptimistAtomicQueue2, 5,s: 54,742,566 msg/sec OptimistAtomicQueue2, 5,i: 41,495,172 msg/sec OptimistAtomicQueue2, 6,s: 53,675,202 msg/sec OptimistAtomicQueue2, 6,i: 40,812,594 msg/sec OptimistAtomicQueue2, 7,s: 53,459,796 msg/sec OptimistAtomicQueue2, 7,i: 41,513,819 msg/sec OptimistAtomicQueue2, 8,s: 55,133,590 msg/sec OptimistAtomicQueue2, 8,i: 41,154,973 msg/sec AtomicQueueB2, 1,s: 78,693,242 msg/sec AtomicQueueB2, 1,i: 79,990,928 msg/sec AtomicQueueB2, 2,s: 11,783,452 msg/sec AtomicQueueB2, 2,i: 9,998,160 msg/sec AtomicQueueB2, 3,s: 9,613,809 msg/sec AtomicQueueB2, 3,i: 8,050,559 msg/sec AtomicQueueB2, 4,s: 7,608,380 msg/sec AtomicQueueB2, 4,i: 6,116,348 msg/sec AtomicQueueB2, 5,s: 5,907,863 msg/sec AtomicQueueB2, 5,i: 4,961,810 msg/sec AtomicQueueB2, 6,s: 5,072,920 msg/sec AtomicQueueB2, 6,i: 4,115,514 msg/sec AtomicQueueB2, 7,s: 4,494,946 msg/sec AtomicQueueB2, 7,i: 3,749,765 msg/sec AtomicQueueB2, 8,s: 3,958,828 msg/sec AtomicQueueB2, 8,i: 3,250,383 msg/sec OptimistAtomicQueueB2, 1,s: 130,799,786 msg/sec OptimistAtomicQueueB2, 1,i: 138,634,971 msg/sec OptimistAtomicQueueB2, 2,s: 34,797,534 msg/sec OptimistAtomicQueueB2, 2,i: 27,081,301 msg/sec OptimistAtomicQueueB2, 3,s: 41,252,710 msg/sec OptimistAtomicQueueB2, 3,i: 35,336,632 msg/sec OptimistAtomicQueueB2, 4,s: 53,242,882 msg/sec OptimistAtomicQueueB2, 4,i: 41,503,281 msg/sec OptimistAtomicQueueB2, 5,s: 53,930,230 msg/sec OptimistAtomicQueueB2, 5,i: 41,318,222 msg/sec OptimistAtomicQueueB2, 6,s: 53,578,792 msg/sec OptimistAtomicQueueB2, 6,i: 40,283,606 msg/sec OptimistAtomicQueueB2, 7,s: 52,720,663 msg/sec OptimistAtomicQueueB2, 7,i: 41,833,260 msg/sec OptimistAtomicQueueB2, 8,s: 55,760,246 msg/sec OptimistAtomicQueueB2, 8,i: 40,614,634 msg/sec moodycamel::ReaderWriterQueue, 1,s: 531,144,732 msg/sec moodycamel::ReaderWriterQueue, 1,i: 551,519,304 msg/sec moodycamel::ConcurrentQueue, 1,s: 33,748,365 msg/sec moodycamel::ConcurrentQueue, 1,i: 32,798,839 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,338,132 msg/sec moodycamel::ConcurrentQueue, 2,i: 48,566,233 msg/sec moodycamel::ConcurrentQueue, 3,s: 44,917,803 msg/sec moodycamel::ConcurrentQueue, 3,i: 69,512,081 msg/sec moodycamel::ConcurrentQueue, 4,s: 67,304,405 msg/sec moodycamel::ConcurrentQueue, 4,i: 88,831,947 msg/sec moodycamel::ConcurrentQueue, 5,s: 159,809,975 msg/sec moodycamel::ConcurrentQueue, 5,i: 156,229,602 msg/sec moodycamel::ConcurrentQueue, 6,s: 172,965,759 msg/sec moodycamel::ConcurrentQueue, 6,i: 184,783,602 msg/sec moodycamel::ConcurrentQueue, 7,s: 188,651,384 msg/sec moodycamel::ConcurrentQueue, 7,i: 199,617,202 msg/sec moodycamel::ConcurrentQueue, 8,s: 177,835,626 msg/sec moodycamel::ConcurrentQueue, 8,i: 217,539,325 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,874,135 msg/sec tbb::concurrent_bounded_queue, 1,i: 22,428,298 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,537,175 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,886,245 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,914,418 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,551,096 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,229,925 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,218,405 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,165,668 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,229,953 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,086,387 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,305,262 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,443,612 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,724,175 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,727,967 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,219,486 msg/sec xenium::michael_scott_queue, 1,s: 18,857,722 msg/sec xenium::michael_scott_queue, 1,i: 18,599,069 msg/sec xenium::michael_scott_queue, 2,s: 12,395,183 msg/sec xenium::michael_scott_queue, 2,i: 8,475,718 msg/sec xenium::michael_scott_queue, 3,s: 7,654,326 msg/sec xenium::michael_scott_queue, 3,i: 6,674,091 msg/sec xenium::michael_scott_queue, 4,s: 5,984,349 msg/sec xenium::michael_scott_queue, 4,i: 5,102,970 msg/sec xenium::michael_scott_queue, 5,s: 4,651,139 msg/sec xenium::michael_scott_queue, 5,i: 4,019,920 msg/sec xenium::michael_scott_queue, 6,s: 3,945,815 msg/sec xenium::michael_scott_queue, 6,i: 3,312,411 msg/sec xenium::michael_scott_queue, 7,s: 3,516,930 msg/sec xenium::michael_scott_queue, 7,i: 2,973,878 msg/sec xenium::michael_scott_queue, 8,s: 3,069,852 msg/sec xenium::michael_scott_queue, 8,i: 2,557,150 msg/sec xenium::ramalhete_queue, 1,s: 37,054,238 msg/sec xenium::ramalhete_queue, 1,i: 35,247,809 msg/sec xenium::ramalhete_queue, 2,s: 49,591,429 msg/sec xenium::ramalhete_queue, 2,i: 29,092,557 msg/sec xenium::ramalhete_queue, 3,s: 40,889,322 msg/sec xenium::ramalhete_queue, 3,i: 32,427,715 msg/sec xenium::ramalhete_queue, 4,s: 36,453,796 msg/sec xenium::ramalhete_queue, 4,i: 35,661,087 msg/sec xenium::ramalhete_queue, 5,s: 36,485,312 msg/sec xenium::ramalhete_queue, 5,i: 37,644,667 msg/sec xenium::ramalhete_queue, 6,s: 35,380,599 msg/sec xenium::ramalhete_queue, 6,i: 36,474,145 msg/sec xenium::ramalhete_queue, 7,s: 33,831,354 msg/sec xenium::ramalhete_queue, 7,i: 34,939,949 msg/sec xenium::ramalhete_queue, 8,s: 34,001,434 msg/sec xenium::ramalhete_queue, 8,i: 35,233,512 msg/sec xenium::vyukov_bounded_queue, 1,s: 125,537,859 msg/sec xenium::vyukov_bounded_queue, 1,i: 132,964,849 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,636,539 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,800,725 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,020,154 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,886,107 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,765,515 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,434,243 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,735,756 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,593,697 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,339,902 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,617,043 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,165,875 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,545,537 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,795,931 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,462,614 msg/sec boost::lockfree::queue, 1,s: 15,765,366 msg/sec boost::lockfree::queue, 1,i: 15,711,492 msg/sec boost::lockfree::queue, 2,s: 5,909,196 msg/sec boost::lockfree::queue, 2,i: 6,093,135 msg/sec boost::lockfree::queue, 3,s: 5,464,610 msg/sec boost::lockfree::queue, 3,i: 5,450,035 msg/sec boost::lockfree::queue, 4,s: 4,072,269 msg/sec boost::lockfree::queue, 4,i: 4,060,125 msg/sec boost::lockfree::queue, 5,s: 3,368,772 msg/sec boost::lockfree::queue, 5,i: 3,309,538 msg/sec boost::lockfree::queue, 6,s: 2,233,561 msg/sec boost::lockfree::queue, 6,i: 2,414,340 msg/sec boost::lockfree::queue, 7,s: 2,026,087 msg/sec boost::lockfree::queue, 7,i: 2,079,924 msg/sec boost::lockfree::queue, 8,s: 1,641,009 msg/sec boost::lockfree::queue, 8,i: 1,816,535 msg/sec std::mutex, 1,s: 13,378,424 msg/sec std::mutex, 1,i: 13,416,021 msg/sec std::mutex, 2,s: 9,274,963 msg/sec std::mutex, 2,i: 9,425,380 msg/sec std::mutex, 3,s: 5,341,168 msg/sec std::mutex, 3,i: 5,344,163 msg/sec std::mutex, 4,s: 4,118,944 msg/sec std::mutex, 4,i: 4,203,173 msg/sec std::mutex, 5,s: 3,762,844 msg/sec std::mutex, 5,i: 3,829,692 msg/sec std::mutex, 6,s: 3,647,873 msg/sec std::mutex, 6,i: 3,749,151 msg/sec std::mutex, 7,s: 3,742,494 msg/sec std::mutex, 7,i: 3,733,814 msg/sec std::mutex, 8,s: 3,477,247 msg/sec std::mutex, 8,i: 3,573,291 msg/sec pthread_spinlock, 1,s: 33,305,637 msg/sec pthread_spinlock, 1,i: 32,331,137 msg/sec pthread_spinlock, 2,s: 10,679,010 msg/sec pthread_spinlock, 2,i: 10,302,108 msg/sec pthread_spinlock, 3,s: 9,345,894 msg/sec pthread_spinlock, 3,i: 8,718,127 msg/sec pthread_spinlock, 4,s: 7,437,919 msg/sec pthread_spinlock, 4,i: 7,689,772 msg/sec pthread_spinlock, 5,s: 6,628,078 msg/sec pthread_spinlock, 5,i: 6,855,639 msg/sec pthread_spinlock, 6,s: 5,556,577 msg/sec pthread_spinlock, 6,i: 5,491,268 msg/sec pthread_spinlock, 7,s: 2,503,305 msg/sec pthread_spinlock, 7,i: 4,681,560 msg/sec pthread_spinlock, 8,s: 2,962,416 msg/sec pthread_spinlock, 8,i: 2,181,995 msg/sec tbb::spin_mutex, 1,s: 83,909,141 msg/sec tbb::spin_mutex, 1,i: 84,797,041 msg/sec tbb::spin_mutex, 2,s: 18,829,805 msg/sec tbb::spin_mutex, 2,i: 17,673,659 msg/sec tbb::spin_mutex, 3,s: 11,264,746 msg/sec tbb::spin_mutex, 3,i: 10,878,456 msg/sec tbb::spin_mutex, 4,s: 7,279,669 msg/sec tbb::spin_mutex, 4,i: 7,365,854 msg/sec tbb::spin_mutex, 5,s: 5,515,893 msg/sec tbb::spin_mutex, 5,i: 5,720,263 msg/sec tbb::spin_mutex, 6,s: 4,236,219 msg/sec tbb::spin_mutex, 6,i: 4,378,040 msg/sec tbb::spin_mutex, 7,s: 3,746,449 msg/sec tbb::spin_mutex, 7,i: 3,686,374 msg/sec tbb::spin_mutex, 8,s: 2,962,966 msg/sec tbb::spin_mutex, 8,i: 3,026,531 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1004.77 System time (seconds): 114.54 Percent of CPU this job got: 914% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.37 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 62968 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24339 Voluntary context switches: 8602224 Involuntary context switches: 260 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:36:02 [9/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000038 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000040 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000045 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000073 sec/round-trip tbb::concurrent_bounded_queue: 0.000000102 sec/round-trip xenium::michael_scott_queue: 0.000000162 sec/round-trip xenium::ramalhete_queue: 0.000000069 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000108 sec/round-trip std::mutex: 0.000000398 sec/round-trip pthread_spinlock: 0.000000120 sec/round-trip tbb::spin_mutex: 0.000000105 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 151,347,065 msg/sec boost::lockfree::spsc_queue, 1,i: 137,815,667 msg/sec AtomicQueue, 1,s: 105,163,616 msg/sec AtomicQueue, 1,i: 105,348,209 msg/sec AtomicQueue, 2,s: 12,673,764 msg/sec AtomicQueue, 2,i: 10,247,039 msg/sec AtomicQueue, 3,s: 9,997,903 msg/sec AtomicQueue, 3,i: 8,153,725 msg/sec AtomicQueue, 4,s: 7,895,786 msg/sec AtomicQueue, 4,i: 6,247,099 msg/sec AtomicQueue, 5,s: 6,084,961 msg/sec AtomicQueue, 5,i: 5,048,355 msg/sec AtomicQueue, 6,s: 5,287,361 msg/sec AtomicQueue, 6,i: 4,177,571 msg/sec AtomicQueue, 7,s: 4,615,109 msg/sec AtomicQueue, 7,i: 3,806,017 msg/sec AtomicQueue, 8,s: 4,068,489 msg/sec AtomicQueue, 8,i: 3,290,228 msg/sec OptimistAtomicQueue, 1,s: 856,273,914 msg/sec OptimistAtomicQueue, 1,i: 870,189,541 msg/sec OptimistAtomicQueue, 2,s: 94,281,822 msg/sec OptimistAtomicQueue, 2,i: 42,846,282 msg/sec OptimistAtomicQueue, 3,s: 60,134,066 msg/sec OptimistAtomicQueue, 3,i: 48,749,076 msg/sec OptimistAtomicQueue, 4,s: 65,025,793 msg/sec OptimistAtomicQueue, 4,i: 47,430,298 msg/sec OptimistAtomicQueue, 5,s: 57,514,171 msg/sec OptimistAtomicQueue, 5,i: 45,315,429 msg/sec OptimistAtomicQueue, 6,s: 58,430,689 msg/sec OptimistAtomicQueue, 6,i: 43,104,350 msg/sec OptimistAtomicQueue, 7,s: 56,236,590 msg/sec OptimistAtomicQueue, 7,i: 44,085,843 msg/sec OptimistAtomicQueue, 8,s: 57,487,637 msg/sec OptimistAtomicQueue, 8,i: 42,379,438 msg/sec AtomicQueueB, 1,s: 77,719,368 msg/sec AtomicQueueB, 1,i: 78,016,923 msg/sec AtomicQueueB, 2,s: 12,406,327 msg/sec AtomicQueueB, 2,i: 10,065,063 msg/sec AtomicQueueB, 3,s: 9,972,537 msg/sec AtomicQueueB, 3,i: 8,122,883 msg/sec AtomicQueueB, 4,s: 7,917,651 msg/sec AtomicQueueB, 4,i: 6,218,604 msg/sec AtomicQueueB, 5,s: 6,084,267 msg/sec AtomicQueueB, 5,i: 5,062,235 msg/sec AtomicQueueB, 6,s: 5,275,092 msg/sec AtomicQueueB, 6,i: 4,146,546 msg/sec AtomicQueueB, 7,s: 4,561,506 msg/sec AtomicQueueB, 7,i: 3,745,672 msg/sec AtomicQueueB, 8,s: 4,016,590 msg/sec AtomicQueueB, 8,i: 3,256,388 msg/sec OptimistAtomicQueueB, 1,s: 435,297,812 msg/sec OptimistAtomicQueueB, 1,i: 447,307,211 msg/sec OptimistAtomicQueueB, 2,s: 86,707,798 msg/sec OptimistAtomicQueueB, 2,i: 45,319,441 msg/sec OptimistAtomicQueueB, 3,s: 64,238,611 msg/sec OptimistAtomicQueueB, 3,i: 49,999,549 msg/sec OptimistAtomicQueueB, 4,s: 64,342,591 msg/sec OptimistAtomicQueueB, 4,i: 47,234,544 msg/sec OptimistAtomicQueueB, 5,s: 57,202,675 msg/sec OptimistAtomicQueueB, 5,i: 43,706,063 msg/sec OptimistAtomicQueueB, 6,s: 56,696,017 msg/sec OptimistAtomicQueueB, 6,i: 42,451,659 msg/sec OptimistAtomicQueueB, 7,s: 56,219,168 msg/sec OptimistAtomicQueueB, 7,i: 43,497,868 msg/sec OptimistAtomicQueueB, 8,s: 56,535,523 msg/sec OptimistAtomicQueueB, 8,i: 41,988,617 msg/sec AtomicQueue2, 1,s: 103,079,826 msg/sec AtomicQueue2, 1,i: 109,203,923 msg/sec AtomicQueue2, 2,s: 11,539,936 msg/sec AtomicQueue2, 2,i: 10,169,800 msg/sec AtomicQueue2, 3,s: 9,785,451 msg/sec AtomicQueue2, 3,i: 8,159,987 msg/sec AtomicQueue2, 4,s: 7,655,379 msg/sec AtomicQueue2, 4,i: 6,290,604 msg/sec AtomicQueue2, 5,s: 5,944,953 msg/sec AtomicQueue2, 5,i: 5,024,349 msg/sec AtomicQueue2, 6,s: 5,129,843 msg/sec AtomicQueue2, 6,i: 4,199,812 msg/sec AtomicQueue2, 7,s: 4,493,706 msg/sec AtomicQueue2, 7,i: 3,795,058 msg/sec AtomicQueue2, 8,s: 3,969,227 msg/sec AtomicQueue2, 8,i: 3,285,523 msg/sec OptimistAtomicQueue2, 1,s: 385,336,154 msg/sec OptimistAtomicQueue2, 1,i: 395,878,947 msg/sec OptimistAtomicQueue2, 2,s: 35,247,933 msg/sec OptimistAtomicQueue2, 2,i: 29,441,089 msg/sec OptimistAtomicQueue2, 3,s: 41,897,610 msg/sec OptimistAtomicQueue2, 3,i: 35,845,469 msg/sec OptimistAtomicQueue2, 4,s: 53,168,912 msg/sec OptimistAtomicQueue2, 4,i: 40,894,802 msg/sec OptimistAtomicQueue2, 5,s: 54,596,944 msg/sec OptimistAtomicQueue2, 5,i: 41,473,170 msg/sec OptimistAtomicQueue2, 6,s: 53,979,309 msg/sec OptimistAtomicQueue2, 6,i: 40,097,897 msg/sec OptimistAtomicQueue2, 7,s: 54,303,964 msg/sec OptimistAtomicQueue2, 7,i: 42,203,022 msg/sec OptimistAtomicQueue2, 8,s: 55,185,474 msg/sec OptimistAtomicQueue2, 8,i: 40,440,904 msg/sec AtomicQueueB2, 1,s: 78,320,760 msg/sec AtomicQueueB2, 1,i: 79,398,882 msg/sec AtomicQueueB2, 2,s: 11,310,899 msg/sec AtomicQueueB2, 2,i: 9,838,112 msg/sec AtomicQueueB2, 3,s: 9,623,038 msg/sec AtomicQueueB2, 3,i: 7,915,071 msg/sec AtomicQueueB2, 4,s: 7,606,499 msg/sec AtomicQueueB2, 4,i: 6,109,460 msg/sec AtomicQueueB2, 5,s: 5,906,192 msg/sec AtomicQueueB2, 5,i: 4,952,275 msg/sec AtomicQueueB2, 6,s: 5,062,677 msg/sec AtomicQueueB2, 6,i: 4,115,565 msg/sec AtomicQueueB2, 7,s: 4,479,541 msg/sec AtomicQueueB2, 7,i: 3,726,785 msg/sec AtomicQueueB2, 8,s: 3,936,888 msg/sec AtomicQueueB2, 8,i: 3,239,559 msg/sec OptimistAtomicQueueB2, 1,s: 124,485,204 msg/sec OptimistAtomicQueueB2, 1,i: 131,400,939 msg/sec OptimistAtomicQueueB2, 2,s: 35,002,267 msg/sec OptimistAtomicQueueB2, 2,i: 28,141,172 msg/sec OptimistAtomicQueueB2, 3,s: 40,552,454 msg/sec OptimistAtomicQueueB2, 3,i: 39,270,810 msg/sec OptimistAtomicQueueB2, 4,s: 53,105,062 msg/sec OptimistAtomicQueueB2, 4,i: 43,782,272 msg/sec OptimistAtomicQueueB2, 5,s: 55,098,163 msg/sec OptimistAtomicQueueB2, 5,i: 41,776,820 msg/sec OptimistAtomicQueueB2, 6,s: 53,992,770 msg/sec OptimistAtomicQueueB2, 6,i: 41,311,379 msg/sec OptimistAtomicQueueB2, 7,s: 53,373,917 msg/sec OptimistAtomicQueueB2, 7,i: 41,202,127 msg/sec OptimistAtomicQueueB2, 8,s: 54,771,345 msg/sec OptimistAtomicQueueB2, 8,i: 40,423,575 msg/sec moodycamel::ReaderWriterQueue, 1,s: 530,692,869 msg/sec moodycamel::ReaderWriterQueue, 1,i: 547,964,534 msg/sec moodycamel::ConcurrentQueue, 1,s: 33,756,309 msg/sec moodycamel::ConcurrentQueue, 1,i: 32,658,079 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,358,227 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,336,697 msg/sec moodycamel::ConcurrentQueue, 3,s: 43,890,600 msg/sec moodycamel::ConcurrentQueue, 3,i: 67,251,344 msg/sec moodycamel::ConcurrentQueue, 4,s: 81,705,176 msg/sec moodycamel::ConcurrentQueue, 4,i: 90,289,588 msg/sec moodycamel::ConcurrentQueue, 5,s: 148,692,798 msg/sec moodycamel::ConcurrentQueue, 5,i: 159,921,617 msg/sec moodycamel::ConcurrentQueue, 6,s: 170,684,624 msg/sec moodycamel::ConcurrentQueue, 6,i: 187,319,383 msg/sec moodycamel::ConcurrentQueue, 7,s: 175,198,921 msg/sec moodycamel::ConcurrentQueue, 7,i: 196,192,885 msg/sec moodycamel::ConcurrentQueue, 8,s: 159,313,323 msg/sec moodycamel::ConcurrentQueue, 8,i: 214,361,805 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,730,979 msg/sec tbb::concurrent_bounded_queue, 1,i: 22,053,446 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,543,783 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,973,856 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,904,758 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,487,634 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,198,671 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,307,051 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,112,083 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,149,403 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,100,382 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,258,770 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,411,658 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,699,230 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,712,222 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,225,225 msg/sec xenium::michael_scott_queue, 1,s: 18,451,030 msg/sec xenium::michael_scott_queue, 1,i: 18,619,929 msg/sec xenium::michael_scott_queue, 2,s: 12,307,782 msg/sec xenium::michael_scott_queue, 2,i: 8,717,434 msg/sec xenium::michael_scott_queue, 3,s: 7,642,544 msg/sec xenium::michael_scott_queue, 3,i: 6,727,835 msg/sec xenium::michael_scott_queue, 4,s: 6,019,462 msg/sec xenium::michael_scott_queue, 4,i: 5,067,167 msg/sec xenium::michael_scott_queue, 5,s: 4,575,428 msg/sec xenium::michael_scott_queue, 5,i: 3,984,412 msg/sec xenium::michael_scott_queue, 6,s: 3,886,229 msg/sec xenium::michael_scott_queue, 6,i: 3,291,147 msg/sec xenium::michael_scott_queue, 7,s: 3,526,475 msg/sec xenium::michael_scott_queue, 7,i: 2,946,039 msg/sec xenium::michael_scott_queue, 8,s: 3,049,063 msg/sec xenium::michael_scott_queue, 8,i: 2,535,936 msg/sec xenium::ramalhete_queue, 1,s: 51,914,824 msg/sec xenium::ramalhete_queue, 1,i: 35,234,744 msg/sec xenium::ramalhete_queue, 2,s: 49,040,456 msg/sec xenium::ramalhete_queue, 2,i: 30,643,799 msg/sec xenium::ramalhete_queue, 3,s: 39,363,335 msg/sec xenium::ramalhete_queue, 3,i: 30,517,679 msg/sec xenium::ramalhete_queue, 4,s: 37,293,094 msg/sec xenium::ramalhete_queue, 4,i: 35,321,880 msg/sec xenium::ramalhete_queue, 5,s: 36,366,929 msg/sec xenium::ramalhete_queue, 5,i: 37,286,240 msg/sec xenium::ramalhete_queue, 6,s: 35,052,060 msg/sec xenium::ramalhete_queue, 6,i: 36,924,618 msg/sec xenium::ramalhete_queue, 7,s: 34,567,160 msg/sec xenium::ramalhete_queue, 7,i: 34,808,312 msg/sec xenium::ramalhete_queue, 8,s: 33,491,852 msg/sec xenium::ramalhete_queue, 8,i: 34,390,665 msg/sec xenium::vyukov_bounded_queue, 1,s: 117,910,642 msg/sec xenium::vyukov_bounded_queue, 1,i: 135,443,510 msg/sec xenium::vyukov_bounded_queue, 2,s: 43,364,485 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,969,812 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,409,640 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,984,357 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,820,502 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,720,997 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,361,792 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,562,922 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,457,764 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,859,069 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,092,249 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,617,158 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,585,519 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,125,236 msg/sec boost::lockfree::queue, 1,s: 15,632,917 msg/sec boost::lockfree::queue, 1,i: 15,685,359 msg/sec boost::lockfree::queue, 2,s: 5,904,187 msg/sec boost::lockfree::queue, 2,i: 6,057,084 msg/sec boost::lockfree::queue, 3,s: 5,460,543 msg/sec boost::lockfree::queue, 3,i: 5,460,518 msg/sec boost::lockfree::queue, 4,s: 4,061,512 msg/sec boost::lockfree::queue, 4,i: 4,053,543 msg/sec boost::lockfree::queue, 5,s: 3,361,956 msg/sec boost::lockfree::queue, 5,i: 3,293,689 msg/sec boost::lockfree::queue, 6,s: 2,226,143 msg/sec boost::lockfree::queue, 6,i: 2,404,085 msg/sec boost::lockfree::queue, 7,s: 2,055,501 msg/sec boost::lockfree::queue, 7,i: 2,070,043 msg/sec boost::lockfree::queue, 8,s: 1,640,805 msg/sec boost::lockfree::queue, 8,i: 1,810,853 msg/sec std::mutex, 1,s: 13,288,002 msg/sec std::mutex, 1,i: 13,304,737 msg/sec std::mutex, 2,s: 12,912,009 msg/sec std::mutex, 2,i: 9,395,885 msg/sec std::mutex, 3,s: 5,584,566 msg/sec std::mutex, 3,i: 5,481,417 msg/sec std::mutex, 4,s: 4,096,318 msg/sec std::mutex, 4,i: 4,342,251 msg/sec std::mutex, 5,s: 3,862,739 msg/sec std::mutex, 5,i: 3,934,423 msg/sec std::mutex, 6,s: 3,613,311 msg/sec std::mutex, 6,i: 3,696,084 msg/sec std::mutex, 7,s: 3,776,025 msg/sec std::mutex, 7,i: 3,734,995 msg/sec std::mutex, 8,s: 3,622,518 msg/sec std::mutex, 8,i: 3,590,745 msg/sec pthread_spinlock, 1,s: 32,487,995 msg/sec pthread_spinlock, 1,i: 32,012,339 msg/sec pthread_spinlock, 2,s: 10,703,684 msg/sec pthread_spinlock, 2,i: 10,328,361 msg/sec pthread_spinlock, 3,s: 9,440,081 msg/sec pthread_spinlock, 3,i: 8,677,890 msg/sec pthread_spinlock, 4,s: 7,457,726 msg/sec pthread_spinlock, 4,i: 7,705,312 msg/sec pthread_spinlock, 5,s: 6,592,484 msg/sec pthread_spinlock, 5,i: 6,824,807 msg/sec pthread_spinlock, 6,s: 5,561,043 msg/sec pthread_spinlock, 6,i: 5,288,276 msg/sec pthread_spinlock, 7,s: 2,641,015 msg/sec pthread_spinlock, 7,i: 4,469,361 msg/sec pthread_spinlock, 8,s: 2,965,052 msg/sec pthread_spinlock, 8,i: 4,466,275 msg/sec tbb::spin_mutex, 1,s: 86,913,171 msg/sec tbb::spin_mutex, 1,i: 85,838,006 msg/sec tbb::spin_mutex, 2,s: 18,718,341 msg/sec tbb::spin_mutex, 2,i: 17,625,333 msg/sec tbb::spin_mutex, 3,s: 11,214,688 msg/sec tbb::spin_mutex, 3,i: 10,906,350 msg/sec tbb::spin_mutex, 4,s: 7,290,512 msg/sec tbb::spin_mutex, 4,i: 7,250,957 msg/sec tbb::spin_mutex, 5,s: 5,515,586 msg/sec tbb::spin_mutex, 5,i: 5,670,428 msg/sec tbb::spin_mutex, 6,s: 4,343,955 msg/sec tbb::spin_mutex, 6,i: 4,527,336 msg/sec tbb::spin_mutex, 7,s: 3,785,349 msg/sec tbb::spin_mutex, 7,i: 3,749,124 msg/sec tbb::spin_mutex, 8,s: 2,961,265 msg/sec tbb::spin_mutex, 8,i: 3,009,166 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1000.93 System time (seconds): 114.34 Percent of CPU this job got: 911% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.35 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 66812 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25315 Voluntary context switches: 8383435 Involuntary context switches: 278 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:38:04 [10/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000058 sec/round-trip AtomicQueue: 0.000000047 sec/round-trip OptimistAtomicQueue: 0.000000038 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000040 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000044 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000045 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000073 sec/round-trip tbb::concurrent_bounded_queue: 0.000000102 sec/round-trip xenium::michael_scott_queue: 0.000000162 sec/round-trip xenium::ramalhete_queue: 0.000000069 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000109 sec/round-trip std::mutex: 0.000000392 sec/round-trip pthread_spinlock: 0.000000120 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 150,505,611 msg/sec boost::lockfree::spsc_queue, 1,i: 137,776,287 msg/sec AtomicQueue, 1,s: 104,368,658 msg/sec AtomicQueue, 1,i: 104,394,202 msg/sec AtomicQueue, 2,s: 12,854,721 msg/sec AtomicQueue, 2,i: 10,267,686 msg/sec AtomicQueue, 3,s: 10,158,737 msg/sec AtomicQueue, 3,i: 8,164,569 msg/sec AtomicQueue, 4,s: 7,916,781 msg/sec AtomicQueue, 4,i: 6,262,430 msg/sec AtomicQueue, 5,s: 6,219,755 msg/sec AtomicQueue, 5,i: 5,032,903 msg/sec AtomicQueue, 6,s: 5,331,058 msg/sec AtomicQueue, 6,i: 4,177,715 msg/sec AtomicQueue, 7,s: 4,651,318 msg/sec AtomicQueue, 7,i: 3,803,080 msg/sec AtomicQueue, 8,s: 4,063,532 msg/sec AtomicQueue, 8,i: 3,291,249 msg/sec OptimistAtomicQueue, 1,s: 872,136,104 msg/sec OptimistAtomicQueue, 1,i: 876,116,992 msg/sec OptimistAtomicQueue, 2,s: 58,015,907 msg/sec OptimistAtomicQueue, 2,i: 43,159,846 msg/sec OptimistAtomicQueue, 3,s: 58,613,926 msg/sec OptimistAtomicQueue, 3,i: 48,834,848 msg/sec OptimistAtomicQueue, 4,s: 65,299,940 msg/sec OptimistAtomicQueue, 4,i: 48,295,347 msg/sec OptimistAtomicQueue, 5,s: 58,409,953 msg/sec OptimistAtomicQueue, 5,i: 44,703,154 msg/sec OptimistAtomicQueue, 6,s: 57,476,694 msg/sec OptimistAtomicQueue, 6,i: 42,833,846 msg/sec OptimistAtomicQueue, 7,s: 55,293,297 msg/sec OptimistAtomicQueue, 7,i: 44,708,268 msg/sec OptimistAtomicQueue, 8,s: 58,351,696 msg/sec OptimistAtomicQueue, 8,i: 42,757,608 msg/sec AtomicQueueB, 1,s: 76,407,517 msg/sec AtomicQueueB, 1,i: 77,326,421 msg/sec AtomicQueueB, 2,s: 12,273,108 msg/sec AtomicQueueB, 2,i: 9,954,120 msg/sec AtomicQueueB, 3,s: 9,907,738 msg/sec AtomicQueueB, 3,i: 8,125,822 msg/sec AtomicQueueB, 4,s: 7,871,919 msg/sec AtomicQueueB, 4,i: 6,168,174 msg/sec AtomicQueueB, 5,s: 6,095,776 msg/sec AtomicQueueB, 5,i: 5,001,554 msg/sec AtomicQueueB, 6,s: 5,228,205 msg/sec AtomicQueueB, 6,i: 4,126,041 msg/sec AtomicQueueB, 7,s: 4,538,089 msg/sec AtomicQueueB, 7,i: 3,749,092 msg/sec AtomicQueueB, 8,s: 3,994,373 msg/sec AtomicQueueB, 8,i: 3,245,179 msg/sec OptimistAtomicQueueB, 1,s: 440,844,685 msg/sec OptimistAtomicQueueB, 1,i: 455,867,509 msg/sec OptimistAtomicQueueB, 2,s: 97,726,162 msg/sec OptimistAtomicQueueB, 2,i: 45,425,872 msg/sec OptimistAtomicQueueB, 3,s: 64,846,792 msg/sec OptimistAtomicQueueB, 3,i: 48,626,217 msg/sec OptimistAtomicQueueB, 4,s: 63,951,719 msg/sec OptimistAtomicQueueB, 4,i: 46,970,444 msg/sec OptimistAtomicQueueB, 5,s: 57,678,461 msg/sec OptimistAtomicQueueB, 5,i: 43,930,153 msg/sec OptimistAtomicQueueB, 6,s: 57,665,679 msg/sec OptimistAtomicQueueB, 6,i: 42,283,452 msg/sec OptimistAtomicQueueB, 7,s: 55,383,471 msg/sec OptimistAtomicQueueB, 7,i: 43,286,434 msg/sec OptimistAtomicQueueB, 8,s: 56,434,509 msg/sec OptimistAtomicQueueB, 8,i: 42,036,577 msg/sec AtomicQueue2, 1,s: 106,145,685 msg/sec AtomicQueue2, 1,i: 109,574,739 msg/sec AtomicQueue2, 2,s: 11,354,119 msg/sec AtomicQueue2, 2,i: 9,992,279 msg/sec AtomicQueue2, 3,s: 9,613,831 msg/sec AtomicQueue2, 3,i: 8,173,231 msg/sec AtomicQueue2, 4,s: 7,693,886 msg/sec AtomicQueue2, 4,i: 6,216,633 msg/sec AtomicQueue2, 5,s: 5,970,832 msg/sec AtomicQueue2, 5,i: 5,008,743 msg/sec AtomicQueue2, 6,s: 5,114,512 msg/sec AtomicQueue2, 6,i: 4,187,392 msg/sec AtomicQueue2, 7,s: 4,482,202 msg/sec AtomicQueue2, 7,i: 3,776,070 msg/sec AtomicQueue2, 8,s: 3,962,747 msg/sec AtomicQueue2, 8,i: 3,280,510 msg/sec OptimistAtomicQueue2, 1,s: 374,430,714 msg/sec OptimistAtomicQueue2, 1,i: 378,572,025 msg/sec OptimistAtomicQueue2, 2,s: 34,926,156 msg/sec OptimistAtomicQueue2, 2,i: 27,162,548 msg/sec OptimistAtomicQueue2, 3,s: 41,094,918 msg/sec OptimistAtomicQueue2, 3,i: 39,254,439 msg/sec OptimistAtomicQueue2, 4,s: 53,298,666 msg/sec OptimistAtomicQueue2, 4,i: 40,485,178 msg/sec OptimistAtomicQueue2, 5,s: 54,012,034 msg/sec OptimistAtomicQueue2, 5,i: 41,857,764 msg/sec OptimistAtomicQueue2, 6,s: 53,322,036 msg/sec OptimistAtomicQueue2, 6,i: 40,799,198 msg/sec OptimistAtomicQueue2, 7,s: 53,514,284 msg/sec OptimistAtomicQueue2, 7,i: 41,372,918 msg/sec OptimistAtomicQueue2, 8,s: 55,337,662 msg/sec OptimistAtomicQueue2, 8,i: 40,540,810 msg/sec AtomicQueueB2, 1,s: 78,397,782 msg/sec AtomicQueueB2, 1,i: 79,606,661 msg/sec AtomicQueueB2, 2,s: 11,588,170 msg/sec AtomicQueueB2, 2,i: 9,809,934 msg/sec AtomicQueueB2, 3,s: 9,700,798 msg/sec AtomicQueueB2, 3,i: 8,046,943 msg/sec AtomicQueueB2, 4,s: 7,576,091 msg/sec AtomicQueueB2, 4,i: 6,122,789 msg/sec AtomicQueueB2, 5,s: 5,882,422 msg/sec AtomicQueueB2, 5,i: 4,968,307 msg/sec AtomicQueueB2, 6,s: 5,041,920 msg/sec AtomicQueueB2, 6,i: 4,104,932 msg/sec AtomicQueueB2, 7,s: 4,443,571 msg/sec AtomicQueueB2, 7,i: 3,740,275 msg/sec AtomicQueueB2, 8,s: 3,958,616 msg/sec AtomicQueueB2, 8,i: 3,231,958 msg/sec OptimistAtomicQueueB2, 1,s: 125,074,405 msg/sec OptimistAtomicQueueB2, 1,i: 131,617,363 msg/sec OptimistAtomicQueueB2, 2,s: 35,136,962 msg/sec OptimistAtomicQueueB2, 2,i: 27,533,639 msg/sec OptimistAtomicQueueB2, 3,s: 41,224,494 msg/sec OptimistAtomicQueueB2, 3,i: 35,228,646 msg/sec OptimistAtomicQueueB2, 4,s: 52,795,223 msg/sec OptimistAtomicQueueB2, 4,i: 40,954,524 msg/sec OptimistAtomicQueueB2, 5,s: 53,814,877 msg/sec OptimistAtomicQueueB2, 5,i: 40,927,603 msg/sec OptimistAtomicQueueB2, 6,s: 53,459,954 msg/sec OptimistAtomicQueueB2, 6,i: 40,236,559 msg/sec OptimistAtomicQueueB2, 7,s: 53,602,400 msg/sec OptimistAtomicQueueB2, 7,i: 41,680,332 msg/sec OptimistAtomicQueueB2, 8,s: 55,580,367 msg/sec OptimistAtomicQueueB2, 8,i: 41,225,433 msg/sec moodycamel::ReaderWriterQueue, 1,s: 532,774,984 msg/sec moodycamel::ReaderWriterQueue, 1,i: 551,059,507 msg/sec moodycamel::ConcurrentQueue, 1,s: 33,341,974 msg/sec moodycamel::ConcurrentQueue, 1,i: 32,292,287 msg/sec moodycamel::ConcurrentQueue, 2,s: 33,689,414 msg/sec moodycamel::ConcurrentQueue, 2,i: 40,412,756 msg/sec moodycamel::ConcurrentQueue, 3,s: 45,029,828 msg/sec moodycamel::ConcurrentQueue, 3,i: 49,865,929 msg/sec moodycamel::ConcurrentQueue, 4,s: 75,110,605 msg/sec moodycamel::ConcurrentQueue, 4,i: 90,162,350 msg/sec moodycamel::ConcurrentQueue, 5,s: 140,775,323 msg/sec moodycamel::ConcurrentQueue, 5,i: 142,571,047 msg/sec moodycamel::ConcurrentQueue, 6,s: 167,858,836 msg/sec moodycamel::ConcurrentQueue, 6,i: 164,495,623 msg/sec moodycamel::ConcurrentQueue, 7,s: 185,363,623 msg/sec moodycamel::ConcurrentQueue, 7,i: 166,828,128 msg/sec moodycamel::ConcurrentQueue, 8,s: 192,088,884 msg/sec moodycamel::ConcurrentQueue, 8,i: 168,357,398 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,757,769 msg/sec tbb::concurrent_bounded_queue, 1,i: 22,109,891 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,466,041 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,993,923 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,858,807 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,386,376 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,192,567 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,328,866 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,109,811 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,185,764 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,106,424 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,291,807 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,424,288 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,693,242 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,708,066 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,218,003 msg/sec xenium::michael_scott_queue, 1,s: 18,519,993 msg/sec xenium::michael_scott_queue, 1,i: 18,535,600 msg/sec xenium::michael_scott_queue, 2,s: 12,414,847 msg/sec xenium::michael_scott_queue, 2,i: 8,836,227 msg/sec xenium::michael_scott_queue, 3,s: 7,745,199 msg/sec xenium::michael_scott_queue, 3,i: 6,675,967 msg/sec xenium::michael_scott_queue, 4,s: 6,031,777 msg/sec xenium::michael_scott_queue, 4,i: 4,959,661 msg/sec xenium::michael_scott_queue, 5,s: 4,602,600 msg/sec xenium::michael_scott_queue, 5,i: 3,980,222 msg/sec xenium::michael_scott_queue, 6,s: 3,917,789 msg/sec xenium::michael_scott_queue, 6,i: 3,280,588 msg/sec xenium::michael_scott_queue, 7,s: 3,467,219 msg/sec xenium::michael_scott_queue, 7,i: 2,918,355 msg/sec xenium::michael_scott_queue, 8,s: 3,041,547 msg/sec xenium::michael_scott_queue, 8,i: 2,528,276 msg/sec xenium::ramalhete_queue, 1,s: 36,840,098 msg/sec xenium::ramalhete_queue, 1,i: 35,504,459 msg/sec xenium::ramalhete_queue, 2,s: 48,548,138 msg/sec xenium::ramalhete_queue, 2,i: 30,460,582 msg/sec xenium::ramalhete_queue, 3,s: 44,534,497 msg/sec xenium::ramalhete_queue, 3,i: 31,465,680 msg/sec xenium::ramalhete_queue, 4,s: 39,341,829 msg/sec xenium::ramalhete_queue, 4,i: 34,746,352 msg/sec xenium::ramalhete_queue, 5,s: 36,226,221 msg/sec xenium::ramalhete_queue, 5,i: 36,229,522 msg/sec xenium::ramalhete_queue, 6,s: 34,928,255 msg/sec xenium::ramalhete_queue, 6,i: 37,010,907 msg/sec xenium::ramalhete_queue, 7,s: 34,379,215 msg/sec xenium::ramalhete_queue, 7,i: 36,102,805 msg/sec xenium::ramalhete_queue, 8,s: 33,735,064 msg/sec xenium::ramalhete_queue, 8,i: 34,726,876 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,838,369 msg/sec xenium::vyukov_bounded_queue, 1,i: 132,665,458 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,985,348 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,780,159 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,118,917 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,956,645 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,559,001 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,344,247 msg/sec xenium::vyukov_bounded_queue, 5,s: 13,116,659 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,188,390 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,318,282 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,636,088 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,009,078 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,585,321 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,151 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,357,913 msg/sec boost::lockfree::queue, 1,s: 15,583,147 msg/sec boost::lockfree::queue, 1,i: 15,602,072 msg/sec boost::lockfree::queue, 2,s: 5,895,778 msg/sec boost::lockfree::queue, 2,i: 6,018,731 msg/sec boost::lockfree::queue, 3,s: 5,440,504 msg/sec boost::lockfree::queue, 3,i: 5,456,293 msg/sec boost::lockfree::queue, 4,s: 4,053,007 msg/sec boost::lockfree::queue, 4,i: 4,068,012 msg/sec boost::lockfree::queue, 5,s: 3,360,462 msg/sec boost::lockfree::queue, 5,i: 3,314,099 msg/sec boost::lockfree::queue, 6,s: 2,228,768 msg/sec boost::lockfree::queue, 6,i: 2,413,543 msg/sec boost::lockfree::queue, 7,s: 2,055,532 msg/sec boost::lockfree::queue, 7,i: 2,077,548 msg/sec boost::lockfree::queue, 8,s: 1,636,156 msg/sec boost::lockfree::queue, 8,i: 1,810,745 msg/sec std::mutex, 1,s: 13,201,772 msg/sec std::mutex, 1,i: 13,096,833 msg/sec std::mutex, 2,s: 8,763,416 msg/sec std::mutex, 2,i: 8,973,409 msg/sec std::mutex, 3,s: 5,378,801 msg/sec std::mutex, 3,i: 5,479,884 msg/sec std::mutex, 4,s: 4,202,432 msg/sec std::mutex, 4,i: 4,266,746 msg/sec std::mutex, 5,s: 3,712,177 msg/sec std::mutex, 5,i: 3,818,563 msg/sec std::mutex, 6,s: 3,699,542 msg/sec std::mutex, 6,i: 3,796,117 msg/sec std::mutex, 7,s: 3,722,256 msg/sec std::mutex, 7,i: 3,749,368 msg/sec std::mutex, 8,s: 3,539,869 msg/sec std::mutex, 8,i: 3,497,439 msg/sec pthread_spinlock, 1,s: 34,378,985 msg/sec pthread_spinlock, 1,i: 31,920,790 msg/sec pthread_spinlock, 2,s: 10,814,845 msg/sec pthread_spinlock, 2,i: 10,224,978 msg/sec pthread_spinlock, 3,s: 9,553,511 msg/sec pthread_spinlock, 3,i: 8,700,600 msg/sec pthread_spinlock, 4,s: 7,426,140 msg/sec pthread_spinlock, 4,i: 7,635,298 msg/sec pthread_spinlock, 5,s: 6,561,203 msg/sec pthread_spinlock, 5,i: 6,790,982 msg/sec pthread_spinlock, 6,s: 5,140,961 msg/sec pthread_spinlock, 6,i: 5,318,643 msg/sec pthread_spinlock, 7,s: 2,466,919 msg/sec pthread_spinlock, 7,i: 2,904,316 msg/sec pthread_spinlock, 8,s: 2,869,080 msg/sec pthread_spinlock, 8,i: 2,336,344 msg/sec tbb::spin_mutex, 1,s: 82,136,914 msg/sec tbb::spin_mutex, 1,i: 85,287,593 msg/sec tbb::spin_mutex, 2,s: 18,717,670 msg/sec tbb::spin_mutex, 2,i: 17,651,673 msg/sec tbb::spin_mutex, 3,s: 11,221,976 msg/sec tbb::spin_mutex, 3,i: 10,786,708 msg/sec tbb::spin_mutex, 4,s: 7,265,938 msg/sec tbb::spin_mutex, 4,i: 7,238,027 msg/sec tbb::spin_mutex, 5,s: 5,476,622 msg/sec tbb::spin_mutex, 5,i: 5,633,215 msg/sec tbb::spin_mutex, 6,s: 4,316,549 msg/sec tbb::spin_mutex, 6,i: 4,359,364 msg/sec tbb::spin_mutex, 7,s: 3,655,097 msg/sec tbb::spin_mutex, 7,i: 3,691,211 msg/sec tbb::spin_mutex, 8,s: 2,917,750 msg/sec tbb::spin_mutex, 8,i: 3,006,624 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1014.37 System time (seconds): 116.27 Percent of CPU this job got: 912% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.84 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 66032 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25146 Voluntary context switches: 8249641 Involuntary context switches: 260 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:40:08 [11/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000047 sec/round-trip OptimistAtomicQueue: 0.000000040 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000040 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000047 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000045 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000074 sec/round-trip tbb::concurrent_bounded_queue: 0.000000103 sec/round-trip xenium::michael_scott_queue: 0.000000162 sec/round-trip xenium::ramalhete_queue: 0.000000069 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000109 sec/round-trip std::mutex: 0.000000394 sec/round-trip pthread_spinlock: 0.000000121 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 148,829,379 msg/sec boost::lockfree::spsc_queue, 1,i: 136,131,089 msg/sec AtomicQueue, 1,s: 105,639,005 msg/sec AtomicQueue, 1,i: 104,978,675 msg/sec AtomicQueue, 2,s: 12,852,896 msg/sec AtomicQueue, 2,i: 10,255,420 msg/sec AtomicQueue, 3,s: 9,893,017 msg/sec AtomicQueue, 3,i: 8,160,486 msg/sec AtomicQueue, 4,s: 7,905,148 msg/sec AtomicQueue, 4,i: 6,236,864 msg/sec AtomicQueue, 5,s: 6,188,978 msg/sec AtomicQueue, 5,i: 5,031,996 msg/sec AtomicQueue, 6,s: 5,222,748 msg/sec AtomicQueue, 6,i: 4,164,184 msg/sec AtomicQueue, 7,s: 4,614,963 msg/sec AtomicQueue, 7,i: 3,792,730 msg/sec AtomicQueue, 8,s: 4,151,364 msg/sec AtomicQueue, 8,i: 3,295,794 msg/sec OptimistAtomicQueue, 1,s: 867,195,510 msg/sec OptimistAtomicQueue, 1,i: 882,539,149 msg/sec OptimistAtomicQueue, 2,s: 94,387,210 msg/sec OptimistAtomicQueue, 2,i: 42,684,064 msg/sec OptimistAtomicQueue, 3,s: 59,777,908 msg/sec OptimistAtomicQueue, 3,i: 50,151,722 msg/sec OptimistAtomicQueue, 4,s: 64,506,351 msg/sec OptimistAtomicQueue, 4,i: 47,883,091 msg/sec OptimistAtomicQueue, 5,s: 58,062,651 msg/sec OptimistAtomicQueue, 5,i: 44,561,210 msg/sec OptimistAtomicQueue, 6,s: 58,053,210 msg/sec OptimistAtomicQueue, 6,i: 42,449,818 msg/sec OptimistAtomicQueue, 7,s: 55,406,868 msg/sec OptimistAtomicQueue, 7,i: 43,875,958 msg/sec OptimistAtomicQueue, 8,s: 56,991,899 msg/sec OptimistAtomicQueue, 8,i: 42,870,888 msg/sec AtomicQueueB, 1,s: 77,662,039 msg/sec AtomicQueueB, 1,i: 77,872,114 msg/sec AtomicQueueB, 2,s: 12,212,534 msg/sec AtomicQueueB, 2,i: 9,943,777 msg/sec AtomicQueueB, 3,s: 9,916,286 msg/sec AtomicQueueB, 3,i: 8,121,026 msg/sec AtomicQueueB, 4,s: 7,804,939 msg/sec AtomicQueueB, 4,i: 6,114,760 msg/sec AtomicQueueB, 5,s: 6,135,821 msg/sec AtomicQueueB, 5,i: 4,999,581 msg/sec AtomicQueueB, 6,s: 5,232,451 msg/sec AtomicQueueB, 6,i: 4,122,910 msg/sec AtomicQueueB, 7,s: 4,539,861 msg/sec AtomicQueueB, 7,i: 3,727,300 msg/sec AtomicQueueB, 8,s: 4,056,680 msg/sec AtomicQueueB, 8,i: 3,240,594 msg/sec OptimistAtomicQueueB, 1,s: 434,564,343 msg/sec OptimistAtomicQueueB, 1,i: 456,601,598 msg/sec OptimistAtomicQueueB, 2,s: 96,330,412 msg/sec OptimistAtomicQueueB, 2,i: 42,141,703 msg/sec OptimistAtomicQueueB, 3,s: 58,113,071 msg/sec OptimistAtomicQueueB, 3,i: 47,953,100 msg/sec OptimistAtomicQueueB, 4,s: 62,657,021 msg/sec OptimistAtomicQueueB, 4,i: 47,436,362 msg/sec OptimistAtomicQueueB, 5,s: 56,604,587 msg/sec OptimistAtomicQueueB, 5,i: 43,366,237 msg/sec OptimistAtomicQueueB, 6,s: 57,482,256 msg/sec OptimistAtomicQueueB, 6,i: 42,554,102 msg/sec OptimistAtomicQueueB, 7,s: 55,589,833 msg/sec OptimistAtomicQueueB, 7,i: 43,114,614 msg/sec OptimistAtomicQueueB, 8,s: 56,424,778 msg/sec OptimistAtomicQueueB, 8,i: 41,611,894 msg/sec AtomicQueue2, 1,s: 102,478,251 msg/sec AtomicQueue2, 1,i: 109,693,721 msg/sec AtomicQueue2, 2,s: 11,434,130 msg/sec AtomicQueue2, 2,i: 10,089,164 msg/sec AtomicQueue2, 3,s: 9,728,781 msg/sec AtomicQueue2, 3,i: 8,161,787 msg/sec AtomicQueue2, 4,s: 7,628,554 msg/sec AtomicQueue2, 4,i: 6,218,199 msg/sec AtomicQueue2, 5,s: 5,890,032 msg/sec AtomicQueue2, 5,i: 4,973,255 msg/sec AtomicQueue2, 6,s: 5,140,785 msg/sec AtomicQueue2, 6,i: 4,164,758 msg/sec AtomicQueue2, 7,s: 4,476,731 msg/sec AtomicQueue2, 7,i: 3,795,346 msg/sec AtomicQueue2, 8,s: 3,959,534 msg/sec AtomicQueue2, 8,i: 3,276,027 msg/sec OptimistAtomicQueue2, 1,s: 369,961,673 msg/sec OptimistAtomicQueue2, 1,i: 393,289,463 msg/sec OptimistAtomicQueue2, 2,s: 35,100,262 msg/sec OptimistAtomicQueue2, 2,i: 29,502,171 msg/sec OptimistAtomicQueue2, 3,s: 42,310,482 msg/sec OptimistAtomicQueue2, 3,i: 36,003,893 msg/sec OptimistAtomicQueue2, 4,s: 52,245,162 msg/sec OptimistAtomicQueue2, 4,i: 40,700,740 msg/sec OptimistAtomicQueue2, 5,s: 54,690,432 msg/sec OptimistAtomicQueue2, 5,i: 41,450,194 msg/sec OptimistAtomicQueue2, 6,s: 53,576,463 msg/sec OptimistAtomicQueue2, 6,i: 40,679,439 msg/sec OptimistAtomicQueue2, 7,s: 53,599,723 msg/sec OptimistAtomicQueue2, 7,i: 41,352,143 msg/sec OptimistAtomicQueue2, 8,s: 55,090,803 msg/sec OptimistAtomicQueue2, 8,i: 40,558,140 msg/sec AtomicQueueB2, 1,s: 78,315,044 msg/sec AtomicQueueB2, 1,i: 79,864,706 msg/sec AtomicQueueB2, 2,s: 11,371,702 msg/sec AtomicQueueB2, 2,i: 9,830,685 msg/sec AtomicQueueB2, 3,s: 9,635,935 msg/sec AtomicQueueB2, 3,i: 8,013,596 msg/sec AtomicQueueB2, 4,s: 7,553,929 msg/sec AtomicQueueB2, 4,i: 6,144,469 msg/sec AtomicQueueB2, 5,s: 5,827,248 msg/sec AtomicQueueB2, 5,i: 4,941,333 msg/sec AtomicQueueB2, 6,s: 5,037,575 msg/sec AtomicQueueB2, 6,i: 4,086,861 msg/sec AtomicQueueB2, 7,s: 4,430,974 msg/sec AtomicQueueB2, 7,i: 3,720,491 msg/sec AtomicQueueB2, 8,s: 3,946,397 msg/sec AtomicQueueB2, 8,i: 3,233,341 msg/sec OptimistAtomicQueueB2, 1,s: 127,442,480 msg/sec OptimistAtomicQueueB2, 1,i: 131,943,425 msg/sec OptimistAtomicQueueB2, 2,s: 34,750,211 msg/sec OptimistAtomicQueueB2, 2,i: 28,637,265 msg/sec OptimistAtomicQueueB2, 3,s: 40,972,241 msg/sec OptimistAtomicQueueB2, 3,i: 35,347,832 msg/sec OptimistAtomicQueueB2, 4,s: 53,102,774 msg/sec OptimistAtomicQueueB2, 4,i: 41,333,673 msg/sec OptimistAtomicQueueB2, 5,s: 54,183,360 msg/sec OptimistAtomicQueueB2, 5,i: 41,024,787 msg/sec OptimistAtomicQueueB2, 6,s: 52,567,125 msg/sec OptimistAtomicQueueB2, 6,i: 40,252,202 msg/sec OptimistAtomicQueueB2, 7,s: 52,612,308 msg/sec OptimistAtomicQueueB2, 7,i: 41,254,921 msg/sec OptimistAtomicQueueB2, 8,s: 54,920,287 msg/sec OptimistAtomicQueueB2, 8,i: 40,849,160 msg/sec moodycamel::ReaderWriterQueue, 1,s: 535,697,417 msg/sec moodycamel::ReaderWriterQueue, 1,i: 550,448,647 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,973,902 msg/sec moodycamel::ConcurrentQueue, 1,i: 32,134,018 msg/sec moodycamel::ConcurrentQueue, 2,s: 35,387,917 msg/sec moodycamel::ConcurrentQueue, 2,i: 48,163,974 msg/sec moodycamel::ConcurrentQueue, 3,s: 43,139,301 msg/sec moodycamel::ConcurrentQueue, 3,i: 64,115,433 msg/sec moodycamel::ConcurrentQueue, 4,s: 82,142,322 msg/sec moodycamel::ConcurrentQueue, 4,i: 100,924,008 msg/sec moodycamel::ConcurrentQueue, 5,s: 149,415,789 msg/sec moodycamel::ConcurrentQueue, 5,i: 153,249,110 msg/sec moodycamel::ConcurrentQueue, 6,s: 172,992,141 msg/sec moodycamel::ConcurrentQueue, 6,i: 179,973,565 msg/sec moodycamel::ConcurrentQueue, 7,s: 167,923,050 msg/sec moodycamel::ConcurrentQueue, 7,i: 205,634,839 msg/sec moodycamel::ConcurrentQueue, 8,s: 166,810,119 msg/sec moodycamel::ConcurrentQueue, 8,i: 222,868,537 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,763,609 msg/sec tbb::concurrent_bounded_queue, 1,i: 22,299,915 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,450,415 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,853,465 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,874,927 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,493,992 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,183,306 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,311,503 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,110,983 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,123,794 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,075,184 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,257,205 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,315,562 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,698,705 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,707,198 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,210,972 msg/sec xenium::michael_scott_queue, 1,s: 18,418,754 msg/sec xenium::michael_scott_queue, 1,i: 18,471,706 msg/sec xenium::michael_scott_queue, 2,s: 12,319,039 msg/sec xenium::michael_scott_queue, 2,i: 8,763,683 msg/sec xenium::michael_scott_queue, 3,s: 7,685,642 msg/sec xenium::michael_scott_queue, 3,i: 6,631,190 msg/sec xenium::michael_scott_queue, 4,s: 5,971,697 msg/sec xenium::michael_scott_queue, 4,i: 5,063,229 msg/sec xenium::michael_scott_queue, 5,s: 4,625,557 msg/sec xenium::michael_scott_queue, 5,i: 4,000,652 msg/sec xenium::michael_scott_queue, 6,s: 3,945,582 msg/sec xenium::michael_scott_queue, 6,i: 3,300,815 msg/sec xenium::michael_scott_queue, 7,s: 3,502,142 msg/sec xenium::michael_scott_queue, 7,i: 2,940,547 msg/sec xenium::michael_scott_queue, 8,s: 3,070,118 msg/sec xenium::michael_scott_queue, 8,i: 2,546,360 msg/sec xenium::ramalhete_queue, 1,s: 48,292,193 msg/sec xenium::ramalhete_queue, 1,i: 34,951,498 msg/sec xenium::ramalhete_queue, 2,s: 41,215,627 msg/sec xenium::ramalhete_queue, 2,i: 29,762,059 msg/sec xenium::ramalhete_queue, 3,s: 40,624,485 msg/sec xenium::ramalhete_queue, 3,i: 32,344,036 msg/sec xenium::ramalhete_queue, 4,s: 37,149,056 msg/sec xenium::ramalhete_queue, 4,i: 35,224,547 msg/sec xenium::ramalhete_queue, 5,s: 36,608,455 msg/sec xenium::ramalhete_queue, 5,i: 37,273,944 msg/sec xenium::ramalhete_queue, 6,s: 34,738,174 msg/sec xenium::ramalhete_queue, 6,i: 35,935,255 msg/sec xenium::ramalhete_queue, 7,s: 33,841,437 msg/sec xenium::ramalhete_queue, 7,i: 34,923,286 msg/sec xenium::ramalhete_queue, 8,s: 33,745,991 msg/sec xenium::ramalhete_queue, 8,i: 34,997,076 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,051,498 msg/sec xenium::vyukov_bounded_queue, 1,i: 134,374,756 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,892,603 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,823,283 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,371,452 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,858,322 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,217,526 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,310,551 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,333,118 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,549,977 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,229,216 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,725,526 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,342,908 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,511,577 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,418,176 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,370,212 msg/sec boost::lockfree::queue, 1,s: 15,549,465 msg/sec boost::lockfree::queue, 1,i: 15,538,477 msg/sec boost::lockfree::queue, 2,s: 5,838,745 msg/sec boost::lockfree::queue, 2,i: 6,049,608 msg/sec boost::lockfree::queue, 3,s: 5,458,897 msg/sec boost::lockfree::queue, 3,i: 5,440,325 msg/sec boost::lockfree::queue, 4,s: 4,058,834 msg/sec boost::lockfree::queue, 4,i: 4,049,864 msg/sec boost::lockfree::queue, 5,s: 3,354,597 msg/sec boost::lockfree::queue, 5,i: 3,314,969 msg/sec boost::lockfree::queue, 6,s: 2,230,083 msg/sec boost::lockfree::queue, 6,i: 2,406,842 msg/sec boost::lockfree::queue, 7,s: 1,984,512 msg/sec boost::lockfree::queue, 7,i: 2,074,186 msg/sec boost::lockfree::queue, 8,s: 1,640,330 msg/sec boost::lockfree::queue, 8,i: 1,809,523 msg/sec std::mutex, 1,s: 13,184,267 msg/sec std::mutex, 1,i: 13,310,298 msg/sec std::mutex, 2,s: 9,183,979 msg/sec std::mutex, 2,i: 9,344,256 msg/sec std::mutex, 3,s: 5,264,679 msg/sec std::mutex, 3,i: 5,384,727 msg/sec std::mutex, 4,s: 4,165,481 msg/sec std::mutex, 4,i: 4,217,754 msg/sec std::mutex, 5,s: 3,760,906 msg/sec std::mutex, 5,i: 3,871,873 msg/sec std::mutex, 6,s: 3,719,204 msg/sec std::mutex, 6,i: 3,811,778 msg/sec std::mutex, 7,s: 3,665,098 msg/sec std::mutex, 7,i: 3,690,494 msg/sec std::mutex, 8,s: 3,527,495 msg/sec std::mutex, 8,i: 3,510,761 msg/sec pthread_spinlock, 1,s: 32,633,541 msg/sec pthread_spinlock, 1,i: 32,010,717 msg/sec pthread_spinlock, 2,s: 10,681,320 msg/sec pthread_spinlock, 2,i: 10,519,682 msg/sec pthread_spinlock, 3,s: 9,296,108 msg/sec pthread_spinlock, 3,i: 8,668,951 msg/sec pthread_spinlock, 4,s: 7,419,935 msg/sec pthread_spinlock, 4,i: 7,653,051 msg/sec pthread_spinlock, 5,s: 6,535,280 msg/sec pthread_spinlock, 5,i: 6,743,162 msg/sec pthread_spinlock, 6,s: 5,558,807 msg/sec pthread_spinlock, 6,i: 5,366,147 msg/sec pthread_spinlock, 7,s: 2,341,820 msg/sec pthread_spinlock, 7,i: 4,708,478 msg/sec pthread_spinlock, 8,s: 2,847,187 msg/sec pthread_spinlock, 8,i: 3,841,693 msg/sec tbb::spin_mutex, 1,s: 86,508,717 msg/sec tbb::spin_mutex, 1,i: 82,470,283 msg/sec tbb::spin_mutex, 2,s: 19,133,323 msg/sec tbb::spin_mutex, 2,i: 17,508,956 msg/sec tbb::spin_mutex, 3,s: 11,296,239 msg/sec tbb::spin_mutex, 3,i: 10,836,963 msg/sec tbb::spin_mutex, 4,s: 7,291,897 msg/sec tbb::spin_mutex, 4,i: 7,250,820 msg/sec tbb::spin_mutex, 5,s: 5,389,859 msg/sec tbb::spin_mutex, 5,i: 5,620,818 msg/sec tbb::spin_mutex, 6,s: 4,199,683 msg/sec tbb::spin_mutex, 6,i: 4,443,170 msg/sec tbb::spin_mutex, 7,s: 3,590,547 msg/sec tbb::spin_mutex, 7,i: 3,693,951 msg/sec tbb::spin_mutex, 8,s: 2,894,206 msg/sec tbb::spin_mutex, 8,i: 2,995,070 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1004.06 System time (seconds): 114.97 Percent of CPU this job got: 917% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:01.98 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 64648 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24739 Voluntary context switches: 8538749 Involuntary context switches: 279 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:42:10 [12/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000059 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000040 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000040 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000044 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000045 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000073 sec/round-trip tbb::concurrent_bounded_queue: 0.000000103 sec/round-trip xenium::michael_scott_queue: 0.000000163 sec/round-trip xenium::ramalhete_queue: 0.000000069 sec/round-trip xenium::vyukov_bounded_queue: 0.000000069 sec/round-trip boost::lockfree::queue: 0.000000108 sec/round-trip std::mutex: 0.000000397 sec/round-trip pthread_spinlock: 0.000000121 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 149,562,890 msg/sec boost::lockfree::spsc_queue, 1,i: 134,892,157 msg/sec AtomicQueue, 1,s: 103,853,037 msg/sec AtomicQueue, 1,i: 104,119,223 msg/sec AtomicQueue, 2,s: 12,898,879 msg/sec AtomicQueue, 2,i: 10,219,214 msg/sec AtomicQueue, 3,s: 10,222,937 msg/sec AtomicQueue, 3,i: 8,114,199 msg/sec AtomicQueue, 4,s: 7,880,632 msg/sec AtomicQueue, 4,i: 6,207,584 msg/sec AtomicQueue, 5,s: 6,117,621 msg/sec AtomicQueue, 5,i: 5,021,305 msg/sec AtomicQueue, 6,s: 5,214,106 msg/sec AtomicQueue, 6,i: 4,168,720 msg/sec AtomicQueue, 7,s: 4,611,109 msg/sec AtomicQueue, 7,i: 3,788,454 msg/sec AtomicQueue, 8,s: 4,023,192 msg/sec AtomicQueue, 8,i: 3,268,201 msg/sec OptimistAtomicQueue, 1,s: 868,674,825 msg/sec OptimistAtomicQueue, 1,i: 874,765,552 msg/sec OptimistAtomicQueue, 2,s: 94,792,217 msg/sec OptimistAtomicQueue, 2,i: 43,461,165 msg/sec OptimistAtomicQueue, 3,s: 60,314,051 msg/sec OptimistAtomicQueue, 3,i: 47,810,798 msg/sec OptimistAtomicQueue, 4,s: 63,339,265 msg/sec OptimistAtomicQueue, 4,i: 46,785,235 msg/sec OptimistAtomicQueue, 5,s: 56,442,647 msg/sec OptimistAtomicQueue, 5,i: 44,395,447 msg/sec OptimistAtomicQueue, 6,s: 58,596,582 msg/sec OptimistAtomicQueue, 6,i: 42,978,969 msg/sec OptimistAtomicQueue, 7,s: 55,743,701 msg/sec OptimistAtomicQueue, 7,i: 43,704,870 msg/sec OptimistAtomicQueue, 8,s: 57,229,308 msg/sec OptimistAtomicQueue, 8,i: 42,070,030 msg/sec AtomicQueueB, 1,s: 76,632,497 msg/sec AtomicQueueB, 1,i: 77,051,643 msg/sec AtomicQueueB, 2,s: 11,571,181 msg/sec AtomicQueueB, 2,i: 10,037,992 msg/sec AtomicQueueB, 3,s: 9,847,779 msg/sec AtomicQueueB, 3,i: 8,108,511 msg/sec AtomicQueueB, 4,s: 7,871,125 msg/sec AtomicQueueB, 4,i: 6,192,774 msg/sec AtomicQueueB, 5,s: 6,072,889 msg/sec AtomicQueueB, 5,i: 4,987,145 msg/sec AtomicQueueB, 6,s: 5,221,773 msg/sec AtomicQueueB, 6,i: 4,126,025 msg/sec AtomicQueueB, 7,s: 4,531,834 msg/sec AtomicQueueB, 7,i: 3,730,755 msg/sec AtomicQueueB, 8,s: 3,996,302 msg/sec AtomicQueueB, 8,i: 3,231,416 msg/sec OptimistAtomicQueueB, 1,s: 432,644,834 msg/sec OptimistAtomicQueueB, 1,i: 451,618,304 msg/sec OptimistAtomicQueueB, 2,s: 57,009,900 msg/sec OptimistAtomicQueueB, 2,i: 42,376,145 msg/sec OptimistAtomicQueueB, 3,s: 59,463,082 msg/sec OptimistAtomicQueueB, 3,i: 49,667,957 msg/sec OptimistAtomicQueueB, 4,s: 63,338,139 msg/sec OptimistAtomicQueueB, 4,i: 47,287,425 msg/sec OptimistAtomicQueueB, 5,s: 57,042,678 msg/sec OptimistAtomicQueueB, 5,i: 43,732,528 msg/sec OptimistAtomicQueueB, 6,s: 56,915,509 msg/sec OptimistAtomicQueueB, 6,i: 42,787,443 msg/sec OptimistAtomicQueueB, 7,s: 56,180,688 msg/sec OptimistAtomicQueueB, 7,i: 43,215,888 msg/sec OptimistAtomicQueueB, 8,s: 56,421,365 msg/sec OptimistAtomicQueueB, 8,i: 41,738,542 msg/sec AtomicQueue2, 1,s: 102,506,352 msg/sec AtomicQueue2, 1,i: 107,804,539 msg/sec AtomicQueue2, 2,s: 11,248,552 msg/sec AtomicQueue2, 2,i: 10,120,364 msg/sec AtomicQueue2, 3,s: 9,692,567 msg/sec AtomicQueue2, 3,i: 8,096,749 msg/sec AtomicQueue2, 4,s: 7,619,592 msg/sec AtomicQueue2, 4,i: 6,222,363 msg/sec AtomicQueue2, 5,s: 5,929,676 msg/sec AtomicQueue2, 5,i: 4,966,647 msg/sec AtomicQueue2, 6,s: 5,110,361 msg/sec AtomicQueue2, 6,i: 4,182,127 msg/sec AtomicQueue2, 7,s: 4,458,203 msg/sec AtomicQueue2, 7,i: 3,774,487 msg/sec AtomicQueue2, 8,s: 3,995,164 msg/sec AtomicQueue2, 8,i: 3,279,259 msg/sec OptimistAtomicQueue2, 1,s: 391,867,327 msg/sec OptimistAtomicQueue2, 1,i: 398,130,789 msg/sec OptimistAtomicQueue2, 2,s: 34,944,963 msg/sec OptimistAtomicQueue2, 2,i: 29,151,647 msg/sec OptimistAtomicQueue2, 3,s: 40,739,596 msg/sec OptimistAtomicQueue2, 3,i: 35,830,040 msg/sec OptimistAtomicQueue2, 4,s: 52,102,170 msg/sec OptimistAtomicQueue2, 4,i: 42,582,157 msg/sec OptimistAtomicQueue2, 5,s: 54,231,201 msg/sec OptimistAtomicQueue2, 5,i: 41,205,639 msg/sec OptimistAtomicQueue2, 6,s: 54,155,774 msg/sec OptimistAtomicQueue2, 6,i: 41,443,427 msg/sec OptimistAtomicQueue2, 7,s: 54,451,232 msg/sec OptimistAtomicQueue2, 7,i: 41,817,363 msg/sec OptimistAtomicQueue2, 8,s: 54,961,539 msg/sec OptimistAtomicQueue2, 8,i: 40,361,392 msg/sec AtomicQueueB2, 1,s: 79,600,185 msg/sec AtomicQueueB2, 1,i: 81,907,468 msg/sec AtomicQueueB2, 2,s: 11,515,547 msg/sec AtomicQueueB2, 2,i: 9,870,319 msg/sec AtomicQueueB2, 3,s: 9,591,837 msg/sec AtomicQueueB2, 3,i: 8,072,248 msg/sec AtomicQueueB2, 4,s: 7,607,661 msg/sec AtomicQueueB2, 4,i: 6,114,893 msg/sec AtomicQueueB2, 5,s: 5,840,179 msg/sec AtomicQueueB2, 5,i: 4,955,017 msg/sec AtomicQueueB2, 6,s: 5,034,417 msg/sec AtomicQueueB2, 6,i: 4,080,181 msg/sec AtomicQueueB2, 7,s: 4,443,191 msg/sec AtomicQueueB2, 7,i: 3,724,597 msg/sec AtomicQueueB2, 8,s: 3,900,490 msg/sec AtomicQueueB2, 8,i: 3,213,206 msg/sec OptimistAtomicQueueB2, 1,s: 121,763,137 msg/sec OptimistAtomicQueueB2, 1,i: 130,397,349 msg/sec OptimistAtomicQueueB2, 2,s: 35,103,855 msg/sec OptimistAtomicQueueB2, 2,i: 27,121,797 msg/sec OptimistAtomicQueueB2, 3,s: 41,520,215 msg/sec OptimistAtomicQueueB2, 3,i: 39,202,187 msg/sec OptimistAtomicQueueB2, 4,s: 54,216,324 msg/sec OptimistAtomicQueueB2, 4,i: 41,131,907 msg/sec OptimistAtomicQueueB2, 5,s: 54,394,908 msg/sec OptimistAtomicQueueB2, 5,i: 41,480,410 msg/sec OptimistAtomicQueueB2, 6,s: 54,213,547 msg/sec OptimistAtomicQueueB2, 6,i: 40,152,759 msg/sec OptimistAtomicQueueB2, 7,s: 53,006,079 msg/sec OptimistAtomicQueueB2, 7,i: 40,969,193 msg/sec OptimistAtomicQueueB2, 8,s: 54,281,045 msg/sec OptimistAtomicQueueB2, 8,i: 40,261,491 msg/sec moodycamel::ReaderWriterQueue, 1,s: 525,266,293 msg/sec moodycamel::ReaderWriterQueue, 1,i: 535,148,815 msg/sec moodycamel::ConcurrentQueue, 1,s: 33,297,203 msg/sec moodycamel::ConcurrentQueue, 1,i: 32,055,295 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,025,440 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,667,420 msg/sec moodycamel::ConcurrentQueue, 3,s: 45,021,846 msg/sec moodycamel::ConcurrentQueue, 3,i: 64,912,331 msg/sec moodycamel::ConcurrentQueue, 4,s: 75,266,255 msg/sec moodycamel::ConcurrentQueue, 4,i: 96,669,185 msg/sec moodycamel::ConcurrentQueue, 5,s: 161,853,657 msg/sec moodycamel::ConcurrentQueue, 5,i: 164,251,120 msg/sec moodycamel::ConcurrentQueue, 6,s: 173,027,529 msg/sec moodycamel::ConcurrentQueue, 6,i: 192,470,432 msg/sec moodycamel::ConcurrentQueue, 7,s: 172,284,236 msg/sec moodycamel::ConcurrentQueue, 7,i: 185,260,749 msg/sec moodycamel::ConcurrentQueue, 8,s: 216,519,043 msg/sec moodycamel::ConcurrentQueue, 8,i: 223,208,455 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,308,882 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,786,317 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,406,277 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,981,305 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,884,755 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,383,134 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,159,212 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,210,098 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,979,036 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,180,417 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,053,174 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,265,993 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,383,721 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,678,938 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,694,780 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,186,610 msg/sec xenium::michael_scott_queue, 1,s: 18,612,026 msg/sec xenium::michael_scott_queue, 1,i: 18,285,757 msg/sec xenium::michael_scott_queue, 2,s: 12,145,083 msg/sec xenium::michael_scott_queue, 2,i: 8,880,743 msg/sec xenium::michael_scott_queue, 3,s: 7,701,645 msg/sec xenium::michael_scott_queue, 3,i: 6,628,935 msg/sec xenium::michael_scott_queue, 4,s: 6,025,837 msg/sec xenium::michael_scott_queue, 4,i: 4,983,482 msg/sec xenium::michael_scott_queue, 5,s: 4,615,414 msg/sec xenium::michael_scott_queue, 5,i: 3,978,656 msg/sec xenium::michael_scott_queue, 6,s: 3,913,650 msg/sec xenium::michael_scott_queue, 6,i: 3,311,790 msg/sec xenium::michael_scott_queue, 7,s: 3,443,805 msg/sec xenium::michael_scott_queue, 7,i: 2,938,225 msg/sec xenium::michael_scott_queue, 8,s: 3,063,621 msg/sec xenium::michael_scott_queue, 8,i: 2,538,598 msg/sec xenium::ramalhete_queue, 1,s: 36,488,099 msg/sec xenium::ramalhete_queue, 1,i: 34,797,509 msg/sec xenium::ramalhete_queue, 2,s: 48,837,307 msg/sec xenium::ramalhete_queue, 2,i: 30,868,212 msg/sec xenium::ramalhete_queue, 3,s: 44,007,894 msg/sec xenium::ramalhete_queue, 3,i: 31,066,226 msg/sec xenium::ramalhete_queue, 4,s: 36,627,116 msg/sec xenium::ramalhete_queue, 4,i: 34,450,801 msg/sec xenium::ramalhete_queue, 5,s: 35,971,770 msg/sec xenium::ramalhete_queue, 5,i: 36,817,852 msg/sec xenium::ramalhete_queue, 6,s: 34,825,420 msg/sec xenium::ramalhete_queue, 6,i: 36,131,544 msg/sec xenium::ramalhete_queue, 7,s: 33,133,522 msg/sec xenium::ramalhete_queue, 7,i: 31,804,303 msg/sec xenium::ramalhete_queue, 8,s: 32,474,855 msg/sec xenium::ramalhete_queue, 8,i: 31,168,222 msg/sec xenium::vyukov_bounded_queue, 1,s: 126,140,757 msg/sec xenium::vyukov_bounded_queue, 1,i: 133,148,259 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,250,622 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,522,848 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,999,196 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,664,159 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,367,139 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,308,602 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,940,730 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,583,323 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,324,054 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,606,161 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,055,628 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,479,491 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,489,674 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,400,854 msg/sec boost::lockfree::queue, 1,s: 15,502,167 msg/sec boost::lockfree::queue, 1,i: 15,514,896 msg/sec boost::lockfree::queue, 2,s: 5,773,361 msg/sec boost::lockfree::queue, 2,i: 6,034,637 msg/sec boost::lockfree::queue, 3,s: 5,454,074 msg/sec boost::lockfree::queue, 3,i: 5,456,687 msg/sec boost::lockfree::queue, 4,s: 4,056,981 msg/sec boost::lockfree::queue, 4,i: 4,045,728 msg/sec boost::lockfree::queue, 5,s: 3,352,791 msg/sec boost::lockfree::queue, 5,i: 3,297,014 msg/sec boost::lockfree::queue, 6,s: 2,230,781 msg/sec boost::lockfree::queue, 6,i: 2,407,985 msg/sec boost::lockfree::queue, 7,s: 1,990,111 msg/sec boost::lockfree::queue, 7,i: 2,075,113 msg/sec boost::lockfree::queue, 8,s: 1,633,482 msg/sec boost::lockfree::queue, 8,i: 1,810,270 msg/sec std::mutex, 1,s: 13,107,700 msg/sec std::mutex, 1,i: 13,125,101 msg/sec std::mutex, 2,s: 8,968,049 msg/sec std::mutex, 2,i: 9,148,267 msg/sec std::mutex, 3,s: 5,389,587 msg/sec std::mutex, 3,i: 5,547,592 msg/sec std::mutex, 4,s: 4,186,084 msg/sec std::mutex, 4,i: 4,249,266 msg/sec std::mutex, 5,s: 3,662,820 msg/sec std::mutex, 5,i: 3,804,456 msg/sec std::mutex, 6,s: 3,693,671 msg/sec std::mutex, 6,i: 3,776,125 msg/sec std::mutex, 7,s: 3,754,188 msg/sec std::mutex, 7,i: 3,699,259 msg/sec std::mutex, 8,s: 3,493,230 msg/sec std::mutex, 8,i: 3,566,515 msg/sec pthread_spinlock, 1,s: 32,996,652 msg/sec pthread_spinlock, 1,i: 31,730,040 msg/sec pthread_spinlock, 2,s: 10,680,781 msg/sec pthread_spinlock, 2,i: 10,264,282 msg/sec pthread_spinlock, 3,s: 9,425,357 msg/sec pthread_spinlock, 3,i: 8,747,904 msg/sec pthread_spinlock, 4,s: 7,195,235 msg/sec pthread_spinlock, 4,i: 7,686,413 msg/sec pthread_spinlock, 5,s: 6,573,416 msg/sec pthread_spinlock, 5,i: 6,911,832 msg/sec pthread_spinlock, 6,s: 5,075,869 msg/sec pthread_spinlock, 6,i: 4,601,566 msg/sec pthread_spinlock, 7,s: 2,504,605 msg/sec pthread_spinlock, 7,i: 4,674,126 msg/sec pthread_spinlock, 8,s: 2,972,186 msg/sec pthread_spinlock, 8,i: 4,648,841 msg/sec tbb::spin_mutex, 1,s: 85,877,519 msg/sec tbb::spin_mutex, 1,i: 84,285,755 msg/sec tbb::spin_mutex, 2,s: 18,670,311 msg/sec tbb::spin_mutex, 2,i: 17,628,723 msg/sec tbb::spin_mutex, 3,s: 11,276,421 msg/sec tbb::spin_mutex, 3,i: 10,730,569 msg/sec tbb::spin_mutex, 4,s: 7,258,005 msg/sec tbb::spin_mutex, 4,i: 7,199,796 msg/sec tbb::spin_mutex, 5,s: 5,457,726 msg/sec tbb::spin_mutex, 5,i: 5,584,996 msg/sec tbb::spin_mutex, 6,s: 4,199,892 msg/sec tbb::spin_mutex, 6,i: 4,367,496 msg/sec tbb::spin_mutex, 7,s: 3,666,998 msg/sec tbb::spin_mutex, 7,i: 3,721,703 msg/sec tbb::spin_mutex, 8,s: 2,905,203 msg/sec tbb::spin_mutex, 8,i: 2,986,147 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1006.14 System time (seconds): 116.60 Percent of CPU this job got: 915% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.60 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 69196 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24916 Voluntary context switches: 8232019 Involuntary context switches: 278 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:44:13 [13/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000041 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000040 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000045 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000046 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000074 sec/round-trip tbb::concurrent_bounded_queue: 0.000000103 sec/round-trip xenium::michael_scott_queue: 0.000000164 sec/round-trip xenium::ramalhete_queue: 0.000000070 sec/round-trip xenium::vyukov_bounded_queue: 0.000000069 sec/round-trip boost::lockfree::queue: 0.000000110 sec/round-trip std::mutex: 0.000000398 sec/round-trip pthread_spinlock: 0.000000122 sec/round-trip tbb::spin_mutex: 0.000000107 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 150,031,642 msg/sec boost::lockfree::spsc_queue, 1,i: 136,079,121 msg/sec AtomicQueue, 1,s: 103,469,546 msg/sec AtomicQueue, 1,i: 103,618,643 msg/sec AtomicQueue, 2,s: 12,694,097 msg/sec AtomicQueue, 2,i: 10,186,419 msg/sec AtomicQueue, 3,s: 10,128,369 msg/sec AtomicQueue, 3,i: 8,122,715 msg/sec AtomicQueue, 4,s: 7,864,206 msg/sec AtomicQueue, 4,i: 6,227,806 msg/sec AtomicQueue, 5,s: 6,003,518 msg/sec AtomicQueue, 5,i: 5,004,292 msg/sec AtomicQueue, 6,s: 5,245,061 msg/sec AtomicQueue, 6,i: 4,149,378 msg/sec AtomicQueue, 7,s: 4,628,688 msg/sec AtomicQueue, 7,i: 3,767,162 msg/sec AtomicQueue, 8,s: 4,061,856 msg/sec AtomicQueue, 8,i: 3,270,709 msg/sec OptimistAtomicQueue, 1,s: 847,231,890 msg/sec OptimistAtomicQueue, 1,i: 845,094,154 msg/sec OptimistAtomicQueue, 2,s: 90,605,806 msg/sec OptimistAtomicQueue, 2,i: 42,701,686 msg/sec OptimistAtomicQueue, 3,s: 59,598,576 msg/sec OptimistAtomicQueue, 3,i: 48,538,933 msg/sec OptimistAtomicQueue, 4,s: 64,972,754 msg/sec OptimistAtomicQueue, 4,i: 47,831,484 msg/sec OptimistAtomicQueue, 5,s: 57,825,293 msg/sec OptimistAtomicQueue, 5,i: 44,529,957 msg/sec OptimistAtomicQueue, 6,s: 58,004,020 msg/sec OptimistAtomicQueue, 6,i: 43,258,607 msg/sec OptimistAtomicQueue, 7,s: 56,751,112 msg/sec OptimistAtomicQueue, 7,i: 44,301,128 msg/sec OptimistAtomicQueue, 8,s: 57,758,033 msg/sec OptimistAtomicQueue, 8,i: 42,087,096 msg/sec AtomicQueueB, 1,s: 76,487,267 msg/sec AtomicQueueB, 1,i: 78,035,161 msg/sec AtomicQueueB, 2,s: 11,647,031 msg/sec AtomicQueueB, 2,i: 9,992,897 msg/sec AtomicQueueB, 3,s: 9,897,639 msg/sec AtomicQueueB, 3,i: 8,090,706 msg/sec AtomicQueueB, 4,s: 7,797,316 msg/sec AtomicQueueB, 4,i: 6,164,631 msg/sec AtomicQueueB, 5,s: 5,953,240 msg/sec AtomicQueueB, 5,i: 4,987,715 msg/sec AtomicQueueB, 6,s: 5,248,610 msg/sec AtomicQueueB, 6,i: 4,130,456 msg/sec AtomicQueueB, 7,s: 4,612,657 msg/sec AtomicQueueB, 7,i: 3,740,483 msg/sec AtomicQueueB, 8,s: 4,017,018 msg/sec AtomicQueueB, 8,i: 3,213,950 msg/sec OptimistAtomicQueueB, 1,s: 424,901,766 msg/sec OptimistAtomicQueueB, 1,i: 443,753,335 msg/sec OptimistAtomicQueueB, 2,s: 95,722,327 msg/sec OptimistAtomicQueueB, 2,i: 42,626,422 msg/sec OptimistAtomicQueueB, 3,s: 59,050,487 msg/sec OptimistAtomicQueueB, 3,i: 48,275,075 msg/sec OptimistAtomicQueueB, 4,s: 64,018,827 msg/sec OptimistAtomicQueueB, 4,i: 47,558,057 msg/sec OptimistAtomicQueueB, 5,s: 57,149,875 msg/sec OptimistAtomicQueueB, 5,i: 43,163,355 msg/sec OptimistAtomicQueueB, 6,s: 56,596,387 msg/sec OptimistAtomicQueueB, 6,i: 42,081,643 msg/sec OptimistAtomicQueueB, 7,s: 55,049,294 msg/sec OptimistAtomicQueueB, 7,i: 44,351,641 msg/sec OptimistAtomicQueueB, 8,s: 56,838,838 msg/sec OptimistAtomicQueueB, 8,i: 41,726,083 msg/sec AtomicQueue2, 1,s: 100,583,392 msg/sec AtomicQueue2, 1,i: 106,489,740 msg/sec AtomicQueue2, 2,s: 11,188,481 msg/sec AtomicQueue2, 2,i: 10,016,298 msg/sec AtomicQueue2, 3,s: 9,592,707 msg/sec AtomicQueue2, 3,i: 8,090,084 msg/sec AtomicQueue2, 4,s: 7,645,890 msg/sec AtomicQueue2, 4,i: 6,240,259 msg/sec AtomicQueue2, 5,s: 5,874,917 msg/sec AtomicQueue2, 5,i: 4,964,490 msg/sec AtomicQueue2, 6,s: 5,074,408 msg/sec AtomicQueue2, 6,i: 4,165,362 msg/sec AtomicQueue2, 7,s: 4,458,365 msg/sec AtomicQueue2, 7,i: 3,769,536 msg/sec AtomicQueue2, 8,s: 3,946,068 msg/sec AtomicQueue2, 8,i: 3,279,462 msg/sec OptimistAtomicQueue2, 1,s: 386,215,890 msg/sec OptimistAtomicQueue2, 1,i: 400,869,946 msg/sec OptimistAtomicQueue2, 2,s: 34,702,281 msg/sec OptimistAtomicQueue2, 2,i: 27,530,305 msg/sec OptimistAtomicQueue2, 3,s: 41,431,299 msg/sec OptimistAtomicQueue2, 3,i: 35,941,453 msg/sec OptimistAtomicQueue2, 4,s: 52,941,657 msg/sec OptimistAtomicQueue2, 4,i: 42,393,982 msg/sec OptimistAtomicQueue2, 5,s: 53,785,413 msg/sec OptimistAtomicQueue2, 5,i: 41,357,275 msg/sec OptimistAtomicQueue2, 6,s: 52,966,852 msg/sec OptimistAtomicQueue2, 6,i: 40,545,667 msg/sec OptimistAtomicQueue2, 7,s: 52,941,497 msg/sec OptimistAtomicQueue2, 7,i: 41,919,440 msg/sec OptimistAtomicQueue2, 8,s: 55,533,083 msg/sec OptimistAtomicQueue2, 8,i: 40,565,575 msg/sec AtomicQueueB2, 1,s: 77,755,514 msg/sec AtomicQueueB2, 1,i: 78,637,318 msg/sec AtomicQueueB2, 2,s: 11,377,599 msg/sec AtomicQueueB2, 2,i: 9,956,935 msg/sec AtomicQueueB2, 3,s: 9,709,626 msg/sec AtomicQueueB2, 3,i: 7,976,549 msg/sec AtomicQueueB2, 4,s: 7,557,197 msg/sec AtomicQueueB2, 4,i: 6,144,653 msg/sec AtomicQueueB2, 5,s: 5,862,458 msg/sec AtomicQueueB2, 5,i: 4,937,070 msg/sec AtomicQueueB2, 6,s: 5,019,446 msg/sec AtomicQueueB2, 6,i: 4,096,945 msg/sec AtomicQueueB2, 7,s: 4,443,538 msg/sec AtomicQueueB2, 7,i: 3,717,654 msg/sec AtomicQueueB2, 8,s: 3,907,382 msg/sec AtomicQueueB2, 8,i: 3,208,842 msg/sec OptimistAtomicQueueB2, 1,s: 123,057,822 msg/sec OptimistAtomicQueueB2, 1,i: 132,551,993 msg/sec OptimistAtomicQueueB2, 2,s: 35,128,651 msg/sec OptimistAtomicQueueB2, 2,i: 26,926,726 msg/sec OptimistAtomicQueueB2, 3,s: 41,439,796 msg/sec OptimistAtomicQueueB2, 3,i: 35,454,033 msg/sec OptimistAtomicQueueB2, 4,s: 54,742,746 msg/sec OptimistAtomicQueueB2, 4,i: 41,068,863 msg/sec OptimistAtomicQueueB2, 5,s: 54,830,138 msg/sec OptimistAtomicQueueB2, 5,i: 40,634,079 msg/sec OptimistAtomicQueueB2, 6,s: 53,760,606 msg/sec OptimistAtomicQueueB2, 6,i: 41,397,823 msg/sec OptimistAtomicQueueB2, 7,s: 52,679,647 msg/sec OptimistAtomicQueueB2, 7,i: 40,879,019 msg/sec OptimistAtomicQueueB2, 8,s: 54,258,618 msg/sec OptimistAtomicQueueB2, 8,i: 40,229,473 msg/sec moodycamel::ReaderWriterQueue, 1,s: 524,231,713 msg/sec moodycamel::ReaderWriterQueue, 1,i: 538,193,171 msg/sec moodycamel::ConcurrentQueue, 1,s: 33,079,515 msg/sec moodycamel::ConcurrentQueue, 1,i: 32,131,122 msg/sec moodycamel::ConcurrentQueue, 2,s: 32,574,835 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,339,593 msg/sec moodycamel::ConcurrentQueue, 3,s: 42,929,464 msg/sec moodycamel::ConcurrentQueue, 3,i: 62,187,153 msg/sec moodycamel::ConcurrentQueue, 4,s: 72,169,675 msg/sec moodycamel::ConcurrentQueue, 4,i: 109,473,423 msg/sec moodycamel::ConcurrentQueue, 5,s: 150,308,873 msg/sec moodycamel::ConcurrentQueue, 5,i: 159,026,489 msg/sec moodycamel::ConcurrentQueue, 6,s: 159,708,774 msg/sec moodycamel::ConcurrentQueue, 6,i: 193,560,723 msg/sec moodycamel::ConcurrentQueue, 7,s: 162,620,180 msg/sec moodycamel::ConcurrentQueue, 7,i: 185,691,241 msg/sec moodycamel::ConcurrentQueue, 8,s: 187,594,682 msg/sec moodycamel::ConcurrentQueue, 8,i: 177,891,410 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,538,669 msg/sec tbb::concurrent_bounded_queue, 1,i: 22,161,522 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,427,780 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,979,858 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,897,266 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,396,203 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,208,429 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,282,845 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,062,897 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,131,649 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,058,118 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,246,838 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,382,279 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,709,822 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,693,418 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,193,782 msg/sec xenium::michael_scott_queue, 1,s: 18,550,076 msg/sec xenium::michael_scott_queue, 1,i: 17,667,646 msg/sec xenium::michael_scott_queue, 2,s: 12,091,423 msg/sec xenium::michael_scott_queue, 2,i: 8,787,786 msg/sec xenium::michael_scott_queue, 3,s: 7,593,035 msg/sec xenium::michael_scott_queue, 3,i: 6,598,868 msg/sec xenium::michael_scott_queue, 4,s: 6,017,960 msg/sec xenium::michael_scott_queue, 4,i: 5,060,472 msg/sec xenium::michael_scott_queue, 5,s: 4,634,832 msg/sec xenium::michael_scott_queue, 5,i: 4,007,181 msg/sec xenium::michael_scott_queue, 6,s: 3,919,150 msg/sec xenium::michael_scott_queue, 6,i: 3,290,076 msg/sec xenium::michael_scott_queue, 7,s: 3,558,901 msg/sec xenium::michael_scott_queue, 7,i: 2,941,730 msg/sec xenium::michael_scott_queue, 8,s: 3,023,361 msg/sec xenium::michael_scott_queue, 8,i: 2,539,729 msg/sec xenium::ramalhete_queue, 1,s: 36,202,333 msg/sec xenium::ramalhete_queue, 1,i: 34,429,932 msg/sec xenium::ramalhete_queue, 2,s: 51,086,122 msg/sec xenium::ramalhete_queue, 2,i: 29,719,627 msg/sec xenium::ramalhete_queue, 3,s: 42,628,856 msg/sec xenium::ramalhete_queue, 3,i: 31,322,664 msg/sec xenium::ramalhete_queue, 4,s: 37,088,110 msg/sec xenium::ramalhete_queue, 4,i: 35,060,191 msg/sec xenium::ramalhete_queue, 5,s: 36,060,340 msg/sec xenium::ramalhete_queue, 5,i: 36,308,388 msg/sec xenium::ramalhete_queue, 6,s: 35,330,678 msg/sec xenium::ramalhete_queue, 6,i: 37,078,361 msg/sec xenium::ramalhete_queue, 7,s: 33,980,535 msg/sec xenium::ramalhete_queue, 7,i: 34,866,508 msg/sec xenium::ramalhete_queue, 8,s: 32,894,635 msg/sec xenium::ramalhete_queue, 8,i: 33,519,442 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,340,952 msg/sec xenium::vyukov_bounded_queue, 1,i: 134,146,653 msg/sec xenium::vyukov_bounded_queue, 2,s: 42,665,544 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,660,634 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,230,715 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,923,922 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,780,942 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,393,790 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,233,769 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,050,804 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,302,139 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,741,337 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,938,707 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,474,709 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,478,212 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,446,580 msg/sec boost::lockfree::queue, 1,s: 15,461,278 msg/sec boost::lockfree::queue, 1,i: 15,506,144 msg/sec boost::lockfree::queue, 2,s: 5,791,763 msg/sec boost::lockfree::queue, 2,i: 6,023,619 msg/sec boost::lockfree::queue, 3,s: 5,450,992 msg/sec boost::lockfree::queue, 3,i: 5,426,330 msg/sec boost::lockfree::queue, 4,s: 4,049,886 msg/sec boost::lockfree::queue, 4,i: 4,042,838 msg/sec boost::lockfree::queue, 5,s: 3,344,177 msg/sec boost::lockfree::queue, 5,i: 3,308,439 msg/sec boost::lockfree::queue, 6,s: 2,224,053 msg/sec boost::lockfree::queue, 6,i: 2,408,483 msg/sec boost::lockfree::queue, 7,s: 1,978,986 msg/sec boost::lockfree::queue, 7,i: 2,060,876 msg/sec boost::lockfree::queue, 8,s: 1,631,395 msg/sec boost::lockfree::queue, 8,i: 1,806,547 msg/sec std::mutex, 1,s: 13,124,928 msg/sec std::mutex, 1,i: 13,085,639 msg/sec std::mutex, 2,s: 9,134,495 msg/sec std::mutex, 2,i: 9,629,458 msg/sec std::mutex, 3,s: 5,258,461 msg/sec std::mutex, 3,i: 5,349,075 msg/sec std::mutex, 4,s: 4,138,458 msg/sec std::mutex, 4,i: 4,230,028 msg/sec std::mutex, 5,s: 3,932,302 msg/sec std::mutex, 5,i: 3,971,873 msg/sec std::mutex, 6,s: 3,586,965 msg/sec std::mutex, 6,i: 3,669,025 msg/sec std::mutex, 7,s: 3,670,945 msg/sec std::mutex, 7,i: 3,718,531 msg/sec std::mutex, 8,s: 3,498,593 msg/sec std::mutex, 8,i: 3,486,083 msg/sec pthread_spinlock, 1,s: 32,598,986 msg/sec pthread_spinlock, 1,i: 31,466,788 msg/sec pthread_spinlock, 2,s: 10,666,134 msg/sec pthread_spinlock, 2,i: 10,235,390 msg/sec pthread_spinlock, 3,s: 9,564,163 msg/sec pthread_spinlock, 3,i: 8,608,347 msg/sec pthread_spinlock, 4,s: 7,413,518 msg/sec pthread_spinlock, 4,i: 7,712,550 msg/sec pthread_spinlock, 5,s: 6,574,833 msg/sec pthread_spinlock, 5,i: 6,862,102 msg/sec pthread_spinlock, 6,s: 5,540,976 msg/sec pthread_spinlock, 6,i: 4,639,110 msg/sec pthread_spinlock, 7,s: 2,632,190 msg/sec pthread_spinlock, 7,i: 2,858,428 msg/sec pthread_spinlock, 8,s: 3,022,757 msg/sec pthread_spinlock, 8,i: 2,545,441 msg/sec tbb::spin_mutex, 1,s: 85,014,736 msg/sec tbb::spin_mutex, 1,i: 83,654,693 msg/sec tbb::spin_mutex, 2,s: 18,807,352 msg/sec tbb::spin_mutex, 2,i: 17,647,197 msg/sec tbb::spin_mutex, 3,s: 11,157,322 msg/sec tbb::spin_mutex, 3,i: 10,793,163 msg/sec tbb::spin_mutex, 4,s: 7,286,951 msg/sec tbb::spin_mutex, 4,i: 7,246,212 msg/sec tbb::spin_mutex, 5,s: 5,433,253 msg/sec tbb::spin_mutex, 5,i: 5,669,240 msg/sec tbb::spin_mutex, 6,s: 4,344,301 msg/sec tbb::spin_mutex, 6,i: 4,411,919 msg/sec tbb::spin_mutex, 7,s: 3,755,118 msg/sec tbb::spin_mutex, 7,i: 3,722,456 msg/sec tbb::spin_mutex, 8,s: 2,911,897 msg/sec tbb::spin_mutex, 8,i: 3,040,338 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1018.30 System time (seconds): 115.02 Percent of CPU this job got: 918% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.33 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 69964 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25100 Voluntary context switches: 8479242 Involuntary context switches: 269 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:46:16 [14/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000040 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000045 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000046 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000074 sec/round-trip tbb::concurrent_bounded_queue: 0.000000104 sec/round-trip xenium::michael_scott_queue: 0.000000165 sec/round-trip xenium::ramalhete_queue: 0.000000070 sec/round-trip xenium::vyukov_bounded_queue: 0.000000069 sec/round-trip boost::lockfree::queue: 0.000000110 sec/round-trip std::mutex: 0.000000398 sec/round-trip pthread_spinlock: 0.000000122 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 153,527,979 msg/sec boost::lockfree::spsc_queue, 1,i: 133,687,032 msg/sec AtomicQueue, 1,s: 103,031,410 msg/sec AtomicQueue, 1,i: 103,177,434 msg/sec AtomicQueue, 2,s: 12,760,838 msg/sec AtomicQueue, 2,i: 10,285,621 msg/sec AtomicQueue, 3,s: 9,898,518 msg/sec AtomicQueue, 3,i: 8,146,452 msg/sec AtomicQueue, 4,s: 7,856,942 msg/sec AtomicQueue, 4,i: 6,190,412 msg/sec AtomicQueue, 5,s: 5,998,298 msg/sec AtomicQueue, 5,i: 5,003,674 msg/sec AtomicQueue, 6,s: 5,199,186 msg/sec AtomicQueue, 6,i: 4,139,542 msg/sec AtomicQueue, 7,s: 4,584,206 msg/sec AtomicQueue, 7,i: 3,768,999 msg/sec AtomicQueue, 8,s: 4,068,078 msg/sec AtomicQueue, 8,i: 3,262,424 msg/sec OptimistAtomicQueue, 1,s: 859,725,739 msg/sec OptimistAtomicQueue, 1,i: 859,525,839 msg/sec OptimistAtomicQueue, 2,s: 93,000,958 msg/sec OptimistAtomicQueue, 2,i: 42,959,441 msg/sec OptimistAtomicQueue, 3,s: 59,382,491 msg/sec OptimistAtomicQueue, 3,i: 48,474,317 msg/sec OptimistAtomicQueue, 4,s: 65,245,685 msg/sec OptimistAtomicQueue, 4,i: 47,761,238 msg/sec OptimistAtomicQueue, 5,s: 57,262,174 msg/sec OptimistAtomicQueue, 5,i: 44,674,601 msg/sec OptimistAtomicQueue, 6,s: 58,181,907 msg/sec OptimistAtomicQueue, 6,i: 42,908,221 msg/sec OptimistAtomicQueue, 7,s: 56,576,851 msg/sec OptimistAtomicQueue, 7,i: 44,088,706 msg/sec OptimistAtomicQueue, 8,s: 56,950,436 msg/sec OptimistAtomicQueue, 8,i: 42,039,481 msg/sec AtomicQueueB, 1,s: 76,560,313 msg/sec AtomicQueueB, 1,i: 76,817,872 msg/sec AtomicQueueB, 2,s: 12,563,726 msg/sec AtomicQueueB, 2,i: 9,970,719 msg/sec AtomicQueueB, 3,s: 9,895,496 msg/sec AtomicQueueB, 3,i: 8,109,244 msg/sec AtomicQueueB, 4,s: 7,791,390 msg/sec AtomicQueueB, 4,i: 6,139,397 msg/sec AtomicQueueB, 5,s: 6,050,780 msg/sec AtomicQueueB, 5,i: 5,012,737 msg/sec AtomicQueueB, 6,s: 5,181,996 msg/sec AtomicQueueB, 6,i: 4,106,320 msg/sec AtomicQueueB, 7,s: 4,569,601 msg/sec AtomicQueueB, 7,i: 3,728,650 msg/sec AtomicQueueB, 8,s: 4,069,546 msg/sec AtomicQueueB, 8,i: 3,207,492 msg/sec OptimistAtomicQueueB, 1,s: 433,424,527 msg/sec OptimistAtomicQueueB, 1,i: 442,645,344 msg/sec OptimistAtomicQueueB, 2,s: 94,241,406 msg/sec OptimistAtomicQueueB, 2,i: 42,327,892 msg/sec OptimistAtomicQueueB, 3,s: 60,990,286 msg/sec OptimistAtomicQueueB, 3,i: 47,850,016 msg/sec OptimistAtomicQueueB, 4,s: 63,145,834 msg/sec OptimistAtomicQueueB, 4,i: 47,009,602 msg/sec OptimistAtomicQueueB, 5,s: 55,962,057 msg/sec OptimistAtomicQueueB, 5,i: 43,053,039 msg/sec OptimistAtomicQueueB, 6,s: 56,476,007 msg/sec OptimistAtomicQueueB, 6,i: 41,884,969 msg/sec OptimistAtomicQueueB, 7,s: 55,289,836 msg/sec OptimistAtomicQueueB, 7,i: 43,363,521 msg/sec OptimistAtomicQueueB, 8,s: 56,475,127 msg/sec OptimistAtomicQueueB, 8,i: 42,148,092 msg/sec AtomicQueue2, 1,s: 101,549,146 msg/sec AtomicQueue2, 1,i: 109,034,043 msg/sec AtomicQueue2, 2,s: 11,683,095 msg/sec AtomicQueue2, 2,i: 10,005,534 msg/sec AtomicQueue2, 3,s: 9,603,262 msg/sec AtomicQueue2, 3,i: 8,159,193 msg/sec AtomicQueue2, 4,s: 7,689,980 msg/sec AtomicQueue2, 4,i: 6,244,540 msg/sec AtomicQueue2, 5,s: 5,902,332 msg/sec AtomicQueue2, 5,i: 4,985,195 msg/sec AtomicQueue2, 6,s: 5,098,738 msg/sec AtomicQueue2, 6,i: 4,161,626 msg/sec AtomicQueue2, 7,s: 4,459,786 msg/sec AtomicQueue2, 7,i: 3,772,949 msg/sec AtomicQueue2, 8,s: 3,937,510 msg/sec AtomicQueue2, 8,i: 3,259,885 msg/sec OptimistAtomicQueue2, 1,s: 378,328,077 msg/sec OptimistAtomicQueue2, 1,i: 395,383,384 msg/sec OptimistAtomicQueue2, 2,s: 34,818,595 msg/sec OptimistAtomicQueue2, 2,i: 29,341,867 msg/sec OptimistAtomicQueue2, 3,s: 41,664,645 msg/sec OptimistAtomicQueue2, 3,i: 38,523,995 msg/sec OptimistAtomicQueue2, 4,s: 52,870,509 msg/sec OptimistAtomicQueue2, 4,i: 40,766,271 msg/sec OptimistAtomicQueue2, 5,s: 53,425,451 msg/sec OptimistAtomicQueue2, 5,i: 41,312,202 msg/sec OptimistAtomicQueue2, 6,s: 53,001,026 msg/sec OptimistAtomicQueue2, 6,i: 40,390,595 msg/sec OptimistAtomicQueue2, 7,s: 52,569,245 msg/sec OptimistAtomicQueue2, 7,i: 41,773,748 msg/sec OptimistAtomicQueue2, 8,s: 55,738,199 msg/sec OptimistAtomicQueue2, 8,i: 40,991,241 msg/sec AtomicQueueB2, 1,s: 77,726,147 msg/sec AtomicQueueB2, 1,i: 79,119,679 msg/sec AtomicQueueB2, 2,s: 11,205,472 msg/sec AtomicQueueB2, 2,i: 9,984,048 msg/sec AtomicQueueB2, 3,s: 9,740,016 msg/sec AtomicQueueB2, 3,i: 8,046,908 msg/sec AtomicQueueB2, 4,s: 7,606,223 msg/sec AtomicQueueB2, 4,i: 6,160,311 msg/sec AtomicQueueB2, 5,s: 5,820,025 msg/sec AtomicQueueB2, 5,i: 4,939,734 msg/sec AtomicQueueB2, 6,s: 5,025,966 msg/sec AtomicQueueB2, 6,i: 4,093,560 msg/sec AtomicQueueB2, 7,s: 4,413,577 msg/sec AtomicQueueB2, 7,i: 3,715,051 msg/sec AtomicQueueB2, 8,s: 3,895,707 msg/sec AtomicQueueB2, 8,i: 3,211,195 msg/sec OptimistAtomicQueueB2, 1,s: 132,182,470 msg/sec OptimistAtomicQueueB2, 1,i: 137,729,707 msg/sec OptimistAtomicQueueB2, 2,s: 35,048,925 msg/sec OptimistAtomicQueueB2, 2,i: 28,266,753 msg/sec OptimistAtomicQueueB2, 3,s: 41,141,416 msg/sec OptimistAtomicQueueB2, 3,i: 35,350,637 msg/sec OptimistAtomicQueueB2, 4,s: 52,553,346 msg/sec OptimistAtomicQueueB2, 4,i: 42,750,045 msg/sec OptimistAtomicQueueB2, 5,s: 53,993,217 msg/sec OptimistAtomicQueueB2, 5,i: 41,644,431 msg/sec OptimistAtomicQueueB2, 6,s: 53,700,038 msg/sec OptimistAtomicQueueB2, 6,i: 41,060,784 msg/sec OptimistAtomicQueueB2, 7,s: 53,431,692 msg/sec OptimistAtomicQueueB2, 7,i: 41,749,722 msg/sec OptimistAtomicQueueB2, 8,s: 53,630,074 msg/sec OptimistAtomicQueueB2, 8,i: 39,860,748 msg/sec moodycamel::ReaderWriterQueue, 1,s: 530,230,507 msg/sec moodycamel::ReaderWriterQueue, 1,i: 544,202,962 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,837,309 msg/sec moodycamel::ConcurrentQueue, 1,i: 32,041,690 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,166,375 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,951,354 msg/sec moodycamel::ConcurrentQueue, 3,s: 51,302,648 msg/sec moodycamel::ConcurrentQueue, 3,i: 58,667,604 msg/sec moodycamel::ConcurrentQueue, 4,s: 86,251,923 msg/sec moodycamel::ConcurrentQueue, 4,i: 105,305,527 msg/sec moodycamel::ConcurrentQueue, 5,s: 138,878,221 msg/sec moodycamel::ConcurrentQueue, 5,i: 169,520,054 msg/sec moodycamel::ConcurrentQueue, 6,s: 159,992,946 msg/sec moodycamel::ConcurrentQueue, 6,i: 171,380,689 msg/sec moodycamel::ConcurrentQueue, 7,s: 143,437,982 msg/sec moodycamel::ConcurrentQueue, 7,i: 197,089,359 msg/sec moodycamel::ConcurrentQueue, 8,s: 193,556,207 msg/sec moodycamel::ConcurrentQueue, 8,i: 188,275,884 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,032,444 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,756,593 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,452,824 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,851,046 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,868,905 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,364,209 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,204,641 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,291,049 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,951,163 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,150,163 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,093,444 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,254,159 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,306,290 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,663,004 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,669,092 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,182,144 msg/sec xenium::michael_scott_queue, 1,s: 17,740,498 msg/sec xenium::michael_scott_queue, 1,i: 17,653,365 msg/sec xenium::michael_scott_queue, 2,s: 12,014,864 msg/sec xenium::michael_scott_queue, 2,i: 8,760,720 msg/sec xenium::michael_scott_queue, 3,s: 7,505,062 msg/sec xenium::michael_scott_queue, 3,i: 6,463,878 msg/sec xenium::michael_scott_queue, 4,s: 5,953,270 msg/sec xenium::michael_scott_queue, 4,i: 4,934,506 msg/sec xenium::michael_scott_queue, 5,s: 4,517,670 msg/sec xenium::michael_scott_queue, 5,i: 3,958,599 msg/sec xenium::michael_scott_queue, 6,s: 3,892,924 msg/sec xenium::michael_scott_queue, 6,i: 3,291,220 msg/sec xenium::michael_scott_queue, 7,s: 3,466,843 msg/sec xenium::michael_scott_queue, 7,i: 2,902,071 msg/sec xenium::michael_scott_queue, 8,s: 3,028,478 msg/sec xenium::michael_scott_queue, 8,i: 2,503,597 msg/sec xenium::ramalhete_queue, 1,s: 35,738,775 msg/sec xenium::ramalhete_queue, 1,i: 34,606,048 msg/sec xenium::ramalhete_queue, 2,s: 45,168,514 msg/sec xenium::ramalhete_queue, 2,i: 29,569,121 msg/sec xenium::ramalhete_queue, 3,s: 45,409,120 msg/sec xenium::ramalhete_queue, 3,i: 31,096,231 msg/sec xenium::ramalhete_queue, 4,s: 36,378,965 msg/sec xenium::ramalhete_queue, 4,i: 35,486,395 msg/sec xenium::ramalhete_queue, 5,s: 35,608,123 msg/sec xenium::ramalhete_queue, 5,i: 37,531,182 msg/sec xenium::ramalhete_queue, 6,s: 35,550,626 msg/sec xenium::ramalhete_queue, 6,i: 36,349,757 msg/sec xenium::ramalhete_queue, 7,s: 33,973,295 msg/sec xenium::ramalhete_queue, 7,i: 34,951,634 msg/sec xenium::ramalhete_queue, 8,s: 34,164,632 msg/sec xenium::ramalhete_queue, 8,i: 34,959,872 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,867,509 msg/sec xenium::vyukov_bounded_queue, 1,i: 133,987,279 msg/sec xenium::vyukov_bounded_queue, 2,s: 40,111,611 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,737,659 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,260,213 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,763,609 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,470,232 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,313,228 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,359,997 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,649,679 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,344,206 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,681,448 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,067,844 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,509,370 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,672,038 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,490,817 msg/sec boost::lockfree::queue, 1,s: 15,396,569 msg/sec boost::lockfree::queue, 1,i: 15,400,542 msg/sec boost::lockfree::queue, 2,s: 5,837,160 msg/sec boost::lockfree::queue, 2,i: 6,078,886 msg/sec boost::lockfree::queue, 3,s: 5,441,559 msg/sec boost::lockfree::queue, 3,i: 5,441,057 msg/sec boost::lockfree::queue, 4,s: 4,047,101 msg/sec boost::lockfree::queue, 4,i: 4,041,368 msg/sec boost::lockfree::queue, 5,s: 3,338,860 msg/sec boost::lockfree::queue, 5,i: 3,300,517 msg/sec boost::lockfree::queue, 6,s: 2,216,212 msg/sec boost::lockfree::queue, 6,i: 2,389,632 msg/sec boost::lockfree::queue, 7,s: 2,028,306 msg/sec boost::lockfree::queue, 7,i: 2,054,266 msg/sec boost::lockfree::queue, 8,s: 1,632,167 msg/sec boost::lockfree::queue, 8,i: 1,796,069 msg/sec std::mutex, 1,s: 13,127,918 msg/sec std::mutex, 1,i: 13,122,419 msg/sec std::mutex, 2,s: 8,977,872 msg/sec std::mutex, 2,i: 9,266,424 msg/sec std::mutex, 3,s: 5,248,010 msg/sec std::mutex, 3,i: 5,395,358 msg/sec std::mutex, 4,s: 4,381,692 msg/sec std::mutex, 4,i: 4,463,506 msg/sec std::mutex, 5,s: 3,884,534 msg/sec std::mutex, 5,i: 3,926,922 msg/sec std::mutex, 6,s: 3,662,184 msg/sec std::mutex, 6,i: 3,730,253 msg/sec std::mutex, 7,s: 3,608,635 msg/sec std::mutex, 7,i: 3,671,141 msg/sec std::mutex, 8,s: 3,554,040 msg/sec std::mutex, 8,i: 3,491,381 msg/sec pthread_spinlock, 1,s: 32,380,477 msg/sec pthread_spinlock, 1,i: 31,437,272 msg/sec pthread_spinlock, 2,s: 10,748,848 msg/sec pthread_spinlock, 2,i: 10,385,577 msg/sec pthread_spinlock, 3,s: 9,495,461 msg/sec pthread_spinlock, 3,i: 8,593,964 msg/sec pthread_spinlock, 4,s: 7,333,971 msg/sec pthread_spinlock, 4,i: 7,679,458 msg/sec pthread_spinlock, 5,s: 6,548,254 msg/sec pthread_spinlock, 5,i: 6,697,812 msg/sec pthread_spinlock, 6,s: 5,488,833 msg/sec pthread_spinlock, 6,i: 5,243,996 msg/sec pthread_spinlock, 7,s: 2,446,208 msg/sec pthread_spinlock, 7,i: 4,451,281 msg/sec pthread_spinlock, 8,s: 2,826,982 msg/sec pthread_spinlock, 8,i: 4,519,600 msg/sec tbb::spin_mutex, 1,s: 85,011,043 msg/sec tbb::spin_mutex, 1,i: 82,457,201 msg/sec tbb::spin_mutex, 2,s: 18,913,887 msg/sec tbb::spin_mutex, 2,i: 17,610,685 msg/sec tbb::spin_mutex, 3,s: 11,204,220 msg/sec tbb::spin_mutex, 3,i: 10,736,225 msg/sec tbb::spin_mutex, 4,s: 7,260,403 msg/sec tbb::spin_mutex, 4,i: 7,189,052 msg/sec tbb::spin_mutex, 5,s: 5,525,200 msg/sec tbb::spin_mutex, 5,i: 5,663,732 msg/sec tbb::spin_mutex, 6,s: 4,297,340 msg/sec tbb::spin_mutex, 6,i: 4,363,874 msg/sec tbb::spin_mutex, 7,s: 3,684,454 msg/sec tbb::spin_mutex, 7,i: 3,721,312 msg/sec tbb::spin_mutex, 8,s: 2,901,063 msg/sec tbb::spin_mutex, 8,i: 2,994,132 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1012.50 System time (seconds): 115.40 Percent of CPU this job got: 916% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.08 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 72196 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 26664 Voluntary context switches: 8400833 Involuntary context switches: 283 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:48:19 [15/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000047 sec/round-trip OptimistAtomicQueue: 0.000000038 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000040 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000045 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000046 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000078 sec/round-trip tbb::concurrent_bounded_queue: 0.000000107 sec/round-trip xenium::michael_scott_queue: 0.000000165 sec/round-trip xenium::ramalhete_queue: 0.000000071 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000110 sec/round-trip std::mutex: 0.000000399 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000107 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 150,251,174 msg/sec boost::lockfree::spsc_queue, 1,i: 133,883,754 msg/sec AtomicQueue, 1,s: 101,976,719 msg/sec AtomicQueue, 1,i: 101,987,452 msg/sec AtomicQueue, 2,s: 12,694,426 msg/sec AtomicQueue, 2,i: 10,158,377 msg/sec AtomicQueue, 3,s: 10,245,694 msg/sec AtomicQueue, 3,i: 8,087,635 msg/sec AtomicQueue, 4,s: 7,818,376 msg/sec AtomicQueue, 4,i: 6,196,867 msg/sec AtomicQueue, 5,s: 6,081,128 msg/sec AtomicQueue, 5,i: 4,984,127 msg/sec AtomicQueue, 6,s: 5,216,725 msg/sec AtomicQueue, 6,i: 4,165,475 msg/sec AtomicQueue, 7,s: 4,571,267 msg/sec AtomicQueue, 7,i: 3,777,545 msg/sec AtomicQueue, 8,s: 4,053,068 msg/sec AtomicQueue, 8,i: 3,267,791 msg/sec OptimistAtomicQueue, 1,s: 859,910,915 msg/sec OptimistAtomicQueue, 1,i: 873,402,989 msg/sec OptimistAtomicQueue, 2,s: 93,629,368 msg/sec OptimistAtomicQueue, 2,i: 45,176,160 msg/sec OptimistAtomicQueue, 3,s: 58,639,064 msg/sec OptimistAtomicQueue, 3,i: 48,227,186 msg/sec OptimistAtomicQueue, 4,s: 64,166,788 msg/sec OptimistAtomicQueue, 4,i: 47,921,600 msg/sec OptimistAtomicQueue, 5,s: 57,632,533 msg/sec OptimistAtomicQueue, 5,i: 43,480,913 msg/sec OptimistAtomicQueue, 6,s: 57,313,288 msg/sec OptimistAtomicQueue, 6,i: 42,723,084 msg/sec OptimistAtomicQueue, 7,s: 55,592,464 msg/sec OptimistAtomicQueue, 7,i: 43,684,364 msg/sec OptimistAtomicQueue, 8,s: 57,585,947 msg/sec OptimistAtomicQueue, 8,i: 42,648,698 msg/sec AtomicQueueB, 1,s: 76,460,665 msg/sec AtomicQueueB, 1,i: 77,570,898 msg/sec AtomicQueueB, 2,s: 12,369,130 msg/sec AtomicQueueB, 2,i: 9,948,233 msg/sec AtomicQueueB, 3,s: 9,902,964 msg/sec AtomicQueueB, 3,i: 8,088,733 msg/sec AtomicQueueB, 4,s: 7,799,594 msg/sec AtomicQueueB, 4,i: 6,142,758 msg/sec AtomicQueueB, 5,s: 6,074,964 msg/sec AtomicQueueB, 5,i: 4,959,761 msg/sec AtomicQueueB, 6,s: 5,164,869 msg/sec AtomicQueueB, 6,i: 4,083,487 msg/sec AtomicQueueB, 7,s: 4,501,129 msg/sec AtomicQueueB, 7,i: 3,714,299 msg/sec AtomicQueueB, 8,s: 4,011,580 msg/sec AtomicQueueB, 8,i: 3,217,135 msg/sec OptimistAtomicQueueB, 1,s: 421,954,004 msg/sec OptimistAtomicQueueB, 1,i: 432,652,336 msg/sec OptimistAtomicQueueB, 2,s: 94,509,565 msg/sec OptimistAtomicQueueB, 2,i: 45,151,084 msg/sec OptimistAtomicQueueB, 3,s: 58,973,832 msg/sec OptimistAtomicQueueB, 3,i: 48,459,725 msg/sec OptimistAtomicQueueB, 4,s: 63,828,903 msg/sec OptimistAtomicQueueB, 4,i: 48,073,501 msg/sec OptimistAtomicQueueB, 5,s: 56,223,676 msg/sec OptimistAtomicQueueB, 5,i: 43,539,219 msg/sec OptimistAtomicQueueB, 6,s: 57,473,517 msg/sec OptimistAtomicQueueB, 6,i: 42,042,894 msg/sec OptimistAtomicQueueB, 7,s: 55,055,367 msg/sec OptimistAtomicQueueB, 7,i: 42,976,550 msg/sec OptimistAtomicQueueB, 8,s: 55,821,588 msg/sec OptimistAtomicQueueB, 8,i: 41,434,965 msg/sec AtomicQueue2, 1,s: 101,375,042 msg/sec AtomicQueue2, 1,i: 108,145,036 msg/sec AtomicQueue2, 2,s: 11,418,350 msg/sec AtomicQueue2, 2,i: 9,914,126 msg/sec AtomicQueue2, 3,s: 9,644,691 msg/sec AtomicQueue2, 3,i: 8,095,277 msg/sec AtomicQueue2, 4,s: 7,638,155 msg/sec AtomicQueue2, 4,i: 6,236,123 msg/sec AtomicQueue2, 5,s: 5,894,979 msg/sec AtomicQueue2, 5,i: 4,964,252 msg/sec AtomicQueue2, 6,s: 5,074,012 msg/sec AtomicQueue2, 6,i: 4,146,275 msg/sec AtomicQueue2, 7,s: 4,448,636 msg/sec AtomicQueue2, 7,i: 3,744,841 msg/sec AtomicQueue2, 8,s: 3,939,570 msg/sec AtomicQueue2, 8,i: 3,261,475 msg/sec OptimistAtomicQueue2, 1,s: 377,315,480 msg/sec OptimistAtomicQueue2, 1,i: 397,044,315 msg/sec OptimistAtomicQueue2, 2,s: 35,055,253 msg/sec OptimistAtomicQueue2, 2,i: 27,324,861 msg/sec OptimistAtomicQueue2, 3,s: 40,883,510 msg/sec OptimistAtomicQueue2, 3,i: 35,363,600 msg/sec OptimistAtomicQueue2, 4,s: 52,156,868 msg/sec OptimistAtomicQueue2, 4,i: 40,364,624 msg/sec OptimistAtomicQueue2, 5,s: 54,018,699 msg/sec OptimistAtomicQueue2, 5,i: 41,431,336 msg/sec OptimistAtomicQueue2, 6,s: 53,820,382 msg/sec OptimistAtomicQueue2, 6,i: 40,571,707 msg/sec OptimistAtomicQueue2, 7,s: 53,031,454 msg/sec OptimistAtomicQueue2, 7,i: 41,544,525 msg/sec OptimistAtomicQueue2, 8,s: 55,015,494 msg/sec OptimistAtomicQueue2, 8,i: 40,843,460 msg/sec AtomicQueueB2, 1,s: 78,308,470 msg/sec AtomicQueueB2, 1,i: 79,183,076 msg/sec AtomicQueueB2, 2,s: 11,541,738 msg/sec AtomicQueueB2, 2,i: 9,770,557 msg/sec AtomicQueueB2, 3,s: 9,656,858 msg/sec AtomicQueueB2, 3,i: 8,016,148 msg/sec AtomicQueueB2, 4,s: 7,537,210 msg/sec AtomicQueueB2, 4,i: 6,156,639 msg/sec AtomicQueueB2, 5,s: 5,872,278 msg/sec AtomicQueueB2, 5,i: 4,913,431 msg/sec AtomicQueueB2, 6,s: 5,001,026 msg/sec AtomicQueueB2, 6,i: 4,079,676 msg/sec AtomicQueueB2, 7,s: 4,429,289 msg/sec AtomicQueueB2, 7,i: 3,715,709 msg/sec AtomicQueueB2, 8,s: 3,892,024 msg/sec AtomicQueueB2, 8,i: 3,208,904 msg/sec OptimistAtomicQueueB2, 1,s: 131,682,481 msg/sec OptimistAtomicQueueB2, 1,i: 133,651,765 msg/sec OptimistAtomicQueueB2, 2,s: 34,989,665 msg/sec OptimistAtomicQueueB2, 2,i: 26,781,356 msg/sec OptimistAtomicQueueB2, 3,s: 40,536,000 msg/sec OptimistAtomicQueueB2, 3,i: 35,356,447 msg/sec OptimistAtomicQueueB2, 4,s: 55,152,266 msg/sec OptimistAtomicQueueB2, 4,i: 41,126,874 msg/sec OptimistAtomicQueueB2, 5,s: 54,493,835 msg/sec OptimistAtomicQueueB2, 5,i: 40,380,301 msg/sec OptimistAtomicQueueB2, 6,s: 53,134,118 msg/sec OptimistAtomicQueueB2, 6,i: 40,012,331 msg/sec OptimistAtomicQueueB2, 7,s: 52,750,532 msg/sec OptimistAtomicQueueB2, 7,i: 41,617,592 msg/sec OptimistAtomicQueueB2, 8,s: 54,700,743 msg/sec OptimistAtomicQueueB2, 8,i: 40,045,450 msg/sec moodycamel::ReaderWriterQueue, 1,s: 533,267,438 msg/sec moodycamel::ReaderWriterQueue, 1,i: 545,383,510 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,933,177 msg/sec moodycamel::ConcurrentQueue, 1,i: 32,066,654 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,511,458 msg/sec moodycamel::ConcurrentQueue, 2,i: 48,120,435 msg/sec moodycamel::ConcurrentQueue, 3,s: 44,882,112 msg/sec moodycamel::ConcurrentQueue, 3,i: 66,094,562 msg/sec moodycamel::ConcurrentQueue, 4,s: 90,462,177 msg/sec moodycamel::ConcurrentQueue, 4,i: 103,787,809 msg/sec moodycamel::ConcurrentQueue, 5,s: 133,537,680 msg/sec moodycamel::ConcurrentQueue, 5,i: 145,467,663 msg/sec moodycamel::ConcurrentQueue, 6,s: 168,163,430 msg/sec moodycamel::ConcurrentQueue, 6,i: 182,741,157 msg/sec moodycamel::ConcurrentQueue, 7,s: 191,123,015 msg/sec moodycamel::ConcurrentQueue, 7,i: 183,568,011 msg/sec moodycamel::ConcurrentQueue, 8,s: 192,182,831 msg/sec moodycamel::ConcurrentQueue, 8,i: 204,262,939 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,322,478 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,747,263 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,382,492 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,874,628 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,870,496 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,463,089 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,149,246 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,188,707 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,931,091 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,144,128 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,039,211 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,251,037 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,297,192 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,695,857 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,678,993 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,199,767 msg/sec xenium::michael_scott_queue, 1,s: 18,407,568 msg/sec xenium::michael_scott_queue, 1,i: 17,623,587 msg/sec xenium::michael_scott_queue, 2,s: 12,007,216 msg/sec xenium::michael_scott_queue, 2,i: 8,727,581 msg/sec xenium::michael_scott_queue, 3,s: 7,677,091 msg/sec xenium::michael_scott_queue, 3,i: 6,633,543 msg/sec xenium::michael_scott_queue, 4,s: 5,992,053 msg/sec xenium::michael_scott_queue, 4,i: 5,029,194 msg/sec xenium::michael_scott_queue, 5,s: 4,569,860 msg/sec xenium::michael_scott_queue, 5,i: 3,978,319 msg/sec xenium::michael_scott_queue, 6,s: 3,914,446 msg/sec xenium::michael_scott_queue, 6,i: 3,275,754 msg/sec xenium::michael_scott_queue, 7,s: 3,461,577 msg/sec xenium::michael_scott_queue, 7,i: 2,937,334 msg/sec xenium::michael_scott_queue, 8,s: 3,042,173 msg/sec xenium::michael_scott_queue, 8,i: 2,525,807 msg/sec xenium::ramalhete_queue, 1,s: 50,278,750 msg/sec xenium::ramalhete_queue, 1,i: 34,507,306 msg/sec xenium::ramalhete_queue, 2,s: 48,267,881 msg/sec xenium::ramalhete_queue, 2,i: 30,012,329 msg/sec xenium::ramalhete_queue, 3,s: 42,441,857 msg/sec xenium::ramalhete_queue, 3,i: 31,379,574 msg/sec xenium::ramalhete_queue, 4,s: 36,105,984 msg/sec xenium::ramalhete_queue, 4,i: 34,120,005 msg/sec xenium::ramalhete_queue, 5,s: 35,551,910 msg/sec xenium::ramalhete_queue, 5,i: 36,042,917 msg/sec xenium::ramalhete_queue, 6,s: 34,993,722 msg/sec xenium::ramalhete_queue, 6,i: 35,948,612 msg/sec xenium::ramalhete_queue, 7,s: 34,091,389 msg/sec xenium::ramalhete_queue, 7,i: 34,984,062 msg/sec xenium::ramalhete_queue, 8,s: 32,893,388 msg/sec xenium::ramalhete_queue, 8,i: 34,258,845 msg/sec xenium::vyukov_bounded_queue, 1,s: 123,289,482 msg/sec xenium::vyukov_bounded_queue, 1,i: 132,593,375 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,551,352 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,027,627 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,755,973 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,840,274 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,371,849 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,274,489 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,549,077 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,430,745 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,457,257 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,693,622 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,986,210 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,713,844 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,515,762 msg/sec xenium::vyukov_bounded_queue, 8,i: 6,990,563 msg/sec boost::lockfree::queue, 1,s: 15,423,734 msg/sec boost::lockfree::queue, 1,i: 15,376,469 msg/sec boost::lockfree::queue, 2,s: 5,819,654 msg/sec boost::lockfree::queue, 2,i: 6,034,910 msg/sec boost::lockfree::queue, 3,s: 5,424,472 msg/sec boost::lockfree::queue, 3,i: 5,424,129 msg/sec boost::lockfree::queue, 4,s: 4,052,403 msg/sec boost::lockfree::queue, 4,i: 4,050,001 msg/sec boost::lockfree::queue, 5,s: 3,349,606 msg/sec boost::lockfree::queue, 5,i: 3,309,465 msg/sec boost::lockfree::queue, 6,s: 2,216,593 msg/sec boost::lockfree::queue, 6,i: 3,154,745 msg/sec boost::lockfree::queue, 7,s: 2,217,012 msg/sec boost::lockfree::queue, 7,i: 2,057,589 msg/sec boost::lockfree::queue, 8,s: 1,627,358 msg/sec boost::lockfree::queue, 8,i: 1,805,971 msg/sec std::mutex, 1,s: 13,102,023 msg/sec std::mutex, 1,i: 13,129,379 msg/sec std::mutex, 2,s: 9,040,086 msg/sec std::mutex, 2,i: 9,454,077 msg/sec std::mutex, 3,s: 5,247,526 msg/sec std::mutex, 3,i: 5,358,766 msg/sec std::mutex, 4,s: 4,070,167 msg/sec std::mutex, 4,i: 4,153,193 msg/sec std::mutex, 5,s: 3,841,953 msg/sec std::mutex, 5,i: 3,899,709 msg/sec std::mutex, 6,s: 3,591,846 msg/sec std::mutex, 6,i: 3,688,956 msg/sec std::mutex, 7,s: 3,703,477 msg/sec std::mutex, 7,i: 3,693,978 msg/sec std::mutex, 8,s: 3,477,439 msg/sec std::mutex, 8,i: 3,519,982 msg/sec pthread_spinlock, 1,s: 33,987,737 msg/sec pthread_spinlock, 1,i: 31,228,265 msg/sec pthread_spinlock, 2,s: 10,601,835 msg/sec pthread_spinlock, 2,i: 10,321,577 msg/sec pthread_spinlock, 3,s: 9,328,351 msg/sec pthread_spinlock, 3,i: 8,658,968 msg/sec pthread_spinlock, 4,s: 7,410,706 msg/sec pthread_spinlock, 4,i: 7,462,255 msg/sec pthread_spinlock, 5,s: 6,605,486 msg/sec pthread_spinlock, 5,i: 6,880,185 msg/sec pthread_spinlock, 6,s: 5,498,199 msg/sec pthread_spinlock, 6,i: 5,469,545 msg/sec pthread_spinlock, 7,s: 2,559,679 msg/sec pthread_spinlock, 7,i: 3,273,142 msg/sec pthread_spinlock, 8,s: 2,903,247 msg/sec pthread_spinlock, 8,i: 4,424,560 msg/sec tbb::spin_mutex, 1,s: 83,631,982 msg/sec tbb::spin_mutex, 1,i: 83,172,711 msg/sec tbb::spin_mutex, 2,s: 18,502,219 msg/sec tbb::spin_mutex, 2,i: 17,535,876 msg/sec tbb::spin_mutex, 3,s: 11,170,975 msg/sec tbb::spin_mutex, 3,i: 10,627,736 msg/sec tbb::spin_mutex, 4,s: 7,299,515 msg/sec tbb::spin_mutex, 4,i: 7,233,892 msg/sec tbb::spin_mutex, 5,s: 5,520,334 msg/sec tbb::spin_mutex, 5,i: 5,629,731 msg/sec tbb::spin_mutex, 6,s: 4,213,669 msg/sec tbb::spin_mutex, 6,i: 4,406,624 msg/sec tbb::spin_mutex, 7,s: 3,784,832 msg/sec tbb::spin_mutex, 7,i: 3,656,225 msg/sec tbb::spin_mutex, 8,s: 2,909,821 msg/sec tbb::spin_mutex, 8,i: 3,006,817 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1011.82 System time (seconds): 115.37 Percent of CPU this job got: 916% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.04 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 62212 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24193 Voluntary context switches: 8551653 Involuntary context switches: 290 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:50:22 [16/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000040 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000045 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000074 sec/round-trip tbb::concurrent_bounded_queue: 0.000000104 sec/round-trip xenium::michael_scott_queue: 0.000000165 sec/round-trip xenium::ramalhete_queue: 0.000000071 sec/round-trip xenium::vyukov_bounded_queue: 0.000000069 sec/round-trip boost::lockfree::queue: 0.000000110 sec/round-trip std::mutex: 0.000000400 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 150,011,573 msg/sec boost::lockfree::spsc_queue, 1,i: 133,560,017 msg/sec AtomicQueue, 1,s: 102,325,071 msg/sec AtomicQueue, 1,i: 102,782,604 msg/sec AtomicQueue, 2,s: 12,869,628 msg/sec AtomicQueue, 2,i: 10,117,222 msg/sec AtomicQueue, 3,s: 10,051,217 msg/sec AtomicQueue, 3,i: 8,123,075 msg/sec AtomicQueue, 4,s: 7,879,047 msg/sec AtomicQueue, 4,i: 6,203,130 msg/sec AtomicQueue, 5,s: 5,924,252 msg/sec AtomicQueue, 5,i: 5,000,157 msg/sec AtomicQueue, 6,s: 5,245,205 msg/sec AtomicQueue, 6,i: 4,135,620 msg/sec AtomicQueue, 7,s: 4,583,810 msg/sec AtomicQueue, 7,i: 3,764,080 msg/sec AtomicQueue, 8,s: 4,035,897 msg/sec AtomicQueue, 8,i: 3,252,382 msg/sec OptimistAtomicQueue, 1,s: 856,442,908 msg/sec OptimistAtomicQueue, 1,i: 854,726,692 msg/sec OptimistAtomicQueue, 2,s: 93,377,879 msg/sec OptimistAtomicQueue, 2,i: 42,694,124 msg/sec OptimistAtomicQueue, 3,s: 59,153,624 msg/sec OptimistAtomicQueue, 3,i: 48,171,928 msg/sec OptimistAtomicQueue, 4,s: 64,461,357 msg/sec OptimistAtomicQueue, 4,i: 47,970,198 msg/sec OptimistAtomicQueue, 5,s: 57,606,986 msg/sec OptimistAtomicQueue, 5,i: 44,386,148 msg/sec OptimistAtomicQueue, 6,s: 58,160,887 msg/sec OptimistAtomicQueue, 6,i: 42,902,725 msg/sec OptimistAtomicQueue, 7,s: 55,740,277 msg/sec OptimistAtomicQueue, 7,i: 43,538,093 msg/sec OptimistAtomicQueue, 8,s: 56,705,761 msg/sec OptimistAtomicQueue, 8,i: 41,918,871 msg/sec AtomicQueueB, 1,s: 76,879,468 msg/sec AtomicQueueB, 1,i: 76,199,732 msg/sec AtomicQueueB, 2,s: 12,459,079 msg/sec AtomicQueueB, 2,i: 9,976,119 msg/sec AtomicQueueB, 3,s: 9,894,806 msg/sec AtomicQueueB, 3,i: 8,074,499 msg/sec AtomicQueueB, 4,s: 7,837,888 msg/sec AtomicQueueB, 4,i: 6,218,707 msg/sec AtomicQueueB, 5,s: 6,030,809 msg/sec AtomicQueueB, 5,i: 4,964,254 msg/sec AtomicQueueB, 6,s: 5,169,399 msg/sec AtomicQueueB, 6,i: 4,071,533 msg/sec AtomicQueueB, 7,s: 4,514,220 msg/sec AtomicQueueB, 7,i: 3,700,873 msg/sec AtomicQueueB, 8,s: 4,041,430 msg/sec AtomicQueueB, 8,i: 3,228,439 msg/sec OptimistAtomicQueueB, 1,s: 429,755,518 msg/sec OptimistAtomicQueueB, 1,i: 440,146,761 msg/sec OptimistAtomicQueueB, 2,s: 94,436,775 msg/sec OptimistAtomicQueueB, 2,i: 42,263,815 msg/sec OptimistAtomicQueueB, 3,s: 58,151,534 msg/sec OptimistAtomicQueueB, 3,i: 48,102,558 msg/sec OptimistAtomicQueueB, 4,s: 63,092,027 msg/sec OptimistAtomicQueueB, 4,i: 47,255,051 msg/sec OptimistAtomicQueueB, 5,s: 56,645,740 msg/sec OptimistAtomicQueueB, 5,i: 43,009,275 msg/sec OptimistAtomicQueueB, 6,s: 56,309,432 msg/sec OptimistAtomicQueueB, 6,i: 42,523,843 msg/sec OptimistAtomicQueueB, 7,s: 56,459,045 msg/sec OptimistAtomicQueueB, 7,i: 42,925,500 msg/sec OptimistAtomicQueueB, 8,s: 56,085,485 msg/sec OptimistAtomicQueueB, 8,i: 41,540,610 msg/sec AtomicQueue2, 1,s: 100,216,681 msg/sec AtomicQueue2, 1,i: 107,471,735 msg/sec AtomicQueue2, 2,s: 11,338,619 msg/sec AtomicQueue2, 2,i: 9,916,839 msg/sec AtomicQueue2, 3,s: 9,700,237 msg/sec AtomicQueue2, 3,i: 8,087,318 msg/sec AtomicQueue2, 4,s: 7,653,875 msg/sec AtomicQueue2, 4,i: 6,245,263 msg/sec AtomicQueue2, 5,s: 5,909,097 msg/sec AtomicQueue2, 5,i: 4,961,691 msg/sec AtomicQueue2, 6,s: 5,105,665 msg/sec AtomicQueue2, 6,i: 4,151,063 msg/sec AtomicQueue2, 7,s: 4,434,482 msg/sec AtomicQueue2, 7,i: 3,760,210 msg/sec AtomicQueue2, 8,s: 3,922,039 msg/sec AtomicQueue2, 8,i: 3,258,896 msg/sec OptimistAtomicQueue2, 1,s: 386,937,576 msg/sec OptimistAtomicQueue2, 1,i: 398,214,977 msg/sec OptimistAtomicQueue2, 2,s: 35,398,635 msg/sec OptimistAtomicQueue2, 2,i: 27,808,464 msg/sec OptimistAtomicQueue2, 3,s: 41,854,389 msg/sec OptimistAtomicQueue2, 3,i: 35,850,722 msg/sec OptimistAtomicQueue2, 4,s: 52,832,672 msg/sec OptimistAtomicQueue2, 4,i: 40,608,057 msg/sec OptimistAtomicQueue2, 5,s: 54,212,908 msg/sec OptimistAtomicQueue2, 5,i: 42,558,390 msg/sec OptimistAtomicQueue2, 6,s: 52,784,719 msg/sec OptimistAtomicQueue2, 6,i: 41,000,282 msg/sec OptimistAtomicQueue2, 7,s: 53,207,183 msg/sec OptimistAtomicQueue2, 7,i: 41,218,700 msg/sec OptimistAtomicQueue2, 8,s: 54,751,034 msg/sec OptimistAtomicQueue2, 8,i: 40,130,384 msg/sec AtomicQueueB2, 1,s: 78,489,149 msg/sec AtomicQueueB2, 1,i: 79,076,802 msg/sec AtomicQueueB2, 2,s: 11,260,616 msg/sec AtomicQueueB2, 2,i: 9,883,096 msg/sec AtomicQueueB2, 3,s: 9,620,757 msg/sec AtomicQueueB2, 3,i: 7,980,013 msg/sec AtomicQueueB2, 4,s: 7,541,108 msg/sec AtomicQueueB2, 4,i: 6,160,484 msg/sec AtomicQueueB2, 5,s: 5,812,032 msg/sec AtomicQueueB2, 5,i: 4,915,427 msg/sec AtomicQueueB2, 6,s: 5,026,171 msg/sec AtomicQueueB2, 6,i: 4,071,171 msg/sec AtomicQueueB2, 7,s: 4,428,129 msg/sec AtomicQueueB2, 7,i: 3,703,151 msg/sec AtomicQueueB2, 8,s: 3,891,493 msg/sec AtomicQueueB2, 8,i: 3,209,554 msg/sec OptimistAtomicQueueB2, 1,s: 130,940,152 msg/sec OptimistAtomicQueueB2, 1,i: 132,390,764 msg/sec OptimistAtomicQueueB2, 2,s: 35,363,780 msg/sec OptimistAtomicQueueB2, 2,i: 28,136,278 msg/sec OptimistAtomicQueueB2, 3,s: 42,034,430 msg/sec OptimistAtomicQueueB2, 3,i: 38,617,871 msg/sec OptimistAtomicQueueB2, 4,s: 53,643,333 msg/sec OptimistAtomicQueueB2, 4,i: 40,650,943 msg/sec OptimistAtomicQueueB2, 5,s: 54,523,931 msg/sec OptimistAtomicQueueB2, 5,i: 40,960,356 msg/sec OptimistAtomicQueueB2, 6,s: 53,496,058 msg/sec OptimistAtomicQueueB2, 6,i: 40,538,701 msg/sec OptimistAtomicQueueB2, 7,s: 52,926,702 msg/sec OptimistAtomicQueueB2, 7,i: 40,948,821 msg/sec OptimistAtomicQueueB2, 8,s: 53,783,848 msg/sec OptimistAtomicQueueB2, 8,i: 40,400,863 msg/sec moodycamel::ReaderWriterQueue, 1,s: 531,857,978 msg/sec moodycamel::ReaderWriterQueue, 1,i: 547,763,045 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,885,303 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,982,151 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,385,262 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,734,239 msg/sec moodycamel::ConcurrentQueue, 3,s: 50,060,664 msg/sec moodycamel::ConcurrentQueue, 3,i: 49,575,936 msg/sec moodycamel::ConcurrentQueue, 4,s: 81,131,875 msg/sec moodycamel::ConcurrentQueue, 4,i: 85,111,300 msg/sec moodycamel::ConcurrentQueue, 5,s: 146,687,125 msg/sec moodycamel::ConcurrentQueue, 5,i: 161,879,646 msg/sec moodycamel::ConcurrentQueue, 6,s: 156,617,745 msg/sec moodycamel::ConcurrentQueue, 6,i: 161,730,191 msg/sec moodycamel::ConcurrentQueue, 7,s: 175,877,495 msg/sec moodycamel::ConcurrentQueue, 7,i: 202,495,443 msg/sec moodycamel::ConcurrentQueue, 8,s: 197,889,632 msg/sec moodycamel::ConcurrentQueue, 8,i: 185,527,898 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,233,182 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,912,042 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,312,327 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,833,494 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,868,988 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,493,353 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,190,613 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,178,983 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,929,434 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,106,893 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,011,601 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,237,622 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,308,342 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,663,217 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,681,082 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,192,308 msg/sec xenium::michael_scott_queue, 1,s: 18,128,010 msg/sec xenium::michael_scott_queue, 1,i: 18,141,576 msg/sec xenium::michael_scott_queue, 2,s: 12,280,382 msg/sec xenium::michael_scott_queue, 2,i: 8,676,998 msg/sec xenium::michael_scott_queue, 3,s: 7,541,025 msg/sec xenium::michael_scott_queue, 3,i: 6,650,035 msg/sec xenium::michael_scott_queue, 4,s: 5,973,481 msg/sec xenium::michael_scott_queue, 4,i: 4,994,169 msg/sec xenium::michael_scott_queue, 5,s: 4,620,903 msg/sec xenium::michael_scott_queue, 5,i: 3,913,277 msg/sec xenium::michael_scott_queue, 6,s: 3,895,548 msg/sec xenium::michael_scott_queue, 6,i: 3,307,920 msg/sec xenium::michael_scott_queue, 7,s: 3,458,881 msg/sec xenium::michael_scott_queue, 7,i: 2,889,339 msg/sec xenium::michael_scott_queue, 8,s: 3,036,026 msg/sec xenium::michael_scott_queue, 8,i: 2,509,489 msg/sec xenium::ramalhete_queue, 1,s: 35,934,238 msg/sec xenium::ramalhete_queue, 1,i: 34,358,736 msg/sec xenium::ramalhete_queue, 2,s: 49,170,725 msg/sec xenium::ramalhete_queue, 2,i: 30,205,253 msg/sec xenium::ramalhete_queue, 3,s: 45,633,738 msg/sec xenium::ramalhete_queue, 3,i: 31,016,180 msg/sec xenium::ramalhete_queue, 4,s: 37,255,426 msg/sec xenium::ramalhete_queue, 4,i: 35,042,157 msg/sec xenium::ramalhete_queue, 5,s: 35,861,355 msg/sec xenium::ramalhete_queue, 5,i: 37,131,449 msg/sec xenium::ramalhete_queue, 6,s: 34,685,708 msg/sec xenium::ramalhete_queue, 6,i: 35,794,652 msg/sec xenium::ramalhete_queue, 7,s: 34,198,703 msg/sec xenium::ramalhete_queue, 7,i: 35,316,230 msg/sec xenium::ramalhete_queue, 8,s: 32,933,829 msg/sec xenium::ramalhete_queue, 8,i: 34,089,496 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,416,824 msg/sec xenium::vyukov_bounded_queue, 1,i: 133,005,779 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,394,668 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,839,020 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,430,705 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,789,055 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,340,237 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,360,939 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,499,815 msg/sec xenium::vyukov_bounded_queue, 5,i: 9,890,697 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,525,881 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,715,628 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,337,097 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,430,498 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,468,356 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,355,981 msg/sec boost::lockfree::queue, 1,s: 15,364,773 msg/sec boost::lockfree::queue, 1,i: 15,403,674 msg/sec boost::lockfree::queue, 2,s: 5,876,076 msg/sec boost::lockfree::queue, 2,i: 6,041,395 msg/sec boost::lockfree::queue, 3,s: 5,436,430 msg/sec boost::lockfree::queue, 3,i: 5,409,972 msg/sec boost::lockfree::queue, 4,s: 4,047,792 msg/sec boost::lockfree::queue, 4,i: 4,036,185 msg/sec boost::lockfree::queue, 5,s: 3,329,717 msg/sec boost::lockfree::queue, 5,i: 3,288,868 msg/sec boost::lockfree::queue, 6,s: 2,220,586 msg/sec boost::lockfree::queue, 6,i: 2,385,038 msg/sec boost::lockfree::queue, 7,s: 2,026,885 msg/sec boost::lockfree::queue, 7,i: 2,053,451 msg/sec boost::lockfree::queue, 8,s: 1,621,607 msg/sec boost::lockfree::queue, 8,i: 1,798,170 msg/sec std::mutex, 1,s: 13,060,930 msg/sec std::mutex, 1,i: 13,059,106 msg/sec std::mutex, 2,s: 9,134,708 msg/sec std::mutex, 2,i: 9,470,322 msg/sec std::mutex, 3,s: 5,252,187 msg/sec std::mutex, 3,i: 5,352,218 msg/sec std::mutex, 4,s: 4,175,584 msg/sec std::mutex, 4,i: 4,277,244 msg/sec std::mutex, 5,s: 3,890,387 msg/sec std::mutex, 5,i: 3,958,895 msg/sec std::mutex, 6,s: 3,626,882 msg/sec std::mutex, 6,i: 3,756,272 msg/sec std::mutex, 7,s: 3,702,826 msg/sec std::mutex, 7,i: 3,707,693 msg/sec std::mutex, 8,s: 3,499,249 msg/sec std::mutex, 8,i: 3,553,150 msg/sec pthread_spinlock, 1,s: 32,373,346 msg/sec pthread_spinlock, 1,i: 31,036,536 msg/sec pthread_spinlock, 2,s: 10,593,972 msg/sec pthread_spinlock, 2,i: 10,227,560 msg/sec pthread_spinlock, 3,s: 9,387,712 msg/sec pthread_spinlock, 3,i: 8,614,003 msg/sec pthread_spinlock, 4,s: 7,401,436 msg/sec pthread_spinlock, 4,i: 7,605,667 msg/sec pthread_spinlock, 5,s: 6,575,312 msg/sec pthread_spinlock, 5,i: 6,702,708 msg/sec pthread_spinlock, 6,s: 5,513,294 msg/sec pthread_spinlock, 6,i: 5,335,165 msg/sec pthread_spinlock, 7,s: 2,534,308 msg/sec pthread_spinlock, 7,i: 2,849,232 msg/sec pthread_spinlock, 8,s: 2,808,032 msg/sec pthread_spinlock, 8,i: 4,557,664 msg/sec tbb::spin_mutex, 1,s: 81,818,368 msg/sec tbb::spin_mutex, 1,i: 83,385,619 msg/sec tbb::spin_mutex, 2,s: 18,592,326 msg/sec tbb::spin_mutex, 2,i: 17,617,742 msg/sec tbb::spin_mutex, 3,s: 11,145,626 msg/sec tbb::spin_mutex, 3,i: 10,737,371 msg/sec tbb::spin_mutex, 4,s: 7,193,110 msg/sec tbb::spin_mutex, 4,i: 7,173,740 msg/sec tbb::spin_mutex, 5,s: 5,494,326 msg/sec tbb::spin_mutex, 5,i: 5,582,323 msg/sec tbb::spin_mutex, 6,s: 4,184,007 msg/sec tbb::spin_mutex, 6,i: 4,381,496 msg/sec tbb::spin_mutex, 7,s: 3,612,700 msg/sec tbb::spin_mutex, 7,i: 3,649,285 msg/sec tbb::spin_mutex, 8,s: 2,881,342 msg/sec tbb::spin_mutex, 8,i: 3,038,676 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1020.69 System time (seconds): 115.18 Percent of CPU this job got: 917% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.78 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 67188 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25405 Voluntary context switches: 8376896 Involuntary context switches: 286 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:52:26 [17/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000059 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000075 sec/round-trip tbb::concurrent_bounded_queue: 0.000000104 sec/round-trip xenium::michael_scott_queue: 0.000000166 sec/round-trip xenium::ramalhete_queue: 0.000000071 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000110 sec/round-trip std::mutex: 0.000000400 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000107 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 149,645,411 msg/sec boost::lockfree::spsc_queue, 1,i: 132,991,956 msg/sec AtomicQueue, 1,s: 100,957,084 msg/sec AtomicQueue, 1,i: 102,397,191 msg/sec AtomicQueue, 2,s: 12,762,539 msg/sec AtomicQueue, 2,i: 10,116,817 msg/sec AtomicQueue, 3,s: 10,019,187 msg/sec AtomicQueue, 3,i: 8,137,565 msg/sec AtomicQueue, 4,s: 7,888,292 msg/sec AtomicQueue, 4,i: 6,220,465 msg/sec AtomicQueue, 5,s: 6,080,946 msg/sec AtomicQueue, 5,i: 5,015,838 msg/sec AtomicQueue, 6,s: 5,223,848 msg/sec AtomicQueue, 6,i: 4,134,494 msg/sec AtomicQueue, 7,s: 4,607,457 msg/sec AtomicQueue, 7,i: 3,764,443 msg/sec AtomicQueue, 8,s: 4,046,572 msg/sec AtomicQueue, 8,i: 3,256,726 msg/sec OptimistAtomicQueue, 1,s: 880,631,386 msg/sec OptimistAtomicQueue, 1,i: 878,360,659 msg/sec OptimistAtomicQueue, 2,s: 57,232,031 msg/sec OptimistAtomicQueue, 2,i: 42,877,205 msg/sec OptimistAtomicQueue, 3,s: 59,255,152 msg/sec OptimistAtomicQueue, 3,i: 48,170,486 msg/sec OptimistAtomicQueue, 4,s: 63,992,188 msg/sec OptimistAtomicQueue, 4,i: 46,964,433 msg/sec OptimistAtomicQueue, 5,s: 57,028,337 msg/sec OptimistAtomicQueue, 5,i: 44,896,336 msg/sec OptimistAtomicQueue, 6,s: 58,305,590 msg/sec OptimistAtomicQueue, 6,i: 42,770,190 msg/sec OptimistAtomicQueue, 7,s: 55,035,604 msg/sec OptimistAtomicQueue, 7,i: 43,436,837 msg/sec OptimistAtomicQueue, 8,s: 56,525,213 msg/sec OptimistAtomicQueue, 8,i: 41,715,532 msg/sec AtomicQueueB, 1,s: 76,926,871 msg/sec AtomicQueueB, 1,i: 75,510,596 msg/sec AtomicQueueB, 2,s: 12,326,419 msg/sec AtomicQueueB, 2,i: 9,913,790 msg/sec AtomicQueueB, 3,s: 9,890,205 msg/sec AtomicQueueB, 3,i: 8,045,843 msg/sec AtomicQueueB, 4,s: 7,676,902 msg/sec AtomicQueueB, 4,i: 6,191,544 msg/sec AtomicQueueB, 5,s: 6,039,478 msg/sec AtomicQueueB, 5,i: 4,966,480 msg/sec AtomicQueueB, 6,s: 5,127,130 msg/sec AtomicQueueB, 6,i: 4,096,752 msg/sec AtomicQueueB, 7,s: 4,537,442 msg/sec AtomicQueueB, 7,i: 3,737,870 msg/sec AtomicQueueB, 8,s: 4,022,616 msg/sec AtomicQueueB, 8,i: 3,228,103 msg/sec OptimistAtomicQueueB, 1,s: 426,647,231 msg/sec OptimistAtomicQueueB, 1,i: 439,745,341 msg/sec OptimistAtomicQueueB, 2,s: 94,331,366 msg/sec OptimistAtomicQueueB, 2,i: 42,138,358 msg/sec OptimistAtomicQueueB, 3,s: 58,311,653 msg/sec OptimistAtomicQueueB, 3,i: 49,733,244 msg/sec OptimistAtomicQueueB, 4,s: 63,830,495 msg/sec OptimistAtomicQueueB, 4,i: 47,555,247 msg/sec OptimistAtomicQueueB, 5,s: 56,770,558 msg/sec OptimistAtomicQueueB, 5,i: 43,412,148 msg/sec OptimistAtomicQueueB, 6,s: 56,362,312 msg/sec OptimistAtomicQueueB, 6,i: 42,341,767 msg/sec OptimistAtomicQueueB, 7,s: 55,854,161 msg/sec OptimistAtomicQueueB, 7,i: 42,853,235 msg/sec OptimistAtomicQueueB, 8,s: 55,779,504 msg/sec OptimistAtomicQueueB, 8,i: 41,618,054 msg/sec AtomicQueue2, 1,s: 103,590,144 msg/sec AtomicQueue2, 1,i: 106,899,082 msg/sec AtomicQueue2, 2,s: 11,268,693 msg/sec AtomicQueue2, 2,i: 9,851,010 msg/sec AtomicQueue2, 3,s: 9,566,738 msg/sec AtomicQueue2, 3,i: 8,105,389 msg/sec AtomicQueue2, 4,s: 7,619,788 msg/sec AtomicQueue2, 4,i: 6,243,769 msg/sec AtomicQueue2, 5,s: 5,911,406 msg/sec AtomicQueue2, 5,i: 4,966,607 msg/sec AtomicQueue2, 6,s: 5,110,791 msg/sec AtomicQueue2, 6,i: 4,166,272 msg/sec AtomicQueue2, 7,s: 4,437,259 msg/sec AtomicQueue2, 7,i: 3,756,595 msg/sec AtomicQueue2, 8,s: 3,916,283 msg/sec AtomicQueue2, 8,i: 3,246,569 msg/sec OptimistAtomicQueue2, 1,s: 370,053,575 msg/sec OptimistAtomicQueue2, 1,i: 403,787,493 msg/sec OptimistAtomicQueue2, 2,s: 34,981,755 msg/sec OptimistAtomicQueue2, 2,i: 29,356,296 msg/sec OptimistAtomicQueue2, 3,s: 41,933,397 msg/sec OptimistAtomicQueue2, 3,i: 35,771,407 msg/sec OptimistAtomicQueue2, 4,s: 52,915,947 msg/sec OptimistAtomicQueue2, 4,i: 42,167,377 msg/sec OptimistAtomicQueue2, 5,s: 55,001,427 msg/sec OptimistAtomicQueue2, 5,i: 41,544,327 msg/sec OptimistAtomicQueue2, 6,s: 53,154,209 msg/sec OptimistAtomicQueue2, 6,i: 41,030,553 msg/sec OptimistAtomicQueue2, 7,s: 54,086,380 msg/sec OptimistAtomicQueue2, 7,i: 41,228,933 msg/sec OptimistAtomicQueue2, 8,s: 54,629,127 msg/sec OptimistAtomicQueue2, 8,i: 40,237,598 msg/sec AtomicQueueB2, 1,s: 77,945,334 msg/sec AtomicQueueB2, 1,i: 78,473,907 msg/sec AtomicQueueB2, 2,s: 11,232,379 msg/sec AtomicQueueB2, 2,i: 9,751,379 msg/sec AtomicQueueB2, 3,s: 9,513,849 msg/sec AtomicQueueB2, 3,i: 7,994,296 msg/sec AtomicQueueB2, 4,s: 7,553,092 msg/sec AtomicQueueB2, 4,i: 6,115,776 msg/sec AtomicQueueB2, 5,s: 5,840,521 msg/sec AtomicQueueB2, 5,i: 4,907,853 msg/sec AtomicQueueB2, 6,s: 4,981,418 msg/sec AtomicQueueB2, 6,i: 4,076,591 msg/sec AtomicQueueB2, 7,s: 4,401,208 msg/sec AtomicQueueB2, 7,i: 3,693,611 msg/sec AtomicQueueB2, 8,s: 3,915,954 msg/sec AtomicQueueB2, 8,i: 3,200,586 msg/sec OptimistAtomicQueueB2, 1,s: 129,919,036 msg/sec OptimistAtomicQueueB2, 1,i: 130,161,487 msg/sec OptimistAtomicQueueB2, 2,s: 34,818,789 msg/sec OptimistAtomicQueueB2, 2,i: 28,334,110 msg/sec OptimistAtomicQueueB2, 3,s: 40,680,218 msg/sec OptimistAtomicQueueB2, 3,i: 39,157,508 msg/sec OptimistAtomicQueueB2, 4,s: 53,519,616 msg/sec OptimistAtomicQueueB2, 4,i: 40,779,530 msg/sec OptimistAtomicQueueB2, 5,s: 54,458,452 msg/sec OptimistAtomicQueueB2, 5,i: 41,062,848 msg/sec OptimistAtomicQueueB2, 6,s: 53,291,572 msg/sec OptimistAtomicQueueB2, 6,i: 39,732,471 msg/sec OptimistAtomicQueueB2, 7,s: 53,097,668 msg/sec OptimistAtomicQueueB2, 7,i: 40,816,580 msg/sec OptimistAtomicQueueB2, 8,s: 54,088,547 msg/sec OptimistAtomicQueueB2, 8,i: 40,396,285 msg/sec moodycamel::ReaderWriterQueue, 1,s: 543,228,489 msg/sec moodycamel::ReaderWriterQueue, 1,i: 565,243,492 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,547,004 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,877,380 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,103,870 msg/sec moodycamel::ConcurrentQueue, 2,i: 48,164,323 msg/sec moodycamel::ConcurrentQueue, 3,s: 47,376,383 msg/sec moodycamel::ConcurrentQueue, 3,i: 61,908,043 msg/sec moodycamel::ConcurrentQueue, 4,s: 76,325,773 msg/sec moodycamel::ConcurrentQueue, 4,i: 95,532,214 msg/sec moodycamel::ConcurrentQueue, 5,s: 155,226,123 msg/sec moodycamel::ConcurrentQueue, 5,i: 153,885,173 msg/sec moodycamel::ConcurrentQueue, 6,s: 164,961,614 msg/sec moodycamel::ConcurrentQueue, 6,i: 153,826,189 msg/sec moodycamel::ConcurrentQueue, 7,s: 161,164,144 msg/sec moodycamel::ConcurrentQueue, 7,i: 192,898,237 msg/sec moodycamel::ConcurrentQueue, 8,s: 156,589,665 msg/sec moodycamel::ConcurrentQueue, 8,i: 212,046,468 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,133,818 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,884,992 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,333,025 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,995,510 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,893,862 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,419,125 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,141,051 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,257,231 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,947,120 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,159,482 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,003,157 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,234,781 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,367,181 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,694,011 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,681,711 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,179,663 msg/sec xenium::michael_scott_queue, 1,s: 18,151,391 msg/sec xenium::michael_scott_queue, 1,i: 18,148,071 msg/sec xenium::michael_scott_queue, 2,s: 12,179,844 msg/sec xenium::michael_scott_queue, 2,i: 8,584,015 msg/sec xenium::michael_scott_queue, 3,s: 7,634,903 msg/sec xenium::michael_scott_queue, 3,i: 6,640,485 msg/sec xenium::michael_scott_queue, 4,s: 5,860,428 msg/sec xenium::michael_scott_queue, 4,i: 5,033,377 msg/sec xenium::michael_scott_queue, 5,s: 4,587,985 msg/sec xenium::michael_scott_queue, 5,i: 3,959,525 msg/sec xenium::michael_scott_queue, 6,s: 3,914,488 msg/sec xenium::michael_scott_queue, 6,i: 3,296,766 msg/sec xenium::michael_scott_queue, 7,s: 3,461,078 msg/sec xenium::michael_scott_queue, 7,i: 2,929,985 msg/sec xenium::michael_scott_queue, 8,s: 3,031,211 msg/sec xenium::michael_scott_queue, 8,i: 2,521,769 msg/sec xenium::ramalhete_queue, 1,s: 35,846,762 msg/sec xenium::ramalhete_queue, 1,i: 34,224,707 msg/sec xenium::ramalhete_queue, 2,s: 46,193,093 msg/sec xenium::ramalhete_queue, 2,i: 30,209,605 msg/sec xenium::ramalhete_queue, 3,s: 47,572,387 msg/sec xenium::ramalhete_queue, 3,i: 31,967,341 msg/sec xenium::ramalhete_queue, 4,s: 36,551,786 msg/sec xenium::ramalhete_queue, 4,i: 34,304,649 msg/sec xenium::ramalhete_queue, 5,s: 35,862,437 msg/sec xenium::ramalhete_queue, 5,i: 37,601,809 msg/sec xenium::ramalhete_queue, 6,s: 34,660,630 msg/sec xenium::ramalhete_queue, 6,i: 36,632,929 msg/sec xenium::ramalhete_queue, 7,s: 33,962,301 msg/sec xenium::ramalhete_queue, 7,i: 35,539,907 msg/sec xenium::ramalhete_queue, 8,s: 33,034,024 msg/sec xenium::ramalhete_queue, 8,i: 34,292,368 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,069,914 msg/sec xenium::vyukov_bounded_queue, 1,i: 132,917,571 msg/sec xenium::vyukov_bounded_queue, 2,s: 43,281,800 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,827,729 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,834,341 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,747,652 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,335,083 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,095,333 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,885,830 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,461,789 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,307,586 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,685,299 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,062,027 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,524,134 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,381,158 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,374,509 msg/sec boost::lockfree::queue, 1,s: 15,386,684 msg/sec boost::lockfree::queue, 1,i: 15,369,479 msg/sec boost::lockfree::queue, 2,s: 5,754,267 msg/sec boost::lockfree::queue, 2,i: 5,968,135 msg/sec boost::lockfree::queue, 3,s: 5,424,359 msg/sec boost::lockfree::queue, 3,i: 5,415,454 msg/sec boost::lockfree::queue, 4,s: 4,043,965 msg/sec boost::lockfree::queue, 4,i: 4,029,530 msg/sec boost::lockfree::queue, 5,s: 3,345,394 msg/sec boost::lockfree::queue, 5,i: 3,292,636 msg/sec boost::lockfree::queue, 6,s: 2,212,561 msg/sec boost::lockfree::queue, 6,i: 2,396,276 msg/sec boost::lockfree::queue, 7,s: 1,974,545 msg/sec boost::lockfree::queue, 7,i: 2,052,669 msg/sec boost::lockfree::queue, 8,s: 1,625,578 msg/sec boost::lockfree::queue, 8,i: 1,795,355 msg/sec std::mutex, 1,s: 13,050,569 msg/sec std::mutex, 1,i: 13,063,027 msg/sec std::mutex, 2,s: 9,047,636 msg/sec std::mutex, 2,i: 9,391,630 msg/sec std::mutex, 3,s: 5,274,337 msg/sec std::mutex, 3,i: 5,424,256 msg/sec std::mutex, 4,s: 4,143,511 msg/sec std::mutex, 4,i: 4,176,880 msg/sec std::mutex, 5,s: 3,906,315 msg/sec std::mutex, 5,i: 3,974,195 msg/sec std::mutex, 6,s: 3,701,035 msg/sec std::mutex, 6,i: 3,786,922 msg/sec std::mutex, 7,s: 3,618,709 msg/sec std::mutex, 7,i: 3,629,579 msg/sec std::mutex, 8,s: 3,416,077 msg/sec std::mutex, 8,i: 3,494,134 msg/sec pthread_spinlock, 1,s: 32,377,347 msg/sec pthread_spinlock, 1,i: 31,118,895 msg/sec pthread_spinlock, 2,s: 10,875,430 msg/sec pthread_spinlock, 2,i: 10,410,761 msg/sec pthread_spinlock, 3,s: 9,271,342 msg/sec pthread_spinlock, 3,i: 8,550,307 msg/sec pthread_spinlock, 4,s: 7,347,628 msg/sec pthread_spinlock, 4,i: 7,565,667 msg/sec pthread_spinlock, 5,s: 6,548,358 msg/sec pthread_spinlock, 5,i: 6,545,483 msg/sec pthread_spinlock, 6,s: 4,185,153 msg/sec pthread_spinlock, 6,i: 5,475,533 msg/sec pthread_spinlock, 7,s: 2,705,511 msg/sec pthread_spinlock, 7,i: 4,563,450 msg/sec pthread_spinlock, 8,s: 2,967,006 msg/sec pthread_spinlock, 8,i: 4,592,345 msg/sec tbb::spin_mutex, 1,s: 85,546,514 msg/sec tbb::spin_mutex, 1,i: 81,170,738 msg/sec tbb::spin_mutex, 2,s: 18,996,088 msg/sec tbb::spin_mutex, 2,i: 17,444,051 msg/sec tbb::spin_mutex, 3,s: 11,224,731 msg/sec tbb::spin_mutex, 3,i: 10,769,297 msg/sec tbb::spin_mutex, 4,s: 7,292,769 msg/sec tbb::spin_mutex, 4,i: 7,255,714 msg/sec tbb::spin_mutex, 5,s: 5,442,926 msg/sec tbb::spin_mutex, 5,i: 5,683,388 msg/sec tbb::spin_mutex, 6,s: 4,221,873 msg/sec tbb::spin_mutex, 6,i: 4,342,004 msg/sec tbb::spin_mutex, 7,s: 3,609,880 msg/sec tbb::spin_mutex, 7,i: 3,674,038 msg/sec tbb::spin_mutex, 8,s: 2,887,448 msg/sec tbb::spin_mutex, 8,i: 2,990,456 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1011.52 System time (seconds): 116.16 Percent of CPU this job got: 917% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.92 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 66008 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25088 Voluntary context switches: 8423009 Involuntary context switches: 275 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:54:29 [18/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000045 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000046 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000079 sec/round-trip tbb::concurrent_bounded_queue: 0.000000105 sec/round-trip xenium::michael_scott_queue: 0.000000166 sec/round-trip xenium::ramalhete_queue: 0.000000071 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000111 sec/round-trip std::mutex: 0.000000402 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 147,864,090 msg/sec boost::lockfree::spsc_queue, 1,i: 133,006,843 msg/sec AtomicQueue, 1,s: 101,770,421 msg/sec AtomicQueue, 1,i: 102,421,044 msg/sec AtomicQueue, 2,s: 12,638,644 msg/sec AtomicQueue, 2,i: 10,180,308 msg/sec AtomicQueue, 3,s: 9,872,488 msg/sec AtomicQueue, 3,i: 8,171,442 msg/sec AtomicQueue, 4,s: 7,837,792 msg/sec AtomicQueue, 4,i: 6,154,560 msg/sec AtomicQueue, 5,s: 6,065,659 msg/sec AtomicQueue, 5,i: 5,019,117 msg/sec AtomicQueue, 6,s: 5,256,221 msg/sec AtomicQueue, 6,i: 4,136,097 msg/sec AtomicQueue, 7,s: 4,586,957 msg/sec AtomicQueue, 7,i: 3,763,359 msg/sec AtomicQueue, 8,s: 4,041,019 msg/sec AtomicQueue, 8,i: 3,242,075 msg/sec OptimistAtomicQueue, 1,s: 855,173,418 msg/sec OptimistAtomicQueue, 1,i: 864,139,704 msg/sec OptimistAtomicQueue, 2,s: 93,295,657 msg/sec OptimistAtomicQueue, 2,i: 42,990,323 msg/sec OptimistAtomicQueue, 3,s: 59,129,619 msg/sec OptimistAtomicQueue, 3,i: 47,989,991 msg/sec OptimistAtomicQueue, 4,s: 63,546,181 msg/sec OptimistAtomicQueue, 4,i: 47,464,222 msg/sec OptimistAtomicQueue, 5,s: 56,565,738 msg/sec OptimistAtomicQueue, 5,i: 44,886,867 msg/sec OptimistAtomicQueue, 6,s: 57,334,128 msg/sec OptimistAtomicQueue, 6,i: 42,571,145 msg/sec OptimistAtomicQueue, 7,s: 55,023,255 msg/sec OptimistAtomicQueue, 7,i: 43,299,015 msg/sec OptimistAtomicQueue, 8,s: 57,056,048 msg/sec OptimistAtomicQueue, 8,i: 42,362,278 msg/sec AtomicQueueB, 1,s: 76,270,655 msg/sec AtomicQueueB, 1,i: 76,529,963 msg/sec AtomicQueueB, 2,s: 12,153,451 msg/sec AtomicQueueB, 2,i: 9,886,663 msg/sec AtomicQueueB, 3,s: 9,908,873 msg/sec AtomicQueueB, 3,i: 8,131,693 msg/sec AtomicQueueB, 4,s: 7,805,626 msg/sec AtomicQueueB, 4,i: 6,183,066 msg/sec AtomicQueueB, 5,s: 6,063,274 msg/sec AtomicQueueB, 5,i: 4,972,915 msg/sec AtomicQueueB, 6,s: 5,185,411 msg/sec AtomicQueueB, 6,i: 4,087,921 msg/sec AtomicQueueB, 7,s: 4,532,795 msg/sec AtomicQueueB, 7,i: 3,721,798 msg/sec AtomicQueueB, 8,s: 4,011,819 msg/sec AtomicQueueB, 8,i: 3,205,258 msg/sec OptimistAtomicQueueB, 1,s: 428,190,223 msg/sec OptimistAtomicQueueB, 1,i: 442,543,286 msg/sec OptimistAtomicQueueB, 2,s: 94,972,434 msg/sec OptimistAtomicQueueB, 2,i: 42,101,831 msg/sec OptimistAtomicQueueB, 3,s: 57,182,372 msg/sec OptimistAtomicQueueB, 3,i: 49,128,299 msg/sec OptimistAtomicQueueB, 4,s: 62,370,373 msg/sec OptimistAtomicQueueB, 4,i: 47,119,836 msg/sec OptimistAtomicQueueB, 5,s: 56,789,261 msg/sec OptimistAtomicQueueB, 5,i: 43,296,952 msg/sec OptimistAtomicQueueB, 6,s: 56,739,980 msg/sec OptimistAtomicQueueB, 6,i: 41,879,327 msg/sec OptimistAtomicQueueB, 7,s: 55,260,969 msg/sec OptimistAtomicQueueB, 7,i: 43,422,135 msg/sec OptimistAtomicQueueB, 8,s: 55,837,078 msg/sec OptimistAtomicQueueB, 8,i: 41,970,290 msg/sec AtomicQueue2, 1,s: 102,655,324 msg/sec AtomicQueue2, 1,i: 107,780,209 msg/sec AtomicQueue2, 2,s: 11,328,257 msg/sec AtomicQueue2, 2,i: 10,075,875 msg/sec AtomicQueue2, 3,s: 9,623,025 msg/sec AtomicQueue2, 3,i: 8,091,000 msg/sec AtomicQueue2, 4,s: 7,657,813 msg/sec AtomicQueue2, 4,i: 6,206,030 msg/sec AtomicQueue2, 5,s: 5,899,743 msg/sec AtomicQueue2, 5,i: 4,965,831 msg/sec AtomicQueue2, 6,s: 5,110,248 msg/sec AtomicQueue2, 6,i: 4,174,240 msg/sec AtomicQueue2, 7,s: 4,450,751 msg/sec AtomicQueue2, 7,i: 3,757,511 msg/sec AtomicQueue2, 8,s: 3,947,962 msg/sec AtomicQueue2, 8,i: 3,247,270 msg/sec OptimistAtomicQueue2, 1,s: 399,430,922 msg/sec OptimistAtomicQueue2, 1,i: 400,340,941 msg/sec OptimistAtomicQueue2, 2,s: 34,825,629 msg/sec OptimistAtomicQueue2, 2,i: 29,104,298 msg/sec OptimistAtomicQueue2, 3,s: 41,186,423 msg/sec OptimistAtomicQueue2, 3,i: 39,219,794 msg/sec OptimistAtomicQueue2, 4,s: 52,685,171 msg/sec OptimistAtomicQueue2, 4,i: 40,863,192 msg/sec OptimistAtomicQueue2, 5,s: 55,252,531 msg/sec OptimistAtomicQueue2, 5,i: 42,650,339 msg/sec OptimistAtomicQueue2, 6,s: 53,615,057 msg/sec OptimistAtomicQueue2, 6,i: 40,214,657 msg/sec OptimistAtomicQueue2, 7,s: 53,288,030 msg/sec OptimistAtomicQueue2, 7,i: 41,334,093 msg/sec OptimistAtomicQueue2, 8,s: 54,630,144 msg/sec OptimistAtomicQueue2, 8,i: 40,915,288 msg/sec AtomicQueueB2, 1,s: 78,535,964 msg/sec AtomicQueueB2, 1,i: 77,985,773 msg/sec AtomicQueueB2, 2,s: 11,884,029 msg/sec AtomicQueueB2, 2,i: 10,015,066 msg/sec AtomicQueueB2, 3,s: 9,594,153 msg/sec AtomicQueueB2, 3,i: 7,999,775 msg/sec AtomicQueueB2, 4,s: 7,520,439 msg/sec AtomicQueueB2, 4,i: 6,124,737 msg/sec AtomicQueueB2, 5,s: 5,811,099 msg/sec AtomicQueueB2, 5,i: 4,940,210 msg/sec AtomicQueueB2, 6,s: 4,998,224 msg/sec AtomicQueueB2, 6,i: 4,071,405 msg/sec AtomicQueueB2, 7,s: 4,414,537 msg/sec AtomicQueueB2, 7,i: 3,691,105 msg/sec AtomicQueueB2, 8,s: 3,884,136 msg/sec AtomicQueueB2, 8,i: 3,195,021 msg/sec OptimistAtomicQueueB2, 1,s: 125,033,980 msg/sec OptimistAtomicQueueB2, 1,i: 132,951,034 msg/sec OptimistAtomicQueueB2, 2,s: 34,967,527 msg/sec OptimistAtomicQueueB2, 2,i: 27,003,913 msg/sec OptimistAtomicQueueB2, 3,s: 41,011,198 msg/sec OptimistAtomicQueueB2, 3,i: 35,399,045 msg/sec OptimistAtomicQueueB2, 4,s: 53,729,966 msg/sec OptimistAtomicQueueB2, 4,i: 40,762,542 msg/sec OptimistAtomicQueueB2, 5,s: 53,381,676 msg/sec OptimistAtomicQueueB2, 5,i: 41,281,173 msg/sec OptimistAtomicQueueB2, 6,s: 53,102,908 msg/sec OptimistAtomicQueueB2, 6,i: 40,158,931 msg/sec OptimistAtomicQueueB2, 7,s: 53,360,392 msg/sec OptimistAtomicQueueB2, 7,i: 41,450,959 msg/sec OptimistAtomicQueueB2, 8,s: 53,954,806 msg/sec OptimistAtomicQueueB2, 8,i: 40,068,938 msg/sec moodycamel::ReaderWriterQueue, 1,s: 535,950,555 msg/sec moodycamel::ReaderWriterQueue, 1,i: 553,298,704 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,374,921 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,831,326 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,782,678 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,722,576 msg/sec moodycamel::ConcurrentQueue, 3,s: 45,494,748 msg/sec moodycamel::ConcurrentQueue, 3,i: 66,171,772 msg/sec moodycamel::ConcurrentQueue, 4,s: 82,153,343 msg/sec moodycamel::ConcurrentQueue, 4,i: 110,340,078 msg/sec moodycamel::ConcurrentQueue, 5,s: 149,965,142 msg/sec moodycamel::ConcurrentQueue, 5,i: 156,459,567 msg/sec moodycamel::ConcurrentQueue, 6,s: 176,523,792 msg/sec moodycamel::ConcurrentQueue, 6,i: 172,647,718 msg/sec moodycamel::ConcurrentQueue, 7,s: 183,554,170 msg/sec moodycamel::ConcurrentQueue, 7,i: 175,903,222 msg/sec moodycamel::ConcurrentQueue, 8,s: 187,684,988 msg/sec moodycamel::ConcurrentQueue, 8,i: 227,753,273 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,704,313 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,305,922 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,461,250 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,818,158 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,809,743 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,436,527 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,138,991 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,184,687 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,041,153 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,172,927 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,037,567 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,285,313 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,406,388 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,663,790 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,660,754 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,190,646 msg/sec xenium::michael_scott_queue, 1,s: 18,310,682 msg/sec xenium::michael_scott_queue, 1,i: 18,010,896 msg/sec xenium::michael_scott_queue, 2,s: 11,963,263 msg/sec xenium::michael_scott_queue, 2,i: 8,651,259 msg/sec xenium::michael_scott_queue, 3,s: 7,760,724 msg/sec xenium::michael_scott_queue, 3,i: 6,676,566 msg/sec xenium::michael_scott_queue, 4,s: 6,018,424 msg/sec xenium::michael_scott_queue, 4,i: 5,001,507 msg/sec xenium::michael_scott_queue, 5,s: 4,569,008 msg/sec xenium::michael_scott_queue, 5,i: 4,021,318 msg/sec xenium::michael_scott_queue, 6,s: 3,892,686 msg/sec xenium::michael_scott_queue, 6,i: 3,278,948 msg/sec xenium::michael_scott_queue, 7,s: 3,464,721 msg/sec xenium::michael_scott_queue, 7,i: 2,936,958 msg/sec xenium::michael_scott_queue, 8,s: 3,029,213 msg/sec xenium::michael_scott_queue, 8,i: 2,517,729 msg/sec xenium::ramalhete_queue, 1,s: 49,998,748 msg/sec xenium::ramalhete_queue, 1,i: 34,411,747 msg/sec xenium::ramalhete_queue, 2,s: 45,376,699 msg/sec xenium::ramalhete_queue, 2,i: 29,440,377 msg/sec xenium::ramalhete_queue, 3,s: 45,351,883 msg/sec xenium::ramalhete_queue, 3,i: 31,194,830 msg/sec xenium::ramalhete_queue, 4,s: 35,992,837 msg/sec xenium::ramalhete_queue, 4,i: 34,967,355 msg/sec xenium::ramalhete_queue, 5,s: 35,326,080 msg/sec xenium::ramalhete_queue, 5,i: 36,846,028 msg/sec xenium::ramalhete_queue, 6,s: 35,402,586 msg/sec xenium::ramalhete_queue, 6,i: 36,754,582 msg/sec xenium::ramalhete_queue, 7,s: 33,886,395 msg/sec xenium::ramalhete_queue, 7,i: 34,649,999 msg/sec xenium::ramalhete_queue, 8,s: 32,758,116 msg/sec xenium::ramalhete_queue, 8,i: 33,971,379 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,089,954 msg/sec xenium::vyukov_bounded_queue, 1,i: 134,293,214 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,469,957 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,641,502 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,806,692 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,722,775 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,283,228 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,213,368 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,511,555 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,474,284 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,308,572 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,751,396 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,946,998 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,429,164 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,508,073 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,406,708 msg/sec boost::lockfree::queue, 1,s: 15,249,549 msg/sec boost::lockfree::queue, 1,i: 15,275,091 msg/sec boost::lockfree::queue, 2,s: 5,746,602 msg/sec boost::lockfree::queue, 2,i: 5,977,787 msg/sec boost::lockfree::queue, 3,s: 5,436,405 msg/sec boost::lockfree::queue, 3,i: 5,407,070 msg/sec boost::lockfree::queue, 4,s: 4,043,962 msg/sec boost::lockfree::queue, 4,i: 4,037,492 msg/sec boost::lockfree::queue, 5,s: 3,336,219 msg/sec boost::lockfree::queue, 5,i: 3,267,309 msg/sec boost::lockfree::queue, 6,s: 2,217,072 msg/sec boost::lockfree::queue, 6,i: 2,393,491 msg/sec boost::lockfree::queue, 7,s: 1,964,081 msg/sec boost::lockfree::queue, 7,i: 2,048,682 msg/sec boost::lockfree::queue, 8,s: 1,625,688 msg/sec boost::lockfree::queue, 8,i: 1,793,147 msg/sec std::mutex, 1,s: 13,016,066 msg/sec std::mutex, 1,i: 12,978,876 msg/sec std::mutex, 2,s: 8,789,117 msg/sec std::mutex, 2,i: 9,601,090 msg/sec std::mutex, 3,s: 5,288,870 msg/sec std::mutex, 3,i: 5,365,207 msg/sec std::mutex, 4,s: 4,068,319 msg/sec std::mutex, 4,i: 4,180,203 msg/sec std::mutex, 5,s: 3,928,588 msg/sec std::mutex, 5,i: 3,972,171 msg/sec std::mutex, 6,s: 3,727,550 msg/sec std::mutex, 6,i: 3,822,305 msg/sec std::mutex, 7,s: 3,666,884 msg/sec std::mutex, 7,i: 3,710,552 msg/sec std::mutex, 8,s: 3,558,145 msg/sec std::mutex, 8,i: 3,552,312 msg/sec pthread_spinlock, 1,s: 33,661,441 msg/sec pthread_spinlock, 1,i: 31,726,641 msg/sec pthread_spinlock, 2,s: 10,981,788 msg/sec pthread_spinlock, 2,i: 10,300,218 msg/sec pthread_spinlock, 3,s: 9,385,778 msg/sec pthread_spinlock, 3,i: 8,684,942 msg/sec pthread_spinlock, 4,s: 7,025,382 msg/sec pthread_spinlock, 4,i: 7,560,437 msg/sec pthread_spinlock, 5,s: 6,508,686 msg/sec pthread_spinlock, 5,i: 6,789,712 msg/sec pthread_spinlock, 6,s: 5,133,064 msg/sec pthread_spinlock, 6,i: 4,689,819 msg/sec pthread_spinlock, 7,s: 2,515,478 msg/sec pthread_spinlock, 7,i: 3,698,247 msg/sec pthread_spinlock, 8,s: 2,894,236 msg/sec pthread_spinlock, 8,i: 4,575,213 msg/sec tbb::spin_mutex, 1,s: 84,842,885 msg/sec tbb::spin_mutex, 1,i: 84,032,064 msg/sec tbb::spin_mutex, 2,s: 18,696,121 msg/sec tbb::spin_mutex, 2,i: 17,616,144 msg/sec tbb::spin_mutex, 3,s: 11,092,667 msg/sec tbb::spin_mutex, 3,i: 10,692,868 msg/sec tbb::spin_mutex, 4,s: 7,262,468 msg/sec tbb::spin_mutex, 4,i: 7,245,848 msg/sec tbb::spin_mutex, 5,s: 5,465,059 msg/sec tbb::spin_mutex, 5,i: 5,665,416 msg/sec tbb::spin_mutex, 6,s: 4,233,015 msg/sec tbb::spin_mutex, 6,i: 4,429,964 msg/sec tbb::spin_mutex, 7,s: 3,620,828 msg/sec tbb::spin_mutex, 7,i: 3,688,102 msg/sec tbb::spin_mutex, 8,s: 2,900,782 msg/sec tbb::spin_mutex, 8,i: 2,994,772 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1018.21 System time (seconds): 115.28 Percent of CPU this job got: 917% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.49 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 65236 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24918 Voluntary context switches: 8328743 Involuntary context switches: 268 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:56:32 [19/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000059 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000051 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000046 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000075 sec/round-trip tbb::concurrent_bounded_queue: 0.000000105 sec/round-trip xenium::michael_scott_queue: 0.000000167 sec/round-trip xenium::ramalhete_queue: 0.000000071 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000111 sec/round-trip std::mutex: 0.000000404 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 151,154,990 msg/sec boost::lockfree::spsc_queue, 1,i: 131,957,032 msg/sec AtomicQueue, 1,s: 101,319,265 msg/sec AtomicQueue, 1,i: 102,491,510 msg/sec AtomicQueue, 2,s: 12,801,900 msg/sec AtomicQueue, 2,i: 10,179,678 msg/sec AtomicQueue, 3,s: 9,913,655 msg/sec AtomicQueue, 3,i: 8,132,902 msg/sec AtomicQueue, 4,s: 7,853,468 msg/sec AtomicQueue, 4,i: 6,182,893 msg/sec AtomicQueue, 5,s: 6,059,209 msg/sec AtomicQueue, 5,i: 4,994,951 msg/sec AtomicQueue, 6,s: 5,186,204 msg/sec AtomicQueue, 6,i: 4,125,938 msg/sec AtomicQueue, 7,s: 4,577,895 msg/sec AtomicQueue, 7,i: 3,740,260 msg/sec AtomicQueue, 8,s: 4,158,690 msg/sec AtomicQueue, 8,i: 3,251,109 msg/sec OptimistAtomicQueue, 1,s: 867,693,083 msg/sec OptimistAtomicQueue, 1,i: 870,174,368 msg/sec OptimistAtomicQueue, 2,s: 96,286,363 msg/sec OptimistAtomicQueue, 2,i: 43,565,901 msg/sec OptimistAtomicQueue, 3,s: 58,527,277 msg/sec OptimistAtomicQueue, 3,i: 47,743,422 msg/sec OptimistAtomicQueue, 4,s: 62,645,577 msg/sec OptimistAtomicQueue, 4,i: 47,592,821 msg/sec OptimistAtomicQueue, 5,s: 56,208,319 msg/sec OptimistAtomicQueue, 5,i: 43,803,370 msg/sec OptimistAtomicQueue, 6,s: 58,077,227 msg/sec OptimistAtomicQueue, 6,i: 42,944,407 msg/sec OptimistAtomicQueue, 7,s: 55,168,662 msg/sec OptimistAtomicQueue, 7,i: 43,800,557 msg/sec OptimistAtomicQueue, 8,s: 56,575,581 msg/sec OptimistAtomicQueue, 8,i: 42,173,631 msg/sec AtomicQueueB, 1,s: 77,385,295 msg/sec AtomicQueueB, 1,i: 76,878,402 msg/sec AtomicQueueB, 2,s: 12,183,209 msg/sec AtomicQueueB, 2,i: 9,806,093 msg/sec AtomicQueueB, 3,s: 9,802,444 msg/sec AtomicQueueB, 3,i: 8,025,597 msg/sec AtomicQueueB, 4,s: 7,751,699 msg/sec AtomicQueueB, 4,i: 6,160,071 msg/sec AtomicQueueB, 5,s: 5,997,818 msg/sec AtomicQueueB, 5,i: 4,951,444 msg/sec AtomicQueueB, 6,s: 5,175,751 msg/sec AtomicQueueB, 6,i: 4,085,162 msg/sec AtomicQueueB, 7,s: 4,519,160 msg/sec AtomicQueueB, 7,i: 3,706,762 msg/sec AtomicQueueB, 8,s: 3,959,663 msg/sec AtomicQueueB, 8,i: 3,220,924 msg/sec OptimistAtomicQueueB, 1,s: 426,875,323 msg/sec OptimistAtomicQueueB, 1,i: 441,460,847 msg/sec OptimistAtomicQueueB, 2,s: 94,111,224 msg/sec OptimistAtomicQueueB, 2,i: 41,571,563 msg/sec OptimistAtomicQueueB, 3,s: 63,392,534 msg/sec OptimistAtomicQueueB, 3,i: 47,514,162 msg/sec OptimistAtomicQueueB, 4,s: 63,551,927 msg/sec OptimistAtomicQueueB, 4,i: 47,417,567 msg/sec OptimistAtomicQueueB, 5,s: 56,524,989 msg/sec OptimistAtomicQueueB, 5,i: 43,884,568 msg/sec OptimistAtomicQueueB, 6,s: 56,546,206 msg/sec OptimistAtomicQueueB, 6,i: 42,200,195 msg/sec OptimistAtomicQueueB, 7,s: 54,947,042 msg/sec OptimistAtomicQueueB, 7,i: 42,747,445 msg/sec OptimistAtomicQueueB, 8,s: 55,609,972 msg/sec OptimistAtomicQueueB, 8,i: 41,245,809 msg/sec AtomicQueue2, 1,s: 101,214,156 msg/sec AtomicQueue2, 1,i: 107,962,548 msg/sec AtomicQueue2, 2,s: 11,358,694 msg/sec AtomicQueue2, 2,i: 10,057,571 msg/sec AtomicQueue2, 3,s: 9,648,371 msg/sec AtomicQueue2, 3,i: 8,083,346 msg/sec AtomicQueue2, 4,s: 7,661,783 msg/sec AtomicQueue2, 4,i: 6,215,905 msg/sec AtomicQueue2, 5,s: 5,841,822 msg/sec AtomicQueue2, 5,i: 4,948,772 msg/sec AtomicQueue2, 6,s: 5,065,962 msg/sec AtomicQueue2, 6,i: 4,134,971 msg/sec AtomicQueue2, 7,s: 4,431,963 msg/sec AtomicQueue2, 7,i: 3,736,587 msg/sec AtomicQueue2, 8,s: 3,911,628 msg/sec AtomicQueue2, 8,i: 3,251,709 msg/sec OptimistAtomicQueue2, 1,s: 382,541,873 msg/sec OptimistAtomicQueue2, 1,i: 393,250,724 msg/sec OptimistAtomicQueue2, 2,s: 34,891,103 msg/sec OptimistAtomicQueue2, 2,i: 27,373,407 msg/sec OptimistAtomicQueue2, 3,s: 41,144,995 msg/sec OptimistAtomicQueue2, 3,i: 36,389,409 msg/sec OptimistAtomicQueue2, 4,s: 51,636,945 msg/sec OptimistAtomicQueue2, 4,i: 40,496,447 msg/sec OptimistAtomicQueue2, 5,s: 53,618,780 msg/sec OptimistAtomicQueue2, 5,i: 42,130,763 msg/sec OptimistAtomicQueue2, 6,s: 53,739,186 msg/sec OptimistAtomicQueue2, 6,i: 40,143,263 msg/sec OptimistAtomicQueue2, 7,s: 52,462,752 msg/sec OptimistAtomicQueue2, 7,i: 40,976,291 msg/sec OptimistAtomicQueue2, 8,s: 54,857,381 msg/sec OptimistAtomicQueue2, 8,i: 40,289,347 msg/sec AtomicQueueB2, 1,s: 78,416,383 msg/sec AtomicQueueB2, 1,i: 78,351,132 msg/sec AtomicQueueB2, 2,s: 11,505,905 msg/sec AtomicQueueB2, 2,i: 9,819,967 msg/sec AtomicQueueB2, 3,s: 9,661,158 msg/sec AtomicQueueB2, 3,i: 7,986,900 msg/sec AtomicQueueB2, 4,s: 7,535,450 msg/sec AtomicQueueB2, 4,i: 6,109,053 msg/sec AtomicQueueB2, 5,s: 5,785,362 msg/sec AtomicQueueB2, 5,i: 4,901,073 msg/sec AtomicQueueB2, 6,s: 4,981,827 msg/sec AtomicQueueB2, 6,i: 4,076,099 msg/sec AtomicQueueB2, 7,s: 4,416,502 msg/sec AtomicQueueB2, 7,i: 3,693,318 msg/sec AtomicQueueB2, 8,s: 3,892,173 msg/sec AtomicQueueB2, 8,i: 3,194,796 msg/sec OptimistAtomicQueueB2, 1,s: 124,896,450 msg/sec OptimistAtomicQueueB2, 1,i: 136,493,367 msg/sec OptimistAtomicQueueB2, 2,s: 34,823,394 msg/sec OptimistAtomicQueueB2, 2,i: 28,358,189 msg/sec OptimistAtomicQueueB2, 3,s: 41,099,808 msg/sec OptimistAtomicQueueB2, 3,i: 35,255,811 msg/sec OptimistAtomicQueueB2, 4,s: 53,800,866 msg/sec OptimistAtomicQueueB2, 4,i: 41,120,266 msg/sec OptimistAtomicQueueB2, 5,s: 53,316,859 msg/sec OptimistAtomicQueueB2, 5,i: 40,567,058 msg/sec OptimistAtomicQueueB2, 6,s: 53,738,289 msg/sec OptimistAtomicQueueB2, 6,i: 39,823,675 msg/sec OptimistAtomicQueueB2, 7,s: 52,461,842 msg/sec OptimistAtomicQueueB2, 7,i: 41,441,270 msg/sec OptimistAtomicQueueB2, 8,s: 54,882,659 msg/sec OptimistAtomicQueueB2, 8,i: 39,912,792 msg/sec moodycamel::ReaderWriterQueue, 1,s: 529,114,582 msg/sec moodycamel::ReaderWriterQueue, 1,i: 550,679,460 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,501,843 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,755,066 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,177,150 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,545,370 msg/sec moodycamel::ConcurrentQueue, 3,s: 48,940,257 msg/sec moodycamel::ConcurrentQueue, 3,i: 61,035,788 msg/sec moodycamel::ConcurrentQueue, 4,s: 90,992,052 msg/sec moodycamel::ConcurrentQueue, 4,i: 80,042,054 msg/sec moodycamel::ConcurrentQueue, 5,s: 143,658,440 msg/sec moodycamel::ConcurrentQueue, 5,i: 158,194,714 msg/sec moodycamel::ConcurrentQueue, 6,s: 178,511,231 msg/sec moodycamel::ConcurrentQueue, 6,i: 186,490,233 msg/sec moodycamel::ConcurrentQueue, 7,s: 161,284,201 msg/sec moodycamel::ConcurrentQueue, 7,i: 163,901,194 msg/sec moodycamel::ConcurrentQueue, 8,s: 167,614,381 msg/sec moodycamel::ConcurrentQueue, 8,i: 174,854,112 msg/sec tbb::concurrent_bounded_queue, 1,s: 22,063,893 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,860,369 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,289,980 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,810,348 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,838,920 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,336,206 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,144,789 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,271,601 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,920,837 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,113,218 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,004,535 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,266,636 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,277,844 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,678,043 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,673,630 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,164,211 msg/sec xenium::michael_scott_queue, 1,s: 18,026,647 msg/sec xenium::michael_scott_queue, 1,i: 18,025,403 msg/sec xenium::michael_scott_queue, 2,s: 12,085,878 msg/sec xenium::michael_scott_queue, 2,i: 8,515,990 msg/sec xenium::michael_scott_queue, 3,s: 7,613,955 msg/sec xenium::michael_scott_queue, 3,i: 6,610,610 msg/sec xenium::michael_scott_queue, 4,s: 6,035,789 msg/sec xenium::michael_scott_queue, 4,i: 4,950,677 msg/sec xenium::michael_scott_queue, 5,s: 4,576,980 msg/sec xenium::michael_scott_queue, 5,i: 3,959,314 msg/sec xenium::michael_scott_queue, 6,s: 3,892,035 msg/sec xenium::michael_scott_queue, 6,i: 3,252,444 msg/sec xenium::michael_scott_queue, 7,s: 3,446,271 msg/sec xenium::michael_scott_queue, 7,i: 2,925,177 msg/sec xenium::michael_scott_queue, 8,s: 3,024,653 msg/sec xenium::michael_scott_queue, 8,i: 2,527,269 msg/sec xenium::ramalhete_queue, 1,s: 35,371,312 msg/sec xenium::ramalhete_queue, 1,i: 34,165,731 msg/sec xenium::ramalhete_queue, 2,s: 48,266,014 msg/sec xenium::ramalhete_queue, 2,i: 29,946,970 msg/sec xenium::ramalhete_queue, 3,s: 48,529,398 msg/sec xenium::ramalhete_queue, 3,i: 32,329,693 msg/sec xenium::ramalhete_queue, 4,s: 37,363,358 msg/sec xenium::ramalhete_queue, 4,i: 33,462,601 msg/sec xenium::ramalhete_queue, 5,s: 36,211,567 msg/sec xenium::ramalhete_queue, 5,i: 36,432,227 msg/sec xenium::ramalhete_queue, 6,s: 35,072,458 msg/sec xenium::ramalhete_queue, 6,i: 36,389,184 msg/sec xenium::ramalhete_queue, 7,s: 33,708,583 msg/sec xenium::ramalhete_queue, 7,i: 34,717,360 msg/sec xenium::ramalhete_queue, 8,s: 32,990,272 msg/sec xenium::ramalhete_queue, 8,i: 34,417,668 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,153,876 msg/sec xenium::vyukov_bounded_queue, 1,i: 136,981,545 msg/sec xenium::vyukov_bounded_queue, 2,s: 33,525,432 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,986,391 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,371,712 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,510,488 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,279,763 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,396,741 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,586,518 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,437,390 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,645,924 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,771,897 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,945,619 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,590,192 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,446,640 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,311,128 msg/sec boost::lockfree::queue, 1,s: 15,303,460 msg/sec boost::lockfree::queue, 1,i: 15,235,261 msg/sec boost::lockfree::queue, 2,s: 5,755,557 msg/sec boost::lockfree::queue, 2,i: 6,027,100 msg/sec boost::lockfree::queue, 3,s: 5,429,235 msg/sec boost::lockfree::queue, 3,i: 5,428,419 msg/sec boost::lockfree::queue, 4,s: 4,043,390 msg/sec boost::lockfree::queue, 4,i: 4,032,304 msg/sec boost::lockfree::queue, 5,s: 3,337,489 msg/sec boost::lockfree::queue, 5,i: 3,278,685 msg/sec boost::lockfree::queue, 6,s: 2,219,494 msg/sec boost::lockfree::queue, 6,i: 2,393,065 msg/sec boost::lockfree::queue, 7,s: 2,041,775 msg/sec boost::lockfree::queue, 7,i: 2,054,116 msg/sec boost::lockfree::queue, 8,s: 1,629,221 msg/sec boost::lockfree::queue, 8,i: 1,795,675 msg/sec std::mutex, 1,s: 12,993,817 msg/sec std::mutex, 1,i: 13,009,083 msg/sec std::mutex, 2,s: 12,734,578 msg/sec std::mutex, 2,i: 10,621,905 msg/sec std::mutex, 3,s: 5,247,719 msg/sec std::mutex, 3,i: 5,355,104 msg/sec std::mutex, 4,s: 4,075,231 msg/sec std::mutex, 4,i: 4,156,314 msg/sec std::mutex, 5,s: 4,220,151 msg/sec std::mutex, 5,i: 4,269,125 msg/sec std::mutex, 6,s: 3,719,647 msg/sec std::mutex, 6,i: 3,807,094 msg/sec std::mutex, 7,s: 3,712,917 msg/sec std::mutex, 7,i: 3,725,279 msg/sec std::mutex, 8,s: 3,460,860 msg/sec std::mutex, 8,i: 3,456,029 msg/sec pthread_spinlock, 1,s: 32,426,270 msg/sec pthread_spinlock, 1,i: 30,995,429 msg/sec pthread_spinlock, 2,s: 10,714,055 msg/sec pthread_spinlock, 2,i: 10,278,826 msg/sec pthread_spinlock, 3,s: 9,405,425 msg/sec pthread_spinlock, 3,i: 8,634,163 msg/sec pthread_spinlock, 4,s: 6,901,343 msg/sec pthread_spinlock, 4,i: 7,520,096 msg/sec pthread_spinlock, 5,s: 6,524,538 msg/sec pthread_spinlock, 5,i: 6,946,595 msg/sec pthread_spinlock, 6,s: 5,478,010 msg/sec pthread_spinlock, 6,i: 5,134,628 msg/sec pthread_spinlock, 7,s: 2,535,422 msg/sec pthread_spinlock, 7,i: 4,797,717 msg/sec pthread_spinlock, 8,s: 2,814,833 msg/sec pthread_spinlock, 8,i: 4,620,716 msg/sec tbb::spin_mutex, 1,s: 83,100,969 msg/sec tbb::spin_mutex, 1,i: 84,048,056 msg/sec tbb::spin_mutex, 2,s: 18,636,064 msg/sec tbb::spin_mutex, 2,i: 17,519,064 msg/sec tbb::spin_mutex, 3,s: 11,258,402 msg/sec tbb::spin_mutex, 3,i: 10,633,124 msg/sec tbb::spin_mutex, 4,s: 7,228,029 msg/sec tbb::spin_mutex, 4,i: 7,215,127 msg/sec tbb::spin_mutex, 5,s: 5,365,831 msg/sec tbb::spin_mutex, 5,i: 5,692,398 msg/sec tbb::spin_mutex, 6,s: 4,319,359 msg/sec tbb::spin_mutex, 6,i: 4,380,791 msg/sec tbb::spin_mutex, 7,s: 3,637,510 msg/sec tbb::spin_mutex, 7,i: 3,641,796 msg/sec tbb::spin_mutex, 8,s: 2,899,780 msg/sec tbb::spin_mutex, 8,i: 3,018,512 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1018.73 System time (seconds): 115.13 Percent of CPU this job got: 918% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.49 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 64008 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24664 Voluntary context switches: 8120623 Involuntary context switches: 289 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 09:58:36 [20/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000051 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000079 sec/round-trip tbb::concurrent_bounded_queue: 0.000000105 sec/round-trip xenium::michael_scott_queue: 0.000000167 sec/round-trip xenium::ramalhete_queue: 0.000000071 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000111 sec/round-trip std::mutex: 0.000000404 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000108 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 149,302,247 msg/sec boost::lockfree::spsc_queue, 1,i: 133,016,238 msg/sec AtomicQueue, 1,s: 101,915,491 msg/sec AtomicQueue, 1,i: 102,404,861 msg/sec AtomicQueue, 2,s: 12,713,219 msg/sec AtomicQueue, 2,i: 10,160,184 msg/sec AtomicQueue, 3,s: 10,277,600 msg/sec AtomicQueue, 3,i: 8,101,069 msg/sec AtomicQueue, 4,s: 7,807,031 msg/sec AtomicQueue, 4,i: 6,174,257 msg/sec AtomicQueue, 5,s: 6,121,168 msg/sec AtomicQueue, 5,i: 4,999,701 msg/sec AtomicQueue, 6,s: 5,206,960 msg/sec AtomicQueue, 6,i: 4,137,053 msg/sec AtomicQueue, 7,s: 4,607,998 msg/sec AtomicQueue, 7,i: 3,767,949 msg/sec AtomicQueue, 8,s: 4,015,100 msg/sec AtomicQueue, 8,i: 3,240,477 msg/sec OptimistAtomicQueue, 1,s: 805,300,952 msg/sec OptimistAtomicQueue, 1,i: 814,581,157 msg/sec OptimistAtomicQueue, 2,s: 90,326,767 msg/sec OptimistAtomicQueue, 2,i: 43,315,554 msg/sec OptimistAtomicQueue, 3,s: 58,788,099 msg/sec OptimistAtomicQueue, 3,i: 48,352,579 msg/sec OptimistAtomicQueue, 4,s: 63,972,665 msg/sec OptimistAtomicQueue, 4,i: 47,410,585 msg/sec OptimistAtomicQueue, 5,s: 56,645,900 msg/sec OptimistAtomicQueue, 5,i: 43,269,810 msg/sec OptimistAtomicQueue, 6,s: 56,452,912 msg/sec OptimistAtomicQueue, 6,i: 42,484,709 msg/sec OptimistAtomicQueue, 7,s: 55,263,386 msg/sec OptimistAtomicQueue, 7,i: 44,337,850 msg/sec OptimistAtomicQueue, 8,s: 57,686,095 msg/sec OptimistAtomicQueue, 8,i: 42,472,873 msg/sec AtomicQueueB, 1,s: 76,406,698 msg/sec AtomicQueueB, 1,i: 76,327,349 msg/sec AtomicQueueB, 2,s: 12,445,660 msg/sec AtomicQueueB, 2,i: 9,912,161 msg/sec AtomicQueueB, 3,s: 9,711,975 msg/sec AtomicQueueB, 3,i: 8,043,177 msg/sec AtomicQueueB, 4,s: 7,830,469 msg/sec AtomicQueueB, 4,i: 6,114,968 msg/sec AtomicQueueB, 5,s: 5,954,515 msg/sec AtomicQueueB, 5,i: 4,960,133 msg/sec AtomicQueueB, 6,s: 5,144,869 msg/sec AtomicQueueB, 6,i: 4,085,328 msg/sec AtomicQueueB, 7,s: 4,531,522 msg/sec AtomicQueueB, 7,i: 3,707,444 msg/sec AtomicQueueB, 8,s: 3,995,089 msg/sec AtomicQueueB, 8,i: 3,204,575 msg/sec OptimistAtomicQueueB, 1,s: 424,943,374 msg/sec OptimistAtomicQueueB, 1,i: 437,311,870 msg/sec OptimistAtomicQueueB, 2,s: 95,612,381 msg/sec OptimistAtomicQueueB, 2,i: 45,324,360 msg/sec OptimistAtomicQueueB, 3,s: 58,847,474 msg/sec OptimistAtomicQueueB, 3,i: 49,718,355 msg/sec OptimistAtomicQueueB, 4,s: 62,263,531 msg/sec OptimistAtomicQueueB, 4,i: 47,586,286 msg/sec OptimistAtomicQueueB, 5,s: 56,967,990 msg/sec OptimistAtomicQueueB, 5,i: 43,304,222 msg/sec OptimistAtomicQueueB, 6,s: 56,404,611 msg/sec OptimistAtomicQueueB, 6,i: 41,870,543 msg/sec OptimistAtomicQueueB, 7,s: 54,828,750 msg/sec OptimistAtomicQueueB, 7,i: 43,174,686 msg/sec OptimistAtomicQueueB, 8,s: 56,268,654 msg/sec OptimistAtomicQueueB, 8,i: 41,980,458 msg/sec AtomicQueue2, 1,s: 103,001,851 msg/sec AtomicQueue2, 1,i: 106,648,245 msg/sec AtomicQueue2, 2,s: 11,258,981 msg/sec AtomicQueue2, 2,i: 10,052,992 msg/sec AtomicQueue2, 3,s: 9,635,839 msg/sec AtomicQueue2, 3,i: 8,042,202 msg/sec AtomicQueue2, 4,s: 7,614,374 msg/sec AtomicQueue2, 4,i: 6,235,046 msg/sec AtomicQueue2, 5,s: 5,899,450 msg/sec AtomicQueue2, 5,i: 4,944,857 msg/sec AtomicQueue2, 6,s: 5,076,826 msg/sec AtomicQueue2, 6,i: 4,156,802 msg/sec AtomicQueue2, 7,s: 4,414,191 msg/sec AtomicQueue2, 7,i: 3,758,956 msg/sec AtomicQueue2, 8,s: 3,935,172 msg/sec AtomicQueue2, 8,i: 3,257,237 msg/sec OptimistAtomicQueue2, 1,s: 388,623,470 msg/sec OptimistAtomicQueue2, 1,i: 407,154,338 msg/sec OptimistAtomicQueue2, 2,s: 34,665,400 msg/sec OptimistAtomicQueue2, 2,i: 27,129,833 msg/sec OptimistAtomicQueue2, 3,s: 41,128,447 msg/sec OptimistAtomicQueue2, 3,i: 35,455,909 msg/sec OptimistAtomicQueue2, 4,s: 52,775,459 msg/sec OptimistAtomicQueue2, 4,i: 40,455,132 msg/sec OptimistAtomicQueue2, 5,s: 53,600,208 msg/sec OptimistAtomicQueue2, 5,i: 40,824,348 msg/sec OptimistAtomicQueue2, 6,s: 52,390,283 msg/sec OptimistAtomicQueue2, 6,i: 40,206,282 msg/sec OptimistAtomicQueue2, 7,s: 52,498,680 msg/sec OptimistAtomicQueue2, 7,i: 41,603,593 msg/sec OptimistAtomicQueue2, 8,s: 55,463,156 msg/sec OptimistAtomicQueue2, 8,i: 40,536,397 msg/sec AtomicQueueB2, 1,s: 78,827,052 msg/sec AtomicQueueB2, 1,i: 78,145,381 msg/sec AtomicQueueB2, 2,s: 11,282,814 msg/sec AtomicQueueB2, 2,i: 9,881,774 msg/sec AtomicQueueB2, 3,s: 9,618,778 msg/sec AtomicQueueB2, 3,i: 7,994,546 msg/sec AtomicQueueB2, 4,s: 7,543,691 msg/sec AtomicQueueB2, 4,i: 6,148,425 msg/sec AtomicQueueB2, 5,s: 5,803,072 msg/sec AtomicQueueB2, 5,i: 4,924,823 msg/sec AtomicQueueB2, 6,s: 4,963,453 msg/sec AtomicQueueB2, 6,i: 4,078,347 msg/sec AtomicQueueB2, 7,s: 4,400,220 msg/sec AtomicQueueB2, 7,i: 3,696,483 msg/sec AtomicQueueB2, 8,s: 3,884,463 msg/sec AtomicQueueB2, 8,i: 3,185,854 msg/sec OptimistAtomicQueueB2, 1,s: 123,542,809 msg/sec OptimistAtomicQueueB2, 1,i: 138,871,845 msg/sec OptimistAtomicQueueB2, 2,s: 34,576,150 msg/sec OptimistAtomicQueueB2, 2,i: 26,756,178 msg/sec OptimistAtomicQueueB2, 3,s: 41,590,736 msg/sec OptimistAtomicQueueB2, 3,i: 35,344,665 msg/sec OptimistAtomicQueueB2, 4,s: 53,843,066 msg/sec OptimistAtomicQueueB2, 4,i: 42,969,742 msg/sec OptimistAtomicQueueB2, 5,s: 54,131,287 msg/sec OptimistAtomicQueueB2, 5,i: 40,946,106 msg/sec OptimistAtomicQueueB2, 6,s: 54,338,336 msg/sec OptimistAtomicQueueB2, 6,i: 39,888,371 msg/sec OptimistAtomicQueueB2, 7,s: 52,501,414 msg/sec OptimistAtomicQueueB2, 7,i: 40,797,343 msg/sec OptimistAtomicQueueB2, 8,s: 54,141,594 msg/sec OptimistAtomicQueueB2, 8,i: 40,339,729 msg/sec moodycamel::ReaderWriterQueue, 1,s: 531,240,852 msg/sec moodycamel::ReaderWriterQueue, 1,i: 547,318,491 msg/sec moodycamel::ConcurrentQueue, 1,s: 31,757,754 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,489,840 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,176,647 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,087,735 msg/sec moodycamel::ConcurrentQueue, 3,s: 49,652,316 msg/sec moodycamel::ConcurrentQueue, 3,i: 62,292,878 msg/sec moodycamel::ConcurrentQueue, 4,s: 71,957,181 msg/sec moodycamel::ConcurrentQueue, 4,i: 89,956,837 msg/sec moodycamel::ConcurrentQueue, 5,s: 155,309,938 msg/sec moodycamel::ConcurrentQueue, 5,i: 148,249,316 msg/sec moodycamel::ConcurrentQueue, 6,s: 163,951,692 msg/sec moodycamel::ConcurrentQueue, 6,i: 155,743,081 msg/sec moodycamel::ConcurrentQueue, 7,s: 190,606,193 msg/sec moodycamel::ConcurrentQueue, 7,i: 189,643,206 msg/sec moodycamel::ConcurrentQueue, 8,s: 208,604,690 msg/sec moodycamel::ConcurrentQueue, 8,i: 187,714,639 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,787,173 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,562,119 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,433,141 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,982,533 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,835,620 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,432,692 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,113,066 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,284,385 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,065,699 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,173,466 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,045,640 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,207,956 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,366,981 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,616,279 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,672,275 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,176,251 msg/sec xenium::michael_scott_queue, 1,s: 17,961,361 msg/sec xenium::michael_scott_queue, 1,i: 18,050,687 msg/sec xenium::michael_scott_queue, 2,s: 12,065,382 msg/sec xenium::michael_scott_queue, 2,i: 8,569,168 msg/sec xenium::michael_scott_queue, 3,s: 7,604,316 msg/sec xenium::michael_scott_queue, 3,i: 6,556,681 msg/sec xenium::michael_scott_queue, 4,s: 5,879,206 msg/sec xenium::michael_scott_queue, 4,i: 5,012,417 msg/sec xenium::michael_scott_queue, 5,s: 4,561,078 msg/sec xenium::michael_scott_queue, 5,i: 3,909,950 msg/sec xenium::michael_scott_queue, 6,s: 3,879,707 msg/sec xenium::michael_scott_queue, 6,i: 3,241,869 msg/sec xenium::michael_scott_queue, 7,s: 3,401,075 msg/sec xenium::michael_scott_queue, 7,i: 2,920,587 msg/sec xenium::michael_scott_queue, 8,s: 3,048,615 msg/sec xenium::michael_scott_queue, 8,i: 2,509,681 msg/sec xenium::ramalhete_queue, 1,s: 52,298,352 msg/sec xenium::ramalhete_queue, 1,i: 34,070,459 msg/sec xenium::ramalhete_queue, 2,s: 47,000,415 msg/sec xenium::ramalhete_queue, 2,i: 31,460,598 msg/sec xenium::ramalhete_queue, 3,s: 44,698,359 msg/sec xenium::ramalhete_queue, 3,i: 31,757,808 msg/sec xenium::ramalhete_queue, 4,s: 36,473,072 msg/sec xenium::ramalhete_queue, 4,i: 35,486,244 msg/sec xenium::ramalhete_queue, 5,s: 36,768,103 msg/sec xenium::ramalhete_queue, 5,i: 37,477,053 msg/sec xenium::ramalhete_queue, 6,s: 34,742,841 msg/sec xenium::ramalhete_queue, 6,i: 36,524,799 msg/sec xenium::ramalhete_queue, 7,s: 33,863,792 msg/sec xenium::ramalhete_queue, 7,i: 35,584,127 msg/sec xenium::ramalhete_queue, 8,s: 32,861,570 msg/sec xenium::ramalhete_queue, 8,i: 33,976,954 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,952,504 msg/sec xenium::vyukov_bounded_queue, 1,i: 133,013,579 msg/sec xenium::vyukov_bounded_queue, 2,s: 36,055,221 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,859,934 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,992,418 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,860,514 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,321,883 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,368,537 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,754,070 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,049,233 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,314,882 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,652,457 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,969,130 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,540,975 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,503,504 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,409,866 msg/sec boost::lockfree::queue, 1,s: 15,250,595 msg/sec boost::lockfree::queue, 1,i: 15,268,737 msg/sec boost::lockfree::queue, 2,s: 5,835,404 msg/sec boost::lockfree::queue, 2,i: 6,100,538 msg/sec boost::lockfree::queue, 3,s: 5,468,424 msg/sec boost::lockfree::queue, 3,i: 5,447,471 msg/sec boost::lockfree::queue, 4,s: 4,030,777 msg/sec boost::lockfree::queue, 4,i: 4,012,206 msg/sec boost::lockfree::queue, 5,s: 3,325,184 msg/sec boost::lockfree::queue, 5,i: 3,268,821 msg/sec boost::lockfree::queue, 6,s: 2,216,359 msg/sec boost::lockfree::queue, 6,i: 2,384,235 msg/sec boost::lockfree::queue, 7,s: 1,965,268 msg/sec boost::lockfree::queue, 7,i: 2,057,007 msg/sec boost::lockfree::queue, 8,s: 1,625,961 msg/sec boost::lockfree::queue, 8,i: 1,794,532 msg/sec std::mutex, 1,s: 12,916,863 msg/sec std::mutex, 1,i: 12,809,461 msg/sec std::mutex, 2,s: 8,351,106 msg/sec std::mutex, 2,i: 9,261,446 msg/sec std::mutex, 3,s: 5,203,709 msg/sec std::mutex, 3,i: 5,358,531 msg/sec std::mutex, 4,s: 4,358,597 msg/sec std::mutex, 4,i: 4,408,478 msg/sec std::mutex, 5,s: 3,752,860 msg/sec std::mutex, 5,i: 3,809,111 msg/sec std::mutex, 6,s: 3,553,690 msg/sec std::mutex, 6,i: 3,664,385 msg/sec std::mutex, 7,s: 3,603,400 msg/sec std::mutex, 7,i: 3,655,620 msg/sec std::mutex, 8,s: 3,456,178 msg/sec std::mutex, 8,i: 3,482,330 msg/sec pthread_spinlock, 1,s: 33,051,494 msg/sec pthread_spinlock, 1,i: 31,401,863 msg/sec pthread_spinlock, 2,s: 10,621,042 msg/sec pthread_spinlock, 2,i: 10,377,666 msg/sec pthread_spinlock, 3,s: 9,422,767 msg/sec pthread_spinlock, 3,i: 8,738,499 msg/sec pthread_spinlock, 4,s: 7,362,374 msg/sec pthread_spinlock, 4,i: 7,416,236 msg/sec pthread_spinlock, 5,s: 6,583,235 msg/sec pthread_spinlock, 5,i: 6,912,208 msg/sec pthread_spinlock, 6,s: 5,526,010 msg/sec pthread_spinlock, 6,i: 5,398,052 msg/sec pthread_spinlock, 7,s: 2,475,429 msg/sec pthread_spinlock, 7,i: 3,446,666 msg/sec pthread_spinlock, 8,s: 2,939,218 msg/sec pthread_spinlock, 8,i: 4,373,364 msg/sec tbb::spin_mutex, 1,s: 81,887,644 msg/sec tbb::spin_mutex, 1,i: 82,409,067 msg/sec tbb::spin_mutex, 2,s: 18,791,177 msg/sec tbb::spin_mutex, 2,i: 17,622,271 msg/sec tbb::spin_mutex, 3,s: 11,124,383 msg/sec tbb::spin_mutex, 3,i: 10,817,113 msg/sec tbb::spin_mutex, 4,s: 7,195,498 msg/sec tbb::spin_mutex, 4,i: 7,197,477 msg/sec tbb::spin_mutex, 5,s: 5,455,611 msg/sec tbb::spin_mutex, 5,i: 5,619,781 msg/sec tbb::spin_mutex, 6,s: 4,233,701 msg/sec tbb::spin_mutex, 6,i: 4,289,328 msg/sec tbb::spin_mutex, 7,s: 3,604,980 msg/sec tbb::spin_mutex, 7,i: 3,662,461 msg/sec tbb::spin_mutex, 8,s: 2,891,373 msg/sec tbb::spin_mutex, 8,i: 2,984,095 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1019.17 System time (seconds): 115.76 Percent of CPU this job got: 916% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.89 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 66304 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25166 Voluntary context switches: 8549630 Involuntary context switches: 273 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:00:40 [21/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000048 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000046 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000075 sec/round-trip tbb::concurrent_bounded_queue: 0.000000106 sec/round-trip xenium::michael_scott_queue: 0.000000167 sec/round-trip xenium::ramalhete_queue: 0.000000071 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000111 sec/round-trip std::mutex: 0.000000404 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000108 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 150,008,191 msg/sec boost::lockfree::spsc_queue, 1,i: 131,669,626 msg/sec AtomicQueue, 1,s: 101,677,010 msg/sec AtomicQueue, 1,i: 102,289,940 msg/sec AtomicQueue, 2,s: 12,649,966 msg/sec AtomicQueue, 2,i: 10,104,755 msg/sec AtomicQueue, 3,s: 9,887,798 msg/sec AtomicQueue, 3,i: 8,105,588 msg/sec AtomicQueue, 4,s: 7,858,442 msg/sec AtomicQueue, 4,i: 6,197,656 msg/sec AtomicQueue, 5,s: 5,975,468 msg/sec AtomicQueue, 5,i: 4,961,112 msg/sec AtomicQueue, 6,s: 5,152,964 msg/sec AtomicQueue, 6,i: 4,127,730 msg/sec AtomicQueue, 7,s: 4,599,513 msg/sec AtomicQueue, 7,i: 3,753,972 msg/sec AtomicQueue, 8,s: 4,115,371 msg/sec AtomicQueue, 8,i: 3,248,255 msg/sec OptimistAtomicQueue, 1,s: 837,253,586 msg/sec OptimistAtomicQueue, 1,i: 847,512,461 msg/sec OptimistAtomicQueue, 2,s: 93,004,424 msg/sec OptimistAtomicQueue, 2,i: 43,188,532 msg/sec OptimistAtomicQueue, 3,s: 60,030,445 msg/sec OptimistAtomicQueue, 3,i: 48,104,691 msg/sec OptimistAtomicQueue, 4,s: 64,487,304 msg/sec OptimistAtomicQueue, 4,i: 47,765,261 msg/sec OptimistAtomicQueue, 5,s: 56,408,260 msg/sec OptimistAtomicQueue, 5,i: 43,905,823 msg/sec OptimistAtomicQueue, 6,s: 56,931,027 msg/sec OptimistAtomicQueue, 6,i: 42,467,843 msg/sec OptimistAtomicQueue, 7,s: 54,831,582 msg/sec OptimistAtomicQueue, 7,i: 43,053,836 msg/sec OptimistAtomicQueue, 8,s: 57,641,220 msg/sec OptimistAtomicQueue, 8,i: 42,634,361 msg/sec AtomicQueueB, 1,s: 75,487,181 msg/sec AtomicQueueB, 1,i: 76,166,645 msg/sec AtomicQueueB, 2,s: 12,483,101 msg/sec AtomicQueueB, 2,i: 9,865,100 msg/sec AtomicQueueB, 3,s: 9,906,211 msg/sec AtomicQueueB, 3,i: 8,110,664 msg/sec AtomicQueueB, 4,s: 7,795,515 msg/sec AtomicQueueB, 4,i: 6,189,136 msg/sec AtomicQueueB, 5,s: 6,045,811 msg/sec AtomicQueueB, 5,i: 4,942,585 msg/sec AtomicQueueB, 6,s: 5,134,808 msg/sec AtomicQueueB, 6,i: 4,087,088 msg/sec AtomicQueueB, 7,s: 4,543,839 msg/sec AtomicQueueB, 7,i: 3,703,288 msg/sec AtomicQueueB, 8,s: 3,984,754 msg/sec AtomicQueueB, 8,i: 3,199,261 msg/sec OptimistAtomicQueueB, 1,s: 430,829,596 msg/sec OptimistAtomicQueueB, 1,i: 448,337,975 msg/sec OptimistAtomicQueueB, 2,s: 96,138,157 msg/sec OptimistAtomicQueueB, 2,i: 44,987,339 msg/sec OptimistAtomicQueueB, 3,s: 58,949,763 msg/sec OptimistAtomicQueueB, 3,i: 47,857,794 msg/sec OptimistAtomicQueueB, 4,s: 63,068,784 msg/sec OptimistAtomicQueueB, 4,i: 47,258,340 msg/sec OptimistAtomicQueueB, 5,s: 57,249,332 msg/sec OptimistAtomicQueueB, 5,i: 43,291,450 msg/sec OptimistAtomicQueueB, 6,s: 56,665,213 msg/sec OptimistAtomicQueueB, 6,i: 41,926,263 msg/sec OptimistAtomicQueueB, 7,s: 54,785,112 msg/sec OptimistAtomicQueueB, 7,i: 43,220,061 msg/sec OptimistAtomicQueueB, 8,s: 55,918,351 msg/sec OptimistAtomicQueueB, 8,i: 42,098,705 msg/sec AtomicQueue2, 1,s: 102,154,048 msg/sec AtomicQueue2, 1,i: 107,397,954 msg/sec AtomicQueue2, 2,s: 11,379,369 msg/sec AtomicQueue2, 2,i: 9,923,383 msg/sec AtomicQueue2, 3,s: 9,596,226 msg/sec AtomicQueue2, 3,i: 8,120,281 msg/sec AtomicQueue2, 4,s: 7,625,140 msg/sec AtomicQueue2, 4,i: 6,251,448 msg/sec AtomicQueue2, 5,s: 5,943,852 msg/sec AtomicQueue2, 5,i: 4,963,716 msg/sec AtomicQueue2, 6,s: 5,078,340 msg/sec AtomicQueue2, 6,i: 4,145,536 msg/sec AtomicQueue2, 7,s: 4,445,962 msg/sec AtomicQueue2, 7,i: 3,747,904 msg/sec AtomicQueue2, 8,s: 3,914,740 msg/sec AtomicQueue2, 8,i: 3,248,311 msg/sec OptimistAtomicQueue2, 1,s: 371,570,357 msg/sec OptimistAtomicQueue2, 1,i: 397,488,640 msg/sec OptimistAtomicQueue2, 2,s: 35,148,148 msg/sec OptimistAtomicQueue2, 2,i: 27,355,027 msg/sec OptimistAtomicQueue2, 3,s: 40,645,512 msg/sec OptimistAtomicQueue2, 3,i: 35,244,170 msg/sec OptimistAtomicQueue2, 4,s: 52,164,037 msg/sec OptimistAtomicQueue2, 4,i: 42,305,788 msg/sec OptimistAtomicQueue2, 5,s: 54,701,822 msg/sec OptimistAtomicQueue2, 5,i: 41,198,173 msg/sec OptimistAtomicQueue2, 6,s: 53,233,844 msg/sec OptimistAtomicQueue2, 6,i: 40,159,900 msg/sec OptimistAtomicQueue2, 7,s: 52,665,832 msg/sec OptimistAtomicQueue2, 7,i: 41,838,556 msg/sec OptimistAtomicQueue2, 8,s: 55,448,705 msg/sec OptimistAtomicQueue2, 8,i: 40,662,718 msg/sec AtomicQueueB2, 1,s: 78,204,713 msg/sec AtomicQueueB2, 1,i: 78,188,050 msg/sec AtomicQueueB2, 2,s: 11,533,871 msg/sec AtomicQueueB2, 2,i: 9,871,011 msg/sec AtomicQueueB2, 3,s: 9,560,752 msg/sec AtomicQueueB2, 3,i: 7,994,838 msg/sec AtomicQueueB2, 4,s: 7,534,541 msg/sec AtomicQueueB2, 4,i: 6,092,405 msg/sec AtomicQueueB2, 5,s: 5,837,459 msg/sec AtomicQueueB2, 5,i: 4,913,938 msg/sec AtomicQueueB2, 6,s: 4,995,882 msg/sec AtomicQueueB2, 6,i: 4,072,485 msg/sec AtomicQueueB2, 7,s: 4,420,494 msg/sec AtomicQueueB2, 7,i: 3,695,370 msg/sec AtomicQueueB2, 8,s: 3,885,325 msg/sec AtomicQueueB2, 8,i: 3,193,716 msg/sec OptimistAtomicQueueB2, 1,s: 120,907,182 msg/sec OptimistAtomicQueueB2, 1,i: 131,376,552 msg/sec OptimistAtomicQueueB2, 2,s: 34,930,825 msg/sec OptimistAtomicQueueB2, 2,i: 26,889,700 msg/sec OptimistAtomicQueueB2, 3,s: 40,626,701 msg/sec OptimistAtomicQueueB2, 3,i: 35,094,433 msg/sec OptimistAtomicQueueB2, 4,s: 52,708,458 msg/sec OptimistAtomicQueueB2, 4,i: 41,098,440 msg/sec OptimistAtomicQueueB2, 5,s: 52,903,633 msg/sec OptimistAtomicQueueB2, 5,i: 40,114,303 msg/sec OptimistAtomicQueueB2, 6,s: 52,715,885 msg/sec OptimistAtomicQueueB2, 6,i: 40,000,625 msg/sec OptimistAtomicQueueB2, 7,s: 52,330,556 msg/sec OptimistAtomicQueueB2, 7,i: 40,926,456 msg/sec OptimistAtomicQueueB2, 8,s: 54,144,120 msg/sec OptimistAtomicQueueB2, 8,i: 39,945,730 msg/sec moodycamel::ReaderWriterQueue, 1,s: 524,157,380 msg/sec moodycamel::ReaderWriterQueue, 1,i: 535,122,992 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,452,228 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,726,440 msg/sec moodycamel::ConcurrentQueue, 2,s: 35,545,376 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,491,122 msg/sec moodycamel::ConcurrentQueue, 3,s: 50,790,591 msg/sec moodycamel::ConcurrentQueue, 3,i: 65,595,762 msg/sec moodycamel::ConcurrentQueue, 4,s: 83,497,581 msg/sec moodycamel::ConcurrentQueue, 4,i: 91,079,237 msg/sec moodycamel::ConcurrentQueue, 5,s: 144,906,727 msg/sec moodycamel::ConcurrentQueue, 5,i: 151,083,602 msg/sec moodycamel::ConcurrentQueue, 6,s: 162,957,520 msg/sec moodycamel::ConcurrentQueue, 6,i: 188,980,677 msg/sec moodycamel::ConcurrentQueue, 7,s: 193,582,145 msg/sec moodycamel::ConcurrentQueue, 7,i: 192,487,163 msg/sec moodycamel::ConcurrentQueue, 8,s: 178,511,194 msg/sec moodycamel::ConcurrentQueue, 8,i: 201,543,140 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,628,046 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,325,680 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,270,267 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,866,314 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,836,684 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,346,108 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,118,820 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,273,084 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,905,086 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,141,503 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,027,366 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,252,328 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,276,605 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,677,376 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,664,433 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,162,915 msg/sec xenium::michael_scott_queue, 1,s: 17,971,826 msg/sec xenium::michael_scott_queue, 1,i: 17,990,236 msg/sec xenium::michael_scott_queue, 2,s: 12,104,342 msg/sec xenium::michael_scott_queue, 2,i: 8,592,751 msg/sec xenium::michael_scott_queue, 3,s: 7,678,641 msg/sec xenium::michael_scott_queue, 3,i: 6,619,957 msg/sec xenium::michael_scott_queue, 4,s: 5,985,147 msg/sec xenium::michael_scott_queue, 4,i: 5,056,757 msg/sec xenium::michael_scott_queue, 5,s: 4,556,672 msg/sec xenium::michael_scott_queue, 5,i: 4,003,644 msg/sec xenium::michael_scott_queue, 6,s: 3,892,478 msg/sec xenium::michael_scott_queue, 6,i: 3,246,862 msg/sec xenium::michael_scott_queue, 7,s: 3,465,308 msg/sec xenium::michael_scott_queue, 7,i: 2,937,925 msg/sec xenium::michael_scott_queue, 8,s: 3,018,853 msg/sec xenium::michael_scott_queue, 8,i: 2,526,994 msg/sec xenium::ramalhete_queue, 1,s: 50,336,691 msg/sec xenium::ramalhete_queue, 1,i: 34,166,363 msg/sec xenium::ramalhete_queue, 2,s: 41,275,283 msg/sec xenium::ramalhete_queue, 2,i: 29,802,841 msg/sec xenium::ramalhete_queue, 3,s: 44,497,210 msg/sec xenium::ramalhete_queue, 3,i: 30,894,014 msg/sec xenium::ramalhete_queue, 4,s: 35,801,668 msg/sec xenium::ramalhete_queue, 4,i: 34,271,397 msg/sec xenium::ramalhete_queue, 5,s: 36,217,151 msg/sec xenium::ramalhete_queue, 5,i: 37,073,122 msg/sec xenium::ramalhete_queue, 6,s: 34,745,623 msg/sec xenium::ramalhete_queue, 6,i: 36,287,485 msg/sec xenium::ramalhete_queue, 7,s: 33,818,607 msg/sec xenium::ramalhete_queue, 7,i: 34,636,519 msg/sec xenium::ramalhete_queue, 8,s: 33,608,123 msg/sec xenium::ramalhete_queue, 8,i: 34,299,274 msg/sec xenium::vyukov_bounded_queue, 1,s: 124,072,184 msg/sec xenium::vyukov_bounded_queue, 1,i: 134,765,572 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,022,262 msg/sec xenium::vyukov_bounded_queue, 2,i: 20,232,892 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,842,462 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,779,058 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,268,557 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,233,416 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,783,585 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,412,934 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,402,625 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,670,253 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,139,988 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,562,361 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,447,312 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,022,418 msg/sec boost::lockfree::queue, 1,s: 15,256,232 msg/sec boost::lockfree::queue, 1,i: 15,176,660 msg/sec boost::lockfree::queue, 2,s: 5,774,610 msg/sec boost::lockfree::queue, 2,i: 5,995,903 msg/sec boost::lockfree::queue, 3,s: 5,417,006 msg/sec boost::lockfree::queue, 3,i: 5,406,442 msg/sec boost::lockfree::queue, 4,s: 4,027,816 msg/sec boost::lockfree::queue, 4,i: 4,027,647 msg/sec boost::lockfree::queue, 5,s: 3,334,700 msg/sec boost::lockfree::queue, 5,i: 3,278,498 msg/sec boost::lockfree::queue, 6,s: 2,205,690 msg/sec boost::lockfree::queue, 6,i: 2,386,091 msg/sec boost::lockfree::queue, 7,s: 2,015,915 msg/sec boost::lockfree::queue, 7,i: 2,056,343 msg/sec boost::lockfree::queue, 8,s: 1,625,773 msg/sec boost::lockfree::queue, 8,i: 1,794,358 msg/sec std::mutex, 1,s: 12,830,833 msg/sec std::mutex, 1,i: 12,930,801 msg/sec std::mutex, 2,s: 8,965,335 msg/sec std::mutex, 2,i: 9,461,970 msg/sec std::mutex, 3,s: 5,301,601 msg/sec std::mutex, 3,i: 5,423,023 msg/sec std::mutex, 4,s: 4,353,887 msg/sec std::mutex, 4,i: 4,461,610 msg/sec std::mutex, 5,s: 3,852,539 msg/sec std::mutex, 5,i: 3,926,599 msg/sec std::mutex, 6,s: 3,656,702 msg/sec std::mutex, 6,i: 3,743,348 msg/sec std::mutex, 7,s: 3,677,355 msg/sec std::mutex, 7,i: 3,697,372 msg/sec std::mutex, 8,s: 3,455,722 msg/sec std::mutex, 8,i: 3,478,518 msg/sec pthread_spinlock, 1,s: 32,205,220 msg/sec pthread_spinlock, 1,i: 32,094,598 msg/sec pthread_spinlock, 2,s: 10,690,875 msg/sec pthread_spinlock, 2,i: 10,236,712 msg/sec pthread_spinlock, 3,s: 9,308,411 msg/sec pthread_spinlock, 3,i: 8,642,145 msg/sec pthread_spinlock, 4,s: 7,213,101 msg/sec pthread_spinlock, 4,i: 7,768,081 msg/sec pthread_spinlock, 5,s: 6,534,432 msg/sec pthread_spinlock, 5,i: 6,751,160 msg/sec pthread_spinlock, 6,s: 5,195,758 msg/sec pthread_spinlock, 6,i: 5,226,114 msg/sec pthread_spinlock, 7,s: 2,578,142 msg/sec pthread_spinlock, 7,i: 4,207,047 msg/sec pthread_spinlock, 8,s: 2,849,648 msg/sec pthread_spinlock, 8,i: 3,047,662 msg/sec tbb::spin_mutex, 1,s: 84,781,842 msg/sec tbb::spin_mutex, 1,i: 83,054,637 msg/sec tbb::spin_mutex, 2,s: 18,850,894 msg/sec tbb::spin_mutex, 2,i: 17,658,309 msg/sec tbb::spin_mutex, 3,s: 11,157,417 msg/sec tbb::spin_mutex, 3,i: 10,708,305 msg/sec tbb::spin_mutex, 4,s: 7,239,324 msg/sec tbb::spin_mutex, 4,i: 7,234,737 msg/sec tbb::spin_mutex, 5,s: 5,491,818 msg/sec tbb::spin_mutex, 5,i: 5,602,000 msg/sec tbb::spin_mutex, 6,s: 4,375,224 msg/sec tbb::spin_mutex, 6,i: 4,382,967 msg/sec tbb::spin_mutex, 7,s: 3,601,934 msg/sec tbb::spin_mutex, 7,i: 3,646,561 msg/sec tbb::spin_mutex, 8,s: 2,885,441 msg/sec tbb::spin_mutex, 8,i: 2,971,416 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1016.49 System time (seconds): 115.67 Percent of CPU this job got: 916% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.54 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 64508 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24742 Voluntary context switches: 8264474 Involuntary context switches: 283 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:02:43 [22/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000059 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000048 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000075 sec/round-trip tbb::concurrent_bounded_queue: 0.000000105 sec/round-trip xenium::michael_scott_queue: 0.000000168 sec/round-trip xenium::ramalhete_queue: 0.000000072 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000111 sec/round-trip std::mutex: 0.000000404 sec/round-trip pthread_spinlock: 0.000000124 sec/round-trip tbb::spin_mutex: 0.000000105 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 151,012,738 msg/sec boost::lockfree::spsc_queue, 1,i: 132,387,428 msg/sec AtomicQueue, 1,s: 101,337,782 msg/sec AtomicQueue, 1,i: 101,647,084 msg/sec AtomicQueue, 2,s: 12,682,338 msg/sec AtomicQueue, 2,i: 10,185,276 msg/sec AtomicQueue, 3,s: 10,193,049 msg/sec AtomicQueue, 3,i: 8,084,913 msg/sec AtomicQueue, 4,s: 7,857,178 msg/sec AtomicQueue, 4,i: 6,193,940 msg/sec AtomicQueue, 5,s: 6,012,164 msg/sec AtomicQueue, 5,i: 4,980,330 msg/sec AtomicQueue, 6,s: 5,187,808 msg/sec AtomicQueue, 6,i: 4,121,600 msg/sec AtomicQueue, 7,s: 4,564,539 msg/sec AtomicQueue, 7,i: 3,749,192 msg/sec AtomicQueue, 8,s: 4,039,785 msg/sec AtomicQueue, 8,i: 3,235,010 msg/sec OptimistAtomicQueue, 1,s: 845,509,378 msg/sec OptimistAtomicQueue, 1,i: 853,294,463 msg/sec OptimistAtomicQueue, 2,s: 94,038,426 msg/sec OptimistAtomicQueue, 2,i: 43,528,889 msg/sec OptimistAtomicQueue, 3,s: 60,423,153 msg/sec OptimistAtomicQueue, 3,i: 48,413,136 msg/sec OptimistAtomicQueue, 4,s: 64,012,586 msg/sec OptimistAtomicQueue, 4,i: 47,650,876 msg/sec OptimistAtomicQueue, 5,s: 56,494,594 msg/sec OptimistAtomicQueue, 5,i: 43,515,149 msg/sec OptimistAtomicQueue, 6,s: 56,179,957 msg/sec OptimistAtomicQueue, 6,i: 42,513,591 msg/sec OptimistAtomicQueue, 7,s: 55,312,050 msg/sec OptimistAtomicQueue, 7,i: 44,223,691 msg/sec OptimistAtomicQueue, 8,s: 57,656,836 msg/sec OptimistAtomicQueue, 8,i: 42,403,096 msg/sec AtomicQueueB, 1,s: 75,399,475 msg/sec AtomicQueueB, 1,i: 77,113,794 msg/sec AtomicQueueB, 2,s: 12,348,661 msg/sec AtomicQueueB, 2,i: 9,959,440 msg/sec AtomicQueueB, 3,s: 9,732,211 msg/sec AtomicQueueB, 3,i: 8,063,624 msg/sec AtomicQueueB, 4,s: 7,846,616 msg/sec AtomicQueueB, 4,i: 6,168,905 msg/sec AtomicQueueB, 5,s: 5,989,920 msg/sec AtomicQueueB, 5,i: 4,932,842 msg/sec AtomicQueueB, 6,s: 5,175,417 msg/sec AtomicQueueB, 6,i: 4,093,415 msg/sec AtomicQueueB, 7,s: 4,517,440 msg/sec AtomicQueueB, 7,i: 3,706,160 msg/sec AtomicQueueB, 8,s: 3,994,056 msg/sec AtomicQueueB, 8,i: 3,209,023 msg/sec OptimistAtomicQueueB, 1,s: 427,379,816 msg/sec OptimistAtomicQueueB, 1,i: 447,455,606 msg/sec OptimistAtomicQueueB, 2,s: 96,566,584 msg/sec OptimistAtomicQueueB, 2,i: 45,337,681 msg/sec OptimistAtomicQueueB, 3,s: 58,229,836 msg/sec OptimistAtomicQueueB, 3,i: 48,461,042 msg/sec OptimistAtomicQueueB, 4,s: 61,245,666 msg/sec OptimistAtomicQueueB, 4,i: 47,445,382 msg/sec OptimistAtomicQueueB, 5,s: 56,007,843 msg/sec OptimistAtomicQueueB, 5,i: 43,271,592 msg/sec OptimistAtomicQueueB, 6,s: 56,119,750 msg/sec OptimistAtomicQueueB, 6,i: 41,673,552 msg/sec OptimistAtomicQueueB, 7,s: 54,454,797 msg/sec OptimistAtomicQueueB, 7,i: 42,701,833 msg/sec OptimistAtomicQueueB, 8,s: 56,016,015 msg/sec OptimistAtomicQueueB, 8,i: 41,967,695 msg/sec AtomicQueue2, 1,s: 103,061,838 msg/sec AtomicQueue2, 1,i: 106,827,457 msg/sec AtomicQueue2, 2,s: 11,459,764 msg/sec AtomicQueue2, 2,i: 9,916,966 msg/sec AtomicQueue2, 3,s: 9,572,509 msg/sec AtomicQueue2, 3,i: 8,081,642 msg/sec AtomicQueue2, 4,s: 7,640,019 msg/sec AtomicQueue2, 4,i: 6,233,889 msg/sec AtomicQueue2, 5,s: 5,904,033 msg/sec AtomicQueue2, 5,i: 4,945,758 msg/sec AtomicQueue2, 6,s: 5,043,692 msg/sec AtomicQueue2, 6,i: 4,133,342 msg/sec AtomicQueue2, 7,s: 4,426,291 msg/sec AtomicQueue2, 7,i: 3,744,209 msg/sec AtomicQueue2, 8,s: 3,907,768 msg/sec AtomicQueue2, 8,i: 3,244,933 msg/sec OptimistAtomicQueue2, 1,s: 378,419,879 msg/sec OptimistAtomicQueue2, 1,i: 382,673,875 msg/sec OptimistAtomicQueue2, 2,s: 34,351,475 msg/sec OptimistAtomicQueue2, 2,i: 29,125,199 msg/sec OptimistAtomicQueue2, 3,s: 40,645,826 msg/sec OptimistAtomicQueue2, 3,i: 35,441,028 msg/sec OptimistAtomicQueue2, 4,s: 52,262,041 msg/sec OptimistAtomicQueue2, 4,i: 42,019,039 msg/sec OptimistAtomicQueue2, 5,s: 54,143,738 msg/sec OptimistAtomicQueue2, 5,i: 41,078,497 msg/sec OptimistAtomicQueue2, 6,s: 53,231,091 msg/sec OptimistAtomicQueue2, 6,i: 40,202,606 msg/sec OptimistAtomicQueue2, 7,s: 52,958,829 msg/sec OptimistAtomicQueue2, 7,i: 42,234,685 msg/sec OptimistAtomicQueue2, 8,s: 55,335,024 msg/sec OptimistAtomicQueue2, 8,i: 40,651,175 msg/sec AtomicQueueB2, 1,s: 78,255,422 msg/sec AtomicQueueB2, 1,i: 77,963,904 msg/sec AtomicQueueB2, 2,s: 11,333,512 msg/sec AtomicQueueB2, 2,i: 9,940,105 msg/sec AtomicQueueB2, 3,s: 9,609,688 msg/sec AtomicQueueB2, 3,i: 7,997,521 msg/sec AtomicQueueB2, 4,s: 7,506,645 msg/sec AtomicQueueB2, 4,i: 6,086,933 msg/sec AtomicQueueB2, 5,s: 5,786,748 msg/sec AtomicQueueB2, 5,i: 4,941,622 msg/sec AtomicQueueB2, 6,s: 4,971,260 msg/sec AtomicQueueB2, 6,i: 4,058,234 msg/sec AtomicQueueB2, 7,s: 4,395,788 msg/sec AtomicQueueB2, 7,i: 3,688,353 msg/sec AtomicQueueB2, 8,s: 3,875,103 msg/sec AtomicQueueB2, 8,i: 3,186,493 msg/sec OptimistAtomicQueueB2, 1,s: 125,018,945 msg/sec OptimistAtomicQueueB2, 1,i: 133,073,344 msg/sec OptimistAtomicQueueB2, 2,s: 34,527,086 msg/sec OptimistAtomicQueueB2, 2,i: 28,443,992 msg/sec OptimistAtomicQueueB2, 3,s: 40,749,875 msg/sec OptimistAtomicQueueB2, 3,i: 34,888,709 msg/sec OptimistAtomicQueueB2, 4,s: 53,125,640 msg/sec OptimistAtomicQueueB2, 4,i: 40,502,050 msg/sec OptimistAtomicQueueB2, 5,s: 53,485,602 msg/sec OptimistAtomicQueueB2, 5,i: 42,120,611 msg/sec OptimistAtomicQueueB2, 6,s: 53,901,446 msg/sec OptimistAtomicQueueB2, 6,i: 40,351,127 msg/sec OptimistAtomicQueueB2, 7,s: 52,416,961 msg/sec OptimistAtomicQueueB2, 7,i: 41,625,750 msg/sec OptimistAtomicQueueB2, 8,s: 53,963,412 msg/sec OptimistAtomicQueueB2, 8,i: 39,900,442 msg/sec moodycamel::ReaderWriterQueue, 1,s: 527,060,923 msg/sec moodycamel::ReaderWriterQueue, 1,i: 544,690,024 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,492,860 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,728,396 msg/sec moodycamel::ConcurrentQueue, 2,s: 33,502,059 msg/sec moodycamel::ConcurrentQueue, 2,i: 40,922,217 msg/sec moodycamel::ConcurrentQueue, 3,s: 46,673,226 msg/sec moodycamel::ConcurrentQueue, 3,i: 59,188,106 msg/sec moodycamel::ConcurrentQueue, 4,s: 80,874,500 msg/sec moodycamel::ConcurrentQueue, 4,i: 79,513,118 msg/sec moodycamel::ConcurrentQueue, 5,s: 159,551,952 msg/sec moodycamel::ConcurrentQueue, 5,i: 167,150,097 msg/sec moodycamel::ConcurrentQueue, 6,s: 166,184,144 msg/sec moodycamel::ConcurrentQueue, 6,i: 162,414,447 msg/sec moodycamel::ConcurrentQueue, 7,s: 192,537,291 msg/sec moodycamel::ConcurrentQueue, 7,i: 167,571,205 msg/sec moodycamel::ConcurrentQueue, 8,s: 204,529,992 msg/sec moodycamel::ConcurrentQueue, 8,i: 171,261,248 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,684,739 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,327,767 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,215,465 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,765,341 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,801,106 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,319,737 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,122,274 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,268,846 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,045,525 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,085,681 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,008,881 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,226,979 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,277,563 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,635,622 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,673,656 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,173,685 msg/sec xenium::michael_scott_queue, 1,s: 17,427,466 msg/sec xenium::michael_scott_queue, 1,i: 17,195,528 msg/sec xenium::michael_scott_queue, 2,s: 11,858,561 msg/sec xenium::michael_scott_queue, 2,i: 8,646,951 msg/sec xenium::michael_scott_queue, 3,s: 7,521,393 msg/sec xenium::michael_scott_queue, 3,i: 6,459,829 msg/sec xenium::michael_scott_queue, 4,s: 5,873,233 msg/sec xenium::michael_scott_queue, 4,i: 4,805,725 msg/sec xenium::michael_scott_queue, 5,s: 4,553,947 msg/sec xenium::michael_scott_queue, 5,i: 3,924,885 msg/sec xenium::michael_scott_queue, 6,s: 3,899,311 msg/sec xenium::michael_scott_queue, 6,i: 3,274,138 msg/sec xenium::michael_scott_queue, 7,s: 3,444,358 msg/sec xenium::michael_scott_queue, 7,i: 2,892,144 msg/sec xenium::michael_scott_queue, 8,s: 3,023,939 msg/sec xenium::michael_scott_queue, 8,i: 2,513,763 msg/sec xenium::ramalhete_queue, 1,s: 35,583,876 msg/sec xenium::ramalhete_queue, 1,i: 33,841,750 msg/sec xenium::ramalhete_queue, 2,s: 50,306,347 msg/sec xenium::ramalhete_queue, 2,i: 29,256,992 msg/sec xenium::ramalhete_queue, 3,s: 45,328,197 msg/sec xenium::ramalhete_queue, 3,i: 30,615,145 msg/sec xenium::ramalhete_queue, 4,s: 35,720,395 msg/sec xenium::ramalhete_queue, 4,i: 34,418,902 msg/sec xenium::ramalhete_queue, 5,s: 35,992,720 msg/sec xenium::ramalhete_queue, 5,i: 36,332,919 msg/sec xenium::ramalhete_queue, 6,s: 34,496,235 msg/sec xenium::ramalhete_queue, 6,i: 36,484,091 msg/sec xenium::ramalhete_queue, 7,s: 33,954,213 msg/sec xenium::ramalhete_queue, 7,i: 35,074,027 msg/sec xenium::ramalhete_queue, 8,s: 32,740,106 msg/sec xenium::ramalhete_queue, 8,i: 34,281,261 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,595,471 msg/sec xenium::vyukov_bounded_queue, 1,i: 134,082,678 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,151,193 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,731,857 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,974,036 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,721,250 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,225,031 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,245,457 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,192,104 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,293,563 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,231,652 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,287,065 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,945,822 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,641,527 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,442,824 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,282,828 msg/sec boost::lockfree::queue, 1,s: 15,170,051 msg/sec boost::lockfree::queue, 1,i: 15,183,115 msg/sec boost::lockfree::queue, 2,s: 5,686,527 msg/sec boost::lockfree::queue, 2,i: 6,021,371 msg/sec boost::lockfree::queue, 3,s: 5,398,625 msg/sec boost::lockfree::queue, 3,i: 5,399,150 msg/sec boost::lockfree::queue, 4,s: 4,025,862 msg/sec boost::lockfree::queue, 4,i: 4,026,035 msg/sec boost::lockfree::queue, 5,s: 3,319,745 msg/sec boost::lockfree::queue, 5,i: 3,279,340 msg/sec boost::lockfree::queue, 6,s: 2,212,095 msg/sec boost::lockfree::queue, 6,i: 2,388,651 msg/sec boost::lockfree::queue, 7,s: 1,968,552 msg/sec boost::lockfree::queue, 7,i: 2,047,373 msg/sec boost::lockfree::queue, 8,s: 1,626,575 msg/sec boost::lockfree::queue, 8,i: 1,791,860 msg/sec std::mutex, 1,s: 12,911,711 msg/sec std::mutex, 1,i: 12,969,815 msg/sec std::mutex, 2,s: 8,876,582 msg/sec std::mutex, 2,i: 9,478,348 msg/sec std::mutex, 3,s: 5,358,477 msg/sec std::mutex, 3,i: 5,408,807 msg/sec std::mutex, 4,s: 4,264,090 msg/sec std::mutex, 4,i: 4,361,163 msg/sec std::mutex, 5,s: 3,754,196 msg/sec std::mutex, 5,i: 3,812,279 msg/sec std::mutex, 6,s: 3,624,395 msg/sec std::mutex, 6,i: 3,694,029 msg/sec std::mutex, 7,s: 3,685,847 msg/sec std::mutex, 7,i: 3,739,398 msg/sec std::mutex, 8,s: 3,445,512 msg/sec std::mutex, 8,i: 3,493,148 msg/sec pthread_spinlock, 1,s: 32,289,696 msg/sec pthread_spinlock, 1,i: 30,852,068 msg/sec pthread_spinlock, 2,s: 10,761,032 msg/sec pthread_spinlock, 2,i: 10,412,009 msg/sec pthread_spinlock, 3,s: 9,410,097 msg/sec pthread_spinlock, 3,i: 8,718,145 msg/sec pthread_spinlock, 4,s: 7,172,510 msg/sec pthread_spinlock, 4,i: 7,626,802 msg/sec pthread_spinlock, 5,s: 6,598,039 msg/sec pthread_spinlock, 5,i: 6,777,323 msg/sec pthread_spinlock, 6,s: 5,521,752 msg/sec pthread_spinlock, 6,i: 4,573,243 msg/sec pthread_spinlock, 7,s: 2,573,926 msg/sec pthread_spinlock, 7,i: 4,686,744 msg/sec pthread_spinlock, 8,s: 3,008,672 msg/sec pthread_spinlock, 8,i: 4,522,470 msg/sec tbb::spin_mutex, 1,s: 85,789,385 msg/sec tbb::spin_mutex, 1,i: 83,717,493 msg/sec tbb::spin_mutex, 2,s: 18,813,900 msg/sec tbb::spin_mutex, 2,i: 17,423,241 msg/sec tbb::spin_mutex, 3,s: 11,294,394 msg/sec tbb::spin_mutex, 3,i: 10,590,114 msg/sec tbb::spin_mutex, 4,s: 7,237,278 msg/sec tbb::spin_mutex, 4,i: 7,234,168 msg/sec tbb::spin_mutex, 5,s: 5,365,737 msg/sec tbb::spin_mutex, 5,i: 5,699,361 msg/sec tbb::spin_mutex, 6,s: 4,245,635 msg/sec tbb::spin_mutex, 6,i: 4,341,089 msg/sec tbb::spin_mutex, 7,s: 3,631,477 msg/sec tbb::spin_mutex, 7,i: 3,635,834 msg/sec tbb::spin_mutex, 8,s: 2,877,473 msg/sec tbb::spin_mutex, 8,i: 3,020,748 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1010.38 System time (seconds): 115.64 Percent of CPU this job got: 916% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.80 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 65784 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25069 Voluntary context switches: 8399966 Involuntary context switches: 290 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:04:46 [23/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000059 sec/round-trip AtomicQueue: 0.000000047 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000075 sec/round-trip tbb::concurrent_bounded_queue: 0.000000105 sec/round-trip xenium::michael_scott_queue: 0.000000168 sec/round-trip xenium::ramalhete_queue: 0.000000072 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000112 sec/round-trip std::mutex: 0.000000404 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000107 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 147,043,701 msg/sec boost::lockfree::spsc_queue, 1,i: 132,823,292 msg/sec AtomicQueue, 1,s: 101,454,800 msg/sec AtomicQueue, 1,i: 101,935,476 msg/sec AtomicQueue, 2,s: 12,688,525 msg/sec AtomicQueue, 2,i: 10,168,093 msg/sec AtomicQueue, 3,s: 9,916,347 msg/sec AtomicQueue, 3,i: 8,128,362 msg/sec AtomicQueue, 4,s: 7,805,565 msg/sec AtomicQueue, 4,i: 6,209,052 msg/sec AtomicQueue, 5,s: 6,036,370 msg/sec AtomicQueue, 5,i: 4,992,607 msg/sec AtomicQueue, 6,s: 5,154,327 msg/sec AtomicQueue, 6,i: 4,122,751 msg/sec AtomicQueue, 7,s: 4,588,889 msg/sec AtomicQueue, 7,i: 3,743,564 msg/sec AtomicQueue, 8,s: 4,088,283 msg/sec AtomicQueue, 8,i: 3,245,064 msg/sec OptimistAtomicQueue, 1,s: 864,596,327 msg/sec OptimistAtomicQueue, 1,i: 867,564,866 msg/sec OptimistAtomicQueue, 2,s: 94,625,420 msg/sec OptimistAtomicQueue, 2,i: 42,836,242 msg/sec OptimistAtomicQueue, 3,s: 58,320,308 msg/sec OptimistAtomicQueue, 3,i: 48,339,348 msg/sec OptimistAtomicQueue, 4,s: 63,526,403 msg/sec OptimistAtomicQueue, 4,i: 47,789,939 msg/sec OptimistAtomicQueue, 5,s: 56,353,161 msg/sec OptimistAtomicQueue, 5,i: 43,240,641 msg/sec OptimistAtomicQueue, 6,s: 56,361,771 msg/sec OptimistAtomicQueue, 6,i: 43,345,043 msg/sec OptimistAtomicQueue, 7,s: 55,867,917 msg/sec OptimistAtomicQueue, 7,i: 43,396,666 msg/sec OptimistAtomicQueue, 8,s: 56,530,624 msg/sec OptimistAtomicQueue, 8,i: 41,647,090 msg/sec AtomicQueueB, 1,s: 77,961,285 msg/sec AtomicQueueB, 1,i: 77,247,004 msg/sec AtomicQueueB, 2,s: 12,392,816 msg/sec AtomicQueueB, 2,i: 9,926,258 msg/sec AtomicQueueB, 3,s: 9,886,255 msg/sec AtomicQueueB, 3,i: 8,045,753 msg/sec AtomicQueueB, 4,s: 7,800,366 msg/sec AtomicQueueB, 4,i: 6,097,991 msg/sec AtomicQueueB, 5,s: 6,074,587 msg/sec AtomicQueueB, 5,i: 4,953,353 msg/sec AtomicQueueB, 6,s: 5,166,591 msg/sec AtomicQueueB, 6,i: 4,094,926 msg/sec AtomicQueueB, 7,s: 4,535,578 msg/sec AtomicQueueB, 7,i: 3,704,872 msg/sec AtomicQueueB, 8,s: 3,987,117 msg/sec AtomicQueueB, 8,i: 3,201,098 msg/sec OptimistAtomicQueueB, 1,s: 428,870,985 msg/sec OptimistAtomicQueueB, 1,i: 443,717,824 msg/sec OptimistAtomicQueueB, 2,s: 96,312,193 msg/sec OptimistAtomicQueueB, 2,i: 41,519,096 msg/sec OptimistAtomicQueueB, 3,s: 57,943,710 msg/sec OptimistAtomicQueueB, 3,i: 47,508,893 msg/sec OptimistAtomicQueueB, 4,s: 62,437,912 msg/sec OptimistAtomicQueueB, 4,i: 46,913,616 msg/sec OptimistAtomicQueueB, 5,s: 55,811,069 msg/sec OptimistAtomicQueueB, 5,i: 42,791,302 msg/sec OptimistAtomicQueueB, 6,s: 55,814,708 msg/sec OptimistAtomicQueueB, 6,i: 41,339,645 msg/sec OptimistAtomicQueueB, 7,s: 55,811,310 msg/sec OptimistAtomicQueueB, 7,i: 43,336,559 msg/sec OptimistAtomicQueueB, 8,s: 55,784,835 msg/sec OptimistAtomicQueueB, 8,i: 41,146,439 msg/sec AtomicQueue2, 1,s: 102,812,037 msg/sec AtomicQueue2, 1,i: 107,276,403 msg/sec AtomicQueue2, 2,s: 11,308,393 msg/sec AtomicQueue2, 2,i: 9,903,011 msg/sec AtomicQueue2, 3,s: 9,468,894 msg/sec AtomicQueue2, 3,i: 8,063,417 msg/sec AtomicQueue2, 4,s: 7,591,408 msg/sec AtomicQueue2, 4,i: 6,234,003 msg/sec AtomicQueue2, 5,s: 5,840,382 msg/sec AtomicQueue2, 5,i: 4,950,649 msg/sec AtomicQueue2, 6,s: 5,080,298 msg/sec AtomicQueue2, 6,i: 4,152,317 msg/sec AtomicQueue2, 7,s: 4,413,737 msg/sec AtomicQueue2, 7,i: 3,748,345 msg/sec AtomicQueue2, 8,s: 3,911,108 msg/sec AtomicQueue2, 8,i: 3,247,043 msg/sec OptimistAtomicQueue2, 1,s: 379,252,431 msg/sec OptimistAtomicQueue2, 1,i: 398,873,823 msg/sec OptimistAtomicQueue2, 2,s: 34,871,696 msg/sec OptimistAtomicQueue2, 2,i: 27,936,692 msg/sec OptimistAtomicQueue2, 3,s: 41,871,685 msg/sec OptimistAtomicQueue2, 3,i: 35,583,617 msg/sec OptimistAtomicQueue2, 4,s: 52,754,872 msg/sec OptimistAtomicQueue2, 4,i: 40,882,558 msg/sec OptimistAtomicQueue2, 5,s: 53,621,661 msg/sec OptimistAtomicQueue2, 5,i: 40,697,188 msg/sec OptimistAtomicQueue2, 6,s: 52,342,751 msg/sec OptimistAtomicQueue2, 6,i: 40,973,200 msg/sec OptimistAtomicQueue2, 7,s: 53,805,105 msg/sec OptimistAtomicQueue2, 7,i: 41,258,997 msg/sec OptimistAtomicQueue2, 8,s: 54,640,911 msg/sec OptimistAtomicQueue2, 8,i: 40,101,603 msg/sec AtomicQueueB2, 1,s: 79,849,627 msg/sec AtomicQueueB2, 1,i: 76,854,782 msg/sec AtomicQueueB2, 2,s: 11,526,045 msg/sec AtomicQueueB2, 2,i: 9,888,880 msg/sec AtomicQueueB2, 3,s: 9,599,637 msg/sec AtomicQueueB2, 3,i: 7,964,533 msg/sec AtomicQueueB2, 4,s: 7,499,771 msg/sec AtomicQueueB2, 4,i: 6,151,089 msg/sec AtomicQueueB2, 5,s: 5,817,370 msg/sec AtomicQueueB2, 5,i: 4,876,893 msg/sec AtomicQueueB2, 6,s: 4,979,085 msg/sec AtomicQueueB2, 6,i: 4,059,053 msg/sec AtomicQueueB2, 7,s: 4,402,719 msg/sec AtomicQueueB2, 7,i: 3,688,283 msg/sec AtomicQueueB2, 8,s: 3,910,251 msg/sec AtomicQueueB2, 8,i: 3,183,447 msg/sec OptimistAtomicQueueB2, 1,s: 124,069,408 msg/sec OptimistAtomicQueueB2, 1,i: 132,139,070 msg/sec OptimistAtomicQueueB2, 2,s: 34,917,994 msg/sec OptimistAtomicQueueB2, 2,i: 27,443,261 msg/sec OptimistAtomicQueueB2, 3,s: 40,845,531 msg/sec OptimistAtomicQueueB2, 3,i: 35,321,000 msg/sec OptimistAtomicQueueB2, 4,s: 52,795,558 msg/sec OptimistAtomicQueueB2, 4,i: 42,949,236 msg/sec OptimistAtomicQueueB2, 5,s: 53,943,230 msg/sec OptimistAtomicQueueB2, 5,i: 41,915,826 msg/sec OptimistAtomicQueueB2, 6,s: 53,386,465 msg/sec OptimistAtomicQueueB2, 6,i: 40,155,942 msg/sec OptimistAtomicQueueB2, 7,s: 52,446,873 msg/sec OptimistAtomicQueueB2, 7,i: 40,783,740 msg/sec OptimistAtomicQueueB2, 8,s: 54,820,652 msg/sec OptimistAtomicQueueB2, 8,i: 40,487,067 msg/sec moodycamel::ReaderWriterQueue, 1,s: 528,638,164 msg/sec moodycamel::ReaderWriterQueue, 1,i: 544,110,993 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,308,677 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,395,314 msg/sec moodycamel::ConcurrentQueue, 2,s: 33,745,672 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,181,658 msg/sec moodycamel::ConcurrentQueue, 3,s: 51,832,833 msg/sec moodycamel::ConcurrentQueue, 3,i: 64,522,326 msg/sec moodycamel::ConcurrentQueue, 4,s: 83,662,687 msg/sec moodycamel::ConcurrentQueue, 4,i: 98,306,387 msg/sec moodycamel::ConcurrentQueue, 5,s: 146,049,840 msg/sec moodycamel::ConcurrentQueue, 5,i: 159,590,220 msg/sec moodycamel::ConcurrentQueue, 6,s: 159,554,822 msg/sec moodycamel::ConcurrentQueue, 6,i: 172,033,513 msg/sec moodycamel::ConcurrentQueue, 7,s: 180,067,796 msg/sec moodycamel::ConcurrentQueue, 7,i: 209,334,408 msg/sec moodycamel::ConcurrentQueue, 8,s: 181,067,294 msg/sec moodycamel::ConcurrentQueue, 8,i: 162,615,760 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,732,877 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,407,169 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,242,934 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,824,507 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,812,885 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,359,309 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,133,627 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,270,032 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,990,348 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,081,148 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,016,977 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,233,008 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,353,568 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,661,569 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,668,042 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,183,598 msg/sec xenium::michael_scott_queue, 1,s: 17,525,226 msg/sec xenium::michael_scott_queue, 1,i: 17,092,271 msg/sec xenium::michael_scott_queue, 2,s: 11,913,319 msg/sec xenium::michael_scott_queue, 2,i: 8,718,192 msg/sec xenium::michael_scott_queue, 3,s: 7,510,020 msg/sec xenium::michael_scott_queue, 3,i: 6,377,671 msg/sec xenium::michael_scott_queue, 4,s: 5,954,510 msg/sec xenium::michael_scott_queue, 4,i: 4,914,064 msg/sec xenium::michael_scott_queue, 5,s: 4,566,132 msg/sec xenium::michael_scott_queue, 5,i: 3,965,604 msg/sec xenium::michael_scott_queue, 6,s: 3,884,031 msg/sec xenium::michael_scott_queue, 6,i: 3,237,597 msg/sec xenium::michael_scott_queue, 7,s: 3,446,797 msg/sec xenium::michael_scott_queue, 7,i: 2,890,625 msg/sec xenium::michael_scott_queue, 8,s: 3,035,147 msg/sec xenium::michael_scott_queue, 8,i: 2,507,463 msg/sec xenium::ramalhete_queue, 1,s: 35,110,103 msg/sec xenium::ramalhete_queue, 1,i: 33,989,218 msg/sec xenium::ramalhete_queue, 2,s: 45,798,525 msg/sec xenium::ramalhete_queue, 2,i: 29,903,679 msg/sec xenium::ramalhete_queue, 3,s: 45,283,180 msg/sec xenium::ramalhete_queue, 3,i: 31,404,020 msg/sec xenium::ramalhete_queue, 4,s: 35,830,818 msg/sec xenium::ramalhete_queue, 4,i: 34,893,091 msg/sec xenium::ramalhete_queue, 5,s: 35,196,623 msg/sec xenium::ramalhete_queue, 5,i: 36,657,572 msg/sec xenium::ramalhete_queue, 6,s: 34,854,364 msg/sec xenium::ramalhete_queue, 6,i: 36,557,468 msg/sec xenium::ramalhete_queue, 7,s: 33,212,155 msg/sec xenium::ramalhete_queue, 7,i: 31,206,191 msg/sec xenium::ramalhete_queue, 8,s: 32,424,932 msg/sec xenium::ramalhete_queue, 8,i: 31,306,784 msg/sec xenium::vyukov_bounded_queue, 1,s: 125,673,799 msg/sec xenium::vyukov_bounded_queue, 1,i: 135,878,118 msg/sec xenium::vyukov_bounded_queue, 2,s: 43,198,327 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,708,214 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,938,868 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,808,831 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,580,345 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,295,030 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,359,980 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,466,031 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,273,304 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,736,407 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,941,416 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,524,331 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,577,023 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,287,131 msg/sec boost::lockfree::queue, 1,s: 15,190,290 msg/sec boost::lockfree::queue, 1,i: 15,207,737 msg/sec boost::lockfree::queue, 2,s: 5,750,712 msg/sec boost::lockfree::queue, 2,i: 6,099,355 msg/sec boost::lockfree::queue, 3,s: 5,441,081 msg/sec boost::lockfree::queue, 3,i: 5,414,019 msg/sec boost::lockfree::queue, 4,s: 4,037,435 msg/sec boost::lockfree::queue, 4,i: 4,021,999 msg/sec boost::lockfree::queue, 5,s: 3,333,450 msg/sec boost::lockfree::queue, 5,i: 3,272,351 msg/sec boost::lockfree::queue, 6,s: 2,203,622 msg/sec boost::lockfree::queue, 6,i: 2,391,817 msg/sec boost::lockfree::queue, 7,s: 2,014,774 msg/sec boost::lockfree::queue, 7,i: 2,048,960 msg/sec boost::lockfree::queue, 8,s: 1,635,287 msg/sec boost::lockfree::queue, 8,i: 1,792,089 msg/sec std::mutex, 1,s: 12,853,439 msg/sec std::mutex, 1,i: 12,832,552 msg/sec std::mutex, 2,s: 8,884,968 msg/sec std::mutex, 2,i: 9,497,001 msg/sec std::mutex, 3,s: 5,242,241 msg/sec std::mutex, 3,i: 5,330,033 msg/sec std::mutex, 4,s: 4,266,146 msg/sec std::mutex, 4,i: 4,316,122 msg/sec std::mutex, 5,s: 3,946,909 msg/sec std::mutex, 5,i: 4,001,288 msg/sec std::mutex, 6,s: 3,584,619 msg/sec std::mutex, 6,i: 3,646,785 msg/sec std::mutex, 7,s: 3,578,027 msg/sec std::mutex, 7,i: 3,622,972 msg/sec std::mutex, 8,s: 3,457,597 msg/sec std::mutex, 8,i: 3,497,935 msg/sec pthread_spinlock, 1,s: 31,999,295 msg/sec pthread_spinlock, 1,i: 31,084,838 msg/sec pthread_spinlock, 2,s: 10,649,058 msg/sec pthread_spinlock, 2,i: 10,227,383 msg/sec pthread_spinlock, 3,s: 9,335,350 msg/sec pthread_spinlock, 3,i: 8,585,898 msg/sec pthread_spinlock, 4,s: 7,355,077 msg/sec pthread_spinlock, 4,i: 7,579,064 msg/sec pthread_spinlock, 5,s: 6,561,379 msg/sec pthread_spinlock, 5,i: 6,674,580 msg/sec pthread_spinlock, 6,s: 5,473,673 msg/sec pthread_spinlock, 6,i: 5,201,446 msg/sec pthread_spinlock, 7,s: 2,433,966 msg/sec pthread_spinlock, 7,i: 4,493,753 msg/sec pthread_spinlock, 8,s: 2,861,177 msg/sec pthread_spinlock, 8,i: 4,424,628 msg/sec tbb::spin_mutex, 1,s: 81,832,254 msg/sec tbb::spin_mutex, 1,i: 81,080,269 msg/sec tbb::spin_mutex, 2,s: 19,149,020 msg/sec tbb::spin_mutex, 2,i: 17,684,895 msg/sec tbb::spin_mutex, 3,s: 11,224,420 msg/sec tbb::spin_mutex, 3,i: 10,745,102 msg/sec tbb::spin_mutex, 4,s: 7,228,339 msg/sec tbb::spin_mutex, 4,i: 7,237,070 msg/sec tbb::spin_mutex, 5,s: 5,459,820 msg/sec tbb::spin_mutex, 5,i: 5,561,381 msg/sec tbb::spin_mutex, 6,s: 4,327,052 msg/sec tbb::spin_mutex, 6,i: 4,311,732 msg/sec tbb::spin_mutex, 7,s: 3,685,473 msg/sec tbb::spin_mutex, 7,i: 3,745,691 msg/sec tbb::spin_mutex, 8,s: 2,920,775 msg/sec tbb::spin_mutex, 8,i: 2,985,400 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1019.24 System time (seconds): 116.06 Percent of CPU this job got: 917% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.79 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 68040 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25624 Voluntary context switches: 8390238 Involuntary context switches: 288 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:06:50 [24/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000075 sec/round-trip tbb::concurrent_bounded_queue: 0.000000105 sec/round-trip xenium::michael_scott_queue: 0.000000168 sec/round-trip xenium::ramalhete_queue: 0.000000072 sec/round-trip xenium::vyukov_bounded_queue: 0.000000070 sec/round-trip boost::lockfree::queue: 0.000000111 sec/round-trip std::mutex: 0.000000404 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000107 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 149,562,218 msg/sec boost::lockfree::spsc_queue, 1,i: 131,997,519 msg/sec AtomicQueue, 1,s: 101,523,220 msg/sec AtomicQueue, 1,i: 101,206,356 msg/sec AtomicQueue, 2,s: 12,766,068 msg/sec AtomicQueue, 2,i: 10,204,549 msg/sec AtomicQueue, 3,s: 9,975,266 msg/sec AtomicQueue, 3,i: 8,135,643 msg/sec AtomicQueue, 4,s: 7,798,254 msg/sec AtomicQueue, 4,i: 6,194,048 msg/sec AtomicQueue, 5,s: 5,981,275 msg/sec AtomicQueue, 5,i: 4,993,548 msg/sec AtomicQueue, 6,s: 5,185,017 msg/sec AtomicQueue, 6,i: 4,125,517 msg/sec AtomicQueue, 7,s: 4,609,871 msg/sec AtomicQueue, 7,i: 3,747,771 msg/sec AtomicQueue, 8,s: 4,015,477 msg/sec AtomicQueue, 8,i: 3,247,352 msg/sec OptimistAtomicQueue, 1,s: 840,631,343 msg/sec OptimistAtomicQueue, 1,i: 843,943,686 msg/sec OptimistAtomicQueue, 2,s: 93,495,965 msg/sec OptimistAtomicQueue, 2,i: 46,119,240 msg/sec OptimistAtomicQueue, 3,s: 64,480,726 msg/sec OptimistAtomicQueue, 3,i: 48,441,497 msg/sec OptimistAtomicQueue, 4,s: 64,918,027 msg/sec OptimistAtomicQueue, 4,i: 48,440,248 msg/sec OptimistAtomicQueue, 5,s: 56,722,937 msg/sec OptimistAtomicQueue, 5,i: 44,182,238 msg/sec OptimistAtomicQueue, 6,s: 57,480,071 msg/sec OptimistAtomicQueue, 6,i: 42,568,186 msg/sec OptimistAtomicQueue, 7,s: 54,998,969 msg/sec OptimistAtomicQueue, 7,i: 44,105,948 msg/sec OptimistAtomicQueue, 8,s: 57,477,705 msg/sec OptimistAtomicQueue, 8,i: 42,382,893 msg/sec AtomicQueueB, 1,s: 76,724,158 msg/sec AtomicQueueB, 1,i: 76,441,341 msg/sec AtomicQueueB, 2,s: 12,472,754 msg/sec AtomicQueueB, 2,i: 9,967,283 msg/sec AtomicQueueB, 3,s: 9,789,247 msg/sec AtomicQueueB, 3,i: 8,092,105 msg/sec AtomicQueueB, 4,s: 7,705,093 msg/sec AtomicQueueB, 4,i: 6,157,951 msg/sec AtomicQueueB, 5,s: 6,032,887 msg/sec AtomicQueueB, 5,i: 4,952,640 msg/sec AtomicQueueB, 6,s: 5,134,920 msg/sec AtomicQueueB, 6,i: 4,094,325 msg/sec AtomicQueueB, 7,s: 4,508,370 msg/sec AtomicQueueB, 7,i: 3,692,142 msg/sec AtomicQueueB, 8,s: 4,011,822 msg/sec AtomicQueueB, 8,i: 3,206,296 msg/sec OptimistAtomicQueueB, 1,s: 428,153,486 msg/sec OptimistAtomicQueueB, 1,i: 445,462,539 msg/sec OptimistAtomicQueueB, 2,s: 97,583,415 msg/sec OptimistAtomicQueueB, 2,i: 42,114,995 msg/sec OptimistAtomicQueueB, 3,s: 59,187,053 msg/sec OptimistAtomicQueueB, 3,i: 47,922,110 msg/sec OptimistAtomicQueueB, 4,s: 62,879,139 msg/sec OptimistAtomicQueueB, 4,i: 46,691,648 msg/sec OptimistAtomicQueueB, 5,s: 56,651,109 msg/sec OptimistAtomicQueueB, 5,i: 43,104,673 msg/sec OptimistAtomicQueueB, 6,s: 56,727,242 msg/sec OptimistAtomicQueueB, 6,i: 42,167,408 msg/sec OptimistAtomicQueueB, 7,s: 55,233,202 msg/sec OptimistAtomicQueueB, 7,i: 42,837,161 msg/sec OptimistAtomicQueueB, 8,s: 55,770,497 msg/sec OptimistAtomicQueueB, 8,i: 41,875,026 msg/sec AtomicQueue2, 1,s: 103,983,414 msg/sec AtomicQueue2, 1,i: 106,918,663 msg/sec AtomicQueue2, 2,s: 11,399,234 msg/sec AtomicQueue2, 2,i: 9,926,064 msg/sec AtomicQueue2, 3,s: 9,543,077 msg/sec AtomicQueue2, 3,i: 8,131,565 msg/sec AtomicQueue2, 4,s: 7,604,833 msg/sec AtomicQueue2, 4,i: 6,188,491 msg/sec AtomicQueue2, 5,s: 5,855,884 msg/sec AtomicQueue2, 5,i: 4,948,925 msg/sec AtomicQueue2, 6,s: 5,075,120 msg/sec AtomicQueue2, 6,i: 4,139,495 msg/sec AtomicQueue2, 7,s: 4,407,327 msg/sec AtomicQueue2, 7,i: 3,738,686 msg/sec AtomicQueue2, 8,s: 3,914,515 msg/sec AtomicQueue2, 8,i: 3,255,287 msg/sec OptimistAtomicQueue2, 1,s: 389,357,228 msg/sec OptimistAtomicQueue2, 1,i: 400,004,008 msg/sec OptimistAtomicQueue2, 2,s: 35,215,226 msg/sec OptimistAtomicQueue2, 2,i: 27,452,591 msg/sec OptimistAtomicQueue2, 3,s: 41,833,794 msg/sec OptimistAtomicQueue2, 3,i: 37,379,399 msg/sec OptimistAtomicQueue2, 4,s: 52,302,874 msg/sec OptimistAtomicQueue2, 4,i: 42,094,391 msg/sec OptimistAtomicQueue2, 5,s: 54,262,070 msg/sec OptimistAtomicQueue2, 5,i: 41,250,974 msg/sec OptimistAtomicQueue2, 6,s: 52,741,903 msg/sec OptimistAtomicQueue2, 6,i: 40,665,765 msg/sec OptimistAtomicQueue2, 7,s: 53,241,980 msg/sec OptimistAtomicQueue2, 7,i: 41,455,177 msg/sec OptimistAtomicQueue2, 8,s: 55,279,797 msg/sec OptimistAtomicQueue2, 8,i: 40,508,609 msg/sec AtomicQueueB2, 1,s: 78,506,312 msg/sec AtomicQueueB2, 1,i: 76,824,908 msg/sec AtomicQueueB2, 2,s: 11,285,240 msg/sec AtomicQueueB2, 2,i: 9,761,084 msg/sec AtomicQueueB2, 3,s: 9,596,146 msg/sec AtomicQueueB2, 3,i: 7,989,784 msg/sec AtomicQueueB2, 4,s: 7,527,182 msg/sec AtomicQueueB2, 4,i: 6,144,641 msg/sec AtomicQueueB2, 5,s: 5,837,602 msg/sec AtomicQueueB2, 5,i: 4,913,371 msg/sec AtomicQueueB2, 6,s: 5,012,467 msg/sec AtomicQueueB2, 6,i: 4,063,769 msg/sec AtomicQueueB2, 7,s: 4,394,056 msg/sec AtomicQueueB2, 7,i: 3,685,178 msg/sec AtomicQueueB2, 8,s: 3,874,690 msg/sec AtomicQueueB2, 8,i: 3,174,893 msg/sec OptimistAtomicQueueB2, 1,s: 128,693,977 msg/sec OptimistAtomicQueueB2, 1,i: 130,867,186 msg/sec OptimistAtomicQueueB2, 2,s: 34,574,569 msg/sec OptimistAtomicQueueB2, 2,i: 26,721,207 msg/sec OptimistAtomicQueueB2, 3,s: 41,472,667 msg/sec OptimistAtomicQueueB2, 3,i: 35,118,290 msg/sec OptimistAtomicQueueB2, 4,s: 53,785,355 msg/sec OptimistAtomicQueueB2, 4,i: 40,680,319 msg/sec OptimistAtomicQueueB2, 5,s: 54,466,179 msg/sec OptimistAtomicQueueB2, 5,i: 40,816,786 msg/sec OptimistAtomicQueueB2, 6,s: 54,186,351 msg/sec OptimistAtomicQueueB2, 6,i: 40,386,836 msg/sec OptimistAtomicQueueB2, 7,s: 52,744,651 msg/sec OptimistAtomicQueueB2, 7,i: 41,662,377 msg/sec OptimistAtomicQueueB2, 8,s: 53,746,863 msg/sec OptimistAtomicQueueB2, 8,i: 39,835,754 msg/sec moodycamel::ReaderWriterQueue, 1,s: 532,683,994 msg/sec moodycamel::ReaderWriterQueue, 1,i: 553,418,353 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,154,495 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,417,144 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,060,204 msg/sec moodycamel::ConcurrentQueue, 2,i: 45,364,882 msg/sec moodycamel::ConcurrentQueue, 3,s: 51,585,194 msg/sec moodycamel::ConcurrentQueue, 3,i: 64,264,213 msg/sec moodycamel::ConcurrentQueue, 4,s: 89,390,693 msg/sec moodycamel::ConcurrentQueue, 4,i: 89,783,908 msg/sec moodycamel::ConcurrentQueue, 5,s: 140,869,104 msg/sec moodycamel::ConcurrentQueue, 5,i: 164,922,850 msg/sec moodycamel::ConcurrentQueue, 6,s: 167,897,521 msg/sec moodycamel::ConcurrentQueue, 6,i: 150,721,144 msg/sec moodycamel::ConcurrentQueue, 7,s: 175,489,096 msg/sec moodycamel::ConcurrentQueue, 7,i: 214,271,972 msg/sec moodycamel::ConcurrentQueue, 8,s: 215,976,959 msg/sec moodycamel::ConcurrentQueue, 8,i: 195,625,671 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,895,881 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,586,074 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,203,749 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,821,069 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,831,061 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,384,261 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,112,298 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,200,040 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,031,790 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,105,554 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,022,382 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,256,290 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,354,700 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,656,905 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,675,845 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,155,578 msg/sec xenium::michael_scott_queue, 1,s: 17,858,875 msg/sec xenium::michael_scott_queue, 1,i: 17,944,356 msg/sec xenium::michael_scott_queue, 2,s: 12,111,618 msg/sec xenium::michael_scott_queue, 2,i: 8,622,883 msg/sec xenium::michael_scott_queue, 3,s: 7,748,482 msg/sec xenium::michael_scott_queue, 3,i: 6,613,974 msg/sec xenium::michael_scott_queue, 4,s: 6,030,929 msg/sec xenium::michael_scott_queue, 4,i: 5,015,600 msg/sec xenium::michael_scott_queue, 5,s: 4,558,943 msg/sec xenium::michael_scott_queue, 5,i: 3,930,069 msg/sec xenium::michael_scott_queue, 6,s: 3,896,188 msg/sec xenium::michael_scott_queue, 6,i: 3,264,804 msg/sec xenium::michael_scott_queue, 7,s: 3,478,635 msg/sec xenium::michael_scott_queue, 7,i: 2,917,007 msg/sec xenium::michael_scott_queue, 8,s: 3,009,917 msg/sec xenium::michael_scott_queue, 8,i: 2,497,639 msg/sec xenium::ramalhete_queue, 1,s: 50,410,317 msg/sec xenium::ramalhete_queue, 1,i: 32,986,892 msg/sec xenium::ramalhete_queue, 2,s: 49,646,191 msg/sec xenium::ramalhete_queue, 2,i: 32,168,548 msg/sec xenium::ramalhete_queue, 3,s: 44,819,372 msg/sec xenium::ramalhete_queue, 3,i: 33,303,636 msg/sec xenium::ramalhete_queue, 4,s: 35,775,028 msg/sec xenium::ramalhete_queue, 4,i: 35,845,050 msg/sec xenium::ramalhete_queue, 5,s: 35,543,541 msg/sec xenium::ramalhete_queue, 5,i: 36,394,896 msg/sec xenium::ramalhete_queue, 6,s: 34,684,069 msg/sec xenium::ramalhete_queue, 6,i: 36,283,567 msg/sec xenium::ramalhete_queue, 7,s: 33,443,247 msg/sec xenium::ramalhete_queue, 7,i: 34,897,082 msg/sec xenium::ramalhete_queue, 8,s: 33,252,752 msg/sec xenium::ramalhete_queue, 8,i: 34,026,495 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,681,788 msg/sec xenium::vyukov_bounded_queue, 1,i: 133,637,986 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,886,115 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,519,026 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,329,794 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,837,366 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,301,018 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,227,835 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,126,400 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,549,641 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,359,507 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,585,940 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,985,997 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,523,050 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,570,964 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,219,102 msg/sec boost::lockfree::queue, 1,s: 15,229,863 msg/sec boost::lockfree::queue, 1,i: 15,194,758 msg/sec boost::lockfree::queue, 2,s: 5,744,113 msg/sec boost::lockfree::queue, 2,i: 6,069,881 msg/sec boost::lockfree::queue, 3,s: 5,428,789 msg/sec boost::lockfree::queue, 3,i: 5,421,788 msg/sec boost::lockfree::queue, 4,s: 4,031,825 msg/sec boost::lockfree::queue, 4,i: 4,025,134 msg/sec boost::lockfree::queue, 5,s: 3,323,939 msg/sec boost::lockfree::queue, 5,i: 3,292,311 msg/sec boost::lockfree::queue, 6,s: 2,205,248 msg/sec boost::lockfree::queue, 6,i: 2,384,160 msg/sec boost::lockfree::queue, 7,s: 2,033,084 msg/sec boost::lockfree::queue, 7,i: 2,051,221 msg/sec boost::lockfree::queue, 8,s: 1,624,591 msg/sec boost::lockfree::queue, 8,i: 1,792,782 msg/sec std::mutex, 1,s: 12,877,977 msg/sec std::mutex, 1,i: 12,764,710 msg/sec std::mutex, 2,s: 9,744,872 msg/sec std::mutex, 2,i: 9,485,083 msg/sec std::mutex, 3,s: 5,329,261 msg/sec std::mutex, 3,i: 5,393,827 msg/sec std::mutex, 4,s: 4,355,538 msg/sec std::mutex, 4,i: 4,445,624 msg/sec std::mutex, 5,s: 3,957,458 msg/sec std::mutex, 5,i: 4,007,506 msg/sec std::mutex, 6,s: 3,712,220 msg/sec std::mutex, 6,i: 3,764,207 msg/sec std::mutex, 7,s: 3,672,802 msg/sec std::mutex, 7,i: 3,678,999 msg/sec std::mutex, 8,s: 3,465,101 msg/sec std::mutex, 8,i: 3,478,055 msg/sec pthread_spinlock, 1,s: 32,061,648 msg/sec pthread_spinlock, 1,i: 31,229,554 msg/sec pthread_spinlock, 2,s: 10,564,921 msg/sec pthread_spinlock, 2,i: 10,198,194 msg/sec pthread_spinlock, 3,s: 9,258,201 msg/sec pthread_spinlock, 3,i: 8,613,702 msg/sec pthread_spinlock, 4,s: 7,341,122 msg/sec pthread_spinlock, 4,i: 7,617,099 msg/sec pthread_spinlock, 5,s: 6,561,677 msg/sec pthread_spinlock, 5,i: 6,933,313 msg/sec pthread_spinlock, 6,s: 5,507,042 msg/sec pthread_spinlock, 6,i: 5,194,599 msg/sec pthread_spinlock, 7,s: 2,524,980 msg/sec pthread_spinlock, 7,i: 4,710,021 msg/sec pthread_spinlock, 8,s: 2,967,229 msg/sec pthread_spinlock, 8,i: 4,419,060 msg/sec tbb::spin_mutex, 1,s: 84,404,289 msg/sec tbb::spin_mutex, 1,i: 83,984,053 msg/sec tbb::spin_mutex, 2,s: 18,777,263 msg/sec tbb::spin_mutex, 2,i: 17,547,632 msg/sec tbb::spin_mutex, 3,s: 11,049,808 msg/sec tbb::spin_mutex, 3,i: 10,732,413 msg/sec tbb::spin_mutex, 4,s: 7,189,822 msg/sec tbb::spin_mutex, 4,i: 7,196,558 msg/sec tbb::spin_mutex, 5,s: 5,351,444 msg/sec tbb::spin_mutex, 5,i: 5,634,362 msg/sec tbb::spin_mutex, 6,s: 4,269,227 msg/sec tbb::spin_mutex, 6,i: 4,329,604 msg/sec tbb::spin_mutex, 7,s: 3,695,366 msg/sec tbb::spin_mutex, 7,i: 3,645,700 msg/sec tbb::spin_mutex, 8,s: 2,905,449 msg/sec tbb::spin_mutex, 8,i: 2,976,335 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1017.36 System time (seconds): 115.93 Percent of CPU this job got: 918% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.45 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 65604 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24973 Voluntary context switches: 8144182 Involuntary context switches: 281 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:08:53 [25/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000047 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000076 sec/round-trip tbb::concurrent_bounded_queue: 0.000000107 sec/round-trip xenium::michael_scott_queue: 0.000000168 sec/round-trip xenium::ramalhete_queue: 0.000000072 sec/round-trip xenium::vyukov_bounded_queue: 0.000000071 sec/round-trip boost::lockfree::queue: 0.000000112 sec/round-trip std::mutex: 0.000000406 sec/round-trip pthread_spinlock: 0.000000124 sec/round-trip tbb::spin_mutex: 0.000000107 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 148,163,488 msg/sec boost::lockfree::spsc_queue, 1,i: 130,466,382 msg/sec AtomicQueue, 1,s: 100,816,255 msg/sec AtomicQueue, 1,i: 101,478,628 msg/sec AtomicQueue, 2,s: 12,737,482 msg/sec AtomicQueue, 2,i: 10,231,555 msg/sec AtomicQueue, 3,s: 10,096,025 msg/sec AtomicQueue, 3,i: 8,107,367 msg/sec AtomicQueue, 4,s: 7,809,439 msg/sec AtomicQueue, 4,i: 6,145,865 msg/sec AtomicQueue, 5,s: 5,927,917 msg/sec AtomicQueue, 5,i: 4,968,210 msg/sec AtomicQueue, 6,s: 5,196,628 msg/sec AtomicQueue, 6,i: 4,124,193 msg/sec AtomicQueue, 7,s: 4,578,782 msg/sec AtomicQueue, 7,i: 3,769,479 msg/sec AtomicQueue, 8,s: 4,008,085 msg/sec AtomicQueue, 8,i: 3,229,947 msg/sec OptimistAtomicQueue, 1,s: 845,194,343 msg/sec OptimistAtomicQueue, 1,i: 848,860,350 msg/sec OptimistAtomicQueue, 2,s: 92,709,665 msg/sec OptimistAtomicQueue, 2,i: 43,572,748 msg/sec OptimistAtomicQueue, 3,s: 59,616,304 msg/sec OptimistAtomicQueue, 3,i: 48,240,845 msg/sec OptimistAtomicQueue, 4,s: 63,793,981 msg/sec OptimistAtomicQueue, 4,i: 46,841,400 msg/sec OptimistAtomicQueue, 5,s: 56,038,471 msg/sec OptimistAtomicQueue, 5,i: 44,515,220 msg/sec OptimistAtomicQueue, 6,s: 57,396,311 msg/sec OptimistAtomicQueue, 6,i: 42,397,290 msg/sec OptimistAtomicQueue, 7,s: 55,570,736 msg/sec OptimistAtomicQueue, 7,i: 44,083,506 msg/sec OptimistAtomicQueue, 8,s: 57,067,825 msg/sec OptimistAtomicQueue, 8,i: 41,751,305 msg/sec AtomicQueueB, 1,s: 75,875,569 msg/sec AtomicQueueB, 1,i: 75,827,954 msg/sec AtomicQueueB, 2,s: 12,090,405 msg/sec AtomicQueueB, 2,i: 9,927,538 msg/sec AtomicQueueB, 3,s: 9,884,177 msg/sec AtomicQueueB, 3,i: 8,055,166 msg/sec AtomicQueueB, 4,s: 7,790,260 msg/sec AtomicQueueB, 4,i: 6,164,395 msg/sec AtomicQueueB, 5,s: 5,996,879 msg/sec AtomicQueueB, 5,i: 4,958,025 msg/sec AtomicQueueB, 6,s: 5,163,173 msg/sec AtomicQueueB, 6,i: 4,095,585 msg/sec AtomicQueueB, 7,s: 4,507,875 msg/sec AtomicQueueB, 7,i: 3,694,816 msg/sec AtomicQueueB, 8,s: 3,998,701 msg/sec AtomicQueueB, 8,i: 3,200,399 msg/sec OptimistAtomicQueueB, 1,s: 429,781,425 msg/sec OptimistAtomicQueueB, 1,i: 445,470,491 msg/sec OptimistAtomicQueueB, 2,s: 94,171,872 msg/sec OptimistAtomicQueueB, 2,i: 42,173,648 msg/sec OptimistAtomicQueueB, 3,s: 57,592,243 msg/sec OptimistAtomicQueueB, 3,i: 48,191,628 msg/sec OptimistAtomicQueueB, 4,s: 64,029,012 msg/sec OptimistAtomicQueueB, 4,i: 47,031,776 msg/sec OptimistAtomicQueueB, 5,s: 56,449,159 msg/sec OptimistAtomicQueueB, 5,i: 43,846,301 msg/sec OptimistAtomicQueueB, 6,s: 56,341,536 msg/sec OptimistAtomicQueueB, 6,i: 41,453,668 msg/sec OptimistAtomicQueueB, 7,s: 55,081,739 msg/sec OptimistAtomicQueueB, 7,i: 43,427,425 msg/sec OptimistAtomicQueueB, 8,s: 56,546,285 msg/sec OptimistAtomicQueueB, 8,i: 41,235,891 msg/sec AtomicQueue2, 1,s: 101,546,667 msg/sec AtomicQueue2, 1,i: 106,047,792 msg/sec AtomicQueue2, 2,s: 11,328,254 msg/sec AtomicQueue2, 2,i: 9,888,120 msg/sec AtomicQueue2, 3,s: 9,573,848 msg/sec AtomicQueue2, 3,i: 8,103,049 msg/sec AtomicQueue2, 4,s: 7,582,146 msg/sec AtomicQueue2, 4,i: 6,224,726 msg/sec AtomicQueue2, 5,s: 5,849,893 msg/sec AtomicQueue2, 5,i: 4,953,823 msg/sec AtomicQueue2, 6,s: 5,068,245 msg/sec AtomicQueue2, 6,i: 4,124,788 msg/sec AtomicQueue2, 7,s: 4,472,743 msg/sec AtomicQueue2, 7,i: 3,747,106 msg/sec AtomicQueue2, 8,s: 3,957,946 msg/sec AtomicQueue2, 8,i: 3,253,977 msg/sec OptimistAtomicQueue2, 1,s: 390,130,357 msg/sec OptimistAtomicQueue2, 1,i: 397,550,386 msg/sec OptimistAtomicQueue2, 2,s: 34,932,219 msg/sec OptimistAtomicQueue2, 2,i: 27,310,991 msg/sec OptimistAtomicQueue2, 3,s: 41,830,708 msg/sec OptimistAtomicQueue2, 3,i: 35,740,958 msg/sec OptimistAtomicQueue2, 4,s: 52,415,876 msg/sec OptimistAtomicQueue2, 4,i: 42,162,674 msg/sec OptimistAtomicQueue2, 5,s: 54,613,703 msg/sec OptimistAtomicQueue2, 5,i: 40,872,178 msg/sec OptimistAtomicQueue2, 6,s: 52,900,879 msg/sec OptimistAtomicQueue2, 6,i: 40,026,660 msg/sec OptimistAtomicQueue2, 7,s: 53,664,710 msg/sec OptimistAtomicQueue2, 7,i: 41,500,545 msg/sec OptimistAtomicQueue2, 8,s: 54,664,283 msg/sec OptimistAtomicQueue2, 8,i: 39,989,150 msg/sec AtomicQueueB2, 1,s: 78,466,318 msg/sec AtomicQueueB2, 1,i: 77,744,915 msg/sec AtomicQueueB2, 2,s: 11,598,722 msg/sec AtomicQueueB2, 2,i: 9,853,114 msg/sec AtomicQueueB2, 3,s: 9,601,348 msg/sec AtomicQueueB2, 3,i: 8,006,615 msg/sec AtomicQueueB2, 4,s: 7,513,930 msg/sec AtomicQueueB2, 4,i: 6,095,680 msg/sec AtomicQueueB2, 5,s: 5,840,745 msg/sec AtomicQueueB2, 5,i: 4,936,478 msg/sec AtomicQueueB2, 6,s: 4,992,277 msg/sec AtomicQueueB2, 6,i: 4,051,663 msg/sec AtomicQueueB2, 7,s: 4,411,167 msg/sec AtomicQueueB2, 7,i: 3,683,990 msg/sec AtomicQueueB2, 8,s: 3,891,914 msg/sec AtomicQueueB2, 8,i: 3,182,489 msg/sec OptimistAtomicQueueB2, 1,s: 127,039,222 msg/sec OptimistAtomicQueueB2, 1,i: 131,027,647 msg/sec OptimistAtomicQueueB2, 2,s: 35,122,026 msg/sec OptimistAtomicQueueB2, 2,i: 28,674,180 msg/sec OptimistAtomicQueueB2, 3,s: 41,194,616 msg/sec OptimistAtomicQueueB2, 3,i: 35,121,527 msg/sec OptimistAtomicQueueB2, 4,s: 52,718,174 msg/sec OptimistAtomicQueueB2, 4,i: 43,042,289 msg/sec OptimistAtomicQueueB2, 5,s: 53,673,363 msg/sec OptimistAtomicQueueB2, 5,i: 40,970,326 msg/sec OptimistAtomicQueueB2, 6,s: 53,201,383 msg/sec OptimistAtomicQueueB2, 6,i: 40,288,956 msg/sec OptimistAtomicQueueB2, 7,s: 52,829,018 msg/sec OptimistAtomicQueueB2, 7,i: 40,640,676 msg/sec OptimistAtomicQueueB2, 8,s: 53,760,383 msg/sec OptimistAtomicQueueB2, 8,i: 39,944,003 msg/sec moodycamel::ReaderWriterQueue, 1,s: 532,206,806 msg/sec moodycamel::ReaderWriterQueue, 1,i: 552,034,823 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,216,894 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,482,996 msg/sec moodycamel::ConcurrentQueue, 2,s: 33,345,929 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,914,741 msg/sec moodycamel::ConcurrentQueue, 3,s: 52,238,129 msg/sec moodycamel::ConcurrentQueue, 3,i: 63,234,494 msg/sec moodycamel::ConcurrentQueue, 4,s: 89,737,250 msg/sec moodycamel::ConcurrentQueue, 4,i: 99,586,921 msg/sec moodycamel::ConcurrentQueue, 5,s: 137,755,370 msg/sec moodycamel::ConcurrentQueue, 5,i: 164,550,618 msg/sec moodycamel::ConcurrentQueue, 6,s: 177,538,630 msg/sec moodycamel::ConcurrentQueue, 6,i: 172,615,769 msg/sec moodycamel::ConcurrentQueue, 7,s: 165,800,807 msg/sec moodycamel::ConcurrentQueue, 7,i: 166,912,383 msg/sec moodycamel::ConcurrentQueue, 8,s: 194,904,051 msg/sec moodycamel::ConcurrentQueue, 8,i: 194,219,475 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,903,050 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,459,977 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,195,181 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,826,358 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,830,846 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,410,001 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,128,822 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,258,869 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,919,227 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,141,427 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,046,200 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,227,753 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,369,121 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,653,888 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,667,174 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,168,504 msg/sec xenium::michael_scott_queue, 1,s: 18,339,034 msg/sec xenium::michael_scott_queue, 1,i: 17,860,006 msg/sec xenium::michael_scott_queue, 2,s: 12,071,687 msg/sec xenium::michael_scott_queue, 2,i: 8,504,964 msg/sec xenium::michael_scott_queue, 3,s: 7,592,984 msg/sec xenium::michael_scott_queue, 3,i: 6,677,306 msg/sec xenium::michael_scott_queue, 4,s: 6,015,355 msg/sec xenium::michael_scott_queue, 4,i: 4,931,552 msg/sec xenium::michael_scott_queue, 5,s: 4,574,449 msg/sec xenium::michael_scott_queue, 5,i: 3,968,100 msg/sec xenium::michael_scott_queue, 6,s: 3,901,269 msg/sec xenium::michael_scott_queue, 6,i: 3,284,396 msg/sec xenium::michael_scott_queue, 7,s: 3,476,580 msg/sec xenium::michael_scott_queue, 7,i: 2,907,657 msg/sec xenium::michael_scott_queue, 8,s: 3,032,633 msg/sec xenium::michael_scott_queue, 8,i: 2,503,240 msg/sec xenium::ramalhete_queue, 1,s: 50,608,746 msg/sec xenium::ramalhete_queue, 1,i: 33,804,762 msg/sec xenium::ramalhete_queue, 2,s: 49,161,401 msg/sec xenium::ramalhete_queue, 2,i: 29,872,550 msg/sec xenium::ramalhete_queue, 3,s: 45,771,481 msg/sec xenium::ramalhete_queue, 3,i: 33,760,852 msg/sec xenium::ramalhete_queue, 4,s: 35,934,174 msg/sec xenium::ramalhete_queue, 4,i: 35,183,000 msg/sec xenium::ramalhete_queue, 5,s: 35,512,848 msg/sec xenium::ramalhete_queue, 5,i: 36,208,769 msg/sec xenium::ramalhete_queue, 6,s: 35,013,327 msg/sec xenium::ramalhete_queue, 6,i: 35,729,290 msg/sec xenium::ramalhete_queue, 7,s: 33,471,667 msg/sec xenium::ramalhete_queue, 7,i: 35,031,815 msg/sec xenium::ramalhete_queue, 8,s: 32,936,307 msg/sec xenium::ramalhete_queue, 8,i: 34,024,222 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,363,687 msg/sec xenium::vyukov_bounded_queue, 1,i: 137,014,264 msg/sec xenium::vyukov_bounded_queue, 2,s: 43,219,745 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,910,793 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,301,587 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,833,589 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,335,104 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,026,139 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,212,077 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,471,362 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,339,616 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,604,644 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,052,109 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,658,309 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,411,433 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,230,275 msg/sec boost::lockfree::queue, 1,s: 15,154,863 msg/sec boost::lockfree::queue, 1,i: 15,203,958 msg/sec boost::lockfree::queue, 2,s: 5,792,705 msg/sec boost::lockfree::queue, 2,i: 6,195,412 msg/sec boost::lockfree::queue, 3,s: 5,421,103 msg/sec boost::lockfree::queue, 3,i: 5,434,572 msg/sec boost::lockfree::queue, 4,s: 4,036,637 msg/sec boost::lockfree::queue, 4,i: 4,030,081 msg/sec boost::lockfree::queue, 5,s: 3,330,774 msg/sec boost::lockfree::queue, 5,i: 3,292,969 msg/sec boost::lockfree::queue, 6,s: 2,200,030 msg/sec boost::lockfree::queue, 6,i: 2,386,734 msg/sec boost::lockfree::queue, 7,s: 1,964,212 msg/sec boost::lockfree::queue, 7,i: 2,048,061 msg/sec boost::lockfree::queue, 8,s: 1,626,405 msg/sec boost::lockfree::queue, 8,i: 1,792,445 msg/sec std::mutex, 1,s: 12,840,691 msg/sec std::mutex, 1,i: 12,852,041 msg/sec std::mutex, 2,s: 9,072,590 msg/sec std::mutex, 2,i: 9,454,307 msg/sec std::mutex, 3,s: 5,311,881 msg/sec std::mutex, 3,i: 5,362,666 msg/sec std::mutex, 4,s: 4,086,127 msg/sec std::mutex, 4,i: 4,166,591 msg/sec std::mutex, 5,s: 3,735,062 msg/sec std::mutex, 5,i: 3,805,210 msg/sec std::mutex, 6,s: 3,609,206 msg/sec std::mutex, 6,i: 3,743,956 msg/sec std::mutex, 7,s: 3,616,816 msg/sec std::mutex, 7,i: 3,619,899 msg/sec std::mutex, 8,s: 3,541,904 msg/sec std::mutex, 8,i: 3,474,761 msg/sec pthread_spinlock, 1,s: 31,856,878 msg/sec pthread_spinlock, 1,i: 31,751,511 msg/sec pthread_spinlock, 2,s: 10,917,817 msg/sec pthread_spinlock, 2,i: 10,478,132 msg/sec pthread_spinlock, 3,s: 9,499,112 msg/sec pthread_spinlock, 3,i: 8,666,430 msg/sec pthread_spinlock, 4,s: 7,134,937 msg/sec pthread_spinlock, 4,i: 7,492,183 msg/sec pthread_spinlock, 5,s: 6,548,360 msg/sec pthread_spinlock, 5,i: 6,773,718 msg/sec pthread_spinlock, 6,s: 5,510,612 msg/sec pthread_spinlock, 6,i: 5,516,626 msg/sec pthread_spinlock, 7,s: 2,503,230 msg/sec pthread_spinlock, 7,i: 4,362,355 msg/sec pthread_spinlock, 8,s: 3,029,344 msg/sec pthread_spinlock, 8,i: 4,634,814 msg/sec tbb::spin_mutex, 1,s: 80,580,157 msg/sec tbb::spin_mutex, 1,i: 82,800,804 msg/sec tbb::spin_mutex, 2,s: 19,136,702 msg/sec tbb::spin_mutex, 2,i: 17,527,115 msg/sec tbb::spin_mutex, 3,s: 11,233,950 msg/sec tbb::spin_mutex, 3,i: 10,769,202 msg/sec tbb::spin_mutex, 4,s: 7,223,941 msg/sec tbb::spin_mutex, 4,i: 7,211,769 msg/sec tbb::spin_mutex, 5,s: 5,475,917 msg/sec tbb::spin_mutex, 5,i: 5,638,264 msg/sec tbb::spin_mutex, 6,s: 4,263,191 msg/sec tbb::spin_mutex, 6,i: 4,362,955 msg/sec tbb::spin_mutex, 7,s: 3,698,160 msg/sec tbb::spin_mutex, 7,i: 3,658,701 msg/sec tbb::spin_mutex, 8,s: 2,938,564 msg/sec tbb::spin_mutex, 8,i: 2,996,137 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1009.54 System time (seconds): 115.91 Percent of CPU this job got: 917% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.69 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 64776 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24801 Voluntary context switches: 8594520 Involuntary context switches: 280 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:10:56 [26/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000080 sec/round-trip tbb::concurrent_bounded_queue: 0.000000105 sec/round-trip xenium::michael_scott_queue: 0.000000168 sec/round-trip xenium::ramalhete_queue: 0.000000071 sec/round-trip xenium::vyukov_bounded_queue: 0.000000071 sec/round-trip boost::lockfree::queue: 0.000000112 sec/round-trip std::mutex: 0.000000403 sec/round-trip pthread_spinlock: 0.000000123 sec/round-trip tbb::spin_mutex: 0.000000107 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 148,714,289 msg/sec boost::lockfree::spsc_queue, 1,i: 131,507,070 msg/sec AtomicQueue, 1,s: 100,394,198 msg/sec AtomicQueue, 1,i: 101,319,471 msg/sec AtomicQueue, 2,s: 12,684,424 msg/sec AtomicQueue, 2,i: 10,201,500 msg/sec AtomicQueue, 3,s: 10,015,154 msg/sec AtomicQueue, 3,i: 8,154,136 msg/sec AtomicQueue, 4,s: 7,852,553 msg/sec AtomicQueue, 4,i: 6,148,309 msg/sec AtomicQueue, 5,s: 6,091,030 msg/sec AtomicQueue, 5,i: 4,986,973 msg/sec AtomicQueue, 6,s: 5,183,812 msg/sec AtomicQueue, 6,i: 4,140,343 msg/sec AtomicQueue, 7,s: 4,536,229 msg/sec AtomicQueue, 7,i: 3,760,488 msg/sec AtomicQueue, 8,s: 4,027,550 msg/sec AtomicQueue, 8,i: 3,227,036 msg/sec OptimistAtomicQueue, 1,s: 840,312,858 msg/sec OptimistAtomicQueue, 1,i: 841,992,931 msg/sec OptimistAtomicQueue, 2,s: 91,702,078 msg/sec OptimistAtomicQueue, 2,i: 42,767,209 msg/sec OptimistAtomicQueue, 3,s: 58,353,791 msg/sec OptimistAtomicQueue, 3,i: 48,002,708 msg/sec OptimistAtomicQueue, 4,s: 63,426,730 msg/sec OptimistAtomicQueue, 4,i: 47,353,047 msg/sec OptimistAtomicQueue, 5,s: 57,085,254 msg/sec OptimistAtomicQueue, 5,i: 43,659,949 msg/sec OptimistAtomicQueue, 6,s: 56,429,325 msg/sec OptimistAtomicQueue, 6,i: 42,380,242 msg/sec OptimistAtomicQueue, 7,s: 55,260,020 msg/sec OptimistAtomicQueue, 7,i: 43,321,943 msg/sec OptimistAtomicQueue, 8,s: 56,599,483 msg/sec OptimistAtomicQueue, 8,i: 42,445,274 msg/sec AtomicQueueB, 1,s: 76,929,777 msg/sec AtomicQueueB, 1,i: 74,686,875 msg/sec AtomicQueueB, 2,s: 12,353,073 msg/sec AtomicQueueB, 2,i: 9,784,211 msg/sec AtomicQueueB, 3,s: 9,666,729 msg/sec AtomicQueueB, 3,i: 8,050,663 msg/sec AtomicQueueB, 4,s: 7,842,132 msg/sec AtomicQueueB, 4,i: 6,161,742 msg/sec AtomicQueueB, 5,s: 5,999,874 msg/sec AtomicQueueB, 5,i: 4,956,082 msg/sec AtomicQueueB, 6,s: 5,207,405 msg/sec AtomicQueueB, 6,i: 4,082,960 msg/sec AtomicQueueB, 7,s: 4,546,589 msg/sec AtomicQueueB, 7,i: 3,699,671 msg/sec AtomicQueueB, 8,s: 4,027,955 msg/sec AtomicQueueB, 8,i: 3,190,828 msg/sec OptimistAtomicQueueB, 1,s: 435,303,507 msg/sec OptimistAtomicQueueB, 1,i: 448,428,620 msg/sec OptimistAtomicQueueB, 2,s: 95,522,431 msg/sec OptimistAtomicQueueB, 2,i: 45,082,845 msg/sec OptimistAtomicQueueB, 3,s: 58,894,490 msg/sec OptimistAtomicQueueB, 3,i: 49,233,134 msg/sec OptimistAtomicQueueB, 4,s: 63,915,312 msg/sec OptimistAtomicQueueB, 4,i: 47,420,473 msg/sec OptimistAtomicQueueB, 5,s: 56,425,257 msg/sec OptimistAtomicQueueB, 5,i: 43,403,162 msg/sec OptimistAtomicQueueB, 6,s: 57,192,169 msg/sec OptimistAtomicQueueB, 6,i: 41,801,101 msg/sec OptimistAtomicQueueB, 7,s: 55,119,732 msg/sec OptimistAtomicQueueB, 7,i: 42,810,151 msg/sec OptimistAtomicQueueB, 8,s: 55,607,276 msg/sec OptimistAtomicQueueB, 8,i: 41,210,131 msg/sec AtomicQueue2, 1,s: 102,151,225 msg/sec AtomicQueue2, 1,i: 106,523,609 msg/sec AtomicQueue2, 2,s: 11,742,216 msg/sec AtomicQueue2, 2,i: 9,946,836 msg/sec AtomicQueue2, 3,s: 9,597,977 msg/sec AtomicQueue2, 3,i: 8,037,678 msg/sec AtomicQueue2, 4,s: 7,628,736 msg/sec AtomicQueue2, 4,i: 6,180,434 msg/sec AtomicQueue2, 5,s: 5,906,885 msg/sec AtomicQueue2, 5,i: 4,956,140 msg/sec AtomicQueue2, 6,s: 5,041,029 msg/sec AtomicQueue2, 6,i: 4,132,210 msg/sec AtomicQueue2, 7,s: 4,434,556 msg/sec AtomicQueue2, 7,i: 3,728,995 msg/sec AtomicQueue2, 8,s: 3,953,668 msg/sec AtomicQueue2, 8,i: 3,246,877 msg/sec OptimistAtomicQueue2, 1,s: 381,576,633 msg/sec OptimistAtomicQueue2, 1,i: 399,039,672 msg/sec OptimistAtomicQueue2, 2,s: 34,372,651 msg/sec OptimistAtomicQueue2, 2,i: 27,239,555 msg/sec OptimistAtomicQueue2, 3,s: 41,627,649 msg/sec OptimistAtomicQueue2, 3,i: 35,610,964 msg/sec OptimistAtomicQueue2, 4,s: 52,108,834 msg/sec OptimistAtomicQueue2, 4,i: 39,578,758 msg/sec OptimistAtomicQueue2, 5,s: 53,919,567 msg/sec OptimistAtomicQueue2, 5,i: 40,842,591 msg/sec OptimistAtomicQueue2, 6,s: 52,726,133 msg/sec OptimistAtomicQueue2, 6,i: 40,573,687 msg/sec OptimistAtomicQueue2, 7,s: 52,772,817 msg/sec OptimistAtomicQueue2, 7,i: 41,018,290 msg/sec OptimistAtomicQueue2, 8,s: 54,485,237 msg/sec OptimistAtomicQueue2, 8,i: 40,503,020 msg/sec AtomicQueueB2, 1,s: 77,855,409 msg/sec AtomicQueueB2, 1,i: 77,920,567 msg/sec AtomicQueueB2, 2,s: 11,360,723 msg/sec AtomicQueueB2, 2,i: 9,852,497 msg/sec AtomicQueueB2, 3,s: 9,584,667 msg/sec AtomicQueueB2, 3,i: 8,021,354 msg/sec AtomicQueueB2, 4,s: 7,529,225 msg/sec AtomicQueueB2, 4,i: 6,116,701 msg/sec AtomicQueueB2, 5,s: 5,834,405 msg/sec AtomicQueueB2, 5,i: 4,924,096 msg/sec AtomicQueueB2, 6,s: 4,987,876 msg/sec AtomicQueueB2, 6,i: 4,063,020 msg/sec AtomicQueueB2, 7,s: 4,379,777 msg/sec AtomicQueueB2, 7,i: 3,681,838 msg/sec AtomicQueueB2, 8,s: 3,875,915 msg/sec AtomicQueueB2, 8,i: 3,187,076 msg/sec OptimistAtomicQueueB2, 1,s: 130,092,099 msg/sec OptimistAtomicQueueB2, 1,i: 130,179,992 msg/sec OptimistAtomicQueueB2, 2,s: 35,034,863 msg/sec OptimistAtomicQueueB2, 2,i: 28,364,153 msg/sec OptimistAtomicQueueB2, 3,s: 40,347,033 msg/sec OptimistAtomicQueueB2, 3,i: 35,392,354 msg/sec OptimistAtomicQueueB2, 4,s: 53,236,322 msg/sec OptimistAtomicQueueB2, 4,i: 40,996,512 msg/sec OptimistAtomicQueueB2, 5,s: 53,962,420 msg/sec OptimistAtomicQueueB2, 5,i: 40,499,947 msg/sec OptimistAtomicQueueB2, 6,s: 53,050,720 msg/sec OptimistAtomicQueueB2, 6,i: 39,901,303 msg/sec OptimistAtomicQueueB2, 7,s: 53,143,440 msg/sec OptimistAtomicQueueB2, 7,i: 41,264,865 msg/sec OptimistAtomicQueueB2, 8,s: 53,852,218 msg/sec OptimistAtomicQueueB2, 8,i: 39,838,696 msg/sec moodycamel::ReaderWriterQueue, 1,s: 525,410,078 msg/sec moodycamel::ReaderWriterQueue, 1,i: 542,584,710 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,087,747 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,350,504 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,941,758 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,466,231 msg/sec moodycamel::ConcurrentQueue, 3,s: 49,435,751 msg/sec moodycamel::ConcurrentQueue, 3,i: 53,891,085 msg/sec moodycamel::ConcurrentQueue, 4,s: 80,016,579 msg/sec moodycamel::ConcurrentQueue, 4,i: 99,529,323 msg/sec moodycamel::ConcurrentQueue, 5,s: 152,734,356 msg/sec moodycamel::ConcurrentQueue, 5,i: 144,918,719 msg/sec moodycamel::ConcurrentQueue, 6,s: 165,792,983 msg/sec moodycamel::ConcurrentQueue, 6,i: 163,097,321 msg/sec moodycamel::ConcurrentQueue, 7,s: 166,891,730 msg/sec moodycamel::ConcurrentQueue, 7,i: 202,683,776 msg/sec moodycamel::ConcurrentQueue, 8,s: 179,242,759 msg/sec moodycamel::ConcurrentQueue, 8,i: 186,951,652 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,583,530 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,427,920 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,203,780 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,843,891 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,807,488 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,457,412 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,098,288 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,178,234 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,918,439 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,087,452 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,030,921 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,219,995 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,280,483 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,660,599 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,670,286 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,168,573 msg/sec xenium::michael_scott_queue, 1,s: 17,317,831 msg/sec xenium::michael_scott_queue, 1,i: 17,268,077 msg/sec xenium::michael_scott_queue, 2,s: 11,822,268 msg/sec xenium::michael_scott_queue, 2,i: 8,800,484 msg/sec xenium::michael_scott_queue, 3,s: 7,509,062 msg/sec xenium::michael_scott_queue, 3,i: 6,379,130 msg/sec xenium::michael_scott_queue, 4,s: 5,923,534 msg/sec xenium::michael_scott_queue, 4,i: 4,843,721 msg/sec xenium::michael_scott_queue, 5,s: 4,555,236 msg/sec xenium::michael_scott_queue, 5,i: 3,920,150 msg/sec xenium::michael_scott_queue, 6,s: 3,872,858 msg/sec xenium::michael_scott_queue, 6,i: 3,259,381 msg/sec xenium::michael_scott_queue, 7,s: 3,437,811 msg/sec xenium::michael_scott_queue, 7,i: 2,890,230 msg/sec xenium::michael_scott_queue, 8,s: 3,005,291 msg/sec xenium::michael_scott_queue, 8,i: 2,513,877 msg/sec xenium::ramalhete_queue, 1,s: 54,073,367 msg/sec xenium::ramalhete_queue, 1,i: 33,519,499 msg/sec xenium::ramalhete_queue, 2,s: 48,442,975 msg/sec xenium::ramalhete_queue, 2,i: 30,037,456 msg/sec xenium::ramalhete_queue, 3,s: 45,995,383 msg/sec xenium::ramalhete_queue, 3,i: 32,286,053 msg/sec xenium::ramalhete_queue, 4,s: 38,069,363 msg/sec xenium::ramalhete_queue, 4,i: 36,579,743 msg/sec xenium::ramalhete_queue, 5,s: 35,673,961 msg/sec xenium::ramalhete_queue, 5,i: 36,757,757 msg/sec xenium::ramalhete_queue, 6,s: 34,640,035 msg/sec xenium::ramalhete_queue, 6,i: 36,058,445 msg/sec xenium::ramalhete_queue, 7,s: 33,746,376 msg/sec xenium::ramalhete_queue, 7,i: 34,977,969 msg/sec xenium::ramalhete_queue, 8,s: 33,377,219 msg/sec xenium::ramalhete_queue, 8,i: 34,654,555 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,390,764 msg/sec xenium::vyukov_bounded_queue, 1,i: 136,060,014 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,276,352 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,863,705 msg/sec xenium::vyukov_bounded_queue, 3,s: 19,176,685 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,666,081 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,177,865 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,254,573 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,471,514 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,554,239 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,284,375 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,537,921 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,925,090 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,469,311 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,397,181 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,348,685 msg/sec boost::lockfree::queue, 1,s: 15,111,920 msg/sec boost::lockfree::queue, 1,i: 15,167,011 msg/sec boost::lockfree::queue, 2,s: 5,718,333 msg/sec boost::lockfree::queue, 2,i: 6,084,558 msg/sec boost::lockfree::queue, 3,s: 5,443,597 msg/sec boost::lockfree::queue, 3,i: 5,402,348 msg/sec boost::lockfree::queue, 4,s: 4,028,440 msg/sec boost::lockfree::queue, 4,i: 4,024,959 msg/sec boost::lockfree::queue, 5,s: 3,325,583 msg/sec boost::lockfree::queue, 5,i: 3,291,031 msg/sec boost::lockfree::queue, 6,s: 2,209,396 msg/sec boost::lockfree::queue, 6,i: 3,100,110 msg/sec boost::lockfree::queue, 7,s: 1,982,362 msg/sec boost::lockfree::queue, 7,i: 2,054,183 msg/sec boost::lockfree::queue, 8,s: 1,627,091 msg/sec boost::lockfree::queue, 8,i: 1,789,776 msg/sec std::mutex, 1,s: 12,870,832 msg/sec std::mutex, 1,i: 12,786,075 msg/sec std::mutex, 2,s: 8,547,944 msg/sec std::mutex, 2,i: 9,280,080 msg/sec std::mutex, 3,s: 5,198,430 msg/sec std::mutex, 3,i: 5,341,174 msg/sec std::mutex, 4,s: 4,130,241 msg/sec std::mutex, 4,i: 4,225,790 msg/sec std::mutex, 5,s: 3,747,976 msg/sec std::mutex, 5,i: 3,784,102 msg/sec std::mutex, 6,s: 3,708,389 msg/sec std::mutex, 6,i: 3,732,707 msg/sec std::mutex, 7,s: 3,636,490 msg/sec std::mutex, 7,i: 3,658,357 msg/sec std::mutex, 8,s: 3,491,715 msg/sec std::mutex, 8,i: 3,544,950 msg/sec pthread_spinlock, 1,s: 31,866,327 msg/sec pthread_spinlock, 1,i: 30,804,058 msg/sec pthread_spinlock, 2,s: 10,632,377 msg/sec pthread_spinlock, 2,i: 10,420,431 msg/sec pthread_spinlock, 3,s: 9,369,644 msg/sec pthread_spinlock, 3,i: 8,628,534 msg/sec pthread_spinlock, 4,s: 7,365,083 msg/sec pthread_spinlock, 4,i: 7,588,039 msg/sec pthread_spinlock, 5,s: 6,545,001 msg/sec pthread_spinlock, 5,i: 6,650,850 msg/sec pthread_spinlock, 6,s: 5,481,401 msg/sec pthread_spinlock, 6,i: 5,393,401 msg/sec pthread_spinlock, 7,s: 2,482,880 msg/sec pthread_spinlock, 7,i: 3,871,051 msg/sec pthread_spinlock, 8,s: 2,947,290 msg/sec pthread_spinlock, 8,i: 4,615,082 msg/sec tbb::spin_mutex, 1,s: 82,225,219 msg/sec tbb::spin_mutex, 1,i: 81,451,867 msg/sec tbb::spin_mutex, 2,s: 18,836,034 msg/sec tbb::spin_mutex, 2,i: 17,443,606 msg/sec tbb::spin_mutex, 3,s: 11,082,503 msg/sec tbb::spin_mutex, 3,i: 10,615,014 msg/sec tbb::spin_mutex, 4,s: 7,212,092 msg/sec tbb::spin_mutex, 4,i: 7,187,089 msg/sec tbb::spin_mutex, 5,s: 5,457,142 msg/sec tbb::spin_mutex, 5,i: 5,626,947 msg/sec tbb::spin_mutex, 6,s: 4,176,699 msg/sec tbb::spin_mutex, 6,i: 4,314,678 msg/sec tbb::spin_mutex, 7,s: 3,624,903 msg/sec tbb::spin_mutex, 7,i: 3,674,658 msg/sec tbb::spin_mutex, 8,s: 2,908,760 msg/sec tbb::spin_mutex, 8,i: 2,984,240 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1005.58 System time (seconds): 116.06 Percent of CPU this job got: 915% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.45 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 69380 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25989 Voluntary context switches: 8535437 Involuntary context switches: 281 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:12:59 [27/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000047 sec/round-trip OptimistAtomicQueue: 0.000000040 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000047 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000048 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000076 sec/round-trip tbb::concurrent_bounded_queue: 0.000000106 sec/round-trip xenium::michael_scott_queue: 0.000000167 sec/round-trip xenium::ramalhete_queue: 0.000000072 sec/round-trip xenium::vyukov_bounded_queue: 0.000000071 sec/round-trip boost::lockfree::queue: 0.000000112 sec/round-trip std::mutex: 0.000000407 sec/round-trip pthread_spinlock: 0.000000125 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 148,232,582 msg/sec boost::lockfree::spsc_queue, 1,i: 131,011,652 msg/sec AtomicQueue, 1,s: 100,557,854 msg/sec AtomicQueue, 1,i: 101,333,152 msg/sec AtomicQueue, 2,s: 12,730,985 msg/sec AtomicQueue, 2,i: 10,122,608 msg/sec AtomicQueue, 3,s: 9,961,833 msg/sec AtomicQueue, 3,i: 8,148,112 msg/sec AtomicQueue, 4,s: 7,838,639 msg/sec AtomicQueue, 4,i: 6,197,040 msg/sec AtomicQueue, 5,s: 5,940,893 msg/sec AtomicQueue, 5,i: 5,004,243 msg/sec AtomicQueue, 6,s: 5,204,972 msg/sec AtomicQueue, 6,i: 4,114,069 msg/sec AtomicQueue, 7,s: 4,597,350 msg/sec AtomicQueue, 7,i: 3,750,809 msg/sec AtomicQueue, 8,s: 4,086,205 msg/sec AtomicQueue, 8,i: 3,223,975 msg/sec OptimistAtomicQueue, 1,s: 849,655,231 msg/sec OptimistAtomicQueue, 1,i: 856,751,676 msg/sec OptimistAtomicQueue, 2,s: 94,087,626 msg/sec OptimistAtomicQueue, 2,i: 45,966,440 msg/sec OptimistAtomicQueue, 3,s: 60,163,681 msg/sec OptimistAtomicQueue, 3,i: 49,735,202 msg/sec OptimistAtomicQueue, 4,s: 64,653,226 msg/sec OptimistAtomicQueue, 4,i: 47,397,459 msg/sec OptimistAtomicQueue, 5,s: 57,383,557 msg/sec OptimistAtomicQueue, 5,i: 43,916,680 msg/sec OptimistAtomicQueue, 6,s: 56,499,824 msg/sec OptimistAtomicQueue, 6,i: 43,027,012 msg/sec OptimistAtomicQueue, 7,s: 55,703,786 msg/sec OptimistAtomicQueue, 7,i: 43,424,157 msg/sec OptimistAtomicQueue, 8,s: 56,803,902 msg/sec OptimistAtomicQueue, 8,i: 41,677,245 msg/sec AtomicQueueB, 1,s: 76,221,612 msg/sec AtomicQueueB, 1,i: 75,137,237 msg/sec AtomicQueueB, 2,s: 12,498,349 msg/sec AtomicQueueB, 2,i: 9,854,967 msg/sec AtomicQueueB, 3,s: 9,829,043 msg/sec AtomicQueueB, 3,i: 8,036,361 msg/sec AtomicQueueB, 4,s: 7,728,018 msg/sec AtomicQueueB, 4,i: 6,113,539 msg/sec AtomicQueueB, 5,s: 6,022,000 msg/sec AtomicQueueB, 5,i: 4,922,919 msg/sec AtomicQueueB, 6,s: 5,147,196 msg/sec AtomicQueueB, 6,i: 4,065,008 msg/sec AtomicQueueB, 7,s: 4,532,831 msg/sec AtomicQueueB, 7,i: 3,680,115 msg/sec AtomicQueueB, 8,s: 3,963,684 msg/sec AtomicQueueB, 8,i: 3,210,428 msg/sec OptimistAtomicQueueB, 1,s: 429,313,719 msg/sec OptimistAtomicQueueB, 1,i: 448,398,401 msg/sec OptimistAtomicQueueB, 2,s: 55,855,983 msg/sec OptimistAtomicQueueB, 2,i: 41,813,889 msg/sec OptimistAtomicQueueB, 3,s: 64,552,205 msg/sec OptimistAtomicQueueB, 3,i: 49,113,335 msg/sec OptimistAtomicQueueB, 4,s: 63,788,436 msg/sec OptimistAtomicQueueB, 4,i: 47,274,098 msg/sec OptimistAtomicQueueB, 5,s: 56,629,766 msg/sec OptimistAtomicQueueB, 5,i: 42,368,734 msg/sec OptimistAtomicQueueB, 6,s: 55,563,182 msg/sec OptimistAtomicQueueB, 6,i: 41,670,038 msg/sec OptimistAtomicQueueB, 7,s: 55,381,627 msg/sec OptimistAtomicQueueB, 7,i: 42,943,488 msg/sec OptimistAtomicQueueB, 8,s: 55,720,058 msg/sec OptimistAtomicQueueB, 8,i: 41,275,368 msg/sec AtomicQueue2, 1,s: 101,878,665 msg/sec AtomicQueue2, 1,i: 104,946,112 msg/sec AtomicQueue2, 2,s: 11,229,001 msg/sec AtomicQueue2, 2,i: 10,100,437 msg/sec AtomicQueue2, 3,s: 9,608,064 msg/sec AtomicQueue2, 3,i: 8,037,373 msg/sec AtomicQueue2, 4,s: 7,641,125 msg/sec AtomicQueue2, 4,i: 6,178,687 msg/sec AtomicQueue2, 5,s: 5,856,619 msg/sec AtomicQueue2, 5,i: 4,935,295 msg/sec AtomicQueue2, 6,s: 5,032,707 msg/sec AtomicQueue2, 6,i: 4,138,048 msg/sec AtomicQueue2, 7,s: 4,406,952 msg/sec AtomicQueue2, 7,i: 3,746,782 msg/sec AtomicQueue2, 8,s: 3,915,244 msg/sec AtomicQueue2, 8,i: 3,240,945 msg/sec OptimistAtomicQueue2, 1,s: 375,917,110 msg/sec OptimistAtomicQueue2, 1,i: 396,746,022 msg/sec OptimistAtomicQueue2, 2,s: 34,858,384 msg/sec OptimistAtomicQueue2, 2,i: 27,838,194 msg/sec OptimistAtomicQueue2, 3,s: 41,324,361 msg/sec OptimistAtomicQueue2, 3,i: 35,316,676 msg/sec OptimistAtomicQueue2, 4,s: 51,891,800 msg/sec OptimistAtomicQueue2, 4,i: 40,412,674 msg/sec OptimistAtomicQueue2, 5,s: 54,748,602 msg/sec OptimistAtomicQueue2, 5,i: 42,100,002 msg/sec OptimistAtomicQueue2, 6,s: 53,128,857 msg/sec OptimistAtomicQueue2, 6,i: 40,707,777 msg/sec OptimistAtomicQueue2, 7,s: 53,497,333 msg/sec OptimistAtomicQueue2, 7,i: 41,169,701 msg/sec OptimistAtomicQueue2, 8,s: 54,409,883 msg/sec OptimistAtomicQueue2, 8,i: 40,120,802 msg/sec AtomicQueueB2, 1,s: 79,362,896 msg/sec AtomicQueueB2, 1,i: 76,371,619 msg/sec AtomicQueueB2, 2,s: 11,436,551 msg/sec AtomicQueueB2, 2,i: 9,996,879 msg/sec AtomicQueueB2, 3,s: 9,633,157 msg/sec AtomicQueueB2, 3,i: 7,961,227 msg/sec AtomicQueueB2, 4,s: 7,499,737 msg/sec AtomicQueueB2, 4,i: 6,128,001 msg/sec AtomicQueueB2, 5,s: 5,831,475 msg/sec AtomicQueueB2, 5,i: 4,896,934 msg/sec AtomicQueueB2, 6,s: 4,968,138 msg/sec AtomicQueueB2, 6,i: 4,040,795 msg/sec AtomicQueueB2, 7,s: 4,396,462 msg/sec AtomicQueueB2, 7,i: 3,678,235 msg/sec AtomicQueueB2, 8,s: 3,877,836 msg/sec AtomicQueueB2, 8,i: 3,180,452 msg/sec OptimistAtomicQueueB2, 1,s: 123,037,343 msg/sec OptimistAtomicQueueB2, 1,i: 131,552,309 msg/sec OptimistAtomicQueueB2, 2,s: 34,412,720 msg/sec OptimistAtomicQueueB2, 2,i: 26,893,011 msg/sec OptimistAtomicQueueB2, 3,s: 39,848,223 msg/sec OptimistAtomicQueueB2, 3,i: 34,984,437 msg/sec OptimistAtomicQueueB2, 4,s: 51,722,762 msg/sec OptimistAtomicQueueB2, 4,i: 40,807,340 msg/sec OptimistAtomicQueueB2, 5,s: 52,911,037 msg/sec OptimistAtomicQueueB2, 5,i: 40,598,097 msg/sec OptimistAtomicQueueB2, 6,s: 52,514,602 msg/sec OptimistAtomicQueueB2, 6,i: 39,811,285 msg/sec OptimistAtomicQueueB2, 7,s: 52,011,201 msg/sec OptimistAtomicQueueB2, 7,i: 41,431,688 msg/sec OptimistAtomicQueueB2, 8,s: 54,730,889 msg/sec OptimistAtomicQueueB2, 8,i: 40,431,828 msg/sec moodycamel::ReaderWriterQueue, 1,s: 526,449,319 msg/sec moodycamel::ReaderWriterQueue, 1,i: 537,159,126 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,007,052 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,462,651 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,396,994 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,811,983 msg/sec moodycamel::ConcurrentQueue, 3,s: 47,368,154 msg/sec moodycamel::ConcurrentQueue, 3,i: 66,102,616 msg/sec moodycamel::ConcurrentQueue, 4,s: 93,660,383 msg/sec moodycamel::ConcurrentQueue, 4,i: 97,217,095 msg/sec moodycamel::ConcurrentQueue, 5,s: 160,620,086 msg/sec moodycamel::ConcurrentQueue, 5,i: 133,759,413 msg/sec moodycamel::ConcurrentQueue, 6,s: 167,087,471 msg/sec moodycamel::ConcurrentQueue, 6,i: 176,856,601 msg/sec moodycamel::ConcurrentQueue, 7,s: 191,114,232 msg/sec moodycamel::ConcurrentQueue, 7,i: 167,985,510 msg/sec moodycamel::ConcurrentQueue, 8,s: 181,851,475 msg/sec moodycamel::ConcurrentQueue, 8,i: 211,822,806 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,547,116 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,032,085 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,220,963 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,238,292 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,826,659 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,426,248 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,101,880 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,162,763 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,881,592 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,140,314 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,015,856 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,258,766 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,290,875 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,642,205 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,662,612 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,164,680 msg/sec xenium::michael_scott_queue, 1,s: 17,810,441 msg/sec xenium::michael_scott_queue, 1,i: 17,766,399 msg/sec xenium::michael_scott_queue, 2,s: 11,863,892 msg/sec xenium::michael_scott_queue, 2,i: 8,668,596 msg/sec xenium::michael_scott_queue, 3,s: 7,622,935 msg/sec xenium::michael_scott_queue, 3,i: 6,602,075 msg/sec xenium::michael_scott_queue, 4,s: 5,966,134 msg/sec xenium::michael_scott_queue, 4,i: 5,012,104 msg/sec xenium::michael_scott_queue, 5,s: 4,591,435 msg/sec xenium::michael_scott_queue, 5,i: 3,986,582 msg/sec xenium::michael_scott_queue, 6,s: 3,885,399 msg/sec xenium::michael_scott_queue, 6,i: 3,261,452 msg/sec xenium::michael_scott_queue, 7,s: 3,426,807 msg/sec xenium::michael_scott_queue, 7,i: 2,896,954 msg/sec xenium::michael_scott_queue, 8,s: 3,016,798 msg/sec xenium::michael_scott_queue, 8,i: 2,535,666 msg/sec xenium::ramalhete_queue, 1,s: 51,832,837 msg/sec xenium::ramalhete_queue, 1,i: 33,760,751 msg/sec xenium::ramalhete_queue, 2,s: 42,908,043 msg/sec xenium::ramalhete_queue, 2,i: 30,129,855 msg/sec xenium::ramalhete_queue, 3,s: 48,408,558 msg/sec xenium::ramalhete_queue, 3,i: 33,054,822 msg/sec xenium::ramalhete_queue, 4,s: 35,880,783 msg/sec xenium::ramalhete_queue, 4,i: 34,099,070 msg/sec xenium::ramalhete_queue, 5,s: 35,883,531 msg/sec xenium::ramalhete_queue, 5,i: 36,688,281 msg/sec xenium::ramalhete_queue, 6,s: 35,311,316 msg/sec xenium::ramalhete_queue, 6,i: 36,998,806 msg/sec xenium::ramalhete_queue, 7,s: 33,662,006 msg/sec xenium::ramalhete_queue, 7,i: 34,941,613 msg/sec xenium::ramalhete_queue, 8,s: 32,897,465 msg/sec xenium::ramalhete_queue, 8,i: 34,080,929 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,942,414 msg/sec xenium::vyukov_bounded_queue, 1,i: 135,664,062 msg/sec xenium::vyukov_bounded_queue, 2,s: 35,929,750 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,670,480 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,953,329 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,821,148 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,597,537 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,251,498 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,054,879 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,398,583 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,401,934 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,672,735 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,935,763 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,293,831 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,445,861 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,384,678 msg/sec boost::lockfree::queue, 1,s: 15,092,348 msg/sec boost::lockfree::queue, 1,i: 15,139,504 msg/sec boost::lockfree::queue, 2,s: 5,727,968 msg/sec boost::lockfree::queue, 2,i: 6,157,796 msg/sec boost::lockfree::queue, 3,s: 5,431,112 msg/sec boost::lockfree::queue, 3,i: 5,425,894 msg/sec boost::lockfree::queue, 4,s: 4,029,686 msg/sec boost::lockfree::queue, 4,i: 4,032,140 msg/sec boost::lockfree::queue, 5,s: 3,329,579 msg/sec boost::lockfree::queue, 5,i: 3,295,377 msg/sec boost::lockfree::queue, 6,s: 2,208,388 msg/sec boost::lockfree::queue, 6,i: 2,388,524 msg/sec boost::lockfree::queue, 7,s: 2,007,524 msg/sec boost::lockfree::queue, 7,i: 2,050,514 msg/sec boost::lockfree::queue, 8,s: 1,614,658 msg/sec boost::lockfree::queue, 8,i: 1,798,691 msg/sec std::mutex, 1,s: 12,850,151 msg/sec std::mutex, 1,i: 12,902,024 msg/sec std::mutex, 2,s: 9,186,192 msg/sec std::mutex, 2,i: 9,451,470 msg/sec std::mutex, 3,s: 5,189,405 msg/sec std::mutex, 3,i: 5,302,899 msg/sec std::mutex, 4,s: 4,282,563 msg/sec std::mutex, 4,i: 4,350,511 msg/sec std::mutex, 5,s: 3,715,566 msg/sec std::mutex, 5,i: 3,845,384 msg/sec std::mutex, 6,s: 3,571,440 msg/sec std::mutex, 6,i: 3,665,086 msg/sec std::mutex, 7,s: 3,628,960 msg/sec std::mutex, 7,i: 3,661,583 msg/sec std::mutex, 8,s: 3,452,145 msg/sec std::mutex, 8,i: 3,499,002 msg/sec pthread_spinlock, 1,s: 31,746,461 msg/sec pthread_spinlock, 1,i: 30,648,806 msg/sec pthread_spinlock, 2,s: 10,579,223 msg/sec pthread_spinlock, 2,i: 10,384,645 msg/sec pthread_spinlock, 3,s: 9,393,385 msg/sec pthread_spinlock, 3,i: 8,547,744 msg/sec pthread_spinlock, 4,s: 7,086,146 msg/sec pthread_spinlock, 4,i: 7,502,915 msg/sec pthread_spinlock, 5,s: 6,557,183 msg/sec pthread_spinlock, 5,i: 6,826,729 msg/sec pthread_spinlock, 6,s: 5,055,191 msg/sec pthread_spinlock, 6,i: 5,114,364 msg/sec pthread_spinlock, 7,s: 2,618,776 msg/sec pthread_spinlock, 7,i: 4,504,846 msg/sec pthread_spinlock, 8,s: 3,067,097 msg/sec pthread_spinlock, 8,i: 4,585,288 msg/sec tbb::spin_mutex, 1,s: 80,898,164 msg/sec tbb::spin_mutex, 1,i: 82,747,946 msg/sec tbb::spin_mutex, 2,s: 18,576,955 msg/sec tbb::spin_mutex, 2,i: 17,653,074 msg/sec tbb::spin_mutex, 3,s: 11,236,018 msg/sec tbb::spin_mutex, 3,i: 10,748,069 msg/sec tbb::spin_mutex, 4,s: 7,195,486 msg/sec tbb::spin_mutex, 4,i: 7,164,530 msg/sec tbb::spin_mutex, 5,s: 5,429,092 msg/sec tbb::spin_mutex, 5,i: 5,609,391 msg/sec tbb::spin_mutex, 6,s: 4,205,256 msg/sec tbb::spin_mutex, 6,i: 4,423,057 msg/sec tbb::spin_mutex, 7,s: 3,596,444 msg/sec tbb::spin_mutex, 7,i: 3,637,147 msg/sec tbb::spin_mutex, 8,s: 2,905,168 msg/sec tbb::spin_mutex, 8,i: 3,047,109 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1008.96 System time (seconds): 116.33 Percent of CPU this job got: 915% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:02.95 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 68868 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 25881 Voluntary context switches: 8531409 Involuntary context switches: 275 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:15:02 [28/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000076 sec/round-trip tbb::concurrent_bounded_queue: 0.000000106 sec/round-trip xenium::michael_scott_queue: 0.000000169 sec/round-trip xenium::ramalhete_queue: 0.000000071 sec/round-trip xenium::vyukov_bounded_queue: 0.000000071 sec/round-trip boost::lockfree::queue: 0.000000111 sec/round-trip std::mutex: 0.000000407 sec/round-trip pthread_spinlock: 0.000000124 sec/round-trip tbb::spin_mutex: 0.000000108 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 150,045,852 msg/sec boost::lockfree::spsc_queue, 1,i: 131,082,370 msg/sec AtomicQueue, 1,s: 100,518,459 msg/sec AtomicQueue, 1,i: 100,541,546 msg/sec AtomicQueue, 2,s: 12,724,465 msg/sec AtomicQueue, 2,i: 10,115,402 msg/sec AtomicQueue, 3,s: 9,790,533 msg/sec AtomicQueue, 3,i: 8,063,760 msg/sec AtomicQueue, 4,s: 7,845,316 msg/sec AtomicQueue, 4,i: 6,179,446 msg/sec AtomicQueue, 5,s: 6,047,248 msg/sec AtomicQueue, 5,i: 4,978,973 msg/sec AtomicQueue, 6,s: 5,128,239 msg/sec AtomicQueue, 6,i: 4,125,293 msg/sec AtomicQueue, 7,s: 4,598,089 msg/sec AtomicQueue, 7,i: 3,746,156 msg/sec AtomicQueue, 8,s: 3,976,300 msg/sec AtomicQueue, 8,i: 3,242,428 msg/sec OptimistAtomicQueue, 1,s: 836,916,601 msg/sec OptimistAtomicQueue, 1,i: 839,620,102 msg/sec OptimistAtomicQueue, 2,s: 92,742,745 msg/sec OptimistAtomicQueue, 2,i: 42,127,136 msg/sec OptimistAtomicQueue, 3,s: 58,280,260 msg/sec OptimistAtomicQueue, 3,i: 47,465,491 msg/sec OptimistAtomicQueue, 4,s: 62,165,377 msg/sec OptimistAtomicQueue, 4,i: 47,689,103 msg/sec OptimistAtomicQueue, 5,s: 56,670,569 msg/sec OptimistAtomicQueue, 5,i: 44,182,844 msg/sec OptimistAtomicQueue, 6,s: 56,756,984 msg/sec OptimistAtomicQueue, 6,i: 42,449,420 msg/sec OptimistAtomicQueue, 7,s: 54,700,472 msg/sec OptimistAtomicQueue, 7,i: 43,312,750 msg/sec OptimistAtomicQueue, 8,s: 57,165,063 msg/sec OptimistAtomicQueue, 8,i: 42,373,302 msg/sec AtomicQueueB, 1,s: 77,469,265 msg/sec AtomicQueueB, 1,i: 75,290,442 msg/sec AtomicQueueB, 2,s: 12,240,504 msg/sec AtomicQueueB, 2,i: 9,908,094 msg/sec AtomicQueueB, 3,s: 9,868,352 msg/sec AtomicQueueB, 3,i: 8,077,798 msg/sec AtomicQueueB, 4,s: 7,771,644 msg/sec AtomicQueueB, 4,i: 6,151,453 msg/sec AtomicQueueB, 5,s: 5,992,411 msg/sec AtomicQueueB, 5,i: 4,930,813 msg/sec AtomicQueueB, 6,s: 5,106,956 msg/sec AtomicQueueB, 6,i: 4,063,175 msg/sec AtomicQueueB, 7,s: 4,532,314 msg/sec AtomicQueueB, 7,i: 3,688,044 msg/sec AtomicQueueB, 8,s: 3,999,625 msg/sec AtomicQueueB, 8,i: 3,204,456 msg/sec OptimistAtomicQueueB, 1,s: 432,116,618 msg/sec OptimistAtomicQueueB, 1,i: 447,973,752 msg/sec OptimistAtomicQueueB, 2,s: 55,607,029 msg/sec OptimistAtomicQueueB, 2,i: 44,977,162 msg/sec OptimistAtomicQueueB, 3,s: 64,046,807 msg/sec OptimistAtomicQueueB, 3,i: 48,829,305 msg/sec OptimistAtomicQueueB, 4,s: 63,138,884 msg/sec OptimistAtomicQueueB, 4,i: 47,181,268 msg/sec OptimistAtomicQueueB, 5,s: 57,014,492 msg/sec OptimistAtomicQueueB, 5,i: 43,390,614 msg/sec OptimistAtomicQueueB, 6,s: 56,500,624 msg/sec OptimistAtomicQueueB, 6,i: 41,612,585 msg/sec OptimistAtomicQueueB, 7,s: 55,122,898 msg/sec OptimistAtomicQueueB, 7,i: 42,563,055 msg/sec OptimistAtomicQueueB, 8,s: 55,646,960 msg/sec OptimistAtomicQueueB, 8,i: 41,791,513 msg/sec AtomicQueue2, 1,s: 105,058,014 msg/sec AtomicQueue2, 1,i: 106,263,102 msg/sec AtomicQueue2, 2,s: 11,211,734 msg/sec AtomicQueue2, 2,i: 9,923,958 msg/sec AtomicQueue2, 3,s: 9,595,868 msg/sec AtomicQueue2, 3,i: 8,048,776 msg/sec AtomicQueue2, 4,s: 7,587,969 msg/sec AtomicQueue2, 4,i: 6,191,590 msg/sec AtomicQueue2, 5,s: 5,847,923 msg/sec AtomicQueue2, 5,i: 4,926,358 msg/sec AtomicQueue2, 6,s: 5,083,122 msg/sec AtomicQueue2, 6,i: 4,129,358 msg/sec AtomicQueue2, 7,s: 4,434,997 msg/sec AtomicQueue2, 7,i: 3,757,389 msg/sec AtomicQueue2, 8,s: 3,952,048 msg/sec AtomicQueue2, 8,i: 3,241,231 msg/sec OptimistAtomicQueue2, 1,s: 384,734,584 msg/sec OptimistAtomicQueue2, 1,i: 390,394,349 msg/sec OptimistAtomicQueue2, 2,s: 34,684,578 msg/sec OptimistAtomicQueue2, 2,i: 27,871,676 msg/sec OptimistAtomicQueue2, 3,s: 41,784,756 msg/sec OptimistAtomicQueue2, 3,i: 38,847,465 msg/sec OptimistAtomicQueue2, 4,s: 51,451,731 msg/sec OptimistAtomicQueue2, 4,i: 40,562,376 msg/sec OptimistAtomicQueue2, 5,s: 54,484,791 msg/sec OptimistAtomicQueue2, 5,i: 42,386,151 msg/sec OptimistAtomicQueue2, 6,s: 53,384,238 msg/sec OptimistAtomicQueue2, 6,i: 40,157,493 msg/sec OptimistAtomicQueue2, 7,s: 53,255,247 msg/sec OptimistAtomicQueue2, 7,i: 40,861,513 msg/sec OptimistAtomicQueue2, 8,s: 54,798,258 msg/sec OptimistAtomicQueue2, 8,i: 40,624,387 msg/sec AtomicQueueB2, 1,s: 78,790,836 msg/sec AtomicQueueB2, 1,i: 77,285,525 msg/sec AtomicQueueB2, 2,s: 11,418,480 msg/sec AtomicQueueB2, 2,i: 9,747,634 msg/sec AtomicQueueB2, 3,s: 9,610,608 msg/sec AtomicQueueB2, 3,i: 7,981,850 msg/sec AtomicQueueB2, 4,s: 7,520,070 msg/sec AtomicQueueB2, 4,i: 6,113,228 msg/sec AtomicQueueB2, 5,s: 5,826,803 msg/sec AtomicQueueB2, 5,i: 4,885,369 msg/sec AtomicQueueB2, 6,s: 4,962,890 msg/sec AtomicQueueB2, 6,i: 4,066,194 msg/sec AtomicQueueB2, 7,s: 4,388,407 msg/sec AtomicQueueB2, 7,i: 3,675,361 msg/sec AtomicQueueB2, 8,s: 3,881,735 msg/sec AtomicQueueB2, 8,i: 3,192,658 msg/sec OptimistAtomicQueueB2, 1,s: 122,536,598 msg/sec OptimistAtomicQueueB2, 1,i: 356,404,708 msg/sec OptimistAtomicQueueB2, 2,s: 34,898,301 msg/sec OptimistAtomicQueueB2, 2,i: 26,873,222 msg/sec OptimistAtomicQueueB2, 3,s: 41,082,536 msg/sec OptimistAtomicQueueB2, 3,i: 39,208,131 msg/sec OptimistAtomicQueueB2, 4,s: 53,570,144 msg/sec OptimistAtomicQueueB2, 4,i: 43,029,207 msg/sec OptimistAtomicQueueB2, 5,s: 54,336,453 msg/sec OptimistAtomicQueueB2, 5,i: 40,423,902 msg/sec OptimistAtomicQueueB2, 6,s: 53,263,361 msg/sec OptimistAtomicQueueB2, 6,i: 40,936,145 msg/sec OptimistAtomicQueueB2, 7,s: 52,623,903 msg/sec OptimistAtomicQueueB2, 7,i: 40,654,830 msg/sec OptimistAtomicQueueB2, 8,s: 53,817,257 msg/sec OptimistAtomicQueueB2, 8,i: 40,182,197 msg/sec moodycamel::ReaderWriterQueue, 1,s: 529,487,907 msg/sec moodycamel::ReaderWriterQueue, 1,i: 546,120,595 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,277,270 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,346,398 msg/sec moodycamel::ConcurrentQueue, 2,s: 34,070,168 msg/sec moodycamel::ConcurrentQueue, 2,i: 47,623,842 msg/sec moodycamel::ConcurrentQueue, 3,s: 50,013,504 msg/sec moodycamel::ConcurrentQueue, 3,i: 62,090,129 msg/sec moodycamel::ConcurrentQueue, 4,s: 85,379,081 msg/sec moodycamel::ConcurrentQueue, 4,i: 90,376,168 msg/sec moodycamel::ConcurrentQueue, 5,s: 162,460,650 msg/sec moodycamel::ConcurrentQueue, 5,i: 163,365,551 msg/sec moodycamel::ConcurrentQueue, 6,s: 176,864,749 msg/sec moodycamel::ConcurrentQueue, 6,i: 181,248,172 msg/sec moodycamel::ConcurrentQueue, 7,s: 159,539,647 msg/sec moodycamel::ConcurrentQueue, 7,i: 193,223,500 msg/sec moodycamel::ConcurrentQueue, 8,s: 169,205,366 msg/sec moodycamel::ConcurrentQueue, 8,i: 210,835,280 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,643,204 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,355,553 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,191,289 msg/sec tbb::concurrent_bounded_queue, 2,i: 11,874,000 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,803,540 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,268,768 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,125,490 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,149,930 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,989,419 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,079,859 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,008,401 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,224,591 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,372,681 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,652,945 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,648,778 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,158,911 msg/sec xenium::michael_scott_queue, 1,s: 18,039,895 msg/sec xenium::michael_scott_queue, 1,i: 17,201,588 msg/sec xenium::michael_scott_queue, 2,s: 11,881,189 msg/sec xenium::michael_scott_queue, 2,i: 8,567,990 msg/sec xenium::michael_scott_queue, 3,s: 7,678,551 msg/sec xenium::michael_scott_queue, 3,i: 6,586,452 msg/sec xenium::michael_scott_queue, 4,s: 6,018,890 msg/sec xenium::michael_scott_queue, 4,i: 4,920,990 msg/sec xenium::michael_scott_queue, 5,s: 4,565,527 msg/sec xenium::michael_scott_queue, 5,i: 3,978,958 msg/sec xenium::michael_scott_queue, 6,s: 3,879,701 msg/sec xenium::michael_scott_queue, 6,i: 3,296,883 msg/sec xenium::michael_scott_queue, 7,s: 3,450,988 msg/sec xenium::michael_scott_queue, 7,i: 2,913,280 msg/sec xenium::michael_scott_queue, 8,s: 3,043,187 msg/sec xenium::michael_scott_queue, 8,i: 2,490,628 msg/sec xenium::ramalhete_queue, 1,s: 50,044,198 msg/sec xenium::ramalhete_queue, 1,i: 46,877,370 msg/sec xenium::ramalhete_queue, 2,s: 38,391,709 msg/sec xenium::ramalhete_queue, 2,i: 29,066,242 msg/sec xenium::ramalhete_queue, 3,s: 44,526,967 msg/sec xenium::ramalhete_queue, 3,i: 31,174,729 msg/sec xenium::ramalhete_queue, 4,s: 36,500,015 msg/sec xenium::ramalhete_queue, 4,i: 36,223,355 msg/sec xenium::ramalhete_queue, 5,s: 36,381,537 msg/sec xenium::ramalhete_queue, 5,i: 37,221,873 msg/sec xenium::ramalhete_queue, 6,s: 34,329,969 msg/sec xenium::ramalhete_queue, 6,i: 35,879,758 msg/sec xenium::ramalhete_queue, 7,s: 34,191,592 msg/sec xenium::ramalhete_queue, 7,i: 34,551,054 msg/sec xenium::ramalhete_queue, 8,s: 33,387,513 msg/sec xenium::ramalhete_queue, 8,i: 34,262,761 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,946,301 msg/sec xenium::vyukov_bounded_queue, 1,i: 136,109,740 msg/sec xenium::vyukov_bounded_queue, 2,s: 42,946,815 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,699,629 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,946,062 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,809,017 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,138,738 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,419,287 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,297,581 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,398,206 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,356,560 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,641,724 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,138,971 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,293,659 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,420,459 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,277,761 msg/sec boost::lockfree::queue, 1,s: 15,173,596 msg/sec boost::lockfree::queue, 1,i: 15,180,074 msg/sec boost::lockfree::queue, 2,s: 5,714,500 msg/sec boost::lockfree::queue, 2,i: 6,178,152 msg/sec boost::lockfree::queue, 3,s: 5,410,049 msg/sec boost::lockfree::queue, 3,i: 5,397,494 msg/sec boost::lockfree::queue, 4,s: 4,027,886 msg/sec boost::lockfree::queue, 4,i: 4,022,424 msg/sec boost::lockfree::queue, 5,s: 3,324,462 msg/sec boost::lockfree::queue, 5,i: 3,282,559 msg/sec boost::lockfree::queue, 6,s: 2,201,971 msg/sec boost::lockfree::queue, 6,i: 2,385,378 msg/sec boost::lockfree::queue, 7,s: 2,015,606 msg/sec boost::lockfree::queue, 7,i: 2,046,758 msg/sec boost::lockfree::queue, 8,s: 1,618,403 msg/sec boost::lockfree::queue, 8,i: 1,793,630 msg/sec std::mutex, 1,s: 12,740,274 msg/sec std::mutex, 1,i: 12,877,519 msg/sec std::mutex, 2,s: 9,325,440 msg/sec std::mutex, 2,i: 9,457,251 msg/sec std::mutex, 3,s: 5,564,717 msg/sec std::mutex, 3,i: 5,431,678 msg/sec std::mutex, 4,s: 4,145,850 msg/sec std::mutex, 4,i: 4,212,717 msg/sec std::mutex, 5,s: 3,746,177 msg/sec std::mutex, 5,i: 3,781,226 msg/sec std::mutex, 6,s: 3,750,725 msg/sec std::mutex, 6,i: 3,824,876 msg/sec std::mutex, 7,s: 3,637,009 msg/sec std::mutex, 7,i: 3,643,010 msg/sec std::mutex, 8,s: 3,408,057 msg/sec std::mutex, 8,i: 3,451,720 msg/sec pthread_spinlock, 1,s: 31,526,822 msg/sec pthread_spinlock, 1,i: 30,882,338 msg/sec pthread_spinlock, 2,s: 10,810,585 msg/sec pthread_spinlock, 2,i: 10,460,223 msg/sec pthread_spinlock, 3,s: 9,395,504 msg/sec pthread_spinlock, 3,i: 8,678,727 msg/sec pthread_spinlock, 4,s: 7,304,049 msg/sec pthread_spinlock, 4,i: 7,426,411 msg/sec pthread_spinlock, 5,s: 6,488,184 msg/sec pthread_spinlock, 5,i: 6,734,919 msg/sec pthread_spinlock, 6,s: 5,396,368 msg/sec pthread_spinlock, 6,i: 5,524,198 msg/sec pthread_spinlock, 7,s: 2,517,138 msg/sec pthread_spinlock, 7,i: 4,555,410 msg/sec pthread_spinlock, 8,s: 3,048,660 msg/sec pthread_spinlock, 8,i: 2,263,599 msg/sec tbb::spin_mutex, 1,s: 79,343,717 msg/sec tbb::spin_mutex, 1,i: 81,930,260 msg/sec tbb::spin_mutex, 2,s: 18,600,043 msg/sec tbb::spin_mutex, 2,i: 17,405,961 msg/sec tbb::spin_mutex, 3,s: 11,287,240 msg/sec tbb::spin_mutex, 3,i: 10,612,242 msg/sec tbb::spin_mutex, 4,s: 7,294,685 msg/sec tbb::spin_mutex, 4,i: 7,201,427 msg/sec tbb::spin_mutex, 5,s: 5,598,234 msg/sec tbb::spin_mutex, 5,i: 5,574,012 msg/sec tbb::spin_mutex, 6,s: 4,205,563 msg/sec tbb::spin_mutex, 6,i: 4,383,886 msg/sec tbb::spin_mutex, 7,s: 3,685,206 msg/sec tbb::spin_mutex, 7,i: 3,658,872 msg/sec tbb::spin_mutex, 8,s: 2,932,046 msg/sec tbb::spin_mutex, 8,i: 3,009,158 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1024.08 System time (seconds): 115.96 Percent of CPU this job got: 918% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:04.13 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 65408 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24962 Voluntary context switches: 8459119 Involuntary context switches: 286 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:17:06 [29/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000042 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000050 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000052 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000076 sec/round-trip tbb::concurrent_bounded_queue: 0.000000106 sec/round-trip xenium::michael_scott_queue: 0.000000169 sec/round-trip xenium::ramalhete_queue: 0.000000072 sec/round-trip xenium::vyukov_bounded_queue: 0.000000071 sec/round-trip boost::lockfree::queue: 0.000000112 sec/round-trip std::mutex: 0.000000408 sec/round-trip pthread_spinlock: 0.000000124 sec/round-trip tbb::spin_mutex: 0.000000107 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 149,387,611 msg/sec boost::lockfree::spsc_queue, 1,i: 130,789,330 msg/sec AtomicQueue, 1,s: 100,158,553 msg/sec AtomicQueue, 1,i: 100,687,295 msg/sec AtomicQueue, 2,s: 12,644,232 msg/sec AtomicQueue, 2,i: 10,206,175 msg/sec AtomicQueue, 3,s: 9,795,719 msg/sec AtomicQueue, 3,i: 8,120,442 msg/sec AtomicQueue, 4,s: 7,845,120 msg/sec AtomicQueue, 4,i: 6,141,232 msg/sec AtomicQueue, 5,s: 6,046,246 msg/sec AtomicQueue, 5,i: 4,966,940 msg/sec AtomicQueue, 6,s: 5,164,654 msg/sec AtomicQueue, 6,i: 4,132,357 msg/sec AtomicQueue, 7,s: 4,533,375 msg/sec AtomicQueue, 7,i: 3,735,408 msg/sec AtomicQueue, 8,s: 4,036,872 msg/sec AtomicQueue, 8,i: 3,227,423 msg/sec OptimistAtomicQueue, 1,s: 833,012,010 msg/sec OptimistAtomicQueue, 1,i: 835,508,417 msg/sec OptimistAtomicQueue, 2,s: 91,154,267 msg/sec OptimistAtomicQueue, 2,i: 45,798,777 msg/sec OptimistAtomicQueue, 3,s: 61,644,445 msg/sec OptimistAtomicQueue, 3,i: 49,842,869 msg/sec OptimistAtomicQueue, 4,s: 58,614,807 msg/sec OptimistAtomicQueue, 4,i: 47,615,458 msg/sec OptimistAtomicQueue, 5,s: 56,717,973 msg/sec OptimistAtomicQueue, 5,i: 44,068,060 msg/sec OptimistAtomicQueue, 6,s: 56,562,293 msg/sec OptimistAtomicQueue, 6,i: 42,710,543 msg/sec OptimistAtomicQueue, 7,s: 55,276,149 msg/sec OptimistAtomicQueue, 7,i: 43,311,886 msg/sec OptimistAtomicQueue, 8,s: 56,586,840 msg/sec OptimistAtomicQueue, 8,i: 41,727,270 msg/sec AtomicQueueB, 1,s: 76,361,920 msg/sec AtomicQueueB, 1,i: 75,194,127 msg/sec AtomicQueueB, 2,s: 12,361,120 msg/sec AtomicQueueB, 2,i: 9,872,157 msg/sec AtomicQueueB, 3,s: 9,811,628 msg/sec AtomicQueueB, 3,i: 8,076,170 msg/sec AtomicQueueB, 4,s: 7,699,365 msg/sec AtomicQueueB, 4,i: 6,165,349 msg/sec AtomicQueueB, 5,s: 6,024,142 msg/sec AtomicQueueB, 5,i: 4,960,392 msg/sec AtomicQueueB, 6,s: 5,116,688 msg/sec AtomicQueueB, 6,i: 4,086,419 msg/sec AtomicQueueB, 7,s: 4,573,109 msg/sec AtomicQueueB, 7,i: 3,687,047 msg/sec AtomicQueueB, 8,s: 3,995,242 msg/sec AtomicQueueB, 8,i: 3,187,839 msg/sec OptimistAtomicQueueB, 1,s: 430,729,196 msg/sec OptimistAtomicQueueB, 1,i: 450,839,036 msg/sec OptimistAtomicQueueB, 2,s: 97,654,068 msg/sec OptimistAtomicQueueB, 2,i: 45,284,383 msg/sec OptimistAtomicQueueB, 3,s: 58,801,710 msg/sec OptimistAtomicQueueB, 3,i: 48,035,283 msg/sec OptimistAtomicQueueB, 4,s: 63,686,151 msg/sec OptimistAtomicQueueB, 4,i: 47,364,642 msg/sec OptimistAtomicQueueB, 5,s: 56,887,335 msg/sec OptimistAtomicQueueB, 5,i: 43,279,679 msg/sec OptimistAtomicQueueB, 6,s: 57,061,087 msg/sec OptimistAtomicQueueB, 6,i: 41,981,089 msg/sec OptimistAtomicQueueB, 7,s: 55,094,327 msg/sec OptimistAtomicQueueB, 7,i: 42,462,069 msg/sec OptimistAtomicQueueB, 8,s: 55,683,563 msg/sec OptimistAtomicQueueB, 8,i: 41,141,809 msg/sec AtomicQueue2, 1,s: 103,498,408 msg/sec AtomicQueue2, 1,i: 106,073,826 msg/sec AtomicQueue2, 2,s: 11,289,007 msg/sec AtomicQueue2, 2,i: 10,078,572 msg/sec AtomicQueue2, 3,s: 9,366,362 msg/sec AtomicQueue2, 3,i: 8,097,148 msg/sec AtomicQueue2, 4,s: 7,595,066 msg/sec AtomicQueue2, 4,i: 6,172,662 msg/sec AtomicQueue2, 5,s: 5,868,186 msg/sec AtomicQueue2, 5,i: 4,945,761 msg/sec AtomicQueue2, 6,s: 5,055,682 msg/sec AtomicQueue2, 6,i: 4,131,169 msg/sec AtomicQueue2, 7,s: 4,432,210 msg/sec AtomicQueue2, 7,i: 3,729,030 msg/sec AtomicQueue2, 8,s: 3,923,087 msg/sec AtomicQueue2, 8,i: 3,251,485 msg/sec OptimistAtomicQueue2, 1,s: 368,873,301 msg/sec OptimistAtomicQueue2, 1,i: 394,330,528 msg/sec OptimistAtomicQueue2, 2,s: 34,511,434 msg/sec OptimistAtomicQueue2, 2,i: 27,481,110 msg/sec OptimistAtomicQueue2, 3,s: 41,111,981 msg/sec OptimistAtomicQueue2, 3,i: 35,470,727 msg/sec OptimistAtomicQueue2, 4,s: 51,634,034 msg/sec OptimistAtomicQueue2, 4,i: 40,259,103 msg/sec OptimistAtomicQueue2, 5,s: 53,651,493 msg/sec OptimistAtomicQueue2, 5,i: 41,192,494 msg/sec OptimistAtomicQueue2, 6,s: 53,666,313 msg/sec OptimistAtomicQueue2, 6,i: 40,065,560 msg/sec OptimistAtomicQueue2, 7,s: 52,775,998 msg/sec OptimistAtomicQueue2, 7,i: 41,036,858 msg/sec OptimistAtomicQueue2, 8,s: 54,597,033 msg/sec OptimistAtomicQueue2, 8,i: 40,367,252 msg/sec AtomicQueueB2, 1,s: 78,624,804 msg/sec AtomicQueueB2, 1,i: 77,344,877 msg/sec AtomicQueueB2, 2,s: 11,439,135 msg/sec AtomicQueueB2, 2,i: 9,803,511 msg/sec AtomicQueueB2, 3,s: 9,511,083 msg/sec AtomicQueueB2, 3,i: 7,950,552 msg/sec AtomicQueueB2, 4,s: 7,477,143 msg/sec AtomicQueueB2, 4,i: 6,108,877 msg/sec AtomicQueueB2, 5,s: 5,805,667 msg/sec AtomicQueueB2, 5,i: 4,898,320 msg/sec AtomicQueueB2, 6,s: 4,967,379 msg/sec AtomicQueueB2, 6,i: 4,036,113 msg/sec AtomicQueueB2, 7,s: 4,376,250 msg/sec AtomicQueueB2, 7,i: 3,678,763 msg/sec AtomicQueueB2, 8,s: 3,880,647 msg/sec AtomicQueueB2, 8,i: 3,189,336 msg/sec OptimistAtomicQueueB2, 1,s: 122,917,488 msg/sec OptimistAtomicQueueB2, 1,i: 131,210,578 msg/sec OptimistAtomicQueueB2, 2,s: 34,928,539 msg/sec OptimistAtomicQueueB2, 2,i: 28,267,874 msg/sec OptimistAtomicQueueB2, 3,s: 40,272,407 msg/sec OptimistAtomicQueueB2, 3,i: 35,401,481 msg/sec OptimistAtomicQueueB2, 4,s: 53,286,771 msg/sec OptimistAtomicQueueB2, 4,i: 43,104,841 msg/sec OptimistAtomicQueueB2, 5,s: 54,074,188 msg/sec OptimistAtomicQueueB2, 5,i: 40,403,300 msg/sec OptimistAtomicQueueB2, 6,s: 53,126,086 msg/sec OptimistAtomicQueueB2, 6,i: 39,392,309 msg/sec OptimistAtomicQueueB2, 7,s: 53,121,435 msg/sec OptimistAtomicQueueB2, 7,i: 41,306,808 msg/sec OptimistAtomicQueueB2, 8,s: 53,777,531 msg/sec OptimistAtomicQueueB2, 8,i: 39,743,119 msg/sec moodycamel::ReaderWriterQueue, 1,s: 528,207,326 msg/sec moodycamel::ReaderWriterQueue, 1,i: 539,508,108 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,053,246 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,460,916 msg/sec moodycamel::ConcurrentQueue, 2,s: 33,788,477 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,589,255 msg/sec moodycamel::ConcurrentQueue, 3,s: 46,655,554 msg/sec moodycamel::ConcurrentQueue, 3,i: 60,287,930 msg/sec moodycamel::ConcurrentQueue, 4,s: 88,666,305 msg/sec moodycamel::ConcurrentQueue, 4,i: 87,447,661 msg/sec moodycamel::ConcurrentQueue, 5,s: 153,400,088 msg/sec moodycamel::ConcurrentQueue, 5,i: 166,260,215 msg/sec moodycamel::ConcurrentQueue, 6,s: 169,542,853 msg/sec moodycamel::ConcurrentQueue, 6,i: 164,504,841 msg/sec moodycamel::ConcurrentQueue, 7,s: 183,422,277 msg/sec moodycamel::ConcurrentQueue, 7,i: 203,633,631 msg/sec moodycamel::ConcurrentQueue, 8,s: 189,984,639 msg/sec moodycamel::ConcurrentQueue, 8,i: 191,724,694 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,415,120 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,200,913 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,332,800 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,216,365 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,776,653 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,345,648 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,138,676 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,245,905 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,031,438 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,089,234 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,018,415 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,213,880 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,256,528 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,671,786 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,657,103 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,171,386 msg/sec xenium::michael_scott_queue, 1,s: 17,930,616 msg/sec xenium::michael_scott_queue, 1,i: 17,594,350 msg/sec xenium::michael_scott_queue, 2,s: 11,775,939 msg/sec xenium::michael_scott_queue, 2,i: 8,718,954 msg/sec xenium::michael_scott_queue, 3,s: 7,730,665 msg/sec xenium::michael_scott_queue, 3,i: 6,642,043 msg/sec xenium::michael_scott_queue, 4,s: 6,001,478 msg/sec xenium::michael_scott_queue, 4,i: 4,912,188 msg/sec xenium::michael_scott_queue, 5,s: 4,514,318 msg/sec xenium::michael_scott_queue, 5,i: 3,979,718 msg/sec xenium::michael_scott_queue, 6,s: 3,864,145 msg/sec xenium::michael_scott_queue, 6,i: 3,308,591 msg/sec xenium::michael_scott_queue, 7,s: 3,402,588 msg/sec xenium::michael_scott_queue, 7,i: 2,915,737 msg/sec xenium::michael_scott_queue, 8,s: 3,012,728 msg/sec xenium::michael_scott_queue, 8,i: 2,511,293 msg/sec xenium::ramalhete_queue, 1,s: 50,407,389 msg/sec xenium::ramalhete_queue, 1,i: 33,708,051 msg/sec xenium::ramalhete_queue, 2,s: 48,013,142 msg/sec xenium::ramalhete_queue, 2,i: 29,822,379 msg/sec xenium::ramalhete_queue, 3,s: 43,931,440 msg/sec xenium::ramalhete_queue, 3,i: 31,261,348 msg/sec xenium::ramalhete_queue, 4,s: 36,052,291 msg/sec xenium::ramalhete_queue, 4,i: 35,195,618 msg/sec xenium::ramalhete_queue, 5,s: 35,593,749 msg/sec xenium::ramalhete_queue, 5,i: 37,202,408 msg/sec xenium::ramalhete_queue, 6,s: 35,009,360 msg/sec xenium::ramalhete_queue, 6,i: 35,717,527 msg/sec xenium::ramalhete_queue, 7,s: 33,643,897 msg/sec xenium::ramalhete_queue, 7,i: 35,097,066 msg/sec xenium::ramalhete_queue, 8,s: 32,875,879 msg/sec xenium::ramalhete_queue, 8,i: 34,309,779 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,608,984 msg/sec xenium::vyukov_bounded_queue, 1,i: 138,683,707 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,538,580 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,706,133 msg/sec xenium::vyukov_bounded_queue, 3,s: 17,835,508 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,891,684 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,330,355 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,216,070 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,364,273 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,637,982 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,262,867 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,289,278 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,178,209 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,258,446 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,490,022 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,293,283 msg/sec boost::lockfree::queue, 1,s: 15,151,435 msg/sec boost::lockfree::queue, 1,i: 15,108,948 msg/sec boost::lockfree::queue, 2,s: 5,748,154 msg/sec boost::lockfree::queue, 2,i: 6,214,000 msg/sec boost::lockfree::queue, 3,s: 5,422,473 msg/sec boost::lockfree::queue, 3,i: 5,409,604 msg/sec boost::lockfree::queue, 4,s: 4,036,683 msg/sec boost::lockfree::queue, 4,i: 4,020,001 msg/sec boost::lockfree::queue, 5,s: 3,330,474 msg/sec boost::lockfree::queue, 5,i: 3,295,293 msg/sec boost::lockfree::queue, 6,s: 2,212,214 msg/sec boost::lockfree::queue, 6,i: 2,387,077 msg/sec boost::lockfree::queue, 7,s: 2,004,920 msg/sec boost::lockfree::queue, 7,i: 2,044,945 msg/sec boost::lockfree::queue, 8,s: 1,615,282 msg/sec boost::lockfree::queue, 8,i: 1,787,859 msg/sec std::mutex, 1,s: 12,791,363 msg/sec std::mutex, 1,i: 12,816,496 msg/sec std::mutex, 2,s: 9,377,709 msg/sec std::mutex, 2,i: 9,602,704 msg/sec std::mutex, 3,s: 5,423,912 msg/sec std::mutex, 3,i: 5,473,196 msg/sec std::mutex, 4,s: 4,393,631 msg/sec std::mutex, 4,i: 4,425,575 msg/sec std::mutex, 5,s: 3,691,848 msg/sec std::mutex, 5,i: 3,757,897 msg/sec std::mutex, 6,s: 3,684,439 msg/sec std::mutex, 6,i: 3,713,729 msg/sec std::mutex, 7,s: 3,631,317 msg/sec std::mutex, 7,i: 3,663,452 msg/sec std::mutex, 8,s: 3,420,484 msg/sec std::mutex, 8,i: 3,434,002 msg/sec pthread_spinlock, 1,s: 32,053,853 msg/sec pthread_spinlock, 1,i: 31,198,863 msg/sec pthread_spinlock, 2,s: 10,571,807 msg/sec pthread_spinlock, 2,i: 10,194,429 msg/sec pthread_spinlock, 3,s: 9,329,302 msg/sec pthread_spinlock, 3,i: 8,629,129 msg/sec pthread_spinlock, 4,s: 7,175,835 msg/sec pthread_spinlock, 4,i: 7,521,172 msg/sec pthread_spinlock, 5,s: 6,493,795 msg/sec pthread_spinlock, 5,i: 6,747,740 msg/sec pthread_spinlock, 6,s: 5,467,427 msg/sec pthread_spinlock, 6,i: 5,206,235 msg/sec pthread_spinlock, 7,s: 2,498,728 msg/sec pthread_spinlock, 7,i: 4,525,519 msg/sec pthread_spinlock, 8,s: 2,825,486 msg/sec pthread_spinlock, 8,i: 4,604,714 msg/sec tbb::spin_mutex, 1,s: 83,612,925 msg/sec tbb::spin_mutex, 1,i: 81,455,390 msg/sec tbb::spin_mutex, 2,s: 18,731,236 msg/sec tbb::spin_mutex, 2,i: 17,384,536 msg/sec tbb::spin_mutex, 3,s: 11,109,440 msg/sec tbb::spin_mutex, 3,i: 10,795,500 msg/sec tbb::spin_mutex, 4,s: 7,219,599 msg/sec tbb::spin_mutex, 4,i: 7,154,180 msg/sec tbb::spin_mutex, 5,s: 5,275,189 msg/sec tbb::spin_mutex, 5,i: 5,530,545 msg/sec tbb::spin_mutex, 6,s: 4,188,128 msg/sec tbb::spin_mutex, 6,i: 4,321,222 msg/sec tbb::spin_mutex, 7,s: 3,645,195 msg/sec tbb::spin_mutex, 7,i: 3,654,934 msg/sec tbb::spin_mutex, 8,s: 2,866,746 msg/sec tbb::spin_mutex, 8,i: 3,002,624 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1012.73 System time (seconds): 116.77 Percent of CPU this job got: 916% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.17 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 65284 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24891 Voluntary context switches: 8364021 Involuntary context switches: 283 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:19:09 [30/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000049 sec/round-trip OptimistAtomicQueue: 0.000000040 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000051 sec/round-trip OptimistAtomicQueue2: 0.000000046 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000080 sec/round-trip tbb::concurrent_bounded_queue: 0.000000106 sec/round-trip xenium::michael_scott_queue: 0.000000170 sec/round-trip xenium::ramalhete_queue: 0.000000072 sec/round-trip xenium::vyukov_bounded_queue: 0.000000072 sec/round-trip boost::lockfree::queue: 0.000000112 sec/round-trip std::mutex: 0.000000408 sec/round-trip pthread_spinlock: 0.000000124 sec/round-trip tbb::spin_mutex: 0.000000107 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 151,534,337 msg/sec boost::lockfree::spsc_queue, 1,i: 131,448,530 msg/sec AtomicQueue, 1,s: 100,582,479 msg/sec AtomicQueue, 1,i: 100,879,839 msg/sec AtomicQueue, 2,s: 12,576,316 msg/sec AtomicQueue, 2,i: 10,105,974 msg/sec AtomicQueue, 3,s: 9,679,015 msg/sec AtomicQueue, 3,i: 8,086,843 msg/sec AtomicQueue, 4,s: 7,884,758 msg/sec AtomicQueue, 4,i: 6,177,334 msg/sec AtomicQueue, 5,s: 6,152,506 msg/sec AtomicQueue, 5,i: 4,983,898 msg/sec AtomicQueue, 6,s: 5,221,235 msg/sec AtomicQueue, 6,i: 4,114,045 msg/sec AtomicQueue, 7,s: 4,560,845 msg/sec AtomicQueue, 7,i: 3,745,646 msg/sec AtomicQueue, 8,s: 4,045,338 msg/sec AtomicQueue, 8,i: 3,222,546 msg/sec OptimistAtomicQueue, 1,s: 842,938,702 msg/sec OptimistAtomicQueue, 1,i: 849,315,418 msg/sec OptimistAtomicQueue, 2,s: 92,717,157 msg/sec OptimistAtomicQueue, 2,i: 45,315,326 msg/sec OptimistAtomicQueue, 3,s: 64,114,115 msg/sec OptimistAtomicQueue, 3,i: 48,193,746 msg/sec OptimistAtomicQueue, 4,s: 64,435,098 msg/sec OptimistAtomicQueue, 4,i: 47,837,582 msg/sec OptimistAtomicQueue, 5,s: 56,782,993 msg/sec OptimistAtomicQueue, 5,i: 43,719,234 msg/sec OptimistAtomicQueue, 6,s: 57,459,984 msg/sec OptimistAtomicQueue, 6,i: 42,841,200 msg/sec OptimistAtomicQueue, 7,s: 54,977,641 msg/sec OptimistAtomicQueue, 7,i: 43,534,295 msg/sec OptimistAtomicQueue, 8,s: 56,419,866 msg/sec OptimistAtomicQueue, 8,i: 41,667,049 msg/sec AtomicQueueB, 1,s: 75,501,171 msg/sec AtomicQueueB, 1,i: 74,365,399 msg/sec AtomicQueueB, 2,s: 12,364,284 msg/sec AtomicQueueB, 2,i: 9,905,489 msg/sec AtomicQueueB, 3,s: 9,643,066 msg/sec AtomicQueueB, 3,i: 8,029,672 msg/sec AtomicQueueB, 4,s: 7,756,061 msg/sec AtomicQueueB, 4,i: 6,107,724 msg/sec AtomicQueueB, 5,s: 5,916,835 msg/sec AtomicQueueB, 5,i: 4,938,798 msg/sec AtomicQueueB, 6,s: 5,059,130 msg/sec AtomicQueueB, 6,i: 4,090,064 msg/sec AtomicQueueB, 7,s: 4,536,148 msg/sec AtomicQueueB, 7,i: 3,697,799 msg/sec AtomicQueueB, 8,s: 3,983,902 msg/sec AtomicQueueB, 8,i: 3,195,602 msg/sec OptimistAtomicQueueB, 1,s: 433,963,495 msg/sec OptimistAtomicQueueB, 1,i: 441,712,877 msg/sec OptimistAtomicQueueB, 2,s: 96,786,268 msg/sec OptimistAtomicQueueB, 2,i: 44,779,970 msg/sec OptimistAtomicQueueB, 3,s: 64,176,323 msg/sec OptimistAtomicQueueB, 3,i: 49,351,517 msg/sec OptimistAtomicQueueB, 4,s: 63,360,576 msg/sec OptimistAtomicQueueB, 4,i: 47,419,685 msg/sec OptimistAtomicQueueB, 5,s: 56,516,411 msg/sec OptimistAtomicQueueB, 5,i: 43,053,244 msg/sec OptimistAtomicQueueB, 6,s: 55,764,906 msg/sec OptimistAtomicQueueB, 6,i: 42,505,172 msg/sec OptimistAtomicQueueB, 7,s: 54,754,246 msg/sec OptimistAtomicQueueB, 7,i: 42,747,262 msg/sec OptimistAtomicQueueB, 8,s: 55,506,215 msg/sec OptimistAtomicQueueB, 8,i: 40,983,869 msg/sec AtomicQueue2, 1,s: 106,376,811 msg/sec AtomicQueue2, 1,i: 105,753,399 msg/sec AtomicQueue2, 2,s: 11,219,048 msg/sec AtomicQueue2, 2,i: 9,882,456 msg/sec AtomicQueue2, 3,s: 9,641,407 msg/sec AtomicQueue2, 3,i: 8,096,342 msg/sec AtomicQueue2, 4,s: 7,596,383 msg/sec AtomicQueue2, 4,i: 6,157,738 msg/sec AtomicQueue2, 5,s: 5,871,532 msg/sec AtomicQueue2, 5,i: 4,939,094 msg/sec AtomicQueue2, 6,s: 5,044,019 msg/sec AtomicQueue2, 6,i: 4,127,771 msg/sec AtomicQueue2, 7,s: 4,417,686 msg/sec AtomicQueue2, 7,i: 3,733,379 msg/sec AtomicQueue2, 8,s: 3,892,256 msg/sec AtomicQueue2, 8,i: 3,226,809 msg/sec OptimistAtomicQueue2, 1,s: 377,329,744 msg/sec OptimistAtomicQueue2, 1,i: 394,757,867 msg/sec OptimistAtomicQueue2, 2,s: 34,920,645 msg/sec OptimistAtomicQueue2, 2,i: 27,411,244 msg/sec OptimistAtomicQueue2, 3,s: 41,876,533 msg/sec OptimistAtomicQueue2, 3,i: 39,031,208 msg/sec OptimistAtomicQueue2, 4,s: 52,390,261 msg/sec OptimistAtomicQueue2, 4,i: 40,364,150 msg/sec OptimistAtomicQueue2, 5,s: 54,056,118 msg/sec OptimistAtomicQueue2, 5,i: 42,426,690 msg/sec OptimistAtomicQueue2, 6,s: 54,451,341 msg/sec OptimistAtomicQueue2, 6,i: 40,401,549 msg/sec OptimistAtomicQueue2, 7,s: 53,111,994 msg/sec OptimistAtomicQueue2, 7,i: 41,320,403 msg/sec OptimistAtomicQueue2, 8,s: 54,449,628 msg/sec OptimistAtomicQueue2, 8,i: 40,017,096 msg/sec AtomicQueueB2, 1,s: 75,691,667 msg/sec AtomicQueueB2, 1,i: 76,560,078 msg/sec AtomicQueueB2, 2,s: 11,300,848 msg/sec AtomicQueueB2, 2,i: 9,773,255 msg/sec AtomicQueueB2, 3,s: 9,601,651 msg/sec AtomicQueueB2, 3,i: 7,977,078 msg/sec AtomicQueueB2, 4,s: 7,495,827 msg/sec AtomicQueueB2, 4,i: 6,093,783 msg/sec AtomicQueueB2, 5,s: 5,825,996 msg/sec AtomicQueueB2, 5,i: 4,892,964 msg/sec AtomicQueueB2, 6,s: 4,954,943 msg/sec AtomicQueueB2, 6,i: 4,047,437 msg/sec AtomicQueueB2, 7,s: 4,401,659 msg/sec AtomicQueueB2, 7,i: 3,668,663 msg/sec AtomicQueueB2, 8,s: 3,910,684 msg/sec AtomicQueueB2, 8,i: 3,188,739 msg/sec OptimistAtomicQueueB2, 1,s: 123,348,448 msg/sec OptimistAtomicQueueB2, 1,i: 132,745,564 msg/sec OptimistAtomicQueueB2, 2,s: 34,999,726 msg/sec OptimistAtomicQueueB2, 2,i: 26,676,905 msg/sec OptimistAtomicQueueB2, 3,s: 40,714,236 msg/sec OptimistAtomicQueueB2, 3,i: 35,146,535 msg/sec OptimistAtomicQueueB2, 4,s: 53,147,649 msg/sec OptimistAtomicQueueB2, 4,i: 40,667,390 msg/sec OptimistAtomicQueueB2, 5,s: 52,821,487 msg/sec OptimistAtomicQueueB2, 5,i: 40,386,510 msg/sec OptimistAtomicQueueB2, 6,s: 52,161,143 msg/sec OptimistAtomicQueueB2, 6,i: 39,779,075 msg/sec OptimistAtomicQueueB2, 7,s: 52,290,008 msg/sec OptimistAtomicQueueB2, 7,i: 41,230,381 msg/sec OptimistAtomicQueueB2, 8,s: 55,069,283 msg/sec OptimistAtomicQueueB2, 8,i: 39,755,244 msg/sec moodycamel::ReaderWriterQueue, 1,s: 525,764,344 msg/sec moodycamel::ReaderWriterQueue, 1,i: 534,149,291 msg/sec moodycamel::ConcurrentQueue, 1,s: 32,132,260 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,326,337 msg/sec moodycamel::ConcurrentQueue, 2,s: 32,823,864 msg/sec moodycamel::ConcurrentQueue, 2,i: 40,295,056 msg/sec moodycamel::ConcurrentQueue, 3,s: 46,836,834 msg/sec moodycamel::ConcurrentQueue, 3,i: 57,919,500 msg/sec moodycamel::ConcurrentQueue, 4,s: 80,449,282 msg/sec moodycamel::ConcurrentQueue, 4,i: 87,431,191 msg/sec moodycamel::ConcurrentQueue, 5,s: 133,739,877 msg/sec moodycamel::ConcurrentQueue, 5,i: 168,048,423 msg/sec moodycamel::ConcurrentQueue, 6,s: 162,490,598 msg/sec moodycamel::ConcurrentQueue, 6,i: 176,580,943 msg/sec moodycamel::ConcurrentQueue, 7,s: 177,969,557 msg/sec moodycamel::ConcurrentQueue, 7,i: 197,939,876 msg/sec moodycamel::ConcurrentQueue, 8,s: 187,830,155 msg/sec moodycamel::ConcurrentQueue, 8,i: 171,651,211 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,708,935 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,570,763 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,182,104 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,123,505 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,805,010 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,323,870 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,112,234 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,268,784 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,901,927 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,120,666 msg/sec tbb::concurrent_bounded_queue, 6,s: 4,988,577 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,210,668 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,283,857 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,656,744 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,657,153 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,156,836 msg/sec xenium::michael_scott_queue, 1,s: 17,837,522 msg/sec xenium::michael_scott_queue, 1,i: 17,167,483 msg/sec xenium::michael_scott_queue, 2,s: 11,873,616 msg/sec xenium::michael_scott_queue, 2,i: 8,767,558 msg/sec xenium::michael_scott_queue, 3,s: 7,736,229 msg/sec xenium::michael_scott_queue, 3,i: 6,578,882 msg/sec xenium::michael_scott_queue, 4,s: 5,985,985 msg/sec xenium::michael_scott_queue, 4,i: 4,977,352 msg/sec xenium::michael_scott_queue, 5,s: 4,560,287 msg/sec xenium::michael_scott_queue, 5,i: 3,921,727 msg/sec xenium::michael_scott_queue, 6,s: 3,882,695 msg/sec xenium::michael_scott_queue, 6,i: 3,233,902 msg/sec xenium::michael_scott_queue, 7,s: 3,409,556 msg/sec xenium::michael_scott_queue, 7,i: 2,898,717 msg/sec xenium::michael_scott_queue, 8,s: 3,007,176 msg/sec xenium::michael_scott_queue, 8,i: 2,493,868 msg/sec xenium::ramalhete_queue, 1,s: 35,168,322 msg/sec xenium::ramalhete_queue, 1,i: 33,645,589 msg/sec xenium::ramalhete_queue, 2,s: 47,462,258 msg/sec xenium::ramalhete_queue, 2,i: 29,338,434 msg/sec xenium::ramalhete_queue, 3,s: 45,520,394 msg/sec xenium::ramalhete_queue, 3,i: 31,723,912 msg/sec xenium::ramalhete_queue, 4,s: 35,910,566 msg/sec xenium::ramalhete_queue, 4,i: 35,039,303 msg/sec xenium::ramalhete_queue, 5,s: 35,743,895 msg/sec xenium::ramalhete_queue, 5,i: 36,750,557 msg/sec xenium::ramalhete_queue, 6,s: 35,019,396 msg/sec xenium::ramalhete_queue, 6,i: 36,077,175 msg/sec xenium::ramalhete_queue, 7,s: 33,483,547 msg/sec xenium::ramalhete_queue, 7,i: 34,319,895 msg/sec xenium::ramalhete_queue, 8,s: 33,148,388 msg/sec xenium::ramalhete_queue, 8,i: 34,600,974 msg/sec xenium::vyukov_bounded_queue, 1,s: 124,294,524 msg/sec xenium::vyukov_bounded_queue, 1,i: 137,069,961 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,817,004 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,574,457 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,840,364 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,917,068 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,270,064 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,290,842 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,583,010 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,430,304 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,498,557 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,674,308 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,134,536 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,493,166 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,351,559 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,481,448 msg/sec boost::lockfree::queue, 1,s: 15,091,754 msg/sec boost::lockfree::queue, 1,i: 15,071,593 msg/sec boost::lockfree::queue, 2,s: 5,717,478 msg/sec boost::lockfree::queue, 2,i: 6,128,374 msg/sec boost::lockfree::queue, 3,s: 5,406,028 msg/sec boost::lockfree::queue, 3,i: 5,427,597 msg/sec boost::lockfree::queue, 4,s: 4,028,940 msg/sec boost::lockfree::queue, 4,i: 4,004,693 msg/sec boost::lockfree::queue, 5,s: 3,325,098 msg/sec boost::lockfree::queue, 5,i: 3,257,485 msg/sec boost::lockfree::queue, 6,s: 2,204,694 msg/sec boost::lockfree::queue, 6,i: 2,379,787 msg/sec boost::lockfree::queue, 7,s: 1,973,580 msg/sec boost::lockfree::queue, 7,i: 2,044,261 msg/sec boost::lockfree::queue, 8,s: 1,623,581 msg/sec boost::lockfree::queue, 8,i: 1,794,415 msg/sec std::mutex, 1,s: 12,796,255 msg/sec std::mutex, 1,i: 12,805,137 msg/sec std::mutex, 2,s: 8,974,344 msg/sec std::mutex, 2,i: 9,445,629 msg/sec std::mutex, 3,s: 5,511,460 msg/sec std::mutex, 3,i: 5,616,526 msg/sec std::mutex, 4,s: 4,333,509 msg/sec std::mutex, 4,i: 4,432,442 msg/sec std::mutex, 5,s: 3,719,846 msg/sec std::mutex, 5,i: 3,767,401 msg/sec std::mutex, 6,s: 3,558,539 msg/sec std::mutex, 6,i: 3,671,325 msg/sec std::mutex, 7,s: 3,685,066 msg/sec std::mutex, 7,i: 3,679,505 msg/sec std::mutex, 8,s: 3,471,169 msg/sec std::mutex, 8,i: 3,454,634 msg/sec pthread_spinlock, 1,s: 31,936,846 msg/sec pthread_spinlock, 1,i: 30,563,718 msg/sec pthread_spinlock, 2,s: 10,916,815 msg/sec pthread_spinlock, 2,i: 10,570,222 msg/sec pthread_spinlock, 3,s: 9,225,287 msg/sec pthread_spinlock, 3,i: 8,701,909 msg/sec pthread_spinlock, 4,s: 7,077,358 msg/sec pthread_spinlock, 4,i: 7,507,432 msg/sec pthread_spinlock, 5,s: 6,529,962 msg/sec pthread_spinlock, 5,i: 6,702,311 msg/sec pthread_spinlock, 6,s: 5,200,442 msg/sec pthread_spinlock, 6,i: 4,634,213 msg/sec pthread_spinlock, 7,s: 2,611,504 msg/sec pthread_spinlock, 7,i: 4,713,923 msg/sec pthread_spinlock, 8,s: 2,965,224 msg/sec pthread_spinlock, 8,i: 4,609,950 msg/sec tbb::spin_mutex, 1,s: 84,675,822 msg/sec tbb::spin_mutex, 1,i: 80,893,575 msg/sec tbb::spin_mutex, 2,s: 18,939,495 msg/sec tbb::spin_mutex, 2,i: 17,647,459 msg/sec tbb::spin_mutex, 3,s: 11,167,104 msg/sec tbb::spin_mutex, 3,i: 10,685,237 msg/sec tbb::spin_mutex, 4,s: 7,198,611 msg/sec tbb::spin_mutex, 4,i: 7,180,329 msg/sec tbb::spin_mutex, 5,s: 5,475,466 msg/sec tbb::spin_mutex, 5,i: 5,643,934 msg/sec tbb::spin_mutex, 6,s: 4,277,221 msg/sec tbb::spin_mutex, 6,i: 4,344,946 msg/sec tbb::spin_mutex, 7,s: 3,563,472 msg/sec tbb::spin_mutex, 7,i: 3,686,517 msg/sec tbb::spin_mutex, 8,s: 2,936,084 msg/sec tbb::spin_mutex, 8,i: 3,020,604 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1025.46 System time (seconds): 116.26 Percent of CPU this job got: 914% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:04.84 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 65004 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24902 Voluntary context switches: 8499353 Involuntary context switches: 301 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:21:14 [31/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000047 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000051 sec/round-trip OptimistAtomicQueue2: 0.000000048 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000076 sec/round-trip tbb::concurrent_bounded_queue: 0.000000107 sec/round-trip xenium::michael_scott_queue: 0.000000169 sec/round-trip xenium::ramalhete_queue: 0.000000074 sec/round-trip xenium::vyukov_bounded_queue: 0.000000072 sec/round-trip boost::lockfree::queue: 0.000000112 sec/round-trip std::mutex: 0.000000408 sec/round-trip pthread_spinlock: 0.000000124 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 151,496,155 msg/sec boost::lockfree::spsc_queue, 1,i: 131,462,034 msg/sec AtomicQueue, 1,s: 99,844,645 msg/sec AtomicQueue, 1,i: 100,584,405 msg/sec AtomicQueue, 2,s: 12,672,448 msg/sec AtomicQueue, 2,i: 10,163,028 msg/sec AtomicQueue, 3,s: 9,940,786 msg/sec AtomicQueue, 3,i: 8,098,550 msg/sec AtomicQueue, 4,s: 7,799,995 msg/sec AtomicQueue, 4,i: 6,165,364 msg/sec AtomicQueue, 5,s: 6,015,172 msg/sec AtomicQueue, 5,i: 4,963,951 msg/sec AtomicQueue, 6,s: 5,199,771 msg/sec AtomicQueue, 6,i: 4,121,864 msg/sec AtomicQueue, 7,s: 4,543,355 msg/sec AtomicQueue, 7,i: 3,742,258 msg/sec AtomicQueue, 8,s: 4,036,471 msg/sec AtomicQueue, 8,i: 3,235,931 msg/sec OptimistAtomicQueue, 1,s: 853,075,667 msg/sec OptimistAtomicQueue, 1,i: 858,365,297 msg/sec OptimistAtomicQueue, 2,s: 93,853,878 msg/sec OptimistAtomicQueue, 2,i: 42,722,487 msg/sec OptimistAtomicQueue, 3,s: 58,524,944 msg/sec OptimistAtomicQueue, 3,i: 48,604,739 msg/sec OptimistAtomicQueue, 4,s: 64,978,929 msg/sec OptimistAtomicQueue, 4,i: 47,936,768 msg/sec OptimistAtomicQueue, 5,s: 56,648,665 msg/sec OptimistAtomicQueue, 5,i: 43,909,358 msg/sec OptimistAtomicQueue, 6,s: 57,173,921 msg/sec OptimistAtomicQueue, 6,i: 42,496,232 msg/sec OptimistAtomicQueue, 7,s: 54,884,709 msg/sec OptimistAtomicQueue, 7,i: 44,057,664 msg/sec OptimistAtomicQueue, 8,s: 57,338,987 msg/sec OptimistAtomicQueue, 8,i: 41,979,557 msg/sec AtomicQueueB, 1,s: 76,311,767 msg/sec AtomicQueueB, 1,i: 76,438,589 msg/sec AtomicQueueB, 2,s: 12,331,781 msg/sec AtomicQueueB, 2,i: 9,831,450 msg/sec AtomicQueueB, 3,s: 9,710,807 msg/sec AtomicQueueB, 3,i: 8,033,689 msg/sec AtomicQueueB, 4,s: 7,643,590 msg/sec AtomicQueueB, 4,i: 6,162,230 msg/sec AtomicQueueB, 5,s: 5,984,273 msg/sec AtomicQueueB, 5,i: 4,922,580 msg/sec AtomicQueueB, 6,s: 5,125,060 msg/sec AtomicQueueB, 6,i: 4,065,074 msg/sec AtomicQueueB, 7,s: 4,518,917 msg/sec AtomicQueueB, 7,i: 3,720,769 msg/sec AtomicQueueB, 8,s: 3,962,229 msg/sec AtomicQueueB, 8,i: 3,201,691 msg/sec OptimistAtomicQueueB, 1,s: 424,201,082 msg/sec OptimistAtomicQueueB, 1,i: 441,763,709 msg/sec OptimistAtomicQueueB, 2,s: 95,382,216 msg/sec OptimistAtomicQueueB, 2,i: 42,150,602 msg/sec OptimistAtomicQueueB, 3,s: 57,827,519 msg/sec OptimistAtomicQueueB, 3,i: 49,280,852 msg/sec OptimistAtomicQueueB, 4,s: 63,576,985 msg/sec OptimistAtomicQueueB, 4,i: 47,530,562 msg/sec OptimistAtomicQueueB, 5,s: 56,111,750 msg/sec OptimistAtomicQueueB, 5,i: 43,059,224 msg/sec OptimistAtomicQueueB, 6,s: 55,999,973 msg/sec OptimistAtomicQueueB, 6,i: 41,492,684 msg/sec OptimistAtomicQueueB, 7,s: 54,832,094 msg/sec OptimistAtomicQueueB, 7,i: 42,986,656 msg/sec OptimistAtomicQueueB, 8,s: 56,407,813 msg/sec OptimistAtomicQueueB, 8,i: 41,567,027 msg/sec AtomicQueue2, 1,s: 102,835,553 msg/sec AtomicQueue2, 1,i: 106,624,434 msg/sec AtomicQueue2, 2,s: 11,321,288 msg/sec AtomicQueue2, 2,i: 10,011,557 msg/sec AtomicQueue2, 3,s: 9,644,368 msg/sec AtomicQueue2, 3,i: 8,092,565 msg/sec AtomicQueue2, 4,s: 7,640,187 msg/sec AtomicQueue2, 4,i: 6,160,954 msg/sec AtomicQueue2, 5,s: 5,863,654 msg/sec AtomicQueue2, 5,i: 4,941,360 msg/sec AtomicQueue2, 6,s: 5,045,042 msg/sec AtomicQueue2, 6,i: 4,118,872 msg/sec AtomicQueue2, 7,s: 4,397,623 msg/sec AtomicQueue2, 7,i: 3,717,765 msg/sec AtomicQueue2, 8,s: 3,901,793 msg/sec AtomicQueue2, 8,i: 3,243,652 msg/sec OptimistAtomicQueue2, 1,s: 383,426,556 msg/sec OptimistAtomicQueue2, 1,i: 385,578,799 msg/sec OptimistAtomicQueue2, 2,s: 35,181,289 msg/sec OptimistAtomicQueue2, 2,i: 27,553,211 msg/sec OptimistAtomicQueue2, 3,s: 40,891,014 msg/sec OptimistAtomicQueue2, 3,i: 35,703,153 msg/sec OptimistAtomicQueue2, 4,s: 52,426,228 msg/sec OptimistAtomicQueue2, 4,i: 40,451,623 msg/sec OptimistAtomicQueue2, 5,s: 53,665,715 msg/sec OptimistAtomicQueue2, 5,i: 40,566,861 msg/sec OptimistAtomicQueue2, 6,s: 52,281,691 msg/sec OptimistAtomicQueue2, 6,i: 39,973,567 msg/sec OptimistAtomicQueue2, 7,s: 53,096,595 msg/sec OptimistAtomicQueue2, 7,i: 41,419,532 msg/sec OptimistAtomicQueue2, 8,s: 54,662,187 msg/sec OptimistAtomicQueue2, 8,i: 40,065,528 msg/sec AtomicQueueB2, 1,s: 77,925,373 msg/sec AtomicQueueB2, 1,i: 77,548,839 msg/sec AtomicQueueB2, 2,s: 11,485,501 msg/sec AtomicQueueB2, 2,i: 9,766,544 msg/sec AtomicQueueB2, 3,s: 9,540,898 msg/sec AtomicQueueB2, 3,i: 7,979,418 msg/sec AtomicQueueB2, 4,s: 7,569,118 msg/sec AtomicQueueB2, 4,i: 6,145,747 msg/sec AtomicQueueB2, 5,s: 5,832,373 msg/sec AtomicQueueB2, 5,i: 4,898,764 msg/sec AtomicQueueB2, 6,s: 4,979,453 msg/sec AtomicQueueB2, 6,i: 4,046,972 msg/sec AtomicQueueB2, 7,s: 4,386,402 msg/sec AtomicQueueB2, 7,i: 3,679,349 msg/sec AtomicQueueB2, 8,s: 3,853,509 msg/sec AtomicQueueB2, 8,i: 3,170,782 msg/sec OptimistAtomicQueueB2, 1,s: 121,309,686 msg/sec OptimistAtomicQueueB2, 1,i: 137,154,534 msg/sec OptimistAtomicQueueB2, 2,s: 35,399,112 msg/sec OptimistAtomicQueueB2, 2,i: 28,548,138 msg/sec OptimistAtomicQueueB2, 3,s: 41,726,394 msg/sec OptimistAtomicQueueB2, 3,i: 35,035,044 msg/sec OptimistAtomicQueueB2, 4,s: 53,260,526 msg/sec OptimistAtomicQueueB2, 4,i: 40,568,806 msg/sec OptimistAtomicQueueB2, 5,s: 52,869,025 msg/sec OptimistAtomicQueueB2, 5,i: 40,909,620 msg/sec OptimistAtomicQueueB2, 6,s: 52,718,698 msg/sec OptimistAtomicQueueB2, 6,i: 39,565,235 msg/sec OptimistAtomicQueueB2, 7,s: 52,379,770 msg/sec OptimistAtomicQueueB2, 7,i: 41,416,885 msg/sec OptimistAtomicQueueB2, 8,s: 53,731,355 msg/sec OptimistAtomicQueueB2, 8,i: 40,222,809 msg/sec moodycamel::ReaderWriterQueue, 1,s: 529,653,687 msg/sec moodycamel::ReaderWriterQueue, 1,i: 545,026,129 msg/sec moodycamel::ConcurrentQueue, 1,s: 31,934,966 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,368,002 msg/sec moodycamel::ConcurrentQueue, 2,s: 33,626,171 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,610,011 msg/sec moodycamel::ConcurrentQueue, 3,s: 46,744,135 msg/sec moodycamel::ConcurrentQueue, 3,i: 58,793,605 msg/sec moodycamel::ConcurrentQueue, 4,s: 80,953,937 msg/sec moodycamel::ConcurrentQueue, 4,i: 86,214,075 msg/sec moodycamel::ConcurrentQueue, 5,s: 135,105,428 msg/sec moodycamel::ConcurrentQueue, 5,i: 138,733,056 msg/sec moodycamel::ConcurrentQueue, 6,s: 170,456,963 msg/sec moodycamel::ConcurrentQueue, 6,i: 173,615,336 msg/sec moodycamel::ConcurrentQueue, 7,s: 173,801,657 msg/sec moodycamel::ConcurrentQueue, 7,i: 178,867,043 msg/sec moodycamel::ConcurrentQueue, 8,s: 181,104,091 msg/sec moodycamel::ConcurrentQueue, 8,i: 186,359,282 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,577,101 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,396,050 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,146,832 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,004,921 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,825,879 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,417,149 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,111,390 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,173,479 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,999,893 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,118,931 msg/sec tbb::concurrent_bounded_queue, 6,s: 4,997,898 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,222,210 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,379,764 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,655,624 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,664,511 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,154,063 msg/sec xenium::michael_scott_queue, 1,s: 17,910,037 msg/sec xenium::michael_scott_queue, 1,i: 17,046,687 msg/sec xenium::michael_scott_queue, 2,s: 11,813,451 msg/sec xenium::michael_scott_queue, 2,i: 8,568,116 msg/sec xenium::michael_scott_queue, 3,s: 7,716,443 msg/sec xenium::michael_scott_queue, 3,i: 6,523,373 msg/sec xenium::michael_scott_queue, 4,s: 6,027,999 msg/sec xenium::michael_scott_queue, 4,i: 4,933,315 msg/sec xenium::michael_scott_queue, 5,s: 4,561,395 msg/sec xenium::michael_scott_queue, 5,i: 3,952,099 msg/sec xenium::michael_scott_queue, 6,s: 3,910,542 msg/sec xenium::michael_scott_queue, 6,i: 3,272,857 msg/sec xenium::michael_scott_queue, 7,s: 3,441,831 msg/sec xenium::michael_scott_queue, 7,i: 2,911,793 msg/sec xenium::michael_scott_queue, 8,s: 3,026,490 msg/sec xenium::michael_scott_queue, 8,i: 2,516,552 msg/sec xenium::ramalhete_queue, 1,s: 35,559,205 msg/sec xenium::ramalhete_queue, 1,i: 33,782,908 msg/sec xenium::ramalhete_queue, 2,s: 43,096,428 msg/sec xenium::ramalhete_queue, 2,i: 29,050,109 msg/sec xenium::ramalhete_queue, 3,s: 45,826,100 msg/sec xenium::ramalhete_queue, 3,i: 33,867,747 msg/sec xenium::ramalhete_queue, 4,s: 36,969,487 msg/sec xenium::ramalhete_queue, 4,i: 34,376,309 msg/sec xenium::ramalhete_queue, 5,s: 35,269,382 msg/sec xenium::ramalhete_queue, 5,i: 36,786,153 msg/sec xenium::ramalhete_queue, 6,s: 35,335,256 msg/sec xenium::ramalhete_queue, 6,i: 36,390,842 msg/sec xenium::ramalhete_queue, 7,s: 34,233,951 msg/sec xenium::ramalhete_queue, 7,i: 34,675,507 msg/sec xenium::ramalhete_queue, 8,s: 32,827,988 msg/sec xenium::ramalhete_queue, 8,i: 34,171,030 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,225,828 msg/sec xenium::vyukov_bounded_queue, 1,i: 133,516,423 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,217,726 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,663,892 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,240,602 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,617,919 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,490,063 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,161,688 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,392,300 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,449,117 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,490,785 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,518,080 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,088,359 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,680,349 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,531 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,235,680 msg/sec boost::lockfree::queue, 1,s: 15,037,366 msg/sec boost::lockfree::queue, 1,i: 15,014,664 msg/sec boost::lockfree::queue, 2,s: 5,672,908 msg/sec boost::lockfree::queue, 2,i: 6,127,478 msg/sec boost::lockfree::queue, 3,s: 5,377,303 msg/sec boost::lockfree::queue, 3,i: 5,375,756 msg/sec boost::lockfree::queue, 4,s: 4,019,944 msg/sec boost::lockfree::queue, 4,i: 4,017,565 msg/sec boost::lockfree::queue, 5,s: 3,316,625 msg/sec boost::lockfree::queue, 5,i: 3,286,831 msg/sec boost::lockfree::queue, 6,s: 2,198,332 msg/sec boost::lockfree::queue, 6,i: 2,375,065 msg/sec boost::lockfree::queue, 7,s: 1,967,003 msg/sec boost::lockfree::queue, 7,i: 2,047,471 msg/sec boost::lockfree::queue, 8,s: 1,618,084 msg/sec boost::lockfree::queue, 8,i: 1,793,653 msg/sec std::mutex, 1,s: 12,854,029 msg/sec std::mutex, 1,i: 12,813,116 msg/sec std::mutex, 2,s: 8,539,158 msg/sec std::mutex, 2,i: 9,451,946 msg/sec std::mutex, 3,s: 5,416,878 msg/sec std::mutex, 3,i: 5,528,629 msg/sec std::mutex, 4,s: 4,118,245 msg/sec std::mutex, 4,i: 4,239,864 msg/sec std::mutex, 5,s: 3,741,033 msg/sec std::mutex, 5,i: 3,827,450 msg/sec std::mutex, 6,s: 3,671,588 msg/sec std::mutex, 6,i: 3,705,466 msg/sec std::mutex, 7,s: 3,633,535 msg/sec std::mutex, 7,i: 3,644,380 msg/sec std::mutex, 8,s: 3,445,934 msg/sec std::mutex, 8,i: 3,480,256 msg/sec pthread_spinlock, 1,s: 30,604,983 msg/sec pthread_spinlock, 1,i: 30,716,907 msg/sec pthread_spinlock, 2,s: 10,582,362 msg/sec pthread_spinlock, 2,i: 10,350,954 msg/sec pthread_spinlock, 3,s: 9,274,832 msg/sec pthread_spinlock, 3,i: 8,500,780 msg/sec pthread_spinlock, 4,s: 6,913,285 msg/sec pthread_spinlock, 4,i: 7,622,345 msg/sec pthread_spinlock, 5,s: 6,517,245 msg/sec pthread_spinlock, 5,i: 6,696,855 msg/sec pthread_spinlock, 6,s: 5,508,217 msg/sec pthread_spinlock, 6,i: 5,405,347 msg/sec pthread_spinlock, 7,s: 2,592,471 msg/sec pthread_spinlock, 7,i: 4,120,005 msg/sec pthread_spinlock, 8,s: 2,904,282 msg/sec pthread_spinlock, 8,i: 4,375,946 msg/sec tbb::spin_mutex, 1,s: 84,188,072 msg/sec tbb::spin_mutex, 1,i: 81,989,958 msg/sec tbb::spin_mutex, 2,s: 19,012,821 msg/sec tbb::spin_mutex, 2,i: 17,394,625 msg/sec tbb::spin_mutex, 3,s: 11,084,037 msg/sec tbb::spin_mutex, 3,i: 10,547,973 msg/sec tbb::spin_mutex, 4,s: 7,141,571 msg/sec tbb::spin_mutex, 4,i: 7,095,593 msg/sec tbb::spin_mutex, 5,s: 5,339,260 msg/sec tbb::spin_mutex, 5,i: 5,581,346 msg/sec tbb::spin_mutex, 6,s: 4,185,560 msg/sec tbb::spin_mutex, 6,i: 4,392,800 msg/sec tbb::spin_mutex, 7,s: 3,637,715 msg/sec tbb::spin_mutex, 7,i: 3,635,306 msg/sec tbb::spin_mutex, 8,s: 2,932,605 msg/sec tbb::spin_mutex, 8,i: 2,957,955 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1021.12 System time (seconds): 116.45 Percent of CPU this job got: 916% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:04.07 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 64000 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24637 Voluntary context switches: 8500667 Involuntary context switches: 280 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:23:18 [32/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000040 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000049 sec/round-trip OptimistAtomicQueue2: 0.000000048 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000049 sec/round-trip moodycamel::ConcurrentQueue: 0.000000076 sec/round-trip tbb::concurrent_bounded_queue: 0.000000107 sec/round-trip xenium::michael_scott_queue: 0.000000170 sec/round-trip xenium::ramalhete_queue: 0.000000074 sec/round-trip xenium::vyukov_bounded_queue: 0.000000071 sec/round-trip boost::lockfree::queue: 0.000000112 sec/round-trip std::mutex: 0.000000408 sec/round-trip pthread_spinlock: 0.000000125 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 149,600,776 msg/sec boost::lockfree::spsc_queue, 1,i: 130,336,559 msg/sec AtomicQueue, 1,s: 100,686,076 msg/sec AtomicQueue, 1,i: 100,450,477 msg/sec AtomicQueue, 2,s: 12,011,791 msg/sec AtomicQueue, 2,i: 10,237,050 msg/sec AtomicQueue, 3,s: 9,962,984 msg/sec AtomicQueue, 3,i: 8,099,934 msg/sec AtomicQueue, 4,s: 7,891,823 msg/sec AtomicQueue, 4,i: 6,145,608 msg/sec AtomicQueue, 5,s: 6,074,737 msg/sec AtomicQueue, 5,i: 4,975,878 msg/sec AtomicQueue, 6,s: 5,162,835 msg/sec AtomicQueue, 6,i: 4,102,052 msg/sec AtomicQueue, 7,s: 4,573,959 msg/sec AtomicQueue, 7,i: 3,743,949 msg/sec AtomicQueue, 8,s: 4,054,177 msg/sec AtomicQueue, 8,i: 3,228,820 msg/sec OptimistAtomicQueue, 1,s: 832,518,684 msg/sec OptimistAtomicQueue, 1,i: 838,836,828 msg/sec OptimistAtomicQueue, 2,s: 91,966,552 msg/sec OptimistAtomicQueue, 2,i: 43,853,775 msg/sec OptimistAtomicQueue, 3,s: 58,996,211 msg/sec OptimistAtomicQueue, 3,i: 49,902,329 msg/sec OptimistAtomicQueue, 4,s: 64,595,692 msg/sec OptimistAtomicQueue, 4,i: 48,103,968 msg/sec OptimistAtomicQueue, 5,s: 56,713,139 msg/sec OptimistAtomicQueue, 5,i: 44,579,640 msg/sec OptimistAtomicQueue, 6,s: 57,366,192 msg/sec OptimistAtomicQueue, 6,i: 42,749,599 msg/sec OptimistAtomicQueue, 7,s: 55,557,961 msg/sec OptimistAtomicQueue, 7,i: 43,280,108 msg/sec OptimistAtomicQueue, 8,s: 56,513,915 msg/sec OptimistAtomicQueue, 8,i: 41,599,164 msg/sec AtomicQueueB, 1,s: 77,081,456 msg/sec AtomicQueueB, 1,i: 74,652,296 msg/sec AtomicQueueB, 2,s: 12,339,508 msg/sec AtomicQueueB, 2,i: 9,898,085 msg/sec AtomicQueueB, 3,s: 9,762,988 msg/sec AtomicQueueB, 3,i: 8,026,911 msg/sec AtomicQueueB, 4,s: 7,738,476 msg/sec AtomicQueueB, 4,i: 6,104,178 msg/sec AtomicQueueB, 5,s: 6,006,940 msg/sec AtomicQueueB, 5,i: 4,922,298 msg/sec AtomicQueueB, 6,s: 5,141,829 msg/sec AtomicQueueB, 6,i: 4,039,838 msg/sec AtomicQueueB, 7,s: 4,505,532 msg/sec AtomicQueueB, 7,i: 3,679,061 msg/sec AtomicQueueB, 8,s: 3,989,995 msg/sec AtomicQueueB, 8,i: 3,195,240 msg/sec OptimistAtomicQueueB, 1,s: 428,948,398 msg/sec OptimistAtomicQueueB, 1,i: 448,046,147 msg/sec OptimistAtomicQueueB, 2,s: 96,957,386 msg/sec OptimistAtomicQueueB, 2,i: 41,835,990 msg/sec OptimistAtomicQueueB, 3,s: 62,930,725 msg/sec OptimistAtomicQueueB, 3,i: 47,732,189 msg/sec OptimistAtomicQueueB, 4,s: 62,209,549 msg/sec OptimistAtomicQueueB, 4,i: 47,382,923 msg/sec OptimistAtomicQueueB, 5,s: 56,556,699 msg/sec OptimistAtomicQueueB, 5,i: 43,021,900 msg/sec OptimistAtomicQueueB, 6,s: 56,207,894 msg/sec OptimistAtomicQueueB, 6,i: 41,360,957 msg/sec OptimistAtomicQueueB, 7,s: 55,398,779 msg/sec OptimistAtomicQueueB, 7,i: 43,145,478 msg/sec OptimistAtomicQueueB, 8,s: 55,669,711 msg/sec OptimistAtomicQueueB, 8,i: 41,327,033 msg/sec AtomicQueue2, 1,s: 104,337,018 msg/sec AtomicQueue2, 1,i: 105,881,629 msg/sec AtomicQueue2, 2,s: 11,334,939 msg/sec AtomicQueue2, 2,i: 9,886,372 msg/sec AtomicQueue2, 3,s: 9,601,847 msg/sec AtomicQueue2, 3,i: 8,052,297 msg/sec AtomicQueue2, 4,s: 7,574,851 msg/sec AtomicQueue2, 4,i: 6,169,953 msg/sec AtomicQueue2, 5,s: 5,887,179 msg/sec AtomicQueue2, 5,i: 4,958,594 msg/sec AtomicQueue2, 6,s: 5,022,936 msg/sec AtomicQueue2, 6,i: 4,140,393 msg/sec AtomicQueue2, 7,s: 4,397,537 msg/sec AtomicQueue2, 7,i: 3,725,568 msg/sec AtomicQueue2, 8,s: 3,904,853 msg/sec AtomicQueue2, 8,i: 3,224,690 msg/sec OptimistAtomicQueue2, 1,s: 355,075,918 msg/sec OptimistAtomicQueue2, 1,i: 360,244,569 msg/sec OptimistAtomicQueue2, 2,s: 34,547,414 msg/sec OptimistAtomicQueue2, 2,i: 29,033,918 msg/sec OptimistAtomicQueue2, 3,s: 41,604,398 msg/sec OptimistAtomicQueue2, 3,i: 35,627,515 msg/sec OptimistAtomicQueue2, 4,s: 52,281,888 msg/sec OptimistAtomicQueue2, 4,i: 40,286,257 msg/sec OptimistAtomicQueue2, 5,s: 53,807,421 msg/sec OptimistAtomicQueue2, 5,i: 40,840,953 msg/sec OptimistAtomicQueue2, 6,s: 53,002,264 msg/sec OptimistAtomicQueue2, 6,i: 40,533,202 msg/sec OptimistAtomicQueue2, 7,s: 53,474,432 msg/sec OptimistAtomicQueue2, 7,i: 40,719,000 msg/sec OptimistAtomicQueue2, 8,s: 54,331,424 msg/sec OptimistAtomicQueue2, 8,i: 39,952,877 msg/sec AtomicQueueB2, 1,s: 77,721,547 msg/sec AtomicQueueB2, 1,i: 77,417,768 msg/sec AtomicQueueB2, 2,s: 11,390,510 msg/sec AtomicQueueB2, 2,i: 9,819,740 msg/sec AtomicQueueB2, 3,s: 9,506,428 msg/sec AtomicQueueB2, 3,i: 7,977,526 msg/sec AtomicQueueB2, 4,s: 7,531,807 msg/sec AtomicQueueB2, 4,i: 6,083,785 msg/sec AtomicQueueB2, 5,s: 5,780,843 msg/sec AtomicQueueB2, 5,i: 4,899,083 msg/sec AtomicQueueB2, 6,s: 4,947,860 msg/sec AtomicQueueB2, 6,i: 4,058,415 msg/sec AtomicQueueB2, 7,s: 4,402,833 msg/sec AtomicQueueB2, 7,i: 3,663,994 msg/sec AtomicQueueB2, 8,s: 3,864,457 msg/sec AtomicQueueB2, 8,i: 3,170,822 msg/sec OptimistAtomicQueueB2, 1,s: 121,257,072 msg/sec OptimistAtomicQueueB2, 1,i: 128,371,704 msg/sec OptimistAtomicQueueB2, 2,s: 34,635,819 msg/sec OptimistAtomicQueueB2, 2,i: 28,545,427 msg/sec OptimistAtomicQueueB2, 3,s: 40,458,214 msg/sec OptimistAtomicQueueB2, 3,i: 38,691,135 msg/sec OptimistAtomicQueueB2, 4,s: 53,502,374 msg/sec OptimistAtomicQueueB2, 4,i: 43,093,265 msg/sec OptimistAtomicQueueB2, 5,s: 54,722,277 msg/sec OptimistAtomicQueueB2, 5,i: 41,565,314 msg/sec OptimistAtomicQueueB2, 6,s: 52,827,185 msg/sec OptimistAtomicQueueB2, 6,i: 40,201,197 msg/sec OptimistAtomicQueueB2, 7,s: 52,621,156 msg/sec OptimistAtomicQueueB2, 7,i: 40,720,612 msg/sec OptimistAtomicQueueB2, 8,s: 54,602,798 msg/sec OptimistAtomicQueueB2, 8,i: 40,340,006 msg/sec moodycamel::ReaderWriterQueue, 1,s: 532,681,151 msg/sec moodycamel::ReaderWriterQueue, 1,i: 546,611,098 msg/sec moodycamel::ConcurrentQueue, 1,s: 31,936,856 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,231,157 msg/sec moodycamel::ConcurrentQueue, 2,s: 32,681,851 msg/sec moodycamel::ConcurrentQueue, 2,i: 39,705,442 msg/sec moodycamel::ConcurrentQueue, 3,s: 49,787,301 msg/sec moodycamel::ConcurrentQueue, 3,i: 54,217,257 msg/sec moodycamel::ConcurrentQueue, 4,s: 74,950,138 msg/sec moodycamel::ConcurrentQueue, 4,i: 80,445,262 msg/sec moodycamel::ConcurrentQueue, 5,s: 149,622,530 msg/sec moodycamel::ConcurrentQueue, 5,i: 161,910,895 msg/sec moodycamel::ConcurrentQueue, 6,s: 170,510,544 msg/sec moodycamel::ConcurrentQueue, 6,i: 141,865,314 msg/sec moodycamel::ConcurrentQueue, 7,s: 187,046,318 msg/sec moodycamel::ConcurrentQueue, 7,i: 201,162,111 msg/sec moodycamel::ConcurrentQueue, 8,s: 199,051,102 msg/sec moodycamel::ConcurrentQueue, 8,i: 217,558,766 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,421,569 msg/sec tbb::concurrent_bounded_queue, 1,i: 20,916,031 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,275,587 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,107,214 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,777,790 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,369,209 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,117,548 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,207,293 msg/sec tbb::concurrent_bounded_queue, 5,s: 6,028,357 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,090,151 msg/sec tbb::concurrent_bounded_queue, 6,s: 5,013,850 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,233,588 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,276,220 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,655,729 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,650,592 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,168,521 msg/sec xenium::michael_scott_queue, 1,s: 17,848,821 msg/sec xenium::michael_scott_queue, 1,i: 17,603,672 msg/sec xenium::michael_scott_queue, 2,s: 11,814,430 msg/sec xenium::michael_scott_queue, 2,i: 8,670,070 msg/sec xenium::michael_scott_queue, 3,s: 7,649,569 msg/sec xenium::michael_scott_queue, 3,i: 6,621,725 msg/sec xenium::michael_scott_queue, 4,s: 5,940,460 msg/sec xenium::michael_scott_queue, 4,i: 5,028,450 msg/sec xenium::michael_scott_queue, 5,s: 4,551,855 msg/sec xenium::michael_scott_queue, 5,i: 3,997,609 msg/sec xenium::michael_scott_queue, 6,s: 3,891,453 msg/sec xenium::michael_scott_queue, 6,i: 3,267,109 msg/sec xenium::michael_scott_queue, 7,s: 3,455,200 msg/sec xenium::michael_scott_queue, 7,i: 2,904,760 msg/sec xenium::michael_scott_queue, 8,s: 3,009,696 msg/sec xenium::michael_scott_queue, 8,i: 2,498,796 msg/sec xenium::ramalhete_queue, 1,s: 35,103,237 msg/sec xenium::ramalhete_queue, 1,i: 33,501,789 msg/sec xenium::ramalhete_queue, 2,s: 45,195,553 msg/sec xenium::ramalhete_queue, 2,i: 31,111,629 msg/sec xenium::ramalhete_queue, 3,s: 44,910,567 msg/sec xenium::ramalhete_queue, 3,i: 33,988,939 msg/sec xenium::ramalhete_queue, 4,s: 36,832,866 msg/sec xenium::ramalhete_queue, 4,i: 34,506,017 msg/sec xenium::ramalhete_queue, 5,s: 35,542,237 msg/sec xenium::ramalhete_queue, 5,i: 36,434,607 msg/sec xenium::ramalhete_queue, 6,s: 35,725,645 msg/sec xenium::ramalhete_queue, 6,i: 36,632,781 msg/sec xenium::ramalhete_queue, 7,s: 33,753,520 msg/sec xenium::ramalhete_queue, 7,i: 34,920,170 msg/sec xenium::ramalhete_queue, 8,s: 32,773,961 msg/sec xenium::ramalhete_queue, 8,i: 33,979,394 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,819,015 msg/sec xenium::vyukov_bounded_queue, 1,i: 134,613,076 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,104,126 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,811,073 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,843,462 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,708,670 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,530,585 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,155,944 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,422,005 msg/sec xenium::vyukov_bounded_queue, 5,i: 9,934,399 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,202,002 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,617,929 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,226,011 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,455,293 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,481,316 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,354,494 msg/sec boost::lockfree::queue, 1,s: 15,050,525 msg/sec boost::lockfree::queue, 1,i: 15,046,187 msg/sec boost::lockfree::queue, 2,s: 5,673,263 msg/sec boost::lockfree::queue, 2,i: 6,162,068 msg/sec boost::lockfree::queue, 3,s: 5,432,566 msg/sec boost::lockfree::queue, 3,i: 5,416,199 msg/sec boost::lockfree::queue, 4,s: 4,028,282 msg/sec boost::lockfree::queue, 4,i: 4,004,540 msg/sec boost::lockfree::queue, 5,s: 3,322,951 msg/sec boost::lockfree::queue, 5,i: 3,279,011 msg/sec boost::lockfree::queue, 6,s: 2,205,924 msg/sec boost::lockfree::queue, 6,i: 2,381,502 msg/sec boost::lockfree::queue, 7,s: 1,997,174 msg/sec boost::lockfree::queue, 7,i: 2,047,110 msg/sec boost::lockfree::queue, 8,s: 1,615,421 msg/sec boost::lockfree::queue, 8,i: 1,789,566 msg/sec std::mutex, 1,s: 12,837,837 msg/sec std::mutex, 1,i: 12,843,930 msg/sec std::mutex, 2,s: 9,795,232 msg/sec std::mutex, 2,i: 9,512,402 msg/sec std::mutex, 3,s: 5,429,783 msg/sec std::mutex, 3,i: 5,360,825 msg/sec std::mutex, 4,s: 4,339,818 msg/sec std::mutex, 4,i: 4,425,776 msg/sec std::mutex, 5,s: 3,823,918 msg/sec std::mutex, 5,i: 3,870,838 msg/sec std::mutex, 6,s: 3,686,046 msg/sec std::mutex, 6,i: 3,700,327 msg/sec std::mutex, 7,s: 3,662,870 msg/sec std::mutex, 7,i: 3,673,147 msg/sec std::mutex, 8,s: 3,543,887 msg/sec std::mutex, 8,i: 3,486,113 msg/sec pthread_spinlock, 1,s: 31,484,575 msg/sec pthread_spinlock, 1,i: 30,702,687 msg/sec pthread_spinlock, 2,s: 10,670,620 msg/sec pthread_spinlock, 2,i: 10,305,471 msg/sec pthread_spinlock, 3,s: 9,483,692 msg/sec pthread_spinlock, 3,i: 8,552,410 msg/sec pthread_spinlock, 4,s: 7,347,820 msg/sec pthread_spinlock, 4,i: 7,559,042 msg/sec pthread_spinlock, 5,s: 6,529,182 msg/sec pthread_spinlock, 5,i: 6,753,901 msg/sec pthread_spinlock, 6,s: 5,511,978 msg/sec pthread_spinlock, 6,i: 5,451,422 msg/sec pthread_spinlock, 7,s: 2,461,035 msg/sec pthread_spinlock, 7,i: 4,517,657 msg/sec pthread_spinlock, 8,s: 2,977,811 msg/sec pthread_spinlock, 8,i: 2,653,840 msg/sec tbb::spin_mutex, 1,s: 83,829,715 msg/sec tbb::spin_mutex, 1,i: 81,120,203 msg/sec tbb::spin_mutex, 2,s: 18,723,562 msg/sec tbb::spin_mutex, 2,i: 17,467,406 msg/sec tbb::spin_mutex, 3,s: 11,143,083 msg/sec tbb::spin_mutex, 3,i: 10,631,149 msg/sec tbb::spin_mutex, 4,s: 7,205,639 msg/sec tbb::spin_mutex, 4,i: 7,190,131 msg/sec tbb::spin_mutex, 5,s: 5,335,185 msg/sec tbb::spin_mutex, 5,i: 5,623,379 msg/sec tbb::spin_mutex, 6,s: 4,239,607 msg/sec tbb::spin_mutex, 6,i: 4,345,747 msg/sec tbb::spin_mutex, 7,s: 3,593,566 msg/sec tbb::spin_mutex, 7,i: 3,641,999 msg/sec tbb::spin_mutex, 8,s: 2,880,899 msg/sec tbb::spin_mutex, 8,i: 3,053,796 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1020.32 System time (seconds): 115.91 Percent of CPU this job got: 918% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:03.65 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 64292 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 24717 Voluntary context switches: 8298776 Involuntary context switches: 281 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 2026-09-13 10:25:21 [33/33] CPU Model: AMD Ryzen 7 5825U with Radeon Graphics, base GHz: 2.0, clock: RDTSC, 16 available CPUs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. ---- Running ping-pong benchmarks with 2 CPUs, 1,000,000 messages, best of 3 runs (lower is better) ---- boost::lockfree::spsc_queue: 0.000000060 sec/round-trip AtomicQueue: 0.000000048 sec/round-trip OptimistAtomicQueue: 0.000000039 sec/round-trip AtomicQueueB: 0.000000053 sec/round-trip OptimistAtomicQueueB: 0.000000041 sec/round-trip AtomicQueue2: 0.000000051 sec/round-trip OptimistAtomicQueue2: 0.000000049 sec/round-trip AtomicQueueB2: 0.000000053 sec/round-trip OptimistAtomicQueueB2: 0.000000047 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000050 sec/round-trip moodycamel::ConcurrentQueue: 0.000000076 sec/round-trip tbb::concurrent_bounded_queue: 0.000000107 sec/round-trip xenium::michael_scott_queue: 0.000000170 sec/round-trip xenium::ramalhete_queue: 0.000000074 sec/round-trip xenium::vyukov_bounded_queue: 0.000000071 sec/round-trip boost::lockfree::queue: 0.000000112 sec/round-trip std::mutex: 0.000000410 sec/round-trip pthread_spinlock: 0.000000124 sec/round-trip tbb::spin_mutex: 0.000000106 sec/round-trip ---- Running throughput benchmarks with up to 16 CPUs, 1,000,000 messages, best of 3 runs (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 149,279,023 msg/sec boost::lockfree::spsc_queue, 1,i: 130,335,368 msg/sec AtomicQueue, 1,s: 100,471,206 msg/sec AtomicQueue, 1,i: 100,350,592 msg/sec AtomicQueue, 2,s: 12,669,701 msg/sec AtomicQueue, 2,i: 10,167,210 msg/sec AtomicQueue, 3,s: 9,608,526 msg/sec AtomicQueue, 3,i: 8,101,010 msg/sec AtomicQueue, 4,s: 7,903,171 msg/sec AtomicQueue, 4,i: 6,135,795 msg/sec AtomicQueue, 5,s: 5,986,042 msg/sec AtomicQueue, 5,i: 4,924,667 msg/sec AtomicQueue, 6,s: 5,189,574 msg/sec AtomicQueue, 6,i: 4,119,108 msg/sec AtomicQueue, 7,s: 4,552,977 msg/sec AtomicQueue, 7,i: 3,742,754 msg/sec AtomicQueue, 8,s: 4,068,455 msg/sec AtomicQueue, 8,i: 3,235,283 msg/sec OptimistAtomicQueue, 1,s: 846,642,576 msg/sec OptimistAtomicQueue, 1,i: 844,643,598 msg/sec OptimistAtomicQueue, 2,s: 93,192,344 msg/sec OptimistAtomicQueue, 2,i: 42,684,739 msg/sec OptimistAtomicQueue, 3,s: 59,006,291 msg/sec OptimistAtomicQueue, 3,i: 48,602,419 msg/sec OptimistAtomicQueue, 4,s: 64,071,553 msg/sec OptimistAtomicQueue, 4,i: 47,588,828 msg/sec OptimistAtomicQueue, 5,s: 56,280,235 msg/sec OptimistAtomicQueue, 5,i: 44,066,134 msg/sec OptimistAtomicQueue, 6,s: 56,726,242 msg/sec OptimistAtomicQueue, 6,i: 42,043,195 msg/sec OptimistAtomicQueue, 7,s: 55,319,193 msg/sec OptimistAtomicQueue, 7,i: 44,287,859 msg/sec OptimistAtomicQueue, 8,s: 56,288,804 msg/sec OptimistAtomicQueue, 8,i: 41,626,490 msg/sec AtomicQueueB, 1,s: 74,898,506 msg/sec AtomicQueueB, 1,i: 77,341,700 msg/sec AtomicQueueB, 2,s: 12,453,394 msg/sec AtomicQueueB, 2,i: 9,898,315 msg/sec AtomicQueueB, 3,s: 9,852,829 msg/sec AtomicQueueB, 3,i: 8,049,173 msg/sec AtomicQueueB, 4,s: 7,806,411 msg/sec AtomicQueueB, 4,i: 6,147,415 msg/sec AtomicQueueB, 5,s: 5,973,594 msg/sec AtomicQueueB, 5,i: 4,938,143 msg/sec AtomicQueueB, 6,s: 5,155,509 msg/sec AtomicQueueB, 6,i: 4,061,512 msg/sec AtomicQueueB, 7,s: 4,523,671 msg/sec AtomicQueueB, 7,i: 3,698,202 msg/sec AtomicQueueB, 8,s: 3,949,931 msg/sec AtomicQueueB, 8,i: 3,199,669 msg/sec OptimistAtomicQueueB, 1,s: 430,935,625 msg/sec OptimistAtomicQueueB, 1,i: 442,000,425 msg/sec OptimistAtomicQueueB, 2,s: 95,708,558 msg/sec OptimistAtomicQueueB, 2,i: 44,447,621 msg/sec OptimistAtomicQueueB, 3,s: 56,988,563 msg/sec OptimistAtomicQueueB, 3,i: 48,006,010 msg/sec OptimistAtomicQueueB, 4,s: 63,503,769 msg/sec OptimistAtomicQueueB, 4,i: 47,050,421 msg/sec OptimistAtomicQueueB, 5,s: 56,682,509 msg/sec OptimistAtomicQueueB, 5,i: 43,124,173 msg/sec OptimistAtomicQueueB, 6,s: 56,106,279 msg/sec OptimistAtomicQueueB, 6,i: 41,520,802 msg/sec OptimistAtomicQueueB, 7,s: 54,467,575 msg/sec OptimistAtomicQueueB, 7,i: 43,523,797 msg/sec OptimistAtomicQueueB, 8,s: 56,250,356 msg/sec OptimistAtomicQueueB, 8,i: 41,465,934 msg/sec AtomicQueue2, 1,s: 103,627,250 msg/sec AtomicQueue2, 1,i: 105,945,692 msg/sec AtomicQueue2, 2,s: 11,665,707 msg/sec AtomicQueue2, 2,i: 10,001,146 msg/sec AtomicQueue2, 3,s: 9,727,299 msg/sec AtomicQueue2, 3,i: 8,044,587 msg/sec AtomicQueue2, 4,s: 7,583,266 msg/sec AtomicQueue2, 4,i: 6,177,587 msg/sec AtomicQueue2, 5,s: 5,856,011 msg/sec AtomicQueue2, 5,i: 4,915,537 msg/sec AtomicQueue2, 6,s: 5,053,105 msg/sec AtomicQueue2, 6,i: 4,128,038 msg/sec AtomicQueue2, 7,s: 4,401,003 msg/sec AtomicQueue2, 7,i: 3,733,528 msg/sec AtomicQueue2, 8,s: 3,949,073 msg/sec AtomicQueue2, 8,i: 3,227,496 msg/sec OptimistAtomicQueue2, 1,s: 394,444,291 msg/sec OptimistAtomicQueue2, 1,i: 383,324,948 msg/sec OptimistAtomicQueue2, 2,s: 34,881,031 msg/sec OptimistAtomicQueue2, 2,i: 27,136,966 msg/sec OptimistAtomicQueue2, 3,s: 40,833,265 msg/sec OptimistAtomicQueue2, 3,i: 35,651,923 msg/sec OptimistAtomicQueue2, 4,s: 51,047,191 msg/sec OptimistAtomicQueue2, 4,i: 39,740,175 msg/sec OptimistAtomicQueue2, 5,s: 52,690,789 msg/sec OptimistAtomicQueue2, 5,i: 40,559,080 msg/sec OptimistAtomicQueue2, 6,s: 52,271,834 msg/sec OptimistAtomicQueue2, 6,i: 40,578,718 msg/sec OptimistAtomicQueue2, 7,s: 52,965,574 msg/sec OptimistAtomicQueue2, 7,i: 40,921,338 msg/sec OptimistAtomicQueue2, 8,s: 53,944,862 msg/sec OptimistAtomicQueue2, 8,i: 39,364,886 msg/sec AtomicQueueB2, 1,s: 77,958,606 msg/sec AtomicQueueB2, 1,i: 77,376,416 msg/sec AtomicQueueB2, 2,s: 11,447,564 msg/sec AtomicQueueB2, 2,i: 9,777,307 msg/sec AtomicQueueB2, 3,s: 9,564,780 msg/sec AtomicQueueB2, 3,i: 7,979,203 msg/sec AtomicQueueB2, 4,s: 7,495,416 msg/sec AtomicQueueB2, 4,i: 6,081,565 msg/sec AtomicQueueB2, 5,s: 5,824,487 msg/sec AtomicQueueB2, 5,i: 4,904,303 msg/sec AtomicQueueB2, 6,s: 4,960,405 msg/sec AtomicQueueB2, 6,i: 4,055,087 msg/sec AtomicQueueB2, 7,s: 4,390,281 msg/sec AtomicQueueB2, 7,i: 3,665,654 msg/sec AtomicQueueB2, 8,s: 3,859,902 msg/sec AtomicQueueB2, 8,i: 3,175,564 msg/sec OptimistAtomicQueueB2, 1,s: 125,299,883 msg/sec OptimistAtomicQueueB2, 1,i: 131,266,834 msg/sec OptimistAtomicQueueB2, 2,s: 34,760,547 msg/sec OptimistAtomicQueueB2, 2,i: 27,919,820 msg/sec OptimistAtomicQueueB2, 3,s: 40,449,720 msg/sec OptimistAtomicQueueB2, 3,i: 34,948,019 msg/sec OptimistAtomicQueueB2, 4,s: 53,126,262 msg/sec OptimistAtomicQueueB2, 4,i: 40,625,081 msg/sec OptimistAtomicQueueB2, 5,s: 53,934,893 msg/sec OptimistAtomicQueueB2, 5,i: 41,699,986 msg/sec OptimistAtomicQueueB2, 6,s: 53,332,692 msg/sec OptimistAtomicQueueB2, 6,i: 39,856,800 msg/sec OptimistAtomicQueueB2, 7,s: 52,822,811 msg/sec OptimistAtomicQueueB2, 7,i: 40,500,978 msg/sec OptimistAtomicQueueB2, 8,s: 53,959,678 msg/sec OptimistAtomicQueueB2, 8,i: 40,192,569 msg/sec moodycamel::ReaderWriterQueue, 1,s: 535,987,971 msg/sec moodycamel::ReaderWriterQueue, 1,i: 550,655,154 msg/sec moodycamel::ConcurrentQueue, 1,s: 31,997,930 msg/sec moodycamel::ConcurrentQueue, 1,i: 31,288,608 msg/sec moodycamel::ConcurrentQueue, 2,s: 32,993,075 msg/sec moodycamel::ConcurrentQueue, 2,i: 46,448,435 msg/sec moodycamel::ConcurrentQueue, 3,s: 50,080,960 msg/sec moodycamel::ConcurrentQueue, 3,i: 52,860,730 msg/sec moodycamel::ConcurrentQueue, 4,s: 92,289,953 msg/sec moodycamel::ConcurrentQueue, 4,i: 84,038,290 msg/sec moodycamel::ConcurrentQueue, 5,s: 142,065,139 msg/sec moodycamel::ConcurrentQueue, 5,i: 156,359,563 msg/sec moodycamel::ConcurrentQueue, 6,s: 151,292,308 msg/sec moodycamel::ConcurrentQueue, 6,i: 173,128,673 msg/sec moodycamel::ConcurrentQueue, 7,s: 172,469,110 msg/sec moodycamel::ConcurrentQueue, 7,i: 187,530,248 msg/sec moodycamel::ConcurrentQueue, 8,s: 185,478,596 msg/sec moodycamel::ConcurrentQueue, 8,i: 201,747,240 msg/sec tbb::concurrent_bounded_queue, 1,s: 21,666,682 msg/sec tbb::concurrent_bounded_queue, 1,i: 21,227,828 msg/sec tbb::concurrent_bounded_queue, 2,s: 11,179,399 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,198,557 msg/sec tbb::concurrent_bounded_queue, 3,s: 8,823,011 msg/sec tbb::concurrent_bounded_queue, 3,i: 8,428,748 msg/sec tbb::concurrent_bounded_queue, 4,s: 7,112,658 msg/sec tbb::concurrent_bounded_queue, 4,i: 6,249,916 msg/sec tbb::concurrent_bounded_queue, 5,s: 5,973,777 msg/sec tbb::concurrent_bounded_queue, 5,i: 5,083,303 msg/sec tbb::concurrent_bounded_queue, 6,s: 4,999,967 msg/sec tbb::concurrent_bounded_queue, 6,i: 4,202,466 msg/sec tbb::concurrent_bounded_queue, 7,s: 4,330,435 msg/sec tbb::concurrent_bounded_queue, 7,i: 3,639,393 msg/sec tbb::concurrent_bounded_queue, 8,s: 3,655,676 msg/sec tbb::concurrent_bounded_queue, 8,i: 3,164,844 msg/sec xenium::michael_scott_queue, 1,s: 17,391,370 msg/sec xenium::michael_scott_queue, 1,i: 17,157,325 msg/sec xenium::michael_scott_queue, 2,s: 11,858,626 msg/sec xenium::michael_scott_queue, 2,i: 8,603,185 msg/sec xenium::michael_scott_queue, 3,s: 7,716,265 msg/sec xenium::michael_scott_queue, 3,i: 6,519,188 msg/sec xenium::michael_scott_queue, 4,s: 5,824,924 msg/sec xenium::michael_scott_queue, 4,i: 4,843,144 msg/sec xenium::michael_scott_queue, 5,s: 4,499,072 msg/sec xenium::michael_scott_queue, 5,i: 3,915,230 msg/sec xenium::michael_scott_queue, 6,s: 3,866,739 msg/sec xenium::michael_scott_queue, 6,i: 3,224,303 msg/sec xenium::michael_scott_queue, 7,s: 3,432,565 msg/sec xenium::michael_scott_queue, 7,i: 2,921,790 msg/sec xenium::michael_scott_queue, 8,s: 2,992,565 msg/sec xenium::michael_scott_queue, 8,i: 2,506,606 msg/sec xenium::ramalhete_queue, 1,s: 52,907,307 msg/sec xenium::ramalhete_queue, 1,i: 33,469,064 msg/sec xenium::ramalhete_queue, 2,s: 51,191,532 msg/sec xenium::ramalhete_queue, 2,i: 29,391,022 msg/sec xenium::ramalhete_queue, 3,s: 46,916,996 msg/sec xenium::ramalhete_queue, 3,i: 33,529,441 msg/sec xenium::ramalhete_queue, 4,s: 35,784,647 msg/sec xenium::ramalhete_queue, 4,i: 34,836,922 msg/sec xenium::ramalhete_queue, 5,s: 35,532,254 msg/sec xenium::ramalhete_queue, 5,i: 36,117,064 msg/sec xenium::ramalhete_queue, 6,s: 35,011,067 msg/sec xenium::ramalhete_queue, 6,i: 36,213,702 msg/sec xenium::ramalhete_queue, 7,s: 33,504,240 msg/sec xenium::ramalhete_queue, 7,i: 34,596,192 msg/sec xenium::ramalhete_queue, 8,s: 32,820,237 msg/sec xenium::ramalhete_queue, 8,i: 34,085,166 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,426,573 msg/sec xenium::vyukov_bounded_queue, 1,i: 132,918,279 msg/sec xenium::vyukov_bounded_queue, 2,s: 34,428,899 msg/sec xenium::vyukov_bounded_queue, 2,i: 19,687,319 msg/sec xenium::vyukov_bounded_queue, 3,s: 18,728,873 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,731,337 msg/sec xenium::vyukov_bounded_queue, 4,s: 15,119,524 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,272,315 msg/sec xenium::vyukov_bounded_queue, 5,s: 12,200,402 msg/sec xenium::vyukov_bounded_queue, 5,i: 10,428,538 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,289,431 msg/sec xenium::vyukov_bounded_queue, 6,i: 9,605,408 msg/sec xenium::vyukov_bounded_queue, 7,s: 8,853,406 msg/sec xenium::vyukov_bounded_queue, 7,i: 8,243,679 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,537,095 msg/sec xenium::vyukov_bounded_queue, 8,i: 7,086,411 msg/sec boost::lockfree::queue, 1,s: 15,081,048 msg/sec boost::lockfree::queue, 1,i: 15,081,540 msg/sec boost::lockfree::queue, 2,s: 5,708,201 msg/sec boost::lockfree::queue, 2,i: 6,215,902 msg/sec boost::lockfree::queue, 3,s: 5,430,763 msg/sec boost::lockfree::queue, 3,i: 5,432,641 msg/sec boost::lockfree::queue, 4,s: 4,027,422 msg/sec boost::lockfree::queue, 4,i: 4,019,087 msg/sec boost::lockfree::queue, 5,s: 3,318,139 msg/sec boost::lockfree::queue, 5,i: 3,281,171 msg/sec boost::lockfree::queue, 6,s: 2,211,895 msg/sec boost::lockfree::queue, 6,i: 2,375,472 msg/sec boost::lockfree::queue, 7,s: 1,966,648 msg/sec boost::lockfree::queue, 7,i: 2,041,610 msg/sec boost::lockfree::queue, 8,s: 1,612,822 msg/sec boost::lockfree::queue, 8,i: 1,788,786 msg/sec std::mutex, 1,s: 12,796,099 msg/sec std::mutex, 1,i: 12,781,643 msg/sec std::mutex, 2,s: 8,461,861 msg/sec std::mutex, 2,i: 9,438,814 msg/sec std::mutex, 3,s: 5,429,248 msg/sec std::mutex, 3,i: 5,330,625 msg/sec std::mutex, 4,s: 4,082,501 msg/sec std::mutex, 4,i: 4,159,160 msg/sec std::mutex, 5,s: 3,792,072 msg/sec std::mutex, 5,i: 3,883,785 msg/sec std::mutex, 6,s: 3,659,428 msg/sec std::mutex, 6,i: 3,732,012 msg/sec std::mutex, 7,s: 3,614,779 msg/sec std::mutex, 7,i: 3,629,519 msg/sec std::mutex, 8,s: 3,414,976 msg/sec std::mutex, 8,i: 3,488,453 msg/sec pthread_spinlock, 1,s: 32,024,007 msg/sec pthread_spinlock, 1,i: 31,807,659 msg/sec pthread_spinlock, 2,s: 10,747,749 msg/sec pthread_spinlock, 2,i: 10,528,690 msg/sec pthread_spinlock, 3,s: 9,382,301 msg/sec pthread_spinlock, 3,i: 8,600,294 msg/sec pthread_spinlock, 4,s: 7,346,599 msg/sec pthread_spinlock, 4,i: 7,580,783 msg/sec pthread_spinlock, 5,s: 6,505,657 msg/sec pthread_spinlock, 5,i: 6,891,511 msg/sec pthread_spinlock, 6,s: 5,470,353 msg/sec pthread_spinlock, 6,i: 4,289,457 msg/sec pthread_spinlock, 7,s: 2,622,200 msg/sec pthread_spinlock, 7,i: 4,584,164 msg/sec pthread_spinlock, 8,s: 2,926,369 msg/sec pthread_spinlock: producers: 8: consumer 5 received too few messages: 0.10% of expected. pthread_spinlock, 8,i: 3,759,288 msg/sec tbb::spin_mutex, 1,s: 84,902,499 msg/sec tbb::spin_mutex, 1,i: 82,009,495 msg/sec tbb::spin_mutex, 2,s: 19,168,316 msg/sec tbb::spin_mutex, 2,i: 17,690,057 msg/sec tbb::spin_mutex, 3,s: 11,262,701 msg/sec tbb::spin_mutex, 3,i: 10,732,980 msg/sec tbb::spin_mutex, 4,s: 7,278,883 msg/sec tbb::spin_mutex, 4,i: 7,218,403 msg/sec tbb::spin_mutex, 5,s: 5,424,858 msg/sec tbb::spin_mutex, 5,i: 5,735,967 msg/sec tbb::spin_mutex, 6,s: 4,327,436 msg/sec tbb::spin_mutex, 6,i: 4,399,915 msg/sec tbb::spin_mutex, 7,s: 3,617,473 msg/sec tbb::spin_mutex, 7,i: 3,653,746 msg/sec tbb::spin_mutex, 8,s: 2,914,002 msg/sec tbb::spin_mutex, 8,i: 3,021,979 msg/sec Command being timed: "/tmp/b2/release/gcc-14/benchmarks" User time (seconds): 1022.03 System time (seconds): 116.46 Percent of CPU this job got: 914% Elapsed (wall clock) time (h:mm:ss or m:ss): 2:04.42 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 71668 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 26531 Voluntary context switches: 8550960 Involuntary context switches: 273 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 max0x7ba-atomic_queue-40624b8/results/results-16.20200703T014231.txt000066400000000000000000303252561525237550500240050ustar00rootroot00000000000000[1] 480m:0s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 74,511,613 msg/sec boost::lockfree::spsc_queue, 1,i: 76,067,669 msg/sec boost::lockfree::queue, 1,s: 6,864,326 msg/sec boost::lockfree::queue, 1,i: 6,817,140 msg/sec boost::lockfree::queue, 2,s: 7,555,927 msg/sec boost::lockfree::queue, 2,i: 7,472,833 msg/sec boost::lockfree::queue, 3,s: 7,327,655 msg/sec boost::lockfree::queue, 3,i: 7,553,847 msg/sec boost::lockfree::queue, 4,s: 6,419,812 msg/sec boost::lockfree::queue, 4,i: 6,749,648 msg/sec boost::lockfree::queue, 5,s: 6,399,243 msg/sec boost::lockfree::queue, 5,i: 6,466,252 msg/sec boost::lockfree::queue, 6,s: 5,973,299 msg/sec boost::lockfree::queue, 6,i: 6,102,054 msg/sec boost::lockfree::queue, 7,s: 5,764,091 msg/sec boost::lockfree::queue, 7,i: 6,062,516 msg/sec boost::lockfree::queue, 8,s: 5,441,712 msg/sec boost::lockfree::queue, 8,i: 5,666,838 msg/sec moodycamel::ReaderWriterQueue, 1,s: 196,050,301 msg/sec moodycamel::ReaderWriterQueue, 1,i: 531,805,491 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,662,723 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,710,817 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,340,458 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,359,639 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,129,416 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,498,954 msg/sec moodycamel::ConcurrentQueue, 4,s: 40,605,190 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,765,921 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,121,209 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,148,715 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,405,479 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,545,316 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,947,181 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,245,583 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,229,624 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,413,350 msg/sec pthread_spinlock, 1,s: 28,835,862 msg/sec pthread_spinlock, 1,i: 25,340,041 msg/sec pthread_spinlock, 2,s: 15,619,998 msg/sec pthread_spinlock, 2,i: 17,094,107 msg/sec pthread_spinlock, 3,s: 8,279,390 msg/sec pthread_spinlock, 3,i: 12,157,432 msg/sec pthread_spinlock, 4,s: 6,495,211 msg/sec pthread_spinlock, 4,i: 8,966,752 msg/sec pthread_spinlock, 5,s: 8,675,997 msg/sec pthread_spinlock, 5,i: 9,078,882 msg/sec pthread_spinlock, 6,s: 8,263,037 msg/sec pthread_spinlock, 6,i: 8,856,566 msg/sec pthread_spinlock, 7,s: 7,566,635 msg/sec pthread_spinlock, 7,i: 7,970,209 msg/sec pthread_spinlock, 8,s: 6,651,372 msg/sec pthread_spinlock, 8,i: 6,860,290 msg/sec std::mutex, 1,s: 6,794,601 msg/sec std::mutex, 1,i: 6,450,259 msg/sec std::mutex, 2,s: 6,030,251 msg/sec std::mutex, 2,i: 6,071,464 msg/sec std::mutex, 3,s: 6,001,574 msg/sec std::mutex, 3,i: 6,103,255 msg/sec std::mutex, 4,s: 6,180,114 msg/sec std::mutex, 4,i: 6,358,084 msg/sec std::mutex, 5,s: 5,948,010 msg/sec std::mutex, 5,i: 5,869,131 msg/sec std::mutex, 6,s: 5,951,578 msg/sec std::mutex, 6,i: 5,950,785 msg/sec std::mutex, 7,s: 5,853,928 msg/sec std::mutex, 7,i: 5,827,565 msg/sec std::mutex, 8,s: 5,777,945 msg/sec std::mutex, 8,i: 5,715,766 msg/sec tbb::spin_mutex, 1,s: 37,748,863 msg/sec tbb::spin_mutex, 1,i: 32,747,722 msg/sec tbb::spin_mutex, 2,s: 21,251,906 msg/sec tbb::spin_mutex, 2,i: 19,233,600 msg/sec tbb::spin_mutex, 3,s: 7,729,341 msg/sec tbb::spin_mutex, 3,i: 11,219,116 msg/sec tbb::spin_mutex, 4,s: 3,208,216 msg/sec tbb::spin_mutex, 4,i: 6,463,481 msg/sec tbb::spin_mutex, 5,s: 5,451,653 msg/sec tbb::spin_mutex, 5,i: 5,739,049 msg/sec tbb::spin_mutex, 6,s: 5,237,992 msg/sec tbb::spin_mutex, 6,i: 4,380,344 msg/sec tbb::spin_mutex, 7,s: 4,878,667 msg/sec tbb::spin_mutex, 7,i: 4,330,947 msg/sec tbb::spin_mutex, 8,s: 4,268,101 msg/sec tbb::spin_mutex, 8,i: 4,121,593 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,339,523 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,331,721 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,883,139 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,060,696 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,550,358 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,791,178 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,964,528 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,300,934 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,678,223 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,646,587 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,928,894 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,718,526 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,882,808 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,107,357 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,907,621 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,449,457 msg/sec xenium::michael_scott_queue, 1,s: 9,370,390 msg/sec xenium::michael_scott_queue, 1,i: 9,363,386 msg/sec xenium::michael_scott_queue, 2,s: 8,468,884 msg/sec xenium::michael_scott_queue, 2,i: 8,508,704 msg/sec xenium::michael_scott_queue, 3,s: 7,223,628 msg/sec xenium::michael_scott_queue, 3,i: 7,512,221 msg/sec xenium::michael_scott_queue, 4,s: 6,284,725 msg/sec xenium::michael_scott_queue, 4,i: 6,319,270 msg/sec xenium::michael_scott_queue, 5,s: 6,266,154 msg/sec xenium::michael_scott_queue, 5,i: 6,639,758 msg/sec xenium::michael_scott_queue, 6,s: 6,506,588 msg/sec xenium::michael_scott_queue, 6,i: 6,696,825 msg/sec xenium::michael_scott_queue, 7,s: 6,267,920 msg/sec xenium::michael_scott_queue, 7,i: 6,478,493 msg/sec xenium::michael_scott_queue, 8,s: 5,989,830 msg/sec xenium::michael_scott_queue, 8,i: 6,268,478 msg/sec xenium::ramalhete_queue, 1,s: 31,224,097 msg/sec xenium::ramalhete_queue, 1,i: 31,138,584 msg/sec xenium::ramalhete_queue, 2,s: 23,887,074 msg/sec xenium::ramalhete_queue, 2,i: 23,296,144 msg/sec xenium::ramalhete_queue, 3,s: 29,157,098 msg/sec xenium::ramalhete_queue, 3,i: 28,438,308 msg/sec xenium::ramalhete_queue, 4,s: 33,775,550 msg/sec xenium::ramalhete_queue, 4,i: 33,442,909 msg/sec xenium::ramalhete_queue, 5,s: 32,430,357 msg/sec xenium::ramalhete_queue, 5,i: 37,849,671 msg/sec xenium::ramalhete_queue, 6,s: 34,134,132 msg/sec xenium::ramalhete_queue, 6,i: 38,703,698 msg/sec xenium::ramalhete_queue, 7,s: 35,110,939 msg/sec xenium::ramalhete_queue, 7,i: 41,235,692 msg/sec xenium::ramalhete_queue, 8,s: 35,471,717 msg/sec xenium::ramalhete_queue, 8,i: 44,215,761 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,005,919 msg/sec xenium::vyukov_bounded_queue, 1,i: 60,523,731 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,270,600 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,006,214 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,694,935 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,051,434 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,625,691 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,031,376 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,971,056 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,307,354 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,999,206 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,571,297 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,243,098 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,319,194 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,451,395 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,284,275 msg/sec AtomicQueue, 1,s: 58,854,875 msg/sec AtomicQueue, 1,i: 56,889,719 msg/sec AtomicQueue, 2,s: 12,249,342 msg/sec AtomicQueue, 2,i: 11,742,667 msg/sec AtomicQueue, 3,s: 10,788,042 msg/sec AtomicQueue, 3,i: 9,870,585 msg/sec AtomicQueue, 4,s: 8,148,507 msg/sec AtomicQueue, 4,i: 8,182,974 msg/sec AtomicQueue, 5,s: 8,032,778 msg/sec AtomicQueue, 5,i: 8,060,092 msg/sec AtomicQueue, 6,s: 7,924,371 msg/sec AtomicQueue, 6,i: 7,598,647 msg/sec AtomicQueue, 7,s: 7,121,222 msg/sec AtomicQueue, 7,i: 7,982,236 msg/sec AtomicQueue, 8,s: 6,322,517 msg/sec AtomicQueue, 8,i: 7,436,784 msg/sec AtomicQueueB, 1,s: 77,299,556 msg/sec AtomicQueueB, 1,i: 43,435,409 msg/sec AtomicQueueB, 2,s: 11,714,491 msg/sec AtomicQueueB, 2,i: 11,497,606 msg/sec AtomicQueueB, 3,s: 11,007,787 msg/sec AtomicQueueB, 3,i: 10,145,020 msg/sec AtomicQueueB, 4,s: 8,091,019 msg/sec AtomicQueueB, 4,i: 8,149,391 msg/sec AtomicQueueB, 5,s: 7,606,002 msg/sec AtomicQueueB, 5,i: 7,806,538 msg/sec AtomicQueueB, 6,s: 7,300,007 msg/sec AtomicQueueB, 6,i: 7,542,613 msg/sec AtomicQueueB, 7,s: 6,848,209 msg/sec AtomicQueueB, 7,i: 7,707,241 msg/sec AtomicQueueB, 8,s: 6,307,595 msg/sec AtomicQueueB, 8,i: 7,115,742 msg/sec OptimistAtomicQueue, 1,s: 792,645,831 msg/sec OptimistAtomicQueue, 1,i: 617,094,917 msg/sec OptimistAtomicQueue, 2,s: 32,641,506 msg/sec OptimistAtomicQueue, 2,i: 32,725,991 msg/sec OptimistAtomicQueue, 3,s: 36,662,598 msg/sec OptimistAtomicQueue, 3,i: 37,339,352 msg/sec OptimistAtomicQueue, 4,s: 39,298,454 msg/sec OptimistAtomicQueue, 4,i: 39,381,318 msg/sec OptimistAtomicQueue, 5,s: 42,500,830 msg/sec OptimistAtomicQueue, 5,i: 48,571,140 msg/sec OptimistAtomicQueue, 6,s: 42,929,158 msg/sec OptimistAtomicQueue, 6,i: 49,879,295 msg/sec OptimistAtomicQueue, 7,s: 45,279,006 msg/sec OptimistAtomicQueue, 7,i: 52,998,088 msg/sec OptimistAtomicQueue, 8,s: 46,357,105 msg/sec OptimistAtomicQueue, 8,i: 49,075,858 msg/sec OptimistAtomicQueueB, 1,s: 77,833,584 msg/sec OptimistAtomicQueueB, 1,i: 76,321,008 msg/sec OptimistAtomicQueueB, 2,s: 32,232,493 msg/sec OptimistAtomicQueueB, 2,i: 32,193,303 msg/sec OptimistAtomicQueueB, 3,s: 36,306,881 msg/sec OptimistAtomicQueueB, 3,i: 36,890,806 msg/sec OptimistAtomicQueueB, 4,s: 38,805,236 msg/sec OptimistAtomicQueueB, 4,i: 38,714,616 msg/sec OptimistAtomicQueueB, 5,s: 40,905,212 msg/sec OptimistAtomicQueueB, 5,i: 45,184,065 msg/sec OptimistAtomicQueueB, 6,s: 40,831,691 msg/sec OptimistAtomicQueueB, 6,i: 49,139,280 msg/sec OptimistAtomicQueueB, 7,s: 41,525,859 msg/sec OptimistAtomicQueueB, 7,i: 48,277,429 msg/sec OptimistAtomicQueueB, 8,s: 44,383,176 msg/sec OptimistAtomicQueueB, 8,i: 48,205,847 msg/sec AtomicQueue2, 1,s: 23,216,144 msg/sec AtomicQueue2, 1,i: 22,867,138 msg/sec AtomicQueue2, 2,s: 11,848,844 msg/sec AtomicQueue2, 2,i: 11,528,415 msg/sec AtomicQueue2, 3,s: 9,831,934 msg/sec AtomicQueue2, 3,i: 9,516,338 msg/sec AtomicQueue2, 4,s: 8,078,255 msg/sec AtomicQueue2, 4,i: 8,032,089 msg/sec AtomicQueue2, 5,s: 7,789,847 msg/sec AtomicQueue2, 5,i: 8,012,272 msg/sec AtomicQueue2, 6,s: 7,741,937 msg/sec AtomicQueue2, 6,i: 7,521,658 msg/sec AtomicQueue2, 7,s: 7,169,615 msg/sec AtomicQueue2, 7,i: 7,931,152 msg/sec AtomicQueue2, 8,s: 6,374,332 msg/sec AtomicQueue2, 8,i: 7,365,805 msg/sec AtomicQueueB2, 1,s: 36,157,238 msg/sec AtomicQueueB2, 1,i: 34,132,606 msg/sec AtomicQueueB2, 2,s: 11,418,849 msg/sec AtomicQueueB2, 2,i: 11,086,648 msg/sec AtomicQueueB2, 3,s: 9,678,845 msg/sec AtomicQueueB2, 3,i: 9,554,811 msg/sec AtomicQueueB2, 4,s: 7,954,047 msg/sec AtomicQueueB2, 4,i: 7,927,814 msg/sec AtomicQueueB2, 5,s: 7,473,927 msg/sec AtomicQueueB2, 5,i: 7,733,702 msg/sec AtomicQueueB2, 6,s: 7,310,138 msg/sec AtomicQueueB2, 6,i: 7,509,250 msg/sec AtomicQueueB2, 7,s: 6,870,533 msg/sec AtomicQueueB2, 7,i: 7,716,359 msg/sec AtomicQueueB2, 8,s: 6,280,829 msg/sec AtomicQueueB2, 8,i: 7,073,481 msg/sec OptimistAtomicQueue2, 1,s: 422,144,118 msg/sec OptimistAtomicQueue2, 1,i: 25,890,174 msg/sec OptimistAtomicQueue2, 2,s: 24,067,123 msg/sec OptimistAtomicQueue2, 2,i: 24,205,771 msg/sec OptimistAtomicQueue2, 3,s: 30,234,188 msg/sec OptimistAtomicQueue2, 3,i: 30,673,068 msg/sec OptimistAtomicQueue2, 4,s: 33,294,520 msg/sec OptimistAtomicQueue2, 4,i: 33,640,536 msg/sec OptimistAtomicQueue2, 5,s: 37,379,831 msg/sec OptimistAtomicQueue2, 5,i: 40,044,167 msg/sec OptimistAtomicQueue2, 6,s: 40,275,783 msg/sec OptimistAtomicQueue2, 6,i: 49,136,277 msg/sec OptimistAtomicQueue2, 7,s: 42,674,703 msg/sec OptimistAtomicQueue2, 7,i: 48,119,654 msg/sec OptimistAtomicQueue2, 8,s: 44,151,087 msg/sec OptimistAtomicQueue2, 8,i: 48,992,985 msg/sec OptimistAtomicQueueB2, 1,s: 74,454,066 msg/sec OptimistAtomicQueueB2, 1,i: 33,855,881 msg/sec OptimistAtomicQueueB2, 2,s: 27,187,895 msg/sec OptimistAtomicQueueB2, 2,i: 27,978,625 msg/sec OptimistAtomicQueueB2, 3,s: 30,240,457 msg/sec OptimistAtomicQueueB2, 3,i: 29,068,254 msg/sec OptimistAtomicQueueB2, 4,s: 33,130,914 msg/sec OptimistAtomicQueueB2, 4,i: 32,026,413 msg/sec OptimistAtomicQueueB2, 5,s: 34,744,499 msg/sec OptimistAtomicQueueB2, 5,i: 39,597,765 msg/sec OptimistAtomicQueueB2, 6,s: 37,777,598 msg/sec OptimistAtomicQueueB2, 6,i: 42,354,331 msg/sec OptimistAtomicQueueB2, 7,s: 40,122,028 msg/sec OptimistAtomicQueueB2, 7,i: 43,138,283 msg/sec OptimistAtomicQueueB2, 8,s: 42,038,954 msg/sec OptimistAtomicQueueB2, 8,i: 46,231,659 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000139 sec/round-trip moodycamel::ConcurrentQueue: 0.000000220 sec/round-trip pthread_spinlock: 0.000000245 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [2] 478m:41s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,135,044 msg/sec boost::lockfree::spsc_queue, 1,i: 65,394,486 msg/sec boost::lockfree::queue, 1,s: 6,865,210 msg/sec boost::lockfree::queue, 1,i: 6,922,384 msg/sec boost::lockfree::queue, 2,s: 7,718,016 msg/sec boost::lockfree::queue, 2,i: 7,514,888 msg/sec boost::lockfree::queue, 3,s: 7,453,251 msg/sec boost::lockfree::queue, 3,i: 7,588,275 msg/sec boost::lockfree::queue, 4,s: 6,421,525 msg/sec boost::lockfree::queue, 4,i: 6,822,139 msg/sec boost::lockfree::queue, 5,s: 6,432,552 msg/sec boost::lockfree::queue, 5,i: 6,491,733 msg/sec boost::lockfree::queue, 6,s: 5,978,955 msg/sec boost::lockfree::queue, 6,i: 6,088,087 msg/sec boost::lockfree::queue, 7,s: 6,038,347 msg/sec boost::lockfree::queue, 7,i: 5,926,967 msg/sec boost::lockfree::queue, 8,s: 5,419,429 msg/sec boost::lockfree::queue, 8,i: 5,699,842 msg/sec moodycamel::ReaderWriterQueue, 1,s: 391,761,836 msg/sec moodycamel::ReaderWriterQueue, 1,i: 441,594,686 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,870,233 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,675,858 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,589,696 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,352,168 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,861,771 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,713,958 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,731,716 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,900,944 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,387,409 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,002,788 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,592,993 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,153,767 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,962,460 msg/sec moodycamel::ConcurrentQueue, 7,i: 51,324,253 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,306,972 msg/sec moodycamel::ConcurrentQueue, 8,i: 40,302,934 msg/sec pthread_spinlock, 1,s: 29,019,310 msg/sec pthread_spinlock, 1,i: 25,332,319 msg/sec pthread_spinlock, 2,s: 15,575,318 msg/sec pthread_spinlock, 2,i: 17,110,663 msg/sec pthread_spinlock, 3,s: 8,328,573 msg/sec pthread_spinlock, 3,i: 11,955,064 msg/sec pthread_spinlock, 4,s: 6,471,836 msg/sec pthread_spinlock, 4,i: 8,980,216 msg/sec pthread_spinlock, 5,s: 8,625,006 msg/sec pthread_spinlock, 5,i: 9,469,256 msg/sec pthread_spinlock, 6,s: 8,350,221 msg/sec pthread_spinlock, 6,i: 8,979,965 msg/sec pthread_spinlock, 7,s: 7,566,971 msg/sec pthread_spinlock, 7,i: 7,646,277 msg/sec pthread_spinlock, 8,s: 6,729,222 msg/sec pthread_spinlock, 8,i: 6,983,805 msg/sec std::mutex, 1,s: 6,905,648 msg/sec std::mutex, 1,i: 7,461,538 msg/sec std::mutex, 2,s: 5,852,381 msg/sec std::mutex, 2,i: 6,064,567 msg/sec std::mutex, 3,s: 6,121,776 msg/sec std::mutex, 3,i: 6,007,609 msg/sec std::mutex, 4,s: 6,241,292 msg/sec std::mutex, 4,i: 6,206,524 msg/sec std::mutex, 5,s: 6,024,907 msg/sec std::mutex, 5,i: 5,732,005 msg/sec std::mutex, 6,s: 5,858,664 msg/sec std::mutex, 6,i: 5,876,006 msg/sec std::mutex, 7,s: 5,744,724 msg/sec std::mutex, 7,i: 5,767,139 msg/sec std::mutex, 8,s: 5,661,795 msg/sec std::mutex, 8,i: 5,691,258 msg/sec tbb::spin_mutex, 1,s: 38,026,256 msg/sec tbb::spin_mutex, 1,i: 37,692,733 msg/sec tbb::spin_mutex, 2,s: 21,062,935 msg/sec tbb::spin_mutex, 2,i: 20,688,230 msg/sec tbb::spin_mutex, 3,s: 8,904,128 msg/sec tbb::spin_mutex, 3,i: 11,223,941 msg/sec tbb::spin_mutex, 4,s: 3,275,845 msg/sec tbb::spin_mutex, 4,i: 6,318,830 msg/sec tbb::spin_mutex, 5,s: 5,452,524 msg/sec tbb::spin_mutex, 5,i: 5,523,611 msg/sec tbb::spin_mutex, 6,s: 5,299,416 msg/sec tbb::spin_mutex, 6,i: 4,306,098 msg/sec tbb::spin_mutex, 7,s: 4,484,114 msg/sec tbb::spin_mutex, 7,i: 4,328,743 msg/sec tbb::spin_mutex, 8,s: 4,257,269 msg/sec tbb::spin_mutex, 8,i: 4,189,360 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,021,209 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,285,008 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,586,091 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,825,233 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,351,406 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,641,635 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,118,459 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,524,585 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,692,639 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,532,305 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,701,965 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,672,433 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,845,499 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,806,814 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,086,557 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,078,213 msg/sec xenium::michael_scott_queue, 1,s: 9,321,215 msg/sec xenium::michael_scott_queue, 1,i: 9,322,469 msg/sec xenium::michael_scott_queue, 2,s: 8,546,635 msg/sec xenium::michael_scott_queue, 2,i: 8,504,040 msg/sec xenium::michael_scott_queue, 3,s: 7,206,242 msg/sec xenium::michael_scott_queue, 3,i: 7,545,726 msg/sec xenium::michael_scott_queue, 4,s: 6,297,397 msg/sec xenium::michael_scott_queue, 4,i: 6,351,722 msg/sec xenium::michael_scott_queue, 5,s: 6,306,123 msg/sec xenium::michael_scott_queue, 5,i: 6,652,431 msg/sec xenium::michael_scott_queue, 6,s: 6,466,955 msg/sec xenium::michael_scott_queue, 6,i: 6,725,582 msg/sec xenium::michael_scott_queue, 7,s: 6,386,043 msg/sec xenium::michael_scott_queue, 7,i: 6,506,364 msg/sec xenium::michael_scott_queue, 8,s: 5,987,595 msg/sec xenium::michael_scott_queue, 8,i: 6,211,922 msg/sec xenium::ramalhete_queue, 1,s: 31,977,164 msg/sec xenium::ramalhete_queue, 1,i: 31,951,438 msg/sec xenium::ramalhete_queue, 2,s: 23,520,922 msg/sec xenium::ramalhete_queue, 2,i: 23,297,683 msg/sec xenium::ramalhete_queue, 3,s: 29,285,283 msg/sec xenium::ramalhete_queue, 3,i: 28,413,259 msg/sec xenium::ramalhete_queue, 4,s: 33,766,475 msg/sec xenium::ramalhete_queue, 4,i: 33,482,150 msg/sec xenium::ramalhete_queue, 5,s: 32,074,885 msg/sec xenium::ramalhete_queue, 5,i: 36,105,561 msg/sec xenium::ramalhete_queue, 6,s: 34,090,023 msg/sec xenium::ramalhete_queue, 6,i: 39,619,399 msg/sec xenium::ramalhete_queue, 7,s: 35,115,398 msg/sec xenium::ramalhete_queue, 7,i: 41,005,820 msg/sec xenium::ramalhete_queue, 8,s: 35,502,031 msg/sec xenium::ramalhete_queue, 8,i: 43,867,696 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,485,986 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,730,413 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,429,225 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,454,558 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,588,930 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,786,221 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,710,700 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,026,091 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,259,949 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,517,697 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,908,224 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,270,063 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,104,675 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,261,214 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,391,060 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,310,402 msg/sec AtomicQueue, 1,s: 62,121,085 msg/sec AtomicQueue, 1,i: 56,681,784 msg/sec AtomicQueue, 2,s: 12,240,222 msg/sec AtomicQueue, 2,i: 11,741,160 msg/sec AtomicQueue, 3,s: 10,701,477 msg/sec AtomicQueue, 3,i: 9,935,950 msg/sec AtomicQueue, 4,s: 8,170,799 msg/sec AtomicQueue, 4,i: 8,236,076 msg/sec AtomicQueue, 5,s: 8,025,039 msg/sec AtomicQueue, 5,i: 8,137,180 msg/sec AtomicQueue, 6,s: 7,763,639 msg/sec AtomicQueue, 6,i: 7,597,298 msg/sec AtomicQueue, 7,s: 7,156,086 msg/sec AtomicQueue, 7,i: 8,006,266 msg/sec AtomicQueue, 8,s: 6,329,313 msg/sec AtomicQueue, 8,i: 7,464,520 msg/sec AtomicQueueB, 1,s: 43,926,810 msg/sec AtomicQueueB, 1,i: 45,849,894 msg/sec AtomicQueueB, 2,s: 11,733,416 msg/sec AtomicQueueB, 2,i: 11,483,717 msg/sec AtomicQueueB, 3,s: 11,016,119 msg/sec AtomicQueueB, 3,i: 10,227,329 msg/sec AtomicQueueB, 4,s: 8,025,967 msg/sec AtomicQueueB, 4,i: 7,996,115 msg/sec AtomicQueueB, 5,s: 7,698,453 msg/sec AtomicQueueB, 5,i: 7,797,646 msg/sec AtomicQueueB, 6,s: 7,479,060 msg/sec AtomicQueueB, 6,i: 7,525,727 msg/sec AtomicQueueB, 7,s: 6,895,994 msg/sec AtomicQueueB, 7,i: 7,566,384 msg/sec AtomicQueueB, 8,s: 6,235,143 msg/sec AtomicQueueB, 8,i: 7,018,297 msg/sec OptimistAtomicQueue, 1,s: 691,800,349 msg/sec OptimistAtomicQueue, 1,i: 520,623,524 msg/sec OptimistAtomicQueue, 2,s: 32,111,499 msg/sec OptimistAtomicQueue, 2,i: 32,192,456 msg/sec OptimistAtomicQueue, 3,s: 36,612,937 msg/sec OptimistAtomicQueue, 3,i: 37,288,146 msg/sec OptimistAtomicQueue, 4,s: 39,262,556 msg/sec OptimistAtomicQueue, 4,i: 39,390,198 msg/sec OptimistAtomicQueue, 5,s: 37,467,431 msg/sec OptimistAtomicQueue, 5,i: 48,677,211 msg/sec OptimistAtomicQueue, 6,s: 42,359,411 msg/sec OptimistAtomicQueue, 6,i: 50,492,820 msg/sec OptimistAtomicQueue, 7,s: 45,123,084 msg/sec OptimistAtomicQueue, 7,i: 52,133,308 msg/sec OptimistAtomicQueue, 8,s: 46,624,765 msg/sec OptimistAtomicQueue, 8,i: 49,618,783 msg/sec OptimistAtomicQueueB, 1,s: 266,904,389 msg/sec OptimistAtomicQueueB, 1,i: 76,631,850 msg/sec OptimistAtomicQueueB, 2,s: 32,200,146 msg/sec OptimistAtomicQueueB, 2,i: 32,283,408 msg/sec OptimistAtomicQueueB, 3,s: 36,217,778 msg/sec OptimistAtomicQueueB, 3,i: 36,932,781 msg/sec OptimistAtomicQueueB, 4,s: 38,643,941 msg/sec OptimistAtomicQueueB, 4,i: 38,634,541 msg/sec OptimistAtomicQueueB, 5,s: 39,109,859 msg/sec OptimistAtomicQueueB, 5,i: 45,376,038 msg/sec OptimistAtomicQueueB, 6,s: 40,812,396 msg/sec OptimistAtomicQueueB, 6,i: 48,678,725 msg/sec OptimistAtomicQueueB, 7,s: 41,777,363 msg/sec OptimistAtomicQueueB, 7,i: 51,471,195 msg/sec OptimistAtomicQueueB, 8,s: 44,615,810 msg/sec OptimistAtomicQueueB, 8,i: 47,907,082 msg/sec AtomicQueue2, 1,s: 22,900,361 msg/sec AtomicQueue2, 1,i: 22,888,348 msg/sec AtomicQueue2, 2,s: 11,763,098 msg/sec AtomicQueue2, 2,i: 11,440,108 msg/sec AtomicQueue2, 3,s: 9,442,388 msg/sec AtomicQueue2, 3,i: 9,485,737 msg/sec AtomicQueue2, 4,s: 8,047,855 msg/sec AtomicQueue2, 4,i: 8,024,924 msg/sec AtomicQueue2, 5,s: 7,914,464 msg/sec AtomicQueue2, 5,i: 8,038,913 msg/sec AtomicQueue2, 6,s: 7,746,909 msg/sec AtomicQueue2, 6,i: 7,540,140 msg/sec AtomicQueue2, 7,s: 7,140,650 msg/sec AtomicQueue2, 7,i: 7,881,100 msg/sec AtomicQueue2, 8,s: 6,378,963 msg/sec AtomicQueue2, 8,i: 7,403,660 msg/sec AtomicQueueB2, 1,s: 35,972,132 msg/sec AtomicQueueB2, 1,i: 32,634,209 msg/sec AtomicQueueB2, 2,s: 11,297,075 msg/sec AtomicQueueB2, 2,i: 11,140,547 msg/sec AtomicQueueB2, 3,s: 9,635,694 msg/sec AtomicQueueB2, 3,i: 9,496,679 msg/sec AtomicQueueB2, 4,s: 7,941,005 msg/sec AtomicQueueB2, 4,i: 7,794,602 msg/sec AtomicQueueB2, 5,s: 7,448,268 msg/sec AtomicQueueB2, 5,i: 7,691,112 msg/sec AtomicQueueB2, 6,s: 7,060,256 msg/sec AtomicQueueB2, 6,i: 7,350,029 msg/sec AtomicQueueB2, 7,s: 6,804,495 msg/sec AtomicQueueB2, 7,i: 7,604,649 msg/sec AtomicQueueB2, 8,s: 6,268,507 msg/sec AtomicQueueB2, 8,i: 6,935,206 msg/sec OptimistAtomicQueue2, 1,s: 171,398,632 msg/sec OptimistAtomicQueue2, 1,i: 402,732,702 msg/sec OptimistAtomicQueue2, 2,s: 26,649,113 msg/sec OptimistAtomicQueue2, 2,i: 23,318,539 msg/sec OptimistAtomicQueue2, 3,s: 32,093,664 msg/sec OptimistAtomicQueue2, 3,i: 29,520,496 msg/sec OptimistAtomicQueue2, 4,s: 33,124,871 msg/sec OptimistAtomicQueue2, 4,i: 33,174,569 msg/sec OptimistAtomicQueue2, 5,s: 37,314,851 msg/sec OptimistAtomicQueue2, 5,i: 41,033,790 msg/sec OptimistAtomicQueue2, 6,s: 40,329,649 msg/sec OptimistAtomicQueue2, 6,i: 48,150,853 msg/sec OptimistAtomicQueue2, 7,s: 42,588,403 msg/sec OptimistAtomicQueue2, 7,i: 47,485,673 msg/sec OptimistAtomicQueue2, 8,s: 43,993,468 msg/sec OptimistAtomicQueue2, 8,i: 48,714,031 msg/sec OptimistAtomicQueueB2, 1,s: 116,506,972 msg/sec OptimistAtomicQueueB2, 1,i: 225,548,218 msg/sec OptimistAtomicQueueB2, 2,s: 28,233,216 msg/sec OptimistAtomicQueueB2, 2,i: 24,923,221 msg/sec OptimistAtomicQueueB2, 3,s: 32,661,029 msg/sec OptimistAtomicQueueB2, 3,i: 31,198,552 msg/sec OptimistAtomicQueueB2, 4,s: 31,764,404 msg/sec OptimistAtomicQueueB2, 4,i: 32,152,506 msg/sec OptimistAtomicQueueB2, 5,s: 33,676,225 msg/sec OptimistAtomicQueueB2, 5,i: 38,973,016 msg/sec OptimistAtomicQueueB2, 6,s: 36,893,627 msg/sec OptimistAtomicQueueB2, 6,i: 41,680,011 msg/sec OptimistAtomicQueueB2, 7,s: 39,953,832 msg/sec OptimistAtomicQueueB2, 7,i: 42,723,750 msg/sec OptimistAtomicQueueB2, 8,s: 42,182,043 msg/sec OptimistAtomicQueueB2, 8,i: 46,009,461 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000149 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000308 sec/round-trip std::mutex: 0.000000517 sec/round-trip tbb::spin_mutex: 0.000000287 sec/round-trip tbb::concurrent_bounded_queue: 0.000000305 sec/round-trip xenium::michael_scott_queue: 0.000000391 sec/round-trip xenium::ramalhete_queue: 0.000000282 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000165 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000154 sec/round-trip AtomicQueue2: 0.000000177 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000155 sec/round-trip [3] 477m:22s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,704,922 msg/sec boost::lockfree::spsc_queue, 1,i: 68,838,548 msg/sec boost::lockfree::queue, 1,s: 6,898,685 msg/sec boost::lockfree::queue, 1,i: 6,950,211 msg/sec boost::lockfree::queue, 2,s: 7,397,154 msg/sec boost::lockfree::queue, 2,i: 7,312,023 msg/sec boost::lockfree::queue, 3,s: 7,370,939 msg/sec boost::lockfree::queue, 3,i: 7,482,748 msg/sec boost::lockfree::queue, 4,s: 6,387,546 msg/sec boost::lockfree::queue, 4,i: 6,696,348 msg/sec boost::lockfree::queue, 5,s: 6,526,154 msg/sec boost::lockfree::queue, 5,i: 6,461,189 msg/sec boost::lockfree::queue, 6,s: 6,013,418 msg/sec boost::lockfree::queue, 6,i: 6,083,897 msg/sec boost::lockfree::queue, 7,s: 5,884,547 msg/sec boost::lockfree::queue, 7,i: 5,916,155 msg/sec boost::lockfree::queue, 8,s: 5,444,924 msg/sec boost::lockfree::queue, 8,i: 5,534,124 msg/sec moodycamel::ReaderWriterQueue, 1,s: 125,830,113 msg/sec moodycamel::ReaderWriterQueue, 1,i: 167,866,640 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,328,925 msg/sec moodycamel::ConcurrentQueue, 1,i: 20,824,720 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,991,498 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,959,008 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,922,497 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,047,072 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,162,703 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,480,666 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,121,068 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,139,770 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,258,517 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,806,687 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,819,101 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,647,462 msg/sec moodycamel::ConcurrentQueue, 8,s: 52,829,943 msg/sec moodycamel::ConcurrentQueue, 8,i: 33,001,669 msg/sec pthread_spinlock, 1,s: 28,992,003 msg/sec pthread_spinlock, 1,i: 28,728,244 msg/sec pthread_spinlock, 2,s: 14,668,407 msg/sec pthread_spinlock, 2,i: 17,021,194 msg/sec pthread_spinlock, 3,s: 8,370,573 msg/sec pthread_spinlock, 3,i: 11,953,607 msg/sec pthread_spinlock, 4,s: 6,472,922 msg/sec pthread_spinlock, 4,i: 8,657,465 msg/sec pthread_spinlock, 5,s: 8,755,555 msg/sec pthread_spinlock, 5,i: 9,278,399 msg/sec pthread_spinlock, 6,s: 8,232,523 msg/sec pthread_spinlock, 6,i: 8,454,842 msg/sec pthread_spinlock, 7,s: 7,566,248 msg/sec pthread_spinlock, 7,i: 7,627,738 msg/sec pthread_spinlock, 8,s: 6,673,830 msg/sec pthread_spinlock, 8,i: 7,323,468 msg/sec std::mutex, 1,s: 6,217,985 msg/sec std::mutex, 1,i: 5,735,688 msg/sec std::mutex, 2,s: 5,062,686 msg/sec std::mutex, 2,i: 5,542,064 msg/sec std::mutex, 3,s: 5,019,135 msg/sec std::mutex, 3,i: 5,433,057 msg/sec std::mutex, 4,s: 6,247,195 msg/sec std::mutex, 4,i: 6,379,896 msg/sec std::mutex, 5,s: 6,088,868 msg/sec std::mutex, 5,i: 6,117,087 msg/sec std::mutex, 6,s: 5,864,621 msg/sec std::mutex, 6,i: 5,865,177 msg/sec std::mutex, 7,s: 5,796,395 msg/sec std::mutex, 7,i: 5,786,252 msg/sec std::mutex, 8,s: 5,713,013 msg/sec std::mutex, 8,i: 5,761,995 msg/sec tbb::spin_mutex, 1,s: 37,523,524 msg/sec tbb::spin_mutex, 1,i: 32,712,899 msg/sec tbb::spin_mutex, 2,s: 17,906,070 msg/sec tbb::spin_mutex, 2,i: 18,260,320 msg/sec tbb::spin_mutex, 3,s: 8,003,671 msg/sec tbb::spin_mutex, 3,i: 10,257,231 msg/sec tbb::spin_mutex, 4,s: 2,985,658 msg/sec tbb::spin_mutex, 4,i: 6,411,260 msg/sec tbb::spin_mutex, 5,s: 5,415,965 msg/sec tbb::spin_mutex, 5,i: 5,822,671 msg/sec tbb::spin_mutex, 6,s: 5,335,705 msg/sec tbb::spin_mutex, 6,i: 4,360,324 msg/sec tbb::spin_mutex, 7,s: 4,864,820 msg/sec tbb::spin_mutex, 7,i: 4,286,880 msg/sec tbb::spin_mutex, 8,s: 3,764,350 msg/sec tbb::spin_mutex, 8,i: 4,065,040 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,098,237 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,109,033 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,180,342 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,055,354 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,131,734 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,349,380 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,047,551 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,194,317 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,492,889 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,384,944 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,622,104 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,745,628 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,650,577 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,088,181 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,725,471 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,928,760 msg/sec xenium::michael_scott_queue, 1,s: 10,094,503 msg/sec xenium::michael_scott_queue, 1,i: 9,712,967 msg/sec xenium::michael_scott_queue, 2,s: 8,347,833 msg/sec xenium::michael_scott_queue, 2,i: 8,464,361 msg/sec xenium::michael_scott_queue, 3,s: 7,261,136 msg/sec xenium::michael_scott_queue, 3,i: 7,540,290 msg/sec xenium::michael_scott_queue, 4,s: 6,320,488 msg/sec xenium::michael_scott_queue, 4,i: 6,319,831 msg/sec xenium::michael_scott_queue, 5,s: 6,307,380 msg/sec xenium::michael_scott_queue, 5,i: 6,707,297 msg/sec xenium::michael_scott_queue, 6,s: 6,520,360 msg/sec xenium::michael_scott_queue, 6,i: 6,688,770 msg/sec xenium::michael_scott_queue, 7,s: 6,320,225 msg/sec xenium::michael_scott_queue, 7,i: 6,484,983 msg/sec xenium::michael_scott_queue, 8,s: 5,995,537 msg/sec xenium::michael_scott_queue, 8,i: 6,092,274 msg/sec xenium::ramalhete_queue, 1,s: 32,857,575 msg/sec xenium::ramalhete_queue, 1,i: 32,911,036 msg/sec xenium::ramalhete_queue, 2,s: 23,495,740 msg/sec xenium::ramalhete_queue, 2,i: 23,434,365 msg/sec xenium::ramalhete_queue, 3,s: 29,165,421 msg/sec xenium::ramalhete_queue, 3,i: 28,471,387 msg/sec xenium::ramalhete_queue, 4,s: 33,941,091 msg/sec xenium::ramalhete_queue, 4,i: 33,522,440 msg/sec xenium::ramalhete_queue, 5,s: 31,994,821 msg/sec xenium::ramalhete_queue, 5,i: 36,018,082 msg/sec xenium::ramalhete_queue, 6,s: 34,043,179 msg/sec xenium::ramalhete_queue, 6,i: 38,922,087 msg/sec xenium::ramalhete_queue, 7,s: 35,008,770 msg/sec xenium::ramalhete_queue, 7,i: 41,183,046 msg/sec xenium::ramalhete_queue, 8,s: 35,521,823 msg/sec xenium::ramalhete_queue, 8,i: 43,999,842 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,166,194 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,584,461 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,305,296 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,420,442 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,662,570 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,867,012 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,573,871 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,294,140 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,954,097 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,361,617 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,768,938 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,659,865 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,238,926 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,831,800 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,380,400 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,368,815 msg/sec AtomicQueue, 1,s: 59,636,745 msg/sec AtomicQueue, 1,i: 56,054,529 msg/sec AtomicQueue, 2,s: 12,275,804 msg/sec AtomicQueue, 2,i: 11,724,227 msg/sec AtomicQueue, 3,s: 10,764,677 msg/sec AtomicQueue, 3,i: 9,892,641 msg/sec AtomicQueue, 4,s: 8,166,938 msg/sec AtomicQueue, 4,i: 8,223,938 msg/sec AtomicQueue, 5,s: 7,995,496 msg/sec AtomicQueue, 5,i: 8,084,637 msg/sec AtomicQueue, 6,s: 7,837,569 msg/sec AtomicQueue, 6,i: 7,611,919 msg/sec AtomicQueue, 7,s: 7,162,855 msg/sec AtomicQueue, 7,i: 7,970,444 msg/sec AtomicQueue, 8,s: 6,334,936 msg/sec AtomicQueue, 8,i: 7,444,954 msg/sec AtomicQueueB, 1,s: 43,955,654 msg/sec AtomicQueueB, 1,i: 42,947,194 msg/sec AtomicQueueB, 2,s: 11,794,039 msg/sec AtomicQueueB, 2,i: 11,462,109 msg/sec AtomicQueueB, 3,s: 11,081,270 msg/sec AtomicQueueB, 3,i: 10,233,784 msg/sec AtomicQueueB, 4,s: 8,060,949 msg/sec AtomicQueueB, 4,i: 7,964,895 msg/sec AtomicQueueB, 5,s: 7,621,377 msg/sec AtomicQueueB, 5,i: 7,732,700 msg/sec AtomicQueueB, 6,s: 7,307,246 msg/sec AtomicQueueB, 6,i: 7,567,487 msg/sec AtomicQueueB, 7,s: 6,960,152 msg/sec AtomicQueueB, 7,i: 7,729,350 msg/sec AtomicQueueB, 8,s: 6,225,276 msg/sec AtomicQueueB, 8,i: 7,185,567 msg/sec OptimistAtomicQueue, 1,s: 739,879,603 msg/sec OptimistAtomicQueue, 1,i: 533,821,815 msg/sec OptimistAtomicQueue, 2,s: 32,660,861 msg/sec OptimistAtomicQueue, 2,i: 32,712,207 msg/sec OptimistAtomicQueue, 3,s: 36,638,444 msg/sec OptimistAtomicQueue, 3,i: 37,391,457 msg/sec OptimistAtomicQueue, 4,s: 39,287,373 msg/sec OptimistAtomicQueue, 4,i: 39,432,189 msg/sec OptimistAtomicQueue, 5,s: 39,974,163 msg/sec OptimistAtomicQueue, 5,i: 48,068,476 msg/sec OptimistAtomicQueue, 6,s: 42,673,335 msg/sec OptimistAtomicQueue, 6,i: 50,223,902 msg/sec OptimistAtomicQueue, 7,s: 45,154,644 msg/sec OptimistAtomicQueue, 7,i: 53,028,815 msg/sec OptimistAtomicQueue, 8,s: 46,606,053 msg/sec OptimistAtomicQueue, 8,i: 49,572,386 msg/sec OptimistAtomicQueueB, 1,s: 161,169,510 msg/sec OptimistAtomicQueueB, 1,i: 76,504,784 msg/sec OptimistAtomicQueueB, 2,s: 32,315,086 msg/sec OptimistAtomicQueueB, 2,i: 32,413,001 msg/sec OptimistAtomicQueueB, 3,s: 36,249,375 msg/sec OptimistAtomicQueueB, 3,i: 36,981,255 msg/sec OptimistAtomicQueueB, 4,s: 38,727,673 msg/sec OptimistAtomicQueueB, 4,i: 38,683,760 msg/sec OptimistAtomicQueueB, 5,s: 41,107,864 msg/sec OptimistAtomicQueueB, 5,i: 45,407,912 msg/sec OptimistAtomicQueueB, 6,s: 40,898,766 msg/sec OptimistAtomicQueueB, 6,i: 49,251,736 msg/sec OptimistAtomicQueueB, 7,s: 42,229,816 msg/sec OptimistAtomicQueueB, 7,i: 51,525,613 msg/sec OptimistAtomicQueueB, 8,s: 44,156,973 msg/sec OptimistAtomicQueueB, 8,i: 47,689,364 msg/sec AtomicQueue2, 1,s: 24,512,573 msg/sec AtomicQueue2, 1,i: 24,520,592 msg/sec AtomicQueue2, 2,s: 12,267,302 msg/sec AtomicQueue2, 2,i: 11,384,361 msg/sec AtomicQueue2, 3,s: 9,402,967 msg/sec AtomicQueue2, 3,i: 9,410,378 msg/sec AtomicQueue2, 4,s: 8,025,272 msg/sec AtomicQueue2, 4,i: 8,031,889 msg/sec AtomicQueue2, 5,s: 7,933,180 msg/sec AtomicQueue2, 5,i: 8,056,147 msg/sec AtomicQueue2, 6,s: 7,614,233 msg/sec AtomicQueue2, 6,i: 7,499,515 msg/sec AtomicQueue2, 7,s: 7,114,728 msg/sec AtomicQueue2, 7,i: 7,875,288 msg/sec AtomicQueue2, 8,s: 6,370,161 msg/sec AtomicQueue2, 8,i: 7,273,986 msg/sec AtomicQueueB2, 1,s: 36,016,339 msg/sec AtomicQueueB2, 1,i: 32,690,245 msg/sec AtomicQueueB2, 2,s: 11,392,628 msg/sec AtomicQueueB2, 2,i: 11,061,969 msg/sec AtomicQueueB2, 3,s: 9,495,026 msg/sec AtomicQueueB2, 3,i: 9,486,240 msg/sec AtomicQueueB2, 4,s: 7,966,162 msg/sec AtomicQueueB2, 4,i: 7,864,776 msg/sec AtomicQueueB2, 5,s: 7,470,124 msg/sec AtomicQueueB2, 5,i: 7,730,871 msg/sec AtomicQueueB2, 6,s: 7,315,448 msg/sec AtomicQueueB2, 6,i: 7,393,309 msg/sec AtomicQueueB2, 7,s: 6,863,109 msg/sec AtomicQueueB2, 7,i: 7,697,449 msg/sec AtomicQueueB2, 8,s: 6,275,301 msg/sec AtomicQueueB2, 8,i: 7,050,104 msg/sec OptimistAtomicQueue2, 1,s: 31,125,711 msg/sec OptimistAtomicQueue2, 1,i: 29,569,183 msg/sec OptimistAtomicQueue2, 2,s: 24,256,247 msg/sec OptimistAtomicQueue2, 2,i: 24,020,646 msg/sec OptimistAtomicQueue2, 3,s: 30,319,953 msg/sec OptimistAtomicQueue2, 3,i: 29,953,630 msg/sec OptimistAtomicQueue2, 4,s: 33,455,461 msg/sec OptimistAtomicQueue2, 4,i: 33,362,074 msg/sec OptimistAtomicQueue2, 5,s: 37,259,360 msg/sec OptimistAtomicQueue2, 5,i: 40,405,808 msg/sec OptimistAtomicQueue2, 6,s: 40,239,236 msg/sec OptimistAtomicQueue2, 6,i: 49,431,685 msg/sec OptimistAtomicQueue2, 7,s: 43,152,351 msg/sec OptimistAtomicQueue2, 7,i: 51,659,108 msg/sec OptimistAtomicQueue2, 8,s: 43,863,305 msg/sec OptimistAtomicQueue2, 8,i: 48,622,393 msg/sec OptimistAtomicQueueB2, 1,s: 75,776,646 msg/sec OptimistAtomicQueueB2, 1,i: 33,903,517 msg/sec OptimistAtomicQueueB2, 2,s: 27,773,039 msg/sec OptimistAtomicQueueB2, 2,i: 25,784,662 msg/sec OptimistAtomicQueueB2, 3,s: 29,698,554 msg/sec OptimistAtomicQueueB2, 3,i: 29,179,847 msg/sec OptimistAtomicQueueB2, 4,s: 33,341,546 msg/sec OptimistAtomicQueueB2, 4,i: 32,646,572 msg/sec OptimistAtomicQueueB2, 5,s: 34,535,073 msg/sec OptimistAtomicQueueB2, 5,i: 39,264,355 msg/sec OptimistAtomicQueueB2, 6,s: 37,185,307 msg/sec OptimistAtomicQueueB2, 6,i: 42,387,841 msg/sec OptimistAtomicQueueB2, 7,s: 40,759,712 msg/sec OptimistAtomicQueueB2, 7,i: 43,221,442 msg/sec OptimistAtomicQueueB2, 8,s: 42,610,101 msg/sec OptimistAtomicQueueB2, 8,i: 46,481,650 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [4] 476m:2s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,542,819 msg/sec boost::lockfree::spsc_queue, 1,i: 68,189,397 msg/sec boost::lockfree::queue, 1,s: 7,951,969 msg/sec boost::lockfree::queue, 1,i: 7,889,980 msg/sec boost::lockfree::queue, 2,s: 7,652,994 msg/sec boost::lockfree::queue, 2,i: 7,462,839 msg/sec boost::lockfree::queue, 3,s: 7,389,308 msg/sec boost::lockfree::queue, 3,i: 7,591,558 msg/sec boost::lockfree::queue, 4,s: 6,404,225 msg/sec boost::lockfree::queue, 4,i: 6,818,883 msg/sec boost::lockfree::queue, 5,s: 6,406,801 msg/sec boost::lockfree::queue, 5,i: 6,464,122 msg/sec boost::lockfree::queue, 6,s: 6,005,535 msg/sec boost::lockfree::queue, 6,i: 6,104,806 msg/sec boost::lockfree::queue, 7,s: 5,942,596 msg/sec boost::lockfree::queue, 7,i: 5,922,473 msg/sec boost::lockfree::queue, 8,s: 5,419,253 msg/sec boost::lockfree::queue, 8,i: 5,662,214 msg/sec moodycamel::ReaderWriterQueue, 1,s: 64,522,444 msg/sec moodycamel::ReaderWriterQueue, 1,i: 56,584,784 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,055,673 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,231,648 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,246,603 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,319,193 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,334,951 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,314,632 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,512,606 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,370,000 msg/sec moodycamel::ConcurrentQueue, 5,s: 38,392,028 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,974,130 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,526,311 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,291,370 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,086,924 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,333,303 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,179,320 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,222,931 msg/sec pthread_spinlock, 1,s: 29,295,850 msg/sec pthread_spinlock, 1,i: 27,986,827 msg/sec pthread_spinlock, 2,s: 15,663,526 msg/sec pthread_spinlock, 2,i: 17,158,147 msg/sec pthread_spinlock, 3,s: 8,342,675 msg/sec pthread_spinlock, 3,i: 11,998,517 msg/sec pthread_spinlock, 4,s: 6,453,930 msg/sec pthread_spinlock, 4,i: 9,006,445 msg/sec pthread_spinlock, 5,s: 8,690,911 msg/sec pthread_spinlock, 5,i: 9,597,048 msg/sec pthread_spinlock, 6,s: 8,298,332 msg/sec pthread_spinlock, 6,i: 8,434,220 msg/sec pthread_spinlock, 7,s: 7,560,578 msg/sec pthread_spinlock, 7,i: 7,534,235 msg/sec pthread_spinlock, 8,s: 6,640,239 msg/sec pthread_spinlock, 8,i: 7,250,577 msg/sec std::mutex, 1,s: 6,553,211 msg/sec std::mutex, 1,i: 6,554,325 msg/sec std::mutex, 2,s: 5,984,069 msg/sec std::mutex, 2,i: 6,030,639 msg/sec std::mutex, 3,s: 6,121,476 msg/sec std::mutex, 3,i: 6,094,635 msg/sec std::mutex, 4,s: 6,245,129 msg/sec std::mutex, 4,i: 6,201,971 msg/sec std::mutex, 5,s: 6,048,628 msg/sec std::mutex, 5,i: 6,085,334 msg/sec std::mutex, 6,s: 5,902,585 msg/sec std::mutex, 6,i: 5,905,190 msg/sec std::mutex, 7,s: 5,809,213 msg/sec std::mutex, 7,i: 5,834,115 msg/sec std::mutex, 8,s: 5,657,528 msg/sec std::mutex, 8,i: 5,692,159 msg/sec tbb::spin_mutex, 1,s: 37,897,363 msg/sec tbb::spin_mutex, 1,i: 32,969,930 msg/sec tbb::spin_mutex, 2,s: 21,288,973 msg/sec tbb::spin_mutex, 2,i: 18,295,727 msg/sec tbb::spin_mutex, 3,s: 8,190,195 msg/sec tbb::spin_mutex, 3,i: 10,296,983 msg/sec tbb::spin_mutex, 4,s: 3,330,766 msg/sec tbb::spin_mutex, 4,i: 6,440,433 msg/sec tbb::spin_mutex, 5,s: 5,576,648 msg/sec tbb::spin_mutex, 5,i: 5,702,361 msg/sec tbb::spin_mutex, 6,s: 5,364,203 msg/sec tbb::spin_mutex, 6,i: 4,339,070 msg/sec tbb::spin_mutex, 7,s: 4,874,604 msg/sec tbb::spin_mutex, 7,i: 4,347,200 msg/sec tbb::spin_mutex, 8,s: 4,226,963 msg/sec tbb::spin_mutex, 8,i: 4,082,808 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,293,139 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,965,986 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,780,176 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,381,017 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,096,760 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,028,504 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,394,972 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,323,321 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,666,930 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,865,172 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,051,133 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,907,930 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,942,666 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,947,349 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,957,966 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,077,330 msg/sec xenium::michael_scott_queue, 1,s: 10,017,767 msg/sec xenium::michael_scott_queue, 1,i: 9,836,538 msg/sec xenium::michael_scott_queue, 2,s: 8,668,676 msg/sec xenium::michael_scott_queue, 2,i: 8,556,294 msg/sec xenium::michael_scott_queue, 3,s: 7,420,670 msg/sec xenium::michael_scott_queue, 3,i: 7,672,783 msg/sec xenium::michael_scott_queue, 4,s: 6,253,267 msg/sec xenium::michael_scott_queue, 4,i: 6,322,152 msg/sec xenium::michael_scott_queue, 5,s: 6,322,466 msg/sec xenium::michael_scott_queue, 5,i: 6,687,996 msg/sec xenium::michael_scott_queue, 6,s: 6,533,413 msg/sec xenium::michael_scott_queue, 6,i: 6,720,785 msg/sec xenium::michael_scott_queue, 7,s: 6,293,682 msg/sec xenium::michael_scott_queue, 7,i: 6,426,585 msg/sec xenium::michael_scott_queue, 8,s: 5,989,250 msg/sec xenium::michael_scott_queue, 8,i: 6,165,098 msg/sec xenium::ramalhete_queue, 1,s: 31,943,521 msg/sec xenium::ramalhete_queue, 1,i: 32,211,016 msg/sec xenium::ramalhete_queue, 2,s: 23,900,608 msg/sec xenium::ramalhete_queue, 2,i: 24,440,140 msg/sec xenium::ramalhete_queue, 3,s: 29,282,267 msg/sec xenium::ramalhete_queue, 3,i: 28,494,072 msg/sec xenium::ramalhete_queue, 4,s: 33,870,532 msg/sec xenium::ramalhete_queue, 4,i: 33,525,545 msg/sec xenium::ramalhete_queue, 5,s: 32,138,097 msg/sec xenium::ramalhete_queue, 5,i: 36,066,686 msg/sec xenium::ramalhete_queue, 6,s: 33,861,115 msg/sec xenium::ramalhete_queue, 6,i: 39,068,158 msg/sec xenium::ramalhete_queue, 7,s: 35,107,661 msg/sec xenium::ramalhete_queue, 7,i: 41,404,516 msg/sec xenium::ramalhete_queue, 8,s: 35,535,137 msg/sec xenium::ramalhete_queue, 8,i: 43,938,337 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,067,563 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,790,285 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,512,651 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,696,342 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,710,554 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,778,907 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,538,449 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,261,893 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,952,230 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,311,618 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,834,503 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,311,478 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,263,574 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,037,137 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,421,258 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,221,046 msg/sec AtomicQueue, 1,s: 107,995,089 msg/sec AtomicQueue, 1,i: 211,903,588 msg/sec AtomicQueue, 2,s: 12,334,722 msg/sec AtomicQueue, 2,i: 11,744,049 msg/sec AtomicQueue, 3,s: 10,765,532 msg/sec AtomicQueue, 3,i: 9,923,688 msg/sec AtomicQueue, 4,s: 8,172,690 msg/sec AtomicQueue, 4,i: 8,194,038 msg/sec AtomicQueue, 5,s: 8,051,339 msg/sec AtomicQueue, 5,i: 8,085,851 msg/sec AtomicQueue, 6,s: 7,865,705 msg/sec AtomicQueue, 6,i: 7,594,656 msg/sec AtomicQueue, 7,s: 7,144,733 msg/sec AtomicQueue, 7,i: 7,977,102 msg/sec AtomicQueue, 8,s: 6,349,933 msg/sec AtomicQueue, 8,i: 7,457,459 msg/sec AtomicQueueB, 1,s: 43,724,653 msg/sec AtomicQueueB, 1,i: 43,060,694 msg/sec AtomicQueueB, 2,s: 11,960,185 msg/sec AtomicQueueB, 2,i: 11,457,387 msg/sec AtomicQueueB, 3,s: 10,966,303 msg/sec AtomicQueueB, 3,i: 10,245,556 msg/sec AtomicQueueB, 4,s: 8,069,494 msg/sec AtomicQueueB, 4,i: 7,978,711 msg/sec AtomicQueueB, 5,s: 7,575,871 msg/sec AtomicQueueB, 5,i: 7,851,529 msg/sec AtomicQueueB, 6,s: 7,197,510 msg/sec AtomicQueueB, 6,i: 7,529,530 msg/sec AtomicQueueB, 7,s: 6,852,516 msg/sec AtomicQueueB, 7,i: 7,708,540 msg/sec AtomicQueueB, 8,s: 6,190,699 msg/sec AtomicQueueB, 8,i: 7,185,532 msg/sec OptimistAtomicQueue, 1,s: 700,374,647 msg/sec OptimistAtomicQueue, 1,i: 518,740,135 msg/sec OptimistAtomicQueue, 2,s: 32,620,424 msg/sec OptimistAtomicQueue, 2,i: 32,685,671 msg/sec OptimistAtomicQueue, 3,s: 36,689,613 msg/sec OptimistAtomicQueue, 3,i: 37,289,610 msg/sec OptimistAtomicQueue, 4,s: 39,294,575 msg/sec OptimistAtomicQueue, 4,i: 39,388,172 msg/sec OptimistAtomicQueue, 5,s: 41,686,253 msg/sec OptimistAtomicQueue, 5,i: 48,642,688 msg/sec OptimistAtomicQueue, 6,s: 42,642,096 msg/sec OptimistAtomicQueue, 6,i: 49,745,484 msg/sec OptimistAtomicQueue, 7,s: 45,261,275 msg/sec OptimistAtomicQueue, 7,i: 49,500,518 msg/sec OptimistAtomicQueue, 8,s: 46,494,187 msg/sec OptimistAtomicQueue, 8,i: 49,305,996 msg/sec OptimistAtomicQueueB, 1,s: 77,860,303 msg/sec OptimistAtomicQueueB, 1,i: 77,667,891 msg/sec OptimistAtomicQueueB, 2,s: 31,665,955 msg/sec OptimistAtomicQueueB, 2,i: 31,763,399 msg/sec OptimistAtomicQueueB, 3,s: 36,050,696 msg/sec OptimistAtomicQueueB, 3,i: 36,713,969 msg/sec OptimistAtomicQueueB, 4,s: 38,750,110 msg/sec OptimistAtomicQueueB, 4,i: 38,750,063 msg/sec OptimistAtomicQueueB, 5,s: 41,058,075 msg/sec OptimistAtomicQueueB, 5,i: 45,350,340 msg/sec OptimistAtomicQueueB, 6,s: 40,408,877 msg/sec OptimistAtomicQueueB, 6,i: 49,080,103 msg/sec OptimistAtomicQueueB, 7,s: 42,048,339 msg/sec OptimistAtomicQueueB, 7,i: 47,931,920 msg/sec OptimistAtomicQueueB, 8,s: 44,212,608 msg/sec OptimistAtomicQueueB, 8,i: 48,897,617 msg/sec AtomicQueue2, 1,s: 23,146,186 msg/sec AtomicQueue2, 1,i: 23,110,940 msg/sec AtomicQueue2, 2,s: 11,828,630 msg/sec AtomicQueue2, 2,i: 11,422,207 msg/sec AtomicQueue2, 3,s: 9,464,714 msg/sec AtomicQueue2, 3,i: 9,378,941 msg/sec AtomicQueue2, 4,s: 8,101,848 msg/sec AtomicQueue2, 4,i: 8,082,312 msg/sec AtomicQueue2, 5,s: 7,909,356 msg/sec AtomicQueue2, 5,i: 8,033,669 msg/sec AtomicQueue2, 6,s: 7,816,630 msg/sec AtomicQueue2, 6,i: 7,513,661 msg/sec AtomicQueue2, 7,s: 7,065,091 msg/sec AtomicQueue2, 7,i: 7,893,311 msg/sec AtomicQueue2, 8,s: 6,391,688 msg/sec AtomicQueue2, 8,i: 7,225,620 msg/sec AtomicQueueB2, 1,s: 38,758,944 msg/sec AtomicQueueB2, 1,i: 33,467,110 msg/sec AtomicQueueB2, 2,s: 11,363,982 msg/sec AtomicQueueB2, 2,i: 11,156,897 msg/sec AtomicQueueB2, 3,s: 9,603,425 msg/sec AtomicQueueB2, 3,i: 9,497,980 msg/sec AtomicQueueB2, 4,s: 7,921,340 msg/sec AtomicQueueB2, 4,i: 7,913,101 msg/sec AtomicQueueB2, 5,s: 7,487,276 msg/sec AtomicQueueB2, 5,i: 7,696,498 msg/sec AtomicQueueB2, 6,s: 7,357,903 msg/sec AtomicQueueB2, 6,i: 7,441,043 msg/sec AtomicQueueB2, 7,s: 6,914,322 msg/sec AtomicQueueB2, 7,i: 7,710,459 msg/sec AtomicQueueB2, 8,s: 6,330,688 msg/sec AtomicQueueB2, 8,i: 7,120,508 msg/sec OptimistAtomicQueue2, 1,s: 534,514,467 msg/sec OptimistAtomicQueue2, 1,i: 32,014,328 msg/sec OptimistAtomicQueue2, 2,s: 26,231,351 msg/sec OptimistAtomicQueue2, 2,i: 24,004,464 msg/sec OptimistAtomicQueue2, 3,s: 30,525,787 msg/sec OptimistAtomicQueue2, 3,i: 30,025,642 msg/sec OptimistAtomicQueue2, 4,s: 33,262,672 msg/sec OptimistAtomicQueue2, 4,i: 33,411,277 msg/sec OptimistAtomicQueue2, 5,s: 37,101,616 msg/sec OptimistAtomicQueue2, 5,i: 41,038,598 msg/sec OptimistAtomicQueue2, 6,s: 40,113,105 msg/sec OptimistAtomicQueue2, 6,i: 49,352,550 msg/sec OptimistAtomicQueue2, 7,s: 42,623,286 msg/sec OptimistAtomicQueue2, 7,i: 51,474,986 msg/sec OptimistAtomicQueue2, 8,s: 43,912,349 msg/sec OptimistAtomicQueue2, 8,i: 48,782,572 msg/sec OptimistAtomicQueueB2, 1,s: 78,798,440 msg/sec OptimistAtomicQueueB2, 1,i: 33,874,461 msg/sec OptimistAtomicQueueB2, 2,s: 27,292,212 msg/sec OptimistAtomicQueueB2, 2,i: 23,228,704 msg/sec OptimistAtomicQueueB2, 3,s: 29,722,354 msg/sec OptimistAtomicQueueB2, 3,i: 29,143,870 msg/sec OptimistAtomicQueueB2, 4,s: 33,344,139 msg/sec OptimistAtomicQueueB2, 4,i: 32,148,582 msg/sec OptimistAtomicQueueB2, 5,s: 34,748,785 msg/sec OptimistAtomicQueueB2, 5,i: 39,229,894 msg/sec OptimistAtomicQueueB2, 6,s: 37,551,925 msg/sec OptimistAtomicQueueB2, 6,i: 42,331,624 msg/sec OptimistAtomicQueueB2, 7,s: 40,124,258 msg/sec OptimistAtomicQueueB2, 7,i: 43,144,319 msg/sec OptimistAtomicQueueB2, 8,s: 42,584,036 msg/sec OptimistAtomicQueueB2, 8,i: 45,734,964 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000297 sec/round-trip std::mutex: 0.000000468 sec/round-trip tbb::spin_mutex: 0.000000270 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000377 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000197 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [5] 474m:43s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,793,176 msg/sec boost::lockfree::spsc_queue, 1,i: 70,967,858 msg/sec boost::lockfree::queue, 1,s: 7,905,186 msg/sec boost::lockfree::queue, 1,i: 6,796,537 msg/sec boost::lockfree::queue, 2,s: 7,562,949 msg/sec boost::lockfree::queue, 2,i: 7,495,035 msg/sec boost::lockfree::queue, 3,s: 7,392,021 msg/sec boost::lockfree::queue, 3,i: 7,489,461 msg/sec boost::lockfree::queue, 4,s: 6,425,350 msg/sec boost::lockfree::queue, 4,i: 6,753,491 msg/sec boost::lockfree::queue, 5,s: 6,470,577 msg/sec boost::lockfree::queue, 5,i: 6,507,967 msg/sec boost::lockfree::queue, 6,s: 6,013,750 msg/sec boost::lockfree::queue, 6,i: 6,099,324 msg/sec boost::lockfree::queue, 7,s: 5,802,573 msg/sec boost::lockfree::queue, 7,i: 5,956,815 msg/sec boost::lockfree::queue, 8,s: 5,482,126 msg/sec boost::lockfree::queue, 8,i: 5,696,085 msg/sec moodycamel::ReaderWriterQueue, 1,s: 390,507,085 msg/sec moodycamel::ReaderWriterQueue, 1,i: 391,354,930 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,125,565 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,355,044 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,442,941 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,292,052 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,306,520 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,095,441 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,828,132 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,477,910 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,219,472 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,665,884 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,316,653 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,541,961 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,067,908 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,127,414 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,319,326 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,836,206 msg/sec pthread_spinlock, 1,s: 29,057,768 msg/sec pthread_spinlock, 1,i: 25,399,982 msg/sec pthread_spinlock, 2,s: 15,308,751 msg/sec pthread_spinlock, 2,i: 16,871,395 msg/sec pthread_spinlock, 3,s: 8,369,231 msg/sec pthread_spinlock, 3,i: 12,207,912 msg/sec pthread_spinlock, 4,s: 6,546,848 msg/sec pthread_spinlock, 4,i: 8,877,327 msg/sec pthread_spinlock, 5,s: 8,689,176 msg/sec pthread_spinlock, 5,i: 9,229,785 msg/sec pthread_spinlock, 6,s: 8,541,897 msg/sec pthread_spinlock, 6,i: 8,587,591 msg/sec pthread_spinlock, 7,s: 7,572,518 msg/sec pthread_spinlock, 7,i: 8,040,361 msg/sec pthread_spinlock, 8,s: 6,852,797 msg/sec pthread_spinlock, 8,i: 7,166,443 msg/sec std::mutex, 1,s: 6,047,220 msg/sec std::mutex, 1,i: 7,735,464 msg/sec std::mutex, 2,s: 6,209,857 msg/sec std::mutex, 2,i: 6,229,236 msg/sec std::mutex, 3,s: 6,010,302 msg/sec std::mutex, 3,i: 5,103,920 msg/sec std::mutex, 4,s: 5,646,701 msg/sec std::mutex, 4,i: 5,670,455 msg/sec std::mutex, 5,s: 5,589,163 msg/sec std::mutex, 5,i: 6,231,885 msg/sec std::mutex, 6,s: 5,953,644 msg/sec std::mutex, 6,i: 5,965,206 msg/sec std::mutex, 7,s: 5,891,880 msg/sec std::mutex, 7,i: 5,907,366 msg/sec std::mutex, 8,s: 5,757,498 msg/sec std::mutex, 8,i: 5,774,000 msg/sec tbb::spin_mutex, 1,s: 37,750,230 msg/sec tbb::spin_mutex, 1,i: 32,898,608 msg/sec tbb::spin_mutex, 2,s: 21,279,872 msg/sec tbb::spin_mutex, 2,i: 18,395,966 msg/sec tbb::spin_mutex, 3,s: 8,423,527 msg/sec tbb::spin_mutex, 3,i: 10,295,893 msg/sec tbb::spin_mutex, 4,s: 3,118,777 msg/sec tbb::spin_mutex, 4,i: 6,330,404 msg/sec tbb::spin_mutex, 5,s: 5,201,840 msg/sec tbb::spin_mutex, 5,i: 5,808,535 msg/sec tbb::spin_mutex, 6,s: 5,297,246 msg/sec tbb::spin_mutex, 6,i: 4,351,706 msg/sec tbb::spin_mutex, 7,s: 4,706,424 msg/sec tbb::spin_mutex, 7,i: 4,302,718 msg/sec tbb::spin_mutex, 8,s: 4,266,462 msg/sec tbb::spin_mutex, 8,i: 4,066,447 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,342,450 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,477,813 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,877,959 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,690,053 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,423,151 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,770,968 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,097,446 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,357,311 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,679,354 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,699,205 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,807,188 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,958,420 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,752,142 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,133,599 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,630,148 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,315,590 msg/sec xenium::michael_scott_queue, 1,s: 9,103,220 msg/sec xenium::michael_scott_queue, 1,i: 8,976,445 msg/sec xenium::michael_scott_queue, 2,s: 8,413,709 msg/sec xenium::michael_scott_queue, 2,i: 8,407,927 msg/sec xenium::michael_scott_queue, 3,s: 7,261,683 msg/sec xenium::michael_scott_queue, 3,i: 7,539,266 msg/sec xenium::michael_scott_queue, 4,s: 6,309,792 msg/sec xenium::michael_scott_queue, 4,i: 6,297,004 msg/sec xenium::michael_scott_queue, 5,s: 6,288,861 msg/sec xenium::michael_scott_queue, 5,i: 6,619,070 msg/sec xenium::michael_scott_queue, 6,s: 6,552,195 msg/sec xenium::michael_scott_queue, 6,i: 6,818,717 msg/sec xenium::michael_scott_queue, 7,s: 6,266,038 msg/sec xenium::michael_scott_queue, 7,i: 6,554,128 msg/sec xenium::michael_scott_queue, 8,s: 5,973,686 msg/sec xenium::michael_scott_queue, 8,i: 6,214,997 msg/sec xenium::ramalhete_queue, 1,s: 32,183,996 msg/sec xenium::ramalhete_queue, 1,i: 32,032,414 msg/sec xenium::ramalhete_queue, 2,s: 23,489,470 msg/sec xenium::ramalhete_queue, 2,i: 23,350,393 msg/sec xenium::ramalhete_queue, 3,s: 29,132,003 msg/sec xenium::ramalhete_queue, 3,i: 28,416,064 msg/sec xenium::ramalhete_queue, 4,s: 33,791,164 msg/sec xenium::ramalhete_queue, 4,i: 33,448,318 msg/sec xenium::ramalhete_queue, 5,s: 31,998,427 msg/sec xenium::ramalhete_queue, 5,i: 36,095,870 msg/sec xenium::ramalhete_queue, 6,s: 34,087,322 msg/sec xenium::ramalhete_queue, 6,i: 39,805,926 msg/sec xenium::ramalhete_queue, 7,s: 34,910,530 msg/sec xenium::ramalhete_queue, 7,i: 41,435,579 msg/sec xenium::ramalhete_queue, 8,s: 35,561,977 msg/sec xenium::ramalhete_queue, 8,i: 43,866,049 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,575,786 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,685,368 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,531,263 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,991,338 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,519,605 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,399,758 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,632,823 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,248,994 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,719,333 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,365,489 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,717,788 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,263,126 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,177,671 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,852,304 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,220 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,523,715 msg/sec AtomicQueue, 1,s: 60,725,562 msg/sec AtomicQueue, 1,i: 55,958,855 msg/sec AtomicQueue, 2,s: 12,339,634 msg/sec AtomicQueue, 2,i: 11,794,490 msg/sec AtomicQueue, 3,s: 10,730,786 msg/sec AtomicQueue, 3,i: 9,945,666 msg/sec AtomicQueue, 4,s: 8,167,674 msg/sec AtomicQueue, 4,i: 8,205,550 msg/sec AtomicQueue, 5,s: 8,042,800 msg/sec AtomicQueue, 5,i: 8,130,261 msg/sec AtomicQueue, 6,s: 7,766,740 msg/sec AtomicQueue, 6,i: 7,610,039 msg/sec AtomicQueue, 7,s: 7,073,749 msg/sec AtomicQueue, 7,i: 7,983,385 msg/sec AtomicQueue, 8,s: 6,350,092 msg/sec AtomicQueue, 8,i: 7,357,757 msg/sec AtomicQueueB, 1,s: 43,958,054 msg/sec AtomicQueueB, 1,i: 43,014,884 msg/sec AtomicQueueB, 2,s: 11,945,042 msg/sec AtomicQueueB, 2,i: 11,489,145 msg/sec AtomicQueueB, 3,s: 10,975,533 msg/sec AtomicQueueB, 3,i: 10,206,296 msg/sec AtomicQueueB, 4,s: 8,056,063 msg/sec AtomicQueueB, 4,i: 8,042,110 msg/sec AtomicQueueB, 5,s: 7,688,766 msg/sec AtomicQueueB, 5,i: 7,806,950 msg/sec AtomicQueueB, 6,s: 7,382,987 msg/sec AtomicQueueB, 6,i: 7,527,814 msg/sec AtomicQueueB, 7,s: 6,875,545 msg/sec AtomicQueueB, 7,i: 7,699,418 msg/sec AtomicQueueB, 8,s: 6,205,983 msg/sec AtomicQueueB, 8,i: 7,159,346 msg/sec OptimistAtomicQueue, 1,s: 734,484,699 msg/sec OptimistAtomicQueue, 1,i: 520,523,256 msg/sec OptimistAtomicQueue, 2,s: 32,127,675 msg/sec OptimistAtomicQueue, 2,i: 32,304,743 msg/sec OptimistAtomicQueue, 3,s: 36,636,652 msg/sec OptimistAtomicQueue, 3,i: 37,349,557 msg/sec OptimistAtomicQueue, 4,s: 39,281,593 msg/sec OptimistAtomicQueue, 4,i: 39,391,512 msg/sec OptimistAtomicQueue, 5,s: 42,319,772 msg/sec OptimistAtomicQueue, 5,i: 46,368,945 msg/sec OptimistAtomicQueue, 6,s: 42,630,889 msg/sec OptimistAtomicQueue, 6,i: 50,389,746 msg/sec OptimistAtomicQueue, 7,s: 45,316,817 msg/sec OptimistAtomicQueue, 7,i: 52,954,542 msg/sec OptimistAtomicQueue, 8,s: 46,355,761 msg/sec OptimistAtomicQueue, 8,i: 48,901,007 msg/sec OptimistAtomicQueueB, 1,s: 77,739,997 msg/sec OptimistAtomicQueueB, 1,i: 78,131,809 msg/sec OptimistAtomicQueueB, 2,s: 32,225,937 msg/sec OptimistAtomicQueueB, 2,i: 32,342,006 msg/sec OptimistAtomicQueueB, 3,s: 36,331,080 msg/sec OptimistAtomicQueueB, 3,i: 36,820,554 msg/sec OptimistAtomicQueueB, 4,s: 38,634,822 msg/sec OptimistAtomicQueueB, 4,i: 38,538,368 msg/sec OptimistAtomicQueueB, 5,s: 40,965,643 msg/sec OptimistAtomicQueueB, 5,i: 45,326,210 msg/sec OptimistAtomicQueueB, 6,s: 41,297,314 msg/sec OptimistAtomicQueueB, 6,i: 49,149,387 msg/sec OptimistAtomicQueueB, 7,s: 42,634,804 msg/sec OptimistAtomicQueueB, 7,i: 51,448,261 msg/sec OptimistAtomicQueueB, 8,s: 44,317,491 msg/sec OptimistAtomicQueueB, 8,i: 48,073,290 msg/sec AtomicQueue2, 1,s: 22,875,878 msg/sec AtomicQueue2, 1,i: 22,827,540 msg/sec AtomicQueue2, 2,s: 11,992,823 msg/sec AtomicQueue2, 2,i: 11,641,362 msg/sec AtomicQueue2, 3,s: 9,557,898 msg/sec AtomicQueue2, 3,i: 9,306,653 msg/sec AtomicQueue2, 4,s: 8,116,519 msg/sec AtomicQueue2, 4,i: 8,047,084 msg/sec AtomicQueue2, 5,s: 7,953,206 msg/sec AtomicQueue2, 5,i: 8,030,278 msg/sec AtomicQueue2, 6,s: 7,769,232 msg/sec AtomicQueue2, 6,i: 7,511,829 msg/sec AtomicQueue2, 7,s: 7,108,250 msg/sec AtomicQueue2, 7,i: 7,901,854 msg/sec AtomicQueue2, 8,s: 6,384,262 msg/sec AtomicQueue2, 8,i: 7,342,880 msg/sec AtomicQueueB2, 1,s: 36,163,860 msg/sec AtomicQueueB2, 1,i: 32,626,733 msg/sec AtomicQueueB2, 2,s: 11,411,791 msg/sec AtomicQueueB2, 2,i: 11,095,024 msg/sec AtomicQueueB2, 3,s: 9,685,046 msg/sec AtomicQueueB2, 3,i: 9,561,675 msg/sec AtomicQueueB2, 4,s: 7,891,792 msg/sec AtomicQueueB2, 4,i: 7,863,222 msg/sec AtomicQueueB2, 5,s: 7,541,695 msg/sec AtomicQueueB2, 5,i: 7,769,952 msg/sec AtomicQueueB2, 6,s: 7,334,455 msg/sec AtomicQueueB2, 6,i: 7,386,166 msg/sec AtomicQueueB2, 7,s: 6,925,191 msg/sec AtomicQueueB2, 7,i: 7,701,858 msg/sec AtomicQueueB2, 8,s: 6,351,525 msg/sec AtomicQueueB2, 8,i: 7,108,263 msg/sec OptimistAtomicQueue2, 1,s: 459,440,426 msg/sec OptimistAtomicQueue2, 1,i: 29,533,424 msg/sec OptimistAtomicQueue2, 2,s: 26,354,438 msg/sec OptimistAtomicQueue2, 2,i: 25,373,869 msg/sec OptimistAtomicQueue2, 3,s: 32,935,516 msg/sec OptimistAtomicQueue2, 3,i: 30,062,432 msg/sec OptimistAtomicQueue2, 4,s: 33,256,633 msg/sec OptimistAtomicQueue2, 4,i: 33,133,836 msg/sec OptimistAtomicQueue2, 5,s: 37,072,546 msg/sec OptimistAtomicQueue2, 5,i: 41,281,659 msg/sec OptimistAtomicQueue2, 6,s: 40,217,573 msg/sec OptimistAtomicQueue2, 6,i: 49,182,971 msg/sec OptimistAtomicQueue2, 7,s: 43,396,731 msg/sec OptimistAtomicQueue2, 7,i: 51,467,827 msg/sec OptimistAtomicQueue2, 8,s: 43,976,880 msg/sec OptimistAtomicQueue2, 8,i: 48,703,611 msg/sec OptimistAtomicQueueB2, 1,s: 75,340,557 msg/sec OptimistAtomicQueueB2, 1,i: 33,870,723 msg/sec OptimistAtomicQueueB2, 2,s: 26,938,512 msg/sec OptimistAtomicQueueB2, 2,i: 23,202,213 msg/sec OptimistAtomicQueueB2, 3,s: 29,676,258 msg/sec OptimistAtomicQueueB2, 3,i: 28,921,273 msg/sec OptimistAtomicQueueB2, 4,s: 33,074,088 msg/sec OptimistAtomicQueueB2, 4,i: 31,976,730 msg/sec OptimistAtomicQueueB2, 5,s: 34,385,049 msg/sec OptimistAtomicQueueB2, 5,i: 38,683,443 msg/sec OptimistAtomicQueueB2, 6,s: 37,329,360 msg/sec OptimistAtomicQueueB2, 6,i: 42,371,547 msg/sec OptimistAtomicQueueB2, 7,s: 40,796,456 msg/sec OptimistAtomicQueueB2, 7,i: 43,149,553 msg/sec OptimistAtomicQueueB2, 8,s: 42,220,338 msg/sec OptimistAtomicQueueB2, 8,i: 45,273,352 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000120 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000235 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [6] 473m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,713,906 msg/sec boost::lockfree::spsc_queue, 1,i: 67,369,714 msg/sec boost::lockfree::queue, 1,s: 8,003,438 msg/sec boost::lockfree::queue, 1,i: 7,968,232 msg/sec boost::lockfree::queue, 2,s: 7,678,778 msg/sec boost::lockfree::queue, 2,i: 7,532,800 msg/sec boost::lockfree::queue, 3,s: 7,473,046 msg/sec boost::lockfree::queue, 3,i: 7,591,116 msg/sec boost::lockfree::queue, 4,s: 6,426,333 msg/sec boost::lockfree::queue, 4,i: 6,783,078 msg/sec boost::lockfree::queue, 5,s: 6,408,529 msg/sec boost::lockfree::queue, 5,i: 6,437,426 msg/sec boost::lockfree::queue, 6,s: 6,011,638 msg/sec boost::lockfree::queue, 6,i: 6,114,678 msg/sec boost::lockfree::queue, 7,s: 5,895,084 msg/sec boost::lockfree::queue, 7,i: 5,939,029 msg/sec boost::lockfree::queue, 8,s: 5,393,572 msg/sec boost::lockfree::queue, 8,i: 5,656,553 msg/sec moodycamel::ReaderWriterQueue, 1,s: 121,012,322 msg/sec moodycamel::ReaderWriterQueue, 1,i: 60,721,717 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,756,020 msg/sec moodycamel::ConcurrentQueue, 1,i: 20,411,533 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,457,205 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,452,191 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,362,141 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,100,261 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,618,390 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,826,152 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,316,706 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,076,818 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,439,418 msg/sec moodycamel::ConcurrentQueue, 6,i: 31,759,326 msg/sec moodycamel::ConcurrentQueue, 7,s: 47,605,615 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,992,964 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,196,189 msg/sec moodycamel::ConcurrentQueue, 8,i: 37,128,693 msg/sec pthread_spinlock, 1,s: 28,713,101 msg/sec pthread_spinlock, 1,i: 25,306,116 msg/sec pthread_spinlock, 2,s: 15,548,736 msg/sec pthread_spinlock, 2,i: 17,075,510 msg/sec pthread_spinlock, 3,s: 8,392,377 msg/sec pthread_spinlock, 3,i: 12,097,439 msg/sec pthread_spinlock, 4,s: 6,516,174 msg/sec pthread_spinlock, 4,i: 8,984,735 msg/sec pthread_spinlock, 5,s: 8,645,606 msg/sec pthread_spinlock, 5,i: 9,030,391 msg/sec pthread_spinlock, 6,s: 8,552,577 msg/sec pthread_spinlock, 6,i: 8,490,888 msg/sec pthread_spinlock, 7,s: 7,543,375 msg/sec pthread_spinlock, 7,i: 7,599,096 msg/sec pthread_spinlock, 8,s: 6,686,700 msg/sec pthread_spinlock, 8,i: 6,889,551 msg/sec std::mutex, 1,s: 6,840,801 msg/sec std::mutex, 1,i: 6,430,663 msg/sec std::mutex, 2,s: 5,231,612 msg/sec std::mutex, 2,i: 5,496,260 msg/sec std::mutex, 3,s: 6,108,229 msg/sec std::mutex, 3,i: 5,576,470 msg/sec std::mutex, 4,s: 5,639,350 msg/sec std::mutex, 4,i: 5,840,580 msg/sec std::mutex, 5,s: 5,422,247 msg/sec std::mutex, 5,i: 6,040,357 msg/sec std::mutex, 6,s: 5,901,619 msg/sec std::mutex, 6,i: 5,870,231 msg/sec std::mutex, 7,s: 5,786,866 msg/sec std::mutex, 7,i: 5,860,203 msg/sec std::mutex, 8,s: 5,703,729 msg/sec std::mutex, 8,i: 5,736,267 msg/sec tbb::spin_mutex, 1,s: 37,821,963 msg/sec tbb::spin_mutex, 1,i: 32,610,704 msg/sec tbb::spin_mutex, 2,s: 21,060,354 msg/sec tbb::spin_mutex, 2,i: 18,085,657 msg/sec tbb::spin_mutex, 3,s: 8,219,657 msg/sec tbb::spin_mutex, 3,i: 10,275,853 msg/sec tbb::spin_mutex, 4,s: 3,231,808 msg/sec tbb::spin_mutex, 4,i: 6,427,138 msg/sec tbb::spin_mutex, 5,s: 5,205,331 msg/sec tbb::spin_mutex, 5,i: 5,675,528 msg/sec tbb::spin_mutex, 6,s: 5,357,618 msg/sec tbb::spin_mutex, 6,i: 4,352,713 msg/sec tbb::spin_mutex, 7,s: 4,853,530 msg/sec tbb::spin_mutex, 7,i: 4,330,112 msg/sec tbb::spin_mutex, 8,s: 4,251,310 msg/sec tbb::spin_mutex, 8,i: 4,171,120 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,738,492 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,883,077 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,237,976 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,507,623 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,769,980 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,797,883 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,499,032 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,552,881 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,866,037 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,679,515 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,994,998 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,678,134 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,882,421 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,809,189 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,760,162 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,465,400 msg/sec xenium::michael_scott_queue, 1,s: 9,178,595 msg/sec xenium::michael_scott_queue, 1,i: 9,338,368 msg/sec xenium::michael_scott_queue, 2,s: 8,399,118 msg/sec xenium::michael_scott_queue, 2,i: 8,366,837 msg/sec xenium::michael_scott_queue, 3,s: 7,286,648 msg/sec xenium::michael_scott_queue, 3,i: 7,557,571 msg/sec xenium::michael_scott_queue, 4,s: 6,312,256 msg/sec xenium::michael_scott_queue, 4,i: 6,352,817 msg/sec xenium::michael_scott_queue, 5,s: 6,330,323 msg/sec xenium::michael_scott_queue, 5,i: 6,690,728 msg/sec xenium::michael_scott_queue, 6,s: 6,456,430 msg/sec xenium::michael_scott_queue, 6,i: 6,825,177 msg/sec xenium::michael_scott_queue, 7,s: 6,282,101 msg/sec xenium::michael_scott_queue, 7,i: 6,598,565 msg/sec xenium::michael_scott_queue, 8,s: 5,977,055 msg/sec xenium::michael_scott_queue, 8,i: 6,201,959 msg/sec xenium::ramalhete_queue, 1,s: 32,028,105 msg/sec xenium::ramalhete_queue, 1,i: 32,178,843 msg/sec xenium::ramalhete_queue, 2,s: 23,696,152 msg/sec xenium::ramalhete_queue, 2,i: 23,399,117 msg/sec xenium::ramalhete_queue, 3,s: 29,258,735 msg/sec xenium::ramalhete_queue, 3,i: 28,407,701 msg/sec xenium::ramalhete_queue, 4,s: 33,761,011 msg/sec xenium::ramalhete_queue, 4,i: 33,489,933 msg/sec xenium::ramalhete_queue, 5,s: 32,180,091 msg/sec xenium::ramalhete_queue, 5,i: 38,571,917 msg/sec xenium::ramalhete_queue, 6,s: 33,965,121 msg/sec xenium::ramalhete_queue, 6,i: 38,975,970 msg/sec xenium::ramalhete_queue, 7,s: 35,173,434 msg/sec xenium::ramalhete_queue, 7,i: 41,542,583 msg/sec xenium::ramalhete_queue, 8,s: 35,461,948 msg/sec xenium::ramalhete_queue, 8,i: 43,927,565 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,339,159 msg/sec xenium::vyukov_bounded_queue, 1,i: 61,857,288 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,243,338 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,115,972 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,596,674 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,745,200 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,546,719 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,169,648 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,979,541 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,438,452 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,145,978 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,497,782 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,127,359 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,111,245 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,379,913 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,221,191 msg/sec AtomicQueue, 1,s: 62,466,974 msg/sec AtomicQueue, 1,i: 56,757,078 msg/sec AtomicQueue, 2,s: 12,253,586 msg/sec AtomicQueue, 2,i: 11,727,742 msg/sec AtomicQueue, 3,s: 10,798,103 msg/sec AtomicQueue, 3,i: 9,931,764 msg/sec AtomicQueue, 4,s: 8,197,244 msg/sec AtomicQueue, 4,i: 8,189,182 msg/sec AtomicQueue, 5,s: 8,038,954 msg/sec AtomicQueue, 5,i: 8,080,994 msg/sec AtomicQueue, 6,s: 7,883,778 msg/sec AtomicQueue, 6,i: 7,620,471 msg/sec AtomicQueue, 7,s: 7,075,584 msg/sec AtomicQueue, 7,i: 7,985,828 msg/sec AtomicQueue, 8,s: 6,342,695 msg/sec AtomicQueue, 8,i: 7,432,585 msg/sec AtomicQueueB, 1,s: 43,924,531 msg/sec AtomicQueueB, 1,i: 43,264,786 msg/sec AtomicQueueB, 2,s: 11,814,417 msg/sec AtomicQueueB, 2,i: 11,436,367 msg/sec AtomicQueueB, 3,s: 11,003,470 msg/sec AtomicQueueB, 3,i: 10,372,751 msg/sec AtomicQueueB, 4,s: 7,984,448 msg/sec AtomicQueueB, 4,i: 8,120,461 msg/sec AtomicQueueB, 5,s: 7,577,541 msg/sec AtomicQueueB, 5,i: 7,798,117 msg/sec AtomicQueueB, 6,s: 7,394,560 msg/sec AtomicQueueB, 6,i: 7,538,310 msg/sec AtomicQueueB, 7,s: 6,895,369 msg/sec AtomicQueueB, 7,i: 7,747,386 msg/sec AtomicQueueB, 8,s: 6,186,816 msg/sec AtomicQueueB, 8,i: 7,174,759 msg/sec OptimistAtomicQueue, 1,s: 745,529,942 msg/sec OptimistAtomicQueue, 1,i: 716,495,206 msg/sec OptimistAtomicQueue, 2,s: 32,193,900 msg/sec OptimistAtomicQueue, 2,i: 32,180,375 msg/sec OptimistAtomicQueue, 3,s: 36,639,318 msg/sec OptimistAtomicQueue, 3,i: 37,327,711 msg/sec OptimistAtomicQueue, 4,s: 39,257,631 msg/sec OptimistAtomicQueue, 4,i: 39,380,593 msg/sec OptimistAtomicQueue, 5,s: 41,752,536 msg/sec OptimistAtomicQueue, 5,i: 46,154,000 msg/sec OptimistAtomicQueue, 6,s: 42,054,988 msg/sec OptimistAtomicQueue, 6,i: 50,480,322 msg/sec OptimistAtomicQueue, 7,s: 45,387,073 msg/sec OptimistAtomicQueue, 7,i: 53,024,357 msg/sec OptimistAtomicQueue, 8,s: 46,328,570 msg/sec OptimistAtomicQueue, 8,i: 50,556,859 msg/sec OptimistAtomicQueueB, 1,s: 304,636,638 msg/sec OptimistAtomicQueueB, 1,i: 77,705,928 msg/sec OptimistAtomicQueueB, 2,s: 31,861,229 msg/sec OptimistAtomicQueueB, 2,i: 32,115,768 msg/sec OptimistAtomicQueueB, 3,s: 36,197,869 msg/sec OptimistAtomicQueueB, 3,i: 36,881,634 msg/sec OptimistAtomicQueueB, 4,s: 38,631,123 msg/sec OptimistAtomicQueueB, 4,i: 38,610,533 msg/sec OptimistAtomicQueueB, 5,s: 40,519,365 msg/sec OptimistAtomicQueueB, 5,i: 45,434,685 msg/sec OptimistAtomicQueueB, 6,s: 41,002,225 msg/sec OptimistAtomicQueueB, 6,i: 49,060,392 msg/sec OptimistAtomicQueueB, 7,s: 42,629,944 msg/sec OptimistAtomicQueueB, 7,i: 47,966,266 msg/sec OptimistAtomicQueueB, 8,s: 44,465,431 msg/sec OptimistAtomicQueueB, 8,i: 48,425,677 msg/sec AtomicQueue2, 1,s: 23,138,033 msg/sec AtomicQueue2, 1,i: 23,116,004 msg/sec AtomicQueue2, 2,s: 11,793,593 msg/sec AtomicQueue2, 2,i: 11,372,378 msg/sec AtomicQueue2, 3,s: 10,001,213 msg/sec AtomicQueue2, 3,i: 9,407,360 msg/sec AtomicQueue2, 4,s: 8,074,786 msg/sec AtomicQueue2, 4,i: 8,053,530 msg/sec AtomicQueue2, 5,s: 7,909,398 msg/sec AtomicQueue2, 5,i: 8,013,247 msg/sec AtomicQueue2, 6,s: 7,790,182 msg/sec AtomicQueue2, 6,i: 7,542,483 msg/sec AtomicQueue2, 7,s: 7,182,368 msg/sec AtomicQueue2, 7,i: 7,890,039 msg/sec AtomicQueue2, 8,s: 6,396,894 msg/sec AtomicQueue2, 8,i: 7,240,084 msg/sec AtomicQueueB2, 1,s: 36,155,068 msg/sec AtomicQueueB2, 1,i: 36,039,702 msg/sec AtomicQueueB2, 2,s: 11,440,527 msg/sec AtomicQueueB2, 2,i: 11,117,175 msg/sec AtomicQueueB2, 3,s: 9,713,953 msg/sec AtomicQueueB2, 3,i: 9,572,987 msg/sec AtomicQueueB2, 4,s: 7,893,764 msg/sec AtomicQueueB2, 4,i: 7,889,233 msg/sec AtomicQueueB2, 5,s: 7,511,607 msg/sec AtomicQueueB2, 5,i: 7,605,879 msg/sec AtomicQueueB2, 6,s: 7,222,874 msg/sec AtomicQueueB2, 6,i: 7,425,232 msg/sec AtomicQueueB2, 7,s: 6,801,064 msg/sec AtomicQueueB2, 7,i: 7,711,087 msg/sec AtomicQueueB2, 8,s: 6,316,648 msg/sec AtomicQueueB2, 8,i: 7,087,017 msg/sec OptimistAtomicQueue2, 1,s: 420,198,875 msg/sec OptimistAtomicQueue2, 1,i: 30,072,323 msg/sec OptimistAtomicQueue2, 2,s: 25,277,577 msg/sec OptimistAtomicQueue2, 2,i: 23,491,614 msg/sec OptimistAtomicQueue2, 3,s: 30,317,810 msg/sec OptimistAtomicQueue2, 3,i: 29,991,816 msg/sec OptimistAtomicQueue2, 4,s: 33,198,329 msg/sec OptimistAtomicQueue2, 4,i: 33,019,597 msg/sec OptimistAtomicQueue2, 5,s: 37,702,383 msg/sec OptimistAtomicQueue2, 5,i: 40,993,381 msg/sec OptimistAtomicQueue2, 6,s: 40,467,268 msg/sec OptimistAtomicQueue2, 6,i: 48,816,061 msg/sec OptimistAtomicQueue2, 7,s: 42,764,272 msg/sec OptimistAtomicQueue2, 7,i: 51,375,636 msg/sec OptimistAtomicQueue2, 8,s: 43,856,675 msg/sec OptimistAtomicQueue2, 8,i: 49,553,285 msg/sec OptimistAtomicQueueB2, 1,s: 76,175,241 msg/sec OptimistAtomicQueueB2, 1,i: 34,365,807 msg/sec OptimistAtomicQueueB2, 2,s: 27,917,762 msg/sec OptimistAtomicQueueB2, 2,i: 26,180,241 msg/sec OptimistAtomicQueueB2, 3,s: 30,363,069 msg/sec OptimistAtomicQueueB2, 3,i: 29,174,159 msg/sec OptimistAtomicQueueB2, 4,s: 33,195,499 msg/sec OptimistAtomicQueueB2, 4,i: 32,741,212 msg/sec OptimistAtomicQueueB2, 5,s: 34,540,586 msg/sec OptimistAtomicQueueB2, 5,i: 39,375,520 msg/sec OptimistAtomicQueueB2, 6,s: 37,030,570 msg/sec OptimistAtomicQueueB2, 6,i: 42,430,266 msg/sec OptimistAtomicQueueB2, 7,s: 40,700,110 msg/sec OptimistAtomicQueueB2, 7,i: 43,167,585 msg/sec OptimistAtomicQueueB2, 8,s: 42,439,339 msg/sec OptimistAtomicQueueB2, 8,i: 45,879,644 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000277 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [7] 472m:5s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,628,246 msg/sec boost::lockfree::spsc_queue, 1,i: 71,647,427 msg/sec boost::lockfree::queue, 1,s: 7,916,291 msg/sec boost::lockfree::queue, 1,i: 7,638,686 msg/sec boost::lockfree::queue, 2,s: 7,586,880 msg/sec boost::lockfree::queue, 2,i: 7,473,686 msg/sec boost::lockfree::queue, 3,s: 7,336,049 msg/sec boost::lockfree::queue, 3,i: 7,580,561 msg/sec boost::lockfree::queue, 4,s: 6,422,108 msg/sec boost::lockfree::queue, 4,i: 6,783,621 msg/sec boost::lockfree::queue, 5,s: 6,432,055 msg/sec boost::lockfree::queue, 5,i: 6,491,132 msg/sec boost::lockfree::queue, 6,s: 5,983,529 msg/sec boost::lockfree::queue, 6,i: 6,085,483 msg/sec boost::lockfree::queue, 7,s: 6,027,780 msg/sec boost::lockfree::queue, 7,i: 5,941,091 msg/sec boost::lockfree::queue, 8,s: 5,425,133 msg/sec boost::lockfree::queue, 8,i: 5,574,047 msg/sec moodycamel::ReaderWriterQueue, 1,s: 102,903,652 msg/sec moodycamel::ReaderWriterQueue, 1,i: 83,552,617 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,594,867 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,777,818 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,555,690 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,535,711 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,888,873 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,481,785 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,613,401 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,662,914 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,166,228 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,654,327 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,532,928 msg/sec moodycamel::ConcurrentQueue, 6,i: 45,726,498 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,398,748 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,672,768 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,187,871 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,044,803 msg/sec pthread_spinlock, 1,s: 28,877,972 msg/sec pthread_spinlock, 1,i: 25,368,143 msg/sec pthread_spinlock, 2,s: 15,606,934 msg/sec pthread_spinlock, 2,i: 16,971,451 msg/sec pthread_spinlock, 3,s: 8,339,769 msg/sec pthread_spinlock, 3,i: 12,032,243 msg/sec pthread_spinlock, 4,s: 6,471,729 msg/sec pthread_spinlock, 4,i: 8,948,492 msg/sec pthread_spinlock, 5,s: 8,663,347 msg/sec pthread_spinlock, 5,i: 10,411,483 msg/sec pthread_spinlock, 6,s: 8,282,629 msg/sec pthread_spinlock, 6,i: 8,502,805 msg/sec pthread_spinlock, 7,s: 7,513,852 msg/sec pthread_spinlock, 7,i: 7,651,982 msg/sec pthread_spinlock, 8,s: 6,915,630 msg/sec pthread_spinlock, 8,i: 7,015,001 msg/sec std::mutex, 1,s: 7,639,982 msg/sec std::mutex, 1,i: 7,333,624 msg/sec std::mutex, 2,s: 5,294,939 msg/sec std::mutex, 2,i: 5,655,356 msg/sec std::mutex, 3,s: 5,639,753 msg/sec std::mutex, 3,i: 5,892,353 msg/sec std::mutex, 4,s: 5,835,364 msg/sec std::mutex, 4,i: 5,808,473 msg/sec std::mutex, 5,s: 6,202,474 msg/sec std::mutex, 5,i: 6,126,060 msg/sec std::mutex, 6,s: 6,061,344 msg/sec std::mutex, 6,i: 6,015,083 msg/sec std::mutex, 7,s: 5,949,366 msg/sec std::mutex, 7,i: 5,927,729 msg/sec std::mutex, 8,s: 5,739,416 msg/sec std::mutex, 8,i: 5,744,994 msg/sec tbb::spin_mutex, 1,s: 37,797,741 msg/sec tbb::spin_mutex, 1,i: 33,164,987 msg/sec tbb::spin_mutex, 2,s: 21,118,488 msg/sec tbb::spin_mutex, 2,i: 20,081,179 msg/sec tbb::spin_mutex, 3,s: 9,022,142 msg/sec tbb::spin_mutex, 3,i: 10,356,364 msg/sec tbb::spin_mutex, 4,s: 3,168,803 msg/sec tbb::spin_mutex, 4,i: 6,328,620 msg/sec tbb::spin_mutex, 5,s: 5,434,109 msg/sec tbb::spin_mutex, 5,i: 5,639,775 msg/sec tbb::spin_mutex, 6,s: 5,307,252 msg/sec tbb::spin_mutex, 6,i: 4,295,408 msg/sec tbb::spin_mutex, 7,s: 4,819,258 msg/sec tbb::spin_mutex, 7,i: 4,359,197 msg/sec tbb::spin_mutex, 8,s: 4,250,233 msg/sec tbb::spin_mutex, 8,i: 4,059,122 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,927,992 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,867,327 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,200,830 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,285,599 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,188,627 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,277,090 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,981,449 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,194,636 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,648,624 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,388,936 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,598,882 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,713,609 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,688,612 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,088,453 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,763,063 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,940,519 msg/sec xenium::michael_scott_queue, 1,s: 10,106,879 msg/sec xenium::michael_scott_queue, 1,i: 9,895,693 msg/sec xenium::michael_scott_queue, 2,s: 8,509,160 msg/sec xenium::michael_scott_queue, 2,i: 8,526,180 msg/sec xenium::michael_scott_queue, 3,s: 7,324,959 msg/sec xenium::michael_scott_queue, 3,i: 7,625,476 msg/sec xenium::michael_scott_queue, 4,s: 6,330,108 msg/sec xenium::michael_scott_queue, 4,i: 6,324,364 msg/sec xenium::michael_scott_queue, 5,s: 6,318,674 msg/sec xenium::michael_scott_queue, 5,i: 6,639,432 msg/sec xenium::michael_scott_queue, 6,s: 6,542,049 msg/sec xenium::michael_scott_queue, 6,i: 6,936,333 msg/sec xenium::michael_scott_queue, 7,s: 6,323,646 msg/sec xenium::michael_scott_queue, 7,i: 6,554,744 msg/sec xenium::michael_scott_queue, 8,s: 6,087,777 msg/sec xenium::michael_scott_queue, 8,i: 6,103,054 msg/sec xenium::ramalhete_queue, 1,s: 32,248,173 msg/sec xenium::ramalhete_queue, 1,i: 32,594,235 msg/sec xenium::ramalhete_queue, 2,s: 23,554,656 msg/sec xenium::ramalhete_queue, 2,i: 23,348,471 msg/sec xenium::ramalhete_queue, 3,s: 29,139,068 msg/sec xenium::ramalhete_queue, 3,i: 28,476,985 msg/sec xenium::ramalhete_queue, 4,s: 33,873,584 msg/sec xenium::ramalhete_queue, 4,i: 33,537,238 msg/sec xenium::ramalhete_queue, 5,s: 32,099,005 msg/sec xenium::ramalhete_queue, 5,i: 35,963,844 msg/sec xenium::ramalhete_queue, 6,s: 34,073,398 msg/sec xenium::ramalhete_queue, 6,i: 38,891,290 msg/sec xenium::ramalhete_queue, 7,s: 35,260,270 msg/sec xenium::ramalhete_queue, 7,i: 41,121,558 msg/sec xenium::ramalhete_queue, 8,s: 35,667,970 msg/sec xenium::ramalhete_queue, 8,i: 44,085,047 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,183,528 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,045,714 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,111,240 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,339,007 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,558,935 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,782,804 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,535,318 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,071,487 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,984,097 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,106,450 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,967,303 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,506,199 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,224,997 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,823,766 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,816 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,515,283 msg/sec AtomicQueue, 1,s: 59,116,760 msg/sec AtomicQueue, 1,i: 57,167,225 msg/sec AtomicQueue, 2,s: 12,269,590 msg/sec AtomicQueue, 2,i: 11,746,307 msg/sec AtomicQueue, 3,s: 10,808,561 msg/sec AtomicQueue, 3,i: 9,927,525 msg/sec AtomicQueue, 4,s: 8,166,201 msg/sec AtomicQueue, 4,i: 8,202,173 msg/sec AtomicQueue, 5,s: 8,009,420 msg/sec AtomicQueue, 5,i: 8,072,042 msg/sec AtomicQueue, 6,s: 7,710,383 msg/sec AtomicQueue, 6,i: 7,610,504 msg/sec AtomicQueue, 7,s: 7,098,100 msg/sec AtomicQueue, 7,i: 8,010,443 msg/sec AtomicQueue, 8,s: 6,311,027 msg/sec AtomicQueue, 8,i: 7,335,835 msg/sec AtomicQueueB, 1,s: 44,022,599 msg/sec AtomicQueueB, 1,i: 43,839,577 msg/sec AtomicQueueB, 2,s: 11,604,452 msg/sec AtomicQueueB, 2,i: 11,461,137 msg/sec AtomicQueueB, 3,s: 11,025,256 msg/sec AtomicQueueB, 3,i: 10,176,036 msg/sec AtomicQueueB, 4,s: 8,032,767 msg/sec AtomicQueueB, 4,i: 8,058,641 msg/sec AtomicQueueB, 5,s: 7,542,457 msg/sec AtomicQueueB, 5,i: 7,818,981 msg/sec AtomicQueueB, 6,s: 7,432,263 msg/sec AtomicQueueB, 6,i: 7,591,056 msg/sec AtomicQueueB, 7,s: 6,930,350 msg/sec AtomicQueueB, 7,i: 7,675,746 msg/sec AtomicQueueB, 8,s: 6,230,028 msg/sec AtomicQueueB, 8,i: 7,210,720 msg/sec OptimistAtomicQueue, 1,s: 764,231,081 msg/sec OptimistAtomicQueue, 1,i: 611,804,523 msg/sec OptimistAtomicQueue, 2,s: 32,309,596 msg/sec OptimistAtomicQueue, 2,i: 32,477,855 msg/sec OptimistAtomicQueue, 3,s: 36,688,030 msg/sec OptimistAtomicQueue, 3,i: 37,413,219 msg/sec OptimistAtomicQueue, 4,s: 39,286,635 msg/sec OptimistAtomicQueue, 4,i: 39,381,690 msg/sec OptimistAtomicQueue, 5,s: 42,584,085 msg/sec OptimistAtomicQueue, 5,i: 47,270,377 msg/sec OptimistAtomicQueue, 6,s: 42,449,441 msg/sec OptimistAtomicQueue, 6,i: 50,273,756 msg/sec OptimistAtomicQueue, 7,s: 45,226,156 msg/sec OptimistAtomicQueue, 7,i: 52,928,950 msg/sec OptimistAtomicQueue, 8,s: 46,336,989 msg/sec OptimistAtomicQueue, 8,i: 48,898,497 msg/sec OptimistAtomicQueueB, 1,s: 263,372,820 msg/sec OptimistAtomicQueueB, 1,i: 437,989,309 msg/sec OptimistAtomicQueueB, 2,s: 32,259,283 msg/sec OptimistAtomicQueueB, 2,i: 32,112,391 msg/sec OptimistAtomicQueueB, 3,s: 36,278,628 msg/sec OptimistAtomicQueueB, 3,i: 36,918,194 msg/sec OptimistAtomicQueueB, 4,s: 38,736,823 msg/sec OptimistAtomicQueueB, 4,i: 38,733,934 msg/sec OptimistAtomicQueueB, 5,s: 40,747,282 msg/sec OptimistAtomicQueueB, 5,i: 45,327,062 msg/sec OptimistAtomicQueueB, 6,s: 41,263,794 msg/sec OptimistAtomicQueueB, 6,i: 49,154,730 msg/sec OptimistAtomicQueueB, 7,s: 41,325,269 msg/sec OptimistAtomicQueueB, 7,i: 47,664,591 msg/sec OptimistAtomicQueueB, 8,s: 44,304,051 msg/sec OptimistAtomicQueueB, 8,i: 48,121,008 msg/sec AtomicQueue2, 1,s: 23,104,189 msg/sec AtomicQueue2, 1,i: 23,043,606 msg/sec AtomicQueue2, 2,s: 11,889,665 msg/sec AtomicQueue2, 2,i: 11,720,978 msg/sec AtomicQueue2, 3,s: 9,838,836 msg/sec AtomicQueue2, 3,i: 9,396,430 msg/sec AtomicQueue2, 4,s: 8,014,856 msg/sec AtomicQueue2, 4,i: 8,025,944 msg/sec AtomicQueue2, 5,s: 7,964,489 msg/sec AtomicQueue2, 5,i: 8,017,804 msg/sec AtomicQueue2, 6,s: 7,652,907 msg/sec AtomicQueue2, 6,i: 7,517,618 msg/sec AtomicQueue2, 7,s: 7,140,215 msg/sec AtomicQueue2, 7,i: 7,876,609 msg/sec AtomicQueue2, 8,s: 6,376,674 msg/sec AtomicQueue2, 8,i: 7,332,042 msg/sec AtomicQueueB2, 1,s: 33,451,520 msg/sec AtomicQueueB2, 1,i: 33,453,561 msg/sec AtomicQueueB2, 2,s: 11,305,038 msg/sec AtomicQueueB2, 2,i: 11,202,329 msg/sec AtomicQueueB2, 3,s: 9,655,843 msg/sec AtomicQueueB2, 3,i: 9,516,018 msg/sec AtomicQueueB2, 4,s: 7,928,634 msg/sec AtomicQueueB2, 4,i: 7,791,031 msg/sec AtomicQueueB2, 5,s: 7,436,334 msg/sec AtomicQueueB2, 5,i: 7,715,263 msg/sec AtomicQueueB2, 6,s: 7,335,442 msg/sec AtomicQueueB2, 6,i: 7,464,109 msg/sec AtomicQueueB2, 7,s: 6,889,304 msg/sec AtomicQueueB2, 7,i: 7,657,761 msg/sec AtomicQueueB2, 8,s: 6,265,317 msg/sec AtomicQueueB2, 8,i: 7,081,160 msg/sec OptimistAtomicQueue2, 1,s: 178,452,033 msg/sec OptimistAtomicQueue2, 1,i: 33,181,251 msg/sec OptimistAtomicQueue2, 2,s: 24,256,456 msg/sec OptimistAtomicQueue2, 2,i: 24,011,455 msg/sec OptimistAtomicQueue2, 3,s: 30,313,712 msg/sec OptimistAtomicQueue2, 3,i: 29,947,305 msg/sec OptimistAtomicQueue2, 4,s: 33,147,723 msg/sec OptimistAtomicQueue2, 4,i: 33,149,947 msg/sec OptimistAtomicQueue2, 5,s: 37,285,863 msg/sec OptimistAtomicQueue2, 5,i: 40,517,465 msg/sec OptimistAtomicQueue2, 6,s: 40,351,101 msg/sec OptimistAtomicQueue2, 6,i: 49,220,067 msg/sec OptimistAtomicQueue2, 7,s: 43,158,171 msg/sec OptimistAtomicQueue2, 7,i: 48,210,355 msg/sec OptimistAtomicQueue2, 8,s: 44,143,469 msg/sec OptimistAtomicQueue2, 8,i: 48,634,248 msg/sec OptimistAtomicQueueB2, 1,s: 76,667,311 msg/sec OptimistAtomicQueueB2, 1,i: 62,064,361 msg/sec OptimistAtomicQueueB2, 2,s: 28,775,188 msg/sec OptimistAtomicQueueB2, 2,i: 23,179,266 msg/sec OptimistAtomicQueueB2, 3,s: 29,845,876 msg/sec OptimistAtomicQueueB2, 3,i: 32,281,400 msg/sec OptimistAtomicQueueB2, 4,s: 32,833,275 msg/sec OptimistAtomicQueueB2, 4,i: 32,811,661 msg/sec OptimistAtomicQueueB2, 5,s: 34,251,351 msg/sec OptimistAtomicQueueB2, 5,i: 39,836,292 msg/sec OptimistAtomicQueueB2, 6,s: 37,675,158 msg/sec OptimistAtomicQueueB2, 6,i: 42,407,804 msg/sec OptimistAtomicQueueB2, 7,s: 40,390,813 msg/sec OptimistAtomicQueueB2, 7,i: 45,467,504 msg/sec OptimistAtomicQueueB2, 8,s: 42,349,559 msg/sec OptimistAtomicQueueB2, 8,i: 45,252,029 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000114 sec/round-trip moodycamel::ConcurrentQueue: 0.000000208 sec/round-trip pthread_spinlock: 0.000000258 sec/round-trip std::mutex: 0.000000451 sec/round-trip tbb::spin_mutex: 0.000000287 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000207 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [8] 470m:46s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,133,824 msg/sec boost::lockfree::spsc_queue, 1,i: 70,817,256 msg/sec boost::lockfree::queue, 1,s: 8,020,077 msg/sec boost::lockfree::queue, 1,i: 7,233,404 msg/sec boost::lockfree::queue, 2,s: 7,618,739 msg/sec boost::lockfree::queue, 2,i: 7,449,467 msg/sec boost::lockfree::queue, 3,s: 7,354,642 msg/sec boost::lockfree::queue, 3,i: 7,523,191 msg/sec boost::lockfree::queue, 4,s: 6,424,883 msg/sec boost::lockfree::queue, 4,i: 6,851,752 msg/sec boost::lockfree::queue, 5,s: 6,469,208 msg/sec boost::lockfree::queue, 5,i: 6,503,431 msg/sec boost::lockfree::queue, 6,s: 5,946,248 msg/sec boost::lockfree::queue, 6,i: 6,103,153 msg/sec boost::lockfree::queue, 7,s: 5,847,512 msg/sec boost::lockfree::queue, 7,i: 6,073,509 msg/sec boost::lockfree::queue, 8,s: 5,435,554 msg/sec boost::lockfree::queue, 8,i: 5,595,230 msg/sec moodycamel::ReaderWriterQueue, 1,s: 477,599,565 msg/sec moodycamel::ReaderWriterQueue, 1,i: 88,770,622 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,929,409 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,509,842 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,749,645 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,710,421 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,054,082 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,964,302 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,751,115 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,780,667 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,354,924 msg/sec moodycamel::ConcurrentQueue, 5,i: 32,441,859 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,335,418 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,474,689 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,233,761 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,287,381 msg/sec moodycamel::ConcurrentQueue, 8,s: 49,989,848 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,763,053 msg/sec pthread_spinlock, 1,s: 28,953,735 msg/sec pthread_spinlock, 1,i: 25,447,424 msg/sec pthread_spinlock, 2,s: 15,986,152 msg/sec pthread_spinlock, 2,i: 18,114,786 msg/sec pthread_spinlock, 3,s: 8,268,547 msg/sec pthread_spinlock, 3,i: 12,074,460 msg/sec pthread_spinlock, 4,s: 6,517,632 msg/sec pthread_spinlock, 4,i: 8,873,260 msg/sec pthread_spinlock, 5,s: 8,770,225 msg/sec pthread_spinlock, 5,i: 10,292,524 msg/sec pthread_spinlock, 6,s: 8,309,135 msg/sec pthread_spinlock, 6,i: 8,504,616 msg/sec pthread_spinlock, 7,s: 7,727,885 msg/sec pthread_spinlock, 7,i: 7,789,701 msg/sec pthread_spinlock, 8,s: 6,897,974 msg/sec pthread_spinlock, 8,i: 6,843,750 msg/sec std::mutex, 1,s: 7,116,846 msg/sec std::mutex, 1,i: 7,872,531 msg/sec std::mutex, 2,s: 5,749,467 msg/sec std::mutex, 2,i: 5,944,312 msg/sec std::mutex, 3,s: 6,057,133 msg/sec std::mutex, 3,i: 6,000,833 msg/sec std::mutex, 4,s: 6,261,742 msg/sec std::mutex, 4,i: 6,180,907 msg/sec std::mutex, 5,s: 5,986,922 msg/sec std::mutex, 5,i: 5,968,800 msg/sec std::mutex, 6,s: 5,917,736 msg/sec std::mutex, 6,i: 5,930,777 msg/sec std::mutex, 7,s: 5,793,933 msg/sec std::mutex, 7,i: 5,776,566 msg/sec std::mutex, 8,s: 5,679,354 msg/sec std::mutex, 8,i: 5,667,232 msg/sec tbb::spin_mutex, 1,s: 37,655,328 msg/sec tbb::spin_mutex, 1,i: 32,865,103 msg/sec tbb::spin_mutex, 2,s: 21,043,084 msg/sec tbb::spin_mutex, 2,i: 18,417,175 msg/sec tbb::spin_mutex, 3,s: 8,080,013 msg/sec tbb::spin_mutex, 3,i: 10,019,890 msg/sec tbb::spin_mutex, 4,s: 3,148,941 msg/sec tbb::spin_mutex, 4,i: 6,279,685 msg/sec tbb::spin_mutex, 5,s: 5,449,079 msg/sec tbb::spin_mutex, 5,i: 5,390,364 msg/sec tbb::spin_mutex, 6,s: 5,331,225 msg/sec tbb::spin_mutex, 6,i: 4,254,932 msg/sec tbb::spin_mutex, 7,s: 4,873,022 msg/sec tbb::spin_mutex, 7,i: 4,285,216 msg/sec tbb::spin_mutex, 8,s: 4,268,853 msg/sec tbb::spin_mutex, 8,i: 4,093,126 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,295,253 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,428,759 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,047,387 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,566,007 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,483,947 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,596,573 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,542,947 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,565,896 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,888,089 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,634,180 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,937,318 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,738,260 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,889,806 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,833,903 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,787,932 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,458,574 msg/sec xenium::michael_scott_queue, 1,s: 9,304,325 msg/sec xenium::michael_scott_queue, 1,i: 9,301,305 msg/sec xenium::michael_scott_queue, 2,s: 8,587,304 msg/sec xenium::michael_scott_queue, 2,i: 8,471,982 msg/sec xenium::michael_scott_queue, 3,s: 7,140,305 msg/sec xenium::michael_scott_queue, 3,i: 7,558,413 msg/sec xenium::michael_scott_queue, 4,s: 6,324,746 msg/sec xenium::michael_scott_queue, 4,i: 6,435,944 msg/sec xenium::michael_scott_queue, 5,s: 6,324,644 msg/sec xenium::michael_scott_queue, 5,i: 6,620,804 msg/sec xenium::michael_scott_queue, 6,s: 6,527,402 msg/sec xenium::michael_scott_queue, 6,i: 6,732,899 msg/sec xenium::michael_scott_queue, 7,s: 6,261,438 msg/sec xenium::michael_scott_queue, 7,i: 6,504,676 msg/sec xenium::michael_scott_queue, 8,s: 6,034,338 msg/sec xenium::michael_scott_queue, 8,i: 6,274,393 msg/sec xenium::ramalhete_queue, 1,s: 30,195,301 msg/sec xenium::ramalhete_queue, 1,i: 29,649,692 msg/sec xenium::ramalhete_queue, 2,s: 23,635,686 msg/sec xenium::ramalhete_queue, 2,i: 23,377,594 msg/sec xenium::ramalhete_queue, 3,s: 29,287,796 msg/sec xenium::ramalhete_queue, 3,i: 28,544,024 msg/sec xenium::ramalhete_queue, 4,s: 34,012,846 msg/sec xenium::ramalhete_queue, 4,i: 33,475,189 msg/sec xenium::ramalhete_queue, 5,s: 32,221,963 msg/sec xenium::ramalhete_queue, 5,i: 36,060,000 msg/sec xenium::ramalhete_queue, 6,s: 34,104,414 msg/sec xenium::ramalhete_queue, 6,i: 38,850,788 msg/sec xenium::ramalhete_queue, 7,s: 35,167,952 msg/sec xenium::ramalhete_queue, 7,i: 40,822,618 msg/sec xenium::ramalhete_queue, 8,s: 35,631,430 msg/sec xenium::ramalhete_queue, 8,i: 43,954,889 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,381,921 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,788,329 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,107,045 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,278,749 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,604,896 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,639,983 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,581,940 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,094,092 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,252,328 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,176,608 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,880,921 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,431,871 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,180,582 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,167,017 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,406,613 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,342,696 msg/sec AtomicQueue, 1,s: 61,248,304 msg/sec AtomicQueue, 1,i: 55,627,761 msg/sec AtomicQueue, 2,s: 12,286,931 msg/sec AtomicQueue, 2,i: 11,727,983 msg/sec AtomicQueue, 3,s: 10,810,265 msg/sec AtomicQueue, 3,i: 9,928,864 msg/sec AtomicQueue, 4,s: 8,164,414 msg/sec AtomicQueue, 4,i: 8,178,775 msg/sec AtomicQueue, 5,s: 8,022,649 msg/sec AtomicQueue, 5,i: 8,117,515 msg/sec AtomicQueue, 6,s: 7,770,577 msg/sec AtomicQueue, 6,i: 7,601,149 msg/sec AtomicQueue, 7,s: 7,104,773 msg/sec AtomicQueue, 7,i: 7,969,297 msg/sec AtomicQueue, 8,s: 6,345,294 msg/sec AtomicQueue, 8,i: 7,353,278 msg/sec AtomicQueueB, 1,s: 44,027,333 msg/sec AtomicQueueB, 1,i: 42,970,478 msg/sec AtomicQueueB, 2,s: 11,744,263 msg/sec AtomicQueueB, 2,i: 11,519,868 msg/sec AtomicQueueB, 3,s: 10,955,591 msg/sec AtomicQueueB, 3,i: 10,134,835 msg/sec AtomicQueueB, 4,s: 8,071,437 msg/sec AtomicQueueB, 4,i: 7,993,781 msg/sec AtomicQueueB, 5,s: 7,656,360 msg/sec AtomicQueueB, 5,i: 7,787,478 msg/sec AtomicQueueB, 6,s: 7,300,262 msg/sec AtomicQueueB, 6,i: 7,602,665 msg/sec AtomicQueueB, 7,s: 6,916,354 msg/sec AtomicQueueB, 7,i: 7,758,096 msg/sec AtomicQueueB, 8,s: 6,176,116 msg/sec AtomicQueueB, 8,i: 7,124,365 msg/sec OptimistAtomicQueue, 1,s: 692,428,228 msg/sec OptimistAtomicQueue, 1,i: 524,603,648 msg/sec OptimistAtomicQueue, 2,s: 32,271,959 msg/sec OptimistAtomicQueue, 2,i: 32,250,595 msg/sec OptimistAtomicQueue, 3,s: 36,663,086 msg/sec OptimistAtomicQueue, 3,i: 37,416,230 msg/sec OptimistAtomicQueue, 4,s: 39,298,830 msg/sec OptimistAtomicQueue, 4,i: 39,386,383 msg/sec OptimistAtomicQueue, 5,s: 41,774,158 msg/sec OptimistAtomicQueue, 5,i: 46,340,466 msg/sec OptimistAtomicQueue, 6,s: 42,507,750 msg/sec OptimistAtomicQueue, 6,i: 50,460,551 msg/sec OptimistAtomicQueue, 7,s: 44,370,144 msg/sec OptimistAtomicQueue, 7,i: 49,201,707 msg/sec OptimistAtomicQueue, 8,s: 46,596,424 msg/sec OptimistAtomicQueue, 8,i: 49,248,125 msg/sec OptimistAtomicQueueB, 1,s: 80,704,879 msg/sec OptimistAtomicQueueB, 1,i: 78,436,513 msg/sec OptimistAtomicQueueB, 2,s: 32,275,559 msg/sec OptimistAtomicQueueB, 2,i: 31,871,759 msg/sec OptimistAtomicQueueB, 3,s: 36,216,887 msg/sec OptimistAtomicQueueB, 3,i: 36,816,467 msg/sec OptimistAtomicQueueB, 4,s: 38,713,093 msg/sec OptimistAtomicQueueB, 4,i: 38,630,906 msg/sec OptimistAtomicQueueB, 5,s: 40,815,668 msg/sec OptimistAtomicQueueB, 5,i: 45,612,133 msg/sec OptimistAtomicQueueB, 6,s: 41,196,251 msg/sec OptimistAtomicQueueB, 6,i: 48,892,192 msg/sec OptimistAtomicQueueB, 7,s: 42,863,276 msg/sec OptimistAtomicQueueB, 7,i: 51,470,384 msg/sec OptimistAtomicQueueB, 8,s: 44,504,928 msg/sec OptimistAtomicQueueB, 8,i: 47,716,089 msg/sec AtomicQueue2, 1,s: 22,868,502 msg/sec AtomicQueue2, 1,i: 22,873,627 msg/sec AtomicQueue2, 2,s: 11,783,425 msg/sec AtomicQueue2, 2,i: 11,414,305 msg/sec AtomicQueue2, 3,s: 9,650,305 msg/sec AtomicQueue2, 3,i: 9,473,010 msg/sec AtomicQueue2, 4,s: 8,011,783 msg/sec AtomicQueue2, 4,i: 8,084,196 msg/sec AtomicQueue2, 5,s: 7,970,137 msg/sec AtomicQueue2, 5,i: 8,009,104 msg/sec AtomicQueue2, 6,s: 7,743,827 msg/sec AtomicQueue2, 6,i: 7,511,521 msg/sec AtomicQueue2, 7,s: 7,110,484 msg/sec AtomicQueue2, 7,i: 7,870,410 msg/sec AtomicQueue2, 8,s: 6,376,117 msg/sec AtomicQueue2, 8,i: 7,388,004 msg/sec AtomicQueueB2, 1,s: 35,410,358 msg/sec AtomicQueueB2, 1,i: 32,097,986 msg/sec AtomicQueueB2, 2,s: 11,486,692 msg/sec AtomicQueueB2, 2,i: 11,092,049 msg/sec AtomicQueueB2, 3,s: 9,656,132 msg/sec AtomicQueueB2, 3,i: 9,520,245 msg/sec AtomicQueueB2, 4,s: 7,939,021 msg/sec AtomicQueueB2, 4,i: 7,870,712 msg/sec AtomicQueueB2, 5,s: 7,455,565 msg/sec AtomicQueueB2, 5,i: 7,647,037 msg/sec AtomicQueueB2, 6,s: 7,289,845 msg/sec AtomicQueueB2, 6,i: 7,432,031 msg/sec AtomicQueueB2, 7,s: 6,887,175 msg/sec AtomicQueueB2, 7,i: 7,700,954 msg/sec AtomicQueueB2, 8,s: 6,304,823 msg/sec AtomicQueueB2, 8,i: 7,077,650 msg/sec OptimistAtomicQueue2, 1,s: 32,427,852 msg/sec OptimistAtomicQueue2, 1,i: 36,704,869 msg/sec OptimistAtomicQueue2, 2,s: 24,741,967 msg/sec OptimistAtomicQueue2, 2,i: 24,014,820 msg/sec OptimistAtomicQueue2, 3,s: 30,395,080 msg/sec OptimistAtomicQueue2, 3,i: 30,095,128 msg/sec OptimistAtomicQueue2, 4,s: 33,263,976 msg/sec OptimistAtomicQueue2, 4,i: 33,135,685 msg/sec OptimistAtomicQueue2, 5,s: 37,317,931 msg/sec OptimistAtomicQueue2, 5,i: 40,187,786 msg/sec OptimistAtomicQueue2, 6,s: 40,125,108 msg/sec OptimistAtomicQueue2, 6,i: 49,336,709 msg/sec OptimistAtomicQueue2, 7,s: 43,054,808 msg/sec OptimistAtomicQueue2, 7,i: 51,236,747 msg/sec OptimistAtomicQueue2, 8,s: 43,850,302 msg/sec OptimistAtomicQueue2, 8,i: 48,496,825 msg/sec OptimistAtomicQueueB2, 1,s: 75,753,350 msg/sec OptimistAtomicQueueB2, 1,i: 33,877,117 msg/sec OptimistAtomicQueueB2, 2,s: 29,471,155 msg/sec OptimistAtomicQueueB2, 2,i: 25,276,750 msg/sec OptimistAtomicQueueB2, 3,s: 29,736,377 msg/sec OptimistAtomicQueueB2, 3,i: 28,992,758 msg/sec OptimistAtomicQueueB2, 4,s: 32,727,900 msg/sec OptimistAtomicQueueB2, 4,i: 32,932,203 msg/sec OptimistAtomicQueueB2, 5,s: 34,388,962 msg/sec OptimistAtomicQueueB2, 5,i: 39,182,053 msg/sec OptimistAtomicQueueB2, 6,s: 37,505,708 msg/sec OptimistAtomicQueueB2, 6,i: 42,294,348 msg/sec OptimistAtomicQueueB2, 7,s: 40,122,188 msg/sec OptimistAtomicQueueB2, 7,i: 45,461,631 msg/sec OptimistAtomicQueueB2, 8,s: 42,289,947 msg/sec OptimistAtomicQueueB2, 8,i: 45,131,550 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000222 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000451 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000282 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000207 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000143 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000190 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [9] 469m:27s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,800,889 msg/sec boost::lockfree::spsc_queue, 1,i: 71,146,762 msg/sec boost::lockfree::queue, 1,s: 8,216,157 msg/sec boost::lockfree::queue, 1,i: 6,857,068 msg/sec boost::lockfree::queue, 2,s: 7,720,394 msg/sec boost::lockfree::queue, 2,i: 7,615,690 msg/sec boost::lockfree::queue, 3,s: 7,381,346 msg/sec boost::lockfree::queue, 3,i: 7,575,894 msg/sec boost::lockfree::queue, 4,s: 6,424,659 msg/sec boost::lockfree::queue, 4,i: 6,809,587 msg/sec boost::lockfree::queue, 5,s: 6,414,390 msg/sec boost::lockfree::queue, 5,i: 6,522,825 msg/sec boost::lockfree::queue, 6,s: 5,973,800 msg/sec boost::lockfree::queue, 6,i: 6,101,013 msg/sec boost::lockfree::queue, 7,s: 6,020,592 msg/sec boost::lockfree::queue, 7,i: 5,907,482 msg/sec boost::lockfree::queue, 8,s: 5,545,098 msg/sec boost::lockfree::queue, 8,i: 5,587,485 msg/sec moodycamel::ReaderWriterQueue, 1,s: 73,686,707 msg/sec moodycamel::ReaderWriterQueue, 1,i: 50,340,501 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,631,161 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,772,414 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,893,353 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,841,531 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,802,815 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,826,724 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,274,835 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,070,358 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,230,305 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,018,603 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,331,841 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,419,328 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,207,966 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,957,194 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,192,321 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,442,352 msg/sec pthread_spinlock, 1,s: 29,045,474 msg/sec pthread_spinlock, 1,i: 25,368,573 msg/sec pthread_spinlock, 2,s: 15,519,783 msg/sec pthread_spinlock, 2,i: 17,215,931 msg/sec pthread_spinlock, 3,s: 8,321,472 msg/sec pthread_spinlock, 3,i: 12,044,599 msg/sec pthread_spinlock, 4,s: 6,563,007 msg/sec pthread_spinlock, 4,i: 9,366,734 msg/sec pthread_spinlock, 5,s: 8,524,511 msg/sec pthread_spinlock, 5,i: 8,924,255 msg/sec pthread_spinlock, 6,s: 8,299,087 msg/sec pthread_spinlock, 6,i: 8,612,414 msg/sec pthread_spinlock, 7,s: 7,553,885 msg/sec pthread_spinlock, 7,i: 7,661,214 msg/sec pthread_spinlock, 8,s: 6,842,769 msg/sec pthread_spinlock, 8,i: 6,942,380 msg/sec std::mutex, 1,s: 7,775,316 msg/sec std::mutex, 1,i: 7,785,649 msg/sec std::mutex, 2,s: 5,874,654 msg/sec std::mutex, 2,i: 5,801,443 msg/sec std::mutex, 3,s: 5,523,215 msg/sec std::mutex, 3,i: 5,231,876 msg/sec std::mutex, 4,s: 5,839,151 msg/sec std::mutex, 4,i: 6,382,599 msg/sec std::mutex, 5,s: 6,064,212 msg/sec std::mutex, 5,i: 6,126,786 msg/sec std::mutex, 6,s: 5,958,305 msg/sec std::mutex, 6,i: 5,900,432 msg/sec std::mutex, 7,s: 5,841,352 msg/sec std::mutex, 7,i: 5,844,281 msg/sec std::mutex, 8,s: 5,754,028 msg/sec std::mutex, 8,i: 5,823,331 msg/sec tbb::spin_mutex, 1,s: 37,865,942 msg/sec tbb::spin_mutex, 1,i: 32,667,821 msg/sec tbb::spin_mutex, 2,s: 20,880,543 msg/sec tbb::spin_mutex, 2,i: 18,937,606 msg/sec tbb::spin_mutex, 3,s: 7,750,894 msg/sec tbb::spin_mutex, 3,i: 11,290,116 msg/sec tbb::spin_mutex, 4,s: 3,259,515 msg/sec tbb::spin_mutex, 4,i: 6,353,844 msg/sec tbb::spin_mutex, 5,s: 5,420,965 msg/sec tbb::spin_mutex, 5,i: 5,734,905 msg/sec tbb::spin_mutex, 6,s: 5,273,727 msg/sec tbb::spin_mutex, 6,i: 4,315,311 msg/sec tbb::spin_mutex, 7,s: 4,701,018 msg/sec tbb::spin_mutex, 7,i: 4,361,714 msg/sec tbb::spin_mutex, 8,s: 4,238,205 msg/sec tbb::spin_mutex, 8,i: 4,107,240 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,326,294 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,357,460 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,072,828 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,989,921 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,528,850 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,522,827 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,976,417 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,382,491 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,653,424 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,646,934 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,851,099 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,742,992 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,924,518 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,068,011 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,854,416 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,506,356 msg/sec xenium::michael_scott_queue, 1,s: 10,153,513 msg/sec xenium::michael_scott_queue, 1,i: 9,985,640 msg/sec xenium::michael_scott_queue, 2,s: 8,515,201 msg/sec xenium::michael_scott_queue, 2,i: 8,575,480 msg/sec xenium::michael_scott_queue, 3,s: 7,094,460 msg/sec xenium::michael_scott_queue, 3,i: 7,541,236 msg/sec xenium::michael_scott_queue, 4,s: 6,344,639 msg/sec xenium::michael_scott_queue, 4,i: 6,316,729 msg/sec xenium::michael_scott_queue, 5,s: 6,270,958 msg/sec xenium::michael_scott_queue, 5,i: 6,617,929 msg/sec xenium::michael_scott_queue, 6,s: 6,485,509 msg/sec xenium::michael_scott_queue, 6,i: 6,721,065 msg/sec xenium::michael_scott_queue, 7,s: 6,293,156 msg/sec xenium::michael_scott_queue, 7,i: 6,535,515 msg/sec xenium::michael_scott_queue, 8,s: 5,958,485 msg/sec xenium::michael_scott_queue, 8,i: 6,094,844 msg/sec xenium::ramalhete_queue, 1,s: 31,203,115 msg/sec xenium::ramalhete_queue, 1,i: 31,091,611 msg/sec xenium::ramalhete_queue, 2,s: 24,486,340 msg/sec xenium::ramalhete_queue, 2,i: 23,348,526 msg/sec xenium::ramalhete_queue, 3,s: 29,138,406 msg/sec xenium::ramalhete_queue, 3,i: 28,496,776 msg/sec xenium::ramalhete_queue, 4,s: 33,724,263 msg/sec xenium::ramalhete_queue, 4,i: 33,368,037 msg/sec xenium::ramalhete_queue, 5,s: 32,067,422 msg/sec xenium::ramalhete_queue, 5,i: 36,170,393 msg/sec xenium::ramalhete_queue, 6,s: 34,043,956 msg/sec xenium::ramalhete_queue, 6,i: 38,956,426 msg/sec xenium::ramalhete_queue, 7,s: 35,194,411 msg/sec xenium::ramalhete_queue, 7,i: 41,172,429 msg/sec xenium::ramalhete_queue, 8,s: 35,597,614 msg/sec xenium::ramalhete_queue, 8,i: 43,928,285 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,954,726 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,087,660 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,781,669 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,973,880 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,627,205 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,004,844 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,653,739 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,369,857 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,915,846 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,245,775 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,059,951 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,567,613 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,160,976 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,870,354 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,405,727 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,534,826 msg/sec AtomicQueue, 1,s: 59,632,480 msg/sec AtomicQueue, 1,i: 56,945,572 msg/sec AtomicQueue, 2,s: 12,212,187 msg/sec AtomicQueue, 2,i: 11,748,288 msg/sec AtomicQueue, 3,s: 10,793,682 msg/sec AtomicQueue, 3,i: 9,953,378 msg/sec AtomicQueue, 4,s: 8,167,938 msg/sec AtomicQueue, 4,i: 8,203,067 msg/sec AtomicQueue, 5,s: 8,042,197 msg/sec AtomicQueue, 5,i: 8,097,061 msg/sec AtomicQueue, 6,s: 7,757,667 msg/sec AtomicQueue, 6,i: 7,626,225 msg/sec AtomicQueue, 7,s: 7,161,689 msg/sec AtomicQueue, 7,i: 7,977,229 msg/sec AtomicQueue, 8,s: 6,379,506 msg/sec AtomicQueue, 8,i: 7,452,908 msg/sec AtomicQueueB, 1,s: 49,203,598 msg/sec AtomicQueueB, 1,i: 43,530,907 msg/sec AtomicQueueB, 2,s: 11,858,555 msg/sec AtomicQueueB, 2,i: 11,485,025 msg/sec AtomicQueueB, 3,s: 10,881,984 msg/sec AtomicQueueB, 3,i: 10,308,259 msg/sec AtomicQueueB, 4,s: 8,091,868 msg/sec AtomicQueueB, 4,i: 8,042,130 msg/sec AtomicQueueB, 5,s: 7,666,339 msg/sec AtomicQueueB, 5,i: 7,847,242 msg/sec AtomicQueueB, 6,s: 7,414,722 msg/sec AtomicQueueB, 6,i: 7,520,299 msg/sec AtomicQueueB, 7,s: 6,839,178 msg/sec AtomicQueueB, 7,i: 7,733,832 msg/sec AtomicQueueB, 8,s: 6,225,127 msg/sec AtomicQueueB, 8,i: 7,121,264 msg/sec OptimistAtomicQueue, 1,s: 828,271,901 msg/sec OptimistAtomicQueue, 1,i: 663,803,130 msg/sec OptimistAtomicQueue, 2,s: 32,148,091 msg/sec OptimistAtomicQueue, 2,i: 32,226,442 msg/sec OptimistAtomicQueue, 3,s: 36,621,775 msg/sec OptimistAtomicQueue, 3,i: 37,024,542 msg/sec OptimistAtomicQueue, 4,s: 39,320,429 msg/sec OptimistAtomicQueue, 4,i: 39,380,793 msg/sec OptimistAtomicQueue, 5,s: 42,514,552 msg/sec OptimistAtomicQueue, 5,i: 46,231,679 msg/sec OptimistAtomicQueue, 6,s: 42,298,953 msg/sec OptimistAtomicQueue, 6,i: 50,363,541 msg/sec OptimistAtomicQueue, 7,s: 44,259,021 msg/sec OptimistAtomicQueue, 7,i: 53,075,288 msg/sec OptimistAtomicQueue, 8,s: 46,570,024 msg/sec OptimistAtomicQueue, 8,i: 49,453,997 msg/sec OptimistAtomicQueueB, 1,s: 78,179,149 msg/sec OptimistAtomicQueueB, 1,i: 76,064,636 msg/sec OptimistAtomicQueueB, 2,s: 32,212,297 msg/sec OptimistAtomicQueueB, 2,i: 31,916,671 msg/sec OptimistAtomicQueueB, 3,s: 36,203,684 msg/sec OptimistAtomicQueueB, 3,i: 36,845,258 msg/sec OptimistAtomicQueueB, 4,s: 38,658,999 msg/sec OptimistAtomicQueueB, 4,i: 38,735,653 msg/sec OptimistAtomicQueueB, 5,s: 40,995,702 msg/sec OptimistAtomicQueueB, 5,i: 45,473,367 msg/sec OptimistAtomicQueueB, 6,s: 40,709,697 msg/sec OptimistAtomicQueueB, 6,i: 49,155,903 msg/sec OptimistAtomicQueueB, 7,s: 41,851,693 msg/sec OptimistAtomicQueueB, 7,i: 50,873,071 msg/sec OptimistAtomicQueueB, 8,s: 44,702,931 msg/sec OptimistAtomicQueueB, 8,i: 47,595,165 msg/sec AtomicQueue2, 1,s: 22,924,946 msg/sec AtomicQueue2, 1,i: 22,843,940 msg/sec AtomicQueue2, 2,s: 11,885,846 msg/sec AtomicQueue2, 2,i: 11,430,485 msg/sec AtomicQueue2, 3,s: 9,411,142 msg/sec AtomicQueue2, 3,i: 9,397,456 msg/sec AtomicQueue2, 4,s: 8,012,274 msg/sec AtomicQueue2, 4,i: 8,036,587 msg/sec AtomicQueue2, 5,s: 7,915,043 msg/sec AtomicQueue2, 5,i: 8,047,565 msg/sec AtomicQueue2, 6,s: 7,619,293 msg/sec AtomicQueue2, 6,i: 7,525,719 msg/sec AtomicQueue2, 7,s: 7,096,691 msg/sec AtomicQueue2, 7,i: 7,923,378 msg/sec AtomicQueue2, 8,s: 6,383,971 msg/sec AtomicQueue2, 8,i: 7,339,569 msg/sec AtomicQueueB2, 1,s: 32,692,562 msg/sec AtomicQueueB2, 1,i: 32,615,887 msg/sec AtomicQueueB2, 2,s: 11,428,915 msg/sec AtomicQueueB2, 2,i: 11,102,949 msg/sec AtomicQueueB2, 3,s: 9,638,466 msg/sec AtomicQueueB2, 3,i: 9,572,897 msg/sec AtomicQueueB2, 4,s: 7,850,004 msg/sec AtomicQueueB2, 4,i: 7,898,153 msg/sec AtomicQueueB2, 5,s: 7,604,696 msg/sec AtomicQueueB2, 5,i: 7,716,157 msg/sec AtomicQueueB2, 6,s: 7,312,754 msg/sec AtomicQueueB2, 6,i: 7,474,817 msg/sec AtomicQueueB2, 7,s: 6,882,105 msg/sec AtomicQueueB2, 7,i: 7,701,399 msg/sec AtomicQueueB2, 8,s: 6,267,280 msg/sec AtomicQueueB2, 8,i: 7,107,198 msg/sec OptimistAtomicQueue2, 1,s: 436,367,000 msg/sec OptimistAtomicQueue2, 1,i: 29,579,591 msg/sec OptimistAtomicQueue2, 2,s: 24,254,142 msg/sec OptimistAtomicQueue2, 2,i: 23,999,213 msg/sec OptimistAtomicQueue2, 3,s: 29,860,782 msg/sec OptimistAtomicQueue2, 3,i: 30,277,086 msg/sec OptimistAtomicQueue2, 4,s: 33,131,768 msg/sec OptimistAtomicQueue2, 4,i: 33,465,452 msg/sec OptimistAtomicQueue2, 5,s: 37,535,868 msg/sec OptimistAtomicQueue2, 5,i: 41,390,479 msg/sec OptimistAtomicQueue2, 6,s: 39,995,248 msg/sec OptimistAtomicQueue2, 6,i: 49,316,871 msg/sec OptimistAtomicQueue2, 7,s: 43,139,846 msg/sec OptimistAtomicQueue2, 7,i: 48,205,806 msg/sec OptimistAtomicQueue2, 8,s: 44,063,557 msg/sec OptimistAtomicQueue2, 8,i: 49,567,447 msg/sec OptimistAtomicQueueB2, 1,s: 76,028,035 msg/sec OptimistAtomicQueueB2, 1,i: 33,935,108 msg/sec OptimistAtomicQueueB2, 2,s: 27,820,863 msg/sec OptimistAtomicQueueB2, 2,i: 25,175,562 msg/sec OptimistAtomicQueueB2, 3,s: 29,741,760 msg/sec OptimistAtomicQueueB2, 3,i: 29,104,073 msg/sec OptimistAtomicQueueB2, 4,s: 33,039,932 msg/sec OptimistAtomicQueueB2, 4,i: 32,947,629 msg/sec OptimistAtomicQueueB2, 5,s: 34,724,577 msg/sec OptimistAtomicQueueB2, 5,i: 39,223,526 msg/sec OptimistAtomicQueueB2, 6,s: 37,369,885 msg/sec OptimistAtomicQueueB2, 6,i: 42,120,819 msg/sec OptimistAtomicQueueB2, 7,s: 40,266,704 msg/sec OptimistAtomicQueueB2, 7,i: 43,182,828 msg/sec OptimistAtomicQueueB2, 8,s: 42,394,831 msg/sec OptimistAtomicQueueB2, 8,i: 45,411,907 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000281 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [10] 468m:8s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,706,742 msg/sec boost::lockfree::spsc_queue, 1,i: 71,352,368 msg/sec boost::lockfree::queue, 1,s: 6,875,874 msg/sec boost::lockfree::queue, 1,i: 6,978,981 msg/sec boost::lockfree::queue, 2,s: 7,618,092 msg/sec boost::lockfree::queue, 2,i: 7,463,573 msg/sec boost::lockfree::queue, 3,s: 7,432,364 msg/sec boost::lockfree::queue, 3,i: 7,542,419 msg/sec boost::lockfree::queue, 4,s: 6,431,894 msg/sec boost::lockfree::queue, 4,i: 6,791,777 msg/sec boost::lockfree::queue, 5,s: 6,420,132 msg/sec boost::lockfree::queue, 5,i: 6,449,788 msg/sec boost::lockfree::queue, 6,s: 5,962,008 msg/sec boost::lockfree::queue, 6,i: 6,173,993 msg/sec boost::lockfree::queue, 7,s: 6,044,071 msg/sec boost::lockfree::queue, 7,i: 5,995,492 msg/sec boost::lockfree::queue, 8,s: 5,432,236 msg/sec boost::lockfree::queue, 8,i: 5,652,880 msg/sec moodycamel::ReaderWriterQueue, 1,s: 475,663,791 msg/sec moodycamel::ReaderWriterQueue, 1,i: 449,435,273 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,109,375 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,580,265 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,747,658 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,496,079 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,576,469 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,202,475 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,917,895 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,441,060 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,475,378 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,245,385 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,385,271 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,649,767 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,201,212 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,655,193 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,259,799 msg/sec moodycamel::ConcurrentQueue, 8,i: 37,087,056 msg/sec pthread_spinlock, 1,s: 29,327,591 msg/sec pthread_spinlock, 1,i: 29,100,105 msg/sec pthread_spinlock, 2,s: 16,477,291 msg/sec pthread_spinlock, 2,i: 17,201,880 msg/sec pthread_spinlock, 3,s: 8,340,312 msg/sec pthread_spinlock, 3,i: 12,027,094 msg/sec pthread_spinlock, 4,s: 6,480,618 msg/sec pthread_spinlock, 4,i: 8,958,777 msg/sec pthread_spinlock, 5,s: 8,620,812 msg/sec pthread_spinlock, 5,i: 9,047,987 msg/sec pthread_spinlock, 6,s: 8,630,514 msg/sec pthread_spinlock, 6,i: 8,538,883 msg/sec pthread_spinlock, 7,s: 7,922,834 msg/sec pthread_spinlock, 7,i: 7,808,176 msg/sec pthread_spinlock, 8,s: 6,641,508 msg/sec pthread_spinlock, 8,i: 7,284,356 msg/sec std::mutex, 1,s: 7,135,081 msg/sec std::mutex, 1,i: 6,920,448 msg/sec std::mutex, 2,s: 6,013,669 msg/sec std::mutex, 2,i: 6,093,059 msg/sec std::mutex, 3,s: 6,086,456 msg/sec std::mutex, 3,i: 6,106,982 msg/sec std::mutex, 4,s: 6,252,062 msg/sec std::mutex, 4,i: 6,188,862 msg/sec std::mutex, 5,s: 6,039,215 msg/sec std::mutex, 5,i: 5,645,596 msg/sec std::mutex, 6,s: 5,846,639 msg/sec std::mutex, 6,i: 5,881,233 msg/sec std::mutex, 7,s: 5,756,580 msg/sec std::mutex, 7,i: 5,741,528 msg/sec std::mutex, 8,s: 5,617,952 msg/sec std::mutex, 8,i: 5,635,732 msg/sec tbb::spin_mutex, 1,s: 37,912,408 msg/sec tbb::spin_mutex, 1,i: 33,205,550 msg/sec tbb::spin_mutex, 2,s: 21,200,907 msg/sec tbb::spin_mutex, 2,i: 18,454,229 msg/sec tbb::spin_mutex, 3,s: 8,005,670 msg/sec tbb::spin_mutex, 3,i: 11,095,033 msg/sec tbb::spin_mutex, 4,s: 3,195,210 msg/sec tbb::spin_mutex, 4,i: 6,409,419 msg/sec tbb::spin_mutex, 5,s: 5,507,671 msg/sec tbb::spin_mutex, 5,i: 5,459,616 msg/sec tbb::spin_mutex, 6,s: 5,344,006 msg/sec tbb::spin_mutex, 6,i: 4,335,489 msg/sec tbb::spin_mutex, 7,s: 4,851,197 msg/sec tbb::spin_mutex, 7,i: 4,326,491 msg/sec tbb::spin_mutex, 8,s: 4,260,688 msg/sec tbb::spin_mutex, 8,i: 4,103,466 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,219,585 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,975,218 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,815,435 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,532,212 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,971,742 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,630,908 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,314,611 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,229,569 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,685,524 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,163,129 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,808,007 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,469,666 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,066,171 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,636,222 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,080,126 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,754,306 msg/sec xenium::michael_scott_queue, 1,s: 9,304,682 msg/sec xenium::michael_scott_queue, 1,i: 9,095,105 msg/sec xenium::michael_scott_queue, 2,s: 8,433,399 msg/sec xenium::michael_scott_queue, 2,i: 8,447,353 msg/sec xenium::michael_scott_queue, 3,s: 7,174,254 msg/sec xenium::michael_scott_queue, 3,i: 7,559,807 msg/sec xenium::michael_scott_queue, 4,s: 6,221,543 msg/sec xenium::michael_scott_queue, 4,i: 6,365,898 msg/sec xenium::michael_scott_queue, 5,s: 6,294,864 msg/sec xenium::michael_scott_queue, 5,i: 6,661,511 msg/sec xenium::michael_scott_queue, 6,s: 6,487,647 msg/sec xenium::michael_scott_queue, 6,i: 6,704,244 msg/sec xenium::michael_scott_queue, 7,s: 6,302,430 msg/sec xenium::michael_scott_queue, 7,i: 6,531,810 msg/sec xenium::michael_scott_queue, 8,s: 6,044,782 msg/sec xenium::michael_scott_queue, 8,i: 6,079,646 msg/sec xenium::ramalhete_queue, 1,s: 32,725,772 msg/sec xenium::ramalhete_queue, 1,i: 32,460,979 msg/sec xenium::ramalhete_queue, 2,s: 23,522,807 msg/sec xenium::ramalhete_queue, 2,i: 23,336,764 msg/sec xenium::ramalhete_queue, 3,s: 29,105,570 msg/sec xenium::ramalhete_queue, 3,i: 28,692,360 msg/sec xenium::ramalhete_queue, 4,s: 34,037,338 msg/sec xenium::ramalhete_queue, 4,i: 33,493,732 msg/sec xenium::ramalhete_queue, 5,s: 31,919,418 msg/sec xenium::ramalhete_queue, 5,i: 36,079,573 msg/sec xenium::ramalhete_queue, 6,s: 34,032,944 msg/sec xenium::ramalhete_queue, 6,i: 38,815,042 msg/sec xenium::ramalhete_queue, 7,s: 35,222,808 msg/sec xenium::ramalhete_queue, 7,i: 41,537,198 msg/sec xenium::ramalhete_queue, 8,s: 35,589,879 msg/sec xenium::ramalhete_queue, 8,i: 44,538,652 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,288,444 msg/sec xenium::vyukov_bounded_queue, 1,i: 117,371,918 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,807,691 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,696,183 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,744,459 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,788,176 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,563,961 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,569,585 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,983,998 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,340,774 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,152,607 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,196,607 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,151,246 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,867,058 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,410,290 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,377,485 msg/sec AtomicQueue, 1,s: 58,704,399 msg/sec AtomicQueue, 1,i: 56,770,647 msg/sec AtomicQueue, 2,s: 12,256,760 msg/sec AtomicQueue, 2,i: 11,734,010 msg/sec AtomicQueue, 3,s: 10,796,141 msg/sec AtomicQueue, 3,i: 9,941,381 msg/sec AtomicQueue, 4,s: 8,155,628 msg/sec AtomicQueue, 4,i: 8,207,929 msg/sec AtomicQueue, 5,s: 8,045,738 msg/sec AtomicQueue, 5,i: 8,077,354 msg/sec AtomicQueue, 6,s: 7,688,628 msg/sec AtomicQueue, 6,i: 7,607,252 msg/sec AtomicQueue, 7,s: 7,160,937 msg/sec AtomicQueue, 7,i: 8,002,600 msg/sec AtomicQueue, 8,s: 6,344,806 msg/sec AtomicQueue, 8,i: 7,455,752 msg/sec AtomicQueueB, 1,s: 43,900,826 msg/sec AtomicQueueB, 1,i: 43,841,422 msg/sec AtomicQueueB, 2,s: 11,972,900 msg/sec AtomicQueueB, 2,i: 11,477,610 msg/sec AtomicQueueB, 3,s: 11,031,127 msg/sec AtomicQueueB, 3,i: 10,322,813 msg/sec AtomicQueueB, 4,s: 8,031,790 msg/sec AtomicQueueB, 4,i: 8,031,929 msg/sec AtomicQueueB, 5,s: 7,591,071 msg/sec AtomicQueueB, 5,i: 7,871,398 msg/sec AtomicQueueB, 6,s: 7,115,144 msg/sec AtomicQueueB, 6,i: 7,500,920 msg/sec AtomicQueueB, 7,s: 6,869,548 msg/sec AtomicQueueB, 7,i: 7,737,714 msg/sec AtomicQueueB, 8,s: 6,239,204 msg/sec AtomicQueueB, 8,i: 7,020,498 msg/sec OptimistAtomicQueue, 1,s: 730,591,205 msg/sec OptimistAtomicQueue, 1,i: 600,002,040 msg/sec OptimistAtomicQueue, 2,s: 32,171,555 msg/sec OptimistAtomicQueue, 2,i: 32,727,373 msg/sec OptimistAtomicQueue, 3,s: 36,683,532 msg/sec OptimistAtomicQueue, 3,i: 37,417,840 msg/sec OptimistAtomicQueue, 4,s: 39,281,840 msg/sec OptimistAtomicQueue, 4,i: 39,383,753 msg/sec OptimistAtomicQueue, 5,s: 42,515,668 msg/sec OptimistAtomicQueue, 5,i: 46,274,906 msg/sec OptimistAtomicQueue, 6,s: 41,992,648 msg/sec OptimistAtomicQueue, 6,i: 50,344,489 msg/sec OptimistAtomicQueue, 7,s: 44,315,618 msg/sec OptimistAtomicQueue, 7,i: 49,355,270 msg/sec OptimistAtomicQueue, 8,s: 46,426,948 msg/sec OptimistAtomicQueue, 8,i: 48,957,419 msg/sec OptimistAtomicQueueB, 1,s: 78,082,259 msg/sec OptimistAtomicQueueB, 1,i: 76,450,384 msg/sec OptimistAtomicQueueB, 2,s: 31,681,521 msg/sec OptimistAtomicQueueB, 2,i: 31,666,222 msg/sec OptimistAtomicQueueB, 3,s: 36,101,767 msg/sec OptimistAtomicQueueB, 3,i: 36,785,870 msg/sec OptimistAtomicQueueB, 4,s: 38,572,376 msg/sec OptimistAtomicQueueB, 4,i: 38,655,907 msg/sec OptimistAtomicQueueB, 5,s: 41,148,007 msg/sec OptimistAtomicQueueB, 5,i: 46,217,581 msg/sec OptimistAtomicQueueB, 6,s: 41,541,054 msg/sec OptimistAtomicQueueB, 6,i: 49,174,986 msg/sec OptimistAtomicQueueB, 7,s: 42,166,660 msg/sec OptimistAtomicQueueB, 7,i: 48,122,473 msg/sec OptimistAtomicQueueB, 8,s: 44,499,632 msg/sec OptimistAtomicQueueB, 8,i: 48,146,675 msg/sec AtomicQueue2, 1,s: 23,340,983 msg/sec AtomicQueue2, 1,i: 22,903,266 msg/sec AtomicQueue2, 2,s: 11,728,028 msg/sec AtomicQueue2, 2,i: 11,395,332 msg/sec AtomicQueue2, 3,s: 9,481,876 msg/sec AtomicQueue2, 3,i: 9,387,176 msg/sec AtomicQueue2, 4,s: 8,042,576 msg/sec AtomicQueue2, 4,i: 8,102,965 msg/sec AtomicQueue2, 5,s: 7,884,641 msg/sec AtomicQueue2, 5,i: 8,057,592 msg/sec AtomicQueue2, 6,s: 7,748,333 msg/sec AtomicQueue2, 6,i: 7,540,679 msg/sec AtomicQueue2, 7,s: 7,146,949 msg/sec AtomicQueue2, 7,i: 7,883,719 msg/sec AtomicQueue2, 8,s: 6,408,091 msg/sec AtomicQueue2, 8,i: 7,334,507 msg/sec AtomicQueueB2, 1,s: 36,007,217 msg/sec AtomicQueueB2, 1,i: 32,628,555 msg/sec AtomicQueueB2, 2,s: 11,428,161 msg/sec AtomicQueueB2, 2,i: 11,129,387 msg/sec AtomicQueueB2, 3,s: 9,532,863 msg/sec AtomicQueueB2, 3,i: 9,502,807 msg/sec AtomicQueueB2, 4,s: 7,894,587 msg/sec AtomicQueueB2, 4,i: 7,860,553 msg/sec AtomicQueueB2, 5,s: 7,490,335 msg/sec AtomicQueueB2, 5,i: 7,633,177 msg/sec AtomicQueueB2, 6,s: 7,291,141 msg/sec AtomicQueueB2, 6,i: 7,416,988 msg/sec AtomicQueueB2, 7,s: 6,989,795 msg/sec AtomicQueueB2, 7,i: 7,718,629 msg/sec AtomicQueueB2, 8,s: 6,267,382 msg/sec AtomicQueueB2, 8,i: 7,059,026 msg/sec OptimistAtomicQueue2, 1,s: 106,864,571 msg/sec OptimistAtomicQueue2, 1,i: 29,823,246 msg/sec OptimistAtomicQueue2, 2,s: 25,913,419 msg/sec OptimistAtomicQueue2, 2,i: 24,025,103 msg/sec OptimistAtomicQueue2, 3,s: 29,921,061 msg/sec OptimistAtomicQueue2, 3,i: 30,304,449 msg/sec OptimistAtomicQueue2, 4,s: 33,066,963 msg/sec OptimistAtomicQueue2, 4,i: 33,982,319 msg/sec OptimistAtomicQueue2, 5,s: 37,484,123 msg/sec OptimistAtomicQueue2, 5,i: 43,173,161 msg/sec OptimistAtomicQueue2, 6,s: 40,228,164 msg/sec OptimistAtomicQueue2, 6,i: 49,356,770 msg/sec OptimistAtomicQueue2, 7,s: 42,592,912 msg/sec OptimistAtomicQueue2, 7,i: 48,233,870 msg/sec OptimistAtomicQueue2, 8,s: 43,928,725 msg/sec OptimistAtomicQueue2, 8,i: 49,662,291 msg/sec OptimistAtomicQueueB2, 1,s: 77,971,309 msg/sec OptimistAtomicQueueB2, 1,i: 34,260,528 msg/sec OptimistAtomicQueueB2, 2,s: 27,190,880 msg/sec OptimistAtomicQueueB2, 2,i: 23,151,569 msg/sec OptimistAtomicQueueB2, 3,s: 29,720,593 msg/sec OptimistAtomicQueueB2, 3,i: 29,453,784 msg/sec OptimistAtomicQueueB2, 4,s: 32,160,762 msg/sec OptimistAtomicQueueB2, 4,i: 32,956,899 msg/sec OptimistAtomicQueueB2, 5,s: 34,330,565 msg/sec OptimistAtomicQueueB2, 5,i: 39,104,630 msg/sec OptimistAtomicQueueB2, 6,s: 37,816,039 msg/sec OptimistAtomicQueueB2, 6,i: 42,327,361 msg/sec OptimistAtomicQueueB2, 7,s: 40,210,870 msg/sec OptimistAtomicQueueB2, 7,i: 45,178,759 msg/sec OptimistAtomicQueueB2, 8,s: 42,284,833 msg/sec OptimistAtomicQueueB2, 8,i: 45,413,922 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000124 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000244 sec/round-trip std::mutex: 0.000000515 sec/round-trip tbb::spin_mutex: 0.000000284 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [11] 466m:49s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,440,394 msg/sec boost::lockfree::spsc_queue, 1,i: 70,740,832 msg/sec boost::lockfree::queue, 1,s: 7,723,647 msg/sec boost::lockfree::queue, 1,i: 6,874,904 msg/sec boost::lockfree::queue, 2,s: 7,655,347 msg/sec boost::lockfree::queue, 2,i: 7,545,962 msg/sec boost::lockfree::queue, 3,s: 7,374,876 msg/sec boost::lockfree::queue, 3,i: 7,585,947 msg/sec boost::lockfree::queue, 4,s: 6,431,410 msg/sec boost::lockfree::queue, 4,i: 6,827,897 msg/sec boost::lockfree::queue, 5,s: 6,476,630 msg/sec boost::lockfree::queue, 5,i: 6,460,909 msg/sec boost::lockfree::queue, 6,s: 5,995,003 msg/sec boost::lockfree::queue, 6,i: 6,105,427 msg/sec boost::lockfree::queue, 7,s: 5,990,983 msg/sec boost::lockfree::queue, 7,i: 5,899,730 msg/sec boost::lockfree::queue, 8,s: 5,462,892 msg/sec boost::lockfree::queue, 8,i: 5,522,726 msg/sec moodycamel::ReaderWriterQueue, 1,s: 466,888,010 msg/sec moodycamel::ReaderWriterQueue, 1,i: 465,541,220 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,698,568 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,575,285 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,722,860 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,586,169 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,568,178 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,724,065 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,376,620 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,293,116 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,514,151 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,711,776 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,477,097 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,578,006 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,088,489 msg/sec moodycamel::ConcurrentQueue, 7,i: 39,636,084 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,437,691 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,566,631 msg/sec pthread_spinlock, 1,s: 28,854,028 msg/sec pthread_spinlock, 1,i: 25,343,767 msg/sec pthread_spinlock, 2,s: 15,605,199 msg/sec pthread_spinlock, 2,i: 16,936,325 msg/sec pthread_spinlock, 3,s: 8,278,906 msg/sec pthread_spinlock, 3,i: 12,000,928 msg/sec pthread_spinlock, 4,s: 6,520,731 msg/sec pthread_spinlock, 4,i: 9,117,927 msg/sec pthread_spinlock, 5,s: 8,670,007 msg/sec pthread_spinlock, 5,i: 9,218,805 msg/sec pthread_spinlock, 6,s: 8,289,143 msg/sec pthread_spinlock, 6,i: 9,088,935 msg/sec pthread_spinlock, 7,s: 7,189,956 msg/sec pthread_spinlock, 7,i: 8,070,647 msg/sec pthread_spinlock, 8,s: 6,686,048 msg/sec pthread_spinlock, 8,i: 6,920,682 msg/sec std::mutex, 1,s: 7,465,601 msg/sec std::mutex, 1,i: 7,471,214 msg/sec std::mutex, 2,s: 5,501,381 msg/sec std::mutex, 2,i: 5,854,017 msg/sec std::mutex, 3,s: 5,039,063 msg/sec std::mutex, 3,i: 6,178,413 msg/sec std::mutex, 4,s: 6,233,422 msg/sec std::mutex, 4,i: 6,392,049 msg/sec std::mutex, 5,s: 6,035,851 msg/sec std::mutex, 5,i: 6,267,218 msg/sec std::mutex, 6,s: 6,001,893 msg/sec std::mutex, 6,i: 5,990,863 msg/sec std::mutex, 7,s: 5,864,179 msg/sec std::mutex, 7,i: 5,877,733 msg/sec std::mutex, 8,s: 5,769,161 msg/sec std::mutex, 8,i: 5,763,877 msg/sec tbb::spin_mutex, 1,s: 37,960,903 msg/sec tbb::spin_mutex, 1,i: 32,943,583 msg/sec tbb::spin_mutex, 2,s: 21,134,216 msg/sec tbb::spin_mutex, 2,i: 18,434,914 msg/sec tbb::spin_mutex, 3,s: 7,322,921 msg/sec tbb::spin_mutex, 3,i: 10,557,991 msg/sec tbb::spin_mutex, 4,s: 3,099,342 msg/sec tbb::spin_mutex, 4,i: 6,314,420 msg/sec tbb::spin_mutex, 5,s: 5,445,030 msg/sec tbb::spin_mutex, 5,i: 5,878,170 msg/sec tbb::spin_mutex, 6,s: 5,328,103 msg/sec tbb::spin_mutex, 6,i: 4,335,985 msg/sec tbb::spin_mutex, 7,s: 4,862,041 msg/sec tbb::spin_mutex, 7,i: 4,294,387 msg/sec tbb::spin_mutex, 8,s: 4,251,080 msg/sec tbb::spin_mutex, 8,i: 4,108,922 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,319,034 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,217,864 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,390,402 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,387,531 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,631,472 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,580,595 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,498,535 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,586,454 msg/sec tbb::concurrent_bounded_queue, 5,s: 10,078,638 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,618,611 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,988,360 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,664,602 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,892,043 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,807,517 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,772,401 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,453,613 msg/sec xenium::michael_scott_queue, 1,s: 9,468,044 msg/sec xenium::michael_scott_queue, 1,i: 9,536,654 msg/sec xenium::michael_scott_queue, 2,s: 8,507,299 msg/sec xenium::michael_scott_queue, 2,i: 8,454,931 msg/sec xenium::michael_scott_queue, 3,s: 7,271,251 msg/sec xenium::michael_scott_queue, 3,i: 7,550,163 msg/sec xenium::michael_scott_queue, 4,s: 6,251,865 msg/sec xenium::michael_scott_queue, 4,i: 6,309,493 msg/sec xenium::michael_scott_queue, 5,s: 6,308,133 msg/sec xenium::michael_scott_queue, 5,i: 6,632,276 msg/sec xenium::michael_scott_queue, 6,s: 6,545,948 msg/sec xenium::michael_scott_queue, 6,i: 6,723,647 msg/sec xenium::michael_scott_queue, 7,s: 6,282,259 msg/sec xenium::michael_scott_queue, 7,i: 6,399,212 msg/sec xenium::michael_scott_queue, 8,s: 5,997,605 msg/sec xenium::michael_scott_queue, 8,i: 6,102,072 msg/sec xenium::ramalhete_queue, 1,s: 32,065,299 msg/sec xenium::ramalhete_queue, 1,i: 31,795,505 msg/sec xenium::ramalhete_queue, 2,s: 23,496,652 msg/sec xenium::ramalhete_queue, 2,i: 23,443,947 msg/sec xenium::ramalhete_queue, 3,s: 29,254,304 msg/sec xenium::ramalhete_queue, 3,i: 28,609,376 msg/sec xenium::ramalhete_queue, 4,s: 33,802,652 msg/sec xenium::ramalhete_queue, 4,i: 33,418,133 msg/sec xenium::ramalhete_queue, 5,s: 32,168,030 msg/sec xenium::ramalhete_queue, 5,i: 36,054,041 msg/sec xenium::ramalhete_queue, 6,s: 33,968,818 msg/sec xenium::ramalhete_queue, 6,i: 38,873,792 msg/sec xenium::ramalhete_queue, 7,s: 35,025,131 msg/sec xenium::ramalhete_queue, 7,i: 41,038,769 msg/sec xenium::ramalhete_queue, 8,s: 35,626,915 msg/sec xenium::ramalhete_queue, 8,i: 44,131,447 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,363,524 msg/sec xenium::vyukov_bounded_queue, 1,i: 110,767,528 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,475,471 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,990,987 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,683,977 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,383,640 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,400,183 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,536,672 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,575,216 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,341,447 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,236,204 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,525,640 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,269,651 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,926,107 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,397,337 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,350,194 msg/sec AtomicQueue, 1,s: 164,021,061 msg/sec AtomicQueue, 1,i: 270,380,194 msg/sec AtomicQueue, 2,s: 12,304,974 msg/sec AtomicQueue, 2,i: 11,724,120 msg/sec AtomicQueue, 3,s: 10,765,274 msg/sec AtomicQueue, 3,i: 9,924,362 msg/sec AtomicQueue, 4,s: 8,251,728 msg/sec AtomicQueue, 4,i: 8,200,333 msg/sec AtomicQueue, 5,s: 8,016,020 msg/sec AtomicQueue, 5,i: 8,064,205 msg/sec AtomicQueue, 6,s: 7,708,790 msg/sec AtomicQueue, 6,i: 7,603,460 msg/sec AtomicQueue, 7,s: 7,088,221 msg/sec AtomicQueue, 7,i: 7,972,516 msg/sec AtomicQueue, 8,s: 6,330,239 msg/sec AtomicQueue, 8,i: 7,469,477 msg/sec AtomicQueueB, 1,s: 43,953,763 msg/sec AtomicQueueB, 1,i: 42,993,520 msg/sec AtomicQueueB, 2,s: 11,826,778 msg/sec AtomicQueueB, 2,i: 11,531,266 msg/sec AtomicQueueB, 3,s: 11,039,689 msg/sec AtomicQueueB, 3,i: 10,077,836 msg/sec AtomicQueueB, 4,s: 8,048,450 msg/sec AtomicQueueB, 4,i: 7,961,787 msg/sec AtomicQueueB, 5,s: 7,764,197 msg/sec AtomicQueueB, 5,i: 7,854,821 msg/sec AtomicQueueB, 6,s: 7,453,966 msg/sec AtomicQueueB, 6,i: 7,503,374 msg/sec AtomicQueueB, 7,s: 6,917,122 msg/sec AtomicQueueB, 7,i: 7,742,105 msg/sec AtomicQueueB, 8,s: 6,303,449 msg/sec AtomicQueueB, 8,i: 7,205,072 msg/sec OptimistAtomicQueue, 1,s: 698,532,191 msg/sec OptimistAtomicQueue, 1,i: 519,733,839 msg/sec OptimistAtomicQueue, 2,s: 32,159,949 msg/sec OptimistAtomicQueue, 2,i: 32,235,369 msg/sec OptimistAtomicQueue, 3,s: 36,576,400 msg/sec OptimistAtomicQueue, 3,i: 37,308,118 msg/sec OptimistAtomicQueue, 4,s: 39,294,501 msg/sec OptimistAtomicQueue, 4,i: 39,365,671 msg/sec OptimistAtomicQueue, 5,s: 42,504,527 msg/sec OptimistAtomicQueue, 5,i: 47,205,163 msg/sec OptimistAtomicQueue, 6,s: 42,620,522 msg/sec OptimistAtomicQueue, 6,i: 50,291,642 msg/sec OptimistAtomicQueue, 7,s: 44,336,737 msg/sec OptimistAtomicQueue, 7,i: 49,165,707 msg/sec OptimistAtomicQueue, 8,s: 46,353,762 msg/sec OptimistAtomicQueue, 8,i: 49,339,859 msg/sec OptimistAtomicQueueB, 1,s: 103,829,173 msg/sec OptimistAtomicQueueB, 1,i: 76,573,092 msg/sec OptimistAtomicQueueB, 2,s: 32,156,160 msg/sec OptimistAtomicQueueB, 2,i: 32,217,371 msg/sec OptimistAtomicQueueB, 3,s: 36,309,696 msg/sec OptimistAtomicQueueB, 3,i: 36,922,067 msg/sec OptimistAtomicQueueB, 4,s: 38,700,781 msg/sec OptimistAtomicQueueB, 4,i: 38,615,455 msg/sec OptimistAtomicQueueB, 5,s: 40,825,252 msg/sec OptimistAtomicQueueB, 5,i: 46,178,768 msg/sec OptimistAtomicQueueB, 6,s: 41,033,597 msg/sec OptimistAtomicQueueB, 6,i: 48,969,295 msg/sec OptimistAtomicQueueB, 7,s: 42,983,432 msg/sec OptimistAtomicQueueB, 7,i: 51,349,827 msg/sec OptimistAtomicQueueB, 8,s: 44,180,264 msg/sec OptimistAtomicQueueB, 8,i: 48,145,442 msg/sec AtomicQueue2, 1,s: 23,529,615 msg/sec AtomicQueue2, 1,i: 23,401,036 msg/sec AtomicQueue2, 2,s: 11,939,036 msg/sec AtomicQueue2, 2,i: 11,564,143 msg/sec AtomicQueue2, 3,s: 9,408,610 msg/sec AtomicQueue2, 3,i: 9,383,093 msg/sec AtomicQueue2, 4,s: 8,054,715 msg/sec AtomicQueue2, 4,i: 8,015,443 msg/sec AtomicQueue2, 5,s: 7,935,377 msg/sec AtomicQueue2, 5,i: 8,088,557 msg/sec AtomicQueue2, 6,s: 7,882,310 msg/sec AtomicQueue2, 6,i: 7,514,034 msg/sec AtomicQueue2, 7,s: 7,153,789 msg/sec AtomicQueue2, 7,i: 7,920,807 msg/sec AtomicQueue2, 8,s: 6,403,024 msg/sec AtomicQueue2, 8,i: 7,199,595 msg/sec AtomicQueueB2, 1,s: 36,008,156 msg/sec AtomicQueueB2, 1,i: 32,637,315 msg/sec AtomicQueueB2, 2,s: 11,442,307 msg/sec AtomicQueueB2, 2,i: 11,117,073 msg/sec AtomicQueueB2, 3,s: 9,638,308 msg/sec AtomicQueueB2, 3,i: 9,577,896 msg/sec AtomicQueueB2, 4,s: 7,964,374 msg/sec AtomicQueueB2, 4,i: 7,925,330 msg/sec AtomicQueueB2, 5,s: 7,405,716 msg/sec AtomicQueueB2, 5,i: 7,657,741 msg/sec AtomicQueueB2, 6,s: 7,359,461 msg/sec AtomicQueueB2, 6,i: 7,462,562 msg/sec AtomicQueueB2, 7,s: 6,908,245 msg/sec AtomicQueueB2, 7,i: 7,692,699 msg/sec AtomicQueueB2, 8,s: 6,312,269 msg/sec AtomicQueueB2, 8,i: 7,094,350 msg/sec OptimistAtomicQueue2, 1,s: 332,456,755 msg/sec OptimistAtomicQueue2, 1,i: 32,265,108 msg/sec OptimistAtomicQueue2, 2,s: 28,134,894 msg/sec OptimistAtomicQueue2, 2,i: 24,142,654 msg/sec OptimistAtomicQueue2, 3,s: 30,445,864 msg/sec OptimistAtomicQueue2, 3,i: 29,956,302 msg/sec OptimistAtomicQueue2, 4,s: 33,249,236 msg/sec OptimistAtomicQueue2, 4,i: 33,161,070 msg/sec OptimistAtomicQueue2, 5,s: 36,979,077 msg/sec OptimistAtomicQueue2, 5,i: 40,180,129 msg/sec OptimistAtomicQueue2, 6,s: 40,121,354 msg/sec OptimistAtomicQueue2, 6,i: 49,128,611 msg/sec OptimistAtomicQueue2, 7,s: 43,179,186 msg/sec OptimistAtomicQueue2, 7,i: 48,114,176 msg/sec OptimistAtomicQueue2, 8,s: 44,124,347 msg/sec OptimistAtomicQueue2, 8,i: 48,963,931 msg/sec OptimistAtomicQueueB2, 1,s: 76,766,570 msg/sec OptimistAtomicQueueB2, 1,i: 50,438,032 msg/sec OptimistAtomicQueueB2, 2,s: 27,836,564 msg/sec OptimistAtomicQueueB2, 2,i: 23,147,464 msg/sec OptimistAtomicQueueB2, 3,s: 29,744,858 msg/sec OptimistAtomicQueueB2, 3,i: 29,625,437 msg/sec OptimistAtomicQueueB2, 4,s: 33,278,310 msg/sec OptimistAtomicQueueB2, 4,i: 33,000,320 msg/sec OptimistAtomicQueueB2, 5,s: 34,623,929 msg/sec OptimistAtomicQueueB2, 5,i: 39,034,690 msg/sec OptimistAtomicQueueB2, 6,s: 37,159,765 msg/sec OptimistAtomicQueueB2, 6,i: 41,872,607 msg/sec OptimistAtomicQueueB2, 7,s: 40,201,170 msg/sec OptimistAtomicQueueB2, 7,i: 43,202,055 msg/sec OptimistAtomicQueueB2, 8,s: 42,294,548 msg/sec OptimistAtomicQueueB2, 8,i: 45,309,221 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000241 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000283 sec/round-trip tbb::concurrent_bounded_queue: 0.000000283 sec/round-trip xenium::michael_scott_queue: 0.000000363 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000197 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [12] 465m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,648,746 msg/sec boost::lockfree::spsc_queue, 1,i: 70,674,170 msg/sec boost::lockfree::queue, 1,s: 7,763,094 msg/sec boost::lockfree::queue, 1,i: 8,006,105 msg/sec boost::lockfree::queue, 2,s: 7,642,137 msg/sec boost::lockfree::queue, 2,i: 7,632,297 msg/sec boost::lockfree::queue, 3,s: 7,275,901 msg/sec boost::lockfree::queue, 3,i: 7,433,932 msg/sec boost::lockfree::queue, 4,s: 6,408,922 msg/sec boost::lockfree::queue, 4,i: 6,763,136 msg/sec boost::lockfree::queue, 5,s: 6,417,083 msg/sec boost::lockfree::queue, 5,i: 6,477,670 msg/sec boost::lockfree::queue, 6,s: 5,954,911 msg/sec boost::lockfree::queue, 6,i: 6,132,966 msg/sec boost::lockfree::queue, 7,s: 6,060,542 msg/sec boost::lockfree::queue, 7,i: 5,942,160 msg/sec boost::lockfree::queue, 8,s: 5,552,733 msg/sec boost::lockfree::queue, 8,i: 5,698,206 msg/sec moodycamel::ReaderWriterQueue, 1,s: 508,171,137 msg/sec moodycamel::ReaderWriterQueue, 1,i: 170,541,664 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,128,142 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,393,211 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,001,089 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,225,096 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,692,630 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,898,697 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,887,960 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,977,738 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,247,091 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,397,275 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,393,542 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,214,315 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,998,394 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,365,432 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,121,199 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,415,064 msg/sec pthread_spinlock, 1,s: 29,247,918 msg/sec pthread_spinlock, 1,i: 25,377,750 msg/sec pthread_spinlock, 2,s: 16,045,448 msg/sec pthread_spinlock, 2,i: 17,304,187 msg/sec pthread_spinlock, 3,s: 8,378,711 msg/sec pthread_spinlock, 3,i: 12,043,197 msg/sec pthread_spinlock, 4,s: 6,486,709 msg/sec pthread_spinlock, 4,i: 9,087,297 msg/sec pthread_spinlock, 5,s: 8,650,236 msg/sec pthread_spinlock, 5,i: 9,176,729 msg/sec pthread_spinlock, 6,s: 8,620,829 msg/sec pthread_spinlock, 6,i: 8,880,519 msg/sec pthread_spinlock, 7,s: 7,628,614 msg/sec pthread_spinlock, 7,i: 7,978,362 msg/sec pthread_spinlock, 8,s: 6,691,856 msg/sec pthread_spinlock, 8,i: 6,872,108 msg/sec std::mutex, 1,s: 5,525,296 msg/sec std::mutex, 1,i: 6,589,940 msg/sec std::mutex, 2,s: 6,158,016 msg/sec std::mutex, 2,i: 6,052,815 msg/sec std::mutex, 3,s: 5,327,426 msg/sec std::mutex, 3,i: 6,121,199 msg/sec std::mutex, 4,s: 5,927,648 msg/sec std::mutex, 4,i: 6,193,267 msg/sec std::mutex, 5,s: 5,889,519 msg/sec std::mutex, 5,i: 5,965,759 msg/sec std::mutex, 6,s: 5,821,323 msg/sec std::mutex, 6,i: 5,879,790 msg/sec std::mutex, 7,s: 5,742,538 msg/sec std::mutex, 7,i: 5,772,089 msg/sec std::mutex, 8,s: 5,634,357 msg/sec std::mutex, 8,i: 5,654,749 msg/sec tbb::spin_mutex, 1,s: 37,853,171 msg/sec tbb::spin_mutex, 1,i: 32,853,427 msg/sec tbb::spin_mutex, 2,s: 21,212,010 msg/sec tbb::spin_mutex, 2,i: 18,290,584 msg/sec tbb::spin_mutex, 3,s: 8,516,342 msg/sec tbb::spin_mutex, 3,i: 10,203,104 msg/sec tbb::spin_mutex, 4,s: 3,184,781 msg/sec tbb::spin_mutex, 4,i: 6,312,890 msg/sec tbb::spin_mutex, 5,s: 5,499,669 msg/sec tbb::spin_mutex, 5,i: 5,602,002 msg/sec tbb::spin_mutex, 6,s: 5,283,364 msg/sec tbb::spin_mutex, 6,i: 4,325,574 msg/sec tbb::spin_mutex, 7,s: 4,845,008 msg/sec tbb::spin_mutex, 7,i: 4,377,252 msg/sec tbb::spin_mutex, 8,s: 3,854,830 msg/sec tbb::spin_mutex, 8,i: 4,070,317 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,417,580 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,300,252 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,208,154 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,299,985 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,470,096 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,754,772 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,604,245 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,573,693 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,987,372 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,618,844 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,912,064 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,730,401 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,885,802 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,837,207 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,752,786 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,477,278 msg/sec xenium::michael_scott_queue, 1,s: 10,101,069 msg/sec xenium::michael_scott_queue, 1,i: 9,774,055 msg/sec xenium::michael_scott_queue, 2,s: 8,478,368 msg/sec xenium::michael_scott_queue, 2,i: 8,429,283 msg/sec xenium::michael_scott_queue, 3,s: 7,320,357 msg/sec xenium::michael_scott_queue, 3,i: 7,527,351 msg/sec xenium::michael_scott_queue, 4,s: 6,337,877 msg/sec xenium::michael_scott_queue, 4,i: 6,364,823 msg/sec xenium::michael_scott_queue, 5,s: 6,268,933 msg/sec xenium::michael_scott_queue, 5,i: 6,805,823 msg/sec xenium::michael_scott_queue, 6,s: 6,470,800 msg/sec xenium::michael_scott_queue, 6,i: 6,755,413 msg/sec xenium::michael_scott_queue, 7,s: 6,269,947 msg/sec xenium::michael_scott_queue, 7,i: 6,528,952 msg/sec xenium::michael_scott_queue, 8,s: 5,965,143 msg/sec xenium::michael_scott_queue, 8,i: 6,052,490 msg/sec xenium::ramalhete_queue, 1,s: 32,513,277 msg/sec xenium::ramalhete_queue, 1,i: 33,193,345 msg/sec xenium::ramalhete_queue, 2,s: 23,603,591 msg/sec xenium::ramalhete_queue, 2,i: 23,126,456 msg/sec xenium::ramalhete_queue, 3,s: 28,850,578 msg/sec xenium::ramalhete_queue, 3,i: 28,563,333 msg/sec xenium::ramalhete_queue, 4,s: 33,612,340 msg/sec xenium::ramalhete_queue, 4,i: 33,418,634 msg/sec xenium::ramalhete_queue, 5,s: 32,186,226 msg/sec xenium::ramalhete_queue, 5,i: 36,061,873 msg/sec xenium::ramalhete_queue, 6,s: 33,982,741 msg/sec xenium::ramalhete_queue, 6,i: 38,997,261 msg/sec xenium::ramalhete_queue, 7,s: 35,071,994 msg/sec xenium::ramalhete_queue, 7,i: 41,238,498 msg/sec xenium::ramalhete_queue, 8,s: 35,412,433 msg/sec xenium::ramalhete_queue, 8,i: 43,962,288 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,812,405 msg/sec xenium::vyukov_bounded_queue, 1,i: 108,889,205 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,242,770 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,174,662 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,704,767 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,842,363 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,616,203 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,360,567 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,030,221 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,375,540 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,026,709 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,502,439 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,210,198 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,941,910 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,433,497 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,227,857 msg/sec AtomicQueue, 1,s: 182,462,281 msg/sec AtomicQueue, 1,i: 121,533,810 msg/sec AtomicQueue, 2,s: 12,240,063 msg/sec AtomicQueue, 2,i: 11,780,033 msg/sec AtomicQueue, 3,s: 10,764,875 msg/sec AtomicQueue, 3,i: 9,971,143 msg/sec AtomicQueue, 4,s: 8,162,957 msg/sec AtomicQueue, 4,i: 8,175,872 msg/sec AtomicQueue, 5,s: 8,044,604 msg/sec AtomicQueue, 5,i: 8,079,518 msg/sec AtomicQueue, 6,s: 7,842,469 msg/sec AtomicQueue, 6,i: 7,611,438 msg/sec AtomicQueue, 7,s: 7,188,922 msg/sec AtomicQueue, 7,i: 7,994,307 msg/sec AtomicQueue, 8,s: 6,368,557 msg/sec AtomicQueue, 8,i: 7,467,597 msg/sec AtomicQueueB, 1,s: 43,911,874 msg/sec AtomicQueueB, 1,i: 43,157,020 msg/sec AtomicQueueB, 2,s: 11,851,261 msg/sec AtomicQueueB, 2,i: 11,487,234 msg/sec AtomicQueueB, 3,s: 11,014,384 msg/sec AtomicQueueB, 3,i: 10,278,691 msg/sec AtomicQueueB, 4,s: 8,092,248 msg/sec AtomicQueueB, 4,i: 7,964,622 msg/sec AtomicQueueB, 5,s: 7,587,450 msg/sec AtomicQueueB, 5,i: 7,708,764 msg/sec AtomicQueueB, 6,s: 7,224,564 msg/sec AtomicQueueB, 6,i: 7,483,478 msg/sec AtomicQueueB, 7,s: 6,880,389 msg/sec AtomicQueueB, 7,i: 7,719,739 msg/sec AtomicQueueB, 8,s: 6,274,301 msg/sec AtomicQueueB, 8,i: 7,013,707 msg/sec OptimistAtomicQueue, 1,s: 708,610,628 msg/sec OptimistAtomicQueue, 1,i: 510,685,715 msg/sec OptimistAtomicQueue, 2,s: 32,154,588 msg/sec OptimistAtomicQueue, 2,i: 32,730,512 msg/sec OptimistAtomicQueue, 3,s: 36,683,499 msg/sec OptimistAtomicQueue, 3,i: 37,451,615 msg/sec OptimistAtomicQueue, 4,s: 39,284,617 msg/sec OptimistAtomicQueue, 4,i: 39,388,880 msg/sec OptimistAtomicQueue, 5,s: 42,432,758 msg/sec OptimistAtomicQueue, 5,i: 46,290,791 msg/sec OptimistAtomicQueue, 6,s: 42,289,340 msg/sec OptimistAtomicQueue, 6,i: 50,394,384 msg/sec OptimistAtomicQueue, 7,s: 44,023,511 msg/sec OptimistAtomicQueue, 7,i: 52,834,281 msg/sec OptimistAtomicQueue, 8,s: 46,420,384 msg/sec OptimistAtomicQueue, 8,i: 49,633,295 msg/sec OptimistAtomicQueueB, 1,s: 84,040,370 msg/sec OptimistAtomicQueueB, 1,i: 76,614,193 msg/sec OptimistAtomicQueueB, 2,s: 32,208,506 msg/sec OptimistAtomicQueueB, 2,i: 32,181,983 msg/sec OptimistAtomicQueueB, 3,s: 36,294,105 msg/sec OptimistAtomicQueueB, 3,i: 36,810,485 msg/sec OptimistAtomicQueueB, 4,s: 38,648,704 msg/sec OptimistAtomicQueueB, 4,i: 38,773,110 msg/sec OptimistAtomicQueueB, 5,s: 41,227,757 msg/sec OptimistAtomicQueueB, 5,i: 45,275,895 msg/sec OptimistAtomicQueueB, 6,s: 40,812,316 msg/sec OptimistAtomicQueueB, 6,i: 49,161,787 msg/sec OptimistAtomicQueueB, 7,s: 42,276,532 msg/sec OptimistAtomicQueueB, 7,i: 51,464,652 msg/sec OptimistAtomicQueueB, 8,s: 44,533,224 msg/sec OptimistAtomicQueueB, 8,i: 48,249,339 msg/sec AtomicQueue2, 1,s: 22,919,392 msg/sec AtomicQueue2, 1,i: 22,925,164 msg/sec AtomicQueue2, 2,s: 11,806,027 msg/sec AtomicQueue2, 2,i: 11,380,292 msg/sec AtomicQueue2, 3,s: 9,420,913 msg/sec AtomicQueue2, 3,i: 9,341,301 msg/sec AtomicQueue2, 4,s: 8,050,783 msg/sec AtomicQueue2, 4,i: 8,086,260 msg/sec AtomicQueue2, 5,s: 7,897,074 msg/sec AtomicQueue2, 5,i: 8,012,841 msg/sec AtomicQueue2, 6,s: 7,717,512 msg/sec AtomicQueue2, 6,i: 7,531,343 msg/sec AtomicQueue2, 7,s: 7,138,991 msg/sec AtomicQueue2, 7,i: 7,880,988 msg/sec AtomicQueue2, 8,s: 6,369,425 msg/sec AtomicQueue2, 8,i: 7,292,134 msg/sec AtomicQueueB2, 1,s: 35,935,330 msg/sec AtomicQueueB2, 1,i: 35,800,015 msg/sec AtomicQueueB2, 2,s: 11,501,573 msg/sec AtomicQueueB2, 2,i: 11,069,563 msg/sec AtomicQueueB2, 3,s: 9,718,162 msg/sec AtomicQueueB2, 3,i: 9,530,733 msg/sec AtomicQueueB2, 4,s: 7,884,063 msg/sec AtomicQueueB2, 4,i: 7,899,239 msg/sec AtomicQueueB2, 5,s: 7,442,881 msg/sec AtomicQueueB2, 5,i: 7,737,162 msg/sec AtomicQueueB2, 6,s: 7,315,810 msg/sec AtomicQueueB2, 6,i: 7,417,058 msg/sec AtomicQueueB2, 7,s: 6,923,579 msg/sec AtomicQueueB2, 7,i: 7,697,215 msg/sec AtomicQueueB2, 8,s: 6,256,431 msg/sec AtomicQueueB2, 8,i: 7,075,377 msg/sec OptimistAtomicQueue2, 1,s: 418,631,487 msg/sec OptimistAtomicQueue2, 1,i: 439,215,534 msg/sec OptimistAtomicQueue2, 2,s: 25,364,479 msg/sec OptimistAtomicQueue2, 2,i: 24,010,690 msg/sec OptimistAtomicQueue2, 3,s: 30,322,806 msg/sec OptimistAtomicQueue2, 3,i: 29,879,412 msg/sec OptimistAtomicQueue2, 4,s: 33,206,691 msg/sec OptimistAtomicQueue2, 4,i: 33,172,829 msg/sec OptimistAtomicQueue2, 5,s: 37,263,829 msg/sec OptimistAtomicQueue2, 5,i: 40,175,526 msg/sec OptimistAtomicQueue2, 6,s: 40,099,264 msg/sec OptimistAtomicQueue2, 6,i: 49,241,838 msg/sec OptimistAtomicQueue2, 7,s: 42,722,337 msg/sec OptimistAtomicQueue2, 7,i: 51,398,657 msg/sec OptimistAtomicQueue2, 8,s: 44,195,147 msg/sec OptimistAtomicQueue2, 8,i: 48,469,029 msg/sec OptimistAtomicQueueB2, 1,s: 77,778,770 msg/sec OptimistAtomicQueueB2, 1,i: 33,935,876 msg/sec OptimistAtomicQueueB2, 2,s: 28,162,212 msg/sec OptimistAtomicQueueB2, 2,i: 23,637,866 msg/sec OptimistAtomicQueueB2, 3,s: 29,686,941 msg/sec OptimistAtomicQueueB2, 3,i: 29,034,903 msg/sec OptimistAtomicQueueB2, 4,s: 33,356,819 msg/sec OptimistAtomicQueueB2, 4,i: 32,741,845 msg/sec OptimistAtomicQueueB2, 5,s: 34,621,823 msg/sec OptimistAtomicQueueB2, 5,i: 39,340,017 msg/sec OptimistAtomicQueueB2, 6,s: 37,685,385 msg/sec OptimistAtomicQueueB2, 6,i: 42,361,782 msg/sec OptimistAtomicQueueB2, 7,s: 40,902,878 msg/sec OptimistAtomicQueueB2, 7,i: 45,482,669 msg/sec OptimistAtomicQueueB2, 8,s: 42,392,015 msg/sec OptimistAtomicQueueB2, 8,i: 45,858,796 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000275 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000275 sec/round-trip tbb::concurrent_bounded_queue: 0.000000281 sec/round-trip xenium::michael_scott_queue: 0.000000362 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000155 sec/round-trip [13] 464m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 74,175,178 msg/sec boost::lockfree::spsc_queue, 1,i: 74,003,147 msg/sec boost::lockfree::queue, 1,s: 6,900,745 msg/sec boost::lockfree::queue, 1,i: 6,928,954 msg/sec boost::lockfree::queue, 2,s: 7,477,513 msg/sec boost::lockfree::queue, 2,i: 7,478,319 msg/sec boost::lockfree::queue, 3,s: 7,414,053 msg/sec boost::lockfree::queue, 3,i: 7,562,241 msg/sec boost::lockfree::queue, 4,s: 6,424,297 msg/sec boost::lockfree::queue, 4,i: 6,747,427 msg/sec boost::lockfree::queue, 5,s: 6,491,777 msg/sec boost::lockfree::queue, 5,i: 6,515,002 msg/sec boost::lockfree::queue, 6,s: 5,996,737 msg/sec boost::lockfree::queue, 6,i: 6,104,964 msg/sec boost::lockfree::queue, 7,s: 6,007,140 msg/sec boost::lockfree::queue, 7,i: 5,929,248 msg/sec boost::lockfree::queue, 8,s: 5,465,764 msg/sec boost::lockfree::queue, 8,i: 5,553,853 msg/sec moodycamel::ReaderWriterQueue, 1,s: 219,862,329 msg/sec moodycamel::ReaderWriterQueue, 1,i: 81,557,613 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,327,566 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,933,018 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,159,850 msg/sec moodycamel::ConcurrentQueue, 2,i: 50,314,766 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,795,128 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,516,313 msg/sec moodycamel::ConcurrentQueue, 4,s: 18,025,732 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,384,666 msg/sec moodycamel::ConcurrentQueue, 5,s: 46,486,284 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,128,513 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,378,378 msg/sec moodycamel::ConcurrentQueue, 6,i: 50,386,086 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,073,759 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,975,939 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,328,629 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,089,358 msg/sec pthread_spinlock, 1,s: 28,645,483 msg/sec pthread_spinlock, 1,i: 25,314,394 msg/sec pthread_spinlock, 2,s: 15,597,541 msg/sec pthread_spinlock, 2,i: 17,097,047 msg/sec pthread_spinlock, 3,s: 8,374,806 msg/sec pthread_spinlock, 3,i: 11,916,529 msg/sec pthread_spinlock, 4,s: 6,524,571 msg/sec pthread_spinlock, 4,i: 9,202,102 msg/sec pthread_spinlock, 5,s: 8,474,023 msg/sec pthread_spinlock, 5,i: 9,520,221 msg/sec pthread_spinlock, 6,s: 8,319,284 msg/sec pthread_spinlock, 6,i: 8,431,013 msg/sec pthread_spinlock, 7,s: 7,968,183 msg/sec pthread_spinlock, 7,i: 7,621,044 msg/sec pthread_spinlock, 8,s: 6,676,028 msg/sec pthread_spinlock, 8,i: 6,887,115 msg/sec std::mutex, 1,s: 6,828,691 msg/sec std::mutex, 1,i: 7,481,332 msg/sec std::mutex, 2,s: 6,148,978 msg/sec std::mutex, 2,i: 6,158,626 msg/sec std::mutex, 3,s: 5,962,313 msg/sec std::mutex, 3,i: 6,052,591 msg/sec std::mutex, 4,s: 6,056,818 msg/sec std::mutex, 4,i: 6,197,484 msg/sec std::mutex, 5,s: 5,928,947 msg/sec std::mutex, 5,i: 5,712,653 msg/sec std::mutex, 6,s: 5,854,631 msg/sec std::mutex, 6,i: 5,865,500 msg/sec std::mutex, 7,s: 5,764,653 msg/sec std::mutex, 7,i: 5,811,206 msg/sec std::mutex, 8,s: 5,619,912 msg/sec std::mutex, 8,i: 5,614,350 msg/sec tbb::spin_mutex, 1,s: 37,961,217 msg/sec tbb::spin_mutex, 1,i: 37,744,490 msg/sec tbb::spin_mutex, 2,s: 21,075,749 msg/sec tbb::spin_mutex, 2,i: 18,321,816 msg/sec tbb::spin_mutex, 3,s: 7,427,951 msg/sec tbb::spin_mutex, 3,i: 10,294,702 msg/sec tbb::spin_mutex, 4,s: 3,203,795 msg/sec tbb::spin_mutex, 4,i: 6,206,256 msg/sec tbb::spin_mutex, 5,s: 5,492,125 msg/sec tbb::spin_mutex, 5,i: 5,495,869 msg/sec tbb::spin_mutex, 6,s: 5,297,002 msg/sec tbb::spin_mutex, 6,i: 4,312,512 msg/sec tbb::spin_mutex, 7,s: 4,852,874 msg/sec tbb::spin_mutex, 7,i: 4,364,820 msg/sec tbb::spin_mutex, 8,s: 3,719,243 msg/sec tbb::spin_mutex, 8,i: 4,194,722 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,527,895 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,526,514 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,676,202 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,648,377 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,092,954 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,739,799 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,282,471 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,280,448 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,608,829 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,179,540 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,964,759 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,441,242 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,953,555 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,588,684 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,040,168 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,713,036 msg/sec xenium::michael_scott_queue, 1,s: 9,342,168 msg/sec xenium::michael_scott_queue, 1,i: 9,366,119 msg/sec xenium::michael_scott_queue, 2,s: 8,437,678 msg/sec xenium::michael_scott_queue, 2,i: 8,507,910 msg/sec xenium::michael_scott_queue, 3,s: 7,155,174 msg/sec xenium::michael_scott_queue, 3,i: 7,489,226 msg/sec xenium::michael_scott_queue, 4,s: 6,308,360 msg/sec xenium::michael_scott_queue, 4,i: 6,383,233 msg/sec xenium::michael_scott_queue, 5,s: 6,260,746 msg/sec xenium::michael_scott_queue, 5,i: 6,616,649 msg/sec xenium::michael_scott_queue, 6,s: 6,515,583 msg/sec xenium::michael_scott_queue, 6,i: 6,672,797 msg/sec xenium::michael_scott_queue, 7,s: 6,327,609 msg/sec xenium::michael_scott_queue, 7,i: 6,470,854 msg/sec xenium::michael_scott_queue, 8,s: 6,004,607 msg/sec xenium::michael_scott_queue, 8,i: 6,257,896 msg/sec xenium::ramalhete_queue, 1,s: 31,637,408 msg/sec xenium::ramalhete_queue, 1,i: 31,690,730 msg/sec xenium::ramalhete_queue, 2,s: 24,391,125 msg/sec xenium::ramalhete_queue, 2,i: 23,222,521 msg/sec xenium::ramalhete_queue, 3,s: 29,132,048 msg/sec xenium::ramalhete_queue, 3,i: 28,497,488 msg/sec xenium::ramalhete_queue, 4,s: 33,838,252 msg/sec xenium::ramalhete_queue, 4,i: 33,388,858 msg/sec xenium::ramalhete_queue, 5,s: 31,937,374 msg/sec xenium::ramalhete_queue, 5,i: 36,205,167 msg/sec xenium::ramalhete_queue, 6,s: 33,945,714 msg/sec xenium::ramalhete_queue, 6,i: 39,572,011 msg/sec xenium::ramalhete_queue, 7,s: 35,026,901 msg/sec xenium::ramalhete_queue, 7,i: 40,726,679 msg/sec xenium::ramalhete_queue, 8,s: 35,539,434 msg/sec xenium::ramalhete_queue, 8,i: 44,255,871 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,926,046 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,754,329 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,410,111 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,705,550 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,665,171 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,862,926 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,689,349 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,287,910 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,956,277 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,372,108 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,969,617 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,240,184 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,222,775 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,929,269 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,418,752 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,245,633 msg/sec AtomicQueue, 1,s: 61,780,011 msg/sec AtomicQueue, 1,i: 56,702,369 msg/sec AtomicQueue, 2,s: 12,261,356 msg/sec AtomicQueue, 2,i: 11,740,378 msg/sec AtomicQueue, 3,s: 10,754,508 msg/sec AtomicQueue, 3,i: 10,009,817 msg/sec AtomicQueue, 4,s: 8,217,875 msg/sec AtomicQueue, 4,i: 8,175,020 msg/sec AtomicQueue, 5,s: 8,042,446 msg/sec AtomicQueue, 5,i: 8,136,291 msg/sec AtomicQueue, 6,s: 7,845,524 msg/sec AtomicQueue, 6,i: 7,610,170 msg/sec AtomicQueue, 7,s: 7,061,447 msg/sec AtomicQueue, 7,i: 7,990,837 msg/sec AtomicQueue, 8,s: 6,337,613 msg/sec AtomicQueue, 8,i: 7,435,332 msg/sec AtomicQueueB, 1,s: 43,948,723 msg/sec AtomicQueueB, 1,i: 43,031,581 msg/sec AtomicQueueB, 2,s: 11,810,810 msg/sec AtomicQueueB, 2,i: 11,461,279 msg/sec AtomicQueueB, 3,s: 10,960,834 msg/sec AtomicQueueB, 3,i: 10,175,896 msg/sec AtomicQueueB, 4,s: 8,102,759 msg/sec AtomicQueueB, 4,i: 7,963,466 msg/sec AtomicQueueB, 5,s: 7,681,593 msg/sec AtomicQueueB, 5,i: 7,784,427 msg/sec AtomicQueueB, 6,s: 7,345,146 msg/sec AtomicQueueB, 6,i: 7,529,262 msg/sec AtomicQueueB, 7,s: 6,877,659 msg/sec AtomicQueueB, 7,i: 7,760,959 msg/sec AtomicQueueB, 8,s: 6,228,173 msg/sec AtomicQueueB, 8,i: 7,121,524 msg/sec OptimistAtomicQueue, 1,s: 773,375,915 msg/sec OptimistAtomicQueue, 1,i: 698,181,411 msg/sec OptimistAtomicQueue, 2,s: 32,641,983 msg/sec OptimistAtomicQueue, 2,i: 32,713,878 msg/sec OptimistAtomicQueue, 3,s: 36,658,295 msg/sec OptimistAtomicQueue, 3,i: 37,405,208 msg/sec OptimistAtomicQueue, 4,s: 39,283,073 msg/sec OptimistAtomicQueue, 4,i: 39,379,439 msg/sec OptimistAtomicQueue, 5,s: 41,577,995 msg/sec OptimistAtomicQueue, 5,i: 46,325,919 msg/sec OptimistAtomicQueue, 6,s: 41,786,934 msg/sec OptimistAtomicQueue, 6,i: 50,304,982 msg/sec OptimistAtomicQueue, 7,s: 44,460,477 msg/sec OptimistAtomicQueue, 7,i: 52,979,407 msg/sec OptimistAtomicQueue, 8,s: 46,373,653 msg/sec OptimistAtomicQueue, 8,i: 48,900,838 msg/sec OptimistAtomicQueueB, 1,s: 234,606,596 msg/sec OptimistAtomicQueueB, 1,i: 76,610,595 msg/sec OptimistAtomicQueueB, 2,s: 31,723,588 msg/sec OptimistAtomicQueueB, 2,i: 31,614,747 msg/sec OptimistAtomicQueueB, 3,s: 36,181,320 msg/sec OptimistAtomicQueueB, 3,i: 36,805,110 msg/sec OptimistAtomicQueueB, 4,s: 38,546,909 msg/sec OptimistAtomicQueueB, 4,i: 38,586,453 msg/sec OptimistAtomicQueueB, 5,s: 40,674,274 msg/sec OptimistAtomicQueueB, 5,i: 45,206,789 msg/sec OptimistAtomicQueueB, 6,s: 41,215,725 msg/sec OptimistAtomicQueueB, 6,i: 49,022,778 msg/sec OptimistAtomicQueueB, 7,s: 42,132,332 msg/sec OptimistAtomicQueueB, 7,i: 51,477,552 msg/sec OptimistAtomicQueueB, 8,s: 44,344,716 msg/sec OptimistAtomicQueueB, 8,i: 47,689,856 msg/sec AtomicQueue2, 1,s: 22,930,071 msg/sec AtomicQueue2, 1,i: 22,898,190 msg/sec AtomicQueue2, 2,s: 11,825,272 msg/sec AtomicQueue2, 2,i: 11,652,508 msg/sec AtomicQueue2, 3,s: 9,397,725 msg/sec AtomicQueue2, 3,i: 9,651,841 msg/sec AtomicQueue2, 4,s: 8,093,725 msg/sec AtomicQueue2, 4,i: 8,109,694 msg/sec AtomicQueue2, 5,s: 7,894,699 msg/sec AtomicQueue2, 5,i: 8,046,866 msg/sec AtomicQueue2, 6,s: 7,575,852 msg/sec AtomicQueue2, 6,i: 7,528,563 msg/sec AtomicQueue2, 7,s: 7,155,626 msg/sec AtomicQueue2, 7,i: 7,888,587 msg/sec AtomicQueue2, 8,s: 6,369,524 msg/sec AtomicQueue2, 8,i: 7,203,396 msg/sec AtomicQueueB2, 1,s: 32,655,847 msg/sec AtomicQueueB2, 1,i: 32,625,343 msg/sec AtomicQueueB2, 2,s: 11,476,144 msg/sec AtomicQueueB2, 2,i: 11,091,114 msg/sec AtomicQueueB2, 3,s: 9,704,020 msg/sec AtomicQueueB2, 3,i: 9,509,385 msg/sec AtomicQueueB2, 4,s: 7,805,133 msg/sec AtomicQueueB2, 4,i: 7,761,742 msg/sec AtomicQueueB2, 5,s: 7,563,191 msg/sec AtomicQueueB2, 5,i: 7,604,387 msg/sec AtomicQueueB2, 6,s: 7,250,560 msg/sec AtomicQueueB2, 6,i: 7,440,661 msg/sec AtomicQueueB2, 7,s: 6,861,649 msg/sec AtomicQueueB2, 7,i: 7,709,286 msg/sec AtomicQueueB2, 8,s: 6,303,997 msg/sec AtomicQueueB2, 8,i: 7,104,448 msg/sec OptimistAtomicQueue2, 1,s: 525,704,450 msg/sec OptimistAtomicQueue2, 1,i: 30,078,855 msg/sec OptimistAtomicQueue2, 2,s: 26,395,324 msg/sec OptimistAtomicQueue2, 2,i: 22,681,520 msg/sec OptimistAtomicQueue2, 3,s: 30,518,974 msg/sec OptimistAtomicQueue2, 3,i: 30,000,692 msg/sec OptimistAtomicQueue2, 4,s: 33,248,139 msg/sec OptimistAtomicQueue2, 4,i: 33,166,388 msg/sec OptimistAtomicQueue2, 5,s: 37,181,930 msg/sec OptimistAtomicQueue2, 5,i: 40,179,227 msg/sec OptimistAtomicQueue2, 6,s: 40,363,612 msg/sec OptimistAtomicQueue2, 6,i: 49,214,840 msg/sec OptimistAtomicQueue2, 7,s: 42,708,280 msg/sec OptimistAtomicQueue2, 7,i: 51,354,670 msg/sec OptimistAtomicQueue2, 8,s: 43,742,012 msg/sec OptimistAtomicQueue2, 8,i: 48,462,567 msg/sec OptimistAtomicQueueB2, 1,s: 76,789,696 msg/sec OptimistAtomicQueueB2, 1,i: 33,910,553 msg/sec OptimistAtomicQueueB2, 2,s: 27,216,703 msg/sec OptimistAtomicQueueB2, 2,i: 25,040,810 msg/sec OptimistAtomicQueueB2, 3,s: 29,836,284 msg/sec OptimistAtomicQueueB2, 3,i: 29,130,309 msg/sec OptimistAtomicQueueB2, 4,s: 33,270,035 msg/sec OptimistAtomicQueueB2, 4,i: 32,170,631 msg/sec OptimistAtomicQueueB2, 5,s: 34,542,192 msg/sec OptimistAtomicQueueB2, 5,i: 39,336,993 msg/sec OptimistAtomicQueueB2, 6,s: 37,421,430 msg/sec OptimistAtomicQueueB2, 6,i: 42,388,494 msg/sec OptimistAtomicQueueB2, 7,s: 40,257,363 msg/sec OptimistAtomicQueueB2, 7,i: 43,153,889 msg/sec OptimistAtomicQueueB2, 8,s: 42,212,631 msg/sec OptimistAtomicQueueB2, 8,i: 45,112,290 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000314 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000150 sec/round-trip moodycamel::ConcurrentQueue: 0.000000253 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [14] 462m:52s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,575,346 msg/sec boost::lockfree::spsc_queue, 1,i: 73,849,398 msg/sec boost::lockfree::queue, 1,s: 6,953,588 msg/sec boost::lockfree::queue, 1,i: 6,826,462 msg/sec boost::lockfree::queue, 2,s: 7,560,421 msg/sec boost::lockfree::queue, 2,i: 7,542,698 msg/sec boost::lockfree::queue, 3,s: 7,411,580 msg/sec boost::lockfree::queue, 3,i: 7,513,748 msg/sec boost::lockfree::queue, 4,s: 6,425,539 msg/sec boost::lockfree::queue, 4,i: 6,820,285 msg/sec boost::lockfree::queue, 5,s: 6,395,723 msg/sec boost::lockfree::queue, 5,i: 6,478,126 msg/sec boost::lockfree::queue, 6,s: 6,022,053 msg/sec boost::lockfree::queue, 6,i: 6,096,178 msg/sec boost::lockfree::queue, 7,s: 5,968,665 msg/sec boost::lockfree::queue, 7,i: 6,062,690 msg/sec boost::lockfree::queue, 8,s: 5,411,573 msg/sec boost::lockfree::queue, 8,i: 5,672,843 msg/sec moodycamel::ReaderWriterQueue, 1,s: 332,335,164 msg/sec moodycamel::ReaderWriterQueue, 1,i: 82,806,991 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,736,559 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,374,911 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,265,752 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,570,344 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,111,714 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,186,622 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,748,235 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,941,222 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,527,678 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,676,399 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,569,457 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,620,288 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,070,091 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,470,815 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,264,755 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,892,657 msg/sec pthread_spinlock, 1,s: 28,961,910 msg/sec pthread_spinlock, 1,i: 25,426,981 msg/sec pthread_spinlock, 2,s: 15,665,525 msg/sec pthread_spinlock, 2,i: 17,058,539 msg/sec pthread_spinlock, 3,s: 8,296,570 msg/sec pthread_spinlock, 3,i: 12,056,858 msg/sec pthread_spinlock, 4,s: 6,491,036 msg/sec pthread_spinlock, 4,i: 9,240,632 msg/sec pthread_spinlock, 5,s: 8,760,079 msg/sec pthread_spinlock, 5,i: 8,828,974 msg/sec pthread_spinlock, 6,s: 8,307,855 msg/sec pthread_spinlock, 6,i: 8,513,995 msg/sec pthread_spinlock, 7,s: 7,505,111 msg/sec pthread_spinlock, 7,i: 7,669,070 msg/sec pthread_spinlock, 8,s: 6,788,177 msg/sec pthread_spinlock, 8,i: 6,823,782 msg/sec std::mutex, 1,s: 6,811,276 msg/sec std::mutex, 1,i: 7,031,570 msg/sec std::mutex, 2,s: 6,077,762 msg/sec std::mutex, 2,i: 5,966,474 msg/sec std::mutex, 3,s: 6,033,642 msg/sec std::mutex, 3,i: 5,452,133 msg/sec std::mutex, 4,s: 5,274,697 msg/sec std::mutex, 4,i: 6,185,361 msg/sec std::mutex, 5,s: 5,532,978 msg/sec std::mutex, 5,i: 5,975,948 msg/sec std::mutex, 6,s: 5,845,046 msg/sec std::mutex, 6,i: 5,860,148 msg/sec std::mutex, 7,s: 5,775,963 msg/sec std::mutex, 7,i: 5,721,463 msg/sec std::mutex, 8,s: 5,658,205 msg/sec std::mutex, 8,i: 5,588,263 msg/sec tbb::spin_mutex, 1,s: 38,267,857 msg/sec tbb::spin_mutex, 1,i: 33,083,199 msg/sec tbb::spin_mutex, 2,s: 21,126,234 msg/sec tbb::spin_mutex, 2,i: 21,170,999 msg/sec tbb::spin_mutex, 3,s: 9,074,767 msg/sec tbb::spin_mutex, 3,i: 11,392,686 msg/sec tbb::spin_mutex, 4,s: 3,210,373 msg/sec tbb::spin_mutex, 4,i: 6,289,098 msg/sec tbb::spin_mutex, 5,s: 5,432,043 msg/sec tbb::spin_mutex, 5,i: 5,455,558 msg/sec tbb::spin_mutex, 6,s: 5,362,827 msg/sec tbb::spin_mutex, 6,i: 4,376,167 msg/sec tbb::spin_mutex, 7,s: 4,855,868 msg/sec tbb::spin_mutex, 7,i: 4,315,589 msg/sec tbb::spin_mutex, 8,s: 4,271,555 msg/sec tbb::spin_mutex, 8,i: 4,087,161 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,906,313 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,081,187 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,412,109 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,053,581 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,210,191 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,302,389 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,007,052 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,203,232 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,571,173 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,352,897 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,566,562 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,695,336 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,693,199 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,129,512 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,764,443 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,893,490 msg/sec xenium::michael_scott_queue, 1,s: 9,307,822 msg/sec xenium::michael_scott_queue, 1,i: 9,319,206 msg/sec xenium::michael_scott_queue, 2,s: 8,431,741 msg/sec xenium::michael_scott_queue, 2,i: 8,476,588 msg/sec xenium::michael_scott_queue, 3,s: 7,250,580 msg/sec xenium::michael_scott_queue, 3,i: 7,564,443 msg/sec xenium::michael_scott_queue, 4,s: 6,268,783 msg/sec xenium::michael_scott_queue, 4,i: 6,348,773 msg/sec xenium::michael_scott_queue, 5,s: 6,275,763 msg/sec xenium::michael_scott_queue, 5,i: 6,662,823 msg/sec xenium::michael_scott_queue, 6,s: 6,478,836 msg/sec xenium::michael_scott_queue, 6,i: 6,870,104 msg/sec xenium::michael_scott_queue, 7,s: 6,370,257 msg/sec xenium::michael_scott_queue, 7,i: 6,491,089 msg/sec xenium::michael_scott_queue, 8,s: 6,009,933 msg/sec xenium::michael_scott_queue, 8,i: 6,211,436 msg/sec xenium::ramalhete_queue, 1,s: 31,566,163 msg/sec xenium::ramalhete_queue, 1,i: 31,548,651 msg/sec xenium::ramalhete_queue, 2,s: 23,475,661 msg/sec xenium::ramalhete_queue, 2,i: 23,265,567 msg/sec xenium::ramalhete_queue, 3,s: 29,141,457 msg/sec xenium::ramalhete_queue, 3,i: 28,380,255 msg/sec xenium::ramalhete_queue, 4,s: 33,885,383 msg/sec xenium::ramalhete_queue, 4,i: 33,456,498 msg/sec xenium::ramalhete_queue, 5,s: 31,868,959 msg/sec xenium::ramalhete_queue, 5,i: 35,974,088 msg/sec xenium::ramalhete_queue, 6,s: 33,951,724 msg/sec xenium::ramalhete_queue, 6,i: 38,844,774 msg/sec xenium::ramalhete_queue, 7,s: 34,968,139 msg/sec xenium::ramalhete_queue, 7,i: 41,247,535 msg/sec xenium::ramalhete_queue, 8,s: 35,495,846 msg/sec xenium::ramalhete_queue, 8,i: 44,118,639 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,701,681 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,711,525 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,813,169 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,871,203 msg/sec xenium::vyukov_bounded_queue, 3,s: 14,993,854 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,232,549 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,625,789 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,381,278 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,718,666 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,357,322 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,106,833 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,728,865 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,173,635 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,325,172 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,370,421 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,233,644 msg/sec AtomicQueue, 1,s: 56,921,341 msg/sec AtomicQueue, 1,i: 56,630,740 msg/sec AtomicQueue, 2,s: 12,150,776 msg/sec AtomicQueue, 2,i: 11,751,990 msg/sec AtomicQueue, 3,s: 10,790,470 msg/sec AtomicQueue, 3,i: 9,914,594 msg/sec AtomicQueue, 4,s: 8,179,003 msg/sec AtomicQueue, 4,i: 8,164,287 msg/sec AtomicQueue, 5,s: 8,026,172 msg/sec AtomicQueue, 5,i: 8,057,180 msg/sec AtomicQueue, 6,s: 7,814,359 msg/sec AtomicQueue, 6,i: 7,618,480 msg/sec AtomicQueue, 7,s: 7,105,216 msg/sec AtomicQueue, 7,i: 7,990,871 msg/sec AtomicQueue, 8,s: 6,344,046 msg/sec AtomicQueue, 8,i: 7,435,268 msg/sec AtomicQueueB, 1,s: 54,863,634 msg/sec AtomicQueueB, 1,i: 42,974,335 msg/sec AtomicQueueB, 2,s: 11,740,424 msg/sec AtomicQueueB, 2,i: 11,474,703 msg/sec AtomicQueueB, 3,s: 10,935,257 msg/sec AtomicQueueB, 3,i: 10,277,639 msg/sec AtomicQueueB, 4,s: 8,102,888 msg/sec AtomicQueueB, 4,i: 7,987,751 msg/sec AtomicQueueB, 5,s: 7,576,423 msg/sec AtomicQueueB, 5,i: 7,811,635 msg/sec AtomicQueueB, 6,s: 7,188,442 msg/sec AtomicQueueB, 6,i: 7,520,240 msg/sec AtomicQueueB, 7,s: 6,858,711 msg/sec AtomicQueueB, 7,i: 7,765,157 msg/sec AtomicQueueB, 8,s: 6,209,655 msg/sec AtomicQueueB, 8,i: 7,184,734 msg/sec OptimistAtomicQueue, 1,s: 705,078,646 msg/sec OptimistAtomicQueue, 1,i: 692,215,175 msg/sec OptimistAtomicQueue, 2,s: 32,615,465 msg/sec OptimistAtomicQueue, 2,i: 32,184,519 msg/sec OptimistAtomicQueue, 3,s: 36,621,190 msg/sec OptimistAtomicQueue, 3,i: 37,319,070 msg/sec OptimistAtomicQueue, 4,s: 39,276,307 msg/sec OptimistAtomicQueue, 4,i: 39,401,353 msg/sec OptimistAtomicQueue, 5,s: 41,590,436 msg/sec OptimistAtomicQueue, 5,i: 46,232,054 msg/sec OptimistAtomicQueue, 6,s: 42,426,371 msg/sec OptimistAtomicQueue, 6,i: 50,372,407 msg/sec OptimistAtomicQueue, 7,s: 45,004,140 msg/sec OptimistAtomicQueue, 7,i: 49,214,019 msg/sec OptimistAtomicQueue, 8,s: 46,448,694 msg/sec OptimistAtomicQueue, 8,i: 48,840,360 msg/sec OptimistAtomicQueueB, 1,s: 77,962,194 msg/sec OptimistAtomicQueueB, 1,i: 76,634,985 msg/sec OptimistAtomicQueueB, 2,s: 32,180,655 msg/sec OptimistAtomicQueueB, 2,i: 32,227,373 msg/sec OptimistAtomicQueueB, 3,s: 36,190,934 msg/sec OptimistAtomicQueueB, 3,i: 36,961,654 msg/sec OptimistAtomicQueueB, 4,s: 38,599,127 msg/sec OptimistAtomicQueueB, 4,i: 38,620,363 msg/sec OptimistAtomicQueueB, 5,s: 41,045,846 msg/sec OptimistAtomicQueueB, 5,i: 45,309,978 msg/sec OptimistAtomicQueueB, 6,s: 41,017,310 msg/sec OptimistAtomicQueueB, 6,i: 49,294,730 msg/sec OptimistAtomicQueueB, 7,s: 42,352,773 msg/sec OptimistAtomicQueueB, 7,i: 51,343,185 msg/sec OptimistAtomicQueueB, 8,s: 44,175,035 msg/sec OptimistAtomicQueueB, 8,i: 48,084,709 msg/sec AtomicQueue2, 1,s: 22,883,485 msg/sec AtomicQueue2, 1,i: 22,939,408 msg/sec AtomicQueue2, 2,s: 11,898,695 msg/sec AtomicQueue2, 2,i: 11,458,993 msg/sec AtomicQueue2, 3,s: 9,474,697 msg/sec AtomicQueue2, 3,i: 9,483,864 msg/sec AtomicQueue2, 4,s: 8,100,789 msg/sec AtomicQueue2, 4,i: 7,960,541 msg/sec AtomicQueue2, 5,s: 7,894,268 msg/sec AtomicQueue2, 5,i: 8,018,683 msg/sec AtomicQueue2, 6,s: 7,804,410 msg/sec AtomicQueue2, 6,i: 7,535,007 msg/sec AtomicQueue2, 7,s: 7,100,874 msg/sec AtomicQueue2, 7,i: 7,903,145 msg/sec AtomicQueue2, 8,s: 6,389,245 msg/sec AtomicQueue2, 8,i: 7,253,190 msg/sec AtomicQueueB2, 1,s: 36,274,531 msg/sec AtomicQueueB2, 1,i: 32,650,107 msg/sec AtomicQueueB2, 2,s: 11,481,251 msg/sec AtomicQueueB2, 2,i: 11,154,442 msg/sec AtomicQueueB2, 3,s: 9,635,562 msg/sec AtomicQueueB2, 3,i: 9,584,596 msg/sec AtomicQueueB2, 4,s: 7,932,201 msg/sec AtomicQueueB2, 4,i: 7,917,311 msg/sec AtomicQueueB2, 5,s: 7,539,623 msg/sec AtomicQueueB2, 5,i: 7,724,589 msg/sec AtomicQueueB2, 6,s: 7,222,532 msg/sec AtomicQueueB2, 6,i: 7,449,699 msg/sec AtomicQueueB2, 7,s: 6,886,706 msg/sec AtomicQueueB2, 7,i: 7,721,914 msg/sec AtomicQueueB2, 8,s: 6,260,099 msg/sec AtomicQueueB2, 8,i: 7,085,008 msg/sec OptimistAtomicQueue2, 1,s: 507,967,663 msg/sec OptimistAtomicQueue2, 1,i: 29,631,849 msg/sec OptimistAtomicQueue2, 2,s: 27,003,305 msg/sec OptimistAtomicQueue2, 2,i: 24,003,168 msg/sec OptimistAtomicQueue2, 3,s: 31,738,787 msg/sec OptimistAtomicQueue2, 3,i: 29,955,832 msg/sec OptimistAtomicQueue2, 4,s: 33,234,738 msg/sec OptimistAtomicQueue2, 4,i: 33,217,126 msg/sec OptimistAtomicQueue2, 5,s: 37,370,276 msg/sec OptimistAtomicQueue2, 5,i: 40,254,360 msg/sec OptimistAtomicQueue2, 6,s: 39,910,802 msg/sec OptimistAtomicQueue2, 6,i: 49,307,642 msg/sec OptimistAtomicQueue2, 7,s: 43,158,869 msg/sec OptimistAtomicQueue2, 7,i: 51,402,060 msg/sec OptimistAtomicQueue2, 8,s: 43,852,821 msg/sec OptimistAtomicQueue2, 8,i: 48,659,605 msg/sec OptimistAtomicQueueB2, 1,s: 74,853,075 msg/sec OptimistAtomicQueueB2, 1,i: 33,873,651 msg/sec OptimistAtomicQueueB2, 2,s: 27,305,726 msg/sec OptimistAtomicQueueB2, 2,i: 23,193,866 msg/sec OptimistAtomicQueueB2, 3,s: 29,573,098 msg/sec OptimistAtomicQueueB2, 3,i: 28,756,903 msg/sec OptimistAtomicQueueB2, 4,s: 33,077,763 msg/sec OptimistAtomicQueueB2, 4,i: 32,147,541 msg/sec OptimistAtomicQueueB2, 5,s: 34,350,266 msg/sec OptimistAtomicQueueB2, 5,i: 39,285,227 msg/sec OptimistAtomicQueueB2, 6,s: 37,656,611 msg/sec OptimistAtomicQueueB2, 6,i: 42,237,010 msg/sec OptimistAtomicQueueB2, 7,s: 40,274,729 msg/sec OptimistAtomicQueueB2, 7,i: 43,312,182 msg/sec OptimistAtomicQueueB2, 8,s: 42,814,560 msg/sec OptimistAtomicQueueB2, 8,i: 45,398,962 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000122 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000235 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000361 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [15] 461m:32s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,546,414 msg/sec boost::lockfree::spsc_queue, 1,i: 69,644,841 msg/sec boost::lockfree::queue, 1,s: 6,867,063 msg/sec boost::lockfree::queue, 1,i: 6,861,029 msg/sec boost::lockfree::queue, 2,s: 7,467,635 msg/sec boost::lockfree::queue, 2,i: 7,418,821 msg/sec boost::lockfree::queue, 3,s: 7,410,285 msg/sec boost::lockfree::queue, 3,i: 7,557,529 msg/sec boost::lockfree::queue, 4,s: 6,416,605 msg/sec boost::lockfree::queue, 4,i: 6,774,173 msg/sec boost::lockfree::queue, 5,s: 6,403,567 msg/sec boost::lockfree::queue, 5,i: 6,471,903 msg/sec boost::lockfree::queue, 6,s: 6,000,899 msg/sec boost::lockfree::queue, 6,i: 6,090,088 msg/sec boost::lockfree::queue, 7,s: 5,818,088 msg/sec boost::lockfree::queue, 7,i: 5,947,222 msg/sec boost::lockfree::queue, 8,s: 5,490,231 msg/sec boost::lockfree::queue, 8,i: 5,685,506 msg/sec moodycamel::ReaderWriterQueue, 1,s: 436,251,400 msg/sec moodycamel::ReaderWriterQueue, 1,i: 107,417,777 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,382,772 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,771,532 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,671,735 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,528,310 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,385,089 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,495,830 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,576,161 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,384,283 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,326,478 msg/sec moodycamel::ConcurrentQueue, 5,i: 20,262,631 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,363,108 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,631,335 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,922,437 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,279,956 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,271,816 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,358,147 msg/sec pthread_spinlock, 1,s: 28,833,352 msg/sec pthread_spinlock, 1,i: 25,337,012 msg/sec pthread_spinlock, 2,s: 15,134,938 msg/sec pthread_spinlock, 2,i: 16,981,993 msg/sec pthread_spinlock, 3,s: 8,279,324 msg/sec pthread_spinlock, 3,i: 12,065,166 msg/sec pthread_spinlock, 4,s: 6,563,832 msg/sec pthread_spinlock, 4,i: 9,200,072 msg/sec pthread_spinlock, 5,s: 8,702,483 msg/sec pthread_spinlock, 5,i: 8,854,708 msg/sec pthread_spinlock, 6,s: 8,482,209 msg/sec pthread_spinlock, 6,i: 8,424,986 msg/sec pthread_spinlock, 7,s: 7,804,553 msg/sec pthread_spinlock, 7,i: 7,999,135 msg/sec pthread_spinlock, 8,s: 6,894,984 msg/sec pthread_spinlock, 8,i: 6,895,472 msg/sec std::mutex, 1,s: 8,321,719 msg/sec std::mutex, 1,i: 7,486,008 msg/sec std::mutex, 2,s: 5,747,715 msg/sec std::mutex, 2,i: 5,806,851 msg/sec std::mutex, 3,s: 6,475,556 msg/sec std::mutex, 3,i: 5,835,991 msg/sec std::mutex, 4,s: 6,800,572 msg/sec std::mutex, 4,i: 6,833,807 msg/sec std::mutex, 5,s: 6,520,894 msg/sec std::mutex, 5,i: 5,938,058 msg/sec std::mutex, 6,s: 5,909,917 msg/sec std::mutex, 6,i: 5,826,626 msg/sec std::mutex, 7,s: 5,820,230 msg/sec std::mutex, 7,i: 5,801,959 msg/sec std::mutex, 8,s: 5,699,975 msg/sec std::mutex, 8,i: 5,694,124 msg/sec tbb::spin_mutex, 1,s: 37,887,314 msg/sec tbb::spin_mutex, 1,i: 32,877,349 msg/sec tbb::spin_mutex, 2,s: 21,229,489 msg/sec tbb::spin_mutex, 2,i: 18,467,741 msg/sec tbb::spin_mutex, 3,s: 8,358,629 msg/sec tbb::spin_mutex, 3,i: 11,028,746 msg/sec tbb::spin_mutex, 4,s: 3,304,611 msg/sec tbb::spin_mutex, 4,i: 6,401,656 msg/sec tbb::spin_mutex, 5,s: 5,556,754 msg/sec tbb::spin_mutex, 5,i: 5,416,616 msg/sec tbb::spin_mutex, 6,s: 5,364,543 msg/sec tbb::spin_mutex, 6,i: 4,358,041 msg/sec tbb::spin_mutex, 7,s: 4,855,074 msg/sec tbb::spin_mutex, 7,i: 4,351,673 msg/sec tbb::spin_mutex, 8,s: 4,236,690 msg/sec tbb::spin_mutex, 8,i: 4,178,587 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,573,352 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,667,688 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,862,578 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,724,080 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,291,076 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,720,107 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,318,835 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,257,784 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,542,087 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,199,343 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,921,177 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,453,384 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,858,532 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,612,961 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,077,975 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,751,225 msg/sec xenium::michael_scott_queue, 1,s: 10,110,285 msg/sec xenium::michael_scott_queue, 1,i: 10,040,550 msg/sec xenium::michael_scott_queue, 2,s: 8,461,034 msg/sec xenium::michael_scott_queue, 2,i: 8,519,766 msg/sec xenium::michael_scott_queue, 3,s: 7,372,402 msg/sec xenium::michael_scott_queue, 3,i: 7,546,098 msg/sec xenium::michael_scott_queue, 4,s: 6,310,881 msg/sec xenium::michael_scott_queue, 4,i: 6,319,503 msg/sec xenium::michael_scott_queue, 5,s: 6,308,531 msg/sec xenium::michael_scott_queue, 5,i: 6,763,740 msg/sec xenium::michael_scott_queue, 6,s: 6,539,882 msg/sec xenium::michael_scott_queue, 6,i: 6,687,242 msg/sec xenium::michael_scott_queue, 7,s: 6,289,514 msg/sec xenium::michael_scott_queue, 7,i: 6,539,349 msg/sec xenium::michael_scott_queue, 8,s: 6,017,822 msg/sec xenium::michael_scott_queue, 8,i: 6,123,835 msg/sec xenium::ramalhete_queue, 1,s: 32,544,520 msg/sec xenium::ramalhete_queue, 1,i: 32,107,249 msg/sec xenium::ramalhete_queue, 2,s: 24,486,893 msg/sec xenium::ramalhete_queue, 2,i: 23,315,754 msg/sec xenium::ramalhete_queue, 3,s: 29,207,234 msg/sec xenium::ramalhete_queue, 3,i: 28,422,336 msg/sec xenium::ramalhete_queue, 4,s: 33,873,136 msg/sec xenium::ramalhete_queue, 4,i: 33,532,181 msg/sec xenium::ramalhete_queue, 5,s: 32,073,458 msg/sec xenium::ramalhete_queue, 5,i: 36,148,084 msg/sec xenium::ramalhete_queue, 6,s: 34,031,568 msg/sec xenium::ramalhete_queue, 6,i: 39,054,497 msg/sec xenium::ramalhete_queue, 7,s: 35,057,778 msg/sec xenium::ramalhete_queue, 7,i: 41,412,648 msg/sec xenium::ramalhete_queue, 8,s: 35,541,952 msg/sec xenium::ramalhete_queue, 8,i: 44,314,965 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,858,411 msg/sec xenium::vyukov_bounded_queue, 1,i: 118,030,693 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,462,295 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,849,062 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,638,135 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,760,797 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,358,593 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,029,779 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,727,375 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,400,495 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,871,897 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,219,857 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,216,400 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,320,978 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,408,110 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,244,837 msg/sec AtomicQueue, 1,s: 58,393,389 msg/sec AtomicQueue, 1,i: 56,999,862 msg/sec AtomicQueue, 2,s: 12,239,619 msg/sec AtomicQueue, 2,i: 11,728,520 msg/sec AtomicQueue, 3,s: 10,762,091 msg/sec AtomicQueue, 3,i: 9,828,461 msg/sec AtomicQueue, 4,s: 8,182,393 msg/sec AtomicQueue, 4,i: 8,200,960 msg/sec AtomicQueue, 5,s: 8,029,873 msg/sec AtomicQueue, 5,i: 7,988,924 msg/sec AtomicQueue, 6,s: 7,726,924 msg/sec AtomicQueue, 6,i: 7,614,545 msg/sec AtomicQueue, 7,s: 7,095,673 msg/sec AtomicQueue, 7,i: 7,975,634 msg/sec AtomicQueue, 8,s: 6,310,150 msg/sec AtomicQueue, 8,i: 7,449,374 msg/sec AtomicQueueB, 1,s: 43,806,241 msg/sec AtomicQueueB, 1,i: 43,061,638 msg/sec AtomicQueueB, 2,s: 11,827,176 msg/sec AtomicQueueB, 2,i: 11,492,009 msg/sec AtomicQueueB, 3,s: 10,970,457 msg/sec AtomicQueueB, 3,i: 10,142,805 msg/sec AtomicQueueB, 4,s: 8,033,465 msg/sec AtomicQueueB, 4,i: 7,960,988 msg/sec AtomicQueueB, 5,s: 7,580,401 msg/sec AtomicQueueB, 5,i: 7,828,962 msg/sec AtomicQueueB, 6,s: 7,440,098 msg/sec AtomicQueueB, 6,i: 7,483,901 msg/sec AtomicQueueB, 7,s: 6,867,359 msg/sec AtomicQueueB, 7,i: 7,752,639 msg/sec AtomicQueueB, 8,s: 6,208,676 msg/sec AtomicQueueB, 8,i: 7,181,892 msg/sec OptimistAtomicQueue, 1,s: 722,063,889 msg/sec OptimistAtomicQueue, 1,i: 553,280,573 msg/sec OptimistAtomicQueue, 2,s: 31,931,382 msg/sec OptimistAtomicQueue, 2,i: 32,180,711 msg/sec OptimistAtomicQueue, 3,s: 36,620,411 msg/sec OptimistAtomicQueue, 3,i: 37,332,237 msg/sec OptimistAtomicQueue, 4,s: 39,271,574 msg/sec OptimistAtomicQueue, 4,i: 39,376,560 msg/sec OptimistAtomicQueue, 5,s: 41,760,833 msg/sec OptimistAtomicQueue, 5,i: 48,572,721 msg/sec OptimistAtomicQueue, 6,s: 42,040,993 msg/sec OptimistAtomicQueue, 6,i: 49,703,713 msg/sec OptimistAtomicQueue, 7,s: 45,215,087 msg/sec OptimistAtomicQueue, 7,i: 49,454,638 msg/sec OptimistAtomicQueue, 8,s: 46,455,294 msg/sec OptimistAtomicQueue, 8,i: 50,365,089 msg/sec OptimistAtomicQueueB, 1,s: 147,596,645 msg/sec OptimistAtomicQueueB, 1,i: 77,546,948 msg/sec OptimistAtomicQueueB, 2,s: 32,181,058 msg/sec OptimistAtomicQueueB, 2,i: 32,261,254 msg/sec OptimistAtomicQueueB, 3,s: 36,247,172 msg/sec OptimistAtomicQueueB, 3,i: 36,882,417 msg/sec OptimistAtomicQueueB, 4,s: 38,653,826 msg/sec OptimistAtomicQueueB, 4,i: 38,543,349 msg/sec OptimistAtomicQueueB, 5,s: 41,136,322 msg/sec OptimistAtomicQueueB, 5,i: 45,875,229 msg/sec OptimistAtomicQueueB, 6,s: 41,163,640 msg/sec OptimistAtomicQueueB, 6,i: 48,672,963 msg/sec OptimistAtomicQueueB, 7,s: 41,920,733 msg/sec OptimistAtomicQueueB, 7,i: 51,454,106 msg/sec OptimistAtomicQueueB, 8,s: 44,519,327 msg/sec OptimistAtomicQueueB, 8,i: 48,739,872 msg/sec AtomicQueue2, 1,s: 22,875,517 msg/sec AtomicQueue2, 1,i: 22,885,031 msg/sec AtomicQueue2, 2,s: 11,746,619 msg/sec AtomicQueue2, 2,i: 11,464,816 msg/sec AtomicQueue2, 3,s: 9,420,890 msg/sec AtomicQueue2, 3,i: 9,385,285 msg/sec AtomicQueue2, 4,s: 8,018,311 msg/sec AtomicQueue2, 4,i: 8,037,878 msg/sec AtomicQueue2, 5,s: 7,946,101 msg/sec AtomicQueue2, 5,i: 8,014,234 msg/sec AtomicQueue2, 6,s: 7,764,486 msg/sec AtomicQueue2, 6,i: 7,530,786 msg/sec AtomicQueue2, 7,s: 7,056,255 msg/sec AtomicQueue2, 7,i: 7,896,842 msg/sec AtomicQueue2, 8,s: 6,390,906 msg/sec AtomicQueue2, 8,i: 7,384,686 msg/sec AtomicQueueB2, 1,s: 35,999,291 msg/sec AtomicQueueB2, 1,i: 32,609,759 msg/sec AtomicQueueB2, 2,s: 11,513,816 msg/sec AtomicQueueB2, 2,i: 11,104,692 msg/sec AtomicQueueB2, 3,s: 9,594,908 msg/sec AtomicQueueB2, 3,i: 9,542,730 msg/sec AtomicQueueB2, 4,s: 7,947,332 msg/sec AtomicQueueB2, 4,i: 7,861,929 msg/sec AtomicQueueB2, 5,s: 7,527,911 msg/sec AtomicQueueB2, 5,i: 7,744,576 msg/sec AtomicQueueB2, 6,s: 7,278,488 msg/sec AtomicQueueB2, 6,i: 7,473,856 msg/sec AtomicQueueB2, 7,s: 6,944,008 msg/sec AtomicQueueB2, 7,i: 7,668,457 msg/sec AtomicQueueB2, 8,s: 6,261,633 msg/sec AtomicQueueB2, 8,i: 7,080,677 msg/sec OptimistAtomicQueue2, 1,s: 406,739,014 msg/sec OptimistAtomicQueue2, 1,i: 430,324,030 msg/sec OptimistAtomicQueue2, 2,s: 24,258,665 msg/sec OptimistAtomicQueue2, 2,i: 24,016,255 msg/sec OptimistAtomicQueue2, 3,s: 30,458,392 msg/sec OptimistAtomicQueue2, 3,i: 30,401,368 msg/sec OptimistAtomicQueue2, 4,s: 33,258,595 msg/sec OptimistAtomicQueue2, 4,i: 33,273,328 msg/sec OptimistAtomicQueue2, 5,s: 37,105,129 msg/sec OptimistAtomicQueue2, 5,i: 40,607,039 msg/sec OptimistAtomicQueue2, 6,s: 40,273,243 msg/sec OptimistAtomicQueue2, 6,i: 49,199,447 msg/sec OptimistAtomicQueue2, 7,s: 42,652,905 msg/sec OptimistAtomicQueue2, 7,i: 51,287,039 msg/sec OptimistAtomicQueue2, 8,s: 44,295,576 msg/sec OptimistAtomicQueue2, 8,i: 48,650,528 msg/sec OptimistAtomicQueueB2, 1,s: 76,286,627 msg/sec OptimistAtomicQueueB2, 1,i: 75,728,354 msg/sec OptimistAtomicQueueB2, 2,s: 27,934,589 msg/sec OptimistAtomicQueueB2, 2,i: 29,658,625 msg/sec OptimistAtomicQueueB2, 3,s: 29,766,892 msg/sec OptimistAtomicQueueB2, 3,i: 32,134,814 msg/sec OptimistAtomicQueueB2, 4,s: 33,494,127 msg/sec OptimistAtomicQueueB2, 4,i: 32,224,141 msg/sec OptimistAtomicQueueB2, 5,s: 34,612,393 msg/sec OptimistAtomicQueueB2, 5,i: 39,073,909 msg/sec OptimistAtomicQueueB2, 6,s: 37,170,943 msg/sec OptimistAtomicQueueB2, 6,i: 42,390,301 msg/sec OptimistAtomicQueueB2, 7,s: 40,010,632 msg/sec OptimistAtomicQueueB2, 7,i: 45,631,068 msg/sec OptimistAtomicQueueB2, 8,s: 42,275,394 msg/sec OptimistAtomicQueueB2, 8,i: 45,226,060 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000159 sec/round-trip moodycamel::ConcurrentQueue: 0.000000250 sec/round-trip pthread_spinlock: 0.000000258 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [16] 460m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,820,447 msg/sec boost::lockfree::spsc_queue, 1,i: 70,817,990 msg/sec boost::lockfree::queue, 1,s: 6,970,170 msg/sec boost::lockfree::queue, 1,i: 6,807,650 msg/sec boost::lockfree::queue, 2,s: 7,643,423 msg/sec boost::lockfree::queue, 2,i: 7,443,866 msg/sec boost::lockfree::queue, 3,s: 7,490,911 msg/sec boost::lockfree::queue, 3,i: 7,621,454 msg/sec boost::lockfree::queue, 4,s: 6,417,480 msg/sec boost::lockfree::queue, 4,i: 6,732,864 msg/sec boost::lockfree::queue, 5,s: 6,457,853 msg/sec boost::lockfree::queue, 5,i: 6,507,182 msg/sec boost::lockfree::queue, 6,s: 5,994,541 msg/sec boost::lockfree::queue, 6,i: 6,104,247 msg/sec boost::lockfree::queue, 7,s: 5,997,311 msg/sec boost::lockfree::queue, 7,i: 5,976,729 msg/sec boost::lockfree::queue, 8,s: 5,419,091 msg/sec boost::lockfree::queue, 8,i: 5,556,035 msg/sec moodycamel::ReaderWriterQueue, 1,s: 70,533,217 msg/sec moodycamel::ReaderWriterQueue, 1,i: 48,311,430 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,734,979 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,739,020 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,418,060 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,517,756 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,570,241 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,732,597 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,120,318 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,750,451 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,216,148 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,335,878 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,382,844 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,889,085 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,859,952 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,432,758 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,157,550 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,243,273 msg/sec pthread_spinlock, 1,s: 29,212,027 msg/sec pthread_spinlock, 1,i: 25,355,078 msg/sec pthread_spinlock, 2,s: 15,497,620 msg/sec pthread_spinlock, 2,i: 16,688,461 msg/sec pthread_spinlock, 3,s: 8,414,683 msg/sec pthread_spinlock, 3,i: 12,061,200 msg/sec pthread_spinlock, 4,s: 6,488,167 msg/sec pthread_spinlock, 4,i: 9,094,555 msg/sec pthread_spinlock, 5,s: 8,485,239 msg/sec pthread_spinlock, 5,i: 9,601,042 msg/sec pthread_spinlock, 6,s: 8,486,445 msg/sec pthread_spinlock, 6,i: 9,108,231 msg/sec pthread_spinlock, 7,s: 7,544,962 msg/sec pthread_spinlock, 7,i: 8,138,233 msg/sec pthread_spinlock, 8,s: 6,666,471 msg/sec pthread_spinlock, 8,i: 7,269,029 msg/sec std::mutex, 1,s: 6,981,666 msg/sec std::mutex, 1,i: 6,396,365 msg/sec std::mutex, 2,s: 6,311,351 msg/sec std::mutex, 2,i: 5,728,516 msg/sec std::mutex, 3,s: 6,044,956 msg/sec std::mutex, 3,i: 5,520,007 msg/sec std::mutex, 4,s: 5,635,376 msg/sec std::mutex, 4,i: 5,778,252 msg/sec std::mutex, 5,s: 5,519,525 msg/sec std::mutex, 5,i: 6,023,479 msg/sec std::mutex, 6,s: 5,689,704 msg/sec std::mutex, 6,i: 5,863,266 msg/sec std::mutex, 7,s: 5,774,391 msg/sec std::mutex, 7,i: 5,699,256 msg/sec std::mutex, 8,s: 5,616,644 msg/sec std::mutex, 8,i: 5,608,573 msg/sec tbb::spin_mutex, 1,s: 41,662,877 msg/sec tbb::spin_mutex, 1,i: 41,585,586 msg/sec tbb::spin_mutex, 2,s: 21,486,737 msg/sec tbb::spin_mutex, 2,i: 18,307,967 msg/sec tbb::spin_mutex, 3,s: 8,702,284 msg/sec tbb::spin_mutex, 3,i: 10,188,361 msg/sec tbb::spin_mutex, 4,s: 3,231,472 msg/sec tbb::spin_mutex, 4,i: 6,351,460 msg/sec tbb::spin_mutex, 5,s: 5,407,963 msg/sec tbb::spin_mutex, 5,i: 5,443,821 msg/sec tbb::spin_mutex, 6,s: 5,306,861 msg/sec tbb::spin_mutex, 6,i: 4,421,012 msg/sec tbb::spin_mutex, 7,s: 4,864,906 msg/sec tbb::spin_mutex, 7,i: 4,381,951 msg/sec tbb::spin_mutex, 8,s: 4,251,982 msg/sec tbb::spin_mutex, 8,i: 4,151,997 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,773,613 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,483,236 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,520,834 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,838,844 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,290,326 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,741,978 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,113,354 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,345,545 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,655,077 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,819,797 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,843,773 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,019,837 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,799,590 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,185,538 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,642,664 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,311,069 msg/sec xenium::michael_scott_queue, 1,s: 9,354,908 msg/sec xenium::michael_scott_queue, 1,i: 9,337,155 msg/sec xenium::michael_scott_queue, 2,s: 8,431,909 msg/sec xenium::michael_scott_queue, 2,i: 8,492,464 msg/sec xenium::michael_scott_queue, 3,s: 7,306,712 msg/sec xenium::michael_scott_queue, 3,i: 7,542,365 msg/sec xenium::michael_scott_queue, 4,s: 6,366,547 msg/sec xenium::michael_scott_queue, 4,i: 6,377,361 msg/sec xenium::michael_scott_queue, 5,s: 6,291,016 msg/sec xenium::michael_scott_queue, 5,i: 6,630,441 msg/sec xenium::michael_scott_queue, 6,s: 6,594,925 msg/sec xenium::michael_scott_queue, 6,i: 6,711,542 msg/sec xenium::michael_scott_queue, 7,s: 6,272,117 msg/sec xenium::michael_scott_queue, 7,i: 6,530,983 msg/sec xenium::michael_scott_queue, 8,s: 6,005,542 msg/sec xenium::michael_scott_queue, 8,i: 6,081,161 msg/sec xenium::ramalhete_queue, 1,s: 32,441,010 msg/sec xenium::ramalhete_queue, 1,i: 32,057,603 msg/sec xenium::ramalhete_queue, 2,s: 23,513,695 msg/sec xenium::ramalhete_queue, 2,i: 23,354,681 msg/sec xenium::ramalhete_queue, 3,s: 29,231,846 msg/sec xenium::ramalhete_queue, 3,i: 28,470,007 msg/sec xenium::ramalhete_queue, 4,s: 34,023,897 msg/sec xenium::ramalhete_queue, 4,i: 33,515,221 msg/sec xenium::ramalhete_queue, 5,s: 32,049,886 msg/sec xenium::ramalhete_queue, 5,i: 35,949,417 msg/sec xenium::ramalhete_queue, 6,s: 33,852,136 msg/sec xenium::ramalhete_queue, 6,i: 38,863,061 msg/sec xenium::ramalhete_queue, 7,s: 35,070,860 msg/sec xenium::ramalhete_queue, 7,i: 42,161,074 msg/sec xenium::ramalhete_queue, 8,s: 35,519,244 msg/sec xenium::ramalhete_queue, 8,i: 44,254,914 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,572,031 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,161,740 msg/sec xenium::vyukov_bounded_queue, 2,s: 21,709,473 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,194,699 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,671,590 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,817,803 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,600,800 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,260,004 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,063,413 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,308,720 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,758,130 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,226,300 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,241,326 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,131,446 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,406,711 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,216,494 msg/sec AtomicQueue, 1,s: 61,803,374 msg/sec AtomicQueue, 1,i: 56,562,826 msg/sec AtomicQueue, 2,s: 12,246,300 msg/sec AtomicQueue, 2,i: 11,729,274 msg/sec AtomicQueue, 3,s: 10,827,119 msg/sec AtomicQueue, 3,i: 9,937,937 msg/sec AtomicQueue, 4,s: 8,124,780 msg/sec AtomicQueue, 4,i: 8,223,614 msg/sec AtomicQueue, 5,s: 8,007,715 msg/sec AtomicQueue, 5,i: 8,095,843 msg/sec AtomicQueue, 6,s: 7,865,375 msg/sec AtomicQueue, 6,i: 7,626,474 msg/sec AtomicQueue, 7,s: 7,141,138 msg/sec AtomicQueue, 7,i: 7,993,149 msg/sec AtomicQueue, 8,s: 6,332,163 msg/sec AtomicQueue, 8,i: 7,449,032 msg/sec AtomicQueueB, 1,s: 43,041,501 msg/sec AtomicQueueB, 1,i: 43,003,973 msg/sec AtomicQueueB, 2,s: 11,879,976 msg/sec AtomicQueueB, 2,i: 11,471,158 msg/sec AtomicQueueB, 3,s: 11,079,744 msg/sec AtomicQueueB, 3,i: 10,084,166 msg/sec AtomicQueueB, 4,s: 8,049,167 msg/sec AtomicQueueB, 4,i: 8,056,439 msg/sec AtomicQueueB, 5,s: 7,633,627 msg/sec AtomicQueueB, 5,i: 7,787,780 msg/sec AtomicQueueB, 6,s: 7,321,932 msg/sec AtomicQueueB, 6,i: 7,519,920 msg/sec AtomicQueueB, 7,s: 6,859,155 msg/sec AtomicQueueB, 7,i: 7,711,154 msg/sec AtomicQueueB, 8,s: 6,260,400 msg/sec AtomicQueueB, 8,i: 7,188,847 msg/sec OptimistAtomicQueue, 1,s: 699,403,898 msg/sec OptimistAtomicQueue, 1,i: 746,153,949 msg/sec OptimistAtomicQueue, 2,s: 31,954,248 msg/sec OptimistAtomicQueue, 2,i: 32,179,564 msg/sec OptimistAtomicQueue, 3,s: 36,624,540 msg/sec OptimistAtomicQueue, 3,i: 37,332,788 msg/sec OptimistAtomicQueue, 4,s: 39,277,020 msg/sec OptimistAtomicQueue, 4,i: 39,379,618 msg/sec OptimistAtomicQueue, 5,s: 41,712,498 msg/sec OptimistAtomicQueue, 5,i: 46,295,377 msg/sec OptimistAtomicQueue, 6,s: 41,734,016 msg/sec OptimistAtomicQueue, 6,i: 50,357,877 msg/sec OptimistAtomicQueue, 7,s: 44,083,985 msg/sec OptimistAtomicQueue, 7,i: 49,515,299 msg/sec OptimistAtomicQueue, 8,s: 46,324,966 msg/sec OptimistAtomicQueue, 8,i: 49,461,251 msg/sec OptimistAtomicQueueB, 1,s: 464,865,738 msg/sec OptimistAtomicQueueB, 1,i: 91,297,205 msg/sec OptimistAtomicQueueB, 2,s: 32,231,751 msg/sec OptimistAtomicQueueB, 2,i: 31,962,995 msg/sec OptimistAtomicQueueB, 3,s: 36,236,444 msg/sec OptimistAtomicQueueB, 3,i: 36,807,896 msg/sec OptimistAtomicQueueB, 4,s: 38,628,262 msg/sec OptimistAtomicQueueB, 4,i: 38,523,758 msg/sec OptimistAtomicQueueB, 5,s: 41,113,754 msg/sec OptimistAtomicQueueB, 5,i: 45,381,209 msg/sec OptimistAtomicQueueB, 6,s: 41,054,466 msg/sec OptimistAtomicQueueB, 6,i: 49,110,248 msg/sec OptimistAtomicQueueB, 7,s: 42,093,315 msg/sec OptimistAtomicQueueB, 7,i: 50,764,638 msg/sec OptimistAtomicQueueB, 8,s: 44,550,320 msg/sec OptimistAtomicQueueB, 8,i: 47,671,593 msg/sec AtomicQueue2, 1,s: 22,971,811 msg/sec AtomicQueue2, 1,i: 22,929,415 msg/sec AtomicQueue2, 2,s: 11,816,869 msg/sec AtomicQueue2, 2,i: 11,436,412 msg/sec AtomicQueue2, 3,s: 9,658,206 msg/sec AtomicQueue2, 3,i: 9,380,797 msg/sec AtomicQueue2, 4,s: 8,042,457 msg/sec AtomicQueue2, 4,i: 8,062,442 msg/sec AtomicQueue2, 5,s: 7,925,583 msg/sec AtomicQueue2, 5,i: 8,008,939 msg/sec AtomicQueue2, 6,s: 7,793,327 msg/sec AtomicQueue2, 6,i: 7,530,661 msg/sec AtomicQueue2, 7,s: 7,038,783 msg/sec AtomicQueue2, 7,i: 7,911,984 msg/sec AtomicQueue2, 8,s: 6,409,111 msg/sec AtomicQueue2, 8,i: 7,370,914 msg/sec AtomicQueueB2, 1,s: 36,125,296 msg/sec AtomicQueueB2, 1,i: 33,292,933 msg/sec AtomicQueueB2, 2,s: 11,467,708 msg/sec AtomicQueueB2, 2,i: 11,121,741 msg/sec AtomicQueueB2, 3,s: 9,695,580 msg/sec AtomicQueueB2, 3,i: 9,576,139 msg/sec AtomicQueueB2, 4,s: 7,965,841 msg/sec AtomicQueueB2, 4,i: 7,900,107 msg/sec AtomicQueueB2, 5,s: 7,655,957 msg/sec AtomicQueueB2, 5,i: 7,738,480 msg/sec AtomicQueueB2, 6,s: 7,248,833 msg/sec AtomicQueueB2, 6,i: 7,479,302 msg/sec AtomicQueueB2, 7,s: 6,928,875 msg/sec AtomicQueueB2, 7,i: 7,671,196 msg/sec AtomicQueueB2, 8,s: 6,256,189 msg/sec AtomicQueueB2, 8,i: 7,068,591 msg/sec OptimistAtomicQueue2, 1,s: 404,321,468 msg/sec OptimistAtomicQueue2, 1,i: 436,993,176 msg/sec OptimistAtomicQueue2, 2,s: 26,164,299 msg/sec OptimistAtomicQueue2, 2,i: 25,229,864 msg/sec OptimistAtomicQueue2, 3,s: 30,353,066 msg/sec OptimistAtomicQueue2, 3,i: 29,996,553 msg/sec OptimistAtomicQueue2, 4,s: 33,563,067 msg/sec OptimistAtomicQueue2, 4,i: 33,403,613 msg/sec OptimistAtomicQueue2, 5,s: 37,274,284 msg/sec OptimistAtomicQueue2, 5,i: 41,459,258 msg/sec OptimistAtomicQueue2, 6,s: 39,956,517 msg/sec OptimistAtomicQueue2, 6,i: 49,212,405 msg/sec OptimistAtomicQueue2, 7,s: 43,136,405 msg/sec OptimistAtomicQueue2, 7,i: 51,680,330 msg/sec OptimistAtomicQueue2, 8,s: 43,833,666 msg/sec OptimistAtomicQueue2, 8,i: 48,729,268 msg/sec OptimistAtomicQueueB2, 1,s: 76,974,898 msg/sec OptimistAtomicQueueB2, 1,i: 33,878,751 msg/sec OptimistAtomicQueueB2, 2,s: 27,016,334 msg/sec OptimistAtomicQueueB2, 2,i: 25,716,555 msg/sec OptimistAtomicQueueB2, 3,s: 30,363,956 msg/sec OptimistAtomicQueueB2, 3,i: 28,962,415 msg/sec OptimistAtomicQueueB2, 4,s: 33,135,065 msg/sec OptimistAtomicQueueB2, 4,i: 32,270,589 msg/sec OptimistAtomicQueueB2, 5,s: 34,516,236 msg/sec OptimistAtomicQueueB2, 5,i: 39,039,699 msg/sec OptimistAtomicQueueB2, 6,s: 37,203,100 msg/sec OptimistAtomicQueueB2, 6,i: 42,451,884 msg/sec OptimistAtomicQueueB2, 7,s: 40,329,004 msg/sec OptimistAtomicQueueB2, 7,i: 43,157,568 msg/sec OptimistAtomicQueueB2, 8,s: 42,262,308 msg/sec OptimistAtomicQueueB2, 8,i: 46,248,705 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000241 sec/round-trip std::mutex: 0.000000445 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [17] 458m:55s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,632,492 msg/sec boost::lockfree::spsc_queue, 1,i: 69,980,414 msg/sec boost::lockfree::queue, 1,s: 6,939,102 msg/sec boost::lockfree::queue, 1,i: 6,926,771 msg/sec boost::lockfree::queue, 2,s: 7,718,014 msg/sec boost::lockfree::queue, 2,i: 7,487,844 msg/sec boost::lockfree::queue, 3,s: 7,435,758 msg/sec boost::lockfree::queue, 3,i: 7,576,601 msg/sec boost::lockfree::queue, 4,s: 6,421,278 msg/sec boost::lockfree::queue, 4,i: 6,853,891 msg/sec boost::lockfree::queue, 5,s: 6,481,566 msg/sec boost::lockfree::queue, 5,i: 6,459,985 msg/sec boost::lockfree::queue, 6,s: 5,973,357 msg/sec boost::lockfree::queue, 6,i: 6,094,514 msg/sec boost::lockfree::queue, 7,s: 5,885,925 msg/sec boost::lockfree::queue, 7,i: 6,010,290 msg/sec boost::lockfree::queue, 8,s: 5,456,631 msg/sec boost::lockfree::queue, 8,i: 5,550,422 msg/sec moodycamel::ReaderWriterQueue, 1,s: 74,116,721 msg/sec moodycamel::ReaderWriterQueue, 1,i: 58,811,867 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,782,053 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,035,501 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,175,307 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,179,249 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,213,409 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,402,571 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,573,518 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,183,095 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,376,857 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,482,558 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,473,829 msg/sec moodycamel::ConcurrentQueue, 6,i: 31,976,311 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,191,778 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,395,200 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,321,984 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,917,357 msg/sec pthread_spinlock, 1,s: 29,105,394 msg/sec pthread_spinlock, 1,i: 25,361,936 msg/sec pthread_spinlock, 2,s: 15,571,188 msg/sec pthread_spinlock, 2,i: 17,050,116 msg/sec pthread_spinlock, 3,s: 8,333,918 msg/sec pthread_spinlock, 3,i: 12,011,639 msg/sec pthread_spinlock, 4,s: 6,538,529 msg/sec pthread_spinlock, 4,i: 8,921,882 msg/sec pthread_spinlock, 5,s: 8,782,838 msg/sec pthread_spinlock, 5,i: 9,599,549 msg/sec pthread_spinlock, 6,s: 8,611,139 msg/sec pthread_spinlock, 6,i: 8,428,469 msg/sec pthread_spinlock, 7,s: 7,737,094 msg/sec pthread_spinlock, 7,i: 7,992,552 msg/sec pthread_spinlock, 8,s: 6,832,231 msg/sec pthread_spinlock, 8,i: 6,843,236 msg/sec std::mutex, 1,s: 6,897,471 msg/sec std::mutex, 1,i: 7,504,150 msg/sec std::mutex, 2,s: 6,136,723 msg/sec std::mutex, 2,i: 6,186,873 msg/sec std::mutex, 3,s: 5,536,250 msg/sec std::mutex, 3,i: 5,103,686 msg/sec std::mutex, 4,s: 6,160,329 msg/sec std::mutex, 4,i: 6,147,216 msg/sec std::mutex, 5,s: 5,949,328 msg/sec std::mutex, 5,i: 5,868,601 msg/sec std::mutex, 6,s: 5,851,084 msg/sec std::mutex, 6,i: 5,808,254 msg/sec std::mutex, 7,s: 5,787,013 msg/sec std::mutex, 7,i: 5,747,923 msg/sec std::mutex, 8,s: 5,665,013 msg/sec std::mutex, 8,i: 5,651,232 msg/sec tbb::spin_mutex, 1,s: 37,821,492 msg/sec tbb::spin_mutex, 1,i: 37,284,112 msg/sec tbb::spin_mutex, 2,s: 21,192,165 msg/sec tbb::spin_mutex, 2,i: 19,752,278 msg/sec tbb::spin_mutex, 3,s: 7,371,174 msg/sec tbb::spin_mutex, 3,i: 10,347,919 msg/sec tbb::spin_mutex, 4,s: 3,191,408 msg/sec tbb::spin_mutex, 4,i: 6,354,560 msg/sec tbb::spin_mutex, 5,s: 5,468,586 msg/sec tbb::spin_mutex, 5,i: 5,716,032 msg/sec tbb::spin_mutex, 6,s: 5,301,855 msg/sec tbb::spin_mutex, 6,i: 4,369,910 msg/sec tbb::spin_mutex, 7,s: 4,652,835 msg/sec tbb::spin_mutex, 7,i: 4,297,020 msg/sec tbb::spin_mutex, 8,s: 4,259,198 msg/sec tbb::spin_mutex, 8,i: 4,064,642 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,491,387 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,452,517 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,507,501 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,086,970 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,069,422 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,734,555 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,390,656 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,276,466 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,743,938 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,914,909 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,086,123 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,900,182 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,997,978 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,944,746 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,950,164 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,094,348 msg/sec xenium::michael_scott_queue, 1,s: 10,143,216 msg/sec xenium::michael_scott_queue, 1,i: 9,968,156 msg/sec xenium::michael_scott_queue, 2,s: 8,439,065 msg/sec xenium::michael_scott_queue, 2,i: 8,497,604 msg/sec xenium::michael_scott_queue, 3,s: 7,289,933 msg/sec xenium::michael_scott_queue, 3,i: 7,526,488 msg/sec xenium::michael_scott_queue, 4,s: 6,284,766 msg/sec xenium::michael_scott_queue, 4,i: 6,329,038 msg/sec xenium::michael_scott_queue, 5,s: 6,328,719 msg/sec xenium::michael_scott_queue, 5,i: 6,626,402 msg/sec xenium::michael_scott_queue, 6,s: 6,482,339 msg/sec xenium::michael_scott_queue, 6,i: 6,720,371 msg/sec xenium::michael_scott_queue, 7,s: 6,302,553 msg/sec xenium::michael_scott_queue, 7,i: 6,575,280 msg/sec xenium::michael_scott_queue, 8,s: 5,989,132 msg/sec xenium::michael_scott_queue, 8,i: 6,282,241 msg/sec xenium::ramalhete_queue, 1,s: 32,058,142 msg/sec xenium::ramalhete_queue, 1,i: 32,554,353 msg/sec xenium::ramalhete_queue, 2,s: 23,646,029 msg/sec xenium::ramalhete_queue, 2,i: 23,282,862 msg/sec xenium::ramalhete_queue, 3,s: 29,128,266 msg/sec xenium::ramalhete_queue, 3,i: 28,466,211 msg/sec xenium::ramalhete_queue, 4,s: 33,740,173 msg/sec xenium::ramalhete_queue, 4,i: 33,423,769 msg/sec xenium::ramalhete_queue, 5,s: 31,979,496 msg/sec xenium::ramalhete_queue, 5,i: 36,210,051 msg/sec xenium::ramalhete_queue, 6,s: 33,918,290 msg/sec xenium::ramalhete_queue, 6,i: 38,835,264 msg/sec xenium::ramalhete_queue, 7,s: 35,077,292 msg/sec xenium::ramalhete_queue, 7,i: 40,962,134 msg/sec xenium::ramalhete_queue, 8,s: 35,581,333 msg/sec xenium::ramalhete_queue, 8,i: 43,983,389 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,447,941 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,891,804 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,674,160 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,325,328 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,561,974 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,400,833 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,658,190 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,163,543 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,930,271 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,367,559 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,954,627 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,519,054 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,219,169 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,275,929 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,392,082 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,248,867 msg/sec AtomicQueue, 1,s: 59,284,306 msg/sec AtomicQueue, 1,i: 56,935,561 msg/sec AtomicQueue, 2,s: 12,281,981 msg/sec AtomicQueue, 2,i: 11,725,494 msg/sec AtomicQueue, 3,s: 10,798,966 msg/sec AtomicQueue, 3,i: 9,881,639 msg/sec AtomicQueue, 4,s: 8,180,566 msg/sec AtomicQueue, 4,i: 8,168,766 msg/sec AtomicQueue, 5,s: 8,062,810 msg/sec AtomicQueue, 5,i: 8,131,342 msg/sec AtomicQueue, 6,s: 7,827,444 msg/sec AtomicQueue, 6,i: 7,606,525 msg/sec AtomicQueue, 7,s: 7,160,641 msg/sec AtomicQueue, 7,i: 7,997,986 msg/sec AtomicQueue, 8,s: 6,365,488 msg/sec AtomicQueue, 8,i: 7,473,708 msg/sec AtomicQueueB, 1,s: 44,022,362 msg/sec AtomicQueueB, 1,i: 43,874,513 msg/sec AtomicQueueB, 2,s: 11,815,212 msg/sec AtomicQueueB, 2,i: 11,466,814 msg/sec AtomicQueueB, 3,s: 10,979,926 msg/sec AtomicQueueB, 3,i: 10,114,527 msg/sec AtomicQueueB, 4,s: 8,047,656 msg/sec AtomicQueueB, 4,i: 8,042,285 msg/sec AtomicQueueB, 5,s: 7,626,621 msg/sec AtomicQueueB, 5,i: 7,799,724 msg/sec AtomicQueueB, 6,s: 7,288,584 msg/sec AtomicQueueB, 6,i: 7,521,157 msg/sec AtomicQueueB, 7,s: 6,871,608 msg/sec AtomicQueueB, 7,i: 7,767,515 msg/sec AtomicQueueB, 8,s: 6,255,305 msg/sec AtomicQueueB, 8,i: 7,180,381 msg/sec OptimistAtomicQueue, 1,s: 689,923,171 msg/sec OptimistAtomicQueue, 1,i: 544,188,663 msg/sec OptimistAtomicQueue, 2,s: 32,653,250 msg/sec OptimistAtomicQueue, 2,i: 32,716,107 msg/sec OptimistAtomicQueue, 3,s: 36,670,901 msg/sec OptimistAtomicQueue, 3,i: 37,413,238 msg/sec OptimistAtomicQueue, 4,s: 39,292,297 msg/sec OptimistAtomicQueue, 4,i: 39,422,252 msg/sec OptimistAtomicQueue, 5,s: 42,247,824 msg/sec OptimistAtomicQueue, 5,i: 46,479,964 msg/sec OptimistAtomicQueue, 6,s: 42,668,169 msg/sec OptimistAtomicQueue, 6,i: 50,458,669 msg/sec OptimistAtomicQueue, 7,s: 45,061,111 msg/sec OptimistAtomicQueue, 7,i: 52,053,173 msg/sec OptimistAtomicQueue, 8,s: 46,286,578 msg/sec OptimistAtomicQueue, 8,i: 49,331,912 msg/sec OptimistAtomicQueueB, 1,s: 77,821,001 msg/sec OptimistAtomicQueueB, 1,i: 76,476,501 msg/sec OptimistAtomicQueueB, 2,s: 32,165,074 msg/sec OptimistAtomicQueueB, 2,i: 32,214,889 msg/sec OptimistAtomicQueueB, 3,s: 36,263,786 msg/sec OptimistAtomicQueueB, 3,i: 36,967,213 msg/sec OptimistAtomicQueueB, 4,s: 38,693,227 msg/sec OptimistAtomicQueueB, 4,i: 38,619,574 msg/sec OptimistAtomicQueueB, 5,s: 41,244,122 msg/sec OptimistAtomicQueueB, 5,i: 46,062,263 msg/sec OptimistAtomicQueueB, 6,s: 41,107,658 msg/sec OptimistAtomicQueueB, 6,i: 48,647,784 msg/sec OptimistAtomicQueueB, 7,s: 42,324,603 msg/sec OptimistAtomicQueueB, 7,i: 51,555,596 msg/sec OptimistAtomicQueueB, 8,s: 44,476,677 msg/sec OptimistAtomicQueueB, 8,i: 47,843,691 msg/sec AtomicQueue2, 1,s: 22,830,944 msg/sec AtomicQueue2, 1,i: 22,850,307 msg/sec AtomicQueue2, 2,s: 12,015,892 msg/sec AtomicQueue2, 2,i: 11,618,168 msg/sec AtomicQueue2, 3,s: 9,402,904 msg/sec AtomicQueue2, 3,i: 9,511,550 msg/sec AtomicQueue2, 4,s: 8,026,931 msg/sec AtomicQueue2, 4,i: 8,028,105 msg/sec AtomicQueue2, 5,s: 7,887,216 msg/sec AtomicQueue2, 5,i: 8,028,168 msg/sec AtomicQueue2, 6,s: 7,704,380 msg/sec AtomicQueue2, 6,i: 7,515,172 msg/sec AtomicQueue2, 7,s: 7,140,567 msg/sec AtomicQueue2, 7,i: 7,894,563 msg/sec AtomicQueue2, 8,s: 6,372,090 msg/sec AtomicQueue2, 8,i: 7,371,648 msg/sec AtomicQueueB2, 1,s: 36,342,360 msg/sec AtomicQueueB2, 1,i: 34,460,614 msg/sec AtomicQueueB2, 2,s: 11,417,327 msg/sec AtomicQueueB2, 2,i: 11,160,044 msg/sec AtomicQueueB2, 3,s: 9,742,162 msg/sec AtomicQueueB2, 3,i: 9,498,929 msg/sec AtomicQueueB2, 4,s: 7,949,338 msg/sec AtomicQueueB2, 4,i: 7,839,262 msg/sec AtomicQueueB2, 5,s: 7,515,419 msg/sec AtomicQueueB2, 5,i: 7,694,942 msg/sec AtomicQueueB2, 6,s: 7,249,216 msg/sec AtomicQueueB2, 6,i: 7,410,438 msg/sec AtomicQueueB2, 7,s: 6,887,024 msg/sec AtomicQueueB2, 7,i: 7,717,325 msg/sec AtomicQueueB2, 8,s: 6,259,738 msg/sec AtomicQueueB2, 8,i: 7,102,596 msg/sec OptimistAtomicQueue2, 1,s: 453,830,774 msg/sec OptimistAtomicQueue2, 1,i: 156,811,120 msg/sec OptimistAtomicQueue2, 2,s: 27,462,567 msg/sec OptimistAtomicQueue2, 2,i: 24,019,052 msg/sec OptimistAtomicQueue2, 3,s: 30,401,848 msg/sec OptimistAtomicQueue2, 3,i: 29,995,083 msg/sec OptimistAtomicQueue2, 4,s: 35,529,020 msg/sec OptimistAtomicQueue2, 4,i: 33,260,737 msg/sec OptimistAtomicQueue2, 5,s: 37,139,768 msg/sec OptimistAtomicQueue2, 5,i: 40,351,464 msg/sec OptimistAtomicQueue2, 6,s: 40,462,212 msg/sec OptimistAtomicQueue2, 6,i: 49,347,248 msg/sec OptimistAtomicQueue2, 7,s: 43,347,937 msg/sec OptimistAtomicQueue2, 7,i: 51,628,576 msg/sec OptimistAtomicQueue2, 8,s: 44,060,774 msg/sec OptimistAtomicQueue2, 8,i: 48,774,633 msg/sec OptimistAtomicQueueB2, 1,s: 72,232,918 msg/sec OptimistAtomicQueueB2, 1,i: 33,937,493 msg/sec OptimistAtomicQueueB2, 2,s: 27,203,343 msg/sec OptimistAtomicQueueB2, 2,i: 23,169,472 msg/sec OptimistAtomicQueueB2, 3,s: 29,697,515 msg/sec OptimistAtomicQueueB2, 3,i: 29,150,396 msg/sec OptimistAtomicQueueB2, 4,s: 33,299,725 msg/sec OptimistAtomicQueueB2, 4,i: 32,223,420 msg/sec OptimistAtomicQueueB2, 5,s: 34,504,753 msg/sec OptimistAtomicQueueB2, 5,i: 40,285,440 msg/sec OptimistAtomicQueueB2, 6,s: 36,952,868 msg/sec OptimistAtomicQueueB2, 6,i: 42,273,565 msg/sec OptimistAtomicQueueB2, 7,s: 40,357,120 msg/sec OptimistAtomicQueueB2, 7,i: 45,569,561 msg/sec OptimistAtomicQueueB2, 8,s: 42,592,037 msg/sec OptimistAtomicQueueB2, 8,i: 45,950,110 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000302 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [18] 457m:36s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 74,171,556 msg/sec boost::lockfree::spsc_queue, 1,i: 74,033,237 msg/sec boost::lockfree::queue, 1,s: 6,936,639 msg/sec boost::lockfree::queue, 1,i: 6,926,959 msg/sec boost::lockfree::queue, 2,s: 7,678,074 msg/sec boost::lockfree::queue, 2,i: 7,554,504 msg/sec boost::lockfree::queue, 3,s: 7,399,791 msg/sec boost::lockfree::queue, 3,i: 7,595,085 msg/sec boost::lockfree::queue, 4,s: 6,423,674 msg/sec boost::lockfree::queue, 4,i: 6,792,641 msg/sec boost::lockfree::queue, 5,s: 6,383,303 msg/sec boost::lockfree::queue, 5,i: 6,456,050 msg/sec boost::lockfree::queue, 6,s: 5,984,417 msg/sec boost::lockfree::queue, 6,i: 6,122,941 msg/sec boost::lockfree::queue, 7,s: 5,915,146 msg/sec boost::lockfree::queue, 7,i: 5,940,152 msg/sec boost::lockfree::queue, 8,s: 5,439,245 msg/sec boost::lockfree::queue, 8,i: 5,557,156 msg/sec moodycamel::ReaderWriterQueue, 1,s: 453,093,444 msg/sec moodycamel::ReaderWriterQueue, 1,i: 446,990,152 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,975,464 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,050,421 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,790,780 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,732,797 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,448,780 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,709,147 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,544,327 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,405,854 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,278,985 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,422,184 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,387,086 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,861,824 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,215,937 msg/sec moodycamel::ConcurrentQueue, 7,i: 66,347,129 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,288,577 msg/sec moodycamel::ConcurrentQueue, 8,i: 36,877,315 msg/sec pthread_spinlock, 1,s: 28,893,736 msg/sec pthread_spinlock, 1,i: 29,110,465 msg/sec pthread_spinlock, 2,s: 16,264,094 msg/sec pthread_spinlock, 2,i: 18,240,134 msg/sec pthread_spinlock, 3,s: 8,379,454 msg/sec pthread_spinlock, 3,i: 12,189,653 msg/sec pthread_spinlock, 4,s: 6,510,569 msg/sec pthread_spinlock, 4,i: 9,248,344 msg/sec pthread_spinlock, 5,s: 8,660,991 msg/sec pthread_spinlock, 5,i: 9,049,054 msg/sec pthread_spinlock, 6,s: 8,260,895 msg/sec pthread_spinlock, 6,i: 8,929,651 msg/sec pthread_spinlock, 7,s: 7,672,036 msg/sec pthread_spinlock, 7,i: 7,937,929 msg/sec pthread_spinlock, 8,s: 6,628,726 msg/sec pthread_spinlock, 8,i: 6,938,323 msg/sec std::mutex, 1,s: 7,395,156 msg/sec std::mutex, 1,i: 7,271,761 msg/sec std::mutex, 2,s: 5,639,038 msg/sec std::mutex, 2,i: 6,096,900 msg/sec std::mutex, 3,s: 6,046,373 msg/sec std::mutex, 3,i: 6,005,996 msg/sec std::mutex, 4,s: 6,303,124 msg/sec std::mutex, 4,i: 6,288,937 msg/sec std::mutex, 5,s: 6,140,791 msg/sec std::mutex, 5,i: 5,736,633 msg/sec std::mutex, 6,s: 5,951,928 msg/sec std::mutex, 6,i: 5,907,686 msg/sec std::mutex, 7,s: 5,842,335 msg/sec std::mutex, 7,i: 5,808,460 msg/sec std::mutex, 8,s: 5,690,431 msg/sec std::mutex, 8,i: 5,702,742 msg/sec tbb::spin_mutex, 1,s: 37,517,491 msg/sec tbb::spin_mutex, 1,i: 33,095,094 msg/sec tbb::spin_mutex, 2,s: 21,052,718 msg/sec tbb::spin_mutex, 2,i: 18,337,876 msg/sec tbb::spin_mutex, 3,s: 8,078,185 msg/sec tbb::spin_mutex, 3,i: 11,086,848 msg/sec tbb::spin_mutex, 4,s: 3,220,062 msg/sec tbb::spin_mutex, 4,i: 6,495,310 msg/sec tbb::spin_mutex, 5,s: 5,254,542 msg/sec tbb::spin_mutex, 5,i: 5,723,404 msg/sec tbb::spin_mutex, 6,s: 5,315,994 msg/sec tbb::spin_mutex, 6,i: 4,412,026 msg/sec tbb::spin_mutex, 7,s: 4,867,677 msg/sec tbb::spin_mutex, 7,i: 4,349,310 msg/sec tbb::spin_mutex, 8,s: 4,253,306 msg/sec tbb::spin_mutex, 8,i: 4,188,023 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,188,571 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,202,943 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,842,439 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,829,718 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,352,637 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,504,624 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,108,733 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,514,889 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,602,902 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,568,850 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,730,623 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,665,820 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,862,270 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,793,234 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,053,343 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,064,865 msg/sec xenium::michael_scott_queue, 1,s: 9,187,059 msg/sec xenium::michael_scott_queue, 1,i: 9,025,973 msg/sec xenium::michael_scott_queue, 2,s: 8,414,295 msg/sec xenium::michael_scott_queue, 2,i: 8,484,128 msg/sec xenium::michael_scott_queue, 3,s: 7,297,471 msg/sec xenium::michael_scott_queue, 3,i: 7,556,971 msg/sec xenium::michael_scott_queue, 4,s: 6,372,830 msg/sec xenium::michael_scott_queue, 4,i: 6,316,072 msg/sec xenium::michael_scott_queue, 5,s: 6,294,352 msg/sec xenium::michael_scott_queue, 5,i: 6,658,121 msg/sec xenium::michael_scott_queue, 6,s: 6,569,415 msg/sec xenium::michael_scott_queue, 6,i: 6,685,393 msg/sec xenium::michael_scott_queue, 7,s: 6,322,144 msg/sec xenium::michael_scott_queue, 7,i: 6,690,161 msg/sec xenium::michael_scott_queue, 8,s: 6,024,214 msg/sec xenium::michael_scott_queue, 8,i: 6,255,945 msg/sec xenium::ramalhete_queue, 1,s: 30,967,406 msg/sec xenium::ramalhete_queue, 1,i: 32,652,430 msg/sec xenium::ramalhete_queue, 2,s: 23,752,071 msg/sec xenium::ramalhete_queue, 2,i: 23,340,818 msg/sec xenium::ramalhete_queue, 3,s: 29,211,998 msg/sec xenium::ramalhete_queue, 3,i: 28,445,572 msg/sec xenium::ramalhete_queue, 4,s: 33,797,085 msg/sec xenium::ramalhete_queue, 4,i: 33,482,930 msg/sec xenium::ramalhete_queue, 5,s: 31,986,421 msg/sec xenium::ramalhete_queue, 5,i: 36,113,196 msg/sec xenium::ramalhete_queue, 6,s: 33,949,171 msg/sec xenium::ramalhete_queue, 6,i: 39,054,667 msg/sec xenium::ramalhete_queue, 7,s: 35,195,553 msg/sec xenium::ramalhete_queue, 7,i: 42,324,101 msg/sec xenium::ramalhete_queue, 8,s: 35,536,958 msg/sec xenium::ramalhete_queue, 8,i: 43,902,692 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,264,611 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,722,929 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,413,287 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,209,454 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,764,350 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,994,045 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,581,795 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,320,371 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,028,827 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,337,916 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,871,824 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,305,617 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,246,100 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,268,119 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,431,279 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,536,072 msg/sec AtomicQueue, 1,s: 57,836,414 msg/sec AtomicQueue, 1,i: 56,893,234 msg/sec AtomicQueue, 2,s: 12,307,347 msg/sec AtomicQueue, 2,i: 11,750,774 msg/sec AtomicQueue, 3,s: 10,796,115 msg/sec AtomicQueue, 3,i: 9,914,312 msg/sec AtomicQueue, 4,s: 8,226,169 msg/sec AtomicQueue, 4,i: 8,205,194 msg/sec AtomicQueue, 5,s: 8,028,122 msg/sec AtomicQueue, 5,i: 8,131,882 msg/sec AtomicQueue, 6,s: 7,981,619 msg/sec AtomicQueue, 6,i: 7,615,818 msg/sec AtomicQueue, 7,s: 7,102,789 msg/sec AtomicQueue, 7,i: 8,002,309 msg/sec AtomicQueue, 8,s: 6,350,451 msg/sec AtomicQueue, 8,i: 7,471,985 msg/sec AtomicQueueB, 1,s: 226,651,932 msg/sec AtomicQueueB, 1,i: 44,711,762 msg/sec AtomicQueueB, 2,s: 11,810,663 msg/sec AtomicQueueB, 2,i: 11,490,194 msg/sec AtomicQueueB, 3,s: 10,952,397 msg/sec AtomicQueueB, 3,i: 10,175,687 msg/sec AtomicQueueB, 4,s: 8,052,123 msg/sec AtomicQueueB, 4,i: 8,059,676 msg/sec AtomicQueueB, 5,s: 7,692,612 msg/sec AtomicQueueB, 5,i: 7,865,330 msg/sec AtomicQueueB, 6,s: 7,387,829 msg/sec AtomicQueueB, 6,i: 7,539,618 msg/sec AtomicQueueB, 7,s: 6,868,841 msg/sec AtomicQueueB, 7,i: 7,571,122 msg/sec AtomicQueueB, 8,s: 6,236,792 msg/sec AtomicQueueB, 8,i: 7,198,944 msg/sec OptimistAtomicQueue, 1,s: 818,591,858 msg/sec OptimistAtomicQueue, 1,i: 665,556,739 msg/sec OptimistAtomicQueue, 2,s: 32,638,639 msg/sec OptimistAtomicQueue, 2,i: 32,684,553 msg/sec OptimistAtomicQueue, 3,s: 36,659,584 msg/sec OptimistAtomicQueue, 3,i: 37,359,041 msg/sec OptimistAtomicQueue, 4,s: 39,280,644 msg/sec OptimistAtomicQueue, 4,i: 39,384,136 msg/sec OptimistAtomicQueue, 5,s: 41,586,557 msg/sec OptimistAtomicQueue, 5,i: 47,199,359 msg/sec OptimistAtomicQueue, 6,s: 42,048,321 msg/sec OptimistAtomicQueue, 6,i: 50,519,048 msg/sec OptimistAtomicQueue, 7,s: 44,462,484 msg/sec OptimistAtomicQueue, 7,i: 53,071,003 msg/sec OptimistAtomicQueue, 8,s: 46,478,908 msg/sec OptimistAtomicQueue, 8,i: 48,854,741 msg/sec OptimistAtomicQueueB, 1,s: 103,979,422 msg/sec OptimistAtomicQueueB, 1,i: 77,777,220 msg/sec OptimistAtomicQueueB, 2,s: 32,310,106 msg/sec OptimistAtomicQueueB, 2,i: 32,418,909 msg/sec OptimistAtomicQueueB, 3,s: 36,252,185 msg/sec OptimistAtomicQueueB, 3,i: 36,895,072 msg/sec OptimistAtomicQueueB, 4,s: 38,708,464 msg/sec OptimistAtomicQueueB, 4,i: 38,595,767 msg/sec OptimistAtomicQueueB, 5,s: 40,411,832 msg/sec OptimistAtomicQueueB, 5,i: 45,881,820 msg/sec OptimistAtomicQueueB, 6,s: 41,243,401 msg/sec OptimistAtomicQueueB, 6,i: 48,786,913 msg/sec OptimistAtomicQueueB, 7,s: 42,576,034 msg/sec OptimistAtomicQueueB, 7,i: 48,110,597 msg/sec OptimistAtomicQueueB, 8,s: 44,388,299 msg/sec OptimistAtomicQueueB, 8,i: 48,084,639 msg/sec AtomicQueue2, 1,s: 23,349,948 msg/sec AtomicQueue2, 1,i: 23,077,268 msg/sec AtomicQueue2, 2,s: 11,863,917 msg/sec AtomicQueue2, 2,i: 11,437,378 msg/sec AtomicQueue2, 3,s: 9,740,869 msg/sec AtomicQueue2, 3,i: 9,455,454 msg/sec AtomicQueue2, 4,s: 8,002,159 msg/sec AtomicQueue2, 4,i: 8,031,564 msg/sec AtomicQueue2, 5,s: 7,934,348 msg/sec AtomicQueue2, 5,i: 8,061,202 msg/sec AtomicQueue2, 6,s: 7,815,536 msg/sec AtomicQueue2, 6,i: 7,538,713 msg/sec AtomicQueue2, 7,s: 7,103,448 msg/sec AtomicQueue2, 7,i: 7,881,188 msg/sec AtomicQueue2, 8,s: 6,389,811 msg/sec AtomicQueue2, 8,i: 7,352,684 msg/sec AtomicQueueB2, 1,s: 35,957,114 msg/sec AtomicQueueB2, 1,i: 32,621,409 msg/sec AtomicQueueB2, 2,s: 11,466,384 msg/sec AtomicQueueB2, 2,i: 11,121,778 msg/sec AtomicQueueB2, 3,s: 9,577,995 msg/sec AtomicQueueB2, 3,i: 9,577,353 msg/sec AtomicQueueB2, 4,s: 7,908,661 msg/sec AtomicQueueB2, 4,i: 7,807,692 msg/sec AtomicQueueB2, 5,s: 7,493,154 msg/sec AtomicQueueB2, 5,i: 7,706,079 msg/sec AtomicQueueB2, 6,s: 7,301,651 msg/sec AtomicQueueB2, 6,i: 7,447,856 msg/sec AtomicQueueB2, 7,s: 6,798,709 msg/sec AtomicQueueB2, 7,i: 7,678,225 msg/sec AtomicQueueB2, 8,s: 6,286,875 msg/sec AtomicQueueB2, 8,i: 7,086,148 msg/sec OptimistAtomicQueue2, 1,s: 31,940,950 msg/sec OptimistAtomicQueue2, 1,i: 29,481,683 msg/sec OptimistAtomicQueue2, 2,s: 29,236,878 msg/sec OptimistAtomicQueue2, 2,i: 25,392,531 msg/sec OptimistAtomicQueue2, 3,s: 30,344,609 msg/sec OptimistAtomicQueue2, 3,i: 30,110,016 msg/sec OptimistAtomicQueue2, 4,s: 33,264,350 msg/sec OptimistAtomicQueue2, 4,i: 33,207,466 msg/sec OptimistAtomicQueue2, 5,s: 37,352,578 msg/sec OptimistAtomicQueue2, 5,i: 42,729,291 msg/sec OptimistAtomicQueue2, 6,s: 40,210,973 msg/sec OptimistAtomicQueue2, 6,i: 49,281,725 msg/sec OptimistAtomicQueue2, 7,s: 42,704,960 msg/sec OptimistAtomicQueue2, 7,i: 51,445,150 msg/sec OptimistAtomicQueue2, 8,s: 43,933,544 msg/sec OptimistAtomicQueue2, 8,i: 48,412,936 msg/sec OptimistAtomicQueueB2, 1,s: 77,565,116 msg/sec OptimistAtomicQueueB2, 1,i: 34,142,302 msg/sec OptimistAtomicQueueB2, 2,s: 27,804,960 msg/sec OptimistAtomicQueueB2, 2,i: 23,224,836 msg/sec OptimistAtomicQueueB2, 3,s: 29,704,685 msg/sec OptimistAtomicQueueB2, 3,i: 32,261,315 msg/sec OptimistAtomicQueueB2, 4,s: 33,200,715 msg/sec OptimistAtomicQueueB2, 4,i: 33,040,319 msg/sec OptimistAtomicQueueB2, 5,s: 34,795,019 msg/sec OptimistAtomicQueueB2, 5,i: 39,620,323 msg/sec OptimistAtomicQueueB2, 6,s: 37,636,786 msg/sec OptimistAtomicQueueB2, 6,i: 42,311,029 msg/sec OptimistAtomicQueueB2, 7,s: 40,737,326 msg/sec OptimistAtomicQueueB2, 7,i: 45,257,107 msg/sec OptimistAtomicQueueB2, 8,s: 42,496,142 msg/sec OptimistAtomicQueueB2, 8,i: 45,895,238 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000185 sec/round-trip AtomicQueue: 0.000000169 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [19] 456m:17s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,103,849 msg/sec boost::lockfree::spsc_queue, 1,i: 70,223,139 msg/sec boost::lockfree::queue, 1,s: 8,176,300 msg/sec boost::lockfree::queue, 1,i: 7,593,262 msg/sec boost::lockfree::queue, 2,s: 7,688,339 msg/sec boost::lockfree::queue, 2,i: 7,496,070 msg/sec boost::lockfree::queue, 3,s: 7,372,524 msg/sec boost::lockfree::queue, 3,i: 7,590,628 msg/sec boost::lockfree::queue, 4,s: 6,427,845 msg/sec boost::lockfree::queue, 4,i: 6,829,979 msg/sec boost::lockfree::queue, 5,s: 6,409,267 msg/sec boost::lockfree::queue, 5,i: 6,486,323 msg/sec boost::lockfree::queue, 6,s: 6,014,718 msg/sec boost::lockfree::queue, 6,i: 6,107,359 msg/sec boost::lockfree::queue, 7,s: 5,933,394 msg/sec boost::lockfree::queue, 7,i: 5,898,831 msg/sec boost::lockfree::queue, 8,s: 5,439,806 msg/sec boost::lockfree::queue, 8,i: 5,530,178 msg/sec moodycamel::ReaderWriterQueue, 1,s: 185,623,850 msg/sec moodycamel::ReaderWriterQueue, 1,i: 79,396,236 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,252,880 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,764,568 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,091,953 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,846,076 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,874,723 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,582,429 msg/sec moodycamel::ConcurrentQueue, 4,s: 40,713,725 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,126,529 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,397,347 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,895,077 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,384,366 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,191,816 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,223,879 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,183,222 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,164,777 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,843,188 msg/sec pthread_spinlock, 1,s: 29,205,928 msg/sec pthread_spinlock, 1,i: 25,443,271 msg/sec pthread_spinlock, 2,s: 15,492,685 msg/sec pthread_spinlock, 2,i: 17,166,539 msg/sec pthread_spinlock, 3,s: 8,320,213 msg/sec pthread_spinlock, 3,i: 12,037,452 msg/sec pthread_spinlock, 4,s: 6,498,858 msg/sec pthread_spinlock, 4,i: 8,973,456 msg/sec pthread_spinlock, 5,s: 8,692,568 msg/sec pthread_spinlock, 5,i: 9,229,607 msg/sec pthread_spinlock, 6,s: 8,319,226 msg/sec pthread_spinlock, 6,i: 8,675,582 msg/sec pthread_spinlock, 7,s: 7,542,252 msg/sec pthread_spinlock, 7,i: 7,709,575 msg/sec pthread_spinlock, 8,s: 6,870,658 msg/sec pthread_spinlock, 8,i: 7,406,336 msg/sec std::mutex, 1,s: 5,790,218 msg/sec std::mutex, 1,i: 6,720,249 msg/sec std::mutex, 2,s: 5,258,831 msg/sec std::mutex, 2,i: 5,495,682 msg/sec std::mutex, 3,s: 6,225,051 msg/sec std::mutex, 3,i: 6,321,125 msg/sec std::mutex, 4,s: 6,626,173 msg/sec std::mutex, 4,i: 6,707,446 msg/sec std::mutex, 5,s: 6,450,281 msg/sec std::mutex, 5,i: 6,097,656 msg/sec std::mutex, 6,s: 6,383,368 msg/sec std::mutex, 6,i: 6,361,516 msg/sec std::mutex, 7,s: 6,166,803 msg/sec std::mutex, 7,i: 6,226,809 msg/sec std::mutex, 8,s: 6,027,499 msg/sec std::mutex, 8,i: 6,045,929 msg/sec tbb::spin_mutex, 1,s: 37,746,300 msg/sec tbb::spin_mutex, 1,i: 33,022,289 msg/sec tbb::spin_mutex, 2,s: 20,830,258 msg/sec tbb::spin_mutex, 2,i: 18,155,423 msg/sec tbb::spin_mutex, 3,s: 8,932,617 msg/sec tbb::spin_mutex, 3,i: 10,404,604 msg/sec tbb::spin_mutex, 4,s: 3,437,403 msg/sec tbb::spin_mutex, 4,i: 6,458,685 msg/sec tbb::spin_mutex, 5,s: 5,556,357 msg/sec tbb::spin_mutex, 5,i: 5,774,335 msg/sec tbb::spin_mutex, 6,s: 5,356,464 msg/sec tbb::spin_mutex, 6,i: 4,386,619 msg/sec tbb::spin_mutex, 7,s: 4,852,734 msg/sec tbb::spin_mutex, 7,i: 4,338,621 msg/sec tbb::spin_mutex, 8,s: 4,255,246 msg/sec tbb::spin_mutex, 8,i: 4,056,221 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,413,352 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,727,556 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,611,507 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,353,196 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,125,896 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,930,773 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,441,553 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,270,267 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,657,486 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,873,700 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,084,054 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,932,305 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,958,263 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,917,609 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,993,628 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,105,172 msg/sec xenium::michael_scott_queue, 1,s: 9,287,586 msg/sec xenium::michael_scott_queue, 1,i: 9,262,303 msg/sec xenium::michael_scott_queue, 2,s: 8,573,055 msg/sec xenium::michael_scott_queue, 2,i: 8,683,388 msg/sec xenium::michael_scott_queue, 3,s: 7,102,674 msg/sec xenium::michael_scott_queue, 3,i: 7,702,336 msg/sec xenium::michael_scott_queue, 4,s: 6,294,278 msg/sec xenium::michael_scott_queue, 4,i: 6,357,212 msg/sec xenium::michael_scott_queue, 5,s: 6,294,924 msg/sec xenium::michael_scott_queue, 5,i: 6,669,614 msg/sec xenium::michael_scott_queue, 6,s: 6,483,383 msg/sec xenium::michael_scott_queue, 6,i: 6,978,184 msg/sec xenium::michael_scott_queue, 7,s: 6,297,694 msg/sec xenium::michael_scott_queue, 7,i: 6,638,116 msg/sec xenium::michael_scott_queue, 8,s: 6,029,044 msg/sec xenium::michael_scott_queue, 8,i: 6,138,743 msg/sec xenium::ramalhete_queue, 1,s: 31,559,734 msg/sec xenium::ramalhete_queue, 1,i: 32,100,054 msg/sec xenium::ramalhete_queue, 2,s: 24,410,529 msg/sec xenium::ramalhete_queue, 2,i: 23,332,714 msg/sec xenium::ramalhete_queue, 3,s: 29,304,980 msg/sec xenium::ramalhete_queue, 3,i: 28,593,718 msg/sec xenium::ramalhete_queue, 4,s: 33,986,843 msg/sec xenium::ramalhete_queue, 4,i: 33,534,924 msg/sec xenium::ramalhete_queue, 5,s: 32,085,954 msg/sec xenium::ramalhete_queue, 5,i: 35,940,004 msg/sec xenium::ramalhete_queue, 6,s: 34,066,737 msg/sec xenium::ramalhete_queue, 6,i: 38,733,577 msg/sec xenium::ramalhete_queue, 7,s: 35,240,394 msg/sec xenium::ramalhete_queue, 7,i: 40,924,974 msg/sec xenium::ramalhete_queue, 8,s: 35,597,938 msg/sec xenium::ramalhete_queue, 8,i: 44,187,771 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,203,338 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,962,229 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,605,225 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,232,139 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,613,956 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,984,432 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,548,055 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,172,453 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,000,939 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,397,261 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,864,916 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,303,360 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,174,250 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,084,412 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,412,919 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,225,784 msg/sec AtomicQueue, 1,s: 197,930,723 msg/sec AtomicQueue, 1,i: 263,374,034 msg/sec AtomicQueue, 2,s: 12,250,334 msg/sec AtomicQueue, 2,i: 11,729,943 msg/sec AtomicQueue, 3,s: 10,643,061 msg/sec AtomicQueue, 3,i: 9,903,160 msg/sec AtomicQueue, 4,s: 8,222,347 msg/sec AtomicQueue, 4,i: 8,210,671 msg/sec AtomicQueue, 5,s: 8,029,103 msg/sec AtomicQueue, 5,i: 8,129,930 msg/sec AtomicQueue, 6,s: 7,899,301 msg/sec AtomicQueue, 6,i: 7,615,491 msg/sec AtomicQueue, 7,s: 7,099,097 msg/sec AtomicQueue, 7,i: 7,975,011 msg/sec AtomicQueue, 8,s: 6,299,203 msg/sec AtomicQueue, 8,i: 7,403,900 msg/sec AtomicQueueB, 1,s: 44,127,415 msg/sec AtomicQueueB, 1,i: 43,008,034 msg/sec AtomicQueueB, 2,s: 11,902,538 msg/sec AtomicQueueB, 2,i: 11,518,417 msg/sec AtomicQueueB, 3,s: 10,990,454 msg/sec AtomicQueueB, 3,i: 10,119,080 msg/sec AtomicQueueB, 4,s: 8,084,765 msg/sec AtomicQueueB, 4,i: 8,027,704 msg/sec AtomicQueueB, 5,s: 7,662,050 msg/sec AtomicQueueB, 5,i: 7,828,100 msg/sec AtomicQueueB, 6,s: 7,412,688 msg/sec AtomicQueueB, 6,i: 7,496,739 msg/sec AtomicQueueB, 7,s: 6,863,545 msg/sec AtomicQueueB, 7,i: 7,732,336 msg/sec AtomicQueueB, 8,s: 6,246,257 msg/sec AtomicQueueB, 8,i: 6,991,291 msg/sec OptimistAtomicQueue, 1,s: 769,184,174 msg/sec OptimistAtomicQueue, 1,i: 653,771,567 msg/sec OptimistAtomicQueue, 2,s: 32,163,260 msg/sec OptimistAtomicQueue, 2,i: 32,197,607 msg/sec OptimistAtomicQueue, 3,s: 36,653,313 msg/sec OptimistAtomicQueue, 3,i: 37,335,919 msg/sec OptimistAtomicQueue, 4,s: 39,282,932 msg/sec OptimistAtomicQueue, 4,i: 39,375,931 msg/sec OptimistAtomicQueue, 5,s: 41,767,659 msg/sec OptimistAtomicQueue, 5,i: 46,353,274 msg/sec OptimistAtomicQueue, 6,s: 42,147,497 msg/sec OptimistAtomicQueue, 6,i: 49,827,883 msg/sec OptimistAtomicQueue, 7,s: 45,207,545 msg/sec OptimistAtomicQueue, 7,i: 52,928,502 msg/sec OptimistAtomicQueue, 8,s: 46,370,757 msg/sec OptimistAtomicQueue, 8,i: 48,640,890 msg/sec OptimistAtomicQueueB, 1,s: 138,879,601 msg/sec OptimistAtomicQueueB, 1,i: 76,448,652 msg/sec OptimistAtomicQueueB, 2,s: 32,158,509 msg/sec OptimistAtomicQueueB, 2,i: 32,365,640 msg/sec OptimistAtomicQueueB, 3,s: 36,188,583 msg/sec OptimistAtomicQueueB, 3,i: 36,839,528 msg/sec OptimistAtomicQueueB, 4,s: 38,644,333 msg/sec OptimistAtomicQueueB, 4,i: 38,609,398 msg/sec OptimistAtomicQueueB, 5,s: 40,734,778 msg/sec OptimistAtomicQueueB, 5,i: 45,530,051 msg/sec OptimistAtomicQueueB, 6,s: 40,380,574 msg/sec OptimistAtomicQueueB, 6,i: 49,145,660 msg/sec OptimistAtomicQueueB, 7,s: 41,931,588 msg/sec OptimistAtomicQueueB, 7,i: 48,038,382 msg/sec OptimistAtomicQueueB, 8,s: 44,446,273 msg/sec OptimistAtomicQueueB, 8,i: 47,678,286 msg/sec AtomicQueue2, 1,s: 22,894,484 msg/sec AtomicQueue2, 1,i: 22,878,574 msg/sec AtomicQueue2, 2,s: 11,669,271 msg/sec AtomicQueue2, 2,i: 11,372,943 msg/sec AtomicQueue2, 3,s: 9,421,494 msg/sec AtomicQueue2, 3,i: 9,364,927 msg/sec AtomicQueue2, 4,s: 8,017,166 msg/sec AtomicQueue2, 4,i: 8,029,918 msg/sec AtomicQueue2, 5,s: 7,872,896 msg/sec AtomicQueue2, 5,i: 7,994,621 msg/sec AtomicQueue2, 6,s: 7,695,880 msg/sec AtomicQueue2, 6,i: 7,558,196 msg/sec AtomicQueue2, 7,s: 7,107,451 msg/sec AtomicQueue2, 7,i: 7,890,533 msg/sec AtomicQueue2, 8,s: 6,386,414 msg/sec AtomicQueue2, 8,i: 7,366,829 msg/sec AtomicQueueB2, 1,s: 35,328,517 msg/sec AtomicQueueB2, 1,i: 36,260,765 msg/sec AtomicQueueB2, 2,s: 11,495,314 msg/sec AtomicQueueB2, 2,i: 11,101,520 msg/sec AtomicQueueB2, 3,s: 9,649,205 msg/sec AtomicQueueB2, 3,i: 9,581,860 msg/sec AtomicQueueB2, 4,s: 7,925,638 msg/sec AtomicQueueB2, 4,i: 7,732,241 msg/sec AtomicQueueB2, 5,s: 7,477,693 msg/sec AtomicQueueB2, 5,i: 7,681,104 msg/sec AtomicQueueB2, 6,s: 7,258,131 msg/sec AtomicQueueB2, 6,i: 7,420,543 msg/sec AtomicQueueB2, 7,s: 6,839,521 msg/sec AtomicQueueB2, 7,i: 7,683,755 msg/sec AtomicQueueB2, 8,s: 6,290,931 msg/sec AtomicQueueB2, 8,i: 7,089,030 msg/sec OptimistAtomicQueue2, 1,s: 445,404,042 msg/sec OptimistAtomicQueue2, 1,i: 29,407,481 msg/sec OptimistAtomicQueue2, 2,s: 24,262,384 msg/sec OptimistAtomicQueue2, 2,i: 24,019,936 msg/sec OptimistAtomicQueue2, 3,s: 30,327,085 msg/sec OptimistAtomicQueue2, 3,i: 29,958,896 msg/sec OptimistAtomicQueue2, 4,s: 33,217,544 msg/sec OptimistAtomicQueue2, 4,i: 33,010,874 msg/sec OptimistAtomicQueue2, 5,s: 36,955,047 msg/sec OptimistAtomicQueue2, 5,i: 40,006,880 msg/sec OptimistAtomicQueue2, 6,s: 40,460,708 msg/sec OptimistAtomicQueue2, 6,i: 49,227,113 msg/sec OptimistAtomicQueue2, 7,s: 42,694,805 msg/sec OptimistAtomicQueue2, 7,i: 48,105,113 msg/sec OptimistAtomicQueue2, 8,s: 44,008,785 msg/sec OptimistAtomicQueue2, 8,i: 48,200,436 msg/sec OptimistAtomicQueueB2, 1,s: 77,743,422 msg/sec OptimistAtomicQueueB2, 1,i: 33,868,546 msg/sec OptimistAtomicQueueB2, 2,s: 27,180,780 msg/sec OptimistAtomicQueueB2, 2,i: 23,234,775 msg/sec OptimistAtomicQueueB2, 3,s: 29,733,511 msg/sec OptimistAtomicQueueB2, 3,i: 29,866,529 msg/sec OptimistAtomicQueueB2, 4,s: 33,219,757 msg/sec OptimistAtomicQueueB2, 4,i: 33,051,148 msg/sec OptimistAtomicQueueB2, 5,s: 34,504,474 msg/sec OptimistAtomicQueueB2, 5,i: 39,226,999 msg/sec OptimistAtomicQueueB2, 6,s: 37,504,686 msg/sec OptimistAtomicQueueB2, 6,i: 42,422,177 msg/sec OptimistAtomicQueueB2, 7,s: 40,095,950 msg/sec OptimistAtomicQueueB2, 7,i: 45,533,559 msg/sec OptimistAtomicQueueB2, 8,s: 41,928,039 msg/sec OptimistAtomicQueueB2, 8,i: 45,174,070 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000311 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000226 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000268 sec/round-trip xenium::michael_scott_queue: 0.000000362 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [20] 454m:58s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,871,706 msg/sec boost::lockfree::spsc_queue, 1,i: 69,942,301 msg/sec boost::lockfree::queue, 1,s: 6,903,346 msg/sec boost::lockfree::queue, 1,i: 6,904,513 msg/sec boost::lockfree::queue, 2,s: 7,627,464 msg/sec boost::lockfree::queue, 2,i: 7,573,395 msg/sec boost::lockfree::queue, 3,s: 7,416,355 msg/sec boost::lockfree::queue, 3,i: 7,514,143 msg/sec boost::lockfree::queue, 4,s: 6,426,996 msg/sec boost::lockfree::queue, 4,i: 6,750,029 msg/sec boost::lockfree::queue, 5,s: 6,430,477 msg/sec boost::lockfree::queue, 5,i: 6,509,016 msg/sec boost::lockfree::queue, 6,s: 5,963,654 msg/sec boost::lockfree::queue, 6,i: 6,130,977 msg/sec boost::lockfree::queue, 7,s: 6,009,616 msg/sec boost::lockfree::queue, 7,i: 5,941,763 msg/sec boost::lockfree::queue, 8,s: 5,474,945 msg/sec boost::lockfree::queue, 8,i: 5,589,163 msg/sec moodycamel::ReaderWriterQueue, 1,s: 466,763,029 msg/sec moodycamel::ReaderWriterQueue, 1,i: 136,808,113 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,286,322 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,616,504 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,667,917 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,631,513 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,805,960 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,682,001 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,144,244 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,073,900 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,430,765 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,589,863 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,055,641 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,444,952 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,940,538 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,465,925 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,199,721 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,676,829 msg/sec pthread_spinlock, 1,s: 29,097,300 msg/sec pthread_spinlock, 1,i: 25,240,065 msg/sec pthread_spinlock, 2,s: 16,616,909 msg/sec pthread_spinlock, 2,i: 17,118,449 msg/sec pthread_spinlock, 3,s: 8,361,083 msg/sec pthread_spinlock, 3,i: 12,124,870 msg/sec pthread_spinlock, 4,s: 6,531,358 msg/sec pthread_spinlock, 4,i: 8,696,948 msg/sec pthread_spinlock, 5,s: 8,555,487 msg/sec pthread_spinlock, 5,i: 9,095,929 msg/sec pthread_spinlock, 6,s: 8,333,176 msg/sec pthread_spinlock, 6,i: 8,419,601 msg/sec pthread_spinlock, 7,s: 7,515,459 msg/sec pthread_spinlock, 7,i: 7,430,956 msg/sec pthread_spinlock, 8,s: 6,725,622 msg/sec pthread_spinlock, 8,i: 7,404,318 msg/sec std::mutex, 1,s: 7,727,987 msg/sec std::mutex, 1,i: 7,762,593 msg/sec std::mutex, 2,s: 6,110,823 msg/sec std::mutex, 2,i: 6,055,382 msg/sec std::mutex, 3,s: 6,192,704 msg/sec std::mutex, 3,i: 5,667,216 msg/sec std::mutex, 4,s: 5,254,266 msg/sec std::mutex, 4,i: 6,389,050 msg/sec std::mutex, 5,s: 6,150,575 msg/sec std::mutex, 5,i: 5,820,471 msg/sec std::mutex, 6,s: 6,163,726 msg/sec std::mutex, 6,i: 6,056,743 msg/sec std::mutex, 7,s: 5,968,171 msg/sec std::mutex, 7,i: 5,934,778 msg/sec std::mutex, 8,s: 5,766,443 msg/sec std::mutex, 8,i: 5,798,457 msg/sec tbb::spin_mutex, 1,s: 37,696,539 msg/sec tbb::spin_mutex, 1,i: 33,058,872 msg/sec tbb::spin_mutex, 2,s: 21,172,803 msg/sec tbb::spin_mutex, 2,i: 18,277,060 msg/sec tbb::spin_mutex, 3,s: 7,394,022 msg/sec tbb::spin_mutex, 3,i: 10,280,318 msg/sec tbb::spin_mutex, 4,s: 3,106,408 msg/sec tbb::spin_mutex, 4,i: 6,315,336 msg/sec tbb::spin_mutex, 5,s: 5,427,507 msg/sec tbb::spin_mutex, 5,i: 5,722,123 msg/sec tbb::spin_mutex, 6,s: 5,359,100 msg/sec tbb::spin_mutex, 6,i: 4,365,190 msg/sec tbb::spin_mutex, 7,s: 4,867,259 msg/sec tbb::spin_mutex, 7,i: 4,330,870 msg/sec tbb::spin_mutex, 8,s: 4,239,305 msg/sec tbb::spin_mutex, 8,i: 4,159,494 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,465,669 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,147,479 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,067,484 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,645,191 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,065,664 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,733,599 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,311,730 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,216,125 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,596,323 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,187,641 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,956,338 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,503,012 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,966,145 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,596,775 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,059,587 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,674,192 msg/sec xenium::michael_scott_queue, 1,s: 9,324,537 msg/sec xenium::michael_scott_queue, 1,i: 9,363,177 msg/sec xenium::michael_scott_queue, 2,s: 8,339,463 msg/sec xenium::michael_scott_queue, 2,i: 8,451,398 msg/sec xenium::michael_scott_queue, 3,s: 7,423,081 msg/sec xenium::michael_scott_queue, 3,i: 7,583,581 msg/sec xenium::michael_scott_queue, 4,s: 6,331,015 msg/sec xenium::michael_scott_queue, 4,i: 6,332,767 msg/sec xenium::michael_scott_queue, 5,s: 6,284,155 msg/sec xenium::michael_scott_queue, 5,i: 6,794,589 msg/sec xenium::michael_scott_queue, 6,s: 6,482,297 msg/sec xenium::michael_scott_queue, 6,i: 6,643,135 msg/sec xenium::michael_scott_queue, 7,s: 6,312,918 msg/sec xenium::michael_scott_queue, 7,i: 6,590,708 msg/sec xenium::michael_scott_queue, 8,s: 6,019,288 msg/sec xenium::michael_scott_queue, 8,i: 6,277,347 msg/sec xenium::ramalhete_queue, 1,s: 32,009,836 msg/sec xenium::ramalhete_queue, 1,i: 31,641,779 msg/sec xenium::ramalhete_queue, 2,s: 24,454,613 msg/sec xenium::ramalhete_queue, 2,i: 23,271,021 msg/sec xenium::ramalhete_queue, 3,s: 29,233,373 msg/sec xenium::ramalhete_queue, 3,i: 28,490,115 msg/sec xenium::ramalhete_queue, 4,s: 33,863,552 msg/sec xenium::ramalhete_queue, 4,i: 33,465,494 msg/sec xenium::ramalhete_queue, 5,s: 32,135,158 msg/sec xenium::ramalhete_queue, 5,i: 36,097,198 msg/sec xenium::ramalhete_queue, 6,s: 34,082,304 msg/sec xenium::ramalhete_queue, 6,i: 39,563,768 msg/sec xenium::ramalhete_queue, 7,s: 35,100,183 msg/sec xenium::ramalhete_queue, 7,i: 41,004,610 msg/sec xenium::ramalhete_queue, 8,s: 35,573,013 msg/sec xenium::ramalhete_queue, 8,i: 43,912,572 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,278,134 msg/sec xenium::vyukov_bounded_queue, 1,i: 100,437,162 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,645,904 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,160,443 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,509,301 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,556,771 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,655,513 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,488,889 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,170,619 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,233,250 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,850,982 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,612,501 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,243,861 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,968,625 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,399,804 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,340,015 msg/sec AtomicQueue, 1,s: 57,822,882 msg/sec AtomicQueue, 1,i: 56,489,807 msg/sec AtomicQueue, 2,s: 12,444,207 msg/sec AtomicQueue, 2,i: 11,738,558 msg/sec AtomicQueue, 3,s: 10,738,123 msg/sec AtomicQueue, 3,i: 9,944,285 msg/sec AtomicQueue, 4,s: 8,178,182 msg/sec AtomicQueue, 4,i: 8,226,105 msg/sec AtomicQueue, 5,s: 8,035,761 msg/sec AtomicQueue, 5,i: 8,147,021 msg/sec AtomicQueue, 6,s: 7,925,699 msg/sec AtomicQueue, 6,i: 7,596,547 msg/sec AtomicQueue, 7,s: 7,145,883 msg/sec AtomicQueue, 7,i: 7,988,041 msg/sec AtomicQueue, 8,s: 6,331,216 msg/sec AtomicQueue, 8,i: 7,442,565 msg/sec AtomicQueueB, 1,s: 45,449,230 msg/sec AtomicQueueB, 1,i: 43,045,455 msg/sec AtomicQueueB, 2,s: 12,026,968 msg/sec AtomicQueueB, 2,i: 11,505,385 msg/sec AtomicQueueB, 3,s: 10,999,004 msg/sec AtomicQueueB, 3,i: 10,161,768 msg/sec AtomicQueueB, 4,s: 8,094,163 msg/sec AtomicQueueB, 4,i: 7,999,185 msg/sec AtomicQueueB, 5,s: 7,609,304 msg/sec AtomicQueueB, 5,i: 7,878,213 msg/sec AtomicQueueB, 6,s: 7,416,331 msg/sec AtomicQueueB, 6,i: 7,534,890 msg/sec AtomicQueueB, 7,s: 6,865,119 msg/sec AtomicQueueB, 7,i: 7,718,083 msg/sec AtomicQueueB, 8,s: 6,271,624 msg/sec AtomicQueueB, 8,i: 7,122,612 msg/sec OptimistAtomicQueue, 1,s: 793,001,287 msg/sec OptimistAtomicQueue, 1,i: 612,253,363 msg/sec OptimistAtomicQueue, 2,s: 32,648,625 msg/sec OptimistAtomicQueue, 2,i: 32,678,628 msg/sec OptimistAtomicQueue, 3,s: 36,644,815 msg/sec OptimistAtomicQueue, 3,i: 37,263,347 msg/sec OptimistAtomicQueue, 4,s: 39,284,697 msg/sec OptimistAtomicQueue, 4,i: 39,372,900 msg/sec OptimistAtomicQueue, 5,s: 42,347,051 msg/sec OptimistAtomicQueue, 5,i: 47,044,180 msg/sec OptimistAtomicQueue, 6,s: 41,977,627 msg/sec OptimistAtomicQueue, 6,i: 49,808,999 msg/sec OptimistAtomicQueue, 7,s: 45,237,758 msg/sec OptimistAtomicQueue, 7,i: 53,010,121 msg/sec OptimistAtomicQueue, 8,s: 46,269,554 msg/sec OptimistAtomicQueue, 8,i: 48,607,362 msg/sec OptimistAtomicQueueB, 1,s: 231,316,507 msg/sec OptimistAtomicQueueB, 1,i: 210,670,569 msg/sec OptimistAtomicQueueB, 2,s: 32,171,531 msg/sec OptimistAtomicQueueB, 2,i: 32,377,454 msg/sec OptimistAtomicQueueB, 3,s: 36,277,549 msg/sec OptimistAtomicQueueB, 3,i: 36,774,835 msg/sec OptimistAtomicQueueB, 4,s: 38,760,203 msg/sec OptimistAtomicQueueB, 4,i: 38,563,462 msg/sec OptimistAtomicQueueB, 5,s: 41,087,538 msg/sec OptimistAtomicQueueB, 5,i: 45,282,761 msg/sec OptimistAtomicQueueB, 6,s: 41,303,750 msg/sec OptimistAtomicQueueB, 6,i: 49,214,328 msg/sec OptimistAtomicQueueB, 7,s: 41,826,343 msg/sec OptimistAtomicQueueB, 7,i: 51,526,500 msg/sec OptimistAtomicQueueB, 8,s: 44,689,613 msg/sec OptimistAtomicQueueB, 8,i: 47,937,457 msg/sec AtomicQueue2, 1,s: 22,836,422 msg/sec AtomicQueue2, 1,i: 22,864,664 msg/sec AtomicQueue2, 2,s: 11,826,310 msg/sec AtomicQueue2, 2,i: 11,397,003 msg/sec AtomicQueue2, 3,s: 9,318,903 msg/sec AtomicQueue2, 3,i: 9,574,769 msg/sec AtomicQueue2, 4,s: 8,054,124 msg/sec AtomicQueue2, 4,i: 8,035,844 msg/sec AtomicQueue2, 5,s: 7,970,463 msg/sec AtomicQueue2, 5,i: 8,067,059 msg/sec AtomicQueue2, 6,s: 7,656,382 msg/sec AtomicQueue2, 6,i: 7,497,654 msg/sec AtomicQueue2, 7,s: 7,142,694 msg/sec AtomicQueue2, 7,i: 7,858,616 msg/sec AtomicQueue2, 8,s: 6,376,685 msg/sec AtomicQueue2, 8,i: 7,302,131 msg/sec AtomicQueueB2, 1,s: 35,961,933 msg/sec AtomicQueueB2, 1,i: 32,611,113 msg/sec AtomicQueueB2, 2,s: 11,422,907 msg/sec AtomicQueueB2, 2,i: 11,122,171 msg/sec AtomicQueueB2, 3,s: 9,654,430 msg/sec AtomicQueueB2, 3,i: 9,506,924 msg/sec AtomicQueueB2, 4,s: 7,945,924 msg/sec AtomicQueueB2, 4,i: 7,779,355 msg/sec AtomicQueueB2, 5,s: 7,551,712 msg/sec AtomicQueueB2, 5,i: 7,728,311 msg/sec AtomicQueueB2, 6,s: 7,173,138 msg/sec AtomicQueueB2, 6,i: 7,399,493 msg/sec AtomicQueueB2, 7,s: 6,901,184 msg/sec AtomicQueueB2, 7,i: 7,702,794 msg/sec AtomicQueueB2, 8,s: 6,358,318 msg/sec AtomicQueueB2, 8,i: 6,962,826 msg/sec OptimistAtomicQueue2, 1,s: 436,982,864 msg/sec OptimistAtomicQueue2, 1,i: 29,540,987 msg/sec OptimistAtomicQueue2, 2,s: 24,273,894 msg/sec OptimistAtomicQueue2, 2,i: 24,105,341 msg/sec OptimistAtomicQueue2, 3,s: 30,318,268 msg/sec OptimistAtomicQueue2, 3,i: 30,017,429 msg/sec OptimistAtomicQueue2, 4,s: 33,270,765 msg/sec OptimistAtomicQueue2, 4,i: 33,128,256 msg/sec OptimistAtomicQueue2, 5,s: 37,137,765 msg/sec OptimistAtomicQueue2, 5,i: 41,006,973 msg/sec OptimistAtomicQueue2, 6,s: 40,225,577 msg/sec OptimistAtomicQueue2, 6,i: 49,320,030 msg/sec OptimistAtomicQueue2, 7,s: 42,744,121 msg/sec OptimistAtomicQueue2, 7,i: 51,446,319 msg/sec OptimistAtomicQueue2, 8,s: 44,112,001 msg/sec OptimistAtomicQueue2, 8,i: 48,757,254 msg/sec OptimistAtomicQueueB2, 1,s: 76,533,152 msg/sec OptimistAtomicQueueB2, 1,i: 38,128,161 msg/sec OptimistAtomicQueueB2, 2,s: 27,941,060 msg/sec OptimistAtomicQueueB2, 2,i: 26,123,376 msg/sec OptimistAtomicQueueB2, 3,s: 29,645,667 msg/sec OptimistAtomicQueueB2, 3,i: 29,170,724 msg/sec OptimistAtomicQueueB2, 4,s: 33,329,619 msg/sec OptimistAtomicQueueB2, 4,i: 32,641,706 msg/sec OptimistAtomicQueueB2, 5,s: 34,457,562 msg/sec OptimistAtomicQueueB2, 5,i: 39,213,671 msg/sec OptimistAtomicQueueB2, 6,s: 37,704,437 msg/sec OptimistAtomicQueueB2, 6,i: 42,256,545 msg/sec OptimistAtomicQueueB2, 7,s: 40,810,487 msg/sec OptimistAtomicQueueB2, 7,i: 43,155,598 msg/sec OptimistAtomicQueueB2, 8,s: 41,928,272 msg/sec OptimistAtomicQueueB2, 8,i: 45,261,959 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000329 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000149 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000248 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [21] 453m:39s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,745,494 msg/sec boost::lockfree::spsc_queue, 1,i: 71,738,497 msg/sec boost::lockfree::queue, 1,s: 7,875,686 msg/sec boost::lockfree::queue, 1,i: 6,935,779 msg/sec boost::lockfree::queue, 2,s: 7,692,423 msg/sec boost::lockfree::queue, 2,i: 7,514,665 msg/sec boost::lockfree::queue, 3,s: 7,411,242 msg/sec boost::lockfree::queue, 3,i: 7,525,902 msg/sec boost::lockfree::queue, 4,s: 6,420,496 msg/sec boost::lockfree::queue, 4,i: 6,767,850 msg/sec boost::lockfree::queue, 5,s: 6,398,810 msg/sec boost::lockfree::queue, 5,i: 6,421,875 msg/sec boost::lockfree::queue, 6,s: 5,974,598 msg/sec boost::lockfree::queue, 6,i: 6,157,446 msg/sec boost::lockfree::queue, 7,s: 6,015,160 msg/sec boost::lockfree::queue, 7,i: 6,076,128 msg/sec boost::lockfree::queue, 8,s: 5,369,525 msg/sec boost::lockfree::queue, 8,i: 5,567,923 msg/sec moodycamel::ReaderWriterQueue, 1,s: 396,759,467 msg/sec moodycamel::ReaderWriterQueue, 1,i: 73,775,212 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,077,071 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,864,391 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,751,050 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,663,082 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,569,409 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,968,845 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,581,377 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,051,452 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,077,515 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,722,518 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,199,277 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,572,902 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,946,395 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,667,323 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,103,715 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,184,124 msg/sec pthread_spinlock, 1,s: 28,948,977 msg/sec pthread_spinlock, 1,i: 25,361,768 msg/sec pthread_spinlock, 2,s: 16,086,124 msg/sec pthread_spinlock, 2,i: 17,098,004 msg/sec pthread_spinlock, 3,s: 8,309,498 msg/sec pthread_spinlock, 3,i: 12,002,425 msg/sec pthread_spinlock, 4,s: 6,504,696 msg/sec pthread_spinlock, 4,i: 8,847,621 msg/sec pthread_spinlock, 5,s: 8,565,523 msg/sec pthread_spinlock, 5,i: 9,052,370 msg/sec pthread_spinlock, 6,s: 8,309,020 msg/sec pthread_spinlock, 6,i: 8,434,537 msg/sec pthread_spinlock, 7,s: 7,707,165 msg/sec pthread_spinlock, 7,i: 7,959,316 msg/sec pthread_spinlock, 8,s: 6,829,032 msg/sec pthread_spinlock, 8,i: 6,808,407 msg/sec std::mutex, 1,s: 5,871,284 msg/sec std::mutex, 1,i: 5,947,568 msg/sec std::mutex, 2,s: 6,037,559 msg/sec std::mutex, 2,i: 6,246,824 msg/sec std::mutex, 3,s: 6,153,959 msg/sec std::mutex, 3,i: 6,243,234 msg/sec std::mutex, 4,s: 6,272,624 msg/sec std::mutex, 4,i: 6,324,916 msg/sec std::mutex, 5,s: 6,065,313 msg/sec std::mutex, 5,i: 6,168,621 msg/sec std::mutex, 6,s: 6,053,529 msg/sec std::mutex, 6,i: 6,082,457 msg/sec std::mutex, 7,s: 5,946,724 msg/sec std::mutex, 7,i: 5,943,965 msg/sec std::mutex, 8,s: 5,788,157 msg/sec std::mutex, 8,i: 5,762,766 msg/sec tbb::spin_mutex, 1,s: 37,698,422 msg/sec tbb::spin_mutex, 1,i: 33,000,087 msg/sec tbb::spin_mutex, 2,s: 21,219,027 msg/sec tbb::spin_mutex, 2,i: 18,360,438 msg/sec tbb::spin_mutex, 3,s: 8,411,672 msg/sec tbb::spin_mutex, 3,i: 10,851,375 msg/sec tbb::spin_mutex, 4,s: 3,202,128 msg/sec tbb::spin_mutex, 4,i: 6,286,646 msg/sec tbb::spin_mutex, 5,s: 5,414,060 msg/sec tbb::spin_mutex, 5,i: 5,687,596 msg/sec tbb::spin_mutex, 6,s: 5,279,544 msg/sec tbb::spin_mutex, 6,i: 4,315,093 msg/sec tbb::spin_mutex, 7,s: 4,840,019 msg/sec tbb::spin_mutex, 7,i: 4,338,709 msg/sec tbb::spin_mutex, 8,s: 3,933,783 msg/sec tbb::spin_mutex, 8,i: 4,058,422 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,841,020 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,823,446 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,781,922 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,326,615 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,367,458 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,711,697 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,167,561 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,530,677 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,563,444 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,615,460 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,784,891 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,614,077 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,873,037 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,717,252 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,114,917 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,090,054 msg/sec xenium::michael_scott_queue, 1,s: 9,423,165 msg/sec xenium::michael_scott_queue, 1,i: 9,372,916 msg/sec xenium::michael_scott_queue, 2,s: 8,399,202 msg/sec xenium::michael_scott_queue, 2,i: 8,548,173 msg/sec xenium::michael_scott_queue, 3,s: 7,224,393 msg/sec xenium::michael_scott_queue, 3,i: 7,533,005 msg/sec xenium::michael_scott_queue, 4,s: 6,284,127 msg/sec xenium::michael_scott_queue, 4,i: 6,400,263 msg/sec xenium::michael_scott_queue, 5,s: 6,338,056 msg/sec xenium::michael_scott_queue, 5,i: 6,728,238 msg/sec xenium::michael_scott_queue, 6,s: 6,550,116 msg/sec xenium::michael_scott_queue, 6,i: 6,766,148 msg/sec xenium::michael_scott_queue, 7,s: 6,371,402 msg/sec xenium::michael_scott_queue, 7,i: 6,528,376 msg/sec xenium::michael_scott_queue, 8,s: 5,986,305 msg/sec xenium::michael_scott_queue, 8,i: 6,253,812 msg/sec xenium::ramalhete_queue, 1,s: 32,284,268 msg/sec xenium::ramalhete_queue, 1,i: 31,635,456 msg/sec xenium::ramalhete_queue, 2,s: 23,440,871 msg/sec xenium::ramalhete_queue, 2,i: 23,269,580 msg/sec xenium::ramalhete_queue, 3,s: 29,141,530 msg/sec xenium::ramalhete_queue, 3,i: 28,469,919 msg/sec xenium::ramalhete_queue, 4,s: 33,869,132 msg/sec xenium::ramalhete_queue, 4,i: 33,468,129 msg/sec xenium::ramalhete_queue, 5,s: 32,151,458 msg/sec xenium::ramalhete_queue, 5,i: 36,135,705 msg/sec xenium::ramalhete_queue, 6,s: 33,978,662 msg/sec xenium::ramalhete_queue, 6,i: 39,732,704 msg/sec xenium::ramalhete_queue, 7,s: 34,925,560 msg/sec xenium::ramalhete_queue, 7,i: 41,071,226 msg/sec xenium::ramalhete_queue, 8,s: 35,476,827 msg/sec xenium::ramalhete_queue, 8,i: 43,857,255 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,746,661 msg/sec xenium::vyukov_bounded_queue, 1,i: 98,038,970 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,905,855 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,600,121 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,745,329 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,578,765 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,594,343 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,249,085 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,007,949 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,348,362 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,987,059 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,441,824 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,180,395 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,327,960 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,485,105 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,215,549 msg/sec AtomicQueue, 1,s: 61,497,386 msg/sec AtomicQueue, 1,i: 57,328,310 msg/sec AtomicQueue, 2,s: 12,196,994 msg/sec AtomicQueue, 2,i: 11,733,869 msg/sec AtomicQueue, 3,s: 10,818,421 msg/sec AtomicQueue, 3,i: 10,022,543 msg/sec AtomicQueue, 4,s: 8,212,140 msg/sec AtomicQueue, 4,i: 8,154,861 msg/sec AtomicQueue, 5,s: 8,044,594 msg/sec AtomicQueue, 5,i: 8,046,607 msg/sec AtomicQueue, 6,s: 7,783,114 msg/sec AtomicQueue, 6,i: 7,616,769 msg/sec AtomicQueue, 7,s: 7,114,813 msg/sec AtomicQueue, 7,i: 7,974,035 msg/sec AtomicQueue, 8,s: 6,338,071 msg/sec AtomicQueue, 8,i: 7,278,028 msg/sec AtomicQueueB, 1,s: 43,821,402 msg/sec AtomicQueueB, 1,i: 43,053,591 msg/sec AtomicQueueB, 2,s: 11,741,856 msg/sec AtomicQueueB, 2,i: 11,428,269 msg/sec AtomicQueueB, 3,s: 10,943,810 msg/sec AtomicQueueB, 3,i: 10,022,659 msg/sec AtomicQueueB, 4,s: 8,061,488 msg/sec AtomicQueueB, 4,i: 7,992,009 msg/sec AtomicQueueB, 5,s: 7,656,590 msg/sec AtomicQueueB, 5,i: 7,901,660 msg/sec AtomicQueueB, 6,s: 7,306,096 msg/sec AtomicQueueB, 6,i: 7,518,246 msg/sec AtomicQueueB, 7,s: 6,849,543 msg/sec AtomicQueueB, 7,i: 7,739,013 msg/sec AtomicQueueB, 8,s: 6,224,139 msg/sec AtomicQueueB, 8,i: 7,150,761 msg/sec OptimistAtomicQueue, 1,s: 806,612,447 msg/sec OptimistAtomicQueue, 1,i: 543,408,267 msg/sec OptimistAtomicQueue, 2,s: 32,637,414 msg/sec OptimistAtomicQueue, 2,i: 32,751,185 msg/sec OptimistAtomicQueue, 3,s: 36,693,045 msg/sec OptimistAtomicQueue, 3,i: 37,501,064 msg/sec OptimistAtomicQueue, 4,s: 39,267,859 msg/sec OptimistAtomicQueue, 4,i: 39,344,138 msg/sec OptimistAtomicQueue, 5,s: 41,656,250 msg/sec OptimistAtomicQueue, 5,i: 46,325,786 msg/sec OptimistAtomicQueue, 6,s: 42,618,636 msg/sec OptimistAtomicQueue, 6,i: 50,491,593 msg/sec OptimistAtomicQueue, 7,s: 44,383,454 msg/sec OptimistAtomicQueue, 7,i: 52,877,427 msg/sec OptimistAtomicQueue, 8,s: 46,450,797 msg/sec OptimistAtomicQueue, 8,i: 48,608,616 msg/sec OptimistAtomicQueueB, 1,s: 77,024,997 msg/sec OptimistAtomicQueueB, 1,i: 75,798,531 msg/sec OptimistAtomicQueueB, 2,s: 32,223,443 msg/sec OptimistAtomicQueueB, 2,i: 32,066,389 msg/sec OptimistAtomicQueueB, 3,s: 36,137,056 msg/sec OptimistAtomicQueueB, 3,i: 36,694,928 msg/sec OptimistAtomicQueueB, 4,s: 38,540,276 msg/sec OptimistAtomicQueueB, 4,i: 38,501,336 msg/sec OptimistAtomicQueueB, 5,s: 41,037,722 msg/sec OptimistAtomicQueueB, 5,i: 45,436,850 msg/sec OptimistAtomicQueueB, 6,s: 41,385,972 msg/sec OptimistAtomicQueueB, 6,i: 49,111,528 msg/sec OptimistAtomicQueueB, 7,s: 42,187,795 msg/sec OptimistAtomicQueueB, 7,i: 48,102,318 msg/sec OptimistAtomicQueueB, 8,s: 44,416,223 msg/sec OptimistAtomicQueueB, 8,i: 48,077,610 msg/sec AtomicQueue2, 1,s: 22,932,300 msg/sec AtomicQueue2, 1,i: 22,910,044 msg/sec AtomicQueue2, 2,s: 11,665,635 msg/sec AtomicQueue2, 2,i: 11,401,186 msg/sec AtomicQueue2, 3,s: 9,348,064 msg/sec AtomicQueue2, 3,i: 9,307,571 msg/sec AtomicQueue2, 4,s: 8,032,939 msg/sec AtomicQueue2, 4,i: 8,059,135 msg/sec AtomicQueue2, 5,s: 7,947,414 msg/sec AtomicQueue2, 5,i: 8,059,590 msg/sec AtomicQueue2, 6,s: 7,695,975 msg/sec AtomicQueue2, 6,i: 7,538,685 msg/sec AtomicQueue2, 7,s: 7,163,782 msg/sec AtomicQueue2, 7,i: 7,888,961 msg/sec AtomicQueue2, 8,s: 6,389,477 msg/sec AtomicQueue2, 8,i: 7,317,276 msg/sec AtomicQueueB2, 1,s: 36,295,590 msg/sec AtomicQueueB2, 1,i: 32,655,909 msg/sec AtomicQueueB2, 2,s: 11,497,106 msg/sec AtomicQueueB2, 2,i: 11,142,209 msg/sec AtomicQueueB2, 3,s: 9,697,338 msg/sec AtomicQueueB2, 3,i: 9,570,374 msg/sec AtomicQueueB2, 4,s: 7,956,125 msg/sec AtomicQueueB2, 4,i: 7,741,900 msg/sec AtomicQueueB2, 5,s: 7,598,494 msg/sec AtomicQueueB2, 5,i: 7,687,118 msg/sec AtomicQueueB2, 6,s: 7,283,511 msg/sec AtomicQueueB2, 6,i: 7,490,157 msg/sec AtomicQueueB2, 7,s: 6,880,005 msg/sec AtomicQueueB2, 7,i: 7,699,196 msg/sec AtomicQueueB2, 8,s: 6,260,305 msg/sec AtomicQueueB2, 8,i: 7,115,522 msg/sec OptimistAtomicQueue2, 1,s: 458,144,282 msg/sec OptimistAtomicQueue2, 1,i: 29,441,356 msg/sec OptimistAtomicQueue2, 2,s: 22,529,459 msg/sec OptimistAtomicQueue2, 2,i: 27,268,415 msg/sec OptimistAtomicQueue2, 3,s: 33,674,618 msg/sec OptimistAtomicQueue2, 3,i: 30,308,226 msg/sec OptimistAtomicQueue2, 4,s: 34,374,706 msg/sec OptimistAtomicQueue2, 4,i: 33,302,000 msg/sec OptimistAtomicQueue2, 5,s: 37,156,106 msg/sec OptimistAtomicQueue2, 5,i: 40,665,146 msg/sec OptimistAtomicQueue2, 6,s: 40,315,297 msg/sec OptimistAtomicQueue2, 6,i: 49,232,617 msg/sec OptimistAtomicQueue2, 7,s: 43,235,213 msg/sec OptimistAtomicQueue2, 7,i: 48,234,963 msg/sec OptimistAtomicQueue2, 8,s: 44,279,395 msg/sec OptimistAtomicQueue2, 8,i: 48,737,992 msg/sec OptimistAtomicQueueB2, 1,s: 77,178,706 msg/sec OptimistAtomicQueueB2, 1,i: 33,933,712 msg/sec OptimistAtomicQueueB2, 2,s: 27,868,817 msg/sec OptimistAtomicQueueB2, 2,i: 25,188,361 msg/sec OptimistAtomicQueueB2, 3,s: 30,964,204 msg/sec OptimistAtomicQueueB2, 3,i: 29,118,487 msg/sec OptimistAtomicQueueB2, 4,s: 33,104,779 msg/sec OptimistAtomicQueueB2, 4,i: 32,901,025 msg/sec OptimistAtomicQueueB2, 5,s: 34,610,836 msg/sec OptimistAtomicQueueB2, 5,i: 39,669,584 msg/sec OptimistAtomicQueueB2, 6,s: 37,243,845 msg/sec OptimistAtomicQueueB2, 6,i: 41,476,423 msg/sec OptimistAtomicQueueB2, 7,s: 40,740,655 msg/sec OptimistAtomicQueueB2, 7,i: 42,923,170 msg/sec OptimistAtomicQueueB2, 8,s: 42,286,943 msg/sec OptimistAtomicQueueB2, 8,i: 45,911,151 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000126 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000267 sec/round-trip std::mutex: 0.000000438 sec/round-trip tbb::spin_mutex: 0.000000284 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [22] 452m:20s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,903,751 msg/sec boost::lockfree::spsc_queue, 1,i: 71,839,286 msg/sec boost::lockfree::queue, 1,s: 7,627,980 msg/sec boost::lockfree::queue, 1,i: 6,818,041 msg/sec boost::lockfree::queue, 2,s: 7,596,207 msg/sec boost::lockfree::queue, 2,i: 7,510,096 msg/sec boost::lockfree::queue, 3,s: 7,416,576 msg/sec boost::lockfree::queue, 3,i: 7,542,693 msg/sec boost::lockfree::queue, 4,s: 6,411,908 msg/sec boost::lockfree::queue, 4,i: 6,888,445 msg/sec boost::lockfree::queue, 5,s: 6,461,233 msg/sec boost::lockfree::queue, 5,i: 6,482,309 msg/sec boost::lockfree::queue, 6,s: 6,013,574 msg/sec boost::lockfree::queue, 6,i: 6,137,639 msg/sec boost::lockfree::queue, 7,s: 5,849,029 msg/sec boost::lockfree::queue, 7,i: 6,010,646 msg/sec boost::lockfree::queue, 8,s: 5,399,068 msg/sec boost::lockfree::queue, 8,i: 5,605,363 msg/sec moodycamel::ReaderWriterQueue, 1,s: 452,746,609 msg/sec moodycamel::ReaderWriterQueue, 1,i: 46,149,002 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,890,877 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,712,931 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,668,979 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,478,193 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,125,842 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,489,105 msg/sec moodycamel::ConcurrentQueue, 4,s: 42,523,711 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,037,319 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,236,816 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,212,098 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,754,373 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,402,748 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,118,732 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,972,357 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,430,015 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,730,836 msg/sec pthread_spinlock, 1,s: 28,731,673 msg/sec pthread_spinlock, 1,i: 25,351,746 msg/sec pthread_spinlock, 2,s: 16,170,512 msg/sec pthread_spinlock, 2,i: 16,931,982 msg/sec pthread_spinlock, 3,s: 8,409,191 msg/sec pthread_spinlock, 3,i: 11,948,445 msg/sec pthread_spinlock, 4,s: 6,483,379 msg/sec pthread_spinlock, 4,i: 8,938,347 msg/sec pthread_spinlock, 5,s: 8,682,646 msg/sec pthread_spinlock, 5,i: 9,572,902 msg/sec pthread_spinlock, 6,s: 8,575,973 msg/sec pthread_spinlock, 6,i: 8,889,515 msg/sec pthread_spinlock, 7,s: 7,509,675 msg/sec pthread_spinlock, 7,i: 7,729,348 msg/sec pthread_spinlock, 8,s: 6,981,756 msg/sec pthread_spinlock, 8,i: 6,909,617 msg/sec std::mutex, 1,s: 9,015,531 msg/sec std::mutex, 1,i: 8,836,862 msg/sec std::mutex, 2,s: 6,248,932 msg/sec std::mutex, 2,i: 6,403,123 msg/sec std::mutex, 3,s: 6,505,340 msg/sec std::mutex, 3,i: 6,431,748 msg/sec std::mutex, 4,s: 6,769,100 msg/sec std::mutex, 4,i: 6,850,349 msg/sec std::mutex, 5,s: 6,436,891 msg/sec std::mutex, 5,i: 6,489,524 msg/sec std::mutex, 6,s: 6,204,164 msg/sec std::mutex, 6,i: 6,289,849 msg/sec std::mutex, 7,s: 6,164,151 msg/sec std::mutex, 7,i: 6,174,038 msg/sec std::mutex, 8,s: 6,019,037 msg/sec std::mutex, 8,i: 6,000,170 msg/sec tbb::spin_mutex, 1,s: 37,870,092 msg/sec tbb::spin_mutex, 1,i: 33,223,615 msg/sec tbb::spin_mutex, 2,s: 21,230,324 msg/sec tbb::spin_mutex, 2,i: 18,346,555 msg/sec tbb::spin_mutex, 3,s: 8,291,739 msg/sec tbb::spin_mutex, 3,i: 10,250,880 msg/sec tbb::spin_mutex, 4,s: 3,142,320 msg/sec tbb::spin_mutex, 4,i: 6,325,515 msg/sec tbb::spin_mutex, 5,s: 5,344,048 msg/sec tbb::spin_mutex, 5,i: 5,768,543 msg/sec tbb::spin_mutex, 6,s: 5,300,994 msg/sec tbb::spin_mutex, 6,i: 4,357,850 msg/sec tbb::spin_mutex, 7,s: 4,857,301 msg/sec tbb::spin_mutex, 7,i: 4,364,509 msg/sec tbb::spin_mutex, 8,s: 4,270,308 msg/sec tbb::spin_mutex, 8,i: 4,059,398 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,345,670 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,079,626 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,252,495 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,281,093 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,604,801 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,902,243 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,929,811 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,333,454 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,605,110 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,627,303 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,823,428 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,746,690 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,899,496 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,078,730 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,894,385 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,511,283 msg/sec xenium::michael_scott_queue, 1,s: 9,274,449 msg/sec xenium::michael_scott_queue, 1,i: 9,274,333 msg/sec xenium::michael_scott_queue, 2,s: 8,475,545 msg/sec xenium::michael_scott_queue, 2,i: 8,563,356 msg/sec xenium::michael_scott_queue, 3,s: 7,248,213 msg/sec xenium::michael_scott_queue, 3,i: 7,602,397 msg/sec xenium::michael_scott_queue, 4,s: 6,288,592 msg/sec xenium::michael_scott_queue, 4,i: 6,431,323 msg/sec xenium::michael_scott_queue, 5,s: 6,314,137 msg/sec xenium::michael_scott_queue, 5,i: 6,643,363 msg/sec xenium::michael_scott_queue, 6,s: 6,469,266 msg/sec xenium::michael_scott_queue, 6,i: 6,734,808 msg/sec xenium::michael_scott_queue, 7,s: 6,342,563 msg/sec xenium::michael_scott_queue, 7,i: 6,390,697 msg/sec xenium::michael_scott_queue, 8,s: 5,968,730 msg/sec xenium::michael_scott_queue, 8,i: 6,091,024 msg/sec xenium::ramalhete_queue, 1,s: 32,394,258 msg/sec xenium::ramalhete_queue, 1,i: 32,008,928 msg/sec xenium::ramalhete_queue, 2,s: 23,491,704 msg/sec xenium::ramalhete_queue, 2,i: 23,307,860 msg/sec xenium::ramalhete_queue, 3,s: 29,120,618 msg/sec xenium::ramalhete_queue, 3,i: 28,419,184 msg/sec xenium::ramalhete_queue, 4,s: 33,745,008 msg/sec xenium::ramalhete_queue, 4,i: 33,393,658 msg/sec xenium::ramalhete_queue, 5,s: 31,915,678 msg/sec xenium::ramalhete_queue, 5,i: 38,370,576 msg/sec xenium::ramalhete_queue, 6,s: 33,965,111 msg/sec xenium::ramalhete_queue, 6,i: 39,038,511 msg/sec xenium::ramalhete_queue, 7,s: 35,033,102 msg/sec xenium::ramalhete_queue, 7,i: 41,258,472 msg/sec xenium::ramalhete_queue, 8,s: 35,437,101 msg/sec xenium::ramalhete_queue, 8,i: 44,172,998 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,737,090 msg/sec xenium::vyukov_bounded_queue, 1,i: 98,003,437 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,596,098 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,225,951 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,647,637 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,042,778 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,633,176 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,166,629 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,846,443 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,145,351 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,800,348 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,203,274 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,294,747 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,902,765 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,665 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,237,840 msg/sec AtomicQueue, 1,s: 58,658,520 msg/sec AtomicQueue, 1,i: 56,438,709 msg/sec AtomicQueue, 2,s: 12,266,353 msg/sec AtomicQueue, 2,i: 11,764,200 msg/sec AtomicQueue, 3,s: 10,763,486 msg/sec AtomicQueue, 3,i: 9,892,774 msg/sec AtomicQueue, 4,s: 8,215,455 msg/sec AtomicQueue, 4,i: 8,194,746 msg/sec AtomicQueue, 5,s: 8,039,580 msg/sec AtomicQueue, 5,i: 8,100,258 msg/sec AtomicQueue, 6,s: 7,877,130 msg/sec AtomicQueue, 6,i: 7,625,071 msg/sec AtomicQueue, 7,s: 7,192,708 msg/sec AtomicQueue, 7,i: 7,966,453 msg/sec AtomicQueue, 8,s: 6,368,580 msg/sec AtomicQueue, 8,i: 7,406,593 msg/sec AtomicQueueB, 1,s: 43,994,804 msg/sec AtomicQueueB, 1,i: 42,985,364 msg/sec AtomicQueueB, 2,s: 11,837,711 msg/sec AtomicQueueB, 2,i: 11,350,072 msg/sec AtomicQueueB, 3,s: 10,901,510 msg/sec AtomicQueueB, 3,i: 10,093,656 msg/sec AtomicQueueB, 4,s: 8,020,110 msg/sec AtomicQueueB, 4,i: 8,006,684 msg/sec AtomicQueueB, 5,s: 7,575,227 msg/sec AtomicQueueB, 5,i: 7,846,351 msg/sec AtomicQueueB, 6,s: 7,366,969 msg/sec AtomicQueueB, 6,i: 7,545,552 msg/sec AtomicQueueB, 7,s: 6,873,913 msg/sec AtomicQueueB, 7,i: 7,737,294 msg/sec AtomicQueueB, 8,s: 6,226,443 msg/sec AtomicQueueB, 8,i: 7,044,984 msg/sec OptimistAtomicQueue, 1,s: 724,104,047 msg/sec OptimistAtomicQueue, 1,i: 517,845,539 msg/sec OptimistAtomicQueue, 2,s: 31,896,809 msg/sec OptimistAtomicQueue, 2,i: 32,017,572 msg/sec OptimistAtomicQueue, 3,s: 36,605,002 msg/sec OptimistAtomicQueue, 3,i: 37,354,285 msg/sec OptimistAtomicQueue, 4,s: 39,301,309 msg/sec OptimistAtomicQueue, 4,i: 39,380,279 msg/sec OptimistAtomicQueue, 5,s: 42,507,439 msg/sec OptimistAtomicQueue, 5,i: 47,850,252 msg/sec OptimistAtomicQueue, 6,s: 41,940,751 msg/sec OptimistAtomicQueue, 6,i: 50,421,919 msg/sec OptimistAtomicQueue, 7,s: 44,337,105 msg/sec OptimistAtomicQueue, 7,i: 53,028,951 msg/sec OptimistAtomicQueue, 8,s: 46,366,019 msg/sec OptimistAtomicQueue, 8,i: 48,876,741 msg/sec OptimistAtomicQueueB, 1,s: 230,756,734 msg/sec OptimistAtomicQueueB, 1,i: 76,553,580 msg/sec OptimistAtomicQueueB, 2,s: 32,126,677 msg/sec OptimistAtomicQueueB, 2,i: 32,242,278 msg/sec OptimistAtomicQueueB, 3,s: 36,274,151 msg/sec OptimistAtomicQueueB, 3,i: 36,874,632 msg/sec OptimistAtomicQueueB, 4,s: 38,687,825 msg/sec OptimistAtomicQueueB, 4,i: 38,582,628 msg/sec OptimistAtomicQueueB, 5,s: 38,987,121 msg/sec OptimistAtomicQueueB, 5,i: 46,215,640 msg/sec OptimistAtomicQueueB, 6,s: 40,900,738 msg/sec OptimistAtomicQueueB, 6,i: 49,227,888 msg/sec OptimistAtomicQueueB, 7,s: 41,862,588 msg/sec OptimistAtomicQueueB, 7,i: 51,450,037 msg/sec OptimistAtomicQueueB, 8,s: 44,571,309 msg/sec OptimistAtomicQueueB, 8,i: 47,871,507 msg/sec AtomicQueue2, 1,s: 22,884,104 msg/sec AtomicQueue2, 1,i: 22,921,829 msg/sec AtomicQueue2, 2,s: 11,874,947 msg/sec AtomicQueue2, 2,i: 11,490,888 msg/sec AtomicQueue2, 3,s: 9,900,949 msg/sec AtomicQueue2, 3,i: 9,359,837 msg/sec AtomicQueue2, 4,s: 8,115,128 msg/sec AtomicQueue2, 4,i: 8,082,860 msg/sec AtomicQueue2, 5,s: 7,900,463 msg/sec AtomicQueue2, 5,i: 8,075,278 msg/sec AtomicQueue2, 6,s: 7,796,007 msg/sec AtomicQueue2, 6,i: 7,506,555 msg/sec AtomicQueue2, 7,s: 7,094,246 msg/sec AtomicQueue2, 7,i: 7,900,068 msg/sec AtomicQueue2, 8,s: 6,377,941 msg/sec AtomicQueue2, 8,i: 7,238,094 msg/sec AtomicQueueB2, 1,s: 36,143,681 msg/sec AtomicQueueB2, 1,i: 32,839,645 msg/sec AtomicQueueB2, 2,s: 11,390,558 msg/sec AtomicQueueB2, 2,i: 11,140,296 msg/sec AtomicQueueB2, 3,s: 9,611,039 msg/sec AtomicQueueB2, 3,i: 9,605,163 msg/sec AtomicQueueB2, 4,s: 7,975,351 msg/sec AtomicQueueB2, 4,i: 7,887,835 msg/sec AtomicQueueB2, 5,s: 7,556,487 msg/sec AtomicQueueB2, 5,i: 7,775,892 msg/sec AtomicQueueB2, 6,s: 7,233,710 msg/sec AtomicQueueB2, 6,i: 7,425,308 msg/sec AtomicQueueB2, 7,s: 6,866,799 msg/sec AtomicQueueB2, 7,i: 7,668,959 msg/sec AtomicQueueB2, 8,s: 6,304,775 msg/sec AtomicQueueB2, 8,i: 6,904,830 msg/sec OptimistAtomicQueue2, 1,s: 392,334,182 msg/sec OptimistAtomicQueue2, 1,i: 29,752,043 msg/sec OptimistAtomicQueue2, 2,s: 24,790,054 msg/sec OptimistAtomicQueue2, 2,i: 24,007,723 msg/sec OptimistAtomicQueue2, 3,s: 30,319,186 msg/sec OptimistAtomicQueue2, 3,i: 29,986,614 msg/sec OptimistAtomicQueue2, 4,s: 33,162,312 msg/sec OptimistAtomicQueue2, 4,i: 33,049,556 msg/sec OptimistAtomicQueue2, 5,s: 37,137,186 msg/sec OptimistAtomicQueue2, 5,i: 40,355,146 msg/sec OptimistAtomicQueue2, 6,s: 39,988,466 msg/sec OptimistAtomicQueue2, 6,i: 49,170,929 msg/sec OptimistAtomicQueue2, 7,s: 42,892,013 msg/sec OptimistAtomicQueue2, 7,i: 47,868,079 msg/sec OptimistAtomicQueue2, 8,s: 44,085,542 msg/sec OptimistAtomicQueue2, 8,i: 48,589,762 msg/sec OptimistAtomicQueueB2, 1,s: 78,308,181 msg/sec OptimistAtomicQueueB2, 1,i: 33,883,257 msg/sec OptimistAtomicQueueB2, 2,s: 27,391,108 msg/sec OptimistAtomicQueueB2, 2,i: 23,190,255 msg/sec OptimistAtomicQueueB2, 3,s: 30,097,488 msg/sec OptimistAtomicQueueB2, 3,i: 29,142,013 msg/sec OptimistAtomicQueueB2, 4,s: 33,186,844 msg/sec OptimistAtomicQueueB2, 4,i: 32,755,396 msg/sec OptimistAtomicQueueB2, 5,s: 34,636,897 msg/sec OptimistAtomicQueueB2, 5,i: 39,611,810 msg/sec OptimistAtomicQueueB2, 6,s: 37,468,658 msg/sec OptimistAtomicQueueB2, 6,i: 41,856,382 msg/sec OptimistAtomicQueueB2, 7,s: 40,116,805 msg/sec OptimistAtomicQueueB2, 7,i: 43,157,267 msg/sec OptimistAtomicQueueB2, 8,s: 42,338,564 msg/sec OptimistAtomicQueueB2, 8,i: 45,832,695 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000151 sec/round-trip moodycamel::ConcurrentQueue: 0.000000222 sec/round-trip pthread_spinlock: 0.000000272 sec/round-trip std::mutex: 0.000000457 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000198 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [23] 451m:2s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,837,641 msg/sec boost::lockfree::spsc_queue, 1,i: 69,692,101 msg/sec boost::lockfree::queue, 1,s: 6,867,436 msg/sec boost::lockfree::queue, 1,i: 6,896,789 msg/sec boost::lockfree::queue, 2,s: 7,633,013 msg/sec boost::lockfree::queue, 2,i: 7,590,568 msg/sec boost::lockfree::queue, 3,s: 7,349,863 msg/sec boost::lockfree::queue, 3,i: 7,609,588 msg/sec boost::lockfree::queue, 4,s: 6,424,289 msg/sec boost::lockfree::queue, 4,i: 6,793,919 msg/sec boost::lockfree::queue, 5,s: 6,449,926 msg/sec boost::lockfree::queue, 5,i: 6,546,694 msg/sec boost::lockfree::queue, 6,s: 6,004,870 msg/sec boost::lockfree::queue, 6,i: 6,155,961 msg/sec boost::lockfree::queue, 7,s: 5,781,223 msg/sec boost::lockfree::queue, 7,i: 6,012,563 msg/sec boost::lockfree::queue, 8,s: 5,425,691 msg/sec boost::lockfree::queue, 8,i: 5,578,763 msg/sec moodycamel::ReaderWriterQueue, 1,s: 426,385,911 msg/sec moodycamel::ReaderWriterQueue, 1,i: 380,852,960 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,729,850 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,085,351 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,275,294 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,488,826 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,405,568 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,601,116 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,964,618 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,896,248 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,170,789 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,634,852 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,215,879 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,971,792 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,045,801 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,956,600 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,205,164 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,892,174 msg/sec pthread_spinlock, 1,s: 29,047,124 msg/sec pthread_spinlock, 1,i: 25,402,612 msg/sec pthread_spinlock, 2,s: 15,649,234 msg/sec pthread_spinlock, 2,i: 17,060,725 msg/sec pthread_spinlock, 3,s: 8,390,866 msg/sec pthread_spinlock, 3,i: 12,029,350 msg/sec pthread_spinlock, 4,s: 6,510,912 msg/sec pthread_spinlock, 4,i: 8,959,455 msg/sec pthread_spinlock, 5,s: 8,572,142 msg/sec pthread_spinlock, 5,i: 8,750,706 msg/sec pthread_spinlock, 6,s: 8,552,298 msg/sec pthread_spinlock, 6,i: 8,433,891 msg/sec pthread_spinlock, 7,s: 7,611,046 msg/sec pthread_spinlock, 7,i: 7,969,450 msg/sec pthread_spinlock, 8,s: 6,934,968 msg/sec pthread_spinlock, 8,i: 7,249,887 msg/sec std::mutex, 1,s: 6,711,636 msg/sec std::mutex, 1,i: 6,855,144 msg/sec std::mutex, 2,s: 5,662,255 msg/sec std::mutex, 2,i: 5,396,045 msg/sec std::mutex, 3,s: 5,145,867 msg/sec std::mutex, 3,i: 5,440,398 msg/sec std::mutex, 4,s: 5,923,762 msg/sec std::mutex, 4,i: 6,249,717 msg/sec std::mutex, 5,s: 6,135,192 msg/sec std::mutex, 5,i: 5,995,078 msg/sec std::mutex, 6,s: 5,960,797 msg/sec std::mutex, 6,i: 5,914,891 msg/sec std::mutex, 7,s: 5,786,824 msg/sec std::mutex, 7,i: 5,777,672 msg/sec std::mutex, 8,s: 5,669,950 msg/sec std::mutex, 8,i: 5,676,608 msg/sec tbb::spin_mutex, 1,s: 38,291,948 msg/sec tbb::spin_mutex, 1,i: 33,099,203 msg/sec tbb::spin_mutex, 2,s: 21,120,415 msg/sec tbb::spin_mutex, 2,i: 18,401,243 msg/sec tbb::spin_mutex, 3,s: 8,042,258 msg/sec tbb::spin_mutex, 3,i: 10,145,988 msg/sec tbb::spin_mutex, 4,s: 3,138,698 msg/sec tbb::spin_mutex, 4,i: 6,362,770 msg/sec tbb::spin_mutex, 5,s: 5,443,803 msg/sec tbb::spin_mutex, 5,i: 5,830,709 msg/sec tbb::spin_mutex, 6,s: 5,337,373 msg/sec tbb::spin_mutex, 6,i: 4,344,070 msg/sec tbb::spin_mutex, 7,s: 4,869,151 msg/sec tbb::spin_mutex, 7,i: 4,355,599 msg/sec tbb::spin_mutex, 8,s: 4,266,005 msg/sec tbb::spin_mutex, 8,i: 4,144,308 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,266,653 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,201,192 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,044,946 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,918,726 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,495,058 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,673,960 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,112,461 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,525,302 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,534,015 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,559,660 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,772,124 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,713,899 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,862,531 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,798,749 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,071,623 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,075,159 msg/sec xenium::michael_scott_queue, 1,s: 9,475,323 msg/sec xenium::michael_scott_queue, 1,i: 9,647,814 msg/sec xenium::michael_scott_queue, 2,s: 8,454,821 msg/sec xenium::michael_scott_queue, 2,i: 8,489,948 msg/sec xenium::michael_scott_queue, 3,s: 7,239,133 msg/sec xenium::michael_scott_queue, 3,i: 7,525,465 msg/sec xenium::michael_scott_queue, 4,s: 6,384,174 msg/sec xenium::michael_scott_queue, 4,i: 6,307,295 msg/sec xenium::michael_scott_queue, 5,s: 6,285,655 msg/sec xenium::michael_scott_queue, 5,i: 6,669,624 msg/sec xenium::michael_scott_queue, 6,s: 6,527,762 msg/sec xenium::michael_scott_queue, 6,i: 6,689,469 msg/sec xenium::michael_scott_queue, 7,s: 6,312,741 msg/sec xenium::michael_scott_queue, 7,i: 6,531,026 msg/sec xenium::michael_scott_queue, 8,s: 6,004,019 msg/sec xenium::michael_scott_queue, 8,i: 6,228,588 msg/sec xenium::ramalhete_queue, 1,s: 31,704,778 msg/sec xenium::ramalhete_queue, 1,i: 31,559,952 msg/sec xenium::ramalhete_queue, 2,s: 23,412,823 msg/sec xenium::ramalhete_queue, 2,i: 23,252,142 msg/sec xenium::ramalhete_queue, 3,s: 29,133,932 msg/sec xenium::ramalhete_queue, 3,i: 28,503,167 msg/sec xenium::ramalhete_queue, 4,s: 33,885,574 msg/sec xenium::ramalhete_queue, 4,i: 33,478,824 msg/sec xenium::ramalhete_queue, 5,s: 31,921,577 msg/sec xenium::ramalhete_queue, 5,i: 36,033,648 msg/sec xenium::ramalhete_queue, 6,s: 34,072,187 msg/sec xenium::ramalhete_queue, 6,i: 38,535,029 msg/sec xenium::ramalhete_queue, 7,s: 35,218,638 msg/sec xenium::ramalhete_queue, 7,i: 40,999,633 msg/sec xenium::ramalhete_queue, 8,s: 35,456,889 msg/sec xenium::ramalhete_queue, 8,i: 43,764,705 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,737,678 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,682,275 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,063,418 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,600,252 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,660,633 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,701,037 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,559,809 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,248,320 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,990,095 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,366,167 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,904,422 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,264,717 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,256,294 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,040,388 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,419,707 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,232,382 msg/sec AtomicQueue, 1,s: 60,001,338 msg/sec AtomicQueue, 1,i: 56,454,409 msg/sec AtomicQueue, 2,s: 12,184,595 msg/sec AtomicQueue, 2,i: 11,741,227 msg/sec AtomicQueue, 3,s: 10,814,034 msg/sec AtomicQueue, 3,i: 9,928,399 msg/sec AtomicQueue, 4,s: 8,202,017 msg/sec AtomicQueue, 4,i: 8,186,136 msg/sec AtomicQueue, 5,s: 8,022,973 msg/sec AtomicQueue, 5,i: 8,081,443 msg/sec AtomicQueue, 6,s: 7,774,922 msg/sec AtomicQueue, 6,i: 7,613,588 msg/sec AtomicQueue, 7,s: 7,118,681 msg/sec AtomicQueue, 7,i: 7,997,843 msg/sec AtomicQueue, 8,s: 6,366,077 msg/sec AtomicQueue, 8,i: 7,484,918 msg/sec AtomicQueueB, 1,s: 43,945,400 msg/sec AtomicQueueB, 1,i: 43,760,601 msg/sec AtomicQueueB, 2,s: 11,832,920 msg/sec AtomicQueueB, 2,i: 11,505,887 msg/sec AtomicQueueB, 3,s: 11,056,438 msg/sec AtomicQueueB, 3,i: 10,290,583 msg/sec AtomicQueueB, 4,s: 8,004,604 msg/sec AtomicQueueB, 4,i: 8,072,130 msg/sec AtomicQueueB, 5,s: 7,668,358 msg/sec AtomicQueueB, 5,i: 7,875,438 msg/sec AtomicQueueB, 6,s: 7,187,069 msg/sec AtomicQueueB, 6,i: 7,518,465 msg/sec AtomicQueueB, 7,s: 6,907,083 msg/sec AtomicQueueB, 7,i: 7,751,046 msg/sec AtomicQueueB, 8,s: 6,240,013 msg/sec AtomicQueueB, 8,i: 7,174,801 msg/sec OptimistAtomicQueue, 1,s: 713,455,176 msg/sec OptimistAtomicQueue, 1,i: 741,220,063 msg/sec OptimistAtomicQueue, 2,s: 32,170,083 msg/sec OptimistAtomicQueue, 2,i: 32,052,213 msg/sec OptimistAtomicQueue, 3,s: 36,600,947 msg/sec OptimistAtomicQueue, 3,i: 37,338,373 msg/sec OptimistAtomicQueue, 4,s: 39,279,381 msg/sec OptimistAtomicQueue, 4,i: 39,395,183 msg/sec OptimistAtomicQueue, 5,s: 41,764,435 msg/sec OptimistAtomicQueue, 5,i: 46,353,557 msg/sec OptimistAtomicQueue, 6,s: 42,720,946 msg/sec OptimistAtomicQueue, 6,i: 49,838,613 msg/sec OptimistAtomicQueue, 7,s: 44,056,394 msg/sec OptimistAtomicQueue, 7,i: 52,981,429 msg/sec OptimistAtomicQueue, 8,s: 46,371,967 msg/sec OptimistAtomicQueue, 8,i: 50,602,252 msg/sec OptimistAtomicQueueB, 1,s: 81,370,119 msg/sec OptimistAtomicQueueB, 1,i: 76,600,720 msg/sec OptimistAtomicQueueB, 2,s: 32,289,256 msg/sec OptimistAtomicQueueB, 2,i: 32,096,639 msg/sec OptimistAtomicQueueB, 3,s: 36,290,878 msg/sec OptimistAtomicQueueB, 3,i: 36,877,333 msg/sec OptimistAtomicQueueB, 4,s: 38,661,877 msg/sec OptimistAtomicQueueB, 4,i: 38,624,243 msg/sec OptimistAtomicQueueB, 5,s: 40,411,926 msg/sec OptimistAtomicQueueB, 5,i: 45,976,006 msg/sec OptimistAtomicQueueB, 6,s: 41,087,572 msg/sec OptimistAtomicQueueB, 6,i: 49,012,776 msg/sec OptimistAtomicQueueB, 7,s: 42,201,588 msg/sec OptimistAtomicQueueB, 7,i: 47,662,713 msg/sec OptimistAtomicQueueB, 8,s: 44,388,239 msg/sec OptimistAtomicQueueB, 8,i: 48,207,556 msg/sec AtomicQueue2, 1,s: 22,907,504 msg/sec AtomicQueue2, 1,i: 22,809,872 msg/sec AtomicQueue2, 2,s: 11,715,725 msg/sec AtomicQueue2, 2,i: 11,376,998 msg/sec AtomicQueue2, 3,s: 9,340,546 msg/sec AtomicQueue2, 3,i: 9,436,913 msg/sec AtomicQueue2, 4,s: 7,992,169 msg/sec AtomicQueue2, 4,i: 8,017,346 msg/sec AtomicQueue2, 5,s: 7,941,821 msg/sec AtomicQueue2, 5,i: 8,027,618 msg/sec AtomicQueue2, 6,s: 7,846,455 msg/sec AtomicQueue2, 6,i: 7,531,838 msg/sec AtomicQueue2, 7,s: 7,150,655 msg/sec AtomicQueue2, 7,i: 7,887,797 msg/sec AtomicQueue2, 8,s: 6,362,390 msg/sec AtomicQueue2, 8,i: 7,401,182 msg/sec AtomicQueueB2, 1,s: 36,320,797 msg/sec AtomicQueueB2, 1,i: 36,128,225 msg/sec AtomicQueueB2, 2,s: 11,489,967 msg/sec AtomicQueueB2, 2,i: 11,117,263 msg/sec AtomicQueueB2, 3,s: 9,507,311 msg/sec AtomicQueueB2, 3,i: 9,532,412 msg/sec AtomicQueueB2, 4,s: 7,943,431 msg/sec AtomicQueueB2, 4,i: 7,836,829 msg/sec AtomicQueueB2, 5,s: 7,564,510 msg/sec AtomicQueueB2, 5,i: 7,776,106 msg/sec AtomicQueueB2, 6,s: 7,244,505 msg/sec AtomicQueueB2, 6,i: 7,417,729 msg/sec AtomicQueueB2, 7,s: 6,872,567 msg/sec AtomicQueueB2, 7,i: 7,682,453 msg/sec AtomicQueueB2, 8,s: 6,289,635 msg/sec AtomicQueueB2, 8,i: 6,960,782 msg/sec OptimistAtomicQueue2, 1,s: 581,680,693 msg/sec OptimistAtomicQueue2, 1,i: 31,931,444 msg/sec OptimistAtomicQueue2, 2,s: 26,149,049 msg/sec OptimistAtomicQueue2, 2,i: 24,007,749 msg/sec OptimistAtomicQueue2, 3,s: 29,839,103 msg/sec OptimistAtomicQueue2, 3,i: 29,976,863 msg/sec OptimistAtomicQueue2, 4,s: 33,212,017 msg/sec OptimistAtomicQueue2, 4,i: 33,161,559 msg/sec OptimistAtomicQueue2, 5,s: 36,934,707 msg/sec OptimistAtomicQueue2, 5,i: 43,338,973 msg/sec OptimistAtomicQueue2, 6,s: 40,047,870 msg/sec OptimistAtomicQueue2, 6,i: 49,185,098 msg/sec OptimistAtomicQueue2, 7,s: 43,173,993 msg/sec OptimistAtomicQueue2, 7,i: 51,577,589 msg/sec OptimistAtomicQueue2, 8,s: 43,896,414 msg/sec OptimistAtomicQueue2, 8,i: 49,052,068 msg/sec OptimistAtomicQueueB2, 1,s: 77,004,055 msg/sec OptimistAtomicQueueB2, 1,i: 33,869,714 msg/sec OptimistAtomicQueueB2, 2,s: 26,202,683 msg/sec OptimistAtomicQueueB2, 2,i: 25,287,191 msg/sec OptimistAtomicQueueB2, 3,s: 29,704,721 msg/sec OptimistAtomicQueueB2, 3,i: 32,383,378 msg/sec OptimistAtomicQueueB2, 4,s: 33,366,840 msg/sec OptimistAtomicQueueB2, 4,i: 32,192,613 msg/sec OptimistAtomicQueueB2, 5,s: 34,447,140 msg/sec OptimistAtomicQueueB2, 5,i: 39,442,099 msg/sec OptimistAtomicQueueB2, 6,s: 37,580,552 msg/sec OptimistAtomicQueueB2, 6,i: 42,233,732 msg/sec OptimistAtomicQueueB2, 7,s: 40,405,041 msg/sec OptimistAtomicQueueB2, 7,i: 43,115,003 msg/sec OptimistAtomicQueueB2, 8,s: 42,301,594 msg/sec OptimistAtomicQueueB2, 8,i: 45,322,474 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000157 sec/round-trip moodycamel::ConcurrentQueue: 0.000000242 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000380 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [24] 449m:43s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 72,125,853 msg/sec boost::lockfree::spsc_queue, 1,i: 71,864,930 msg/sec boost::lockfree::queue, 1,s: 7,718,220 msg/sec boost::lockfree::queue, 1,i: 6,817,247 msg/sec boost::lockfree::queue, 2,s: 7,679,207 msg/sec boost::lockfree::queue, 2,i: 7,476,162 msg/sec boost::lockfree::queue, 3,s: 7,322,049 msg/sec boost::lockfree::queue, 3,i: 7,515,902 msg/sec boost::lockfree::queue, 4,s: 6,425,190 msg/sec boost::lockfree::queue, 4,i: 6,914,232 msg/sec boost::lockfree::queue, 5,s: 6,416,367 msg/sec boost::lockfree::queue, 5,i: 6,484,270 msg/sec boost::lockfree::queue, 6,s: 6,026,549 msg/sec boost::lockfree::queue, 6,i: 6,134,010 msg/sec boost::lockfree::queue, 7,s: 6,044,118 msg/sec boost::lockfree::queue, 7,i: 6,050,063 msg/sec boost::lockfree::queue, 8,s: 5,537,841 msg/sec boost::lockfree::queue, 8,i: 5,645,735 msg/sec moodycamel::ReaderWriterQueue, 1,s: 74,216,509 msg/sec moodycamel::ReaderWriterQueue, 1,i: 69,698,875 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,332,174 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,813,016 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,519,091 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,337,151 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,782,829 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,619,123 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,365,791 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,117,168 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,389,625 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,355,960 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,221,076 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,911,009 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,823,135 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,853,694 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,288,240 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,737,293 msg/sec pthread_spinlock, 1,s: 29,034,527 msg/sec pthread_spinlock, 1,i: 26,944,483 msg/sec pthread_spinlock, 2,s: 15,443,228 msg/sec pthread_spinlock, 2,i: 17,036,731 msg/sec pthread_spinlock, 3,s: 8,311,838 msg/sec pthread_spinlock, 3,i: 12,010,858 msg/sec pthread_spinlock, 4,s: 6,513,431 msg/sec pthread_spinlock, 4,i: 9,279,864 msg/sec pthread_spinlock, 5,s: 8,577,571 msg/sec pthread_spinlock, 5,i: 9,351,929 msg/sec pthread_spinlock, 6,s: 8,347,209 msg/sec pthread_spinlock, 6,i: 9,221,820 msg/sec pthread_spinlock, 7,s: 7,586,962 msg/sec pthread_spinlock, 7,i: 7,632,528 msg/sec pthread_spinlock, 8,s: 6,914,145 msg/sec pthread_spinlock, 8,i: 6,876,049 msg/sec std::mutex, 1,s: 7,093,402 msg/sec std::mutex, 1,i: 7,121,878 msg/sec std::mutex, 2,s: 6,098,830 msg/sec std::mutex, 2,i: 6,025,515 msg/sec std::mutex, 3,s: 6,115,962 msg/sec std::mutex, 3,i: 6,170,023 msg/sec std::mutex, 4,s: 6,282,701 msg/sec std::mutex, 4,i: 6,310,298 msg/sec std::mutex, 5,s: 6,069,412 msg/sec std::mutex, 5,i: 6,175,402 msg/sec std::mutex, 6,s: 6,055,281 msg/sec std::mutex, 6,i: 6,027,979 msg/sec std::mutex, 7,s: 5,907,232 msg/sec std::mutex, 7,i: 5,930,192 msg/sec std::mutex, 8,s: 5,737,409 msg/sec std::mutex, 8,i: 5,782,696 msg/sec tbb::spin_mutex, 1,s: 37,714,147 msg/sec tbb::spin_mutex, 1,i: 32,954,008 msg/sec tbb::spin_mutex, 2,s: 21,290,483 msg/sec tbb::spin_mutex, 2,i: 19,784,935 msg/sec tbb::spin_mutex, 3,s: 7,978,869 msg/sec tbb::spin_mutex, 3,i: 10,484,015 msg/sec tbb::spin_mutex, 4,s: 3,282,419 msg/sec tbb::spin_mutex, 4,i: 6,318,277 msg/sec tbb::spin_mutex, 5,s: 5,226,566 msg/sec tbb::spin_mutex, 5,i: 5,736,983 msg/sec tbb::spin_mutex, 6,s: 5,376,305 msg/sec tbb::spin_mutex, 6,i: 4,319,972 msg/sec tbb::spin_mutex, 7,s: 4,883,252 msg/sec tbb::spin_mutex, 7,i: 4,352,059 msg/sec tbb::spin_mutex, 8,s: 3,879,614 msg/sec tbb::spin_mutex, 8,i: 4,090,768 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,212,134 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,184,197 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,839,364 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,998,894 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,201,338 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,323,000 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,135,594 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,229,847 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,591,131 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,350,441 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,621,176 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,755,205 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,716,808 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,110,706 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,746,522 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,934,113 msg/sec xenium::michael_scott_queue, 1,s: 9,487,124 msg/sec xenium::michael_scott_queue, 1,i: 9,529,093 msg/sec xenium::michael_scott_queue, 2,s: 8,462,329 msg/sec xenium::michael_scott_queue, 2,i: 8,514,563 msg/sec xenium::michael_scott_queue, 3,s: 7,220,449 msg/sec xenium::michael_scott_queue, 3,i: 7,553,071 msg/sec xenium::michael_scott_queue, 4,s: 6,354,185 msg/sec xenium::michael_scott_queue, 4,i: 6,318,782 msg/sec xenium::michael_scott_queue, 5,s: 6,296,505 msg/sec xenium::michael_scott_queue, 5,i: 6,682,630 msg/sec xenium::michael_scott_queue, 6,s: 6,478,393 msg/sec xenium::michael_scott_queue, 6,i: 7,003,768 msg/sec xenium::michael_scott_queue, 7,s: 6,310,706 msg/sec xenium::michael_scott_queue, 7,i: 6,488,046 msg/sec xenium::michael_scott_queue, 8,s: 6,021,082 msg/sec xenium::michael_scott_queue, 8,i: 6,171,442 msg/sec xenium::ramalhete_queue, 1,s: 32,448,312 msg/sec xenium::ramalhete_queue, 1,i: 32,385,897 msg/sec xenium::ramalhete_queue, 2,s: 24,423,430 msg/sec xenium::ramalhete_queue, 2,i: 23,311,367 msg/sec xenium::ramalhete_queue, 3,s: 29,211,097 msg/sec xenium::ramalhete_queue, 3,i: 28,569,414 msg/sec xenium::ramalhete_queue, 4,s: 33,808,448 msg/sec xenium::ramalhete_queue, 4,i: 33,500,762 msg/sec xenium::ramalhete_queue, 5,s: 31,893,706 msg/sec xenium::ramalhete_queue, 5,i: 38,378,935 msg/sec xenium::ramalhete_queue, 6,s: 34,124,090 msg/sec xenium::ramalhete_queue, 6,i: 38,785,993 msg/sec xenium::ramalhete_queue, 7,s: 35,186,599 msg/sec xenium::ramalhete_queue, 7,i: 41,506,697 msg/sec xenium::ramalhete_queue, 8,s: 35,568,931 msg/sec xenium::ramalhete_queue, 8,i: 43,732,071 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,609,614 msg/sec xenium::vyukov_bounded_queue, 1,i: 115,327,334 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,708,835 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,707,683 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,643,590 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,034,034 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,295,809 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,475,342 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,913,857 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,330,142 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,993,409 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,248,824 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,244,583 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,314,578 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,426,291 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,320,321 msg/sec AtomicQueue, 1,s: 272,418,177 msg/sec AtomicQueue, 1,i: 56,810,178 msg/sec AtomicQueue, 2,s: 12,243,953 msg/sec AtomicQueue, 2,i: 11,706,719 msg/sec AtomicQueue, 3,s: 10,781,956 msg/sec AtomicQueue, 3,i: 10,013,327 msg/sec AtomicQueue, 4,s: 8,172,261 msg/sec AtomicQueue, 4,i: 8,234,891 msg/sec AtomicQueue, 5,s: 8,021,799 msg/sec AtomicQueue, 5,i: 8,045,410 msg/sec AtomicQueue, 6,s: 7,662,349 msg/sec AtomicQueue, 6,i: 7,614,023 msg/sec AtomicQueue, 7,s: 7,061,321 msg/sec AtomicQueue, 7,i: 7,978,556 msg/sec AtomicQueue, 8,s: 6,344,995 msg/sec AtomicQueue, 8,i: 7,380,250 msg/sec AtomicQueueB, 1,s: 64,692,904 msg/sec AtomicQueueB, 1,i: 43,739,238 msg/sec AtomicQueueB, 2,s: 11,866,989 msg/sec AtomicQueueB, 2,i: 11,469,922 msg/sec AtomicQueueB, 3,s: 11,040,828 msg/sec AtomicQueueB, 3,i: 10,224,313 msg/sec AtomicQueueB, 4,s: 8,094,882 msg/sec AtomicQueueB, 4,i: 8,096,237 msg/sec AtomicQueueB, 5,s: 7,600,024 msg/sec AtomicQueueB, 5,i: 7,824,409 msg/sec AtomicQueueB, 6,s: 7,331,187 msg/sec AtomicQueueB, 6,i: 7,545,725 msg/sec AtomicQueueB, 7,s: 6,841,382 msg/sec AtomicQueueB, 7,i: 7,747,277 msg/sec AtomicQueueB, 8,s: 6,274,752 msg/sec AtomicQueueB, 8,i: 7,156,211 msg/sec OptimistAtomicQueue, 1,s: 764,402,099 msg/sec OptimistAtomicQueue, 1,i: 552,055,447 msg/sec OptimistAtomicQueue, 2,s: 32,211,312 msg/sec OptimistAtomicQueue, 2,i: 32,692,947 msg/sec OptimistAtomicQueue, 3,s: 36,676,960 msg/sec OptimistAtomicQueue, 3,i: 37,426,973 msg/sec OptimistAtomicQueue, 4,s: 39,309,883 msg/sec OptimistAtomicQueue, 4,i: 39,414,273 msg/sec OptimistAtomicQueue, 5,s: 41,709,779 msg/sec OptimistAtomicQueue, 5,i: 46,341,301 msg/sec OptimistAtomicQueue, 6,s: 42,671,930 msg/sec OptimistAtomicQueue, 6,i: 49,824,457 msg/sec OptimistAtomicQueue, 7,s: 44,069,510 msg/sec OptimistAtomicQueue, 7,i: 52,129,547 msg/sec OptimistAtomicQueue, 8,s: 46,468,342 msg/sec OptimistAtomicQueue, 8,i: 49,536,187 msg/sec OptimistAtomicQueueB, 1,s: 112,742,329 msg/sec OptimistAtomicQueueB, 1,i: 77,051,769 msg/sec OptimistAtomicQueueB, 2,s: 32,234,700 msg/sec OptimistAtomicQueueB, 2,i: 32,250,744 msg/sec OptimistAtomicQueueB, 3,s: 36,288,639 msg/sec OptimistAtomicQueueB, 3,i: 36,948,801 msg/sec OptimistAtomicQueueB, 4,s: 38,768,286 msg/sec OptimistAtomicQueueB, 4,i: 38,719,339 msg/sec OptimistAtomicQueueB, 5,s: 40,414,790 msg/sec OptimistAtomicQueueB, 5,i: 45,184,840 msg/sec OptimistAtomicQueueB, 6,s: 40,727,668 msg/sec OptimistAtomicQueueB, 6,i: 49,101,726 msg/sec OptimistAtomicQueueB, 7,s: 41,942,716 msg/sec OptimistAtomicQueueB, 7,i: 51,412,231 msg/sec OptimistAtomicQueueB, 8,s: 44,361,414 msg/sec OptimistAtomicQueueB, 8,i: 48,154,372 msg/sec AtomicQueue2, 1,s: 23,383,402 msg/sec AtomicQueue2, 1,i: 23,304,456 msg/sec AtomicQueue2, 2,s: 11,978,923 msg/sec AtomicQueue2, 2,i: 11,420,401 msg/sec AtomicQueue2, 3,s: 9,412,929 msg/sec AtomicQueue2, 3,i: 9,361,401 msg/sec AtomicQueue2, 4,s: 7,995,952 msg/sec AtomicQueue2, 4,i: 8,037,632 msg/sec AtomicQueue2, 5,s: 7,935,365 msg/sec AtomicQueue2, 5,i: 8,012,186 msg/sec AtomicQueue2, 6,s: 7,749,277 msg/sec AtomicQueue2, 6,i: 7,553,861 msg/sec AtomicQueue2, 7,s: 7,072,562 msg/sec AtomicQueue2, 7,i: 7,864,820 msg/sec AtomicQueue2, 8,s: 6,388,901 msg/sec AtomicQueue2, 8,i: 7,350,578 msg/sec AtomicQueueB2, 1,s: 39,022,697 msg/sec AtomicQueueB2, 1,i: 38,832,774 msg/sec AtomicQueueB2, 2,s: 11,298,537 msg/sec AtomicQueueB2, 2,i: 11,135,680 msg/sec AtomicQueueB2, 3,s: 9,662,103 msg/sec AtomicQueueB2, 3,i: 9,508,769 msg/sec AtomicQueueB2, 4,s: 8,015,453 msg/sec AtomicQueueB2, 4,i: 7,839,658 msg/sec AtomicQueueB2, 5,s: 7,517,393 msg/sec AtomicQueueB2, 5,i: 7,775,367 msg/sec AtomicQueueB2, 6,s: 7,193,285 msg/sec AtomicQueueB2, 6,i: 7,462,728 msg/sec AtomicQueueB2, 7,s: 6,889,365 msg/sec AtomicQueueB2, 7,i: 7,714,798 msg/sec AtomicQueueB2, 8,s: 6,203,358 msg/sec AtomicQueueB2, 8,i: 7,165,840 msg/sec OptimistAtomicQueue2, 1,s: 552,045,618 msg/sec OptimistAtomicQueue2, 1,i: 32,623,110 msg/sec OptimistAtomicQueue2, 2,s: 24,265,242 msg/sec OptimistAtomicQueue2, 2,i: 24,023,152 msg/sec OptimistAtomicQueue2, 3,s: 30,435,297 msg/sec OptimistAtomicQueue2, 3,i: 29,934,043 msg/sec OptimistAtomicQueue2, 4,s: 33,136,232 msg/sec OptimistAtomicQueue2, 4,i: 33,393,339 msg/sec OptimistAtomicQueue2, 5,s: 37,336,431 msg/sec OptimistAtomicQueue2, 5,i: 40,775,331 msg/sec OptimistAtomicQueue2, 6,s: 40,163,565 msg/sec OptimistAtomicQueue2, 6,i: 49,212,806 msg/sec OptimistAtomicQueue2, 7,s: 42,754,809 msg/sec OptimistAtomicQueue2, 7,i: 51,418,190 msg/sec OptimistAtomicQueue2, 8,s: 44,015,049 msg/sec OptimistAtomicQueue2, 8,i: 48,989,805 msg/sec OptimistAtomicQueueB2, 1,s: 76,358,958 msg/sec OptimistAtomicQueueB2, 1,i: 33,883,108 msg/sec OptimistAtomicQueueB2, 2,s: 27,679,693 msg/sec OptimistAtomicQueueB2, 2,i: 23,146,760 msg/sec OptimistAtomicQueueB2, 3,s: 29,777,321 msg/sec OptimistAtomicQueueB2, 3,i: 32,062,979 msg/sec OptimistAtomicQueueB2, 4,s: 33,276,886 msg/sec OptimistAtomicQueueB2, 4,i: 32,096,269 msg/sec OptimistAtomicQueueB2, 5,s: 34,589,549 msg/sec OptimistAtomicQueueB2, 5,i: 39,245,815 msg/sec OptimistAtomicQueueB2, 6,s: 37,715,035 msg/sec OptimistAtomicQueueB2, 6,i: 42,274,733 msg/sec OptimistAtomicQueueB2, 7,s: 40,177,596 msg/sec OptimistAtomicQueueB2, 7,i: 43,127,403 msg/sec OptimistAtomicQueueB2, 8,s: 42,144,612 msg/sec OptimistAtomicQueueB2, 8,i: 45,143,264 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000156 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000362 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000173 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [25] 448m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,687,146 msg/sec boost::lockfree::spsc_queue, 1,i: 71,258,610 msg/sec boost::lockfree::queue, 1,s: 6,876,330 msg/sec boost::lockfree::queue, 1,i: 6,897,119 msg/sec boost::lockfree::queue, 2,s: 7,682,128 msg/sec boost::lockfree::queue, 2,i: 7,469,980 msg/sec boost::lockfree::queue, 3,s: 7,381,851 msg/sec boost::lockfree::queue, 3,i: 7,570,070 msg/sec boost::lockfree::queue, 4,s: 6,418,312 msg/sec boost::lockfree::queue, 4,i: 6,857,319 msg/sec boost::lockfree::queue, 5,s: 6,452,325 msg/sec boost::lockfree::queue, 5,i: 6,733,518 msg/sec boost::lockfree::queue, 6,s: 6,010,467 msg/sec boost::lockfree::queue, 6,i: 6,120,962 msg/sec boost::lockfree::queue, 7,s: 5,989,978 msg/sec boost::lockfree::queue, 7,i: 5,983,859 msg/sec boost::lockfree::queue, 8,s: 5,430,643 msg/sec boost::lockfree::queue, 8,i: 5,584,824 msg/sec moodycamel::ReaderWriterQueue, 1,s: 485,336,586 msg/sec moodycamel::ReaderWriterQueue, 1,i: 410,187,709 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,443,751 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,511,969 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,447,802 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,621,024 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,493,086 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,578,470 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,758,672 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,174,305 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,259,973 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,500,173 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,373,386 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,312,766 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,247,110 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,892,487 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,200,782 msg/sec moodycamel::ConcurrentQueue, 8,i: 40,635,663 msg/sec pthread_spinlock, 1,s: 29,158,978 msg/sec pthread_spinlock, 1,i: 29,165,746 msg/sec pthread_spinlock, 2,s: 15,659,820 msg/sec pthread_spinlock, 2,i: 17,077,301 msg/sec pthread_spinlock, 3,s: 8,344,985 msg/sec pthread_spinlock, 3,i: 12,097,285 msg/sec pthread_spinlock, 4,s: 6,458,734 msg/sec pthread_spinlock, 4,i: 8,962,816 msg/sec pthread_spinlock, 5,s: 8,775,376 msg/sec pthread_spinlock, 5,i: 9,312,229 msg/sec pthread_spinlock, 6,s: 8,379,841 msg/sec pthread_spinlock, 6,i: 8,427,388 msg/sec pthread_spinlock, 7,s: 7,490,105 msg/sec pthread_spinlock, 7,i: 7,977,700 msg/sec pthread_spinlock, 8,s: 6,703,655 msg/sec pthread_spinlock, 8,i: 6,984,785 msg/sec std::mutex, 1,s: 6,921,747 msg/sec std::mutex, 1,i: 6,920,397 msg/sec std::mutex, 2,s: 5,468,893 msg/sec std::mutex, 2,i: 5,920,569 msg/sec std::mutex, 3,s: 5,961,093 msg/sec std::mutex, 3,i: 5,951,515 msg/sec std::mutex, 4,s: 6,231,468 msg/sec std::mutex, 4,i: 6,330,107 msg/sec std::mutex, 5,s: 6,092,542 msg/sec std::mutex, 5,i: 5,669,416 msg/sec std::mutex, 6,s: 5,945,412 msg/sec std::mutex, 6,i: 5,901,529 msg/sec std::mutex, 7,s: 5,874,293 msg/sec std::mutex, 7,i: 5,838,022 msg/sec std::mutex, 8,s: 5,765,631 msg/sec std::mutex, 8,i: 5,760,421 msg/sec tbb::spin_mutex, 1,s: 37,751,940 msg/sec tbb::spin_mutex, 1,i: 37,657,776 msg/sec tbb::spin_mutex, 2,s: 21,068,346 msg/sec tbb::spin_mutex, 2,i: 18,364,318 msg/sec tbb::spin_mutex, 3,s: 7,387,979 msg/sec tbb::spin_mutex, 3,i: 10,234,703 msg/sec tbb::spin_mutex, 4,s: 3,354,505 msg/sec tbb::spin_mutex, 4,i: 6,382,450 msg/sec tbb::spin_mutex, 5,s: 5,458,810 msg/sec tbb::spin_mutex, 5,i: 5,545,488 msg/sec tbb::spin_mutex, 6,s: 5,342,464 msg/sec tbb::spin_mutex, 6,i: 4,382,106 msg/sec tbb::spin_mutex, 7,s: 4,837,052 msg/sec tbb::spin_mutex, 7,i: 4,369,045 msg/sec tbb::spin_mutex, 8,s: 4,271,076 msg/sec tbb::spin_mutex, 8,i: 4,100,979 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,579,386 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,913,432 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,709,018 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,884,146 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,991,619 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,692,152 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,310,660 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,290,739 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,547,512 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,217,187 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,787,180 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,439,848 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,976,437 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,670,166 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,043,304 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,718,645 msg/sec xenium::michael_scott_queue, 1,s: 10,120,294 msg/sec xenium::michael_scott_queue, 1,i: 9,767,931 msg/sec xenium::michael_scott_queue, 2,s: 8,535,556 msg/sec xenium::michael_scott_queue, 2,i: 8,556,103 msg/sec xenium::michael_scott_queue, 3,s: 7,153,057 msg/sec xenium::michael_scott_queue, 3,i: 7,553,252 msg/sec xenium::michael_scott_queue, 4,s: 6,343,301 msg/sec xenium::michael_scott_queue, 4,i: 6,352,764 msg/sec xenium::michael_scott_queue, 5,s: 6,328,614 msg/sec xenium::michael_scott_queue, 5,i: 6,671,391 msg/sec xenium::michael_scott_queue, 6,s: 6,546,063 msg/sec xenium::michael_scott_queue, 6,i: 6,797,017 msg/sec xenium::michael_scott_queue, 7,s: 6,302,126 msg/sec xenium::michael_scott_queue, 7,i: 6,509,094 msg/sec xenium::michael_scott_queue, 8,s: 6,001,368 msg/sec xenium::michael_scott_queue, 8,i: 6,257,151 msg/sec xenium::ramalhete_queue, 1,s: 32,183,096 msg/sec xenium::ramalhete_queue, 1,i: 31,954,105 msg/sec xenium::ramalhete_queue, 2,s: 23,764,011 msg/sec xenium::ramalhete_queue, 2,i: 23,449,779 msg/sec xenium::ramalhete_queue, 3,s: 29,212,744 msg/sec xenium::ramalhete_queue, 3,i: 28,545,121 msg/sec xenium::ramalhete_queue, 4,s: 33,866,188 msg/sec xenium::ramalhete_queue, 4,i: 33,512,600 msg/sec xenium::ramalhete_queue, 5,s: 32,204,274 msg/sec xenium::ramalhete_queue, 5,i: 36,099,028 msg/sec xenium::ramalhete_queue, 6,s: 34,232,013 msg/sec xenium::ramalhete_queue, 6,i: 38,778,197 msg/sec xenium::ramalhete_queue, 7,s: 35,315,875 msg/sec xenium::ramalhete_queue, 7,i: 41,494,846 msg/sec xenium::ramalhete_queue, 8,s: 35,597,442 msg/sec xenium::ramalhete_queue, 8,i: 43,657,959 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,135,896 msg/sec xenium::vyukov_bounded_queue, 1,i: 86,954,542 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,719,278 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,509,490 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,624,502 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,800,774 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,636,058 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,232,020 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,286,912 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,299,827 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,318,273 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,185,493 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,247,797 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,277,479 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,398,113 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,519,042 msg/sec AtomicQueue, 1,s: 160,980,752 msg/sec AtomicQueue, 1,i: 138,596,022 msg/sec AtomicQueue, 2,s: 12,253,092 msg/sec AtomicQueue, 2,i: 11,736,694 msg/sec AtomicQueue, 3,s: 10,816,472 msg/sec AtomicQueue, 3,i: 9,902,263 msg/sec AtomicQueue, 4,s: 8,141,772 msg/sec AtomicQueue, 4,i: 8,207,989 msg/sec AtomicQueue, 5,s: 8,013,240 msg/sec AtomicQueue, 5,i: 8,082,752 msg/sec AtomicQueue, 6,s: 7,810,332 msg/sec AtomicQueue, 6,i: 7,609,040 msg/sec AtomicQueue, 7,s: 7,144,164 msg/sec AtomicQueue, 7,i: 8,004,257 msg/sec AtomicQueue, 8,s: 6,315,877 msg/sec AtomicQueue, 8,i: 7,352,646 msg/sec AtomicQueueB, 1,s: 43,828,740 msg/sec AtomicQueueB, 1,i: 42,974,185 msg/sec AtomicQueueB, 2,s: 11,777,107 msg/sec AtomicQueueB, 2,i: 11,477,924 msg/sec AtomicQueueB, 3,s: 11,075,156 msg/sec AtomicQueueB, 3,i: 10,191,368 msg/sec AtomicQueueB, 4,s: 8,048,645 msg/sec AtomicQueueB, 4,i: 8,080,599 msg/sec AtomicQueueB, 5,s: 7,518,233 msg/sec AtomicQueueB, 5,i: 7,783,827 msg/sec AtomicQueueB, 6,s: 7,436,026 msg/sec AtomicQueueB, 6,i: 7,547,272 msg/sec AtomicQueueB, 7,s: 6,915,386 msg/sec AtomicQueueB, 7,i: 7,776,272 msg/sec AtomicQueueB, 8,s: 6,209,152 msg/sec AtomicQueueB, 8,i: 7,011,492 msg/sec OptimistAtomicQueue, 1,s: 774,748,168 msg/sec OptimistAtomicQueue, 1,i: 522,255,323 msg/sec OptimistAtomicQueue, 2,s: 31,943,824 msg/sec OptimistAtomicQueue, 2,i: 32,035,718 msg/sec OptimistAtomicQueue, 3,s: 36,669,788 msg/sec OptimistAtomicQueue, 3,i: 37,419,115 msg/sec OptimistAtomicQueue, 4,s: 39,305,984 msg/sec OptimistAtomicQueue, 4,i: 39,390,884 msg/sec OptimistAtomicQueue, 5,s: 41,724,133 msg/sec OptimistAtomicQueue, 5,i: 46,369,243 msg/sec OptimistAtomicQueue, 6,s: 42,416,305 msg/sec OptimistAtomicQueue, 6,i: 50,328,373 msg/sec OptimistAtomicQueue, 7,s: 44,271,562 msg/sec OptimistAtomicQueue, 7,i: 49,093,048 msg/sec OptimistAtomicQueue, 8,s: 46,370,479 msg/sec OptimistAtomicQueue, 8,i: 49,020,480 msg/sec OptimistAtomicQueueB, 1,s: 99,554,761 msg/sec OptimistAtomicQueueB, 1,i: 77,441,224 msg/sec OptimistAtomicQueueB, 2,s: 32,333,016 msg/sec OptimistAtomicQueueB, 2,i: 32,402,466 msg/sec OptimistAtomicQueueB, 3,s: 36,225,825 msg/sec OptimistAtomicQueueB, 3,i: 36,836,515 msg/sec OptimistAtomicQueueB, 4,s: 38,700,490 msg/sec OptimistAtomicQueueB, 4,i: 38,558,566 msg/sec OptimistAtomicQueueB, 5,s: 40,333,879 msg/sec OptimistAtomicQueueB, 5,i: 46,095,386 msg/sec OptimistAtomicQueueB, 6,s: 40,593,508 msg/sec OptimistAtomicQueueB, 6,i: 49,211,339 msg/sec OptimistAtomicQueueB, 7,s: 42,410,507 msg/sec OptimistAtomicQueueB, 7,i: 48,272,001 msg/sec OptimistAtomicQueueB, 8,s: 44,492,150 msg/sec OptimistAtomicQueueB, 8,i: 48,405,233 msg/sec AtomicQueue2, 1,s: 22,927,801 msg/sec AtomicQueue2, 1,i: 22,950,769 msg/sec AtomicQueue2, 2,s: 11,874,707 msg/sec AtomicQueue2, 2,i: 11,430,301 msg/sec AtomicQueue2, 3,s: 9,392,568 msg/sec AtomicQueue2, 3,i: 9,507,974 msg/sec AtomicQueue2, 4,s: 7,985,493 msg/sec AtomicQueue2, 4,i: 8,031,894 msg/sec AtomicQueue2, 5,s: 7,935,137 msg/sec AtomicQueue2, 5,i: 8,032,313 msg/sec AtomicQueue2, 6,s: 7,758,013 msg/sec AtomicQueue2, 6,i: 7,547,496 msg/sec AtomicQueue2, 7,s: 7,125,041 msg/sec AtomicQueue2, 7,i: 7,876,263 msg/sec AtomicQueue2, 8,s: 6,385,520 msg/sec AtomicQueue2, 8,i: 7,371,475 msg/sec AtomicQueueB2, 1,s: 35,927,993 msg/sec AtomicQueueB2, 1,i: 32,602,592 msg/sec AtomicQueueB2, 2,s: 11,407,260 msg/sec AtomicQueueB2, 2,i: 11,087,984 msg/sec AtomicQueueB2, 3,s: 9,668,166 msg/sec AtomicQueueB2, 3,i: 9,537,524 msg/sec AtomicQueueB2, 4,s: 7,994,502 msg/sec AtomicQueueB2, 4,i: 7,781,591 msg/sec AtomicQueueB2, 5,s: 7,459,312 msg/sec AtomicQueueB2, 5,i: 7,712,215 msg/sec AtomicQueueB2, 6,s: 7,185,344 msg/sec AtomicQueueB2, 6,i: 7,451,436 msg/sec AtomicQueueB2, 7,s: 6,826,923 msg/sec AtomicQueueB2, 7,i: 7,709,757 msg/sec AtomicQueueB2, 8,s: 6,336,111 msg/sec AtomicQueueB2, 8,i: 7,115,565 msg/sec OptimistAtomicQueue2, 1,s: 406,653,419 msg/sec OptimistAtomicQueue2, 1,i: 29,554,481 msg/sec OptimistAtomicQueue2, 2,s: 24,276,768 msg/sec OptimistAtomicQueue2, 2,i: 24,023,570 msg/sec OptimistAtomicQueue2, 3,s: 30,461,815 msg/sec OptimistAtomicQueue2, 3,i: 30,226,234 msg/sec OptimistAtomicQueue2, 4,s: 33,130,202 msg/sec OptimistAtomicQueue2, 4,i: 33,065,387 msg/sec OptimistAtomicQueue2, 5,s: 37,000,931 msg/sec OptimistAtomicQueue2, 5,i: 40,218,601 msg/sec OptimistAtomicQueue2, 6,s: 40,119,250 msg/sec OptimistAtomicQueue2, 6,i: 49,153,445 msg/sec OptimistAtomicQueue2, 7,s: 42,698,278 msg/sec OptimistAtomicQueue2, 7,i: 48,006,645 msg/sec OptimistAtomicQueue2, 8,s: 44,068,580 msg/sec OptimistAtomicQueue2, 8,i: 48,531,571 msg/sec OptimistAtomicQueueB2, 1,s: 75,744,506 msg/sec OptimistAtomicQueueB2, 1,i: 34,120,643 msg/sec OptimistAtomicQueueB2, 2,s: 26,146,676 msg/sec OptimistAtomicQueueB2, 2,i: 23,096,969 msg/sec OptimistAtomicQueueB2, 3,s: 29,740,144 msg/sec OptimistAtomicQueueB2, 3,i: 30,068,788 msg/sec OptimistAtomicQueueB2, 4,s: 33,165,034 msg/sec OptimistAtomicQueueB2, 4,i: 32,689,136 msg/sec OptimistAtomicQueueB2, 5,s: 34,652,831 msg/sec OptimistAtomicQueueB2, 5,i: 39,892,349 msg/sec OptimistAtomicQueueB2, 6,s: 37,440,575 msg/sec OptimistAtomicQueueB2, 6,i: 42,357,694 msg/sec OptimistAtomicQueueB2, 7,s: 40,181,636 msg/sec OptimistAtomicQueueB2, 7,i: 45,454,721 msg/sec OptimistAtomicQueueB2, 8,s: 41,864,344 msg/sec OptimistAtomicQueueB2, 8,i: 46,379,188 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000244 sec/round-trip pthread_spinlock: 0.000000263 sec/round-trip std::mutex: 0.000000518 sec/round-trip tbb::spin_mutex: 0.000000307 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [26] 447m:5s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,321,099 msg/sec boost::lockfree::spsc_queue, 1,i: 69,892,182 msg/sec boost::lockfree::queue, 1,s: 6,898,949 msg/sec boost::lockfree::queue, 1,i: 6,848,940 msg/sec boost::lockfree::queue, 2,s: 7,676,207 msg/sec boost::lockfree::queue, 2,i: 7,460,975 msg/sec boost::lockfree::queue, 3,s: 7,404,054 msg/sec boost::lockfree::queue, 3,i: 7,582,230 msg/sec boost::lockfree::queue, 4,s: 6,428,375 msg/sec boost::lockfree::queue, 4,i: 6,818,443 msg/sec boost::lockfree::queue, 5,s: 6,467,556 msg/sec boost::lockfree::queue, 5,i: 6,461,973 msg/sec boost::lockfree::queue, 6,s: 5,977,823 msg/sec boost::lockfree::queue, 6,i: 6,102,436 msg/sec boost::lockfree::queue, 7,s: 5,921,293 msg/sec boost::lockfree::queue, 7,i: 5,953,936 msg/sec boost::lockfree::queue, 8,s: 5,441,565 msg/sec boost::lockfree::queue, 8,i: 5,669,333 msg/sec moodycamel::ReaderWriterQueue, 1,s: 50,410,185 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,010,732 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,666,268 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,764,582 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,255,242 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,960,047 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,036,389 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,094,986 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,019,131 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,869,978 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,222,695 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,571,832 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,695,503 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,254,301 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,127,261 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,740,721 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,386,712 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,898,743 msg/sec pthread_spinlock, 1,s: 28,939,178 msg/sec pthread_spinlock, 1,i: 25,304,393 msg/sec pthread_spinlock, 2,s: 15,203,979 msg/sec pthread_spinlock, 2,i: 16,662,881 msg/sec pthread_spinlock, 3,s: 8,357,954 msg/sec pthread_spinlock, 3,i: 11,966,620 msg/sec pthread_spinlock, 4,s: 6,477,984 msg/sec pthread_spinlock, 4,i: 9,129,508 msg/sec pthread_spinlock, 5,s: 8,650,712 msg/sec pthread_spinlock, 5,i: 9,326,670 msg/sec pthread_spinlock, 6,s: 8,546,612 msg/sec pthread_spinlock, 6,i: 8,408,769 msg/sec pthread_spinlock, 7,s: 7,571,270 msg/sec pthread_spinlock, 7,i: 7,641,367 msg/sec pthread_spinlock, 8,s: 6,607,436 msg/sec pthread_spinlock, 8,i: 6,871,743 msg/sec std::mutex, 1,s: 5,804,595 msg/sec std::mutex, 1,i: 5,825,565 msg/sec std::mutex, 2,s: 4,978,941 msg/sec std::mutex, 2,i: 6,318,468 msg/sec std::mutex, 3,s: 6,030,410 msg/sec std::mutex, 3,i: 5,733,933 msg/sec std::mutex, 4,s: 5,193,585 msg/sec std::mutex, 4,i: 6,025,914 msg/sec std::mutex, 5,s: 5,587,085 msg/sec std::mutex, 5,i: 6,167,273 msg/sec std::mutex, 6,s: 5,580,892 msg/sec std::mutex, 6,i: 6,032,227 msg/sec std::mutex, 7,s: 5,858,430 msg/sec std::mutex, 7,i: 5,947,022 msg/sec std::mutex, 8,s: 5,743,421 msg/sec std::mutex, 8,i: 5,746,579 msg/sec tbb::spin_mutex, 1,s: 37,864,720 msg/sec tbb::spin_mutex, 1,i: 33,013,893 msg/sec tbb::spin_mutex, 2,s: 21,115,821 msg/sec tbb::spin_mutex, 2,i: 18,417,234 msg/sec tbb::spin_mutex, 3,s: 7,348,682 msg/sec tbb::spin_mutex, 3,i: 10,191,440 msg/sec tbb::spin_mutex, 4,s: 3,164,857 msg/sec tbb::spin_mutex, 4,i: 6,335,828 msg/sec tbb::spin_mutex, 5,s: 5,547,157 msg/sec tbb::spin_mutex, 5,i: 5,445,897 msg/sec tbb::spin_mutex, 6,s: 5,280,257 msg/sec tbb::spin_mutex, 6,i: 4,354,299 msg/sec tbb::spin_mutex, 7,s: 4,486,115 msg/sec tbb::spin_mutex, 7,i: 4,356,248 msg/sec tbb::spin_mutex, 8,s: 4,253,499 msg/sec tbb::spin_mutex, 8,i: 4,066,511 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,070,084 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,128,908 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,708,113 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,671,772 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,603,530 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,490,762 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,382,776 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,233,571 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,684,418 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,728,537 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,716,847 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,010,701 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,825,992 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,959,070 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,887,192 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,118,396 msg/sec xenium::michael_scott_queue, 1,s: 9,195,184 msg/sec xenium::michael_scott_queue, 1,i: 9,024,161 msg/sec xenium::michael_scott_queue, 2,s: 8,495,236 msg/sec xenium::michael_scott_queue, 2,i: 8,472,491 msg/sec xenium::michael_scott_queue, 3,s: 7,254,165 msg/sec xenium::michael_scott_queue, 3,i: 7,594,615 msg/sec xenium::michael_scott_queue, 4,s: 6,310,208 msg/sec xenium::michael_scott_queue, 4,i: 6,370,304 msg/sec xenium::michael_scott_queue, 5,s: 6,291,543 msg/sec xenium::michael_scott_queue, 5,i: 6,648,858 msg/sec xenium::michael_scott_queue, 6,s: 6,438,033 msg/sec xenium::michael_scott_queue, 6,i: 6,705,844 msg/sec xenium::michael_scott_queue, 7,s: 6,299,478 msg/sec xenium::michael_scott_queue, 7,i: 6,520,045 msg/sec xenium::michael_scott_queue, 8,s: 5,992,508 msg/sec xenium::michael_scott_queue, 8,i: 6,183,078 msg/sec xenium::ramalhete_queue, 1,s: 32,315,852 msg/sec xenium::ramalhete_queue, 1,i: 32,701,865 msg/sec xenium::ramalhete_queue, 2,s: 23,727,283 msg/sec xenium::ramalhete_queue, 2,i: 23,388,054 msg/sec xenium::ramalhete_queue, 3,s: 29,366,096 msg/sec xenium::ramalhete_queue, 3,i: 28,471,405 msg/sec xenium::ramalhete_queue, 4,s: 33,766,735 msg/sec xenium::ramalhete_queue, 4,i: 33,420,882 msg/sec xenium::ramalhete_queue, 5,s: 32,160,093 msg/sec xenium::ramalhete_queue, 5,i: 38,440,002 msg/sec xenium::ramalhete_queue, 6,s: 33,974,702 msg/sec xenium::ramalhete_queue, 6,i: 39,177,859 msg/sec xenium::ramalhete_queue, 7,s: 35,230,065 msg/sec xenium::ramalhete_queue, 7,i: 41,073,068 msg/sec xenium::ramalhete_queue, 8,s: 35,514,629 msg/sec xenium::ramalhete_queue, 8,i: 43,953,383 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,645,147 msg/sec xenium::vyukov_bounded_queue, 1,i: 77,023,650 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,046,186 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,164,041 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,771,538 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,525,369 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,675,664 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,155,528 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,964,731 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,369,627 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,046,700 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,284,268 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,256,953 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,023,217 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,392,479 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,356,877 msg/sec AtomicQueue, 1,s: 59,249,186 msg/sec AtomicQueue, 1,i: 57,377,802 msg/sec AtomicQueue, 2,s: 12,238,230 msg/sec AtomicQueue, 2,i: 11,724,384 msg/sec AtomicQueue, 3,s: 10,731,678 msg/sec AtomicQueue, 3,i: 9,936,293 msg/sec AtomicQueue, 4,s: 8,159,802 msg/sec AtomicQueue, 4,i: 8,194,523 msg/sec AtomicQueue, 5,s: 8,033,085 msg/sec AtomicQueue, 5,i: 8,145,303 msg/sec AtomicQueue, 6,s: 7,822,368 msg/sec AtomicQueue, 6,i: 7,622,627 msg/sec AtomicQueue, 7,s: 7,085,831 msg/sec AtomicQueue, 7,i: 7,977,342 msg/sec AtomicQueue, 8,s: 6,330,295 msg/sec AtomicQueue, 8,i: 7,302,583 msg/sec AtomicQueueB, 1,s: 43,912,712 msg/sec AtomicQueueB, 1,i: 46,460,932 msg/sec AtomicQueueB, 2,s: 11,642,129 msg/sec AtomicQueueB, 2,i: 11,462,854 msg/sec AtomicQueueB, 3,s: 11,017,087 msg/sec AtomicQueueB, 3,i: 10,166,779 msg/sec AtomicQueueB, 4,s: 8,045,859 msg/sec AtomicQueueB, 4,i: 7,937,286 msg/sec AtomicQueueB, 5,s: 7,671,482 msg/sec AtomicQueueB, 5,i: 7,761,477 msg/sec AtomicQueueB, 6,s: 7,337,864 msg/sec AtomicQueueB, 6,i: 7,509,719 msg/sec AtomicQueueB, 7,s: 6,887,863 msg/sec AtomicQueueB, 7,i: 7,685,325 msg/sec AtomicQueueB, 8,s: 6,213,122 msg/sec AtomicQueueB, 8,i: 7,190,055 msg/sec OptimistAtomicQueue, 1,s: 791,707,967 msg/sec OptimistAtomicQueue, 1,i: 654,492,345 msg/sec OptimistAtomicQueue, 2,s: 32,659,871 msg/sec OptimistAtomicQueue, 2,i: 32,683,149 msg/sec OptimistAtomicQueue, 3,s: 36,658,538 msg/sec OptimistAtomicQueue, 3,i: 37,336,194 msg/sec OptimistAtomicQueue, 4,s: 39,267,211 msg/sec OptimistAtomicQueue, 4,i: 39,380,232 msg/sec OptimistAtomicQueue, 5,s: 42,486,646 msg/sec OptimistAtomicQueue, 5,i: 46,122,475 msg/sec OptimistAtomicQueue, 6,s: 42,083,342 msg/sec OptimistAtomicQueue, 6,i: 49,772,413 msg/sec OptimistAtomicQueue, 7,s: 45,268,710 msg/sec OptimistAtomicQueue, 7,i: 53,058,251 msg/sec OptimistAtomicQueue, 8,s: 46,306,262 msg/sec OptimistAtomicQueue, 8,i: 48,624,208 msg/sec OptimistAtomicQueueB, 1,s: 233,603,528 msg/sec OptimistAtomicQueueB, 1,i: 81,727,558 msg/sec OptimistAtomicQueueB, 2,s: 32,292,414 msg/sec OptimistAtomicQueueB, 2,i: 32,387,212 msg/sec OptimistAtomicQueueB, 3,s: 36,335,956 msg/sec OptimistAtomicQueueB, 3,i: 36,971,426 msg/sec OptimistAtomicQueueB, 4,s: 38,770,422 msg/sec OptimistAtomicQueueB, 4,i: 38,644,516 msg/sec OptimistAtomicQueueB, 5,s: 41,170,697 msg/sec OptimistAtomicQueueB, 5,i: 46,077,804 msg/sec OptimistAtomicQueueB, 6,s: 41,273,850 msg/sec OptimistAtomicQueueB, 6,i: 48,511,807 msg/sec OptimistAtomicQueueB, 7,s: 42,183,197 msg/sec OptimistAtomicQueueB, 7,i: 51,526,750 msg/sec OptimistAtomicQueueB, 8,s: 44,436,522 msg/sec OptimistAtomicQueueB, 8,i: 47,899,003 msg/sec AtomicQueue2, 1,s: 22,838,300 msg/sec AtomicQueue2, 1,i: 22,875,463 msg/sec AtomicQueue2, 2,s: 11,755,687 msg/sec AtomicQueue2, 2,i: 11,369,529 msg/sec AtomicQueue2, 3,s: 9,735,026 msg/sec AtomicQueue2, 3,i: 9,421,335 msg/sec AtomicQueue2, 4,s: 8,067,080 msg/sec AtomicQueue2, 4,i: 8,046,789 msg/sec AtomicQueue2, 5,s: 7,929,518 msg/sec AtomicQueue2, 5,i: 8,062,553 msg/sec AtomicQueue2, 6,s: 7,744,702 msg/sec AtomicQueue2, 6,i: 7,528,054 msg/sec AtomicQueue2, 7,s: 7,146,848 msg/sec AtomicQueue2, 7,i: 7,882,910 msg/sec AtomicQueue2, 8,s: 6,399,045 msg/sec AtomicQueue2, 8,i: 7,231,307 msg/sec AtomicQueueB2, 1,s: 36,179,475 msg/sec AtomicQueueB2, 1,i: 32,628,196 msg/sec AtomicQueueB2, 2,s: 11,433,062 msg/sec AtomicQueueB2, 2,i: 11,093,042 msg/sec AtomicQueueB2, 3,s: 9,587,526 msg/sec AtomicQueueB2, 3,i: 9,529,163 msg/sec AtomicQueueB2, 4,s: 7,961,028 msg/sec AtomicQueueB2, 4,i: 7,847,479 msg/sec AtomicQueueB2, 5,s: 7,485,935 msg/sec AtomicQueueB2, 5,i: 7,695,660 msg/sec AtomicQueueB2, 6,s: 7,381,387 msg/sec AtomicQueueB2, 6,i: 7,438,347 msg/sec AtomicQueueB2, 7,s: 6,945,863 msg/sec AtomicQueueB2, 7,i: 7,692,657 msg/sec AtomicQueueB2, 8,s: 6,250,526 msg/sec AtomicQueueB2, 8,i: 6,947,030 msg/sec OptimistAtomicQueue2, 1,s: 39,095,984 msg/sec OptimistAtomicQueue2, 1,i: 32,284,409 msg/sec OptimistAtomicQueue2, 2,s: 25,857,666 msg/sec OptimistAtomicQueue2, 2,i: 24,422,358 msg/sec OptimistAtomicQueue2, 3,s: 29,828,735 msg/sec OptimistAtomicQueue2, 3,i: 29,574,050 msg/sec OptimistAtomicQueue2, 4,s: 33,159,156 msg/sec OptimistAtomicQueue2, 4,i: 33,303,517 msg/sec OptimistAtomicQueue2, 5,s: 37,166,917 msg/sec OptimistAtomicQueue2, 5,i: 40,056,962 msg/sec OptimistAtomicQueue2, 6,s: 40,041,011 msg/sec OptimistAtomicQueue2, 6,i: 49,158,453 msg/sec OptimistAtomicQueue2, 7,s: 43,301,193 msg/sec OptimistAtomicQueue2, 7,i: 48,222,683 msg/sec OptimistAtomicQueue2, 8,s: 44,180,100 msg/sec OptimistAtomicQueue2, 8,i: 49,848,021 msg/sec OptimistAtomicQueueB2, 1,s: 76,611,867 msg/sec OptimistAtomicQueueB2, 1,i: 33,941,987 msg/sec OptimistAtomicQueueB2, 2,s: 27,214,730 msg/sec OptimistAtomicQueueB2, 2,i: 23,182,812 msg/sec OptimistAtomicQueueB2, 3,s: 29,736,865 msg/sec OptimistAtomicQueueB2, 3,i: 29,127,524 msg/sec OptimistAtomicQueueB2, 4,s: 33,261,070 msg/sec OptimistAtomicQueueB2, 4,i: 32,990,774 msg/sec OptimistAtomicQueueB2, 5,s: 34,612,564 msg/sec OptimistAtomicQueueB2, 5,i: 39,453,358 msg/sec OptimistAtomicQueueB2, 6,s: 36,920,187 msg/sec OptimistAtomicQueueB2, 6,i: 41,382,918 msg/sec OptimistAtomicQueueB2, 7,s: 40,155,063 msg/sec OptimistAtomicQueueB2, 7,i: 43,134,571 msg/sec OptimistAtomicQueueB2, 8,s: 41,889,960 msg/sec OptimistAtomicQueueB2, 8,i: 45,327,605 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000287 sec/round-trip std::mutex: 0.000000511 sec/round-trip tbb::spin_mutex: 0.000000306 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000384 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [27] 445m:45s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,235,775 msg/sec boost::lockfree::spsc_queue, 1,i: 71,064,287 msg/sec boost::lockfree::queue, 1,s: 7,970,921 msg/sec boost::lockfree::queue, 1,i: 8,002,767 msg/sec boost::lockfree::queue, 2,s: 7,522,675 msg/sec boost::lockfree::queue, 2,i: 7,585,121 msg/sec boost::lockfree::queue, 3,s: 7,366,048 msg/sec boost::lockfree::queue, 3,i: 7,560,606 msg/sec boost::lockfree::queue, 4,s: 6,417,689 msg/sec boost::lockfree::queue, 4,i: 6,871,359 msg/sec boost::lockfree::queue, 5,s: 6,384,372 msg/sec boost::lockfree::queue, 5,i: 6,470,586 msg/sec boost::lockfree::queue, 6,s: 5,968,171 msg/sec boost::lockfree::queue, 6,i: 6,096,199 msg/sec boost::lockfree::queue, 7,s: 6,014,711 msg/sec boost::lockfree::queue, 7,i: 5,841,030 msg/sec boost::lockfree::queue, 8,s: 5,472,239 msg/sec boost::lockfree::queue, 8,i: 5,545,869 msg/sec moodycamel::ReaderWriterQueue, 1,s: 462,750,387 msg/sec moodycamel::ReaderWriterQueue, 1,i: 455,206,175 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,332,055 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,410,601 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,772,396 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,704,189 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,452,836 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,841,054 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,740,962 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,820,482 msg/sec moodycamel::ConcurrentQueue, 5,s: 43,716,588 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,653,751 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,703,550 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,385,096 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,164,748 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,520,709 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,373,866 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,758,894 msg/sec pthread_spinlock, 1,s: 29,175,534 msg/sec pthread_spinlock, 1,i: 25,471,492 msg/sec pthread_spinlock, 2,s: 15,863,895 msg/sec pthread_spinlock, 2,i: 17,118,287 msg/sec pthread_spinlock, 3,s: 8,552,299 msg/sec pthread_spinlock, 3,i: 12,067,182 msg/sec pthread_spinlock, 4,s: 6,499,447 msg/sec pthread_spinlock, 4,i: 8,854,222 msg/sec pthread_spinlock, 5,s: 8,578,359 msg/sec pthread_spinlock, 5,i: 9,360,621 msg/sec pthread_spinlock, 6,s: 8,290,774 msg/sec pthread_spinlock, 6,i: 8,970,788 msg/sec pthread_spinlock, 7,s: 7,491,490 msg/sec pthread_spinlock, 7,i: 7,716,013 msg/sec pthread_spinlock, 8,s: 6,875,578 msg/sec pthread_spinlock, 8,i: 6,814,495 msg/sec std::mutex, 1,s: 5,875,904 msg/sec std::mutex, 1,i: 6,009,920 msg/sec std::mutex, 2,s: 5,089,248 msg/sec std::mutex, 2,i: 6,018,309 msg/sec std::mutex, 3,s: 5,636,029 msg/sec std::mutex, 3,i: 6,099,841 msg/sec std::mutex, 4,s: 6,268,333 msg/sec std::mutex, 4,i: 6,289,208 msg/sec std::mutex, 5,s: 5,874,661 msg/sec std::mutex, 5,i: 5,582,424 msg/sec std::mutex, 6,s: 6,045,059 msg/sec std::mutex, 6,i: 5,925,151 msg/sec std::mutex, 7,s: 5,850,754 msg/sec std::mutex, 7,i: 5,829,780 msg/sec std::mutex, 8,s: 5,777,553 msg/sec std::mutex, 8,i: 5,731,637 msg/sec tbb::spin_mutex, 1,s: 37,858,757 msg/sec tbb::spin_mutex, 1,i: 37,905,047 msg/sec tbb::spin_mutex, 2,s: 21,207,630 msg/sec tbb::spin_mutex, 2,i: 20,708,104 msg/sec tbb::spin_mutex, 3,s: 7,847,859 msg/sec tbb::spin_mutex, 3,i: 10,529,349 msg/sec tbb::spin_mutex, 4,s: 3,313,670 msg/sec tbb::spin_mutex, 4,i: 6,341,390 msg/sec tbb::spin_mutex, 5,s: 5,616,420 msg/sec tbb::spin_mutex, 5,i: 5,627,111 msg/sec tbb::spin_mutex, 6,s: 5,242,690 msg/sec tbb::spin_mutex, 6,i: 4,329,738 msg/sec tbb::spin_mutex, 7,s: 4,704,677 msg/sec tbb::spin_mutex, 7,i: 4,280,455 msg/sec tbb::spin_mutex, 8,s: 4,242,780 msg/sec tbb::spin_mutex, 8,i: 4,169,699 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,162,402 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,626,766 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,748,614 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,181,465 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,493,008 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,854,524 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,080,243 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,395,404 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,739,142 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,774,335 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,876,556 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,945,804 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,780,884 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,137,459 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,660,342 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,317,138 msg/sec xenium::michael_scott_queue, 1,s: 9,300,673 msg/sec xenium::michael_scott_queue, 1,i: 9,252,861 msg/sec xenium::michael_scott_queue, 2,s: 8,364,370 msg/sec xenium::michael_scott_queue, 2,i: 8,494,157 msg/sec xenium::michael_scott_queue, 3,s: 7,296,339 msg/sec xenium::michael_scott_queue, 3,i: 7,659,983 msg/sec xenium::michael_scott_queue, 4,s: 6,252,660 msg/sec xenium::michael_scott_queue, 4,i: 6,421,169 msg/sec xenium::michael_scott_queue, 5,s: 6,306,605 msg/sec xenium::michael_scott_queue, 5,i: 6,647,883 msg/sec xenium::michael_scott_queue, 6,s: 6,450,301 msg/sec xenium::michael_scott_queue, 6,i: 6,950,398 msg/sec xenium::michael_scott_queue, 7,s: 6,298,262 msg/sec xenium::michael_scott_queue, 7,i: 6,512,817 msg/sec xenium::michael_scott_queue, 8,s: 6,001,428 msg/sec xenium::michael_scott_queue, 8,i: 6,139,739 msg/sec xenium::ramalhete_queue, 1,s: 27,864,040 msg/sec xenium::ramalhete_queue, 1,i: 32,434,824 msg/sec xenium::ramalhete_queue, 2,s: 23,462,137 msg/sec xenium::ramalhete_queue, 2,i: 23,305,300 msg/sec xenium::ramalhete_queue, 3,s: 29,267,767 msg/sec xenium::ramalhete_queue, 3,i: 28,482,508 msg/sec xenium::ramalhete_queue, 4,s: 33,860,365 msg/sec xenium::ramalhete_queue, 4,i: 33,455,929 msg/sec xenium::ramalhete_queue, 5,s: 32,083,066 msg/sec xenium::ramalhete_queue, 5,i: 36,090,271 msg/sec xenium::ramalhete_queue, 6,s: 34,074,063 msg/sec xenium::ramalhete_queue, 6,i: 38,605,892 msg/sec xenium::ramalhete_queue, 7,s: 34,926,710 msg/sec xenium::ramalhete_queue, 7,i: 41,042,148 msg/sec xenium::ramalhete_queue, 8,s: 35,377,007 msg/sec xenium::ramalhete_queue, 8,i: 43,721,684 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,116,774 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,281,796 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,619,971 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,021,341 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,629,867 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,745,437 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,683,964 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,160,935 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,239,807 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,282,678 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,866,905 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,432,951 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,301,171 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,348,264 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,381,634 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,347,401 msg/sec AtomicQueue, 1,s: 58,829,693 msg/sec AtomicQueue, 1,i: 56,622,603 msg/sec AtomicQueue, 2,s: 12,281,553 msg/sec AtomicQueue, 2,i: 11,727,656 msg/sec AtomicQueue, 3,s: 10,793,594 msg/sec AtomicQueue, 3,i: 9,814,349 msg/sec AtomicQueue, 4,s: 8,209,925 msg/sec AtomicQueue, 4,i: 8,188,520 msg/sec AtomicQueue, 5,s: 7,983,436 msg/sec AtomicQueue, 5,i: 8,011,966 msg/sec AtomicQueue, 6,s: 7,796,594 msg/sec AtomicQueue, 6,i: 7,600,857 msg/sec AtomicQueue, 7,s: 7,047,218 msg/sec AtomicQueue, 7,i: 7,968,258 msg/sec AtomicQueue, 8,s: 6,342,391 msg/sec AtomicQueue, 8,i: 7,434,551 msg/sec AtomicQueueB, 1,s: 60,107,825 msg/sec AtomicQueueB, 1,i: 43,016,849 msg/sec AtomicQueueB, 2,s: 11,819,152 msg/sec AtomicQueueB, 2,i: 11,462,123 msg/sec AtomicQueueB, 3,s: 10,994,359 msg/sec AtomicQueueB, 3,i: 10,068,572 msg/sec AtomicQueueB, 4,s: 8,000,402 msg/sec AtomicQueueB, 4,i: 8,073,562 msg/sec AtomicQueueB, 5,s: 7,645,533 msg/sec AtomicQueueB, 5,i: 7,778,497 msg/sec AtomicQueueB, 6,s: 7,209,773 msg/sec AtomicQueueB, 6,i: 7,536,439 msg/sec AtomicQueueB, 7,s: 6,893,400 msg/sec AtomicQueueB, 7,i: 7,706,025 msg/sec AtomicQueueB, 8,s: 6,205,607 msg/sec AtomicQueueB, 8,i: 7,168,113 msg/sec OptimistAtomicQueue, 1,s: 721,603,937 msg/sec OptimistAtomicQueue, 1,i: 520,302,123 msg/sec OptimistAtomicQueue, 2,s: 32,130,048 msg/sec OptimistAtomicQueue, 2,i: 32,242,549 msg/sec OptimistAtomicQueue, 3,s: 36,657,881 msg/sec OptimistAtomicQueue, 3,i: 37,270,145 msg/sec OptimistAtomicQueue, 4,s: 39,277,909 msg/sec OptimistAtomicQueue, 4,i: 39,388,139 msg/sec OptimistAtomicQueue, 5,s: 42,632,328 msg/sec OptimistAtomicQueue, 5,i: 48,441,383 msg/sec OptimistAtomicQueue, 6,s: 42,503,620 msg/sec OptimistAtomicQueue, 6,i: 50,417,354 msg/sec OptimistAtomicQueue, 7,s: 44,405,939 msg/sec OptimistAtomicQueue, 7,i: 51,986,568 msg/sec OptimistAtomicQueue, 8,s: 46,352,736 msg/sec OptimistAtomicQueue, 8,i: 49,059,028 msg/sec OptimistAtomicQueueB, 1,s: 78,016,861 msg/sec OptimistAtomicQueueB, 1,i: 76,498,732 msg/sec OptimistAtomicQueueB, 2,s: 32,282,037 msg/sec OptimistAtomicQueueB, 2,i: 32,249,163 msg/sec OptimistAtomicQueueB, 3,s: 36,273,521 msg/sec OptimistAtomicQueueB, 3,i: 36,953,507 msg/sec OptimistAtomicQueueB, 4,s: 38,691,792 msg/sec OptimistAtomicQueueB, 4,i: 38,705,835 msg/sec OptimistAtomicQueueB, 5,s: 40,631,762 msg/sec OptimistAtomicQueueB, 5,i: 45,447,118 msg/sec OptimistAtomicQueueB, 6,s: 40,740,636 msg/sec OptimistAtomicQueueB, 6,i: 48,901,854 msg/sec OptimistAtomicQueueB, 7,s: 41,742,106 msg/sec OptimistAtomicQueueB, 7,i: 47,513,268 msg/sec OptimistAtomicQueueB, 8,s: 44,589,536 msg/sec OptimistAtomicQueueB, 8,i: 47,730,533 msg/sec AtomicQueue2, 1,s: 23,334,323 msg/sec AtomicQueue2, 1,i: 23,296,579 msg/sec AtomicQueue2, 2,s: 11,828,740 msg/sec AtomicQueue2, 2,i: 11,600,101 msg/sec AtomicQueue2, 3,s: 9,410,751 msg/sec AtomicQueue2, 3,i: 9,345,117 msg/sec AtomicQueue2, 4,s: 8,105,605 msg/sec AtomicQueue2, 4,i: 8,101,614 msg/sec AtomicQueue2, 5,s: 7,904,037 msg/sec AtomicQueue2, 5,i: 8,053,934 msg/sec AtomicQueue2, 6,s: 7,906,752 msg/sec AtomicQueue2, 6,i: 7,535,345 msg/sec AtomicQueue2, 7,s: 7,113,292 msg/sec AtomicQueue2, 7,i: 7,904,180 msg/sec AtomicQueue2, 8,s: 6,371,728 msg/sec AtomicQueue2, 8,i: 7,347,927 msg/sec AtomicQueueB2, 1,s: 35,790,106 msg/sec AtomicQueueB2, 1,i: 32,631,356 msg/sec AtomicQueueB2, 2,s: 11,475,003 msg/sec AtomicQueueB2, 2,i: 11,045,823 msg/sec AtomicQueueB2, 3,s: 9,628,996 msg/sec AtomicQueueB2, 3,i: 9,542,271 msg/sec AtomicQueueB2, 4,s: 7,942,640 msg/sec AtomicQueueB2, 4,i: 7,876,675 msg/sec AtomicQueueB2, 5,s: 7,547,215 msg/sec AtomicQueueB2, 5,i: 7,762,492 msg/sec AtomicQueueB2, 6,s: 7,343,958 msg/sec AtomicQueueB2, 6,i: 7,460,106 msg/sec AtomicQueueB2, 7,s: 6,819,105 msg/sec AtomicQueueB2, 7,i: 7,734,298 msg/sec AtomicQueueB2, 8,s: 6,266,596 msg/sec AtomicQueueB2, 8,i: 6,947,208 msg/sec OptimistAtomicQueue2, 1,s: 589,632,202 msg/sec OptimistAtomicQueue2, 1,i: 29,610,477 msg/sec OptimistAtomicQueue2, 2,s: 22,762,611 msg/sec OptimistAtomicQueue2, 2,i: 23,738,497 msg/sec OptimistAtomicQueue2, 3,s: 29,848,007 msg/sec OptimistAtomicQueue2, 3,i: 29,987,630 msg/sec OptimistAtomicQueue2, 4,s: 33,219,791 msg/sec OptimistAtomicQueue2, 4,i: 33,196,012 msg/sec OptimistAtomicQueue2, 5,s: 37,181,204 msg/sec OptimistAtomicQueue2, 5,i: 41,010,814 msg/sec OptimistAtomicQueue2, 6,s: 40,151,541 msg/sec OptimistAtomicQueue2, 6,i: 49,151,105 msg/sec OptimistAtomicQueue2, 7,s: 42,702,072 msg/sec OptimistAtomicQueue2, 7,i: 51,378,124 msg/sec OptimistAtomicQueue2, 8,s: 43,957,274 msg/sec OptimistAtomicQueue2, 8,i: 48,544,545 msg/sec OptimistAtomicQueueB2, 1,s: 78,235,518 msg/sec OptimistAtomicQueueB2, 1,i: 36,917,967 msg/sec OptimistAtomicQueueB2, 2,s: 26,940,965 msg/sec OptimistAtomicQueueB2, 2,i: 23,169,597 msg/sec OptimistAtomicQueueB2, 3,s: 29,824,641 msg/sec OptimistAtomicQueueB2, 3,i: 29,101,362 msg/sec OptimistAtomicQueueB2, 4,s: 32,908,863 msg/sec OptimistAtomicQueueB2, 4,i: 32,024,312 msg/sec OptimistAtomicQueueB2, 5,s: 34,636,596 msg/sec OptimistAtomicQueueB2, 5,i: 38,910,770 msg/sec OptimistAtomicQueueB2, 6,s: 37,306,317 msg/sec OptimistAtomicQueueB2, 6,i: 42,317,692 msg/sec OptimistAtomicQueueB2, 7,s: 40,891,239 msg/sec OptimistAtomicQueueB2, 7,i: 45,419,553 msg/sec OptimistAtomicQueueB2, 8,s: 42,500,718 msg/sec OptimistAtomicQueueB2, 8,i: 45,285,011 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000112 sec/round-trip moodycamel::ConcurrentQueue: 0.000000243 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000453 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [28] 444m:26s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,131,789 msg/sec boost::lockfree::spsc_queue, 1,i: 70,099,596 msg/sec boost::lockfree::queue, 1,s: 7,960,648 msg/sec boost::lockfree::queue, 1,i: 7,990,278 msg/sec boost::lockfree::queue, 2,s: 7,608,238 msg/sec boost::lockfree::queue, 2,i: 7,565,740 msg/sec boost::lockfree::queue, 3,s: 7,360,650 msg/sec boost::lockfree::queue, 3,i: 7,558,907 msg/sec boost::lockfree::queue, 4,s: 6,421,426 msg/sec boost::lockfree::queue, 4,i: 6,824,868 msg/sec boost::lockfree::queue, 5,s: 6,401,301 msg/sec boost::lockfree::queue, 5,i: 6,476,963 msg/sec boost::lockfree::queue, 6,s: 6,019,899 msg/sec boost::lockfree::queue, 6,i: 6,090,599 msg/sec boost::lockfree::queue, 7,s: 5,903,778 msg/sec boost::lockfree::queue, 7,i: 5,961,128 msg/sec boost::lockfree::queue, 8,s: 5,423,202 msg/sec boost::lockfree::queue, 8,i: 5,507,953 msg/sec moodycamel::ReaderWriterQueue, 1,s: 422,282,406 msg/sec moodycamel::ReaderWriterQueue, 1,i: 126,502,233 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,783,842 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,268,187 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,987,608 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,711,021 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,339,067 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,777,183 msg/sec moodycamel::ConcurrentQueue, 4,s: 29,828,884 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,227,617 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,318,790 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,025,536 msg/sec moodycamel::ConcurrentQueue, 6,s: 45,764,216 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,669,190 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,065,075 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,385,614 msg/sec moodycamel::ConcurrentQueue, 8,s: 52,062,791 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,972,171 msg/sec pthread_spinlock, 1,s: 28,626,584 msg/sec pthread_spinlock, 1,i: 25,284,670 msg/sec pthread_spinlock, 2,s: 16,349,690 msg/sec pthread_spinlock, 2,i: 17,083,192 msg/sec pthread_spinlock, 3,s: 8,316,789 msg/sec pthread_spinlock, 3,i: 11,985,088 msg/sec pthread_spinlock, 4,s: 6,490,048 msg/sec pthread_spinlock, 4,i: 8,689,506 msg/sec pthread_spinlock, 5,s: 8,674,418 msg/sec pthread_spinlock, 5,i: 9,331,058 msg/sec pthread_spinlock, 6,s: 8,320,183 msg/sec pthread_spinlock, 6,i: 8,422,413 msg/sec pthread_spinlock, 7,s: 7,564,085 msg/sec pthread_spinlock, 7,i: 7,623,851 msg/sec pthread_spinlock, 8,s: 6,654,946 msg/sec pthread_spinlock, 8,i: 6,955,651 msg/sec std::mutex, 1,s: 5,979,352 msg/sec std::mutex, 1,i: 5,747,886 msg/sec std::mutex, 2,s: 6,253,565 msg/sec std::mutex, 2,i: 6,022,729 msg/sec std::mutex, 3,s: 5,471,216 msg/sec std::mutex, 3,i: 4,916,256 msg/sec std::mutex, 4,s: 6,161,685 msg/sec std::mutex, 4,i: 6,416,138 msg/sec std::mutex, 5,s: 5,968,914 msg/sec std::mutex, 5,i: 6,211,671 msg/sec std::mutex, 6,s: 5,923,694 msg/sec std::mutex, 6,i: 5,901,049 msg/sec std::mutex, 7,s: 5,781,353 msg/sec std::mutex, 7,i: 5,788,225 msg/sec std::mutex, 8,s: 5,723,702 msg/sec std::mutex, 8,i: 5,711,870 msg/sec tbb::spin_mutex, 1,s: 38,036,425 msg/sec tbb::spin_mutex, 1,i: 33,004,406 msg/sec tbb::spin_mutex, 2,s: 20,980,868 msg/sec tbb::spin_mutex, 2,i: 18,288,346 msg/sec tbb::spin_mutex, 3,s: 7,954,511 msg/sec tbb::spin_mutex, 3,i: 10,276,368 msg/sec tbb::spin_mutex, 4,s: 3,118,364 msg/sec tbb::spin_mutex, 4,i: 6,338,138 msg/sec tbb::spin_mutex, 5,s: 5,485,197 msg/sec tbb::spin_mutex, 5,i: 5,627,081 msg/sec tbb::spin_mutex, 6,s: 5,305,490 msg/sec tbb::spin_mutex, 6,i: 4,399,438 msg/sec tbb::spin_mutex, 7,s: 4,869,273 msg/sec tbb::spin_mutex, 7,i: 4,337,522 msg/sec tbb::spin_mutex, 8,s: 4,219,027 msg/sec tbb::spin_mutex, 8,i: 4,071,823 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,245,186 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,204,833 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,938,515 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,961,065 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,322,000 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,575,248 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,171,537 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,541,389 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,531,519 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,642,228 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,760,086 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,617,396 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,789,105 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,810,080 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,099,099 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,073,171 msg/sec xenium::michael_scott_queue, 1,s: 9,368,367 msg/sec xenium::michael_scott_queue, 1,i: 9,265,041 msg/sec xenium::michael_scott_queue, 2,s: 8,482,256 msg/sec xenium::michael_scott_queue, 2,i: 8,514,664 msg/sec xenium::michael_scott_queue, 3,s: 7,273,348 msg/sec xenium::michael_scott_queue, 3,i: 7,568,917 msg/sec xenium::michael_scott_queue, 4,s: 6,292,502 msg/sec xenium::michael_scott_queue, 4,i: 6,335,307 msg/sec xenium::michael_scott_queue, 5,s: 6,320,080 msg/sec xenium::michael_scott_queue, 5,i: 6,687,310 msg/sec xenium::michael_scott_queue, 6,s: 6,513,308 msg/sec xenium::michael_scott_queue, 6,i: 6,954,930 msg/sec xenium::michael_scott_queue, 7,s: 6,303,299 msg/sec xenium::michael_scott_queue, 7,i: 6,481,981 msg/sec xenium::michael_scott_queue, 8,s: 6,022,002 msg/sec xenium::michael_scott_queue, 8,i: 6,166,724 msg/sec xenium::ramalhete_queue, 1,s: 32,182,370 msg/sec xenium::ramalhete_queue, 1,i: 32,168,993 msg/sec xenium::ramalhete_queue, 2,s: 24,388,511 msg/sec xenium::ramalhete_queue, 2,i: 23,358,275 msg/sec xenium::ramalhete_queue, 3,s: 29,152,033 msg/sec xenium::ramalhete_queue, 3,i: 28,452,898 msg/sec xenium::ramalhete_queue, 4,s: 33,971,604 msg/sec xenium::ramalhete_queue, 4,i: 33,520,655 msg/sec xenium::ramalhete_queue, 5,s: 32,014,266 msg/sec xenium::ramalhete_queue, 5,i: 36,047,373 msg/sec xenium::ramalhete_queue, 6,s: 34,009,565 msg/sec xenium::ramalhete_queue, 6,i: 39,301,179 msg/sec xenium::ramalhete_queue, 7,s: 35,126,744 msg/sec xenium::ramalhete_queue, 7,i: 40,953,590 msg/sec xenium::ramalhete_queue, 8,s: 35,626,584 msg/sec xenium::ramalhete_queue, 8,i: 43,810,763 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,326,138 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,501,231 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,935,448 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,874,600 msg/sec xenium::vyukov_bounded_queue, 3,s: 14,966,374 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,140,614 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,519,706 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,293,510 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,636,509 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,311,234 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,072,764 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,254,170 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,209,923 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,993,362 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,398,095 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,351,807 msg/sec AtomicQueue, 1,s: 59,454,764 msg/sec AtomicQueue, 1,i: 56,599,618 msg/sec AtomicQueue, 2,s: 12,334,904 msg/sec AtomicQueue, 2,i: 11,732,845 msg/sec AtomicQueue, 3,s: 10,685,424 msg/sec AtomicQueue, 3,i: 9,930,832 msg/sec AtomicQueue, 4,s: 8,179,498 msg/sec AtomicQueue, 4,i: 8,226,732 msg/sec AtomicQueue, 5,s: 7,981,370 msg/sec AtomicQueue, 5,i: 8,077,768 msg/sec AtomicQueue, 6,s: 7,677,080 msg/sec AtomicQueue, 6,i: 7,577,433 msg/sec AtomicQueue, 7,s: 7,151,300 msg/sec AtomicQueue, 7,i: 7,987,158 msg/sec AtomicQueue, 8,s: 6,344,751 msg/sec AtomicQueue, 8,i: 7,317,757 msg/sec AtomicQueueB, 1,s: 44,706,589 msg/sec AtomicQueueB, 1,i: 45,312,267 msg/sec AtomicQueueB, 2,s: 11,907,992 msg/sec AtomicQueueB, 2,i: 11,527,901 msg/sec AtomicQueueB, 3,s: 10,934,871 msg/sec AtomicQueueB, 3,i: 10,125,372 msg/sec AtomicQueueB, 4,s: 8,057,853 msg/sec AtomicQueueB, 4,i: 7,983,474 msg/sec AtomicQueueB, 5,s: 7,643,347 msg/sec AtomicQueueB, 5,i: 7,859,267 msg/sec AtomicQueueB, 6,s: 7,350,287 msg/sec AtomicQueueB, 6,i: 7,617,208 msg/sec AtomicQueueB, 7,s: 6,795,831 msg/sec AtomicQueueB, 7,i: 7,770,621 msg/sec AtomicQueueB, 8,s: 6,294,808 msg/sec AtomicQueueB, 8,i: 7,159,383 msg/sec OptimistAtomicQueue, 1,s: 807,649,082 msg/sec OptimistAtomicQueue, 1,i: 581,295,987 msg/sec OptimistAtomicQueue, 2,s: 32,112,802 msg/sec OptimistAtomicQueue, 2,i: 32,179,274 msg/sec OptimistAtomicQueue, 3,s: 36,620,170 msg/sec OptimistAtomicQueue, 3,i: 37,297,589 msg/sec OptimistAtomicQueue, 4,s: 39,268,194 msg/sec OptimistAtomicQueue, 4,i: 39,362,644 msg/sec OptimistAtomicQueue, 5,s: 41,608,251 msg/sec OptimistAtomicQueue, 5,i: 46,415,155 msg/sec OptimistAtomicQueue, 6,s: 41,976,956 msg/sec OptimistAtomicQueue, 6,i: 50,505,422 msg/sec OptimistAtomicQueue, 7,s: 45,195,649 msg/sec OptimistAtomicQueue, 7,i: 52,007,343 msg/sec OptimistAtomicQueue, 8,s: 46,338,397 msg/sec OptimistAtomicQueue, 8,i: 49,015,201 msg/sec OptimistAtomicQueueB, 1,s: 112,754,644 msg/sec OptimistAtomicQueueB, 1,i: 77,295,407 msg/sec OptimistAtomicQueueB, 2,s: 32,123,137 msg/sec OptimistAtomicQueueB, 2,i: 32,156,629 msg/sec OptimistAtomicQueueB, 3,s: 36,295,702 msg/sec OptimistAtomicQueueB, 3,i: 36,754,014 msg/sec OptimistAtomicQueueB, 4,s: 38,648,294 msg/sec OptimistAtomicQueueB, 4,i: 38,572,330 msg/sec OptimistAtomicQueueB, 5,s: 40,218,133 msg/sec OptimistAtomicQueueB, 5,i: 45,342,282 msg/sec OptimistAtomicQueueB, 6,s: 40,718,181 msg/sec OptimistAtomicQueueB, 6,i: 49,131,343 msg/sec OptimistAtomicQueueB, 7,s: 41,750,843 msg/sec OptimistAtomicQueueB, 7,i: 51,362,449 msg/sec OptimistAtomicQueueB, 8,s: 44,210,400 msg/sec OptimistAtomicQueueB, 8,i: 48,519,847 msg/sec AtomicQueue2, 1,s: 22,856,396 msg/sec AtomicQueue2, 1,i: 22,830,571 msg/sec AtomicQueue2, 2,s: 12,021,822 msg/sec AtomicQueue2, 2,i: 11,401,342 msg/sec AtomicQueue2, 3,s: 9,383,493 msg/sec AtomicQueue2, 3,i: 9,565,949 msg/sec AtomicQueue2, 4,s: 8,101,208 msg/sec AtomicQueue2, 4,i: 8,106,457 msg/sec AtomicQueue2, 5,s: 7,870,026 msg/sec AtomicQueue2, 5,i: 8,004,407 msg/sec AtomicQueue2, 6,s: 7,857,024 msg/sec AtomicQueue2, 6,i: 7,528,952 msg/sec AtomicQueue2, 7,s: 7,097,400 msg/sec AtomicQueue2, 7,i: 7,903,818 msg/sec AtomicQueue2, 8,s: 6,379,906 msg/sec AtomicQueue2, 8,i: 7,378,870 msg/sec AtomicQueueB2, 1,s: 36,405,638 msg/sec AtomicQueueB2, 1,i: 33,131,037 msg/sec AtomicQueueB2, 2,s: 11,395,191 msg/sec AtomicQueueB2, 2,i: 11,124,317 msg/sec AtomicQueueB2, 3,s: 9,583,200 msg/sec AtomicQueueB2, 3,i: 9,466,105 msg/sec AtomicQueueB2, 4,s: 8,000,794 msg/sec AtomicQueueB2, 4,i: 7,851,942 msg/sec AtomicQueueB2, 5,s: 7,516,139 msg/sec AtomicQueueB2, 5,i: 7,695,124 msg/sec AtomicQueueB2, 6,s: 7,294,573 msg/sec AtomicQueueB2, 6,i: 7,431,418 msg/sec AtomicQueueB2, 7,s: 6,899,502 msg/sec AtomicQueueB2, 7,i: 7,710,223 msg/sec AtomicQueueB2, 8,s: 6,277,444 msg/sec AtomicQueueB2, 8,i: 7,093,683 msg/sec OptimistAtomicQueue2, 1,s: 416,884,879 msg/sec OptimistAtomicQueue2, 1,i: 29,641,169 msg/sec OptimistAtomicQueue2, 2,s: 25,388,873 msg/sec OptimistAtomicQueue2, 2,i: 24,013,647 msg/sec OptimistAtomicQueue2, 3,s: 30,328,226 msg/sec OptimistAtomicQueue2, 3,i: 29,989,208 msg/sec OptimistAtomicQueue2, 4,s: 33,212,176 msg/sec OptimistAtomicQueue2, 4,i: 33,513,935 msg/sec OptimistAtomicQueue2, 5,s: 37,124,929 msg/sec OptimistAtomicQueue2, 5,i: 41,791,436 msg/sec OptimistAtomicQueue2, 6,s: 40,234,560 msg/sec OptimistAtomicQueue2, 6,i: 49,089,444 msg/sec OptimistAtomicQueue2, 7,s: 42,693,871 msg/sec OptimistAtomicQueue2, 7,i: 51,830,960 msg/sec OptimistAtomicQueue2, 8,s: 43,961,177 msg/sec OptimistAtomicQueue2, 8,i: 48,358,658 msg/sec OptimistAtomicQueueB2, 1,s: 77,694,916 msg/sec OptimistAtomicQueueB2, 1,i: 33,866,014 msg/sec OptimistAtomicQueueB2, 2,s: 26,886,702 msg/sec OptimistAtomicQueueB2, 2,i: 23,198,355 msg/sec OptimistAtomicQueueB2, 3,s: 31,426,746 msg/sec OptimistAtomicQueueB2, 3,i: 29,310,163 msg/sec OptimistAtomicQueueB2, 4,s: 33,049,606 msg/sec OptimistAtomicQueueB2, 4,i: 31,747,888 msg/sec OptimistAtomicQueueB2, 5,s: 34,708,890 msg/sec OptimistAtomicQueueB2, 5,i: 39,316,555 msg/sec OptimistAtomicQueueB2, 6,s: 37,269,171 msg/sec OptimistAtomicQueueB2, 6,i: 42,087,916 msg/sec OptimistAtomicQueueB2, 7,s: 40,747,704 msg/sec OptimistAtomicQueueB2, 7,i: 45,480,612 msg/sec OptimistAtomicQueueB2, 8,s: 42,179,895 msg/sec OptimistAtomicQueueB2, 8,i: 45,745,985 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000236 sec/round-trip pthread_spinlock: 0.000000286 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000257 sec/round-trip tbb::concurrent_bounded_queue: 0.000000303 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [29] 443m:7s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,161,757 msg/sec boost::lockfree::spsc_queue, 1,i: 67,804,465 msg/sec boost::lockfree::queue, 1,s: 6,788,517 msg/sec boost::lockfree::queue, 1,i: 6,912,738 msg/sec boost::lockfree::queue, 2,s: 7,679,096 msg/sec boost::lockfree::queue, 2,i: 7,525,275 msg/sec boost::lockfree::queue, 3,s: 7,410,586 msg/sec boost::lockfree::queue, 3,i: 7,569,723 msg/sec boost::lockfree::queue, 4,s: 6,430,066 msg/sec boost::lockfree::queue, 4,i: 6,808,463 msg/sec boost::lockfree::queue, 5,s: 6,392,243 msg/sec boost::lockfree::queue, 5,i: 6,449,840 msg/sec boost::lockfree::queue, 6,s: 5,997,656 msg/sec boost::lockfree::queue, 6,i: 6,088,457 msg/sec boost::lockfree::queue, 7,s: 5,828,720 msg/sec boost::lockfree::queue, 7,i: 5,934,020 msg/sec boost::lockfree::queue, 8,s: 5,439,443 msg/sec boost::lockfree::queue, 8,i: 5,547,003 msg/sec moodycamel::ReaderWriterQueue, 1,s: 138,679,439 msg/sec moodycamel::ReaderWriterQueue, 1,i: 113,172,802 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,646,389 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,793,672 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,197,004 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,199,856 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,336,002 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,746,677 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,581,296 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,743,555 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,181,703 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,045,919 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,505,031 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,052,541 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,120,694 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,791,224 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,079,310 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,274,949 msg/sec pthread_spinlock, 1,s: 28,711,313 msg/sec pthread_spinlock, 1,i: 25,355,664 msg/sec pthread_spinlock, 2,s: 15,959,913 msg/sec pthread_spinlock, 2,i: 16,978,420 msg/sec pthread_spinlock, 3,s: 8,464,316 msg/sec pthread_spinlock, 3,i: 12,032,918 msg/sec pthread_spinlock, 4,s: 6,502,657 msg/sec pthread_spinlock, 4,i: 8,952,348 msg/sec pthread_spinlock, 5,s: 8,690,518 msg/sec pthread_spinlock, 5,i: 9,525,879 msg/sec pthread_spinlock, 6,s: 8,445,385 msg/sec pthread_spinlock, 6,i: 8,369,216 msg/sec pthread_spinlock, 7,s: 7,871,119 msg/sec pthread_spinlock, 7,i: 7,891,727 msg/sec pthread_spinlock, 8,s: 6,670,853 msg/sec pthread_spinlock, 8,i: 6,933,639 msg/sec std::mutex, 1,s: 7,799,872 msg/sec std::mutex, 1,i: 7,760,780 msg/sec std::mutex, 2,s: 5,095,415 msg/sec std::mutex, 2,i: 5,120,001 msg/sec std::mutex, 3,s: 4,642,425 msg/sec std::mutex, 3,i: 5,154,963 msg/sec std::mutex, 4,s: 5,203,539 msg/sec std::mutex, 4,i: 6,097,317 msg/sec std::mutex, 5,s: 5,981,467 msg/sec std::mutex, 5,i: 5,954,155 msg/sec std::mutex, 6,s: 5,864,789 msg/sec std::mutex, 6,i: 5,934,217 msg/sec std::mutex, 7,s: 5,829,864 msg/sec std::mutex, 7,i: 5,873,473 msg/sec std::mutex, 8,s: 5,743,036 msg/sec std::mutex, 8,i: 5,750,192 msg/sec tbb::spin_mutex, 1,s: 37,572,354 msg/sec tbb::spin_mutex, 1,i: 33,069,730 msg/sec tbb::spin_mutex, 2,s: 21,275,612 msg/sec tbb::spin_mutex, 2,i: 18,251,670 msg/sec tbb::spin_mutex, 3,s: 8,325,108 msg/sec tbb::spin_mutex, 3,i: 10,290,072 msg/sec tbb::spin_mutex, 4,s: 3,102,291 msg/sec tbb::spin_mutex, 4,i: 6,356,013 msg/sec tbb::spin_mutex, 5,s: 5,523,277 msg/sec tbb::spin_mutex, 5,i: 5,358,109 msg/sec tbb::spin_mutex, 6,s: 5,292,052 msg/sec tbb::spin_mutex, 6,i: 4,325,376 msg/sec tbb::spin_mutex, 7,s: 4,824,209 msg/sec tbb::spin_mutex, 7,i: 4,312,295 msg/sec tbb::spin_mutex, 8,s: 4,251,285 msg/sec tbb::spin_mutex, 8,i: 4,070,650 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,260,273 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,290,092 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,641,290 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,829,666 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,491,069 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,530,361 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,114,890 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,481,160 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,630,648 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,605,885 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,728,348 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,637,375 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,851,321 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,818,977 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,094,863 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,072,535 msg/sec xenium::michael_scott_queue, 1,s: 9,187,263 msg/sec xenium::michael_scott_queue, 1,i: 9,186,708 msg/sec xenium::michael_scott_queue, 2,s: 8,425,503 msg/sec xenium::michael_scott_queue, 2,i: 8,422,337 msg/sec xenium::michael_scott_queue, 3,s: 7,154,828 msg/sec xenium::michael_scott_queue, 3,i: 7,548,228 msg/sec xenium::michael_scott_queue, 4,s: 6,308,203 msg/sec xenium::michael_scott_queue, 4,i: 6,335,548 msg/sec xenium::michael_scott_queue, 5,s: 6,298,177 msg/sec xenium::michael_scott_queue, 5,i: 6,619,797 msg/sec xenium::michael_scott_queue, 6,s: 6,473,959 msg/sec xenium::michael_scott_queue, 6,i: 6,724,446 msg/sec xenium::michael_scott_queue, 7,s: 6,242,117 msg/sec xenium::michael_scott_queue, 7,i: 6,540,052 msg/sec xenium::michael_scott_queue, 8,s: 5,976,508 msg/sec xenium::michael_scott_queue, 8,i: 6,239,318 msg/sec xenium::ramalhete_queue, 1,s: 32,505,040 msg/sec xenium::ramalhete_queue, 1,i: 31,980,201 msg/sec xenium::ramalhete_queue, 2,s: 23,465,905 msg/sec xenium::ramalhete_queue, 2,i: 23,378,781 msg/sec xenium::ramalhete_queue, 3,s: 29,320,217 msg/sec xenium::ramalhete_queue, 3,i: 28,532,804 msg/sec xenium::ramalhete_queue, 4,s: 33,766,038 msg/sec xenium::ramalhete_queue, 4,i: 33,565,694 msg/sec xenium::ramalhete_queue, 5,s: 32,170,113 msg/sec xenium::ramalhete_queue, 5,i: 38,413,257 msg/sec xenium::ramalhete_queue, 6,s: 34,061,412 msg/sec xenium::ramalhete_queue, 6,i: 39,089,018 msg/sec xenium::ramalhete_queue, 7,s: 35,025,633 msg/sec xenium::ramalhete_queue, 7,i: 41,563,532 msg/sec xenium::ramalhete_queue, 8,s: 35,360,165 msg/sec xenium::ramalhete_queue, 8,i: 43,982,317 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,539,781 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,991,267 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,745,103 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,701,357 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,667,035 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,951,796 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,544,170 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,329,615 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,707,759 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,435,010 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,709,516 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,263,240 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,264,168 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,314,245 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,368,928 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,322,138 msg/sec AtomicQueue, 1,s: 64,176,759 msg/sec AtomicQueue, 1,i: 56,355,686 msg/sec AtomicQueue, 2,s: 12,385,223 msg/sec AtomicQueue, 2,i: 11,763,465 msg/sec AtomicQueue, 3,s: 10,765,445 msg/sec AtomicQueue, 3,i: 9,934,900 msg/sec AtomicQueue, 4,s: 8,200,815 msg/sec AtomicQueue, 4,i: 8,218,572 msg/sec AtomicQueue, 5,s: 8,036,489 msg/sec AtomicQueue, 5,i: 8,045,918 msg/sec AtomicQueue, 6,s: 7,882,129 msg/sec AtomicQueue, 6,i: 7,602,305 msg/sec AtomicQueue, 7,s: 7,067,126 msg/sec AtomicQueue, 7,i: 8,001,094 msg/sec AtomicQueue, 8,s: 6,336,863 msg/sec AtomicQueue, 8,i: 7,434,295 msg/sec AtomicQueueB, 1,s: 59,484,613 msg/sec AtomicQueueB, 1,i: 43,218,520 msg/sec AtomicQueueB, 2,s: 11,807,957 msg/sec AtomicQueueB, 2,i: 11,460,420 msg/sec AtomicQueueB, 3,s: 10,999,798 msg/sec AtomicQueueB, 3,i: 10,112,786 msg/sec AtomicQueueB, 4,s: 8,038,901 msg/sec AtomicQueueB, 4,i: 7,956,837 msg/sec AtomicQueueB, 5,s: 7,700,558 msg/sec AtomicQueueB, 5,i: 7,809,359 msg/sec AtomicQueueB, 6,s: 7,283,757 msg/sec AtomicQueueB, 6,i: 7,547,481 msg/sec AtomicQueueB, 7,s: 6,843,133 msg/sec AtomicQueueB, 7,i: 7,707,521 msg/sec AtomicQueueB, 8,s: 6,212,757 msg/sec AtomicQueueB, 8,i: 7,039,964 msg/sec OptimistAtomicQueue, 1,s: 771,302,011 msg/sec OptimistAtomicQueue, 1,i: 506,113,279 msg/sec OptimistAtomicQueue, 2,s: 32,658,635 msg/sec OptimistAtomicQueue, 2,i: 32,715,408 msg/sec OptimistAtomicQueue, 3,s: 36,644,824 msg/sec OptimistAtomicQueue, 3,i: 37,479,749 msg/sec OptimistAtomicQueue, 4,s: 39,280,345 msg/sec OptimistAtomicQueue, 4,i: 39,344,754 msg/sec OptimistAtomicQueue, 5,s: 42,423,354 msg/sec OptimistAtomicQueue, 5,i: 47,601,773 msg/sec OptimistAtomicQueue, 6,s: 42,161,541 msg/sec OptimistAtomicQueue, 6,i: 49,713,706 msg/sec OptimistAtomicQueue, 7,s: 44,140,290 msg/sec OptimistAtomicQueue, 7,i: 51,928,806 msg/sec OptimistAtomicQueue, 8,s: 46,461,083 msg/sec OptimistAtomicQueue, 8,i: 49,261,032 msg/sec OptimistAtomicQueueB, 1,s: 212,078,102 msg/sec OptimistAtomicQueueB, 1,i: 77,528,436 msg/sec OptimistAtomicQueueB, 2,s: 32,104,925 msg/sec OptimistAtomicQueueB, 2,i: 32,391,136 msg/sec OptimistAtomicQueueB, 3,s: 36,170,980 msg/sec OptimistAtomicQueueB, 3,i: 36,798,446 msg/sec OptimistAtomicQueueB, 4,s: 38,652,091 msg/sec OptimistAtomicQueueB, 4,i: 38,545,261 msg/sec OptimistAtomicQueueB, 5,s: 41,038,930 msg/sec OptimistAtomicQueueB, 5,i: 45,425,525 msg/sec OptimistAtomicQueueB, 6,s: 40,821,826 msg/sec OptimistAtomicQueueB, 6,i: 48,707,486 msg/sec OptimistAtomicQueueB, 7,s: 42,297,066 msg/sec OptimistAtomicQueueB, 7,i: 51,428,254 msg/sec OptimistAtomicQueueB, 8,s: 44,418,575 msg/sec OptimistAtomicQueueB, 8,i: 47,506,233 msg/sec AtomicQueue2, 1,s: 22,835,019 msg/sec AtomicQueue2, 1,i: 22,874,869 msg/sec AtomicQueue2, 2,s: 11,915,311 msg/sec AtomicQueue2, 2,i: 11,737,944 msg/sec AtomicQueue2, 3,s: 9,379,742 msg/sec AtomicQueue2, 3,i: 9,388,821 msg/sec AtomicQueue2, 4,s: 8,029,204 msg/sec AtomicQueue2, 4,i: 8,048,001 msg/sec AtomicQueue2, 5,s: 7,934,731 msg/sec AtomicQueue2, 5,i: 8,043,018 msg/sec AtomicQueue2, 6,s: 7,634,885 msg/sec AtomicQueue2, 6,i: 7,537,497 msg/sec AtomicQueue2, 7,s: 7,127,550 msg/sec AtomicQueue2, 7,i: 7,877,820 msg/sec AtomicQueue2, 8,s: 6,364,486 msg/sec AtomicQueue2, 8,i: 7,222,348 msg/sec AtomicQueueB2, 1,s: 35,857,194 msg/sec AtomicQueueB2, 1,i: 35,948,224 msg/sec AtomicQueueB2, 2,s: 11,413,222 msg/sec AtomicQueueB2, 2,i: 11,082,728 msg/sec AtomicQueueB2, 3,s: 9,608,085 msg/sec AtomicQueueB2, 3,i: 9,493,240 msg/sec AtomicQueueB2, 4,s: 8,021,770 msg/sec AtomicQueueB2, 4,i: 7,867,185 msg/sec AtomicQueueB2, 5,s: 7,600,998 msg/sec AtomicQueueB2, 5,i: 7,715,664 msg/sec AtomicQueueB2, 6,s: 7,228,173 msg/sec AtomicQueueB2, 6,i: 7,413,446 msg/sec AtomicQueueB2, 7,s: 6,813,300 msg/sec AtomicQueueB2, 7,i: 7,696,943 msg/sec AtomicQueueB2, 8,s: 6,250,767 msg/sec AtomicQueueB2, 8,i: 6,973,682 msg/sec OptimistAtomicQueue2, 1,s: 482,201,578 msg/sec OptimistAtomicQueue2, 1,i: 29,436,820 msg/sec OptimistAtomicQueue2, 2,s: 26,068,758 msg/sec OptimistAtomicQueue2, 2,i: 25,388,139 msg/sec OptimistAtomicQueue2, 3,s: 30,324,832 msg/sec OptimistAtomicQueue2, 3,i: 30,054,635 msg/sec OptimistAtomicQueue2, 4,s: 33,453,909 msg/sec OptimistAtomicQueue2, 4,i: 33,311,935 msg/sec OptimistAtomicQueue2, 5,s: 36,958,362 msg/sec OptimistAtomicQueue2, 5,i: 40,469,153 msg/sec OptimistAtomicQueue2, 6,s: 40,122,484 msg/sec OptimistAtomicQueue2, 6,i: 49,305,425 msg/sec OptimistAtomicQueue2, 7,s: 42,643,716 msg/sec OptimistAtomicQueue2, 7,i: 48,167,739 msg/sec OptimistAtomicQueue2, 8,s: 44,037,246 msg/sec OptimistAtomicQueue2, 8,i: 48,583,579 msg/sec OptimistAtomicQueueB2, 1,s: 66,821,230 msg/sec OptimistAtomicQueueB2, 1,i: 63,044,031 msg/sec OptimistAtomicQueueB2, 2,s: 28,801,591 msg/sec OptimistAtomicQueueB2, 2,i: 23,188,256 msg/sec OptimistAtomicQueueB2, 3,s: 29,721,186 msg/sec OptimistAtomicQueueB2, 3,i: 29,099,438 msg/sec OptimistAtomicQueueB2, 4,s: 33,427,005 msg/sec OptimistAtomicQueueB2, 4,i: 32,125,460 msg/sec OptimistAtomicQueueB2, 5,s: 34,570,459 msg/sec OptimistAtomicQueueB2, 5,i: 39,513,963 msg/sec OptimistAtomicQueueB2, 6,s: 37,821,737 msg/sec OptimistAtomicQueueB2, 6,i: 42,257,592 msg/sec OptimistAtomicQueueB2, 7,s: 40,921,829 msg/sec OptimistAtomicQueueB2, 7,i: 45,604,920 msg/sec OptimistAtomicQueueB2, 8,s: 42,152,266 msg/sec OptimistAtomicQueueB2, 8,i: 45,291,349 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [30] 441m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,736,369 msg/sec boost::lockfree::spsc_queue, 1,i: 69,631,424 msg/sec boost::lockfree::queue, 1,s: 6,901,002 msg/sec boost::lockfree::queue, 1,i: 6,842,509 msg/sec boost::lockfree::queue, 2,s: 7,574,059 msg/sec boost::lockfree::queue, 2,i: 7,458,681 msg/sec boost::lockfree::queue, 3,s: 7,332,905 msg/sec boost::lockfree::queue, 3,i: 7,605,272 msg/sec boost::lockfree::queue, 4,s: 6,415,162 msg/sec boost::lockfree::queue, 4,i: 6,762,497 msg/sec boost::lockfree::queue, 5,s: 6,437,614 msg/sec boost::lockfree::queue, 5,i: 6,488,557 msg/sec boost::lockfree::queue, 6,s: 6,003,014 msg/sec boost::lockfree::queue, 6,i: 6,113,918 msg/sec boost::lockfree::queue, 7,s: 5,984,616 msg/sec boost::lockfree::queue, 7,i: 5,908,947 msg/sec boost::lockfree::queue, 8,s: 5,491,886 msg/sec boost::lockfree::queue, 8,i: 5,552,533 msg/sec moodycamel::ReaderWriterQueue, 1,s: 482,737,255 msg/sec moodycamel::ReaderWriterQueue, 1,i: 470,419,216 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,772,707 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,274,877 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,583,535 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,160,283 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,418,002 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,894,778 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,405,484 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,261,981 msg/sec moodycamel::ConcurrentQueue, 5,s: 46,318,195 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,533,064 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,506,969 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,556,833 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,163,551 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,254,323 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,236,552 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,581,694 msg/sec pthread_spinlock, 1,s: 29,147,214 msg/sec pthread_spinlock, 1,i: 25,431,096 msg/sec pthread_spinlock, 2,s: 16,083,086 msg/sec pthread_spinlock, 2,i: 17,033,895 msg/sec pthread_spinlock, 3,s: 8,366,731 msg/sec pthread_spinlock, 3,i: 12,133,932 msg/sec pthread_spinlock, 4,s: 6,484,745 msg/sec pthread_spinlock, 4,i: 8,857,102 msg/sec pthread_spinlock, 5,s: 8,689,478 msg/sec pthread_spinlock, 5,i: 9,135,515 msg/sec pthread_spinlock, 6,s: 8,230,494 msg/sec pthread_spinlock, 6,i: 8,380,256 msg/sec pthread_spinlock, 7,s: 7,610,612 msg/sec pthread_spinlock, 7,i: 7,868,154 msg/sec pthread_spinlock, 8,s: 6,731,231 msg/sec pthread_spinlock, 8,i: 7,405,692 msg/sec std::mutex, 1,s: 5,748,722 msg/sec std::mutex, 1,i: 7,701,091 msg/sec std::mutex, 2,s: 6,007,294 msg/sec std::mutex, 2,i: 6,332,171 msg/sec std::mutex, 3,s: 5,489,077 msg/sec std::mutex, 3,i: 6,212,570 msg/sec std::mutex, 4,s: 5,828,549 msg/sec std::mutex, 4,i: 6,415,898 msg/sec std::mutex, 5,s: 6,011,891 msg/sec std::mutex, 5,i: 5,991,925 msg/sec std::mutex, 6,s: 5,934,780 msg/sec std::mutex, 6,i: 5,887,977 msg/sec std::mutex, 7,s: 5,849,392 msg/sec std::mutex, 7,i: 5,880,738 msg/sec std::mutex, 8,s: 5,780,569 msg/sec std::mutex, 8,i: 5,785,497 msg/sec tbb::spin_mutex, 1,s: 38,186,110 msg/sec tbb::spin_mutex, 1,i: 33,108,007 msg/sec tbb::spin_mutex, 2,s: 21,280,759 msg/sec tbb::spin_mutex, 2,i: 18,435,802 msg/sec tbb::spin_mutex, 3,s: 8,599,058 msg/sec tbb::spin_mutex, 3,i: 11,108,613 msg/sec tbb::spin_mutex, 4,s: 3,164,381 msg/sec tbb::spin_mutex, 4,i: 6,267,811 msg/sec tbb::spin_mutex, 5,s: 5,391,017 msg/sec tbb::spin_mutex, 5,i: 5,634,310 msg/sec tbb::spin_mutex, 6,s: 5,341,044 msg/sec tbb::spin_mutex, 6,i: 4,352,697 msg/sec tbb::spin_mutex, 7,s: 4,795,547 msg/sec tbb::spin_mutex, 7,i: 4,285,604 msg/sec tbb::spin_mutex, 8,s: 3,894,748 msg/sec tbb::spin_mutex, 8,i: 4,088,523 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,486,001 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,537,864 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,990,108 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,074,116 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,482,148 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,798,154 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,130,586 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,389,758 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,739,832 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,773,296 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,886,525 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,926,825 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,829,320 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,105,128 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,639,400 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,301,650 msg/sec xenium::michael_scott_queue, 1,s: 9,132,222 msg/sec xenium::michael_scott_queue, 1,i: 8,950,076 msg/sec xenium::michael_scott_queue, 2,s: 8,527,943 msg/sec xenium::michael_scott_queue, 2,i: 8,430,695 msg/sec xenium::michael_scott_queue, 3,s: 7,156,290 msg/sec xenium::michael_scott_queue, 3,i: 7,560,330 msg/sec xenium::michael_scott_queue, 4,s: 6,334,820 msg/sec xenium::michael_scott_queue, 4,i: 6,363,490 msg/sec xenium::michael_scott_queue, 5,s: 6,294,717 msg/sec xenium::michael_scott_queue, 5,i: 6,778,894 msg/sec xenium::michael_scott_queue, 6,s: 6,461,650 msg/sec xenium::michael_scott_queue, 6,i: 6,778,993 msg/sec xenium::michael_scott_queue, 7,s: 6,291,031 msg/sec xenium::michael_scott_queue, 7,i: 6,451,622 msg/sec xenium::michael_scott_queue, 8,s: 5,992,345 msg/sec xenium::michael_scott_queue, 8,i: 6,069,586 msg/sec xenium::ramalhete_queue, 1,s: 31,869,408 msg/sec xenium::ramalhete_queue, 1,i: 31,805,794 msg/sec xenium::ramalhete_queue, 2,s: 23,433,120 msg/sec xenium::ramalhete_queue, 2,i: 23,323,618 msg/sec xenium::ramalhete_queue, 3,s: 29,171,593 msg/sec xenium::ramalhete_queue, 3,i: 28,416,386 msg/sec xenium::ramalhete_queue, 4,s: 33,982,770 msg/sec xenium::ramalhete_queue, 4,i: 33,495,028 msg/sec xenium::ramalhete_queue, 5,s: 32,173,123 msg/sec xenium::ramalhete_queue, 5,i: 36,059,402 msg/sec xenium::ramalhete_queue, 6,s: 33,990,028 msg/sec xenium::ramalhete_queue, 6,i: 40,262,951 msg/sec xenium::ramalhete_queue, 7,s: 35,149,776 msg/sec xenium::ramalhete_queue, 7,i: 41,638,971 msg/sec xenium::ramalhete_queue, 8,s: 35,536,500 msg/sec xenium::ramalhete_queue, 8,i: 44,499,311 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,066,545 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,710,848 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,914,241 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,468,318 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,693,286 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,934,175 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,623,280 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,390,381 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,816,219 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,219,485 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,113,066 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,178,098 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,218,360 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,014,873 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,405,117 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,242,021 msg/sec AtomicQueue, 1,s: 59,765,234 msg/sec AtomicQueue, 1,i: 56,816,315 msg/sec AtomicQueue, 2,s: 12,231,642 msg/sec AtomicQueue, 2,i: 11,722,261 msg/sec AtomicQueue, 3,s: 10,775,021 msg/sec AtomicQueue, 3,i: 10,001,823 msg/sec AtomicQueue, 4,s: 8,149,631 msg/sec AtomicQueue, 4,i: 8,205,140 msg/sec AtomicQueue, 5,s: 7,976,635 msg/sec AtomicQueue, 5,i: 8,145,110 msg/sec AtomicQueue, 6,s: 7,918,430 msg/sec AtomicQueue, 6,i: 7,619,076 msg/sec AtomicQueue, 7,s: 7,153,396 msg/sec AtomicQueue, 7,i: 7,982,626 msg/sec AtomicQueue, 8,s: 6,369,130 msg/sec AtomicQueue, 8,i: 7,415,364 msg/sec AtomicQueueB, 1,s: 43,962,771 msg/sec AtomicQueueB, 1,i: 42,999,216 msg/sec AtomicQueueB, 2,s: 11,813,800 msg/sec AtomicQueueB, 2,i: 11,496,020 msg/sec AtomicQueueB, 3,s: 10,884,067 msg/sec AtomicQueueB, 3,i: 10,211,815 msg/sec AtomicQueueB, 4,s: 8,056,505 msg/sec AtomicQueueB, 4,i: 7,949,496 msg/sec AtomicQueueB, 5,s: 7,715,600 msg/sec AtomicQueueB, 5,i: 7,783,443 msg/sec AtomicQueueB, 6,s: 7,327,315 msg/sec AtomicQueueB, 6,i: 7,507,493 msg/sec AtomicQueueB, 7,s: 6,835,629 msg/sec AtomicQueueB, 7,i: 7,734,115 msg/sec AtomicQueueB, 8,s: 6,265,830 msg/sec AtomicQueueB, 8,i: 7,126,561 msg/sec OptimistAtomicQueue, 1,s: 752,101,512 msg/sec OptimistAtomicQueue, 1,i: 586,241,985 msg/sec OptimistAtomicQueue, 2,s: 31,957,917 msg/sec OptimistAtomicQueue, 2,i: 32,015,220 msg/sec OptimistAtomicQueue, 3,s: 36,618,087 msg/sec OptimistAtomicQueue, 3,i: 37,300,494 msg/sec OptimistAtomicQueue, 4,s: 39,266,383 msg/sec OptimistAtomicQueue, 4,i: 39,343,442 msg/sec OptimistAtomicQueue, 5,s: 42,251,661 msg/sec OptimistAtomicQueue, 5,i: 46,324,899 msg/sec OptimistAtomicQueue, 6,s: 42,568,231 msg/sec OptimistAtomicQueue, 6,i: 50,413,599 msg/sec OptimistAtomicQueue, 7,s: 44,373,167 msg/sec OptimistAtomicQueue, 7,i: 52,081,286 msg/sec OptimistAtomicQueue, 8,s: 46,457,987 msg/sec OptimistAtomicQueue, 8,i: 49,167,809 msg/sec OptimistAtomicQueueB, 1,s: 264,243,553 msg/sec OptimistAtomicQueueB, 1,i: 77,069,979 msg/sec OptimistAtomicQueueB, 2,s: 32,157,118 msg/sec OptimistAtomicQueueB, 2,i: 31,877,038 msg/sec OptimistAtomicQueueB, 3,s: 36,251,166 msg/sec OptimistAtomicQueueB, 3,i: 36,905,865 msg/sec OptimistAtomicQueueB, 4,s: 38,633,707 msg/sec OptimistAtomicQueueB, 4,i: 38,672,558 msg/sec OptimistAtomicQueueB, 5,s: 41,021,746 msg/sec OptimistAtomicQueueB, 5,i: 45,439,938 msg/sec OptimistAtomicQueueB, 6,s: 41,050,802 msg/sec OptimistAtomicQueueB, 6,i: 49,107,943 msg/sec OptimistAtomicQueueB, 7,s: 42,068,139 msg/sec OptimistAtomicQueueB, 7,i: 51,402,574 msg/sec OptimistAtomicQueueB, 8,s: 44,361,964 msg/sec OptimistAtomicQueueB, 8,i: 48,944,032 msg/sec AtomicQueue2, 1,s: 22,906,379 msg/sec AtomicQueue2, 1,i: 22,886,942 msg/sec AtomicQueue2, 2,s: 11,842,310 msg/sec AtomicQueue2, 2,i: 11,393,498 msg/sec AtomicQueue2, 3,s: 9,348,054 msg/sec AtomicQueue2, 3,i: 9,374,242 msg/sec AtomicQueue2, 4,s: 8,020,346 msg/sec AtomicQueue2, 4,i: 8,031,698 msg/sec AtomicQueue2, 5,s: 7,938,266 msg/sec AtomicQueue2, 5,i: 8,020,587 msg/sec AtomicQueue2, 6,s: 7,765,399 msg/sec AtomicQueue2, 6,i: 7,504,635 msg/sec AtomicQueue2, 7,s: 7,171,182 msg/sec AtomicQueue2, 7,i: 7,917,862 msg/sec AtomicQueue2, 8,s: 6,398,594 msg/sec AtomicQueue2, 8,i: 7,358,288 msg/sec AtomicQueueB2, 1,s: 36,081,334 msg/sec AtomicQueueB2, 1,i: 32,617,461 msg/sec AtomicQueueB2, 2,s: 11,455,561 msg/sec AtomicQueueB2, 2,i: 11,079,444 msg/sec AtomicQueueB2, 3,s: 9,638,273 msg/sec AtomicQueueB2, 3,i: 9,567,277 msg/sec AtomicQueueB2, 4,s: 7,989,335 msg/sec AtomicQueueB2, 4,i: 7,861,423 msg/sec AtomicQueueB2, 5,s: 7,594,646 msg/sec AtomicQueueB2, 5,i: 7,764,530 msg/sec AtomicQueueB2, 6,s: 7,278,713 msg/sec AtomicQueueB2, 6,i: 7,444,516 msg/sec AtomicQueueB2, 7,s: 6,922,235 msg/sec AtomicQueueB2, 7,i: 7,685,861 msg/sec AtomicQueueB2, 8,s: 6,269,352 msg/sec AtomicQueueB2, 8,i: 7,039,833 msg/sec OptimistAtomicQueue2, 1,s: 519,638,503 msg/sec OptimistAtomicQueue2, 1,i: 29,409,603 msg/sec OptimistAtomicQueue2, 2,s: 26,283,175 msg/sec OptimistAtomicQueue2, 2,i: 24,017,145 msg/sec OptimistAtomicQueue2, 3,s: 30,312,766 msg/sec OptimistAtomicQueue2, 3,i: 29,956,178 msg/sec OptimistAtomicQueue2, 4,s: 33,187,987 msg/sec OptimistAtomicQueue2, 4,i: 33,153,233 msg/sec OptimistAtomicQueue2, 5,s: 37,535,889 msg/sec OptimistAtomicQueue2, 5,i: 40,547,759 msg/sec OptimistAtomicQueue2, 6,s: 40,132,892 msg/sec OptimistAtomicQueue2, 6,i: 49,355,444 msg/sec OptimistAtomicQueue2, 7,s: 43,243,755 msg/sec OptimistAtomicQueue2, 7,i: 51,262,942 msg/sec OptimistAtomicQueue2, 8,s: 43,891,410 msg/sec OptimistAtomicQueue2, 8,i: 48,622,697 msg/sec OptimistAtomicQueueB2, 1,s: 74,501,522 msg/sec OptimistAtomicQueueB2, 1,i: 33,858,551 msg/sec OptimistAtomicQueueB2, 2,s: 29,542,640 msg/sec OptimistAtomicQueueB2, 2,i: 23,224,854 msg/sec OptimistAtomicQueueB2, 3,s: 29,733,517 msg/sec OptimistAtomicQueueB2, 3,i: 29,966,390 msg/sec OptimistAtomicQueueB2, 4,s: 33,285,754 msg/sec OptimistAtomicQueueB2, 4,i: 32,086,913 msg/sec OptimistAtomicQueueB2, 5,s: 34,539,311 msg/sec OptimistAtomicQueueB2, 5,i: 39,077,705 msg/sec OptimistAtomicQueueB2, 6,s: 37,071,752 msg/sec OptimistAtomicQueueB2, 6,i: 42,258,901 msg/sec OptimistAtomicQueueB2, 7,s: 40,016,000 msg/sec OptimistAtomicQueueB2, 7,i: 43,213,539 msg/sec OptimistAtomicQueueB2, 8,s: 42,293,088 msg/sec OptimistAtomicQueueB2, 8,i: 46,629,828 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000236 sec/round-trip pthread_spinlock: 0.000000253 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [31] 440m:28s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,164,634 msg/sec boost::lockfree::spsc_queue, 1,i: 66,206,700 msg/sec boost::lockfree::queue, 1,s: 6,872,885 msg/sec boost::lockfree::queue, 1,i: 6,931,856 msg/sec boost::lockfree::queue, 2,s: 7,622,631 msg/sec boost::lockfree::queue, 2,i: 7,587,957 msg/sec boost::lockfree::queue, 3,s: 7,367,311 msg/sec boost::lockfree::queue, 3,i: 7,572,939 msg/sec boost::lockfree::queue, 4,s: 6,421,620 msg/sec boost::lockfree::queue, 4,i: 6,780,456 msg/sec boost::lockfree::queue, 5,s: 6,427,165 msg/sec boost::lockfree::queue, 5,i: 6,521,016 msg/sec boost::lockfree::queue, 6,s: 6,068,070 msg/sec boost::lockfree::queue, 6,i: 6,091,297 msg/sec boost::lockfree::queue, 7,s: 5,824,057 msg/sec boost::lockfree::queue, 7,i: 6,024,051 msg/sec boost::lockfree::queue, 8,s: 5,767,567 msg/sec boost::lockfree::queue, 8,i: 5,565,599 msg/sec moodycamel::ReaderWriterQueue, 1,s: 401,383,166 msg/sec moodycamel::ReaderWriterQueue, 1,i: 427,562,381 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,881,101 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,736,468 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,478,405 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,609,242 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,855,258 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,673,112 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,842,874 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,792,455 msg/sec moodycamel::ConcurrentQueue, 5,s: 44,200,740 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,167,997 msg/sec moodycamel::ConcurrentQueue, 6,s: 28,153,892 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,778,470 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,872,399 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,795,806 msg/sec moodycamel::ConcurrentQueue, 8,s: 30,903,636 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,570,929 msg/sec pthread_spinlock, 1,s: 29,284,844 msg/sec pthread_spinlock, 1,i: 25,949,804 msg/sec pthread_spinlock, 2,s: 15,544,708 msg/sec pthread_spinlock, 2,i: 17,050,402 msg/sec pthread_spinlock, 3,s: 8,312,843 msg/sec pthread_spinlock, 3,i: 11,999,032 msg/sec pthread_spinlock, 4,s: 6,496,457 msg/sec pthread_spinlock, 4,i: 9,098,412 msg/sec pthread_spinlock, 5,s: 8,748,654 msg/sec pthread_spinlock, 5,i: 9,425,254 msg/sec pthread_spinlock, 6,s: 8,529,695 msg/sec pthread_spinlock, 6,i: 8,615,670 msg/sec pthread_spinlock, 7,s: 7,726,280 msg/sec pthread_spinlock, 7,i: 7,966,775 msg/sec pthread_spinlock, 8,s: 6,851,007 msg/sec pthread_spinlock, 8,i: 7,050,935 msg/sec std::mutex, 1,s: 6,602,031 msg/sec std::mutex, 1,i: 6,523,770 msg/sec std::mutex, 2,s: 5,850,364 msg/sec std::mutex, 2,i: 6,172,305 msg/sec std::mutex, 3,s: 5,960,833 msg/sec std::mutex, 3,i: 6,018,938 msg/sec std::mutex, 4,s: 6,167,168 msg/sec std::mutex, 4,i: 6,190,990 msg/sec std::mutex, 5,s: 5,944,423 msg/sec std::mutex, 5,i: 5,639,308 msg/sec std::mutex, 6,s: 5,862,772 msg/sec std::mutex, 6,i: 5,830,160 msg/sec std::mutex, 7,s: 5,729,778 msg/sec std::mutex, 7,i: 5,722,168 msg/sec std::mutex, 8,s: 5,687,758 msg/sec std::mutex, 8,i: 5,649,040 msg/sec tbb::spin_mutex, 1,s: 37,756,094 msg/sec tbb::spin_mutex, 1,i: 32,866,326 msg/sec tbb::spin_mutex, 2,s: 21,138,277 msg/sec tbb::spin_mutex, 2,i: 18,235,945 msg/sec tbb::spin_mutex, 3,s: 8,399,446 msg/sec tbb::spin_mutex, 3,i: 10,201,041 msg/sec tbb::spin_mutex, 4,s: 3,174,667 msg/sec tbb::spin_mutex, 4,i: 6,285,907 msg/sec tbb::spin_mutex, 5,s: 5,390,161 msg/sec tbb::spin_mutex, 5,i: 5,777,932 msg/sec tbb::spin_mutex, 6,s: 5,259,224 msg/sec tbb::spin_mutex, 6,i: 4,324,332 msg/sec tbb::spin_mutex, 7,s: 4,819,544 msg/sec tbb::spin_mutex, 7,i: 4,325,309 msg/sec tbb::spin_mutex, 8,s: 4,262,650 msg/sec tbb::spin_mutex, 8,i: 4,135,433 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,628,454 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,349,603 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,236,234 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,819,343 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,975,772 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,555,505 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,284,242 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,263,712 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,599,762 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,198,128 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,891,036 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,446,887 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,944,222 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,594,880 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,043,907 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,717,070 msg/sec xenium::michael_scott_queue, 1,s: 10,027,965 msg/sec xenium::michael_scott_queue, 1,i: 10,043,437 msg/sec xenium::michael_scott_queue, 2,s: 8,592,824 msg/sec xenium::michael_scott_queue, 2,i: 8,504,669 msg/sec xenium::michael_scott_queue, 3,s: 7,308,125 msg/sec xenium::michael_scott_queue, 3,i: 7,556,358 msg/sec xenium::michael_scott_queue, 4,s: 6,330,484 msg/sec xenium::michael_scott_queue, 4,i: 6,311,674 msg/sec xenium::michael_scott_queue, 5,s: 6,325,918 msg/sec xenium::michael_scott_queue, 5,i: 6,626,722 msg/sec xenium::michael_scott_queue, 6,s: 6,447,358 msg/sec xenium::michael_scott_queue, 6,i: 6,947,291 msg/sec xenium::michael_scott_queue, 7,s: 6,232,770 msg/sec xenium::michael_scott_queue, 7,i: 6,511,505 msg/sec xenium::michael_scott_queue, 8,s: 5,986,026 msg/sec xenium::michael_scott_queue, 8,i: 6,221,990 msg/sec xenium::ramalhete_queue, 1,s: 32,667,507 msg/sec xenium::ramalhete_queue, 1,i: 33,246,712 msg/sec xenium::ramalhete_queue, 2,s: 23,519,351 msg/sec xenium::ramalhete_queue, 2,i: 23,386,411 msg/sec xenium::ramalhete_queue, 3,s: 29,172,378 msg/sec xenium::ramalhete_queue, 3,i: 28,505,729 msg/sec xenium::ramalhete_queue, 4,s: 33,722,561 msg/sec xenium::ramalhete_queue, 4,i: 33,481,865 msg/sec xenium::ramalhete_queue, 5,s: 32,254,410 msg/sec xenium::ramalhete_queue, 5,i: 36,066,607 msg/sec xenium::ramalhete_queue, 6,s: 34,022,964 msg/sec xenium::ramalhete_queue, 6,i: 38,722,274 msg/sec xenium::ramalhete_queue, 7,s: 35,215,480 msg/sec xenium::ramalhete_queue, 7,i: 41,285,281 msg/sec xenium::ramalhete_queue, 8,s: 35,453,783 msg/sec xenium::ramalhete_queue, 8,i: 43,849,571 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,173,822 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,126,581 msg/sec xenium::vyukov_bounded_queue, 2,s: 20,836,145 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,883,889 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,561,825 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,917,480 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,563,388 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,246,786 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,382,898 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,406,118 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,988,476 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,525,739 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,165,122 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,329,493 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,414,841 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,347,501 msg/sec AtomicQueue, 1,s: 59,751,104 msg/sec AtomicQueue, 1,i: 56,635,522 msg/sec AtomicQueue, 2,s: 12,220,423 msg/sec AtomicQueue, 2,i: 11,754,849 msg/sec AtomicQueue, 3,s: 10,780,920 msg/sec AtomicQueue, 3,i: 9,946,684 msg/sec AtomicQueue, 4,s: 8,208,134 msg/sec AtomicQueue, 4,i: 8,192,022 msg/sec AtomicQueue, 5,s: 8,064,791 msg/sec AtomicQueue, 5,i: 8,105,252 msg/sec AtomicQueue, 6,s: 7,752,460 msg/sec AtomicQueue, 6,i: 7,616,885 msg/sec AtomicQueue, 7,s: 7,052,107 msg/sec AtomicQueue, 7,i: 7,990,670 msg/sec AtomicQueue, 8,s: 6,332,443 msg/sec AtomicQueue, 8,i: 7,285,740 msg/sec AtomicQueueB, 1,s: 44,024,505 msg/sec AtomicQueueB, 1,i: 44,871,144 msg/sec AtomicQueueB, 2,s: 11,833,804 msg/sec AtomicQueueB, 2,i: 11,357,353 msg/sec AtomicQueueB, 3,s: 10,942,486 msg/sec AtomicQueueB, 3,i: 10,132,450 msg/sec AtomicQueueB, 4,s: 8,044,452 msg/sec AtomicQueueB, 4,i: 8,107,870 msg/sec AtomicQueueB, 5,s: 7,591,367 msg/sec AtomicQueueB, 5,i: 7,852,866 msg/sec AtomicQueueB, 6,s: 7,415,844 msg/sec AtomicQueueB, 6,i: 7,586,473 msg/sec AtomicQueueB, 7,s: 6,889,033 msg/sec AtomicQueueB, 7,i: 7,762,236 msg/sec AtomicQueueB, 8,s: 6,196,932 msg/sec AtomicQueueB, 8,i: 7,049,614 msg/sec OptimistAtomicQueue, 1,s: 744,747,898 msg/sec OptimistAtomicQueue, 1,i: 574,949,975 msg/sec OptimistAtomicQueue, 2,s: 32,645,451 msg/sec OptimistAtomicQueue, 2,i: 32,730,743 msg/sec OptimistAtomicQueue, 3,s: 36,644,385 msg/sec OptimistAtomicQueue, 3,i: 37,395,471 msg/sec OptimistAtomicQueue, 4,s: 39,281,218 msg/sec OptimistAtomicQueue, 4,i: 39,419,046 msg/sec OptimistAtomicQueue, 5,s: 41,678,487 msg/sec OptimistAtomicQueue, 5,i: 47,333,668 msg/sec OptimistAtomicQueue, 6,s: 42,568,516 msg/sec OptimistAtomicQueue, 6,i: 49,822,923 msg/sec OptimistAtomicQueue, 7,s: 44,180,537 msg/sec OptimistAtomicQueue, 7,i: 52,058,821 msg/sec OptimistAtomicQueue, 8,s: 46,202,544 msg/sec OptimistAtomicQueue, 8,i: 49,426,010 msg/sec OptimistAtomicQueueB, 1,s: 189,664,840 msg/sec OptimistAtomicQueueB, 1,i: 77,719,302 msg/sec OptimistAtomicQueueB, 2,s: 32,184,568 msg/sec OptimistAtomicQueueB, 2,i: 32,159,334 msg/sec OptimistAtomicQueueB, 3,s: 36,268,631 msg/sec OptimistAtomicQueueB, 3,i: 37,012,655 msg/sec OptimistAtomicQueueB, 4,s: 38,681,228 msg/sec OptimistAtomicQueueB, 4,i: 38,672,977 msg/sec OptimistAtomicQueueB, 5,s: 40,873,876 msg/sec OptimistAtomicQueueB, 5,i: 45,308,960 msg/sec OptimistAtomicQueueB, 6,s: 40,745,554 msg/sec OptimistAtomicQueueB, 6,i: 48,927,643 msg/sec OptimistAtomicQueueB, 7,s: 42,576,962 msg/sec OptimistAtomicQueueB, 7,i: 50,709,815 msg/sec OptimistAtomicQueueB, 8,s: 44,453,767 msg/sec OptimistAtomicQueueB, 8,i: 48,968,455 msg/sec AtomicQueue2, 1,s: 22,858,037 msg/sec AtomicQueue2, 1,i: 22,889,167 msg/sec AtomicQueue2, 2,s: 11,852,816 msg/sec AtomicQueue2, 2,i: 11,462,143 msg/sec AtomicQueue2, 3,s: 9,576,244 msg/sec AtomicQueue2, 3,i: 9,473,745 msg/sec AtomicQueue2, 4,s: 8,062,708 msg/sec AtomicQueue2, 4,i: 8,045,095 msg/sec AtomicQueue2, 5,s: 7,909,690 msg/sec AtomicQueue2, 5,i: 8,084,861 msg/sec AtomicQueue2, 6,s: 7,796,319 msg/sec AtomicQueue2, 6,i: 7,527,481 msg/sec AtomicQueue2, 7,s: 7,140,482 msg/sec AtomicQueue2, 7,i: 7,881,575 msg/sec AtomicQueue2, 8,s: 6,354,872 msg/sec AtomicQueue2, 8,i: 7,237,697 msg/sec AtomicQueueB2, 1,s: 36,368,524 msg/sec AtomicQueueB2, 1,i: 35,900,691 msg/sec AtomicQueueB2, 2,s: 11,414,417 msg/sec AtomicQueueB2, 2,i: 11,007,186 msg/sec AtomicQueueB2, 3,s: 9,596,914 msg/sec AtomicQueueB2, 3,i: 9,374,965 msg/sec AtomicQueueB2, 4,s: 7,864,153 msg/sec AtomicQueueB2, 4,i: 7,797,909 msg/sec AtomicQueueB2, 5,s: 7,595,459 msg/sec AtomicQueueB2, 5,i: 7,715,590 msg/sec AtomicQueueB2, 6,s: 7,177,687 msg/sec AtomicQueueB2, 6,i: 7,442,921 msg/sec AtomicQueueB2, 7,s: 6,969,750 msg/sec AtomicQueueB2, 7,i: 7,712,425 msg/sec AtomicQueueB2, 8,s: 6,281,958 msg/sec AtomicQueueB2, 8,i: 7,102,250 msg/sec OptimistAtomicQueue2, 1,s: 436,003,750 msg/sec OptimistAtomicQueue2, 1,i: 31,464,484 msg/sec OptimistAtomicQueue2, 2,s: 26,415,592 msg/sec OptimistAtomicQueue2, 2,i: 24,006,936 msg/sec OptimistAtomicQueue2, 3,s: 30,322,808 msg/sec OptimistAtomicQueue2, 3,i: 30,027,776 msg/sec OptimistAtomicQueue2, 4,s: 33,237,501 msg/sec OptimistAtomicQueue2, 4,i: 33,408,501 msg/sec OptimistAtomicQueue2, 5,s: 36,979,098 msg/sec OptimistAtomicQueue2, 5,i: 41,835,849 msg/sec OptimistAtomicQueue2, 6,s: 40,492,082 msg/sec OptimistAtomicQueue2, 6,i: 48,620,876 msg/sec OptimistAtomicQueue2, 7,s: 43,125,431 msg/sec OptimistAtomicQueue2, 7,i: 47,946,675 msg/sec OptimistAtomicQueue2, 8,s: 44,042,191 msg/sec OptimistAtomicQueue2, 8,i: 49,519,558 msg/sec OptimistAtomicQueueB2, 1,s: 75,540,608 msg/sec OptimistAtomicQueueB2, 1,i: 33,933,544 msg/sec OptimistAtomicQueueB2, 2,s: 27,262,576 msg/sec OptimistAtomicQueueB2, 2,i: 25,532,543 msg/sec OptimistAtomicQueueB2, 3,s: 29,719,566 msg/sec OptimistAtomicQueueB2, 3,i: 29,653,497 msg/sec OptimistAtomicQueueB2, 4,s: 33,472,261 msg/sec OptimistAtomicQueueB2, 4,i: 32,577,386 msg/sec OptimistAtomicQueueB2, 5,s: 34,655,363 msg/sec OptimistAtomicQueueB2, 5,i: 39,151,417 msg/sec OptimistAtomicQueueB2, 6,s: 37,218,778 msg/sec OptimistAtomicQueueB2, 6,i: 42,205,102 msg/sec OptimistAtomicQueueB2, 7,s: 40,833,693 msg/sec OptimistAtomicQueueB2, 7,i: 45,181,834 msg/sec OptimistAtomicQueueB2, 8,s: 42,020,117 msg/sec OptimistAtomicQueueB2, 8,i: 45,843,043 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000300 sec/round-trip std::mutex: 0.000000516 sec/round-trip tbb::spin_mutex: 0.000000309 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000363 sec/round-trip xenium::ramalhete_queue: 0.000000257 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000189 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [32] 439m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,107,144 msg/sec boost::lockfree::spsc_queue, 1,i: 69,966,227 msg/sec boost::lockfree::queue, 1,s: 7,976,014 msg/sec boost::lockfree::queue, 1,i: 7,998,169 msg/sec boost::lockfree::queue, 2,s: 7,525,012 msg/sec boost::lockfree::queue, 2,i: 7,468,205 msg/sec boost::lockfree::queue, 3,s: 7,429,415 msg/sec boost::lockfree::queue, 3,i: 7,578,453 msg/sec boost::lockfree::queue, 4,s: 6,427,723 msg/sec boost::lockfree::queue, 4,i: 6,781,287 msg/sec boost::lockfree::queue, 5,s: 6,407,165 msg/sec boost::lockfree::queue, 5,i: 6,514,921 msg/sec boost::lockfree::queue, 6,s: 5,968,470 msg/sec boost::lockfree::queue, 6,i: 6,149,136 msg/sec boost::lockfree::queue, 7,s: 6,039,402 msg/sec boost::lockfree::queue, 7,i: 5,932,765 msg/sec boost::lockfree::queue, 8,s: 5,427,997 msg/sec boost::lockfree::queue, 8,i: 5,685,758 msg/sec moodycamel::ReaderWriterQueue, 1,s: 62,986,543 msg/sec moodycamel::ReaderWriterQueue, 1,i: 57,833,880 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,563,824 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,491,351 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,805,364 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,978,374 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,885,147 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,448,153 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,512,035 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,040,352 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,326,632 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,542,137 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,420,839 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,638,125 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,098,333 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,297,789 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,343,280 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,902,883 msg/sec pthread_spinlock, 1,s: 29,158,231 msg/sec pthread_spinlock, 1,i: 25,446,228 msg/sec pthread_spinlock, 2,s: 15,679,173 msg/sec pthread_spinlock, 2,i: 18,049,022 msg/sec pthread_spinlock, 3,s: 8,244,673 msg/sec pthread_spinlock, 3,i: 12,015,026 msg/sec pthread_spinlock, 4,s: 6,507,305 msg/sec pthread_spinlock, 4,i: 8,923,400 msg/sec pthread_spinlock, 5,s: 8,828,594 msg/sec pthread_spinlock, 5,i: 9,099,145 msg/sec pthread_spinlock, 6,s: 8,335,539 msg/sec pthread_spinlock, 6,i: 8,613,428 msg/sec pthread_spinlock, 7,s: 7,746,674 msg/sec pthread_spinlock, 7,i: 7,763,975 msg/sec pthread_spinlock, 8,s: 6,666,078 msg/sec pthread_spinlock, 8,i: 6,922,664 msg/sec std::mutex, 1,s: 7,770,649 msg/sec std::mutex, 1,i: 7,290,158 msg/sec std::mutex, 2,s: 5,406,449 msg/sec std::mutex, 2,i: 5,467,873 msg/sec std::mutex, 3,s: 5,199,951 msg/sec std::mutex, 3,i: 6,206,581 msg/sec std::mutex, 4,s: 6,172,031 msg/sec std::mutex, 4,i: 6,163,163 msg/sec std::mutex, 5,s: 5,987,036 msg/sec std::mutex, 5,i: 5,972,261 msg/sec std::mutex, 6,s: 5,944,868 msg/sec std::mutex, 6,i: 5,945,631 msg/sec std::mutex, 7,s: 5,881,239 msg/sec std::mutex, 7,i: 5,837,474 msg/sec std::mutex, 8,s: 5,743,592 msg/sec std::mutex, 8,i: 5,732,018 msg/sec tbb::spin_mutex, 1,s: 41,810,119 msg/sec tbb::spin_mutex, 1,i: 41,566,268 msg/sec tbb::spin_mutex, 2,s: 21,644,896 msg/sec tbb::spin_mutex, 2,i: 18,376,206 msg/sec tbb::spin_mutex, 3,s: 8,995,953 msg/sec tbb::spin_mutex, 3,i: 10,935,324 msg/sec tbb::spin_mutex, 4,s: 3,246,711 msg/sec tbb::spin_mutex, 4,i: 6,285,101 msg/sec tbb::spin_mutex, 5,s: 5,508,757 msg/sec tbb::spin_mutex, 5,i: 5,627,407 msg/sec tbb::spin_mutex, 6,s: 5,318,412 msg/sec tbb::spin_mutex, 6,i: 4,367,513 msg/sec tbb::spin_mutex, 7,s: 4,516,482 msg/sec tbb::spin_mutex, 7,i: 4,333,464 msg/sec tbb::spin_mutex, 8,s: 3,844,656 msg/sec tbb::spin_mutex, 8,i: 4,171,615 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,105,980 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,094,229 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,072,221 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,083,669 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,322,980 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,396,387 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,327,538 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,234,167 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,635,434 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,730,849 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,755,085 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,970,765 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,908,051 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,065,114 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,873,124 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,132,750 msg/sec xenium::michael_scott_queue, 1,s: 9,479,909 msg/sec xenium::michael_scott_queue, 1,i: 9,184,507 msg/sec xenium::michael_scott_queue, 2,s: 8,436,547 msg/sec xenium::michael_scott_queue, 2,i: 8,631,727 msg/sec xenium::michael_scott_queue, 3,s: 7,316,012 msg/sec xenium::michael_scott_queue, 3,i: 7,690,232 msg/sec xenium::michael_scott_queue, 4,s: 6,292,605 msg/sec xenium::michael_scott_queue, 4,i: 6,405,554 msg/sec xenium::michael_scott_queue, 5,s: 6,272,854 msg/sec xenium::michael_scott_queue, 5,i: 6,743,774 msg/sec xenium::michael_scott_queue, 6,s: 6,468,331 msg/sec xenium::michael_scott_queue, 6,i: 6,992,090 msg/sec xenium::michael_scott_queue, 7,s: 6,325,358 msg/sec xenium::michael_scott_queue, 7,i: 6,502,110 msg/sec xenium::michael_scott_queue, 8,s: 6,017,175 msg/sec xenium::michael_scott_queue, 8,i: 6,250,713 msg/sec xenium::ramalhete_queue, 1,s: 32,155,787 msg/sec xenium::ramalhete_queue, 1,i: 32,425,760 msg/sec xenium::ramalhete_queue, 2,s: 23,531,493 msg/sec xenium::ramalhete_queue, 2,i: 23,238,907 msg/sec xenium::ramalhete_queue, 3,s: 29,132,517 msg/sec xenium::ramalhete_queue, 3,i: 28,448,284 msg/sec xenium::ramalhete_queue, 4,s: 33,858,256 msg/sec xenium::ramalhete_queue, 4,i: 33,453,650 msg/sec xenium::ramalhete_queue, 5,s: 32,159,937 msg/sec xenium::ramalhete_queue, 5,i: 36,131,914 msg/sec xenium::ramalhete_queue, 6,s: 33,878,451 msg/sec xenium::ramalhete_queue, 6,i: 39,015,797 msg/sec xenium::ramalhete_queue, 7,s: 35,188,932 msg/sec xenium::ramalhete_queue, 7,i: 41,479,151 msg/sec xenium::ramalhete_queue, 8,s: 35,329,090 msg/sec xenium::ramalhete_queue, 8,i: 44,136,454 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,046,423 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,464,166 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,949,199 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,419,329 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,669,310 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,585,605 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,681,295 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,320,639 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,879,250 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,320,930 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,041,196 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,462,500 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,161,311 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,364,498 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,403,922 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,219,263 msg/sec AtomicQueue, 1,s: 58,293,771 msg/sec AtomicQueue, 1,i: 56,411,860 msg/sec AtomicQueue, 2,s: 12,162,418 msg/sec AtomicQueue, 2,i: 11,742,833 msg/sec AtomicQueue, 3,s: 10,770,441 msg/sec AtomicQueue, 3,i: 9,935,605 msg/sec AtomicQueue, 4,s: 8,170,994 msg/sec AtomicQueue, 4,i: 8,196,150 msg/sec AtomicQueue, 5,s: 8,048,913 msg/sec AtomicQueue, 5,i: 8,129,853 msg/sec AtomicQueue, 6,s: 7,871,140 msg/sec AtomicQueue, 6,i: 7,619,914 msg/sec AtomicQueue, 7,s: 7,106,671 msg/sec AtomicQueue, 7,i: 8,000,041 msg/sec AtomicQueue, 8,s: 6,350,500 msg/sec AtomicQueue, 8,i: 7,444,214 msg/sec AtomicQueueB, 1,s: 43,968,737 msg/sec AtomicQueueB, 1,i: 43,269,929 msg/sec AtomicQueueB, 2,s: 11,761,703 msg/sec AtomicQueueB, 2,i: 11,521,944 msg/sec AtomicQueueB, 3,s: 11,089,227 msg/sec AtomicQueueB, 3,i: 10,194,093 msg/sec AtomicQueueB, 4,s: 8,051,654 msg/sec AtomicQueueB, 4,i: 8,102,868 msg/sec AtomicQueueB, 5,s: 7,684,774 msg/sec AtomicQueueB, 5,i: 7,813,335 msg/sec AtomicQueueB, 6,s: 7,203,243 msg/sec AtomicQueueB, 6,i: 7,510,762 msg/sec AtomicQueueB, 7,s: 6,827,142 msg/sec AtomicQueueB, 7,i: 7,761,131 msg/sec AtomicQueueB, 8,s: 6,184,061 msg/sec AtomicQueueB, 8,i: 7,022,691 msg/sec OptimistAtomicQueue, 1,s: 762,536,141 msg/sec OptimistAtomicQueue, 1,i: 641,932,164 msg/sec OptimistAtomicQueue, 2,s: 32,655,480 msg/sec OptimistAtomicQueue, 2,i: 32,720,246 msg/sec OptimistAtomicQueue, 3,s: 36,665,291 msg/sec OptimistAtomicQueue, 3,i: 37,502,834 msg/sec OptimistAtomicQueue, 4,s: 39,274,300 msg/sec OptimistAtomicQueue, 4,i: 39,413,499 msg/sec OptimistAtomicQueue, 5,s: 42,506,339 msg/sec OptimistAtomicQueue, 5,i: 46,352,566 msg/sec OptimistAtomicQueue, 6,s: 42,148,711 msg/sec OptimistAtomicQueue, 6,i: 50,387,722 msg/sec OptimistAtomicQueue, 7,s: 45,274,705 msg/sec OptimistAtomicQueue, 7,i: 49,428,754 msg/sec OptimistAtomicQueue, 8,s: 46,467,422 msg/sec OptimistAtomicQueue, 8,i: 49,841,095 msg/sec OptimistAtomicQueueB, 1,s: 96,861,254 msg/sec OptimistAtomicQueueB, 1,i: 76,460,227 msg/sec OptimistAtomicQueueB, 2,s: 32,209,178 msg/sec OptimistAtomicQueueB, 2,i: 32,227,258 msg/sec OptimistAtomicQueueB, 3,s: 36,321,601 msg/sec OptimistAtomicQueueB, 3,i: 36,786,973 msg/sec OptimistAtomicQueueB, 4,s: 38,685,385 msg/sec OptimistAtomicQueueB, 4,i: 38,571,243 msg/sec OptimistAtomicQueueB, 5,s: 40,984,860 msg/sec OptimistAtomicQueueB, 5,i: 46,173,692 msg/sec OptimistAtomicQueueB, 6,s: 40,706,789 msg/sec OptimistAtomicQueueB, 6,i: 48,710,978 msg/sec OptimistAtomicQueueB, 7,s: 42,477,127 msg/sec OptimistAtomicQueueB, 7,i: 48,284,318 msg/sec OptimistAtomicQueueB, 8,s: 44,345,856 msg/sec OptimistAtomicQueueB, 8,i: 47,652,872 msg/sec AtomicQueue2, 1,s: 22,964,030 msg/sec AtomicQueue2, 1,i: 22,909,014 msg/sec AtomicQueue2, 2,s: 12,086,655 msg/sec AtomicQueue2, 2,i: 11,563,199 msg/sec AtomicQueue2, 3,s: 9,621,509 msg/sec AtomicQueue2, 3,i: 9,460,649 msg/sec AtomicQueue2, 4,s: 8,050,466 msg/sec AtomicQueue2, 4,i: 8,018,975 msg/sec AtomicQueue2, 5,s: 7,908,848 msg/sec AtomicQueue2, 5,i: 8,028,798 msg/sec AtomicQueue2, 6,s: 7,687,206 msg/sec AtomicQueue2, 6,i: 7,519,934 msg/sec AtomicQueue2, 7,s: 7,089,060 msg/sec AtomicQueue2, 7,i: 7,876,813 msg/sec AtomicQueue2, 8,s: 6,353,941 msg/sec AtomicQueue2, 8,i: 7,382,518 msg/sec AtomicQueueB2, 1,s: 33,480,624 msg/sec AtomicQueueB2, 1,i: 34,327,599 msg/sec AtomicQueueB2, 2,s: 11,330,673 msg/sec AtomicQueueB2, 2,i: 11,118,553 msg/sec AtomicQueueB2, 3,s: 9,641,381 msg/sec AtomicQueueB2, 3,i: 9,566,982 msg/sec AtomicQueueB2, 4,s: 7,821,971 msg/sec AtomicQueueB2, 4,i: 7,823,140 msg/sec AtomicQueueB2, 5,s: 7,486,883 msg/sec AtomicQueueB2, 5,i: 7,722,504 msg/sec AtomicQueueB2, 6,s: 7,265,151 msg/sec AtomicQueueB2, 6,i: 7,413,039 msg/sec AtomicQueueB2, 7,s: 6,893,262 msg/sec AtomicQueueB2, 7,i: 7,518,766 msg/sec AtomicQueueB2, 8,s: 6,350,048 msg/sec AtomicQueueB2, 8,i: 6,967,079 msg/sec OptimistAtomicQueue2, 1,s: 524,352,778 msg/sec OptimistAtomicQueue2, 1,i: 32,241,251 msg/sec OptimistAtomicQueue2, 2,s: 29,430,028 msg/sec OptimistAtomicQueue2, 2,i: 24,537,172 msg/sec OptimistAtomicQueue2, 3,s: 30,336,621 msg/sec OptimistAtomicQueue2, 3,i: 30,064,910 msg/sec OptimistAtomicQueue2, 4,s: 33,389,923 msg/sec OptimistAtomicQueue2, 4,i: 33,234,793 msg/sec OptimistAtomicQueue2, 5,s: 36,928,714 msg/sec OptimistAtomicQueue2, 5,i: 40,188,139 msg/sec OptimistAtomicQueue2, 6,s: 40,418,302 msg/sec OptimistAtomicQueue2, 6,i: 49,290,925 msg/sec OptimistAtomicQueue2, 7,s: 43,217,722 msg/sec OptimistAtomicQueue2, 7,i: 51,414,088 msg/sec OptimistAtomicQueue2, 8,s: 43,937,361 msg/sec OptimistAtomicQueue2, 8,i: 49,157,096 msg/sec OptimistAtomicQueueB2, 1,s: 77,386,887 msg/sec OptimistAtomicQueueB2, 1,i: 33,866,893 msg/sec OptimistAtomicQueueB2, 2,s: 28,861,033 msg/sec OptimistAtomicQueueB2, 2,i: 27,508,075 msg/sec OptimistAtomicQueueB2, 3,s: 30,255,387 msg/sec OptimistAtomicQueueB2, 3,i: 29,198,593 msg/sec OptimistAtomicQueueB2, 4,s: 32,682,059 msg/sec OptimistAtomicQueueB2, 4,i: 31,878,152 msg/sec OptimistAtomicQueueB2, 5,s: 34,809,436 msg/sec OptimistAtomicQueueB2, 5,i: 40,088,791 msg/sec OptimistAtomicQueueB2, 6,s: 37,979,597 msg/sec OptimistAtomicQueueB2, 6,i: 42,213,553 msg/sec OptimistAtomicQueueB2, 7,s: 40,810,921 msg/sec OptimistAtomicQueueB2, 7,i: 43,283,903 msg/sec OptimistAtomicQueueB2, 8,s: 42,328,987 msg/sec OptimistAtomicQueueB2, 8,i: 45,920,797 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000314 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000256 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [33] 437m:50s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 77,604,736 msg/sec boost::lockfree::spsc_queue, 1,i: 78,317,500 msg/sec boost::lockfree::queue, 1,s: 8,099,161 msg/sec boost::lockfree::queue, 1,i: 7,518,172 msg/sec boost::lockfree::queue, 2,s: 7,640,394 msg/sec boost::lockfree::queue, 2,i: 7,580,429 msg/sec boost::lockfree::queue, 3,s: 7,444,554 msg/sec boost::lockfree::queue, 3,i: 7,596,996 msg/sec boost::lockfree::queue, 4,s: 6,417,123 msg/sec boost::lockfree::queue, 4,i: 6,788,982 msg/sec boost::lockfree::queue, 5,s: 6,391,484 msg/sec boost::lockfree::queue, 5,i: 6,482,778 msg/sec boost::lockfree::queue, 6,s: 5,984,159 msg/sec boost::lockfree::queue, 6,i: 6,131,242 msg/sec boost::lockfree::queue, 7,s: 6,026,186 msg/sec boost::lockfree::queue, 7,i: 6,055,971 msg/sec boost::lockfree::queue, 8,s: 5,488,559 msg/sec boost::lockfree::queue, 8,i: 5,550,362 msg/sec moodycamel::ReaderWriterQueue, 1,s: 164,394,488 msg/sec moodycamel::ReaderWriterQueue, 1,i: 67,920,168 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,904,551 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,830,392 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,855,465 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,334,692 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,726,781 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,059,436 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,226,907 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,533,367 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,019,956 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,847,308 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,506,970 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,035,036 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,859,212 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,374,808 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,184,290 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,448,031 msg/sec pthread_spinlock, 1,s: 28,933,093 msg/sec pthread_spinlock, 1,i: 25,487,833 msg/sec pthread_spinlock, 2,s: 15,593,047 msg/sec pthread_spinlock, 2,i: 16,844,122 msg/sec pthread_spinlock, 3,s: 8,289,680 msg/sec pthread_spinlock, 3,i: 12,059,489 msg/sec pthread_spinlock, 4,s: 6,458,874 msg/sec pthread_spinlock, 4,i: 9,234,409 msg/sec pthread_spinlock, 5,s: 8,652,942 msg/sec pthread_spinlock, 5,i: 9,553,471 msg/sec pthread_spinlock, 6,s: 8,446,079 msg/sec pthread_spinlock, 6,i: 8,901,675 msg/sec pthread_spinlock, 7,s: 7,583,242 msg/sec pthread_spinlock, 7,i: 7,895,049 msg/sec pthread_spinlock, 8,s: 6,810,914 msg/sec pthread_spinlock, 8,i: 7,455,691 msg/sec std::mutex, 1,s: 6,429,520 msg/sec std::mutex, 1,i: 7,028,790 msg/sec std::mutex, 2,s: 6,080,595 msg/sec std::mutex, 2,i: 6,076,891 msg/sec std::mutex, 3,s: 6,096,406 msg/sec std::mutex, 3,i: 5,830,613 msg/sec std::mutex, 4,s: 6,241,217 msg/sec std::mutex, 4,i: 6,183,290 msg/sec std::mutex, 5,s: 6,124,841 msg/sec std::mutex, 5,i: 6,114,292 msg/sec std::mutex, 6,s: 5,896,917 msg/sec std::mutex, 6,i: 5,958,154 msg/sec std::mutex, 7,s: 5,813,525 msg/sec std::mutex, 7,i: 5,827,264 msg/sec std::mutex, 8,s: 5,698,158 msg/sec std::mutex, 8,i: 5,673,834 msg/sec tbb::spin_mutex, 1,s: 37,591,662 msg/sec tbb::spin_mutex, 1,i: 33,080,650 msg/sec tbb::spin_mutex, 2,s: 21,288,280 msg/sec tbb::spin_mutex, 2,i: 18,455,787 msg/sec tbb::spin_mutex, 3,s: 7,432,851 msg/sec tbb::spin_mutex, 3,i: 11,091,318 msg/sec tbb::spin_mutex, 4,s: 3,142,778 msg/sec tbb::spin_mutex, 4,i: 6,300,959 msg/sec tbb::spin_mutex, 5,s: 5,558,661 msg/sec tbb::spin_mutex, 5,i: 5,647,984 msg/sec tbb::spin_mutex, 6,s: 5,295,353 msg/sec tbb::spin_mutex, 6,i: 4,330,069 msg/sec tbb::spin_mutex, 7,s: 4,837,299 msg/sec tbb::spin_mutex, 7,i: 4,305,120 msg/sec tbb::spin_mutex, 8,s: 4,225,504 msg/sec tbb::spin_mutex, 8,i: 4,074,169 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,029,873 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,581,756 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,919,302 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,498,787 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,408,782 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,751,686 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,412,120 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,287,822 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,642,094 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,886,826 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,991,317 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,913,403 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,021,816 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,995,520 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,961,367 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,084,440 msg/sec xenium::michael_scott_queue, 1,s: 10,123,435 msg/sec xenium::michael_scott_queue, 1,i: 9,788,000 msg/sec xenium::michael_scott_queue, 2,s: 8,487,550 msg/sec xenium::michael_scott_queue, 2,i: 8,405,194 msg/sec xenium::michael_scott_queue, 3,s: 7,280,253 msg/sec xenium::michael_scott_queue, 3,i: 7,517,751 msg/sec xenium::michael_scott_queue, 4,s: 6,376,021 msg/sec xenium::michael_scott_queue, 4,i: 6,343,456 msg/sec xenium::michael_scott_queue, 5,s: 6,294,053 msg/sec xenium::michael_scott_queue, 5,i: 6,579,256 msg/sec xenium::michael_scott_queue, 6,s: 6,515,417 msg/sec xenium::michael_scott_queue, 6,i: 6,646,098 msg/sec xenium::michael_scott_queue, 7,s: 6,355,682 msg/sec xenium::michael_scott_queue, 7,i: 6,438,674 msg/sec xenium::michael_scott_queue, 8,s: 5,953,872 msg/sec xenium::michael_scott_queue, 8,i: 6,059,740 msg/sec xenium::ramalhete_queue, 1,s: 31,124,566 msg/sec xenium::ramalhete_queue, 1,i: 31,704,043 msg/sec xenium::ramalhete_queue, 2,s: 24,278,410 msg/sec xenium::ramalhete_queue, 2,i: 23,264,333 msg/sec xenium::ramalhete_queue, 3,s: 29,193,523 msg/sec xenium::ramalhete_queue, 3,i: 28,430,876 msg/sec xenium::ramalhete_queue, 4,s: 33,789,611 msg/sec xenium::ramalhete_queue, 4,i: 33,461,483 msg/sec xenium::ramalhete_queue, 5,s: 32,079,448 msg/sec xenium::ramalhete_queue, 5,i: 38,224,541 msg/sec xenium::ramalhete_queue, 6,s: 34,116,344 msg/sec xenium::ramalhete_queue, 6,i: 39,495,556 msg/sec xenium::ramalhete_queue, 7,s: 34,980,306 msg/sec xenium::ramalhete_queue, 7,i: 41,349,154 msg/sec xenium::ramalhete_queue, 8,s: 35,511,163 msg/sec xenium::ramalhete_queue, 8,i: 44,122,778 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,106,367 msg/sec xenium::vyukov_bounded_queue, 1,i: 92,733,319 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,064,928 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,698,968 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,697,385 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,772,304 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,528,146 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,236,418 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,558,381 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,345,385 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,243,092 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,185,755 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,216,824 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,055,920 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,394,991 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,335,631 msg/sec AtomicQueue, 1,s: 61,280,238 msg/sec AtomicQueue, 1,i: 57,005,591 msg/sec AtomicQueue, 2,s: 12,257,305 msg/sec AtomicQueue, 2,i: 11,740,779 msg/sec AtomicQueue, 3,s: 10,785,244 msg/sec AtomicQueue, 3,i: 9,973,355 msg/sec AtomicQueue, 4,s: 8,200,176 msg/sec AtomicQueue, 4,i: 8,189,995 msg/sec AtomicQueue, 5,s: 8,039,680 msg/sec AtomicQueue, 5,i: 8,094,781 msg/sec AtomicQueue, 6,s: 7,791,681 msg/sec AtomicQueue, 6,i: 7,623,256 msg/sec AtomicQueue, 7,s: 7,146,896 msg/sec AtomicQueue, 7,i: 7,972,735 msg/sec AtomicQueue, 8,s: 6,364,496 msg/sec AtomicQueue, 8,i: 7,448,296 msg/sec AtomicQueueB, 1,s: 95,338,618 msg/sec AtomicQueueB, 1,i: 43,093,817 msg/sec AtomicQueueB, 2,s: 11,851,338 msg/sec AtomicQueueB, 2,i: 11,508,454 msg/sec AtomicQueueB, 3,s: 10,922,469 msg/sec AtomicQueueB, 3,i: 10,130,855 msg/sec AtomicQueueB, 4,s: 8,088,166 msg/sec AtomicQueueB, 4,i: 8,013,712 msg/sec AtomicQueueB, 5,s: 7,482,799 msg/sec AtomicQueueB, 5,i: 7,860,704 msg/sec AtomicQueueB, 6,s: 7,468,746 msg/sec AtomicQueueB, 6,i: 7,531,720 msg/sec AtomicQueueB, 7,s: 6,913,967 msg/sec AtomicQueueB, 7,i: 7,700,242 msg/sec AtomicQueueB, 8,s: 6,226,222 msg/sec AtomicQueueB, 8,i: 7,013,137 msg/sec OptimistAtomicQueue, 1,s: 733,062,185 msg/sec OptimistAtomicQueue, 1,i: 513,664,305 msg/sec OptimistAtomicQueue, 2,s: 32,134,462 msg/sec OptimistAtomicQueue, 2,i: 31,942,218 msg/sec OptimistAtomicQueue, 3,s: 36,614,020 msg/sec OptimistAtomicQueue, 3,i: 37,295,366 msg/sec OptimistAtomicQueue, 4,s: 39,294,716 msg/sec OptimistAtomicQueue, 4,i: 39,355,862 msg/sec OptimistAtomicQueue, 5,s: 41,770,191 msg/sec OptimistAtomicQueue, 5,i: 46,282,444 msg/sec OptimistAtomicQueue, 6,s: 42,197,621 msg/sec OptimistAtomicQueue, 6,i: 50,257,499 msg/sec OptimistAtomicQueue, 7,s: 45,318,810 msg/sec OptimistAtomicQueue, 7,i: 52,072,598 msg/sec OptimistAtomicQueue, 8,s: 46,333,214 msg/sec OptimistAtomicQueue, 8,i: 49,651,551 msg/sec OptimistAtomicQueueB, 1,s: 105,096,853 msg/sec OptimistAtomicQueueB, 1,i: 77,538,648 msg/sec OptimistAtomicQueueB, 2,s: 32,124,240 msg/sec OptimistAtomicQueueB, 2,i: 32,190,923 msg/sec OptimistAtomicQueueB, 3,s: 36,307,693 msg/sec OptimistAtomicQueueB, 3,i: 36,983,917 msg/sec OptimistAtomicQueueB, 4,s: 38,689,496 msg/sec OptimistAtomicQueueB, 4,i: 38,672,854 msg/sec OptimistAtomicQueueB, 5,s: 41,082,859 msg/sec OptimistAtomicQueueB, 5,i: 45,387,336 msg/sec OptimistAtomicQueueB, 6,s: 40,488,014 msg/sec OptimistAtomicQueueB, 6,i: 49,149,361 msg/sec OptimistAtomicQueueB, 7,s: 42,169,667 msg/sec OptimistAtomicQueueB, 7,i: 47,955,474 msg/sec OptimistAtomicQueueB, 8,s: 44,425,428 msg/sec OptimistAtomicQueueB, 8,i: 48,250,437 msg/sec AtomicQueue2, 1,s: 22,924,947 msg/sec AtomicQueue2, 1,i: 22,977,016 msg/sec AtomicQueue2, 2,s: 11,865,832 msg/sec AtomicQueue2, 2,i: 11,398,311 msg/sec AtomicQueue2, 3,s: 9,383,745 msg/sec AtomicQueue2, 3,i: 9,459,377 msg/sec AtomicQueue2, 4,s: 8,064,930 msg/sec AtomicQueue2, 4,i: 8,055,366 msg/sec AtomicQueue2, 5,s: 7,964,930 msg/sec AtomicQueue2, 5,i: 8,051,132 msg/sec AtomicQueue2, 6,s: 7,624,947 msg/sec AtomicQueue2, 6,i: 7,526,462 msg/sec AtomicQueue2, 7,s: 7,143,809 msg/sec AtomicQueue2, 7,i: 7,884,035 msg/sec AtomicQueue2, 8,s: 6,412,356 msg/sec AtomicQueue2, 8,i: 7,320,598 msg/sec AtomicQueueB2, 1,s: 32,710,628 msg/sec AtomicQueueB2, 1,i: 32,619,320 msg/sec AtomicQueueB2, 2,s: 11,391,671 msg/sec AtomicQueueB2, 2,i: 11,121,266 msg/sec AtomicQueueB2, 3,s: 9,641,500 msg/sec AtomicQueueB2, 3,i: 9,569,548 msg/sec AtomicQueueB2, 4,s: 7,946,459 msg/sec AtomicQueueB2, 4,i: 7,777,333 msg/sec AtomicQueueB2, 5,s: 7,503,160 msg/sec AtomicQueueB2, 5,i: 7,737,026 msg/sec AtomicQueueB2, 6,s: 7,314,215 msg/sec AtomicQueueB2, 6,i: 7,423,092 msg/sec AtomicQueueB2, 7,s: 6,881,162 msg/sec AtomicQueueB2, 7,i: 7,704,129 msg/sec AtomicQueueB2, 8,s: 6,244,008 msg/sec AtomicQueueB2, 8,i: 7,110,285 msg/sec OptimistAtomicQueue2, 1,s: 509,998,716 msg/sec OptimistAtomicQueue2, 1,i: 30,049,275 msg/sec OptimistAtomicQueue2, 2,s: 24,268,194 msg/sec OptimistAtomicQueue2, 2,i: 24,018,595 msg/sec OptimistAtomicQueue2, 3,s: 30,309,974 msg/sec OptimistAtomicQueue2, 3,i: 29,974,819 msg/sec OptimistAtomicQueue2, 4,s: 33,100,384 msg/sec OptimistAtomicQueue2, 4,i: 33,517,623 msg/sec OptimistAtomicQueue2, 5,s: 37,206,348 msg/sec OptimistAtomicQueue2, 5,i: 40,412,975 msg/sec OptimistAtomicQueue2, 6,s: 40,102,403 msg/sec OptimistAtomicQueue2, 6,i: 49,283,577 msg/sec OptimistAtomicQueue2, 7,s: 43,360,716 msg/sec OptimistAtomicQueue2, 7,i: 51,775,906 msg/sec OptimistAtomicQueue2, 8,s: 43,947,413 msg/sec OptimistAtomicQueue2, 8,i: 48,633,365 msg/sec OptimistAtomicQueueB2, 1,s: 77,406,007 msg/sec OptimistAtomicQueueB2, 1,i: 33,871,045 msg/sec OptimistAtomicQueueB2, 2,s: 27,777,811 msg/sec OptimistAtomicQueueB2, 2,i: 23,816,685 msg/sec OptimistAtomicQueueB2, 3,s: 29,774,682 msg/sec OptimistAtomicQueueB2, 3,i: 29,296,654 msg/sec OptimistAtomicQueueB2, 4,s: 32,971,036 msg/sec OptimistAtomicQueueB2, 4,i: 32,790,534 msg/sec OptimistAtomicQueueB2, 5,s: 34,560,162 msg/sec OptimistAtomicQueueB2, 5,i: 39,406,768 msg/sec OptimistAtomicQueueB2, 6,s: 37,481,158 msg/sec OptimistAtomicQueueB2, 6,i: 42,303,983 msg/sec OptimistAtomicQueueB2, 7,s: 40,047,202 msg/sec OptimistAtomicQueueB2, 7,i: 43,146,123 msg/sec OptimistAtomicQueueB2, 8,s: 42,561,629 msg/sec OptimistAtomicQueueB2, 8,i: 45,334,453 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000157 sec/round-trip moodycamel::ConcurrentQueue: 0.000000213 sec/round-trip pthread_spinlock: 0.000000233 sec/round-trip std::mutex: 0.000000455 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000259 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000148 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [34] 436m:31s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,033,952 msg/sec boost::lockfree::spsc_queue, 1,i: 71,414,595 msg/sec boost::lockfree::queue, 1,s: 7,838,224 msg/sec boost::lockfree::queue, 1,i: 6,918,612 msg/sec boost::lockfree::queue, 2,s: 7,650,205 msg/sec boost::lockfree::queue, 2,i: 7,475,433 msg/sec boost::lockfree::queue, 3,s: 7,353,154 msg/sec boost::lockfree::queue, 3,i: 7,568,137 msg/sec boost::lockfree::queue, 4,s: 6,427,186 msg/sec boost::lockfree::queue, 4,i: 6,829,881 msg/sec boost::lockfree::queue, 5,s: 6,456,491 msg/sec boost::lockfree::queue, 5,i: 6,498,911 msg/sec boost::lockfree::queue, 6,s: 6,028,000 msg/sec boost::lockfree::queue, 6,i: 6,137,630 msg/sec boost::lockfree::queue, 7,s: 5,963,695 msg/sec boost::lockfree::queue, 7,i: 6,099,893 msg/sec boost::lockfree::queue, 8,s: 5,420,057 msg/sec boost::lockfree::queue, 8,i: 5,746,779 msg/sec moodycamel::ReaderWriterQueue, 1,s: 445,892,256 msg/sec moodycamel::ReaderWriterQueue, 1,i: 490,601,064 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,024,876 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,849,696 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,402,870 msg/sec moodycamel::ConcurrentQueue, 2,i: 44,929,853 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,895,244 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,470,790 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,098,223 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,801,013 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,164,502 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,098,577 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,302,739 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,822,534 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,949,864 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,115,570 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,300,537 msg/sec moodycamel::ConcurrentQueue, 8,i: 36,618,458 msg/sec pthread_spinlock, 1,s: 28,921,923 msg/sec pthread_spinlock, 1,i: 25,359,080 msg/sec pthread_spinlock, 2,s: 15,531,861 msg/sec pthread_spinlock, 2,i: 17,079,672 msg/sec pthread_spinlock, 3,s: 8,283,090 msg/sec pthread_spinlock, 3,i: 12,016,279 msg/sec pthread_spinlock, 4,s: 6,520,872 msg/sec pthread_spinlock, 4,i: 9,172,088 msg/sec pthread_spinlock, 5,s: 8,660,300 msg/sec pthread_spinlock, 5,i: 9,148,701 msg/sec pthread_spinlock, 6,s: 8,270,421 msg/sec pthread_spinlock, 6,i: 9,045,334 msg/sec pthread_spinlock, 7,s: 7,761,850 msg/sec pthread_spinlock, 7,i: 7,466,332 msg/sec pthread_spinlock, 8,s: 6,875,421 msg/sec pthread_spinlock, 8,i: 6,949,320 msg/sec std::mutex, 1,s: 6,960,598 msg/sec std::mutex, 1,i: 7,588,338 msg/sec std::mutex, 2,s: 6,016,961 msg/sec std::mutex, 2,i: 6,183,066 msg/sec std::mutex, 3,s: 5,518,808 msg/sec std::mutex, 3,i: 5,491,754 msg/sec std::mutex, 4,s: 6,169,319 msg/sec std::mutex, 4,i: 5,762,087 msg/sec std::mutex, 5,s: 5,540,447 msg/sec std::mutex, 5,i: 6,290,013 msg/sec std::mutex, 6,s: 5,844,288 msg/sec std::mutex, 6,i: 5,890,799 msg/sec std::mutex, 7,s: 5,777,311 msg/sec std::mutex, 7,i: 5,812,591 msg/sec std::mutex, 8,s: 5,704,162 msg/sec std::mutex, 8,i: 5,726,759 msg/sec tbb::spin_mutex, 1,s: 37,998,558 msg/sec tbb::spin_mutex, 1,i: 37,963,658 msg/sec tbb::spin_mutex, 2,s: 21,156,424 msg/sec tbb::spin_mutex, 2,i: 18,401,088 msg/sec tbb::spin_mutex, 3,s: 8,342,147 msg/sec tbb::spin_mutex, 3,i: 10,815,930 msg/sec tbb::spin_mutex, 4,s: 3,171,319 msg/sec tbb::spin_mutex, 4,i: 6,284,316 msg/sec tbb::spin_mutex, 5,s: 5,459,237 msg/sec tbb::spin_mutex, 5,i: 5,699,631 msg/sec tbb::spin_mutex, 6,s: 5,350,322 msg/sec tbb::spin_mutex, 6,i: 4,337,376 msg/sec tbb::spin_mutex, 7,s: 4,871,304 msg/sec tbb::spin_mutex, 7,i: 4,323,275 msg/sec tbb::spin_mutex, 8,s: 4,272,190 msg/sec tbb::spin_mutex, 8,i: 4,157,675 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,343,939 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,324,809 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,979,143 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,115,050 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,401,311 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,770,383 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,116,190 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,371,314 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,690,694 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,720,848 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,906,244 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,959,163 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,810,003 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,128,513 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,650,702 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,303,630 msg/sec xenium::michael_scott_queue, 1,s: 9,281,211 msg/sec xenium::michael_scott_queue, 1,i: 9,075,904 msg/sec xenium::michael_scott_queue, 2,s: 8,437,687 msg/sec xenium::michael_scott_queue, 2,i: 8,479,676 msg/sec xenium::michael_scott_queue, 3,s: 7,133,261 msg/sec xenium::michael_scott_queue, 3,i: 7,536,397 msg/sec xenium::michael_scott_queue, 4,s: 6,407,146 msg/sec xenium::michael_scott_queue, 4,i: 6,329,871 msg/sec xenium::michael_scott_queue, 5,s: 6,321,291 msg/sec xenium::michael_scott_queue, 5,i: 6,632,354 msg/sec xenium::michael_scott_queue, 6,s: 6,492,004 msg/sec xenium::michael_scott_queue, 6,i: 6,977,456 msg/sec xenium::michael_scott_queue, 7,s: 6,261,705 msg/sec xenium::michael_scott_queue, 7,i: 6,498,092 msg/sec xenium::michael_scott_queue, 8,s: 6,039,516 msg/sec xenium::michael_scott_queue, 8,i: 6,093,883 msg/sec xenium::ramalhete_queue, 1,s: 32,526,266 msg/sec xenium::ramalhete_queue, 1,i: 32,025,958 msg/sec xenium::ramalhete_queue, 2,s: 24,156,388 msg/sec xenium::ramalhete_queue, 2,i: 23,366,451 msg/sec xenium::ramalhete_queue, 3,s: 29,258,790 msg/sec xenium::ramalhete_queue, 3,i: 28,442,107 msg/sec xenium::ramalhete_queue, 4,s: 33,804,961 msg/sec xenium::ramalhete_queue, 4,i: 33,408,908 msg/sec xenium::ramalhete_queue, 5,s: 31,924,609 msg/sec xenium::ramalhete_queue, 5,i: 36,244,272 msg/sec xenium::ramalhete_queue, 6,s: 33,897,335 msg/sec xenium::ramalhete_queue, 6,i: 39,677,644 msg/sec xenium::ramalhete_queue, 7,s: 35,223,025 msg/sec xenium::ramalhete_queue, 7,i: 41,293,888 msg/sec xenium::ramalhete_queue, 8,s: 35,683,615 msg/sec xenium::ramalhete_queue, 8,i: 44,028,492 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,284,002 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,325,497 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,163,101 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,866,000 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,886,205 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,557,894 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,528,134 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,157,249 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,931,507 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,217,682 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,999,752 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,192,264 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,182,094 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,910,103 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,380,153 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,231,944 msg/sec AtomicQueue, 1,s: 61,580,148 msg/sec AtomicQueue, 1,i: 56,815,617 msg/sec AtomicQueue, 2,s: 12,271,325 msg/sec AtomicQueue, 2,i: 11,737,325 msg/sec AtomicQueue, 3,s: 10,824,012 msg/sec AtomicQueue, 3,i: 9,935,164 msg/sec AtomicQueue, 4,s: 8,185,898 msg/sec AtomicQueue, 4,i: 8,199,752 msg/sec AtomicQueue, 5,s: 8,015,079 msg/sec AtomicQueue, 5,i: 8,006,739 msg/sec AtomicQueue, 6,s: 7,778,861 msg/sec AtomicQueue, 6,i: 7,598,468 msg/sec AtomicQueue, 7,s: 7,126,323 msg/sec AtomicQueue, 7,i: 7,988,089 msg/sec AtomicQueue, 8,s: 6,309,631 msg/sec AtomicQueue, 8,i: 7,447,919 msg/sec AtomicQueueB, 1,s: 43,899,689 msg/sec AtomicQueueB, 1,i: 48,641,053 msg/sec AtomicQueueB, 2,s: 11,826,151 msg/sec AtomicQueueB, 2,i: 11,454,078 msg/sec AtomicQueueB, 3,s: 10,991,345 msg/sec AtomicQueueB, 3,i: 10,232,291 msg/sec AtomicQueueB, 4,s: 8,073,140 msg/sec AtomicQueueB, 4,i: 7,986,692 msg/sec AtomicQueueB, 5,s: 7,579,679 msg/sec AtomicQueueB, 5,i: 7,795,964 msg/sec AtomicQueueB, 6,s: 7,338,546 msg/sec AtomicQueueB, 6,i: 7,546,803 msg/sec AtomicQueueB, 7,s: 6,966,107 msg/sec AtomicQueueB, 7,i: 7,765,440 msg/sec AtomicQueueB, 8,s: 6,175,722 msg/sec AtomicQueueB, 8,i: 7,115,301 msg/sec OptimistAtomicQueue, 1,s: 689,723,669 msg/sec OptimistAtomicQueue, 1,i: 719,288,752 msg/sec OptimistAtomicQueue, 2,s: 32,634,394 msg/sec OptimistAtomicQueue, 2,i: 32,720,370 msg/sec OptimistAtomicQueue, 3,s: 36,647,808 msg/sec OptimistAtomicQueue, 3,i: 37,341,598 msg/sec OptimistAtomicQueue, 4,s: 39,306,276 msg/sec OptimistAtomicQueue, 4,i: 39,381,513 msg/sec OptimistAtomicQueue, 5,s: 42,523,525 msg/sec OptimistAtomicQueue, 5,i: 46,369,772 msg/sec OptimistAtomicQueue, 6,s: 42,122,660 msg/sec OptimistAtomicQueue, 6,i: 49,843,975 msg/sec OptimistAtomicQueue, 7,s: 44,364,884 msg/sec OptimistAtomicQueue, 7,i: 53,055,125 msg/sec OptimistAtomicQueue, 8,s: 46,337,510 msg/sec OptimistAtomicQueue, 8,i: 49,225,995 msg/sec OptimistAtomicQueueB, 1,s: 166,253,091 msg/sec OptimistAtomicQueueB, 1,i: 77,723,761 msg/sec OptimistAtomicQueueB, 2,s: 32,137,506 msg/sec OptimistAtomicQueueB, 2,i: 32,263,469 msg/sec OptimistAtomicQueueB, 3,s: 36,302,477 msg/sec OptimistAtomicQueueB, 3,i: 36,971,763 msg/sec OptimistAtomicQueueB, 4,s: 38,725,713 msg/sec OptimistAtomicQueueB, 4,i: 38,576,429 msg/sec OptimistAtomicQueueB, 5,s: 40,303,748 msg/sec OptimistAtomicQueueB, 5,i: 45,518,867 msg/sec OptimistAtomicQueueB, 6,s: 40,472,913 msg/sec OptimistAtomicQueueB, 6,i: 49,036,778 msg/sec OptimistAtomicQueueB, 7,s: 41,630,958 msg/sec OptimistAtomicQueueB, 7,i: 47,965,165 msg/sec OptimistAtomicQueueB, 8,s: 44,270,594 msg/sec OptimistAtomicQueueB, 8,i: 47,876,944 msg/sec AtomicQueue2, 1,s: 22,866,835 msg/sec AtomicQueue2, 1,i: 22,827,880 msg/sec AtomicQueue2, 2,s: 11,707,093 msg/sec AtomicQueue2, 2,i: 11,376,219 msg/sec AtomicQueue2, 3,s: 9,806,424 msg/sec AtomicQueue2, 3,i: 9,441,235 msg/sec AtomicQueue2, 4,s: 8,029,319 msg/sec AtomicQueue2, 4,i: 8,048,194 msg/sec AtomicQueue2, 5,s: 7,848,380 msg/sec AtomicQueue2, 5,i: 8,008,688 msg/sec AtomicQueue2, 6,s: 7,866,255 msg/sec AtomicQueue2, 6,i: 7,554,161 msg/sec AtomicQueue2, 7,s: 7,178,256 msg/sec AtomicQueue2, 7,i: 7,886,862 msg/sec AtomicQueue2, 8,s: 6,359,048 msg/sec AtomicQueue2, 8,i: 7,236,276 msg/sec AtomicQueueB2, 1,s: 35,088,417 msg/sec AtomicQueueB2, 1,i: 32,250,465 msg/sec AtomicQueueB2, 2,s: 11,624,801 msg/sec AtomicQueueB2, 2,i: 11,255,464 msg/sec AtomicQueueB2, 3,s: 9,780,556 msg/sec AtomicQueueB2, 3,i: 9,489,294 msg/sec AtomicQueueB2, 4,s: 7,976,255 msg/sec AtomicQueueB2, 4,i: 7,913,845 msg/sec AtomicQueueB2, 5,s: 7,496,268 msg/sec AtomicQueueB2, 5,i: 7,724,080 msg/sec AtomicQueueB2, 6,s: 7,294,824 msg/sec AtomicQueueB2, 6,i: 7,428,370 msg/sec AtomicQueueB2, 7,s: 6,961,044 msg/sec AtomicQueueB2, 7,i: 7,708,126 msg/sec AtomicQueueB2, 8,s: 6,244,739 msg/sec AtomicQueueB2, 8,i: 7,116,248 msg/sec OptimistAtomicQueue2, 1,s: 32,584,430 msg/sec OptimistAtomicQueue2, 1,i: 31,419,233 msg/sec OptimistAtomicQueue2, 2,s: 29,473,910 msg/sec OptimistAtomicQueue2, 2,i: 27,252,737 msg/sec OptimistAtomicQueue2, 3,s: 30,332,634 msg/sec OptimistAtomicQueue2, 3,i: 29,966,009 msg/sec OptimistAtomicQueue2, 4,s: 33,265,569 msg/sec OptimistAtomicQueue2, 4,i: 33,272,047 msg/sec OptimistAtomicQueue2, 5,s: 37,426,606 msg/sec OptimistAtomicQueue2, 5,i: 40,100,669 msg/sec OptimistAtomicQueue2, 6,s: 40,144,762 msg/sec OptimistAtomicQueue2, 6,i: 49,364,248 msg/sec OptimistAtomicQueue2, 7,s: 42,752,132 msg/sec OptimistAtomicQueue2, 7,i: 48,133,840 msg/sec OptimistAtomicQueue2, 8,s: 43,891,980 msg/sec OptimistAtomicQueue2, 8,i: 48,468,969 msg/sec OptimistAtomicQueueB2, 1,s: 75,716,224 msg/sec OptimistAtomicQueueB2, 1,i: 33,878,436 msg/sec OptimistAtomicQueueB2, 2,s: 27,808,886 msg/sec OptimistAtomicQueueB2, 2,i: 23,157,024 msg/sec OptimistAtomicQueueB2, 3,s: 30,123,992 msg/sec OptimistAtomicQueueB2, 3,i: 29,111,608 msg/sec OptimistAtomicQueueB2, 4,s: 33,096,323 msg/sec OptimistAtomicQueueB2, 4,i: 32,689,491 msg/sec OptimistAtomicQueueB2, 5,s: 34,287,764 msg/sec OptimistAtomicQueueB2, 5,i: 39,184,841 msg/sec OptimistAtomicQueueB2, 6,s: 37,066,196 msg/sec OptimistAtomicQueueB2, 6,i: 42,109,441 msg/sec OptimistAtomicQueueB2, 7,s: 40,098,199 msg/sec OptimistAtomicQueueB2, 7,i: 43,125,445 msg/sec OptimistAtomicQueueB2, 8,s: 41,977,215 msg/sec OptimistAtomicQueueB2, 8,i: 45,799,102 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000326 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000287 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000261 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [35] 435m:12s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,688,517 msg/sec boost::lockfree::spsc_queue, 1,i: 71,979,514 msg/sec boost::lockfree::queue, 1,s: 8,069,288 msg/sec boost::lockfree::queue, 1,i: 7,939,900 msg/sec boost::lockfree::queue, 2,s: 7,613,434 msg/sec boost::lockfree::queue, 2,i: 7,547,711 msg/sec boost::lockfree::queue, 3,s: 7,514,652 msg/sec boost::lockfree::queue, 3,i: 7,558,922 msg/sec boost::lockfree::queue, 4,s: 6,426,544 msg/sec boost::lockfree::queue, 4,i: 6,720,818 msg/sec boost::lockfree::queue, 5,s: 6,476,968 msg/sec boost::lockfree::queue, 5,i: 6,462,851 msg/sec boost::lockfree::queue, 6,s: 6,001,946 msg/sec boost::lockfree::queue, 6,i: 6,119,177 msg/sec boost::lockfree::queue, 7,s: 5,856,092 msg/sec boost::lockfree::queue, 7,i: 5,909,469 msg/sec boost::lockfree::queue, 8,s: 5,406,098 msg/sec boost::lockfree::queue, 8,i: 5,568,283 msg/sec moodycamel::ReaderWriterQueue, 1,s: 221,728,531 msg/sec moodycamel::ReaderWriterQueue, 1,i: 64,319,880 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,753,889 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,777,884 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,073,305 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,282,903 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,805,952 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,160,338 msg/sec moodycamel::ConcurrentQueue, 4,s: 39,288,524 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,079,143 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,107,031 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,815,329 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,456,959 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,771,268 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,944,780 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,446,645 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,086,958 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,520,491 msg/sec pthread_spinlock, 1,s: 28,970,897 msg/sec pthread_spinlock, 1,i: 25,329,933 msg/sec pthread_spinlock, 2,s: 15,853,992 msg/sec pthread_spinlock, 2,i: 17,033,998 msg/sec pthread_spinlock, 3,s: 8,314,801 msg/sec pthread_spinlock, 3,i: 12,196,454 msg/sec pthread_spinlock, 4,s: 6,499,000 msg/sec pthread_spinlock, 4,i: 8,945,332 msg/sec pthread_spinlock, 5,s: 8,681,388 msg/sec pthread_spinlock, 5,i: 9,276,286 msg/sec pthread_spinlock, 6,s: 8,617,119 msg/sec pthread_spinlock, 6,i: 8,277,558 msg/sec pthread_spinlock, 7,s: 7,560,583 msg/sec pthread_spinlock, 7,i: 7,723,433 msg/sec pthread_spinlock, 8,s: 6,729,183 msg/sec pthread_spinlock, 8,i: 6,837,260 msg/sec std::mutex, 1,s: 5,975,385 msg/sec std::mutex, 1,i: 6,393,833 msg/sec std::mutex, 2,s: 6,065,269 msg/sec std::mutex, 2,i: 6,084,332 msg/sec std::mutex, 3,s: 6,017,869 msg/sec std::mutex, 3,i: 6,142,800 msg/sec std::mutex, 4,s: 6,189,611 msg/sec std::mutex, 4,i: 6,204,232 msg/sec std::mutex, 5,s: 6,053,344 msg/sec std::mutex, 5,i: 5,633,308 msg/sec std::mutex, 6,s: 5,986,244 msg/sec std::mutex, 6,i: 5,956,143 msg/sec std::mutex, 7,s: 5,855,289 msg/sec std::mutex, 7,i: 5,860,178 msg/sec std::mutex, 8,s: 5,719,470 msg/sec std::mutex, 8,i: 5,687,579 msg/sec tbb::spin_mutex, 1,s: 37,960,915 msg/sec tbb::spin_mutex, 1,i: 37,765,990 msg/sec tbb::spin_mutex, 2,s: 21,290,877 msg/sec tbb::spin_mutex, 2,i: 18,290,725 msg/sec tbb::spin_mutex, 3,s: 8,954,463 msg/sec tbb::spin_mutex, 3,i: 11,018,391 msg/sec tbb::spin_mutex, 4,s: 3,174,256 msg/sec tbb::spin_mutex, 4,i: 6,305,545 msg/sec tbb::spin_mutex, 5,s: 5,413,574 msg/sec tbb::spin_mutex, 5,i: 5,535,288 msg/sec tbb::spin_mutex, 6,s: 5,400,230 msg/sec tbb::spin_mutex, 6,i: 4,335,287 msg/sec tbb::spin_mutex, 7,s: 4,907,625 msg/sec tbb::spin_mutex, 7,i: 4,365,507 msg/sec tbb::spin_mutex, 8,s: 4,279,174 msg/sec tbb::spin_mutex, 8,i: 4,065,654 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,099,880 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,164,570 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,705,328 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,714,117 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,310,585 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,377,775 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,046,358 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,563,872 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,603,242 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,544,884 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,777,534 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,696,495 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,815,424 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,708,419 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,074,786 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,071,470 msg/sec xenium::michael_scott_queue, 1,s: 9,192,066 msg/sec xenium::michael_scott_queue, 1,i: 9,349,848 msg/sec xenium::michael_scott_queue, 2,s: 8,493,044 msg/sec xenium::michael_scott_queue, 2,i: 8,440,516 msg/sec xenium::michael_scott_queue, 3,s: 7,256,126 msg/sec xenium::michael_scott_queue, 3,i: 7,538,179 msg/sec xenium::michael_scott_queue, 4,s: 6,345,646 msg/sec xenium::michael_scott_queue, 4,i: 6,385,519 msg/sec xenium::michael_scott_queue, 5,s: 6,303,548 msg/sec xenium::michael_scott_queue, 5,i: 6,616,428 msg/sec xenium::michael_scott_queue, 6,s: 6,526,040 msg/sec xenium::michael_scott_queue, 6,i: 6,669,438 msg/sec xenium::michael_scott_queue, 7,s: 6,247,829 msg/sec xenium::michael_scott_queue, 7,i: 6,603,981 msg/sec xenium::michael_scott_queue, 8,s: 6,001,136 msg/sec xenium::michael_scott_queue, 8,i: 6,105,669 msg/sec xenium::ramalhete_queue, 1,s: 32,370,389 msg/sec xenium::ramalhete_queue, 1,i: 32,711,038 msg/sec xenium::ramalhete_queue, 2,s: 23,908,003 msg/sec xenium::ramalhete_queue, 2,i: 23,402,185 msg/sec xenium::ramalhete_queue, 3,s: 29,464,259 msg/sec xenium::ramalhete_queue, 3,i: 28,513,798 msg/sec xenium::ramalhete_queue, 4,s: 33,825,729 msg/sec xenium::ramalhete_queue, 4,i: 33,537,746 msg/sec xenium::ramalhete_queue, 5,s: 32,186,377 msg/sec xenium::ramalhete_queue, 5,i: 35,986,210 msg/sec xenium::ramalhete_queue, 6,s: 34,035,587 msg/sec xenium::ramalhete_queue, 6,i: 39,399,674 msg/sec xenium::ramalhete_queue, 7,s: 35,127,503 msg/sec xenium::ramalhete_queue, 7,i: 40,870,143 msg/sec xenium::ramalhete_queue, 8,s: 35,607,469 msg/sec xenium::ramalhete_queue, 8,i: 44,086,941 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,137,471 msg/sec xenium::vyukov_bounded_queue, 1,i: 114,153,899 msg/sec xenium::vyukov_bounded_queue, 2,s: 21,578,863 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,493,741 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,869,309 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,795,125 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,634,384 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,257,514 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,823,726 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,446,110 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,920,685 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,494,721 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,241,413 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,384,822 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,388,166 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,508,407 msg/sec AtomicQueue, 1,s: 58,249,599 msg/sec AtomicQueue, 1,i: 57,091,567 msg/sec AtomicQueue, 2,s: 12,232,536 msg/sec AtomicQueue, 2,i: 11,755,345 msg/sec AtomicQueue, 3,s: 10,703,502 msg/sec AtomicQueue, 3,i: 9,923,194 msg/sec AtomicQueue, 4,s: 8,221,150 msg/sec AtomicQueue, 4,i: 8,154,516 msg/sec AtomicQueue, 5,s: 8,007,245 msg/sec AtomicQueue, 5,i: 8,089,965 msg/sec AtomicQueue, 6,s: 7,822,013 msg/sec AtomicQueue, 6,i: 7,608,813 msg/sec AtomicQueue, 7,s: 7,102,513 msg/sec AtomicQueue, 7,i: 7,952,974 msg/sec AtomicQueue, 8,s: 6,337,301 msg/sec AtomicQueue, 8,i: 7,436,198 msg/sec AtomicQueueB, 1,s: 43,879,782 msg/sec AtomicQueueB, 1,i: 43,088,716 msg/sec AtomicQueueB, 2,s: 11,796,842 msg/sec AtomicQueueB, 2,i: 11,500,629 msg/sec AtomicQueueB, 3,s: 10,984,460 msg/sec AtomicQueueB, 3,i: 10,131,014 msg/sec AtomicQueueB, 4,s: 8,082,901 msg/sec AtomicQueueB, 4,i: 8,072,195 msg/sec AtomicQueueB, 5,s: 7,632,263 msg/sec AtomicQueueB, 5,i: 7,783,520 msg/sec AtomicQueueB, 6,s: 7,436,442 msg/sec AtomicQueueB, 6,i: 7,545,170 msg/sec AtomicQueueB, 7,s: 6,873,713 msg/sec AtomicQueueB, 7,i: 7,753,000 msg/sec AtomicQueueB, 8,s: 6,203,388 msg/sec AtomicQueueB, 8,i: 7,152,434 msg/sec OptimistAtomicQueue, 1,s: 797,233,917 msg/sec OptimistAtomicQueue, 1,i: 639,251,411 msg/sec OptimistAtomicQueue, 2,s: 32,649,878 msg/sec OptimistAtomicQueue, 2,i: 32,718,721 msg/sec OptimistAtomicQueue, 3,s: 36,658,454 msg/sec OptimistAtomicQueue, 3,i: 37,342,661 msg/sec OptimistAtomicQueue, 4,s: 39,283,899 msg/sec OptimistAtomicQueue, 4,i: 39,382,053 msg/sec OptimistAtomicQueue, 5,s: 42,471,603 msg/sec OptimistAtomicQueue, 5,i: 46,262,058 msg/sec OptimistAtomicQueue, 6,s: 42,332,613 msg/sec OptimistAtomicQueue, 6,i: 50,427,216 msg/sec OptimistAtomicQueue, 7,s: 44,350,068 msg/sec OptimistAtomicQueue, 7,i: 49,187,715 msg/sec OptimistAtomicQueue, 8,s: 46,380,282 msg/sec OptimistAtomicQueue, 8,i: 48,678,280 msg/sec OptimistAtomicQueueB, 1,s: 201,965,763 msg/sec OptimistAtomicQueueB, 1,i: 76,381,823 msg/sec OptimistAtomicQueueB, 2,s: 32,234,070 msg/sec OptimistAtomicQueueB, 2,i: 32,448,033 msg/sec OptimistAtomicQueueB, 3,s: 36,254,928 msg/sec OptimistAtomicQueueB, 3,i: 36,952,317 msg/sec OptimistAtomicQueueB, 4,s: 38,703,910 msg/sec OptimistAtomicQueueB, 4,i: 38,669,119 msg/sec OptimistAtomicQueueB, 5,s: 40,404,077 msg/sec OptimistAtomicQueueB, 5,i: 45,504,824 msg/sec OptimistAtomicQueueB, 6,s: 40,577,727 msg/sec OptimistAtomicQueueB, 6,i: 49,143,686 msg/sec OptimistAtomicQueueB, 7,s: 42,732,676 msg/sec OptimistAtomicQueueB, 7,i: 51,460,137 msg/sec OptimistAtomicQueueB, 8,s: 44,437,385 msg/sec OptimistAtomicQueueB, 8,i: 48,331,674 msg/sec AtomicQueue2, 1,s: 23,443,940 msg/sec AtomicQueue2, 1,i: 23,068,512 msg/sec AtomicQueue2, 2,s: 11,815,317 msg/sec AtomicQueue2, 2,i: 11,460,236 msg/sec AtomicQueue2, 3,s: 9,437,243 msg/sec AtomicQueue2, 3,i: 9,399,827 msg/sec AtomicQueue2, 4,s: 8,003,112 msg/sec AtomicQueue2, 4,i: 8,023,430 msg/sec AtomicQueue2, 5,s: 7,922,344 msg/sec AtomicQueue2, 5,i: 8,047,731 msg/sec AtomicQueue2, 6,s: 7,659,855 msg/sec AtomicQueue2, 6,i: 7,537,032 msg/sec AtomicQueue2, 7,s: 7,170,691 msg/sec AtomicQueue2, 7,i: 7,898,494 msg/sec AtomicQueue2, 8,s: 6,359,734 msg/sec AtomicQueue2, 8,i: 7,195,185 msg/sec AtomicQueueB2, 1,s: 33,475,611 msg/sec AtomicQueueB2, 1,i: 33,440,024 msg/sec AtomicQueueB2, 2,s: 11,391,511 msg/sec AtomicQueueB2, 2,i: 11,111,455 msg/sec AtomicQueueB2, 3,s: 9,602,564 msg/sec AtomicQueueB2, 3,i: 9,627,565 msg/sec AtomicQueueB2, 4,s: 7,870,370 msg/sec AtomicQueueB2, 4,i: 7,756,087 msg/sec AtomicQueueB2, 5,s: 7,542,520 msg/sec AtomicQueueB2, 5,i: 7,676,598 msg/sec AtomicQueueB2, 6,s: 7,249,431 msg/sec AtomicQueueB2, 6,i: 7,423,104 msg/sec AtomicQueueB2, 7,s: 6,832,778 msg/sec AtomicQueueB2, 7,i: 7,718,395 msg/sec AtomicQueueB2, 8,s: 6,301,443 msg/sec AtomicQueueB2, 8,i: 7,107,161 msg/sec OptimistAtomicQueue2, 1,s: 448,301,480 msg/sec OptimistAtomicQueue2, 1,i: 33,506,414 msg/sec OptimistAtomicQueue2, 2,s: 29,305,691 msg/sec OptimistAtomicQueue2, 2,i: 23,997,060 msg/sec OptimistAtomicQueue2, 3,s: 30,460,110 msg/sec OptimistAtomicQueue2, 3,i: 30,037,687 msg/sec OptimistAtomicQueue2, 4,s: 35,890,023 msg/sec OptimistAtomicQueue2, 4,i: 32,977,392 msg/sec OptimistAtomicQueue2, 5,s: 37,220,545 msg/sec OptimistAtomicQueue2, 5,i: 41,567,989 msg/sec OptimistAtomicQueue2, 6,s: 40,129,197 msg/sec OptimistAtomicQueue2, 6,i: 49,289,467 msg/sec OptimistAtomicQueue2, 7,s: 42,995,792 msg/sec OptimistAtomicQueue2, 7,i: 48,179,892 msg/sec OptimistAtomicQueue2, 8,s: 44,086,570 msg/sec OptimistAtomicQueue2, 8,i: 49,624,519 msg/sec OptimistAtomicQueueB2, 1,s: 76,098,963 msg/sec OptimistAtomicQueueB2, 1,i: 33,955,793 msg/sec OptimistAtomicQueueB2, 2,s: 27,810,142 msg/sec OptimistAtomicQueueB2, 2,i: 25,340,906 msg/sec OptimistAtomicQueueB2, 3,s: 29,833,952 msg/sec OptimistAtomicQueueB2, 3,i: 29,720,042 msg/sec OptimistAtomicQueueB2, 4,s: 33,497,874 msg/sec OptimistAtomicQueueB2, 4,i: 33,071,400 msg/sec OptimistAtomicQueueB2, 5,s: 34,836,139 msg/sec OptimistAtomicQueueB2, 5,i: 39,683,320 msg/sec OptimistAtomicQueueB2, 6,s: 37,496,641 msg/sec OptimistAtomicQueueB2, 6,i: 42,381,479 msg/sec OptimistAtomicQueueB2, 7,s: 40,146,178 msg/sec OptimistAtomicQueueB2, 7,i: 45,674,736 msg/sec OptimistAtomicQueueB2, 8,s: 42,278,299 msg/sec OptimistAtomicQueueB2, 8,i: 45,593,948 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000138 sec/round-trip moodycamel::ConcurrentQueue: 0.000000219 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [36] 433m:53s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 75,112,563 msg/sec boost::lockfree::spsc_queue, 1,i: 75,574,260 msg/sec boost::lockfree::queue, 1,s: 7,651,883 msg/sec boost::lockfree::queue, 1,i: 6,993,284 msg/sec boost::lockfree::queue, 2,s: 7,677,205 msg/sec boost::lockfree::queue, 2,i: 7,534,774 msg/sec boost::lockfree::queue, 3,s: 7,386,859 msg/sec boost::lockfree::queue, 3,i: 7,554,388 msg/sec boost::lockfree::queue, 4,s: 6,415,633 msg/sec boost::lockfree::queue, 4,i: 6,840,157 msg/sec boost::lockfree::queue, 5,s: 6,486,962 msg/sec boost::lockfree::queue, 5,i: 6,457,412 msg/sec boost::lockfree::queue, 6,s: 5,984,986 msg/sec boost::lockfree::queue, 6,i: 6,143,203 msg/sec boost::lockfree::queue, 7,s: 5,904,663 msg/sec boost::lockfree::queue, 7,i: 6,094,994 msg/sec boost::lockfree::queue, 8,s: 5,397,575 msg/sec boost::lockfree::queue, 8,i: 5,646,902 msg/sec moodycamel::ReaderWriterQueue, 1,s: 422,016,650 msg/sec moodycamel::ReaderWriterQueue, 1,i: 64,672,074 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,222,541 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,728,146 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,365,148 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,060,882 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,918,996 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,859,238 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,127,128 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,175,031 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,233,372 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,570,292 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,237,019 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,590,347 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,976,539 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,095,691 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,294,949 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,547,380 msg/sec pthread_spinlock, 1,s: 28,795,293 msg/sec pthread_spinlock, 1,i: 25,331,340 msg/sec pthread_spinlock, 2,s: 15,607,735 msg/sec pthread_spinlock, 2,i: 16,962,916 msg/sec pthread_spinlock, 3,s: 8,331,271 msg/sec pthread_spinlock, 3,i: 11,971,104 msg/sec pthread_spinlock, 4,s: 6,510,523 msg/sec pthread_spinlock, 4,i: 9,125,367 msg/sec pthread_spinlock, 5,s: 8,661,345 msg/sec pthread_spinlock, 5,i: 9,012,324 msg/sec pthread_spinlock, 6,s: 8,251,577 msg/sec pthread_spinlock, 6,i: 8,620,399 msg/sec pthread_spinlock, 7,s: 7,515,464 msg/sec pthread_spinlock, 7,i: 7,556,404 msg/sec pthread_spinlock, 8,s: 6,880,426 msg/sec pthread_spinlock, 8,i: 6,848,314 msg/sec std::mutex, 1,s: 6,805,234 msg/sec std::mutex, 1,i: 6,543,888 msg/sec std::mutex, 2,s: 5,444,519 msg/sec std::mutex, 2,i: 5,705,903 msg/sec std::mutex, 3,s: 5,708,361 msg/sec std::mutex, 3,i: 5,188,997 msg/sec std::mutex, 4,s: 5,694,086 msg/sec std::mutex, 4,i: 6,196,600 msg/sec std::mutex, 5,s: 6,116,416 msg/sec std::mutex, 5,i: 6,172,253 msg/sec std::mutex, 6,s: 6,041,551 msg/sec std::mutex, 6,i: 5,932,989 msg/sec std::mutex, 7,s: 5,866,045 msg/sec std::mutex, 7,i: 5,880,832 msg/sec std::mutex, 8,s: 5,720,203 msg/sec std::mutex, 8,i: 5,730,368 msg/sec tbb::spin_mutex, 1,s: 37,704,370 msg/sec tbb::spin_mutex, 1,i: 37,405,688 msg/sec tbb::spin_mutex, 2,s: 21,039,126 msg/sec tbb::spin_mutex, 2,i: 18,259,791 msg/sec tbb::spin_mutex, 3,s: 8,782,685 msg/sec tbb::spin_mutex, 3,i: 10,257,523 msg/sec tbb::spin_mutex, 4,s: 3,199,552 msg/sec tbb::spin_mutex, 4,i: 6,392,545 msg/sec tbb::spin_mutex, 5,s: 5,467,923 msg/sec tbb::spin_mutex, 5,i: 5,771,816 msg/sec tbb::spin_mutex, 6,s: 5,373,260 msg/sec tbb::spin_mutex, 6,i: 4,380,380 msg/sec tbb::spin_mutex, 7,s: 4,863,926 msg/sec tbb::spin_mutex, 7,i: 4,315,035 msg/sec tbb::spin_mutex, 8,s: 4,259,919 msg/sec tbb::spin_mutex, 8,i: 4,159,461 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,163,559 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,114,813 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,008,980 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,936,387 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,407,345 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,537,835 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,086,836 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,494,282 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,514,162 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,529,386 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,753,853 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,661,405 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,833,670 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,720,520 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,076,407 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,071,304 msg/sec xenium::michael_scott_queue, 1,s: 9,422,883 msg/sec xenium::michael_scott_queue, 1,i: 9,586,255 msg/sec xenium::michael_scott_queue, 2,s: 8,296,079 msg/sec xenium::michael_scott_queue, 2,i: 8,368,817 msg/sec xenium::michael_scott_queue, 3,s: 7,279,710 msg/sec xenium::michael_scott_queue, 3,i: 7,528,747 msg/sec xenium::michael_scott_queue, 4,s: 6,405,405 msg/sec xenium::michael_scott_queue, 4,i: 6,336,058 msg/sec xenium::michael_scott_queue, 5,s: 6,393,725 msg/sec xenium::michael_scott_queue, 5,i: 6,642,154 msg/sec xenium::michael_scott_queue, 6,s: 6,513,437 msg/sec xenium::michael_scott_queue, 6,i: 6,735,090 msg/sec xenium::michael_scott_queue, 7,s: 6,308,106 msg/sec xenium::michael_scott_queue, 7,i: 6,580,286 msg/sec xenium::michael_scott_queue, 8,s: 5,999,853 msg/sec xenium::michael_scott_queue, 8,i: 6,288,498 msg/sec xenium::ramalhete_queue, 1,s: 32,314,114 msg/sec xenium::ramalhete_queue, 1,i: 32,629,975 msg/sec xenium::ramalhete_queue, 2,s: 23,581,133 msg/sec xenium::ramalhete_queue, 2,i: 23,416,207 msg/sec xenium::ramalhete_queue, 3,s: 29,217,186 msg/sec xenium::ramalhete_queue, 3,i: 28,474,662 msg/sec xenium::ramalhete_queue, 4,s: 33,858,125 msg/sec xenium::ramalhete_queue, 4,i: 33,512,974 msg/sec xenium::ramalhete_queue, 5,s: 32,150,380 msg/sec xenium::ramalhete_queue, 5,i: 35,994,129 msg/sec xenium::ramalhete_queue, 6,s: 34,040,952 msg/sec xenium::ramalhete_queue, 6,i: 39,911,685 msg/sec xenium::ramalhete_queue, 7,s: 34,933,647 msg/sec xenium::ramalhete_queue, 7,i: 41,017,753 msg/sec xenium::ramalhete_queue, 8,s: 35,346,534 msg/sec xenium::ramalhete_queue, 8,i: 43,096,335 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,874,736 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,701,923 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,689,124 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,492,366 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,687,707 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,978,553 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,619,851 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,318,778 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,965,600 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,338,547 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,866,439 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,290,056 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,284,604 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,060,713 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,109 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,333,786 msg/sec AtomicQueue, 1,s: 87,826,810 msg/sec AtomicQueue, 1,i: 56,585,106 msg/sec AtomicQueue, 2,s: 12,291,805 msg/sec AtomicQueue, 2,i: 11,734,999 msg/sec AtomicQueue, 3,s: 10,731,583 msg/sec AtomicQueue, 3,i: 9,941,041 msg/sec AtomicQueue, 4,s: 8,218,050 msg/sec AtomicQueue, 4,i: 8,211,701 msg/sec AtomicQueue, 5,s: 7,977,557 msg/sec AtomicQueue, 5,i: 8,091,401 msg/sec AtomicQueue, 6,s: 7,790,110 msg/sec AtomicQueue, 6,i: 7,596,756 msg/sec AtomicQueue, 7,s: 7,081,825 msg/sec AtomicQueue, 7,i: 7,991,764 msg/sec AtomicQueue, 8,s: 6,345,360 msg/sec AtomicQueue, 8,i: 7,476,811 msg/sec AtomicQueueB, 1,s: 43,899,616 msg/sec AtomicQueueB, 1,i: 43,020,481 msg/sec AtomicQueueB, 2,s: 12,064,748 msg/sec AtomicQueueB, 2,i: 11,476,149 msg/sec AtomicQueueB, 3,s: 10,991,310 msg/sec AtomicQueueB, 3,i: 10,317,807 msg/sec AtomicQueueB, 4,s: 8,118,482 msg/sec AtomicQueueB, 4,i: 8,095,818 msg/sec AtomicQueueB, 5,s: 7,548,178 msg/sec AtomicQueueB, 5,i: 7,800,273 msg/sec AtomicQueueB, 6,s: 7,354,516 msg/sec AtomicQueueB, 6,i: 7,498,931 msg/sec AtomicQueueB, 7,s: 6,916,816 msg/sec AtomicQueueB, 7,i: 7,746,629 msg/sec AtomicQueueB, 8,s: 6,196,536 msg/sec AtomicQueueB, 8,i: 7,010,451 msg/sec OptimistAtomicQueue, 1,s: 670,524,192 msg/sec OptimistAtomicQueue, 1,i: 524,276,766 msg/sec OptimistAtomicQueue, 2,s: 32,650,770 msg/sec OptimistAtomicQueue, 2,i: 32,727,597 msg/sec OptimistAtomicQueue, 3,s: 36,664,635 msg/sec OptimistAtomicQueue, 3,i: 37,425,799 msg/sec OptimistAtomicQueue, 4,s: 39,250,893 msg/sec OptimistAtomicQueue, 4,i: 39,374,256 msg/sec OptimistAtomicQueue, 5,s: 41,740,878 msg/sec OptimistAtomicQueue, 5,i: 46,417,487 msg/sec OptimistAtomicQueue, 6,s: 42,027,445 msg/sec OptimistAtomicQueue, 6,i: 50,234,405 msg/sec OptimistAtomicQueue, 7,s: 44,186,275 msg/sec OptimistAtomicQueue, 7,i: 53,013,919 msg/sec OptimistAtomicQueue, 8,s: 46,268,632 msg/sec OptimistAtomicQueue, 8,i: 49,619,629 msg/sec OptimistAtomicQueueB, 1,s: 186,672,385 msg/sec OptimistAtomicQueueB, 1,i: 76,588,280 msg/sec OptimistAtomicQueueB, 2,s: 32,216,090 msg/sec OptimistAtomicQueueB, 2,i: 32,217,206 msg/sec OptimistAtomicQueueB, 3,s: 36,274,225 msg/sec OptimistAtomicQueueB, 3,i: 36,849,223 msg/sec OptimistAtomicQueueB, 4,s: 38,743,586 msg/sec OptimistAtomicQueueB, 4,i: 38,638,567 msg/sec OptimistAtomicQueueB, 5,s: 40,296,225 msg/sec OptimistAtomicQueueB, 5,i: 45,523,612 msg/sec OptimistAtomicQueueB, 6,s: 41,155,149 msg/sec OptimistAtomicQueueB, 6,i: 48,610,860 msg/sec OptimistAtomicQueueB, 7,s: 41,818,684 msg/sec OptimistAtomicQueueB, 7,i: 51,531,419 msg/sec OptimistAtomicQueueB, 8,s: 44,654,164 msg/sec OptimistAtomicQueueB, 8,i: 48,025,264 msg/sec AtomicQueue2, 1,s: 22,825,152 msg/sec AtomicQueue2, 1,i: 22,862,507 msg/sec AtomicQueue2, 2,s: 11,776,438 msg/sec AtomicQueue2, 2,i: 11,368,679 msg/sec AtomicQueue2, 3,s: 9,348,816 msg/sec AtomicQueue2, 3,i: 9,383,903 msg/sec AtomicQueue2, 4,s: 8,107,811 msg/sec AtomicQueue2, 4,i: 8,108,720 msg/sec AtomicQueue2, 5,s: 7,936,488 msg/sec AtomicQueue2, 5,i: 8,036,404 msg/sec AtomicQueue2, 6,s: 7,816,495 msg/sec AtomicQueue2, 6,i: 7,533,292 msg/sec AtomicQueue2, 7,s: 7,079,152 msg/sec AtomicQueue2, 7,i: 7,871,990 msg/sec AtomicQueue2, 8,s: 6,369,908 msg/sec AtomicQueue2, 8,i: 7,257,632 msg/sec AtomicQueueB2, 1,s: 36,097,421 msg/sec AtomicQueueB2, 1,i: 32,637,899 msg/sec AtomicQueueB2, 2,s: 11,450,688 msg/sec AtomicQueueB2, 2,i: 11,139,544 msg/sec AtomicQueueB2, 3,s: 9,529,093 msg/sec AtomicQueueB2, 3,i: 9,580,475 msg/sec AtomicQueueB2, 4,s: 7,954,544 msg/sec AtomicQueueB2, 4,i: 7,847,685 msg/sec AtomicQueueB2, 5,s: 7,533,474 msg/sec AtomicQueueB2, 5,i: 7,622,417 msg/sec AtomicQueueB2, 6,s: 7,268,444 msg/sec AtomicQueueB2, 6,i: 7,458,108 msg/sec AtomicQueueB2, 7,s: 6,863,975 msg/sec AtomicQueueB2, 7,i: 7,662,966 msg/sec AtomicQueueB2, 8,s: 6,359,731 msg/sec AtomicQueueB2, 8,i: 6,921,999 msg/sec OptimistAtomicQueue2, 1,s: 436,845,564 msg/sec OptimistAtomicQueue2, 1,i: 29,468,009 msg/sec OptimistAtomicQueue2, 2,s: 24,249,486 msg/sec OptimistAtomicQueue2, 2,i: 24,026,854 msg/sec OptimistAtomicQueue2, 3,s: 30,327,778 msg/sec OptimistAtomicQueue2, 3,i: 29,935,331 msg/sec OptimistAtomicQueue2, 4,s: 33,252,941 msg/sec OptimistAtomicQueue2, 4,i: 33,158,202 msg/sec OptimistAtomicQueue2, 5,s: 37,277,252 msg/sec OptimistAtomicQueue2, 5,i: 40,373,191 msg/sec OptimistAtomicQueue2, 6,s: 40,120,883 msg/sec OptimistAtomicQueue2, 6,i: 49,138,115 msg/sec OptimistAtomicQueue2, 7,s: 42,765,166 msg/sec OptimistAtomicQueue2, 7,i: 48,183,052 msg/sec OptimistAtomicQueue2, 8,s: 44,110,060 msg/sec OptimistAtomicQueue2, 8,i: 48,106,938 msg/sec OptimistAtomicQueueB2, 1,s: 76,626,611 msg/sec OptimistAtomicQueueB2, 1,i: 33,873,215 msg/sec OptimistAtomicQueueB2, 2,s: 29,342,099 msg/sec OptimistAtomicQueueB2, 2,i: 23,166,403 msg/sec OptimistAtomicQueueB2, 3,s: 29,759,131 msg/sec OptimistAtomicQueueB2, 3,i: 29,869,389 msg/sec OptimistAtomicQueueB2, 4,s: 33,371,705 msg/sec OptimistAtomicQueueB2, 4,i: 32,913,552 msg/sec OptimistAtomicQueueB2, 5,s: 34,606,873 msg/sec OptimistAtomicQueueB2, 5,i: 39,072,337 msg/sec OptimistAtomicQueueB2, 6,s: 37,579,874 msg/sec OptimistAtomicQueueB2, 6,i: 42,521,734 msg/sec OptimistAtomicQueueB2, 7,s: 40,730,657 msg/sec OptimistAtomicQueueB2, 7,i: 45,592,183 msg/sec OptimistAtomicQueueB2, 8,s: 42,049,663 msg/sec OptimistAtomicQueueB2, 8,i: 45,197,419 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip boost::lockfree::queue: 0.000000335 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000236 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000520 sec/round-trip tbb::spin_mutex: 0.000000283 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000392 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [37] 432m:33s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,434,124 msg/sec boost::lockfree::spsc_queue, 1,i: 70,114,813 msg/sec boost::lockfree::queue, 1,s: 8,075,092 msg/sec boost::lockfree::queue, 1,i: 7,991,144 msg/sec boost::lockfree::queue, 2,s: 7,582,727 msg/sec boost::lockfree::queue, 2,i: 7,467,079 msg/sec boost::lockfree::queue, 3,s: 7,548,085 msg/sec boost::lockfree::queue, 3,i: 7,585,585 msg/sec boost::lockfree::queue, 4,s: 6,427,018 msg/sec boost::lockfree::queue, 4,i: 6,806,789 msg/sec boost::lockfree::queue, 5,s: 6,403,985 msg/sec boost::lockfree::queue, 5,i: 6,462,021 msg/sec boost::lockfree::queue, 6,s: 5,938,048 msg/sec boost::lockfree::queue, 6,i: 6,102,331 msg/sec boost::lockfree::queue, 7,s: 5,946,411 msg/sec boost::lockfree::queue, 7,i: 6,066,999 msg/sec boost::lockfree::queue, 8,s: 5,496,358 msg/sec boost::lockfree::queue, 8,i: 5,596,033 msg/sec moodycamel::ReaderWriterQueue, 1,s: 103,695,097 msg/sec moodycamel::ReaderWriterQueue, 1,i: 52,616,179 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,526,754 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,887,128 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,176,698 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,822,487 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,140,863 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,570,770 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,466,503 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,829,054 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,567,357 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,334,317 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,441,778 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,481,826 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,182,513 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,496,988 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,841,210 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,299,674 msg/sec pthread_spinlock, 1,s: 28,705,975 msg/sec pthread_spinlock, 1,i: 25,349,673 msg/sec pthread_spinlock, 2,s: 16,089,853 msg/sec pthread_spinlock, 2,i: 16,934,561 msg/sec pthread_spinlock, 3,s: 8,391,322 msg/sec pthread_spinlock, 3,i: 12,070,907 msg/sec pthread_spinlock, 4,s: 6,467,002 msg/sec pthread_spinlock, 4,i: 9,123,689 msg/sec pthread_spinlock, 5,s: 8,758,506 msg/sec pthread_spinlock, 5,i: 8,877,259 msg/sec pthread_spinlock, 6,s: 8,338,760 msg/sec pthread_spinlock, 6,i: 9,128,591 msg/sec pthread_spinlock, 7,s: 7,523,864 msg/sec pthread_spinlock, 7,i: 7,652,181 msg/sec pthread_spinlock, 8,s: 6,690,199 msg/sec pthread_spinlock, 8,i: 7,341,164 msg/sec std::mutex, 1,s: 6,931,890 msg/sec std::mutex, 1,i: 6,981,753 msg/sec std::mutex, 2,s: 5,114,511 msg/sec std::mutex, 2,i: 6,162,074 msg/sec std::mutex, 3,s: 5,620,857 msg/sec std::mutex, 3,i: 5,970,496 msg/sec std::mutex, 4,s: 6,263,514 msg/sec std::mutex, 4,i: 6,233,059 msg/sec std::mutex, 5,s: 6,088,456 msg/sec std::mutex, 5,i: 6,040,327 msg/sec std::mutex, 6,s: 5,873,926 msg/sec std::mutex, 6,i: 5,880,220 msg/sec std::mutex, 7,s: 5,770,657 msg/sec std::mutex, 7,i: 5,759,941 msg/sec std::mutex, 8,s: 5,636,617 msg/sec std::mutex, 8,i: 5,639,003 msg/sec tbb::spin_mutex, 1,s: 37,774,314 msg/sec tbb::spin_mutex, 1,i: 33,200,132 msg/sec tbb::spin_mutex, 2,s: 21,108,427 msg/sec tbb::spin_mutex, 2,i: 18,508,126 msg/sec tbb::spin_mutex, 3,s: 7,357,151 msg/sec tbb::spin_mutex, 3,i: 10,352,177 msg/sec tbb::spin_mutex, 4,s: 3,216,667 msg/sec tbb::spin_mutex, 4,i: 6,347,012 msg/sec tbb::spin_mutex, 5,s: 5,560,562 msg/sec tbb::spin_mutex, 5,i: 5,550,069 msg/sec tbb::spin_mutex, 6,s: 5,364,354 msg/sec tbb::spin_mutex, 6,i: 4,374,918 msg/sec tbb::spin_mutex, 7,s: 4,870,039 msg/sec tbb::spin_mutex, 7,i: 4,370,333 msg/sec tbb::spin_mutex, 8,s: 4,266,654 msg/sec tbb::spin_mutex, 8,i: 4,096,945 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,247,310 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,131,449 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,186,707 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,914,866 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,228,800 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,338,458 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,070,242 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,246,905 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,544,740 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,374,699 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,615,139 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,709,115 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,652,460 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,075,003 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,727,171 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,887,897 msg/sec xenium::michael_scott_queue, 1,s: 9,264,466 msg/sec xenium::michael_scott_queue, 1,i: 9,114,800 msg/sec xenium::michael_scott_queue, 2,s: 8,525,633 msg/sec xenium::michael_scott_queue, 2,i: 8,515,244 msg/sec xenium::michael_scott_queue, 3,s: 7,313,902 msg/sec xenium::michael_scott_queue, 3,i: 7,530,141 msg/sec xenium::michael_scott_queue, 4,s: 6,287,441 msg/sec xenium::michael_scott_queue, 4,i: 6,301,079 msg/sec xenium::michael_scott_queue, 5,s: 6,291,799 msg/sec xenium::michael_scott_queue, 5,i: 6,642,725 msg/sec xenium::michael_scott_queue, 6,s: 6,493,807 msg/sec xenium::michael_scott_queue, 6,i: 6,954,591 msg/sec xenium::michael_scott_queue, 7,s: 6,261,241 msg/sec xenium::michael_scott_queue, 7,i: 6,526,229 msg/sec xenium::michael_scott_queue, 8,s: 6,022,029 msg/sec xenium::michael_scott_queue, 8,i: 6,173,037 msg/sec xenium::ramalhete_queue, 1,s: 32,297,159 msg/sec xenium::ramalhete_queue, 1,i: 32,198,550 msg/sec xenium::ramalhete_queue, 2,s: 23,484,135 msg/sec xenium::ramalhete_queue, 2,i: 23,289,996 msg/sec xenium::ramalhete_queue, 3,s: 29,281,073 msg/sec xenium::ramalhete_queue, 3,i: 28,526,818 msg/sec xenium::ramalhete_queue, 4,s: 33,821,975 msg/sec xenium::ramalhete_queue, 4,i: 33,434,652 msg/sec xenium::ramalhete_queue, 5,s: 32,191,895 msg/sec xenium::ramalhete_queue, 5,i: 36,005,263 msg/sec xenium::ramalhete_queue, 6,s: 34,032,602 msg/sec xenium::ramalhete_queue, 6,i: 38,842,604 msg/sec xenium::ramalhete_queue, 7,s: 35,113,171 msg/sec xenium::ramalhete_queue, 7,i: 40,717,279 msg/sec xenium::ramalhete_queue, 8,s: 35,384,919 msg/sec xenium::ramalhete_queue, 8,i: 43,285,110 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,332,682 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,881,042 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,353,769 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,855,419 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,743,006 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,841,494 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,567,704 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,474,037 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,329,676 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,370,361 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,133,122 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,455,484 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,283,776 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,028,739 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,399,946 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,500,006 msg/sec AtomicQueue, 1,s: 58,436,557 msg/sec AtomicQueue, 1,i: 56,117,205 msg/sec AtomicQueue, 2,s: 12,282,763 msg/sec AtomicQueue, 2,i: 11,751,113 msg/sec AtomicQueue, 3,s: 10,798,365 msg/sec AtomicQueue, 3,i: 9,928,509 msg/sec AtomicQueue, 4,s: 8,184,520 msg/sec AtomicQueue, 4,i: 8,190,682 msg/sec AtomicQueue, 5,s: 8,031,102 msg/sec AtomicQueue, 5,i: 8,095,282 msg/sec AtomicQueue, 6,s: 7,784,665 msg/sec AtomicQueue, 6,i: 7,591,498 msg/sec AtomicQueue, 7,s: 7,060,824 msg/sec AtomicQueue, 7,i: 7,981,801 msg/sec AtomicQueue, 8,s: 6,343,176 msg/sec AtomicQueue, 8,i: 7,510,723 msg/sec AtomicQueueB, 1,s: 43,947,451 msg/sec AtomicQueueB, 1,i: 43,107,648 msg/sec AtomicQueueB, 2,s: 11,820,376 msg/sec AtomicQueueB, 2,i: 11,484,644 msg/sec AtomicQueueB, 3,s: 11,052,167 msg/sec AtomicQueueB, 3,i: 10,088,237 msg/sec AtomicQueueB, 4,s: 8,057,757 msg/sec AtomicQueueB, 4,i: 7,987,124 msg/sec AtomicQueueB, 5,s: 7,636,025 msg/sec AtomicQueueB, 5,i: 7,841,663 msg/sec AtomicQueueB, 6,s: 7,425,018 msg/sec AtomicQueueB, 6,i: 7,540,251 msg/sec AtomicQueueB, 7,s: 6,872,012 msg/sec AtomicQueueB, 7,i: 7,744,174 msg/sec AtomicQueueB, 8,s: 6,226,017 msg/sec AtomicQueueB, 8,i: 7,107,614 msg/sec OptimistAtomicQueue, 1,s: 715,100,545 msg/sec OptimistAtomicQueue, 1,i: 516,819,436 msg/sec OptimistAtomicQueue, 2,s: 32,636,025 msg/sec OptimistAtomicQueue, 2,i: 32,709,524 msg/sec OptimistAtomicQueue, 3,s: 36,687,619 msg/sec OptimistAtomicQueue, 3,i: 37,489,792 msg/sec OptimistAtomicQueue, 4,s: 39,290,514 msg/sec OptimistAtomicQueue, 4,i: 39,417,931 msg/sec OptimistAtomicQueue, 5,s: 42,369,658 msg/sec OptimistAtomicQueue, 5,i: 48,384,632 msg/sec OptimistAtomicQueue, 6,s: 42,202,472 msg/sec OptimistAtomicQueue, 6,i: 50,559,092 msg/sec OptimistAtomicQueue, 7,s: 45,043,999 msg/sec OptimistAtomicQueue, 7,i: 52,977,830 msg/sec OptimistAtomicQueue, 8,s: 46,490,930 msg/sec OptimistAtomicQueue, 8,i: 50,349,000 msg/sec OptimistAtomicQueueB, 1,s: 77,991,961 msg/sec OptimistAtomicQueueB, 1,i: 77,625,769 msg/sec OptimistAtomicQueueB, 2,s: 31,704,635 msg/sec OptimistAtomicQueueB, 2,i: 32,130,701 msg/sec OptimistAtomicQueueB, 3,s: 36,294,862 msg/sec OptimistAtomicQueueB, 3,i: 36,793,206 msg/sec OptimistAtomicQueueB, 4,s: 38,614,538 msg/sec OptimistAtomicQueueB, 4,i: 38,546,585 msg/sec OptimistAtomicQueueB, 5,s: 40,712,869 msg/sec OptimistAtomicQueueB, 5,i: 46,261,867 msg/sec OptimistAtomicQueueB, 6,s: 40,810,423 msg/sec OptimistAtomicQueueB, 6,i: 49,185,921 msg/sec OptimistAtomicQueueB, 7,s: 42,292,804 msg/sec OptimistAtomicQueueB, 7,i: 51,516,986 msg/sec OptimistAtomicQueueB, 8,s: 44,408,785 msg/sec OptimistAtomicQueueB, 8,i: 48,397,394 msg/sec AtomicQueue2, 1,s: 22,917,171 msg/sec AtomicQueue2, 1,i: 22,892,123 msg/sec AtomicQueue2, 2,s: 11,866,705 msg/sec AtomicQueue2, 2,i: 11,418,742 msg/sec AtomicQueue2, 3,s: 9,650,549 msg/sec AtomicQueue2, 3,i: 9,490,164 msg/sec AtomicQueue2, 4,s: 8,049,671 msg/sec AtomicQueue2, 4,i: 8,092,218 msg/sec AtomicQueue2, 5,s: 7,869,739 msg/sec AtomicQueue2, 5,i: 8,038,721 msg/sec AtomicQueue2, 6,s: 7,696,710 msg/sec AtomicQueue2, 6,i: 7,565,213 msg/sec AtomicQueue2, 7,s: 7,092,108 msg/sec AtomicQueue2, 7,i: 7,851,958 msg/sec AtomicQueue2, 8,s: 6,369,447 msg/sec AtomicQueue2, 8,i: 7,298,610 msg/sec AtomicQueueB2, 1,s: 35,903,681 msg/sec AtomicQueueB2, 1,i: 32,614,561 msg/sec AtomicQueueB2, 2,s: 11,436,091 msg/sec AtomicQueueB2, 2,i: 11,132,115 msg/sec AtomicQueueB2, 3,s: 9,716,730 msg/sec AtomicQueueB2, 3,i: 9,441,804 msg/sec AtomicQueueB2, 4,s: 7,888,001 msg/sec AtomicQueueB2, 4,i: 7,855,615 msg/sec AtomicQueueB2, 5,s: 7,462,399 msg/sec AtomicQueueB2, 5,i: 7,700,835 msg/sec AtomicQueueB2, 6,s: 7,251,999 msg/sec AtomicQueueB2, 6,i: 7,409,649 msg/sec AtomicQueueB2, 7,s: 6,979,859 msg/sec AtomicQueueB2, 7,i: 7,703,282 msg/sec AtomicQueueB2, 8,s: 6,260,531 msg/sec AtomicQueueB2, 8,i: 6,968,423 msg/sec OptimistAtomicQueue2, 1,s: 374,850,247 msg/sec OptimistAtomicQueue2, 1,i: 433,829,645 msg/sec OptimistAtomicQueue2, 2,s: 24,913,911 msg/sec OptimistAtomicQueue2, 2,i: 24,013,351 msg/sec OptimistAtomicQueue2, 3,s: 30,317,001 msg/sec OptimistAtomicQueue2, 3,i: 29,526,435 msg/sec OptimistAtomicQueue2, 4,s: 33,208,463 msg/sec OptimistAtomicQueue2, 4,i: 33,056,662 msg/sec OptimistAtomicQueue2, 5,s: 37,367,524 msg/sec OptimistAtomicQueue2, 5,i: 40,036,141 msg/sec OptimistAtomicQueue2, 6,s: 40,346,895 msg/sec OptimistAtomicQueue2, 6,i: 49,060,865 msg/sec OptimistAtomicQueue2, 7,s: 42,761,063 msg/sec OptimistAtomicQueue2, 7,i: 48,173,528 msg/sec OptimistAtomicQueue2, 8,s: 43,751,637 msg/sec OptimistAtomicQueue2, 8,i: 48,447,503 msg/sec OptimistAtomicQueueB2, 1,s: 78,403,411 msg/sec OptimistAtomicQueueB2, 1,i: 33,862,745 msg/sec OptimistAtomicQueueB2, 2,s: 29,558,231 msg/sec OptimistAtomicQueueB2, 2,i: 23,366,921 msg/sec OptimistAtomicQueueB2, 3,s: 30,046,740 msg/sec OptimistAtomicQueueB2, 3,i: 29,052,763 msg/sec OptimistAtomicQueueB2, 4,s: 33,427,432 msg/sec OptimistAtomicQueueB2, 4,i: 32,126,710 msg/sec OptimistAtomicQueueB2, 5,s: 34,510,105 msg/sec OptimistAtomicQueueB2, 5,i: 40,347,303 msg/sec OptimistAtomicQueueB2, 6,s: 37,150,076 msg/sec OptimistAtomicQueueB2, 6,i: 41,447,824 msg/sec OptimistAtomicQueueB2, 7,s: 40,303,784 msg/sec OptimistAtomicQueueB2, 7,i: 43,355,615 msg/sec OptimistAtomicQueueB2, 8,s: 42,141,615 msg/sec OptimistAtomicQueueB2, 8,i: 45,289,801 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000146 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000507 sec/round-trip tbb::spin_mutex: 0.000000308 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000387 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000172 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [38] 431m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,807,475 msg/sec boost::lockfree::spsc_queue, 1,i: 67,537,212 msg/sec boost::lockfree::queue, 1,s: 8,001,019 msg/sec boost::lockfree::queue, 1,i: 7,991,766 msg/sec boost::lockfree::queue, 2,s: 7,660,922 msg/sec boost::lockfree::queue, 2,i: 7,458,963 msg/sec boost::lockfree::queue, 3,s: 7,373,679 msg/sec boost::lockfree::queue, 3,i: 7,501,242 msg/sec boost::lockfree::queue, 4,s: 6,418,528 msg/sec boost::lockfree::queue, 4,i: 6,772,593 msg/sec boost::lockfree::queue, 5,s: 6,425,018 msg/sec boost::lockfree::queue, 5,i: 6,488,396 msg/sec boost::lockfree::queue, 6,s: 5,948,093 msg/sec boost::lockfree::queue, 6,i: 6,079,086 msg/sec boost::lockfree::queue, 7,s: 5,864,305 msg/sec boost::lockfree::queue, 7,i: 6,013,251 msg/sec boost::lockfree::queue, 8,s: 5,444,947 msg/sec boost::lockfree::queue, 8,i: 5,670,959 msg/sec moodycamel::ReaderWriterQueue, 1,s: 303,942,198 msg/sec moodycamel::ReaderWriterQueue, 1,i: 61,376,371 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,755,552 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,598,850 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,113,710 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,603,251 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,786,069 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,946,467 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,182,028 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,260,684 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,458,385 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,227,801 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,461,707 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,903,616 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,157,167 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,849,708 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,317,841 msg/sec moodycamel::ConcurrentQueue, 8,i: 39,874,971 msg/sec pthread_spinlock, 1,s: 28,998,375 msg/sec pthread_spinlock, 1,i: 28,484,128 msg/sec pthread_spinlock, 2,s: 15,362,346 msg/sec pthread_spinlock, 2,i: 18,187,882 msg/sec pthread_spinlock, 3,s: 8,414,858 msg/sec pthread_spinlock, 3,i: 11,943,332 msg/sec pthread_spinlock, 4,s: 6,505,844 msg/sec pthread_spinlock, 4,i: 8,913,554 msg/sec pthread_spinlock, 5,s: 8,725,045 msg/sec pthread_spinlock, 5,i: 9,510,312 msg/sec pthread_spinlock, 6,s: 8,313,708 msg/sec pthread_spinlock, 6,i: 8,968,572 msg/sec pthread_spinlock, 7,s: 7,575,742 msg/sec pthread_spinlock, 7,i: 7,612,434 msg/sec pthread_spinlock, 8,s: 6,631,297 msg/sec pthread_spinlock, 8,i: 7,544,847 msg/sec std::mutex, 1,s: 6,269,666 msg/sec std::mutex, 1,i: 7,352,725 msg/sec std::mutex, 2,s: 6,149,186 msg/sec std::mutex, 2,i: 6,202,431 msg/sec std::mutex, 3,s: 6,103,175 msg/sec std::mutex, 3,i: 5,617,645 msg/sec std::mutex, 4,s: 5,670,944 msg/sec std::mutex, 4,i: 5,806,419 msg/sec std::mutex, 5,s: 5,539,954 msg/sec std::mutex, 5,i: 5,714,993 msg/sec std::mutex, 6,s: 5,964,502 msg/sec std::mutex, 6,i: 5,881,421 msg/sec std::mutex, 7,s: 5,845,435 msg/sec std::mutex, 7,i: 5,794,990 msg/sec std::mutex, 8,s: 5,648,363 msg/sec std::mutex, 8,i: 5,622,194 msg/sec tbb::spin_mutex, 1,s: 41,819,978 msg/sec tbb::spin_mutex, 1,i: 41,906,265 msg/sec tbb::spin_mutex, 2,s: 21,129,811 msg/sec tbb::spin_mutex, 2,i: 18,156,234 msg/sec tbb::spin_mutex, 3,s: 9,126,204 msg/sec tbb::spin_mutex, 3,i: 10,184,868 msg/sec tbb::spin_mutex, 4,s: 3,308,295 msg/sec tbb::spin_mutex, 4,i: 6,319,899 msg/sec tbb::spin_mutex, 5,s: 5,237,640 msg/sec tbb::spin_mutex, 5,i: 5,782,311 msg/sec tbb::spin_mutex, 6,s: 5,297,621 msg/sec tbb::spin_mutex, 6,i: 4,327,075 msg/sec tbb::spin_mutex, 7,s: 4,501,947 msg/sec tbb::spin_mutex, 7,i: 4,327,999 msg/sec tbb::spin_mutex, 8,s: 3,872,924 msg/sec tbb::spin_mutex, 8,i: 4,046,830 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,944,852 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,345,358 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,881,022 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,880,131 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,597,438 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,620,005 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,983,942 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,348,010 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,798,808 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,622,946 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,937,503 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,732,236 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,856,691 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,063,941 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,875,255 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,481,211 msg/sec xenium::michael_scott_queue, 1,s: 9,299,956 msg/sec xenium::michael_scott_queue, 1,i: 9,258,921 msg/sec xenium::michael_scott_queue, 2,s: 8,501,751 msg/sec xenium::michael_scott_queue, 2,i: 8,485,436 msg/sec xenium::michael_scott_queue, 3,s: 7,276,994 msg/sec xenium::michael_scott_queue, 3,i: 7,506,505 msg/sec xenium::michael_scott_queue, 4,s: 6,290,266 msg/sec xenium::michael_scott_queue, 4,i: 6,362,924 msg/sec xenium::michael_scott_queue, 5,s: 6,343,476 msg/sec xenium::michael_scott_queue, 5,i: 6,674,860 msg/sec xenium::michael_scott_queue, 6,s: 6,507,446 msg/sec xenium::michael_scott_queue, 6,i: 6,756,224 msg/sec xenium::michael_scott_queue, 7,s: 6,346,197 msg/sec xenium::michael_scott_queue, 7,i: 6,482,341 msg/sec xenium::michael_scott_queue, 8,s: 6,012,337 msg/sec xenium::michael_scott_queue, 8,i: 6,131,429 msg/sec xenium::ramalhete_queue, 1,s: 32,646,693 msg/sec xenium::ramalhete_queue, 1,i: 32,638,455 msg/sec xenium::ramalhete_queue, 2,s: 24,487,776 msg/sec xenium::ramalhete_queue, 2,i: 23,414,434 msg/sec xenium::ramalhete_queue, 3,s: 29,136,927 msg/sec xenium::ramalhete_queue, 3,i: 28,424,266 msg/sec xenium::ramalhete_queue, 4,s: 33,728,527 msg/sec xenium::ramalhete_queue, 4,i: 33,478,387 msg/sec xenium::ramalhete_queue, 5,s: 32,332,200 msg/sec xenium::ramalhete_queue, 5,i: 36,098,485 msg/sec xenium::ramalhete_queue, 6,s: 34,118,996 msg/sec xenium::ramalhete_queue, 6,i: 38,714,920 msg/sec xenium::ramalhete_queue, 7,s: 34,800,263 msg/sec xenium::ramalhete_queue, 7,i: 41,375,078 msg/sec xenium::ramalhete_queue, 8,s: 35,408,684 msg/sec xenium::ramalhete_queue, 8,i: 43,268,234 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,453,202 msg/sec xenium::vyukov_bounded_queue, 1,i: 82,111,771 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,958,299 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,302,275 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,837,141 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,965,730 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,687,666 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,962,892 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,599,273 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,305,410 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,094,908 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,379,819 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,278,252 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,891,804 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,564 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,215,026 msg/sec AtomicQueue, 1,s: 58,592,104 msg/sec AtomicQueue, 1,i: 56,663,295 msg/sec AtomicQueue, 2,s: 12,250,863 msg/sec AtomicQueue, 2,i: 11,724,736 msg/sec AtomicQueue, 3,s: 10,860,267 msg/sec AtomicQueue, 3,i: 9,932,189 msg/sec AtomicQueue, 4,s: 8,149,612 msg/sec AtomicQueue, 4,i: 8,177,287 msg/sec AtomicQueue, 5,s: 8,038,497 msg/sec AtomicQueue, 5,i: 7,981,982 msg/sec AtomicQueue, 6,s: 7,970,141 msg/sec AtomicQueue, 6,i: 7,636,191 msg/sec AtomicQueue, 7,s: 7,109,785 msg/sec AtomicQueue, 7,i: 7,981,901 msg/sec AtomicQueue, 8,s: 6,345,495 msg/sec AtomicQueue, 8,i: 7,352,521 msg/sec AtomicQueueB, 1,s: 66,223,516 msg/sec AtomicQueueB, 1,i: 43,008,488 msg/sec AtomicQueueB, 2,s: 11,829,267 msg/sec AtomicQueueB, 2,i: 11,464,492 msg/sec AtomicQueueB, 3,s: 10,978,798 msg/sec AtomicQueueB, 3,i: 10,158,364 msg/sec AtomicQueueB, 4,s: 8,028,750 msg/sec AtomicQueueB, 4,i: 8,073,342 msg/sec AtomicQueueB, 5,s: 7,765,119 msg/sec AtomicQueueB, 5,i: 7,873,963 msg/sec AtomicQueueB, 6,s: 7,334,659 msg/sec AtomicQueueB, 6,i: 7,536,351 msg/sec AtomicQueueB, 7,s: 6,937,613 msg/sec AtomicQueueB, 7,i: 7,734,513 msg/sec AtomicQueueB, 8,s: 6,220,857 msg/sec AtomicQueueB, 8,i: 7,128,451 msg/sec OptimistAtomicQueue, 1,s: 691,865,922 msg/sec OptimistAtomicQueue, 1,i: 522,949,098 msg/sec OptimistAtomicQueue, 2,s: 32,641,915 msg/sec OptimistAtomicQueue, 2,i: 32,725,203 msg/sec OptimistAtomicQueue, 3,s: 36,627,233 msg/sec OptimistAtomicQueue, 3,i: 37,336,598 msg/sec OptimistAtomicQueue, 4,s: 39,296,594 msg/sec OptimistAtomicQueue, 4,i: 39,359,481 msg/sec OptimistAtomicQueue, 5,s: 41,721,097 msg/sec OptimistAtomicQueue, 5,i: 46,535,388 msg/sec OptimistAtomicQueue, 6,s: 42,752,817 msg/sec OptimistAtomicQueue, 6,i: 50,424,394 msg/sec OptimistAtomicQueue, 7,s: 45,042,126 msg/sec OptimistAtomicQueue, 7,i: 48,682,030 msg/sec OptimistAtomicQueue, 8,s: 46,475,624 msg/sec OptimistAtomicQueue, 8,i: 49,459,022 msg/sec OptimistAtomicQueueB, 1,s: 77,836,909 msg/sec OptimistAtomicQueueB, 1,i: 77,648,862 msg/sec OptimistAtomicQueueB, 2,s: 31,680,329 msg/sec OptimistAtomicQueueB, 2,i: 31,760,870 msg/sec OptimistAtomicQueueB, 3,s: 36,124,972 msg/sec OptimistAtomicQueueB, 3,i: 36,904,703 msg/sec OptimistAtomicQueueB, 4,s: 38,663,045 msg/sec OptimistAtomicQueueB, 4,i: 38,673,645 msg/sec OptimistAtomicQueueB, 5,s: 41,277,552 msg/sec OptimistAtomicQueueB, 5,i: 45,607,371 msg/sec OptimistAtomicQueueB, 6,s: 41,105,064 msg/sec OptimistAtomicQueueB, 6,i: 49,172,433 msg/sec OptimistAtomicQueueB, 7,s: 42,387,657 msg/sec OptimistAtomicQueueB, 7,i: 48,355,750 msg/sec OptimistAtomicQueueB, 8,s: 44,220,459 msg/sec OptimistAtomicQueueB, 8,i: 48,455,666 msg/sec AtomicQueue2, 1,s: 23,452,332 msg/sec AtomicQueue2, 1,i: 23,380,861 msg/sec AtomicQueue2, 2,s: 11,903,436 msg/sec AtomicQueue2, 2,i: 11,430,495 msg/sec AtomicQueue2, 3,s: 9,346,387 msg/sec AtomicQueue2, 3,i: 9,295,843 msg/sec AtomicQueue2, 4,s: 8,028,841 msg/sec AtomicQueue2, 4,i: 8,075,710 msg/sec AtomicQueue2, 5,s: 7,862,723 msg/sec AtomicQueue2, 5,i: 8,028,230 msg/sec AtomicQueue2, 6,s: 7,772,677 msg/sec AtomicQueue2, 6,i: 7,528,529 msg/sec AtomicQueue2, 7,s: 7,150,161 msg/sec AtomicQueue2, 7,i: 7,889,803 msg/sec AtomicQueue2, 8,s: 6,382,802 msg/sec AtomicQueue2, 8,i: 7,441,272 msg/sec AtomicQueueB2, 1,s: 36,269,323 msg/sec AtomicQueueB2, 1,i: 32,614,625 msg/sec AtomicQueueB2, 2,s: 11,442,143 msg/sec AtomicQueueB2, 2,i: 11,043,730 msg/sec AtomicQueueB2, 3,s: 9,650,330 msg/sec AtomicQueueB2, 3,i: 9,577,208 msg/sec AtomicQueueB2, 4,s: 7,868,203 msg/sec AtomicQueueB2, 4,i: 7,834,343 msg/sec AtomicQueueB2, 5,s: 7,322,942 msg/sec AtomicQueueB2, 5,i: 7,804,929 msg/sec AtomicQueueB2, 6,s: 7,364,742 msg/sec AtomicQueueB2, 6,i: 7,425,970 msg/sec AtomicQueueB2, 7,s: 6,824,409 msg/sec AtomicQueueB2, 7,i: 7,714,345 msg/sec AtomicQueueB2, 8,s: 6,366,309 msg/sec AtomicQueueB2, 8,i: 7,097,469 msg/sec OptimistAtomicQueue2, 1,s: 607,070,274 msg/sec OptimistAtomicQueue2, 1,i: 274,281,733 msg/sec OptimistAtomicQueue2, 2,s: 24,883,375 msg/sec OptimistAtomicQueue2, 2,i: 24,518,992 msg/sec OptimistAtomicQueue2, 3,s: 30,484,426 msg/sec OptimistAtomicQueue2, 3,i: 29,880,632 msg/sec OptimistAtomicQueue2, 4,s: 33,309,506 msg/sec OptimistAtomicQueue2, 4,i: 33,414,491 msg/sec OptimistAtomicQueue2, 5,s: 37,156,654 msg/sec OptimistAtomicQueue2, 5,i: 40,347,006 msg/sec OptimistAtomicQueue2, 6,s: 40,437,515 msg/sec OptimistAtomicQueue2, 6,i: 49,137,326 msg/sec OptimistAtomicQueue2, 7,s: 42,837,384 msg/sec OptimistAtomicQueue2, 7,i: 47,960,265 msg/sec OptimistAtomicQueue2, 8,s: 43,885,917 msg/sec OptimistAtomicQueue2, 8,i: 48,386,467 msg/sec OptimistAtomicQueueB2, 1,s: 75,095,973 msg/sec OptimistAtomicQueueB2, 1,i: 33,871,610 msg/sec OptimistAtomicQueueB2, 2,s: 27,381,226 msg/sec OptimistAtomicQueueB2, 2,i: 23,147,824 msg/sec OptimistAtomicQueueB2, 3,s: 30,634,643 msg/sec OptimistAtomicQueueB2, 3,i: 29,230,182 msg/sec OptimistAtomicQueueB2, 4,s: 32,817,393 msg/sec OptimistAtomicQueueB2, 4,i: 32,942,748 msg/sec OptimistAtomicQueueB2, 5,s: 34,560,440 msg/sec OptimistAtomicQueueB2, 5,i: 39,327,856 msg/sec OptimistAtomicQueueB2, 6,s: 37,103,989 msg/sec OptimistAtomicQueueB2, 6,i: 42,408,492 msg/sec OptimistAtomicQueueB2, 7,s: 40,463,767 msg/sec OptimistAtomicQueueB2, 7,i: 45,394,096 msg/sec OptimistAtomicQueueB2, 8,s: 42,465,174 msg/sec OptimistAtomicQueueB2, 8,i: 45,076,851 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000159 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000207 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [39] 429m:55s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,708,036 msg/sec boost::lockfree::spsc_queue, 1,i: 70,338,493 msg/sec boost::lockfree::queue, 1,s: 7,878,557 msg/sec boost::lockfree::queue, 1,i: 7,976,156 msg/sec boost::lockfree::queue, 2,s: 7,601,388 msg/sec boost::lockfree::queue, 2,i: 7,470,162 msg/sec boost::lockfree::queue, 3,s: 7,359,624 msg/sec boost::lockfree::queue, 3,i: 7,621,682 msg/sec boost::lockfree::queue, 4,s: 6,417,680 msg/sec boost::lockfree::queue, 4,i: 6,834,386 msg/sec boost::lockfree::queue, 5,s: 6,488,443 msg/sec boost::lockfree::queue, 5,i: 6,492,785 msg/sec boost::lockfree::queue, 6,s: 6,018,958 msg/sec boost::lockfree::queue, 6,i: 6,115,056 msg/sec boost::lockfree::queue, 7,s: 5,844,484 msg/sec boost::lockfree::queue, 7,i: 5,884,996 msg/sec boost::lockfree::queue, 8,s: 5,468,944 msg/sec boost::lockfree::queue, 8,i: 5,592,279 msg/sec moodycamel::ReaderWriterQueue, 1,s: 465,650,260 msg/sec moodycamel::ReaderWriterQueue, 1,i: 119,629,663 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,788,280 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,756,524 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,399,395 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,457,206 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,205,233 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,353,980 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,064,599 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,582,492 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,195,887 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,863,322 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,334,114 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,636,987 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,851,037 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,440,372 msg/sec moodycamel::ConcurrentQueue, 8,s: 17,979,522 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,121,196 msg/sec pthread_spinlock, 1,s: 29,312,289 msg/sec pthread_spinlock, 1,i: 25,219,559 msg/sec pthread_spinlock, 2,s: 15,030,236 msg/sec pthread_spinlock, 2,i: 17,208,722 msg/sec pthread_spinlock, 3,s: 8,340,340 msg/sec pthread_spinlock, 3,i: 12,197,218 msg/sec pthread_spinlock, 4,s: 6,526,570 msg/sec pthread_spinlock, 4,i: 9,120,615 msg/sec pthread_spinlock, 5,s: 8,552,482 msg/sec pthread_spinlock, 5,i: 9,225,409 msg/sec pthread_spinlock, 6,s: 8,435,558 msg/sec pthread_spinlock, 6,i: 8,970,150 msg/sec pthread_spinlock, 7,s: 7,544,254 msg/sec pthread_spinlock, 7,i: 7,878,475 msg/sec pthread_spinlock, 8,s: 6,808,122 msg/sec pthread_spinlock, 8,i: 6,905,438 msg/sec std::mutex, 1,s: 6,379,680 msg/sec std::mutex, 1,i: 7,631,854 msg/sec std::mutex, 2,s: 5,796,575 msg/sec std::mutex, 2,i: 5,506,397 msg/sec std::mutex, 3,s: 4,611,109 msg/sec std::mutex, 3,i: 5,189,239 msg/sec std::mutex, 4,s: 5,710,672 msg/sec std::mutex, 4,i: 5,837,195 msg/sec std::mutex, 5,s: 5,927,456 msg/sec std::mutex, 5,i: 5,670,012 msg/sec std::mutex, 6,s: 5,597,671 msg/sec std::mutex, 6,i: 5,943,354 msg/sec std::mutex, 7,s: 5,845,244 msg/sec std::mutex, 7,i: 5,799,564 msg/sec std::mutex, 8,s: 5,726,546 msg/sec std::mutex, 8,i: 5,748,270 msg/sec tbb::spin_mutex, 1,s: 37,589,944 msg/sec tbb::spin_mutex, 1,i: 33,163,321 msg/sec tbb::spin_mutex, 2,s: 21,220,232 msg/sec tbb::spin_mutex, 2,i: 18,373,055 msg/sec tbb::spin_mutex, 3,s: 8,339,833 msg/sec tbb::spin_mutex, 3,i: 10,100,001 msg/sec tbb::spin_mutex, 4,s: 3,146,737 msg/sec tbb::spin_mutex, 4,i: 6,321,518 msg/sec tbb::spin_mutex, 5,s: 5,205,525 msg/sec tbb::spin_mutex, 5,i: 5,453,989 msg/sec tbb::spin_mutex, 6,s: 5,367,368 msg/sec tbb::spin_mutex, 6,i: 4,367,020 msg/sec tbb::spin_mutex, 7,s: 4,876,054 msg/sec tbb::spin_mutex, 7,i: 4,348,804 msg/sec tbb::spin_mutex, 8,s: 4,251,944 msg/sec tbb::spin_mutex, 8,i: 4,086,483 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,086,734 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,430,459 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,172,846 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,471,709 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,571,200 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,766,003 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,505,939 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,598,891 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,996,904 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,653,207 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,930,122 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,738,689 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,764,146 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,816,607 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,773,863 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,470,355 msg/sec xenium::michael_scott_queue, 1,s: 9,336,472 msg/sec xenium::michael_scott_queue, 1,i: 8,998,966 msg/sec xenium::michael_scott_queue, 2,s: 8,470,418 msg/sec xenium::michael_scott_queue, 2,i: 8,241,727 msg/sec xenium::michael_scott_queue, 3,s: 7,134,397 msg/sec xenium::michael_scott_queue, 3,i: 7,470,922 msg/sec xenium::michael_scott_queue, 4,s: 6,255,127 msg/sec xenium::michael_scott_queue, 4,i: 6,372,962 msg/sec xenium::michael_scott_queue, 5,s: 6,227,656 msg/sec xenium::michael_scott_queue, 5,i: 6,742,075 msg/sec xenium::michael_scott_queue, 6,s: 6,480,496 msg/sec xenium::michael_scott_queue, 6,i: 6,718,652 msg/sec xenium::michael_scott_queue, 7,s: 6,330,585 msg/sec xenium::michael_scott_queue, 7,i: 6,580,296 msg/sec xenium::michael_scott_queue, 8,s: 6,032,231 msg/sec xenium::michael_scott_queue, 8,i: 6,089,873 msg/sec xenium::ramalhete_queue, 1,s: 32,436,359 msg/sec xenium::ramalhete_queue, 1,i: 32,041,586 msg/sec xenium::ramalhete_queue, 2,s: 24,719,839 msg/sec xenium::ramalhete_queue, 2,i: 23,362,937 msg/sec xenium::ramalhete_queue, 3,s: 29,226,545 msg/sec xenium::ramalhete_queue, 3,i: 28,500,121 msg/sec xenium::ramalhete_queue, 4,s: 33,769,382 msg/sec xenium::ramalhete_queue, 4,i: 33,472,556 msg/sec xenium::ramalhete_queue, 5,s: 32,073,976 msg/sec xenium::ramalhete_queue, 5,i: 38,265,946 msg/sec xenium::ramalhete_queue, 6,s: 34,088,905 msg/sec xenium::ramalhete_queue, 6,i: 38,767,731 msg/sec xenium::ramalhete_queue, 7,s: 35,250,975 msg/sec xenium::ramalhete_queue, 7,i: 40,936,729 msg/sec xenium::ramalhete_queue, 8,s: 35,589,320 msg/sec xenium::ramalhete_queue, 8,i: 44,386,898 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,806,157 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,884,926 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,532,549 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,118,456 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,738,124 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,626,111 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,630,215 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,400,901 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,866,535 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,342,965 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,826,153 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,396,916 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,218,912 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,410,978 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,450,849 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,269,558 msg/sec AtomicQueue, 1,s: 65,181,835 msg/sec AtomicQueue, 1,i: 56,896,253 msg/sec AtomicQueue, 2,s: 12,254,901 msg/sec AtomicQueue, 2,i: 11,735,342 msg/sec AtomicQueue, 3,s: 10,846,604 msg/sec AtomicQueue, 3,i: 9,945,807 msg/sec AtomicQueue, 4,s: 8,224,721 msg/sec AtomicQueue, 4,i: 8,184,798 msg/sec AtomicQueue, 5,s: 7,991,378 msg/sec AtomicQueue, 5,i: 8,118,070 msg/sec AtomicQueue, 6,s: 7,741,443 msg/sec AtomicQueue, 6,i: 7,608,575 msg/sec AtomicQueue, 7,s: 7,191,440 msg/sec AtomicQueue, 7,i: 8,007,366 msg/sec AtomicQueue, 8,s: 6,344,386 msg/sec AtomicQueue, 8,i: 7,444,769 msg/sec AtomicQueueB, 1,s: 48,264,555 msg/sec AtomicQueueB, 1,i: 43,002,021 msg/sec AtomicQueueB, 2,s: 11,871,957 msg/sec AtomicQueueB, 2,i: 11,509,691 msg/sec AtomicQueueB, 3,s: 10,981,899 msg/sec AtomicQueueB, 3,i: 10,270,389 msg/sec AtomicQueueB, 4,s: 8,010,827 msg/sec AtomicQueueB, 4,i: 7,997,333 msg/sec AtomicQueueB, 5,s: 7,722,720 msg/sec AtomicQueueB, 5,i: 7,822,339 msg/sec AtomicQueueB, 6,s: 7,206,952 msg/sec AtomicQueueB, 6,i: 7,516,740 msg/sec AtomicQueueB, 7,s: 6,866,724 msg/sec AtomicQueueB, 7,i: 7,745,556 msg/sec AtomicQueueB, 8,s: 6,219,869 msg/sec AtomicQueueB, 8,i: 7,167,120 msg/sec OptimistAtomicQueue, 1,s: 772,302,155 msg/sec OptimistAtomicQueue, 1,i: 608,931,904 msg/sec OptimistAtomicQueue, 2,s: 32,636,213 msg/sec OptimistAtomicQueue, 2,i: 32,450,484 msg/sec OptimistAtomicQueue, 3,s: 36,680,068 msg/sec OptimistAtomicQueue, 3,i: 37,421,698 msg/sec OptimistAtomicQueue, 4,s: 39,264,164 msg/sec OptimistAtomicQueue, 4,i: 39,359,085 msg/sec OptimistAtomicQueue, 5,s: 41,741,582 msg/sec OptimistAtomicQueue, 5,i: 48,624,611 msg/sec OptimistAtomicQueue, 6,s: 42,515,371 msg/sec OptimistAtomicQueue, 6,i: 50,398,164 msg/sec OptimistAtomicQueue, 7,s: 45,108,897 msg/sec OptimistAtomicQueue, 7,i: 53,102,751 msg/sec OptimistAtomicQueue, 8,s: 46,314,635 msg/sec OptimistAtomicQueue, 8,i: 49,378,001 msg/sec OptimistAtomicQueueB, 1,s: 84,723,149 msg/sec OptimistAtomicQueueB, 1,i: 125,403,815 msg/sec OptimistAtomicQueueB, 2,s: 32,229,197 msg/sec OptimistAtomicQueueB, 2,i: 31,896,752 msg/sec OptimistAtomicQueueB, 3,s: 36,219,296 msg/sec OptimistAtomicQueueB, 3,i: 36,838,366 msg/sec OptimistAtomicQueueB, 4,s: 38,527,452 msg/sec OptimistAtomicQueueB, 4,i: 38,649,176 msg/sec OptimistAtomicQueueB, 5,s: 41,205,723 msg/sec OptimistAtomicQueueB, 5,i: 45,442,758 msg/sec OptimistAtomicQueueB, 6,s: 41,008,195 msg/sec OptimistAtomicQueueB, 6,i: 49,223,783 msg/sec OptimistAtomicQueueB, 7,s: 42,049,881 msg/sec OptimistAtomicQueueB, 7,i: 47,889,849 msg/sec OptimistAtomicQueueB, 8,s: 44,408,605 msg/sec OptimistAtomicQueueB, 8,i: 48,060,149 msg/sec AtomicQueue2, 1,s: 23,399,301 msg/sec AtomicQueue2, 1,i: 22,871,353 msg/sec AtomicQueue2, 2,s: 11,872,667 msg/sec AtomicQueue2, 2,i: 11,669,949 msg/sec AtomicQueue2, 3,s: 9,420,590 msg/sec AtomicQueue2, 3,i: 9,344,725 msg/sec AtomicQueue2, 4,s: 8,056,749 msg/sec AtomicQueue2, 4,i: 8,032,653 msg/sec AtomicQueue2, 5,s: 7,920,825 msg/sec AtomicQueue2, 5,i: 8,018,672 msg/sec AtomicQueue2, 6,s: 7,855,086 msg/sec AtomicQueue2, 6,i: 7,529,222 msg/sec AtomicQueue2, 7,s: 7,081,053 msg/sec AtomicQueue2, 7,i: 7,896,914 msg/sec AtomicQueue2, 8,s: 6,362,295 msg/sec AtomicQueue2, 8,i: 7,361,374 msg/sec AtomicQueueB2, 1,s: 35,908,425 msg/sec AtomicQueueB2, 1,i: 34,318,002 msg/sec AtomicQueueB2, 2,s: 11,437,423 msg/sec AtomicQueueB2, 2,i: 11,125,081 msg/sec AtomicQueueB2, 3,s: 9,732,305 msg/sec AtomicQueueB2, 3,i: 9,483,920 msg/sec AtomicQueueB2, 4,s: 7,929,139 msg/sec AtomicQueueB2, 4,i: 7,877,190 msg/sec AtomicQueueB2, 5,s: 7,406,024 msg/sec AtomicQueueB2, 5,i: 7,731,535 msg/sec AtomicQueueB2, 6,s: 7,320,540 msg/sec AtomicQueueB2, 6,i: 7,424,520 msg/sec AtomicQueueB2, 7,s: 6,909,156 msg/sec AtomicQueueB2, 7,i: 7,700,950 msg/sec AtomicQueueB2, 8,s: 6,320,119 msg/sec AtomicQueueB2, 8,i: 7,065,231 msg/sec OptimistAtomicQueue2, 1,s: 313,024,511 msg/sec OptimistAtomicQueue2, 1,i: 29,580,627 msg/sec OptimistAtomicQueue2, 2,s: 24,272,189 msg/sec OptimistAtomicQueue2, 2,i: 24,004,150 msg/sec OptimistAtomicQueue2, 3,s: 30,312,751 msg/sec OptimistAtomicQueue2, 3,i: 30,310,282 msg/sec OptimistAtomicQueue2, 4,s: 33,289,742 msg/sec OptimistAtomicQueue2, 4,i: 33,145,817 msg/sec OptimistAtomicQueue2, 5,s: 36,951,287 msg/sec OptimistAtomicQueue2, 5,i: 40,413,488 msg/sec OptimistAtomicQueue2, 6,s: 40,300,896 msg/sec OptimistAtomicQueue2, 6,i: 49,147,500 msg/sec OptimistAtomicQueue2, 7,s: 43,308,217 msg/sec OptimistAtomicQueue2, 7,i: 51,531,316 msg/sec OptimistAtomicQueue2, 8,s: 43,831,052 msg/sec OptimistAtomicQueue2, 8,i: 48,566,694 msg/sec OptimistAtomicQueueB2, 1,s: 76,557,170 msg/sec OptimistAtomicQueueB2, 1,i: 33,844,161 msg/sec OptimistAtomicQueueB2, 2,s: 27,250,992 msg/sec OptimistAtomicQueueB2, 2,i: 26,443,953 msg/sec OptimistAtomicQueueB2, 3,s: 29,676,255 msg/sec OptimistAtomicQueueB2, 3,i: 29,061,838 msg/sec OptimistAtomicQueueB2, 4,s: 33,339,368 msg/sec OptimistAtomicQueueB2, 4,i: 32,771,095 msg/sec OptimistAtomicQueueB2, 5,s: 34,570,742 msg/sec OptimistAtomicQueueB2, 5,i: 39,280,533 msg/sec OptimistAtomicQueueB2, 6,s: 37,389,038 msg/sec OptimistAtomicQueueB2, 6,i: 42,289,780 msg/sec OptimistAtomicQueueB2, 7,s: 40,725,384 msg/sec OptimistAtomicQueueB2, 7,i: 43,098,788 msg/sec OptimistAtomicQueueB2, 8,s: 42,211,854 msg/sec OptimistAtomicQueueB2, 8,i: 45,902,415 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000126 sec/round-trip moodycamel::ConcurrentQueue: 0.000000208 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000450 sec/round-trip tbb::spin_mutex: 0.000000270 sec/round-trip tbb::concurrent_bounded_queue: 0.000000281 sec/round-trip xenium::michael_scott_queue: 0.000000378 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [40] 428m:35s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,458,243 msg/sec boost::lockfree::spsc_queue, 1,i: 70,399,409 msg/sec boost::lockfree::queue, 1,s: 6,852,628 msg/sec boost::lockfree::queue, 1,i: 6,972,693 msg/sec boost::lockfree::queue, 2,s: 7,596,697 msg/sec boost::lockfree::queue, 2,i: 7,643,100 msg/sec boost::lockfree::queue, 3,s: 7,436,926 msg/sec boost::lockfree::queue, 3,i: 7,569,975 msg/sec boost::lockfree::queue, 4,s: 6,425,180 msg/sec boost::lockfree::queue, 4,i: 6,901,458 msg/sec boost::lockfree::queue, 5,s: 6,432,426 msg/sec boost::lockfree::queue, 5,i: 6,485,439 msg/sec boost::lockfree::queue, 6,s: 5,982,335 msg/sec boost::lockfree::queue, 6,i: 6,169,517 msg/sec boost::lockfree::queue, 7,s: 5,941,252 msg/sec boost::lockfree::queue, 7,i: 5,858,224 msg/sec boost::lockfree::queue, 8,s: 5,451,791 msg/sec boost::lockfree::queue, 8,i: 5,707,094 msg/sec moodycamel::ReaderWriterQueue, 1,s: 163,032,296 msg/sec moodycamel::ReaderWriterQueue, 1,i: 83,750,985 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,952,986 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,949,691 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,907,189 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,177,390 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,768,038 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,432,574 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,844,680 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,937,427 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,127,764 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,291,076 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,432,830 msg/sec moodycamel::ConcurrentQueue, 6,i: 31,658,698 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,000,309 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,780,164 msg/sec moodycamel::ConcurrentQueue, 8,s: 53,996,901 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,530,158 msg/sec pthread_spinlock, 1,s: 29,168,155 msg/sec pthread_spinlock, 1,i: 25,422,574 msg/sec pthread_spinlock, 2,s: 15,567,706 msg/sec pthread_spinlock, 2,i: 17,004,255 msg/sec pthread_spinlock, 3,s: 8,351,720 msg/sec pthread_spinlock, 3,i: 12,112,939 msg/sec pthread_spinlock, 4,s: 6,484,646 msg/sec pthread_spinlock, 4,i: 9,165,884 msg/sec pthread_spinlock, 5,s: 8,745,784 msg/sec pthread_spinlock, 5,i: 9,203,200 msg/sec pthread_spinlock, 6,s: 8,290,642 msg/sec pthread_spinlock, 6,i: 8,519,198 msg/sec pthread_spinlock, 7,s: 7,952,486 msg/sec pthread_spinlock, 7,i: 7,647,449 msg/sec pthread_spinlock, 8,s: 6,770,629 msg/sec pthread_spinlock, 8,i: 6,965,271 msg/sec std::mutex, 1,s: 6,850,944 msg/sec std::mutex, 1,i: 5,880,583 msg/sec std::mutex, 2,s: 5,953,483 msg/sec std::mutex, 2,i: 6,116,797 msg/sec std::mutex, 3,s: 6,138,053 msg/sec std::mutex, 3,i: 5,853,963 msg/sec std::mutex, 4,s: 5,853,971 msg/sec std::mutex, 4,i: 6,302,207 msg/sec std::mutex, 5,s: 6,168,968 msg/sec std::mutex, 5,i: 6,032,162 msg/sec std::mutex, 6,s: 6,095,305 msg/sec std::mutex, 6,i: 6,025,767 msg/sec std::mutex, 7,s: 5,957,572 msg/sec std::mutex, 7,i: 5,933,142 msg/sec std::mutex, 8,s: 5,728,733 msg/sec std::mutex, 8,i: 5,790,120 msg/sec tbb::spin_mutex, 1,s: 41,697,158 msg/sec tbb::spin_mutex, 1,i: 41,592,354 msg/sec tbb::spin_mutex, 2,s: 21,525,473 msg/sec tbb::spin_mutex, 2,i: 18,336,921 msg/sec tbb::spin_mutex, 3,s: 8,690,164 msg/sec tbb::spin_mutex, 3,i: 11,472,541 msg/sec tbb::spin_mutex, 4,s: 3,310,906 msg/sec tbb::spin_mutex, 4,i: 6,321,525 msg/sec tbb::spin_mutex, 5,s: 5,702,549 msg/sec tbb::spin_mutex, 5,i: 5,718,332 msg/sec tbb::spin_mutex, 6,s: 5,342,793 msg/sec tbb::spin_mutex, 6,i: 4,369,112 msg/sec tbb::spin_mutex, 7,s: 4,709,195 msg/sec tbb::spin_mutex, 7,i: 4,344,603 msg/sec tbb::spin_mutex, 8,s: 4,270,179 msg/sec tbb::spin_mutex, 8,i: 4,069,907 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,308,298 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,299,685 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,350,168 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,177,576 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,575,656 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,618,895 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,006,797 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,360,899 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,495,614 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,652,146 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,991,977 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,715,823 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,924,249 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,073,849 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,886,923 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,512,999 msg/sec xenium::michael_scott_queue, 1,s: 10,114,331 msg/sec xenium::michael_scott_queue, 1,i: 10,029,957 msg/sec xenium::michael_scott_queue, 2,s: 8,460,786 msg/sec xenium::michael_scott_queue, 2,i: 8,443,860 msg/sec xenium::michael_scott_queue, 3,s: 7,148,954 msg/sec xenium::michael_scott_queue, 3,i: 7,516,775 msg/sec xenium::michael_scott_queue, 4,s: 6,330,584 msg/sec xenium::michael_scott_queue, 4,i: 6,362,427 msg/sec xenium::michael_scott_queue, 5,s: 6,286,578 msg/sec xenium::michael_scott_queue, 5,i: 6,660,080 msg/sec xenium::michael_scott_queue, 6,s: 6,465,910 msg/sec xenium::michael_scott_queue, 6,i: 6,698,667 msg/sec xenium::michael_scott_queue, 7,s: 6,306,862 msg/sec xenium::michael_scott_queue, 7,i: 6,577,875 msg/sec xenium::michael_scott_queue, 8,s: 6,027,743 msg/sec xenium::michael_scott_queue, 8,i: 6,094,142 msg/sec xenium::ramalhete_queue, 1,s: 32,678,822 msg/sec xenium::ramalhete_queue, 1,i: 32,435,614 msg/sec xenium::ramalhete_queue, 2,s: 23,637,521 msg/sec xenium::ramalhete_queue, 2,i: 23,406,388 msg/sec xenium::ramalhete_queue, 3,s: 29,222,672 msg/sec xenium::ramalhete_queue, 3,i: 28,392,084 msg/sec xenium::ramalhete_queue, 4,s: 33,931,648 msg/sec xenium::ramalhete_queue, 4,i: 33,382,450 msg/sec xenium::ramalhete_queue, 5,s: 31,978,638 msg/sec xenium::ramalhete_queue, 5,i: 35,964,908 msg/sec xenium::ramalhete_queue, 6,s: 33,990,408 msg/sec xenium::ramalhete_queue, 6,i: 39,332,928 msg/sec xenium::ramalhete_queue, 7,s: 35,208,856 msg/sec xenium::ramalhete_queue, 7,i: 41,341,349 msg/sec xenium::ramalhete_queue, 8,s: 35,523,819 msg/sec xenium::ramalhete_queue, 8,i: 43,929,598 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,148,896 msg/sec xenium::vyukov_bounded_queue, 1,i: 111,582,830 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,824,450 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,483,044 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,682,186 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,408,228 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,563,950 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,107,266 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,061,415 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,392,650 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,169,713 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,245,883 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,189,990 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,975,098 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,113 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,545,334 msg/sec AtomicQueue, 1,s: 63,264,506 msg/sec AtomicQueue, 1,i: 56,675,198 msg/sec AtomicQueue, 2,s: 12,332,905 msg/sec AtomicQueue, 2,i: 11,724,227 msg/sec AtomicQueue, 3,s: 10,799,063 msg/sec AtomicQueue, 3,i: 9,890,647 msg/sec AtomicQueue, 4,s: 8,218,853 msg/sec AtomicQueue, 4,i: 8,179,139 msg/sec AtomicQueue, 5,s: 8,059,385 msg/sec AtomicQueue, 5,i: 8,152,739 msg/sec AtomicQueue, 6,s: 7,764,166 msg/sec AtomicQueue, 6,i: 7,611,996 msg/sec AtomicQueue, 7,s: 7,133,017 msg/sec AtomicQueue, 7,i: 7,944,508 msg/sec AtomicQueue, 8,s: 6,370,387 msg/sec AtomicQueue, 8,i: 7,423,035 msg/sec AtomicQueueB, 1,s: 43,372,728 msg/sec AtomicQueueB, 1,i: 42,747,744 msg/sec AtomicQueueB, 2,s: 11,808,876 msg/sec AtomicQueueB, 2,i: 11,479,982 msg/sec AtomicQueueB, 3,s: 10,937,273 msg/sec AtomicQueueB, 3,i: 10,175,101 msg/sec AtomicQueueB, 4,s: 8,055,794 msg/sec AtomicQueueB, 4,i: 7,996,389 msg/sec AtomicQueueB, 5,s: 7,520,621 msg/sec AtomicQueueB, 5,i: 7,820,193 msg/sec AtomicQueueB, 6,s: 7,386,212 msg/sec AtomicQueueB, 6,i: 7,507,818 msg/sec AtomicQueueB, 7,s: 6,902,713 msg/sec AtomicQueueB, 7,i: 7,760,172 msg/sec AtomicQueueB, 8,s: 6,245,063 msg/sec AtomicQueueB, 8,i: 7,010,862 msg/sec OptimistAtomicQueue, 1,s: 753,968,986 msg/sec OptimistAtomicQueue, 1,i: 699,894,141 msg/sec OptimistAtomicQueue, 2,s: 32,646,203 msg/sec OptimistAtomicQueue, 2,i: 32,712,197 msg/sec OptimistAtomicQueue, 3,s: 36,673,564 msg/sec OptimistAtomicQueue, 3,i: 37,366,839 msg/sec OptimistAtomicQueue, 4,s: 39,297,739 msg/sec OptimistAtomicQueue, 4,i: 39,353,257 msg/sec OptimistAtomicQueue, 5,s: 41,822,988 msg/sec OptimistAtomicQueue, 5,i: 48,559,025 msg/sec OptimistAtomicQueue, 6,s: 42,678,478 msg/sec OptimistAtomicQueue, 6,i: 50,422,173 msg/sec OptimistAtomicQueue, 7,s: 44,096,290 msg/sec OptimistAtomicQueue, 7,i: 52,072,427 msg/sec OptimistAtomicQueue, 8,s: 46,608,013 msg/sec OptimistAtomicQueue, 8,i: 49,330,802 msg/sec OptimistAtomicQueueB, 1,s: 113,396,613 msg/sec OptimistAtomicQueueB, 1,i: 77,412,971 msg/sec OptimistAtomicQueueB, 2,s: 32,267,473 msg/sec OptimistAtomicQueueB, 2,i: 32,325,312 msg/sec OptimistAtomicQueueB, 3,s: 36,310,081 msg/sec OptimistAtomicQueueB, 3,i: 36,957,726 msg/sec OptimistAtomicQueueB, 4,s: 38,690,671 msg/sec OptimistAtomicQueueB, 4,i: 38,599,011 msg/sec OptimistAtomicQueueB, 5,s: 40,341,382 msg/sec OptimistAtomicQueueB, 5,i: 47,608,460 msg/sec OptimistAtomicQueueB, 6,s: 40,734,194 msg/sec OptimistAtomicQueueB, 6,i: 49,176,099 msg/sec OptimistAtomicQueueB, 7,s: 41,702,654 msg/sec OptimistAtomicQueueB, 7,i: 51,472,271 msg/sec OptimistAtomicQueueB, 8,s: 44,384,236 msg/sec OptimistAtomicQueueB, 8,i: 47,658,614 msg/sec AtomicQueue2, 1,s: 22,931,023 msg/sec AtomicQueue2, 1,i: 22,896,917 msg/sec AtomicQueue2, 2,s: 11,875,310 msg/sec AtomicQueue2, 2,i: 11,389,950 msg/sec AtomicQueue2, 3,s: 9,510,665 msg/sec AtomicQueue2, 3,i: 9,384,559 msg/sec AtomicQueue2, 4,s: 8,068,250 msg/sec AtomicQueue2, 4,i: 8,026,294 msg/sec AtomicQueue2, 5,s: 7,965,030 msg/sec AtomicQueue2, 5,i: 8,059,279 msg/sec AtomicQueue2, 6,s: 7,887,958 msg/sec AtomicQueue2, 6,i: 7,536,234 msg/sec AtomicQueue2, 7,s: 7,173,266 msg/sec AtomicQueue2, 7,i: 7,899,261 msg/sec AtomicQueue2, 8,s: 6,401,792 msg/sec AtomicQueue2, 8,i: 7,242,189 msg/sec AtomicQueueB2, 1,s: 35,561,477 msg/sec AtomicQueueB2, 1,i: 32,116,174 msg/sec AtomicQueueB2, 2,s: 11,354,356 msg/sec AtomicQueueB2, 2,i: 11,145,683 msg/sec AtomicQueueB2, 3,s: 9,701,992 msg/sec AtomicQueueB2, 3,i: 9,565,736 msg/sec AtomicQueueB2, 4,s: 7,925,430 msg/sec AtomicQueueB2, 4,i: 7,854,348 msg/sec AtomicQueueB2, 5,s: 7,464,271 msg/sec AtomicQueueB2, 5,i: 7,775,118 msg/sec AtomicQueueB2, 6,s: 7,309,336 msg/sec AtomicQueueB2, 6,i: 7,430,587 msg/sec AtomicQueueB2, 7,s: 6,851,585 msg/sec AtomicQueueB2, 7,i: 7,706,040 msg/sec AtomicQueueB2, 8,s: 6,267,044 msg/sec AtomicQueueB2, 8,i: 7,100,566 msg/sec OptimistAtomicQueue2, 1,s: 451,053,429 msg/sec OptimistAtomicQueue2, 1,i: 29,949,446 msg/sec OptimistAtomicQueue2, 2,s: 24,246,707 msg/sec OptimistAtomicQueue2, 2,i: 24,019,239 msg/sec OptimistAtomicQueue2, 3,s: 30,319,714 msg/sec OptimistAtomicQueue2, 3,i: 30,545,771 msg/sec OptimistAtomicQueue2, 4,s: 33,156,982 msg/sec OptimistAtomicQueue2, 4,i: 33,146,156 msg/sec OptimistAtomicQueue2, 5,s: 37,411,829 msg/sec OptimistAtomicQueue2, 5,i: 40,776,263 msg/sec OptimistAtomicQueue2, 6,s: 40,112,349 msg/sec OptimistAtomicQueue2, 6,i: 49,251,349 msg/sec OptimistAtomicQueue2, 7,s: 43,375,863 msg/sec OptimistAtomicQueue2, 7,i: 48,171,357 msg/sec OptimistAtomicQueue2, 8,s: 44,323,090 msg/sec OptimistAtomicQueue2, 8,i: 48,392,084 msg/sec OptimistAtomicQueueB2, 1,s: 75,871,189 msg/sec OptimistAtomicQueueB2, 1,i: 33,867,105 msg/sec OptimistAtomicQueueB2, 2,s: 27,421,120 msg/sec OptimistAtomicQueueB2, 2,i: 26,484,478 msg/sec OptimistAtomicQueueB2, 3,s: 30,240,270 msg/sec OptimistAtomicQueueB2, 3,i: 29,922,793 msg/sec OptimistAtomicQueueB2, 4,s: 33,206,864 msg/sec OptimistAtomicQueueB2, 4,i: 32,117,974 msg/sec OptimistAtomicQueueB2, 5,s: 34,578,705 msg/sec OptimistAtomicQueueB2, 5,i: 39,299,973 msg/sec OptimistAtomicQueueB2, 6,s: 37,262,392 msg/sec OptimistAtomicQueueB2, 6,i: 42,254,122 msg/sec OptimistAtomicQueueB2, 7,s: 40,113,292 msg/sec OptimistAtomicQueueB2, 7,i: 43,249,526 msg/sec OptimistAtomicQueueB2, 8,s: 42,262,343 msg/sec OptimistAtomicQueueB2, 8,i: 46,011,125 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000330 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000299 sec/round-trip std::mutex: 0.000000518 sec/round-trip tbb::spin_mutex: 0.000000280 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [41] 427m:17s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 72,676,255 msg/sec boost::lockfree::spsc_queue, 1,i: 72,726,653 msg/sec boost::lockfree::queue, 1,s: 6,956,349 msg/sec boost::lockfree::queue, 1,i: 6,893,423 msg/sec boost::lockfree::queue, 2,s: 7,564,220 msg/sec boost::lockfree::queue, 2,i: 7,471,153 msg/sec boost::lockfree::queue, 3,s: 7,348,591 msg/sec boost::lockfree::queue, 3,i: 7,506,273 msg/sec boost::lockfree::queue, 4,s: 6,421,122 msg/sec boost::lockfree::queue, 4,i: 6,753,338 msg/sec boost::lockfree::queue, 5,s: 6,497,712 msg/sec boost::lockfree::queue, 5,i: 6,469,258 msg/sec boost::lockfree::queue, 6,s: 5,968,178 msg/sec boost::lockfree::queue, 6,i: 6,093,965 msg/sec boost::lockfree::queue, 7,s: 5,787,799 msg/sec boost::lockfree::queue, 7,i: 6,122,493 msg/sec boost::lockfree::queue, 8,s: 5,473,654 msg/sec boost::lockfree::queue, 8,i: 5,638,521 msg/sec moodycamel::ReaderWriterQueue, 1,s: 56,560,272 msg/sec moodycamel::ReaderWriterQueue, 1,i: 56,148,809 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,129,962 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,611,436 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,045,832 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,968,680 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,084,475 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,545,897 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,944,023 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,200,056 msg/sec moodycamel::ConcurrentQueue, 5,s: 30,860,447 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,077,270 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,300,154 msg/sec moodycamel::ConcurrentQueue, 6,i: 34,744,823 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,856,093 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,565,242 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,100,729 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,206,645 msg/sec pthread_spinlock, 1,s: 29,221,991 msg/sec pthread_spinlock, 1,i: 29,293,399 msg/sec pthread_spinlock, 2,s: 15,504,243 msg/sec pthread_spinlock, 2,i: 17,168,486 msg/sec pthread_spinlock, 3,s: 8,295,941 msg/sec pthread_spinlock, 3,i: 11,947,616 msg/sec pthread_spinlock, 4,s: 6,524,270 msg/sec pthread_spinlock, 4,i: 8,963,494 msg/sec pthread_spinlock, 5,s: 8,734,296 msg/sec pthread_spinlock, 5,i: 9,506,871 msg/sec pthread_spinlock, 6,s: 8,353,209 msg/sec pthread_spinlock, 6,i: 8,535,986 msg/sec pthread_spinlock, 7,s: 7,711,675 msg/sec pthread_spinlock, 7,i: 7,583,563 msg/sec pthread_spinlock, 8,s: 6,684,738 msg/sec pthread_spinlock, 8,i: 6,812,068 msg/sec std::mutex, 1,s: 6,610,393 msg/sec std::mutex, 1,i: 7,574,367 msg/sec std::mutex, 2,s: 5,818,746 msg/sec std::mutex, 2,i: 5,895,026 msg/sec std::mutex, 3,s: 5,823,522 msg/sec std::mutex, 3,i: 6,028,709 msg/sec std::mutex, 4,s: 6,013,094 msg/sec std::mutex, 4,i: 6,123,440 msg/sec std::mutex, 5,s: 5,929,176 msg/sec std::mutex, 5,i: 6,022,324 msg/sec std::mutex, 6,s: 5,636,206 msg/sec std::mutex, 6,i: 5,821,326 msg/sec std::mutex, 7,s: 5,769,232 msg/sec std::mutex, 7,i: 5,696,889 msg/sec std::mutex, 8,s: 5,656,361 msg/sec std::mutex, 8,i: 5,611,639 msg/sec tbb::spin_mutex, 1,s: 37,797,829 msg/sec tbb::spin_mutex, 1,i: 32,866,271 msg/sec tbb::spin_mutex, 2,s: 21,100,998 msg/sec tbb::spin_mutex, 2,i: 18,359,947 msg/sec tbb::spin_mutex, 3,s: 8,224,981 msg/sec tbb::spin_mutex, 3,i: 10,356,313 msg/sec tbb::spin_mutex, 4,s: 3,175,078 msg/sec tbb::spin_mutex, 4,i: 6,317,903 msg/sec tbb::spin_mutex, 5,s: 5,536,243 msg/sec tbb::spin_mutex, 5,i: 5,447,600 msg/sec tbb::spin_mutex, 6,s: 5,132,558 msg/sec tbb::spin_mutex, 6,i: 4,301,832 msg/sec tbb::spin_mutex, 7,s: 4,859,696 msg/sec tbb::spin_mutex, 7,i: 4,344,330 msg/sec tbb::spin_mutex, 8,s: 4,228,050 msg/sec tbb::spin_mutex, 8,i: 4,042,842 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,536,095 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,669,931 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,939,817 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,930,746 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,605,835 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,706,148 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,128,267 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,365,314 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,640,313 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,747,921 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,922,620 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,960,368 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,725,751 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,145,298 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,633,751 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,308,290 msg/sec xenium::michael_scott_queue, 1,s: 9,362,442 msg/sec xenium::michael_scott_queue, 1,i: 9,602,097 msg/sec xenium::michael_scott_queue, 2,s: 8,490,129 msg/sec xenium::michael_scott_queue, 2,i: 8,614,955 msg/sec xenium::michael_scott_queue, 3,s: 7,289,574 msg/sec xenium::michael_scott_queue, 3,i: 7,552,858 msg/sec xenium::michael_scott_queue, 4,s: 6,210,441 msg/sec xenium::michael_scott_queue, 4,i: 6,334,346 msg/sec xenium::michael_scott_queue, 5,s: 6,286,581 msg/sec xenium::michael_scott_queue, 5,i: 6,706,684 msg/sec xenium::michael_scott_queue, 6,s: 6,501,949 msg/sec xenium::michael_scott_queue, 6,i: 6,744,146 msg/sec xenium::michael_scott_queue, 7,s: 6,344,526 msg/sec xenium::michael_scott_queue, 7,i: 6,467,067 msg/sec xenium::michael_scott_queue, 8,s: 5,982,427 msg/sec xenium::michael_scott_queue, 8,i: 6,082,418 msg/sec xenium::ramalhete_queue, 1,s: 32,316,037 msg/sec xenium::ramalhete_queue, 1,i: 32,060,617 msg/sec xenium::ramalhete_queue, 2,s: 23,702,959 msg/sec xenium::ramalhete_queue, 2,i: 23,359,639 msg/sec xenium::ramalhete_queue, 3,s: 29,253,390 msg/sec xenium::ramalhete_queue, 3,i: 28,555,048 msg/sec xenium::ramalhete_queue, 4,s: 33,744,013 msg/sec xenium::ramalhete_queue, 4,i: 33,488,124 msg/sec xenium::ramalhete_queue, 5,s: 32,336,001 msg/sec xenium::ramalhete_queue, 5,i: 36,074,561 msg/sec xenium::ramalhete_queue, 6,s: 33,997,681 msg/sec xenium::ramalhete_queue, 6,i: 39,151,597 msg/sec xenium::ramalhete_queue, 7,s: 35,062,319 msg/sec xenium::ramalhete_queue, 7,i: 41,451,122 msg/sec xenium::ramalhete_queue, 8,s: 35,526,621 msg/sec xenium::ramalhete_queue, 8,i: 44,162,055 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,830,439 msg/sec xenium::vyukov_bounded_queue, 1,i: 65,335,920 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,096,701 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,545,900 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,782,116 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,917,548 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,345,529 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,316,239 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,017,071 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,383,155 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,305,028 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,415,891 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,215,982 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,990,843 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,406,695 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,211,868 msg/sec AtomicQueue, 1,s: 99,747,939 msg/sec AtomicQueue, 1,i: 54,911,625 msg/sec AtomicQueue, 2,s: 12,241,093 msg/sec AtomicQueue, 2,i: 11,761,717 msg/sec AtomicQueue, 3,s: 10,728,629 msg/sec AtomicQueue, 3,i: 9,916,638 msg/sec AtomicQueue, 4,s: 8,214,784 msg/sec AtomicQueue, 4,i: 8,250,058 msg/sec AtomicQueue, 5,s: 8,047,765 msg/sec AtomicQueue, 5,i: 8,069,384 msg/sec AtomicQueue, 6,s: 7,723,074 msg/sec AtomicQueue, 6,i: 7,594,332 msg/sec AtomicQueue, 7,s: 7,231,069 msg/sec AtomicQueue, 7,i: 7,979,461 msg/sec AtomicQueue, 8,s: 6,346,995 msg/sec AtomicQueue, 8,i: 7,404,385 msg/sec AtomicQueueB, 1,s: 43,945,826 msg/sec AtomicQueueB, 1,i: 43,567,956 msg/sec AtomicQueueB, 2,s: 11,841,190 msg/sec AtomicQueueB, 2,i: 11,493,648 msg/sec AtomicQueueB, 3,s: 10,958,803 msg/sec AtomicQueueB, 3,i: 10,135,841 msg/sec AtomicQueueB, 4,s: 8,045,908 msg/sec AtomicQueueB, 4,i: 7,944,529 msg/sec AtomicQueueB, 5,s: 7,639,690 msg/sec AtomicQueueB, 5,i: 7,806,787 msg/sec AtomicQueueB, 6,s: 7,356,228 msg/sec AtomicQueueB, 6,i: 7,530,818 msg/sec AtomicQueueB, 7,s: 6,900,476 msg/sec AtomicQueueB, 7,i: 7,551,534 msg/sec AtomicQueueB, 8,s: 6,221,924 msg/sec AtomicQueueB, 8,i: 7,176,857 msg/sec OptimistAtomicQueue, 1,s: 778,722,497 msg/sec OptimistAtomicQueue, 1,i: 520,809,462 msg/sec OptimistAtomicQueue, 2,s: 32,567,635 msg/sec OptimistAtomicQueue, 2,i: 32,613,896 msg/sec OptimistAtomicQueue, 3,s: 36,650,503 msg/sec OptimistAtomicQueue, 3,i: 37,321,634 msg/sec OptimistAtomicQueue, 4,s: 39,280,633 msg/sec OptimistAtomicQueue, 4,i: 39,408,362 msg/sec OptimistAtomicQueue, 5,s: 41,688,688 msg/sec OptimistAtomicQueue, 5,i: 48,636,902 msg/sec OptimistAtomicQueue, 6,s: 42,612,295 msg/sec OptimistAtomicQueue, 6,i: 50,312,789 msg/sec OptimistAtomicQueue, 7,s: 44,364,764 msg/sec OptimistAtomicQueue, 7,i: 52,868,776 msg/sec OptimistAtomicQueue, 8,s: 46,420,811 msg/sec OptimistAtomicQueue, 8,i: 50,224,654 msg/sec OptimistAtomicQueueB, 1,s: 484,199,540 msg/sec OptimistAtomicQueueB, 1,i: 77,525,822 msg/sec OptimistAtomicQueueB, 2,s: 32,166,582 msg/sec OptimistAtomicQueueB, 2,i: 32,119,331 msg/sec OptimistAtomicQueueB, 3,s: 36,175,099 msg/sec OptimistAtomicQueueB, 3,i: 36,844,156 msg/sec OptimistAtomicQueueB, 4,s: 38,657,335 msg/sec OptimistAtomicQueueB, 4,i: 38,629,638 msg/sec OptimistAtomicQueueB, 5,s: 40,565,905 msg/sec OptimistAtomicQueueB, 5,i: 45,250,048 msg/sec OptimistAtomicQueueB, 6,s: 41,070,717 msg/sec OptimistAtomicQueueB, 6,i: 48,613,006 msg/sec OptimistAtomicQueueB, 7,s: 41,802,284 msg/sec OptimistAtomicQueueB, 7,i: 48,234,613 msg/sec OptimistAtomicQueueB, 8,s: 44,126,823 msg/sec OptimistAtomicQueueB, 8,i: 48,041,466 msg/sec AtomicQueue2, 1,s: 22,928,069 msg/sec AtomicQueue2, 1,i: 22,891,676 msg/sec AtomicQueue2, 2,s: 11,833,061 msg/sec AtomicQueue2, 2,i: 11,556,074 msg/sec AtomicQueue2, 3,s: 9,462,862 msg/sec AtomicQueue2, 3,i: 9,459,221 msg/sec AtomicQueue2, 4,s: 8,118,043 msg/sec AtomicQueue2, 4,i: 8,001,554 msg/sec AtomicQueue2, 5,s: 7,949,950 msg/sec AtomicQueue2, 5,i: 8,032,304 msg/sec AtomicQueue2, 6,s: 7,750,320 msg/sec AtomicQueue2, 6,i: 7,568,998 msg/sec AtomicQueue2, 7,s: 7,151,396 msg/sec AtomicQueue2, 7,i: 7,873,061 msg/sec AtomicQueue2, 8,s: 6,394,918 msg/sec AtomicQueue2, 8,i: 7,371,809 msg/sec AtomicQueueB2, 1,s: 35,836,595 msg/sec AtomicQueueB2, 1,i: 35,924,395 msg/sec AtomicQueueB2, 2,s: 11,497,081 msg/sec AtomicQueueB2, 2,i: 11,004,660 msg/sec AtomicQueueB2, 3,s: 9,562,722 msg/sec AtomicQueueB2, 3,i: 9,473,862 msg/sec AtomicQueueB2, 4,s: 8,020,449 msg/sec AtomicQueueB2, 4,i: 7,886,018 msg/sec AtomicQueueB2, 5,s: 7,493,821 msg/sec AtomicQueueB2, 5,i: 7,733,850 msg/sec AtomicQueueB2, 6,s: 7,319,120 msg/sec AtomicQueueB2, 6,i: 7,417,693 msg/sec AtomicQueueB2, 7,s: 6,873,980 msg/sec AtomicQueueB2, 7,i: 7,707,450 msg/sec AtomicQueueB2, 8,s: 6,321,382 msg/sec AtomicQueueB2, 8,i: 7,043,433 msg/sec OptimistAtomicQueue2, 1,s: 382,351,496 msg/sec OptimistAtomicQueue2, 1,i: 29,617,269 msg/sec OptimistAtomicQueue2, 2,s: 24,275,205 msg/sec OptimistAtomicQueue2, 2,i: 24,920,659 msg/sec OptimistAtomicQueue2, 3,s: 30,312,739 msg/sec OptimistAtomicQueue2, 3,i: 30,010,218 msg/sec OptimistAtomicQueue2, 4,s: 33,205,506 msg/sec OptimistAtomicQueue2, 4,i: 33,313,509 msg/sec OptimistAtomicQueue2, 5,s: 36,985,789 msg/sec OptimistAtomicQueue2, 5,i: 40,491,144 msg/sec OptimistAtomicQueue2, 6,s: 40,302,572 msg/sec OptimistAtomicQueue2, 6,i: 49,219,412 msg/sec OptimistAtomicQueue2, 7,s: 43,063,502 msg/sec OptimistAtomicQueue2, 7,i: 51,692,626 msg/sec OptimistAtomicQueue2, 8,s: 43,742,170 msg/sec OptimistAtomicQueue2, 8,i: 48,499,048 msg/sec OptimistAtomicQueueB2, 1,s: 78,830,979 msg/sec OptimistAtomicQueueB2, 1,i: 67,774,374 msg/sec OptimistAtomicQueueB2, 2,s: 28,630,778 msg/sec OptimistAtomicQueueB2, 2,i: 26,004,774 msg/sec OptimistAtomicQueueB2, 3,s: 29,779,287 msg/sec OptimistAtomicQueueB2, 3,i: 29,052,223 msg/sec OptimistAtomicQueueB2, 4,s: 33,434,387 msg/sec OptimistAtomicQueueB2, 4,i: 32,627,845 msg/sec OptimistAtomicQueueB2, 5,s: 34,782,592 msg/sec OptimistAtomicQueueB2, 5,i: 39,420,713 msg/sec OptimistAtomicQueueB2, 6,s: 37,350,591 msg/sec OptimistAtomicQueueB2, 6,i: 42,280,587 msg/sec OptimistAtomicQueueB2, 7,s: 40,782,657 msg/sec OptimistAtomicQueueB2, 7,i: 43,130,129 msg/sec OptimistAtomicQueueB2, 8,s: 42,057,478 msg/sec OptimistAtomicQueueB2, 8,i: 45,037,836 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000130 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000456 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [42] 425m:57s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,643,803 msg/sec boost::lockfree::spsc_queue, 1,i: 73,491,483 msg/sec boost::lockfree::queue, 1,s: 7,934,133 msg/sec boost::lockfree::queue, 1,i: 7,853,088 msg/sec boost::lockfree::queue, 2,s: 7,638,697 msg/sec boost::lockfree::queue, 2,i: 7,617,518 msg/sec boost::lockfree::queue, 3,s: 7,373,971 msg/sec boost::lockfree::queue, 3,i: 7,540,347 msg/sec boost::lockfree::queue, 4,s: 6,422,829 msg/sec boost::lockfree::queue, 4,i: 6,845,301 msg/sec boost::lockfree::queue, 5,s: 6,469,826 msg/sec boost::lockfree::queue, 5,i: 6,420,468 msg/sec boost::lockfree::queue, 6,s: 5,940,439 msg/sec boost::lockfree::queue, 6,i: 6,119,119 msg/sec boost::lockfree::queue, 7,s: 5,819,405 msg/sec boost::lockfree::queue, 7,i: 5,902,733 msg/sec boost::lockfree::queue, 8,s: 5,479,242 msg/sec boost::lockfree::queue, 8,i: 5,582,931 msg/sec moodycamel::ReaderWriterQueue, 1,s: 490,199,742 msg/sec moodycamel::ReaderWriterQueue, 1,i: 470,704,527 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,130,349 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,883,116 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,619,557 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,412,984 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,070,674 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,003,494 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,383,473 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,990,184 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,080,363 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,594,560 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,531,574 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,986,905 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,283,598 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,703,111 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,238,187 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,907,515 msg/sec pthread_spinlock, 1,s: 28,985,645 msg/sec pthread_spinlock, 1,i: 25,386,800 msg/sec pthread_spinlock, 2,s: 15,475,181 msg/sec pthread_spinlock, 2,i: 16,910,328 msg/sec pthread_spinlock, 3,s: 8,342,881 msg/sec pthread_spinlock, 3,i: 12,005,762 msg/sec pthread_spinlock, 4,s: 6,499,350 msg/sec pthread_spinlock, 4,i: 9,010,763 msg/sec pthread_spinlock, 5,s: 8,680,574 msg/sec pthread_spinlock, 5,i: 8,901,755 msg/sec pthread_spinlock, 6,s: 8,372,547 msg/sec pthread_spinlock, 6,i: 8,415,053 msg/sec pthread_spinlock, 7,s: 8,020,635 msg/sec pthread_spinlock, 7,i: 7,819,165 msg/sec pthread_spinlock, 8,s: 6,813,168 msg/sec pthread_spinlock, 8,i: 7,524,281 msg/sec std::mutex, 1,s: 6,619,422 msg/sec std::mutex, 1,i: 7,440,593 msg/sec std::mutex, 2,s: 5,946,286 msg/sec std::mutex, 2,i: 6,061,811 msg/sec std::mutex, 3,s: 6,018,765 msg/sec std::mutex, 3,i: 6,039,916 msg/sec std::mutex, 4,s: 6,285,839 msg/sec std::mutex, 4,i: 6,172,811 msg/sec std::mutex, 5,s: 5,995,441 msg/sec std::mutex, 5,i: 6,022,754 msg/sec std::mutex, 6,s: 5,954,921 msg/sec std::mutex, 6,i: 5,919,036 msg/sec std::mutex, 7,s: 5,800,665 msg/sec std::mutex, 7,i: 5,763,303 msg/sec std::mutex, 8,s: 5,673,963 msg/sec std::mutex, 8,i: 5,635,368 msg/sec tbb::spin_mutex, 1,s: 37,687,087 msg/sec tbb::spin_mutex, 1,i: 33,219,001 msg/sec tbb::spin_mutex, 2,s: 21,225,401 msg/sec tbb::spin_mutex, 2,i: 18,331,996 msg/sec tbb::spin_mutex, 3,s: 7,350,667 msg/sec tbb::spin_mutex, 3,i: 10,105,010 msg/sec tbb::spin_mutex, 4,s: 3,018,126 msg/sec tbb::spin_mutex, 4,i: 6,283,609 msg/sec tbb::spin_mutex, 5,s: 5,103,017 msg/sec tbb::spin_mutex, 5,i: 5,805,245 msg/sec tbb::spin_mutex, 6,s: 5,323,704 msg/sec tbb::spin_mutex, 6,i: 4,346,752 msg/sec tbb::spin_mutex, 7,s: 4,864,383 msg/sec tbb::spin_mutex, 7,i: 4,359,939 msg/sec tbb::spin_mutex, 8,s: 3,623,995 msg/sec tbb::spin_mutex, 8,i: 4,071,041 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,072,267 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,207,898 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,409,899 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,649,527 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,318,171 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,485,740 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,353,330 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,216,642 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,708,800 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,713,834 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,745,165 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,986,234 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,913,150 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,936,584 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,888,891 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,127,811 msg/sec xenium::michael_scott_queue, 1,s: 9,370,198 msg/sec xenium::michael_scott_queue, 1,i: 9,200,286 msg/sec xenium::michael_scott_queue, 2,s: 8,474,603 msg/sec xenium::michael_scott_queue, 2,i: 8,512,114 msg/sec xenium::michael_scott_queue, 3,s: 7,299,005 msg/sec xenium::michael_scott_queue, 3,i: 7,617,221 msg/sec xenium::michael_scott_queue, 4,s: 6,312,233 msg/sec xenium::michael_scott_queue, 4,i: 6,329,326 msg/sec xenium::michael_scott_queue, 5,s: 6,290,860 msg/sec xenium::michael_scott_queue, 5,i: 6,575,229 msg/sec xenium::michael_scott_queue, 6,s: 6,530,212 msg/sec xenium::michael_scott_queue, 6,i: 6,694,921 msg/sec xenium::michael_scott_queue, 7,s: 6,343,585 msg/sec xenium::michael_scott_queue, 7,i: 6,624,587 msg/sec xenium::michael_scott_queue, 8,s: 6,036,064 msg/sec xenium::michael_scott_queue, 8,i: 6,249,970 msg/sec xenium::ramalhete_queue, 1,s: 31,457,950 msg/sec xenium::ramalhete_queue, 1,i: 32,201,251 msg/sec xenium::ramalhete_queue, 2,s: 23,598,564 msg/sec xenium::ramalhete_queue, 2,i: 23,364,233 msg/sec xenium::ramalhete_queue, 3,s: 29,266,086 msg/sec xenium::ramalhete_queue, 3,i: 28,461,076 msg/sec xenium::ramalhete_queue, 4,s: 33,776,079 msg/sec xenium::ramalhete_queue, 4,i: 33,458,780 msg/sec xenium::ramalhete_queue, 5,s: 32,096,499 msg/sec xenium::ramalhete_queue, 5,i: 36,205,368 msg/sec xenium::ramalhete_queue, 6,s: 34,065,724 msg/sec xenium::ramalhete_queue, 6,i: 38,904,971 msg/sec xenium::ramalhete_queue, 7,s: 35,062,102 msg/sec xenium::ramalhete_queue, 7,i: 41,489,451 msg/sec xenium::ramalhete_queue, 8,s: 35,651,247 msg/sec xenium::ramalhete_queue, 8,i: 43,922,747 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,696,134 msg/sec xenium::vyukov_bounded_queue, 1,i: 114,026,067 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,259,597 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,921,875 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,738,439 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,840,095 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,505,541 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,147,064 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,701,214 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,202,562 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,141,518 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,336,872 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,103,665 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,337,396 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,173 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,580,417 msg/sec AtomicQueue, 1,s: 58,000,329 msg/sec AtomicQueue, 1,i: 57,189,352 msg/sec AtomicQueue, 2,s: 12,200,190 msg/sec AtomicQueue, 2,i: 11,710,314 msg/sec AtomicQueue, 3,s: 10,772,224 msg/sec AtomicQueue, 3,i: 10,020,616 msg/sec AtomicQueue, 4,s: 8,243,407 msg/sec AtomicQueue, 4,i: 8,188,913 msg/sec AtomicQueue, 5,s: 7,984,770 msg/sec AtomicQueue, 5,i: 8,098,690 msg/sec AtomicQueue, 6,s: 7,701,668 msg/sec AtomicQueue, 6,i: 7,610,233 msg/sec AtomicQueue, 7,s: 7,113,783 msg/sec AtomicQueue, 7,i: 7,974,925 msg/sec AtomicQueue, 8,s: 6,345,119 msg/sec AtomicQueue, 8,i: 7,494,604 msg/sec AtomicQueueB, 1,s: 43,827,531 msg/sec AtomicQueueB, 1,i: 43,172,984 msg/sec AtomicQueueB, 2,s: 12,057,964 msg/sec AtomicQueueB, 2,i: 11,506,981 msg/sec AtomicQueueB, 3,s: 10,837,566 msg/sec AtomicQueueB, 3,i: 10,252,691 msg/sec AtomicQueueB, 4,s: 8,114,694 msg/sec AtomicQueueB, 4,i: 8,089,902 msg/sec AtomicQueueB, 5,s: 7,684,938 msg/sec AtomicQueueB, 5,i: 7,784,094 msg/sec AtomicQueueB, 6,s: 7,347,831 msg/sec AtomicQueueB, 6,i: 7,564,280 msg/sec AtomicQueueB, 7,s: 6,898,399 msg/sec AtomicQueueB, 7,i: 7,750,191 msg/sec AtomicQueueB, 8,s: 6,230,817 msg/sec AtomicQueueB, 8,i: 7,191,017 msg/sec OptimistAtomicQueue, 1,s: 710,758,069 msg/sec OptimistAtomicQueue, 1,i: 534,110,428 msg/sec OptimistAtomicQueue, 2,s: 32,649,558 msg/sec OptimistAtomicQueue, 2,i: 32,718,835 msg/sec OptimistAtomicQueue, 3,s: 36,638,350 msg/sec OptimistAtomicQueue, 3,i: 37,389,259 msg/sec OptimistAtomicQueue, 4,s: 39,277,256 msg/sec OptimistAtomicQueue, 4,i: 39,397,980 msg/sec OptimistAtomicQueue, 5,s: 42,393,234 msg/sec OptimistAtomicQueue, 5,i: 46,371,117 msg/sec OptimistAtomicQueue, 6,s: 42,600,662 msg/sec OptimistAtomicQueue, 6,i: 49,849,167 msg/sec OptimistAtomicQueue, 7,s: 44,364,421 msg/sec OptimistAtomicQueue, 7,i: 52,010,854 msg/sec OptimistAtomicQueue, 8,s: 46,446,214 msg/sec OptimistAtomicQueue, 8,i: 48,830,666 msg/sec OptimistAtomicQueueB, 1,s: 100,495,240 msg/sec OptimistAtomicQueueB, 1,i: 164,090,399 msg/sec OptimistAtomicQueueB, 2,s: 32,146,721 msg/sec OptimistAtomicQueueB, 2,i: 32,415,872 msg/sec OptimistAtomicQueueB, 3,s: 36,264,847 msg/sec OptimistAtomicQueueB, 3,i: 36,927,695 msg/sec OptimistAtomicQueueB, 4,s: 38,717,421 msg/sec OptimistAtomicQueueB, 4,i: 38,663,702 msg/sec OptimistAtomicQueueB, 5,s: 40,468,562 msg/sec OptimistAtomicQueueB, 5,i: 45,720,344 msg/sec OptimistAtomicQueueB, 6,s: 40,877,344 msg/sec OptimistAtomicQueueB, 6,i: 49,135,004 msg/sec OptimistAtomicQueueB, 7,s: 43,030,970 msg/sec OptimistAtomicQueueB, 7,i: 51,415,314 msg/sec OptimistAtomicQueueB, 8,s: 44,523,328 msg/sec OptimistAtomicQueueB, 8,i: 48,385,863 msg/sec AtomicQueue2, 1,s: 22,860,499 msg/sec AtomicQueue2, 1,i: 22,902,676 msg/sec AtomicQueue2, 2,s: 11,816,225 msg/sec AtomicQueue2, 2,i: 11,392,488 msg/sec AtomicQueue2, 3,s: 9,548,901 msg/sec AtomicQueue2, 3,i: 9,442,495 msg/sec AtomicQueue2, 4,s: 8,099,252 msg/sec AtomicQueue2, 4,i: 8,061,075 msg/sec AtomicQueue2, 5,s: 7,934,723 msg/sec AtomicQueue2, 5,i: 8,032,265 msg/sec AtomicQueue2, 6,s: 7,771,888 msg/sec AtomicQueue2, 6,i: 7,528,974 msg/sec AtomicQueue2, 7,s: 7,079,418 msg/sec AtomicQueue2, 7,i: 7,883,792 msg/sec AtomicQueue2, 8,s: 6,369,156 msg/sec AtomicQueue2, 8,i: 7,349,220 msg/sec AtomicQueueB2, 1,s: 36,295,740 msg/sec AtomicQueueB2, 1,i: 36,047,101 msg/sec AtomicQueueB2, 2,s: 11,451,594 msg/sec AtomicQueueB2, 2,i: 11,058,995 msg/sec AtomicQueueB2, 3,s: 9,607,437 msg/sec AtomicQueueB2, 3,i: 9,545,823 msg/sec AtomicQueueB2, 4,s: 7,976,890 msg/sec AtomicQueueB2, 4,i: 7,860,834 msg/sec AtomicQueueB2, 5,s: 7,488,540 msg/sec AtomicQueueB2, 5,i: 7,619,782 msg/sec AtomicQueueB2, 6,s: 7,146,543 msg/sec AtomicQueueB2, 6,i: 7,443,752 msg/sec AtomicQueueB2, 7,s: 6,840,578 msg/sec AtomicQueueB2, 7,i: 7,703,476 msg/sec AtomicQueueB2, 8,s: 6,276,059 msg/sec AtomicQueueB2, 8,i: 7,098,148 msg/sec OptimistAtomicQueue2, 1,s: 555,109,232 msg/sec OptimistAtomicQueue2, 1,i: 150,475,191 msg/sec OptimistAtomicQueue2, 2,s: 26,134,928 msg/sec OptimistAtomicQueue2, 2,i: 24,174,384 msg/sec OptimistAtomicQueue2, 3,s: 30,331,524 msg/sec OptimistAtomicQueue2, 3,i: 29,978,958 msg/sec OptimistAtomicQueue2, 4,s: 35,411,608 msg/sec OptimistAtomicQueue2, 4,i: 32,956,447 msg/sec OptimistAtomicQueue2, 5,s: 37,148,486 msg/sec OptimistAtomicQueue2, 5,i: 40,666,549 msg/sec OptimistAtomicQueue2, 6,s: 40,234,717 msg/sec OptimistAtomicQueue2, 6,i: 49,327,567 msg/sec OptimistAtomicQueue2, 7,s: 43,132,961 msg/sec OptimistAtomicQueue2, 7,i: 51,720,753 msg/sec OptimistAtomicQueue2, 8,s: 44,502,230 msg/sec OptimistAtomicQueue2, 8,i: 48,427,377 msg/sec OptimistAtomicQueueB2, 1,s: 76,474,957 msg/sec OptimistAtomicQueueB2, 1,i: 33,927,166 msg/sec OptimistAtomicQueueB2, 2,s: 27,281,814 msg/sec OptimistAtomicQueueB2, 2,i: 27,243,152 msg/sec OptimistAtomicQueueB2, 3,s: 29,727,354 msg/sec OptimistAtomicQueueB2, 3,i: 29,083,565 msg/sec OptimistAtomicQueueB2, 4,s: 33,358,485 msg/sec OptimistAtomicQueueB2, 4,i: 31,747,042 msg/sec OptimistAtomicQueueB2, 5,s: 34,534,614 msg/sec OptimistAtomicQueueB2, 5,i: 39,745,191 msg/sec OptimistAtomicQueueB2, 6,s: 37,368,998 msg/sec OptimistAtomicQueueB2, 6,i: 42,448,941 msg/sec OptimistAtomicQueueB2, 7,s: 40,175,618 msg/sec OptimistAtomicQueueB2, 7,i: 45,279,208 msg/sec OptimistAtomicQueueB2, 8,s: 42,074,960 msg/sec OptimistAtomicQueueB2, 8,i: 45,226,309 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000327 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000123 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000296 sec/round-trip std::mutex: 0.000000514 sec/round-trip tbb::spin_mutex: 0.000000307 sec/round-trip tbb::concurrent_bounded_queue: 0.000000304 sec/round-trip xenium::michael_scott_queue: 0.000000388 sec/round-trip xenium::ramalhete_queue: 0.000000261 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000172 sec/round-trip OptimistAtomicQueue: 0.000000160 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [43] 424m:38s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 77,406,827 msg/sec boost::lockfree::spsc_queue, 1,i: 77,106,507 msg/sec boost::lockfree::queue, 1,s: 6,787,983 msg/sec boost::lockfree::queue, 1,i: 6,843,018 msg/sec boost::lockfree::queue, 2,s: 7,602,184 msg/sec boost::lockfree::queue, 2,i: 7,387,834 msg/sec boost::lockfree::queue, 3,s: 7,469,012 msg/sec boost::lockfree::queue, 3,i: 7,601,273 msg/sec boost::lockfree::queue, 4,s: 6,404,093 msg/sec boost::lockfree::queue, 4,i: 6,797,330 msg/sec boost::lockfree::queue, 5,s: 6,425,314 msg/sec boost::lockfree::queue, 5,i: 6,474,864 msg/sec boost::lockfree::queue, 6,s: 6,033,503 msg/sec boost::lockfree::queue, 6,i: 6,107,104 msg/sec boost::lockfree::queue, 7,s: 6,009,012 msg/sec boost::lockfree::queue, 7,i: 5,971,223 msg/sec boost::lockfree::queue, 8,s: 5,446,611 msg/sec boost::lockfree::queue, 8,i: 5,579,236 msg/sec moodycamel::ReaderWriterQueue, 1,s: 480,456,068 msg/sec moodycamel::ReaderWriterQueue, 1,i: 472,730,036 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,790,104 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,385,295 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,727,676 msg/sec moodycamel::ConcurrentQueue, 2,i: 52,431,952 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,753,009 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,969,037 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,076,401 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,254,940 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,291,310 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,234,303 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,608,267 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,319,219 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,105,039 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,659,563 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,333,184 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,055,865 msg/sec pthread_spinlock, 1,s: 29,012,427 msg/sec pthread_spinlock, 1,i: 25,336,607 msg/sec pthread_spinlock, 2,s: 15,515,920 msg/sec pthread_spinlock, 2,i: 17,067,142 msg/sec pthread_spinlock, 3,s: 8,335,174 msg/sec pthread_spinlock, 3,i: 12,075,994 msg/sec pthread_spinlock, 4,s: 6,522,450 msg/sec pthread_spinlock, 4,i: 8,924,640 msg/sec pthread_spinlock, 5,s: 8,723,304 msg/sec pthread_spinlock, 5,i: 9,536,190 msg/sec pthread_spinlock, 6,s: 8,560,593 msg/sec pthread_spinlock, 6,i: 8,408,502 msg/sec pthread_spinlock, 7,s: 7,690,130 msg/sec pthread_spinlock, 7,i: 7,717,639 msg/sec pthread_spinlock, 8,s: 6,786,756 msg/sec pthread_spinlock, 8,i: 6,934,258 msg/sec std::mutex, 1,s: 6,711,628 msg/sec std::mutex, 1,i: 7,387,278 msg/sec std::mutex, 2,s: 5,315,665 msg/sec std::mutex, 2,i: 5,499,442 msg/sec std::mutex, 3,s: 4,855,221 msg/sec std::mutex, 3,i: 5,007,753 msg/sec std::mutex, 4,s: 5,969,773 msg/sec std::mutex, 4,i: 6,213,339 msg/sec std::mutex, 5,s: 5,472,516 msg/sec std::mutex, 5,i: 5,622,347 msg/sec std::mutex, 6,s: 5,841,012 msg/sec std::mutex, 6,i: 5,842,154 msg/sec std::mutex, 7,s: 5,825,609 msg/sec std::mutex, 7,i: 5,745,379 msg/sec std::mutex, 8,s: 5,639,525 msg/sec std::mutex, 8,i: 5,635,361 msg/sec tbb::spin_mutex, 1,s: 37,875,610 msg/sec tbb::spin_mutex, 1,i: 33,086,222 msg/sec tbb::spin_mutex, 2,s: 21,232,786 msg/sec tbb::spin_mutex, 2,i: 18,653,913 msg/sec tbb::spin_mutex, 3,s: 7,698,909 msg/sec tbb::spin_mutex, 3,i: 11,003,026 msg/sec tbb::spin_mutex, 4,s: 3,279,066 msg/sec tbb::spin_mutex, 4,i: 6,323,281 msg/sec tbb::spin_mutex, 5,s: 5,563,409 msg/sec tbb::spin_mutex, 5,i: 5,399,990 msg/sec tbb::spin_mutex, 6,s: 5,320,166 msg/sec tbb::spin_mutex, 6,i: 4,353,735 msg/sec tbb::spin_mutex, 7,s: 4,650,792 msg/sec tbb::spin_mutex, 7,i: 4,321,371 msg/sec tbb::spin_mutex, 8,s: 4,241,016 msg/sec tbb::spin_mutex, 8,i: 4,075,120 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,108,817 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,166,021 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,080,885 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,191,135 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,328,516 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,455,650 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,067,259 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,234,748 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,662,339 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,375,905 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,581,434 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,716,703 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,637,117 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,096,335 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,742,209 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,943,550 msg/sec xenium::michael_scott_queue, 1,s: 9,378,095 msg/sec xenium::michael_scott_queue, 1,i: 9,513,879 msg/sec xenium::michael_scott_queue, 2,s: 8,600,122 msg/sec xenium::michael_scott_queue, 2,i: 8,541,347 msg/sec xenium::michael_scott_queue, 3,s: 7,164,194 msg/sec xenium::michael_scott_queue, 3,i: 7,521,373 msg/sec xenium::michael_scott_queue, 4,s: 6,256,747 msg/sec xenium::michael_scott_queue, 4,i: 6,310,594 msg/sec xenium::michael_scott_queue, 5,s: 6,302,583 msg/sec xenium::michael_scott_queue, 5,i: 6,713,658 msg/sec xenium::michael_scott_queue, 6,s: 6,516,431 msg/sec xenium::michael_scott_queue, 6,i: 6,993,396 msg/sec xenium::michael_scott_queue, 7,s: 6,306,182 msg/sec xenium::michael_scott_queue, 7,i: 6,389,596 msg/sec xenium::michael_scott_queue, 8,s: 6,013,653 msg/sec xenium::michael_scott_queue, 8,i: 6,183,412 msg/sec xenium::ramalhete_queue, 1,s: 32,061,729 msg/sec xenium::ramalhete_queue, 1,i: 32,211,039 msg/sec xenium::ramalhete_queue, 2,s: 23,498,457 msg/sec xenium::ramalhete_queue, 2,i: 23,320,396 msg/sec xenium::ramalhete_queue, 3,s: 29,219,682 msg/sec xenium::ramalhete_queue, 3,i: 28,465,253 msg/sec xenium::ramalhete_queue, 4,s: 33,830,558 msg/sec xenium::ramalhete_queue, 4,i: 33,520,672 msg/sec xenium::ramalhete_queue, 5,s: 32,106,387 msg/sec xenium::ramalhete_queue, 5,i: 38,397,737 msg/sec xenium::ramalhete_queue, 6,s: 33,883,611 msg/sec xenium::ramalhete_queue, 6,i: 40,069,224 msg/sec xenium::ramalhete_queue, 7,s: 35,034,650 msg/sec xenium::ramalhete_queue, 7,i: 40,967,541 msg/sec xenium::ramalhete_queue, 8,s: 35,414,076 msg/sec xenium::ramalhete_queue, 8,i: 43,783,516 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,552,781 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,207,358 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,793,504 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,587,574 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,495,204 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,834,157 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,421,114 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,438,689 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,655,798 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,265,067 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,971,581 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,471,200 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,132,917 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,993,388 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,403,250 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,231,440 msg/sec AtomicQueue, 1,s: 58,751,730 msg/sec AtomicQueue, 1,i: 55,336,078 msg/sec AtomicQueue, 2,s: 12,357,244 msg/sec AtomicQueue, 2,i: 11,725,761 msg/sec AtomicQueue, 3,s: 10,657,963 msg/sec AtomicQueue, 3,i: 9,957,935 msg/sec AtomicQueue, 4,s: 8,151,957 msg/sec AtomicQueue, 4,i: 8,205,464 msg/sec AtomicQueue, 5,s: 8,022,050 msg/sec AtomicQueue, 5,i: 8,116,163 msg/sec AtomicQueue, 6,s: 7,823,488 msg/sec AtomicQueue, 6,i: 7,592,979 msg/sec AtomicQueue, 7,s: 7,095,345 msg/sec AtomicQueue, 7,i: 7,969,163 msg/sec AtomicQueue, 8,s: 6,332,332 msg/sec AtomicQueue, 8,i: 7,430,161 msg/sec AtomicQueueB, 1,s: 65,946,639 msg/sec AtomicQueueB, 1,i: 43,057,995 msg/sec AtomicQueueB, 2,s: 11,827,551 msg/sec AtomicQueueB, 2,i: 11,505,763 msg/sec AtomicQueueB, 3,s: 10,997,607 msg/sec AtomicQueueB, 3,i: 10,110,745 msg/sec AtomicQueueB, 4,s: 8,098,754 msg/sec AtomicQueueB, 4,i: 8,077,885 msg/sec AtomicQueueB, 5,s: 7,703,839 msg/sec AtomicQueueB, 5,i: 7,831,417 msg/sec AtomicQueueB, 6,s: 7,350,495 msg/sec AtomicQueueB, 6,i: 7,499,128 msg/sec AtomicQueueB, 7,s: 6,789,049 msg/sec AtomicQueueB, 7,i: 7,725,330 msg/sec AtomicQueueB, 8,s: 6,220,454 msg/sec AtomicQueueB, 8,i: 7,169,344 msg/sec OptimistAtomicQueue, 1,s: 722,509,811 msg/sec OptimistAtomicQueue, 1,i: 524,213,898 msg/sec OptimistAtomicQueue, 2,s: 32,137,901 msg/sec OptimistAtomicQueue, 2,i: 32,202,192 msg/sec OptimistAtomicQueue, 3,s: 36,613,626 msg/sec OptimistAtomicQueue, 3,i: 37,333,635 msg/sec OptimistAtomicQueue, 4,s: 39,275,001 msg/sec OptimistAtomicQueue, 4,i: 39,429,624 msg/sec OptimistAtomicQueue, 5,s: 41,716,838 msg/sec OptimistAtomicQueue, 5,i: 47,214,367 msg/sec OptimistAtomicQueue, 6,s: 42,433,233 msg/sec OptimistAtomicQueue, 6,i: 49,809,872 msg/sec OptimistAtomicQueue, 7,s: 44,359,933 msg/sec OptimistAtomicQueue, 7,i: 52,983,281 msg/sec OptimistAtomicQueue, 8,s: 46,465,107 msg/sec OptimistAtomicQueue, 8,i: 48,858,841 msg/sec OptimistAtomicQueueB, 1,s: 156,333,381 msg/sec OptimistAtomicQueueB, 1,i: 76,517,116 msg/sec OptimistAtomicQueueB, 2,s: 32,250,002 msg/sec OptimistAtomicQueueB, 2,i: 32,228,371 msg/sec OptimistAtomicQueueB, 3,s: 36,313,746 msg/sec OptimistAtomicQueueB, 3,i: 36,864,693 msg/sec OptimistAtomicQueueB, 4,s: 38,668,496 msg/sec OptimistAtomicQueueB, 4,i: 38,539,572 msg/sec OptimistAtomicQueueB, 5,s: 40,823,268 msg/sec OptimistAtomicQueueB, 5,i: 45,319,244 msg/sec OptimistAtomicQueueB, 6,s: 41,171,670 msg/sec OptimistAtomicQueueB, 6,i: 49,109,714 msg/sec OptimistAtomicQueueB, 7,s: 42,530,872 msg/sec OptimistAtomicQueueB, 7,i: 47,931,564 msg/sec OptimistAtomicQueueB, 8,s: 44,225,231 msg/sec OptimistAtomicQueueB, 8,i: 48,410,729 msg/sec AtomicQueue2, 1,s: 22,990,631 msg/sec AtomicQueue2, 1,i: 22,929,154 msg/sec AtomicQueue2, 2,s: 11,696,565 msg/sec AtomicQueue2, 2,i: 11,296,108 msg/sec AtomicQueue2, 3,s: 9,615,656 msg/sec AtomicQueue2, 3,i: 9,428,344 msg/sec AtomicQueue2, 4,s: 8,055,451 msg/sec AtomicQueue2, 4,i: 8,069,067 msg/sec AtomicQueue2, 5,s: 7,958,921 msg/sec AtomicQueue2, 5,i: 8,027,196 msg/sec AtomicQueue2, 6,s: 7,722,379 msg/sec AtomicQueue2, 6,i: 7,531,316 msg/sec AtomicQueue2, 7,s: 7,134,221 msg/sec AtomicQueue2, 7,i: 7,870,800 msg/sec AtomicQueue2, 8,s: 6,383,004 msg/sec AtomicQueue2, 8,i: 7,230,292 msg/sec AtomicQueueB2, 1,s: 36,154,214 msg/sec AtomicQueueB2, 1,i: 32,622,370 msg/sec AtomicQueueB2, 2,s: 11,398,839 msg/sec AtomicQueueB2, 2,i: 11,127,259 msg/sec AtomicQueueB2, 3,s: 9,582,665 msg/sec AtomicQueueB2, 3,i: 9,383,540 msg/sec AtomicQueueB2, 4,s: 7,947,289 msg/sec AtomicQueueB2, 4,i: 7,874,470 msg/sec AtomicQueueB2, 5,s: 7,488,773 msg/sec AtomicQueueB2, 5,i: 7,716,016 msg/sec AtomicQueueB2, 6,s: 7,271,527 msg/sec AtomicQueueB2, 6,i: 7,447,453 msg/sec AtomicQueueB2, 7,s: 6,887,606 msg/sec AtomicQueueB2, 7,i: 7,712,503 msg/sec AtomicQueueB2, 8,s: 6,285,762 msg/sec AtomicQueueB2, 8,i: 7,113,139 msg/sec OptimistAtomicQueue2, 1,s: 45,863,249 msg/sec OptimistAtomicQueue2, 1,i: 42,039,893 msg/sec OptimistAtomicQueue2, 2,s: 24,891,605 msg/sec OptimistAtomicQueue2, 2,i: 24,348,596 msg/sec OptimistAtomicQueue2, 3,s: 30,255,857 msg/sec OptimistAtomicQueue2, 3,i: 30,025,708 msg/sec OptimistAtomicQueue2, 4,s: 33,259,526 msg/sec OptimistAtomicQueue2, 4,i: 33,154,739 msg/sec OptimistAtomicQueue2, 5,s: 37,197,047 msg/sec OptimistAtomicQueue2, 5,i: 40,386,714 msg/sec OptimistAtomicQueue2, 6,s: 40,091,999 msg/sec OptimistAtomicQueue2, 6,i: 49,277,715 msg/sec OptimistAtomicQueue2, 7,s: 42,824,695 msg/sec OptimistAtomicQueue2, 7,i: 51,622,575 msg/sec OptimistAtomicQueue2, 8,s: 43,866,035 msg/sec OptimistAtomicQueue2, 8,i: 48,640,347 msg/sec OptimistAtomicQueueB2, 1,s: 76,015,979 msg/sec OptimistAtomicQueueB2, 1,i: 33,936,299 msg/sec OptimistAtomicQueueB2, 2,s: 27,245,264 msg/sec OptimistAtomicQueueB2, 2,i: 27,439,818 msg/sec OptimistAtomicQueueB2, 3,s: 29,680,925 msg/sec OptimistAtomicQueueB2, 3,i: 28,998,475 msg/sec OptimistAtomicQueueB2, 4,s: 33,402,052 msg/sec OptimistAtomicQueueB2, 4,i: 32,907,065 msg/sec OptimistAtomicQueueB2, 5,s: 34,401,511 msg/sec OptimistAtomicQueueB2, 5,i: 39,633,549 msg/sec OptimistAtomicQueueB2, 6,s: 37,208,593 msg/sec OptimistAtomicQueueB2, 6,i: 42,412,875 msg/sec OptimistAtomicQueueB2, 7,s: 40,127,103 msg/sec OptimistAtomicQueueB2, 7,i: 43,200,600 msg/sec OptimistAtomicQueueB2, 8,s: 41,971,412 msg/sec OptimistAtomicQueueB2, 8,i: 45,657,682 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000148 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000289 sec/round-trip std::mutex: 0.000000456 sec/round-trip tbb::spin_mutex: 0.000000256 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [44] 423m:19s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,857,609 msg/sec boost::lockfree::spsc_queue, 1,i: 66,566,893 msg/sec boost::lockfree::queue, 1,s: 6,818,883 msg/sec boost::lockfree::queue, 1,i: 6,783,697 msg/sec boost::lockfree::queue, 2,s: 7,556,550 msg/sec boost::lockfree::queue, 2,i: 7,657,561 msg/sec boost::lockfree::queue, 3,s: 7,390,866 msg/sec boost::lockfree::queue, 3,i: 7,638,154 msg/sec boost::lockfree::queue, 4,s: 6,421,837 msg/sec boost::lockfree::queue, 4,i: 6,788,214 msg/sec boost::lockfree::queue, 5,s: 6,425,515 msg/sec boost::lockfree::queue, 5,i: 6,532,611 msg/sec boost::lockfree::queue, 6,s: 5,961,158 msg/sec boost::lockfree::queue, 6,i: 6,069,544 msg/sec boost::lockfree::queue, 7,s: 6,074,780 msg/sec boost::lockfree::queue, 7,i: 5,947,038 msg/sec boost::lockfree::queue, 8,s: 5,410,952 msg/sec boost::lockfree::queue, 8,i: 5,577,671 msg/sec moodycamel::ReaderWriterQueue, 1,s: 509,371,739 msg/sec moodycamel::ReaderWriterQueue, 1,i: 510,159,963 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,903,992 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,031,800 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,893,090 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,162,023 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,947,138 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,518,031 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,152,520 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,111,476 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,403,283 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,600,452 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,457,411 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,958,510 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,051,905 msg/sec moodycamel::ConcurrentQueue, 7,i: 33,459,833 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,145,218 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,449,963 msg/sec pthread_spinlock, 1,s: 29,206,214 msg/sec pthread_spinlock, 1,i: 25,315,595 msg/sec pthread_spinlock, 2,s: 16,174,814 msg/sec pthread_spinlock, 2,i: 16,900,464 msg/sec pthread_spinlock, 3,s: 8,353,889 msg/sec pthread_spinlock, 3,i: 12,040,544 msg/sec pthread_spinlock, 4,s: 6,442,846 msg/sec pthread_spinlock, 4,i: 9,156,974 msg/sec pthread_spinlock, 5,s: 8,744,784 msg/sec pthread_spinlock, 5,i: 9,185,216 msg/sec pthread_spinlock, 6,s: 8,555,183 msg/sec pthread_spinlock, 6,i: 8,582,296 msg/sec pthread_spinlock, 7,s: 7,492,604 msg/sec pthread_spinlock, 7,i: 7,457,677 msg/sec pthread_spinlock, 8,s: 6,660,197 msg/sec pthread_spinlock, 8,i: 6,838,608 msg/sec std::mutex, 1,s: 7,515,946 msg/sec std::mutex, 1,i: 6,621,664 msg/sec std::mutex, 2,s: 5,450,117 msg/sec std::mutex, 2,i: 5,469,585 msg/sec std::mutex, 3,s: 4,939,716 msg/sec std::mutex, 3,i: 5,118,716 msg/sec std::mutex, 4,s: 5,163,272 msg/sec std::mutex, 4,i: 5,952,407 msg/sec std::mutex, 5,s: 5,606,092 msg/sec std::mutex, 5,i: 5,651,687 msg/sec std::mutex, 6,s: 5,928,249 msg/sec std::mutex, 6,i: 6,000,385 msg/sec std::mutex, 7,s: 5,869,868 msg/sec std::mutex, 7,i: 5,881,632 msg/sec std::mutex, 8,s: 5,729,536 msg/sec std::mutex, 8,i: 5,624,376 msg/sec tbb::spin_mutex, 1,s: 37,526,175 msg/sec tbb::spin_mutex, 1,i: 32,996,112 msg/sec tbb::spin_mutex, 2,s: 21,197,934 msg/sec tbb::spin_mutex, 2,i: 18,563,424 msg/sec tbb::spin_mutex, 3,s: 7,441,801 msg/sec tbb::spin_mutex, 3,i: 10,219,857 msg/sec tbb::spin_mutex, 4,s: 3,265,266 msg/sec tbb::spin_mutex, 4,i: 6,316,641 msg/sec tbb::spin_mutex, 5,s: 5,195,233 msg/sec tbb::spin_mutex, 5,i: 5,376,805 msg/sec tbb::spin_mutex, 6,s: 5,293,491 msg/sec tbb::spin_mutex, 6,i: 4,335,688 msg/sec tbb::spin_mutex, 7,s: 4,800,971 msg/sec tbb::spin_mutex, 7,i: 4,262,956 msg/sec tbb::spin_mutex, 8,s: 4,242,813 msg/sec tbb::spin_mutex, 8,i: 4,067,563 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,192,095 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,888,385 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,087,559 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,067,905 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,298,635 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,567,198 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,420,542 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,256,485 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,844,139 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,750,485 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,753,413 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,003,105 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,898,613 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,949,914 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,864,747 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,133,616 msg/sec xenium::michael_scott_queue, 1,s: 9,216,900 msg/sec xenium::michael_scott_queue, 1,i: 9,195,678 msg/sec xenium::michael_scott_queue, 2,s: 8,469,218 msg/sec xenium::michael_scott_queue, 2,i: 8,574,420 msg/sec xenium::michael_scott_queue, 3,s: 7,150,273 msg/sec xenium::michael_scott_queue, 3,i: 7,565,571 msg/sec xenium::michael_scott_queue, 4,s: 6,403,756 msg/sec xenium::michael_scott_queue, 4,i: 6,352,056 msg/sec xenium::michael_scott_queue, 5,s: 6,317,321 msg/sec xenium::michael_scott_queue, 5,i: 6,797,829 msg/sec xenium::michael_scott_queue, 6,s: 6,494,413 msg/sec xenium::michael_scott_queue, 6,i: 6,949,262 msg/sec xenium::michael_scott_queue, 7,s: 6,313,911 msg/sec xenium::michael_scott_queue, 7,i: 6,478,398 msg/sec xenium::michael_scott_queue, 8,s: 5,979,699 msg/sec xenium::michael_scott_queue, 8,i: 6,108,184 msg/sec xenium::ramalhete_queue, 1,s: 32,035,382 msg/sec xenium::ramalhete_queue, 1,i: 32,770,973 msg/sec xenium::ramalhete_queue, 2,s: 24,577,555 msg/sec xenium::ramalhete_queue, 2,i: 23,278,638 msg/sec xenium::ramalhete_queue, 3,s: 29,128,378 msg/sec xenium::ramalhete_queue, 3,i: 28,413,602 msg/sec xenium::ramalhete_queue, 4,s: 33,812,249 msg/sec xenium::ramalhete_queue, 4,i: 33,544,083 msg/sec xenium::ramalhete_queue, 5,s: 32,276,590 msg/sec xenium::ramalhete_queue, 5,i: 35,951,272 msg/sec xenium::ramalhete_queue, 6,s: 33,949,720 msg/sec xenium::ramalhete_queue, 6,i: 39,679,998 msg/sec xenium::ramalhete_queue, 7,s: 35,036,319 msg/sec xenium::ramalhete_queue, 7,i: 41,528,101 msg/sec xenium::ramalhete_queue, 8,s: 35,535,148 msg/sec xenium::ramalhete_queue, 8,i: 44,051,651 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,278,371 msg/sec xenium::vyukov_bounded_queue, 1,i: 122,159,516 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,936,507 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,609,138 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,614,577 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,718,859 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,487,183 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,535,935 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,966,028 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,361,303 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,156,099 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,631,387 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,129,949 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,034,650 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,469,245 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,232,730 msg/sec AtomicQueue, 1,s: 61,195,747 msg/sec AtomicQueue, 1,i: 56,658,912 msg/sec AtomicQueue, 2,s: 12,199,634 msg/sec AtomicQueue, 2,i: 11,737,519 msg/sec AtomicQueue, 3,s: 10,824,065 msg/sec AtomicQueue, 3,i: 9,828,904 msg/sec AtomicQueue, 4,s: 8,178,902 msg/sec AtomicQueue, 4,i: 8,249,789 msg/sec AtomicQueue, 5,s: 7,968,515 msg/sec AtomicQueue, 5,i: 8,097,385 msg/sec AtomicQueue, 6,s: 7,807,772 msg/sec AtomicQueue, 6,i: 7,613,331 msg/sec AtomicQueue, 7,s: 7,106,055 msg/sec AtomicQueue, 7,i: 7,988,777 msg/sec AtomicQueue, 8,s: 6,331,414 msg/sec AtomicQueue, 8,i: 7,475,274 msg/sec AtomicQueueB, 1,s: 44,353,551 msg/sec AtomicQueueB, 1,i: 43,025,569 msg/sec AtomicQueueB, 2,s: 11,828,376 msg/sec AtomicQueueB, 2,i: 11,513,721 msg/sec AtomicQueueB, 3,s: 10,960,754 msg/sec AtomicQueueB, 3,i: 10,176,930 msg/sec AtomicQueueB, 4,s: 8,023,284 msg/sec AtomicQueueB, 4,i: 8,115,716 msg/sec AtomicQueueB, 5,s: 7,656,610 msg/sec AtomicQueueB, 5,i: 7,794,459 msg/sec AtomicQueueB, 6,s: 7,300,103 msg/sec AtomicQueueB, 6,i: 7,528,348 msg/sec AtomicQueueB, 7,s: 6,918,083 msg/sec AtomicQueueB, 7,i: 7,543,048 msg/sec AtomicQueueB, 8,s: 6,253,269 msg/sec AtomicQueueB, 8,i: 7,126,736 msg/sec OptimistAtomicQueue, 1,s: 704,944,072 msg/sec OptimistAtomicQueue, 1,i: 525,281,468 msg/sec OptimistAtomicQueue, 2,s: 32,656,422 msg/sec OptimistAtomicQueue, 2,i: 32,426,527 msg/sec OptimistAtomicQueue, 3,s: 36,611,388 msg/sec OptimistAtomicQueue, 3,i: 37,434,730 msg/sec OptimistAtomicQueue, 4,s: 39,292,742 msg/sec OptimistAtomicQueue, 4,i: 39,400,610 msg/sec OptimistAtomicQueue, 5,s: 42,662,247 msg/sec OptimistAtomicQueue, 5,i: 46,277,146 msg/sec OptimistAtomicQueue, 6,s: 42,263,072 msg/sec OptimistAtomicQueue, 6,i: 50,343,387 msg/sec OptimistAtomicQueue, 7,s: 45,008,765 msg/sec OptimistAtomicQueue, 7,i: 51,897,435 msg/sec OptimistAtomicQueue, 8,s: 46,445,471 msg/sec OptimistAtomicQueue, 8,i: 49,216,081 msg/sec OptimistAtomicQueueB, 1,s: 94,530,643 msg/sec OptimistAtomicQueueB, 1,i: 76,457,307 msg/sec OptimistAtomicQueueB, 2,s: 32,173,035 msg/sec OptimistAtomicQueueB, 2,i: 32,231,667 msg/sec OptimistAtomicQueueB, 3,s: 36,304,878 msg/sec OptimistAtomicQueueB, 3,i: 36,863,842 msg/sec OptimistAtomicQueueB, 4,s: 38,694,771 msg/sec OptimistAtomicQueueB, 4,i: 38,712,676 msg/sec OptimistAtomicQueueB, 5,s: 41,001,454 msg/sec OptimistAtomicQueueB, 5,i: 46,216,021 msg/sec OptimistAtomicQueueB, 6,s: 41,120,682 msg/sec OptimistAtomicQueueB, 6,i: 49,048,897 msg/sec OptimistAtomicQueueB, 7,s: 42,422,755 msg/sec OptimistAtomicQueueB, 7,i: 48,311,563 msg/sec OptimistAtomicQueueB, 8,s: 44,471,086 msg/sec OptimistAtomicQueueB, 8,i: 47,852,637 msg/sec AtomicQueue2, 1,s: 23,051,251 msg/sec AtomicQueue2, 1,i: 23,049,800 msg/sec AtomicQueue2, 2,s: 11,797,418 msg/sec AtomicQueue2, 2,i: 11,419,131 msg/sec AtomicQueue2, 3,s: 9,598,170 msg/sec AtomicQueue2, 3,i: 9,376,689 msg/sec AtomicQueue2, 4,s: 7,989,419 msg/sec AtomicQueue2, 4,i: 8,037,048 msg/sec AtomicQueue2, 5,s: 7,928,181 msg/sec AtomicQueue2, 5,i: 8,059,771 msg/sec AtomicQueue2, 6,s: 7,857,052 msg/sec AtomicQueue2, 6,i: 7,539,266 msg/sec AtomicQueue2, 7,s: 7,110,721 msg/sec AtomicQueue2, 7,i: 7,886,381 msg/sec AtomicQueue2, 8,s: 6,387,843 msg/sec AtomicQueue2, 8,i: 7,198,194 msg/sec AtomicQueueB2, 1,s: 38,927,741 msg/sec AtomicQueueB2, 1,i: 38,922,755 msg/sec AtomicQueueB2, 2,s: 11,358,973 msg/sec AtomicQueueB2, 2,i: 11,107,066 msg/sec AtomicQueueB2, 3,s: 9,714,087 msg/sec AtomicQueueB2, 3,i: 9,512,115 msg/sec AtomicQueueB2, 4,s: 7,751,586 msg/sec AtomicQueueB2, 4,i: 7,766,312 msg/sec AtomicQueueB2, 5,s: 7,483,187 msg/sec AtomicQueueB2, 5,i: 7,771,640 msg/sec AtomicQueueB2, 6,s: 7,299,520 msg/sec AtomicQueueB2, 6,i: 7,404,169 msg/sec AtomicQueueB2, 7,s: 6,894,556 msg/sec AtomicQueueB2, 7,i: 7,707,628 msg/sec AtomicQueueB2, 8,s: 6,244,323 msg/sec AtomicQueueB2, 8,i: 7,143,584 msg/sec OptimistAtomicQueue2, 1,s: 463,961,339 msg/sec OptimistAtomicQueue2, 1,i: 29,635,360 msg/sec OptimistAtomicQueue2, 2,s: 26,377,540 msg/sec OptimistAtomicQueue2, 2,i: 24,009,955 msg/sec OptimistAtomicQueue2, 3,s: 29,954,198 msg/sec OptimistAtomicQueue2, 3,i: 29,959,795 msg/sec OptimistAtomicQueue2, 4,s: 36,241,653 msg/sec OptimistAtomicQueue2, 4,i: 33,478,337 msg/sec OptimistAtomicQueue2, 5,s: 37,106,759 msg/sec OptimistAtomicQueue2, 5,i: 40,994,389 msg/sec OptimistAtomicQueue2, 6,s: 40,208,123 msg/sec OptimistAtomicQueue2, 6,i: 49,078,360 msg/sec OptimistAtomicQueue2, 7,s: 42,682,570 msg/sec OptimistAtomicQueue2, 7,i: 51,562,721 msg/sec OptimistAtomicQueue2, 8,s: 43,931,509 msg/sec OptimistAtomicQueue2, 8,i: 48,893,988 msg/sec OptimistAtomicQueueB2, 1,s: 77,031,040 msg/sec OptimistAtomicQueueB2, 1,i: 33,869,277 msg/sec OptimistAtomicQueueB2, 2,s: 27,671,814 msg/sec OptimistAtomicQueueB2, 2,i: 23,191,665 msg/sec OptimistAtomicQueueB2, 3,s: 29,535,804 msg/sec OptimistAtomicQueueB2, 3,i: 29,165,021 msg/sec OptimistAtomicQueueB2, 4,s: 32,456,902 msg/sec OptimistAtomicQueueB2, 4,i: 32,684,772 msg/sec OptimistAtomicQueueB2, 5,s: 34,688,840 msg/sec OptimistAtomicQueueB2, 5,i: 39,271,114 msg/sec OptimistAtomicQueueB2, 6,s: 37,578,429 msg/sec OptimistAtomicQueueB2, 6,i: 42,535,437 msg/sec OptimistAtomicQueueB2, 7,s: 40,182,311 msg/sec OptimistAtomicQueueB2, 7,i: 45,506,976 msg/sec OptimistAtomicQueueB2, 8,s: 42,232,855 msg/sec OptimistAtomicQueueB2, 8,i: 46,492,509 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000324 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000363 sec/round-trip xenium::ramalhete_queue: 0.000000261 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [45] 421m:59s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,163,203 msg/sec boost::lockfree::spsc_queue, 1,i: 70,338,990 msg/sec boost::lockfree::queue, 1,s: 7,863,961 msg/sec boost::lockfree::queue, 1,i: 6,989,513 msg/sec boost::lockfree::queue, 2,s: 7,630,374 msg/sec boost::lockfree::queue, 2,i: 7,523,851 msg/sec boost::lockfree::queue, 3,s: 7,323,070 msg/sec boost::lockfree::queue, 3,i: 7,599,426 msg/sec boost::lockfree::queue, 4,s: 6,426,777 msg/sec boost::lockfree::queue, 4,i: 6,965,539 msg/sec boost::lockfree::queue, 5,s: 6,393,364 msg/sec boost::lockfree::queue, 5,i: 6,510,365 msg/sec boost::lockfree::queue, 6,s: 5,947,961 msg/sec boost::lockfree::queue, 6,i: 6,095,743 msg/sec boost::lockfree::queue, 7,s: 5,999,058 msg/sec boost::lockfree::queue, 7,i: 6,087,775 msg/sec boost::lockfree::queue, 8,s: 5,453,851 msg/sec boost::lockfree::queue, 8,i: 5,552,698 msg/sec moodycamel::ReaderWriterQueue, 1,s: 479,641,956 msg/sec moodycamel::ReaderWriterQueue, 1,i: 68,757,532 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,894,184 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,849,442 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,604,779 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,719,594 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,931,513 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,522,530 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,212,930 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,595,152 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,220,183 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,671,355 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,349,952 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,655,947 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,937,908 msg/sec moodycamel::ConcurrentQueue, 7,i: 34,967,082 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,109,506 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,099,781 msg/sec pthread_spinlock, 1,s: 28,798,018 msg/sec pthread_spinlock, 1,i: 25,316,251 msg/sec pthread_spinlock, 2,s: 15,494,507 msg/sec pthread_spinlock, 2,i: 17,148,163 msg/sec pthread_spinlock, 3,s: 8,263,250 msg/sec pthread_spinlock, 3,i: 12,143,163 msg/sec pthread_spinlock, 4,s: 6,491,274 msg/sec pthread_spinlock, 4,i: 9,286,491 msg/sec pthread_spinlock, 5,s: 8,799,473 msg/sec pthread_spinlock, 5,i: 9,621,305 msg/sec pthread_spinlock, 6,s: 8,322,910 msg/sec pthread_spinlock, 6,i: 8,427,236 msg/sec pthread_spinlock, 7,s: 7,493,754 msg/sec pthread_spinlock, 7,i: 7,604,243 msg/sec pthread_spinlock, 8,s: 6,703,139 msg/sec pthread_spinlock, 8,i: 7,322,843 msg/sec std::mutex, 1,s: 7,101,816 msg/sec std::mutex, 1,i: 7,547,640 msg/sec std::mutex, 2,s: 5,922,382 msg/sec std::mutex, 2,i: 5,884,327 msg/sec std::mutex, 3,s: 5,973,243 msg/sec std::mutex, 3,i: 6,050,950 msg/sec std::mutex, 4,s: 6,269,518 msg/sec std::mutex, 4,i: 6,447,873 msg/sec std::mutex, 5,s: 5,908,257 msg/sec std::mutex, 5,i: 5,978,372 msg/sec std::mutex, 6,s: 5,914,537 msg/sec std::mutex, 6,i: 5,868,579 msg/sec std::mutex, 7,s: 5,844,322 msg/sec std::mutex, 7,i: 5,847,933 msg/sec std::mutex, 8,s: 5,773,643 msg/sec std::mutex, 8,i: 5,769,181 msg/sec tbb::spin_mutex, 1,s: 37,705,111 msg/sec tbb::spin_mutex, 1,i: 37,647,361 msg/sec tbb::spin_mutex, 2,s: 21,102,012 msg/sec tbb::spin_mutex, 2,i: 21,042,521 msg/sec tbb::spin_mutex, 3,s: 8,699,688 msg/sec tbb::spin_mutex, 3,i: 11,268,144 msg/sec tbb::spin_mutex, 4,s: 3,296,056 msg/sec tbb::spin_mutex, 4,i: 6,174,962 msg/sec tbb::spin_mutex, 5,s: 5,598,934 msg/sec tbb::spin_mutex, 5,i: 5,789,884 msg/sec tbb::spin_mutex, 6,s: 5,238,229 msg/sec tbb::spin_mutex, 6,i: 4,351,711 msg/sec tbb::spin_mutex, 7,s: 4,839,079 msg/sec tbb::spin_mutex, 7,i: 4,330,461 msg/sec tbb::spin_mutex, 8,s: 4,237,308 msg/sec tbb::spin_mutex, 8,i: 4,055,220 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,588,284 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,818,739 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,858,153 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,891,716 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,223,852 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,395,758 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,070,658 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,205,643 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,583,894 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,393,578 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,637,680 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,702,778 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,676,662 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,102,485 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,751,277 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,893,197 msg/sec xenium::michael_scott_queue, 1,s: 9,269,173 msg/sec xenium::michael_scott_queue, 1,i: 9,092,441 msg/sec xenium::michael_scott_queue, 2,s: 8,327,742 msg/sec xenium::michael_scott_queue, 2,i: 8,373,099 msg/sec xenium::michael_scott_queue, 3,s: 7,318,125 msg/sec xenium::michael_scott_queue, 3,i: 7,521,580 msg/sec xenium::michael_scott_queue, 4,s: 6,312,069 msg/sec xenium::michael_scott_queue, 4,i: 6,311,613 msg/sec xenium::michael_scott_queue, 5,s: 6,283,341 msg/sec xenium::michael_scott_queue, 5,i: 6,653,050 msg/sec xenium::michael_scott_queue, 6,s: 6,514,681 msg/sec xenium::michael_scott_queue, 6,i: 6,723,749 msg/sec xenium::michael_scott_queue, 7,s: 6,323,726 msg/sec xenium::michael_scott_queue, 7,i: 6,564,240 msg/sec xenium::michael_scott_queue, 8,s: 6,002,739 msg/sec xenium::michael_scott_queue, 8,i: 6,122,782 msg/sec xenium::ramalhete_queue, 1,s: 32,230,845 msg/sec xenium::ramalhete_queue, 1,i: 32,568,846 msg/sec xenium::ramalhete_queue, 2,s: 23,572,589 msg/sec xenium::ramalhete_queue, 2,i: 23,292,519 msg/sec xenium::ramalhete_queue, 3,s: 29,343,207 msg/sec xenium::ramalhete_queue, 3,i: 28,531,703 msg/sec xenium::ramalhete_queue, 4,s: 33,934,701 msg/sec xenium::ramalhete_queue, 4,i: 33,555,780 msg/sec xenium::ramalhete_queue, 5,s: 32,213,493 msg/sec xenium::ramalhete_queue, 5,i: 36,051,836 msg/sec xenium::ramalhete_queue, 6,s: 34,030,404 msg/sec xenium::ramalhete_queue, 6,i: 39,546,240 msg/sec xenium::ramalhete_queue, 7,s: 35,261,739 msg/sec xenium::ramalhete_queue, 7,i: 41,416,795 msg/sec xenium::ramalhete_queue, 8,s: 35,662,000 msg/sec xenium::ramalhete_queue, 8,i: 44,117,364 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,351,060 msg/sec xenium::vyukov_bounded_queue, 1,i: 82,060,186 msg/sec xenium::vyukov_bounded_queue, 2,s: 23,413,859 msg/sec xenium::vyukov_bounded_queue, 2,i: 27,556,499 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,671,846 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,032,732 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,607,410 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,466,787 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,859,278 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,311,454 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,856,228 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,230,909 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,330,294 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,898,169 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,367,089 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,560,488 msg/sec AtomicQueue, 1,s: 69,688,482 msg/sec AtomicQueue, 1,i: 56,523,416 msg/sec AtomicQueue, 2,s: 12,208,413 msg/sec AtomicQueue, 2,i: 11,727,972 msg/sec AtomicQueue, 3,s: 10,785,791 msg/sec AtomicQueue, 3,i: 9,845,982 msg/sec AtomicQueue, 4,s: 8,211,533 msg/sec AtomicQueue, 4,i: 8,229,758 msg/sec AtomicQueue, 5,s: 8,014,975 msg/sec AtomicQueue, 5,i: 8,092,663 msg/sec AtomicQueue, 6,s: 7,871,198 msg/sec AtomicQueue, 6,i: 7,607,829 msg/sec AtomicQueue, 7,s: 7,011,413 msg/sec AtomicQueue, 7,i: 7,960,166 msg/sec AtomicQueue, 8,s: 6,327,685 msg/sec AtomicQueue, 8,i: 7,360,945 msg/sec AtomicQueueB, 1,s: 44,279,544 msg/sec AtomicQueueB, 1,i: 44,485,559 msg/sec AtomicQueueB, 2,s: 11,830,623 msg/sec AtomicQueueB, 2,i: 11,512,610 msg/sec AtomicQueueB, 3,s: 11,037,786 msg/sec AtomicQueueB, 3,i: 10,031,525 msg/sec AtomicQueueB, 4,s: 8,098,420 msg/sec AtomicQueueB, 4,i: 7,940,279 msg/sec AtomicQueueB, 5,s: 7,582,601 msg/sec AtomicQueueB, 5,i: 7,763,940 msg/sec AtomicQueueB, 6,s: 7,263,578 msg/sec AtomicQueueB, 6,i: 7,516,566 msg/sec AtomicQueueB, 7,s: 6,867,806 msg/sec AtomicQueueB, 7,i: 7,673,696 msg/sec AtomicQueueB, 8,s: 6,223,698 msg/sec AtomicQueueB, 8,i: 7,127,742 msg/sec OptimistAtomicQueue, 1,s: 705,225,829 msg/sec OptimistAtomicQueue, 1,i: 584,109,761 msg/sec OptimistAtomicQueue, 2,s: 32,108,424 msg/sec OptimistAtomicQueue, 2,i: 32,193,627 msg/sec OptimistAtomicQueue, 3,s: 36,634,986 msg/sec OptimistAtomicQueue, 3,i: 37,317,894 msg/sec OptimistAtomicQueue, 4,s: 39,285,760 msg/sec OptimistAtomicQueue, 4,i: 39,394,352 msg/sec OptimistAtomicQueue, 5,s: 41,777,322 msg/sec OptimistAtomicQueue, 5,i: 46,413,565 msg/sec OptimistAtomicQueue, 6,s: 42,538,953 msg/sec OptimistAtomicQueue, 6,i: 50,369,994 msg/sec OptimistAtomicQueue, 7,s: 44,080,837 msg/sec OptimistAtomicQueue, 7,i: 51,947,821 msg/sec OptimistAtomicQueue, 8,s: 46,575,861 msg/sec OptimistAtomicQueue, 8,i: 49,261,627 msg/sec OptimistAtomicQueueB, 1,s: 159,160,384 msg/sec OptimistAtomicQueueB, 1,i: 76,496,043 msg/sec OptimistAtomicQueueB, 2,s: 32,308,451 msg/sec OptimistAtomicQueueB, 2,i: 31,749,555 msg/sec OptimistAtomicQueueB, 3,s: 36,277,494 msg/sec OptimistAtomicQueueB, 3,i: 36,982,871 msg/sec OptimistAtomicQueueB, 4,s: 38,673,251 msg/sec OptimistAtomicQueueB, 4,i: 38,572,276 msg/sec OptimistAtomicQueueB, 5,s: 40,631,458 msg/sec OptimistAtomicQueueB, 5,i: 45,682,960 msg/sec OptimistAtomicQueueB, 6,s: 40,690,252 msg/sec OptimistAtomicQueueB, 6,i: 49,121,328 msg/sec OptimistAtomicQueueB, 7,s: 42,128,892 msg/sec OptimistAtomicQueueB, 7,i: 50,907,366 msg/sec OptimistAtomicQueueB, 8,s: 44,243,738 msg/sec OptimistAtomicQueueB, 8,i: 48,385,389 msg/sec AtomicQueue2, 1,s: 22,899,801 msg/sec AtomicQueue2, 1,i: 22,893,063 msg/sec AtomicQueue2, 2,s: 11,984,331 msg/sec AtomicQueue2, 2,i: 11,404,123 msg/sec AtomicQueue2, 3,s: 9,728,595 msg/sec AtomicQueue2, 3,i: 9,483,693 msg/sec AtomicQueue2, 4,s: 8,029,920 msg/sec AtomicQueue2, 4,i: 8,050,974 msg/sec AtomicQueue2, 5,s: 7,896,547 msg/sec AtomicQueue2, 5,i: 8,029,463 msg/sec AtomicQueue2, 6,s: 7,862,816 msg/sec AtomicQueue2, 6,i: 7,552,876 msg/sec AtomicQueue2, 7,s: 7,127,115 msg/sec AtomicQueue2, 7,i: 7,888,276 msg/sec AtomicQueue2, 8,s: 6,397,265 msg/sec AtomicQueue2, 8,i: 7,340,517 msg/sec AtomicQueueB2, 1,s: 35,437,204 msg/sec AtomicQueueB2, 1,i: 32,634,864 msg/sec AtomicQueueB2, 2,s: 11,475,774 msg/sec AtomicQueueB2, 2,i: 11,141,548 msg/sec AtomicQueueB2, 3,s: 9,898,647 msg/sec AtomicQueueB2, 3,i: 9,451,952 msg/sec AtomicQueueB2, 4,s: 7,783,278 msg/sec AtomicQueueB2, 4,i: 7,881,998 msg/sec AtomicQueueB2, 5,s: 7,513,075 msg/sec AtomicQueueB2, 5,i: 7,738,735 msg/sec AtomicQueueB2, 6,s: 7,282,079 msg/sec AtomicQueueB2, 6,i: 7,416,426 msg/sec AtomicQueueB2, 7,s: 6,869,165 msg/sec AtomicQueueB2, 7,i: 7,712,723 msg/sec AtomicQueueB2, 8,s: 6,347,107 msg/sec AtomicQueueB2, 8,i: 7,118,931 msg/sec OptimistAtomicQueue2, 1,s: 551,925,495 msg/sec OptimistAtomicQueue2, 1,i: 33,045,600 msg/sec OptimistAtomicQueue2, 2,s: 26,772,401 msg/sec OptimistAtomicQueue2, 2,i: 25,189,411 msg/sec OptimistAtomicQueue2, 3,s: 30,330,655 msg/sec OptimistAtomicQueue2, 3,i: 30,037,029 msg/sec OptimistAtomicQueue2, 4,s: 33,230,304 msg/sec OptimistAtomicQueue2, 4,i: 33,172,143 msg/sec OptimistAtomicQueue2, 5,s: 37,029,546 msg/sec OptimistAtomicQueue2, 5,i: 40,315,742 msg/sec OptimistAtomicQueue2, 6,s: 40,483,694 msg/sec OptimistAtomicQueue2, 6,i: 49,348,844 msg/sec OptimistAtomicQueue2, 7,s: 42,755,585 msg/sec OptimistAtomicQueue2, 7,i: 51,674,461 msg/sec OptimistAtomicQueue2, 8,s: 44,002,368 msg/sec OptimistAtomicQueue2, 8,i: 48,524,350 msg/sec OptimistAtomicQueueB2, 1,s: 89,670,305 msg/sec OptimistAtomicQueueB2, 1,i: 91,221,924 msg/sec OptimistAtomicQueueB2, 2,s: 26,817,415 msg/sec OptimistAtomicQueueB2, 2,i: 21,833,918 msg/sec OptimistAtomicQueueB2, 3,s: 30,397,549 msg/sec OptimistAtomicQueueB2, 3,i: 28,942,817 msg/sec OptimistAtomicQueueB2, 4,s: 32,543,618 msg/sec OptimistAtomicQueueB2, 4,i: 33,122,191 msg/sec OptimistAtomicQueueB2, 5,s: 34,697,960 msg/sec OptimistAtomicQueueB2, 5,i: 39,005,915 msg/sec OptimistAtomicQueueB2, 6,s: 37,539,566 msg/sec OptimistAtomicQueueB2, 6,i: 42,526,694 msg/sec OptimistAtomicQueueB2, 7,s: 40,755,202 msg/sec OptimistAtomicQueueB2, 7,i: 43,188,296 msg/sec OptimistAtomicQueueB2, 8,s: 42,091,527 msg/sec OptimistAtomicQueueB2, 8,i: 45,333,824 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000118 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000294 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000377 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [46] 420m:40s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,034,591 msg/sec boost::lockfree::spsc_queue, 1,i: 66,952,913 msg/sec boost::lockfree::queue, 1,s: 7,914,653 msg/sec boost::lockfree::queue, 1,i: 7,902,941 msg/sec boost::lockfree::queue, 2,s: 7,654,552 msg/sec boost::lockfree::queue, 2,i: 7,538,676 msg/sec boost::lockfree::queue, 3,s: 7,356,411 msg/sec boost::lockfree::queue, 3,i: 7,504,923 msg/sec boost::lockfree::queue, 4,s: 6,427,196 msg/sec boost::lockfree::queue, 4,i: 6,763,672 msg/sec boost::lockfree::queue, 5,s: 6,426,956 msg/sec boost::lockfree::queue, 5,i: 6,528,687 msg/sec boost::lockfree::queue, 6,s: 5,980,972 msg/sec boost::lockfree::queue, 6,i: 6,124,776 msg/sec boost::lockfree::queue, 7,s: 5,843,461 msg/sec boost::lockfree::queue, 7,i: 5,868,599 msg/sec boost::lockfree::queue, 8,s: 5,484,751 msg/sec boost::lockfree::queue, 8,i: 5,642,219 msg/sec moodycamel::ReaderWriterQueue, 1,s: 88,118,531 msg/sec moodycamel::ReaderWriterQueue, 1,i: 488,290,131 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,342,982 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,464,170 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,409,311 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,256,375 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,502,853 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,176,654 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,842,674 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,939,202 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,254,431 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,186,353 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,610,970 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,787,295 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,206,011 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,111,106 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,358,301 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,079,617 msg/sec pthread_spinlock, 1,s: 28,883,562 msg/sec pthread_spinlock, 1,i: 25,344,204 msg/sec pthread_spinlock, 2,s: 15,628,514 msg/sec pthread_spinlock, 2,i: 16,995,097 msg/sec pthread_spinlock, 3,s: 8,369,416 msg/sec pthread_spinlock, 3,i: 12,143,913 msg/sec pthread_spinlock, 4,s: 6,458,258 msg/sec pthread_spinlock, 4,i: 8,890,843 msg/sec pthread_spinlock, 5,s: 8,811,273 msg/sec pthread_spinlock, 5,i: 9,570,655 msg/sec pthread_spinlock, 6,s: 8,555,855 msg/sec pthread_spinlock, 6,i: 8,566,947 msg/sec pthread_spinlock, 7,s: 7,567,217 msg/sec pthread_spinlock, 7,i: 7,747,404 msg/sec pthread_spinlock, 8,s: 6,915,742 msg/sec pthread_spinlock, 8,i: 6,942,732 msg/sec std::mutex, 1,s: 6,404,049 msg/sec std::mutex, 1,i: 7,329,290 msg/sec std::mutex, 2,s: 6,100,053 msg/sec std::mutex, 2,i: 6,102,905 msg/sec std::mutex, 3,s: 6,094,863 msg/sec std::mutex, 3,i: 5,474,532 msg/sec std::mutex, 4,s: 6,210,946 msg/sec std::mutex, 4,i: 6,187,229 msg/sec std::mutex, 5,s: 6,002,828 msg/sec std::mutex, 5,i: 6,082,877 msg/sec std::mutex, 6,s: 5,819,902 msg/sec std::mutex, 6,i: 5,859,366 msg/sec std::mutex, 7,s: 5,731,178 msg/sec std::mutex, 7,i: 5,779,502 msg/sec std::mutex, 8,s: 5,662,010 msg/sec std::mutex, 8,i: 5,703,747 msg/sec tbb::spin_mutex, 1,s: 37,956,137 msg/sec tbb::spin_mutex, 1,i: 38,089,876 msg/sec tbb::spin_mutex, 2,s: 21,168,703 msg/sec tbb::spin_mutex, 2,i: 18,270,021 msg/sec tbb::spin_mutex, 3,s: 8,243,848 msg/sec tbb::spin_mutex, 3,i: 10,455,743 msg/sec tbb::spin_mutex, 4,s: 3,211,014 msg/sec tbb::spin_mutex, 4,i: 6,288,941 msg/sec tbb::spin_mutex, 5,s: 5,447,190 msg/sec tbb::spin_mutex, 5,i: 5,678,585 msg/sec tbb::spin_mutex, 6,s: 5,340,840 msg/sec tbb::spin_mutex, 6,i: 4,402,742 msg/sec tbb::spin_mutex, 7,s: 4,749,535 msg/sec tbb::spin_mutex, 7,i: 4,334,317 msg/sec tbb::spin_mutex, 8,s: 4,250,026 msg/sec tbb::spin_mutex, 8,i: 4,058,238 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,181,456 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,484,372 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,420,447 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,290,043 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,580,680 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,703,601 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,590,197 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,634,284 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,919,373 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,697,177 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,028,872 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,743,094 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,891,016 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,839,131 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,767,058 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,483,389 msg/sec xenium::michael_scott_queue, 1,s: 9,442,181 msg/sec xenium::michael_scott_queue, 1,i: 9,434,603 msg/sec xenium::michael_scott_queue, 2,s: 8,618,794 msg/sec xenium::michael_scott_queue, 2,i: 8,462,887 msg/sec xenium::michael_scott_queue, 3,s: 7,199,800 msg/sec xenium::michael_scott_queue, 3,i: 7,535,643 msg/sec xenium::michael_scott_queue, 4,s: 6,226,410 msg/sec xenium::michael_scott_queue, 4,i: 6,366,208 msg/sec xenium::michael_scott_queue, 5,s: 6,291,578 msg/sec xenium::michael_scott_queue, 5,i: 6,625,497 msg/sec xenium::michael_scott_queue, 6,s: 6,500,191 msg/sec xenium::michael_scott_queue, 6,i: 6,839,308 msg/sec xenium::michael_scott_queue, 7,s: 6,271,234 msg/sec xenium::michael_scott_queue, 7,i: 6,534,076 msg/sec xenium::michael_scott_queue, 8,s: 6,019,239 msg/sec xenium::michael_scott_queue, 8,i: 6,061,857 msg/sec xenium::ramalhete_queue, 1,s: 32,528,612 msg/sec xenium::ramalhete_queue, 1,i: 32,443,811 msg/sec xenium::ramalhete_queue, 2,s: 23,459,967 msg/sec xenium::ramalhete_queue, 2,i: 23,551,364 msg/sec xenium::ramalhete_queue, 3,s: 29,184,924 msg/sec xenium::ramalhete_queue, 3,i: 28,396,236 msg/sec xenium::ramalhete_queue, 4,s: 33,752,829 msg/sec xenium::ramalhete_queue, 4,i: 33,423,835 msg/sec xenium::ramalhete_queue, 5,s: 31,969,366 msg/sec xenium::ramalhete_queue, 5,i: 36,221,880 msg/sec xenium::ramalhete_queue, 6,s: 33,985,985 msg/sec xenium::ramalhete_queue, 6,i: 38,600,339 msg/sec xenium::ramalhete_queue, 7,s: 34,924,844 msg/sec xenium::ramalhete_queue, 7,i: 41,167,530 msg/sec xenium::ramalhete_queue, 8,s: 35,375,663 msg/sec xenium::ramalhete_queue, 8,i: 43,503,976 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,000,699 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,785,849 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,088,385 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,894,281 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,716,561 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,979,007 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,527,234 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,362,861 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,438,176 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,374,417 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,863,834 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,244,956 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,241,200 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,283,856 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,376,460 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,261,095 msg/sec AtomicQueue, 1,s: 61,343,961 msg/sec AtomicQueue, 1,i: 56,348,159 msg/sec AtomicQueue, 2,s: 12,392,097 msg/sec AtomicQueue, 2,i: 11,758,801 msg/sec AtomicQueue, 3,s: 10,771,545 msg/sec AtomicQueue, 3,i: 9,921,004 msg/sec AtomicQueue, 4,s: 8,199,353 msg/sec AtomicQueue, 4,i: 8,220,972 msg/sec AtomicQueue, 5,s: 8,043,743 msg/sec AtomicQueue, 5,i: 8,073,274 msg/sec AtomicQueue, 6,s: 7,839,025 msg/sec AtomicQueue, 6,i: 7,614,956 msg/sec AtomicQueue, 7,s: 7,045,938 msg/sec AtomicQueue, 7,i: 7,947,104 msg/sec AtomicQueue, 8,s: 6,339,408 msg/sec AtomicQueue, 8,i: 7,326,477 msg/sec AtomicQueueB, 1,s: 43,703,049 msg/sec AtomicQueueB, 1,i: 43,101,793 msg/sec AtomicQueueB, 2,s: 11,793,407 msg/sec AtomicQueueB, 2,i: 11,518,622 msg/sec AtomicQueueB, 3,s: 10,955,999 msg/sec AtomicQueueB, 3,i: 10,127,357 msg/sec AtomicQueueB, 4,s: 8,037,749 msg/sec AtomicQueueB, 4,i: 8,012,392 msg/sec AtomicQueueB, 5,s: 7,639,336 msg/sec AtomicQueueB, 5,i: 7,777,261 msg/sec AtomicQueueB, 6,s: 7,408,143 msg/sec AtomicQueueB, 6,i: 7,548,330 msg/sec AtomicQueueB, 7,s: 6,859,063 msg/sec AtomicQueueB, 7,i: 7,748,735 msg/sec AtomicQueueB, 8,s: 6,291,441 msg/sec AtomicQueueB, 8,i: 7,136,635 msg/sec OptimistAtomicQueue, 1,s: 799,337,349 msg/sec OptimistAtomicQueue, 1,i: 621,033,343 msg/sec OptimistAtomicQueue, 2,s: 32,654,390 msg/sec OptimistAtomicQueue, 2,i: 32,732,806 msg/sec OptimistAtomicQueue, 3,s: 36,670,625 msg/sec OptimistAtomicQueue, 3,i: 37,431,696 msg/sec OptimistAtomicQueue, 4,s: 39,321,577 msg/sec OptimistAtomicQueue, 4,i: 39,389,891 msg/sec OptimistAtomicQueue, 5,s: 42,393,124 msg/sec OptimistAtomicQueue, 5,i: 46,414,638 msg/sec OptimistAtomicQueue, 6,s: 42,291,766 msg/sec OptimistAtomicQueue, 6,i: 50,455,514 msg/sec OptimistAtomicQueue, 7,s: 44,332,130 msg/sec OptimistAtomicQueue, 7,i: 52,078,440 msg/sec OptimistAtomicQueue, 8,s: 46,363,961 msg/sec OptimistAtomicQueue, 8,i: 49,026,544 msg/sec OptimistAtomicQueueB, 1,s: 77,628,294 msg/sec OptimistAtomicQueueB, 1,i: 76,534,089 msg/sec OptimistAtomicQueueB, 2,s: 32,185,734 msg/sec OptimistAtomicQueueB, 2,i: 32,279,891 msg/sec OptimistAtomicQueueB, 3,s: 36,298,548 msg/sec OptimistAtomicQueueB, 3,i: 36,916,822 msg/sec OptimistAtomicQueueB, 4,s: 38,659,881 msg/sec OptimistAtomicQueueB, 4,i: 38,531,792 msg/sec OptimistAtomicQueueB, 5,s: 40,475,251 msg/sec OptimistAtomicQueueB, 5,i: 45,517,272 msg/sec OptimistAtomicQueueB, 6,s: 40,945,346 msg/sec OptimistAtomicQueueB, 6,i: 49,084,458 msg/sec OptimistAtomicQueueB, 7,s: 41,722,370 msg/sec OptimistAtomicQueueB, 7,i: 48,021,477 msg/sec OptimistAtomicQueueB, 8,s: 44,606,596 msg/sec OptimistAtomicQueueB, 8,i: 48,738,281 msg/sec AtomicQueue2, 1,s: 22,976,298 msg/sec AtomicQueue2, 1,i: 23,006,276 msg/sec AtomicQueue2, 2,s: 11,887,103 msg/sec AtomicQueue2, 2,i: 11,545,959 msg/sec AtomicQueue2, 3,s: 9,550,301 msg/sec AtomicQueue2, 3,i: 9,512,732 msg/sec AtomicQueue2, 4,s: 8,103,268 msg/sec AtomicQueue2, 4,i: 8,063,582 msg/sec AtomicQueue2, 5,s: 7,946,586 msg/sec AtomicQueue2, 5,i: 8,026,365 msg/sec AtomicQueue2, 6,s: 7,868,926 msg/sec AtomicQueue2, 6,i: 7,528,444 msg/sec AtomicQueue2, 7,s: 7,093,675 msg/sec AtomicQueue2, 7,i: 7,900,249 msg/sec AtomicQueue2, 8,s: 6,386,518 msg/sec AtomicQueue2, 8,i: 7,195,298 msg/sec AtomicQueueB2, 1,s: 36,011,649 msg/sec AtomicQueueB2, 1,i: 32,625,017 msg/sec AtomicQueueB2, 2,s: 11,430,218 msg/sec AtomicQueueB2, 2,i: 11,061,229 msg/sec AtomicQueueB2, 3,s: 9,618,785 msg/sec AtomicQueueB2, 3,i: 9,601,095 msg/sec AtomicQueueB2, 4,s: 7,965,292 msg/sec AtomicQueueB2, 4,i: 7,866,866 msg/sec AtomicQueueB2, 5,s: 7,541,490 msg/sec AtomicQueueB2, 5,i: 7,753,214 msg/sec AtomicQueueB2, 6,s: 7,324,640 msg/sec AtomicQueueB2, 6,i: 7,432,208 msg/sec AtomicQueueB2, 7,s: 6,901,189 msg/sec AtomicQueueB2, 7,i: 7,679,305 msg/sec AtomicQueueB2, 8,s: 6,298,276 msg/sec AtomicQueueB2, 8,i: 7,039,384 msg/sec OptimistAtomicQueue2, 1,s: 477,149,774 msg/sec OptimistAtomicQueue2, 1,i: 32,120,687 msg/sec OptimistAtomicQueue2, 2,s: 29,483,729 msg/sec OptimistAtomicQueue2, 2,i: 24,147,904 msg/sec OptimistAtomicQueue2, 3,s: 30,521,492 msg/sec OptimistAtomicQueue2, 3,i: 29,963,460 msg/sec OptimistAtomicQueue2, 4,s: 33,258,428 msg/sec OptimistAtomicQueue2, 4,i: 33,099,322 msg/sec OptimistAtomicQueue2, 5,s: 37,179,998 msg/sec OptimistAtomicQueue2, 5,i: 40,824,644 msg/sec OptimistAtomicQueue2, 6,s: 40,242,158 msg/sec OptimistAtomicQueue2, 6,i: 49,154,466 msg/sec OptimistAtomicQueue2, 7,s: 42,683,512 msg/sec OptimistAtomicQueue2, 7,i: 51,579,214 msg/sec OptimistAtomicQueue2, 8,s: 43,862,575 msg/sec OptimistAtomicQueue2, 8,i: 48,871,322 msg/sec OptimistAtomicQueueB2, 1,s: 78,546,134 msg/sec OptimistAtomicQueueB2, 1,i: 34,146,326 msg/sec OptimistAtomicQueueB2, 2,s: 27,830,340 msg/sec OptimistAtomicQueueB2, 2,i: 23,218,068 msg/sec OptimistAtomicQueueB2, 3,s: 29,723,310 msg/sec OptimistAtomicQueueB2, 3,i: 31,552,834 msg/sec OptimistAtomicQueueB2, 4,s: 33,426,805 msg/sec OptimistAtomicQueueB2, 4,i: 33,128,516 msg/sec OptimistAtomicQueueB2, 5,s: 34,337,732 msg/sec OptimistAtomicQueueB2, 5,i: 39,191,797 msg/sec OptimistAtomicQueueB2, 6,s: 36,911,520 msg/sec OptimistAtomicQueueB2, 6,i: 42,246,040 msg/sec OptimistAtomicQueueB2, 7,s: 40,976,249 msg/sec OptimistAtomicQueueB2, 7,i: 45,318,004 msg/sec OptimistAtomicQueueB2, 8,s: 42,582,398 msg/sec OptimistAtomicQueueB2, 8,i: 45,294,012 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000156 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000297 sec/round-trip std::mutex: 0.000000512 sec/round-trip tbb::spin_mutex: 0.000000309 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000379 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [47] 419m:21s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,479,980 msg/sec boost::lockfree::spsc_queue, 1,i: 68,235,141 msg/sec boost::lockfree::queue, 1,s: 6,873,504 msg/sec boost::lockfree::queue, 1,i: 6,918,740 msg/sec boost::lockfree::queue, 2,s: 7,633,244 msg/sec boost::lockfree::queue, 2,i: 7,427,784 msg/sec boost::lockfree::queue, 3,s: 7,351,818 msg/sec boost::lockfree::queue, 3,i: 7,593,602 msg/sec boost::lockfree::queue, 4,s: 6,428,456 msg/sec boost::lockfree::queue, 4,i: 6,832,860 msg/sec boost::lockfree::queue, 5,s: 6,384,637 msg/sec boost::lockfree::queue, 5,i: 6,599,628 msg/sec boost::lockfree::queue, 6,s: 5,983,402 msg/sec boost::lockfree::queue, 6,i: 6,095,356 msg/sec boost::lockfree::queue, 7,s: 6,034,025 msg/sec boost::lockfree::queue, 7,i: 5,956,887 msg/sec boost::lockfree::queue, 8,s: 5,424,851 msg/sec boost::lockfree::queue, 8,i: 5,578,302 msg/sec moodycamel::ReaderWriterQueue, 1,s: 94,615,346 msg/sec moodycamel::ReaderWriterQueue, 1,i: 43,356,419 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,214,696 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,604,857 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,973,286 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,403,185 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,868,248 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,684,479 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,878,515 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,942,301 msg/sec moodycamel::ConcurrentQueue, 5,s: 46,286,549 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,326,847 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,442,172 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,486,285 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,984,784 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,022,423 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,095,244 msg/sec moodycamel::ConcurrentQueue, 8,i: 39,628,849 msg/sec pthread_spinlock, 1,s: 29,264,948 msg/sec pthread_spinlock, 1,i: 25,316,157 msg/sec pthread_spinlock, 2,s: 15,151,480 msg/sec pthread_spinlock, 2,i: 16,904,293 msg/sec pthread_spinlock, 3,s: 8,319,542 msg/sec pthread_spinlock, 3,i: 11,972,560 msg/sec pthread_spinlock, 4,s: 6,492,241 msg/sec pthread_spinlock, 4,i: 9,014,993 msg/sec pthread_spinlock, 5,s: 8,871,160 msg/sec pthread_spinlock, 5,i: 9,186,524 msg/sec pthread_spinlock, 6,s: 8,322,549 msg/sec pthread_spinlock, 6,i: 8,534,391 msg/sec pthread_spinlock, 7,s: 7,716,056 msg/sec pthread_spinlock, 7,i: 7,566,941 msg/sec pthread_spinlock, 8,s: 6,646,784 msg/sec pthread_spinlock, 8,i: 6,993,562 msg/sec std::mutex, 1,s: 7,103,163 msg/sec std::mutex, 1,i: 6,326,779 msg/sec std::mutex, 2,s: 4,882,087 msg/sec std::mutex, 2,i: 6,190,781 msg/sec std::mutex, 3,s: 5,796,944 msg/sec std::mutex, 3,i: 5,308,100 msg/sec std::mutex, 4,s: 6,307,832 msg/sec std::mutex, 4,i: 6,360,554 msg/sec std::mutex, 5,s: 6,211,336 msg/sec std::mutex, 5,i: 6,128,192 msg/sec std::mutex, 6,s: 6,097,311 msg/sec std::mutex, 6,i: 5,988,015 msg/sec std::mutex, 7,s: 5,928,208 msg/sec std::mutex, 7,i: 5,889,764 msg/sec std::mutex, 8,s: 5,736,208 msg/sec std::mutex, 8,i: 5,746,859 msg/sec tbb::spin_mutex, 1,s: 37,995,122 msg/sec tbb::spin_mutex, 1,i: 33,042,107 msg/sec tbb::spin_mutex, 2,s: 21,071,056 msg/sec tbb::spin_mutex, 2,i: 18,315,680 msg/sec tbb::spin_mutex, 3,s: 8,006,225 msg/sec tbb::spin_mutex, 3,i: 10,259,573 msg/sec tbb::spin_mutex, 4,s: 3,090,751 msg/sec tbb::spin_mutex, 4,i: 6,380,433 msg/sec tbb::spin_mutex, 5,s: 5,513,356 msg/sec tbb::spin_mutex, 5,i: 5,752,996 msg/sec tbb::spin_mutex, 6,s: 5,342,975 msg/sec tbb::spin_mutex, 6,i: 4,343,205 msg/sec tbb::spin_mutex, 7,s: 4,471,208 msg/sec tbb::spin_mutex, 7,i: 4,315,804 msg/sec tbb::spin_mutex, 8,s: 4,237,750 msg/sec tbb::spin_mutex, 8,i: 4,078,189 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,254,749 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,189,706 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,463,349 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,754,608 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,360,137 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,487,299 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,166,244 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,533,530 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,609,762 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,551,913 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,737,414 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,692,379 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,859,776 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,708,385 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,106,624 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,082,313 msg/sec xenium::michael_scott_queue, 1,s: 9,219,500 msg/sec xenium::michael_scott_queue, 1,i: 9,139,345 msg/sec xenium::michael_scott_queue, 2,s: 8,465,547 msg/sec xenium::michael_scott_queue, 2,i: 8,422,090 msg/sec xenium::michael_scott_queue, 3,s: 7,307,633 msg/sec xenium::michael_scott_queue, 3,i: 7,518,956 msg/sec xenium::michael_scott_queue, 4,s: 6,385,232 msg/sec xenium::michael_scott_queue, 4,i: 6,457,136 msg/sec xenium::michael_scott_queue, 5,s: 6,323,161 msg/sec xenium::michael_scott_queue, 5,i: 6,741,321 msg/sec xenium::michael_scott_queue, 6,s: 6,522,242 msg/sec xenium::michael_scott_queue, 6,i: 6,748,263 msg/sec xenium::michael_scott_queue, 7,s: 6,347,610 msg/sec xenium::michael_scott_queue, 7,i: 6,509,197 msg/sec xenium::michael_scott_queue, 8,s: 6,005,251 msg/sec xenium::michael_scott_queue, 8,i: 6,068,140 msg/sec xenium::ramalhete_queue, 1,s: 32,777,463 msg/sec xenium::ramalhete_queue, 1,i: 32,339,568 msg/sec xenium::ramalhete_queue, 2,s: 23,481,421 msg/sec xenium::ramalhete_queue, 2,i: 23,351,254 msg/sec xenium::ramalhete_queue, 3,s: 29,171,323 msg/sec xenium::ramalhete_queue, 3,i: 28,446,494 msg/sec xenium::ramalhete_queue, 4,s: 33,722,845 msg/sec xenium::ramalhete_queue, 4,i: 33,459,177 msg/sec xenium::ramalhete_queue, 5,s: 32,017,692 msg/sec xenium::ramalhete_queue, 5,i: 36,029,715 msg/sec xenium::ramalhete_queue, 6,s: 34,156,477 msg/sec xenium::ramalhete_queue, 6,i: 39,082,692 msg/sec xenium::ramalhete_queue, 7,s: 35,142,768 msg/sec xenium::ramalhete_queue, 7,i: 41,424,004 msg/sec xenium::ramalhete_queue, 8,s: 35,492,129 msg/sec xenium::ramalhete_queue, 8,i: 44,292,461 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,025,684 msg/sec xenium::vyukov_bounded_queue, 1,i: 116,586,148 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,949,488 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,883,057 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,511,125 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,352,416 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,345,223 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,199,874 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,880,092 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,364,626 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,225,717 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,328,166 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,204,766 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,915,648 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,303 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,506,839 msg/sec AtomicQueue, 1,s: 61,175,075 msg/sec AtomicQueue, 1,i: 56,568,595 msg/sec AtomicQueue, 2,s: 12,300,532 msg/sec AtomicQueue, 2,i: 11,728,075 msg/sec AtomicQueue, 3,s: 10,701,435 msg/sec AtomicQueue, 3,i: 9,908,609 msg/sec AtomicQueue, 4,s: 8,177,112 msg/sec AtomicQueue, 4,i: 8,194,540 msg/sec AtomicQueue, 5,s: 8,030,457 msg/sec AtomicQueue, 5,i: 8,123,794 msg/sec AtomicQueue, 6,s: 7,854,759 msg/sec AtomicQueue, 6,i: 7,592,339 msg/sec AtomicQueue, 7,s: 7,181,737 msg/sec AtomicQueue, 7,i: 7,980,170 msg/sec AtomicQueue, 8,s: 6,321,701 msg/sec AtomicQueue, 8,i: 7,461,181 msg/sec AtomicQueueB, 1,s: 45,861,003 msg/sec AtomicQueueB, 1,i: 42,985,167 msg/sec AtomicQueueB, 2,s: 11,787,502 msg/sec AtomicQueueB, 2,i: 11,516,958 msg/sec AtomicQueueB, 3,s: 11,007,311 msg/sec AtomicQueueB, 3,i: 10,289,450 msg/sec AtomicQueueB, 4,s: 8,079,539 msg/sec AtomicQueueB, 4,i: 8,054,065 msg/sec AtomicQueueB, 5,s: 7,630,356 msg/sec AtomicQueueB, 5,i: 7,818,338 msg/sec AtomicQueueB, 6,s: 7,463,859 msg/sec AtomicQueueB, 6,i: 7,541,163 msg/sec AtomicQueueB, 7,s: 6,892,454 msg/sec AtomicQueueB, 7,i: 7,741,721 msg/sec AtomicQueueB, 8,s: 6,232,051 msg/sec AtomicQueueB, 8,i: 7,069,425 msg/sec OptimistAtomicQueue, 1,s: 777,980,960 msg/sec OptimistAtomicQueue, 1,i: 599,680,010 msg/sec OptimistAtomicQueue, 2,s: 32,204,977 msg/sec OptimistAtomicQueue, 2,i: 32,195,662 msg/sec OptimistAtomicQueue, 3,s: 36,625,593 msg/sec OptimistAtomicQueue, 3,i: 36,938,639 msg/sec OptimistAtomicQueue, 4,s: 39,265,464 msg/sec OptimistAtomicQueue, 4,i: 39,365,250 msg/sec OptimistAtomicQueue, 5,s: 37,774,939 msg/sec OptimistAtomicQueue, 5,i: 46,377,580 msg/sec OptimistAtomicQueue, 6,s: 41,974,800 msg/sec OptimistAtomicQueue, 6,i: 50,261,264 msg/sec OptimistAtomicQueue, 7,s: 45,081,116 msg/sec OptimistAtomicQueue, 7,i: 49,505,753 msg/sec OptimistAtomicQueue, 8,s: 46,275,318 msg/sec OptimistAtomicQueue, 8,i: 48,950,576 msg/sec OptimistAtomicQueueB, 1,s: 165,236,953 msg/sec OptimistAtomicQueueB, 1,i: 81,187,935 msg/sec OptimistAtomicQueueB, 2,s: 32,243,932 msg/sec OptimistAtomicQueueB, 2,i: 32,233,752 msg/sec OptimistAtomicQueueB, 3,s: 36,325,223 msg/sec OptimistAtomicQueueB, 3,i: 36,952,182 msg/sec OptimistAtomicQueueB, 4,s: 38,585,385 msg/sec OptimistAtomicQueueB, 4,i: 38,632,999 msg/sec OptimistAtomicQueueB, 5,s: 41,055,950 msg/sec OptimistAtomicQueueB, 5,i: 45,584,202 msg/sec OptimistAtomicQueueB, 6,s: 40,680,094 msg/sec OptimistAtomicQueueB, 6,i: 49,096,921 msg/sec OptimistAtomicQueueB, 7,s: 42,115,109 msg/sec OptimistAtomicQueueB, 7,i: 51,514,462 msg/sec OptimistAtomicQueueB, 8,s: 44,296,163 msg/sec OptimistAtomicQueueB, 8,i: 47,916,007 msg/sec AtomicQueue2, 1,s: 23,050,608 msg/sec AtomicQueue2, 1,i: 23,069,734 msg/sec AtomicQueue2, 2,s: 11,926,564 msg/sec AtomicQueue2, 2,i: 11,383,388 msg/sec AtomicQueue2, 3,s: 9,297,673 msg/sec AtomicQueue2, 3,i: 9,398,274 msg/sec AtomicQueue2, 4,s: 8,022,871 msg/sec AtomicQueue2, 4,i: 8,060,747 msg/sec AtomicQueue2, 5,s: 7,902,076 msg/sec AtomicQueue2, 5,i: 8,049,417 msg/sec AtomicQueue2, 6,s: 7,720,383 msg/sec AtomicQueue2, 6,i: 7,536,508 msg/sec AtomicQueue2, 7,s: 7,117,619 msg/sec AtomicQueue2, 7,i: 7,880,115 msg/sec AtomicQueue2, 8,s: 6,401,042 msg/sec AtomicQueue2, 8,i: 7,420,779 msg/sec AtomicQueueB2, 1,s: 35,900,062 msg/sec AtomicQueueB2, 1,i: 32,614,130 msg/sec AtomicQueueB2, 2,s: 11,389,325 msg/sec AtomicQueueB2, 2,i: 11,050,026 msg/sec AtomicQueueB2, 3,s: 9,643,243 msg/sec AtomicQueueB2, 3,i: 9,523,736 msg/sec AtomicQueueB2, 4,s: 7,918,791 msg/sec AtomicQueueB2, 4,i: 7,871,077 msg/sec AtomicQueueB2, 5,s: 7,515,124 msg/sec AtomicQueueB2, 5,i: 7,764,733 msg/sec AtomicQueueB2, 6,s: 7,209,579 msg/sec AtomicQueueB2, 6,i: 7,424,370 msg/sec AtomicQueueB2, 7,s: 6,836,872 msg/sec AtomicQueueB2, 7,i: 7,719,685 msg/sec AtomicQueueB2, 8,s: 6,238,117 msg/sec AtomicQueueB2, 8,i: 7,076,356 msg/sec OptimistAtomicQueue2, 1,s: 430,524,302 msg/sec OptimistAtomicQueue2, 1,i: 29,635,639 msg/sec OptimistAtomicQueue2, 2,s: 22,713,030 msg/sec OptimistAtomicQueue2, 2,i: 24,990,295 msg/sec OptimistAtomicQueue2, 3,s: 30,323,546 msg/sec OptimistAtomicQueue2, 3,i: 30,258,638 msg/sec OptimistAtomicQueue2, 4,s: 33,237,842 msg/sec OptimistAtomicQueue2, 4,i: 33,034,558 msg/sec OptimistAtomicQueue2, 5,s: 36,950,769 msg/sec OptimistAtomicQueue2, 5,i: 40,326,493 msg/sec OptimistAtomicQueue2, 6,s: 40,408,672 msg/sec OptimistAtomicQueue2, 6,i: 49,197,914 msg/sec OptimistAtomicQueue2, 7,s: 42,689,049 msg/sec OptimistAtomicQueue2, 7,i: 48,085,728 msg/sec OptimistAtomicQueue2, 8,s: 44,138,770 msg/sec OptimistAtomicQueue2, 8,i: 48,912,905 msg/sec OptimistAtomicQueueB2, 1,s: 78,045,148 msg/sec OptimistAtomicQueueB2, 1,i: 54,506,184 msg/sec OptimistAtomicQueueB2, 2,s: 27,312,136 msg/sec OptimistAtomicQueueB2, 2,i: 26,210,217 msg/sec OptimistAtomicQueueB2, 3,s: 29,726,210 msg/sec OptimistAtomicQueueB2, 3,i: 29,055,566 msg/sec OptimistAtomicQueueB2, 4,s: 33,451,151 msg/sec OptimistAtomicQueueB2, 4,i: 32,810,347 msg/sec OptimistAtomicQueueB2, 5,s: 34,534,119 msg/sec OptimistAtomicQueueB2, 5,i: 39,830,273 msg/sec OptimistAtomicQueueB2, 6,s: 37,504,299 msg/sec OptimistAtomicQueueB2, 6,i: 42,459,620 msg/sec OptimistAtomicQueueB2, 7,s: 40,725,085 msg/sec OptimistAtomicQueueB2, 7,i: 45,286,987 msg/sec OptimistAtomicQueueB2, 8,s: 42,400,805 msg/sec OptimistAtomicQueueB2, 8,i: 45,273,498 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000142 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000282 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000217 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [48] 418m:1s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,302,681 msg/sec boost::lockfree::spsc_queue, 1,i: 69,108,902 msg/sec boost::lockfree::queue, 1,s: 6,824,496 msg/sec boost::lockfree::queue, 1,i: 6,936,945 msg/sec boost::lockfree::queue, 2,s: 7,624,749 msg/sec boost::lockfree::queue, 2,i: 7,427,531 msg/sec boost::lockfree::queue, 3,s: 7,428,160 msg/sec boost::lockfree::queue, 3,i: 7,492,682 msg/sec boost::lockfree::queue, 4,s: 6,417,550 msg/sec boost::lockfree::queue, 4,i: 6,747,545 msg/sec boost::lockfree::queue, 5,s: 6,459,246 msg/sec boost::lockfree::queue, 5,i: 6,422,596 msg/sec boost::lockfree::queue, 6,s: 5,971,047 msg/sec boost::lockfree::queue, 6,i: 6,116,308 msg/sec boost::lockfree::queue, 7,s: 6,064,742 msg/sec boost::lockfree::queue, 7,i: 6,039,083 msg/sec boost::lockfree::queue, 8,s: 5,405,200 msg/sec boost::lockfree::queue, 8,i: 5,681,417 msg/sec moodycamel::ReaderWriterQueue, 1,s: 509,408,715 msg/sec moodycamel::ReaderWriterQueue, 1,i: 509,750,377 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,551,941 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,352,710 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,359,091 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,495,633 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,035,645 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,997,903 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,113,346 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,963,944 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,387,526 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,221,520 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,488,845 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,204,662 msg/sec moodycamel::ConcurrentQueue, 7,s: 46,668,358 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,068,257 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,286,231 msg/sec moodycamel::ConcurrentQueue, 8,i: 36,408,300 msg/sec pthread_spinlock, 1,s: 29,057,476 msg/sec pthread_spinlock, 1,i: 29,031,917 msg/sec pthread_spinlock, 2,s: 15,596,187 msg/sec pthread_spinlock, 2,i: 16,946,289 msg/sec pthread_spinlock, 3,s: 8,285,458 msg/sec pthread_spinlock, 3,i: 12,108,765 msg/sec pthread_spinlock, 4,s: 6,509,344 msg/sec pthread_spinlock, 4,i: 9,231,405 msg/sec pthread_spinlock, 5,s: 8,644,819 msg/sec pthread_spinlock, 5,i: 9,326,425 msg/sec pthread_spinlock, 6,s: 8,330,993 msg/sec pthread_spinlock, 6,i: 8,922,133 msg/sec pthread_spinlock, 7,s: 7,691,058 msg/sec pthread_spinlock, 7,i: 7,928,659 msg/sec pthread_spinlock, 8,s: 6,649,389 msg/sec pthread_spinlock, 8,i: 6,847,779 msg/sec std::mutex, 1,s: 7,196,066 msg/sec std::mutex, 1,i: 7,098,283 msg/sec std::mutex, 2,s: 5,306,889 msg/sec std::mutex, 2,i: 6,141,432 msg/sec std::mutex, 3,s: 6,094,694 msg/sec std::mutex, 3,i: 6,191,796 msg/sec std::mutex, 4,s: 6,138,395 msg/sec std::mutex, 4,i: 6,216,453 msg/sec std::mutex, 5,s: 6,054,883 msg/sec std::mutex, 5,i: 6,190,052 msg/sec std::mutex, 6,s: 6,015,908 msg/sec std::mutex, 6,i: 6,063,210 msg/sec std::mutex, 7,s: 5,847,296 msg/sec std::mutex, 7,i: 5,885,193 msg/sec std::mutex, 8,s: 5,709,927 msg/sec std::mutex, 8,i: 5,661,942 msg/sec tbb::spin_mutex, 1,s: 38,098,049 msg/sec tbb::spin_mutex, 1,i: 37,668,101 msg/sec tbb::spin_mutex, 2,s: 21,222,124 msg/sec tbb::spin_mutex, 2,i: 20,784,247 msg/sec tbb::spin_mutex, 3,s: 8,223,050 msg/sec tbb::spin_mutex, 3,i: 11,154,748 msg/sec tbb::spin_mutex, 4,s: 3,071,339 msg/sec tbb::spin_mutex, 4,i: 6,205,320 msg/sec tbb::spin_mutex, 5,s: 5,424,133 msg/sec tbb::spin_mutex, 5,i: 5,730,982 msg/sec tbb::spin_mutex, 6,s: 5,373,358 msg/sec tbb::spin_mutex, 6,i: 4,334,748 msg/sec tbb::spin_mutex, 7,s: 4,489,666 msg/sec tbb::spin_mutex, 7,i: 4,357,849 msg/sec tbb::spin_mutex, 8,s: 4,224,273 msg/sec tbb::spin_mutex, 8,i: 4,152,536 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,740,659 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,695,105 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,712,667 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,077,068 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,323,977 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,934,761 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,432,377 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,338,650 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,645,852 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,831,028 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,096,506 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,900,116 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,895,217 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,951,309 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,994,940 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,087,862 msg/sec xenium::michael_scott_queue, 1,s: 9,197,773 msg/sec xenium::michael_scott_queue, 1,i: 9,298,862 msg/sec xenium::michael_scott_queue, 2,s: 8,449,618 msg/sec xenium::michael_scott_queue, 2,i: 8,501,696 msg/sec xenium::michael_scott_queue, 3,s: 7,107,067 msg/sec xenium::michael_scott_queue, 3,i: 7,547,871 msg/sec xenium::michael_scott_queue, 4,s: 6,332,763 msg/sec xenium::michael_scott_queue, 4,i: 6,344,288 msg/sec xenium::michael_scott_queue, 5,s: 6,330,213 msg/sec xenium::michael_scott_queue, 5,i: 6,725,730 msg/sec xenium::michael_scott_queue, 6,s: 6,511,346 msg/sec xenium::michael_scott_queue, 6,i: 6,731,295 msg/sec xenium::michael_scott_queue, 7,s: 6,308,214 msg/sec xenium::michael_scott_queue, 7,i: 6,522,317 msg/sec xenium::michael_scott_queue, 8,s: 5,967,274 msg/sec xenium::michael_scott_queue, 8,i: 6,132,473 msg/sec xenium::ramalhete_queue, 1,s: 32,283,727 msg/sec xenium::ramalhete_queue, 1,i: 32,194,470 msg/sec xenium::ramalhete_queue, 2,s: 23,494,341 msg/sec xenium::ramalhete_queue, 2,i: 23,338,254 msg/sec xenium::ramalhete_queue, 3,s: 29,141,463 msg/sec xenium::ramalhete_queue, 3,i: 28,469,419 msg/sec xenium::ramalhete_queue, 4,s: 33,706,391 msg/sec xenium::ramalhete_queue, 4,i: 33,497,556 msg/sec xenium::ramalhete_queue, 5,s: 32,178,664 msg/sec xenium::ramalhete_queue, 5,i: 35,853,785 msg/sec xenium::ramalhete_queue, 6,s: 33,921,971 msg/sec xenium::ramalhete_queue, 6,i: 39,293,261 msg/sec xenium::ramalhete_queue, 7,s: 35,119,480 msg/sec xenium::ramalhete_queue, 7,i: 41,090,826 msg/sec xenium::ramalhete_queue, 8,s: 35,528,480 msg/sec xenium::ramalhete_queue, 8,i: 44,562,442 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,848,431 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,751,601 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,739,852 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,425,245 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,631,760 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,440,005 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,650,240 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,216,382 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,124,206 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,282,132 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,026,715 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,226,434 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,270,602 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,391,929 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,396,143 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,580,166 msg/sec AtomicQueue, 1,s: 58,358,154 msg/sec AtomicQueue, 1,i: 56,845,066 msg/sec AtomicQueue, 2,s: 12,352,940 msg/sec AtomicQueue, 2,i: 11,730,648 msg/sec AtomicQueue, 3,s: 10,686,869 msg/sec AtomicQueue, 3,i: 10,048,406 msg/sec AtomicQueue, 4,s: 8,181,236 msg/sec AtomicQueue, 4,i: 8,188,292 msg/sec AtomicQueue, 5,s: 8,030,827 msg/sec AtomicQueue, 5,i: 8,079,076 msg/sec AtomicQueue, 6,s: 7,900,074 msg/sec AtomicQueue, 6,i: 7,604,689 msg/sec AtomicQueue, 7,s: 7,128,162 msg/sec AtomicQueue, 7,i: 7,976,613 msg/sec AtomicQueue, 8,s: 6,343,477 msg/sec AtomicQueue, 8,i: 7,435,704 msg/sec AtomicQueueB, 1,s: 44,063,967 msg/sec AtomicQueueB, 1,i: 43,019,611 msg/sec AtomicQueueB, 2,s: 11,859,216 msg/sec AtomicQueueB, 2,i: 11,473,624 msg/sec AtomicQueueB, 3,s: 11,088,441 msg/sec AtomicQueueB, 3,i: 10,119,871 msg/sec AtomicQueueB, 4,s: 8,074,532 msg/sec AtomicQueueB, 4,i: 8,107,598 msg/sec AtomicQueueB, 5,s: 7,680,578 msg/sec AtomicQueueB, 5,i: 7,844,395 msg/sec AtomicQueueB, 6,s: 7,273,419 msg/sec AtomicQueueB, 6,i: 7,533,482 msg/sec AtomicQueueB, 7,s: 6,772,214 msg/sec AtomicQueueB, 7,i: 7,701,033 msg/sec AtomicQueueB, 8,s: 6,214,606 msg/sec AtomicQueueB, 8,i: 7,102,836 msg/sec OptimistAtomicQueue, 1,s: 759,743,472 msg/sec OptimistAtomicQueue, 1,i: 517,213,512 msg/sec OptimistAtomicQueue, 2,s: 32,620,488 msg/sec OptimistAtomicQueue, 2,i: 32,724,185 msg/sec OptimistAtomicQueue, 3,s: 36,624,256 msg/sec OptimistAtomicQueue, 3,i: 37,377,817 msg/sec OptimistAtomicQueue, 4,s: 39,271,131 msg/sec OptimistAtomicQueue, 4,i: 39,405,164 msg/sec OptimistAtomicQueue, 5,s: 42,513,603 msg/sec OptimistAtomicQueue, 5,i: 46,356,120 msg/sec OptimistAtomicQueue, 6,s: 42,556,022 msg/sec OptimistAtomicQueue, 6,i: 50,459,949 msg/sec OptimistAtomicQueue, 7,s: 44,238,334 msg/sec OptimistAtomicQueue, 7,i: 52,860,534 msg/sec OptimistAtomicQueue, 8,s: 46,274,379 msg/sec OptimistAtomicQueue, 8,i: 49,797,916 msg/sec OptimistAtomicQueueB, 1,s: 146,400,436 msg/sec OptimistAtomicQueueB, 1,i: 76,382,619 msg/sec OptimistAtomicQueueB, 2,s: 32,224,406 msg/sec OptimistAtomicQueueB, 2,i: 31,905,556 msg/sec OptimistAtomicQueueB, 3,s: 36,251,246 msg/sec OptimistAtomicQueueB, 3,i: 36,908,385 msg/sec OptimistAtomicQueueB, 4,s: 38,685,196 msg/sec OptimistAtomicQueueB, 4,i: 38,622,945 msg/sec OptimistAtomicQueueB, 5,s: 41,065,501 msg/sec OptimistAtomicQueueB, 5,i: 45,364,461 msg/sec OptimistAtomicQueueB, 6,s: 41,477,273 msg/sec OptimistAtomicQueueB, 6,i: 49,173,968 msg/sec OptimistAtomicQueueB, 7,s: 41,755,815 msg/sec OptimistAtomicQueueB, 7,i: 48,218,572 msg/sec OptimistAtomicQueueB, 8,s: 44,624,791 msg/sec OptimistAtomicQueueB, 8,i: 47,979,396 msg/sec AtomicQueue2, 1,s: 22,944,310 msg/sec AtomicQueue2, 1,i: 22,893,083 msg/sec AtomicQueue2, 2,s: 12,073,450 msg/sec AtomicQueue2, 2,i: 11,435,014 msg/sec AtomicQueue2, 3,s: 9,433,048 msg/sec AtomicQueue2, 3,i: 9,623,498 msg/sec AtomicQueue2, 4,s: 8,027,376 msg/sec AtomicQueue2, 4,i: 8,060,025 msg/sec AtomicQueue2, 5,s: 7,928,285 msg/sec AtomicQueue2, 5,i: 8,036,085 msg/sec AtomicQueue2, 6,s: 7,854,735 msg/sec AtomicQueue2, 6,i: 7,533,052 msg/sec AtomicQueue2, 7,s: 7,168,388 msg/sec AtomicQueue2, 7,i: 7,871,830 msg/sec AtomicQueue2, 8,s: 6,392,713 msg/sec AtomicQueue2, 8,i: 7,366,830 msg/sec AtomicQueueB2, 1,s: 36,009,486 msg/sec AtomicQueueB2, 1,i: 34,806,394 msg/sec AtomicQueueB2, 2,s: 11,389,719 msg/sec AtomicQueueB2, 2,i: 11,123,556 msg/sec AtomicQueueB2, 3,s: 9,641,511 msg/sec AtomicQueueB2, 3,i: 9,570,668 msg/sec AtomicQueueB2, 4,s: 7,983,095 msg/sec AtomicQueueB2, 4,i: 7,827,709 msg/sec AtomicQueueB2, 5,s: 7,367,556 msg/sec AtomicQueueB2, 5,i: 7,709,373 msg/sec AtomicQueueB2, 6,s: 7,313,427 msg/sec AtomicQueueB2, 6,i: 7,439,659 msg/sec AtomicQueueB2, 7,s: 6,910,439 msg/sec AtomicQueueB2, 7,i: 7,717,493 msg/sec AtomicQueueB2, 8,s: 6,273,754 msg/sec AtomicQueueB2, 8,i: 7,076,859 msg/sec OptimistAtomicQueue2, 1,s: 504,096,858 msg/sec OptimistAtomicQueue2, 1,i: 29,449,906 msg/sec OptimistAtomicQueue2, 2,s: 24,258,392 msg/sec OptimistAtomicQueue2, 2,i: 24,252,537 msg/sec OptimistAtomicQueue2, 3,s: 30,474,050 msg/sec OptimistAtomicQueue2, 3,i: 29,937,200 msg/sec OptimistAtomicQueue2, 4,s: 33,160,874 msg/sec OptimistAtomicQueue2, 4,i: 33,400,023 msg/sec OptimistAtomicQueue2, 5,s: 37,064,088 msg/sec OptimistAtomicQueue2, 5,i: 40,776,216 msg/sec OptimistAtomicQueue2, 6,s: 40,074,137 msg/sec OptimistAtomicQueue2, 6,i: 49,148,258 msg/sec OptimistAtomicQueue2, 7,s: 43,035,110 msg/sec OptimistAtomicQueue2, 7,i: 48,100,540 msg/sec OptimistAtomicQueue2, 8,s: 43,931,615 msg/sec OptimistAtomicQueue2, 8,i: 48,857,565 msg/sec OptimistAtomicQueueB2, 1,s: 76,347,344 msg/sec OptimistAtomicQueueB2, 1,i: 33,929,960 msg/sec OptimistAtomicQueueB2, 2,s: 27,193,847 msg/sec OptimistAtomicQueueB2, 2,i: 23,201,411 msg/sec OptimistAtomicQueueB2, 3,s: 29,597,904 msg/sec OptimistAtomicQueueB2, 3,i: 28,788,817 msg/sec OptimistAtomicQueueB2, 4,s: 33,309,090 msg/sec OptimistAtomicQueueB2, 4,i: 32,847,727 msg/sec OptimistAtomicQueueB2, 5,s: 34,369,742 msg/sec OptimistAtomicQueueB2, 5,i: 39,124,901 msg/sec OptimistAtomicQueueB2, 6,s: 37,688,015 msg/sec OptimistAtomicQueueB2, 6,i: 42,183,676 msg/sec OptimistAtomicQueueB2, 7,s: 40,717,943 msg/sec OptimistAtomicQueueB2, 7,i: 45,526,933 msg/sec OptimistAtomicQueueB2, 8,s: 42,197,017 msg/sec OptimistAtomicQueueB2, 8,i: 45,851,526 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000291 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000160 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [49] 416m:42s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,433,442 msg/sec boost::lockfree::spsc_queue, 1,i: 68,370,934 msg/sec boost::lockfree::queue, 1,s: 6,833,343 msg/sec boost::lockfree::queue, 1,i: 6,854,471 msg/sec boost::lockfree::queue, 2,s: 7,633,607 msg/sec boost::lockfree::queue, 2,i: 7,474,943 msg/sec boost::lockfree::queue, 3,s: 7,384,706 msg/sec boost::lockfree::queue, 3,i: 7,570,813 msg/sec boost::lockfree::queue, 4,s: 6,421,993 msg/sec boost::lockfree::queue, 4,i: 6,797,072 msg/sec boost::lockfree::queue, 5,s: 6,411,160 msg/sec boost::lockfree::queue, 5,i: 6,446,006 msg/sec boost::lockfree::queue, 6,s: 5,990,147 msg/sec boost::lockfree::queue, 6,i: 6,133,875 msg/sec boost::lockfree::queue, 7,s: 5,890,218 msg/sec boost::lockfree::queue, 7,i: 6,066,784 msg/sec boost::lockfree::queue, 8,s: 5,446,351 msg/sec boost::lockfree::queue, 8,i: 5,631,090 msg/sec moodycamel::ReaderWriterQueue, 1,s: 463,542,820 msg/sec moodycamel::ReaderWriterQueue, 1,i: 456,010,647 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,125,961 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,680,468 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,981,089 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,812,551 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,299,329 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,094,818 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,278,551 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,309,217 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,413,661 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,212,552 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,489,599 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,371,760 msg/sec moodycamel::ConcurrentQueue, 7,s: 47,113,718 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,908,599 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,396,485 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,666,720 msg/sec pthread_spinlock, 1,s: 29,038,478 msg/sec pthread_spinlock, 1,i: 25,308,652 msg/sec pthread_spinlock, 2,s: 15,975,310 msg/sec pthread_spinlock, 2,i: 18,207,244 msg/sec pthread_spinlock, 3,s: 8,340,805 msg/sec pthread_spinlock, 3,i: 12,061,250 msg/sec pthread_spinlock, 4,s: 6,509,132 msg/sec pthread_spinlock, 4,i: 8,878,428 msg/sec pthread_spinlock, 5,s: 8,779,496 msg/sec pthread_spinlock, 5,i: 10,383,715 msg/sec pthread_spinlock, 6,s: 8,377,687 msg/sec pthread_spinlock, 6,i: 8,407,037 msg/sec pthread_spinlock, 7,s: 7,549,931 msg/sec pthread_spinlock, 7,i: 7,948,698 msg/sec pthread_spinlock, 8,s: 6,846,497 msg/sec pthread_spinlock, 8,i: 7,269,657 msg/sec std::mutex, 1,s: 7,740,717 msg/sec std::mutex, 1,i: 7,341,723 msg/sec std::mutex, 2,s: 5,255,054 msg/sec std::mutex, 2,i: 6,153,324 msg/sec std::mutex, 3,s: 6,079,048 msg/sec std::mutex, 3,i: 5,730,932 msg/sec std::mutex, 4,s: 5,296,860 msg/sec std::mutex, 4,i: 6,368,200 msg/sec std::mutex, 5,s: 6,109,133 msg/sec std::mutex, 5,i: 6,218,143 msg/sec std::mutex, 6,s: 6,061,855 msg/sec std::mutex, 6,i: 6,045,081 msg/sec std::mutex, 7,s: 5,878,879 msg/sec std::mutex, 7,i: 5,932,777 msg/sec std::mutex, 8,s: 5,781,880 msg/sec std::mutex, 8,i: 5,766,775 msg/sec tbb::spin_mutex, 1,s: 37,758,023 msg/sec tbb::spin_mutex, 1,i: 32,866,039 msg/sec tbb::spin_mutex, 2,s: 21,067,219 msg/sec tbb::spin_mutex, 2,i: 18,272,136 msg/sec tbb::spin_mutex, 3,s: 8,105,990 msg/sec tbb::spin_mutex, 3,i: 10,201,755 msg/sec tbb::spin_mutex, 4,s: 3,020,164 msg/sec tbb::spin_mutex, 4,i: 6,199,825 msg/sec tbb::spin_mutex, 5,s: 5,171,952 msg/sec tbb::spin_mutex, 5,i: 5,795,646 msg/sec tbb::spin_mutex, 6,s: 5,283,708 msg/sec tbb::spin_mutex, 6,i: 4,415,994 msg/sec tbb::spin_mutex, 7,s: 4,862,244 msg/sec tbb::spin_mutex, 7,i: 4,313,987 msg/sec tbb::spin_mutex, 8,s: 4,246,079 msg/sec tbb::spin_mutex, 8,i: 4,091,858 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,354,210 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,285,854 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,743,631 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,044,447 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,570,615 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,876,803 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,991,362 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,338,976 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,517,131 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,649,318 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,783,449 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,745,928 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,924,589 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,138,088 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,907,487 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,491,032 msg/sec xenium::michael_scott_queue, 1,s: 9,181,274 msg/sec xenium::michael_scott_queue, 1,i: 9,454,017 msg/sec xenium::michael_scott_queue, 2,s: 8,633,145 msg/sec xenium::michael_scott_queue, 2,i: 8,562,913 msg/sec xenium::michael_scott_queue, 3,s: 7,363,810 msg/sec xenium::michael_scott_queue, 3,i: 7,550,893 msg/sec xenium::michael_scott_queue, 4,s: 6,306,104 msg/sec xenium::michael_scott_queue, 4,i: 6,361,605 msg/sec xenium::michael_scott_queue, 5,s: 6,315,881 msg/sec xenium::michael_scott_queue, 5,i: 6,601,896 msg/sec xenium::michael_scott_queue, 6,s: 6,492,745 msg/sec xenium::michael_scott_queue, 6,i: 6,853,725 msg/sec xenium::michael_scott_queue, 7,s: 6,343,669 msg/sec xenium::michael_scott_queue, 7,i: 6,420,217 msg/sec xenium::michael_scott_queue, 8,s: 5,951,392 msg/sec xenium::michael_scott_queue, 8,i: 6,132,927 msg/sec xenium::ramalhete_queue, 1,s: 32,855,641 msg/sec xenium::ramalhete_queue, 1,i: 32,615,162 msg/sec xenium::ramalhete_queue, 2,s: 23,497,026 msg/sec xenium::ramalhete_queue, 2,i: 23,385,308 msg/sec xenium::ramalhete_queue, 3,s: 29,207,479 msg/sec xenium::ramalhete_queue, 3,i: 28,458,020 msg/sec xenium::ramalhete_queue, 4,s: 33,802,234 msg/sec xenium::ramalhete_queue, 4,i: 33,492,036 msg/sec xenium::ramalhete_queue, 5,s: 31,961,310 msg/sec xenium::ramalhete_queue, 5,i: 36,141,510 msg/sec xenium::ramalhete_queue, 6,s: 33,989,152 msg/sec xenium::ramalhete_queue, 6,i: 38,776,165 msg/sec xenium::ramalhete_queue, 7,s: 35,258,268 msg/sec xenium::ramalhete_queue, 7,i: 40,948,626 msg/sec xenium::ramalhete_queue, 8,s: 35,422,545 msg/sec xenium::ramalhete_queue, 8,i: 43,982,945 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,028,832 msg/sec xenium::vyukov_bounded_queue, 1,i: 114,125,543 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,716,231 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,438,839 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,584,957 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,446,123 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,543,367 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,451,392 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,880,509 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,334,954 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,025,082 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,525,158 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,259,811 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,152,568 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,377,834 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,224,648 msg/sec AtomicQueue, 1,s: 62,208,663 msg/sec AtomicQueue, 1,i: 56,889,407 msg/sec AtomicQueue, 2,s: 12,308,226 msg/sec AtomicQueue, 2,i: 11,718,030 msg/sec AtomicQueue, 3,s: 10,767,123 msg/sec AtomicQueue, 3,i: 9,975,190 msg/sec AtomicQueue, 4,s: 8,221,944 msg/sec AtomicQueue, 4,i: 8,208,458 msg/sec AtomicQueue, 5,s: 8,019,314 msg/sec AtomicQueue, 5,i: 8,087,932 msg/sec AtomicQueue, 6,s: 7,857,704 msg/sec AtomicQueue, 6,i: 7,601,067 msg/sec AtomicQueue, 7,s: 7,183,815 msg/sec AtomicQueue, 7,i: 7,967,054 msg/sec AtomicQueue, 8,s: 6,337,005 msg/sec AtomicQueue, 8,i: 7,435,289 msg/sec AtomicQueueB, 1,s: 45,553,004 msg/sec AtomicQueueB, 1,i: 45,087,384 msg/sec AtomicQueueB, 2,s: 11,861,356 msg/sec AtomicQueueB, 2,i: 11,471,384 msg/sec AtomicQueueB, 3,s: 10,964,425 msg/sec AtomicQueueB, 3,i: 10,172,549 msg/sec AtomicQueueB, 4,s: 8,075,064 msg/sec AtomicQueueB, 4,i: 8,054,960 msg/sec AtomicQueueB, 5,s: 7,551,645 msg/sec AtomicQueueB, 5,i: 7,837,346 msg/sec AtomicQueueB, 6,s: 7,316,205 msg/sec AtomicQueueB, 6,i: 7,531,127 msg/sec AtomicQueueB, 7,s: 6,890,753 msg/sec AtomicQueueB, 7,i: 7,772,966 msg/sec AtomicQueueB, 8,s: 6,205,147 msg/sec AtomicQueueB, 8,i: 7,185,737 msg/sec OptimistAtomicQueue, 1,s: 719,704,575 msg/sec OptimistAtomicQueue, 1,i: 673,002,763 msg/sec OptimistAtomicQueue, 2,s: 32,156,138 msg/sec OptimistAtomicQueue, 2,i: 32,604,704 msg/sec OptimistAtomicQueue, 3,s: 36,649,925 msg/sec OptimistAtomicQueue, 3,i: 37,337,621 msg/sec OptimistAtomicQueue, 4,s: 39,265,328 msg/sec OptimistAtomicQueue, 4,i: 39,375,420 msg/sec OptimistAtomicQueue, 5,s: 42,668,047 msg/sec OptimistAtomicQueue, 5,i: 46,367,849 msg/sec OptimistAtomicQueue, 6,s: 42,049,102 msg/sec OptimistAtomicQueue, 6,i: 50,320,876 msg/sec OptimistAtomicQueue, 7,s: 44,143,857 msg/sec OptimistAtomicQueue, 7,i: 52,041,652 msg/sec OptimistAtomicQueue, 8,s: 46,388,364 msg/sec OptimistAtomicQueue, 8,i: 49,281,912 msg/sec OptimistAtomicQueueB, 1,s: 137,932,746 msg/sec OptimistAtomicQueueB, 1,i: 76,699,124 msg/sec OptimistAtomicQueueB, 2,s: 32,235,873 msg/sec OptimistAtomicQueueB, 2,i: 31,625,264 msg/sec OptimistAtomicQueueB, 3,s: 36,286,370 msg/sec OptimistAtomicQueueB, 3,i: 36,960,117 msg/sec OptimistAtomicQueueB, 4,s: 38,658,607 msg/sec OptimistAtomicQueueB, 4,i: 38,599,970 msg/sec OptimistAtomicQueueB, 5,s: 40,892,448 msg/sec OptimistAtomicQueueB, 5,i: 46,227,282 msg/sec OptimistAtomicQueueB, 6,s: 40,845,343 msg/sec OptimistAtomicQueueB, 6,i: 49,012,248 msg/sec OptimistAtomicQueueB, 7,s: 42,872,678 msg/sec OptimistAtomicQueueB, 7,i: 47,847,556 msg/sec OptimistAtomicQueueB, 8,s: 44,561,864 msg/sec OptimistAtomicQueueB, 8,i: 47,706,548 msg/sec AtomicQueue2, 1,s: 23,104,400 msg/sec AtomicQueue2, 1,i: 23,089,494 msg/sec AtomicQueue2, 2,s: 11,709,355 msg/sec AtomicQueue2, 2,i: 11,386,176 msg/sec AtomicQueue2, 3,s: 9,942,702 msg/sec AtomicQueue2, 3,i: 9,458,950 msg/sec AtomicQueue2, 4,s: 8,009,843 msg/sec AtomicQueue2, 4,i: 8,079,798 msg/sec AtomicQueue2, 5,s: 7,932,216 msg/sec AtomicQueue2, 5,i: 8,021,148 msg/sec AtomicQueue2, 6,s: 7,827,509 msg/sec AtomicQueue2, 6,i: 7,539,630 msg/sec AtomicQueue2, 7,s: 7,145,983 msg/sec AtomicQueue2, 7,i: 7,903,573 msg/sec AtomicQueue2, 8,s: 6,361,445 msg/sec AtomicQueue2, 8,i: 7,297,298 msg/sec AtomicQueueB2, 1,s: 36,285,588 msg/sec AtomicQueueB2, 1,i: 32,638,854 msg/sec AtomicQueueB2, 2,s: 11,394,022 msg/sec AtomicQueueB2, 2,i: 11,095,744 msg/sec AtomicQueueB2, 3,s: 9,603,397 msg/sec AtomicQueueB2, 3,i: 9,529,689 msg/sec AtomicQueueB2, 4,s: 8,023,468 msg/sec AtomicQueueB2, 4,i: 7,804,142 msg/sec AtomicQueueB2, 5,s: 7,504,223 msg/sec AtomicQueueB2, 5,i: 7,590,819 msg/sec AtomicQueueB2, 6,s: 7,255,529 msg/sec AtomicQueueB2, 6,i: 7,455,112 msg/sec AtomicQueueB2, 7,s: 6,873,414 msg/sec AtomicQueueB2, 7,i: 7,700,403 msg/sec AtomicQueueB2, 8,s: 6,304,534 msg/sec AtomicQueueB2, 8,i: 7,096,489 msg/sec OptimistAtomicQueue2, 1,s: 433,541,360 msg/sec OptimistAtomicQueue2, 1,i: 460,477,874 msg/sec OptimistAtomicQueue2, 2,s: 24,272,286 msg/sec OptimistAtomicQueue2, 2,i: 24,010,249 msg/sec OptimistAtomicQueue2, 3,s: 30,311,339 msg/sec OptimistAtomicQueue2, 3,i: 29,948,484 msg/sec OptimistAtomicQueue2, 4,s: 36,129,498 msg/sec OptimistAtomicQueue2, 4,i: 33,087,694 msg/sec OptimistAtomicQueue2, 5,s: 36,943,523 msg/sec OptimistAtomicQueue2, 5,i: 40,369,863 msg/sec OptimistAtomicQueue2, 6,s: 39,974,772 msg/sec OptimistAtomicQueue2, 6,i: 49,099,569 msg/sec OptimistAtomicQueue2, 7,s: 43,139,916 msg/sec OptimistAtomicQueue2, 7,i: 51,546,283 msg/sec OptimistAtomicQueue2, 8,s: 44,465,170 msg/sec OptimistAtomicQueue2, 8,i: 48,590,838 msg/sec OptimistAtomicQueueB2, 1,s: 77,676,742 msg/sec OptimistAtomicQueueB2, 1,i: 33,896,387 msg/sec OptimistAtomicQueueB2, 2,s: 26,734,001 msg/sec OptimistAtomicQueueB2, 2,i: 23,459,404 msg/sec OptimistAtomicQueueB2, 3,s: 29,705,942 msg/sec OptimistAtomicQueueB2, 3,i: 29,178,048 msg/sec OptimistAtomicQueueB2, 4,s: 33,202,298 msg/sec OptimistAtomicQueueB2, 4,i: 33,047,326 msg/sec OptimistAtomicQueueB2, 5,s: 34,652,275 msg/sec OptimistAtomicQueueB2, 5,i: 39,093,447 msg/sec OptimistAtomicQueueB2, 6,s: 37,322,680 msg/sec OptimistAtomicQueueB2, 6,i: 42,433,595 msg/sec OptimistAtomicQueueB2, 7,s: 40,784,403 msg/sec OptimistAtomicQueueB2, 7,i: 43,280,497 msg/sec OptimistAtomicQueueB2, 8,s: 42,477,044 msg/sec OptimistAtomicQueueB2, 8,i: 45,727,064 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000120 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000456 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [50] 415m:23s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,882,011 msg/sec boost::lockfree::spsc_queue, 1,i: 67,953,446 msg/sec boost::lockfree::queue, 1,s: 6,905,388 msg/sec boost::lockfree::queue, 1,i: 7,018,667 msg/sec boost::lockfree::queue, 2,s: 7,695,002 msg/sec boost::lockfree::queue, 2,i: 7,531,797 msg/sec boost::lockfree::queue, 3,s: 7,384,977 msg/sec boost::lockfree::queue, 3,i: 7,533,416 msg/sec boost::lockfree::queue, 4,s: 6,429,933 msg/sec boost::lockfree::queue, 4,i: 6,762,926 msg/sec boost::lockfree::queue, 5,s: 6,412,123 msg/sec boost::lockfree::queue, 5,i: 6,458,856 msg/sec boost::lockfree::queue, 6,s: 5,958,041 msg/sec boost::lockfree::queue, 6,i: 6,089,395 msg/sec boost::lockfree::queue, 7,s: 5,899,288 msg/sec boost::lockfree::queue, 7,i: 5,899,024 msg/sec boost::lockfree::queue, 8,s: 5,438,603 msg/sec boost::lockfree::queue, 8,i: 5,595,202 msg/sec moodycamel::ReaderWriterQueue, 1,s: 444,602,574 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,072,701 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,891,229 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,151,339 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,138,640 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,039,772 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,128,169 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,577,835 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,551,130 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,795,450 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,179,529 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,628,362 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,196,163 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,860,896 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,899,550 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,540,561 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,234,626 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,389,434 msg/sec pthread_spinlock, 1,s: 28,887,148 msg/sec pthread_spinlock, 1,i: 25,598,824 msg/sec pthread_spinlock, 2,s: 15,570,602 msg/sec pthread_spinlock, 2,i: 16,943,198 msg/sec pthread_spinlock, 3,s: 8,339,166 msg/sec pthread_spinlock, 3,i: 12,125,819 msg/sec pthread_spinlock, 4,s: 6,521,187 msg/sec pthread_spinlock, 4,i: 8,898,861 msg/sec pthread_spinlock, 5,s: 8,684,444 msg/sec pthread_spinlock, 5,i: 9,191,814 msg/sec pthread_spinlock, 6,s: 8,284,393 msg/sec pthread_spinlock, 6,i: 8,868,283 msg/sec pthread_spinlock, 7,s: 7,598,307 msg/sec pthread_spinlock, 7,i: 7,786,048 msg/sec pthread_spinlock, 8,s: 6,724,274 msg/sec pthread_spinlock, 8,i: 6,847,648 msg/sec std::mutex, 1,s: 6,658,803 msg/sec std::mutex, 1,i: 7,236,849 msg/sec std::mutex, 2,s: 6,013,039 msg/sec std::mutex, 2,i: 6,165,838 msg/sec std::mutex, 3,s: 6,203,397 msg/sec std::mutex, 3,i: 6,308,351 msg/sec std::mutex, 4,s: 6,393,885 msg/sec std::mutex, 4,i: 6,380,632 msg/sec std::mutex, 5,s: 6,195,557 msg/sec std::mutex, 5,i: 5,978,692 msg/sec std::mutex, 6,s: 6,132,551 msg/sec std::mutex, 6,i: 6,188,357 msg/sec std::mutex, 7,s: 5,945,390 msg/sec std::mutex, 7,i: 5,953,021 msg/sec std::mutex, 8,s: 5,753,629 msg/sec std::mutex, 8,i: 5,805,944 msg/sec tbb::spin_mutex, 1,s: 37,942,572 msg/sec tbb::spin_mutex, 1,i: 33,071,087 msg/sec tbb::spin_mutex, 2,s: 21,117,668 msg/sec tbb::spin_mutex, 2,i: 18,505,863 msg/sec tbb::spin_mutex, 3,s: 7,390,030 msg/sec tbb::spin_mutex, 3,i: 11,012,744 msg/sec tbb::spin_mutex, 4,s: 3,203,707 msg/sec tbb::spin_mutex, 4,i: 6,384,508 msg/sec tbb::spin_mutex, 5,s: 5,472,884 msg/sec tbb::spin_mutex, 5,i: 5,821,209 msg/sec tbb::spin_mutex, 6,s: 5,397,131 msg/sec tbb::spin_mutex, 6,i: 4,425,671 msg/sec tbb::spin_mutex, 7,s: 4,889,672 msg/sec tbb::spin_mutex, 7,i: 4,341,646 msg/sec tbb::spin_mutex, 8,s: 4,241,132 msg/sec tbb::spin_mutex, 8,i: 4,209,860 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,734,292 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,308,370 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,169,856 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,494,156 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,457,681 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,501,871 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,550,170 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,586,638 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,890,354 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,608,767 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,931,997 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,664,909 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,897,693 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,826,590 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,790,494 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,486,306 msg/sec xenium::michael_scott_queue, 1,s: 9,474,679 msg/sec xenium::michael_scott_queue, 1,i: 9,477,513 msg/sec xenium::michael_scott_queue, 2,s: 8,442,270 msg/sec xenium::michael_scott_queue, 2,i: 8,528,141 msg/sec xenium::michael_scott_queue, 3,s: 7,292,871 msg/sec xenium::michael_scott_queue, 3,i: 7,544,834 msg/sec xenium::michael_scott_queue, 4,s: 6,282,207 msg/sec xenium::michael_scott_queue, 4,i: 6,361,211 msg/sec xenium::michael_scott_queue, 5,s: 6,296,710 msg/sec xenium::michael_scott_queue, 5,i: 6,739,936 msg/sec xenium::michael_scott_queue, 6,s: 6,538,307 msg/sec xenium::michael_scott_queue, 6,i: 6,727,306 msg/sec xenium::michael_scott_queue, 7,s: 6,257,272 msg/sec xenium::michael_scott_queue, 7,i: 6,496,490 msg/sec xenium::michael_scott_queue, 8,s: 6,017,423 msg/sec xenium::michael_scott_queue, 8,i: 6,118,072 msg/sec xenium::ramalhete_queue, 1,s: 32,119,291 msg/sec xenium::ramalhete_queue, 1,i: 32,189,600 msg/sec xenium::ramalhete_queue, 2,s: 23,525,371 msg/sec xenium::ramalhete_queue, 2,i: 23,294,183 msg/sec xenium::ramalhete_queue, 3,s: 29,126,378 msg/sec xenium::ramalhete_queue, 3,i: 28,418,008 msg/sec xenium::ramalhete_queue, 4,s: 33,877,191 msg/sec xenium::ramalhete_queue, 4,i: 33,400,458 msg/sec xenium::ramalhete_queue, 5,s: 32,174,768 msg/sec xenium::ramalhete_queue, 5,i: 35,989,079 msg/sec xenium::ramalhete_queue, 6,s: 34,079,072 msg/sec xenium::ramalhete_queue, 6,i: 39,069,883 msg/sec xenium::ramalhete_queue, 7,s: 35,032,525 msg/sec xenium::ramalhete_queue, 7,i: 41,441,904 msg/sec xenium::ramalhete_queue, 8,s: 35,561,537 msg/sec xenium::ramalhete_queue, 8,i: 44,154,851 msg/sec xenium::vyukov_bounded_queue, 1,s: 99,553,998 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,862,523 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,832,808 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,330,105 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,534,810 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,885,433 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,522,345 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,118,495 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,547,414 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,262,343 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,912,929 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,330,767 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,293,434 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,941,990 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,444,171 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,334,721 msg/sec AtomicQueue, 1,s: 64,177,631 msg/sec AtomicQueue, 1,i: 58,406,422 msg/sec AtomicQueue, 2,s: 12,394,977 msg/sec AtomicQueue, 2,i: 11,771,324 msg/sec AtomicQueue, 3,s: 10,799,209 msg/sec AtomicQueue, 3,i: 9,961,500 msg/sec AtomicQueue, 4,s: 8,213,552 msg/sec AtomicQueue, 4,i: 8,207,423 msg/sec AtomicQueue, 5,s: 8,022,743 msg/sec AtomicQueue, 5,i: 8,107,019 msg/sec AtomicQueue, 6,s: 7,712,447 msg/sec AtomicQueue, 6,i: 7,623,822 msg/sec AtomicQueue, 7,s: 7,144,184 msg/sec AtomicQueue, 7,i: 7,979,464 msg/sec AtomicQueue, 8,s: 6,316,596 msg/sec AtomicQueue, 8,i: 7,435,378 msg/sec AtomicQueueB, 1,s: 51,299,173 msg/sec AtomicQueueB, 1,i: 43,450,197 msg/sec AtomicQueueB, 2,s: 11,818,297 msg/sec AtomicQueueB, 2,i: 11,433,405 msg/sec AtomicQueueB, 3,s: 10,899,292 msg/sec AtomicQueueB, 3,i: 10,095,736 msg/sec AtomicQueueB, 4,s: 8,001,990 msg/sec AtomicQueueB, 4,i: 8,064,079 msg/sec AtomicQueueB, 5,s: 7,600,406 msg/sec AtomicQueueB, 5,i: 7,851,667 msg/sec AtomicQueueB, 6,s: 7,306,478 msg/sec AtomicQueueB, 6,i: 7,582,528 msg/sec AtomicQueueB, 7,s: 6,891,581 msg/sec AtomicQueueB, 7,i: 7,545,576 msg/sec AtomicQueueB, 8,s: 6,273,468 msg/sec AtomicQueueB, 8,i: 7,181,922 msg/sec OptimistAtomicQueue, 1,s: 702,210,329 msg/sec OptimistAtomicQueue, 1,i: 665,852,772 msg/sec OptimistAtomicQueue, 2,s: 32,162,309 msg/sec OptimistAtomicQueue, 2,i: 32,269,142 msg/sec OptimistAtomicQueue, 3,s: 36,666,690 msg/sec OptimistAtomicQueue, 3,i: 37,417,171 msg/sec OptimistAtomicQueue, 4,s: 39,220,092 msg/sec OptimistAtomicQueue, 4,i: 39,375,985 msg/sec OptimistAtomicQueue, 5,s: 42,286,364 msg/sec OptimistAtomicQueue, 5,i: 47,098,230 msg/sec OptimistAtomicQueue, 6,s: 42,154,852 msg/sec OptimistAtomicQueue, 6,i: 50,411,401 msg/sec OptimistAtomicQueue, 7,s: 44,323,570 msg/sec OptimistAtomicQueue, 7,i: 53,134,176 msg/sec OptimistAtomicQueue, 8,s: 46,340,517 msg/sec OptimistAtomicQueue, 8,i: 48,871,712 msg/sec OptimistAtomicQueueB, 1,s: 77,987,826 msg/sec OptimistAtomicQueueB, 1,i: 76,559,953 msg/sec OptimistAtomicQueueB, 2,s: 32,263,855 msg/sec OptimistAtomicQueueB, 2,i: 32,274,545 msg/sec OptimistAtomicQueueB, 3,s: 36,247,712 msg/sec OptimistAtomicQueueB, 3,i: 36,843,152 msg/sec OptimistAtomicQueueB, 4,s: 38,724,847 msg/sec OptimistAtomicQueueB, 4,i: 38,508,433 msg/sec OptimistAtomicQueueB, 5,s: 40,301,467 msg/sec OptimistAtomicQueueB, 5,i: 45,394,346 msg/sec OptimistAtomicQueueB, 6,s: 41,150,105 msg/sec OptimistAtomicQueueB, 6,i: 49,038,008 msg/sec OptimistAtomicQueueB, 7,s: 41,971,428 msg/sec OptimistAtomicQueueB, 7,i: 48,013,433 msg/sec OptimistAtomicQueueB, 8,s: 44,554,556 msg/sec OptimistAtomicQueueB, 8,i: 47,815,700 msg/sec AtomicQueue2, 1,s: 23,105,281 msg/sec AtomicQueue2, 1,i: 23,082,733 msg/sec AtomicQueue2, 2,s: 11,764,005 msg/sec AtomicQueue2, 2,i: 11,342,066 msg/sec AtomicQueue2, 3,s: 9,437,670 msg/sec AtomicQueue2, 3,i: 9,435,494 msg/sec AtomicQueue2, 4,s: 8,087,178 msg/sec AtomicQueue2, 4,i: 8,043,025 msg/sec AtomicQueue2, 5,s: 7,898,927 msg/sec AtomicQueue2, 5,i: 7,999,791 msg/sec AtomicQueue2, 6,s: 7,697,037 msg/sec AtomicQueue2, 6,i: 7,524,681 msg/sec AtomicQueue2, 7,s: 7,099,125 msg/sec AtomicQueue2, 7,i: 7,879,354 msg/sec AtomicQueue2, 8,s: 6,391,920 msg/sec AtomicQueue2, 8,i: 7,349,870 msg/sec AtomicQueueB2, 1,s: 36,150,531 msg/sec AtomicQueueB2, 1,i: 32,667,991 msg/sec AtomicQueueB2, 2,s: 11,446,039 msg/sec AtomicQueueB2, 2,i: 11,124,329 msg/sec AtomicQueueB2, 3,s: 9,713,526 msg/sec AtomicQueueB2, 3,i: 9,543,790 msg/sec AtomicQueueB2, 4,s: 7,719,878 msg/sec AtomicQueueB2, 4,i: 7,583,514 msg/sec AtomicQueueB2, 5,s: 7,383,045 msg/sec AtomicQueueB2, 5,i: 7,628,299 msg/sec AtomicQueueB2, 6,s: 7,390,647 msg/sec AtomicQueueB2, 6,i: 7,426,971 msg/sec AtomicQueueB2, 7,s: 6,913,234 msg/sec AtomicQueueB2, 7,i: 7,712,156 msg/sec AtomicQueueB2, 8,s: 6,242,383 msg/sec AtomicQueueB2, 8,i: 7,141,959 msg/sec OptimistAtomicQueue2, 1,s: 63,612,119 msg/sec OptimistAtomicQueue2, 1,i: 29,782,353 msg/sec OptimistAtomicQueue2, 2,s: 25,070,195 msg/sec OptimistAtomicQueue2, 2,i: 25,657,162 msg/sec OptimistAtomicQueue2, 3,s: 30,321,578 msg/sec OptimistAtomicQueue2, 3,i: 31,395,571 msg/sec OptimistAtomicQueue2, 4,s: 33,229,553 msg/sec OptimistAtomicQueue2, 4,i: 33,511,752 msg/sec OptimistAtomicQueue2, 5,s: 37,013,906 msg/sec OptimistAtomicQueue2, 5,i: 40,254,034 msg/sec OptimistAtomicQueue2, 6,s: 40,033,434 msg/sec OptimistAtomicQueue2, 6,i: 49,334,198 msg/sec OptimistAtomicQueue2, 7,s: 42,739,426 msg/sec OptimistAtomicQueue2, 7,i: 51,557,864 msg/sec OptimistAtomicQueue2, 8,s: 43,835,250 msg/sec OptimistAtomicQueue2, 8,i: 48,657,976 msg/sec OptimistAtomicQueueB2, 1,s: 78,916,366 msg/sec OptimistAtomicQueueB2, 1,i: 33,911,212 msg/sec OptimistAtomicQueueB2, 2,s: 27,994,130 msg/sec OptimistAtomicQueueB2, 2,i: 23,233,767 msg/sec OptimistAtomicQueueB2, 3,s: 29,763,851 msg/sec OptimistAtomicQueueB2, 3,i: 29,087,917 msg/sec OptimistAtomicQueueB2, 4,s: 33,013,694 msg/sec OptimistAtomicQueueB2, 4,i: 32,587,075 msg/sec OptimistAtomicQueueB2, 5,s: 34,703,199 msg/sec OptimistAtomicQueueB2, 5,i: 39,166,004 msg/sec OptimistAtomicQueueB2, 6,s: 37,442,524 msg/sec OptimistAtomicQueueB2, 6,i: 42,345,368 msg/sec OptimistAtomicQueueB2, 7,s: 40,770,822 msg/sec OptimistAtomicQueueB2, 7,i: 43,146,554 msg/sec OptimistAtomicQueueB2, 8,s: 42,095,812 msg/sec OptimistAtomicQueueB2, 8,i: 45,196,629 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000242 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000282 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000261 sec/round-trip xenium::vyukov_bounded_queue: 0.000000199 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [51] 414m:4s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,749,350 msg/sec boost::lockfree::spsc_queue, 1,i: 67,107,074 msg/sec boost::lockfree::queue, 1,s: 6,826,301 msg/sec boost::lockfree::queue, 1,i: 6,933,511 msg/sec boost::lockfree::queue, 2,s: 7,659,612 msg/sec boost::lockfree::queue, 2,i: 7,390,030 msg/sec boost::lockfree::queue, 3,s: 7,418,786 msg/sec boost::lockfree::queue, 3,i: 7,558,527 msg/sec boost::lockfree::queue, 4,s: 6,425,029 msg/sec boost::lockfree::queue, 4,i: 6,797,073 msg/sec boost::lockfree::queue, 5,s: 6,367,510 msg/sec boost::lockfree::queue, 5,i: 6,456,222 msg/sec boost::lockfree::queue, 6,s: 5,988,371 msg/sec boost::lockfree::queue, 6,i: 6,114,984 msg/sec boost::lockfree::queue, 7,s: 5,907,220 msg/sec boost::lockfree::queue, 7,i: 5,977,656 msg/sec boost::lockfree::queue, 8,s: 5,541,997 msg/sec boost::lockfree::queue, 8,i: 5,636,208 msg/sec moodycamel::ReaderWriterQueue, 1,s: 49,347,394 msg/sec moodycamel::ReaderWriterQueue, 1,i: 52,195,765 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,750,637 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,523,603 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,693,788 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,616,082 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,004,218 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,560,075 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,318,092 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,783,217 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,274,596 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,747,888 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,444,635 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,955,578 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,155,897 msg/sec moodycamel::ConcurrentQueue, 7,i: 34,650,041 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,145,009 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,531,151 msg/sec pthread_spinlock, 1,s: 29,900,526 msg/sec pthread_spinlock, 1,i: 26,580,347 msg/sec pthread_spinlock, 2,s: 15,646,942 msg/sec pthread_spinlock, 2,i: 14,845,499 msg/sec pthread_spinlock, 3,s: 8,249,132 msg/sec pthread_spinlock, 3,i: 10,435,202 msg/sec pthread_spinlock, 4,s: 6,478,521 msg/sec pthread_spinlock, 4,i: 9,215,746 msg/sec pthread_spinlock, 5,s: 8,566,347 msg/sec pthread_spinlock, 5,i: 9,486,365 msg/sec pthread_spinlock, 6,s: 8,494,686 msg/sec pthread_spinlock, 6,i: 8,451,840 msg/sec pthread_spinlock, 7,s: 8,006,816 msg/sec pthread_spinlock, 7,i: 7,418,842 msg/sec pthread_spinlock, 8,s: 6,723,656 msg/sec pthread_spinlock, 8,i: 6,999,347 msg/sec std::mutex, 1,s: 7,402,134 msg/sec std::mutex, 1,i: 7,150,227 msg/sec std::mutex, 2,s: 5,275,051 msg/sec std::mutex, 2,i: 6,299,033 msg/sec std::mutex, 3,s: 6,134,237 msg/sec std::mutex, 3,i: 5,853,349 msg/sec std::mutex, 4,s: 5,957,386 msg/sec std::mutex, 4,i: 5,710,700 msg/sec std::mutex, 5,s: 5,620,146 msg/sec std::mutex, 5,i: 5,655,972 msg/sec std::mutex, 6,s: 5,943,207 msg/sec std::mutex, 6,i: 5,921,618 msg/sec std::mutex, 7,s: 5,765,895 msg/sec std::mutex, 7,i: 5,837,486 msg/sec std::mutex, 8,s: 5,679,738 msg/sec std::mutex, 8,i: 5,701,281 msg/sec tbb::spin_mutex, 1,s: 37,752,884 msg/sec tbb::spin_mutex, 1,i: 37,845,991 msg/sec tbb::spin_mutex, 2,s: 21,178,535 msg/sec tbb::spin_mutex, 2,i: 18,417,034 msg/sec tbb::spin_mutex, 3,s: 7,996,321 msg/sec tbb::spin_mutex, 3,i: 10,006,129 msg/sec tbb::spin_mutex, 4,s: 3,059,965 msg/sec tbb::spin_mutex, 4,i: 6,282,202 msg/sec tbb::spin_mutex, 5,s: 5,311,331 msg/sec tbb::spin_mutex, 5,i: 5,748,723 msg/sec tbb::spin_mutex, 6,s: 5,293,595 msg/sec tbb::spin_mutex, 6,i: 4,334,858 msg/sec tbb::spin_mutex, 7,s: 4,847,168 msg/sec tbb::spin_mutex, 7,i: 4,307,549 msg/sec tbb::spin_mutex, 8,s: 4,245,581 msg/sec tbb::spin_mutex, 8,i: 4,139,842 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,255,552 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,845,728 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,354,055 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,346,241 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,449,883 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,536,193 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,472,955 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,578,234 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,923,836 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,596,967 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,841,156 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,677,607 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,888,014 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,803,023 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,781,968 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,458,619 msg/sec xenium::michael_scott_queue, 1,s: 9,376,204 msg/sec xenium::michael_scott_queue, 1,i: 9,534,575 msg/sec xenium::michael_scott_queue, 2,s: 8,475,261 msg/sec xenium::michael_scott_queue, 2,i: 8,490,127 msg/sec xenium::michael_scott_queue, 3,s: 7,198,510 msg/sec xenium::michael_scott_queue, 3,i: 7,566,462 msg/sec xenium::michael_scott_queue, 4,s: 6,306,241 msg/sec xenium::michael_scott_queue, 4,i: 6,340,418 msg/sec xenium::michael_scott_queue, 5,s: 6,310,730 msg/sec xenium::michael_scott_queue, 5,i: 6,742,382 msg/sec xenium::michael_scott_queue, 6,s: 6,482,679 msg/sec xenium::michael_scott_queue, 6,i: 6,791,028 msg/sec xenium::michael_scott_queue, 7,s: 6,271,230 msg/sec xenium::michael_scott_queue, 7,i: 6,464,967 msg/sec xenium::michael_scott_queue, 8,s: 5,976,050 msg/sec xenium::michael_scott_queue, 8,i: 6,068,087 msg/sec xenium::ramalhete_queue, 1,s: 33,050,729 msg/sec xenium::ramalhete_queue, 1,i: 33,165,669 msg/sec xenium::ramalhete_queue, 2,s: 23,523,623 msg/sec xenium::ramalhete_queue, 2,i: 23,290,495 msg/sec xenium::ramalhete_queue, 3,s: 29,297,422 msg/sec xenium::ramalhete_queue, 3,i: 28,505,683 msg/sec xenium::ramalhete_queue, 4,s: 33,770,403 msg/sec xenium::ramalhete_queue, 4,i: 33,541,096 msg/sec xenium::ramalhete_queue, 5,s: 31,929,077 msg/sec xenium::ramalhete_queue, 5,i: 36,192,296 msg/sec xenium::ramalhete_queue, 6,s: 34,047,381 msg/sec xenium::ramalhete_queue, 6,i: 39,353,141 msg/sec xenium::ramalhete_queue, 7,s: 35,294,172 msg/sec xenium::ramalhete_queue, 7,i: 41,728,112 msg/sec xenium::ramalhete_queue, 8,s: 35,499,945 msg/sec xenium::ramalhete_queue, 8,i: 44,107,405 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,342,775 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,878,827 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,402,975 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,494,225 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,840,234 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,911,353 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,525,055 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,480,546 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,057,514 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,340,768 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,081,651 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,291,484 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,203,464 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,905,886 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,398,300 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,226,564 msg/sec AtomicQueue, 1,s: 148,545,380 msg/sec AtomicQueue, 1,i: 57,280,357 msg/sec AtomicQueue, 2,s: 12,401,591 msg/sec AtomicQueue, 2,i: 11,736,913 msg/sec AtomicQueue, 3,s: 10,753,210 msg/sec AtomicQueue, 3,i: 9,937,419 msg/sec AtomicQueue, 4,s: 8,168,469 msg/sec AtomicQueue, 4,i: 8,227,511 msg/sec AtomicQueue, 5,s: 8,011,886 msg/sec AtomicQueue, 5,i: 8,070,588 msg/sec AtomicQueue, 6,s: 7,742,553 msg/sec AtomicQueue, 6,i: 7,613,191 msg/sec AtomicQueue, 7,s: 7,119,338 msg/sec AtomicQueue, 7,i: 7,967,435 msg/sec AtomicQueue, 8,s: 6,324,881 msg/sec AtomicQueue, 8,i: 7,431,884 msg/sec AtomicQueueB, 1,s: 43,913,049 msg/sec AtomicQueueB, 1,i: 43,482,649 msg/sec AtomicQueueB, 2,s: 11,943,615 msg/sec AtomicQueueB, 2,i: 11,483,977 msg/sec AtomicQueueB, 3,s: 10,971,899 msg/sec AtomicQueueB, 3,i: 10,199,960 msg/sec AtomicQueueB, 4,s: 8,092,824 msg/sec AtomicQueueB, 4,i: 8,016,941 msg/sec AtomicQueueB, 5,s: 7,702,771 msg/sec AtomicQueueB, 5,i: 7,800,206 msg/sec AtomicQueueB, 6,s: 7,391,952 msg/sec AtomicQueueB, 6,i: 7,506,352 msg/sec AtomicQueueB, 7,s: 6,902,398 msg/sec AtomicQueueB, 7,i: 7,736,170 msg/sec AtomicQueueB, 8,s: 6,235,209 msg/sec AtomicQueueB, 8,i: 7,152,336 msg/sec OptimistAtomicQueue, 1,s: 802,742,328 msg/sec OptimistAtomicQueue, 1,i: 633,038,100 msg/sec OptimistAtomicQueue, 2,s: 32,119,518 msg/sec OptimistAtomicQueue, 2,i: 32,070,044 msg/sec OptimistAtomicQueue, 3,s: 36,635,142 msg/sec OptimistAtomicQueue, 3,i: 37,406,762 msg/sec OptimistAtomicQueue, 4,s: 39,273,345 msg/sec OptimistAtomicQueue, 4,i: 39,408,381 msg/sec OptimistAtomicQueue, 5,s: 41,804,304 msg/sec OptimistAtomicQueue, 5,i: 46,330,998 msg/sec OptimistAtomicQueue, 6,s: 42,084,870 msg/sec OptimistAtomicQueue, 6,i: 50,463,355 msg/sec OptimistAtomicQueue, 7,s: 45,313,715 msg/sec OptimistAtomicQueue, 7,i: 52,940,677 msg/sec OptimistAtomicQueue, 8,s: 46,427,736 msg/sec OptimistAtomicQueue, 8,i: 49,291,139 msg/sec OptimistAtomicQueueB, 1,s: 106,109,374 msg/sec OptimistAtomicQueueB, 1,i: 77,386,559 msg/sec OptimistAtomicQueueB, 2,s: 32,227,400 msg/sec OptimistAtomicQueueB, 2,i: 32,032,581 msg/sec OptimistAtomicQueueB, 3,s: 36,243,745 msg/sec OptimistAtomicQueueB, 3,i: 36,962,930 msg/sec OptimistAtomicQueueB, 4,s: 38,762,532 msg/sec OptimistAtomicQueueB, 4,i: 38,661,913 msg/sec OptimistAtomicQueueB, 5,s: 40,761,569 msg/sec OptimistAtomicQueueB, 5,i: 45,620,597 msg/sec OptimistAtomicQueueB, 6,s: 40,814,825 msg/sec OptimistAtomicQueueB, 6,i: 49,137,520 msg/sec OptimistAtomicQueueB, 7,s: 41,784,993 msg/sec OptimistAtomicQueueB, 7,i: 51,479,557 msg/sec OptimistAtomicQueueB, 8,s: 44,465,816 msg/sec OptimistAtomicQueueB, 8,i: 47,924,149 msg/sec AtomicQueue2, 1,s: 22,869,447 msg/sec AtomicQueue2, 1,i: 23,060,744 msg/sec AtomicQueue2, 2,s: 11,791,367 msg/sec AtomicQueue2, 2,i: 11,428,919 msg/sec AtomicQueue2, 3,s: 9,361,907 msg/sec AtomicQueue2, 3,i: 9,343,865 msg/sec AtomicQueue2, 4,s: 8,047,682 msg/sec AtomicQueue2, 4,i: 8,099,428 msg/sec AtomicQueue2, 5,s: 7,948,032 msg/sec AtomicQueue2, 5,i: 7,983,427 msg/sec AtomicQueue2, 6,s: 7,674,175 msg/sec AtomicQueue2, 6,i: 7,521,716 msg/sec AtomicQueue2, 7,s: 7,159,109 msg/sec AtomicQueue2, 7,i: 7,913,916 msg/sec AtomicQueue2, 8,s: 6,388,847 msg/sec AtomicQueue2, 8,i: 7,210,083 msg/sec AtomicQueueB2, 1,s: 34,904,544 msg/sec AtomicQueueB2, 1,i: 34,958,025 msg/sec AtomicQueueB2, 2,s: 11,412,484 msg/sec AtomicQueueB2, 2,i: 11,089,668 msg/sec AtomicQueueB2, 3,s: 9,567,631 msg/sec AtomicQueueB2, 3,i: 9,555,087 msg/sec AtomicQueueB2, 4,s: 7,972,759 msg/sec AtomicQueueB2, 4,i: 7,872,677 msg/sec AtomicQueueB2, 5,s: 7,529,008 msg/sec AtomicQueueB2, 5,i: 7,742,137 msg/sec AtomicQueueB2, 6,s: 7,274,070 msg/sec AtomicQueueB2, 6,i: 7,419,629 msg/sec AtomicQueueB2, 7,s: 6,887,688 msg/sec AtomicQueueB2, 7,i: 7,729,642 msg/sec AtomicQueueB2, 8,s: 6,253,192 msg/sec AtomicQueueB2, 8,i: 7,050,421 msg/sec OptimistAtomicQueue2, 1,s: 523,824,041 msg/sec OptimistAtomicQueue2, 1,i: 42,137,676 msg/sec OptimistAtomicQueue2, 2,s: 24,826,209 msg/sec OptimistAtomicQueue2, 2,i: 24,745,408 msg/sec OptimistAtomicQueue2, 3,s: 30,704,115 msg/sec OptimistAtomicQueue2, 3,i: 30,434,100 msg/sec OptimistAtomicQueue2, 4,s: 33,257,917 msg/sec OptimistAtomicQueue2, 4,i: 33,339,771 msg/sec OptimistAtomicQueue2, 5,s: 37,489,452 msg/sec OptimistAtomicQueue2, 5,i: 43,027,873 msg/sec OptimistAtomicQueue2, 6,s: 40,425,976 msg/sec OptimistAtomicQueue2, 6,i: 49,030,653 msg/sec OptimistAtomicQueue2, 7,s: 42,645,866 msg/sec OptimistAtomicQueue2, 7,i: 48,003,973 msg/sec OptimistAtomicQueue2, 8,s: 43,978,240 msg/sec OptimistAtomicQueue2, 8,i: 48,701,281 msg/sec OptimistAtomicQueueB2, 1,s: 495,211,858 msg/sec OptimistAtomicQueueB2, 1,i: 70,736,485 msg/sec OptimistAtomicQueueB2, 2,s: 27,228,453 msg/sec OptimistAtomicQueueB2, 2,i: 25,650,287 msg/sec OptimistAtomicQueueB2, 3,s: 29,669,364 msg/sec OptimistAtomicQueueB2, 3,i: 30,966,507 msg/sec OptimistAtomicQueueB2, 4,s: 33,323,247 msg/sec OptimistAtomicQueueB2, 4,i: 32,863,169 msg/sec OptimistAtomicQueueB2, 5,s: 34,343,519 msg/sec OptimistAtomicQueueB2, 5,i: 39,413,838 msg/sec OptimistAtomicQueueB2, 6,s: 37,119,015 msg/sec OptimistAtomicQueueB2, 6,i: 42,262,749 msg/sec OptimistAtomicQueueB2, 7,s: 40,120,355 msg/sec OptimistAtomicQueueB2, 7,i: 45,360,984 msg/sec OptimistAtomicQueueB2, 8,s: 42,290,173 msg/sec OptimistAtomicQueueB2, 8,i: 46,279,918 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000152 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000295 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000173 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [52] 412m:45s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,873,951 msg/sec boost::lockfree::spsc_queue, 1,i: 70,724,426 msg/sec boost::lockfree::queue, 1,s: 6,857,919 msg/sec boost::lockfree::queue, 1,i: 6,966,196 msg/sec boost::lockfree::queue, 2,s: 7,562,281 msg/sec boost::lockfree::queue, 2,i: 7,580,060 msg/sec boost::lockfree::queue, 3,s: 7,378,582 msg/sec boost::lockfree::queue, 3,i: 7,582,276 msg/sec boost::lockfree::queue, 4,s: 6,422,841 msg/sec boost::lockfree::queue, 4,i: 6,776,567 msg/sec boost::lockfree::queue, 5,s: 6,416,274 msg/sec boost::lockfree::queue, 5,i: 6,451,505 msg/sec boost::lockfree::queue, 6,s: 5,970,475 msg/sec boost::lockfree::queue, 6,i: 6,149,001 msg/sec boost::lockfree::queue, 7,s: 5,880,545 msg/sec boost::lockfree::queue, 7,i: 5,945,862 msg/sec boost::lockfree::queue, 8,s: 5,464,473 msg/sec boost::lockfree::queue, 8,i: 5,693,282 msg/sec moodycamel::ReaderWriterQueue, 1,s: 464,035,238 msg/sec moodycamel::ReaderWriterQueue, 1,i: 482,480,296 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,001,391 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,028,023 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,909,268 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,909,123 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,968,641 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,368,856 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,380,415 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,086,285 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,078,417 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,666,363 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,354,997 msg/sec moodycamel::ConcurrentQueue, 6,i: 30,231,370 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,933,852 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,399,042 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,161,294 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,962,302 msg/sec pthread_spinlock, 1,s: 28,804,647 msg/sec pthread_spinlock, 1,i: 25,351,519 msg/sec pthread_spinlock, 2,s: 15,547,784 msg/sec pthread_spinlock, 2,i: 17,019,715 msg/sec pthread_spinlock, 3,s: 8,379,925 msg/sec pthread_spinlock, 3,i: 12,052,525 msg/sec pthread_spinlock, 4,s: 6,532,301 msg/sec pthread_spinlock, 4,i: 9,254,422 msg/sec pthread_spinlock, 5,s: 8,669,656 msg/sec pthread_spinlock, 5,i: 9,429,594 msg/sec pthread_spinlock, 6,s: 8,324,829 msg/sec pthread_spinlock, 6,i: 8,382,234 msg/sec pthread_spinlock, 7,s: 7,878,211 msg/sec pthread_spinlock, 7,i: 7,634,790 msg/sec pthread_spinlock, 8,s: 6,911,204 msg/sec pthread_spinlock, 8,i: 6,868,191 msg/sec std::mutex, 1,s: 6,024,844 msg/sec std::mutex, 1,i: 5,945,610 msg/sec std::mutex, 2,s: 5,636,229 msg/sec std::mutex, 2,i: 5,855,909 msg/sec std::mutex, 3,s: 5,744,277 msg/sec std::mutex, 3,i: 5,921,610 msg/sec std::mutex, 4,s: 6,214,757 msg/sec std::mutex, 4,i: 6,168,754 msg/sec std::mutex, 5,s: 5,919,297 msg/sec std::mutex, 5,i: 5,917,665 msg/sec std::mutex, 6,s: 5,581,199 msg/sec std::mutex, 6,i: 5,818,505 msg/sec std::mutex, 7,s: 5,721,244 msg/sec std::mutex, 7,i: 5,655,013 msg/sec std::mutex, 8,s: 5,603,694 msg/sec std::mutex, 8,i: 5,601,463 msg/sec tbb::spin_mutex, 1,s: 37,617,766 msg/sec tbb::spin_mutex, 1,i: 37,623,971 msg/sec tbb::spin_mutex, 2,s: 21,259,394 msg/sec tbb::spin_mutex, 2,i: 18,348,960 msg/sec tbb::spin_mutex, 3,s: 7,370,656 msg/sec tbb::spin_mutex, 3,i: 10,163,457 msg/sec tbb::spin_mutex, 4,s: 3,139,216 msg/sec tbb::spin_mutex, 4,i: 6,354,156 msg/sec tbb::spin_mutex, 5,s: 5,589,519 msg/sec tbb::spin_mutex, 5,i: 5,437,433 msg/sec tbb::spin_mutex, 6,s: 5,292,694 msg/sec tbb::spin_mutex, 6,i: 4,383,763 msg/sec tbb::spin_mutex, 7,s: 4,705,078 msg/sec tbb::spin_mutex, 7,i: 4,360,490 msg/sec tbb::spin_mutex, 8,s: 3,913,107 msg/sec tbb::spin_mutex, 8,i: 4,172,468 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,888,434 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,929,370 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,769,428 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,108,794 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,380,624 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,262,747 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,035,304 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,245,048 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,529,690 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,384,893 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,580,631 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,719,125 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,644,623 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,121,292 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,736,106 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,924,653 msg/sec xenium::michael_scott_queue, 1,s: 9,271,293 msg/sec xenium::michael_scott_queue, 1,i: 9,504,451 msg/sec xenium::michael_scott_queue, 2,s: 8,481,644 msg/sec xenium::michael_scott_queue, 2,i: 8,605,633 msg/sec xenium::michael_scott_queue, 3,s: 7,239,778 msg/sec xenium::michael_scott_queue, 3,i: 7,498,277 msg/sec xenium::michael_scott_queue, 4,s: 6,286,011 msg/sec xenium::michael_scott_queue, 4,i: 6,315,915 msg/sec xenium::michael_scott_queue, 5,s: 6,291,376 msg/sec xenium::michael_scott_queue, 5,i: 6,626,696 msg/sec xenium::michael_scott_queue, 6,s: 6,470,986 msg/sec xenium::michael_scott_queue, 6,i: 6,828,170 msg/sec xenium::michael_scott_queue, 7,s: 6,254,931 msg/sec xenium::michael_scott_queue, 7,i: 6,560,086 msg/sec xenium::michael_scott_queue, 8,s: 6,000,485 msg/sec xenium::michael_scott_queue, 8,i: 6,032,278 msg/sec xenium::ramalhete_queue, 1,s: 32,033,252 msg/sec xenium::ramalhete_queue, 1,i: 32,198,146 msg/sec xenium::ramalhete_queue, 2,s: 24,360,515 msg/sec xenium::ramalhete_queue, 2,i: 23,397,702 msg/sec xenium::ramalhete_queue, 3,s: 29,189,823 msg/sec xenium::ramalhete_queue, 3,i: 28,504,514 msg/sec xenium::ramalhete_queue, 4,s: 33,874,126 msg/sec xenium::ramalhete_queue, 4,i: 33,485,447 msg/sec xenium::ramalhete_queue, 5,s: 31,943,175 msg/sec xenium::ramalhete_queue, 5,i: 36,142,832 msg/sec xenium::ramalhete_queue, 6,s: 34,024,947 msg/sec xenium::ramalhete_queue, 6,i: 39,800,360 msg/sec xenium::ramalhete_queue, 7,s: 35,166,377 msg/sec xenium::ramalhete_queue, 7,i: 41,211,503 msg/sec xenium::ramalhete_queue, 8,s: 35,367,048 msg/sec xenium::ramalhete_queue, 8,i: 43,604,615 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,426,999 msg/sec xenium::vyukov_bounded_queue, 1,i: 65,241,846 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,851,427 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,965,275 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,745,565 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,501,033 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,526,928 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,337,765 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,981,853 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,374,073 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,975,169 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,351,065 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,147,533 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,131,839 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,420,398 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,216,896 msg/sec AtomicQueue, 1,s: 63,332,271 msg/sec AtomicQueue, 1,i: 56,815,579 msg/sec AtomicQueue, 2,s: 12,312,421 msg/sec AtomicQueue, 2,i: 11,745,256 msg/sec AtomicQueue, 3,s: 10,751,896 msg/sec AtomicQueue, 3,i: 9,938,313 msg/sec AtomicQueue, 4,s: 8,177,933 msg/sec AtomicQueue, 4,i: 8,231,379 msg/sec AtomicQueue, 5,s: 8,015,304 msg/sec AtomicQueue, 5,i: 8,097,669 msg/sec AtomicQueue, 6,s: 7,737,686 msg/sec AtomicQueue, 6,i: 7,617,726 msg/sec AtomicQueue, 7,s: 7,151,557 msg/sec AtomicQueue, 7,i: 7,950,114 msg/sec AtomicQueue, 8,s: 6,321,112 msg/sec AtomicQueue, 8,i: 7,445,871 msg/sec AtomicQueueB, 1,s: 50,237,778 msg/sec AtomicQueueB, 1,i: 65,754,728 msg/sec AtomicQueueB, 2,s: 11,846,992 msg/sec AtomicQueueB, 2,i: 11,473,775 msg/sec AtomicQueueB, 3,s: 10,953,811 msg/sec AtomicQueueB, 3,i: 10,161,664 msg/sec AtomicQueueB, 4,s: 8,013,771 msg/sec AtomicQueueB, 4,i: 8,082,365 msg/sec AtomicQueueB, 5,s: 7,678,512 msg/sec AtomicQueueB, 5,i: 7,792,657 msg/sec AtomicQueueB, 6,s: 7,350,957 msg/sec AtomicQueueB, 6,i: 7,582,390 msg/sec AtomicQueueB, 7,s: 6,835,276 msg/sec AtomicQueueB, 7,i: 7,756,754 msg/sec AtomicQueueB, 8,s: 6,203,541 msg/sec AtomicQueueB, 8,i: 7,019,702 msg/sec OptimistAtomicQueue, 1,s: 743,549,291 msg/sec OptimistAtomicQueue, 1,i: 577,109,055 msg/sec OptimistAtomicQueue, 2,s: 32,645,268 msg/sec OptimistAtomicQueue, 2,i: 32,716,456 msg/sec OptimistAtomicQueue, 3,s: 36,665,880 msg/sec OptimistAtomicQueue, 3,i: 37,410,672 msg/sec OptimistAtomicQueue, 4,s: 39,278,432 msg/sec OptimistAtomicQueue, 4,i: 39,304,360 msg/sec OptimistAtomicQueue, 5,s: 41,634,872 msg/sec OptimistAtomicQueue, 5,i: 46,353,266 msg/sec OptimistAtomicQueue, 6,s: 42,354,639 msg/sec OptimistAtomicQueue, 6,i: 50,469,683 msg/sec OptimistAtomicQueue, 7,s: 44,345,231 msg/sec OptimistAtomicQueue, 7,i: 52,943,231 msg/sec OptimistAtomicQueue, 8,s: 46,484,436 msg/sec OptimistAtomicQueue, 8,i: 48,942,530 msg/sec OptimistAtomicQueueB, 1,s: 79,528,804 msg/sec OptimistAtomicQueueB, 1,i: 149,795,067 msg/sec OptimistAtomicQueueB, 2,s: 32,186,280 msg/sec OptimistAtomicQueueB, 2,i: 32,119,042 msg/sec OptimistAtomicQueueB, 3,s: 36,238,881 msg/sec OptimistAtomicQueueB, 3,i: 36,897,685 msg/sec OptimistAtomicQueueB, 4,s: 38,605,108 msg/sec OptimistAtomicQueueB, 4,i: 38,585,525 msg/sec OptimistAtomicQueueB, 5,s: 41,058,341 msg/sec OptimistAtomicQueueB, 5,i: 45,497,672 msg/sec OptimistAtomicQueueB, 6,s: 41,199,032 msg/sec OptimistAtomicQueueB, 6,i: 48,567,647 msg/sec OptimistAtomicQueueB, 7,s: 41,818,114 msg/sec OptimistAtomicQueueB, 7,i: 51,397,626 msg/sec OptimistAtomicQueueB, 8,s: 44,362,818 msg/sec OptimistAtomicQueueB, 8,i: 47,951,970 msg/sec AtomicQueue2, 1,s: 22,879,812 msg/sec AtomicQueue2, 1,i: 22,840,096 msg/sec AtomicQueue2, 2,s: 11,877,249 msg/sec AtomicQueue2, 2,i: 11,485,669 msg/sec AtomicQueue2, 3,s: 9,422,303 msg/sec AtomicQueue2, 3,i: 9,481,543 msg/sec AtomicQueue2, 4,s: 8,080,182 msg/sec AtomicQueue2, 4,i: 8,071,675 msg/sec AtomicQueue2, 5,s: 7,916,084 msg/sec AtomicQueue2, 5,i: 8,032,005 msg/sec AtomicQueue2, 6,s: 7,674,049 msg/sec AtomicQueue2, 6,i: 7,534,322 msg/sec AtomicQueue2, 7,s: 7,176,105 msg/sec AtomicQueue2, 7,i: 7,889,560 msg/sec AtomicQueue2, 8,s: 6,401,507 msg/sec AtomicQueue2, 8,i: 7,243,457 msg/sec AtomicQueueB2, 1,s: 32,689,523 msg/sec AtomicQueueB2, 1,i: 32,619,579 msg/sec AtomicQueueB2, 2,s: 11,444,440 msg/sec AtomicQueueB2, 2,i: 11,130,923 msg/sec AtomicQueueB2, 3,s: 9,524,190 msg/sec AtomicQueueB2, 3,i: 9,525,096 msg/sec AtomicQueueB2, 4,s: 7,988,086 msg/sec AtomicQueueB2, 4,i: 7,920,868 msg/sec AtomicQueueB2, 5,s: 7,562,857 msg/sec AtomicQueueB2, 5,i: 7,675,093 msg/sec AtomicQueueB2, 6,s: 7,089,461 msg/sec AtomicQueueB2, 6,i: 7,433,083 msg/sec AtomicQueueB2, 7,s: 6,890,108 msg/sec AtomicQueueB2, 7,i: 7,711,909 msg/sec AtomicQueueB2, 8,s: 6,337,038 msg/sec AtomicQueueB2, 8,i: 7,128,770 msg/sec OptimistAtomicQueue2, 1,s: 378,124,549 msg/sec OptimistAtomicQueue2, 1,i: 29,698,651 msg/sec OptimistAtomicQueue2, 2,s: 24,275,947 msg/sec OptimistAtomicQueue2, 2,i: 24,012,999 msg/sec OptimistAtomicQueue2, 3,s: 30,322,984 msg/sec OptimistAtomicQueue2, 3,i: 29,951,557 msg/sec OptimistAtomicQueue2, 4,s: 33,299,242 msg/sec OptimistAtomicQueue2, 4,i: 33,149,112 msg/sec OptimistAtomicQueue2, 5,s: 37,043,044 msg/sec OptimistAtomicQueue2, 5,i: 40,363,981 msg/sec OptimistAtomicQueue2, 6,s: 39,978,218 msg/sec OptimistAtomicQueue2, 6,i: 49,309,553 msg/sec OptimistAtomicQueue2, 7,s: 43,266,516 msg/sec OptimistAtomicQueue2, 7,i: 48,156,258 msg/sec OptimistAtomicQueue2, 8,s: 43,888,701 msg/sec OptimistAtomicQueue2, 8,i: 48,619,164 msg/sec OptimistAtomicQueueB2, 1,s: 76,382,945 msg/sec OptimistAtomicQueueB2, 1,i: 33,864,912 msg/sec OptimistAtomicQueueB2, 2,s: 27,726,449 msg/sec OptimistAtomicQueueB2, 2,i: 25,725,535 msg/sec OptimistAtomicQueueB2, 3,s: 29,686,208 msg/sec OptimistAtomicQueueB2, 3,i: 29,192,527 msg/sec OptimistAtomicQueueB2, 4,s: 33,039,017 msg/sec OptimistAtomicQueueB2, 4,i: 32,950,158 msg/sec OptimistAtomicQueueB2, 5,s: 34,579,930 msg/sec OptimistAtomicQueueB2, 5,i: 38,949,242 msg/sec OptimistAtomicQueueB2, 6,s: 37,389,872 msg/sec OptimistAtomicQueueB2, 6,i: 42,383,215 msg/sec OptimistAtomicQueueB2, 7,s: 40,851,094 msg/sec OptimistAtomicQueueB2, 7,i: 45,337,772 msg/sec OptimistAtomicQueueB2, 8,s: 42,484,008 msg/sec OptimistAtomicQueueB2, 8,i: 45,864,187 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000159 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000198 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [53] 411m:25s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,818,265 msg/sec boost::lockfree::spsc_queue, 1,i: 68,524,760 msg/sec boost::lockfree::queue, 1,s: 6,867,063 msg/sec boost::lockfree::queue, 1,i: 6,953,169 msg/sec boost::lockfree::queue, 2,s: 7,505,734 msg/sec boost::lockfree::queue, 2,i: 7,593,277 msg/sec boost::lockfree::queue, 3,s: 7,348,245 msg/sec boost::lockfree::queue, 3,i: 7,539,450 msg/sec boost::lockfree::queue, 4,s: 6,427,100 msg/sec boost::lockfree::queue, 4,i: 6,734,065 msg/sec boost::lockfree::queue, 5,s: 6,474,035 msg/sec boost::lockfree::queue, 5,i: 6,493,612 msg/sec boost::lockfree::queue, 6,s: 5,990,333 msg/sec boost::lockfree::queue, 6,i: 6,085,044 msg/sec boost::lockfree::queue, 7,s: 5,926,998 msg/sec boost::lockfree::queue, 7,i: 5,963,296 msg/sec boost::lockfree::queue, 8,s: 5,346,044 msg/sec boost::lockfree::queue, 8,i: 5,676,119 msg/sec moodycamel::ReaderWriterQueue, 1,s: 477,135,260 msg/sec moodycamel::ReaderWriterQueue, 1,i: 476,852,108 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,435,511 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,016,580 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,316,225 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,316,363 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,243,620 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,623,151 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,473,754 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,717,260 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,280,321 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,158,831 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,368,214 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,225,360 msg/sec moodycamel::ConcurrentQueue, 7,s: 45,754,073 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,005,491 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,303,444 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,917,131 msg/sec pthread_spinlock, 1,s: 29,577,727 msg/sec pthread_spinlock, 1,i: 25,720,641 msg/sec pthread_spinlock, 2,s: 16,000,105 msg/sec pthread_spinlock, 2,i: 16,876,641 msg/sec pthread_spinlock, 3,s: 8,371,320 msg/sec pthread_spinlock, 3,i: 12,183,320 msg/sec pthread_spinlock, 4,s: 6,528,655 msg/sec pthread_spinlock, 4,i: 9,220,781 msg/sec pthread_spinlock, 5,s: 8,776,094 msg/sec pthread_spinlock, 5,i: 9,070,989 msg/sec pthread_spinlock, 6,s: 8,525,943 msg/sec pthread_spinlock, 6,i: 8,936,007 msg/sec pthread_spinlock, 7,s: 7,403,007 msg/sec pthread_spinlock, 7,i: 7,939,175 msg/sec pthread_spinlock, 8,s: 6,868,629 msg/sec pthread_spinlock, 8,i: 6,902,368 msg/sec std::mutex, 1,s: 6,143,011 msg/sec std::mutex, 1,i: 5,880,624 msg/sec std::mutex, 2,s: 4,750,588 msg/sec std::mutex, 2,i: 5,570,044 msg/sec std::mutex, 3,s: 4,700,992 msg/sec std::mutex, 3,i: 5,695,836 msg/sec std::mutex, 4,s: 5,998,270 msg/sec std::mutex, 4,i: 6,327,651 msg/sec std::mutex, 5,s: 5,964,856 msg/sec std::mutex, 5,i: 6,001,415 msg/sec std::mutex, 6,s: 6,010,265 msg/sec std::mutex, 6,i: 5,916,960 msg/sec std::mutex, 7,s: 5,832,210 msg/sec std::mutex, 7,i: 5,782,707 msg/sec std::mutex, 8,s: 5,776,148 msg/sec std::mutex, 8,i: 5,669,216 msg/sec tbb::spin_mutex, 1,s: 37,476,301 msg/sec tbb::spin_mutex, 1,i: 37,603,296 msg/sec tbb::spin_mutex, 2,s: 21,004,431 msg/sec tbb::spin_mutex, 2,i: 21,699,466 msg/sec tbb::spin_mutex, 3,s: 8,757,507 msg/sec tbb::spin_mutex, 3,i: 11,208,410 msg/sec tbb::spin_mutex, 4,s: 3,185,170 msg/sec tbb::spin_mutex, 4,i: 6,323,136 msg/sec tbb::spin_mutex, 5,s: 5,479,859 msg/sec tbb::spin_mutex, 5,i: 5,807,281 msg/sec tbb::spin_mutex, 6,s: 5,420,761 msg/sec tbb::spin_mutex, 6,i: 4,400,910 msg/sec tbb::spin_mutex, 7,s: 4,825,708 msg/sec tbb::spin_mutex, 7,i: 4,274,270 msg/sec tbb::spin_mutex, 8,s: 4,258,824 msg/sec tbb::spin_mutex, 8,i: 4,068,048 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,166,719 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,721,897 msg/sec tbb::concurrent_bounded_queue, 2,s: 15,057,202 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,268,656 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,106,324 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,059,562 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,431,794 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,327,971 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,801,283 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,825,500 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,962,491 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,899,324 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,888,906 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,960,852 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,959,799 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,086,522 msg/sec xenium::michael_scott_queue, 1,s: 9,258,881 msg/sec xenium::michael_scott_queue, 1,i: 9,236,606 msg/sec xenium::michael_scott_queue, 2,s: 8,460,565 msg/sec xenium::michael_scott_queue, 2,i: 8,471,907 msg/sec xenium::michael_scott_queue, 3,s: 7,304,047 msg/sec xenium::michael_scott_queue, 3,i: 7,627,956 msg/sec xenium::michael_scott_queue, 4,s: 6,337,174 msg/sec xenium::michael_scott_queue, 4,i: 6,371,782 msg/sec xenium::michael_scott_queue, 5,s: 6,290,573 msg/sec xenium::michael_scott_queue, 5,i: 6,619,135 msg/sec xenium::michael_scott_queue, 6,s: 6,489,008 msg/sec xenium::michael_scott_queue, 6,i: 7,008,169 msg/sec xenium::michael_scott_queue, 7,s: 6,346,876 msg/sec xenium::michael_scott_queue, 7,i: 6,415,831 msg/sec xenium::michael_scott_queue, 8,s: 5,965,372 msg/sec xenium::michael_scott_queue, 8,i: 6,153,954 msg/sec xenium::ramalhete_queue, 1,s: 32,603,771 msg/sec xenium::ramalhete_queue, 1,i: 33,224,593 msg/sec xenium::ramalhete_queue, 2,s: 24,551,524 msg/sec xenium::ramalhete_queue, 2,i: 23,384,783 msg/sec xenium::ramalhete_queue, 3,s: 29,303,221 msg/sec xenium::ramalhete_queue, 3,i: 28,735,342 msg/sec xenium::ramalhete_queue, 4,s: 33,748,084 msg/sec xenium::ramalhete_queue, 4,i: 33,494,285 msg/sec xenium::ramalhete_queue, 5,s: 32,175,504 msg/sec xenium::ramalhete_queue, 5,i: 36,066,117 msg/sec xenium::ramalhete_queue, 6,s: 34,272,834 msg/sec xenium::ramalhete_queue, 6,i: 38,624,956 msg/sec xenium::ramalhete_queue, 7,s: 35,068,718 msg/sec xenium::ramalhete_queue, 7,i: 40,969,395 msg/sec xenium::ramalhete_queue, 8,s: 35,714,296 msg/sec xenium::ramalhete_queue, 8,i: 43,938,333 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,325,165 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,886,983 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,101,731 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,853,121 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,647,504 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,727,376 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,547,290 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,549,221 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,868,874 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,424,766 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,845,771 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,170,280 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,261,302 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,990,375 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,430,029 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,221,537 msg/sec AtomicQueue, 1,s: 57,155,054 msg/sec AtomicQueue, 1,i: 56,655,143 msg/sec AtomicQueue, 2,s: 12,304,998 msg/sec AtomicQueue, 2,i: 11,724,495 msg/sec AtomicQueue, 3,s: 10,792,103 msg/sec AtomicQueue, 3,i: 9,938,324 msg/sec AtomicQueue, 4,s: 8,171,058 msg/sec AtomicQueue, 4,i: 8,186,118 msg/sec AtomicQueue, 5,s: 8,047,394 msg/sec AtomicQueue, 5,i: 8,105,023 msg/sec AtomicQueue, 6,s: 7,870,537 msg/sec AtomicQueue, 6,i: 7,631,262 msg/sec AtomicQueue, 7,s: 7,210,345 msg/sec AtomicQueue, 7,i: 7,972,198 msg/sec AtomicQueue, 8,s: 6,348,877 msg/sec AtomicQueue, 8,i: 7,455,663 msg/sec AtomicQueueB, 1,s: 43,089,766 msg/sec AtomicQueueB, 1,i: 43,129,704 msg/sec AtomicQueueB, 2,s: 11,719,654 msg/sec AtomicQueueB, 2,i: 11,469,763 msg/sec AtomicQueueB, 3,s: 11,061,049 msg/sec AtomicQueueB, 3,i: 9,995,780 msg/sec AtomicQueueB, 4,s: 8,057,879 msg/sec AtomicQueueB, 4,i: 7,991,469 msg/sec AtomicQueueB, 5,s: 7,674,878 msg/sec AtomicQueueB, 5,i: 7,785,212 msg/sec AtomicQueueB, 6,s: 7,279,011 msg/sec AtomicQueueB, 6,i: 7,545,399 msg/sec AtomicQueueB, 7,s: 6,890,864 msg/sec AtomicQueueB, 7,i: 7,744,389 msg/sec AtomicQueueB, 8,s: 6,231,576 msg/sec AtomicQueueB, 8,i: 7,149,204 msg/sec OptimistAtomicQueue, 1,s: 768,791,079 msg/sec OptimistAtomicQueue, 1,i: 588,455,878 msg/sec OptimistAtomicQueue, 2,s: 32,657,659 msg/sec OptimistAtomicQueue, 2,i: 32,700,501 msg/sec OptimistAtomicQueue, 3,s: 36,674,330 msg/sec OptimistAtomicQueue, 3,i: 37,431,716 msg/sec OptimistAtomicQueue, 4,s: 39,259,610 msg/sec OptimistAtomicQueue, 4,i: 39,396,752 msg/sec OptimistAtomicQueue, 5,s: 41,735,896 msg/sec OptimistAtomicQueue, 5,i: 47,338,642 msg/sec OptimistAtomicQueue, 6,s: 42,604,540 msg/sec OptimistAtomicQueue, 6,i: 50,246,791 msg/sec OptimistAtomicQueue, 7,s: 44,315,085 msg/sec OptimistAtomicQueue, 7,i: 49,479,838 msg/sec OptimistAtomicQueue, 8,s: 46,507,748 msg/sec OptimistAtomicQueue, 8,i: 48,850,757 msg/sec OptimistAtomicQueueB, 1,s: 555,124,023 msg/sec OptimistAtomicQueueB, 1,i: 95,541,498 msg/sec OptimistAtomicQueueB, 2,s: 32,253,544 msg/sec OptimistAtomicQueueB, 2,i: 32,352,816 msg/sec OptimistAtomicQueueB, 3,s: 36,229,137 msg/sec OptimistAtomicQueueB, 3,i: 36,866,324 msg/sec OptimistAtomicQueueB, 4,s: 38,773,583 msg/sec OptimistAtomicQueueB, 4,i: 38,713,464 msg/sec OptimistAtomicQueueB, 5,s: 40,892,820 msg/sec OptimistAtomicQueueB, 5,i: 45,294,877 msg/sec OptimistAtomicQueueB, 6,s: 41,136,856 msg/sec OptimistAtomicQueueB, 6,i: 49,147,190 msg/sec OptimistAtomicQueueB, 7,s: 41,974,757 msg/sec OptimistAtomicQueueB, 7,i: 47,852,507 msg/sec OptimistAtomicQueueB, 8,s: 44,444,431 msg/sec OptimistAtomicQueueB, 8,i: 47,723,778 msg/sec AtomicQueue2, 1,s: 22,835,612 msg/sec AtomicQueue2, 1,i: 22,787,102 msg/sec AtomicQueue2, 2,s: 11,820,935 msg/sec AtomicQueue2, 2,i: 11,531,922 msg/sec AtomicQueue2, 3,s: 9,619,269 msg/sec AtomicQueue2, 3,i: 9,578,690 msg/sec AtomicQueue2, 4,s: 8,064,506 msg/sec AtomicQueue2, 4,i: 8,037,907 msg/sec AtomicQueue2, 5,s: 7,950,422 msg/sec AtomicQueue2, 5,i: 8,045,621 msg/sec AtomicQueue2, 6,s: 7,777,405 msg/sec AtomicQueue2, 6,i: 7,531,508 msg/sec AtomicQueue2, 7,s: 7,162,283 msg/sec AtomicQueue2, 7,i: 7,870,726 msg/sec AtomicQueue2, 8,s: 6,385,883 msg/sec AtomicQueue2, 8,i: 7,356,883 msg/sec AtomicQueueB2, 1,s: 32,783,204 msg/sec AtomicQueueB2, 1,i: 32,609,949 msg/sec AtomicQueueB2, 2,s: 11,434,913 msg/sec AtomicQueueB2, 2,i: 11,024,506 msg/sec AtomicQueueB2, 3,s: 9,661,465 msg/sec AtomicQueueB2, 3,i: 9,567,586 msg/sec AtomicQueueB2, 4,s: 7,969,539 msg/sec AtomicQueueB2, 4,i: 7,825,076 msg/sec AtomicQueueB2, 5,s: 7,515,479 msg/sec AtomicQueueB2, 5,i: 7,707,245 msg/sec AtomicQueueB2, 6,s: 7,332,943 msg/sec AtomicQueueB2, 6,i: 7,419,967 msg/sec AtomicQueueB2, 7,s: 6,869,370 msg/sec AtomicQueueB2, 7,i: 7,705,081 msg/sec AtomicQueueB2, 8,s: 6,237,331 msg/sec AtomicQueueB2, 8,i: 7,103,661 msg/sec OptimistAtomicQueue2, 1,s: 575,298,274 msg/sec OptimistAtomicQueue2, 1,i: 31,945,896 msg/sec OptimistAtomicQueue2, 2,s: 24,763,944 msg/sec OptimistAtomicQueue2, 2,i: 24,018,101 msg/sec OptimistAtomicQueue2, 3,s: 30,449,613 msg/sec OptimistAtomicQueue2, 3,i: 29,956,533 msg/sec OptimistAtomicQueue2, 4,s: 33,172,120 msg/sec OptimistAtomicQueue2, 4,i: 33,134,243 msg/sec OptimistAtomicQueue2, 5,s: 37,273,881 msg/sec OptimistAtomicQueue2, 5,i: 40,229,258 msg/sec OptimistAtomicQueue2, 6,s: 40,423,869 msg/sec OptimistAtomicQueue2, 6,i: 49,299,472 msg/sec OptimistAtomicQueue2, 7,s: 42,863,632 msg/sec OptimistAtomicQueue2, 7,i: 51,492,195 msg/sec OptimistAtomicQueue2, 8,s: 43,927,889 msg/sec OptimistAtomicQueue2, 8,i: 48,442,139 msg/sec OptimistAtomicQueueB2, 1,s: 75,857,745 msg/sec OptimistAtomicQueueB2, 1,i: 33,860,744 msg/sec OptimistAtomicQueueB2, 2,s: 27,877,902 msg/sec OptimistAtomicQueueB2, 2,i: 23,175,840 msg/sec OptimistAtomicQueueB2, 3,s: 29,693,647 msg/sec OptimistAtomicQueueB2, 3,i: 29,117,071 msg/sec OptimistAtomicQueueB2, 4,s: 33,083,090 msg/sec OptimistAtomicQueueB2, 4,i: 32,592,332 msg/sec OptimistAtomicQueueB2, 5,s: 34,407,823 msg/sec OptimistAtomicQueueB2, 5,i: 39,205,337 msg/sec OptimistAtomicQueueB2, 6,s: 37,407,399 msg/sec OptimistAtomicQueueB2, 6,i: 41,992,712 msg/sec OptimistAtomicQueueB2, 7,s: 40,775,829 msg/sec OptimistAtomicQueueB2, 7,i: 43,047,421 msg/sec OptimistAtomicQueueB2, 8,s: 42,094,346 msg/sec OptimistAtomicQueueB2, 8,i: 45,313,396 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000443 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000225 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000143 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [54] 410m:6s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,635,089 msg/sec boost::lockfree::spsc_queue, 1,i: 69,232,113 msg/sec boost::lockfree::queue, 1,s: 6,830,347 msg/sec boost::lockfree::queue, 1,i: 6,888,735 msg/sec boost::lockfree::queue, 2,s: 7,597,804 msg/sec boost::lockfree::queue, 2,i: 7,486,710 msg/sec boost::lockfree::queue, 3,s: 7,438,205 msg/sec boost::lockfree::queue, 3,i: 7,568,055 msg/sec boost::lockfree::queue, 4,s: 6,431,626 msg/sec boost::lockfree::queue, 4,i: 6,815,772 msg/sec boost::lockfree::queue, 5,s: 6,405,173 msg/sec boost::lockfree::queue, 5,i: 6,773,852 msg/sec boost::lockfree::queue, 6,s: 5,956,759 msg/sec boost::lockfree::queue, 6,i: 6,107,805 msg/sec boost::lockfree::queue, 7,s: 6,033,300 msg/sec boost::lockfree::queue, 7,i: 5,942,948 msg/sec boost::lockfree::queue, 8,s: 5,486,100 msg/sec boost::lockfree::queue, 8,i: 5,559,890 msg/sec moodycamel::ReaderWriterQueue, 1,s: 479,153,584 msg/sec moodycamel::ReaderWriterQueue, 1,i: 478,972,221 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,892,258 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,762,787 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,723,076 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,452,089 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,757,730 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,809,652 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,457,348 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,474,252 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,309,902 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,424,650 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,390,533 msg/sec moodycamel::ConcurrentQueue, 6,i: 33,085,178 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,006,992 msg/sec moodycamel::ConcurrentQueue, 7,i: 36,554,231 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,523,729 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,118,049 msg/sec pthread_spinlock, 1,s: 29,541,559 msg/sec pthread_spinlock, 1,i: 25,429,261 msg/sec pthread_spinlock, 2,s: 15,683,777 msg/sec pthread_spinlock, 2,i: 16,946,423 msg/sec pthread_spinlock, 3,s: 8,264,265 msg/sec pthread_spinlock, 3,i: 12,037,709 msg/sec pthread_spinlock, 4,s: 6,512,739 msg/sec pthread_spinlock, 4,i: 9,144,982 msg/sec pthread_spinlock, 5,s: 8,649,253 msg/sec pthread_spinlock, 5,i: 9,341,354 msg/sec pthread_spinlock, 6,s: 8,525,650 msg/sec pthread_spinlock, 6,i: 8,546,398 msg/sec pthread_spinlock, 7,s: 7,975,988 msg/sec pthread_spinlock, 7,i: 7,592,171 msg/sec pthread_spinlock, 8,s: 6,671,411 msg/sec pthread_spinlock, 8,i: 7,488,806 msg/sec std::mutex, 1,s: 6,855,162 msg/sec std::mutex, 1,i: 6,432,385 msg/sec std::mutex, 2,s: 5,680,948 msg/sec std::mutex, 2,i: 5,907,301 msg/sec std::mutex, 3,s: 5,931,887 msg/sec std::mutex, 3,i: 5,956,926 msg/sec std::mutex, 4,s: 6,014,029 msg/sec std::mutex, 4,i: 6,154,194 msg/sec std::mutex, 5,s: 5,891,941 msg/sec std::mutex, 5,i: 6,062,209 msg/sec std::mutex, 6,s: 5,845,319 msg/sec std::mutex, 6,i: 5,836,279 msg/sec std::mutex, 7,s: 5,723,243 msg/sec std::mutex, 7,i: 5,691,233 msg/sec std::mutex, 8,s: 5,588,051 msg/sec std::mutex, 8,i: 5,611,384 msg/sec tbb::spin_mutex, 1,s: 37,892,868 msg/sec tbb::spin_mutex, 1,i: 33,030,951 msg/sec tbb::spin_mutex, 2,s: 21,114,428 msg/sec tbb::spin_mutex, 2,i: 18,374,486 msg/sec tbb::spin_mutex, 3,s: 7,640,134 msg/sec tbb::spin_mutex, 3,i: 10,205,803 msg/sec tbb::spin_mutex, 4,s: 3,220,033 msg/sec tbb::spin_mutex, 4,i: 6,352,778 msg/sec tbb::spin_mutex, 5,s: 5,455,311 msg/sec tbb::spin_mutex, 5,i: 5,461,743 msg/sec tbb::spin_mutex, 6,s: 5,337,245 msg/sec tbb::spin_mutex, 6,i: 4,382,884 msg/sec tbb::spin_mutex, 7,s: 4,867,630 msg/sec tbb::spin_mutex, 7,i: 4,339,247 msg/sec tbb::spin_mutex, 8,s: 4,251,925 msg/sec tbb::spin_mutex, 8,i: 4,071,692 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,196,137 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,306,340 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,725,853 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,147,502 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,176,791 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,060,776 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,416,248 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,295,021 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,752,318 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,856,017 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,980,586 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,941,310 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,939,074 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,980,102 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,952,782 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,082,553 msg/sec xenium::michael_scott_queue, 1,s: 9,070,997 msg/sec xenium::michael_scott_queue, 1,i: 9,004,668 msg/sec xenium::michael_scott_queue, 2,s: 8,459,205 msg/sec xenium::michael_scott_queue, 2,i: 8,434,141 msg/sec xenium::michael_scott_queue, 3,s: 7,247,049 msg/sec xenium::michael_scott_queue, 3,i: 7,572,429 msg/sec xenium::michael_scott_queue, 4,s: 6,177,715 msg/sec xenium::michael_scott_queue, 4,i: 6,447,388 msg/sec xenium::michael_scott_queue, 5,s: 6,270,015 msg/sec xenium::michael_scott_queue, 5,i: 6,617,933 msg/sec xenium::michael_scott_queue, 6,s: 6,495,589 msg/sec xenium::michael_scott_queue, 6,i: 6,771,786 msg/sec xenium::michael_scott_queue, 7,s: 6,269,014 msg/sec xenium::michael_scott_queue, 7,i: 6,472,258 msg/sec xenium::michael_scott_queue, 8,s: 5,947,714 msg/sec xenium::michael_scott_queue, 8,i: 6,068,867 msg/sec xenium::ramalhete_queue, 1,s: 32,078,809 msg/sec xenium::ramalhete_queue, 1,i: 31,985,528 msg/sec xenium::ramalhete_queue, 2,s: 23,660,171 msg/sec xenium::ramalhete_queue, 2,i: 23,341,627 msg/sec xenium::ramalhete_queue, 3,s: 29,174,939 msg/sec xenium::ramalhete_queue, 3,i: 28,345,964 msg/sec xenium::ramalhete_queue, 4,s: 33,866,879 msg/sec xenium::ramalhete_queue, 4,i: 33,369,517 msg/sec xenium::ramalhete_queue, 5,s: 32,220,050 msg/sec xenium::ramalhete_queue, 5,i: 36,072,174 msg/sec xenium::ramalhete_queue, 6,s: 34,145,448 msg/sec xenium::ramalhete_queue, 6,i: 39,060,520 msg/sec xenium::ramalhete_queue, 7,s: 35,100,531 msg/sec xenium::ramalhete_queue, 7,i: 41,544,591 msg/sec xenium::ramalhete_queue, 8,s: 35,509,548 msg/sec xenium::ramalhete_queue, 8,i: 43,965,850 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,141,980 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,380,247 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,951,974 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,953,161 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,583,670 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,559,525 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,565,633 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,282,414 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,815,476 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,310,318 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,992,893 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,403,347 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,214,267 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,045,425 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,376,267 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,316,103 msg/sec AtomicQueue, 1,s: 58,168,309 msg/sec AtomicQueue, 1,i: 56,452,082 msg/sec AtomicQueue, 2,s: 12,215,814 msg/sec AtomicQueue, 2,i: 11,717,891 msg/sec AtomicQueue, 3,s: 10,811,891 msg/sec AtomicQueue, 3,i: 9,961,748 msg/sec AtomicQueue, 4,s: 8,152,625 msg/sec AtomicQueue, 4,i: 8,230,421 msg/sec AtomicQueue, 5,s: 8,056,930 msg/sec AtomicQueue, 5,i: 8,107,768 msg/sec AtomicQueue, 6,s: 7,968,291 msg/sec AtomicQueue, 6,i: 7,598,214 msg/sec AtomicQueue, 7,s: 7,102,145 msg/sec AtomicQueue, 7,i: 7,969,120 msg/sec AtomicQueue, 8,s: 6,359,165 msg/sec AtomicQueue, 8,i: 7,460,139 msg/sec AtomicQueueB, 1,s: 43,077,322 msg/sec AtomicQueueB, 1,i: 44,440,795 msg/sec AtomicQueueB, 2,s: 11,945,975 msg/sec AtomicQueueB, 2,i: 11,516,729 msg/sec AtomicQueueB, 3,s: 10,951,758 msg/sec AtomicQueueB, 3,i: 10,145,502 msg/sec AtomicQueueB, 4,s: 8,070,105 msg/sec AtomicQueueB, 4,i: 8,098,180 msg/sec AtomicQueueB, 5,s: 7,607,858 msg/sec AtomicQueueB, 5,i: 7,835,873 msg/sec AtomicQueueB, 6,s: 7,369,644 msg/sec AtomicQueueB, 6,i: 7,515,939 msg/sec AtomicQueueB, 7,s: 6,911,221 msg/sec AtomicQueueB, 7,i: 7,730,801 msg/sec AtomicQueueB, 8,s: 6,194,997 msg/sec AtomicQueueB, 8,i: 7,127,716 msg/sec OptimistAtomicQueue, 1,s: 710,719,678 msg/sec OptimistAtomicQueue, 1,i: 517,332,916 msg/sec OptimistAtomicQueue, 2,s: 31,797,501 msg/sec OptimistAtomicQueue, 2,i: 31,896,838 msg/sec OptimistAtomicQueue, 3,s: 36,564,836 msg/sec OptimistAtomicQueue, 3,i: 37,406,963 msg/sec OptimistAtomicQueue, 4,s: 39,272,915 msg/sec OptimistAtomicQueue, 4,i: 39,413,217 msg/sec OptimistAtomicQueue, 5,s: 42,515,041 msg/sec OptimistAtomicQueue, 5,i: 47,350,099 msg/sec OptimistAtomicQueue, 6,s: 42,767,759 msg/sec OptimistAtomicQueue, 6,i: 50,352,396 msg/sec OptimistAtomicQueue, 7,s: 44,157,348 msg/sec OptimistAtomicQueue, 7,i: 52,975,710 msg/sec OptimistAtomicQueue, 8,s: 46,473,245 msg/sec OptimistAtomicQueue, 8,i: 49,360,013 msg/sec OptimistAtomicQueueB, 1,s: 77,786,355 msg/sec OptimistAtomicQueueB, 1,i: 76,611,167 msg/sec OptimistAtomicQueueB, 2,s: 32,176,063 msg/sec OptimistAtomicQueueB, 2,i: 32,117,312 msg/sec OptimistAtomicQueueB, 3,s: 36,294,413 msg/sec OptimistAtomicQueueB, 3,i: 36,970,553 msg/sec OptimistAtomicQueueB, 4,s: 38,748,683 msg/sec OptimistAtomicQueueB, 4,i: 38,635,106 msg/sec OptimistAtomicQueueB, 5,s: 40,627,848 msg/sec OptimistAtomicQueueB, 5,i: 45,455,211 msg/sec OptimistAtomicQueueB, 6,s: 41,297,714 msg/sec OptimistAtomicQueueB, 6,i: 49,127,593 msg/sec OptimistAtomicQueueB, 7,s: 41,881,962 msg/sec OptimistAtomicQueueB, 7,i: 50,459,948 msg/sec OptimistAtomicQueueB, 8,s: 44,416,018 msg/sec OptimistAtomicQueueB, 8,i: 47,780,193 msg/sec AtomicQueue2, 1,s: 23,338,076 msg/sec AtomicQueue2, 1,i: 23,345,687 msg/sec AtomicQueue2, 2,s: 11,874,426 msg/sec AtomicQueue2, 2,i: 11,401,948 msg/sec AtomicQueue2, 3,s: 9,468,719 msg/sec AtomicQueue2, 3,i: 9,440,787 msg/sec AtomicQueue2, 4,s: 7,979,776 msg/sec AtomicQueue2, 4,i: 8,010,074 msg/sec AtomicQueue2, 5,s: 7,932,887 msg/sec AtomicQueue2, 5,i: 8,028,237 msg/sec AtomicQueue2, 6,s: 7,791,054 msg/sec AtomicQueue2, 6,i: 7,521,181 msg/sec AtomicQueue2, 7,s: 7,173,898 msg/sec AtomicQueue2, 7,i: 7,903,874 msg/sec AtomicQueue2, 8,s: 6,410,793 msg/sec AtomicQueue2, 8,i: 7,360,941 msg/sec AtomicQueueB2, 1,s: 35,855,870 msg/sec AtomicQueueB2, 1,i: 32,593,579 msg/sec AtomicQueueB2, 2,s: 11,459,014 msg/sec AtomicQueueB2, 2,i: 11,104,170 msg/sec AtomicQueueB2, 3,s: 9,631,675 msg/sec AtomicQueueB2, 3,i: 9,531,918 msg/sec AtomicQueueB2, 4,s: 8,003,482 msg/sec AtomicQueueB2, 4,i: 7,781,998 msg/sec AtomicQueueB2, 5,s: 7,441,878 msg/sec AtomicQueueB2, 5,i: 7,693,670 msg/sec AtomicQueueB2, 6,s: 7,266,770 msg/sec AtomicQueueB2, 6,i: 7,453,341 msg/sec AtomicQueueB2, 7,s: 6,934,186 msg/sec AtomicQueueB2, 7,i: 7,681,815 msg/sec AtomicQueueB2, 8,s: 6,252,454 msg/sec AtomicQueueB2, 8,i: 6,964,404 msg/sec OptimistAtomicQueue2, 1,s: 423,695,420 msg/sec OptimistAtomicQueue2, 1,i: 426,344,691 msg/sec OptimistAtomicQueue2, 2,s: 24,246,592 msg/sec OptimistAtomicQueue2, 2,i: 24,022,447 msg/sec OptimistAtomicQueue2, 3,s: 30,327,013 msg/sec OptimistAtomicQueue2, 3,i: 30,431,519 msg/sec OptimistAtomicQueue2, 4,s: 33,682,932 msg/sec OptimistAtomicQueue2, 4,i: 33,118,941 msg/sec OptimistAtomicQueue2, 5,s: 37,311,700 msg/sec OptimistAtomicQueue2, 5,i: 40,119,081 msg/sec OptimistAtomicQueue2, 6,s: 40,323,993 msg/sec OptimistAtomicQueue2, 6,i: 49,299,320 msg/sec OptimistAtomicQueue2, 7,s: 43,052,268 msg/sec OptimistAtomicQueue2, 7,i: 47,971,680 msg/sec OptimistAtomicQueue2, 8,s: 43,777,772 msg/sec OptimistAtomicQueue2, 8,i: 48,354,181 msg/sec OptimistAtomicQueueB2, 1,s: 74,855,512 msg/sec OptimistAtomicQueueB2, 1,i: 32,486,162 msg/sec OptimistAtomicQueueB2, 2,s: 27,484,527 msg/sec OptimistAtomicQueueB2, 2,i: 26,073,351 msg/sec OptimistAtomicQueueB2, 3,s: 29,665,742 msg/sec OptimistAtomicQueueB2, 3,i: 29,227,762 msg/sec OptimistAtomicQueueB2, 4,s: 33,258,884 msg/sec OptimistAtomicQueueB2, 4,i: 32,851,896 msg/sec OptimistAtomicQueueB2, 5,s: 34,811,692 msg/sec OptimistAtomicQueueB2, 5,i: 39,299,396 msg/sec OptimistAtomicQueueB2, 6,s: 37,520,254 msg/sec OptimistAtomicQueueB2, 6,i: 42,486,987 msg/sec OptimistAtomicQueueB2, 7,s: 40,043,145 msg/sec OptimistAtomicQueueB2, 7,i: 45,465,113 msg/sec OptimistAtomicQueueB2, 8,s: 42,111,534 msg/sec OptimistAtomicQueueB2, 8,i: 45,153,653 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000249 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000363 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [55] 408m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,263,398 msg/sec boost::lockfree::spsc_queue, 1,i: 67,407,042 msg/sec boost::lockfree::queue, 1,s: 6,934,396 msg/sec boost::lockfree::queue, 1,i: 6,937,072 msg/sec boost::lockfree::queue, 2,s: 7,678,211 msg/sec boost::lockfree::queue, 2,i: 7,465,310 msg/sec boost::lockfree::queue, 3,s: 7,354,782 msg/sec boost::lockfree::queue, 3,i: 7,570,919 msg/sec boost::lockfree::queue, 4,s: 6,428,695 msg/sec boost::lockfree::queue, 4,i: 6,817,482 msg/sec boost::lockfree::queue, 5,s: 6,438,949 msg/sec boost::lockfree::queue, 5,i: 6,470,264 msg/sec boost::lockfree::queue, 6,s: 6,016,232 msg/sec boost::lockfree::queue, 6,i: 6,138,974 msg/sec boost::lockfree::queue, 7,s: 6,048,630 msg/sec boost::lockfree::queue, 7,i: 5,945,198 msg/sec boost::lockfree::queue, 8,s: 5,465,148 msg/sec boost::lockfree::queue, 8,i: 5,603,728 msg/sec moodycamel::ReaderWriterQueue, 1,s: 82,205,967 msg/sec moodycamel::ReaderWriterQueue, 1,i: 70,243,562 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,829,115 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,439,096 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,733,938 msg/sec moodycamel::ConcurrentQueue, 2,i: 51,290,518 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,103,055 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,237,604 msg/sec moodycamel::ConcurrentQueue, 4,s: 40,926,787 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,253,572 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,573,633 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,991,696 msg/sec moodycamel::ConcurrentQueue, 6,s: 46,951,462 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,538,434 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,178,055 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,735,801 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,369,986 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,022,604 msg/sec pthread_spinlock, 1,s: 28,825,013 msg/sec pthread_spinlock, 1,i: 25,404,181 msg/sec pthread_spinlock, 2,s: 15,596,844 msg/sec pthread_spinlock, 2,i: 16,904,412 msg/sec pthread_spinlock, 3,s: 8,275,376 msg/sec pthread_spinlock, 3,i: 12,030,782 msg/sec pthread_spinlock, 4,s: 6,464,166 msg/sec pthread_spinlock, 4,i: 9,276,953 msg/sec pthread_spinlock, 5,s: 8,539,369 msg/sec pthread_spinlock, 5,i: 9,101,566 msg/sec pthread_spinlock, 6,s: 8,279,684 msg/sec pthread_spinlock, 6,i: 8,437,167 msg/sec pthread_spinlock, 7,s: 7,566,484 msg/sec pthread_spinlock, 7,i: 7,850,965 msg/sec pthread_spinlock, 8,s: 6,665,118 msg/sec pthread_spinlock, 8,i: 7,483,835 msg/sec std::mutex, 1,s: 6,881,985 msg/sec std::mutex, 1,i: 7,638,161 msg/sec std::mutex, 2,s: 6,204,878 msg/sec std::mutex, 2,i: 6,303,679 msg/sec std::mutex, 3,s: 6,124,865 msg/sec std::mutex, 3,i: 6,066,243 msg/sec std::mutex, 4,s: 6,182,305 msg/sec std::mutex, 4,i: 6,252,965 msg/sec std::mutex, 5,s: 5,972,936 msg/sec std::mutex, 5,i: 6,092,104 msg/sec std::mutex, 6,s: 5,817,378 msg/sec std::mutex, 6,i: 5,872,302 msg/sec std::mutex, 7,s: 5,763,189 msg/sec std::mutex, 7,i: 5,765,062 msg/sec std::mutex, 8,s: 5,664,214 msg/sec std::mutex, 8,i: 5,697,700 msg/sec tbb::spin_mutex, 1,s: 37,803,361 msg/sec tbb::spin_mutex, 1,i: 38,112,298 msg/sec tbb::spin_mutex, 2,s: 21,249,988 msg/sec tbb::spin_mutex, 2,i: 18,475,389 msg/sec tbb::spin_mutex, 3,s: 8,505,561 msg/sec tbb::spin_mutex, 3,i: 11,178,971 msg/sec tbb::spin_mutex, 4,s: 3,148,166 msg/sec tbb::spin_mutex, 4,i: 6,413,654 msg/sec tbb::spin_mutex, 5,s: 5,567,873 msg/sec tbb::spin_mutex, 5,i: 5,837,758 msg/sec tbb::spin_mutex, 6,s: 5,340,534 msg/sec tbb::spin_mutex, 6,i: 4,375,813 msg/sec tbb::spin_mutex, 7,s: 4,844,054 msg/sec tbb::spin_mutex, 7,i: 4,362,651 msg/sec tbb::spin_mutex, 8,s: 4,260,926 msg/sec tbb::spin_mutex, 8,i: 4,158,471 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,293,572 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,380,270 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,933,222 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,414,610 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,266,059 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,923,172 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,407,660 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,289,927 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,657,781 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,840,877 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,072,669 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,874,291 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,988,982 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,945,389 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,947,537 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,095,441 msg/sec xenium::michael_scott_queue, 1,s: 9,332,367 msg/sec xenium::michael_scott_queue, 1,i: 9,355,377 msg/sec xenium::michael_scott_queue, 2,s: 8,600,790 msg/sec xenium::michael_scott_queue, 2,i: 8,508,761 msg/sec xenium::michael_scott_queue, 3,s: 7,124,816 msg/sec xenium::michael_scott_queue, 3,i: 7,606,269 msg/sec xenium::michael_scott_queue, 4,s: 6,386,343 msg/sec xenium::michael_scott_queue, 4,i: 6,387,155 msg/sec xenium::michael_scott_queue, 5,s: 6,324,059 msg/sec xenium::michael_scott_queue, 5,i: 6,638,719 msg/sec xenium::michael_scott_queue, 6,s: 6,552,511 msg/sec xenium::michael_scott_queue, 6,i: 6,915,260 msg/sec xenium::michael_scott_queue, 7,s: 6,362,391 msg/sec xenium::michael_scott_queue, 7,i: 6,411,217 msg/sec xenium::michael_scott_queue, 8,s: 6,078,438 msg/sec xenium::michael_scott_queue, 8,i: 6,088,140 msg/sec xenium::ramalhete_queue, 1,s: 32,422,178 msg/sec xenium::ramalhete_queue, 1,i: 33,115,015 msg/sec xenium::ramalhete_queue, 2,s: 23,659,131 msg/sec xenium::ramalhete_queue, 2,i: 23,900,223 msg/sec xenium::ramalhete_queue, 3,s: 29,072,867 msg/sec xenium::ramalhete_queue, 3,i: 28,425,551 msg/sec xenium::ramalhete_queue, 4,s: 33,685,212 msg/sec xenium::ramalhete_queue, 4,i: 33,433,055 msg/sec xenium::ramalhete_queue, 5,s: 31,980,797 msg/sec xenium::ramalhete_queue, 5,i: 36,230,949 msg/sec xenium::ramalhete_queue, 6,s: 34,072,589 msg/sec xenium::ramalhete_queue, 6,i: 39,729,420 msg/sec xenium::ramalhete_queue, 7,s: 35,077,575 msg/sec xenium::ramalhete_queue, 7,i: 41,029,155 msg/sec xenium::ramalhete_queue, 8,s: 35,553,249 msg/sec xenium::ramalhete_queue, 8,i: 43,895,664 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,828,118 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,752,257 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,738,467 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,590,360 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,583,337 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,468,857 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,557,095 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,144,768 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,245,022 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,258,332 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,973,927 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,579,804 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,267,687 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,110,833 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,093 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,255,716 msg/sec AtomicQueue, 1,s: 60,637,647 msg/sec AtomicQueue, 1,i: 57,094,299 msg/sec AtomicQueue, 2,s: 12,225,488 msg/sec AtomicQueue, 2,i: 11,727,882 msg/sec AtomicQueue, 3,s: 10,685,929 msg/sec AtomicQueue, 3,i: 9,843,493 msg/sec AtomicQueue, 4,s: 8,235,719 msg/sec AtomicQueue, 4,i: 8,170,646 msg/sec AtomicQueue, 5,s: 7,993,255 msg/sec AtomicQueue, 5,i: 8,071,236 msg/sec AtomicQueue, 6,s: 7,753,326 msg/sec AtomicQueue, 6,i: 7,607,917 msg/sec AtomicQueue, 7,s: 7,047,708 msg/sec AtomicQueue, 7,i: 7,978,927 msg/sec AtomicQueue, 8,s: 6,358,159 msg/sec AtomicQueue, 8,i: 7,469,272 msg/sec AtomicQueueB, 1,s: 43,991,145 msg/sec AtomicQueueB, 1,i: 42,997,912 msg/sec AtomicQueueB, 2,s: 11,862,096 msg/sec AtomicQueueB, 2,i: 11,506,371 msg/sec AtomicQueueB, 3,s: 10,982,854 msg/sec AtomicQueueB, 3,i: 10,241,444 msg/sec AtomicQueueB, 4,s: 8,024,718 msg/sec AtomicQueueB, 4,i: 7,957,825 msg/sec AtomicQueueB, 5,s: 7,639,139 msg/sec AtomicQueueB, 5,i: 7,792,122 msg/sec AtomicQueueB, 6,s: 7,125,974 msg/sec AtomicQueueB, 6,i: 7,538,622 msg/sec AtomicQueueB, 7,s: 6,812,420 msg/sec AtomicQueueB, 7,i: 7,747,365 msg/sec AtomicQueueB, 8,s: 6,290,889 msg/sec AtomicQueueB, 8,i: 7,140,079 msg/sec OptimistAtomicQueue, 1,s: 707,249,216 msg/sec OptimistAtomicQueue, 1,i: 545,471,231 msg/sec OptimistAtomicQueue, 2,s: 32,648,267 msg/sec OptimistAtomicQueue, 2,i: 32,717,166 msg/sec OptimistAtomicQueue, 3,s: 36,687,928 msg/sec OptimistAtomicQueue, 3,i: 37,513,640 msg/sec OptimistAtomicQueue, 4,s: 39,305,854 msg/sec OptimistAtomicQueue, 4,i: 39,381,740 msg/sec OptimistAtomicQueue, 5,s: 42,465,101 msg/sec OptimistAtomicQueue, 5,i: 46,517,638 msg/sec OptimistAtomicQueue, 6,s: 42,629,669 msg/sec OptimistAtomicQueue, 6,i: 50,512,961 msg/sec OptimistAtomicQueue, 7,s: 44,078,264 msg/sec OptimistAtomicQueue, 7,i: 53,041,310 msg/sec OptimistAtomicQueue, 8,s: 46,432,918 msg/sec OptimistAtomicQueue, 8,i: 49,189,819 msg/sec OptimistAtomicQueueB, 1,s: 430,584,457 msg/sec OptimistAtomicQueueB, 1,i: 77,775,437 msg/sec OptimistAtomicQueueB, 2,s: 32,001,725 msg/sec OptimistAtomicQueueB, 2,i: 31,615,865 msg/sec OptimistAtomicQueueB, 3,s: 36,247,889 msg/sec OptimistAtomicQueueB, 3,i: 36,861,788 msg/sec OptimistAtomicQueueB, 4,s: 38,643,949 msg/sec OptimistAtomicQueueB, 4,i: 38,588,090 msg/sec OptimistAtomicQueueB, 5,s: 40,996,377 msg/sec OptimistAtomicQueueB, 5,i: 45,080,408 msg/sec OptimistAtomicQueueB, 6,s: 41,073,937 msg/sec OptimistAtomicQueueB, 6,i: 49,061,965 msg/sec OptimistAtomicQueueB, 7,s: 42,119,984 msg/sec OptimistAtomicQueueB, 7,i: 48,007,970 msg/sec OptimistAtomicQueueB, 8,s: 44,240,480 msg/sec OptimistAtomicQueueB, 8,i: 47,517,370 msg/sec AtomicQueue2, 1,s: 22,911,188 msg/sec AtomicQueue2, 1,i: 22,934,294 msg/sec AtomicQueue2, 2,s: 11,921,458 msg/sec AtomicQueue2, 2,i: 11,533,052 msg/sec AtomicQueue2, 3,s: 9,474,788 msg/sec AtomicQueue2, 3,i: 9,540,564 msg/sec AtomicQueue2, 4,s: 8,132,446 msg/sec AtomicQueue2, 4,i: 8,025,284 msg/sec AtomicQueue2, 5,s: 7,907,511 msg/sec AtomicQueue2, 5,i: 8,075,827 msg/sec AtomicQueue2, 6,s: 7,735,069 msg/sec AtomicQueue2, 6,i: 7,507,141 msg/sec AtomicQueue2, 7,s: 7,097,301 msg/sec AtomicQueue2, 7,i: 7,864,696 msg/sec AtomicQueue2, 8,s: 6,395,753 msg/sec AtomicQueue2, 8,i: 7,240,131 msg/sec AtomicQueueB2, 1,s: 36,041,101 msg/sec AtomicQueueB2, 1,i: 32,636,568 msg/sec AtomicQueueB2, 2,s: 11,426,109 msg/sec AtomicQueueB2, 2,i: 11,080,263 msg/sec AtomicQueueB2, 3,s: 9,684,390 msg/sec AtomicQueueB2, 3,i: 9,645,856 msg/sec AtomicQueueB2, 4,s: 7,931,127 msg/sec AtomicQueueB2, 4,i: 7,852,155 msg/sec AtomicQueueB2, 5,s: 7,445,306 msg/sec AtomicQueueB2, 5,i: 7,728,645 msg/sec AtomicQueueB2, 6,s: 7,249,781 msg/sec AtomicQueueB2, 6,i: 7,498,374 msg/sec AtomicQueueB2, 7,s: 6,943,005 msg/sec AtomicQueueB2, 7,i: 7,709,817 msg/sec AtomicQueueB2, 8,s: 6,290,813 msg/sec AtomicQueueB2, 8,i: 6,956,692 msg/sec OptimistAtomicQueue2, 1,s: 543,031,882 msg/sec OptimistAtomicQueue2, 1,i: 363,099,570 msg/sec OptimistAtomicQueue2, 2,s: 26,040,251 msg/sec OptimistAtomicQueue2, 2,i: 24,021,248 msg/sec OptimistAtomicQueue2, 3,s: 30,337,256 msg/sec OptimistAtomicQueue2, 3,i: 29,939,983 msg/sec OptimistAtomicQueue2, 4,s: 33,345,164 msg/sec OptimistAtomicQueue2, 4,i: 33,419,702 msg/sec OptimistAtomicQueue2, 5,s: 37,436,011 msg/sec OptimistAtomicQueue2, 5,i: 40,053,658 msg/sec OptimistAtomicQueue2, 6,s: 40,095,751 msg/sec OptimistAtomicQueue2, 6,i: 49,122,499 msg/sec OptimistAtomicQueue2, 7,s: 43,000,200 msg/sec OptimistAtomicQueue2, 7,i: 48,082,384 msg/sec OptimistAtomicQueue2, 8,s: 43,933,590 msg/sec OptimistAtomicQueue2, 8,i: 48,325,990 msg/sec OptimistAtomicQueueB2, 1,s: 78,676,703 msg/sec OptimistAtomicQueueB2, 1,i: 33,938,556 msg/sec OptimistAtomicQueueB2, 2,s: 27,906,233 msg/sec OptimistAtomicQueueB2, 2,i: 25,597,880 msg/sec OptimistAtomicQueueB2, 3,s: 29,694,862 msg/sec OptimistAtomicQueueB2, 3,i: 29,115,009 msg/sec OptimistAtomicQueueB2, 4,s: 33,409,013 msg/sec OptimistAtomicQueueB2, 4,i: 33,056,026 msg/sec OptimistAtomicQueueB2, 5,s: 34,324,769 msg/sec OptimistAtomicQueueB2, 5,i: 39,989,475 msg/sec OptimistAtomicQueueB2, 6,s: 37,486,149 msg/sec OptimistAtomicQueueB2, 6,i: 42,496,057 msg/sec OptimistAtomicQueueB2, 7,s: 40,209,279 msg/sec OptimistAtomicQueueB2, 7,i: 43,177,596 msg/sec OptimistAtomicQueueB2, 8,s: 42,242,679 msg/sec OptimistAtomicQueueB2, 8,i: 45,784,817 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000148 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000265 sec/round-trip std::mutex: 0.000000513 sec/round-trip tbb::spin_mutex: 0.000000278 sec/round-trip tbb::concurrent_bounded_queue: 0.000000271 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000226 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [56] 407m:29s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,248,823 msg/sec boost::lockfree::spsc_queue, 1,i: 68,244,688 msg/sec boost::lockfree::queue, 1,s: 6,842,111 msg/sec boost::lockfree::queue, 1,i: 6,942,547 msg/sec boost::lockfree::queue, 2,s: 7,606,888 msg/sec boost::lockfree::queue, 2,i: 7,600,037 msg/sec boost::lockfree::queue, 3,s: 7,375,132 msg/sec boost::lockfree::queue, 3,i: 7,587,785 msg/sec boost::lockfree::queue, 4,s: 6,404,725 msg/sec boost::lockfree::queue, 4,i: 6,752,398 msg/sec boost::lockfree::queue, 5,s: 6,459,594 msg/sec boost::lockfree::queue, 5,i: 6,482,922 msg/sec boost::lockfree::queue, 6,s: 6,038,789 msg/sec boost::lockfree::queue, 6,i: 6,105,416 msg/sec boost::lockfree::queue, 7,s: 5,935,071 msg/sec boost::lockfree::queue, 7,i: 6,124,797 msg/sec boost::lockfree::queue, 8,s: 5,516,231 msg/sec boost::lockfree::queue, 8,i: 5,537,679 msg/sec moodycamel::ReaderWriterQueue, 1,s: 65,320,043 msg/sec moodycamel::ReaderWriterQueue, 1,i: 63,702,255 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,236,638 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,818,579 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,758,562 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,562,654 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,957,633 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,435,798 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,740,356 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,228,949 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,427,392 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,946,629 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,454,468 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,160,138 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,921,370 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,263,955 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,212,025 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,729,604 msg/sec pthread_spinlock, 1,s: 28,806,307 msg/sec pthread_spinlock, 1,i: 25,371,633 msg/sec pthread_spinlock, 2,s: 15,475,872 msg/sec pthread_spinlock, 2,i: 17,192,929 msg/sec pthread_spinlock, 3,s: 8,318,358 msg/sec pthread_spinlock, 3,i: 12,081,536 msg/sec pthread_spinlock, 4,s: 6,475,275 msg/sec pthread_spinlock, 4,i: 8,876,655 msg/sec pthread_spinlock, 5,s: 8,603,041 msg/sec pthread_spinlock, 5,i: 9,099,642 msg/sec pthread_spinlock, 6,s: 8,326,231 msg/sec pthread_spinlock, 6,i: 8,947,207 msg/sec pthread_spinlock, 7,s: 7,726,426 msg/sec pthread_spinlock, 7,i: 7,645,697 msg/sec pthread_spinlock, 8,s: 6,576,974 msg/sec pthread_spinlock, 8,i: 7,475,504 msg/sec std::mutex, 1,s: 6,210,344 msg/sec std::mutex, 1,i: 7,151,062 msg/sec std::mutex, 2,s: 6,028,481 msg/sec std::mutex, 2,i: 5,812,221 msg/sec std::mutex, 3,s: 5,592,425 msg/sec std::mutex, 3,i: 5,173,233 msg/sec std::mutex, 4,s: 6,199,221 msg/sec std::mutex, 4,i: 6,398,239 msg/sec std::mutex, 5,s: 6,074,470 msg/sec std::mutex, 5,i: 6,099,306 msg/sec std::mutex, 6,s: 5,924,098 msg/sec std::mutex, 6,i: 5,879,793 msg/sec std::mutex, 7,s: 5,790,613 msg/sec std::mutex, 7,i: 5,759,500 msg/sec std::mutex, 8,s: 5,642,281 msg/sec std::mutex, 8,i: 5,657,878 msg/sec tbb::spin_mutex, 1,s: 37,998,300 msg/sec tbb::spin_mutex, 1,i: 37,906,129 msg/sec tbb::spin_mutex, 2,s: 21,302,648 msg/sec tbb::spin_mutex, 2,i: 18,441,951 msg/sec tbb::spin_mutex, 3,s: 7,558,271 msg/sec tbb::spin_mutex, 3,i: 10,209,716 msg/sec tbb::spin_mutex, 4,s: 3,250,406 msg/sec tbb::spin_mutex, 4,i: 6,360,928 msg/sec tbb::spin_mutex, 5,s: 5,292,895 msg/sec tbb::spin_mutex, 5,i: 5,797,319 msg/sec tbb::spin_mutex, 6,s: 5,293,007 msg/sec tbb::spin_mutex, 6,i: 4,367,209 msg/sec tbb::spin_mutex, 7,s: 4,846,022 msg/sec tbb::spin_mutex, 7,i: 4,325,723 msg/sec tbb::spin_mutex, 8,s: 4,248,152 msg/sec tbb::spin_mutex, 8,i: 4,061,815 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,308,713 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,277,033 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,888,696 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,922,466 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,259,903 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,761,195 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,145,657 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,540,686 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,523,634 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,550,106 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,743,673 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,665,487 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,853,140 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,729,019 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,057,678 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,075,842 msg/sec xenium::michael_scott_queue, 1,s: 9,328,508 msg/sec xenium::michael_scott_queue, 1,i: 9,308,033 msg/sec xenium::michael_scott_queue, 2,s: 8,578,335 msg/sec xenium::michael_scott_queue, 2,i: 8,504,766 msg/sec xenium::michael_scott_queue, 3,s: 7,156,689 msg/sec xenium::michael_scott_queue, 3,i: 7,530,691 msg/sec xenium::michael_scott_queue, 4,s: 6,298,466 msg/sec xenium::michael_scott_queue, 4,i: 6,329,778 msg/sec xenium::michael_scott_queue, 5,s: 6,288,727 msg/sec xenium::michael_scott_queue, 5,i: 6,783,652 msg/sec xenium::michael_scott_queue, 6,s: 6,492,083 msg/sec xenium::michael_scott_queue, 6,i: 6,697,354 msg/sec xenium::michael_scott_queue, 7,s: 6,343,095 msg/sec xenium::michael_scott_queue, 7,i: 6,629,252 msg/sec xenium::michael_scott_queue, 8,s: 6,013,147 msg/sec xenium::michael_scott_queue, 8,i: 6,218,389 msg/sec xenium::ramalhete_queue, 1,s: 32,605,355 msg/sec xenium::ramalhete_queue, 1,i: 31,217,580 msg/sec xenium::ramalhete_queue, 2,s: 23,555,498 msg/sec xenium::ramalhete_queue, 2,i: 23,366,089 msg/sec xenium::ramalhete_queue, 3,s: 29,156,875 msg/sec xenium::ramalhete_queue, 3,i: 28,528,261 msg/sec xenium::ramalhete_queue, 4,s: 33,843,993 msg/sec xenium::ramalhete_queue, 4,i: 33,553,714 msg/sec xenium::ramalhete_queue, 5,s: 32,071,949 msg/sec xenium::ramalhete_queue, 5,i: 36,147,646 msg/sec xenium::ramalhete_queue, 6,s: 34,113,885 msg/sec xenium::ramalhete_queue, 6,i: 39,034,539 msg/sec xenium::ramalhete_queue, 7,s: 35,208,327 msg/sec xenium::ramalhete_queue, 7,i: 41,697,317 msg/sec xenium::ramalhete_queue, 8,s: 35,511,201 msg/sec xenium::ramalhete_queue, 8,i: 44,400,228 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,509,990 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,661,990 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,791,949 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,107,773 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,891,007 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,467,505 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,510,925 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,253,740 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,938,552 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,383,841 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,042,343 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,194,942 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,128,734 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,936,634 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,435,626 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,201,544 msg/sec AtomicQueue, 1,s: 57,163,893 msg/sec AtomicQueue, 1,i: 56,591,046 msg/sec AtomicQueue, 2,s: 12,181,250 msg/sec AtomicQueue, 2,i: 11,719,929 msg/sec AtomicQueue, 3,s: 10,715,276 msg/sec AtomicQueue, 3,i: 9,958,167 msg/sec AtomicQueue, 4,s: 8,169,355 msg/sec AtomicQueue, 4,i: 8,246,089 msg/sec AtomicQueue, 5,s: 8,028,395 msg/sec AtomicQueue, 5,i: 8,105,318 msg/sec AtomicQueue, 6,s: 7,828,178 msg/sec AtomicQueue, 6,i: 7,569,542 msg/sec AtomicQueue, 7,s: 7,178,521 msg/sec AtomicQueue, 7,i: 7,984,056 msg/sec AtomicQueue, 8,s: 6,367,383 msg/sec AtomicQueue, 8,i: 7,434,994 msg/sec AtomicQueueB, 1,s: 53,382,285 msg/sec AtomicQueueB, 1,i: 43,074,010 msg/sec AtomicQueueB, 2,s: 11,905,734 msg/sec AtomicQueueB, 2,i: 11,498,910 msg/sec AtomicQueueB, 3,s: 11,069,970 msg/sec AtomicQueueB, 3,i: 10,315,802 msg/sec AtomicQueueB, 4,s: 8,077,968 msg/sec AtomicQueueB, 4,i: 8,099,929 msg/sec AtomicQueueB, 5,s: 7,524,763 msg/sec AtomicQueueB, 5,i: 7,801,191 msg/sec AtomicQueueB, 6,s: 7,351,424 msg/sec AtomicQueueB, 6,i: 7,515,007 msg/sec AtomicQueueB, 7,s: 6,873,398 msg/sec AtomicQueueB, 7,i: 7,722,522 msg/sec AtomicQueueB, 8,s: 6,244,877 msg/sec AtomicQueueB, 8,i: 7,110,319 msg/sec OptimistAtomicQueue, 1,s: 649,305,956 msg/sec OptimistAtomicQueue, 1,i: 527,897,328 msg/sec OptimistAtomicQueue, 2,s: 32,610,203 msg/sec OptimistAtomicQueue, 2,i: 32,553,190 msg/sec OptimistAtomicQueue, 3,s: 36,611,001 msg/sec OptimistAtomicQueue, 3,i: 37,407,809 msg/sec OptimistAtomicQueue, 4,s: 39,285,374 msg/sec OptimistAtomicQueue, 4,i: 39,318,163 msg/sec OptimistAtomicQueue, 5,s: 41,632,060 msg/sec OptimistAtomicQueue, 5,i: 46,420,891 msg/sec OptimistAtomicQueue, 6,s: 42,666,752 msg/sec OptimistAtomicQueue, 6,i: 49,845,346 msg/sec OptimistAtomicQueue, 7,s: 44,066,839 msg/sec OptimistAtomicQueue, 7,i: 49,221,497 msg/sec OptimistAtomicQueue, 8,s: 46,465,696 msg/sec OptimistAtomicQueue, 8,i: 49,263,284 msg/sec OptimistAtomicQueueB, 1,s: 77,850,296 msg/sec OptimistAtomicQueueB, 1,i: 76,610,636 msg/sec OptimistAtomicQueueB, 2,s: 32,112,459 msg/sec OptimistAtomicQueueB, 2,i: 31,716,034 msg/sec OptimistAtomicQueueB, 3,s: 36,190,135 msg/sec OptimistAtomicQueueB, 3,i: 36,747,567 msg/sec OptimistAtomicQueueB, 4,s: 38,763,842 msg/sec OptimistAtomicQueueB, 4,i: 38,702,461 msg/sec OptimistAtomicQueueB, 5,s: 40,575,789 msg/sec OptimistAtomicQueueB, 5,i: 45,370,247 msg/sec OptimistAtomicQueueB, 6,s: 41,052,273 msg/sec OptimistAtomicQueueB, 6,i: 49,216,021 msg/sec OptimistAtomicQueueB, 7,s: 42,314,525 msg/sec OptimistAtomicQueueB, 7,i: 51,462,737 msg/sec OptimistAtomicQueueB, 8,s: 44,619,096 msg/sec OptimistAtomicQueueB, 8,i: 47,948,562 msg/sec AtomicQueue2, 1,s: 22,881,580 msg/sec AtomicQueue2, 1,i: 22,840,682 msg/sec AtomicQueue2, 2,s: 11,813,870 msg/sec AtomicQueue2, 2,i: 11,870,941 msg/sec AtomicQueue2, 3,s: 9,281,755 msg/sec AtomicQueue2, 3,i: 9,454,485 msg/sec AtomicQueue2, 4,s: 8,011,355 msg/sec AtomicQueue2, 4,i: 8,035,478 msg/sec AtomicQueue2, 5,s: 7,854,589 msg/sec AtomicQueue2, 5,i: 8,006,387 msg/sec AtomicQueue2, 6,s: 7,777,932 msg/sec AtomicQueue2, 6,i: 7,543,277 msg/sec AtomicQueue2, 7,s: 7,083,593 msg/sec AtomicQueue2, 7,i: 7,880,416 msg/sec AtomicQueue2, 8,s: 6,411,230 msg/sec AtomicQueue2, 8,i: 7,190,259 msg/sec AtomicQueueB2, 1,s: 32,706,531 msg/sec AtomicQueueB2, 1,i: 32,646,041 msg/sec AtomicQueueB2, 2,s: 11,377,261 msg/sec AtomicQueueB2, 2,i: 11,136,444 msg/sec AtomicQueueB2, 3,s: 9,544,692 msg/sec AtomicQueueB2, 3,i: 9,498,977 msg/sec AtomicQueueB2, 4,s: 7,843,319 msg/sec AtomicQueueB2, 4,i: 7,878,454 msg/sec AtomicQueueB2, 5,s: 7,561,837 msg/sec AtomicQueueB2, 5,i: 7,626,402 msg/sec AtomicQueueB2, 6,s: 7,256,209 msg/sec AtomicQueueB2, 6,i: 7,486,019 msg/sec AtomicQueueB2, 7,s: 6,814,797 msg/sec AtomicQueueB2, 7,i: 7,730,666 msg/sec AtomicQueueB2, 8,s: 6,287,661 msg/sec AtomicQueueB2, 8,i: 7,112,429 msg/sec OptimistAtomicQueue2, 1,s: 508,145,186 msg/sec OptimistAtomicQueue2, 1,i: 32,177,437 msg/sec OptimistAtomicQueue2, 2,s: 24,898,529 msg/sec OptimistAtomicQueue2, 2,i: 24,026,597 msg/sec OptimistAtomicQueue2, 3,s: 30,313,938 msg/sec OptimistAtomicQueue2, 3,i: 29,999,368 msg/sec OptimistAtomicQueue2, 4,s: 33,216,227 msg/sec OptimistAtomicQueue2, 4,i: 33,346,236 msg/sec OptimistAtomicQueue2, 5,s: 37,166,319 msg/sec OptimistAtomicQueue2, 5,i: 40,584,157 msg/sec OptimistAtomicQueue2, 6,s: 40,069,158 msg/sec OptimistAtomicQueue2, 6,i: 49,193,969 msg/sec OptimistAtomicQueue2, 7,s: 42,714,841 msg/sec OptimistAtomicQueue2, 7,i: 48,042,769 msg/sec OptimistAtomicQueue2, 8,s: 44,483,335 msg/sec OptimistAtomicQueue2, 8,i: 48,413,052 msg/sec OptimistAtomicQueueB2, 1,s: 78,754,306 msg/sec OptimistAtomicQueueB2, 1,i: 33,860,764 msg/sec OptimistAtomicQueueB2, 2,s: 23,706,201 msg/sec OptimistAtomicQueueB2, 2,i: 23,140,985 msg/sec OptimistAtomicQueueB2, 3,s: 29,713,924 msg/sec OptimistAtomicQueueB2, 3,i: 29,094,719 msg/sec OptimistAtomicQueueB2, 4,s: 33,477,982 msg/sec OptimistAtomicQueueB2, 4,i: 32,841,291 msg/sec OptimistAtomicQueueB2, 5,s: 34,599,911 msg/sec OptimistAtomicQueueB2, 5,i: 39,035,229 msg/sec OptimistAtomicQueueB2, 6,s: 37,531,201 msg/sec OptimistAtomicQueueB2, 6,i: 42,376,807 msg/sec OptimistAtomicQueueB2, 7,s: 40,746,704 msg/sec OptimistAtomicQueueB2, 7,i: 43,195,256 msg/sec OptimistAtomicQueueB2, 8,s: 42,065,705 msg/sec OptimistAtomicQueueB2, 8,i: 46,025,271 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000516 sec/round-trip tbb::spin_mutex: 0.000000307 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [57] 406m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,138,160 msg/sec boost::lockfree::spsc_queue, 1,i: 70,185,565 msg/sec boost::lockfree::queue, 1,s: 6,844,774 msg/sec boost::lockfree::queue, 1,i: 6,871,279 msg/sec boost::lockfree::queue, 2,s: 7,638,307 msg/sec boost::lockfree::queue, 2,i: 7,509,965 msg/sec boost::lockfree::queue, 3,s: 7,351,408 msg/sec boost::lockfree::queue, 3,i: 7,597,702 msg/sec boost::lockfree::queue, 4,s: 6,419,443 msg/sec boost::lockfree::queue, 4,i: 6,834,398 msg/sec boost::lockfree::queue, 5,s: 6,434,763 msg/sec boost::lockfree::queue, 5,i: 6,471,647 msg/sec boost::lockfree::queue, 6,s: 6,000,562 msg/sec boost::lockfree::queue, 6,i: 6,098,705 msg/sec boost::lockfree::queue, 7,s: 5,977,872 msg/sec boost::lockfree::queue, 7,i: 5,983,728 msg/sec boost::lockfree::queue, 8,s: 5,508,899 msg/sec boost::lockfree::queue, 8,i: 5,592,093 msg/sec moodycamel::ReaderWriterQueue, 1,s: 49,879,086 msg/sec moodycamel::ReaderWriterQueue, 1,i: 51,908,110 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,003,728 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,550,327 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,618,104 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,468,473 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,760,013 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,241,337 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,909,830 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,424,271 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,427,975 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,054,176 msg/sec moodycamel::ConcurrentQueue, 6,s: 30,794,435 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,076,134 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,053,576 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,968,029 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,170,931 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,427,614 msg/sec pthread_spinlock, 1,s: 28,846,167 msg/sec pthread_spinlock, 1,i: 25,287,458 msg/sec pthread_spinlock, 2,s: 15,785,231 msg/sec pthread_spinlock, 2,i: 17,054,078 msg/sec pthread_spinlock, 3,s: 8,346,277 msg/sec pthread_spinlock, 3,i: 12,119,850 msg/sec pthread_spinlock, 4,s: 6,466,386 msg/sec pthread_spinlock, 4,i: 8,978,200 msg/sec pthread_spinlock, 5,s: 8,660,428 msg/sec pthread_spinlock, 5,i: 9,477,168 msg/sec pthread_spinlock, 6,s: 8,341,048 msg/sec pthread_spinlock, 6,i: 8,465,389 msg/sec pthread_spinlock, 7,s: 7,527,456 msg/sec pthread_spinlock, 7,i: 8,481,983 msg/sec pthread_spinlock, 8,s: 6,837,272 msg/sec pthread_spinlock, 8,i: 7,428,885 msg/sec std::mutex, 1,s: 6,572,609 msg/sec std::mutex, 1,i: 6,628,266 msg/sec std::mutex, 2,s: 5,070,224 msg/sec std::mutex, 2,i: 5,384,163 msg/sec std::mutex, 3,s: 5,550,806 msg/sec std::mutex, 3,i: 5,983,186 msg/sec std::mutex, 4,s: 6,208,929 msg/sec std::mutex, 4,i: 6,015,663 msg/sec std::mutex, 5,s: 6,048,716 msg/sec std::mutex, 5,i: 6,135,925 msg/sec std::mutex, 6,s: 5,643,370 msg/sec std::mutex, 6,i: 5,878,611 msg/sec std::mutex, 7,s: 5,888,346 msg/sec std::mutex, 7,i: 5,831,211 msg/sec std::mutex, 8,s: 5,761,144 msg/sec std::mutex, 8,i: 5,698,791 msg/sec tbb::spin_mutex, 1,s: 37,831,131 msg/sec tbb::spin_mutex, 1,i: 37,724,471 msg/sec tbb::spin_mutex, 2,s: 21,122,009 msg/sec tbb::spin_mutex, 2,i: 18,494,398 msg/sec tbb::spin_mutex, 3,s: 7,929,264 msg/sec tbb::spin_mutex, 3,i: 10,163,430 msg/sec tbb::spin_mutex, 4,s: 3,032,864 msg/sec tbb::spin_mutex, 4,i: 6,299,458 msg/sec tbb::spin_mutex, 5,s: 5,469,603 msg/sec tbb::spin_mutex, 5,i: 5,653,368 msg/sec tbb::spin_mutex, 6,s: 5,319,447 msg/sec tbb::spin_mutex, 6,i: 4,402,457 msg/sec tbb::spin_mutex, 7,s: 4,875,355 msg/sec tbb::spin_mutex, 7,i: 4,367,259 msg/sec tbb::spin_mutex, 8,s: 4,240,183 msg/sec tbb::spin_mutex, 8,i: 4,176,450 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,124,992 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,088,358 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,834,119 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,984,670 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,285,308 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,326,345 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,069,148 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,229,790 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,646,787 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,369,237 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,626,868 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,755,778 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,655,126 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,073,661 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,743,044 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,915,423 msg/sec xenium::michael_scott_queue, 1,s: 10,105,646 msg/sec xenium::michael_scott_queue, 1,i: 9,695,202 msg/sec xenium::michael_scott_queue, 2,s: 8,603,333 msg/sec xenium::michael_scott_queue, 2,i: 8,635,656 msg/sec xenium::michael_scott_queue, 3,s: 7,202,284 msg/sec xenium::michael_scott_queue, 3,i: 7,563,755 msg/sec xenium::michael_scott_queue, 4,s: 6,272,635 msg/sec xenium::michael_scott_queue, 4,i: 6,338,032 msg/sec xenium::michael_scott_queue, 5,s: 6,311,404 msg/sec xenium::michael_scott_queue, 5,i: 6,753,870 msg/sec xenium::michael_scott_queue, 6,s: 6,551,621 msg/sec xenium::michael_scott_queue, 6,i: 6,672,523 msg/sec xenium::michael_scott_queue, 7,s: 6,276,748 msg/sec xenium::michael_scott_queue, 7,i: 6,594,785 msg/sec xenium::michael_scott_queue, 8,s: 6,012,526 msg/sec xenium::michael_scott_queue, 8,i: 6,046,255 msg/sec xenium::ramalhete_queue, 1,s: 32,744,049 msg/sec xenium::ramalhete_queue, 1,i: 32,147,974 msg/sec xenium::ramalhete_queue, 2,s: 23,472,947 msg/sec xenium::ramalhete_queue, 2,i: 23,289,292 msg/sec xenium::ramalhete_queue, 3,s: 29,243,299 msg/sec xenium::ramalhete_queue, 3,i: 28,511,596 msg/sec xenium::ramalhete_queue, 4,s: 33,744,981 msg/sec xenium::ramalhete_queue, 4,i: 33,489,705 msg/sec xenium::ramalhete_queue, 5,s: 32,093,387 msg/sec xenium::ramalhete_queue, 5,i: 36,025,561 msg/sec xenium::ramalhete_queue, 6,s: 33,936,366 msg/sec xenium::ramalhete_queue, 6,i: 39,193,578 msg/sec xenium::ramalhete_queue, 7,s: 35,178,112 msg/sec xenium::ramalhete_queue, 7,i: 41,151,064 msg/sec xenium::ramalhete_queue, 8,s: 35,584,176 msg/sec xenium::ramalhete_queue, 8,i: 44,385,582 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,991,714 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,929,784 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,519,115 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,581,616 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,370,421 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,497,139 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,529,149 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,310,688 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,918,092 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,312,334 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,161,155 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,523,438 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,239,130 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,031,728 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,411,930 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,324,695 msg/sec AtomicQueue, 1,s: 266,231,289 msg/sec AtomicQueue, 1,i: 272,847,387 msg/sec AtomicQueue, 2,s: 12,359,123 msg/sec AtomicQueue, 2,i: 11,752,835 msg/sec AtomicQueue, 3,s: 10,737,251 msg/sec AtomicQueue, 3,i: 10,043,292 msg/sec AtomicQueue, 4,s: 8,172,607 msg/sec AtomicQueue, 4,i: 8,185,477 msg/sec AtomicQueue, 5,s: 8,032,063 msg/sec AtomicQueue, 5,i: 8,113,131 msg/sec AtomicQueue, 6,s: 7,585,133 msg/sec AtomicQueue, 6,i: 7,608,047 msg/sec AtomicQueue, 7,s: 7,108,628 msg/sec AtomicQueue, 7,i: 7,986,009 msg/sec AtomicQueue, 8,s: 6,304,764 msg/sec AtomicQueue, 8,i: 7,352,594 msg/sec AtomicQueueB, 1,s: 43,515,794 msg/sec AtomicQueueB, 1,i: 43,070,075 msg/sec AtomicQueueB, 2,s: 11,930,324 msg/sec AtomicQueueB, 2,i: 11,461,072 msg/sec AtomicQueueB, 3,s: 10,966,613 msg/sec AtomicQueueB, 3,i: 10,266,629 msg/sec AtomicQueueB, 4,s: 8,077,993 msg/sec AtomicQueueB, 4,i: 8,084,036 msg/sec AtomicQueueB, 5,s: 7,718,515 msg/sec AtomicQueueB, 5,i: 7,762,026 msg/sec AtomicQueueB, 6,s: 7,356,272 msg/sec AtomicQueueB, 6,i: 7,500,830 msg/sec AtomicQueueB, 7,s: 6,844,676 msg/sec AtomicQueueB, 7,i: 7,735,045 msg/sec AtomicQueueB, 8,s: 6,238,979 msg/sec AtomicQueueB, 8,i: 6,978,535 msg/sec OptimistAtomicQueue, 1,s: 700,772,812 msg/sec OptimistAtomicQueue, 1,i: 518,187,137 msg/sec OptimistAtomicQueue, 2,s: 32,610,515 msg/sec OptimistAtomicQueue, 2,i: 32,423,714 msg/sec OptimistAtomicQueue, 3,s: 36,639,353 msg/sec OptimistAtomicQueue, 3,i: 37,330,197 msg/sec OptimistAtomicQueue, 4,s: 39,305,367 msg/sec OptimistAtomicQueue, 4,i: 39,412,622 msg/sec OptimistAtomicQueue, 5,s: 42,402,003 msg/sec OptimistAtomicQueue, 5,i: 46,476,398 msg/sec OptimistAtomicQueue, 6,s: 42,664,056 msg/sec OptimistAtomicQueue, 6,i: 50,427,478 msg/sec OptimistAtomicQueue, 7,s: 43,988,501 msg/sec OptimistAtomicQueue, 7,i: 49,283,797 msg/sec OptimistAtomicQueue, 8,s: 46,474,567 msg/sec OptimistAtomicQueue, 8,i: 48,982,775 msg/sec OptimistAtomicQueueB, 1,s: 202,360,597 msg/sec OptimistAtomicQueueB, 1,i: 77,728,288 msg/sec OptimistAtomicQueueB, 2,s: 32,232,806 msg/sec OptimistAtomicQueueB, 2,i: 32,297,996 msg/sec OptimistAtomicQueueB, 3,s: 36,299,962 msg/sec OptimistAtomicQueueB, 3,i: 36,963,541 msg/sec OptimistAtomicQueueB, 4,s: 38,654,996 msg/sec OptimistAtomicQueueB, 4,i: 38,502,069 msg/sec OptimistAtomicQueueB, 5,s: 40,842,622 msg/sec OptimistAtomicQueueB, 5,i: 46,287,373 msg/sec OptimistAtomicQueueB, 6,s: 41,249,241 msg/sec OptimistAtomicQueueB, 6,i: 48,652,937 msg/sec OptimistAtomicQueueB, 7,s: 42,031,295 msg/sec OptimistAtomicQueueB, 7,i: 51,220,540 msg/sec OptimistAtomicQueueB, 8,s: 44,332,392 msg/sec OptimistAtomicQueueB, 8,i: 48,453,952 msg/sec AtomicQueue2, 1,s: 22,930,446 msg/sec AtomicQueue2, 1,i: 22,865,670 msg/sec AtomicQueue2, 2,s: 11,791,929 msg/sec AtomicQueue2, 2,i: 11,477,314 msg/sec AtomicQueue2, 3,s: 9,395,936 msg/sec AtomicQueue2, 3,i: 9,496,585 msg/sec AtomicQueue2, 4,s: 8,005,819 msg/sec AtomicQueue2, 4,i: 8,005,267 msg/sec AtomicQueue2, 5,s: 7,941,039 msg/sec AtomicQueue2, 5,i: 8,020,005 msg/sec AtomicQueue2, 6,s: 7,829,972 msg/sec AtomicQueue2, 6,i: 7,497,478 msg/sec AtomicQueue2, 7,s: 7,109,313 msg/sec AtomicQueue2, 7,i: 7,865,779 msg/sec AtomicQueue2, 8,s: 6,414,194 msg/sec AtomicQueue2, 8,i: 7,329,028 msg/sec AtomicQueueB2, 1,s: 35,833,695 msg/sec AtomicQueueB2, 1,i: 32,607,793 msg/sec AtomicQueueB2, 2,s: 11,466,747 msg/sec AtomicQueueB2, 2,i: 11,110,283 msg/sec AtomicQueueB2, 3,s: 9,611,097 msg/sec AtomicQueueB2, 3,i: 9,548,226 msg/sec AtomicQueueB2, 4,s: 7,995,281 msg/sec AtomicQueueB2, 4,i: 7,765,044 msg/sec AtomicQueueB2, 5,s: 7,455,801 msg/sec AtomicQueueB2, 5,i: 7,738,969 msg/sec AtomicQueueB2, 6,s: 7,057,975 msg/sec AtomicQueueB2, 6,i: 7,427,741 msg/sec AtomicQueueB2, 7,s: 6,952,554 msg/sec AtomicQueueB2, 7,i: 7,689,107 msg/sec AtomicQueueB2, 8,s: 6,257,966 msg/sec AtomicQueueB2, 8,i: 7,051,079 msg/sec OptimistAtomicQueue2, 1,s: 374,651,316 msg/sec OptimistAtomicQueue2, 1,i: 34,427,104 msg/sec OptimistAtomicQueue2, 2,s: 25,822,037 msg/sec OptimistAtomicQueue2, 2,i: 25,620,118 msg/sec OptimistAtomicQueue2, 3,s: 30,327,319 msg/sec OptimistAtomicQueue2, 3,i: 30,045,998 msg/sec OptimistAtomicQueue2, 4,s: 33,163,245 msg/sec OptimistAtomicQueue2, 4,i: 33,108,644 msg/sec OptimistAtomicQueue2, 5,s: 37,247,713 msg/sec OptimistAtomicQueue2, 5,i: 43,200,235 msg/sec OptimistAtomicQueue2, 6,s: 40,223,705 msg/sec OptimistAtomicQueue2, 6,i: 49,168,555 msg/sec OptimistAtomicQueue2, 7,s: 42,686,550 msg/sec OptimistAtomicQueue2, 7,i: 47,854,946 msg/sec OptimistAtomicQueue2, 8,s: 43,827,369 msg/sec OptimistAtomicQueue2, 8,i: 48,700,877 msg/sec OptimistAtomicQueueB2, 1,s: 76,043,710 msg/sec OptimistAtomicQueueB2, 1,i: 33,870,013 msg/sec OptimistAtomicQueueB2, 2,s: 29,113,417 msg/sec OptimistAtomicQueueB2, 2,i: 23,190,487 msg/sec OptimistAtomicQueueB2, 3,s: 30,226,639 msg/sec OptimistAtomicQueueB2, 3,i: 29,111,263 msg/sec OptimistAtomicQueueB2, 4,s: 33,009,101 msg/sec OptimistAtomicQueueB2, 4,i: 32,274,552 msg/sec OptimistAtomicQueueB2, 5,s: 34,548,348 msg/sec OptimistAtomicQueueB2, 5,i: 39,014,115 msg/sec OptimistAtomicQueueB2, 6,s: 37,196,745 msg/sec OptimistAtomicQueueB2, 6,i: 42,392,639 msg/sec OptimistAtomicQueueB2, 7,s: 40,696,808 msg/sec OptimistAtomicQueueB2, 7,i: 43,324,344 msg/sec OptimistAtomicQueueB2, 8,s: 42,762,892 msg/sec OptimistAtomicQueueB2, 8,i: 45,662,236 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000154 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000451 sec/round-trip tbb::spin_mutex: 0.000000270 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [58] 404m:50s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,029,359 msg/sec boost::lockfree::spsc_queue, 1,i: 68,243,658 msg/sec boost::lockfree::queue, 1,s: 6,848,067 msg/sec boost::lockfree::queue, 1,i: 6,928,277 msg/sec boost::lockfree::queue, 2,s: 7,590,349 msg/sec boost::lockfree::queue, 2,i: 7,520,916 msg/sec boost::lockfree::queue, 3,s: 7,405,904 msg/sec boost::lockfree::queue, 3,i: 7,528,660 msg/sec boost::lockfree::queue, 4,s: 6,424,374 msg/sec boost::lockfree::queue, 4,i: 6,792,102 msg/sec boost::lockfree::queue, 5,s: 6,422,285 msg/sec boost::lockfree::queue, 5,i: 6,440,452 msg/sec boost::lockfree::queue, 6,s: 5,976,721 msg/sec boost::lockfree::queue, 6,i: 6,101,630 msg/sec boost::lockfree::queue, 7,s: 5,925,839 msg/sec boost::lockfree::queue, 7,i: 6,016,546 msg/sec boost::lockfree::queue, 8,s: 5,522,748 msg/sec boost::lockfree::queue, 8,i: 5,596,404 msg/sec moodycamel::ReaderWriterQueue, 1,s: 457,482,178 msg/sec moodycamel::ReaderWriterQueue, 1,i: 454,361,334 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,062,512 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,566,978 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,359,560 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,920,361 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,352,910 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,537,593 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,283,153 msg/sec moodycamel::ConcurrentQueue, 4,i: 44,416,534 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,619,844 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,498,467 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,494,897 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,314,079 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,010,333 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,734,235 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,313,323 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,828,128 msg/sec pthread_spinlock, 1,s: 29,207,512 msg/sec pthread_spinlock, 1,i: 28,939,574 msg/sec pthread_spinlock, 2,s: 15,427,877 msg/sec pthread_spinlock, 2,i: 16,937,670 msg/sec pthread_spinlock, 3,s: 8,367,196 msg/sec pthread_spinlock, 3,i: 11,976,297 msg/sec pthread_spinlock, 4,s: 6,468,182 msg/sec pthread_spinlock, 4,i: 9,084,248 msg/sec pthread_spinlock, 5,s: 8,758,650 msg/sec pthread_spinlock, 5,i: 9,037,673 msg/sec pthread_spinlock, 6,s: 8,487,245 msg/sec pthread_spinlock, 6,i: 8,567,498 msg/sec pthread_spinlock, 7,s: 7,661,945 msg/sec pthread_spinlock, 7,i: 7,795,957 msg/sec pthread_spinlock, 8,s: 6,737,089 msg/sec pthread_spinlock, 8,i: 7,363,073 msg/sec std::mutex, 1,s: 6,645,451 msg/sec std::mutex, 1,i: 7,628,284 msg/sec std::mutex, 2,s: 6,083,784 msg/sec std::mutex, 2,i: 6,199,454 msg/sec std::mutex, 3,s: 6,066,797 msg/sec std::mutex, 3,i: 5,853,390 msg/sec std::mutex, 4,s: 6,142,004 msg/sec std::mutex, 4,i: 5,827,047 msg/sec std::mutex, 5,s: 5,554,073 msg/sec std::mutex, 5,i: 5,723,551 msg/sec std::mutex, 6,s: 5,916,569 msg/sec std::mutex, 6,i: 5,926,686 msg/sec std::mutex, 7,s: 5,764,171 msg/sec std::mutex, 7,i: 5,763,105 msg/sec std::mutex, 8,s: 5,688,570 msg/sec std::mutex, 8,i: 5,667,526 msg/sec tbb::spin_mutex, 1,s: 37,551,021 msg/sec tbb::spin_mutex, 1,i: 37,987,782 msg/sec tbb::spin_mutex, 2,s: 18,032,511 msg/sec tbb::spin_mutex, 2,i: 18,405,405 msg/sec tbb::spin_mutex, 3,s: 8,815,079 msg/sec tbb::spin_mutex, 3,i: 10,168,669 msg/sec tbb::spin_mutex, 4,s: 3,206,950 msg/sec tbb::spin_mutex, 4,i: 6,381,147 msg/sec tbb::spin_mutex, 5,s: 5,520,780 msg/sec tbb::spin_mutex, 5,i: 5,852,336 msg/sec tbb::spin_mutex, 6,s: 5,347,820 msg/sec tbb::spin_mutex, 6,i: 4,332,094 msg/sec tbb::spin_mutex, 7,s: 4,865,051 msg/sec tbb::spin_mutex, 7,i: 4,380,039 msg/sec tbb::spin_mutex, 8,s: 3,800,996 msg/sec tbb::spin_mutex, 8,i: 4,097,637 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,105,930 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,315,511 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,632,059 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,774,640 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,300,825 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,584,799 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,363,271 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,232,110 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,710,217 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,765,081 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,721,999 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,986,396 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,902,829 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,058,519 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,885,355 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,111,481 msg/sec xenium::michael_scott_queue, 1,s: 9,260,583 msg/sec xenium::michael_scott_queue, 1,i: 9,231,222 msg/sec xenium::michael_scott_queue, 2,s: 8,410,097 msg/sec xenium::michael_scott_queue, 2,i: 8,388,926 msg/sec xenium::michael_scott_queue, 3,s: 7,301,646 msg/sec xenium::michael_scott_queue, 3,i: 7,515,759 msg/sec xenium::michael_scott_queue, 4,s: 6,293,502 msg/sec xenium::michael_scott_queue, 4,i: 6,389,754 msg/sec xenium::michael_scott_queue, 5,s: 6,292,405 msg/sec xenium::michael_scott_queue, 5,i: 6,555,745 msg/sec xenium::michael_scott_queue, 6,s: 6,470,595 msg/sec xenium::michael_scott_queue, 6,i: 6,930,233 msg/sec xenium::michael_scott_queue, 7,s: 6,274,116 msg/sec xenium::michael_scott_queue, 7,i: 6,526,823 msg/sec xenium::michael_scott_queue, 8,s: 5,983,208 msg/sec xenium::michael_scott_queue, 8,i: 6,117,745 msg/sec xenium::ramalhete_queue, 1,s: 31,745,070 msg/sec xenium::ramalhete_queue, 1,i: 31,652,213 msg/sec xenium::ramalhete_queue, 2,s: 23,513,177 msg/sec xenium::ramalhete_queue, 2,i: 23,312,118 msg/sec xenium::ramalhete_queue, 3,s: 29,051,415 msg/sec xenium::ramalhete_queue, 3,i: 28,429,461 msg/sec xenium::ramalhete_queue, 4,s: 33,779,325 msg/sec xenium::ramalhete_queue, 4,i: 33,551,915 msg/sec xenium::ramalhete_queue, 5,s: 32,164,847 msg/sec xenium::ramalhete_queue, 5,i: 36,213,321 msg/sec xenium::ramalhete_queue, 6,s: 34,028,282 msg/sec xenium::ramalhete_queue, 6,i: 38,771,666 msg/sec xenium::ramalhete_queue, 7,s: 34,768,356 msg/sec xenium::ramalhete_queue, 7,i: 41,187,502 msg/sec xenium::ramalhete_queue, 8,s: 35,343,086 msg/sec xenium::ramalhete_queue, 8,i: 43,842,367 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,199,428 msg/sec xenium::vyukov_bounded_queue, 1,i: 67,518,038 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,140,240 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,917,301 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,577,790 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,870,906 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,553,427 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,228,655 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,070,900 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,358,919 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,041,644 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,181,186 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,224,284 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,101,020 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,906 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,539,830 msg/sec AtomicQueue, 1,s: 107,115,090 msg/sec AtomicQueue, 1,i: 57,134,785 msg/sec AtomicQueue, 2,s: 12,391,143 msg/sec AtomicQueue, 2,i: 11,761,926 msg/sec AtomicQueue, 3,s: 10,799,786 msg/sec AtomicQueue, 3,i: 9,962,558 msg/sec AtomicQueue, 4,s: 8,199,813 msg/sec AtomicQueue, 4,i: 8,189,846 msg/sec AtomicQueue, 5,s: 8,015,328 msg/sec AtomicQueue, 5,i: 8,088,004 msg/sec AtomicQueue, 6,s: 7,981,682 msg/sec AtomicQueue, 6,i: 7,598,696 msg/sec AtomicQueue, 7,s: 7,108,690 msg/sec AtomicQueue, 7,i: 7,984,317 msg/sec AtomicQueue, 8,s: 6,325,996 msg/sec AtomicQueue, 8,i: 7,431,076 msg/sec AtomicQueueB, 1,s: 59,892,963 msg/sec AtomicQueueB, 1,i: 45,317,818 msg/sec AtomicQueueB, 2,s: 11,857,800 msg/sec AtomicQueueB, 2,i: 11,495,958 msg/sec AtomicQueueB, 3,s: 11,008,744 msg/sec AtomicQueueB, 3,i: 10,095,743 msg/sec AtomicQueueB, 4,s: 8,009,769 msg/sec AtomicQueueB, 4,i: 8,033,176 msg/sec AtomicQueueB, 5,s: 7,652,635 msg/sec AtomicQueueB, 5,i: 7,805,448 msg/sec AtomicQueueB, 6,s: 7,276,918 msg/sec AtomicQueueB, 6,i: 7,539,108 msg/sec AtomicQueueB, 7,s: 6,882,078 msg/sec AtomicQueueB, 7,i: 7,746,223 msg/sec AtomicQueueB, 8,s: 6,294,858 msg/sec AtomicQueueB, 8,i: 7,127,240 msg/sec OptimistAtomicQueue, 1,s: 711,710,846 msg/sec OptimistAtomicQueue, 1,i: 643,308,251 msg/sec OptimistAtomicQueue, 2,s: 32,646,222 msg/sec OptimistAtomicQueue, 2,i: 32,722,771 msg/sec OptimistAtomicQueue, 3,s: 36,668,248 msg/sec OptimistAtomicQueue, 3,i: 37,405,565 msg/sec OptimistAtomicQueue, 4,s: 39,289,250 msg/sec OptimistAtomicQueue, 4,i: 39,331,692 msg/sec OptimistAtomicQueue, 5,s: 42,449,725 msg/sec OptimistAtomicQueue, 5,i: 46,401,268 msg/sec OptimistAtomicQueue, 6,s: 42,869,553 msg/sec OptimistAtomicQueue, 6,i: 50,237,626 msg/sec OptimistAtomicQueue, 7,s: 44,416,171 msg/sec OptimistAtomicQueue, 7,i: 49,242,074 msg/sec OptimistAtomicQueue, 8,s: 46,370,023 msg/sec OptimistAtomicQueue, 8,i: 48,918,967 msg/sec OptimistAtomicQueueB, 1,s: 77,670,335 msg/sec OptimistAtomicQueueB, 1,i: 172,511,886 msg/sec OptimistAtomicQueueB, 2,s: 32,227,976 msg/sec OptimistAtomicQueueB, 2,i: 31,885,490 msg/sec OptimistAtomicQueueB, 3,s: 36,142,749 msg/sec OptimistAtomicQueueB, 3,i: 36,962,976 msg/sec OptimistAtomicQueueB, 4,s: 38,728,413 msg/sec OptimistAtomicQueueB, 4,i: 38,565,441 msg/sec OptimistAtomicQueueB, 5,s: 40,691,464 msg/sec OptimistAtomicQueueB, 5,i: 45,937,468 msg/sec OptimistAtomicQueueB, 6,s: 40,786,414 msg/sec OptimistAtomicQueueB, 6,i: 49,116,010 msg/sec OptimistAtomicQueueB, 7,s: 42,282,865 msg/sec OptimistAtomicQueueB, 7,i: 47,948,842 msg/sec OptimistAtomicQueueB, 8,s: 44,215,727 msg/sec OptimistAtomicQueueB, 8,i: 47,711,835 msg/sec AtomicQueue2, 1,s: 22,916,253 msg/sec AtomicQueue2, 1,i: 22,879,054 msg/sec AtomicQueue2, 2,s: 12,055,446 msg/sec AtomicQueue2, 2,i: 11,440,421 msg/sec AtomicQueue2, 3,s: 9,432,135 msg/sec AtomicQueue2, 3,i: 9,364,718 msg/sec AtomicQueue2, 4,s: 8,117,314 msg/sec AtomicQueue2, 4,i: 8,073,558 msg/sec AtomicQueue2, 5,s: 7,960,700 msg/sec AtomicQueue2, 5,i: 8,026,355 msg/sec AtomicQueue2, 6,s: 7,809,080 msg/sec AtomicQueue2, 6,i: 7,542,247 msg/sec AtomicQueue2, 7,s: 7,144,388 msg/sec AtomicQueue2, 7,i: 7,888,604 msg/sec AtomicQueue2, 8,s: 6,376,352 msg/sec AtomicQueue2, 8,i: 7,214,696 msg/sec AtomicQueueB2, 1,s: 36,036,705 msg/sec AtomicQueueB2, 1,i: 35,955,370 msg/sec AtomicQueueB2, 2,s: 11,386,436 msg/sec AtomicQueueB2, 2,i: 11,113,859 msg/sec AtomicQueueB2, 3,s: 9,600,796 msg/sec AtomicQueueB2, 3,i: 9,536,572 msg/sec AtomicQueueB2, 4,s: 7,894,279 msg/sec AtomicQueueB2, 4,i: 7,852,551 msg/sec AtomicQueueB2, 5,s: 7,374,937 msg/sec AtomicQueueB2, 5,i: 7,555,984 msg/sec AtomicQueueB2, 6,s: 7,266,248 msg/sec AtomicQueueB2, 6,i: 7,437,315 msg/sec AtomicQueueB2, 7,s: 6,894,768 msg/sec AtomicQueueB2, 7,i: 7,621,482 msg/sec AtomicQueueB2, 8,s: 6,259,706 msg/sec AtomicQueueB2, 8,i: 6,945,713 msg/sec OptimistAtomicQueue2, 1,s: 446,037,193 msg/sec OptimistAtomicQueue2, 1,i: 31,927,351 msg/sec OptimistAtomicQueue2, 2,s: 26,197,482 msg/sec OptimistAtomicQueue2, 2,i: 24,010,301 msg/sec OptimistAtomicQueue2, 3,s: 30,510,961 msg/sec OptimistAtomicQueue2, 3,i: 29,898,457 msg/sec OptimistAtomicQueue2, 4,s: 33,162,930 msg/sec OptimistAtomicQueue2, 4,i: 33,257,237 msg/sec OptimistAtomicQueue2, 5,s: 37,222,911 msg/sec OptimistAtomicQueue2, 5,i: 41,038,492 msg/sec OptimistAtomicQueue2, 6,s: 40,456,351 msg/sec OptimistAtomicQueue2, 6,i: 49,336,801 msg/sec OptimistAtomicQueue2, 7,s: 42,646,614 msg/sec OptimistAtomicQueue2, 7,i: 51,634,320 msg/sec OptimistAtomicQueue2, 8,s: 44,220,331 msg/sec OptimistAtomicQueue2, 8,i: 48,454,540 msg/sec OptimistAtomicQueueB2, 1,s: 78,649,779 msg/sec OptimistAtomicQueueB2, 1,i: 33,876,105 msg/sec OptimistAtomicQueueB2, 2,s: 27,711,706 msg/sec OptimistAtomicQueueB2, 2,i: 23,904,978 msg/sec OptimistAtomicQueueB2, 3,s: 30,668,808 msg/sec OptimistAtomicQueueB2, 3,i: 29,094,018 msg/sec OptimistAtomicQueueB2, 4,s: 33,219,044 msg/sec OptimistAtomicQueueB2, 4,i: 32,434,685 msg/sec OptimistAtomicQueueB2, 5,s: 34,687,026 msg/sec OptimistAtomicQueueB2, 5,i: 39,187,238 msg/sec OptimistAtomicQueueB2, 6,s: 37,687,605 msg/sec OptimistAtomicQueueB2, 6,i: 42,233,966 msg/sec OptimistAtomicQueueB2, 7,s: 40,193,913 msg/sec OptimistAtomicQueueB2, 7,i: 43,062,658 msg/sec OptimistAtomicQueueB2, 8,s: 42,150,046 msg/sec OptimistAtomicQueueB2, 8,i: 45,478,417 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000298 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [59] 403m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,578,174 msg/sec boost::lockfree::spsc_queue, 1,i: 67,789,585 msg/sec boost::lockfree::queue, 1,s: 6,852,830 msg/sec boost::lockfree::queue, 1,i: 6,785,614 msg/sec boost::lockfree::queue, 2,s: 7,460,814 msg/sec boost::lockfree::queue, 2,i: 7,438,453 msg/sec boost::lockfree::queue, 3,s: 7,442,665 msg/sec boost::lockfree::queue, 3,i: 7,579,029 msg/sec boost::lockfree::queue, 4,s: 6,421,882 msg/sec boost::lockfree::queue, 4,i: 6,854,486 msg/sec boost::lockfree::queue, 5,s: 6,458,511 msg/sec boost::lockfree::queue, 5,i: 6,491,515 msg/sec boost::lockfree::queue, 6,s: 5,961,839 msg/sec boost::lockfree::queue, 6,i: 6,134,675 msg/sec boost::lockfree::queue, 7,s: 5,788,036 msg/sec boost::lockfree::queue, 7,i: 5,926,490 msg/sec boost::lockfree::queue, 8,s: 5,508,684 msg/sec boost::lockfree::queue, 8,i: 5,605,396 msg/sec moodycamel::ReaderWriterQueue, 1,s: 47,136,880 msg/sec moodycamel::ReaderWriterQueue, 1,i: 84,328,881 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,453,398 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,621,698 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,185,942 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,739,236 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,623,384 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,873,024 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,194,197 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,350,511 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,215,200 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,758,447 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,418,053 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,036,833 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,898,662 msg/sec moodycamel::ConcurrentQueue, 7,i: 45,838,411 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,080,877 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,522,644 msg/sec pthread_spinlock, 1,s: 28,931,065 msg/sec pthread_spinlock, 1,i: 25,396,757 msg/sec pthread_spinlock, 2,s: 15,484,129 msg/sec pthread_spinlock, 2,i: 18,015,444 msg/sec pthread_spinlock, 3,s: 8,478,444 msg/sec pthread_spinlock, 3,i: 11,934,426 msg/sec pthread_spinlock, 4,s: 6,519,803 msg/sec pthread_spinlock, 4,i: 9,191,136 msg/sec pthread_spinlock, 5,s: 8,730,389 msg/sec pthread_spinlock, 5,i: 9,503,912 msg/sec pthread_spinlock, 6,s: 8,294,437 msg/sec pthread_spinlock, 6,i: 9,328,919 msg/sec pthread_spinlock, 7,s: 7,530,802 msg/sec pthread_spinlock, 7,i: 7,730,277 msg/sec pthread_spinlock, 8,s: 6,875,980 msg/sec pthread_spinlock, 8,i: 7,399,722 msg/sec std::mutex, 1,s: 7,320,056 msg/sec std::mutex, 1,i: 7,717,111 msg/sec std::mutex, 2,s: 5,267,105 msg/sec std::mutex, 2,i: 4,926,026 msg/sec std::mutex, 3,s: 5,276,217 msg/sec std::mutex, 3,i: 5,410,806 msg/sec std::mutex, 4,s: 5,276,618 msg/sec std::mutex, 4,i: 6,222,136 msg/sec std::mutex, 5,s: 5,987,973 msg/sec std::mutex, 5,i: 6,068,162 msg/sec std::mutex, 6,s: 5,869,109 msg/sec std::mutex, 6,i: 5,851,202 msg/sec std::mutex, 7,s: 5,835,518 msg/sec std::mutex, 7,i: 5,807,128 msg/sec std::mutex, 8,s: 5,657,742 msg/sec std::mutex, 8,i: 5,623,844 msg/sec tbb::spin_mutex, 1,s: 37,653,432 msg/sec tbb::spin_mutex, 1,i: 32,943,219 msg/sec tbb::spin_mutex, 2,s: 21,242,455 msg/sec tbb::spin_mutex, 2,i: 18,414,331 msg/sec tbb::spin_mutex, 3,s: 7,736,364 msg/sec tbb::spin_mutex, 3,i: 10,216,578 msg/sec tbb::spin_mutex, 4,s: 3,055,394 msg/sec tbb::spin_mutex, 4,i: 6,235,646 msg/sec tbb::spin_mutex, 5,s: 5,261,600 msg/sec tbb::spin_mutex, 5,i: 5,425,495 msg/sec tbb::spin_mutex, 6,s: 5,280,728 msg/sec tbb::spin_mutex, 6,i: 4,341,041 msg/sec tbb::spin_mutex, 7,s: 4,839,636 msg/sec tbb::spin_mutex, 7,i: 4,295,823 msg/sec tbb::spin_mutex, 8,s: 3,788,809 msg/sec tbb::spin_mutex, 8,i: 4,175,672 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,451,484 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,487,804 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,674,870 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,726,994 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,487,692 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,796,379 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,089,567 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,353,341 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,790,573 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,727,563 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,970,066 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,849,400 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,681,997 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,187,731 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,632,439 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,314,038 msg/sec xenium::michael_scott_queue, 1,s: 9,191,150 msg/sec xenium::michael_scott_queue, 1,i: 9,203,898 msg/sec xenium::michael_scott_queue, 2,s: 8,341,616 msg/sec xenium::michael_scott_queue, 2,i: 8,452,071 msg/sec xenium::michael_scott_queue, 3,s: 7,173,240 msg/sec xenium::michael_scott_queue, 3,i: 7,591,439 msg/sec xenium::michael_scott_queue, 4,s: 6,329,398 msg/sec xenium::michael_scott_queue, 4,i: 6,500,382 msg/sec xenium::michael_scott_queue, 5,s: 6,305,549 msg/sec xenium::michael_scott_queue, 5,i: 6,742,552 msg/sec xenium::michael_scott_queue, 6,s: 6,518,708 msg/sec xenium::michael_scott_queue, 6,i: 7,021,000 msg/sec xenium::michael_scott_queue, 7,s: 6,302,876 msg/sec xenium::michael_scott_queue, 7,i: 6,464,006 msg/sec xenium::michael_scott_queue, 8,s: 6,023,310 msg/sec xenium::michael_scott_queue, 8,i: 6,059,788 msg/sec xenium::ramalhete_queue, 1,s: 31,156,158 msg/sec xenium::ramalhete_queue, 1,i: 32,627,713 msg/sec xenium::ramalhete_queue, 2,s: 23,506,691 msg/sec xenium::ramalhete_queue, 2,i: 23,380,154 msg/sec xenium::ramalhete_queue, 3,s: 29,351,525 msg/sec xenium::ramalhete_queue, 3,i: 28,509,907 msg/sec xenium::ramalhete_queue, 4,s: 33,829,821 msg/sec xenium::ramalhete_queue, 4,i: 33,513,842 msg/sec xenium::ramalhete_queue, 5,s: 32,135,807 msg/sec xenium::ramalhete_queue, 5,i: 36,090,001 msg/sec xenium::ramalhete_queue, 6,s: 34,073,587 msg/sec xenium::ramalhete_queue, 6,i: 38,539,260 msg/sec xenium::ramalhete_queue, 7,s: 35,029,352 msg/sec xenium::ramalhete_queue, 7,i: 41,877,048 msg/sec xenium::ramalhete_queue, 8,s: 35,477,767 msg/sec xenium::ramalhete_queue, 8,i: 44,016,446 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,846,826 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,706,694 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,758,701 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,512,501 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,436,678 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,249,599 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,603,499 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,253,924 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,917,777 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,255,040 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,987,637 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,277,518 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,212,673 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,181,217 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,419,740 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,306,137 msg/sec AtomicQueue, 1,s: 58,588,555 msg/sec AtomicQueue, 1,i: 56,802,419 msg/sec AtomicQueue, 2,s: 12,304,595 msg/sec AtomicQueue, 2,i: 11,751,044 msg/sec AtomicQueue, 3,s: 10,652,381 msg/sec AtomicQueue, 3,i: 9,956,168 msg/sec AtomicQueue, 4,s: 8,136,080 msg/sec AtomicQueue, 4,i: 8,187,178 msg/sec AtomicQueue, 5,s: 8,062,649 msg/sec AtomicQueue, 5,i: 8,085,966 msg/sec AtomicQueue, 6,s: 7,621,384 msg/sec AtomicQueue, 6,i: 7,602,877 msg/sec AtomicQueue, 7,s: 7,180,391 msg/sec AtomicQueue, 7,i: 7,971,797 msg/sec AtomicQueue, 8,s: 6,337,447 msg/sec AtomicQueue, 8,i: 7,340,837 msg/sec AtomicQueueB, 1,s: 43,325,952 msg/sec AtomicQueueB, 1,i: 43,329,428 msg/sec AtomicQueueB, 2,s: 11,840,726 msg/sec AtomicQueueB, 2,i: 11,524,952 msg/sec AtomicQueueB, 3,s: 11,039,021 msg/sec AtomicQueueB, 3,i: 10,205,946 msg/sec AtomicQueueB, 4,s: 8,057,477 msg/sec AtomicQueueB, 4,i: 8,034,318 msg/sec AtomicQueueB, 5,s: 7,569,317 msg/sec AtomicQueueB, 5,i: 7,804,342 msg/sec AtomicQueueB, 6,s: 7,431,990 msg/sec AtomicQueueB, 6,i: 7,549,476 msg/sec AtomicQueueB, 7,s: 6,816,958 msg/sec AtomicQueueB, 7,i: 7,743,258 msg/sec AtomicQueueB, 8,s: 6,283,081 msg/sec AtomicQueueB, 8,i: 7,172,946 msg/sec OptimistAtomicQueue, 1,s: 782,448,123 msg/sec OptimistAtomicQueue, 1,i: 548,574,713 msg/sec OptimistAtomicQueue, 2,s: 32,640,920 msg/sec OptimistAtomicQueue, 2,i: 32,188,358 msg/sec OptimistAtomicQueue, 3,s: 36,625,427 msg/sec OptimistAtomicQueue, 3,i: 37,150,645 msg/sec OptimistAtomicQueue, 4,s: 39,270,400 msg/sec OptimistAtomicQueue, 4,i: 39,382,231 msg/sec OptimistAtomicQueue, 5,s: 42,417,548 msg/sec OptimistAtomicQueue, 5,i: 46,389,559 msg/sec OptimistAtomicQueue, 6,s: 42,619,455 msg/sec OptimistAtomicQueue, 6,i: 50,360,132 msg/sec OptimistAtomicQueue, 7,s: 45,164,600 msg/sec OptimistAtomicQueue, 7,i: 52,992,182 msg/sec OptimistAtomicQueue, 8,s: 46,477,328 msg/sec OptimistAtomicQueue, 8,i: 49,505,862 msg/sec OptimistAtomicQueueB, 1,s: 99,366,289 msg/sec OptimistAtomicQueueB, 1,i: 76,462,430 msg/sec OptimistAtomicQueueB, 2,s: 32,164,378 msg/sec OptimistAtomicQueueB, 2,i: 32,021,223 msg/sec OptimistAtomicQueueB, 3,s: 36,249,647 msg/sec OptimistAtomicQueueB, 3,i: 36,843,784 msg/sec OptimistAtomicQueueB, 4,s: 38,730,407 msg/sec OptimistAtomicQueueB, 4,i: 38,564,367 msg/sec OptimistAtomicQueueB, 5,s: 40,832,243 msg/sec OptimistAtomicQueueB, 5,i: 46,092,956 msg/sec OptimistAtomicQueueB, 6,s: 41,037,490 msg/sec OptimistAtomicQueueB, 6,i: 49,212,833 msg/sec OptimistAtomicQueueB, 7,s: 41,604,943 msg/sec OptimistAtomicQueueB, 7,i: 48,005,603 msg/sec OptimistAtomicQueueB, 8,s: 44,391,123 msg/sec OptimistAtomicQueueB, 8,i: 47,673,438 msg/sec AtomicQueue2, 1,s: 22,963,188 msg/sec AtomicQueue2, 1,i: 22,875,396 msg/sec AtomicQueue2, 2,s: 11,960,649 msg/sec AtomicQueue2, 2,i: 11,406,778 msg/sec AtomicQueue2, 3,s: 9,392,432 msg/sec AtomicQueue2, 3,i: 9,395,463 msg/sec AtomicQueue2, 4,s: 8,133,311 msg/sec AtomicQueue2, 4,i: 8,024,623 msg/sec AtomicQueue2, 5,s: 7,964,763 msg/sec AtomicQueue2, 5,i: 8,052,615 msg/sec AtomicQueue2, 6,s: 7,690,697 msg/sec AtomicQueue2, 6,i: 7,531,933 msg/sec AtomicQueue2, 7,s: 7,134,274 msg/sec AtomicQueue2, 7,i: 7,911,804 msg/sec AtomicQueue2, 8,s: 6,366,368 msg/sec AtomicQueue2, 8,i: 7,307,533 msg/sec AtomicQueueB2, 1,s: 33,514,985 msg/sec AtomicQueueB2, 1,i: 32,621,055 msg/sec AtomicQueueB2, 2,s: 11,352,831 msg/sec AtomicQueueB2, 2,i: 11,116,385 msg/sec AtomicQueueB2, 3,s: 9,707,923 msg/sec AtomicQueueB2, 3,i: 9,577,475 msg/sec AtomicQueueB2, 4,s: 7,905,132 msg/sec AtomicQueueB2, 4,i: 7,851,150 msg/sec AtomicQueueB2, 5,s: 7,537,325 msg/sec AtomicQueueB2, 5,i: 7,681,370 msg/sec AtomicQueueB2, 6,s: 7,245,904 msg/sec AtomicQueueB2, 6,i: 7,438,296 msg/sec AtomicQueueB2, 7,s: 6,886,616 msg/sec AtomicQueueB2, 7,i: 7,703,536 msg/sec AtomicQueueB2, 8,s: 6,285,886 msg/sec AtomicQueueB2, 8,i: 7,122,063 msg/sec OptimistAtomicQueue2, 1,s: 461,036,640 msg/sec OptimistAtomicQueue2, 1,i: 29,694,649 msg/sec OptimistAtomicQueue2, 2,s: 24,267,289 msg/sec OptimistAtomicQueue2, 2,i: 24,009,052 msg/sec OptimistAtomicQueue2, 3,s: 30,696,054 msg/sec OptimistAtomicQueue2, 3,i: 29,962,297 msg/sec OptimistAtomicQueue2, 4,s: 33,174,563 msg/sec OptimistAtomicQueue2, 4,i: 33,788,186 msg/sec OptimistAtomicQueue2, 5,s: 37,251,570 msg/sec OptimistAtomicQueue2, 5,i: 41,363,736 msg/sec OptimistAtomicQueue2, 6,s: 40,518,607 msg/sec OptimistAtomicQueue2, 6,i: 49,311,678 msg/sec OptimistAtomicQueue2, 7,s: 43,134,781 msg/sec OptimistAtomicQueue2, 7,i: 51,346,551 msg/sec OptimistAtomicQueue2, 8,s: 43,921,787 msg/sec OptimistAtomicQueue2, 8,i: 48,473,722 msg/sec OptimistAtomicQueueB2, 1,s: 76,712,966 msg/sec OptimistAtomicQueueB2, 1,i: 33,915,625 msg/sec OptimistAtomicQueueB2, 2,s: 26,476,565 msg/sec OptimistAtomicQueueB2, 2,i: 23,279,172 msg/sec OptimistAtomicQueueB2, 3,s: 30,042,138 msg/sec OptimistAtomicQueueB2, 3,i: 29,054,000 msg/sec OptimistAtomicQueueB2, 4,s: 33,317,947 msg/sec OptimistAtomicQueueB2, 4,i: 32,173,626 msg/sec OptimistAtomicQueueB2, 5,s: 34,438,124 msg/sec OptimistAtomicQueueB2, 5,i: 39,981,414 msg/sec OptimistAtomicQueueB2, 6,s: 37,415,408 msg/sec OptimistAtomicQueueB2, 6,i: 42,180,534 msg/sec OptimistAtomicQueueB2, 7,s: 40,799,629 msg/sec OptimistAtomicQueueB2, 7,i: 45,390,979 msg/sec OptimistAtomicQueueB2, 8,s: 42,386,947 msg/sec OptimistAtomicQueueB2, 8,i: 46,137,751 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000160 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000300 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [60] 402m:10s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,328,033 msg/sec boost::lockfree::spsc_queue, 1,i: 67,904,913 msg/sec boost::lockfree::queue, 1,s: 6,819,538 msg/sec boost::lockfree::queue, 1,i: 7,005,105 msg/sec boost::lockfree::queue, 2,s: 7,617,954 msg/sec boost::lockfree::queue, 2,i: 7,534,805 msg/sec boost::lockfree::queue, 3,s: 7,410,181 msg/sec boost::lockfree::queue, 3,i: 7,470,437 msg/sec boost::lockfree::queue, 4,s: 6,432,120 msg/sec boost::lockfree::queue, 4,i: 6,739,330 msg/sec boost::lockfree::queue, 5,s: 6,430,035 msg/sec boost::lockfree::queue, 5,i: 6,498,456 msg/sec boost::lockfree::queue, 6,s: 6,007,185 msg/sec boost::lockfree::queue, 6,i: 6,086,398 msg/sec boost::lockfree::queue, 7,s: 5,842,096 msg/sec boost::lockfree::queue, 7,i: 6,002,751 msg/sec boost::lockfree::queue, 8,s: 5,448,137 msg/sec boost::lockfree::queue, 8,i: 5,634,489 msg/sec moodycamel::ReaderWriterQueue, 1,s: 67,290,004 msg/sec moodycamel::ReaderWriterQueue, 1,i: 68,637,263 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,005,871 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,025,573 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,529,578 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,705,067 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,237,493 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,715,166 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,066,740 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,965,803 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,480,998 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,463,455 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,662,528 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,581,326 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,248,342 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,593,895 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,314,840 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,906,495 msg/sec pthread_spinlock, 1,s: 28,651,847 msg/sec pthread_spinlock, 1,i: 25,384,899 msg/sec pthread_spinlock, 2,s: 15,615,941 msg/sec pthread_spinlock, 2,i: 17,189,740 msg/sec pthread_spinlock, 3,s: 8,330,107 msg/sec pthread_spinlock, 3,i: 12,112,431 msg/sec pthread_spinlock, 4,s: 6,547,350 msg/sec pthread_spinlock, 4,i: 8,851,601 msg/sec pthread_spinlock, 5,s: 8,643,832 msg/sec pthread_spinlock, 5,i: 9,300,809 msg/sec pthread_spinlock, 6,s: 8,258,042 msg/sec pthread_spinlock, 6,i: 8,589,972 msg/sec pthread_spinlock, 7,s: 7,490,070 msg/sec pthread_spinlock, 7,i: 7,738,218 msg/sec pthread_spinlock, 8,s: 6,806,723 msg/sec pthread_spinlock, 8,i: 7,319,828 msg/sec std::mutex, 1,s: 7,480,852 msg/sec std::mutex, 1,i: 7,483,332 msg/sec std::mutex, 2,s: 6,250,978 msg/sec std::mutex, 2,i: 5,982,963 msg/sec std::mutex, 3,s: 5,954,435 msg/sec std::mutex, 3,i: 5,580,334 msg/sec std::mutex, 4,s: 5,445,427 msg/sec std::mutex, 4,i: 6,210,506 msg/sec std::mutex, 5,s: 5,805,369 msg/sec std::mutex, 5,i: 5,976,638 msg/sec std::mutex, 6,s: 5,532,613 msg/sec std::mutex, 6,i: 5,883,955 msg/sec std::mutex, 7,s: 5,747,729 msg/sec std::mutex, 7,i: 5,741,466 msg/sec std::mutex, 8,s: 5,574,212 msg/sec std::mutex, 8,i: 5,591,938 msg/sec tbb::spin_mutex, 1,s: 37,696,067 msg/sec tbb::spin_mutex, 1,i: 33,073,200 msg/sec tbb::spin_mutex, 2,s: 21,194,077 msg/sec tbb::spin_mutex, 2,i: 18,561,922 msg/sec tbb::spin_mutex, 3,s: 7,440,747 msg/sec tbb::spin_mutex, 3,i: 10,222,664 msg/sec tbb::spin_mutex, 4,s: 3,297,918 msg/sec tbb::spin_mutex, 4,i: 6,331,774 msg/sec tbb::spin_mutex, 5,s: 5,243,782 msg/sec tbb::spin_mutex, 5,i: 5,909,199 msg/sec tbb::spin_mutex, 6,s: 5,321,494 msg/sec tbb::spin_mutex, 6,i: 4,369,091 msg/sec tbb::spin_mutex, 7,s: 4,817,297 msg/sec tbb::spin_mutex, 7,i: 4,368,243 msg/sec tbb::spin_mutex, 8,s: 3,787,619 msg/sec tbb::spin_mutex, 8,i: 4,050,619 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,265,734 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,262,910 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,764,941 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,783,258 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,324,266 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,514,829 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,070,070 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,512,171 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,624,019 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,574,890 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,731,788 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,621,689 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,831,662 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,747,600 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,071,481 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,085,017 msg/sec xenium::michael_scott_queue, 1,s: 9,367,639 msg/sec xenium::michael_scott_queue, 1,i: 9,256,187 msg/sec xenium::michael_scott_queue, 2,s: 8,521,174 msg/sec xenium::michael_scott_queue, 2,i: 8,444,663 msg/sec xenium::michael_scott_queue, 3,s: 7,248,441 msg/sec xenium::michael_scott_queue, 3,i: 7,588,650 msg/sec xenium::michael_scott_queue, 4,s: 6,234,390 msg/sec xenium::michael_scott_queue, 4,i: 6,361,111 msg/sec xenium::michael_scott_queue, 5,s: 6,267,135 msg/sec xenium::michael_scott_queue, 5,i: 6,624,922 msg/sec xenium::michael_scott_queue, 6,s: 6,449,934 msg/sec xenium::michael_scott_queue, 6,i: 6,799,924 msg/sec xenium::michael_scott_queue, 7,s: 6,251,376 msg/sec xenium::michael_scott_queue, 7,i: 6,657,276 msg/sec xenium::michael_scott_queue, 8,s: 5,995,193 msg/sec xenium::michael_scott_queue, 8,i: 6,324,097 msg/sec xenium::ramalhete_queue, 1,s: 32,188,774 msg/sec xenium::ramalhete_queue, 1,i: 31,881,844 msg/sec xenium::ramalhete_queue, 2,s: 24,247,796 msg/sec xenium::ramalhete_queue, 2,i: 23,391,830 msg/sec xenium::ramalhete_queue, 3,s: 29,193,794 msg/sec xenium::ramalhete_queue, 3,i: 28,531,582 msg/sec xenium::ramalhete_queue, 4,s: 33,857,493 msg/sec xenium::ramalhete_queue, 4,i: 33,467,341 msg/sec xenium::ramalhete_queue, 5,s: 32,066,093 msg/sec xenium::ramalhete_queue, 5,i: 38,571,368 msg/sec xenium::ramalhete_queue, 6,s: 34,119,346 msg/sec xenium::ramalhete_queue, 6,i: 39,216,773 msg/sec xenium::ramalhete_queue, 7,s: 35,179,989 msg/sec xenium::ramalhete_queue, 7,i: 41,430,110 msg/sec xenium::ramalhete_queue, 8,s: 35,524,400 msg/sec xenium::ramalhete_queue, 8,i: 43,844,566 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,458,238 msg/sec xenium::vyukov_bounded_queue, 1,i: 98,240,432 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,833,049 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,255,975 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,634,147 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,441,065 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,707,921 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,090,179 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,905,941 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,287,161 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,929,844 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,473,844 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,288,499 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,879,874 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,420,393 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,235,121 msg/sec AtomicQueue, 1,s: 63,609,515 msg/sec AtomicQueue, 1,i: 56,745,602 msg/sec AtomicQueue, 2,s: 12,310,979 msg/sec AtomicQueue, 2,i: 11,742,096 msg/sec AtomicQueue, 3,s: 10,779,075 msg/sec AtomicQueue, 3,i: 9,956,819 msg/sec AtomicQueue, 4,s: 8,171,239 msg/sec AtomicQueue, 4,i: 8,181,212 msg/sec AtomicQueue, 5,s: 8,030,593 msg/sec AtomicQueue, 5,i: 8,088,012 msg/sec AtomicQueue, 6,s: 7,692,809 msg/sec AtomicQueue, 6,i: 7,621,191 msg/sec AtomicQueue, 7,s: 7,050,738 msg/sec AtomicQueue, 7,i: 7,984,668 msg/sec AtomicQueue, 8,s: 6,359,788 msg/sec AtomicQueue, 8,i: 7,473,133 msg/sec AtomicQueueB, 1,s: 44,121,522 msg/sec AtomicQueueB, 1,i: 43,979,162 msg/sec AtomicQueueB, 2,s: 11,779,614 msg/sec AtomicQueueB, 2,i: 11,506,613 msg/sec AtomicQueueB, 3,s: 10,958,416 msg/sec AtomicQueueB, 3,i: 10,104,243 msg/sec AtomicQueueB, 4,s: 8,044,218 msg/sec AtomicQueueB, 4,i: 7,951,394 msg/sec AtomicQueueB, 5,s: 7,724,595 msg/sec AtomicQueueB, 5,i: 7,788,861 msg/sec AtomicQueueB, 6,s: 7,294,943 msg/sec AtomicQueueB, 6,i: 7,565,314 msg/sec AtomicQueueB, 7,s: 6,868,651 msg/sec AtomicQueueB, 7,i: 7,756,470 msg/sec AtomicQueueB, 8,s: 6,189,433 msg/sec AtomicQueueB, 8,i: 6,998,217 msg/sec OptimistAtomicQueue, 1,s: 718,234,335 msg/sec OptimistAtomicQueue, 1,i: 719,890,317 msg/sec OptimistAtomicQueue, 2,s: 31,959,016 msg/sec OptimistAtomicQueue, 2,i: 31,985,790 msg/sec OptimistAtomicQueue, 3,s: 36,609,598 msg/sec OptimistAtomicQueue, 3,i: 37,356,198 msg/sec OptimistAtomicQueue, 4,s: 39,284,480 msg/sec OptimistAtomicQueue, 4,i: 39,388,951 msg/sec OptimistAtomicQueue, 5,s: 41,754,702 msg/sec OptimistAtomicQueue, 5,i: 46,157,371 msg/sec OptimistAtomicQueue, 6,s: 42,249,082 msg/sec OptimistAtomicQueue, 6,i: 50,261,716 msg/sec OptimistAtomicQueue, 7,s: 45,120,676 msg/sec OptimistAtomicQueue, 7,i: 52,963,367 msg/sec OptimistAtomicQueue, 8,s: 46,500,304 msg/sec OptimistAtomicQueue, 8,i: 49,112,863 msg/sec OptimistAtomicQueueB, 1,s: 89,760,408 msg/sec OptimistAtomicQueueB, 1,i: 76,785,996 msg/sec OptimistAtomicQueueB, 2,s: 32,216,067 msg/sec OptimistAtomicQueueB, 2,i: 32,185,048 msg/sec OptimistAtomicQueueB, 3,s: 36,336,867 msg/sec OptimistAtomicQueueB, 3,i: 36,845,772 msg/sec OptimistAtomicQueueB, 4,s: 38,681,271 msg/sec OptimistAtomicQueueB, 4,i: 38,586,488 msg/sec OptimistAtomicQueueB, 5,s: 41,169,478 msg/sec OptimistAtomicQueueB, 5,i: 46,183,016 msg/sec OptimistAtomicQueueB, 6,s: 41,125,059 msg/sec OptimistAtomicQueueB, 6,i: 49,169,787 msg/sec OptimistAtomicQueueB, 7,s: 41,838,585 msg/sec OptimistAtomicQueueB, 7,i: 51,292,113 msg/sec OptimistAtomicQueueB, 8,s: 44,563,357 msg/sec OptimistAtomicQueueB, 8,i: 48,003,226 msg/sec AtomicQueue2, 1,s: 22,807,944 msg/sec AtomicQueue2, 1,i: 22,810,834 msg/sec AtomicQueue2, 2,s: 11,833,144 msg/sec AtomicQueue2, 2,i: 11,587,426 msg/sec AtomicQueue2, 3,s: 9,881,724 msg/sec AtomicQueue2, 3,i: 9,561,993 msg/sec AtomicQueue2, 4,s: 8,078,339 msg/sec AtomicQueue2, 4,i: 8,074,855 msg/sec AtomicQueue2, 5,s: 7,836,932 msg/sec AtomicQueue2, 5,i: 8,031,793 msg/sec AtomicQueue2, 6,s: 7,787,403 msg/sec AtomicQueue2, 6,i: 7,539,294 msg/sec AtomicQueue2, 7,s: 7,045,317 msg/sec AtomicQueue2, 7,i: 7,942,345 msg/sec AtomicQueue2, 8,s: 6,371,314 msg/sec AtomicQueue2, 8,i: 7,409,320 msg/sec AtomicQueueB2, 1,s: 36,251,360 msg/sec AtomicQueueB2, 1,i: 32,614,742 msg/sec AtomicQueueB2, 2,s: 11,444,925 msg/sec AtomicQueueB2, 2,i: 11,075,600 msg/sec AtomicQueueB2, 3,s: 9,695,953 msg/sec AtomicQueueB2, 3,i: 9,562,944 msg/sec AtomicQueueB2, 4,s: 7,919,475 msg/sec AtomicQueueB2, 4,i: 7,844,908 msg/sec AtomicQueueB2, 5,s: 7,586,978 msg/sec AtomicQueueB2, 5,i: 7,664,227 msg/sec AtomicQueueB2, 6,s: 7,320,069 msg/sec AtomicQueueB2, 6,i: 7,426,051 msg/sec AtomicQueueB2, 7,s: 6,880,192 msg/sec AtomicQueueB2, 7,i: 7,719,106 msg/sec AtomicQueueB2, 8,s: 6,333,546 msg/sec AtomicQueueB2, 8,i: 6,954,736 msg/sec OptimistAtomicQueue2, 1,s: 370,592,451 msg/sec OptimistAtomicQueue2, 1,i: 32,509,278 msg/sec OptimistAtomicQueue2, 2,s: 26,201,922 msg/sec OptimistAtomicQueue2, 2,i: 24,474,109 msg/sec OptimistAtomicQueue2, 3,s: 30,312,245 msg/sec OptimistAtomicQueue2, 3,i: 29,962,737 msg/sec OptimistAtomicQueue2, 4,s: 33,266,516 msg/sec OptimistAtomicQueue2, 4,i: 33,130,401 msg/sec OptimistAtomicQueue2, 5,s: 37,169,021 msg/sec OptimistAtomicQueue2, 5,i: 40,300,219 msg/sec OptimistAtomicQueue2, 6,s: 40,171,453 msg/sec OptimistAtomicQueue2, 6,i: 49,108,808 msg/sec OptimistAtomicQueue2, 7,s: 42,751,475 msg/sec OptimistAtomicQueue2, 7,i: 48,245,747 msg/sec OptimistAtomicQueue2, 8,s: 43,877,049 msg/sec OptimistAtomicQueue2, 8,i: 48,384,252 msg/sec OptimistAtomicQueueB2, 1,s: 75,366,861 msg/sec OptimistAtomicQueueB2, 1,i: 33,917,507 msg/sec OptimistAtomicQueueB2, 2,s: 27,734,579 msg/sec OptimistAtomicQueueB2, 2,i: 23,185,585 msg/sec OptimistAtomicQueueB2, 3,s: 29,679,793 msg/sec OptimistAtomicQueueB2, 3,i: 29,083,276 msg/sec OptimistAtomicQueueB2, 4,s: 33,476,613 msg/sec OptimistAtomicQueueB2, 4,i: 32,639,586 msg/sec OptimistAtomicQueueB2, 5,s: 34,767,155 msg/sec OptimistAtomicQueueB2, 5,i: 39,193,821 msg/sec OptimistAtomicQueueB2, 6,s: 37,466,611 msg/sec OptimistAtomicQueueB2, 6,i: 42,356,968 msg/sec OptimistAtomicQueueB2, 7,s: 40,075,924 msg/sec OptimistAtomicQueueB2, 7,i: 45,676,339 msg/sec OptimistAtomicQueueB2, 8,s: 42,407,129 msg/sec OptimistAtomicQueueB2, 8,i: 45,777,465 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000120 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000286 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [61] 400m:51s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,424,174 msg/sec boost::lockfree::spsc_queue, 1,i: 68,004,262 msg/sec boost::lockfree::queue, 1,s: 6,890,355 msg/sec boost::lockfree::queue, 1,i: 6,787,424 msg/sec boost::lockfree::queue, 2,s: 7,572,889 msg/sec boost::lockfree::queue, 2,i: 7,551,343 msg/sec boost::lockfree::queue, 3,s: 7,354,248 msg/sec boost::lockfree::queue, 3,i: 7,573,100 msg/sec boost::lockfree::queue, 4,s: 6,423,054 msg/sec boost::lockfree::queue, 4,i: 6,787,821 msg/sec boost::lockfree::queue, 5,s: 6,390,296 msg/sec boost::lockfree::queue, 5,i: 6,490,718 msg/sec boost::lockfree::queue, 6,s: 6,228,215 msg/sec boost::lockfree::queue, 6,i: 6,161,807 msg/sec boost::lockfree::queue, 7,s: 5,992,082 msg/sec boost::lockfree::queue, 7,i: 5,916,821 msg/sec boost::lockfree::queue, 8,s: 5,470,430 msg/sec boost::lockfree::queue, 8,i: 5,633,009 msg/sec moodycamel::ReaderWriterQueue, 1,s: 245,969,664 msg/sec moodycamel::ReaderWriterQueue, 1,i: 173,062,950 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,198,869 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,803,880 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,708,440 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,462,774 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,131,702 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,350,136 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,521,366 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,338,160 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,459,463 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,799,964 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,410,374 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,147,554 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,171,076 msg/sec moodycamel::ConcurrentQueue, 7,i: 51,312,555 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,265,900 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,971,837 msg/sec pthread_spinlock, 1,s: 29,646,079 msg/sec pthread_spinlock, 1,i: 25,273,744 msg/sec pthread_spinlock, 2,s: 15,509,230 msg/sec pthread_spinlock, 2,i: 17,068,521 msg/sec pthread_spinlock, 3,s: 8,309,016 msg/sec pthread_spinlock, 3,i: 12,021,728 msg/sec pthread_spinlock, 4,s: 6,475,106 msg/sec pthread_spinlock, 4,i: 9,157,433 msg/sec pthread_spinlock, 5,s: 8,726,107 msg/sec pthread_spinlock, 5,i: 9,133,686 msg/sec pthread_spinlock, 6,s: 8,564,468 msg/sec pthread_spinlock, 6,i: 8,486,326 msg/sec pthread_spinlock, 7,s: 7,567,807 msg/sec pthread_spinlock, 7,i: 7,618,654 msg/sec pthread_spinlock, 8,s: 6,918,770 msg/sec pthread_spinlock, 8,i: 6,952,378 msg/sec std::mutex, 1,s: 6,865,231 msg/sec std::mutex, 1,i: 7,304,217 msg/sec std::mutex, 2,s: 4,986,786 msg/sec std::mutex, 2,i: 5,649,455 msg/sec std::mutex, 3,s: 5,014,405 msg/sec std::mutex, 3,i: 5,161,951 msg/sec std::mutex, 4,s: 5,725,382 msg/sec std::mutex, 4,i: 5,349,001 msg/sec std::mutex, 5,s: 5,662,999 msg/sec std::mutex, 5,i: 6,148,489 msg/sec std::mutex, 6,s: 5,954,408 msg/sec std::mutex, 6,i: 5,963,177 msg/sec std::mutex, 7,s: 5,856,571 msg/sec std::mutex, 7,i: 5,896,968 msg/sec std::mutex, 8,s: 5,771,496 msg/sec std::mutex, 8,i: 5,782,739 msg/sec tbb::spin_mutex, 1,s: 37,727,162 msg/sec tbb::spin_mutex, 1,i: 37,673,810 msg/sec tbb::spin_mutex, 2,s: 20,958,835 msg/sec tbb::spin_mutex, 2,i: 18,164,079 msg/sec tbb::spin_mutex, 3,s: 7,403,239 msg/sec tbb::spin_mutex, 3,i: 10,880,796 msg/sec tbb::spin_mutex, 4,s: 3,061,882 msg/sec tbb::spin_mutex, 4,i: 6,335,554 msg/sec tbb::spin_mutex, 5,s: 5,360,052 msg/sec tbb::spin_mutex, 5,i: 5,638,212 msg/sec tbb::spin_mutex, 6,s: 5,333,217 msg/sec tbb::spin_mutex, 6,i: 4,374,146 msg/sec tbb::spin_mutex, 7,s: 4,848,416 msg/sec tbb::spin_mutex, 7,i: 4,361,486 msg/sec tbb::spin_mutex, 8,s: 4,232,031 msg/sec tbb::spin_mutex, 8,i: 4,087,698 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,426,881 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,716,330 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,845,399 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,628,734 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,486,072 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,477,027 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,403,345 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,223,645 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,672,115 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,782,252 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,740,807 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,986,901 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,845,442 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,928,878 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,904,570 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,108,626 msg/sec xenium::michael_scott_queue, 1,s: 10,038,101 msg/sec xenium::michael_scott_queue, 1,i: 9,705,748 msg/sec xenium::michael_scott_queue, 2,s: 8,471,324 msg/sec xenium::michael_scott_queue, 2,i: 8,469,945 msg/sec xenium::michael_scott_queue, 3,s: 7,265,507 msg/sec xenium::michael_scott_queue, 3,i: 7,549,411 msg/sec xenium::michael_scott_queue, 4,s: 6,274,535 msg/sec xenium::michael_scott_queue, 4,i: 6,323,426 msg/sec xenium::michael_scott_queue, 5,s: 6,293,215 msg/sec xenium::michael_scott_queue, 5,i: 6,710,007 msg/sec xenium::michael_scott_queue, 6,s: 6,541,987 msg/sec xenium::michael_scott_queue, 6,i: 6,708,429 msg/sec xenium::michael_scott_queue, 7,s: 6,335,648 msg/sec xenium::michael_scott_queue, 7,i: 6,378,236 msg/sec xenium::michael_scott_queue, 8,s: 6,073,616 msg/sec xenium::michael_scott_queue, 8,i: 6,191,969 msg/sec xenium::ramalhete_queue, 1,s: 32,414,811 msg/sec xenium::ramalhete_queue, 1,i: 32,838,006 msg/sec xenium::ramalhete_queue, 2,s: 24,177,480 msg/sec xenium::ramalhete_queue, 2,i: 23,304,811 msg/sec xenium::ramalhete_queue, 3,s: 29,153,696 msg/sec xenium::ramalhete_queue, 3,i: 28,403,354 msg/sec xenium::ramalhete_queue, 4,s: 33,933,545 msg/sec xenium::ramalhete_queue, 4,i: 33,418,081 msg/sec xenium::ramalhete_queue, 5,s: 32,151,686 msg/sec xenium::ramalhete_queue, 5,i: 36,358,727 msg/sec xenium::ramalhete_queue, 6,s: 34,065,932 msg/sec xenium::ramalhete_queue, 6,i: 39,615,257 msg/sec xenium::ramalhete_queue, 7,s: 35,011,300 msg/sec xenium::ramalhete_queue, 7,i: 41,192,069 msg/sec xenium::ramalhete_queue, 8,s: 35,548,258 msg/sec xenium::ramalhete_queue, 8,i: 44,295,879 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,523,464 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,890,925 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,594,595 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,564,679 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,591,401 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,042,077 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,502,909 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,539,009 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,083,816 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,373,073 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,088,903 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,165,445 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,248,707 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,058,537 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,407,705 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,538,310 msg/sec AtomicQueue, 1,s: 60,720,942 msg/sec AtomicQueue, 1,i: 56,711,586 msg/sec AtomicQueue, 2,s: 12,360,988 msg/sec AtomicQueue, 2,i: 11,763,876 msg/sec AtomicQueue, 3,s: 10,787,182 msg/sec AtomicQueue, 3,i: 10,010,728 msg/sec AtomicQueue, 4,s: 8,190,832 msg/sec AtomicQueue, 4,i: 8,209,241 msg/sec AtomicQueue, 5,s: 8,013,997 msg/sec AtomicQueue, 5,i: 8,125,103 msg/sec AtomicQueue, 6,s: 7,800,568 msg/sec AtomicQueue, 6,i: 7,593,128 msg/sec AtomicQueue, 7,s: 7,068,957 msg/sec AtomicQueue, 7,i: 7,985,568 msg/sec AtomicQueue, 8,s: 6,317,930 msg/sec AtomicQueue, 8,i: 7,354,798 msg/sec AtomicQueueB, 1,s: 45,337,548 msg/sec AtomicQueueB, 1,i: 43,864,093 msg/sec AtomicQueueB, 2,s: 11,796,650 msg/sec AtomicQueueB, 2,i: 11,493,265 msg/sec AtomicQueueB, 3,s: 11,004,755 msg/sec AtomicQueueB, 3,i: 10,280,797 msg/sec AtomicQueueB, 4,s: 8,025,135 msg/sec AtomicQueueB, 4,i: 7,820,303 msg/sec AtomicQueueB, 5,s: 7,393,617 msg/sec AtomicQueueB, 5,i: 7,769,363 msg/sec AtomicQueueB, 6,s: 7,472,694 msg/sec AtomicQueueB, 6,i: 7,623,977 msg/sec AtomicQueueB, 7,s: 6,861,865 msg/sec AtomicQueueB, 7,i: 7,692,732 msg/sec AtomicQueueB, 8,s: 6,214,041 msg/sec AtomicQueueB, 8,i: 7,013,246 msg/sec OptimistAtomicQueue, 1,s: 691,896,918 msg/sec OptimistAtomicQueue, 1,i: 522,739,836 msg/sec OptimistAtomicQueue, 2,s: 32,208,067 msg/sec OptimistAtomicQueue, 2,i: 31,998,222 msg/sec OptimistAtomicQueue, 3,s: 36,632,535 msg/sec OptimistAtomicQueue, 3,i: 37,278,155 msg/sec OptimistAtomicQueue, 4,s: 39,272,776 msg/sec OptimistAtomicQueue, 4,i: 39,334,287 msg/sec OptimistAtomicQueue, 5,s: 41,655,073 msg/sec OptimistAtomicQueue, 5,i: 46,251,630 msg/sec OptimistAtomicQueue, 6,s: 42,770,765 msg/sec OptimistAtomicQueue, 6,i: 50,213,462 msg/sec OptimistAtomicQueue, 7,s: 43,825,547 msg/sec OptimistAtomicQueue, 7,i: 51,966,313 msg/sec OptimistAtomicQueue, 8,s: 46,378,553 msg/sec OptimistAtomicQueue, 8,i: 48,637,353 msg/sec OptimistAtomicQueueB, 1,s: 205,651,477 msg/sec OptimistAtomicQueueB, 1,i: 146,377,120 msg/sec OptimistAtomicQueueB, 2,s: 32,238,660 msg/sec OptimistAtomicQueueB, 2,i: 32,414,477 msg/sec OptimistAtomicQueueB, 3,s: 36,211,496 msg/sec OptimistAtomicQueueB, 3,i: 36,866,672 msg/sec OptimistAtomicQueueB, 4,s: 38,617,876 msg/sec OptimistAtomicQueueB, 4,i: 38,641,165 msg/sec OptimistAtomicQueueB, 5,s: 40,503,755 msg/sec OptimistAtomicQueueB, 5,i: 45,406,914 msg/sec OptimistAtomicQueueB, 6,s: 40,790,671 msg/sec OptimistAtomicQueueB, 6,i: 49,214,772 msg/sec OptimistAtomicQueueB, 7,s: 42,090,469 msg/sec OptimistAtomicQueueB, 7,i: 51,464,113 msg/sec OptimistAtomicQueueB, 8,s: 44,668,428 msg/sec OptimistAtomicQueueB, 8,i: 47,684,732 msg/sec AtomicQueue2, 1,s: 22,823,064 msg/sec AtomicQueue2, 1,i: 22,868,428 msg/sec AtomicQueue2, 2,s: 11,926,637 msg/sec AtomicQueue2, 2,i: 11,528,968 msg/sec AtomicQueue2, 3,s: 9,321,984 msg/sec AtomicQueue2, 3,i: 9,471,774 msg/sec AtomicQueue2, 4,s: 8,098,820 msg/sec AtomicQueue2, 4,i: 8,063,323 msg/sec AtomicQueue2, 5,s: 7,918,386 msg/sec AtomicQueue2, 5,i: 8,081,212 msg/sec AtomicQueue2, 6,s: 7,819,440 msg/sec AtomicQueue2, 6,i: 7,527,702 msg/sec AtomicQueue2, 7,s: 7,170,133 msg/sec AtomicQueue2, 7,i: 7,880,326 msg/sec AtomicQueue2, 8,s: 6,380,085 msg/sec AtomicQueue2, 8,i: 7,243,510 msg/sec AtomicQueueB2, 1,s: 34,870,841 msg/sec AtomicQueueB2, 1,i: 31,747,483 msg/sec AtomicQueueB2, 2,s: 11,432,619 msg/sec AtomicQueueB2, 2,i: 11,131,177 msg/sec AtomicQueueB2, 3,s: 9,713,056 msg/sec AtomicQueueB2, 3,i: 9,427,526 msg/sec AtomicQueueB2, 4,s: 7,938,790 msg/sec AtomicQueueB2, 4,i: 7,806,619 msg/sec AtomicQueueB2, 5,s: 7,481,604 msg/sec AtomicQueueB2, 5,i: 7,683,978 msg/sec AtomicQueueB2, 6,s: 7,317,521 msg/sec AtomicQueueB2, 6,i: 7,456,917 msg/sec AtomicQueueB2, 7,s: 6,890,271 msg/sec AtomicQueueB2, 7,i: 7,515,633 msg/sec AtomicQueueB2, 8,s: 6,262,236 msg/sec AtomicQueueB2, 8,i: 7,127,844 msg/sec OptimistAtomicQueue2, 1,s: 438,824,371 msg/sec OptimistAtomicQueue2, 1,i: 416,450,589 msg/sec OptimistAtomicQueue2, 2,s: 25,456,191 msg/sec OptimistAtomicQueue2, 2,i: 24,017,884 msg/sec OptimistAtomicQueue2, 3,s: 30,322,300 msg/sec OptimistAtomicQueue2, 3,i: 29,962,890 msg/sec OptimistAtomicQueue2, 4,s: 33,446,658 msg/sec OptimistAtomicQueue2, 4,i: 33,127,502 msg/sec OptimistAtomicQueue2, 5,s: 37,171,985 msg/sec OptimistAtomicQueue2, 5,i: 40,622,048 msg/sec OptimistAtomicQueue2, 6,s: 40,370,069 msg/sec OptimistAtomicQueue2, 6,i: 49,335,771 msg/sec OptimistAtomicQueue2, 7,s: 42,961,778 msg/sec OptimistAtomicQueue2, 7,i: 51,839,802 msg/sec OptimistAtomicQueue2, 8,s: 43,884,568 msg/sec OptimistAtomicQueue2, 8,i: 48,661,508 msg/sec OptimistAtomicQueueB2, 1,s: 78,144,594 msg/sec OptimistAtomicQueueB2, 1,i: 33,938,754 msg/sec OptimistAtomicQueueB2, 2,s: 27,219,205 msg/sec OptimistAtomicQueueB2, 2,i: 29,319,420 msg/sec OptimistAtomicQueueB2, 3,s: 30,170,876 msg/sec OptimistAtomicQueueB2, 3,i: 29,008,320 msg/sec OptimistAtomicQueueB2, 4,s: 33,187,282 msg/sec OptimistAtomicQueueB2, 4,i: 32,225,695 msg/sec OptimistAtomicQueueB2, 5,s: 34,558,763 msg/sec OptimistAtomicQueueB2, 5,i: 39,441,004 msg/sec OptimistAtomicQueueB2, 6,s: 37,179,529 msg/sec OptimistAtomicQueueB2, 6,i: 42,439,715 msg/sec OptimistAtomicQueueB2, 7,s: 40,957,274 msg/sec OptimistAtomicQueueB2, 7,i: 43,155,843 msg/sec OptimistAtomicQueueB2, 8,s: 42,513,786 msg/sec OptimistAtomicQueueB2, 8,i: 46,032,153 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000161 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000296 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000277 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [62] 399m:32s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,877,529 msg/sec boost::lockfree::spsc_queue, 1,i: 71,239,747 msg/sec boost::lockfree::queue, 1,s: 6,939,058 msg/sec boost::lockfree::queue, 1,i: 6,865,242 msg/sec boost::lockfree::queue, 2,s: 7,727,192 msg/sec boost::lockfree::queue, 2,i: 7,438,353 msg/sec boost::lockfree::queue, 3,s: 7,416,899 msg/sec boost::lockfree::queue, 3,i: 7,562,281 msg/sec boost::lockfree::queue, 4,s: 6,424,793 msg/sec boost::lockfree::queue, 4,i: 6,770,810 msg/sec boost::lockfree::queue, 5,s: 6,434,555 msg/sec boost::lockfree::queue, 5,i: 6,536,579 msg/sec boost::lockfree::queue, 6,s: 5,992,440 msg/sec boost::lockfree::queue, 6,i: 6,125,718 msg/sec boost::lockfree::queue, 7,s: 5,842,541 msg/sec boost::lockfree::queue, 7,i: 6,044,296 msg/sec boost::lockfree::queue, 8,s: 5,591,204 msg/sec boost::lockfree::queue, 8,i: 5,726,550 msg/sec moodycamel::ReaderWriterQueue, 1,s: 427,041,643 msg/sec moodycamel::ReaderWriterQueue, 1,i: 412,517,641 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,653,004 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,783,323 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,406,869 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,429,045 msg/sec moodycamel::ConcurrentQueue, 3,s: 38,324,622 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,964,693 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,093,760 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,377,434 msg/sec moodycamel::ConcurrentQueue, 5,s: 45,670,762 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,474,787 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,563,309 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,853,651 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,132,699 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,902,955 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,328,431 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,369,420 msg/sec pthread_spinlock, 1,s: 29,032,809 msg/sec pthread_spinlock, 1,i: 25,355,232 msg/sec pthread_spinlock, 2,s: 16,099,160 msg/sec pthread_spinlock, 2,i: 16,741,687 msg/sec pthread_spinlock, 3,s: 8,268,428 msg/sec pthread_spinlock, 3,i: 12,012,049 msg/sec pthread_spinlock, 4,s: 6,503,281 msg/sec pthread_spinlock, 4,i: 8,910,704 msg/sec pthread_spinlock, 5,s: 8,580,145 msg/sec pthread_spinlock, 5,i: 9,552,559 msg/sec pthread_spinlock, 6,s: 8,326,963 msg/sec pthread_spinlock, 6,i: 8,621,446 msg/sec pthread_spinlock, 7,s: 7,578,362 msg/sec pthread_spinlock, 7,i: 7,946,432 msg/sec pthread_spinlock, 8,s: 6,704,171 msg/sec pthread_spinlock, 8,i: 6,925,935 msg/sec std::mutex, 1,s: 6,817,719 msg/sec std::mutex, 1,i: 6,761,617 msg/sec std::mutex, 2,s: 6,130,199 msg/sec std::mutex, 2,i: 6,355,907 msg/sec std::mutex, 3,s: 6,031,624 msg/sec std::mutex, 3,i: 5,994,485 msg/sec std::mutex, 4,s: 6,322,152 msg/sec std::mutex, 4,i: 6,215,733 msg/sec std::mutex, 5,s: 6,103,646 msg/sec std::mutex, 5,i: 5,976,194 msg/sec std::mutex, 6,s: 5,958,554 msg/sec std::mutex, 6,i: 5,957,263 msg/sec std::mutex, 7,s: 5,801,587 msg/sec std::mutex, 7,i: 5,805,653 msg/sec std::mutex, 8,s: 5,694,432 msg/sec std::mutex, 8,i: 5,680,415 msg/sec tbb::spin_mutex, 1,s: 37,490,484 msg/sec tbb::spin_mutex, 1,i: 37,669,540 msg/sec tbb::spin_mutex, 2,s: 21,100,375 msg/sec tbb::spin_mutex, 2,i: 18,547,619 msg/sec tbb::spin_mutex, 3,s: 8,849,280 msg/sec tbb::spin_mutex, 3,i: 10,148,144 msg/sec tbb::spin_mutex, 4,s: 3,188,499 msg/sec tbb::spin_mutex, 4,i: 6,397,429 msg/sec tbb::spin_mutex, 5,s: 5,271,419 msg/sec tbb::spin_mutex, 5,i: 5,828,898 msg/sec tbb::spin_mutex, 6,s: 5,358,082 msg/sec tbb::spin_mutex, 6,i: 4,358,559 msg/sec tbb::spin_mutex, 7,s: 4,850,850 msg/sec tbb::spin_mutex, 7,i: 4,335,758 msg/sec tbb::spin_mutex, 8,s: 4,249,774 msg/sec tbb::spin_mutex, 8,i: 4,138,589 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,540,580 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,230,499 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,462,334 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,895,984 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,099,290 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,584,730 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,302,948 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,258,476 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,586,727 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,174,908 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,046,230 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,485,890 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,047,175 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,668,923 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,055,858 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,693,746 msg/sec xenium::michael_scott_queue, 1,s: 9,375,930 msg/sec xenium::michael_scott_queue, 1,i: 9,569,045 msg/sec xenium::michael_scott_queue, 2,s: 8,564,307 msg/sec xenium::michael_scott_queue, 2,i: 8,389,138 msg/sec xenium::michael_scott_queue, 3,s: 7,277,009 msg/sec xenium::michael_scott_queue, 3,i: 7,642,038 msg/sec xenium::michael_scott_queue, 4,s: 6,339,759 msg/sec xenium::michael_scott_queue, 4,i: 6,351,401 msg/sec xenium::michael_scott_queue, 5,s: 6,314,052 msg/sec xenium::michael_scott_queue, 5,i: 6,671,923 msg/sec xenium::michael_scott_queue, 6,s: 6,584,014 msg/sec xenium::michael_scott_queue, 6,i: 7,054,516 msg/sec xenium::michael_scott_queue, 7,s: 6,323,381 msg/sec xenium::michael_scott_queue, 7,i: 6,418,954 msg/sec xenium::michael_scott_queue, 8,s: 6,023,490 msg/sec xenium::michael_scott_queue, 8,i: 6,264,919 msg/sec xenium::ramalhete_queue, 1,s: 31,781,147 msg/sec xenium::ramalhete_queue, 1,i: 31,952,583 msg/sec xenium::ramalhete_queue, 2,s: 23,625,451 msg/sec xenium::ramalhete_queue, 2,i: 23,428,080 msg/sec xenium::ramalhete_queue, 3,s: 29,166,721 msg/sec xenium::ramalhete_queue, 3,i: 28,428,882 msg/sec xenium::ramalhete_queue, 4,s: 33,812,260 msg/sec xenium::ramalhete_queue, 4,i: 33,467,083 msg/sec xenium::ramalhete_queue, 5,s: 32,081,180 msg/sec xenium::ramalhete_queue, 5,i: 36,172,290 msg/sec xenium::ramalhete_queue, 6,s: 33,981,307 msg/sec xenium::ramalhete_queue, 6,i: 39,171,322 msg/sec xenium::ramalhete_queue, 7,s: 35,041,568 msg/sec xenium::ramalhete_queue, 7,i: 42,470,849 msg/sec xenium::ramalhete_queue, 8,s: 35,487,314 msg/sec xenium::ramalhete_queue, 8,i: 44,147,356 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,507,102 msg/sec xenium::vyukov_bounded_queue, 1,i: 100,608,540 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,427,264 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,516,504 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,636,669 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,756,380 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,563,862 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,310,257 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,633,652 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,389,373 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,967,400 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,217,842 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,292,943 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,102,051 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,436,909 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,297,502 msg/sec AtomicQueue, 1,s: 57,405,381 msg/sec AtomicQueue, 1,i: 56,557,855 msg/sec AtomicQueue, 2,s: 12,209,408 msg/sec AtomicQueue, 2,i: 11,742,911 msg/sec AtomicQueue, 3,s: 10,754,031 msg/sec AtomicQueue, 3,i: 9,978,173 msg/sec AtomicQueue, 4,s: 8,181,659 msg/sec AtomicQueue, 4,i: 8,197,911 msg/sec AtomicQueue, 5,s: 8,008,068 msg/sec AtomicQueue, 5,i: 8,129,533 msg/sec AtomicQueue, 6,s: 7,946,281 msg/sec AtomicQueue, 6,i: 7,623,150 msg/sec AtomicQueue, 7,s: 7,083,421 msg/sec AtomicQueue, 7,i: 8,019,791 msg/sec AtomicQueue, 8,s: 6,316,998 msg/sec AtomicQueue, 8,i: 7,297,707 msg/sec AtomicQueueB, 1,s: 45,094,321 msg/sec AtomicQueueB, 1,i: 43,877,058 msg/sec AtomicQueueB, 2,s: 11,852,875 msg/sec AtomicQueueB, 2,i: 11,525,489 msg/sec AtomicQueueB, 3,s: 11,010,629 msg/sec AtomicQueueB, 3,i: 10,100,404 msg/sec AtomicQueueB, 4,s: 8,022,467 msg/sec AtomicQueueB, 4,i: 7,980,265 msg/sec AtomicQueueB, 5,s: 7,681,225 msg/sec AtomicQueueB, 5,i: 7,784,354 msg/sec AtomicQueueB, 6,s: 7,162,542 msg/sec AtomicQueueB, 6,i: 7,510,161 msg/sec AtomicQueueB, 7,s: 6,930,047 msg/sec AtomicQueueB, 7,i: 7,738,702 msg/sec AtomicQueueB, 8,s: 6,209,909 msg/sec AtomicQueueB, 8,i: 7,012,713 msg/sec OptimistAtomicQueue, 1,s: 692,446,567 msg/sec OptimistAtomicQueue, 1,i: 712,853,007 msg/sec OptimistAtomicQueue, 2,s: 32,544,976 msg/sec OptimistAtomicQueue, 2,i: 32,587,955 msg/sec OptimistAtomicQueue, 3,s: 36,692,533 msg/sec OptimistAtomicQueue, 3,i: 37,414,733 msg/sec OptimistAtomicQueue, 4,s: 39,267,379 msg/sec OptimistAtomicQueue, 4,i: 39,386,601 msg/sec OptimistAtomicQueue, 5,s: 41,750,571 msg/sec OptimistAtomicQueue, 5,i: 47,074,815 msg/sec OptimistAtomicQueue, 6,s: 42,936,621 msg/sec OptimistAtomicQueue, 6,i: 50,505,345 msg/sec OptimistAtomicQueue, 7,s: 44,427,486 msg/sec OptimistAtomicQueue, 7,i: 52,990,526 msg/sec OptimistAtomicQueue, 8,s: 46,427,990 msg/sec OptimistAtomicQueue, 8,i: 48,877,368 msg/sec OptimistAtomicQueueB, 1,s: 78,047,903 msg/sec OptimistAtomicQueueB, 1,i: 77,848,013 msg/sec OptimistAtomicQueueB, 2,s: 32,253,889 msg/sec OptimistAtomicQueueB, 2,i: 31,893,595 msg/sec OptimistAtomicQueueB, 3,s: 36,284,830 msg/sec OptimistAtomicQueueB, 3,i: 36,879,596 msg/sec OptimistAtomicQueueB, 4,s: 38,731,899 msg/sec OptimistAtomicQueueB, 4,i: 38,537,036 msg/sec OptimistAtomicQueueB, 5,s: 40,979,060 msg/sec OptimistAtomicQueueB, 5,i: 45,481,044 msg/sec OptimistAtomicQueueB, 6,s: 41,121,243 msg/sec OptimistAtomicQueueB, 6,i: 49,171,529 msg/sec OptimistAtomicQueueB, 7,s: 41,737,665 msg/sec OptimistAtomicQueueB, 7,i: 50,762,146 msg/sec OptimistAtomicQueueB, 8,s: 44,160,532 msg/sec OptimistAtomicQueueB, 8,i: 48,070,831 msg/sec AtomicQueue2, 1,s: 22,866,535 msg/sec AtomicQueue2, 1,i: 22,865,134 msg/sec AtomicQueue2, 2,s: 11,843,356 msg/sec AtomicQueue2, 2,i: 11,390,453 msg/sec AtomicQueue2, 3,s: 9,489,126 msg/sec AtomicQueue2, 3,i: 9,468,120 msg/sec AtomicQueue2, 4,s: 8,120,138 msg/sec AtomicQueue2, 4,i: 8,073,323 msg/sec AtomicQueue2, 5,s: 7,935,536 msg/sec AtomicQueue2, 5,i: 8,069,472 msg/sec AtomicQueue2, 6,s: 7,811,775 msg/sec AtomicQueue2, 6,i: 7,517,648 msg/sec AtomicQueue2, 7,s: 7,182,670 msg/sec AtomicQueue2, 7,i: 7,880,005 msg/sec AtomicQueue2, 8,s: 6,376,010 msg/sec AtomicQueue2, 8,i: 7,354,880 msg/sec AtomicQueueB2, 1,s: 36,314,966 msg/sec AtomicQueueB2, 1,i: 32,622,642 msg/sec AtomicQueueB2, 2,s: 11,401,837 msg/sec AtomicQueueB2, 2,i: 11,108,522 msg/sec AtomicQueueB2, 3,s: 9,669,328 msg/sec AtomicQueueB2, 3,i: 9,554,025 msg/sec AtomicQueueB2, 4,s: 7,926,084 msg/sec AtomicQueueB2, 4,i: 7,850,612 msg/sec AtomicQueueB2, 5,s: 7,457,679 msg/sec AtomicQueueB2, 5,i: 7,670,301 msg/sec AtomicQueueB2, 6,s: 7,319,303 msg/sec AtomicQueueB2, 6,i: 7,456,544 msg/sec AtomicQueueB2, 7,s: 6,771,631 msg/sec AtomicQueueB2, 7,i: 7,710,138 msg/sec AtomicQueueB2, 8,s: 6,255,078 msg/sec AtomicQueueB2, 8,i: 7,100,527 msg/sec OptimistAtomicQueue2, 1,s: 420,639,607 msg/sec OptimistAtomicQueue2, 1,i: 31,970,440 msg/sec OptimistAtomicQueue2, 2,s: 22,697,508 msg/sec OptimistAtomicQueue2, 2,i: 24,974,485 msg/sec OptimistAtomicQueue2, 3,s: 30,322,121 msg/sec OptimistAtomicQueue2, 3,i: 29,948,889 msg/sec OptimistAtomicQueue2, 4,s: 33,234,142 msg/sec OptimistAtomicQueue2, 4,i: 33,388,800 msg/sec OptimistAtomicQueue2, 5,s: 37,187,827 msg/sec OptimistAtomicQueue2, 5,i: 43,105,904 msg/sec OptimistAtomicQueue2, 6,s: 40,394,787 msg/sec OptimistAtomicQueue2, 6,i: 49,283,711 msg/sec OptimistAtomicQueue2, 7,s: 43,198,614 msg/sec OptimistAtomicQueue2, 7,i: 51,615,939 msg/sec OptimistAtomicQueue2, 8,s: 43,875,407 msg/sec OptimistAtomicQueue2, 8,i: 48,491,975 msg/sec OptimistAtomicQueueB2, 1,s: 76,180,608 msg/sec OptimistAtomicQueueB2, 1,i: 34,305,232 msg/sec OptimistAtomicQueueB2, 2,s: 27,832,584 msg/sec OptimistAtomicQueueB2, 2,i: 23,155,242 msg/sec OptimistAtomicQueueB2, 3,s: 29,690,779 msg/sec OptimistAtomicQueueB2, 3,i: 33,348,671 msg/sec OptimistAtomicQueueB2, 4,s: 33,409,418 msg/sec OptimistAtomicQueueB2, 4,i: 32,145,138 msg/sec OptimistAtomicQueueB2, 5,s: 34,347,809 msg/sec OptimistAtomicQueueB2, 5,i: 39,591,303 msg/sec OptimistAtomicQueueB2, 6,s: 37,448,070 msg/sec OptimistAtomicQueueB2, 6,i: 42,564,592 msg/sec OptimistAtomicQueueB2, 7,s: 40,162,885 msg/sec OptimistAtomicQueueB2, 7,i: 43,093,989 msg/sec OptimistAtomicQueueB2, 8,s: 42,097,921 msg/sec OptimistAtomicQueueB2, 8,i: 46,115,963 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000126 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000260 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [63] 398m:13s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,883,731 msg/sec boost::lockfree::spsc_queue, 1,i: 73,502,953 msg/sec boost::lockfree::queue, 1,s: 7,945,232 msg/sec boost::lockfree::queue, 1,i: 7,924,765 msg/sec boost::lockfree::queue, 2,s: 7,626,734 msg/sec boost::lockfree::queue, 2,i: 7,580,329 msg/sec boost::lockfree::queue, 3,s: 7,354,458 msg/sec boost::lockfree::queue, 3,i: 7,484,079 msg/sec boost::lockfree::queue, 4,s: 6,419,949 msg/sec boost::lockfree::queue, 4,i: 6,789,270 msg/sec boost::lockfree::queue, 5,s: 6,375,825 msg/sec boost::lockfree::queue, 5,i: 6,505,335 msg/sec boost::lockfree::queue, 6,s: 5,990,127 msg/sec boost::lockfree::queue, 6,i: 6,094,891 msg/sec boost::lockfree::queue, 7,s: 5,930,716 msg/sec boost::lockfree::queue, 7,i: 6,049,157 msg/sec boost::lockfree::queue, 8,s: 5,425,615 msg/sec boost::lockfree::queue, 8,i: 5,566,275 msg/sec moodycamel::ReaderWriterQueue, 1,s: 115,840,398 msg/sec moodycamel::ReaderWriterQueue, 1,i: 98,799,936 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,218,652 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,758,094 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,089,550 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,489,086 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,729,753 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,443,841 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,347,037 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,790,363 msg/sec moodycamel::ConcurrentQueue, 5,s: 31,045,248 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,391,636 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,408,214 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,050,966 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,086,260 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,913,177 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,642,456 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,347,834 msg/sec pthread_spinlock, 1,s: 29,009,898 msg/sec pthread_spinlock, 1,i: 25,386,673 msg/sec pthread_spinlock, 2,s: 15,630,180 msg/sec pthread_spinlock, 2,i: 16,833,783 msg/sec pthread_spinlock, 3,s: 8,278,301 msg/sec pthread_spinlock, 3,i: 12,125,824 msg/sec pthread_spinlock, 4,s: 6,461,481 msg/sec pthread_spinlock, 4,i: 8,946,726 msg/sec pthread_spinlock, 5,s: 8,655,732 msg/sec pthread_spinlock, 5,i: 9,216,241 msg/sec pthread_spinlock, 6,s: 8,281,552 msg/sec pthread_spinlock, 6,i: 8,525,498 msg/sec pthread_spinlock, 7,s: 7,541,619 msg/sec pthread_spinlock, 7,i: 7,504,798 msg/sec pthread_spinlock, 8,s: 6,725,531 msg/sec pthread_spinlock, 8,i: 7,221,006 msg/sec std::mutex, 1,s: 6,544,207 msg/sec std::mutex, 1,i: 7,479,386 msg/sec std::mutex, 2,s: 6,333,180 msg/sec std::mutex, 2,i: 5,755,967 msg/sec std::mutex, 3,s: 5,989,355 msg/sec std::mutex, 3,i: 6,048,476 msg/sec std::mutex, 4,s: 6,238,082 msg/sec std::mutex, 4,i: 6,252,976 msg/sec std::mutex, 5,s: 5,908,737 msg/sec std::mutex, 5,i: 5,778,913 msg/sec std::mutex, 6,s: 5,897,551 msg/sec std::mutex, 6,i: 5,850,122 msg/sec std::mutex, 7,s: 5,787,682 msg/sec std::mutex, 7,i: 5,763,239 msg/sec std::mutex, 8,s: 5,695,441 msg/sec std::mutex, 8,i: 5,641,073 msg/sec tbb::spin_mutex, 1,s: 37,589,236 msg/sec tbb::spin_mutex, 1,i: 33,046,571 msg/sec tbb::spin_mutex, 2,s: 20,780,134 msg/sec tbb::spin_mutex, 2,i: 18,151,604 msg/sec tbb::spin_mutex, 3,s: 7,449,763 msg/sec tbb::spin_mutex, 3,i: 10,558,966 msg/sec tbb::spin_mutex, 4,s: 3,146,577 msg/sec tbb::spin_mutex, 4,i: 6,332,948 msg/sec tbb::spin_mutex, 5,s: 5,223,457 msg/sec tbb::spin_mutex, 5,i: 5,840,520 msg/sec tbb::spin_mutex, 6,s: 5,327,439 msg/sec tbb::spin_mutex, 6,i: 4,316,865 msg/sec tbb::spin_mutex, 7,s: 4,488,790 msg/sec tbb::spin_mutex, 7,i: 4,306,182 msg/sec tbb::spin_mutex, 8,s: 3,858,089 msg/sec tbb::spin_mutex, 8,i: 4,084,229 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,057,201 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,044,144 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,122,873 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,034,474 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,486,351 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,600,632 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,969,902 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,403,592 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,505,475 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,635,486 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,748,306 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,724,088 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,926,487 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,056,454 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,847,065 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,458,652 msg/sec xenium::michael_scott_queue, 1,s: 9,111,709 msg/sec xenium::michael_scott_queue, 1,i: 9,475,761 msg/sec xenium::michael_scott_queue, 2,s: 8,538,355 msg/sec xenium::michael_scott_queue, 2,i: 8,512,268 msg/sec xenium::michael_scott_queue, 3,s: 7,172,355 msg/sec xenium::michael_scott_queue, 3,i: 7,641,998 msg/sec xenium::michael_scott_queue, 4,s: 6,330,323 msg/sec xenium::michael_scott_queue, 4,i: 6,339,270 msg/sec xenium::michael_scott_queue, 5,s: 6,302,592 msg/sec xenium::michael_scott_queue, 5,i: 6,648,539 msg/sec xenium::michael_scott_queue, 6,s: 6,524,128 msg/sec xenium::michael_scott_queue, 6,i: 6,990,069 msg/sec xenium::michael_scott_queue, 7,s: 6,240,767 msg/sec xenium::michael_scott_queue, 7,i: 6,537,029 msg/sec xenium::michael_scott_queue, 8,s: 6,029,728 msg/sec xenium::michael_scott_queue, 8,i: 6,258,465 msg/sec xenium::ramalhete_queue, 1,s: 32,033,834 msg/sec xenium::ramalhete_queue, 1,i: 32,072,864 msg/sec xenium::ramalhete_queue, 2,s: 23,702,841 msg/sec xenium::ramalhete_queue, 2,i: 23,363,577 msg/sec xenium::ramalhete_queue, 3,s: 29,104,683 msg/sec xenium::ramalhete_queue, 3,i: 28,464,622 msg/sec xenium::ramalhete_queue, 4,s: 33,834,966 msg/sec xenium::ramalhete_queue, 4,i: 33,496,791 msg/sec xenium::ramalhete_queue, 5,s: 32,102,090 msg/sec xenium::ramalhete_queue, 5,i: 36,250,783 msg/sec xenium::ramalhete_queue, 6,s: 33,775,111 msg/sec xenium::ramalhete_queue, 6,i: 39,175,927 msg/sec xenium::ramalhete_queue, 7,s: 35,250,654 msg/sec xenium::ramalhete_queue, 7,i: 41,475,592 msg/sec xenium::ramalhete_queue, 8,s: 35,213,173 msg/sec xenium::ramalhete_queue, 8,i: 43,706,517 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,939,717 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,605,741 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,829,189 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,758,886 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,660,250 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,466,354 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,631,350 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,178,110 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,036,187 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,364,156 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,083,802 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,225,990 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,203,840 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,295,861 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,406,732 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,335,017 msg/sec AtomicQueue, 1,s: 58,769,163 msg/sec AtomicQueue, 1,i: 56,860,201 msg/sec AtomicQueue, 2,s: 12,337,614 msg/sec AtomicQueue, 2,i: 11,741,404 msg/sec AtomicQueue, 3,s: 10,701,658 msg/sec AtomicQueue, 3,i: 9,791,407 msg/sec AtomicQueue, 4,s: 8,130,086 msg/sec AtomicQueue, 4,i: 8,229,792 msg/sec AtomicQueue, 5,s: 8,054,544 msg/sec AtomicQueue, 5,i: 8,089,351 msg/sec AtomicQueue, 6,s: 7,969,703 msg/sec AtomicQueue, 6,i: 7,623,465 msg/sec AtomicQueue, 7,s: 7,160,098 msg/sec AtomicQueue, 7,i: 7,966,197 msg/sec AtomicQueue, 8,s: 6,344,482 msg/sec AtomicQueue, 8,i: 7,442,368 msg/sec AtomicQueueB, 1,s: 47,961,538 msg/sec AtomicQueueB, 1,i: 43,139,455 msg/sec AtomicQueueB, 2,s: 11,692,712 msg/sec AtomicQueueB, 2,i: 11,478,123 msg/sec AtomicQueueB, 3,s: 11,016,089 msg/sec AtomicQueueB, 3,i: 10,052,507 msg/sec AtomicQueueB, 4,s: 8,082,088 msg/sec AtomicQueueB, 4,i: 8,052,273 msg/sec AtomicQueueB, 5,s: 7,595,703 msg/sec AtomicQueueB, 5,i: 7,807,113 msg/sec AtomicQueueB, 6,s: 7,341,265 msg/sec AtomicQueueB, 6,i: 7,586,121 msg/sec AtomicQueueB, 7,s: 6,821,826 msg/sec AtomicQueueB, 7,i: 7,736,579 msg/sec AtomicQueueB, 8,s: 6,217,063 msg/sec AtomicQueueB, 8,i: 7,181,510 msg/sec OptimistAtomicQueue, 1,s: 753,813,968 msg/sec OptimistAtomicQueue, 1,i: 647,218,400 msg/sec OptimistAtomicQueue, 2,s: 32,561,465 msg/sec OptimistAtomicQueue, 2,i: 32,606,271 msg/sec OptimistAtomicQueue, 3,s: 36,688,603 msg/sec OptimistAtomicQueue, 3,i: 37,393,689 msg/sec OptimistAtomicQueue, 4,s: 39,261,461 msg/sec OptimistAtomicQueue, 4,i: 39,333,061 msg/sec OptimistAtomicQueue, 5,s: 42,355,662 msg/sec OptimistAtomicQueue, 5,i: 46,555,535 msg/sec OptimistAtomicQueue, 6,s: 42,687,084 msg/sec OptimistAtomicQueue, 6,i: 50,526,221 msg/sec OptimistAtomicQueue, 7,s: 45,124,258 msg/sec OptimistAtomicQueue, 7,i: 49,138,498 msg/sec OptimistAtomicQueue, 8,s: 46,302,844 msg/sec OptimistAtomicQueue, 8,i: 49,093,767 msg/sec OptimistAtomicQueueB, 1,s: 94,192,828 msg/sec OptimistAtomicQueueB, 1,i: 76,583,370 msg/sec OptimistAtomicQueueB, 2,s: 32,254,253 msg/sec OptimistAtomicQueueB, 2,i: 32,182,010 msg/sec OptimistAtomicQueueB, 3,s: 36,324,045 msg/sec OptimistAtomicQueueB, 3,i: 36,920,629 msg/sec OptimistAtomicQueueB, 4,s: 38,800,778 msg/sec OptimistAtomicQueueB, 4,i: 38,722,300 msg/sec OptimistAtomicQueueB, 5,s: 41,207,227 msg/sec OptimistAtomicQueueB, 5,i: 45,978,679 msg/sec OptimistAtomicQueueB, 6,s: 41,016,373 msg/sec OptimistAtomicQueueB, 6,i: 49,041,771 msg/sec OptimistAtomicQueueB, 7,s: 42,432,850 msg/sec OptimistAtomicQueueB, 7,i: 51,469,066 msg/sec OptimistAtomicQueueB, 8,s: 44,679,648 msg/sec OptimistAtomicQueueB, 8,i: 48,124,278 msg/sec AtomicQueue2, 1,s: 22,908,552 msg/sec AtomicQueue2, 1,i: 22,831,568 msg/sec AtomicQueue2, 2,s: 11,831,719 msg/sec AtomicQueue2, 2,i: 11,408,128 msg/sec AtomicQueue2, 3,s: 9,722,914 msg/sec AtomicQueue2, 3,i: 9,288,104 msg/sec AtomicQueue2, 4,s: 7,985,035 msg/sec AtomicQueue2, 4,i: 8,083,009 msg/sec AtomicQueue2, 5,s: 7,942,448 msg/sec AtomicQueue2, 5,i: 8,022,328 msg/sec AtomicQueue2, 6,s: 7,834,252 msg/sec AtomicQueue2, 6,i: 7,501,089 msg/sec AtomicQueue2, 7,s: 7,105,016 msg/sec AtomicQueue2, 7,i: 7,866,694 msg/sec AtomicQueue2, 8,s: 6,394,455 msg/sec AtomicQueue2, 8,i: 7,370,368 msg/sec AtomicQueueB2, 1,s: 36,007,927 msg/sec AtomicQueueB2, 1,i: 36,406,224 msg/sec AtomicQueueB2, 2,s: 11,459,443 msg/sec AtomicQueueB2, 2,i: 11,116,100 msg/sec AtomicQueueB2, 3,s: 9,599,287 msg/sec AtomicQueueB2, 3,i: 9,516,265 msg/sec AtomicQueueB2, 4,s: 7,956,204 msg/sec AtomicQueueB2, 4,i: 7,890,625 msg/sec AtomicQueueB2, 5,s: 7,444,140 msg/sec AtomicQueueB2, 5,i: 7,735,289 msg/sec AtomicQueueB2, 6,s: 7,123,930 msg/sec AtomicQueueB2, 6,i: 7,414,969 msg/sec AtomicQueueB2, 7,s: 6,871,241 msg/sec AtomicQueueB2, 7,i: 7,713,029 msg/sec AtomicQueueB2, 8,s: 6,236,583 msg/sec AtomicQueueB2, 8,i: 7,107,902 msg/sec OptimistAtomicQueue2, 1,s: 448,920,027 msg/sec OptimistAtomicQueue2, 1,i: 29,362,343 msg/sec OptimistAtomicQueue2, 2,s: 24,279,529 msg/sec OptimistAtomicQueue2, 2,i: 24,020,829 msg/sec OptimistAtomicQueue2, 3,s: 30,301,893 msg/sec OptimistAtomicQueue2, 3,i: 30,171,087 msg/sec OptimistAtomicQueue2, 4,s: 34,137,687 msg/sec OptimistAtomicQueue2, 4,i: 33,234,459 msg/sec OptimistAtomicQueue2, 5,s: 37,240,221 msg/sec OptimistAtomicQueue2, 5,i: 40,688,627 msg/sec OptimistAtomicQueue2, 6,s: 40,331,016 msg/sec OptimistAtomicQueue2, 6,i: 49,188,829 msg/sec OptimistAtomicQueue2, 7,s: 42,698,619 msg/sec OptimistAtomicQueue2, 7,i: 47,911,390 msg/sec OptimistAtomicQueue2, 8,s: 43,902,202 msg/sec OptimistAtomicQueue2, 8,i: 48,381,368 msg/sec OptimistAtomicQueueB2, 1,s: 77,410,543 msg/sec OptimistAtomicQueueB2, 1,i: 67,522,411 msg/sec OptimistAtomicQueueB2, 2,s: 28,665,297 msg/sec OptimistAtomicQueueB2, 2,i: 25,566,823 msg/sec OptimistAtomicQueueB2, 3,s: 29,695,773 msg/sec OptimistAtomicQueueB2, 3,i: 29,128,798 msg/sec OptimistAtomicQueueB2, 4,s: 32,995,969 msg/sec OptimistAtomicQueueB2, 4,i: 32,248,781 msg/sec OptimistAtomicQueueB2, 5,s: 34,487,795 msg/sec OptimistAtomicQueueB2, 5,i: 39,033,093 msg/sec OptimistAtomicQueueB2, 6,s: 37,297,879 msg/sec OptimistAtomicQueueB2, 6,i: 42,380,619 msg/sec OptimistAtomicQueueB2, 7,s: 40,888,149 msg/sec OptimistAtomicQueueB2, 7,i: 45,569,260 msg/sec OptimistAtomicQueueB2, 8,s: 42,413,771 msg/sec OptimistAtomicQueueB2, 8,i: 45,065,447 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000155 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000297 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [64] 396m:54s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,019,444 msg/sec boost::lockfree::spsc_queue, 1,i: 68,548,501 msg/sec boost::lockfree::queue, 1,s: 7,989,146 msg/sec boost::lockfree::queue, 1,i: 7,994,772 msg/sec boost::lockfree::queue, 2,s: 7,608,443 msg/sec boost::lockfree::queue, 2,i: 7,451,352 msg/sec boost::lockfree::queue, 3,s: 7,336,240 msg/sec boost::lockfree::queue, 3,i: 7,562,508 msg/sec boost::lockfree::queue, 4,s: 6,421,569 msg/sec boost::lockfree::queue, 4,i: 6,804,441 msg/sec boost::lockfree::queue, 5,s: 6,373,953 msg/sec boost::lockfree::queue, 5,i: 6,496,218 msg/sec boost::lockfree::queue, 6,s: 6,012,240 msg/sec boost::lockfree::queue, 6,i: 6,114,400 msg/sec boost::lockfree::queue, 7,s: 5,885,494 msg/sec boost::lockfree::queue, 7,i: 5,952,054 msg/sec boost::lockfree::queue, 8,s: 5,443,718 msg/sec boost::lockfree::queue, 8,i: 5,651,454 msg/sec moodycamel::ReaderWriterQueue, 1,s: 81,800,323 msg/sec moodycamel::ReaderWriterQueue, 1,i: 77,966,441 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,311,614 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,495,234 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,645,892 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,742,414 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,983,122 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,837,433 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,736,108 msg/sec moodycamel::ConcurrentQueue, 4,i: 29,225,343 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,053,366 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,876,546 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,249,167 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,475,810 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,162,354 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,339,325 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,294,903 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,258,575 msg/sec pthread_spinlock, 1,s: 28,913,063 msg/sec pthread_spinlock, 1,i: 25,331,479 msg/sec pthread_spinlock, 2,s: 15,883,007 msg/sec pthread_spinlock, 2,i: 17,157,479 msg/sec pthread_spinlock, 3,s: 8,302,902 msg/sec pthread_spinlock, 3,i: 12,046,861 msg/sec pthread_spinlock, 4,s: 6,473,524 msg/sec pthread_spinlock, 4,i: 9,014,149 msg/sec pthread_spinlock, 5,s: 8,743,396 msg/sec pthread_spinlock, 5,i: 9,576,289 msg/sec pthread_spinlock, 6,s: 8,536,956 msg/sec pthread_spinlock, 6,i: 9,013,392 msg/sec pthread_spinlock, 7,s: 7,476,280 msg/sec pthread_spinlock, 7,i: 7,697,890 msg/sec pthread_spinlock, 8,s: 6,717,077 msg/sec pthread_spinlock, 8,i: 7,087,684 msg/sec std::mutex, 1,s: 6,687,000 msg/sec std::mutex, 1,i: 6,530,152 msg/sec std::mutex, 2,s: 5,656,026 msg/sec std::mutex, 2,i: 5,200,798 msg/sec std::mutex, 3,s: 5,059,102 msg/sec std::mutex, 3,i: 4,936,056 msg/sec std::mutex, 4,s: 6,204,495 msg/sec std::mutex, 4,i: 6,173,948 msg/sec std::mutex, 5,s: 5,897,846 msg/sec std::mutex, 5,i: 5,769,172 msg/sec std::mutex, 6,s: 5,859,544 msg/sec std::mutex, 6,i: 5,841,458 msg/sec std::mutex, 7,s: 5,732,383 msg/sec std::mutex, 7,i: 5,728,196 msg/sec std::mutex, 8,s: 5,646,855 msg/sec std::mutex, 8,i: 5,618,093 msg/sec tbb::spin_mutex, 1,s: 41,937,261 msg/sec tbb::spin_mutex, 1,i: 41,659,505 msg/sec tbb::spin_mutex, 2,s: 21,261,000 msg/sec tbb::spin_mutex, 2,i: 18,431,689 msg/sec tbb::spin_mutex, 3,s: 8,360,536 msg/sec tbb::spin_mutex, 3,i: 10,208,369 msg/sec tbb::spin_mutex, 4,s: 3,212,377 msg/sec tbb::spin_mutex, 4,i: 6,332,323 msg/sec tbb::spin_mutex, 5,s: 5,201,617 msg/sec tbb::spin_mutex, 5,i: 5,609,163 msg/sec tbb::spin_mutex, 6,s: 5,303,397 msg/sec tbb::spin_mutex, 6,i: 4,354,676 msg/sec tbb::spin_mutex, 7,s: 4,884,619 msg/sec tbb::spin_mutex, 7,i: 4,301,600 msg/sec tbb::spin_mutex, 8,s: 4,231,167 msg/sec tbb::spin_mutex, 8,i: 4,080,664 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,360,922 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,051,162 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,809,042 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,859,658 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,347,989 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,527,961 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,367,891 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,285,336 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,711,610 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,776,174 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,773,432 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,984,591 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,935,074 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,949,056 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,888,458 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,124,042 msg/sec xenium::michael_scott_queue, 1,s: 9,414,774 msg/sec xenium::michael_scott_queue, 1,i: 9,426,441 msg/sec xenium::michael_scott_queue, 2,s: 8,590,828 msg/sec xenium::michael_scott_queue, 2,i: 8,429,501 msg/sec xenium::michael_scott_queue, 3,s: 7,437,319 msg/sec xenium::michael_scott_queue, 3,i: 7,555,775 msg/sec xenium::michael_scott_queue, 4,s: 6,261,663 msg/sec xenium::michael_scott_queue, 4,i: 6,311,437 msg/sec xenium::michael_scott_queue, 5,s: 6,280,203 msg/sec xenium::michael_scott_queue, 5,i: 6,654,846 msg/sec xenium::michael_scott_queue, 6,s: 6,507,977 msg/sec xenium::michael_scott_queue, 6,i: 6,706,408 msg/sec xenium::michael_scott_queue, 7,s: 6,288,953 msg/sec xenium::michael_scott_queue, 7,i: 6,531,634 msg/sec xenium::michael_scott_queue, 8,s: 6,030,966 msg/sec xenium::michael_scott_queue, 8,i: 6,229,637 msg/sec xenium::ramalhete_queue, 1,s: 31,992,661 msg/sec xenium::ramalhete_queue, 1,i: 31,891,061 msg/sec xenium::ramalhete_queue, 2,s: 23,516,616 msg/sec xenium::ramalhete_queue, 2,i: 23,335,635 msg/sec xenium::ramalhete_queue, 3,s: 29,168,606 msg/sec xenium::ramalhete_queue, 3,i: 28,516,679 msg/sec xenium::ramalhete_queue, 4,s: 33,692,717 msg/sec xenium::ramalhete_queue, 4,i: 33,448,288 msg/sec xenium::ramalhete_queue, 5,s: 32,090,743 msg/sec xenium::ramalhete_queue, 5,i: 35,907,985 msg/sec xenium::ramalhete_queue, 6,s: 33,919,465 msg/sec xenium::ramalhete_queue, 6,i: 38,857,845 msg/sec xenium::ramalhete_queue, 7,s: 35,048,843 msg/sec xenium::ramalhete_queue, 7,i: 41,057,533 msg/sec xenium::ramalhete_queue, 8,s: 35,369,826 msg/sec xenium::ramalhete_queue, 8,i: 43,916,527 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,760,744 msg/sec xenium::vyukov_bounded_queue, 1,i: 94,637,832 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,759,968 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,105,854 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,750,644 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,798,181 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,687,516 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,057,447 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,988,171 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,312,537 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,078,637 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,205,800 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,243,901 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,342,405 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,401,769 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,201,295 msg/sec AtomicQueue, 1,s: 61,955,772 msg/sec AtomicQueue, 1,i: 56,491,261 msg/sec AtomicQueue, 2,s: 12,282,086 msg/sec AtomicQueue, 2,i: 11,736,454 msg/sec AtomicQueue, 3,s: 10,802,612 msg/sec AtomicQueue, 3,i: 9,953,834 msg/sec AtomicQueue, 4,s: 8,179,734 msg/sec AtomicQueue, 4,i: 8,184,001 msg/sec AtomicQueue, 5,s: 7,982,599 msg/sec AtomicQueue, 5,i: 8,084,105 msg/sec AtomicQueue, 6,s: 7,783,833 msg/sec AtomicQueue, 6,i: 7,595,811 msg/sec AtomicQueue, 7,s: 7,126,034 msg/sec AtomicQueue, 7,i: 7,984,249 msg/sec AtomicQueue, 8,s: 6,340,630 msg/sec AtomicQueue, 8,i: 7,454,767 msg/sec AtomicQueueB, 1,s: 43,850,018 msg/sec AtomicQueueB, 1,i: 43,003,661 msg/sec AtomicQueueB, 2,s: 11,645,737 msg/sec AtomicQueueB, 2,i: 11,460,338 msg/sec AtomicQueueB, 3,s: 11,035,629 msg/sec AtomicQueueB, 3,i: 10,045,637 msg/sec AtomicQueueB, 4,s: 8,035,810 msg/sec AtomicQueueB, 4,i: 7,938,366 msg/sec AtomicQueueB, 5,s: 7,718,893 msg/sec AtomicQueueB, 5,i: 7,832,424 msg/sec AtomicQueueB, 6,s: 7,354,275 msg/sec AtomicQueueB, 6,i: 7,564,499 msg/sec AtomicQueueB, 7,s: 6,883,532 msg/sec AtomicQueueB, 7,i: 7,720,472 msg/sec AtomicQueueB, 8,s: 6,208,342 msg/sec AtomicQueueB, 8,i: 7,027,775 msg/sec OptimistAtomicQueue, 1,s: 784,416,930 msg/sec OptimistAtomicQueue, 1,i: 580,835,703 msg/sec OptimistAtomicQueue, 2,s: 32,626,281 msg/sec OptimistAtomicQueue, 2,i: 32,701,856 msg/sec OptimistAtomicQueue, 3,s: 36,652,221 msg/sec OptimistAtomicQueue, 3,i: 37,368,206 msg/sec OptimistAtomicQueue, 4,s: 39,310,064 msg/sec OptimistAtomicQueue, 4,i: 39,426,215 msg/sec OptimistAtomicQueue, 5,s: 41,512,702 msg/sec OptimistAtomicQueue, 5,i: 48,646,287 msg/sec OptimistAtomicQueue, 6,s: 42,586,922 msg/sec OptimistAtomicQueue, 6,i: 50,261,235 msg/sec OptimistAtomicQueue, 7,s: 44,286,590 msg/sec OptimistAtomicQueue, 7,i: 51,999,912 msg/sec OptimistAtomicQueue, 8,s: 46,376,442 msg/sec OptimistAtomicQueue, 8,i: 49,091,991 msg/sec OptimistAtomicQueueB, 1,s: 166,433,244 msg/sec OptimistAtomicQueueB, 1,i: 77,759,064 msg/sec OptimistAtomicQueueB, 2,s: 32,137,124 msg/sec OptimistAtomicQueueB, 2,i: 32,269,611 msg/sec OptimistAtomicQueueB, 3,s: 36,286,669 msg/sec OptimistAtomicQueueB, 3,i: 36,991,699 msg/sec OptimistAtomicQueueB, 4,s: 38,697,092 msg/sec OptimistAtomicQueueB, 4,i: 38,637,069 msg/sec OptimistAtomicQueueB, 5,s: 40,919,812 msg/sec OptimistAtomicQueueB, 5,i: 46,077,501 msg/sec OptimistAtomicQueueB, 6,s: 41,211,096 msg/sec OptimistAtomicQueueB, 6,i: 49,167,641 msg/sec OptimistAtomicQueueB, 7,s: 42,156,405 msg/sec OptimistAtomicQueueB, 7,i: 47,924,768 msg/sec OptimistAtomicQueueB, 8,s: 44,582,198 msg/sec OptimistAtomicQueueB, 8,i: 47,838,934 msg/sec AtomicQueue2, 1,s: 22,888,201 msg/sec AtomicQueue2, 1,i: 22,892,971 msg/sec AtomicQueue2, 2,s: 11,654,473 msg/sec AtomicQueue2, 2,i: 11,436,007 msg/sec AtomicQueue2, 3,s: 9,430,644 msg/sec AtomicQueue2, 3,i: 9,376,198 msg/sec AtomicQueue2, 4,s: 8,039,316 msg/sec AtomicQueue2, 4,i: 8,057,611 msg/sec AtomicQueue2, 5,s: 7,930,110 msg/sec AtomicQueue2, 5,i: 8,007,765 msg/sec AtomicQueue2, 6,s: 7,901,096 msg/sec AtomicQueue2, 6,i: 7,529,746 msg/sec AtomicQueue2, 7,s: 7,131,390 msg/sec AtomicQueue2, 7,i: 7,901,517 msg/sec AtomicQueue2, 8,s: 6,414,358 msg/sec AtomicQueue2, 8,i: 7,340,475 msg/sec AtomicQueueB2, 1,s: 38,765,147 msg/sec AtomicQueueB2, 1,i: 38,714,487 msg/sec AtomicQueueB2, 2,s: 11,421,637 msg/sec AtomicQueueB2, 2,i: 11,140,401 msg/sec AtomicQueueB2, 3,s: 9,563,914 msg/sec AtomicQueueB2, 3,i: 9,583,714 msg/sec AtomicQueueB2, 4,s: 8,008,821 msg/sec AtomicQueueB2, 4,i: 7,793,245 msg/sec AtomicQueueB2, 5,s: 7,480,000 msg/sec AtomicQueueB2, 5,i: 7,716,926 msg/sec AtomicQueueB2, 6,s: 7,225,388 msg/sec AtomicQueueB2, 6,i: 7,483,392 msg/sec AtomicQueueB2, 7,s: 6,811,947 msg/sec AtomicQueueB2, 7,i: 7,684,539 msg/sec AtomicQueueB2, 8,s: 6,207,718 msg/sec AtomicQueueB2, 8,i: 7,104,535 msg/sec OptimistAtomicQueue2, 1,s: 71,139,714 msg/sec OptimistAtomicQueue2, 1,i: 31,994,868 msg/sec OptimistAtomicQueue2, 2,s: 25,812,524 msg/sec OptimistAtomicQueue2, 2,i: 24,014,147 msg/sec OptimistAtomicQueue2, 3,s: 30,329,388 msg/sec OptimistAtomicQueue2, 3,i: 29,900,373 msg/sec OptimistAtomicQueue2, 4,s: 33,387,792 msg/sec OptimistAtomicQueue2, 4,i: 32,959,161 msg/sec OptimistAtomicQueue2, 5,s: 37,170,899 msg/sec OptimistAtomicQueue2, 5,i: 41,568,308 msg/sec OptimistAtomicQueue2, 6,s: 40,221,636 msg/sec OptimistAtomicQueue2, 6,i: 49,113,104 msg/sec OptimistAtomicQueue2, 7,s: 42,985,088 msg/sec OptimistAtomicQueue2, 7,i: 47,993,747 msg/sec OptimistAtomicQueue2, 8,s: 43,806,316 msg/sec OptimistAtomicQueue2, 8,i: 48,232,230 msg/sec OptimistAtomicQueueB2, 1,s: 77,728,251 msg/sec OptimistAtomicQueueB2, 1,i: 33,870,665 msg/sec OptimistAtomicQueueB2, 2,s: 27,122,858 msg/sec OptimistAtomicQueueB2, 2,i: 23,229,879 msg/sec OptimistAtomicQueueB2, 3,s: 29,792,376 msg/sec OptimistAtomicQueueB2, 3,i: 29,176,338 msg/sec OptimistAtomicQueueB2, 4,s: 33,138,975 msg/sec OptimistAtomicQueueB2, 4,i: 32,055,882 msg/sec OptimistAtomicQueueB2, 5,s: 34,707,770 msg/sec OptimistAtomicQueueB2, 5,i: 39,248,263 msg/sec OptimistAtomicQueueB2, 6,s: 37,135,293 msg/sec OptimistAtomicQueueB2, 6,i: 42,539,992 msg/sec OptimistAtomicQueueB2, 7,s: 40,734,702 msg/sec OptimistAtomicQueueB2, 7,i: 43,099,582 msg/sec OptimistAtomicQueueB2, 8,s: 42,049,284 msg/sec OptimistAtomicQueueB2, 8,i: 45,825,789 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000217 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000446 sec/round-trip tbb::spin_mutex: 0.000000257 sec/round-trip tbb::concurrent_bounded_queue: 0.000000298 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [65] 395m:34s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,661,196 msg/sec boost::lockfree::spsc_queue, 1,i: 67,569,330 msg/sec boost::lockfree::queue, 1,s: 6,898,301 msg/sec boost::lockfree::queue, 1,i: 6,778,952 msg/sec boost::lockfree::queue, 2,s: 7,334,313 msg/sec boost::lockfree::queue, 2,i: 7,451,464 msg/sec boost::lockfree::queue, 3,s: 7,358,455 msg/sec boost::lockfree::queue, 3,i: 7,522,753 msg/sec boost::lockfree::queue, 4,s: 6,428,281 msg/sec boost::lockfree::queue, 4,i: 6,825,419 msg/sec boost::lockfree::queue, 5,s: 6,430,360 msg/sec boost::lockfree::queue, 5,i: 6,509,962 msg/sec boost::lockfree::queue, 6,s: 5,955,641 msg/sec boost::lockfree::queue, 6,i: 6,071,708 msg/sec boost::lockfree::queue, 7,s: 6,029,833 msg/sec boost::lockfree::queue, 7,i: 6,033,478 msg/sec boost::lockfree::queue, 8,s: 5,481,556 msg/sec boost::lockfree::queue, 8,i: 5,706,026 msg/sec moodycamel::ReaderWriterQueue, 1,s: 57,385,749 msg/sec moodycamel::ReaderWriterQueue, 1,i: 55,758,530 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,650,461 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,493,813 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,002,933 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,375,988 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,804,060 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,722,258 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,324,040 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,700,802 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,405,608 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,787,864 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,884,076 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,834,871 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,282,001 msg/sec moodycamel::ConcurrentQueue, 7,i: 34,008,796 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,198,669 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,744,228 msg/sec pthread_spinlock, 1,s: 29,081,676 msg/sec pthread_spinlock, 1,i: 25,593,249 msg/sec pthread_spinlock, 2,s: 14,933,633 msg/sec pthread_spinlock, 2,i: 16,841,772 msg/sec pthread_spinlock, 3,s: 8,381,856 msg/sec pthread_spinlock, 3,i: 12,036,943 msg/sec pthread_spinlock, 4,s: 6,499,061 msg/sec pthread_spinlock, 4,i: 8,979,418 msg/sec pthread_spinlock, 5,s: 8,811,359 msg/sec pthread_spinlock, 5,i: 9,165,281 msg/sec pthread_spinlock, 6,s: 8,582,521 msg/sec pthread_spinlock, 6,i: 8,915,381 msg/sec pthread_spinlock, 7,s: 7,499,184 msg/sec pthread_spinlock, 7,i: 8,438,430 msg/sec pthread_spinlock, 8,s: 6,900,969 msg/sec pthread_spinlock, 8,i: 6,922,980 msg/sec std::mutex, 1,s: 7,008,420 msg/sec std::mutex, 1,i: 6,909,139 msg/sec std::mutex, 2,s: 6,327,841 msg/sec std::mutex, 2,i: 5,960,148 msg/sec std::mutex, 3,s: 6,022,324 msg/sec std::mutex, 3,i: 5,469,705 msg/sec std::mutex, 4,s: 5,240,191 msg/sec std::mutex, 4,i: 6,191,573 msg/sec std::mutex, 5,s: 5,987,032 msg/sec std::mutex, 5,i: 5,993,089 msg/sec std::mutex, 6,s: 5,878,656 msg/sec std::mutex, 6,i: 5,868,097 msg/sec std::mutex, 7,s: 5,761,191 msg/sec std::mutex, 7,i: 5,688,919 msg/sec std::mutex, 8,s: 5,628,610 msg/sec std::mutex, 8,i: 5,640,564 msg/sec tbb::spin_mutex, 1,s: 37,904,474 msg/sec tbb::spin_mutex, 1,i: 37,807,434 msg/sec tbb::spin_mutex, 2,s: 21,023,278 msg/sec tbb::spin_mutex, 2,i: 18,882,567 msg/sec tbb::spin_mutex, 3,s: 7,974,703 msg/sec tbb::spin_mutex, 3,i: 10,727,819 msg/sec tbb::spin_mutex, 4,s: 3,305,274 msg/sec tbb::spin_mutex, 4,i: 6,378,709 msg/sec tbb::spin_mutex, 5,s: 5,359,821 msg/sec tbb::spin_mutex, 5,i: 5,665,670 msg/sec tbb::spin_mutex, 6,s: 5,289,120 msg/sec tbb::spin_mutex, 6,i: 4,373,447 msg/sec tbb::spin_mutex, 7,s: 4,493,154 msg/sec tbb::spin_mutex, 7,i: 4,334,776 msg/sec tbb::spin_mutex, 8,s: 4,246,921 msg/sec tbb::spin_mutex, 8,i: 4,053,640 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,073,822 msg/sec tbb::concurrent_bounded_queue, 1,i: 10,925,661 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,723,351 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,753,326 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,303,855 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,018,653 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,351,598 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,250,280 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,638,666 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,683,830 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,756,403 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,954,838 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,979,950 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,049,635 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,900,268 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,114,251 msg/sec xenium::michael_scott_queue, 1,s: 9,159,878 msg/sec xenium::michael_scott_queue, 1,i: 9,032,595 msg/sec xenium::michael_scott_queue, 2,s: 8,486,721 msg/sec xenium::michael_scott_queue, 2,i: 8,413,841 msg/sec xenium::michael_scott_queue, 3,s: 7,235,998 msg/sec xenium::michael_scott_queue, 3,i: 7,535,952 msg/sec xenium::michael_scott_queue, 4,s: 6,350,001 msg/sec xenium::michael_scott_queue, 4,i: 6,498,317 msg/sec xenium::michael_scott_queue, 5,s: 6,290,524 msg/sec xenium::michael_scott_queue, 5,i: 6,707,213 msg/sec xenium::michael_scott_queue, 6,s: 6,530,069 msg/sec xenium::michael_scott_queue, 6,i: 6,942,986 msg/sec xenium::michael_scott_queue, 7,s: 6,300,595 msg/sec xenium::michael_scott_queue, 7,i: 6,486,796 msg/sec xenium::michael_scott_queue, 8,s: 6,017,414 msg/sec xenium::michael_scott_queue, 8,i: 6,141,362 msg/sec xenium::ramalhete_queue, 1,s: 31,574,271 msg/sec xenium::ramalhete_queue, 1,i: 31,680,374 msg/sec xenium::ramalhete_queue, 2,s: 24,259,432 msg/sec xenium::ramalhete_queue, 2,i: 23,307,494 msg/sec xenium::ramalhete_queue, 3,s: 29,087,415 msg/sec xenium::ramalhete_queue, 3,i: 28,474,119 msg/sec xenium::ramalhete_queue, 4,s: 33,763,646 msg/sec xenium::ramalhete_queue, 4,i: 33,491,104 msg/sec xenium::ramalhete_queue, 5,s: 32,190,087 msg/sec xenium::ramalhete_queue, 5,i: 36,015,855 msg/sec xenium::ramalhete_queue, 6,s: 33,875,683 msg/sec xenium::ramalhete_queue, 6,i: 38,671,502 msg/sec xenium::ramalhete_queue, 7,s: 34,998,096 msg/sec xenium::ramalhete_queue, 7,i: 41,438,159 msg/sec xenium::ramalhete_queue, 8,s: 35,466,890 msg/sec xenium::ramalhete_queue, 8,i: 44,043,849 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,020,666 msg/sec xenium::vyukov_bounded_queue, 1,i: 83,875,615 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,982,736 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,976,702 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,602,904 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,224,437 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,726,150 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,164,743 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,979,719 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,316,026 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,042,934 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,192,812 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,163,392 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,062,865 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,690 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,250,286 msg/sec AtomicQueue, 1,s: 60,493,345 msg/sec AtomicQueue, 1,i: 56,667,220 msg/sec AtomicQueue, 2,s: 12,263,171 msg/sec AtomicQueue, 2,i: 11,738,163 msg/sec AtomicQueue, 3,s: 10,783,752 msg/sec AtomicQueue, 3,i: 9,887,113 msg/sec AtomicQueue, 4,s: 8,192,572 msg/sec AtomicQueue, 4,i: 8,164,578 msg/sec AtomicQueue, 5,s: 8,035,187 msg/sec AtomicQueue, 5,i: 8,072,047 msg/sec AtomicQueue, 6,s: 7,749,936 msg/sec AtomicQueue, 6,i: 7,609,768 msg/sec AtomicQueue, 7,s: 7,112,263 msg/sec AtomicQueue, 7,i: 7,979,441 msg/sec AtomicQueue, 8,s: 6,330,948 msg/sec AtomicQueue, 8,i: 7,294,606 msg/sec AtomicQueueB, 1,s: 44,228,634 msg/sec AtomicQueueB, 1,i: 43,014,217 msg/sec AtomicQueueB, 2,s: 11,808,979 msg/sec AtomicQueueB, 2,i: 11,480,461 msg/sec AtomicQueueB, 3,s: 10,983,841 msg/sec AtomicQueueB, 3,i: 10,239,921 msg/sec AtomicQueueB, 4,s: 8,067,436 msg/sec AtomicQueueB, 4,i: 7,953,244 msg/sec AtomicQueueB, 5,s: 7,581,909 msg/sec AtomicQueueB, 5,i: 7,814,081 msg/sec AtomicQueueB, 6,s: 7,340,852 msg/sec AtomicQueueB, 6,i: 7,561,257 msg/sec AtomicQueueB, 7,s: 6,832,756 msg/sec AtomicQueueB, 7,i: 7,736,669 msg/sec AtomicQueueB, 8,s: 6,250,044 msg/sec AtomicQueueB, 8,i: 7,118,530 msg/sec OptimistAtomicQueue, 1,s: 774,119,183 msg/sec OptimistAtomicQueue, 1,i: 519,042,972 msg/sec OptimistAtomicQueue, 2,s: 31,902,122 msg/sec OptimistAtomicQueue, 2,i: 31,984,504 msg/sec OptimistAtomicQueue, 3,s: 36,595,850 msg/sec OptimistAtomicQueue, 3,i: 37,323,374 msg/sec OptimistAtomicQueue, 4,s: 39,279,128 msg/sec OptimistAtomicQueue, 4,i: 39,414,675 msg/sec OptimistAtomicQueue, 5,s: 39,680,332 msg/sec OptimistAtomicQueue, 5,i: 46,325,741 msg/sec OptimistAtomicQueue, 6,s: 42,773,482 msg/sec OptimistAtomicQueue, 6,i: 50,374,498 msg/sec OptimistAtomicQueue, 7,s: 45,302,196 msg/sec OptimistAtomicQueue, 7,i: 49,104,990 msg/sec OptimistAtomicQueue, 8,s: 46,257,118 msg/sec OptimistAtomicQueue, 8,i: 50,338,290 msg/sec OptimistAtomicQueueB, 1,s: 703,260,597 msg/sec OptimistAtomicQueueB, 1,i: 136,149,258 msg/sec OptimistAtomicQueueB, 2,s: 32,186,596 msg/sec OptimistAtomicQueueB, 2,i: 32,305,419 msg/sec OptimistAtomicQueueB, 3,s: 36,266,954 msg/sec OptimistAtomicQueueB, 3,i: 36,963,037 msg/sec OptimistAtomicQueueB, 4,s: 38,690,194 msg/sec OptimistAtomicQueueB, 4,i: 38,524,244 msg/sec OptimistAtomicQueueB, 5,s: 41,057,702 msg/sec OptimistAtomicQueueB, 5,i: 46,313,409 msg/sec OptimistAtomicQueueB, 6,s: 40,711,862 msg/sec OptimistAtomicQueueB, 6,i: 49,193,729 msg/sec OptimistAtomicQueueB, 7,s: 42,561,752 msg/sec OptimistAtomicQueueB, 7,i: 51,488,643 msg/sec OptimistAtomicQueueB, 8,s: 44,481,809 msg/sec OptimistAtomicQueueB, 8,i: 47,772,180 msg/sec AtomicQueue2, 1,s: 23,089,204 msg/sec AtomicQueue2, 1,i: 23,048,945 msg/sec AtomicQueue2, 2,s: 11,711,160 msg/sec AtomicQueue2, 2,i: 11,484,953 msg/sec AtomicQueue2, 3,s: 9,753,992 msg/sec AtomicQueue2, 3,i: 9,454,810 msg/sec AtomicQueue2, 4,s: 8,034,009 msg/sec AtomicQueue2, 4,i: 8,068,410 msg/sec AtomicQueue2, 5,s: 7,881,593 msg/sec AtomicQueue2, 5,i: 8,038,534 msg/sec AtomicQueue2, 6,s: 7,687,297 msg/sec AtomicQueue2, 6,i: 7,533,946 msg/sec AtomicQueue2, 7,s: 7,100,820 msg/sec AtomicQueue2, 7,i: 7,885,728 msg/sec AtomicQueue2, 8,s: 6,366,221 msg/sec AtomicQueue2, 8,i: 7,386,173 msg/sec AtomicQueueB2, 1,s: 36,201,024 msg/sec AtomicQueueB2, 1,i: 32,631,473 msg/sec AtomicQueueB2, 2,s: 11,448,280 msg/sec AtomicQueueB2, 2,i: 11,080,227 msg/sec AtomicQueueB2, 3,s: 9,688,972 msg/sec AtomicQueueB2, 3,i: 9,542,488 msg/sec AtomicQueueB2, 4,s: 7,956,712 msg/sec AtomicQueueB2, 4,i: 7,992,854 msg/sec AtomicQueueB2, 5,s: 7,604,741 msg/sec AtomicQueueB2, 5,i: 7,756,443 msg/sec AtomicQueueB2, 6,s: 7,313,356 msg/sec AtomicQueueB2, 6,i: 7,457,342 msg/sec AtomicQueueB2, 7,s: 6,996,320 msg/sec AtomicQueueB2, 7,i: 7,732,145 msg/sec AtomicQueueB2, 8,s: 6,371,504 msg/sec AtomicQueueB2, 8,i: 7,114,056 msg/sec OptimistAtomicQueue2, 1,s: 109,028,321 msg/sec OptimistAtomicQueue2, 1,i: 31,882,327 msg/sec OptimistAtomicQueue2, 2,s: 24,250,126 msg/sec OptimistAtomicQueue2, 2,i: 25,385,449 msg/sec OptimistAtomicQueue2, 3,s: 30,316,305 msg/sec OptimistAtomicQueue2, 3,i: 30,165,444 msg/sec OptimistAtomicQueue2, 4,s: 33,222,868 msg/sec OptimistAtomicQueue2, 4,i: 33,537,448 msg/sec OptimistAtomicQueue2, 5,s: 36,947,626 msg/sec OptimistAtomicQueue2, 5,i: 40,844,735 msg/sec OptimistAtomicQueue2, 6,s: 40,066,690 msg/sec OptimistAtomicQueue2, 6,i: 49,479,178 msg/sec OptimistAtomicQueue2, 7,s: 42,730,498 msg/sec OptimistAtomicQueue2, 7,i: 51,389,604 msg/sec OptimistAtomicQueue2, 8,s: 44,302,673 msg/sec OptimistAtomicQueue2, 8,i: 48,400,840 msg/sec OptimistAtomicQueueB2, 1,s: 77,420,191 msg/sec OptimistAtomicQueueB2, 1,i: 33,868,914 msg/sec OptimistAtomicQueueB2, 2,s: 26,831,295 msg/sec OptimistAtomicQueueB2, 2,i: 23,454,240 msg/sec OptimistAtomicQueueB2, 3,s: 30,080,230 msg/sec OptimistAtomicQueueB2, 3,i: 29,325,492 msg/sec OptimistAtomicQueueB2, 4,s: 33,361,105 msg/sec OptimistAtomicQueueB2, 4,i: 32,494,546 msg/sec OptimistAtomicQueueB2, 5,s: 34,668,720 msg/sec OptimistAtomicQueueB2, 5,i: 39,374,098 msg/sec OptimistAtomicQueueB2, 6,s: 37,216,667 msg/sec OptimistAtomicQueueB2, 6,i: 42,487,438 msg/sec OptimistAtomicQueueB2, 7,s: 40,827,437 msg/sec OptimistAtomicQueueB2, 7,i: 45,272,910 msg/sec OptimistAtomicQueueB2, 8,s: 42,330,935 msg/sec OptimistAtomicQueueB2, 8,i: 45,134,088 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000246 sec/round-trip pthread_spinlock: 0.000000240 sec/round-trip std::mutex: 0.000000425 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [66] 394m:15s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,756,349 msg/sec boost::lockfree::spsc_queue, 1,i: 69,974,021 msg/sec boost::lockfree::queue, 1,s: 6,821,639 msg/sec boost::lockfree::queue, 1,i: 6,849,371 msg/sec boost::lockfree::queue, 2,s: 7,690,609 msg/sec boost::lockfree::queue, 2,i: 7,539,126 msg/sec boost::lockfree::queue, 3,s: 7,464,509 msg/sec boost::lockfree::queue, 3,i: 7,591,316 msg/sec boost::lockfree::queue, 4,s: 6,420,968 msg/sec boost::lockfree::queue, 4,i: 6,772,669 msg/sec boost::lockfree::queue, 5,s: 6,418,770 msg/sec boost::lockfree::queue, 5,i: 6,482,138 msg/sec boost::lockfree::queue, 6,s: 5,970,881 msg/sec boost::lockfree::queue, 6,i: 6,107,415 msg/sec boost::lockfree::queue, 7,s: 5,908,380 msg/sec boost::lockfree::queue, 7,i: 6,050,444 msg/sec boost::lockfree::queue, 8,s: 5,453,883 msg/sec boost::lockfree::queue, 8,i: 5,568,870 msg/sec moodycamel::ReaderWriterQueue, 1,s: 83,077,459 msg/sec moodycamel::ReaderWriterQueue, 1,i: 45,293,500 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,253,052 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,502,245 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,455,271 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,276,596 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,961,199 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,977,446 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,411,496 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,502,535 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,398,611 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,049,092 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,297,030 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,818,494 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,348,160 msg/sec moodycamel::ConcurrentQueue, 7,i: 31,348,926 msg/sec moodycamel::ConcurrentQueue, 8,s: 30,491,094 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,762,350 msg/sec pthread_spinlock, 1,s: 29,017,827 msg/sec pthread_spinlock, 1,i: 25,380,017 msg/sec pthread_spinlock, 2,s: 15,482,648 msg/sec pthread_spinlock, 2,i: 17,086,240 msg/sec pthread_spinlock, 3,s: 8,328,934 msg/sec pthread_spinlock, 3,i: 12,127,614 msg/sec pthread_spinlock, 4,s: 6,519,867 msg/sec pthread_spinlock, 4,i: 8,840,791 msg/sec pthread_spinlock, 5,s: 8,836,796 msg/sec pthread_spinlock, 5,i: 9,227,545 msg/sec pthread_spinlock, 6,s: 8,311,950 msg/sec pthread_spinlock, 6,i: 8,654,417 msg/sec pthread_spinlock, 7,s: 7,933,904 msg/sec pthread_spinlock, 7,i: 7,709,026 msg/sec pthread_spinlock, 8,s: 6,813,457 msg/sec pthread_spinlock, 8,i: 7,297,174 msg/sec std::mutex, 1,s: 7,363,555 msg/sec std::mutex, 1,i: 7,592,125 msg/sec std::mutex, 2,s: 6,035,402 msg/sec std::mutex, 2,i: 6,033,213 msg/sec std::mutex, 3,s: 5,881,024 msg/sec std::mutex, 3,i: 5,998,919 msg/sec std::mutex, 4,s: 6,234,427 msg/sec std::mutex, 4,i: 6,208,458 msg/sec std::mutex, 5,s: 5,967,570 msg/sec std::mutex, 5,i: 5,857,979 msg/sec std::mutex, 6,s: 5,835,653 msg/sec std::mutex, 6,i: 5,831,905 msg/sec std::mutex, 7,s: 5,735,173 msg/sec std::mutex, 7,i: 5,823,792 msg/sec std::mutex, 8,s: 5,683,857 msg/sec std::mutex, 8,i: 5,717,375 msg/sec tbb::spin_mutex, 1,s: 37,778,542 msg/sec tbb::spin_mutex, 1,i: 37,917,315 msg/sec tbb::spin_mutex, 2,s: 21,208,526 msg/sec tbb::spin_mutex, 2,i: 18,630,359 msg/sec tbb::spin_mutex, 3,s: 9,076,395 msg/sec tbb::spin_mutex, 3,i: 11,186,309 msg/sec tbb::spin_mutex, 4,s: 3,116,373 msg/sec tbb::spin_mutex, 4,i: 6,396,456 msg/sec tbb::spin_mutex, 5,s: 5,556,341 msg/sec tbb::spin_mutex, 5,i: 5,713,800 msg/sec tbb::spin_mutex, 6,s: 5,376,334 msg/sec tbb::spin_mutex, 6,i: 4,396,831 msg/sec tbb::spin_mutex, 7,s: 4,701,085 msg/sec tbb::spin_mutex, 7,i: 4,334,579 msg/sec tbb::spin_mutex, 8,s: 4,258,289 msg/sec tbb::spin_mutex, 8,i: 4,193,655 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,699,430 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,914,184 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,102,730 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,371,143 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,434,862 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,712,860 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,577,413 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,630,774 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,870,693 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,684,914 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,944,930 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,655,141 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,563,848 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,845,299 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,778,661 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,474,957 msg/sec xenium::michael_scott_queue, 1,s: 9,233,760 msg/sec xenium::michael_scott_queue, 1,i: 9,275,169 msg/sec xenium::michael_scott_queue, 2,s: 8,375,384 msg/sec xenium::michael_scott_queue, 2,i: 8,434,252 msg/sec xenium::michael_scott_queue, 3,s: 7,101,915 msg/sec xenium::michael_scott_queue, 3,i: 7,526,034 msg/sec xenium::michael_scott_queue, 4,s: 6,299,435 msg/sec xenium::michael_scott_queue, 4,i: 6,364,574 msg/sec xenium::michael_scott_queue, 5,s: 6,299,442 msg/sec xenium::michael_scott_queue, 5,i: 6,766,999 msg/sec xenium::michael_scott_queue, 6,s: 6,494,043 msg/sec xenium::michael_scott_queue, 6,i: 7,061,936 msg/sec xenium::michael_scott_queue, 7,s: 6,299,656 msg/sec xenium::michael_scott_queue, 7,i: 6,546,354 msg/sec xenium::michael_scott_queue, 8,s: 5,952,664 msg/sec xenium::michael_scott_queue, 8,i: 6,092,294 msg/sec xenium::ramalhete_queue, 1,s: 31,762,811 msg/sec xenium::ramalhete_queue, 1,i: 32,248,923 msg/sec xenium::ramalhete_queue, 2,s: 23,621,872 msg/sec xenium::ramalhete_queue, 2,i: 23,355,600 msg/sec xenium::ramalhete_queue, 3,s: 29,252,658 msg/sec xenium::ramalhete_queue, 3,i: 28,646,619 msg/sec xenium::ramalhete_queue, 4,s: 33,686,028 msg/sec xenium::ramalhete_queue, 4,i: 33,375,466 msg/sec xenium::ramalhete_queue, 5,s: 32,078,706 msg/sec xenium::ramalhete_queue, 5,i: 35,965,063 msg/sec xenium::ramalhete_queue, 6,s: 34,011,273 msg/sec xenium::ramalhete_queue, 6,i: 39,208,303 msg/sec xenium::ramalhete_queue, 7,s: 34,989,996 msg/sec xenium::ramalhete_queue, 7,i: 41,643,393 msg/sec xenium::ramalhete_queue, 8,s: 35,443,699 msg/sec xenium::ramalhete_queue, 8,i: 43,642,683 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,406,665 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,883,122 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,070,742 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,268,332 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,660,828 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,494,348 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,605,200 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,202,033 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,950,982 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,194,571 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,136,331 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,597,773 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,186,264 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,327,401 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,983 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,231,344 msg/sec AtomicQueue, 1,s: 61,256,348 msg/sec AtomicQueue, 1,i: 56,364,086 msg/sec AtomicQueue, 2,s: 12,252,361 msg/sec AtomicQueue, 2,i: 11,812,632 msg/sec AtomicQueue, 3,s: 10,772,045 msg/sec AtomicQueue, 3,i: 9,931,452 msg/sec AtomicQueue, 4,s: 8,209,616 msg/sec AtomicQueue, 4,i: 8,221,914 msg/sec AtomicQueue, 5,s: 7,995,083 msg/sec AtomicQueue, 5,i: 8,071,334 msg/sec AtomicQueue, 6,s: 7,801,288 msg/sec AtomicQueue, 6,i: 7,607,897 msg/sec AtomicQueue, 7,s: 7,164,320 msg/sec AtomicQueue, 7,i: 7,968,443 msg/sec AtomicQueue, 8,s: 6,328,122 msg/sec AtomicQueue, 8,i: 7,267,801 msg/sec AtomicQueueB, 1,s: 119,811,535 msg/sec AtomicQueueB, 1,i: 43,020,172 msg/sec AtomicQueueB, 2,s: 11,740,169 msg/sec AtomicQueueB, 2,i: 11,418,430 msg/sec AtomicQueueB, 3,s: 11,009,875 msg/sec AtomicQueueB, 3,i: 10,110,954 msg/sec AtomicQueueB, 4,s: 8,105,385 msg/sec AtomicQueueB, 4,i: 8,061,213 msg/sec AtomicQueueB, 5,s: 7,564,545 msg/sec AtomicQueueB, 5,i: 7,800,929 msg/sec AtomicQueueB, 6,s: 7,166,408 msg/sec AtomicQueueB, 6,i: 7,523,352 msg/sec AtomicQueueB, 7,s: 6,961,126 msg/sec AtomicQueueB, 7,i: 7,732,501 msg/sec AtomicQueueB, 8,s: 6,242,347 msg/sec AtomicQueueB, 8,i: 7,179,712 msg/sec OptimistAtomicQueue, 1,s: 825,544,663 msg/sec OptimistAtomicQueue, 1,i: 645,160,457 msg/sec OptimistAtomicQueue, 2,s: 32,630,891 msg/sec OptimistAtomicQueue, 2,i: 32,725,063 msg/sec OptimistAtomicQueue, 3,s: 36,630,236 msg/sec OptimistAtomicQueue, 3,i: 37,385,776 msg/sec OptimistAtomicQueue, 4,s: 39,282,374 msg/sec OptimistAtomicQueue, 4,i: 39,412,131 msg/sec OptimistAtomicQueue, 5,s: 42,362,884 msg/sec OptimistAtomicQueue, 5,i: 46,399,616 msg/sec OptimistAtomicQueue, 6,s: 41,829,010 msg/sec OptimistAtomicQueue, 6,i: 50,417,348 msg/sec OptimistAtomicQueue, 7,s: 44,014,501 msg/sec OptimistAtomicQueue, 7,i: 53,002,617 msg/sec OptimistAtomicQueue, 8,s: 46,548,582 msg/sec OptimistAtomicQueue, 8,i: 48,878,771 msg/sec OptimistAtomicQueueB, 1,s: 84,217,180 msg/sec OptimistAtomicQueueB, 1,i: 76,550,507 msg/sec OptimistAtomicQueueB, 2,s: 32,239,457 msg/sec OptimistAtomicQueueB, 2,i: 31,774,291 msg/sec OptimistAtomicQueueB, 3,s: 36,172,046 msg/sec OptimistAtomicQueueB, 3,i: 36,863,716 msg/sec OptimistAtomicQueueB, 4,s: 38,683,211 msg/sec OptimistAtomicQueueB, 4,i: 38,646,725 msg/sec OptimistAtomicQueueB, 5,s: 40,901,488 msg/sec OptimistAtomicQueueB, 5,i: 45,396,705 msg/sec OptimistAtomicQueueB, 6,s: 41,292,513 msg/sec OptimistAtomicQueueB, 6,i: 49,074,827 msg/sec OptimistAtomicQueueB, 7,s: 42,481,119 msg/sec OptimistAtomicQueueB, 7,i: 51,447,069 msg/sec OptimistAtomicQueueB, 8,s: 44,285,168 msg/sec OptimistAtomicQueueB, 8,i: 47,744,719 msg/sec AtomicQueue2, 1,s: 22,916,460 msg/sec AtomicQueue2, 1,i: 23,016,834 msg/sec AtomicQueue2, 2,s: 11,682,080 msg/sec AtomicQueue2, 2,i: 11,413,921 msg/sec AtomicQueue2, 3,s: 9,321,127 msg/sec AtomicQueue2, 3,i: 9,472,583 msg/sec AtomicQueue2, 4,s: 8,064,800 msg/sec AtomicQueue2, 4,i: 8,063,642 msg/sec AtomicQueue2, 5,s: 7,918,126 msg/sec AtomicQueue2, 5,i: 8,030,044 msg/sec AtomicQueue2, 6,s: 7,673,599 msg/sec AtomicQueue2, 6,i: 7,521,936 msg/sec AtomicQueue2, 7,s: 7,179,844 msg/sec AtomicQueue2, 7,i: 7,894,425 msg/sec AtomicQueue2, 8,s: 6,388,421 msg/sec AtomicQueue2, 8,i: 7,380,992 msg/sec AtomicQueueB2, 1,s: 36,217,494 msg/sec AtomicQueueB2, 1,i: 32,636,884 msg/sec AtomicQueueB2, 2,s: 11,501,628 msg/sec AtomicQueueB2, 2,i: 11,095,771 msg/sec AtomicQueueB2, 3,s: 9,545,660 msg/sec AtomicQueueB2, 3,i: 9,565,755 msg/sec AtomicQueueB2, 4,s: 7,843,803 msg/sec AtomicQueueB2, 4,i: 7,820,320 msg/sec AtomicQueueB2, 5,s: 7,589,034 msg/sec AtomicQueueB2, 5,i: 7,714,440 msg/sec AtomicQueueB2, 6,s: 7,170,183 msg/sec AtomicQueueB2, 6,i: 7,379,085 msg/sec AtomicQueueB2, 7,s: 6,911,822 msg/sec AtomicQueueB2, 7,i: 7,687,026 msg/sec AtomicQueueB2, 8,s: 6,250,324 msg/sec AtomicQueueB2, 8,i: 6,972,150 msg/sec OptimistAtomicQueue2, 1,s: 464,759,927 msg/sec OptimistAtomicQueue2, 1,i: 459,030,179 msg/sec OptimistAtomicQueue2, 2,s: 22,679,411 msg/sec OptimistAtomicQueue2, 2,i: 26,167,672 msg/sec OptimistAtomicQueue2, 3,s: 29,947,108 msg/sec OptimistAtomicQueue2, 3,i: 30,274,482 msg/sec OptimistAtomicQueue2, 4,s: 33,367,552 msg/sec OptimistAtomicQueue2, 4,i: 35,349,574 msg/sec OptimistAtomicQueue2, 5,s: 37,259,603 msg/sec OptimistAtomicQueue2, 5,i: 40,967,924 msg/sec OptimistAtomicQueue2, 6,s: 40,174,718 msg/sec OptimistAtomicQueue2, 6,i: 49,241,171 msg/sec OptimistAtomicQueue2, 7,s: 42,708,273 msg/sec OptimistAtomicQueue2, 7,i: 51,572,640 msg/sec OptimistAtomicQueue2, 8,s: 44,256,930 msg/sec OptimistAtomicQueue2, 8,i: 48,653,791 msg/sec OptimistAtomicQueueB2, 1,s: 74,307,657 msg/sec OptimistAtomicQueueB2, 1,i: 33,892,950 msg/sec OptimistAtomicQueueB2, 2,s: 28,219,809 msg/sec OptimistAtomicQueueB2, 2,i: 26,800,186 msg/sec OptimistAtomicQueueB2, 3,s: 29,773,380 msg/sec OptimistAtomicQueueB2, 3,i: 29,108,155 msg/sec OptimistAtomicQueueB2, 4,s: 33,441,462 msg/sec OptimistAtomicQueueB2, 4,i: 32,828,808 msg/sec OptimistAtomicQueueB2, 5,s: 34,738,823 msg/sec OptimistAtomicQueueB2, 5,i: 39,184,281 msg/sec OptimistAtomicQueueB2, 6,s: 37,134,425 msg/sec OptimistAtomicQueueB2, 6,i: 42,354,238 msg/sec OptimistAtomicQueueB2, 7,s: 40,078,564 msg/sec OptimistAtomicQueueB2, 7,i: 43,210,702 msg/sec OptimistAtomicQueueB2, 8,s: 42,479,303 msg/sec OptimistAtomicQueueB2, 8,i: 46,489,548 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000125 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000258 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000359 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [67] 392m:56s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,566,474 msg/sec boost::lockfree::spsc_queue, 1,i: 69,860,822 msg/sec boost::lockfree::queue, 1,s: 7,952,232 msg/sec boost::lockfree::queue, 1,i: 7,612,409 msg/sec boost::lockfree::queue, 2,s: 7,528,790 msg/sec boost::lockfree::queue, 2,i: 7,434,998 msg/sec boost::lockfree::queue, 3,s: 7,331,642 msg/sec boost::lockfree::queue, 3,i: 7,579,143 msg/sec boost::lockfree::queue, 4,s: 6,425,562 msg/sec boost::lockfree::queue, 4,i: 6,868,249 msg/sec boost::lockfree::queue, 5,s: 6,487,958 msg/sec boost::lockfree::queue, 5,i: 6,454,085 msg/sec boost::lockfree::queue, 6,s: 6,031,920 msg/sec boost::lockfree::queue, 6,i: 6,146,625 msg/sec boost::lockfree::queue, 7,s: 6,022,477 msg/sec boost::lockfree::queue, 7,i: 5,858,748 msg/sec boost::lockfree::queue, 8,s: 5,435,278 msg/sec boost::lockfree::queue, 8,i: 5,595,740 msg/sec moodycamel::ReaderWriterQueue, 1,s: 456,118,545 msg/sec moodycamel::ReaderWriterQueue, 1,i: 85,218,719 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,665,861 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,815,003 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,455,489 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,589,721 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,323,568 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,005,141 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,581,941 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,820,817 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,153,028 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,014,710 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,520,625 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,717,052 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,167,733 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,070,301 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,396,995 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,732,466 msg/sec pthread_spinlock, 1,s: 28,795,261 msg/sec pthread_spinlock, 1,i: 25,341,306 msg/sec pthread_spinlock, 2,s: 15,195,573 msg/sec pthread_spinlock, 2,i: 16,669,619 msg/sec pthread_spinlock, 3,s: 8,312,614 msg/sec pthread_spinlock, 3,i: 11,982,720 msg/sec pthread_spinlock, 4,s: 6,505,736 msg/sec pthread_spinlock, 4,i: 9,023,385 msg/sec pthread_spinlock, 5,s: 8,708,554 msg/sec pthread_spinlock, 5,i: 9,190,808 msg/sec pthread_spinlock, 6,s: 8,329,585 msg/sec pthread_spinlock, 6,i: 8,680,281 msg/sec pthread_spinlock, 7,s: 7,422,406 msg/sec pthread_spinlock, 7,i: 7,655,499 msg/sec pthread_spinlock, 8,s: 6,981,428 msg/sec pthread_spinlock, 8,i: 6,880,010 msg/sec std::mutex, 1,s: 6,962,481 msg/sec std::mutex, 1,i: 6,601,648 msg/sec std::mutex, 2,s: 5,470,047 msg/sec std::mutex, 2,i: 6,017,644 msg/sec std::mutex, 3,s: 6,010,828 msg/sec std::mutex, 3,i: 5,701,835 msg/sec std::mutex, 4,s: 5,716,379 msg/sec std::mutex, 4,i: 5,216,558 msg/sec std::mutex, 5,s: 6,092,260 msg/sec std::mutex, 5,i: 6,060,679 msg/sec std::mutex, 6,s: 5,968,641 msg/sec std::mutex, 6,i: 5,907,675 msg/sec std::mutex, 7,s: 5,808,928 msg/sec std::mutex, 7,i: 5,790,848 msg/sec std::mutex, 8,s: 5,684,765 msg/sec std::mutex, 8,i: 5,660,632 msg/sec tbb::spin_mutex, 1,s: 37,597,396 msg/sec tbb::spin_mutex, 1,i: 33,008,447 msg/sec tbb::spin_mutex, 2,s: 21,007,858 msg/sec tbb::spin_mutex, 2,i: 18,189,081 msg/sec tbb::spin_mutex, 3,s: 7,983,663 msg/sec tbb::spin_mutex, 3,i: 11,121,978 msg/sec tbb::spin_mutex, 4,s: 3,175,752 msg/sec tbb::spin_mutex, 4,i: 6,278,603 msg/sec tbb::spin_mutex, 5,s: 5,470,665 msg/sec tbb::spin_mutex, 5,i: 5,831,358 msg/sec tbb::spin_mutex, 6,s: 5,236,090 msg/sec tbb::spin_mutex, 6,i: 4,344,376 msg/sec tbb::spin_mutex, 7,s: 4,547,020 msg/sec tbb::spin_mutex, 7,i: 4,350,691 msg/sec tbb::spin_mutex, 8,s: 3,753,278 msg/sec tbb::spin_mutex, 8,i: 4,100,132 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,361,009 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,363,930 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,814,783 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,794,263 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,449,300 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,049,378 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,109,275 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,379,849 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,695,425 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,779,253 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,909,473 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,963,786 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,730,258 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,210,553 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,639,366 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,307,730 msg/sec xenium::michael_scott_queue, 1,s: 9,393,902 msg/sec xenium::michael_scott_queue, 1,i: 9,421,602 msg/sec xenium::michael_scott_queue, 2,s: 8,509,838 msg/sec xenium::michael_scott_queue, 2,i: 8,631,727 msg/sec xenium::michael_scott_queue, 3,s: 7,256,450 msg/sec xenium::michael_scott_queue, 3,i: 7,567,730 msg/sec xenium::michael_scott_queue, 4,s: 6,281,274 msg/sec xenium::michael_scott_queue, 4,i: 6,323,471 msg/sec xenium::michael_scott_queue, 5,s: 6,319,750 msg/sec xenium::michael_scott_queue, 5,i: 6,644,600 msg/sec xenium::michael_scott_queue, 6,s: 6,461,780 msg/sec xenium::michael_scott_queue, 6,i: 7,045,557 msg/sec xenium::michael_scott_queue, 7,s: 6,310,046 msg/sec xenium::michael_scott_queue, 7,i: 6,458,748 msg/sec xenium::michael_scott_queue, 8,s: 5,967,279 msg/sec xenium::michael_scott_queue, 8,i: 6,085,091 msg/sec xenium::ramalhete_queue, 1,s: 32,554,459 msg/sec xenium::ramalhete_queue, 1,i: 32,198,215 msg/sec xenium::ramalhete_queue, 2,s: 23,466,191 msg/sec xenium::ramalhete_queue, 2,i: 23,407,642 msg/sec xenium::ramalhete_queue, 3,s: 29,328,940 msg/sec xenium::ramalhete_queue, 3,i: 28,661,182 msg/sec xenium::ramalhete_queue, 4,s: 33,886,678 msg/sec xenium::ramalhete_queue, 4,i: 33,528,989 msg/sec xenium::ramalhete_queue, 5,s: 32,350,845 msg/sec xenium::ramalhete_queue, 5,i: 38,526,084 msg/sec xenium::ramalhete_queue, 6,s: 34,031,760 msg/sec xenium::ramalhete_queue, 6,i: 38,867,072 msg/sec xenium::ramalhete_queue, 7,s: 34,822,810 msg/sec xenium::ramalhete_queue, 7,i: 40,585,361 msg/sec xenium::ramalhete_queue, 8,s: 35,105,293 msg/sec xenium::ramalhete_queue, 8,i: 43,826,706 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,880,851 msg/sec xenium::vyukov_bounded_queue, 1,i: 76,362,311 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,133,050 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,825,124 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,650,144 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,935,710 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,575,315 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,238,773 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,950,322 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,209,940 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,176,315 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,542,700 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,197,615 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,044,433 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,447,820 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,255,647 msg/sec AtomicQueue, 1,s: 218,027,018 msg/sec AtomicQueue, 1,i: 165,875,647 msg/sec AtomicQueue, 2,s: 12,296,503 msg/sec AtomicQueue, 2,i: 11,736,586 msg/sec AtomicQueue, 3,s: 10,803,080 msg/sec AtomicQueue, 3,i: 9,849,719 msg/sec AtomicQueue, 4,s: 8,193,511 msg/sec AtomicQueue, 4,i: 8,200,853 msg/sec AtomicQueue, 5,s: 8,034,483 msg/sec AtomicQueue, 5,i: 8,070,914 msg/sec AtomicQueue, 6,s: 7,812,654 msg/sec AtomicQueue, 6,i: 7,610,043 msg/sec AtomicQueue, 7,s: 7,150,358 msg/sec AtomicQueue, 7,i: 7,980,475 msg/sec AtomicQueue, 8,s: 6,364,444 msg/sec AtomicQueue, 8,i: 7,472,655 msg/sec AtomicQueueB, 1,s: 88,921,588 msg/sec AtomicQueueB, 1,i: 43,779,572 msg/sec AtomicQueueB, 2,s: 11,969,728 msg/sec AtomicQueueB, 2,i: 11,493,376 msg/sec AtomicQueueB, 3,s: 11,064,767 msg/sec AtomicQueueB, 3,i: 10,034,817 msg/sec AtomicQueueB, 4,s: 8,109,194 msg/sec AtomicQueueB, 4,i: 8,000,830 msg/sec AtomicQueueB, 5,s: 7,453,146 msg/sec AtomicQueueB, 5,i: 7,833,634 msg/sec AtomicQueueB, 6,s: 7,446,518 msg/sec AtomicQueueB, 6,i: 7,531,956 msg/sec AtomicQueueB, 7,s: 6,870,317 msg/sec AtomicQueueB, 7,i: 7,693,133 msg/sec AtomicQueueB, 8,s: 6,180,525 msg/sec AtomicQueueB, 8,i: 7,093,409 msg/sec OptimistAtomicQueue, 1,s: 703,548,434 msg/sec OptimistAtomicQueue, 1,i: 548,696,167 msg/sec OptimistAtomicQueue, 2,s: 32,650,004 msg/sec OptimistAtomicQueue, 2,i: 32,731,203 msg/sec OptimistAtomicQueue, 3,s: 36,672,186 msg/sec OptimistAtomicQueue, 3,i: 37,403,801 msg/sec OptimistAtomicQueue, 4,s: 39,272,569 msg/sec OptimistAtomicQueue, 4,i: 39,387,358 msg/sec OptimistAtomicQueue, 5,s: 42,441,308 msg/sec OptimistAtomicQueue, 5,i: 47,913,246 msg/sec OptimistAtomicQueue, 6,s: 42,412,600 msg/sec OptimistAtomicQueue, 6,i: 50,494,740 msg/sec OptimistAtomicQueue, 7,s: 45,129,431 msg/sec OptimistAtomicQueue, 7,i: 52,961,282 msg/sec OptimistAtomicQueue, 8,s: 46,409,477 msg/sec OptimistAtomicQueue, 8,i: 49,547,131 msg/sec OptimistAtomicQueueB, 1,s: 147,575,870 msg/sec OptimistAtomicQueueB, 1,i: 76,601,390 msg/sec OptimistAtomicQueueB, 2,s: 32,172,617 msg/sec OptimistAtomicQueueB, 2,i: 32,145,516 msg/sec OptimistAtomicQueueB, 3,s: 36,286,086 msg/sec OptimistAtomicQueueB, 3,i: 36,955,321 msg/sec OptimistAtomicQueueB, 4,s: 38,703,994 msg/sec OptimistAtomicQueueB, 4,i: 38,521,948 msg/sec OptimistAtomicQueueB, 5,s: 40,353,055 msg/sec OptimistAtomicQueueB, 5,i: 45,366,003 msg/sec OptimistAtomicQueueB, 6,s: 40,575,423 msg/sec OptimistAtomicQueueB, 6,i: 48,987,508 msg/sec OptimistAtomicQueueB, 7,s: 41,715,650 msg/sec OptimistAtomicQueueB, 7,i: 47,806,799 msg/sec OptimistAtomicQueueB, 8,s: 44,216,789 msg/sec OptimistAtomicQueueB, 8,i: 47,453,496 msg/sec AtomicQueue2, 1,s: 22,889,449 msg/sec AtomicQueue2, 1,i: 23,190,933 msg/sec AtomicQueue2, 2,s: 11,856,154 msg/sec AtomicQueue2, 2,i: 11,439,073 msg/sec AtomicQueue2, 3,s: 9,434,530 msg/sec AtomicQueue2, 3,i: 9,428,829 msg/sec AtomicQueue2, 4,s: 8,138,562 msg/sec AtomicQueue2, 4,i: 8,025,912 msg/sec AtomicQueue2, 5,s: 7,888,465 msg/sec AtomicQueue2, 5,i: 8,049,707 msg/sec AtomicQueue2, 6,s: 7,761,855 msg/sec AtomicQueue2, 6,i: 7,538,459 msg/sec AtomicQueue2, 7,s: 7,119,558 msg/sec AtomicQueue2, 7,i: 7,899,614 msg/sec AtomicQueue2, 8,s: 6,415,355 msg/sec AtomicQueue2, 8,i: 7,356,961 msg/sec AtomicQueueB2, 1,s: 32,683,998 msg/sec AtomicQueueB2, 1,i: 32,616,474 msg/sec AtomicQueueB2, 2,s: 11,415,535 msg/sec AtomicQueueB2, 2,i: 11,136,291 msg/sec AtomicQueueB2, 3,s: 9,551,240 msg/sec AtomicQueueB2, 3,i: 9,516,666 msg/sec AtomicQueueB2, 4,s: 7,944,764 msg/sec AtomicQueueB2, 4,i: 7,866,728 msg/sec AtomicQueueB2, 5,s: 7,557,588 msg/sec AtomicQueueB2, 5,i: 7,730,537 msg/sec AtomicQueueB2, 6,s: 7,225,866 msg/sec AtomicQueueB2, 6,i: 7,415,119 msg/sec AtomicQueueB2, 7,s: 6,869,446 msg/sec AtomicQueueB2, 7,i: 7,713,852 msg/sec AtomicQueueB2, 8,s: 6,260,547 msg/sec AtomicQueueB2, 8,i: 7,094,487 msg/sec OptimistAtomicQueue2, 1,s: 428,734,332 msg/sec OptimistAtomicQueue2, 1,i: 29,628,488 msg/sec OptimistAtomicQueue2, 2,s: 24,255,773 msg/sec OptimistAtomicQueue2, 2,i: 24,836,873 msg/sec OptimistAtomicQueue2, 3,s: 30,320,911 msg/sec OptimistAtomicQueue2, 3,i: 29,966,837 msg/sec OptimistAtomicQueue2, 4,s: 33,243,574 msg/sec OptimistAtomicQueue2, 4,i: 33,210,074 msg/sec OptimistAtomicQueue2, 5,s: 37,185,574 msg/sec OptimistAtomicQueue2, 5,i: 40,052,337 msg/sec OptimistAtomicQueue2, 6,s: 40,119,195 msg/sec OptimistAtomicQueue2, 6,i: 48,698,070 msg/sec OptimistAtomicQueue2, 7,s: 42,772,855 msg/sec OptimistAtomicQueue2, 7,i: 47,913,249 msg/sec OptimistAtomicQueue2, 8,s: 44,025,311 msg/sec OptimistAtomicQueue2, 8,i: 48,346,432 msg/sec OptimistAtomicQueueB2, 1,s: 75,934,901 msg/sec OptimistAtomicQueueB2, 1,i: 33,864,476 msg/sec OptimistAtomicQueueB2, 2,s: 27,396,258 msg/sec OptimistAtomicQueueB2, 2,i: 23,127,046 msg/sec OptimistAtomicQueueB2, 3,s: 30,017,125 msg/sec OptimistAtomicQueueB2, 3,i: 29,247,893 msg/sec OptimistAtomicQueueB2, 4,s: 33,153,898 msg/sec OptimistAtomicQueueB2, 4,i: 33,014,416 msg/sec OptimistAtomicQueueB2, 5,s: 34,572,635 msg/sec OptimistAtomicQueueB2, 5,i: 39,150,594 msg/sec OptimistAtomicQueueB2, 6,s: 37,632,322 msg/sec OptimistAtomicQueueB2, 6,i: 42,346,109 msg/sec OptimistAtomicQueueB2, 7,s: 40,137,922 msg/sec OptimistAtomicQueueB2, 7,i: 45,402,515 msg/sec OptimistAtomicQueueB2, 8,s: 42,064,625 msg/sec OptimistAtomicQueueB2, 8,i: 46,014,362 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000142 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000471 sec/round-trip tbb::spin_mutex: 0.000000267 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000160 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [68] 391m:37s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,610,708 msg/sec boost::lockfree::spsc_queue, 1,i: 65,249,380 msg/sec boost::lockfree::queue, 1,s: 6,813,981 msg/sec boost::lockfree::queue, 1,i: 6,935,441 msg/sec boost::lockfree::queue, 2,s: 7,683,771 msg/sec boost::lockfree::queue, 2,i: 7,496,283 msg/sec boost::lockfree::queue, 3,s: 7,371,443 msg/sec boost::lockfree::queue, 3,i: 7,590,950 msg/sec boost::lockfree::queue, 4,s: 6,422,328 msg/sec boost::lockfree::queue, 4,i: 6,801,512 msg/sec boost::lockfree::queue, 5,s: 6,442,084 msg/sec boost::lockfree::queue, 5,i: 6,490,269 msg/sec boost::lockfree::queue, 6,s: 6,041,326 msg/sec boost::lockfree::queue, 6,i: 6,115,606 msg/sec boost::lockfree::queue, 7,s: 5,821,646 msg/sec boost::lockfree::queue, 7,i: 5,940,563 msg/sec boost::lockfree::queue, 8,s: 5,467,275 msg/sec boost::lockfree::queue, 8,i: 5,576,788 msg/sec moodycamel::ReaderWriterQueue, 1,s: 456,776,548 msg/sec moodycamel::ReaderWriterQueue, 1,i: 481,160,173 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,066,321 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,755,262 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,417,137 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,061,362 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,802,501 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,813,297 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,548,897 msg/sec moodycamel::ConcurrentQueue, 4,i: 42,536,715 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,577,051 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,210,791 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,503,355 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,038,127 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,151,759 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,760,605 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,233,850 msg/sec moodycamel::ConcurrentQueue, 8,i: 34,271,394 msg/sec pthread_spinlock, 1,s: 28,921,713 msg/sec pthread_spinlock, 1,i: 25,332,122 msg/sec pthread_spinlock, 2,s: 15,613,686 msg/sec pthread_spinlock, 2,i: 16,885,674 msg/sec pthread_spinlock, 3,s: 8,358,824 msg/sec pthread_spinlock, 3,i: 11,964,785 msg/sec pthread_spinlock, 4,s: 6,496,182 msg/sec pthread_spinlock, 4,i: 8,854,855 msg/sec pthread_spinlock, 5,s: 8,843,624 msg/sec pthread_spinlock, 5,i: 10,335,374 msg/sec pthread_spinlock, 6,s: 8,338,745 msg/sec pthread_spinlock, 6,i: 8,519,330 msg/sec pthread_spinlock, 7,s: 7,706,130 msg/sec pthread_spinlock, 7,i: 7,991,479 msg/sec pthread_spinlock, 8,s: 6,723,354 msg/sec pthread_spinlock, 8,i: 6,893,912 msg/sec std::mutex, 1,s: 6,777,528 msg/sec std::mutex, 1,i: 7,417,033 msg/sec std::mutex, 2,s: 5,801,550 msg/sec std::mutex, 2,i: 5,861,305 msg/sec std::mutex, 3,s: 6,006,582 msg/sec std::mutex, 3,i: 6,045,562 msg/sec std::mutex, 4,s: 6,270,529 msg/sec std::mutex, 4,i: 6,362,536 msg/sec std::mutex, 5,s: 6,033,470 msg/sec std::mutex, 5,i: 6,086,388 msg/sec std::mutex, 6,s: 5,994,950 msg/sec std::mutex, 6,i: 5,881,810 msg/sec std::mutex, 7,s: 5,893,284 msg/sec std::mutex, 7,i: 5,841,673 msg/sec std::mutex, 8,s: 5,814,684 msg/sec std::mutex, 8,i: 5,691,664 msg/sec tbb::spin_mutex, 1,s: 37,821,933 msg/sec tbb::spin_mutex, 1,i: 33,017,434 msg/sec tbb::spin_mutex, 2,s: 21,172,893 msg/sec tbb::spin_mutex, 2,i: 18,304,729 msg/sec tbb::spin_mutex, 3,s: 8,337,687 msg/sec tbb::spin_mutex, 3,i: 10,271,234 msg/sec tbb::spin_mutex, 4,s: 3,195,141 msg/sec tbb::spin_mutex, 4,i: 6,285,286 msg/sec tbb::spin_mutex, 5,s: 5,159,924 msg/sec tbb::spin_mutex, 5,i: 5,856,763 msg/sec tbb::spin_mutex, 6,s: 5,257,508 msg/sec tbb::spin_mutex, 6,i: 4,360,746 msg/sec tbb::spin_mutex, 7,s: 4,865,758 msg/sec tbb::spin_mutex, 7,i: 4,382,414 msg/sec tbb::spin_mutex, 8,s: 3,860,231 msg/sec tbb::spin_mutex, 8,i: 4,182,815 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,549,578 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,975,303 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,721,340 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,958,974 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,229,906 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,884,594 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,427,049 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,290,706 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,634,915 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,903,148 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,947,442 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,916,606 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,037,044 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,949,277 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,965,604 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,103,507 msg/sec xenium::michael_scott_queue, 1,s: 9,219,881 msg/sec xenium::michael_scott_queue, 1,i: 9,308,062 msg/sec xenium::michael_scott_queue, 2,s: 8,429,676 msg/sec xenium::michael_scott_queue, 2,i: 8,510,791 msg/sec xenium::michael_scott_queue, 3,s: 7,285,890 msg/sec xenium::michael_scott_queue, 3,i: 7,596,268 msg/sec xenium::michael_scott_queue, 4,s: 6,362,976 msg/sec xenium::michael_scott_queue, 4,i: 6,401,381 msg/sec xenium::michael_scott_queue, 5,s: 6,317,130 msg/sec xenium::michael_scott_queue, 5,i: 6,640,063 msg/sec xenium::michael_scott_queue, 6,s: 6,498,722 msg/sec xenium::michael_scott_queue, 6,i: 6,985,188 msg/sec xenium::michael_scott_queue, 7,s: 6,355,180 msg/sec xenium::michael_scott_queue, 7,i: 6,425,259 msg/sec xenium::michael_scott_queue, 8,s: 6,096,397 msg/sec xenium::michael_scott_queue, 8,i: 6,062,422 msg/sec xenium::ramalhete_queue, 1,s: 33,073,802 msg/sec xenium::ramalhete_queue, 1,i: 33,023,588 msg/sec xenium::ramalhete_queue, 2,s: 24,337,870 msg/sec xenium::ramalhete_queue, 2,i: 23,336,301 msg/sec xenium::ramalhete_queue, 3,s: 29,148,061 msg/sec xenium::ramalhete_queue, 3,i: 28,442,958 msg/sec xenium::ramalhete_queue, 4,s: 33,688,797 msg/sec xenium::ramalhete_queue, 4,i: 33,374,860 msg/sec xenium::ramalhete_queue, 5,s: 32,125,025 msg/sec xenium::ramalhete_queue, 5,i: 38,271,743 msg/sec xenium::ramalhete_queue, 6,s: 34,007,355 msg/sec xenium::ramalhete_queue, 6,i: 38,904,288 msg/sec xenium::ramalhete_queue, 7,s: 35,132,637 msg/sec xenium::ramalhete_queue, 7,i: 42,049,749 msg/sec xenium::ramalhete_queue, 8,s: 35,474,908 msg/sec xenium::ramalhete_queue, 8,i: 43,967,090 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,257,897 msg/sec xenium::vyukov_bounded_queue, 1,i: 83,173,892 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,333,376 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,703,243 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,545,965 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,140,097 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,629,577 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,135,968 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,613,496 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,304,461 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,861,117 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,263,905 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,227,313 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,020,917 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,391,696 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,528,637 msg/sec AtomicQueue, 1,s: 58,241,163 msg/sec AtomicQueue, 1,i: 55,487,632 msg/sec AtomicQueue, 2,s: 12,288,367 msg/sec AtomicQueue, 2,i: 11,734,804 msg/sec AtomicQueue, 3,s: 10,753,799 msg/sec AtomicQueue, 3,i: 9,947,954 msg/sec AtomicQueue, 4,s: 8,182,825 msg/sec AtomicQueue, 4,i: 8,195,681 msg/sec AtomicQueue, 5,s: 8,027,888 msg/sec AtomicQueue, 5,i: 8,088,146 msg/sec AtomicQueue, 6,s: 7,810,783 msg/sec AtomicQueue, 6,i: 7,618,880 msg/sec AtomicQueue, 7,s: 7,108,808 msg/sec AtomicQueue, 7,i: 7,987,981 msg/sec AtomicQueue, 8,s: 6,333,045 msg/sec AtomicQueue, 8,i: 7,460,690 msg/sec AtomicQueueB, 1,s: 43,990,591 msg/sec AtomicQueueB, 1,i: 42,985,496 msg/sec AtomicQueueB, 2,s: 11,885,403 msg/sec AtomicQueueB, 2,i: 11,477,181 msg/sec AtomicQueueB, 3,s: 11,088,289 msg/sec AtomicQueueB, 3,i: 10,212,469 msg/sec AtomicQueueB, 4,s: 8,059,188 msg/sec AtomicQueueB, 4,i: 8,012,448 msg/sec AtomicQueueB, 5,s: 7,611,153 msg/sec AtomicQueueB, 5,i: 7,835,721 msg/sec AtomicQueueB, 6,s: 7,258,181 msg/sec AtomicQueueB, 6,i: 7,580,105 msg/sec AtomicQueueB, 7,s: 6,854,454 msg/sec AtomicQueueB, 7,i: 7,722,862 msg/sec AtomicQueueB, 8,s: 6,245,004 msg/sec AtomicQueueB, 8,i: 7,135,998 msg/sec OptimistAtomicQueue, 1,s: 721,805,640 msg/sec OptimistAtomicQueue, 1,i: 813,929,922 msg/sec OptimistAtomicQueue, 2,s: 32,657,404 msg/sec OptimistAtomicQueue, 2,i: 32,625,522 msg/sec OptimistAtomicQueue, 3,s: 36,687,107 msg/sec OptimistAtomicQueue, 3,i: 36,986,677 msg/sec OptimistAtomicQueue, 4,s: 39,290,583 msg/sec OptimistAtomicQueue, 4,i: 39,352,789 msg/sec OptimistAtomicQueue, 5,s: 42,381,833 msg/sec OptimistAtomicQueue, 5,i: 46,411,438 msg/sec OptimistAtomicQueue, 6,s: 42,767,168 msg/sec OptimistAtomicQueue, 6,i: 49,814,024 msg/sec OptimistAtomicQueue, 7,s: 44,014,854 msg/sec OptimistAtomicQueue, 7,i: 52,851,045 msg/sec OptimistAtomicQueue, 8,s: 46,424,095 msg/sec OptimistAtomicQueue, 8,i: 48,421,515 msg/sec OptimistAtomicQueueB, 1,s: 112,321,405 msg/sec OptimistAtomicQueueB, 1,i: 76,638,695 msg/sec OptimistAtomicQueueB, 2,s: 32,212,672 msg/sec OptimistAtomicQueueB, 2,i: 32,217,632 msg/sec OptimistAtomicQueueB, 3,s: 36,271,216 msg/sec OptimistAtomicQueueB, 3,i: 36,865,917 msg/sec OptimistAtomicQueueB, 4,s: 38,657,679 msg/sec OptimistAtomicQueueB, 4,i: 38,719,031 msg/sec OptimistAtomicQueueB, 5,s: 40,419,967 msg/sec OptimistAtomicQueueB, 5,i: 46,149,048 msg/sec OptimistAtomicQueueB, 6,s: 41,160,579 msg/sec OptimistAtomicQueueB, 6,i: 49,118,545 msg/sec OptimistAtomicQueueB, 7,s: 42,803,633 msg/sec OptimistAtomicQueueB, 7,i: 51,312,627 msg/sec OptimistAtomicQueueB, 8,s: 44,113,297 msg/sec OptimistAtomicQueueB, 8,i: 48,049,299 msg/sec AtomicQueue2, 1,s: 22,886,237 msg/sec AtomicQueue2, 1,i: 22,888,069 msg/sec AtomicQueue2, 2,s: 12,080,013 msg/sec AtomicQueue2, 2,i: 11,501,048 msg/sec AtomicQueue2, 3,s: 9,827,383 msg/sec AtomicQueue2, 3,i: 9,458,503 msg/sec AtomicQueue2, 4,s: 8,042,693 msg/sec AtomicQueue2, 4,i: 8,069,480 msg/sec AtomicQueue2, 5,s: 7,839,678 msg/sec AtomicQueue2, 5,i: 8,048,699 msg/sec AtomicQueue2, 6,s: 7,822,286 msg/sec AtomicQueue2, 6,i: 7,538,397 msg/sec AtomicQueue2, 7,s: 7,123,272 msg/sec AtomicQueue2, 7,i: 7,884,289 msg/sec AtomicQueue2, 8,s: 6,384,158 msg/sec AtomicQueue2, 8,i: 7,333,984 msg/sec AtomicQueueB2, 1,s: 33,427,172 msg/sec AtomicQueueB2, 1,i: 33,448,407 msg/sec AtomicQueueB2, 2,s: 11,429,932 msg/sec AtomicQueueB2, 2,i: 11,100,926 msg/sec AtomicQueueB2, 3,s: 9,627,314 msg/sec AtomicQueueB2, 3,i: 9,387,112 msg/sec AtomicQueueB2, 4,s: 7,926,020 msg/sec AtomicQueueB2, 4,i: 7,778,579 msg/sec AtomicQueueB2, 5,s: 7,354,018 msg/sec AtomicQueueB2, 5,i: 7,765,836 msg/sec AtomicQueueB2, 6,s: 7,195,823 msg/sec AtomicQueueB2, 6,i: 7,455,565 msg/sec AtomicQueueB2, 7,s: 6,896,724 msg/sec AtomicQueueB2, 7,i: 7,683,996 msg/sec AtomicQueueB2, 8,s: 6,278,990 msg/sec AtomicQueueB2, 8,i: 7,088,354 msg/sec OptimistAtomicQueue2, 1,s: 491,159,014 msg/sec OptimistAtomicQueue2, 1,i: 32,043,706 msg/sec OptimistAtomicQueue2, 2,s: 24,881,131 msg/sec OptimistAtomicQueue2, 2,i: 24,444,011 msg/sec OptimistAtomicQueue2, 3,s: 30,326,884 msg/sec OptimistAtomicQueue2, 3,i: 30,074,112 msg/sec OptimistAtomicQueue2, 4,s: 33,244,871 msg/sec OptimistAtomicQueue2, 4,i: 33,460,920 msg/sec OptimistAtomicQueue2, 5,s: 37,125,019 msg/sec OptimistAtomicQueue2, 5,i: 40,289,777 msg/sec OptimistAtomicQueue2, 6,s: 40,242,792 msg/sec OptimistAtomicQueue2, 6,i: 49,498,426 msg/sec OptimistAtomicQueue2, 7,s: 42,779,034 msg/sec OptimistAtomicQueue2, 7,i: 47,884,969 msg/sec OptimistAtomicQueue2, 8,s: 44,015,484 msg/sec OptimistAtomicQueue2, 8,i: 48,734,561 msg/sec OptimistAtomicQueueB2, 1,s: 77,167,527 msg/sec OptimistAtomicQueueB2, 1,i: 39,907,632 msg/sec OptimistAtomicQueueB2, 2,s: 27,289,994 msg/sec OptimistAtomicQueueB2, 2,i: 23,214,755 msg/sec OptimistAtomicQueueB2, 3,s: 32,367,703 msg/sec OptimistAtomicQueueB2, 3,i: 29,251,146 msg/sec OptimistAtomicQueueB2, 4,s: 33,261,000 msg/sec OptimistAtomicQueueB2, 4,i: 33,127,927 msg/sec OptimistAtomicQueueB2, 5,s: 34,066,716 msg/sec OptimistAtomicQueueB2, 5,i: 38,864,006 msg/sec OptimistAtomicQueueB2, 6,s: 37,191,945 msg/sec OptimistAtomicQueueB2, 6,i: 42,218,567 msg/sec OptimistAtomicQueueB2, 7,s: 40,171,435 msg/sec OptimistAtomicQueueB2, 7,i: 43,011,900 msg/sec OptimistAtomicQueueB2, 8,s: 42,714,784 msg/sec OptimistAtomicQueueB2, 8,i: 46,056,210 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000124 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000289 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000258 sec/round-trip xenium::vyukov_bounded_queue: 0.000000217 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [69] 390m:18s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 74,837,355 msg/sec boost::lockfree::spsc_queue, 1,i: 75,443,610 msg/sec boost::lockfree::queue, 1,s: 7,908,414 msg/sec boost::lockfree::queue, 1,i: 7,953,584 msg/sec boost::lockfree::queue, 2,s: 7,675,078 msg/sec boost::lockfree::queue, 2,i: 7,371,120 msg/sec boost::lockfree::queue, 3,s: 7,338,855 msg/sec boost::lockfree::queue, 3,i: 7,579,292 msg/sec boost::lockfree::queue, 4,s: 6,417,627 msg/sec boost::lockfree::queue, 4,i: 6,769,813 msg/sec boost::lockfree::queue, 5,s: 6,402,298 msg/sec boost::lockfree::queue, 5,i: 6,451,065 msg/sec boost::lockfree::queue, 6,s: 5,991,037 msg/sec boost::lockfree::queue, 6,i: 6,080,267 msg/sec boost::lockfree::queue, 7,s: 5,927,607 msg/sec boost::lockfree::queue, 7,i: 5,962,517 msg/sec boost::lockfree::queue, 8,s: 5,419,265 msg/sec boost::lockfree::queue, 8,i: 5,641,368 msg/sec moodycamel::ReaderWriterQueue, 1,s: 65,202,785 msg/sec moodycamel::ReaderWriterQueue, 1,i: 53,163,888 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,240,918 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,618,200 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,984,971 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,761,883 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,525,935 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,323,055 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,375,040 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,422,482 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,291,782 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,009,650 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,294,253 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,042,871 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,799,769 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,496,693 msg/sec moodycamel::ConcurrentQueue, 8,s: 49,124,595 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,576,989 msg/sec pthread_spinlock, 1,s: 28,954,480 msg/sec pthread_spinlock, 1,i: 25,325,940 msg/sec pthread_spinlock, 2,s: 15,640,407 msg/sec pthread_spinlock, 2,i: 16,856,617 msg/sec pthread_spinlock, 3,s: 8,405,453 msg/sec pthread_spinlock, 3,i: 12,133,638 msg/sec pthread_spinlock, 4,s: 6,480,732 msg/sec pthread_spinlock, 4,i: 8,816,565 msg/sec pthread_spinlock, 5,s: 8,563,647 msg/sec pthread_spinlock, 5,i: 9,070,539 msg/sec pthread_spinlock, 6,s: 8,607,405 msg/sec pthread_spinlock, 6,i: 8,456,493 msg/sec pthread_spinlock, 7,s: 7,501,241 msg/sec pthread_spinlock, 7,i: 7,689,054 msg/sec pthread_spinlock, 8,s: 6,635,873 msg/sec pthread_spinlock, 8,i: 6,896,559 msg/sec std::mutex, 1,s: 9,199,394 msg/sec std::mutex, 1,i: 8,222,468 msg/sec std::mutex, 2,s: 6,331,210 msg/sec std::mutex, 2,i: 6,291,747 msg/sec std::mutex, 3,s: 5,405,089 msg/sec std::mutex, 3,i: 6,295,108 msg/sec std::mutex, 4,s: 6,168,946 msg/sec std::mutex, 4,i: 7,051,680 msg/sec std::mutex, 5,s: 6,132,808 msg/sec std::mutex, 5,i: 6,565,026 msg/sec std::mutex, 6,s: 6,571,707 msg/sec std::mutex, 6,i: 6,457,047 msg/sec std::mutex, 7,s: 6,361,745 msg/sec std::mutex, 7,i: 6,378,700 msg/sec std::mutex, 8,s: 6,126,963 msg/sec std::mutex, 8,i: 6,148,226 msg/sec tbb::spin_mutex, 1,s: 38,045,778 msg/sec tbb::spin_mutex, 1,i: 33,335,527 msg/sec tbb::spin_mutex, 2,s: 21,113,176 msg/sec tbb::spin_mutex, 2,i: 18,367,621 msg/sec tbb::spin_mutex, 3,s: 7,667,376 msg/sec tbb::spin_mutex, 3,i: 10,287,958 msg/sec tbb::spin_mutex, 4,s: 3,236,938 msg/sec tbb::spin_mutex, 4,i: 6,305,834 msg/sec tbb::spin_mutex, 5,s: 5,540,274 msg/sec tbb::spin_mutex, 5,i: 5,829,986 msg/sec tbb::spin_mutex, 6,s: 5,337,213 msg/sec tbb::spin_mutex, 6,i: 4,407,862 msg/sec tbb::spin_mutex, 7,s: 4,857,893 msg/sec tbb::spin_mutex, 7,i: 4,350,404 msg/sec tbb::spin_mutex, 8,s: 4,277,268 msg/sec tbb::spin_mutex, 8,i: 4,085,713 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,357,187 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,298,229 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,585,392 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,011,544 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,370,330 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,478,908 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,088,161 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,434,108 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,529,775 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,542,891 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,744,932 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,713,328 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,794,683 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,805,206 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,057,050 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,079,042 msg/sec xenium::michael_scott_queue, 1,s: 9,243,977 msg/sec xenium::michael_scott_queue, 1,i: 9,153,847 msg/sec xenium::michael_scott_queue, 2,s: 8,469,954 msg/sec xenium::michael_scott_queue, 2,i: 8,467,370 msg/sec xenium::michael_scott_queue, 3,s: 7,189,645 msg/sec xenium::michael_scott_queue, 3,i: 7,633,311 msg/sec xenium::michael_scott_queue, 4,s: 6,260,146 msg/sec xenium::michael_scott_queue, 4,i: 6,351,518 msg/sec xenium::michael_scott_queue, 5,s: 6,296,717 msg/sec xenium::michael_scott_queue, 5,i: 6,643,495 msg/sec xenium::michael_scott_queue, 6,s: 6,439,861 msg/sec xenium::michael_scott_queue, 6,i: 6,885,787 msg/sec xenium::michael_scott_queue, 7,s: 6,307,232 msg/sec xenium::michael_scott_queue, 7,i: 6,440,395 msg/sec xenium::michael_scott_queue, 8,s: 6,001,796 msg/sec xenium::michael_scott_queue, 8,i: 6,190,932 msg/sec xenium::ramalhete_queue, 1,s: 31,511,872 msg/sec xenium::ramalhete_queue, 1,i: 32,106,302 msg/sec xenium::ramalhete_queue, 2,s: 23,456,561 msg/sec xenium::ramalhete_queue, 2,i: 23,366,535 msg/sec xenium::ramalhete_queue, 3,s: 29,229,628 msg/sec xenium::ramalhete_queue, 3,i: 28,461,063 msg/sec xenium::ramalhete_queue, 4,s: 33,882,088 msg/sec xenium::ramalhete_queue, 4,i: 33,537,425 msg/sec xenium::ramalhete_queue, 5,s: 32,107,811 msg/sec xenium::ramalhete_queue, 5,i: 35,977,318 msg/sec xenium::ramalhete_queue, 6,s: 34,042,162 msg/sec xenium::ramalhete_queue, 6,i: 39,451,913 msg/sec xenium::ramalhete_queue, 7,s: 35,068,774 msg/sec xenium::ramalhete_queue, 7,i: 42,248,548 msg/sec xenium::ramalhete_queue, 8,s: 35,510,583 msg/sec xenium::ramalhete_queue, 8,i: 44,034,013 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,388,325 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,792,677 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,887,100 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,696,144 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,652,501 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,251,030 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,538,134 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,238,194 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,553,933 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,329,770 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,115,622 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,306,289 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,189,916 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,981,179 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,417,346 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,236,260 msg/sec AtomicQueue, 1,s: 57,801,613 msg/sec AtomicQueue, 1,i: 56,651,714 msg/sec AtomicQueue, 2,s: 12,363,639 msg/sec AtomicQueue, 2,i: 11,757,853 msg/sec AtomicQueue, 3,s: 10,787,718 msg/sec AtomicQueue, 3,i: 9,947,218 msg/sec AtomicQueue, 4,s: 8,214,936 msg/sec AtomicQueue, 4,i: 8,211,919 msg/sec AtomicQueue, 5,s: 8,048,357 msg/sec AtomicQueue, 5,i: 8,041,285 msg/sec AtomicQueue, 6,s: 7,941,394 msg/sec AtomicQueue, 6,i: 7,628,666 msg/sec AtomicQueue, 7,s: 7,139,677 msg/sec AtomicQueue, 7,i: 7,957,815 msg/sec AtomicQueue, 8,s: 6,317,454 msg/sec AtomicQueue, 8,i: 7,455,377 msg/sec AtomicQueueB, 1,s: 45,839,974 msg/sec AtomicQueueB, 1,i: 45,681,357 msg/sec AtomicQueueB, 2,s: 11,858,441 msg/sec AtomicQueueB, 2,i: 11,504,117 msg/sec AtomicQueueB, 3,s: 11,021,539 msg/sec AtomicQueueB, 3,i: 10,176,635 msg/sec AtomicQueueB, 4,s: 8,107,598 msg/sec AtomicQueueB, 4,i: 7,979,533 msg/sec AtomicQueueB, 5,s: 7,691,783 msg/sec AtomicQueueB, 5,i: 7,818,340 msg/sec AtomicQueueB, 6,s: 7,247,224 msg/sec AtomicQueueB, 6,i: 7,611,180 msg/sec AtomicQueueB, 7,s: 6,905,911 msg/sec AtomicQueueB, 7,i: 7,739,337 msg/sec AtomicQueueB, 8,s: 6,207,154 msg/sec AtomicQueueB, 8,i: 7,161,086 msg/sec OptimistAtomicQueue, 1,s: 777,663,331 msg/sec OptimistAtomicQueue, 1,i: 618,532,852 msg/sec OptimistAtomicQueue, 2,s: 32,314,432 msg/sec OptimistAtomicQueue, 2,i: 32,408,092 msg/sec OptimistAtomicQueue, 3,s: 36,638,282 msg/sec OptimistAtomicQueue, 3,i: 37,384,207 msg/sec OptimistAtomicQueue, 4,s: 39,294,133 msg/sec OptimistAtomicQueue, 4,i: 39,387,319 msg/sec OptimistAtomicQueue, 5,s: 41,798,871 msg/sec OptimistAtomicQueue, 5,i: 46,216,693 msg/sec OptimistAtomicQueue, 6,s: 42,204,267 msg/sec OptimistAtomicQueue, 6,i: 50,380,574 msg/sec OptimistAtomicQueue, 7,s: 44,207,488 msg/sec OptimistAtomicQueue, 7,i: 52,803,938 msg/sec OptimistAtomicQueue, 8,s: 46,323,796 msg/sec OptimistAtomicQueue, 8,i: 49,397,270 msg/sec OptimistAtomicQueueB, 1,s: 146,767,920 msg/sec OptimistAtomicQueueB, 1,i: 79,897,604 msg/sec OptimistAtomicQueueB, 2,s: 32,358,502 msg/sec OptimistAtomicQueueB, 2,i: 32,347,448 msg/sec OptimistAtomicQueueB, 3,s: 36,300,727 msg/sec OptimistAtomicQueueB, 3,i: 36,836,389 msg/sec OptimistAtomicQueueB, 4,s: 38,573,863 msg/sec OptimistAtomicQueueB, 4,i: 38,704,351 msg/sec OptimistAtomicQueueB, 5,s: 40,526,889 msg/sec OptimistAtomicQueueB, 5,i: 45,371,003 msg/sec OptimistAtomicQueueB, 6,s: 40,519,214 msg/sec OptimistAtomicQueueB, 6,i: 49,007,192 msg/sec OptimistAtomicQueueB, 7,s: 41,761,248 msg/sec OptimistAtomicQueueB, 7,i: 51,554,291 msg/sec OptimistAtomicQueueB, 8,s: 44,246,085 msg/sec OptimistAtomicQueueB, 8,i: 48,074,528 msg/sec AtomicQueue2, 1,s: 22,849,568 msg/sec AtomicQueue2, 1,i: 22,829,656 msg/sec AtomicQueue2, 2,s: 11,857,206 msg/sec AtomicQueue2, 2,i: 11,414,767 msg/sec AtomicQueue2, 3,s: 9,388,943 msg/sec AtomicQueue2, 3,i: 9,454,269 msg/sec AtomicQueue2, 4,s: 8,097,945 msg/sec AtomicQueue2, 4,i: 8,062,752 msg/sec AtomicQueue2, 5,s: 7,940,339 msg/sec AtomicQueue2, 5,i: 8,025,982 msg/sec AtomicQueue2, 6,s: 7,839,307 msg/sec AtomicQueue2, 6,i: 7,527,512 msg/sec AtomicQueue2, 7,s: 7,079,461 msg/sec AtomicQueue2, 7,i: 7,887,578 msg/sec AtomicQueue2, 8,s: 6,389,812 msg/sec AtomicQueue2, 8,i: 7,227,253 msg/sec AtomicQueueB2, 1,s: 36,274,849 msg/sec AtomicQueueB2, 1,i: 36,079,751 msg/sec AtomicQueueB2, 2,s: 11,431,212 msg/sec AtomicQueueB2, 2,i: 11,113,464 msg/sec AtomicQueueB2, 3,s: 9,710,153 msg/sec AtomicQueueB2, 3,i: 9,591,402 msg/sec AtomicQueueB2, 4,s: 7,959,266 msg/sec AtomicQueueB2, 4,i: 7,737,410 msg/sec AtomicQueueB2, 5,s: 7,516,288 msg/sec AtomicQueueB2, 5,i: 7,721,166 msg/sec AtomicQueueB2, 6,s: 7,274,180 msg/sec AtomicQueueB2, 6,i: 7,420,673 msg/sec AtomicQueueB2, 7,s: 6,799,314 msg/sec AtomicQueueB2, 7,i: 7,713,495 msg/sec AtomicQueueB2, 8,s: 6,268,403 msg/sec AtomicQueueB2, 8,i: 7,080,721 msg/sec OptimistAtomicQueue2, 1,s: 550,421,953 msg/sec OptimistAtomicQueue2, 1,i: 29,560,331 msg/sec OptimistAtomicQueue2, 2,s: 22,768,841 msg/sec OptimistAtomicQueue2, 2,i: 25,834,696 msg/sec OptimistAtomicQueue2, 3,s: 30,317,824 msg/sec OptimistAtomicQueue2, 3,i: 29,900,513 msg/sec OptimistAtomicQueue2, 4,s: 33,238,583 msg/sec OptimistAtomicQueue2, 4,i: 33,078,722 msg/sec OptimistAtomicQueue2, 5,s: 36,973,423 msg/sec OptimistAtomicQueue2, 5,i: 41,271,837 msg/sec OptimistAtomicQueue2, 6,s: 40,482,303 msg/sec OptimistAtomicQueue2, 6,i: 49,369,366 msg/sec OptimistAtomicQueue2, 7,s: 42,648,916 msg/sec OptimistAtomicQueue2, 7,i: 51,598,888 msg/sec OptimistAtomicQueue2, 8,s: 43,889,467 msg/sec OptimistAtomicQueue2, 8,i: 48,655,187 msg/sec OptimistAtomicQueueB2, 1,s: 77,387,735 msg/sec OptimistAtomicQueueB2, 1,i: 62,299,469 msg/sec OptimistAtomicQueueB2, 2,s: 28,773,644 msg/sec OptimistAtomicQueueB2, 2,i: 24,772,866 msg/sec OptimistAtomicQueueB2, 3,s: 29,799,051 msg/sec OptimistAtomicQueueB2, 3,i: 29,028,015 msg/sec OptimistAtomicQueueB2, 4,s: 33,374,181 msg/sec OptimistAtomicQueueB2, 4,i: 32,964,150 msg/sec OptimistAtomicQueueB2, 5,s: 34,562,643 msg/sec OptimistAtomicQueueB2, 5,i: 39,662,161 msg/sec OptimistAtomicQueueB2, 6,s: 37,270,676 msg/sec OptimistAtomicQueueB2, 6,i: 42,437,498 msg/sec OptimistAtomicQueueB2, 7,s: 40,861,645 msg/sec OptimistAtomicQueueB2, 7,i: 45,436,520 msg/sec OptimistAtomicQueueB2, 8,s: 42,303,921 msg/sec OptimistAtomicQueueB2, 8,i: 45,228,363 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000297 sec/round-trip std::mutex: 0.000000434 sec/round-trip tbb::spin_mutex: 0.000000286 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [70] 388m:59s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,598,321 msg/sec boost::lockfree::spsc_queue, 1,i: 67,334,932 msg/sec boost::lockfree::queue, 1,s: 6,874,825 msg/sec boost::lockfree::queue, 1,i: 6,940,535 msg/sec boost::lockfree::queue, 2,s: 7,615,191 msg/sec boost::lockfree::queue, 2,i: 7,502,165 msg/sec boost::lockfree::queue, 3,s: 7,402,396 msg/sec boost::lockfree::queue, 3,i: 7,564,879 msg/sec boost::lockfree::queue, 4,s: 6,422,432 msg/sec boost::lockfree::queue, 4,i: 6,719,483 msg/sec boost::lockfree::queue, 5,s: 6,506,606 msg/sec boost::lockfree::queue, 5,i: 6,460,084 msg/sec boost::lockfree::queue, 6,s: 5,968,628 msg/sec boost::lockfree::queue, 6,i: 6,082,344 msg/sec boost::lockfree::queue, 7,s: 5,911,259 msg/sec boost::lockfree::queue, 7,i: 6,026,381 msg/sec boost::lockfree::queue, 8,s: 5,445,382 msg/sec boost::lockfree::queue, 8,i: 5,590,969 msg/sec moodycamel::ReaderWriterQueue, 1,s: 143,447,711 msg/sec moodycamel::ReaderWriterQueue, 1,i: 126,243,028 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,416,926 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,714,256 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,263,647 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,998,872 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,114,284 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,653,392 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,224,687 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,438,135 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,374,931 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,037,618 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,351,736 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,001,279 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,156,225 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,154,964 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,221,069 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,078,031 msg/sec pthread_spinlock, 1,s: 29,098,022 msg/sec pthread_spinlock, 1,i: 25,451,431 msg/sec pthread_spinlock, 2,s: 16,064,014 msg/sec pthread_spinlock, 2,i: 16,951,085 msg/sec pthread_spinlock, 3,s: 8,393,773 msg/sec pthread_spinlock, 3,i: 12,104,865 msg/sec pthread_spinlock, 4,s: 6,489,487 msg/sec pthread_spinlock, 4,i: 8,848,699 msg/sec pthread_spinlock, 5,s: 8,634,992 msg/sec pthread_spinlock, 5,i: 9,537,996 msg/sec pthread_spinlock, 6,s: 8,301,299 msg/sec pthread_spinlock, 6,i: 8,468,882 msg/sec pthread_spinlock, 7,s: 7,583,937 msg/sec pthread_spinlock, 7,i: 7,685,101 msg/sec pthread_spinlock, 8,s: 6,665,419 msg/sec pthread_spinlock, 8,i: 7,056,736 msg/sec std::mutex, 1,s: 5,488,036 msg/sec std::mutex, 1,i: 7,044,840 msg/sec std::mutex, 2,s: 5,556,117 msg/sec std::mutex, 2,i: 5,217,527 msg/sec std::mutex, 3,s: 4,918,806 msg/sec std::mutex, 3,i: 4,877,172 msg/sec std::mutex, 4,s: 5,353,888 msg/sec std::mutex, 4,i: 6,236,090 msg/sec std::mutex, 5,s: 5,966,421 msg/sec std::mutex, 5,i: 5,953,680 msg/sec std::mutex, 6,s: 5,874,849 msg/sec std::mutex, 6,i: 5,851,231 msg/sec std::mutex, 7,s: 5,759,183 msg/sec std::mutex, 7,i: 5,793,752 msg/sec std::mutex, 8,s: 5,661,448 msg/sec std::mutex, 8,i: 5,658,997 msg/sec tbb::spin_mutex, 1,s: 37,744,607 msg/sec tbb::spin_mutex, 1,i: 37,166,750 msg/sec tbb::spin_mutex, 2,s: 21,319,607 msg/sec tbb::spin_mutex, 2,i: 18,538,654 msg/sec tbb::spin_mutex, 3,s: 7,388,040 msg/sec tbb::spin_mutex, 3,i: 10,367,051 msg/sec tbb::spin_mutex, 4,s: 3,140,744 msg/sec tbb::spin_mutex, 4,i: 6,321,221 msg/sec tbb::spin_mutex, 5,s: 5,369,223 msg/sec tbb::spin_mutex, 5,i: 5,894,037 msg/sec tbb::spin_mutex, 6,s: 5,068,591 msg/sec tbb::spin_mutex, 6,i: 4,365,417 msg/sec tbb::spin_mutex, 7,s: 4,836,436 msg/sec tbb::spin_mutex, 7,i: 4,297,850 msg/sec tbb::spin_mutex, 8,s: 4,224,436 msg/sec tbb::spin_mutex, 8,i: 4,070,385 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,940,724 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,588,036 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,583,676 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,040,129 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,992,518 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,578,487 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,287,484 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,190,613 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,578,008 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,185,927 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,040,989 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,421,958 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,996,884 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,616,859 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,057,590 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,688,339 msg/sec xenium::michael_scott_queue, 1,s: 9,233,550 msg/sec xenium::michael_scott_queue, 1,i: 9,224,702 msg/sec xenium::michael_scott_queue, 2,s: 8,464,349 msg/sec xenium::michael_scott_queue, 2,i: 8,453,644 msg/sec xenium::michael_scott_queue, 3,s: 7,159,920 msg/sec xenium::michael_scott_queue, 3,i: 7,561,354 msg/sec xenium::michael_scott_queue, 4,s: 6,275,605 msg/sec xenium::michael_scott_queue, 4,i: 6,306,143 msg/sec xenium::michael_scott_queue, 5,s: 6,306,657 msg/sec xenium::michael_scott_queue, 5,i: 6,730,058 msg/sec xenium::michael_scott_queue, 6,s: 6,542,193 msg/sec xenium::michael_scott_queue, 6,i: 6,692,497 msg/sec xenium::michael_scott_queue, 7,s: 6,312,349 msg/sec xenium::michael_scott_queue, 7,i: 6,483,407 msg/sec xenium::michael_scott_queue, 8,s: 6,012,061 msg/sec xenium::michael_scott_queue, 8,i: 6,217,678 msg/sec xenium::ramalhete_queue, 1,s: 31,514,503 msg/sec xenium::ramalhete_queue, 1,i: 32,573,026 msg/sec xenium::ramalhete_queue, 2,s: 23,600,404 msg/sec xenium::ramalhete_queue, 2,i: 23,381,630 msg/sec xenium::ramalhete_queue, 3,s: 29,196,153 msg/sec xenium::ramalhete_queue, 3,i: 28,534,115 msg/sec xenium::ramalhete_queue, 4,s: 33,833,933 msg/sec xenium::ramalhete_queue, 4,i: 33,473,129 msg/sec xenium::ramalhete_queue, 5,s: 32,462,640 msg/sec xenium::ramalhete_queue, 5,i: 35,882,284 msg/sec xenium::ramalhete_queue, 6,s: 34,014,228 msg/sec xenium::ramalhete_queue, 6,i: 39,377,849 msg/sec xenium::ramalhete_queue, 7,s: 35,286,892 msg/sec xenium::ramalhete_queue, 7,i: 41,019,223 msg/sec xenium::ramalhete_queue, 8,s: 35,472,261 msg/sec xenium::ramalhete_queue, 8,i: 43,692,846 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,131,635 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,871,272 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,684,921 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,626,147 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,737,995 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,928,143 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,390,379 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,306,468 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,022,311 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,374,859 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,845,667 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,317,342 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,220,259 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,035,670 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,437,934 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,336,426 msg/sec AtomicQueue, 1,s: 61,277,436 msg/sec AtomicQueue, 1,i: 56,904,501 msg/sec AtomicQueue, 2,s: 12,219,183 msg/sec AtomicQueue, 2,i: 11,745,501 msg/sec AtomicQueue, 3,s: 10,752,955 msg/sec AtomicQueue, 3,i: 10,003,892 msg/sec AtomicQueue, 4,s: 8,203,377 msg/sec AtomicQueue, 4,i: 8,208,486 msg/sec AtomicQueue, 5,s: 8,035,550 msg/sec AtomicQueue, 5,i: 8,123,461 msg/sec AtomicQueue, 6,s: 7,897,891 msg/sec AtomicQueue, 6,i: 7,605,813 msg/sec AtomicQueue, 7,s: 7,191,569 msg/sec AtomicQueue, 7,i: 7,964,928 msg/sec AtomicQueue, 8,s: 6,354,586 msg/sec AtomicQueue, 8,i: 7,435,147 msg/sec AtomicQueueB, 1,s: 43,864,275 msg/sec AtomicQueueB, 1,i: 43,819,127 msg/sec AtomicQueueB, 2,s: 11,769,391 msg/sec AtomicQueueB, 2,i: 11,431,206 msg/sec AtomicQueueB, 3,s: 10,996,489 msg/sec AtomicQueueB, 3,i: 10,302,719 msg/sec AtomicQueueB, 4,s: 8,073,016 msg/sec AtomicQueueB, 4,i: 8,029,487 msg/sec AtomicQueueB, 5,s: 7,672,292 msg/sec AtomicQueueB, 5,i: 7,770,151 msg/sec AtomicQueueB, 6,s: 7,421,688 msg/sec AtomicQueueB, 6,i: 7,564,199 msg/sec AtomicQueueB, 7,s: 6,912,322 msg/sec AtomicQueueB, 7,i: 7,734,696 msg/sec AtomicQueueB, 8,s: 6,299,970 msg/sec AtomicQueueB, 8,i: 7,099,335 msg/sec OptimistAtomicQueue, 1,s: 765,730,790 msg/sec OptimistAtomicQueue, 1,i: 588,262,458 msg/sec OptimistAtomicQueue, 2,s: 32,624,364 msg/sec OptimistAtomicQueue, 2,i: 32,730,202 msg/sec OptimistAtomicQueue, 3,s: 36,670,250 msg/sec OptimistAtomicQueue, 3,i: 37,394,381 msg/sec OptimistAtomicQueue, 4,s: 39,261,038 msg/sec OptimistAtomicQueue, 4,i: 39,401,497 msg/sec OptimistAtomicQueue, 5,s: 39,735,054 msg/sec OptimistAtomicQueue, 5,i: 46,333,757 msg/sec OptimistAtomicQueue, 6,s: 42,778,948 msg/sec OptimistAtomicQueue, 6,i: 50,504,852 msg/sec OptimistAtomicQueue, 7,s: 45,199,374 msg/sec OptimistAtomicQueue, 7,i: 49,274,314 msg/sec OptimistAtomicQueue, 8,s: 46,567,346 msg/sec OptimistAtomicQueue, 8,i: 49,453,938 msg/sec OptimistAtomicQueueB, 1,s: 120,228,936 msg/sec OptimistAtomicQueueB, 1,i: 75,919,842 msg/sec OptimistAtomicQueueB, 2,s: 31,691,732 msg/sec OptimistAtomicQueueB, 2,i: 32,400,345 msg/sec OptimistAtomicQueueB, 3,s: 36,286,594 msg/sec OptimistAtomicQueueB, 3,i: 36,994,277 msg/sec OptimistAtomicQueueB, 4,s: 38,639,905 msg/sec OptimistAtomicQueueB, 4,i: 38,671,625 msg/sec OptimistAtomicQueueB, 5,s: 40,789,720 msg/sec OptimistAtomicQueueB, 5,i: 45,557,257 msg/sec OptimistAtomicQueueB, 6,s: 41,181,761 msg/sec OptimistAtomicQueueB, 6,i: 49,229,410 msg/sec OptimistAtomicQueueB, 7,s: 42,040,909 msg/sec OptimistAtomicQueueB, 7,i: 51,198,653 msg/sec OptimistAtomicQueueB, 8,s: 44,544,834 msg/sec OptimistAtomicQueueB, 8,i: 48,867,664 msg/sec AtomicQueue2, 1,s: 22,924,426 msg/sec AtomicQueue2, 1,i: 22,923,216 msg/sec AtomicQueue2, 2,s: 11,785,730 msg/sec AtomicQueue2, 2,i: 11,387,105 msg/sec AtomicQueue2, 3,s: 9,463,151 msg/sec AtomicQueue2, 3,i: 9,345,378 msg/sec AtomicQueue2, 4,s: 8,095,725 msg/sec AtomicQueue2, 4,i: 8,113,757 msg/sec AtomicQueue2, 5,s: 7,917,004 msg/sec AtomicQueue2, 5,i: 8,036,537 msg/sec AtomicQueue2, 6,s: 7,755,906 msg/sec AtomicQueue2, 6,i: 7,526,288 msg/sec AtomicQueue2, 7,s: 7,181,160 msg/sec AtomicQueue2, 7,i: 7,882,262 msg/sec AtomicQueue2, 8,s: 6,396,269 msg/sec AtomicQueue2, 8,i: 7,343,041 msg/sec AtomicQueueB2, 1,s: 35,967,023 msg/sec AtomicQueueB2, 1,i: 32,626,704 msg/sec AtomicQueueB2, 2,s: 11,413,629 msg/sec AtomicQueueB2, 2,i: 11,158,379 msg/sec AtomicQueueB2, 3,s: 9,621,322 msg/sec AtomicQueueB2, 3,i: 9,558,013 msg/sec AtomicQueueB2, 4,s: 7,938,306 msg/sec AtomicQueueB2, 4,i: 7,920,994 msg/sec AtomicQueueB2, 5,s: 7,464,846 msg/sec AtomicQueueB2, 5,i: 7,665,640 msg/sec AtomicQueueB2, 6,s: 7,151,226 msg/sec AtomicQueueB2, 6,i: 7,471,159 msg/sec AtomicQueueB2, 7,s: 6,825,613 msg/sec AtomicQueueB2, 7,i: 7,710,671 msg/sec AtomicQueueB2, 8,s: 6,316,745 msg/sec AtomicQueueB2, 8,i: 7,103,166 msg/sec OptimistAtomicQueue2, 1,s: 461,394,648 msg/sec OptimistAtomicQueue2, 1,i: 416,947,628 msg/sec OptimistAtomicQueue2, 2,s: 27,193,612 msg/sec OptimistAtomicQueue2, 2,i: 24,013,768 msg/sec OptimistAtomicQueue2, 3,s: 30,311,423 msg/sec OptimistAtomicQueue2, 3,i: 29,740,797 msg/sec OptimistAtomicQueue2, 4,s: 35,510,130 msg/sec OptimistAtomicQueue2, 4,i: 33,137,822 msg/sec OptimistAtomicQueue2, 5,s: 36,852,898 msg/sec OptimistAtomicQueue2, 5,i: 40,537,005 msg/sec OptimistAtomicQueue2, 6,s: 40,289,986 msg/sec OptimistAtomicQueue2, 6,i: 49,189,658 msg/sec OptimistAtomicQueue2, 7,s: 43,307,902 msg/sec OptimistAtomicQueue2, 7,i: 47,907,954 msg/sec OptimistAtomicQueue2, 8,s: 43,947,981 msg/sec OptimistAtomicQueue2, 8,i: 48,351,627 msg/sec OptimistAtomicQueueB2, 1,s: 75,667,796 msg/sec OptimistAtomicQueueB2, 1,i: 33,868,478 msg/sec OptimistAtomicQueueB2, 2,s: 28,593,761 msg/sec OptimistAtomicQueueB2, 2,i: 23,204,751 msg/sec OptimistAtomicQueueB2, 3,s: 30,090,526 msg/sec OptimistAtomicQueueB2, 3,i: 29,140,166 msg/sec OptimistAtomicQueueB2, 4,s: 32,785,711 msg/sec OptimistAtomicQueueB2, 4,i: 32,788,219 msg/sec OptimistAtomicQueueB2, 5,s: 34,531,953 msg/sec OptimistAtomicQueueB2, 5,i: 39,524,429 msg/sec OptimistAtomicQueueB2, 6,s: 37,815,502 msg/sec OptimistAtomicQueueB2, 6,i: 42,290,297 msg/sec OptimistAtomicQueueB2, 7,s: 40,147,696 msg/sec OptimistAtomicQueueB2, 7,i: 43,165,972 msg/sec OptimistAtomicQueueB2, 8,s: 42,319,552 msg/sec OptimistAtomicQueueB2, 8,i: 46,156,513 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000160 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [71] 387m:40s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,832,665 msg/sec boost::lockfree::spsc_queue, 1,i: 69,306,144 msg/sec boost::lockfree::queue, 1,s: 8,023,971 msg/sec boost::lockfree::queue, 1,i: 7,704,838 msg/sec boost::lockfree::queue, 2,s: 7,559,386 msg/sec boost::lockfree::queue, 2,i: 7,523,257 msg/sec boost::lockfree::queue, 3,s: 7,356,386 msg/sec boost::lockfree::queue, 3,i: 7,553,530 msg/sec boost::lockfree::queue, 4,s: 6,422,675 msg/sec boost::lockfree::queue, 4,i: 6,738,047 msg/sec boost::lockfree::queue, 5,s: 6,395,259 msg/sec boost::lockfree::queue, 5,i: 6,521,345 msg/sec boost::lockfree::queue, 6,s: 5,978,001 msg/sec boost::lockfree::queue, 6,i: 6,127,687 msg/sec boost::lockfree::queue, 7,s: 5,900,267 msg/sec boost::lockfree::queue, 7,i: 6,018,768 msg/sec boost::lockfree::queue, 8,s: 5,355,775 msg/sec boost::lockfree::queue, 8,i: 5,578,002 msg/sec moodycamel::ReaderWriterQueue, 1,s: 538,733,018 msg/sec moodycamel::ReaderWriterQueue, 1,i: 512,773,377 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,931,770 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,869,948 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,747,422 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,840,271 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,769,912 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,079,129 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,048,982 msg/sec moodycamel::ConcurrentQueue, 4,i: 45,476,352 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,520,370 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,260,426 msg/sec moodycamel::ConcurrentQueue, 6,s: 45,933,918 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,431,493 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,981,419 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,686,551 msg/sec moodycamel::ConcurrentQueue, 8,s: 31,732,485 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,847,725 msg/sec pthread_spinlock, 1,s: 28,869,842 msg/sec pthread_spinlock, 1,i: 25,256,780 msg/sec pthread_spinlock, 2,s: 15,739,952 msg/sec pthread_spinlock, 2,i: 17,117,083 msg/sec pthread_spinlock, 3,s: 8,314,235 msg/sec pthread_spinlock, 3,i: 12,010,348 msg/sec pthread_spinlock, 4,s: 6,480,355 msg/sec pthread_spinlock, 4,i: 9,087,427 msg/sec pthread_spinlock, 5,s: 8,646,917 msg/sec pthread_spinlock, 5,i: 9,243,571 msg/sec pthread_spinlock, 6,s: 8,538,329 msg/sec pthread_spinlock, 6,i: 8,734,810 msg/sec pthread_spinlock, 7,s: 7,889,348 msg/sec pthread_spinlock, 7,i: 7,850,186 msg/sec pthread_spinlock, 8,s: 6,759,255 msg/sec pthread_spinlock, 8,i: 6,841,479 msg/sec std::mutex, 1,s: 7,329,519 msg/sec std::mutex, 1,i: 7,498,136 msg/sec std::mutex, 2,s: 5,396,198 msg/sec std::mutex, 2,i: 6,143,216 msg/sec std::mutex, 3,s: 5,912,701 msg/sec std::mutex, 3,i: 6,091,140 msg/sec std::mutex, 4,s: 6,043,821 msg/sec std::mutex, 4,i: 6,240,974 msg/sec std::mutex, 5,s: 5,890,883 msg/sec std::mutex, 5,i: 5,956,212 msg/sec std::mutex, 6,s: 5,778,317 msg/sec std::mutex, 6,i: 5,841,902 msg/sec std::mutex, 7,s: 5,738,645 msg/sec std::mutex, 7,i: 5,749,183 msg/sec std::mutex, 8,s: 5,630,057 msg/sec std::mutex, 8,i: 5,652,785 msg/sec tbb::spin_mutex, 1,s: 37,658,848 msg/sec tbb::spin_mutex, 1,i: 33,248,807 msg/sec tbb::spin_mutex, 2,s: 21,159,313 msg/sec tbb::spin_mutex, 2,i: 18,369,145 msg/sec tbb::spin_mutex, 3,s: 8,860,057 msg/sec tbb::spin_mutex, 3,i: 10,224,559 msg/sec tbb::spin_mutex, 4,s: 3,319,188 msg/sec tbb::spin_mutex, 4,i: 6,260,993 msg/sec tbb::spin_mutex, 5,s: 5,263,507 msg/sec tbb::spin_mutex, 5,i: 5,792,440 msg/sec tbb::spin_mutex, 6,s: 5,382,397 msg/sec tbb::spin_mutex, 6,i: 4,382,616 msg/sec tbb::spin_mutex, 7,s: 4,894,463 msg/sec tbb::spin_mutex, 7,i: 4,362,950 msg/sec tbb::spin_mutex, 8,s: 4,256,755 msg/sec tbb::spin_mutex, 8,i: 4,164,890 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,771,274 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,811,834 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,122,026 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,007,902 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,184,410 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,299,822 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,012,523 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,203,644 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,613,771 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,349,923 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,637,616 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,730,535 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,567,893 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,096,425 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,738,507 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,906,437 msg/sec xenium::michael_scott_queue, 1,s: 9,330,946 msg/sec xenium::michael_scott_queue, 1,i: 9,281,272 msg/sec xenium::michael_scott_queue, 2,s: 8,647,944 msg/sec xenium::michael_scott_queue, 2,i: 8,591,515 msg/sec xenium::michael_scott_queue, 3,s: 7,301,556 msg/sec xenium::michael_scott_queue, 3,i: 7,515,225 msg/sec xenium::michael_scott_queue, 4,s: 6,265,249 msg/sec xenium::michael_scott_queue, 4,i: 6,294,233 msg/sec xenium::michael_scott_queue, 5,s: 6,282,495 msg/sec xenium::michael_scott_queue, 5,i: 6,781,875 msg/sec xenium::michael_scott_queue, 6,s: 6,440,852 msg/sec xenium::michael_scott_queue, 6,i: 6,681,307 msg/sec xenium::michael_scott_queue, 7,s: 6,301,651 msg/sec xenium::michael_scott_queue, 7,i: 6,435,914 msg/sec xenium::michael_scott_queue, 8,s: 5,992,312 msg/sec xenium::michael_scott_queue, 8,i: 6,162,963 msg/sec xenium::ramalhete_queue, 1,s: 32,475,923 msg/sec xenium::ramalhete_queue, 1,i: 32,746,368 msg/sec xenium::ramalhete_queue, 2,s: 23,559,616 msg/sec xenium::ramalhete_queue, 2,i: 23,338,712 msg/sec xenium::ramalhete_queue, 3,s: 29,151,440 msg/sec xenium::ramalhete_queue, 3,i: 28,513,789 msg/sec xenium::ramalhete_queue, 4,s: 33,845,095 msg/sec xenium::ramalhete_queue, 4,i: 33,516,363 msg/sec xenium::ramalhete_queue, 5,s: 32,292,818 msg/sec xenium::ramalhete_queue, 5,i: 35,991,189 msg/sec xenium::ramalhete_queue, 6,s: 33,966,070 msg/sec xenium::ramalhete_queue, 6,i: 39,789,970 msg/sec xenium::ramalhete_queue, 7,s: 35,184,765 msg/sec xenium::ramalhete_queue, 7,i: 41,499,802 msg/sec xenium::ramalhete_queue, 8,s: 35,589,207 msg/sec xenium::ramalhete_queue, 8,i: 44,064,446 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,400,125 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,820,285 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,313,771 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,892,733 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,690,925 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,561,041 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,641,860 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,022,529 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,935,107 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,227,579 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,267,427 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,362,539 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,250,874 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,333,428 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,097 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,514,813 msg/sec AtomicQueue, 1,s: 74,705,662 msg/sec AtomicQueue, 1,i: 56,443,091 msg/sec AtomicQueue, 2,s: 12,237,385 msg/sec AtomicQueue, 2,i: 11,751,531 msg/sec AtomicQueue, 3,s: 10,770,929 msg/sec AtomicQueue, 3,i: 9,922,709 msg/sec AtomicQueue, 4,s: 8,188,112 msg/sec AtomicQueue, 4,i: 8,194,062 msg/sec AtomicQueue, 5,s: 8,029,746 msg/sec AtomicQueue, 5,i: 8,100,616 msg/sec AtomicQueue, 6,s: 7,730,050 msg/sec AtomicQueue, 6,i: 7,616,129 msg/sec AtomicQueue, 7,s: 7,153,473 msg/sec AtomicQueue, 7,i: 7,950,273 msg/sec AtomicQueue, 8,s: 6,322,982 msg/sec AtomicQueue, 8,i: 7,466,781 msg/sec AtomicQueueB, 1,s: 44,087,443 msg/sec AtomicQueueB, 1,i: 43,173,528 msg/sec AtomicQueueB, 2,s: 11,789,545 msg/sec AtomicQueueB, 2,i: 11,501,992 msg/sec AtomicQueueB, 3,s: 11,095,788 msg/sec AtomicQueueB, 3,i: 10,166,511 msg/sec AtomicQueueB, 4,s: 8,076,112 msg/sec AtomicQueueB, 4,i: 8,026,123 msg/sec AtomicQueueB, 5,s: 7,679,097 msg/sec AtomicQueueB, 5,i: 7,798,657 msg/sec AtomicQueueB, 6,s: 7,430,883 msg/sec AtomicQueueB, 6,i: 7,510,983 msg/sec AtomicQueueB, 7,s: 6,902,845 msg/sec AtomicQueueB, 7,i: 7,755,874 msg/sec AtomicQueueB, 8,s: 6,237,812 msg/sec AtomicQueueB, 8,i: 7,154,918 msg/sec OptimistAtomicQueue, 1,s: 770,383,974 msg/sec OptimistAtomicQueue, 1,i: 590,123,167 msg/sec OptimistAtomicQueue, 2,s: 32,655,500 msg/sec OptimistAtomicQueue, 2,i: 32,680,460 msg/sec OptimistAtomicQueue, 3,s: 36,636,947 msg/sec OptimistAtomicQueue, 3,i: 37,375,677 msg/sec OptimistAtomicQueue, 4,s: 39,265,094 msg/sec OptimistAtomicQueue, 4,i: 39,363,036 msg/sec OptimistAtomicQueue, 5,s: 42,424,308 msg/sec OptimistAtomicQueue, 5,i: 46,282,980 msg/sec OptimistAtomicQueue, 6,s: 42,467,622 msg/sec OptimistAtomicQueue, 6,i: 50,400,443 msg/sec OptimistAtomicQueue, 7,s: 45,036,475 msg/sec OptimistAtomicQueue, 7,i: 52,967,539 msg/sec OptimistAtomicQueue, 8,s: 46,314,466 msg/sec OptimistAtomicQueue, 8,i: 49,411,057 msg/sec OptimistAtomicQueueB, 1,s: 190,468,281 msg/sec OptimistAtomicQueueB, 1,i: 77,578,864 msg/sec OptimistAtomicQueueB, 2,s: 32,397,168 msg/sec OptimistAtomicQueueB, 2,i: 32,132,596 msg/sec OptimistAtomicQueueB, 3,s: 36,219,789 msg/sec OptimistAtomicQueueB, 3,i: 36,785,683 msg/sec OptimistAtomicQueueB, 4,s: 38,669,895 msg/sec OptimistAtomicQueueB, 4,i: 38,565,818 msg/sec OptimistAtomicQueueB, 5,s: 40,314,270 msg/sec OptimistAtomicQueueB, 5,i: 45,350,956 msg/sec OptimistAtomicQueueB, 6,s: 40,386,564 msg/sec OptimistAtomicQueueB, 6,i: 48,584,338 msg/sec OptimistAtomicQueueB, 7,s: 41,728,740 msg/sec OptimistAtomicQueueB, 7,i: 48,196,929 msg/sec OptimistAtomicQueueB, 8,s: 44,267,086 msg/sec OptimistAtomicQueueB, 8,i: 48,004,403 msg/sec AtomicQueue2, 1,s: 23,050,016 msg/sec AtomicQueue2, 1,i: 23,137,844 msg/sec AtomicQueue2, 2,s: 11,839,676 msg/sec AtomicQueue2, 2,i: 11,422,073 msg/sec AtomicQueue2, 3,s: 9,743,352 msg/sec AtomicQueue2, 3,i: 9,515,029 msg/sec AtomicQueue2, 4,s: 8,013,337 msg/sec AtomicQueue2, 4,i: 8,025,335 msg/sec AtomicQueue2, 5,s: 7,936,443 msg/sec AtomicQueue2, 5,i: 7,944,610 msg/sec AtomicQueue2, 6,s: 7,767,883 msg/sec AtomicQueue2, 6,i: 7,531,665 msg/sec AtomicQueue2, 7,s: 7,147,050 msg/sec AtomicQueue2, 7,i: 7,872,649 msg/sec AtomicQueue2, 8,s: 6,378,133 msg/sec AtomicQueue2, 8,i: 7,348,084 msg/sec AtomicQueueB2, 1,s: 36,023,152 msg/sec AtomicQueueB2, 1,i: 32,618,808 msg/sec AtomicQueueB2, 2,s: 11,496,355 msg/sec AtomicQueueB2, 2,i: 11,104,171 msg/sec AtomicQueueB2, 3,s: 9,675,216 msg/sec AtomicQueueB2, 3,i: 9,624,753 msg/sec AtomicQueueB2, 4,s: 7,909,405 msg/sec AtomicQueueB2, 4,i: 7,831,793 msg/sec AtomicQueueB2, 5,s: 7,560,364 msg/sec AtomicQueueB2, 5,i: 7,686,583 msg/sec AtomicQueueB2, 6,s: 7,300,709 msg/sec AtomicQueueB2, 6,i: 7,427,381 msg/sec AtomicQueueB2, 7,s: 6,884,517 msg/sec AtomicQueueB2, 7,i: 7,694,533 msg/sec AtomicQueueB2, 8,s: 6,338,894 msg/sec AtomicQueueB2, 8,i: 6,956,687 msg/sec OptimistAtomicQueue2, 1,s: 307,351,313 msg/sec OptimistAtomicQueue2, 1,i: 289,826,236 msg/sec OptimistAtomicQueue2, 2,s: 26,230,898 msg/sec OptimistAtomicQueue2, 2,i: 24,015,298 msg/sec OptimistAtomicQueue2, 3,s: 30,321,184 msg/sec OptimistAtomicQueue2, 3,i: 29,998,621 msg/sec OptimistAtomicQueue2, 4,s: 33,168,290 msg/sec OptimistAtomicQueue2, 4,i: 33,297,329 msg/sec OptimistAtomicQueue2, 5,s: 37,216,270 msg/sec OptimistAtomicQueue2, 5,i: 41,154,033 msg/sec OptimistAtomicQueue2, 6,s: 40,233,530 msg/sec OptimistAtomicQueue2, 6,i: 49,274,282 msg/sec OptimistAtomicQueue2, 7,s: 42,731,555 msg/sec OptimistAtomicQueue2, 7,i: 48,094,964 msg/sec OptimistAtomicQueue2, 8,s: 43,818,508 msg/sec OptimistAtomicQueue2, 8,i: 48,611,804 msg/sec OptimistAtomicQueueB2, 1,s: 78,295,756 msg/sec OptimistAtomicQueueB2, 1,i: 33,874,883 msg/sec OptimistAtomicQueueB2, 2,s: 27,939,322 msg/sec OptimistAtomicQueueB2, 2,i: 23,207,989 msg/sec OptimistAtomicQueueB2, 3,s: 29,740,095 msg/sec OptimistAtomicQueueB2, 3,i: 29,155,278 msg/sec OptimistAtomicQueueB2, 4,s: 32,871,425 msg/sec OptimistAtomicQueueB2, 4,i: 31,789,656 msg/sec OptimistAtomicQueueB2, 5,s: 34,250,065 msg/sec OptimistAtomicQueueB2, 5,i: 39,004,812 msg/sec OptimistAtomicQueueB2, 6,s: 37,245,388 msg/sec OptimistAtomicQueueB2, 6,i: 42,313,465 msg/sec OptimistAtomicQueueB2, 7,s: 40,341,666 msg/sec OptimistAtomicQueueB2, 7,i: 45,360,436 msg/sec OptimistAtomicQueueB2, 8,s: 42,148,728 msg/sec OptimistAtomicQueueB2, 8,i: 45,273,813 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000111 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000196 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [72] 386m:21s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,108,532 msg/sec boost::lockfree::spsc_queue, 1,i: 67,652,929 msg/sec boost::lockfree::queue, 1,s: 6,849,491 msg/sec boost::lockfree::queue, 1,i: 6,870,087 msg/sec boost::lockfree::queue, 2,s: 7,628,198 msg/sec boost::lockfree::queue, 2,i: 7,499,533 msg/sec boost::lockfree::queue, 3,s: 7,351,659 msg/sec boost::lockfree::queue, 3,i: 7,575,409 msg/sec boost::lockfree::queue, 4,s: 6,425,379 msg/sec boost::lockfree::queue, 4,i: 6,773,401 msg/sec boost::lockfree::queue, 5,s: 6,513,242 msg/sec boost::lockfree::queue, 5,i: 6,447,613 msg/sec boost::lockfree::queue, 6,s: 6,011,860 msg/sec boost::lockfree::queue, 6,i: 6,098,593 msg/sec boost::lockfree::queue, 7,s: 5,928,164 msg/sec boost::lockfree::queue, 7,i: 5,840,939 msg/sec boost::lockfree::queue, 8,s: 5,503,200 msg/sec boost::lockfree::queue, 8,i: 5,629,744 msg/sec moodycamel::ReaderWriterQueue, 1,s: 136,057,133 msg/sec moodycamel::ReaderWriterQueue, 1,i: 83,972,817 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,143,975 msg/sec moodycamel::ConcurrentQueue, 1,i: 20,805,715 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,935,527 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,711,001 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,283,680 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,748,905 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,416,483 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,102,789 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,385,072 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,674,443 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,675,023 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,629,978 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,101,190 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,162,091 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,230,734 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,515,030 msg/sec pthread_spinlock, 1,s: 29,037,561 msg/sec pthread_spinlock, 1,i: 25,363,256 msg/sec pthread_spinlock, 2,s: 15,528,660 msg/sec pthread_spinlock, 2,i: 16,980,715 msg/sec pthread_spinlock, 3,s: 8,339,315 msg/sec pthread_spinlock, 3,i: 11,953,892 msg/sec pthread_spinlock, 4,s: 6,487,337 msg/sec pthread_spinlock, 4,i: 9,007,297 msg/sec pthread_spinlock, 5,s: 8,663,632 msg/sec pthread_spinlock, 5,i: 9,548,593 msg/sec pthread_spinlock, 6,s: 8,632,969 msg/sec pthread_spinlock, 6,i: 8,946,563 msg/sec pthread_spinlock, 7,s: 7,569,691 msg/sec pthread_spinlock, 7,i: 8,070,287 msg/sec pthread_spinlock, 8,s: 6,706,130 msg/sec pthread_spinlock, 8,i: 7,046,996 msg/sec std::mutex, 1,s: 7,172,714 msg/sec std::mutex, 1,i: 7,522,583 msg/sec std::mutex, 2,s: 5,432,898 msg/sec std::mutex, 2,i: 5,644,573 msg/sec std::mutex, 3,s: 5,467,092 msg/sec std::mutex, 3,i: 5,999,691 msg/sec std::mutex, 4,s: 6,303,660 msg/sec std::mutex, 4,i: 6,231,762 msg/sec std::mutex, 5,s: 6,006,377 msg/sec std::mutex, 5,i: 6,101,804 msg/sec std::mutex, 6,s: 5,974,224 msg/sec std::mutex, 6,i: 5,916,670 msg/sec std::mutex, 7,s: 5,854,403 msg/sec std::mutex, 7,i: 5,841,546 msg/sec std::mutex, 8,s: 5,712,536 msg/sec std::mutex, 8,i: 5,691,611 msg/sec tbb::spin_mutex, 1,s: 37,850,465 msg/sec tbb::spin_mutex, 1,i: 33,037,517 msg/sec tbb::spin_mutex, 2,s: 21,190,256 msg/sec tbb::spin_mutex, 2,i: 18,499,141 msg/sec tbb::spin_mutex, 3,s: 8,906,621 msg/sec tbb::spin_mutex, 3,i: 11,133,793 msg/sec tbb::spin_mutex, 4,s: 3,139,342 msg/sec tbb::spin_mutex, 4,i: 6,392,363 msg/sec tbb::spin_mutex, 5,s: 5,327,410 msg/sec tbb::spin_mutex, 5,i: 5,761,186 msg/sec tbb::spin_mutex, 6,s: 5,328,851 msg/sec tbb::spin_mutex, 6,i: 4,329,103 msg/sec tbb::spin_mutex, 7,s: 4,896,688 msg/sec tbb::spin_mutex, 7,i: 4,327,170 msg/sec tbb::spin_mutex, 8,s: 4,264,841 msg/sec tbb::spin_mutex, 8,i: 4,136,329 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,964,720 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,301,469 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,283,043 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,658,337 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,390,878 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,702,980 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,555,114 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,604,215 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,953,527 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,632,708 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,882,562 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,665,922 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,858,434 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,824,214 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,775,481 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,481,756 msg/sec xenium::michael_scott_queue, 1,s: 9,357,866 msg/sec xenium::michael_scott_queue, 1,i: 9,188,395 msg/sec xenium::michael_scott_queue, 2,s: 8,464,820 msg/sec xenium::michael_scott_queue, 2,i: 8,517,644 msg/sec xenium::michael_scott_queue, 3,s: 7,193,715 msg/sec xenium::michael_scott_queue, 3,i: 7,509,716 msg/sec xenium::michael_scott_queue, 4,s: 6,393,452 msg/sec xenium::michael_scott_queue, 4,i: 6,377,031 msg/sec xenium::michael_scott_queue, 5,s: 6,285,517 msg/sec xenium::michael_scott_queue, 5,i: 6,726,239 msg/sec xenium::michael_scott_queue, 6,s: 6,515,805 msg/sec xenium::michael_scott_queue, 6,i: 6,703,455 msg/sec xenium::michael_scott_queue, 7,s: 6,284,893 msg/sec xenium::michael_scott_queue, 7,i: 6,681,190 msg/sec xenium::michael_scott_queue, 8,s: 6,013,643 msg/sec xenium::michael_scott_queue, 8,i: 6,173,433 msg/sec xenium::ramalhete_queue, 1,s: 31,542,243 msg/sec xenium::ramalhete_queue, 1,i: 31,630,035 msg/sec xenium::ramalhete_queue, 2,s: 24,320,007 msg/sec xenium::ramalhete_queue, 2,i: 23,290,032 msg/sec xenium::ramalhete_queue, 3,s: 29,224,866 msg/sec xenium::ramalhete_queue, 3,i: 28,460,401 msg/sec xenium::ramalhete_queue, 4,s: 33,891,822 msg/sec xenium::ramalhete_queue, 4,i: 33,503,868 msg/sec xenium::ramalhete_queue, 5,s: 32,182,057 msg/sec xenium::ramalhete_queue, 5,i: 36,500,419 msg/sec xenium::ramalhete_queue, 6,s: 34,202,812 msg/sec xenium::ramalhete_queue, 6,i: 39,714,105 msg/sec xenium::ramalhete_queue, 7,s: 35,174,774 msg/sec xenium::ramalhete_queue, 7,i: 41,427,066 msg/sec xenium::ramalhete_queue, 8,s: 35,663,713 msg/sec xenium::ramalhete_queue, 8,i: 43,936,011 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,701,295 msg/sec xenium::vyukov_bounded_queue, 1,i: 118,428,246 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,672,899 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,062,978 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,855,142 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,009,448 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,578,059 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,240,574 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,751,769 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,338,583 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,956,341 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,302,473 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,230,339 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,903,076 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,393,021 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,336,760 msg/sec AtomicQueue, 1,s: 63,298,366 msg/sec AtomicQueue, 1,i: 56,865,781 msg/sec AtomicQueue, 2,s: 12,285,476 msg/sec AtomicQueue, 2,i: 11,754,877 msg/sec AtomicQueue, 3,s: 10,734,251 msg/sec AtomicQueue, 3,i: 9,941,956 msg/sec AtomicQueue, 4,s: 8,134,888 msg/sec AtomicQueue, 4,i: 8,211,119 msg/sec AtomicQueue, 5,s: 8,046,157 msg/sec AtomicQueue, 5,i: 8,074,336 msg/sec AtomicQueue, 6,s: 7,898,350 msg/sec AtomicQueue, 6,i: 7,612,271 msg/sec AtomicQueue, 7,s: 7,082,366 msg/sec AtomicQueue, 7,i: 7,981,119 msg/sec AtomicQueue, 8,s: 6,312,843 msg/sec AtomicQueue, 8,i: 7,471,267 msg/sec AtomicQueueB, 1,s: 46,570,807 msg/sec AtomicQueueB, 1,i: 43,644,104 msg/sec AtomicQueueB, 2,s: 11,785,245 msg/sec AtomicQueueB, 2,i: 11,512,763 msg/sec AtomicQueueB, 3,s: 10,926,164 msg/sec AtomicQueueB, 3,i: 10,216,818 msg/sec AtomicQueueB, 4,s: 8,038,203 msg/sec AtomicQueueB, 4,i: 8,023,727 msg/sec AtomicQueueB, 5,s: 7,598,170 msg/sec AtomicQueueB, 5,i: 7,834,991 msg/sec AtomicQueueB, 6,s: 7,360,289 msg/sec AtomicQueueB, 6,i: 7,490,969 msg/sec AtomicQueueB, 7,s: 6,874,671 msg/sec AtomicQueueB, 7,i: 7,703,725 msg/sec AtomicQueueB, 8,s: 6,271,328 msg/sec AtomicQueueB, 8,i: 7,032,593 msg/sec OptimistAtomicQueue, 1,s: 691,748,307 msg/sec OptimistAtomicQueue, 1,i: 514,241,665 msg/sec OptimistAtomicQueue, 2,s: 32,002,483 msg/sec OptimistAtomicQueue, 2,i: 31,994,505 msg/sec OptimistAtomicQueue, 3,s: 36,616,055 msg/sec OptimistAtomicQueue, 3,i: 37,310,164 msg/sec OptimistAtomicQueue, 4,s: 39,264,020 msg/sec OptimistAtomicQueue, 4,i: 39,370,542 msg/sec OptimistAtomicQueue, 5,s: 42,458,003 msg/sec OptimistAtomicQueue, 5,i: 46,537,469 msg/sec OptimistAtomicQueue, 6,s: 42,711,557 msg/sec OptimistAtomicQueue, 6,i: 50,269,842 msg/sec OptimistAtomicQueue, 7,s: 44,149,552 msg/sec OptimistAtomicQueue, 7,i: 49,338,262 msg/sec OptimistAtomicQueue, 8,s: 46,326,593 msg/sec OptimistAtomicQueue, 8,i: 49,287,123 msg/sec OptimistAtomicQueueB, 1,s: 77,872,078 msg/sec OptimistAtomicQueueB, 1,i: 76,590,419 msg/sec OptimistAtomicQueueB, 2,s: 32,170,622 msg/sec OptimistAtomicQueueB, 2,i: 32,087,647 msg/sec OptimistAtomicQueueB, 3,s: 36,247,717 msg/sec OptimistAtomicQueueB, 3,i: 36,982,087 msg/sec OptimistAtomicQueueB, 4,s: 38,718,872 msg/sec OptimistAtomicQueueB, 4,i: 38,517,891 msg/sec OptimistAtomicQueueB, 5,s: 41,424,406 msg/sec OptimistAtomicQueueB, 5,i: 45,356,627 msg/sec OptimistAtomicQueueB, 6,s: 40,647,021 msg/sec OptimistAtomicQueueB, 6,i: 49,098,596 msg/sec OptimistAtomicQueueB, 7,s: 42,595,243 msg/sec OptimistAtomicQueueB, 7,i: 50,882,173 msg/sec OptimistAtomicQueueB, 8,s: 44,467,113 msg/sec OptimistAtomicQueueB, 8,i: 48,077,666 msg/sec AtomicQueue2, 1,s: 22,952,855 msg/sec AtomicQueue2, 1,i: 22,884,575 msg/sec AtomicQueue2, 2,s: 11,777,433 msg/sec AtomicQueue2, 2,i: 11,520,642 msg/sec AtomicQueue2, 3,s: 9,743,878 msg/sec AtomicQueue2, 3,i: 9,354,266 msg/sec AtomicQueue2, 4,s: 8,080,042 msg/sec AtomicQueue2, 4,i: 8,044,420 msg/sec AtomicQueue2, 5,s: 7,892,671 msg/sec AtomicQueue2, 5,i: 8,027,002 msg/sec AtomicQueue2, 6,s: 7,641,132 msg/sec AtomicQueue2, 6,i: 7,530,844 msg/sec AtomicQueue2, 7,s: 7,109,201 msg/sec AtomicQueue2, 7,i: 7,903,712 msg/sec AtomicQueue2, 8,s: 6,366,372 msg/sec AtomicQueue2, 8,i: 7,332,477 msg/sec AtomicQueueB2, 1,s: 36,289,509 msg/sec AtomicQueueB2, 1,i: 32,874,807 msg/sec AtomicQueueB2, 2,s: 11,518,533 msg/sec AtomicQueueB2, 2,i: 11,138,276 msg/sec AtomicQueueB2, 3,s: 9,519,714 msg/sec AtomicQueueB2, 3,i: 9,405,361 msg/sec AtomicQueueB2, 4,s: 7,940,298 msg/sec AtomicQueueB2, 4,i: 7,826,456 msg/sec AtomicQueueB2, 5,s: 7,460,821 msg/sec AtomicQueueB2, 5,i: 7,731,961 msg/sec AtomicQueueB2, 6,s: 7,294,756 msg/sec AtomicQueueB2, 6,i: 7,450,154 msg/sec AtomicQueueB2, 7,s: 6,845,760 msg/sec AtomicQueueB2, 7,i: 7,710,533 msg/sec AtomicQueueB2, 8,s: 6,247,006 msg/sec AtomicQueueB2, 8,i: 7,073,323 msg/sec OptimistAtomicQueue2, 1,s: 442,110,494 msg/sec OptimistAtomicQueue2, 1,i: 31,819,037 msg/sec OptimistAtomicQueue2, 2,s: 24,266,862 msg/sec OptimistAtomicQueue2, 2,i: 24,013,051 msg/sec OptimistAtomicQueue2, 3,s: 30,325,907 msg/sec OptimistAtomicQueue2, 3,i: 29,990,337 msg/sec OptimistAtomicQueue2, 4,s: 33,263,852 msg/sec OptimistAtomicQueue2, 4,i: 33,555,672 msg/sec OptimistAtomicQueue2, 5,s: 37,237,764 msg/sec OptimistAtomicQueue2, 5,i: 40,010,551 msg/sec OptimistAtomicQueue2, 6,s: 40,167,118 msg/sec OptimistAtomicQueue2, 6,i: 49,295,705 msg/sec OptimistAtomicQueue2, 7,s: 42,690,419 msg/sec OptimistAtomicQueue2, 7,i: 51,624,689 msg/sec OptimistAtomicQueue2, 8,s: 43,892,754 msg/sec OptimistAtomicQueue2, 8,i: 48,860,774 msg/sec OptimistAtomicQueueB2, 1,s: 75,572,813 msg/sec OptimistAtomicQueueB2, 1,i: 33,886,851 msg/sec OptimistAtomicQueueB2, 2,s: 27,931,437 msg/sec OptimistAtomicQueueB2, 2,i: 23,199,179 msg/sec OptimistAtomicQueueB2, 3,s: 29,910,919 msg/sec OptimistAtomicQueueB2, 3,i: 29,130,810 msg/sec OptimistAtomicQueueB2, 4,s: 33,369,196 msg/sec OptimistAtomicQueueB2, 4,i: 32,351,137 msg/sec OptimistAtomicQueueB2, 5,s: 34,698,383 msg/sec OptimistAtomicQueueB2, 5,i: 39,094,312 msg/sec OptimistAtomicQueueB2, 6,s: 37,467,893 msg/sec OptimistAtomicQueueB2, 6,i: 42,370,767 msg/sec OptimistAtomicQueueB2, 7,s: 40,771,180 msg/sec OptimistAtomicQueueB2, 7,i: 45,090,888 msg/sec OptimistAtomicQueueB2, 8,s: 42,319,369 msg/sec OptimistAtomicQueueB2, 8,i: 45,111,781 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000324 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000148 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000520 sec/round-trip tbb::spin_mutex: 0.000000306 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000386 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000225 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000172 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [73] 385m:2s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,163,228 msg/sec boost::lockfree::spsc_queue, 1,i: 68,504,044 msg/sec boost::lockfree::queue, 1,s: 8,023,140 msg/sec boost::lockfree::queue, 1,i: 7,993,172 msg/sec boost::lockfree::queue, 2,s: 7,531,275 msg/sec boost::lockfree::queue, 2,i: 7,507,061 msg/sec boost::lockfree::queue, 3,s: 7,437,266 msg/sec boost::lockfree::queue, 3,i: 7,569,941 msg/sec boost::lockfree::queue, 4,s: 6,427,739 msg/sec boost::lockfree::queue, 4,i: 6,766,600 msg/sec boost::lockfree::queue, 5,s: 6,410,993 msg/sec boost::lockfree::queue, 5,i: 6,472,525 msg/sec boost::lockfree::queue, 6,s: 5,968,630 msg/sec boost::lockfree::queue, 6,i: 6,173,552 msg/sec boost::lockfree::queue, 7,s: 5,901,996 msg/sec boost::lockfree::queue, 7,i: 5,925,807 msg/sec boost::lockfree::queue, 8,s: 5,510,023 msg/sec boost::lockfree::queue, 8,i: 5,680,098 msg/sec moodycamel::ReaderWriterQueue, 1,s: 472,096,500 msg/sec moodycamel::ReaderWriterQueue, 1,i: 474,116,330 msg/sec moodycamel::ConcurrentQueue, 1,s: 27,399,678 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,615,442 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,683,759 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,426,565 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,195,386 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,712,854 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,399,134 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,771,222 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,288,252 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,342,023 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,708,065 msg/sec moodycamel::ConcurrentQueue, 6,i: 55,510,883 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,219,370 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,602,325 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,251,902 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,784,313 msg/sec pthread_spinlock, 1,s: 29,000,571 msg/sec pthread_spinlock, 1,i: 25,369,447 msg/sec pthread_spinlock, 2,s: 16,113,724 msg/sec pthread_spinlock, 2,i: 17,007,044 msg/sec pthread_spinlock, 3,s: 8,325,065 msg/sec pthread_spinlock, 3,i: 12,019,946 msg/sec pthread_spinlock, 4,s: 6,525,590 msg/sec pthread_spinlock, 4,i: 8,956,787 msg/sec pthread_spinlock, 5,s: 8,687,148 msg/sec pthread_spinlock, 5,i: 9,355,605 msg/sec pthread_spinlock, 6,s: 8,318,171 msg/sec pthread_spinlock, 6,i: 8,503,661 msg/sec pthread_spinlock, 7,s: 7,934,631 msg/sec pthread_spinlock, 7,i: 7,990,755 msg/sec pthread_spinlock, 8,s: 6,723,572 msg/sec pthread_spinlock, 8,i: 7,526,283 msg/sec std::mutex, 1,s: 6,499,982 msg/sec std::mutex, 1,i: 6,512,722 msg/sec std::mutex, 2,s: 5,515,783 msg/sec std::mutex, 2,i: 6,248,182 msg/sec std::mutex, 3,s: 5,424,565 msg/sec std::mutex, 3,i: 4,974,561 msg/sec std::mutex, 4,s: 6,139,732 msg/sec std::mutex, 4,i: 6,168,293 msg/sec std::mutex, 5,s: 5,982,612 msg/sec std::mutex, 5,i: 5,998,510 msg/sec std::mutex, 6,s: 5,534,119 msg/sec std::mutex, 6,i: 5,793,958 msg/sec std::mutex, 7,s: 5,734,826 msg/sec std::mutex, 7,i: 5,698,752 msg/sec std::mutex, 8,s: 5,699,296 msg/sec std::mutex, 8,i: 5,667,863 msg/sec tbb::spin_mutex, 1,s: 37,556,829 msg/sec tbb::spin_mutex, 1,i: 32,743,672 msg/sec tbb::spin_mutex, 2,s: 21,167,490 msg/sec tbb::spin_mutex, 2,i: 18,450,476 msg/sec tbb::spin_mutex, 3,s: 7,365,704 msg/sec tbb::spin_mutex, 3,i: 10,824,489 msg/sec tbb::spin_mutex, 4,s: 3,271,206 msg/sec tbb::spin_mutex, 4,i: 6,341,189 msg/sec tbb::spin_mutex, 5,s: 5,483,786 msg/sec tbb::spin_mutex, 5,i: 5,594,106 msg/sec tbb::spin_mutex, 6,s: 5,344,647 msg/sec tbb::spin_mutex, 6,i: 4,383,367 msg/sec tbb::spin_mutex, 7,s: 4,856,521 msg/sec tbb::spin_mutex, 7,i: 4,277,079 msg/sec tbb::spin_mutex, 8,s: 4,267,601 msg/sec tbb::spin_mutex, 8,i: 4,195,160 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,172,968 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,030,708 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,560,740 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,953,072 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,148,519 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,381,183 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,133,192 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,281,123 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,548,128 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,373,040 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,653,146 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,754,628 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,652,849 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,108,654 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,719,545 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,955,403 msg/sec xenium::michael_scott_queue, 1,s: 9,328,973 msg/sec xenium::michael_scott_queue, 1,i: 9,238,568 msg/sec xenium::michael_scott_queue, 2,s: 8,489,205 msg/sec xenium::michael_scott_queue, 2,i: 8,533,515 msg/sec xenium::michael_scott_queue, 3,s: 7,120,927 msg/sec xenium::michael_scott_queue, 3,i: 7,533,471 msg/sec xenium::michael_scott_queue, 4,s: 6,348,275 msg/sec xenium::michael_scott_queue, 4,i: 6,344,039 msg/sec xenium::michael_scott_queue, 5,s: 6,319,473 msg/sec xenium::michael_scott_queue, 5,i: 6,638,035 msg/sec xenium::michael_scott_queue, 6,s: 6,486,225 msg/sec xenium::michael_scott_queue, 6,i: 7,006,775 msg/sec xenium::michael_scott_queue, 7,s: 6,310,051 msg/sec xenium::michael_scott_queue, 7,i: 6,561,446 msg/sec xenium::michael_scott_queue, 8,s: 6,005,091 msg/sec xenium::michael_scott_queue, 8,i: 6,090,453 msg/sec xenium::ramalhete_queue, 1,s: 32,210,490 msg/sec xenium::ramalhete_queue, 1,i: 32,134,312 msg/sec xenium::ramalhete_queue, 2,s: 23,561,390 msg/sec xenium::ramalhete_queue, 2,i: 23,206,001 msg/sec xenium::ramalhete_queue, 3,s: 29,141,121 msg/sec xenium::ramalhete_queue, 3,i: 28,480,375 msg/sec xenium::ramalhete_queue, 4,s: 33,687,340 msg/sec xenium::ramalhete_queue, 4,i: 33,533,438 msg/sec xenium::ramalhete_queue, 5,s: 31,982,357 msg/sec xenium::ramalhete_queue, 5,i: 35,940,099 msg/sec xenium::ramalhete_queue, 6,s: 34,005,263 msg/sec xenium::ramalhete_queue, 6,i: 39,644,648 msg/sec xenium::ramalhete_queue, 7,s: 34,992,035 msg/sec xenium::ramalhete_queue, 7,i: 41,898,177 msg/sec xenium::ramalhete_queue, 8,s: 35,599,234 msg/sec xenium::ramalhete_queue, 8,i: 43,903,882 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,065,719 msg/sec xenium::vyukov_bounded_queue, 1,i: 122,048,124 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,018,122 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,393,638 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,554,389 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,738,854 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,566,635 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,381,974 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,932,607 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,310,026 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,860,990 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,428,614 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,207,869 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,309,761 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,422,441 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,228,098 msg/sec AtomicQueue, 1,s: 189,062,301 msg/sec AtomicQueue, 1,i: 228,557,153 msg/sec AtomicQueue, 2,s: 12,205,630 msg/sec AtomicQueue, 2,i: 11,724,183 msg/sec AtomicQueue, 3,s: 10,769,557 msg/sec AtomicQueue, 3,i: 9,902,100 msg/sec AtomicQueue, 4,s: 8,155,905 msg/sec AtomicQueue, 4,i: 8,219,428 msg/sec AtomicQueue, 5,s: 8,035,187 msg/sec AtomicQueue, 5,i: 8,105,592 msg/sec AtomicQueue, 6,s: 7,835,194 msg/sec AtomicQueue, 6,i: 7,617,562 msg/sec AtomicQueue, 7,s: 7,167,771 msg/sec AtomicQueue, 7,i: 7,984,794 msg/sec AtomicQueue, 8,s: 6,376,934 msg/sec AtomicQueue, 8,i: 7,406,778 msg/sec AtomicQueueB, 1,s: 59,477,273 msg/sec AtomicQueueB, 1,i: 69,012,473 msg/sec AtomicQueueB, 2,s: 11,914,243 msg/sec AtomicQueueB, 2,i: 11,528,124 msg/sec AtomicQueueB, 3,s: 10,902,925 msg/sec AtomicQueueB, 3,i: 10,110,481 msg/sec AtomicQueueB, 4,s: 8,045,210 msg/sec AtomicQueueB, 4,i: 8,007,315 msg/sec AtomicQueueB, 5,s: 7,540,190 msg/sec AtomicQueueB, 5,i: 7,840,598 msg/sec AtomicQueueB, 6,s: 7,336,742 msg/sec AtomicQueueB, 6,i: 7,528,033 msg/sec AtomicQueueB, 7,s: 6,867,560 msg/sec AtomicQueueB, 7,i: 7,571,323 msg/sec AtomicQueueB, 8,s: 6,246,364 msg/sec AtomicQueueB, 8,i: 7,164,872 msg/sec OptimistAtomicQueue, 1,s: 688,103,499 msg/sec OptimistAtomicQueue, 1,i: 521,650,313 msg/sec OptimistAtomicQueue, 2,s: 32,109,403 msg/sec OptimistAtomicQueue, 2,i: 32,186,465 msg/sec OptimistAtomicQueue, 3,s: 36,629,081 msg/sec OptimistAtomicQueue, 3,i: 37,330,881 msg/sec OptimistAtomicQueue, 4,s: 39,255,459 msg/sec OptimistAtomicQueue, 4,i: 39,378,307 msg/sec OptimistAtomicQueue, 5,s: 42,457,281 msg/sec OptimistAtomicQueue, 5,i: 46,089,728 msg/sec OptimistAtomicQueue, 6,s: 42,199,983 msg/sec OptimistAtomicQueue, 6,i: 50,510,589 msg/sec OptimistAtomicQueue, 7,s: 44,833,918 msg/sec OptimistAtomicQueue, 7,i: 53,033,116 msg/sec OptimistAtomicQueue, 8,s: 46,402,945 msg/sec OptimistAtomicQueue, 8,i: 49,074,649 msg/sec OptimistAtomicQueueB, 1,s: 139,559,515 msg/sec OptimistAtomicQueueB, 1,i: 76,624,101 msg/sec OptimistAtomicQueueB, 2,s: 32,125,255 msg/sec OptimistAtomicQueueB, 2,i: 32,356,118 msg/sec OptimistAtomicQueueB, 3,s: 36,287,780 msg/sec OptimistAtomicQueueB, 3,i: 36,935,160 msg/sec OptimistAtomicQueueB, 4,s: 38,697,561 msg/sec OptimistAtomicQueueB, 4,i: 38,625,643 msg/sec OptimistAtomicQueueB, 5,s: 40,479,259 msg/sec OptimistAtomicQueueB, 5,i: 45,445,054 msg/sec OptimistAtomicQueueB, 6,s: 40,507,995 msg/sec OptimistAtomicQueueB, 6,i: 49,128,405 msg/sec OptimistAtomicQueueB, 7,s: 41,886,987 msg/sec OptimistAtomicQueueB, 7,i: 48,183,433 msg/sec OptimistAtomicQueueB, 8,s: 44,239,585 msg/sec OptimistAtomicQueueB, 8,i: 47,680,591 msg/sec AtomicQueue2, 1,s: 23,492,308 msg/sec AtomicQueue2, 1,i: 23,421,266 msg/sec AtomicQueue2, 2,s: 11,731,141 msg/sec AtomicQueue2, 2,i: 11,409,634 msg/sec AtomicQueue2, 3,s: 9,394,028 msg/sec AtomicQueue2, 3,i: 9,372,484 msg/sec AtomicQueue2, 4,s: 8,106,634 msg/sec AtomicQueue2, 4,i: 8,050,888 msg/sec AtomicQueue2, 5,s: 7,914,900 msg/sec AtomicQueue2, 5,i: 8,056,280 msg/sec AtomicQueue2, 6,s: 7,845,226 msg/sec AtomicQueue2, 6,i: 7,535,700 msg/sec AtomicQueue2, 7,s: 7,098,451 msg/sec AtomicQueue2, 7,i: 7,869,667 msg/sec AtomicQueue2, 8,s: 6,360,497 msg/sec AtomicQueue2, 8,i: 7,353,122 msg/sec AtomicQueueB2, 1,s: 35,726,187 msg/sec AtomicQueueB2, 1,i: 32,623,537 msg/sec AtomicQueueB2, 2,s: 11,556,122 msg/sec AtomicQueueB2, 2,i: 11,083,849 msg/sec AtomicQueueB2, 3,s: 9,614,943 msg/sec AtomicQueueB2, 3,i: 9,600,474 msg/sec AtomicQueueB2, 4,s: 7,975,464 msg/sec AtomicQueueB2, 4,i: 7,862,156 msg/sec AtomicQueueB2, 5,s: 7,504,704 msg/sec AtomicQueueB2, 5,i: 7,702,937 msg/sec AtomicQueueB2, 6,s: 7,236,626 msg/sec AtomicQueueB2, 6,i: 7,440,560 msg/sec AtomicQueueB2, 7,s: 6,888,472 msg/sec AtomicQueueB2, 7,i: 7,728,563 msg/sec AtomicQueueB2, 8,s: 6,319,042 msg/sec AtomicQueueB2, 8,i: 7,093,102 msg/sec OptimistAtomicQueue2, 1,s: 480,421,733 msg/sec OptimistAtomicQueue2, 1,i: 156,167,353 msg/sec OptimistAtomicQueue2, 2,s: 26,039,860 msg/sec OptimistAtomicQueue2, 2,i: 24,294,544 msg/sec OptimistAtomicQueue2, 3,s: 29,832,374 msg/sec OptimistAtomicQueue2, 3,i: 31,142,667 msg/sec OptimistAtomicQueue2, 4,s: 33,274,190 msg/sec OptimistAtomicQueue2, 4,i: 33,372,349 msg/sec OptimistAtomicQueue2, 5,s: 37,309,070 msg/sec OptimistAtomicQueue2, 5,i: 43,176,847 msg/sec OptimistAtomicQueue2, 6,s: 40,120,160 msg/sec OptimistAtomicQueue2, 6,i: 49,150,369 msg/sec OptimistAtomicQueue2, 7,s: 42,705,675 msg/sec OptimistAtomicQueue2, 7,i: 48,155,422 msg/sec OptimistAtomicQueue2, 8,s: 44,180,505 msg/sec OptimistAtomicQueue2, 8,i: 49,381,693 msg/sec OptimistAtomicQueueB2, 1,s: 76,307,143 msg/sec OptimistAtomicQueueB2, 1,i: 33,911,759 msg/sec OptimistAtomicQueueB2, 2,s: 27,775,250 msg/sec OptimistAtomicQueueB2, 2,i: 25,200,969 msg/sec OptimistAtomicQueueB2, 3,s: 30,154,316 msg/sec OptimistAtomicQueueB2, 3,i: 29,342,392 msg/sec OptimistAtomicQueueB2, 4,s: 33,233,928 msg/sec OptimistAtomicQueueB2, 4,i: 31,675,224 msg/sec OptimistAtomicQueueB2, 5,s: 34,474,897 msg/sec OptimistAtomicQueueB2, 5,i: 39,265,055 msg/sec OptimistAtomicQueueB2, 6,s: 37,077,354 msg/sec OptimistAtomicQueueB2, 6,i: 42,481,702 msg/sec OptimistAtomicQueueB2, 7,s: 40,771,718 msg/sec OptimistAtomicQueueB2, 7,i: 45,317,718 msg/sec OptimistAtomicQueueB2, 8,s: 42,581,500 msg/sec OptimistAtomicQueueB2, 8,i: 45,799,273 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000142 sec/round-trip moodycamel::ConcurrentQueue: 0.000000247 sec/round-trip pthread_spinlock: 0.000000298 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000201 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [74] 383m:43s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,335,548 msg/sec boost::lockfree::spsc_queue, 1,i: 67,947,574 msg/sec boost::lockfree::queue, 1,s: 6,852,274 msg/sec boost::lockfree::queue, 1,i: 6,965,995 msg/sec boost::lockfree::queue, 2,s: 7,647,817 msg/sec boost::lockfree::queue, 2,i: 7,504,258 msg/sec boost::lockfree::queue, 3,s: 7,353,540 msg/sec boost::lockfree::queue, 3,i: 7,539,220 msg/sec boost::lockfree::queue, 4,s: 6,419,036 msg/sec boost::lockfree::queue, 4,i: 6,781,753 msg/sec boost::lockfree::queue, 5,s: 6,486,340 msg/sec boost::lockfree::queue, 5,i: 6,449,373 msg/sec boost::lockfree::queue, 6,s: 6,022,976 msg/sec boost::lockfree::queue, 6,i: 6,157,056 msg/sec boost::lockfree::queue, 7,s: 6,021,956 msg/sec boost::lockfree::queue, 7,i: 6,131,839 msg/sec boost::lockfree::queue, 8,s: 5,451,546 msg/sec boost::lockfree::queue, 8,i: 5,552,359 msg/sec moodycamel::ReaderWriterQueue, 1,s: 515,098,171 msg/sec moodycamel::ReaderWriterQueue, 1,i: 493,483,245 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,184,086 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,179,822 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,259,516 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,383,665 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,250,770 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,751,281 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,740,647 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,703,536 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,021,605 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,229,863 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,295,232 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,340,953 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,238,025 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,070,136 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,217,921 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,858,505 msg/sec pthread_spinlock, 1,s: 28,722,200 msg/sec pthread_spinlock, 1,i: 25,274,978 msg/sec pthread_spinlock, 2,s: 15,518,490 msg/sec pthread_spinlock, 2,i: 16,921,910 msg/sec pthread_spinlock, 3,s: 8,281,360 msg/sec pthread_spinlock, 3,i: 12,185,375 msg/sec pthread_spinlock, 4,s: 6,479,863 msg/sec pthread_spinlock, 4,i: 9,049,981 msg/sec pthread_spinlock, 5,s: 8,757,612 msg/sec pthread_spinlock, 5,i: 9,194,325 msg/sec pthread_spinlock, 6,s: 8,313,967 msg/sec pthread_spinlock, 6,i: 9,149,474 msg/sec pthread_spinlock, 7,s: 7,552,252 msg/sec pthread_spinlock, 7,i: 7,719,378 msg/sec pthread_spinlock, 8,s: 6,704,002 msg/sec pthread_spinlock, 8,i: 6,824,095 msg/sec std::mutex, 1,s: 6,419,091 msg/sec std::mutex, 1,i: 7,546,424 msg/sec std::mutex, 2,s: 5,902,675 msg/sec std::mutex, 2,i: 5,914,236 msg/sec std::mutex, 3,s: 5,940,920 msg/sec std::mutex, 3,i: 6,019,490 msg/sec std::mutex, 4,s: 6,271,159 msg/sec std::mutex, 4,i: 6,381,246 msg/sec std::mutex, 5,s: 6,073,833 msg/sec std::mutex, 5,i: 6,010,877 msg/sec std::mutex, 6,s: 5,947,313 msg/sec std::mutex, 6,i: 5,972,693 msg/sec std::mutex, 7,s: 5,885,862 msg/sec std::mutex, 7,i: 5,852,240 msg/sec std::mutex, 8,s: 5,826,209 msg/sec std::mutex, 8,i: 5,762,240 msg/sec tbb::spin_mutex, 1,s: 37,995,777 msg/sec tbb::spin_mutex, 1,i: 32,816,968 msg/sec tbb::spin_mutex, 2,s: 20,015,001 msg/sec tbb::spin_mutex, 2,i: 18,467,802 msg/sec tbb::spin_mutex, 3,s: 8,860,477 msg/sec tbb::spin_mutex, 3,i: 10,233,335 msg/sec tbb::spin_mutex, 4,s: 3,115,410 msg/sec tbb::spin_mutex, 4,i: 6,352,314 msg/sec tbb::spin_mutex, 5,s: 5,354,961 msg/sec tbb::spin_mutex, 5,i: 5,682,707 msg/sec tbb::spin_mutex, 6,s: 5,176,302 msg/sec tbb::spin_mutex, 6,i: 4,330,011 msg/sec tbb::spin_mutex, 7,s: 4,868,943 msg/sec tbb::spin_mutex, 7,i: 4,329,675 msg/sec tbb::spin_mutex, 8,s: 4,249,422 msg/sec tbb::spin_mutex, 8,i: 4,194,765 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,693,506 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,807,665 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,875,779 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,254,835 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,346,278 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,705,462 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,419,692 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,325,272 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,668,937 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,917,199 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,940,079 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,999,508 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,016,258 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,987,097 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,969,653 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,095,322 msg/sec xenium::michael_scott_queue, 1,s: 9,346,965 msg/sec xenium::michael_scott_queue, 1,i: 9,249,149 msg/sec xenium::michael_scott_queue, 2,s: 8,572,203 msg/sec xenium::michael_scott_queue, 2,i: 8,533,408 msg/sec xenium::michael_scott_queue, 3,s: 7,221,319 msg/sec xenium::michael_scott_queue, 3,i: 7,555,153 msg/sec xenium::michael_scott_queue, 4,s: 6,289,925 msg/sec xenium::michael_scott_queue, 4,i: 6,313,225 msg/sec xenium::michael_scott_queue, 5,s: 6,304,346 msg/sec xenium::michael_scott_queue, 5,i: 6,602,850 msg/sec xenium::michael_scott_queue, 6,s: 6,459,703 msg/sec xenium::michael_scott_queue, 6,i: 6,674,797 msg/sec xenium::michael_scott_queue, 7,s: 6,314,361 msg/sec xenium::michael_scott_queue, 7,i: 6,618,997 msg/sec xenium::michael_scott_queue, 8,s: 5,939,293 msg/sec xenium::michael_scott_queue, 8,i: 6,254,119 msg/sec xenium::ramalhete_queue, 1,s: 32,153,241 msg/sec xenium::ramalhete_queue, 1,i: 32,215,326 msg/sec xenium::ramalhete_queue, 2,s: 23,558,562 msg/sec xenium::ramalhete_queue, 2,i: 23,352,715 msg/sec xenium::ramalhete_queue, 3,s: 29,171,918 msg/sec xenium::ramalhete_queue, 3,i: 28,429,244 msg/sec xenium::ramalhete_queue, 4,s: 33,780,520 msg/sec xenium::ramalhete_queue, 4,i: 33,529,750 msg/sec xenium::ramalhete_queue, 5,s: 32,163,482 msg/sec xenium::ramalhete_queue, 5,i: 35,873,193 msg/sec xenium::ramalhete_queue, 6,s: 34,101,584 msg/sec xenium::ramalhete_queue, 6,i: 39,294,149 msg/sec xenium::ramalhete_queue, 7,s: 35,219,558 msg/sec xenium::ramalhete_queue, 7,i: 40,800,539 msg/sec xenium::ramalhete_queue, 8,s: 35,196,089 msg/sec xenium::ramalhete_queue, 8,i: 44,049,479 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,934,947 msg/sec xenium::vyukov_bounded_queue, 1,i: 110,138,475 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,806,869 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,812,908 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,781,912 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,458,771 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,606,686 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,511,507 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,983,817 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,353,691 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,884,720 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,226,436 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,217,316 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,904,933 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,397,228 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,226,249 msg/sec AtomicQueue, 1,s: 80,011,147 msg/sec AtomicQueue, 1,i: 56,406,688 msg/sec AtomicQueue, 2,s: 12,303,136 msg/sec AtomicQueue, 2,i: 11,775,155 msg/sec AtomicQueue, 3,s: 10,800,211 msg/sec AtomicQueue, 3,i: 9,955,564 msg/sec AtomicQueue, 4,s: 8,155,014 msg/sec AtomicQueue, 4,i: 8,209,301 msg/sec AtomicQueue, 5,s: 8,051,187 msg/sec AtomicQueue, 5,i: 7,985,589 msg/sec AtomicQueue, 6,s: 7,838,992 msg/sec AtomicQueue, 6,i: 7,591,069 msg/sec AtomicQueue, 7,s: 7,113,122 msg/sec AtomicQueue, 7,i: 7,965,030 msg/sec AtomicQueue, 8,s: 6,335,624 msg/sec AtomicQueue, 8,i: 7,463,739 msg/sec AtomicQueueB, 1,s: 43,737,331 msg/sec AtomicQueueB, 1,i: 42,992,914 msg/sec AtomicQueueB, 2,s: 12,053,238 msg/sec AtomicQueueB, 2,i: 11,523,257 msg/sec AtomicQueueB, 3,s: 11,089,639 msg/sec AtomicQueueB, 3,i: 10,225,484 msg/sec AtomicQueueB, 4,s: 8,076,085 msg/sec AtomicQueueB, 4,i: 8,079,114 msg/sec AtomicQueueB, 5,s: 7,671,656 msg/sec AtomicQueueB, 5,i: 7,745,585 msg/sec AtomicQueueB, 6,s: 7,396,273 msg/sec AtomicQueueB, 6,i: 7,572,361 msg/sec AtomicQueueB, 7,s: 6,912,869 msg/sec AtomicQueueB, 7,i: 7,758,006 msg/sec AtomicQueueB, 8,s: 6,268,600 msg/sec AtomicQueueB, 8,i: 7,149,359 msg/sec OptimistAtomicQueue, 1,s: 737,539,273 msg/sec OptimistAtomicQueue, 1,i: 517,983,547 msg/sec OptimistAtomicQueue, 2,s: 32,616,403 msg/sec OptimistAtomicQueue, 2,i: 32,683,634 msg/sec OptimistAtomicQueue, 3,s: 36,672,409 msg/sec OptimistAtomicQueue, 3,i: 37,483,566 msg/sec OptimistAtomicQueue, 4,s: 39,316,722 msg/sec OptimistAtomicQueue, 4,i: 39,389,225 msg/sec OptimistAtomicQueue, 5,s: 42,418,066 msg/sec OptimistAtomicQueue, 5,i: 46,412,314 msg/sec OptimistAtomicQueue, 6,s: 42,513,656 msg/sec OptimistAtomicQueue, 6,i: 50,382,133 msg/sec OptimistAtomicQueue, 7,s: 44,460,958 msg/sec OptimistAtomicQueue, 7,i: 49,486,002 msg/sec OptimistAtomicQueue, 8,s: 46,450,135 msg/sec OptimistAtomicQueue, 8,i: 48,787,053 msg/sec OptimistAtomicQueueB, 1,s: 77,877,723 msg/sec OptimistAtomicQueueB, 1,i: 76,653,175 msg/sec OptimistAtomicQueueB, 2,s: 32,242,304 msg/sec OptimistAtomicQueueB, 2,i: 32,307,363 msg/sec OptimistAtomicQueueB, 3,s: 36,281,795 msg/sec OptimistAtomicQueueB, 3,i: 36,965,036 msg/sec OptimistAtomicQueueB, 4,s: 38,720,111 msg/sec OptimistAtomicQueueB, 4,i: 38,661,789 msg/sec OptimistAtomicQueueB, 5,s: 41,021,904 msg/sec OptimistAtomicQueueB, 5,i: 45,380,688 msg/sec OptimistAtomicQueueB, 6,s: 41,126,272 msg/sec OptimistAtomicQueueB, 6,i: 49,290,770 msg/sec OptimistAtomicQueueB, 7,s: 41,622,205 msg/sec OptimistAtomicQueueB, 7,i: 51,498,451 msg/sec OptimistAtomicQueueB, 8,s: 44,418,775 msg/sec OptimistAtomicQueueB, 8,i: 48,116,413 msg/sec AtomicQueue2, 1,s: 22,854,228 msg/sec AtomicQueue2, 1,i: 22,872,496 msg/sec AtomicQueue2, 2,s: 11,806,443 msg/sec AtomicQueue2, 2,i: 11,619,455 msg/sec AtomicQueue2, 3,s: 9,446,458 msg/sec AtomicQueue2, 3,i: 9,417,980 msg/sec AtomicQueue2, 4,s: 8,075,767 msg/sec AtomicQueue2, 4,i: 8,037,537 msg/sec AtomicQueue2, 5,s: 7,956,864 msg/sec AtomicQueue2, 5,i: 7,954,641 msg/sec AtomicQueue2, 6,s: 7,775,611 msg/sec AtomicQueue2, 6,i: 7,527,318 msg/sec AtomicQueue2, 7,s: 7,128,254 msg/sec AtomicQueue2, 7,i: 7,921,212 msg/sec AtomicQueue2, 8,s: 6,378,938 msg/sec AtomicQueue2, 8,i: 7,252,015 msg/sec AtomicQueueB2, 1,s: 39,411,068 msg/sec AtomicQueueB2, 1,i: 32,598,522 msg/sec AtomicQueueB2, 2,s: 11,409,304 msg/sec AtomicQueueB2, 2,i: 11,105,589 msg/sec AtomicQueueB2, 3,s: 9,551,501 msg/sec AtomicQueueB2, 3,i: 9,566,918 msg/sec AtomicQueueB2, 4,s: 7,887,839 msg/sec AtomicQueueB2, 4,i: 7,846,613 msg/sec AtomicQueueB2, 5,s: 7,394,586 msg/sec AtomicQueueB2, 5,i: 7,736,128 msg/sec AtomicQueueB2, 6,s: 7,330,131 msg/sec AtomicQueueB2, 6,i: 7,453,518 msg/sec AtomicQueueB2, 7,s: 6,924,679 msg/sec AtomicQueueB2, 7,i: 7,703,204 msg/sec AtomicQueueB2, 8,s: 6,266,734 msg/sec AtomicQueueB2, 8,i: 7,104,211 msg/sec OptimistAtomicQueue2, 1,s: 432,279,662 msg/sec OptimistAtomicQueue2, 1,i: 29,645,234 msg/sec OptimistAtomicQueue2, 2,s: 25,632,727 msg/sec OptimistAtomicQueue2, 2,i: 24,022,215 msg/sec OptimistAtomicQueue2, 3,s: 30,515,260 msg/sec OptimistAtomicQueue2, 3,i: 29,543,837 msg/sec OptimistAtomicQueue2, 4,s: 33,135,004 msg/sec OptimistAtomicQueue2, 4,i: 33,875,714 msg/sec OptimistAtomicQueue2, 5,s: 36,983,188 msg/sec OptimistAtomicQueue2, 5,i: 40,897,424 msg/sec OptimistAtomicQueue2, 6,s: 40,451,783 msg/sec OptimistAtomicQueue2, 6,i: 49,359,476 msg/sec OptimistAtomicQueue2, 7,s: 42,826,233 msg/sec OptimistAtomicQueue2, 7,i: 51,444,626 msg/sec OptimistAtomicQueue2, 8,s: 43,871,316 msg/sec OptimistAtomicQueue2, 8,i: 48,822,013 msg/sec OptimistAtomicQueueB2, 1,s: 76,184,024 msg/sec OptimistAtomicQueueB2, 1,i: 33,880,897 msg/sec OptimistAtomicQueueB2, 2,s: 26,003,512 msg/sec OptimistAtomicQueueB2, 2,i: 21,996,422 msg/sec OptimistAtomicQueueB2, 3,s: 29,405,439 msg/sec OptimistAtomicQueueB2, 3,i: 29,772,177 msg/sec OptimistAtomicQueueB2, 4,s: 33,217,429 msg/sec OptimistAtomicQueueB2, 4,i: 33,079,118 msg/sec OptimistAtomicQueueB2, 5,s: 34,638,406 msg/sec OptimistAtomicQueueB2, 5,i: 39,383,874 msg/sec OptimistAtomicQueueB2, 6,s: 37,432,693 msg/sec OptimistAtomicQueueB2, 6,i: 42,268,145 msg/sec OptimistAtomicQueueB2, 7,s: 40,106,749 msg/sec OptimistAtomicQueueB2, 7,i: 43,187,452 msg/sec OptimistAtomicQueueB2, 8,s: 42,428,152 msg/sec OptimistAtomicQueueB2, 8,i: 45,208,462 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000271 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000198 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [75] 382m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,633,743 msg/sec boost::lockfree::spsc_queue, 1,i: 70,373,545 msg/sec boost::lockfree::queue, 1,s: 8,045,052 msg/sec boost::lockfree::queue, 1,i: 8,001,502 msg/sec boost::lockfree::queue, 2,s: 7,559,468 msg/sec boost::lockfree::queue, 2,i: 7,340,282 msg/sec boost::lockfree::queue, 3,s: 7,390,331 msg/sec boost::lockfree::queue, 3,i: 7,550,725 msg/sec boost::lockfree::queue, 4,s: 6,420,547 msg/sec boost::lockfree::queue, 4,i: 6,808,764 msg/sec boost::lockfree::queue, 5,s: 6,392,966 msg/sec boost::lockfree::queue, 5,i: 6,479,126 msg/sec boost::lockfree::queue, 6,s: 5,970,232 msg/sec boost::lockfree::queue, 6,i: 6,117,261 msg/sec boost::lockfree::queue, 7,s: 5,805,703 msg/sec boost::lockfree::queue, 7,i: 5,974,494 msg/sec boost::lockfree::queue, 8,s: 5,422,612 msg/sec boost::lockfree::queue, 8,i: 5,530,880 msg/sec moodycamel::ReaderWriterQueue, 1,s: 98,951,083 msg/sec moodycamel::ReaderWriterQueue, 1,i: 84,764,771 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,904,834 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,501,492 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,124,651 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,005,089 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,064,360 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,126,733 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,405,589 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,066,300 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,234,038 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,952,161 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,282,175 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,519,978 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,777,122 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,451,462 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,297,045 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,421,167 msg/sec pthread_spinlock, 1,s: 28,821,934 msg/sec pthread_spinlock, 1,i: 25,314,399 msg/sec pthread_spinlock, 2,s: 15,641,789 msg/sec pthread_spinlock, 2,i: 17,108,530 msg/sec pthread_spinlock, 3,s: 8,298,697 msg/sec pthread_spinlock, 3,i: 12,052,545 msg/sec pthread_spinlock, 4,s: 6,518,740 msg/sec pthread_spinlock, 4,i: 9,076,271 msg/sec pthread_spinlock, 5,s: 8,622,391 msg/sec pthread_spinlock, 5,i: 8,906,302 msg/sec pthread_spinlock, 6,s: 8,510,950 msg/sec pthread_spinlock, 6,i: 8,438,073 msg/sec pthread_spinlock, 7,s: 7,613,327 msg/sec pthread_spinlock, 7,i: 7,464,119 msg/sec pthread_spinlock, 8,s: 6,873,065 msg/sec pthread_spinlock, 8,i: 6,828,586 msg/sec std::mutex, 1,s: 6,581,107 msg/sec std::mutex, 1,i: 6,602,751 msg/sec std::mutex, 2,s: 5,920,388 msg/sec std::mutex, 2,i: 5,303,783 msg/sec std::mutex, 3,s: 4,878,643 msg/sec std::mutex, 3,i: 5,364,204 msg/sec std::mutex, 4,s: 5,496,040 msg/sec std::mutex, 4,i: 5,655,366 msg/sec std::mutex, 5,s: 5,477,607 msg/sec std::mutex, 5,i: 5,955,299 msg/sec std::mutex, 6,s: 5,877,119 msg/sec std::mutex, 6,i: 5,863,183 msg/sec std::mutex, 7,s: 5,744,172 msg/sec std::mutex, 7,i: 5,764,176 msg/sec std::mutex, 8,s: 5,624,106 msg/sec std::mutex, 8,i: 5,595,040 msg/sec tbb::spin_mutex, 1,s: 37,733,056 msg/sec tbb::spin_mutex, 1,i: 33,426,799 msg/sec tbb::spin_mutex, 2,s: 21,254,753 msg/sec tbb::spin_mutex, 2,i: 18,445,776 msg/sec tbb::spin_mutex, 3,s: 8,970,786 msg/sec tbb::spin_mutex, 3,i: 11,161,853 msg/sec tbb::spin_mutex, 4,s: 3,154,143 msg/sec tbb::spin_mutex, 4,i: 6,336,730 msg/sec tbb::spin_mutex, 5,s: 5,179,771 msg/sec tbb::spin_mutex, 5,i: 5,839,416 msg/sec tbb::spin_mutex, 6,s: 5,234,628 msg/sec tbb::spin_mutex, 6,i: 4,379,326 msg/sec tbb::spin_mutex, 7,s: 4,846,778 msg/sec tbb::spin_mutex, 7,i: 4,249,380 msg/sec tbb::spin_mutex, 8,s: 4,269,691 msg/sec tbb::spin_mutex, 8,i: 4,145,181 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,165,994 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,821,267 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,602,432 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,375,453 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,636,307 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,648,133 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,553,482 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,529,538 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,814,910 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,623,643 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,952,049 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,666,743 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,873,141 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,822,475 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,789,330 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,476,907 msg/sec xenium::michael_scott_queue, 1,s: 9,202,148 msg/sec xenium::michael_scott_queue, 1,i: 8,995,422 msg/sec xenium::michael_scott_queue, 2,s: 8,357,552 msg/sec xenium::michael_scott_queue, 2,i: 8,415,626 msg/sec xenium::michael_scott_queue, 3,s: 7,284,253 msg/sec xenium::michael_scott_queue, 3,i: 7,554,830 msg/sec xenium::michael_scott_queue, 4,s: 6,248,356 msg/sec xenium::michael_scott_queue, 4,i: 6,325,170 msg/sec xenium::michael_scott_queue, 5,s: 6,282,350 msg/sec xenium::michael_scott_queue, 5,i: 6,665,729 msg/sec xenium::michael_scott_queue, 6,s: 6,522,120 msg/sec xenium::michael_scott_queue, 6,i: 6,681,767 msg/sec xenium::michael_scott_queue, 7,s: 6,241,695 msg/sec xenium::michael_scott_queue, 7,i: 6,566,933 msg/sec xenium::michael_scott_queue, 8,s: 5,990,096 msg/sec xenium::michael_scott_queue, 8,i: 6,138,773 msg/sec xenium::ramalhete_queue, 1,s: 32,204,164 msg/sec xenium::ramalhete_queue, 1,i: 32,823,909 msg/sec xenium::ramalhete_queue, 2,s: 24,052,698 msg/sec xenium::ramalhete_queue, 2,i: 23,289,149 msg/sec xenium::ramalhete_queue, 3,s: 29,121,020 msg/sec xenium::ramalhete_queue, 3,i: 28,482,708 msg/sec xenium::ramalhete_queue, 4,s: 33,781,937 msg/sec xenium::ramalhete_queue, 4,i: 33,517,057 msg/sec xenium::ramalhete_queue, 5,s: 32,038,703 msg/sec xenium::ramalhete_queue, 5,i: 36,208,034 msg/sec xenium::ramalhete_queue, 6,s: 33,853,477 msg/sec xenium::ramalhete_queue, 6,i: 38,804,198 msg/sec xenium::ramalhete_queue, 7,s: 34,823,629 msg/sec xenium::ramalhete_queue, 7,i: 41,678,510 msg/sec xenium::ramalhete_queue, 8,s: 35,318,590 msg/sec xenium::ramalhete_queue, 8,i: 43,588,757 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,592,091 msg/sec xenium::vyukov_bounded_queue, 1,i: 67,130,125 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,906,703 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,356,968 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,532,603 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,799,669 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,709,586 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,192,407 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,014,032 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,345,955 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,211,633 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,238,748 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,187,701 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,296,595 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,376,837 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,256,987 msg/sec AtomicQueue, 1,s: 59,648,379 msg/sec AtomicQueue, 1,i: 56,400,414 msg/sec AtomicQueue, 2,s: 12,327,484 msg/sec AtomicQueue, 2,i: 11,727,432 msg/sec AtomicQueue, 3,s: 10,773,970 msg/sec AtomicQueue, 3,i: 9,890,074 msg/sec AtomicQueue, 4,s: 8,175,868 msg/sec AtomicQueue, 4,i: 8,212,425 msg/sec AtomicQueue, 5,s: 8,025,826 msg/sec AtomicQueue, 5,i: 8,093,488 msg/sec AtomicQueue, 6,s: 7,728,965 msg/sec AtomicQueue, 6,i: 7,602,222 msg/sec AtomicQueue, 7,s: 7,167,689 msg/sec AtomicQueue, 7,i: 7,972,697 msg/sec AtomicQueue, 8,s: 6,342,969 msg/sec AtomicQueue, 8,i: 7,441,432 msg/sec AtomicQueueB, 1,s: 71,083,749 msg/sec AtomicQueueB, 1,i: 43,098,377 msg/sec AtomicQueueB, 2,s: 11,810,873 msg/sec AtomicQueueB, 2,i: 11,465,308 msg/sec AtomicQueueB, 3,s: 11,041,672 msg/sec AtomicQueueB, 3,i: 10,207,487 msg/sec AtomicQueueB, 4,s: 8,001,876 msg/sec AtomicQueueB, 4,i: 8,025,132 msg/sec AtomicQueueB, 5,s: 7,651,995 msg/sec AtomicQueueB, 5,i: 7,778,190 msg/sec AtomicQueueB, 6,s: 7,221,673 msg/sec AtomicQueueB, 6,i: 7,580,204 msg/sec AtomicQueueB, 7,s: 6,889,058 msg/sec AtomicQueueB, 7,i: 7,765,022 msg/sec AtomicQueueB, 8,s: 6,194,222 msg/sec AtomicQueueB, 8,i: 7,202,801 msg/sec OptimistAtomicQueue, 1,s: 722,073,795 msg/sec OptimistAtomicQueue, 1,i: 525,739,343 msg/sec OptimistAtomicQueue, 2,s: 32,628,274 msg/sec OptimistAtomicQueue, 2,i: 32,677,587 msg/sec OptimistAtomicQueue, 3,s: 36,674,092 msg/sec OptimistAtomicQueue, 3,i: 37,349,470 msg/sec OptimistAtomicQueue, 4,s: 39,264,674 msg/sec OptimistAtomicQueue, 4,i: 39,402,913 msg/sec OptimistAtomicQueue, 5,s: 42,422,159 msg/sec OptimistAtomicQueue, 5,i: 46,551,152 msg/sec OptimistAtomicQueue, 6,s: 42,597,044 msg/sec OptimistAtomicQueue, 6,i: 49,832,825 msg/sec OptimistAtomicQueue, 7,s: 45,157,520 msg/sec OptimistAtomicQueue, 7,i: 51,923,313 msg/sec OptimistAtomicQueue, 8,s: 46,408,028 msg/sec OptimistAtomicQueue, 8,i: 48,922,318 msg/sec OptimistAtomicQueueB, 1,s: 77,482,401 msg/sec OptimistAtomicQueueB, 1,i: 77,932,640 msg/sec OptimistAtomicQueueB, 2,s: 32,206,749 msg/sec OptimistAtomicQueueB, 2,i: 32,216,077 msg/sec OptimistAtomicQueueB, 3,s: 36,276,220 msg/sec OptimistAtomicQueueB, 3,i: 36,880,518 msg/sec OptimistAtomicQueueB, 4,s: 38,644,348 msg/sec OptimistAtomicQueueB, 4,i: 38,765,370 msg/sec OptimistAtomicQueueB, 5,s: 40,344,170 msg/sec OptimistAtomicQueueB, 5,i: 45,249,321 msg/sec OptimistAtomicQueueB, 6,s: 40,980,998 msg/sec OptimistAtomicQueueB, 6,i: 49,132,993 msg/sec OptimistAtomicQueueB, 7,s: 41,931,593 msg/sec OptimistAtomicQueueB, 7,i: 51,588,024 msg/sec OptimistAtomicQueueB, 8,s: 44,409,927 msg/sec OptimistAtomicQueueB, 8,i: 48,083,046 msg/sec AtomicQueue2, 1,s: 23,109,078 msg/sec AtomicQueue2, 1,i: 23,142,093 msg/sec AtomicQueue2, 2,s: 11,648,839 msg/sec AtomicQueue2, 2,i: 11,419,298 msg/sec AtomicQueue2, 3,s: 9,679,209 msg/sec AtomicQueue2, 3,i: 9,449,372 msg/sec AtomicQueue2, 4,s: 8,076,623 msg/sec AtomicQueue2, 4,i: 8,007,409 msg/sec AtomicQueue2, 5,s: 7,825,250 msg/sec AtomicQueue2, 5,i: 8,057,081 msg/sec AtomicQueue2, 6,s: 7,773,112 msg/sec AtomicQueue2, 6,i: 7,510,297 msg/sec AtomicQueue2, 7,s: 7,057,833 msg/sec AtomicQueue2, 7,i: 7,900,583 msg/sec AtomicQueue2, 8,s: 6,390,977 msg/sec AtomicQueue2, 8,i: 7,324,903 msg/sec AtomicQueueB2, 1,s: 35,868,117 msg/sec AtomicQueueB2, 1,i: 32,625,689 msg/sec AtomicQueueB2, 2,s: 11,452,789 msg/sec AtomicQueueB2, 2,i: 11,142,102 msg/sec AtomicQueueB2, 3,s: 9,621,733 msg/sec AtomicQueueB2, 3,i: 9,634,148 msg/sec AtomicQueueB2, 4,s: 7,863,696 msg/sec AtomicQueueB2, 4,i: 7,857,397 msg/sec AtomicQueueB2, 5,s: 7,590,520 msg/sec AtomicQueueB2, 5,i: 7,699,182 msg/sec AtomicQueueB2, 6,s: 7,315,973 msg/sec AtomicQueueB2, 6,i: 7,402,662 msg/sec AtomicQueueB2, 7,s: 6,888,080 msg/sec AtomicQueueB2, 7,i: 7,703,879 msg/sec AtomicQueueB2, 8,s: 6,264,713 msg/sec AtomicQueueB2, 8,i: 7,100,090 msg/sec OptimistAtomicQueue2, 1,s: 495,219,460 msg/sec OptimistAtomicQueue2, 1,i: 31,400,808 msg/sec OptimistAtomicQueue2, 2,s: 29,503,352 msg/sec OptimistAtomicQueue2, 2,i: 24,233,919 msg/sec OptimistAtomicQueue2, 3,s: 32,917,757 msg/sec OptimistAtomicQueue2, 3,i: 30,036,901 msg/sec OptimistAtomicQueue2, 4,s: 33,253,050 msg/sec OptimistAtomicQueue2, 4,i: 33,151,915 msg/sec OptimistAtomicQueue2, 5,s: 37,110,899 msg/sec OptimistAtomicQueue2, 5,i: 40,311,571 msg/sec OptimistAtomicQueue2, 6,s: 40,463,033 msg/sec OptimistAtomicQueue2, 6,i: 49,269,047 msg/sec OptimistAtomicQueue2, 7,s: 43,222,170 msg/sec OptimistAtomicQueue2, 7,i: 48,213,809 msg/sec OptimistAtomicQueue2, 8,s: 43,808,669 msg/sec OptimistAtomicQueue2, 8,i: 48,474,568 msg/sec OptimistAtomicQueueB2, 1,s: 75,401,883 msg/sec OptimistAtomicQueueB2, 1,i: 33,878,811 msg/sec OptimistAtomicQueueB2, 2,s: 27,632,789 msg/sec OptimistAtomicQueueB2, 2,i: 23,153,842 msg/sec OptimistAtomicQueueB2, 3,s: 29,773,317 msg/sec OptimistAtomicQueueB2, 3,i: 31,218,520 msg/sec OptimistAtomicQueueB2, 4,s: 33,417,033 msg/sec OptimistAtomicQueueB2, 4,i: 32,054,203 msg/sec OptimistAtomicQueueB2, 5,s: 34,415,766 msg/sec OptimistAtomicQueueB2, 5,i: 39,413,929 msg/sec OptimistAtomicQueueB2, 6,s: 37,406,592 msg/sec OptimistAtomicQueueB2, 6,i: 42,259,848 msg/sec OptimistAtomicQueueB2, 7,s: 40,090,767 msg/sec OptimistAtomicQueueB2, 7,i: 43,052,805 msg/sec OptimistAtomicQueueB2, 8,s: 42,229,981 msg/sec OptimistAtomicQueueB2, 8,i: 45,137,564 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000241 sec/round-trip std::mutex: 0.000000442 sec/round-trip tbb::spin_mutex: 0.000000264 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000362 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000189 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [76] 381m:4s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,862,894 msg/sec boost::lockfree::spsc_queue, 1,i: 67,235,945 msg/sec boost::lockfree::queue, 1,s: 6,889,634 msg/sec boost::lockfree::queue, 1,i: 6,955,677 msg/sec boost::lockfree::queue, 2,s: 7,515,079 msg/sec boost::lockfree::queue, 2,i: 7,380,357 msg/sec boost::lockfree::queue, 3,s: 7,372,864 msg/sec boost::lockfree::queue, 3,i: 7,565,158 msg/sec boost::lockfree::queue, 4,s: 6,398,360 msg/sec boost::lockfree::queue, 4,i: 6,706,739 msg/sec boost::lockfree::queue, 5,s: 6,392,898 msg/sec boost::lockfree::queue, 5,i: 6,473,880 msg/sec boost::lockfree::queue, 6,s: 6,021,964 msg/sec boost::lockfree::queue, 6,i: 6,093,272 msg/sec boost::lockfree::queue, 7,s: 5,840,992 msg/sec boost::lockfree::queue, 7,i: 5,906,319 msg/sec boost::lockfree::queue, 8,s: 5,512,867 msg/sec boost::lockfree::queue, 8,i: 5,568,880 msg/sec moodycamel::ReaderWriterQueue, 1,s: 375,675,217 msg/sec moodycamel::ReaderWriterQueue, 1,i: 388,993,884 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,224,453 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,878,473 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,773,430 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,624,546 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,475,419 msg/sec moodycamel::ConcurrentQueue, 3,i: 40,292,483 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,587,814 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,459,236 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,375,076 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,139,961 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,472,205 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,416,481 msg/sec moodycamel::ConcurrentQueue, 7,s: 45,756,610 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,295,473 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,073,151 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,492,344 msg/sec pthread_spinlock, 1,s: 29,118,637 msg/sec pthread_spinlock, 1,i: 25,424,340 msg/sec pthread_spinlock, 2,s: 15,349,651 msg/sec pthread_spinlock, 2,i: 16,910,950 msg/sec pthread_spinlock, 3,s: 8,280,203 msg/sec pthread_spinlock, 3,i: 12,054,148 msg/sec pthread_spinlock, 4,s: 6,499,513 msg/sec pthread_spinlock, 4,i: 9,218,775 msg/sec pthread_spinlock, 5,s: 8,693,666 msg/sec pthread_spinlock, 5,i: 9,471,173 msg/sec pthread_spinlock, 6,s: 8,527,066 msg/sec pthread_spinlock, 6,i: 8,455,150 msg/sec pthread_spinlock, 7,s: 8,026,989 msg/sec pthread_spinlock, 7,i: 7,970,233 msg/sec pthread_spinlock, 8,s: 6,785,591 msg/sec pthread_spinlock, 8,i: 7,417,999 msg/sec std::mutex, 1,s: 6,548,594 msg/sec std::mutex, 1,i: 7,572,740 msg/sec std::mutex, 2,s: 5,983,658 msg/sec std::mutex, 2,i: 5,704,938 msg/sec std::mutex, 3,s: 6,037,740 msg/sec std::mutex, 3,i: 6,185,582 msg/sec std::mutex, 4,s: 6,156,202 msg/sec std::mutex, 4,i: 6,231,835 msg/sec std::mutex, 5,s: 5,967,963 msg/sec std::mutex, 5,i: 6,063,372 msg/sec std::mutex, 6,s: 5,956,518 msg/sec std::mutex, 6,i: 5,984,778 msg/sec std::mutex, 7,s: 5,813,975 msg/sec std::mutex, 7,i: 5,891,610 msg/sec std::mutex, 8,s: 5,723,694 msg/sec std::mutex, 8,i: 5,667,906 msg/sec tbb::spin_mutex, 1,s: 37,719,130 msg/sec tbb::spin_mutex, 1,i: 33,216,337 msg/sec tbb::spin_mutex, 2,s: 21,128,366 msg/sec tbb::spin_mutex, 2,i: 18,879,440 msg/sec tbb::spin_mutex, 3,s: 7,914,034 msg/sec tbb::spin_mutex, 3,i: 10,060,134 msg/sec tbb::spin_mutex, 4,s: 3,079,564 msg/sec tbb::spin_mutex, 4,i: 6,228,616 msg/sec tbb::spin_mutex, 5,s: 5,370,124 msg/sec tbb::spin_mutex, 5,i: 5,575,918 msg/sec tbb::spin_mutex, 6,s: 5,341,857 msg/sec tbb::spin_mutex, 6,i: 4,328,167 msg/sec tbb::spin_mutex, 7,s: 4,845,574 msg/sec tbb::spin_mutex, 7,i: 4,326,467 msg/sec tbb::spin_mutex, 8,s: 4,261,259 msg/sec tbb::spin_mutex, 8,i: 4,161,826 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,502,140 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,454,464 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,128,951 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,734,777 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,982,852 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,700,814 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,332,395 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,269,595 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,586,743 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,144,833 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,791,694 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,475,870 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,883,603 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,623,594 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,058,640 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,716,146 msg/sec xenium::michael_scott_queue, 1,s: 9,481,646 msg/sec xenium::michael_scott_queue, 1,i: 9,448,447 msg/sec xenium::michael_scott_queue, 2,s: 8,444,706 msg/sec xenium::michael_scott_queue, 2,i: 8,540,831 msg/sec xenium::michael_scott_queue, 3,s: 7,338,446 msg/sec xenium::michael_scott_queue, 3,i: 7,644,896 msg/sec xenium::michael_scott_queue, 4,s: 6,320,205 msg/sec xenium::michael_scott_queue, 4,i: 6,354,119 msg/sec xenium::michael_scott_queue, 5,s: 6,320,680 msg/sec xenium::michael_scott_queue, 5,i: 6,616,712 msg/sec xenium::michael_scott_queue, 6,s: 6,501,045 msg/sec xenium::michael_scott_queue, 6,i: 6,660,264 msg/sec xenium::michael_scott_queue, 7,s: 6,267,166 msg/sec xenium::michael_scott_queue, 7,i: 6,534,461 msg/sec xenium::michael_scott_queue, 8,s: 6,025,061 msg/sec xenium::michael_scott_queue, 8,i: 6,156,271 msg/sec xenium::ramalhete_queue, 1,s: 33,121,887 msg/sec xenium::ramalhete_queue, 1,i: 32,638,689 msg/sec xenium::ramalhete_queue, 2,s: 24,469,029 msg/sec xenium::ramalhete_queue, 2,i: 23,332,027 msg/sec xenium::ramalhete_queue, 3,s: 29,339,727 msg/sec xenium::ramalhete_queue, 3,i: 28,471,705 msg/sec xenium::ramalhete_queue, 4,s: 33,883,308 msg/sec xenium::ramalhete_queue, 4,i: 33,530,452 msg/sec xenium::ramalhete_queue, 5,s: 32,218,478 msg/sec xenium::ramalhete_queue, 5,i: 36,150,746 msg/sec xenium::ramalhete_queue, 6,s: 34,133,724 msg/sec xenium::ramalhete_queue, 6,i: 39,364,325 msg/sec xenium::ramalhete_queue, 7,s: 35,015,685 msg/sec xenium::ramalhete_queue, 7,i: 41,169,608 msg/sec xenium::ramalhete_queue, 8,s: 35,475,418 msg/sec xenium::ramalhete_queue, 8,i: 44,167,608 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,607,349 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,654,519 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,382,820 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,516,962 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,625,682 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,147,406 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,402,745 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,342,844 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,986,686 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,242,923 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,828,389 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,366,748 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,247,700 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,908,485 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,374 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,342,883 msg/sec AtomicQueue, 1,s: 58,018,377 msg/sec AtomicQueue, 1,i: 56,193,354 msg/sec AtomicQueue, 2,s: 12,305,704 msg/sec AtomicQueue, 2,i: 11,726,091 msg/sec AtomicQueue, 3,s: 10,836,050 msg/sec AtomicQueue, 3,i: 9,930,904 msg/sec AtomicQueue, 4,s: 8,192,911 msg/sec AtomicQueue, 4,i: 8,220,111 msg/sec AtomicQueue, 5,s: 8,019,997 msg/sec AtomicQueue, 5,i: 8,087,131 msg/sec AtomicQueue, 6,s: 7,874,583 msg/sec AtomicQueue, 6,i: 7,621,709 msg/sec AtomicQueue, 7,s: 7,044,165 msg/sec AtomicQueue, 7,i: 8,002,891 msg/sec AtomicQueue, 8,s: 6,336,408 msg/sec AtomicQueue, 8,i: 7,326,470 msg/sec AtomicQueueB, 1,s: 45,196,420 msg/sec AtomicQueueB, 1,i: 42,933,661 msg/sec AtomicQueueB, 2,s: 12,017,123 msg/sec AtomicQueueB, 2,i: 11,473,268 msg/sec AtomicQueueB, 3,s: 11,015,106 msg/sec AtomicQueueB, 3,i: 10,266,578 msg/sec AtomicQueueB, 4,s: 8,119,834 msg/sec AtomicQueueB, 4,i: 8,024,850 msg/sec AtomicQueueB, 5,s: 7,560,617 msg/sec AtomicQueueB, 5,i: 7,766,246 msg/sec AtomicQueueB, 6,s: 7,447,183 msg/sec AtomicQueueB, 6,i: 7,512,321 msg/sec AtomicQueueB, 7,s: 6,846,689 msg/sec AtomicQueueB, 7,i: 7,734,679 msg/sec AtomicQueueB, 8,s: 6,187,332 msg/sec AtomicQueueB, 8,i: 7,130,804 msg/sec OptimistAtomicQueue, 1,s: 782,125,002 msg/sec OptimistAtomicQueue, 1,i: 514,185,411 msg/sec OptimistAtomicQueue, 2,s: 32,282,546 msg/sec OptimistAtomicQueue, 2,i: 32,343,786 msg/sec OptimistAtomicQueue, 3,s: 36,627,222 msg/sec OptimistAtomicQueue, 3,i: 37,337,345 msg/sec OptimistAtomicQueue, 4,s: 39,287,327 msg/sec OptimistAtomicQueue, 4,i: 39,397,676 msg/sec OptimistAtomicQueue, 5,s: 41,811,756 msg/sec OptimistAtomicQueue, 5,i: 47,371,184 msg/sec OptimistAtomicQueue, 6,s: 41,703,173 msg/sec OptimistAtomicQueue, 6,i: 50,476,265 msg/sec OptimistAtomicQueue, 7,s: 44,424,564 msg/sec OptimistAtomicQueue, 7,i: 49,079,730 msg/sec OptimistAtomicQueue, 8,s: 46,349,330 msg/sec OptimistAtomicQueue, 8,i: 50,506,890 msg/sec OptimistAtomicQueueB, 1,s: 77,655,047 msg/sec OptimistAtomicQueueB, 1,i: 200,134,470 msg/sec OptimistAtomicQueueB, 2,s: 32,225,075 msg/sec OptimistAtomicQueueB, 2,i: 32,146,998 msg/sec OptimistAtomicQueueB, 3,s: 36,288,736 msg/sec OptimistAtomicQueueB, 3,i: 36,871,550 msg/sec OptimistAtomicQueueB, 4,s: 38,575,857 msg/sec OptimistAtomicQueueB, 4,i: 38,544,929 msg/sec OptimistAtomicQueueB, 5,s: 40,933,046 msg/sec OptimistAtomicQueueB, 5,i: 45,498,558 msg/sec OptimistAtomicQueueB, 6,s: 40,926,177 msg/sec OptimistAtomicQueueB, 6,i: 49,185,068 msg/sec OptimistAtomicQueueB, 7,s: 42,367,169 msg/sec OptimistAtomicQueueB, 7,i: 47,740,007 msg/sec OptimistAtomicQueueB, 8,s: 44,044,982 msg/sec OptimistAtomicQueueB, 8,i: 48,332,142 msg/sec AtomicQueue2, 1,s: 23,132,478 msg/sec AtomicQueue2, 1,i: 23,142,679 msg/sec AtomicQueue2, 2,s: 11,729,774 msg/sec AtomicQueue2, 2,i: 11,544,531 msg/sec AtomicQueue2, 3,s: 9,333,987 msg/sec AtomicQueue2, 3,i: 9,346,061 msg/sec AtomicQueue2, 4,s: 8,078,987 msg/sec AtomicQueue2, 4,i: 8,075,557 msg/sec AtomicQueue2, 5,s: 7,881,149 msg/sec AtomicQueue2, 5,i: 8,034,220 msg/sec AtomicQueue2, 6,s: 7,875,310 msg/sec AtomicQueue2, 6,i: 7,505,650 msg/sec AtomicQueue2, 7,s: 7,148,299 msg/sec AtomicQueue2, 7,i: 7,885,648 msg/sec AtomicQueue2, 8,s: 6,370,628 msg/sec AtomicQueue2, 8,i: 7,336,729 msg/sec AtomicQueueB2, 1,s: 38,623,977 msg/sec AtomicQueueB2, 1,i: 33,434,905 msg/sec AtomicQueueB2, 2,s: 11,305,265 msg/sec AtomicQueueB2, 2,i: 11,079,887 msg/sec AtomicQueueB2, 3,s: 9,683,948 msg/sec AtomicQueueB2, 3,i: 9,569,228 msg/sec AtomicQueueB2, 4,s: 7,967,704 msg/sec AtomicQueueB2, 4,i: 7,860,581 msg/sec AtomicQueueB2, 5,s: 7,488,199 msg/sec AtomicQueueB2, 5,i: 7,664,052 msg/sec AtomicQueueB2, 6,s: 7,251,237 msg/sec AtomicQueueB2, 6,i: 7,407,512 msg/sec AtomicQueueB2, 7,s: 6,920,196 msg/sec AtomicQueueB2, 7,i: 7,715,167 msg/sec AtomicQueueB2, 8,s: 6,253,007 msg/sec AtomicQueueB2, 8,i: 7,060,129 msg/sec OptimistAtomicQueue2, 1,s: 519,247,330 msg/sec OptimistAtomicQueue2, 1,i: 29,703,770 msg/sec OptimistAtomicQueue2, 2,s: 24,255,503 msg/sec OptimistAtomicQueue2, 2,i: 24,009,721 msg/sec OptimistAtomicQueue2, 3,s: 30,504,461 msg/sec OptimistAtomicQueue2, 3,i: 30,232,691 msg/sec OptimistAtomicQueue2, 4,s: 33,211,605 msg/sec OptimistAtomicQueue2, 4,i: 33,956,374 msg/sec OptimistAtomicQueue2, 5,s: 37,372,515 msg/sec OptimistAtomicQueue2, 5,i: 39,995,689 msg/sec OptimistAtomicQueue2, 6,s: 40,131,554 msg/sec OptimistAtomicQueue2, 6,i: 49,142,620 msg/sec OptimistAtomicQueue2, 7,s: 42,653,282 msg/sec OptimistAtomicQueue2, 7,i: 51,699,129 msg/sec OptimistAtomicQueue2, 8,s: 43,928,300 msg/sec OptimistAtomicQueue2, 8,i: 48,527,417 msg/sec OptimistAtomicQueueB2, 1,s: 76,873,910 msg/sec OptimistAtomicQueueB2, 1,i: 39,745,058 msg/sec OptimistAtomicQueueB2, 2,s: 29,611,898 msg/sec OptimistAtomicQueueB2, 2,i: 25,846,201 msg/sec OptimistAtomicQueueB2, 3,s: 29,687,633 msg/sec OptimistAtomicQueueB2, 3,i: 29,106,140 msg/sec OptimistAtomicQueueB2, 4,s: 33,120,354 msg/sec OptimistAtomicQueueB2, 4,i: 32,643,404 msg/sec OptimistAtomicQueueB2, 5,s: 34,526,597 msg/sec OptimistAtomicQueueB2, 5,i: 39,384,415 msg/sec OptimistAtomicQueueB2, 6,s: 37,408,916 msg/sec OptimistAtomicQueueB2, 6,i: 42,335,745 msg/sec OptimistAtomicQueueB2, 7,s: 40,109,541 msg/sec OptimistAtomicQueueB2, 7,i: 45,267,352 msg/sec OptimistAtomicQueueB2, 8,s: 42,444,015 msg/sec OptimistAtomicQueueB2, 8,i: 45,864,306 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000377 sec/round-trip xenium::ramalhete_queue: 0.000000277 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000165 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [77] 379m:45s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,172,616 msg/sec boost::lockfree::spsc_queue, 1,i: 67,589,835 msg/sec boost::lockfree::queue, 1,s: 6,849,842 msg/sec boost::lockfree::queue, 1,i: 6,957,032 msg/sec boost::lockfree::queue, 2,s: 7,622,444 msg/sec boost::lockfree::queue, 2,i: 7,576,121 msg/sec boost::lockfree::queue, 3,s: 7,444,644 msg/sec boost::lockfree::queue, 3,i: 7,539,132 msg/sec boost::lockfree::queue, 4,s: 6,426,898 msg/sec boost::lockfree::queue, 4,i: 6,815,544 msg/sec boost::lockfree::queue, 5,s: 6,408,681 msg/sec boost::lockfree::queue, 5,i: 6,443,747 msg/sec boost::lockfree::queue, 6,s: 6,001,340 msg/sec boost::lockfree::queue, 6,i: 6,168,251 msg/sec boost::lockfree::queue, 7,s: 6,053,699 msg/sec boost::lockfree::queue, 7,i: 6,040,360 msg/sec boost::lockfree::queue, 8,s: 5,406,618 msg/sec boost::lockfree::queue, 8,i: 5,549,491 msg/sec moodycamel::ReaderWriterQueue, 1,s: 455,082,866 msg/sec moodycamel::ReaderWriterQueue, 1,i: 45,308,183 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,919,804 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,972,189 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,505,882 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,394,336 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,844,231 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,500,407 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,055,674 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,365,382 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,467,161 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,325,913 msg/sec moodycamel::ConcurrentQueue, 6,s: 43,124,840 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,329,146 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,325,017 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,355,036 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,269,285 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,193,923 msg/sec pthread_spinlock, 1,s: 28,814,086 msg/sec pthread_spinlock, 1,i: 28,253,109 msg/sec pthread_spinlock, 2,s: 15,963,785 msg/sec pthread_spinlock, 2,i: 17,026,600 msg/sec pthread_spinlock, 3,s: 8,358,812 msg/sec pthread_spinlock, 3,i: 12,002,443 msg/sec pthread_spinlock, 4,s: 6,527,669 msg/sec pthread_spinlock, 4,i: 8,996,070 msg/sec pthread_spinlock, 5,s: 8,539,816 msg/sec pthread_spinlock, 5,i: 9,010,252 msg/sec pthread_spinlock, 6,s: 8,240,566 msg/sec pthread_spinlock, 6,i: 8,910,412 msg/sec pthread_spinlock, 7,s: 7,569,780 msg/sec pthread_spinlock, 7,i: 8,187,800 msg/sec pthread_spinlock, 8,s: 6,661,792 msg/sec pthread_spinlock, 8,i: 6,978,777 msg/sec std::mutex, 1,s: 5,910,594 msg/sec std::mutex, 1,i: 5,917,416 msg/sec std::mutex, 2,s: 4,687,459 msg/sec std::mutex, 2,i: 5,213,085 msg/sec std::mutex, 3,s: 4,934,525 msg/sec std::mutex, 3,i: 5,981,474 msg/sec std::mutex, 4,s: 6,227,423 msg/sec std::mutex, 4,i: 6,322,303 msg/sec std::mutex, 5,s: 6,053,464 msg/sec std::mutex, 5,i: 5,870,682 msg/sec std::mutex, 6,s: 5,815,829 msg/sec std::mutex, 6,i: 5,919,581 msg/sec std::mutex, 7,s: 5,885,616 msg/sec std::mutex, 7,i: 5,779,515 msg/sec std::mutex, 8,s: 5,633,996 msg/sec std::mutex, 8,i: 5,602,113 msg/sec tbb::spin_mutex, 1,s: 37,682,844 msg/sec tbb::spin_mutex, 1,i: 37,516,898 msg/sec tbb::spin_mutex, 2,s: 21,029,217 msg/sec tbb::spin_mutex, 2,i: 18,290,793 msg/sec tbb::spin_mutex, 3,s: 7,874,383 msg/sec tbb::spin_mutex, 3,i: 10,142,756 msg/sec tbb::spin_mutex, 4,s: 2,997,724 msg/sec tbb::spin_mutex, 4,i: 6,305,176 msg/sec tbb::spin_mutex, 5,s: 5,401,726 msg/sec tbb::spin_mutex, 5,i: 5,774,896 msg/sec tbb::spin_mutex, 6,s: 5,371,729 msg/sec tbb::spin_mutex, 6,i: 4,426,987 msg/sec tbb::spin_mutex, 7,s: 4,628,348 msg/sec tbb::spin_mutex, 7,i: 4,387,149 msg/sec tbb::spin_mutex, 8,s: 4,250,343 msg/sec tbb::spin_mutex, 8,i: 4,165,807 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,097,828 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,871,310 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,124,389 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,181,992 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,479,684 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,786,799 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,553,101 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,569,683 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,827,450 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,634,066 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,849,479 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,715,847 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,916,605 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,836,272 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,805,032 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,489,617 msg/sec xenium::michael_scott_queue, 1,s: 9,499,488 msg/sec xenium::michael_scott_queue, 1,i: 9,433,275 msg/sec xenium::michael_scott_queue, 2,s: 8,490,917 msg/sec xenium::michael_scott_queue, 2,i: 8,540,311 msg/sec xenium::michael_scott_queue, 3,s: 7,315,731 msg/sec xenium::michael_scott_queue, 3,i: 7,540,571 msg/sec xenium::michael_scott_queue, 4,s: 6,305,337 msg/sec xenium::michael_scott_queue, 4,i: 6,348,786 msg/sec xenium::michael_scott_queue, 5,s: 6,295,651 msg/sec xenium::michael_scott_queue, 5,i: 6,657,565 msg/sec xenium::michael_scott_queue, 6,s: 6,469,196 msg/sec xenium::michael_scott_queue, 6,i: 6,875,682 msg/sec xenium::michael_scott_queue, 7,s: 6,277,139 msg/sec xenium::michael_scott_queue, 7,i: 6,468,495 msg/sec xenium::michael_scott_queue, 8,s: 5,954,172 msg/sec xenium::michael_scott_queue, 8,i: 6,103,028 msg/sec xenium::ramalhete_queue, 1,s: 30,977,472 msg/sec xenium::ramalhete_queue, 1,i: 30,933,156 msg/sec xenium::ramalhete_queue, 2,s: 24,343,102 msg/sec xenium::ramalhete_queue, 2,i: 23,240,224 msg/sec xenium::ramalhete_queue, 3,s: 29,127,652 msg/sec xenium::ramalhete_queue, 3,i: 28,634,711 msg/sec xenium::ramalhete_queue, 4,s: 33,812,640 msg/sec xenium::ramalhete_queue, 4,i: 33,504,433 msg/sec xenium::ramalhete_queue, 5,s: 32,003,856 msg/sec xenium::ramalhete_queue, 5,i: 35,974,904 msg/sec xenium::ramalhete_queue, 6,s: 34,087,128 msg/sec xenium::ramalhete_queue, 6,i: 39,092,345 msg/sec xenium::ramalhete_queue, 7,s: 35,160,721 msg/sec xenium::ramalhete_queue, 7,i: 41,457,463 msg/sec xenium::ramalhete_queue, 8,s: 35,535,024 msg/sec xenium::ramalhete_queue, 8,i: 43,901,643 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,910,072 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,366,805 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,237,123 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,588,774 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,742,889 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,741,610 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,591,152 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,394,347 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,752,306 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,422,142 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,891,078 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,257,508 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,125,288 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,085,621 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,763 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,215,186 msg/sec AtomicQueue, 1,s: 64,543,636 msg/sec AtomicQueue, 1,i: 56,209,832 msg/sec AtomicQueue, 2,s: 12,244,303 msg/sec AtomicQueue, 2,i: 11,746,701 msg/sec AtomicQueue, 3,s: 10,837,344 msg/sec AtomicQueue, 3,i: 9,869,244 msg/sec AtomicQueue, 4,s: 8,178,828 msg/sec AtomicQueue, 4,i: 8,192,106 msg/sec AtomicQueue, 5,s: 8,043,771 msg/sec AtomicQueue, 5,i: 8,086,875 msg/sec AtomicQueue, 6,s: 7,905,002 msg/sec AtomicQueue, 6,i: 7,630,602 msg/sec AtomicQueue, 7,s: 7,142,098 msg/sec AtomicQueue, 7,i: 7,954,925 msg/sec AtomicQueue, 8,s: 6,341,392 msg/sec AtomicQueue, 8,i: 7,420,763 msg/sec AtomicQueueB, 1,s: 45,495,341 msg/sec AtomicQueueB, 1,i: 42,996,275 msg/sec AtomicQueueB, 2,s: 11,666,639 msg/sec AtomicQueueB, 2,i: 11,511,650 msg/sec AtomicQueueB, 3,s: 10,984,243 msg/sec AtomicQueueB, 3,i: 10,109,977 msg/sec AtomicQueueB, 4,s: 8,061,043 msg/sec AtomicQueueB, 4,i: 8,066,063 msg/sec AtomicQueueB, 5,s: 7,562,850 msg/sec AtomicQueueB, 5,i: 7,814,599 msg/sec AtomicQueueB, 6,s: 7,349,981 msg/sec AtomicQueueB, 6,i: 7,547,538 msg/sec AtomicQueueB, 7,s: 6,874,408 msg/sec AtomicQueueB, 7,i: 7,762,676 msg/sec AtomicQueueB, 8,s: 6,266,497 msg/sec AtomicQueueB, 8,i: 7,183,896 msg/sec OptimistAtomicQueue, 1,s: 694,562,616 msg/sec OptimistAtomicQueue, 1,i: 511,242,020 msg/sec OptimistAtomicQueue, 2,s: 32,130,383 msg/sec OptimistAtomicQueue, 2,i: 32,188,003 msg/sec OptimistAtomicQueue, 3,s: 36,623,633 msg/sec OptimistAtomicQueue, 3,i: 37,293,148 msg/sec OptimistAtomicQueue, 4,s: 39,267,721 msg/sec OptimistAtomicQueue, 4,i: 39,416,845 msg/sec OptimistAtomicQueue, 5,s: 41,776,201 msg/sec OptimistAtomicQueue, 5,i: 47,441,976 msg/sec OptimistAtomicQueue, 6,s: 42,333,629 msg/sec OptimistAtomicQueue, 6,i: 49,791,941 msg/sec OptimistAtomicQueue, 7,s: 44,234,613 msg/sec OptimistAtomicQueue, 7,i: 49,467,592 msg/sec OptimistAtomicQueue, 8,s: 46,465,210 msg/sec OptimistAtomicQueue, 8,i: 48,956,536 msg/sec OptimistAtomicQueueB, 1,s: 738,447,042 msg/sec OptimistAtomicQueueB, 1,i: 91,090,588 msg/sec OptimistAtomicQueueB, 2,s: 32,118,194 msg/sec OptimistAtomicQueueB, 2,i: 32,033,215 msg/sec OptimistAtomicQueueB, 3,s: 36,261,741 msg/sec OptimistAtomicQueueB, 3,i: 36,842,225 msg/sec OptimistAtomicQueueB, 4,s: 38,649,603 msg/sec OptimistAtomicQueueB, 4,i: 38,624,102 msg/sec OptimistAtomicQueueB, 5,s: 41,137,716 msg/sec OptimistAtomicQueueB, 5,i: 45,212,634 msg/sec OptimistAtomicQueueB, 6,s: 41,014,966 msg/sec OptimistAtomicQueueB, 6,i: 49,088,327 msg/sec OptimistAtomicQueueB, 7,s: 42,188,154 msg/sec OptimistAtomicQueueB, 7,i: 51,522,542 msg/sec OptimistAtomicQueueB, 8,s: 44,150,144 msg/sec OptimistAtomicQueueB, 8,i: 47,999,819 msg/sec AtomicQueue2, 1,s: 22,859,338 msg/sec AtomicQueue2, 1,i: 22,903,698 msg/sec AtomicQueue2, 2,s: 11,948,283 msg/sec AtomicQueue2, 2,i: 11,650,679 msg/sec AtomicQueue2, 3,s: 9,417,733 msg/sec AtomicQueue2, 3,i: 9,398,801 msg/sec AtomicQueue2, 4,s: 8,103,016 msg/sec AtomicQueue2, 4,i: 8,095,543 msg/sec AtomicQueue2, 5,s: 7,921,991 msg/sec AtomicQueue2, 5,i: 8,048,123 msg/sec AtomicQueue2, 6,s: 7,532,931 msg/sec AtomicQueue2, 6,i: 7,534,279 msg/sec AtomicQueue2, 7,s: 7,135,996 msg/sec AtomicQueue2, 7,i: 7,926,564 msg/sec AtomicQueue2, 8,s: 6,374,232 msg/sec AtomicQueue2, 8,i: 7,343,034 msg/sec AtomicQueueB2, 1,s: 36,225,996 msg/sec AtomicQueueB2, 1,i: 32,622,495 msg/sec AtomicQueueB2, 2,s: 11,435,301 msg/sec AtomicQueueB2, 2,i: 11,111,388 msg/sec AtomicQueueB2, 3,s: 9,509,068 msg/sec AtomicQueueB2, 3,i: 9,511,815 msg/sec AtomicQueueB2, 4,s: 7,965,834 msg/sec AtomicQueueB2, 4,i: 7,827,629 msg/sec AtomicQueueB2, 5,s: 7,409,751 msg/sec AtomicQueueB2, 5,i: 7,636,980 msg/sec AtomicQueueB2, 6,s: 7,288,345 msg/sec AtomicQueueB2, 6,i: 7,442,776 msg/sec AtomicQueueB2, 7,s: 6,835,202 msg/sec AtomicQueueB2, 7,i: 7,696,943 msg/sec AtomicQueueB2, 8,s: 6,287,274 msg/sec AtomicQueueB2, 8,i: 7,148,873 msg/sec OptimistAtomicQueue2, 1,s: 67,058,578 msg/sec OptimistAtomicQueue2, 1,i: 31,107,152 msg/sec OptimistAtomicQueue2, 2,s: 26,303,426 msg/sec OptimistAtomicQueue2, 2,i: 24,012,292 msg/sec OptimistAtomicQueue2, 3,s: 30,314,720 msg/sec OptimistAtomicQueue2, 3,i: 30,013,218 msg/sec OptimistAtomicQueue2, 4,s: 33,208,150 msg/sec OptimistAtomicQueue2, 4,i: 33,123,350 msg/sec OptimistAtomicQueue2, 5,s: 37,754,057 msg/sec OptimistAtomicQueue2, 5,i: 40,784,395 msg/sec OptimistAtomicQueue2, 6,s: 40,058,558 msg/sec OptimistAtomicQueue2, 6,i: 49,139,864 msg/sec OptimistAtomicQueue2, 7,s: 42,631,336 msg/sec OptimistAtomicQueue2, 7,i: 48,191,257 msg/sec OptimistAtomicQueue2, 8,s: 44,039,985 msg/sec OptimistAtomicQueue2, 8,i: 49,561,063 msg/sec OptimistAtomicQueueB2, 1,s: 78,652,113 msg/sec OptimistAtomicQueueB2, 1,i: 42,286,970 msg/sec OptimistAtomicQueueB2, 2,s: 27,426,741 msg/sec OptimistAtomicQueueB2, 2,i: 23,168,945 msg/sec OptimistAtomicQueueB2, 3,s: 29,769,015 msg/sec OptimistAtomicQueueB2, 3,i: 30,380,469 msg/sec OptimistAtomicQueueB2, 4,s: 33,282,727 msg/sec OptimistAtomicQueueB2, 4,i: 33,001,959 msg/sec OptimistAtomicQueueB2, 5,s: 34,586,785 msg/sec OptimistAtomicQueueB2, 5,i: 39,271,536 msg/sec OptimistAtomicQueueB2, 6,s: 37,202,181 msg/sec OptimistAtomicQueueB2, 6,i: 42,317,453 msg/sec OptimistAtomicQueueB2, 7,s: 40,375,961 msg/sec OptimistAtomicQueueB2, 7,i: 45,121,243 msg/sec OptimistAtomicQueueB2, 8,s: 42,664,887 msg/sec OptimistAtomicQueueB2, 8,i: 45,786,474 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000158 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000300 sec/round-trip std::mutex: 0.000000446 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000199 sec/round-trip AtomicQueue: 0.000000169 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000140 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [78] 378m:26s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,905,743 msg/sec boost::lockfree::spsc_queue, 1,i: 70,088,293 msg/sec boost::lockfree::queue, 1,s: 7,914,092 msg/sec boost::lockfree::queue, 1,i: 7,896,811 msg/sec boost::lockfree::queue, 2,s: 7,514,867 msg/sec boost::lockfree::queue, 2,i: 7,549,539 msg/sec boost::lockfree::queue, 3,s: 7,319,667 msg/sec boost::lockfree::queue, 3,i: 7,586,391 msg/sec boost::lockfree::queue, 4,s: 6,423,815 msg/sec boost::lockfree::queue, 4,i: 6,920,799 msg/sec boost::lockfree::queue, 5,s: 6,490,191 msg/sec boost::lockfree::queue, 5,i: 6,494,795 msg/sec boost::lockfree::queue, 6,s: 5,965,810 msg/sec boost::lockfree::queue, 6,i: 6,116,120 msg/sec boost::lockfree::queue, 7,s: 5,819,632 msg/sec boost::lockfree::queue, 7,i: 5,917,375 msg/sec boost::lockfree::queue, 8,s: 5,448,586 msg/sec boost::lockfree::queue, 8,i: 5,591,216 msg/sec moodycamel::ReaderWriterQueue, 1,s: 185,779,283 msg/sec moodycamel::ReaderWriterQueue, 1,i: 69,075,802 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,884,063 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,398,976 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,466,378 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,212,261 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,826,679 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,179,430 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,122,864 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,138,043 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,548,413 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,239,948 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,476,012 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,004,153 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,031,011 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,577,695 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,461,234 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,624,716 msg/sec pthread_spinlock, 1,s: 29,079,755 msg/sec pthread_spinlock, 1,i: 29,186,768 msg/sec pthread_spinlock, 2,s: 15,910,266 msg/sec pthread_spinlock, 2,i: 16,944,121 msg/sec pthread_spinlock, 3,s: 8,347,606 msg/sec pthread_spinlock, 3,i: 11,944,254 msg/sec pthread_spinlock, 4,s: 6,514,342 msg/sec pthread_spinlock, 4,i: 8,926,362 msg/sec pthread_spinlock, 5,s: 8,698,000 msg/sec pthread_spinlock, 5,i: 9,504,723 msg/sec pthread_spinlock, 6,s: 8,304,167 msg/sec pthread_spinlock, 6,i: 8,963,148 msg/sec pthread_spinlock, 7,s: 7,550,387 msg/sec pthread_spinlock, 7,i: 7,726,221 msg/sec pthread_spinlock, 8,s: 6,918,958 msg/sec pthread_spinlock, 8,i: 6,803,203 msg/sec std::mutex, 1,s: 7,131,342 msg/sec std::mutex, 1,i: 6,426,579 msg/sec std::mutex, 2,s: 5,504,108 msg/sec std::mutex, 2,i: 5,710,157 msg/sec std::mutex, 3,s: 5,059,492 msg/sec std::mutex, 3,i: 6,060,267 msg/sec std::mutex, 4,s: 6,260,529 msg/sec std::mutex, 4,i: 6,285,368 msg/sec std::mutex, 5,s: 5,971,716 msg/sec std::mutex, 5,i: 6,086,513 msg/sec std::mutex, 6,s: 5,892,551 msg/sec std::mutex, 6,i: 5,888,989 msg/sec std::mutex, 7,s: 5,811,003 msg/sec std::mutex, 7,i: 5,805,265 msg/sec std::mutex, 8,s: 5,649,704 msg/sec std::mutex, 8,i: 5,704,372 msg/sec tbb::spin_mutex, 1,s: 37,421,789 msg/sec tbb::spin_mutex, 1,i: 33,025,563 msg/sec tbb::spin_mutex, 2,s: 21,156,077 msg/sec tbb::spin_mutex, 2,i: 18,420,533 msg/sec tbb::spin_mutex, 3,s: 7,422,321 msg/sec tbb::spin_mutex, 3,i: 11,111,207 msg/sec tbb::spin_mutex, 4,s: 3,263,397 msg/sec tbb::spin_mutex, 4,i: 6,315,828 msg/sec tbb::spin_mutex, 5,s: 5,561,625 msg/sec tbb::spin_mutex, 5,i: 5,668,514 msg/sec tbb::spin_mutex, 6,s: 5,410,723 msg/sec tbb::spin_mutex, 6,i: 4,379,028 msg/sec tbb::spin_mutex, 7,s: 4,829,528 msg/sec tbb::spin_mutex, 7,i: 4,290,611 msg/sec tbb::spin_mutex, 8,s: 4,266,368 msg/sec tbb::spin_mutex, 8,i: 4,197,906 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,308,519 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,390,547 msg/sec tbb::concurrent_bounded_queue, 2,s: 15,027,541 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,076,908 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,198,380 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,986,302 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,439,741 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,317,479 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,652,886 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,881,436 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,076,274 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,910,560 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,064,572 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,980,996 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,995,882 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,088,705 msg/sec xenium::michael_scott_queue, 1,s: 9,482,537 msg/sec xenium::michael_scott_queue, 1,i: 9,476,501 msg/sec xenium::michael_scott_queue, 2,s: 8,513,156 msg/sec xenium::michael_scott_queue, 2,i: 8,579,870 msg/sec xenium::michael_scott_queue, 3,s: 7,119,844 msg/sec xenium::michael_scott_queue, 3,i: 7,583,895 msg/sec xenium::michael_scott_queue, 4,s: 6,356,224 msg/sec xenium::michael_scott_queue, 4,i: 6,347,959 msg/sec xenium::michael_scott_queue, 5,s: 6,296,941 msg/sec xenium::michael_scott_queue, 5,i: 6,683,346 msg/sec xenium::michael_scott_queue, 6,s: 6,521,639 msg/sec xenium::michael_scott_queue, 6,i: 6,724,325 msg/sec xenium::michael_scott_queue, 7,s: 6,371,693 msg/sec xenium::michael_scott_queue, 7,i: 6,497,413 msg/sec xenium::michael_scott_queue, 8,s: 6,048,074 msg/sec xenium::michael_scott_queue, 8,i: 6,091,789 msg/sec xenium::ramalhete_queue, 1,s: 32,092,578 msg/sec xenium::ramalhete_queue, 1,i: 32,248,107 msg/sec xenium::ramalhete_queue, 2,s: 23,473,899 msg/sec xenium::ramalhete_queue, 2,i: 23,317,062 msg/sec xenium::ramalhete_queue, 3,s: 29,204,012 msg/sec xenium::ramalhete_queue, 3,i: 28,790,309 msg/sec xenium::ramalhete_queue, 4,s: 33,941,372 msg/sec xenium::ramalhete_queue, 4,i: 33,429,713 msg/sec xenium::ramalhete_queue, 5,s: 32,189,557 msg/sec xenium::ramalhete_queue, 5,i: 38,359,295 msg/sec xenium::ramalhete_queue, 6,s: 33,922,502 msg/sec xenium::ramalhete_queue, 6,i: 39,010,359 msg/sec xenium::ramalhete_queue, 7,s: 35,049,395 msg/sec xenium::ramalhete_queue, 7,i: 40,971,911 msg/sec xenium::ramalhete_queue, 8,s: 35,596,089 msg/sec xenium::ramalhete_queue, 8,i: 44,109,205 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,232,272 msg/sec xenium::vyukov_bounded_queue, 1,i: 112,712,089 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,863,165 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,909,253 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,483,002 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,092,669 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,596,216 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,169,470 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,074,883 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,365,372 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,199,521 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,225,979 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,190,779 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,959,652 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,386,786 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,546,072 msg/sec AtomicQueue, 1,s: 63,389,309 msg/sec AtomicQueue, 1,i: 56,857,655 msg/sec AtomicQueue, 2,s: 12,273,962 msg/sec AtomicQueue, 2,i: 11,724,682 msg/sec AtomicQueue, 3,s: 10,713,145 msg/sec AtomicQueue, 3,i: 9,886,927 msg/sec AtomicQueue, 4,s: 8,141,090 msg/sec AtomicQueue, 4,i: 8,184,833 msg/sec AtomicQueue, 5,s: 8,011,236 msg/sec AtomicQueue, 5,i: 8,073,543 msg/sec AtomicQueue, 6,s: 7,844,266 msg/sec AtomicQueue, 6,i: 7,615,935 msg/sec AtomicQueue, 7,s: 7,147,389 msg/sec AtomicQueue, 7,i: 7,967,262 msg/sec AtomicQueue, 8,s: 6,339,265 msg/sec AtomicQueue, 8,i: 7,453,959 msg/sec AtomicQueueB, 1,s: 43,899,993 msg/sec AtomicQueueB, 1,i: 43,035,772 msg/sec AtomicQueueB, 2,s: 11,740,675 msg/sec AtomicQueueB, 2,i: 11,486,801 msg/sec AtomicQueueB, 3,s: 11,009,488 msg/sec AtomicQueueB, 3,i: 10,052,993 msg/sec AtomicQueueB, 4,s: 7,976,983 msg/sec AtomicQueueB, 4,i: 7,960,431 msg/sec AtomicQueueB, 5,s: 7,641,965 msg/sec AtomicQueueB, 5,i: 7,799,631 msg/sec AtomicQueueB, 6,s: 7,314,431 msg/sec AtomicQueueB, 6,i: 7,519,239 msg/sec AtomicQueueB, 7,s: 6,878,997 msg/sec AtomicQueueB, 7,i: 7,738,649 msg/sec AtomicQueueB, 8,s: 6,238,752 msg/sec AtomicQueueB, 8,i: 7,139,647 msg/sec OptimistAtomicQueue, 1,s: 577,590,221 msg/sec OptimistAtomicQueue, 1,i: 511,861,101 msg/sec OptimistAtomicQueue, 2,s: 32,560,311 msg/sec OptimistAtomicQueue, 2,i: 32,623,812 msg/sec OptimistAtomicQueue, 3,s: 36,678,762 msg/sec OptimistAtomicQueue, 3,i: 37,427,443 msg/sec OptimistAtomicQueue, 4,s: 39,307,033 msg/sec OptimistAtomicQueue, 4,i: 39,373,718 msg/sec OptimistAtomicQueue, 5,s: 42,367,766 msg/sec OptimistAtomicQueue, 5,i: 46,142,105 msg/sec OptimistAtomicQueue, 6,s: 42,497,758 msg/sec OptimistAtomicQueue, 6,i: 50,423,675 msg/sec OptimistAtomicQueue, 7,s: 45,050,953 msg/sec OptimistAtomicQueue, 7,i: 52,057,800 msg/sec OptimistAtomicQueue, 8,s: 46,387,246 msg/sec OptimistAtomicQueue, 8,i: 48,853,007 msg/sec OptimistAtomicQueueB, 1,s: 150,498,890 msg/sec OptimistAtomicQueueB, 1,i: 76,422,705 msg/sec OptimistAtomicQueueB, 2,s: 32,196,410 msg/sec OptimistAtomicQueueB, 2,i: 32,165,893 msg/sec OptimistAtomicQueueB, 3,s: 36,272,046 msg/sec OptimistAtomicQueueB, 3,i: 36,910,768 msg/sec OptimistAtomicQueueB, 4,s: 38,665,273 msg/sec OptimistAtomicQueueB, 4,i: 38,573,057 msg/sec OptimistAtomicQueueB, 5,s: 41,151,238 msg/sec OptimistAtomicQueueB, 5,i: 45,344,692 msg/sec OptimistAtomicQueueB, 6,s: 41,390,744 msg/sec OptimistAtomicQueueB, 6,i: 48,738,733 msg/sec OptimistAtomicQueueB, 7,s: 42,181,516 msg/sec OptimistAtomicQueueB, 7,i: 51,463,007 msg/sec OptimistAtomicQueueB, 8,s: 44,559,621 msg/sec OptimistAtomicQueueB, 8,i: 47,642,093 msg/sec AtomicQueue2, 1,s: 22,866,357 msg/sec AtomicQueue2, 1,i: 22,850,315 msg/sec AtomicQueue2, 2,s: 11,878,543 msg/sec AtomicQueue2, 2,i: 11,459,676 msg/sec AtomicQueue2, 3,s: 9,408,871 msg/sec AtomicQueue2, 3,i: 9,386,684 msg/sec AtomicQueue2, 4,s: 8,105,167 msg/sec AtomicQueue2, 4,i: 8,057,588 msg/sec AtomicQueue2, 5,s: 7,943,056 msg/sec AtomicQueue2, 5,i: 8,076,440 msg/sec AtomicQueue2, 6,s: 7,704,336 msg/sec AtomicQueue2, 6,i: 7,534,626 msg/sec AtomicQueue2, 7,s: 7,076,734 msg/sec AtomicQueue2, 7,i: 7,892,191 msg/sec AtomicQueue2, 8,s: 6,367,531 msg/sec AtomicQueue2, 8,i: 7,359,509 msg/sec AtomicQueueB2, 1,s: 36,212,982 msg/sec AtomicQueueB2, 1,i: 32,875,419 msg/sec AtomicQueueB2, 2,s: 11,463,274 msg/sec AtomicQueueB2, 2,i: 11,069,734 msg/sec AtomicQueueB2, 3,s: 9,590,551 msg/sec AtomicQueueB2, 3,i: 9,587,785 msg/sec AtomicQueueB2, 4,s: 7,976,869 msg/sec AtomicQueueB2, 4,i: 7,846,434 msg/sec AtomicQueueB2, 5,s: 7,480,105 msg/sec AtomicQueueB2, 5,i: 7,671,740 msg/sec AtomicQueueB2, 6,s: 7,201,154 msg/sec AtomicQueueB2, 6,i: 7,464,217 msg/sec AtomicQueueB2, 7,s: 6,839,504 msg/sec AtomicQueueB2, 7,i: 7,711,002 msg/sec AtomicQueueB2, 8,s: 6,260,824 msg/sec AtomicQueueB2, 8,i: 7,072,773 msg/sec OptimistAtomicQueue2, 1,s: 421,150,560 msg/sec OptimistAtomicQueue2, 1,i: 31,562,866 msg/sec OptimistAtomicQueue2, 2,s: 24,935,731 msg/sec OptimistAtomicQueue2, 2,i: 24,016,502 msg/sec OptimistAtomicQueue2, 3,s: 30,317,982 msg/sec OptimistAtomicQueue2, 3,i: 30,125,362 msg/sec OptimistAtomicQueue2, 4,s: 33,301,866 msg/sec OptimistAtomicQueue2, 4,i: 32,964,408 msg/sec OptimistAtomicQueue2, 5,s: 37,008,484 msg/sec OptimistAtomicQueue2, 5,i: 41,256,620 msg/sec OptimistAtomicQueue2, 6,s: 40,164,531 msg/sec OptimistAtomicQueue2, 6,i: 49,302,063 msg/sec OptimistAtomicQueue2, 7,s: 43,240,656 msg/sec OptimistAtomicQueue2, 7,i: 51,545,209 msg/sec OptimistAtomicQueue2, 8,s: 43,989,050 msg/sec OptimistAtomicQueue2, 8,i: 48,402,639 msg/sec OptimistAtomicQueueB2, 1,s: 77,648,586 msg/sec OptimistAtomicQueueB2, 1,i: 33,877,789 msg/sec OptimistAtomicQueueB2, 2,s: 26,852,969 msg/sec OptimistAtomicQueueB2, 2,i: 27,377,696 msg/sec OptimistAtomicQueueB2, 3,s: 29,670,120 msg/sec OptimistAtomicQueueB2, 3,i: 29,130,204 msg/sec OptimistAtomicQueueB2, 4,s: 33,359,967 msg/sec OptimistAtomicQueueB2, 4,i: 32,667,727 msg/sec OptimistAtomicQueueB2, 5,s: 34,793,154 msg/sec OptimistAtomicQueueB2, 5,i: 39,408,440 msg/sec OptimistAtomicQueueB2, 6,s: 37,547,593 msg/sec OptimistAtomicQueueB2, 6,i: 42,397,910 msg/sec OptimistAtomicQueueB2, 7,s: 40,907,609 msg/sec OptimistAtomicQueueB2, 7,i: 45,391,675 msg/sec OptimistAtomicQueueB2, 8,s: 42,149,575 msg/sec OptimistAtomicQueueB2, 8,i: 44,625,593 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000291 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000258 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000189 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [79] 377m:7s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,313,771 msg/sec boost::lockfree::spsc_queue, 1,i: 65,791,533 msg/sec boost::lockfree::queue, 1,s: 6,958,875 msg/sec boost::lockfree::queue, 1,i: 6,901,819 msg/sec boost::lockfree::queue, 2,s: 7,704,766 msg/sec boost::lockfree::queue, 2,i: 7,434,297 msg/sec boost::lockfree::queue, 3,s: 7,465,471 msg/sec boost::lockfree::queue, 3,i: 7,479,964 msg/sec boost::lockfree::queue, 4,s: 6,424,169 msg/sec boost::lockfree::queue, 4,i: 6,755,310 msg/sec boost::lockfree::queue, 5,s: 6,459,434 msg/sec boost::lockfree::queue, 5,i: 6,486,589 msg/sec boost::lockfree::queue, 6,s: 5,973,133 msg/sec boost::lockfree::queue, 6,i: 6,103,679 msg/sec boost::lockfree::queue, 7,s: 6,036,488 msg/sec boost::lockfree::queue, 7,i: 6,049,978 msg/sec boost::lockfree::queue, 8,s: 5,491,826 msg/sec boost::lockfree::queue, 8,i: 5,555,751 msg/sec moodycamel::ReaderWriterQueue, 1,s: 107,255,476 msg/sec moodycamel::ReaderWriterQueue, 1,i: 69,025,539 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,068,776 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,766,743 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,388,593 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,378,449 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,281,932 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,812,245 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,478,846 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,918,750 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,243,566 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,542,948 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,187,301 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,419,391 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,228,397 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,930,909 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,436,222 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,764,750 msg/sec pthread_spinlock, 1,s: 28,966,812 msg/sec pthread_spinlock, 1,i: 25,446,902 msg/sec pthread_spinlock, 2,s: 16,054,000 msg/sec pthread_spinlock, 2,i: 17,228,913 msg/sec pthread_spinlock, 3,s: 8,352,341 msg/sec pthread_spinlock, 3,i: 11,907,438 msg/sec pthread_spinlock, 4,s: 6,485,399 msg/sec pthread_spinlock, 4,i: 9,017,543 msg/sec pthread_spinlock, 5,s: 8,797,556 msg/sec pthread_spinlock, 5,i: 9,470,515 msg/sec pthread_spinlock, 6,s: 8,322,426 msg/sec pthread_spinlock, 6,i: 8,676,977 msg/sec pthread_spinlock, 7,s: 7,533,572 msg/sec pthread_spinlock, 7,i: 8,130,734 msg/sec pthread_spinlock, 8,s: 6,665,671 msg/sec pthread_spinlock, 8,i: 6,897,430 msg/sec std::mutex, 1,s: 7,185,677 msg/sec std::mutex, 1,i: 7,113,914 msg/sec std::mutex, 2,s: 5,092,152 msg/sec std::mutex, 2,i: 5,623,073 msg/sec std::mutex, 3,s: 4,988,753 msg/sec std::mutex, 3,i: 6,047,005 msg/sec std::mutex, 4,s: 6,098,278 msg/sec std::mutex, 4,i: 6,195,308 msg/sec std::mutex, 5,s: 5,973,191 msg/sec std::mutex, 5,i: 5,883,597 msg/sec std::mutex, 6,s: 5,892,200 msg/sec std::mutex, 6,i: 5,866,014 msg/sec std::mutex, 7,s: 5,768,885 msg/sec std::mutex, 7,i: 5,736,168 msg/sec std::mutex, 8,s: 5,613,199 msg/sec std::mutex, 8,i: 5,640,388 msg/sec tbb::spin_mutex, 1,s: 37,589,040 msg/sec tbb::spin_mutex, 1,i: 37,749,037 msg/sec tbb::spin_mutex, 2,s: 21,098,649 msg/sec tbb::spin_mutex, 2,i: 18,405,634 msg/sec tbb::spin_mutex, 3,s: 7,412,678 msg/sec tbb::spin_mutex, 3,i: 10,227,354 msg/sec tbb::spin_mutex, 4,s: 3,117,104 msg/sec tbb::spin_mutex, 4,i: 6,450,690 msg/sec tbb::spin_mutex, 5,s: 5,407,456 msg/sec tbb::spin_mutex, 5,i: 5,753,721 msg/sec tbb::spin_mutex, 6,s: 5,233,700 msg/sec tbb::spin_mutex, 6,i: 4,350,332 msg/sec tbb::spin_mutex, 7,s: 4,847,609 msg/sec tbb::spin_mutex, 7,i: 4,342,973 msg/sec tbb::spin_mutex, 8,s: 4,250,883 msg/sec tbb::spin_mutex, 8,i: 4,090,371 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,336,835 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,431,192 msg/sec tbb::concurrent_bounded_queue, 2,s: 15,039,262 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,271,176 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,199,761 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,003,866 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,402,774 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,307,739 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,755,065 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,920,663 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,023,126 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,890,210 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,910,115 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,947,627 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,970,115 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,077,278 msg/sec xenium::michael_scott_queue, 1,s: 9,508,011 msg/sec xenium::michael_scott_queue, 1,i: 9,598,324 msg/sec xenium::michael_scott_queue, 2,s: 8,590,793 msg/sec xenium::michael_scott_queue, 2,i: 8,577,799 msg/sec xenium::michael_scott_queue, 3,s: 7,166,322 msg/sec xenium::michael_scott_queue, 3,i: 7,557,008 msg/sec xenium::michael_scott_queue, 4,s: 6,307,717 msg/sec xenium::michael_scott_queue, 4,i: 6,366,347 msg/sec xenium::michael_scott_queue, 5,s: 6,255,958 msg/sec xenium::michael_scott_queue, 5,i: 6,603,773 msg/sec xenium::michael_scott_queue, 6,s: 6,468,318 msg/sec xenium::michael_scott_queue, 6,i: 6,807,457 msg/sec xenium::michael_scott_queue, 7,s: 6,291,696 msg/sec xenium::michael_scott_queue, 7,i: 6,472,178 msg/sec xenium::michael_scott_queue, 8,s: 6,043,637 msg/sec xenium::michael_scott_queue, 8,i: 6,047,276 msg/sec xenium::ramalhete_queue, 1,s: 31,899,337 msg/sec xenium::ramalhete_queue, 1,i: 32,057,326 msg/sec xenium::ramalhete_queue, 2,s: 23,725,070 msg/sec xenium::ramalhete_queue, 2,i: 23,374,537 msg/sec xenium::ramalhete_queue, 3,s: 29,318,423 msg/sec xenium::ramalhete_queue, 3,i: 28,505,193 msg/sec xenium::ramalhete_queue, 4,s: 33,938,478 msg/sec xenium::ramalhete_queue, 4,i: 33,519,814 msg/sec xenium::ramalhete_queue, 5,s: 32,185,211 msg/sec xenium::ramalhete_queue, 5,i: 35,974,467 msg/sec xenium::ramalhete_queue, 6,s: 34,146,092 msg/sec xenium::ramalhete_queue, 6,i: 39,628,837 msg/sec xenium::ramalhete_queue, 7,s: 35,199,870 msg/sec xenium::ramalhete_queue, 7,i: 41,236,994 msg/sec xenium::ramalhete_queue, 8,s: 35,363,005 msg/sec xenium::ramalhete_queue, 8,i: 43,624,655 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,246,952 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,798,576 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,780,822 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,000,088 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,555,973 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,874,715 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,551,889 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,417,802 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,008,102 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,377,992 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,155,507 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,245,704 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,245,069 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,036,900 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,383,238 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,322,832 msg/sec AtomicQueue, 1,s: 58,410,944 msg/sec AtomicQueue, 1,i: 57,163,828 msg/sec AtomicQueue, 2,s: 12,279,530 msg/sec AtomicQueue, 2,i: 11,704,833 msg/sec AtomicQueue, 3,s: 10,767,701 msg/sec AtomicQueue, 3,i: 9,952,693 msg/sec AtomicQueue, 4,s: 8,186,922 msg/sec AtomicQueue, 4,i: 8,188,383 msg/sec AtomicQueue, 5,s: 8,018,418 msg/sec AtomicQueue, 5,i: 8,086,528 msg/sec AtomicQueue, 6,s: 7,779,701 msg/sec AtomicQueue, 6,i: 7,624,793 msg/sec AtomicQueue, 7,s: 7,189,228 msg/sec AtomicQueue, 7,i: 7,961,012 msg/sec AtomicQueue, 8,s: 6,356,810 msg/sec AtomicQueue, 8,i: 7,437,151 msg/sec AtomicQueueB, 1,s: 46,328,790 msg/sec AtomicQueueB, 1,i: 43,991,983 msg/sec AtomicQueueB, 2,s: 11,822,283 msg/sec AtomicQueueB, 2,i: 11,522,841 msg/sec AtomicQueueB, 3,s: 11,000,174 msg/sec AtomicQueueB, 3,i: 10,313,521 msg/sec AtomicQueueB, 4,s: 8,120,755 msg/sec AtomicQueueB, 4,i: 8,041,376 msg/sec AtomicQueueB, 5,s: 7,661,659 msg/sec AtomicQueueB, 5,i: 7,845,418 msg/sec AtomicQueueB, 6,s: 7,288,515 msg/sec AtomicQueueB, 6,i: 7,542,558 msg/sec AtomicQueueB, 7,s: 6,852,523 msg/sec AtomicQueueB, 7,i: 7,578,794 msg/sec AtomicQueueB, 8,s: 6,257,039 msg/sec AtomicQueueB, 8,i: 7,146,124 msg/sec OptimistAtomicQueue, 1,s: 735,121,012 msg/sec OptimistAtomicQueue, 1,i: 569,775,246 msg/sec OptimistAtomicQueue, 2,s: 32,643,141 msg/sec OptimistAtomicQueue, 2,i: 32,716,098 msg/sec OptimistAtomicQueue, 3,s: 36,682,584 msg/sec OptimistAtomicQueue, 3,i: 37,413,378 msg/sec OptimistAtomicQueue, 4,s: 39,266,610 msg/sec OptimistAtomicQueue, 4,i: 39,420,815 msg/sec OptimistAtomicQueue, 5,s: 42,520,985 msg/sec OptimistAtomicQueue, 5,i: 46,244,010 msg/sec OptimistAtomicQueue, 6,s: 41,864,999 msg/sec OptimistAtomicQueue, 6,i: 50,328,397 msg/sec OptimistAtomicQueue, 7,s: 44,098,965 msg/sec OptimistAtomicQueue, 7,i: 52,007,295 msg/sec OptimistAtomicQueue, 8,s: 46,462,563 msg/sec OptimistAtomicQueue, 8,i: 48,929,959 msg/sec OptimistAtomicQueueB, 1,s: 77,692,269 msg/sec OptimistAtomicQueueB, 1,i: 126,951,768 msg/sec OptimistAtomicQueueB, 2,s: 32,157,653 msg/sec OptimistAtomicQueueB, 2,i: 32,351,950 msg/sec OptimistAtomicQueueB, 3,s: 36,138,272 msg/sec OptimistAtomicQueueB, 3,i: 36,840,499 msg/sec OptimistAtomicQueueB, 4,s: 38,674,813 msg/sec OptimistAtomicQueueB, 4,i: 38,658,246 msg/sec OptimistAtomicQueueB, 5,s: 41,176,689 msg/sec OptimistAtomicQueueB, 5,i: 45,317,055 msg/sec OptimistAtomicQueueB, 6,s: 41,031,052 msg/sec OptimistAtomicQueueB, 6,i: 49,317,216 msg/sec OptimistAtomicQueueB, 7,s: 42,551,064 msg/sec OptimistAtomicQueueB, 7,i: 48,286,765 msg/sec OptimistAtomicQueueB, 8,s: 44,603,904 msg/sec OptimistAtomicQueueB, 8,i: 47,867,470 msg/sec AtomicQueue2, 1,s: 22,912,588 msg/sec AtomicQueue2, 1,i: 22,822,522 msg/sec AtomicQueue2, 2,s: 11,635,504 msg/sec AtomicQueue2, 2,i: 11,453,806 msg/sec AtomicQueue2, 3,s: 9,346,910 msg/sec AtomicQueue2, 3,i: 9,367,733 msg/sec AtomicQueue2, 4,s: 8,088,624 msg/sec AtomicQueue2, 4,i: 8,058,676 msg/sec AtomicQueue2, 5,s: 7,914,214 msg/sec AtomicQueue2, 5,i: 8,013,359 msg/sec AtomicQueue2, 6,s: 7,783,204 msg/sec AtomicQueue2, 6,i: 7,541,353 msg/sec AtomicQueue2, 7,s: 7,141,035 msg/sec AtomicQueue2, 7,i: 7,897,108 msg/sec AtomicQueue2, 8,s: 6,393,433 msg/sec AtomicQueue2, 8,i: 7,350,225 msg/sec AtomicQueueB2, 1,s: 36,343,337 msg/sec AtomicQueueB2, 1,i: 32,622,838 msg/sec AtomicQueueB2, 2,s: 11,489,107 msg/sec AtomicQueueB2, 2,i: 11,067,883 msg/sec AtomicQueueB2, 3,s: 9,794,034 msg/sec AtomicQueueB2, 3,i: 9,574,257 msg/sec AtomicQueueB2, 4,s: 7,955,697 msg/sec AtomicQueueB2, 4,i: 7,874,675 msg/sec AtomicQueueB2, 5,s: 7,495,826 msg/sec AtomicQueueB2, 5,i: 7,727,284 msg/sec AtomicQueueB2, 6,s: 7,268,196 msg/sec AtomicQueueB2, 6,i: 7,463,133 msg/sec AtomicQueueB2, 7,s: 6,788,092 msg/sec AtomicQueueB2, 7,i: 7,712,102 msg/sec AtomicQueueB2, 8,s: 6,337,588 msg/sec AtomicQueueB2, 8,i: 7,081,976 msg/sec OptimistAtomicQueue2, 1,s: 609,871,192 msg/sec OptimistAtomicQueue2, 1,i: 53,149,946 msg/sec OptimistAtomicQueue2, 2,s: 22,579,773 msg/sec OptimistAtomicQueue2, 2,i: 23,923,710 msg/sec OptimistAtomicQueue2, 3,s: 30,322,948 msg/sec OptimistAtomicQueue2, 3,i: 30,271,085 msg/sec OptimistAtomicQueue2, 4,s: 33,188,941 msg/sec OptimistAtomicQueue2, 4,i: 33,194,517 msg/sec OptimistAtomicQueue2, 5,s: 36,966,823 msg/sec OptimistAtomicQueue2, 5,i: 40,672,429 msg/sec OptimistAtomicQueue2, 6,s: 40,166,906 msg/sec OptimistAtomicQueue2, 6,i: 49,246,154 msg/sec OptimistAtomicQueue2, 7,s: 42,805,720 msg/sec OptimistAtomicQueue2, 7,i: 51,555,925 msg/sec OptimistAtomicQueue2, 8,s: 43,744,855 msg/sec OptimistAtomicQueue2, 8,i: 48,619,953 msg/sec OptimistAtomicQueueB2, 1,s: 78,308,417 msg/sec OptimistAtomicQueueB2, 1,i: 33,874,662 msg/sec OptimistAtomicQueueB2, 2,s: 27,669,866 msg/sec OptimistAtomicQueueB2, 2,i: 23,136,762 msg/sec OptimistAtomicQueueB2, 3,s: 29,744,631 msg/sec OptimistAtomicQueueB2, 3,i: 29,004,996 msg/sec OptimistAtomicQueueB2, 4,s: 33,152,131 msg/sec OptimistAtomicQueueB2, 4,i: 32,024,316 msg/sec OptimistAtomicQueueB2, 5,s: 34,553,844 msg/sec OptimistAtomicQueueB2, 5,i: 39,087,054 msg/sec OptimistAtomicQueueB2, 6,s: 37,396,211 msg/sec OptimistAtomicQueueB2, 6,i: 42,324,255 msg/sec OptimistAtomicQueueB2, 7,s: 40,345,503 msg/sec OptimistAtomicQueueB2, 7,i: 45,471,522 msg/sec OptimistAtomicQueueB2, 8,s: 42,341,765 msg/sec OptimistAtomicQueueB2, 8,i: 45,256,034 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000325 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000294 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000377 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000217 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [80] 375m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,822,050 msg/sec boost::lockfree::spsc_queue, 1,i: 67,216,170 msg/sec boost::lockfree::queue, 1,s: 6,822,780 msg/sec boost::lockfree::queue, 1,i: 6,982,866 msg/sec boost::lockfree::queue, 2,s: 7,526,843 msg/sec boost::lockfree::queue, 2,i: 7,450,170 msg/sec boost::lockfree::queue, 3,s: 7,334,289 msg/sec boost::lockfree::queue, 3,i: 7,536,455 msg/sec boost::lockfree::queue, 4,s: 6,409,217 msg/sec boost::lockfree::queue, 4,i: 6,787,065 msg/sec boost::lockfree::queue, 5,s: 6,437,343 msg/sec boost::lockfree::queue, 5,i: 6,543,683 msg/sec boost::lockfree::queue, 6,s: 5,980,555 msg/sec boost::lockfree::queue, 6,i: 6,130,782 msg/sec boost::lockfree::queue, 7,s: 5,937,447 msg/sec boost::lockfree::queue, 7,i: 6,013,658 msg/sec boost::lockfree::queue, 8,s: 5,508,052 msg/sec boost::lockfree::queue, 8,i: 5,627,948 msg/sec moodycamel::ReaderWriterQueue, 1,s: 62,694,121 msg/sec moodycamel::ReaderWriterQueue, 1,i: 61,525,224 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,698,162 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,786,098 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,438,611 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,648,569 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,980,042 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,680,583 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,241,272 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,888,795 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,121,883 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,542,839 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,106,756 msg/sec moodycamel::ConcurrentQueue, 6,i: 34,373,149 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,878,949 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,359,833 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,127,801 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,104,201 msg/sec pthread_spinlock, 1,s: 29,160,987 msg/sec pthread_spinlock, 1,i: 25,424,063 msg/sec pthread_spinlock, 2,s: 15,539,388 msg/sec pthread_spinlock, 2,i: 16,917,169 msg/sec pthread_spinlock, 3,s: 8,372,083 msg/sec pthread_spinlock, 3,i: 12,026,773 msg/sec pthread_spinlock, 4,s: 6,513,342 msg/sec pthread_spinlock, 4,i: 8,838,278 msg/sec pthread_spinlock, 5,s: 8,629,744 msg/sec pthread_spinlock, 5,i: 9,341,082 msg/sec pthread_spinlock, 6,s: 8,281,959 msg/sec pthread_spinlock, 6,i: 8,597,683 msg/sec pthread_spinlock, 7,s: 7,531,064 msg/sec pthread_spinlock, 7,i: 7,659,320 msg/sec pthread_spinlock, 8,s: 6,861,482 msg/sec pthread_spinlock, 8,i: 7,339,679 msg/sec std::mutex, 1,s: 7,780,542 msg/sec std::mutex, 1,i: 6,919,975 msg/sec std::mutex, 2,s: 6,157,990 msg/sec std::mutex, 2,i: 6,371,727 msg/sec std::mutex, 3,s: 6,223,705 msg/sec std::mutex, 3,i: 6,366,391 msg/sec std::mutex, 4,s: 5,765,799 msg/sec std::mutex, 4,i: 5,612,947 msg/sec std::mutex, 5,s: 5,332,085 msg/sec std::mutex, 5,i: 6,137,844 msg/sec std::mutex, 6,s: 6,093,925 msg/sec std::mutex, 6,i: 6,101,091 msg/sec std::mutex, 7,s: 6,012,052 msg/sec std::mutex, 7,i: 6,020,626 msg/sec std::mutex, 8,s: 5,784,036 msg/sec std::mutex, 8,i: 5,810,505 msg/sec tbb::spin_mutex, 1,s: 37,763,727 msg/sec tbb::spin_mutex, 1,i: 37,393,973 msg/sec tbb::spin_mutex, 2,s: 21,115,756 msg/sec tbb::spin_mutex, 2,i: 18,472,036 msg/sec tbb::spin_mutex, 3,s: 8,793,104 msg/sec tbb::spin_mutex, 3,i: 10,318,434 msg/sec tbb::spin_mutex, 4,s: 3,124,548 msg/sec tbb::spin_mutex, 4,i: 6,358,430 msg/sec tbb::spin_mutex, 5,s: 5,262,477 msg/sec tbb::spin_mutex, 5,i: 5,808,045 msg/sec tbb::spin_mutex, 6,s: 5,325,656 msg/sec tbb::spin_mutex, 6,i: 4,335,646 msg/sec tbb::spin_mutex, 7,s: 4,713,957 msg/sec tbb::spin_mutex, 7,i: 4,318,088 msg/sec tbb::spin_mutex, 8,s: 4,250,489 msg/sec tbb::spin_mutex, 8,i: 4,161,982 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,365,343 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,552,611 msg/sec tbb::concurrent_bounded_queue, 2,s: 15,030,117 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,175,916 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,168,008 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,858,559 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,418,080 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,273,360 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,771,746 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,879,941 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,022,491 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,914,049 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,898,676 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,951,180 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,939,257 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,097,510 msg/sec xenium::michael_scott_queue, 1,s: 9,264,581 msg/sec xenium::michael_scott_queue, 1,i: 9,105,281 msg/sec xenium::michael_scott_queue, 2,s: 8,607,295 msg/sec xenium::michael_scott_queue, 2,i: 8,464,741 msg/sec xenium::michael_scott_queue, 3,s: 7,211,658 msg/sec xenium::michael_scott_queue, 3,i: 7,597,115 msg/sec xenium::michael_scott_queue, 4,s: 6,339,689 msg/sec xenium::michael_scott_queue, 4,i: 6,320,081 msg/sec xenium::michael_scott_queue, 5,s: 6,330,850 msg/sec xenium::michael_scott_queue, 5,i: 6,803,404 msg/sec xenium::michael_scott_queue, 6,s: 6,476,793 msg/sec xenium::michael_scott_queue, 6,i: 6,969,901 msg/sec xenium::michael_scott_queue, 7,s: 6,272,859 msg/sec xenium::michael_scott_queue, 7,i: 6,554,862 msg/sec xenium::michael_scott_queue, 8,s: 6,008,661 msg/sec xenium::michael_scott_queue, 8,i: 6,053,095 msg/sec xenium::ramalhete_queue, 1,s: 32,346,683 msg/sec xenium::ramalhete_queue, 1,i: 31,856,837 msg/sec xenium::ramalhete_queue, 2,s: 23,732,335 msg/sec xenium::ramalhete_queue, 2,i: 24,358,222 msg/sec xenium::ramalhete_queue, 3,s: 29,246,838 msg/sec xenium::ramalhete_queue, 3,i: 28,444,231 msg/sec xenium::ramalhete_queue, 4,s: 33,842,917 msg/sec xenium::ramalhete_queue, 4,i: 33,510,870 msg/sec xenium::ramalhete_queue, 5,s: 32,018,940 msg/sec xenium::ramalhete_queue, 5,i: 35,960,161 msg/sec xenium::ramalhete_queue, 6,s: 33,999,624 msg/sec xenium::ramalhete_queue, 6,i: 38,726,000 msg/sec xenium::ramalhete_queue, 7,s: 35,066,988 msg/sec xenium::ramalhete_queue, 7,i: 41,286,599 msg/sec xenium::ramalhete_queue, 8,s: 35,534,975 msg/sec xenium::ramalhete_queue, 8,i: 43,908,063 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,228,733 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,827,695 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,520,864 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,198,374 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,607,133 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,797,060 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,526,667 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,255,109 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,607,192 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,330,503 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,931,799 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,353,956 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,208,564 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,146,938 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,888 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,523,260 msg/sec AtomicQueue, 1,s: 158,028,399 msg/sec AtomicQueue, 1,i: 57,612,871 msg/sec AtomicQueue, 2,s: 12,275,568 msg/sec AtomicQueue, 2,i: 11,743,620 msg/sec AtomicQueue, 3,s: 10,730,895 msg/sec AtomicQueue, 3,i: 9,881,220 msg/sec AtomicQueue, 4,s: 8,220,481 msg/sec AtomicQueue, 4,i: 8,211,133 msg/sec AtomicQueue, 5,s: 8,030,248 msg/sec AtomicQueue, 5,i: 8,123,997 msg/sec AtomicQueue, 6,s: 7,937,031 msg/sec AtomicQueue, 6,i: 7,591,757 msg/sec AtomicQueue, 7,s: 7,137,124 msg/sec AtomicQueue, 7,i: 7,977,092 msg/sec AtomicQueue, 8,s: 6,362,081 msg/sec AtomicQueue, 8,i: 7,295,192 msg/sec AtomicQueueB, 1,s: 43,216,502 msg/sec AtomicQueueB, 1,i: 76,184,012 msg/sec AtomicQueueB, 2,s: 11,767,656 msg/sec AtomicQueueB, 2,i: 11,454,158 msg/sec AtomicQueueB, 3,s: 10,936,063 msg/sec AtomicQueueB, 3,i: 10,276,446 msg/sec AtomicQueueB, 4,s: 8,024,598 msg/sec AtomicQueueB, 4,i: 8,035,666 msg/sec AtomicQueueB, 5,s: 7,529,073 msg/sec AtomicQueueB, 5,i: 7,758,193 msg/sec AtomicQueueB, 6,s: 7,273,703 msg/sec AtomicQueueB, 6,i: 7,517,052 msg/sec AtomicQueueB, 7,s: 6,881,804 msg/sec AtomicQueueB, 7,i: 7,749,311 msg/sec AtomicQueueB, 8,s: 6,237,627 msg/sec AtomicQueueB, 8,i: 7,130,856 msg/sec OptimistAtomicQueue, 1,s: 740,045,646 msg/sec OptimistAtomicQueue, 1,i: 702,279,493 msg/sec OptimistAtomicQueue, 2,s: 32,638,925 msg/sec OptimistAtomicQueue, 2,i: 32,697,556 msg/sec OptimistAtomicQueue, 3,s: 36,673,124 msg/sec OptimistAtomicQueue, 3,i: 37,408,855 msg/sec OptimistAtomicQueue, 4,s: 39,315,396 msg/sec OptimistAtomicQueue, 4,i: 39,405,213 msg/sec OptimistAtomicQueue, 5,s: 42,507,708 msg/sec OptimistAtomicQueue, 5,i: 46,404,256 msg/sec OptimistAtomicQueue, 6,s: 42,613,452 msg/sec OptimistAtomicQueue, 6,i: 49,824,971 msg/sec OptimistAtomicQueue, 7,s: 44,358,640 msg/sec OptimistAtomicQueue, 7,i: 49,162,982 msg/sec OptimistAtomicQueue, 8,s: 46,363,257 msg/sec OptimistAtomicQueue, 8,i: 49,533,272 msg/sec OptimistAtomicQueueB, 1,s: 90,087,004 msg/sec OptimistAtomicQueueB, 1,i: 76,519,608 msg/sec OptimistAtomicQueueB, 2,s: 32,133,250 msg/sec OptimistAtomicQueueB, 2,i: 32,236,277 msg/sec OptimistAtomicQueueB, 3,s: 36,307,751 msg/sec OptimistAtomicQueueB, 3,i: 36,769,586 msg/sec OptimistAtomicQueueB, 4,s: 38,653,886 msg/sec OptimistAtomicQueueB, 4,i: 38,609,774 msg/sec OptimistAtomicQueueB, 5,s: 40,310,086 msg/sec OptimistAtomicQueueB, 5,i: 44,431,082 msg/sec OptimistAtomicQueueB, 6,s: 41,263,354 msg/sec OptimistAtomicQueueB, 6,i: 48,609,021 msg/sec OptimistAtomicQueueB, 7,s: 42,418,741 msg/sec OptimistAtomicQueueB, 7,i: 51,610,863 msg/sec OptimistAtomicQueueB, 8,s: 44,547,885 msg/sec OptimistAtomicQueueB, 8,i: 47,792,016 msg/sec AtomicQueue2, 1,s: 22,904,953 msg/sec AtomicQueue2, 1,i: 22,926,957 msg/sec AtomicQueue2, 2,s: 11,913,304 msg/sec AtomicQueue2, 2,i: 11,662,610 msg/sec AtomicQueue2, 3,s: 9,484,278 msg/sec AtomicQueue2, 3,i: 9,449,091 msg/sec AtomicQueue2, 4,s: 8,033,611 msg/sec AtomicQueue2, 4,i: 8,051,590 msg/sec AtomicQueue2, 5,s: 7,915,560 msg/sec AtomicQueue2, 5,i: 8,009,113 msg/sec AtomicQueue2, 6,s: 7,869,904 msg/sec AtomicQueue2, 6,i: 7,539,669 msg/sec AtomicQueue2, 7,s: 7,089,600 msg/sec AtomicQueue2, 7,i: 7,886,008 msg/sec AtomicQueue2, 8,s: 6,375,443 msg/sec AtomicQueue2, 8,i: 7,250,527 msg/sec AtomicQueueB2, 1,s: 36,057,085 msg/sec AtomicQueueB2, 1,i: 32,616,707 msg/sec AtomicQueueB2, 2,s: 11,366,367 msg/sec AtomicQueueB2, 2,i: 11,107,684 msg/sec AtomicQueueB2, 3,s: 9,689,696 msg/sec AtomicQueueB2, 3,i: 9,423,398 msg/sec AtomicQueueB2, 4,s: 7,934,387 msg/sec AtomicQueueB2, 4,i: 7,780,978 msg/sec AtomicQueueB2, 5,s: 7,575,595 msg/sec AtomicQueueB2, 5,i: 7,652,669 msg/sec AtomicQueueB2, 6,s: 7,220,502 msg/sec AtomicQueueB2, 6,i: 7,429,531 msg/sec AtomicQueueB2, 7,s: 6,887,427 msg/sec AtomicQueueB2, 7,i: 7,675,882 msg/sec AtomicQueueB2, 8,s: 6,263,213 msg/sec AtomicQueueB2, 8,i: 7,069,227 msg/sec OptimistAtomicQueue2, 1,s: 274,168,595 msg/sec OptimistAtomicQueue2, 1,i: 29,608,594 msg/sec OptimistAtomicQueue2, 2,s: 24,265,810 msg/sec OptimistAtomicQueue2, 2,i: 24,020,377 msg/sec OptimistAtomicQueue2, 3,s: 30,842,753 msg/sec OptimistAtomicQueue2, 3,i: 30,366,717 msg/sec OptimistAtomicQueue2, 4,s: 33,160,790 msg/sec OptimistAtomicQueue2, 4,i: 33,055,454 msg/sec OptimistAtomicQueue2, 5,s: 36,892,071 msg/sec OptimistAtomicQueue2, 5,i: 40,551,852 msg/sec OptimistAtomicQueue2, 6,s: 40,155,627 msg/sec OptimistAtomicQueue2, 6,i: 49,328,301 msg/sec OptimistAtomicQueue2, 7,s: 43,310,969 msg/sec OptimistAtomicQueue2, 7,i: 51,575,223 msg/sec OptimistAtomicQueue2, 8,s: 44,089,628 msg/sec OptimistAtomicQueue2, 8,i: 48,498,896 msg/sec OptimistAtomicQueueB2, 1,s: 76,366,373 msg/sec OptimistAtomicQueueB2, 1,i: 33,935,932 msg/sec OptimistAtomicQueueB2, 2,s: 27,238,111 msg/sec OptimistAtomicQueueB2, 2,i: 26,117,094 msg/sec OptimistAtomicQueueB2, 3,s: 29,706,330 msg/sec OptimistAtomicQueueB2, 3,i: 29,054,629 msg/sec OptimistAtomicQueueB2, 4,s: 33,242,932 msg/sec OptimistAtomicQueueB2, 4,i: 32,933,052 msg/sec OptimistAtomicQueueB2, 5,s: 34,765,323 msg/sec OptimistAtomicQueueB2, 5,i: 39,416,786 msg/sec OptimistAtomicQueueB2, 6,s: 37,198,493 msg/sec OptimistAtomicQueueB2, 6,i: 42,224,306 msg/sec OptimistAtomicQueueB2, 7,s: 40,207,851 msg/sec OptimistAtomicQueueB2, 7,i: 43,244,618 msg/sec OptimistAtomicQueueB2, 8,s: 42,276,285 msg/sec OptimistAtomicQueueB2, 8,i: 45,204,035 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000163 sec/round-trip moodycamel::ConcurrentQueue: 0.000000219 sec/round-trip pthread_spinlock: 0.000000271 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000400 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000165 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [81] 374m:28s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,682,369 msg/sec boost::lockfree::spsc_queue, 1,i: 67,985,659 msg/sec boost::lockfree::queue, 1,s: 6,854,929 msg/sec boost::lockfree::queue, 1,i: 6,953,294 msg/sec boost::lockfree::queue, 2,s: 7,672,890 msg/sec boost::lockfree::queue, 2,i: 7,520,880 msg/sec boost::lockfree::queue, 3,s: 7,386,677 msg/sec boost::lockfree::queue, 3,i: 7,553,900 msg/sec boost::lockfree::queue, 4,s: 6,419,033 msg/sec boost::lockfree::queue, 4,i: 6,860,765 msg/sec boost::lockfree::queue, 5,s: 6,412,386 msg/sec boost::lockfree::queue, 5,i: 6,538,599 msg/sec boost::lockfree::queue, 6,s: 5,985,180 msg/sec boost::lockfree::queue, 6,i: 6,165,665 msg/sec boost::lockfree::queue, 7,s: 6,008,756 msg/sec boost::lockfree::queue, 7,i: 6,154,693 msg/sec boost::lockfree::queue, 8,s: 5,447,033 msg/sec boost::lockfree::queue, 8,i: 5,555,837 msg/sec moodycamel::ReaderWriterQueue, 1,s: 132,581,723 msg/sec moodycamel::ReaderWriterQueue, 1,i: 59,660,688 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,196,349 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,594,894 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,433,862 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,956,894 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,100,921 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,470,432 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,662,255 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,082,170 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,359,297 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,523,444 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,199,327 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,621,796 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,873,893 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,154,972 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,158,344 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,916,248 msg/sec pthread_spinlock, 1,s: 28,919,120 msg/sec pthread_spinlock, 1,i: 25,257,558 msg/sec pthread_spinlock, 2,s: 15,764,348 msg/sec pthread_spinlock, 2,i: 16,917,380 msg/sec pthread_spinlock, 3,s: 8,375,648 msg/sec pthread_spinlock, 3,i: 12,034,668 msg/sec pthread_spinlock, 4,s: 6,441,925 msg/sec pthread_spinlock, 4,i: 9,148,017 msg/sec pthread_spinlock, 5,s: 8,759,276 msg/sec pthread_spinlock, 5,i: 9,462,300 msg/sec pthread_spinlock, 6,s: 8,428,299 msg/sec pthread_spinlock, 6,i: 8,474,067 msg/sec pthread_spinlock, 7,s: 7,693,642 msg/sec pthread_spinlock, 7,i: 7,987,647 msg/sec pthread_spinlock, 8,s: 6,736,807 msg/sec pthread_spinlock, 8,i: 7,007,270 msg/sec std::mutex, 1,s: 6,670,354 msg/sec std::mutex, 1,i: 6,755,508 msg/sec std::mutex, 2,s: 5,497,208 msg/sec std::mutex, 2,i: 6,152,569 msg/sec std::mutex, 3,s: 6,115,501 msg/sec std::mutex, 3,i: 6,203,806 msg/sec std::mutex, 4,s: 6,346,774 msg/sec std::mutex, 4,i: 6,401,983 msg/sec std::mutex, 5,s: 6,228,885 msg/sec std::mutex, 5,i: 6,060,569 msg/sec std::mutex, 6,s: 6,039,729 msg/sec std::mutex, 6,i: 6,072,141 msg/sec std::mutex, 7,s: 5,896,568 msg/sec std::mutex, 7,i: 5,884,274 msg/sec std::mutex, 8,s: 5,695,227 msg/sec std::mutex, 8,i: 5,700,858 msg/sec tbb::spin_mutex, 1,s: 37,886,552 msg/sec tbb::spin_mutex, 1,i: 32,880,406 msg/sec tbb::spin_mutex, 2,s: 21,121,542 msg/sec tbb::spin_mutex, 2,i: 18,443,137 msg/sec tbb::spin_mutex, 3,s: 8,702,282 msg/sec tbb::spin_mutex, 3,i: 10,157,838 msg/sec tbb::spin_mutex, 4,s: 3,103,437 msg/sec tbb::spin_mutex, 4,i: 6,219,421 msg/sec tbb::spin_mutex, 5,s: 5,502,019 msg/sec tbb::spin_mutex, 5,i: 5,735,438 msg/sec tbb::spin_mutex, 6,s: 5,332,843 msg/sec tbb::spin_mutex, 6,i: 4,329,858 msg/sec tbb::spin_mutex, 7,s: 4,854,748 msg/sec tbb::spin_mutex, 7,i: 4,361,855 msg/sec tbb::spin_mutex, 8,s: 3,902,803 msg/sec tbb::spin_mutex, 8,i: 4,072,916 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,072,302 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,279,988 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,948,596 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,944,758 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,333,220 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,694,698 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,060,891 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,576,758 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,613,006 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,514,306 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,783,464 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,712,154 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,855,955 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,808,053 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,085,052 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,080,606 msg/sec xenium::michael_scott_queue, 1,s: 9,329,440 msg/sec xenium::michael_scott_queue, 1,i: 9,348,677 msg/sec xenium::michael_scott_queue, 2,s: 8,518,974 msg/sec xenium::michael_scott_queue, 2,i: 8,495,908 msg/sec xenium::michael_scott_queue, 3,s: 7,300,591 msg/sec xenium::michael_scott_queue, 3,i: 7,516,653 msg/sec xenium::michael_scott_queue, 4,s: 6,287,855 msg/sec xenium::michael_scott_queue, 4,i: 6,339,748 msg/sec xenium::michael_scott_queue, 5,s: 6,289,930 msg/sec xenium::michael_scott_queue, 5,i: 6,670,119 msg/sec xenium::michael_scott_queue, 6,s: 6,511,120 msg/sec xenium::michael_scott_queue, 6,i: 6,932,108 msg/sec xenium::michael_scott_queue, 7,s: 6,255,492 msg/sec xenium::michael_scott_queue, 7,i: 6,587,559 msg/sec xenium::michael_scott_queue, 8,s: 6,025,212 msg/sec xenium::michael_scott_queue, 8,i: 6,069,705 msg/sec xenium::ramalhete_queue, 1,s: 32,044,892 msg/sec xenium::ramalhete_queue, 1,i: 32,900,236 msg/sec xenium::ramalhete_queue, 2,s: 23,437,107 msg/sec xenium::ramalhete_queue, 2,i: 23,014,631 msg/sec xenium::ramalhete_queue, 3,s: 29,190,868 msg/sec xenium::ramalhete_queue, 3,i: 28,492,370 msg/sec xenium::ramalhete_queue, 4,s: 33,883,894 msg/sec xenium::ramalhete_queue, 4,i: 33,567,712 msg/sec xenium::ramalhete_queue, 5,s: 32,288,112 msg/sec xenium::ramalhete_queue, 5,i: 35,959,402 msg/sec xenium::ramalhete_queue, 6,s: 33,952,224 msg/sec xenium::ramalhete_queue, 6,i: 38,689,731 msg/sec xenium::ramalhete_queue, 7,s: 35,372,417 msg/sec xenium::ramalhete_queue, 7,i: 41,296,614 msg/sec xenium::ramalhete_queue, 8,s: 35,400,597 msg/sec xenium::ramalhete_queue, 8,i: 43,780,872 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,046,800 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,915,925 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,254,896 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,390,520 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,543,523 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,924,025 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,546,941 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,143,020 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,563,865 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,265,741 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,066,139 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,246,747 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,156,426 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,132,823 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,421,850 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,257,265 msg/sec AtomicQueue, 1,s: 62,142,078 msg/sec AtomicQueue, 1,i: 56,417,935 msg/sec AtomicQueue, 2,s: 12,318,339 msg/sec AtomicQueue, 2,i: 11,745,037 msg/sec AtomicQueue, 3,s: 10,790,116 msg/sec AtomicQueue, 3,i: 9,890,371 msg/sec AtomicQueue, 4,s: 8,180,844 msg/sec AtomicQueue, 4,i: 8,175,418 msg/sec AtomicQueue, 5,s: 7,990,349 msg/sec AtomicQueue, 5,i: 8,084,788 msg/sec AtomicQueue, 6,s: 7,718,874 msg/sec AtomicQueue, 6,i: 7,591,405 msg/sec AtomicQueue, 7,s: 7,151,577 msg/sec AtomicQueue, 7,i: 7,799,706 msg/sec AtomicQueue, 8,s: 6,364,821 msg/sec AtomicQueue, 8,i: 7,463,462 msg/sec AtomicQueueB, 1,s: 52,180,281 msg/sec AtomicQueueB, 1,i: 43,452,371 msg/sec AtomicQueueB, 2,s: 11,826,400 msg/sec AtomicQueueB, 2,i: 11,529,062 msg/sec AtomicQueueB, 3,s: 11,007,861 msg/sec AtomicQueueB, 3,i: 10,046,492 msg/sec AtomicQueueB, 4,s: 8,023,065 msg/sec AtomicQueueB, 4,i: 8,043,287 msg/sec AtomicQueueB, 5,s: 7,597,167 msg/sec AtomicQueueB, 5,i: 7,869,283 msg/sec AtomicQueueB, 6,s: 7,370,641 msg/sec AtomicQueueB, 6,i: 7,529,290 msg/sec AtomicQueueB, 7,s: 6,892,395 msg/sec AtomicQueueB, 7,i: 7,688,403 msg/sec AtomicQueueB, 8,s: 6,201,985 msg/sec AtomicQueueB, 8,i: 7,114,413 msg/sec OptimistAtomicQueue, 1,s: 735,481,638 msg/sec OptimistAtomicQueue, 1,i: 516,175,587 msg/sec OptimistAtomicQueue, 2,s: 32,108,182 msg/sec OptimistAtomicQueue, 2,i: 32,328,269 msg/sec OptimistAtomicQueue, 3,s: 36,657,426 msg/sec OptimistAtomicQueue, 3,i: 37,336,571 msg/sec OptimistAtomicQueue, 4,s: 39,303,623 msg/sec OptimistAtomicQueue, 4,i: 39,400,978 msg/sec OptimistAtomicQueue, 5,s: 41,771,381 msg/sec OptimistAtomicQueue, 5,i: 47,376,509 msg/sec OptimistAtomicQueue, 6,s: 42,289,769 msg/sec OptimistAtomicQueue, 6,i: 49,776,939 msg/sec OptimistAtomicQueue, 7,s: 44,527,037 msg/sec OptimistAtomicQueue, 7,i: 52,140,604 msg/sec OptimistAtomicQueue, 8,s: 46,408,215 msg/sec OptimistAtomicQueue, 8,i: 50,282,109 msg/sec OptimistAtomicQueueB, 1,s: 77,606,514 msg/sec OptimistAtomicQueueB, 1,i: 77,615,406 msg/sec OptimistAtomicQueueB, 2,s: 31,641,255 msg/sec OptimistAtomicQueueB, 2,i: 31,706,041 msg/sec OptimistAtomicQueueB, 3,s: 36,216,973 msg/sec OptimistAtomicQueueB, 3,i: 36,827,735 msg/sec OptimistAtomicQueueB, 4,s: 38,697,787 msg/sec OptimistAtomicQueueB, 4,i: 38,620,318 msg/sec OptimistAtomicQueueB, 5,s: 40,837,861 msg/sec OptimistAtomicQueueB, 5,i: 45,324,203 msg/sec OptimistAtomicQueueB, 6,s: 40,307,675 msg/sec OptimistAtomicQueueB, 6,i: 49,156,371 msg/sec OptimistAtomicQueueB, 7,s: 42,693,087 msg/sec OptimistAtomicQueueB, 7,i: 48,417,214 msg/sec OptimistAtomicQueueB, 8,s: 44,654,119 msg/sec OptimistAtomicQueueB, 8,i: 47,974,964 msg/sec AtomicQueue2, 1,s: 22,911,109 msg/sec AtomicQueue2, 1,i: 22,899,098 msg/sec AtomicQueue2, 2,s: 11,955,596 msg/sec AtomicQueue2, 2,i: 11,434,430 msg/sec AtomicQueue2, 3,s: 9,331,255 msg/sec AtomicQueue2, 3,i: 9,423,725 msg/sec AtomicQueue2, 4,s: 8,050,249 msg/sec AtomicQueue2, 4,i: 8,059,142 msg/sec AtomicQueue2, 5,s: 7,836,869 msg/sec AtomicQueue2, 5,i: 7,958,954 msg/sec AtomicQueue2, 6,s: 7,688,732 msg/sec AtomicQueue2, 6,i: 7,533,530 msg/sec AtomicQueue2, 7,s: 7,146,250 msg/sec AtomicQueue2, 7,i: 7,889,512 msg/sec AtomicQueue2, 8,s: 6,359,656 msg/sec AtomicQueue2, 8,i: 7,253,917 msg/sec AtomicQueueB2, 1,s: 39,184,551 msg/sec AtomicQueueB2, 1,i: 33,447,388 msg/sec AtomicQueueB2, 2,s: 11,378,777 msg/sec AtomicQueueB2, 2,i: 11,149,267 msg/sec AtomicQueueB2, 3,s: 9,579,587 msg/sec AtomicQueueB2, 3,i: 9,530,212 msg/sec AtomicQueueB2, 4,s: 7,786,930 msg/sec AtomicQueueB2, 4,i: 7,889,835 msg/sec AtomicQueueB2, 5,s: 7,513,415 msg/sec AtomicQueueB2, 5,i: 7,670,372 msg/sec AtomicQueueB2, 6,s: 7,290,310 msg/sec AtomicQueueB2, 6,i: 7,423,748 msg/sec AtomicQueueB2, 7,s: 6,898,526 msg/sec AtomicQueueB2, 7,i: 7,700,742 msg/sec AtomicQueueB2, 8,s: 6,281,820 msg/sec AtomicQueueB2, 8,i: 7,078,426 msg/sec OptimistAtomicQueue2, 1,s: 416,426,267 msg/sec OptimistAtomicQueue2, 1,i: 433,736,408 msg/sec OptimistAtomicQueue2, 2,s: 24,269,582 msg/sec OptimistAtomicQueue2, 2,i: 24,029,112 msg/sec OptimistAtomicQueue2, 3,s: 30,319,772 msg/sec OptimistAtomicQueue2, 3,i: 29,946,414 msg/sec OptimistAtomicQueue2, 4,s: 33,206,903 msg/sec OptimistAtomicQueue2, 4,i: 33,378,505 msg/sec OptimistAtomicQueue2, 5,s: 37,415,973 msg/sec OptimistAtomicQueue2, 5,i: 40,572,457 msg/sec OptimistAtomicQueue2, 6,s: 40,645,556 msg/sec OptimistAtomicQueue2, 6,i: 49,139,164 msg/sec OptimistAtomicQueue2, 7,s: 43,156,029 msg/sec OptimistAtomicQueue2, 7,i: 48,190,396 msg/sec OptimistAtomicQueue2, 8,s: 44,088,419 msg/sec OptimistAtomicQueue2, 8,i: 48,396,783 msg/sec OptimistAtomicQueueB2, 1,s: 76,332,301 msg/sec OptimistAtomicQueueB2, 1,i: 33,864,923 msg/sec OptimistAtomicQueueB2, 2,s: 27,192,117 msg/sec OptimistAtomicQueueB2, 2,i: 23,221,239 msg/sec OptimistAtomicQueueB2, 3,s: 29,880,506 msg/sec OptimistAtomicQueueB2, 3,i: 29,086,708 msg/sec OptimistAtomicQueueB2, 4,s: 33,397,756 msg/sec OptimistAtomicQueueB2, 4,i: 32,827,475 msg/sec OptimistAtomicQueueB2, 5,s: 34,683,833 msg/sec OptimistAtomicQueueB2, 5,i: 39,325,092 msg/sec OptimistAtomicQueueB2, 6,s: 37,386,920 msg/sec OptimistAtomicQueueB2, 6,i: 42,191,476 msg/sec OptimistAtomicQueueB2, 7,s: 39,946,444 msg/sec OptimistAtomicQueueB2, 7,i: 45,220,335 msg/sec OptimistAtomicQueueB2, 8,s: 42,352,675 msg/sec OptimistAtomicQueueB2, 8,i: 45,225,992 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000247 sec/round-trip std::mutex: 0.000000448 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [82] 373m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,067,683 msg/sec boost::lockfree::spsc_queue, 1,i: 70,340,583 msg/sec boost::lockfree::queue, 1,s: 7,871,640 msg/sec boost::lockfree::queue, 1,i: 7,892,707 msg/sec boost::lockfree::queue, 2,s: 7,552,478 msg/sec boost::lockfree::queue, 2,i: 7,584,024 msg/sec boost::lockfree::queue, 3,s: 7,455,147 msg/sec boost::lockfree::queue, 3,i: 7,571,311 msg/sec boost::lockfree::queue, 4,s: 6,422,182 msg/sec boost::lockfree::queue, 4,i: 6,745,993 msg/sec boost::lockfree::queue, 5,s: 6,452,593 msg/sec boost::lockfree::queue, 5,i: 6,485,385 msg/sec boost::lockfree::queue, 6,s: 5,960,530 msg/sec boost::lockfree::queue, 6,i: 6,115,529 msg/sec boost::lockfree::queue, 7,s: 5,837,588 msg/sec boost::lockfree::queue, 7,i: 6,062,984 msg/sec boost::lockfree::queue, 8,s: 5,463,488 msg/sec boost::lockfree::queue, 8,i: 5,609,941 msg/sec moodycamel::ReaderWriterQueue, 1,s: 52,405,869 msg/sec moodycamel::ReaderWriterQueue, 1,i: 50,577,850 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,396,795 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,815,535 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,733,518 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,561,819 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,220,957 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,803,070 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,697,816 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,448,441 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,258,348 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,197,340 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,111,374 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,414,757 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,866,000 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,417,785 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,313,966 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,639,829 msg/sec pthread_spinlock, 1,s: 28,933,642 msg/sec pthread_spinlock, 1,i: 25,343,413 msg/sec pthread_spinlock, 2,s: 16,029,338 msg/sec pthread_spinlock, 2,i: 16,905,164 msg/sec pthread_spinlock, 3,s: 8,312,006 msg/sec pthread_spinlock, 3,i: 12,103,090 msg/sec pthread_spinlock, 4,s: 6,507,527 msg/sec pthread_spinlock, 4,i: 9,181,779 msg/sec pthread_spinlock, 5,s: 8,730,832 msg/sec pthread_spinlock, 5,i: 8,927,944 msg/sec pthread_spinlock, 6,s: 8,555,108 msg/sec pthread_spinlock, 6,i: 8,634,977 msg/sec pthread_spinlock, 7,s: 7,478,773 msg/sec pthread_spinlock, 7,i: 7,462,601 msg/sec pthread_spinlock, 8,s: 6,935,974 msg/sec pthread_spinlock, 8,i: 7,425,565 msg/sec std::mutex, 1,s: 6,972,332 msg/sec std::mutex, 1,i: 6,630,814 msg/sec std::mutex, 2,s: 5,598,817 msg/sec std::mutex, 2,i: 5,335,261 msg/sec std::mutex, 3,s: 5,411,762 msg/sec std::mutex, 3,i: 5,428,572 msg/sec std::mutex, 4,s: 5,689,063 msg/sec std::mutex, 4,i: 5,570,867 msg/sec std::mutex, 5,s: 5,473,700 msg/sec std::mutex, 5,i: 5,935,846 msg/sec std::mutex, 6,s: 5,644,390 msg/sec std::mutex, 6,i: 5,837,876 msg/sec std::mutex, 7,s: 5,873,282 msg/sec std::mutex, 7,i: 5,793,960 msg/sec std::mutex, 8,s: 5,724,053 msg/sec std::mutex, 8,i: 5,726,854 msg/sec tbb::spin_mutex, 1,s: 38,083,199 msg/sec tbb::spin_mutex, 1,i: 33,005,129 msg/sec tbb::spin_mutex, 2,s: 21,167,343 msg/sec tbb::spin_mutex, 2,i: 18,524,007 msg/sec tbb::spin_mutex, 3,s: 7,992,891 msg/sec tbb::spin_mutex, 3,i: 10,177,037 msg/sec tbb::spin_mutex, 4,s: 3,143,486 msg/sec tbb::spin_mutex, 4,i: 6,318,009 msg/sec tbb::spin_mutex, 5,s: 5,220,494 msg/sec tbb::spin_mutex, 5,i: 5,519,371 msg/sec tbb::spin_mutex, 6,s: 5,233,600 msg/sec tbb::spin_mutex, 6,i: 4,349,997 msg/sec tbb::spin_mutex, 7,s: 4,863,772 msg/sec tbb::spin_mutex, 7,i: 4,317,480 msg/sec tbb::spin_mutex, 8,s: 4,260,508 msg/sec tbb::spin_mutex, 8,i: 4,126,575 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,247,504 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,173,427 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,731,162 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,077,071 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,369,521 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,481,221 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,120,551 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,503,866 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,477,822 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,537,394 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,744,054 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,626,631 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,863,829 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,708,067 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,051,201 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,074,479 msg/sec xenium::michael_scott_queue, 1,s: 9,526,173 msg/sec xenium::michael_scott_queue, 1,i: 9,643,374 msg/sec xenium::michael_scott_queue, 2,s: 8,331,301 msg/sec xenium::michael_scott_queue, 2,i: 8,535,067 msg/sec xenium::michael_scott_queue, 3,s: 7,323,263 msg/sec xenium::michael_scott_queue, 3,i: 7,520,953 msg/sec xenium::michael_scott_queue, 4,s: 6,355,536 msg/sec xenium::michael_scott_queue, 4,i: 6,322,368 msg/sec xenium::michael_scott_queue, 5,s: 6,297,983 msg/sec xenium::michael_scott_queue, 5,i: 6,583,300 msg/sec xenium::michael_scott_queue, 6,s: 6,512,971 msg/sec xenium::michael_scott_queue, 6,i: 6,673,919 msg/sec xenium::michael_scott_queue, 7,s: 6,341,312 msg/sec xenium::michael_scott_queue, 7,i: 6,497,700 msg/sec xenium::michael_scott_queue, 8,s: 5,979,365 msg/sec xenium::michael_scott_queue, 8,i: 6,253,028 msg/sec xenium::ramalhete_queue, 1,s: 32,295,444 msg/sec xenium::ramalhete_queue, 1,i: 31,907,983 msg/sec xenium::ramalhete_queue, 2,s: 23,527,575 msg/sec xenium::ramalhete_queue, 2,i: 23,366,343 msg/sec xenium::ramalhete_queue, 3,s: 29,170,746 msg/sec xenium::ramalhete_queue, 3,i: 28,423,316 msg/sec xenium::ramalhete_queue, 4,s: 33,699,264 msg/sec xenium::ramalhete_queue, 4,i: 33,460,197 msg/sec xenium::ramalhete_queue, 5,s: 32,124,714 msg/sec xenium::ramalhete_queue, 5,i: 38,410,718 msg/sec xenium::ramalhete_queue, 6,s: 34,007,256 msg/sec xenium::ramalhete_queue, 6,i: 38,813,154 msg/sec xenium::ramalhete_queue, 7,s: 35,045,956 msg/sec xenium::ramalhete_queue, 7,i: 40,907,883 msg/sec xenium::ramalhete_queue, 8,s: 35,530,731 msg/sec xenium::ramalhete_queue, 8,i: 44,022,994 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,322,958 msg/sec xenium::vyukov_bounded_queue, 1,i: 67,283,117 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,510,859 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,552,980 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,734,230 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,533,407 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,501,945 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,287,177 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,526,317 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,399,143 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,918,268 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,281,396 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,138,290 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,841,230 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,399,182 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,220,191 msg/sec AtomicQueue, 1,s: 76,463,279 msg/sec AtomicQueue, 1,i: 56,635,039 msg/sec AtomicQueue, 2,s: 12,358,134 msg/sec AtomicQueue, 2,i: 11,750,401 msg/sec AtomicQueue, 3,s: 10,791,907 msg/sec AtomicQueue, 3,i: 9,986,960 msg/sec AtomicQueue, 4,s: 8,195,568 msg/sec AtomicQueue, 4,i: 8,177,017 msg/sec AtomicQueue, 5,s: 8,032,285 msg/sec AtomicQueue, 5,i: 8,101,368 msg/sec AtomicQueue, 6,s: 7,815,329 msg/sec AtomicQueue, 6,i: 7,605,508 msg/sec AtomicQueue, 7,s: 7,121,902 msg/sec AtomicQueue, 7,i: 7,996,539 msg/sec AtomicQueue, 8,s: 6,356,485 msg/sec AtomicQueue, 8,i: 7,358,937 msg/sec AtomicQueueB, 1,s: 44,049,509 msg/sec AtomicQueueB, 1,i: 43,688,905 msg/sec AtomicQueueB, 2,s: 11,803,758 msg/sec AtomicQueueB, 2,i: 11,485,006 msg/sec AtomicQueueB, 3,s: 10,966,400 msg/sec AtomicQueueB, 3,i: 10,153,928 msg/sec AtomicQueueB, 4,s: 8,007,697 msg/sec AtomicQueueB, 4,i: 8,077,503 msg/sec AtomicQueueB, 5,s: 7,608,872 msg/sec AtomicQueueB, 5,i: 7,734,844 msg/sec AtomicQueueB, 6,s: 7,377,788 msg/sec AtomicQueueB, 6,i: 7,568,515 msg/sec AtomicQueueB, 7,s: 6,814,500 msg/sec AtomicQueueB, 7,i: 7,746,786 msg/sec AtomicQueueB, 8,s: 6,192,214 msg/sec AtomicQueueB, 8,i: 7,177,834 msg/sec OptimistAtomicQueue, 1,s: 741,597,423 msg/sec OptimistAtomicQueue, 1,i: 640,690,202 msg/sec OptimistAtomicQueue, 2,s: 32,651,868 msg/sec OptimistAtomicQueue, 2,i: 32,719,502 msg/sec OptimistAtomicQueue, 3,s: 36,667,546 msg/sec OptimistAtomicQueue, 3,i: 37,382,805 msg/sec OptimistAtomicQueue, 4,s: 39,231,214 msg/sec OptimistAtomicQueue, 4,i: 39,383,744 msg/sec OptimistAtomicQueue, 5,s: 42,509,834 msg/sec OptimistAtomicQueue, 5,i: 46,338,085 msg/sec OptimistAtomicQueue, 6,s: 42,335,456 msg/sec OptimistAtomicQueue, 6,i: 50,482,988 msg/sec OptimistAtomicQueue, 7,s: 45,350,332 msg/sec OptimistAtomicQueue, 7,i: 49,467,606 msg/sec OptimistAtomicQueue, 8,s: 46,588,941 msg/sec OptimistAtomicQueue, 8,i: 49,228,089 msg/sec OptimistAtomicQueueB, 1,s: 169,128,622 msg/sec OptimistAtomicQueueB, 1,i: 77,498,824 msg/sec OptimistAtomicQueueB, 2,s: 32,287,923 msg/sec OptimistAtomicQueueB, 2,i: 32,328,022 msg/sec OptimistAtomicQueueB, 3,s: 36,230,097 msg/sec OptimistAtomicQueueB, 3,i: 36,582,701 msg/sec OptimistAtomicQueueB, 4,s: 38,607,301 msg/sec OptimistAtomicQueueB, 4,i: 38,542,717 msg/sec OptimistAtomicQueueB, 5,s: 41,064,360 msg/sec OptimistAtomicQueueB, 5,i: 45,488,926 msg/sec OptimistAtomicQueueB, 6,s: 40,825,068 msg/sec OptimistAtomicQueueB, 6,i: 48,710,068 msg/sec OptimistAtomicQueueB, 7,s: 42,109,983 msg/sec OptimistAtomicQueueB, 7,i: 51,497,175 msg/sec OptimistAtomicQueueB, 8,s: 44,312,364 msg/sec OptimistAtomicQueueB, 8,i: 47,863,300 msg/sec AtomicQueue2, 1,s: 22,880,858 msg/sec AtomicQueue2, 1,i: 22,884,948 msg/sec AtomicQueue2, 2,s: 11,885,405 msg/sec AtomicQueue2, 2,i: 11,507,500 msg/sec AtomicQueue2, 3,s: 9,439,779 msg/sec AtomicQueue2, 3,i: 9,407,148 msg/sec AtomicQueue2, 4,s: 8,101,213 msg/sec AtomicQueue2, 4,i: 8,105,368 msg/sec AtomicQueue2, 5,s: 7,912,159 msg/sec AtomicQueue2, 5,i: 8,029,446 msg/sec AtomicQueue2, 6,s: 7,800,610 msg/sec AtomicQueue2, 6,i: 7,534,206 msg/sec AtomicQueue2, 7,s: 7,183,324 msg/sec AtomicQueue2, 7,i: 7,878,056 msg/sec AtomicQueue2, 8,s: 6,365,003 msg/sec AtomicQueue2, 8,i: 7,336,930 msg/sec AtomicQueueB2, 1,s: 35,940,052 msg/sec AtomicQueueB2, 1,i: 32,616,594 msg/sec AtomicQueueB2, 2,s: 11,366,742 msg/sec AtomicQueueB2, 2,i: 11,100,498 msg/sec AtomicQueueB2, 3,s: 9,629,303 msg/sec AtomicQueueB2, 3,i: 9,491,920 msg/sec AtomicQueueB2, 4,s: 7,904,056 msg/sec AtomicQueueB2, 4,i: 7,893,898 msg/sec AtomicQueueB2, 5,s: 7,466,033 msg/sec AtomicQueueB2, 5,i: 7,774,614 msg/sec AtomicQueueB2, 6,s: 7,280,956 msg/sec AtomicQueueB2, 6,i: 7,449,331 msg/sec AtomicQueueB2, 7,s: 6,884,097 msg/sec AtomicQueueB2, 7,i: 7,720,484 msg/sec AtomicQueueB2, 8,s: 6,275,045 msg/sec AtomicQueueB2, 8,i: 7,111,625 msg/sec OptimistAtomicQueue2, 1,s: 120,119,019 msg/sec OptimistAtomicQueue2, 1,i: 148,666,393 msg/sec OptimistAtomicQueue2, 2,s: 22,696,947 msg/sec OptimistAtomicQueue2, 2,i: 24,023,447 msg/sec OptimistAtomicQueue2, 3,s: 30,522,413 msg/sec OptimistAtomicQueue2, 3,i: 30,792,144 msg/sec OptimistAtomicQueue2, 4,s: 33,192,898 msg/sec OptimistAtomicQueue2, 4,i: 33,166,896 msg/sec OptimistAtomicQueue2, 5,s: 37,191,511 msg/sec OptimistAtomicQueue2, 5,i: 40,176,654 msg/sec OptimistAtomicQueue2, 6,s: 40,054,677 msg/sec OptimistAtomicQueue2, 6,i: 49,376,159 msg/sec OptimistAtomicQueue2, 7,s: 43,201,561 msg/sec OptimistAtomicQueue2, 7,i: 48,096,766 msg/sec OptimistAtomicQueue2, 8,s: 44,013,255 msg/sec OptimistAtomicQueue2, 8,i: 48,370,666 msg/sec OptimistAtomicQueueB2, 1,s: 75,325,167 msg/sec OptimistAtomicQueueB2, 1,i: 65,865,702 msg/sec OptimistAtomicQueueB2, 2,s: 28,642,034 msg/sec OptimistAtomicQueueB2, 2,i: 23,437,446 msg/sec OptimistAtomicQueueB2, 3,s: 29,469,941 msg/sec OptimistAtomicQueueB2, 3,i: 29,294,945 msg/sec OptimistAtomicQueueB2, 4,s: 33,385,719 msg/sec OptimistAtomicQueueB2, 4,i: 33,070,766 msg/sec OptimistAtomicQueueB2, 5,s: 34,535,514 msg/sec OptimistAtomicQueueB2, 5,i: 39,262,363 msg/sec OptimistAtomicQueueB2, 6,s: 37,308,649 msg/sec OptimistAtomicQueueB2, 6,i: 42,354,225 msg/sec OptimistAtomicQueueB2, 7,s: 40,350,094 msg/sec OptimistAtomicQueueB2, 7,i: 45,523,056 msg/sec OptimistAtomicQueueB2, 8,s: 42,332,629 msg/sec OptimistAtomicQueueB2, 8,i: 45,214,337 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000123 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [83] 371m:49s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,107,617 msg/sec boost::lockfree::spsc_queue, 1,i: 68,100,730 msg/sec boost::lockfree::queue, 1,s: 6,882,008 msg/sec boost::lockfree::queue, 1,i: 6,847,437 msg/sec boost::lockfree::queue, 2,s: 7,574,119 msg/sec boost::lockfree::queue, 2,i: 7,441,634 msg/sec boost::lockfree::queue, 3,s: 7,400,925 msg/sec boost::lockfree::queue, 3,i: 7,563,133 msg/sec boost::lockfree::queue, 4,s: 6,427,533 msg/sec boost::lockfree::queue, 4,i: 6,933,939 msg/sec boost::lockfree::queue, 5,s: 6,382,692 msg/sec boost::lockfree::queue, 5,i: 6,474,965 msg/sec boost::lockfree::queue, 6,s: 5,999,976 msg/sec boost::lockfree::queue, 6,i: 6,110,556 msg/sec boost::lockfree::queue, 7,s: 5,846,846 msg/sec boost::lockfree::queue, 7,i: 5,880,109 msg/sec boost::lockfree::queue, 8,s: 5,547,689 msg/sec boost::lockfree::queue, 8,i: 5,523,664 msg/sec moodycamel::ReaderWriterQueue, 1,s: 465,076,044 msg/sec moodycamel::ReaderWriterQueue, 1,i: 64,581,498 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,961,753 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,954,179 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,034,479 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,149,818 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,603,599 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,543,566 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,069,119 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,625,475 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,325,613 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,337,385 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,437,476 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,349,264 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,029,760 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,143,981 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,148,791 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,519,952 msg/sec pthread_spinlock, 1,s: 29,028,773 msg/sec pthread_spinlock, 1,i: 26,006,441 msg/sec pthread_spinlock, 2,s: 16,001,215 msg/sec pthread_spinlock, 2,i: 18,036,918 msg/sec pthread_spinlock, 3,s: 8,361,439 msg/sec pthread_spinlock, 3,i: 12,001,736 msg/sec pthread_spinlock, 4,s: 6,530,588 msg/sec pthread_spinlock, 4,i: 9,128,540 msg/sec pthread_spinlock, 5,s: 8,734,473 msg/sec pthread_spinlock, 5,i: 8,904,999 msg/sec pthread_spinlock, 6,s: 8,566,568 msg/sec pthread_spinlock, 6,i: 8,497,510 msg/sec pthread_spinlock, 7,s: 7,518,371 msg/sec pthread_spinlock, 7,i: 8,077,379 msg/sec pthread_spinlock, 8,s: 6,952,284 msg/sec pthread_spinlock, 8,i: 6,999,043 msg/sec std::mutex, 1,s: 6,253,278 msg/sec std::mutex, 1,i: 7,873,264 msg/sec std::mutex, 2,s: 6,113,488 msg/sec std::mutex, 2,i: 6,100,008 msg/sec std::mutex, 3,s: 6,196,741 msg/sec std::mutex, 3,i: 6,290,952 msg/sec std::mutex, 4,s: 6,335,397 msg/sec std::mutex, 4,i: 6,329,968 msg/sec std::mutex, 5,s: 6,156,777 msg/sec std::mutex, 5,i: 6,074,227 msg/sec std::mutex, 6,s: 5,728,115 msg/sec std::mutex, 6,i: 6,052,019 msg/sec std::mutex, 7,s: 5,961,411 msg/sec std::mutex, 7,i: 5,941,318 msg/sec std::mutex, 8,s: 5,753,273 msg/sec std::mutex, 8,i: 5,783,988 msg/sec tbb::spin_mutex, 1,s: 37,864,175 msg/sec tbb::spin_mutex, 1,i: 32,999,379 msg/sec tbb::spin_mutex, 2,s: 21,279,007 msg/sec tbb::spin_mutex, 2,i: 18,386,500 msg/sec tbb::spin_mutex, 3,s: 8,051,007 msg/sec tbb::spin_mutex, 3,i: 11,328,756 msg/sec tbb::spin_mutex, 4,s: 3,205,029 msg/sec tbb::spin_mutex, 4,i: 6,307,677 msg/sec tbb::spin_mutex, 5,s: 5,392,164 msg/sec tbb::spin_mutex, 5,i: 5,400,678 msg/sec tbb::spin_mutex, 6,s: 5,348,008 msg/sec tbb::spin_mutex, 6,i: 4,361,290 msg/sec tbb::spin_mutex, 7,s: 4,858,581 msg/sec tbb::spin_mutex, 7,i: 4,334,599 msg/sec tbb::spin_mutex, 8,s: 4,262,626 msg/sec tbb::spin_mutex, 8,i: 4,148,956 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,045,608 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,999,521 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,914,453 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,304,861 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,441,747 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,717,652 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,968,490 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,364,780 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,525,073 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,621,809 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,789,988 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,709,931 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,822,698 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,146,724 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,901,525 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,482,029 msg/sec xenium::michael_scott_queue, 1,s: 9,258,393 msg/sec xenium::michael_scott_queue, 1,i: 9,177,572 msg/sec xenium::michael_scott_queue, 2,s: 8,543,022 msg/sec xenium::michael_scott_queue, 2,i: 8,479,216 msg/sec xenium::michael_scott_queue, 3,s: 7,297,698 msg/sec xenium::michael_scott_queue, 3,i: 7,592,746 msg/sec xenium::michael_scott_queue, 4,s: 6,313,836 msg/sec xenium::michael_scott_queue, 4,i: 6,419,965 msg/sec xenium::michael_scott_queue, 5,s: 6,274,392 msg/sec xenium::michael_scott_queue, 5,i: 6,636,075 msg/sec xenium::michael_scott_queue, 6,s: 6,455,838 msg/sec xenium::michael_scott_queue, 6,i: 6,743,966 msg/sec xenium::michael_scott_queue, 7,s: 6,359,332 msg/sec xenium::michael_scott_queue, 7,i: 6,502,770 msg/sec xenium::michael_scott_queue, 8,s: 5,971,750 msg/sec xenium::michael_scott_queue, 8,i: 6,064,601 msg/sec xenium::ramalhete_queue, 1,s: 32,716,396 msg/sec xenium::ramalhete_queue, 1,i: 32,100,683 msg/sec xenium::ramalhete_queue, 2,s: 23,793,174 msg/sec xenium::ramalhete_queue, 2,i: 23,421,020 msg/sec xenium::ramalhete_queue, 3,s: 29,167,700 msg/sec xenium::ramalhete_queue, 3,i: 28,460,711 msg/sec xenium::ramalhete_queue, 4,s: 33,731,030 msg/sec xenium::ramalhete_queue, 4,i: 33,427,243 msg/sec xenium::ramalhete_queue, 5,s: 32,082,224 msg/sec xenium::ramalhete_queue, 5,i: 36,187,142 msg/sec xenium::ramalhete_queue, 6,s: 33,830,812 msg/sec xenium::ramalhete_queue, 6,i: 38,969,582 msg/sec xenium::ramalhete_queue, 7,s: 35,181,626 msg/sec xenium::ramalhete_queue, 7,i: 41,924,242 msg/sec xenium::ramalhete_queue, 8,s: 35,414,854 msg/sec xenium::ramalhete_queue, 8,i: 43,799,417 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,384,954 msg/sec xenium::vyukov_bounded_queue, 1,i: 103,810,122 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,678,567 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,179,644 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,535,570 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,907,916 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,499,717 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,546,623 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,947,212 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,253,810 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,919,130 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,151,379 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,185,990 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,861,651 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,386,319 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,241,403 msg/sec AtomicQueue, 1,s: 61,144,907 msg/sec AtomicQueue, 1,i: 56,984,466 msg/sec AtomicQueue, 2,s: 12,182,967 msg/sec AtomicQueue, 2,i: 11,745,094 msg/sec AtomicQueue, 3,s: 10,790,290 msg/sec AtomicQueue, 3,i: 9,862,942 msg/sec AtomicQueue, 4,s: 8,187,371 msg/sec AtomicQueue, 4,i: 8,173,131 msg/sec AtomicQueue, 5,s: 8,021,920 msg/sec AtomicQueue, 5,i: 8,115,497 msg/sec AtomicQueue, 6,s: 7,853,905 msg/sec AtomicQueue, 6,i: 7,635,147 msg/sec AtomicQueue, 7,s: 7,132,775 msg/sec AtomicQueue, 7,i: 7,985,209 msg/sec AtomicQueue, 8,s: 6,330,526 msg/sec AtomicQueue, 8,i: 7,434,645 msg/sec AtomicQueueB, 1,s: 47,300,634 msg/sec AtomicQueueB, 1,i: 43,045,832 msg/sec AtomicQueueB, 2,s: 11,868,798 msg/sec AtomicQueueB, 2,i: 11,462,391 msg/sec AtomicQueueB, 3,s: 10,956,630 msg/sec AtomicQueueB, 3,i: 10,139,171 msg/sec AtomicQueueB, 4,s: 8,091,084 msg/sec AtomicQueueB, 4,i: 7,989,528 msg/sec AtomicQueueB, 5,s: 7,584,345 msg/sec AtomicQueueB, 5,i: 7,753,903 msg/sec AtomicQueueB, 6,s: 7,429,465 msg/sec AtomicQueueB, 6,i: 7,524,560 msg/sec AtomicQueueB, 7,s: 6,899,628 msg/sec AtomicQueueB, 7,i: 7,746,806 msg/sec AtomicQueueB, 8,s: 6,264,659 msg/sec AtomicQueueB, 8,i: 7,181,880 msg/sec OptimistAtomicQueue, 1,s: 771,615,059 msg/sec OptimistAtomicQueue, 1,i: 515,523,840 msg/sec OptimistAtomicQueue, 2,s: 32,569,238 msg/sec OptimistAtomicQueue, 2,i: 32,477,304 msg/sec OptimistAtomicQueue, 3,s: 36,692,519 msg/sec OptimistAtomicQueue, 3,i: 37,470,064 msg/sec OptimistAtomicQueue, 4,s: 39,302,600 msg/sec OptimistAtomicQueue, 4,i: 39,390,030 msg/sec OptimistAtomicQueue, 5,s: 42,366,995 msg/sec OptimistAtomicQueue, 5,i: 48,528,471 msg/sec OptimistAtomicQueue, 6,s: 42,699,769 msg/sec OptimistAtomicQueue, 6,i: 50,424,565 msg/sec OptimistAtomicQueue, 7,s: 44,431,476 msg/sec OptimistAtomicQueue, 7,i: 52,118,540 msg/sec OptimistAtomicQueue, 8,s: 46,309,713 msg/sec OptimistAtomicQueue, 8,i: 49,258,497 msg/sec OptimistAtomicQueueB, 1,s: 124,565,465 msg/sec OptimistAtomicQueueB, 1,i: 84,241,340 msg/sec OptimistAtomicQueueB, 2,s: 32,219,409 msg/sec OptimistAtomicQueueB, 2,i: 32,104,110 msg/sec OptimistAtomicQueueB, 3,s: 36,263,683 msg/sec OptimistAtomicQueueB, 3,i: 36,980,745 msg/sec OptimistAtomicQueueB, 4,s: 38,684,297 msg/sec OptimistAtomicQueueB, 4,i: 38,633,939 msg/sec OptimistAtomicQueueB, 5,s: 41,055,942 msg/sec OptimistAtomicQueueB, 5,i: 45,355,942 msg/sec OptimistAtomicQueueB, 6,s: 40,395,197 msg/sec OptimistAtomicQueueB, 6,i: 49,143,259 msg/sec OptimistAtomicQueueB, 7,s: 42,461,007 msg/sec OptimistAtomicQueueB, 7,i: 51,655,899 msg/sec OptimistAtomicQueueB, 8,s: 44,051,690 msg/sec OptimistAtomicQueueB, 8,i: 47,459,772 msg/sec AtomicQueue2, 1,s: 22,868,830 msg/sec AtomicQueue2, 1,i: 22,859,909 msg/sec AtomicQueue2, 2,s: 11,751,695 msg/sec AtomicQueue2, 2,i: 11,405,335 msg/sec AtomicQueue2, 3,s: 9,415,989 msg/sec AtomicQueue2, 3,i: 9,427,367 msg/sec AtomicQueue2, 4,s: 8,093,269 msg/sec AtomicQueue2, 4,i: 8,067,829 msg/sec AtomicQueue2, 5,s: 7,924,852 msg/sec AtomicQueue2, 5,i: 8,032,144 msg/sec AtomicQueue2, 6,s: 7,857,328 msg/sec AtomicQueue2, 6,i: 7,525,460 msg/sec AtomicQueue2, 7,s: 7,143,611 msg/sec AtomicQueue2, 7,i: 7,882,644 msg/sec AtomicQueue2, 8,s: 6,380,650 msg/sec AtomicQueue2, 8,i: 7,331,858 msg/sec AtomicQueueB2, 1,s: 36,358,509 msg/sec AtomicQueueB2, 1,i: 36,377,460 msg/sec AtomicQueueB2, 2,s: 11,330,691 msg/sec AtomicQueueB2, 2,i: 11,117,014 msg/sec AtomicQueueB2, 3,s: 9,580,275 msg/sec AtomicQueueB2, 3,i: 9,480,947 msg/sec AtomicQueueB2, 4,s: 7,897,192 msg/sec AtomicQueueB2, 4,i: 7,818,945 msg/sec AtomicQueueB2, 5,s: 7,605,880 msg/sec AtomicQueueB2, 5,i: 7,674,329 msg/sec AtomicQueueB2, 6,s: 7,341,709 msg/sec AtomicQueueB2, 6,i: 7,460,644 msg/sec AtomicQueueB2, 7,s: 6,818,116 msg/sec AtomicQueueB2, 7,i: 7,716,406 msg/sec AtomicQueueB2, 8,s: 6,316,849 msg/sec AtomicQueueB2, 8,i: 7,103,724 msg/sec OptimistAtomicQueue2, 1,s: 195,487,895 msg/sec OptimistAtomicQueue2, 1,i: 184,992,116 msg/sec OptimistAtomicQueue2, 2,s: 24,263,163 msg/sec OptimistAtomicQueue2, 2,i: 24,021,762 msg/sec OptimistAtomicQueue2, 3,s: 30,453,423 msg/sec OptimistAtomicQueue2, 3,i: 29,945,623 msg/sec OptimistAtomicQueue2, 4,s: 33,711,134 msg/sec OptimistAtomicQueue2, 4,i: 34,063,072 msg/sec OptimistAtomicQueue2, 5,s: 37,198,377 msg/sec OptimistAtomicQueue2, 5,i: 41,598,199 msg/sec OptimistAtomicQueue2, 6,s: 40,272,680 msg/sec OptimistAtomicQueue2, 6,i: 48,858,518 msg/sec OptimistAtomicQueue2, 7,s: 43,040,159 msg/sec OptimistAtomicQueue2, 7,i: 47,931,681 msg/sec OptimistAtomicQueue2, 8,s: 43,895,829 msg/sec OptimistAtomicQueue2, 8,i: 49,590,214 msg/sec OptimistAtomicQueueB2, 1,s: 76,046,967 msg/sec OptimistAtomicQueueB2, 1,i: 35,509,376 msg/sec OptimistAtomicQueueB2, 2,s: 27,711,261 msg/sec OptimistAtomicQueueB2, 2,i: 25,889,692 msg/sec OptimistAtomicQueueB2, 3,s: 30,225,164 msg/sec OptimistAtomicQueueB2, 3,i: 29,090,411 msg/sec OptimistAtomicQueueB2, 4,s: 32,951,357 msg/sec OptimistAtomicQueueB2, 4,i: 32,072,720 msg/sec OptimistAtomicQueueB2, 5,s: 34,579,756 msg/sec OptimistAtomicQueueB2, 5,i: 39,017,164 msg/sec OptimistAtomicQueueB2, 6,s: 37,794,206 msg/sec OptimistAtomicQueueB2, 6,i: 42,354,150 msg/sec OptimistAtomicQueueB2, 7,s: 40,173,494 msg/sec OptimistAtomicQueueB2, 7,i: 43,186,539 msg/sec OptimistAtomicQueueB2, 8,s: 42,335,768 msg/sec OptimistAtomicQueueB2, 8,i: 45,224,465 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000243 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000249 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [84] 370m:31s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,020,247 msg/sec boost::lockfree::spsc_queue, 1,i: 68,434,285 msg/sec boost::lockfree::queue, 1,s: 6,824,110 msg/sec boost::lockfree::queue, 1,i: 6,836,401 msg/sec boost::lockfree::queue, 2,s: 7,501,370 msg/sec boost::lockfree::queue, 2,i: 7,448,923 msg/sec boost::lockfree::queue, 3,s: 7,427,034 msg/sec boost::lockfree::queue, 3,i: 7,635,689 msg/sec boost::lockfree::queue, 4,s: 6,426,437 msg/sec boost::lockfree::queue, 4,i: 6,826,852 msg/sec boost::lockfree::queue, 5,s: 6,378,931 msg/sec boost::lockfree::queue, 5,i: 6,482,689 msg/sec boost::lockfree::queue, 6,s: 6,023,626 msg/sec boost::lockfree::queue, 6,i: 6,085,693 msg/sec boost::lockfree::queue, 7,s: 5,839,689 msg/sec boost::lockfree::queue, 7,i: 6,072,233 msg/sec boost::lockfree::queue, 8,s: 5,452,908 msg/sec boost::lockfree::queue, 8,i: 5,638,152 msg/sec moodycamel::ReaderWriterQueue, 1,s: 401,465,832 msg/sec moodycamel::ReaderWriterQueue, 1,i: 94,682,964 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,328,459 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,773,076 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,970,200 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,771,417 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,033,747 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,999,477 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,036,839 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,134,354 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,440,710 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,723,434 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,582,120 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,720,146 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,036,181 msg/sec moodycamel::ConcurrentQueue, 7,i: 46,918,513 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,283,782 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,836,774 msg/sec pthread_spinlock, 1,s: 29,066,237 msg/sec pthread_spinlock, 1,i: 25,314,919 msg/sec pthread_spinlock, 2,s: 15,551,689 msg/sec pthread_spinlock, 2,i: 16,928,933 msg/sec pthread_spinlock, 3,s: 8,305,520 msg/sec pthread_spinlock, 3,i: 12,204,292 msg/sec pthread_spinlock, 4,s: 6,487,486 msg/sec pthread_spinlock, 4,i: 9,205,516 msg/sec pthread_spinlock, 5,s: 8,770,188 msg/sec pthread_spinlock, 5,i: 8,920,586 msg/sec pthread_spinlock, 6,s: 8,277,599 msg/sec pthread_spinlock, 6,i: 8,604,620 msg/sec pthread_spinlock, 7,s: 7,535,713 msg/sec pthread_spinlock, 7,i: 7,803,076 msg/sec pthread_spinlock, 8,s: 6,726,915 msg/sec pthread_spinlock, 8,i: 6,938,562 msg/sec std::mutex, 1,s: 7,571,679 msg/sec std::mutex, 1,i: 6,602,753 msg/sec std::mutex, 2,s: 5,496,470 msg/sec std::mutex, 2,i: 5,673,427 msg/sec std::mutex, 3,s: 6,024,492 msg/sec std::mutex, 3,i: 6,001,186 msg/sec std::mutex, 4,s: 6,195,568 msg/sec std::mutex, 4,i: 6,267,380 msg/sec std::mutex, 5,s: 5,996,015 msg/sec std::mutex, 5,i: 5,779,979 msg/sec std::mutex, 6,s: 5,885,418 msg/sec std::mutex, 6,i: 5,893,367 msg/sec std::mutex, 7,s: 5,802,334 msg/sec std::mutex, 7,i: 5,813,919 msg/sec std::mutex, 8,s: 5,669,767 msg/sec std::mutex, 8,i: 5,728,428 msg/sec tbb::spin_mutex, 1,s: 37,962,160 msg/sec tbb::spin_mutex, 1,i: 37,836,289 msg/sec tbb::spin_mutex, 2,s: 20,928,325 msg/sec tbb::spin_mutex, 2,i: 18,414,475 msg/sec tbb::spin_mutex, 3,s: 8,113,656 msg/sec tbb::spin_mutex, 3,i: 11,018,842 msg/sec tbb::spin_mutex, 4,s: 3,085,976 msg/sec tbb::spin_mutex, 4,i: 6,338,271 msg/sec tbb::spin_mutex, 5,s: 5,504,725 msg/sec tbb::spin_mutex, 5,i: 5,793,693 msg/sec tbb::spin_mutex, 6,s: 5,347,257 msg/sec tbb::spin_mutex, 6,i: 4,364,666 msg/sec tbb::spin_mutex, 7,s: 4,487,522 msg/sec tbb::spin_mutex, 7,i: 4,334,421 msg/sec tbb::spin_mutex, 8,s: 4,214,049 msg/sec tbb::spin_mutex, 8,i: 4,050,110 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,152,329 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,870,048 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,581,775 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,742,287 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,884,666 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,818,605 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,315,201 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,266,946 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,590,196 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,183,289 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,956,184 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,407,379 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,979,234 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,605,233 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,051,875 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,713,817 msg/sec xenium::michael_scott_queue, 1,s: 10,085,970 msg/sec xenium::michael_scott_queue, 1,i: 10,015,428 msg/sec xenium::michael_scott_queue, 2,s: 8,389,121 msg/sec xenium::michael_scott_queue, 2,i: 8,431,937 msg/sec xenium::michael_scott_queue, 3,s: 7,306,675 msg/sec xenium::michael_scott_queue, 3,i: 7,582,942 msg/sec xenium::michael_scott_queue, 4,s: 6,254,497 msg/sec xenium::michael_scott_queue, 4,i: 6,309,469 msg/sec xenium::michael_scott_queue, 5,s: 6,306,121 msg/sec xenium::michael_scott_queue, 5,i: 6,648,470 msg/sec xenium::michael_scott_queue, 6,s: 6,487,576 msg/sec xenium::michael_scott_queue, 6,i: 6,697,609 msg/sec xenium::michael_scott_queue, 7,s: 6,293,135 msg/sec xenium::michael_scott_queue, 7,i: 6,456,130 msg/sec xenium::michael_scott_queue, 8,s: 6,020,372 msg/sec xenium::michael_scott_queue, 8,i: 6,249,159 msg/sec xenium::ramalhete_queue, 1,s: 32,100,557 msg/sec xenium::ramalhete_queue, 1,i: 31,871,777 msg/sec xenium::ramalhete_queue, 2,s: 23,588,079 msg/sec xenium::ramalhete_queue, 2,i: 23,245,211 msg/sec xenium::ramalhete_queue, 3,s: 29,115,435 msg/sec xenium::ramalhete_queue, 3,i: 28,516,865 msg/sec xenium::ramalhete_queue, 4,s: 33,838,848 msg/sec xenium::ramalhete_queue, 4,i: 33,454,449 msg/sec xenium::ramalhete_queue, 5,s: 32,021,714 msg/sec xenium::ramalhete_queue, 5,i: 35,888,559 msg/sec xenium::ramalhete_queue, 6,s: 34,170,937 msg/sec xenium::ramalhete_queue, 6,i: 39,049,152 msg/sec xenium::ramalhete_queue, 7,s: 35,186,367 msg/sec xenium::ramalhete_queue, 7,i: 41,132,178 msg/sec xenium::ramalhete_queue, 8,s: 35,594,203 msg/sec xenium::ramalhete_queue, 8,i: 43,940,113 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,547,720 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,421,971 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,978,970 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,370,745 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,734,195 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,457,109 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,509,390 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,504,106 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,617,399 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,378,527 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,121,184 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,404,315 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,265,594 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,934,569 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,396,137 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,240,781 msg/sec AtomicQueue, 1,s: 58,899,027 msg/sec AtomicQueue, 1,i: 56,250,671 msg/sec AtomicQueue, 2,s: 12,117,911 msg/sec AtomicQueue, 2,i: 11,758,950 msg/sec AtomicQueue, 3,s: 10,786,129 msg/sec AtomicQueue, 3,i: 9,966,847 msg/sec AtomicQueue, 4,s: 8,203,537 msg/sec AtomicQueue, 4,i: 8,199,436 msg/sec AtomicQueue, 5,s: 8,027,914 msg/sec AtomicQueue, 5,i: 8,059,231 msg/sec AtomicQueue, 6,s: 7,857,461 msg/sec AtomicQueue, 6,i: 7,607,352 msg/sec AtomicQueue, 7,s: 7,136,870 msg/sec AtomicQueue, 7,i: 7,991,872 msg/sec AtomicQueue, 8,s: 6,356,787 msg/sec AtomicQueue, 8,i: 7,363,674 msg/sec AtomicQueueB, 1,s: 45,399,778 msg/sec AtomicQueueB, 1,i: 43,836,065 msg/sec AtomicQueueB, 2,s: 11,665,461 msg/sec AtomicQueueB, 2,i: 11,490,258 msg/sec AtomicQueueB, 3,s: 11,043,079 msg/sec AtomicQueueB, 3,i: 10,218,009 msg/sec AtomicQueueB, 4,s: 8,070,473 msg/sec AtomicQueueB, 4,i: 8,052,765 msg/sec AtomicQueueB, 5,s: 7,457,862 msg/sec AtomicQueueB, 5,i: 7,822,695 msg/sec AtomicQueueB, 6,s: 7,408,210 msg/sec AtomicQueueB, 6,i: 7,517,076 msg/sec AtomicQueueB, 7,s: 6,836,084 msg/sec AtomicQueueB, 7,i: 7,747,769 msg/sec AtomicQueueB, 8,s: 6,226,650 msg/sec AtomicQueueB, 8,i: 7,109,685 msg/sec OptimistAtomicQueue, 1,s: 744,116,549 msg/sec OptimistAtomicQueue, 1,i: 564,976,938 msg/sec OptimistAtomicQueue, 2,s: 32,639,668 msg/sec OptimistAtomicQueue, 2,i: 32,458,516 msg/sec OptimistAtomicQueue, 3,s: 36,631,302 msg/sec OptimistAtomicQueue, 3,i: 37,371,879 msg/sec OptimistAtomicQueue, 4,s: 39,265,691 msg/sec OptimistAtomicQueue, 4,i: 39,387,656 msg/sec OptimistAtomicQueue, 5,s: 41,894,064 msg/sec OptimistAtomicQueue, 5,i: 46,426,978 msg/sec OptimistAtomicQueue, 6,s: 42,187,271 msg/sec OptimistAtomicQueue, 6,i: 50,404,998 msg/sec OptimistAtomicQueue, 7,s: 44,415,126 msg/sec OptimistAtomicQueue, 7,i: 53,098,355 msg/sec OptimistAtomicQueue, 8,s: 46,537,677 msg/sec OptimistAtomicQueue, 8,i: 49,880,021 msg/sec OptimistAtomicQueueB, 1,s: 177,610,681 msg/sec OptimistAtomicQueueB, 1,i: 77,809,921 msg/sec OptimistAtomicQueueB, 2,s: 31,640,386 msg/sec OptimistAtomicQueueB, 2,i: 31,708,089 msg/sec OptimistAtomicQueueB, 3,s: 36,116,829 msg/sec OptimistAtomicQueueB, 3,i: 36,862,745 msg/sec OptimistAtomicQueueB, 4,s: 38,654,132 msg/sec OptimistAtomicQueueB, 4,i: 38,550,888 msg/sec OptimistAtomicQueueB, 5,s: 40,458,172 msg/sec OptimistAtomicQueueB, 5,i: 46,034,232 msg/sec OptimistAtomicQueueB, 6,s: 41,358,808 msg/sec OptimistAtomicQueueB, 6,i: 48,624,862 msg/sec OptimistAtomicQueueB, 7,s: 42,709,606 msg/sec OptimistAtomicQueueB, 7,i: 51,450,602 msg/sec OptimistAtomicQueueB, 8,s: 44,598,154 msg/sec OptimistAtomicQueueB, 8,i: 48,009,620 msg/sec AtomicQueue2, 1,s: 22,849,621 msg/sec AtomicQueue2, 1,i: 22,818,415 msg/sec AtomicQueue2, 2,s: 11,769,318 msg/sec AtomicQueue2, 2,i: 11,416,657 msg/sec AtomicQueue2, 3,s: 9,441,721 msg/sec AtomicQueue2, 3,i: 9,422,409 msg/sec AtomicQueue2, 4,s: 8,017,264 msg/sec AtomicQueue2, 4,i: 8,052,108 msg/sec AtomicQueue2, 5,s: 7,978,500 msg/sec AtomicQueue2, 5,i: 8,039,112 msg/sec AtomicQueue2, 6,s: 7,655,801 msg/sec AtomicQueue2, 6,i: 7,577,199 msg/sec AtomicQueue2, 7,s: 7,152,274 msg/sec AtomicQueue2, 7,i: 7,892,392 msg/sec AtomicQueue2, 8,s: 6,400,383 msg/sec AtomicQueue2, 8,i: 7,375,906 msg/sec AtomicQueueB2, 1,s: 36,122,972 msg/sec AtomicQueueB2, 1,i: 36,227,325 msg/sec AtomicQueueB2, 2,s: 11,424,164 msg/sec AtomicQueueB2, 2,i: 11,076,730 msg/sec AtomicQueueB2, 3,s: 9,641,101 msg/sec AtomicQueueB2, 3,i: 9,488,043 msg/sec AtomicQueueB2, 4,s: 7,887,334 msg/sec AtomicQueueB2, 4,i: 7,869,566 msg/sec AtomicQueueB2, 5,s: 7,370,163 msg/sec AtomicQueueB2, 5,i: 7,743,331 msg/sec AtomicQueueB2, 6,s: 7,166,132 msg/sec AtomicQueueB2, 6,i: 7,454,115 msg/sec AtomicQueueB2, 7,s: 6,930,118 msg/sec AtomicQueueB2, 7,i: 7,703,892 msg/sec AtomicQueueB2, 8,s: 6,317,636 msg/sec AtomicQueueB2, 8,i: 7,102,383 msg/sec OptimistAtomicQueue2, 1,s: 520,732,102 msg/sec OptimistAtomicQueue2, 1,i: 32,466,059 msg/sec OptimistAtomicQueue2, 2,s: 26,209,973 msg/sec OptimistAtomicQueue2, 2,i: 24,031,964 msg/sec OptimistAtomicQueue2, 3,s: 30,324,602 msg/sec OptimistAtomicQueue2, 3,i: 29,963,520 msg/sec OptimistAtomicQueue2, 4,s: 33,225,835 msg/sec OptimistAtomicQueue2, 4,i: 33,169,545 msg/sec OptimistAtomicQueue2, 5,s: 37,439,714 msg/sec OptimistAtomicQueue2, 5,i: 41,041,598 msg/sec OptimistAtomicQueue2, 6,s: 40,214,553 msg/sec OptimistAtomicQueue2, 6,i: 49,338,164 msg/sec OptimistAtomicQueue2, 7,s: 42,889,010 msg/sec OptimistAtomicQueue2, 7,i: 47,954,532 msg/sec OptimistAtomicQueue2, 8,s: 43,939,329 msg/sec OptimistAtomicQueue2, 8,i: 48,371,403 msg/sec OptimistAtomicQueueB2, 1,s: 75,370,688 msg/sec OptimistAtomicQueueB2, 1,i: 33,949,404 msg/sec OptimistAtomicQueueB2, 2,s: 27,756,289 msg/sec OptimistAtomicQueueB2, 2,i: 28,110,025 msg/sec OptimistAtomicQueueB2, 3,s: 29,681,749 msg/sec OptimistAtomicQueueB2, 3,i: 29,711,546 msg/sec OptimistAtomicQueueB2, 4,s: 33,010,894 msg/sec OptimistAtomicQueueB2, 4,i: 32,132,841 msg/sec OptimistAtomicQueueB2, 5,s: 34,622,917 msg/sec OptimistAtomicQueueB2, 5,i: 39,283,839 msg/sec OptimistAtomicQueueB2, 6,s: 37,389,387 msg/sec OptimistAtomicQueueB2, 6,i: 42,321,036 msg/sec OptimistAtomicQueueB2, 7,s: 40,393,687 msg/sec OptimistAtomicQueueB2, 7,i: 43,315,009 msg/sec OptimistAtomicQueueB2, 8,s: 42,265,032 msg/sec OptimistAtomicQueueB2, 8,i: 45,924,174 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000250 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000256 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000357 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [85] 369m:12s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,278,878 msg/sec boost::lockfree::spsc_queue, 1,i: 68,104,180 msg/sec boost::lockfree::queue, 1,s: 6,866,548 msg/sec boost::lockfree::queue, 1,i: 6,959,344 msg/sec boost::lockfree::queue, 2,s: 7,662,477 msg/sec boost::lockfree::queue, 2,i: 7,423,679 msg/sec boost::lockfree::queue, 3,s: 7,372,266 msg/sec boost::lockfree::queue, 3,i: 7,505,332 msg/sec boost::lockfree::queue, 4,s: 6,425,480 msg/sec boost::lockfree::queue, 4,i: 6,906,538 msg/sec boost::lockfree::queue, 5,s: 6,415,622 msg/sec boost::lockfree::queue, 5,i: 6,467,504 msg/sec boost::lockfree::queue, 6,s: 5,967,443 msg/sec boost::lockfree::queue, 6,i: 6,098,180 msg/sec boost::lockfree::queue, 7,s: 5,812,810 msg/sec boost::lockfree::queue, 7,i: 5,976,041 msg/sec boost::lockfree::queue, 8,s: 5,420,981 msg/sec boost::lockfree::queue, 8,i: 5,603,056 msg/sec moodycamel::ReaderWriterQueue, 1,s: 401,060,886 msg/sec moodycamel::ReaderWriterQueue, 1,i: 370,775,201 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,490,191 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,476,767 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,643,049 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,418,439 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,196,337 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,001,204 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,416,520 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,214,268 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,079,239 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,665,814 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,500,689 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,359,198 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,099,350 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,931,015 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,449,941 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,392,314 msg/sec pthread_spinlock, 1,s: 28,837,410 msg/sec pthread_spinlock, 1,i: 25,397,740 msg/sec pthread_spinlock, 2,s: 16,051,702 msg/sec pthread_spinlock, 2,i: 17,008,588 msg/sec pthread_spinlock, 3,s: 8,320,452 msg/sec pthread_spinlock, 3,i: 12,068,151 msg/sec pthread_spinlock, 4,s: 6,469,230 msg/sec pthread_spinlock, 4,i: 9,011,814 msg/sec pthread_spinlock, 5,s: 8,556,148 msg/sec pthread_spinlock, 5,i: 9,126,012 msg/sec pthread_spinlock, 6,s: 8,372,083 msg/sec pthread_spinlock, 6,i: 8,867,603 msg/sec pthread_spinlock, 7,s: 7,543,158 msg/sec pthread_spinlock, 7,i: 7,683,281 msg/sec pthread_spinlock, 8,s: 6,919,670 msg/sec pthread_spinlock, 8,i: 7,289,177 msg/sec std::mutex, 1,s: 6,586,069 msg/sec std::mutex, 1,i: 7,283,720 msg/sec std::mutex, 2,s: 6,188,597 msg/sec std::mutex, 2,i: 6,114,454 msg/sec std::mutex, 3,s: 5,963,830 msg/sec std::mutex, 3,i: 5,917,483 msg/sec std::mutex, 4,s: 5,641,641 msg/sec std::mutex, 4,i: 5,678,939 msg/sec std::mutex, 5,s: 6,015,261 msg/sec std::mutex, 5,i: 5,982,223 msg/sec std::mutex, 6,s: 5,900,644 msg/sec std::mutex, 6,i: 5,833,726 msg/sec std::mutex, 7,s: 5,757,312 msg/sec std::mutex, 7,i: 5,774,243 msg/sec std::mutex, 8,s: 5,683,871 msg/sec std::mutex, 8,i: 5,667,358 msg/sec tbb::spin_mutex, 1,s: 38,164,898 msg/sec tbb::spin_mutex, 1,i: 32,963,587 msg/sec tbb::spin_mutex, 2,s: 21,242,375 msg/sec tbb::spin_mutex, 2,i: 18,448,221 msg/sec tbb::spin_mutex, 3,s: 7,771,896 msg/sec tbb::spin_mutex, 3,i: 11,463,012 msg/sec tbb::spin_mutex, 4,s: 3,084,739 msg/sec tbb::spin_mutex, 4,i: 6,255,346 msg/sec tbb::spin_mutex, 5,s: 5,313,617 msg/sec tbb::spin_mutex, 5,i: 5,632,141 msg/sec tbb::spin_mutex, 6,s: 5,236,591 msg/sec tbb::spin_mutex, 6,i: 4,374,554 msg/sec tbb::spin_mutex, 7,s: 4,811,617 msg/sec tbb::spin_mutex, 7,i: 4,356,798 msg/sec tbb::spin_mutex, 8,s: 3,804,933 msg/sec tbb::spin_mutex, 8,i: 4,085,655 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,075,874 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,122,917 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,771,499 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,984,733 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,259,818 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,285,994 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,192,290 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,202,933 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,550,272 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,353,840 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,603,492 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,686,638 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,607,737 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,098,514 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,742,780 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,877,028 msg/sec xenium::michael_scott_queue, 1,s: 9,448,676 msg/sec xenium::michael_scott_queue, 1,i: 9,477,066 msg/sec xenium::michael_scott_queue, 2,s: 8,544,283 msg/sec xenium::michael_scott_queue, 2,i: 8,441,498 msg/sec xenium::michael_scott_queue, 3,s: 7,300,334 msg/sec xenium::michael_scott_queue, 3,i: 7,519,216 msg/sec xenium::michael_scott_queue, 4,s: 6,225,973 msg/sec xenium::michael_scott_queue, 4,i: 6,316,157 msg/sec xenium::michael_scott_queue, 5,s: 6,295,049 msg/sec xenium::michael_scott_queue, 5,i: 6,821,133 msg/sec xenium::michael_scott_queue, 6,s: 6,529,738 msg/sec xenium::michael_scott_queue, 6,i: 7,072,662 msg/sec xenium::michael_scott_queue, 7,s: 6,255,636 msg/sec xenium::michael_scott_queue, 7,i: 6,552,797 msg/sec xenium::michael_scott_queue, 8,s: 6,017,851 msg/sec xenium::michael_scott_queue, 8,i: 6,125,992 msg/sec xenium::ramalhete_queue, 1,s: 32,200,183 msg/sec xenium::ramalhete_queue, 1,i: 32,222,185 msg/sec xenium::ramalhete_queue, 2,s: 23,521,022 msg/sec xenium::ramalhete_queue, 2,i: 23,329,565 msg/sec xenium::ramalhete_queue, 3,s: 29,156,830 msg/sec xenium::ramalhete_queue, 3,i: 28,430,718 msg/sec xenium::ramalhete_queue, 4,s: 33,945,361 msg/sec xenium::ramalhete_queue, 4,i: 33,521,885 msg/sec xenium::ramalhete_queue, 5,s: 32,171,290 msg/sec xenium::ramalhete_queue, 5,i: 38,645,361 msg/sec xenium::ramalhete_queue, 6,s: 34,092,347 msg/sec xenium::ramalhete_queue, 6,i: 39,183,612 msg/sec xenium::ramalhete_queue, 7,s: 35,090,960 msg/sec xenium::ramalhete_queue, 7,i: 42,054,353 msg/sec xenium::ramalhete_queue, 8,s: 35,551,717 msg/sec xenium::ramalhete_queue, 8,i: 44,268,902 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,983,890 msg/sec xenium::vyukov_bounded_queue, 1,i: 99,020,425 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,588,308 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,245,846 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,563,483 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,174,411 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,635,857 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,395,996 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,028,977 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,328,168 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,077,486 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,213,056 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,143,825 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,158,348 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,589 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,318,986 msg/sec AtomicQueue, 1,s: 56,968,309 msg/sec AtomicQueue, 1,i: 56,249,200 msg/sec AtomicQueue, 2,s: 12,317,211 msg/sec AtomicQueue, 2,i: 11,710,484 msg/sec AtomicQueue, 3,s: 10,683,747 msg/sec AtomicQueue, 3,i: 9,821,725 msg/sec AtomicQueue, 4,s: 8,212,640 msg/sec AtomicQueue, 4,i: 8,180,591 msg/sec AtomicQueue, 5,s: 7,898,312 msg/sec AtomicQueue, 5,i: 8,102,147 msg/sec AtomicQueue, 6,s: 7,749,487 msg/sec AtomicQueue, 6,i: 7,611,463 msg/sec AtomicQueue, 7,s: 7,127,732 msg/sec AtomicQueue, 7,i: 7,987,090 msg/sec AtomicQueue, 8,s: 6,360,132 msg/sec AtomicQueue, 8,i: 7,454,682 msg/sec AtomicQueueB, 1,s: 44,170,782 msg/sec AtomicQueueB, 1,i: 43,007,430 msg/sec AtomicQueueB, 2,s: 11,885,462 msg/sec AtomicQueueB, 2,i: 11,496,926 msg/sec AtomicQueueB, 3,s: 10,919,471 msg/sec AtomicQueueB, 3,i: 10,163,622 msg/sec AtomicQueueB, 4,s: 8,030,061 msg/sec AtomicQueueB, 4,i: 8,033,271 msg/sec AtomicQueueB, 5,s: 7,728,332 msg/sec AtomicQueueB, 5,i: 7,761,278 msg/sec AtomicQueueB, 6,s: 7,318,362 msg/sec AtomicQueueB, 6,i: 7,541,574 msg/sec AtomicQueueB, 7,s: 6,863,568 msg/sec AtomicQueueB, 7,i: 7,751,449 msg/sec AtomicQueueB, 8,s: 6,232,347 msg/sec AtomicQueueB, 8,i: 7,149,571 msg/sec OptimistAtomicQueue, 1,s: 731,256,479 msg/sec OptimistAtomicQueue, 1,i: 610,680,683 msg/sec OptimistAtomicQueue, 2,s: 32,646,868 msg/sec OptimistAtomicQueue, 2,i: 32,710,513 msg/sec OptimistAtomicQueue, 3,s: 36,661,736 msg/sec OptimistAtomicQueue, 3,i: 37,386,575 msg/sec OptimistAtomicQueue, 4,s: 39,314,054 msg/sec OptimistAtomicQueue, 4,i: 39,410,939 msg/sec OptimistAtomicQueue, 5,s: 42,447,118 msg/sec OptimistAtomicQueue, 5,i: 46,385,357 msg/sec OptimistAtomicQueue, 6,s: 42,372,161 msg/sec OptimistAtomicQueue, 6,i: 49,833,261 msg/sec OptimistAtomicQueue, 7,s: 44,116,242 msg/sec OptimistAtomicQueue, 7,i: 53,156,863 msg/sec OptimistAtomicQueue, 8,s: 46,401,705 msg/sec OptimistAtomicQueue, 8,i: 49,420,902 msg/sec OptimistAtomicQueueB, 1,s: 77,777,001 msg/sec OptimistAtomicQueueB, 1,i: 76,586,966 msg/sec OptimistAtomicQueueB, 2,s: 32,324,852 msg/sec OptimistAtomicQueueB, 2,i: 32,162,584 msg/sec OptimistAtomicQueueB, 3,s: 36,263,529 msg/sec OptimistAtomicQueueB, 3,i: 37,006,889 msg/sec OptimistAtomicQueueB, 4,s: 38,627,154 msg/sec OptimistAtomicQueueB, 4,i: 38,519,519 msg/sec OptimistAtomicQueueB, 5,s: 40,972,926 msg/sec OptimistAtomicQueueB, 5,i: 45,475,185 msg/sec OptimistAtomicQueueB, 6,s: 41,444,785 msg/sec OptimistAtomicQueueB, 6,i: 49,022,165 msg/sec OptimistAtomicQueueB, 7,s: 41,827,873 msg/sec OptimistAtomicQueueB, 7,i: 51,559,628 msg/sec OptimistAtomicQueueB, 8,s: 44,619,637 msg/sec OptimistAtomicQueueB, 8,i: 47,991,949 msg/sec AtomicQueue2, 1,s: 22,864,241 msg/sec AtomicQueue2, 1,i: 22,808,122 msg/sec AtomicQueue2, 2,s: 11,821,079 msg/sec AtomicQueue2, 2,i: 11,403,055 msg/sec AtomicQueue2, 3,s: 9,386,715 msg/sec AtomicQueue2, 3,i: 9,405,712 msg/sec AtomicQueue2, 4,s: 8,085,865 msg/sec AtomicQueue2, 4,i: 8,021,106 msg/sec AtomicQueue2, 5,s: 7,927,974 msg/sec AtomicQueue2, 5,i: 8,078,103 msg/sec AtomicQueue2, 6,s: 7,855,282 msg/sec AtomicQueue2, 6,i: 7,525,435 msg/sec AtomicQueue2, 7,s: 7,097,209 msg/sec AtomicQueue2, 7,i: 7,893,456 msg/sec AtomicQueue2, 8,s: 6,376,549 msg/sec AtomicQueue2, 8,i: 7,192,542 msg/sec AtomicQueueB2, 1,s: 32,666,490 msg/sec AtomicQueueB2, 1,i: 32,599,265 msg/sec AtomicQueueB2, 2,s: 11,453,584 msg/sec AtomicQueueB2, 2,i: 11,107,238 msg/sec AtomicQueueB2, 3,s: 9,739,126 msg/sec AtomicQueueB2, 3,i: 9,512,850 msg/sec AtomicQueueB2, 4,s: 7,938,982 msg/sec AtomicQueueB2, 4,i: 7,877,996 msg/sec AtomicQueueB2, 5,s: 7,580,592 msg/sec AtomicQueueB2, 5,i: 7,735,154 msg/sec AtomicQueueB2, 6,s: 7,341,931 msg/sec AtomicQueueB2, 6,i: 7,388,418 msg/sec AtomicQueueB2, 7,s: 6,907,497 msg/sec AtomicQueueB2, 7,i: 7,699,095 msg/sec AtomicQueueB2, 8,s: 6,321,936 msg/sec AtomicQueueB2, 8,i: 7,093,980 msg/sec OptimistAtomicQueue2, 1,s: 32,085,540 msg/sec OptimistAtomicQueue2, 1,i: 30,908,348 msg/sec OptimistAtomicQueue2, 2,s: 28,072,481 msg/sec OptimistAtomicQueue2, 2,i: 23,196,842 msg/sec OptimistAtomicQueue2, 3,s: 32,951,457 msg/sec OptimistAtomicQueue2, 3,i: 30,062,585 msg/sec OptimistAtomicQueue2, 4,s: 33,258,229 msg/sec OptimistAtomicQueue2, 4,i: 33,158,176 msg/sec OptimistAtomicQueue2, 5,s: 37,178,876 msg/sec OptimistAtomicQueue2, 5,i: 43,119,248 msg/sec OptimistAtomicQueue2, 6,s: 40,094,061 msg/sec OptimistAtomicQueue2, 6,i: 49,289,993 msg/sec OptimistAtomicQueue2, 7,s: 43,276,794 msg/sec OptimistAtomicQueue2, 7,i: 48,194,562 msg/sec OptimistAtomicQueue2, 8,s: 43,904,266 msg/sec OptimistAtomicQueue2, 8,i: 48,373,898 msg/sec OptimistAtomicQueueB2, 1,s: 76,475,771 msg/sec OptimistAtomicQueueB2, 1,i: 65,090,829 msg/sec OptimistAtomicQueueB2, 2,s: 28,765,449 msg/sec OptimistAtomicQueueB2, 2,i: 25,994,308 msg/sec OptimistAtomicQueueB2, 3,s: 29,692,560 msg/sec OptimistAtomicQueueB2, 3,i: 29,473,437 msg/sec OptimistAtomicQueueB2, 4,s: 33,335,903 msg/sec OptimistAtomicQueueB2, 4,i: 33,034,972 msg/sec OptimistAtomicQueueB2, 5,s: 34,437,214 msg/sec OptimistAtomicQueueB2, 5,i: 39,373,707 msg/sec OptimistAtomicQueueB2, 6,s: 37,325,528 msg/sec OptimistAtomicQueueB2, 6,i: 42,269,940 msg/sec OptimistAtomicQueueB2, 7,s: 40,365,497 msg/sec OptimistAtomicQueueB2, 7,i: 43,093,088 msg/sec OptimistAtomicQueueB2, 8,s: 42,003,410 msg/sec OptimistAtomicQueueB2, 8,i: 45,748,757 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000146 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000520 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000260 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000167 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [86] 367m:52s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,529,368 msg/sec boost::lockfree::spsc_queue, 1,i: 66,279,484 msg/sec boost::lockfree::queue, 1,s: 6,940,843 msg/sec boost::lockfree::queue, 1,i: 6,973,349 msg/sec boost::lockfree::queue, 2,s: 7,666,985 msg/sec boost::lockfree::queue, 2,i: 7,405,069 msg/sec boost::lockfree::queue, 3,s: 7,393,921 msg/sec boost::lockfree::queue, 3,i: 7,541,065 msg/sec boost::lockfree::queue, 4,s: 6,423,182 msg/sec boost::lockfree::queue, 4,i: 6,768,930 msg/sec boost::lockfree::queue, 5,s: 6,417,075 msg/sec boost::lockfree::queue, 5,i: 6,463,502 msg/sec boost::lockfree::queue, 6,s: 6,019,538 msg/sec boost::lockfree::queue, 6,i: 6,129,872 msg/sec boost::lockfree::queue, 7,s: 5,940,173 msg/sec boost::lockfree::queue, 7,i: 6,034,295 msg/sec boost::lockfree::queue, 8,s: 5,411,103 msg/sec boost::lockfree::queue, 8,i: 5,605,527 msg/sec moodycamel::ReaderWriterQueue, 1,s: 483,319,729 msg/sec moodycamel::ReaderWriterQueue, 1,i: 83,534,637 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,638,425 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,515,788 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,524,094 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,528,029 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,832,134 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,583,017 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,053,640 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,286,927 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,333,344 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,277,030 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,162,426 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,652,683 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,855,935 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,298,863 msg/sec moodycamel::ConcurrentQueue, 8,s: 30,666,393 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,629,149 msg/sec pthread_spinlock, 1,s: 28,813,708 msg/sec pthread_spinlock, 1,i: 25,283,021 msg/sec pthread_spinlock, 2,s: 15,244,487 msg/sec pthread_spinlock, 2,i: 16,815,884 msg/sec pthread_spinlock, 3,s: 8,291,731 msg/sec pthread_spinlock, 3,i: 11,963,675 msg/sec pthread_spinlock, 4,s: 6,543,007 msg/sec pthread_spinlock, 4,i: 8,912,659 msg/sec pthread_spinlock, 5,s: 8,758,663 msg/sec pthread_spinlock, 5,i: 9,018,256 msg/sec pthread_spinlock, 6,s: 8,485,632 msg/sec pthread_spinlock, 6,i: 8,466,981 msg/sec pthread_spinlock, 7,s: 8,020,302 msg/sec pthread_spinlock, 7,i: 7,902,111 msg/sec pthread_spinlock, 8,s: 6,651,644 msg/sec pthread_spinlock, 8,i: 6,972,069 msg/sec std::mutex, 1,s: 6,707,027 msg/sec std::mutex, 1,i: 6,853,241 msg/sec std::mutex, 2,s: 5,494,327 msg/sec std::mutex, 2,i: 5,862,701 msg/sec std::mutex, 3,s: 5,530,352 msg/sec std::mutex, 3,i: 5,784,694 msg/sec std::mutex, 4,s: 5,260,075 msg/sec std::mutex, 4,i: 5,811,778 msg/sec std::mutex, 5,s: 5,750,466 msg/sec std::mutex, 5,i: 6,193,073 msg/sec std::mutex, 6,s: 6,094,095 msg/sec std::mutex, 6,i: 6,154,438 msg/sec std::mutex, 7,s: 5,966,831 msg/sec std::mutex, 7,i: 5,949,959 msg/sec std::mutex, 8,s: 5,741,131 msg/sec std::mutex, 8,i: 5,768,348 msg/sec tbb::spin_mutex, 1,s: 37,885,172 msg/sec tbb::spin_mutex, 1,i: 33,037,934 msg/sec tbb::spin_mutex, 2,s: 21,215,529 msg/sec tbb::spin_mutex, 2,i: 18,389,972 msg/sec tbb::spin_mutex, 3,s: 8,086,388 msg/sec tbb::spin_mutex, 3,i: 10,251,268 msg/sec tbb::spin_mutex, 4,s: 3,188,942 msg/sec tbb::spin_mutex, 4,i: 6,361,106 msg/sec tbb::spin_mutex, 5,s: 5,282,607 msg/sec tbb::spin_mutex, 5,i: 5,704,416 msg/sec tbb::spin_mutex, 6,s: 5,351,402 msg/sec tbb::spin_mutex, 6,i: 4,385,110 msg/sec tbb::spin_mutex, 7,s: 4,867,994 msg/sec tbb::spin_mutex, 7,i: 4,320,376 msg/sec tbb::spin_mutex, 8,s: 4,244,959 msg/sec tbb::spin_mutex, 8,i: 4,133,931 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,443,733 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,157,502 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,298,833 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,501,487 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,383,451 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,605,988 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,569,410 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,601,228 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,814,611 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,662,284 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,974,252 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,666,270 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,883,049 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,798,405 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,798,027 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,474,267 msg/sec xenium::michael_scott_queue, 1,s: 10,129,740 msg/sec xenium::michael_scott_queue, 1,i: 9,947,011 msg/sec xenium::michael_scott_queue, 2,s: 8,479,190 msg/sec xenium::michael_scott_queue, 2,i: 8,517,067 msg/sec xenium::michael_scott_queue, 3,s: 7,126,871 msg/sec xenium::michael_scott_queue, 3,i: 7,534,245 msg/sec xenium::michael_scott_queue, 4,s: 6,311,944 msg/sec xenium::michael_scott_queue, 4,i: 6,325,516 msg/sec xenium::michael_scott_queue, 5,s: 6,322,293 msg/sec xenium::michael_scott_queue, 5,i: 6,785,838 msg/sec xenium::michael_scott_queue, 6,s: 6,513,957 msg/sec xenium::michael_scott_queue, 6,i: 6,991,836 msg/sec xenium::michael_scott_queue, 7,s: 6,323,975 msg/sec xenium::michael_scott_queue, 7,i: 6,546,651 msg/sec xenium::michael_scott_queue, 8,s: 5,978,831 msg/sec xenium::michael_scott_queue, 8,i: 6,076,880 msg/sec xenium::ramalhete_queue, 1,s: 31,490,780 msg/sec xenium::ramalhete_queue, 1,i: 31,503,606 msg/sec xenium::ramalhete_queue, 2,s: 23,630,940 msg/sec xenium::ramalhete_queue, 2,i: 23,334,806 msg/sec xenium::ramalhete_queue, 3,s: 29,142,805 msg/sec xenium::ramalhete_queue, 3,i: 28,416,825 msg/sec xenium::ramalhete_queue, 4,s: 33,765,125 msg/sec xenium::ramalhete_queue, 4,i: 33,540,875 msg/sec xenium::ramalhete_queue, 5,s: 32,047,982 msg/sec xenium::ramalhete_queue, 5,i: 36,104,351 msg/sec xenium::ramalhete_queue, 6,s: 33,865,024 msg/sec xenium::ramalhete_queue, 6,i: 38,731,195 msg/sec xenium::ramalhete_queue, 7,s: 35,253,623 msg/sec xenium::ramalhete_queue, 7,i: 40,923,866 msg/sec xenium::ramalhete_queue, 8,s: 35,481,637 msg/sec xenium::ramalhete_queue, 8,i: 43,842,978 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,620,027 msg/sec xenium::vyukov_bounded_queue, 1,i: 105,524,987 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,808,678 msg/sec xenium::vyukov_bounded_queue, 2,i: 27,235,564 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,643,523 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,799,142 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,660,874 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,190,911 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,433,018 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,368,689 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,055,805 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,500,941 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,194,793 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,142,213 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,411,225 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,226,859 msg/sec AtomicQueue, 1,s: 239,726,060 msg/sec AtomicQueue, 1,i: 128,296,749 msg/sec AtomicQueue, 2,s: 12,263,374 msg/sec AtomicQueue, 2,i: 11,749,074 msg/sec AtomicQueue, 3,s: 10,800,287 msg/sec AtomicQueue, 3,i: 9,979,276 msg/sec AtomicQueue, 4,s: 8,153,972 msg/sec AtomicQueue, 4,i: 8,201,710 msg/sec AtomicQueue, 5,s: 8,032,708 msg/sec AtomicQueue, 5,i: 8,101,202 msg/sec AtomicQueue, 6,s: 7,854,434 msg/sec AtomicQueue, 6,i: 7,594,129 msg/sec AtomicQueue, 7,s: 7,114,403 msg/sec AtomicQueue, 7,i: 7,986,707 msg/sec AtomicQueue, 8,s: 6,355,370 msg/sec AtomicQueue, 8,i: 7,435,850 msg/sec AtomicQueueB, 1,s: 43,135,018 msg/sec AtomicQueueB, 1,i: 43,469,756 msg/sec AtomicQueueB, 2,s: 11,817,327 msg/sec AtomicQueueB, 2,i: 11,479,922 msg/sec AtomicQueueB, 3,s: 11,093,209 msg/sec AtomicQueueB, 3,i: 10,038,563 msg/sec AtomicQueueB, 4,s: 8,058,254 msg/sec AtomicQueueB, 4,i: 8,039,139 msg/sec AtomicQueueB, 5,s: 7,544,001 msg/sec AtomicQueueB, 5,i: 7,811,832 msg/sec AtomicQueueB, 6,s: 7,357,544 msg/sec AtomicQueueB, 6,i: 7,578,561 msg/sec AtomicQueueB, 7,s: 6,824,795 msg/sec AtomicQueueB, 7,i: 7,763,800 msg/sec AtomicQueueB, 8,s: 6,192,410 msg/sec AtomicQueueB, 8,i: 7,142,195 msg/sec OptimistAtomicQueue, 1,s: 787,440,481 msg/sec OptimistAtomicQueue, 1,i: 601,578,391 msg/sec OptimistAtomicQueue, 2,s: 32,653,424 msg/sec OptimistAtomicQueue, 2,i: 32,698,269 msg/sec OptimistAtomicQueue, 3,s: 36,671,604 msg/sec OptimistAtomicQueue, 3,i: 37,402,111 msg/sec OptimistAtomicQueue, 4,s: 39,290,183 msg/sec OptimistAtomicQueue, 4,i: 39,408,526 msg/sec OptimistAtomicQueue, 5,s: 42,602,337 msg/sec OptimistAtomicQueue, 5,i: 46,276,970 msg/sec OptimistAtomicQueue, 6,s: 41,993,516 msg/sec OptimistAtomicQueue, 6,i: 50,402,001 msg/sec OptimistAtomicQueue, 7,s: 44,379,475 msg/sec OptimistAtomicQueue, 7,i: 53,045,780 msg/sec OptimistAtomicQueue, 8,s: 46,527,560 msg/sec OptimistAtomicQueue, 8,i: 49,324,041 msg/sec OptimistAtomicQueueB, 1,s: 169,597,257 msg/sec OptimistAtomicQueueB, 1,i: 76,495,010 msg/sec OptimistAtomicQueueB, 2,s: 32,151,248 msg/sec OptimistAtomicQueueB, 2,i: 32,175,167 msg/sec OptimistAtomicQueueB, 3,s: 36,324,743 msg/sec OptimistAtomicQueueB, 3,i: 36,949,112 msg/sec OptimistAtomicQueueB, 4,s: 38,657,095 msg/sec OptimistAtomicQueueB, 4,i: 38,611,904 msg/sec OptimistAtomicQueueB, 5,s: 41,132,150 msg/sec OptimistAtomicQueueB, 5,i: 45,442,803 msg/sec OptimistAtomicQueueB, 6,s: 41,130,399 msg/sec OptimistAtomicQueueB, 6,i: 49,160,724 msg/sec OptimistAtomicQueueB, 7,s: 41,896,302 msg/sec OptimistAtomicQueueB, 7,i: 47,272,655 msg/sec OptimistAtomicQueueB, 8,s: 44,163,158 msg/sec OptimistAtomicQueueB, 8,i: 47,611,846 msg/sec AtomicQueue2, 1,s: 22,915,137 msg/sec AtomicQueue2, 1,i: 22,820,243 msg/sec AtomicQueue2, 2,s: 11,866,391 msg/sec AtomicQueue2, 2,i: 11,423,998 msg/sec AtomicQueue2, 3,s: 9,501,753 msg/sec AtomicQueue2, 3,i: 9,361,539 msg/sec AtomicQueue2, 4,s: 8,096,365 msg/sec AtomicQueue2, 4,i: 8,096,606 msg/sec AtomicQueue2, 5,s: 7,903,151 msg/sec AtomicQueue2, 5,i: 8,042,557 msg/sec AtomicQueue2, 6,s: 7,897,159 msg/sec AtomicQueue2, 6,i: 7,545,873 msg/sec AtomicQueue2, 7,s: 7,148,252 msg/sec AtomicQueue2, 7,i: 7,908,770 msg/sec AtomicQueue2, 8,s: 6,421,097 msg/sec AtomicQueue2, 8,i: 7,170,430 msg/sec AtomicQueueB2, 1,s: 36,243,582 msg/sec AtomicQueueB2, 1,i: 32,631,305 msg/sec AtomicQueueB2, 2,s: 11,348,137 msg/sec AtomicQueueB2, 2,i: 11,089,139 msg/sec AtomicQueueB2, 3,s: 9,604,910 msg/sec AtomicQueueB2, 3,i: 9,582,911 msg/sec AtomicQueueB2, 4,s: 7,855,735 msg/sec AtomicQueueB2, 4,i: 7,831,158 msg/sec AtomicQueueB2, 5,s: 7,522,864 msg/sec AtomicQueueB2, 5,i: 7,665,508 msg/sec AtomicQueueB2, 6,s: 7,244,457 msg/sec AtomicQueueB2, 6,i: 7,431,350 msg/sec AtomicQueueB2, 7,s: 6,885,094 msg/sec AtomicQueueB2, 7,i: 7,713,021 msg/sec AtomicQueueB2, 8,s: 6,251,566 msg/sec AtomicQueueB2, 8,i: 7,124,292 msg/sec OptimistAtomicQueue2, 1,s: 378,628,180 msg/sec OptimistAtomicQueue2, 1,i: 592,878,403 msg/sec OptimistAtomicQueue2, 2,s: 22,654,975 msg/sec OptimistAtomicQueue2, 2,i: 24,038,822 msg/sec OptimistAtomicQueue2, 3,s: 30,311,574 msg/sec OptimistAtomicQueue2, 3,i: 30,010,154 msg/sec OptimistAtomicQueue2, 4,s: 33,331,935 msg/sec OptimistAtomicQueue2, 4,i: 33,160,542 msg/sec OptimistAtomicQueue2, 5,s: 37,165,648 msg/sec OptimistAtomicQueue2, 5,i: 41,309,893 msg/sec OptimistAtomicQueue2, 6,s: 40,157,152 msg/sec OptimistAtomicQueue2, 6,i: 49,175,947 msg/sec OptimistAtomicQueue2, 7,s: 43,261,544 msg/sec OptimistAtomicQueue2, 7,i: 47,954,648 msg/sec OptimistAtomicQueue2, 8,s: 44,103,586 msg/sec OptimistAtomicQueue2, 8,i: 48,431,523 msg/sec OptimistAtomicQueueB2, 1,s: 79,049,638 msg/sec OptimistAtomicQueueB2, 1,i: 33,890,368 msg/sec OptimistAtomicQueueB2, 2,s: 26,030,292 msg/sec OptimistAtomicQueueB2, 2,i: 23,955,253 msg/sec OptimistAtomicQueueB2, 3,s: 29,963,976 msg/sec OptimistAtomicQueueB2, 3,i: 29,133,160 msg/sec OptimistAtomicQueueB2, 4,s: 33,413,412 msg/sec OptimistAtomicQueueB2, 4,i: 32,547,174 msg/sec OptimistAtomicQueueB2, 5,s: 34,350,395 msg/sec OptimistAtomicQueueB2, 5,i: 39,450,987 msg/sec OptimistAtomicQueueB2, 6,s: 37,198,458 msg/sec OptimistAtomicQueueB2, 6,i: 42,385,055 msg/sec OptimistAtomicQueueB2, 7,s: 40,119,259 msg/sec OptimistAtomicQueueB2, 7,i: 45,411,778 msg/sec OptimistAtomicQueueB2, 8,s: 42,456,524 msg/sec OptimistAtomicQueueB2, 8,i: 45,251,737 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000261 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [87] 366m:33s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,136,188 msg/sec boost::lockfree::spsc_queue, 1,i: 68,127,035 msg/sec boost::lockfree::queue, 1,s: 7,481,540 msg/sec boost::lockfree::queue, 1,i: 6,923,904 msg/sec boost::lockfree::queue, 2,s: 7,526,799 msg/sec boost::lockfree::queue, 2,i: 7,548,795 msg/sec boost::lockfree::queue, 3,s: 7,281,772 msg/sec boost::lockfree::queue, 3,i: 7,573,941 msg/sec boost::lockfree::queue, 4,s: 6,415,038 msg/sec boost::lockfree::queue, 4,i: 6,827,318 msg/sec boost::lockfree::queue, 5,s: 6,484,002 msg/sec boost::lockfree::queue, 5,i: 6,512,890 msg/sec boost::lockfree::queue, 6,s: 5,951,408 msg/sec boost::lockfree::queue, 6,i: 6,116,736 msg/sec boost::lockfree::queue, 7,s: 5,946,019 msg/sec boost::lockfree::queue, 7,i: 6,084,014 msg/sec boost::lockfree::queue, 8,s: 5,466,878 msg/sec boost::lockfree::queue, 8,i: 5,685,926 msg/sec moodycamel::ReaderWriterQueue, 1,s: 504,491,487 msg/sec moodycamel::ReaderWriterQueue, 1,i: 491,349,304 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,755,044 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,396,846 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,885,915 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,482,346 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,667,941 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,848,708 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,774,513 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,850,005 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,226,599 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,100,100 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,381,779 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,454,348 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,929,541 msg/sec moodycamel::ConcurrentQueue, 7,i: 31,625,993 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,249,914 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,640,438 msg/sec pthread_spinlock, 1,s: 29,247,429 msg/sec pthread_spinlock, 1,i: 25,475,551 msg/sec pthread_spinlock, 2,s: 15,351,893 msg/sec pthread_spinlock, 2,i: 16,066,979 msg/sec pthread_spinlock, 3,s: 8,303,036 msg/sec pthread_spinlock, 3,i: 11,985,196 msg/sec pthread_spinlock, 4,s: 6,492,418 msg/sec pthread_spinlock, 4,i: 8,855,933 msg/sec pthread_spinlock, 5,s: 8,614,704 msg/sec pthread_spinlock, 5,i: 9,540,276 msg/sec pthread_spinlock, 6,s: 8,240,849 msg/sec pthread_spinlock, 6,i: 8,491,309 msg/sec pthread_spinlock, 7,s: 7,584,265 msg/sec pthread_spinlock, 7,i: 7,743,146 msg/sec pthread_spinlock, 8,s: 6,734,494 msg/sec pthread_spinlock, 8,i: 6,813,985 msg/sec std::mutex, 1,s: 7,216,157 msg/sec std::mutex, 1,i: 7,375,705 msg/sec std::mutex, 2,s: 5,491,198 msg/sec std::mutex, 2,i: 6,153,288 msg/sec std::mutex, 3,s: 6,146,131 msg/sec std::mutex, 3,i: 6,046,798 msg/sec std::mutex, 4,s: 6,242,298 msg/sec std::mutex, 4,i: 6,198,044 msg/sec std::mutex, 5,s: 6,003,030 msg/sec std::mutex, 5,i: 6,103,537 msg/sec std::mutex, 6,s: 5,871,290 msg/sec std::mutex, 6,i: 5,909,222 msg/sec std::mutex, 7,s: 5,743,687 msg/sec std::mutex, 7,i: 5,726,919 msg/sec std::mutex, 8,s: 5,612,833 msg/sec std::mutex, 8,i: 5,693,959 msg/sec tbb::spin_mutex, 1,s: 37,796,332 msg/sec tbb::spin_mutex, 1,i: 33,008,392 msg/sec tbb::spin_mutex, 2,s: 21,267,800 msg/sec tbb::spin_mutex, 2,i: 18,410,964 msg/sec tbb::spin_mutex, 3,s: 7,821,236 msg/sec tbb::spin_mutex, 3,i: 10,160,287 msg/sec tbb::spin_mutex, 4,s: 3,184,816 msg/sec tbb::spin_mutex, 4,i: 6,331,675 msg/sec tbb::spin_mutex, 5,s: 5,583,179 msg/sec tbb::spin_mutex, 5,i: 5,903,651 msg/sec tbb::spin_mutex, 6,s: 5,399,776 msg/sec tbb::spin_mutex, 6,i: 4,325,469 msg/sec tbb::spin_mutex, 7,s: 4,878,409 msg/sec tbb::spin_mutex, 7,i: 4,301,417 msg/sec tbb::spin_mutex, 8,s: 3,825,210 msg/sec tbb::spin_mutex, 8,i: 4,063,872 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,450,531 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,522,818 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,970,238 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,793,675 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,513,085 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,630,350 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,100,161 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,359,811 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,754,463 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,772,486 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,885,960 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,975,105 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,747,038 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,151,678 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,649,182 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,298,652 msg/sec xenium::michael_scott_queue, 1,s: 9,246,518 msg/sec xenium::michael_scott_queue, 1,i: 9,165,691 msg/sec xenium::michael_scott_queue, 2,s: 8,355,594 msg/sec xenium::michael_scott_queue, 2,i: 8,269,282 msg/sec xenium::michael_scott_queue, 3,s: 7,214,625 msg/sec xenium::michael_scott_queue, 3,i: 7,538,882 msg/sec xenium::michael_scott_queue, 4,s: 6,337,866 msg/sec xenium::michael_scott_queue, 4,i: 6,320,634 msg/sec xenium::michael_scott_queue, 5,s: 6,290,992 msg/sec xenium::michael_scott_queue, 5,i: 6,673,041 msg/sec xenium::michael_scott_queue, 6,s: 6,487,957 msg/sec xenium::michael_scott_queue, 6,i: 6,717,679 msg/sec xenium::michael_scott_queue, 7,s: 6,289,836 msg/sec xenium::michael_scott_queue, 7,i: 6,503,064 msg/sec xenium::michael_scott_queue, 8,s: 5,959,777 msg/sec xenium::michael_scott_queue, 8,i: 6,062,848 msg/sec xenium::ramalhete_queue, 1,s: 31,761,416 msg/sec xenium::ramalhete_queue, 1,i: 32,529,951 msg/sec xenium::ramalhete_queue, 2,s: 24,048,589 msg/sec xenium::ramalhete_queue, 2,i: 23,919,455 msg/sec xenium::ramalhete_queue, 3,s: 29,257,903 msg/sec xenium::ramalhete_queue, 3,i: 28,554,173 msg/sec xenium::ramalhete_queue, 4,s: 33,900,787 msg/sec xenium::ramalhete_queue, 4,i: 33,497,772 msg/sec xenium::ramalhete_queue, 5,s: 32,144,551 msg/sec xenium::ramalhete_queue, 5,i: 35,969,797 msg/sec xenium::ramalhete_queue, 6,s: 34,280,972 msg/sec xenium::ramalhete_queue, 6,i: 39,701,906 msg/sec xenium::ramalhete_queue, 7,s: 35,066,078 msg/sec xenium::ramalhete_queue, 7,i: 41,511,003 msg/sec xenium::ramalhete_queue, 8,s: 35,565,320 msg/sec xenium::ramalhete_queue, 8,i: 44,203,676 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,528,120 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,677,411 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,556,697 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,951,867 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,633,279 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,726,800 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,644,194 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,310,478 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,396,881 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,244,441 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,834,422 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,635,653 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,208,610 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,151,620 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,395,400 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,526,715 msg/sec AtomicQueue, 1,s: 61,083,717 msg/sec AtomicQueue, 1,i: 56,619,446 msg/sec AtomicQueue, 2,s: 12,304,212 msg/sec AtomicQueue, 2,i: 11,754,092 msg/sec AtomicQueue, 3,s: 10,818,782 msg/sec AtomicQueue, 3,i: 9,910,841 msg/sec AtomicQueue, 4,s: 8,208,014 msg/sec AtomicQueue, 4,i: 8,173,300 msg/sec AtomicQueue, 5,s: 8,047,639 msg/sec AtomicQueue, 5,i: 8,138,463 msg/sec AtomicQueue, 6,s: 7,823,537 msg/sec AtomicQueue, 6,i: 7,636,477 msg/sec AtomicQueue, 7,s: 7,079,602 msg/sec AtomicQueue, 7,i: 7,963,303 msg/sec AtomicQueue, 8,s: 6,335,462 msg/sec AtomicQueue, 8,i: 7,477,946 msg/sec AtomicQueueB, 1,s: 44,447,259 msg/sec AtomicQueueB, 1,i: 43,031,518 msg/sec AtomicQueueB, 2,s: 11,722,525 msg/sec AtomicQueueB, 2,i: 11,488,169 msg/sec AtomicQueueB, 3,s: 10,923,335 msg/sec AtomicQueueB, 3,i: 10,104,758 msg/sec AtomicQueueB, 4,s: 8,063,020 msg/sec AtomicQueueB, 4,i: 8,083,720 msg/sec AtomicQueueB, 5,s: 7,644,763 msg/sec AtomicQueueB, 5,i: 7,765,437 msg/sec AtomicQueueB, 6,s: 7,286,243 msg/sec AtomicQueueB, 6,i: 7,505,615 msg/sec AtomicQueueB, 7,s: 6,816,386 msg/sec AtomicQueueB, 7,i: 7,667,789 msg/sec AtomicQueueB, 8,s: 6,250,832 msg/sec AtomicQueueB, 8,i: 7,156,940 msg/sec OptimistAtomicQueue, 1,s: 789,809,873 msg/sec OptimistAtomicQueue, 1,i: 624,425,431 msg/sec OptimistAtomicQueue, 2,s: 32,640,252 msg/sec OptimistAtomicQueue, 2,i: 32,701,306 msg/sec OptimistAtomicQueue, 3,s: 36,677,814 msg/sec OptimistAtomicQueue, 3,i: 37,225,248 msg/sec OptimistAtomicQueue, 4,s: 39,305,088 msg/sec OptimistAtomicQueue, 4,i: 39,400,734 msg/sec OptimistAtomicQueue, 5,s: 42,369,970 msg/sec OptimistAtomicQueue, 5,i: 46,377,605 msg/sec OptimistAtomicQueue, 6,s: 42,568,627 msg/sec OptimistAtomicQueue, 6,i: 50,472,816 msg/sec OptimistAtomicQueue, 7,s: 44,351,631 msg/sec OptimistAtomicQueue, 7,i: 49,428,755 msg/sec OptimistAtomicQueue, 8,s: 46,375,413 msg/sec OptimistAtomicQueue, 8,i: 49,303,417 msg/sec OptimistAtomicQueueB, 1,s: 102,299,974 msg/sec OptimistAtomicQueueB, 1,i: 76,546,560 msg/sec OptimistAtomicQueueB, 2,s: 32,245,810 msg/sec OptimistAtomicQueueB, 2,i: 32,275,028 msg/sec OptimistAtomicQueueB, 3,s: 36,261,243 msg/sec OptimistAtomicQueueB, 3,i: 36,853,393 msg/sec OptimistAtomicQueueB, 4,s: 38,720,646 msg/sec OptimistAtomicQueueB, 4,i: 38,710,023 msg/sec OptimistAtomicQueueB, 5,s: 40,538,125 msg/sec OptimistAtomicQueueB, 5,i: 45,230,349 msg/sec OptimistAtomicQueueB, 6,s: 40,725,161 msg/sec OptimistAtomicQueueB, 6,i: 49,156,847 msg/sec OptimistAtomicQueueB, 7,s: 42,116,092 msg/sec OptimistAtomicQueueB, 7,i: 48,021,794 msg/sec OptimistAtomicQueueB, 8,s: 44,186,368 msg/sec OptimistAtomicQueueB, 8,i: 47,663,696 msg/sec AtomicQueue2, 1,s: 23,393,330 msg/sec AtomicQueue2, 1,i: 23,389,688 msg/sec AtomicQueue2, 2,s: 11,768,440 msg/sec AtomicQueue2, 2,i: 11,416,817 msg/sec AtomicQueue2, 3,s: 9,460,313 msg/sec AtomicQueue2, 3,i: 9,385,453 msg/sec AtomicQueue2, 4,s: 8,096,388 msg/sec AtomicQueue2, 4,i: 8,043,031 msg/sec AtomicQueue2, 5,s: 7,930,374 msg/sec AtomicQueue2, 5,i: 8,041,465 msg/sec AtomicQueue2, 6,s: 7,728,981 msg/sec AtomicQueue2, 6,i: 7,529,558 msg/sec AtomicQueue2, 7,s: 7,164,162 msg/sec AtomicQueue2, 7,i: 7,918,054 msg/sec AtomicQueue2, 8,s: 6,402,990 msg/sec AtomicQueue2, 8,i: 7,320,916 msg/sec AtomicQueueB2, 1,s: 32,683,197 msg/sec AtomicQueueB2, 1,i: 32,618,117 msg/sec AtomicQueueB2, 2,s: 11,400,148 msg/sec AtomicQueueB2, 2,i: 11,125,345 msg/sec AtomicQueueB2, 3,s: 9,600,301 msg/sec AtomicQueueB2, 3,i: 9,544,737 msg/sec AtomicQueueB2, 4,s: 7,958,121 msg/sec AtomicQueueB2, 4,i: 7,853,307 msg/sec AtomicQueueB2, 5,s: 7,490,823 msg/sec AtomicQueueB2, 5,i: 7,757,537 msg/sec AtomicQueueB2, 6,s: 7,350,002 msg/sec AtomicQueueB2, 6,i: 7,437,105 msg/sec AtomicQueueB2, 7,s: 6,848,670 msg/sec AtomicQueueB2, 7,i: 7,704,138 msg/sec AtomicQueueB2, 8,s: 6,226,972 msg/sec AtomicQueueB2, 8,i: 7,116,217 msg/sec OptimistAtomicQueue2, 1,s: 434,048,736 msg/sec OptimistAtomicQueue2, 1,i: 29,614,821 msg/sec OptimistAtomicQueue2, 2,s: 24,321,944 msg/sec OptimistAtomicQueue2, 2,i: 24,024,992 msg/sec OptimistAtomicQueue2, 3,s: 30,334,722 msg/sec OptimistAtomicQueue2, 3,i: 29,954,983 msg/sec OptimistAtomicQueue2, 4,s: 33,211,949 msg/sec OptimistAtomicQueue2, 4,i: 33,341,358 msg/sec OptimistAtomicQueue2, 5,s: 37,427,710 msg/sec OptimistAtomicQueue2, 5,i: 40,775,716 msg/sec OptimistAtomicQueue2, 6,s: 39,969,666 msg/sec OptimistAtomicQueue2, 6,i: 48,903,186 msg/sec OptimistAtomicQueue2, 7,s: 42,696,281 msg/sec OptimistAtomicQueue2, 7,i: 51,548,531 msg/sec OptimistAtomicQueue2, 8,s: 44,220,702 msg/sec OptimistAtomicQueue2, 8,i: 48,698,951 msg/sec OptimistAtomicQueueB2, 1,s: 76,760,493 msg/sec OptimistAtomicQueueB2, 1,i: 33,911,937 msg/sec OptimistAtomicQueueB2, 2,s: 27,292,662 msg/sec OptimistAtomicQueueB2, 2,i: 25,115,238 msg/sec OptimistAtomicQueueB2, 3,s: 31,247,015 msg/sec OptimistAtomicQueueB2, 3,i: 29,025,633 msg/sec OptimistAtomicQueueB2, 4,s: 33,376,989 msg/sec OptimistAtomicQueueB2, 4,i: 32,462,694 msg/sec OptimistAtomicQueueB2, 5,s: 34,655,692 msg/sec OptimistAtomicQueueB2, 5,i: 39,222,007 msg/sec OptimistAtomicQueueB2, 6,s: 37,546,482 msg/sec OptimistAtomicQueueB2, 6,i: 42,498,765 msg/sec OptimistAtomicQueueB2, 7,s: 40,850,231 msg/sec OptimistAtomicQueueB2, 7,i: 43,232,271 msg/sec OptimistAtomicQueueB2, 8,s: 42,582,134 msg/sec OptimistAtomicQueueB2, 8,i: 44,993,770 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000225 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [88] 365m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,781,797 msg/sec boost::lockfree::spsc_queue, 1,i: 69,779,146 msg/sec boost::lockfree::queue, 1,s: 7,972,060 msg/sec boost::lockfree::queue, 1,i: 7,844,828 msg/sec boost::lockfree::queue, 2,s: 7,618,402 msg/sec boost::lockfree::queue, 2,i: 7,544,412 msg/sec boost::lockfree::queue, 3,s: 7,365,744 msg/sec boost::lockfree::queue, 3,i: 7,607,199 msg/sec boost::lockfree::queue, 4,s: 6,419,584 msg/sec boost::lockfree::queue, 4,i: 6,845,946 msg/sec boost::lockfree::queue, 5,s: 6,428,007 msg/sec boost::lockfree::queue, 5,i: 6,462,430 msg/sec boost::lockfree::queue, 6,s: 6,089,217 msg/sec boost::lockfree::queue, 6,i: 6,116,000 msg/sec boost::lockfree::queue, 7,s: 5,830,904 msg/sec boost::lockfree::queue, 7,i: 6,065,070 msg/sec boost::lockfree::queue, 8,s: 5,565,448 msg/sec boost::lockfree::queue, 8,i: 5,527,641 msg/sec moodycamel::ReaderWriterQueue, 1,s: 155,170,401 msg/sec moodycamel::ReaderWriterQueue, 1,i: 84,147,399 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,993,483 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,838,006 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,429,730 msg/sec moodycamel::ConcurrentQueue, 2,i: 49,939,158 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,595,422 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,608,379 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,953,916 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,855,330 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,205,311 msg/sec moodycamel::ConcurrentQueue, 5,i: 33,133,237 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,724,869 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,683,887 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,048,583 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,065,425 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,294,640 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,244,560 msg/sec pthread_spinlock, 1,s: 29,003,378 msg/sec pthread_spinlock, 1,i: 29,156,834 msg/sec pthread_spinlock, 2,s: 15,394,398 msg/sec pthread_spinlock, 2,i: 16,979,614 msg/sec pthread_spinlock, 3,s: 8,370,979 msg/sec pthread_spinlock, 3,i: 12,046,020 msg/sec pthread_spinlock, 4,s: 6,432,182 msg/sec pthread_spinlock, 4,i: 8,901,531 msg/sec pthread_spinlock, 5,s: 8,689,518 msg/sec pthread_spinlock, 5,i: 9,293,564 msg/sec pthread_spinlock, 6,s: 8,248,110 msg/sec pthread_spinlock, 6,i: 8,567,131 msg/sec pthread_spinlock, 7,s: 7,941,937 msg/sec pthread_spinlock, 7,i: 8,026,024 msg/sec pthread_spinlock, 8,s: 6,659,517 msg/sec pthread_spinlock, 8,i: 6,857,591 msg/sec std::mutex, 1,s: 5,312,587 msg/sec std::mutex, 1,i: 5,319,405 msg/sec std::mutex, 2,s: 5,685,333 msg/sec std::mutex, 2,i: 4,860,851 msg/sec std::mutex, 3,s: 4,865,657 msg/sec std::mutex, 3,i: 5,297,991 msg/sec std::mutex, 4,s: 6,028,647 msg/sec std::mutex, 4,i: 6,211,049 msg/sec std::mutex, 5,s: 5,987,080 msg/sec std::mutex, 5,i: 5,942,891 msg/sec std::mutex, 6,s: 5,782,441 msg/sec std::mutex, 6,i: 5,600,217 msg/sec std::mutex, 7,s: 5,532,592 msg/sec std::mutex, 7,i: 5,553,056 msg/sec std::mutex, 8,s: 5,439,994 msg/sec std::mutex, 8,i: 5,438,188 msg/sec tbb::spin_mutex, 1,s: 37,965,800 msg/sec tbb::spin_mutex, 1,i: 37,719,916 msg/sec tbb::spin_mutex, 2,s: 21,084,290 msg/sec tbb::spin_mutex, 2,i: 20,694,643 msg/sec tbb::spin_mutex, 3,s: 8,743,537 msg/sec tbb::spin_mutex, 3,i: 10,289,687 msg/sec tbb::spin_mutex, 4,s: 3,128,798 msg/sec tbb::spin_mutex, 4,i: 6,349,637 msg/sec tbb::spin_mutex, 5,s: 5,456,292 msg/sec tbb::spin_mutex, 5,i: 5,775,385 msg/sec tbb::spin_mutex, 6,s: 5,383,651 msg/sec tbb::spin_mutex, 6,i: 4,379,375 msg/sec tbb::spin_mutex, 7,s: 4,680,488 msg/sec tbb::spin_mutex, 7,i: 4,298,504 msg/sec tbb::spin_mutex, 8,s: 4,248,623 msg/sec tbb::spin_mutex, 8,i: 4,147,355 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,353,876 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,264,091 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,900,986 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,662,878 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,958,240 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,458,575 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,305,217 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,222,248 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,793,276 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,175,249 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,812,950 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,432,181 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,941,107 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,656,949 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,067,412 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,715,848 msg/sec xenium::michael_scott_queue, 1,s: 9,489,477 msg/sec xenium::michael_scott_queue, 1,i: 9,600,028 msg/sec xenium::michael_scott_queue, 2,s: 8,410,663 msg/sec xenium::michael_scott_queue, 2,i: 8,452,891 msg/sec xenium::michael_scott_queue, 3,s: 7,205,757 msg/sec xenium::michael_scott_queue, 3,i: 7,561,826 msg/sec xenium::michael_scott_queue, 4,s: 6,336,274 msg/sec xenium::michael_scott_queue, 4,i: 6,308,931 msg/sec xenium::michael_scott_queue, 5,s: 6,276,486 msg/sec xenium::michael_scott_queue, 5,i: 6,625,313 msg/sec xenium::michael_scott_queue, 6,s: 6,523,203 msg/sec xenium::michael_scott_queue, 6,i: 6,689,105 msg/sec xenium::michael_scott_queue, 7,s: 6,235,984 msg/sec xenium::michael_scott_queue, 7,i: 6,456,188 msg/sec xenium::michael_scott_queue, 8,s: 5,966,380 msg/sec xenium::michael_scott_queue, 8,i: 6,067,980 msg/sec xenium::ramalhete_queue, 1,s: 32,190,036 msg/sec xenium::ramalhete_queue, 1,i: 32,073,625 msg/sec xenium::ramalhete_queue, 2,s: 23,536,436 msg/sec xenium::ramalhete_queue, 2,i: 23,272,992 msg/sec xenium::ramalhete_queue, 3,s: 29,218,837 msg/sec xenium::ramalhete_queue, 3,i: 28,382,396 msg/sec xenium::ramalhete_queue, 4,s: 33,763,415 msg/sec xenium::ramalhete_queue, 4,i: 33,465,564 msg/sec xenium::ramalhete_queue, 5,s: 32,067,685 msg/sec xenium::ramalhete_queue, 5,i: 36,027,110 msg/sec xenium::ramalhete_queue, 6,s: 34,000,169 msg/sec xenium::ramalhete_queue, 6,i: 38,983,028 msg/sec xenium::ramalhete_queue, 7,s: 35,163,456 msg/sec xenium::ramalhete_queue, 7,i: 41,552,651 msg/sec xenium::ramalhete_queue, 8,s: 35,533,076 msg/sec xenium::ramalhete_queue, 8,i: 43,851,061 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,969,845 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,137,301 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,764,830 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,648,090 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,593,759 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,183,877 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,588,788 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,507,421 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,878,152 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,257,054 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,943,344 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,495,489 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,173,146 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,069,072 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,523 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,228,317 msg/sec AtomicQueue, 1,s: 61,504,350 msg/sec AtomicQueue, 1,i: 57,077,462 msg/sec AtomicQueue, 2,s: 12,239,727 msg/sec AtomicQueue, 2,i: 11,741,757 msg/sec AtomicQueue, 3,s: 10,748,076 msg/sec AtomicQueue, 3,i: 9,898,425 msg/sec AtomicQueue, 4,s: 8,149,355 msg/sec AtomicQueue, 4,i: 8,200,321 msg/sec AtomicQueue, 5,s: 8,030,374 msg/sec AtomicQueue, 5,i: 8,112,310 msg/sec AtomicQueue, 6,s: 7,778,786 msg/sec AtomicQueue, 6,i: 7,617,966 msg/sec AtomicQueue, 7,s: 7,152,025 msg/sec AtomicQueue, 7,i: 7,959,526 msg/sec AtomicQueue, 8,s: 6,330,360 msg/sec AtomicQueue, 8,i: 7,464,378 msg/sec AtomicQueueB, 1,s: 43,967,456 msg/sec AtomicQueueB, 1,i: 43,004,393 msg/sec AtomicQueueB, 2,s: 11,815,162 msg/sec AtomicQueueB, 2,i: 11,505,705 msg/sec AtomicQueueB, 3,s: 11,005,244 msg/sec AtomicQueueB, 3,i: 10,163,719 msg/sec AtomicQueueB, 4,s: 8,074,931 msg/sec AtomicQueueB, 4,i: 7,962,347 msg/sec AtomicQueueB, 5,s: 7,660,663 msg/sec AtomicQueueB, 5,i: 7,848,585 msg/sec AtomicQueueB, 6,s: 7,355,152 msg/sec AtomicQueueB, 6,i: 7,516,187 msg/sec AtomicQueueB, 7,s: 6,854,183 msg/sec AtomicQueueB, 7,i: 7,782,545 msg/sec AtomicQueueB, 8,s: 6,277,354 msg/sec AtomicQueueB, 8,i: 7,155,356 msg/sec OptimistAtomicQueue, 1,s: 622,920,516 msg/sec OptimistAtomicQueue, 1,i: 515,916,474 msg/sec OptimistAtomicQueue, 2,s: 32,116,549 msg/sec OptimistAtomicQueue, 2,i: 32,207,451 msg/sec OptimistAtomicQueue, 3,s: 36,650,605 msg/sec OptimistAtomicQueue, 3,i: 37,346,656 msg/sec OptimistAtomicQueue, 4,s: 39,276,780 msg/sec OptimistAtomicQueue, 4,i: 39,411,228 msg/sec OptimistAtomicQueue, 5,s: 42,550,704 msg/sec OptimistAtomicQueue, 5,i: 46,393,275 msg/sec OptimistAtomicQueue, 6,s: 42,642,852 msg/sec OptimistAtomicQueue, 6,i: 50,251,086 msg/sec OptimistAtomicQueue, 7,s: 45,272,513 msg/sec OptimistAtomicQueue, 7,i: 52,936,087 msg/sec OptimistAtomicQueue, 8,s: 46,286,058 msg/sec OptimistAtomicQueue, 8,i: 49,125,990 msg/sec OptimistAtomicQueueB, 1,s: 240,360,131 msg/sec OptimistAtomicQueueB, 1,i: 77,592,406 msg/sec OptimistAtomicQueueB, 2,s: 32,217,163 msg/sec OptimistAtomicQueueB, 2,i: 32,356,892 msg/sec OptimistAtomicQueueB, 3,s: 36,310,044 msg/sec OptimistAtomicQueueB, 3,i: 36,939,592 msg/sec OptimistAtomicQueueB, 4,s: 38,703,791 msg/sec OptimistAtomicQueueB, 4,i: 38,560,699 msg/sec OptimistAtomicQueueB, 5,s: 41,095,793 msg/sec OptimistAtomicQueueB, 5,i: 45,550,347 msg/sec OptimistAtomicQueueB, 6,s: 40,669,229 msg/sec OptimistAtomicQueueB, 6,i: 48,625,459 msg/sec OptimistAtomicQueueB, 7,s: 41,870,428 msg/sec OptimistAtomicQueueB, 7,i: 51,363,566 msg/sec OptimistAtomicQueueB, 8,s: 44,666,414 msg/sec OptimistAtomicQueueB, 8,i: 47,603,437 msg/sec AtomicQueue2, 1,s: 22,896,227 msg/sec AtomicQueue2, 1,i: 22,883,723 msg/sec AtomicQueue2, 2,s: 11,762,950 msg/sec AtomicQueue2, 2,i: 11,395,257 msg/sec AtomicQueue2, 3,s: 9,351,295 msg/sec AtomicQueue2, 3,i: 9,435,927 msg/sec AtomicQueue2, 4,s: 8,146,377 msg/sec AtomicQueue2, 4,i: 8,058,007 msg/sec AtomicQueue2, 5,s: 7,904,410 msg/sec AtomicQueue2, 5,i: 8,050,732 msg/sec AtomicQueue2, 6,s: 7,741,993 msg/sec AtomicQueue2, 6,i: 7,503,949 msg/sec AtomicQueue2, 7,s: 7,157,514 msg/sec AtomicQueue2, 7,i: 7,890,761 msg/sec AtomicQueue2, 8,s: 6,384,140 msg/sec AtomicQueue2, 8,i: 7,241,189 msg/sec AtomicQueueB2, 1,s: 43,477,768 msg/sec AtomicQueueB2, 1,i: 34,440,587 msg/sec AtomicQueueB2, 2,s: 11,346,669 msg/sec AtomicQueueB2, 2,i: 11,109,169 msg/sec AtomicQueueB2, 3,s: 9,644,642 msg/sec AtomicQueueB2, 3,i: 9,499,492 msg/sec AtomicQueueB2, 4,s: 7,925,741 msg/sec AtomicQueueB2, 4,i: 7,923,108 msg/sec AtomicQueueB2, 5,s: 7,541,865 msg/sec AtomicQueueB2, 5,i: 7,718,086 msg/sec AtomicQueueB2, 6,s: 7,298,776 msg/sec AtomicQueueB2, 6,i: 7,457,926 msg/sec AtomicQueueB2, 7,s: 6,962,957 msg/sec AtomicQueueB2, 7,i: 7,705,116 msg/sec AtomicQueueB2, 8,s: 6,281,208 msg/sec AtomicQueueB2, 8,i: 7,110,894 msg/sec OptimistAtomicQueue2, 1,s: 442,211,375 msg/sec OptimistAtomicQueue2, 1,i: 31,796,469 msg/sec OptimistAtomicQueue2, 2,s: 26,230,611 msg/sec OptimistAtomicQueue2, 2,i: 22,718,187 msg/sec OptimistAtomicQueue2, 3,s: 30,523,445 msg/sec OptimistAtomicQueue2, 3,i: 30,007,419 msg/sec OptimistAtomicQueue2, 4,s: 33,183,934 msg/sec OptimistAtomicQueue2, 4,i: 33,161,140 msg/sec OptimistAtomicQueue2, 5,s: 37,131,468 msg/sec OptimistAtomicQueue2, 5,i: 40,827,643 msg/sec OptimistAtomicQueue2, 6,s: 40,404,876 msg/sec OptimistAtomicQueue2, 6,i: 49,166,654 msg/sec OptimistAtomicQueue2, 7,s: 42,770,727 msg/sec OptimistAtomicQueue2, 7,i: 51,699,069 msg/sec OptimistAtomicQueue2, 8,s: 44,249,713 msg/sec OptimistAtomicQueue2, 8,i: 48,570,436 msg/sec OptimistAtomicQueueB2, 1,s: 78,116,416 msg/sec OptimistAtomicQueueB2, 1,i: 33,924,426 msg/sec OptimistAtomicQueueB2, 2,s: 26,884,095 msg/sec OptimistAtomicQueueB2, 2,i: 24,508,370 msg/sec OptimistAtomicQueueB2, 3,s: 29,663,309 msg/sec OptimistAtomicQueueB2, 3,i: 29,149,155 msg/sec OptimistAtomicQueueB2, 4,s: 33,489,059 msg/sec OptimistAtomicQueueB2, 4,i: 32,645,496 msg/sec OptimistAtomicQueueB2, 5,s: 34,748,632 msg/sec OptimistAtomicQueueB2, 5,i: 39,119,253 msg/sec OptimistAtomicQueueB2, 6,s: 37,718,351 msg/sec OptimistAtomicQueueB2, 6,i: 42,555,937 msg/sec OptimistAtomicQueueB2, 7,s: 40,755,645 msg/sec OptimistAtomicQueueB2, 7,i: 43,221,017 msg/sec OptimistAtomicQueueB2, 8,s: 42,318,044 msg/sec OptimistAtomicQueueB2, 8,i: 45,410,287 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000124 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000288 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000276 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000145 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [89] 363m:55s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,752,793 msg/sec boost::lockfree::spsc_queue, 1,i: 65,228,363 msg/sec boost::lockfree::queue, 1,s: 6,876,583 msg/sec boost::lockfree::queue, 1,i: 6,881,125 msg/sec boost::lockfree::queue, 2,s: 7,629,476 msg/sec boost::lockfree::queue, 2,i: 7,492,333 msg/sec boost::lockfree::queue, 3,s: 7,644,035 msg/sec boost::lockfree::queue, 3,i: 7,571,296 msg/sec boost::lockfree::queue, 4,s: 6,423,457 msg/sec boost::lockfree::queue, 4,i: 6,799,972 msg/sec boost::lockfree::queue, 5,s: 6,386,677 msg/sec boost::lockfree::queue, 5,i: 6,500,798 msg/sec boost::lockfree::queue, 6,s: 5,984,912 msg/sec boost::lockfree::queue, 6,i: 6,100,873 msg/sec boost::lockfree::queue, 7,s: 5,931,682 msg/sec boost::lockfree::queue, 7,i: 6,053,443 msg/sec boost::lockfree::queue, 8,s: 5,490,709 msg/sec boost::lockfree::queue, 8,i: 5,598,730 msg/sec moodycamel::ReaderWriterQueue, 1,s: 80,341,439 msg/sec moodycamel::ReaderWriterQueue, 1,i: 83,070,708 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,377,416 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,035,935 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,316,566 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,570,280 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,521,380 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,864,599 msg/sec moodycamel::ConcurrentQueue, 4,s: 39,380,787 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,841,384 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,316,515 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,130,992 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,426,725 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,833,452 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,092,487 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,834,039 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,343,266 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,361,617 msg/sec pthread_spinlock, 1,s: 29,284,234 msg/sec pthread_spinlock, 1,i: 25,292,740 msg/sec pthread_spinlock, 2,s: 15,561,278 msg/sec pthread_spinlock, 2,i: 16,649,368 msg/sec pthread_spinlock, 3,s: 8,468,624 msg/sec pthread_spinlock, 3,i: 11,575,258 msg/sec pthread_spinlock, 4,s: 6,592,545 msg/sec pthread_spinlock, 4,i: 9,020,895 msg/sec pthread_spinlock, 5,s: 8,632,857 msg/sec pthread_spinlock, 5,i: 9,126,861 msg/sec pthread_spinlock, 6,s: 8,300,891 msg/sec pthread_spinlock, 6,i: 8,548,917 msg/sec pthread_spinlock, 7,s: 7,945,553 msg/sec pthread_spinlock, 7,i: 7,691,478 msg/sec pthread_spinlock, 8,s: 6,748,558 msg/sec pthread_spinlock, 8,i: 7,350,812 msg/sec std::mutex, 1,s: 5,958,176 msg/sec std::mutex, 1,i: 5,948,012 msg/sec std::mutex, 2,s: 5,395,603 msg/sec std::mutex, 2,i: 5,492,274 msg/sec std::mutex, 3,s: 4,981,576 msg/sec std::mutex, 3,i: 5,090,579 msg/sec std::mutex, 4,s: 5,327,472 msg/sec std::mutex, 4,i: 6,152,545 msg/sec std::mutex, 5,s: 5,986,528 msg/sec std::mutex, 5,i: 5,983,742 msg/sec std::mutex, 6,s: 5,944,184 msg/sec std::mutex, 6,i: 5,904,371 msg/sec std::mutex, 7,s: 5,813,955 msg/sec std::mutex, 7,i: 5,788,904 msg/sec std::mutex, 8,s: 5,663,095 msg/sec std::mutex, 8,i: 5,595,356 msg/sec tbb::spin_mutex, 1,s: 38,079,069 msg/sec tbb::spin_mutex, 1,i: 32,690,681 msg/sec tbb::spin_mutex, 2,s: 21,181,711 msg/sec tbb::spin_mutex, 2,i: 18,330,241 msg/sec tbb::spin_mutex, 3,s: 8,346,045 msg/sec tbb::spin_mutex, 3,i: 10,181,836 msg/sec tbb::spin_mutex, 4,s: 3,204,233 msg/sec tbb::spin_mutex, 4,i: 6,269,943 msg/sec tbb::spin_mutex, 5,s: 5,542,686 msg/sec tbb::spin_mutex, 5,i: 5,872,913 msg/sec tbb::spin_mutex, 6,s: 5,308,435 msg/sec tbb::spin_mutex, 6,i: 4,378,184 msg/sec tbb::spin_mutex, 7,s: 4,874,251 msg/sec tbb::spin_mutex, 7,i: 4,361,443 msg/sec tbb::spin_mutex, 8,s: 4,269,089 msg/sec tbb::spin_mutex, 8,i: 4,092,503 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,828,026 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,366,735 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,147,408 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,669,022 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,460,147 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,946,949 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,132,018 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,411,188 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,636,638 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,709,496 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,847,856 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,895,407 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,823,173 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,209,245 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,629,846 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,331,532 msg/sec xenium::michael_scott_queue, 1,s: 9,358,739 msg/sec xenium::michael_scott_queue, 1,i: 9,178,697 msg/sec xenium::michael_scott_queue, 2,s: 8,453,145 msg/sec xenium::michael_scott_queue, 2,i: 8,514,618 msg/sec xenium::michael_scott_queue, 3,s: 7,270,256 msg/sec xenium::michael_scott_queue, 3,i: 7,520,862 msg/sec xenium::michael_scott_queue, 4,s: 6,233,564 msg/sec xenium::michael_scott_queue, 4,i: 6,319,708 msg/sec xenium::michael_scott_queue, 5,s: 6,290,171 msg/sec xenium::michael_scott_queue, 5,i: 6,744,631 msg/sec xenium::michael_scott_queue, 6,s: 6,449,603 msg/sec xenium::michael_scott_queue, 6,i: 6,763,112 msg/sec xenium::michael_scott_queue, 7,s: 6,304,043 msg/sec xenium::michael_scott_queue, 7,i: 6,534,410 msg/sec xenium::michael_scott_queue, 8,s: 6,037,003 msg/sec xenium::michael_scott_queue, 8,i: 6,220,440 msg/sec xenium::ramalhete_queue, 1,s: 31,960,230 msg/sec xenium::ramalhete_queue, 1,i: 32,271,249 msg/sec xenium::ramalhete_queue, 2,s: 23,753,570 msg/sec xenium::ramalhete_queue, 2,i: 23,293,156 msg/sec xenium::ramalhete_queue, 3,s: 29,278,179 msg/sec xenium::ramalhete_queue, 3,i: 28,401,167 msg/sec xenium::ramalhete_queue, 4,s: 33,788,764 msg/sec xenium::ramalhete_queue, 4,i: 33,408,247 msg/sec xenium::ramalhete_queue, 5,s: 31,973,994 msg/sec xenium::ramalhete_queue, 5,i: 38,431,704 msg/sec xenium::ramalhete_queue, 6,s: 34,067,318 msg/sec xenium::ramalhete_queue, 6,i: 40,481,895 msg/sec xenium::ramalhete_queue, 7,s: 35,021,490 msg/sec xenium::ramalhete_queue, 7,i: 41,034,718 msg/sec xenium::ramalhete_queue, 8,s: 35,365,406 msg/sec xenium::ramalhete_queue, 8,i: 44,097,757 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,751,800 msg/sec xenium::vyukov_bounded_queue, 1,i: 115,661,126 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,587,353 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,039,699 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,513,066 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,826,999 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,560,691 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,099,416 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,969,391 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,259,239 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,021,855 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,683,942 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,215,155 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,334,716 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,418 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,525,366 msg/sec AtomicQueue, 1,s: 75,487,107 msg/sec AtomicQueue, 1,i: 56,925,634 msg/sec AtomicQueue, 2,s: 12,362,473 msg/sec AtomicQueue, 2,i: 11,751,383 msg/sec AtomicQueue, 3,s: 10,731,901 msg/sec AtomicQueue, 3,i: 9,944,892 msg/sec AtomicQueue, 4,s: 8,210,151 msg/sec AtomicQueue, 4,i: 8,190,976 msg/sec AtomicQueue, 5,s: 8,019,330 msg/sec AtomicQueue, 5,i: 8,053,112 msg/sec AtomicQueue, 6,s: 7,867,074 msg/sec AtomicQueue, 6,i: 7,627,658 msg/sec AtomicQueue, 7,s: 7,134,202 msg/sec AtomicQueue, 7,i: 7,994,215 msg/sec AtomicQueue, 8,s: 6,319,638 msg/sec AtomicQueue, 8,i: 7,473,128 msg/sec AtomicQueueB, 1,s: 43,955,182 msg/sec AtomicQueueB, 1,i: 43,005,632 msg/sec AtomicQueueB, 2,s: 11,702,748 msg/sec AtomicQueueB, 2,i: 11,477,716 msg/sec AtomicQueueB, 3,s: 11,020,770 msg/sec AtomicQueueB, 3,i: 10,260,003 msg/sec AtomicQueueB, 4,s: 8,016,360 msg/sec AtomicQueueB, 4,i: 8,035,762 msg/sec AtomicQueueB, 5,s: 7,628,769 msg/sec AtomicQueueB, 5,i: 7,883,094 msg/sec AtomicQueueB, 6,s: 7,281,415 msg/sec AtomicQueueB, 6,i: 7,521,992 msg/sec AtomicQueueB, 7,s: 6,879,658 msg/sec AtomicQueueB, 7,i: 7,738,140 msg/sec AtomicQueueB, 8,s: 6,244,024 msg/sec AtomicQueueB, 8,i: 7,125,376 msg/sec OptimistAtomicQueue, 1,s: 785,216,570 msg/sec OptimistAtomicQueue, 1,i: 598,351,660 msg/sec OptimistAtomicQueue, 2,s: 32,648,908 msg/sec OptimistAtomicQueue, 2,i: 32,206,707 msg/sec OptimistAtomicQueue, 3,s: 36,657,532 msg/sec OptimistAtomicQueue, 3,i: 37,306,162 msg/sec OptimistAtomicQueue, 4,s: 39,291,733 msg/sec OptimistAtomicQueue, 4,i: 39,417,397 msg/sec OptimistAtomicQueue, 5,s: 42,566,360 msg/sec OptimistAtomicQueue, 5,i: 46,400,929 msg/sec OptimistAtomicQueue, 6,s: 42,372,676 msg/sec OptimistAtomicQueue, 6,i: 50,354,533 msg/sec OptimistAtomicQueue, 7,s: 44,484,685 msg/sec OptimistAtomicQueue, 7,i: 49,492,361 msg/sec OptimistAtomicQueue, 8,s: 46,370,800 msg/sec OptimistAtomicQueue, 8,i: 48,548,856 msg/sec OptimistAtomicQueueB, 1,s: 124,400,393 msg/sec OptimistAtomicQueueB, 1,i: 76,743,180 msg/sec OptimistAtomicQueueB, 2,s: 32,119,058 msg/sec OptimistAtomicQueueB, 2,i: 32,217,644 msg/sec OptimistAtomicQueueB, 3,s: 36,311,559 msg/sec OptimistAtomicQueueB, 3,i: 36,907,834 msg/sec OptimistAtomicQueueB, 4,s: 38,594,639 msg/sec OptimistAtomicQueueB, 4,i: 38,697,180 msg/sec OptimistAtomicQueueB, 5,s: 39,252,226 msg/sec OptimistAtomicQueueB, 5,i: 45,463,198 msg/sec OptimistAtomicQueueB, 6,s: 41,276,349 msg/sec OptimistAtomicQueueB, 6,i: 48,725,016 msg/sec OptimistAtomicQueueB, 7,s: 41,252,863 msg/sec OptimistAtomicQueueB, 7,i: 50,496,240 msg/sec OptimistAtomicQueueB, 8,s: 44,528,768 msg/sec OptimistAtomicQueueB, 8,i: 48,261,033 msg/sec AtomicQueue2, 1,s: 22,872,463 msg/sec AtomicQueue2, 1,i: 22,891,099 msg/sec AtomicQueue2, 2,s: 11,788,344 msg/sec AtomicQueue2, 2,i: 11,450,550 msg/sec AtomicQueue2, 3,s: 9,465,518 msg/sec AtomicQueue2, 3,i: 9,335,439 msg/sec AtomicQueue2, 4,s: 8,074,187 msg/sec AtomicQueue2, 4,i: 8,054,910 msg/sec AtomicQueue2, 5,s: 7,932,920 msg/sec AtomicQueue2, 5,i: 8,048,213 msg/sec AtomicQueue2, 6,s: 7,767,251 msg/sec AtomicQueue2, 6,i: 7,526,889 msg/sec AtomicQueue2, 7,s: 7,074,000 msg/sec AtomicQueue2, 7,i: 7,886,256 msg/sec AtomicQueue2, 8,s: 6,384,526 msg/sec AtomicQueue2, 8,i: 7,268,639 msg/sec AtomicQueueB2, 1,s: 33,310,481 msg/sec AtomicQueueB2, 1,i: 32,675,880 msg/sec AtomicQueueB2, 2,s: 11,499,572 msg/sec AtomicQueueB2, 2,i: 11,090,883 msg/sec AtomicQueueB2, 3,s: 9,645,749 msg/sec AtomicQueueB2, 3,i: 9,565,137 msg/sec AtomicQueueB2, 4,s: 7,932,425 msg/sec AtomicQueueB2, 4,i: 7,832,723 msg/sec AtomicQueueB2, 5,s: 7,455,146 msg/sec AtomicQueueB2, 5,i: 7,724,509 msg/sec AtomicQueueB2, 6,s: 7,291,619 msg/sec AtomicQueueB2, 6,i: 7,469,757 msg/sec AtomicQueueB2, 7,s: 6,893,421 msg/sec AtomicQueueB2, 7,i: 7,685,633 msg/sec AtomicQueueB2, 8,s: 6,315,585 msg/sec AtomicQueueB2, 8,i: 7,121,368 msg/sec OptimistAtomicQueue2, 1,s: 292,445,632 msg/sec OptimistAtomicQueue2, 1,i: 80,652,146 msg/sec OptimistAtomicQueue2, 2,s: 26,200,103 msg/sec OptimistAtomicQueue2, 2,i: 24,021,931 msg/sec OptimistAtomicQueue2, 3,s: 30,314,954 msg/sec OptimistAtomicQueue2, 3,i: 29,954,170 msg/sec OptimistAtomicQueue2, 4,s: 33,250,595 msg/sec OptimistAtomicQueue2, 4,i: 33,219,116 msg/sec OptimistAtomicQueue2, 5,s: 37,319,231 msg/sec OptimistAtomicQueue2, 5,i: 41,912,447 msg/sec OptimistAtomicQueue2, 6,s: 40,303,137 msg/sec OptimistAtomicQueue2, 6,i: 49,245,091 msg/sec OptimistAtomicQueue2, 7,s: 43,279,289 msg/sec OptimistAtomicQueue2, 7,i: 48,039,620 msg/sec OptimistAtomicQueue2, 8,s: 44,234,524 msg/sec OptimistAtomicQueue2, 8,i: 48,733,904 msg/sec OptimistAtomicQueueB2, 1,s: 75,729,594 msg/sec OptimistAtomicQueueB2, 1,i: 33,939,117 msg/sec OptimistAtomicQueueB2, 2,s: 29,634,786 msg/sec OptimistAtomicQueueB2, 2,i: 23,760,616 msg/sec OptimistAtomicQueueB2, 3,s: 31,248,539 msg/sec OptimistAtomicQueueB2, 3,i: 29,173,640 msg/sec OptimistAtomicQueueB2, 4,s: 33,172,681 msg/sec OptimistAtomicQueueB2, 4,i: 32,697,435 msg/sec OptimistAtomicQueueB2, 5,s: 34,680,967 msg/sec OptimistAtomicQueueB2, 5,i: 39,275,520 msg/sec OptimistAtomicQueueB2, 6,s: 37,278,446 msg/sec OptimistAtomicQueueB2, 6,i: 42,361,843 msg/sec OptimistAtomicQueueB2, 7,s: 40,817,194 msg/sec OptimistAtomicQueueB2, 7,i: 43,056,667 msg/sec OptimistAtomicQueueB2, 8,s: 42,332,048 msg/sec OptimistAtomicQueueB2, 8,i: 45,984,000 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000154 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000270 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000225 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [90] 362m:35s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,892,643 msg/sec boost::lockfree::spsc_queue, 1,i: 69,993,609 msg/sec boost::lockfree::queue, 1,s: 6,772,078 msg/sec boost::lockfree::queue, 1,i: 6,847,562 msg/sec boost::lockfree::queue, 2,s: 7,543,584 msg/sec boost::lockfree::queue, 2,i: 7,435,588 msg/sec boost::lockfree::queue, 3,s: 7,388,551 msg/sec boost::lockfree::queue, 3,i: 7,597,196 msg/sec boost::lockfree::queue, 4,s: 6,423,022 msg/sec boost::lockfree::queue, 4,i: 6,800,556 msg/sec boost::lockfree::queue, 5,s: 6,499,346 msg/sec boost::lockfree::queue, 5,i: 6,465,914 msg/sec boost::lockfree::queue, 6,s: 6,099,744 msg/sec boost::lockfree::queue, 6,i: 6,158,189 msg/sec boost::lockfree::queue, 7,s: 5,811,233 msg/sec boost::lockfree::queue, 7,i: 6,127,921 msg/sec boost::lockfree::queue, 8,s: 5,453,776 msg/sec boost::lockfree::queue, 8,i: 5,677,512 msg/sec moodycamel::ReaderWriterQueue, 1,s: 167,945,699 msg/sec moodycamel::ReaderWriterQueue, 1,i: 70,840,318 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,393,080 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,681,284 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,019,126 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,990,244 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,382,439 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,020,252 msg/sec moodycamel::ConcurrentQueue, 4,s: 30,626,846 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,261,182 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,285,563 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,164,432 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,708,052 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,419,885 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,993,197 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,884,570 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,305,790 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,940,169 msg/sec pthread_spinlock, 1,s: 28,851,988 msg/sec pthread_spinlock, 1,i: 25,268,207 msg/sec pthread_spinlock, 2,s: 15,366,366 msg/sec pthread_spinlock, 2,i: 16,615,234 msg/sec pthread_spinlock, 3,s: 8,304,573 msg/sec pthread_spinlock, 3,i: 11,355,200 msg/sec pthread_spinlock, 4,s: 6,525,178 msg/sec pthread_spinlock, 4,i: 9,206,855 msg/sec pthread_spinlock, 5,s: 8,690,638 msg/sec pthread_spinlock, 5,i: 9,428,810 msg/sec pthread_spinlock, 6,s: 8,495,178 msg/sec pthread_spinlock, 6,i: 9,064,496 msg/sec pthread_spinlock, 7,s: 7,560,390 msg/sec pthread_spinlock, 7,i: 8,168,519 msg/sec pthread_spinlock, 8,s: 6,846,412 msg/sec pthread_spinlock, 8,i: 6,836,789 msg/sec std::mutex, 1,s: 6,667,495 msg/sec std::mutex, 1,i: 7,506,419 msg/sec std::mutex, 2,s: 6,087,643 msg/sec std::mutex, 2,i: 6,306,018 msg/sec std::mutex, 3,s: 6,079,591 msg/sec std::mutex, 3,i: 6,035,799 msg/sec std::mutex, 4,s: 6,240,779 msg/sec std::mutex, 4,i: 6,246,891 msg/sec std::mutex, 5,s: 5,964,648 msg/sec std::mutex, 5,i: 6,004,739 msg/sec std::mutex, 6,s: 5,888,429 msg/sec std::mutex, 6,i: 5,803,280 msg/sec std::mutex, 7,s: 5,809,786 msg/sec std::mutex, 7,i: 5,782,857 msg/sec std::mutex, 8,s: 5,730,017 msg/sec std::mutex, 8,i: 5,721,020 msg/sec tbb::spin_mutex, 1,s: 38,011,521 msg/sec tbb::spin_mutex, 1,i: 38,095,952 msg/sec tbb::spin_mutex, 2,s: 21,134,391 msg/sec tbb::spin_mutex, 2,i: 20,650,433 msg/sec tbb::spin_mutex, 3,s: 8,667,529 msg/sec tbb::spin_mutex, 3,i: 11,177,603 msg/sec tbb::spin_mutex, 4,s: 3,092,191 msg/sec tbb::spin_mutex, 4,i: 6,332,526 msg/sec tbb::spin_mutex, 5,s: 5,434,537 msg/sec tbb::spin_mutex, 5,i: 5,916,608 msg/sec tbb::spin_mutex, 6,s: 5,231,194 msg/sec tbb::spin_mutex, 6,i: 4,320,060 msg/sec tbb::spin_mutex, 7,s: 4,669,326 msg/sec tbb::spin_mutex, 7,i: 4,346,677 msg/sec tbb::spin_mutex, 8,s: 4,263,513 msg/sec tbb::spin_mutex, 8,i: 4,086,543 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,264,505 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,287,492 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,158,196 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,233,563 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,552,949 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,545,526 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,501,329 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,567,598 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,914,787 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,614,196 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,945,096 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,653,015 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,897,336 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,807,213 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,782,595 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,483,718 msg/sec xenium::michael_scott_queue, 1,s: 9,257,089 msg/sec xenium::michael_scott_queue, 1,i: 9,284,016 msg/sec xenium::michael_scott_queue, 2,s: 8,510,442 msg/sec xenium::michael_scott_queue, 2,i: 8,482,428 msg/sec xenium::michael_scott_queue, 3,s: 7,125,933 msg/sec xenium::michael_scott_queue, 3,i: 7,646,441 msg/sec xenium::michael_scott_queue, 4,s: 6,383,985 msg/sec xenium::michael_scott_queue, 4,i: 6,387,182 msg/sec xenium::michael_scott_queue, 5,s: 6,298,991 msg/sec xenium::michael_scott_queue, 5,i: 6,647,594 msg/sec xenium::michael_scott_queue, 6,s: 6,551,509 msg/sec xenium::michael_scott_queue, 6,i: 6,759,667 msg/sec xenium::michael_scott_queue, 7,s: 6,290,229 msg/sec xenium::michael_scott_queue, 7,i: 6,566,785 msg/sec xenium::michael_scott_queue, 8,s: 5,975,983 msg/sec xenium::michael_scott_queue, 8,i: 6,078,256 msg/sec xenium::ramalhete_queue, 1,s: 32,608,980 msg/sec xenium::ramalhete_queue, 1,i: 32,761,032 msg/sec xenium::ramalhete_queue, 2,s: 24,305,308 msg/sec xenium::ramalhete_queue, 2,i: 23,381,053 msg/sec xenium::ramalhete_queue, 3,s: 29,128,613 msg/sec xenium::ramalhete_queue, 3,i: 28,438,059 msg/sec xenium::ramalhete_queue, 4,s: 33,861,896 msg/sec xenium::ramalhete_queue, 4,i: 33,339,559 msg/sec xenium::ramalhete_queue, 5,s: 31,994,839 msg/sec xenium::ramalhete_queue, 5,i: 36,084,255 msg/sec xenium::ramalhete_queue, 6,s: 34,242,544 msg/sec xenium::ramalhete_queue, 6,i: 39,326,842 msg/sec xenium::ramalhete_queue, 7,s: 35,218,706 msg/sec xenium::ramalhete_queue, 7,i: 40,608,513 msg/sec xenium::ramalhete_queue, 8,s: 35,322,672 msg/sec xenium::ramalhete_queue, 8,i: 43,984,711 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,352,596 msg/sec xenium::vyukov_bounded_queue, 1,i: 113,506,443 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,306,209 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,083,742 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,608,286 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,742,946 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,552,994 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,215,649 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,892,932 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,391,650 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,969,353 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,386,776 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,208,439 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,363,334 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,446,448 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,502,770 msg/sec AtomicQueue, 1,s: 57,314,272 msg/sec AtomicQueue, 1,i: 55,374,484 msg/sec AtomicQueue, 2,s: 12,179,424 msg/sec AtomicQueue, 2,i: 11,735,546 msg/sec AtomicQueue, 3,s: 10,828,322 msg/sec AtomicQueue, 3,i: 9,896,781 msg/sec AtomicQueue, 4,s: 8,219,493 msg/sec AtomicQueue, 4,i: 8,194,692 msg/sec AtomicQueue, 5,s: 8,029,032 msg/sec AtomicQueue, 5,i: 8,134,608 msg/sec AtomicQueue, 6,s: 7,986,511 msg/sec AtomicQueue, 6,i: 7,622,885 msg/sec AtomicQueue, 7,s: 7,151,558 msg/sec AtomicQueue, 7,i: 7,964,804 msg/sec AtomicQueue, 8,s: 6,344,235 msg/sec AtomicQueue, 8,i: 7,381,865 msg/sec AtomicQueueB, 1,s: 43,836,189 msg/sec AtomicQueueB, 1,i: 44,081,864 msg/sec AtomicQueueB, 2,s: 11,699,155 msg/sec AtomicQueueB, 2,i: 11,417,817 msg/sec AtomicQueueB, 3,s: 11,044,018 msg/sec AtomicQueueB, 3,i: 10,134,938 msg/sec AtomicQueueB, 4,s: 8,045,547 msg/sec AtomicQueueB, 4,i: 8,082,030 msg/sec AtomicQueueB, 5,s: 7,602,217 msg/sec AtomicQueueB, 5,i: 7,809,601 msg/sec AtomicQueueB, 6,s: 7,308,746 msg/sec AtomicQueueB, 6,i: 7,531,962 msg/sec AtomicQueueB, 7,s: 6,819,595 msg/sec AtomicQueueB, 7,i: 7,654,325 msg/sec AtomicQueueB, 8,s: 6,218,275 msg/sec AtomicQueueB, 8,i: 7,147,017 msg/sec OptimistAtomicQueue, 1,s: 709,675,988 msg/sec OptimistAtomicQueue, 1,i: 536,629,238 msg/sec OptimistAtomicQueue, 2,s: 32,037,130 msg/sec OptimistAtomicQueue, 2,i: 32,137,691 msg/sec OptimistAtomicQueue, 3,s: 36,624,006 msg/sec OptimistAtomicQueue, 3,i: 37,314,885 msg/sec OptimistAtomicQueue, 4,s: 39,195,547 msg/sec OptimistAtomicQueue, 4,i: 39,275,121 msg/sec OptimistAtomicQueue, 5,s: 41,329,350 msg/sec OptimistAtomicQueue, 5,i: 46,250,030 msg/sec OptimistAtomicQueue, 6,s: 42,168,285 msg/sec OptimistAtomicQueue, 6,i: 50,145,020 msg/sec OptimistAtomicQueue, 7,s: 44,199,905 msg/sec OptimistAtomicQueue, 7,i: 48,752,740 msg/sec OptimistAtomicQueue, 8,s: 46,414,425 msg/sec OptimistAtomicQueue, 8,i: 48,969,568 msg/sec OptimistAtomicQueueB, 1,s: 101,172,623 msg/sec OptimistAtomicQueueB, 1,i: 75,661,057 msg/sec OptimistAtomicQueueB, 2,s: 32,220,613 msg/sec OptimistAtomicQueueB, 2,i: 32,171,019 msg/sec OptimistAtomicQueueB, 3,s: 36,075,159 msg/sec OptimistAtomicQueueB, 3,i: 36,723,771 msg/sec OptimistAtomicQueueB, 4,s: 38,606,051 msg/sec OptimistAtomicQueueB, 4,i: 38,654,952 msg/sec OptimistAtomicQueueB, 5,s: 41,079,832 msg/sec OptimistAtomicQueueB, 5,i: 45,284,749 msg/sec OptimistAtomicQueueB, 6,s: 41,209,670 msg/sec OptimistAtomicQueueB, 6,i: 48,844,381 msg/sec OptimistAtomicQueueB, 7,s: 42,260,969 msg/sec OptimistAtomicQueueB, 7,i: 48,022,503 msg/sec OptimistAtomicQueueB, 8,s: 44,373,627 msg/sec OptimistAtomicQueueB, 8,i: 47,517,810 msg/sec AtomicQueue2, 1,s: 22,851,928 msg/sec AtomicQueue2, 1,i: 22,828,001 msg/sec AtomicQueue2, 2,s: 11,750,306 msg/sec AtomicQueue2, 2,i: 11,438,691 msg/sec AtomicQueue2, 3,s: 9,553,586 msg/sec AtomicQueue2, 3,i: 9,354,287 msg/sec AtomicQueue2, 4,s: 8,094,870 msg/sec AtomicQueue2, 4,i: 8,072,532 msg/sec AtomicQueue2, 5,s: 7,914,645 msg/sec AtomicQueue2, 5,i: 8,051,036 msg/sec AtomicQueue2, 6,s: 7,802,412 msg/sec AtomicQueue2, 6,i: 7,547,406 msg/sec AtomicQueue2, 7,s: 7,132,186 msg/sec AtomicQueue2, 7,i: 7,898,197 msg/sec AtomicQueue2, 8,s: 6,390,345 msg/sec AtomicQueue2, 8,i: 7,396,910 msg/sec AtomicQueueB2, 1,s: 36,061,574 msg/sec AtomicQueueB2, 1,i: 32,610,220 msg/sec AtomicQueueB2, 2,s: 11,451,615 msg/sec AtomicQueueB2, 2,i: 11,167,168 msg/sec AtomicQueueB2, 3,s: 9,557,970 msg/sec AtomicQueueB2, 3,i: 9,538,297 msg/sec AtomicQueueB2, 4,s: 7,884,706 msg/sec AtomicQueueB2, 4,i: 7,721,197 msg/sec AtomicQueueB2, 5,s: 7,451,264 msg/sec AtomicQueueB2, 5,i: 7,698,695 msg/sec AtomicQueueB2, 6,s: 7,264,695 msg/sec AtomicQueueB2, 6,i: 7,466,219 msg/sec AtomicQueueB2, 7,s: 6,931,632 msg/sec AtomicQueueB2, 7,i: 7,701,383 msg/sec AtomicQueueB2, 8,s: 6,247,887 msg/sec AtomicQueueB2, 8,i: 7,096,353 msg/sec OptimistAtomicQueue2, 1,s: 527,525,001 msg/sec OptimistAtomicQueue2, 1,i: 31,538,722 msg/sec OptimistAtomicQueue2, 2,s: 25,999,753 msg/sec OptimistAtomicQueue2, 2,i: 24,014,989 msg/sec OptimistAtomicQueue2, 3,s: 30,505,061 msg/sec OptimistAtomicQueue2, 3,i: 29,950,542 msg/sec OptimistAtomicQueue2, 4,s: 33,246,182 msg/sec OptimistAtomicQueue2, 4,i: 33,501,871 msg/sec OptimistAtomicQueue2, 5,s: 37,216,173 msg/sec OptimistAtomicQueue2, 5,i: 40,725,498 msg/sec OptimistAtomicQueue2, 6,s: 40,058,138 msg/sec OptimistAtomicQueue2, 6,i: 49,159,022 msg/sec OptimistAtomicQueue2, 7,s: 42,676,094 msg/sec OptimistAtomicQueue2, 7,i: 48,143,447 msg/sec OptimistAtomicQueue2, 8,s: 43,943,841 msg/sec OptimistAtomicQueue2, 8,i: 48,204,574 msg/sec OptimistAtomicQueueB2, 1,s: 78,384,968 msg/sec OptimistAtomicQueueB2, 1,i: 33,873,309 msg/sec OptimistAtomicQueueB2, 2,s: 27,152,812 msg/sec OptimistAtomicQueueB2, 2,i: 24,811,610 msg/sec OptimistAtomicQueueB2, 3,s: 29,744,854 msg/sec OptimistAtomicQueueB2, 3,i: 29,097,808 msg/sec OptimistAtomicQueueB2, 4,s: 33,256,312 msg/sec OptimistAtomicQueueB2, 4,i: 33,082,853 msg/sec OptimistAtomicQueueB2, 5,s: 34,742,425 msg/sec OptimistAtomicQueueB2, 5,i: 38,989,199 msg/sec OptimistAtomicQueueB2, 6,s: 37,264,707 msg/sec OptimistAtomicQueueB2, 6,i: 42,175,418 msg/sec OptimistAtomicQueueB2, 7,s: 40,118,438 msg/sec OptimistAtomicQueueB2, 7,i: 45,318,896 msg/sec OptimistAtomicQueueB2, 8,s: 42,504,468 msg/sec OptimistAtomicQueueB2, 8,i: 45,895,978 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000124 sec/round-trip moodycamel::ConcurrentQueue: 0.000000254 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000450 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [91] 361m:16s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,840,929 msg/sec boost::lockfree::spsc_queue, 1,i: 70,713,017 msg/sec boost::lockfree::queue, 1,s: 7,678,268 msg/sec boost::lockfree::queue, 1,i: 6,953,860 msg/sec boost::lockfree::queue, 2,s: 7,536,660 msg/sec boost::lockfree::queue, 2,i: 7,432,517 msg/sec boost::lockfree::queue, 3,s: 7,410,398 msg/sec boost::lockfree::queue, 3,i: 7,579,041 msg/sec boost::lockfree::queue, 4,s: 6,421,934 msg/sec boost::lockfree::queue, 4,i: 6,814,980 msg/sec boost::lockfree::queue, 5,s: 6,396,525 msg/sec boost::lockfree::queue, 5,i: 6,489,638 msg/sec boost::lockfree::queue, 6,s: 5,943,875 msg/sec boost::lockfree::queue, 6,i: 6,111,139 msg/sec boost::lockfree::queue, 7,s: 5,827,356 msg/sec boost::lockfree::queue, 7,i: 6,056,727 msg/sec boost::lockfree::queue, 8,s: 5,460,769 msg/sec boost::lockfree::queue, 8,i: 5,533,294 msg/sec moodycamel::ReaderWriterQueue, 1,s: 454,222,956 msg/sec moodycamel::ReaderWriterQueue, 1,i: 454,054,147 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,557,403 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,791,100 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,450,730 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,569,739 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,928,937 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,627,098 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,352,015 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,563,867 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,152,336 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,979,071 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,732,782 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,344,390 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,225,796 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,082,878 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,176,085 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,516,791 msg/sec pthread_spinlock, 1,s: 28,813,629 msg/sec pthread_spinlock, 1,i: 25,279,352 msg/sec pthread_spinlock, 2,s: 15,184,554 msg/sec pthread_spinlock, 2,i: 16,926,983 msg/sec pthread_spinlock, 3,s: 8,443,889 msg/sec pthread_spinlock, 3,i: 12,079,124 msg/sec pthread_spinlock, 4,s: 6,518,526 msg/sec pthread_spinlock, 4,i: 9,209,606 msg/sec pthread_spinlock, 5,s: 8,742,145 msg/sec pthread_spinlock, 5,i: 9,483,203 msg/sec pthread_spinlock, 6,s: 8,338,649 msg/sec pthread_spinlock, 6,i: 8,408,564 msg/sec pthread_spinlock, 7,s: 7,915,954 msg/sec pthread_spinlock, 7,i: 7,701,589 msg/sec pthread_spinlock, 8,s: 6,887,827 msg/sec pthread_spinlock, 8,i: 6,936,078 msg/sec std::mutex, 1,s: 5,873,860 msg/sec std::mutex, 1,i: 5,884,967 msg/sec std::mutex, 2,s: 5,338,557 msg/sec std::mutex, 2,i: 5,541,519 msg/sec std::mutex, 3,s: 5,395,634 msg/sec std::mutex, 3,i: 5,507,505 msg/sec std::mutex, 4,s: 5,641,175 msg/sec std::mutex, 4,i: 6,208,861 msg/sec std::mutex, 5,s: 5,554,775 msg/sec std::mutex, 5,i: 5,634,412 msg/sec std::mutex, 6,s: 5,929,866 msg/sec std::mutex, 6,i: 5,785,949 msg/sec std::mutex, 7,s: 5,817,981 msg/sec std::mutex, 7,i: 5,784,124 msg/sec std::mutex, 8,s: 5,735,518 msg/sec std::mutex, 8,i: 5,709,203 msg/sec tbb::spin_mutex, 1,s: 37,515,833 msg/sec tbb::spin_mutex, 1,i: 32,974,652 msg/sec tbb::spin_mutex, 2,s: 21,250,994 msg/sec tbb::spin_mutex, 2,i: 18,355,884 msg/sec tbb::spin_mutex, 3,s: 8,938,223 msg/sec tbb::spin_mutex, 3,i: 11,386,117 msg/sec tbb::spin_mutex, 4,s: 3,154,762 msg/sec tbb::spin_mutex, 4,i: 6,308,808 msg/sec tbb::spin_mutex, 5,s: 5,554,121 msg/sec tbb::spin_mutex, 5,i: 5,766,505 msg/sec tbb::spin_mutex, 6,s: 5,397,624 msg/sec tbb::spin_mutex, 6,i: 4,444,615 msg/sec tbb::spin_mutex, 7,s: 4,834,038 msg/sec tbb::spin_mutex, 7,i: 4,345,306 msg/sec tbb::spin_mutex, 8,s: 3,786,329 msg/sec tbb::spin_mutex, 8,i: 4,195,605 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,890,319 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,570,765 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,820,791 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,863,549 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,388,491 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,508,816 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,098,495 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,510,169 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,622,358 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,534,202 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,714,683 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,692,948 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,846,413 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,785,120 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,072,587 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,076,259 msg/sec xenium::michael_scott_queue, 1,s: 9,304,731 msg/sec xenium::michael_scott_queue, 1,i: 9,310,432 msg/sec xenium::michael_scott_queue, 2,s: 8,626,564 msg/sec xenium::michael_scott_queue, 2,i: 8,562,193 msg/sec xenium::michael_scott_queue, 3,s: 7,225,223 msg/sec xenium::michael_scott_queue, 3,i: 7,551,338 msg/sec xenium::michael_scott_queue, 4,s: 6,406,124 msg/sec xenium::michael_scott_queue, 4,i: 6,330,093 msg/sec xenium::michael_scott_queue, 5,s: 6,307,793 msg/sec xenium::michael_scott_queue, 5,i: 6,638,568 msg/sec xenium::michael_scott_queue, 6,s: 6,516,805 msg/sec xenium::michael_scott_queue, 6,i: 6,698,888 msg/sec xenium::michael_scott_queue, 7,s: 6,370,529 msg/sec xenium::michael_scott_queue, 7,i: 6,554,848 msg/sec xenium::michael_scott_queue, 8,s: 5,986,023 msg/sec xenium::michael_scott_queue, 8,i: 6,139,979 msg/sec xenium::ramalhete_queue, 1,s: 32,535,845 msg/sec xenium::ramalhete_queue, 1,i: 31,840,265 msg/sec xenium::ramalhete_queue, 2,s: 23,906,714 msg/sec xenium::ramalhete_queue, 2,i: 24,171,224 msg/sec xenium::ramalhete_queue, 3,s: 29,156,754 msg/sec xenium::ramalhete_queue, 3,i: 28,479,079 msg/sec xenium::ramalhete_queue, 4,s: 33,773,325 msg/sec xenium::ramalhete_queue, 4,i: 33,454,679 msg/sec xenium::ramalhete_queue, 5,s: 32,171,856 msg/sec xenium::ramalhete_queue, 5,i: 38,146,420 msg/sec xenium::ramalhete_queue, 6,s: 34,119,255 msg/sec xenium::ramalhete_queue, 6,i: 39,736,264 msg/sec xenium::ramalhete_queue, 7,s: 35,173,742 msg/sec xenium::ramalhete_queue, 7,i: 41,638,977 msg/sec xenium::ramalhete_queue, 8,s: 35,679,507 msg/sec xenium::ramalhete_queue, 8,i: 44,070,462 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,978,969 msg/sec xenium::vyukov_bounded_queue, 1,i: 85,993,083 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,759,999 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,008,265 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,689,800 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,893,708 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,620,696 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,121,954 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,772,897 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,411,928 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,214,742 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,181,511 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,209,308 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,094,797 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,104 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,326,984 msg/sec AtomicQueue, 1,s: 220,780,342 msg/sec AtomicQueue, 1,i: 57,492,873 msg/sec AtomicQueue, 2,s: 12,296,024 msg/sec AtomicQueue, 2,i: 11,725,167 msg/sec AtomicQueue, 3,s: 10,768,751 msg/sec AtomicQueue, 3,i: 9,905,023 msg/sec AtomicQueue, 4,s: 8,173,851 msg/sec AtomicQueue, 4,i: 8,224,020 msg/sec AtomicQueue, 5,s: 8,048,958 msg/sec AtomicQueue, 5,i: 8,081,723 msg/sec AtomicQueue, 6,s: 7,877,639 msg/sec AtomicQueue, 6,i: 7,599,408 msg/sec AtomicQueue, 7,s: 7,174,178 msg/sec AtomicQueue, 7,i: 7,983,844 msg/sec AtomicQueue, 8,s: 6,352,842 msg/sec AtomicQueue, 8,i: 7,461,844 msg/sec AtomicQueueB, 1,s: 44,524,952 msg/sec AtomicQueueB, 1,i: 43,866,313 msg/sec AtomicQueueB, 2,s: 11,777,963 msg/sec AtomicQueueB, 2,i: 11,509,548 msg/sec AtomicQueueB, 3,s: 11,012,872 msg/sec AtomicQueueB, 3,i: 10,156,957 msg/sec AtomicQueueB, 4,s: 8,005,778 msg/sec AtomicQueueB, 4,i: 8,054,334 msg/sec AtomicQueueB, 5,s: 7,561,796 msg/sec AtomicQueueB, 5,i: 7,839,600 msg/sec AtomicQueueB, 6,s: 7,323,265 msg/sec AtomicQueueB, 6,i: 7,514,775 msg/sec AtomicQueueB, 7,s: 6,893,707 msg/sec AtomicQueueB, 7,i: 7,728,438 msg/sec AtomicQueueB, 8,s: 6,226,967 msg/sec AtomicQueueB, 8,i: 7,153,905 msg/sec OptimistAtomicQueue, 1,s: 815,972,498 msg/sec OptimistAtomicQueue, 1,i: 642,488,228 msg/sec OptimistAtomicQueue, 2,s: 32,670,037 msg/sec OptimistAtomicQueue, 2,i: 32,730,814 msg/sec OptimistAtomicQueue, 3,s: 36,637,100 msg/sec OptimistAtomicQueue, 3,i: 37,409,454 msg/sec OptimistAtomicQueue, 4,s: 39,293,615 msg/sec OptimistAtomicQueue, 4,i: 39,400,008 msg/sec OptimistAtomicQueue, 5,s: 41,690,355 msg/sec OptimistAtomicQueue, 5,i: 46,420,307 msg/sec OptimistAtomicQueue, 6,s: 42,662,482 msg/sec OptimistAtomicQueue, 6,i: 50,246,036 msg/sec OptimistAtomicQueue, 7,s: 44,250,239 msg/sec OptimistAtomicQueue, 7,i: 49,474,248 msg/sec OptimistAtomicQueue, 8,s: 46,425,360 msg/sec OptimistAtomicQueue, 8,i: 49,357,540 msg/sec OptimistAtomicQueueB, 1,s: 136,277,276 msg/sec OptimistAtomicQueueB, 1,i: 76,520,995 msg/sec OptimistAtomicQueueB, 2,s: 32,215,824 msg/sec OptimistAtomicQueueB, 2,i: 32,370,071 msg/sec OptimistAtomicQueueB, 3,s: 36,273,940 msg/sec OptimistAtomicQueueB, 3,i: 36,971,880 msg/sec OptimistAtomicQueueB, 4,s: 38,634,979 msg/sec OptimistAtomicQueueB, 4,i: 38,681,868 msg/sec OptimistAtomicQueueB, 5,s: 40,973,478 msg/sec OptimistAtomicQueueB, 5,i: 46,007,626 msg/sec OptimistAtomicQueueB, 6,s: 40,822,392 msg/sec OptimistAtomicQueueB, 6,i: 48,761,297 msg/sec OptimistAtomicQueueB, 7,s: 41,984,108 msg/sec OptimistAtomicQueueB, 7,i: 51,310,812 msg/sec OptimistAtomicQueueB, 8,s: 44,557,052 msg/sec OptimistAtomicQueueB, 8,i: 47,684,469 msg/sec AtomicQueue2, 1,s: 22,862,527 msg/sec AtomicQueue2, 1,i: 22,887,058 msg/sec AtomicQueue2, 2,s: 11,898,230 msg/sec AtomicQueue2, 2,i: 11,251,529 msg/sec AtomicQueue2, 3,s: 9,559,937 msg/sec AtomicQueue2, 3,i: 9,412,807 msg/sec AtomicQueue2, 4,s: 8,056,955 msg/sec AtomicQueue2, 4,i: 8,068,654 msg/sec AtomicQueue2, 5,s: 7,904,402 msg/sec AtomicQueue2, 5,i: 8,041,292 msg/sec AtomicQueue2, 6,s: 7,708,062 msg/sec AtomicQueue2, 6,i: 7,505,029 msg/sec AtomicQueue2, 7,s: 7,163,295 msg/sec AtomicQueue2, 7,i: 7,898,259 msg/sec AtomicQueue2, 8,s: 6,391,760 msg/sec AtomicQueue2, 8,i: 7,249,359 msg/sec AtomicQueueB2, 1,s: 36,190,030 msg/sec AtomicQueueB2, 1,i: 32,611,893 msg/sec AtomicQueueB2, 2,s: 11,496,235 msg/sec AtomicQueueB2, 2,i: 11,114,357 msg/sec AtomicQueueB2, 3,s: 9,641,420 msg/sec AtomicQueueB2, 3,i: 9,605,157 msg/sec AtomicQueueB2, 4,s: 7,951,507 msg/sec AtomicQueueB2, 4,i: 7,817,002 msg/sec AtomicQueueB2, 5,s: 7,589,579 msg/sec AtomicQueueB2, 5,i: 7,637,705 msg/sec AtomicQueueB2, 6,s: 7,284,546 msg/sec AtomicQueueB2, 6,i: 7,374,997 msg/sec AtomicQueueB2, 7,s: 6,851,881 msg/sec AtomicQueueB2, 7,i: 7,713,670 msg/sec AtomicQueueB2, 8,s: 6,358,412 msg/sec AtomicQueueB2, 8,i: 7,104,318 msg/sec OptimistAtomicQueue2, 1,s: 682,547,965 msg/sec OptimistAtomicQueue2, 1,i: 42,878,366 msg/sec OptimistAtomicQueue2, 2,s: 25,568,866 msg/sec OptimistAtomicQueue2, 2,i: 24,015,820 msg/sec OptimistAtomicQueue2, 3,s: 33,297,724 msg/sec OptimistAtomicQueue2, 3,i: 29,883,964 msg/sec OptimistAtomicQueue2, 4,s: 33,183,083 msg/sec OptimistAtomicQueue2, 4,i: 33,236,317 msg/sec OptimistAtomicQueue2, 5,s: 37,186,839 msg/sec OptimistAtomicQueue2, 5,i: 41,229,636 msg/sec OptimistAtomicQueue2, 6,s: 40,220,526 msg/sec OptimistAtomicQueue2, 6,i: 49,441,241 msg/sec OptimistAtomicQueue2, 7,s: 43,265,647 msg/sec OptimistAtomicQueue2, 7,i: 51,587,000 msg/sec OptimistAtomicQueue2, 8,s: 43,997,738 msg/sec OptimistAtomicQueue2, 8,i: 48,356,793 msg/sec OptimistAtomicQueueB2, 1,s: 78,498,434 msg/sec OptimistAtomicQueueB2, 1,i: 62,307,812 msg/sec OptimistAtomicQueueB2, 2,s: 28,939,634 msg/sec OptimistAtomicQueueB2, 2,i: 23,147,516 msg/sec OptimistAtomicQueueB2, 3,s: 29,554,674 msg/sec OptimistAtomicQueueB2, 3,i: 29,021,987 msg/sec OptimistAtomicQueueB2, 4,s: 33,318,536 msg/sec OptimistAtomicQueueB2, 4,i: 31,974,605 msg/sec OptimistAtomicQueueB2, 5,s: 34,625,989 msg/sec OptimistAtomicQueueB2, 5,i: 39,308,655 msg/sec OptimistAtomicQueueB2, 6,s: 37,408,259 msg/sec OptimistAtomicQueueB2, 6,i: 42,252,832 msg/sec OptimistAtomicQueueB2, 7,s: 40,063,011 msg/sec OptimistAtomicQueueB2, 7,i: 45,296,710 msg/sec OptimistAtomicQueueB2, 8,s: 42,182,921 msg/sec OptimistAtomicQueueB2, 8,i: 45,561,782 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000165 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000240 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [92] 359m:56s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,385,511 msg/sec boost::lockfree::spsc_queue, 1,i: 65,429,677 msg/sec boost::lockfree::queue, 1,s: 6,887,328 msg/sec boost::lockfree::queue, 1,i: 6,897,337 msg/sec boost::lockfree::queue, 2,s: 7,655,509 msg/sec boost::lockfree::queue, 2,i: 7,494,457 msg/sec boost::lockfree::queue, 3,s: 7,399,814 msg/sec boost::lockfree::queue, 3,i: 7,535,572 msg/sec boost::lockfree::queue, 4,s: 6,428,881 msg/sec boost::lockfree::queue, 4,i: 6,795,227 msg/sec boost::lockfree::queue, 5,s: 6,483,787 msg/sec boost::lockfree::queue, 5,i: 6,477,680 msg/sec boost::lockfree::queue, 6,s: 5,993,344 msg/sec boost::lockfree::queue, 6,i: 6,133,620 msg/sec boost::lockfree::queue, 7,s: 6,084,009 msg/sec boost::lockfree::queue, 7,i: 6,046,687 msg/sec boost::lockfree::queue, 8,s: 5,472,417 msg/sec boost::lockfree::queue, 8,i: 5,497,926 msg/sec moodycamel::ReaderWriterQueue, 1,s: 192,054,540 msg/sec moodycamel::ReaderWriterQueue, 1,i: 88,032,194 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,219,329 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,876,113 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,967,423 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,012,610 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,843,913 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,042,471 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,260,039 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,656,556 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,159,008 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,256,762 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,559,338 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,328,962 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,045,181 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,101,752 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,188,673 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,230,721 msg/sec pthread_spinlock, 1,s: 29,076,367 msg/sec pthread_spinlock, 1,i: 25,465,054 msg/sec pthread_spinlock, 2,s: 16,001,342 msg/sec pthread_spinlock, 2,i: 16,828,825 msg/sec pthread_spinlock, 3,s: 8,372,727 msg/sec pthread_spinlock, 3,i: 12,033,197 msg/sec pthread_spinlock, 4,s: 6,517,419 msg/sec pthread_spinlock, 4,i: 9,018,699 msg/sec pthread_spinlock, 5,s: 8,617,222 msg/sec pthread_spinlock, 5,i: 8,980,843 msg/sec pthread_spinlock, 6,s: 8,280,413 msg/sec pthread_spinlock, 6,i: 8,422,855 msg/sec pthread_spinlock, 7,s: 7,509,934 msg/sec pthread_spinlock, 7,i: 7,969,461 msg/sec pthread_spinlock, 8,s: 6,899,647 msg/sec pthread_spinlock, 8,i: 7,309,874 msg/sec std::mutex, 1,s: 7,052,015 msg/sec std::mutex, 1,i: 7,465,789 msg/sec std::mutex, 2,s: 5,995,244 msg/sec std::mutex, 2,i: 6,048,575 msg/sec std::mutex, 3,s: 5,923,459 msg/sec std::mutex, 3,i: 5,579,329 msg/sec std::mutex, 4,s: 6,245,078 msg/sec std::mutex, 4,i: 6,367,773 msg/sec std::mutex, 5,s: 6,006,455 msg/sec std::mutex, 5,i: 6,245,048 msg/sec std::mutex, 6,s: 5,960,299 msg/sec std::mutex, 6,i: 5,903,022 msg/sec std::mutex, 7,s: 5,877,375 msg/sec std::mutex, 7,i: 5,860,545 msg/sec std::mutex, 8,s: 5,783,528 msg/sec std::mutex, 8,i: 5,774,279 msg/sec tbb::spin_mutex, 1,s: 38,146,842 msg/sec tbb::spin_mutex, 1,i: 37,878,697 msg/sec tbb::spin_mutex, 2,s: 21,026,648 msg/sec tbb::spin_mutex, 2,i: 20,926,392 msg/sec tbb::spin_mutex, 3,s: 8,268,046 msg/sec tbb::spin_mutex, 3,i: 11,185,960 msg/sec tbb::spin_mutex, 4,s: 3,117,411 msg/sec tbb::spin_mutex, 4,i: 6,414,248 msg/sec tbb::spin_mutex, 5,s: 5,251,343 msg/sec tbb::spin_mutex, 5,i: 5,813,050 msg/sec tbb::spin_mutex, 6,s: 5,382,593 msg/sec tbb::spin_mutex, 6,i: 4,400,747 msg/sec tbb::spin_mutex, 7,s: 4,863,310 msg/sec tbb::spin_mutex, 7,i: 4,372,128 msg/sec tbb::spin_mutex, 8,s: 4,247,884 msg/sec tbb::spin_mutex, 8,i: 4,181,231 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,069,891 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,134,012 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,679,903 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,021,693 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,385,008 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,644,086 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,345,930 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,242,668 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,658,794 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,803,619 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,760,605 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,987,856 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,984,900 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,056,187 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,883,435 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,107,125 msg/sec xenium::michael_scott_queue, 1,s: 9,321,052 msg/sec xenium::michael_scott_queue, 1,i: 9,259,242 msg/sec xenium::michael_scott_queue, 2,s: 8,485,342 msg/sec xenium::michael_scott_queue, 2,i: 8,427,051 msg/sec xenium::michael_scott_queue, 3,s: 7,169,166 msg/sec xenium::michael_scott_queue, 3,i: 7,527,815 msg/sec xenium::michael_scott_queue, 4,s: 6,305,231 msg/sec xenium::michael_scott_queue, 4,i: 6,322,022 msg/sec xenium::michael_scott_queue, 5,s: 6,301,005 msg/sec xenium::michael_scott_queue, 5,i: 6,640,527 msg/sec xenium::michael_scott_queue, 6,s: 6,550,977 msg/sec xenium::michael_scott_queue, 6,i: 6,721,061 msg/sec xenium::michael_scott_queue, 7,s: 6,316,777 msg/sec xenium::michael_scott_queue, 7,i: 6,555,534 msg/sec xenium::michael_scott_queue, 8,s: 6,028,600 msg/sec xenium::michael_scott_queue, 8,i: 6,109,575 msg/sec xenium::ramalhete_queue, 1,s: 32,202,055 msg/sec xenium::ramalhete_queue, 1,i: 32,497,360 msg/sec xenium::ramalhete_queue, 2,s: 23,710,263 msg/sec xenium::ramalhete_queue, 2,i: 23,369,680 msg/sec xenium::ramalhete_queue, 3,s: 29,232,187 msg/sec xenium::ramalhete_queue, 3,i: 28,506,425 msg/sec xenium::ramalhete_queue, 4,s: 33,852,154 msg/sec xenium::ramalhete_queue, 4,i: 33,441,649 msg/sec xenium::ramalhete_queue, 5,s: 32,281,236 msg/sec xenium::ramalhete_queue, 5,i: 36,253,448 msg/sec xenium::ramalhete_queue, 6,s: 34,010,182 msg/sec xenium::ramalhete_queue, 6,i: 38,891,094 msg/sec xenium::ramalhete_queue, 7,s: 35,265,491 msg/sec xenium::ramalhete_queue, 7,i: 41,088,588 msg/sec xenium::ramalhete_queue, 8,s: 35,572,888 msg/sec xenium::ramalhete_queue, 8,i: 44,051,508 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,478,276 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,965,378 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,445,025 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,821,643 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,523,034 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,551,464 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,574,925 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,043,443 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,972,115 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,255,100 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,108,935 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,822,569 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,228,745 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,988,093 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,448,962 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,533,686 msg/sec AtomicQueue, 1,s: 237,305,265 msg/sec AtomicQueue, 1,i: 243,583,478 msg/sec AtomicQueue, 2,s: 12,254,796 msg/sec AtomicQueue, 2,i: 11,741,289 msg/sec AtomicQueue, 3,s: 10,724,649 msg/sec AtomicQueue, 3,i: 9,941,669 msg/sec AtomicQueue, 4,s: 8,142,540 msg/sec AtomicQueue, 4,i: 8,205,432 msg/sec AtomicQueue, 5,s: 8,042,612 msg/sec AtomicQueue, 5,i: 8,114,808 msg/sec AtomicQueue, 6,s: 7,868,332 msg/sec AtomicQueue, 6,i: 7,604,350 msg/sec AtomicQueue, 7,s: 7,126,877 msg/sec AtomicQueue, 7,i: 7,962,043 msg/sec AtomicQueue, 8,s: 6,357,787 msg/sec AtomicQueue, 8,i: 7,433,349 msg/sec AtomicQueueB, 1,s: 44,147,626 msg/sec AtomicQueueB, 1,i: 42,973,521 msg/sec AtomicQueueB, 2,s: 11,947,804 msg/sec AtomicQueueB, 2,i: 11,395,803 msg/sec AtomicQueueB, 3,s: 11,046,111 msg/sec AtomicQueueB, 3,i: 10,155,177 msg/sec AtomicQueueB, 4,s: 8,027,405 msg/sec AtomicQueueB, 4,i: 7,978,688 msg/sec AtomicQueueB, 5,s: 7,459,159 msg/sec AtomicQueueB, 5,i: 7,787,469 msg/sec AtomicQueueB, 6,s: 7,406,511 msg/sec AtomicQueueB, 6,i: 7,514,751 msg/sec AtomicQueueB, 7,s: 6,879,245 msg/sec AtomicQueueB, 7,i: 7,759,094 msg/sec AtomicQueueB, 8,s: 6,264,409 msg/sec AtomicQueueB, 8,i: 7,127,617 msg/sec OptimistAtomicQueue, 1,s: 820,921,850 msg/sec OptimistAtomicQueue, 1,i: 665,200,896 msg/sec OptimistAtomicQueue, 2,s: 32,637,993 msg/sec OptimistAtomicQueue, 2,i: 32,736,570 msg/sec OptimistAtomicQueue, 3,s: 36,626,544 msg/sec OptimistAtomicQueue, 3,i: 37,341,992 msg/sec OptimistAtomicQueue, 4,s: 39,297,966 msg/sec OptimistAtomicQueue, 4,i: 39,386,122 msg/sec OptimistAtomicQueue, 5,s: 42,246,179 msg/sec OptimistAtomicQueue, 5,i: 46,299,200 msg/sec OptimistAtomicQueue, 6,s: 42,141,640 msg/sec OptimistAtomicQueue, 6,i: 50,258,603 msg/sec OptimistAtomicQueue, 7,s: 44,296,391 msg/sec OptimistAtomicQueue, 7,i: 49,095,391 msg/sec OptimistAtomicQueue, 8,s: 46,345,528 msg/sec OptimistAtomicQueue, 8,i: 49,245,884 msg/sec OptimistAtomicQueueB, 1,s: 163,345,352 msg/sec OptimistAtomicQueueB, 1,i: 76,727,304 msg/sec OptimistAtomicQueueB, 2,s: 32,098,604 msg/sec OptimistAtomicQueueB, 2,i: 31,826,809 msg/sec OptimistAtomicQueueB, 3,s: 36,179,715 msg/sec OptimistAtomicQueueB, 3,i: 36,804,310 msg/sec OptimistAtomicQueueB, 4,s: 38,697,177 msg/sec OptimistAtomicQueueB, 4,i: 38,789,385 msg/sec OptimistAtomicQueueB, 5,s: 41,232,750 msg/sec OptimistAtomicQueueB, 5,i: 46,060,757 msg/sec OptimistAtomicQueueB, 6,s: 41,339,105 msg/sec OptimistAtomicQueueB, 6,i: 49,222,705 msg/sec OptimistAtomicQueueB, 7,s: 42,207,226 msg/sec OptimistAtomicQueueB, 7,i: 51,397,246 msg/sec OptimistAtomicQueueB, 8,s: 44,038,152 msg/sec OptimistAtomicQueueB, 8,i: 48,052,516 msg/sec AtomicQueue2, 1,s: 23,152,657 msg/sec AtomicQueue2, 1,i: 23,079,110 msg/sec AtomicQueue2, 2,s: 11,741,636 msg/sec AtomicQueue2, 2,i: 11,419,791 msg/sec AtomicQueue2, 3,s: 9,781,516 msg/sec AtomicQueue2, 3,i: 9,393,006 msg/sec AtomicQueue2, 4,s: 8,049,035 msg/sec AtomicQueue2, 4,i: 8,081,166 msg/sec AtomicQueue2, 5,s: 7,933,625 msg/sec AtomicQueue2, 5,i: 7,952,410 msg/sec AtomicQueue2, 6,s: 7,847,296 msg/sec AtomicQueue2, 6,i: 7,532,518 msg/sec AtomicQueue2, 7,s: 7,166,167 msg/sec AtomicQueue2, 7,i: 7,907,427 msg/sec AtomicQueue2, 8,s: 6,401,292 msg/sec AtomicQueue2, 8,i: 7,367,442 msg/sec AtomicQueueB2, 1,s: 36,171,964 msg/sec AtomicQueueB2, 1,i: 32,629,534 msg/sec AtomicQueueB2, 2,s: 11,488,053 msg/sec AtomicQueueB2, 2,i: 11,089,638 msg/sec AtomicQueueB2, 3,s: 9,598,552 msg/sec AtomicQueueB2, 3,i: 9,484,111 msg/sec AtomicQueueB2, 4,s: 7,981,160 msg/sec AtomicQueueB2, 4,i: 7,800,976 msg/sec AtomicQueueB2, 5,s: 7,438,172 msg/sec AtomicQueueB2, 5,i: 7,680,789 msg/sec AtomicQueueB2, 6,s: 7,259,231 msg/sec AtomicQueueB2, 6,i: 7,471,672 msg/sec AtomicQueueB2, 7,s: 6,895,510 msg/sec AtomicQueueB2, 7,i: 7,699,479 msg/sec AtomicQueueB2, 8,s: 6,293,977 msg/sec AtomicQueueB2, 8,i: 7,115,167 msg/sec OptimistAtomicQueue2, 1,s: 487,191,076 msg/sec OptimistAtomicQueue2, 1,i: 31,975,978 msg/sec OptimistAtomicQueue2, 2,s: 25,666,472 msg/sec OptimistAtomicQueue2, 2,i: 25,055,212 msg/sec OptimistAtomicQueue2, 3,s: 30,318,180 msg/sec OptimistAtomicQueue2, 3,i: 29,974,310 msg/sec OptimistAtomicQueue2, 4,s: 33,247,470 msg/sec OptimistAtomicQueue2, 4,i: 33,240,220 msg/sec OptimistAtomicQueue2, 5,s: 37,003,890 msg/sec OptimistAtomicQueue2, 5,i: 41,586,120 msg/sec OptimistAtomicQueue2, 6,s: 40,182,277 msg/sec OptimistAtomicQueue2, 6,i: 49,322,286 msg/sec OptimistAtomicQueue2, 7,s: 43,045,466 msg/sec OptimistAtomicQueue2, 7,i: 47,908,689 msg/sec OptimistAtomicQueue2, 8,s: 44,069,455 msg/sec OptimistAtomicQueue2, 8,i: 48,540,725 msg/sec OptimistAtomicQueueB2, 1,s: 76,493,469 msg/sec OptimistAtomicQueueB2, 1,i: 62,438,716 msg/sec OptimistAtomicQueueB2, 2,s: 28,921,938 msg/sec OptimistAtomicQueueB2, 2,i: 23,218,329 msg/sec OptimistAtomicQueueB2, 3,s: 29,444,730 msg/sec OptimistAtomicQueueB2, 3,i: 29,650,319 msg/sec OptimistAtomicQueueB2, 4,s: 33,185,428 msg/sec OptimistAtomicQueueB2, 4,i: 32,950,136 msg/sec OptimistAtomicQueueB2, 5,s: 34,638,972 msg/sec OptimistAtomicQueueB2, 5,i: 39,206,393 msg/sec OptimistAtomicQueueB2, 6,s: 37,440,555 msg/sec OptimistAtomicQueueB2, 6,i: 42,557,967 msg/sec OptimistAtomicQueueB2, 7,s: 40,314,096 msg/sec OptimistAtomicQueueB2, 7,i: 43,328,437 msg/sec OptimistAtomicQueueB2, 8,s: 42,385,991 msg/sec OptimistAtomicQueueB2, 8,i: 45,672,611 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [93] 358m:37s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,601,956 msg/sec boost::lockfree::spsc_queue, 1,i: 67,526,049 msg/sec boost::lockfree::queue, 1,s: 6,846,409 msg/sec boost::lockfree::queue, 1,i: 6,955,822 msg/sec boost::lockfree::queue, 2,s: 7,701,298 msg/sec boost::lockfree::queue, 2,i: 7,530,429 msg/sec boost::lockfree::queue, 3,s: 7,310,091 msg/sec boost::lockfree::queue, 3,i: 7,549,024 msg/sec boost::lockfree::queue, 4,s: 6,426,774 msg/sec boost::lockfree::queue, 4,i: 6,972,883 msg/sec boost::lockfree::queue, 5,s: 6,465,311 msg/sec boost::lockfree::queue, 5,i: 6,527,483 msg/sec boost::lockfree::queue, 6,s: 5,948,925 msg/sec boost::lockfree::queue, 6,i: 6,116,416 msg/sec boost::lockfree::queue, 7,s: 5,978,125 msg/sec boost::lockfree::queue, 7,i: 6,047,960 msg/sec boost::lockfree::queue, 8,s: 5,485,607 msg/sec boost::lockfree::queue, 8,i: 5,578,086 msg/sec moodycamel::ReaderWriterQueue, 1,s: 122,611,399 msg/sec moodycamel::ReaderWriterQueue, 1,i: 54,944,342 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,623,891 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,509,106 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,322,082 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,329,953 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,965,681 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,899,723 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,954,323 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,968,064 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,312,901 msg/sec moodycamel::ConcurrentQueue, 5,i: 47,121,047 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,421,313 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,641,954 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,108,287 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,581,229 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,299,263 msg/sec moodycamel::ConcurrentQueue, 8,i: 33,813,765 msg/sec pthread_spinlock, 1,s: 28,796,623 msg/sec pthread_spinlock, 1,i: 25,446,362 msg/sec pthread_spinlock, 2,s: 15,594,283 msg/sec pthread_spinlock, 2,i: 16,939,926 msg/sec pthread_spinlock, 3,s: 8,344,315 msg/sec pthread_spinlock, 3,i: 11,981,579 msg/sec pthread_spinlock, 4,s: 6,494,125 msg/sec pthread_spinlock, 4,i: 9,160,155 msg/sec pthread_spinlock, 5,s: 8,699,040 msg/sec pthread_spinlock, 5,i: 9,528,012 msg/sec pthread_spinlock, 6,s: 8,350,670 msg/sec pthread_spinlock, 6,i: 8,402,964 msg/sec pthread_spinlock, 7,s: 7,524,476 msg/sec pthread_spinlock, 7,i: 7,917,293 msg/sec pthread_spinlock, 8,s: 6,669,352 msg/sec pthread_spinlock, 8,i: 7,532,543 msg/sec std::mutex, 1,s: 7,313,779 msg/sec std::mutex, 1,i: 7,494,205 msg/sec std::mutex, 2,s: 5,997,462 msg/sec std::mutex, 2,i: 6,110,146 msg/sec std::mutex, 3,s: 6,137,911 msg/sec std::mutex, 3,i: 6,076,848 msg/sec std::mutex, 4,s: 6,161,902 msg/sec std::mutex, 4,i: 6,225,764 msg/sec std::mutex, 5,s: 5,972,663 msg/sec std::mutex, 5,i: 6,048,251 msg/sec std::mutex, 6,s: 5,843,585 msg/sec std::mutex, 6,i: 5,893,839 msg/sec std::mutex, 7,s: 5,736,949 msg/sec std::mutex, 7,i: 5,786,577 msg/sec std::mutex, 8,s: 5,648,978 msg/sec std::mutex, 8,i: 5,694,983 msg/sec tbb::spin_mutex, 1,s: 37,507,325 msg/sec tbb::spin_mutex, 1,i: 32,973,949 msg/sec tbb::spin_mutex, 2,s: 21,026,152 msg/sec tbb::spin_mutex, 2,i: 18,494,757 msg/sec tbb::spin_mutex, 3,s: 8,368,347 msg/sec tbb::spin_mutex, 3,i: 10,235,481 msg/sec tbb::spin_mutex, 4,s: 3,238,199 msg/sec tbb::spin_mutex, 4,i: 6,353,905 msg/sec tbb::spin_mutex, 5,s: 5,514,144 msg/sec tbb::spin_mutex, 5,i: 5,855,572 msg/sec tbb::spin_mutex, 6,s: 5,316,626 msg/sec tbb::spin_mutex, 6,i: 4,433,864 msg/sec tbb::spin_mutex, 7,s: 4,856,921 msg/sec tbb::spin_mutex, 7,i: 4,314,040 msg/sec tbb::spin_mutex, 8,s: 3,842,174 msg/sec tbb::spin_mutex, 8,i: 4,198,563 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,220,052 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,982,196 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,159,577 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,528,473 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,591,140 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,690,147 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,573,399 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,530,620 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,872,871 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,673,709 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,933,233 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,715,619 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,884,798 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,834,477 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,769,698 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,466,799 msg/sec xenium::michael_scott_queue, 1,s: 9,315,713 msg/sec xenium::michael_scott_queue, 1,i: 9,202,222 msg/sec xenium::michael_scott_queue, 2,s: 8,573,648 msg/sec xenium::michael_scott_queue, 2,i: 8,499,659 msg/sec xenium::michael_scott_queue, 3,s: 7,231,673 msg/sec xenium::michael_scott_queue, 3,i: 7,596,623 msg/sec xenium::michael_scott_queue, 4,s: 6,236,497 msg/sec xenium::michael_scott_queue, 4,i: 6,412,561 msg/sec xenium::michael_scott_queue, 5,s: 6,313,736 msg/sec xenium::michael_scott_queue, 5,i: 6,612,046 msg/sec xenium::michael_scott_queue, 6,s: 6,505,856 msg/sec xenium::michael_scott_queue, 6,i: 7,039,711 msg/sec xenium::michael_scott_queue, 7,s: 6,298,290 msg/sec xenium::michael_scott_queue, 7,i: 6,506,935 msg/sec xenium::michael_scott_queue, 8,s: 6,023,694 msg/sec xenium::michael_scott_queue, 8,i: 6,170,248 msg/sec xenium::ramalhete_queue, 1,s: 31,196,797 msg/sec xenium::ramalhete_queue, 1,i: 31,353,922 msg/sec xenium::ramalhete_queue, 2,s: 23,505,959 msg/sec xenium::ramalhete_queue, 2,i: 23,975,009 msg/sec xenium::ramalhete_queue, 3,s: 29,219,264 msg/sec xenium::ramalhete_queue, 3,i: 28,404,869 msg/sec xenium::ramalhete_queue, 4,s: 33,769,621 msg/sec xenium::ramalhete_queue, 4,i: 33,519,609 msg/sec xenium::ramalhete_queue, 5,s: 32,121,194 msg/sec xenium::ramalhete_queue, 5,i: 38,373,352 msg/sec xenium::ramalhete_queue, 6,s: 34,241,339 msg/sec xenium::ramalhete_queue, 6,i: 39,743,395 msg/sec xenium::ramalhete_queue, 7,s: 35,046,752 msg/sec xenium::ramalhete_queue, 7,i: 40,831,220 msg/sec xenium::ramalhete_queue, 8,s: 35,513,320 msg/sec xenium::ramalhete_queue, 8,i: 43,909,189 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,221,067 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,965,735 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,022,097 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,366,842 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,716,256 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,081,308 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,600,714 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,130,868 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,971,868 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,367,158 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,059,541 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,556,239 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,184,087 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,321,394 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,383,734 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,216,166 msg/sec AtomicQueue, 1,s: 58,785,619 msg/sec AtomicQueue, 1,i: 56,772,033 msg/sec AtomicQueue, 2,s: 12,216,562 msg/sec AtomicQueue, 2,i: 11,732,978 msg/sec AtomicQueue, 3,s: 10,779,329 msg/sec AtomicQueue, 3,i: 9,876,453 msg/sec AtomicQueue, 4,s: 8,165,786 msg/sec AtomicQueue, 4,i: 8,201,583 msg/sec AtomicQueue, 5,s: 8,060,191 msg/sec AtomicQueue, 5,i: 8,157,729 msg/sec AtomicQueue, 6,s: 7,743,198 msg/sec AtomicQueue, 6,i: 7,644,369 msg/sec AtomicQueue, 7,s: 7,074,571 msg/sec AtomicQueue, 7,i: 7,982,828 msg/sec AtomicQueue, 8,s: 6,335,581 msg/sec AtomicQueue, 8,i: 7,322,896 msg/sec AtomicQueueB, 1,s: 61,942,214 msg/sec AtomicQueueB, 1,i: 42,996,380 msg/sec AtomicQueueB, 2,s: 11,741,149 msg/sec AtomicQueueB, 2,i: 11,461,888 msg/sec AtomicQueueB, 3,s: 10,936,086 msg/sec AtomicQueueB, 3,i: 10,088,774 msg/sec AtomicQueueB, 4,s: 8,023,146 msg/sec AtomicQueueB, 4,i: 7,885,460 msg/sec AtomicQueueB, 5,s: 7,423,704 msg/sec AtomicQueueB, 5,i: 7,839,586 msg/sec AtomicQueueB, 6,s: 7,436,242 msg/sec AtomicQueueB, 6,i: 7,563,953 msg/sec AtomicQueueB, 7,s: 6,913,299 msg/sec AtomicQueueB, 7,i: 7,750,219 msg/sec AtomicQueueB, 8,s: 6,269,714 msg/sec AtomicQueueB, 8,i: 7,133,581 msg/sec OptimistAtomicQueue, 1,s: 720,957,662 msg/sec OptimistAtomicQueue, 1,i: 517,698,962 msg/sec OptimistAtomicQueue, 2,s: 32,166,538 msg/sec OptimistAtomicQueue, 2,i: 32,185,124 msg/sec OptimistAtomicQueue, 3,s: 36,681,267 msg/sec OptimistAtomicQueue, 3,i: 37,349,276 msg/sec OptimistAtomicQueue, 4,s: 39,273,671 msg/sec OptimistAtomicQueue, 4,i: 39,354,079 msg/sec OptimistAtomicQueue, 5,s: 42,459,650 msg/sec OptimistAtomicQueue, 5,i: 46,337,068 msg/sec OptimistAtomicQueue, 6,s: 42,398,393 msg/sec OptimistAtomicQueue, 6,i: 49,839,835 msg/sec OptimistAtomicQueue, 7,s: 44,870,249 msg/sec OptimistAtomicQueue, 7,i: 53,005,289 msg/sec OptimistAtomicQueue, 8,s: 46,620,806 msg/sec OptimistAtomicQueue, 8,i: 48,899,698 msg/sec OptimistAtomicQueueB, 1,s: 108,740,093 msg/sec OptimistAtomicQueueB, 1,i: 78,088,652 msg/sec OptimistAtomicQueueB, 2,s: 32,209,621 msg/sec OptimistAtomicQueueB, 2,i: 32,215,690 msg/sec OptimistAtomicQueueB, 3,s: 36,290,514 msg/sec OptimistAtomicQueueB, 3,i: 36,720,754 msg/sec OptimistAtomicQueueB, 4,s: 38,698,235 msg/sec OptimistAtomicQueueB, 4,i: 38,605,713 msg/sec OptimistAtomicQueueB, 5,s: 40,919,374 msg/sec OptimistAtomicQueueB, 5,i: 45,303,469 msg/sec OptimistAtomicQueueB, 6,s: 41,484,110 msg/sec OptimistAtomicQueueB, 6,i: 49,039,064 msg/sec OptimistAtomicQueueB, 7,s: 42,780,809 msg/sec OptimistAtomicQueueB, 7,i: 51,473,409 msg/sec OptimistAtomicQueueB, 8,s: 44,324,955 msg/sec OptimistAtomicQueueB, 8,i: 47,544,153 msg/sec AtomicQueue2, 1,s: 22,844,687 msg/sec AtomicQueue2, 1,i: 23,003,243 msg/sec AtomicQueue2, 2,s: 11,894,137 msg/sec AtomicQueue2, 2,i: 11,397,727 msg/sec AtomicQueue2, 3,s: 9,451,201 msg/sec AtomicQueue2, 3,i: 9,351,728 msg/sec AtomicQueue2, 4,s: 8,044,202 msg/sec AtomicQueue2, 4,i: 8,066,231 msg/sec AtomicQueue2, 5,s: 7,903,384 msg/sec AtomicQueue2, 5,i: 8,054,854 msg/sec AtomicQueue2, 6,s: 7,588,243 msg/sec AtomicQueue2, 6,i: 7,524,384 msg/sec AtomicQueue2, 7,s: 7,087,563 msg/sec AtomicQueue2, 7,i: 7,938,722 msg/sec AtomicQueue2, 8,s: 6,377,540 msg/sec AtomicQueue2, 8,i: 7,331,818 msg/sec AtomicQueueB2, 1,s: 36,181,283 msg/sec AtomicQueueB2, 1,i: 32,629,379 msg/sec AtomicQueueB2, 2,s: 11,445,874 msg/sec AtomicQueueB2, 2,i: 11,142,089 msg/sec AtomicQueueB2, 3,s: 9,634,617 msg/sec AtomicQueueB2, 3,i: 9,432,106 msg/sec AtomicQueueB2, 4,s: 7,875,088 msg/sec AtomicQueueB2, 4,i: 7,883,166 msg/sec AtomicQueueB2, 5,s: 7,504,203 msg/sec AtomicQueueB2, 5,i: 7,765,744 msg/sec AtomicQueueB2, 6,s: 7,279,322 msg/sec AtomicQueueB2, 6,i: 7,446,155 msg/sec AtomicQueueB2, 7,s: 6,898,960 msg/sec AtomicQueueB2, 7,i: 7,692,907 msg/sec AtomicQueueB2, 8,s: 6,313,057 msg/sec AtomicQueueB2, 8,i: 7,010,484 msg/sec OptimistAtomicQueue2, 1,s: 31,841,866 msg/sec OptimistAtomicQueue2, 1,i: 29,344,484 msg/sec OptimistAtomicQueue2, 2,s: 29,039,064 msg/sec OptimistAtomicQueue2, 2,i: 24,609,395 msg/sec OptimistAtomicQueue2, 3,s: 30,320,935 msg/sec OptimistAtomicQueue2, 3,i: 29,946,309 msg/sec OptimistAtomicQueue2, 4,s: 33,333,363 msg/sec OptimistAtomicQueue2, 4,i: 33,188,109 msg/sec OptimistAtomicQueue2, 5,s: 37,307,727 msg/sec OptimistAtomicQueue2, 5,i: 40,227,405 msg/sec OptimistAtomicQueue2, 6,s: 40,114,930 msg/sec OptimistAtomicQueue2, 6,i: 49,080,636 msg/sec OptimistAtomicQueue2, 7,s: 43,210,085 msg/sec OptimistAtomicQueue2, 7,i: 48,106,807 msg/sec OptimistAtomicQueue2, 8,s: 43,804,431 msg/sec OptimistAtomicQueue2, 8,i: 48,668,008 msg/sec OptimistAtomicQueueB2, 1,s: 78,412,616 msg/sec OptimistAtomicQueueB2, 1,i: 33,868,257 msg/sec OptimistAtomicQueueB2, 2,s: 26,871,735 msg/sec OptimistAtomicQueueB2, 2,i: 23,177,718 msg/sec OptimistAtomicQueueB2, 3,s: 29,712,400 msg/sec OptimistAtomicQueueB2, 3,i: 29,184,544 msg/sec OptimistAtomicQueueB2, 4,s: 33,015,856 msg/sec OptimistAtomicQueueB2, 4,i: 33,083,929 msg/sec OptimistAtomicQueueB2, 5,s: 34,661,316 msg/sec OptimistAtomicQueueB2, 5,i: 39,386,351 msg/sec OptimistAtomicQueueB2, 6,s: 37,391,160 msg/sec OptimistAtomicQueueB2, 6,i: 42,475,505 msg/sec OptimistAtomicQueueB2, 7,s: 40,813,913 msg/sec OptimistAtomicQueueB2, 7,i: 43,265,414 msg/sec OptimistAtomicQueueB2, 8,s: 42,143,363 msg/sec OptimistAtomicQueueB2, 8,i: 45,930,450 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000121 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000286 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000407 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000144 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [94] 357m:18s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,803,707 msg/sec boost::lockfree::spsc_queue, 1,i: 68,153,198 msg/sec boost::lockfree::queue, 1,s: 6,870,179 msg/sec boost::lockfree::queue, 1,i: 6,872,812 msg/sec boost::lockfree::queue, 2,s: 7,502,246 msg/sec boost::lockfree::queue, 2,i: 7,502,951 msg/sec boost::lockfree::queue, 3,s: 7,313,819 msg/sec boost::lockfree::queue, 3,i: 7,552,018 msg/sec boost::lockfree::queue, 4,s: 6,417,202 msg/sec boost::lockfree::queue, 4,i: 6,714,089 msg/sec boost::lockfree::queue, 5,s: 6,466,947 msg/sec boost::lockfree::queue, 5,i: 6,501,032 msg/sec boost::lockfree::queue, 6,s: 6,055,457 msg/sec boost::lockfree::queue, 6,i: 6,116,583 msg/sec boost::lockfree::queue, 7,s: 6,019,328 msg/sec boost::lockfree::queue, 7,i: 5,903,069 msg/sec boost::lockfree::queue, 8,s: 5,438,044 msg/sec boost::lockfree::queue, 8,i: 5,640,366 msg/sec moodycamel::ReaderWriterQueue, 1,s: 229,373,593 msg/sec moodycamel::ReaderWriterQueue, 1,i: 103,511,289 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,256,637 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,617,661 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,695,696 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,553,273 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,096,535 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,616,871 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,669,032 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,465,018 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,381,302 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,696,437 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,329,641 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,742,191 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,965,062 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,072,601 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,325,473 msg/sec moodycamel::ConcurrentQueue, 8,i: 33,131,647 msg/sec pthread_spinlock, 1,s: 29,326,171 msg/sec pthread_spinlock, 1,i: 25,306,772 msg/sec pthread_spinlock, 2,s: 16,044,350 msg/sec pthread_spinlock, 2,i: 16,995,229 msg/sec pthread_spinlock, 3,s: 8,386,283 msg/sec pthread_spinlock, 3,i: 12,052,093 msg/sec pthread_spinlock, 4,s: 6,496,876 msg/sec pthread_spinlock, 4,i: 8,718,550 msg/sec pthread_spinlock, 5,s: 8,679,368 msg/sec pthread_spinlock, 5,i: 9,198,625 msg/sec pthread_spinlock, 6,s: 8,326,781 msg/sec pthread_spinlock, 6,i: 8,459,289 msg/sec pthread_spinlock, 7,s: 7,591,314 msg/sec pthread_spinlock, 7,i: 7,613,354 msg/sec pthread_spinlock, 8,s: 6,760,045 msg/sec pthread_spinlock, 8,i: 6,972,167 msg/sec std::mutex, 1,s: 6,139,447 msg/sec std::mutex, 1,i: 7,169,036 msg/sec std::mutex, 2,s: 5,512,884 msg/sec std::mutex, 2,i: 6,067,333 msg/sec std::mutex, 3,s: 6,094,678 msg/sec std::mutex, 3,i: 5,531,869 msg/sec std::mutex, 4,s: 5,678,742 msg/sec std::mutex, 4,i: 5,677,818 msg/sec std::mutex, 5,s: 6,015,948 msg/sec std::mutex, 5,i: 6,146,003 msg/sec std::mutex, 6,s: 5,867,855 msg/sec std::mutex, 6,i: 5,885,432 msg/sec std::mutex, 7,s: 5,737,007 msg/sec std::mutex, 7,i: 5,815,127 msg/sec std::mutex, 8,s: 5,667,425 msg/sec std::mutex, 8,i: 5,702,642 msg/sec tbb::spin_mutex, 1,s: 37,733,782 msg/sec tbb::spin_mutex, 1,i: 37,562,878 msg/sec tbb::spin_mutex, 2,s: 21,096,800 msg/sec tbb::spin_mutex, 2,i: 18,382,544 msg/sec tbb::spin_mutex, 3,s: 7,370,744 msg/sec tbb::spin_mutex, 3,i: 10,282,981 msg/sec tbb::spin_mutex, 4,s: 3,217,703 msg/sec tbb::spin_mutex, 4,i: 6,370,021 msg/sec tbb::spin_mutex, 5,s: 5,225,300 msg/sec tbb::spin_mutex, 5,i: 5,403,040 msg/sec tbb::spin_mutex, 6,s: 5,243,407 msg/sec tbb::spin_mutex, 6,i: 4,391,150 msg/sec tbb::spin_mutex, 7,s: 4,843,685 msg/sec tbb::spin_mutex, 7,i: 4,331,875 msg/sec tbb::spin_mutex, 8,s: 4,261,475 msg/sec tbb::spin_mutex, 8,i: 4,081,157 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,073,612 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,975,166 msg/sec tbb::concurrent_bounded_queue, 2,s: 15,166,768 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,223,917 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,279,758 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,816,199 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,396,854 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,285,420 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,661,955 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,893,060 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,092,596 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,890,579 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,057,768 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,000,682 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,970,979 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,089,660 msg/sec xenium::michael_scott_queue, 1,s: 10,155,674 msg/sec xenium::michael_scott_queue, 1,i: 9,988,875 msg/sec xenium::michael_scott_queue, 2,s: 8,474,695 msg/sec xenium::michael_scott_queue, 2,i: 8,485,907 msg/sec xenium::michael_scott_queue, 3,s: 7,143,287 msg/sec xenium::michael_scott_queue, 3,i: 7,580,994 msg/sec xenium::michael_scott_queue, 4,s: 6,328,746 msg/sec xenium::michael_scott_queue, 4,i: 6,341,084 msg/sec xenium::michael_scott_queue, 5,s: 6,289,164 msg/sec xenium::michael_scott_queue, 5,i: 6,704,765 msg/sec xenium::michael_scott_queue, 6,s: 6,445,687 msg/sec xenium::michael_scott_queue, 6,i: 6,759,570 msg/sec xenium::michael_scott_queue, 7,s: 6,309,036 msg/sec xenium::michael_scott_queue, 7,i: 6,525,122 msg/sec xenium::michael_scott_queue, 8,s: 6,036,564 msg/sec xenium::michael_scott_queue, 8,i: 6,151,025 msg/sec xenium::ramalhete_queue, 1,s: 32,792,747 msg/sec xenium::ramalhete_queue, 1,i: 32,166,369 msg/sec xenium::ramalhete_queue, 2,s: 23,565,679 msg/sec xenium::ramalhete_queue, 2,i: 23,271,049 msg/sec xenium::ramalhete_queue, 3,s: 29,143,282 msg/sec xenium::ramalhete_queue, 3,i: 28,473,700 msg/sec xenium::ramalhete_queue, 4,s: 33,760,911 msg/sec xenium::ramalhete_queue, 4,i: 33,480,058 msg/sec xenium::ramalhete_queue, 5,s: 32,527,063 msg/sec xenium::ramalhete_queue, 5,i: 35,985,600 msg/sec xenium::ramalhete_queue, 6,s: 33,914,643 msg/sec xenium::ramalhete_queue, 6,i: 39,889,851 msg/sec xenium::ramalhete_queue, 7,s: 34,873,443 msg/sec xenium::ramalhete_queue, 7,i: 40,740,288 msg/sec xenium::ramalhete_queue, 8,s: 35,464,003 msg/sec xenium::ramalhete_queue, 8,i: 43,360,200 msg/sec xenium::vyukov_bounded_queue, 1,s: 103,094,523 msg/sec xenium::vyukov_bounded_queue, 1,i: 103,560,682 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,387,400 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,307,570 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,685,981 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,843,199 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,561,032 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,222,670 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,107,800 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,475,459 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,146,343 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,233,079 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,180,154 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,281,805 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,396,397 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,371,596 msg/sec AtomicQueue, 1,s: 60,526,413 msg/sec AtomicQueue, 1,i: 56,840,844 msg/sec AtomicQueue, 2,s: 12,355,641 msg/sec AtomicQueue, 2,i: 11,745,399 msg/sec AtomicQueue, 3,s: 10,770,703 msg/sec AtomicQueue, 3,i: 9,971,930 msg/sec AtomicQueue, 4,s: 8,166,947 msg/sec AtomicQueue, 4,i: 8,202,544 msg/sec AtomicQueue, 5,s: 8,033,252 msg/sec AtomicQueue, 5,i: 8,137,491 msg/sec AtomicQueue, 6,s: 7,701,151 msg/sec AtomicQueue, 6,i: 7,617,713 msg/sec AtomicQueue, 7,s: 7,134,044 msg/sec AtomicQueue, 7,i: 7,965,499 msg/sec AtomicQueue, 8,s: 6,331,969 msg/sec AtomicQueue, 8,i: 7,439,796 msg/sec AtomicQueueB, 1,s: 43,912,607 msg/sec AtomicQueueB, 1,i: 45,277,450 msg/sec AtomicQueueB, 2,s: 11,870,290 msg/sec AtomicQueueB, 2,i: 11,516,257 msg/sec AtomicQueueB, 3,s: 11,004,129 msg/sec AtomicQueueB, 3,i: 10,076,850 msg/sec AtomicQueueB, 4,s: 8,067,354 msg/sec AtomicQueueB, 4,i: 8,098,869 msg/sec AtomicQueueB, 5,s: 7,735,314 msg/sec AtomicQueueB, 5,i: 7,829,651 msg/sec AtomicQueueB, 6,s: 7,144,948 msg/sec AtomicQueueB, 6,i: 7,602,641 msg/sec AtomicQueueB, 7,s: 6,936,645 msg/sec AtomicQueueB, 7,i: 7,699,245 msg/sec AtomicQueueB, 8,s: 6,209,654 msg/sec AtomicQueueB, 8,i: 7,181,231 msg/sec OptimistAtomicQueue, 1,s: 703,242,298 msg/sec OptimistAtomicQueue, 1,i: 528,578,383 msg/sec OptimistAtomicQueue, 2,s: 32,312,227 msg/sec OptimistAtomicQueue, 2,i: 32,196,192 msg/sec OptimistAtomicQueue, 3,s: 36,649,179 msg/sec OptimistAtomicQueue, 3,i: 37,315,644 msg/sec OptimistAtomicQueue, 4,s: 39,273,806 msg/sec OptimistAtomicQueue, 4,i: 39,395,263 msg/sec OptimistAtomicQueue, 5,s: 41,683,594 msg/sec OptimistAtomicQueue, 5,i: 46,311,659 msg/sec OptimistAtomicQueue, 6,s: 42,538,180 msg/sec OptimistAtomicQueue, 6,i: 50,446,443 msg/sec OptimistAtomicQueue, 7,s: 45,042,866 msg/sec OptimistAtomicQueue, 7,i: 51,969,285 msg/sec OptimistAtomicQueue, 8,s: 46,479,115 msg/sec OptimistAtomicQueue, 8,i: 49,298,904 msg/sec OptimistAtomicQueueB, 1,s: 187,098,877 msg/sec OptimistAtomicQueueB, 1,i: 77,363,692 msg/sec OptimistAtomicQueueB, 2,s: 32,224,691 msg/sec OptimistAtomicQueueB, 2,i: 32,030,599 msg/sec OptimistAtomicQueueB, 3,s: 36,327,494 msg/sec OptimistAtomicQueueB, 3,i: 36,947,668 msg/sec OptimistAtomicQueueB, 4,s: 38,696,572 msg/sec OptimistAtomicQueueB, 4,i: 38,619,739 msg/sec OptimistAtomicQueueB, 5,s: 41,263,664 msg/sec OptimistAtomicQueueB, 5,i: 45,316,208 msg/sec OptimistAtomicQueueB, 6,s: 41,158,920 msg/sec OptimistAtomicQueueB, 6,i: 49,269,652 msg/sec OptimistAtomicQueueB, 7,s: 41,929,031 msg/sec OptimistAtomicQueueB, 7,i: 48,384,530 msg/sec OptimistAtomicQueueB, 8,s: 44,620,383 msg/sec OptimistAtomicQueueB, 8,i: 48,444,709 msg/sec AtomicQueue2, 1,s: 22,824,632 msg/sec AtomicQueue2, 1,i: 22,857,340 msg/sec AtomicQueue2, 2,s: 11,780,399 msg/sec AtomicQueue2, 2,i: 11,391,708 msg/sec AtomicQueue2, 3,s: 9,438,386 msg/sec AtomicQueue2, 3,i: 9,481,014 msg/sec AtomicQueue2, 4,s: 8,085,147 msg/sec AtomicQueue2, 4,i: 8,061,761 msg/sec AtomicQueue2, 5,s: 7,942,332 msg/sec AtomicQueue2, 5,i: 8,029,223 msg/sec AtomicQueue2, 6,s: 7,821,884 msg/sec AtomicQueue2, 6,i: 7,538,195 msg/sec AtomicQueue2, 7,s: 7,143,388 msg/sec AtomicQueue2, 7,i: 7,892,954 msg/sec AtomicQueue2, 8,s: 6,381,661 msg/sec AtomicQueue2, 8,i: 7,348,477 msg/sec AtomicQueueB2, 1,s: 36,166,479 msg/sec AtomicQueueB2, 1,i: 32,645,665 msg/sec AtomicQueueB2, 2,s: 11,489,103 msg/sec AtomicQueueB2, 2,i: 11,125,790 msg/sec AtomicQueueB2, 3,s: 9,697,231 msg/sec AtomicQueueB2, 3,i: 9,522,452 msg/sec AtomicQueueB2, 4,s: 7,941,539 msg/sec AtomicQueueB2, 4,i: 7,922,825 msg/sec AtomicQueueB2, 5,s: 7,480,955 msg/sec AtomicQueueB2, 5,i: 7,754,023 msg/sec AtomicQueueB2, 6,s: 7,103,125 msg/sec AtomicQueueB2, 6,i: 7,444,985 msg/sec AtomicQueueB2, 7,s: 6,887,893 msg/sec AtomicQueueB2, 7,i: 7,725,518 msg/sec AtomicQueueB2, 8,s: 6,335,695 msg/sec AtomicQueueB2, 8,i: 6,983,909 msg/sec OptimistAtomicQueue2, 1,s: 486,951,999 msg/sec OptimistAtomicQueue2, 1,i: 211,217,664 msg/sec OptimistAtomicQueue2, 2,s: 22,692,123 msg/sec OptimistAtomicQueue2, 2,i: 24,362,468 msg/sec OptimistAtomicQueue2, 3,s: 30,327,649 msg/sec OptimistAtomicQueue2, 3,i: 30,009,940 msg/sec OptimistAtomicQueue2, 4,s: 33,339,917 msg/sec OptimistAtomicQueue2, 4,i: 33,036,526 msg/sec OptimistAtomicQueue2, 5,s: 37,274,763 msg/sec OptimistAtomicQueue2, 5,i: 40,349,174 msg/sec OptimistAtomicQueue2, 6,s: 40,409,962 msg/sec OptimistAtomicQueue2, 6,i: 49,241,877 msg/sec OptimistAtomicQueue2, 7,s: 42,807,752 msg/sec OptimistAtomicQueue2, 7,i: 51,666,712 msg/sec OptimistAtomicQueue2, 8,s: 43,851,611 msg/sec OptimistAtomicQueue2, 8,i: 48,610,706 msg/sec OptimistAtomicQueueB2, 1,s: 75,343,696 msg/sec OptimistAtomicQueueB2, 1,i: 33,940,109 msg/sec OptimistAtomicQueueB2, 2,s: 27,243,059 msg/sec OptimistAtomicQueueB2, 2,i: 24,730,208 msg/sec OptimistAtomicQueueB2, 3,s: 29,730,543 msg/sec OptimistAtomicQueueB2, 3,i: 29,236,117 msg/sec OptimistAtomicQueueB2, 4,s: 33,212,032 msg/sec OptimistAtomicQueueB2, 4,i: 33,062,978 msg/sec OptimistAtomicQueueB2, 5,s: 34,746,655 msg/sec OptimistAtomicQueueB2, 5,i: 39,402,213 msg/sec OptimistAtomicQueueB2, 6,s: 37,303,020 msg/sec OptimistAtomicQueueB2, 6,i: 42,589,208 msg/sec OptimistAtomicQueueB2, 7,s: 40,414,265 msg/sec OptimistAtomicQueueB2, 7,i: 43,302,828 msg/sec OptimistAtomicQueueB2, 8,s: 42,595,412 msg/sec OptimistAtomicQueueB2, 8,i: 46,069,261 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000173 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [95] 355m:59s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,211,319 msg/sec boost::lockfree::spsc_queue, 1,i: 65,730,101 msg/sec boost::lockfree::queue, 1,s: 6,914,820 msg/sec boost::lockfree::queue, 1,i: 6,921,469 msg/sec boost::lockfree::queue, 2,s: 7,623,060 msg/sec boost::lockfree::queue, 2,i: 7,457,634 msg/sec boost::lockfree::queue, 3,s: 7,479,639 msg/sec boost::lockfree::queue, 3,i: 7,573,598 msg/sec boost::lockfree::queue, 4,s: 6,423,722 msg/sec boost::lockfree::queue, 4,i: 6,826,853 msg/sec boost::lockfree::queue, 5,s: 6,431,851 msg/sec boost::lockfree::queue, 5,i: 6,426,558 msg/sec boost::lockfree::queue, 6,s: 6,004,656 msg/sec boost::lockfree::queue, 6,i: 6,125,233 msg/sec boost::lockfree::queue, 7,s: 6,027,406 msg/sec boost::lockfree::queue, 7,i: 6,025,147 msg/sec boost::lockfree::queue, 8,s: 5,443,648 msg/sec boost::lockfree::queue, 8,i: 5,569,406 msg/sec moodycamel::ReaderWriterQueue, 1,s: 378,998,122 msg/sec moodycamel::ReaderWriterQueue, 1,i: 423,513,647 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,263,019 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,967,519 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,012,349 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,943,796 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,577,219 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,283,426 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,320,024 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,194,388 msg/sec moodycamel::ConcurrentQueue, 5,s: 30,505,557 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,506,989 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,282,528 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,159,095 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,156,698 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,784,461 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,288,802 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,428,124 msg/sec pthread_spinlock, 1,s: 29,172,923 msg/sec pthread_spinlock, 1,i: 25,281,255 msg/sec pthread_spinlock, 2,s: 15,062,558 msg/sec pthread_spinlock, 2,i: 16,500,117 msg/sec pthread_spinlock, 3,s: 8,270,092 msg/sec pthread_spinlock, 3,i: 11,878,539 msg/sec pthread_spinlock, 4,s: 6,531,904 msg/sec pthread_spinlock, 4,i: 9,328,890 msg/sec pthread_spinlock, 5,s: 8,573,409 msg/sec pthread_spinlock, 5,i: 9,232,771 msg/sec pthread_spinlock, 6,s: 8,166,395 msg/sec pthread_spinlock, 6,i: 8,423,589 msg/sec pthread_spinlock, 7,s: 7,880,786 msg/sec pthread_spinlock, 7,i: 7,384,730 msg/sec pthread_spinlock, 8,s: 6,724,093 msg/sec pthread_spinlock, 8,i: 7,207,992 msg/sec std::mutex, 1,s: 7,005,544 msg/sec std::mutex, 1,i: 7,506,177 msg/sec std::mutex, 2,s: 5,080,990 msg/sec std::mutex, 2,i: 5,967,821 msg/sec std::mutex, 3,s: 6,078,617 msg/sec std::mutex, 3,i: 6,164,103 msg/sec std::mutex, 4,s: 6,160,532 msg/sec std::mutex, 4,i: 6,177,509 msg/sec std::mutex, 5,s: 6,043,433 msg/sec std::mutex, 5,i: 6,237,343 msg/sec std::mutex, 6,s: 5,903,852 msg/sec std::mutex, 6,i: 5,936,032 msg/sec std::mutex, 7,s: 5,784,648 msg/sec std::mutex, 7,i: 5,808,342 msg/sec std::mutex, 8,s: 5,715,256 msg/sec std::mutex, 8,i: 5,647,028 msg/sec tbb::spin_mutex, 1,s: 37,858,796 msg/sec tbb::spin_mutex, 1,i: 32,825,608 msg/sec tbb::spin_mutex, 2,s: 18,474,994 msg/sec tbb::spin_mutex, 2,i: 19,657,495 msg/sec tbb::spin_mutex, 3,s: 8,473,912 msg/sec tbb::spin_mutex, 3,i: 10,914,667 msg/sec tbb::spin_mutex, 4,s: 3,178,708 msg/sec tbb::spin_mutex, 4,i: 6,284,991 msg/sec tbb::spin_mutex, 5,s: 5,590,771 msg/sec tbb::spin_mutex, 5,i: 5,734,136 msg/sec tbb::spin_mutex, 6,s: 5,372,880 msg/sec tbb::spin_mutex, 6,i: 4,307,885 msg/sec tbb::spin_mutex, 7,s: 4,864,975 msg/sec tbb::spin_mutex, 7,i: 4,298,366 msg/sec tbb::spin_mutex, 8,s: 4,259,589 msg/sec tbb::spin_mutex, 8,i: 4,077,131 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,344,882 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,315,809 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,131,839 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,105,479 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,604,102 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,728,151 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,959,693 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,358,866 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,610,405 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,613,905 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,779,923 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,742,551 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,897,110 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,053,492 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,887,708 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,462,578 msg/sec xenium::michael_scott_queue, 1,s: 9,489,346 msg/sec xenium::michael_scott_queue, 1,i: 8,417,342 msg/sec xenium::michael_scott_queue, 2,s: 8,427,214 msg/sec xenium::michael_scott_queue, 2,i: 8,263,102 msg/sec xenium::michael_scott_queue, 3,s: 7,159,538 msg/sec xenium::michael_scott_queue, 3,i: 7,474,109 msg/sec xenium::michael_scott_queue, 4,s: 6,214,181 msg/sec xenium::michael_scott_queue, 4,i: 6,398,453 msg/sec xenium::michael_scott_queue, 5,s: 6,250,725 msg/sec xenium::michael_scott_queue, 5,i: 6,557,826 msg/sec xenium::michael_scott_queue, 6,s: 6,469,803 msg/sec xenium::michael_scott_queue, 6,i: 6,695,772 msg/sec xenium::michael_scott_queue, 7,s: 6,370,590 msg/sec xenium::michael_scott_queue, 7,i: 6,498,012 msg/sec xenium::michael_scott_queue, 8,s: 5,986,947 msg/sec xenium::michael_scott_queue, 8,i: 6,091,236 msg/sec xenium::ramalhete_queue, 1,s: 31,431,172 msg/sec xenium::ramalhete_queue, 1,i: 31,822,779 msg/sec xenium::ramalhete_queue, 2,s: 24,549,893 msg/sec xenium::ramalhete_queue, 2,i: 23,377,845 msg/sec xenium::ramalhete_queue, 3,s: 29,275,289 msg/sec xenium::ramalhete_queue, 3,i: 28,451,272 msg/sec xenium::ramalhete_queue, 4,s: 33,855,598 msg/sec xenium::ramalhete_queue, 4,i: 33,451,502 msg/sec xenium::ramalhete_queue, 5,s: 32,119,431 msg/sec xenium::ramalhete_queue, 5,i: 36,140,500 msg/sec xenium::ramalhete_queue, 6,s: 33,945,275 msg/sec xenium::ramalhete_queue, 6,i: 38,841,513 msg/sec xenium::ramalhete_queue, 7,s: 35,019,768 msg/sec xenium::ramalhete_queue, 7,i: 41,501,057 msg/sec xenium::ramalhete_queue, 8,s: 35,476,148 msg/sec xenium::ramalhete_queue, 8,i: 44,403,418 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,575,223 msg/sec xenium::vyukov_bounded_queue, 1,i: 75,250,625 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,936,850 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,925,247 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,658,038 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,809,201 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,587,873 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,263,424 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,371,662 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,382,871 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,806,290 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,490,020 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,237,340 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,088,841 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,377,781 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,187,699 msg/sec AtomicQueue, 1,s: 61,061,458 msg/sec AtomicQueue, 1,i: 55,728,468 msg/sec AtomicQueue, 2,s: 12,281,151 msg/sec AtomicQueue, 2,i: 11,744,308 msg/sec AtomicQueue, 3,s: 10,743,819 msg/sec AtomicQueue, 3,i: 9,891,107 msg/sec AtomicQueue, 4,s: 8,262,334 msg/sec AtomicQueue, 4,i: 8,206,498 msg/sec AtomicQueue, 5,s: 7,992,142 msg/sec AtomicQueue, 5,i: 8,073,305 msg/sec AtomicQueue, 6,s: 7,773,365 msg/sec AtomicQueue, 6,i: 7,606,513 msg/sec AtomicQueue, 7,s: 7,064,604 msg/sec AtomicQueue, 7,i: 7,975,505 msg/sec AtomicQueue, 8,s: 6,348,814 msg/sec AtomicQueue, 8,i: 7,356,116 msg/sec AtomicQueueB, 1,s: 43,945,258 msg/sec AtomicQueueB, 1,i: 43,007,165 msg/sec AtomicQueueB, 2,s: 11,673,943 msg/sec AtomicQueueB, 2,i: 11,469,646 msg/sec AtomicQueueB, 3,s: 11,088,670 msg/sec AtomicQueueB, 3,i: 10,287,541 msg/sec AtomicQueueB, 4,s: 8,095,361 msg/sec AtomicQueueB, 4,i: 8,037,597 msg/sec AtomicQueueB, 5,s: 7,677,481 msg/sec AtomicQueueB, 5,i: 7,723,431 msg/sec AtomicQueueB, 6,s: 7,234,121 msg/sec AtomicQueueB, 6,i: 7,480,222 msg/sec AtomicQueueB, 7,s: 6,840,252 msg/sec AtomicQueueB, 7,i: 7,776,467 msg/sec AtomicQueueB, 8,s: 6,255,746 msg/sec AtomicQueueB, 8,i: 7,102,754 msg/sec OptimistAtomicQueue, 1,s: 725,518,555 msg/sec OptimistAtomicQueue, 1,i: 759,720,240 msg/sec OptimistAtomicQueue, 2,s: 32,622,228 msg/sec OptimistAtomicQueue, 2,i: 32,688,302 msg/sec OptimistAtomicQueue, 3,s: 36,645,685 msg/sec OptimistAtomicQueue, 3,i: 37,387,365 msg/sec OptimistAtomicQueue, 4,s: 39,295,960 msg/sec OptimistAtomicQueue, 4,i: 39,398,058 msg/sec OptimistAtomicQueue, 5,s: 42,580,329 msg/sec OptimistAtomicQueue, 5,i: 46,493,290 msg/sec OptimistAtomicQueue, 6,s: 42,074,133 msg/sec OptimistAtomicQueue, 6,i: 50,447,318 msg/sec OptimistAtomicQueue, 7,s: 45,196,643 msg/sec OptimistAtomicQueue, 7,i: 53,070,575 msg/sec OptimistAtomicQueue, 8,s: 46,381,262 msg/sec OptimistAtomicQueue, 8,i: 48,991,419 msg/sec OptimistAtomicQueueB, 1,s: 78,117,232 msg/sec OptimistAtomicQueueB, 1,i: 83,435,829 msg/sec OptimistAtomicQueueB, 2,s: 32,181,494 msg/sec OptimistAtomicQueueB, 2,i: 32,336,077 msg/sec OptimistAtomicQueueB, 3,s: 36,277,919 msg/sec OptimistAtomicQueueB, 3,i: 36,951,721 msg/sec OptimistAtomicQueueB, 4,s: 38,695,967 msg/sec OptimistAtomicQueueB, 4,i: 38,438,764 msg/sec OptimistAtomicQueueB, 5,s: 40,460,657 msg/sec OptimistAtomicQueueB, 5,i: 45,283,653 msg/sec OptimistAtomicQueueB, 6,s: 41,377,230 msg/sec OptimistAtomicQueueB, 6,i: 48,632,232 msg/sec OptimistAtomicQueueB, 7,s: 41,794,246 msg/sec OptimistAtomicQueueB, 7,i: 47,712,685 msg/sec OptimistAtomicQueueB, 8,s: 44,483,339 msg/sec OptimistAtomicQueueB, 8,i: 48,822,733 msg/sec AtomicQueue2, 1,s: 23,295,767 msg/sec AtomicQueue2, 1,i: 23,276,047 msg/sec AtomicQueue2, 2,s: 11,871,398 msg/sec AtomicQueue2, 2,i: 11,572,278 msg/sec AtomicQueue2, 3,s: 9,402,891 msg/sec AtomicQueue2, 3,i: 9,528,720 msg/sec AtomicQueue2, 4,s: 8,101,747 msg/sec AtomicQueue2, 4,i: 8,062,887 msg/sec AtomicQueue2, 5,s: 7,921,693 msg/sec AtomicQueue2, 5,i: 8,024,396 msg/sec AtomicQueue2, 6,s: 7,862,718 msg/sec AtomicQueue2, 6,i: 7,519,530 msg/sec AtomicQueue2, 7,s: 7,111,006 msg/sec AtomicQueue2, 7,i: 7,884,290 msg/sec AtomicQueue2, 8,s: 6,354,741 msg/sec AtomicQueue2, 8,i: 7,227,200 msg/sec AtomicQueueB2, 1,s: 36,064,659 msg/sec AtomicQueueB2, 1,i: 32,649,559 msg/sec AtomicQueueB2, 2,s: 11,465,523 msg/sec AtomicQueueB2, 2,i: 11,082,515 msg/sec AtomicQueueB2, 3,s: 9,614,113 msg/sec AtomicQueueB2, 3,i: 9,483,507 msg/sec AtomicQueueB2, 4,s: 7,891,769 msg/sec AtomicQueueB2, 4,i: 7,815,628 msg/sec AtomicQueueB2, 5,s: 7,535,547 msg/sec AtomicQueueB2, 5,i: 7,761,763 msg/sec AtomicQueueB2, 6,s: 7,254,400 msg/sec AtomicQueueB2, 6,i: 7,428,711 msg/sec AtomicQueueB2, 7,s: 6,897,900 msg/sec AtomicQueueB2, 7,i: 7,706,334 msg/sec AtomicQueueB2, 8,s: 6,334,954 msg/sec AtomicQueueB2, 8,i: 7,076,512 msg/sec OptimistAtomicQueue2, 1,s: 460,974,052 msg/sec OptimistAtomicQueue2, 1,i: 434,420,622 msg/sec OptimistAtomicQueue2, 2,s: 24,816,886 msg/sec OptimistAtomicQueue2, 2,i: 25,387,532 msg/sec OptimistAtomicQueue2, 3,s: 30,337,701 msg/sec OptimistAtomicQueue2, 3,i: 30,045,325 msg/sec OptimistAtomicQueue2, 4,s: 33,158,989 msg/sec OptimistAtomicQueue2, 4,i: 33,516,749 msg/sec OptimistAtomicQueue2, 5,s: 37,196,912 msg/sec OptimistAtomicQueue2, 5,i: 40,100,985 msg/sec OptimistAtomicQueue2, 6,s: 40,550,399 msg/sec OptimistAtomicQueue2, 6,i: 49,279,804 msg/sec OptimistAtomicQueue2, 7,s: 42,647,431 msg/sec OptimistAtomicQueue2, 7,i: 47,965,482 msg/sec OptimistAtomicQueue2, 8,s: 43,982,942 msg/sec OptimistAtomicQueue2, 8,i: 48,494,607 msg/sec OptimistAtomicQueueB2, 1,s: 77,594,779 msg/sec OptimistAtomicQueueB2, 1,i: 33,878,431 msg/sec OptimistAtomicQueueB2, 2,s: 27,911,467 msg/sec OptimistAtomicQueueB2, 2,i: 23,164,587 msg/sec OptimistAtomicQueueB2, 3,s: 29,702,183 msg/sec OptimistAtomicQueueB2, 3,i: 29,440,663 msg/sec OptimistAtomicQueueB2, 4,s: 33,183,387 msg/sec OptimistAtomicQueueB2, 4,i: 32,843,561 msg/sec OptimistAtomicQueueB2, 5,s: 34,521,840 msg/sec OptimistAtomicQueueB2, 5,i: 39,374,883 msg/sec OptimistAtomicQueueB2, 6,s: 37,298,784 msg/sec OptimistAtomicQueueB2, 6,i: 42,301,099 msg/sec OptimistAtomicQueueB2, 7,s: 40,191,120 msg/sec OptimistAtomicQueueB2, 7,i: 43,170,582 msg/sec OptimistAtomicQueueB2, 8,s: 42,517,888 msg/sec OptimistAtomicQueueB2, 8,i: 45,734,056 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000240 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [96] 354m:40s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,985,216 msg/sec boost::lockfree::spsc_queue, 1,i: 67,647,558 msg/sec boost::lockfree::queue, 1,s: 8,159,551 msg/sec boost::lockfree::queue, 1,i: 7,903,903 msg/sec boost::lockfree::queue, 2,s: 7,691,266 msg/sec boost::lockfree::queue, 2,i: 7,598,047 msg/sec boost::lockfree::queue, 3,s: 7,354,996 msg/sec boost::lockfree::queue, 3,i: 7,576,941 msg/sec boost::lockfree::queue, 4,s: 6,424,072 msg/sec boost::lockfree::queue, 4,i: 6,847,980 msg/sec boost::lockfree::queue, 5,s: 6,401,547 msg/sec boost::lockfree::queue, 5,i: 6,449,411 msg/sec boost::lockfree::queue, 6,s: 6,031,812 msg/sec boost::lockfree::queue, 6,i: 6,114,685 msg/sec boost::lockfree::queue, 7,s: 5,983,015 msg/sec boost::lockfree::queue, 7,i: 5,948,452 msg/sec boost::lockfree::queue, 8,s: 5,423,551 msg/sec boost::lockfree::queue, 8,i: 5,599,421 msg/sec moodycamel::ReaderWriterQueue, 1,s: 499,011,022 msg/sec moodycamel::ReaderWriterQueue, 1,i: 489,279,638 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,455,249 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,625,830 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,207,438 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,560,454 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,334,416 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,616,364 msg/sec moodycamel::ConcurrentQueue, 4,s: 42,064,278 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,977,465 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,362,744 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,821,698 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,750,595 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,945,485 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,123,545 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,660,243 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,324,477 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,132,801 msg/sec pthread_spinlock, 1,s: 29,059,308 msg/sec pthread_spinlock, 1,i: 25,315,090 msg/sec pthread_spinlock, 2,s: 15,589,833 msg/sec pthread_spinlock, 2,i: 16,807,795 msg/sec pthread_spinlock, 3,s: 8,380,088 msg/sec pthread_spinlock, 3,i: 12,075,846 msg/sec pthread_spinlock, 4,s: 6,478,275 msg/sec pthread_spinlock, 4,i: 8,895,695 msg/sec pthread_spinlock, 5,s: 8,790,898 msg/sec pthread_spinlock, 5,i: 9,086,598 msg/sec pthread_spinlock, 6,s: 8,357,215 msg/sec pthread_spinlock, 6,i: 8,933,603 msg/sec pthread_spinlock, 7,s: 7,511,990 msg/sec pthread_spinlock, 7,i: 7,541,014 msg/sec pthread_spinlock, 8,s: 6,688,917 msg/sec pthread_spinlock, 8,i: 6,929,987 msg/sec std::mutex, 1,s: 5,918,191 msg/sec std::mutex, 1,i: 6,792,780 msg/sec std::mutex, 2,s: 5,365,812 msg/sec std::mutex, 2,i: 6,087,294 msg/sec std::mutex, 3,s: 6,154,282 msg/sec std::mutex, 3,i: 6,266,697 msg/sec std::mutex, 4,s: 6,281,334 msg/sec std::mutex, 4,i: 6,325,787 msg/sec std::mutex, 5,s: 6,191,867 msg/sec std::mutex, 5,i: 6,036,447 msg/sec std::mutex, 6,s: 6,033,091 msg/sec std::mutex, 6,i: 6,067,890 msg/sec std::mutex, 7,s: 5,834,236 msg/sec std::mutex, 7,i: 5,859,355 msg/sec std::mutex, 8,s: 5,690,147 msg/sec std::mutex, 8,i: 5,717,354 msg/sec tbb::spin_mutex, 1,s: 37,728,635 msg/sec tbb::spin_mutex, 1,i: 32,953,024 msg/sec tbb::spin_mutex, 2,s: 21,080,948 msg/sec tbb::spin_mutex, 2,i: 18,347,063 msg/sec tbb::spin_mutex, 3,s: 7,400,738 msg/sec tbb::spin_mutex, 3,i: 11,022,512 msg/sec tbb::spin_mutex, 4,s: 3,086,322 msg/sec tbb::spin_mutex, 4,i: 6,315,714 msg/sec tbb::spin_mutex, 5,s: 5,423,656 msg/sec tbb::spin_mutex, 5,i: 5,837,083 msg/sec tbb::spin_mutex, 6,s: 5,243,136 msg/sec tbb::spin_mutex, 6,i: 4,370,022 msg/sec tbb::spin_mutex, 7,s: 4,906,395 msg/sec tbb::spin_mutex, 7,i: 4,346,542 msg/sec tbb::spin_mutex, 8,s: 3,823,178 msg/sec tbb::spin_mutex, 8,i: 4,164,518 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,735,086 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,565,543 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,233,736 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,382,995 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,487,557 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,585,120 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,590,175 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,648,459 msg/sec tbb::concurrent_bounded_queue, 5,s: 10,001,140 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,638,260 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,916,747 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,664,103 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,877,728 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,831,533 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,762,603 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,455,320 msg/sec xenium::michael_scott_queue, 1,s: 9,309,614 msg/sec xenium::michael_scott_queue, 1,i: 9,248,801 msg/sec xenium::michael_scott_queue, 2,s: 8,609,810 msg/sec xenium::michael_scott_queue, 2,i: 8,651,565 msg/sec xenium::michael_scott_queue, 3,s: 7,296,498 msg/sec xenium::michael_scott_queue, 3,i: 7,610,960 msg/sec xenium::michael_scott_queue, 4,s: 6,295,887 msg/sec xenium::michael_scott_queue, 4,i: 6,353,175 msg/sec xenium::michael_scott_queue, 5,s: 6,297,885 msg/sec xenium::michael_scott_queue, 5,i: 6,675,252 msg/sec xenium::michael_scott_queue, 6,s: 6,482,083 msg/sec xenium::michael_scott_queue, 6,i: 6,689,018 msg/sec xenium::michael_scott_queue, 7,s: 6,269,114 msg/sec xenium::michael_scott_queue, 7,i: 6,587,568 msg/sec xenium::michael_scott_queue, 8,s: 5,985,327 msg/sec xenium::michael_scott_queue, 8,i: 6,292,343 msg/sec xenium::ramalhete_queue, 1,s: 31,935,502 msg/sec xenium::ramalhete_queue, 1,i: 31,603,741 msg/sec xenium::ramalhete_queue, 2,s: 23,652,438 msg/sec xenium::ramalhete_queue, 2,i: 23,368,925 msg/sec xenium::ramalhete_queue, 3,s: 29,268,729 msg/sec xenium::ramalhete_queue, 3,i: 28,503,614 msg/sec xenium::ramalhete_queue, 4,s: 33,776,769 msg/sec xenium::ramalhete_queue, 4,i: 33,444,552 msg/sec xenium::ramalhete_queue, 5,s: 32,218,887 msg/sec xenium::ramalhete_queue, 5,i: 38,353,360 msg/sec xenium::ramalhete_queue, 6,s: 34,013,045 msg/sec xenium::ramalhete_queue, 6,i: 38,921,930 msg/sec xenium::ramalhete_queue, 7,s: 35,234,679 msg/sec xenium::ramalhete_queue, 7,i: 41,065,271 msg/sec xenium::ramalhete_queue, 8,s: 35,525,513 msg/sec xenium::ramalhete_queue, 8,i: 43,968,248 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,432,332 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,924,199 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,054,779 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,830,261 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,686,952 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,056,593 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,611,551 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,109,494 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,926,924 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,267,935 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,837,265 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,197,196 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,257,238 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,897,098 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,381,999 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,222,345 msg/sec AtomicQueue, 1,s: 60,515,353 msg/sec AtomicQueue, 1,i: 56,282,598 msg/sec AtomicQueue, 2,s: 12,158,042 msg/sec AtomicQueue, 2,i: 11,727,888 msg/sec AtomicQueue, 3,s: 10,681,335 msg/sec AtomicQueue, 3,i: 9,896,436 msg/sec AtomicQueue, 4,s: 8,148,499 msg/sec AtomicQueue, 4,i: 8,194,434 msg/sec AtomicQueue, 5,s: 8,035,093 msg/sec AtomicQueue, 5,i: 8,125,155 msg/sec AtomicQueue, 6,s: 7,784,862 msg/sec AtomicQueue, 6,i: 7,600,518 msg/sec AtomicQueue, 7,s: 7,089,906 msg/sec AtomicQueue, 7,i: 7,982,134 msg/sec AtomicQueue, 8,s: 6,334,693 msg/sec AtomicQueue, 8,i: 7,344,908 msg/sec AtomicQueueB, 1,s: 65,490,773 msg/sec AtomicQueueB, 1,i: 43,068,106 msg/sec AtomicQueueB, 2,s: 11,739,931 msg/sec AtomicQueueB, 2,i: 11,428,446 msg/sec AtomicQueueB, 3,s: 11,044,576 msg/sec AtomicQueueB, 3,i: 10,080,529 msg/sec AtomicQueueB, 4,s: 8,089,007 msg/sec AtomicQueueB, 4,i: 8,063,088 msg/sec AtomicQueueB, 5,s: 7,544,892 msg/sec AtomicQueueB, 5,i: 7,744,638 msg/sec AtomicQueueB, 6,s: 7,250,847 msg/sec AtomicQueueB, 6,i: 7,531,530 msg/sec AtomicQueueB, 7,s: 6,914,574 msg/sec AtomicQueueB, 7,i: 7,744,502 msg/sec AtomicQueueB, 8,s: 6,197,898 msg/sec AtomicQueueB, 8,i: 7,167,563 msg/sec OptimistAtomicQueue, 1,s: 818,621,175 msg/sec OptimistAtomicQueue, 1,i: 632,936,128 msg/sec OptimistAtomicQueue, 2,s: 32,153,185 msg/sec OptimistAtomicQueue, 2,i: 31,963,896 msg/sec OptimistAtomicQueue, 3,s: 36,579,434 msg/sec OptimistAtomicQueue, 3,i: 37,358,273 msg/sec OptimistAtomicQueue, 4,s: 39,258,008 msg/sec OptimistAtomicQueue, 4,i: 39,317,362 msg/sec OptimistAtomicQueue, 5,s: 42,483,352 msg/sec OptimistAtomicQueue, 5,i: 46,281,984 msg/sec OptimistAtomicQueue, 6,s: 42,255,702 msg/sec OptimistAtomicQueue, 6,i: 50,215,363 msg/sec OptimistAtomicQueue, 7,s: 45,145,869 msg/sec OptimistAtomicQueue, 7,i: 49,235,332 msg/sec OptimistAtomicQueue, 8,s: 46,607,939 msg/sec OptimistAtomicQueue, 8,i: 49,004,426 msg/sec OptimistAtomicQueueB, 1,s: 163,731,238 msg/sec OptimistAtomicQueueB, 1,i: 199,044,615 msg/sec OptimistAtomicQueueB, 2,s: 32,180,391 msg/sec OptimistAtomicQueueB, 2,i: 32,247,699 msg/sec OptimistAtomicQueueB, 3,s: 36,227,692 msg/sec OptimistAtomicQueueB, 3,i: 36,967,005 msg/sec OptimistAtomicQueueB, 4,s: 38,709,914 msg/sec OptimistAtomicQueueB, 4,i: 38,653,457 msg/sec OptimistAtomicQueueB, 5,s: 40,984,802 msg/sec OptimistAtomicQueueB, 5,i: 45,322,576 msg/sec OptimistAtomicQueueB, 6,s: 41,259,582 msg/sec OptimistAtomicQueueB, 6,i: 48,981,067 msg/sec OptimistAtomicQueueB, 7,s: 41,794,741 msg/sec OptimistAtomicQueueB, 7,i: 51,430,899 msg/sec OptimistAtomicQueueB, 8,s: 44,642,437 msg/sec OptimistAtomicQueueB, 8,i: 48,038,788 msg/sec AtomicQueue2, 1,s: 22,843,625 msg/sec AtomicQueue2, 1,i: 22,900,840 msg/sec AtomicQueue2, 2,s: 11,796,951 msg/sec AtomicQueue2, 2,i: 11,525,020 msg/sec AtomicQueue2, 3,s: 9,419,912 msg/sec AtomicQueue2, 3,i: 9,356,293 msg/sec AtomicQueue2, 4,s: 8,070,770 msg/sec AtomicQueue2, 4,i: 8,095,732 msg/sec AtomicQueue2, 5,s: 7,952,401 msg/sec AtomicQueue2, 5,i: 8,051,473 msg/sec AtomicQueue2, 6,s: 7,809,222 msg/sec AtomicQueue2, 6,i: 7,524,994 msg/sec AtomicQueue2, 7,s: 7,134,793 msg/sec AtomicQueue2, 7,i: 7,878,588 msg/sec AtomicQueue2, 8,s: 6,398,788 msg/sec AtomicQueue2, 8,i: 7,266,616 msg/sec AtomicQueueB2, 1,s: 36,174,538 msg/sec AtomicQueueB2, 1,i: 32,617,106 msg/sec AtomicQueueB2, 2,s: 11,500,787 msg/sec AtomicQueueB2, 2,i: 11,118,301 msg/sec AtomicQueueB2, 3,s: 9,675,214 msg/sec AtomicQueueB2, 3,i: 9,606,175 msg/sec AtomicQueueB2, 4,s: 7,958,754 msg/sec AtomicQueueB2, 4,i: 7,887,516 msg/sec AtomicQueueB2, 5,s: 7,579,614 msg/sec AtomicQueueB2, 5,i: 7,664,105 msg/sec AtomicQueueB2, 6,s: 7,287,112 msg/sec AtomicQueueB2, 6,i: 7,408,203 msg/sec AtomicQueueB2, 7,s: 6,894,985 msg/sec AtomicQueueB2, 7,i: 7,716,281 msg/sec AtomicQueueB2, 8,s: 6,352,844 msg/sec AtomicQueueB2, 8,i: 7,077,080 msg/sec OptimistAtomicQueue2, 1,s: 464,304,232 msg/sec OptimistAtomicQueue2, 1,i: 29,515,098 msg/sec OptimistAtomicQueue2, 2,s: 24,293,062 msg/sec OptimistAtomicQueue2, 2,i: 24,017,606 msg/sec OptimistAtomicQueue2, 3,s: 30,319,099 msg/sec OptimistAtomicQueue2, 3,i: 29,954,987 msg/sec OptimistAtomicQueue2, 4,s: 33,172,468 msg/sec OptimistAtomicQueue2, 4,i: 33,187,495 msg/sec OptimistAtomicQueue2, 5,s: 37,000,305 msg/sec OptimistAtomicQueue2, 5,i: 40,399,256 msg/sec OptimistAtomicQueue2, 6,s: 39,954,184 msg/sec OptimistAtomicQueue2, 6,i: 49,353,207 msg/sec OptimistAtomicQueue2, 7,s: 42,679,844 msg/sec OptimistAtomicQueue2, 7,i: 48,190,893 msg/sec OptimistAtomicQueue2, 8,s: 43,889,640 msg/sec OptimistAtomicQueue2, 8,i: 48,591,870 msg/sec OptimistAtomicQueueB2, 1,s: 71,124,545 msg/sec OptimistAtomicQueueB2, 1,i: 73,927,549 msg/sec OptimistAtomicQueueB2, 2,s: 28,970,504 msg/sec OptimistAtomicQueueB2, 2,i: 23,232,387 msg/sec OptimistAtomicQueueB2, 3,s: 31,856,774 msg/sec OptimistAtomicQueueB2, 3,i: 29,061,662 msg/sec OptimistAtomicQueueB2, 4,s: 33,198,594 msg/sec OptimistAtomicQueueB2, 4,i: 32,924,547 msg/sec OptimistAtomicQueueB2, 5,s: 34,663,526 msg/sec OptimistAtomicQueueB2, 5,i: 39,172,072 msg/sec OptimistAtomicQueueB2, 6,s: 37,635,516 msg/sec OptimistAtomicQueueB2, 6,i: 42,374,159 msg/sec OptimistAtomicQueueB2, 7,s: 40,057,031 msg/sec OptimistAtomicQueueB2, 7,i: 45,392,318 msg/sec OptimistAtomicQueueB2, 8,s: 42,294,302 msg/sec OptimistAtomicQueueB2, 8,i: 46,707,532 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000295 sec/round-trip std::mutex: 0.000000453 sec/round-trip tbb::spin_mutex: 0.000000258 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [97] 353m:21s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 75,356,361 msg/sec boost::lockfree::spsc_queue, 1,i: 73,849,414 msg/sec boost::lockfree::queue, 1,s: 6,958,338 msg/sec boost::lockfree::queue, 1,i: 6,943,535 msg/sec boost::lockfree::queue, 2,s: 7,458,712 msg/sec boost::lockfree::queue, 2,i: 7,643,494 msg/sec boost::lockfree::queue, 3,s: 7,339,226 msg/sec boost::lockfree::queue, 3,i: 7,550,473 msg/sec boost::lockfree::queue, 4,s: 6,421,457 msg/sec boost::lockfree::queue, 4,i: 6,777,699 msg/sec boost::lockfree::queue, 5,s: 6,399,724 msg/sec boost::lockfree::queue, 5,i: 6,470,215 msg/sec boost::lockfree::queue, 6,s: 5,985,491 msg/sec boost::lockfree::queue, 6,i: 6,136,100 msg/sec boost::lockfree::queue, 7,s: 5,957,156 msg/sec boost::lockfree::queue, 7,i: 5,960,525 msg/sec boost::lockfree::queue, 8,s: 5,412,559 msg/sec boost::lockfree::queue, 8,i: 5,733,867 msg/sec moodycamel::ReaderWriterQueue, 1,s: 70,229,533 msg/sec moodycamel::ReaderWriterQueue, 1,i: 61,660,711 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,834,281 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,756,366 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,185,304 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,875,563 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,612,954 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,823,084 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,268,948 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,277,619 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,321,493 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,629,211 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,389,045 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,010,058 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,164,884 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,125,890 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,350,183 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,707,999 msg/sec pthread_spinlock, 1,s: 29,122,575 msg/sec pthread_spinlock, 1,i: 25,423,844 msg/sec pthread_spinlock, 2,s: 15,598,027 msg/sec pthread_spinlock, 2,i: 17,095,492 msg/sec pthread_spinlock, 3,s: 8,370,649 msg/sec pthread_spinlock, 3,i: 12,083,660 msg/sec pthread_spinlock, 4,s: 6,527,364 msg/sec pthread_spinlock, 4,i: 9,132,390 msg/sec pthread_spinlock, 5,s: 8,652,711 msg/sec pthread_spinlock, 5,i: 9,487,612 msg/sec pthread_spinlock, 6,s: 8,601,233 msg/sec pthread_spinlock, 6,i: 8,509,772 msg/sec pthread_spinlock, 7,s: 7,583,401 msg/sec pthread_spinlock, 7,i: 7,505,156 msg/sec pthread_spinlock, 8,s: 6,663,866 msg/sec pthread_spinlock, 8,i: 6,951,833 msg/sec std::mutex, 1,s: 6,905,785 msg/sec std::mutex, 1,i: 7,615,551 msg/sec std::mutex, 2,s: 5,908,216 msg/sec std::mutex, 2,i: 6,137,573 msg/sec std::mutex, 3,s: 6,152,270 msg/sec std::mutex, 3,i: 6,150,006 msg/sec std::mutex, 4,s: 6,211,696 msg/sec std::mutex, 4,i: 6,182,807 msg/sec std::mutex, 5,s: 6,056,881 msg/sec std::mutex, 5,i: 6,209,460 msg/sec std::mutex, 6,s: 5,882,532 msg/sec std::mutex, 6,i: 5,958,144 msg/sec std::mutex, 7,s: 5,795,996 msg/sec std::mutex, 7,i: 5,828,551 msg/sec std::mutex, 8,s: 5,662,605 msg/sec std::mutex, 8,i: 5,709,372 msg/sec tbb::spin_mutex, 1,s: 37,608,983 msg/sec tbb::spin_mutex, 1,i: 33,213,003 msg/sec tbb::spin_mutex, 2,s: 21,246,909 msg/sec tbb::spin_mutex, 2,i: 18,419,935 msg/sec tbb::spin_mutex, 3,s: 7,419,120 msg/sec tbb::spin_mutex, 3,i: 10,249,492 msg/sec tbb::spin_mutex, 4,s: 3,169,277 msg/sec tbb::spin_mutex, 4,i: 6,317,468 msg/sec tbb::spin_mutex, 5,s: 5,543,470 msg/sec tbb::spin_mutex, 5,i: 5,823,634 msg/sec tbb::spin_mutex, 6,s: 5,337,113 msg/sec tbb::spin_mutex, 6,i: 4,446,861 msg/sec tbb::spin_mutex, 7,s: 4,848,823 msg/sec tbb::spin_mutex, 7,i: 4,357,343 msg/sec tbb::spin_mutex, 8,s: 4,254,731 msg/sec tbb::spin_mutex, 8,i: 4,072,712 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,487,484 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,984,489 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,053,938 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,640,503 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,221,038 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,306,655 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,380,462 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,305,238 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,748,111 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,718,072 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,779,382 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,973,343 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,906,462 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,972,310 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,904,977 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,108,124 msg/sec xenium::michael_scott_queue, 1,s: 9,324,034 msg/sec xenium::michael_scott_queue, 1,i: 9,289,611 msg/sec xenium::michael_scott_queue, 2,s: 8,571,601 msg/sec xenium::michael_scott_queue, 2,i: 8,523,834 msg/sec xenium::michael_scott_queue, 3,s: 7,164,587 msg/sec xenium::michael_scott_queue, 3,i: 7,585,946 msg/sec xenium::michael_scott_queue, 4,s: 6,368,058 msg/sec xenium::michael_scott_queue, 4,i: 6,374,251 msg/sec xenium::michael_scott_queue, 5,s: 6,312,132 msg/sec xenium::michael_scott_queue, 5,i: 6,668,268 msg/sec xenium::michael_scott_queue, 6,s: 6,456,128 msg/sec xenium::michael_scott_queue, 6,i: 6,731,551 msg/sec xenium::michael_scott_queue, 7,s: 6,330,920 msg/sec xenium::michael_scott_queue, 7,i: 6,477,315 msg/sec xenium::michael_scott_queue, 8,s: 5,964,323 msg/sec xenium::michael_scott_queue, 8,i: 6,100,685 msg/sec xenium::ramalhete_queue, 1,s: 32,382,807 msg/sec xenium::ramalhete_queue, 1,i: 32,349,851 msg/sec xenium::ramalhete_queue, 2,s: 23,543,549 msg/sec xenium::ramalhete_queue, 2,i: 23,414,592 msg/sec xenium::ramalhete_queue, 3,s: 29,258,306 msg/sec xenium::ramalhete_queue, 3,i: 28,436,445 msg/sec xenium::ramalhete_queue, 4,s: 33,907,644 msg/sec xenium::ramalhete_queue, 4,i: 33,362,114 msg/sec xenium::ramalhete_queue, 5,s: 31,999,899 msg/sec xenium::ramalhete_queue, 5,i: 36,128,611 msg/sec xenium::ramalhete_queue, 6,s: 34,027,523 msg/sec xenium::ramalhete_queue, 6,i: 40,162,256 msg/sec xenium::ramalhete_queue, 7,s: 35,047,249 msg/sec xenium::ramalhete_queue, 7,i: 41,552,419 msg/sec xenium::ramalhete_queue, 8,s: 35,472,989 msg/sec xenium::ramalhete_queue, 8,i: 43,984,159 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,691,922 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,767,642 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,309,857 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,161,666 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,664,001 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,976,753 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,603,775 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,247,230 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,775,424 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,301,219 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,967,169 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,390,076 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,190,373 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,043,122 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,369,477 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,504,139 msg/sec AtomicQueue, 1,s: 98,965,694 msg/sec AtomicQueue, 1,i: 244,356,614 msg/sec AtomicQueue, 2,s: 12,299,536 msg/sec AtomicQueue, 2,i: 11,762,653 msg/sec AtomicQueue, 3,s: 10,823,172 msg/sec AtomicQueue, 3,i: 9,948,645 msg/sec AtomicQueue, 4,s: 8,150,995 msg/sec AtomicQueue, 4,i: 8,184,613 msg/sec AtomicQueue, 5,s: 8,022,966 msg/sec AtomicQueue, 5,i: 8,110,611 msg/sec AtomicQueue, 6,s: 7,788,705 msg/sec AtomicQueue, 6,i: 7,607,728 msg/sec AtomicQueue, 7,s: 7,182,764 msg/sec AtomicQueue, 7,i: 8,000,584 msg/sec AtomicQueue, 8,s: 6,355,819 msg/sec AtomicQueue, 8,i: 7,322,422 msg/sec AtomicQueueB, 1,s: 44,269,554 msg/sec AtomicQueueB, 1,i: 42,972,436 msg/sec AtomicQueueB, 2,s: 12,001,892 msg/sec AtomicQueueB, 2,i: 11,505,369 msg/sec AtomicQueueB, 3,s: 11,003,157 msg/sec AtomicQueueB, 3,i: 10,078,950 msg/sec AtomicQueueB, 4,s: 8,058,089 msg/sec AtomicQueueB, 4,i: 8,103,847 msg/sec AtomicQueueB, 5,s: 7,545,811 msg/sec AtomicQueueB, 5,i: 7,727,570 msg/sec AtomicQueueB, 6,s: 7,266,546 msg/sec AtomicQueueB, 6,i: 7,607,633 msg/sec AtomicQueueB, 7,s: 6,928,294 msg/sec AtomicQueueB, 7,i: 7,769,751 msg/sec AtomicQueueB, 8,s: 6,210,085 msg/sec AtomicQueueB, 8,i: 7,160,924 msg/sec OptimistAtomicQueue, 1,s: 777,928,912 msg/sec OptimistAtomicQueue, 1,i: 529,993,736 msg/sec OptimistAtomicQueue, 2,s: 32,631,760 msg/sec OptimistAtomicQueue, 2,i: 32,699,581 msg/sec OptimistAtomicQueue, 3,s: 36,680,645 msg/sec OptimistAtomicQueue, 3,i: 37,425,554 msg/sec OptimistAtomicQueue, 4,s: 39,279,057 msg/sec OptimistAtomicQueue, 4,i: 39,418,159 msg/sec OptimistAtomicQueue, 5,s: 42,605,944 msg/sec OptimistAtomicQueue, 5,i: 46,271,913 msg/sec OptimistAtomicQueue, 6,s: 42,542,602 msg/sec OptimistAtomicQueue, 6,i: 50,472,700 msg/sec OptimistAtomicQueue, 7,s: 44,175,244 msg/sec OptimistAtomicQueue, 7,i: 49,488,345 msg/sec OptimistAtomicQueue, 8,s: 46,346,566 msg/sec OptimistAtomicQueue, 8,i: 49,276,628 msg/sec OptimistAtomicQueueB, 1,s: 114,435,955 msg/sec OptimistAtomicQueueB, 1,i: 188,672,526 msg/sec OptimistAtomicQueueB, 2,s: 32,190,784 msg/sec OptimistAtomicQueueB, 2,i: 32,118,350 msg/sec OptimistAtomicQueueB, 3,s: 36,155,178 msg/sec OptimistAtomicQueueB, 3,i: 36,721,970 msg/sec OptimistAtomicQueueB, 4,s: 38,673,745 msg/sec OptimistAtomicQueueB, 4,i: 38,674,741 msg/sec OptimistAtomicQueueB, 5,s: 40,611,867 msg/sec OptimistAtomicQueueB, 5,i: 46,035,872 msg/sec OptimistAtomicQueueB, 6,s: 40,635,029 msg/sec OptimistAtomicQueueB, 6,i: 48,671,305 msg/sec OptimistAtomicQueueB, 7,s: 42,632,637 msg/sec OptimistAtomicQueueB, 7,i: 47,730,717 msg/sec OptimistAtomicQueueB, 8,s: 44,438,538 msg/sec OptimistAtomicQueueB, 8,i: 48,096,411 msg/sec AtomicQueue2, 1,s: 22,845,785 msg/sec AtomicQueue2, 1,i: 22,868,136 msg/sec AtomicQueue2, 2,s: 11,908,858 msg/sec AtomicQueue2, 2,i: 11,517,408 msg/sec AtomicQueue2, 3,s: 9,339,657 msg/sec AtomicQueue2, 3,i: 9,528,675 msg/sec AtomicQueue2, 4,s: 8,051,836 msg/sec AtomicQueue2, 4,i: 8,055,416 msg/sec AtomicQueue2, 5,s: 7,840,314 msg/sec AtomicQueue2, 5,i: 8,031,028 msg/sec AtomicQueue2, 6,s: 7,880,722 msg/sec AtomicQueue2, 6,i: 7,546,223 msg/sec AtomicQueue2, 7,s: 7,113,036 msg/sec AtomicQueue2, 7,i: 7,886,743 msg/sec AtomicQueue2, 8,s: 6,379,826 msg/sec AtomicQueue2, 8,i: 7,291,371 msg/sec AtomicQueueB2, 1,s: 36,228,097 msg/sec AtomicQueueB2, 1,i: 32,608,380 msg/sec AtomicQueueB2, 2,s: 11,464,467 msg/sec AtomicQueueB2, 2,i: 11,082,927 msg/sec AtomicQueueB2, 3,s: 9,622,573 msg/sec AtomicQueueB2, 3,i: 9,538,632 msg/sec AtomicQueueB2, 4,s: 7,903,715 msg/sec AtomicQueueB2, 4,i: 7,873,842 msg/sec AtomicQueueB2, 5,s: 7,382,439 msg/sec AtomicQueueB2, 5,i: 7,730,696 msg/sec AtomicQueueB2, 6,s: 7,249,771 msg/sec AtomicQueueB2, 6,i: 7,398,978 msg/sec AtomicQueueB2, 7,s: 6,781,097 msg/sec AtomicQueueB2, 7,i: 7,706,873 msg/sec AtomicQueueB2, 8,s: 6,339,018 msg/sec AtomicQueueB2, 8,i: 6,964,061 msg/sec OptimistAtomicQueue2, 1,s: 471,392,375 msg/sec OptimistAtomicQueue2, 1,i: 32,620,821 msg/sec OptimistAtomicQueue2, 2,s: 24,902,176 msg/sec OptimistAtomicQueue2, 2,i: 24,017,403 msg/sec OptimistAtomicQueue2, 3,s: 30,318,010 msg/sec OptimistAtomicQueue2, 3,i: 29,939,685 msg/sec OptimistAtomicQueue2, 4,s: 33,189,559 msg/sec OptimistAtomicQueue2, 4,i: 33,454,353 msg/sec OptimistAtomicQueue2, 5,s: 37,576,243 msg/sec OptimistAtomicQueue2, 5,i: 40,096,870 msg/sec OptimistAtomicQueue2, 6,s: 40,006,822 msg/sec OptimistAtomicQueue2, 6,i: 49,028,894 msg/sec OptimistAtomicQueue2, 7,s: 42,709,884 msg/sec OptimistAtomicQueue2, 7,i: 51,648,012 msg/sec OptimistAtomicQueue2, 8,s: 44,524,079 msg/sec OptimistAtomicQueue2, 8,i: 48,693,910 msg/sec OptimistAtomicQueueB2, 1,s: 76,499,469 msg/sec OptimistAtomicQueueB2, 1,i: 33,876,002 msg/sec OptimistAtomicQueueB2, 2,s: 27,240,547 msg/sec OptimistAtomicQueueB2, 2,i: 23,197,236 msg/sec OptimistAtomicQueueB2, 3,s: 29,645,847 msg/sec OptimistAtomicQueueB2, 3,i: 29,855,304 msg/sec OptimistAtomicQueueB2, 4,s: 33,038,609 msg/sec OptimistAtomicQueueB2, 4,i: 33,108,450 msg/sec OptimistAtomicQueueB2, 5,s: 34,575,733 msg/sec OptimistAtomicQueueB2, 5,i: 39,303,622 msg/sec OptimistAtomicQueueB2, 6,s: 36,914,952 msg/sec OptimistAtomicQueueB2, 6,i: 42,454,194 msg/sec OptimistAtomicQueueB2, 7,s: 40,897,919 msg/sec OptimistAtomicQueueB2, 7,i: 43,264,636 msg/sec OptimistAtomicQueueB2, 8,s: 42,009,328 msg/sec OptimistAtomicQueueB2, 8,i: 44,830,760 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000314 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000184 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [98] 352m:2s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,261,152 msg/sec boost::lockfree::spsc_queue, 1,i: 68,008,587 msg/sec boost::lockfree::queue, 1,s: 6,778,070 msg/sec boost::lockfree::queue, 1,i: 6,846,888 msg/sec boost::lockfree::queue, 2,s: 7,533,766 msg/sec boost::lockfree::queue, 2,i: 7,508,956 msg/sec boost::lockfree::queue, 3,s: 7,367,165 msg/sec boost::lockfree::queue, 3,i: 7,541,639 msg/sec boost::lockfree::queue, 4,s: 6,422,056 msg/sec boost::lockfree::queue, 4,i: 6,805,656 msg/sec boost::lockfree::queue, 5,s: 6,489,412 msg/sec boost::lockfree::queue, 5,i: 6,472,938 msg/sec boost::lockfree::queue, 6,s: 5,966,059 msg/sec boost::lockfree::queue, 6,i: 6,160,513 msg/sec boost::lockfree::queue, 7,s: 5,905,043 msg/sec boost::lockfree::queue, 7,i: 5,936,447 msg/sec boost::lockfree::queue, 8,s: 5,451,438 msg/sec boost::lockfree::queue, 8,i: 5,560,266 msg/sec moodycamel::ReaderWriterQueue, 1,s: 400,932,689 msg/sec moodycamel::ReaderWriterQueue, 1,i: 71,900,925 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,050,802 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,658,875 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,257,500 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,178,400 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,968,692 msg/sec moodycamel::ConcurrentQueue, 3,i: 41,025,894 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,562,241 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,675,725 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,109,896 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,693,389 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,408,992 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,882,814 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,142,321 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,362,665 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,181,057 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,670,063 msg/sec pthread_spinlock, 1,s: 28,771,900 msg/sec pthread_spinlock, 1,i: 25,288,895 msg/sec pthread_spinlock, 2,s: 15,644,214 msg/sec pthread_spinlock, 2,i: 16,962,618 msg/sec pthread_spinlock, 3,s: 8,397,743 msg/sec pthread_spinlock, 3,i: 12,010,296 msg/sec pthread_spinlock, 4,s: 6,481,989 msg/sec pthread_spinlock, 4,i: 9,025,660 msg/sec pthread_spinlock, 5,s: 8,803,598 msg/sec pthread_spinlock, 5,i: 9,059,371 msg/sec pthread_spinlock, 6,s: 8,275,815 msg/sec pthread_spinlock, 6,i: 8,558,147 msg/sec pthread_spinlock, 7,s: 7,580,175 msg/sec pthread_spinlock, 7,i: 7,602,082 msg/sec pthread_spinlock, 8,s: 6,666,645 msg/sec pthread_spinlock, 8,i: 7,379,000 msg/sec std::mutex, 1,s: 6,260,997 msg/sec std::mutex, 1,i: 6,663,520 msg/sec std::mutex, 2,s: 5,719,417 msg/sec std::mutex, 2,i: 6,011,763 msg/sec std::mutex, 3,s: 5,957,986 msg/sec std::mutex, 3,i: 6,046,471 msg/sec std::mutex, 4,s: 5,999,986 msg/sec std::mutex, 4,i: 6,142,751 msg/sec std::mutex, 5,s: 5,942,667 msg/sec std::mutex, 5,i: 5,873,182 msg/sec std::mutex, 6,s: 5,738,580 msg/sec std::mutex, 6,i: 5,797,545 msg/sec std::mutex, 7,s: 5,731,979 msg/sec std::mutex, 7,i: 5,777,498 msg/sec std::mutex, 8,s: 5,631,039 msg/sec std::mutex, 8,i: 5,676,732 msg/sec tbb::spin_mutex, 1,s: 38,078,248 msg/sec tbb::spin_mutex, 1,i: 37,380,561 msg/sec tbb::spin_mutex, 2,s: 21,178,804 msg/sec tbb::spin_mutex, 2,i: 18,393,397 msg/sec tbb::spin_mutex, 3,s: 7,515,178 msg/sec tbb::spin_mutex, 3,i: 10,056,135 msg/sec tbb::spin_mutex, 4,s: 3,024,847 msg/sec tbb::spin_mutex, 4,i: 6,314,450 msg/sec tbb::spin_mutex, 5,s: 5,491,651 msg/sec tbb::spin_mutex, 5,i: 5,453,984 msg/sec tbb::spin_mutex, 6,s: 5,206,388 msg/sec tbb::spin_mutex, 6,i: 4,357,444 msg/sec tbb::spin_mutex, 7,s: 4,853,171 msg/sec tbb::spin_mutex, 7,i: 4,301,469 msg/sec tbb::spin_mutex, 8,s: 3,794,079 msg/sec tbb::spin_mutex, 8,i: 4,071,913 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,091,319 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,169,420 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,107,367 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,333,951 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,614,273 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,486,807 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,537,121 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,619,930 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,928,979 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,643,894 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,933,647 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,720,843 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,910,236 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,792,600 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,793,752 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,457,229 msg/sec xenium::michael_scott_queue, 1,s: 9,185,246 msg/sec xenium::michael_scott_queue, 1,i: 9,074,589 msg/sec xenium::michael_scott_queue, 2,s: 8,533,271 msg/sec xenium::michael_scott_queue, 2,i: 8,432,611 msg/sec xenium::michael_scott_queue, 3,s: 7,218,697 msg/sec xenium::michael_scott_queue, 3,i: 7,582,543 msg/sec xenium::michael_scott_queue, 4,s: 6,358,015 msg/sec xenium::michael_scott_queue, 4,i: 6,339,508 msg/sec xenium::michael_scott_queue, 5,s: 6,313,601 msg/sec xenium::michael_scott_queue, 5,i: 6,663,094 msg/sec xenium::michael_scott_queue, 6,s: 6,473,955 msg/sec xenium::michael_scott_queue, 6,i: 6,713,502 msg/sec xenium::michael_scott_queue, 7,s: 6,291,354 msg/sec xenium::michael_scott_queue, 7,i: 6,574,759 msg/sec xenium::michael_scott_queue, 8,s: 6,053,023 msg/sec xenium::michael_scott_queue, 8,i: 6,087,381 msg/sec xenium::ramalhete_queue, 1,s: 32,748,076 msg/sec xenium::ramalhete_queue, 1,i: 31,605,565 msg/sec xenium::ramalhete_queue, 2,s: 23,543,609 msg/sec xenium::ramalhete_queue, 2,i: 23,378,738 msg/sec xenium::ramalhete_queue, 3,s: 29,161,539 msg/sec xenium::ramalhete_queue, 3,i: 28,530,010 msg/sec xenium::ramalhete_queue, 4,s: 33,709,727 msg/sec xenium::ramalhete_queue, 4,i: 33,533,172 msg/sec xenium::ramalhete_queue, 5,s: 32,952,712 msg/sec xenium::ramalhete_queue, 5,i: 36,516,276 msg/sec xenium::ramalhete_queue, 6,s: 34,128,733 msg/sec xenium::ramalhete_queue, 6,i: 38,724,644 msg/sec xenium::ramalhete_queue, 7,s: 35,156,766 msg/sec xenium::ramalhete_queue, 7,i: 40,633,377 msg/sec xenium::ramalhete_queue, 8,s: 35,590,626 msg/sec xenium::ramalhete_queue, 8,i: 43,794,064 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,420,935 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,754,630 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,978,146 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,016,782 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,638,751 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,985,387 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,472,095 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,281,802 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,854,239 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,218,529 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,926,071 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,505,088 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,185,857 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,203,519 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,865 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,330,749 msg/sec AtomicQueue, 1,s: 60,008,551 msg/sec AtomicQueue, 1,i: 57,069,416 msg/sec AtomicQueue, 2,s: 12,369,974 msg/sec AtomicQueue, 2,i: 11,720,944 msg/sec AtomicQueue, 3,s: 10,831,447 msg/sec AtomicQueue, 3,i: 9,891,191 msg/sec AtomicQueue, 4,s: 8,232,403 msg/sec AtomicQueue, 4,i: 8,225,389 msg/sec AtomicQueue, 5,s: 8,030,835 msg/sec AtomicQueue, 5,i: 7,975,194 msg/sec AtomicQueue, 6,s: 7,981,901 msg/sec AtomicQueue, 6,i: 7,617,475 msg/sec AtomicQueue, 7,s: 7,137,886 msg/sec AtomicQueue, 7,i: 7,972,989 msg/sec AtomicQueue, 8,s: 6,335,023 msg/sec AtomicQueue, 8,i: 7,462,487 msg/sec AtomicQueueB, 1,s: 95,005,090 msg/sec AtomicQueueB, 1,i: 42,961,990 msg/sec AtomicQueueB, 2,s: 11,853,590 msg/sec AtomicQueueB, 2,i: 11,494,828 msg/sec AtomicQueueB, 3,s: 10,918,988 msg/sec AtomicQueueB, 3,i: 10,236,906 msg/sec AtomicQueueB, 4,s: 8,061,900 msg/sec AtomicQueueB, 4,i: 8,059,086 msg/sec AtomicQueueB, 5,s: 7,709,773 msg/sec AtomicQueueB, 5,i: 7,762,198 msg/sec AtomicQueueB, 6,s: 7,251,493 msg/sec AtomicQueueB, 6,i: 7,518,485 msg/sec AtomicQueueB, 7,s: 6,871,801 msg/sec AtomicQueueB, 7,i: 7,739,908 msg/sec AtomicQueueB, 8,s: 6,198,141 msg/sec AtomicQueueB, 8,i: 7,179,426 msg/sec OptimistAtomicQueue, 1,s: 628,682,606 msg/sec OptimistAtomicQueue, 1,i: 500,819,089 msg/sec OptimistAtomicQueue, 2,s: 32,019,174 msg/sec OptimistAtomicQueue, 2,i: 32,181,926 msg/sec OptimistAtomicQueue, 3,s: 36,607,522 msg/sec OptimistAtomicQueue, 3,i: 37,310,629 msg/sec OptimistAtomicQueue, 4,s: 39,270,179 msg/sec OptimistAtomicQueue, 4,i: 39,399,002 msg/sec OptimistAtomicQueue, 5,s: 41,788,400 msg/sec OptimistAtomicQueue, 5,i: 47,396,228 msg/sec OptimistAtomicQueue, 6,s: 42,758,876 msg/sec OptimistAtomicQueue, 6,i: 49,754,641 msg/sec OptimistAtomicQueue, 7,s: 43,982,259 msg/sec OptimistAtomicQueue, 7,i: 52,929,972 msg/sec OptimistAtomicQueue, 8,s: 46,429,196 msg/sec OptimistAtomicQueue, 8,i: 48,216,620 msg/sec OptimistAtomicQueueB, 1,s: 169,152,167 msg/sec OptimistAtomicQueueB, 1,i: 76,350,632 msg/sec OptimistAtomicQueueB, 2,s: 32,213,401 msg/sec OptimistAtomicQueueB, 2,i: 32,215,411 msg/sec OptimistAtomicQueueB, 3,s: 36,178,397 msg/sec OptimistAtomicQueueB, 3,i: 36,935,594 msg/sec OptimistAtomicQueueB, 4,s: 38,727,714 msg/sec OptimistAtomicQueueB, 4,i: 38,664,648 msg/sec OptimistAtomicQueueB, 5,s: 40,828,446 msg/sec OptimistAtomicQueueB, 5,i: 45,225,844 msg/sec OptimistAtomicQueueB, 6,s: 40,489,135 msg/sec OptimistAtomicQueueB, 6,i: 49,116,302 msg/sec OptimistAtomicQueueB, 7,s: 42,196,322 msg/sec OptimistAtomicQueueB, 7,i: 51,436,369 msg/sec OptimistAtomicQueueB, 8,s: 44,349,539 msg/sec OptimistAtomicQueueB, 8,i: 49,009,393 msg/sec AtomicQueue2, 1,s: 22,925,470 msg/sec AtomicQueue2, 1,i: 22,940,085 msg/sec AtomicQueue2, 2,s: 11,806,795 msg/sec AtomicQueue2, 2,i: 11,460,185 msg/sec AtomicQueue2, 3,s: 9,369,315 msg/sec AtomicQueue2, 3,i: 9,368,997 msg/sec AtomicQueue2, 4,s: 8,088,757 msg/sec AtomicQueue2, 4,i: 8,041,099 msg/sec AtomicQueue2, 5,s: 7,878,914 msg/sec AtomicQueue2, 5,i: 8,038,705 msg/sec AtomicQueue2, 6,s: 7,867,522 msg/sec AtomicQueue2, 6,i: 7,519,556 msg/sec AtomicQueue2, 7,s: 7,098,306 msg/sec AtomicQueue2, 7,i: 7,897,313 msg/sec AtomicQueue2, 8,s: 6,395,805 msg/sec AtomicQueue2, 8,i: 7,357,668 msg/sec AtomicQueueB2, 1,s: 36,088,422 msg/sec AtomicQueueB2, 1,i: 32,607,932 msg/sec AtomicQueueB2, 2,s: 11,437,551 msg/sec AtomicQueueB2, 2,i: 11,065,849 msg/sec AtomicQueueB2, 3,s: 9,700,085 msg/sec AtomicQueueB2, 3,i: 9,625,239 msg/sec AtomicQueueB2, 4,s: 8,004,535 msg/sec AtomicQueueB2, 4,i: 7,752,272 msg/sec AtomicQueueB2, 5,s: 7,457,862 msg/sec AtomicQueueB2, 5,i: 7,716,241 msg/sec AtomicQueueB2, 6,s: 7,268,135 msg/sec AtomicQueueB2, 6,i: 7,438,937 msg/sec AtomicQueueB2, 7,s: 6,935,995 msg/sec AtomicQueueB2, 7,i: 7,712,933 msg/sec AtomicQueueB2, 8,s: 6,234,759 msg/sec AtomicQueueB2, 8,i: 7,111,256 msg/sec OptimistAtomicQueue2, 1,s: 256,202,650 msg/sec OptimistAtomicQueue2, 1,i: 155,293,597 msg/sec OptimistAtomicQueue2, 2,s: 24,250,746 msg/sec OptimistAtomicQueue2, 2,i: 24,020,557 msg/sec OptimistAtomicQueue2, 3,s: 30,316,988 msg/sec OptimistAtomicQueue2, 3,i: 30,590,421 msg/sec OptimistAtomicQueue2, 4,s: 33,211,708 msg/sec OptimistAtomicQueue2, 4,i: 33,164,198 msg/sec OptimistAtomicQueue2, 5,s: 36,985,419 msg/sec OptimistAtomicQueue2, 5,i: 40,486,847 msg/sec OptimistAtomicQueue2, 6,s: 40,431,394 msg/sec OptimistAtomicQueue2, 6,i: 49,153,276 msg/sec OptimistAtomicQueue2, 7,s: 43,300,787 msg/sec OptimistAtomicQueue2, 7,i: 51,679,205 msg/sec OptimistAtomicQueue2, 8,s: 43,963,236 msg/sec OptimistAtomicQueue2, 8,i: 49,569,556 msg/sec OptimistAtomicQueueB2, 1,s: 77,229,437 msg/sec OptimistAtomicQueueB2, 1,i: 33,877,998 msg/sec OptimistAtomicQueueB2, 2,s: 26,872,980 msg/sec OptimistAtomicQueueB2, 2,i: 23,749,560 msg/sec OptimistAtomicQueueB2, 3,s: 29,702,520 msg/sec OptimistAtomicQueueB2, 3,i: 32,938,325 msg/sec OptimistAtomicQueueB2, 4,s: 33,258,776 msg/sec OptimistAtomicQueueB2, 4,i: 32,930,577 msg/sec OptimistAtomicQueueB2, 5,s: 34,677,343 msg/sec OptimistAtomicQueueB2, 5,i: 39,387,564 msg/sec OptimistAtomicQueueB2, 6,s: 37,453,620 msg/sec OptimistAtomicQueueB2, 6,i: 42,312,711 msg/sec OptimistAtomicQueueB2, 7,s: 40,179,293 msg/sec OptimistAtomicQueueB2, 7,i: 45,528,072 msg/sec OptimistAtomicQueueB2, 8,s: 42,135,944 msg/sec OptimistAtomicQueueB2, 8,i: 45,583,654 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000119 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000453 sec/round-trip tbb::spin_mutex: 0.000000268 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000169 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [99] 350m:43s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,558,525 msg/sec boost::lockfree::spsc_queue, 1,i: 67,208,069 msg/sec boost::lockfree::queue, 1,s: 7,929,671 msg/sec boost::lockfree::queue, 1,i: 7,487,029 msg/sec boost::lockfree::queue, 2,s: 7,632,008 msg/sec boost::lockfree::queue, 2,i: 7,617,468 msg/sec boost::lockfree::queue, 3,s: 7,375,932 msg/sec boost::lockfree::queue, 3,i: 7,590,106 msg/sec boost::lockfree::queue, 4,s: 6,418,705 msg/sec boost::lockfree::queue, 4,i: 6,872,201 msg/sec boost::lockfree::queue, 5,s: 6,405,001 msg/sec boost::lockfree::queue, 5,i: 6,457,172 msg/sec boost::lockfree::queue, 6,s: 6,011,954 msg/sec boost::lockfree::queue, 6,i: 6,118,497 msg/sec boost::lockfree::queue, 7,s: 5,972,186 msg/sec boost::lockfree::queue, 7,i: 6,066,589 msg/sec boost::lockfree::queue, 8,s: 5,489,542 msg/sec boost::lockfree::queue, 8,i: 5,627,567 msg/sec moodycamel::ReaderWriterQueue, 1,s: 469,890,254 msg/sec moodycamel::ReaderWriterQueue, 1,i: 469,505,335 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,796,446 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,519,311 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,693,309 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,729,696 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,099,506 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,934,975 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,954,455 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,017,696 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,411,319 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,721,778 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,482,881 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,083,505 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,158,921 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,610,427 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,250,072 msg/sec moodycamel::ConcurrentQueue, 8,i: 41,440,773 msg/sec pthread_spinlock, 1,s: 28,868,181 msg/sec pthread_spinlock, 1,i: 25,320,662 msg/sec pthread_spinlock, 2,s: 16,018,547 msg/sec pthread_spinlock, 2,i: 16,886,345 msg/sec pthread_spinlock, 3,s: 8,402,658 msg/sec pthread_spinlock, 3,i: 12,006,087 msg/sec pthread_spinlock, 4,s: 6,510,510 msg/sec pthread_spinlock, 4,i: 9,258,581 msg/sec pthread_spinlock, 5,s: 8,607,056 msg/sec pthread_spinlock, 5,i: 8,964,116 msg/sec pthread_spinlock, 6,s: 8,317,198 msg/sec pthread_spinlock, 6,i: 8,387,399 msg/sec pthread_spinlock, 7,s: 7,734,164 msg/sec pthread_spinlock, 7,i: 7,587,399 msg/sec pthread_spinlock, 8,s: 6,606,987 msg/sec pthread_spinlock, 8,i: 7,342,144 msg/sec std::mutex, 1,s: 7,699,938 msg/sec std::mutex, 1,i: 7,903,263 msg/sec std::mutex, 2,s: 6,145,294 msg/sec std::mutex, 2,i: 6,362,347 msg/sec std::mutex, 3,s: 6,145,371 msg/sec std::mutex, 3,i: 6,290,291 msg/sec std::mutex, 4,s: 5,821,529 msg/sec std::mutex, 4,i: 6,361,367 msg/sec std::mutex, 5,s: 5,923,908 msg/sec std::mutex, 5,i: 6,197,024 msg/sec std::mutex, 6,s: 6,097,515 msg/sec std::mutex, 6,i: 6,021,956 msg/sec std::mutex, 7,s: 5,941,097 msg/sec std::mutex, 7,i: 5,905,568 msg/sec std::mutex, 8,s: 5,722,087 msg/sec std::mutex, 8,i: 5,757,704 msg/sec tbb::spin_mutex, 1,s: 37,731,184 msg/sec tbb::spin_mutex, 1,i: 37,398,334 msg/sec tbb::spin_mutex, 2,s: 21,012,824 msg/sec tbb::spin_mutex, 2,i: 18,487,932 msg/sec tbb::spin_mutex, 3,s: 8,460,488 msg/sec tbb::spin_mutex, 3,i: 10,227,670 msg/sec tbb::spin_mutex, 4,s: 3,346,136 msg/sec tbb::spin_mutex, 4,i: 6,448,136 msg/sec tbb::spin_mutex, 5,s: 5,424,752 msg/sec tbb::spin_mutex, 5,i: 5,771,873 msg/sec tbb::spin_mutex, 6,s: 5,401,821 msg/sec tbb::spin_mutex, 6,i: 4,408,596 msg/sec tbb::spin_mutex, 7,s: 4,470,410 msg/sec tbb::spin_mutex, 7,i: 4,310,095 msg/sec tbb::spin_mutex, 8,s: 4,256,189 msg/sec tbb::spin_mutex, 8,i: 4,185,078 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,897,423 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,382,477 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,285,031 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,412,787 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,382,575 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,689,129 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,610,813 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,630,541 msg/sec tbb::concurrent_bounded_queue, 5,s: 10,011,136 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,687,676 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,824,709 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,739,691 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,887,528 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,804,934 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,782,787 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,470,000 msg/sec xenium::michael_scott_queue, 1,s: 9,630,262 msg/sec xenium::michael_scott_queue, 1,i: 9,408,245 msg/sec xenium::michael_scott_queue, 2,s: 8,377,435 msg/sec xenium::michael_scott_queue, 2,i: 8,394,549 msg/sec xenium::michael_scott_queue, 3,s: 7,329,830 msg/sec xenium::michael_scott_queue, 3,i: 7,570,811 msg/sec xenium::michael_scott_queue, 4,s: 6,319,721 msg/sec xenium::michael_scott_queue, 4,i: 6,380,807 msg/sec xenium::michael_scott_queue, 5,s: 6,295,837 msg/sec xenium::michael_scott_queue, 5,i: 6,631,823 msg/sec xenium::michael_scott_queue, 6,s: 6,519,633 msg/sec xenium::michael_scott_queue, 6,i: 6,709,929 msg/sec xenium::michael_scott_queue, 7,s: 6,299,576 msg/sec xenium::michael_scott_queue, 7,i: 6,443,397 msg/sec xenium::michael_scott_queue, 8,s: 6,001,409 msg/sec xenium::michael_scott_queue, 8,i: 6,131,524 msg/sec xenium::ramalhete_queue, 1,s: 32,549,042 msg/sec xenium::ramalhete_queue, 1,i: 32,676,683 msg/sec xenium::ramalhete_queue, 2,s: 24,655,919 msg/sec xenium::ramalhete_queue, 2,i: 23,295,338 msg/sec xenium::ramalhete_queue, 3,s: 29,092,299 msg/sec xenium::ramalhete_queue, 3,i: 28,403,275 msg/sec xenium::ramalhete_queue, 4,s: 33,875,553 msg/sec xenium::ramalhete_queue, 4,i: 33,433,228 msg/sec xenium::ramalhete_queue, 5,s: 32,143,883 msg/sec xenium::ramalhete_queue, 5,i: 35,939,263 msg/sec xenium::ramalhete_queue, 6,s: 34,028,426 msg/sec xenium::ramalhete_queue, 6,i: 38,902,079 msg/sec xenium::ramalhete_queue, 7,s: 35,100,367 msg/sec xenium::ramalhete_queue, 7,i: 41,370,680 msg/sec xenium::ramalhete_queue, 8,s: 35,613,448 msg/sec xenium::ramalhete_queue, 8,i: 43,964,977 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,172,112 msg/sec xenium::vyukov_bounded_queue, 1,i: 99,366,091 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,176,023 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,500,714 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,597,703 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,852,914 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,636,519 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,346,886 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,975,508 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,378,604 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,772,283 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,482,930 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,247,327 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,016,401 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,205 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,344,863 msg/sec AtomicQueue, 1,s: 61,637,741 msg/sec AtomicQueue, 1,i: 56,751,460 msg/sec AtomicQueue, 2,s: 12,245,604 msg/sec AtomicQueue, 2,i: 11,712,080 msg/sec AtomicQueue, 3,s: 10,804,883 msg/sec AtomicQueue, 3,i: 9,978,340 msg/sec AtomicQueue, 4,s: 8,186,912 msg/sec AtomicQueue, 4,i: 8,197,375 msg/sec AtomicQueue, 5,s: 8,031,502 msg/sec AtomicQueue, 5,i: 8,111,633 msg/sec AtomicQueue, 6,s: 7,856,123 msg/sec AtomicQueue, 6,i: 7,605,132 msg/sec AtomicQueue, 7,s: 7,150,920 msg/sec AtomicQueue, 7,i: 7,951,483 msg/sec AtomicQueue, 8,s: 6,327,610 msg/sec AtomicQueue, 8,i: 7,400,571 msg/sec AtomicQueueB, 1,s: 44,056,074 msg/sec AtomicQueueB, 1,i: 43,027,392 msg/sec AtomicQueueB, 2,s: 11,914,437 msg/sec AtomicQueueB, 2,i: 11,484,743 msg/sec AtomicQueueB, 3,s: 10,984,898 msg/sec AtomicQueueB, 3,i: 10,217,774 msg/sec AtomicQueueB, 4,s: 8,110,959 msg/sec AtomicQueueB, 4,i: 8,030,610 msg/sec AtomicQueueB, 5,s: 7,646,499 msg/sec AtomicQueueB, 5,i: 7,820,266 msg/sec AtomicQueueB, 6,s: 7,390,405 msg/sec AtomicQueueB, 6,i: 7,514,523 msg/sec AtomicQueueB, 7,s: 6,931,033 msg/sec AtomicQueueB, 7,i: 7,747,305 msg/sec AtomicQueueB, 8,s: 6,282,860 msg/sec AtomicQueueB, 8,i: 7,188,895 msg/sec OptimistAtomicQueue, 1,s: 687,641,568 msg/sec OptimistAtomicQueue, 1,i: 560,384,513 msg/sec OptimistAtomicQueue, 2,s: 32,152,369 msg/sec OptimistAtomicQueue, 2,i: 32,698,852 msg/sec OptimistAtomicQueue, 3,s: 36,661,603 msg/sec OptimistAtomicQueue, 3,i: 37,432,966 msg/sec OptimistAtomicQueue, 4,s: 39,280,684 msg/sec OptimistAtomicQueue, 4,i: 39,357,253 msg/sec OptimistAtomicQueue, 5,s: 42,624,736 msg/sec OptimistAtomicQueue, 5,i: 46,272,948 msg/sec OptimistAtomicQueue, 6,s: 42,160,597 msg/sec OptimistAtomicQueue, 6,i: 50,403,196 msg/sec OptimistAtomicQueue, 7,s: 44,229,708 msg/sec OptimistAtomicQueue, 7,i: 52,223,655 msg/sec OptimistAtomicQueue, 8,s: 46,417,290 msg/sec OptimistAtomicQueue, 8,i: 49,323,858 msg/sec OptimistAtomicQueueB, 1,s: 90,786,801 msg/sec OptimistAtomicQueueB, 1,i: 138,320,942 msg/sec OptimistAtomicQueueB, 2,s: 32,102,591 msg/sec OptimistAtomicQueueB, 2,i: 32,430,267 msg/sec OptimistAtomicQueueB, 3,s: 36,194,032 msg/sec OptimistAtomicQueueB, 3,i: 36,930,225 msg/sec OptimistAtomicQueueB, 4,s: 38,670,081 msg/sec OptimistAtomicQueueB, 4,i: 38,559,799 msg/sec OptimistAtomicQueueB, 5,s: 40,994,049 msg/sec OptimistAtomicQueueB, 5,i: 45,322,822 msg/sec OptimistAtomicQueueB, 6,s: 41,182,000 msg/sec OptimistAtomicQueueB, 6,i: 49,135,866 msg/sec OptimistAtomicQueueB, 7,s: 42,429,968 msg/sec OptimistAtomicQueueB, 7,i: 47,989,640 msg/sec OptimistAtomicQueueB, 8,s: 44,681,103 msg/sec OptimistAtomicQueueB, 8,i: 47,657,271 msg/sec AtomicQueue2, 1,s: 23,057,903 msg/sec AtomicQueue2, 1,i: 23,095,667 msg/sec AtomicQueue2, 2,s: 12,038,796 msg/sec AtomicQueue2, 2,i: 11,691,658 msg/sec AtomicQueue2, 3,s: 9,765,235 msg/sec AtomicQueue2, 3,i: 9,471,559 msg/sec AtomicQueue2, 4,s: 8,090,768 msg/sec AtomicQueue2, 4,i: 8,041,393 msg/sec AtomicQueue2, 5,s: 7,939,723 msg/sec AtomicQueue2, 5,i: 8,006,562 msg/sec AtomicQueue2, 6,s: 7,763,630 msg/sec AtomicQueue2, 6,i: 7,542,485 msg/sec AtomicQueue2, 7,s: 7,123,600 msg/sec AtomicQueue2, 7,i: 7,899,307 msg/sec AtomicQueue2, 8,s: 6,384,817 msg/sec AtomicQueue2, 8,i: 7,333,578 msg/sec AtomicQueueB2, 1,s: 36,386,109 msg/sec AtomicQueueB2, 1,i: 32,657,510 msg/sec AtomicQueueB2, 2,s: 11,463,458 msg/sec AtomicQueueB2, 2,i: 11,125,965 msg/sec AtomicQueueB2, 3,s: 9,684,435 msg/sec AtomicQueueB2, 3,i: 9,555,339 msg/sec AtomicQueueB2, 4,s: 7,860,947 msg/sec AtomicQueueB2, 4,i: 7,738,030 msg/sec AtomicQueueB2, 5,s: 7,456,202 msg/sec AtomicQueueB2, 5,i: 7,667,142 msg/sec AtomicQueueB2, 6,s: 7,219,178 msg/sec AtomicQueueB2, 6,i: 7,441,320 msg/sec AtomicQueueB2, 7,s: 6,837,208 msg/sec AtomicQueueB2, 7,i: 7,693,019 msg/sec AtomicQueueB2, 8,s: 6,292,397 msg/sec AtomicQueueB2, 8,i: 7,117,564 msg/sec OptimistAtomicQueue2, 1,s: 441,905,061 msg/sec OptimistAtomicQueue2, 1,i: 35,512,208 msg/sec OptimistAtomicQueue2, 2,s: 24,280,869 msg/sec OptimistAtomicQueue2, 2,i: 22,711,457 msg/sec OptimistAtomicQueue2, 3,s: 30,467,809 msg/sec OptimistAtomicQueue2, 3,i: 31,191,503 msg/sec OptimistAtomicQueue2, 4,s: 33,213,949 msg/sec OptimistAtomicQueue2, 4,i: 33,057,287 msg/sec OptimistAtomicQueue2, 5,s: 37,253,300 msg/sec OptimistAtomicQueue2, 5,i: 40,290,873 msg/sec OptimistAtomicQueue2, 6,s: 40,150,033 msg/sec OptimistAtomicQueue2, 6,i: 49,231,456 msg/sec OptimistAtomicQueue2, 7,s: 42,692,719 msg/sec OptimistAtomicQueue2, 7,i: 51,625,173 msg/sec OptimistAtomicQueue2, 8,s: 43,813,191 msg/sec OptimistAtomicQueue2, 8,i: 48,045,329 msg/sec OptimistAtomicQueueB2, 1,s: 75,523,524 msg/sec OptimistAtomicQueueB2, 1,i: 53,182,279 msg/sec OptimistAtomicQueueB2, 2,s: 27,929,299 msg/sec OptimistAtomicQueueB2, 2,i: 23,217,362 msg/sec OptimistAtomicQueueB2, 3,s: 29,737,731 msg/sec OptimistAtomicQueueB2, 3,i: 29,120,753 msg/sec OptimistAtomicQueueB2, 4,s: 33,462,459 msg/sec OptimistAtomicQueueB2, 4,i: 32,696,384 msg/sec OptimistAtomicQueueB2, 5,s: 34,828,317 msg/sec OptimistAtomicQueueB2, 5,i: 39,234,992 msg/sec OptimistAtomicQueueB2, 6,s: 37,197,081 msg/sec OptimistAtomicQueueB2, 6,i: 42,515,578 msg/sec OptimistAtomicQueueB2, 7,s: 40,804,850 msg/sec OptimistAtomicQueueB2, 7,i: 43,238,454 msg/sec OptimistAtomicQueueB2, 8,s: 42,415,662 msg/sec OptimistAtomicQueueB2, 8,i: 45,230,123 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000149 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000451 sec/round-trip tbb::spin_mutex: 0.000000261 sec/round-trip tbb::concurrent_bounded_queue: 0.000000282 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [100] 349m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,668,509 msg/sec boost::lockfree::spsc_queue, 1,i: 67,914,743 msg/sec boost::lockfree::queue, 1,s: 6,851,784 msg/sec boost::lockfree::queue, 1,i: 6,816,329 msg/sec boost::lockfree::queue, 2,s: 7,645,992 msg/sec boost::lockfree::queue, 2,i: 7,473,814 msg/sec boost::lockfree::queue, 3,s: 7,410,790 msg/sec boost::lockfree::queue, 3,i: 7,548,244 msg/sec boost::lockfree::queue, 4,s: 6,425,118 msg/sec boost::lockfree::queue, 4,i: 6,736,473 msg/sec boost::lockfree::queue, 5,s: 6,477,375 msg/sec boost::lockfree::queue, 5,i: 6,480,906 msg/sec boost::lockfree::queue, 6,s: 5,974,044 msg/sec boost::lockfree::queue, 6,i: 6,102,256 msg/sec boost::lockfree::queue, 7,s: 5,921,694 msg/sec boost::lockfree::queue, 7,i: 5,939,485 msg/sec boost::lockfree::queue, 8,s: 5,483,853 msg/sec boost::lockfree::queue, 8,i: 5,561,914 msg/sec moodycamel::ReaderWriterQueue, 1,s: 508,051,924 msg/sec moodycamel::ReaderWriterQueue, 1,i: 473,387,626 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,256,093 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,599,246 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,645,062 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,559,942 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,089,282 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,749,065 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,857,871 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,422,030 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,351,051 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,291,985 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,339,751 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,327,341 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,919,565 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,069,474 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,958,521 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,837,574 msg/sec pthread_spinlock, 1,s: 29,215,268 msg/sec pthread_spinlock, 1,i: 25,334,297 msg/sec pthread_spinlock, 2,s: 15,562,383 msg/sec pthread_spinlock, 2,i: 16,819,626 msg/sec pthread_spinlock, 3,s: 8,274,527 msg/sec pthread_spinlock, 3,i: 11,969,109 msg/sec pthread_spinlock, 4,s: 6,514,616 msg/sec pthread_spinlock, 4,i: 8,907,071 msg/sec pthread_spinlock, 5,s: 8,806,633 msg/sec pthread_spinlock, 5,i: 9,207,298 msg/sec pthread_spinlock, 6,s: 8,359,131 msg/sec pthread_spinlock, 6,i: 8,789,551 msg/sec pthread_spinlock, 7,s: 8,091,688 msg/sec pthread_spinlock, 7,i: 7,565,439 msg/sec pthread_spinlock, 8,s: 6,874,377 msg/sec pthread_spinlock, 8,i: 7,381,422 msg/sec std::mutex, 1,s: 6,730,931 msg/sec std::mutex, 1,i: 6,768,850 msg/sec std::mutex, 2,s: 4,866,715 msg/sec std::mutex, 2,i: 5,492,710 msg/sec std::mutex, 3,s: 5,929,208 msg/sec std::mutex, 3,i: 5,735,285 msg/sec std::mutex, 4,s: 5,548,577 msg/sec std::mutex, 4,i: 6,259,841 msg/sec std::mutex, 5,s: 5,991,352 msg/sec std::mutex, 5,i: 6,124,390 msg/sec std::mutex, 6,s: 5,911,184 msg/sec std::mutex, 6,i: 5,890,731 msg/sec std::mutex, 7,s: 5,759,171 msg/sec std::mutex, 7,i: 5,756,048 msg/sec std::mutex, 8,s: 5,628,126 msg/sec std::mutex, 8,i: 5,621,856 msg/sec tbb::spin_mutex, 1,s: 37,821,853 msg/sec tbb::spin_mutex, 1,i: 37,854,649 msg/sec tbb::spin_mutex, 2,s: 21,264,038 msg/sec tbb::spin_mutex, 2,i: 18,409,947 msg/sec tbb::spin_mutex, 3,s: 7,389,088 msg/sec tbb::spin_mutex, 3,i: 10,737,962 msg/sec tbb::spin_mutex, 4,s: 3,187,897 msg/sec tbb::spin_mutex, 4,i: 6,363,603 msg/sec tbb::spin_mutex, 5,s: 5,287,332 msg/sec tbb::spin_mutex, 5,i: 5,793,022 msg/sec tbb::spin_mutex, 6,s: 5,380,924 msg/sec tbb::spin_mutex, 6,i: 4,310,884 msg/sec tbb::spin_mutex, 7,s: 4,861,913 msg/sec tbb::spin_mutex, 7,i: 4,338,997 msg/sec tbb::spin_mutex, 8,s: 4,253,719 msg/sec tbb::spin_mutex, 8,i: 4,071,838 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,161,126 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,206,383 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,831,019 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,840,379 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,468,158 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,493,066 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,004,936 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,465,806 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,719,429 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,558,758 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,782,139 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,731,848 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,814,058 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,797,364 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,099,784 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,070,154 msg/sec xenium::michael_scott_queue, 1,s: 9,482,287 msg/sec xenium::michael_scott_queue, 1,i: 9,477,702 msg/sec xenium::michael_scott_queue, 2,s: 8,476,382 msg/sec xenium::michael_scott_queue, 2,i: 8,492,923 msg/sec xenium::michael_scott_queue, 3,s: 7,259,276 msg/sec xenium::michael_scott_queue, 3,i: 7,585,661 msg/sec xenium::michael_scott_queue, 4,s: 6,336,911 msg/sec xenium::michael_scott_queue, 4,i: 6,358,749 msg/sec xenium::michael_scott_queue, 5,s: 6,323,091 msg/sec xenium::michael_scott_queue, 5,i: 6,636,969 msg/sec xenium::michael_scott_queue, 6,s: 6,511,760 msg/sec xenium::michael_scott_queue, 6,i: 6,981,979 msg/sec xenium::michael_scott_queue, 7,s: 6,284,288 msg/sec xenium::michael_scott_queue, 7,i: 6,495,793 msg/sec xenium::michael_scott_queue, 8,s: 6,047,789 msg/sec xenium::michael_scott_queue, 8,i: 6,089,490 msg/sec xenium::ramalhete_queue, 1,s: 32,430,218 msg/sec xenium::ramalhete_queue, 1,i: 32,425,805 msg/sec xenium::ramalhete_queue, 2,s: 23,483,818 msg/sec xenium::ramalhete_queue, 2,i: 23,347,071 msg/sec xenium::ramalhete_queue, 3,s: 29,201,758 msg/sec xenium::ramalhete_queue, 3,i: 28,414,627 msg/sec xenium::ramalhete_queue, 4,s: 33,781,385 msg/sec xenium::ramalhete_queue, 4,i: 33,514,641 msg/sec xenium::ramalhete_queue, 5,s: 32,021,193 msg/sec xenium::ramalhete_queue, 5,i: 36,122,066 msg/sec xenium::ramalhete_queue, 6,s: 34,181,968 msg/sec xenium::ramalhete_queue, 6,i: 39,789,251 msg/sec xenium::ramalhete_queue, 7,s: 34,987,663 msg/sec xenium::ramalhete_queue, 7,i: 42,221,612 msg/sec xenium::ramalhete_queue, 8,s: 35,434,225 msg/sec xenium::ramalhete_queue, 8,i: 44,323,160 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,290,567 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,842,560 msg/sec xenium::vyukov_bounded_queue, 2,s: 20,121,857 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,888,248 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,525,835 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,862,810 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,427,760 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,791,882 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,718,786 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,252,953 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,792,612 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,434,978 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,192,230 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,849,026 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,394,827 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,346,049 msg/sec AtomicQueue, 1,s: 62,030,872 msg/sec AtomicQueue, 1,i: 56,816,201 msg/sec AtomicQueue, 2,s: 12,310,684 msg/sec AtomicQueue, 2,i: 11,714,577 msg/sec AtomicQueue, 3,s: 10,820,537 msg/sec AtomicQueue, 3,i: 9,918,104 msg/sec AtomicQueue, 4,s: 8,163,574 msg/sec AtomicQueue, 4,i: 8,189,309 msg/sec AtomicQueue, 5,s: 7,989,452 msg/sec AtomicQueue, 5,i: 8,091,353 msg/sec AtomicQueue, 6,s: 7,715,269 msg/sec AtomicQueue, 6,i: 7,646,181 msg/sec AtomicQueue, 7,s: 7,133,795 msg/sec AtomicQueue, 7,i: 7,986,395 msg/sec AtomicQueue, 8,s: 6,368,613 msg/sec AtomicQueue, 8,i: 7,333,831 msg/sec AtomicQueueB, 1,s: 48,627,862 msg/sec AtomicQueueB, 1,i: 42,963,831 msg/sec AtomicQueueB, 2,s: 11,875,559 msg/sec AtomicQueueB, 2,i: 11,525,065 msg/sec AtomicQueueB, 3,s: 10,973,059 msg/sec AtomicQueueB, 3,i: 10,160,109 msg/sec AtomicQueueB, 4,s: 8,086,972 msg/sec AtomicQueueB, 4,i: 8,058,553 msg/sec AtomicQueueB, 5,s: 7,570,444 msg/sec AtomicQueueB, 5,i: 7,800,410 msg/sec AtomicQueueB, 6,s: 7,368,701 msg/sec AtomicQueueB, 6,i: 7,541,751 msg/sec AtomicQueueB, 7,s: 6,851,464 msg/sec AtomicQueueB, 7,i: 7,536,168 msg/sec AtomicQueueB, 8,s: 6,279,097 msg/sec AtomicQueueB, 8,i: 7,179,192 msg/sec OptimistAtomicQueue, 1,s: 716,004,380 msg/sec OptimistAtomicQueue, 1,i: 540,575,458 msg/sec OptimistAtomicQueue, 2,s: 32,113,192 msg/sec OptimistAtomicQueue, 2,i: 32,200,871 msg/sec OptimistAtomicQueue, 3,s: 36,629,746 msg/sec OptimistAtomicQueue, 3,i: 37,355,431 msg/sec OptimistAtomicQueue, 4,s: 39,280,443 msg/sec OptimistAtomicQueue, 4,i: 39,377,815 msg/sec OptimistAtomicQueue, 5,s: 42,375,625 msg/sec OptimistAtomicQueue, 5,i: 47,321,079 msg/sec OptimistAtomicQueue, 6,s: 41,985,881 msg/sec OptimistAtomicQueue, 6,i: 50,438,357 msg/sec OptimistAtomicQueue, 7,s: 45,036,646 msg/sec OptimistAtomicQueue, 7,i: 49,437,824 msg/sec OptimistAtomicQueue, 8,s: 46,519,227 msg/sec OptimistAtomicQueue, 8,i: 48,722,705 msg/sec OptimistAtomicQueueB, 1,s: 100,442,471 msg/sec OptimistAtomicQueueB, 1,i: 160,808,034 msg/sec OptimistAtomicQueueB, 2,s: 32,169,842 msg/sec OptimistAtomicQueueB, 2,i: 32,230,801 msg/sec OptimistAtomicQueueB, 3,s: 36,301,798 msg/sec OptimistAtomicQueueB, 3,i: 36,924,993 msg/sec OptimistAtomicQueueB, 4,s: 38,740,218 msg/sec OptimistAtomicQueueB, 4,i: 38,719,856 msg/sec OptimistAtomicQueueB, 5,s: 41,273,639 msg/sec OptimistAtomicQueueB, 5,i: 45,403,486 msg/sec OptimistAtomicQueueB, 6,s: 41,019,565 msg/sec OptimistAtomicQueueB, 6,i: 49,187,527 msg/sec OptimistAtomicQueueB, 7,s: 41,881,202 msg/sec OptimistAtomicQueueB, 7,i: 51,413,701 msg/sec OptimistAtomicQueueB, 8,s: 44,248,301 msg/sec OptimistAtomicQueueB, 8,i: 47,975,063 msg/sec AtomicQueue2, 1,s: 22,840,552 msg/sec AtomicQueue2, 1,i: 22,915,170 msg/sec AtomicQueue2, 2,s: 11,984,306 msg/sec AtomicQueue2, 2,i: 11,423,880 msg/sec AtomicQueue2, 3,s: 9,349,840 msg/sec AtomicQueue2, 3,i: 9,422,152 msg/sec AtomicQueue2, 4,s: 8,080,854 msg/sec AtomicQueue2, 4,i: 8,047,849 msg/sec AtomicQueue2, 5,s: 7,942,314 msg/sec AtomicQueue2, 5,i: 7,942,482 msg/sec AtomicQueue2, 6,s: 7,776,840 msg/sec AtomicQueue2, 6,i: 7,517,289 msg/sec AtomicQueue2, 7,s: 7,178,911 msg/sec AtomicQueue2, 7,i: 7,861,574 msg/sec AtomicQueue2, 8,s: 6,368,134 msg/sec AtomicQueue2, 8,i: 7,335,421 msg/sec AtomicQueueB2, 1,s: 36,060,094 msg/sec AtomicQueueB2, 1,i: 32,622,524 msg/sec AtomicQueueB2, 2,s: 11,483,518 msg/sec AtomicQueueB2, 2,i: 11,099,613 msg/sec AtomicQueueB2, 3,s: 9,605,882 msg/sec AtomicQueueB2, 3,i: 9,588,932 msg/sec AtomicQueueB2, 4,s: 7,949,806 msg/sec AtomicQueueB2, 4,i: 7,897,682 msg/sec AtomicQueueB2, 5,s: 7,502,317 msg/sec AtomicQueueB2, 5,i: 7,657,994 msg/sec AtomicQueueB2, 6,s: 7,282,465 msg/sec AtomicQueueB2, 6,i: 7,434,414 msg/sec AtomicQueueB2, 7,s: 6,838,122 msg/sec AtomicQueueB2, 7,i: 7,521,301 msg/sec AtomicQueueB2, 8,s: 6,256,448 msg/sec AtomicQueueB2, 8,i: 7,153,677 msg/sec OptimistAtomicQueue2, 1,s: 150,981,631 msg/sec OptimistAtomicQueue2, 1,i: 29,583,504 msg/sec OptimistAtomicQueue2, 2,s: 24,258,871 msg/sec OptimistAtomicQueue2, 2,i: 24,019,671 msg/sec OptimistAtomicQueue2, 3,s: 30,494,440 msg/sec OptimistAtomicQueue2, 3,i: 29,968,766 msg/sec OptimistAtomicQueue2, 4,s: 33,237,682 msg/sec OptimistAtomicQueue2, 4,i: 33,144,871 msg/sec OptimistAtomicQueue2, 5,s: 37,125,197 msg/sec OptimistAtomicQueue2, 5,i: 39,944,249 msg/sec OptimistAtomicQueue2, 6,s: 40,446,344 msg/sec OptimistAtomicQueue2, 6,i: 49,051,034 msg/sec OptimistAtomicQueue2, 7,s: 42,896,813 msg/sec OptimistAtomicQueue2, 7,i: 48,008,865 msg/sec OptimistAtomicQueue2, 8,s: 44,113,103 msg/sec OptimistAtomicQueue2, 8,i: 48,177,347 msg/sec OptimistAtomicQueueB2, 1,s: 75,938,748 msg/sec OptimistAtomicQueueB2, 1,i: 33,878,103 msg/sec OptimistAtomicQueueB2, 2,s: 27,200,171 msg/sec OptimistAtomicQueueB2, 2,i: 24,083,099 msg/sec OptimistAtomicQueueB2, 3,s: 29,870,429 msg/sec OptimistAtomicQueueB2, 3,i: 32,612,851 msg/sec OptimistAtomicQueueB2, 4,s: 33,003,727 msg/sec OptimistAtomicQueueB2, 4,i: 32,802,448 msg/sec OptimistAtomicQueueB2, 5,s: 34,443,575 msg/sec OptimistAtomicQueueB2, 5,i: 39,805,538 msg/sec OptimistAtomicQueueB2, 6,s: 37,659,381 msg/sec OptimistAtomicQueueB2, 6,i: 42,146,470 msg/sec OptimistAtomicQueueB2, 7,s: 40,114,815 msg/sec OptimistAtomicQueueB2, 7,i: 43,231,624 msg/sec OptimistAtomicQueueB2, 8,s: 42,290,594 msg/sec OptimistAtomicQueueB2, 8,i: 45,217,059 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000121 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [101] 348m:5s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,727,896 msg/sec boost::lockfree::spsc_queue, 1,i: 66,448,361 msg/sec boost::lockfree::queue, 1,s: 6,821,257 msg/sec boost::lockfree::queue, 1,i: 6,869,777 msg/sec boost::lockfree::queue, 2,s: 7,616,878 msg/sec boost::lockfree::queue, 2,i: 7,640,537 msg/sec boost::lockfree::queue, 3,s: 7,370,139 msg/sec boost::lockfree::queue, 3,i: 7,560,104 msg/sec boost::lockfree::queue, 4,s: 6,425,797 msg/sec boost::lockfree::queue, 4,i: 6,759,276 msg/sec boost::lockfree::queue, 5,s: 6,510,361 msg/sec boost::lockfree::queue, 5,i: 6,471,663 msg/sec boost::lockfree::queue, 6,s: 5,996,332 msg/sec boost::lockfree::queue, 6,i: 6,122,730 msg/sec boost::lockfree::queue, 7,s: 5,966,488 msg/sec boost::lockfree::queue, 7,i: 5,965,626 msg/sec boost::lockfree::queue, 8,s: 5,493,273 msg/sec boost::lockfree::queue, 8,i: 5,571,241 msg/sec moodycamel::ReaderWriterQueue, 1,s: 519,355,941 msg/sec moodycamel::ReaderWriterQueue, 1,i: 488,489,418 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,730,831 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,451,901 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,886,982 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,973,218 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,571,879 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,206,364 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,030,799 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,974,933 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,280,451 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,271,702 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,367,944 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,011,259 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,264,578 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,924,813 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,306,452 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,028,864 msg/sec pthread_spinlock, 1,s: 28,791,200 msg/sec pthread_spinlock, 1,i: 25,322,162 msg/sec pthread_spinlock, 2,s: 15,538,691 msg/sec pthread_spinlock, 2,i: 16,954,317 msg/sec pthread_spinlock, 3,s: 8,299,216 msg/sec pthread_spinlock, 3,i: 11,955,037 msg/sec pthread_spinlock, 4,s: 6,527,197 msg/sec pthread_spinlock, 4,i: 9,150,490 msg/sec pthread_spinlock, 5,s: 8,641,821 msg/sec pthread_spinlock, 5,i: 10,280,445 msg/sec pthread_spinlock, 6,s: 8,521,103 msg/sec pthread_spinlock, 6,i: 8,402,772 msg/sec pthread_spinlock, 7,s: 7,510,347 msg/sec pthread_spinlock, 7,i: 7,699,605 msg/sec pthread_spinlock, 8,s: 6,702,290 msg/sec pthread_spinlock, 8,i: 7,353,113 msg/sec std::mutex, 1,s: 6,671,886 msg/sec std::mutex, 1,i: 6,532,189 msg/sec std::mutex, 2,s: 5,501,871 msg/sec std::mutex, 2,i: 5,136,724 msg/sec std::mutex, 3,s: 6,102,439 msg/sec std::mutex, 3,i: 6,033,146 msg/sec std::mutex, 4,s: 6,227,299 msg/sec std::mutex, 4,i: 6,232,575 msg/sec std::mutex, 5,s: 6,021,858 msg/sec std::mutex, 5,i: 6,051,845 msg/sec std::mutex, 6,s: 5,893,863 msg/sec std::mutex, 6,i: 5,861,897 msg/sec std::mutex, 7,s: 5,772,876 msg/sec std::mutex, 7,i: 5,808,385 msg/sec std::mutex, 8,s: 5,637,653 msg/sec std::mutex, 8,i: 5,711,982 msg/sec tbb::spin_mutex, 1,s: 37,757,004 msg/sec tbb::spin_mutex, 1,i: 32,968,700 msg/sec tbb::spin_mutex, 2,s: 21,247,963 msg/sec tbb::spin_mutex, 2,i: 18,410,127 msg/sec tbb::spin_mutex, 3,s: 7,913,820 msg/sec tbb::spin_mutex, 3,i: 10,538,427 msg/sec tbb::spin_mutex, 4,s: 3,183,083 msg/sec tbb::spin_mutex, 4,i: 6,358,701 msg/sec tbb::spin_mutex, 5,s: 5,257,271 msg/sec tbb::spin_mutex, 5,i: 5,871,132 msg/sec tbb::spin_mutex, 6,s: 5,376,017 msg/sec tbb::spin_mutex, 6,i: 4,326,889 msg/sec tbb::spin_mutex, 7,s: 4,879,393 msg/sec tbb::spin_mutex, 7,i: 4,343,494 msg/sec tbb::spin_mutex, 8,s: 4,244,047 msg/sec tbb::spin_mutex, 8,i: 4,183,818 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,622,408 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,171,361 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,931,639 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,877,167 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,234,289 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,458,691 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,958,936 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,176,645 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,592,992 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,369,342 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,687,303 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,688,429 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,667,933 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,119,639 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,717,098 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,939,601 msg/sec xenium::michael_scott_queue, 1,s: 10,120,159 msg/sec xenium::michael_scott_queue, 1,i: 10,008,222 msg/sec xenium::michael_scott_queue, 2,s: 8,486,656 msg/sec xenium::michael_scott_queue, 2,i: 8,498,586 msg/sec xenium::michael_scott_queue, 3,s: 7,315,735 msg/sec xenium::michael_scott_queue, 3,i: 7,583,407 msg/sec xenium::michael_scott_queue, 4,s: 6,233,031 msg/sec xenium::michael_scott_queue, 4,i: 6,321,294 msg/sec xenium::michael_scott_queue, 5,s: 6,296,841 msg/sec xenium::michael_scott_queue, 5,i: 6,653,928 msg/sec xenium::michael_scott_queue, 6,s: 6,494,502 msg/sec xenium::michael_scott_queue, 6,i: 6,967,361 msg/sec xenium::michael_scott_queue, 7,s: 6,352,209 msg/sec xenium::michael_scott_queue, 7,i: 6,550,880 msg/sec xenium::michael_scott_queue, 8,s: 6,022,775 msg/sec xenium::michael_scott_queue, 8,i: 6,136,459 msg/sec xenium::ramalhete_queue, 1,s: 32,218,135 msg/sec xenium::ramalhete_queue, 1,i: 32,255,276 msg/sec xenium::ramalhete_queue, 2,s: 23,605,785 msg/sec xenium::ramalhete_queue, 2,i: 23,262,358 msg/sec xenium::ramalhete_queue, 3,s: 28,884,928 msg/sec xenium::ramalhete_queue, 3,i: 28,511,319 msg/sec xenium::ramalhete_queue, 4,s: 33,927,773 msg/sec xenium::ramalhete_queue, 4,i: 33,468,796 msg/sec xenium::ramalhete_queue, 5,s: 31,964,862 msg/sec xenium::ramalhete_queue, 5,i: 38,604,607 msg/sec xenium::ramalhete_queue, 6,s: 34,054,934 msg/sec xenium::ramalhete_queue, 6,i: 38,909,910 msg/sec xenium::ramalhete_queue, 7,s: 35,153,250 msg/sec xenium::ramalhete_queue, 7,i: 41,850,076 msg/sec xenium::ramalhete_queue, 8,s: 35,594,271 msg/sec xenium::ramalhete_queue, 8,i: 44,137,820 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,015,540 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,152,723 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,913,024 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,059,042 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,757,657 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,072,643 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,443,883 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,493,744 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,814,859 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,388,903 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,967,588 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,426,648 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,347,235 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,846,084 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,414,401 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,247,771 msg/sec AtomicQueue, 1,s: 57,811,041 msg/sec AtomicQueue, 1,i: 56,622,139 msg/sec AtomicQueue, 2,s: 12,345,826 msg/sec AtomicQueue, 2,i: 11,754,602 msg/sec AtomicQueue, 3,s: 10,804,259 msg/sec AtomicQueue, 3,i: 9,948,159 msg/sec AtomicQueue, 4,s: 8,148,734 msg/sec AtomicQueue, 4,i: 8,200,338 msg/sec AtomicQueue, 5,s: 7,972,221 msg/sec AtomicQueue, 5,i: 7,997,804 msg/sec AtomicQueue, 6,s: 7,876,347 msg/sec AtomicQueue, 6,i: 7,618,316 msg/sec AtomicQueue, 7,s: 7,083,182 msg/sec AtomicQueue, 7,i: 8,008,210 msg/sec AtomicQueue, 8,s: 6,347,304 msg/sec AtomicQueue, 8,i: 7,430,542 msg/sec AtomicQueueB, 1,s: 44,555,559 msg/sec AtomicQueueB, 1,i: 43,618,468 msg/sec AtomicQueueB, 2,s: 11,722,839 msg/sec AtomicQueueB, 2,i: 11,474,909 msg/sec AtomicQueueB, 3,s: 10,897,527 msg/sec AtomicQueueB, 3,i: 10,161,303 msg/sec AtomicQueueB, 4,s: 8,047,434 msg/sec AtomicQueueB, 4,i: 8,014,450 msg/sec AtomicQueueB, 5,s: 7,664,295 msg/sec AtomicQueueB, 5,i: 7,789,919 msg/sec AtomicQueueB, 6,s: 7,240,464 msg/sec AtomicQueueB, 6,i: 7,503,084 msg/sec AtomicQueueB, 7,s: 6,820,883 msg/sec AtomicQueueB, 7,i: 7,722,071 msg/sec AtomicQueueB, 8,s: 6,329,992 msg/sec AtomicQueueB, 8,i: 7,160,167 msg/sec OptimistAtomicQueue, 1,s: 798,246,730 msg/sec OptimistAtomicQueue, 1,i: 634,006,759 msg/sec OptimistAtomicQueue, 2,s: 32,209,155 msg/sec OptimistAtomicQueue, 2,i: 32,705,744 msg/sec OptimistAtomicQueue, 3,s: 36,660,857 msg/sec OptimistAtomicQueue, 3,i: 37,396,971 msg/sec OptimistAtomicQueue, 4,s: 39,271,753 msg/sec OptimistAtomicQueue, 4,i: 39,398,451 msg/sec OptimistAtomicQueue, 5,s: 41,608,681 msg/sec OptimistAtomicQueue, 5,i: 46,321,525 msg/sec OptimistAtomicQueue, 6,s: 42,277,361 msg/sec OptimistAtomicQueue, 6,i: 50,428,490 msg/sec OptimistAtomicQueue, 7,s: 45,045,659 msg/sec OptimistAtomicQueue, 7,i: 51,966,414 msg/sec OptimistAtomicQueue, 8,s: 46,298,343 msg/sec OptimistAtomicQueue, 8,i: 49,445,702 msg/sec OptimistAtomicQueueB, 1,s: 166,524,572 msg/sec OptimistAtomicQueueB, 1,i: 77,473,187 msg/sec OptimistAtomicQueueB, 2,s: 32,179,422 msg/sec OptimistAtomicQueueB, 2,i: 32,259,753 msg/sec OptimistAtomicQueueB, 3,s: 36,316,334 msg/sec OptimistAtomicQueueB, 3,i: 36,949,324 msg/sec OptimistAtomicQueueB, 4,s: 38,667,000 msg/sec OptimistAtomicQueueB, 4,i: 38,642,651 msg/sec OptimistAtomicQueueB, 5,s: 40,640,031 msg/sec OptimistAtomicQueueB, 5,i: 45,338,018 msg/sec OptimistAtomicQueueB, 6,s: 40,396,654 msg/sec OptimistAtomicQueueB, 6,i: 49,191,317 msg/sec OptimistAtomicQueueB, 7,s: 42,144,796 msg/sec OptimistAtomicQueueB, 7,i: 48,154,794 msg/sec OptimistAtomicQueueB, 8,s: 44,048,296 msg/sec OptimistAtomicQueueB, 8,i: 47,726,585 msg/sec AtomicQueue2, 1,s: 24,487,982 msg/sec AtomicQueue2, 1,i: 22,825,382 msg/sec AtomicQueue2, 2,s: 11,781,831 msg/sec AtomicQueue2, 2,i: 11,381,056 msg/sec AtomicQueue2, 3,s: 9,352,802 msg/sec AtomicQueue2, 3,i: 9,433,376 msg/sec AtomicQueue2, 4,s: 8,061,240 msg/sec AtomicQueue2, 4,i: 8,036,509 msg/sec AtomicQueue2, 5,s: 7,867,364 msg/sec AtomicQueue2, 5,i: 7,981,851 msg/sec AtomicQueue2, 6,s: 7,834,022 msg/sec AtomicQueue2, 6,i: 7,514,741 msg/sec AtomicQueue2, 7,s: 7,072,196 msg/sec AtomicQueue2, 7,i: 7,887,766 msg/sec AtomicQueue2, 8,s: 6,363,212 msg/sec AtomicQueue2, 8,i: 7,329,277 msg/sec AtomicQueueB2, 1,s: 36,342,087 msg/sec AtomicQueueB2, 1,i: 32,622,398 msg/sec AtomicQueueB2, 2,s: 11,502,604 msg/sec AtomicQueueB2, 2,i: 11,129,395 msg/sec AtomicQueueB2, 3,s: 9,563,145 msg/sec AtomicQueueB2, 3,i: 9,464,790 msg/sec AtomicQueueB2, 4,s: 7,979,141 msg/sec AtomicQueueB2, 4,i: 7,860,878 msg/sec AtomicQueueB2, 5,s: 7,468,316 msg/sec AtomicQueueB2, 5,i: 7,708,885 msg/sec AtomicQueueB2, 6,s: 7,273,740 msg/sec AtomicQueueB2, 6,i: 7,434,679 msg/sec AtomicQueueB2, 7,s: 6,924,047 msg/sec AtomicQueueB2, 7,i: 7,708,850 msg/sec AtomicQueueB2, 8,s: 6,265,388 msg/sec AtomicQueueB2, 8,i: 7,099,745 msg/sec OptimistAtomicQueue2, 1,s: 32,982,407 msg/sec OptimistAtomicQueue2, 1,i: 29,368,234 msg/sec OptimistAtomicQueue2, 2,s: 24,962,564 msg/sec OptimistAtomicQueue2, 2,i: 24,017,357 msg/sec OptimistAtomicQueue2, 3,s: 30,360,370 msg/sec OptimistAtomicQueue2, 3,i: 29,950,286 msg/sec OptimistAtomicQueue2, 4,s: 33,198,983 msg/sec OptimistAtomicQueue2, 4,i: 33,277,818 msg/sec OptimistAtomicQueue2, 5,s: 36,913,601 msg/sec OptimistAtomicQueue2, 5,i: 41,025,153 msg/sec OptimistAtomicQueue2, 6,s: 40,178,814 msg/sec OptimistAtomicQueue2, 6,i: 49,175,286 msg/sec OptimistAtomicQueue2, 7,s: 42,899,726 msg/sec OptimistAtomicQueue2, 7,i: 47,941,259 msg/sec OptimistAtomicQueue2, 8,s: 43,947,282 msg/sec OptimistAtomicQueue2, 8,i: 48,776,460 msg/sec OptimistAtomicQueueB2, 1,s: 75,525,177 msg/sec OptimistAtomicQueueB2, 1,i: 33,846,028 msg/sec OptimistAtomicQueueB2, 2,s: 27,679,319 msg/sec OptimistAtomicQueueB2, 2,i: 25,743,639 msg/sec OptimistAtomicQueueB2, 3,s: 30,309,816 msg/sec OptimistAtomicQueueB2, 3,i: 28,846,292 msg/sec OptimistAtomicQueueB2, 4,s: 33,237,666 msg/sec OptimistAtomicQueueB2, 4,i: 32,340,293 msg/sec OptimistAtomicQueueB2, 5,s: 34,529,583 msg/sec OptimistAtomicQueueB2, 5,i: 39,149,154 msg/sec OptimistAtomicQueueB2, 6,s: 37,780,219 msg/sec OptimistAtomicQueueB2, 6,i: 42,330,688 msg/sec OptimistAtomicQueueB2, 7,s: 40,186,242 msg/sec OptimistAtomicQueueB2, 7,i: 45,408,571 msg/sec OptimistAtomicQueueB2, 8,s: 42,197,840 msg/sec OptimistAtomicQueueB2, 8,i: 45,279,235 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000122 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000457 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [102] 346m:46s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,598,571 msg/sec boost::lockfree::spsc_queue, 1,i: 67,070,766 msg/sec boost::lockfree::queue, 1,s: 6,852,875 msg/sec boost::lockfree::queue, 1,i: 6,826,408 msg/sec boost::lockfree::queue, 2,s: 7,650,343 msg/sec boost::lockfree::queue, 2,i: 7,550,953 msg/sec boost::lockfree::queue, 3,s: 7,392,323 msg/sec boost::lockfree::queue, 3,i: 7,541,646 msg/sec boost::lockfree::queue, 4,s: 6,427,169 msg/sec boost::lockfree::queue, 4,i: 6,906,615 msg/sec boost::lockfree::queue, 5,s: 6,428,597 msg/sec boost::lockfree::queue, 5,i: 6,445,267 msg/sec boost::lockfree::queue, 6,s: 5,981,363 msg/sec boost::lockfree::queue, 6,i: 6,102,099 msg/sec boost::lockfree::queue, 7,s: 5,826,987 msg/sec boost::lockfree::queue, 7,i: 5,881,643 msg/sec boost::lockfree::queue, 8,s: 5,493,163 msg/sec boost::lockfree::queue, 8,i: 5,558,883 msg/sec moodycamel::ReaderWriterQueue, 1,s: 228,473,811 msg/sec moodycamel::ReaderWriterQueue, 1,i: 441,781,093 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,153,470 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,033,355 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,448,683 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,034,933 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,680,195 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,670,691 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,230,254 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,986,466 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,137,781 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,395,075 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,280,562 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,768,217 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,716,036 msg/sec moodycamel::ConcurrentQueue, 7,i: 51,676,265 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,169,763 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,539,538 msg/sec pthread_spinlock, 1,s: 28,791,572 msg/sec pthread_spinlock, 1,i: 25,426,680 msg/sec pthread_spinlock, 2,s: 16,153,087 msg/sec pthread_spinlock, 2,i: 16,941,130 msg/sec pthread_spinlock, 3,s: 8,313,995 msg/sec pthread_spinlock, 3,i: 12,012,460 msg/sec pthread_spinlock, 4,s: 6,520,459 msg/sec pthread_spinlock, 4,i: 9,187,845 msg/sec pthread_spinlock, 5,s: 8,562,135 msg/sec pthread_spinlock, 5,i: 9,147,966 msg/sec pthread_spinlock, 6,s: 8,599,903 msg/sec pthread_spinlock, 6,i: 8,432,484 msg/sec pthread_spinlock, 7,s: 7,926,665 msg/sec pthread_spinlock, 7,i: 7,864,036 msg/sec pthread_spinlock, 8,s: 6,960,656 msg/sec pthread_spinlock, 8,i: 6,988,649 msg/sec std::mutex, 1,s: 6,788,097 msg/sec std::mutex, 1,i: 6,970,020 msg/sec std::mutex, 2,s: 6,022,659 msg/sec std::mutex, 2,i: 5,945,068 msg/sec std::mutex, 3,s: 5,967,424 msg/sec std::mutex, 3,i: 6,156,386 msg/sec std::mutex, 4,s: 5,882,563 msg/sec std::mutex, 4,i: 6,382,543 msg/sec std::mutex, 5,s: 6,045,570 msg/sec std::mutex, 5,i: 5,647,964 msg/sec std::mutex, 6,s: 5,963,843 msg/sec std::mutex, 6,i: 5,876,510 msg/sec std::mutex, 7,s: 5,900,602 msg/sec std::mutex, 7,i: 5,780,163 msg/sec std::mutex, 8,s: 5,765,873 msg/sec std::mutex, 8,i: 5,703,836 msg/sec tbb::spin_mutex, 1,s: 37,737,471 msg/sec tbb::spin_mutex, 1,i: 37,753,441 msg/sec tbb::spin_mutex, 2,s: 18,321,800 msg/sec tbb::spin_mutex, 2,i: 18,345,287 msg/sec tbb::spin_mutex, 3,s: 8,453,377 msg/sec tbb::spin_mutex, 3,i: 11,563,566 msg/sec tbb::spin_mutex, 4,s: 3,292,905 msg/sec tbb::spin_mutex, 4,i: 6,337,759 msg/sec tbb::spin_mutex, 5,s: 5,587,395 msg/sec tbb::spin_mutex, 5,i: 5,707,100 msg/sec tbb::spin_mutex, 6,s: 5,310,274 msg/sec tbb::spin_mutex, 6,i: 4,352,145 msg/sec tbb::spin_mutex, 7,s: 4,882,759 msg/sec tbb::spin_mutex, 7,i: 4,348,302 msg/sec tbb::spin_mutex, 8,s: 4,241,854 msg/sec tbb::spin_mutex, 8,i: 4,098,540 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,520,593 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,969,758 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,877,612 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,751,108 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,216,194 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,735,074 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,345,293 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,274,336 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,695,237 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,184,879 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,859,127 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,498,497 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,051,881 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,619,677 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,047,124 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,701,172 msg/sec xenium::michael_scott_queue, 1,s: 9,312,194 msg/sec xenium::michael_scott_queue, 1,i: 9,383,775 msg/sec xenium::michael_scott_queue, 2,s: 8,499,348 msg/sec xenium::michael_scott_queue, 2,i: 8,508,038 msg/sec xenium::michael_scott_queue, 3,s: 7,181,115 msg/sec xenium::michael_scott_queue, 3,i: 7,573,166 msg/sec xenium::michael_scott_queue, 4,s: 6,338,402 msg/sec xenium::michael_scott_queue, 4,i: 6,329,160 msg/sec xenium::michael_scott_queue, 5,s: 6,291,000 msg/sec xenium::michael_scott_queue, 5,i: 6,798,503 msg/sec xenium::michael_scott_queue, 6,s: 6,471,230 msg/sec xenium::michael_scott_queue, 6,i: 6,750,135 msg/sec xenium::michael_scott_queue, 7,s: 6,292,183 msg/sec xenium::michael_scott_queue, 7,i: 6,671,655 msg/sec xenium::michael_scott_queue, 8,s: 5,924,598 msg/sec xenium::michael_scott_queue, 8,i: 6,243,333 msg/sec xenium::ramalhete_queue, 1,s: 31,499,061 msg/sec xenium::ramalhete_queue, 1,i: 31,410,413 msg/sec xenium::ramalhete_queue, 2,s: 24,128,288 msg/sec xenium::ramalhete_queue, 2,i: 23,232,443 msg/sec xenium::ramalhete_queue, 3,s: 29,109,444 msg/sec xenium::ramalhete_queue, 3,i: 28,455,445 msg/sec xenium::ramalhete_queue, 4,s: 33,922,807 msg/sec xenium::ramalhete_queue, 4,i: 33,453,577 msg/sec xenium::ramalhete_queue, 5,s: 32,137,616 msg/sec xenium::ramalhete_queue, 5,i: 36,062,952 msg/sec xenium::ramalhete_queue, 6,s: 34,067,445 msg/sec xenium::ramalhete_queue, 6,i: 39,323,723 msg/sec xenium::ramalhete_queue, 7,s: 35,200,190 msg/sec xenium::ramalhete_queue, 7,i: 41,453,164 msg/sec xenium::ramalhete_queue, 8,s: 35,645,521 msg/sec xenium::ramalhete_queue, 8,i: 44,275,860 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,055,761 msg/sec xenium::vyukov_bounded_queue, 1,i: 116,665,449 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,047,582 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,851,849 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,653,679 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,564,823 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,555,970 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,283,924 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,801,796 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,322,388 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,807,256 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,148,353 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,114,082 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,287,830 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,408,469 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,320,214 msg/sec AtomicQueue, 1,s: 63,074,985 msg/sec AtomicQueue, 1,i: 56,397,570 msg/sec AtomicQueue, 2,s: 12,252,654 msg/sec AtomicQueue, 2,i: 11,766,819 msg/sec AtomicQueue, 3,s: 10,803,677 msg/sec AtomicQueue, 3,i: 9,931,077 msg/sec AtomicQueue, 4,s: 8,202,600 msg/sec AtomicQueue, 4,i: 8,157,847 msg/sec AtomicQueue, 5,s: 7,975,272 msg/sec AtomicQueue, 5,i: 8,092,973 msg/sec AtomicQueue, 6,s: 7,967,444 msg/sec AtomicQueue, 6,i: 7,615,165 msg/sec AtomicQueue, 7,s: 7,118,098 msg/sec AtomicQueue, 7,i: 7,975,470 msg/sec AtomicQueue, 8,s: 6,363,279 msg/sec AtomicQueue, 8,i: 7,492,200 msg/sec AtomicQueueB, 1,s: 44,144,790 msg/sec AtomicQueueB, 1,i: 43,050,781 msg/sec AtomicQueueB, 2,s: 11,875,311 msg/sec AtomicQueueB, 2,i: 11,454,593 msg/sec AtomicQueueB, 3,s: 10,970,915 msg/sec AtomicQueueB, 3,i: 10,051,775 msg/sec AtomicQueueB, 4,s: 8,043,262 msg/sec AtomicQueueB, 4,i: 7,891,875 msg/sec AtomicQueueB, 5,s: 7,439,015 msg/sec AtomicQueueB, 5,i: 7,774,403 msg/sec AtomicQueueB, 6,s: 7,257,900 msg/sec AtomicQueueB, 6,i: 7,520,969 msg/sec AtomicQueueB, 7,s: 6,876,684 msg/sec AtomicQueueB, 7,i: 7,742,721 msg/sec AtomicQueueB, 8,s: 6,233,952 msg/sec AtomicQueueB, 8,i: 7,122,107 msg/sec OptimistAtomicQueue, 1,s: 798,389,648 msg/sec OptimistAtomicQueue, 1,i: 584,110,784 msg/sec OptimistAtomicQueue, 2,s: 32,160,037 msg/sec OptimistAtomicQueue, 2,i: 32,191,843 msg/sec OptimistAtomicQueue, 3,s: 36,619,734 msg/sec OptimistAtomicQueue, 3,i: 37,399,824 msg/sec OptimistAtomicQueue, 4,s: 39,268,840 msg/sec OptimistAtomicQueue, 4,i: 39,379,911 msg/sec OptimistAtomicQueue, 5,s: 41,683,864 msg/sec OptimistAtomicQueue, 5,i: 48,450,877 msg/sec OptimistAtomicQueue, 6,s: 42,004,941 msg/sec OptimistAtomicQueue, 6,i: 50,244,344 msg/sec OptimistAtomicQueue, 7,s: 43,970,427 msg/sec OptimistAtomicQueue, 7,i: 49,321,591 msg/sec OptimistAtomicQueue, 8,s: 46,519,404 msg/sec OptimistAtomicQueue, 8,i: 49,231,626 msg/sec OptimistAtomicQueueB, 1,s: 77,632,847 msg/sec OptimistAtomicQueueB, 1,i: 76,440,700 msg/sec OptimistAtomicQueueB, 2,s: 32,158,141 msg/sec OptimistAtomicQueueB, 2,i: 31,841,259 msg/sec OptimistAtomicQueueB, 3,s: 36,176,522 msg/sec OptimistAtomicQueueB, 3,i: 36,869,553 msg/sec OptimistAtomicQueueB, 4,s: 38,626,241 msg/sec OptimistAtomicQueueB, 4,i: 38,560,846 msg/sec OptimistAtomicQueueB, 5,s: 41,034,487 msg/sec OptimistAtomicQueueB, 5,i: 44,425,660 msg/sec OptimistAtomicQueueB, 6,s: 41,125,692 msg/sec OptimistAtomicQueueB, 6,i: 49,201,822 msg/sec OptimistAtomicQueueB, 7,s: 42,512,598 msg/sec OptimistAtomicQueueB, 7,i: 48,081,356 msg/sec OptimistAtomicQueueB, 8,s: 44,395,320 msg/sec OptimistAtomicQueueB, 8,i: 47,825,198 msg/sec AtomicQueue2, 1,s: 23,470,038 msg/sec AtomicQueue2, 1,i: 23,485,506 msg/sec AtomicQueue2, 2,s: 11,897,395 msg/sec AtomicQueue2, 2,i: 11,392,671 msg/sec AtomicQueue2, 3,s: 9,562,728 msg/sec AtomicQueue2, 3,i: 9,523,719 msg/sec AtomicQueue2, 4,s: 8,034,312 msg/sec AtomicQueue2, 4,i: 8,037,527 msg/sec AtomicQueue2, 5,s: 7,949,659 msg/sec AtomicQueue2, 5,i: 8,010,654 msg/sec AtomicQueue2, 6,s: 7,826,217 msg/sec AtomicQueue2, 6,i: 7,515,600 msg/sec AtomicQueue2, 7,s: 7,178,001 msg/sec AtomicQueue2, 7,i: 7,883,067 msg/sec AtomicQueue2, 8,s: 6,368,190 msg/sec AtomicQueue2, 8,i: 7,181,890 msg/sec AtomicQueueB2, 1,s: 35,866,471 msg/sec AtomicQueueB2, 1,i: 32,649,236 msg/sec AtomicQueueB2, 2,s: 11,489,418 msg/sec AtomicQueueB2, 2,i: 11,124,276 msg/sec AtomicQueueB2, 3,s: 9,641,082 msg/sec AtomicQueueB2, 3,i: 9,562,339 msg/sec AtomicQueueB2, 4,s: 7,925,046 msg/sec AtomicQueueB2, 4,i: 7,869,545 msg/sec AtomicQueueB2, 5,s: 7,445,492 msg/sec AtomicQueueB2, 5,i: 7,650,444 msg/sec AtomicQueueB2, 6,s: 7,317,869 msg/sec AtomicQueueB2, 6,i: 7,419,182 msg/sec AtomicQueueB2, 7,s: 6,916,643 msg/sec AtomicQueueB2, 7,i: 7,715,846 msg/sec AtomicQueueB2, 8,s: 6,324,558 msg/sec AtomicQueueB2, 8,i: 7,080,264 msg/sec OptimistAtomicQueue2, 1,s: 511,017,407 msg/sec OptimistAtomicQueue2, 1,i: 29,729,701 msg/sec OptimistAtomicQueue2, 2,s: 24,265,954 msg/sec OptimistAtomicQueue2, 2,i: 24,016,317 msg/sec OptimistAtomicQueue2, 3,s: 30,306,248 msg/sec OptimistAtomicQueue2, 3,i: 29,965,691 msg/sec OptimistAtomicQueue2, 4,s: 33,127,076 msg/sec OptimistAtomicQueue2, 4,i: 33,138,121 msg/sec OptimistAtomicQueue2, 5,s: 36,996,756 msg/sec OptimistAtomicQueue2, 5,i: 41,470,340 msg/sec OptimistAtomicQueue2, 6,s: 40,101,301 msg/sec OptimistAtomicQueue2, 6,i: 49,331,834 msg/sec OptimistAtomicQueue2, 7,s: 42,862,567 msg/sec OptimistAtomicQueue2, 7,i: 47,863,079 msg/sec OptimistAtomicQueue2, 8,s: 43,792,799 msg/sec OptimistAtomicQueue2, 8,i: 48,339,675 msg/sec OptimistAtomicQueueB2, 1,s: 79,005,146 msg/sec OptimistAtomicQueueB2, 1,i: 33,878,411 msg/sec OptimistAtomicQueueB2, 2,s: 27,257,166 msg/sec OptimistAtomicQueueB2, 2,i: 24,095,788 msg/sec OptimistAtomicQueueB2, 3,s: 29,714,273 msg/sec OptimistAtomicQueueB2, 3,i: 29,062,306 msg/sec OptimistAtomicQueueB2, 4,s: 33,031,942 msg/sec OptimistAtomicQueueB2, 4,i: 32,779,632 msg/sec OptimistAtomicQueueB2, 5,s: 34,513,694 msg/sec OptimistAtomicQueueB2, 5,i: 39,538,809 msg/sec OptimistAtomicQueueB2, 6,s: 37,352,253 msg/sec OptimistAtomicQueueB2, 6,i: 42,314,048 msg/sec OptimistAtomicQueueB2, 7,s: 40,771,112 msg/sec OptimistAtomicQueueB2, 7,i: 45,468,678 msg/sec OptimistAtomicQueueB2, 8,s: 42,209,239 msg/sec OptimistAtomicQueueB2, 8,i: 45,629,068 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000325 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000155 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000457 sec/round-trip tbb::spin_mutex: 0.000000256 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [103] 345m:27s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,857,281 msg/sec boost::lockfree::spsc_queue, 1,i: 67,551,234 msg/sec boost::lockfree::queue, 1,s: 6,925,798 msg/sec boost::lockfree::queue, 1,i: 6,818,521 msg/sec boost::lockfree::queue, 2,s: 7,576,768 msg/sec boost::lockfree::queue, 2,i: 7,556,554 msg/sec boost::lockfree::queue, 3,s: 7,322,584 msg/sec boost::lockfree::queue, 3,i: 7,561,952 msg/sec boost::lockfree::queue, 4,s: 6,420,714 msg/sec boost::lockfree::queue, 4,i: 6,761,810 msg/sec boost::lockfree::queue, 5,s: 6,421,942 msg/sec boost::lockfree::queue, 5,i: 6,500,084 msg/sec boost::lockfree::queue, 6,s: 5,989,020 msg/sec boost::lockfree::queue, 6,i: 6,066,888 msg/sec boost::lockfree::queue, 7,s: 5,993,605 msg/sec boost::lockfree::queue, 7,i: 6,051,159 msg/sec boost::lockfree::queue, 8,s: 5,465,862 msg/sec boost::lockfree::queue, 8,i: 5,576,843 msg/sec moodycamel::ReaderWriterQueue, 1,s: 490,467,217 msg/sec moodycamel::ReaderWriterQueue, 1,i: 456,507,086 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,467,459 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,620,662 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,402,273 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,756,781 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,431,400 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,753,458 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,789,806 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,956,971 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,250,855 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,816,717 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,653,473 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,518,582 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,919,460 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,517,959 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,382,835 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,741,331 msg/sec pthread_spinlock, 1,s: 29,203,408 msg/sec pthread_spinlock, 1,i: 25,260,429 msg/sec pthread_spinlock, 2,s: 15,630,252 msg/sec pthread_spinlock, 2,i: 16,862,624 msg/sec pthread_spinlock, 3,s: 8,344,607 msg/sec pthread_spinlock, 3,i: 12,250,682 msg/sec pthread_spinlock, 4,s: 6,556,954 msg/sec pthread_spinlock, 4,i: 8,956,974 msg/sec pthread_spinlock, 5,s: 8,664,003 msg/sec pthread_spinlock, 5,i: 9,245,831 msg/sec pthread_spinlock, 6,s: 8,647,164 msg/sec pthread_spinlock, 6,i: 8,991,286 msg/sec pthread_spinlock, 7,s: 7,496,710 msg/sec pthread_spinlock, 7,i: 7,627,478 msg/sec pthread_spinlock, 8,s: 6,819,586 msg/sec pthread_spinlock, 8,i: 6,795,277 msg/sec std::mutex, 1,s: 6,790,740 msg/sec std::mutex, 1,i: 7,966,287 msg/sec std::mutex, 2,s: 5,943,804 msg/sec std::mutex, 2,i: 6,062,952 msg/sec std::mutex, 3,s: 6,117,313 msg/sec std::mutex, 3,i: 6,247,394 msg/sec std::mutex, 4,s: 6,314,990 msg/sec std::mutex, 4,i: 6,367,695 msg/sec std::mutex, 5,s: 6,198,229 msg/sec std::mutex, 5,i: 6,030,466 msg/sec std::mutex, 6,s: 6,122,599 msg/sec std::mutex, 6,i: 6,081,746 msg/sec std::mutex, 7,s: 5,933,182 msg/sec std::mutex, 7,i: 5,936,122 msg/sec std::mutex, 8,s: 5,737,358 msg/sec std::mutex, 8,i: 5,756,056 msg/sec tbb::spin_mutex, 1,s: 37,520,108 msg/sec tbb::spin_mutex, 1,i: 36,625,529 msg/sec tbb::spin_mutex, 2,s: 21,172,963 msg/sec tbb::spin_mutex, 2,i: 18,239,882 msg/sec tbb::spin_mutex, 3,s: 8,417,136 msg/sec tbb::spin_mutex, 3,i: 10,287,878 msg/sec tbb::spin_mutex, 4,s: 3,256,819 msg/sec tbb::spin_mutex, 4,i: 6,320,823 msg/sec tbb::spin_mutex, 5,s: 5,498,527 msg/sec tbb::spin_mutex, 5,i: 5,705,892 msg/sec tbb::spin_mutex, 6,s: 5,342,239 msg/sec tbb::spin_mutex, 6,i: 4,352,601 msg/sec tbb::spin_mutex, 7,s: 4,846,898 msg/sec tbb::spin_mutex, 7,i: 4,342,991 msg/sec tbb::spin_mutex, 8,s: 3,872,086 msg/sec tbb::spin_mutex, 8,i: 4,099,097 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,099,058 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,230,848 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,135,375 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,894,414 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,370,223 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,406,347 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,050,688 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,308,819 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,585,907 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,391,703 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,618,880 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,720,895 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,630,688 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,082,896 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,719,523 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,886,627 msg/sec xenium::michael_scott_queue, 1,s: 9,463,248 msg/sec xenium::michael_scott_queue, 1,i: 9,468,778 msg/sec xenium::michael_scott_queue, 2,s: 8,495,609 msg/sec xenium::michael_scott_queue, 2,i: 8,558,266 msg/sec xenium::michael_scott_queue, 3,s: 7,150,705 msg/sec xenium::michael_scott_queue, 3,i: 7,556,749 msg/sec xenium::michael_scott_queue, 4,s: 6,334,018 msg/sec xenium::michael_scott_queue, 4,i: 6,377,774 msg/sec xenium::michael_scott_queue, 5,s: 6,306,273 msg/sec xenium::michael_scott_queue, 5,i: 6,691,464 msg/sec xenium::michael_scott_queue, 6,s: 6,485,322 msg/sec xenium::michael_scott_queue, 6,i: 6,972,089 msg/sec xenium::michael_scott_queue, 7,s: 6,360,407 msg/sec xenium::michael_scott_queue, 7,i: 6,522,368 msg/sec xenium::michael_scott_queue, 8,s: 6,016,685 msg/sec xenium::michael_scott_queue, 8,i: 6,071,768 msg/sec xenium::ramalhete_queue, 1,s: 32,315,722 msg/sec xenium::ramalhete_queue, 1,i: 32,712,998 msg/sec xenium::ramalhete_queue, 2,s: 23,526,940 msg/sec xenium::ramalhete_queue, 2,i: 23,362,405 msg/sec xenium::ramalhete_queue, 3,s: 29,367,884 msg/sec xenium::ramalhete_queue, 3,i: 28,539,230 msg/sec xenium::ramalhete_queue, 4,s: 33,871,453 msg/sec xenium::ramalhete_queue, 4,i: 33,443,179 msg/sec xenium::ramalhete_queue, 5,s: 32,120,351 msg/sec xenium::ramalhete_queue, 5,i: 36,153,573 msg/sec xenium::ramalhete_queue, 6,s: 34,060,272 msg/sec xenium::ramalhete_queue, 6,i: 38,999,357 msg/sec xenium::ramalhete_queue, 7,s: 35,227,809 msg/sec xenium::ramalhete_queue, 7,i: 41,718,251 msg/sec xenium::ramalhete_queue, 8,s: 35,727,106 msg/sec xenium::ramalhete_queue, 8,i: 44,050,947 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,268,437 msg/sec xenium::vyukov_bounded_queue, 1,i: 118,650,679 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,859,019 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,652,655 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,689,786 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,836,505 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,586,072 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,216,711 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,533,380 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,242,545 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,936,395 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,186,866 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,174,494 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,302,922 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,521 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,549,279 msg/sec AtomicQueue, 1,s: 64,132,045 msg/sec AtomicQueue, 1,i: 56,347,532 msg/sec AtomicQueue, 2,s: 12,246,676 msg/sec AtomicQueue, 2,i: 11,770,750 msg/sec AtomicQueue, 3,s: 10,792,583 msg/sec AtomicQueue, 3,i: 9,898,776 msg/sec AtomicQueue, 4,s: 8,199,861 msg/sec AtomicQueue, 4,i: 8,201,727 msg/sec AtomicQueue, 5,s: 8,058,192 msg/sec AtomicQueue, 5,i: 8,143,721 msg/sec AtomicQueue, 6,s: 7,838,078 msg/sec AtomicQueue, 6,i: 7,620,903 msg/sec AtomicQueue, 7,s: 7,157,065 msg/sec AtomicQueue, 7,i: 7,970,588 msg/sec AtomicQueue, 8,s: 6,346,319 msg/sec AtomicQueue, 8,i: 7,470,759 msg/sec AtomicQueueB, 1,s: 43,911,013 msg/sec AtomicQueueB, 1,i: 43,055,870 msg/sec AtomicQueueB, 2,s: 11,808,933 msg/sec AtomicQueueB, 2,i: 11,517,235 msg/sec AtomicQueueB, 3,s: 11,009,347 msg/sec AtomicQueueB, 3,i: 10,273,398 msg/sec AtomicQueueB, 4,s: 8,061,327 msg/sec AtomicQueueB, 4,i: 8,067,569 msg/sec AtomicQueueB, 5,s: 7,585,401 msg/sec AtomicQueueB, 5,i: 7,851,638 msg/sec AtomicQueueB, 6,s: 7,389,400 msg/sec AtomicQueueB, 6,i: 7,522,819 msg/sec AtomicQueueB, 7,s: 6,858,590 msg/sec AtomicQueueB, 7,i: 7,718,891 msg/sec AtomicQueueB, 8,s: 6,228,408 msg/sec AtomicQueueB, 8,i: 7,170,092 msg/sec OptimistAtomicQueue, 1,s: 772,793,943 msg/sec OptimistAtomicQueue, 1,i: 690,175,421 msg/sec OptimistAtomicQueue, 2,s: 32,614,869 msg/sec OptimistAtomicQueue, 2,i: 32,700,116 msg/sec OptimistAtomicQueue, 3,s: 36,702,732 msg/sec OptimistAtomicQueue, 3,i: 37,399,580 msg/sec OptimistAtomicQueue, 4,s: 39,277,064 msg/sec OptimistAtomicQueue, 4,i: 39,424,085 msg/sec OptimistAtomicQueue, 5,s: 41,793,480 msg/sec OptimistAtomicQueue, 5,i: 47,176,538 msg/sec OptimistAtomicQueue, 6,s: 41,960,516 msg/sec OptimistAtomicQueue, 6,i: 49,842,325 msg/sec OptimistAtomicQueue, 7,s: 45,121,817 msg/sec OptimistAtomicQueue, 7,i: 49,490,655 msg/sec OptimistAtomicQueue, 8,s: 46,409,842 msg/sec OptimistAtomicQueue, 8,i: 48,905,920 msg/sec OptimistAtomicQueueB, 1,s: 293,799,673 msg/sec OptimistAtomicQueueB, 1,i: 77,698,201 msg/sec OptimistAtomicQueueB, 2,s: 32,166,207 msg/sec OptimistAtomicQueueB, 2,i: 32,270,903 msg/sec OptimistAtomicQueueB, 3,s: 36,146,225 msg/sec OptimistAtomicQueueB, 3,i: 36,741,225 msg/sec OptimistAtomicQueueB, 4,s: 38,621,669 msg/sec OptimistAtomicQueueB, 4,i: 38,595,055 msg/sec OptimistAtomicQueueB, 5,s: 40,447,578 msg/sec OptimistAtomicQueueB, 5,i: 45,377,638 msg/sec OptimistAtomicQueueB, 6,s: 41,049,178 msg/sec OptimistAtomicQueueB, 6,i: 49,269,039 msg/sec OptimistAtomicQueueB, 7,s: 41,461,994 msg/sec OptimistAtomicQueueB, 7,i: 51,456,426 msg/sec OptimistAtomicQueueB, 8,s: 44,355,983 msg/sec OptimistAtomicQueueB, 8,i: 48,358,723 msg/sec AtomicQueue2, 1,s: 22,956,213 msg/sec AtomicQueue2, 1,i: 22,900,416 msg/sec AtomicQueue2, 2,s: 11,952,664 msg/sec AtomicQueue2, 2,i: 11,571,244 msg/sec AtomicQueue2, 3,s: 9,699,210 msg/sec AtomicQueue2, 3,i: 9,375,216 msg/sec AtomicQueue2, 4,s: 8,100,860 msg/sec AtomicQueue2, 4,i: 8,085,723 msg/sec AtomicQueue2, 5,s: 7,940,592 msg/sec AtomicQueue2, 5,i: 8,016,354 msg/sec AtomicQueue2, 6,s: 7,682,785 msg/sec AtomicQueue2, 6,i: 7,539,656 msg/sec AtomicQueue2, 7,s: 7,124,358 msg/sec AtomicQueue2, 7,i: 7,909,452 msg/sec AtomicQueue2, 8,s: 6,412,208 msg/sec AtomicQueue2, 8,i: 7,358,211 msg/sec AtomicQueueB2, 1,s: 36,260,738 msg/sec AtomicQueueB2, 1,i: 32,618,199 msg/sec AtomicQueueB2, 2,s: 11,485,171 msg/sec AtomicQueueB2, 2,i: 11,137,302 msg/sec AtomicQueueB2, 3,s: 9,733,805 msg/sec AtomicQueueB2, 3,i: 9,620,575 msg/sec AtomicQueueB2, 4,s: 7,963,458 msg/sec AtomicQueueB2, 4,i: 7,836,504 msg/sec AtomicQueueB2, 5,s: 7,461,593 msg/sec AtomicQueueB2, 5,i: 7,726,351 msg/sec AtomicQueueB2, 6,s: 7,326,796 msg/sec AtomicQueueB2, 6,i: 7,453,783 msg/sec AtomicQueueB2, 7,s: 6,877,210 msg/sec AtomicQueueB2, 7,i: 7,715,983 msg/sec AtomicQueueB2, 8,s: 6,272,038 msg/sec AtomicQueueB2, 8,i: 7,053,538 msg/sec OptimistAtomicQueue2, 1,s: 442,273,275 msg/sec OptimistAtomicQueue2, 1,i: 32,226,565 msg/sec OptimistAtomicQueue2, 2,s: 25,362,257 msg/sec OptimistAtomicQueue2, 2,i: 24,002,190 msg/sec OptimistAtomicQueue2, 3,s: 30,323,042 msg/sec OptimistAtomicQueue2, 3,i: 30,950,474 msg/sec OptimistAtomicQueue2, 4,s: 33,374,044 msg/sec OptimistAtomicQueue2, 4,i: 33,167,919 msg/sec OptimistAtomicQueue2, 5,s: 37,313,627 msg/sec OptimistAtomicQueue2, 5,i: 40,191,019 msg/sec OptimistAtomicQueue2, 6,s: 39,971,967 msg/sec OptimistAtomicQueue2, 6,i: 49,243,496 msg/sec OptimistAtomicQueue2, 7,s: 42,585,334 msg/sec OptimistAtomicQueue2, 7,i: 48,210,216 msg/sec OptimistAtomicQueue2, 8,s: 43,746,042 msg/sec OptimistAtomicQueue2, 8,i: 48,965,416 msg/sec OptimistAtomicQueueB2, 1,s: 78,724,477 msg/sec OptimistAtomicQueueB2, 1,i: 33,870,498 msg/sec OptimistAtomicQueueB2, 2,s: 27,150,147 msg/sec OptimistAtomicQueueB2, 2,i: 23,261,066 msg/sec OptimistAtomicQueueB2, 3,s: 29,716,788 msg/sec OptimistAtomicQueueB2, 3,i: 29,492,591 msg/sec OptimistAtomicQueueB2, 4,s: 33,304,809 msg/sec OptimistAtomicQueueB2, 4,i: 32,189,014 msg/sec OptimistAtomicQueueB2, 5,s: 34,615,689 msg/sec OptimistAtomicQueueB2, 5,i: 40,224,969 msg/sec OptimistAtomicQueueB2, 6,s: 37,248,307 msg/sec OptimistAtomicQueueB2, 6,i: 42,609,239 msg/sec OptimistAtomicQueueB2, 7,s: 40,761,153 msg/sec OptimistAtomicQueueB2, 7,i: 43,157,656 msg/sec OptimistAtomicQueueB2, 8,s: 42,345,554 msg/sec OptimistAtomicQueueB2, 8,i: 45,215,210 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000516 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000226 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [104] 344m:8s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,109,540 msg/sec boost::lockfree::spsc_queue, 1,i: 65,902,364 msg/sec boost::lockfree::queue, 1,s: 6,913,863 msg/sec boost::lockfree::queue, 1,i: 6,947,570 msg/sec boost::lockfree::queue, 2,s: 7,558,285 msg/sec boost::lockfree::queue, 2,i: 7,545,504 msg/sec boost::lockfree::queue, 3,s: 7,441,621 msg/sec boost::lockfree::queue, 3,i: 7,648,842 msg/sec boost::lockfree::queue, 4,s: 6,421,476 msg/sec boost::lockfree::queue, 4,i: 6,769,063 msg/sec boost::lockfree::queue, 5,s: 6,399,896 msg/sec boost::lockfree::queue, 5,i: 6,448,911 msg/sec boost::lockfree::queue, 6,s: 5,962,224 msg/sec boost::lockfree::queue, 6,i: 6,088,909 msg/sec boost::lockfree::queue, 7,s: 5,988,564 msg/sec boost::lockfree::queue, 7,i: 5,945,361 msg/sec boost::lockfree::queue, 8,s: 5,427,303 msg/sec boost::lockfree::queue, 8,i: 5,644,723 msg/sec moodycamel::ReaderWriterQueue, 1,s: 122,432,281 msg/sec moodycamel::ReaderWriterQueue, 1,i: 53,792,912 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,870,634 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,243,258 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,183,992 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,031,374 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,691,035 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,624,143 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,494,502 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,255,202 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,225,435 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,116,107 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,285,621 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,248,618 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,810,837 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,914,005 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,259,277 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,299,590 msg/sec pthread_spinlock, 1,s: 29,426,603 msg/sec pthread_spinlock, 1,i: 25,350,022 msg/sec pthread_spinlock, 2,s: 16,130,154 msg/sec pthread_spinlock, 2,i: 18,163,815 msg/sec pthread_spinlock, 3,s: 8,480,064 msg/sec pthread_spinlock, 3,i: 12,008,703 msg/sec pthread_spinlock, 4,s: 6,490,597 msg/sec pthread_spinlock, 4,i: 8,919,010 msg/sec pthread_spinlock, 5,s: 8,748,582 msg/sec pthread_spinlock, 5,i: 9,137,653 msg/sec pthread_spinlock, 6,s: 8,258,893 msg/sec pthread_spinlock, 6,i: 8,504,251 msg/sec pthread_spinlock, 7,s: 7,537,214 msg/sec pthread_spinlock, 7,i: 7,951,616 msg/sec pthread_spinlock, 8,s: 6,623,628 msg/sec pthread_spinlock, 8,i: 6,933,653 msg/sec std::mutex, 1,s: 6,539,796 msg/sec std::mutex, 1,i: 7,166,092 msg/sec std::mutex, 2,s: 5,245,673 msg/sec std::mutex, 2,i: 6,048,808 msg/sec std::mutex, 3,s: 6,111,675 msg/sec std::mutex, 3,i: 5,650,071 msg/sec std::mutex, 4,s: 6,001,233 msg/sec std::mutex, 4,i: 6,208,649 msg/sec std::mutex, 5,s: 6,042,418 msg/sec std::mutex, 5,i: 6,094,291 msg/sec std::mutex, 6,s: 5,876,735 msg/sec std::mutex, 6,i: 5,917,265 msg/sec std::mutex, 7,s: 5,750,754 msg/sec std::mutex, 7,i: 5,805,442 msg/sec std::mutex, 8,s: 5,641,691 msg/sec std::mutex, 8,i: 5,671,886 msg/sec tbb::spin_mutex, 1,s: 37,759,034 msg/sec tbb::spin_mutex, 1,i: 37,631,980 msg/sec tbb::spin_mutex, 2,s: 21,180,871 msg/sec tbb::spin_mutex, 2,i: 18,332,064 msg/sec tbb::spin_mutex, 3,s: 7,428,677 msg/sec tbb::spin_mutex, 3,i: 11,143,887 msg/sec tbb::spin_mutex, 4,s: 3,177,601 msg/sec tbb::spin_mutex, 4,i: 6,297,187 msg/sec tbb::spin_mutex, 5,s: 5,189,735 msg/sec tbb::spin_mutex, 5,i: 5,423,796 msg/sec tbb::spin_mutex, 6,s: 5,248,561 msg/sec tbb::spin_mutex, 6,i: 4,357,638 msg/sec tbb::spin_mutex, 7,s: 4,826,035 msg/sec tbb::spin_mutex, 7,i: 4,325,626 msg/sec tbb::spin_mutex, 8,s: 4,230,967 msg/sec tbb::spin_mutex, 8,i: 4,204,707 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,171,820 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,797,233 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,840,896 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,169,477 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,185,631 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,253,515 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,049,199 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,235,423 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,578,830 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,372,729 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,603,418 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,712,189 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,634,582 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,095,196 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,728,822 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,925,758 msg/sec xenium::michael_scott_queue, 1,s: 10,062,279 msg/sec xenium::michael_scott_queue, 1,i: 9,860,703 msg/sec xenium::michael_scott_queue, 2,s: 8,640,403 msg/sec xenium::michael_scott_queue, 2,i: 8,487,368 msg/sec xenium::michael_scott_queue, 3,s: 7,247,207 msg/sec xenium::michael_scott_queue, 3,i: 7,541,526 msg/sec xenium::michael_scott_queue, 4,s: 6,217,799 msg/sec xenium::michael_scott_queue, 4,i: 6,287,898 msg/sec xenium::michael_scott_queue, 5,s: 6,292,086 msg/sec xenium::michael_scott_queue, 5,i: 6,655,606 msg/sec xenium::michael_scott_queue, 6,s: 6,481,924 msg/sec xenium::michael_scott_queue, 6,i: 6,777,839 msg/sec xenium::michael_scott_queue, 7,s: 6,363,139 msg/sec xenium::michael_scott_queue, 7,i: 6,473,448 msg/sec xenium::michael_scott_queue, 8,s: 6,028,161 msg/sec xenium::michael_scott_queue, 8,i: 6,114,129 msg/sec xenium::ramalhete_queue, 1,s: 29,510,581 msg/sec xenium::ramalhete_queue, 1,i: 31,002,327 msg/sec xenium::ramalhete_queue, 2,s: 23,423,284 msg/sec xenium::ramalhete_queue, 2,i: 23,300,564 msg/sec xenium::ramalhete_queue, 3,s: 29,184,101 msg/sec xenium::ramalhete_queue, 3,i: 28,407,329 msg/sec xenium::ramalhete_queue, 4,s: 33,744,752 msg/sec xenium::ramalhete_queue, 4,i: 33,385,662 msg/sec xenium::ramalhete_queue, 5,s: 32,089,180 msg/sec xenium::ramalhete_queue, 5,i: 35,903,993 msg/sec xenium::ramalhete_queue, 6,s: 33,958,203 msg/sec xenium::ramalhete_queue, 6,i: 39,527,641 msg/sec xenium::ramalhete_queue, 7,s: 35,097,840 msg/sec xenium::ramalhete_queue, 7,i: 41,900,136 msg/sec xenium::ramalhete_queue, 8,s: 35,567,899 msg/sec xenium::ramalhete_queue, 8,i: 43,793,844 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,259,768 msg/sec xenium::vyukov_bounded_queue, 1,i: 110,249,061 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,617,324 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,262,933 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,636,418 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,497,344 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,634,947 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,128,837 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,364,025 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,354,268 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,779,595 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,780,005 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,274,750 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,343,860 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,395,879 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,259,785 msg/sec AtomicQueue, 1,s: 106,645,624 msg/sec AtomicQueue, 1,i: 56,816,878 msg/sec AtomicQueue, 2,s: 12,263,454 msg/sec AtomicQueue, 2,i: 11,738,843 msg/sec AtomicQueue, 3,s: 10,793,360 msg/sec AtomicQueue, 3,i: 10,008,843 msg/sec AtomicQueue, 4,s: 8,169,697 msg/sec AtomicQueue, 4,i: 8,191,311 msg/sec AtomicQueue, 5,s: 8,043,102 msg/sec AtomicQueue, 5,i: 8,128,668 msg/sec AtomicQueue, 6,s: 7,791,881 msg/sec AtomicQueue, 6,i: 7,612,516 msg/sec AtomicQueue, 7,s: 7,140,585 msg/sec AtomicQueue, 7,i: 7,993,118 msg/sec AtomicQueue, 8,s: 6,328,557 msg/sec AtomicQueue, 8,i: 7,322,277 msg/sec AtomicQueueB, 1,s: 43,933,129 msg/sec AtomicQueueB, 1,i: 42,940,636 msg/sec AtomicQueueB, 2,s: 11,716,597 msg/sec AtomicQueueB, 2,i: 11,496,431 msg/sec AtomicQueueB, 3,s: 11,018,016 msg/sec AtomicQueueB, 3,i: 10,153,939 msg/sec AtomicQueueB, 4,s: 8,098,101 msg/sec AtomicQueueB, 4,i: 8,074,658 msg/sec AtomicQueueB, 5,s: 7,554,761 msg/sec AtomicQueueB, 5,i: 7,858,409 msg/sec AtomicQueueB, 6,s: 7,398,424 msg/sec AtomicQueueB, 6,i: 7,507,692 msg/sec AtomicQueueB, 7,s: 6,921,764 msg/sec AtomicQueueB, 7,i: 7,745,552 msg/sec AtomicQueueB, 8,s: 6,336,777 msg/sec AtomicQueueB, 8,i: 7,097,533 msg/sec OptimistAtomicQueue, 1,s: 706,896,749 msg/sec OptimistAtomicQueue, 1,i: 713,467,774 msg/sec OptimistAtomicQueue, 2,s: 32,643,744 msg/sec OptimistAtomicQueue, 2,i: 32,717,590 msg/sec OptimistAtomicQueue, 3,s: 36,664,180 msg/sec OptimistAtomicQueue, 3,i: 37,391,385 msg/sec OptimistAtomicQueue, 4,s: 39,281,085 msg/sec OptimistAtomicQueue, 4,i: 39,348,216 msg/sec OptimistAtomicQueue, 5,s: 42,286,884 msg/sec OptimistAtomicQueue, 5,i: 47,576,045 msg/sec OptimistAtomicQueue, 6,s: 42,615,683 msg/sec OptimistAtomicQueue, 6,i: 50,454,138 msg/sec OptimistAtomicQueue, 7,s: 44,211,349 msg/sec OptimistAtomicQueue, 7,i: 53,078,794 msg/sec OptimistAtomicQueue, 8,s: 46,331,897 msg/sec OptimistAtomicQueue, 8,i: 49,498,261 msg/sec OptimistAtomicQueueB, 1,s: 120,872,374 msg/sec OptimistAtomicQueueB, 1,i: 125,059,090 msg/sec OptimistAtomicQueueB, 2,s: 32,161,361 msg/sec OptimistAtomicQueueB, 2,i: 31,802,397 msg/sec OptimistAtomicQueueB, 3,s: 36,214,677 msg/sec OptimistAtomicQueueB, 3,i: 36,938,625 msg/sec OptimistAtomicQueueB, 4,s: 38,747,682 msg/sec OptimistAtomicQueueB, 4,i: 38,699,561 msg/sec OptimistAtomicQueueB, 5,s: 40,557,630 msg/sec OptimistAtomicQueueB, 5,i: 45,413,247 msg/sec OptimistAtomicQueueB, 6,s: 41,054,501 msg/sec OptimistAtomicQueueB, 6,i: 48,685,957 msg/sec OptimistAtomicQueueB, 7,s: 41,849,380 msg/sec OptimistAtomicQueueB, 7,i: 47,925,966 msg/sec OptimistAtomicQueueB, 8,s: 44,400,781 msg/sec OptimistAtomicQueueB, 8,i: 48,738,517 msg/sec AtomicQueue2, 1,s: 22,908,775 msg/sec AtomicQueue2, 1,i: 22,876,923 msg/sec AtomicQueue2, 2,s: 11,838,991 msg/sec AtomicQueue2, 2,i: 11,466,118 msg/sec AtomicQueue2, 3,s: 9,543,011 msg/sec AtomicQueue2, 3,i: 9,399,056 msg/sec AtomicQueue2, 4,s: 8,044,285 msg/sec AtomicQueue2, 4,i: 8,048,853 msg/sec AtomicQueue2, 5,s: 7,937,407 msg/sec AtomicQueue2, 5,i: 8,032,018 msg/sec AtomicQueue2, 6,s: 7,581,362 msg/sec AtomicQueue2, 6,i: 7,544,381 msg/sec AtomicQueue2, 7,s: 7,141,500 msg/sec AtomicQueue2, 7,i: 7,890,670 msg/sec AtomicQueue2, 8,s: 6,371,071 msg/sec AtomicQueue2, 8,i: 7,352,461 msg/sec AtomicQueueB2, 1,s: 36,169,065 msg/sec AtomicQueueB2, 1,i: 32,609,076 msg/sec AtomicQueueB2, 2,s: 11,418,359 msg/sec AtomicQueueB2, 2,i: 11,119,279 msg/sec AtomicQueueB2, 3,s: 9,671,890 msg/sec AtomicQueueB2, 3,i: 9,564,732 msg/sec AtomicQueueB2, 4,s: 7,881,748 msg/sec AtomicQueueB2, 4,i: 7,788,652 msg/sec AtomicQueueB2, 5,s: 7,465,751 msg/sec AtomicQueueB2, 5,i: 7,737,158 msg/sec AtomicQueueB2, 6,s: 7,210,797 msg/sec AtomicQueueB2, 6,i: 7,438,856 msg/sec AtomicQueueB2, 7,s: 6,921,609 msg/sec AtomicQueueB2, 7,i: 7,705,096 msg/sec AtomicQueueB2, 8,s: 6,269,920 msg/sec AtomicQueueB2, 8,i: 7,076,020 msg/sec OptimistAtomicQueue2, 1,s: 32,038,752 msg/sec OptimistAtomicQueue2, 1,i: 29,551,197 msg/sec OptimistAtomicQueue2, 2,s: 26,207,071 msg/sec OptimistAtomicQueue2, 2,i: 24,880,732 msg/sec OptimistAtomicQueue2, 3,s: 30,319,961 msg/sec OptimistAtomicQueue2, 3,i: 30,276,607 msg/sec OptimistAtomicQueue2, 4,s: 33,511,418 msg/sec OptimistAtomicQueue2, 4,i: 33,341,381 msg/sec OptimistAtomicQueue2, 5,s: 37,135,601 msg/sec OptimistAtomicQueue2, 5,i: 42,692,916 msg/sec OptimistAtomicQueue2, 6,s: 39,859,606 msg/sec OptimistAtomicQueue2, 6,i: 49,107,087 msg/sec OptimistAtomicQueue2, 7,s: 42,736,615 msg/sec OptimistAtomicQueue2, 7,i: 51,746,308 msg/sec OptimistAtomicQueue2, 8,s: 43,914,439 msg/sec OptimistAtomicQueue2, 8,i: 48,461,093 msg/sec OptimistAtomicQueueB2, 1,s: 77,449,427 msg/sec OptimistAtomicQueueB2, 1,i: 33,880,626 msg/sec OptimistAtomicQueueB2, 2,s: 27,713,861 msg/sec OptimistAtomicQueueB2, 2,i: 23,169,659 msg/sec OptimistAtomicQueueB2, 3,s: 30,142,896 msg/sec OptimistAtomicQueueB2, 3,i: 29,980,707 msg/sec OptimistAtomicQueueB2, 4,s: 33,272,745 msg/sec OptimistAtomicQueueB2, 4,i: 32,053,730 msg/sec OptimistAtomicQueueB2, 5,s: 34,607,209 msg/sec OptimistAtomicQueueB2, 5,i: 40,163,651 msg/sec OptimistAtomicQueueB2, 6,s: 37,719,615 msg/sec OptimistAtomicQueueB2, 6,i: 42,373,753 msg/sec OptimistAtomicQueueB2, 7,s: 40,048,107 msg/sec OptimistAtomicQueueB2, 7,i: 43,110,388 msg/sec OptimistAtomicQueueB2, 8,s: 42,173,901 msg/sec OptimistAtomicQueueB2, 8,i: 45,845,948 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000266 sec/round-trip std::mutex: 0.000000515 sec/round-trip tbb::spin_mutex: 0.000000273 sec/round-trip tbb::concurrent_bounded_queue: 0.000000295 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000273 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [105] 342m:49s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,784,838 msg/sec boost::lockfree::spsc_queue, 1,i: 65,380,306 msg/sec boost::lockfree::queue, 1,s: 6,780,811 msg/sec boost::lockfree::queue, 1,i: 6,914,935 msg/sec boost::lockfree::queue, 2,s: 7,582,861 msg/sec boost::lockfree::queue, 2,i: 7,427,187 msg/sec boost::lockfree::queue, 3,s: 7,398,985 msg/sec boost::lockfree::queue, 3,i: 7,544,889 msg/sec boost::lockfree::queue, 4,s: 6,419,625 msg/sec boost::lockfree::queue, 4,i: 6,796,211 msg/sec boost::lockfree::queue, 5,s: 6,428,255 msg/sec boost::lockfree::queue, 5,i: 6,482,198 msg/sec boost::lockfree::queue, 6,s: 6,014,409 msg/sec boost::lockfree::queue, 6,i: 6,085,561 msg/sec boost::lockfree::queue, 7,s: 5,760,519 msg/sec boost::lockfree::queue, 7,i: 6,059,791 msg/sec boost::lockfree::queue, 8,s: 5,446,513 msg/sec boost::lockfree::queue, 8,i: 5,595,322 msg/sec moodycamel::ReaderWriterQueue, 1,s: 495,115,745 msg/sec moodycamel::ReaderWriterQueue, 1,i: 494,836,504 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,798,157 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,879,830 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,832,782 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,846,187 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,665,600 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,636,733 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,796,872 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,300,156 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,235,829 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,123,735 msg/sec moodycamel::ConcurrentQueue, 6,s: 43,990,250 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,164,554 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,328,885 msg/sec moodycamel::ConcurrentQueue, 7,i: 47,083,688 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,331,212 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,954,756 msg/sec pthread_spinlock, 1,s: 28,953,287 msg/sec pthread_spinlock, 1,i: 25,372,636 msg/sec pthread_spinlock, 2,s: 16,107,073 msg/sec pthread_spinlock, 2,i: 16,723,434 msg/sec pthread_spinlock, 3,s: 8,305,792 msg/sec pthread_spinlock, 3,i: 12,110,992 msg/sec pthread_spinlock, 4,s: 6,560,615 msg/sec pthread_spinlock, 4,i: 9,028,326 msg/sec pthread_spinlock, 5,s: 8,787,556 msg/sec pthread_spinlock, 5,i: 8,887,090 msg/sec pthread_spinlock, 6,s: 8,576,726 msg/sec pthread_spinlock, 6,i: 9,030,549 msg/sec pthread_spinlock, 7,s: 7,677,177 msg/sec pthread_spinlock, 7,i: 7,755,574 msg/sec pthread_spinlock, 8,s: 6,793,577 msg/sec pthread_spinlock, 8,i: 7,365,685 msg/sec std::mutex, 1,s: 5,927,294 msg/sec std::mutex, 1,i: 6,436,446 msg/sec std::mutex, 2,s: 5,656,399 msg/sec std::mutex, 2,i: 5,861,959 msg/sec std::mutex, 3,s: 5,749,826 msg/sec std::mutex, 3,i: 5,969,037 msg/sec std::mutex, 4,s: 6,215,235 msg/sec std::mutex, 4,i: 6,180,768 msg/sec std::mutex, 5,s: 5,962,781 msg/sec std::mutex, 5,i: 6,013,722 msg/sec std::mutex, 6,s: 5,866,644 msg/sec std::mutex, 6,i: 5,830,275 msg/sec std::mutex, 7,s: 5,780,870 msg/sec std::mutex, 7,i: 5,703,523 msg/sec std::mutex, 8,s: 5,639,225 msg/sec std::mutex, 8,i: 5,602,849 msg/sec tbb::spin_mutex, 1,s: 41,700,250 msg/sec tbb::spin_mutex, 1,i: 41,688,103 msg/sec tbb::spin_mutex, 2,s: 21,490,529 msg/sec tbb::spin_mutex, 2,i: 18,275,226 msg/sec tbb::spin_mutex, 3,s: 8,465,068 msg/sec tbb::spin_mutex, 3,i: 10,972,500 msg/sec tbb::spin_mutex, 4,s: 3,377,280 msg/sec tbb::spin_mutex, 4,i: 6,414,493 msg/sec tbb::spin_mutex, 5,s: 5,409,430 msg/sec tbb::spin_mutex, 5,i: 5,497,142 msg/sec tbb::spin_mutex, 6,s: 5,363,411 msg/sec tbb::spin_mutex, 6,i: 4,423,568 msg/sec tbb::spin_mutex, 7,s: 4,826,824 msg/sec tbb::spin_mutex, 7,i: 4,305,929 msg/sec tbb::spin_mutex, 8,s: 4,232,877 msg/sec tbb::spin_mutex, 8,i: 4,083,836 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,185,613 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,008,725 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,084,247 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,252,065 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,475,231 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,550,877 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,558,510 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,607,319 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,888,867 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,583,417 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,980,107 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,637,188 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,802,465 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,821,982 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,780,236 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,489,872 msg/sec xenium::michael_scott_queue, 1,s: 10,069,492 msg/sec xenium::michael_scott_queue, 1,i: 9,767,038 msg/sec xenium::michael_scott_queue, 2,s: 8,577,012 msg/sec xenium::michael_scott_queue, 2,i: 8,520,379 msg/sec xenium::michael_scott_queue, 3,s: 7,295,596 msg/sec xenium::michael_scott_queue, 3,i: 7,567,840 msg/sec xenium::michael_scott_queue, 4,s: 6,331,062 msg/sec xenium::michael_scott_queue, 4,i: 6,302,363 msg/sec xenium::michael_scott_queue, 5,s: 6,302,478 msg/sec xenium::michael_scott_queue, 5,i: 6,609,121 msg/sec xenium::michael_scott_queue, 6,s: 6,487,534 msg/sec xenium::michael_scott_queue, 6,i: 6,632,041 msg/sec xenium::michael_scott_queue, 7,s: 6,339,937 msg/sec xenium::michael_scott_queue, 7,i: 6,497,079 msg/sec xenium::michael_scott_queue, 8,s: 6,079,413 msg/sec xenium::michael_scott_queue, 8,i: 6,094,118 msg/sec xenium::ramalhete_queue, 1,s: 31,792,960 msg/sec xenium::ramalhete_queue, 1,i: 32,895,390 msg/sec xenium::ramalhete_queue, 2,s: 23,545,996 msg/sec xenium::ramalhete_queue, 2,i: 23,375,906 msg/sec xenium::ramalhete_queue, 3,s: 29,421,677 msg/sec xenium::ramalhete_queue, 3,i: 28,452,685 msg/sec xenium::ramalhete_queue, 4,s: 33,721,029 msg/sec xenium::ramalhete_queue, 4,i: 33,367,910 msg/sec xenium::ramalhete_queue, 5,s: 32,120,096 msg/sec xenium::ramalhete_queue, 5,i: 35,991,600 msg/sec xenium::ramalhete_queue, 6,s: 33,964,894 msg/sec xenium::ramalhete_queue, 6,i: 39,368,396 msg/sec xenium::ramalhete_queue, 7,s: 35,381,654 msg/sec xenium::ramalhete_queue, 7,i: 41,187,324 msg/sec xenium::ramalhete_queue, 8,s: 35,530,491 msg/sec xenium::ramalhete_queue, 8,i: 43,815,660 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,921,686 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,712,951 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,480,840 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,719,122 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,659,714 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,826,063 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,621,621 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,224,934 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,628,027 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,346,974 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,980,526 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,168,652 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,061,926 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,357,095 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,381,512 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,329,453 msg/sec AtomicQueue, 1,s: 57,247,057 msg/sec AtomicQueue, 1,i: 56,234,160 msg/sec AtomicQueue, 2,s: 12,241,869 msg/sec AtomicQueue, 2,i: 11,691,927 msg/sec AtomicQueue, 3,s: 10,757,648 msg/sec AtomicQueue, 3,i: 9,938,381 msg/sec AtomicQueue, 4,s: 8,206,429 msg/sec AtomicQueue, 4,i: 8,192,480 msg/sec AtomicQueue, 5,s: 7,991,405 msg/sec AtomicQueue, 5,i: 8,102,654 msg/sec AtomicQueue, 6,s: 7,991,135 msg/sec AtomicQueue, 6,i: 7,599,861 msg/sec AtomicQueue, 7,s: 7,159,230 msg/sec AtomicQueue, 7,i: 7,999,438 msg/sec AtomicQueue, 8,s: 6,351,722 msg/sec AtomicQueue, 8,i: 7,489,165 msg/sec AtomicQueueB, 1,s: 67,720,502 msg/sec AtomicQueueB, 1,i: 42,979,547 msg/sec AtomicQueueB, 2,s: 11,757,651 msg/sec AtomicQueueB, 2,i: 11,499,950 msg/sec AtomicQueueB, 3,s: 10,971,860 msg/sec AtomicQueueB, 3,i: 10,275,578 msg/sec AtomicQueueB, 4,s: 8,044,872 msg/sec AtomicQueueB, 4,i: 7,964,655 msg/sec AtomicQueueB, 5,s: 7,570,994 msg/sec AtomicQueueB, 5,i: 7,793,150 msg/sec AtomicQueueB, 6,s: 7,421,554 msg/sec AtomicQueueB, 6,i: 7,577,248 msg/sec AtomicQueueB, 7,s: 6,818,621 msg/sec AtomicQueueB, 7,i: 7,719,156 msg/sec AtomicQueueB, 8,s: 6,288,284 msg/sec AtomicQueueB, 8,i: 7,172,701 msg/sec OptimistAtomicQueue, 1,s: 795,789,794 msg/sec OptimistAtomicQueue, 1,i: 636,782,566 msg/sec OptimistAtomicQueue, 2,s: 32,604,327 msg/sec OptimistAtomicQueue, 2,i: 32,662,856 msg/sec OptimistAtomicQueue, 3,s: 36,611,630 msg/sec OptimistAtomicQueue, 3,i: 37,445,917 msg/sec OptimistAtomicQueue, 4,s: 39,291,926 msg/sec OptimistAtomicQueue, 4,i: 39,419,704 msg/sec OptimistAtomicQueue, 5,s: 42,540,029 msg/sec OptimistAtomicQueue, 5,i: 46,251,912 msg/sec OptimistAtomicQueue, 6,s: 42,242,306 msg/sec OptimistAtomicQueue, 6,i: 49,789,504 msg/sec OptimistAtomicQueue, 7,s: 45,186,101 msg/sec OptimistAtomicQueue, 7,i: 52,129,682 msg/sec OptimistAtomicQueue, 8,s: 46,254,088 msg/sec OptimistAtomicQueue, 8,i: 49,388,934 msg/sec OptimistAtomicQueueB, 1,s: 89,322,509 msg/sec OptimistAtomicQueueB, 1,i: 76,507,810 msg/sec OptimistAtomicQueueB, 2,s: 32,147,990 msg/sec OptimistAtomicQueueB, 2,i: 32,227,549 msg/sec OptimistAtomicQueueB, 3,s: 36,297,733 msg/sec OptimistAtomicQueueB, 3,i: 36,919,792 msg/sec OptimistAtomicQueueB, 4,s: 38,786,096 msg/sec OptimistAtomicQueueB, 4,i: 38,594,897 msg/sec OptimistAtomicQueueB, 5,s: 40,311,122 msg/sec OptimistAtomicQueueB, 5,i: 45,235,965 msg/sec OptimistAtomicQueueB, 6,s: 40,554,368 msg/sec OptimistAtomicQueueB, 6,i: 49,284,142 msg/sec OptimistAtomicQueueB, 7,s: 41,683,684 msg/sec OptimistAtomicQueueB, 7,i: 50,791,240 msg/sec OptimistAtomicQueueB, 8,s: 44,637,881 msg/sec OptimistAtomicQueueB, 8,i: 48,050,421 msg/sec AtomicQueue2, 1,s: 23,405,755 msg/sec AtomicQueue2, 1,i: 23,428,353 msg/sec AtomicQueue2, 2,s: 11,752,263 msg/sec AtomicQueue2, 2,i: 11,445,282 msg/sec AtomicQueue2, 3,s: 9,423,346 msg/sec AtomicQueue2, 3,i: 9,420,803 msg/sec AtomicQueue2, 4,s: 8,039,358 msg/sec AtomicQueue2, 4,i: 8,034,522 msg/sec AtomicQueue2, 5,s: 7,888,209 msg/sec AtomicQueue2, 5,i: 7,978,422 msg/sec AtomicQueue2, 6,s: 7,747,804 msg/sec AtomicQueue2, 6,i: 7,545,656 msg/sec AtomicQueue2, 7,s: 7,159,188 msg/sec AtomicQueue2, 7,i: 7,898,771 msg/sec AtomicQueue2, 8,s: 6,394,657 msg/sec AtomicQueue2, 8,i: 7,375,485 msg/sec AtomicQueueB2, 1,s: 36,285,653 msg/sec AtomicQueueB2, 1,i: 32,650,800 msg/sec AtomicQueueB2, 2,s: 11,355,144 msg/sec AtomicQueueB2, 2,i: 11,136,303 msg/sec AtomicQueueB2, 3,s: 9,508,202 msg/sec AtomicQueueB2, 3,i: 9,451,740 msg/sec AtomicQueueB2, 4,s: 7,818,041 msg/sec AtomicQueueB2, 4,i: 7,812,496 msg/sec AtomicQueueB2, 5,s: 7,533,159 msg/sec AtomicQueueB2, 5,i: 7,714,268 msg/sec AtomicQueueB2, 6,s: 7,069,403 msg/sec AtomicQueueB2, 6,i: 7,455,074 msg/sec AtomicQueueB2, 7,s: 6,904,582 msg/sec AtomicQueueB2, 7,i: 7,727,927 msg/sec AtomicQueueB2, 8,s: 6,271,950 msg/sec AtomicQueueB2, 8,i: 7,111,397 msg/sec OptimistAtomicQueue2, 1,s: 33,474,791 msg/sec OptimistAtomicQueue2, 1,i: 279,201,355 msg/sec OptimistAtomicQueue2, 2,s: 26,135,255 msg/sec OptimistAtomicQueue2, 2,i: 22,528,624 msg/sec OptimistAtomicQueue2, 3,s: 29,889,971 msg/sec OptimistAtomicQueue2, 3,i: 30,448,876 msg/sec OptimistAtomicQueue2, 4,s: 33,679,068 msg/sec OptimistAtomicQueue2, 4,i: 33,071,466 msg/sec OptimistAtomicQueue2, 5,s: 37,281,447 msg/sec OptimistAtomicQueue2, 5,i: 40,081,451 msg/sec OptimistAtomicQueue2, 6,s: 40,096,105 msg/sec OptimistAtomicQueue2, 6,i: 49,140,401 msg/sec OptimistAtomicQueue2, 7,s: 43,311,820 msg/sec OptimistAtomicQueue2, 7,i: 48,284,954 msg/sec OptimistAtomicQueue2, 8,s: 43,954,025 msg/sec OptimistAtomicQueue2, 8,i: 49,506,070 msg/sec OptimistAtomicQueueB2, 1,s: 77,579,899 msg/sec OptimistAtomicQueueB2, 1,i: 33,927,159 msg/sec OptimistAtomicQueueB2, 2,s: 27,861,593 msg/sec OptimistAtomicQueueB2, 2,i: 25,392,938 msg/sec OptimistAtomicQueueB2, 3,s: 29,670,796 msg/sec OptimistAtomicQueueB2, 3,i: 30,654,331 msg/sec OptimistAtomicQueueB2, 4,s: 33,214,893 msg/sec OptimistAtomicQueueB2, 4,i: 31,957,526 msg/sec OptimistAtomicQueueB2, 5,s: 34,735,490 msg/sec OptimistAtomicQueueB2, 5,i: 39,319,323 msg/sec OptimistAtomicQueueB2, 6,s: 37,438,328 msg/sec OptimistAtomicQueueB2, 6,i: 42,398,569 msg/sec OptimistAtomicQueueB2, 7,s: 40,187,421 msg/sec OptimistAtomicQueueB2, 7,i: 43,217,363 msg/sec OptimistAtomicQueueB2, 8,s: 42,271,638 msg/sec OptimistAtomicQueueB2, 8,i: 46,337,277 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000114 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000248 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000255 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [106] 341m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,855,464 msg/sec boost::lockfree::spsc_queue, 1,i: 70,526,769 msg/sec boost::lockfree::queue, 1,s: 6,895,063 msg/sec boost::lockfree::queue, 1,i: 6,935,233 msg/sec boost::lockfree::queue, 2,s: 7,635,423 msg/sec boost::lockfree::queue, 2,i: 7,504,463 msg/sec boost::lockfree::queue, 3,s: 7,353,466 msg/sec boost::lockfree::queue, 3,i: 7,582,879 msg/sec boost::lockfree::queue, 4,s: 6,425,849 msg/sec boost::lockfree::queue, 4,i: 6,785,105 msg/sec boost::lockfree::queue, 5,s: 6,405,613 msg/sec boost::lockfree::queue, 5,i: 6,477,759 msg/sec boost::lockfree::queue, 6,s: 5,984,622 msg/sec boost::lockfree::queue, 6,i: 6,078,927 msg/sec boost::lockfree::queue, 7,s: 5,892,770 msg/sec boost::lockfree::queue, 7,i: 5,931,391 msg/sec boost::lockfree::queue, 8,s: 5,505,037 msg/sec boost::lockfree::queue, 8,i: 5,568,727 msg/sec moodycamel::ReaderWriterQueue, 1,s: 422,717,515 msg/sec moodycamel::ReaderWriterQueue, 1,i: 46,326,891 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,678,519 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,740,361 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,079,494 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,287,989 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,586,348 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,756,994 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,047,937 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,886,623 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,160,811 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,279,641 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,346,645 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,779,448 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,850,769 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,955,890 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,165,002 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,741,027 msg/sec pthread_spinlock, 1,s: 29,101,722 msg/sec pthread_spinlock, 1,i: 25,595,888 msg/sec pthread_spinlock, 2,s: 15,986,475 msg/sec pthread_spinlock, 2,i: 18,106,698 msg/sec pthread_spinlock, 3,s: 8,439,521 msg/sec pthread_spinlock, 3,i: 12,022,972 msg/sec pthread_spinlock, 4,s: 6,507,934 msg/sec pthread_spinlock, 4,i: 9,096,011 msg/sec pthread_spinlock, 5,s: 8,812,587 msg/sec pthread_spinlock, 5,i: 9,069,976 msg/sec pthread_spinlock, 6,s: 8,307,842 msg/sec pthread_spinlock, 6,i: 8,529,155 msg/sec pthread_spinlock, 7,s: 8,020,568 msg/sec pthread_spinlock, 7,i: 7,643,945 msg/sec pthread_spinlock, 8,s: 6,658,018 msg/sec pthread_spinlock, 8,i: 7,363,177 msg/sec std::mutex, 1,s: 6,933,090 msg/sec std::mutex, 1,i: 6,361,593 msg/sec std::mutex, 2,s: 5,979,247 msg/sec std::mutex, 2,i: 6,134,352 msg/sec std::mutex, 3,s: 6,018,350 msg/sec std::mutex, 3,i: 6,165,771 msg/sec std::mutex, 4,s: 6,267,899 msg/sec std::mutex, 4,i: 6,316,912 msg/sec std::mutex, 5,s: 6,152,875 msg/sec std::mutex, 5,i: 5,897,362 msg/sec std::mutex, 6,s: 5,866,590 msg/sec std::mutex, 6,i: 5,923,803 msg/sec std::mutex, 7,s: 5,737,097 msg/sec std::mutex, 7,i: 5,799,386 msg/sec std::mutex, 8,s: 5,736,480 msg/sec std::mutex, 8,i: 5,693,229 msg/sec tbb::spin_mutex, 1,s: 37,838,369 msg/sec tbb::spin_mutex, 1,i: 33,007,489 msg/sec tbb::spin_mutex, 2,s: 21,176,186 msg/sec tbb::spin_mutex, 2,i: 18,466,665 msg/sec tbb::spin_mutex, 3,s: 7,783,925 msg/sec tbb::spin_mutex, 3,i: 10,168,731 msg/sec tbb::spin_mutex, 4,s: 3,156,568 msg/sec tbb::spin_mutex, 4,i: 6,321,005 msg/sec tbb::spin_mutex, 5,s: 5,469,428 msg/sec tbb::spin_mutex, 5,i: 5,645,356 msg/sec tbb::spin_mutex, 6,s: 5,276,386 msg/sec tbb::spin_mutex, 6,i: 4,374,421 msg/sec tbb::spin_mutex, 7,s: 4,821,085 msg/sec tbb::spin_mutex, 7,i: 4,353,234 msg/sec tbb::spin_mutex, 8,s: 4,248,115 msg/sec tbb::spin_mutex, 8,i: 4,037,779 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,583,737 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,118,268 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,159,396 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,702,134 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,542,620 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,704,946 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,542,031 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,577,202 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,956,064 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,644,422 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,959,206 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,683,580 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,881,902 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,843,988 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,779,288 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,484,114 msg/sec xenium::michael_scott_queue, 1,s: 9,376,720 msg/sec xenium::michael_scott_queue, 1,i: 9,378,570 msg/sec xenium::michael_scott_queue, 2,s: 8,499,531 msg/sec xenium::michael_scott_queue, 2,i: 8,522,555 msg/sec xenium::michael_scott_queue, 3,s: 7,173,347 msg/sec xenium::michael_scott_queue, 3,i: 7,548,232 msg/sec xenium::michael_scott_queue, 4,s: 6,335,382 msg/sec xenium::michael_scott_queue, 4,i: 6,328,509 msg/sec xenium::michael_scott_queue, 5,s: 6,281,445 msg/sec xenium::michael_scott_queue, 5,i: 6,670,463 msg/sec xenium::michael_scott_queue, 6,s: 6,561,511 msg/sec xenium::michael_scott_queue, 6,i: 6,754,410 msg/sec xenium::michael_scott_queue, 7,s: 6,326,712 msg/sec xenium::michael_scott_queue, 7,i: 6,450,106 msg/sec xenium::michael_scott_queue, 8,s: 5,998,842 msg/sec xenium::michael_scott_queue, 8,i: 6,136,835 msg/sec xenium::ramalhete_queue, 1,s: 31,426,898 msg/sec xenium::ramalhete_queue, 1,i: 31,175,981 msg/sec xenium::ramalhete_queue, 2,s: 23,844,374 msg/sec xenium::ramalhete_queue, 2,i: 23,126,906 msg/sec xenium::ramalhete_queue, 3,s: 29,127,328 msg/sec xenium::ramalhete_queue, 3,i: 28,483,170 msg/sec xenium::ramalhete_queue, 4,s: 33,845,345 msg/sec xenium::ramalhete_queue, 4,i: 33,469,254 msg/sec xenium::ramalhete_queue, 5,s: 32,114,023 msg/sec xenium::ramalhete_queue, 5,i: 38,520,918 msg/sec xenium::ramalhete_queue, 6,s: 33,914,320 msg/sec xenium::ramalhete_queue, 6,i: 40,241,624 msg/sec xenium::ramalhete_queue, 7,s: 35,241,318 msg/sec xenium::ramalhete_queue, 7,i: 41,167,434 msg/sec xenium::ramalhete_queue, 8,s: 35,564,919 msg/sec xenium::ramalhete_queue, 8,i: 44,194,758 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,102,201 msg/sec xenium::vyukov_bounded_queue, 1,i: 102,571,450 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,920,113 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,586,666 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,518,910 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,384,987 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,704,690 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,117,462 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,929,078 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,240,216 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,071,779 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,295,695 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,146,194 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,965,192 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,398,603 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,490,955 msg/sec AtomicQueue, 1,s: 212,234,186 msg/sec AtomicQueue, 1,i: 271,248,432 msg/sec AtomicQueue, 2,s: 12,282,195 msg/sec AtomicQueue, 2,i: 11,734,048 msg/sec AtomicQueue, 3,s: 10,772,907 msg/sec AtomicQueue, 3,i: 9,890,376 msg/sec AtomicQueue, 4,s: 8,177,128 msg/sec AtomicQueue, 4,i: 8,181,450 msg/sec AtomicQueue, 5,s: 8,054,291 msg/sec AtomicQueue, 5,i: 8,060,019 msg/sec AtomicQueue, 6,s: 7,750,145 msg/sec AtomicQueue, 6,i: 7,618,079 msg/sec AtomicQueue, 7,s: 7,169,168 msg/sec AtomicQueue, 7,i: 7,985,003 msg/sec AtomicQueue, 8,s: 6,345,156 msg/sec AtomicQueue, 8,i: 7,459,846 msg/sec AtomicQueueB, 1,s: 43,903,844 msg/sec AtomicQueueB, 1,i: 43,460,226 msg/sec AtomicQueueB, 2,s: 11,925,691 msg/sec AtomicQueueB, 2,i: 11,503,923 msg/sec AtomicQueueB, 3,s: 10,971,213 msg/sec AtomicQueueB, 3,i: 10,064,823 msg/sec AtomicQueueB, 4,s: 8,106,818 msg/sec AtomicQueueB, 4,i: 7,957,284 msg/sec AtomicQueueB, 5,s: 7,639,861 msg/sec AtomicQueueB, 5,i: 7,817,925 msg/sec AtomicQueueB, 6,s: 7,266,259 msg/sec AtomicQueueB, 6,i: 7,534,364 msg/sec AtomicQueueB, 7,s: 6,899,654 msg/sec AtomicQueueB, 7,i: 7,761,359 msg/sec AtomicQueueB, 8,s: 6,187,255 msg/sec AtomicQueueB, 8,i: 7,185,628 msg/sec OptimistAtomicQueue, 1,s: 719,859,872 msg/sec OptimistAtomicQueue, 1,i: 513,142,016 msg/sec OptimistAtomicQueue, 2,s: 32,655,420 msg/sec OptimistAtomicQueue, 2,i: 32,632,683 msg/sec OptimistAtomicQueue, 3,s: 36,697,172 msg/sec OptimistAtomicQueue, 3,i: 37,421,487 msg/sec OptimistAtomicQueue, 4,s: 39,275,236 msg/sec OptimistAtomicQueue, 4,i: 39,399,038 msg/sec OptimistAtomicQueue, 5,s: 42,431,754 msg/sec OptimistAtomicQueue, 5,i: 46,312,653 msg/sec OptimistAtomicQueue, 6,s: 42,578,664 msg/sec OptimistAtomicQueue, 6,i: 50,352,446 msg/sec OptimistAtomicQueue, 7,s: 44,368,501 msg/sec OptimistAtomicQueue, 7,i: 52,938,844 msg/sec OptimistAtomicQueue, 8,s: 46,403,934 msg/sec OptimistAtomicQueue, 8,i: 48,843,637 msg/sec OptimistAtomicQueueB, 1,s: 152,718,352 msg/sec OptimistAtomicQueueB, 1,i: 80,691,542 msg/sec OptimistAtomicQueueB, 2,s: 32,248,096 msg/sec OptimistAtomicQueueB, 2,i: 32,204,118 msg/sec OptimistAtomicQueueB, 3,s: 36,256,031 msg/sec OptimistAtomicQueueB, 3,i: 36,961,017 msg/sec OptimistAtomicQueueB, 4,s: 38,640,027 msg/sec OptimistAtomicQueueB, 4,i: 38,528,278 msg/sec OptimistAtomicQueueB, 5,s: 41,064,571 msg/sec OptimistAtomicQueueB, 5,i: 45,328,823 msg/sec OptimistAtomicQueueB, 6,s: 41,119,166 msg/sec OptimistAtomicQueueB, 6,i: 48,882,526 msg/sec OptimistAtomicQueueB, 7,s: 42,026,148 msg/sec OptimistAtomicQueueB, 7,i: 48,265,660 msg/sec OptimistAtomicQueueB, 8,s: 44,134,822 msg/sec OptimistAtomicQueueB, 8,i: 47,598,401 msg/sec AtomicQueue2, 1,s: 22,938,298 msg/sec AtomicQueue2, 1,i: 22,938,032 msg/sec AtomicQueue2, 2,s: 11,859,005 msg/sec AtomicQueue2, 2,i: 11,378,680 msg/sec AtomicQueue2, 3,s: 9,325,032 msg/sec AtomicQueue2, 3,i: 9,395,099 msg/sec AtomicQueue2, 4,s: 8,021,335 msg/sec AtomicQueue2, 4,i: 8,033,289 msg/sec AtomicQueue2, 5,s: 7,935,942 msg/sec AtomicQueue2, 5,i: 8,030,220 msg/sec AtomicQueue2, 6,s: 7,712,710 msg/sec AtomicQueue2, 6,i: 7,522,524 msg/sec AtomicQueue2, 7,s: 7,072,550 msg/sec AtomicQueue2, 7,i: 7,893,474 msg/sec AtomicQueue2, 8,s: 6,398,540 msg/sec AtomicQueue2, 8,i: 7,226,085 msg/sec AtomicQueueB2, 1,s: 36,199,682 msg/sec AtomicQueueB2, 1,i: 33,764,856 msg/sec AtomicQueueB2, 2,s: 11,442,945 msg/sec AtomicQueueB2, 2,i: 11,100,365 msg/sec AtomicQueueB2, 3,s: 9,630,977 msg/sec AtomicQueueB2, 3,i: 9,519,162 msg/sec AtomicQueueB2, 4,s: 7,915,195 msg/sec AtomicQueueB2, 4,i: 7,838,876 msg/sec AtomicQueueB2, 5,s: 7,516,680 msg/sec AtomicQueueB2, 5,i: 7,703,000 msg/sec AtomicQueueB2, 6,s: 7,217,517 msg/sec AtomicQueueB2, 6,i: 7,456,658 msg/sec AtomicQueueB2, 7,s: 6,845,328 msg/sec AtomicQueueB2, 7,i: 7,709,719 msg/sec AtomicQueueB2, 8,s: 6,275,544 msg/sec AtomicQueueB2, 8,i: 7,091,912 msg/sec OptimistAtomicQueue2, 1,s: 334,419,108 msg/sec OptimistAtomicQueue2, 1,i: 31,675,540 msg/sec OptimistAtomicQueue2, 2,s: 24,942,290 msg/sec OptimistAtomicQueue2, 2,i: 24,013,589 msg/sec OptimistAtomicQueue2, 3,s: 30,316,235 msg/sec OptimistAtomicQueue2, 3,i: 29,955,851 msg/sec OptimistAtomicQueue2, 4,s: 33,159,112 msg/sec OptimistAtomicQueue2, 4,i: 33,620,322 msg/sec OptimistAtomicQueue2, 5,s: 37,196,300 msg/sec OptimistAtomicQueue2, 5,i: 40,607,493 msg/sec OptimistAtomicQueue2, 6,s: 40,118,572 msg/sec OptimistAtomicQueue2, 6,i: 49,193,235 msg/sec OptimistAtomicQueue2, 7,s: 42,695,729 msg/sec OptimistAtomicQueue2, 7,i: 51,825,464 msg/sec OptimistAtomicQueue2, 8,s: 43,969,573 msg/sec OptimistAtomicQueue2, 8,i: 48,362,055 msg/sec OptimistAtomicQueueB2, 1,s: 77,361,215 msg/sec OptimistAtomicQueueB2, 1,i: 33,863,522 msg/sec OptimistAtomicQueueB2, 2,s: 28,958,450 msg/sec OptimistAtomicQueueB2, 2,i: 25,423,301 msg/sec OptimistAtomicQueueB2, 3,s: 30,612,574 msg/sec OptimistAtomicQueueB2, 3,i: 28,980,311 msg/sec OptimistAtomicQueueB2, 4,s: 32,968,441 msg/sec OptimistAtomicQueueB2, 4,i: 31,999,652 msg/sec OptimistAtomicQueueB2, 5,s: 34,465,353 msg/sec OptimistAtomicQueueB2, 5,i: 39,313,763 msg/sec OptimistAtomicQueueB2, 6,s: 37,699,330 msg/sec OptimistAtomicQueueB2, 6,i: 42,253,220 msg/sec OptimistAtomicQueueB2, 7,s: 40,147,043 msg/sec OptimistAtomicQueueB2, 7,i: 45,296,458 msg/sec OptimistAtomicQueueB2, 8,s: 42,356,877 msg/sec OptimistAtomicQueueB2, 8,i: 45,997,061 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000162 sec/round-trip moodycamel::ConcurrentQueue: 0.000000221 sec/round-trip pthread_spinlock: 0.000000250 sec/round-trip std::mutex: 0.000000444 sec/round-trip tbb::spin_mutex: 0.000000260 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [107] 340m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,809,825 msg/sec boost::lockfree::spsc_queue, 1,i: 68,392,356 msg/sec boost::lockfree::queue, 1,s: 6,849,383 msg/sec boost::lockfree::queue, 1,i: 6,907,824 msg/sec boost::lockfree::queue, 2,s: 7,564,795 msg/sec boost::lockfree::queue, 2,i: 7,484,538 msg/sec boost::lockfree::queue, 3,s: 7,486,650 msg/sec boost::lockfree::queue, 3,i: 7,552,530 msg/sec boost::lockfree::queue, 4,s: 6,424,355 msg/sec boost::lockfree::queue, 4,i: 6,727,143 msg/sec boost::lockfree::queue, 5,s: 6,391,600 msg/sec boost::lockfree::queue, 5,i: 6,446,687 msg/sec boost::lockfree::queue, 6,s: 5,980,772 msg/sec boost::lockfree::queue, 6,i: 6,114,596 msg/sec boost::lockfree::queue, 7,s: 6,005,844 msg/sec boost::lockfree::queue, 7,i: 5,873,930 msg/sec boost::lockfree::queue, 8,s: 5,463,604 msg/sec boost::lockfree::queue, 8,i: 5,561,118 msg/sec moodycamel::ReaderWriterQueue, 1,s: 82,920,315 msg/sec moodycamel::ReaderWriterQueue, 1,i: 60,413,549 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,943,068 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,561,473 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,201,530 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,208,720 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,769,887 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,411,924 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,630,178 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,501,715 msg/sec moodycamel::ConcurrentQueue, 5,s: 47,027,429 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,753,609 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,522,088 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,439,024 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,303,384 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,986,131 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,333,512 msg/sec moodycamel::ConcurrentQueue, 8,i: 34,282,201 msg/sec pthread_spinlock, 1,s: 29,034,051 msg/sec pthread_spinlock, 1,i: 29,024,797 msg/sec pthread_spinlock, 2,s: 15,431,656 msg/sec pthread_spinlock, 2,i: 16,933,578 msg/sec pthread_spinlock, 3,s: 8,492,923 msg/sec pthread_spinlock, 3,i: 12,174,381 msg/sec pthread_spinlock, 4,s: 6,533,478 msg/sec pthread_spinlock, 4,i: 9,129,531 msg/sec pthread_spinlock, 5,s: 8,740,808 msg/sec pthread_spinlock, 5,i: 10,466,227 msg/sec pthread_spinlock, 6,s: 8,639,480 msg/sec pthread_spinlock, 6,i: 8,479,114 msg/sec pthread_spinlock, 7,s: 7,688,485 msg/sec pthread_spinlock, 7,i: 7,636,464 msg/sec pthread_spinlock, 8,s: 6,620,832 msg/sec pthread_spinlock, 8,i: 6,893,859 msg/sec std::mutex, 1,s: 7,537,918 msg/sec std::mutex, 1,i: 7,767,672 msg/sec std::mutex, 2,s: 6,238,632 msg/sec std::mutex, 2,i: 6,353,241 msg/sec std::mutex, 3,s: 6,095,102 msg/sec std::mutex, 3,i: 6,060,968 msg/sec std::mutex, 4,s: 6,302,501 msg/sec std::mutex, 4,i: 6,221,521 msg/sec std::mutex, 5,s: 6,166,109 msg/sec std::mutex, 5,i: 5,944,969 msg/sec std::mutex, 6,s: 5,902,711 msg/sec std::mutex, 6,i: 5,945,777 msg/sec std::mutex, 7,s: 5,804,619 msg/sec std::mutex, 7,i: 5,790,053 msg/sec std::mutex, 8,s: 5,647,810 msg/sec std::mutex, 8,i: 5,704,780 msg/sec tbb::spin_mutex, 1,s: 37,561,654 msg/sec tbb::spin_mutex, 1,i: 33,020,463 msg/sec tbb::spin_mutex, 2,s: 21,185,023 msg/sec tbb::spin_mutex, 2,i: 18,231,588 msg/sec tbb::spin_mutex, 3,s: 8,240,271 msg/sec tbb::spin_mutex, 3,i: 10,238,153 msg/sec tbb::spin_mutex, 4,s: 3,184,579 msg/sec tbb::spin_mutex, 4,i: 6,403,443 msg/sec tbb::spin_mutex, 5,s: 5,333,754 msg/sec tbb::spin_mutex, 5,i: 5,493,737 msg/sec tbb::spin_mutex, 6,s: 5,229,247 msg/sec tbb::spin_mutex, 6,i: 4,338,898 msg/sec tbb::spin_mutex, 7,s: 4,513,107 msg/sec tbb::spin_mutex, 7,i: 4,362,461 msg/sec tbb::spin_mutex, 8,s: 4,230,956 msg/sec tbb::spin_mutex, 8,i: 4,167,873 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,648,685 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,180,946 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,168,037 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,447,341 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,512,998 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,688,754 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,587,007 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,623,654 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,867,336 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,606,445 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,941,512 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,758,603 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,896,181 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,822,042 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,767,515 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,467,099 msg/sec xenium::michael_scott_queue, 1,s: 9,417,635 msg/sec xenium::michael_scott_queue, 1,i: 9,422,509 msg/sec xenium::michael_scott_queue, 2,s: 8,493,722 msg/sec xenium::michael_scott_queue, 2,i: 8,500,851 msg/sec xenium::michael_scott_queue, 3,s: 7,133,963 msg/sec xenium::michael_scott_queue, 3,i: 7,658,109 msg/sec xenium::michael_scott_queue, 4,s: 6,373,759 msg/sec xenium::michael_scott_queue, 4,i: 6,358,081 msg/sec xenium::michael_scott_queue, 5,s: 6,306,827 msg/sec xenium::michael_scott_queue, 5,i: 6,600,933 msg/sec xenium::michael_scott_queue, 6,s: 6,527,240 msg/sec xenium::michael_scott_queue, 6,i: 6,933,085 msg/sec xenium::michael_scott_queue, 7,s: 6,290,383 msg/sec xenium::michael_scott_queue, 7,i: 6,439,164 msg/sec xenium::michael_scott_queue, 8,s: 6,056,640 msg/sec xenium::michael_scott_queue, 8,i: 6,184,020 msg/sec xenium::ramalhete_queue, 1,s: 32,309,831 msg/sec xenium::ramalhete_queue, 1,i: 32,301,693 msg/sec xenium::ramalhete_queue, 2,s: 24,460,530 msg/sec xenium::ramalhete_queue, 2,i: 23,312,167 msg/sec xenium::ramalhete_queue, 3,s: 29,213,956 msg/sec xenium::ramalhete_queue, 3,i: 28,547,255 msg/sec xenium::ramalhete_queue, 4,s: 33,865,996 msg/sec xenium::ramalhete_queue, 4,i: 33,539,015 msg/sec xenium::ramalhete_queue, 5,s: 32,190,386 msg/sec xenium::ramalhete_queue, 5,i: 38,703,152 msg/sec xenium::ramalhete_queue, 6,s: 34,109,892 msg/sec xenium::ramalhete_queue, 6,i: 39,037,724 msg/sec xenium::ramalhete_queue, 7,s: 35,178,090 msg/sec xenium::ramalhete_queue, 7,i: 41,349,455 msg/sec xenium::ramalhete_queue, 8,s: 35,426,755 msg/sec xenium::ramalhete_queue, 8,i: 44,120,246 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,507,138 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,714,086 msg/sec xenium::vyukov_bounded_queue, 2,s: 23,534,170 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,742,709 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,634,643 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,907,727 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,513,830 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,198,774 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,484,601 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,393,424 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,840,372 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,491,720 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,248,211 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,939,053 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,381,995 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,342,923 msg/sec AtomicQueue, 1,s: 64,374,571 msg/sec AtomicQueue, 1,i: 56,495,022 msg/sec AtomicQueue, 2,s: 12,294,776 msg/sec AtomicQueue, 2,i: 11,725,699 msg/sec AtomicQueue, 3,s: 10,787,780 msg/sec AtomicQueue, 3,i: 9,985,684 msg/sec AtomicQueue, 4,s: 8,214,480 msg/sec AtomicQueue, 4,i: 8,205,685 msg/sec AtomicQueue, 5,s: 8,004,717 msg/sec AtomicQueue, 5,i: 8,049,128 msg/sec AtomicQueue, 6,s: 7,821,233 msg/sec AtomicQueue, 6,i: 7,588,075 msg/sec AtomicQueue, 7,s: 7,144,497 msg/sec AtomicQueue, 7,i: 7,978,727 msg/sec AtomicQueue, 8,s: 6,334,116 msg/sec AtomicQueue, 8,i: 7,466,318 msg/sec AtomicQueueB, 1,s: 125,848,557 msg/sec AtomicQueueB, 1,i: 42,751,880 msg/sec AtomicQueueB, 2,s: 11,810,927 msg/sec AtomicQueueB, 2,i: 11,500,703 msg/sec AtomicQueueB, 3,s: 11,038,627 msg/sec AtomicQueueB, 3,i: 10,116,324 msg/sec AtomicQueueB, 4,s: 8,060,345 msg/sec AtomicQueueB, 4,i: 8,097,240 msg/sec AtomicQueueB, 5,s: 7,590,712 msg/sec AtomicQueueB, 5,i: 7,827,288 msg/sec AtomicQueueB, 6,s: 7,181,910 msg/sec AtomicQueueB, 6,i: 7,531,553 msg/sec AtomicQueueB, 7,s: 6,908,359 msg/sec AtomicQueueB, 7,i: 7,745,898 msg/sec AtomicQueueB, 8,s: 6,207,862 msg/sec AtomicQueueB, 8,i: 7,164,404 msg/sec OptimistAtomicQueue, 1,s: 750,840,659 msg/sec OptimistAtomicQueue, 1,i: 548,060,823 msg/sec OptimistAtomicQueue, 2,s: 32,631,986 msg/sec OptimistAtomicQueue, 2,i: 32,719,092 msg/sec OptimistAtomicQueue, 3,s: 36,648,145 msg/sec OptimistAtomicQueue, 3,i: 37,327,316 msg/sec OptimistAtomicQueue, 4,s: 39,269,910 msg/sec OptimistAtomicQueue, 4,i: 39,425,931 msg/sec OptimistAtomicQueue, 5,s: 42,572,744 msg/sec OptimistAtomicQueue, 5,i: 46,403,536 msg/sec OptimistAtomicQueue, 6,s: 42,406,954 msg/sec OptimistAtomicQueue, 6,i: 50,531,152 msg/sec OptimistAtomicQueue, 7,s: 44,101,285 msg/sec OptimistAtomicQueue, 7,i: 53,032,866 msg/sec OptimistAtomicQueue, 8,s: 46,449,040 msg/sec OptimistAtomicQueue, 8,i: 49,516,554 msg/sec OptimistAtomicQueueB, 1,s: 77,925,799 msg/sec OptimistAtomicQueueB, 1,i: 76,672,015 msg/sec OptimistAtomicQueueB, 2,s: 32,261,252 msg/sec OptimistAtomicQueueB, 2,i: 32,380,601 msg/sec OptimistAtomicQueueB, 3,s: 36,219,701 msg/sec OptimistAtomicQueueB, 3,i: 36,881,193 msg/sec OptimistAtomicQueueB, 4,s: 38,707,997 msg/sec OptimistAtomicQueueB, 4,i: 38,748,520 msg/sec OptimistAtomicQueueB, 5,s: 40,247,736 msg/sec OptimistAtomicQueueB, 5,i: 47,467,643 msg/sec OptimistAtomicQueueB, 6,s: 41,065,315 msg/sec OptimistAtomicQueueB, 6,i: 49,218,151 msg/sec OptimistAtomicQueueB, 7,s: 41,952,619 msg/sec OptimistAtomicQueueB, 7,i: 48,027,317 msg/sec OptimistAtomicQueueB, 8,s: 44,503,048 msg/sec OptimistAtomicQueueB, 8,i: 47,964,179 msg/sec AtomicQueue2, 1,s: 58,349,534 msg/sec AtomicQueue2, 1,i: 26,910,471 msg/sec AtomicQueue2, 2,s: 11,699,379 msg/sec AtomicQueue2, 2,i: 11,580,412 msg/sec AtomicQueue2, 3,s: 9,341,232 msg/sec AtomicQueue2, 3,i: 9,584,694 msg/sec AtomicQueue2, 4,s: 8,015,204 msg/sec AtomicQueue2, 4,i: 8,062,859 msg/sec AtomicQueue2, 5,s: 7,958,118 msg/sec AtomicQueue2, 5,i: 8,016,163 msg/sec AtomicQueue2, 6,s: 7,769,853 msg/sec AtomicQueue2, 6,i: 7,536,467 msg/sec AtomicQueue2, 7,s: 7,158,726 msg/sec AtomicQueue2, 7,i: 7,877,008 msg/sec AtomicQueue2, 8,s: 6,374,176 msg/sec AtomicQueue2, 8,i: 7,356,802 msg/sec AtomicQueueB2, 1,s: 36,229,798 msg/sec AtomicQueueB2, 1,i: 32,615,511 msg/sec AtomicQueueB2, 2,s: 11,382,458 msg/sec AtomicQueueB2, 2,i: 11,122,745 msg/sec AtomicQueueB2, 3,s: 9,699,265 msg/sec AtomicQueueB2, 3,i: 9,536,056 msg/sec AtomicQueueB2, 4,s: 7,945,831 msg/sec AtomicQueueB2, 4,i: 7,738,517 msg/sec AtomicQueueB2, 5,s: 7,495,198 msg/sec AtomicQueueB2, 5,i: 7,756,303 msg/sec AtomicQueueB2, 6,s: 7,293,279 msg/sec AtomicQueueB2, 6,i: 7,436,060 msg/sec AtomicQueueB2, 7,s: 6,881,643 msg/sec AtomicQueueB2, 7,i: 7,684,231 msg/sec AtomicQueueB2, 8,s: 6,272,756 msg/sec AtomicQueueB2, 8,i: 7,046,734 msg/sec OptimistAtomicQueue2, 1,s: 631,800,642 msg/sec OptimistAtomicQueue2, 1,i: 29,800,463 msg/sec OptimistAtomicQueue2, 2,s: 24,945,918 msg/sec OptimistAtomicQueue2, 2,i: 27,582,643 msg/sec OptimistAtomicQueue2, 3,s: 30,314,314 msg/sec OptimistAtomicQueue2, 3,i: 29,978,846 msg/sec OptimistAtomicQueue2, 4,s: 33,911,184 msg/sec OptimistAtomicQueue2, 4,i: 33,159,381 msg/sec OptimistAtomicQueue2, 5,s: 37,261,176 msg/sec OptimistAtomicQueue2, 5,i: 40,440,709 msg/sec OptimistAtomicQueue2, 6,s: 39,772,052 msg/sec OptimistAtomicQueue2, 6,i: 49,207,340 msg/sec OptimistAtomicQueue2, 7,s: 42,984,531 msg/sec OptimistAtomicQueue2, 7,i: 51,638,586 msg/sec OptimistAtomicQueue2, 8,s: 44,067,640 msg/sec OptimistAtomicQueue2, 8,i: 48,248,727 msg/sec OptimistAtomicQueueB2, 1,s: 77,645,908 msg/sec OptimistAtomicQueueB2, 1,i: 33,928,717 msg/sec OptimistAtomicQueueB2, 2,s: 27,214,567 msg/sec OptimistAtomicQueueB2, 2,i: 23,292,623 msg/sec OptimistAtomicQueueB2, 3,s: 30,440,144 msg/sec OptimistAtomicQueueB2, 3,i: 29,085,441 msg/sec OptimistAtomicQueueB2, 4,s: 33,384,589 msg/sec OptimistAtomicQueueB2, 4,i: 33,136,377 msg/sec OptimistAtomicQueueB2, 5,s: 34,324,060 msg/sec OptimistAtomicQueueB2, 5,i: 39,083,309 msg/sec OptimistAtomicQueueB2, 6,s: 37,563,288 msg/sec OptimistAtomicQueueB2, 6,i: 42,377,528 msg/sec OptimistAtomicQueueB2, 7,s: 40,053,448 msg/sec OptimistAtomicQueueB2, 7,i: 43,087,665 msg/sec OptimistAtomicQueueB2, 8,s: 42,369,885 msg/sec OptimistAtomicQueueB2, 8,i: 45,914,526 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000121 sec/round-trip moodycamel::ConcurrentQueue: 0.000000243 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [108] 338m:52s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,148,710 msg/sec boost::lockfree::spsc_queue, 1,i: 70,793,506 msg/sec boost::lockfree::queue, 1,s: 7,997,221 msg/sec boost::lockfree::queue, 1,i: 6,924,746 msg/sec boost::lockfree::queue, 2,s: 7,527,312 msg/sec boost::lockfree::queue, 2,i: 7,378,767 msg/sec boost::lockfree::queue, 3,s: 7,354,702 msg/sec boost::lockfree::queue, 3,i: 7,624,535 msg/sec boost::lockfree::queue, 4,s: 6,418,895 msg/sec boost::lockfree::queue, 4,i: 6,755,793 msg/sec boost::lockfree::queue, 5,s: 6,425,576 msg/sec boost::lockfree::queue, 5,i: 6,468,245 msg/sec boost::lockfree::queue, 6,s: 5,989,347 msg/sec boost::lockfree::queue, 6,i: 6,099,162 msg/sec boost::lockfree::queue, 7,s: 5,915,092 msg/sec boost::lockfree::queue, 7,i: 5,895,459 msg/sec boost::lockfree::queue, 8,s: 5,474,285 msg/sec boost::lockfree::queue, 8,i: 5,552,322 msg/sec moodycamel::ReaderWriterQueue, 1,s: 486,046,102 msg/sec moodycamel::ReaderWriterQueue, 1,i: 524,589,957 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,070,014 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,182,620 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,142,053 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,067,207 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,550,476 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,771,756 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,546,433 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,449,820 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,314,887 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,271,008 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,129,727 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,350,664 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,352,687 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,003,288 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,424,378 msg/sec moodycamel::ConcurrentQueue, 8,i: 35,380,413 msg/sec pthread_spinlock, 1,s: 29,018,796 msg/sec pthread_spinlock, 1,i: 25,321,462 msg/sec pthread_spinlock, 2,s: 16,157,369 msg/sec pthread_spinlock, 2,i: 16,992,287 msg/sec pthread_spinlock, 3,s: 8,391,143 msg/sec pthread_spinlock, 3,i: 12,006,121 msg/sec pthread_spinlock, 4,s: 6,508,849 msg/sec pthread_spinlock, 4,i: 8,962,765 msg/sec pthread_spinlock, 5,s: 8,745,524 msg/sec pthread_spinlock, 5,i: 9,456,996 msg/sec pthread_spinlock, 6,s: 8,248,746 msg/sec pthread_spinlock, 6,i: 8,510,322 msg/sec pthread_spinlock, 7,s: 7,534,392 msg/sec pthread_spinlock, 7,i: 7,977,472 msg/sec pthread_spinlock, 8,s: 6,592,099 msg/sec pthread_spinlock, 8,i: 6,832,479 msg/sec std::mutex, 1,s: 6,249,371 msg/sec std::mutex, 1,i: 6,190,381 msg/sec std::mutex, 2,s: 5,212,990 msg/sec std::mutex, 2,i: 5,894,296 msg/sec std::mutex, 3,s: 4,686,138 msg/sec std::mutex, 3,i: 5,194,546 msg/sec std::mutex, 4,s: 6,045,723 msg/sec std::mutex, 4,i: 5,365,355 msg/sec std::mutex, 5,s: 6,269,807 msg/sec std::mutex, 5,i: 6,177,935 msg/sec std::mutex, 6,s: 6,097,324 msg/sec std::mutex, 6,i: 6,071,685 msg/sec std::mutex, 7,s: 5,946,349 msg/sec std::mutex, 7,i: 5,959,364 msg/sec std::mutex, 8,s: 5,747,665 msg/sec std::mutex, 8,i: 5,757,118 msg/sec tbb::spin_mutex, 1,s: 37,733,505 msg/sec tbb::spin_mutex, 1,i: 32,922,004 msg/sec tbb::spin_mutex, 2,s: 21,358,739 msg/sec tbb::spin_mutex, 2,i: 18,399,585 msg/sec tbb::spin_mutex, 3,s: 8,505,339 msg/sec tbb::spin_mutex, 3,i: 11,494,762 msg/sec tbb::spin_mutex, 4,s: 3,252,949 msg/sec tbb::spin_mutex, 4,i: 6,324,595 msg/sec tbb::spin_mutex, 5,s: 5,310,243 msg/sec tbb::spin_mutex, 5,i: 5,443,942 msg/sec tbb::spin_mutex, 6,s: 5,286,363 msg/sec tbb::spin_mutex, 6,i: 4,351,812 msg/sec tbb::spin_mutex, 7,s: 4,876,162 msg/sec tbb::spin_mutex, 7,i: 4,332,793 msg/sec tbb::spin_mutex, 8,s: 4,261,543 msg/sec tbb::spin_mutex, 8,i: 4,072,974 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,699,635 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,325,933 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,791,107 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,505,703 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,260,807 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,000,628 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,441,675 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,298,809 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,669,135 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,823,431 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,018,011 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,008,461 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,020,721 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,999,325 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,950,471 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,082,269 msg/sec xenium::michael_scott_queue, 1,s: 10,019,436 msg/sec xenium::michael_scott_queue, 1,i: 10,046,786 msg/sec xenium::michael_scott_queue, 2,s: 8,477,762 msg/sec xenium::michael_scott_queue, 2,i: 8,505,521 msg/sec xenium::michael_scott_queue, 3,s: 7,293,426 msg/sec xenium::michael_scott_queue, 3,i: 7,537,713 msg/sec xenium::michael_scott_queue, 4,s: 6,289,912 msg/sec xenium::michael_scott_queue, 4,i: 6,329,198 msg/sec xenium::michael_scott_queue, 5,s: 6,302,013 msg/sec xenium::michael_scott_queue, 5,i: 6,627,443 msg/sec xenium::michael_scott_queue, 6,s: 6,470,999 msg/sec xenium::michael_scott_queue, 6,i: 6,689,989 msg/sec xenium::michael_scott_queue, 7,s: 6,286,440 msg/sec xenium::michael_scott_queue, 7,i: 6,384,440 msg/sec xenium::michael_scott_queue, 8,s: 5,982,251 msg/sec xenium::michael_scott_queue, 8,i: 6,136,405 msg/sec xenium::ramalhete_queue, 1,s: 31,862,326 msg/sec xenium::ramalhete_queue, 1,i: 32,515,681 msg/sec xenium::ramalhete_queue, 2,s: 24,225,745 msg/sec xenium::ramalhete_queue, 2,i: 23,372,862 msg/sec xenium::ramalhete_queue, 3,s: 29,101,431 msg/sec xenium::ramalhete_queue, 3,i: 28,732,850 msg/sec xenium::ramalhete_queue, 4,s: 33,709,875 msg/sec xenium::ramalhete_queue, 4,i: 33,479,580 msg/sec xenium::ramalhete_queue, 5,s: 32,134,048 msg/sec xenium::ramalhete_queue, 5,i: 35,924,567 msg/sec xenium::ramalhete_queue, 6,s: 34,022,308 msg/sec xenium::ramalhete_queue, 6,i: 39,567,817 msg/sec xenium::ramalhete_queue, 7,s: 35,092,999 msg/sec xenium::ramalhete_queue, 7,i: 41,867,438 msg/sec xenium::ramalhete_queue, 8,s: 35,547,104 msg/sec xenium::ramalhete_queue, 8,i: 44,080,976 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,000,998 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,891,795 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,146,261 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,251,097 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,652,756 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,893,897 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,560,092 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,637,189 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,160,595 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,346,966 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,918,606 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,270,461 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,294,712 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,937,217 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,624 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,227,544 msg/sec AtomicQueue, 1,s: 60,946,304 msg/sec AtomicQueue, 1,i: 57,409,236 msg/sec AtomicQueue, 2,s: 12,200,307 msg/sec AtomicQueue, 2,i: 11,743,413 msg/sec AtomicQueue, 3,s: 10,758,867 msg/sec AtomicQueue, 3,i: 9,883,979 msg/sec AtomicQueue, 4,s: 8,185,880 msg/sec AtomicQueue, 4,i: 8,178,385 msg/sec AtomicQueue, 5,s: 8,034,625 msg/sec AtomicQueue, 5,i: 8,096,594 msg/sec AtomicQueue, 6,s: 7,693,720 msg/sec AtomicQueue, 6,i: 7,615,975 msg/sec AtomicQueue, 7,s: 7,164,931 msg/sec AtomicQueue, 7,i: 7,995,489 msg/sec AtomicQueue, 8,s: 6,329,484 msg/sec AtomicQueue, 8,i: 7,451,405 msg/sec AtomicQueueB, 1,s: 43,828,435 msg/sec AtomicQueueB, 1,i: 43,001,873 msg/sec AtomicQueueB, 2,s: 11,981,821 msg/sec AtomicQueueB, 2,i: 11,520,490 msg/sec AtomicQueueB, 3,s: 10,972,643 msg/sec AtomicQueueB, 3,i: 10,274,937 msg/sec AtomicQueueB, 4,s: 8,055,424 msg/sec AtomicQueueB, 4,i: 8,058,495 msg/sec AtomicQueueB, 5,s: 7,682,292 msg/sec AtomicQueueB, 5,i: 7,867,577 msg/sec AtomicQueueB, 6,s: 7,113,162 msg/sec AtomicQueueB, 6,i: 7,472,189 msg/sec AtomicQueueB, 7,s: 6,822,368 msg/sec AtomicQueueB, 7,i: 7,733,017 msg/sec AtomicQueueB, 8,s: 6,254,777 msg/sec AtomicQueueB, 8,i: 7,180,195 msg/sec OptimistAtomicQueue, 1,s: 777,599,383 msg/sec OptimistAtomicQueue, 1,i: 615,631,246 msg/sec OptimistAtomicQueue, 2,s: 32,158,665 msg/sec OptimistAtomicQueue, 2,i: 32,245,401 msg/sec OptimistAtomicQueue, 3,s: 36,633,218 msg/sec OptimistAtomicQueue, 3,i: 37,378,374 msg/sec OptimistAtomicQueue, 4,s: 39,308,853 msg/sec OptimistAtomicQueue, 4,i: 39,390,623 msg/sec OptimistAtomicQueue, 5,s: 42,306,892 msg/sec OptimistAtomicQueue, 5,i: 48,541,292 msg/sec OptimistAtomicQueue, 6,s: 42,676,610 msg/sec OptimistAtomicQueue, 6,i: 50,265,003 msg/sec OptimistAtomicQueue, 7,s: 45,216,443 msg/sec OptimistAtomicQueue, 7,i: 53,027,709 msg/sec OptimistAtomicQueue, 8,s: 46,522,843 msg/sec OptimistAtomicQueue, 8,i: 49,424,286 msg/sec OptimistAtomicQueueB, 1,s: 157,056,078 msg/sec OptimistAtomicQueueB, 1,i: 76,522,026 msg/sec OptimistAtomicQueueB, 2,s: 32,147,937 msg/sec OptimistAtomicQueueB, 2,i: 32,251,718 msg/sec OptimistAtomicQueueB, 3,s: 36,309,676 msg/sec OptimistAtomicQueueB, 3,i: 36,918,740 msg/sec OptimistAtomicQueueB, 4,s: 38,706,835 msg/sec OptimistAtomicQueueB, 4,i: 38,673,207 msg/sec OptimistAtomicQueueB, 5,s: 41,153,872 msg/sec OptimistAtomicQueueB, 5,i: 45,933,387 msg/sec OptimistAtomicQueueB, 6,s: 41,226,632 msg/sec OptimistAtomicQueueB, 6,i: 49,049,019 msg/sec OptimistAtomicQueueB, 7,s: 42,462,648 msg/sec OptimistAtomicQueueB, 7,i: 51,511,087 msg/sec OptimistAtomicQueueB, 8,s: 44,324,696 msg/sec OptimistAtomicQueueB, 8,i: 47,962,017 msg/sec AtomicQueue2, 1,s: 23,093,826 msg/sec AtomicQueue2, 1,i: 23,366,617 msg/sec AtomicQueue2, 2,s: 11,859,390 msg/sec AtomicQueue2, 2,i: 11,605,708 msg/sec AtomicQueue2, 3,s: 9,448,604 msg/sec AtomicQueue2, 3,i: 9,384,196 msg/sec AtomicQueue2, 4,s: 8,045,507 msg/sec AtomicQueue2, 4,i: 8,039,788 msg/sec AtomicQueue2, 5,s: 7,952,234 msg/sec AtomicQueue2, 5,i: 7,983,704 msg/sec AtomicQueue2, 6,s: 7,850,082 msg/sec AtomicQueue2, 6,i: 7,536,720 msg/sec AtomicQueue2, 7,s: 7,091,221 msg/sec AtomicQueue2, 7,i: 7,892,330 msg/sec AtomicQueue2, 8,s: 6,380,834 msg/sec AtomicQueue2, 8,i: 7,314,581 msg/sec AtomicQueueB2, 1,s: 36,077,567 msg/sec AtomicQueueB2, 1,i: 32,626,710 msg/sec AtomicQueueB2, 2,s: 11,308,817 msg/sec AtomicQueueB2, 2,i: 11,203,768 msg/sec AtomicQueueB2, 3,s: 9,620,595 msg/sec AtomicQueueB2, 3,i: 9,481,760 msg/sec AtomicQueueB2, 4,s: 7,957,628 msg/sec AtomicQueueB2, 4,i: 7,830,799 msg/sec AtomicQueueB2, 5,s: 7,394,679 msg/sec AtomicQueueB2, 5,i: 7,728,066 msg/sec AtomicQueueB2, 6,s: 7,152,421 msg/sec AtomicQueueB2, 6,i: 7,475,589 msg/sec AtomicQueueB2, 7,s: 6,901,841 msg/sec AtomicQueueB2, 7,i: 7,679,528 msg/sec AtomicQueueB2, 8,s: 6,239,635 msg/sec AtomicQueueB2, 8,i: 6,905,029 msg/sec OptimistAtomicQueue2, 1,s: 454,370,986 msg/sec OptimistAtomicQueue2, 1,i: 29,410,899 msg/sec OptimistAtomicQueue2, 2,s: 24,950,143 msg/sec OptimistAtomicQueue2, 2,i: 24,589,807 msg/sec OptimistAtomicQueue2, 3,s: 30,442,658 msg/sec OptimistAtomicQueue2, 3,i: 29,970,179 msg/sec OptimistAtomicQueue2, 4,s: 33,285,901 msg/sec OptimistAtomicQueue2, 4,i: 34,026,579 msg/sec OptimistAtomicQueue2, 5,s: 37,634,031 msg/sec OptimistAtomicQueue2, 5,i: 40,760,549 msg/sec OptimistAtomicQueue2, 6,s: 40,424,717 msg/sec OptimistAtomicQueue2, 6,i: 49,255,578 msg/sec OptimistAtomicQueue2, 7,s: 42,764,519 msg/sec OptimistAtomicQueue2, 7,i: 48,169,678 msg/sec OptimistAtomicQueue2, 8,s: 44,032,374 msg/sec OptimistAtomicQueue2, 8,i: 48,471,943 msg/sec OptimistAtomicQueueB2, 1,s: 76,459,877 msg/sec OptimistAtomicQueueB2, 1,i: 65,055,164 msg/sec OptimistAtomicQueueB2, 2,s: 28,705,906 msg/sec OptimistAtomicQueueB2, 2,i: 23,183,490 msg/sec OptimistAtomicQueueB2, 3,s: 30,130,173 msg/sec OptimistAtomicQueueB2, 3,i: 30,316,522 msg/sec OptimistAtomicQueueB2, 4,s: 33,406,806 msg/sec OptimistAtomicQueueB2, 4,i: 32,317,524 msg/sec OptimistAtomicQueueB2, 5,s: 34,393,590 msg/sec OptimistAtomicQueueB2, 5,i: 39,474,770 msg/sec OptimistAtomicQueueB2, 6,s: 36,852,684 msg/sec OptimistAtomicQueueB2, 6,i: 42,556,027 msg/sec OptimistAtomicQueueB2, 7,s: 40,932,998 msg/sec OptimistAtomicQueueB2, 7,i: 43,303,109 msg/sec OptimistAtomicQueueB2, 8,s: 42,396,203 msg/sec OptimistAtomicQueueB2, 8,i: 45,614,418 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000157 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [109] 337m:33s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,609,651 msg/sec boost::lockfree::spsc_queue, 1,i: 69,672,155 msg/sec boost::lockfree::queue, 1,s: 7,860,589 msg/sec boost::lockfree::queue, 1,i: 7,856,141 msg/sec boost::lockfree::queue, 2,s: 7,666,918 msg/sec boost::lockfree::queue, 2,i: 7,556,995 msg/sec boost::lockfree::queue, 3,s: 7,377,767 msg/sec boost::lockfree::queue, 3,i: 7,547,569 msg/sec boost::lockfree::queue, 4,s: 6,422,362 msg/sec boost::lockfree::queue, 4,i: 6,862,223 msg/sec boost::lockfree::queue, 5,s: 6,481,856 msg/sec boost::lockfree::queue, 5,i: 6,545,189 msg/sec boost::lockfree::queue, 6,s: 5,986,735 msg/sec boost::lockfree::queue, 6,i: 6,108,721 msg/sec boost::lockfree::queue, 7,s: 5,840,331 msg/sec boost::lockfree::queue, 7,i: 5,902,769 msg/sec boost::lockfree::queue, 8,s: 5,475,475 msg/sec boost::lockfree::queue, 8,i: 5,568,462 msg/sec moodycamel::ReaderWriterQueue, 1,s: 498,360,021 msg/sec moodycamel::ReaderWriterQueue, 1,i: 444,085,820 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,629,515 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,644,906 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,195,253 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,521,839 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,303,657 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,850,478 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,526,209 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,817,724 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,336,878 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,507,725 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,767,926 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,895,000 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,023,115 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,492,370 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,209,603 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,439,004 msg/sec pthread_spinlock, 1,s: 29,202,932 msg/sec pthread_spinlock, 1,i: 29,209,320 msg/sec pthread_spinlock, 2,s: 15,375,373 msg/sec pthread_spinlock, 2,i: 18,124,571 msg/sec pthread_spinlock, 3,s: 8,266,691 msg/sec pthread_spinlock, 3,i: 11,949,902 msg/sec pthread_spinlock, 4,s: 6,573,803 msg/sec pthread_spinlock, 4,i: 9,110,263 msg/sec pthread_spinlock, 5,s: 8,681,022 msg/sec pthread_spinlock, 5,i: 9,171,489 msg/sec pthread_spinlock, 6,s: 8,310,321 msg/sec pthread_spinlock, 6,i: 8,479,644 msg/sec pthread_spinlock, 7,s: 7,470,001 msg/sec pthread_spinlock, 7,i: 8,069,129 msg/sec pthread_spinlock, 8,s: 6,888,875 msg/sec pthread_spinlock, 8,i: 6,929,596 msg/sec std::mutex, 1,s: 7,150,234 msg/sec std::mutex, 1,i: 6,760,652 msg/sec std::mutex, 2,s: 5,521,141 msg/sec std::mutex, 2,i: 5,593,109 msg/sec std::mutex, 3,s: 5,322,816 msg/sec std::mutex, 3,i: 5,951,960 msg/sec std::mutex, 4,s: 6,274,767 msg/sec std::mutex, 4,i: 6,212,316 msg/sec std::mutex, 5,s: 5,969,947 msg/sec std::mutex, 5,i: 6,015,831 msg/sec std::mutex, 6,s: 5,880,091 msg/sec std::mutex, 6,i: 5,916,090 msg/sec std::mutex, 7,s: 5,794,419 msg/sec std::mutex, 7,i: 5,789,986 msg/sec std::mutex, 8,s: 5,624,655 msg/sec std::mutex, 8,i: 5,664,865 msg/sec tbb::spin_mutex, 1,s: 37,533,309 msg/sec tbb::spin_mutex, 1,i: 32,858,639 msg/sec tbb::spin_mutex, 2,s: 21,264,480 msg/sec tbb::spin_mutex, 2,i: 18,446,882 msg/sec tbb::spin_mutex, 3,s: 9,030,260 msg/sec tbb::spin_mutex, 3,i: 11,426,869 msg/sec tbb::spin_mutex, 4,s: 3,208,007 msg/sec tbb::spin_mutex, 4,i: 6,400,740 msg/sec tbb::spin_mutex, 5,s: 5,268,544 msg/sec tbb::spin_mutex, 5,i: 5,780,269 msg/sec tbb::spin_mutex, 6,s: 5,357,959 msg/sec tbb::spin_mutex, 6,i: 4,418,909 msg/sec tbb::spin_mutex, 7,s: 4,857,736 msg/sec tbb::spin_mutex, 7,i: 4,325,542 msg/sec tbb::spin_mutex, 8,s: 4,260,540 msg/sec tbb::spin_mutex, 8,i: 4,084,855 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,384,360 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,347,085 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,004,898 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,084,112 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,377,059 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,882,352 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,101,526 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,345,281 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,799,647 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,762,607 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,928,167 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,912,850 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,797,040 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,111,069 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,643,444 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,315,673 msg/sec xenium::michael_scott_queue, 1,s: 9,372,021 msg/sec xenium::michael_scott_queue, 1,i: 9,380,052 msg/sec xenium::michael_scott_queue, 2,s: 8,357,691 msg/sec xenium::michael_scott_queue, 2,i: 8,409,440 msg/sec xenium::michael_scott_queue, 3,s: 7,376,926 msg/sec xenium::michael_scott_queue, 3,i: 7,592,496 msg/sec xenium::michael_scott_queue, 4,s: 6,287,265 msg/sec xenium::michael_scott_queue, 4,i: 6,348,015 msg/sec xenium::michael_scott_queue, 5,s: 6,295,544 msg/sec xenium::michael_scott_queue, 5,i: 6,706,369 msg/sec xenium::michael_scott_queue, 6,s: 6,585,202 msg/sec xenium::michael_scott_queue, 6,i: 6,713,004 msg/sec xenium::michael_scott_queue, 7,s: 6,318,661 msg/sec xenium::michael_scott_queue, 7,i: 6,619,790 msg/sec xenium::michael_scott_queue, 8,s: 5,906,991 msg/sec xenium::michael_scott_queue, 8,i: 6,119,389 msg/sec xenium::ramalhete_queue, 1,s: 32,099,198 msg/sec xenium::ramalhete_queue, 1,i: 31,285,781 msg/sec xenium::ramalhete_queue, 2,s: 23,626,030 msg/sec xenium::ramalhete_queue, 2,i: 23,399,715 msg/sec xenium::ramalhete_queue, 3,s: 29,192,910 msg/sec xenium::ramalhete_queue, 3,i: 28,461,183 msg/sec xenium::ramalhete_queue, 4,s: 33,747,048 msg/sec xenium::ramalhete_queue, 4,i: 33,447,291 msg/sec xenium::ramalhete_queue, 5,s: 32,018,060 msg/sec xenium::ramalhete_queue, 5,i: 36,021,312 msg/sec xenium::ramalhete_queue, 6,s: 34,035,438 msg/sec xenium::ramalhete_queue, 6,i: 38,906,927 msg/sec xenium::ramalhete_queue, 7,s: 35,155,079 msg/sec xenium::ramalhete_queue, 7,i: 41,561,158 msg/sec xenium::ramalhete_queue, 8,s: 35,647,976 msg/sec xenium::ramalhete_queue, 8,i: 44,059,692 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,311,791 msg/sec xenium::vyukov_bounded_queue, 1,i: 117,386,798 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,954,694 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,511,663 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,761,324 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,753,919 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,512,404 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,267,291 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,818,556 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,295,193 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,838,502 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,208,596 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,316,737 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,077,530 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,431,191 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,313,344 msg/sec AtomicQueue, 1,s: 76,196,381 msg/sec AtomicQueue, 1,i: 58,870,688 msg/sec AtomicQueue, 2,s: 12,301,598 msg/sec AtomicQueue, 2,i: 11,735,708 msg/sec AtomicQueue, 3,s: 10,824,966 msg/sec AtomicQueue, 3,i: 9,926,521 msg/sec AtomicQueue, 4,s: 8,190,410 msg/sec AtomicQueue, 4,i: 8,177,411 msg/sec AtomicQueue, 5,s: 7,943,691 msg/sec AtomicQueue, 5,i: 8,120,665 msg/sec AtomicQueue, 6,s: 7,804,744 msg/sec AtomicQueue, 6,i: 7,616,235 msg/sec AtomicQueue, 7,s: 7,137,475 msg/sec AtomicQueue, 7,i: 8,001,182 msg/sec AtomicQueue, 8,s: 6,348,846 msg/sec AtomicQueue, 8,i: 7,456,046 msg/sec AtomicQueueB, 1,s: 43,717,252 msg/sec AtomicQueueB, 1,i: 43,045,233 msg/sec AtomicQueueB, 2,s: 11,819,837 msg/sec AtomicQueueB, 2,i: 11,435,222 msg/sec AtomicQueueB, 3,s: 10,968,215 msg/sec AtomicQueueB, 3,i: 10,224,627 msg/sec AtomicQueueB, 4,s: 8,049,926 msg/sec AtomicQueueB, 4,i: 8,030,041 msg/sec AtomicQueueB, 5,s: 7,630,271 msg/sec AtomicQueueB, 5,i: 7,730,092 msg/sec AtomicQueueB, 6,s: 7,340,624 msg/sec AtomicQueueB, 6,i: 7,544,566 msg/sec AtomicQueueB, 7,s: 6,834,681 msg/sec AtomicQueueB, 7,i: 7,675,161 msg/sec AtomicQueueB, 8,s: 6,253,770 msg/sec AtomicQueueB, 8,i: 7,174,474 msg/sec OptimistAtomicQueue, 1,s: 801,227,159 msg/sec OptimistAtomicQueue, 1,i: 639,864,758 msg/sec OptimistAtomicQueue, 2,s: 32,646,344 msg/sec OptimistAtomicQueue, 2,i: 32,725,653 msg/sec OptimistAtomicQueue, 3,s: 36,673,657 msg/sec OptimistAtomicQueue, 3,i: 37,424,125 msg/sec OptimistAtomicQueue, 4,s: 39,298,980 msg/sec OptimistAtomicQueue, 4,i: 39,412,179 msg/sec OptimistAtomicQueue, 5,s: 42,238,481 msg/sec OptimistAtomicQueue, 5,i: 48,470,941 msg/sec OptimistAtomicQueue, 6,s: 42,564,223 msg/sec OptimistAtomicQueue, 6,i: 50,374,059 msg/sec OptimistAtomicQueue, 7,s: 44,441,755 msg/sec OptimistAtomicQueue, 7,i: 52,034,325 msg/sec OptimistAtomicQueue, 8,s: 46,474,538 msg/sec OptimistAtomicQueue, 8,i: 49,488,468 msg/sec OptimistAtomicQueueB, 1,s: 122,830,351 msg/sec OptimistAtomicQueueB, 1,i: 77,763,877 msg/sec OptimistAtomicQueueB, 2,s: 32,309,108 msg/sec OptimistAtomicQueueB, 2,i: 32,325,746 msg/sec OptimistAtomicQueueB, 3,s: 36,233,761 msg/sec OptimistAtomicQueueB, 3,i: 36,810,135 msg/sec OptimistAtomicQueueB, 4,s: 38,792,814 msg/sec OptimistAtomicQueueB, 4,i: 38,703,889 msg/sec OptimistAtomicQueueB, 5,s: 40,356,066 msg/sec OptimistAtomicQueueB, 5,i: 45,427,348 msg/sec OptimistAtomicQueueB, 6,s: 41,162,065 msg/sec OptimistAtomicQueueB, 6,i: 49,163,562 msg/sec OptimistAtomicQueueB, 7,s: 42,011,373 msg/sec OptimistAtomicQueueB, 7,i: 51,635,257 msg/sec OptimistAtomicQueueB, 8,s: 44,192,403 msg/sec OptimistAtomicQueueB, 8,i: 48,405,802 msg/sec AtomicQueue2, 1,s: 22,958,875 msg/sec AtomicQueue2, 1,i: 22,863,256 msg/sec AtomicQueue2, 2,s: 11,799,524 msg/sec AtomicQueue2, 2,i: 11,480,957 msg/sec AtomicQueue2, 3,s: 9,726,935 msg/sec AtomicQueue2, 3,i: 9,322,366 msg/sec AtomicQueue2, 4,s: 8,062,644 msg/sec AtomicQueue2, 4,i: 8,040,801 msg/sec AtomicQueue2, 5,s: 7,967,365 msg/sec AtomicQueue2, 5,i: 8,024,140 msg/sec AtomicQueue2, 6,s: 7,797,919 msg/sec AtomicQueue2, 6,i: 7,524,600 msg/sec AtomicQueue2, 7,s: 7,176,078 msg/sec AtomicQueue2, 7,i: 7,935,946 msg/sec AtomicQueue2, 8,s: 6,371,349 msg/sec AtomicQueue2, 8,i: 7,338,479 msg/sec AtomicQueueB2, 1,s: 35,899,943 msg/sec AtomicQueueB2, 1,i: 35,840,323 msg/sec AtomicQueueB2, 2,s: 11,386,963 msg/sec AtomicQueueB2, 2,i: 11,128,293 msg/sec AtomicQueueB2, 3,s: 9,645,589 msg/sec AtomicQueueB2, 3,i: 9,603,338 msg/sec AtomicQueueB2, 4,s: 7,953,687 msg/sec AtomicQueueB2, 4,i: 7,868,633 msg/sec AtomicQueueB2, 5,s: 7,605,589 msg/sec AtomicQueueB2, 5,i: 7,634,760 msg/sec AtomicQueueB2, 6,s: 7,318,485 msg/sec AtomicQueueB2, 6,i: 7,447,191 msg/sec AtomicQueueB2, 7,s: 6,932,961 msg/sec AtomicQueueB2, 7,i: 7,712,064 msg/sec AtomicQueueB2, 8,s: 6,238,794 msg/sec AtomicQueueB2, 8,i: 6,979,518 msg/sec OptimistAtomicQueue2, 1,s: 457,870,635 msg/sec OptimistAtomicQueue2, 1,i: 461,846,993 msg/sec OptimistAtomicQueue2, 2,s: 24,268,235 msg/sec OptimistAtomicQueue2, 2,i: 24,010,258 msg/sec OptimistAtomicQueue2, 3,s: 30,315,162 msg/sec OptimistAtomicQueue2, 3,i: 29,937,580 msg/sec OptimistAtomicQueue2, 4,s: 33,177,644 msg/sec OptimistAtomicQueue2, 4,i: 33,528,339 msg/sec OptimistAtomicQueue2, 5,s: 37,292,431 msg/sec OptimistAtomicQueue2, 5,i: 41,009,293 msg/sec OptimistAtomicQueue2, 6,s: 40,453,938 msg/sec OptimistAtomicQueue2, 6,i: 49,270,533 msg/sec OptimistAtomicQueue2, 7,s: 42,996,959 msg/sec OptimistAtomicQueue2, 7,i: 51,531,727 msg/sec OptimistAtomicQueue2, 8,s: 44,008,735 msg/sec OptimistAtomicQueue2, 8,i: 48,505,333 msg/sec OptimistAtomicQueueB2, 1,s: 73,941,745 msg/sec OptimistAtomicQueueB2, 1,i: 31,441,458 msg/sec OptimistAtomicQueueB2, 2,s: 26,839,107 msg/sec OptimistAtomicQueueB2, 2,i: 24,182,718 msg/sec OptimistAtomicQueueB2, 3,s: 30,108,530 msg/sec OptimistAtomicQueueB2, 3,i: 29,318,970 msg/sec OptimistAtomicQueueB2, 4,s: 33,610,620 msg/sec OptimistAtomicQueueB2, 4,i: 32,172,409 msg/sec OptimistAtomicQueueB2, 5,s: 34,731,880 msg/sec OptimistAtomicQueueB2, 5,i: 39,195,017 msg/sec OptimistAtomicQueueB2, 6,s: 37,466,166 msg/sec OptimistAtomicQueueB2, 6,i: 42,570,918 msg/sec OptimistAtomicQueueB2, 7,s: 40,208,613 msg/sec OptimistAtomicQueueB2, 7,i: 43,525,280 msg/sec OptimistAtomicQueueB2, 8,s: 42,183,223 msg/sec OptimistAtomicQueueB2, 8,i: 46,076,904 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000260 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [110] 336m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,872,799 msg/sec boost::lockfree::spsc_queue, 1,i: 67,815,903 msg/sec boost::lockfree::queue, 1,s: 6,858,139 msg/sec boost::lockfree::queue, 1,i: 6,967,453 msg/sec boost::lockfree::queue, 2,s: 7,739,366 msg/sec boost::lockfree::queue, 2,i: 7,414,103 msg/sec boost::lockfree::queue, 3,s: 7,392,413 msg/sec boost::lockfree::queue, 3,i: 7,552,922 msg/sec boost::lockfree::queue, 4,s: 6,423,309 msg/sec boost::lockfree::queue, 4,i: 6,916,611 msg/sec boost::lockfree::queue, 5,s: 6,372,743 msg/sec boost::lockfree::queue, 5,i: 6,467,351 msg/sec boost::lockfree::queue, 6,s: 5,974,231 msg/sec boost::lockfree::queue, 6,i: 6,117,798 msg/sec boost::lockfree::queue, 7,s: 5,814,856 msg/sec boost::lockfree::queue, 7,i: 5,942,935 msg/sec boost::lockfree::queue, 8,s: 5,483,233 msg/sec boost::lockfree::queue, 8,i: 5,676,882 msg/sec moodycamel::ReaderWriterQueue, 1,s: 56,443,709 msg/sec moodycamel::ReaderWriterQueue, 1,i: 49,123,147 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,114,086 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,161,804 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,915,971 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,880,796 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,958,415 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,588,010 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,246,934 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,154,478 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,200,972 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,117,756 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,765,286 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,229,667 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,069,224 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,622,659 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,147,495 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,656,682 msg/sec pthread_spinlock, 1,s: 28,954,687 msg/sec pthread_spinlock, 1,i: 25,475,273 msg/sec pthread_spinlock, 2,s: 15,931,746 msg/sec pthread_spinlock, 2,i: 16,870,118 msg/sec pthread_spinlock, 3,s: 8,375,180 msg/sec pthread_spinlock, 3,i: 12,235,690 msg/sec pthread_spinlock, 4,s: 6,443,391 msg/sec pthread_spinlock, 4,i: 9,003,532 msg/sec pthread_spinlock, 5,s: 8,645,488 msg/sec pthread_spinlock, 5,i: 9,605,412 msg/sec pthread_spinlock, 6,s: 8,215,477 msg/sec pthread_spinlock, 6,i: 9,018,935 msg/sec pthread_spinlock, 7,s: 7,535,979 msg/sec pthread_spinlock, 7,i: 7,548,672 msg/sec pthread_spinlock, 8,s: 6,903,341 msg/sec pthread_spinlock, 8,i: 6,882,923 msg/sec std::mutex, 1,s: 6,511,689 msg/sec std::mutex, 1,i: 6,480,184 msg/sec std::mutex, 2,s: 5,584,605 msg/sec std::mutex, 2,i: 5,476,907 msg/sec std::mutex, 3,s: 5,266,439 msg/sec std::mutex, 3,i: 5,434,477 msg/sec std::mutex, 4,s: 5,907,865 msg/sec std::mutex, 4,i: 6,230,814 msg/sec std::mutex, 5,s: 6,102,366 msg/sec std::mutex, 5,i: 5,984,019 msg/sec std::mutex, 6,s: 5,984,829 msg/sec std::mutex, 6,i: 5,951,651 msg/sec std::mutex, 7,s: 5,807,948 msg/sec std::mutex, 7,i: 5,836,727 msg/sec std::mutex, 8,s: 5,677,566 msg/sec std::mutex, 8,i: 5,737,775 msg/sec tbb::spin_mutex, 1,s: 37,701,550 msg/sec tbb::spin_mutex, 1,i: 32,978,923 msg/sec tbb::spin_mutex, 2,s: 20,997,925 msg/sec tbb::spin_mutex, 2,i: 18,832,995 msg/sec tbb::spin_mutex, 3,s: 8,767,737 msg/sec tbb::spin_mutex, 3,i: 10,240,555 msg/sec tbb::spin_mutex, 4,s: 3,254,600 msg/sec tbb::spin_mutex, 4,i: 6,348,251 msg/sec tbb::spin_mutex, 5,s: 5,400,366 msg/sec tbb::spin_mutex, 5,i: 5,499,072 msg/sec tbb::spin_mutex, 6,s: 5,382,151 msg/sec tbb::spin_mutex, 6,i: 4,342,417 msg/sec tbb::spin_mutex, 7,s: 4,878,780 msg/sec tbb::spin_mutex, 7,i: 4,368,183 msg/sec tbb::spin_mutex, 8,s: 4,238,142 msg/sec tbb::spin_mutex, 8,i: 4,077,056 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,888,599 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,036,957 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,785,045 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,056,921 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,203,028 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,404,054 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,190,882 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,249,035 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,523,216 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,375,790 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,637,936 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,697,319 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,655,928 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,104,981 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,725,493 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,944,392 msg/sec xenium::michael_scott_queue, 1,s: 9,428,062 msg/sec xenium::michael_scott_queue, 1,i: 9,198,118 msg/sec xenium::michael_scott_queue, 2,s: 8,513,698 msg/sec xenium::michael_scott_queue, 2,i: 8,481,085 msg/sec xenium::michael_scott_queue, 3,s: 7,280,255 msg/sec xenium::michael_scott_queue, 3,i: 7,572,111 msg/sec xenium::michael_scott_queue, 4,s: 6,354,334 msg/sec xenium::michael_scott_queue, 4,i: 6,378,676 msg/sec xenium::michael_scott_queue, 5,s: 6,257,815 msg/sec xenium::michael_scott_queue, 5,i: 6,702,816 msg/sec xenium::michael_scott_queue, 6,s: 6,491,269 msg/sec xenium::michael_scott_queue, 6,i: 6,690,517 msg/sec xenium::michael_scott_queue, 7,s: 6,267,281 msg/sec xenium::michael_scott_queue, 7,i: 6,503,438 msg/sec xenium::michael_scott_queue, 8,s: 5,984,089 msg/sec xenium::michael_scott_queue, 8,i: 6,089,252 msg/sec xenium::ramalhete_queue, 1,s: 31,669,366 msg/sec xenium::ramalhete_queue, 1,i: 32,557,952 msg/sec xenium::ramalhete_queue, 2,s: 23,475,137 msg/sec xenium::ramalhete_queue, 2,i: 23,325,930 msg/sec xenium::ramalhete_queue, 3,s: 29,126,959 msg/sec xenium::ramalhete_queue, 3,i: 28,434,666 msg/sec xenium::ramalhete_queue, 4,s: 33,809,225 msg/sec xenium::ramalhete_queue, 4,i: 33,500,277 msg/sec xenium::ramalhete_queue, 5,s: 31,997,804 msg/sec xenium::ramalhete_queue, 5,i: 36,043,764 msg/sec xenium::ramalhete_queue, 6,s: 33,975,025 msg/sec xenium::ramalhete_queue, 6,i: 39,304,389 msg/sec xenium::ramalhete_queue, 7,s: 34,979,525 msg/sec xenium::ramalhete_queue, 7,i: 40,953,208 msg/sec xenium::ramalhete_queue, 8,s: 35,541,044 msg/sec xenium::ramalhete_queue, 8,i: 44,294,047 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,535,032 msg/sec xenium::vyukov_bounded_queue, 1,i: 111,288,895 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,310,962 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,300,653 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,860,732 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,261,634 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,655,606 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,360,262 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,879,742 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,185,311 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,737,114 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,463,527 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,198,301 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,386,381 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,389,964 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,308,971 msg/sec AtomicQueue, 1,s: 59,153,652 msg/sec AtomicQueue, 1,i: 56,800,805 msg/sec AtomicQueue, 2,s: 12,270,843 msg/sec AtomicQueue, 2,i: 11,765,456 msg/sec AtomicQueue, 3,s: 10,744,657 msg/sec AtomicQueue, 3,i: 9,980,862 msg/sec AtomicQueue, 4,s: 8,206,736 msg/sec AtomicQueue, 4,i: 8,188,460 msg/sec AtomicQueue, 5,s: 7,956,863 msg/sec AtomicQueue, 5,i: 8,068,335 msg/sec AtomicQueue, 6,s: 7,844,543 msg/sec AtomicQueue, 6,i: 7,584,905 msg/sec AtomicQueue, 7,s: 7,108,702 msg/sec AtomicQueue, 7,i: 7,990,782 msg/sec AtomicQueue, 8,s: 6,343,146 msg/sec AtomicQueue, 8,i: 7,388,890 msg/sec AtomicQueueB, 1,s: 43,837,994 msg/sec AtomicQueueB, 1,i: 42,998,990 msg/sec AtomicQueueB, 2,s: 11,859,088 msg/sec AtomicQueueB, 2,i: 11,500,539 msg/sec AtomicQueueB, 3,s: 11,002,837 msg/sec AtomicQueueB, 3,i: 10,039,860 msg/sec AtomicQueueB, 4,s: 8,080,337 msg/sec AtomicQueueB, 4,i: 8,007,398 msg/sec AtomicQueueB, 5,s: 7,657,498 msg/sec AtomicQueueB, 5,i: 7,801,996 msg/sec AtomicQueueB, 6,s: 7,367,058 msg/sec AtomicQueueB, 6,i: 7,509,979 msg/sec AtomicQueueB, 7,s: 6,869,539 msg/sec AtomicQueueB, 7,i: 7,756,600 msg/sec AtomicQueueB, 8,s: 6,234,198 msg/sec AtomicQueueB, 8,i: 7,019,432 msg/sec OptimistAtomicQueue, 1,s: 785,713,373 msg/sec OptimistAtomicQueue, 1,i: 515,775,177 msg/sec OptimistAtomicQueue, 2,s: 32,587,343 msg/sec OptimistAtomicQueue, 2,i: 32,560,459 msg/sec OptimistAtomicQueue, 3,s: 36,690,788 msg/sec OptimistAtomicQueue, 3,i: 37,483,522 msg/sec OptimistAtomicQueue, 4,s: 39,270,980 msg/sec OptimistAtomicQueue, 4,i: 39,349,061 msg/sec OptimistAtomicQueue, 5,s: 42,526,487 msg/sec OptimistAtomicQueue, 5,i: 46,395,374 msg/sec OptimistAtomicQueue, 6,s: 42,566,947 msg/sec OptimistAtomicQueue, 6,i: 49,797,769 msg/sec OptimistAtomicQueue, 7,s: 44,080,416 msg/sec OptimistAtomicQueue, 7,i: 52,037,872 msg/sec OptimistAtomicQueue, 8,s: 46,381,593 msg/sec OptimistAtomicQueue, 8,i: 49,114,780 msg/sec OptimistAtomicQueueB, 1,s: 77,823,170 msg/sec OptimistAtomicQueueB, 1,i: 76,503,556 msg/sec OptimistAtomicQueueB, 2,s: 31,696,036 msg/sec OptimistAtomicQueueB, 2,i: 31,977,437 msg/sec OptimistAtomicQueueB, 3,s: 36,272,106 msg/sec OptimistAtomicQueueB, 3,i: 36,889,218 msg/sec OptimistAtomicQueueB, 4,s: 38,615,358 msg/sec OptimistAtomicQueueB, 4,i: 38,596,280 msg/sec OptimistAtomicQueueB, 5,s: 41,046,246 msg/sec OptimistAtomicQueueB, 5,i: 45,337,087 msg/sec OptimistAtomicQueueB, 6,s: 41,282,221 msg/sec OptimistAtomicQueueB, 6,i: 49,135,606 msg/sec OptimistAtomicQueueB, 7,s: 42,542,276 msg/sec OptimistAtomicQueueB, 7,i: 50,787,101 msg/sec OptimistAtomicQueueB, 8,s: 44,527,835 msg/sec OptimistAtomicQueueB, 8,i: 47,829,459 msg/sec AtomicQueue2, 1,s: 22,896,260 msg/sec AtomicQueue2, 1,i: 22,890,647 msg/sec AtomicQueue2, 2,s: 11,763,518 msg/sec AtomicQueue2, 2,i: 11,373,606 msg/sec AtomicQueue2, 3,s: 9,568,133 msg/sec AtomicQueue2, 3,i: 9,461,005 msg/sec AtomicQueue2, 4,s: 8,065,030 msg/sec AtomicQueue2, 4,i: 8,075,773 msg/sec AtomicQueue2, 5,s: 7,911,443 msg/sec AtomicQueue2, 5,i: 8,032,392 msg/sec AtomicQueue2, 6,s: 7,715,623 msg/sec AtomicQueue2, 6,i: 7,521,312 msg/sec AtomicQueue2, 7,s: 7,086,233 msg/sec AtomicQueue2, 7,i: 7,861,084 msg/sec AtomicQueue2, 8,s: 6,363,706 msg/sec AtomicQueue2, 8,i: 7,261,990 msg/sec AtomicQueueB2, 1,s: 36,226,918 msg/sec AtomicQueueB2, 1,i: 32,631,514 msg/sec AtomicQueueB2, 2,s: 11,441,623 msg/sec AtomicQueueB2, 2,i: 11,151,292 msg/sec AtomicQueueB2, 3,s: 9,611,701 msg/sec AtomicQueueB2, 3,i: 9,537,676 msg/sec AtomicQueueB2, 4,s: 7,991,345 msg/sec AtomicQueueB2, 4,i: 7,880,686 msg/sec AtomicQueueB2, 5,s: 7,527,579 msg/sec AtomicQueueB2, 5,i: 7,767,688 msg/sec AtomicQueueB2, 6,s: 7,320,921 msg/sec AtomicQueueB2, 6,i: 7,465,997 msg/sec AtomicQueueB2, 7,s: 6,919,694 msg/sec AtomicQueueB2, 7,i: 7,718,495 msg/sec AtomicQueueB2, 8,s: 6,272,113 msg/sec AtomicQueueB2, 8,i: 7,093,085 msg/sec OptimistAtomicQueue2, 1,s: 468,772,211 msg/sec OptimistAtomicQueue2, 1,i: 29,948,140 msg/sec OptimistAtomicQueue2, 2,s: 26,187,779 msg/sec OptimistAtomicQueue2, 2,i: 24,021,253 msg/sec OptimistAtomicQueue2, 3,s: 30,336,944 msg/sec OptimistAtomicQueue2, 3,i: 30,561,432 msg/sec OptimistAtomicQueue2, 4,s: 33,252,818 msg/sec OptimistAtomicQueue2, 4,i: 33,161,681 msg/sec OptimistAtomicQueue2, 5,s: 37,031,279 msg/sec OptimistAtomicQueue2, 5,i: 40,059,289 msg/sec OptimistAtomicQueue2, 6,s: 39,986,502 msg/sec OptimistAtomicQueue2, 6,i: 49,222,352 msg/sec OptimistAtomicQueue2, 7,s: 43,164,233 msg/sec OptimistAtomicQueue2, 7,i: 51,673,431 msg/sec OptimistAtomicQueue2, 8,s: 43,771,114 msg/sec OptimistAtomicQueue2, 8,i: 48,524,512 msg/sec OptimistAtomicQueueB2, 1,s: 76,489,624 msg/sec OptimistAtomicQueueB2, 1,i: 33,869,721 msg/sec OptimistAtomicQueueB2, 2,s: 28,767,081 msg/sec OptimistAtomicQueueB2, 2,i: 25,370,379 msg/sec OptimistAtomicQueueB2, 3,s: 29,674,302 msg/sec OptimistAtomicQueueB2, 3,i: 29,088,030 msg/sec OptimistAtomicQueueB2, 4,s: 33,505,762 msg/sec OptimistAtomicQueueB2, 4,i: 32,041,543 msg/sec OptimistAtomicQueueB2, 5,s: 34,580,780 msg/sec OptimistAtomicQueueB2, 5,i: 39,377,500 msg/sec OptimistAtomicQueueB2, 6,s: 37,784,904 msg/sec OptimistAtomicQueueB2, 6,i: 42,204,571 msg/sec OptimistAtomicQueueB2, 7,s: 40,112,053 msg/sec OptimistAtomicQueueB2, 7,i: 45,183,657 msg/sec OptimistAtomicQueueB2, 8,s: 42,508,270 msg/sec OptimistAtomicQueueB2, 8,i: 45,859,417 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000129 sec/round-trip boost::lockfree::queue: 0.000000329 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000512 sec/round-trip tbb::spin_mutex: 0.000000283 sec/round-trip tbb::concurrent_bounded_queue: 0.000000297 sec/round-trip xenium::michael_scott_queue: 0.000000386 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000183 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000172 sec/round-trip OptimistAtomicQueue: 0.000000160 sec/round-trip OptimistAtomicQueueB: 0.000000144 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [111] 334m:54s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,252,913 msg/sec boost::lockfree::spsc_queue, 1,i: 67,348,502 msg/sec boost::lockfree::queue, 1,s: 6,791,926 msg/sec boost::lockfree::queue, 1,i: 6,877,894 msg/sec boost::lockfree::queue, 2,s: 7,644,113 msg/sec boost::lockfree::queue, 2,i: 7,533,807 msg/sec boost::lockfree::queue, 3,s: 7,390,023 msg/sec boost::lockfree::queue, 3,i: 7,566,657 msg/sec boost::lockfree::queue, 4,s: 6,414,721 msg/sec boost::lockfree::queue, 4,i: 6,798,958 msg/sec boost::lockfree::queue, 5,s: 6,435,429 msg/sec boost::lockfree::queue, 5,i: 6,485,112 msg/sec boost::lockfree::queue, 6,s: 5,971,006 msg/sec boost::lockfree::queue, 6,i: 6,187,917 msg/sec boost::lockfree::queue, 7,s: 5,825,387 msg/sec boost::lockfree::queue, 7,i: 6,070,680 msg/sec boost::lockfree::queue, 8,s: 5,460,844 msg/sec boost::lockfree::queue, 8,i: 5,758,267 msg/sec moodycamel::ReaderWriterQueue, 1,s: 375,619,196 msg/sec moodycamel::ReaderWriterQueue, 1,i: 501,892,448 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,796,560 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,024,906 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,155,861 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,253,088 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,008,274 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,711,912 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,430,487 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,873,964 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,555,196 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,308,653 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,612,776 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,663,445 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,171,670 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,336,316 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,280,486 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,948,067 msg/sec pthread_spinlock, 1,s: 29,052,300 msg/sec pthread_spinlock, 1,i: 25,444,227 msg/sec pthread_spinlock, 2,s: 15,594,799 msg/sec pthread_spinlock, 2,i: 17,052,284 msg/sec pthread_spinlock, 3,s: 8,315,134 msg/sec pthread_spinlock, 3,i: 12,109,085 msg/sec pthread_spinlock, 4,s: 6,500,518 msg/sec pthread_spinlock, 4,i: 8,977,729 msg/sec pthread_spinlock, 5,s: 8,649,759 msg/sec pthread_spinlock, 5,i: 9,064,802 msg/sec pthread_spinlock, 6,s: 8,586,150 msg/sec pthread_spinlock, 6,i: 8,987,885 msg/sec pthread_spinlock, 7,s: 7,606,441 msg/sec pthread_spinlock, 7,i: 7,605,439 msg/sec pthread_spinlock, 8,s: 6,699,698 msg/sec pthread_spinlock, 8,i: 6,954,954 msg/sec std::mutex, 1,s: 7,744,637 msg/sec std::mutex, 1,i: 7,578,460 msg/sec std::mutex, 2,s: 5,484,307 msg/sec std::mutex, 2,i: 5,154,340 msg/sec std::mutex, 3,s: 4,995,377 msg/sec std::mutex, 3,i: 5,513,564 msg/sec std::mutex, 4,s: 6,292,253 msg/sec std::mutex, 4,i: 6,198,605 msg/sec std::mutex, 5,s: 6,127,225 msg/sec std::mutex, 5,i: 6,016,731 msg/sec std::mutex, 6,s: 5,943,819 msg/sec std::mutex, 6,i: 5,935,039 msg/sec std::mutex, 7,s: 5,826,929 msg/sec std::mutex, 7,i: 5,829,656 msg/sec std::mutex, 8,s: 5,722,072 msg/sec std::mutex, 8,i: 5,688,571 msg/sec tbb::spin_mutex, 1,s: 37,680,349 msg/sec tbb::spin_mutex, 1,i: 33,031,873 msg/sec tbb::spin_mutex, 2,s: 21,249,285 msg/sec tbb::spin_mutex, 2,i: 18,443,110 msg/sec tbb::spin_mutex, 3,s: 8,911,180 msg/sec tbb::spin_mutex, 3,i: 11,102,445 msg/sec tbb::spin_mutex, 4,s: 3,201,508 msg/sec tbb::spin_mutex, 4,i: 6,376,625 msg/sec tbb::spin_mutex, 5,s: 5,362,885 msg/sec tbb::spin_mutex, 5,i: 5,746,758 msg/sec tbb::spin_mutex, 6,s: 5,279,016 msg/sec tbb::spin_mutex, 6,i: 4,353,912 msg/sec tbb::spin_mutex, 7,s: 4,845,198 msg/sec tbb::spin_mutex, 7,i: 4,313,056 msg/sec tbb::spin_mutex, 8,s: 4,260,616 msg/sec tbb::spin_mutex, 8,i: 4,160,006 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,463,720 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,690,220 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,704,553 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,987,827 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,551,269 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,784,637 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,090,280 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,393,089 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,679,794 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,732,696 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,856,480 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,015,487 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,764,994 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,148,099 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,643,779 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,323,401 msg/sec xenium::michael_scott_queue, 1,s: 10,146,169 msg/sec xenium::michael_scott_queue, 1,i: 9,873,921 msg/sec xenium::michael_scott_queue, 2,s: 8,525,365 msg/sec xenium::michael_scott_queue, 2,i: 8,690,650 msg/sec xenium::michael_scott_queue, 3,s: 7,227,146 msg/sec xenium::michael_scott_queue, 3,i: 7,619,421 msg/sec xenium::michael_scott_queue, 4,s: 6,364,775 msg/sec xenium::michael_scott_queue, 4,i: 6,450,371 msg/sec xenium::michael_scott_queue, 5,s: 6,305,810 msg/sec xenium::michael_scott_queue, 5,i: 6,844,074 msg/sec xenium::michael_scott_queue, 6,s: 6,564,515 msg/sec xenium::michael_scott_queue, 6,i: 6,718,206 msg/sec xenium::michael_scott_queue, 7,s: 6,304,417 msg/sec xenium::michael_scott_queue, 7,i: 6,552,956 msg/sec xenium::michael_scott_queue, 8,s: 6,005,648 msg/sec xenium::michael_scott_queue, 8,i: 6,033,346 msg/sec xenium::ramalhete_queue, 1,s: 31,968,651 msg/sec xenium::ramalhete_queue, 1,i: 31,792,856 msg/sec xenium::ramalhete_queue, 2,s: 23,378,047 msg/sec xenium::ramalhete_queue, 2,i: 23,361,251 msg/sec xenium::ramalhete_queue, 3,s: 29,082,450 msg/sec xenium::ramalhete_queue, 3,i: 28,478,232 msg/sec xenium::ramalhete_queue, 4,s: 33,851,111 msg/sec xenium::ramalhete_queue, 4,i: 33,486,172 msg/sec xenium::ramalhete_queue, 5,s: 32,172,958 msg/sec xenium::ramalhete_queue, 5,i: 36,133,853 msg/sec xenium::ramalhete_queue, 6,s: 34,005,692 msg/sec xenium::ramalhete_queue, 6,i: 39,628,884 msg/sec xenium::ramalhete_queue, 7,s: 35,143,171 msg/sec xenium::ramalhete_queue, 7,i: 41,467,183 msg/sec xenium::ramalhete_queue, 8,s: 35,551,533 msg/sec xenium::ramalhete_queue, 8,i: 44,374,585 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,778,166 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,950,520 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,814,975 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,338,244 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,627,955 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,719,384 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,638,008 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,328,975 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,194,483 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,229,153 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,868,828 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,256,882 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,263,188 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,139,706 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,382,555 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,209,316 msg/sec AtomicQueue, 1,s: 73,091,988 msg/sec AtomicQueue, 1,i: 56,803,721 msg/sec AtomicQueue, 2,s: 12,311,180 msg/sec AtomicQueue, 2,i: 11,753,608 msg/sec AtomicQueue, 3,s: 10,809,983 msg/sec AtomicQueue, 3,i: 9,937,456 msg/sec AtomicQueue, 4,s: 8,217,793 msg/sec AtomicQueue, 4,i: 8,189,129 msg/sec AtomicQueue, 5,s: 8,041,754 msg/sec AtomicQueue, 5,i: 8,123,149 msg/sec AtomicQueue, 6,s: 7,776,232 msg/sec AtomicQueue, 6,i: 7,617,300 msg/sec AtomicQueue, 7,s: 7,168,912 msg/sec AtomicQueue, 7,i: 7,997,874 msg/sec AtomicQueue, 8,s: 6,343,742 msg/sec AtomicQueue, 8,i: 7,444,973 msg/sec AtomicQueueB, 1,s: 125,040,305 msg/sec AtomicQueueB, 1,i: 43,041,968 msg/sec AtomicQueueB, 2,s: 11,811,945 msg/sec AtomicQueueB, 2,i: 11,550,899 msg/sec AtomicQueueB, 3,s: 10,992,052 msg/sec AtomicQueueB, 3,i: 10,265,658 msg/sec AtomicQueueB, 4,s: 8,076,909 msg/sec AtomicQueueB, 4,i: 8,068,789 msg/sec AtomicQueueB, 5,s: 7,596,702 msg/sec AtomicQueueB, 5,i: 7,843,974 msg/sec AtomicQueueB, 6,s: 7,153,180 msg/sec AtomicQueueB, 6,i: 7,614,575 msg/sec AtomicQueueB, 7,s: 6,849,559 msg/sec AtomicQueueB, 7,i: 7,708,125 msg/sec AtomicQueueB, 8,s: 6,243,440 msg/sec AtomicQueueB, 8,i: 7,182,375 msg/sec OptimistAtomicQueue, 1,s: 713,686,345 msg/sec OptimistAtomicQueue, 1,i: 534,350,879 msg/sec OptimistAtomicQueue, 2,s: 32,612,580 msg/sec OptimistAtomicQueue, 2,i: 32,679,336 msg/sec OptimistAtomicQueue, 3,s: 36,669,767 msg/sec OptimistAtomicQueue, 3,i: 37,389,265 msg/sec OptimistAtomicQueue, 4,s: 39,290,089 msg/sec OptimistAtomicQueue, 4,i: 39,415,614 msg/sec OptimistAtomicQueue, 5,s: 42,528,004 msg/sec OptimistAtomicQueue, 5,i: 46,288,651 msg/sec OptimistAtomicQueue, 6,s: 41,938,842 msg/sec OptimistAtomicQueue, 6,i: 50,433,029 msg/sec OptimistAtomicQueue, 7,s: 45,225,991 msg/sec OptimistAtomicQueue, 7,i: 49,401,996 msg/sec OptimistAtomicQueue, 8,s: 46,406,901 msg/sec OptimistAtomicQueue, 8,i: 49,400,334 msg/sec OptimistAtomicQueueB, 1,s: 133,998,569 msg/sec OptimistAtomicQueueB, 1,i: 192,956,880 msg/sec OptimistAtomicQueueB, 2,s: 32,177,760 msg/sec OptimistAtomicQueueB, 2,i: 32,225,627 msg/sec OptimistAtomicQueueB, 3,s: 36,325,176 msg/sec OptimistAtomicQueueB, 3,i: 36,975,744 msg/sec OptimistAtomicQueueB, 4,s: 38,711,900 msg/sec OptimistAtomicQueueB, 4,i: 38,691,476 msg/sec OptimistAtomicQueueB, 5,s: 41,019,517 msg/sec OptimistAtomicQueueB, 5,i: 46,207,652 msg/sec OptimistAtomicQueueB, 6,s: 41,388,990 msg/sec OptimistAtomicQueueB, 6,i: 48,987,284 msg/sec OptimistAtomicQueueB, 7,s: 43,157,030 msg/sec OptimistAtomicQueueB, 7,i: 50,817,951 msg/sec OptimistAtomicQueueB, 8,s: 44,535,929 msg/sec OptimistAtomicQueueB, 8,i: 47,709,783 msg/sec AtomicQueue2, 1,s: 22,927,275 msg/sec AtomicQueue2, 1,i: 22,863,464 msg/sec AtomicQueue2, 2,s: 11,791,750 msg/sec AtomicQueue2, 2,i: 11,377,916 msg/sec AtomicQueue2, 3,s: 9,368,856 msg/sec AtomicQueue2, 3,i: 9,484,363 msg/sec AtomicQueue2, 4,s: 8,039,474 msg/sec AtomicQueue2, 4,i: 8,103,658 msg/sec AtomicQueue2, 5,s: 7,935,014 msg/sec AtomicQueue2, 5,i: 7,981,544 msg/sec AtomicQueue2, 6,s: 7,877,702 msg/sec AtomicQueue2, 6,i: 7,537,360 msg/sec AtomicQueue2, 7,s: 7,220,794 msg/sec AtomicQueue2, 7,i: 7,878,503 msg/sec AtomicQueue2, 8,s: 6,371,472 msg/sec AtomicQueue2, 8,i: 7,335,209 msg/sec AtomicQueueB2, 1,s: 36,319,732 msg/sec AtomicQueueB2, 1,i: 32,634,327 msg/sec AtomicQueueB2, 2,s: 11,337,233 msg/sec AtomicQueueB2, 2,i: 11,124,152 msg/sec AtomicQueueB2, 3,s: 9,625,803 msg/sec AtomicQueueB2, 3,i: 9,562,743 msg/sec AtomicQueueB2, 4,s: 7,933,370 msg/sec AtomicQueueB2, 4,i: 7,859,594 msg/sec AtomicQueueB2, 5,s: 7,553,715 msg/sec AtomicQueueB2, 5,i: 7,701,572 msg/sec AtomicQueueB2, 6,s: 7,148,910 msg/sec AtomicQueueB2, 6,i: 7,479,401 msg/sec AtomicQueueB2, 7,s: 6,887,266 msg/sec AtomicQueueB2, 7,i: 7,701,636 msg/sec AtomicQueueB2, 8,s: 6,309,475 msg/sec AtomicQueueB2, 8,i: 7,091,694 msg/sec OptimistAtomicQueue2, 1,s: 70,374,280 msg/sec OptimistAtomicQueue2, 1,i: 32,521,654 msg/sec OptimistAtomicQueue2, 2,s: 25,133,443 msg/sec OptimistAtomicQueue2, 2,i: 24,022,191 msg/sec OptimistAtomicQueue2, 3,s: 30,517,757 msg/sec OptimistAtomicQueue2, 3,i: 30,198,229 msg/sec OptimistAtomicQueue2, 4,s: 33,295,842 msg/sec OptimistAtomicQueue2, 4,i: 33,143,187 msg/sec OptimistAtomicQueue2, 5,s: 37,385,411 msg/sec OptimistAtomicQueue2, 5,i: 40,359,273 msg/sec OptimistAtomicQueue2, 6,s: 40,618,695 msg/sec OptimistAtomicQueue2, 6,i: 49,293,285 msg/sec OptimistAtomicQueue2, 7,s: 42,700,213 msg/sec OptimistAtomicQueue2, 7,i: 51,630,368 msg/sec OptimistAtomicQueue2, 8,s: 44,220,202 msg/sec OptimistAtomicQueue2, 8,i: 48,557,351 msg/sec OptimistAtomicQueueB2, 1,s: 77,460,079 msg/sec OptimistAtomicQueueB2, 1,i: 33,917,873 msg/sec OptimistAtomicQueueB2, 2,s: 28,852,446 msg/sec OptimistAtomicQueueB2, 2,i: 23,157,168 msg/sec OptimistAtomicQueueB2, 3,s: 29,764,046 msg/sec OptimistAtomicQueueB2, 3,i: 29,233,353 msg/sec OptimistAtomicQueueB2, 4,s: 33,566,092 msg/sec OptimistAtomicQueueB2, 4,i: 31,885,455 msg/sec OptimistAtomicQueueB2, 5,s: 34,539,311 msg/sec OptimistAtomicQueueB2, 5,i: 39,554,037 msg/sec OptimistAtomicQueueB2, 6,s: 37,193,290 msg/sec OptimistAtomicQueueB2, 6,i: 42,274,400 msg/sec OptimistAtomicQueueB2, 7,s: 40,072,599 msg/sec OptimistAtomicQueueB2, 7,i: 45,287,403 msg/sec OptimistAtomicQueueB2, 8,s: 42,282,451 msg/sec OptimistAtomicQueueB2, 8,i: 45,501,054 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000145 sec/round-trip moodycamel::ConcurrentQueue: 0.000000246 sec/round-trip pthread_spinlock: 0.000000290 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000377 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000165 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [112] 333m:36s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,722,975 msg/sec boost::lockfree::spsc_queue, 1,i: 67,436,792 msg/sec boost::lockfree::queue, 1,s: 6,831,114 msg/sec boost::lockfree::queue, 1,i: 6,956,303 msg/sec boost::lockfree::queue, 2,s: 7,623,852 msg/sec boost::lockfree::queue, 2,i: 7,577,758 msg/sec boost::lockfree::queue, 3,s: 7,394,609 msg/sec boost::lockfree::queue, 3,i: 7,534,200 msg/sec boost::lockfree::queue, 4,s: 6,426,055 msg/sec boost::lockfree::queue, 4,i: 6,798,278 msg/sec boost::lockfree::queue, 5,s: 6,442,141 msg/sec boost::lockfree::queue, 5,i: 6,469,733 msg/sec boost::lockfree::queue, 6,s: 6,005,114 msg/sec boost::lockfree::queue, 6,i: 6,103,614 msg/sec boost::lockfree::queue, 7,s: 5,978,424 msg/sec boost::lockfree::queue, 7,i: 5,949,316 msg/sec boost::lockfree::queue, 8,s: 5,500,897 msg/sec boost::lockfree::queue, 8,i: 5,679,355 msg/sec moodycamel::ReaderWriterQueue, 1,s: 415,011,807 msg/sec moodycamel::ReaderWriterQueue, 1,i: 66,597,252 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,274,223 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,975,479 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,923,159 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,068,887 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,354,769 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,119,705 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,523,318 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,682,942 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,300,503 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,666,135 msg/sec moodycamel::ConcurrentQueue, 6,s: 44,762,193 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,777,135 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,817,209 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,771,691 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,020,011 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,078,706 msg/sec pthread_spinlock, 1,s: 29,209,117 msg/sec pthread_spinlock, 1,i: 29,168,242 msg/sec pthread_spinlock, 2,s: 16,468,496 msg/sec pthread_spinlock, 2,i: 16,993,227 msg/sec pthread_spinlock, 3,s: 8,375,956 msg/sec pthread_spinlock, 3,i: 12,013,534 msg/sec pthread_spinlock, 4,s: 6,537,218 msg/sec pthread_spinlock, 4,i: 8,933,632 msg/sec pthread_spinlock, 5,s: 8,788,108 msg/sec pthread_spinlock, 5,i: 9,550,016 msg/sec pthread_spinlock, 6,s: 8,320,323 msg/sec pthread_spinlock, 6,i: 8,941,964 msg/sec pthread_spinlock, 7,s: 7,534,705 msg/sec pthread_spinlock, 7,i: 7,658,982 msg/sec pthread_spinlock, 8,s: 6,638,036 msg/sec pthread_spinlock, 8,i: 7,425,202 msg/sec std::mutex, 1,s: 5,620,243 msg/sec std::mutex, 1,i: 7,103,879 msg/sec std::mutex, 2,s: 5,741,438 msg/sec std::mutex, 2,i: 5,870,021 msg/sec std::mutex, 3,s: 5,949,019 msg/sec std::mutex, 3,i: 6,057,947 msg/sec std::mutex, 4,s: 6,209,293 msg/sec std::mutex, 4,i: 6,345,023 msg/sec std::mutex, 5,s: 6,099,148 msg/sec std::mutex, 5,i: 6,074,053 msg/sec std::mutex, 6,s: 5,919,500 msg/sec std::mutex, 6,i: 5,813,404 msg/sec std::mutex, 7,s: 5,811,975 msg/sec std::mutex, 7,i: 5,775,869 msg/sec std::mutex, 8,s: 5,709,382 msg/sec std::mutex, 8,i: 5,712,991 msg/sec tbb::spin_mutex, 1,s: 37,610,725 msg/sec tbb::spin_mutex, 1,i: 32,798,724 msg/sec tbb::spin_mutex, 2,s: 21,291,780 msg/sec tbb::spin_mutex, 2,i: 18,672,456 msg/sec tbb::spin_mutex, 3,s: 8,090,698 msg/sec tbb::spin_mutex, 3,i: 10,788,792 msg/sec tbb::spin_mutex, 4,s: 3,166,156 msg/sec tbb::spin_mutex, 4,i: 6,314,006 msg/sec tbb::spin_mutex, 5,s: 5,361,620 msg/sec tbb::spin_mutex, 5,i: 5,734,684 msg/sec tbb::spin_mutex, 6,s: 5,315,306 msg/sec tbb::spin_mutex, 6,i: 4,320,095 msg/sec tbb::spin_mutex, 7,s: 4,822,429 msg/sec tbb::spin_mutex, 7,i: 4,329,689 msg/sec tbb::spin_mutex, 8,s: 4,265,413 msg/sec tbb::spin_mutex, 8,i: 4,205,053 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,259,050 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,240,136 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,820,982 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,319,900 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,368,252 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,890,516 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,459,473 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,297,327 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,659,534 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,888,672 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,975,007 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,904,005 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,012,762 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,937,030 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,967,242 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,095,747 msg/sec xenium::michael_scott_queue, 1,s: 9,116,891 msg/sec xenium::michael_scott_queue, 1,i: 9,450,945 msg/sec xenium::michael_scott_queue, 2,s: 8,475,244 msg/sec xenium::michael_scott_queue, 2,i: 8,321,042 msg/sec xenium::michael_scott_queue, 3,s: 7,190,132 msg/sec xenium::michael_scott_queue, 3,i: 7,550,186 msg/sec xenium::michael_scott_queue, 4,s: 6,449,615 msg/sec xenium::michael_scott_queue, 4,i: 6,405,125 msg/sec xenium::michael_scott_queue, 5,s: 6,351,607 msg/sec xenium::michael_scott_queue, 5,i: 6,680,382 msg/sec xenium::michael_scott_queue, 6,s: 6,541,429 msg/sec xenium::michael_scott_queue, 6,i: 6,842,088 msg/sec xenium::michael_scott_queue, 7,s: 6,359,788 msg/sec xenium::michael_scott_queue, 7,i: 6,572,554 msg/sec xenium::michael_scott_queue, 8,s: 5,973,424 msg/sec xenium::michael_scott_queue, 8,i: 6,080,931 msg/sec xenium::ramalhete_queue, 1,s: 31,191,563 msg/sec xenium::ramalhete_queue, 1,i: 31,985,144 msg/sec xenium::ramalhete_queue, 2,s: 23,528,055 msg/sec xenium::ramalhete_queue, 2,i: 23,347,600 msg/sec xenium::ramalhete_queue, 3,s: 29,148,303 msg/sec xenium::ramalhete_queue, 3,i: 28,444,221 msg/sec xenium::ramalhete_queue, 4,s: 33,924,601 msg/sec xenium::ramalhete_queue, 4,i: 33,526,506 msg/sec xenium::ramalhete_queue, 5,s: 32,197,983 msg/sec xenium::ramalhete_queue, 5,i: 36,149,276 msg/sec xenium::ramalhete_queue, 6,s: 34,140,268 msg/sec xenium::ramalhete_queue, 6,i: 38,774,185 msg/sec xenium::ramalhete_queue, 7,s: 35,009,040 msg/sec xenium::ramalhete_queue, 7,i: 41,511,783 msg/sec xenium::ramalhete_queue, 8,s: 35,542,419 msg/sec xenium::ramalhete_queue, 8,i: 43,890,548 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,273,669 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,734,502 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,680,503 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,640,875 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,690,648 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,213,441 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,587,379 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,193,916 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,683,260 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,439,218 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,948,779 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,481,561 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,185,305 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,862,737 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,394,945 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,212,371 msg/sec AtomicQueue, 1,s: 59,272,943 msg/sec AtomicQueue, 1,i: 56,760,911 msg/sec AtomicQueue, 2,s: 12,229,276 msg/sec AtomicQueue, 2,i: 11,749,720 msg/sec AtomicQueue, 3,s: 10,808,290 msg/sec AtomicQueue, 3,i: 9,918,300 msg/sec AtomicQueue, 4,s: 8,190,695 msg/sec AtomicQueue, 4,i: 8,194,759 msg/sec AtomicQueue, 5,s: 8,051,857 msg/sec AtomicQueue, 5,i: 8,106,188 msg/sec AtomicQueue, 6,s: 7,613,432 msg/sec AtomicQueue, 6,i: 7,614,841 msg/sec AtomicQueue, 7,s: 7,127,162 msg/sec AtomicQueue, 7,i: 7,966,931 msg/sec AtomicQueue, 8,s: 6,365,753 msg/sec AtomicQueue, 8,i: 7,458,490 msg/sec AtomicQueueB, 1,s: 51,820,633 msg/sec AtomicQueueB, 1,i: 43,862,537 msg/sec AtomicQueueB, 2,s: 11,619,016 msg/sec AtomicQueueB, 2,i: 11,434,058 msg/sec AtomicQueueB, 3,s: 11,046,468 msg/sec AtomicQueueB, 3,i: 10,126,344 msg/sec AtomicQueueB, 4,s: 8,102,914 msg/sec AtomicQueueB, 4,i: 8,010,549 msg/sec AtomicQueueB, 5,s: 7,642,779 msg/sec AtomicQueueB, 5,i: 7,801,639 msg/sec AtomicQueueB, 6,s: 7,336,042 msg/sec AtomicQueueB, 6,i: 7,530,762 msg/sec AtomicQueueB, 7,s: 6,843,983 msg/sec AtomicQueueB, 7,i: 7,735,456 msg/sec AtomicQueueB, 8,s: 6,203,527 msg/sec AtomicQueueB, 8,i: 7,180,070 msg/sec OptimistAtomicQueue, 1,s: 821,773,209 msg/sec OptimistAtomicQueue, 1,i: 512,560,815 msg/sec OptimistAtomicQueue, 2,s: 32,653,682 msg/sec OptimistAtomicQueue, 2,i: 32,719,626 msg/sec OptimistAtomicQueue, 3,s: 36,673,824 msg/sec OptimistAtomicQueue, 3,i: 37,393,606 msg/sec OptimistAtomicQueue, 4,s: 39,289,138 msg/sec OptimistAtomicQueue, 4,i: 39,353,599 msg/sec OptimistAtomicQueue, 5,s: 42,471,902 msg/sec OptimistAtomicQueue, 5,i: 46,407,234 msg/sec OptimistAtomicQueue, 6,s: 42,761,986 msg/sec OptimistAtomicQueue, 6,i: 49,800,438 msg/sec OptimistAtomicQueue, 7,s: 45,179,675 msg/sec OptimistAtomicQueue, 7,i: 49,091,075 msg/sec OptimistAtomicQueue, 8,s: 46,254,944 msg/sec OptimistAtomicQueue, 8,i: 49,228,143 msg/sec OptimistAtomicQueueB, 1,s: 77,980,013 msg/sec OptimistAtomicQueueB, 1,i: 76,635,121 msg/sec OptimistAtomicQueueB, 2,s: 32,185,033 msg/sec OptimistAtomicQueueB, 2,i: 32,051,978 msg/sec OptimistAtomicQueueB, 3,s: 36,294,859 msg/sec OptimistAtomicQueueB, 3,i: 36,940,968 msg/sec OptimistAtomicQueueB, 4,s: 38,570,170 msg/sec OptimistAtomicQueueB, 4,i: 38,527,871 msg/sec OptimistAtomicQueueB, 5,s: 40,876,901 msg/sec OptimistAtomicQueueB, 5,i: 46,111,312 msg/sec OptimistAtomicQueueB, 6,s: 40,806,629 msg/sec OptimistAtomicQueueB, 6,i: 49,133,356 msg/sec OptimistAtomicQueueB, 7,s: 41,774,608 msg/sec OptimistAtomicQueueB, 7,i: 50,738,997 msg/sec OptimistAtomicQueueB, 8,s: 44,277,827 msg/sec OptimistAtomicQueueB, 8,i: 47,959,642 msg/sec AtomicQueue2, 1,s: 22,886,649 msg/sec AtomicQueue2, 1,i: 22,884,576 msg/sec AtomicQueue2, 2,s: 11,947,454 msg/sec AtomicQueue2, 2,i: 11,377,242 msg/sec AtomicQueue2, 3,s: 9,327,473 msg/sec AtomicQueue2, 3,i: 9,304,345 msg/sec AtomicQueue2, 4,s: 8,100,683 msg/sec AtomicQueue2, 4,i: 8,082,059 msg/sec AtomicQueue2, 5,s: 7,928,145 msg/sec AtomicQueue2, 5,i: 8,011,202 msg/sec AtomicQueue2, 6,s: 7,481,402 msg/sec AtomicQueue2, 6,i: 7,518,129 msg/sec AtomicQueue2, 7,s: 7,122,658 msg/sec AtomicQueue2, 7,i: 7,905,751 msg/sec AtomicQueue2, 8,s: 6,382,284 msg/sec AtomicQueue2, 8,i: 7,343,941 msg/sec AtomicQueueB2, 1,s: 36,121,095 msg/sec AtomicQueueB2, 1,i: 32,606,913 msg/sec AtomicQueueB2, 2,s: 11,485,343 msg/sec AtomicQueueB2, 2,i: 11,026,285 msg/sec AtomicQueueB2, 3,s: 9,572,511 msg/sec AtomicQueueB2, 3,i: 9,563,298 msg/sec AtomicQueueB2, 4,s: 7,953,278 msg/sec AtomicQueueB2, 4,i: 7,858,601 msg/sec AtomicQueueB2, 5,s: 7,318,917 msg/sec AtomicQueueB2, 5,i: 7,666,305 msg/sec AtomicQueueB2, 6,s: 7,259,034 msg/sec AtomicQueueB2, 6,i: 7,450,301 msg/sec AtomicQueueB2, 7,s: 6,946,659 msg/sec AtomicQueueB2, 7,i: 7,690,684 msg/sec AtomicQueueB2, 8,s: 6,293,694 msg/sec AtomicQueueB2, 8,i: 7,068,647 msg/sec OptimistAtomicQueue2, 1,s: 423,025,130 msg/sec OptimistAtomicQueue2, 1,i: 29,807,522 msg/sec OptimistAtomicQueue2, 2,s: 24,260,018 msg/sec OptimistAtomicQueue2, 2,i: 24,334,613 msg/sec OptimistAtomicQueue2, 3,s: 31,223,108 msg/sec OptimistAtomicQueue2, 3,i: 30,335,236 msg/sec OptimistAtomicQueue2, 4,s: 35,393,761 msg/sec OptimistAtomicQueue2, 4,i: 33,163,375 msg/sec OptimistAtomicQueue2, 5,s: 37,243,151 msg/sec OptimistAtomicQueue2, 5,i: 40,020,617 msg/sec OptimistAtomicQueue2, 6,s: 40,500,358 msg/sec OptimistAtomicQueue2, 6,i: 49,185,201 msg/sec OptimistAtomicQueue2, 7,s: 43,185,869 msg/sec OptimistAtomicQueue2, 7,i: 51,543,345 msg/sec OptimistAtomicQueue2, 8,s: 44,031,326 msg/sec OptimistAtomicQueue2, 8,i: 48,419,080 msg/sec OptimistAtomicQueueB2, 1,s: 76,873,923 msg/sec OptimistAtomicQueueB2, 1,i: 33,869,033 msg/sec OptimistAtomicQueueB2, 2,s: 27,115,156 msg/sec OptimistAtomicQueueB2, 2,i: 23,174,043 msg/sec OptimistAtomicQueueB2, 3,s: 29,704,869 msg/sec OptimistAtomicQueueB2, 3,i: 29,348,377 msg/sec OptimistAtomicQueueB2, 4,s: 33,344,115 msg/sec OptimistAtomicQueueB2, 4,i: 32,757,324 msg/sec OptimistAtomicQueueB2, 5,s: 34,396,541 msg/sec OptimistAtomicQueueB2, 5,i: 39,209,311 msg/sec OptimistAtomicQueueB2, 6,s: 37,295,237 msg/sec OptimistAtomicQueueB2, 6,i: 42,175,114 msg/sec OptimistAtomicQueueB2, 7,s: 40,825,125 msg/sec OptimistAtomicQueueB2, 7,i: 43,179,417 msg/sec OptimistAtomicQueueB2, 8,s: 42,317,096 msg/sec OptimistAtomicQueueB2, 8,i: 46,527,165 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000328 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000257 sec/round-trip std::mutex: 0.000000520 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000268 sec/round-trip xenium::michael_scott_queue: 0.000000363 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [113] 332m:16s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,988,102 msg/sec boost::lockfree::spsc_queue, 1,i: 65,884,810 msg/sec boost::lockfree::queue, 1,s: 6,774,082 msg/sec boost::lockfree::queue, 1,i: 6,934,331 msg/sec boost::lockfree::queue, 2,s: 7,612,226 msg/sec boost::lockfree::queue, 2,i: 7,527,348 msg/sec boost::lockfree::queue, 3,s: 7,399,311 msg/sec boost::lockfree::queue, 3,i: 7,565,634 msg/sec boost::lockfree::queue, 4,s: 6,421,792 msg/sec boost::lockfree::queue, 4,i: 6,789,703 msg/sec boost::lockfree::queue, 5,s: 6,428,169 msg/sec boost::lockfree::queue, 5,i: 6,452,532 msg/sec boost::lockfree::queue, 6,s: 5,997,598 msg/sec boost::lockfree::queue, 6,i: 6,152,474 msg/sec boost::lockfree::queue, 7,s: 5,985,577 msg/sec boost::lockfree::queue, 7,i: 6,060,796 msg/sec boost::lockfree::queue, 8,s: 5,490,866 msg/sec boost::lockfree::queue, 8,i: 5,560,461 msg/sec moodycamel::ReaderWriterQueue, 1,s: 524,914,612 msg/sec moodycamel::ReaderWriterQueue, 1,i: 517,218,929 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,168,214 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,652,778 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,259,218 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,065,943 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,183,124 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,641,176 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,253,917 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,201,766 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,317,600 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,826,545 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,396,293 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,673,257 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,068,443 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,752,611 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,371,692 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,439,643 msg/sec pthread_spinlock, 1,s: 29,028,160 msg/sec pthread_spinlock, 1,i: 25,283,150 msg/sec pthread_spinlock, 2,s: 16,447,717 msg/sec pthread_spinlock, 2,i: 16,701,508 msg/sec pthread_spinlock, 3,s: 8,392,291 msg/sec pthread_spinlock, 3,i: 12,253,606 msg/sec pthread_spinlock, 4,s: 6,504,878 msg/sec pthread_spinlock, 4,i: 9,128,515 msg/sec pthread_spinlock, 5,s: 8,802,225 msg/sec pthread_spinlock, 5,i: 9,251,523 msg/sec pthread_spinlock, 6,s: 8,296,956 msg/sec pthread_spinlock, 6,i: 8,676,398 msg/sec pthread_spinlock, 7,s: 7,520,007 msg/sec pthread_spinlock, 7,i: 7,663,884 msg/sec pthread_spinlock, 8,s: 6,854,650 msg/sec pthread_spinlock, 8,i: 7,304,393 msg/sec std::mutex, 1,s: 6,137,394 msg/sec std::mutex, 1,i: 6,039,664 msg/sec std::mutex, 2,s: 5,201,839 msg/sec std::mutex, 2,i: 5,998,874 msg/sec std::mutex, 3,s: 6,104,379 msg/sec std::mutex, 3,i: 5,591,661 msg/sec std::mutex, 4,s: 5,758,248 msg/sec std::mutex, 4,i: 5,432,081 msg/sec std::mutex, 5,s: 5,618,451 msg/sec std::mutex, 5,i: 6,003,893 msg/sec std::mutex, 6,s: 5,884,904 msg/sec std::mutex, 6,i: 5,863,653 msg/sec std::mutex, 7,s: 5,783,851 msg/sec std::mutex, 7,i: 5,739,430 msg/sec std::mutex, 8,s: 5,673,925 msg/sec std::mutex, 8,i: 5,659,891 msg/sec tbb::spin_mutex, 1,s: 37,622,569 msg/sec tbb::spin_mutex, 1,i: 32,797,341 msg/sec tbb::spin_mutex, 2,s: 21,107,962 msg/sec tbb::spin_mutex, 2,i: 18,407,233 msg/sec tbb::spin_mutex, 3,s: 7,858,453 msg/sec tbb::spin_mutex, 3,i: 10,275,662 msg/sec tbb::spin_mutex, 4,s: 3,243,798 msg/sec tbb::spin_mutex, 4,i: 6,201,546 msg/sec tbb::spin_mutex, 5,s: 5,503,218 msg/sec tbb::spin_mutex, 5,i: 5,682,477 msg/sec tbb::spin_mutex, 6,s: 5,392,492 msg/sec tbb::spin_mutex, 6,i: 4,303,992 msg/sec tbb::spin_mutex, 7,s: 4,841,990 msg/sec tbb::spin_mutex, 7,i: 4,315,579 msg/sec tbb::spin_mutex, 8,s: 4,272,707 msg/sec tbb::spin_mutex, 8,i: 4,168,688 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,470,425 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,033,554 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,802,603 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,988,874 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,208,953 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,304,005 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,085,681 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,224,027 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,559,644 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,364,465 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,599,323 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,689,214 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,656,027 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,093,311 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,644,197 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,916,264 msg/sec xenium::michael_scott_queue, 1,s: 9,493,480 msg/sec xenium::michael_scott_queue, 1,i: 9,495,496 msg/sec xenium::michael_scott_queue, 2,s: 8,517,802 msg/sec xenium::michael_scott_queue, 2,i: 8,471,214 msg/sec xenium::michael_scott_queue, 3,s: 7,195,056 msg/sec xenium::michael_scott_queue, 3,i: 7,549,899 msg/sec xenium::michael_scott_queue, 4,s: 6,306,526 msg/sec xenium::michael_scott_queue, 4,i: 6,299,697 msg/sec xenium::michael_scott_queue, 5,s: 6,311,408 msg/sec xenium::michael_scott_queue, 5,i: 6,664,419 msg/sec xenium::michael_scott_queue, 6,s: 6,495,085 msg/sec xenium::michael_scott_queue, 6,i: 6,976,454 msg/sec xenium::michael_scott_queue, 7,s: 6,324,591 msg/sec xenium::michael_scott_queue, 7,i: 6,466,571 msg/sec xenium::michael_scott_queue, 8,s: 5,988,376 msg/sec xenium::michael_scott_queue, 8,i: 6,104,016 msg/sec xenium::ramalhete_queue, 1,s: 31,887,586 msg/sec xenium::ramalhete_queue, 1,i: 31,956,084 msg/sec xenium::ramalhete_queue, 2,s: 24,212,653 msg/sec xenium::ramalhete_queue, 2,i: 23,401,046 msg/sec xenium::ramalhete_queue, 3,s: 29,161,605 msg/sec xenium::ramalhete_queue, 3,i: 28,471,550 msg/sec xenium::ramalhete_queue, 4,s: 33,787,110 msg/sec xenium::ramalhete_queue, 4,i: 33,533,392 msg/sec xenium::ramalhete_queue, 5,s: 32,209,827 msg/sec xenium::ramalhete_queue, 5,i: 38,429,518 msg/sec xenium::ramalhete_queue, 6,s: 33,963,867 msg/sec xenium::ramalhete_queue, 6,i: 39,822,842 msg/sec xenium::ramalhete_queue, 7,s: 35,273,615 msg/sec xenium::ramalhete_queue, 7,i: 41,392,217 msg/sec xenium::ramalhete_queue, 8,s: 35,618,594 msg/sec xenium::ramalhete_queue, 8,i: 44,081,648 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,842,890 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,099,260 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,461,026 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,860,943 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,686,798 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,909,508 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,517,810 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,238,137 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,203,034 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,383,645 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,886,961 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,338,507 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,185,215 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,946,444 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,401,952 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,231,634 msg/sec AtomicQueue, 1,s: 61,370,930 msg/sec AtomicQueue, 1,i: 56,602,130 msg/sec AtomicQueue, 2,s: 12,216,018 msg/sec AtomicQueue, 2,i: 11,738,446 msg/sec AtomicQueue, 3,s: 10,796,871 msg/sec AtomicQueue, 3,i: 9,962,141 msg/sec AtomicQueue, 4,s: 8,257,197 msg/sec AtomicQueue, 4,i: 8,205,005 msg/sec AtomicQueue, 5,s: 8,007,270 msg/sec AtomicQueue, 5,i: 8,068,559 msg/sec AtomicQueue, 6,s: 7,771,996 msg/sec AtomicQueue, 6,i: 7,595,253 msg/sec AtomicQueue, 7,s: 7,158,271 msg/sec AtomicQueue, 7,i: 8,005,250 msg/sec AtomicQueue, 8,s: 6,325,286 msg/sec AtomicQueue, 8,i: 7,427,863 msg/sec AtomicQueueB, 1,s: 65,854,587 msg/sec AtomicQueueB, 1,i: 56,072,190 msg/sec AtomicQueueB, 2,s: 11,837,214 msg/sec AtomicQueueB, 2,i: 11,476,093 msg/sec AtomicQueueB, 3,s: 11,104,954 msg/sec AtomicQueueB, 3,i: 10,298,634 msg/sec AtomicQueueB, 4,s: 8,057,533 msg/sec AtomicQueueB, 4,i: 8,024,759 msg/sec AtomicQueueB, 5,s: 7,529,562 msg/sec AtomicQueueB, 5,i: 7,784,616 msg/sec AtomicQueueB, 6,s: 7,343,234 msg/sec AtomicQueueB, 6,i: 7,548,439 msg/sec AtomicQueueB, 7,s: 6,874,590 msg/sec AtomicQueueB, 7,i: 7,668,664 msg/sec AtomicQueueB, 8,s: 6,201,789 msg/sec AtomicQueueB, 8,i: 7,172,188 msg/sec OptimistAtomicQueue, 1,s: 677,951,163 msg/sec OptimistAtomicQueue, 1,i: 516,315,705 msg/sec OptimistAtomicQueue, 2,s: 32,551,201 msg/sec OptimistAtomicQueue, 2,i: 32,610,589 msg/sec OptimistAtomicQueue, 3,s: 36,694,058 msg/sec OptimistAtomicQueue, 3,i: 37,413,111 msg/sec OptimistAtomicQueue, 4,s: 39,272,208 msg/sec OptimistAtomicQueue, 4,i: 39,346,710 msg/sec OptimistAtomicQueue, 5,s: 42,456,431 msg/sec OptimistAtomicQueue, 5,i: 46,158,484 msg/sec OptimistAtomicQueue, 6,s: 42,575,863 msg/sec OptimistAtomicQueue, 6,i: 50,507,401 msg/sec OptimistAtomicQueue, 7,s: 44,477,419 msg/sec OptimistAtomicQueue, 7,i: 49,419,700 msg/sec OptimistAtomicQueue, 8,s: 46,457,739 msg/sec OptimistAtomicQueue, 8,i: 49,333,931 msg/sec OptimistAtomicQueueB, 1,s: 353,909,044 msg/sec OptimistAtomicQueueB, 1,i: 76,597,780 msg/sec OptimistAtomicQueueB, 2,s: 32,230,595 msg/sec OptimistAtomicQueueB, 2,i: 32,248,169 msg/sec OptimistAtomicQueueB, 3,s: 36,224,047 msg/sec OptimistAtomicQueueB, 3,i: 36,913,507 msg/sec OptimistAtomicQueueB, 4,s: 38,653,200 msg/sec OptimistAtomicQueueB, 4,i: 38,666,193 msg/sec OptimistAtomicQueueB, 5,s: 40,389,869 msg/sec OptimistAtomicQueueB, 5,i: 45,324,053 msg/sec OptimistAtomicQueueB, 6,s: 40,715,238 msg/sec OptimistAtomicQueueB, 6,i: 48,537,830 msg/sec OptimistAtomicQueueB, 7,s: 42,077,762 msg/sec OptimistAtomicQueueB, 7,i: 51,277,983 msg/sec OptimistAtomicQueueB, 8,s: 44,638,877 msg/sec OptimistAtomicQueueB, 8,i: 47,855,998 msg/sec AtomicQueue2, 1,s: 22,925,957 msg/sec AtomicQueue2, 1,i: 23,259,847 msg/sec AtomicQueue2, 2,s: 11,798,605 msg/sec AtomicQueue2, 2,i: 11,409,661 msg/sec AtomicQueue2, 3,s: 9,404,412 msg/sec AtomicQueue2, 3,i: 9,534,902 msg/sec AtomicQueue2, 4,s: 7,994,328 msg/sec AtomicQueue2, 4,i: 8,079,079 msg/sec AtomicQueue2, 5,s: 7,921,663 msg/sec AtomicQueue2, 5,i: 8,038,172 msg/sec AtomicQueue2, 6,s: 7,753,541 msg/sec AtomicQueue2, 6,i: 7,530,339 msg/sec AtomicQueue2, 7,s: 7,069,894 msg/sec AtomicQueue2, 7,i: 7,891,257 msg/sec AtomicQueue2, 8,s: 6,383,682 msg/sec AtomicQueue2, 8,i: 7,259,529 msg/sec AtomicQueueB2, 1,s: 32,679,032 msg/sec AtomicQueueB2, 1,i: 32,614,571 msg/sec AtomicQueueB2, 2,s: 11,476,269 msg/sec AtomicQueueB2, 2,i: 11,142,705 msg/sec AtomicQueueB2, 3,s: 9,579,079 msg/sec AtomicQueueB2, 3,i: 9,565,592 msg/sec AtomicQueueB2, 4,s: 7,958,113 msg/sec AtomicQueueB2, 4,i: 7,907,155 msg/sec AtomicQueueB2, 5,s: 7,523,058 msg/sec AtomicQueueB2, 5,i: 7,692,657 msg/sec AtomicQueueB2, 6,s: 7,341,546 msg/sec AtomicQueueB2, 6,i: 7,453,571 msg/sec AtomicQueueB2, 7,s: 6,914,631 msg/sec AtomicQueueB2, 7,i: 7,695,714 msg/sec AtomicQueueB2, 8,s: 6,242,308 msg/sec AtomicQueueB2, 8,i: 6,976,763 msg/sec OptimistAtomicQueue2, 1,s: 433,927,300 msg/sec OptimistAtomicQueue2, 1,i: 458,603,575 msg/sec OptimistAtomicQueue2, 2,s: 24,275,921 msg/sec OptimistAtomicQueue2, 2,i: 24,174,579 msg/sec OptimistAtomicQueue2, 3,s: 30,496,332 msg/sec OptimistAtomicQueue2, 3,i: 30,150,002 msg/sec OptimistAtomicQueue2, 4,s: 33,224,085 msg/sec OptimistAtomicQueue2, 4,i: 33,317,589 msg/sec OptimistAtomicQueue2, 5,s: 37,099,455 msg/sec OptimistAtomicQueue2, 5,i: 40,212,334 msg/sec OptimistAtomicQueue2, 6,s: 40,117,345 msg/sec OptimistAtomicQueue2, 6,i: 49,294,339 msg/sec OptimistAtomicQueue2, 7,s: 43,213,320 msg/sec OptimistAtomicQueue2, 7,i: 51,426,698 msg/sec OptimistAtomicQueue2, 8,s: 43,999,154 msg/sec OptimistAtomicQueue2, 8,i: 48,508,945 msg/sec OptimistAtomicQueueB2, 1,s: 78,234,728 msg/sec OptimistAtomicQueueB2, 1,i: 33,877,424 msg/sec OptimistAtomicQueueB2, 2,s: 27,174,333 msg/sec OptimistAtomicQueueB2, 2,i: 23,209,724 msg/sec OptimistAtomicQueueB2, 3,s: 29,714,027 msg/sec OptimistAtomicQueueB2, 3,i: 29,141,315 msg/sec OptimistAtomicQueueB2, 4,s: 32,795,632 msg/sec OptimistAtomicQueueB2, 4,i: 32,117,484 msg/sec OptimistAtomicQueueB2, 5,s: 34,655,433 msg/sec OptimistAtomicQueueB2, 5,i: 39,704,104 msg/sec OptimistAtomicQueueB2, 6,s: 36,937,738 msg/sec OptimistAtomicQueueB2, 6,i: 42,213,653 msg/sec OptimistAtomicQueueB2, 7,s: 40,790,505 msg/sec OptimistAtomicQueueB2, 7,i: 43,294,487 msg/sec OptimistAtomicQueueB2, 8,s: 42,137,671 msg/sec OptimistAtomicQueueB2, 8,i: 45,333,818 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000118 sec/round-trip moodycamel::ConcurrentQueue: 0.000000236 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000261 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000376 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [114] 330m:57s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,423,544 msg/sec boost::lockfree::spsc_queue, 1,i: 67,656,443 msg/sec boost::lockfree::queue, 1,s: 7,986,032 msg/sec boost::lockfree::queue, 1,i: 7,623,399 msg/sec boost::lockfree::queue, 2,s: 7,595,512 msg/sec boost::lockfree::queue, 2,i: 7,444,020 msg/sec boost::lockfree::queue, 3,s: 7,393,533 msg/sec boost::lockfree::queue, 3,i: 7,502,639 msg/sec boost::lockfree::queue, 4,s: 6,419,587 msg/sec boost::lockfree::queue, 4,i: 6,735,499 msg/sec boost::lockfree::queue, 5,s: 6,431,990 msg/sec boost::lockfree::queue, 5,i: 6,482,649 msg/sec boost::lockfree::queue, 6,s: 6,007,508 msg/sec boost::lockfree::queue, 6,i: 6,137,276 msg/sec boost::lockfree::queue, 7,s: 6,027,969 msg/sec boost::lockfree::queue, 7,i: 6,076,787 msg/sec boost::lockfree::queue, 8,s: 5,509,021 msg/sec boost::lockfree::queue, 8,i: 5,519,961 msg/sec moodycamel::ReaderWriterQueue, 1,s: 243,858,559 msg/sec moodycamel::ReaderWriterQueue, 1,i: 46,700,238 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,207,829 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,665,412 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,792,118 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,822,947 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,568,847 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,737,302 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,730,067 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,998,126 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,296,305 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,048,722 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,275,442 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,738,385 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,894,308 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,656,902 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,208,692 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,126,316 msg/sec pthread_spinlock, 1,s: 29,226,491 msg/sec pthread_spinlock, 1,i: 25,388,987 msg/sec pthread_spinlock, 2,s: 15,532,467 msg/sec pthread_spinlock, 2,i: 17,081,047 msg/sec pthread_spinlock, 3,s: 8,353,369 msg/sec pthread_spinlock, 3,i: 11,953,714 msg/sec pthread_spinlock, 4,s: 6,489,910 msg/sec pthread_spinlock, 4,i: 9,178,838 msg/sec pthread_spinlock, 5,s: 8,617,120 msg/sec pthread_spinlock, 5,i: 8,868,855 msg/sec pthread_spinlock, 6,s: 8,599,977 msg/sec pthread_spinlock, 6,i: 9,221,867 msg/sec pthread_spinlock, 7,s: 7,510,587 msg/sec pthread_spinlock, 7,i: 7,544,603 msg/sec pthread_spinlock, 8,s: 6,739,738 msg/sec pthread_spinlock, 8,i: 7,326,025 msg/sec std::mutex, 1,s: 6,997,742 msg/sec std::mutex, 1,i: 8,089,329 msg/sec std::mutex, 2,s: 5,812,626 msg/sec std::mutex, 2,i: 6,047,284 msg/sec std::mutex, 3,s: 6,153,848 msg/sec std::mutex, 3,i: 5,906,919 msg/sec std::mutex, 4,s: 6,276,173 msg/sec std::mutex, 4,i: 6,205,228 msg/sec std::mutex, 5,s: 6,051,365 msg/sec std::mutex, 5,i: 6,033,608 msg/sec std::mutex, 6,s: 5,919,873 msg/sec std::mutex, 6,i: 5,876,120 msg/sec std::mutex, 7,s: 5,794,254 msg/sec std::mutex, 7,i: 5,771,845 msg/sec std::mutex, 8,s: 5,636,597 msg/sec std::mutex, 8,i: 5,656,477 msg/sec tbb::spin_mutex, 1,s: 37,816,663 msg/sec tbb::spin_mutex, 1,i: 37,734,634 msg/sec tbb::spin_mutex, 2,s: 21,216,162 msg/sec tbb::spin_mutex, 2,i: 18,308,438 msg/sec tbb::spin_mutex, 3,s: 7,616,424 msg/sec tbb::spin_mutex, 3,i: 10,342,418 msg/sec tbb::spin_mutex, 4,s: 3,209,108 msg/sec tbb::spin_mutex, 4,i: 6,355,156 msg/sec tbb::spin_mutex, 5,s: 5,195,912 msg/sec tbb::spin_mutex, 5,i: 5,715,623 msg/sec tbb::spin_mutex, 6,s: 5,352,700 msg/sec tbb::spin_mutex, 6,i: 4,342,453 msg/sec tbb::spin_mutex, 7,s: 4,882,714 msg/sec tbb::spin_mutex, 7,i: 4,340,690 msg/sec tbb::spin_mutex, 8,s: 3,813,179 msg/sec tbb::spin_mutex, 8,i: 4,178,582 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,845,143 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,598,448 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,956,672 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,187,850 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,507,728 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,783,981 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,114,780 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,419,061 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,749,690 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,741,518 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,889,750 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,933,466 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,798,028 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,160,782 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,651,279 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,300,991 msg/sec xenium::michael_scott_queue, 1,s: 9,163,373 msg/sec xenium::michael_scott_queue, 1,i: 9,172,783 msg/sec xenium::michael_scott_queue, 2,s: 8,475,836 msg/sec xenium::michael_scott_queue, 2,i: 8,521,606 msg/sec xenium::michael_scott_queue, 3,s: 7,362,422 msg/sec xenium::michael_scott_queue, 3,i: 7,553,449 msg/sec xenium::michael_scott_queue, 4,s: 6,276,168 msg/sec xenium::michael_scott_queue, 4,i: 6,316,301 msg/sec xenium::michael_scott_queue, 5,s: 6,297,195 msg/sec xenium::michael_scott_queue, 5,i: 6,635,967 msg/sec xenium::michael_scott_queue, 6,s: 6,481,283 msg/sec xenium::michael_scott_queue, 6,i: 6,954,315 msg/sec xenium::michael_scott_queue, 7,s: 6,324,057 msg/sec xenium::michael_scott_queue, 7,i: 6,502,976 msg/sec xenium::michael_scott_queue, 8,s: 5,999,792 msg/sec xenium::michael_scott_queue, 8,i: 6,086,627 msg/sec xenium::ramalhete_queue, 1,s: 31,436,181 msg/sec xenium::ramalhete_queue, 1,i: 31,524,553 msg/sec xenium::ramalhete_queue, 2,s: 23,586,447 msg/sec xenium::ramalhete_queue, 2,i: 23,398,718 msg/sec xenium::ramalhete_queue, 3,s: 29,208,501 msg/sec xenium::ramalhete_queue, 3,i: 28,489,100 msg/sec xenium::ramalhete_queue, 4,s: 33,849,906 msg/sec xenium::ramalhete_queue, 4,i: 33,467,559 msg/sec xenium::ramalhete_queue, 5,s: 32,235,644 msg/sec xenium::ramalhete_queue, 5,i: 36,032,154 msg/sec xenium::ramalhete_queue, 6,s: 34,139,759 msg/sec xenium::ramalhete_queue, 6,i: 38,767,688 msg/sec xenium::ramalhete_queue, 7,s: 35,112,652 msg/sec xenium::ramalhete_queue, 7,i: 41,323,149 msg/sec xenium::ramalhete_queue, 8,s: 35,417,509 msg/sec xenium::ramalhete_queue, 8,i: 43,776,977 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,429,091 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,722,203 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,034,401 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,193,145 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,655,492 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,231,219 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,670,518 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,117,639 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,084,880 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,155,284 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,000,062 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,577,145 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,242,821 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,067,533 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,393,128 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,317,111 msg/sec AtomicQueue, 1,s: 61,652,190 msg/sec AtomicQueue, 1,i: 56,849,451 msg/sec AtomicQueue, 2,s: 12,275,324 msg/sec AtomicQueue, 2,i: 11,742,274 msg/sec AtomicQueue, 3,s: 10,794,619 msg/sec AtomicQueue, 3,i: 9,935,106 msg/sec AtomicQueue, 4,s: 8,193,284 msg/sec AtomicQueue, 4,i: 8,165,947 msg/sec AtomicQueue, 5,s: 8,013,191 msg/sec AtomicQueue, 5,i: 8,130,227 msg/sec AtomicQueue, 6,s: 7,854,074 msg/sec AtomicQueue, 6,i: 7,614,825 msg/sec AtomicQueue, 7,s: 7,048,235 msg/sec AtomicQueue, 7,i: 7,971,969 msg/sec AtomicQueue, 8,s: 6,359,134 msg/sec AtomicQueue, 8,i: 7,435,541 msg/sec AtomicQueueB, 1,s: 74,434,978 msg/sec AtomicQueueB, 1,i: 45,634,025 msg/sec AtomicQueueB, 2,s: 12,034,218 msg/sec AtomicQueueB, 2,i: 11,527,152 msg/sec AtomicQueueB, 3,s: 11,002,078 msg/sec AtomicQueueB, 3,i: 10,140,216 msg/sec AtomicQueueB, 4,s: 8,023,227 msg/sec AtomicQueueB, 4,i: 8,133,261 msg/sec AtomicQueueB, 5,s: 7,573,926 msg/sec AtomicQueueB, 5,i: 7,857,107 msg/sec AtomicQueueB, 6,s: 7,373,108 msg/sec AtomicQueueB, 6,i: 7,483,333 msg/sec AtomicQueueB, 7,s: 6,947,227 msg/sec AtomicQueueB, 7,i: 7,693,003 msg/sec AtomicQueueB, 8,s: 6,223,527 msg/sec AtomicQueueB, 8,i: 7,158,711 msg/sec OptimistAtomicQueue, 1,s: 825,357,968 msg/sec OptimistAtomicQueue, 1,i: 542,646,595 msg/sec OptimistAtomicQueue, 2,s: 32,159,334 msg/sec OptimistAtomicQueue, 2,i: 32,320,072 msg/sec OptimistAtomicQueue, 3,s: 36,653,592 msg/sec OptimistAtomicQueue, 3,i: 37,343,716 msg/sec OptimistAtomicQueue, 4,s: 39,392,038 msg/sec OptimistAtomicQueue, 4,i: 39,359,299 msg/sec OptimistAtomicQueue, 5,s: 41,665,997 msg/sec OptimistAtomicQueue, 5,i: 46,221,643 msg/sec OptimistAtomicQueue, 6,s: 42,549,059 msg/sec OptimistAtomicQueue, 6,i: 49,859,221 msg/sec OptimistAtomicQueue, 7,s: 45,246,129 msg/sec OptimistAtomicQueue, 7,i: 52,007,451 msg/sec OptimistAtomicQueue, 8,s: 46,478,127 msg/sec OptimistAtomicQueue, 8,i: 48,830,046 msg/sec OptimistAtomicQueueB, 1,s: 77,858,517 msg/sec OptimistAtomicQueueB, 1,i: 76,444,594 msg/sec OptimistAtomicQueueB, 2,s: 32,288,522 msg/sec OptimistAtomicQueueB, 2,i: 32,172,780 msg/sec OptimistAtomicQueueB, 3,s: 36,296,103 msg/sec OptimistAtomicQueueB, 3,i: 36,928,226 msg/sec OptimistAtomicQueueB, 4,s: 38,643,774 msg/sec OptimistAtomicQueueB, 4,i: 38,680,685 msg/sec OptimistAtomicQueueB, 5,s: 41,038,865 msg/sec OptimistAtomicQueueB, 5,i: 46,090,324 msg/sec OptimistAtomicQueueB, 6,s: 40,901,281 msg/sec OptimistAtomicQueueB, 6,i: 49,027,564 msg/sec OptimistAtomicQueueB, 7,s: 42,412,256 msg/sec OptimistAtomicQueueB, 7,i: 47,687,634 msg/sec OptimistAtomicQueueB, 8,s: 44,313,396 msg/sec OptimistAtomicQueueB, 8,i: 47,928,655 msg/sec AtomicQueue2, 1,s: 22,970,721 msg/sec AtomicQueue2, 1,i: 22,880,685 msg/sec AtomicQueue2, 2,s: 11,983,298 msg/sec AtomicQueue2, 2,i: 11,848,804 msg/sec AtomicQueue2, 3,s: 9,738,639 msg/sec AtomicQueue2, 3,i: 9,412,779 msg/sec AtomicQueue2, 4,s: 8,027,394 msg/sec AtomicQueue2, 4,i: 8,047,712 msg/sec AtomicQueue2, 5,s: 7,916,860 msg/sec AtomicQueue2, 5,i: 8,075,598 msg/sec AtomicQueue2, 6,s: 7,630,734 msg/sec AtomicQueue2, 6,i: 7,536,821 msg/sec AtomicQueue2, 7,s: 7,115,488 msg/sec AtomicQueue2, 7,i: 7,899,522 msg/sec AtomicQueue2, 8,s: 6,391,169 msg/sec AtomicQueue2, 8,i: 7,219,003 msg/sec AtomicQueueB2, 1,s: 36,307,870 msg/sec AtomicQueueB2, 1,i: 32,861,221 msg/sec AtomicQueueB2, 2,s: 11,365,595 msg/sec AtomicQueueB2, 2,i: 11,107,114 msg/sec AtomicQueueB2, 3,s: 9,606,617 msg/sec AtomicQueueB2, 3,i: 9,491,786 msg/sec AtomicQueueB2, 4,s: 7,978,583 msg/sec AtomicQueueB2, 4,i: 7,835,783 msg/sec AtomicQueueB2, 5,s: 7,364,155 msg/sec AtomicQueueB2, 5,i: 7,789,528 msg/sec AtomicQueueB2, 6,s: 7,167,852 msg/sec AtomicQueueB2, 6,i: 7,518,179 msg/sec AtomicQueueB2, 7,s: 6,917,356 msg/sec AtomicQueueB2, 7,i: 7,711,874 msg/sec AtomicQueueB2, 8,s: 6,334,835 msg/sec AtomicQueueB2, 8,i: 7,093,660 msg/sec OptimistAtomicQueue2, 1,s: 463,823,774 msg/sec OptimistAtomicQueue2, 1,i: 29,706,759 msg/sec OptimistAtomicQueue2, 2,s: 24,285,061 msg/sec OptimistAtomicQueue2, 2,i: 24,014,821 msg/sec OptimistAtomicQueue2, 3,s: 30,316,692 msg/sec OptimistAtomicQueue2, 3,i: 29,952,425 msg/sec OptimistAtomicQueue2, 4,s: 33,160,182 msg/sec OptimistAtomicQueue2, 4,i: 33,241,062 msg/sec OptimistAtomicQueue2, 5,s: 37,256,796 msg/sec OptimistAtomicQueue2, 5,i: 43,176,859 msg/sec OptimistAtomicQueue2, 6,s: 40,464,231 msg/sec OptimistAtomicQueue2, 6,i: 49,294,872 msg/sec OptimistAtomicQueue2, 7,s: 43,159,237 msg/sec OptimistAtomicQueue2, 7,i: 51,538,159 msg/sec OptimistAtomicQueue2, 8,s: 43,811,136 msg/sec OptimistAtomicQueue2, 8,i: 48,417,101 msg/sec OptimistAtomicQueueB2, 1,s: 78,400,173 msg/sec OptimistAtomicQueueB2, 1,i: 33,923,571 msg/sec OptimistAtomicQueueB2, 2,s: 28,968,530 msg/sec OptimistAtomicQueueB2, 2,i: 25,336,793 msg/sec OptimistAtomicQueueB2, 3,s: 29,777,031 msg/sec OptimistAtomicQueueB2, 3,i: 30,674,521 msg/sec OptimistAtomicQueueB2, 4,s: 32,204,587 msg/sec OptimistAtomicQueueB2, 4,i: 32,454,727 msg/sec OptimistAtomicQueueB2, 5,s: 34,744,542 msg/sec OptimistAtomicQueueB2, 5,i: 39,640,503 msg/sec OptimistAtomicQueueB2, 6,s: 37,531,247 msg/sec OptimistAtomicQueueB2, 6,i: 42,316,658 msg/sec OptimistAtomicQueueB2, 7,s: 40,718,729 msg/sec OptimistAtomicQueueB2, 7,i: 43,165,822 msg/sec OptimistAtomicQueueB2, 8,s: 41,843,629 msg/sec OptimistAtomicQueueB2, 8,i: 45,887,188 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000130 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000146 sec/round-trip moodycamel::ConcurrentQueue: 0.000000243 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000468 sec/round-trip tbb::spin_mutex: 0.000000263 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000217 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [115] 329m:38s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,957,973 msg/sec boost::lockfree::spsc_queue, 1,i: 70,496,945 msg/sec boost::lockfree::queue, 1,s: 7,958,391 msg/sec boost::lockfree::queue, 1,i: 7,929,408 msg/sec boost::lockfree::queue, 2,s: 7,610,883 msg/sec boost::lockfree::queue, 2,i: 7,509,745 msg/sec boost::lockfree::queue, 3,s: 7,371,391 msg/sec boost::lockfree::queue, 3,i: 7,533,541 msg/sec boost::lockfree::queue, 4,s: 6,428,782 msg/sec boost::lockfree::queue, 4,i: 6,839,800 msg/sec boost::lockfree::queue, 5,s: 6,482,148 msg/sec boost::lockfree::queue, 5,i: 6,498,686 msg/sec boost::lockfree::queue, 6,s: 5,984,811 msg/sec boost::lockfree::queue, 6,i: 6,214,591 msg/sec boost::lockfree::queue, 7,s: 5,841,064 msg/sec boost::lockfree::queue, 7,i: 6,031,665 msg/sec boost::lockfree::queue, 8,s: 5,333,265 msg/sec boost::lockfree::queue, 8,i: 5,684,921 msg/sec moodycamel::ReaderWriterQueue, 1,s: 447,868,448 msg/sec moodycamel::ReaderWriterQueue, 1,i: 63,751,812 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,099,721 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,791,075 msg/sec moodycamel::ConcurrentQueue, 2,s: 48,240,381 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,011,074 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,925,126 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,645,298 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,975,858 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,051,137 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,278,903 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,365,970 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,367,437 msg/sec moodycamel::ConcurrentQueue, 6,i: 50,155,943 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,998,333 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,139,927 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,138,772 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,298,282 msg/sec pthread_spinlock, 1,s: 29,150,979 msg/sec pthread_spinlock, 1,i: 26,455,106 msg/sec pthread_spinlock, 2,s: 16,540,028 msg/sec pthread_spinlock, 2,i: 17,150,011 msg/sec pthread_spinlock, 3,s: 8,314,571 msg/sec pthread_spinlock, 3,i: 12,007,490 msg/sec pthread_spinlock, 4,s: 6,535,432 msg/sec pthread_spinlock, 4,i: 8,871,673 msg/sec pthread_spinlock, 5,s: 8,740,702 msg/sec pthread_spinlock, 5,i: 9,556,568 msg/sec pthread_spinlock, 6,s: 8,306,834 msg/sec pthread_spinlock, 6,i: 8,626,135 msg/sec pthread_spinlock, 7,s: 7,522,515 msg/sec pthread_spinlock, 7,i: 7,528,830 msg/sec pthread_spinlock, 8,s: 6,635,433 msg/sec pthread_spinlock, 8,i: 6,888,151 msg/sec std::mutex, 1,s: 6,026,117 msg/sec std::mutex, 1,i: 6,625,292 msg/sec std::mutex, 2,s: 5,570,886 msg/sec std::mutex, 2,i: 5,472,923 msg/sec std::mutex, 3,s: 5,537,807 msg/sec std::mutex, 3,i: 5,122,243 msg/sec std::mutex, 4,s: 6,201,689 msg/sec std::mutex, 4,i: 6,417,963 msg/sec std::mutex, 5,s: 6,154,271 msg/sec std::mutex, 5,i: 6,173,935 msg/sec std::mutex, 6,s: 5,840,236 msg/sec std::mutex, 6,i: 5,912,740 msg/sec std::mutex, 7,s: 5,842,900 msg/sec std::mutex, 7,i: 5,786,002 msg/sec std::mutex, 8,s: 5,731,724 msg/sec std::mutex, 8,i: 5,697,619 msg/sec tbb::spin_mutex, 1,s: 37,632,479 msg/sec tbb::spin_mutex, 1,i: 33,288,289 msg/sec tbb::spin_mutex, 2,s: 21,262,001 msg/sec tbb::spin_mutex, 2,i: 18,368,084 msg/sec tbb::spin_mutex, 3,s: 8,979,619 msg/sec tbb::spin_mutex, 3,i: 11,311,338 msg/sec tbb::spin_mutex, 4,s: 3,309,126 msg/sec tbb::spin_mutex, 4,i: 6,461,277 msg/sec tbb::spin_mutex, 5,s: 5,186,325 msg/sec tbb::spin_mutex, 5,i: 5,457,553 msg/sec tbb::spin_mutex, 6,s: 5,240,461 msg/sec tbb::spin_mutex, 6,i: 4,437,475 msg/sec tbb::spin_mutex, 7,s: 4,857,395 msg/sec tbb::spin_mutex, 7,i: 4,361,623 msg/sec tbb::spin_mutex, 8,s: 4,243,353 msg/sec tbb::spin_mutex, 8,i: 4,088,470 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,438,081 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,248,716 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,959,969 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,296,209 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,175,061 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,056,896 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,416,464 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,311,539 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,644,524 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,863,132 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,960,126 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,913,552 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,007,698 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,992,710 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,997,677 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,095,488 msg/sec xenium::michael_scott_queue, 1,s: 9,489,495 msg/sec xenium::michael_scott_queue, 1,i: 9,500,410 msg/sec xenium::michael_scott_queue, 2,s: 8,473,964 msg/sec xenium::michael_scott_queue, 2,i: 8,455,744 msg/sec xenium::michael_scott_queue, 3,s: 7,272,919 msg/sec xenium::michael_scott_queue, 3,i: 7,526,441 msg/sec xenium::michael_scott_queue, 4,s: 6,350,414 msg/sec xenium::michael_scott_queue, 4,i: 6,372,483 msg/sec xenium::michael_scott_queue, 5,s: 6,316,985 msg/sec xenium::michael_scott_queue, 5,i: 6,657,767 msg/sec xenium::michael_scott_queue, 6,s: 6,490,807 msg/sec xenium::michael_scott_queue, 6,i: 6,748,011 msg/sec xenium::michael_scott_queue, 7,s: 6,318,947 msg/sec xenium::michael_scott_queue, 7,i: 6,543,932 msg/sec xenium::michael_scott_queue, 8,s: 6,014,794 msg/sec xenium::michael_scott_queue, 8,i: 6,141,190 msg/sec xenium::ramalhete_queue, 1,s: 32,006,222 msg/sec xenium::ramalhete_queue, 1,i: 32,397,888 msg/sec xenium::ramalhete_queue, 2,s: 24,650,627 msg/sec xenium::ramalhete_queue, 2,i: 23,332,746 msg/sec xenium::ramalhete_queue, 3,s: 29,236,511 msg/sec xenium::ramalhete_queue, 3,i: 28,465,848 msg/sec xenium::ramalhete_queue, 4,s: 33,801,316 msg/sec xenium::ramalhete_queue, 4,i: 33,522,642 msg/sec xenium::ramalhete_queue, 5,s: 31,939,629 msg/sec xenium::ramalhete_queue, 5,i: 36,002,369 msg/sec xenium::ramalhete_queue, 6,s: 33,897,689 msg/sec xenium::ramalhete_queue, 6,i: 38,887,846 msg/sec xenium::ramalhete_queue, 7,s: 35,073,524 msg/sec xenium::ramalhete_queue, 7,i: 40,643,891 msg/sec xenium::ramalhete_queue, 8,s: 35,389,309 msg/sec xenium::ramalhete_queue, 8,i: 43,648,898 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,274,467 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,853,947 msg/sec xenium::vyukov_bounded_queue, 2,s: 20,076,912 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,431,400 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,682,164 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,079,802 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,566,727 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,574,384 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,907,960 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,393,638 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,901,708 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,148,349 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,141,087 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,897,624 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,001 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,543,268 msg/sec AtomicQueue, 1,s: 57,894,931 msg/sec AtomicQueue, 1,i: 56,680,637 msg/sec AtomicQueue, 2,s: 12,290,657 msg/sec AtomicQueue, 2,i: 11,721,559 msg/sec AtomicQueue, 3,s: 10,744,886 msg/sec AtomicQueue, 3,i: 9,906,303 msg/sec AtomicQueue, 4,s: 8,165,668 msg/sec AtomicQueue, 4,i: 8,195,725 msg/sec AtomicQueue, 5,s: 8,031,498 msg/sec AtomicQueue, 5,i: 8,103,419 msg/sec AtomicQueue, 6,s: 7,676,366 msg/sec AtomicQueue, 6,i: 7,614,218 msg/sec AtomicQueue, 7,s: 7,093,004 msg/sec AtomicQueue, 7,i: 7,990,569 msg/sec AtomicQueue, 8,s: 6,362,119 msg/sec AtomicQueue, 8,i: 7,456,356 msg/sec AtomicQueueB, 1,s: 46,374,058 msg/sec AtomicQueueB, 1,i: 43,153,168 msg/sec AtomicQueueB, 2,s: 11,747,322 msg/sec AtomicQueueB, 2,i: 11,480,158 msg/sec AtomicQueueB, 3,s: 11,005,430 msg/sec AtomicQueueB, 3,i: 10,210,406 msg/sec AtomicQueueB, 4,s: 8,034,188 msg/sec AtomicQueueB, 4,i: 8,009,215 msg/sec AtomicQueueB, 5,s: 7,488,773 msg/sec AtomicQueueB, 5,i: 7,797,550 msg/sec AtomicQueueB, 6,s: 7,437,826 msg/sec AtomicQueueB, 6,i: 7,511,203 msg/sec AtomicQueueB, 7,s: 6,898,635 msg/sec AtomicQueueB, 7,i: 7,733,202 msg/sec AtomicQueueB, 8,s: 6,219,547 msg/sec AtomicQueueB, 8,i: 7,147,595 msg/sec OptimistAtomicQueue, 1,s: 798,101,316 msg/sec OptimistAtomicQueue, 1,i: 575,789,021 msg/sec OptimistAtomicQueue, 2,s: 32,638,243 msg/sec OptimistAtomicQueue, 2,i: 32,715,048 msg/sec OptimistAtomicQueue, 3,s: 36,623,472 msg/sec OptimistAtomicQueue, 3,i: 37,386,703 msg/sec OptimistAtomicQueue, 4,s: 39,260,640 msg/sec OptimistAtomicQueue, 4,i: 39,402,496 msg/sec OptimistAtomicQueue, 5,s: 41,830,103 msg/sec OptimistAtomicQueue, 5,i: 46,295,759 msg/sec OptimistAtomicQueue, 6,s: 42,720,020 msg/sec OptimistAtomicQueue, 6,i: 50,391,701 msg/sec OptimistAtomicQueue, 7,s: 43,884,716 msg/sec OptimistAtomicQueue, 7,i: 49,422,523 msg/sec OptimistAtomicQueue, 8,s: 46,304,111 msg/sec OptimistAtomicQueue, 8,i: 49,404,552 msg/sec OptimistAtomicQueueB, 1,s: 77,898,441 msg/sec OptimistAtomicQueueB, 1,i: 150,950,681 msg/sec OptimistAtomicQueueB, 2,s: 32,156,583 msg/sec OptimistAtomicQueueB, 2,i: 32,152,253 msg/sec OptimistAtomicQueueB, 3,s: 36,242,062 msg/sec OptimistAtomicQueueB, 3,i: 36,791,230 msg/sec OptimistAtomicQueueB, 4,s: 38,560,518 msg/sec OptimistAtomicQueueB, 4,i: 38,602,832 msg/sec OptimistAtomicQueueB, 5,s: 40,936,266 msg/sec OptimistAtomicQueueB, 5,i: 46,038,441 msg/sec OptimistAtomicQueueB, 6,s: 40,752,728 msg/sec OptimistAtomicQueueB, 6,i: 49,201,614 msg/sec OptimistAtomicQueueB, 7,s: 42,082,744 msg/sec OptimistAtomicQueueB, 7,i: 50,861,686 msg/sec OptimistAtomicQueueB, 8,s: 44,150,823 msg/sec OptimistAtomicQueueB, 8,i: 48,108,638 msg/sec AtomicQueue2, 1,s: 22,884,524 msg/sec AtomicQueue2, 1,i: 22,828,984 msg/sec AtomicQueue2, 2,s: 11,818,567 msg/sec AtomicQueue2, 2,i: 11,384,872 msg/sec AtomicQueue2, 3,s: 9,418,241 msg/sec AtomicQueue2, 3,i: 9,407,754 msg/sec AtomicQueue2, 4,s: 8,010,871 msg/sec AtomicQueue2, 4,i: 8,047,972 msg/sec AtomicQueue2, 5,s: 7,952,234 msg/sec AtomicQueue2, 5,i: 8,033,419 msg/sec AtomicQueue2, 6,s: 7,582,537 msg/sec AtomicQueue2, 6,i: 7,510,021 msg/sec AtomicQueue2, 7,s: 7,130,996 msg/sec AtomicQueue2, 7,i: 7,899,892 msg/sec AtomicQueue2, 8,s: 6,420,890 msg/sec AtomicQueue2, 8,i: 7,346,670 msg/sec AtomicQueueB2, 1,s: 36,262,268 msg/sec AtomicQueueB2, 1,i: 32,610,143 msg/sec AtomicQueueB2, 2,s: 11,446,779 msg/sec AtomicQueueB2, 2,i: 11,132,242 msg/sec AtomicQueueB2, 3,s: 9,631,791 msg/sec AtomicQueueB2, 3,i: 9,573,830 msg/sec AtomicQueueB2, 4,s: 7,913,830 msg/sec AtomicQueueB2, 4,i: 7,864,036 msg/sec AtomicQueueB2, 5,s: 7,538,680 msg/sec AtomicQueueB2, 5,i: 7,732,308 msg/sec AtomicQueueB2, 6,s: 7,192,116 msg/sec AtomicQueueB2, 6,i: 7,440,052 msg/sec AtomicQueueB2, 7,s: 6,899,579 msg/sec AtomicQueueB2, 7,i: 7,711,483 msg/sec AtomicQueueB2, 8,s: 6,328,546 msg/sec AtomicQueueB2, 8,i: 7,119,205 msg/sec OptimistAtomicQueue2, 1,s: 419,202,624 msg/sec OptimistAtomicQueue2, 1,i: 31,793,870 msg/sec OptimistAtomicQueue2, 2,s: 26,197,110 msg/sec OptimistAtomicQueue2, 2,i: 24,439,529 msg/sec OptimistAtomicQueue2, 3,s: 30,310,280 msg/sec OptimistAtomicQueue2, 3,i: 29,985,011 msg/sec OptimistAtomicQueue2, 4,s: 33,197,359 msg/sec OptimistAtomicQueue2, 4,i: 33,227,630 msg/sec OptimistAtomicQueue2, 5,s: 37,181,967 msg/sec OptimistAtomicQueue2, 5,i: 39,924,940 msg/sec OptimistAtomicQueue2, 6,s: 40,196,917 msg/sec OptimistAtomicQueue2, 6,i: 49,375,048 msg/sec OptimistAtomicQueue2, 7,s: 43,107,314 msg/sec OptimistAtomicQueue2, 7,i: 48,268,698 msg/sec OptimistAtomicQueue2, 8,s: 44,868,517 msg/sec OptimistAtomicQueue2, 8,i: 49,871,979 msg/sec OptimistAtomicQueueB2, 1,s: 76,952,129 msg/sec OptimistAtomicQueueB2, 1,i: 33,852,822 msg/sec OptimistAtomicQueueB2, 2,s: 27,290,980 msg/sec OptimistAtomicQueueB2, 2,i: 23,133,525 msg/sec OptimistAtomicQueueB2, 3,s: 29,704,080 msg/sec OptimistAtomicQueueB2, 3,i: 29,009,993 msg/sec OptimistAtomicQueueB2, 4,s: 32,987,077 msg/sec OptimistAtomicQueueB2, 4,i: 32,280,043 msg/sec OptimistAtomicQueueB2, 5,s: 34,623,335 msg/sec OptimistAtomicQueueB2, 5,i: 39,299,761 msg/sec OptimistAtomicQueueB2, 6,s: 37,254,883 msg/sec OptimistAtomicQueueB2, 6,i: 42,164,928 msg/sec OptimistAtomicQueueB2, 7,s: 40,068,750 msg/sec OptimistAtomicQueueB2, 7,i: 43,275,181 msg/sec OptimistAtomicQueueB2, 8,s: 42,434,118 msg/sec OptimistAtomicQueueB2, 8,i: 45,693,056 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000138 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000299 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000145 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [116] 328m:19s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,448,186 msg/sec boost::lockfree::spsc_queue, 1,i: 70,492,147 msg/sec boost::lockfree::queue, 1,s: 7,981,445 msg/sec boost::lockfree::queue, 1,i: 7,862,810 msg/sec boost::lockfree::queue, 2,s: 7,549,892 msg/sec boost::lockfree::queue, 2,i: 7,570,727 msg/sec boost::lockfree::queue, 3,s: 7,386,583 msg/sec boost::lockfree::queue, 3,i: 7,618,260 msg/sec boost::lockfree::queue, 4,s: 6,415,558 msg/sec boost::lockfree::queue, 4,i: 6,852,339 msg/sec boost::lockfree::queue, 5,s: 6,389,525 msg/sec boost::lockfree::queue, 5,i: 6,464,373 msg/sec boost::lockfree::queue, 6,s: 6,018,592 msg/sec boost::lockfree::queue, 6,i: 6,140,673 msg/sec boost::lockfree::queue, 7,s: 5,829,871 msg/sec boost::lockfree::queue, 7,i: 5,955,588 msg/sec boost::lockfree::queue, 8,s: 5,435,297 msg/sec boost::lockfree::queue, 8,i: 5,578,984 msg/sec moodycamel::ReaderWriterQueue, 1,s: 96,121,476 msg/sec moodycamel::ReaderWriterQueue, 1,i: 91,749,236 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,915,332 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,047,064 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,079,353 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,272,827 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,912,689 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,568,634 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,292,331 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,932,114 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,316,153 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,420,529 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,479,201 msg/sec moodycamel::ConcurrentQueue, 6,i: 48,323,498 msg/sec moodycamel::ConcurrentQueue, 7,s: 47,468,457 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,238,954 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,172,524 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,446,497 msg/sec pthread_spinlock, 1,s: 29,039,032 msg/sec pthread_spinlock, 1,i: 25,336,838 msg/sec pthread_spinlock, 2,s: 15,962,453 msg/sec pthread_spinlock, 2,i: 17,758,258 msg/sec pthread_spinlock, 3,s: 8,404,540 msg/sec pthread_spinlock, 3,i: 11,891,569 msg/sec pthread_spinlock, 4,s: 6,514,717 msg/sec pthread_spinlock, 4,i: 9,196,437 msg/sec pthread_spinlock, 5,s: 8,573,482 msg/sec pthread_spinlock, 5,i: 9,515,547 msg/sec pthread_spinlock, 6,s: 8,578,375 msg/sec pthread_spinlock, 6,i: 8,613,831 msg/sec pthread_spinlock, 7,s: 7,566,291 msg/sec pthread_spinlock, 7,i: 7,621,156 msg/sec pthread_spinlock, 8,s: 6,854,910 msg/sec pthread_spinlock, 8,i: 6,861,232 msg/sec std::mutex, 1,s: 5,870,517 msg/sec std::mutex, 1,i: 6,819,710 msg/sec std::mutex, 2,s: 5,784,559 msg/sec std::mutex, 2,i: 6,171,181 msg/sec std::mutex, 3,s: 5,997,916 msg/sec std::mutex, 3,i: 6,171,805 msg/sec std::mutex, 4,s: 6,244,425 msg/sec std::mutex, 4,i: 6,333,137 msg/sec std::mutex, 5,s: 6,037,796 msg/sec std::mutex, 5,i: 6,032,793 msg/sec std::mutex, 6,s: 5,935,303 msg/sec std::mutex, 6,i: 5,884,991 msg/sec std::mutex, 7,s: 5,874,976 msg/sec std::mutex, 7,i: 5,823,762 msg/sec std::mutex, 8,s: 5,760,242 msg/sec std::mutex, 8,i: 5,722,187 msg/sec tbb::spin_mutex, 1,s: 37,695,250 msg/sec tbb::spin_mutex, 1,i: 33,044,026 msg/sec tbb::spin_mutex, 2,s: 21,217,479 msg/sec tbb::spin_mutex, 2,i: 18,815,349 msg/sec tbb::spin_mutex, 3,s: 8,628,943 msg/sec tbb::spin_mutex, 3,i: 10,668,288 msg/sec tbb::spin_mutex, 4,s: 3,056,660 msg/sec tbb::spin_mutex, 4,i: 6,395,322 msg/sec tbb::spin_mutex, 5,s: 5,316,254 msg/sec tbb::spin_mutex, 5,i: 5,834,690 msg/sec tbb::spin_mutex, 6,s: 5,352,758 msg/sec tbb::spin_mutex, 6,i: 4,447,034 msg/sec tbb::spin_mutex, 7,s: 4,887,460 msg/sec tbb::spin_mutex, 7,i: 4,349,619 msg/sec tbb::spin_mutex, 8,s: 4,257,648 msg/sec tbb::spin_mutex, 8,i: 4,103,504 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,186,801 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,023,069 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,886,435 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,009,133 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,327,023 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,505,804 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,095,231 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,500,055 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,601,494 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,624,397 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,776,090 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,704,843 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,789,087 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,799,464 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,096,784 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,080,347 msg/sec xenium::michael_scott_queue, 1,s: 9,194,166 msg/sec xenium::michael_scott_queue, 1,i: 9,123,015 msg/sec xenium::michael_scott_queue, 2,s: 8,457,682 msg/sec xenium::michael_scott_queue, 2,i: 8,512,133 msg/sec xenium::michael_scott_queue, 3,s: 7,111,751 msg/sec xenium::michael_scott_queue, 3,i: 7,629,390 msg/sec xenium::michael_scott_queue, 4,s: 6,296,465 msg/sec xenium::michael_scott_queue, 4,i: 6,372,674 msg/sec xenium::michael_scott_queue, 5,s: 6,311,149 msg/sec xenium::michael_scott_queue, 5,i: 6,732,747 msg/sec xenium::michael_scott_queue, 6,s: 6,483,122 msg/sec xenium::michael_scott_queue, 6,i: 6,985,273 msg/sec xenium::michael_scott_queue, 7,s: 6,316,598 msg/sec xenium::michael_scott_queue, 7,i: 6,534,128 msg/sec xenium::michael_scott_queue, 8,s: 6,027,834 msg/sec xenium::michael_scott_queue, 8,i: 6,071,293 msg/sec xenium::ramalhete_queue, 1,s: 32,092,683 msg/sec xenium::ramalhete_queue, 1,i: 31,901,193 msg/sec xenium::ramalhete_queue, 2,s: 23,613,642 msg/sec xenium::ramalhete_queue, 2,i: 23,388,379 msg/sec xenium::ramalhete_queue, 3,s: 29,114,878 msg/sec xenium::ramalhete_queue, 3,i: 28,604,239 msg/sec xenium::ramalhete_queue, 4,s: 33,839,466 msg/sec xenium::ramalhete_queue, 4,i: 33,397,579 msg/sec xenium::ramalhete_queue, 5,s: 32,021,993 msg/sec xenium::ramalhete_queue, 5,i: 36,149,808 msg/sec xenium::ramalhete_queue, 6,s: 33,935,900 msg/sec xenium::ramalhete_queue, 6,i: 39,002,423 msg/sec xenium::ramalhete_queue, 7,s: 35,182,358 msg/sec xenium::ramalhete_queue, 7,i: 41,564,161 msg/sec xenium::ramalhete_queue, 8,s: 35,607,612 msg/sec xenium::ramalhete_queue, 8,i: 43,781,038 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,962,114 msg/sec xenium::vyukov_bounded_queue, 1,i: 90,065,384 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,930,789 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,012,692 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,648,514 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,954,128 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,399,725 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,078,108 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,012,957 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,269,412 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,845,970 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,291,022 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,233,630 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,165,467 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,373 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,331,830 msg/sec AtomicQueue, 1,s: 67,915,232 msg/sec AtomicQueue, 1,i: 56,654,998 msg/sec AtomicQueue, 2,s: 12,270,649 msg/sec AtomicQueue, 2,i: 11,750,825 msg/sec AtomicQueue, 3,s: 10,747,353 msg/sec AtomicQueue, 3,i: 9,902,350 msg/sec AtomicQueue, 4,s: 8,218,155 msg/sec AtomicQueue, 4,i: 8,190,582 msg/sec AtomicQueue, 5,s: 8,039,870 msg/sec AtomicQueue, 5,i: 8,078,532 msg/sec AtomicQueue, 6,s: 7,804,102 msg/sec AtomicQueue, 6,i: 7,626,923 msg/sec AtomicQueue, 7,s: 7,064,764 msg/sec AtomicQueue, 7,i: 7,966,803 msg/sec AtomicQueue, 8,s: 6,357,979 msg/sec AtomicQueue, 8,i: 7,451,488 msg/sec AtomicQueueB, 1,s: 45,608,799 msg/sec AtomicQueueB, 1,i: 42,997,751 msg/sec AtomicQueueB, 2,s: 11,780,283 msg/sec AtomicQueueB, 2,i: 11,482,108 msg/sec AtomicQueueB, 3,s: 11,056,373 msg/sec AtomicQueueB, 3,i: 10,206,351 msg/sec AtomicQueueB, 4,s: 8,067,825 msg/sec AtomicQueueB, 4,i: 8,067,220 msg/sec AtomicQueueB, 5,s: 7,560,867 msg/sec AtomicQueueB, 5,i: 7,752,348 msg/sec AtomicQueueB, 6,s: 7,420,909 msg/sec AtomicQueueB, 6,i: 7,521,851 msg/sec AtomicQueueB, 7,s: 6,980,978 msg/sec AtomicQueueB, 7,i: 7,723,389 msg/sec AtomicQueueB, 8,s: 6,226,920 msg/sec AtomicQueueB, 8,i: 7,194,747 msg/sec OptimistAtomicQueue, 1,s: 686,851,161 msg/sec OptimistAtomicQueue, 1,i: 532,033,044 msg/sec OptimistAtomicQueue, 2,s: 32,622,176 msg/sec OptimistAtomicQueue, 2,i: 32,711,319 msg/sec OptimistAtomicQueue, 3,s: 36,680,928 msg/sec OptimistAtomicQueue, 3,i: 37,409,358 msg/sec OptimistAtomicQueue, 4,s: 39,284,914 msg/sec OptimistAtomicQueue, 4,i: 39,363,364 msg/sec OptimistAtomicQueue, 5,s: 42,613,584 msg/sec OptimistAtomicQueue, 5,i: 47,455,337 msg/sec OptimistAtomicQueue, 6,s: 42,644,851 msg/sec OptimistAtomicQueue, 6,i: 49,824,246 msg/sec OptimistAtomicQueue, 7,s: 44,123,770 msg/sec OptimistAtomicQueue, 7,i: 52,994,038 msg/sec OptimistAtomicQueue, 8,s: 46,510,019 msg/sec OptimistAtomicQueue, 8,i: 49,200,255 msg/sec OptimistAtomicQueueB, 1,s: 84,192,941 msg/sec OptimistAtomicQueueB, 1,i: 76,653,975 msg/sec OptimistAtomicQueueB, 2,s: 32,240,720 msg/sec OptimistAtomicQueueB, 2,i: 31,539,956 msg/sec OptimistAtomicQueueB, 3,s: 36,243,956 msg/sec OptimistAtomicQueueB, 3,i: 36,878,371 msg/sec OptimistAtomicQueueB, 4,s: 38,725,431 msg/sec OptimistAtomicQueueB, 4,i: 38,705,441 msg/sec OptimistAtomicQueueB, 5,s: 40,316,744 msg/sec OptimistAtomicQueueB, 5,i: 46,195,937 msg/sec OptimistAtomicQueueB, 6,s: 40,807,666 msg/sec OptimistAtomicQueueB, 6,i: 48,714,882 msg/sec OptimistAtomicQueueB, 7,s: 41,971,198 msg/sec OptimistAtomicQueueB, 7,i: 51,583,637 msg/sec OptimistAtomicQueueB, 8,s: 44,084,789 msg/sec OptimistAtomicQueueB, 8,i: 48,523,841 msg/sec AtomicQueue2, 1,s: 22,838,774 msg/sec AtomicQueue2, 1,i: 22,905,132 msg/sec AtomicQueue2, 2,s: 11,795,694 msg/sec AtomicQueue2, 2,i: 11,322,974 msg/sec AtomicQueue2, 3,s: 9,996,610 msg/sec AtomicQueue2, 3,i: 9,398,713 msg/sec AtomicQueue2, 4,s: 8,038,154 msg/sec AtomicQueue2, 4,i: 8,112,892 msg/sec AtomicQueue2, 5,s: 7,891,865 msg/sec AtomicQueue2, 5,i: 8,008,920 msg/sec AtomicQueue2, 6,s: 7,854,294 msg/sec AtomicQueue2, 6,i: 7,525,199 msg/sec AtomicQueue2, 7,s: 7,125,145 msg/sec AtomicQueue2, 7,i: 7,875,937 msg/sec AtomicQueue2, 8,s: 6,387,494 msg/sec AtomicQueue2, 8,i: 7,359,482 msg/sec AtomicQueueB2, 1,s: 36,052,549 msg/sec AtomicQueueB2, 1,i: 32,614,949 msg/sec AtomicQueueB2, 2,s: 11,450,184 msg/sec AtomicQueueB2, 2,i: 11,110,581 msg/sec AtomicQueueB2, 3,s: 9,582,247 msg/sec AtomicQueueB2, 3,i: 9,539,300 msg/sec AtomicQueueB2, 4,s: 7,947,010 msg/sec AtomicQueueB2, 4,i: 7,769,303 msg/sec AtomicQueueB2, 5,s: 7,435,349 msg/sec AtomicQueueB2, 5,i: 7,728,380 msg/sec AtomicQueueB2, 6,s: 7,325,861 msg/sec AtomicQueueB2, 6,i: 7,437,948 msg/sec AtomicQueueB2, 7,s: 6,882,069 msg/sec AtomicQueueB2, 7,i: 7,684,908 msg/sec AtomicQueueB2, 8,s: 6,294,784 msg/sec AtomicQueueB2, 8,i: 7,069,207 msg/sec OptimistAtomicQueue2, 1,s: 32,864,122 msg/sec OptimistAtomicQueue2, 1,i: 102,456,549 msg/sec OptimistAtomicQueue2, 2,s: 28,142,065 msg/sec OptimistAtomicQueue2, 2,i: 24,162,703 msg/sec OptimistAtomicQueue2, 3,s: 30,323,880 msg/sec OptimistAtomicQueue2, 3,i: 29,959,852 msg/sec OptimistAtomicQueue2, 4,s: 33,244,663 msg/sec OptimistAtomicQueue2, 4,i: 33,272,438 msg/sec OptimistAtomicQueue2, 5,s: 37,219,065 msg/sec OptimistAtomicQueue2, 5,i: 40,203,944 msg/sec OptimistAtomicQueue2, 6,s: 40,429,585 msg/sec OptimistAtomicQueue2, 6,i: 49,336,846 msg/sec OptimistAtomicQueue2, 7,s: 43,226,965 msg/sec OptimistAtomicQueue2, 7,i: 51,601,657 msg/sec OptimistAtomicQueue2, 8,s: 43,944,274 msg/sec OptimistAtomicQueue2, 8,i: 49,615,784 msg/sec OptimistAtomicQueueB2, 1,s: 75,799,295 msg/sec OptimistAtomicQueueB2, 1,i: 33,944,911 msg/sec OptimistAtomicQueueB2, 2,s: 27,822,863 msg/sec OptimistAtomicQueueB2, 2,i: 25,498,259 msg/sec OptimistAtomicQueueB2, 3,s: 29,671,022 msg/sec OptimistAtomicQueueB2, 3,i: 29,120,320 msg/sec OptimistAtomicQueueB2, 4,s: 33,305,073 msg/sec OptimistAtomicQueueB2, 4,i: 32,006,441 msg/sec OptimistAtomicQueueB2, 5,s: 34,685,134 msg/sec OptimistAtomicQueueB2, 5,i: 39,495,388 msg/sec OptimistAtomicQueueB2, 6,s: 37,259,469 msg/sec OptimistAtomicQueueB2, 6,i: 42,210,468 msg/sec OptimistAtomicQueueB2, 7,s: 40,158,469 msg/sec OptimistAtomicQueueB2, 7,i: 45,293,254 msg/sec OptimistAtomicQueueB2, 8,s: 42,165,902 msg/sec OptimistAtomicQueueB2, 8,i: 45,907,705 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000129 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000236 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000259 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [117] 327m:0s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,267,665 msg/sec boost::lockfree::spsc_queue, 1,i: 70,280,385 msg/sec boost::lockfree::queue, 1,s: 7,981,464 msg/sec boost::lockfree::queue, 1,i: 8,001,176 msg/sec boost::lockfree::queue, 2,s: 7,600,431 msg/sec boost::lockfree::queue, 2,i: 7,666,477 msg/sec boost::lockfree::queue, 3,s: 7,538,063 msg/sec boost::lockfree::queue, 3,i: 7,565,406 msg/sec boost::lockfree::queue, 4,s: 6,421,851 msg/sec boost::lockfree::queue, 4,i: 6,850,539 msg/sec boost::lockfree::queue, 5,s: 6,374,821 msg/sec boost::lockfree::queue, 5,i: 6,492,288 msg/sec boost::lockfree::queue, 6,s: 5,986,424 msg/sec boost::lockfree::queue, 6,i: 6,092,528 msg/sec boost::lockfree::queue, 7,s: 6,031,206 msg/sec boost::lockfree::queue, 7,i: 6,024,651 msg/sec boost::lockfree::queue, 8,s: 5,440,773 msg/sec boost::lockfree::queue, 8,i: 5,601,811 msg/sec moodycamel::ReaderWriterQueue, 1,s: 370,440,205 msg/sec moodycamel::ReaderWriterQueue, 1,i: 519,165,918 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,323,610 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,902,416 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,146,481 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,867,986 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,958,245 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,978,655 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,153,717 msg/sec moodycamel::ConcurrentQueue, 4,i: 31,205,071 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,317,381 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,660,666 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,587,057 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,493,212 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,971,630 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,851,477 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,299,327 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,342,237 msg/sec pthread_spinlock, 1,s: 28,695,698 msg/sec pthread_spinlock, 1,i: 25,407,104 msg/sec pthread_spinlock, 2,s: 15,938,115 msg/sec pthread_spinlock, 2,i: 17,085,044 msg/sec pthread_spinlock, 3,s: 8,338,649 msg/sec pthread_spinlock, 3,i: 11,995,492 msg/sec pthread_spinlock, 4,s: 6,484,472 msg/sec pthread_spinlock, 4,i: 9,221,150 msg/sec pthread_spinlock, 5,s: 8,638,145 msg/sec pthread_spinlock, 5,i: 9,078,945 msg/sec pthread_spinlock, 6,s: 8,311,578 msg/sec pthread_spinlock, 6,i: 8,449,030 msg/sec pthread_spinlock, 7,s: 7,947,691 msg/sec pthread_spinlock, 7,i: 7,717,800 msg/sec pthread_spinlock, 8,s: 6,640,630 msg/sec pthread_spinlock, 8,i: 7,340,992 msg/sec std::mutex, 1,s: 5,864,196 msg/sec std::mutex, 1,i: 6,591,504 msg/sec std::mutex, 2,s: 5,671,337 msg/sec std::mutex, 2,i: 6,144,545 msg/sec std::mutex, 3,s: 6,090,569 msg/sec std::mutex, 3,i: 6,273,234 msg/sec std::mutex, 4,s: 6,240,116 msg/sec std::mutex, 4,i: 6,359,433 msg/sec std::mutex, 5,s: 6,184,165 msg/sec std::mutex, 5,i: 6,304,138 msg/sec std::mutex, 6,s: 6,024,332 msg/sec std::mutex, 6,i: 6,037,902 msg/sec std::mutex, 7,s: 5,878,830 msg/sec std::mutex, 7,i: 5,901,445 msg/sec std::mutex, 8,s: 5,739,883 msg/sec std::mutex, 8,i: 5,761,306 msg/sec tbb::spin_mutex, 1,s: 37,766,898 msg/sec tbb::spin_mutex, 1,i: 33,359,258 msg/sec tbb::spin_mutex, 2,s: 20,917,599 msg/sec tbb::spin_mutex, 2,i: 18,365,740 msg/sec tbb::spin_mutex, 3,s: 8,086,790 msg/sec tbb::spin_mutex, 3,i: 10,162,955 msg/sec tbb::spin_mutex, 4,s: 3,274,448 msg/sec tbb::spin_mutex, 4,i: 6,301,741 msg/sec tbb::spin_mutex, 5,s: 5,373,073 msg/sec tbb::spin_mutex, 5,i: 5,824,083 msg/sec tbb::spin_mutex, 6,s: 5,412,128 msg/sec tbb::spin_mutex, 6,i: 4,387,962 msg/sec tbb::spin_mutex, 7,s: 4,854,223 msg/sec tbb::spin_mutex, 7,i: 4,336,849 msg/sec tbb::spin_mutex, 8,s: 4,228,037 msg/sec tbb::spin_mutex, 8,i: 4,135,485 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,990,642 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,122,657 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,580,530 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,278,476 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,349,024 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,824,262 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,431,565 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,213,468 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,642,468 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,716,781 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,774,227 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,002,919 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,937,645 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,956,655 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,892,740 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,135,917 msg/sec xenium::michael_scott_queue, 1,s: 9,366,805 msg/sec xenium::michael_scott_queue, 1,i: 9,302,603 msg/sec xenium::michael_scott_queue, 2,s: 8,511,927 msg/sec xenium::michael_scott_queue, 2,i: 8,510,095 msg/sec xenium::michael_scott_queue, 3,s: 7,150,001 msg/sec xenium::michael_scott_queue, 3,i: 7,567,542 msg/sec xenium::michael_scott_queue, 4,s: 6,296,880 msg/sec xenium::michael_scott_queue, 4,i: 6,343,262 msg/sec xenium::michael_scott_queue, 5,s: 6,323,296 msg/sec xenium::michael_scott_queue, 5,i: 6,706,628 msg/sec xenium::michael_scott_queue, 6,s: 6,505,774 msg/sec xenium::michael_scott_queue, 6,i: 6,753,337 msg/sec xenium::michael_scott_queue, 7,s: 6,279,336 msg/sec xenium::michael_scott_queue, 7,i: 6,415,043 msg/sec xenium::michael_scott_queue, 8,s: 6,008,196 msg/sec xenium::michael_scott_queue, 8,i: 6,088,687 msg/sec xenium::ramalhete_queue, 1,s: 32,218,438 msg/sec xenium::ramalhete_queue, 1,i: 32,663,089 msg/sec xenium::ramalhete_queue, 2,s: 23,541,919 msg/sec xenium::ramalhete_queue, 2,i: 23,426,274 msg/sec xenium::ramalhete_queue, 3,s: 29,169,436 msg/sec xenium::ramalhete_queue, 3,i: 28,536,866 msg/sec xenium::ramalhete_queue, 4,s: 33,853,171 msg/sec xenium::ramalhete_queue, 4,i: 33,444,698 msg/sec xenium::ramalhete_queue, 5,s: 32,335,337 msg/sec xenium::ramalhete_queue, 5,i: 37,525,570 msg/sec xenium::ramalhete_queue, 6,s: 33,975,165 msg/sec xenium::ramalhete_queue, 6,i: 38,839,391 msg/sec xenium::ramalhete_queue, 7,s: 34,793,633 msg/sec xenium::ramalhete_queue, 7,i: 41,174,770 msg/sec xenium::ramalhete_queue, 8,s: 35,485,029 msg/sec xenium::ramalhete_queue, 8,i: 43,659,510 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,172,060 msg/sec xenium::vyukov_bounded_queue, 1,i: 108,066,940 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,434,423 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,611,456 msg/sec xenium::vyukov_bounded_queue, 3,s: 14,958,124 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,913,299 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,646,268 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,263,879 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,747,343 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,273,591 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,151,226 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,407,042 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,320,249 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,127,705 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,414,383 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,240,262 msg/sec AtomicQueue, 1,s: 244,642,931 msg/sec AtomicQueue, 1,i: 56,793,862 msg/sec AtomicQueue, 2,s: 12,249,575 msg/sec AtomicQueue, 2,i: 11,725,305 msg/sec AtomicQueue, 3,s: 10,731,726 msg/sec AtomicQueue, 3,i: 9,865,488 msg/sec AtomicQueue, 4,s: 8,214,249 msg/sec AtomicQueue, 4,i: 8,192,864 msg/sec AtomicQueue, 5,s: 8,055,359 msg/sec AtomicQueue, 5,i: 8,069,074 msg/sec AtomicQueue, 6,s: 7,832,603 msg/sec AtomicQueue, 6,i: 7,587,795 msg/sec AtomicQueue, 7,s: 7,150,783 msg/sec AtomicQueue, 7,i: 7,978,282 msg/sec AtomicQueue, 8,s: 6,341,624 msg/sec AtomicQueue, 8,i: 7,446,160 msg/sec AtomicQueueB, 1,s: 45,350,425 msg/sec AtomicQueueB, 1,i: 43,971,441 msg/sec AtomicQueueB, 2,s: 12,015,986 msg/sec AtomicQueueB, 2,i: 11,471,470 msg/sec AtomicQueueB, 3,s: 11,059,191 msg/sec AtomicQueueB, 3,i: 10,241,008 msg/sec AtomicQueueB, 4,s: 8,044,447 msg/sec AtomicQueueB, 4,i: 8,111,461 msg/sec AtomicQueueB, 5,s: 7,629,289 msg/sec AtomicQueueB, 5,i: 7,767,801 msg/sec AtomicQueueB, 6,s: 7,371,084 msg/sec AtomicQueueB, 6,i: 7,492,912 msg/sec AtomicQueueB, 7,s: 6,871,549 msg/sec AtomicQueueB, 7,i: 7,726,648 msg/sec AtomicQueueB, 8,s: 6,281,586 msg/sec AtomicQueueB, 8,i: 6,950,185 msg/sec OptimistAtomicQueue, 1,s: 731,777,148 msg/sec OptimistAtomicQueue, 1,i: 627,905,830 msg/sec OptimistAtomicQueue, 2,s: 32,646,321 msg/sec OptimistAtomicQueue, 2,i: 32,716,941 msg/sec OptimistAtomicQueue, 3,s: 36,658,161 msg/sec OptimistAtomicQueue, 3,i: 37,395,700 msg/sec OptimistAtomicQueue, 4,s: 39,272,690 msg/sec OptimistAtomicQueue, 4,i: 39,424,547 msg/sec OptimistAtomicQueue, 5,s: 42,351,928 msg/sec OptimistAtomicQueue, 5,i: 47,353,774 msg/sec OptimistAtomicQueue, 6,s: 42,755,485 msg/sec OptimistAtomicQueue, 6,i: 50,424,978 msg/sec OptimistAtomicQueue, 7,s: 44,441,523 msg/sec OptimistAtomicQueue, 7,i: 52,709,767 msg/sec OptimistAtomicQueue, 8,s: 46,513,586 msg/sec OptimistAtomicQueue, 8,i: 50,025,306 msg/sec OptimistAtomicQueueB, 1,s: 96,109,908 msg/sec OptimistAtomicQueueB, 1,i: 76,613,286 msg/sec OptimistAtomicQueueB, 2,s: 31,715,309 msg/sec OptimistAtomicQueueB, 2,i: 32,108,175 msg/sec OptimistAtomicQueueB, 3,s: 36,233,203 msg/sec OptimistAtomicQueueB, 3,i: 36,881,320 msg/sec OptimistAtomicQueueB, 4,s: 38,645,263 msg/sec OptimistAtomicQueueB, 4,i: 38,633,522 msg/sec OptimistAtomicQueueB, 5,s: 41,040,611 msg/sec OptimistAtomicQueueB, 5,i: 45,361,357 msg/sec OptimistAtomicQueueB, 6,s: 40,513,567 msg/sec OptimistAtomicQueueB, 6,i: 48,560,970 msg/sec OptimistAtomicQueueB, 7,s: 42,088,586 msg/sec OptimistAtomicQueueB, 7,i: 48,078,510 msg/sec OptimistAtomicQueueB, 8,s: 44,172,276 msg/sec OptimistAtomicQueueB, 8,i: 47,854,773 msg/sec AtomicQueue2, 1,s: 22,891,503 msg/sec AtomicQueue2, 1,i: 22,828,785 msg/sec AtomicQueue2, 2,s: 11,922,797 msg/sec AtomicQueue2, 2,i: 11,374,614 msg/sec AtomicQueue2, 3,s: 9,623,853 msg/sec AtomicQueue2, 3,i: 9,342,588 msg/sec AtomicQueue2, 4,s: 8,081,817 msg/sec AtomicQueue2, 4,i: 8,074,905 msg/sec AtomicQueue2, 5,s: 7,931,395 msg/sec AtomicQueue2, 5,i: 8,060,926 msg/sec AtomicQueue2, 6,s: 7,734,081 msg/sec AtomicQueue2, 6,i: 7,534,645 msg/sec AtomicQueue2, 7,s: 7,117,334 msg/sec AtomicQueue2, 7,i: 7,896,388 msg/sec AtomicQueue2, 8,s: 6,396,775 msg/sec AtomicQueue2, 8,i: 7,347,803 msg/sec AtomicQueueB2, 1,s: 32,691,961 msg/sec AtomicQueueB2, 1,i: 35,537,252 msg/sec AtomicQueueB2, 2,s: 11,444,820 msg/sec AtomicQueueB2, 2,i: 11,090,096 msg/sec AtomicQueueB2, 3,s: 9,602,530 msg/sec AtomicQueueB2, 3,i: 9,569,456 msg/sec AtomicQueueB2, 4,s: 7,937,595 msg/sec AtomicQueueB2, 4,i: 7,744,307 msg/sec AtomicQueueB2, 5,s: 7,508,185 msg/sec AtomicQueueB2, 5,i: 7,630,018 msg/sec AtomicQueueB2, 6,s: 7,339,259 msg/sec AtomicQueueB2, 6,i: 7,439,472 msg/sec AtomicQueueB2, 7,s: 6,935,423 msg/sec AtomicQueueB2, 7,i: 7,685,177 msg/sec AtomicQueueB2, 8,s: 6,363,052 msg/sec AtomicQueueB2, 8,i: 7,047,894 msg/sec OptimistAtomicQueue2, 1,s: 406,546,124 msg/sec OptimistAtomicQueue2, 1,i: 118,751,514 msg/sec OptimistAtomicQueue2, 2,s: 25,449,468 msg/sec OptimistAtomicQueue2, 2,i: 24,016,382 msg/sec OptimistAtomicQueue2, 3,s: 30,415,667 msg/sec OptimistAtomicQueue2, 3,i: 29,943,740 msg/sec OptimistAtomicQueue2, 4,s: 33,212,892 msg/sec OptimistAtomicQueue2, 4,i: 33,182,421 msg/sec OptimistAtomicQueue2, 5,s: 37,267,767 msg/sec OptimistAtomicQueue2, 5,i: 40,288,073 msg/sec OptimistAtomicQueue2, 6,s: 40,302,200 msg/sec OptimistAtomicQueue2, 6,i: 49,140,195 msg/sec OptimistAtomicQueue2, 7,s: 43,209,453 msg/sec OptimistAtomicQueue2, 7,i: 48,049,138 msg/sec OptimistAtomicQueue2, 8,s: 44,133,368 msg/sec OptimistAtomicQueue2, 8,i: 48,445,315 msg/sec OptimistAtomicQueueB2, 1,s: 76,114,912 msg/sec OptimistAtomicQueueB2, 1,i: 51,849,666 msg/sec OptimistAtomicQueueB2, 2,s: 26,919,394 msg/sec OptimistAtomicQueueB2, 2,i: 23,188,285 msg/sec OptimistAtomicQueueB2, 3,s: 29,703,412 msg/sec OptimistAtomicQueueB2, 3,i: 30,014,803 msg/sec OptimistAtomicQueueB2, 4,s: 33,069,927 msg/sec OptimistAtomicQueueB2, 4,i: 32,672,125 msg/sec OptimistAtomicQueueB2, 5,s: 34,712,804 msg/sec OptimistAtomicQueueB2, 5,i: 39,150,870 msg/sec OptimistAtomicQueueB2, 6,s: 37,828,416 msg/sec OptimistAtomicQueueB2, 6,i: 42,471,803 msg/sec OptimistAtomicQueueB2, 7,s: 40,090,038 msg/sec OptimistAtomicQueueB2, 7,i: 45,567,639 msg/sec OptimistAtomicQueueB2, 8,s: 42,460,308 msg/sec OptimistAtomicQueueB2, 8,i: 45,251,912 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000158 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000276 sec/round-trip std::mutex: 0.000000512 sec/round-trip tbb::spin_mutex: 0.000000307 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000273 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [118] 325m:41s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,857,063 msg/sec boost::lockfree::spsc_queue, 1,i: 71,096,559 msg/sec boost::lockfree::queue, 1,s: 7,918,841 msg/sec boost::lockfree::queue, 1,i: 6,944,930 msg/sec boost::lockfree::queue, 2,s: 7,572,248 msg/sec boost::lockfree::queue, 2,i: 7,622,389 msg/sec boost::lockfree::queue, 3,s: 7,416,420 msg/sec boost::lockfree::queue, 3,i: 7,601,712 msg/sec boost::lockfree::queue, 4,s: 6,420,728 msg/sec boost::lockfree::queue, 4,i: 6,837,883 msg/sec boost::lockfree::queue, 5,s: 6,404,598 msg/sec boost::lockfree::queue, 5,i: 6,471,641 msg/sec boost::lockfree::queue, 6,s: 5,963,109 msg/sec boost::lockfree::queue, 6,i: 6,095,345 msg/sec boost::lockfree::queue, 7,s: 5,886,712 msg/sec boost::lockfree::queue, 7,i: 6,020,018 msg/sec boost::lockfree::queue, 8,s: 5,453,386 msg/sec boost::lockfree::queue, 8,i: 5,616,746 msg/sec moodycamel::ReaderWriterQueue, 1,s: 512,951,446 msg/sec moodycamel::ReaderWriterQueue, 1,i: 514,159,502 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,853,326 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,773,067 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,793,758 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,747,403 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,543,995 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,849,908 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,500,134 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,518,676 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,085,730 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,794,162 msg/sec moodycamel::ConcurrentQueue, 6,s: 30,831,369 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,815,845 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,966,228 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,292,866 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,232,753 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,228,163 msg/sec pthread_spinlock, 1,s: 28,964,959 msg/sec pthread_spinlock, 1,i: 25,354,241 msg/sec pthread_spinlock, 2,s: 15,606,660 msg/sec pthread_spinlock, 2,i: 17,052,643 msg/sec pthread_spinlock, 3,s: 8,344,965 msg/sec pthread_spinlock, 3,i: 11,925,133 msg/sec pthread_spinlock, 4,s: 6,517,648 msg/sec pthread_spinlock, 4,i: 9,278,325 msg/sec pthread_spinlock, 5,s: 8,658,493 msg/sec pthread_spinlock, 5,i: 9,433,488 msg/sec pthread_spinlock, 6,s: 8,297,268 msg/sec pthread_spinlock, 6,i: 8,434,181 msg/sec pthread_spinlock, 7,s: 7,508,382 msg/sec pthread_spinlock, 7,i: 7,735,943 msg/sec pthread_spinlock, 8,s: 6,894,959 msg/sec pthread_spinlock, 8,i: 6,947,270 msg/sec std::mutex, 1,s: 7,133,306 msg/sec std::mutex, 1,i: 6,978,449 msg/sec std::mutex, 2,s: 4,844,650 msg/sec std::mutex, 2,i: 5,602,213 msg/sec std::mutex, 3,s: 5,413,839 msg/sec std::mutex, 3,i: 5,051,121 msg/sec std::mutex, 4,s: 5,713,532 msg/sec std::mutex, 4,i: 5,999,658 msg/sec std::mutex, 5,s: 6,145,103 msg/sec std::mutex, 5,i: 5,915,598 msg/sec std::mutex, 6,s: 6,163,244 msg/sec std::mutex, 6,i: 6,015,858 msg/sec std::mutex, 7,s: 5,940,523 msg/sec std::mutex, 7,i: 5,927,626 msg/sec std::mutex, 8,s: 5,770,414 msg/sec std::mutex, 8,i: 5,775,654 msg/sec tbb::spin_mutex, 1,s: 37,877,623 msg/sec tbb::spin_mutex, 1,i: 33,215,376 msg/sec tbb::spin_mutex, 2,s: 21,039,067 msg/sec tbb::spin_mutex, 2,i: 18,286,191 msg/sec tbb::spin_mutex, 3,s: 7,991,595 msg/sec tbb::spin_mutex, 3,i: 10,838,006 msg/sec tbb::spin_mutex, 4,s: 3,102,890 msg/sec tbb::spin_mutex, 4,i: 6,343,153 msg/sec tbb::spin_mutex, 5,s: 5,529,518 msg/sec tbb::spin_mutex, 5,i: 5,886,465 msg/sec tbb::spin_mutex, 6,s: 5,411,899 msg/sec tbb::spin_mutex, 6,i: 4,395,549 msg/sec tbb::spin_mutex, 7,s: 4,867,645 msg/sec tbb::spin_mutex, 7,i: 4,319,640 msg/sec tbb::spin_mutex, 8,s: 4,271,260 msg/sec tbb::spin_mutex, 8,i: 4,061,587 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,324,813 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,314,645 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,117,277 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,163,831 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,526,540 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,617,946 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,982,281 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,346,175 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,645,106 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,582,094 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,799,396 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,709,479 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,905,342 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,047,640 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,839,246 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,415,937 msg/sec xenium::michael_scott_queue, 1,s: 9,252,441 msg/sec xenium::michael_scott_queue, 1,i: 9,529,530 msg/sec xenium::michael_scott_queue, 2,s: 8,370,647 msg/sec xenium::michael_scott_queue, 2,i: 8,573,441 msg/sec xenium::michael_scott_queue, 3,s: 7,244,328 msg/sec xenium::michael_scott_queue, 3,i: 7,592,823 msg/sec xenium::michael_scott_queue, 4,s: 6,206,920 msg/sec xenium::michael_scott_queue, 4,i: 6,304,231 msg/sec xenium::michael_scott_queue, 5,s: 6,300,089 msg/sec xenium::michael_scott_queue, 5,i: 6,766,691 msg/sec xenium::michael_scott_queue, 6,s: 6,513,872 msg/sec xenium::michael_scott_queue, 6,i: 6,741,401 msg/sec xenium::michael_scott_queue, 7,s: 6,293,161 msg/sec xenium::michael_scott_queue, 7,i: 6,721,189 msg/sec xenium::michael_scott_queue, 8,s: 5,978,139 msg/sec xenium::michael_scott_queue, 8,i: 6,050,353 msg/sec xenium::ramalhete_queue, 1,s: 32,384,252 msg/sec xenium::ramalhete_queue, 1,i: 32,606,301 msg/sec xenium::ramalhete_queue, 2,s: 23,600,819 msg/sec xenium::ramalhete_queue, 2,i: 23,394,488 msg/sec xenium::ramalhete_queue, 3,s: 29,166,394 msg/sec xenium::ramalhete_queue, 3,i: 28,423,475 msg/sec xenium::ramalhete_queue, 4,s: 33,954,784 msg/sec xenium::ramalhete_queue, 4,i: 33,483,175 msg/sec xenium::ramalhete_queue, 5,s: 32,280,579 msg/sec xenium::ramalhete_queue, 5,i: 36,077,199 msg/sec xenium::ramalhete_queue, 6,s: 34,146,847 msg/sec xenium::ramalhete_queue, 6,i: 38,723,525 msg/sec xenium::ramalhete_queue, 7,s: 35,133,940 msg/sec xenium::ramalhete_queue, 7,i: 40,971,341 msg/sec xenium::ramalhete_queue, 8,s: 35,556,824 msg/sec xenium::ramalhete_queue, 8,i: 44,139,618 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,505,630 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,669,448 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,474,416 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,558,235 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,730,873 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,908,361 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,500,236 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,401,134 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,853,545 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,238,399 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,901,904 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,619,049 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,197,566 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,378,424 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,675 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,320,575 msg/sec AtomicQueue, 1,s: 60,884,945 msg/sec AtomicQueue, 1,i: 57,008,383 msg/sec AtomicQueue, 2,s: 12,284,644 msg/sec AtomicQueue, 2,i: 11,743,234 msg/sec AtomicQueue, 3,s: 10,806,762 msg/sec AtomicQueue, 3,i: 9,876,074 msg/sec AtomicQueue, 4,s: 8,190,797 msg/sec AtomicQueue, 4,i: 8,199,375 msg/sec AtomicQueue, 5,s: 8,036,978 msg/sec AtomicQueue, 5,i: 8,094,176 msg/sec AtomicQueue, 6,s: 7,714,666 msg/sec AtomicQueue, 6,i: 7,617,298 msg/sec AtomicQueue, 7,s: 7,090,229 msg/sec AtomicQueue, 7,i: 7,978,787 msg/sec AtomicQueue, 8,s: 6,340,701 msg/sec AtomicQueue, 8,i: 7,465,068 msg/sec AtomicQueueB, 1,s: 79,465,221 msg/sec AtomicQueueB, 1,i: 43,530,041 msg/sec AtomicQueueB, 2,s: 11,806,383 msg/sec AtomicQueueB, 2,i: 11,535,403 msg/sec AtomicQueueB, 3,s: 10,853,453 msg/sec AtomicQueueB, 3,i: 10,114,726 msg/sec AtomicQueueB, 4,s: 8,062,501 msg/sec AtomicQueueB, 4,i: 7,997,126 msg/sec AtomicQueueB, 5,s: 7,537,884 msg/sec AtomicQueueB, 5,i: 7,903,875 msg/sec AtomicQueueB, 6,s: 7,281,027 msg/sec AtomicQueueB, 6,i: 7,560,009 msg/sec AtomicQueueB, 7,s: 6,844,180 msg/sec AtomicQueueB, 7,i: 7,737,112 msg/sec AtomicQueueB, 8,s: 6,298,302 msg/sec AtomicQueueB, 8,i: 7,064,147 msg/sec OptimistAtomicQueue, 1,s: 719,123,489 msg/sec OptimistAtomicQueue, 1,i: 508,354,488 msg/sec OptimistAtomicQueue, 2,s: 32,643,998 msg/sec OptimistAtomicQueue, 2,i: 32,720,505 msg/sec OptimistAtomicQueue, 3,s: 36,693,095 msg/sec OptimistAtomicQueue, 3,i: 37,431,359 msg/sec OptimistAtomicQueue, 4,s: 39,275,699 msg/sec OptimistAtomicQueue, 4,i: 39,380,855 msg/sec OptimistAtomicQueue, 5,s: 37,390,896 msg/sec OptimistAtomicQueue, 5,i: 46,333,079 msg/sec OptimistAtomicQueue, 6,s: 42,034,484 msg/sec OptimistAtomicQueue, 6,i: 49,733,827 msg/sec OptimistAtomicQueue, 7,s: 44,880,648 msg/sec OptimistAtomicQueue, 7,i: 52,937,043 msg/sec OptimistAtomicQueue, 8,s: 46,468,880 msg/sec OptimistAtomicQueue, 8,i: 49,177,216 msg/sec OptimistAtomicQueueB, 1,s: 446,763,195 msg/sec OptimistAtomicQueueB, 1,i: 77,791,683 msg/sec OptimistAtomicQueueB, 2,s: 32,246,742 msg/sec OptimistAtomicQueueB, 2,i: 31,800,268 msg/sec OptimistAtomicQueueB, 3,s: 36,225,084 msg/sec OptimistAtomicQueueB, 3,i: 36,847,500 msg/sec OptimistAtomicQueueB, 4,s: 38,624,698 msg/sec OptimistAtomicQueueB, 4,i: 38,681,161 msg/sec OptimistAtomicQueueB, 5,s: 40,988,269 msg/sec OptimistAtomicQueueB, 5,i: 45,491,787 msg/sec OptimistAtomicQueueB, 6,s: 41,289,396 msg/sec OptimistAtomicQueueB, 6,i: 49,303,258 msg/sec OptimistAtomicQueueB, 7,s: 42,093,113 msg/sec OptimistAtomicQueueB, 7,i: 47,473,828 msg/sec OptimistAtomicQueueB, 8,s: 44,417,156 msg/sec OptimistAtomicQueueB, 8,i: 48,959,967 msg/sec AtomicQueue2, 1,s: 22,859,761 msg/sec AtomicQueue2, 1,i: 22,877,475 msg/sec AtomicQueue2, 2,s: 11,884,528 msg/sec AtomicQueue2, 2,i: 11,418,909 msg/sec AtomicQueue2, 3,s: 9,675,725 msg/sec AtomicQueue2, 3,i: 9,561,278 msg/sec AtomicQueue2, 4,s: 7,982,581 msg/sec AtomicQueue2, 4,i: 8,052,257 msg/sec AtomicQueue2, 5,s: 7,926,403 msg/sec AtomicQueue2, 5,i: 8,010,384 msg/sec AtomicQueue2, 6,s: 7,867,320 msg/sec AtomicQueue2, 6,i: 7,530,019 msg/sec AtomicQueue2, 7,s: 7,106,547 msg/sec AtomicQueue2, 7,i: 7,889,450 msg/sec AtomicQueue2, 8,s: 6,388,282 msg/sec AtomicQueue2, 8,i: 7,313,222 msg/sec AtomicQueueB2, 1,s: 36,127,681 msg/sec AtomicQueueB2, 1,i: 35,009,668 msg/sec AtomicQueueB2, 2,s: 11,440,160 msg/sec AtomicQueueB2, 2,i: 11,113,226 msg/sec AtomicQueueB2, 3,s: 9,568,291 msg/sec AtomicQueueB2, 3,i: 9,534,093 msg/sec AtomicQueueB2, 4,s: 7,938,253 msg/sec AtomicQueueB2, 4,i: 7,924,316 msg/sec AtomicQueueB2, 5,s: 7,412,445 msg/sec AtomicQueueB2, 5,i: 7,720,468 msg/sec AtomicQueueB2, 6,s: 7,250,454 msg/sec AtomicQueueB2, 6,i: 7,417,706 msg/sec AtomicQueueB2, 7,s: 6,872,219 msg/sec AtomicQueueB2, 7,i: 7,723,781 msg/sec AtomicQueueB2, 8,s: 6,348,385 msg/sec AtomicQueueB2, 8,i: 7,096,526 msg/sec OptimistAtomicQueue2, 1,s: 419,045,623 msg/sec OptimistAtomicQueue2, 1,i: 30,019,830 msg/sec OptimistAtomicQueue2, 2,s: 22,761,702 msg/sec OptimistAtomicQueue2, 2,i: 25,952,294 msg/sec OptimistAtomicQueue2, 3,s: 30,320,121 msg/sec OptimistAtomicQueue2, 3,i: 30,056,901 msg/sec OptimistAtomicQueue2, 4,s: 33,209,474 msg/sec OptimistAtomicQueue2, 4,i: 33,303,110 msg/sec OptimistAtomicQueue2, 5,s: 37,138,751 msg/sec OptimistAtomicQueue2, 5,i: 39,992,865 msg/sec OptimistAtomicQueue2, 6,s: 39,974,750 msg/sec OptimistAtomicQueue2, 6,i: 48,972,219 msg/sec OptimistAtomicQueue2, 7,s: 42,966,498 msg/sec OptimistAtomicQueue2, 7,i: 51,477,279 msg/sec OptimistAtomicQueue2, 8,s: 44,566,703 msg/sec OptimistAtomicQueue2, 8,i: 48,306,505 msg/sec OptimistAtomicQueueB2, 1,s: 76,839,009 msg/sec OptimistAtomicQueueB2, 1,i: 33,878,154 msg/sec OptimistAtomicQueueB2, 2,s: 27,793,031 msg/sec OptimistAtomicQueueB2, 2,i: 25,102,025 msg/sec OptimistAtomicQueueB2, 3,s: 31,154,663 msg/sec OptimistAtomicQueueB2, 3,i: 29,186,667 msg/sec OptimistAtomicQueueB2, 4,s: 33,226,950 msg/sec OptimistAtomicQueueB2, 4,i: 32,798,519 msg/sec OptimistAtomicQueueB2, 5,s: 34,393,191 msg/sec OptimistAtomicQueueB2, 5,i: 39,272,051 msg/sec OptimistAtomicQueueB2, 6,s: 37,683,820 msg/sec OptimistAtomicQueueB2, 6,i: 42,427,863 msg/sec OptimistAtomicQueueB2, 7,s: 40,125,175 msg/sec OptimistAtomicQueueB2, 7,i: 43,129,136 msg/sec OptimistAtomicQueueB2, 8,s: 42,324,203 msg/sec OptimistAtomicQueueB2, 8,i: 45,743,552 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000328 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000241 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [119] 324m:22s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,780,834 msg/sec boost::lockfree::spsc_queue, 1,i: 67,729,395 msg/sec boost::lockfree::queue, 1,s: 6,947,220 msg/sec boost::lockfree::queue, 1,i: 6,848,170 msg/sec boost::lockfree::queue, 2,s: 7,667,258 msg/sec boost::lockfree::queue, 2,i: 7,533,506 msg/sec boost::lockfree::queue, 3,s: 7,577,856 msg/sec boost::lockfree::queue, 3,i: 7,571,220 msg/sec boost::lockfree::queue, 4,s: 6,413,710 msg/sec boost::lockfree::queue, 4,i: 6,739,257 msg/sec boost::lockfree::queue, 5,s: 6,452,165 msg/sec boost::lockfree::queue, 5,i: 6,455,802 msg/sec boost::lockfree::queue, 6,s: 6,012,688 msg/sec boost::lockfree::queue, 6,i: 6,103,973 msg/sec boost::lockfree::queue, 7,s: 5,904,842 msg/sec boost::lockfree::queue, 7,i: 5,887,461 msg/sec boost::lockfree::queue, 8,s: 5,471,009 msg/sec boost::lockfree::queue, 8,i: 5,569,014 msg/sec moodycamel::ReaderWriterQueue, 1,s: 453,048,387 msg/sec moodycamel::ReaderWriterQueue, 1,i: 452,870,861 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,716,532 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,671,314 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,849,871 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,178,243 msg/sec moodycamel::ConcurrentQueue, 3,s: 41,264,648 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,694,649 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,114,109 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,064,278 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,284,343 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,898,713 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,361,697 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,100,874 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,822,724 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,489,296 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,211,676 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,639,122 msg/sec pthread_spinlock, 1,s: 29,013,201 msg/sec pthread_spinlock, 1,i: 25,177,718 msg/sec pthread_spinlock, 2,s: 15,180,557 msg/sec pthread_spinlock, 2,i: 18,170,871 msg/sec pthread_spinlock, 3,s: 8,450,613 msg/sec pthread_spinlock, 3,i: 12,064,197 msg/sec pthread_spinlock, 4,s: 6,506,378 msg/sec pthread_spinlock, 4,i: 9,193,018 msg/sec pthread_spinlock, 5,s: 8,585,847 msg/sec pthread_spinlock, 5,i: 9,079,403 msg/sec pthread_spinlock, 6,s: 8,235,072 msg/sec pthread_spinlock, 6,i: 9,063,418 msg/sec pthread_spinlock, 7,s: 7,511,684 msg/sec pthread_spinlock, 7,i: 7,612,867 msg/sec pthread_spinlock, 8,s: 6,930,614 msg/sec pthread_spinlock, 8,i: 6,788,056 msg/sec std::mutex, 1,s: 6,692,698 msg/sec std::mutex, 1,i: 6,691,772 msg/sec std::mutex, 2,s: 6,278,913 msg/sec std::mutex, 2,i: 6,070,115 msg/sec std::mutex, 3,s: 5,357,181 msg/sec std::mutex, 3,i: 4,636,957 msg/sec std::mutex, 4,s: 6,236,246 msg/sec std::mutex, 4,i: 6,256,287 msg/sec std::mutex, 5,s: 5,954,365 msg/sec std::mutex, 5,i: 5,872,845 msg/sec std::mutex, 6,s: 5,820,160 msg/sec std::mutex, 6,i: 5,833,323 msg/sec std::mutex, 7,s: 5,786,778 msg/sec std::mutex, 7,i: 5,776,229 msg/sec std::mutex, 8,s: 5,712,242 msg/sec std::mutex, 8,i: 5,648,651 msg/sec tbb::spin_mutex, 1,s: 37,754,819 msg/sec tbb::spin_mutex, 1,i: 33,135,067 msg/sec tbb::spin_mutex, 2,s: 21,043,020 msg/sec tbb::spin_mutex, 2,i: 18,423,384 msg/sec tbb::spin_mutex, 3,s: 7,805,673 msg/sec tbb::spin_mutex, 3,i: 10,224,758 msg/sec tbb::spin_mutex, 4,s: 3,215,162 msg/sec tbb::spin_mutex, 4,i: 6,268,084 msg/sec tbb::spin_mutex, 5,s: 5,264,470 msg/sec tbb::spin_mutex, 5,i: 5,793,198 msg/sec tbb::spin_mutex, 6,s: 5,308,064 msg/sec tbb::spin_mutex, 6,i: 4,352,278 msg/sec tbb::spin_mutex, 7,s: 4,518,185 msg/sec tbb::spin_mutex, 7,i: 4,304,565 msg/sec tbb::spin_mutex, 8,s: 4,234,056 msg/sec tbb::spin_mutex, 8,i: 4,050,589 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,052,383 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,088,583 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,587,680 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,952,342 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,441,226 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,600,804 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,000,871 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,295,194 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,425,684 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,660,826 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,817,199 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,743,329 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,913,727 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,133,571 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,917,585 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,461,159 msg/sec xenium::michael_scott_queue, 1,s: 9,545,131 msg/sec xenium::michael_scott_queue, 1,i: 8,766,671 msg/sec xenium::michael_scott_queue, 2,s: 8,414,583 msg/sec xenium::michael_scott_queue, 2,i: 8,367,236 msg/sec xenium::michael_scott_queue, 3,s: 7,335,296 msg/sec xenium::michael_scott_queue, 3,i: 7,560,180 msg/sec xenium::michael_scott_queue, 4,s: 6,197,108 msg/sec xenium::michael_scott_queue, 4,i: 6,408,815 msg/sec xenium::michael_scott_queue, 5,s: 6,264,832 msg/sec xenium::michael_scott_queue, 5,i: 6,553,485 msg/sec xenium::michael_scott_queue, 6,s: 6,467,413 msg/sec xenium::michael_scott_queue, 6,i: 6,681,503 msg/sec xenium::michael_scott_queue, 7,s: 6,321,152 msg/sec xenium::michael_scott_queue, 7,i: 6,532,642 msg/sec xenium::michael_scott_queue, 8,s: 5,965,127 msg/sec xenium::michael_scott_queue, 8,i: 6,080,090 msg/sec xenium::ramalhete_queue, 1,s: 31,454,636 msg/sec xenium::ramalhete_queue, 1,i: 31,780,827 msg/sec xenium::ramalhete_queue, 2,s: 24,400,926 msg/sec xenium::ramalhete_queue, 2,i: 23,265,825 msg/sec xenium::ramalhete_queue, 3,s: 29,139,600 msg/sec xenium::ramalhete_queue, 3,i: 28,465,516 msg/sec xenium::ramalhete_queue, 4,s: 33,794,134 msg/sec xenium::ramalhete_queue, 4,i: 33,484,090 msg/sec xenium::ramalhete_queue, 5,s: 32,236,163 msg/sec xenium::ramalhete_queue, 5,i: 38,360,991 msg/sec xenium::ramalhete_queue, 6,s: 33,978,032 msg/sec xenium::ramalhete_queue, 6,i: 39,434,550 msg/sec xenium::ramalhete_queue, 7,s: 35,148,548 msg/sec xenium::ramalhete_queue, 7,i: 41,639,430 msg/sec xenium::ramalhete_queue, 8,s: 35,591,892 msg/sec xenium::ramalhete_queue, 8,i: 44,233,163 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,263,902 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,864,487 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,777,474 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,439,732 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,644,771 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,850,927 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,606,208 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,299,254 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,616,284 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,283,617 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,895,272 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,249,908 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,188,213 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,896,465 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,421,453 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,517,159 msg/sec AtomicQueue, 1,s: 59,896,803 msg/sec AtomicQueue, 1,i: 56,034,453 msg/sec AtomicQueue, 2,s: 12,346,557 msg/sec AtomicQueue, 2,i: 11,750,592 msg/sec AtomicQueue, 3,s: 10,772,780 msg/sec AtomicQueue, 3,i: 9,977,893 msg/sec AtomicQueue, 4,s: 8,190,574 msg/sec AtomicQueue, 4,i: 8,177,439 msg/sec AtomicQueue, 5,s: 8,027,988 msg/sec AtomicQueue, 5,i: 8,078,915 msg/sec AtomicQueue, 6,s: 7,781,647 msg/sec AtomicQueue, 6,i: 7,628,744 msg/sec AtomicQueue, 7,s: 7,115,222 msg/sec AtomicQueue, 7,i: 8,001,455 msg/sec AtomicQueue, 8,s: 6,340,266 msg/sec AtomicQueue, 8,i: 7,360,274 msg/sec AtomicQueueB, 1,s: 47,219,046 msg/sec AtomicQueueB, 1,i: 42,980,482 msg/sec AtomicQueueB, 2,s: 11,799,717 msg/sec AtomicQueueB, 2,i: 11,538,888 msg/sec AtomicQueueB, 3,s: 10,933,060 msg/sec AtomicQueueB, 3,i: 10,253,732 msg/sec AtomicQueueB, 4,s: 8,023,287 msg/sec AtomicQueueB, 4,i: 8,033,974 msg/sec AtomicQueueB, 5,s: 7,599,778 msg/sec AtomicQueueB, 5,i: 7,777,992 msg/sec AtomicQueueB, 6,s: 7,454,914 msg/sec AtomicQueueB, 6,i: 7,539,397 msg/sec AtomicQueueB, 7,s: 6,972,384 msg/sec AtomicQueueB, 7,i: 7,733,776 msg/sec AtomicQueueB, 8,s: 6,266,215 msg/sec AtomicQueueB, 8,i: 7,047,941 msg/sec OptimistAtomicQueue, 1,s: 825,220,555 msg/sec OptimistAtomicQueue, 1,i: 513,031,842 msg/sec OptimistAtomicQueue, 2,s: 32,655,708 msg/sec OptimistAtomicQueue, 2,i: 32,713,891 msg/sec OptimistAtomicQueue, 3,s: 36,677,574 msg/sec OptimistAtomicQueue, 3,i: 37,483,766 msg/sec OptimistAtomicQueue, 4,s: 39,252,362 msg/sec OptimistAtomicQueue, 4,i: 39,364,348 msg/sec OptimistAtomicQueue, 5,s: 41,719,588 msg/sec OptimistAtomicQueue, 5,i: 46,341,290 msg/sec OptimistAtomicQueue, 6,s: 42,414,271 msg/sec OptimistAtomicQueue, 6,i: 50,499,229 msg/sec OptimistAtomicQueue, 7,s: 45,293,257 msg/sec OptimistAtomicQueue, 7,i: 52,087,185 msg/sec OptimistAtomicQueue, 8,s: 46,546,450 msg/sec OptimistAtomicQueue, 8,i: 50,150,891 msg/sec OptimistAtomicQueueB, 1,s: 98,113,666 msg/sec OptimistAtomicQueueB, 1,i: 77,604,118 msg/sec OptimistAtomicQueueB, 2,s: 32,344,856 msg/sec OptimistAtomicQueueB, 2,i: 32,337,238 msg/sec OptimistAtomicQueueB, 3,s: 36,343,217 msg/sec OptimistAtomicQueueB, 3,i: 36,811,009 msg/sec OptimistAtomicQueueB, 4,s: 38,705,620 msg/sec OptimistAtomicQueueB, 4,i: 38,503,322 msg/sec OptimistAtomicQueueB, 5,s: 40,254,560 msg/sec OptimistAtomicQueueB, 5,i: 46,172,997 msg/sec OptimistAtomicQueueB, 6,s: 41,229,115 msg/sec OptimistAtomicQueueB, 6,i: 49,072,587 msg/sec OptimistAtomicQueueB, 7,s: 42,524,566 msg/sec OptimistAtomicQueueB, 7,i: 47,821,976 msg/sec OptimistAtomicQueueB, 8,s: 44,122,559 msg/sec OptimistAtomicQueueB, 8,i: 47,458,652 msg/sec AtomicQueue2, 1,s: 22,901,852 msg/sec AtomicQueue2, 1,i: 22,893,583 msg/sec AtomicQueue2, 2,s: 11,883,970 msg/sec AtomicQueue2, 2,i: 11,382,362 msg/sec AtomicQueue2, 3,s: 9,532,301 msg/sec AtomicQueue2, 3,i: 9,552,614 msg/sec AtomicQueue2, 4,s: 8,037,679 msg/sec AtomicQueue2, 4,i: 8,104,879 msg/sec AtomicQueue2, 5,s: 7,880,726 msg/sec AtomicQueue2, 5,i: 8,015,022 msg/sec AtomicQueue2, 6,s: 7,640,735 msg/sec AtomicQueue2, 6,i: 7,518,453 msg/sec AtomicQueue2, 7,s: 7,157,243 msg/sec AtomicQueue2, 7,i: 7,905,326 msg/sec AtomicQueue2, 8,s: 6,416,909 msg/sec AtomicQueue2, 8,i: 7,331,159 msg/sec AtomicQueueB2, 1,s: 35,212,175 msg/sec AtomicQueueB2, 1,i: 32,668,180 msg/sec AtomicQueueB2, 2,s: 11,491,922 msg/sec AtomicQueueB2, 2,i: 11,184,908 msg/sec AtomicQueueB2, 3,s: 9,650,196 msg/sec AtomicQueueB2, 3,i: 9,577,249 msg/sec AtomicQueueB2, 4,s: 7,995,559 msg/sec AtomicQueueB2, 4,i: 7,812,259 msg/sec AtomicQueueB2, 5,s: 7,539,985 msg/sec AtomicQueueB2, 5,i: 7,756,995 msg/sec AtomicQueueB2, 6,s: 7,267,044 msg/sec AtomicQueueB2, 6,i: 7,443,864 msg/sec AtomicQueueB2, 7,s: 6,820,052 msg/sec AtomicQueueB2, 7,i: 7,700,296 msg/sec AtomicQueueB2, 8,s: 6,261,422 msg/sec AtomicQueueB2, 8,i: 6,978,696 msg/sec OptimistAtomicQueue2, 1,s: 53,289,791 msg/sec OptimistAtomicQueue2, 1,i: 29,491,467 msg/sec OptimistAtomicQueue2, 2,s: 29,486,912 msg/sec OptimistAtomicQueue2, 2,i: 24,023,012 msg/sec OptimistAtomicQueue2, 3,s: 30,318,329 msg/sec OptimistAtomicQueue2, 3,i: 30,040,549 msg/sec OptimistAtomicQueue2, 4,s: 33,174,220 msg/sec OptimistAtomicQueue2, 4,i: 33,176,745 msg/sec OptimistAtomicQueue2, 5,s: 37,457,455 msg/sec OptimistAtomicQueue2, 5,i: 40,114,850 msg/sec OptimistAtomicQueue2, 6,s: 40,107,861 msg/sec OptimistAtomicQueue2, 6,i: 49,238,768 msg/sec OptimistAtomicQueue2, 7,s: 43,320,903 msg/sec OptimistAtomicQueue2, 7,i: 48,258,156 msg/sec OptimistAtomicQueue2, 8,s: 43,732,450 msg/sec OptimistAtomicQueue2, 8,i: 48,546,455 msg/sec OptimistAtomicQueueB2, 1,s: 77,995,986 msg/sec OptimistAtomicQueueB2, 1,i: 33,861,207 msg/sec OptimistAtomicQueueB2, 2,s: 27,145,759 msg/sec OptimistAtomicQueueB2, 2,i: 23,285,321 msg/sec OptimistAtomicQueueB2, 3,s: 29,758,703 msg/sec OptimistAtomicQueueB2, 3,i: 28,980,804 msg/sec OptimistAtomicQueueB2, 4,s: 33,236,230 msg/sec OptimistAtomicQueueB2, 4,i: 32,882,936 msg/sec OptimistAtomicQueueB2, 5,s: 34,660,104 msg/sec OptimistAtomicQueueB2, 5,i: 39,491,720 msg/sec OptimistAtomicQueueB2, 6,s: 37,455,169 msg/sec OptimistAtomicQueueB2, 6,i: 42,323,340 msg/sec OptimistAtomicQueueB2, 7,s: 40,827,493 msg/sec OptimistAtomicQueueB2, 7,i: 45,557,236 msg/sec OptimistAtomicQueueB2, 8,s: 42,567,325 msg/sec OptimistAtomicQueueB2, 8,i: 45,912,342 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000129 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000446 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000273 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [120] 323m:2s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,867,086 msg/sec boost::lockfree::spsc_queue, 1,i: 67,377,658 msg/sec boost::lockfree::queue, 1,s: 6,852,618 msg/sec boost::lockfree::queue, 1,i: 7,000,579 msg/sec boost::lockfree::queue, 2,s: 7,518,218 msg/sec boost::lockfree::queue, 2,i: 7,491,671 msg/sec boost::lockfree::queue, 3,s: 7,340,872 msg/sec boost::lockfree::queue, 3,i: 7,553,535 msg/sec boost::lockfree::queue, 4,s: 6,400,830 msg/sec boost::lockfree::queue, 4,i: 6,715,255 msg/sec boost::lockfree::queue, 5,s: 6,388,774 msg/sec boost::lockfree::queue, 5,i: 6,471,971 msg/sec boost::lockfree::queue, 6,s: 6,023,168 msg/sec boost::lockfree::queue, 6,i: 6,160,078 msg/sec boost::lockfree::queue, 7,s: 6,030,151 msg/sec boost::lockfree::queue, 7,i: 5,922,599 msg/sec boost::lockfree::queue, 8,s: 5,502,536 msg/sec boost::lockfree::queue, 8,i: 5,586,094 msg/sec moodycamel::ReaderWriterQueue, 1,s: 63,472,619 msg/sec moodycamel::ReaderWriterQueue, 1,i: 63,902,267 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,287,305 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,660,892 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,025,930 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,987,351 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,222,755 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,004,533 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,061,180 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,285,769 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,284,674 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,443,035 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,175,105 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,372,328 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,065,998 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,127,917 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,274,832 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,439,863 msg/sec pthread_spinlock, 1,s: 29,067,718 msg/sec pthread_spinlock, 1,i: 25,269,742 msg/sec pthread_spinlock, 2,s: 16,048,906 msg/sec pthread_spinlock, 2,i: 17,054,836 msg/sec pthread_spinlock, 3,s: 8,383,396 msg/sec pthread_spinlock, 3,i: 12,103,610 msg/sec pthread_spinlock, 4,s: 6,496,297 msg/sec pthread_spinlock, 4,i: 8,830,453 msg/sec pthread_spinlock, 5,s: 8,625,275 msg/sec pthread_spinlock, 5,i: 9,280,883 msg/sec pthread_spinlock, 6,s: 8,529,532 msg/sec pthread_spinlock, 6,i: 8,399,579 msg/sec pthread_spinlock, 7,s: 7,935,485 msg/sec pthread_spinlock, 7,i: 7,706,421 msg/sec pthread_spinlock, 8,s: 6,891,912 msg/sec pthread_spinlock, 8,i: 7,250,216 msg/sec std::mutex, 1,s: 6,458,822 msg/sec std::mutex, 1,i: 6,504,175 msg/sec std::mutex, 2,s: 5,481,168 msg/sec std::mutex, 2,i: 5,516,947 msg/sec std::mutex, 3,s: 4,729,770 msg/sec std::mutex, 3,i: 4,978,901 msg/sec std::mutex, 4,s: 5,747,621 msg/sec std::mutex, 4,i: 6,383,754 msg/sec std::mutex, 5,s: 5,996,471 msg/sec std::mutex, 5,i: 5,989,347 msg/sec std::mutex, 6,s: 5,902,568 msg/sec std::mutex, 6,i: 5,863,388 msg/sec std::mutex, 7,s: 5,837,276 msg/sec std::mutex, 7,i: 5,839,430 msg/sec std::mutex, 8,s: 5,725,759 msg/sec std::mutex, 8,i: 5,767,628 msg/sec tbb::spin_mutex, 1,s: 37,790,521 msg/sec tbb::spin_mutex, 1,i: 33,330,563 msg/sec tbb::spin_mutex, 2,s: 21,146,125 msg/sec tbb::spin_mutex, 2,i: 18,376,888 msg/sec tbb::spin_mutex, 3,s: 7,802,619 msg/sec tbb::spin_mutex, 3,i: 10,226,494 msg/sec tbb::spin_mutex, 4,s: 3,027,791 msg/sec tbb::spin_mutex, 4,i: 6,242,398 msg/sec tbb::spin_mutex, 5,s: 5,473,098 msg/sec tbb::spin_mutex, 5,i: 5,464,726 msg/sec tbb::spin_mutex, 6,s: 5,321,998 msg/sec tbb::spin_mutex, 6,i: 4,273,661 msg/sec tbb::spin_mutex, 7,s: 4,833,816 msg/sec tbb::spin_mutex, 7,i: 4,276,208 msg/sec tbb::spin_mutex, 8,s: 4,262,918 msg/sec tbb::spin_mutex, 8,i: 4,155,357 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,530,639 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,492,795 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,140,888 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,768,819 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,088,319 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,801,834 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,322,174 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,307,569 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,811,518 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,195,094 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,951,079 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,514,604 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,956,844 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,659,213 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,038,706 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,687,234 msg/sec xenium::michael_scott_queue, 1,s: 9,609,361 msg/sec xenium::michael_scott_queue, 1,i: 9,527,589 msg/sec xenium::michael_scott_queue, 2,s: 8,462,347 msg/sec xenium::michael_scott_queue, 2,i: 8,548,513 msg/sec xenium::michael_scott_queue, 3,s: 7,319,377 msg/sec xenium::michael_scott_queue, 3,i: 7,584,593 msg/sec xenium::michael_scott_queue, 4,s: 6,395,211 msg/sec xenium::michael_scott_queue, 4,i: 6,391,442 msg/sec xenium::michael_scott_queue, 5,s: 6,305,281 msg/sec xenium::michael_scott_queue, 5,i: 6,753,098 msg/sec xenium::michael_scott_queue, 6,s: 6,548,290 msg/sec xenium::michael_scott_queue, 6,i: 6,727,565 msg/sec xenium::michael_scott_queue, 7,s: 6,372,098 msg/sec xenium::michael_scott_queue, 7,i: 6,492,800 msg/sec xenium::michael_scott_queue, 8,s: 6,046,151 msg/sec xenium::michael_scott_queue, 8,i: 6,201,787 msg/sec xenium::ramalhete_queue, 1,s: 32,058,139 msg/sec xenium::ramalhete_queue, 1,i: 32,238,007 msg/sec xenium::ramalhete_queue, 2,s: 23,555,250 msg/sec xenium::ramalhete_queue, 2,i: 23,366,887 msg/sec xenium::ramalhete_queue, 3,s: 29,016,036 msg/sec xenium::ramalhete_queue, 3,i: 28,451,458 msg/sec xenium::ramalhete_queue, 4,s: 33,698,098 msg/sec xenium::ramalhete_queue, 4,i: 33,434,639 msg/sec xenium::ramalhete_queue, 5,s: 32,112,018 msg/sec xenium::ramalhete_queue, 5,i: 35,996,643 msg/sec xenium::ramalhete_queue, 6,s: 34,021,941 msg/sec xenium::ramalhete_queue, 6,i: 39,993,664 msg/sec xenium::ramalhete_queue, 7,s: 35,037,835 msg/sec xenium::ramalhete_queue, 7,i: 40,930,232 msg/sec xenium::ramalhete_queue, 8,s: 35,655,588 msg/sec xenium::ramalhete_queue, 8,i: 44,236,580 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,044,728 msg/sec xenium::vyukov_bounded_queue, 1,i: 113,966,672 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,785,838 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,664,527 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,549,693 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,738,249 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,549,340 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,431,074 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,933,238 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,242,042 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,169,221 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,221,169 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,261,676 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,041,957 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,407,945 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,524,999 msg/sec AtomicQueue, 1,s: 62,915,839 msg/sec AtomicQueue, 1,i: 55,551,599 msg/sec AtomicQueue, 2,s: 12,156,065 msg/sec AtomicQueue, 2,i: 11,742,301 msg/sec AtomicQueue, 3,s: 10,737,543 msg/sec AtomicQueue, 3,i: 9,969,658 msg/sec AtomicQueue, 4,s: 8,176,634 msg/sec AtomicQueue, 4,i: 8,198,238 msg/sec AtomicQueue, 5,s: 8,004,058 msg/sec AtomicQueue, 5,i: 8,127,046 msg/sec AtomicQueue, 6,s: 7,834,585 msg/sec AtomicQueue, 6,i: 7,596,967 msg/sec AtomicQueue, 7,s: 7,193,145 msg/sec AtomicQueue, 7,i: 7,984,864 msg/sec AtomicQueue, 8,s: 6,367,098 msg/sec AtomicQueue, 8,i: 7,373,956 msg/sec AtomicQueueB, 1,s: 54,212,675 msg/sec AtomicQueueB, 1,i: 42,790,911 msg/sec AtomicQueueB, 2,s: 11,978,001 msg/sec AtomicQueueB, 2,i: 11,507,322 msg/sec AtomicQueueB, 3,s: 10,975,042 msg/sec AtomicQueueB, 3,i: 10,168,584 msg/sec AtomicQueueB, 4,s: 8,044,587 msg/sec AtomicQueueB, 4,i: 7,968,892 msg/sec AtomicQueueB, 5,s: 7,547,018 msg/sec AtomicQueueB, 5,i: 7,793,554 msg/sec AtomicQueueB, 6,s: 7,371,462 msg/sec AtomicQueueB, 6,i: 7,535,778 msg/sec AtomicQueueB, 7,s: 6,886,895 msg/sec AtomicQueueB, 7,i: 7,743,315 msg/sec AtomicQueueB, 8,s: 6,238,826 msg/sec AtomicQueueB, 8,i: 7,136,287 msg/sec OptimistAtomicQueue, 1,s: 699,293,730 msg/sec OptimistAtomicQueue, 1,i: 521,195,727 msg/sec OptimistAtomicQueue, 2,s: 32,651,520 msg/sec OptimistAtomicQueue, 2,i: 32,733,840 msg/sec OptimistAtomicQueue, 3,s: 36,667,999 msg/sec OptimistAtomicQueue, 3,i: 37,402,003 msg/sec OptimistAtomicQueue, 4,s: 39,270,883 msg/sec OptimistAtomicQueue, 4,i: 39,398,106 msg/sec OptimistAtomicQueue, 5,s: 41,771,651 msg/sec OptimistAtomicQueue, 5,i: 47,233,626 msg/sec OptimistAtomicQueue, 6,s: 42,401,527 msg/sec OptimistAtomicQueue, 6,i: 49,822,386 msg/sec OptimistAtomicQueue, 7,s: 44,958,683 msg/sec OptimistAtomicQueue, 7,i: 52,903,766 msg/sec OptimistAtomicQueue, 8,s: 46,364,728 msg/sec OptimistAtomicQueue, 8,i: 48,733,912 msg/sec OptimistAtomicQueueB, 1,s: 260,068,317 msg/sec OptimistAtomicQueueB, 1,i: 76,494,990 msg/sec OptimistAtomicQueueB, 2,s: 32,247,970 msg/sec OptimistAtomicQueueB, 2,i: 31,906,501 msg/sec OptimistAtomicQueueB, 3,s: 36,205,559 msg/sec OptimistAtomicQueueB, 3,i: 36,887,277 msg/sec OptimistAtomicQueueB, 4,s: 38,682,917 msg/sec OptimistAtomicQueueB, 4,i: 38,685,562 msg/sec OptimistAtomicQueueB, 5,s: 41,205,299 msg/sec OptimistAtomicQueueB, 5,i: 45,381,668 msg/sec OptimistAtomicQueueB, 6,s: 41,088,505 msg/sec OptimistAtomicQueueB, 6,i: 49,330,425 msg/sec OptimistAtomicQueueB, 7,s: 42,344,760 msg/sec OptimistAtomicQueueB, 7,i: 50,755,377 msg/sec OptimistAtomicQueueB, 8,s: 44,272,572 msg/sec OptimistAtomicQueueB, 8,i: 47,740,983 msg/sec AtomicQueue2, 1,s: 22,858,137 msg/sec AtomicQueue2, 1,i: 22,879,995 msg/sec AtomicQueue2, 2,s: 11,885,861 msg/sec AtomicQueue2, 2,i: 11,384,861 msg/sec AtomicQueue2, 3,s: 9,443,954 msg/sec AtomicQueue2, 3,i: 9,356,571 msg/sec AtomicQueue2, 4,s: 8,105,902 msg/sec AtomicQueue2, 4,i: 8,084,912 msg/sec AtomicQueue2, 5,s: 7,922,938 msg/sec AtomicQueue2, 5,i: 8,036,526 msg/sec AtomicQueue2, 6,s: 7,699,237 msg/sec AtomicQueue2, 6,i: 7,473,575 msg/sec AtomicQueue2, 7,s: 7,091,921 msg/sec AtomicQueue2, 7,i: 7,894,883 msg/sec AtomicQueue2, 8,s: 6,381,090 msg/sec AtomicQueue2, 8,i: 7,366,082 msg/sec AtomicQueueB2, 1,s: 36,095,905 msg/sec AtomicQueueB2, 1,i: 32,641,492 msg/sec AtomicQueueB2, 2,s: 11,302,299 msg/sec AtomicQueueB2, 2,i: 11,090,374 msg/sec AtomicQueueB2, 3,s: 9,820,475 msg/sec AtomicQueueB2, 3,i: 9,538,963 msg/sec AtomicQueueB2, 4,s: 7,970,295 msg/sec AtomicQueueB2, 4,i: 7,898,450 msg/sec AtomicQueueB2, 5,s: 7,524,154 msg/sec AtomicQueueB2, 5,i: 7,734,664 msg/sec AtomicQueueB2, 6,s: 7,129,248 msg/sec AtomicQueueB2, 6,i: 7,431,132 msg/sec AtomicQueueB2, 7,s: 6,931,855 msg/sec AtomicQueueB2, 7,i: 7,710,379 msg/sec AtomicQueueB2, 8,s: 6,344,279 msg/sec AtomicQueueB2, 8,i: 7,085,507 msg/sec OptimistAtomicQueue2, 1,s: 433,299,077 msg/sec OptimistAtomicQueue2, 1,i: 437,157,992 msg/sec OptimistAtomicQueue2, 2,s: 24,244,323 msg/sec OptimistAtomicQueue2, 2,i: 24,015,083 msg/sec OptimistAtomicQueue2, 3,s: 29,869,167 msg/sec OptimistAtomicQueue2, 3,i: 29,614,303 msg/sec OptimistAtomicQueue2, 4,s: 33,296,114 msg/sec OptimistAtomicQueue2, 4,i: 33,311,110 msg/sec OptimistAtomicQueue2, 5,s: 37,160,102 msg/sec OptimistAtomicQueue2, 5,i: 40,866,404 msg/sec OptimistAtomicQueue2, 6,s: 40,220,318 msg/sec OptimistAtomicQueue2, 6,i: 49,254,748 msg/sec OptimistAtomicQueue2, 7,s: 43,151,147 msg/sec OptimistAtomicQueue2, 7,i: 48,150,516 msg/sec OptimistAtomicQueue2, 8,s: 43,972,281 msg/sec OptimistAtomicQueue2, 8,i: 49,726,445 msg/sec OptimistAtomicQueueB2, 1,s: 77,053,375 msg/sec OptimistAtomicQueueB2, 1,i: 33,888,811 msg/sec OptimistAtomicQueueB2, 2,s: 26,900,089 msg/sec OptimistAtomicQueueB2, 2,i: 26,470,777 msg/sec OptimistAtomicQueueB2, 3,s: 29,705,587 msg/sec OptimistAtomicQueueB2, 3,i: 29,010,297 msg/sec OptimistAtomicQueueB2, 4,s: 33,006,613 msg/sec OptimistAtomicQueueB2, 4,i: 33,279,034 msg/sec OptimistAtomicQueueB2, 5,s: 34,709,021 msg/sec OptimistAtomicQueueB2, 5,i: 39,242,592 msg/sec OptimistAtomicQueueB2, 6,s: 37,702,246 msg/sec OptimistAtomicQueueB2, 6,i: 42,329,808 msg/sec OptimistAtomicQueueB2, 7,s: 40,076,623 msg/sec OptimistAtomicQueueB2, 7,i: 45,441,822 msg/sec OptimistAtomicQueueB2, 8,s: 41,998,626 msg/sec OptimistAtomicQueueB2, 8,i: 45,977,267 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000242 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000217 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [121] 321m:43s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,075,553 msg/sec boost::lockfree::spsc_queue, 1,i: 67,226,984 msg/sec boost::lockfree::queue, 1,s: 7,926,375 msg/sec boost::lockfree::queue, 1,i: 6,914,517 msg/sec boost::lockfree::queue, 2,s: 7,676,636 msg/sec boost::lockfree::queue, 2,i: 7,467,358 msg/sec boost::lockfree::queue, 3,s: 7,431,472 msg/sec boost::lockfree::queue, 3,i: 7,525,653 msg/sec boost::lockfree::queue, 4,s: 6,408,016 msg/sec boost::lockfree::queue, 4,i: 6,781,255 msg/sec boost::lockfree::queue, 5,s: 6,412,412 msg/sec boost::lockfree::queue, 5,i: 6,518,367 msg/sec boost::lockfree::queue, 6,s: 6,016,935 msg/sec boost::lockfree::queue, 6,i: 6,105,678 msg/sec boost::lockfree::queue, 7,s: 5,872,121 msg/sec boost::lockfree::queue, 7,i: 6,017,050 msg/sec boost::lockfree::queue, 8,s: 5,383,074 msg/sec boost::lockfree::queue, 8,i: 5,544,754 msg/sec moodycamel::ReaderWriterQueue, 1,s: 103,176,465 msg/sec moodycamel::ReaderWriterQueue, 1,i: 86,049,559 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,172,763 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,166,416 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,309,987 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,401,667 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,522,259 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,557,317 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,663,433 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,263,726 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,362,935 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,081,586 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,567,411 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,180,770 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,062,303 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,733,627 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,217,221 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,478,846 msg/sec pthread_spinlock, 1,s: 23,507,277 msg/sec pthread_spinlock, 1,i: 23,615,321 msg/sec pthread_spinlock, 2,s: 14,270,085 msg/sec pthread_spinlock, 2,i: 16,162,875 msg/sec pthread_spinlock, 3,s: 8,311,690 msg/sec pthread_spinlock, 3,i: 12,058,214 msg/sec pthread_spinlock, 4,s: 6,472,183 msg/sec pthread_spinlock, 4,i: 9,058,849 msg/sec pthread_spinlock, 5,s: 8,560,857 msg/sec pthread_spinlock, 5,i: 9,338,883 msg/sec pthread_spinlock, 6,s: 8,198,013 msg/sec pthread_spinlock, 6,i: 8,568,200 msg/sec pthread_spinlock, 7,s: 7,517,583 msg/sec pthread_spinlock, 7,i: 7,705,446 msg/sec pthread_spinlock, 8,s: 6,749,533 msg/sec pthread_spinlock, 8,i: 7,391,111 msg/sec std::mutex, 1,s: 7,624,092 msg/sec std::mutex, 1,i: 7,478,725 msg/sec std::mutex, 2,s: 6,309,518 msg/sec std::mutex, 2,i: 6,287,054 msg/sec std::mutex, 3,s: 5,308,203 msg/sec std::mutex, 3,i: 5,201,705 msg/sec std::mutex, 4,s: 5,424,479 msg/sec std::mutex, 4,i: 5,405,728 msg/sec std::mutex, 5,s: 5,970,627 msg/sec std::mutex, 5,i: 6,034,544 msg/sec std::mutex, 6,s: 5,780,101 msg/sec std::mutex, 6,i: 5,712,644 msg/sec std::mutex, 7,s: 5,724,138 msg/sec std::mutex, 7,i: 5,726,442 msg/sec std::mutex, 8,s: 5,624,889 msg/sec std::mutex, 8,i: 5,619,816 msg/sec tbb::spin_mutex, 1,s: 37,839,179 msg/sec tbb::spin_mutex, 1,i: 37,903,967 msg/sec tbb::spin_mutex, 2,s: 21,069,778 msg/sec tbb::spin_mutex, 2,i: 18,452,074 msg/sec tbb::spin_mutex, 3,s: 8,355,513 msg/sec tbb::spin_mutex, 3,i: 10,204,433 msg/sec tbb::spin_mutex, 4,s: 3,151,439 msg/sec tbb::spin_mutex, 4,i: 6,306,983 msg/sec tbb::spin_mutex, 5,s: 5,434,713 msg/sec tbb::spin_mutex, 5,i: 5,719,438 msg/sec tbb::spin_mutex, 6,s: 5,190,786 msg/sec tbb::spin_mutex, 6,i: 4,347,678 msg/sec tbb::spin_mutex, 7,s: 4,874,630 msg/sec tbb::spin_mutex, 7,i: 4,370,829 msg/sec tbb::spin_mutex, 8,s: 4,235,275 msg/sec tbb::spin_mutex, 8,i: 4,197,338 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,326,730 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,779,743 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,869,780 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,929,080 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,992,335 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,699,574 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,285,455 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,208,986 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,663,124 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,186,643 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,931,027 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,437,707 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,014,874 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,610,199 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,061,647 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,717,998 msg/sec xenium::michael_scott_queue, 1,s: 10,104,712 msg/sec xenium::michael_scott_queue, 1,i: 10,073,052 msg/sec xenium::michael_scott_queue, 2,s: 8,346,203 msg/sec xenium::michael_scott_queue, 2,i: 8,636,513 msg/sec xenium::michael_scott_queue, 3,s: 7,284,135 msg/sec xenium::michael_scott_queue, 3,i: 7,541,784 msg/sec xenium::michael_scott_queue, 4,s: 6,331,418 msg/sec xenium::michael_scott_queue, 4,i: 6,436,380 msg/sec xenium::michael_scott_queue, 5,s: 6,260,214 msg/sec xenium::michael_scott_queue, 5,i: 6,704,081 msg/sec xenium::michael_scott_queue, 6,s: 6,475,642 msg/sec xenium::michael_scott_queue, 6,i: 6,764,280 msg/sec xenium::michael_scott_queue, 7,s: 6,334,653 msg/sec xenium::michael_scott_queue, 7,i: 6,605,555 msg/sec xenium::michael_scott_queue, 8,s: 5,973,843 msg/sec xenium::michael_scott_queue, 8,i: 6,280,913 msg/sec xenium::ramalhete_queue, 1,s: 31,662,912 msg/sec xenium::ramalhete_queue, 1,i: 31,663,944 msg/sec xenium::ramalhete_queue, 2,s: 23,976,485 msg/sec xenium::ramalhete_queue, 2,i: 23,301,912 msg/sec xenium::ramalhete_queue, 3,s: 29,209,730 msg/sec xenium::ramalhete_queue, 3,i: 28,508,280 msg/sec xenium::ramalhete_queue, 4,s: 33,871,531 msg/sec xenium::ramalhete_queue, 4,i: 33,485,247 msg/sec xenium::ramalhete_queue, 5,s: 32,031,411 msg/sec xenium::ramalhete_queue, 5,i: 36,067,936 msg/sec xenium::ramalhete_queue, 6,s: 34,249,487 msg/sec xenium::ramalhete_queue, 6,i: 39,328,239 msg/sec xenium::ramalhete_queue, 7,s: 35,148,007 msg/sec xenium::ramalhete_queue, 7,i: 41,231,122 msg/sec xenium::ramalhete_queue, 8,s: 35,560,884 msg/sec xenium::ramalhete_queue, 8,i: 44,019,323 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,763,451 msg/sec xenium::vyukov_bounded_queue, 1,i: 118,337,617 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,817,431 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,937,382 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,706,090 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,047,685 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,561,348 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,242,372 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,994,130 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,170,428 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,217,414 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,298,341 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,170,640 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,918,503 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,428,798 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,246,102 msg/sec AtomicQueue, 1,s: 62,557,793 msg/sec AtomicQueue, 1,i: 56,299,688 msg/sec AtomicQueue, 2,s: 12,234,715 msg/sec AtomicQueue, 2,i: 11,767,086 msg/sec AtomicQueue, 3,s: 10,733,238 msg/sec AtomicQueue, 3,i: 9,912,024 msg/sec AtomicQueue, 4,s: 8,196,920 msg/sec AtomicQueue, 4,i: 8,197,821 msg/sec AtomicQueue, 5,s: 8,013,169 msg/sec AtomicQueue, 5,i: 8,062,818 msg/sec AtomicQueue, 6,s: 7,864,059 msg/sec AtomicQueue, 6,i: 7,621,503 msg/sec AtomicQueue, 7,s: 7,172,964 msg/sec AtomicQueue, 7,i: 7,957,909 msg/sec AtomicQueue, 8,s: 6,326,587 msg/sec AtomicQueue, 8,i: 7,461,894 msg/sec AtomicQueueB, 1,s: 50,375,653 msg/sec AtomicQueueB, 1,i: 43,035,239 msg/sec AtomicQueueB, 2,s: 11,887,845 msg/sec AtomicQueueB, 2,i: 11,496,297 msg/sec AtomicQueueB, 3,s: 11,042,867 msg/sec AtomicQueueB, 3,i: 10,231,765 msg/sec AtomicQueueB, 4,s: 8,094,077 msg/sec AtomicQueueB, 4,i: 8,008,606 msg/sec AtomicQueueB, 5,s: 7,630,817 msg/sec AtomicQueueB, 5,i: 7,897,815 msg/sec AtomicQueueB, 6,s: 7,194,491 msg/sec AtomicQueueB, 6,i: 7,590,705 msg/sec AtomicQueueB, 7,s: 6,861,845 msg/sec AtomicQueueB, 7,i: 7,731,200 msg/sec AtomicQueueB, 8,s: 6,242,652 msg/sec AtomicQueueB, 8,i: 7,210,388 msg/sec OptimistAtomicQueue, 1,s: 714,854,789 msg/sec OptimistAtomicQueue, 1,i: 805,246,503 msg/sec OptimistAtomicQueue, 2,s: 32,143,089 msg/sec OptimistAtomicQueue, 2,i: 32,183,966 msg/sec OptimistAtomicQueue, 3,s: 36,661,988 msg/sec OptimistAtomicQueue, 3,i: 37,339,355 msg/sec OptimistAtomicQueue, 4,s: 39,279,864 msg/sec OptimistAtomicQueue, 4,i: 39,381,730 msg/sec OptimistAtomicQueue, 5,s: 42,452,794 msg/sec OptimistAtomicQueue, 5,i: 47,436,935 msg/sec OptimistAtomicQueue, 6,s: 42,528,864 msg/sec OptimistAtomicQueue, 6,i: 50,284,905 msg/sec OptimistAtomicQueue, 7,s: 45,006,291 msg/sec OptimistAtomicQueue, 7,i: 52,857,854 msg/sec OptimistAtomicQueue, 8,s: 46,374,958 msg/sec OptimistAtomicQueue, 8,i: 49,332,039 msg/sec OptimistAtomicQueueB, 1,s: 156,322,146 msg/sec OptimistAtomicQueueB, 1,i: 77,400,108 msg/sec OptimistAtomicQueueB, 2,s: 32,210,040 msg/sec OptimistAtomicQueueB, 2,i: 32,149,769 msg/sec OptimistAtomicQueueB, 3,s: 36,233,482 msg/sec OptimistAtomicQueueB, 3,i: 36,847,854 msg/sec OptimistAtomicQueueB, 4,s: 38,671,875 msg/sec OptimistAtomicQueueB, 4,i: 38,568,103 msg/sec OptimistAtomicQueueB, 5,s: 40,787,325 msg/sec OptimistAtomicQueueB, 5,i: 46,255,811 msg/sec OptimistAtomicQueueB, 6,s: 41,241,928 msg/sec OptimistAtomicQueueB, 6,i: 49,218,098 msg/sec OptimistAtomicQueueB, 7,s: 42,565,747 msg/sec OptimistAtomicQueueB, 7,i: 51,519,523 msg/sec OptimistAtomicQueueB, 8,s: 44,392,671 msg/sec OptimistAtomicQueueB, 8,i: 48,708,894 msg/sec AtomicQueue2, 1,s: 22,904,148 msg/sec AtomicQueue2, 1,i: 22,846,371 msg/sec AtomicQueue2, 2,s: 11,981,531 msg/sec AtomicQueue2, 2,i: 11,586,525 msg/sec AtomicQueue2, 3,s: 9,435,829 msg/sec AtomicQueue2, 3,i: 9,341,190 msg/sec AtomicQueue2, 4,s: 8,099,069 msg/sec AtomicQueue2, 4,i: 8,067,569 msg/sec AtomicQueue2, 5,s: 7,876,395 msg/sec AtomicQueue2, 5,i: 7,992,373 msg/sec AtomicQueue2, 6,s: 7,744,227 msg/sec AtomicQueue2, 6,i: 7,521,092 msg/sec AtomicQueue2, 7,s: 7,096,704 msg/sec AtomicQueue2, 7,i: 7,872,396 msg/sec AtomicQueue2, 8,s: 6,392,476 msg/sec AtomicQueue2, 8,i: 7,241,653 msg/sec AtomicQueueB2, 1,s: 36,237,725 msg/sec AtomicQueueB2, 1,i: 32,628,298 msg/sec AtomicQueueB2, 2,s: 11,451,437 msg/sec AtomicQueueB2, 2,i: 11,118,289 msg/sec AtomicQueueB2, 3,s: 9,643,230 msg/sec AtomicQueueB2, 3,i: 9,538,967 msg/sec AtomicQueueB2, 4,s: 7,892,525 msg/sec AtomicQueueB2, 4,i: 7,823,450 msg/sec AtomicQueueB2, 5,s: 7,534,784 msg/sec AtomicQueueB2, 5,i: 7,690,429 msg/sec AtomicQueueB2, 6,s: 7,204,617 msg/sec AtomicQueueB2, 6,i: 7,458,379 msg/sec AtomicQueueB2, 7,s: 6,847,774 msg/sec AtomicQueueB2, 7,i: 7,691,633 msg/sec AtomicQueueB2, 8,s: 6,349,267 msg/sec AtomicQueueB2, 8,i: 7,131,776 msg/sec OptimistAtomicQueue2, 1,s: 31,990,079 msg/sec OptimistAtomicQueue2, 1,i: 163,357,373 msg/sec OptimistAtomicQueue2, 2,s: 25,264,572 msg/sec OptimistAtomicQueue2, 2,i: 23,941,524 msg/sec OptimistAtomicQueue2, 3,s: 30,321,174 msg/sec OptimistAtomicQueue2, 3,i: 30,158,057 msg/sec OptimistAtomicQueue2, 4,s: 33,290,730 msg/sec OptimistAtomicQueue2, 4,i: 33,160,526 msg/sec OptimistAtomicQueue2, 5,s: 37,262,560 msg/sec OptimistAtomicQueue2, 5,i: 40,283,590 msg/sec OptimistAtomicQueue2, 6,s: 40,360,876 msg/sec OptimistAtomicQueue2, 6,i: 49,298,270 msg/sec OptimistAtomicQueue2, 7,s: 43,304,189 msg/sec OptimistAtomicQueue2, 7,i: 47,773,684 msg/sec OptimistAtomicQueue2, 8,s: 43,913,362 msg/sec OptimistAtomicQueue2, 8,i: 48,397,924 msg/sec OptimistAtomicQueueB2, 1,s: 77,787,729 msg/sec OptimistAtomicQueueB2, 1,i: 33,922,032 msg/sec OptimistAtomicQueueB2, 2,s: 27,966,563 msg/sec OptimistAtomicQueueB2, 2,i: 25,906,105 msg/sec OptimistAtomicQueueB2, 3,s: 30,314,821 msg/sec OptimistAtomicQueueB2, 3,i: 31,772,162 msg/sec OptimistAtomicQueueB2, 4,s: 33,083,003 msg/sec OptimistAtomicQueueB2, 4,i: 32,441,033 msg/sec OptimistAtomicQueueB2, 5,s: 34,707,837 msg/sec OptimistAtomicQueueB2, 5,i: 39,302,652 msg/sec OptimistAtomicQueueB2, 6,s: 37,216,319 msg/sec OptimistAtomicQueueB2, 6,i: 42,206,266 msg/sec OptimistAtomicQueueB2, 7,s: 40,784,064 msg/sec OptimistAtomicQueueB2, 7,i: 45,374,099 msg/sec OptimistAtomicQueueB2, 8,s: 42,172,039 msg/sec OptimistAtomicQueueB2, 8,i: 45,819,767 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000434 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [122] 320m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,225,360 msg/sec boost::lockfree::spsc_queue, 1,i: 67,282,392 msg/sec boost::lockfree::queue, 1,s: 6,840,682 msg/sec boost::lockfree::queue, 1,i: 6,965,258 msg/sec boost::lockfree::queue, 2,s: 7,714,901 msg/sec boost::lockfree::queue, 2,i: 7,477,137 msg/sec boost::lockfree::queue, 3,s: 7,433,331 msg/sec boost::lockfree::queue, 3,i: 7,582,646 msg/sec boost::lockfree::queue, 4,s: 6,415,415 msg/sec boost::lockfree::queue, 4,i: 6,786,114 msg/sec boost::lockfree::queue, 5,s: 6,484,584 msg/sec boost::lockfree::queue, 5,i: 6,512,340 msg/sec boost::lockfree::queue, 6,s: 5,982,991 msg/sec boost::lockfree::queue, 6,i: 6,063,984 msg/sec boost::lockfree::queue, 7,s: 5,980,440 msg/sec boost::lockfree::queue, 7,i: 6,048,302 msg/sec boost::lockfree::queue, 8,s: 5,453,393 msg/sec boost::lockfree::queue, 8,i: 5,728,317 msg/sec moodycamel::ReaderWriterQueue, 1,s: 63,844,623 msg/sec moodycamel::ReaderWriterQueue, 1,i: 46,327,824 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,194,968 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,673,222 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,278,495 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,928,600 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,957,100 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,816,904 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,147,388 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,345,390 msg/sec moodycamel::ConcurrentQueue, 5,s: 30,917,138 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,100,157 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,284,779 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,848,693 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,014,170 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,352,972 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,378,400 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,929,107 msg/sec pthread_spinlock, 1,s: 29,205,705 msg/sec pthread_spinlock, 1,i: 25,424,930 msg/sec pthread_spinlock, 2,s: 15,580,328 msg/sec pthread_spinlock, 2,i: 16,943,692 msg/sec pthread_spinlock, 3,s: 8,351,066 msg/sec pthread_spinlock, 3,i: 12,036,069 msg/sec pthread_spinlock, 4,s: 6,508,906 msg/sec pthread_spinlock, 4,i: 9,230,488 msg/sec pthread_spinlock, 5,s: 8,729,058 msg/sec pthread_spinlock, 5,i: 9,644,530 msg/sec pthread_spinlock, 6,s: 8,474,092 msg/sec pthread_spinlock, 6,i: 8,985,855 msg/sec pthread_spinlock, 7,s: 7,536,555 msg/sec pthread_spinlock, 7,i: 7,897,619 msg/sec pthread_spinlock, 8,s: 6,847,833 msg/sec pthread_spinlock, 8,i: 6,974,336 msg/sec std::mutex, 1,s: 5,704,136 msg/sec std::mutex, 1,i: 6,727,092 msg/sec std::mutex, 2,s: 6,070,514 msg/sec std::mutex, 2,i: 6,056,845 msg/sec std::mutex, 3,s: 6,082,183 msg/sec std::mutex, 3,i: 5,724,745 msg/sec std::mutex, 4,s: 6,147,526 msg/sec std::mutex, 4,i: 6,196,006 msg/sec std::mutex, 5,s: 5,981,564 msg/sec std::mutex, 5,i: 6,005,489 msg/sec std::mutex, 6,s: 6,042,210 msg/sec std::mutex, 6,i: 5,978,001 msg/sec std::mutex, 7,s: 5,829,792 msg/sec std::mutex, 7,i: 5,815,106 msg/sec std::mutex, 8,s: 5,738,935 msg/sec std::mutex, 8,i: 5,688,471 msg/sec tbb::spin_mutex, 1,s: 37,636,639 msg/sec tbb::spin_mutex, 1,i: 33,166,506 msg/sec tbb::spin_mutex, 2,s: 21,131,782 msg/sec tbb::spin_mutex, 2,i: 18,370,619 msg/sec tbb::spin_mutex, 3,s: 8,079,826 msg/sec tbb::spin_mutex, 3,i: 11,138,939 msg/sec tbb::spin_mutex, 4,s: 3,275,389 msg/sec tbb::spin_mutex, 4,i: 6,332,442 msg/sec tbb::spin_mutex, 5,s: 5,537,795 msg/sec tbb::spin_mutex, 5,i: 5,814,772 msg/sec tbb::spin_mutex, 6,s: 5,319,675 msg/sec tbb::spin_mutex, 6,i: 4,327,055 msg/sec tbb::spin_mutex, 7,s: 4,841,203 msg/sec tbb::spin_mutex, 7,i: 4,340,659 msg/sec tbb::spin_mutex, 8,s: 4,240,087 msg/sec tbb::spin_mutex, 8,i: 4,080,965 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,305,206 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,377,225 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,960,922 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,085,080 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,458,822 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,854,661 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,428,744 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,269,299 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,676,692 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,961,546 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,007,716 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,914,329 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,933,649 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,953,423 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,934,647 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,083,650 msg/sec xenium::michael_scott_queue, 1,s: 9,477,775 msg/sec xenium::michael_scott_queue, 1,i: 9,468,239 msg/sec xenium::michael_scott_queue, 2,s: 8,546,605 msg/sec xenium::michael_scott_queue, 2,i: 8,506,710 msg/sec xenium::michael_scott_queue, 3,s: 7,273,819 msg/sec xenium::michael_scott_queue, 3,i: 7,525,956 msg/sec xenium::michael_scott_queue, 4,s: 6,322,008 msg/sec xenium::michael_scott_queue, 4,i: 6,332,421 msg/sec xenium::michael_scott_queue, 5,s: 6,300,303 msg/sec xenium::michael_scott_queue, 5,i: 6,691,575 msg/sec xenium::michael_scott_queue, 6,s: 6,462,794 msg/sec xenium::michael_scott_queue, 6,i: 6,806,871 msg/sec xenium::michael_scott_queue, 7,s: 6,354,661 msg/sec xenium::michael_scott_queue, 7,i: 6,565,274 msg/sec xenium::michael_scott_queue, 8,s: 5,951,357 msg/sec xenium::michael_scott_queue, 8,i: 6,087,159 msg/sec xenium::ramalhete_queue, 1,s: 32,052,775 msg/sec xenium::ramalhete_queue, 1,i: 32,174,379 msg/sec xenium::ramalhete_queue, 2,s: 23,460,997 msg/sec xenium::ramalhete_queue, 2,i: 23,235,013 msg/sec xenium::ramalhete_queue, 3,s: 29,257,170 msg/sec xenium::ramalhete_queue, 3,i: 28,477,331 msg/sec xenium::ramalhete_queue, 4,s: 33,882,662 msg/sec xenium::ramalhete_queue, 4,i: 33,555,638 msg/sec xenium::ramalhete_queue, 5,s: 32,047,805 msg/sec xenium::ramalhete_queue, 5,i: 36,074,130 msg/sec xenium::ramalhete_queue, 6,s: 34,010,316 msg/sec xenium::ramalhete_queue, 6,i: 38,714,681 msg/sec xenium::ramalhete_queue, 7,s: 35,117,485 msg/sec xenium::ramalhete_queue, 7,i: 41,034,640 msg/sec xenium::ramalhete_queue, 8,s: 35,632,407 msg/sec xenium::ramalhete_queue, 8,i: 43,787,733 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,434,465 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,477,185 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,908,324 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,293,035 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,659,315 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,752,949 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,627,684 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,311,846 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,092,285 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,358,419 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,757,594 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,276,601 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,240,212 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,015,895 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,639 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,253,220 msg/sec AtomicQueue, 1,s: 61,575,582 msg/sec AtomicQueue, 1,i: 56,528,608 msg/sec AtomicQueue, 2,s: 12,231,899 msg/sec AtomicQueue, 2,i: 11,670,323 msg/sec AtomicQueue, 3,s: 10,797,848 msg/sec AtomicQueue, 3,i: 9,946,914 msg/sec AtomicQueue, 4,s: 8,239,672 msg/sec AtomicQueue, 4,i: 8,210,613 msg/sec AtomicQueue, 5,s: 8,020,982 msg/sec AtomicQueue, 5,i: 8,095,755 msg/sec AtomicQueue, 6,s: 7,790,744 msg/sec AtomicQueue, 6,i: 7,617,933 msg/sec AtomicQueue, 7,s: 7,177,372 msg/sec AtomicQueue, 7,i: 7,987,663 msg/sec AtomicQueue, 8,s: 6,332,655 msg/sec AtomicQueue, 8,i: 7,439,173 msg/sec AtomicQueueB, 1,s: 129,897,302 msg/sec AtomicQueueB, 1,i: 43,132,590 msg/sec AtomicQueueB, 2,s: 11,871,802 msg/sec AtomicQueueB, 2,i: 11,520,008 msg/sec AtomicQueueB, 3,s: 11,011,700 msg/sec AtomicQueueB, 3,i: 10,094,543 msg/sec AtomicQueueB, 4,s: 8,070,841 msg/sec AtomicQueueB, 4,i: 8,082,132 msg/sec AtomicQueueB, 5,s: 7,606,207 msg/sec AtomicQueueB, 5,i: 7,835,780 msg/sec AtomicQueueB, 6,s: 7,410,914 msg/sec AtomicQueueB, 6,i: 7,548,318 msg/sec AtomicQueueB, 7,s: 6,818,629 msg/sec AtomicQueueB, 7,i: 7,753,401 msg/sec AtomicQueueB, 8,s: 6,205,993 msg/sec AtomicQueueB, 8,i: 7,159,911 msg/sec OptimistAtomicQueue, 1,s: 787,656,632 msg/sec OptimistAtomicQueue, 1,i: 597,913,044 msg/sec OptimistAtomicQueue, 2,s: 32,642,234 msg/sec OptimistAtomicQueue, 2,i: 32,714,504 msg/sec OptimistAtomicQueue, 3,s: 36,650,009 msg/sec OptimistAtomicQueue, 3,i: 37,418,000 msg/sec OptimistAtomicQueue, 4,s: 39,277,076 msg/sec OptimistAtomicQueue, 4,i: 39,403,391 msg/sec OptimistAtomicQueue, 5,s: 42,499,954 msg/sec OptimistAtomicQueue, 5,i: 46,304,083 msg/sec OptimistAtomicQueue, 6,s: 42,411,887 msg/sec OptimistAtomicQueue, 6,i: 49,839,233 msg/sec OptimistAtomicQueue, 7,s: 44,351,350 msg/sec OptimistAtomicQueue, 7,i: 52,981,806 msg/sec OptimistAtomicQueue, 8,s: 46,433,252 msg/sec OptimistAtomicQueue, 8,i: 48,549,705 msg/sec OptimistAtomicQueueB, 1,s: 195,507,501 msg/sec OptimistAtomicQueueB, 1,i: 77,527,547 msg/sec OptimistAtomicQueueB, 2,s: 32,229,344 msg/sec OptimistAtomicQueueB, 2,i: 32,194,341 msg/sec OptimistAtomicQueueB, 3,s: 36,284,996 msg/sec OptimistAtomicQueueB, 3,i: 36,863,397 msg/sec OptimistAtomicQueueB, 4,s: 38,664,641 msg/sec OptimistAtomicQueueB, 4,i: 38,668,502 msg/sec OptimistAtomicQueueB, 5,s: 40,527,957 msg/sec OptimistAtomicQueueB, 5,i: 45,299,178 msg/sec OptimistAtomicQueueB, 6,s: 41,026,360 msg/sec OptimistAtomicQueueB, 6,i: 49,122,430 msg/sec OptimistAtomicQueueB, 7,s: 41,532,108 msg/sec OptimistAtomicQueueB, 7,i: 48,180,122 msg/sec OptimistAtomicQueueB, 8,s: 44,424,515 msg/sec OptimistAtomicQueueB, 8,i: 48,030,157 msg/sec AtomicQueue2, 1,s: 23,110,406 msg/sec AtomicQueue2, 1,i: 22,910,189 msg/sec AtomicQueue2, 2,s: 11,753,363 msg/sec AtomicQueue2, 2,i: 11,442,205 msg/sec AtomicQueue2, 3,s: 9,433,834 msg/sec AtomicQueue2, 3,i: 9,396,521 msg/sec AtomicQueue2, 4,s: 8,082,680 msg/sec AtomicQueue2, 4,i: 8,091,241 msg/sec AtomicQueue2, 5,s: 7,874,418 msg/sec AtomicQueue2, 5,i: 8,040,495 msg/sec AtomicQueue2, 6,s: 7,844,316 msg/sec AtomicQueue2, 6,i: 7,528,727 msg/sec AtomicQueue2, 7,s: 7,111,387 msg/sec AtomicQueue2, 7,i: 7,921,824 msg/sec AtomicQueue2, 8,s: 6,379,459 msg/sec AtomicQueue2, 8,i: 7,372,074 msg/sec AtomicQueueB2, 1,s: 32,750,775 msg/sec AtomicQueueB2, 1,i: 32,626,900 msg/sec AtomicQueueB2, 2,s: 11,388,574 msg/sec AtomicQueueB2, 2,i: 11,082,483 msg/sec AtomicQueueB2, 3,s: 9,624,214 msg/sec AtomicQueueB2, 3,i: 9,428,619 msg/sec AtomicQueueB2, 4,s: 7,992,150 msg/sec AtomicQueueB2, 4,i: 7,774,038 msg/sec AtomicQueueB2, 5,s: 7,495,083 msg/sec AtomicQueueB2, 5,i: 7,735,883 msg/sec AtomicQueueB2, 6,s: 7,320,967 msg/sec AtomicQueueB2, 6,i: 7,456,148 msg/sec AtomicQueueB2, 7,s: 6,914,117 msg/sec AtomicQueueB2, 7,i: 7,730,723 msg/sec AtomicQueueB2, 8,s: 6,282,083 msg/sec AtomicQueueB2, 8,i: 7,098,585 msg/sec OptimistAtomicQueue2, 1,s: 381,370,108 msg/sec OptimistAtomicQueue2, 1,i: 29,412,655 msg/sec OptimistAtomicQueue2, 2,s: 26,024,774 msg/sec OptimistAtomicQueue2, 2,i: 24,014,363 msg/sec OptimistAtomicQueue2, 3,s: 30,149,472 msg/sec OptimistAtomicQueue2, 3,i: 29,952,186 msg/sec OptimistAtomicQueue2, 4,s: 34,744,430 msg/sec OptimistAtomicQueue2, 4,i: 33,461,711 msg/sec OptimistAtomicQueue2, 5,s: 36,916,442 msg/sec OptimistAtomicQueue2, 5,i: 41,014,099 msg/sec OptimistAtomicQueue2, 6,s: 40,145,629 msg/sec OptimistAtomicQueue2, 6,i: 49,225,148 msg/sec OptimistAtomicQueue2, 7,s: 42,742,298 msg/sec OptimistAtomicQueue2, 7,i: 48,064,667 msg/sec OptimistAtomicQueue2, 8,s: 43,798,817 msg/sec OptimistAtomicQueue2, 8,i: 48,425,052 msg/sec OptimistAtomicQueueB2, 1,s: 77,257,488 msg/sec OptimistAtomicQueueB2, 1,i: 33,943,798 msg/sec OptimistAtomicQueueB2, 2,s: 27,911,499 msg/sec OptimistAtomicQueueB2, 2,i: 23,174,584 msg/sec OptimistAtomicQueueB2, 3,s: 29,815,711 msg/sec OptimistAtomicQueueB2, 3,i: 29,162,829 msg/sec OptimistAtomicQueueB2, 4,s: 33,238,305 msg/sec OptimistAtomicQueueB2, 4,i: 33,184,188 msg/sec OptimistAtomicQueueB2, 5,s: 34,720,909 msg/sec OptimistAtomicQueueB2, 5,i: 39,334,417 msg/sec OptimistAtomicQueueB2, 6,s: 37,717,692 msg/sec OptimistAtomicQueueB2, 6,i: 42,376,236 msg/sec OptimistAtomicQueueB2, 7,s: 40,871,059 msg/sec OptimistAtomicQueueB2, 7,i: 43,209,799 msg/sec OptimistAtomicQueueB2, 8,s: 42,222,610 msg/sec OptimistAtomicQueueB2, 8,i: 46,736,438 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000161 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000272 sec/round-trip std::mutex: 0.000000518 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000275 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [123] 319m:5s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,515,902 msg/sec boost::lockfree::spsc_queue, 1,i: 68,973,382 msg/sec boost::lockfree::queue, 1,s: 6,949,194 msg/sec boost::lockfree::queue, 1,i: 6,922,369 msg/sec boost::lockfree::queue, 2,s: 7,514,112 msg/sec boost::lockfree::queue, 2,i: 7,380,885 msg/sec boost::lockfree::queue, 3,s: 7,400,030 msg/sec boost::lockfree::queue, 3,i: 7,587,017 msg/sec boost::lockfree::queue, 4,s: 6,416,849 msg/sec boost::lockfree::queue, 4,i: 6,774,810 msg/sec boost::lockfree::queue, 5,s: 6,410,330 msg/sec boost::lockfree::queue, 5,i: 6,520,300 msg/sec boost::lockfree::queue, 6,s: 5,970,372 msg/sec boost::lockfree::queue, 6,i: 6,091,321 msg/sec boost::lockfree::queue, 7,s: 6,019,289 msg/sec boost::lockfree::queue, 7,i: 5,966,498 msg/sec boost::lockfree::queue, 8,s: 5,440,019 msg/sec boost::lockfree::queue, 8,i: 5,643,145 msg/sec moodycamel::ReaderWriterQueue, 1,s: 96,843,342 msg/sec moodycamel::ReaderWriterQueue, 1,i: 84,798,165 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,439,040 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,961,718 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,129,915 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,732,189 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,270,808 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,719,461 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,454,683 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,951,833 msg/sec moodycamel::ConcurrentQueue, 5,s: 42,271,543 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,784,129 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,369,896 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,684,287 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,029,656 msg/sec moodycamel::ConcurrentQueue, 7,i: 34,306,481 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,334,762 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,698,530 msg/sec pthread_spinlock, 1,s: 28,811,053 msg/sec pthread_spinlock, 1,i: 25,462,790 msg/sec pthread_spinlock, 2,s: 16,034,272 msg/sec pthread_spinlock, 2,i: 16,897,870 msg/sec pthread_spinlock, 3,s: 8,260,530 msg/sec pthread_spinlock, 3,i: 12,121,541 msg/sec pthread_spinlock, 4,s: 6,488,869 msg/sec pthread_spinlock, 4,i: 9,000,728 msg/sec pthread_spinlock, 5,s: 8,604,328 msg/sec pthread_spinlock, 5,i: 10,392,074 msg/sec pthread_spinlock, 6,s: 8,267,413 msg/sec pthread_spinlock, 6,i: 8,722,166 msg/sec pthread_spinlock, 7,s: 7,551,523 msg/sec pthread_spinlock, 7,i: 7,655,682 msg/sec pthread_spinlock, 8,s: 6,843,238 msg/sec pthread_spinlock, 8,i: 6,813,599 msg/sec std::mutex, 1,s: 6,811,836 msg/sec std::mutex, 1,i: 5,948,818 msg/sec std::mutex, 2,s: 5,511,534 msg/sec std::mutex, 2,i: 5,540,562 msg/sec std::mutex, 3,s: 5,911,940 msg/sec std::mutex, 3,i: 5,960,052 msg/sec std::mutex, 4,s: 6,176,022 msg/sec std::mutex, 4,i: 6,156,106 msg/sec std::mutex, 5,s: 5,904,048 msg/sec std::mutex, 5,i: 5,911,415 msg/sec std::mutex, 6,s: 5,881,982 msg/sec std::mutex, 6,i: 5,851,560 msg/sec std::mutex, 7,s: 5,802,681 msg/sec std::mutex, 7,i: 5,804,251 msg/sec std::mutex, 8,s: 5,719,290 msg/sec std::mutex, 8,i: 5,692,860 msg/sec tbb::spin_mutex, 1,s: 37,739,496 msg/sec tbb::spin_mutex, 1,i: 38,009,154 msg/sec tbb::spin_mutex, 2,s: 21,043,960 msg/sec tbb::spin_mutex, 2,i: 18,287,359 msg/sec tbb::spin_mutex, 3,s: 7,691,724 msg/sec tbb::spin_mutex, 3,i: 10,049,944 msg/sec tbb::spin_mutex, 4,s: 3,076,259 msg/sec tbb::spin_mutex, 4,i: 6,313,081 msg/sec tbb::spin_mutex, 5,s: 5,450,159 msg/sec tbb::spin_mutex, 5,i: 5,789,854 msg/sec tbb::spin_mutex, 6,s: 5,329,573 msg/sec tbb::spin_mutex, 6,i: 4,290,253 msg/sec tbb::spin_mutex, 7,s: 4,602,093 msg/sec tbb::spin_mutex, 7,i: 4,353,382 msg/sec tbb::spin_mutex, 8,s: 4,254,928 msg/sec tbb::spin_mutex, 8,i: 4,082,789 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,347,055 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,258,119 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,308,602 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,553,499 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,702,868 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,628,990 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,627,941 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,607,642 msg/sec tbb::concurrent_bounded_queue, 5,s: 10,012,045 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,621,473 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,955,813 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,746,853 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,876,149 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,800,482 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,786,103 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,487,418 msg/sec xenium::michael_scott_queue, 1,s: 9,476,903 msg/sec xenium::michael_scott_queue, 1,i: 9,398,379 msg/sec xenium::michael_scott_queue, 2,s: 8,417,060 msg/sec xenium::michael_scott_queue, 2,i: 8,531,224 msg/sec xenium::michael_scott_queue, 3,s: 7,386,624 msg/sec xenium::michael_scott_queue, 3,i: 7,561,314 msg/sec xenium::michael_scott_queue, 4,s: 6,344,617 msg/sec xenium::michael_scott_queue, 4,i: 6,381,381 msg/sec xenium::michael_scott_queue, 5,s: 6,278,627 msg/sec xenium::michael_scott_queue, 5,i: 6,596,374 msg/sec xenium::michael_scott_queue, 6,s: 6,484,030 msg/sec xenium::michael_scott_queue, 6,i: 6,792,133 msg/sec xenium::michael_scott_queue, 7,s: 6,278,994 msg/sec xenium::michael_scott_queue, 7,i: 6,533,131 msg/sec xenium::michael_scott_queue, 8,s: 6,003,696 msg/sec xenium::michael_scott_queue, 8,i: 6,128,419 msg/sec xenium::ramalhete_queue, 1,s: 31,758,938 msg/sec xenium::ramalhete_queue, 1,i: 31,906,788 msg/sec xenium::ramalhete_queue, 2,s: 23,853,503 msg/sec xenium::ramalhete_queue, 2,i: 23,329,289 msg/sec xenium::ramalhete_queue, 3,s: 29,371,236 msg/sec xenium::ramalhete_queue, 3,i: 28,474,973 msg/sec xenium::ramalhete_queue, 4,s: 33,969,662 msg/sec xenium::ramalhete_queue, 4,i: 33,499,511 msg/sec xenium::ramalhete_queue, 5,s: 32,304,926 msg/sec xenium::ramalhete_queue, 5,i: 36,067,184 msg/sec xenium::ramalhete_queue, 6,s: 33,944,001 msg/sec xenium::ramalhete_queue, 6,i: 39,024,333 msg/sec xenium::ramalhete_queue, 7,s: 35,052,557 msg/sec xenium::ramalhete_queue, 7,i: 40,925,960 msg/sec xenium::ramalhete_queue, 8,s: 35,340,564 msg/sec xenium::ramalhete_queue, 8,i: 43,882,898 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,093,262 msg/sec xenium::vyukov_bounded_queue, 1,i: 110,674,576 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,664,988 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,802,970 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,645,015 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,683,957 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,604,961 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,310,926 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,606,199 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,392,870 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,067,325 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,282,390 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,128,271 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,279,180 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,405,527 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,212,572 msg/sec AtomicQueue, 1,s: 61,427,853 msg/sec AtomicQueue, 1,i: 56,529,247 msg/sec AtomicQueue, 2,s: 12,218,541 msg/sec AtomicQueue, 2,i: 11,736,910 msg/sec AtomicQueue, 3,s: 10,730,498 msg/sec AtomicQueue, 3,i: 9,951,774 msg/sec AtomicQueue, 4,s: 8,194,526 msg/sec AtomicQueue, 4,i: 8,178,183 msg/sec AtomicQueue, 5,s: 8,040,475 msg/sec AtomicQueue, 5,i: 8,107,574 msg/sec AtomicQueue, 6,s: 7,806,258 msg/sec AtomicQueue, 6,i: 7,612,450 msg/sec AtomicQueue, 7,s: 7,118,883 msg/sec AtomicQueue, 7,i: 8,000,226 msg/sec AtomicQueue, 8,s: 6,354,132 msg/sec AtomicQueue, 8,i: 7,451,118 msg/sec AtomicQueueB, 1,s: 43,940,446 msg/sec AtomicQueueB, 1,i: 43,008,820 msg/sec AtomicQueueB, 2,s: 12,016,402 msg/sec AtomicQueueB, 2,i: 11,414,990 msg/sec AtomicQueueB, 3,s: 10,979,705 msg/sec AtomicQueueB, 3,i: 10,141,189 msg/sec AtomicQueueB, 4,s: 8,057,752 msg/sec AtomicQueueB, 4,i: 7,999,741 msg/sec AtomicQueueB, 5,s: 7,645,727 msg/sec AtomicQueueB, 5,i: 7,806,047 msg/sec AtomicQueueB, 6,s: 7,310,630 msg/sec AtomicQueueB, 6,i: 7,520,057 msg/sec AtomicQueueB, 7,s: 6,856,542 msg/sec AtomicQueueB, 7,i: 7,719,450 msg/sec AtomicQueueB, 8,s: 6,305,545 msg/sec AtomicQueueB, 8,i: 7,034,562 msg/sec OptimistAtomicQueue, 1,s: 808,623,647 msg/sec OptimistAtomicQueue, 1,i: 568,012,705 msg/sec OptimistAtomicQueue, 2,s: 32,641,677 msg/sec OptimistAtomicQueue, 2,i: 32,683,875 msg/sec OptimistAtomicQueue, 3,s: 36,617,409 msg/sec OptimistAtomicQueue, 3,i: 37,320,527 msg/sec OptimistAtomicQueue, 4,s: 39,235,079 msg/sec OptimistAtomicQueue, 4,i: 39,323,902 msg/sec OptimistAtomicQueue, 5,s: 42,548,351 msg/sec OptimistAtomicQueue, 5,i: 47,741,779 msg/sec OptimistAtomicQueue, 6,s: 42,347,168 msg/sec OptimistAtomicQueue, 6,i: 50,408,982 msg/sec OptimistAtomicQueue, 7,s: 44,612,862 msg/sec OptimistAtomicQueue, 7,i: 49,123,879 msg/sec OptimistAtomicQueue, 8,s: 46,415,662 msg/sec OptimistAtomicQueue, 8,i: 49,340,068 msg/sec OptimistAtomicQueueB, 1,s: 147,399,973 msg/sec OptimistAtomicQueueB, 1,i: 77,616,939 msg/sec OptimistAtomicQueueB, 2,s: 31,654,531 msg/sec OptimistAtomicQueueB, 2,i: 31,754,191 msg/sec OptimistAtomicQueueB, 3,s: 36,146,416 msg/sec OptimistAtomicQueueB, 3,i: 36,797,157 msg/sec OptimistAtomicQueueB, 4,s: 38,733,964 msg/sec OptimistAtomicQueueB, 4,i: 38,681,177 msg/sec OptimistAtomicQueueB, 5,s: 41,082,850 msg/sec OptimistAtomicQueueB, 5,i: 45,361,949 msg/sec OptimistAtomicQueueB, 6,s: 40,935,079 msg/sec OptimistAtomicQueueB, 6,i: 49,176,238 msg/sec OptimistAtomicQueueB, 7,s: 41,653,516 msg/sec OptimistAtomicQueueB, 7,i: 51,471,973 msg/sec OptimistAtomicQueueB, 8,s: 44,413,998 msg/sec OptimistAtomicQueueB, 8,i: 48,723,610 msg/sec AtomicQueue2, 1,s: 22,937,043 msg/sec AtomicQueue2, 1,i: 22,931,871 msg/sec AtomicQueue2, 2,s: 11,851,573 msg/sec AtomicQueue2, 2,i: 11,420,541 msg/sec AtomicQueue2, 3,s: 9,513,074 msg/sec AtomicQueue2, 3,i: 9,427,906 msg/sec AtomicQueue2, 4,s: 8,104,896 msg/sec AtomicQueue2, 4,i: 8,040,218 msg/sec AtomicQueue2, 5,s: 7,924,492 msg/sec AtomicQueue2, 5,i: 7,994,770 msg/sec AtomicQueue2, 6,s: 7,814,162 msg/sec AtomicQueue2, 6,i: 7,495,133 msg/sec AtomicQueue2, 7,s: 7,126,745 msg/sec AtomicQueue2, 7,i: 7,882,878 msg/sec AtomicQueue2, 8,s: 6,387,410 msg/sec AtomicQueue2, 8,i: 7,376,418 msg/sec AtomicQueueB2, 1,s: 36,041,240 msg/sec AtomicQueueB2, 1,i: 36,102,459 msg/sec AtomicQueueB2, 2,s: 11,412,607 msg/sec AtomicQueueB2, 2,i: 11,028,382 msg/sec AtomicQueueB2, 3,s: 9,538,821 msg/sec AtomicQueueB2, 3,i: 9,560,973 msg/sec AtomicQueueB2, 4,s: 7,964,579 msg/sec AtomicQueueB2, 4,i: 7,821,450 msg/sec AtomicQueueB2, 5,s: 7,513,843 msg/sec AtomicQueueB2, 5,i: 7,705,988 msg/sec AtomicQueueB2, 6,s: 7,143,559 msg/sec AtomicQueueB2, 6,i: 7,429,523 msg/sec AtomicQueueB2, 7,s: 6,857,885 msg/sec AtomicQueueB2, 7,i: 7,709,919 msg/sec AtomicQueueB2, 8,s: 6,271,642 msg/sec AtomicQueueB2, 8,i: 7,117,825 msg/sec OptimistAtomicQueue2, 1,s: 29,484,454 msg/sec OptimistAtomicQueue2, 1,i: 27,066,559 msg/sec OptimistAtomicQueue2, 2,s: 25,912,992 msg/sec OptimistAtomicQueue2, 2,i: 24,386,652 msg/sec OptimistAtomicQueue2, 3,s: 29,837,703 msg/sec OptimistAtomicQueue2, 3,i: 29,626,911 msg/sec OptimistAtomicQueue2, 4,s: 33,178,344 msg/sec OptimistAtomicQueue2, 4,i: 32,943,062 msg/sec OptimistAtomicQueue2, 5,s: 37,301,669 msg/sec OptimistAtomicQueue2, 5,i: 40,364,246 msg/sec OptimistAtomicQueue2, 6,s: 40,558,432 msg/sec OptimistAtomicQueue2, 6,i: 48,921,360 msg/sec OptimistAtomicQueue2, 7,s: 42,946,472 msg/sec OptimistAtomicQueue2, 7,i: 51,320,983 msg/sec OptimistAtomicQueue2, 8,s: 43,864,943 msg/sec OptimistAtomicQueue2, 8,i: 48,441,539 msg/sec OptimistAtomicQueueB2, 1,s: 78,349,417 msg/sec OptimistAtomicQueueB2, 1,i: 33,938,719 msg/sec OptimistAtomicQueueB2, 2,s: 28,751,258 msg/sec OptimistAtomicQueueB2, 2,i: 26,261,314 msg/sec OptimistAtomicQueueB2, 3,s: 30,094,345 msg/sec OptimistAtomicQueueB2, 3,i: 29,162,692 msg/sec OptimistAtomicQueueB2, 4,s: 33,080,099 msg/sec OptimistAtomicQueueB2, 4,i: 32,822,478 msg/sec OptimistAtomicQueueB2, 5,s: 34,735,693 msg/sec OptimistAtomicQueueB2, 5,i: 39,152,464 msg/sec OptimistAtomicQueueB2, 6,s: 36,846,245 msg/sec OptimistAtomicQueueB2, 6,i: 41,537,936 msg/sec OptimistAtomicQueueB2, 7,s: 40,325,341 msg/sec OptimistAtomicQueueB2, 7,i: 43,025,149 msg/sec OptimistAtomicQueueB2, 8,s: 42,424,564 msg/sec OptimistAtomicQueueB2, 8,i: 45,288,638 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000325 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000241 sec/round-trip std::mutex: 0.000000436 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [124] 317m:45s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,116,786 msg/sec boost::lockfree::spsc_queue, 1,i: 70,187,616 msg/sec boost::lockfree::queue, 1,s: 6,872,223 msg/sec boost::lockfree::queue, 1,i: 6,939,515 msg/sec boost::lockfree::queue, 2,s: 7,706,881 msg/sec boost::lockfree::queue, 2,i: 7,517,488 msg/sec boost::lockfree::queue, 3,s: 7,350,659 msg/sec boost::lockfree::queue, 3,i: 7,547,111 msg/sec boost::lockfree::queue, 4,s: 6,415,271 msg/sec boost::lockfree::queue, 4,i: 6,793,623 msg/sec boost::lockfree::queue, 5,s: 6,477,040 msg/sec boost::lockfree::queue, 5,i: 6,497,710 msg/sec boost::lockfree::queue, 6,s: 5,955,905 msg/sec boost::lockfree::queue, 6,i: 6,112,443 msg/sec boost::lockfree::queue, 7,s: 5,943,488 msg/sec boost::lockfree::queue, 7,i: 6,017,119 msg/sec boost::lockfree::queue, 8,s: 5,437,799 msg/sec boost::lockfree::queue, 8,i: 5,581,130 msg/sec moodycamel::ReaderWriterQueue, 1,s: 81,785,628 msg/sec moodycamel::ReaderWriterQueue, 1,i: 65,733,880 msg/sec moodycamel::ConcurrentQueue, 1,s: 23,323,767 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,696,740 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,003,715 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,590,012 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,014,960 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,931,249 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,909,583 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,130,250 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,308,968 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,601,335 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,491,542 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,215,943 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,043,737 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,532,317 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,273,830 msg/sec moodycamel::ConcurrentQueue, 8,i: 39,171,040 msg/sec pthread_spinlock, 1,s: 28,838,262 msg/sec pthread_spinlock, 1,i: 26,212,284 msg/sec pthread_spinlock, 2,s: 15,587,619 msg/sec pthread_spinlock, 2,i: 16,892,515 msg/sec pthread_spinlock, 3,s: 8,395,953 msg/sec pthread_spinlock, 3,i: 11,944,157 msg/sec pthread_spinlock, 4,s: 6,471,800 msg/sec pthread_spinlock, 4,i: 9,200,839 msg/sec pthread_spinlock, 5,s: 8,773,790 msg/sec pthread_spinlock, 5,i: 9,348,698 msg/sec pthread_spinlock, 6,s: 8,291,678 msg/sec pthread_spinlock, 6,i: 8,553,350 msg/sec pthread_spinlock, 7,s: 7,573,316 msg/sec pthread_spinlock, 7,i: 7,715,041 msg/sec pthread_spinlock, 8,s: 6,900,414 msg/sec pthread_spinlock, 8,i: 6,907,024 msg/sec std::mutex, 1,s: 6,675,013 msg/sec std::mutex, 1,i: 6,986,870 msg/sec std::mutex, 2,s: 5,353,438 msg/sec std::mutex, 2,i: 5,648,305 msg/sec std::mutex, 3,s: 5,003,474 msg/sec std::mutex, 3,i: 6,237,522 msg/sec std::mutex, 4,s: 6,306,972 msg/sec std::mutex, 4,i: 6,376,780 msg/sec std::mutex, 5,s: 6,185,123 msg/sec std::mutex, 5,i: 6,037,293 msg/sec std::mutex, 6,s: 6,090,401 msg/sec std::mutex, 6,i: 6,045,256 msg/sec std::mutex, 7,s: 5,910,879 msg/sec std::mutex, 7,i: 5,893,662 msg/sec std::mutex, 8,s: 5,710,797 msg/sec std::mutex, 8,i: 5,673,716 msg/sec tbb::spin_mutex, 1,s: 37,697,093 msg/sec tbb::spin_mutex, 1,i: 37,448,359 msg/sec tbb::spin_mutex, 2,s: 21,184,375 msg/sec tbb::spin_mutex, 2,i: 18,386,468 msg/sec tbb::spin_mutex, 3,s: 7,907,448 msg/sec tbb::spin_mutex, 3,i: 10,247,089 msg/sec tbb::spin_mutex, 4,s: 3,192,788 msg/sec tbb::spin_mutex, 4,i: 6,205,447 msg/sec tbb::spin_mutex, 5,s: 5,281,064 msg/sec tbb::spin_mutex, 5,i: 5,835,766 msg/sec tbb::spin_mutex, 6,s: 5,290,465 msg/sec tbb::spin_mutex, 6,i: 4,368,962 msg/sec tbb::spin_mutex, 7,s: 4,811,475 msg/sec tbb::spin_mutex, 7,i: 4,338,256 msg/sec tbb::spin_mutex, 8,s: 4,239,527 msg/sec tbb::spin_mutex, 8,i: 4,092,263 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,467,320 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,427,903 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,891,145 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,902,491 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,592,185 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,922,184 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,100,455 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,399,031 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,732,244 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,760,385 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,918,870 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,882,927 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,758,746 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,178,353 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,650,517 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,302,518 msg/sec xenium::michael_scott_queue, 1,s: 9,413,196 msg/sec xenium::michael_scott_queue, 1,i: 9,399,949 msg/sec xenium::michael_scott_queue, 2,s: 8,501,510 msg/sec xenium::michael_scott_queue, 2,i: 8,451,569 msg/sec xenium::michael_scott_queue, 3,s: 7,143,781 msg/sec xenium::michael_scott_queue, 3,i: 7,546,395 msg/sec xenium::michael_scott_queue, 4,s: 6,265,432 msg/sec xenium::michael_scott_queue, 4,i: 6,333,276 msg/sec xenium::michael_scott_queue, 5,s: 6,285,097 msg/sec xenium::michael_scott_queue, 5,i: 6,633,317 msg/sec xenium::michael_scott_queue, 6,s: 6,486,174 msg/sec xenium::michael_scott_queue, 6,i: 6,764,001 msg/sec xenium::michael_scott_queue, 7,s: 6,353,597 msg/sec xenium::michael_scott_queue, 7,i: 6,546,616 msg/sec xenium::michael_scott_queue, 8,s: 5,992,814 msg/sec xenium::michael_scott_queue, 8,i: 6,157,316 msg/sec xenium::ramalhete_queue, 1,s: 31,813,901 msg/sec xenium::ramalhete_queue, 1,i: 31,731,634 msg/sec xenium::ramalhete_queue, 2,s: 23,611,133 msg/sec xenium::ramalhete_queue, 2,i: 23,335,844 msg/sec xenium::ramalhete_queue, 3,s: 29,101,313 msg/sec xenium::ramalhete_queue, 3,i: 28,409,421 msg/sec xenium::ramalhete_queue, 4,s: 33,711,836 msg/sec xenium::ramalhete_queue, 4,i: 33,424,789 msg/sec xenium::ramalhete_queue, 5,s: 32,019,736 msg/sec xenium::ramalhete_queue, 5,i: 36,158,884 msg/sec xenium::ramalhete_queue, 6,s: 34,027,733 msg/sec xenium::ramalhete_queue, 6,i: 38,998,269 msg/sec xenium::ramalhete_queue, 7,s: 35,109,160 msg/sec xenium::ramalhete_queue, 7,i: 41,665,900 msg/sec xenium::ramalhete_queue, 8,s: 35,548,104 msg/sec xenium::ramalhete_queue, 8,i: 44,145,201 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,629,216 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,924,418 msg/sec xenium::vyukov_bounded_queue, 2,s: 23,054,990 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,216,433 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,707,254 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,056,663 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,565,180 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,396,361 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,054,055 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,297,059 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,023,854 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,611,304 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,238,257 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,407,425 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,397,540 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,344,020 msg/sec AtomicQueue, 1,s: 71,989,022 msg/sec AtomicQueue, 1,i: 57,176,565 msg/sec AtomicQueue, 2,s: 12,218,087 msg/sec AtomicQueue, 2,i: 11,777,946 msg/sec AtomicQueue, 3,s: 10,743,399 msg/sec AtomicQueue, 3,i: 9,968,997 msg/sec AtomicQueue, 4,s: 8,214,327 msg/sec AtomicQueue, 4,i: 8,184,114 msg/sec AtomicQueue, 5,s: 8,025,101 msg/sec AtomicQueue, 5,i: 8,135,978 msg/sec AtomicQueue, 6,s: 7,913,451 msg/sec AtomicQueue, 6,i: 7,604,703 msg/sec AtomicQueue, 7,s: 7,141,559 msg/sec AtomicQueue, 7,i: 8,001,074 msg/sec AtomicQueue, 8,s: 6,352,123 msg/sec AtomicQueue, 8,i: 7,451,934 msg/sec AtomicQueueB, 1,s: 44,852,117 msg/sec AtomicQueueB, 1,i: 43,853,009 msg/sec AtomicQueueB, 2,s: 12,063,474 msg/sec AtomicQueueB, 2,i: 11,456,834 msg/sec AtomicQueueB, 3,s: 10,911,020 msg/sec AtomicQueueB, 3,i: 10,173,389 msg/sec AtomicQueueB, 4,s: 8,017,947 msg/sec AtomicQueueB, 4,i: 8,084,049 msg/sec AtomicQueueB, 5,s: 7,642,390 msg/sec AtomicQueueB, 5,i: 7,752,609 msg/sec AtomicQueueB, 6,s: 7,219,688 msg/sec AtomicQueueB, 6,i: 7,514,285 msg/sec AtomicQueueB, 7,s: 6,874,088 msg/sec AtomicQueueB, 7,i: 7,770,159 msg/sec AtomicQueueB, 8,s: 6,230,546 msg/sec AtomicQueueB, 8,i: 7,177,046 msg/sec OptimistAtomicQueue, 1,s: 569,104,106 msg/sec OptimistAtomicQueue, 1,i: 549,703,277 msg/sec OptimistAtomicQueue, 2,s: 32,176,065 msg/sec OptimistAtomicQueue, 2,i: 32,689,763 msg/sec OptimistAtomicQueue, 3,s: 36,659,502 msg/sec OptimistAtomicQueue, 3,i: 37,354,452 msg/sec OptimistAtomicQueue, 4,s: 39,273,218 msg/sec OptimistAtomicQueue, 4,i: 39,406,522 msg/sec OptimistAtomicQueue, 5,s: 42,560,626 msg/sec OptimistAtomicQueue, 5,i: 47,171,880 msg/sec OptimistAtomicQueue, 6,s: 42,501,860 msg/sec OptimistAtomicQueue, 6,i: 50,456,576 msg/sec OptimistAtomicQueue, 7,s: 44,302,735 msg/sec OptimistAtomicQueue, 7,i: 52,067,246 msg/sec OptimistAtomicQueue, 8,s: 46,364,821 msg/sec OptimistAtomicQueue, 8,i: 48,863,169 msg/sec OptimistAtomicQueueB, 1,s: 89,989,431 msg/sec OptimistAtomicQueueB, 1,i: 76,496,818 msg/sec OptimistAtomicQueueB, 2,s: 32,211,783 msg/sec OptimistAtomicQueueB, 2,i: 31,903,790 msg/sec OptimistAtomicQueueB, 3,s: 36,196,665 msg/sec OptimistAtomicQueueB, 3,i: 36,798,975 msg/sec OptimistAtomicQueueB, 4,s: 38,555,684 msg/sec OptimistAtomicQueueB, 4,i: 38,596,975 msg/sec OptimistAtomicQueueB, 5,s: 40,292,498 msg/sec OptimistAtomicQueueB, 5,i: 45,756,488 msg/sec OptimistAtomicQueueB, 6,s: 40,826,708 msg/sec OptimistAtomicQueueB, 6,i: 49,168,907 msg/sec OptimistAtomicQueueB, 7,s: 42,705,290 msg/sec OptimistAtomicQueueB, 7,i: 50,824,075 msg/sec OptimistAtomicQueueB, 8,s: 44,286,519 msg/sec OptimistAtomicQueueB, 8,i: 47,916,219 msg/sec AtomicQueue2, 1,s: 23,067,050 msg/sec AtomicQueue2, 1,i: 23,069,063 msg/sec AtomicQueue2, 2,s: 11,785,337 msg/sec AtomicQueue2, 2,i: 11,456,079 msg/sec AtomicQueue2, 3,s: 9,505,167 msg/sec AtomicQueue2, 3,i: 9,349,937 msg/sec AtomicQueue2, 4,s: 8,024,765 msg/sec AtomicQueue2, 4,i: 7,997,747 msg/sec AtomicQueue2, 5,s: 7,928,352 msg/sec AtomicQueue2, 5,i: 7,946,610 msg/sec AtomicQueue2, 6,s: 7,800,064 msg/sec AtomicQueue2, 6,i: 7,560,214 msg/sec AtomicQueue2, 7,s: 7,108,755 msg/sec AtomicQueue2, 7,i: 7,860,746 msg/sec AtomicQueue2, 8,s: 6,381,642 msg/sec AtomicQueue2, 8,i: 7,333,945 msg/sec AtomicQueueB2, 1,s: 36,208,942 msg/sec AtomicQueueB2, 1,i: 32,656,827 msg/sec AtomicQueueB2, 2,s: 11,363,036 msg/sec AtomicQueueB2, 2,i: 11,107,814 msg/sec AtomicQueueB2, 3,s: 9,578,539 msg/sec AtomicQueueB2, 3,i: 9,479,596 msg/sec AtomicQueueB2, 4,s: 7,957,153 msg/sec AtomicQueueB2, 4,i: 7,812,294 msg/sec AtomicQueueB2, 5,s: 7,537,532 msg/sec AtomicQueueB2, 5,i: 7,603,512 msg/sec AtomicQueueB2, 6,s: 7,248,614 msg/sec AtomicQueueB2, 6,i: 7,412,884 msg/sec AtomicQueueB2, 7,s: 6,914,111 msg/sec AtomicQueueB2, 7,i: 7,716,312 msg/sec AtomicQueueB2, 8,s: 6,347,362 msg/sec AtomicQueueB2, 8,i: 7,102,395 msg/sec OptimistAtomicQueue2, 1,s: 32,681,490 msg/sec OptimistAtomicQueue2, 1,i: 32,780,772 msg/sec OptimistAtomicQueue2, 2,s: 29,499,190 msg/sec OptimistAtomicQueue2, 2,i: 24,173,120 msg/sec OptimistAtomicQueue2, 3,s: 30,324,402 msg/sec OptimistAtomicQueue2, 3,i: 30,035,433 msg/sec OptimistAtomicQueue2, 4,s: 33,260,873 msg/sec OptimistAtomicQueue2, 4,i: 33,366,851 msg/sec OptimistAtomicQueue2, 5,s: 37,186,694 msg/sec OptimistAtomicQueue2, 5,i: 41,145,171 msg/sec OptimistAtomicQueue2, 6,s: 40,380,526 msg/sec OptimistAtomicQueue2, 6,i: 49,287,690 msg/sec OptimistAtomicQueue2, 7,s: 42,757,128 msg/sec OptimistAtomicQueue2, 7,i: 51,384,580 msg/sec OptimistAtomicQueue2, 8,s: 43,948,364 msg/sec OptimistAtomicQueue2, 8,i: 48,531,834 msg/sec OptimistAtomicQueueB2, 1,s: 77,207,664 msg/sec OptimistAtomicQueueB2, 1,i: 67,999,450 msg/sec OptimistAtomicQueueB2, 2,s: 28,823,001 msg/sec OptimistAtomicQueueB2, 2,i: 23,168,219 msg/sec OptimistAtomicQueueB2, 3,s: 29,922,034 msg/sec OptimistAtomicQueueB2, 3,i: 29,093,040 msg/sec OptimistAtomicQueueB2, 4,s: 33,447,701 msg/sec OptimistAtomicQueueB2, 4,i: 32,857,930 msg/sec OptimistAtomicQueueB2, 5,s: 34,535,056 msg/sec OptimistAtomicQueueB2, 5,i: 39,861,229 msg/sec OptimistAtomicQueueB2, 6,s: 37,430,400 msg/sec OptimistAtomicQueueB2, 6,i: 42,468,167 msg/sec OptimistAtomicQueueB2, 7,s: 40,803,315 msg/sec OptimistAtomicQueueB2, 7,i: 43,057,560 msg/sec OptimistAtomicQueueB2, 8,s: 42,133,080 msg/sec OptimistAtomicQueueB2, 8,i: 45,865,719 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000119 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000246 sec/round-trip std::mutex: 0.000000468 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000198 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [125] 316m:26s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,864,932 msg/sec boost::lockfree::spsc_queue, 1,i: 67,989,485 msg/sec boost::lockfree::queue, 1,s: 6,765,494 msg/sec boost::lockfree::queue, 1,i: 6,806,240 msg/sec boost::lockfree::queue, 2,s: 7,608,713 msg/sec boost::lockfree::queue, 2,i: 7,490,507 msg/sec boost::lockfree::queue, 3,s: 7,366,276 msg/sec boost::lockfree::queue, 3,i: 7,563,643 msg/sec boost::lockfree::queue, 4,s: 6,421,593 msg/sec boost::lockfree::queue, 4,i: 6,759,530 msg/sec boost::lockfree::queue, 5,s: 6,423,806 msg/sec boost::lockfree::queue, 5,i: 6,518,629 msg/sec boost::lockfree::queue, 6,s: 6,032,455 msg/sec boost::lockfree::queue, 6,i: 6,111,301 msg/sec boost::lockfree::queue, 7,s: 6,028,691 msg/sec boost::lockfree::queue, 7,i: 6,037,091 msg/sec boost::lockfree::queue, 8,s: 5,508,793 msg/sec boost::lockfree::queue, 8,i: 5,522,090 msg/sec moodycamel::ReaderWriterQueue, 1,s: 480,930,735 msg/sec moodycamel::ReaderWriterQueue, 1,i: 484,096,931 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,101,075 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,575,161 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,024,931 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,405,871 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,755,924 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,773,371 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,432,718 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,503,094 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,413,738 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,839,995 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,341,020 msg/sec moodycamel::ConcurrentQueue, 6,i: 32,782,057 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,011,037 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,199,065 msg/sec moodycamel::ConcurrentQueue, 8,s: 50,005,381 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,057,827 msg/sec pthread_spinlock, 1,s: 28,847,622 msg/sec pthread_spinlock, 1,i: 25,345,410 msg/sec pthread_spinlock, 2,s: 16,133,550 msg/sec pthread_spinlock, 2,i: 17,105,594 msg/sec pthread_spinlock, 3,s: 8,437,497 msg/sec pthread_spinlock, 3,i: 11,873,308 msg/sec pthread_spinlock, 4,s: 6,481,159 msg/sec pthread_spinlock, 4,i: 9,064,883 msg/sec pthread_spinlock, 5,s: 8,526,994 msg/sec pthread_spinlock, 5,i: 9,407,369 msg/sec pthread_spinlock, 6,s: 8,556,387 msg/sec pthread_spinlock, 6,i: 8,809,462 msg/sec pthread_spinlock, 7,s: 7,631,733 msg/sec pthread_spinlock, 7,i: 8,020,114 msg/sec pthread_spinlock, 8,s: 6,656,436 msg/sec pthread_spinlock, 8,i: 6,978,449 msg/sec std::mutex, 1,s: 6,897,871 msg/sec std::mutex, 1,i: 6,893,207 msg/sec std::mutex, 2,s: 5,172,929 msg/sec std::mutex, 2,i: 5,393,496 msg/sec std::mutex, 3,s: 6,131,109 msg/sec std::mutex, 3,i: 5,607,020 msg/sec std::mutex, 4,s: 5,247,680 msg/sec std::mutex, 4,i: 6,131,522 msg/sec std::mutex, 5,s: 5,653,172 msg/sec std::mutex, 5,i: 6,007,677 msg/sec std::mutex, 6,s: 5,908,142 msg/sec std::mutex, 6,i: 5,931,516 msg/sec std::mutex, 7,s: 5,806,759 msg/sec std::mutex, 7,i: 5,820,206 msg/sec std::mutex, 8,s: 5,665,904 msg/sec std::mutex, 8,i: 5,669,423 msg/sec tbb::spin_mutex, 1,s: 37,851,670 msg/sec tbb::spin_mutex, 1,i: 37,462,315 msg/sec tbb::spin_mutex, 2,s: 21,195,508 msg/sec tbb::spin_mutex, 2,i: 18,514,744 msg/sec tbb::spin_mutex, 3,s: 8,010,063 msg/sec tbb::spin_mutex, 3,i: 10,819,898 msg/sec tbb::spin_mutex, 4,s: 3,241,144 msg/sec tbb::spin_mutex, 4,i: 6,354,252 msg/sec tbb::spin_mutex, 5,s: 5,250,812 msg/sec tbb::spin_mutex, 5,i: 5,679,708 msg/sec tbb::spin_mutex, 6,s: 5,345,147 msg/sec tbb::spin_mutex, 6,i: 4,386,434 msg/sec tbb::spin_mutex, 7,s: 4,876,086 msg/sec tbb::spin_mutex, 7,i: 4,306,850 msg/sec tbb::spin_mutex, 8,s: 4,263,333 msg/sec tbb::spin_mutex, 8,i: 4,171,929 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,431,535 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,005,683 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,554,808 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,796,247 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,140,502 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,793,244 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,283,242 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,238,096 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,786,490 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,170,689 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,860,403 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,399,389 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,959,639 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,580,170 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,040,870 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,748,077 msg/sec xenium::michael_scott_queue, 1,s: 9,065,504 msg/sec xenium::michael_scott_queue, 1,i: 8,938,902 msg/sec xenium::michael_scott_queue, 2,s: 8,384,789 msg/sec xenium::michael_scott_queue, 2,i: 8,456,171 msg/sec xenium::michael_scott_queue, 3,s: 7,237,243 msg/sec xenium::michael_scott_queue, 3,i: 7,557,556 msg/sec xenium::michael_scott_queue, 4,s: 6,285,371 msg/sec xenium::michael_scott_queue, 4,i: 6,356,383 msg/sec xenium::michael_scott_queue, 5,s: 6,326,144 msg/sec xenium::michael_scott_queue, 5,i: 6,675,084 msg/sec xenium::michael_scott_queue, 6,s: 6,497,668 msg/sec xenium::michael_scott_queue, 6,i: 6,698,015 msg/sec xenium::michael_scott_queue, 7,s: 6,256,230 msg/sec xenium::michael_scott_queue, 7,i: 6,542,598 msg/sec xenium::michael_scott_queue, 8,s: 5,953,420 msg/sec xenium::michael_scott_queue, 8,i: 6,099,674 msg/sec xenium::ramalhete_queue, 1,s: 31,666,406 msg/sec xenium::ramalhete_queue, 1,i: 32,144,774 msg/sec xenium::ramalhete_queue, 2,s: 23,543,043 msg/sec xenium::ramalhete_queue, 2,i: 23,268,900 msg/sec xenium::ramalhete_queue, 3,s: 29,182,875 msg/sec xenium::ramalhete_queue, 3,i: 28,430,054 msg/sec xenium::ramalhete_queue, 4,s: 33,830,985 msg/sec xenium::ramalhete_queue, 4,i: 33,561,378 msg/sec xenium::ramalhete_queue, 5,s: 32,074,233 msg/sec xenium::ramalhete_queue, 5,i: 36,027,365 msg/sec xenium::ramalhete_queue, 6,s: 34,035,366 msg/sec xenium::ramalhete_queue, 6,i: 40,169,636 msg/sec xenium::ramalhete_queue, 7,s: 35,119,981 msg/sec xenium::ramalhete_queue, 7,i: 41,343,046 msg/sec xenium::ramalhete_queue, 8,s: 35,293,521 msg/sec xenium::ramalhete_queue, 8,i: 43,434,679 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,182,018 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,224,798 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,853,705 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,839,758 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,605,776 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,930,647 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,658,421 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,375,680 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,991,149 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,238,949 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,982,580 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,410,435 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,270,514 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,918,628 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,394,417 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,267,531 msg/sec AtomicQueue, 1,s: 63,531,534 msg/sec AtomicQueue, 1,i: 56,306,170 msg/sec AtomicQueue, 2,s: 12,235,051 msg/sec AtomicQueue, 2,i: 11,739,841 msg/sec AtomicQueue, 3,s: 10,826,228 msg/sec AtomicQueue, 3,i: 9,923,140 msg/sec AtomicQueue, 4,s: 8,224,126 msg/sec AtomicQueue, 4,i: 8,214,215 msg/sec AtomicQueue, 5,s: 8,042,270 msg/sec AtomicQueue, 5,i: 8,072,705 msg/sec AtomicQueue, 6,s: 7,823,610 msg/sec AtomicQueue, 6,i: 7,613,754 msg/sec AtomicQueue, 7,s: 7,123,762 msg/sec AtomicQueue, 7,i: 7,984,550 msg/sec AtomicQueue, 8,s: 6,315,842 msg/sec AtomicQueue, 8,i: 7,436,540 msg/sec AtomicQueueB, 1,s: 43,941,851 msg/sec AtomicQueueB, 1,i: 42,911,934 msg/sec AtomicQueueB, 2,s: 11,823,890 msg/sec AtomicQueueB, 2,i: 11,466,200 msg/sec AtomicQueueB, 3,s: 10,942,039 msg/sec AtomicQueueB, 3,i: 10,181,147 msg/sec AtomicQueueB, 4,s: 8,074,869 msg/sec AtomicQueueB, 4,i: 8,034,654 msg/sec AtomicQueueB, 5,s: 7,694,217 msg/sec AtomicQueueB, 5,i: 7,784,634 msg/sec AtomicQueueB, 6,s: 7,283,338 msg/sec AtomicQueueB, 6,i: 7,524,437 msg/sec AtomicQueueB, 7,s: 6,846,866 msg/sec AtomicQueueB, 7,i: 7,685,086 msg/sec AtomicQueueB, 8,s: 6,226,583 msg/sec AtomicQueueB, 8,i: 7,132,945 msg/sec OptimistAtomicQueue, 1,s: 715,624,827 msg/sec OptimistAtomicQueue, 1,i: 521,127,145 msg/sec OptimistAtomicQueue, 2,s: 32,649,080 msg/sec OptimistAtomicQueue, 2,i: 32,735,031 msg/sec OptimistAtomicQueue, 3,s: 36,683,672 msg/sec OptimistAtomicQueue, 3,i: 37,414,562 msg/sec OptimistAtomicQueue, 4,s: 39,285,021 msg/sec OptimistAtomicQueue, 4,i: 39,374,367 msg/sec OptimistAtomicQueue, 5,s: 42,408,477 msg/sec OptimistAtomicQueue, 5,i: 46,342,796 msg/sec OptimistAtomicQueue, 6,s: 42,576,481 msg/sec OptimistAtomicQueue, 6,i: 50,394,157 msg/sec OptimistAtomicQueue, 7,s: 44,284,067 msg/sec OptimistAtomicQueue, 7,i: 48,995,157 msg/sec OptimistAtomicQueue, 8,s: 46,390,470 msg/sec OptimistAtomicQueue, 8,i: 48,970,904 msg/sec OptimistAtomicQueueB, 1,s: 77,849,160 msg/sec OptimistAtomicQueueB, 1,i: 76,515,653 msg/sec OptimistAtomicQueueB, 2,s: 31,725,669 msg/sec OptimistAtomicQueueB, 2,i: 32,238,638 msg/sec OptimistAtomicQueueB, 3,s: 36,289,642 msg/sec OptimistAtomicQueueB, 3,i: 36,842,421 msg/sec OptimistAtomicQueueB, 4,s: 38,654,645 msg/sec OptimistAtomicQueueB, 4,i: 38,653,127 msg/sec OptimistAtomicQueueB, 5,s: 40,164,602 msg/sec OptimistAtomicQueueB, 5,i: 45,387,206 msg/sec OptimistAtomicQueueB, 6,s: 40,993,900 msg/sec OptimistAtomicQueueB, 6,i: 48,950,517 msg/sec OptimistAtomicQueueB, 7,s: 41,908,409 msg/sec OptimistAtomicQueueB, 7,i: 51,492,073 msg/sec OptimistAtomicQueueB, 8,s: 44,423,689 msg/sec OptimistAtomicQueueB, 8,i: 47,761,339 msg/sec AtomicQueue2, 1,s: 22,861,818 msg/sec AtomicQueue2, 1,i: 22,853,258 msg/sec AtomicQueue2, 2,s: 11,775,783 msg/sec AtomicQueue2, 2,i: 11,396,863 msg/sec AtomicQueue2, 3,s: 9,800,441 msg/sec AtomicQueue2, 3,i: 9,366,650 msg/sec AtomicQueue2, 4,s: 8,019,994 msg/sec AtomicQueue2, 4,i: 8,058,669 msg/sec AtomicQueue2, 5,s: 7,936,988 msg/sec AtomicQueue2, 5,i: 8,012,852 msg/sec AtomicQueue2, 6,s: 7,864,338 msg/sec AtomicQueue2, 6,i: 7,516,972 msg/sec AtomicQueue2, 7,s: 7,107,626 msg/sec AtomicQueue2, 7,i: 7,884,655 msg/sec AtomicQueue2, 8,s: 6,392,270 msg/sec AtomicQueue2, 8,i: 7,334,005 msg/sec AtomicQueueB2, 1,s: 36,080,027 msg/sec AtomicQueueB2, 1,i: 36,132,492 msg/sec AtomicQueueB2, 2,s: 11,447,755 msg/sec AtomicQueueB2, 2,i: 11,054,525 msg/sec AtomicQueueB2, 3,s: 9,637,504 msg/sec AtomicQueueB2, 3,i: 9,512,886 msg/sec AtomicQueueB2, 4,s: 7,945,860 msg/sec AtomicQueueB2, 4,i: 7,892,217 msg/sec AtomicQueueB2, 5,s: 7,611,335 msg/sec AtomicQueueB2, 5,i: 7,770,443 msg/sec AtomicQueueB2, 6,s: 7,256,124 msg/sec AtomicQueueB2, 6,i: 7,472,476 msg/sec AtomicQueueB2, 7,s: 6,906,109 msg/sec AtomicQueueB2, 7,i: 7,723,275 msg/sec AtomicQueueB2, 8,s: 6,271,383 msg/sec AtomicQueueB2, 8,i: 7,080,396 msg/sec OptimistAtomicQueue2, 1,s: 436,945,154 msg/sec OptimistAtomicQueue2, 1,i: 417,813,346 msg/sec OptimistAtomicQueue2, 2,s: 24,248,591 msg/sec OptimistAtomicQueue2, 2,i: 25,135,521 msg/sec OptimistAtomicQueue2, 3,s: 29,843,123 msg/sec OptimistAtomicQueue2, 3,i: 29,579,548 msg/sec OptimistAtomicQueue2, 4,s: 33,160,236 msg/sec OptimistAtomicQueue2, 4,i: 33,710,223 msg/sec OptimistAtomicQueue2, 5,s: 37,026,586 msg/sec OptimistAtomicQueue2, 5,i: 40,626,566 msg/sec OptimistAtomicQueue2, 6,s: 40,502,346 msg/sec OptimistAtomicQueue2, 6,i: 49,106,384 msg/sec OptimistAtomicQueue2, 7,s: 42,758,220 msg/sec OptimistAtomicQueue2, 7,i: 51,770,409 msg/sec OptimistAtomicQueue2, 8,s: 44,494,952 msg/sec OptimistAtomicQueue2, 8,i: 48,061,602 msg/sec OptimistAtomicQueueB2, 1,s: 78,149,690 msg/sec OptimistAtomicQueueB2, 1,i: 33,864,897 msg/sec OptimistAtomicQueueB2, 2,s: 27,338,109 msg/sec OptimistAtomicQueueB2, 2,i: 24,294,345 msg/sec OptimistAtomicQueueB2, 3,s: 29,722,448 msg/sec OptimistAtomicQueueB2, 3,i: 29,652,042 msg/sec OptimistAtomicQueueB2, 4,s: 33,394,404 msg/sec OptimistAtomicQueueB2, 4,i: 32,158,042 msg/sec OptimistAtomicQueueB2, 5,s: 34,557,626 msg/sec OptimistAtomicQueueB2, 5,i: 39,406,357 msg/sec OptimistAtomicQueueB2, 6,s: 37,394,735 msg/sec OptimistAtomicQueueB2, 6,i: 42,401,717 msg/sec OptimistAtomicQueueB2, 7,s: 40,176,516 msg/sec OptimistAtomicQueueB2, 7,i: 43,186,638 msg/sec OptimistAtomicQueueB2, 8,s: 42,241,664 msg/sec OptimistAtomicQueueB2, 8,i: 45,484,516 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000130 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000363 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000216 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000155 sec/round-trip [126] 315m:7s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,482,972 msg/sec boost::lockfree::spsc_queue, 1,i: 65,501,858 msg/sec boost::lockfree::queue, 1,s: 6,808,261 msg/sec boost::lockfree::queue, 1,i: 6,920,959 msg/sec boost::lockfree::queue, 2,s: 7,663,675 msg/sec boost::lockfree::queue, 2,i: 7,481,117 msg/sec boost::lockfree::queue, 3,s: 7,406,348 msg/sec boost::lockfree::queue, 3,i: 7,567,377 msg/sec boost::lockfree::queue, 4,s: 6,408,388 msg/sec boost::lockfree::queue, 4,i: 6,846,858 msg/sec boost::lockfree::queue, 5,s: 6,395,028 msg/sec boost::lockfree::queue, 5,i: 6,444,714 msg/sec boost::lockfree::queue, 6,s: 6,035,836 msg/sec boost::lockfree::queue, 6,i: 6,113,426 msg/sec boost::lockfree::queue, 7,s: 5,829,286 msg/sec boost::lockfree::queue, 7,i: 6,078,752 msg/sec boost::lockfree::queue, 8,s: 5,449,797 msg/sec boost::lockfree::queue, 8,i: 5,547,992 msg/sec moodycamel::ReaderWriterQueue, 1,s: 395,454,096 msg/sec moodycamel::ReaderWriterQueue, 1,i: 353,346,433 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,086,202 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,196,562 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,407,890 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,339,258 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,109,232 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,653,564 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,879,914 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,995,565 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,280,942 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,117,647 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,371,277 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,879,005 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,320,074 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,465,773 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,267,914 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,873,597 msg/sec pthread_spinlock, 1,s: 28,857,351 msg/sec pthread_spinlock, 1,i: 25,372,990 msg/sec pthread_spinlock, 2,s: 15,504,026 msg/sec pthread_spinlock, 2,i: 16,915,967 msg/sec pthread_spinlock, 3,s: 8,391,284 msg/sec pthread_spinlock, 3,i: 12,051,940 msg/sec pthread_spinlock, 4,s: 6,494,367 msg/sec pthread_spinlock, 4,i: 9,253,497 msg/sec pthread_spinlock, 5,s: 8,688,257 msg/sec pthread_spinlock, 5,i: 10,376,139 msg/sec pthread_spinlock, 6,s: 8,504,639 msg/sec pthread_spinlock, 6,i: 8,922,342 msg/sec pthread_spinlock, 7,s: 7,537,006 msg/sec pthread_spinlock, 7,i: 7,614,061 msg/sec pthread_spinlock, 8,s: 6,971,252 msg/sec pthread_spinlock, 8,i: 6,911,238 msg/sec std::mutex, 1,s: 5,962,566 msg/sec std::mutex, 1,i: 6,986,024 msg/sec std::mutex, 2,s: 5,588,725 msg/sec std::mutex, 2,i: 6,427,691 msg/sec std::mutex, 3,s: 5,544,642 msg/sec std::mutex, 3,i: 5,615,566 msg/sec std::mutex, 4,s: 6,158,359 msg/sec std::mutex, 4,i: 5,673,948 msg/sec std::mutex, 5,s: 5,932,579 msg/sec std::mutex, 5,i: 6,020,225 msg/sec std::mutex, 6,s: 5,734,453 msg/sec std::mutex, 6,i: 5,808,438 msg/sec std::mutex, 7,s: 5,741,880 msg/sec std::mutex, 7,i: 5,655,107 msg/sec std::mutex, 8,s: 5,610,360 msg/sec std::mutex, 8,i: 5,622,857 msg/sec tbb::spin_mutex, 1,s: 37,598,069 msg/sec tbb::spin_mutex, 1,i: 32,967,311 msg/sec tbb::spin_mutex, 2,s: 21,194,606 msg/sec tbb::spin_mutex, 2,i: 18,229,111 msg/sec tbb::spin_mutex, 3,s: 7,397,964 msg/sec tbb::spin_mutex, 3,i: 10,282,219 msg/sec tbb::spin_mutex, 4,s: 3,199,486 msg/sec tbb::spin_mutex, 4,i: 6,343,550 msg/sec tbb::spin_mutex, 5,s: 5,429,560 msg/sec tbb::spin_mutex, 5,i: 5,734,855 msg/sec tbb::spin_mutex, 6,s: 5,401,247 msg/sec tbb::spin_mutex, 6,i: 4,426,429 msg/sec tbb::spin_mutex, 7,s: 4,819,249 msg/sec tbb::spin_mutex, 7,i: 4,347,131 msg/sec tbb::spin_mutex, 8,s: 3,840,041 msg/sec tbb::spin_mutex, 8,i: 4,177,421 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,923,316 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,288,319 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,019,882 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,210,678 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,460,548 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,369,588 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,337,846 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,207,057 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,820,407 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,756,300 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,732,112 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,116,105 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,865,541 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,938,751 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,881,915 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,117,718 msg/sec xenium::michael_scott_queue, 1,s: 9,079,935 msg/sec xenium::michael_scott_queue, 1,i: 8,916,314 msg/sec xenium::michael_scott_queue, 2,s: 8,395,526 msg/sec xenium::michael_scott_queue, 2,i: 8,527,004 msg/sec xenium::michael_scott_queue, 3,s: 7,149,495 msg/sec xenium::michael_scott_queue, 3,i: 7,623,880 msg/sec xenium::michael_scott_queue, 4,s: 6,232,029 msg/sec xenium::michael_scott_queue, 4,i: 6,351,613 msg/sec xenium::michael_scott_queue, 5,s: 6,297,238 msg/sec xenium::michael_scott_queue, 5,i: 6,653,365 msg/sec xenium::michael_scott_queue, 6,s: 6,536,195 msg/sec xenium::michael_scott_queue, 6,i: 6,927,106 msg/sec xenium::michael_scott_queue, 7,s: 6,275,021 msg/sec xenium::michael_scott_queue, 7,i: 6,425,998 msg/sec xenium::michael_scott_queue, 8,s: 6,038,667 msg/sec xenium::michael_scott_queue, 8,i: 6,265,477 msg/sec xenium::ramalhete_queue, 1,s: 31,895,248 msg/sec xenium::ramalhete_queue, 1,i: 32,412,005 msg/sec xenium::ramalhete_queue, 2,s: 23,786,435 msg/sec xenium::ramalhete_queue, 2,i: 23,370,584 msg/sec xenium::ramalhete_queue, 3,s: 29,307,422 msg/sec xenium::ramalhete_queue, 3,i: 28,468,355 msg/sec xenium::ramalhete_queue, 4,s: 33,847,414 msg/sec xenium::ramalhete_queue, 4,i: 33,517,823 msg/sec xenium::ramalhete_queue, 5,s: 32,328,909 msg/sec xenium::ramalhete_queue, 5,i: 36,068,314 msg/sec xenium::ramalhete_queue, 6,s: 34,042,984 msg/sec xenium::ramalhete_queue, 6,i: 39,288,656 msg/sec xenium::ramalhete_queue, 7,s: 34,965,988 msg/sec xenium::ramalhete_queue, 7,i: 41,075,640 msg/sec xenium::ramalhete_queue, 8,s: 35,488,284 msg/sec xenium::ramalhete_queue, 8,i: 43,513,860 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,462,120 msg/sec xenium::vyukov_bounded_queue, 1,i: 86,072,456 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,767,246 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,944,024 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,635,437 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,065,839 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,606,358 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,180,434 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,008,643 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,118,066 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,825,257 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,288,349 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,252,465 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,007,470 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,437,050 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,236,163 msg/sec AtomicQueue, 1,s: 61,353,134 msg/sec AtomicQueue, 1,i: 56,435,923 msg/sec AtomicQueue, 2,s: 12,287,249 msg/sec AtomicQueue, 2,i: 11,768,878 msg/sec AtomicQueue, 3,s: 10,807,183 msg/sec AtomicQueue, 3,i: 10,013,432 msg/sec AtomicQueue, 4,s: 8,162,108 msg/sec AtomicQueue, 4,i: 8,209,955 msg/sec AtomicQueue, 5,s: 8,059,539 msg/sec AtomicQueue, 5,i: 8,082,956 msg/sec AtomicQueue, 6,s: 7,758,667 msg/sec AtomicQueue, 6,i: 7,630,040 msg/sec AtomicQueue, 7,s: 7,151,741 msg/sec AtomicQueue, 7,i: 8,002,773 msg/sec AtomicQueue, 8,s: 6,337,358 msg/sec AtomicQueue, 8,i: 7,437,216 msg/sec AtomicQueueB, 1,s: 43,844,390 msg/sec AtomicQueueB, 1,i: 43,742,738 msg/sec AtomicQueueB, 2,s: 11,689,076 msg/sec AtomicQueueB, 2,i: 11,495,397 msg/sec AtomicQueueB, 3,s: 11,018,797 msg/sec AtomicQueueB, 3,i: 10,162,866 msg/sec AtomicQueueB, 4,s: 8,039,821 msg/sec AtomicQueueB, 4,i: 7,968,186 msg/sec AtomicQueueB, 5,s: 7,565,845 msg/sec AtomicQueueB, 5,i: 7,764,291 msg/sec AtomicQueueB, 6,s: 7,369,473 msg/sec AtomicQueueB, 6,i: 7,507,312 msg/sec AtomicQueueB, 7,s: 6,904,089 msg/sec AtomicQueueB, 7,i: 7,719,958 msg/sec AtomicQueueB, 8,s: 6,219,263 msg/sec AtomicQueueB, 8,i: 7,153,094 msg/sec OptimistAtomicQueue, 1,s: 794,376,450 msg/sec OptimistAtomicQueue, 1,i: 669,771,279 msg/sec OptimistAtomicQueue, 2,s: 32,242,588 msg/sec OptimistAtomicQueue, 2,i: 32,545,063 msg/sec OptimistAtomicQueue, 3,s: 36,634,587 msg/sec OptimistAtomicQueue, 3,i: 37,521,790 msg/sec OptimistAtomicQueue, 4,s: 39,275,350 msg/sec OptimistAtomicQueue, 4,i: 39,380,551 msg/sec OptimistAtomicQueue, 5,s: 42,221,067 msg/sec OptimistAtomicQueue, 5,i: 47,141,993 msg/sec OptimistAtomicQueue, 6,s: 42,234,291 msg/sec OptimistAtomicQueue, 6,i: 49,808,065 msg/sec OptimistAtomicQueue, 7,s: 44,062,061 msg/sec OptimistAtomicQueue, 7,i: 52,008,711 msg/sec OptimistAtomicQueue, 8,s: 46,416,993 msg/sec OptimistAtomicQueue, 8,i: 49,568,752 msg/sec OptimistAtomicQueueB, 1,s: 77,868,531 msg/sec OptimistAtomicQueueB, 1,i: 76,585,986 msg/sec OptimistAtomicQueueB, 2,s: 32,246,187 msg/sec OptimistAtomicQueueB, 2,i: 31,837,391 msg/sec OptimistAtomicQueueB, 3,s: 36,204,103 msg/sec OptimistAtomicQueueB, 3,i: 36,889,584 msg/sec OptimistAtomicQueueB, 4,s: 38,637,488 msg/sec OptimistAtomicQueueB, 4,i: 38,697,611 msg/sec OptimistAtomicQueueB, 5,s: 41,165,196 msg/sec OptimistAtomicQueueB, 5,i: 45,217,613 msg/sec OptimistAtomicQueueB, 6,s: 40,997,981 msg/sec OptimistAtomicQueueB, 6,i: 49,099,735 msg/sec OptimistAtomicQueueB, 7,s: 41,637,601 msg/sec OptimistAtomicQueueB, 7,i: 51,391,366 msg/sec OptimistAtomicQueueB, 8,s: 44,349,100 msg/sec OptimistAtomicQueueB, 8,i: 47,524,005 msg/sec AtomicQueue2, 1,s: 22,898,976 msg/sec AtomicQueue2, 1,i: 22,879,220 msg/sec AtomicQueue2, 2,s: 11,841,527 msg/sec AtomicQueue2, 2,i: 11,356,039 msg/sec AtomicQueue2, 3,s: 9,342,839 msg/sec AtomicQueue2, 3,i: 9,430,852 msg/sec AtomicQueue2, 4,s: 8,029,157 msg/sec AtomicQueue2, 4,i: 8,079,031 msg/sec AtomicQueue2, 5,s: 7,870,270 msg/sec AtomicQueue2, 5,i: 8,042,457 msg/sec AtomicQueue2, 6,s: 7,825,973 msg/sec AtomicQueue2, 6,i: 7,533,565 msg/sec AtomicQueue2, 7,s: 7,102,985 msg/sec AtomicQueue2, 7,i: 7,902,666 msg/sec AtomicQueue2, 8,s: 6,382,303 msg/sec AtomicQueue2, 8,i: 7,392,610 msg/sec AtomicQueueB2, 1,s: 36,196,078 msg/sec AtomicQueueB2, 1,i: 36,028,465 msg/sec AtomicQueueB2, 2,s: 11,299,308 msg/sec AtomicQueueB2, 2,i: 11,106,321 msg/sec AtomicQueueB2, 3,s: 9,550,781 msg/sec AtomicQueueB2, 3,i: 9,552,166 msg/sec AtomicQueueB2, 4,s: 7,850,634 msg/sec AtomicQueueB2, 4,i: 7,761,811 msg/sec AtomicQueueB2, 5,s: 7,469,267 msg/sec AtomicQueueB2, 5,i: 7,688,863 msg/sec AtomicQueueB2, 6,s: 7,257,841 msg/sec AtomicQueueB2, 6,i: 7,433,722 msg/sec AtomicQueueB2, 7,s: 6,882,144 msg/sec AtomicQueueB2, 7,i: 7,705,050 msg/sec AtomicQueueB2, 8,s: 6,256,629 msg/sec AtomicQueueB2, 8,i: 7,053,908 msg/sec OptimistAtomicQueue2, 1,s: 450,863,386 msg/sec OptimistAtomicQueue2, 1,i: 34,396,609 msg/sec OptimistAtomicQueue2, 2,s: 22,616,370 msg/sec OptimistAtomicQueue2, 2,i: 24,528,247 msg/sec OptimistAtomicQueue2, 3,s: 30,337,418 msg/sec OptimistAtomicQueue2, 3,i: 30,002,280 msg/sec OptimistAtomicQueue2, 4,s: 33,227,932 msg/sec OptimistAtomicQueue2, 4,i: 33,272,663 msg/sec OptimistAtomicQueue2, 5,s: 37,174,292 msg/sec OptimistAtomicQueue2, 5,i: 40,568,431 msg/sec OptimistAtomicQueue2, 6,s: 40,471,493 msg/sec OptimistAtomicQueue2, 6,i: 49,294,224 msg/sec OptimistAtomicQueue2, 7,s: 42,656,076 msg/sec OptimistAtomicQueue2, 7,i: 51,559,275 msg/sec OptimistAtomicQueue2, 8,s: 43,979,595 msg/sec OptimistAtomicQueue2, 8,i: 49,472,676 msg/sec OptimistAtomicQueueB2, 1,s: 75,675,068 msg/sec OptimistAtomicQueueB2, 1,i: 33,873,332 msg/sec OptimistAtomicQueueB2, 2,s: 29,490,174 msg/sec OptimistAtomicQueueB2, 2,i: 23,196,981 msg/sec OptimistAtomicQueueB2, 3,s: 29,677,908 msg/sec OptimistAtomicQueueB2, 3,i: 29,043,943 msg/sec OptimistAtomicQueueB2, 4,s: 33,105,133 msg/sec OptimistAtomicQueueB2, 4,i: 32,043,268 msg/sec OptimistAtomicQueueB2, 5,s: 34,531,709 msg/sec OptimistAtomicQueueB2, 5,i: 39,102,342 msg/sec OptimistAtomicQueueB2, 6,s: 37,282,180 msg/sec OptimistAtomicQueueB2, 6,i: 42,752,619 msg/sec OptimistAtomicQueueB2, 7,s: 40,293,473 msg/sec OptimistAtomicQueueB2, 7,i: 43,164,749 msg/sec OptimistAtomicQueueB2, 8,s: 42,138,375 msg/sec OptimistAtomicQueueB2, 8,i: 46,417,071 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000152 sec/round-trip moodycamel::ConcurrentQueue: 0.000000220 sec/round-trip pthread_spinlock: 0.000000235 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000185 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [127] 313m:48s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,728,532 msg/sec boost::lockfree::spsc_queue, 1,i: 68,416,829 msg/sec boost::lockfree::queue, 1,s: 6,968,448 msg/sec boost::lockfree::queue, 1,i: 6,845,651 msg/sec boost::lockfree::queue, 2,s: 7,569,388 msg/sec boost::lockfree::queue, 2,i: 7,521,951 msg/sec boost::lockfree::queue, 3,s: 7,498,266 msg/sec boost::lockfree::queue, 3,i: 7,530,107 msg/sec boost::lockfree::queue, 4,s: 6,424,145 msg/sec boost::lockfree::queue, 4,i: 6,741,662 msg/sec boost::lockfree::queue, 5,s: 6,469,169 msg/sec boost::lockfree::queue, 5,i: 6,474,765 msg/sec boost::lockfree::queue, 6,s: 6,033,334 msg/sec boost::lockfree::queue, 6,i: 6,124,545 msg/sec boost::lockfree::queue, 7,s: 6,022,255 msg/sec boost::lockfree::queue, 7,i: 6,099,844 msg/sec boost::lockfree::queue, 8,s: 5,454,379 msg/sec boost::lockfree::queue, 8,i: 5,497,363 msg/sec moodycamel::ReaderWriterQueue, 1,s: 521,891,863 msg/sec moodycamel::ReaderWriterQueue, 1,i: 522,175,828 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,889,869 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,498,786 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,791,680 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,896,394 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,474,055 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,305,049 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,797,280 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,073,019 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,633,075 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,778,163 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,480,302 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,125,526 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,137,574 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,529,080 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,493,326 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,965,276 msg/sec pthread_spinlock, 1,s: 29,027,198 msg/sec pthread_spinlock, 1,i: 25,327,670 msg/sec pthread_spinlock, 2,s: 15,611,395 msg/sec pthread_spinlock, 2,i: 16,863,434 msg/sec pthread_spinlock, 3,s: 8,263,718 msg/sec pthread_spinlock, 3,i: 12,180,193 msg/sec pthread_spinlock, 4,s: 6,427,848 msg/sec pthread_spinlock, 4,i: 9,055,816 msg/sec pthread_spinlock, 5,s: 8,554,916 msg/sec pthread_spinlock, 5,i: 9,124,205 msg/sec pthread_spinlock, 6,s: 8,362,294 msg/sec pthread_spinlock, 6,i: 8,886,201 msg/sec pthread_spinlock, 7,s: 7,537,649 msg/sec pthread_spinlock, 7,i: 7,571,992 msg/sec pthread_spinlock, 8,s: 6,899,889 msg/sec pthread_spinlock, 8,i: 6,928,121 msg/sec std::mutex, 1,s: 5,718,141 msg/sec std::mutex, 1,i: 7,509,680 msg/sec std::mutex, 2,s: 5,990,032 msg/sec std::mutex, 2,i: 5,879,173 msg/sec std::mutex, 3,s: 5,924,423 msg/sec std::mutex, 3,i: 6,000,303 msg/sec std::mutex, 4,s: 6,222,865 msg/sec std::mutex, 4,i: 6,305,265 msg/sec std::mutex, 5,s: 5,984,788 msg/sec std::mutex, 5,i: 5,550,785 msg/sec std::mutex, 6,s: 5,943,216 msg/sec std::mutex, 6,i: 5,846,115 msg/sec std::mutex, 7,s: 5,813,806 msg/sec std::mutex, 7,i: 5,780,615 msg/sec std::mutex, 8,s: 5,721,156 msg/sec std::mutex, 8,i: 5,694,728 msg/sec tbb::spin_mutex, 1,s: 37,883,749 msg/sec tbb::spin_mutex, 1,i: 33,223,686 msg/sec tbb::spin_mutex, 2,s: 21,262,374 msg/sec tbb::spin_mutex, 2,i: 18,534,062 msg/sec tbb::spin_mutex, 3,s: 7,464,706 msg/sec tbb::spin_mutex, 3,i: 10,698,508 msg/sec tbb::spin_mutex, 4,s: 3,192,987 msg/sec tbb::spin_mutex, 4,i: 6,279,617 msg/sec tbb::spin_mutex, 5,s: 5,360,564 msg/sec tbb::spin_mutex, 5,i: 5,508,398 msg/sec tbb::spin_mutex, 6,s: 5,365,953 msg/sec tbb::spin_mutex, 6,i: 4,397,459 msg/sec tbb::spin_mutex, 7,s: 4,695,987 msg/sec tbb::spin_mutex, 7,i: 4,343,361 msg/sec tbb::spin_mutex, 8,s: 4,266,358 msg/sec tbb::spin_mutex, 8,i: 4,160,945 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,619,957 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,110,796 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,530,070 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,040,635 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,351,966 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,525,108 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,340,867 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,262,543 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,763,012 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,833,093 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,822,416 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,025,780 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,891,998 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,953,454 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,862,716 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,117,201 msg/sec xenium::michael_scott_queue, 1,s: 9,117,669 msg/sec xenium::michael_scott_queue, 1,i: 9,341,022 msg/sec xenium::michael_scott_queue, 2,s: 8,494,043 msg/sec xenium::michael_scott_queue, 2,i: 8,509,681 msg/sec xenium::michael_scott_queue, 3,s: 7,236,180 msg/sec xenium::michael_scott_queue, 3,i: 7,530,322 msg/sec xenium::michael_scott_queue, 4,s: 6,259,122 msg/sec xenium::michael_scott_queue, 4,i: 6,369,561 msg/sec xenium::michael_scott_queue, 5,s: 6,305,700 msg/sec xenium::michael_scott_queue, 5,i: 6,672,955 msg/sec xenium::michael_scott_queue, 6,s: 6,565,436 msg/sec xenium::michael_scott_queue, 6,i: 6,765,276 msg/sec xenium::michael_scott_queue, 7,s: 6,259,216 msg/sec xenium::michael_scott_queue, 7,i: 6,442,983 msg/sec xenium::michael_scott_queue, 8,s: 6,008,449 msg/sec xenium::michael_scott_queue, 8,i: 6,263,476 msg/sec xenium::ramalhete_queue, 1,s: 29,675,770 msg/sec xenium::ramalhete_queue, 1,i: 31,219,604 msg/sec xenium::ramalhete_queue, 2,s: 23,638,377 msg/sec xenium::ramalhete_queue, 2,i: 23,636,675 msg/sec xenium::ramalhete_queue, 3,s: 29,239,890 msg/sec xenium::ramalhete_queue, 3,i: 28,422,381 msg/sec xenium::ramalhete_queue, 4,s: 33,805,384 msg/sec xenium::ramalhete_queue, 4,i: 33,475,844 msg/sec xenium::ramalhete_queue, 5,s: 32,243,215 msg/sec xenium::ramalhete_queue, 5,i: 35,983,243 msg/sec xenium::ramalhete_queue, 6,s: 33,944,834 msg/sec xenium::ramalhete_queue, 6,i: 39,263,814 msg/sec xenium::ramalhete_queue, 7,s: 35,009,080 msg/sec xenium::ramalhete_queue, 7,i: 42,143,768 msg/sec xenium::ramalhete_queue, 8,s: 35,446,720 msg/sec xenium::ramalhete_queue, 8,i: 43,651,653 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,974,878 msg/sec xenium::vyukov_bounded_queue, 1,i: 94,756,445 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,343,569 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,674,603 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,719,173 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,258,871 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,714,799 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,141,667 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,003,947 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,364,315 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,968,217 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,473,911 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,147,324 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,912,064 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,380,476 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,319,974 msg/sec AtomicQueue, 1,s: 60,371,930 msg/sec AtomicQueue, 1,i: 55,836,559 msg/sec AtomicQueue, 2,s: 12,183,241 msg/sec AtomicQueue, 2,i: 11,741,870 msg/sec AtomicQueue, 3,s: 10,653,859 msg/sec AtomicQueue, 3,i: 9,971,266 msg/sec AtomicQueue, 4,s: 8,168,113 msg/sec AtomicQueue, 4,i: 8,206,346 msg/sec AtomicQueue, 5,s: 8,037,540 msg/sec AtomicQueue, 5,i: 8,096,211 msg/sec AtomicQueue, 6,s: 7,542,424 msg/sec AtomicQueue, 6,i: 7,611,729 msg/sec AtomicQueue, 7,s: 7,076,871 msg/sec AtomicQueue, 7,i: 7,987,826 msg/sec AtomicQueue, 8,s: 6,360,392 msg/sec AtomicQueue, 8,i: 7,457,552 msg/sec AtomicQueueB, 1,s: 43,854,804 msg/sec AtomicQueueB, 1,i: 45,076,480 msg/sec AtomicQueueB, 2,s: 11,849,123 msg/sec AtomicQueueB, 2,i: 11,499,783 msg/sec AtomicQueueB, 3,s: 10,940,667 msg/sec AtomicQueueB, 3,i: 10,170,606 msg/sec AtomicQueueB, 4,s: 8,036,099 msg/sec AtomicQueueB, 4,i: 8,001,217 msg/sec AtomicQueueB, 5,s: 7,488,269 msg/sec AtomicQueueB, 5,i: 7,805,085 msg/sec AtomicQueueB, 6,s: 7,288,335 msg/sec AtomicQueueB, 6,i: 7,533,909 msg/sec AtomicQueueB, 7,s: 6,912,580 msg/sec AtomicQueueB, 7,i: 7,766,046 msg/sec AtomicQueueB, 8,s: 6,291,111 msg/sec AtomicQueueB, 8,i: 7,178,220 msg/sec OptimistAtomicQueue, 1,s: 805,631,200 msg/sec OptimistAtomicQueue, 1,i: 516,973,600 msg/sec OptimistAtomicQueue, 2,s: 32,142,284 msg/sec OptimistAtomicQueue, 2,i: 32,236,572 msg/sec OptimistAtomicQueue, 3,s: 36,639,165 msg/sec OptimistAtomicQueue, 3,i: 37,481,758 msg/sec OptimistAtomicQueue, 4,s: 39,280,809 msg/sec OptimistAtomicQueue, 4,i: 39,398,429 msg/sec OptimistAtomicQueue, 5,s: 42,342,710 msg/sec OptimistAtomicQueue, 5,i: 47,215,890 msg/sec OptimistAtomicQueue, 6,s: 42,352,242 msg/sec OptimistAtomicQueue, 6,i: 49,886,401 msg/sec OptimistAtomicQueue, 7,s: 45,148,801 msg/sec OptimistAtomicQueue, 7,i: 52,121,043 msg/sec OptimistAtomicQueue, 8,s: 46,493,603 msg/sec OptimistAtomicQueue, 8,i: 49,060,141 msg/sec OptimistAtomicQueueB, 1,s: 156,031,628 msg/sec OptimistAtomicQueueB, 1,i: 82,754,387 msg/sec OptimistAtomicQueueB, 2,s: 32,194,029 msg/sec OptimistAtomicQueueB, 2,i: 32,174,589 msg/sec OptimistAtomicQueueB, 3,s: 36,293,221 msg/sec OptimistAtomicQueueB, 3,i: 36,861,394 msg/sec OptimistAtomicQueueB, 4,s: 38,713,932 msg/sec OptimistAtomicQueueB, 4,i: 38,665,505 msg/sec OptimistAtomicQueueB, 5,s: 40,432,615 msg/sec OptimistAtomicQueueB, 5,i: 45,427,071 msg/sec OptimistAtomicQueueB, 6,s: 40,993,233 msg/sec OptimistAtomicQueueB, 6,i: 49,109,445 msg/sec OptimistAtomicQueueB, 7,s: 42,365,930 msg/sec OptimistAtomicQueueB, 7,i: 51,517,488 msg/sec OptimistAtomicQueueB, 8,s: 44,470,164 msg/sec OptimistAtomicQueueB, 8,i: 47,658,442 msg/sec AtomicQueue2, 1,s: 22,932,453 msg/sec AtomicQueue2, 1,i: 22,863,639 msg/sec AtomicQueue2, 2,s: 11,840,108 msg/sec AtomicQueue2, 2,i: 11,443,771 msg/sec AtomicQueue2, 3,s: 9,417,273 msg/sec AtomicQueue2, 3,i: 9,362,925 msg/sec AtomicQueue2, 4,s: 8,070,402 msg/sec AtomicQueue2, 4,i: 8,039,168 msg/sec AtomicQueue2, 5,s: 7,926,605 msg/sec AtomicQueue2, 5,i: 8,014,502 msg/sec AtomicQueue2, 6,s: 7,786,529 msg/sec AtomicQueue2, 6,i: 7,505,871 msg/sec AtomicQueue2, 7,s: 7,173,718 msg/sec AtomicQueue2, 7,i: 7,881,044 msg/sec AtomicQueue2, 8,s: 6,369,952 msg/sec AtomicQueue2, 8,i: 7,239,478 msg/sec AtomicQueueB2, 1,s: 35,786,423 msg/sec AtomicQueueB2, 1,i: 32,644,572 msg/sec AtomicQueueB2, 2,s: 11,422,160 msg/sec AtomicQueueB2, 2,i: 11,104,939 msg/sec AtomicQueueB2, 3,s: 9,634,305 msg/sec AtomicQueueB2, 3,i: 9,591,458 msg/sec AtomicQueueB2, 4,s: 7,893,816 msg/sec AtomicQueueB2, 4,i: 7,847,447 msg/sec AtomicQueueB2, 5,s: 7,522,479 msg/sec AtomicQueueB2, 5,i: 7,667,588 msg/sec AtomicQueueB2, 6,s: 7,327,303 msg/sec AtomicQueueB2, 6,i: 7,465,408 msg/sec AtomicQueueB2, 7,s: 6,855,666 msg/sec AtomicQueueB2, 7,i: 7,719,316 msg/sec AtomicQueueB2, 8,s: 6,341,628 msg/sec AtomicQueueB2, 8,i: 7,100,898 msg/sec OptimistAtomicQueue2, 1,s: 464,674,730 msg/sec OptimistAtomicQueue2, 1,i: 460,398,426 msg/sec OptimistAtomicQueue2, 2,s: 24,803,480 msg/sec OptimistAtomicQueue2, 2,i: 25,257,982 msg/sec OptimistAtomicQueue2, 3,s: 30,329,458 msg/sec OptimistAtomicQueue2, 3,i: 30,037,305 msg/sec OptimistAtomicQueue2, 4,s: 33,233,233 msg/sec OptimistAtomicQueue2, 4,i: 33,358,789 msg/sec OptimistAtomicQueue2, 5,s: 37,484,310 msg/sec OptimistAtomicQueue2, 5,i: 41,202,908 msg/sec OptimistAtomicQueue2, 6,s: 40,141,292 msg/sec OptimistAtomicQueue2, 6,i: 49,247,974 msg/sec OptimistAtomicQueue2, 7,s: 42,809,507 msg/sec OptimistAtomicQueue2, 7,i: 51,211,768 msg/sec OptimistAtomicQueue2, 8,s: 43,953,670 msg/sec OptimistAtomicQueue2, 8,i: 48,398,762 msg/sec OptimistAtomicQueueB2, 1,s: 73,421,223 msg/sec OptimistAtomicQueueB2, 1,i: 33,872,646 msg/sec OptimistAtomicQueueB2, 2,s: 28,744,524 msg/sec OptimistAtomicQueueB2, 2,i: 26,280,344 msg/sec OptimistAtomicQueueB2, 3,s: 29,693,979 msg/sec OptimistAtomicQueueB2, 3,i: 29,078,405 msg/sec OptimistAtomicQueueB2, 4,s: 33,029,322 msg/sec OptimistAtomicQueueB2, 4,i: 32,119,223 msg/sec OptimistAtomicQueueB2, 5,s: 34,540,859 msg/sec OptimistAtomicQueueB2, 5,i: 39,224,338 msg/sec OptimistAtomicQueueB2, 6,s: 36,837,801 msg/sec OptimistAtomicQueueB2, 6,i: 42,231,902 msg/sec OptimistAtomicQueueB2, 7,s: 40,259,301 msg/sec OptimistAtomicQueueB2, 7,i: 45,363,171 msg/sec OptimistAtomicQueueB2, 8,s: 42,388,447 msg/sec OptimistAtomicQueueB2, 8,i: 45,898,036 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000116 sec/round-trip moodycamel::ConcurrentQueue: 0.000000220 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000381 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [128] 312m:29s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,535,082 msg/sec boost::lockfree::spsc_queue, 1,i: 69,709,714 msg/sec boost::lockfree::queue, 1,s: 7,048,959 msg/sec boost::lockfree::queue, 1,i: 7,008,997 msg/sec boost::lockfree::queue, 2,s: 7,684,744 msg/sec boost::lockfree::queue, 2,i: 7,634,586 msg/sec boost::lockfree::queue, 3,s: 7,361,266 msg/sec boost::lockfree::queue, 3,i: 7,557,166 msg/sec boost::lockfree::queue, 4,s: 6,421,152 msg/sec boost::lockfree::queue, 4,i: 6,785,104 msg/sec boost::lockfree::queue, 5,s: 6,462,653 msg/sec boost::lockfree::queue, 5,i: 6,446,952 msg/sec boost::lockfree::queue, 6,s: 6,021,311 msg/sec boost::lockfree::queue, 6,i: 6,073,320 msg/sec boost::lockfree::queue, 7,s: 5,881,565 msg/sec boost::lockfree::queue, 7,i: 5,913,821 msg/sec boost::lockfree::queue, 8,s: 5,444,169 msg/sec boost::lockfree::queue, 8,i: 5,568,330 msg/sec moodycamel::ReaderWriterQueue, 1,s: 60,823,648 msg/sec moodycamel::ReaderWriterQueue, 1,i: 75,390,002 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,783,558 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,446,436 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,618,646 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,504,399 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,886,747 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,495,842 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,448,564 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,777,747 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,195,210 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,341,390 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,565,351 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,979,186 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,960,503 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,933,362 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,182,573 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,775,270 msg/sec pthread_spinlock, 1,s: 28,855,121 msg/sec pthread_spinlock, 1,i: 25,334,209 msg/sec pthread_spinlock, 2,s: 15,511,319 msg/sec pthread_spinlock, 2,i: 16,881,963 msg/sec pthread_spinlock, 3,s: 8,273,870 msg/sec pthread_spinlock, 3,i: 12,159,927 msg/sec pthread_spinlock, 4,s: 6,515,342 msg/sec pthread_spinlock, 4,i: 9,125,306 msg/sec pthread_spinlock, 5,s: 8,721,758 msg/sec pthread_spinlock, 5,i: 9,615,826 msg/sec pthread_spinlock, 6,s: 8,535,855 msg/sec pthread_spinlock, 6,i: 8,509,009 msg/sec pthread_spinlock, 7,s: 7,505,620 msg/sec pthread_spinlock, 7,i: 7,429,876 msg/sec pthread_spinlock, 8,s: 6,766,401 msg/sec pthread_spinlock, 8,i: 6,931,012 msg/sec std::mutex, 1,s: 6,106,135 msg/sec std::mutex, 1,i: 6,900,747 msg/sec std::mutex, 2,s: 5,318,078 msg/sec std::mutex, 2,i: 5,669,345 msg/sec std::mutex, 3,s: 5,521,790 msg/sec std::mutex, 3,i: 5,137,310 msg/sec std::mutex, 4,s: 5,621,334 msg/sec std::mutex, 4,i: 5,675,250 msg/sec std::mutex, 5,s: 5,992,084 msg/sec std::mutex, 5,i: 5,668,745 msg/sec std::mutex, 6,s: 5,974,613 msg/sec std::mutex, 6,i: 5,897,292 msg/sec std::mutex, 7,s: 5,857,457 msg/sec std::mutex, 7,i: 5,825,014 msg/sec std::mutex, 8,s: 5,710,294 msg/sec std::mutex, 8,i: 5,653,756 msg/sec tbb::spin_mutex, 1,s: 38,040,269 msg/sec tbb::spin_mutex, 1,i: 33,199,253 msg/sec tbb::spin_mutex, 2,s: 21,142,125 msg/sec tbb::spin_mutex, 2,i: 18,232,851 msg/sec tbb::spin_mutex, 3,s: 8,336,771 msg/sec tbb::spin_mutex, 3,i: 10,239,675 msg/sec tbb::spin_mutex, 4,s: 3,173,632 msg/sec tbb::spin_mutex, 4,i: 6,293,783 msg/sec tbb::spin_mutex, 5,s: 5,501,442 msg/sec tbb::spin_mutex, 5,i: 5,443,390 msg/sec tbb::spin_mutex, 6,s: 5,251,688 msg/sec tbb::spin_mutex, 6,i: 4,370,696 msg/sec tbb::spin_mutex, 7,s: 4,814,677 msg/sec tbb::spin_mutex, 7,i: 4,346,674 msg/sec tbb::spin_mutex, 8,s: 4,231,716 msg/sec tbb::spin_mutex, 8,i: 4,054,368 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,671,946 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,909,703 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,794,514 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,761,967 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,492,436 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,690,099 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,382,807 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,261,069 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,729,765 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,773,994 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,749,093 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,981,079 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,945,995 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,066,005 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,887,891 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,134,333 msg/sec xenium::michael_scott_queue, 1,s: 9,994,083 msg/sec xenium::michael_scott_queue, 1,i: 9,937,107 msg/sec xenium::michael_scott_queue, 2,s: 8,600,858 msg/sec xenium::michael_scott_queue, 2,i: 8,635,911 msg/sec xenium::michael_scott_queue, 3,s: 7,249,517 msg/sec xenium::michael_scott_queue, 3,i: 7,615,734 msg/sec xenium::michael_scott_queue, 4,s: 6,249,222 msg/sec xenium::michael_scott_queue, 4,i: 6,492,960 msg/sec xenium::michael_scott_queue, 5,s: 6,299,652 msg/sec xenium::michael_scott_queue, 5,i: 6,611,719 msg/sec xenium::michael_scott_queue, 6,s: 6,533,101 msg/sec xenium::michael_scott_queue, 6,i: 7,038,003 msg/sec xenium::michael_scott_queue, 7,s: 6,299,591 msg/sec xenium::michael_scott_queue, 7,i: 6,432,408 msg/sec xenium::michael_scott_queue, 8,s: 5,967,607 msg/sec xenium::michael_scott_queue, 8,i: 6,056,053 msg/sec xenium::ramalhete_queue, 1,s: 32,598,357 msg/sec xenium::ramalhete_queue, 1,i: 33,071,746 msg/sec xenium::ramalhete_queue, 2,s: 24,476,196 msg/sec xenium::ramalhete_queue, 2,i: 23,418,094 msg/sec xenium::ramalhete_queue, 3,s: 29,430,913 msg/sec xenium::ramalhete_queue, 3,i: 28,588,479 msg/sec xenium::ramalhete_queue, 4,s: 33,862,779 msg/sec xenium::ramalhete_queue, 4,i: 33,571,992 msg/sec xenium::ramalhete_queue, 5,s: 32,224,988 msg/sec xenium::ramalhete_queue, 5,i: 38,469,070 msg/sec xenium::ramalhete_queue, 6,s: 33,941,100 msg/sec xenium::ramalhete_queue, 6,i: 38,955,455 msg/sec xenium::ramalhete_queue, 7,s: 35,233,729 msg/sec xenium::ramalhete_queue, 7,i: 41,994,306 msg/sec xenium::ramalhete_queue, 8,s: 35,553,173 msg/sec xenium::ramalhete_queue, 8,i: 43,950,242 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,375,336 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,814,203 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,573,162 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,414,025 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,668,753 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,112,001 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,529,242 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,367,759 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,956,965 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,473,395 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,058,468 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,507,909 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,306,125 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,317,796 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,424,552 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,229,634 msg/sec AtomicQueue, 1,s: 189,591,780 msg/sec AtomicQueue, 1,i: 267,281,896 msg/sec AtomicQueue, 2,s: 12,363,725 msg/sec AtomicQueue, 2,i: 11,984,223 msg/sec AtomicQueue, 3,s: 10,743,905 msg/sec AtomicQueue, 3,i: 9,924,362 msg/sec AtomicQueue, 4,s: 8,190,681 msg/sec AtomicQueue, 4,i: 8,188,755 msg/sec AtomicQueue, 5,s: 8,038,368 msg/sec AtomicQueue, 5,i: 8,081,437 msg/sec AtomicQueue, 6,s: 7,673,644 msg/sec AtomicQueue, 6,i: 7,616,112 msg/sec AtomicQueue, 7,s: 7,091,416 msg/sec AtomicQueue, 7,i: 7,978,103 msg/sec AtomicQueue, 8,s: 6,347,957 msg/sec AtomicQueue, 8,i: 7,503,878 msg/sec AtomicQueueB, 1,s: 46,118,481 msg/sec AtomicQueueB, 1,i: 43,059,709 msg/sec AtomicQueueB, 2,s: 11,829,901 msg/sec AtomicQueueB, 2,i: 11,457,798 msg/sec AtomicQueueB, 3,s: 11,066,008 msg/sec AtomicQueueB, 3,i: 10,140,743 msg/sec AtomicQueueB, 4,s: 8,088,521 msg/sec AtomicQueueB, 4,i: 8,049,705 msg/sec AtomicQueueB, 5,s: 7,667,730 msg/sec AtomicQueueB, 5,i: 7,823,403 msg/sec AtomicQueueB, 6,s: 7,248,587 msg/sec AtomicQueueB, 6,i: 7,503,587 msg/sec AtomicQueueB, 7,s: 6,843,202 msg/sec AtomicQueueB, 7,i: 7,670,877 msg/sec AtomicQueueB, 8,s: 6,194,075 msg/sec AtomicQueueB, 8,i: 7,163,996 msg/sec OptimistAtomicQueue, 1,s: 738,916,438 msg/sec OptimistAtomicQueue, 1,i: 548,863,235 msg/sec OptimistAtomicQueue, 2,s: 32,546,366 msg/sec OptimistAtomicQueue, 2,i: 32,309,521 msg/sec OptimistAtomicQueue, 3,s: 36,650,521 msg/sec OptimistAtomicQueue, 3,i: 37,375,924 msg/sec OptimistAtomicQueue, 4,s: 39,284,174 msg/sec OptimistAtomicQueue, 4,i: 39,364,623 msg/sec OptimistAtomicQueue, 5,s: 42,320,594 msg/sec OptimistAtomicQueue, 5,i: 46,344,563 msg/sec OptimistAtomicQueue, 6,s: 42,478,335 msg/sec OptimistAtomicQueue, 6,i: 49,851,884 msg/sec OptimistAtomicQueue, 7,s: 44,123,038 msg/sec OptimistAtomicQueue, 7,i: 53,008,645 msg/sec OptimistAtomicQueue, 8,s: 46,389,613 msg/sec OptimistAtomicQueue, 8,i: 48,931,383 msg/sec OptimistAtomicQueueB, 1,s: 91,397,496 msg/sec OptimistAtomicQueueB, 1,i: 153,701,231 msg/sec OptimistAtomicQueueB, 2,s: 32,162,656 msg/sec OptimistAtomicQueueB, 2,i: 31,884,582 msg/sec OptimistAtomicQueueB, 3,s: 36,220,229 msg/sec OptimistAtomicQueueB, 3,i: 36,797,464 msg/sec OptimistAtomicQueueB, 4,s: 38,587,815 msg/sec OptimistAtomicQueueB, 4,i: 38,633,414 msg/sec OptimistAtomicQueueB, 5,s: 41,116,438 msg/sec OptimistAtomicQueueB, 5,i: 45,418,133 msg/sec OptimistAtomicQueueB, 6,s: 41,177,060 msg/sec OptimistAtomicQueueB, 6,i: 48,608,218 msg/sec OptimistAtomicQueueB, 7,s: 41,871,598 msg/sec OptimistAtomicQueueB, 7,i: 51,551,354 msg/sec OptimistAtomicQueueB, 8,s: 44,369,538 msg/sec OptimistAtomicQueueB, 8,i: 48,114,579 msg/sec AtomicQueue2, 1,s: 23,142,375 msg/sec AtomicQueue2, 1,i: 22,907,547 msg/sec AtomicQueue2, 2,s: 11,901,011 msg/sec AtomicQueue2, 2,i: 11,432,308 msg/sec AtomicQueue2, 3,s: 9,371,051 msg/sec AtomicQueue2, 3,i: 9,536,202 msg/sec AtomicQueue2, 4,s: 8,030,785 msg/sec AtomicQueue2, 4,i: 8,054,350 msg/sec AtomicQueue2, 5,s: 7,906,041 msg/sec AtomicQueue2, 5,i: 7,967,502 msg/sec AtomicQueue2, 6,s: 7,712,531 msg/sec AtomicQueue2, 6,i: 7,549,409 msg/sec AtomicQueue2, 7,s: 7,201,960 msg/sec AtomicQueue2, 7,i: 7,877,327 msg/sec AtomicQueue2, 8,s: 6,362,842 msg/sec AtomicQueue2, 8,i: 7,371,060 msg/sec AtomicQueueB2, 1,s: 36,336,694 msg/sec AtomicQueueB2, 1,i: 32,650,868 msg/sec AtomicQueueB2, 2,s: 11,444,348 msg/sec AtomicQueueB2, 2,i: 11,111,191 msg/sec AtomicQueueB2, 3,s: 9,580,530 msg/sec AtomicQueueB2, 3,i: 9,578,339 msg/sec AtomicQueueB2, 4,s: 7,904,517 msg/sec AtomicQueueB2, 4,i: 7,879,329 msg/sec AtomicQueueB2, 5,s: 7,510,572 msg/sec AtomicQueueB2, 5,i: 7,722,685 msg/sec AtomicQueueB2, 6,s: 7,287,588 msg/sec AtomicQueueB2, 6,i: 7,402,012 msg/sec AtomicQueueB2, 7,s: 6,882,948 msg/sec AtomicQueueB2, 7,i: 7,693,270 msg/sec AtomicQueueB2, 8,s: 6,259,550 msg/sec AtomicQueueB2, 8,i: 7,096,217 msg/sec OptimistAtomicQueue2, 1,s: 136,039,809 msg/sec OptimistAtomicQueue2, 1,i: 254,088,942 msg/sec OptimistAtomicQueue2, 2,s: 24,245,715 msg/sec OptimistAtomicQueue2, 2,i: 24,025,425 msg/sec OptimistAtomicQueue2, 3,s: 30,326,738 msg/sec OptimistAtomicQueue2, 3,i: 29,952,557 msg/sec OptimistAtomicQueue2, 4,s: 33,246,139 msg/sec OptimistAtomicQueue2, 4,i: 33,175,866 msg/sec OptimistAtomicQueue2, 5,s: 37,144,215 msg/sec OptimistAtomicQueue2, 5,i: 40,307,589 msg/sec OptimistAtomicQueue2, 6,s: 40,117,686 msg/sec OptimistAtomicQueue2, 6,i: 49,315,421 msg/sec OptimistAtomicQueue2, 7,s: 42,846,006 msg/sec OptimistAtomicQueue2, 7,i: 51,742,954 msg/sec OptimistAtomicQueue2, 8,s: 43,945,799 msg/sec OptimistAtomicQueue2, 8,i: 49,423,608 msg/sec OptimistAtomicQueueB2, 1,s: 76,444,203 msg/sec OptimistAtomicQueueB2, 1,i: 33,920,048 msg/sec OptimistAtomicQueueB2, 2,s: 27,779,833 msg/sec OptimistAtomicQueueB2, 2,i: 23,179,353 msg/sec OptimistAtomicQueueB2, 3,s: 29,850,844 msg/sec OptimistAtomicQueueB2, 3,i: 29,058,292 msg/sec OptimistAtomicQueueB2, 4,s: 33,233,386 msg/sec OptimistAtomicQueueB2, 4,i: 32,979,028 msg/sec OptimistAtomicQueueB2, 5,s: 34,538,757 msg/sec OptimistAtomicQueueB2, 5,i: 39,412,581 msg/sec OptimistAtomicQueueB2, 6,s: 37,425,536 msg/sec OptimistAtomicQueueB2, 6,i: 42,615,644 msg/sec OptimistAtomicQueueB2, 7,s: 40,110,315 msg/sec OptimistAtomicQueueB2, 7,i: 43,129,552 msg/sec OptimistAtomicQueueB2, 8,s: 42,258,053 msg/sec OptimistAtomicQueueB2, 8,i: 45,207,014 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000164 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000516 sec/round-trip tbb::spin_mutex: 0.000000278 sec/round-trip tbb::concurrent_bounded_queue: 0.000000305 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [129] 311m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,775,773 msg/sec boost::lockfree::spsc_queue, 1,i: 65,829,797 msg/sec boost::lockfree::queue, 1,s: 6,908,004 msg/sec boost::lockfree::queue, 1,i: 6,960,264 msg/sec boost::lockfree::queue, 2,s: 7,716,398 msg/sec boost::lockfree::queue, 2,i: 7,605,473 msg/sec boost::lockfree::queue, 3,s: 7,410,323 msg/sec boost::lockfree::queue, 3,i: 7,570,072 msg/sec boost::lockfree::queue, 4,s: 6,423,395 msg/sec boost::lockfree::queue, 4,i: 6,852,580 msg/sec boost::lockfree::queue, 5,s: 6,429,437 msg/sec boost::lockfree::queue, 5,i: 6,444,390 msg/sec boost::lockfree::queue, 6,s: 5,996,149 msg/sec boost::lockfree::queue, 6,i: 6,116,422 msg/sec boost::lockfree::queue, 7,s: 6,005,863 msg/sec boost::lockfree::queue, 7,i: 5,892,641 msg/sec boost::lockfree::queue, 8,s: 5,452,507 msg/sec boost::lockfree::queue, 8,i: 5,541,386 msg/sec moodycamel::ReaderWriterQueue, 1,s: 150,247,641 msg/sec moodycamel::ReaderWriterQueue, 1,i: 108,962,610 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,290,485 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,662,967 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,590,372 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,526,595 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,028,232 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,942,136 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,548,473 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,127,765 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,468,106 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,499,196 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,352,588 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,054,887 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,966,653 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,593,703 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,195,355 msg/sec moodycamel::ConcurrentQueue, 8,i: 39,097,661 msg/sec pthread_spinlock, 1,s: 28,938,460 msg/sec pthread_spinlock, 1,i: 25,373,479 msg/sec pthread_spinlock, 2,s: 15,846,449 msg/sec pthread_spinlock, 2,i: 17,049,459 msg/sec pthread_spinlock, 3,s: 8,272,956 msg/sec pthread_spinlock, 3,i: 12,035,810 msg/sec pthread_spinlock, 4,s: 6,482,254 msg/sec pthread_spinlock, 4,i: 8,912,045 msg/sec pthread_spinlock, 5,s: 8,716,419 msg/sec pthread_spinlock, 5,i: 9,159,758 msg/sec pthread_spinlock, 6,s: 8,588,483 msg/sec pthread_spinlock, 6,i: 8,388,935 msg/sec pthread_spinlock, 7,s: 8,025,652 msg/sec pthread_spinlock, 7,i: 7,670,915 msg/sec pthread_spinlock, 8,s: 6,828,021 msg/sec pthread_spinlock, 8,i: 6,864,898 msg/sec std::mutex, 1,s: 6,189,973 msg/sec std::mutex, 1,i: 6,373,326 msg/sec std::mutex, 2,s: 5,494,365 msg/sec std::mutex, 2,i: 5,643,538 msg/sec std::mutex, 3,s: 5,533,246 msg/sec std::mutex, 3,i: 5,169,434 msg/sec std::mutex, 4,s: 5,255,172 msg/sec std::mutex, 4,i: 5,571,681 msg/sec std::mutex, 5,s: 5,316,555 msg/sec std::mutex, 5,i: 6,142,142 msg/sec std::mutex, 6,s: 5,918,534 msg/sec std::mutex, 6,i: 5,935,540 msg/sec std::mutex, 7,s: 5,797,703 msg/sec std::mutex, 7,i: 5,805,161 msg/sec std::mutex, 8,s: 5,701,720 msg/sec std::mutex, 8,i: 5,696,332 msg/sec tbb::spin_mutex, 1,s: 37,610,122 msg/sec tbb::spin_mutex, 1,i: 37,379,790 msg/sec tbb::spin_mutex, 2,s: 21,168,127 msg/sec tbb::spin_mutex, 2,i: 18,393,711 msg/sec tbb::spin_mutex, 3,s: 7,486,471 msg/sec tbb::spin_mutex, 3,i: 10,078,143 msg/sec tbb::spin_mutex, 4,s: 3,129,062 msg/sec tbb::spin_mutex, 4,i: 6,324,886 msg/sec tbb::spin_mutex, 5,s: 5,464,876 msg/sec tbb::spin_mutex, 5,i: 5,750,298 msg/sec tbb::spin_mutex, 6,s: 5,351,953 msg/sec tbb::spin_mutex, 6,i: 4,372,424 msg/sec tbb::spin_mutex, 7,s: 4,824,199 msg/sec tbb::spin_mutex, 7,i: 4,324,084 msg/sec tbb::spin_mutex, 8,s: 4,243,263 msg/sec tbb::spin_mutex, 8,i: 4,168,460 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,626,353 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,367,644 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,941,044 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,312,647 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,143,252 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,961,559 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,435,922 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,277,816 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,624,837 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,852,648 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,097,258 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,905,303 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,972,562 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,981,153 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,953,469 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,083,070 msg/sec xenium::michael_scott_queue, 1,s: 9,502,258 msg/sec xenium::michael_scott_queue, 1,i: 9,487,597 msg/sec xenium::michael_scott_queue, 2,s: 8,434,576 msg/sec xenium::michael_scott_queue, 2,i: 8,644,404 msg/sec xenium::michael_scott_queue, 3,s: 7,146,335 msg/sec xenium::michael_scott_queue, 3,i: 7,568,997 msg/sec xenium::michael_scott_queue, 4,s: 6,341,094 msg/sec xenium::michael_scott_queue, 4,i: 6,323,518 msg/sec xenium::michael_scott_queue, 5,s: 6,320,088 msg/sec xenium::michael_scott_queue, 5,i: 6,635,335 msg/sec xenium::michael_scott_queue, 6,s: 6,519,534 msg/sec xenium::michael_scott_queue, 6,i: 6,992,008 msg/sec xenium::michael_scott_queue, 7,s: 6,399,557 msg/sec xenium::michael_scott_queue, 7,i: 6,460,882 msg/sec xenium::michael_scott_queue, 8,s: 6,018,465 msg/sec xenium::michael_scott_queue, 8,i: 6,114,702 msg/sec xenium::ramalhete_queue, 1,s: 31,881,424 msg/sec xenium::ramalhete_queue, 1,i: 31,744,615 msg/sec xenium::ramalhete_queue, 2,s: 23,324,464 msg/sec xenium::ramalhete_queue, 2,i: 24,290,090 msg/sec xenium::ramalhete_queue, 3,s: 29,222,077 msg/sec xenium::ramalhete_queue, 3,i: 28,466,948 msg/sec xenium::ramalhete_queue, 4,s: 33,853,236 msg/sec xenium::ramalhete_queue, 4,i: 33,535,845 msg/sec xenium::ramalhete_queue, 5,s: 31,959,662 msg/sec xenium::ramalhete_queue, 5,i: 38,493,942 msg/sec xenium::ramalhete_queue, 6,s: 34,033,568 msg/sec xenium::ramalhete_queue, 6,i: 39,072,109 msg/sec xenium::ramalhete_queue, 7,s: 34,974,012 msg/sec xenium::ramalhete_queue, 7,i: 41,425,469 msg/sec xenium::ramalhete_queue, 8,s: 35,489,372 msg/sec xenium::ramalhete_queue, 8,i: 44,434,373 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,184,138 msg/sec xenium::vyukov_bounded_queue, 1,i: 67,616,950 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,797,338 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,460,561 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,718,416 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,988,656 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,434,475 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,245,145 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,480,210 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,406,380 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,079,763 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,566,689 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,160,498 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,988,187 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,439,035 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,234,272 msg/sec AtomicQueue, 1,s: 62,579,424 msg/sec AtomicQueue, 1,i: 58,027,462 msg/sec AtomicQueue, 2,s: 12,374,585 msg/sec AtomicQueue, 2,i: 11,741,374 msg/sec AtomicQueue, 3,s: 10,641,853 msg/sec AtomicQueue, 3,i: 9,945,058 msg/sec AtomicQueue, 4,s: 8,174,112 msg/sec AtomicQueue, 4,i: 8,189,542 msg/sec AtomicQueue, 5,s: 8,041,581 msg/sec AtomicQueue, 5,i: 8,102,176 msg/sec AtomicQueue, 6,s: 7,852,749 msg/sec AtomicQueue, 6,i: 7,586,038 msg/sec AtomicQueue, 7,s: 7,128,609 msg/sec AtomicQueue, 7,i: 7,980,765 msg/sec AtomicQueue, 8,s: 6,361,446 msg/sec AtomicQueue, 8,i: 7,451,911 msg/sec AtomicQueueB, 1,s: 44,072,477 msg/sec AtomicQueueB, 1,i: 44,624,936 msg/sec AtomicQueueB, 2,s: 12,011,945 msg/sec AtomicQueueB, 2,i: 11,510,828 msg/sec AtomicQueueB, 3,s: 10,910,160 msg/sec AtomicQueueB, 3,i: 10,158,304 msg/sec AtomicQueueB, 4,s: 8,059,588 msg/sec AtomicQueueB, 4,i: 7,989,450 msg/sec AtomicQueueB, 5,s: 7,577,852 msg/sec AtomicQueueB, 5,i: 7,785,368 msg/sec AtomicQueueB, 6,s: 7,416,794 msg/sec AtomicQueueB, 6,i: 7,528,455 msg/sec AtomicQueueB, 7,s: 6,797,938 msg/sec AtomicQueueB, 7,i: 7,691,792 msg/sec AtomicQueueB, 8,s: 6,293,501 msg/sec AtomicQueueB, 8,i: 7,181,738 msg/sec OptimistAtomicQueue, 1,s: 749,651,177 msg/sec OptimistAtomicQueue, 1,i: 699,781,003 msg/sec OptimistAtomicQueue, 2,s: 32,227,926 msg/sec OptimistAtomicQueue, 2,i: 32,189,204 msg/sec OptimistAtomicQueue, 3,s: 36,618,532 msg/sec OptimistAtomicQueue, 3,i: 37,313,031 msg/sec OptimistAtomicQueue, 4,s: 39,297,529 msg/sec OptimistAtomicQueue, 4,i: 39,385,057 msg/sec OptimistAtomicQueue, 5,s: 41,707,784 msg/sec OptimistAtomicQueue, 5,i: 46,500,371 msg/sec OptimistAtomicQueue, 6,s: 42,829,703 msg/sec OptimistAtomicQueue, 6,i: 50,410,078 msg/sec OptimistAtomicQueue, 7,s: 44,145,710 msg/sec OptimistAtomicQueue, 7,i: 49,156,493 msg/sec OptimistAtomicQueue, 8,s: 46,325,905 msg/sec OptimistAtomicQueue, 8,i: 48,921,807 msg/sec OptimistAtomicQueueB, 1,s: 319,685,020 msg/sec OptimistAtomicQueueB, 1,i: 76,619,491 msg/sec OptimistAtomicQueueB, 2,s: 32,241,228 msg/sec OptimistAtomicQueueB, 2,i: 32,146,620 msg/sec OptimistAtomicQueueB, 3,s: 36,295,700 msg/sec OptimistAtomicQueueB, 3,i: 36,781,228 msg/sec OptimistAtomicQueueB, 4,s: 38,571,657 msg/sec OptimistAtomicQueueB, 4,i: 38,589,734 msg/sec OptimistAtomicQueueB, 5,s: 41,077,541 msg/sec OptimistAtomicQueueB, 5,i: 45,262,759 msg/sec OptimistAtomicQueueB, 6,s: 40,888,899 msg/sec OptimistAtomicQueueB, 6,i: 49,159,534 msg/sec OptimistAtomicQueueB, 7,s: 42,290,807 msg/sec OptimistAtomicQueueB, 7,i: 51,294,637 msg/sec OptimistAtomicQueueB, 8,s: 44,304,175 msg/sec OptimistAtomicQueueB, 8,i: 47,124,521 msg/sec AtomicQueue2, 1,s: 23,997,346 msg/sec AtomicQueue2, 1,i: 23,100,549 msg/sec AtomicQueue2, 2,s: 11,859,474 msg/sec AtomicQueue2, 2,i: 11,404,964 msg/sec AtomicQueue2, 3,s: 9,332,748 msg/sec AtomicQueue2, 3,i: 9,388,240 msg/sec AtomicQueue2, 4,s: 8,049,986 msg/sec AtomicQueue2, 4,i: 8,053,418 msg/sec AtomicQueue2, 5,s: 7,905,711 msg/sec AtomicQueue2, 5,i: 7,990,720 msg/sec AtomicQueue2, 6,s: 7,889,113 msg/sec AtomicQueue2, 6,i: 7,523,997 msg/sec AtomicQueue2, 7,s: 7,125,023 msg/sec AtomicQueue2, 7,i: 7,881,607 msg/sec AtomicQueue2, 8,s: 6,393,084 msg/sec AtomicQueue2, 8,i: 7,367,959 msg/sec AtomicQueueB2, 1,s: 36,242,241 msg/sec AtomicQueueB2, 1,i: 32,586,408 msg/sec AtomicQueueB2, 2,s: 11,403,755 msg/sec AtomicQueueB2, 2,i: 11,129,876 msg/sec AtomicQueueB2, 3,s: 9,631,626 msg/sec AtomicQueueB2, 3,i: 9,564,310 msg/sec AtomicQueueB2, 4,s: 7,985,794 msg/sec AtomicQueueB2, 4,i: 7,794,153 msg/sec AtomicQueueB2, 5,s: 7,474,797 msg/sec AtomicQueueB2, 5,i: 7,771,772 msg/sec AtomicQueueB2, 6,s: 7,243,905 msg/sec AtomicQueueB2, 6,i: 7,448,396 msg/sec AtomicQueueB2, 7,s: 6,868,471 msg/sec AtomicQueueB2, 7,i: 7,729,002 msg/sec AtomicQueueB2, 8,s: 6,354,946 msg/sec AtomicQueueB2, 8,i: 7,082,166 msg/sec OptimistAtomicQueue2, 1,s: 513,548,302 msg/sec OptimistAtomicQueue2, 1,i: 29,686,756 msg/sec OptimistAtomicQueue2, 2,s: 22,557,255 msg/sec OptimistAtomicQueue2, 2,i: 24,741,348 msg/sec OptimistAtomicQueue2, 3,s: 30,525,659 msg/sec OptimistAtomicQueue2, 3,i: 29,961,780 msg/sec OptimistAtomicQueue2, 4,s: 33,256,000 msg/sec OptimistAtomicQueue2, 4,i: 33,441,788 msg/sec OptimistAtomicQueue2, 5,s: 37,381,785 msg/sec OptimistAtomicQueue2, 5,i: 40,591,818 msg/sec OptimistAtomicQueue2, 6,s: 40,238,797 msg/sec OptimistAtomicQueue2, 6,i: 49,415,368 msg/sec OptimistAtomicQueue2, 7,s: 43,081,596 msg/sec OptimistAtomicQueue2, 7,i: 48,279,289 msg/sec OptimistAtomicQueue2, 8,s: 44,022,747 msg/sec OptimistAtomicQueue2, 8,i: 48,582,343 msg/sec OptimistAtomicQueueB2, 1,s: 77,965,756 msg/sec OptimistAtomicQueueB2, 1,i: 33,886,551 msg/sec OptimistAtomicQueueB2, 2,s: 27,173,397 msg/sec OptimistAtomicQueueB2, 2,i: 28,546,551 msg/sec OptimistAtomicQueueB2, 3,s: 29,818,819 msg/sec OptimistAtomicQueueB2, 3,i: 32,344,679 msg/sec OptimistAtomicQueueB2, 4,s: 33,381,452 msg/sec OptimistAtomicQueueB2, 4,i: 32,115,225 msg/sec OptimistAtomicQueueB2, 5,s: 34,656,467 msg/sec OptimistAtomicQueueB2, 5,i: 39,055,539 msg/sec OptimistAtomicQueueB2, 6,s: 37,691,173 msg/sec OptimistAtomicQueueB2, 6,i: 42,359,403 msg/sec OptimistAtomicQueueB2, 7,s: 40,202,532 msg/sec OptimistAtomicQueueB2, 7,i: 45,123,158 msg/sec OptimistAtomicQueueB2, 8,s: 42,408,464 msg/sec OptimistAtomicQueueB2, 8,i: 45,399,815 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000159 sec/round-trip moodycamel::ConcurrentQueue: 0.000000245 sec/round-trip pthread_spinlock: 0.000000263 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [130] 309m:49s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,495,433 msg/sec boost::lockfree::spsc_queue, 1,i: 68,455,998 msg/sec boost::lockfree::queue, 1,s: 6,784,451 msg/sec boost::lockfree::queue, 1,i: 6,837,259 msg/sec boost::lockfree::queue, 2,s: 7,635,202 msg/sec boost::lockfree::queue, 2,i: 7,530,588 msg/sec boost::lockfree::queue, 3,s: 7,336,552 msg/sec boost::lockfree::queue, 3,i: 7,559,258 msg/sec boost::lockfree::queue, 4,s: 6,421,989 msg/sec boost::lockfree::queue, 4,i: 6,767,825 msg/sec boost::lockfree::queue, 5,s: 6,419,984 msg/sec boost::lockfree::queue, 5,i: 6,422,031 msg/sec boost::lockfree::queue, 6,s: 6,000,641 msg/sec boost::lockfree::queue, 6,i: 6,101,557 msg/sec boost::lockfree::queue, 7,s: 6,048,399 msg/sec boost::lockfree::queue, 7,i: 6,065,069 msg/sec boost::lockfree::queue, 8,s: 5,391,828 msg/sec boost::lockfree::queue, 8,i: 5,710,475 msg/sec moodycamel::ReaderWriterQueue, 1,s: 259,191,127 msg/sec moodycamel::ReaderWriterQueue, 1,i: 114,815,205 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,273,933 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,869,732 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,019,370 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,091,702 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,465,559 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,718,541 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,762,379 msg/sec moodycamel::ConcurrentQueue, 4,i: 31,097,861 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,387,172 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,776,477 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,761,873 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,651,874 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,195,454 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,918,375 msg/sec moodycamel::ConcurrentQueue, 8,s: 31,082,630 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,638,227 msg/sec pthread_spinlock, 1,s: 29,270,116 msg/sec pthread_spinlock, 1,i: 29,094,889 msg/sec pthread_spinlock, 2,s: 16,271,370 msg/sec pthread_spinlock, 2,i: 17,134,185 msg/sec pthread_spinlock, 3,s: 8,355,416 msg/sec pthread_spinlock, 3,i: 12,056,987 msg/sec pthread_spinlock, 4,s: 6,476,905 msg/sec pthread_spinlock, 4,i: 9,161,762 msg/sec pthread_spinlock, 5,s: 8,802,924 msg/sec pthread_spinlock, 5,i: 9,242,819 msg/sec pthread_spinlock, 6,s: 8,254,760 msg/sec pthread_spinlock, 6,i: 8,460,879 msg/sec pthread_spinlock, 7,s: 7,745,823 msg/sec pthread_spinlock, 7,i: 7,674,845 msg/sec pthread_spinlock, 8,s: 6,693,632 msg/sec pthread_spinlock, 8,i: 7,351,394 msg/sec std::mutex, 1,s: 6,679,948 msg/sec std::mutex, 1,i: 6,395,108 msg/sec std::mutex, 2,s: 5,478,178 msg/sec std::mutex, 2,i: 5,494,048 msg/sec std::mutex, 3,s: 4,870,466 msg/sec std::mutex, 3,i: 5,730,169 msg/sec std::mutex, 4,s: 6,209,765 msg/sec std::mutex, 4,i: 6,361,794 msg/sec std::mutex, 5,s: 5,968,124 msg/sec std::mutex, 5,i: 6,219,521 msg/sec std::mutex, 6,s: 5,964,584 msg/sec std::mutex, 6,i: 5,938,335 msg/sec std::mutex, 7,s: 5,841,072 msg/sec std::mutex, 7,i: 5,869,678 msg/sec std::mutex, 8,s: 5,750,838 msg/sec std::mutex, 8,i: 5,721,901 msg/sec tbb::spin_mutex, 1,s: 37,777,202 msg/sec tbb::spin_mutex, 1,i: 33,048,775 msg/sec tbb::spin_mutex, 2,s: 21,051,511 msg/sec tbb::spin_mutex, 2,i: 18,499,701 msg/sec tbb::spin_mutex, 3,s: 7,869,092 msg/sec tbb::spin_mutex, 3,i: 10,260,852 msg/sec tbb::spin_mutex, 4,s: 3,099,356 msg/sec tbb::spin_mutex, 4,i: 6,294,218 msg/sec tbb::spin_mutex, 5,s: 5,455,583 msg/sec tbb::spin_mutex, 5,i: 5,780,828 msg/sec tbb::spin_mutex, 6,s: 5,275,414 msg/sec tbb::spin_mutex, 6,i: 4,265,656 msg/sec tbb::spin_mutex, 7,s: 4,396,057 msg/sec tbb::spin_mutex, 7,i: 4,312,536 msg/sec tbb::spin_mutex, 8,s: 3,852,739 msg/sec tbb::spin_mutex, 8,i: 4,084,327 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,474,617 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,174,192 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,813,102 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,938,158 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,986,106 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,629,385 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,257,139 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,254,915 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,772,731 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,181,713 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,768,905 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,434,137 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,032,960 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,671,049 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,042,708 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,713,983 msg/sec xenium::michael_scott_queue, 1,s: 9,241,611 msg/sec xenium::michael_scott_queue, 1,i: 9,223,306 msg/sec xenium::michael_scott_queue, 2,s: 8,409,162 msg/sec xenium::michael_scott_queue, 2,i: 8,521,863 msg/sec xenium::michael_scott_queue, 3,s: 7,213,017 msg/sec xenium::michael_scott_queue, 3,i: 7,629,228 msg/sec xenium::michael_scott_queue, 4,s: 6,392,144 msg/sec xenium::michael_scott_queue, 4,i: 6,326,075 msg/sec xenium::michael_scott_queue, 5,s: 6,315,730 msg/sec xenium::michael_scott_queue, 5,i: 6,640,785 msg/sec xenium::michael_scott_queue, 6,s: 6,553,941 msg/sec xenium::michael_scott_queue, 6,i: 7,000,476 msg/sec xenium::michael_scott_queue, 7,s: 6,324,382 msg/sec xenium::michael_scott_queue, 7,i: 6,533,860 msg/sec xenium::michael_scott_queue, 8,s: 6,035,145 msg/sec xenium::michael_scott_queue, 8,i: 6,201,294 msg/sec xenium::ramalhete_queue, 1,s: 31,676,574 msg/sec xenium::ramalhete_queue, 1,i: 32,195,479 msg/sec xenium::ramalhete_queue, 2,s: 23,624,689 msg/sec xenium::ramalhete_queue, 2,i: 23,337,457 msg/sec xenium::ramalhete_queue, 3,s: 29,164,406 msg/sec xenium::ramalhete_queue, 3,i: 28,492,776 msg/sec xenium::ramalhete_queue, 4,s: 33,969,970 msg/sec xenium::ramalhete_queue, 4,i: 33,522,547 msg/sec xenium::ramalhete_queue, 5,s: 31,976,199 msg/sec xenium::ramalhete_queue, 5,i: 36,306,199 msg/sec xenium::ramalhete_queue, 6,s: 34,173,746 msg/sec xenium::ramalhete_queue, 6,i: 39,030,674 msg/sec xenium::ramalhete_queue, 7,s: 34,845,454 msg/sec xenium::ramalhete_queue, 7,i: 41,641,511 msg/sec xenium::ramalhete_queue, 8,s: 35,279,839 msg/sec xenium::ramalhete_queue, 8,i: 44,112,910 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,455,406 msg/sec xenium::vyukov_bounded_queue, 1,i: 65,108,561 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,795,785 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,637,093 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,666,506 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,790,491 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,479,795 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,334,041 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,108,027 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,172,296 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,062,136 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,192,179 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,123,534 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,130,933 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,415,502 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,221,566 msg/sec AtomicQueue, 1,s: 59,170,919 msg/sec AtomicQueue, 1,i: 56,619,284 msg/sec AtomicQueue, 2,s: 12,310,210 msg/sec AtomicQueue, 2,i: 11,736,086 msg/sec AtomicQueue, 3,s: 10,819,207 msg/sec AtomicQueue, 3,i: 9,908,196 msg/sec AtomicQueue, 4,s: 8,171,988 msg/sec AtomicQueue, 4,i: 8,200,787 msg/sec AtomicQueue, 5,s: 8,038,692 msg/sec AtomicQueue, 5,i: 7,991,470 msg/sec AtomicQueue, 6,s: 7,886,931 msg/sec AtomicQueue, 6,i: 7,597,798 msg/sec AtomicQueue, 7,s: 7,151,210 msg/sec AtomicQueue, 7,i: 7,968,557 msg/sec AtomicQueue, 8,s: 6,354,108 msg/sec AtomicQueue, 8,i: 7,464,020 msg/sec AtomicQueueB, 1,s: 43,851,105 msg/sec AtomicQueueB, 1,i: 43,112,884 msg/sec AtomicQueueB, 2,s: 11,823,383 msg/sec AtomicQueueB, 2,i: 11,465,544 msg/sec AtomicQueueB, 3,s: 11,016,851 msg/sec AtomicQueueB, 3,i: 10,101,730 msg/sec AtomicQueueB, 4,s: 7,983,541 msg/sec AtomicQueueB, 4,i: 8,074,551 msg/sec AtomicQueueB, 5,s: 7,574,631 msg/sec AtomicQueueB, 5,i: 7,765,168 msg/sec AtomicQueueB, 6,s: 7,360,296 msg/sec AtomicQueueB, 6,i: 7,486,548 msg/sec AtomicQueueB, 7,s: 6,888,345 msg/sec AtomicQueueB, 7,i: 7,749,230 msg/sec AtomicQueueB, 8,s: 6,214,571 msg/sec AtomicQueueB, 8,i: 7,172,788 msg/sec OptimistAtomicQueue, 1,s: 764,844,240 msg/sec OptimistAtomicQueue, 1,i: 591,860,964 msg/sec OptimistAtomicQueue, 2,s: 32,096,303 msg/sec OptimistAtomicQueue, 2,i: 32,170,035 msg/sec OptimistAtomicQueue, 3,s: 36,614,226 msg/sec OptimistAtomicQueue, 3,i: 37,323,507 msg/sec OptimistAtomicQueue, 4,s: 39,271,172 msg/sec OptimistAtomicQueue, 4,i: 39,385,969 msg/sec OptimistAtomicQueue, 5,s: 42,494,298 msg/sec OptimistAtomicQueue, 5,i: 48,568,528 msg/sec OptimistAtomicQueue, 6,s: 42,692,453 msg/sec OptimistAtomicQueue, 6,i: 50,380,660 msg/sec OptimistAtomicQueue, 7,s: 44,500,727 msg/sec OptimistAtomicQueue, 7,i: 53,040,127 msg/sec OptimistAtomicQueue, 8,s: 46,391,310 msg/sec OptimistAtomicQueue, 8,i: 49,198,459 msg/sec OptimistAtomicQueueB, 1,s: 77,931,199 msg/sec OptimistAtomicQueueB, 1,i: 77,500,019 msg/sec OptimistAtomicQueueB, 2,s: 32,235,734 msg/sec OptimistAtomicQueueB, 2,i: 32,404,946 msg/sec OptimistAtomicQueueB, 3,s: 36,283,634 msg/sec OptimistAtomicQueueB, 3,i: 36,952,105 msg/sec OptimistAtomicQueueB, 4,s: 38,644,589 msg/sec OptimistAtomicQueueB, 4,i: 38,733,486 msg/sec OptimistAtomicQueueB, 5,s: 39,129,430 msg/sec OptimistAtomicQueueB, 5,i: 45,536,668 msg/sec OptimistAtomicQueueB, 6,s: 40,909,841 msg/sec OptimistAtomicQueueB, 6,i: 49,368,578 msg/sec OptimistAtomicQueueB, 7,s: 42,173,300 msg/sec OptimistAtomicQueueB, 7,i: 47,991,992 msg/sec OptimistAtomicQueueB, 8,s: 44,549,647 msg/sec OptimistAtomicQueueB, 8,i: 48,081,082 msg/sec AtomicQueue2, 1,s: 22,870,229 msg/sec AtomicQueue2, 1,i: 22,790,399 msg/sec AtomicQueue2, 2,s: 11,780,425 msg/sec AtomicQueue2, 2,i: 11,525,451 msg/sec AtomicQueue2, 3,s: 9,465,387 msg/sec AtomicQueue2, 3,i: 9,391,191 msg/sec AtomicQueue2, 4,s: 8,054,057 msg/sec AtomicQueue2, 4,i: 8,053,235 msg/sec AtomicQueue2, 5,s: 7,866,959 msg/sec AtomicQueue2, 5,i: 7,951,456 msg/sec AtomicQueue2, 6,s: 7,916,167 msg/sec AtomicQueue2, 6,i: 7,533,581 msg/sec AtomicQueue2, 7,s: 7,094,481 msg/sec AtomicQueue2, 7,i: 7,885,498 msg/sec AtomicQueue2, 8,s: 6,389,411 msg/sec AtomicQueue2, 8,i: 7,229,499 msg/sec AtomicQueueB2, 1,s: 32,653,986 msg/sec AtomicQueueB2, 1,i: 32,639,601 msg/sec AtomicQueueB2, 2,s: 11,363,462 msg/sec AtomicQueueB2, 2,i: 11,165,541 msg/sec AtomicQueueB2, 3,s: 9,623,386 msg/sec AtomicQueueB2, 3,i: 9,502,990 msg/sec AtomicQueueB2, 4,s: 7,988,912 msg/sec AtomicQueueB2, 4,i: 7,860,675 msg/sec AtomicQueueB2, 5,s: 7,464,152 msg/sec AtomicQueueB2, 5,i: 7,659,674 msg/sec AtomicQueueB2, 6,s: 7,198,019 msg/sec AtomicQueueB2, 6,i: 7,473,778 msg/sec AtomicQueueB2, 7,s: 6,889,416 msg/sec AtomicQueueB2, 7,i: 7,689,276 msg/sec AtomicQueueB2, 8,s: 6,322,568 msg/sec AtomicQueueB2, 8,i: 7,093,130 msg/sec OptimistAtomicQueue2, 1,s: 48,449,730 msg/sec OptimistAtomicQueue2, 1,i: 29,960,134 msg/sec OptimistAtomicQueue2, 2,s: 22,749,365 msg/sec OptimistAtomicQueue2, 2,i: 24,804,797 msg/sec OptimistAtomicQueue2, 3,s: 30,321,622 msg/sec OptimistAtomicQueue2, 3,i: 29,961,584 msg/sec OptimistAtomicQueue2, 4,s: 33,228,326 msg/sec OptimistAtomicQueue2, 4,i: 33,311,375 msg/sec OptimistAtomicQueue2, 5,s: 37,109,930 msg/sec OptimistAtomicQueue2, 5,i: 40,481,604 msg/sec OptimistAtomicQueue2, 6,s: 40,121,968 msg/sec OptimistAtomicQueue2, 6,i: 49,299,177 msg/sec OptimistAtomicQueue2, 7,s: 43,257,957 msg/sec OptimistAtomicQueue2, 7,i: 51,521,218 msg/sec OptimistAtomicQueue2, 8,s: 43,948,311 msg/sec OptimistAtomicQueue2, 8,i: 48,180,165 msg/sec OptimistAtomicQueueB2, 1,s: 77,943,218 msg/sec OptimistAtomicQueueB2, 1,i: 33,945,315 msg/sec OptimistAtomicQueueB2, 2,s: 27,662,970 msg/sec OptimistAtomicQueueB2, 2,i: 23,254,430 msg/sec OptimistAtomicQueueB2, 3,s: 29,799,364 msg/sec OptimistAtomicQueueB2, 3,i: 29,549,147 msg/sec OptimistAtomicQueueB2, 4,s: 32,705,046 msg/sec OptimistAtomicQueueB2, 4,i: 32,116,524 msg/sec OptimistAtomicQueueB2, 5,s: 34,495,778 msg/sec OptimistAtomicQueueB2, 5,i: 39,400,918 msg/sec OptimistAtomicQueueB2, 6,s: 37,732,774 msg/sec OptimistAtomicQueueB2, 6,i: 42,218,698 msg/sec OptimistAtomicQueueB2, 7,s: 40,830,777 msg/sec OptimistAtomicQueueB2, 7,i: 45,398,955 msg/sec OptimistAtomicQueueB2, 8,s: 42,256,418 msg/sec OptimistAtomicQueueB2, 8,i: 45,130,414 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000130 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000293 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000189 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [131] 308m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,772,214 msg/sec boost::lockfree::spsc_queue, 1,i: 65,876,291 msg/sec boost::lockfree::queue, 1,s: 6,809,099 msg/sec boost::lockfree::queue, 1,i: 6,858,966 msg/sec boost::lockfree::queue, 2,s: 7,561,902 msg/sec boost::lockfree::queue, 2,i: 7,516,620 msg/sec boost::lockfree::queue, 3,s: 7,342,613 msg/sec boost::lockfree::queue, 3,i: 7,517,399 msg/sec boost::lockfree::queue, 4,s: 6,409,520 msg/sec boost::lockfree::queue, 4,i: 6,737,176 msg/sec boost::lockfree::queue, 5,s: 6,468,047 msg/sec boost::lockfree::queue, 5,i: 6,551,126 msg/sec boost::lockfree::queue, 6,s: 5,949,190 msg/sec boost::lockfree::queue, 6,i: 6,138,553 msg/sec boost::lockfree::queue, 7,s: 5,870,294 msg/sec boost::lockfree::queue, 7,i: 5,925,510 msg/sec boost::lockfree::queue, 8,s: 5,463,343 msg/sec boost::lockfree::queue, 8,i: 5,664,214 msg/sec moodycamel::ReaderWriterQueue, 1,s: 486,492,416 msg/sec moodycamel::ReaderWriterQueue, 1,i: 158,584,908 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,887,831 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,371,893 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,952,681 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,945,637 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,231,064 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,792,412 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,262,749 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,940,604 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,333,409 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,830,593 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,308,571 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,054,436 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,963,293 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,567,484 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,333,693 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,274,969 msg/sec pthread_spinlock, 1,s: 29,017,510 msg/sec pthread_spinlock, 1,i: 25,393,575 msg/sec pthread_spinlock, 2,s: 15,943,717 msg/sec pthread_spinlock, 2,i: 16,888,798 msg/sec pthread_spinlock, 3,s: 8,337,441 msg/sec pthread_spinlock, 3,i: 12,014,387 msg/sec pthread_spinlock, 4,s: 6,516,921 msg/sec pthread_spinlock, 4,i: 9,184,283 msg/sec pthread_spinlock, 5,s: 8,669,335 msg/sec pthread_spinlock, 5,i: 9,455,223 msg/sec pthread_spinlock, 6,s: 8,282,172 msg/sec pthread_spinlock, 6,i: 8,419,839 msg/sec pthread_spinlock, 7,s: 7,553,044 msg/sec pthread_spinlock, 7,i: 7,744,649 msg/sec pthread_spinlock, 8,s: 6,905,845 msg/sec pthread_spinlock, 8,i: 6,923,981 msg/sec std::mutex, 1,s: 7,472,624 msg/sec std::mutex, 1,i: 8,103,149 msg/sec std::mutex, 2,s: 6,063,391 msg/sec std::mutex, 2,i: 5,727,895 msg/sec std::mutex, 3,s: 4,696,627 msg/sec std::mutex, 3,i: 4,992,146 msg/sec std::mutex, 4,s: 5,729,893 msg/sec std::mutex, 4,i: 6,274,258 msg/sec std::mutex, 5,s: 6,104,260 msg/sec std::mutex, 5,i: 6,032,044 msg/sec std::mutex, 6,s: 5,933,318 msg/sec std::mutex, 6,i: 5,957,566 msg/sec std::mutex, 7,s: 5,797,880 msg/sec std::mutex, 7,i: 5,783,630 msg/sec std::mutex, 8,s: 5,669,772 msg/sec std::mutex, 8,i: 5,704,118 msg/sec tbb::spin_mutex, 1,s: 37,760,936 msg/sec tbb::spin_mutex, 1,i: 33,346,653 msg/sec tbb::spin_mutex, 2,s: 20,987,831 msg/sec tbb::spin_mutex, 2,i: 18,417,400 msg/sec tbb::spin_mutex, 3,s: 8,278,958 msg/sec tbb::spin_mutex, 3,i: 11,243,970 msg/sec tbb::spin_mutex, 4,s: 3,136,835 msg/sec tbb::spin_mutex, 4,i: 6,412,455 msg/sec tbb::spin_mutex, 5,s: 5,545,614 msg/sec tbb::spin_mutex, 5,i: 5,729,085 msg/sec tbb::spin_mutex, 6,s: 5,297,213 msg/sec tbb::spin_mutex, 6,i: 4,343,627 msg/sec tbb::spin_mutex, 7,s: 4,855,872 msg/sec tbb::spin_mutex, 7,i: 4,369,295 msg/sec tbb::spin_mutex, 8,s: 4,230,039 msg/sec tbb::spin_mutex, 8,i: 4,075,980 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,313,542 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,014,731 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,698,354 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,144,819 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,535,211 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,193,420 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,382,403 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,253,291 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,700,678 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,893,899 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,971,282 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,949,585 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,900,461 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,951,091 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,966,468 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,100,369 msg/sec xenium::michael_scott_queue, 1,s: 9,383,429 msg/sec xenium::michael_scott_queue, 1,i: 9,453,144 msg/sec xenium::michael_scott_queue, 2,s: 8,358,155 msg/sec xenium::michael_scott_queue, 2,i: 8,352,014 msg/sec xenium::michael_scott_queue, 3,s: 7,165,224 msg/sec xenium::michael_scott_queue, 3,i: 7,560,572 msg/sec xenium::michael_scott_queue, 4,s: 6,412,000 msg/sec xenium::michael_scott_queue, 4,i: 6,364,671 msg/sec xenium::michael_scott_queue, 5,s: 6,355,245 msg/sec xenium::michael_scott_queue, 5,i: 6,788,575 msg/sec xenium::michael_scott_queue, 6,s: 6,552,233 msg/sec xenium::michael_scott_queue, 6,i: 6,968,511 msg/sec xenium::michael_scott_queue, 7,s: 6,317,730 msg/sec xenium::michael_scott_queue, 7,i: 6,565,638 msg/sec xenium::michael_scott_queue, 8,s: 6,001,224 msg/sec xenium::michael_scott_queue, 8,i: 6,251,996 msg/sec xenium::ramalhete_queue, 1,s: 32,378,644 msg/sec xenium::ramalhete_queue, 1,i: 30,957,318 msg/sec xenium::ramalhete_queue, 2,s: 23,585,100 msg/sec xenium::ramalhete_queue, 2,i: 23,283,837 msg/sec xenium::ramalhete_queue, 3,s: 29,153,207 msg/sec xenium::ramalhete_queue, 3,i: 28,425,660 msg/sec xenium::ramalhete_queue, 4,s: 33,883,847 msg/sec xenium::ramalhete_queue, 4,i: 33,519,481 msg/sec xenium::ramalhete_queue, 5,s: 32,213,219 msg/sec xenium::ramalhete_queue, 5,i: 36,136,325 msg/sec xenium::ramalhete_queue, 6,s: 34,170,954 msg/sec xenium::ramalhete_queue, 6,i: 39,120,473 msg/sec xenium::ramalhete_queue, 7,s: 34,876,816 msg/sec xenium::ramalhete_queue, 7,i: 41,582,190 msg/sec xenium::ramalhete_queue, 8,s: 35,431,799 msg/sec xenium::ramalhete_queue, 8,i: 44,066,295 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,647,665 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,950,334 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,798,556 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,826,173 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,591,124 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,924,201 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,570,858 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,297,411 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,999,541 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,310,374 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,926,065 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,197,236 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,208,611 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,038,743 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,359,330 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,320,613 msg/sec AtomicQueue, 1,s: 60,874,708 msg/sec AtomicQueue, 1,i: 56,743,532 msg/sec AtomicQueue, 2,s: 12,264,325 msg/sec AtomicQueue, 2,i: 11,730,880 msg/sec AtomicQueue, 3,s: 10,739,550 msg/sec AtomicQueue, 3,i: 9,991,413 msg/sec AtomicQueue, 4,s: 8,154,315 msg/sec AtomicQueue, 4,i: 8,184,394 msg/sec AtomicQueue, 5,s: 8,026,415 msg/sec AtomicQueue, 5,i: 8,131,750 msg/sec AtomicQueue, 6,s: 7,781,723 msg/sec AtomicQueue, 6,i: 7,612,016 msg/sec AtomicQueue, 7,s: 7,071,755 msg/sec AtomicQueue, 7,i: 7,952,127 msg/sec AtomicQueue, 8,s: 6,361,537 msg/sec AtomicQueue, 8,i: 7,463,387 msg/sec AtomicQueueB, 1,s: 43,944,367 msg/sec AtomicQueueB, 1,i: 43,713,307 msg/sec AtomicQueueB, 2,s: 11,684,528 msg/sec AtomicQueueB, 2,i: 11,487,671 msg/sec AtomicQueueB, 3,s: 11,049,997 msg/sec AtomicQueueB, 3,i: 10,233,872 msg/sec AtomicQueueB, 4,s: 8,057,424 msg/sec AtomicQueueB, 4,i: 8,061,098 msg/sec AtomicQueueB, 5,s: 7,429,081 msg/sec AtomicQueueB, 5,i: 7,759,724 msg/sec AtomicQueueB, 6,s: 7,321,577 msg/sec AtomicQueueB, 6,i: 7,506,502 msg/sec AtomicQueueB, 7,s: 6,916,535 msg/sec AtomicQueueB, 7,i: 7,730,109 msg/sec AtomicQueueB, 8,s: 6,312,321 msg/sec AtomicQueueB, 8,i: 7,169,127 msg/sec OptimistAtomicQueue, 1,s: 823,550,920 msg/sec OptimistAtomicQueue, 1,i: 629,713,801 msg/sec OptimistAtomicQueue, 2,s: 32,216,766 msg/sec OptimistAtomicQueue, 2,i: 31,948,713 msg/sec OptimistAtomicQueue, 3,s: 36,573,424 msg/sec OptimistAtomicQueue, 3,i: 37,348,728 msg/sec OptimistAtomicQueue, 4,s: 39,269,931 msg/sec OptimistAtomicQueue, 4,i: 39,382,729 msg/sec OptimistAtomicQueue, 5,s: 42,255,579 msg/sec OptimistAtomicQueue, 5,i: 48,265,870 msg/sec OptimistAtomicQueue, 6,s: 41,846,623 msg/sec OptimistAtomicQueue, 6,i: 50,467,056 msg/sec OptimistAtomicQueue, 7,s: 45,122,974 msg/sec OptimistAtomicQueue, 7,i: 49,174,321 msg/sec OptimistAtomicQueue, 8,s: 46,450,769 msg/sec OptimistAtomicQueue, 8,i: 48,601,609 msg/sec OptimistAtomicQueueB, 1,s: 77,880,526 msg/sec OptimistAtomicQueueB, 1,i: 76,765,651 msg/sec OptimistAtomicQueueB, 2,s: 32,261,704 msg/sec OptimistAtomicQueueB, 2,i: 32,069,176 msg/sec OptimistAtomicQueueB, 3,s: 36,284,179 msg/sec OptimistAtomicQueueB, 3,i: 36,956,475 msg/sec OptimistAtomicQueueB, 4,s: 38,793,887 msg/sec OptimistAtomicQueueB, 4,i: 38,710,958 msg/sec OptimistAtomicQueueB, 5,s: 41,019,433 msg/sec OptimistAtomicQueueB, 5,i: 45,141,035 msg/sec OptimistAtomicQueueB, 6,s: 40,721,443 msg/sec OptimistAtomicQueueB, 6,i: 48,504,533 msg/sec OptimistAtomicQueueB, 7,s: 41,685,011 msg/sec OptimistAtomicQueueB, 7,i: 51,495,678 msg/sec OptimistAtomicQueueB, 8,s: 43,997,647 msg/sec OptimistAtomicQueueB, 8,i: 48,751,583 msg/sec AtomicQueue2, 1,s: 23,080,069 msg/sec AtomicQueue2, 1,i: 23,057,962 msg/sec AtomicQueue2, 2,s: 11,830,534 msg/sec AtomicQueue2, 2,i: 11,374,335 msg/sec AtomicQueue2, 3,s: 9,835,198 msg/sec AtomicQueue2, 3,i: 9,601,712 msg/sec AtomicQueue2, 4,s: 8,037,233 msg/sec AtomicQueue2, 4,i: 8,014,888 msg/sec AtomicQueue2, 5,s: 7,966,155 msg/sec AtomicQueue2, 5,i: 8,026,924 msg/sec AtomicQueue2, 6,s: 7,708,134 msg/sec AtomicQueue2, 6,i: 7,544,286 msg/sec AtomicQueue2, 7,s: 7,117,335 msg/sec AtomicQueue2, 7,i: 7,902,351 msg/sec AtomicQueue2, 8,s: 6,384,288 msg/sec AtomicQueue2, 8,i: 7,221,403 msg/sec AtomicQueueB2, 1,s: 35,893,518 msg/sec AtomicQueueB2, 1,i: 32,624,719 msg/sec AtomicQueueB2, 2,s: 11,447,205 msg/sec AtomicQueueB2, 2,i: 11,154,827 msg/sec AtomicQueueB2, 3,s: 9,736,454 msg/sec AtomicQueueB2, 3,i: 9,550,289 msg/sec AtomicQueueB2, 4,s: 7,993,774 msg/sec AtomicQueueB2, 4,i: 7,872,788 msg/sec AtomicQueueB2, 5,s: 7,469,426 msg/sec AtomicQueueB2, 5,i: 7,744,276 msg/sec AtomicQueueB2, 6,s: 7,268,051 msg/sec AtomicQueueB2, 6,i: 7,408,997 msg/sec AtomicQueueB2, 7,s: 6,911,789 msg/sec AtomicQueueB2, 7,i: 7,685,768 msg/sec AtomicQueueB2, 8,s: 6,281,230 msg/sec AtomicQueueB2, 8,i: 6,944,464 msg/sec OptimistAtomicQueue2, 1,s: 100,377,784 msg/sec OptimistAtomicQueue2, 1,i: 62,473,073 msg/sec OptimistAtomicQueue2, 2,s: 26,139,831 msg/sec OptimistAtomicQueue2, 2,i: 24,025,010 msg/sec OptimistAtomicQueue2, 3,s: 30,346,507 msg/sec OptimistAtomicQueue2, 3,i: 29,943,670 msg/sec OptimistAtomicQueue2, 4,s: 33,215,785 msg/sec OptimistAtomicQueue2, 4,i: 33,434,892 msg/sec OptimistAtomicQueue2, 5,s: 37,175,036 msg/sec OptimistAtomicQueue2, 5,i: 40,322,137 msg/sec OptimistAtomicQueue2, 6,s: 40,304,989 msg/sec OptimistAtomicQueue2, 6,i: 49,350,502 msg/sec OptimistAtomicQueue2, 7,s: 42,635,878 msg/sec OptimistAtomicQueue2, 7,i: 48,092,824 msg/sec OptimistAtomicQueue2, 8,s: 44,114,124 msg/sec OptimistAtomicQueue2, 8,i: 48,860,730 msg/sec OptimistAtomicQueueB2, 1,s: 76,816,148 msg/sec OptimistAtomicQueueB2, 1,i: 33,923,224 msg/sec OptimistAtomicQueueB2, 2,s: 27,160,214 msg/sec OptimistAtomicQueueB2, 2,i: 23,557,100 msg/sec OptimistAtomicQueueB2, 3,s: 29,749,844 msg/sec OptimistAtomicQueueB2, 3,i: 29,073,303 msg/sec OptimistAtomicQueueB2, 4,s: 33,095,377 msg/sec OptimistAtomicQueueB2, 4,i: 32,247,494 msg/sec OptimistAtomicQueueB2, 5,s: 34,435,622 msg/sec OptimistAtomicQueueB2, 5,i: 39,354,395 msg/sec OptimistAtomicQueueB2, 6,s: 36,990,957 msg/sec OptimistAtomicQueueB2, 6,i: 42,690,634 msg/sec OptimistAtomicQueueB2, 7,s: 40,837,243 msg/sec OptimistAtomicQueueB2, 7,i: 45,305,749 msg/sec OptimistAtomicQueueB2, 8,s: 42,109,869 msg/sec OptimistAtomicQueueB2, 8,i: 46,505,590 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000293 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [132] 307m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,993,240 msg/sec boost::lockfree::spsc_queue, 1,i: 69,299,063 msg/sec boost::lockfree::queue, 1,s: 6,870,818 msg/sec boost::lockfree::queue, 1,i: 6,951,173 msg/sec boost::lockfree::queue, 2,s: 7,596,237 msg/sec boost::lockfree::queue, 2,i: 7,625,516 msg/sec boost::lockfree::queue, 3,s: 7,297,051 msg/sec boost::lockfree::queue, 3,i: 7,572,560 msg/sec boost::lockfree::queue, 4,s: 6,419,781 msg/sec boost::lockfree::queue, 4,i: 6,775,926 msg/sec boost::lockfree::queue, 5,s: 6,457,230 msg/sec boost::lockfree::queue, 5,i: 6,525,941 msg/sec boost::lockfree::queue, 6,s: 6,044,629 msg/sec boost::lockfree::queue, 6,i: 6,125,563 msg/sec boost::lockfree::queue, 7,s: 6,030,730 msg/sec boost::lockfree::queue, 7,i: 6,062,064 msg/sec boost::lockfree::queue, 8,s: 5,500,040 msg/sec boost::lockfree::queue, 8,i: 5,530,186 msg/sec moodycamel::ReaderWriterQueue, 1,s: 182,771,852 msg/sec moodycamel::ReaderWriterQueue, 1,i: 90,752,312 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,640,031 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,738,818 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,415,235 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,613,347 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,352,840 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,972,334 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,773,561 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,675,550 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,062,965 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,611,100 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,450,148 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,378,904 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,948,202 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,950,429 msg/sec moodycamel::ConcurrentQueue, 8,s: 48,577,719 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,487,414 msg/sec pthread_spinlock, 1,s: 29,026,197 msg/sec pthread_spinlock, 1,i: 25,363,699 msg/sec pthread_spinlock, 2,s: 16,217,748 msg/sec pthread_spinlock, 2,i: 16,972,514 msg/sec pthread_spinlock, 3,s: 8,260,554 msg/sec pthread_spinlock, 3,i: 12,048,381 msg/sec pthread_spinlock, 4,s: 6,504,841 msg/sec pthread_spinlock, 4,i: 9,078,811 msg/sec pthread_spinlock, 5,s: 8,804,995 msg/sec pthread_spinlock, 5,i: 8,857,426 msg/sec pthread_spinlock, 6,s: 8,461,662 msg/sec pthread_spinlock, 6,i: 9,064,298 msg/sec pthread_spinlock, 7,s: 7,594,851 msg/sec pthread_spinlock, 7,i: 7,678,224 msg/sec pthread_spinlock, 8,s: 6,607,839 msg/sec pthread_spinlock, 8,i: 6,925,449 msg/sec std::mutex, 1,s: 6,894,453 msg/sec std::mutex, 1,i: 7,544,011 msg/sec std::mutex, 2,s: 5,924,277 msg/sec std::mutex, 2,i: 6,185,109 msg/sec std::mutex, 3,s: 6,054,785 msg/sec std::mutex, 3,i: 6,205,527 msg/sec std::mutex, 4,s: 6,126,565 msg/sec std::mutex, 4,i: 6,195,707 msg/sec std::mutex, 5,s: 6,065,497 msg/sec std::mutex, 5,i: 5,997,069 msg/sec std::mutex, 6,s: 6,031,259 msg/sec std::mutex, 6,i: 5,950,665 msg/sec std::mutex, 7,s: 5,823,017 msg/sec std::mutex, 7,i: 5,813,241 msg/sec std::mutex, 8,s: 5,680,268 msg/sec std::mutex, 8,i: 5,657,097 msg/sec tbb::spin_mutex, 1,s: 37,693,325 msg/sec tbb::spin_mutex, 1,i: 33,097,952 msg/sec tbb::spin_mutex, 2,s: 18,081,021 msg/sec tbb::spin_mutex, 2,i: 18,524,148 msg/sec tbb::spin_mutex, 3,s: 8,913,219 msg/sec tbb::spin_mutex, 3,i: 11,199,073 msg/sec tbb::spin_mutex, 4,s: 3,138,330 msg/sec tbb::spin_mutex, 4,i: 6,329,138 msg/sec tbb::spin_mutex, 5,s: 5,542,484 msg/sec tbb::spin_mutex, 5,i: 5,789,426 msg/sec tbb::spin_mutex, 6,s: 5,399,966 msg/sec tbb::spin_mutex, 6,i: 4,394,655 msg/sec tbb::spin_mutex, 7,s: 4,666,432 msg/sec tbb::spin_mutex, 7,i: 4,373,851 msg/sec tbb::spin_mutex, 8,s: 3,869,522 msg/sec tbb::spin_mutex, 8,i: 4,073,105 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,252,454 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,660,076 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,707,473 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,919,110 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,271,536 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,351,012 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,077,352 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,529,720 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,582,360 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,560,456 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,763,622 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,591,016 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,828,816 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,714,434 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,101,590 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,081,670 msg/sec xenium::michael_scott_queue, 1,s: 9,221,934 msg/sec xenium::michael_scott_queue, 1,i: 8,929,841 msg/sec xenium::michael_scott_queue, 2,s: 8,555,565 msg/sec xenium::michael_scott_queue, 2,i: 8,554,475 msg/sec xenium::michael_scott_queue, 3,s: 7,138,588 msg/sec xenium::michael_scott_queue, 3,i: 7,544,109 msg/sec xenium::michael_scott_queue, 4,s: 6,278,184 msg/sec xenium::michael_scott_queue, 4,i: 6,306,327 msg/sec xenium::michael_scott_queue, 5,s: 6,312,084 msg/sec xenium::michael_scott_queue, 5,i: 6,727,456 msg/sec xenium::michael_scott_queue, 6,s: 6,494,374 msg/sec xenium::michael_scott_queue, 6,i: 6,922,353 msg/sec xenium::michael_scott_queue, 7,s: 6,300,061 msg/sec xenium::michael_scott_queue, 7,i: 6,423,984 msg/sec xenium::michael_scott_queue, 8,s: 5,958,824 msg/sec xenium::michael_scott_queue, 8,i: 6,148,657 msg/sec xenium::ramalhete_queue, 1,s: 30,577,539 msg/sec xenium::ramalhete_queue, 1,i: 30,855,532 msg/sec xenium::ramalhete_queue, 2,s: 23,520,526 msg/sec xenium::ramalhete_queue, 2,i: 23,273,619 msg/sec xenium::ramalhete_queue, 3,s: 29,121,727 msg/sec xenium::ramalhete_queue, 3,i: 28,429,988 msg/sec xenium::ramalhete_queue, 4,s: 33,837,610 msg/sec xenium::ramalhete_queue, 4,i: 33,416,020 msg/sec xenium::ramalhete_queue, 5,s: 32,267,517 msg/sec xenium::ramalhete_queue, 5,i: 36,134,254 msg/sec xenium::ramalhete_queue, 6,s: 34,109,745 msg/sec xenium::ramalhete_queue, 6,i: 38,966,889 msg/sec xenium::ramalhete_queue, 7,s: 35,210,514 msg/sec xenium::ramalhete_queue, 7,i: 40,889,640 msg/sec xenium::ramalhete_queue, 8,s: 35,532,362 msg/sec xenium::ramalhete_queue, 8,i: 44,029,787 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,752,125 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,095,682 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,764,276 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,377,668 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,685,081 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,854,544 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,457,965 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,439,077 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,966,361 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,384,382 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,114,167 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,736,823 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,196,163 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,383,917 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,393,080 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,239,068 msg/sec AtomicQueue, 1,s: 65,488,011 msg/sec AtomicQueue, 1,i: 56,337,266 msg/sec AtomicQueue, 2,s: 12,312,925 msg/sec AtomicQueue, 2,i: 11,722,189 msg/sec AtomicQueue, 3,s: 10,687,365 msg/sec AtomicQueue, 3,i: 9,866,705 msg/sec AtomicQueue, 4,s: 8,201,874 msg/sec AtomicQueue, 4,i: 8,180,758 msg/sec AtomicQueue, 5,s: 8,041,136 msg/sec AtomicQueue, 5,i: 8,058,851 msg/sec AtomicQueue, 6,s: 7,957,222 msg/sec AtomicQueue, 6,i: 7,625,356 msg/sec AtomicQueue, 7,s: 7,067,530 msg/sec AtomicQueue, 7,i: 7,993,669 msg/sec AtomicQueue, 8,s: 6,352,981 msg/sec AtomicQueue, 8,i: 7,386,620 msg/sec AtomicQueueB, 1,s: 44,142,022 msg/sec AtomicQueueB, 1,i: 43,083,370 msg/sec AtomicQueueB, 2,s: 11,782,501 msg/sec AtomicQueueB, 2,i: 11,528,508 msg/sec AtomicQueueB, 3,s: 11,028,089 msg/sec AtomicQueueB, 3,i: 10,293,002 msg/sec AtomicQueueB, 4,s: 8,137,514 msg/sec AtomicQueueB, 4,i: 8,003,627 msg/sec AtomicQueueB, 5,s: 7,567,291 msg/sec AtomicQueueB, 5,i: 7,889,772 msg/sec AtomicQueueB, 6,s: 7,396,935 msg/sec AtomicQueueB, 6,i: 7,529,178 msg/sec AtomicQueueB, 7,s: 6,900,360 msg/sec AtomicQueueB, 7,i: 7,746,186 msg/sec AtomicQueueB, 8,s: 6,296,383 msg/sec AtomicQueueB, 8,i: 7,158,339 msg/sec OptimistAtomicQueue, 1,s: 738,817,625 msg/sec OptimistAtomicQueue, 1,i: 575,369,027 msg/sec OptimistAtomicQueue, 2,s: 32,097,147 msg/sec OptimistAtomicQueue, 2,i: 32,192,202 msg/sec OptimistAtomicQueue, 3,s: 36,655,145 msg/sec OptimistAtomicQueue, 3,i: 37,414,334 msg/sec OptimistAtomicQueue, 4,s: 39,290,986 msg/sec OptimistAtomicQueue, 4,i: 39,378,989 msg/sec OptimistAtomicQueue, 5,s: 41,759,028 msg/sec OptimistAtomicQueue, 5,i: 46,503,663 msg/sec OptimistAtomicQueue, 6,s: 41,983,150 msg/sec OptimistAtomicQueue, 6,i: 50,355,963 msg/sec OptimistAtomicQueue, 7,s: 44,081,455 msg/sec OptimistAtomicQueue, 7,i: 52,100,927 msg/sec OptimistAtomicQueue, 8,s: 46,518,706 msg/sec OptimistAtomicQueue, 8,i: 49,390,769 msg/sec OptimistAtomicQueueB, 1,s: 207,568,098 msg/sec OptimistAtomicQueueB, 1,i: 139,222,306 msg/sec OptimistAtomicQueueB, 2,s: 32,158,717 msg/sec OptimistAtomicQueueB, 2,i: 32,219,448 msg/sec OptimistAtomicQueueB, 3,s: 36,182,927 msg/sec OptimistAtomicQueueB, 3,i: 36,676,872 msg/sec OptimistAtomicQueueB, 4,s: 38,736,686 msg/sec OptimistAtomicQueueB, 4,i: 38,660,361 msg/sec OptimistAtomicQueueB, 5,s: 41,254,471 msg/sec OptimistAtomicQueueB, 5,i: 45,331,785 msg/sec OptimistAtomicQueueB, 6,s: 41,016,555 msg/sec OptimistAtomicQueueB, 6,i: 49,100,470 msg/sec OptimistAtomicQueueB, 7,s: 41,973,550 msg/sec OptimistAtomicQueueB, 7,i: 48,033,555 msg/sec OptimistAtomicQueueB, 8,s: 44,182,727 msg/sec OptimistAtomicQueueB, 8,i: 47,440,400 msg/sec AtomicQueue2, 1,s: 22,925,670 msg/sec AtomicQueue2, 1,i: 22,885,001 msg/sec AtomicQueue2, 2,s: 11,890,714 msg/sec AtomicQueue2, 2,i: 11,447,224 msg/sec AtomicQueue2, 3,s: 9,444,890 msg/sec AtomicQueue2, 3,i: 9,546,143 msg/sec AtomicQueue2, 4,s: 8,037,704 msg/sec AtomicQueue2, 4,i: 8,052,256 msg/sec AtomicQueue2, 5,s: 7,949,291 msg/sec AtomicQueue2, 5,i: 7,929,524 msg/sec AtomicQueue2, 6,s: 7,785,782 msg/sec AtomicQueue2, 6,i: 7,537,094 msg/sec AtomicQueue2, 7,s: 7,117,402 msg/sec AtomicQueue2, 7,i: 7,864,853 msg/sec AtomicQueue2, 8,s: 6,368,587 msg/sec AtomicQueue2, 8,i: 7,337,320 msg/sec AtomicQueueB2, 1,s: 36,269,310 msg/sec AtomicQueueB2, 1,i: 32,610,540 msg/sec AtomicQueueB2, 2,s: 11,502,831 msg/sec AtomicQueueB2, 2,i: 11,088,908 msg/sec AtomicQueueB2, 3,s: 9,674,204 msg/sec AtomicQueueB2, 3,i: 9,552,101 msg/sec AtomicQueueB2, 4,s: 7,871,634 msg/sec AtomicQueueB2, 4,i: 7,857,374 msg/sec AtomicQueueB2, 5,s: 7,569,014 msg/sec AtomicQueueB2, 5,i: 7,768,023 msg/sec AtomicQueueB2, 6,s: 7,253,261 msg/sec AtomicQueueB2, 6,i: 7,403,942 msg/sec AtomicQueueB2, 7,s: 6,931,400 msg/sec AtomicQueueB2, 7,i: 7,484,682 msg/sec AtomicQueueB2, 8,s: 6,257,082 msg/sec AtomicQueueB2, 8,i: 7,126,702 msg/sec OptimistAtomicQueue2, 1,s: 499,993,187 msg/sec OptimistAtomicQueue2, 1,i: 115,831,807 msg/sec OptimistAtomicQueue2, 2,s: 29,364,549 msg/sec OptimistAtomicQueue2, 2,i: 21,661,800 msg/sec OptimistAtomicQueue2, 3,s: 31,060,973 msg/sec OptimistAtomicQueue2, 3,i: 29,970,522 msg/sec OptimistAtomicQueue2, 4,s: 33,220,909 msg/sec OptimistAtomicQueue2, 4,i: 33,065,775 msg/sec OptimistAtomicQueue2, 5,s: 37,348,442 msg/sec OptimistAtomicQueue2, 5,i: 40,307,895 msg/sec OptimistAtomicQueue2, 6,s: 40,090,830 msg/sec OptimistAtomicQueue2, 6,i: 49,228,134 msg/sec OptimistAtomicQueue2, 7,s: 42,766,902 msg/sec OptimistAtomicQueue2, 7,i: 48,041,140 msg/sec OptimistAtomicQueue2, 8,s: 43,932,333 msg/sec OptimistAtomicQueue2, 8,i: 48,629,404 msg/sec OptimistAtomicQueueB2, 1,s: 78,168,769 msg/sec OptimistAtomicQueueB2, 1,i: 41,397,965 msg/sec OptimistAtomicQueueB2, 2,s: 27,342,118 msg/sec OptimistAtomicQueueB2, 2,i: 23,133,141 msg/sec OptimistAtomicQueueB2, 3,s: 30,281,817 msg/sec OptimistAtomicQueueB2, 3,i: 29,130,568 msg/sec OptimistAtomicQueueB2, 4,s: 33,219,538 msg/sec OptimistAtomicQueueB2, 4,i: 32,735,326 msg/sec OptimistAtomicQueueB2, 5,s: 34,499,916 msg/sec OptimistAtomicQueueB2, 5,i: 39,359,373 msg/sec OptimistAtomicQueueB2, 6,s: 37,716,159 msg/sec OptimistAtomicQueueB2, 6,i: 42,172,161 msg/sec OptimistAtomicQueueB2, 7,s: 40,722,581 msg/sec OptimistAtomicQueueB2, 7,i: 45,511,479 msg/sec OptimistAtomicQueueB2, 8,s: 42,394,546 msg/sec OptimistAtomicQueueB2, 8,i: 45,181,922 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000327 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000161 sec/round-trip moodycamel::ConcurrentQueue: 0.000000251 sec/round-trip pthread_spinlock: 0.000000287 sec/round-trip std::mutex: 0.000000470 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000363 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [133] 305m:52s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,744,217 msg/sec boost::lockfree::spsc_queue, 1,i: 70,036,986 msg/sec boost::lockfree::queue, 1,s: 7,851,444 msg/sec boost::lockfree::queue, 1,i: 6,972,829 msg/sec boost::lockfree::queue, 2,s: 7,630,913 msg/sec boost::lockfree::queue, 2,i: 7,601,255 msg/sec boost::lockfree::queue, 3,s: 7,416,520 msg/sec boost::lockfree::queue, 3,i: 7,545,772 msg/sec boost::lockfree::queue, 4,s: 6,417,702 msg/sec boost::lockfree::queue, 4,i: 6,766,845 msg/sec boost::lockfree::queue, 5,s: 6,449,581 msg/sec boost::lockfree::queue, 5,i: 6,421,773 msg/sec boost::lockfree::queue, 6,s: 5,960,288 msg/sec boost::lockfree::queue, 6,i: 6,145,388 msg/sec boost::lockfree::queue, 7,s: 5,868,284 msg/sec boost::lockfree::queue, 7,i: 6,034,233 msg/sec boost::lockfree::queue, 8,s: 5,475,095 msg/sec boost::lockfree::queue, 8,i: 5,582,071 msg/sec moodycamel::ReaderWriterQueue, 1,s: 518,043,990 msg/sec moodycamel::ReaderWriterQueue, 1,i: 471,002,551 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,114,015 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,478,879 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,276,234 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,340,560 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,247,930 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,816,643 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,534,504 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,332,606 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,512,797 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,223,295 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,282,026 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,457,955 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,224,436 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,880,146 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,242,168 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,626,970 msg/sec pthread_spinlock, 1,s: 29,097,991 msg/sec pthread_spinlock, 1,i: 29,127,618 msg/sec pthread_spinlock, 2,s: 15,435,565 msg/sec pthread_spinlock, 2,i: 18,137,915 msg/sec pthread_spinlock, 3,s: 8,358,952 msg/sec pthread_spinlock, 3,i: 11,999,138 msg/sec pthread_spinlock, 4,s: 6,503,752 msg/sec pthread_spinlock, 4,i: 9,274,360 msg/sec pthread_spinlock, 5,s: 8,725,444 msg/sec pthread_spinlock, 5,i: 9,536,923 msg/sec pthread_spinlock, 6,s: 8,236,836 msg/sec pthread_spinlock, 6,i: 8,494,275 msg/sec pthread_spinlock, 7,s: 7,722,907 msg/sec pthread_spinlock, 7,i: 7,403,187 msg/sec pthread_spinlock, 8,s: 6,666,745 msg/sec pthread_spinlock, 8,i: 7,296,797 msg/sec std::mutex, 1,s: 6,365,951 msg/sec std::mutex, 1,i: 6,661,702 msg/sec std::mutex, 2,s: 5,921,531 msg/sec std::mutex, 2,i: 6,068,931 msg/sec std::mutex, 3,s: 6,099,996 msg/sec std::mutex, 3,i: 5,549,619 msg/sec std::mutex, 4,s: 5,546,799 msg/sec std::mutex, 4,i: 5,723,928 msg/sec std::mutex, 5,s: 6,050,821 msg/sec std::mutex, 5,i: 5,987,030 msg/sec std::mutex, 6,s: 5,990,478 msg/sec std::mutex, 6,i: 5,932,064 msg/sec std::mutex, 7,s: 5,814,673 msg/sec std::mutex, 7,i: 5,805,989 msg/sec std::mutex, 8,s: 5,681,194 msg/sec std::mutex, 8,i: 5,668,805 msg/sec tbb::spin_mutex, 1,s: 37,810,936 msg/sec tbb::spin_mutex, 1,i: 37,744,225 msg/sec tbb::spin_mutex, 2,s: 21,184,957 msg/sec tbb::spin_mutex, 2,i: 18,314,814 msg/sec tbb::spin_mutex, 3,s: 7,479,929 msg/sec tbb::spin_mutex, 3,i: 10,309,034 msg/sec tbb::spin_mutex, 4,s: 3,213,240 msg/sec tbb::spin_mutex, 4,i: 6,337,423 msg/sec tbb::spin_mutex, 5,s: 5,397,767 msg/sec tbb::spin_mutex, 5,i: 5,696,563 msg/sec tbb::spin_mutex, 6,s: 5,151,691 msg/sec tbb::spin_mutex, 6,i: 4,332,923 msg/sec tbb::spin_mutex, 7,s: 4,829,732 msg/sec tbb::spin_mutex, 7,i: 4,344,084 msg/sec tbb::spin_mutex, 8,s: 4,242,827 msg/sec tbb::spin_mutex, 8,i: 4,158,233 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,995,961 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,388,256 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,174,712 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,350,277 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,443,684 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,630,345 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,571,743 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,588,730 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,920,787 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,664,169 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,908,623 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,672,286 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,910,942 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,820,771 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,763,382 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,467,361 msg/sec xenium::michael_scott_queue, 1,s: 9,499,729 msg/sec xenium::michael_scott_queue, 1,i: 9,485,046 msg/sec xenium::michael_scott_queue, 2,s: 8,508,871 msg/sec xenium::michael_scott_queue, 2,i: 8,477,574 msg/sec xenium::michael_scott_queue, 3,s: 7,121,198 msg/sec xenium::michael_scott_queue, 3,i: 7,536,359 msg/sec xenium::michael_scott_queue, 4,s: 6,261,419 msg/sec xenium::michael_scott_queue, 4,i: 6,314,364 msg/sec xenium::michael_scott_queue, 5,s: 6,337,254 msg/sec xenium::michael_scott_queue, 5,i: 6,624,516 msg/sec xenium::michael_scott_queue, 6,s: 6,501,576 msg/sec xenium::michael_scott_queue, 6,i: 6,755,200 msg/sec xenium::michael_scott_queue, 7,s: 6,332,453 msg/sec xenium::michael_scott_queue, 7,i: 6,408,406 msg/sec xenium::michael_scott_queue, 8,s: 5,976,751 msg/sec xenium::michael_scott_queue, 8,i: 6,093,600 msg/sec xenium::ramalhete_queue, 1,s: 31,566,731 msg/sec xenium::ramalhete_queue, 1,i: 31,554,233 msg/sec xenium::ramalhete_queue, 2,s: 23,528,790 msg/sec xenium::ramalhete_queue, 2,i: 23,383,780 msg/sec xenium::ramalhete_queue, 3,s: 29,260,171 msg/sec xenium::ramalhete_queue, 3,i: 28,460,933 msg/sec xenium::ramalhete_queue, 4,s: 33,711,576 msg/sec xenium::ramalhete_queue, 4,i: 33,461,927 msg/sec xenium::ramalhete_queue, 5,s: 32,142,267 msg/sec xenium::ramalhete_queue, 5,i: 36,147,637 msg/sec xenium::ramalhete_queue, 6,s: 34,118,107 msg/sec xenium::ramalhete_queue, 6,i: 38,649,121 msg/sec xenium::ramalhete_queue, 7,s: 34,985,752 msg/sec xenium::ramalhete_queue, 7,i: 41,480,560 msg/sec xenium::ramalhete_queue, 8,s: 35,451,574 msg/sec xenium::ramalhete_queue, 8,i: 43,785,294 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,075,964 msg/sec xenium::vyukov_bounded_queue, 1,i: 69,906,632 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,541,448 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,628,673 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,774,841 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,921,557 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,601,015 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,884,482 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,984,932 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,258,893 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,992,287 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,675,313 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,293,489 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,285,623 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,378,900 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,333,423 msg/sec AtomicQueue, 1,s: 169,638,809 msg/sec AtomicQueue, 1,i: 238,074,307 msg/sec AtomicQueue, 2,s: 12,298,935 msg/sec AtomicQueue, 2,i: 11,692,091 msg/sec AtomicQueue, 3,s: 10,758,276 msg/sec AtomicQueue, 3,i: 9,935,323 msg/sec AtomicQueue, 4,s: 8,151,173 msg/sec AtomicQueue, 4,i: 8,185,536 msg/sec AtomicQueue, 5,s: 8,040,472 msg/sec AtomicQueue, 5,i: 8,102,421 msg/sec AtomicQueue, 6,s: 7,569,085 msg/sec AtomicQueue, 6,i: 7,619,842 msg/sec AtomicQueue, 7,s: 7,061,547 msg/sec AtomicQueue, 7,i: 7,979,910 msg/sec AtomicQueue, 8,s: 6,365,174 msg/sec AtomicQueue, 8,i: 7,433,754 msg/sec AtomicQueueB, 1,s: 43,081,627 msg/sec AtomicQueueB, 1,i: 43,007,973 msg/sec AtomicQueueB, 2,s: 11,896,459 msg/sec AtomicQueueB, 2,i: 11,460,533 msg/sec AtomicQueueB, 3,s: 11,037,932 msg/sec AtomicQueueB, 3,i: 10,321,567 msg/sec AtomicQueueB, 4,s: 8,081,349 msg/sec AtomicQueueB, 4,i: 8,049,779 msg/sec AtomicQueueB, 5,s: 7,691,913 msg/sec AtomicQueueB, 5,i: 7,876,895 msg/sec AtomicQueueB, 6,s: 7,230,378 msg/sec AtomicQueueB, 6,i: 7,591,269 msg/sec AtomicQueueB, 7,s: 6,882,945 msg/sec AtomicQueueB, 7,i: 7,760,092 msg/sec AtomicQueueB, 8,s: 6,265,529 msg/sec AtomicQueueB, 8,i: 7,034,301 msg/sec OptimistAtomicQueue, 1,s: 703,992,712 msg/sec OptimistAtomicQueue, 1,i: 704,645,285 msg/sec OptimistAtomicQueue, 2,s: 32,637,163 msg/sec OptimistAtomicQueue, 2,i: 32,726,937 msg/sec OptimistAtomicQueue, 3,s: 36,655,016 msg/sec OptimistAtomicQueue, 3,i: 37,548,890 msg/sec OptimistAtomicQueue, 4,s: 39,277,275 msg/sec OptimistAtomicQueue, 4,i: 39,416,851 msg/sec OptimistAtomicQueue, 5,s: 42,462,516 msg/sec OptimistAtomicQueue, 5,i: 48,643,792 msg/sec OptimistAtomicQueue, 6,s: 42,640,915 msg/sec OptimistAtomicQueue, 6,i: 50,432,527 msg/sec OptimistAtomicQueue, 7,s: 45,063,992 msg/sec OptimistAtomicQueue, 7,i: 49,389,412 msg/sec OptimistAtomicQueue, 8,s: 46,302,781 msg/sec OptimistAtomicQueue, 8,i: 49,048,885 msg/sec OptimistAtomicQueueB, 1,s: 83,441,966 msg/sec OptimistAtomicQueueB, 1,i: 135,689,058 msg/sec OptimistAtomicQueueB, 2,s: 32,196,142 msg/sec OptimistAtomicQueueB, 2,i: 31,986,524 msg/sec OptimistAtomicQueueB, 3,s: 36,227,690 msg/sec OptimistAtomicQueueB, 3,i: 36,845,805 msg/sec OptimistAtomicQueueB, 4,s: 38,613,016 msg/sec OptimistAtomicQueueB, 4,i: 38,623,531 msg/sec OptimistAtomicQueueB, 5,s: 40,819,997 msg/sec OptimistAtomicQueueB, 5,i: 46,095,432 msg/sec OptimistAtomicQueueB, 6,s: 41,334,737 msg/sec OptimistAtomicQueueB, 6,i: 49,005,743 msg/sec OptimistAtomicQueueB, 7,s: 41,958,778 msg/sec OptimistAtomicQueueB, 7,i: 51,613,295 msg/sec OptimistAtomicQueueB, 8,s: 44,512,735 msg/sec OptimistAtomicQueueB, 8,i: 47,609,901 msg/sec AtomicQueue2, 1,s: 22,866,507 msg/sec AtomicQueue2, 1,i: 22,870,197 msg/sec AtomicQueue2, 2,s: 11,720,587 msg/sec AtomicQueue2, 2,i: 11,520,696 msg/sec AtomicQueue2, 3,s: 9,398,334 msg/sec AtomicQueue2, 3,i: 9,544,323 msg/sec AtomicQueue2, 4,s: 8,089,735 msg/sec AtomicQueue2, 4,i: 8,072,286 msg/sec AtomicQueue2, 5,s: 7,934,552 msg/sec AtomicQueue2, 5,i: 8,043,860 msg/sec AtomicQueue2, 6,s: 7,856,964 msg/sec AtomicQueue2, 6,i: 7,533,713 msg/sec AtomicQueue2, 7,s: 7,137,244 msg/sec AtomicQueue2, 7,i: 7,880,929 msg/sec AtomicQueue2, 8,s: 6,380,931 msg/sec AtomicQueue2, 8,i: 7,359,592 msg/sec AtomicQueueB2, 1,s: 36,271,098 msg/sec AtomicQueueB2, 1,i: 32,640,073 msg/sec AtomicQueueB2, 2,s: 11,488,486 msg/sec AtomicQueueB2, 2,i: 11,119,548 msg/sec AtomicQueueB2, 3,s: 9,664,643 msg/sec AtomicQueueB2, 3,i: 9,577,844 msg/sec AtomicQueueB2, 4,s: 7,782,033 msg/sec AtomicQueueB2, 4,i: 7,825,414 msg/sec AtomicQueueB2, 5,s: 7,582,283 msg/sec AtomicQueueB2, 5,i: 7,705,922 msg/sec AtomicQueueB2, 6,s: 7,183,990 msg/sec AtomicQueueB2, 6,i: 7,446,329 msg/sec AtomicQueueB2, 7,s: 6,892,805 msg/sec AtomicQueueB2, 7,i: 7,719,864 msg/sec AtomicQueueB2, 8,s: 6,240,974 msg/sec AtomicQueueB2, 8,i: 6,976,984 msg/sec OptimistAtomicQueue2, 1,s: 459,412,670 msg/sec OptimistAtomicQueue2, 1,i: 461,876,377 msg/sec OptimistAtomicQueue2, 2,s: 24,264,951 msg/sec OptimistAtomicQueue2, 2,i: 24,019,173 msg/sec OptimistAtomicQueue2, 3,s: 30,318,949 msg/sec OptimistAtomicQueue2, 3,i: 29,937,583 msg/sec OptimistAtomicQueue2, 4,s: 33,240,989 msg/sec OptimistAtomicQueue2, 4,i: 33,464,905 msg/sec OptimistAtomicQueue2, 5,s: 37,224,392 msg/sec OptimistAtomicQueue2, 5,i: 40,349,265 msg/sec OptimistAtomicQueue2, 6,s: 39,980,334 msg/sec OptimistAtomicQueue2, 6,i: 49,230,229 msg/sec OptimistAtomicQueue2, 7,s: 42,955,427 msg/sec OptimistAtomicQueue2, 7,i: 48,160,047 msg/sec OptimistAtomicQueue2, 8,s: 43,851,184 msg/sec OptimistAtomicQueue2, 8,i: 49,294,993 msg/sec OptimistAtomicQueueB2, 1,s: 76,305,229 msg/sec OptimistAtomicQueueB2, 1,i: 33,850,431 msg/sec OptimistAtomicQueueB2, 2,s: 27,105,032 msg/sec OptimistAtomicQueueB2, 2,i: 23,501,136 msg/sec OptimistAtomicQueueB2, 3,s: 29,739,879 msg/sec OptimistAtomicQueueB2, 3,i: 28,986,137 msg/sec OptimistAtomicQueueB2, 4,s: 33,174,743 msg/sec OptimistAtomicQueueB2, 4,i: 32,403,887 msg/sec OptimistAtomicQueueB2, 5,s: 34,511,084 msg/sec OptimistAtomicQueueB2, 5,i: 39,428,800 msg/sec OptimistAtomicQueueB2, 6,s: 37,521,124 msg/sec OptimistAtomicQueueB2, 6,i: 42,240,648 msg/sec OptimistAtomicQueueB2, 7,s: 40,103,409 msg/sec OptimistAtomicQueueB2, 7,i: 45,538,251 msg/sec OptimistAtomicQueueB2, 8,s: 42,278,890 msg/sec OptimistAtomicQueueB2, 8,i: 45,930,233 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000238 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [134] 304m:33s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,374,237 msg/sec boost::lockfree::spsc_queue, 1,i: 65,394,313 msg/sec boost::lockfree::queue, 1,s: 6,794,716 msg/sec boost::lockfree::queue, 1,i: 6,879,302 msg/sec boost::lockfree::queue, 2,s: 7,703,424 msg/sec boost::lockfree::queue, 2,i: 7,573,500 msg/sec boost::lockfree::queue, 3,s: 7,363,623 msg/sec boost::lockfree::queue, 3,i: 7,573,838 msg/sec boost::lockfree::queue, 4,s: 6,419,803 msg/sec boost::lockfree::queue, 4,i: 6,871,055 msg/sec boost::lockfree::queue, 5,s: 6,427,307 msg/sec boost::lockfree::queue, 5,i: 6,543,848 msg/sec boost::lockfree::queue, 6,s: 5,994,929 msg/sec boost::lockfree::queue, 6,i: 6,122,174 msg/sec boost::lockfree::queue, 7,s: 5,746,691 msg/sec boost::lockfree::queue, 7,i: 5,892,603 msg/sec boost::lockfree::queue, 8,s: 5,435,082 msg/sec boost::lockfree::queue, 8,i: 5,698,129 msg/sec moodycamel::ReaderWriterQueue, 1,s: 197,243,278 msg/sec moodycamel::ReaderWriterQueue, 1,i: 106,382,118 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,295,212 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,087,287 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,602,713 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,501,069 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,403,126 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,148,874 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,965,946 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,369,238 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,440,828 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,182,804 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,364,315 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,836,190 msg/sec moodycamel::ConcurrentQueue, 7,s: 31,166,916 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,740,144 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,298,047 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,629,072 msg/sec pthread_spinlock, 1,s: 28,644,297 msg/sec pthread_spinlock, 1,i: 25,332,726 msg/sec pthread_spinlock, 2,s: 15,630,416 msg/sec pthread_spinlock, 2,i: 17,149,364 msg/sec pthread_spinlock, 3,s: 8,384,148 msg/sec pthread_spinlock, 3,i: 11,959,214 msg/sec pthread_spinlock, 4,s: 6,533,724 msg/sec pthread_spinlock, 4,i: 8,738,528 msg/sec pthread_spinlock, 5,s: 8,670,998 msg/sec pthread_spinlock, 5,i: 8,951,974 msg/sec pthread_spinlock, 6,s: 8,555,112 msg/sec pthread_spinlock, 6,i: 8,538,352 msg/sec pthread_spinlock, 7,s: 7,915,170 msg/sec pthread_spinlock, 7,i: 7,584,149 msg/sec pthread_spinlock, 8,s: 6,659,261 msg/sec pthread_spinlock, 8,i: 6,951,722 msg/sec std::mutex, 1,s: 5,619,910 msg/sec std::mutex, 1,i: 5,343,314 msg/sec std::mutex, 2,s: 4,742,591 msg/sec std::mutex, 2,i: 5,427,752 msg/sec std::mutex, 3,s: 5,868,764 msg/sec std::mutex, 3,i: 6,031,118 msg/sec std::mutex, 4,s: 6,165,489 msg/sec std::mutex, 4,i: 6,310,065 msg/sec std::mutex, 5,s: 5,997,307 msg/sec std::mutex, 5,i: 5,562,081 msg/sec std::mutex, 6,s: 5,876,683 msg/sec std::mutex, 6,i: 5,832,536 msg/sec std::mutex, 7,s: 5,906,080 msg/sec std::mutex, 7,i: 5,833,490 msg/sec std::mutex, 8,s: 5,779,582 msg/sec std::mutex, 8,i: 5,702,753 msg/sec tbb::spin_mutex, 1,s: 37,954,936 msg/sec tbb::spin_mutex, 1,i: 32,822,528 msg/sec tbb::spin_mutex, 2,s: 21,175,185 msg/sec tbb::spin_mutex, 2,i: 18,390,503 msg/sec tbb::spin_mutex, 3,s: 7,926,028 msg/sec tbb::spin_mutex, 3,i: 10,697,647 msg/sec tbb::spin_mutex, 4,s: 3,108,274 msg/sec tbb::spin_mutex, 4,i: 6,326,434 msg/sec tbb::spin_mutex, 5,s: 5,532,655 msg/sec tbb::spin_mutex, 5,i: 5,732,486 msg/sec tbb::spin_mutex, 6,s: 5,352,027 msg/sec tbb::spin_mutex, 6,i: 4,346,920 msg/sec tbb::spin_mutex, 7,s: 4,489,510 msg/sec tbb::spin_mutex, 7,i: 4,284,228 msg/sec tbb::spin_mutex, 8,s: 4,265,474 msg/sec tbb::spin_mutex, 8,i: 4,049,880 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,597,668 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,546,560 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,385,062 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,534,112 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,427,454 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,924,610 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,565,702 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,645,610 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,968,027 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,662,524 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,960,645 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,681,497 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,865,284 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,810,910 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,771,301 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,465,832 msg/sec xenium::michael_scott_queue, 1,s: 9,219,783 msg/sec xenium::michael_scott_queue, 1,i: 9,232,959 msg/sec xenium::michael_scott_queue, 2,s: 8,456,983 msg/sec xenium::michael_scott_queue, 2,i: 8,422,075 msg/sec xenium::michael_scott_queue, 3,s: 7,232,169 msg/sec xenium::michael_scott_queue, 3,i: 7,493,833 msg/sec xenium::michael_scott_queue, 4,s: 6,287,321 msg/sec xenium::michael_scott_queue, 4,i: 6,296,532 msg/sec xenium::michael_scott_queue, 5,s: 6,303,312 msg/sec xenium::michael_scott_queue, 5,i: 6,672,648 msg/sec xenium::michael_scott_queue, 6,s: 6,468,335 msg/sec xenium::michael_scott_queue, 6,i: 6,901,739 msg/sec xenium::michael_scott_queue, 7,s: 6,269,331 msg/sec xenium::michael_scott_queue, 7,i: 6,578,920 msg/sec xenium::michael_scott_queue, 8,s: 6,006,505 msg/sec xenium::michael_scott_queue, 8,i: 6,131,817 msg/sec xenium::ramalhete_queue, 1,s: 32,029,565 msg/sec xenium::ramalhete_queue, 1,i: 32,518,230 msg/sec xenium::ramalhete_queue, 2,s: 23,509,454 msg/sec xenium::ramalhete_queue, 2,i: 23,347,343 msg/sec xenium::ramalhete_queue, 3,s: 29,192,858 msg/sec xenium::ramalhete_queue, 3,i: 28,507,795 msg/sec xenium::ramalhete_queue, 4,s: 34,012,868 msg/sec xenium::ramalhete_queue, 4,i: 33,552,774 msg/sec xenium::ramalhete_queue, 5,s: 32,191,694 msg/sec xenium::ramalhete_queue, 5,i: 35,845,739 msg/sec xenium::ramalhete_queue, 6,s: 34,015,829 msg/sec xenium::ramalhete_queue, 6,i: 38,875,984 msg/sec xenium::ramalhete_queue, 7,s: 35,144,942 msg/sec xenium::ramalhete_queue, 7,i: 40,616,498 msg/sec xenium::ramalhete_queue, 8,s: 35,350,770 msg/sec xenium::ramalhete_queue, 8,i: 44,155,965 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,905,968 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,723,606 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,532,620 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,552,550 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,717,884 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,752,232 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,571,377 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,096,958 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,936,654 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,326,888 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,982,267 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,559,080 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,168,219 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,970,573 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,405,175 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,288,336 msg/sec AtomicQueue, 1,s: 60,804,182 msg/sec AtomicQueue, 1,i: 56,888,892 msg/sec AtomicQueue, 2,s: 12,250,537 msg/sec AtomicQueue, 2,i: 11,748,040 msg/sec AtomicQueue, 3,s: 10,825,682 msg/sec AtomicQueue, 3,i: 9,895,189 msg/sec AtomicQueue, 4,s: 8,161,540 msg/sec AtomicQueue, 4,i: 8,164,708 msg/sec AtomicQueue, 5,s: 8,042,561 msg/sec AtomicQueue, 5,i: 8,097,801 msg/sec AtomicQueue, 6,s: 7,956,139 msg/sec AtomicQueue, 6,i: 7,621,755 msg/sec AtomicQueue, 7,s: 7,150,597 msg/sec AtomicQueue, 7,i: 7,988,258 msg/sec AtomicQueue, 8,s: 6,375,271 msg/sec AtomicQueue, 8,i: 7,438,221 msg/sec AtomicQueueB, 1,s: 43,932,362 msg/sec AtomicQueueB, 1,i: 43,872,786 msg/sec AtomicQueueB, 2,s: 11,661,360 msg/sec AtomicQueueB, 2,i: 11,487,189 msg/sec AtomicQueueB, 3,s: 10,991,092 msg/sec AtomicQueueB, 3,i: 10,127,221 msg/sec AtomicQueueB, 4,s: 8,006,275 msg/sec AtomicQueueB, 4,i: 8,006,904 msg/sec AtomicQueueB, 5,s: 7,571,270 msg/sec AtomicQueueB, 5,i: 7,835,188 msg/sec AtomicQueueB, 6,s: 7,371,986 msg/sec AtomicQueueB, 6,i: 7,528,499 msg/sec AtomicQueueB, 7,s: 6,860,285 msg/sec AtomicQueueB, 7,i: 7,764,109 msg/sec AtomicQueueB, 8,s: 6,205,883 msg/sec AtomicQueueB, 8,i: 7,140,953 msg/sec OptimistAtomicQueue, 1,s: 545,283,475 msg/sec OptimistAtomicQueue, 1,i: 536,983,965 msg/sec OptimistAtomicQueue, 2,s: 32,091,431 msg/sec OptimistAtomicQueue, 2,i: 32,171,865 msg/sec OptimistAtomicQueue, 3,s: 36,611,679 msg/sec OptimistAtomicQueue, 3,i: 37,320,096 msg/sec OptimistAtomicQueue, 4,s: 39,282,622 msg/sec OptimistAtomicQueue, 4,i: 39,389,564 msg/sec OptimistAtomicQueue, 5,s: 42,422,082 msg/sec OptimistAtomicQueue, 5,i: 46,872,248 msg/sec OptimistAtomicQueue, 6,s: 42,218,765 msg/sec OptimistAtomicQueue, 6,i: 50,421,158 msg/sec OptimistAtomicQueue, 7,s: 44,143,270 msg/sec OptimistAtomicQueue, 7,i: 52,980,860 msg/sec OptimistAtomicQueue, 8,s: 46,383,606 msg/sec OptimistAtomicQueue, 8,i: 49,766,367 msg/sec OptimistAtomicQueueB, 1,s: 174,068,236 msg/sec OptimistAtomicQueueB, 1,i: 163,746,795 msg/sec OptimistAtomicQueueB, 2,s: 31,695,211 msg/sec OptimistAtomicQueueB, 2,i: 31,751,657 msg/sec OptimistAtomicQueueB, 3,s: 36,126,239 msg/sec OptimistAtomicQueueB, 3,i: 36,783,667 msg/sec OptimistAtomicQueueB, 4,s: 38,685,685 msg/sec OptimistAtomicQueueB, 4,i: 38,535,767 msg/sec OptimistAtomicQueueB, 5,s: 41,139,518 msg/sec OptimistAtomicQueueB, 5,i: 45,198,476 msg/sec OptimistAtomicQueueB, 6,s: 40,791,170 msg/sec OptimistAtomicQueueB, 6,i: 49,122,695 msg/sec OptimistAtomicQueueB, 7,s: 41,984,143 msg/sec OptimistAtomicQueueB, 7,i: 51,486,299 msg/sec OptimistAtomicQueueB, 8,s: 44,617,756 msg/sec OptimistAtomicQueueB, 8,i: 47,854,456 msg/sec AtomicQueue2, 1,s: 23,008,845 msg/sec AtomicQueue2, 1,i: 23,028,132 msg/sec AtomicQueue2, 2,s: 11,893,101 msg/sec AtomicQueue2, 2,i: 11,574,043 msg/sec AtomicQueue2, 3,s: 9,565,388 msg/sec AtomicQueue2, 3,i: 9,317,214 msg/sec AtomicQueue2, 4,s: 8,038,895 msg/sec AtomicQueue2, 4,i: 8,088,987 msg/sec AtomicQueue2, 5,s: 7,897,583 msg/sec AtomicQueue2, 5,i: 8,018,368 msg/sec AtomicQueue2, 6,s: 7,725,535 msg/sec AtomicQueue2, 6,i: 7,533,512 msg/sec AtomicQueue2, 7,s: 7,158,966 msg/sec AtomicQueue2, 7,i: 7,876,712 msg/sec AtomicQueue2, 8,s: 6,389,403 msg/sec AtomicQueue2, 8,i: 7,344,465 msg/sec AtomicQueueB2, 1,s: 35,604,027 msg/sec AtomicQueueB2, 1,i: 32,633,389 msg/sec AtomicQueueB2, 2,s: 11,459,802 msg/sec AtomicQueueB2, 2,i: 11,069,412 msg/sec AtomicQueueB2, 3,s: 9,556,664 msg/sec AtomicQueueB2, 3,i: 9,561,640 msg/sec AtomicQueueB2, 4,s: 7,920,948 msg/sec AtomicQueueB2, 4,i: 7,807,213 msg/sec AtomicQueueB2, 5,s: 7,455,721 msg/sec AtomicQueueB2, 5,i: 7,735,289 msg/sec AtomicQueueB2, 6,s: 7,310,904 msg/sec AtomicQueueB2, 6,i: 7,434,313 msg/sec AtomicQueueB2, 7,s: 6,921,652 msg/sec AtomicQueueB2, 7,i: 7,694,676 msg/sec AtomicQueueB2, 8,s: 6,292,105 msg/sec AtomicQueueB2, 8,i: 7,110,214 msg/sec OptimistAtomicQueue2, 1,s: 467,708,635 msg/sec OptimistAtomicQueue2, 1,i: 29,730,071 msg/sec OptimistAtomicQueue2, 2,s: 24,268,300 msg/sec OptimistAtomicQueue2, 2,i: 24,020,053 msg/sec OptimistAtomicQueue2, 3,s: 30,521,885 msg/sec OptimistAtomicQueue2, 3,i: 29,995,931 msg/sec OptimistAtomicQueue2, 4,s: 33,299,639 msg/sec OptimistAtomicQueue2, 4,i: 33,765,215 msg/sec OptimistAtomicQueue2, 5,s: 37,191,313 msg/sec OptimistAtomicQueue2, 5,i: 41,128,341 msg/sec OptimistAtomicQueue2, 6,s: 40,516,438 msg/sec OptimistAtomicQueue2, 6,i: 49,122,356 msg/sec OptimistAtomicQueue2, 7,s: 43,257,123 msg/sec OptimistAtomicQueue2, 7,i: 47,953,877 msg/sec OptimistAtomicQueue2, 8,s: 44,102,416 msg/sec OptimistAtomicQueue2, 8,i: 48,515,785 msg/sec OptimistAtomicQueueB2, 1,s: 76,424,485 msg/sec OptimistAtomicQueueB2, 1,i: 33,858,836 msg/sec OptimistAtomicQueueB2, 2,s: 26,860,165 msg/sec OptimistAtomicQueueB2, 2,i: 24,535,188 msg/sec OptimistAtomicQueueB2, 3,s: 29,732,391 msg/sec OptimistAtomicQueueB2, 3,i: 31,261,253 msg/sec OptimistAtomicQueueB2, 4,s: 33,096,732 msg/sec OptimistAtomicQueueB2, 4,i: 32,082,561 msg/sec OptimistAtomicQueueB2, 5,s: 34,465,785 msg/sec OptimistAtomicQueueB2, 5,i: 39,205,484 msg/sec OptimistAtomicQueueB2, 6,s: 37,660,932 msg/sec OptimistAtomicQueueB2, 6,i: 42,469,476 msg/sec OptimistAtomicQueueB2, 7,s: 40,414,470 msg/sec OptimistAtomicQueueB2, 7,i: 45,588,773 msg/sec OptimistAtomicQueueB2, 8,s: 42,302,335 msg/sec OptimistAtomicQueueB2, 8,i: 45,518,160 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip boost::lockfree::queue: 0.000000329 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000251 sec/round-trip std::mutex: 0.000000440 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000278 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000258 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [135] 303m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,125,465 msg/sec boost::lockfree::spsc_queue, 1,i: 66,248,363 msg/sec boost::lockfree::queue, 1,s: 6,885,944 msg/sec boost::lockfree::queue, 1,i: 6,933,977 msg/sec boost::lockfree::queue, 2,s: 7,584,536 msg/sec boost::lockfree::queue, 2,i: 7,440,295 msg/sec boost::lockfree::queue, 3,s: 7,337,935 msg/sec boost::lockfree::queue, 3,i: 7,585,226 msg/sec boost::lockfree::queue, 4,s: 6,420,000 msg/sec boost::lockfree::queue, 4,i: 6,772,190 msg/sec boost::lockfree::queue, 5,s: 6,400,717 msg/sec boost::lockfree::queue, 5,i: 6,537,137 msg/sec boost::lockfree::queue, 6,s: 5,956,628 msg/sec boost::lockfree::queue, 6,i: 6,133,674 msg/sec boost::lockfree::queue, 7,s: 5,800,865 msg/sec boost::lockfree::queue, 7,i: 5,926,667 msg/sec boost::lockfree::queue, 8,s: 5,425,664 msg/sec boost::lockfree::queue, 8,i: 5,578,824 msg/sec moodycamel::ReaderWriterQueue, 1,s: 241,326,339 msg/sec moodycamel::ReaderWriterQueue, 1,i: 131,429,139 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,267,211 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,669,764 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,977,295 msg/sec moodycamel::ConcurrentQueue, 2,i: 48,574,180 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,859,906 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,967,387 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,782,335 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,394,031 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,607,080 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,748,982 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,116,822 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,429,368 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,810,714 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,621,132 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,346,057 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,505,318 msg/sec pthread_spinlock, 1,s: 29,136,159 msg/sec pthread_spinlock, 1,i: 25,358,542 msg/sec pthread_spinlock, 2,s: 15,495,473 msg/sec pthread_spinlock, 2,i: 16,864,199 msg/sec pthread_spinlock, 3,s: 8,367,606 msg/sec pthread_spinlock, 3,i: 12,087,112 msg/sec pthread_spinlock, 4,s: 6,505,406 msg/sec pthread_spinlock, 4,i: 9,294,253 msg/sec pthread_spinlock, 5,s: 8,744,362 msg/sec pthread_spinlock, 5,i: 9,349,593 msg/sec pthread_spinlock, 6,s: 8,290,514 msg/sec pthread_spinlock, 6,i: 8,835,032 msg/sec pthread_spinlock, 7,s: 7,451,384 msg/sec pthread_spinlock, 7,i: 7,593,527 msg/sec pthread_spinlock, 8,s: 6,656,202 msg/sec pthread_spinlock, 8,i: 6,983,245 msg/sec std::mutex, 1,s: 6,500,858 msg/sec std::mutex, 1,i: 6,477,949 msg/sec std::mutex, 2,s: 5,650,019 msg/sec std::mutex, 2,i: 5,132,825 msg/sec std::mutex, 3,s: 4,879,545 msg/sec std::mutex, 3,i: 5,115,587 msg/sec std::mutex, 4,s: 6,223,935 msg/sec std::mutex, 4,i: 6,166,389 msg/sec std::mutex, 5,s: 5,958,897 msg/sec std::mutex, 5,i: 5,990,027 msg/sec std::mutex, 6,s: 5,849,768 msg/sec std::mutex, 6,i: 5,831,748 msg/sec std::mutex, 7,s: 5,741,993 msg/sec std::mutex, 7,i: 5,816,562 msg/sec std::mutex, 8,s: 5,649,277 msg/sec std::mutex, 8,i: 5,632,742 msg/sec tbb::spin_mutex, 1,s: 37,773,438 msg/sec tbb::spin_mutex, 1,i: 33,328,799 msg/sec tbb::spin_mutex, 2,s: 21,070,438 msg/sec tbb::spin_mutex, 2,i: 18,246,168 msg/sec tbb::spin_mutex, 3,s: 8,106,639 msg/sec tbb::spin_mutex, 3,i: 10,987,109 msg/sec tbb::spin_mutex, 4,s: 3,249,277 msg/sec tbb::spin_mutex, 4,i: 6,286,910 msg/sec tbb::spin_mutex, 5,s: 5,379,261 msg/sec tbb::spin_mutex, 5,i: 5,783,913 msg/sec tbb::spin_mutex, 6,s: 5,330,621 msg/sec tbb::spin_mutex, 6,i: 4,354,280 msg/sec tbb::spin_mutex, 7,s: 4,869,118 msg/sec tbb::spin_mutex, 7,i: 4,289,223 msg/sec tbb::spin_mutex, 8,s: 4,262,545 msg/sec tbb::spin_mutex, 8,i: 4,172,516 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,257,548 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,160,695 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,794,836 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,038,429 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,457,760 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,503,622 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,162,671 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,482,444 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,705,241 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,593,643 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,738,077 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,611,744 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,830,599 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,725,857 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,059,445 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,077,825 msg/sec xenium::michael_scott_queue, 1,s: 10,140,975 msg/sec xenium::michael_scott_queue, 1,i: 9,793,176 msg/sec xenium::michael_scott_queue, 2,s: 8,429,208 msg/sec xenium::michael_scott_queue, 2,i: 8,478,515 msg/sec xenium::michael_scott_queue, 3,s: 7,332,169 msg/sec xenium::michael_scott_queue, 3,i: 7,636,314 msg/sec xenium::michael_scott_queue, 4,s: 6,209,045 msg/sec xenium::michael_scott_queue, 4,i: 6,286,959 msg/sec xenium::michael_scott_queue, 5,s: 6,275,559 msg/sec xenium::michael_scott_queue, 5,i: 6,781,193 msg/sec xenium::michael_scott_queue, 6,s: 6,497,730 msg/sec xenium::michael_scott_queue, 6,i: 6,759,365 msg/sec xenium::michael_scott_queue, 7,s: 6,307,501 msg/sec xenium::michael_scott_queue, 7,i: 6,711,100 msg/sec xenium::michael_scott_queue, 8,s: 5,981,038 msg/sec xenium::michael_scott_queue, 8,i: 6,123,061 msg/sec xenium::ramalhete_queue, 1,s: 32,111,975 msg/sec xenium::ramalhete_queue, 1,i: 31,884,421 msg/sec xenium::ramalhete_queue, 2,s: 23,908,336 msg/sec xenium::ramalhete_queue, 2,i: 23,375,132 msg/sec xenium::ramalhete_queue, 3,s: 29,241,523 msg/sec xenium::ramalhete_queue, 3,i: 28,507,276 msg/sec xenium::ramalhete_queue, 4,s: 33,821,414 msg/sec xenium::ramalhete_queue, 4,i: 33,442,754 msg/sec xenium::ramalhete_queue, 5,s: 31,948,455 msg/sec xenium::ramalhete_queue, 5,i: 36,083,297 msg/sec xenium::ramalhete_queue, 6,s: 33,900,960 msg/sec xenium::ramalhete_queue, 6,i: 39,273,548 msg/sec xenium::ramalhete_queue, 7,s: 34,952,165 msg/sec xenium::ramalhete_queue, 7,i: 41,700,772 msg/sec xenium::ramalhete_queue, 8,s: 35,311,573 msg/sec xenium::ramalhete_queue, 8,i: 43,871,720 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,023,208 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,507,502 msg/sec xenium::vyukov_bounded_queue, 2,s: 23,708,480 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,882,620 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,633,748 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,705,817 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,570,928 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,271,687 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,343,208 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,296,166 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,023,589 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,619,569 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,249,117 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,126,423 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,429,222 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,241,516 msg/sec AtomicQueue, 1,s: 60,150,310 msg/sec AtomicQueue, 1,i: 56,541,477 msg/sec AtomicQueue, 2,s: 12,352,507 msg/sec AtomicQueue, 2,i: 11,751,515 msg/sec AtomicQueue, 3,s: 10,727,849 msg/sec AtomicQueue, 3,i: 9,851,286 msg/sec AtomicQueue, 4,s: 8,160,569 msg/sec AtomicQueue, 4,i: 8,164,993 msg/sec AtomicQueue, 5,s: 8,035,646 msg/sec AtomicQueue, 5,i: 8,082,114 msg/sec AtomicQueue, 6,s: 7,724,855 msg/sec AtomicQueue, 6,i: 7,626,705 msg/sec AtomicQueue, 7,s: 7,175,409 msg/sec AtomicQueue, 7,i: 7,984,916 msg/sec AtomicQueue, 8,s: 6,348,289 msg/sec AtomicQueue, 8,i: 7,339,427 msg/sec AtomicQueueB, 1,s: 70,161,920 msg/sec AtomicQueueB, 1,i: 43,116,037 msg/sec AtomicQueueB, 2,s: 11,882,650 msg/sec AtomicQueueB, 2,i: 11,518,272 msg/sec AtomicQueueB, 3,s: 10,975,305 msg/sec AtomicQueueB, 3,i: 10,235,978 msg/sec AtomicQueueB, 4,s: 8,084,253 msg/sec AtomicQueueB, 4,i: 8,055,408 msg/sec AtomicQueueB, 5,s: 7,497,242 msg/sec AtomicQueueB, 5,i: 7,833,998 msg/sec AtomicQueueB, 6,s: 7,374,209 msg/sec AtomicQueueB, 6,i: 7,512,482 msg/sec AtomicQueueB, 7,s: 6,892,830 msg/sec AtomicQueueB, 7,i: 7,756,317 msg/sec AtomicQueueB, 8,s: 6,220,335 msg/sec AtomicQueueB, 8,i: 7,040,733 msg/sec OptimistAtomicQueue, 1,s: 715,114,992 msg/sec OptimistAtomicQueue, 1,i: 526,241,492 msg/sec OptimistAtomicQueue, 2,s: 32,031,240 msg/sec OptimistAtomicQueue, 2,i: 32,535,363 msg/sec OptimistAtomicQueue, 3,s: 36,623,738 msg/sec OptimistAtomicQueue, 3,i: 37,392,296 msg/sec OptimistAtomicQueue, 4,s: 39,295,149 msg/sec OptimistAtomicQueue, 4,i: 39,416,156 msg/sec OptimistAtomicQueue, 5,s: 41,724,352 msg/sec OptimistAtomicQueue, 5,i: 48,129,363 msg/sec OptimistAtomicQueue, 6,s: 42,306,337 msg/sec OptimistAtomicQueue, 6,i: 50,422,064 msg/sec OptimistAtomicQueue, 7,s: 44,351,028 msg/sec OptimistAtomicQueue, 7,i: 53,015,883 msg/sec OptimistAtomicQueue, 8,s: 46,432,969 msg/sec OptimistAtomicQueue, 8,i: 49,429,118 msg/sec OptimistAtomicQueueB, 1,s: 146,321,583 msg/sec OptimistAtomicQueueB, 1,i: 77,485,729 msg/sec OptimistAtomicQueueB, 2,s: 32,149,307 msg/sec OptimistAtomicQueueB, 2,i: 32,186,548 msg/sec OptimistAtomicQueueB, 3,s: 36,244,486 msg/sec OptimistAtomicQueueB, 3,i: 36,881,743 msg/sec OptimistAtomicQueueB, 4,s: 38,726,373 msg/sec OptimistAtomicQueueB, 4,i: 38,581,634 msg/sec OptimistAtomicQueueB, 5,s: 40,784,357 msg/sec OptimistAtomicQueueB, 5,i: 45,510,004 msg/sec OptimistAtomicQueueB, 6,s: 40,732,077 msg/sec OptimistAtomicQueueB, 6,i: 49,105,385 msg/sec OptimistAtomicQueueB, 7,s: 42,420,203 msg/sec OptimistAtomicQueueB, 7,i: 51,568,334 msg/sec OptimistAtomicQueueB, 8,s: 44,250,727 msg/sec OptimistAtomicQueueB, 8,i: 47,683,751 msg/sec AtomicQueue2, 1,s: 22,868,001 msg/sec AtomicQueue2, 1,i: 22,884,682 msg/sec AtomicQueue2, 2,s: 11,732,429 msg/sec AtomicQueue2, 2,i: 11,468,643 msg/sec AtomicQueue2, 3,s: 9,743,609 msg/sec AtomicQueue2, 3,i: 9,521,798 msg/sec AtomicQueue2, 4,s: 8,034,628 msg/sec AtomicQueue2, 4,i: 8,103,822 msg/sec AtomicQueue2, 5,s: 7,916,347 msg/sec AtomicQueue2, 5,i: 8,032,671 msg/sec AtomicQueue2, 6,s: 7,764,701 msg/sec AtomicQueue2, 6,i: 7,522,428 msg/sec AtomicQueue2, 7,s: 7,138,530 msg/sec AtomicQueue2, 7,i: 7,893,116 msg/sec AtomicQueue2, 8,s: 6,388,201 msg/sec AtomicQueue2, 8,i: 7,334,653 msg/sec AtomicQueueB2, 1,s: 36,422,375 msg/sec AtomicQueueB2, 1,i: 32,611,313 msg/sec AtomicQueueB2, 2,s: 11,420,580 msg/sec AtomicQueueB2, 2,i: 11,120,599 msg/sec AtomicQueueB2, 3,s: 9,684,344 msg/sec AtomicQueueB2, 3,i: 9,531,290 msg/sec AtomicQueueB2, 4,s: 7,857,460 msg/sec AtomicQueueB2, 4,i: 7,828,186 msg/sec AtomicQueueB2, 5,s: 7,475,602 msg/sec AtomicQueueB2, 5,i: 7,666,459 msg/sec AtomicQueueB2, 6,s: 7,287,021 msg/sec AtomicQueueB2, 6,i: 7,438,550 msg/sec AtomicQueueB2, 7,s: 6,872,092 msg/sec AtomicQueueB2, 7,i: 7,738,406 msg/sec AtomicQueueB2, 8,s: 6,282,787 msg/sec AtomicQueueB2, 8,i: 7,115,130 msg/sec OptimistAtomicQueue2, 1,s: 501,431,147 msg/sec OptimistAtomicQueue2, 1,i: 29,693,979 msg/sec OptimistAtomicQueue2, 2,s: 25,213,520 msg/sec OptimistAtomicQueue2, 2,i: 24,596,862 msg/sec OptimistAtomicQueue2, 3,s: 30,314,517 msg/sec OptimistAtomicQueue2, 3,i: 29,876,892 msg/sec OptimistAtomicQueue2, 4,s: 33,532,076 msg/sec OptimistAtomicQueue2, 4,i: 33,155,154 msg/sec OptimistAtomicQueue2, 5,s: 37,122,343 msg/sec OptimistAtomicQueue2, 5,i: 40,189,797 msg/sec OptimistAtomicQueue2, 6,s: 39,904,521 msg/sec OptimistAtomicQueue2, 6,i: 48,980,872 msg/sec OptimistAtomicQueue2, 7,s: 42,712,512 msg/sec OptimistAtomicQueue2, 7,i: 51,734,790 msg/sec OptimistAtomicQueue2, 8,s: 43,891,235 msg/sec OptimistAtomicQueue2, 8,i: 48,314,559 msg/sec OptimistAtomicQueueB2, 1,s: 78,690,568 msg/sec OptimistAtomicQueueB2, 1,i: 63,965,226 msg/sec OptimistAtomicQueueB2, 2,s: 28,704,237 msg/sec OptimistAtomicQueueB2, 2,i: 23,155,963 msg/sec OptimistAtomicQueueB2, 3,s: 29,727,917 msg/sec OptimistAtomicQueueB2, 3,i: 29,413,323 msg/sec OptimistAtomicQueueB2, 4,s: 33,175,696 msg/sec OptimistAtomicQueueB2, 4,i: 32,455,497 msg/sec OptimistAtomicQueueB2, 5,s: 34,676,511 msg/sec OptimistAtomicQueueB2, 5,i: 40,318,320 msg/sec OptimistAtomicQueueB2, 6,s: 37,337,508 msg/sec OptimistAtomicQueueB2, 6,i: 42,476,297 msg/sec OptimistAtomicQueueB2, 7,s: 40,109,658 msg/sec OptimistAtomicQueueB2, 7,i: 45,263,533 msg/sec OptimistAtomicQueueB2, 8,s: 42,385,531 msg/sec OptimistAtomicQueueB2, 8,i: 46,017,151 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [136] 301m:54s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,736,624 msg/sec boost::lockfree::spsc_queue, 1,i: 65,992,712 msg/sec boost::lockfree::queue, 1,s: 6,819,604 msg/sec boost::lockfree::queue, 1,i: 6,876,666 msg/sec boost::lockfree::queue, 2,s: 7,586,231 msg/sec boost::lockfree::queue, 2,i: 7,428,841 msg/sec boost::lockfree::queue, 3,s: 7,398,328 msg/sec boost::lockfree::queue, 3,i: 7,524,737 msg/sec boost::lockfree::queue, 4,s: 6,423,941 msg/sec boost::lockfree::queue, 4,i: 6,711,191 msg/sec boost::lockfree::queue, 5,s: 6,483,960 msg/sec boost::lockfree::queue, 5,i: 6,506,048 msg/sec boost::lockfree::queue, 6,s: 5,999,814 msg/sec boost::lockfree::queue, 6,i: 6,157,441 msg/sec boost::lockfree::queue, 7,s: 5,924,330 msg/sec boost::lockfree::queue, 7,i: 5,996,651 msg/sec boost::lockfree::queue, 8,s: 5,480,930 msg/sec boost::lockfree::queue, 8,i: 5,592,621 msg/sec moodycamel::ReaderWriterQueue, 1,s: 248,122,534 msg/sec moodycamel::ReaderWriterQueue, 1,i: 113,075,592 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,484,457 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,754,318 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,970,540 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,122,906 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,199,960 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,357,625 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,787,144 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,871,996 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,457,124 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,931,413 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,696,353 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,485,837 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,087,940 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,112,825 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,318,878 msg/sec moodycamel::ConcurrentQueue, 8,i: 32,803,011 msg/sec pthread_spinlock, 1,s: 28,789,451 msg/sec pthread_spinlock, 1,i: 25,329,859 msg/sec pthread_spinlock, 2,s: 16,607,269 msg/sec pthread_spinlock, 2,i: 16,880,091 msg/sec pthread_spinlock, 3,s: 8,418,997 msg/sec pthread_spinlock, 3,i: 12,054,446 msg/sec pthread_spinlock, 4,s: 6,474,900 msg/sec pthread_spinlock, 4,i: 9,229,784 msg/sec pthread_spinlock, 5,s: 8,649,500 msg/sec pthread_spinlock, 5,i: 9,098,214 msg/sec pthread_spinlock, 6,s: 8,529,976 msg/sec pthread_spinlock, 6,i: 9,069,498 msg/sec pthread_spinlock, 7,s: 7,580,103 msg/sec pthread_spinlock, 7,i: 7,566,061 msg/sec pthread_spinlock, 8,s: 6,833,741 msg/sec pthread_spinlock, 8,i: 7,243,207 msg/sec std::mutex, 1,s: 5,979,365 msg/sec std::mutex, 1,i: 5,980,936 msg/sec std::mutex, 2,s: 4,892,702 msg/sec std::mutex, 2,i: 6,019,258 msg/sec std::mutex, 3,s: 5,378,426 msg/sec std::mutex, 3,i: 4,933,890 msg/sec std::mutex, 4,s: 5,718,951 msg/sec std::mutex, 4,i: 6,197,836 msg/sec std::mutex, 5,s: 5,863,691 msg/sec std::mutex, 5,i: 5,882,562 msg/sec std::mutex, 6,s: 5,876,303 msg/sec std::mutex, 6,i: 5,751,203 msg/sec std::mutex, 7,s: 5,836,772 msg/sec std::mutex, 7,i: 5,781,523 msg/sec std::mutex, 8,s: 5,764,450 msg/sec std::mutex, 8,i: 5,735,952 msg/sec tbb::spin_mutex, 1,s: 38,047,738 msg/sec tbb::spin_mutex, 1,i: 37,656,128 msg/sec tbb::spin_mutex, 2,s: 18,004,144 msg/sec tbb::spin_mutex, 2,i: 18,629,850 msg/sec tbb::spin_mutex, 3,s: 7,730,594 msg/sec tbb::spin_mutex, 3,i: 10,174,038 msg/sec tbb::spin_mutex, 4,s: 3,049,178 msg/sec tbb::spin_mutex, 4,i: 6,379,332 msg/sec tbb::spin_mutex, 5,s: 5,448,575 msg/sec tbb::spin_mutex, 5,i: 5,475,586 msg/sec tbb::spin_mutex, 6,s: 5,246,628 msg/sec tbb::spin_mutex, 6,i: 4,305,207 msg/sec tbb::spin_mutex, 7,s: 4,689,338 msg/sec tbb::spin_mutex, 7,i: 4,362,119 msg/sec tbb::spin_mutex, 8,s: 3,819,989 msg/sec tbb::spin_mutex, 8,i: 4,178,726 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,122,577 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,106,004 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,674,969 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,962,627 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,256,572 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,327,176 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,045,710 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,239,536 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,577,762 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,349,138 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,576,030 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,758,704 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,657,043 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,075,042 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,728,078 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,911,249 msg/sec xenium::michael_scott_queue, 1,s: 9,235,609 msg/sec xenium::michael_scott_queue, 1,i: 9,062,286 msg/sec xenium::michael_scott_queue, 2,s: 8,516,717 msg/sec xenium::michael_scott_queue, 2,i: 8,482,800 msg/sec xenium::michael_scott_queue, 3,s: 7,296,981 msg/sec xenium::michael_scott_queue, 3,i: 7,562,747 msg/sec xenium::michael_scott_queue, 4,s: 6,349,726 msg/sec xenium::michael_scott_queue, 4,i: 6,374,387 msg/sec xenium::michael_scott_queue, 5,s: 6,262,931 msg/sec xenium::michael_scott_queue, 5,i: 6,818,269 msg/sec xenium::michael_scott_queue, 6,s: 6,509,461 msg/sec xenium::michael_scott_queue, 6,i: 6,771,614 msg/sec xenium::michael_scott_queue, 7,s: 6,325,058 msg/sec xenium::michael_scott_queue, 7,i: 6,536,011 msg/sec xenium::michael_scott_queue, 8,s: 6,047,502 msg/sec xenium::michael_scott_queue, 8,i: 6,245,910 msg/sec xenium::ramalhete_queue, 1,s: 31,451,538 msg/sec xenium::ramalhete_queue, 1,i: 31,332,656 msg/sec xenium::ramalhete_queue, 2,s: 23,402,954 msg/sec xenium::ramalhete_queue, 2,i: 23,338,582 msg/sec xenium::ramalhete_queue, 3,s: 29,109,119 msg/sec xenium::ramalhete_queue, 3,i: 28,435,762 msg/sec xenium::ramalhete_queue, 4,s: 33,849,200 msg/sec xenium::ramalhete_queue, 4,i: 33,515,049 msg/sec xenium::ramalhete_queue, 5,s: 32,130,469 msg/sec xenium::ramalhete_queue, 5,i: 36,219,010 msg/sec xenium::ramalhete_queue, 6,s: 34,030,604 msg/sec xenium::ramalhete_queue, 6,i: 39,490,100 msg/sec xenium::ramalhete_queue, 7,s: 35,211,799 msg/sec xenium::ramalhete_queue, 7,i: 40,984,154 msg/sec xenium::ramalhete_queue, 8,s: 35,540,041 msg/sec xenium::ramalhete_queue, 8,i: 44,172,590 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,463,337 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,300,552 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,540,935 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,389,264 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,670,843 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,681,962 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,585,543 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,282,607 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,155,870 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,280,715 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,865,393 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,278,309 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,272,603 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,940,275 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,374,759 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,527,295 msg/sec AtomicQueue, 1,s: 59,930,388 msg/sec AtomicQueue, 1,i: 56,275,037 msg/sec AtomicQueue, 2,s: 12,247,745 msg/sec AtomicQueue, 2,i: 11,760,182 msg/sec AtomicQueue, 3,s: 10,810,679 msg/sec AtomicQueue, 3,i: 9,924,535 msg/sec AtomicQueue, 4,s: 8,199,111 msg/sec AtomicQueue, 4,i: 8,201,253 msg/sec AtomicQueue, 5,s: 8,024,163 msg/sec AtomicQueue, 5,i: 8,055,588 msg/sec AtomicQueue, 6,s: 7,893,037 msg/sec AtomicQueue, 6,i: 7,629,052 msg/sec AtomicQueue, 7,s: 7,056,189 msg/sec AtomicQueue, 7,i: 7,992,305 msg/sec AtomicQueue, 8,s: 6,379,327 msg/sec AtomicQueue, 8,i: 7,499,637 msg/sec AtomicQueueB, 1,s: 43,801,642 msg/sec AtomicQueueB, 1,i: 42,989,398 msg/sec AtomicQueueB, 2,s: 11,811,715 msg/sec AtomicQueueB, 2,i: 11,464,677 msg/sec AtomicQueueB, 3,s: 10,931,013 msg/sec AtomicQueueB, 3,i: 10,149,698 msg/sec AtomicQueueB, 4,s: 8,052,435 msg/sec AtomicQueueB, 4,i: 8,063,948 msg/sec AtomicQueueB, 5,s: 7,508,596 msg/sec AtomicQueueB, 5,i: 7,784,920 msg/sec AtomicQueueB, 6,s: 7,374,833 msg/sec AtomicQueueB, 6,i: 7,596,653 msg/sec AtomicQueueB, 7,s: 6,896,498 msg/sec AtomicQueueB, 7,i: 7,755,640 msg/sec AtomicQueueB, 8,s: 6,287,952 msg/sec AtomicQueueB, 8,i: 7,158,256 msg/sec OptimistAtomicQueue, 1,s: 769,903,694 msg/sec OptimistAtomicQueue, 1,i: 600,838,500 msg/sec OptimistAtomicQueue, 2,s: 32,644,646 msg/sec OptimistAtomicQueue, 2,i: 32,197,218 msg/sec OptimistAtomicQueue, 3,s: 36,625,417 msg/sec OptimistAtomicQueue, 3,i: 37,313,452 msg/sec OptimistAtomicQueue, 4,s: 39,287,792 msg/sec OptimistAtomicQueue, 4,i: 39,357,242 msg/sec OptimistAtomicQueue, 5,s: 42,410,680 msg/sec OptimistAtomicQueue, 5,i: 47,409,244 msg/sec OptimistAtomicQueue, 6,s: 42,521,966 msg/sec OptimistAtomicQueue, 6,i: 50,519,776 msg/sec OptimistAtomicQueue, 7,s: 44,463,630 msg/sec OptimistAtomicQueue, 7,i: 53,070,484 msg/sec OptimistAtomicQueue, 8,s: 46,445,226 msg/sec OptimistAtomicQueue, 8,i: 48,954,735 msg/sec OptimistAtomicQueueB, 1,s: 78,005,296 msg/sec OptimistAtomicQueueB, 1,i: 76,367,698 msg/sec OptimistAtomicQueueB, 2,s: 32,215,673 msg/sec OptimistAtomicQueueB, 2,i: 32,182,305 msg/sec OptimistAtomicQueueB, 3,s: 36,301,782 msg/sec OptimistAtomicQueueB, 3,i: 36,941,091 msg/sec OptimistAtomicQueueB, 4,s: 38,694,688 msg/sec OptimistAtomicQueueB, 4,i: 38,598,886 msg/sec OptimistAtomicQueueB, 5,s: 40,859,348 msg/sec OptimistAtomicQueueB, 5,i: 46,120,596 msg/sec OptimistAtomicQueueB, 6,s: 40,788,589 msg/sec OptimistAtomicQueueB, 6,i: 48,937,137 msg/sec OptimistAtomicQueueB, 7,s: 42,994,522 msg/sec OptimistAtomicQueueB, 7,i: 48,095,542 msg/sec OptimistAtomicQueueB, 8,s: 44,507,316 msg/sec OptimistAtomicQueueB, 8,i: 47,813,007 msg/sec AtomicQueue2, 1,s: 23,098,590 msg/sec AtomicQueue2, 1,i: 23,194,360 msg/sec AtomicQueue2, 2,s: 11,968,358 msg/sec AtomicQueue2, 2,i: 11,482,275 msg/sec AtomicQueue2, 3,s: 9,552,295 msg/sec AtomicQueue2, 3,i: 9,432,240 msg/sec AtomicQueue2, 4,s: 8,056,748 msg/sec AtomicQueue2, 4,i: 8,017,970 msg/sec AtomicQueue2, 5,s: 7,922,335 msg/sec AtomicQueue2, 5,i: 8,041,931 msg/sec AtomicQueue2, 6,s: 7,861,203 msg/sec AtomicQueue2, 6,i: 7,554,415 msg/sec AtomicQueue2, 7,s: 7,092,891 msg/sec AtomicQueue2, 7,i: 7,884,698 msg/sec AtomicQueue2, 8,s: 6,383,438 msg/sec AtomicQueue2, 8,i: 7,380,380 msg/sec AtomicQueueB2, 1,s: 36,071,179 msg/sec AtomicQueueB2, 1,i: 32,612,491 msg/sec AtomicQueueB2, 2,s: 11,414,021 msg/sec AtomicQueueB2, 2,i: 11,092,957 msg/sec AtomicQueueB2, 3,s: 9,670,601 msg/sec AtomicQueueB2, 3,i: 9,574,919 msg/sec AtomicQueueB2, 4,s: 7,960,732 msg/sec AtomicQueueB2, 4,i: 7,802,834 msg/sec AtomicQueueB2, 5,s: 7,568,461 msg/sec AtomicQueueB2, 5,i: 7,707,884 msg/sec AtomicQueueB2, 6,s: 7,245,254 msg/sec AtomicQueueB2, 6,i: 7,484,462 msg/sec AtomicQueueB2, 7,s: 6,858,900 msg/sec AtomicQueueB2, 7,i: 7,663,049 msg/sec AtomicQueueB2, 8,s: 6,249,477 msg/sec AtomicQueueB2, 8,i: 7,120,271 msg/sec OptimistAtomicQueue2, 1,s: 437,905,206 msg/sec OptimistAtomicQueue2, 1,i: 454,803,245 msg/sec OptimistAtomicQueue2, 2,s: 24,305,917 msg/sec OptimistAtomicQueue2, 2,i: 22,563,936 msg/sec OptimistAtomicQueue2, 3,s: 30,323,977 msg/sec OptimistAtomicQueue2, 3,i: 29,573,218 msg/sec OptimistAtomicQueue2, 4,s: 35,950,399 msg/sec OptimistAtomicQueue2, 4,i: 33,288,072 msg/sec OptimistAtomicQueue2, 5,s: 37,133,263 msg/sec OptimistAtomicQueue2, 5,i: 40,448,546 msg/sec OptimistAtomicQueue2, 6,s: 39,949,574 msg/sec OptimistAtomicQueue2, 6,i: 49,221,691 msg/sec OptimistAtomicQueue2, 7,s: 43,236,878 msg/sec OptimistAtomicQueue2, 7,i: 48,181,616 msg/sec OptimistAtomicQueue2, 8,s: 44,124,187 msg/sec OptimistAtomicQueue2, 8,i: 49,362,200 msg/sec OptimistAtomicQueueB2, 1,s: 76,347,395 msg/sec OptimistAtomicQueueB2, 1,i: 33,862,031 msg/sec OptimistAtomicQueueB2, 2,s: 27,337,070 msg/sec OptimistAtomicQueueB2, 2,i: 28,007,022 msg/sec OptimistAtomicQueueB2, 3,s: 29,689,729 msg/sec OptimistAtomicQueueB2, 3,i: 29,133,981 msg/sec OptimistAtomicQueueB2, 4,s: 33,404,322 msg/sec OptimistAtomicQueueB2, 4,i: 32,185,375 msg/sec OptimistAtomicQueueB2, 5,s: 34,513,609 msg/sec OptimistAtomicQueueB2, 5,i: 39,391,663 msg/sec OptimistAtomicQueueB2, 6,s: 37,456,783 msg/sec OptimistAtomicQueueB2, 6,i: 42,345,339 msg/sec OptimistAtomicQueueB2, 7,s: 40,122,669 msg/sec OptimistAtomicQueueB2, 7,i: 43,122,446 msg/sec OptimistAtomicQueueB2, 8,s: 42,436,403 msg/sec OptimistAtomicQueueB2, 8,i: 45,301,230 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000113 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [137] 300m:35s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,163,048 msg/sec boost::lockfree::spsc_queue, 1,i: 69,091,439 msg/sec boost::lockfree::queue, 1,s: 6,885,595 msg/sec boost::lockfree::queue, 1,i: 6,918,544 msg/sec boost::lockfree::queue, 2,s: 7,684,384 msg/sec boost::lockfree::queue, 2,i: 7,513,663 msg/sec boost::lockfree::queue, 3,s: 7,436,539 msg/sec boost::lockfree::queue, 3,i: 7,596,532 msg/sec boost::lockfree::queue, 4,s: 6,425,054 msg/sec boost::lockfree::queue, 4,i: 6,873,115 msg/sec boost::lockfree::queue, 5,s: 6,494,624 msg/sec boost::lockfree::queue, 5,i: 6,484,838 msg/sec boost::lockfree::queue, 6,s: 6,059,141 msg/sec boost::lockfree::queue, 6,i: 6,159,481 msg/sec boost::lockfree::queue, 7,s: 5,788,581 msg/sec boost::lockfree::queue, 7,i: 5,936,781 msg/sec boost::lockfree::queue, 8,s: 5,405,751 msg/sec boost::lockfree::queue, 8,i: 5,661,605 msg/sec moodycamel::ReaderWriterQueue, 1,s: 83,175,900 msg/sec moodycamel::ReaderWriterQueue, 1,i: 64,809,912 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,288,179 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,751,228 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,820,616 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,781,643 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,670,205 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,745,577 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,429,747 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,329,493 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,430,665 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,671,848 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,619,947 msg/sec moodycamel::ConcurrentQueue, 6,i: 34,496,150 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,132,726 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,959,438 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,341,211 msg/sec moodycamel::ConcurrentQueue, 8,i: 64,375,322 msg/sec pthread_spinlock, 1,s: 28,720,798 msg/sec pthread_spinlock, 1,i: 25,333,204 msg/sec pthread_spinlock, 2,s: 16,475,998 msg/sec pthread_spinlock, 2,i: 16,833,340 msg/sec pthread_spinlock, 3,s: 8,365,828 msg/sec pthread_spinlock, 3,i: 12,003,861 msg/sec pthread_spinlock, 4,s: 6,481,204 msg/sec pthread_spinlock, 4,i: 8,938,998 msg/sec pthread_spinlock, 5,s: 8,719,139 msg/sec pthread_spinlock, 5,i: 9,490,033 msg/sec pthread_spinlock, 6,s: 8,321,950 msg/sec pthread_spinlock, 6,i: 8,600,223 msg/sec pthread_spinlock, 7,s: 7,654,952 msg/sec pthread_spinlock, 7,i: 7,557,322 msg/sec pthread_spinlock, 8,s: 6,698,209 msg/sec pthread_spinlock, 8,i: 6,988,243 msg/sec std::mutex, 1,s: 7,457,438 msg/sec std::mutex, 1,i: 7,395,105 msg/sec std::mutex, 2,s: 5,663,885 msg/sec std::mutex, 2,i: 5,077,149 msg/sec std::mutex, 3,s: 5,147,544 msg/sec std::mutex, 3,i: 5,141,616 msg/sec std::mutex, 4,s: 5,242,241 msg/sec std::mutex, 4,i: 6,421,195 msg/sec std::mutex, 5,s: 6,142,589 msg/sec std::mutex, 5,i: 6,184,106 msg/sec std::mutex, 6,s: 5,982,334 msg/sec std::mutex, 6,i: 5,948,791 msg/sec std::mutex, 7,s: 5,829,483 msg/sec std::mutex, 7,i: 5,825,700 msg/sec std::mutex, 8,s: 5,744,363 msg/sec std::mutex, 8,i: 5,675,409 msg/sec tbb::spin_mutex, 1,s: 37,730,123 msg/sec tbb::spin_mutex, 1,i: 37,764,213 msg/sec tbb::spin_mutex, 2,s: 21,176,722 msg/sec tbb::spin_mutex, 2,i: 18,341,443 msg/sec tbb::spin_mutex, 3,s: 9,067,579 msg/sec tbb::spin_mutex, 3,i: 10,228,259 msg/sec tbb::spin_mutex, 4,s: 3,046,839 msg/sec tbb::spin_mutex, 4,i: 6,254,240 msg/sec tbb::spin_mutex, 5,s: 5,511,831 msg/sec tbb::spin_mutex, 5,i: 5,771,625 msg/sec tbb::spin_mutex, 6,s: 5,350,539 msg/sec tbb::spin_mutex, 6,i: 4,403,236 msg/sec tbb::spin_mutex, 7,s: 4,906,340 msg/sec tbb::spin_mutex, 7,i: 4,345,570 msg/sec tbb::spin_mutex, 8,s: 4,241,967 msg/sec tbb::spin_mutex, 8,i: 4,089,912 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,499,371 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,871,823 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,782,819 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,534,906 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,167,019 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,722,044 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,433,202 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,272,342 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,750,206 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,879,527 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,938,120 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,978,730 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,010,440 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,001,839 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,958,885 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,090,301 msg/sec xenium::michael_scott_queue, 1,s: 9,248,508 msg/sec xenium::michael_scott_queue, 1,i: 9,263,990 msg/sec xenium::michael_scott_queue, 2,s: 8,491,661 msg/sec xenium::michael_scott_queue, 2,i: 8,531,503 msg/sec xenium::michael_scott_queue, 3,s: 7,314,368 msg/sec xenium::michael_scott_queue, 3,i: 7,582,605 msg/sec xenium::michael_scott_queue, 4,s: 6,323,066 msg/sec xenium::michael_scott_queue, 4,i: 6,347,607 msg/sec xenium::michael_scott_queue, 5,s: 6,276,719 msg/sec xenium::michael_scott_queue, 5,i: 6,662,825 msg/sec xenium::michael_scott_queue, 6,s: 6,472,673 msg/sec xenium::michael_scott_queue, 6,i: 6,771,961 msg/sec xenium::michael_scott_queue, 7,s: 6,340,919 msg/sec xenium::michael_scott_queue, 7,i: 6,417,615 msg/sec xenium::michael_scott_queue, 8,s: 5,990,934 msg/sec xenium::michael_scott_queue, 8,i: 6,095,637 msg/sec xenium::ramalhete_queue, 1,s: 32,463,544 msg/sec xenium::ramalhete_queue, 1,i: 33,175,206 msg/sec xenium::ramalhete_queue, 2,s: 23,650,289 msg/sec xenium::ramalhete_queue, 2,i: 23,316,523 msg/sec xenium::ramalhete_queue, 3,s: 29,175,022 msg/sec xenium::ramalhete_queue, 3,i: 28,486,654 msg/sec xenium::ramalhete_queue, 4,s: 33,879,463 msg/sec xenium::ramalhete_queue, 4,i: 33,421,324 msg/sec xenium::ramalhete_queue, 5,s: 32,200,318 msg/sec xenium::ramalhete_queue, 5,i: 36,077,351 msg/sec xenium::ramalhete_queue, 6,s: 34,076,018 msg/sec xenium::ramalhete_queue, 6,i: 39,049,319 msg/sec xenium::ramalhete_queue, 7,s: 34,937,916 msg/sec xenium::ramalhete_queue, 7,i: 40,857,179 msg/sec xenium::ramalhete_queue, 8,s: 35,450,008 msg/sec xenium::ramalhete_queue, 8,i: 43,760,689 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,805,628 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,243,071 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,436,627 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,598,135 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,672,762 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,819,780 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,598,109 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,105,820 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,783,055 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,180,902 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,962,435 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,731,922 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,220,397 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,922,711 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,382,927 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,534,921 msg/sec AtomicQueue, 1,s: 62,663,116 msg/sec AtomicQueue, 1,i: 56,866,338 msg/sec AtomicQueue, 2,s: 12,213,095 msg/sec AtomicQueue, 2,i: 11,727,493 msg/sec AtomicQueue, 3,s: 10,794,388 msg/sec AtomicQueue, 3,i: 9,928,259 msg/sec AtomicQueue, 4,s: 8,147,822 msg/sec AtomicQueue, 4,i: 8,205,739 msg/sec AtomicQueue, 5,s: 7,994,894 msg/sec AtomicQueue, 5,i: 8,055,993 msg/sec AtomicQueue, 6,s: 7,832,383 msg/sec AtomicQueue, 6,i: 7,607,027 msg/sec AtomicQueue, 7,s: 7,084,737 msg/sec AtomicQueue, 7,i: 7,981,297 msg/sec AtomicQueue, 8,s: 6,348,247 msg/sec AtomicQueue, 8,i: 7,457,891 msg/sec AtomicQueueB, 1,s: 43,731,756 msg/sec AtomicQueueB, 1,i: 48,342,956 msg/sec AtomicQueueB, 2,s: 11,686,676 msg/sec AtomicQueueB, 2,i: 11,403,277 msg/sec AtomicQueueB, 3,s: 11,066,386 msg/sec AtomicQueueB, 3,i: 10,286,898 msg/sec AtomicQueueB, 4,s: 8,025,144 msg/sec AtomicQueueB, 4,i: 8,099,451 msg/sec AtomicQueueB, 5,s: 7,529,362 msg/sec AtomicQueueB, 5,i: 7,781,802 msg/sec AtomicQueueB, 6,s: 7,440,307 msg/sec AtomicQueueB, 6,i: 7,526,187 msg/sec AtomicQueueB, 7,s: 6,933,400 msg/sec AtomicQueueB, 7,i: 7,736,333 msg/sec AtomicQueueB, 8,s: 6,194,945 msg/sec AtomicQueueB, 8,i: 7,194,754 msg/sec OptimistAtomicQueue, 1,s: 676,456,114 msg/sec OptimistAtomicQueue, 1,i: 511,833,920 msg/sec OptimistAtomicQueue, 2,s: 31,817,766 msg/sec OptimistAtomicQueue, 2,i: 31,989,338 msg/sec OptimistAtomicQueue, 3,s: 36,589,407 msg/sec OptimistAtomicQueue, 3,i: 37,417,042 msg/sec OptimistAtomicQueue, 4,s: 39,263,316 msg/sec OptimistAtomicQueue, 4,i: 39,387,380 msg/sec OptimistAtomicQueue, 5,s: 42,402,676 msg/sec OptimistAtomicQueue, 5,i: 46,526,135 msg/sec OptimistAtomicQueue, 6,s: 42,513,233 msg/sec OptimistAtomicQueue, 6,i: 50,441,847 msg/sec OptimistAtomicQueue, 7,s: 44,432,614 msg/sec OptimistAtomicQueue, 7,i: 52,984,930 msg/sec OptimistAtomicQueue, 8,s: 46,341,065 msg/sec OptimistAtomicQueue, 8,i: 48,863,965 msg/sec OptimistAtomicQueueB, 1,s: 133,281,517 msg/sec OptimistAtomicQueueB, 1,i: 77,942,128 msg/sec OptimistAtomicQueueB, 2,s: 31,736,611 msg/sec OptimistAtomicQueueB, 2,i: 31,703,601 msg/sec OptimistAtomicQueueB, 3,s: 36,128,791 msg/sec OptimistAtomicQueueB, 3,i: 36,761,939 msg/sec OptimistAtomicQueueB, 4,s: 38,794,993 msg/sec OptimistAtomicQueueB, 4,i: 38,507,449 msg/sec OptimistAtomicQueueB, 5,s: 40,950,108 msg/sec OptimistAtomicQueueB, 5,i: 45,593,737 msg/sec OptimistAtomicQueueB, 6,s: 41,114,268 msg/sec OptimistAtomicQueueB, 6,i: 49,084,625 msg/sec OptimistAtomicQueueB, 7,s: 42,245,564 msg/sec OptimistAtomicQueueB, 7,i: 51,406,227 msg/sec OptimistAtomicQueueB, 8,s: 44,420,266 msg/sec OptimistAtomicQueueB, 8,i: 48,393,328 msg/sec AtomicQueue2, 1,s: 22,885,186 msg/sec AtomicQueue2, 1,i: 22,875,788 msg/sec AtomicQueue2, 2,s: 11,772,498 msg/sec AtomicQueue2, 2,i: 11,393,782 msg/sec AtomicQueue2, 3,s: 9,829,943 msg/sec AtomicQueue2, 3,i: 9,379,851 msg/sec AtomicQueue2, 4,s: 8,102,327 msg/sec AtomicQueue2, 4,i: 8,050,863 msg/sec AtomicQueue2, 5,s: 7,948,133 msg/sec AtomicQueue2, 5,i: 8,054,999 msg/sec AtomicQueue2, 6,s: 7,655,745 msg/sec AtomicQueue2, 6,i: 7,523,713 msg/sec AtomicQueue2, 7,s: 7,149,717 msg/sec AtomicQueue2, 7,i: 7,894,555 msg/sec AtomicQueue2, 8,s: 6,365,650 msg/sec AtomicQueue2, 8,i: 7,371,244 msg/sec AtomicQueueB2, 1,s: 35,938,418 msg/sec AtomicQueueB2, 1,i: 32,613,839 msg/sec AtomicQueueB2, 2,s: 11,442,767 msg/sec AtomicQueueB2, 2,i: 11,126,641 msg/sec AtomicQueueB2, 3,s: 9,584,287 msg/sec AtomicQueueB2, 3,i: 9,608,167 msg/sec AtomicQueueB2, 4,s: 7,818,476 msg/sec AtomicQueueB2, 4,i: 7,846,602 msg/sec AtomicQueueB2, 5,s: 7,532,837 msg/sec AtomicQueueB2, 5,i: 7,750,389 msg/sec AtomicQueueB2, 6,s: 7,092,836 msg/sec AtomicQueueB2, 6,i: 7,503,583 msg/sec AtomicQueueB2, 7,s: 6,825,783 msg/sec AtomicQueueB2, 7,i: 7,709,248 msg/sec AtomicQueueB2, 8,s: 6,323,842 msg/sec AtomicQueueB2, 8,i: 7,097,763 msg/sec OptimistAtomicQueue2, 1,s: 33,992,378 msg/sec OptimistAtomicQueue2, 1,i: 46,230,891 msg/sec OptimistAtomicQueue2, 2,s: 28,237,334 msg/sec OptimistAtomicQueue2, 2,i: 28,068,266 msg/sec OptimistAtomicQueue2, 3,s: 30,336,552 msg/sec OptimistAtomicQueue2, 3,i: 30,370,740 msg/sec OptimistAtomicQueue2, 4,s: 33,225,273 msg/sec OptimistAtomicQueue2, 4,i: 33,274,691 msg/sec OptimistAtomicQueue2, 5,s: 36,965,385 msg/sec OptimistAtomicQueue2, 5,i: 41,865,649 msg/sec OptimistAtomicQueue2, 6,s: 40,126,056 msg/sec OptimistAtomicQueue2, 6,i: 49,238,319 msg/sec OptimistAtomicQueue2, 7,s: 43,283,095 msg/sec OptimistAtomicQueue2, 7,i: 48,140,302 msg/sec OptimistAtomicQueue2, 8,s: 43,910,608 msg/sec OptimistAtomicQueue2, 8,i: 48,224,710 msg/sec OptimistAtomicQueueB2, 1,s: 75,004,119 msg/sec OptimistAtomicQueueB2, 1,i: 78,799,250 msg/sec OptimistAtomicQueueB2, 2,s: 28,806,964 msg/sec OptimistAtomicQueueB2, 2,i: 23,158,175 msg/sec OptimistAtomicQueueB2, 3,s: 29,712,798 msg/sec OptimistAtomicQueueB2, 3,i: 29,045,885 msg/sec OptimistAtomicQueueB2, 4,s: 33,274,720 msg/sec OptimistAtomicQueueB2, 4,i: 32,914,248 msg/sec OptimistAtomicQueueB2, 5,s: 34,498,269 msg/sec OptimistAtomicQueueB2, 5,i: 39,294,465 msg/sec OptimistAtomicQueueB2, 6,s: 37,326,778 msg/sec OptimistAtomicQueueB2, 6,i: 42,138,321 msg/sec OptimistAtomicQueueB2, 7,s: 40,873,187 msg/sec OptimistAtomicQueueB2, 7,i: 43,190,487 msg/sec OptimistAtomicQueueB2, 8,s: 42,065,580 msg/sec OptimistAtomicQueueB2, 8,i: 45,970,059 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000327 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000258 sec/round-trip tbb::concurrent_bounded_queue: 0.000000268 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000165 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [138] 299m:16s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 64,923,339 msg/sec boost::lockfree::spsc_queue, 1,i: 65,245,658 msg/sec boost::lockfree::queue, 1,s: 6,775,114 msg/sec boost::lockfree::queue, 1,i: 6,956,918 msg/sec boost::lockfree::queue, 2,s: 7,590,534 msg/sec boost::lockfree::queue, 2,i: 7,474,726 msg/sec boost::lockfree::queue, 3,s: 7,435,960 msg/sec boost::lockfree::queue, 3,i: 7,525,839 msg/sec boost::lockfree::queue, 4,s: 6,424,607 msg/sec boost::lockfree::queue, 4,i: 6,781,711 msg/sec boost::lockfree::queue, 5,s: 6,419,030 msg/sec boost::lockfree::queue, 5,i: 6,447,292 msg/sec boost::lockfree::queue, 6,s: 5,988,526 msg/sec boost::lockfree::queue, 6,i: 6,067,778 msg/sec boost::lockfree::queue, 7,s: 6,031,751 msg/sec boost::lockfree::queue, 7,i: 6,016,409 msg/sec boost::lockfree::queue, 8,s: 5,525,940 msg/sec boost::lockfree::queue, 8,i: 5,585,117 msg/sec moodycamel::ReaderWriterQueue, 1,s: 491,259,933 msg/sec moodycamel::ReaderWriterQueue, 1,i: 100,891,507 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,023,748 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,875,939 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,261,393 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,021,730 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,587,302 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,733,554 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,203,404 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,420,535 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,117,361 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,699,953 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,520,308 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,681,563 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,896,781 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,586,740 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,305,942 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,416,607 msg/sec pthread_spinlock, 1,s: 29,430,233 msg/sec pthread_spinlock, 1,i: 25,288,725 msg/sec pthread_spinlock, 2,s: 15,550,276 msg/sec pthread_spinlock, 2,i: 16,737,241 msg/sec pthread_spinlock, 3,s: 8,334,591 msg/sec pthread_spinlock, 3,i: 12,150,887 msg/sec pthread_spinlock, 4,s: 6,518,853 msg/sec pthread_spinlock, 4,i: 9,336,856 msg/sec pthread_spinlock, 5,s: 8,658,121 msg/sec pthread_spinlock, 5,i: 9,121,852 msg/sec pthread_spinlock, 6,s: 8,444,189 msg/sec pthread_spinlock, 6,i: 9,204,525 msg/sec pthread_spinlock, 7,s: 7,543,288 msg/sec pthread_spinlock, 7,i: 7,656,260 msg/sec pthread_spinlock, 8,s: 6,658,488 msg/sec pthread_spinlock, 8,i: 7,257,440 msg/sec std::mutex, 1,s: 7,200,321 msg/sec std::mutex, 1,i: 7,602,026 msg/sec std::mutex, 2,s: 6,094,087 msg/sec std::mutex, 2,i: 6,129,603 msg/sec std::mutex, 3,s: 6,042,978 msg/sec std::mutex, 3,i: 6,104,508 msg/sec std::mutex, 4,s: 6,282,461 msg/sec std::mutex, 4,i: 6,245,085 msg/sec std::mutex, 5,s: 6,006,319 msg/sec std::mutex, 5,i: 6,026,290 msg/sec std::mutex, 6,s: 5,843,848 msg/sec std::mutex, 6,i: 5,930,036 msg/sec std::mutex, 7,s: 5,737,967 msg/sec std::mutex, 7,i: 5,785,373 msg/sec std::mutex, 8,s: 5,652,863 msg/sec std::mutex, 8,i: 5,675,559 msg/sec tbb::spin_mutex, 1,s: 37,725,853 msg/sec tbb::spin_mutex, 1,i: 32,794,116 msg/sec tbb::spin_mutex, 2,s: 21,162,639 msg/sec tbb::spin_mutex, 2,i: 18,889,195 msg/sec tbb::spin_mutex, 3,s: 8,397,935 msg/sec tbb::spin_mutex, 3,i: 11,220,226 msg/sec tbb::spin_mutex, 4,s: 3,366,784 msg/sec tbb::spin_mutex, 4,i: 6,301,047 msg/sec tbb::spin_mutex, 5,s: 5,451,551 msg/sec tbb::spin_mutex, 5,i: 5,800,454 msg/sec tbb::spin_mutex, 6,s: 5,321,006 msg/sec tbb::spin_mutex, 6,i: 4,462,107 msg/sec tbb::spin_mutex, 7,s: 4,870,664 msg/sec tbb::spin_mutex, 7,i: 4,282,868 msg/sec tbb::spin_mutex, 8,s: 4,240,340 msg/sec tbb::spin_mutex, 8,i: 4,107,018 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,683,621 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,181,306 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,660,520 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,127,743 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,257,206 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,337,682 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,386,001 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,208,851 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,640,054 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,779,032 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,778,740 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,005,299 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,840,681 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,973,734 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,886,927 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,121,521 msg/sec xenium::michael_scott_queue, 1,s: 9,736,402 msg/sec xenium::michael_scott_queue, 1,i: 9,604,134 msg/sec xenium::michael_scott_queue, 2,s: 8,502,901 msg/sec xenium::michael_scott_queue, 2,i: 8,567,163 msg/sec xenium::michael_scott_queue, 3,s: 7,288,848 msg/sec xenium::michael_scott_queue, 3,i: 7,612,524 msg/sec xenium::michael_scott_queue, 4,s: 6,350,768 msg/sec xenium::michael_scott_queue, 4,i: 6,301,317 msg/sec xenium::michael_scott_queue, 5,s: 6,310,563 msg/sec xenium::michael_scott_queue, 5,i: 6,658,420 msg/sec xenium::michael_scott_queue, 6,s: 6,537,346 msg/sec xenium::michael_scott_queue, 6,i: 6,693,935 msg/sec xenium::michael_scott_queue, 7,s: 6,270,895 msg/sec xenium::michael_scott_queue, 7,i: 6,412,316 msg/sec xenium::michael_scott_queue, 8,s: 5,972,741 msg/sec xenium::michael_scott_queue, 8,i: 6,058,562 msg/sec xenium::ramalhete_queue, 1,s: 31,465,917 msg/sec xenium::ramalhete_queue, 1,i: 32,205,722 msg/sec xenium::ramalhete_queue, 2,s: 23,530,375 msg/sec xenium::ramalhete_queue, 2,i: 23,291,174 msg/sec xenium::ramalhete_queue, 3,s: 29,142,454 msg/sec xenium::ramalhete_queue, 3,i: 28,457,415 msg/sec xenium::ramalhete_queue, 4,s: 33,860,465 msg/sec xenium::ramalhete_queue, 4,i: 33,458,936 msg/sec xenium::ramalhete_queue, 5,s: 31,950,575 msg/sec xenium::ramalhete_queue, 5,i: 36,047,806 msg/sec xenium::ramalhete_queue, 6,s: 34,042,821 msg/sec xenium::ramalhete_queue, 6,i: 39,032,148 msg/sec xenium::ramalhete_queue, 7,s: 35,085,801 msg/sec xenium::ramalhete_queue, 7,i: 41,065,053 msg/sec xenium::ramalhete_queue, 8,s: 35,550,607 msg/sec xenium::ramalhete_queue, 8,i: 43,787,371 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,818,550 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,975,850 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,234,175 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,698,736 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,877,697 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,284,050 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,494,951 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,525,423 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,732,144 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,265,470 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,911,519 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,356,387 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,318,305 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,884,507 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,449 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,333,501 msg/sec AtomicQueue, 1,s: 59,127,048 msg/sec AtomicQueue, 1,i: 56,575,119 msg/sec AtomicQueue, 2,s: 12,331,516 msg/sec AtomicQueue, 2,i: 11,763,770 msg/sec AtomicQueue, 3,s: 10,796,364 msg/sec AtomicQueue, 3,i: 9,921,752 msg/sec AtomicQueue, 4,s: 8,162,393 msg/sec AtomicQueue, 4,i: 8,175,913 msg/sec AtomicQueue, 5,s: 7,984,623 msg/sec AtomicQueue, 5,i: 8,102,869 msg/sec AtomicQueue, 6,s: 7,845,067 msg/sec AtomicQueue, 6,i: 7,604,230 msg/sec AtomicQueue, 7,s: 7,173,864 msg/sec AtomicQueue, 7,i: 7,974,348 msg/sec AtomicQueue, 8,s: 6,350,173 msg/sec AtomicQueue, 8,i: 7,484,111 msg/sec AtomicQueueB, 1,s: 50,710,515 msg/sec AtomicQueueB, 1,i: 43,040,692 msg/sec AtomicQueueB, 2,s: 11,969,344 msg/sec AtomicQueueB, 2,i: 11,510,948 msg/sec AtomicQueueB, 3,s: 10,985,942 msg/sec AtomicQueueB, 3,i: 10,105,469 msg/sec AtomicQueueB, 4,s: 8,075,376 msg/sec AtomicQueueB, 4,i: 7,867,792 msg/sec AtomicQueueB, 5,s: 7,603,549 msg/sec AtomicQueueB, 5,i: 7,864,161 msg/sec AtomicQueueB, 6,s: 7,439,447 msg/sec AtomicQueueB, 6,i: 7,509,628 msg/sec AtomicQueueB, 7,s: 6,903,328 msg/sec AtomicQueueB, 7,i: 7,732,955 msg/sec AtomicQueueB, 8,s: 6,254,685 msg/sec AtomicQueueB, 8,i: 7,044,509 msg/sec OptimistAtomicQueue, 1,s: 824,829,853 msg/sec OptimistAtomicQueue, 1,i: 582,981,940 msg/sec OptimistAtomicQueue, 2,s: 32,642,674 msg/sec OptimistAtomicQueue, 2,i: 32,730,242 msg/sec OptimistAtomicQueue, 3,s: 36,668,295 msg/sec OptimistAtomicQueue, 3,i: 37,391,881 msg/sec OptimistAtomicQueue, 4,s: 39,271,179 msg/sec OptimistAtomicQueue, 4,i: 39,401,841 msg/sec OptimistAtomicQueue, 5,s: 42,258,659 msg/sec OptimistAtomicQueue, 5,i: 48,575,029 msg/sec OptimistAtomicQueue, 6,s: 42,237,916 msg/sec OptimistAtomicQueue, 6,i: 50,386,256 msg/sec OptimistAtomicQueue, 7,s: 44,289,807 msg/sec OptimistAtomicQueue, 7,i: 53,121,397 msg/sec OptimistAtomicQueue, 8,s: 46,525,888 msg/sec OptimistAtomicQueue, 8,i: 48,997,651 msg/sec OptimistAtomicQueueB, 1,s: 120,422,231 msg/sec OptimistAtomicQueueB, 1,i: 194,266,109 msg/sec OptimistAtomicQueueB, 2,s: 32,298,296 msg/sec OptimistAtomicQueueB, 2,i: 32,353,786 msg/sec OptimistAtomicQueueB, 3,s: 36,223,856 msg/sec OptimistAtomicQueueB, 3,i: 36,985,816 msg/sec OptimistAtomicQueueB, 4,s: 38,716,283 msg/sec OptimistAtomicQueueB, 4,i: 38,595,195 msg/sec OptimistAtomicQueueB, 5,s: 41,016,130 msg/sec OptimistAtomicQueueB, 5,i: 45,433,592 msg/sec OptimistAtomicQueueB, 6,s: 41,021,932 msg/sec OptimistAtomicQueueB, 6,i: 49,086,431 msg/sec OptimistAtomicQueueB, 7,s: 41,625,444 msg/sec OptimistAtomicQueueB, 7,i: 50,837,900 msg/sec OptimistAtomicQueueB, 8,s: 44,640,512 msg/sec OptimistAtomicQueueB, 8,i: 48,201,193 msg/sec AtomicQueue2, 1,s: 23,106,761 msg/sec AtomicQueue2, 1,i: 23,071,924 msg/sec AtomicQueue2, 2,s: 11,749,150 msg/sec AtomicQueue2, 2,i: 11,416,920 msg/sec AtomicQueue2, 3,s: 9,550,237 msg/sec AtomicQueue2, 3,i: 9,494,901 msg/sec AtomicQueue2, 4,s: 8,008,496 msg/sec AtomicQueue2, 4,i: 8,038,324 msg/sec AtomicQueue2, 5,s: 7,929,996 msg/sec AtomicQueue2, 5,i: 8,059,189 msg/sec AtomicQueue2, 6,s: 7,693,391 msg/sec AtomicQueue2, 6,i: 7,531,559 msg/sec AtomicQueue2, 7,s: 7,070,506 msg/sec AtomicQueue2, 7,i: 7,879,774 msg/sec AtomicQueue2, 8,s: 6,404,358 msg/sec AtomicQueue2, 8,i: 7,185,208 msg/sec AtomicQueueB2, 1,s: 36,142,746 msg/sec AtomicQueueB2, 1,i: 35,909,086 msg/sec AtomicQueueB2, 2,s: 11,379,569 msg/sec AtomicQueueB2, 2,i: 11,111,822 msg/sec AtomicQueueB2, 3,s: 9,643,365 msg/sec AtomicQueueB2, 3,i: 9,568,033 msg/sec AtomicQueueB2, 4,s: 7,859,016 msg/sec AtomicQueueB2, 4,i: 7,881,099 msg/sec AtomicQueueB2, 5,s: 7,468,645 msg/sec AtomicQueueB2, 5,i: 7,696,060 msg/sec AtomicQueueB2, 6,s: 7,211,886 msg/sec AtomicQueueB2, 6,i: 7,440,815 msg/sec AtomicQueueB2, 7,s: 6,930,203 msg/sec AtomicQueueB2, 7,i: 7,715,873 msg/sec AtomicQueueB2, 8,s: 6,275,945 msg/sec AtomicQueueB2, 8,i: 7,087,432 msg/sec OptimistAtomicQueue2, 1,s: 527,793,959 msg/sec OptimistAtomicQueue2, 1,i: 29,673,360 msg/sec OptimistAtomicQueue2, 2,s: 24,353,821 msg/sec OptimistAtomicQueue2, 2,i: 24,022,944 msg/sec OptimistAtomicQueue2, 3,s: 30,326,901 msg/sec OptimistAtomicQueue2, 3,i: 30,177,973 msg/sec OptimistAtomicQueue2, 4,s: 33,252,494 msg/sec OptimistAtomicQueue2, 4,i: 33,297,382 msg/sec OptimistAtomicQueue2, 5,s: 37,109,856 msg/sec OptimistAtomicQueue2, 5,i: 40,398,536 msg/sec OptimistAtomicQueue2, 6,s: 40,189,602 msg/sec OptimistAtomicQueue2, 6,i: 49,336,851 msg/sec OptimistAtomicQueue2, 7,s: 42,705,115 msg/sec OptimistAtomicQueue2, 7,i: 51,416,329 msg/sec OptimistAtomicQueue2, 8,s: 44,358,647 msg/sec OptimistAtomicQueue2, 8,i: 48,631,473 msg/sec OptimistAtomicQueueB2, 1,s: 77,120,847 msg/sec OptimistAtomicQueueB2, 1,i: 33,865,013 msg/sec OptimistAtomicQueueB2, 2,s: 27,191,055 msg/sec OptimistAtomicQueueB2, 2,i: 26,942,117 msg/sec OptimistAtomicQueueB2, 3,s: 29,645,517 msg/sec OptimistAtomicQueueB2, 3,i: 29,046,559 msg/sec OptimistAtomicQueueB2, 4,s: 32,997,345 msg/sec OptimistAtomicQueueB2, 4,i: 32,791,262 msg/sec OptimistAtomicQueueB2, 5,s: 34,632,036 msg/sec OptimistAtomicQueueB2, 5,i: 39,849,073 msg/sec OptimistAtomicQueueB2, 6,s: 37,216,829 msg/sec OptimistAtomicQueueB2, 6,i: 42,418,170 msg/sec OptimistAtomicQueueB2, 7,s: 40,672,948 msg/sec OptimistAtomicQueueB2, 7,i: 43,095,046 msg/sec OptimistAtomicQueueB2, 8,s: 42,304,326 msg/sec OptimistAtomicQueueB2, 8,i: 45,439,284 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000157 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000258 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000278 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000169 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000140 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [139] 297m:57s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,354,626 msg/sec boost::lockfree::spsc_queue, 1,i: 67,389,133 msg/sec boost::lockfree::queue, 1,s: 6,857,096 msg/sec boost::lockfree::queue, 1,i: 6,926,588 msg/sec boost::lockfree::queue, 2,s: 7,497,461 msg/sec boost::lockfree::queue, 2,i: 7,390,751 msg/sec boost::lockfree::queue, 3,s: 7,423,576 msg/sec boost::lockfree::queue, 3,i: 7,592,728 msg/sec boost::lockfree::queue, 4,s: 6,417,581 msg/sec boost::lockfree::queue, 4,i: 6,745,244 msg/sec boost::lockfree::queue, 5,s: 6,406,716 msg/sec boost::lockfree::queue, 5,i: 6,491,411 msg/sec boost::lockfree::queue, 6,s: 5,973,474 msg/sec boost::lockfree::queue, 6,i: 6,133,327 msg/sec boost::lockfree::queue, 7,s: 6,088,486 msg/sec boost::lockfree::queue, 7,i: 5,998,325 msg/sec boost::lockfree::queue, 8,s: 5,491,083 msg/sec boost::lockfree::queue, 8,i: 5,588,731 msg/sec moodycamel::ReaderWriterQueue, 1,s: 118,954,576 msg/sec moodycamel::ReaderWriterQueue, 1,i: 129,042,589 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,784,861 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,927,731 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,070,887 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,299,426 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,868,674 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,886,652 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,869,639 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,969,498 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,347,914 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,279,878 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,452,194 msg/sec moodycamel::ConcurrentQueue, 6,i: 31,836,978 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,509,047 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,733,211 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,320,687 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,837,865 msg/sec pthread_spinlock, 1,s: 28,774,829 msg/sec pthread_spinlock, 1,i: 25,303,321 msg/sec pthread_spinlock, 2,s: 15,963,401 msg/sec pthread_spinlock, 2,i: 17,001,747 msg/sec pthread_spinlock, 3,s: 8,333,231 msg/sec pthread_spinlock, 3,i: 12,173,342 msg/sec pthread_spinlock, 4,s: 6,518,881 msg/sec pthread_spinlock, 4,i: 9,190,269 msg/sec pthread_spinlock, 5,s: 8,629,719 msg/sec pthread_spinlock, 5,i: 9,253,410 msg/sec pthread_spinlock, 6,s: 8,544,627 msg/sec pthread_spinlock, 6,i: 8,423,784 msg/sec pthread_spinlock, 7,s: 7,585,369 msg/sec pthread_spinlock, 7,i: 7,984,571 msg/sec pthread_spinlock, 8,s: 6,863,353 msg/sec pthread_spinlock, 8,i: 7,596,251 msg/sec std::mutex, 1,s: 6,392,693 msg/sec std::mutex, 1,i: 6,543,590 msg/sec std::mutex, 2,s: 6,153,284 msg/sec std::mutex, 2,i: 6,056,873 msg/sec std::mutex, 3,s: 6,114,124 msg/sec std::mutex, 3,i: 5,997,982 msg/sec std::mutex, 4,s: 6,210,807 msg/sec std::mutex, 4,i: 6,247,587 msg/sec std::mutex, 5,s: 5,938,999 msg/sec std::mutex, 5,i: 5,970,861 msg/sec std::mutex, 6,s: 5,885,807 msg/sec std::mutex, 6,i: 5,806,495 msg/sec std::mutex, 7,s: 5,753,865 msg/sec std::mutex, 7,i: 5,729,193 msg/sec std::mutex, 8,s: 5,664,093 msg/sec std::mutex, 8,i: 5,603,259 msg/sec tbb::spin_mutex, 1,s: 37,952,433 msg/sec tbb::spin_mutex, 1,i: 32,940,518 msg/sec tbb::spin_mutex, 2,s: 21,191,583 msg/sec tbb::spin_mutex, 2,i: 20,503,252 msg/sec tbb::spin_mutex, 3,s: 8,894,737 msg/sec tbb::spin_mutex, 3,i: 10,001,505 msg/sec tbb::spin_mutex, 4,s: 3,181,643 msg/sec tbb::spin_mutex, 4,i: 6,298,704 msg/sec tbb::spin_mutex, 5,s: 5,426,201 msg/sec tbb::spin_mutex, 5,i: 5,512,736 msg/sec tbb::spin_mutex, 6,s: 5,283,095 msg/sec tbb::spin_mutex, 6,i: 4,396,299 msg/sec tbb::spin_mutex, 7,s: 4,858,866 msg/sec tbb::spin_mutex, 7,i: 4,350,371 msg/sec tbb::spin_mutex, 8,s: 4,257,349 msg/sec tbb::spin_mutex, 8,i: 4,065,756 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,065,155 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,094,701 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,992,328 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,242,693 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,500,457 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,775,948 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,977,256 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,345,703 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,641,636 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,618,897 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,841,641 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,723,334 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,910,017 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,118,506 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,887,102 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,409,385 msg/sec xenium::michael_scott_queue, 1,s: 9,945,549 msg/sec xenium::michael_scott_queue, 1,i: 9,932,171 msg/sec xenium::michael_scott_queue, 2,s: 8,444,234 msg/sec xenium::michael_scott_queue, 2,i: 8,491,359 msg/sec xenium::michael_scott_queue, 3,s: 7,202,205 msg/sec xenium::michael_scott_queue, 3,i: 7,549,065 msg/sec xenium::michael_scott_queue, 4,s: 6,330,220 msg/sec xenium::michael_scott_queue, 4,i: 6,314,551 msg/sec xenium::michael_scott_queue, 5,s: 6,306,937 msg/sec xenium::michael_scott_queue, 5,i: 6,654,760 msg/sec xenium::michael_scott_queue, 6,s: 6,462,842 msg/sec xenium::michael_scott_queue, 6,i: 6,711,497 msg/sec xenium::michael_scott_queue, 7,s: 6,293,770 msg/sec xenium::michael_scott_queue, 7,i: 6,516,225 msg/sec xenium::michael_scott_queue, 8,s: 5,990,808 msg/sec xenium::michael_scott_queue, 8,i: 6,163,284 msg/sec xenium::ramalhete_queue, 1,s: 32,188,835 msg/sec xenium::ramalhete_queue, 1,i: 32,057,924 msg/sec xenium::ramalhete_queue, 2,s: 23,912,400 msg/sec xenium::ramalhete_queue, 2,i: 23,253,895 msg/sec xenium::ramalhete_queue, 3,s: 29,137,283 msg/sec xenium::ramalhete_queue, 3,i: 28,448,603 msg/sec xenium::ramalhete_queue, 4,s: 33,861,073 msg/sec xenium::ramalhete_queue, 4,i: 33,512,217 msg/sec xenium::ramalhete_queue, 5,s: 32,089,552 msg/sec xenium::ramalhete_queue, 5,i: 36,208,458 msg/sec xenium::ramalhete_queue, 6,s: 34,306,925 msg/sec xenium::ramalhete_queue, 6,i: 39,044,095 msg/sec xenium::ramalhete_queue, 7,s: 35,112,142 msg/sec xenium::ramalhete_queue, 7,i: 41,931,096 msg/sec xenium::ramalhete_queue, 8,s: 35,605,213 msg/sec xenium::ramalhete_queue, 8,i: 44,003,605 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,091,946 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,055,444 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,751,765 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,810,160 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,761,564 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,122,146 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,585,997 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,411,447 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,018,757 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,375,987 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,953,692 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,287,288 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,205,097 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,316,625 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,457,029 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,210,182 msg/sec AtomicQueue, 1,s: 61,372,381 msg/sec AtomicQueue, 1,i: 56,272,011 msg/sec AtomicQueue, 2,s: 12,257,506 msg/sec AtomicQueue, 2,i: 11,736,773 msg/sec AtomicQueue, 3,s: 10,800,102 msg/sec AtomicQueue, 3,i: 10,048,910 msg/sec AtomicQueue, 4,s: 8,229,386 msg/sec AtomicQueue, 4,i: 8,192,912 msg/sec AtomicQueue, 5,s: 8,033,378 msg/sec AtomicQueue, 5,i: 8,091,139 msg/sec AtomicQueue, 6,s: 7,916,812 msg/sec AtomicQueue, 6,i: 7,609,076 msg/sec AtomicQueue, 7,s: 7,159,680 msg/sec AtomicQueue, 7,i: 7,973,024 msg/sec AtomicQueue, 8,s: 6,322,441 msg/sec AtomicQueue, 8,i: 7,339,623 msg/sec AtomicQueueB, 1,s: 44,215,548 msg/sec AtomicQueueB, 1,i: 43,540,070 msg/sec AtomicQueueB, 2,s: 11,649,002 msg/sec AtomicQueueB, 2,i: 11,505,099 msg/sec AtomicQueueB, 3,s: 10,992,036 msg/sec AtomicQueueB, 3,i: 10,217,391 msg/sec AtomicQueueB, 4,s: 8,038,047 msg/sec AtomicQueueB, 4,i: 7,995,199 msg/sec AtomicQueueB, 5,s: 7,731,270 msg/sec AtomicQueueB, 5,i: 7,877,441 msg/sec AtomicQueueB, 6,s: 7,356,439 msg/sec AtomicQueueB, 6,i: 7,525,083 msg/sec AtomicQueueB, 7,s: 6,819,770 msg/sec AtomicQueueB, 7,i: 7,728,479 msg/sec AtomicQueueB, 8,s: 6,314,784 msg/sec AtomicQueueB, 8,i: 7,137,582 msg/sec OptimistAtomicQueue, 1,s: 809,027,451 msg/sec OptimistAtomicQueue, 1,i: 663,280,399 msg/sec OptimistAtomicQueue, 2,s: 32,622,822 msg/sec OptimistAtomicQueue, 2,i: 32,715,622 msg/sec OptimistAtomicQueue, 3,s: 36,659,417 msg/sec OptimistAtomicQueue, 3,i: 37,426,513 msg/sec OptimistAtomicQueue, 4,s: 39,293,212 msg/sec OptimistAtomicQueue, 4,i: 39,398,199 msg/sec OptimistAtomicQueue, 5,s: 41,769,334 msg/sec OptimistAtomicQueue, 5,i: 47,153,416 msg/sec OptimistAtomicQueue, 6,s: 42,664,251 msg/sec OptimistAtomicQueue, 6,i: 50,225,962 msg/sec OptimistAtomicQueue, 7,s: 45,232,986 msg/sec OptimistAtomicQueue, 7,i: 49,400,725 msg/sec OptimistAtomicQueue, 8,s: 46,268,878 msg/sec OptimistAtomicQueue, 8,i: 48,916,076 msg/sec OptimistAtomicQueueB, 1,s: 77,744,502 msg/sec OptimistAtomicQueueB, 1,i: 76,494,074 msg/sec OptimistAtomicQueueB, 2,s: 32,145,785 msg/sec OptimistAtomicQueueB, 2,i: 32,050,815 msg/sec OptimistAtomicQueueB, 3,s: 36,283,949 msg/sec OptimistAtomicQueueB, 3,i: 36,966,596 msg/sec OptimistAtomicQueueB, 4,s: 38,716,233 msg/sec OptimistAtomicQueueB, 4,i: 38,700,362 msg/sec OptimistAtomicQueueB, 5,s: 40,543,679 msg/sec OptimistAtomicQueueB, 5,i: 45,304,935 msg/sec OptimistAtomicQueueB, 6,s: 40,242,619 msg/sec OptimistAtomicQueueB, 6,i: 48,760,574 msg/sec OptimistAtomicQueueB, 7,s: 42,130,557 msg/sec OptimistAtomicQueueB, 7,i: 50,810,212 msg/sec OptimistAtomicQueueB, 8,s: 44,248,041 msg/sec OptimistAtomicQueueB, 8,i: 48,110,157 msg/sec AtomicQueue2, 1,s: 22,898,201 msg/sec AtomicQueue2, 1,i: 22,898,014 msg/sec AtomicQueue2, 2,s: 11,796,529 msg/sec AtomicQueue2, 2,i: 11,650,269 msg/sec AtomicQueue2, 3,s: 9,591,466 msg/sec AtomicQueue2, 3,i: 9,548,993 msg/sec AtomicQueue2, 4,s: 8,054,698 msg/sec AtomicQueue2, 4,i: 8,083,833 msg/sec AtomicQueue2, 5,s: 7,954,961 msg/sec AtomicQueue2, 5,i: 8,050,070 msg/sec AtomicQueue2, 6,s: 7,653,263 msg/sec AtomicQueue2, 6,i: 7,486,295 msg/sec AtomicQueue2, 7,s: 7,078,391 msg/sec AtomicQueue2, 7,i: 7,882,692 msg/sec AtomicQueue2, 8,s: 6,365,666 msg/sec AtomicQueue2, 8,i: 7,292,121 msg/sec AtomicQueueB2, 1,s: 36,223,445 msg/sec AtomicQueueB2, 1,i: 32,626,288 msg/sec AtomicQueueB2, 2,s: 11,383,014 msg/sec AtomicQueueB2, 2,i: 11,131,484 msg/sec AtomicQueueB2, 3,s: 9,611,050 msg/sec AtomicQueueB2, 3,i: 9,451,284 msg/sec AtomicQueueB2, 4,s: 7,939,377 msg/sec AtomicQueueB2, 4,i: 7,829,276 msg/sec AtomicQueueB2, 5,s: 7,544,968 msg/sec AtomicQueueB2, 5,i: 7,749,720 msg/sec AtomicQueueB2, 6,s: 7,296,772 msg/sec AtomicQueueB2, 6,i: 7,433,732 msg/sec AtomicQueueB2, 7,s: 6,846,940 msg/sec AtomicQueueB2, 7,i: 7,748,053 msg/sec AtomicQueueB2, 8,s: 6,254,904 msg/sec AtomicQueueB2, 8,i: 7,102,759 msg/sec OptimistAtomicQueue2, 1,s: 463,586,551 msg/sec OptimistAtomicQueue2, 1,i: 29,731,164 msg/sec OptimistAtomicQueue2, 2,s: 22,609,585 msg/sec OptimistAtomicQueue2, 2,i: 27,384,880 msg/sec OptimistAtomicQueue2, 3,s: 30,436,085 msg/sec OptimistAtomicQueue2, 3,i: 30,021,911 msg/sec OptimistAtomicQueue2, 4,s: 33,428,355 msg/sec OptimistAtomicQueue2, 4,i: 33,314,392 msg/sec OptimistAtomicQueue2, 5,s: 37,284,296 msg/sec OptimistAtomicQueue2, 5,i: 40,321,502 msg/sec OptimistAtomicQueue2, 6,s: 40,332,357 msg/sec OptimistAtomicQueue2, 6,i: 49,333,361 msg/sec OptimistAtomicQueue2, 7,s: 42,699,244 msg/sec OptimistAtomicQueue2, 7,i: 51,437,273 msg/sec OptimistAtomicQueue2, 8,s: 43,895,376 msg/sec OptimistAtomicQueue2, 8,i: 48,846,676 msg/sec OptimistAtomicQueueB2, 1,s: 70,805,187 msg/sec OptimistAtomicQueueB2, 1,i: 33,866,398 msg/sec OptimistAtomicQueueB2, 2,s: 27,838,387 msg/sec OptimistAtomicQueueB2, 2,i: 23,143,028 msg/sec OptimistAtomicQueueB2, 3,s: 29,724,411 msg/sec OptimistAtomicQueueB2, 3,i: 29,529,671 msg/sec OptimistAtomicQueueB2, 4,s: 33,076,407 msg/sec OptimistAtomicQueueB2, 4,i: 32,974,626 msg/sec OptimistAtomicQueueB2, 5,s: 34,583,579 msg/sec OptimistAtomicQueueB2, 5,i: 39,893,210 msg/sec OptimistAtomicQueueB2, 6,s: 37,618,123 msg/sec OptimistAtomicQueueB2, 6,i: 42,208,060 msg/sec OptimistAtomicQueueB2, 7,s: 40,911,964 msg/sec OptimistAtomicQueueB2, 7,i: 43,273,605 msg/sec OptimistAtomicQueueB2, 8,s: 42,408,569 msg/sec OptimistAtomicQueueB2, 8,i: 45,402,939 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000330 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000156 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000254 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000279 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000197 sec/round-trip AtomicQueue: 0.000000169 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000140 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [140] 296m:38s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,750,055 msg/sec boost::lockfree::spsc_queue, 1,i: 67,097,603 msg/sec boost::lockfree::queue, 1,s: 6,918,040 msg/sec boost::lockfree::queue, 1,i: 6,930,345 msg/sec boost::lockfree::queue, 2,s: 7,705,998 msg/sec boost::lockfree::queue, 2,i: 7,385,434 msg/sec boost::lockfree::queue, 3,s: 7,449,496 msg/sec boost::lockfree::queue, 3,i: 7,531,377 msg/sec boost::lockfree::queue, 4,s: 6,413,176 msg/sec boost::lockfree::queue, 4,i: 6,738,267 msg/sec boost::lockfree::queue, 5,s: 6,435,769 msg/sec boost::lockfree::queue, 5,i: 6,481,180 msg/sec boost::lockfree::queue, 6,s: 5,968,202 msg/sec boost::lockfree::queue, 6,i: 6,140,887 msg/sec boost::lockfree::queue, 7,s: 6,026,429 msg/sec boost::lockfree::queue, 7,i: 5,918,306 msg/sec boost::lockfree::queue, 8,s: 5,460,157 msg/sec boost::lockfree::queue, 8,i: 5,570,204 msg/sec moodycamel::ReaderWriterQueue, 1,s: 486,649,737 msg/sec moodycamel::ReaderWriterQueue, 1,i: 485,911,423 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,589,294 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,583,952 msg/sec moodycamel::ConcurrentQueue, 2,s: 47,236,594 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,988,644 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,793,274 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,820,517 msg/sec moodycamel::ConcurrentQueue, 4,s: 28,953,798 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,483,169 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,130,783 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,795,583 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,393,538 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,864,047 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,912,558 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,571,776 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,114,622 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,360,400 msg/sec pthread_spinlock, 1,s: 28,760,450 msg/sec pthread_spinlock, 1,i: 28,107,080 msg/sec pthread_spinlock, 2,s: 16,075,793 msg/sec pthread_spinlock, 2,i: 16,952,236 msg/sec pthread_spinlock, 3,s: 8,305,458 msg/sec pthread_spinlock, 3,i: 12,002,323 msg/sec pthread_spinlock, 4,s: 6,500,170 msg/sec pthread_spinlock, 4,i: 8,874,971 msg/sec pthread_spinlock, 5,s: 8,648,463 msg/sec pthread_spinlock, 5,i: 10,408,425 msg/sec pthread_spinlock, 6,s: 8,345,880 msg/sec pthread_spinlock, 6,i: 8,564,324 msg/sec pthread_spinlock, 7,s: 7,665,005 msg/sec pthread_spinlock, 7,i: 7,677,085 msg/sec pthread_spinlock, 8,s: 6,679,474 msg/sec pthread_spinlock, 8,i: 6,853,903 msg/sec std::mutex, 1,s: 7,176,830 msg/sec std::mutex, 1,i: 7,505,120 msg/sec std::mutex, 2,s: 6,240,123 msg/sec std::mutex, 2,i: 6,066,176 msg/sec std::mutex, 3,s: 6,061,496 msg/sec std::mutex, 3,i: 6,000,018 msg/sec std::mutex, 4,s: 6,188,078 msg/sec std::mutex, 4,i: 6,202,473 msg/sec std::mutex, 5,s: 5,957,821 msg/sec std::mutex, 5,i: 6,125,882 msg/sec std::mutex, 6,s: 5,862,817 msg/sec std::mutex, 6,i: 5,805,778 msg/sec std::mutex, 7,s: 5,757,728 msg/sec std::mutex, 7,i: 5,762,511 msg/sec std::mutex, 8,s: 5,636,629 msg/sec std::mutex, 8,i: 5,576,927 msg/sec tbb::spin_mutex, 1,s: 37,862,871 msg/sec tbb::spin_mutex, 1,i: 33,024,030 msg/sec tbb::spin_mutex, 2,s: 21,059,643 msg/sec tbb::spin_mutex, 2,i: 18,310,243 msg/sec tbb::spin_mutex, 3,s: 7,299,148 msg/sec tbb::spin_mutex, 3,i: 10,086,600 msg/sec tbb::spin_mutex, 4,s: 3,286,548 msg/sec tbb::spin_mutex, 4,i: 6,411,481 msg/sec tbb::spin_mutex, 5,s: 5,353,754 msg/sec tbb::spin_mutex, 5,i: 5,786,587 msg/sec tbb::spin_mutex, 6,s: 5,347,343 msg/sec tbb::spin_mutex, 6,i: 4,402,948 msg/sec tbb::spin_mutex, 7,s: 4,541,847 msg/sec tbb::spin_mutex, 7,i: 4,302,846 msg/sec tbb::spin_mutex, 8,s: 4,272,000 msg/sec tbb::spin_mutex, 8,i: 4,076,528 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,026,444 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,098,947 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,243,603 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,202,061 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,456,666 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,688,353 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,014,411 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,298,600 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,695,614 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,648,309 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,934,880 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,721,951 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,880,560 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,137,144 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,922,776 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,462,380 msg/sec xenium::michael_scott_queue, 1,s: 9,425,170 msg/sec xenium::michael_scott_queue, 1,i: 9,421,393 msg/sec xenium::michael_scott_queue, 2,s: 8,490,179 msg/sec xenium::michael_scott_queue, 2,i: 8,515,825 msg/sec xenium::michael_scott_queue, 3,s: 7,319,844 msg/sec xenium::michael_scott_queue, 3,i: 7,524,934 msg/sec xenium::michael_scott_queue, 4,s: 6,331,484 msg/sec xenium::michael_scott_queue, 4,i: 6,402,627 msg/sec xenium::michael_scott_queue, 5,s: 6,315,581 msg/sec xenium::michael_scott_queue, 5,i: 6,619,858 msg/sec xenium::michael_scott_queue, 6,s: 6,457,170 msg/sec xenium::michael_scott_queue, 6,i: 7,025,442 msg/sec xenium::michael_scott_queue, 7,s: 6,296,273 msg/sec xenium::michael_scott_queue, 7,i: 6,577,404 msg/sec xenium::michael_scott_queue, 8,s: 6,071,849 msg/sec xenium::michael_scott_queue, 8,i: 6,123,238 msg/sec xenium::ramalhete_queue, 1,s: 32,113,413 msg/sec xenium::ramalhete_queue, 1,i: 32,412,219 msg/sec xenium::ramalhete_queue, 2,s: 24,193,413 msg/sec xenium::ramalhete_queue, 2,i: 23,317,000 msg/sec xenium::ramalhete_queue, 3,s: 29,182,510 msg/sec xenium::ramalhete_queue, 3,i: 28,531,157 msg/sec xenium::ramalhete_queue, 4,s: 33,895,255 msg/sec xenium::ramalhete_queue, 4,i: 33,499,671 msg/sec xenium::ramalhete_queue, 5,s: 32,316,401 msg/sec xenium::ramalhete_queue, 5,i: 36,284,014 msg/sec xenium::ramalhete_queue, 6,s: 34,277,222 msg/sec xenium::ramalhete_queue, 6,i: 38,831,817 msg/sec xenium::ramalhete_queue, 7,s: 34,977,526 msg/sec xenium::ramalhete_queue, 7,i: 41,060,846 msg/sec xenium::ramalhete_queue, 8,s: 35,590,604 msg/sec xenium::ramalhete_queue, 8,i: 43,810,202 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,444,330 msg/sec xenium::vyukov_bounded_queue, 1,i: 93,190,476 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,910,544 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,251,451 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,673,965 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,981,732 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,609,493 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,271,842 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,499,343 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,258,925 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,098,609 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,158,391 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,168,952 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,936,691 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,415,852 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,538,025 msg/sec AtomicQueue, 1,s: 144,826,918 msg/sec AtomicQueue, 1,i: 57,812,056 msg/sec AtomicQueue, 2,s: 12,300,525 msg/sec AtomicQueue, 2,i: 11,773,861 msg/sec AtomicQueue, 3,s: 10,847,556 msg/sec AtomicQueue, 3,i: 9,983,317 msg/sec AtomicQueue, 4,s: 8,192,825 msg/sec AtomicQueue, 4,i: 8,183,570 msg/sec AtomicQueue, 5,s: 8,032,091 msg/sec AtomicQueue, 5,i: 8,070,677 msg/sec AtomicQueue, 6,s: 7,779,590 msg/sec AtomicQueue, 6,i: 7,596,590 msg/sec AtomicQueue, 7,s: 7,101,448 msg/sec AtomicQueue, 7,i: 7,988,537 msg/sec AtomicQueue, 8,s: 6,340,205 msg/sec AtomicQueue, 8,i: 7,439,045 msg/sec AtomicQueueB, 1,s: 65,891,810 msg/sec AtomicQueueB, 1,i: 43,159,918 msg/sec AtomicQueueB, 2,s: 11,822,125 msg/sec AtomicQueueB, 2,i: 11,491,540 msg/sec AtomicQueueB, 3,s: 10,997,878 msg/sec AtomicQueueB, 3,i: 10,071,585 msg/sec AtomicQueueB, 4,s: 8,030,517 msg/sec AtomicQueueB, 4,i: 8,012,676 msg/sec AtomicQueueB, 5,s: 7,503,171 msg/sec AtomicQueueB, 5,i: 7,675,965 msg/sec AtomicQueueB, 6,s: 7,330,169 msg/sec AtomicQueueB, 6,i: 7,556,734 msg/sec AtomicQueueB, 7,s: 6,904,657 msg/sec AtomicQueueB, 7,i: 7,737,915 msg/sec AtomicQueueB, 8,s: 6,217,338 msg/sec AtomicQueueB, 8,i: 7,036,676 msg/sec OptimistAtomicQueue, 1,s: 731,508,962 msg/sec OptimistAtomicQueue, 1,i: 544,199,250 msg/sec OptimistAtomicQueue, 2,s: 32,633,780 msg/sec OptimistAtomicQueue, 2,i: 32,222,078 msg/sec OptimistAtomicQueue, 3,s: 36,609,384 msg/sec OptimistAtomicQueue, 3,i: 37,329,889 msg/sec OptimistAtomicQueue, 4,s: 39,285,378 msg/sec OptimistAtomicQueue, 4,i: 39,352,387 msg/sec OptimistAtomicQueue, 5,s: 41,819,352 msg/sec OptimistAtomicQueue, 5,i: 46,311,616 msg/sec OptimistAtomicQueue, 6,s: 42,511,803 msg/sec OptimistAtomicQueue, 6,i: 49,778,285 msg/sec OptimistAtomicQueue, 7,s: 45,237,422 msg/sec OptimistAtomicQueue, 7,i: 51,933,058 msg/sec OptimistAtomicQueue, 8,s: 46,414,908 msg/sec OptimistAtomicQueue, 8,i: 48,624,155 msg/sec OptimistAtomicQueueB, 1,s: 269,544,067 msg/sec OptimistAtomicQueueB, 1,i: 171,734,560 msg/sec OptimistAtomicQueueB, 2,s: 32,192,521 msg/sec OptimistAtomicQueueB, 2,i: 32,328,972 msg/sec OptimistAtomicQueueB, 3,s: 36,282,515 msg/sec OptimistAtomicQueueB, 3,i: 36,946,749 msg/sec OptimistAtomicQueueB, 4,s: 38,682,235 msg/sec OptimistAtomicQueueB, 4,i: 38,600,090 msg/sec OptimistAtomicQueueB, 5,s: 40,980,211 msg/sec OptimistAtomicQueueB, 5,i: 45,482,875 msg/sec OptimistAtomicQueueB, 6,s: 41,037,834 msg/sec OptimistAtomicQueueB, 6,i: 49,128,805 msg/sec OptimistAtomicQueueB, 7,s: 41,847,281 msg/sec OptimistAtomicQueueB, 7,i: 50,500,398 msg/sec OptimistAtomicQueueB, 8,s: 44,237,595 msg/sec OptimistAtomicQueueB, 8,i: 48,819,211 msg/sec AtomicQueue2, 1,s: 22,937,800 msg/sec AtomicQueue2, 1,i: 22,887,867 msg/sec AtomicQueue2, 2,s: 11,931,704 msg/sec AtomicQueue2, 2,i: 11,393,566 msg/sec AtomicQueue2, 3,s: 9,428,307 msg/sec AtomicQueue2, 3,i: 9,386,491 msg/sec AtomicQueue2, 4,s: 8,061,959 msg/sec AtomicQueue2, 4,i: 8,097,848 msg/sec AtomicQueue2, 5,s: 7,926,779 msg/sec AtomicQueue2, 5,i: 7,987,031 msg/sec AtomicQueue2, 6,s: 7,680,277 msg/sec AtomicQueue2, 6,i: 7,546,794 msg/sec AtomicQueue2, 7,s: 7,160,140 msg/sec AtomicQueue2, 7,i: 7,889,121 msg/sec AtomicQueue2, 8,s: 6,401,831 msg/sec AtomicQueue2, 8,i: 7,390,372 msg/sec AtomicQueueB2, 1,s: 35,977,464 msg/sec AtomicQueueB2, 1,i: 32,646,368 msg/sec AtomicQueueB2, 2,s: 11,440,346 msg/sec AtomicQueueB2, 2,i: 11,116,320 msg/sec AtomicQueueB2, 3,s: 9,511,502 msg/sec AtomicQueueB2, 3,i: 9,419,880 msg/sec AtomicQueueB2, 4,s: 7,907,101 msg/sec AtomicQueueB2, 4,i: 7,775,002 msg/sec AtomicQueueB2, 5,s: 7,508,876 msg/sec AtomicQueueB2, 5,i: 7,671,121 msg/sec AtomicQueueB2, 6,s: 7,327,081 msg/sec AtomicQueueB2, 6,i: 7,452,544 msg/sec AtomicQueueB2, 7,s: 6,946,760 msg/sec AtomicQueueB2, 7,i: 7,719,448 msg/sec AtomicQueueB2, 8,s: 6,230,173 msg/sec AtomicQueueB2, 8,i: 6,947,264 msg/sec OptimistAtomicQueue2, 1,s: 422,926,105 msg/sec OptimistAtomicQueue2, 1,i: 29,643,803 msg/sec OptimistAtomicQueue2, 2,s: 25,222,107 msg/sec OptimistAtomicQueue2, 2,i: 24,018,457 msg/sec OptimistAtomicQueue2, 3,s: 30,319,017 msg/sec OptimistAtomicQueue2, 3,i: 30,426,151 msg/sec OptimistAtomicQueue2, 4,s: 33,170,213 msg/sec OptimistAtomicQueue2, 4,i: 33,222,479 msg/sec OptimistAtomicQueue2, 5,s: 37,147,537 msg/sec OptimistAtomicQueue2, 5,i: 40,299,954 msg/sec OptimistAtomicQueue2, 6,s: 40,294,385 msg/sec OptimistAtomicQueue2, 6,i: 49,189,694 msg/sec OptimistAtomicQueue2, 7,s: 42,760,734 msg/sec OptimistAtomicQueue2, 7,i: 51,551,412 msg/sec OptimistAtomicQueue2, 8,s: 44,091,812 msg/sec OptimistAtomicQueue2, 8,i: 48,416,074 msg/sec OptimistAtomicQueueB2, 1,s: 77,399,693 msg/sec OptimistAtomicQueueB2, 1,i: 33,916,471 msg/sec OptimistAtomicQueueB2, 2,s: 26,637,627 msg/sec OptimistAtomicQueueB2, 2,i: 26,104,049 msg/sec OptimistAtomicQueueB2, 3,s: 30,172,010 msg/sec OptimistAtomicQueueB2, 3,i: 29,243,784 msg/sec OptimistAtomicQueueB2, 4,s: 33,304,341 msg/sec OptimistAtomicQueueB2, 4,i: 32,390,303 msg/sec OptimistAtomicQueueB2, 5,s: 34,707,594 msg/sec OptimistAtomicQueueB2, 5,i: 39,896,771 msg/sec OptimistAtomicQueueB2, 6,s: 37,795,570 msg/sec OptimistAtomicQueueB2, 6,i: 42,608,234 msg/sec OptimistAtomicQueueB2, 7,s: 40,324,474 msg/sec OptimistAtomicQueueB2, 7,i: 45,403,191 msg/sec OptimistAtomicQueueB2, 8,s: 42,189,612 msg/sec OptimistAtomicQueueB2, 8,i: 45,909,806 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000114 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000245 sec/round-trip std::mutex: 0.000000455 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000273 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [141] 295m:19s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,641,555 msg/sec boost::lockfree::spsc_queue, 1,i: 70,425,307 msg/sec boost::lockfree::queue, 1,s: 7,797,164 msg/sec boost::lockfree::queue, 1,i: 6,921,991 msg/sec boost::lockfree::queue, 2,s: 7,527,083 msg/sec boost::lockfree::queue, 2,i: 7,605,386 msg/sec boost::lockfree::queue, 3,s: 7,374,255 msg/sec boost::lockfree::queue, 3,i: 7,546,382 msg/sec boost::lockfree::queue, 4,s: 6,426,256 msg/sec boost::lockfree::queue, 4,i: 6,749,190 msg/sec boost::lockfree::queue, 5,s: 6,412,191 msg/sec boost::lockfree::queue, 5,i: 6,491,711 msg/sec boost::lockfree::queue, 6,s: 6,044,940 msg/sec boost::lockfree::queue, 6,i: 6,084,065 msg/sec boost::lockfree::queue, 7,s: 5,835,075 msg/sec boost::lockfree::queue, 7,i: 5,948,580 msg/sec boost::lockfree::queue, 8,s: 5,465,115 msg/sec boost::lockfree::queue, 8,i: 5,539,149 msg/sec moodycamel::ReaderWriterQueue, 1,s: 166,599,048 msg/sec moodycamel::ReaderWriterQueue, 1,i: 87,307,781 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,477,334 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,000,402 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,614,765 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,562,668 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,503,652 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,934,258 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,619,620 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,928,975 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,450,412 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,669,620 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,598,555 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,694,781 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,223,229 msg/sec moodycamel::ConcurrentQueue, 7,i: 38,156,047 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,358,980 msg/sec moodycamel::ConcurrentQueue, 8,i: 40,625,044 msg/sec pthread_spinlock, 1,s: 29,093,944 msg/sec pthread_spinlock, 1,i: 25,294,622 msg/sec pthread_spinlock, 2,s: 15,560,674 msg/sec pthread_spinlock, 2,i: 16,929,972 msg/sec pthread_spinlock, 3,s: 8,351,249 msg/sec pthread_spinlock, 3,i: 12,058,498 msg/sec pthread_spinlock, 4,s: 6,501,123 msg/sec pthread_spinlock, 4,i: 8,894,526 msg/sec pthread_spinlock, 5,s: 8,753,426 msg/sec pthread_spinlock, 5,i: 10,341,860 msg/sec pthread_spinlock, 6,s: 8,281,540 msg/sec pthread_spinlock, 6,i: 8,565,739 msg/sec pthread_spinlock, 7,s: 7,583,059 msg/sec pthread_spinlock, 7,i: 7,587,990 msg/sec pthread_spinlock, 8,s: 6,772,655 msg/sec pthread_spinlock, 8,i: 7,271,958 msg/sec std::mutex, 1,s: 5,908,881 msg/sec std::mutex, 1,i: 7,035,623 msg/sec std::mutex, 2,s: 6,077,264 msg/sec std::mutex, 2,i: 6,089,616 msg/sec std::mutex, 3,s: 6,138,104 msg/sec std::mutex, 3,i: 6,233,865 msg/sec std::mutex, 4,s: 6,266,136 msg/sec std::mutex, 4,i: 6,301,606 msg/sec std::mutex, 5,s: 6,123,417 msg/sec std::mutex, 5,i: 6,328,867 msg/sec std::mutex, 6,s: 6,046,882 msg/sec std::mutex, 6,i: 5,981,849 msg/sec std::mutex, 7,s: 5,882,295 msg/sec std::mutex, 7,i: 5,920,520 msg/sec std::mutex, 8,s: 5,761,169 msg/sec std::mutex, 8,i: 5,737,219 msg/sec tbb::spin_mutex, 1,s: 37,760,258 msg/sec tbb::spin_mutex, 1,i: 33,007,334 msg/sec tbb::spin_mutex, 2,s: 21,200,657 msg/sec tbb::spin_mutex, 2,i: 19,924,760 msg/sec tbb::spin_mutex, 3,s: 8,289,905 msg/sec tbb::spin_mutex, 3,i: 11,244,753 msg/sec tbb::spin_mutex, 4,s: 3,180,924 msg/sec tbb::spin_mutex, 4,i: 6,358,448 msg/sec tbb::spin_mutex, 5,s: 5,475,239 msg/sec tbb::spin_mutex, 5,i: 5,896,881 msg/sec tbb::spin_mutex, 6,s: 5,291,183 msg/sec tbb::spin_mutex, 6,i: 4,389,457 msg/sec tbb::spin_mutex, 7,s: 4,833,167 msg/sec tbb::spin_mutex, 7,i: 4,377,260 msg/sec tbb::spin_mutex, 8,s: 4,273,451 msg/sec tbb::spin_mutex, 8,i: 4,075,617 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,538,724 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,504,807 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,907,918 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,903,520 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,477,466 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,954,790 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,073,616 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,416,227 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,716,335 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,718,789 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,900,901 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,924,107 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,717,128 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,162,562 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,634,735 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,300,669 msg/sec xenium::michael_scott_queue, 1,s: 9,341,717 msg/sec xenium::michael_scott_queue, 1,i: 9,356,622 msg/sec xenium::michael_scott_queue, 2,s: 8,423,939 msg/sec xenium::michael_scott_queue, 2,i: 8,509,691 msg/sec xenium::michael_scott_queue, 3,s: 7,316,545 msg/sec xenium::michael_scott_queue, 3,i: 7,530,642 msg/sec xenium::michael_scott_queue, 4,s: 6,392,132 msg/sec xenium::michael_scott_queue, 4,i: 6,334,775 msg/sec xenium::michael_scott_queue, 5,s: 6,323,895 msg/sec xenium::michael_scott_queue, 5,i: 6,670,049 msg/sec xenium::michael_scott_queue, 6,s: 6,567,343 msg/sec xenium::michael_scott_queue, 6,i: 6,762,317 msg/sec xenium::michael_scott_queue, 7,s: 6,319,476 msg/sec xenium::michael_scott_queue, 7,i: 6,533,149 msg/sec xenium::michael_scott_queue, 8,s: 6,012,512 msg/sec xenium::michael_scott_queue, 8,i: 6,179,568 msg/sec xenium::ramalhete_queue, 1,s: 32,091,107 msg/sec xenium::ramalhete_queue, 1,i: 32,102,012 msg/sec xenium::ramalhete_queue, 2,s: 23,486,072 msg/sec xenium::ramalhete_queue, 2,i: 23,322,295 msg/sec xenium::ramalhete_queue, 3,s: 29,196,627 msg/sec xenium::ramalhete_queue, 3,i: 28,458,717 msg/sec xenium::ramalhete_queue, 4,s: 33,868,747 msg/sec xenium::ramalhete_queue, 4,i: 33,487,707 msg/sec xenium::ramalhete_queue, 5,s: 32,007,937 msg/sec xenium::ramalhete_queue, 5,i: 36,013,048 msg/sec xenium::ramalhete_queue, 6,s: 34,045,875 msg/sec xenium::ramalhete_queue, 6,i: 39,847,418 msg/sec xenium::ramalhete_queue, 7,s: 35,189,065 msg/sec xenium::ramalhete_queue, 7,i: 41,630,079 msg/sec xenium::ramalhete_queue, 8,s: 35,480,727 msg/sec xenium::ramalhete_queue, 8,i: 43,818,507 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,709,147 msg/sec xenium::vyukov_bounded_queue, 1,i: 122,139,381 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,094,074 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,375,279 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,644,906 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,058,875 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,570,722 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,575,587 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,048,894 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,436,020 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,873,571 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,517,300 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,139,450 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,383,264 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,353,281 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,317,402 msg/sec AtomicQueue, 1,s: 59,257,638 msg/sec AtomicQueue, 1,i: 58,209,139 msg/sec AtomicQueue, 2,s: 12,249,096 msg/sec AtomicQueue, 2,i: 11,763,139 msg/sec AtomicQueue, 3,s: 10,734,983 msg/sec AtomicQueue, 3,i: 9,899,531 msg/sec AtomicQueue, 4,s: 8,199,137 msg/sec AtomicQueue, 4,i: 8,196,037 msg/sec AtomicQueue, 5,s: 8,033,933 msg/sec AtomicQueue, 5,i: 7,980,559 msg/sec AtomicQueue, 6,s: 7,869,652 msg/sec AtomicQueue, 6,i: 7,598,446 msg/sec AtomicQueue, 7,s: 7,104,880 msg/sec AtomicQueue, 7,i: 7,969,712 msg/sec AtomicQueue, 8,s: 6,341,747 msg/sec AtomicQueue, 8,i: 7,476,083 msg/sec AtomicQueueB, 1,s: 44,505,579 msg/sec AtomicQueueB, 1,i: 43,771,389 msg/sec AtomicQueueB, 2,s: 11,890,282 msg/sec AtomicQueueB, 2,i: 11,423,544 msg/sec AtomicQueueB, 3,s: 10,944,059 msg/sec AtomicQueueB, 3,i: 10,143,970 msg/sec AtomicQueueB, 4,s: 8,026,110 msg/sec AtomicQueueB, 4,i: 8,065,606 msg/sec AtomicQueueB, 5,s: 7,566,849 msg/sec AtomicQueueB, 5,i: 7,748,691 msg/sec AtomicQueueB, 6,s: 7,314,030 msg/sec AtomicQueueB, 6,i: 7,535,869 msg/sec AtomicQueueB, 7,s: 6,835,814 msg/sec AtomicQueueB, 7,i: 7,746,644 msg/sec AtomicQueueB, 8,s: 6,232,350 msg/sec AtomicQueueB, 8,i: 7,014,588 msg/sec OptimistAtomicQueue, 1,s: 775,745,840 msg/sec OptimistAtomicQueue, 1,i: 554,946,424 msg/sec OptimistAtomicQueue, 2,s: 32,644,316 msg/sec OptimistAtomicQueue, 2,i: 32,717,770 msg/sec OptimistAtomicQueue, 3,s: 36,703,872 msg/sec OptimistAtomicQueue, 3,i: 37,394,463 msg/sec OptimistAtomicQueue, 4,s: 39,275,790 msg/sec OptimistAtomicQueue, 4,i: 39,387,231 msg/sec OptimistAtomicQueue, 5,s: 42,577,782 msg/sec OptimistAtomicQueue, 5,i: 46,355,887 msg/sec OptimistAtomicQueue, 6,s: 41,971,863 msg/sec OptimistAtomicQueue, 6,i: 50,519,412 msg/sec OptimistAtomicQueue, 7,s: 43,979,901 msg/sec OptimistAtomicQueue, 7,i: 52,089,504 msg/sec OptimistAtomicQueue, 8,s: 46,412,657 msg/sec OptimistAtomicQueue, 8,i: 49,510,798 msg/sec OptimistAtomicQueueB, 1,s: 184,054,612 msg/sec OptimistAtomicQueueB, 1,i: 199,443,323 msg/sec OptimistAtomicQueueB, 2,s: 32,273,655 msg/sec OptimistAtomicQueueB, 2,i: 32,259,662 msg/sec OptimistAtomicQueueB, 3,s: 36,203,486 msg/sec OptimistAtomicQueueB, 3,i: 36,801,877 msg/sec OptimistAtomicQueueB, 4,s: 38,684,730 msg/sec OptimistAtomicQueueB, 4,i: 38,569,391 msg/sec OptimistAtomicQueueB, 5,s: 40,975,320 msg/sec OptimistAtomicQueueB, 5,i: 45,245,854 msg/sec OptimistAtomicQueueB, 6,s: 40,425,671 msg/sec OptimistAtomicQueueB, 6,i: 49,006,011 msg/sec OptimistAtomicQueueB, 7,s: 41,774,986 msg/sec OptimistAtomicQueueB, 7,i: 51,556,492 msg/sec OptimistAtomicQueueB, 8,s: 44,294,837 msg/sec OptimistAtomicQueueB, 8,i: 48,082,473 msg/sec AtomicQueue2, 1,s: 23,461,681 msg/sec AtomicQueue2, 1,i: 23,471,705 msg/sec AtomicQueue2, 2,s: 11,742,985 msg/sec AtomicQueue2, 2,i: 11,390,844 msg/sec AtomicQueue2, 3,s: 9,449,360 msg/sec AtomicQueue2, 3,i: 9,615,345 msg/sec AtomicQueue2, 4,s: 8,084,506 msg/sec AtomicQueue2, 4,i: 8,040,950 msg/sec AtomicQueue2, 5,s: 7,951,519 msg/sec AtomicQueue2, 5,i: 8,062,958 msg/sec AtomicQueue2, 6,s: 7,687,420 msg/sec AtomicQueue2, 6,i: 7,515,679 msg/sec AtomicQueue2, 7,s: 7,160,254 msg/sec AtomicQueue2, 7,i: 7,881,098 msg/sec AtomicQueue2, 8,s: 6,386,168 msg/sec AtomicQueue2, 8,i: 7,394,450 msg/sec AtomicQueueB2, 1,s: 35,361,720 msg/sec AtomicQueueB2, 1,i: 32,663,526 msg/sec AtomicQueueB2, 2,s: 11,256,965 msg/sec AtomicQueueB2, 2,i: 11,100,116 msg/sec AtomicQueueB2, 3,s: 9,654,012 msg/sec AtomicQueueB2, 3,i: 9,463,592 msg/sec AtomicQueueB2, 4,s: 7,956,494 msg/sec AtomicQueueB2, 4,i: 7,713,274 msg/sec AtomicQueueB2, 5,s: 7,411,706 msg/sec AtomicQueueB2, 5,i: 7,724,422 msg/sec AtomicQueueB2, 6,s: 7,285,916 msg/sec AtomicQueueB2, 6,i: 7,415,171 msg/sec AtomicQueueB2, 7,s: 6,905,912 msg/sec AtomicQueueB2, 7,i: 7,661,326 msg/sec AtomicQueueB2, 8,s: 6,348,133 msg/sec AtomicQueueB2, 8,i: 7,083,998 msg/sec OptimistAtomicQueue2, 1,s: 31,899,496 msg/sec OptimistAtomicQueue2, 1,i: 46,634,340 msg/sec OptimistAtomicQueue2, 2,s: 29,304,028 msg/sec OptimistAtomicQueue2, 2,i: 22,495,911 msg/sec OptimistAtomicQueue2, 3,s: 30,429,313 msg/sec OptimistAtomicQueue2, 3,i: 29,963,535 msg/sec OptimistAtomicQueue2, 4,s: 33,249,354 msg/sec OptimistAtomicQueue2, 4,i: 33,427,034 msg/sec OptimistAtomicQueue2, 5,s: 37,232,099 msg/sec OptimistAtomicQueue2, 5,i: 40,813,764 msg/sec OptimistAtomicQueue2, 6,s: 40,156,068 msg/sec OptimistAtomicQueue2, 6,i: 49,058,023 msg/sec OptimistAtomicQueue2, 7,s: 42,724,123 msg/sec OptimistAtomicQueue2, 7,i: 51,460,382 msg/sec OptimistAtomicQueue2, 8,s: 43,989,809 msg/sec OptimistAtomicQueue2, 8,i: 48,721,006 msg/sec OptimistAtomicQueueB2, 1,s: 77,449,388 msg/sec OptimistAtomicQueueB2, 1,i: 33,943,426 msg/sec OptimistAtomicQueueB2, 2,s: 27,939,450 msg/sec OptimistAtomicQueueB2, 2,i: 23,139,609 msg/sec OptimistAtomicQueueB2, 3,s: 29,863,890 msg/sec OptimistAtomicQueueB2, 3,i: 29,820,507 msg/sec OptimistAtomicQueueB2, 4,s: 33,155,224 msg/sec OptimistAtomicQueueB2, 4,i: 32,830,257 msg/sec OptimistAtomicQueueB2, 5,s: 34,176,893 msg/sec OptimistAtomicQueueB2, 5,i: 39,182,419 msg/sec OptimistAtomicQueueB2, 6,s: 37,271,455 msg/sec OptimistAtomicQueueB2, 6,i: 42,542,838 msg/sec OptimistAtomicQueueB2, 7,s: 40,703,113 msg/sec OptimistAtomicQueueB2, 7,i: 43,349,000 msg/sec OptimistAtomicQueueB2, 8,s: 42,140,766 msg/sec OptimistAtomicQueueB2, 8,i: 45,861,209 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000470 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000379 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [142] 294m:0s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,039,830 msg/sec boost::lockfree::spsc_queue, 1,i: 70,765,189 msg/sec boost::lockfree::queue, 1,s: 7,996,006 msg/sec boost::lockfree::queue, 1,i: 7,855,357 msg/sec boost::lockfree::queue, 2,s: 7,598,766 msg/sec boost::lockfree::queue, 2,i: 7,551,812 msg/sec boost::lockfree::queue, 3,s: 7,438,657 msg/sec boost::lockfree::queue, 3,i: 7,542,389 msg/sec boost::lockfree::queue, 4,s: 6,423,280 msg/sec boost::lockfree::queue, 4,i: 6,826,224 msg/sec boost::lockfree::queue, 5,s: 6,415,654 msg/sec boost::lockfree::queue, 5,i: 6,525,625 msg/sec boost::lockfree::queue, 6,s: 5,989,541 msg/sec boost::lockfree::queue, 6,i: 6,094,886 msg/sec boost::lockfree::queue, 7,s: 5,936,314 msg/sec boost::lockfree::queue, 7,i: 6,034,697 msg/sec boost::lockfree::queue, 8,s: 5,410,820 msg/sec boost::lockfree::queue, 8,i: 5,549,611 msg/sec moodycamel::ReaderWriterQueue, 1,s: 482,967,020 msg/sec moodycamel::ReaderWriterQueue, 1,i: 479,646,615 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,118,640 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,508,049 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,034,561 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,742,634 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,236,822 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,665,900 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,105,339 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,028,143 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,165,465 msg/sec moodycamel::ConcurrentQueue, 5,i: 32,790,386 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,232,923 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,433,353 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,054,070 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,742,064 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,267,944 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,987,078 msg/sec pthread_spinlock, 1,s: 28,880,486 msg/sec pthread_spinlock, 1,i: 25,448,414 msg/sec pthread_spinlock, 2,s: 15,461,416 msg/sec pthread_spinlock, 2,i: 16,790,197 msg/sec pthread_spinlock, 3,s: 8,270,221 msg/sec pthread_spinlock, 3,i: 12,197,584 msg/sec pthread_spinlock, 4,s: 6,515,419 msg/sec pthread_spinlock, 4,i: 9,202,426 msg/sec pthread_spinlock, 5,s: 8,622,673 msg/sec pthread_spinlock, 5,i: 10,397,728 msg/sec pthread_spinlock, 6,s: 8,632,445 msg/sec pthread_spinlock, 6,i: 8,477,047 msg/sec pthread_spinlock, 7,s: 7,631,431 msg/sec pthread_spinlock, 7,i: 8,004,291 msg/sec pthread_spinlock, 8,s: 6,732,932 msg/sec pthread_spinlock, 8,i: 7,461,710 msg/sec std::mutex, 1,s: 6,956,536 msg/sec std::mutex, 1,i: 6,495,036 msg/sec std::mutex, 2,s: 5,584,525 msg/sec std::mutex, 2,i: 6,137,790 msg/sec std::mutex, 3,s: 6,038,804 msg/sec std::mutex, 3,i: 5,990,245 msg/sec std::mutex, 4,s: 6,219,525 msg/sec std::mutex, 4,i: 6,173,632 msg/sec std::mutex, 5,s: 5,929,998 msg/sec std::mutex, 5,i: 6,045,732 msg/sec std::mutex, 6,s: 5,883,777 msg/sec std::mutex, 6,i: 5,846,687 msg/sec std::mutex, 7,s: 5,735,083 msg/sec std::mutex, 7,i: 5,728,948 msg/sec std::mutex, 8,s: 5,655,386 msg/sec std::mutex, 8,i: 5,661,379 msg/sec tbb::spin_mutex, 1,s: 37,567,102 msg/sec tbb::spin_mutex, 1,i: 33,153,128 msg/sec tbb::spin_mutex, 2,s: 21,240,352 msg/sec tbb::spin_mutex, 2,i: 18,492,793 msg/sec tbb::spin_mutex, 3,s: 7,441,883 msg/sec tbb::spin_mutex, 3,i: 10,263,131 msg/sec tbb::spin_mutex, 4,s: 3,274,565 msg/sec tbb::spin_mutex, 4,i: 6,228,365 msg/sec tbb::spin_mutex, 5,s: 5,410,184 msg/sec tbb::spin_mutex, 5,i: 5,582,975 msg/sec tbb::spin_mutex, 6,s: 5,166,441 msg/sec tbb::spin_mutex, 6,i: 4,380,625 msg/sec tbb::spin_mutex, 7,s: 4,880,417 msg/sec tbb::spin_mutex, 7,i: 4,330,467 msg/sec tbb::spin_mutex, 8,s: 4,266,767 msg/sec tbb::spin_mutex, 8,i: 4,079,503 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,944,788 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,158,347 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,679,694 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,494,005 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,196,897 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,662,184 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,288,673 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,242,291 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,820,220 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,184,228 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,856,051 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,505,585 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,912,640 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,624,905 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,060,374 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,744,302 msg/sec xenium::michael_scott_queue, 1,s: 9,228,310 msg/sec xenium::michael_scott_queue, 1,i: 9,245,451 msg/sec xenium::michael_scott_queue, 2,s: 8,557,296 msg/sec xenium::michael_scott_queue, 2,i: 8,471,725 msg/sec xenium::michael_scott_queue, 3,s: 7,313,595 msg/sec xenium::michael_scott_queue, 3,i: 7,582,343 msg/sec xenium::michael_scott_queue, 4,s: 6,256,762 msg/sec xenium::michael_scott_queue, 4,i: 6,382,427 msg/sec xenium::michael_scott_queue, 5,s: 6,273,235 msg/sec xenium::michael_scott_queue, 5,i: 6,573,191 msg/sec xenium::michael_scott_queue, 6,s: 6,590,359 msg/sec xenium::michael_scott_queue, 6,i: 6,751,594 msg/sec xenium::michael_scott_queue, 7,s: 6,317,904 msg/sec xenium::michael_scott_queue, 7,i: 6,609,253 msg/sec xenium::michael_scott_queue, 8,s: 5,993,262 msg/sec xenium::michael_scott_queue, 8,i: 6,256,309 msg/sec xenium::ramalhete_queue, 1,s: 32,244,517 msg/sec xenium::ramalhete_queue, 1,i: 31,948,975 msg/sec xenium::ramalhete_queue, 2,s: 23,571,741 msg/sec xenium::ramalhete_queue, 2,i: 23,348,418 msg/sec xenium::ramalhete_queue, 3,s: 29,169,465 msg/sec xenium::ramalhete_queue, 3,i: 28,464,961 msg/sec xenium::ramalhete_queue, 4,s: 33,787,108 msg/sec xenium::ramalhete_queue, 4,i: 33,390,984 msg/sec xenium::ramalhete_queue, 5,s: 32,446,402 msg/sec xenium::ramalhete_queue, 5,i: 35,947,666 msg/sec xenium::ramalhete_queue, 6,s: 33,965,533 msg/sec xenium::ramalhete_queue, 6,i: 39,838,282 msg/sec xenium::ramalhete_queue, 7,s: 35,056,096 msg/sec xenium::ramalhete_queue, 7,i: 40,484,875 msg/sec xenium::ramalhete_queue, 8,s: 35,510,089 msg/sec xenium::ramalhete_queue, 8,i: 43,718,168 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,147,429 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,764,803 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,667,708 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,362,561 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,592,145 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,878,427 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,634,115 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,055,120 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,560,985 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,329,534 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,148,684 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,470,923 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,193,209 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,383,754 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,425,888 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,243,329 msg/sec AtomicQueue, 1,s: 58,400,547 msg/sec AtomicQueue, 1,i: 56,445,072 msg/sec AtomicQueue, 2,s: 12,314,980 msg/sec AtomicQueue, 2,i: 11,754,106 msg/sec AtomicQueue, 3,s: 10,777,160 msg/sec AtomicQueue, 3,i: 9,913,335 msg/sec AtomicQueue, 4,s: 8,227,828 msg/sec AtomicQueue, 4,i: 8,167,870 msg/sec AtomicQueue, 5,s: 7,958,009 msg/sec AtomicQueue, 5,i: 8,084,635 msg/sec AtomicQueue, 6,s: 7,906,266 msg/sec AtomicQueue, 6,i: 7,622,672 msg/sec AtomicQueue, 7,s: 7,056,709 msg/sec AtomicQueue, 7,i: 7,973,389 msg/sec AtomicQueue, 8,s: 6,351,929 msg/sec AtomicQueue, 8,i: 7,458,225 msg/sec AtomicQueueB, 1,s: 46,458,692 msg/sec AtomicQueueB, 1,i: 43,081,419 msg/sec AtomicQueueB, 2,s: 11,923,635 msg/sec AtomicQueueB, 2,i: 11,531,270 msg/sec AtomicQueueB, 3,s: 11,062,223 msg/sec AtomicQueueB, 3,i: 10,091,253 msg/sec AtomicQueueB, 4,s: 8,041,725 msg/sec AtomicQueueB, 4,i: 8,062,948 msg/sec AtomicQueueB, 5,s: 7,658,929 msg/sec AtomicQueueB, 5,i: 7,795,263 msg/sec AtomicQueueB, 6,s: 7,356,869 msg/sec AtomicQueueB, 6,i: 7,539,430 msg/sec AtomicQueueB, 7,s: 6,850,714 msg/sec AtomicQueueB, 7,i: 7,729,375 msg/sec AtomicQueueB, 8,s: 6,224,193 msg/sec AtomicQueueB, 8,i: 7,130,739 msg/sec OptimistAtomicQueue, 1,s: 811,016,688 msg/sec OptimistAtomicQueue, 1,i: 502,537,815 msg/sec OptimistAtomicQueue, 2,s: 32,151,068 msg/sec OptimistAtomicQueue, 2,i: 32,726,698 msg/sec OptimistAtomicQueue, 3,s: 36,667,203 msg/sec OptimistAtomicQueue, 3,i: 37,400,344 msg/sec OptimistAtomicQueue, 4,s: 39,296,594 msg/sec OptimistAtomicQueue, 4,i: 39,391,731 msg/sec OptimistAtomicQueue, 5,s: 39,878,320 msg/sec OptimistAtomicQueue, 5,i: 46,471,441 msg/sec OptimistAtomicQueue, 6,s: 42,530,030 msg/sec OptimistAtomicQueue, 6,i: 50,367,750 msg/sec OptimistAtomicQueue, 7,s: 45,122,104 msg/sec OptimistAtomicQueue, 7,i: 52,996,205 msg/sec OptimistAtomicQueue, 8,s: 46,521,796 msg/sec OptimistAtomicQueue, 8,i: 48,677,496 msg/sec OptimistAtomicQueueB, 1,s: 289,001,763 msg/sec OptimistAtomicQueueB, 1,i: 77,793,252 msg/sec OptimistAtomicQueueB, 2,s: 32,205,775 msg/sec OptimistAtomicQueueB, 2,i: 31,881,031 msg/sec OptimistAtomicQueueB, 3,s: 36,147,994 msg/sec OptimistAtomicQueueB, 3,i: 36,866,380 msg/sec OptimistAtomicQueueB, 4,s: 38,628,624 msg/sec OptimistAtomicQueueB, 4,i: 38,781,188 msg/sec OptimistAtomicQueueB, 5,s: 41,086,346 msg/sec OptimistAtomicQueueB, 5,i: 45,391,540 msg/sec OptimistAtomicQueueB, 6,s: 40,914,512 msg/sec OptimistAtomicQueueB, 6,i: 49,127,844 msg/sec OptimistAtomicQueueB, 7,s: 41,908,859 msg/sec OptimistAtomicQueueB, 7,i: 50,801,583 msg/sec OptimistAtomicQueueB, 8,s: 44,375,237 msg/sec OptimistAtomicQueueB, 8,i: 48,416,742 msg/sec AtomicQueue2, 1,s: 23,098,398 msg/sec AtomicQueue2, 1,i: 23,061,387 msg/sec AtomicQueue2, 2,s: 11,854,397 msg/sec AtomicQueue2, 2,i: 11,426,058 msg/sec AtomicQueue2, 3,s: 9,348,410 msg/sec AtomicQueue2, 3,i: 9,389,856 msg/sec AtomicQueue2, 4,s: 8,052,766 msg/sec AtomicQueue2, 4,i: 8,115,759 msg/sec AtomicQueue2, 5,s: 7,905,820 msg/sec AtomicQueue2, 5,i: 8,025,000 msg/sec AtomicQueue2, 6,s: 7,775,276 msg/sec AtomicQueue2, 6,i: 7,535,802 msg/sec AtomicQueue2, 7,s: 7,103,885 msg/sec AtomicQueue2, 7,i: 7,867,875 msg/sec AtomicQueue2, 8,s: 6,362,481 msg/sec AtomicQueue2, 8,i: 7,306,135 msg/sec AtomicQueueB2, 1,s: 36,228,003 msg/sec AtomicQueueB2, 1,i: 32,640,509 msg/sec AtomicQueueB2, 2,s: 11,437,330 msg/sec AtomicQueueB2, 2,i: 11,119,561 msg/sec AtomicQueueB2, 3,s: 9,675,889 msg/sec AtomicQueueB2, 3,i: 9,628,275 msg/sec AtomicQueueB2, 4,s: 7,937,694 msg/sec AtomicQueueB2, 4,i: 7,898,965 msg/sec AtomicQueueB2, 5,s: 7,389,391 msg/sec AtomicQueueB2, 5,i: 7,712,414 msg/sec AtomicQueueB2, 6,s: 7,266,829 msg/sec AtomicQueueB2, 6,i: 7,422,692 msg/sec AtomicQueueB2, 7,s: 6,863,543 msg/sec AtomicQueueB2, 7,i: 7,727,027 msg/sec AtomicQueueB2, 8,s: 6,345,862 msg/sec AtomicQueueB2, 8,i: 7,089,736 msg/sec OptimistAtomicQueue2, 1,s: 626,675,868 msg/sec OptimistAtomicQueue2, 1,i: 32,204,578 msg/sec OptimistAtomicQueue2, 2,s: 26,220,089 msg/sec OptimistAtomicQueue2, 2,i: 24,013,686 msg/sec OptimistAtomicQueue2, 3,s: 30,333,561 msg/sec OptimistAtomicQueue2, 3,i: 29,957,595 msg/sec OptimistAtomicQueue2, 4,s: 33,235,452 msg/sec OptimistAtomicQueue2, 4,i: 33,150,059 msg/sec OptimistAtomicQueue2, 5,s: 37,612,753 msg/sec OptimistAtomicQueue2, 5,i: 41,119,382 msg/sec OptimistAtomicQueue2, 6,s: 40,344,860 msg/sec OptimistAtomicQueue2, 6,i: 49,327,091 msg/sec OptimistAtomicQueue2, 7,s: 43,206,298 msg/sec OptimistAtomicQueue2, 7,i: 51,262,424 msg/sec OptimistAtomicQueue2, 8,s: 43,752,785 msg/sec OptimistAtomicQueue2, 8,i: 47,983,954 msg/sec OptimistAtomicQueueB2, 1,s: 76,557,788 msg/sec OptimistAtomicQueueB2, 1,i: 67,834,076 msg/sec OptimistAtomicQueueB2, 2,s: 26,464,294 msg/sec OptimistAtomicQueueB2, 2,i: 24,472,442 msg/sec OptimistAtomicQueueB2, 3,s: 31,837,066 msg/sec OptimistAtomicQueueB2, 3,i: 29,127,869 msg/sec OptimistAtomicQueueB2, 4,s: 33,135,934 msg/sec OptimistAtomicQueueB2, 4,i: 31,899,640 msg/sec OptimistAtomicQueueB2, 5,s: 34,331,870 msg/sec OptimistAtomicQueueB2, 5,i: 39,288,903 msg/sec OptimistAtomicQueueB2, 6,s: 37,296,287 msg/sec OptimistAtomicQueueB2, 6,i: 42,517,992 msg/sec OptimistAtomicQueueB2, 7,s: 40,228,586 msg/sec OptimistAtomicQueueB2, 7,i: 43,226,045 msg/sec OptimistAtomicQueueB2, 8,s: 42,454,644 msg/sec OptimistAtomicQueueB2, 8,i: 46,559,655 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000122 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000380 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [143] 292m:41s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,798,580 msg/sec boost::lockfree::spsc_queue, 1,i: 67,248,414 msg/sec boost::lockfree::queue, 1,s: 6,824,403 msg/sec boost::lockfree::queue, 1,i: 6,764,733 msg/sec boost::lockfree::queue, 2,s: 7,607,582 msg/sec boost::lockfree::queue, 2,i: 7,565,509 msg/sec boost::lockfree::queue, 3,s: 7,534,944 msg/sec boost::lockfree::queue, 3,i: 7,567,347 msg/sec boost::lockfree::queue, 4,s: 6,421,840 msg/sec boost::lockfree::queue, 4,i: 6,757,879 msg/sec boost::lockfree::queue, 5,s: 6,504,783 msg/sec boost::lockfree::queue, 5,i: 6,467,342 msg/sec boost::lockfree::queue, 6,s: 5,984,155 msg/sec boost::lockfree::queue, 6,i: 6,159,438 msg/sec boost::lockfree::queue, 7,s: 5,962,382 msg/sec boost::lockfree::queue, 7,i: 6,039,737 msg/sec boost::lockfree::queue, 8,s: 5,464,604 msg/sec boost::lockfree::queue, 8,i: 5,587,542 msg/sec moodycamel::ReaderWriterQueue, 1,s: 313,396,730 msg/sec moodycamel::ReaderWriterQueue, 1,i: 339,140,550 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,108,151 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,397,668 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,669,085 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,753,435 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,245,810 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,220,273 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,072,734 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,939,036 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,058,507 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,243,976 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,090,989 msg/sec moodycamel::ConcurrentQueue, 6,i: 47,328,399 msg/sec moodycamel::ConcurrentQueue, 7,s: 30,963,227 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,057,660 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,279,885 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,704,024 msg/sec pthread_spinlock, 1,s: 28,716,745 msg/sec pthread_spinlock, 1,i: 25,324,380 msg/sec pthread_spinlock, 2,s: 15,517,776 msg/sec pthread_spinlock, 2,i: 17,009,262 msg/sec pthread_spinlock, 3,s: 8,394,466 msg/sec pthread_spinlock, 3,i: 12,194,423 msg/sec pthread_spinlock, 4,s: 6,440,422 msg/sec pthread_spinlock, 4,i: 9,213,700 msg/sec pthread_spinlock, 5,s: 8,750,094 msg/sec pthread_spinlock, 5,i: 9,078,762 msg/sec pthread_spinlock, 6,s: 8,336,489 msg/sec pthread_spinlock, 6,i: 8,474,920 msg/sec pthread_spinlock, 7,s: 7,660,973 msg/sec pthread_spinlock, 7,i: 7,542,550 msg/sec pthread_spinlock, 8,s: 6,687,184 msg/sec pthread_spinlock, 8,i: 6,816,390 msg/sec std::mutex, 1,s: 6,696,236 msg/sec std::mutex, 1,i: 7,031,182 msg/sec std::mutex, 2,s: 6,337,814 msg/sec std::mutex, 2,i: 6,091,470 msg/sec std::mutex, 3,s: 5,453,987 msg/sec std::mutex, 3,i: 5,937,750 msg/sec std::mutex, 4,s: 6,212,589 msg/sec std::mutex, 4,i: 6,175,892 msg/sec std::mutex, 5,s: 5,942,765 msg/sec std::mutex, 5,i: 6,006,740 msg/sec std::mutex, 6,s: 5,903,899 msg/sec std::mutex, 6,i: 5,732,897 msg/sec std::mutex, 7,s: 5,756,736 msg/sec std::mutex, 7,i: 5,703,413 msg/sec std::mutex, 8,s: 5,609,104 msg/sec std::mutex, 8,i: 5,661,463 msg/sec tbb::spin_mutex, 1,s: 37,911,737 msg/sec tbb::spin_mutex, 1,i: 32,972,587 msg/sec tbb::spin_mutex, 2,s: 21,117,921 msg/sec tbb::spin_mutex, 2,i: 18,524,517 msg/sec tbb::spin_mutex, 3,s: 7,304,852 msg/sec tbb::spin_mutex, 3,i: 10,288,538 msg/sec tbb::spin_mutex, 4,s: 3,152,561 msg/sec tbb::spin_mutex, 4,i: 6,281,089 msg/sec tbb::spin_mutex, 5,s: 5,432,149 msg/sec tbb::spin_mutex, 5,i: 5,418,962 msg/sec tbb::spin_mutex, 6,s: 5,357,463 msg/sec tbb::spin_mutex, 6,i: 4,348,652 msg/sec tbb::spin_mutex, 7,s: 4,832,804 msg/sec tbb::spin_mutex, 7,i: 4,355,853 msg/sec tbb::spin_mutex, 8,s: 3,874,133 msg/sec tbb::spin_mutex, 8,i: 4,175,310 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,333,371 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,305,559 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,610,379 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,071,187 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,373,810 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,526,205 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,144,256 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,473,358 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,591,010 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,539,686 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,697,315 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,700,289 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,844,846 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,816,841 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,110,906 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,086,900 msg/sec xenium::michael_scott_queue, 1,s: 8,985,753 msg/sec xenium::michael_scott_queue, 1,i: 8,960,366 msg/sec xenium::michael_scott_queue, 2,s: 8,366,389 msg/sec xenium::michael_scott_queue, 2,i: 8,291,875 msg/sec xenium::michael_scott_queue, 3,s: 7,173,685 msg/sec xenium::michael_scott_queue, 3,i: 7,571,902 msg/sec xenium::michael_scott_queue, 4,s: 6,304,453 msg/sec xenium::michael_scott_queue, 4,i: 6,320,925 msg/sec xenium::michael_scott_queue, 5,s: 6,301,070 msg/sec xenium::michael_scott_queue, 5,i: 6,617,509 msg/sec xenium::michael_scott_queue, 6,s: 6,590,680 msg/sec xenium::michael_scott_queue, 6,i: 6,971,865 msg/sec xenium::michael_scott_queue, 7,s: 6,326,298 msg/sec xenium::michael_scott_queue, 7,i: 6,502,290 msg/sec xenium::michael_scott_queue, 8,s: 5,995,697 msg/sec xenium::michael_scott_queue, 8,i: 6,048,997 msg/sec xenium::ramalhete_queue, 1,s: 32,176,775 msg/sec xenium::ramalhete_queue, 1,i: 31,902,170 msg/sec xenium::ramalhete_queue, 2,s: 23,553,199 msg/sec xenium::ramalhete_queue, 2,i: 23,307,484 msg/sec xenium::ramalhete_queue, 3,s: 29,155,228 msg/sec xenium::ramalhete_queue, 3,i: 28,492,292 msg/sec xenium::ramalhete_queue, 4,s: 33,779,467 msg/sec xenium::ramalhete_queue, 4,i: 33,465,279 msg/sec xenium::ramalhete_queue, 5,s: 31,900,980 msg/sec xenium::ramalhete_queue, 5,i: 35,936,207 msg/sec xenium::ramalhete_queue, 6,s: 34,272,346 msg/sec xenium::ramalhete_queue, 6,i: 38,935,357 msg/sec xenium::ramalhete_queue, 7,s: 34,875,766 msg/sec xenium::ramalhete_queue, 7,i: 41,159,315 msg/sec xenium::ramalhete_queue, 8,s: 35,468,142 msg/sec xenium::ramalhete_queue, 8,i: 43,526,220 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,935,937 msg/sec xenium::vyukov_bounded_queue, 1,i: 64,800,048 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,718,578 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,863,328 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,627,896 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,987,046 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,614,166 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,242,609 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,462,959 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,238,286 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,022,133 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,616,330 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,139,298 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,895,610 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,424,996 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,360,186 msg/sec AtomicQueue, 1,s: 59,156,219 msg/sec AtomicQueue, 1,i: 56,713,068 msg/sec AtomicQueue, 2,s: 12,284,800 msg/sec AtomicQueue, 2,i: 11,732,661 msg/sec AtomicQueue, 3,s: 10,754,625 msg/sec AtomicQueue, 3,i: 9,948,470 msg/sec AtomicQueue, 4,s: 8,201,669 msg/sec AtomicQueue, 4,i: 8,196,951 msg/sec AtomicQueue, 5,s: 8,038,381 msg/sec AtomicQueue, 5,i: 8,068,986 msg/sec AtomicQueue, 6,s: 7,818,990 msg/sec AtomicQueue, 6,i: 7,611,593 msg/sec AtomicQueue, 7,s: 7,234,877 msg/sec AtomicQueue, 7,i: 8,001,048 msg/sec AtomicQueue, 8,s: 6,351,426 msg/sec AtomicQueue, 8,i: 7,444,466 msg/sec AtomicQueueB, 1,s: 44,363,990 msg/sec AtomicQueueB, 1,i: 55,564,308 msg/sec AtomicQueueB, 2,s: 11,792,329 msg/sec AtomicQueueB, 2,i: 11,436,748 msg/sec AtomicQueueB, 3,s: 11,038,413 msg/sec AtomicQueueB, 3,i: 10,209,142 msg/sec AtomicQueueB, 4,s: 8,124,983 msg/sec AtomicQueueB, 4,i: 8,022,453 msg/sec AtomicQueueB, 5,s: 7,586,564 msg/sec AtomicQueueB, 5,i: 7,888,400 msg/sec AtomicQueueB, 6,s: 7,312,412 msg/sec AtomicQueueB, 6,i: 7,529,012 msg/sec AtomicQueueB, 7,s: 6,914,755 msg/sec AtomicQueueB, 7,i: 7,743,769 msg/sec AtomicQueueB, 8,s: 6,190,071 msg/sec AtomicQueueB, 8,i: 7,116,523 msg/sec OptimistAtomicQueue, 1,s: 690,867,645 msg/sec OptimistAtomicQueue, 1,i: 566,067,908 msg/sec OptimistAtomicQueue, 2,s: 32,639,094 msg/sec OptimistAtomicQueue, 2,i: 32,733,459 msg/sec OptimistAtomicQueue, 3,s: 36,676,555 msg/sec OptimistAtomicQueue, 3,i: 37,448,320 msg/sec OptimistAtomicQueue, 4,s: 39,287,684 msg/sec OptimistAtomicQueue, 4,i: 39,299,768 msg/sec OptimistAtomicQueue, 5,s: 41,720,196 msg/sec OptimistAtomicQueue, 5,i: 46,510,986 msg/sec OptimistAtomicQueue, 6,s: 42,276,614 msg/sec OptimistAtomicQueue, 6,i: 50,435,973 msg/sec OptimistAtomicQueue, 7,s: 45,247,118 msg/sec OptimistAtomicQueue, 7,i: 52,998,914 msg/sec OptimistAtomicQueue, 8,s: 46,387,318 msg/sec OptimistAtomicQueue, 8,i: 49,675,513 msg/sec OptimistAtomicQueueB, 1,s: 96,269,251 msg/sec OptimistAtomicQueueB, 1,i: 193,985,800 msg/sec OptimistAtomicQueueB, 2,s: 32,191,404 msg/sec OptimistAtomicQueueB, 2,i: 32,242,608 msg/sec OptimistAtomicQueueB, 3,s: 36,312,714 msg/sec OptimistAtomicQueueB, 3,i: 36,898,810 msg/sec OptimistAtomicQueueB, 4,s: 38,698,669 msg/sec OptimistAtomicQueueB, 4,i: 38,673,085 msg/sec OptimistAtomicQueueB, 5,s: 41,076,668 msg/sec OptimistAtomicQueueB, 5,i: 46,214,193 msg/sec OptimistAtomicQueueB, 6,s: 41,164,146 msg/sec OptimistAtomicQueueB, 6,i: 48,778,690 msg/sec OptimistAtomicQueueB, 7,s: 41,584,725 msg/sec OptimistAtomicQueueB, 7,i: 50,437,114 msg/sec OptimistAtomicQueueB, 8,s: 44,431,488 msg/sec OptimistAtomicQueueB, 8,i: 48,093,707 msg/sec AtomicQueue2, 1,s: 22,925,671 msg/sec AtomicQueue2, 1,i: 22,857,659 msg/sec AtomicQueue2, 2,s: 11,898,929 msg/sec AtomicQueue2, 2,i: 11,374,198 msg/sec AtomicQueue2, 3,s: 9,577,746 msg/sec AtomicQueue2, 3,i: 9,522,737 msg/sec AtomicQueue2, 4,s: 8,040,358 msg/sec AtomicQueue2, 4,i: 8,059,443 msg/sec AtomicQueue2, 5,s: 7,951,648 msg/sec AtomicQueue2, 5,i: 8,019,607 msg/sec AtomicQueue2, 6,s: 7,776,977 msg/sec AtomicQueue2, 6,i: 7,528,752 msg/sec AtomicQueue2, 7,s: 7,091,501 msg/sec AtomicQueue2, 7,i: 7,890,665 msg/sec AtomicQueue2, 8,s: 6,370,361 msg/sec AtomicQueue2, 8,i: 7,374,912 msg/sec AtomicQueueB2, 1,s: 36,027,958 msg/sec AtomicQueueB2, 1,i: 32,623,544 msg/sec AtomicQueueB2, 2,s: 11,488,496 msg/sec AtomicQueueB2, 2,i: 11,113,229 msg/sec AtomicQueueB2, 3,s: 9,661,524 msg/sec AtomicQueueB2, 3,i: 9,518,277 msg/sec AtomicQueueB2, 4,s: 7,929,773 msg/sec AtomicQueueB2, 4,i: 7,845,588 msg/sec AtomicQueueB2, 5,s: 7,371,706 msg/sec AtomicQueueB2, 5,i: 7,765,054 msg/sec AtomicQueueB2, 6,s: 7,225,393 msg/sec AtomicQueueB2, 6,i: 7,457,582 msg/sec AtomicQueueB2, 7,s: 6,840,615 msg/sec AtomicQueueB2, 7,i: 7,667,199 msg/sec AtomicQueueB2, 8,s: 6,274,164 msg/sec AtomicQueueB2, 8,i: 7,079,682 msg/sec OptimistAtomicQueue2, 1,s: 166,273,817 msg/sec OptimistAtomicQueue2, 1,i: 125,908,869 msg/sec OptimistAtomicQueue2, 2,s: 24,614,297 msg/sec OptimistAtomicQueue2, 2,i: 24,026,973 msg/sec OptimistAtomicQueue2, 3,s: 30,342,303 msg/sec OptimistAtomicQueue2, 3,i: 29,946,918 msg/sec OptimistAtomicQueue2, 4,s: 33,208,777 msg/sec OptimistAtomicQueue2, 4,i: 32,986,238 msg/sec OptimistAtomicQueue2, 5,s: 37,841,044 msg/sec OptimistAtomicQueue2, 5,i: 40,452,480 msg/sec OptimistAtomicQueue2, 6,s: 39,868,281 msg/sec OptimistAtomicQueue2, 6,i: 49,057,043 msg/sec OptimistAtomicQueue2, 7,s: 43,027,506 msg/sec OptimistAtomicQueue2, 7,i: 51,471,200 msg/sec OptimistAtomicQueue2, 8,s: 43,836,696 msg/sec OptimistAtomicQueue2, 8,i: 48,419,143 msg/sec OptimistAtomicQueueB2, 1,s: 76,976,858 msg/sec OptimistAtomicQueueB2, 1,i: 33,940,955 msg/sec OptimistAtomicQueueB2, 2,s: 29,621,069 msg/sec OptimistAtomicQueueB2, 2,i: 23,860,876 msg/sec OptimistAtomicQueueB2, 3,s: 29,731,040 msg/sec OptimistAtomicQueueB2, 3,i: 30,096,147 msg/sec OptimistAtomicQueueB2, 4,s: 32,354,706 msg/sec OptimistAtomicQueueB2, 4,i: 32,831,005 msg/sec OptimistAtomicQueueB2, 5,s: 34,572,111 msg/sec OptimistAtomicQueueB2, 5,i: 39,703,306 msg/sec OptimistAtomicQueueB2, 6,s: 37,307,842 msg/sec OptimistAtomicQueueB2, 6,i: 42,371,470 msg/sec OptimistAtomicQueueB2, 7,s: 40,180,904 msg/sec OptimistAtomicQueueB2, 7,i: 45,598,651 msg/sec OptimistAtomicQueueB2, 8,s: 42,416,090 msg/sec OptimistAtomicQueueB2, 8,i: 45,809,211 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000129 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000146 sec/round-trip moodycamel::ConcurrentQueue: 0.000000222 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000286 sec/round-trip tbb::concurrent_bounded_queue: 0.000000303 sec/round-trip xenium::michael_scott_queue: 0.000000379 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [144] 291m:22s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 72,454,700 msg/sec boost::lockfree::spsc_queue, 1,i: 72,695,628 msg/sec boost::lockfree::queue, 1,s: 7,981,165 msg/sec boost::lockfree::queue, 1,i: 8,071,357 msg/sec boost::lockfree::queue, 2,s: 7,538,876 msg/sec boost::lockfree::queue, 2,i: 7,474,156 msg/sec boost::lockfree::queue, 3,s: 7,342,528 msg/sec boost::lockfree::queue, 3,i: 7,600,511 msg/sec boost::lockfree::queue, 4,s: 6,413,626 msg/sec boost::lockfree::queue, 4,i: 6,767,282 msg/sec boost::lockfree::queue, 5,s: 6,432,520 msg/sec boost::lockfree::queue, 5,i: 6,519,126 msg/sec boost::lockfree::queue, 6,s: 5,962,351 msg/sec boost::lockfree::queue, 6,i: 6,109,358 msg/sec boost::lockfree::queue, 7,s: 5,956,434 msg/sec boost::lockfree::queue, 7,i: 6,051,050 msg/sec boost::lockfree::queue, 8,s: 5,340,421 msg/sec boost::lockfree::queue, 8,i: 5,563,244 msg/sec moodycamel::ReaderWriterQueue, 1,s: 325,445,139 msg/sec moodycamel::ReaderWriterQueue, 1,i: 139,187,276 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,341,892 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,804,036 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,345,524 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,353,827 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,670,048 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,442,321 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,285,559 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,524,162 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,244,240 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,696,555 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,596,915 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,342,804 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,935,404 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,709,572 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,230,626 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,563,045 msg/sec pthread_spinlock, 1,s: 29,027,833 msg/sec pthread_spinlock, 1,i: 27,902,010 msg/sec pthread_spinlock, 2,s: 15,505,469 msg/sec pthread_spinlock, 2,i: 17,087,975 msg/sec pthread_spinlock, 3,s: 8,373,752 msg/sec pthread_spinlock, 3,i: 12,031,062 msg/sec pthread_spinlock, 4,s: 6,521,214 msg/sec pthread_spinlock, 4,i: 8,974,057 msg/sec pthread_spinlock, 5,s: 8,723,776 msg/sec pthread_spinlock, 5,i: 10,345,033 msg/sec pthread_spinlock, 6,s: 8,361,764 msg/sec pthread_spinlock, 6,i: 9,239,229 msg/sec pthread_spinlock, 7,s: 7,563,456 msg/sec pthread_spinlock, 7,i: 7,559,430 msg/sec pthread_spinlock, 8,s: 6,775,043 msg/sec pthread_spinlock, 8,i: 6,962,647 msg/sec std::mutex, 1,s: 6,488,514 msg/sec std::mutex, 1,i: 7,004,138 msg/sec std::mutex, 2,s: 5,456,101 msg/sec std::mutex, 2,i: 5,668,024 msg/sec std::mutex, 3,s: 5,035,989 msg/sec std::mutex, 3,i: 5,173,297 msg/sec std::mutex, 4,s: 5,918,073 msg/sec std::mutex, 4,i: 6,246,990 msg/sec std::mutex, 5,s: 6,031,999 msg/sec std::mutex, 5,i: 6,009,895 msg/sec std::mutex, 6,s: 5,846,388 msg/sec std::mutex, 6,i: 5,975,345 msg/sec std::mutex, 7,s: 5,764,763 msg/sec std::mutex, 7,i: 5,753,627 msg/sec std::mutex, 8,s: 5,621,974 msg/sec std::mutex, 8,i: 5,634,278 msg/sec tbb::spin_mutex, 1,s: 37,786,883 msg/sec tbb::spin_mutex, 1,i: 33,044,241 msg/sec tbb::spin_mutex, 2,s: 21,207,830 msg/sec tbb::spin_mutex, 2,i: 18,426,695 msg/sec tbb::spin_mutex, 3,s: 7,555,515 msg/sec tbb::spin_mutex, 3,i: 10,732,548 msg/sec tbb::spin_mutex, 4,s: 3,222,121 msg/sec tbb::spin_mutex, 4,i: 6,278,766 msg/sec tbb::spin_mutex, 5,s: 5,444,875 msg/sec tbb::spin_mutex, 5,i: 5,431,670 msg/sec tbb::spin_mutex, 6,s: 5,283,794 msg/sec tbb::spin_mutex, 6,i: 4,354,768 msg/sec tbb::spin_mutex, 7,s: 4,847,490 msg/sec tbb::spin_mutex, 7,i: 4,387,139 msg/sec tbb::spin_mutex, 8,s: 4,256,598 msg/sec tbb::spin_mutex, 8,i: 4,084,447 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,589,959 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,059,316 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,001,400 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,769,428 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,007,435 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,714,088 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,318,315 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,220,831 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,684,204 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,184,686 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,898,179 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,427,394 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,893,358 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,560,001 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,041,579 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,704,459 msg/sec xenium::michael_scott_queue, 1,s: 10,144,629 msg/sec xenium::michael_scott_queue, 1,i: 10,148,343 msg/sec xenium::michael_scott_queue, 2,s: 8,516,566 msg/sec xenium::michael_scott_queue, 2,i: 8,467,731 msg/sec xenium::michael_scott_queue, 3,s: 7,169,648 msg/sec xenium::michael_scott_queue, 3,i: 7,545,231 msg/sec xenium::michael_scott_queue, 4,s: 6,295,398 msg/sec xenium::michael_scott_queue, 4,i: 6,338,226 msg/sec xenium::michael_scott_queue, 5,s: 6,320,945 msg/sec xenium::michael_scott_queue, 5,i: 6,732,936 msg/sec xenium::michael_scott_queue, 6,s: 6,525,182 msg/sec xenium::michael_scott_queue, 6,i: 6,807,419 msg/sec xenium::michael_scott_queue, 7,s: 6,341,649 msg/sec xenium::michael_scott_queue, 7,i: 6,546,875 msg/sec xenium::michael_scott_queue, 8,s: 6,088,203 msg/sec xenium::michael_scott_queue, 8,i: 6,271,957 msg/sec xenium::ramalhete_queue, 1,s: 32,962,003 msg/sec xenium::ramalhete_queue, 1,i: 32,675,263 msg/sec xenium::ramalhete_queue, 2,s: 23,820,759 msg/sec xenium::ramalhete_queue, 2,i: 23,414,512 msg/sec xenium::ramalhete_queue, 3,s: 29,360,879 msg/sec xenium::ramalhete_queue, 3,i: 28,538,273 msg/sec xenium::ramalhete_queue, 4,s: 33,898,215 msg/sec xenium::ramalhete_queue, 4,i: 33,538,130 msg/sec xenium::ramalhete_queue, 5,s: 32,083,651 msg/sec xenium::ramalhete_queue, 5,i: 38,445,384 msg/sec xenium::ramalhete_queue, 6,s: 33,999,633 msg/sec xenium::ramalhete_queue, 6,i: 38,856,424 msg/sec xenium::ramalhete_queue, 7,s: 34,794,528 msg/sec xenium::ramalhete_queue, 7,i: 40,939,799 msg/sec xenium::ramalhete_queue, 8,s: 35,467,364 msg/sec xenium::ramalhete_queue, 8,i: 44,623,462 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,322,226 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,775,977 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,648,877 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,156,050 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,633,945 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,147,721 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,620,693 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,243,293 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,834,025 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,339,914 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,190,977 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,492,277 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,266,674 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,001,631 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,425,223 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,345,002 msg/sec AtomicQueue, 1,s: 60,651,806 msg/sec AtomicQueue, 1,i: 57,018,120 msg/sec AtomicQueue, 2,s: 12,325,253 msg/sec AtomicQueue, 2,i: 11,716,851 msg/sec AtomicQueue, 3,s: 10,741,476 msg/sec AtomicQueue, 3,i: 9,844,730 msg/sec AtomicQueue, 4,s: 8,176,867 msg/sec AtomicQueue, 4,i: 8,172,949 msg/sec AtomicQueue, 5,s: 7,977,672 msg/sec AtomicQueue, 5,i: 8,083,917 msg/sec AtomicQueue, 6,s: 7,652,616 msg/sec AtomicQueue, 6,i: 7,609,319 msg/sec AtomicQueue, 7,s: 7,074,946 msg/sec AtomicQueue, 7,i: 7,979,870 msg/sec AtomicQueue, 8,s: 6,345,734 msg/sec AtomicQueue, 8,i: 7,446,730 msg/sec AtomicQueueB, 1,s: 46,908,595 msg/sec AtomicQueueB, 1,i: 43,837,798 msg/sec AtomicQueueB, 2,s: 11,746,850 msg/sec AtomicQueueB, 2,i: 11,441,975 msg/sec AtomicQueueB, 3,s: 10,998,364 msg/sec AtomicQueueB, 3,i: 10,222,213 msg/sec AtomicQueueB, 4,s: 8,010,178 msg/sec AtomicQueueB, 4,i: 8,077,400 msg/sec AtomicQueueB, 5,s: 7,561,648 msg/sec AtomicQueueB, 5,i: 7,893,207 msg/sec AtomicQueueB, 6,s: 7,453,832 msg/sec AtomicQueueB, 6,i: 7,503,573 msg/sec AtomicQueueB, 7,s: 6,878,365 msg/sec AtomicQueueB, 7,i: 7,738,585 msg/sec AtomicQueueB, 8,s: 6,255,263 msg/sec AtomicQueueB, 8,i: 7,150,716 msg/sec OptimistAtomicQueue, 1,s: 752,891,715 msg/sec OptimistAtomicQueue, 1,i: 579,235,507 msg/sec OptimistAtomicQueue, 2,s: 32,637,848 msg/sec OptimistAtomicQueue, 2,i: 32,176,225 msg/sec OptimistAtomicQueue, 3,s: 36,544,917 msg/sec OptimistAtomicQueue, 3,i: 37,407,648 msg/sec OptimistAtomicQueue, 4,s: 39,278,929 msg/sec OptimistAtomicQueue, 4,i: 39,336,877 msg/sec OptimistAtomicQueue, 5,s: 42,487,474 msg/sec OptimistAtomicQueue, 5,i: 48,561,644 msg/sec OptimistAtomicQueue, 6,s: 42,044,613 msg/sec OptimistAtomicQueue, 6,i: 49,719,403 msg/sec OptimistAtomicQueue, 7,s: 45,326,628 msg/sec OptimistAtomicQueue, 7,i: 53,075,961 msg/sec OptimistAtomicQueue, 8,s: 46,616,792 msg/sec OptimistAtomicQueue, 8,i: 48,845,493 msg/sec OptimistAtomicQueueB, 1,s: 291,436,431 msg/sec OptimistAtomicQueueB, 1,i: 122,006,181 msg/sec OptimistAtomicQueueB, 2,s: 32,171,966 msg/sec OptimistAtomicQueueB, 2,i: 32,219,777 msg/sec OptimistAtomicQueueB, 3,s: 36,271,253 msg/sec OptimistAtomicQueueB, 3,i: 36,935,775 msg/sec OptimistAtomicQueueB, 4,s: 38,655,023 msg/sec OptimistAtomicQueueB, 4,i: 38,597,051 msg/sec OptimistAtomicQueueB, 5,s: 40,992,042 msg/sec OptimistAtomicQueueB, 5,i: 45,258,656 msg/sec OptimistAtomicQueueB, 6,s: 41,049,740 msg/sec OptimistAtomicQueueB, 6,i: 49,006,197 msg/sec OptimistAtomicQueueB, 7,s: 42,374,485 msg/sec OptimistAtomicQueueB, 7,i: 51,493,123 msg/sec OptimistAtomicQueueB, 8,s: 44,360,909 msg/sec OptimistAtomicQueueB, 8,i: 48,389,351 msg/sec AtomicQueue2, 1,s: 22,853,966 msg/sec AtomicQueue2, 1,i: 22,871,281 msg/sec AtomicQueue2, 2,s: 11,785,990 msg/sec AtomicQueue2, 2,i: 11,543,016 msg/sec AtomicQueue2, 3,s: 9,790,772 msg/sec AtomicQueue2, 3,i: 9,449,569 msg/sec AtomicQueue2, 4,s: 8,051,682 msg/sec AtomicQueue2, 4,i: 8,020,344 msg/sec AtomicQueue2, 5,s: 7,926,971 msg/sec AtomicQueue2, 5,i: 7,986,232 msg/sec AtomicQueue2, 6,s: 7,759,186 msg/sec AtomicQueue2, 6,i: 7,535,465 msg/sec AtomicQueue2, 7,s: 7,122,692 msg/sec AtomicQueue2, 7,i: 7,995,642 msg/sec AtomicQueue2, 8,s: 6,381,403 msg/sec AtomicQueue2, 8,i: 7,204,077 msg/sec AtomicQueueB2, 1,s: 36,075,290 msg/sec AtomicQueueB2, 1,i: 32,632,210 msg/sec AtomicQueueB2, 2,s: 11,471,016 msg/sec AtomicQueueB2, 2,i: 11,073,601 msg/sec AtomicQueueB2, 3,s: 9,589,992 msg/sec AtomicQueueB2, 3,i: 9,487,160 msg/sec AtomicQueueB2, 4,s: 7,960,705 msg/sec AtomicQueueB2, 4,i: 7,862,803 msg/sec AtomicQueueB2, 5,s: 7,339,485 msg/sec AtomicQueueB2, 5,i: 7,613,423 msg/sec AtomicQueueB2, 6,s: 7,315,133 msg/sec AtomicQueueB2, 6,i: 7,459,416 msg/sec AtomicQueueB2, 7,s: 6,873,848 msg/sec AtomicQueueB2, 7,i: 7,713,802 msg/sec AtomicQueueB2, 8,s: 6,308,728 msg/sec AtomicQueueB2, 8,i: 7,103,815 msg/sec OptimistAtomicQueue2, 1,s: 33,670,457 msg/sec OptimistAtomicQueue2, 1,i: 29,655,333 msg/sec OptimistAtomicQueue2, 2,s: 26,358,910 msg/sec OptimistAtomicQueue2, 2,i: 24,019,565 msg/sec OptimistAtomicQueue2, 3,s: 30,469,472 msg/sec OptimistAtomicQueue2, 3,i: 29,939,820 msg/sec OptimistAtomicQueue2, 4,s: 33,131,848 msg/sec OptimistAtomicQueue2, 4,i: 33,281,034 msg/sec OptimistAtomicQueue2, 5,s: 37,302,617 msg/sec OptimistAtomicQueue2, 5,i: 40,342,069 msg/sec OptimistAtomicQueue2, 6,s: 40,053,691 msg/sec OptimistAtomicQueue2, 6,i: 49,155,197 msg/sec OptimistAtomicQueue2, 7,s: 43,022,427 msg/sec OptimistAtomicQueue2, 7,i: 51,472,184 msg/sec OptimistAtomicQueue2, 8,s: 43,801,811 msg/sec OptimistAtomicQueue2, 8,i: 47,935,215 msg/sec OptimistAtomicQueueB2, 1,s: 78,255,561 msg/sec OptimistAtomicQueueB2, 1,i: 33,871,237 msg/sec OptimistAtomicQueueB2, 2,s: 26,871,374 msg/sec OptimistAtomicQueueB2, 2,i: 26,051,923 msg/sec OptimistAtomicQueueB2, 3,s: 29,685,557 msg/sec OptimistAtomicQueueB2, 3,i: 29,851,690 msg/sec OptimistAtomicQueueB2, 4,s: 33,366,741 msg/sec OptimistAtomicQueueB2, 4,i: 32,130,184 msg/sec OptimistAtomicQueueB2, 5,s: 34,633,692 msg/sec OptimistAtomicQueueB2, 5,i: 39,156,984 msg/sec OptimistAtomicQueueB2, 6,s: 37,689,951 msg/sec OptimistAtomicQueueB2, 6,i: 42,539,890 msg/sec OptimistAtomicQueueB2, 7,s: 40,187,136 msg/sec OptimistAtomicQueueB2, 7,i: 45,641,795 msg/sec OptimistAtomicQueueB2, 8,s: 42,194,200 msg/sec OptimistAtomicQueueB2, 8,i: 45,178,166 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000310 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000201 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [145] 290m:3s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,970,386 msg/sec boost::lockfree::spsc_queue, 1,i: 67,550,785 msg/sec boost::lockfree::queue, 1,s: 6,843,040 msg/sec boost::lockfree::queue, 1,i: 6,924,579 msg/sec boost::lockfree::queue, 2,s: 7,668,318 msg/sec boost::lockfree::queue, 2,i: 7,516,575 msg/sec boost::lockfree::queue, 3,s: 7,419,199 msg/sec boost::lockfree::queue, 3,i: 7,600,966 msg/sec boost::lockfree::queue, 4,s: 6,418,867 msg/sec boost::lockfree::queue, 4,i: 6,924,496 msg/sec boost::lockfree::queue, 5,s: 6,424,532 msg/sec boost::lockfree::queue, 5,i: 6,457,051 msg/sec boost::lockfree::queue, 6,s: 6,014,097 msg/sec boost::lockfree::queue, 6,i: 6,152,194 msg/sec boost::lockfree::queue, 7,s: 5,911,108 msg/sec boost::lockfree::queue, 7,i: 6,038,038 msg/sec boost::lockfree::queue, 8,s: 5,430,361 msg/sec boost::lockfree::queue, 8,i: 5,581,911 msg/sec moodycamel::ReaderWriterQueue, 1,s: 111,131,710 msg/sec moodycamel::ReaderWriterQueue, 1,i: 72,514,409 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,908,477 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,541,658 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,388,792 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,854,304 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,010,621 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,552,379 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,834,683 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,689,206 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,272,110 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,790,176 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,216,626 msg/sec moodycamel::ConcurrentQueue, 6,i: 54,290,789 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,111,028 msg/sec moodycamel::ConcurrentQueue, 7,i: 38,040,646 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,375,684 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,068,663 msg/sec pthread_spinlock, 1,s: 29,240,632 msg/sec pthread_spinlock, 1,i: 25,439,429 msg/sec pthread_spinlock, 2,s: 15,639,123 msg/sec pthread_spinlock, 2,i: 16,948,304 msg/sec pthread_spinlock, 3,s: 8,335,360 msg/sec pthread_spinlock, 3,i: 12,082,117 msg/sec pthread_spinlock, 4,s: 6,516,143 msg/sec pthread_spinlock, 4,i: 9,002,769 msg/sec pthread_spinlock, 5,s: 8,790,810 msg/sec pthread_spinlock, 5,i: 9,010,526 msg/sec pthread_spinlock, 6,s: 8,289,194 msg/sec pthread_spinlock, 6,i: 8,414,047 msg/sec pthread_spinlock, 7,s: 7,562,551 msg/sec pthread_spinlock, 7,i: 7,910,164 msg/sec pthread_spinlock, 8,s: 6,926,794 msg/sec pthread_spinlock, 8,i: 6,994,957 msg/sec std::mutex, 1,s: 6,223,064 msg/sec std::mutex, 1,i: 7,398,513 msg/sec std::mutex, 2,s: 6,120,598 msg/sec std::mutex, 2,i: 5,465,237 msg/sec std::mutex, 3,s: 5,262,890 msg/sec std::mutex, 3,i: 4,747,039 msg/sec std::mutex, 4,s: 5,206,600 msg/sec std::mutex, 4,i: 5,784,165 msg/sec std::mutex, 5,s: 5,877,291 msg/sec std::mutex, 5,i: 5,619,360 msg/sec std::mutex, 6,s: 5,987,068 msg/sec std::mutex, 6,i: 5,882,857 msg/sec std::mutex, 7,s: 5,873,166 msg/sec std::mutex, 7,i: 5,836,944 msg/sec std::mutex, 8,s: 5,764,811 msg/sec std::mutex, 8,i: 5,790,164 msg/sec tbb::spin_mutex, 1,s: 37,844,507 msg/sec tbb::spin_mutex, 1,i: 37,772,085 msg/sec tbb::spin_mutex, 2,s: 21,095,027 msg/sec tbb::spin_mutex, 2,i: 18,476,326 msg/sec tbb::spin_mutex, 3,s: 7,916,314 msg/sec tbb::spin_mutex, 3,i: 10,279,728 msg/sec tbb::spin_mutex, 4,s: 3,186,509 msg/sec tbb::spin_mutex, 4,i: 6,376,105 msg/sec tbb::spin_mutex, 5,s: 5,522,241 msg/sec tbb::spin_mutex, 5,i: 5,853,617 msg/sec tbb::spin_mutex, 6,s: 5,318,524 msg/sec tbb::spin_mutex, 6,i: 4,355,715 msg/sec tbb::spin_mutex, 7,s: 4,846,775 msg/sec tbb::spin_mutex, 7,i: 4,347,194 msg/sec tbb::spin_mutex, 8,s: 4,246,308 msg/sec tbb::spin_mutex, 8,i: 4,080,947 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,379,853 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,376,051 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,593,274 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,360,198 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,208,676 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,947,551 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,397,080 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,261,187 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,684,810 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,901,280 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,129,872 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,935,171 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,016,024 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,948,452 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,976,976 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,082,813 msg/sec xenium::michael_scott_queue, 1,s: 9,263,432 msg/sec xenium::michael_scott_queue, 1,i: 9,551,509 msg/sec xenium::michael_scott_queue, 2,s: 8,461,653 msg/sec xenium::michael_scott_queue, 2,i: 8,470,766 msg/sec xenium::michael_scott_queue, 3,s: 7,149,216 msg/sec xenium::michael_scott_queue, 3,i: 7,546,995 msg/sec xenium::michael_scott_queue, 4,s: 6,252,894 msg/sec xenium::michael_scott_queue, 4,i: 6,330,768 msg/sec xenium::michael_scott_queue, 5,s: 6,302,280 msg/sec xenium::michael_scott_queue, 5,i: 6,777,239 msg/sec xenium::michael_scott_queue, 6,s: 6,580,491 msg/sec xenium::michael_scott_queue, 6,i: 6,703,587 msg/sec xenium::michael_scott_queue, 7,s: 6,283,101 msg/sec xenium::michael_scott_queue, 7,i: 6,471,619 msg/sec xenium::michael_scott_queue, 8,s: 5,939,830 msg/sec xenium::michael_scott_queue, 8,i: 6,062,139 msg/sec xenium::ramalhete_queue, 1,s: 31,500,420 msg/sec xenium::ramalhete_queue, 1,i: 31,962,864 msg/sec xenium::ramalhete_queue, 2,s: 24,005,885 msg/sec xenium::ramalhete_queue, 2,i: 23,336,690 msg/sec xenium::ramalhete_queue, 3,s: 29,204,528 msg/sec xenium::ramalhete_queue, 3,i: 28,547,229 msg/sec xenium::ramalhete_queue, 4,s: 33,894,479 msg/sec xenium::ramalhete_queue, 4,i: 33,538,258 msg/sec xenium::ramalhete_queue, 5,s: 32,070,613 msg/sec xenium::ramalhete_queue, 5,i: 35,947,780 msg/sec xenium::ramalhete_queue, 6,s: 34,008,134 msg/sec xenium::ramalhete_queue, 6,i: 38,943,508 msg/sec xenium::ramalhete_queue, 7,s: 35,123,786 msg/sec xenium::ramalhete_queue, 7,i: 41,480,079 msg/sec xenium::ramalhete_queue, 8,s: 35,630,069 msg/sec xenium::ramalhete_queue, 8,i: 43,999,942 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,196,341 msg/sec xenium::vyukov_bounded_queue, 1,i: 105,139,173 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,774,192 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,464,388 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,587,200 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,895,288 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,525,199 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,154,599 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,887,444 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,363,822 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,058,113 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,167,292 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,255,817 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,896,574 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,392,642 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,237,346 msg/sec AtomicQueue, 1,s: 61,755,865 msg/sec AtomicQueue, 1,i: 57,148,846 msg/sec AtomicQueue, 2,s: 12,236,562 msg/sec AtomicQueue, 2,i: 11,749,668 msg/sec AtomicQueue, 3,s: 10,780,561 msg/sec AtomicQueue, 3,i: 9,910,887 msg/sec AtomicQueue, 4,s: 8,198,025 msg/sec AtomicQueue, 4,i: 8,200,186 msg/sec AtomicQueue, 5,s: 8,042,844 msg/sec AtomicQueue, 5,i: 8,128,027 msg/sec AtomicQueue, 6,s: 7,817,492 msg/sec AtomicQueue, 6,i: 7,608,177 msg/sec AtomicQueue, 7,s: 7,196,320 msg/sec AtomicQueue, 7,i: 7,967,711 msg/sec AtomicQueue, 8,s: 6,341,775 msg/sec AtomicQueue, 8,i: 7,488,818 msg/sec AtomicQueueB, 1,s: 94,023,139 msg/sec AtomicQueueB, 1,i: 42,991,315 msg/sec AtomicQueueB, 2,s: 11,844,884 msg/sec AtomicQueueB, 2,i: 11,510,160 msg/sec AtomicQueueB, 3,s: 11,000,921 msg/sec AtomicQueueB, 3,i: 10,195,340 msg/sec AtomicQueueB, 4,s: 8,039,919 msg/sec AtomicQueueB, 4,i: 7,886,151 msg/sec AtomicQueueB, 5,s: 7,683,483 msg/sec AtomicQueueB, 5,i: 7,769,972 msg/sec AtomicQueueB, 6,s: 7,268,782 msg/sec AtomicQueueB, 6,i: 7,514,980 msg/sec AtomicQueueB, 7,s: 6,917,155 msg/sec AtomicQueueB, 7,i: 7,745,500 msg/sec AtomicQueueB, 8,s: 6,207,801 msg/sec AtomicQueueB, 8,i: 7,139,057 msg/sec OptimistAtomicQueue, 1,s: 745,317,125 msg/sec OptimistAtomicQueue, 1,i: 519,338,342 msg/sec OptimistAtomicQueue, 2,s: 32,122,620 msg/sec OptimistAtomicQueue, 2,i: 32,196,697 msg/sec OptimistAtomicQueue, 3,s: 36,621,442 msg/sec OptimistAtomicQueue, 3,i: 37,313,401 msg/sec OptimistAtomicQueue, 4,s: 39,275,043 msg/sec OptimistAtomicQueue, 4,i: 39,409,420 msg/sec OptimistAtomicQueue, 5,s: 42,559,851 msg/sec OptimistAtomicQueue, 5,i: 46,093,974 msg/sec OptimistAtomicQueue, 6,s: 42,507,982 msg/sec OptimistAtomicQueue, 6,i: 50,305,206 msg/sec OptimistAtomicQueue, 7,s: 44,937,191 msg/sec OptimistAtomicQueue, 7,i: 51,996,436 msg/sec OptimistAtomicQueue, 8,s: 46,357,707 msg/sec OptimistAtomicQueue, 8,i: 50,218,070 msg/sec OptimistAtomicQueueB, 1,s: 77,801,514 msg/sec OptimistAtomicQueueB, 1,i: 76,476,439 msg/sec OptimistAtomicQueueB, 2,s: 32,205,217 msg/sec OptimistAtomicQueueB, 2,i: 32,221,066 msg/sec OptimistAtomicQueueB, 3,s: 36,329,626 msg/sec OptimistAtomicQueueB, 3,i: 36,714,836 msg/sec OptimistAtomicQueueB, 4,s: 38,662,508 msg/sec OptimistAtomicQueueB, 4,i: 38,570,814 msg/sec OptimistAtomicQueueB, 5,s: 41,115,517 msg/sec OptimistAtomicQueueB, 5,i: 46,172,488 msg/sec OptimistAtomicQueueB, 6,s: 41,144,555 msg/sec OptimistAtomicQueueB, 6,i: 49,225,987 msg/sec OptimistAtomicQueueB, 7,s: 42,766,159 msg/sec OptimistAtomicQueueB, 7,i: 51,480,118 msg/sec OptimistAtomicQueueB, 8,s: 44,904,575 msg/sec OptimistAtomicQueueB, 8,i: 48,400,654 msg/sec AtomicQueue2, 1,s: 22,957,270 msg/sec AtomicQueue2, 1,i: 22,861,274 msg/sec AtomicQueue2, 2,s: 11,817,041 msg/sec AtomicQueue2, 2,i: 11,633,102 msg/sec AtomicQueue2, 3,s: 9,382,317 msg/sec AtomicQueue2, 3,i: 9,523,695 msg/sec AtomicQueue2, 4,s: 8,111,955 msg/sec AtomicQueue2, 4,i: 8,082,752 msg/sec AtomicQueue2, 5,s: 7,922,392 msg/sec AtomicQueue2, 5,i: 8,031,119 msg/sec AtomicQueue2, 6,s: 7,696,132 msg/sec AtomicQueue2, 6,i: 7,523,219 msg/sec AtomicQueue2, 7,s: 7,125,951 msg/sec AtomicQueue2, 7,i: 7,851,153 msg/sec AtomicQueue2, 8,s: 6,371,940 msg/sec AtomicQueue2, 8,i: 7,364,226 msg/sec AtomicQueueB2, 1,s: 35,945,083 msg/sec AtomicQueueB2, 1,i: 32,624,645 msg/sec AtomicQueueB2, 2,s: 11,399,622 msg/sec AtomicQueueB2, 2,i: 11,128,421 msg/sec AtomicQueueB2, 3,s: 9,680,755 msg/sec AtomicQueueB2, 3,i: 9,374,309 msg/sec AtomicQueueB2, 4,s: 7,944,458 msg/sec AtomicQueueB2, 4,i: 7,869,220 msg/sec AtomicQueueB2, 5,s: 7,507,002 msg/sec AtomicQueueB2, 5,i: 7,676,889 msg/sec AtomicQueueB2, 6,s: 7,297,203 msg/sec AtomicQueueB2, 6,i: 7,431,426 msg/sec AtomicQueueB2, 7,s: 6,898,899 msg/sec AtomicQueueB2, 7,i: 7,711,972 msg/sec AtomicQueueB2, 8,s: 6,284,991 msg/sec AtomicQueueB2, 8,i: 7,089,430 msg/sec OptimistAtomicQueue2, 1,s: 487,760,801 msg/sec OptimistAtomicQueue2, 1,i: 31,878,810 msg/sec OptimistAtomicQueue2, 2,s: 24,759,207 msg/sec OptimistAtomicQueue2, 2,i: 24,018,699 msg/sec OptimistAtomicQueue2, 3,s: 30,494,022 msg/sec OptimistAtomicQueue2, 3,i: 29,936,956 msg/sec OptimistAtomicQueue2, 4,s: 33,164,358 msg/sec OptimistAtomicQueue2, 4,i: 33,981,536 msg/sec OptimistAtomicQueue2, 5,s: 36,994,756 msg/sec OptimistAtomicQueue2, 5,i: 40,851,906 msg/sec OptimistAtomicQueue2, 6,s: 40,218,960 msg/sec OptimistAtomicQueue2, 6,i: 49,121,097 msg/sec OptimistAtomicQueue2, 7,s: 43,246,787 msg/sec OptimistAtomicQueue2, 7,i: 48,245,257 msg/sec OptimistAtomicQueue2, 8,s: 44,461,080 msg/sec OptimistAtomicQueue2, 8,i: 47,855,383 msg/sec OptimistAtomicQueueB2, 1,s: 76,325,505 msg/sec OptimistAtomicQueueB2, 1,i: 40,048,417 msg/sec OptimistAtomicQueueB2, 2,s: 27,906,020 msg/sec OptimistAtomicQueueB2, 2,i: 24,121,933 msg/sec OptimistAtomicQueueB2, 3,s: 29,761,709 msg/sec OptimistAtomicQueueB2, 3,i: 29,083,752 msg/sec OptimistAtomicQueueB2, 4,s: 33,234,420 msg/sec OptimistAtomicQueueB2, 4,i: 31,875,947 msg/sec OptimistAtomicQueueB2, 5,s: 34,535,779 msg/sec OptimistAtomicQueueB2, 5,i: 39,004,337 msg/sec OptimistAtomicQueueB2, 6,s: 37,663,242 msg/sec OptimistAtomicQueueB2, 6,i: 41,732,543 msg/sec OptimistAtomicQueueB2, 7,s: 40,413,320 msg/sec OptimistAtomicQueueB2, 7,i: 45,401,241 msg/sec OptimistAtomicQueueB2, 8,s: 41,983,384 msg/sec OptimistAtomicQueueB2, 8,i: 46,536,084 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000139 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000456 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [146] 288m:43s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,013,231 msg/sec boost::lockfree::spsc_queue, 1,i: 67,304,825 msg/sec boost::lockfree::queue, 1,s: 6,901,139 msg/sec boost::lockfree::queue, 1,i: 6,867,051 msg/sec boost::lockfree::queue, 2,s: 7,671,436 msg/sec boost::lockfree::queue, 2,i: 7,498,508 msg/sec boost::lockfree::queue, 3,s: 7,526,406 msg/sec boost::lockfree::queue, 3,i: 7,603,108 msg/sec boost::lockfree::queue, 4,s: 6,422,479 msg/sec boost::lockfree::queue, 4,i: 6,745,269 msg/sec boost::lockfree::queue, 5,s: 6,382,292 msg/sec boost::lockfree::queue, 5,i: 6,512,678 msg/sec boost::lockfree::queue, 6,s: 5,978,454 msg/sec boost::lockfree::queue, 6,i: 6,141,729 msg/sec boost::lockfree::queue, 7,s: 5,833,738 msg/sec boost::lockfree::queue, 7,i: 5,980,654 msg/sec boost::lockfree::queue, 8,s: 5,474,136 msg/sec boost::lockfree::queue, 8,i: 5,540,323 msg/sec moodycamel::ReaderWriterQueue, 1,s: 474,226,501 msg/sec moodycamel::ReaderWriterQueue, 1,i: 177,207,311 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,926,522 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,030,619 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,179,465 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,025,964 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,522,218 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,786,173 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,110,947 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,228,336 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,433,930 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,724,378 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,565,958 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,962,869 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,121,825 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,621,318 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,226,862 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,207,201 msg/sec pthread_spinlock, 1,s: 28,875,266 msg/sec pthread_spinlock, 1,i: 29,047,509 msg/sec pthread_spinlock, 2,s: 15,417,191 msg/sec pthread_spinlock, 2,i: 18,272,271 msg/sec pthread_spinlock, 3,s: 8,421,450 msg/sec pthread_spinlock, 3,i: 11,992,834 msg/sec pthread_spinlock, 4,s: 6,444,792 msg/sec pthread_spinlock, 4,i: 9,124,487 msg/sec pthread_spinlock, 5,s: 8,517,617 msg/sec pthread_spinlock, 5,i: 9,166,017 msg/sec pthread_spinlock, 6,s: 8,439,166 msg/sec pthread_spinlock, 6,i: 8,533,889 msg/sec pthread_spinlock, 7,s: 7,726,143 msg/sec pthread_spinlock, 7,i: 7,510,397 msg/sec pthread_spinlock, 8,s: 6,668,234 msg/sec pthread_spinlock, 8,i: 6,946,745 msg/sec std::mutex, 1,s: 6,877,393 msg/sec std::mutex, 1,i: 7,056,122 msg/sec std::mutex, 2,s: 6,124,770 msg/sec std::mutex, 2,i: 5,828,490 msg/sec std::mutex, 3,s: 6,054,766 msg/sec std::mutex, 3,i: 5,481,598 msg/sec std::mutex, 4,s: 5,268,677 msg/sec std::mutex, 4,i: 6,039,007 msg/sec std::mutex, 5,s: 5,950,168 msg/sec std::mutex, 5,i: 5,999,224 msg/sec std::mutex, 6,s: 5,900,766 msg/sec std::mutex, 6,i: 5,890,351 msg/sec std::mutex, 7,s: 5,736,966 msg/sec std::mutex, 7,i: 5,768,094 msg/sec std::mutex, 8,s: 5,678,234 msg/sec std::mutex, 8,i: 5,665,019 msg/sec tbb::spin_mutex, 1,s: 37,578,743 msg/sec tbb::spin_mutex, 1,i: 33,027,765 msg/sec tbb::spin_mutex, 2,s: 21,188,228 msg/sec tbb::spin_mutex, 2,i: 18,371,724 msg/sec tbb::spin_mutex, 3,s: 8,311,780 msg/sec tbb::spin_mutex, 3,i: 10,278,055 msg/sec tbb::spin_mutex, 4,s: 3,276,331 msg/sec tbb::spin_mutex, 4,i: 6,393,693 msg/sec tbb::spin_mutex, 5,s: 5,507,909 msg/sec tbb::spin_mutex, 5,i: 5,690,380 msg/sec tbb::spin_mutex, 6,s: 5,271,504 msg/sec tbb::spin_mutex, 6,i: 4,416,978 msg/sec tbb::spin_mutex, 7,s: 4,803,419 msg/sec tbb::spin_mutex, 7,i: 4,349,620 msg/sec tbb::spin_mutex, 8,s: 4,285,191 msg/sec tbb::spin_mutex, 8,i: 4,040,504 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,411,817 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,378,057 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,868,416 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,797,866 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,899,378 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,754,482 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,320,903 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,294,755 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,792,878 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,181,877 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,973,272 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,516,659 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,042,651 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,597,798 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,028,756 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,708,663 msg/sec xenium::michael_scott_queue, 1,s: 10,118,384 msg/sec xenium::michael_scott_queue, 1,i: 10,050,464 msg/sec xenium::michael_scott_queue, 2,s: 8,509,013 msg/sec xenium::michael_scott_queue, 2,i: 8,594,931 msg/sec xenium::michael_scott_queue, 3,s: 7,283,928 msg/sec xenium::michael_scott_queue, 3,i: 7,578,135 msg/sec xenium::michael_scott_queue, 4,s: 6,378,163 msg/sec xenium::michael_scott_queue, 4,i: 6,351,524 msg/sec xenium::michael_scott_queue, 5,s: 6,307,100 msg/sec xenium::michael_scott_queue, 5,i: 6,630,145 msg/sec xenium::michael_scott_queue, 6,s: 6,508,875 msg/sec xenium::michael_scott_queue, 6,i: 6,767,030 msg/sec xenium::michael_scott_queue, 7,s: 6,299,475 msg/sec xenium::michael_scott_queue, 7,i: 6,572,129 msg/sec xenium::michael_scott_queue, 8,s: 6,000,548 msg/sec xenium::michael_scott_queue, 8,i: 6,182,104 msg/sec xenium::ramalhete_queue, 1,s: 31,847,593 msg/sec xenium::ramalhete_queue, 1,i: 31,743,695 msg/sec xenium::ramalhete_queue, 2,s: 23,607,662 msg/sec xenium::ramalhete_queue, 2,i: 23,358,034 msg/sec xenium::ramalhete_queue, 3,s: 29,203,665 msg/sec xenium::ramalhete_queue, 3,i: 28,433,168 msg/sec xenium::ramalhete_queue, 4,s: 33,694,533 msg/sec xenium::ramalhete_queue, 4,i: 33,469,508 msg/sec xenium::ramalhete_queue, 5,s: 32,133,086 msg/sec xenium::ramalhete_queue, 5,i: 35,958,819 msg/sec xenium::ramalhete_queue, 6,s: 33,867,588 msg/sec xenium::ramalhete_queue, 6,i: 39,011,471 msg/sec xenium::ramalhete_queue, 7,s: 35,317,063 msg/sec xenium::ramalhete_queue, 7,i: 41,936,989 msg/sec xenium::ramalhete_queue, 8,s: 35,444,044 msg/sec xenium::ramalhete_queue, 8,i: 43,783,320 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,908,235 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,861,621 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,446,909 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,411,264 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,574,549 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,797,623 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,609,327 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,151,654 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,787,791 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,234,055 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,995,327 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,301,782 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,188,797 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,343,045 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,399,764 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,190,221 msg/sec AtomicQueue, 1,s: 59,890,893 msg/sec AtomicQueue, 1,i: 56,933,063 msg/sec AtomicQueue, 2,s: 12,243,268 msg/sec AtomicQueue, 2,i: 11,704,007 msg/sec AtomicQueue, 3,s: 10,758,026 msg/sec AtomicQueue, 3,i: 9,921,690 msg/sec AtomicQueue, 4,s: 8,202,448 msg/sec AtomicQueue, 4,i: 8,242,273 msg/sec AtomicQueue, 5,s: 8,040,205 msg/sec AtomicQueue, 5,i: 8,094,635 msg/sec AtomicQueue, 6,s: 7,840,455 msg/sec AtomicQueue, 6,i: 7,622,167 msg/sec AtomicQueue, 7,s: 7,171,417 msg/sec AtomicQueue, 7,i: 7,983,013 msg/sec AtomicQueue, 8,s: 6,365,118 msg/sec AtomicQueue, 8,i: 7,491,317 msg/sec AtomicQueueB, 1,s: 48,779,478 msg/sec AtomicQueueB, 1,i: 42,653,236 msg/sec AtomicQueueB, 2,s: 11,826,178 msg/sec AtomicQueueB, 2,i: 11,465,696 msg/sec AtomicQueueB, 3,s: 10,891,709 msg/sec AtomicQueueB, 3,i: 10,282,933 msg/sec AtomicQueueB, 4,s: 8,066,978 msg/sec AtomicQueueB, 4,i: 7,985,726 msg/sec AtomicQueueB, 5,s: 7,724,617 msg/sec AtomicQueueB, 5,i: 7,824,068 msg/sec AtomicQueueB, 6,s: 7,322,492 msg/sec AtomicQueueB, 6,i: 7,503,085 msg/sec AtomicQueueB, 7,s: 6,864,416 msg/sec AtomicQueueB, 7,i: 7,736,919 msg/sec AtomicQueueB, 8,s: 6,211,032 msg/sec AtomicQueueB, 8,i: 6,985,895 msg/sec OptimistAtomicQueue, 1,s: 716,633,841 msg/sec OptimistAtomicQueue, 1,i: 527,326,313 msg/sec OptimistAtomicQueue, 2,s: 32,108,270 msg/sec OptimistAtomicQueue, 2,i: 32,191,989 msg/sec OptimistAtomicQueue, 3,s: 36,666,444 msg/sec OptimistAtomicQueue, 3,i: 37,401,763 msg/sec OptimistAtomicQueue, 4,s: 39,281,428 msg/sec OptimistAtomicQueue, 4,i: 39,425,919 msg/sec OptimistAtomicQueue, 5,s: 42,404,655 msg/sec OptimistAtomicQueue, 5,i: 46,190,379 msg/sec OptimistAtomicQueue, 6,s: 42,045,136 msg/sec OptimistAtomicQueue, 6,i: 50,377,267 msg/sec OptimistAtomicQueue, 7,s: 44,253,240 msg/sec OptimistAtomicQueue, 7,i: 51,998,067 msg/sec OptimistAtomicQueue, 8,s: 46,369,479 msg/sec OptimistAtomicQueue, 8,i: 49,061,550 msg/sec OptimistAtomicQueueB, 1,s: 106,969,867 msg/sec OptimistAtomicQueueB, 1,i: 76,563,813 msg/sec OptimistAtomicQueueB, 2,s: 32,168,611 msg/sec OptimistAtomicQueueB, 2,i: 32,307,243 msg/sec OptimistAtomicQueueB, 3,s: 36,330,322 msg/sec OptimistAtomicQueueB, 3,i: 36,966,886 msg/sec OptimistAtomicQueueB, 4,s: 38,657,779 msg/sec OptimistAtomicQueueB, 4,i: 38,509,565 msg/sec OptimistAtomicQueueB, 5,s: 40,308,767 msg/sec OptimistAtomicQueueB, 5,i: 45,517,242 msg/sec OptimistAtomicQueueB, 6,s: 41,061,843 msg/sec OptimistAtomicQueueB, 6,i: 48,775,802 msg/sec OptimistAtomicQueueB, 7,s: 42,142,645 msg/sec OptimistAtomicQueueB, 7,i: 51,453,758 msg/sec OptimistAtomicQueueB, 8,s: 44,397,160 msg/sec OptimistAtomicQueueB, 8,i: 47,760,918 msg/sec AtomicQueue2, 1,s: 22,898,834 msg/sec AtomicQueue2, 1,i: 22,889,639 msg/sec AtomicQueue2, 2,s: 11,900,834 msg/sec AtomicQueue2, 2,i: 11,472,004 msg/sec AtomicQueue2, 3,s: 9,311,739 msg/sec AtomicQueue2, 3,i: 9,404,078 msg/sec AtomicQueue2, 4,s: 8,055,816 msg/sec AtomicQueue2, 4,i: 8,021,320 msg/sec AtomicQueue2, 5,s: 7,924,302 msg/sec AtomicQueue2, 5,i: 8,073,354 msg/sec AtomicQueue2, 6,s: 7,604,701 msg/sec AtomicQueue2, 6,i: 7,544,354 msg/sec AtomicQueue2, 7,s: 7,171,042 msg/sec AtomicQueue2, 7,i: 7,873,993 msg/sec AtomicQueue2, 8,s: 6,421,029 msg/sec AtomicQueue2, 8,i: 7,367,116 msg/sec AtomicQueueB2, 1,s: 32,615,391 msg/sec AtomicQueueB2, 1,i: 32,625,692 msg/sec AtomicQueueB2, 2,s: 11,502,330 msg/sec AtomicQueueB2, 2,i: 11,183,718 msg/sec AtomicQueueB2, 3,s: 9,680,522 msg/sec AtomicQueueB2, 3,i: 9,637,587 msg/sec AtomicQueueB2, 4,s: 7,906,797 msg/sec AtomicQueueB2, 4,i: 7,729,814 msg/sec AtomicQueueB2, 5,s: 7,434,661 msg/sec AtomicQueueB2, 5,i: 7,750,423 msg/sec AtomicQueueB2, 6,s: 7,300,402 msg/sec AtomicQueueB2, 6,i: 7,425,085 msg/sec AtomicQueueB2, 7,s: 6,869,342 msg/sec AtomicQueueB2, 7,i: 7,696,797 msg/sec AtomicQueueB2, 8,s: 6,235,341 msg/sec AtomicQueueB2, 8,i: 6,970,950 msg/sec OptimistAtomicQueue2, 1,s: 415,078,171 msg/sec OptimistAtomicQueue2, 1,i: 29,599,979 msg/sec OptimistAtomicQueue2, 2,s: 24,555,749 msg/sec OptimistAtomicQueue2, 2,i: 25,404,872 msg/sec OptimistAtomicQueue2, 3,s: 30,601,748 msg/sec OptimistAtomicQueue2, 3,i: 29,998,047 msg/sec OptimistAtomicQueue2, 4,s: 33,545,995 msg/sec OptimistAtomicQueue2, 4,i: 34,318,027 msg/sec OptimistAtomicQueue2, 5,s: 37,179,576 msg/sec OptimistAtomicQueue2, 5,i: 40,048,625 msg/sec OptimistAtomicQueue2, 6,s: 40,240,046 msg/sec OptimistAtomicQueue2, 6,i: 49,151,394 msg/sec OptimistAtomicQueue2, 7,s: 43,243,824 msg/sec OptimistAtomicQueue2, 7,i: 48,041,495 msg/sec OptimistAtomicQueue2, 8,s: 43,877,148 msg/sec OptimistAtomicQueue2, 8,i: 48,499,102 msg/sec OptimistAtomicQueueB2, 1,s: 78,339,474 msg/sec OptimistAtomicQueueB2, 1,i: 33,894,551 msg/sec OptimistAtomicQueueB2, 2,s: 28,430,775 msg/sec OptimistAtomicQueueB2, 2,i: 25,343,226 msg/sec OptimistAtomicQueueB2, 3,s: 33,184,786 msg/sec OptimistAtomicQueueB2, 3,i: 29,005,735 msg/sec OptimistAtomicQueueB2, 4,s: 33,495,957 msg/sec OptimistAtomicQueueB2, 4,i: 32,704,873 msg/sec OptimistAtomicQueueB2, 5,s: 34,662,772 msg/sec OptimistAtomicQueueB2, 5,i: 39,250,135 msg/sec OptimistAtomicQueueB2, 6,s: 37,493,532 msg/sec OptimistAtomicQueueB2, 6,i: 42,543,470 msg/sec OptimistAtomicQueueB2, 7,s: 40,188,989 msg/sec OptimistAtomicQueueB2, 7,i: 45,180,454 msg/sec OptimistAtomicQueueB2, 8,s: 42,153,771 msg/sec OptimistAtomicQueueB2, 8,i: 45,117,484 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000250 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [147] 287m:25s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,735,595 msg/sec boost::lockfree::spsc_queue, 1,i: 67,874,479 msg/sec boost::lockfree::queue, 1,s: 6,901,670 msg/sec boost::lockfree::queue, 1,i: 6,906,768 msg/sec boost::lockfree::queue, 2,s: 7,570,753 msg/sec boost::lockfree::queue, 2,i: 7,518,084 msg/sec boost::lockfree::queue, 3,s: 7,407,830 msg/sec boost::lockfree::queue, 3,i: 7,534,946 msg/sec boost::lockfree::queue, 4,s: 6,424,163 msg/sec boost::lockfree::queue, 4,i: 6,789,535 msg/sec boost::lockfree::queue, 5,s: 6,395,804 msg/sec boost::lockfree::queue, 5,i: 6,468,133 msg/sec boost::lockfree::queue, 6,s: 5,966,077 msg/sec boost::lockfree::queue, 6,i: 6,098,907 msg/sec boost::lockfree::queue, 7,s: 6,040,877 msg/sec boost::lockfree::queue, 7,i: 6,092,419 msg/sec boost::lockfree::queue, 8,s: 5,463,897 msg/sec boost::lockfree::queue, 8,i: 5,687,893 msg/sec moodycamel::ReaderWriterQueue, 1,s: 477,761,515 msg/sec moodycamel::ReaderWriterQueue, 1,i: 431,316,325 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,815,207 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,877,798 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,178,918 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,141,395 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,552,560 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,840,484 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,604,341 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,019,032 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,464,143 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,921,618 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,834,765 msg/sec moodycamel::ConcurrentQueue, 6,i: 31,757,469 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,266,217 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,173,131 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,267,333 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,617,199 msg/sec pthread_spinlock, 1,s: 29,262,030 msg/sec pthread_spinlock, 1,i: 25,284,894 msg/sec pthread_spinlock, 2,s: 15,588,271 msg/sec pthread_spinlock, 2,i: 17,033,366 msg/sec pthread_spinlock, 3,s: 8,382,962 msg/sec pthread_spinlock, 3,i: 12,089,112 msg/sec pthread_spinlock, 4,s: 6,483,335 msg/sec pthread_spinlock, 4,i: 9,250,939 msg/sec pthread_spinlock, 5,s: 8,666,457 msg/sec pthread_spinlock, 5,i: 9,205,136 msg/sec pthread_spinlock, 6,s: 8,292,836 msg/sec pthread_spinlock, 6,i: 8,428,287 msg/sec pthread_spinlock, 7,s: 7,937,257 msg/sec pthread_spinlock, 7,i: 7,724,724 msg/sec pthread_spinlock, 8,s: 6,666,064 msg/sec pthread_spinlock, 8,i: 6,867,060 msg/sec std::mutex, 1,s: 6,358,603 msg/sec std::mutex, 1,i: 6,295,176 msg/sec std::mutex, 2,s: 5,093,156 msg/sec std::mutex, 2,i: 5,857,651 msg/sec std::mutex, 3,s: 5,503,777 msg/sec std::mutex, 3,i: 5,114,913 msg/sec std::mutex, 4,s: 5,723,332 msg/sec std::mutex, 4,i: 5,673,642 msg/sec std::mutex, 5,s: 6,088,601 msg/sec std::mutex, 5,i: 5,636,219 msg/sec std::mutex, 6,s: 5,777,182 msg/sec std::mutex, 6,i: 5,867,029 msg/sec std::mutex, 7,s: 5,769,248 msg/sec std::mutex, 7,i: 5,820,228 msg/sec std::mutex, 8,s: 5,665,817 msg/sec std::mutex, 8,i: 5,701,931 msg/sec tbb::spin_mutex, 1,s: 37,607,801 msg/sec tbb::spin_mutex, 1,i: 32,935,474 msg/sec tbb::spin_mutex, 2,s: 21,258,182 msg/sec tbb::spin_mutex, 2,i: 18,270,969 msg/sec tbb::spin_mutex, 3,s: 7,956,628 msg/sec tbb::spin_mutex, 3,i: 10,234,302 msg/sec tbb::spin_mutex, 4,s: 3,216,630 msg/sec tbb::spin_mutex, 4,i: 6,287,544 msg/sec tbb::spin_mutex, 5,s: 5,591,488 msg/sec tbb::spin_mutex, 5,i: 5,512,273 msg/sec tbb::spin_mutex, 6,s: 5,354,935 msg/sec tbb::spin_mutex, 6,i: 4,344,226 msg/sec tbb::spin_mutex, 7,s: 4,447,946 msg/sec tbb::spin_mutex, 7,i: 4,334,453 msg/sec tbb::spin_mutex, 8,s: 4,258,770 msg/sec tbb::spin_mutex, 8,i: 4,183,443 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,564,853 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,620,247 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,884,039 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,982,105 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,206,442 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,260,841 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,378,132 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,246,591 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,649,299 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,934,756 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,000,970 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,985,599 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,046,827 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,947,348 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,002,628 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,092,812 msg/sec xenium::michael_scott_queue, 1,s: 10,113,437 msg/sec xenium::michael_scott_queue, 1,i: 9,937,772 msg/sec xenium::michael_scott_queue, 2,s: 8,598,594 msg/sec xenium::michael_scott_queue, 2,i: 8,599,145 msg/sec xenium::michael_scott_queue, 3,s: 7,320,644 msg/sec xenium::michael_scott_queue, 3,i: 7,556,266 msg/sec xenium::michael_scott_queue, 4,s: 6,329,853 msg/sec xenium::michael_scott_queue, 4,i: 6,351,143 msg/sec xenium::michael_scott_queue, 5,s: 6,317,624 msg/sec xenium::michael_scott_queue, 5,i: 6,797,376 msg/sec xenium::michael_scott_queue, 6,s: 6,513,850 msg/sec xenium::michael_scott_queue, 6,i: 6,731,700 msg/sec xenium::michael_scott_queue, 7,s: 6,316,848 msg/sec xenium::michael_scott_queue, 7,i: 6,451,954 msg/sec xenium::michael_scott_queue, 8,s: 5,944,250 msg/sec xenium::michael_scott_queue, 8,i: 6,216,920 msg/sec xenium::ramalhete_queue, 1,s: 32,284,358 msg/sec xenium::ramalhete_queue, 1,i: 32,364,560 msg/sec xenium::ramalhete_queue, 2,s: 24,453,278 msg/sec xenium::ramalhete_queue, 2,i: 23,369,141 msg/sec xenium::ramalhete_queue, 3,s: 29,372,394 msg/sec xenium::ramalhete_queue, 3,i: 28,428,268 msg/sec xenium::ramalhete_queue, 4,s: 33,917,406 msg/sec xenium::ramalhete_queue, 4,i: 33,577,428 msg/sec xenium::ramalhete_queue, 5,s: 32,048,535 msg/sec xenium::ramalhete_queue, 5,i: 38,528,616 msg/sec xenium::ramalhete_queue, 6,s: 33,656,132 msg/sec xenium::ramalhete_queue, 6,i: 36,592,042 msg/sec xenium::ramalhete_queue, 7,s: 34,744,655 msg/sec xenium::ramalhete_queue, 7,i: 41,483,633 msg/sec xenium::ramalhete_queue, 8,s: 35,190,780 msg/sec xenium::ramalhete_queue, 8,i: 42,784,248 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,002,240 msg/sec xenium::vyukov_bounded_queue, 1,i: 61,566,873 msg/sec xenium::vyukov_bounded_queue, 2,s: 20,080,042 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,636,073 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,596,028 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,015,382 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,717,960 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,334,200 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,918,690 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,339,162 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,130,268 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,347,111 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,256,513 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,910,624 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,369,483 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,255,176 msg/sec AtomicQueue, 1,s: 63,145,573 msg/sec AtomicQueue, 1,i: 59,101,899 msg/sec AtomicQueue, 2,s: 12,300,930 msg/sec AtomicQueue, 2,i: 11,726,957 msg/sec AtomicQueue, 3,s: 10,735,409 msg/sec AtomicQueue, 3,i: 9,967,908 msg/sec AtomicQueue, 4,s: 8,238,298 msg/sec AtomicQueue, 4,i: 8,213,119 msg/sec AtomicQueue, 5,s: 8,039,777 msg/sec AtomicQueue, 5,i: 8,064,397 msg/sec AtomicQueue, 6,s: 7,809,692 msg/sec AtomicQueue, 6,i: 7,606,586 msg/sec AtomicQueue, 7,s: 7,081,592 msg/sec AtomicQueue, 7,i: 7,988,148 msg/sec AtomicQueue, 8,s: 6,373,607 msg/sec AtomicQueue, 8,i: 7,326,264 msg/sec AtomicQueueB, 1,s: 43,582,961 msg/sec AtomicQueueB, 1,i: 43,031,987 msg/sec AtomicQueueB, 2,s: 11,865,508 msg/sec AtomicQueueB, 2,i: 11,391,233 msg/sec AtomicQueueB, 3,s: 10,979,873 msg/sec AtomicQueueB, 3,i: 10,079,411 msg/sec AtomicQueueB, 4,s: 8,024,161 msg/sec AtomicQueueB, 4,i: 8,099,222 msg/sec AtomicQueueB, 5,s: 7,587,695 msg/sec AtomicQueueB, 5,i: 7,865,315 msg/sec AtomicQueueB, 6,s: 7,233,955 msg/sec AtomicQueueB, 6,i: 7,478,889 msg/sec AtomicQueueB, 7,s: 6,901,905 msg/sec AtomicQueueB, 7,i: 7,757,600 msg/sec AtomicQueueB, 8,s: 6,248,321 msg/sec AtomicQueueB, 8,i: 7,185,443 msg/sec OptimistAtomicQueue, 1,s: 771,322,982 msg/sec OptimistAtomicQueue, 1,i: 557,595,114 msg/sec OptimistAtomicQueue, 2,s: 32,145,002 msg/sec OptimistAtomicQueue, 2,i: 32,211,803 msg/sec OptimistAtomicQueue, 3,s: 36,634,097 msg/sec OptimistAtomicQueue, 3,i: 37,345,913 msg/sec OptimistAtomicQueue, 4,s: 39,281,111 msg/sec OptimistAtomicQueue, 4,i: 39,358,213 msg/sec OptimistAtomicQueue, 5,s: 41,592,042 msg/sec OptimistAtomicQueue, 5,i: 46,373,737 msg/sec OptimistAtomicQueue, 6,s: 42,232,011 msg/sec OptimistAtomicQueue, 6,i: 49,733,195 msg/sec OptimistAtomicQueue, 7,s: 44,093,990 msg/sec OptimistAtomicQueue, 7,i: 51,944,550 msg/sec OptimistAtomicQueue, 8,s: 46,415,955 msg/sec OptimistAtomicQueue, 8,i: 49,234,423 msg/sec OptimistAtomicQueueB, 1,s: 185,951,598 msg/sec OptimistAtomicQueueB, 1,i: 76,606,127 msg/sec OptimistAtomicQueueB, 2,s: 32,192,808 msg/sec OptimistAtomicQueueB, 2,i: 32,298,219 msg/sec OptimistAtomicQueueB, 3,s: 36,304,044 msg/sec OptimistAtomicQueueB, 3,i: 36,944,468 msg/sec OptimistAtomicQueueB, 4,s: 38,698,280 msg/sec OptimistAtomicQueueB, 4,i: 38,682,285 msg/sec OptimistAtomicQueueB, 5,s: 40,524,349 msg/sec OptimistAtomicQueueB, 5,i: 45,310,476 msg/sec OptimistAtomicQueueB, 6,s: 40,830,412 msg/sec OptimistAtomicQueueB, 6,i: 49,152,052 msg/sec OptimistAtomicQueueB, 7,s: 42,369,772 msg/sec OptimistAtomicQueueB, 7,i: 51,495,465 msg/sec OptimistAtomicQueueB, 8,s: 44,377,054 msg/sec OptimistAtomicQueueB, 8,i: 47,681,587 msg/sec AtomicQueue2, 1,s: 22,944,292 msg/sec AtomicQueue2, 1,i: 22,990,144 msg/sec AtomicQueue2, 2,s: 11,801,383 msg/sec AtomicQueue2, 2,i: 11,429,870 msg/sec AtomicQueue2, 3,s: 9,721,998 msg/sec AtomicQueue2, 3,i: 9,400,134 msg/sec AtomicQueue2, 4,s: 8,116,953 msg/sec AtomicQueue2, 4,i: 8,039,672 msg/sec AtomicQueue2, 5,s: 7,901,789 msg/sec AtomicQueue2, 5,i: 8,012,520 msg/sec AtomicQueue2, 6,s: 7,793,534 msg/sec AtomicQueue2, 6,i: 7,538,523 msg/sec AtomicQueue2, 7,s: 7,140,761 msg/sec AtomicQueue2, 7,i: 7,902,439 msg/sec AtomicQueue2, 8,s: 6,384,898 msg/sec AtomicQueue2, 8,i: 7,346,426 msg/sec AtomicQueueB2, 1,s: 36,166,406 msg/sec AtomicQueueB2, 1,i: 32,657,986 msg/sec AtomicQueueB2, 2,s: 11,362,274 msg/sec AtomicQueueB2, 2,i: 11,164,411 msg/sec AtomicQueueB2, 3,s: 9,613,377 msg/sec AtomicQueueB2, 3,i: 9,494,019 msg/sec AtomicQueueB2, 4,s: 7,941,941 msg/sec AtomicQueueB2, 4,i: 7,939,728 msg/sec AtomicQueueB2, 5,s: 7,462,778 msg/sec AtomicQueueB2, 5,i: 7,798,973 msg/sec AtomicQueueB2, 6,s: 7,339,959 msg/sec AtomicQueueB2, 6,i: 7,402,092 msg/sec AtomicQueueB2, 7,s: 6,871,406 msg/sec AtomicQueueB2, 7,i: 7,696,949 msg/sec AtomicQueueB2, 8,s: 6,362,199 msg/sec AtomicQueueB2, 8,i: 6,960,497 msg/sec OptimistAtomicQueue2, 1,s: 479,577,549 msg/sec OptimistAtomicQueue2, 1,i: 29,541,963 msg/sec OptimistAtomicQueue2, 2,s: 22,574,947 msg/sec OptimistAtomicQueue2, 2,i: 22,613,562 msg/sec OptimistAtomicQueue2, 3,s: 29,866,150 msg/sec OptimistAtomicQueue2, 3,i: 29,562,076 msg/sec OptimistAtomicQueue2, 4,s: 33,649,235 msg/sec OptimistAtomicQueue2, 4,i: 33,304,564 msg/sec OptimistAtomicQueue2, 5,s: 37,484,490 msg/sec OptimistAtomicQueue2, 5,i: 41,570,536 msg/sec OptimistAtomicQueue2, 6,s: 40,047,136 msg/sec OptimistAtomicQueue2, 6,i: 49,180,066 msg/sec OptimistAtomicQueue2, 7,s: 43,154,082 msg/sec OptimistAtomicQueue2, 7,i: 51,599,802 msg/sec OptimistAtomicQueue2, 8,s: 43,857,037 msg/sec OptimistAtomicQueue2, 8,i: 49,671,926 msg/sec OptimistAtomicQueueB2, 1,s: 78,234,387 msg/sec OptimistAtomicQueueB2, 1,i: 33,897,343 msg/sec OptimistAtomicQueueB2, 2,s: 26,393,367 msg/sec OptimistAtomicQueueB2, 2,i: 26,034,691 msg/sec OptimistAtomicQueueB2, 3,s: 32,900,763 msg/sec OptimistAtomicQueueB2, 3,i: 29,354,136 msg/sec OptimistAtomicQueueB2, 4,s: 32,198,304 msg/sec OptimistAtomicQueueB2, 4,i: 32,379,343 msg/sec OptimistAtomicQueueB2, 5,s: 34,519,891 msg/sec OptimistAtomicQueueB2, 5,i: 39,645,714 msg/sec OptimistAtomicQueueB2, 6,s: 37,109,895 msg/sec OptimistAtomicQueueB2, 6,i: 42,245,370 msg/sec OptimistAtomicQueueB2, 7,s: 40,226,865 msg/sec OptimistAtomicQueueB2, 7,i: 43,306,409 msg/sec OptimistAtomicQueueB2, 8,s: 42,306,066 msg/sec OptimistAtomicQueueB2, 8,i: 45,290,578 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000517 sec/round-trip tbb::spin_mutex: 0.000000309 sec/round-trip tbb::concurrent_bounded_queue: 0.000000277 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000255 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [148] 286m:5s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,691,998 msg/sec boost::lockfree::spsc_queue, 1,i: 67,392,370 msg/sec boost::lockfree::queue, 1,s: 7,984,410 msg/sec boost::lockfree::queue, 1,i: 8,016,535 msg/sec boost::lockfree::queue, 2,s: 7,603,872 msg/sec boost::lockfree::queue, 2,i: 7,646,587 msg/sec boost::lockfree::queue, 3,s: 7,356,815 msg/sec boost::lockfree::queue, 3,i: 7,528,439 msg/sec boost::lockfree::queue, 4,s: 6,401,774 msg/sec boost::lockfree::queue, 4,i: 6,712,926 msg/sec boost::lockfree::queue, 5,s: 6,462,767 msg/sec boost::lockfree::queue, 5,i: 6,480,748 msg/sec boost::lockfree::queue, 6,s: 5,986,719 msg/sec boost::lockfree::queue, 6,i: 6,109,819 msg/sec boost::lockfree::queue, 7,s: 5,933,957 msg/sec boost::lockfree::queue, 7,i: 6,094,035 msg/sec boost::lockfree::queue, 8,s: 5,487,336 msg/sec boost::lockfree::queue, 8,i: 5,596,547 msg/sec moodycamel::ReaderWriterQueue, 1,s: 455,028,974 msg/sec moodycamel::ReaderWriterQueue, 1,i: 402,859,131 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,796,185 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,301,790 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,007,104 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,887,441 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,624,215 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,115,341 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,517,929 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,904,635 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,521,043 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,684,842 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,583,853 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,334,243 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,004,496 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,369,948 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,487,700 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,991,159 msg/sec pthread_spinlock, 1,s: 28,908,213 msg/sec pthread_spinlock, 1,i: 25,388,511 msg/sec pthread_spinlock, 2,s: 15,478,672 msg/sec pthread_spinlock, 2,i: 17,374,160 msg/sec pthread_spinlock, 3,s: 8,313,574 msg/sec pthread_spinlock, 3,i: 11,966,831 msg/sec pthread_spinlock, 4,s: 6,477,610 msg/sec pthread_spinlock, 4,i: 8,803,527 msg/sec pthread_spinlock, 5,s: 8,738,893 msg/sec pthread_spinlock, 5,i: 9,241,762 msg/sec pthread_spinlock, 6,s: 8,529,324 msg/sec pthread_spinlock, 6,i: 8,494,245 msg/sec pthread_spinlock, 7,s: 7,555,808 msg/sec pthread_spinlock, 7,i: 7,490,612 msg/sec pthread_spinlock, 8,s: 6,791,807 msg/sec pthread_spinlock, 8,i: 6,908,235 msg/sec std::mutex, 1,s: 6,028,415 msg/sec std::mutex, 1,i: 7,792,923 msg/sec std::mutex, 2,s: 5,860,392 msg/sec std::mutex, 2,i: 5,604,435 msg/sec std::mutex, 3,s: 4,688,298 msg/sec std::mutex, 3,i: 5,639,426 msg/sec std::mutex, 4,s: 5,661,975 msg/sec std::mutex, 4,i: 5,807,897 msg/sec std::mutex, 5,s: 5,650,898 msg/sec std::mutex, 5,i: 5,697,848 msg/sec std::mutex, 6,s: 5,908,788 msg/sec std::mutex, 6,i: 5,911,700 msg/sec std::mutex, 7,s: 5,871,118 msg/sec std::mutex, 7,i: 5,885,937 msg/sec std::mutex, 8,s: 5,776,412 msg/sec std::mutex, 8,i: 5,733,075 msg/sec tbb::spin_mutex, 1,s: 37,806,710 msg/sec tbb::spin_mutex, 1,i: 33,189,768 msg/sec tbb::spin_mutex, 2,s: 21,307,994 msg/sec tbb::spin_mutex, 2,i: 18,653,192 msg/sec tbb::spin_mutex, 3,s: 7,421,745 msg/sec tbb::spin_mutex, 3,i: 10,807,795 msg/sec tbb::spin_mutex, 4,s: 3,068,607 msg/sec tbb::spin_mutex, 4,i: 6,332,062 msg/sec tbb::spin_mutex, 5,s: 5,608,848 msg/sec tbb::spin_mutex, 5,i: 5,775,842 msg/sec tbb::spin_mutex, 6,s: 5,306,736 msg/sec tbb::spin_mutex, 6,i: 4,371,786 msg/sec tbb::spin_mutex, 7,s: 4,861,544 msg/sec tbb::spin_mutex, 7,i: 4,373,869 msg/sec tbb::spin_mutex, 8,s: 4,207,652 msg/sec tbb::spin_mutex, 8,i: 4,073,686 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,157,320 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,429,575 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,492,010 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,465,592 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,484,126 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,749,448 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,557,988 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,582,689 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,878,392 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,605,822 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,961,869 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,720,515 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,879,272 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,841,785 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,777,379 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,519,043 msg/sec xenium::michael_scott_queue, 1,s: 9,380,874 msg/sec xenium::michael_scott_queue, 1,i: 9,344,524 msg/sec xenium::michael_scott_queue, 2,s: 8,507,974 msg/sec xenium::michael_scott_queue, 2,i: 8,518,811 msg/sec xenium::michael_scott_queue, 3,s: 7,217,208 msg/sec xenium::michael_scott_queue, 3,i: 7,524,759 msg/sec xenium::michael_scott_queue, 4,s: 6,267,205 msg/sec xenium::michael_scott_queue, 4,i: 6,344,525 msg/sec xenium::michael_scott_queue, 5,s: 6,326,229 msg/sec xenium::michael_scott_queue, 5,i: 6,688,126 msg/sec xenium::michael_scott_queue, 6,s: 6,463,569 msg/sec xenium::michael_scott_queue, 6,i: 6,833,565 msg/sec xenium::michael_scott_queue, 7,s: 6,275,652 msg/sec xenium::michael_scott_queue, 7,i: 6,534,653 msg/sec xenium::michael_scott_queue, 8,s: 5,996,226 msg/sec xenium::michael_scott_queue, 8,i: 6,133,630 msg/sec xenium::ramalhete_queue, 1,s: 32,143,086 msg/sec xenium::ramalhete_queue, 1,i: 31,363,270 msg/sec xenium::ramalhete_queue, 2,s: 24,322,401 msg/sec xenium::ramalhete_queue, 2,i: 23,369,854 msg/sec xenium::ramalhete_queue, 3,s: 29,199,808 msg/sec xenium::ramalhete_queue, 3,i: 28,492,020 msg/sec xenium::ramalhete_queue, 4,s: 33,810,928 msg/sec xenium::ramalhete_queue, 4,i: 33,525,646 msg/sec xenium::ramalhete_queue, 5,s: 32,201,664 msg/sec xenium::ramalhete_queue, 5,i: 36,023,777 msg/sec xenium::ramalhete_queue, 6,s: 33,776,295 msg/sec xenium::ramalhete_queue, 6,i: 39,352,494 msg/sec xenium::ramalhete_queue, 7,s: 35,058,388 msg/sec xenium::ramalhete_queue, 7,i: 41,256,427 msg/sec xenium::ramalhete_queue, 8,s: 35,387,442 msg/sec xenium::ramalhete_queue, 8,i: 43,991,011 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,808,171 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,983,102 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,344,949 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,398,914 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,563,631 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,480,637 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,636,283 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,888,131 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,010,636 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,317,687 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,242,277 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,391,678 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,333,944 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,115,325 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,427,167 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,243,985 msg/sec AtomicQueue, 1,s: 60,471,759 msg/sec AtomicQueue, 1,i: 56,921,788 msg/sec AtomicQueue, 2,s: 12,298,993 msg/sec AtomicQueue, 2,i: 11,739,785 msg/sec AtomicQueue, 3,s: 10,797,139 msg/sec AtomicQueue, 3,i: 9,896,419 msg/sec AtomicQueue, 4,s: 8,155,794 msg/sec AtomicQueue, 4,i: 8,192,261 msg/sec AtomicQueue, 5,s: 7,963,884 msg/sec AtomicQueue, 5,i: 8,078,863 msg/sec AtomicQueue, 6,s: 7,972,419 msg/sec AtomicQueue, 6,i: 7,609,410 msg/sec AtomicQueue, 7,s: 7,209,553 msg/sec AtomicQueue, 7,i: 7,991,432 msg/sec AtomicQueue, 8,s: 6,372,908 msg/sec AtomicQueue, 8,i: 7,468,533 msg/sec AtomicQueueB, 1,s: 91,580,882 msg/sec AtomicQueueB, 1,i: 43,013,159 msg/sec AtomicQueueB, 2,s: 11,653,488 msg/sec AtomicQueueB, 2,i: 11,425,134 msg/sec AtomicQueueB, 3,s: 10,969,304 msg/sec AtomicQueueB, 3,i: 10,259,807 msg/sec AtomicQueueB, 4,s: 8,074,395 msg/sec AtomicQueueB, 4,i: 7,963,325 msg/sec AtomicQueueB, 5,s: 7,616,447 msg/sec AtomicQueueB, 5,i: 7,824,160 msg/sec AtomicQueueB, 6,s: 7,467,037 msg/sec AtomicQueueB, 6,i: 7,520,065 msg/sec AtomicQueueB, 7,s: 6,910,246 msg/sec AtomicQueueB, 7,i: 7,754,169 msg/sec AtomicQueueB, 8,s: 6,278,938 msg/sec AtomicQueueB, 8,i: 7,180,879 msg/sec OptimistAtomicQueue, 1,s: 777,266,962 msg/sec OptimistAtomicQueue, 1,i: 527,394,867 msg/sec OptimistAtomicQueue, 2,s: 32,614,712 msg/sec OptimistAtomicQueue, 2,i: 32,437,221 msg/sec OptimistAtomicQueue, 3,s: 36,618,004 msg/sec OptimistAtomicQueue, 3,i: 37,338,427 msg/sec OptimistAtomicQueue, 4,s: 39,237,847 msg/sec OptimistAtomicQueue, 4,i: 39,360,725 msg/sec OptimistAtomicQueue, 5,s: 42,345,519 msg/sec OptimistAtomicQueue, 5,i: 46,149,069 msg/sec OptimistAtomicQueue, 6,s: 42,672,410 msg/sec OptimistAtomicQueue, 6,i: 49,779,547 msg/sec OptimistAtomicQueue, 7,s: 44,443,185 msg/sec OptimistAtomicQueue, 7,i: 52,027,827 msg/sec OptimistAtomicQueue, 8,s: 46,416,652 msg/sec OptimistAtomicQueue, 8,i: 49,623,528 msg/sec OptimistAtomicQueueB, 1,s: 194,069,036 msg/sec OptimistAtomicQueueB, 1,i: 170,879,654 msg/sec OptimistAtomicQueueB, 2,s: 32,177,040 msg/sec OptimistAtomicQueueB, 2,i: 32,295,352 msg/sec OptimistAtomicQueueB, 3,s: 36,339,206 msg/sec OptimistAtomicQueueB, 3,i: 36,864,503 msg/sec OptimistAtomicQueueB, 4,s: 38,662,683 msg/sec OptimistAtomicQueueB, 4,i: 38,663,411 msg/sec OptimistAtomicQueueB, 5,s: 41,026,982 msg/sec OptimistAtomicQueueB, 5,i: 45,041,701 msg/sec OptimistAtomicQueueB, 6,s: 40,724,811 msg/sec OptimistAtomicQueueB, 6,i: 48,978,152 msg/sec OptimistAtomicQueueB, 7,s: 41,891,541 msg/sec OptimistAtomicQueueB, 7,i: 51,411,460 msg/sec OptimistAtomicQueueB, 8,s: 44,331,231 msg/sec OptimistAtomicQueueB, 8,i: 48,010,276 msg/sec AtomicQueue2, 1,s: 22,882,596 msg/sec AtomicQueue2, 1,i: 22,882,923 msg/sec AtomicQueue2, 2,s: 11,746,747 msg/sec AtomicQueue2, 2,i: 11,536,583 msg/sec AtomicQueue2, 3,s: 9,410,231 msg/sec AtomicQueue2, 3,i: 9,399,099 msg/sec AtomicQueue2, 4,s: 8,096,463 msg/sec AtomicQueue2, 4,i: 8,009,586 msg/sec AtomicQueue2, 5,s: 7,912,331 msg/sec AtomicQueue2, 5,i: 7,966,476 msg/sec AtomicQueue2, 6,s: 7,787,459 msg/sec AtomicQueue2, 6,i: 7,540,535 msg/sec AtomicQueue2, 7,s: 7,181,184 msg/sec AtomicQueue2, 7,i: 7,888,556 msg/sec AtomicQueue2, 8,s: 6,397,444 msg/sec AtomicQueue2, 8,i: 7,345,153 msg/sec AtomicQueueB2, 1,s: 44,550,020 msg/sec AtomicQueueB2, 1,i: 32,773,999 msg/sec AtomicQueueB2, 2,s: 11,482,353 msg/sec AtomicQueueB2, 2,i: 11,142,420 msg/sec AtomicQueueB2, 3,s: 9,829,375 msg/sec AtomicQueueB2, 3,i: 9,541,330 msg/sec AtomicQueueB2, 4,s: 7,879,779 msg/sec AtomicQueueB2, 4,i: 7,808,476 msg/sec AtomicQueueB2, 5,s: 7,560,237 msg/sec AtomicQueueB2, 5,i: 7,756,283 msg/sec AtomicQueueB2, 6,s: 7,264,536 msg/sec AtomicQueueB2, 6,i: 7,427,499 msg/sec AtomicQueueB2, 7,s: 6,834,663 msg/sec AtomicQueueB2, 7,i: 7,724,686 msg/sec AtomicQueueB2, 8,s: 6,297,162 msg/sec AtomicQueueB2, 8,i: 6,970,219 msg/sec OptimistAtomicQueue2, 1,s: 623,619,365 msg/sec OptimistAtomicQueue2, 1,i: 59,092,763 msg/sec OptimistAtomicQueue2, 2,s: 25,699,352 msg/sec OptimistAtomicQueue2, 2,i: 24,021,267 msg/sec OptimistAtomicQueue2, 3,s: 32,289,801 msg/sec OptimistAtomicQueue2, 3,i: 29,944,889 msg/sec OptimistAtomicQueue2, 4,s: 35,296,424 msg/sec OptimistAtomicQueue2, 4,i: 33,438,981 msg/sec OptimistAtomicQueue2, 5,s: 37,201,113 msg/sec OptimistAtomicQueue2, 5,i: 41,013,724 msg/sec OptimistAtomicQueue2, 6,s: 40,023,280 msg/sec OptimistAtomicQueue2, 6,i: 48,963,759 msg/sec OptimistAtomicQueue2, 7,s: 42,841,615 msg/sec OptimistAtomicQueue2, 7,i: 48,157,248 msg/sec OptimistAtomicQueue2, 8,s: 44,495,959 msg/sec OptimistAtomicQueue2, 8,i: 49,037,181 msg/sec OptimistAtomicQueueB2, 1,s: 76,701,293 msg/sec OptimistAtomicQueueB2, 1,i: 33,887,883 msg/sec OptimistAtomicQueueB2, 2,s: 27,333,896 msg/sec OptimistAtomicQueueB2, 2,i: 23,538,326 msg/sec OptimistAtomicQueueB2, 3,s: 30,475,457 msg/sec OptimistAtomicQueueB2, 3,i: 29,002,282 msg/sec OptimistAtomicQueueB2, 4,s: 33,175,529 msg/sec OptimistAtomicQueueB2, 4,i: 32,959,096 msg/sec OptimistAtomicQueueB2, 5,s: 34,353,513 msg/sec OptimistAtomicQueueB2, 5,i: 39,231,299 msg/sec OptimistAtomicQueueB2, 6,s: 37,347,428 msg/sec OptimistAtomicQueueB2, 6,i: 42,563,065 msg/sec OptimistAtomicQueueB2, 7,s: 40,065,263 msg/sec OptimistAtomicQueueB2, 7,i: 43,365,653 msg/sec OptimistAtomicQueueB2, 8,s: 42,356,998 msg/sec OptimistAtomicQueueB2, 8,i: 45,780,703 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000126 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000247 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [149] 284m:46s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,321,545 msg/sec boost::lockfree::spsc_queue, 1,i: 71,244,521 msg/sec boost::lockfree::queue, 1,s: 6,831,420 msg/sec boost::lockfree::queue, 1,i: 6,858,832 msg/sec boost::lockfree::queue, 2,s: 7,673,700 msg/sec boost::lockfree::queue, 2,i: 7,519,441 msg/sec boost::lockfree::queue, 3,s: 7,376,002 msg/sec boost::lockfree::queue, 3,i: 7,578,871 msg/sec boost::lockfree::queue, 4,s: 6,422,537 msg/sec boost::lockfree::queue, 4,i: 6,759,306 msg/sec boost::lockfree::queue, 5,s: 6,410,432 msg/sec boost::lockfree::queue, 5,i: 6,478,307 msg/sec boost::lockfree::queue, 6,s: 6,013,132 msg/sec boost::lockfree::queue, 6,i: 6,102,158 msg/sec boost::lockfree::queue, 7,s: 5,899,372 msg/sec boost::lockfree::queue, 7,i: 5,980,142 msg/sec boost::lockfree::queue, 8,s: 5,412,497 msg/sec boost::lockfree::queue, 8,i: 5,657,373 msg/sec moodycamel::ReaderWriterQueue, 1,s: 457,009,671 msg/sec moodycamel::ReaderWriterQueue, 1,i: 455,893,604 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,165,805 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,658,241 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,747,695 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,679,455 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,082,250 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,535,568 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,617,307 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,983,725 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,404,063 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,004,467 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,238,583 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,010,181 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,919,635 msg/sec moodycamel::ConcurrentQueue, 7,i: 35,142,145 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,313,437 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,542,863 msg/sec pthread_spinlock, 1,s: 29,217,503 msg/sec pthread_spinlock, 1,i: 25,453,784 msg/sec pthread_spinlock, 2,s: 15,564,571 msg/sec pthread_spinlock, 2,i: 16,742,117 msg/sec pthread_spinlock, 3,s: 8,327,499 msg/sec pthread_spinlock, 3,i: 11,955,468 msg/sec pthread_spinlock, 4,s: 6,487,305 msg/sec pthread_spinlock, 4,i: 9,134,284 msg/sec pthread_spinlock, 5,s: 8,496,981 msg/sec pthread_spinlock, 5,i: 9,211,637 msg/sec pthread_spinlock, 6,s: 8,537,547 msg/sec pthread_spinlock, 6,i: 8,548,573 msg/sec pthread_spinlock, 7,s: 7,757,490 msg/sec pthread_spinlock, 7,i: 7,550,741 msg/sec pthread_spinlock, 8,s: 6,885,897 msg/sec pthread_spinlock, 8,i: 6,903,676 msg/sec std::mutex, 1,s: 7,342,792 msg/sec std::mutex, 1,i: 7,337,529 msg/sec std::mutex, 2,s: 6,147,412 msg/sec std::mutex, 2,i: 6,131,935 msg/sec std::mutex, 3,s: 6,077,907 msg/sec std::mutex, 3,i: 6,011,161 msg/sec std::mutex, 4,s: 6,225,704 msg/sec std::mutex, 4,i: 6,194,731 msg/sec std::mutex, 5,s: 5,913,538 msg/sec std::mutex, 5,i: 5,743,151 msg/sec std::mutex, 6,s: 5,812,575 msg/sec std::mutex, 6,i: 5,928,958 msg/sec std::mutex, 7,s: 5,734,720 msg/sec std::mutex, 7,i: 5,730,454 msg/sec std::mutex, 8,s: 5,651,297 msg/sec std::mutex, 8,i: 5,667,402 msg/sec tbb::spin_mutex, 1,s: 37,441,220 msg/sec tbb::spin_mutex, 1,i: 32,878,154 msg/sec tbb::spin_mutex, 2,s: 21,286,643 msg/sec tbb::spin_mutex, 2,i: 18,773,719 msg/sec tbb::spin_mutex, 3,s: 7,814,024 msg/sec tbb::spin_mutex, 3,i: 10,775,178 msg/sec tbb::spin_mutex, 4,s: 3,148,174 msg/sec tbb::spin_mutex, 4,i: 6,319,884 msg/sec tbb::spin_mutex, 5,s: 5,496,445 msg/sec tbb::spin_mutex, 5,i: 5,609,477 msg/sec tbb::spin_mutex, 6,s: 5,329,251 msg/sec tbb::spin_mutex, 6,i: 4,347,870 msg/sec tbb::spin_mutex, 7,s: 4,625,689 msg/sec tbb::spin_mutex, 7,i: 4,351,334 msg/sec tbb::spin_mutex, 8,s: 4,249,789 msg/sec tbb::spin_mutex, 8,i: 4,064,768 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,297,827 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,167,160 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,660,920 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,045,421 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,441,594 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,553,727 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,451,162 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,246,157 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,722,153 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,804,638 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,721,511 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,004,863 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,969,522 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,962,529 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,893,350 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,132,378 msg/sec xenium::michael_scott_queue, 1,s: 9,247,509 msg/sec xenium::michael_scott_queue, 1,i: 9,336,195 msg/sec xenium::michael_scott_queue, 2,s: 8,616,221 msg/sec xenium::michael_scott_queue, 2,i: 8,456,184 msg/sec xenium::michael_scott_queue, 3,s: 7,195,065 msg/sec xenium::michael_scott_queue, 3,i: 7,565,341 msg/sec xenium::michael_scott_queue, 4,s: 6,371,309 msg/sec xenium::michael_scott_queue, 4,i: 6,337,745 msg/sec xenium::michael_scott_queue, 5,s: 6,318,456 msg/sec xenium::michael_scott_queue, 5,i: 6,638,973 msg/sec xenium::michael_scott_queue, 6,s: 6,462,069 msg/sec xenium::michael_scott_queue, 6,i: 6,658,398 msg/sec xenium::michael_scott_queue, 7,s: 6,301,367 msg/sec xenium::michael_scott_queue, 7,i: 6,472,800 msg/sec xenium::michael_scott_queue, 8,s: 5,935,150 msg/sec xenium::michael_scott_queue, 8,i: 6,129,860 msg/sec xenium::ramalhete_queue, 1,s: 31,032,741 msg/sec xenium::ramalhete_queue, 1,i: 32,051,624 msg/sec xenium::ramalhete_queue, 2,s: 23,490,153 msg/sec xenium::ramalhete_queue, 2,i: 23,327,496 msg/sec xenium::ramalhete_queue, 3,s: 29,179,423 msg/sec xenium::ramalhete_queue, 3,i: 28,490,768 msg/sec xenium::ramalhete_queue, 4,s: 33,841,545 msg/sec xenium::ramalhete_queue, 4,i: 33,519,836 msg/sec xenium::ramalhete_queue, 5,s: 32,072,101 msg/sec xenium::ramalhete_queue, 5,i: 36,067,755 msg/sec xenium::ramalhete_queue, 6,s: 33,991,760 msg/sec xenium::ramalhete_queue, 6,i: 38,951,750 msg/sec xenium::ramalhete_queue, 7,s: 35,073,723 msg/sec xenium::ramalhete_queue, 7,i: 41,596,082 msg/sec xenium::ramalhete_queue, 8,s: 35,653,736 msg/sec xenium::ramalhete_queue, 8,i: 44,377,076 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,589,782 msg/sec xenium::vyukov_bounded_queue, 1,i: 122,079,384 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,858,441 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,036,597 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,757,583 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,817,324 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,515,510 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,226,902 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,739,644 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,297,069 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,101,894 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,497,210 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,091,180 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,375,173 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,444,609 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,323,704 msg/sec AtomicQueue, 1,s: 59,296,959 msg/sec AtomicQueue, 1,i: 56,748,825 msg/sec AtomicQueue, 2,s: 12,289,688 msg/sec AtomicQueue, 2,i: 11,799,027 msg/sec AtomicQueue, 3,s: 10,733,010 msg/sec AtomicQueue, 3,i: 9,976,644 msg/sec AtomicQueue, 4,s: 8,188,763 msg/sec AtomicQueue, 4,i: 8,182,981 msg/sec AtomicQueue, 5,s: 8,033,839 msg/sec AtomicQueue, 5,i: 8,082,780 msg/sec AtomicQueue, 6,s: 7,842,181 msg/sec AtomicQueue, 6,i: 7,610,618 msg/sec AtomicQueue, 7,s: 7,102,748 msg/sec AtomicQueue, 7,i: 7,959,351 msg/sec AtomicQueue, 8,s: 6,336,895 msg/sec AtomicQueue, 8,i: 7,455,799 msg/sec AtomicQueueB, 1,s: 44,456,235 msg/sec AtomicQueueB, 1,i: 43,095,363 msg/sec AtomicQueueB, 2,s: 11,667,791 msg/sec AtomicQueueB, 2,i: 11,484,907 msg/sec AtomicQueueB, 3,s: 10,979,836 msg/sec AtomicQueueB, 3,i: 10,115,092 msg/sec AtomicQueueB, 4,s: 8,022,591 msg/sec AtomicQueueB, 4,i: 7,971,258 msg/sec AtomicQueueB, 5,s: 7,625,020 msg/sec AtomicQueueB, 5,i: 7,766,671 msg/sec AtomicQueueB, 6,s: 7,277,729 msg/sec AtomicQueueB, 6,i: 7,506,214 msg/sec AtomicQueueB, 7,s: 6,901,067 msg/sec AtomicQueueB, 7,i: 7,739,549 msg/sec AtomicQueueB, 8,s: 6,259,022 msg/sec AtomicQueueB, 8,i: 7,122,798 msg/sec OptimistAtomicQueue, 1,s: 742,507,358 msg/sec OptimistAtomicQueue, 1,i: 560,868,774 msg/sec OptimistAtomicQueue, 2,s: 32,675,707 msg/sec OptimistAtomicQueue, 2,i: 32,717,621 msg/sec OptimistAtomicQueue, 3,s: 36,696,397 msg/sec OptimistAtomicQueue, 3,i: 37,409,980 msg/sec OptimistAtomicQueue, 4,s: 39,266,890 msg/sec OptimistAtomicQueue, 4,i: 39,357,876 msg/sec OptimistAtomicQueue, 5,s: 42,503,423 msg/sec OptimistAtomicQueue, 5,i: 46,199,712 msg/sec OptimistAtomicQueue, 6,s: 42,722,028 msg/sec OptimistAtomicQueue, 6,i: 50,428,691 msg/sec OptimistAtomicQueue, 7,s: 45,309,179 msg/sec OptimistAtomicQueue, 7,i: 49,393,412 msg/sec OptimistAtomicQueue, 8,s: 46,399,540 msg/sec OptimistAtomicQueue, 8,i: 49,491,241 msg/sec OptimistAtomicQueueB, 1,s: 77,811,400 msg/sec OptimistAtomicQueueB, 1,i: 113,121,551 msg/sec OptimistAtomicQueueB, 2,s: 32,172,199 msg/sec OptimistAtomicQueueB, 2,i: 32,178,963 msg/sec OptimistAtomicQueueB, 3,s: 36,243,346 msg/sec OptimistAtomicQueueB, 3,i: 36,750,981 msg/sec OptimistAtomicQueueB, 4,s: 38,675,743 msg/sec OptimistAtomicQueueB, 4,i: 38,639,021 msg/sec OptimistAtomicQueueB, 5,s: 40,754,784 msg/sec OptimistAtomicQueueB, 5,i: 45,531,049 msg/sec OptimistAtomicQueueB, 6,s: 40,538,210 msg/sec OptimistAtomicQueueB, 6,i: 48,689,684 msg/sec OptimistAtomicQueueB, 7,s: 42,610,436 msg/sec OptimistAtomicQueueB, 7,i: 50,794,658 msg/sec OptimistAtomicQueueB, 8,s: 44,412,824 msg/sec OptimistAtomicQueueB, 8,i: 47,917,027 msg/sec AtomicQueue2, 1,s: 22,966,828 msg/sec AtomicQueue2, 1,i: 22,971,988 msg/sec AtomicQueue2, 2,s: 11,978,543 msg/sec AtomicQueue2, 2,i: 11,412,358 msg/sec AtomicQueue2, 3,s: 9,505,322 msg/sec AtomicQueue2, 3,i: 9,299,696 msg/sec AtomicQueue2, 4,s: 8,027,153 msg/sec AtomicQueue2, 4,i: 8,034,672 msg/sec AtomicQueue2, 5,s: 7,925,571 msg/sec AtomicQueue2, 5,i: 8,002,198 msg/sec AtomicQueue2, 6,s: 7,665,347 msg/sec AtomicQueue2, 6,i: 7,551,386 msg/sec AtomicQueue2, 7,s: 7,111,811 msg/sec AtomicQueue2, 7,i: 7,706,918 msg/sec AtomicQueue2, 8,s: 6,382,682 msg/sec AtomicQueue2, 8,i: 7,370,143 msg/sec AtomicQueueB2, 1,s: 36,021,095 msg/sec AtomicQueueB2, 1,i: 32,640,194 msg/sec AtomicQueueB2, 2,s: 11,387,933 msg/sec AtomicQueueB2, 2,i: 11,096,354 msg/sec AtomicQueueB2, 3,s: 9,616,523 msg/sec AtomicQueueB2, 3,i: 9,465,678 msg/sec AtomicQueueB2, 4,s: 7,976,113 msg/sec AtomicQueueB2, 4,i: 7,781,802 msg/sec AtomicQueueB2, 5,s: 7,459,076 msg/sec AtomicQueueB2, 5,i: 7,787,887 msg/sec AtomicQueueB2, 6,s: 7,281,168 msg/sec AtomicQueueB2, 6,i: 7,406,077 msg/sec AtomicQueueB2, 7,s: 6,783,878 msg/sec AtomicQueueB2, 7,i: 7,702,974 msg/sec AtomicQueueB2, 8,s: 6,266,174 msg/sec AtomicQueueB2, 8,i: 7,104,893 msg/sec OptimistAtomicQueue2, 1,s: 498,117,675 msg/sec OptimistAtomicQueue2, 1,i: 30,302,585 msg/sec OptimistAtomicQueue2, 2,s: 24,272,793 msg/sec OptimistAtomicQueue2, 2,i: 24,012,250 msg/sec OptimistAtomicQueue2, 3,s: 29,880,997 msg/sec OptimistAtomicQueue2, 3,i: 30,266,150 msg/sec OptimistAtomicQueue2, 4,s: 33,143,445 msg/sec OptimistAtomicQueue2, 4,i: 33,389,751 msg/sec OptimistAtomicQueue2, 5,s: 36,995,077 msg/sec OptimistAtomicQueue2, 5,i: 40,004,442 msg/sec OptimistAtomicQueue2, 6,s: 40,395,151 msg/sec OptimistAtomicQueue2, 6,i: 49,347,863 msg/sec OptimistAtomicQueue2, 7,s: 42,732,616 msg/sec OptimistAtomicQueue2, 7,i: 48,035,547 msg/sec OptimistAtomicQueue2, 8,s: 44,013,302 msg/sec OptimistAtomicQueue2, 8,i: 48,322,233 msg/sec OptimistAtomicQueueB2, 1,s: 77,360,464 msg/sec OptimistAtomicQueueB2, 1,i: 33,916,177 msg/sec OptimistAtomicQueueB2, 2,s: 27,292,541 msg/sec OptimistAtomicQueueB2, 2,i: 24,630,839 msg/sec OptimistAtomicQueueB2, 3,s: 29,657,543 msg/sec OptimistAtomicQueueB2, 3,i: 29,339,303 msg/sec OptimistAtomicQueueB2, 4,s: 33,316,047 msg/sec OptimistAtomicQueueB2, 4,i: 32,263,630 msg/sec OptimistAtomicQueueB2, 5,s: 34,331,615 msg/sec OptimistAtomicQueueB2, 5,i: 39,328,797 msg/sec OptimistAtomicQueueB2, 6,s: 37,179,079 msg/sec OptimistAtomicQueueB2, 6,i: 42,485,682 msg/sec OptimistAtomicQueueB2, 7,s: 40,697,437 msg/sec OptimistAtomicQueueB2, 7,i: 43,055,389 msg/sec OptimistAtomicQueueB2, 8,s: 42,382,636 msg/sec OptimistAtomicQueueB2, 8,i: 45,987,445 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000130 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000298 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [150] 283m:27s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,578,460 msg/sec boost::lockfree::spsc_queue, 1,i: 67,229,435 msg/sec boost::lockfree::queue, 1,s: 6,934,231 msg/sec boost::lockfree::queue, 1,i: 6,889,319 msg/sec boost::lockfree::queue, 2,s: 7,641,902 msg/sec boost::lockfree::queue, 2,i: 7,487,678 msg/sec boost::lockfree::queue, 3,s: 7,374,427 msg/sec boost::lockfree::queue, 3,i: 7,569,168 msg/sec boost::lockfree::queue, 4,s: 6,429,613 msg/sec boost::lockfree::queue, 4,i: 6,759,408 msg/sec boost::lockfree::queue, 5,s: 6,430,232 msg/sec boost::lockfree::queue, 5,i: 6,533,993 msg/sec boost::lockfree::queue, 6,s: 5,989,379 msg/sec boost::lockfree::queue, 6,i: 6,128,772 msg/sec boost::lockfree::queue, 7,s: 5,818,864 msg/sec boost::lockfree::queue, 7,i: 6,052,744 msg/sec boost::lockfree::queue, 8,s: 5,569,788 msg/sec boost::lockfree::queue, 8,i: 5,542,533 msg/sec moodycamel::ReaderWriterQueue, 1,s: 420,848,586 msg/sec moodycamel::ReaderWriterQueue, 1,i: 422,291,456 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,398,872 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,652,094 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,836,019 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,786,301 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,249,853 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,805,502 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,234,545 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,342,292 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,363,211 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,783,152 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,543,446 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,737,062 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,206,328 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,860,215 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,211,280 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,882,963 msg/sec pthread_spinlock, 1,s: 28,853,952 msg/sec pthread_spinlock, 1,i: 25,332,129 msg/sec pthread_spinlock, 2,s: 15,467,079 msg/sec pthread_spinlock, 2,i: 17,016,760 msg/sec pthread_spinlock, 3,s: 8,288,209 msg/sec pthread_spinlock, 3,i: 11,935,990 msg/sec pthread_spinlock, 4,s: 6,501,548 msg/sec pthread_spinlock, 4,i: 8,958,075 msg/sec pthread_spinlock, 5,s: 8,728,571 msg/sec pthread_spinlock, 5,i: 8,996,780 msg/sec pthread_spinlock, 6,s: 8,531,405 msg/sec pthread_spinlock, 6,i: 8,612,035 msg/sec pthread_spinlock, 7,s: 7,541,242 msg/sec pthread_spinlock, 7,i: 7,723,826 msg/sec pthread_spinlock, 8,s: 6,867,038 msg/sec pthread_spinlock, 8,i: 7,001,542 msg/sec std::mutex, 1,s: 7,025,759 msg/sec std::mutex, 1,i: 7,473,539 msg/sec std::mutex, 2,s: 6,105,639 msg/sec std::mutex, 2,i: 5,893,016 msg/sec std::mutex, 3,s: 6,010,881 msg/sec std::mutex, 3,i: 6,003,287 msg/sec std::mutex, 4,s: 6,204,159 msg/sec std::mutex, 4,i: 6,197,209 msg/sec std::mutex, 5,s: 6,028,279 msg/sec std::mutex, 5,i: 6,031,225 msg/sec std::mutex, 6,s: 5,886,877 msg/sec std::mutex, 6,i: 5,858,590 msg/sec std::mutex, 7,s: 5,775,894 msg/sec std::mutex, 7,i: 5,721,190 msg/sec std::mutex, 8,s: 5,673,717 msg/sec std::mutex, 8,i: 5,684,929 msg/sec tbb::spin_mutex, 1,s: 37,687,365 msg/sec tbb::spin_mutex, 1,i: 37,738,385 msg/sec tbb::spin_mutex, 2,s: 20,963,083 msg/sec tbb::spin_mutex, 2,i: 18,410,658 msg/sec tbb::spin_mutex, 3,s: 8,229,932 msg/sec tbb::spin_mutex, 3,i: 10,077,979 msg/sec tbb::spin_mutex, 4,s: 3,090,042 msg/sec tbb::spin_mutex, 4,i: 6,285,345 msg/sec tbb::spin_mutex, 5,s: 5,563,671 msg/sec tbb::spin_mutex, 5,i: 5,799,770 msg/sec tbb::spin_mutex, 6,s: 5,307,611 msg/sec tbb::spin_mutex, 6,i: 4,431,036 msg/sec tbb::spin_mutex, 7,s: 4,704,108 msg/sec tbb::spin_mutex, 7,i: 4,346,060 msg/sec tbb::spin_mutex, 8,s: 4,228,122 msg/sec tbb::spin_mutex, 8,i: 4,025,047 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,570,050 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,798,514 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,722,638 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,002,410 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,730,913 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,409,026 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,355,404 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,278,478 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,752,646 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,759,680 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,765,237 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,062,654 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,847,920 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,066,994 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,867,929 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,126,887 msg/sec xenium::michael_scott_queue, 1,s: 9,259,569 msg/sec xenium::michael_scott_queue, 1,i: 9,287,472 msg/sec xenium::michael_scott_queue, 2,s: 8,433,318 msg/sec xenium::michael_scott_queue, 2,i: 8,532,153 msg/sec xenium::michael_scott_queue, 3,s: 7,339,146 msg/sec xenium::michael_scott_queue, 3,i: 7,521,219 msg/sec xenium::michael_scott_queue, 4,s: 6,342,532 msg/sec xenium::michael_scott_queue, 4,i: 6,429,268 msg/sec xenium::michael_scott_queue, 5,s: 6,304,216 msg/sec xenium::michael_scott_queue, 5,i: 6,754,396 msg/sec xenium::michael_scott_queue, 6,s: 6,486,072 msg/sec xenium::michael_scott_queue, 6,i: 6,707,837 msg/sec xenium::michael_scott_queue, 7,s: 6,291,407 msg/sec xenium::michael_scott_queue, 7,i: 6,555,145 msg/sec xenium::michael_scott_queue, 8,s: 6,017,595 msg/sec xenium::michael_scott_queue, 8,i: 6,079,666 msg/sec xenium::ramalhete_queue, 1,s: 31,638,365 msg/sec xenium::ramalhete_queue, 1,i: 31,903,265 msg/sec xenium::ramalhete_queue, 2,s: 23,478,034 msg/sec xenium::ramalhete_queue, 2,i: 23,222,410 msg/sec xenium::ramalhete_queue, 3,s: 29,193,454 msg/sec xenium::ramalhete_queue, 3,i: 28,425,480 msg/sec xenium::ramalhete_queue, 4,s: 33,607,074 msg/sec xenium::ramalhete_queue, 4,i: 33,437,512 msg/sec xenium::ramalhete_queue, 5,s: 31,998,219 msg/sec xenium::ramalhete_queue, 5,i: 35,953,110 msg/sec xenium::ramalhete_queue, 6,s: 33,926,619 msg/sec xenium::ramalhete_queue, 6,i: 38,817,540 msg/sec xenium::ramalhete_queue, 7,s: 35,189,327 msg/sec xenium::ramalhete_queue, 7,i: 41,373,862 msg/sec xenium::ramalhete_queue, 8,s: 35,539,826 msg/sec xenium::ramalhete_queue, 8,i: 44,075,138 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,721,225 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,084,808 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,649,845 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,718,869 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,694,288 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,995,261 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,597,372 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,345,367 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,745,829 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,384,281 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,013,548 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,829,017 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,259,420 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,857,987 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,425,976 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,299,734 msg/sec AtomicQueue, 1,s: 63,034,028 msg/sec AtomicQueue, 1,i: 56,588,592 msg/sec AtomicQueue, 2,s: 12,221,109 msg/sec AtomicQueue, 2,i: 11,746,943 msg/sec AtomicQueue, 3,s: 10,785,841 msg/sec AtomicQueue, 3,i: 9,844,487 msg/sec AtomicQueue, 4,s: 8,162,260 msg/sec AtomicQueue, 4,i: 8,184,589 msg/sec AtomicQueue, 5,s: 8,002,922 msg/sec AtomicQueue, 5,i: 8,122,124 msg/sec AtomicQueue, 6,s: 7,891,469 msg/sec AtomicQueue, 6,i: 7,615,630 msg/sec AtomicQueue, 7,s: 7,096,954 msg/sec AtomicQueue, 7,i: 7,978,893 msg/sec AtomicQueue, 8,s: 6,351,261 msg/sec AtomicQueue, 8,i: 7,323,365 msg/sec AtomicQueueB, 1,s: 45,938,958 msg/sec AtomicQueueB, 1,i: 43,028,875 msg/sec AtomicQueueB, 2,s: 11,802,735 msg/sec AtomicQueueB, 2,i: 11,515,504 msg/sec AtomicQueueB, 3,s: 10,908,460 msg/sec AtomicQueueB, 3,i: 10,160,181 msg/sec AtomicQueueB, 4,s: 8,038,489 msg/sec AtomicQueueB, 4,i: 7,937,273 msg/sec AtomicQueueB, 5,s: 7,614,008 msg/sec AtomicQueueB, 5,i: 7,794,964 msg/sec AtomicQueueB, 6,s: 7,337,416 msg/sec AtomicQueueB, 6,i: 7,508,290 msg/sec AtomicQueueB, 7,s: 6,947,870 msg/sec AtomicQueueB, 7,i: 7,754,298 msg/sec AtomicQueueB, 8,s: 6,217,851 msg/sec AtomicQueueB, 8,i: 7,047,028 msg/sec OptimistAtomicQueue, 1,s: 757,478,633 msg/sec OptimistAtomicQueue, 1,i: 690,237,471 msg/sec OptimistAtomicQueue, 2,s: 32,615,110 msg/sec OptimistAtomicQueue, 2,i: 32,750,396 msg/sec OptimistAtomicQueue, 3,s: 36,653,331 msg/sec OptimistAtomicQueue, 3,i: 37,403,529 msg/sec OptimistAtomicQueue, 4,s: 39,298,663 msg/sec OptimistAtomicQueue, 4,i: 39,453,579 msg/sec OptimistAtomicQueue, 5,s: 42,255,624 msg/sec OptimistAtomicQueue, 5,i: 46,288,932 msg/sec OptimistAtomicQueue, 6,s: 42,556,558 msg/sec OptimistAtomicQueue, 6,i: 49,810,573 msg/sec OptimistAtomicQueue, 7,s: 45,118,894 msg/sec OptimistAtomicQueue, 7,i: 52,963,312 msg/sec OptimistAtomicQueue, 8,s: 46,402,802 msg/sec OptimistAtomicQueue, 8,i: 49,106,330 msg/sec OptimistAtomicQueueB, 1,s: 77,790,155 msg/sec OptimistAtomicQueueB, 1,i: 364,278,288 msg/sec OptimistAtomicQueueB, 2,s: 32,225,992 msg/sec OptimistAtomicQueueB, 2,i: 32,185,888 msg/sec OptimistAtomicQueueB, 3,s: 36,267,962 msg/sec OptimistAtomicQueueB, 3,i: 36,931,847 msg/sec OptimistAtomicQueueB, 4,s: 38,727,875 msg/sec OptimistAtomicQueueB, 4,i: 38,636,906 msg/sec OptimistAtomicQueueB, 5,s: 40,809,351 msg/sec OptimistAtomicQueueB, 5,i: 45,167,839 msg/sec OptimistAtomicQueueB, 6,s: 40,892,484 msg/sec OptimistAtomicQueueB, 6,i: 49,190,859 msg/sec OptimistAtomicQueueB, 7,s: 42,762,156 msg/sec OptimistAtomicQueueB, 7,i: 51,427,354 msg/sec OptimistAtomicQueueB, 8,s: 44,264,281 msg/sec OptimistAtomicQueueB, 8,i: 49,135,955 msg/sec AtomicQueue2, 1,s: 22,857,059 msg/sec AtomicQueue2, 1,i: 22,844,091 msg/sec AtomicQueue2, 2,s: 11,914,335 msg/sec AtomicQueue2, 2,i: 11,402,467 msg/sec AtomicQueue2, 3,s: 9,498,863 msg/sec AtomicQueue2, 3,i: 9,496,418 msg/sec AtomicQueue2, 4,s: 8,115,143 msg/sec AtomicQueue2, 4,i: 8,049,199 msg/sec AtomicQueue2, 5,s: 7,922,399 msg/sec AtomicQueue2, 5,i: 8,049,708 msg/sec AtomicQueue2, 6,s: 7,813,650 msg/sec AtomicQueue2, 6,i: 7,553,507 msg/sec AtomicQueue2, 7,s: 7,185,024 msg/sec AtomicQueue2, 7,i: 7,920,150 msg/sec AtomicQueue2, 8,s: 6,407,868 msg/sec AtomicQueue2, 8,i: 7,211,014 msg/sec AtomicQueueB2, 1,s: 33,467,826 msg/sec AtomicQueueB2, 1,i: 33,437,664 msg/sec AtomicQueueB2, 2,s: 11,254,134 msg/sec AtomicQueueB2, 2,i: 11,107,863 msg/sec AtomicQueueB2, 3,s: 9,579,900 msg/sec AtomicQueueB2, 3,i: 9,438,305 msg/sec AtomicQueueB2, 4,s: 7,984,554 msg/sec AtomicQueueB2, 4,i: 7,853,414 msg/sec AtomicQueueB2, 5,s: 7,548,081 msg/sec AtomicQueueB2, 5,i: 7,730,683 msg/sec AtomicQueueB2, 6,s: 7,352,286 msg/sec AtomicQueueB2, 6,i: 7,420,074 msg/sec AtomicQueueB2, 7,s: 6,926,340 msg/sec AtomicQueueB2, 7,i: 7,715,228 msg/sec AtomicQueueB2, 8,s: 6,281,822 msg/sec AtomicQueueB2, 8,i: 7,096,028 msg/sec OptimistAtomicQueue2, 1,s: 596,112,926 msg/sec OptimistAtomicQueue2, 1,i: 38,631,671 msg/sec OptimistAtomicQueue2, 2,s: 22,739,084 msg/sec OptimistAtomicQueue2, 2,i: 25,151,805 msg/sec OptimistAtomicQueue2, 3,s: 30,582,889 msg/sec OptimistAtomicQueue2, 3,i: 29,946,310 msg/sec OptimistAtomicQueue2, 4,s: 33,362,549 msg/sec OptimistAtomicQueue2, 4,i: 33,119,143 msg/sec OptimistAtomicQueue2, 5,s: 37,039,196 msg/sec OptimistAtomicQueue2, 5,i: 40,275,745 msg/sec OptimistAtomicQueue2, 6,s: 40,189,995 msg/sec OptimistAtomicQueue2, 6,i: 49,301,340 msg/sec OptimistAtomicQueue2, 7,s: 42,625,365 msg/sec OptimistAtomicQueue2, 7,i: 51,622,373 msg/sec OptimistAtomicQueue2, 8,s: 44,001,153 msg/sec OptimistAtomicQueue2, 8,i: 48,754,036 msg/sec OptimistAtomicQueueB2, 1,s: 76,320,542 msg/sec OptimistAtomicQueueB2, 1,i: 33,907,560 msg/sec OptimistAtomicQueueB2, 2,s: 27,105,172 msg/sec OptimistAtomicQueueB2, 2,i: 25,642,139 msg/sec OptimistAtomicQueueB2, 3,s: 29,733,637 msg/sec OptimistAtomicQueueB2, 3,i: 29,027,226 msg/sec OptimistAtomicQueueB2, 4,s: 33,171,451 msg/sec OptimistAtomicQueueB2, 4,i: 33,056,518 msg/sec OptimistAtomicQueueB2, 5,s: 34,699,087 msg/sec OptimistAtomicQueueB2, 5,i: 39,357,110 msg/sec OptimistAtomicQueueB2, 6,s: 37,317,432 msg/sec OptimistAtomicQueueB2, 6,i: 42,196,537 msg/sec OptimistAtomicQueueB2, 7,s: 40,071,001 msg/sec OptimistAtomicQueueB2, 7,i: 43,113,085 msg/sec OptimistAtomicQueueB2, 8,s: 41,936,459 msg/sec OptimistAtomicQueueB2, 8,i: 45,953,250 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000327 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000139 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000256 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [151] 282m:8s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,150,249 msg/sec boost::lockfree::spsc_queue, 1,i: 68,213,723 msg/sec boost::lockfree::queue, 1,s: 6,834,208 msg/sec boost::lockfree::queue, 1,i: 6,887,305 msg/sec boost::lockfree::queue, 2,s: 7,664,873 msg/sec boost::lockfree::queue, 2,i: 7,466,841 msg/sec boost::lockfree::queue, 3,s: 7,406,273 msg/sec boost::lockfree::queue, 3,i: 7,515,722 msg/sec boost::lockfree::queue, 4,s: 6,410,187 msg/sec boost::lockfree::queue, 4,i: 6,730,418 msg/sec boost::lockfree::queue, 5,s: 6,473,189 msg/sec boost::lockfree::queue, 5,i: 6,481,732 msg/sec boost::lockfree::queue, 6,s: 6,042,490 msg/sec boost::lockfree::queue, 6,i: 6,155,059 msg/sec boost::lockfree::queue, 7,s: 6,041,568 msg/sec boost::lockfree::queue, 7,i: 6,095,043 msg/sec boost::lockfree::queue, 8,s: 5,460,206 msg/sec boost::lockfree::queue, 8,i: 5,614,392 msg/sec moodycamel::ReaderWriterQueue, 1,s: 457,630,141 msg/sec moodycamel::ReaderWriterQueue, 1,i: 480,681,760 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,453,011 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,731,222 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,746,873 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,840,266 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,208,499 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,704,749 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,589,864 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,820,085 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,350,553 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,903,420 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,664,827 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,406,044 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,015,295 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,410,538 msg/sec moodycamel::ConcurrentQueue, 8,s: 52,272,164 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,880,768 msg/sec pthread_spinlock, 1,s: 28,984,378 msg/sec pthread_spinlock, 1,i: 25,407,254 msg/sec pthread_spinlock, 2,s: 15,570,338 msg/sec pthread_spinlock, 2,i: 17,068,132 msg/sec pthread_spinlock, 3,s: 8,309,340 msg/sec pthread_spinlock, 3,i: 12,137,814 msg/sec pthread_spinlock, 4,s: 6,544,474 msg/sec pthread_spinlock, 4,i: 8,931,621 msg/sec pthread_spinlock, 5,s: 8,611,895 msg/sec pthread_spinlock, 5,i: 8,959,178 msg/sec pthread_spinlock, 6,s: 8,568,090 msg/sec pthread_spinlock, 6,i: 9,002,070 msg/sec pthread_spinlock, 7,s: 7,507,017 msg/sec pthread_spinlock, 7,i: 8,042,892 msg/sec pthread_spinlock, 8,s: 6,941,854 msg/sec pthread_spinlock, 8,i: 6,805,898 msg/sec std::mutex, 1,s: 5,341,494 msg/sec std::mutex, 1,i: 6,260,428 msg/sec std::mutex, 2,s: 6,063,948 msg/sec std::mutex, 2,i: 6,055,662 msg/sec std::mutex, 3,s: 6,176,875 msg/sec std::mutex, 3,i: 6,222,376 msg/sec std::mutex, 4,s: 6,319,497 msg/sec std::mutex, 4,i: 6,377,710 msg/sec std::mutex, 5,s: 6,097,981 msg/sec std::mutex, 5,i: 6,131,208 msg/sec std::mutex, 6,s: 6,086,989 msg/sec std::mutex, 6,i: 6,009,703 msg/sec std::mutex, 7,s: 5,914,874 msg/sec std::mutex, 7,i: 5,947,948 msg/sec std::mutex, 8,s: 5,754,501 msg/sec std::mutex, 8,i: 5,801,977 msg/sec tbb::spin_mutex, 1,s: 38,015,742 msg/sec tbb::spin_mutex, 1,i: 37,542,686 msg/sec tbb::spin_mutex, 2,s: 21,172,664 msg/sec tbb::spin_mutex, 2,i: 18,403,265 msg/sec tbb::spin_mutex, 3,s: 7,428,193 msg/sec tbb::spin_mutex, 3,i: 11,232,138 msg/sec tbb::spin_mutex, 4,s: 3,157,116 msg/sec tbb::spin_mutex, 4,i: 6,365,949 msg/sec tbb::spin_mutex, 5,s: 5,504,485 msg/sec tbb::spin_mutex, 5,i: 5,929,302 msg/sec tbb::spin_mutex, 6,s: 5,296,291 msg/sec tbb::spin_mutex, 6,i: 4,334,938 msg/sec tbb::spin_mutex, 7,s: 4,828,500 msg/sec tbb::spin_mutex, 7,i: 4,382,337 msg/sec tbb::spin_mutex, 8,s: 4,237,959 msg/sec tbb::spin_mutex, 8,i: 4,059,462 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,352,610 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,310,505 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,835,784 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,603,687 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,212,280 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,538,316 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,146,379 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,497,285 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,512,357 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,535,141 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,738,587 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,653,335 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,831,448 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,821,847 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,098,257 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,070,650 msg/sec xenium::michael_scott_queue, 1,s: 9,337,377 msg/sec xenium::michael_scott_queue, 1,i: 9,339,693 msg/sec xenium::michael_scott_queue, 2,s: 8,429,258 msg/sec xenium::michael_scott_queue, 2,i: 8,520,295 msg/sec xenium::michael_scott_queue, 3,s: 7,125,855 msg/sec xenium::michael_scott_queue, 3,i: 7,580,043 msg/sec xenium::michael_scott_queue, 4,s: 6,317,958 msg/sec xenium::michael_scott_queue, 4,i: 6,302,395 msg/sec xenium::michael_scott_queue, 5,s: 6,281,438 msg/sec xenium::michael_scott_queue, 5,i: 6,736,336 msg/sec xenium::michael_scott_queue, 6,s: 6,510,925 msg/sec xenium::michael_scott_queue, 6,i: 6,913,494 msg/sec xenium::michael_scott_queue, 7,s: 6,312,967 msg/sec xenium::michael_scott_queue, 7,i: 6,445,495 msg/sec xenium::michael_scott_queue, 8,s: 5,956,786 msg/sec xenium::michael_scott_queue, 8,i: 6,233,082 msg/sec xenium::ramalhete_queue, 1,s: 31,872,506 msg/sec xenium::ramalhete_queue, 1,i: 32,308,046 msg/sec xenium::ramalhete_queue, 2,s: 23,444,847 msg/sec xenium::ramalhete_queue, 2,i: 23,375,276 msg/sec xenium::ramalhete_queue, 3,s: 29,208,137 msg/sec xenium::ramalhete_queue, 3,i: 28,469,763 msg/sec xenium::ramalhete_queue, 4,s: 33,861,708 msg/sec xenium::ramalhete_queue, 4,i: 33,497,185 msg/sec xenium::ramalhete_queue, 5,s: 32,217,355 msg/sec xenium::ramalhete_queue, 5,i: 38,482,890 msg/sec xenium::ramalhete_queue, 6,s: 34,137,267 msg/sec xenium::ramalhete_queue, 6,i: 39,223,476 msg/sec xenium::ramalhete_queue, 7,s: 35,196,457 msg/sec xenium::ramalhete_queue, 7,i: 40,705,291 msg/sec xenium::ramalhete_queue, 8,s: 35,588,680 msg/sec xenium::ramalhete_queue, 8,i: 44,272,112 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,439,478 msg/sec xenium::vyukov_bounded_queue, 1,i: 115,146,662 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,805,683 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,672,083 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,537,515 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,952,921 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,618,885 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,406,596 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,010,556 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,356,301 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,078,842 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,139,691 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,197,291 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,351,032 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,401,258 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,250,095 msg/sec AtomicQueue, 1,s: 60,408,947 msg/sec AtomicQueue, 1,i: 57,286,969 msg/sec AtomicQueue, 2,s: 12,266,619 msg/sec AtomicQueue, 2,i: 11,751,540 msg/sec AtomicQueue, 3,s: 10,761,519 msg/sec AtomicQueue, 3,i: 10,014,290 msg/sec AtomicQueue, 4,s: 8,157,692 msg/sec AtomicQueue, 4,i: 8,195,998 msg/sec AtomicQueue, 5,s: 8,029,306 msg/sec AtomicQueue, 5,i: 8,080,825 msg/sec AtomicQueue, 6,s: 7,810,103 msg/sec AtomicQueue, 6,i: 7,607,902 msg/sec AtomicQueue, 7,s: 7,119,377 msg/sec AtomicQueue, 7,i: 7,970,407 msg/sec AtomicQueue, 8,s: 6,362,098 msg/sec AtomicQueue, 8,i: 7,430,212 msg/sec AtomicQueueB, 1,s: 92,006,741 msg/sec AtomicQueueB, 1,i: 45,303,739 msg/sec AtomicQueueB, 2,s: 11,852,964 msg/sec AtomicQueueB, 2,i: 11,553,118 msg/sec AtomicQueueB, 3,s: 10,985,326 msg/sec AtomicQueueB, 3,i: 10,394,034 msg/sec AtomicQueueB, 4,s: 8,050,623 msg/sec AtomicQueueB, 4,i: 8,079,218 msg/sec AtomicQueueB, 5,s: 7,570,543 msg/sec AtomicQueueB, 5,i: 7,839,181 msg/sec AtomicQueueB, 6,s: 7,372,813 msg/sec AtomicQueueB, 6,i: 7,562,307 msg/sec AtomicQueueB, 7,s: 6,821,595 msg/sec AtomicQueueB, 7,i: 7,751,334 msg/sec AtomicQueueB, 8,s: 6,292,819 msg/sec AtomicQueueB, 8,i: 7,191,079 msg/sec OptimistAtomicQueue, 1,s: 745,860,659 msg/sec OptimistAtomicQueue, 1,i: 809,499,803 msg/sec OptimistAtomicQueue, 2,s: 32,639,615 msg/sec OptimistAtomicQueue, 2,i: 32,619,380 msg/sec OptimistAtomicQueue, 3,s: 36,650,452 msg/sec OptimistAtomicQueue, 3,i: 37,367,658 msg/sec OptimistAtomicQueue, 4,s: 39,271,252 msg/sec OptimistAtomicQueue, 4,i: 39,320,373 msg/sec OptimistAtomicQueue, 5,s: 41,657,102 msg/sec OptimistAtomicQueue, 5,i: 48,623,489 msg/sec OptimistAtomicQueue, 6,s: 42,513,302 msg/sec OptimistAtomicQueue, 6,i: 50,483,093 msg/sec OptimistAtomicQueue, 7,s: 44,590,836 msg/sec OptimistAtomicQueue, 7,i: 52,890,637 msg/sec OptimistAtomicQueue, 8,s: 46,332,923 msg/sec OptimistAtomicQueue, 8,i: 48,735,677 msg/sec OptimistAtomicQueueB, 1,s: 77,938,614 msg/sec OptimistAtomicQueueB, 1,i: 160,098,851 msg/sec OptimistAtomicQueueB, 2,s: 32,207,219 msg/sec OptimistAtomicQueueB, 2,i: 32,086,339 msg/sec OptimistAtomicQueueB, 3,s: 36,285,602 msg/sec OptimistAtomicQueueB, 3,i: 36,932,463 msg/sec OptimistAtomicQueueB, 4,s: 38,671,694 msg/sec OptimistAtomicQueueB, 4,i: 38,653,446 msg/sec OptimistAtomicQueueB, 5,s: 41,085,634 msg/sec OptimistAtomicQueueB, 5,i: 45,412,503 msg/sec OptimistAtomicQueueB, 6,s: 40,930,329 msg/sec OptimistAtomicQueueB, 6,i: 49,252,422 msg/sec OptimistAtomicQueueB, 7,s: 42,362,662 msg/sec OptimistAtomicQueueB, 7,i: 48,233,687 msg/sec OptimistAtomicQueueB, 8,s: 43,980,602 msg/sec OptimistAtomicQueueB, 8,i: 47,721,956 msg/sec AtomicQueue2, 1,s: 23,287,133 msg/sec AtomicQueue2, 1,i: 22,879,778 msg/sec AtomicQueue2, 2,s: 11,758,596 msg/sec AtomicQueue2, 2,i: 11,383,293 msg/sec AtomicQueue2, 3,s: 9,412,052 msg/sec AtomicQueue2, 3,i: 9,348,468 msg/sec AtomicQueue2, 4,s: 8,123,943 msg/sec AtomicQueue2, 4,i: 8,046,756 msg/sec AtomicQueue2, 5,s: 7,913,948 msg/sec AtomicQueue2, 5,i: 8,036,380 msg/sec AtomicQueue2, 6,s: 7,899,948 msg/sec AtomicQueue2, 6,i: 7,528,400 msg/sec AtomicQueue2, 7,s: 7,070,396 msg/sec AtomicQueue2, 7,i: 7,858,534 msg/sec AtomicQueue2, 8,s: 6,373,589 msg/sec AtomicQueue2, 8,i: 7,358,438 msg/sec AtomicQueueB2, 1,s: 32,698,321 msg/sec AtomicQueueB2, 1,i: 32,614,886 msg/sec AtomicQueueB2, 2,s: 11,358,010 msg/sec AtomicQueueB2, 2,i: 11,152,883 msg/sec AtomicQueueB2, 3,s: 9,603,555 msg/sec AtomicQueueB2, 3,i: 9,618,348 msg/sec AtomicQueueB2, 4,s: 7,915,832 msg/sec AtomicQueueB2, 4,i: 7,844,989 msg/sec AtomicQueueB2, 5,s: 7,471,071 msg/sec AtomicQueueB2, 5,i: 7,655,728 msg/sec AtomicQueueB2, 6,s: 7,273,705 msg/sec AtomicQueueB2, 6,i: 7,403,366 msg/sec AtomicQueueB2, 7,s: 6,902,057 msg/sec AtomicQueueB2, 7,i: 7,737,383 msg/sec AtomicQueueB2, 8,s: 6,244,557 msg/sec AtomicQueueB2, 8,i: 7,122,028 msg/sec OptimistAtomicQueue2, 1,s: 431,126,236 msg/sec OptimistAtomicQueue2, 1,i: 32,663,462 msg/sec OptimistAtomicQueue2, 2,s: 25,157,526 msg/sec OptimistAtomicQueue2, 2,i: 24,031,360 msg/sec OptimistAtomicQueue2, 3,s: 30,318,903 msg/sec OptimistAtomicQueue2, 3,i: 29,942,679 msg/sec OptimistAtomicQueue2, 4,s: 33,194,398 msg/sec OptimistAtomicQueue2, 4,i: 33,155,451 msg/sec OptimistAtomicQueue2, 5,s: 37,087,291 msg/sec OptimistAtomicQueue2, 5,i: 42,728,130 msg/sec OptimistAtomicQueue2, 6,s: 40,483,775 msg/sec OptimistAtomicQueue2, 6,i: 49,232,405 msg/sec OptimistAtomicQueue2, 7,s: 42,723,213 msg/sec OptimistAtomicQueue2, 7,i: 48,045,391 msg/sec OptimistAtomicQueue2, 8,s: 44,162,645 msg/sec OptimistAtomicQueue2, 8,i: 49,227,556 msg/sec OptimistAtomicQueueB2, 1,s: 76,100,496 msg/sec OptimistAtomicQueueB2, 1,i: 33,926,314 msg/sec OptimistAtomicQueueB2, 2,s: 27,179,580 msg/sec OptimistAtomicQueueB2, 2,i: 24,709,599 msg/sec OptimistAtomicQueueB2, 3,s: 29,701,987 msg/sec OptimistAtomicQueueB2, 3,i: 29,179,162 msg/sec OptimistAtomicQueueB2, 4,s: 33,192,605 msg/sec OptimistAtomicQueueB2, 4,i: 32,073,145 msg/sec OptimistAtomicQueueB2, 5,s: 34,410,694 msg/sec OptimistAtomicQueueB2, 5,i: 40,013,909 msg/sec OptimistAtomicQueueB2, 6,s: 37,209,957 msg/sec OptimistAtomicQueueB2, 6,i: 42,414,707 msg/sec OptimistAtomicQueueB2, 7,s: 40,749,657 msg/sec OptimistAtomicQueueB2, 7,i: 43,170,179 msg/sec OptimistAtomicQueueB2, 8,s: 42,364,753 msg/sec OptimistAtomicQueueB2, 8,i: 45,594,992 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000247 sec/round-trip pthread_spinlock: 0.000000287 sec/round-trip std::mutex: 0.000000438 sec/round-trip tbb::spin_mutex: 0.000000258 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000201 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [152] 280m:49s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,497,991 msg/sec boost::lockfree::spsc_queue, 1,i: 70,975,822 msg/sec boost::lockfree::queue, 1,s: 6,824,675 msg/sec boost::lockfree::queue, 1,i: 6,785,609 msg/sec boost::lockfree::queue, 2,s: 7,501,293 msg/sec boost::lockfree::queue, 2,i: 7,571,930 msg/sec boost::lockfree::queue, 3,s: 7,359,355 msg/sec boost::lockfree::queue, 3,i: 7,573,503 msg/sec boost::lockfree::queue, 4,s: 6,417,121 msg/sec boost::lockfree::queue, 4,i: 6,771,191 msg/sec boost::lockfree::queue, 5,s: 6,397,320 msg/sec boost::lockfree::queue, 5,i: 6,433,483 msg/sec boost::lockfree::queue, 6,s: 6,006,560 msg/sec boost::lockfree::queue, 6,i: 6,093,737 msg/sec boost::lockfree::queue, 7,s: 5,908,541 msg/sec boost::lockfree::queue, 7,i: 5,927,089 msg/sec boost::lockfree::queue, 8,s: 5,449,961 msg/sec boost::lockfree::queue, 8,i: 5,566,251 msg/sec moodycamel::ReaderWriterQueue, 1,s: 485,292,836 msg/sec moodycamel::ReaderWriterQueue, 1,i: 506,825,353 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,258,086 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,892,532 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,308,946 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,020,194 msg/sec moodycamel::ConcurrentQueue, 3,s: 43,070,009 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,851,117 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,681,113 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,421,500 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,447,450 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,243,604 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,392,188 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,957,473 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,127,592 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,633,815 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,066,193 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,135,225 msg/sec pthread_spinlock, 1,s: 28,776,309 msg/sec pthread_spinlock, 1,i: 25,454,078 msg/sec pthread_spinlock, 2,s: 15,465,082 msg/sec pthread_spinlock, 2,i: 16,877,687 msg/sec pthread_spinlock, 3,s: 8,376,440 msg/sec pthread_spinlock, 3,i: 11,985,006 msg/sec pthread_spinlock, 4,s: 6,448,886 msg/sec pthread_spinlock, 4,i: 8,917,720 msg/sec pthread_spinlock, 5,s: 8,680,011 msg/sec pthread_spinlock, 5,i: 9,056,935 msg/sec pthread_spinlock, 6,s: 8,290,366 msg/sec pthread_spinlock, 6,i: 8,434,016 msg/sec pthread_spinlock, 7,s: 7,529,083 msg/sec pthread_spinlock, 7,i: 7,683,536 msg/sec pthread_spinlock, 8,s: 6,783,631 msg/sec pthread_spinlock, 8,i: 6,921,747 msg/sec std::mutex, 1,s: 5,653,231 msg/sec std::mutex, 1,i: 5,734,675 msg/sec std::mutex, 2,s: 4,917,384 msg/sec std::mutex, 2,i: 5,222,831 msg/sec std::mutex, 3,s: 5,925,027 msg/sec std::mutex, 3,i: 6,038,625 msg/sec std::mutex, 4,s: 6,206,678 msg/sec std::mutex, 4,i: 6,359,641 msg/sec std::mutex, 5,s: 6,110,922 msg/sec std::mutex, 5,i: 6,067,268 msg/sec std::mutex, 6,s: 6,004,741 msg/sec std::mutex, 6,i: 5,897,496 msg/sec std::mutex, 7,s: 5,883,571 msg/sec std::mutex, 7,i: 5,841,773 msg/sec std::mutex, 8,s: 5,809,373 msg/sec std::mutex, 8,i: 5,754,779 msg/sec tbb::spin_mutex, 1,s: 37,894,849 msg/sec tbb::spin_mutex, 1,i: 33,048,996 msg/sec tbb::spin_mutex, 2,s: 21,179,046 msg/sec tbb::spin_mutex, 2,i: 18,549,559 msg/sec tbb::spin_mutex, 3,s: 7,791,479 msg/sec tbb::spin_mutex, 3,i: 10,973,213 msg/sec tbb::spin_mutex, 4,s: 3,273,454 msg/sec tbb::spin_mutex, 4,i: 6,367,945 msg/sec tbb::spin_mutex, 5,s: 5,525,545 msg/sec tbb::spin_mutex, 5,i: 5,708,148 msg/sec tbb::spin_mutex, 6,s: 5,335,135 msg/sec tbb::spin_mutex, 6,i: 4,313,966 msg/sec tbb::spin_mutex, 7,s: 4,827,210 msg/sec tbb::spin_mutex, 7,i: 4,286,543 msg/sec tbb::spin_mutex, 8,s: 4,238,045 msg/sec tbb::spin_mutex, 8,i: 4,084,045 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,909,336 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,358,796 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,982,355 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,096,013 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,362,288 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,694,791 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,123,626 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,412,339 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,896,406 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,730,718 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,896,675 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,976,395 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,832,332 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,195,195 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,643,728 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,289,942 msg/sec xenium::michael_scott_queue, 1,s: 9,106,068 msg/sec xenium::michael_scott_queue, 1,i: 9,366,860 msg/sec xenium::michael_scott_queue, 2,s: 8,355,273 msg/sec xenium::michael_scott_queue, 2,i: 8,593,964 msg/sec xenium::michael_scott_queue, 3,s: 7,109,293 msg/sec xenium::michael_scott_queue, 3,i: 7,521,077 msg/sec xenium::michael_scott_queue, 4,s: 6,221,559 msg/sec xenium::michael_scott_queue, 4,i: 6,403,231 msg/sec xenium::michael_scott_queue, 5,s: 6,355,452 msg/sec xenium::michael_scott_queue, 5,i: 6,759,383 msg/sec xenium::michael_scott_queue, 6,s: 6,527,976 msg/sec xenium::michael_scott_queue, 6,i: 6,958,396 msg/sec xenium::michael_scott_queue, 7,s: 6,306,630 msg/sec xenium::michael_scott_queue, 7,i: 6,563,435 msg/sec xenium::michael_scott_queue, 8,s: 6,048,658 msg/sec xenium::michael_scott_queue, 8,i: 6,186,167 msg/sec xenium::ramalhete_queue, 1,s: 31,504,334 msg/sec xenium::ramalhete_queue, 1,i: 30,757,766 msg/sec xenium::ramalhete_queue, 2,s: 23,558,905 msg/sec xenium::ramalhete_queue, 2,i: 23,336,006 msg/sec xenium::ramalhete_queue, 3,s: 29,123,967 msg/sec xenium::ramalhete_queue, 3,i: 28,478,519 msg/sec xenium::ramalhete_queue, 4,s: 33,875,506 msg/sec xenium::ramalhete_queue, 4,i: 33,492,001 msg/sec xenium::ramalhete_queue, 5,s: 32,355,755 msg/sec xenium::ramalhete_queue, 5,i: 36,165,148 msg/sec xenium::ramalhete_queue, 6,s: 34,062,881 msg/sec xenium::ramalhete_queue, 6,i: 38,742,230 msg/sec xenium::ramalhete_queue, 7,s: 35,078,292 msg/sec xenium::ramalhete_queue, 7,i: 40,891,238 msg/sec xenium::ramalhete_queue, 8,s: 35,588,786 msg/sec xenium::ramalhete_queue, 8,i: 44,244,224 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,572,607 msg/sec xenium::vyukov_bounded_queue, 1,i: 122,127,365 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,068,125 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,574,858 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,870,264 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,234,678 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,425,995 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,297,720 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,950,997 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,361,151 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,891,729 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,311,695 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,124,529 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,356,505 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,376,970 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,217,546 msg/sec AtomicQueue, 1,s: 58,585,650 msg/sec AtomicQueue, 1,i: 57,379,942 msg/sec AtomicQueue, 2,s: 12,314,653 msg/sec AtomicQueue, 2,i: 11,718,751 msg/sec AtomicQueue, 3,s: 10,700,116 msg/sec AtomicQueue, 3,i: 10,002,421 msg/sec AtomicQueue, 4,s: 8,186,429 msg/sec AtomicQueue, 4,i: 8,199,185 msg/sec AtomicQueue, 5,s: 8,039,679 msg/sec AtomicQueue, 5,i: 8,134,139 msg/sec AtomicQueue, 6,s: 7,826,018 msg/sec AtomicQueue, 6,i: 7,593,114 msg/sec AtomicQueue, 7,s: 7,206,072 msg/sec AtomicQueue, 7,i: 7,960,974 msg/sec AtomicQueue, 8,s: 6,359,852 msg/sec AtomicQueue, 8,i: 7,465,902 msg/sec AtomicQueueB, 1,s: 44,653,347 msg/sec AtomicQueueB, 1,i: 43,933,191 msg/sec AtomicQueueB, 2,s: 11,746,058 msg/sec AtomicQueueB, 2,i: 11,522,747 msg/sec AtomicQueueB, 3,s: 10,976,736 msg/sec AtomicQueueB, 3,i: 10,332,054 msg/sec AtomicQueueB, 4,s: 8,040,029 msg/sec AtomicQueueB, 4,i: 7,968,735 msg/sec AtomicQueueB, 5,s: 7,626,094 msg/sec AtomicQueueB, 5,i: 7,829,888 msg/sec AtomicQueueB, 6,s: 7,157,578 msg/sec AtomicQueueB, 6,i: 7,574,032 msg/sec AtomicQueueB, 7,s: 6,847,291 msg/sec AtomicQueueB, 7,i: 7,733,365 msg/sec AtomicQueueB, 8,s: 6,184,365 msg/sec AtomicQueueB, 8,i: 7,119,167 msg/sec OptimistAtomicQueue, 1,s: 710,885,776 msg/sec OptimistAtomicQueue, 1,i: 545,130,985 msg/sec OptimistAtomicQueue, 2,s: 32,144,164 msg/sec OptimistAtomicQueue, 2,i: 32,719,503 msg/sec OptimistAtomicQueue, 3,s: 36,676,688 msg/sec OptimistAtomicQueue, 3,i: 37,326,455 msg/sec OptimistAtomicQueue, 4,s: 39,323,140 msg/sec OptimistAtomicQueue, 4,i: 39,389,899 msg/sec OptimistAtomicQueue, 5,s: 42,352,963 msg/sec OptimistAtomicQueue, 5,i: 46,384,225 msg/sec OptimistAtomicQueue, 6,s: 42,184,945 msg/sec OptimistAtomicQueue, 6,i: 50,388,200 msg/sec OptimistAtomicQueue, 7,s: 44,132,616 msg/sec OptimistAtomicQueue, 7,i: 52,867,731 msg/sec OptimistAtomicQueue, 8,s: 46,493,060 msg/sec OptimistAtomicQueue, 8,i: 49,223,161 msg/sec OptimistAtomicQueueB, 1,s: 172,953,325 msg/sec OptimistAtomicQueueB, 1,i: 76,498,331 msg/sec OptimistAtomicQueueB, 2,s: 32,117,297 msg/sec OptimistAtomicQueueB, 2,i: 32,184,656 msg/sec OptimistAtomicQueueB, 3,s: 36,287,925 msg/sec OptimistAtomicQueueB, 3,i: 36,913,680 msg/sec OptimistAtomicQueueB, 4,s: 38,692,315 msg/sec OptimistAtomicQueueB, 4,i: 38,635,295 msg/sec OptimistAtomicQueueB, 5,s: 40,986,956 msg/sec OptimistAtomicQueueB, 5,i: 46,245,337 msg/sec OptimistAtomicQueueB, 6,s: 40,341,479 msg/sec OptimistAtomicQueueB, 6,i: 49,211,849 msg/sec OptimistAtomicQueueB, 7,s: 42,707,914 msg/sec OptimistAtomicQueueB, 7,i: 51,548,757 msg/sec OptimistAtomicQueueB, 8,s: 44,473,363 msg/sec OptimistAtomicQueueB, 8,i: 48,158,844 msg/sec AtomicQueue2, 1,s: 22,970,097 msg/sec AtomicQueue2, 1,i: 22,850,575 msg/sec AtomicQueue2, 2,s: 11,971,151 msg/sec AtomicQueue2, 2,i: 11,425,583 msg/sec AtomicQueue2, 3,s: 9,420,708 msg/sec AtomicQueue2, 3,i: 9,358,499 msg/sec AtomicQueue2, 4,s: 8,002,412 msg/sec AtomicQueue2, 4,i: 8,035,037 msg/sec AtomicQueue2, 5,s: 7,911,972 msg/sec AtomicQueue2, 5,i: 8,040,157 msg/sec AtomicQueue2, 6,s: 7,775,355 msg/sec AtomicQueue2, 6,i: 7,529,933 msg/sec AtomicQueue2, 7,s: 7,164,593 msg/sec AtomicQueue2, 7,i: 7,862,566 msg/sec AtomicQueue2, 8,s: 6,364,916 msg/sec AtomicQueue2, 8,i: 7,360,593 msg/sec AtomicQueueB2, 1,s: 33,451,891 msg/sec AtomicQueueB2, 1,i: 33,439,455 msg/sec AtomicQueueB2, 2,s: 11,384,598 msg/sec AtomicQueueB2, 2,i: 11,078,523 msg/sec AtomicQueueB2, 3,s: 9,561,651 msg/sec AtomicQueueB2, 3,i: 9,511,405 msg/sec AtomicQueueB2, 4,s: 7,928,153 msg/sec AtomicQueueB2, 4,i: 7,830,784 msg/sec AtomicQueueB2, 5,s: 7,532,481 msg/sec AtomicQueueB2, 5,i: 7,717,398 msg/sec AtomicQueueB2, 6,s: 7,280,234 msg/sec AtomicQueueB2, 6,i: 7,457,973 msg/sec AtomicQueueB2, 7,s: 6,876,271 msg/sec AtomicQueueB2, 7,i: 7,718,110 msg/sec AtomicQueueB2, 8,s: 6,264,219 msg/sec AtomicQueueB2, 8,i: 7,127,530 msg/sec OptimistAtomicQueue2, 1,s: 32,681,656 msg/sec OptimistAtomicQueue2, 1,i: 29,549,869 msg/sec OptimistAtomicQueue2, 2,s: 26,290,037 msg/sec OptimistAtomicQueue2, 2,i: 24,008,121 msg/sec OptimistAtomicQueue2, 3,s: 29,874,602 msg/sec OptimistAtomicQueue2, 3,i: 29,951,489 msg/sec OptimistAtomicQueue2, 4,s: 33,262,674 msg/sec OptimistAtomicQueue2, 4,i: 33,390,840 msg/sec OptimistAtomicQueue2, 5,s: 37,565,277 msg/sec OptimistAtomicQueue2, 5,i: 41,415,457 msg/sec OptimistAtomicQueue2, 6,s: 40,089,920 msg/sec OptimistAtomicQueue2, 6,i: 49,362,471 msg/sec OptimistAtomicQueue2, 7,s: 42,868,715 msg/sec OptimistAtomicQueue2, 7,i: 51,518,749 msg/sec OptimistAtomicQueue2, 8,s: 43,908,267 msg/sec OptimistAtomicQueue2, 8,i: 48,752,219 msg/sec OptimistAtomicQueueB2, 1,s: 75,571,992 msg/sec OptimistAtomicQueueB2, 1,i: 63,391,218 msg/sec OptimistAtomicQueueB2, 2,s: 29,227,100 msg/sec OptimistAtomicQueueB2, 2,i: 24,777,684 msg/sec OptimistAtomicQueueB2, 3,s: 29,613,191 msg/sec OptimistAtomicQueueB2, 3,i: 29,040,250 msg/sec OptimistAtomicQueueB2, 4,s: 33,331,394 msg/sec OptimistAtomicQueueB2, 4,i: 32,964,519 msg/sec OptimistAtomicQueueB2, 5,s: 34,590,948 msg/sec OptimistAtomicQueueB2, 5,i: 39,871,022 msg/sec OptimistAtomicQueueB2, 6,s: 37,374,410 msg/sec OptimistAtomicQueueB2, 6,i: 41,728,418 msg/sec OptimistAtomicQueueB2, 7,s: 40,862,747 msg/sec OptimistAtomicQueueB2, 7,i: 45,464,105 msg/sec OptimistAtomicQueueB2, 8,s: 42,396,490 msg/sec OptimistAtomicQueueB2, 8,i: 45,414,439 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000153 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [153] 279m:29s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,681,109 msg/sec boost::lockfree::spsc_queue, 1,i: 67,618,608 msg/sec boost::lockfree::queue, 1,s: 6,853,030 msg/sec boost::lockfree::queue, 1,i: 6,956,113 msg/sec boost::lockfree::queue, 2,s: 7,432,564 msg/sec boost::lockfree::queue, 2,i: 7,402,161 msg/sec boost::lockfree::queue, 3,s: 7,349,419 msg/sec boost::lockfree::queue, 3,i: 7,524,372 msg/sec boost::lockfree::queue, 4,s: 6,412,878 msg/sec boost::lockfree::queue, 4,i: 6,918,988 msg/sec boost::lockfree::queue, 5,s: 6,407,089 msg/sec boost::lockfree::queue, 5,i: 6,449,598 msg/sec boost::lockfree::queue, 6,s: 5,948,526 msg/sec boost::lockfree::queue, 6,i: 6,152,195 msg/sec boost::lockfree::queue, 7,s: 5,991,929 msg/sec boost::lockfree::queue, 7,i: 5,951,570 msg/sec boost::lockfree::queue, 8,s: 5,453,196 msg/sec boost::lockfree::queue, 8,i: 5,665,645 msg/sec moodycamel::ReaderWriterQueue, 1,s: 153,878,823 msg/sec moodycamel::ReaderWriterQueue, 1,i: 383,205,299 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,100,336 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,641,686 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,936,422 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,776,429 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,415,384 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,921,824 msg/sec moodycamel::ConcurrentQueue, 4,s: 41,516,179 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,340,353 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,141,974 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,178,881 msg/sec moodycamel::ConcurrentQueue, 6,s: 29,708,149 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,139,192 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,903,378 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,066,742 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,197,502 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,874,444 msg/sec pthread_spinlock, 1,s: 28,806,176 msg/sec pthread_spinlock, 1,i: 28,504,460 msg/sec pthread_spinlock, 2,s: 15,458,104 msg/sec pthread_spinlock, 2,i: 17,064,951 msg/sec pthread_spinlock, 3,s: 8,422,932 msg/sec pthread_spinlock, 3,i: 12,023,907 msg/sec pthread_spinlock, 4,s: 6,500,865 msg/sec pthread_spinlock, 4,i: 8,925,962 msg/sec pthread_spinlock, 5,s: 8,724,354 msg/sec pthread_spinlock, 5,i: 9,039,133 msg/sec pthread_spinlock, 6,s: 8,297,520 msg/sec pthread_spinlock, 6,i: 8,527,635 msg/sec pthread_spinlock, 7,s: 7,464,436 msg/sec pthread_spinlock, 7,i: 7,435,889 msg/sec pthread_spinlock, 8,s: 6,718,384 msg/sec pthread_spinlock, 8,i: 7,171,172 msg/sec std::mutex, 1,s: 7,018,727 msg/sec std::mutex, 1,i: 7,345,973 msg/sec std::mutex, 2,s: 5,180,108 msg/sec std::mutex, 2,i: 5,646,667 msg/sec std::mutex, 3,s: 5,459,400 msg/sec std::mutex, 3,i: 5,575,408 msg/sec std::mutex, 4,s: 6,295,710 msg/sec std::mutex, 4,i: 6,179,580 msg/sec std::mutex, 5,s: 6,031,776 msg/sec std::mutex, 5,i: 6,135,504 msg/sec std::mutex, 6,s: 5,979,523 msg/sec std::mutex, 6,i: 5,970,035 msg/sec std::mutex, 7,s: 5,783,379 msg/sec std::mutex, 7,i: 5,794,774 msg/sec std::mutex, 8,s: 5,693,066 msg/sec std::mutex, 8,i: 5,714,468 msg/sec tbb::spin_mutex, 1,s: 37,700,175 msg/sec tbb::spin_mutex, 1,i: 33,169,912 msg/sec tbb::spin_mutex, 2,s: 21,247,000 msg/sec tbb::spin_mutex, 2,i: 18,500,293 msg/sec tbb::spin_mutex, 3,s: 7,996,300 msg/sec tbb::spin_mutex, 3,i: 10,200,203 msg/sec tbb::spin_mutex, 4,s: 3,215,577 msg/sec tbb::spin_mutex, 4,i: 6,387,622 msg/sec tbb::spin_mutex, 5,s: 5,338,755 msg/sec tbb::spin_mutex, 5,i: 5,761,110 msg/sec tbb::spin_mutex, 6,s: 5,368,294 msg/sec tbb::spin_mutex, 6,i: 4,381,458 msg/sec tbb::spin_mutex, 7,s: 4,837,403 msg/sec tbb::spin_mutex, 7,i: 4,350,778 msg/sec tbb::spin_mutex, 8,s: 4,253,096 msg/sec tbb::spin_mutex, 8,i: 4,078,202 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,634,153 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,377,435 msg/sec tbb::concurrent_bounded_queue, 2,s: 15,021,686 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,203,320 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,439,256 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,731,245 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,402,128 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,305,250 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,645,028 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,852,823 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,089,093 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,874,628 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,028,617 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,996,106 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,004,765 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,101,232 msg/sec xenium::michael_scott_queue, 1,s: 10,151,493 msg/sec xenium::michael_scott_queue, 1,i: 9,855,378 msg/sec xenium::michael_scott_queue, 2,s: 8,483,142 msg/sec xenium::michael_scott_queue, 2,i: 8,500,914 msg/sec xenium::michael_scott_queue, 3,s: 7,155,495 msg/sec xenium::michael_scott_queue, 3,i: 7,651,553 msg/sec xenium::michael_scott_queue, 4,s: 6,297,522 msg/sec xenium::michael_scott_queue, 4,i: 6,349,264 msg/sec xenium::michael_scott_queue, 5,s: 6,286,680 msg/sec xenium::michael_scott_queue, 5,i: 6,599,338 msg/sec xenium::michael_scott_queue, 6,s: 6,495,553 msg/sec xenium::michael_scott_queue, 6,i: 6,677,906 msg/sec xenium::michael_scott_queue, 7,s: 6,232,969 msg/sec xenium::michael_scott_queue, 7,i: 6,584,989 msg/sec xenium::michael_scott_queue, 8,s: 5,974,313 msg/sec xenium::michael_scott_queue, 8,i: 6,080,420 msg/sec xenium::ramalhete_queue, 1,s: 31,727,636 msg/sec xenium::ramalhete_queue, 1,i: 31,330,344 msg/sec xenium::ramalhete_queue, 2,s: 24,314,176 msg/sec xenium::ramalhete_queue, 2,i: 23,389,302 msg/sec xenium::ramalhete_queue, 3,s: 29,455,869 msg/sec xenium::ramalhete_queue, 3,i: 28,519,187 msg/sec xenium::ramalhete_queue, 4,s: 33,943,466 msg/sec xenium::ramalhete_queue, 4,i: 33,480,435 msg/sec xenium::ramalhete_queue, 5,s: 32,059,135 msg/sec xenium::ramalhete_queue, 5,i: 36,307,234 msg/sec xenium::ramalhete_queue, 6,s: 33,782,210 msg/sec xenium::ramalhete_queue, 6,i: 38,941,436 msg/sec xenium::ramalhete_queue, 7,s: 35,184,912 msg/sec xenium::ramalhete_queue, 7,i: 41,098,220 msg/sec xenium::ramalhete_queue, 8,s: 35,606,604 msg/sec xenium::ramalhete_queue, 8,i: 43,974,710 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,723,877 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,819,388 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,575,659 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,363,618 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,735,865 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,841,523 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,381,998 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,496,044 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,813,208 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,263,110 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,139,246 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,262,274 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,143,887 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,360,015 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,391,255 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,547,358 msg/sec AtomicQueue, 1,s: 279,023,598 msg/sec AtomicQueue, 1,i: 134,982,623 msg/sec AtomicQueue, 2,s: 12,352,849 msg/sec AtomicQueue, 2,i: 11,742,335 msg/sec AtomicQueue, 3,s: 10,776,161 msg/sec AtomicQueue, 3,i: 9,874,746 msg/sec AtomicQueue, 4,s: 8,214,681 msg/sec AtomicQueue, 4,i: 8,209,356 msg/sec AtomicQueue, 5,s: 8,023,118 msg/sec AtomicQueue, 5,i: 8,090,084 msg/sec AtomicQueue, 6,s: 7,816,832 msg/sec AtomicQueue, 6,i: 7,612,690 msg/sec AtomicQueue, 7,s: 7,096,541 msg/sec AtomicQueue, 7,i: 7,792,781 msg/sec AtomicQueue, 8,s: 6,342,426 msg/sec AtomicQueue, 8,i: 7,486,723 msg/sec AtomicQueueB, 1,s: 98,015,370 msg/sec AtomicQueueB, 1,i: 43,062,099 msg/sec AtomicQueueB, 2,s: 11,813,013 msg/sec AtomicQueueB, 2,i: 11,525,185 msg/sec AtomicQueueB, 3,s: 11,007,524 msg/sec AtomicQueueB, 3,i: 10,317,432 msg/sec AtomicQueueB, 4,s: 8,084,727 msg/sec AtomicQueueB, 4,i: 8,087,945 msg/sec AtomicQueueB, 5,s: 7,629,681 msg/sec AtomicQueueB, 5,i: 7,851,415 msg/sec AtomicQueueB, 6,s: 7,401,807 msg/sec AtomicQueueB, 6,i: 7,535,068 msg/sec AtomicQueueB, 7,s: 6,872,594 msg/sec AtomicQueueB, 7,i: 7,730,853 msg/sec AtomicQueueB, 8,s: 6,205,174 msg/sec AtomicQueueB, 8,i: 7,169,578 msg/sec OptimistAtomicQueue, 1,s: 795,647,173 msg/sec OptimistAtomicQueue, 1,i: 526,932,508 msg/sec OptimistAtomicQueue, 2,s: 32,656,708 msg/sec OptimistAtomicQueue, 2,i: 32,739,636 msg/sec OptimistAtomicQueue, 3,s: 36,676,692 msg/sec OptimistAtomicQueue, 3,i: 37,392,407 msg/sec OptimistAtomicQueue, 4,s: 39,234,011 msg/sec OptimistAtomicQueue, 4,i: 39,341,597 msg/sec OptimistAtomicQueue, 5,s: 41,701,433 msg/sec OptimistAtomicQueue, 5,i: 46,061,539 msg/sec OptimistAtomicQueue, 6,s: 42,241,052 msg/sec OptimistAtomicQueue, 6,i: 50,389,975 msg/sec OptimistAtomicQueue, 7,s: 44,993,616 msg/sec OptimistAtomicQueue, 7,i: 52,876,563 msg/sec OptimistAtomicQueue, 8,s: 46,435,048 msg/sec OptimistAtomicQueue, 8,i: 49,038,132 msg/sec OptimistAtomicQueueB, 1,s: 141,274,510 msg/sec OptimistAtomicQueueB, 1,i: 76,460,222 msg/sec OptimistAtomicQueueB, 2,s: 32,117,855 msg/sec OptimistAtomicQueueB, 2,i: 32,222,157 msg/sec OptimistAtomicQueueB, 3,s: 36,295,575 msg/sec OptimistAtomicQueueB, 3,i: 36,742,821 msg/sec OptimistAtomicQueueB, 4,s: 38,677,052 msg/sec OptimistAtomicQueueB, 4,i: 38,674,725 msg/sec OptimistAtomicQueueB, 5,s: 40,986,893 msg/sec OptimistAtomicQueueB, 5,i: 45,453,877 msg/sec OptimistAtomicQueueB, 6,s: 41,090,092 msg/sec OptimistAtomicQueueB, 6,i: 49,057,590 msg/sec OptimistAtomicQueueB, 7,s: 42,491,493 msg/sec OptimistAtomicQueueB, 7,i: 51,399,223 msg/sec OptimistAtomicQueueB, 8,s: 44,460,159 msg/sec OptimistAtomicQueueB, 8,i: 47,621,183 msg/sec AtomicQueue2, 1,s: 22,974,917 msg/sec AtomicQueue2, 1,i: 22,905,686 msg/sec AtomicQueue2, 2,s: 11,967,965 msg/sec AtomicQueue2, 2,i: 11,682,402 msg/sec AtomicQueue2, 3,s: 9,409,032 msg/sec AtomicQueue2, 3,i: 9,462,365 msg/sec AtomicQueue2, 4,s: 8,001,030 msg/sec AtomicQueue2, 4,i: 8,071,587 msg/sec AtomicQueue2, 5,s: 7,932,910 msg/sec AtomicQueue2, 5,i: 8,015,684 msg/sec AtomicQueue2, 6,s: 7,724,874 msg/sec AtomicQueue2, 6,i: 7,524,666 msg/sec AtomicQueue2, 7,s: 7,190,196 msg/sec AtomicQueue2, 7,i: 7,876,553 msg/sec AtomicQueue2, 8,s: 6,377,180 msg/sec AtomicQueue2, 8,i: 7,363,289 msg/sec AtomicQueueB2, 1,s: 32,714,027 msg/sec AtomicQueueB2, 1,i: 36,172,726 msg/sec AtomicQueueB2, 2,s: 11,479,303 msg/sec AtomicQueueB2, 2,i: 11,129,819 msg/sec AtomicQueueB2, 3,s: 9,500,822 msg/sec AtomicQueueB2, 3,i: 9,543,534 msg/sec AtomicQueueB2, 4,s: 7,901,051 msg/sec AtomicQueueB2, 4,i: 7,841,516 msg/sec AtomicQueueB2, 5,s: 7,442,106 msg/sec AtomicQueueB2, 5,i: 7,690,463 msg/sec AtomicQueueB2, 6,s: 7,192,901 msg/sec AtomicQueueB2, 6,i: 7,421,145 msg/sec AtomicQueueB2, 7,s: 6,852,046 msg/sec AtomicQueueB2, 7,i: 7,705,416 msg/sec AtomicQueueB2, 8,s: 6,291,288 msg/sec AtomicQueueB2, 8,i: 7,109,691 msg/sec OptimistAtomicQueue2, 1,s: 402,688,185 msg/sec OptimistAtomicQueue2, 1,i: 38,840,162 msg/sec OptimistAtomicQueue2, 2,s: 24,803,330 msg/sec OptimistAtomicQueue2, 2,i: 24,015,950 msg/sec OptimistAtomicQueue2, 3,s: 30,732,419 msg/sec OptimistAtomicQueue2, 3,i: 30,059,484 msg/sec OptimistAtomicQueue2, 4,s: 33,185,653 msg/sec OptimistAtomicQueue2, 4,i: 33,183,744 msg/sec OptimistAtomicQueue2, 5,s: 37,236,177 msg/sec OptimistAtomicQueue2, 5,i: 40,329,798 msg/sec OptimistAtomicQueue2, 6,s: 40,043,865 msg/sec OptimistAtomicQueue2, 6,i: 49,277,077 msg/sec OptimistAtomicQueue2, 7,s: 43,223,416 msg/sec OptimistAtomicQueue2, 7,i: 51,626,870 msg/sec OptimistAtomicQueue2, 8,s: 43,757,557 msg/sec OptimistAtomicQueue2, 8,i: 48,995,497 msg/sec OptimistAtomicQueueB2, 1,s: 78,398,171 msg/sec OptimistAtomicQueueB2, 1,i: 38,053,137 msg/sec OptimistAtomicQueueB2, 2,s: 28,542,579 msg/sec OptimistAtomicQueueB2, 2,i: 26,223,712 msg/sec OptimistAtomicQueueB2, 3,s: 29,679,999 msg/sec OptimistAtomicQueueB2, 3,i: 29,252,453 msg/sec OptimistAtomicQueueB2, 4,s: 33,392,138 msg/sec OptimistAtomicQueueB2, 4,i: 32,102,107 msg/sec OptimistAtomicQueueB2, 5,s: 34,501,634 msg/sec OptimistAtomicQueueB2, 5,i: 38,959,451 msg/sec OptimistAtomicQueueB2, 6,s: 37,502,426 msg/sec OptimistAtomicQueueB2, 6,i: 42,544,834 msg/sec OptimistAtomicQueueB2, 7,s: 40,151,258 msg/sec OptimistAtomicQueueB2, 7,i: 43,139,699 msg/sec OptimistAtomicQueueB2, 8,s: 42,445,123 msg/sec OptimistAtomicQueueB2, 8,i: 45,698,186 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000121 sec/round-trip moodycamel::ConcurrentQueue: 0.000000222 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000246 sec/round-trip tbb::concurrent_bounded_queue: 0.000000268 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000201 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [154] 278m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,319,983 msg/sec boost::lockfree::spsc_queue, 1,i: 69,520,714 msg/sec boost::lockfree::queue, 1,s: 6,909,937 msg/sec boost::lockfree::queue, 1,i: 6,927,549 msg/sec boost::lockfree::queue, 2,s: 7,601,661 msg/sec boost::lockfree::queue, 2,i: 7,439,978 msg/sec boost::lockfree::queue, 3,s: 7,457,140 msg/sec boost::lockfree::queue, 3,i: 7,549,616 msg/sec boost::lockfree::queue, 4,s: 6,426,182 msg/sec boost::lockfree::queue, 4,i: 6,762,285 msg/sec boost::lockfree::queue, 5,s: 6,430,990 msg/sec boost::lockfree::queue, 5,i: 6,485,548 msg/sec boost::lockfree::queue, 6,s: 5,977,840 msg/sec boost::lockfree::queue, 6,i: 6,150,398 msg/sec boost::lockfree::queue, 7,s: 5,826,442 msg/sec boost::lockfree::queue, 7,i: 5,932,954 msg/sec boost::lockfree::queue, 8,s: 5,475,152 msg/sec boost::lockfree::queue, 8,i: 5,553,288 msg/sec moodycamel::ReaderWriterQueue, 1,s: 457,682,242 msg/sec moodycamel::ReaderWriterQueue, 1,i: 457,760,965 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,823,585 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,796,051 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,298,001 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,050,350 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,442,844 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,764,824 msg/sec moodycamel::ConcurrentQueue, 4,s: 15,736,506 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,318,120 msg/sec moodycamel::ConcurrentQueue, 5,s: 16,888,207 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,275,335 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,300,416 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,048,846 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,067,923 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,125,868 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,081,598 msg/sec moodycamel::ConcurrentQueue, 8,i: 19,714,059 msg/sec pthread_spinlock, 1,s: 28,996,846 msg/sec pthread_spinlock, 1,i: 25,475,901 msg/sec pthread_spinlock, 2,s: 15,603,429 msg/sec pthread_spinlock, 2,i: 17,007,338 msg/sec pthread_spinlock, 3,s: 8,278,007 msg/sec pthread_spinlock, 3,i: 12,105,828 msg/sec pthread_spinlock, 4,s: 6,513,287 msg/sec pthread_spinlock, 4,i: 8,941,860 msg/sec pthread_spinlock, 5,s: 8,513,670 msg/sec pthread_spinlock, 5,i: 9,452,109 msg/sec pthread_spinlock, 6,s: 8,287,741 msg/sec pthread_spinlock, 6,i: 8,963,401 msg/sec pthread_spinlock, 7,s: 7,527,811 msg/sec pthread_spinlock, 7,i: 7,740,589 msg/sec pthread_spinlock, 8,s: 6,646,894 msg/sec pthread_spinlock, 8,i: 6,925,020 msg/sec std::mutex, 1,s: 7,651,974 msg/sec std::mutex, 1,i: 7,454,258 msg/sec std::mutex, 2,s: 6,519,329 msg/sec std::mutex, 2,i: 6,205,317 msg/sec std::mutex, 3,s: 6,052,292 msg/sec std::mutex, 3,i: 5,552,820 msg/sec std::mutex, 4,s: 5,707,338 msg/sec std::mutex, 4,i: 6,236,786 msg/sec std::mutex, 5,s: 6,054,334 msg/sec std::mutex, 5,i: 6,024,288 msg/sec std::mutex, 6,s: 5,854,172 msg/sec std::mutex, 6,i: 5,868,411 msg/sec std::mutex, 7,s: 5,741,089 msg/sec std::mutex, 7,i: 5,761,113 msg/sec std::mutex, 8,s: 5,635,448 msg/sec std::mutex, 8,i: 5,663,493 msg/sec tbb::spin_mutex, 1,s: 37,763,329 msg/sec tbb::spin_mutex, 1,i: 37,530,716 msg/sec tbb::spin_mutex, 2,s: 21,175,523 msg/sec tbb::spin_mutex, 2,i: 18,389,434 msg/sec tbb::spin_mutex, 3,s: 8,565,437 msg/sec tbb::spin_mutex, 3,i: 10,259,165 msg/sec tbb::spin_mutex, 4,s: 3,176,198 msg/sec tbb::spin_mutex, 4,i: 6,362,497 msg/sec tbb::spin_mutex, 5,s: 5,551,502 msg/sec tbb::spin_mutex, 5,i: 5,693,185 msg/sec tbb::spin_mutex, 6,s: 5,309,619 msg/sec tbb::spin_mutex, 6,i: 4,383,557 msg/sec tbb::spin_mutex, 7,s: 4,850,234 msg/sec tbb::spin_mutex, 7,i: 4,351,745 msg/sec tbb::spin_mutex, 8,s: 4,213,861 msg/sec tbb::spin_mutex, 8,i: 4,073,116 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,250,007 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,141,147 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,765,808 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,713,929 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,412,141 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,550,671 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,083,154 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,465,786 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,636,284 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,582,157 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,726,839 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,552,153 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,832,872 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,721,754 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,037,226 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,078,010 msg/sec xenium::michael_scott_queue, 1,s: 9,444,885 msg/sec xenium::michael_scott_queue, 1,i: 9,429,871 msg/sec xenium::michael_scott_queue, 2,s: 8,376,702 msg/sec xenium::michael_scott_queue, 2,i: 8,421,364 msg/sec xenium::michael_scott_queue, 3,s: 7,265,437 msg/sec xenium::michael_scott_queue, 3,i: 7,565,161 msg/sec xenium::michael_scott_queue, 4,s: 6,301,859 msg/sec xenium::michael_scott_queue, 4,i: 6,396,632 msg/sec xenium::michael_scott_queue, 5,s: 6,298,134 msg/sec xenium::michael_scott_queue, 5,i: 6,630,912 msg/sec xenium::michael_scott_queue, 6,s: 6,541,540 msg/sec xenium::michael_scott_queue, 6,i: 6,713,851 msg/sec xenium::michael_scott_queue, 7,s: 6,304,133 msg/sec xenium::michael_scott_queue, 7,i: 6,507,696 msg/sec xenium::michael_scott_queue, 8,s: 5,995,614 msg/sec xenium::michael_scott_queue, 8,i: 6,294,461 msg/sec xenium::ramalhete_queue, 1,s: 31,576,371 msg/sec xenium::ramalhete_queue, 1,i: 32,227,039 msg/sec xenium::ramalhete_queue, 2,s: 24,223,185 msg/sec xenium::ramalhete_queue, 2,i: 23,395,806 msg/sec xenium::ramalhete_queue, 3,s: 29,241,480 msg/sec xenium::ramalhete_queue, 3,i: 28,504,733 msg/sec xenium::ramalhete_queue, 4,s: 33,908,212 msg/sec xenium::ramalhete_queue, 4,i: 33,490,370 msg/sec xenium::ramalhete_queue, 5,s: 32,133,768 msg/sec xenium::ramalhete_queue, 5,i: 38,509,489 msg/sec xenium::ramalhete_queue, 6,s: 33,984,364 msg/sec xenium::ramalhete_queue, 6,i: 39,868,720 msg/sec xenium::ramalhete_queue, 7,s: 35,206,564 msg/sec xenium::ramalhete_queue, 7,i: 41,221,379 msg/sec xenium::ramalhete_queue, 8,s: 35,504,098 msg/sec xenium::ramalhete_queue, 8,i: 44,155,502 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,607,023 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,877,919 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,414,549 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,274,839 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,688,659 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,883,058 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,643,724 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,168,829 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,925,700 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,392,599 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,878,238 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,274,706 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,145,952 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,878,623 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,415,237 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,237,159 msg/sec AtomicQueue, 1,s: 60,333,685 msg/sec AtomicQueue, 1,i: 56,788,781 msg/sec AtomicQueue, 2,s: 12,223,945 msg/sec AtomicQueue, 2,i: 11,738,671 msg/sec AtomicQueue, 3,s: 10,791,460 msg/sec AtomicQueue, 3,i: 9,912,328 msg/sec AtomicQueue, 4,s: 8,244,090 msg/sec AtomicQueue, 4,i: 8,196,078 msg/sec AtomicQueue, 5,s: 8,012,206 msg/sec AtomicQueue, 5,i: 8,093,558 msg/sec AtomicQueue, 6,s: 7,763,519 msg/sec AtomicQueue, 6,i: 7,639,758 msg/sec AtomicQueue, 7,s: 7,075,090 msg/sec AtomicQueue, 7,i: 7,965,526 msg/sec AtomicQueue, 8,s: 6,364,899 msg/sec AtomicQueue, 8,i: 7,497,339 msg/sec AtomicQueueB, 1,s: 45,059,546 msg/sec AtomicQueueB, 1,i: 43,996,211 msg/sec AtomicQueueB, 2,s: 11,793,649 msg/sec AtomicQueueB, 2,i: 11,479,362 msg/sec AtomicQueueB, 3,s: 11,008,837 msg/sec AtomicQueueB, 3,i: 10,085,024 msg/sec AtomicQueueB, 4,s: 8,101,955 msg/sec AtomicQueueB, 4,i: 8,016,989 msg/sec AtomicQueueB, 5,s: 7,624,958 msg/sec AtomicQueueB, 5,i: 7,782,609 msg/sec AtomicQueueB, 6,s: 7,451,021 msg/sec AtomicQueueB, 6,i: 7,535,522 msg/sec AtomicQueueB, 7,s: 6,903,364 msg/sec AtomicQueueB, 7,i: 7,697,878 msg/sec AtomicQueueB, 8,s: 6,222,676 msg/sec AtomicQueueB, 8,i: 7,168,031 msg/sec OptimistAtomicQueue, 1,s: 797,015,019 msg/sec OptimistAtomicQueue, 1,i: 702,901,471 msg/sec OptimistAtomicQueue, 2,s: 32,630,177 msg/sec OptimistAtomicQueue, 2,i: 32,717,585 msg/sec OptimistAtomicQueue, 3,s: 36,674,972 msg/sec OptimistAtomicQueue, 3,i: 37,328,206 msg/sec OptimistAtomicQueue, 4,s: 39,281,819 msg/sec OptimistAtomicQueue, 4,i: 39,418,028 msg/sec OptimistAtomicQueue, 5,s: 42,406,867 msg/sec OptimistAtomicQueue, 5,i: 48,567,097 msg/sec OptimistAtomicQueue, 6,s: 41,949,067 msg/sec OptimistAtomicQueue, 6,i: 50,409,831 msg/sec OptimistAtomicQueue, 7,s: 44,020,247 msg/sec OptimistAtomicQueue, 7,i: 49,377,684 msg/sec OptimistAtomicQueue, 8,s: 46,494,782 msg/sec OptimistAtomicQueue, 8,i: 49,269,169 msg/sec OptimistAtomicQueueB, 1,s: 150,272,562 msg/sec OptimistAtomicQueueB, 1,i: 166,510,902 msg/sec OptimistAtomicQueueB, 2,s: 32,293,828 msg/sec OptimistAtomicQueueB, 2,i: 31,910,548 msg/sec OptimistAtomicQueueB, 3,s: 36,139,279 msg/sec OptimistAtomicQueueB, 3,i: 36,764,859 msg/sec OptimistAtomicQueueB, 4,s: 38,622,320 msg/sec OptimistAtomicQueueB, 4,i: 38,551,487 msg/sec OptimistAtomicQueueB, 5,s: 41,240,637 msg/sec OptimistAtomicQueueB, 5,i: 45,342,870 msg/sec OptimistAtomicQueueB, 6,s: 40,998,417 msg/sec OptimistAtomicQueueB, 6,i: 48,642,407 msg/sec OptimistAtomicQueueB, 7,s: 42,562,867 msg/sec OptimistAtomicQueueB, 7,i: 50,771,367 msg/sec OptimistAtomicQueueB, 8,s: 44,450,619 msg/sec OptimistAtomicQueueB, 8,i: 47,903,915 msg/sec AtomicQueue2, 1,s: 22,870,131 msg/sec AtomicQueue2, 1,i: 22,842,854 msg/sec AtomicQueue2, 2,s: 11,735,138 msg/sec AtomicQueue2, 2,i: 11,423,491 msg/sec AtomicQueue2, 3,s: 9,504,446 msg/sec AtomicQueue2, 3,i: 9,296,932 msg/sec AtomicQueue2, 4,s: 8,017,518 msg/sec AtomicQueue2, 4,i: 8,036,101 msg/sec AtomicQueue2, 5,s: 7,828,223 msg/sec AtomicQueue2, 5,i: 8,055,143 msg/sec AtomicQueue2, 6,s: 7,783,918 msg/sec AtomicQueue2, 6,i: 7,531,877 msg/sec AtomicQueue2, 7,s: 7,067,838 msg/sec AtomicQueue2, 7,i: 7,895,474 msg/sec AtomicQueue2, 8,s: 6,394,038 msg/sec AtomicQueue2, 8,i: 7,355,334 msg/sec AtomicQueueB2, 1,s: 36,305,797 msg/sec AtomicQueueB2, 1,i: 33,495,683 msg/sec AtomicQueueB2, 2,s: 11,356,740 msg/sec AtomicQueueB2, 2,i: 11,123,496 msg/sec AtomicQueueB2, 3,s: 9,693,591 msg/sec AtomicQueueB2, 3,i: 9,586,629 msg/sec AtomicQueueB2, 4,s: 7,942,769 msg/sec AtomicQueueB2, 4,i: 7,844,372 msg/sec AtomicQueueB2, 5,s: 7,465,468 msg/sec AtomicQueueB2, 5,i: 7,731,571 msg/sec AtomicQueueB2, 6,s: 7,359,431 msg/sec AtomicQueueB2, 6,i: 7,438,121 msg/sec AtomicQueueB2, 7,s: 6,872,524 msg/sec AtomicQueueB2, 7,i: 7,681,806 msg/sec AtomicQueueB2, 8,s: 6,265,823 msg/sec AtomicQueueB2, 8,i: 7,085,539 msg/sec OptimistAtomicQueue2, 1,s: 127,047,049 msg/sec OptimistAtomicQueue2, 1,i: 239,375,641 msg/sec OptimistAtomicQueue2, 2,s: 26,130,816 msg/sec OptimistAtomicQueue2, 2,i: 24,017,512 msg/sec OptimistAtomicQueue2, 3,s: 30,317,248 msg/sec OptimistAtomicQueue2, 3,i: 29,932,548 msg/sec OptimistAtomicQueue2, 4,s: 33,215,953 msg/sec OptimistAtomicQueue2, 4,i: 33,129,367 msg/sec OptimistAtomicQueue2, 5,s: 36,993,010 msg/sec OptimistAtomicQueue2, 5,i: 40,990,110 msg/sec OptimistAtomicQueue2, 6,s: 40,184,195 msg/sec OptimistAtomicQueue2, 6,i: 49,120,544 msg/sec OptimistAtomicQueue2, 7,s: 42,969,652 msg/sec OptimistAtomicQueue2, 7,i: 48,157,608 msg/sec OptimistAtomicQueue2, 8,s: 44,134,092 msg/sec OptimistAtomicQueue2, 8,i: 48,500,303 msg/sec OptimistAtomicQueueB2, 1,s: 76,637,629 msg/sec OptimistAtomicQueueB2, 1,i: 33,914,482 msg/sec OptimistAtomicQueueB2, 2,s: 27,917,317 msg/sec OptimistAtomicQueueB2, 2,i: 23,160,991 msg/sec OptimistAtomicQueueB2, 3,s: 29,843,379 msg/sec OptimistAtomicQueueB2, 3,i: 29,329,504 msg/sec OptimistAtomicQueueB2, 4,s: 32,957,036 msg/sec OptimistAtomicQueueB2, 4,i: 32,749,393 msg/sec OptimistAtomicQueueB2, 5,s: 34,356,211 msg/sec OptimistAtomicQueueB2, 5,i: 38,839,879 msg/sec OptimistAtomicQueueB2, 6,s: 37,191,480 msg/sec OptimistAtomicQueueB2, 6,i: 42,423,950 msg/sec OptimistAtomicQueueB2, 7,s: 40,956,997 msg/sec OptimistAtomicQueueB2, 7,i: 43,205,330 msg/sec OptimistAtomicQueueB2, 8,s: 42,188,141 msg/sec OptimistAtomicQueueB2, 8,i: 45,696,662 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000256 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000305 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000259 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [155] 276m:51s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,021,868 msg/sec boost::lockfree::spsc_queue, 1,i: 67,960,013 msg/sec boost::lockfree::queue, 1,s: 6,817,999 msg/sec boost::lockfree::queue, 1,i: 6,902,675 msg/sec boost::lockfree::queue, 2,s: 7,491,120 msg/sec boost::lockfree::queue, 2,i: 7,487,518 msg/sec boost::lockfree::queue, 3,s: 7,376,641 msg/sec boost::lockfree::queue, 3,i: 7,598,849 msg/sec boost::lockfree::queue, 4,s: 6,414,917 msg/sec boost::lockfree::queue, 4,i: 6,784,036 msg/sec boost::lockfree::queue, 5,s: 6,440,052 msg/sec boost::lockfree::queue, 5,i: 6,509,359 msg/sec boost::lockfree::queue, 6,s: 6,041,477 msg/sec boost::lockfree::queue, 6,i: 6,100,496 msg/sec boost::lockfree::queue, 7,s: 5,942,136 msg/sec boost::lockfree::queue, 7,i: 6,023,218 msg/sec boost::lockfree::queue, 8,s: 5,471,571 msg/sec boost::lockfree::queue, 8,i: 5,543,660 msg/sec moodycamel::ReaderWriterQueue, 1,s: 465,138,616 msg/sec moodycamel::ReaderWriterQueue, 1,i: 76,290,928 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,622,782 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,767,434 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,425,284 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,526,530 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,154,423 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,672,710 msg/sec moodycamel::ConcurrentQueue, 4,s: 41,750,808 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,866,473 msg/sec moodycamel::ConcurrentQueue, 5,s: 16,976,658 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,371,685 msg/sec moodycamel::ConcurrentQueue, 6,s: 29,543,604 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,397,255 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,056,072 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,480,677 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,131,006 msg/sec moodycamel::ConcurrentQueue, 8,i: 38,979,885 msg/sec pthread_spinlock, 1,s: 28,854,629 msg/sec pthread_spinlock, 1,i: 25,255,409 msg/sec pthread_spinlock, 2,s: 15,582,082 msg/sec pthread_spinlock, 2,i: 17,090,517 msg/sec pthread_spinlock, 3,s: 8,344,836 msg/sec pthread_spinlock, 3,i: 11,939,439 msg/sec pthread_spinlock, 4,s: 6,511,936 msg/sec pthread_spinlock, 4,i: 8,961,596 msg/sec pthread_spinlock, 5,s: 8,763,448 msg/sec pthread_spinlock, 5,i: 9,464,380 msg/sec pthread_spinlock, 6,s: 8,466,864 msg/sec pthread_spinlock, 6,i: 8,579,416 msg/sec pthread_spinlock, 7,s: 7,553,445 msg/sec pthread_spinlock, 7,i: 7,591,223 msg/sec pthread_spinlock, 8,s: 6,707,511 msg/sec pthread_spinlock, 8,i: 6,858,669 msg/sec std::mutex, 1,s: 6,861,983 msg/sec std::mutex, 1,i: 6,587,327 msg/sec std::mutex, 2,s: 6,009,189 msg/sec std::mutex, 2,i: 6,312,540 msg/sec std::mutex, 3,s: 6,042,414 msg/sec std::mutex, 3,i: 5,808,706 msg/sec std::mutex, 4,s: 6,223,859 msg/sec std::mutex, 4,i: 6,350,868 msg/sec std::mutex, 5,s: 5,915,400 msg/sec std::mutex, 5,i: 5,892,450 msg/sec std::mutex, 6,s: 6,054,877 msg/sec std::mutex, 6,i: 5,929,394 msg/sec std::mutex, 7,s: 5,819,694 msg/sec std::mutex, 7,i: 5,868,173 msg/sec std::mutex, 8,s: 5,752,788 msg/sec std::mutex, 8,i: 5,756,340 msg/sec tbb::spin_mutex, 1,s: 37,670,644 msg/sec tbb::spin_mutex, 1,i: 33,048,860 msg/sec tbb::spin_mutex, 2,s: 21,156,322 msg/sec tbb::spin_mutex, 2,i: 18,448,619 msg/sec tbb::spin_mutex, 3,s: 8,282,476 msg/sec tbb::spin_mutex, 3,i: 11,447,341 msg/sec tbb::spin_mutex, 4,s: 3,154,755 msg/sec tbb::spin_mutex, 4,i: 6,349,911 msg/sec tbb::spin_mutex, 5,s: 5,445,060 msg/sec tbb::spin_mutex, 5,i: 5,769,891 msg/sec tbb::spin_mutex, 6,s: 5,381,597 msg/sec tbb::spin_mutex, 6,i: 4,370,768 msg/sec tbb::spin_mutex, 7,s: 4,879,025 msg/sec tbb::spin_mutex, 7,i: 4,361,965 msg/sec tbb::spin_mutex, 8,s: 4,263,100 msg/sec tbb::spin_mutex, 8,i: 4,077,702 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,367,479 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,335,799 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,137,471 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,845,612 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,552,183 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,619,546 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,012,904 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,358,028 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,537,715 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,621,849 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,895,940 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,734,566 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,897,916 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,122,881 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,916,528 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,465,486 msg/sec xenium::michael_scott_queue, 1,s: 9,518,928 msg/sec xenium::michael_scott_queue, 1,i: 9,587,374 msg/sec xenium::michael_scott_queue, 2,s: 8,557,339 msg/sec xenium::michael_scott_queue, 2,i: 8,553,267 msg/sec xenium::michael_scott_queue, 3,s: 7,397,427 msg/sec xenium::michael_scott_queue, 3,i: 7,582,163 msg/sec xenium::michael_scott_queue, 4,s: 6,347,398 msg/sec xenium::michael_scott_queue, 4,i: 6,332,776 msg/sec xenium::michael_scott_queue, 5,s: 6,284,630 msg/sec xenium::michael_scott_queue, 5,i: 6,662,475 msg/sec xenium::michael_scott_queue, 6,s: 6,477,445 msg/sec xenium::michael_scott_queue, 6,i: 6,930,528 msg/sec xenium::michael_scott_queue, 7,s: 6,340,377 msg/sec xenium::michael_scott_queue, 7,i: 6,659,020 msg/sec xenium::michael_scott_queue, 8,s: 6,005,243 msg/sec xenium::michael_scott_queue, 8,i: 6,064,012 msg/sec xenium::ramalhete_queue, 1,s: 32,205,602 msg/sec xenium::ramalhete_queue, 1,i: 32,408,468 msg/sec xenium::ramalhete_queue, 2,s: 23,488,914 msg/sec xenium::ramalhete_queue, 2,i: 23,369,277 msg/sec xenium::ramalhete_queue, 3,s: 29,105,860 msg/sec xenium::ramalhete_queue, 3,i: 28,429,259 msg/sec xenium::ramalhete_queue, 4,s: 33,913,908 msg/sec xenium::ramalhete_queue, 4,i: 33,513,889 msg/sec xenium::ramalhete_queue, 5,s: 32,285,842 msg/sec xenium::ramalhete_queue, 5,i: 36,594,593 msg/sec xenium::ramalhete_queue, 6,s: 34,324,326 msg/sec xenium::ramalhete_queue, 6,i: 39,412,550 msg/sec xenium::ramalhete_queue, 7,s: 34,985,398 msg/sec xenium::ramalhete_queue, 7,i: 41,057,877 msg/sec xenium::ramalhete_queue, 8,s: 35,532,310 msg/sec xenium::ramalhete_queue, 8,i: 44,046,847 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,028,308 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,932,858 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,278,706 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,728,142 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,700,536 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,237,548 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,618,390 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,351,469 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,646,269 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,373,897 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,860,189 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,503,091 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,180,199 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,053,207 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,432,832 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,327,924 msg/sec AtomicQueue, 1,s: 62,111,096 msg/sec AtomicQueue, 1,i: 57,646,366 msg/sec AtomicQueue, 2,s: 12,402,285 msg/sec AtomicQueue, 2,i: 11,941,787 msg/sec AtomicQueue, 3,s: 10,729,072 msg/sec AtomicQueue, 3,i: 9,949,001 msg/sec AtomicQueue, 4,s: 8,197,290 msg/sec AtomicQueue, 4,i: 8,184,199 msg/sec AtomicQueue, 5,s: 8,045,923 msg/sec AtomicQueue, 5,i: 8,090,567 msg/sec AtomicQueue, 6,s: 7,784,551 msg/sec AtomicQueue, 6,i: 7,624,828 msg/sec AtomicQueue, 7,s: 7,062,366 msg/sec AtomicQueue, 7,i: 7,960,471 msg/sec AtomicQueue, 8,s: 6,370,191 msg/sec AtomicQueue, 8,i: 7,469,559 msg/sec AtomicQueueB, 1,s: 90,382,050 msg/sec AtomicQueueB, 1,i: 43,164,185 msg/sec AtomicQueueB, 2,s: 11,701,418 msg/sec AtomicQueueB, 2,i: 11,514,576 msg/sec AtomicQueueB, 3,s: 10,833,961 msg/sec AtomicQueueB, 3,i: 10,171,557 msg/sec AtomicQueueB, 4,s: 8,068,614 msg/sec AtomicQueueB, 4,i: 7,902,225 msg/sec AtomicQueueB, 5,s: 7,652,826 msg/sec AtomicQueueB, 5,i: 7,777,954 msg/sec AtomicQueueB, 6,s: 7,209,155 msg/sec AtomicQueueB, 6,i: 7,513,328 msg/sec AtomicQueueB, 7,s: 6,895,933 msg/sec AtomicQueueB, 7,i: 7,761,107 msg/sec AtomicQueueB, 8,s: 6,209,793 msg/sec AtomicQueueB, 8,i: 7,191,742 msg/sec OptimistAtomicQueue, 1,s: 724,551,575 msg/sec OptimistAtomicQueue, 1,i: 539,234,936 msg/sec OptimistAtomicQueue, 2,s: 32,652,929 msg/sec OptimistAtomicQueue, 2,i: 32,727,695 msg/sec OptimistAtomicQueue, 3,s: 36,671,058 msg/sec OptimistAtomicQueue, 3,i: 37,396,404 msg/sec OptimistAtomicQueue, 4,s: 39,277,679 msg/sec OptimistAtomicQueue, 4,i: 39,376,068 msg/sec OptimistAtomicQueue, 5,s: 42,437,224 msg/sec OptimistAtomicQueue, 5,i: 46,123,327 msg/sec OptimistAtomicQueue, 6,s: 42,624,257 msg/sec OptimistAtomicQueue, 6,i: 50,269,025 msg/sec OptimistAtomicQueue, 7,s: 44,758,715 msg/sec OptimistAtomicQueue, 7,i: 52,981,083 msg/sec OptimistAtomicQueue, 8,s: 46,327,780 msg/sec OptimistAtomicQueue, 8,i: 49,080,951 msg/sec OptimistAtomicQueueB, 1,s: 410,326,565 msg/sec OptimistAtomicQueueB, 1,i: 76,593,383 msg/sec OptimistAtomicQueueB, 2,s: 32,211,546 msg/sec OptimistAtomicQueueB, 2,i: 32,182,678 msg/sec OptimistAtomicQueueB, 3,s: 36,222,230 msg/sec OptimistAtomicQueueB, 3,i: 36,938,900 msg/sec OptimistAtomicQueueB, 4,s: 38,675,723 msg/sec OptimistAtomicQueueB, 4,i: 38,460,913 msg/sec OptimistAtomicQueueB, 5,s: 36,246,828 msg/sec OptimistAtomicQueueB, 5,i: 45,287,571 msg/sec OptimistAtomicQueueB, 6,s: 39,494,986 msg/sec OptimistAtomicQueueB, 6,i: 47,716,678 msg/sec OptimistAtomicQueueB, 7,s: 42,286,847 msg/sec OptimistAtomicQueueB, 7,i: 47,668,788 msg/sec OptimistAtomicQueueB, 8,s: 44,096,281 msg/sec OptimistAtomicQueueB, 8,i: 48,254,024 msg/sec AtomicQueue2, 1,s: 22,955,082 msg/sec AtomicQueue2, 1,i: 22,864,291 msg/sec AtomicQueue2, 2,s: 11,726,602 msg/sec AtomicQueue2, 2,i: 11,418,713 msg/sec AtomicQueue2, 3,s: 9,855,982 msg/sec AtomicQueue2, 3,i: 9,358,545 msg/sec AtomicQueue2, 4,s: 8,080,466 msg/sec AtomicQueue2, 4,i: 8,026,565 msg/sec AtomicQueue2, 5,s: 7,898,057 msg/sec AtomicQueue2, 5,i: 8,043,822 msg/sec AtomicQueue2, 6,s: 7,698,021 msg/sec AtomicQueue2, 6,i: 7,496,559 msg/sec AtomicQueue2, 7,s: 7,178,820 msg/sec AtomicQueue2, 7,i: 7,894,369 msg/sec AtomicQueue2, 8,s: 6,405,369 msg/sec AtomicQueue2, 8,i: 7,267,970 msg/sec AtomicQueueB2, 1,s: 35,995,459 msg/sec AtomicQueueB2, 1,i: 32,601,776 msg/sec AtomicQueueB2, 2,s: 11,452,553 msg/sec AtomicQueueB2, 2,i: 11,159,711 msg/sec AtomicQueueB2, 3,s: 9,694,094 msg/sec AtomicQueueB2, 3,i: 9,596,058 msg/sec AtomicQueueB2, 4,s: 7,957,277 msg/sec AtomicQueueB2, 4,i: 7,904,432 msg/sec AtomicQueueB2, 5,s: 7,589,396 msg/sec AtomicQueueB2, 5,i: 7,620,357 msg/sec AtomicQueueB2, 6,s: 7,267,791 msg/sec AtomicQueueB2, 6,i: 7,423,331 msg/sec AtomicQueueB2, 7,s: 6,837,391 msg/sec AtomicQueueB2, 7,i: 7,688,410 msg/sec AtomicQueueB2, 8,s: 6,301,947 msg/sec AtomicQueueB2, 8,i: 7,127,671 msg/sec OptimistAtomicQueue2, 1,s: 590,924,783 msg/sec OptimistAtomicQueue2, 1,i: 57,323,343 msg/sec OptimistAtomicQueue2, 2,s: 24,277,958 msg/sec OptimistAtomicQueue2, 2,i: 24,010,102 msg/sec OptimistAtomicQueue2, 3,s: 30,512,193 msg/sec OptimistAtomicQueue2, 3,i: 29,953,195 msg/sec OptimistAtomicQueue2, 4,s: 33,162,765 msg/sec OptimistAtomicQueue2, 4,i: 34,439,391 msg/sec OptimistAtomicQueue2, 5,s: 37,194,350 msg/sec OptimistAtomicQueue2, 5,i: 40,358,645 msg/sec OptimistAtomicQueue2, 6,s: 40,222,244 msg/sec OptimistAtomicQueue2, 6,i: 49,166,053 msg/sec OptimistAtomicQueue2, 7,s: 43,386,567 msg/sec OptimistAtomicQueue2, 7,i: 48,245,053 msg/sec OptimistAtomicQueue2, 8,s: 43,833,951 msg/sec OptimistAtomicQueue2, 8,i: 49,603,487 msg/sec OptimistAtomicQueueB2, 1,s: 75,155,298 msg/sec OptimistAtomicQueueB2, 1,i: 68,548,321 msg/sec OptimistAtomicQueueB2, 2,s: 28,607,402 msg/sec OptimistAtomicQueueB2, 2,i: 23,165,820 msg/sec OptimistAtomicQueueB2, 3,s: 29,672,624 msg/sec OptimistAtomicQueueB2, 3,i: 29,338,272 msg/sec OptimistAtomicQueueB2, 4,s: 33,332,349 msg/sec OptimistAtomicQueueB2, 4,i: 31,963,096 msg/sec OptimistAtomicQueueB2, 5,s: 34,547,236 msg/sec OptimistAtomicQueueB2, 5,i: 39,974,757 msg/sec OptimistAtomicQueueB2, 6,s: 37,610,277 msg/sec OptimistAtomicQueueB2, 6,i: 42,380,621 msg/sec OptimistAtomicQueueB2, 7,s: 40,171,703 msg/sec OptimistAtomicQueueB2, 7,i: 45,525,875 msg/sec OptimistAtomicQueueB2, 8,s: 42,130,781 msg/sec OptimistAtomicQueueB2, 8,i: 45,078,188 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000123 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000268 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000261 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [156] 275m:33s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,025,211 msg/sec boost::lockfree::spsc_queue, 1,i: 68,327,474 msg/sec boost::lockfree::queue, 1,s: 6,820,262 msg/sec boost::lockfree::queue, 1,i: 6,827,401 msg/sec boost::lockfree::queue, 2,s: 7,515,023 msg/sec boost::lockfree::queue, 2,i: 7,495,011 msg/sec boost::lockfree::queue, 3,s: 7,335,970 msg/sec boost::lockfree::queue, 3,i: 7,547,779 msg/sec boost::lockfree::queue, 4,s: 6,421,043 msg/sec boost::lockfree::queue, 4,i: 6,753,792 msg/sec boost::lockfree::queue, 5,s: 6,453,252 msg/sec boost::lockfree::queue, 5,i: 6,520,536 msg/sec boost::lockfree::queue, 6,s: 5,973,661 msg/sec boost::lockfree::queue, 6,i: 6,123,572 msg/sec boost::lockfree::queue, 7,s: 5,883,518 msg/sec boost::lockfree::queue, 7,i: 5,983,030 msg/sec boost::lockfree::queue, 8,s: 5,474,434 msg/sec boost::lockfree::queue, 8,i: 5,644,468 msg/sec moodycamel::ReaderWriterQueue, 1,s: 486,175,124 msg/sec moodycamel::ReaderWriterQueue, 1,i: 483,395,485 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,823,005 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,668,673 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,879,035 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,334,946 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,315,608 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,453,377 msg/sec moodycamel::ConcurrentQueue, 4,s: 42,943,045 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,152,034 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,357,607 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,465,909 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,377,007 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,275,662 msg/sec moodycamel::ConcurrentQueue, 7,s: 45,760,189 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,881,255 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,330,432 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,074,388 msg/sec pthread_spinlock, 1,s: 28,703,356 msg/sec pthread_spinlock, 1,i: 25,272,114 msg/sec pthread_spinlock, 2,s: 16,142,682 msg/sec pthread_spinlock, 2,i: 16,904,889 msg/sec pthread_spinlock, 3,s: 8,282,261 msg/sec pthread_spinlock, 3,i: 12,010,445 msg/sec pthread_spinlock, 4,s: 6,478,453 msg/sec pthread_spinlock, 4,i: 9,257,978 msg/sec pthread_spinlock, 5,s: 8,802,202 msg/sec pthread_spinlock, 5,i: 9,168,625 msg/sec pthread_spinlock, 6,s: 8,599,816 msg/sec pthread_spinlock, 6,i: 8,447,912 msg/sec pthread_spinlock, 7,s: 7,677,877 msg/sec pthread_spinlock, 7,i: 7,895,513 msg/sec pthread_spinlock, 8,s: 6,662,752 msg/sec pthread_spinlock, 8,i: 7,269,223 msg/sec std::mutex, 1,s: 6,625,621 msg/sec std::mutex, 1,i: 6,503,204 msg/sec std::mutex, 2,s: 5,657,574 msg/sec std::mutex, 2,i: 6,082,521 msg/sec std::mutex, 3,s: 5,887,642 msg/sec std::mutex, 3,i: 5,574,977 msg/sec std::mutex, 4,s: 5,918,249 msg/sec std::mutex, 4,i: 6,224,388 msg/sec std::mutex, 5,s: 6,030,166 msg/sec std::mutex, 5,i: 6,109,387 msg/sec std::mutex, 6,s: 5,929,885 msg/sec std::mutex, 6,i: 5,960,540 msg/sec std::mutex, 7,s: 5,854,289 msg/sec std::mutex, 7,i: 5,853,139 msg/sec std::mutex, 8,s: 5,727,141 msg/sec std::mutex, 8,i: 5,764,303 msg/sec tbb::spin_mutex, 1,s: 37,795,382 msg/sec tbb::spin_mutex, 1,i: 37,578,315 msg/sec tbb::spin_mutex, 2,s: 21,182,189 msg/sec tbb::spin_mutex, 2,i: 18,382,822 msg/sec tbb::spin_mutex, 3,s: 7,630,969 msg/sec tbb::spin_mutex, 3,i: 10,334,676 msg/sec tbb::spin_mutex, 4,s: 3,129,189 msg/sec tbb::spin_mutex, 4,i: 6,329,407 msg/sec tbb::spin_mutex, 5,s: 5,442,301 msg/sec tbb::spin_mutex, 5,i: 5,854,716 msg/sec tbb::spin_mutex, 6,s: 5,387,809 msg/sec tbb::spin_mutex, 6,i: 4,391,449 msg/sec tbb::spin_mutex, 7,s: 4,658,669 msg/sec tbb::spin_mutex, 7,i: 4,315,521 msg/sec tbb::spin_mutex, 8,s: 4,268,928 msg/sec tbb::spin_mutex, 8,i: 4,057,698 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,473,487 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,209,952 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,907,049 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,441,415 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,983,804 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,762,351 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,295,361 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,294,787 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,575,429 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,180,417 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,871,132 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,500,204 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,949,031 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,629,446 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,056,220 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,776,211 msg/sec xenium::michael_scott_queue, 1,s: 9,963,760 msg/sec xenium::michael_scott_queue, 1,i: 9,743,203 msg/sec xenium::michael_scott_queue, 2,s: 8,511,892 msg/sec xenium::michael_scott_queue, 2,i: 8,656,430 msg/sec xenium::michael_scott_queue, 3,s: 7,119,734 msg/sec xenium::michael_scott_queue, 3,i: 7,628,213 msg/sec xenium::michael_scott_queue, 4,s: 6,239,003 msg/sec xenium::michael_scott_queue, 4,i: 6,379,148 msg/sec xenium::michael_scott_queue, 5,s: 6,280,367 msg/sec xenium::michael_scott_queue, 5,i: 6,770,412 msg/sec xenium::michael_scott_queue, 6,s: 6,508,949 msg/sec xenium::michael_scott_queue, 6,i: 6,984,878 msg/sec xenium::michael_scott_queue, 7,s: 6,326,350 msg/sec xenium::michael_scott_queue, 7,i: 6,534,814 msg/sec xenium::michael_scott_queue, 8,s: 6,027,876 msg/sec xenium::michael_scott_queue, 8,i: 6,079,202 msg/sec xenium::ramalhete_queue, 1,s: 31,822,093 msg/sec xenium::ramalhete_queue, 1,i: 31,969,201 msg/sec xenium::ramalhete_queue, 2,s: 23,519,832 msg/sec xenium::ramalhete_queue, 2,i: 23,288,079 msg/sec xenium::ramalhete_queue, 3,s: 29,089,070 msg/sec xenium::ramalhete_queue, 3,i: 28,396,676 msg/sec xenium::ramalhete_queue, 4,s: 33,752,379 msg/sec xenium::ramalhete_queue, 4,i: 33,437,931 msg/sec xenium::ramalhete_queue, 5,s: 32,184,641 msg/sec xenium::ramalhete_queue, 5,i: 38,397,191 msg/sec xenium::ramalhete_queue, 6,s: 33,917,671 msg/sec xenium::ramalhete_queue, 6,i: 38,886,100 msg/sec xenium::ramalhete_queue, 7,s: 35,186,063 msg/sec xenium::ramalhete_queue, 7,i: 41,423,218 msg/sec xenium::ramalhete_queue, 8,s: 35,644,784 msg/sec xenium::ramalhete_queue, 8,i: 44,221,267 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,768,209 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,207,221 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,058,610 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,741,700 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,604,362 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,871,586 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,426,121 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,020,530 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,702,605 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,331,310 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,965,047 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,460,866 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,274,360 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,024,295 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,597 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,251,863 msg/sec AtomicQueue, 1,s: 66,301,240 msg/sec AtomicQueue, 1,i: 56,700,792 msg/sec AtomicQueue, 2,s: 12,332,113 msg/sec AtomicQueue, 2,i: 11,741,296 msg/sec AtomicQueue, 3,s: 10,779,714 msg/sec AtomicQueue, 3,i: 9,915,377 msg/sec AtomicQueue, 4,s: 8,156,125 msg/sec AtomicQueue, 4,i: 8,210,944 msg/sec AtomicQueue, 5,s: 8,058,021 msg/sec AtomicQueue, 5,i: 8,014,842 msg/sec AtomicQueue, 6,s: 7,696,277 msg/sec AtomicQueue, 6,i: 7,606,828 msg/sec AtomicQueue, 7,s: 7,112,192 msg/sec AtomicQueue, 7,i: 7,972,872 msg/sec AtomicQueue, 8,s: 6,319,488 msg/sec AtomicQueue, 8,i: 7,463,831 msg/sec AtomicQueueB, 1,s: 43,827,771 msg/sec AtomicQueueB, 1,i: 43,022,843 msg/sec AtomicQueueB, 2,s: 11,805,223 msg/sec AtomicQueueB, 2,i: 11,525,938 msg/sec AtomicQueueB, 3,s: 10,979,565 msg/sec AtomicQueueB, 3,i: 10,089,733 msg/sec AtomicQueueB, 4,s: 8,105,849 msg/sec AtomicQueueB, 4,i: 8,013,788 msg/sec AtomicQueueB, 5,s: 7,687,988 msg/sec AtomicQueueB, 5,i: 7,747,506 msg/sec AtomicQueueB, 6,s: 7,354,510 msg/sec AtomicQueueB, 6,i: 7,522,040 msg/sec AtomicQueueB, 7,s: 6,883,876 msg/sec AtomicQueueB, 7,i: 7,706,149 msg/sec AtomicQueueB, 8,s: 6,240,726 msg/sec AtomicQueueB, 8,i: 7,192,377 msg/sec OptimistAtomicQueue, 1,s: 698,950,368 msg/sec OptimistAtomicQueue, 1,i: 518,426,699 msg/sec OptimistAtomicQueue, 2,s: 32,126,499 msg/sec OptimistAtomicQueue, 2,i: 32,199,782 msg/sec OptimistAtomicQueue, 3,s: 36,599,006 msg/sec OptimistAtomicQueue, 3,i: 37,311,311 msg/sec OptimistAtomicQueue, 4,s: 39,271,622 msg/sec OptimistAtomicQueue, 4,i: 39,346,741 msg/sec OptimistAtomicQueue, 5,s: 41,799,358 msg/sec OptimistAtomicQueue, 5,i: 46,372,443 msg/sec OptimistAtomicQueue, 6,s: 42,783,769 msg/sec OptimistAtomicQueue, 6,i: 50,460,602 msg/sec OptimistAtomicQueue, 7,s: 44,067,784 msg/sec OptimistAtomicQueue, 7,i: 52,076,869 msg/sec OptimistAtomicQueue, 8,s: 46,385,975 msg/sec OptimistAtomicQueue, 8,i: 49,212,286 msg/sec OptimistAtomicQueueB, 1,s: 115,571,830 msg/sec OptimistAtomicQueueB, 1,i: 80,670,971 msg/sec OptimistAtomicQueueB, 2,s: 32,237,009 msg/sec OptimistAtomicQueueB, 2,i: 31,938,666 msg/sec OptimistAtomicQueueB, 3,s: 36,203,686 msg/sec OptimistAtomicQueueB, 3,i: 36,818,812 msg/sec OptimistAtomicQueueB, 4,s: 38,669,162 msg/sec OptimistAtomicQueueB, 4,i: 38,693,870 msg/sec OptimistAtomicQueueB, 5,s: 40,288,633 msg/sec OptimistAtomicQueueB, 5,i: 45,553,800 msg/sec OptimistAtomicQueueB, 6,s: 40,822,493 msg/sec OptimistAtomicQueueB, 6,i: 48,758,249 msg/sec OptimistAtomicQueueB, 7,s: 42,335,151 msg/sec OptimistAtomicQueueB, 7,i: 50,848,959 msg/sec OptimistAtomicQueueB, 8,s: 44,310,307 msg/sec OptimistAtomicQueueB, 8,i: 47,673,845 msg/sec AtomicQueue2, 1,s: 22,853,254 msg/sec AtomicQueue2, 1,i: 22,828,667 msg/sec AtomicQueue2, 2,s: 11,879,578 msg/sec AtomicQueue2, 2,i: 11,413,194 msg/sec AtomicQueue2, 3,s: 9,344,750 msg/sec AtomicQueue2, 3,i: 9,350,461 msg/sec AtomicQueue2, 4,s: 8,081,611 msg/sec AtomicQueue2, 4,i: 8,068,497 msg/sec AtomicQueue2, 5,s: 7,947,233 msg/sec AtomicQueue2, 5,i: 8,020,217 msg/sec AtomicQueue2, 6,s: 7,784,101 msg/sec AtomicQueue2, 6,i: 7,553,206 msg/sec AtomicQueue2, 7,s: 7,164,569 msg/sec AtomicQueue2, 7,i: 7,904,950 msg/sec AtomicQueue2, 8,s: 6,387,569 msg/sec AtomicQueue2, 8,i: 7,346,716 msg/sec AtomicQueueB2, 1,s: 36,295,078 msg/sec AtomicQueueB2, 1,i: 32,623,013 msg/sec AtomicQueueB2, 2,s: 11,409,969 msg/sec AtomicQueueB2, 2,i: 11,094,783 msg/sec AtomicQueueB2, 3,s: 9,612,490 msg/sec AtomicQueueB2, 3,i: 9,522,881 msg/sec AtomicQueueB2, 4,s: 8,026,821 msg/sec AtomicQueueB2, 4,i: 7,795,977 msg/sec AtomicQueueB2, 5,s: 7,511,888 msg/sec AtomicQueueB2, 5,i: 7,728,581 msg/sec AtomicQueueB2, 6,s: 7,290,376 msg/sec AtomicQueueB2, 6,i: 7,438,203 msg/sec AtomicQueueB2, 7,s: 6,908,590 msg/sec AtomicQueueB2, 7,i: 7,698,584 msg/sec AtomicQueueB2, 8,s: 6,248,839 msg/sec AtomicQueueB2, 8,i: 7,095,570 msg/sec OptimistAtomicQueue2, 1,s: 378,831,250 msg/sec OptimistAtomicQueue2, 1,i: 32,013,391 msg/sec OptimistAtomicQueue2, 2,s: 26,212,168 msg/sec OptimistAtomicQueue2, 2,i: 24,272,107 msg/sec OptimistAtomicQueue2, 3,s: 30,531,319 msg/sec OptimistAtomicQueue2, 3,i: 29,968,891 msg/sec OptimistAtomicQueue2, 4,s: 33,288,937 msg/sec OptimistAtomicQueue2, 4,i: 33,294,421 msg/sec OptimistAtomicQueue2, 5,s: 37,348,852 msg/sec OptimistAtomicQueue2, 5,i: 41,091,220 msg/sec OptimistAtomicQueue2, 6,s: 40,267,751 msg/sec OptimistAtomicQueue2, 6,i: 49,187,208 msg/sec OptimistAtomicQueue2, 7,s: 42,678,669 msg/sec OptimistAtomicQueue2, 7,i: 51,446,375 msg/sec OptimistAtomicQueue2, 8,s: 44,508,004 msg/sec OptimistAtomicQueue2, 8,i: 48,732,187 msg/sec OptimistAtomicQueueB2, 1,s: 78,007,411 msg/sec OptimistAtomicQueueB2, 1,i: 33,947,195 msg/sec OptimistAtomicQueueB2, 2,s: 23,668,981 msg/sec OptimistAtomicQueueB2, 2,i: 25,832,707 msg/sec OptimistAtomicQueueB2, 3,s: 29,702,498 msg/sec OptimistAtomicQueueB2, 3,i: 32,159,548 msg/sec OptimistAtomicQueueB2, 4,s: 33,306,252 msg/sec OptimistAtomicQueueB2, 4,i: 32,074,276 msg/sec OptimistAtomicQueueB2, 5,s: 34,592,643 msg/sec OptimistAtomicQueueB2, 5,i: 39,162,775 msg/sec OptimistAtomicQueueB2, 6,s: 37,659,115 msg/sec OptimistAtomicQueueB2, 6,i: 42,441,342 msg/sec OptimistAtomicQueueB2, 7,s: 40,118,888 msg/sec OptimistAtomicQueueB2, 7,i: 43,173,750 msg/sec OptimistAtomicQueueB2, 8,s: 42,170,732 msg/sec OptimistAtomicQueueB2, 8,i: 46,586,787 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000249 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000455 sec/round-trip tbb::spin_mutex: 0.000000287 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000225 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [157] 274m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,469,495 msg/sec boost::lockfree::spsc_queue, 1,i: 71,275,612 msg/sec boost::lockfree::queue, 1,s: 6,923,541 msg/sec boost::lockfree::queue, 1,i: 6,846,226 msg/sec boost::lockfree::queue, 2,s: 7,626,140 msg/sec boost::lockfree::queue, 2,i: 7,536,207 msg/sec boost::lockfree::queue, 3,s: 7,390,122 msg/sec boost::lockfree::queue, 3,i: 7,523,533 msg/sec boost::lockfree::queue, 4,s: 6,420,440 msg/sec boost::lockfree::queue, 4,i: 6,817,926 msg/sec boost::lockfree::queue, 5,s: 6,399,342 msg/sec boost::lockfree::queue, 5,i: 6,467,159 msg/sec boost::lockfree::queue, 6,s: 5,969,030 msg/sec boost::lockfree::queue, 6,i: 6,094,411 msg/sec boost::lockfree::queue, 7,s: 5,854,394 msg/sec boost::lockfree::queue, 7,i: 5,949,874 msg/sec boost::lockfree::queue, 8,s: 5,422,746 msg/sec boost::lockfree::queue, 8,i: 5,566,559 msg/sec moodycamel::ReaderWriterQueue, 1,s: 497,961,842 msg/sec moodycamel::ReaderWriterQueue, 1,i: 439,266,468 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,777,066 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,712,018 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,450,721 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,374,516 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,472,808 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,994,864 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,685,095 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,996,499 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,040,688 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,670,958 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,452,461 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,732,395 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,880,757 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,456,974 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,103,308 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,077,284 msg/sec pthread_spinlock, 1,s: 28,521,828 msg/sec pthread_spinlock, 1,i: 25,434,397 msg/sec pthread_spinlock, 2,s: 16,216,124 msg/sec pthread_spinlock, 2,i: 17,323,029 msg/sec pthread_spinlock, 3,s: 8,356,927 msg/sec pthread_spinlock, 3,i: 12,146,241 msg/sec pthread_spinlock, 4,s: 6,485,679 msg/sec pthread_spinlock, 4,i: 8,992,998 msg/sec pthread_spinlock, 5,s: 8,760,367 msg/sec pthread_spinlock, 5,i: 9,034,190 msg/sec pthread_spinlock, 6,s: 8,242,886 msg/sec pthread_spinlock, 6,i: 9,225,053 msg/sec pthread_spinlock, 7,s: 7,532,767 msg/sec pthread_spinlock, 7,i: 7,672,857 msg/sec pthread_spinlock, 8,s: 6,778,297 msg/sec pthread_spinlock, 8,i: 6,950,580 msg/sec std::mutex, 1,s: 5,749,246 msg/sec std::mutex, 1,i: 7,070,696 msg/sec std::mutex, 2,s: 5,731,624 msg/sec std::mutex, 2,i: 5,833,222 msg/sec std::mutex, 3,s: 5,008,047 msg/sec std::mutex, 3,i: 5,740,327 msg/sec std::mutex, 4,s: 6,304,359 msg/sec std::mutex, 4,i: 6,343,488 msg/sec std::mutex, 5,s: 6,045,451 msg/sec std::mutex, 5,i: 6,118,306 msg/sec std::mutex, 6,s: 5,739,093 msg/sec std::mutex, 6,i: 5,967,017 msg/sec std::mutex, 7,s: 5,942,906 msg/sec std::mutex, 7,i: 5,931,612 msg/sec std::mutex, 8,s: 5,727,045 msg/sec std::mutex, 8,i: 5,790,561 msg/sec tbb::spin_mutex, 1,s: 37,853,917 msg/sec tbb::spin_mutex, 1,i: 37,897,565 msg/sec tbb::spin_mutex, 2,s: 21,151,387 msg/sec tbb::spin_mutex, 2,i: 18,472,098 msg/sec tbb::spin_mutex, 3,s: 8,406,583 msg/sec tbb::spin_mutex, 3,i: 11,196,862 msg/sec tbb::spin_mutex, 4,s: 3,250,254 msg/sec tbb::spin_mutex, 4,i: 6,259,450 msg/sec tbb::spin_mutex, 5,s: 5,105,488 msg/sec tbb::spin_mutex, 5,i: 5,723,315 msg/sec tbb::spin_mutex, 6,s: 5,256,138 msg/sec tbb::spin_mutex, 6,i: 4,405,481 msg/sec tbb::spin_mutex, 7,s: 4,867,721 msg/sec tbb::spin_mutex, 7,i: 4,308,397 msg/sec tbb::spin_mutex, 8,s: 4,247,393 msg/sec tbb::spin_mutex, 8,i: 4,207,883 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,312,231 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,290,525 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,846,032 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,435,479 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,499,123 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,599,510 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,943,532 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,307,829 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,516,601 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,594,210 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,881,112 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,715,118 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,767,594 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,056,259 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,918,426 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,451,102 msg/sec xenium::michael_scott_queue, 1,s: 10,026,541 msg/sec xenium::michael_scott_queue, 1,i: 9,868,677 msg/sec xenium::michael_scott_queue, 2,s: 8,340,674 msg/sec xenium::michael_scott_queue, 2,i: 8,345,671 msg/sec xenium::michael_scott_queue, 3,s: 7,082,223 msg/sec xenium::michael_scott_queue, 3,i: 7,654,870 msg/sec xenium::michael_scott_queue, 4,s: 6,345,556 msg/sec xenium::michael_scott_queue, 4,i: 6,342,881 msg/sec xenium::michael_scott_queue, 5,s: 6,292,882 msg/sec xenium::michael_scott_queue, 5,i: 6,720,000 msg/sec xenium::michael_scott_queue, 6,s: 6,519,837 msg/sec xenium::michael_scott_queue, 6,i: 6,770,288 msg/sec xenium::michael_scott_queue, 7,s: 6,343,661 msg/sec xenium::michael_scott_queue, 7,i: 6,460,971 msg/sec xenium::michael_scott_queue, 8,s: 5,936,370 msg/sec xenium::michael_scott_queue, 8,i: 6,131,244 msg/sec xenium::ramalhete_queue, 1,s: 30,639,629 msg/sec xenium::ramalhete_queue, 1,i: 30,569,851 msg/sec xenium::ramalhete_queue, 2,s: 23,234,292 msg/sec xenium::ramalhete_queue, 2,i: 22,966,594 msg/sec xenium::ramalhete_queue, 3,s: 28,781,522 msg/sec xenium::ramalhete_queue, 3,i: 28,173,202 msg/sec xenium::ramalhete_queue, 4,s: 33,668,097 msg/sec xenium::ramalhete_queue, 4,i: 33,312,793 msg/sec xenium::ramalhete_queue, 5,s: 31,927,981 msg/sec xenium::ramalhete_queue, 5,i: 35,840,460 msg/sec xenium::ramalhete_queue, 6,s: 34,054,587 msg/sec xenium::ramalhete_queue, 6,i: 38,893,693 msg/sec xenium::ramalhete_queue, 7,s: 35,276,668 msg/sec xenium::ramalhete_queue, 7,i: 40,772,283 msg/sec xenium::ramalhete_queue, 8,s: 35,476,806 msg/sec xenium::ramalhete_queue, 8,i: 43,517,032 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,908,386 msg/sec xenium::vyukov_bounded_queue, 1,i: 60,644,560 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,162,117 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,459,579 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,654,374 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,899,297 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,459,977 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,395,169 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,081,166 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,133,488 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,051,014 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,256,375 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,224,221 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,959,359 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,438,118 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,356,703 msg/sec AtomicQueue, 1,s: 70,790,388 msg/sec AtomicQueue, 1,i: 56,442,776 msg/sec AtomicQueue, 2,s: 12,147,629 msg/sec AtomicQueue, 2,i: 11,717,143 msg/sec AtomicQueue, 3,s: 10,756,120 msg/sec AtomicQueue, 3,i: 9,929,412 msg/sec AtomicQueue, 4,s: 8,150,849 msg/sec AtomicQueue, 4,i: 8,170,087 msg/sec AtomicQueue, 5,s: 8,041,924 msg/sec AtomicQueue, 5,i: 8,093,132 msg/sec AtomicQueue, 6,s: 7,720,869 msg/sec AtomicQueue, 6,i: 7,611,642 msg/sec AtomicQueue, 7,s: 7,104,730 msg/sec AtomicQueue, 7,i: 7,954,289 msg/sec AtomicQueue, 8,s: 6,332,328 msg/sec AtomicQueue, 8,i: 7,462,296 msg/sec AtomicQueueB, 1,s: 44,559,133 msg/sec AtomicQueueB, 1,i: 43,039,916 msg/sec AtomicQueueB, 2,s: 11,847,040 msg/sec AtomicQueueB, 2,i: 11,475,567 msg/sec AtomicQueueB, 3,s: 10,945,668 msg/sec AtomicQueueB, 3,i: 10,176,157 msg/sec AtomicQueueB, 4,s: 8,057,632 msg/sec AtomicQueueB, 4,i: 7,937,634 msg/sec AtomicQueueB, 5,s: 7,567,753 msg/sec AtomicQueueB, 5,i: 7,837,463 msg/sec AtomicQueueB, 6,s: 7,278,353 msg/sec AtomicQueueB, 6,i: 7,546,275 msg/sec AtomicQueueB, 7,s: 6,911,809 msg/sec AtomicQueueB, 7,i: 7,749,325 msg/sec AtomicQueueB, 8,s: 6,208,392 msg/sec AtomicQueueB, 8,i: 7,196,855 msg/sec OptimistAtomicQueue, 1,s: 820,247,817 msg/sec OptimistAtomicQueue, 1,i: 668,247,405 msg/sec OptimistAtomicQueue, 2,s: 32,157,501 msg/sec OptimistAtomicQueue, 2,i: 32,207,596 msg/sec OptimistAtomicQueue, 3,s: 36,617,816 msg/sec OptimistAtomicQueue, 3,i: 37,268,123 msg/sec OptimistAtomicQueue, 4,s: 39,276,223 msg/sec OptimistAtomicQueue, 4,i: 39,434,757 msg/sec OptimistAtomicQueue, 5,s: 42,421,907 msg/sec OptimistAtomicQueue, 5,i: 47,342,187 msg/sec OptimistAtomicQueue, 6,s: 42,608,759 msg/sec OptimistAtomicQueue, 6,i: 49,775,838 msg/sec OptimistAtomicQueue, 7,s: 44,338,035 msg/sec OptimistAtomicQueue, 7,i: 53,040,716 msg/sec OptimistAtomicQueue, 8,s: 46,249,208 msg/sec OptimistAtomicQueue, 8,i: 48,589,531 msg/sec OptimistAtomicQueueB, 1,s: 116,642,431 msg/sec OptimistAtomicQueueB, 1,i: 77,428,855 msg/sec OptimistAtomicQueueB, 2,s: 32,230,698 msg/sec OptimistAtomicQueueB, 2,i: 31,809,092 msg/sec OptimistAtomicQueueB, 3,s: 36,260,975 msg/sec OptimistAtomicQueueB, 3,i: 36,931,087 msg/sec OptimistAtomicQueueB, 4,s: 38,611,457 msg/sec OptimistAtomicQueueB, 4,i: 38,590,729 msg/sec OptimistAtomicQueueB, 5,s: 40,866,432 msg/sec OptimistAtomicQueueB, 5,i: 45,139,618 msg/sec OptimistAtomicQueueB, 6,s: 41,026,124 msg/sec OptimistAtomicQueueB, 6,i: 49,106,369 msg/sec OptimistAtomicQueueB, 7,s: 41,609,978 msg/sec OptimistAtomicQueueB, 7,i: 47,915,588 msg/sec OptimistAtomicQueueB, 8,s: 44,267,448 msg/sec OptimistAtomicQueueB, 8,i: 48,103,284 msg/sec AtomicQueue2, 1,s: 23,112,693 msg/sec AtomicQueue2, 1,i: 23,140,762 msg/sec AtomicQueue2, 2,s: 11,966,460 msg/sec AtomicQueue2, 2,i: 11,447,910 msg/sec AtomicQueue2, 3,s: 9,734,837 msg/sec AtomicQueue2, 3,i: 9,328,704 msg/sec AtomicQueue2, 4,s: 8,054,099 msg/sec AtomicQueue2, 4,i: 8,054,449 msg/sec AtomicQueue2, 5,s: 7,911,570 msg/sec AtomicQueue2, 5,i: 8,062,682 msg/sec AtomicQueue2, 6,s: 7,880,807 msg/sec AtomicQueue2, 6,i: 7,518,959 msg/sec AtomicQueue2, 7,s: 7,171,922 msg/sec AtomicQueue2, 7,i: 7,881,047 msg/sec AtomicQueue2, 8,s: 6,394,721 msg/sec AtomicQueue2, 8,i: 7,401,599 msg/sec AtomicQueueB2, 1,s: 38,710,049 msg/sec AtomicQueueB2, 1,i: 35,513,990 msg/sec AtomicQueueB2, 2,s: 11,288,399 msg/sec AtomicQueueB2, 2,i: 11,168,921 msg/sec AtomicQueueB2, 3,s: 9,672,726 msg/sec AtomicQueueB2, 3,i: 9,495,625 msg/sec AtomicQueueB2, 4,s: 7,942,213 msg/sec AtomicQueueB2, 4,i: 7,749,841 msg/sec AtomicQueueB2, 5,s: 7,571,807 msg/sec AtomicQueueB2, 5,i: 7,663,549 msg/sec AtomicQueueB2, 6,s: 7,198,637 msg/sec AtomicQueueB2, 6,i: 7,464,960 msg/sec AtomicQueueB2, 7,s: 6,836,277 msg/sec AtomicQueueB2, 7,i: 7,699,718 msg/sec AtomicQueueB2, 8,s: 6,325,528 msg/sec AtomicQueueB2, 8,i: 7,110,201 msg/sec OptimistAtomicQueue2, 1,s: 31,789,656 msg/sec OptimistAtomicQueue2, 1,i: 32,936,626 msg/sec OptimistAtomicQueue2, 2,s: 29,487,689 msg/sec OptimistAtomicQueue2, 2,i: 23,874,905 msg/sec OptimistAtomicQueue2, 3,s: 30,322,573 msg/sec OptimistAtomicQueue2, 3,i: 29,966,380 msg/sec OptimistAtomicQueue2, 4,s: 33,571,209 msg/sec OptimistAtomicQueue2, 4,i: 33,089,644 msg/sec OptimistAtomicQueue2, 5,s: 36,958,199 msg/sec OptimistAtomicQueue2, 5,i: 40,296,575 msg/sec OptimistAtomicQueue2, 6,s: 40,415,747 msg/sec OptimistAtomicQueue2, 6,i: 49,338,805 msg/sec OptimistAtomicQueue2, 7,s: 42,904,379 msg/sec OptimistAtomicQueue2, 7,i: 51,220,926 msg/sec OptimistAtomicQueue2, 8,s: 43,891,412 msg/sec OptimistAtomicQueue2, 8,i: 49,375,780 msg/sec OptimistAtomicQueueB2, 1,s: 77,375,880 msg/sec OptimistAtomicQueueB2, 1,i: 33,866,600 msg/sec OptimistAtomicQueueB2, 2,s: 27,211,210 msg/sec OptimistAtomicQueueB2, 2,i: 26,093,705 msg/sec OptimistAtomicQueueB2, 3,s: 29,708,158 msg/sec OptimistAtomicQueueB2, 3,i: 30,320,510 msg/sec OptimistAtomicQueueB2, 4,s: 32,974,132 msg/sec OptimistAtomicQueueB2, 4,i: 32,828,772 msg/sec OptimistAtomicQueueB2, 5,s: 34,578,962 msg/sec OptimistAtomicQueueB2, 5,i: 39,258,922 msg/sec OptimistAtomicQueueB2, 6,s: 37,489,678 msg/sec OptimistAtomicQueueB2, 6,i: 42,253,918 msg/sec OptimistAtomicQueueB2, 7,s: 40,087,378 msg/sec OptimistAtomicQueueB2, 7,i: 45,702,327 msg/sec OptimistAtomicQueueB2, 8,s: 42,333,857 msg/sec OptimistAtomicQueueB2, 8,i: 45,947,503 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000142 sec/round-trip moodycamel::ConcurrentQueue: 0.000000222 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000276 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [158] 272m:54s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,656,327 msg/sec boost::lockfree::spsc_queue, 1,i: 67,962,184 msg/sec boost::lockfree::queue, 1,s: 6,844,012 msg/sec boost::lockfree::queue, 1,i: 6,846,610 msg/sec boost::lockfree::queue, 2,s: 7,696,875 msg/sec boost::lockfree::queue, 2,i: 7,375,991 msg/sec boost::lockfree::queue, 3,s: 7,414,393 msg/sec boost::lockfree::queue, 3,i: 7,553,912 msg/sec boost::lockfree::queue, 4,s: 6,422,919 msg/sec boost::lockfree::queue, 4,i: 6,748,022 msg/sec boost::lockfree::queue, 5,s: 6,415,679 msg/sec boost::lockfree::queue, 5,i: 6,463,771 msg/sec boost::lockfree::queue, 6,s: 5,972,273 msg/sec boost::lockfree::queue, 6,i: 6,127,235 msg/sec boost::lockfree::queue, 7,s: 6,007,419 msg/sec boost::lockfree::queue, 7,i: 6,088,355 msg/sec boost::lockfree::queue, 8,s: 5,428,563 msg/sec boost::lockfree::queue, 8,i: 5,587,167 msg/sec moodycamel::ReaderWriterQueue, 1,s: 50,112,166 msg/sec moodycamel::ReaderWriterQueue, 1,i: 49,247,905 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,930,789 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,701,190 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,945,256 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,105,946 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,581,898 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,931,732 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,695,297 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,887,345 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,332,517 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,854,764 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,245,575 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,274,246 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,036,293 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,886,219 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,299,069 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,767,963 msg/sec pthread_spinlock, 1,s: 28,525,578 msg/sec pthread_spinlock, 1,i: 25,404,180 msg/sec pthread_spinlock, 2,s: 15,566,748 msg/sec pthread_spinlock, 2,i: 16,918,214 msg/sec pthread_spinlock, 3,s: 8,407,258 msg/sec pthread_spinlock, 3,i: 12,106,186 msg/sec pthread_spinlock, 4,s: 6,474,240 msg/sec pthread_spinlock, 4,i: 8,920,464 msg/sec pthread_spinlock, 5,s: 8,673,186 msg/sec pthread_spinlock, 5,i: 8,922,785 msg/sec pthread_spinlock, 6,s: 8,337,569 msg/sec pthread_spinlock, 6,i: 8,449,996 msg/sec pthread_spinlock, 7,s: 7,548,856 msg/sec pthread_spinlock, 7,i: 7,667,532 msg/sec pthread_spinlock, 8,s: 6,676,335 msg/sec pthread_spinlock, 8,i: 7,444,993 msg/sec std::mutex, 1,s: 6,187,540 msg/sec std::mutex, 1,i: 5,757,927 msg/sec std::mutex, 2,s: 4,888,430 msg/sec std::mutex, 2,i: 5,588,699 msg/sec std::mutex, 3,s: 4,646,800 msg/sec std::mutex, 3,i: 5,455,048 msg/sec std::mutex, 4,s: 6,272,286 msg/sec std::mutex, 4,i: 6,366,775 msg/sec std::mutex, 5,s: 6,125,419 msg/sec std::mutex, 5,i: 6,120,712 msg/sec std::mutex, 6,s: 6,029,674 msg/sec std::mutex, 6,i: 5,970,291 msg/sec std::mutex, 7,s: 5,902,111 msg/sec std::mutex, 7,i: 5,960,226 msg/sec std::mutex, 8,s: 5,738,388 msg/sec std::mutex, 8,i: 5,802,982 msg/sec tbb::spin_mutex, 1,s: 37,920,444 msg/sec tbb::spin_mutex, 1,i: 33,076,296 msg/sec tbb::spin_mutex, 2,s: 21,267,421 msg/sec tbb::spin_mutex, 2,i: 18,451,181 msg/sec tbb::spin_mutex, 3,s: 7,921,716 msg/sec tbb::spin_mutex, 3,i: 10,314,877 msg/sec tbb::spin_mutex, 4,s: 3,073,876 msg/sec tbb::spin_mutex, 4,i: 6,373,414 msg/sec tbb::spin_mutex, 5,s: 5,316,700 msg/sec tbb::spin_mutex, 5,i: 5,804,459 msg/sec tbb::spin_mutex, 6,s: 5,325,113 msg/sec tbb::spin_mutex, 6,i: 4,375,966 msg/sec tbb::spin_mutex, 7,s: 4,856,660 msg/sec tbb::spin_mutex, 7,i: 4,295,972 msg/sec tbb::spin_mutex, 8,s: 4,260,634 msg/sec tbb::spin_mutex, 8,i: 4,159,564 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,426,770 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,441,397 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,879,655 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,775,757 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,182,204 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,680,675 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,343,505 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,261,234 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,544,267 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,175,115 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,970,963 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,390,742 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,048,783 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,628,900 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,069,630 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,749,033 msg/sec xenium::michael_scott_queue, 1,s: 9,554,534 msg/sec xenium::michael_scott_queue, 1,i: 9,416,957 msg/sec xenium::michael_scott_queue, 2,s: 8,366,177 msg/sec xenium::michael_scott_queue, 2,i: 8,497,601 msg/sec xenium::michael_scott_queue, 3,s: 7,270,540 msg/sec xenium::michael_scott_queue, 3,i: 7,527,277 msg/sec xenium::michael_scott_queue, 4,s: 6,305,769 msg/sec xenium::michael_scott_queue, 4,i: 6,384,477 msg/sec xenium::michael_scott_queue, 5,s: 6,307,028 msg/sec xenium::michael_scott_queue, 5,i: 6,755,280 msg/sec xenium::michael_scott_queue, 6,s: 6,522,100 msg/sec xenium::michael_scott_queue, 6,i: 6,885,403 msg/sec xenium::michael_scott_queue, 7,s: 6,287,821 msg/sec xenium::michael_scott_queue, 7,i: 6,508,333 msg/sec xenium::michael_scott_queue, 8,s: 6,001,777 msg/sec xenium::michael_scott_queue, 8,i: 6,176,416 msg/sec xenium::ramalhete_queue, 1,s: 32,302,976 msg/sec xenium::ramalhete_queue, 1,i: 32,332,150 msg/sec xenium::ramalhete_queue, 2,s: 24,253,332 msg/sec xenium::ramalhete_queue, 2,i: 23,475,495 msg/sec xenium::ramalhete_queue, 3,s: 29,237,673 msg/sec xenium::ramalhete_queue, 3,i: 28,670,043 msg/sec xenium::ramalhete_queue, 4,s: 33,841,302 msg/sec xenium::ramalhete_queue, 4,i: 33,438,703 msg/sec xenium::ramalhete_queue, 5,s: 32,094,234 msg/sec xenium::ramalhete_queue, 5,i: 35,996,973 msg/sec xenium::ramalhete_queue, 6,s: 33,582,383 msg/sec xenium::ramalhete_queue, 6,i: 39,294,084 msg/sec xenium::ramalhete_queue, 7,s: 35,117,079 msg/sec xenium::ramalhete_queue, 7,i: 41,179,457 msg/sec xenium::ramalhete_queue, 8,s: 35,493,095 msg/sec xenium::ramalhete_queue, 8,i: 44,072,695 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,788,736 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,018,125 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,883,808 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,746,238 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,651,069 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,646,122 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,415,622 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,407,531 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,888,737 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,355,533 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,134,823 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,494,550 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,214,589 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,115,255 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,450,516 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,326,635 msg/sec AtomicQueue, 1,s: 58,768,660 msg/sec AtomicQueue, 1,i: 56,685,080 msg/sec AtomicQueue, 2,s: 12,306,815 msg/sec AtomicQueue, 2,i: 11,716,112 msg/sec AtomicQueue, 3,s: 10,801,073 msg/sec AtomicQueue, 3,i: 9,926,523 msg/sec AtomicQueue, 4,s: 8,228,494 msg/sec AtomicQueue, 4,i: 8,184,380 msg/sec AtomicQueue, 5,s: 8,046,073 msg/sec AtomicQueue, 5,i: 8,110,739 msg/sec AtomicQueue, 6,s: 7,775,326 msg/sec AtomicQueue, 6,i: 7,604,098 msg/sec AtomicQueue, 7,s: 7,193,948 msg/sec AtomicQueue, 7,i: 7,982,141 msg/sec AtomicQueue, 8,s: 6,317,291 msg/sec AtomicQueue, 8,i: 7,460,108 msg/sec AtomicQueueB, 1,s: 67,518,568 msg/sec AtomicQueueB, 1,i: 43,937,448 msg/sec AtomicQueueB, 2,s: 11,876,245 msg/sec AtomicQueueB, 2,i: 11,509,272 msg/sec AtomicQueueB, 3,s: 11,020,803 msg/sec AtomicQueueB, 3,i: 10,169,319 msg/sec AtomicQueueB, 4,s: 8,030,555 msg/sec AtomicQueueB, 4,i: 8,080,906 msg/sec AtomicQueueB, 5,s: 7,607,496 msg/sec AtomicQueueB, 5,i: 7,813,171 msg/sec AtomicQueueB, 6,s: 7,348,567 msg/sec AtomicQueueB, 6,i: 7,575,288 msg/sec AtomicQueueB, 7,s: 6,868,770 msg/sec AtomicQueueB, 7,i: 7,736,466 msg/sec AtomicQueueB, 8,s: 6,301,237 msg/sec AtomicQueueB, 8,i: 7,112,849 msg/sec OptimistAtomicQueue, 1,s: 677,193,297 msg/sec OptimistAtomicQueue, 1,i: 532,114,507 msg/sec OptimistAtomicQueue, 2,s: 32,659,034 msg/sec OptimistAtomicQueue, 2,i: 32,729,031 msg/sec OptimistAtomicQueue, 3,s: 36,653,533 msg/sec OptimistAtomicQueue, 3,i: 37,426,898 msg/sec OptimistAtomicQueue, 4,s: 39,284,011 msg/sec OptimistAtomicQueue, 4,i: 39,374,637 msg/sec OptimistAtomicQueue, 5,s: 42,547,948 msg/sec OptimistAtomicQueue, 5,i: 46,199,238 msg/sec OptimistAtomicQueue, 6,s: 42,327,161 msg/sec OptimistAtomicQueue, 6,i: 49,805,144 msg/sec OptimistAtomicQueue, 7,s: 44,330,650 msg/sec OptimistAtomicQueue, 7,i: 52,995,813 msg/sec OptimistAtomicQueue, 8,s: 46,457,296 msg/sec OptimistAtomicQueue, 8,i: 48,672,082 msg/sec OptimistAtomicQueueB, 1,s: 87,125,850 msg/sec OptimistAtomicQueueB, 1,i: 137,452,826 msg/sec OptimistAtomicQueueB, 2,s: 32,095,513 msg/sec OptimistAtomicQueueB, 2,i: 32,212,074 msg/sec OptimistAtomicQueueB, 3,s: 36,291,972 msg/sec OptimistAtomicQueueB, 3,i: 36,922,171 msg/sec OptimistAtomicQueueB, 4,s: 38,707,196 msg/sec OptimistAtomicQueueB, 4,i: 38,643,450 msg/sec OptimistAtomicQueueB, 5,s: 41,058,098 msg/sec OptimistAtomicQueueB, 5,i: 46,211,390 msg/sec OptimistAtomicQueueB, 6,s: 41,010,591 msg/sec OptimistAtomicQueueB, 6,i: 49,229,791 msg/sec OptimistAtomicQueueB, 7,s: 42,401,365 msg/sec OptimistAtomicQueueB, 7,i: 47,907,800 msg/sec OptimistAtomicQueueB, 8,s: 44,566,415 msg/sec OptimistAtomicQueueB, 8,i: 49,145,330 msg/sec AtomicQueue2, 1,s: 22,863,517 msg/sec AtomicQueue2, 1,i: 22,962,646 msg/sec AtomicQueue2, 2,s: 11,932,288 msg/sec AtomicQueue2, 2,i: 11,391,206 msg/sec AtomicQueue2, 3,s: 9,379,022 msg/sec AtomicQueue2, 3,i: 9,553,764 msg/sec AtomicQueue2, 4,s: 8,102,369 msg/sec AtomicQueue2, 4,i: 8,053,106 msg/sec AtomicQueue2, 5,s: 7,960,515 msg/sec AtomicQueue2, 5,i: 8,029,660 msg/sec AtomicQueue2, 6,s: 7,766,332 msg/sec AtomicQueue2, 6,i: 7,534,748 msg/sec AtomicQueue2, 7,s: 7,097,354 msg/sec AtomicQueue2, 7,i: 7,896,258 msg/sec AtomicQueue2, 8,s: 6,410,478 msg/sec AtomicQueue2, 8,i: 7,320,763 msg/sec AtomicQueueB2, 1,s: 35,956,788 msg/sec AtomicQueueB2, 1,i: 32,594,690 msg/sec AtomicQueueB2, 2,s: 11,456,832 msg/sec AtomicQueueB2, 2,i: 11,074,226 msg/sec AtomicQueueB2, 3,s: 9,513,544 msg/sec AtomicQueueB2, 3,i: 9,505,011 msg/sec AtomicQueueB2, 4,s: 8,003,584 msg/sec AtomicQueueB2, 4,i: 7,775,999 msg/sec AtomicQueueB2, 5,s: 7,507,406 msg/sec AtomicQueueB2, 5,i: 7,783,853 msg/sec AtomicQueueB2, 6,s: 7,229,728 msg/sec AtomicQueueB2, 6,i: 7,453,123 msg/sec AtomicQueueB2, 7,s: 6,885,874 msg/sec AtomicQueueB2, 7,i: 7,691,296 msg/sec AtomicQueueB2, 8,s: 6,351,331 msg/sec AtomicQueueB2, 8,i: 7,085,179 msg/sec OptimistAtomicQueue2, 1,s: 458,074,134 msg/sec OptimistAtomicQueue2, 1,i: 32,252,893 msg/sec OptimistAtomicQueue2, 2,s: 24,868,708 msg/sec OptimistAtomicQueue2, 2,i: 24,023,364 msg/sec OptimistAtomicQueue2, 3,s: 30,314,783 msg/sec OptimistAtomicQueue2, 3,i: 30,086,793 msg/sec OptimistAtomicQueue2, 4,s: 33,174,556 msg/sec OptimistAtomicQueue2, 4,i: 33,380,138 msg/sec OptimistAtomicQueue2, 5,s: 37,199,748 msg/sec OptimistAtomicQueue2, 5,i: 41,057,261 msg/sec OptimistAtomicQueue2, 6,s: 40,484,766 msg/sec OptimistAtomicQueue2, 6,i: 49,272,734 msg/sec OptimistAtomicQueue2, 7,s: 43,309,261 msg/sec OptimistAtomicQueue2, 7,i: 51,384,320 msg/sec OptimistAtomicQueue2, 8,s: 43,822,537 msg/sec OptimistAtomicQueue2, 8,i: 48,677,830 msg/sec OptimistAtomicQueueB2, 1,s: 77,655,062 msg/sec OptimistAtomicQueueB2, 1,i: 33,877,044 msg/sec OptimistAtomicQueueB2, 2,s: 27,716,226 msg/sec OptimistAtomicQueueB2, 2,i: 29,780,811 msg/sec OptimistAtomicQueueB2, 3,s: 30,912,341 msg/sec OptimistAtomicQueueB2, 3,i: 29,640,989 msg/sec OptimistAtomicQueueB2, 4,s: 33,312,348 msg/sec OptimistAtomicQueueB2, 4,i: 31,857,790 msg/sec OptimistAtomicQueueB2, 5,s: 34,730,307 msg/sec OptimistAtomicQueueB2, 5,i: 39,340,915 msg/sec OptimistAtomicQueueB2, 6,s: 37,433,938 msg/sec OptimistAtomicQueueB2, 6,i: 42,512,698 msg/sec OptimistAtomicQueueB2, 7,s: 40,805,654 msg/sec OptimistAtomicQueueB2, 7,i: 42,994,018 msg/sec OptimistAtomicQueueB2, 8,s: 42,211,494 msg/sec OptimistAtomicQueueB2, 8,i: 45,170,287 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000242 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000276 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [159] 271m:35s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,804,434 msg/sec boost::lockfree::spsc_queue, 1,i: 65,407,923 msg/sec boost::lockfree::queue, 1,s: 6,844,697 msg/sec boost::lockfree::queue, 1,i: 6,967,102 msg/sec boost::lockfree::queue, 2,s: 7,679,863 msg/sec boost::lockfree::queue, 2,i: 7,465,122 msg/sec boost::lockfree::queue, 3,s: 7,477,747 msg/sec boost::lockfree::queue, 3,i: 7,593,172 msg/sec boost::lockfree::queue, 4,s: 6,421,601 msg/sec boost::lockfree::queue, 4,i: 6,812,758 msg/sec boost::lockfree::queue, 5,s: 6,406,939 msg/sec boost::lockfree::queue, 5,i: 6,526,534 msg/sec boost::lockfree::queue, 6,s: 5,953,458 msg/sec boost::lockfree::queue, 6,i: 6,134,764 msg/sec boost::lockfree::queue, 7,s: 5,979,795 msg/sec boost::lockfree::queue, 7,i: 6,048,784 msg/sec boost::lockfree::queue, 8,s: 5,396,971 msg/sec boost::lockfree::queue, 8,i: 5,536,367 msg/sec moodycamel::ReaderWriterQueue, 1,s: 491,991,364 msg/sec moodycamel::ReaderWriterQueue, 1,i: 124,307,425 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,703,200 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,761,579 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,298,907 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,508,024 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,868,126 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,062,573 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,053,519 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,006,942 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,377,282 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,437,777 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,314,231 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,479,821 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,108,788 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,051,926 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,087,740 msg/sec moodycamel::ConcurrentQueue, 8,i: 19,877,227 msg/sec pthread_spinlock, 1,s: 29,004,810 msg/sec pthread_spinlock, 1,i: 25,446,089 msg/sec pthread_spinlock, 2,s: 16,237,941 msg/sec pthread_spinlock, 2,i: 17,021,082 msg/sec pthread_spinlock, 3,s: 8,438,270 msg/sec pthread_spinlock, 3,i: 12,061,849 msg/sec pthread_spinlock, 4,s: 6,492,273 msg/sec pthread_spinlock, 4,i: 8,748,555 msg/sec pthread_spinlock, 5,s: 8,649,353 msg/sec pthread_spinlock, 5,i: 9,049,540 msg/sec pthread_spinlock, 6,s: 8,280,007 msg/sec pthread_spinlock, 6,i: 8,953,576 msg/sec pthread_spinlock, 7,s: 7,463,447 msg/sec pthread_spinlock, 7,i: 7,945,613 msg/sec pthread_spinlock, 8,s: 6,741,349 msg/sec pthread_spinlock, 8,i: 7,167,570 msg/sec std::mutex, 1,s: 7,066,989 msg/sec std::mutex, 1,i: 6,584,091 msg/sec std::mutex, 2,s: 5,698,190 msg/sec std::mutex, 2,i: 5,635,662 msg/sec std::mutex, 3,s: 6,057,091 msg/sec std::mutex, 3,i: 6,075,979 msg/sec std::mutex, 4,s: 6,219,376 msg/sec std::mutex, 4,i: 6,201,096 msg/sec std::mutex, 5,s: 6,031,630 msg/sec std::mutex, 5,i: 6,177,433 msg/sec std::mutex, 6,s: 5,794,668 msg/sec std::mutex, 6,i: 5,987,045 msg/sec std::mutex, 7,s: 5,749,319 msg/sec std::mutex, 7,i: 5,818,217 msg/sec std::mutex, 8,s: 5,620,573 msg/sec std::mutex, 8,i: 5,667,031 msg/sec tbb::spin_mutex, 1,s: 37,941,330 msg/sec tbb::spin_mutex, 1,i: 37,560,715 msg/sec tbb::spin_mutex, 2,s: 21,040,329 msg/sec tbb::spin_mutex, 2,i: 18,613,831 msg/sec tbb::spin_mutex, 3,s: 7,396,900 msg/sec tbb::spin_mutex, 3,i: 10,953,307 msg/sec tbb::spin_mutex, 4,s: 3,162,165 msg/sec tbb::spin_mutex, 4,i: 6,277,029 msg/sec tbb::spin_mutex, 5,s: 5,467,536 msg/sec tbb::spin_mutex, 5,i: 5,654,946 msg/sec tbb::spin_mutex, 6,s: 5,363,519 msg/sec tbb::spin_mutex, 6,i: 4,339,599 msg/sec tbb::spin_mutex, 7,s: 4,514,765 msg/sec tbb::spin_mutex, 7,i: 4,327,008 msg/sec tbb::spin_mutex, 8,s: 4,240,012 msg/sec tbb::spin_mutex, 8,i: 4,170,293 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,006,026 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,741,672 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,957,395 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,807,004 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,213,948 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,216,891 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,089,441 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,206,876 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,532,916 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,378,146 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,594,910 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,735,365 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,672,246 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,133,244 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,766,904 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,907,681 msg/sec xenium::michael_scott_queue, 1,s: 9,278,656 msg/sec xenium::michael_scott_queue, 1,i: 9,348,619 msg/sec xenium::michael_scott_queue, 2,s: 8,510,081 msg/sec xenium::michael_scott_queue, 2,i: 8,522,595 msg/sec xenium::michael_scott_queue, 3,s: 7,351,664 msg/sec xenium::michael_scott_queue, 3,i: 7,544,107 msg/sec xenium::michael_scott_queue, 4,s: 6,294,910 msg/sec xenium::michael_scott_queue, 4,i: 6,326,520 msg/sec xenium::michael_scott_queue, 5,s: 6,295,581 msg/sec xenium::michael_scott_queue, 5,i: 6,670,011 msg/sec xenium::michael_scott_queue, 6,s: 6,461,167 msg/sec xenium::michael_scott_queue, 6,i: 6,826,165 msg/sec xenium::michael_scott_queue, 7,s: 6,277,325 msg/sec xenium::michael_scott_queue, 7,i: 6,440,724 msg/sec xenium::michael_scott_queue, 8,s: 5,974,681 msg/sec xenium::michael_scott_queue, 8,i: 6,243,479 msg/sec xenium::ramalhete_queue, 1,s: 31,567,879 msg/sec xenium::ramalhete_queue, 1,i: 31,651,512 msg/sec xenium::ramalhete_queue, 2,s: 23,638,595 msg/sec xenium::ramalhete_queue, 2,i: 23,146,452 msg/sec xenium::ramalhete_queue, 3,s: 29,131,605 msg/sec xenium::ramalhete_queue, 3,i: 28,402,385 msg/sec xenium::ramalhete_queue, 4,s: 33,681,303 msg/sec xenium::ramalhete_queue, 4,i: 33,464,050 msg/sec xenium::ramalhete_queue, 5,s: 32,055,938 msg/sec xenium::ramalhete_queue, 5,i: 35,990,042 msg/sec xenium::ramalhete_queue, 6,s: 33,962,605 msg/sec xenium::ramalhete_queue, 6,i: 38,745,131 msg/sec xenium::ramalhete_queue, 7,s: 35,225,968 msg/sec xenium::ramalhete_queue, 7,i: 40,998,211 msg/sec xenium::ramalhete_queue, 8,s: 35,562,054 msg/sec xenium::ramalhete_queue, 8,i: 43,893,699 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,711,036 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,432,633 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,036,295 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,019,954 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,738,806 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,915,565 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,593,551 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,136,383 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,672,556 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,295,000 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,182,561 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,213,595 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,129,994 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,915,864 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,419,090 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,502,334 msg/sec AtomicQueue, 1,s: 76,538,317 msg/sec AtomicQueue, 1,i: 56,866,010 msg/sec AtomicQueue, 2,s: 12,321,176 msg/sec AtomicQueue, 2,i: 11,747,376 msg/sec AtomicQueue, 3,s: 10,725,866 msg/sec AtomicQueue, 3,i: 9,956,171 msg/sec AtomicQueue, 4,s: 8,162,228 msg/sec AtomicQueue, 4,i: 8,226,566 msg/sec AtomicQueue, 5,s: 8,018,581 msg/sec AtomicQueue, 5,i: 8,146,037 msg/sec AtomicQueue, 6,s: 7,658,897 msg/sec AtomicQueue, 6,i: 7,615,661 msg/sec AtomicQueue, 7,s: 7,176,447 msg/sec AtomicQueue, 7,i: 7,968,572 msg/sec AtomicQueue, 8,s: 6,362,508 msg/sec AtomicQueue, 8,i: 7,463,677 msg/sec AtomicQueueB, 1,s: 50,121,406 msg/sec AtomicQueueB, 1,i: 43,003,625 msg/sec AtomicQueueB, 2,s: 11,735,225 msg/sec AtomicQueueB, 2,i: 11,509,275 msg/sec AtomicQueueB, 3,s: 10,961,595 msg/sec AtomicQueueB, 3,i: 10,164,880 msg/sec AtomicQueueB, 4,s: 8,128,659 msg/sec AtomicQueueB, 4,i: 7,988,139 msg/sec AtomicQueueB, 5,s: 7,563,493 msg/sec AtomicQueueB, 5,i: 7,812,512 msg/sec AtomicQueueB, 6,s: 7,293,216 msg/sec AtomicQueueB, 6,i: 7,530,901 msg/sec AtomicQueueB, 7,s: 6,921,603 msg/sec AtomicQueueB, 7,i: 7,701,870 msg/sec AtomicQueueB, 8,s: 6,252,286 msg/sec AtomicQueueB, 8,i: 7,136,515 msg/sec OptimistAtomicQueue, 1,s: 799,264,357 msg/sec OptimistAtomicQueue, 1,i: 580,357,706 msg/sec OptimistAtomicQueue, 2,s: 32,608,169 msg/sec OptimistAtomicQueue, 2,i: 32,692,332 msg/sec OptimistAtomicQueue, 3,s: 36,657,881 msg/sec OptimistAtomicQueue, 3,i: 37,431,703 msg/sec OptimistAtomicQueue, 4,s: 39,302,115 msg/sec OptimistAtomicQueue, 4,i: 39,372,696 msg/sec OptimistAtomicQueue, 5,s: 42,519,231 msg/sec OptimistAtomicQueue, 5,i: 46,530,687 msg/sec OptimistAtomicQueue, 6,s: 42,712,725 msg/sec OptimistAtomicQueue, 6,i: 49,875,195 msg/sec OptimistAtomicQueue, 7,s: 45,100,151 msg/sec OptimistAtomicQueue, 7,i: 53,087,509 msg/sec OptimistAtomicQueue, 8,s: 46,463,990 msg/sec OptimistAtomicQueue, 8,i: 49,033,749 msg/sec OptimistAtomicQueueB, 1,s: 78,207,589 msg/sec OptimistAtomicQueueB, 1,i: 77,527,278 msg/sec OptimistAtomicQueueB, 2,s: 31,665,965 msg/sec OptimistAtomicQueueB, 2,i: 32,282,778 msg/sec OptimistAtomicQueueB, 3,s: 36,204,840 msg/sec OptimistAtomicQueueB, 3,i: 36,979,194 msg/sec OptimistAtomicQueueB, 4,s: 38,743,171 msg/sec OptimistAtomicQueueB, 4,i: 38,717,895 msg/sec OptimistAtomicQueueB, 5,s: 40,744,134 msg/sec OptimistAtomicQueueB, 5,i: 46,044,215 msg/sec OptimistAtomicQueueB, 6,s: 41,124,092 msg/sec OptimistAtomicQueueB, 6,i: 49,272,722 msg/sec OptimistAtomicQueueB, 7,s: 42,302,052 msg/sec OptimistAtomicQueueB, 7,i: 51,275,842 msg/sec OptimistAtomicQueueB, 8,s: 44,238,609 msg/sec OptimistAtomicQueueB, 8,i: 47,982,614 msg/sec AtomicQueue2, 1,s: 22,856,682 msg/sec AtomicQueue2, 1,i: 22,861,890 msg/sec AtomicQueue2, 2,s: 11,871,326 msg/sec AtomicQueue2, 2,i: 11,436,854 msg/sec AtomicQueue2, 3,s: 9,377,460 msg/sec AtomicQueue2, 3,i: 9,386,545 msg/sec AtomicQueue2, 4,s: 8,028,298 msg/sec AtomicQueue2, 4,i: 8,056,034 msg/sec AtomicQueue2, 5,s: 7,933,438 msg/sec AtomicQueue2, 5,i: 8,032,781 msg/sec AtomicQueue2, 6,s: 7,704,333 msg/sec AtomicQueue2, 6,i: 7,511,421 msg/sec AtomicQueue2, 7,s: 7,156,793 msg/sec AtomicQueue2, 7,i: 7,879,626 msg/sec AtomicQueue2, 8,s: 6,395,487 msg/sec AtomicQueue2, 8,i: 7,331,549 msg/sec AtomicQueueB2, 1,s: 36,235,843 msg/sec AtomicQueueB2, 1,i: 32,617,295 msg/sec AtomicQueueB2, 2,s: 11,444,462 msg/sec AtomicQueueB2, 2,i: 11,101,240 msg/sec AtomicQueueB2, 3,s: 9,618,847 msg/sec AtomicQueueB2, 3,i: 9,579,395 msg/sec AtomicQueueB2, 4,s: 7,960,045 msg/sec AtomicQueueB2, 4,i: 7,901,951 msg/sec AtomicQueueB2, 5,s: 7,605,908 msg/sec AtomicQueueB2, 5,i: 7,727,017 msg/sec AtomicQueueB2, 6,s: 7,172,119 msg/sec AtomicQueueB2, 6,i: 7,424,538 msg/sec AtomicQueueB2, 7,s: 6,863,466 msg/sec AtomicQueueB2, 7,i: 7,707,388 msg/sec AtomicQueueB2, 8,s: 6,333,258 msg/sec AtomicQueueB2, 8,i: 7,158,214 msg/sec OptimistAtomicQueue2, 1,s: 524,173,231 msg/sec OptimistAtomicQueue2, 1,i: 34,858,450 msg/sec OptimistAtomicQueue2, 2,s: 24,263,616 msg/sec OptimistAtomicQueue2, 2,i: 24,014,735 msg/sec OptimistAtomicQueue2, 3,s: 29,896,453 msg/sec OptimistAtomicQueue2, 3,i: 29,620,853 msg/sec OptimistAtomicQueue2, 4,s: 33,164,143 msg/sec OptimistAtomicQueue2, 4,i: 33,165,667 msg/sec OptimistAtomicQueue2, 5,s: 37,318,352 msg/sec OptimistAtomicQueue2, 5,i: 40,710,052 msg/sec OptimistAtomicQueue2, 6,s: 40,644,349 msg/sec OptimistAtomicQueue2, 6,i: 49,017,592 msg/sec OptimistAtomicQueue2, 7,s: 42,911,601 msg/sec OptimistAtomicQueue2, 7,i: 51,540,390 msg/sec OptimistAtomicQueue2, 8,s: 44,050,674 msg/sec OptimistAtomicQueue2, 8,i: 48,711,949 msg/sec OptimistAtomicQueueB2, 1,s: 69,981,675 msg/sec OptimistAtomicQueueB2, 1,i: 33,861,963 msg/sec OptimistAtomicQueueB2, 2,s: 28,846,615 msg/sec OptimistAtomicQueueB2, 2,i: 23,493,698 msg/sec OptimistAtomicQueueB2, 3,s: 30,276,359 msg/sec OptimistAtomicQueueB2, 3,i: 29,458,455 msg/sec OptimistAtomicQueueB2, 4,s: 33,201,428 msg/sec OptimistAtomicQueueB2, 4,i: 32,207,995 msg/sec OptimistAtomicQueueB2, 5,s: 34,609,018 msg/sec OptimistAtomicQueueB2, 5,i: 39,401,660 msg/sec OptimistAtomicQueueB2, 6,s: 37,396,000 msg/sec OptimistAtomicQueueB2, 6,i: 42,346,039 msg/sec OptimistAtomicQueueB2, 7,s: 40,925,258 msg/sec OptimistAtomicQueueB2, 7,i: 43,241,989 msg/sec OptimistAtomicQueueB2, 8,s: 41,768,704 msg/sec OptimistAtomicQueueB2, 8,i: 45,878,453 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000331 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000253 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000273 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [160] 270m:16s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,751,380 msg/sec boost::lockfree::spsc_queue, 1,i: 65,246,787 msg/sec boost::lockfree::queue, 1,s: 6,864,713 msg/sec boost::lockfree::queue, 1,i: 6,940,461 msg/sec boost::lockfree::queue, 2,s: 7,621,708 msg/sec boost::lockfree::queue, 2,i: 7,422,605 msg/sec boost::lockfree::queue, 3,s: 7,395,679 msg/sec boost::lockfree::queue, 3,i: 7,572,541 msg/sec boost::lockfree::queue, 4,s: 6,426,897 msg/sec boost::lockfree::queue, 4,i: 6,787,185 msg/sec boost::lockfree::queue, 5,s: 6,394,658 msg/sec boost::lockfree::queue, 5,i: 6,422,935 msg/sec boost::lockfree::queue, 6,s: 6,024,533 msg/sec boost::lockfree::queue, 6,i: 6,156,600 msg/sec boost::lockfree::queue, 7,s: 5,804,314 msg/sec boost::lockfree::queue, 7,i: 6,026,193 msg/sec boost::lockfree::queue, 8,s: 5,507,181 msg/sec boost::lockfree::queue, 8,i: 5,555,120 msg/sec moodycamel::ReaderWriterQueue, 1,s: 426,771,732 msg/sec moodycamel::ReaderWriterQueue, 1,i: 53,197,588 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,193,276 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,868,941 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,093,469 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,664,247 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,706,707 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,507,482 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,368,320 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,071,453 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,012,999 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,623,977 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,344,131 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,930,710 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,113,931 msg/sec moodycamel::ConcurrentQueue, 7,i: 32,325,678 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,244,415 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,862,688 msg/sec pthread_spinlock, 1,s: 28,799,354 msg/sec pthread_spinlock, 1,i: 25,444,919 msg/sec pthread_spinlock, 2,s: 16,014,384 msg/sec pthread_spinlock, 2,i: 16,982,544 msg/sec pthread_spinlock, 3,s: 8,304,467 msg/sec pthread_spinlock, 3,i: 12,053,440 msg/sec pthread_spinlock, 4,s: 6,514,258 msg/sec pthread_spinlock, 4,i: 9,234,443 msg/sec pthread_spinlock, 5,s: 8,693,818 msg/sec pthread_spinlock, 5,i: 8,975,266 msg/sec pthread_spinlock, 6,s: 8,286,714 msg/sec pthread_spinlock, 6,i: 8,602,925 msg/sec pthread_spinlock, 7,s: 7,509,052 msg/sec pthread_spinlock, 7,i: 7,464,169 msg/sec pthread_spinlock, 8,s: 6,885,691 msg/sec pthread_spinlock, 8,i: 6,948,511 msg/sec std::mutex, 1,s: 6,318,872 msg/sec std::mutex, 1,i: 7,686,788 msg/sec std::mutex, 2,s: 5,982,182 msg/sec std::mutex, 2,i: 6,089,980 msg/sec std::mutex, 3,s: 6,031,126 msg/sec std::mutex, 3,i: 6,158,769 msg/sec std::mutex, 4,s: 6,224,690 msg/sec std::mutex, 4,i: 6,406,834 msg/sec std::mutex, 5,s: 5,998,894 msg/sec std::mutex, 5,i: 5,717,574 msg/sec std::mutex, 6,s: 6,025,922 msg/sec std::mutex, 6,i: 6,013,497 msg/sec std::mutex, 7,s: 5,839,631 msg/sec std::mutex, 7,i: 5,865,096 msg/sec std::mutex, 8,s: 5,769,623 msg/sec std::mutex, 8,i: 5,758,031 msg/sec tbb::spin_mutex, 1,s: 37,710,410 msg/sec tbb::spin_mutex, 1,i: 37,172,583 msg/sec tbb::spin_mutex, 2,s: 21,356,555 msg/sec tbb::spin_mutex, 2,i: 18,464,135 msg/sec tbb::spin_mutex, 3,s: 8,129,777 msg/sec tbb::spin_mutex, 3,i: 11,310,694 msg/sec tbb::spin_mutex, 4,s: 3,227,600 msg/sec tbb::spin_mutex, 4,i: 6,366,278 msg/sec tbb::spin_mutex, 5,s: 5,194,232 msg/sec tbb::spin_mutex, 5,i: 5,528,626 msg/sec tbb::spin_mutex, 6,s: 5,287,135 msg/sec tbb::spin_mutex, 6,i: 4,307,808 msg/sec tbb::spin_mutex, 7,s: 4,853,567 msg/sec tbb::spin_mutex, 7,i: 4,334,731 msg/sec tbb::spin_mutex, 8,s: 4,263,123 msg/sec tbb::spin_mutex, 8,i: 4,056,429 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,720,188 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,897,408 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,844,120 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,757,403 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,674,678 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,576,597 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,381,755 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,242,683 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,696,631 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,769,681 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,775,084 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,011,518 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,956,508 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,070,827 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,893,118 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,142,355 msg/sec xenium::michael_scott_queue, 1,s: 9,446,783 msg/sec xenium::michael_scott_queue, 1,i: 9,555,538 msg/sec xenium::michael_scott_queue, 2,s: 8,541,297 msg/sec xenium::michael_scott_queue, 2,i: 8,471,571 msg/sec xenium::michael_scott_queue, 3,s: 7,268,586 msg/sec xenium::michael_scott_queue, 3,i: 7,600,102 msg/sec xenium::michael_scott_queue, 4,s: 6,217,759 msg/sec xenium::michael_scott_queue, 4,i: 6,306,544 msg/sec xenium::michael_scott_queue, 5,s: 6,309,370 msg/sec xenium::michael_scott_queue, 5,i: 6,674,205 msg/sec xenium::michael_scott_queue, 6,s: 6,501,755 msg/sec xenium::michael_scott_queue, 6,i: 6,756,807 msg/sec xenium::michael_scott_queue, 7,s: 6,335,991 msg/sec xenium::michael_scott_queue, 7,i: 6,466,415 msg/sec xenium::michael_scott_queue, 8,s: 6,004,850 msg/sec xenium::michael_scott_queue, 8,i: 6,135,652 msg/sec xenium::ramalhete_queue, 1,s: 31,540,930 msg/sec xenium::ramalhete_queue, 1,i: 31,346,852 msg/sec xenium::ramalhete_queue, 2,s: 23,588,073 msg/sec xenium::ramalhete_queue, 2,i: 23,273,696 msg/sec xenium::ramalhete_queue, 3,s: 29,109,082 msg/sec xenium::ramalhete_queue, 3,i: 28,407,526 msg/sec xenium::ramalhete_queue, 4,s: 33,700,342 msg/sec xenium::ramalhete_queue, 4,i: 33,412,373 msg/sec xenium::ramalhete_queue, 5,s: 32,269,291 msg/sec xenium::ramalhete_queue, 5,i: 36,103,613 msg/sec xenium::ramalhete_queue, 6,s: 34,053,713 msg/sec xenium::ramalhete_queue, 6,i: 39,099,672 msg/sec xenium::ramalhete_queue, 7,s: 35,117,710 msg/sec xenium::ramalhete_queue, 7,i: 40,664,124 msg/sec xenium::ramalhete_queue, 8,s: 35,563,309 msg/sec xenium::ramalhete_queue, 8,i: 43,858,165 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,382,568 msg/sec xenium::vyukov_bounded_queue, 1,i: 100,716,020 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,656,519 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,115,920 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,752,843 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,738,151 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,409,164 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,242,303 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,621,689 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,323,921 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,054,305 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,266,555 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,362,114 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,129,247 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,405,185 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,521,952 msg/sec AtomicQueue, 1,s: 206,122,933 msg/sec AtomicQueue, 1,i: 260,486,553 msg/sec AtomicQueue, 2,s: 12,313,654 msg/sec AtomicQueue, 2,i: 11,881,743 msg/sec AtomicQueue, 3,s: 10,779,821 msg/sec AtomicQueue, 3,i: 9,996,857 msg/sec AtomicQueue, 4,s: 8,209,596 msg/sec AtomicQueue, 4,i: 8,214,352 msg/sec AtomicQueue, 5,s: 8,030,644 msg/sec AtomicQueue, 5,i: 8,106,891 msg/sec AtomicQueue, 6,s: 7,822,809 msg/sec AtomicQueue, 6,i: 7,614,228 msg/sec AtomicQueue, 7,s: 7,097,126 msg/sec AtomicQueue, 7,i: 7,986,873 msg/sec AtomicQueue, 8,s: 6,385,194 msg/sec AtomicQueue, 8,i: 7,409,543 msg/sec AtomicQueueB, 1,s: 55,010,167 msg/sec AtomicQueueB, 1,i: 43,821,855 msg/sec AtomicQueueB, 2,s: 11,800,742 msg/sec AtomicQueueB, 2,i: 11,472,188 msg/sec AtomicQueueB, 3,s: 11,050,117 msg/sec AtomicQueueB, 3,i: 10,081,018 msg/sec AtomicQueueB, 4,s: 8,083,535 msg/sec AtomicQueueB, 4,i: 7,891,120 msg/sec AtomicQueueB, 5,s: 7,622,080 msg/sec AtomicQueueB, 5,i: 7,777,217 msg/sec AtomicQueueB, 6,s: 7,463,595 msg/sec AtomicQueueB, 6,i: 7,496,006 msg/sec AtomicQueueB, 7,s: 6,807,588 msg/sec AtomicQueueB, 7,i: 7,714,091 msg/sec AtomicQueueB, 8,s: 6,208,196 msg/sec AtomicQueueB, 8,i: 7,176,652 msg/sec OptimistAtomicQueue, 1,s: 757,292,346 msg/sec OptimistAtomicQueue, 1,i: 509,321,668 msg/sec OptimistAtomicQueue, 2,s: 32,641,577 msg/sec OptimistAtomicQueue, 2,i: 32,705,183 msg/sec OptimistAtomicQueue, 3,s: 36,554,944 msg/sec OptimistAtomicQueue, 3,i: 37,240,434 msg/sec OptimistAtomicQueue, 4,s: 39,304,827 msg/sec OptimistAtomicQueue, 4,i: 39,380,312 msg/sec OptimistAtomicQueue, 5,s: 41,718,786 msg/sec OptimistAtomicQueue, 5,i: 46,251,373 msg/sec OptimistAtomicQueue, 6,s: 41,992,925 msg/sec OptimistAtomicQueue, 6,i: 50,435,525 msg/sec OptimistAtomicQueue, 7,s: 45,221,359 msg/sec OptimistAtomicQueue, 7,i: 49,389,149 msg/sec OptimistAtomicQueue, 8,s: 46,572,986 msg/sec OptimistAtomicQueue, 8,i: 49,355,602 msg/sec OptimistAtomicQueueB, 1,s: 242,367,073 msg/sec OptimistAtomicQueueB, 1,i: 87,114,648 msg/sec OptimistAtomicQueueB, 2,s: 32,196,062 msg/sec OptimistAtomicQueueB, 2,i: 31,799,508 msg/sec OptimistAtomicQueueB, 3,s: 36,141,325 msg/sec OptimistAtomicQueueB, 3,i: 36,925,357 msg/sec OptimistAtomicQueueB, 4,s: 38,773,973 msg/sec OptimistAtomicQueueB, 4,i: 38,551,686 msg/sec OptimistAtomicQueueB, 5,s: 40,455,838 msg/sec OptimistAtomicQueueB, 5,i: 45,339,525 msg/sec OptimistAtomicQueueB, 6,s: 40,583,529 msg/sec OptimistAtomicQueueB, 6,i: 48,943,001 msg/sec OptimistAtomicQueueB, 7,s: 42,637,661 msg/sec OptimistAtomicQueueB, 7,i: 48,084,143 msg/sec OptimistAtomicQueueB, 8,s: 44,534,748 msg/sec OptimistAtomicQueueB, 8,i: 48,719,498 msg/sec AtomicQueue2, 1,s: 22,879,918 msg/sec AtomicQueue2, 1,i: 22,869,812 msg/sec AtomicQueue2, 2,s: 11,938,184 msg/sec AtomicQueue2, 2,i: 11,442,440 msg/sec AtomicQueue2, 3,s: 9,423,899 msg/sec AtomicQueue2, 3,i: 9,536,197 msg/sec AtomicQueue2, 4,s: 8,036,955 msg/sec AtomicQueue2, 4,i: 8,051,312 msg/sec AtomicQueue2, 5,s: 7,949,332 msg/sec AtomicQueue2, 5,i: 8,033,656 msg/sec AtomicQueue2, 6,s: 7,818,788 msg/sec AtomicQueue2, 6,i: 7,529,988 msg/sec AtomicQueue2, 7,s: 7,106,743 msg/sec AtomicQueue2, 7,i: 7,878,842 msg/sec AtomicQueue2, 8,s: 6,373,171 msg/sec AtomicQueue2, 8,i: 7,335,350 msg/sec AtomicQueueB2, 1,s: 39,076,220 msg/sec AtomicQueueB2, 1,i: 33,428,416 msg/sec AtomicQueueB2, 2,s: 11,336,990 msg/sec AtomicQueueB2, 2,i: 11,121,834 msg/sec AtomicQueueB2, 3,s: 9,571,573 msg/sec AtomicQueueB2, 3,i: 9,554,119 msg/sec AtomicQueueB2, 4,s: 7,920,225 msg/sec AtomicQueueB2, 4,i: 7,874,071 msg/sec AtomicQueueB2, 5,s: 7,538,342 msg/sec AtomicQueueB2, 5,i: 7,771,353 msg/sec AtomicQueueB2, 6,s: 7,244,446 msg/sec AtomicQueueB2, 6,i: 7,491,126 msg/sec AtomicQueueB2, 7,s: 6,861,223 msg/sec AtomicQueueB2, 7,i: 7,699,780 msg/sec AtomicQueueB2, 8,s: 6,295,315 msg/sec AtomicQueueB2, 8,i: 7,054,668 msg/sec OptimistAtomicQueue2, 1,s: 383,817,155 msg/sec OptimistAtomicQueue2, 1,i: 32,383,420 msg/sec OptimistAtomicQueue2, 2,s: 26,200,797 msg/sec OptimistAtomicQueue2, 2,i: 22,495,911 msg/sec OptimistAtomicQueue2, 3,s: 30,642,229 msg/sec OptimistAtomicQueue2, 3,i: 29,888,030 msg/sec OptimistAtomicQueue2, 4,s: 33,240,944 msg/sec OptimistAtomicQueue2, 4,i: 34,065,021 msg/sec OptimistAtomicQueue2, 5,s: 37,211,655 msg/sec OptimistAtomicQueue2, 5,i: 40,070,205 msg/sec OptimistAtomicQueue2, 6,s: 40,357,392 msg/sec OptimistAtomicQueue2, 6,i: 49,217,512 msg/sec OptimistAtomicQueue2, 7,s: 42,739,750 msg/sec OptimistAtomicQueue2, 7,i: 47,973,489 msg/sec OptimistAtomicQueue2, 8,s: 44,066,242 msg/sec OptimistAtomicQueue2, 8,i: 48,253,672 msg/sec OptimistAtomicQueueB2, 1,s: 75,178,986 msg/sec OptimistAtomicQueueB2, 1,i: 40,533,896 msg/sec OptimistAtomicQueueB2, 2,s: 28,296,751 msg/sec OptimistAtomicQueueB2, 2,i: 23,195,074 msg/sec OptimistAtomicQueueB2, 3,s: 29,759,003 msg/sec OptimistAtomicQueueB2, 3,i: 29,000,201 msg/sec OptimistAtomicQueueB2, 4,s: 33,430,954 msg/sec OptimistAtomicQueueB2, 4,i: 33,050,825 msg/sec OptimistAtomicQueueB2, 5,s: 34,598,405 msg/sec OptimistAtomicQueueB2, 5,i: 39,366,654 msg/sec OptimistAtomicQueueB2, 6,s: 37,412,731 msg/sec OptimistAtomicQueueB2, 6,i: 42,379,513 msg/sec OptimistAtomicQueueB2, 7,s: 40,470,262 msg/sec OptimistAtomicQueueB2, 7,i: 43,002,319 msg/sec OptimistAtomicQueueB2, 8,s: 42,588,033 msg/sec OptimistAtomicQueueB2, 8,i: 45,853,196 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000324 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000162 sec/round-trip moodycamel::ConcurrentQueue: 0.000000243 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000515 sec/round-trip tbb::spin_mutex: 0.000000307 sec/round-trip tbb::concurrent_bounded_queue: 0.000000298 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [161] 268m:56s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,943,519 msg/sec boost::lockfree::spsc_queue, 1,i: 66,771,628 msg/sec boost::lockfree::queue, 1,s: 6,784,605 msg/sec boost::lockfree::queue, 1,i: 6,812,519 msg/sec boost::lockfree::queue, 2,s: 7,514,323 msg/sec boost::lockfree::queue, 2,i: 7,347,111 msg/sec boost::lockfree::queue, 3,s: 7,404,584 msg/sec boost::lockfree::queue, 3,i: 7,613,636 msg/sec boost::lockfree::queue, 4,s: 6,410,579 msg/sec boost::lockfree::queue, 4,i: 6,768,341 msg/sec boost::lockfree::queue, 5,s: 6,394,988 msg/sec boost::lockfree::queue, 5,i: 6,507,840 msg/sec boost::lockfree::queue, 6,s: 6,002,696 msg/sec boost::lockfree::queue, 6,i: 6,095,725 msg/sec boost::lockfree::queue, 7,s: 5,899,171 msg/sec boost::lockfree::queue, 7,i: 6,062,068 msg/sec boost::lockfree::queue, 8,s: 5,470,882 msg/sec boost::lockfree::queue, 8,i: 5,642,322 msg/sec moodycamel::ReaderWriterQueue, 1,s: 397,754,833 msg/sec moodycamel::ReaderWriterQueue, 1,i: 403,634,364 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,920,754 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,316,822 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,706,276 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,597,624 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,869,232 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,239,978 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,238,029 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,182,508 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,497,569 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,741,146 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,412,880 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,780,644 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,174,355 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,098,096 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,403,978 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,928,127 msg/sec pthread_spinlock, 1,s: 29,050,671 msg/sec pthread_spinlock, 1,i: 25,337,758 msg/sec pthread_spinlock, 2,s: 15,215,716 msg/sec pthread_spinlock, 2,i: 16,835,648 msg/sec pthread_spinlock, 3,s: 8,325,890 msg/sec pthread_spinlock, 3,i: 11,945,759 msg/sec pthread_spinlock, 4,s: 6,527,784 msg/sec pthread_spinlock, 4,i: 8,946,856 msg/sec pthread_spinlock, 5,s: 8,570,618 msg/sec pthread_spinlock, 5,i: 8,805,125 msg/sec pthread_spinlock, 6,s: 8,556,391 msg/sec pthread_spinlock, 6,i: 8,414,520 msg/sec pthread_spinlock, 7,s: 7,440,769 msg/sec pthread_spinlock, 7,i: 7,752,585 msg/sec pthread_spinlock, 8,s: 6,655,642 msg/sec pthread_spinlock, 8,i: 7,415,990 msg/sec std::mutex, 1,s: 6,960,282 msg/sec std::mutex, 1,i: 7,580,826 msg/sec std::mutex, 2,s: 5,892,519 msg/sec std::mutex, 2,i: 5,933,183 msg/sec std::mutex, 3,s: 5,929,528 msg/sec std::mutex, 3,i: 6,051,312 msg/sec std::mutex, 4,s: 6,203,252 msg/sec std::mutex, 4,i: 6,322,511 msg/sec std::mutex, 5,s: 6,029,543 msg/sec std::mutex, 5,i: 6,039,666 msg/sec std::mutex, 6,s: 6,009,189 msg/sec std::mutex, 6,i: 5,901,374 msg/sec std::mutex, 7,s: 5,857,711 msg/sec std::mutex, 7,i: 5,828,642 msg/sec std::mutex, 8,s: 5,790,515 msg/sec std::mutex, 8,i: 5,737,961 msg/sec tbb::spin_mutex, 1,s: 37,925,468 msg/sec tbb::spin_mutex, 1,i: 37,484,659 msg/sec tbb::spin_mutex, 2,s: 21,178,661 msg/sec tbb::spin_mutex, 2,i: 18,401,938 msg/sec tbb::spin_mutex, 3,s: 7,767,331 msg/sec tbb::spin_mutex, 3,i: 10,256,902 msg/sec tbb::spin_mutex, 4,s: 3,172,803 msg/sec tbb::spin_mutex, 4,i: 6,343,457 msg/sec tbb::spin_mutex, 5,s: 5,587,956 msg/sec tbb::spin_mutex, 5,i: 5,683,994 msg/sec tbb::spin_mutex, 6,s: 5,283,448 msg/sec tbb::spin_mutex, 6,i: 4,312,442 msg/sec tbb::spin_mutex, 7,s: 4,872,096 msg/sec tbb::spin_mutex, 7,i: 4,360,876 msg/sec tbb::spin_mutex, 8,s: 3,830,754 msg/sec tbb::spin_mutex, 8,i: 4,192,006 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,328,558 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,882,211 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,204,433 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,017,070 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,320,468 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,712,130 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,184,048 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,493,204 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,727,785 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,646,935 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,758,943 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,665,650 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,848,738 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,816,372 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,134,367 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,085,611 msg/sec xenium::michael_scott_queue, 1,s: 10,071,760 msg/sec xenium::michael_scott_queue, 1,i: 10,064,406 msg/sec xenium::michael_scott_queue, 2,s: 8,429,899 msg/sec xenium::michael_scott_queue, 2,i: 8,605,137 msg/sec xenium::michael_scott_queue, 3,s: 7,310,776 msg/sec xenium::michael_scott_queue, 3,i: 7,631,141 msg/sec xenium::michael_scott_queue, 4,s: 6,379,086 msg/sec xenium::michael_scott_queue, 4,i: 6,334,131 msg/sec xenium::michael_scott_queue, 5,s: 6,276,669 msg/sec xenium::michael_scott_queue, 5,i: 6,690,715 msg/sec xenium::michael_scott_queue, 6,s: 6,491,890 msg/sec xenium::michael_scott_queue, 6,i: 6,699,780 msg/sec xenium::michael_scott_queue, 7,s: 6,236,048 msg/sec xenium::michael_scott_queue, 7,i: 6,452,499 msg/sec xenium::michael_scott_queue, 8,s: 6,031,303 msg/sec xenium::michael_scott_queue, 8,i: 6,085,446 msg/sec xenium::ramalhete_queue, 1,s: 32,251,310 msg/sec xenium::ramalhete_queue, 1,i: 32,555,762 msg/sec xenium::ramalhete_queue, 2,s: 23,807,008 msg/sec xenium::ramalhete_queue, 2,i: 23,360,600 msg/sec xenium::ramalhete_queue, 3,s: 29,145,550 msg/sec xenium::ramalhete_queue, 3,i: 28,491,277 msg/sec xenium::ramalhete_queue, 4,s: 33,898,418 msg/sec xenium::ramalhete_queue, 4,i: 33,453,485 msg/sec xenium::ramalhete_queue, 5,s: 32,168,539 msg/sec xenium::ramalhete_queue, 5,i: 38,429,503 msg/sec xenium::ramalhete_queue, 6,s: 33,964,489 msg/sec xenium::ramalhete_queue, 6,i: 38,437,211 msg/sec xenium::ramalhete_queue, 7,s: 35,131,402 msg/sec xenium::ramalhete_queue, 7,i: 41,096,724 msg/sec xenium::ramalhete_queue, 8,s: 35,356,503 msg/sec xenium::ramalhete_queue, 8,i: 43,832,172 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,381,002 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,022,987 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,788,585 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,160,243 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,612,445 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,847,621 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,430,702 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,309,762 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,859,585 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,316,751 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,076,231 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,345,866 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,234,166 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,977,333 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,101 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,532,994 msg/sec AtomicQueue, 1,s: 60,093,205 msg/sec AtomicQueue, 1,i: 57,267,308 msg/sec AtomicQueue, 2,s: 12,196,101 msg/sec AtomicQueue, 2,i: 11,714,665 msg/sec AtomicQueue, 3,s: 10,766,882 msg/sec AtomicQueue, 3,i: 9,983,954 msg/sec AtomicQueue, 4,s: 8,174,925 msg/sec AtomicQueue, 4,i: 8,204,615 msg/sec AtomicQueue, 5,s: 8,037,082 msg/sec AtomicQueue, 5,i: 8,047,027 msg/sec AtomicQueue, 6,s: 7,806,600 msg/sec AtomicQueue, 6,i: 7,598,359 msg/sec AtomicQueue, 7,s: 7,182,166 msg/sec AtomicQueue, 7,i: 7,971,059 msg/sec AtomicQueue, 8,s: 6,335,457 msg/sec AtomicQueue, 8,i: 7,414,512 msg/sec AtomicQueueB, 1,s: 43,822,711 msg/sec AtomicQueueB, 1,i: 43,832,789 msg/sec AtomicQueueB, 2,s: 11,726,966 msg/sec AtomicQueueB, 2,i: 11,407,900 msg/sec AtomicQueueB, 3,s: 10,943,953 msg/sec AtomicQueueB, 3,i: 10,097,168 msg/sec AtomicQueueB, 4,s: 8,079,694 msg/sec AtomicQueueB, 4,i: 8,002,706 msg/sec AtomicQueueB, 5,s: 7,564,478 msg/sec AtomicQueueB, 5,i: 7,820,525 msg/sec AtomicQueueB, 6,s: 7,299,738 msg/sec AtomicQueueB, 6,i: 7,578,419 msg/sec AtomicQueueB, 7,s: 6,862,523 msg/sec AtomicQueueB, 7,i: 7,703,519 msg/sec AtomicQueueB, 8,s: 6,209,820 msg/sec AtomicQueueB, 8,i: 7,133,643 msg/sec OptimistAtomicQueue, 1,s: 726,441,150 msg/sec OptimistAtomicQueue, 1,i: 536,436,223 msg/sec OptimistAtomicQueue, 2,s: 32,606,814 msg/sec OptimistAtomicQueue, 2,i: 32,689,098 msg/sec OptimistAtomicQueue, 3,s: 36,626,262 msg/sec OptimistAtomicQueue, 3,i: 37,342,643 msg/sec OptimistAtomicQueue, 4,s: 39,246,802 msg/sec OptimistAtomicQueue, 4,i: 39,300,201 msg/sec OptimistAtomicQueue, 5,s: 41,865,966 msg/sec OptimistAtomicQueue, 5,i: 46,464,185 msg/sec OptimistAtomicQueue, 6,s: 42,634,503 msg/sec OptimistAtomicQueue, 6,i: 50,478,466 msg/sec OptimistAtomicQueue, 7,s: 44,391,285 msg/sec OptimistAtomicQueue, 7,i: 52,021,905 msg/sec OptimistAtomicQueue, 8,s: 46,351,830 msg/sec OptimistAtomicQueue, 8,i: 49,507,820 msg/sec OptimistAtomicQueueB, 1,s: 78,424,511 msg/sec OptimistAtomicQueueB, 1,i: 76,619,001 msg/sec OptimistAtomicQueueB, 2,s: 32,260,892 msg/sec OptimistAtomicQueueB, 2,i: 32,227,592 msg/sec OptimistAtomicQueueB, 3,s: 36,298,836 msg/sec OptimistAtomicQueueB, 3,i: 36,772,820 msg/sec OptimistAtomicQueueB, 4,s: 38,704,934 msg/sec OptimistAtomicQueueB, 4,i: 38,631,425 msg/sec OptimistAtomicQueueB, 5,s: 40,845,787 msg/sec OptimistAtomicQueueB, 5,i: 45,476,193 msg/sec OptimistAtomicQueueB, 6,s: 40,653,978 msg/sec OptimistAtomicQueueB, 6,i: 49,100,336 msg/sec OptimistAtomicQueueB, 7,s: 42,345,768 msg/sec OptimistAtomicQueueB, 7,i: 51,533,354 msg/sec OptimistAtomicQueueB, 8,s: 44,622,186 msg/sec OptimistAtomicQueueB, 8,i: 49,153,402 msg/sec AtomicQueue2, 1,s: 23,188,001 msg/sec AtomicQueue2, 1,i: 23,156,757 msg/sec AtomicQueue2, 2,s: 12,001,494 msg/sec AtomicQueue2, 2,i: 11,406,019 msg/sec AtomicQueue2, 3,s: 9,609,353 msg/sec AtomicQueue2, 3,i: 9,579,878 msg/sec AtomicQueue2, 4,s: 8,012,137 msg/sec AtomicQueue2, 4,i: 8,076,648 msg/sec AtomicQueue2, 5,s: 7,953,017 msg/sec AtomicQueue2, 5,i: 8,040,222 msg/sec AtomicQueue2, 6,s: 7,852,609 msg/sec AtomicQueue2, 6,i: 7,526,776 msg/sec AtomicQueue2, 7,s: 7,097,576 msg/sec AtomicQueue2, 7,i: 7,883,177 msg/sec AtomicQueue2, 8,s: 6,390,448 msg/sec AtomicQueue2, 8,i: 7,359,997 msg/sec AtomicQueueB2, 1,s: 36,279,277 msg/sec AtomicQueueB2, 1,i: 32,573,796 msg/sec AtomicQueueB2, 2,s: 11,431,072 msg/sec AtomicQueueB2, 2,i: 11,172,435 msg/sec AtomicQueueB2, 3,s: 9,650,652 msg/sec AtomicQueueB2, 3,i: 9,636,185 msg/sec AtomicQueueB2, 4,s: 7,924,842 msg/sec AtomicQueueB2, 4,i: 7,885,674 msg/sec AtomicQueueB2, 5,s: 7,531,321 msg/sec AtomicQueueB2, 5,i: 7,701,197 msg/sec AtomicQueueB2, 6,s: 7,291,904 msg/sec AtomicQueueB2, 6,i: 7,459,089 msg/sec AtomicQueueB2, 7,s: 6,910,947 msg/sec AtomicQueueB2, 7,i: 7,704,500 msg/sec AtomicQueueB2, 8,s: 6,371,862 msg/sec AtomicQueueB2, 8,i: 6,966,663 msg/sec OptimistAtomicQueue2, 1,s: 396,567,785 msg/sec OptimistAtomicQueue2, 1,i: 29,501,827 msg/sec OptimistAtomicQueue2, 2,s: 24,281,114 msg/sec OptimistAtomicQueue2, 2,i: 23,994,361 msg/sec OptimistAtomicQueue2, 3,s: 29,889,850 msg/sec OptimistAtomicQueue2, 3,i: 30,299,832 msg/sec OptimistAtomicQueue2, 4,s: 33,111,661 msg/sec OptimistAtomicQueue2, 4,i: 33,200,469 msg/sec OptimistAtomicQueue2, 5,s: 37,283,127 msg/sec OptimistAtomicQueue2, 5,i: 43,071,975 msg/sec OptimistAtomicQueue2, 6,s: 39,993,183 msg/sec OptimistAtomicQueue2, 6,i: 49,327,674 msg/sec OptimistAtomicQueue2, 7,s: 42,763,889 msg/sec OptimistAtomicQueue2, 7,i: 51,379,124 msg/sec OptimistAtomicQueue2, 8,s: 43,846,819 msg/sec OptimistAtomicQueue2, 8,i: 48,509,905 msg/sec OptimistAtomicQueueB2, 1,s: 76,941,402 msg/sec OptimistAtomicQueueB2, 1,i: 33,893,184 msg/sec OptimistAtomicQueueB2, 2,s: 27,761,345 msg/sec OptimistAtomicQueueB2, 2,i: 25,532,041 msg/sec OptimistAtomicQueueB2, 3,s: 29,657,476 msg/sec OptimistAtomicQueueB2, 3,i: 29,105,841 msg/sec OptimistAtomicQueueB2, 4,s: 33,461,446 msg/sec OptimistAtomicQueueB2, 4,i: 32,057,134 msg/sec OptimistAtomicQueueB2, 5,s: 34,508,196 msg/sec OptimistAtomicQueueB2, 5,i: 39,578,626 msg/sec OptimistAtomicQueueB2, 6,s: 37,494,662 msg/sec OptimistAtomicQueueB2, 6,i: 42,253,822 msg/sec OptimistAtomicQueueB2, 7,s: 40,113,946 msg/sec OptimistAtomicQueueB2, 7,i: 43,163,837 msg/sec OptimistAtomicQueueB2, 8,s: 42,543,480 msg/sec OptimistAtomicQueueB2, 8,i: 46,524,786 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000261 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000209 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [162] 267m:37s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,161,702 msg/sec boost::lockfree::spsc_queue, 1,i: 68,097,410 msg/sec boost::lockfree::queue, 1,s: 6,902,724 msg/sec boost::lockfree::queue, 1,i: 6,941,485 msg/sec boost::lockfree::queue, 2,s: 7,585,822 msg/sec boost::lockfree::queue, 2,i: 7,580,130 msg/sec boost::lockfree::queue, 3,s: 7,387,670 msg/sec boost::lockfree::queue, 3,i: 7,567,585 msg/sec boost::lockfree::queue, 4,s: 6,423,183 msg/sec boost::lockfree::queue, 4,i: 6,795,591 msg/sec boost::lockfree::queue, 5,s: 6,460,807 msg/sec boost::lockfree::queue, 5,i: 6,488,150 msg/sec boost::lockfree::queue, 6,s: 6,186,601 msg/sec boost::lockfree::queue, 6,i: 6,098,048 msg/sec boost::lockfree::queue, 7,s: 5,826,246 msg/sec boost::lockfree::queue, 7,i: 6,026,006 msg/sec boost::lockfree::queue, 8,s: 5,433,689 msg/sec boost::lockfree::queue, 8,i: 5,700,428 msg/sec moodycamel::ReaderWriterQueue, 1,s: 157,545,659 msg/sec moodycamel::ReaderWriterQueue, 1,i: 76,652,678 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,597,796 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,498,253 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,818,818 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,968,667 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,677,512 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,671,693 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,286,895 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,864,935 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,375,633 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,591,486 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,618,590 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,407,366 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,121,619 msg/sec moodycamel::ConcurrentQueue, 7,i: 56,068,521 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,167,548 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,401,137 msg/sec pthread_spinlock, 1,s: 28,757,240 msg/sec pthread_spinlock, 1,i: 25,289,101 msg/sec pthread_spinlock, 2,s: 15,653,554 msg/sec pthread_spinlock, 2,i: 16,991,559 msg/sec pthread_spinlock, 3,s: 8,348,506 msg/sec pthread_spinlock, 3,i: 12,022,453 msg/sec pthread_spinlock, 4,s: 6,460,036 msg/sec pthread_spinlock, 4,i: 9,098,188 msg/sec pthread_spinlock, 5,s: 8,751,075 msg/sec pthread_spinlock, 5,i: 9,012,744 msg/sec pthread_spinlock, 6,s: 8,219,361 msg/sec pthread_spinlock, 6,i: 8,485,782 msg/sec pthread_spinlock, 7,s: 7,726,089 msg/sec pthread_spinlock, 7,i: 7,522,378 msg/sec pthread_spinlock, 8,s: 6,897,765 msg/sec pthread_spinlock, 8,i: 7,107,769 msg/sec std::mutex, 1,s: 5,743,900 msg/sec std::mutex, 1,i: 6,600,870 msg/sec std::mutex, 2,s: 5,156,607 msg/sec std::mutex, 2,i: 5,435,999 msg/sec std::mutex, 3,s: 5,381,647 msg/sec std::mutex, 3,i: 5,756,739 msg/sec std::mutex, 4,s: 6,129,249 msg/sec std::mutex, 4,i: 6,428,441 msg/sec std::mutex, 5,s: 6,110,215 msg/sec std::mutex, 5,i: 6,073,396 msg/sec std::mutex, 6,s: 5,963,159 msg/sec std::mutex, 6,i: 5,882,144 msg/sec std::mutex, 7,s: 5,834,520 msg/sec std::mutex, 7,i: 5,774,606 msg/sec std::mutex, 8,s: 5,754,483 msg/sec std::mutex, 8,i: 5,697,425 msg/sec tbb::spin_mutex, 1,s: 37,752,465 msg/sec tbb::spin_mutex, 1,i: 37,961,704 msg/sec tbb::spin_mutex, 2,s: 21,195,208 msg/sec tbb::spin_mutex, 2,i: 18,404,738 msg/sec tbb::spin_mutex, 3,s: 7,647,722 msg/sec tbb::spin_mutex, 3,i: 10,238,902 msg/sec tbb::spin_mutex, 4,s: 3,123,305 msg/sec tbb::spin_mutex, 4,i: 6,368,449 msg/sec tbb::spin_mutex, 5,s: 5,327,295 msg/sec tbb::spin_mutex, 5,i: 5,736,585 msg/sec tbb::spin_mutex, 6,s: 5,340,582 msg/sec tbb::spin_mutex, 6,i: 4,286,826 msg/sec tbb::spin_mutex, 7,s: 4,873,933 msg/sec tbb::spin_mutex, 7,i: 4,367,960 msg/sec tbb::spin_mutex, 8,s: 4,249,961 msg/sec tbb::spin_mutex, 8,i: 4,095,186 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,030,488 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,356,773 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,723,201 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,296,080 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,491,490 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,029,602 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,435,861 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,359,605 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,800,216 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,822,943 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,038,734 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,887,231 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,015,060 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,016,138 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,978,462 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,094,378 msg/sec xenium::michael_scott_queue, 1,s: 9,198,523 msg/sec xenium::michael_scott_queue, 1,i: 9,204,213 msg/sec xenium::michael_scott_queue, 2,s: 8,384,409 msg/sec xenium::michael_scott_queue, 2,i: 8,477,663 msg/sec xenium::michael_scott_queue, 3,s: 7,192,898 msg/sec xenium::michael_scott_queue, 3,i: 7,551,196 msg/sec xenium::michael_scott_queue, 4,s: 6,394,297 msg/sec xenium::michael_scott_queue, 4,i: 6,344,139 msg/sec xenium::michael_scott_queue, 5,s: 6,319,970 msg/sec xenium::michael_scott_queue, 5,i: 6,724,005 msg/sec xenium::michael_scott_queue, 6,s: 6,548,771 msg/sec xenium::michael_scott_queue, 6,i: 7,031,853 msg/sec xenium::michael_scott_queue, 7,s: 6,382,833 msg/sec xenium::michael_scott_queue, 7,i: 6,541,005 msg/sec xenium::michael_scott_queue, 8,s: 5,973,629 msg/sec xenium::michael_scott_queue, 8,i: 6,062,827 msg/sec xenium::ramalhete_queue, 1,s: 31,973,658 msg/sec xenium::ramalhete_queue, 1,i: 31,876,817 msg/sec xenium::ramalhete_queue, 2,s: 24,421,253 msg/sec xenium::ramalhete_queue, 2,i: 23,319,233 msg/sec xenium::ramalhete_queue, 3,s: 29,136,410 msg/sec xenium::ramalhete_queue, 3,i: 28,444,722 msg/sec xenium::ramalhete_queue, 4,s: 33,830,060 msg/sec xenium::ramalhete_queue, 4,i: 33,432,727 msg/sec xenium::ramalhete_queue, 5,s: 32,169,544 msg/sec xenium::ramalhete_queue, 5,i: 35,951,630 msg/sec xenium::ramalhete_queue, 6,s: 34,140,541 msg/sec xenium::ramalhete_queue, 6,i: 38,805,243 msg/sec xenium::ramalhete_queue, 7,s: 35,112,936 msg/sec xenium::ramalhete_queue, 7,i: 41,130,302 msg/sec xenium::ramalhete_queue, 8,s: 35,590,098 msg/sec xenium::ramalhete_queue, 8,i: 43,989,490 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,072,412 msg/sec xenium::vyukov_bounded_queue, 1,i: 106,270,289 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,042,764 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,159,318 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,614,467 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,830,899 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,515,409 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,062,239 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,606,910 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,343,548 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,079,722 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,170,473 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,264,732 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,000,864 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,407,927 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,227,593 msg/sec AtomicQueue, 1,s: 109,181,867 msg/sec AtomicQueue, 1,i: 57,077,497 msg/sec AtomicQueue, 2,s: 12,404,030 msg/sec AtomicQueue, 2,i: 11,856,207 msg/sec AtomicQueue, 3,s: 10,870,735 msg/sec AtomicQueue, 3,i: 9,973,738 msg/sec AtomicQueue, 4,s: 8,136,492 msg/sec AtomicQueue, 4,i: 8,206,579 msg/sec AtomicQueue, 5,s: 8,041,758 msg/sec AtomicQueue, 5,i: 8,092,341 msg/sec AtomicQueue, 6,s: 7,868,816 msg/sec AtomicQueue, 6,i: 7,604,246 msg/sec AtomicQueue, 7,s: 7,102,600 msg/sec AtomicQueue, 7,i: 7,973,523 msg/sec AtomicQueue, 8,s: 6,351,880 msg/sec AtomicQueue, 8,i: 7,351,533 msg/sec AtomicQueueB, 1,s: 44,179,205 msg/sec AtomicQueueB, 1,i: 43,030,972 msg/sec AtomicQueueB, 2,s: 11,826,957 msg/sec AtomicQueueB, 2,i: 11,505,318 msg/sec AtomicQueueB, 3,s: 11,005,941 msg/sec AtomicQueueB, 3,i: 10,260,937 msg/sec AtomicQueueB, 4,s: 8,065,646 msg/sec AtomicQueueB, 4,i: 7,996,293 msg/sec AtomicQueueB, 5,s: 7,547,109 msg/sec AtomicQueueB, 5,i: 7,752,573 msg/sec AtomicQueueB, 6,s: 7,372,953 msg/sec AtomicQueueB, 6,i: 7,496,460 msg/sec AtomicQueueB, 7,s: 6,988,147 msg/sec AtomicQueueB, 7,i: 7,698,777 msg/sec AtomicQueueB, 8,s: 6,251,861 msg/sec AtomicQueueB, 8,i: 7,150,724 msg/sec OptimistAtomicQueue, 1,s: 711,164,717 msg/sec OptimistAtomicQueue, 1,i: 517,451,103 msg/sec OptimistAtomicQueue, 2,s: 32,639,366 msg/sec OptimistAtomicQueue, 2,i: 32,734,839 msg/sec OptimistAtomicQueue, 3,s: 36,698,187 msg/sec OptimistAtomicQueue, 3,i: 37,413,410 msg/sec OptimistAtomicQueue, 4,s: 39,270,059 msg/sec OptimistAtomicQueue, 4,i: 39,382,896 msg/sec OptimistAtomicQueue, 5,s: 41,744,809 msg/sec OptimistAtomicQueue, 5,i: 46,310,261 msg/sec OptimistAtomicQueue, 6,s: 42,717,950 msg/sec OptimistAtomicQueue, 6,i: 50,398,797 msg/sec OptimistAtomicQueue, 7,s: 45,190,277 msg/sec OptimistAtomicQueue, 7,i: 52,025,996 msg/sec OptimistAtomicQueue, 8,s: 46,326,267 msg/sec OptimistAtomicQueue, 8,i: 48,723,570 msg/sec OptimistAtomicQueueB, 1,s: 87,340,796 msg/sec OptimistAtomicQueueB, 1,i: 134,673,373 msg/sec OptimistAtomicQueueB, 2,s: 32,189,504 msg/sec OptimistAtomicQueueB, 2,i: 32,233,503 msg/sec OptimistAtomicQueueB, 3,s: 36,228,306 msg/sec OptimistAtomicQueueB, 3,i: 36,812,708 msg/sec OptimistAtomicQueueB, 4,s: 38,654,692 msg/sec OptimistAtomicQueueB, 4,i: 38,700,805 msg/sec OptimistAtomicQueueB, 5,s: 41,182,624 msg/sec OptimistAtomicQueueB, 5,i: 45,585,274 msg/sec OptimistAtomicQueueB, 6,s: 41,155,240 msg/sec OptimistAtomicQueueB, 6,i: 49,309,981 msg/sec OptimistAtomicQueueB, 7,s: 41,977,595 msg/sec OptimistAtomicQueueB, 7,i: 50,845,929 msg/sec OptimistAtomicQueueB, 8,s: 44,309,146 msg/sec OptimistAtomicQueueB, 8,i: 47,733,409 msg/sec AtomicQueue2, 1,s: 23,095,764 msg/sec AtomicQueue2, 1,i: 23,113,456 msg/sec AtomicQueue2, 2,s: 11,773,492 msg/sec AtomicQueue2, 2,i: 11,486,939 msg/sec AtomicQueue2, 3,s: 9,835,321 msg/sec AtomicQueue2, 3,i: 9,454,974 msg/sec AtomicQueue2, 4,s: 8,024,988 msg/sec AtomicQueue2, 4,i: 8,080,661 msg/sec AtomicQueue2, 5,s: 7,912,566 msg/sec AtomicQueue2, 5,i: 8,039,614 msg/sec AtomicQueue2, 6,s: 7,670,333 msg/sec AtomicQueue2, 6,i: 7,535,285 msg/sec AtomicQueue2, 7,s: 7,215,615 msg/sec AtomicQueue2, 7,i: 7,895,480 msg/sec AtomicQueue2, 8,s: 6,357,766 msg/sec AtomicQueue2, 8,i: 7,391,656 msg/sec AtomicQueueB2, 1,s: 36,064,762 msg/sec AtomicQueueB2, 1,i: 32,608,814 msg/sec AtomicQueueB2, 2,s: 11,483,269 msg/sec AtomicQueueB2, 2,i: 11,114,422 msg/sec AtomicQueueB2, 3,s: 9,656,200 msg/sec AtomicQueueB2, 3,i: 9,511,793 msg/sec AtomicQueueB2, 4,s: 7,996,584 msg/sec AtomicQueueB2, 4,i: 7,874,676 msg/sec AtomicQueueB2, 5,s: 7,420,235 msg/sec AtomicQueueB2, 5,i: 7,719,164 msg/sec AtomicQueueB2, 6,s: 7,229,800 msg/sec AtomicQueueB2, 6,i: 7,421,716 msg/sec AtomicQueueB2, 7,s: 6,927,029 msg/sec AtomicQueueB2, 7,i: 7,689,132 msg/sec AtomicQueueB2, 8,s: 6,250,010 msg/sec AtomicQueueB2, 8,i: 7,091,110 msg/sec OptimistAtomicQueue2, 1,s: 294,828,682 msg/sec OptimistAtomicQueue2, 1,i: 29,432,581 msg/sec OptimistAtomicQueue2, 2,s: 22,572,118 msg/sec OptimistAtomicQueue2, 2,i: 25,305,938 msg/sec OptimistAtomicQueue2, 3,s: 30,337,554 msg/sec OptimistAtomicQueue2, 3,i: 29,936,917 msg/sec OptimistAtomicQueue2, 4,s: 33,221,004 msg/sec OptimistAtomicQueue2, 4,i: 32,953,346 msg/sec OptimistAtomicQueue2, 5,s: 37,205,178 msg/sec OptimistAtomicQueue2, 5,i: 42,141,102 msg/sec OptimistAtomicQueue2, 6,s: 40,557,831 msg/sec OptimistAtomicQueue2, 6,i: 49,186,089 msg/sec OptimistAtomicQueue2, 7,s: 43,255,742 msg/sec OptimistAtomicQueue2, 7,i: 48,047,853 msg/sec OptimistAtomicQueue2, 8,s: 43,953,062 msg/sec OptimistAtomicQueue2, 8,i: 48,389,397 msg/sec OptimistAtomicQueueB2, 1,s: 78,634,573 msg/sec OptimistAtomicQueueB2, 1,i: 39,040,286 msg/sec OptimistAtomicQueueB2, 2,s: 26,970,876 msg/sec OptimistAtomicQueueB2, 2,i: 22,152,340 msg/sec OptimistAtomicQueueB2, 3,s: 31,168,989 msg/sec OptimistAtomicQueueB2, 3,i: 29,729,980 msg/sec OptimistAtomicQueueB2, 4,s: 33,120,156 msg/sec OptimistAtomicQueueB2, 4,i: 32,726,095 msg/sec OptimistAtomicQueueB2, 5,s: 34,308,444 msg/sec OptimistAtomicQueueB2, 5,i: 39,662,590 msg/sec OptimistAtomicQueueB2, 6,s: 37,407,559 msg/sec OptimistAtomicQueueB2, 6,i: 42,455,311 msg/sec OptimistAtomicQueueB2, 7,s: 40,753,252 msg/sec OptimistAtomicQueueB2, 7,i: 45,543,873 msg/sec OptimistAtomicQueueB2, 8,s: 41,994,988 msg/sec OptimistAtomicQueueB2, 8,i: 45,625,361 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000156 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000455 sec/round-trip tbb::spin_mutex: 0.000000256 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000171 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [163] 266m:18s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,223,540 msg/sec boost::lockfree::spsc_queue, 1,i: 70,201,275 msg/sec boost::lockfree::queue, 1,s: 7,869,765 msg/sec boost::lockfree::queue, 1,i: 7,805,208 msg/sec boost::lockfree::queue, 2,s: 7,632,973 msg/sec boost::lockfree::queue, 2,i: 7,415,111 msg/sec boost::lockfree::queue, 3,s: 7,368,322 msg/sec boost::lockfree::queue, 3,i: 7,577,142 msg/sec boost::lockfree::queue, 4,s: 6,423,433 msg/sec boost::lockfree::queue, 4,i: 6,782,097 msg/sec boost::lockfree::queue, 5,s: 6,381,892 msg/sec boost::lockfree::queue, 5,i: 6,554,991 msg/sec boost::lockfree::queue, 6,s: 6,008,187 msg/sec boost::lockfree::queue, 6,i: 6,088,645 msg/sec boost::lockfree::queue, 7,s: 5,851,755 msg/sec boost::lockfree::queue, 7,i: 5,846,654 msg/sec boost::lockfree::queue, 8,s: 5,505,407 msg/sec boost::lockfree::queue, 8,i: 5,679,124 msg/sec moodycamel::ReaderWriterQueue, 1,s: 130,848,819 msg/sec moodycamel::ReaderWriterQueue, 1,i: 89,744,670 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,075,718 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,886,341 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,835,386 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,834,599 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,110,062 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,874,123 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,269,276 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,381,804 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,336,999 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,639,841 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,382,347 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,622,275 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,785,802 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,750,079 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,207,393 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,066,255 msg/sec pthread_spinlock, 1,s: 28,858,286 msg/sec pthread_spinlock, 1,i: 25,411,698 msg/sec pthread_spinlock, 2,s: 15,524,701 msg/sec pthread_spinlock, 2,i: 17,021,449 msg/sec pthread_spinlock, 3,s: 8,322,957 msg/sec pthread_spinlock, 3,i: 12,045,337 msg/sec pthread_spinlock, 4,s: 6,501,484 msg/sec pthread_spinlock, 4,i: 9,269,532 msg/sec pthread_spinlock, 5,s: 8,762,808 msg/sec pthread_spinlock, 5,i: 9,230,845 msg/sec pthread_spinlock, 6,s: 8,295,149 msg/sec pthread_spinlock, 6,i: 8,438,621 msg/sec pthread_spinlock, 7,s: 7,454,614 msg/sec pthread_spinlock, 7,i: 8,492,547 msg/sec pthread_spinlock, 8,s: 6,753,878 msg/sec pthread_spinlock, 8,i: 6,881,168 msg/sec std::mutex, 1,s: 6,587,333 msg/sec std::mutex, 1,i: 6,615,742 msg/sec std::mutex, 2,s: 5,528,865 msg/sec std::mutex, 2,i: 5,454,699 msg/sec std::mutex, 3,s: 5,470,681 msg/sec std::mutex, 3,i: 5,104,679 msg/sec std::mutex, 4,s: 6,176,094 msg/sec std::mutex, 4,i: 6,283,575 msg/sec std::mutex, 5,s: 6,127,009 msg/sec std::mutex, 5,i: 6,025,002 msg/sec std::mutex, 6,s: 6,000,214 msg/sec std::mutex, 6,i: 5,919,998 msg/sec std::mutex, 7,s: 5,812,790 msg/sec std::mutex, 7,i: 5,832,721 msg/sec std::mutex, 8,s: 5,761,219 msg/sec std::mutex, 8,i: 5,688,688 msg/sec tbb::spin_mutex, 1,s: 37,924,189 msg/sec tbb::spin_mutex, 1,i: 37,592,058 msg/sec tbb::spin_mutex, 2,s: 21,152,455 msg/sec tbb::spin_mutex, 2,i: 18,365,449 msg/sec tbb::spin_mutex, 3,s: 8,027,507 msg/sec tbb::spin_mutex, 3,i: 10,162,228 msg/sec tbb::spin_mutex, 4,s: 3,230,593 msg/sec tbb::spin_mutex, 4,i: 6,348,867 msg/sec tbb::spin_mutex, 5,s: 5,207,267 msg/sec tbb::spin_mutex, 5,i: 5,758,470 msg/sec tbb::spin_mutex, 6,s: 5,260,847 msg/sec tbb::spin_mutex, 6,i: 4,352,644 msg/sec tbb::spin_mutex, 7,s: 4,896,769 msg/sec tbb::spin_mutex, 7,i: 4,285,267 msg/sec tbb::spin_mutex, 8,s: 4,245,430 msg/sec tbb::spin_mutex, 8,i: 4,157,166 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,572,957 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,360,956 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,099,330 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,907,653 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,516,950 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,767,533 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,102,925 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,395,077 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,689,643 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,794,153 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,883,396 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,875,936 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,809,938 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,193,047 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,655,548 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,305,750 msg/sec xenium::michael_scott_queue, 1,s: 9,091,275 msg/sec xenium::michael_scott_queue, 1,i: 9,506,013 msg/sec xenium::michael_scott_queue, 2,s: 8,352,793 msg/sec xenium::michael_scott_queue, 2,i: 8,291,991 msg/sec xenium::michael_scott_queue, 3,s: 7,276,827 msg/sec xenium::michael_scott_queue, 3,i: 7,511,287 msg/sec xenium::michael_scott_queue, 4,s: 6,343,392 msg/sec xenium::michael_scott_queue, 4,i: 6,326,812 msg/sec xenium::michael_scott_queue, 5,s: 6,286,177 msg/sec xenium::michael_scott_queue, 5,i: 6,674,664 msg/sec xenium::michael_scott_queue, 6,s: 6,491,896 msg/sec xenium::michael_scott_queue, 6,i: 6,736,523 msg/sec xenium::michael_scott_queue, 7,s: 6,253,785 msg/sec xenium::michael_scott_queue, 7,i: 6,444,809 msg/sec xenium::michael_scott_queue, 8,s: 6,004,550 msg/sec xenium::michael_scott_queue, 8,i: 6,168,566 msg/sec xenium::ramalhete_queue, 1,s: 32,747,329 msg/sec xenium::ramalhete_queue, 1,i: 32,344,753 msg/sec xenium::ramalhete_queue, 2,s: 23,501,198 msg/sec xenium::ramalhete_queue, 2,i: 23,365,110 msg/sec xenium::ramalhete_queue, 3,s: 29,174,749 msg/sec xenium::ramalhete_queue, 3,i: 28,430,317 msg/sec xenium::ramalhete_queue, 4,s: 33,895,690 msg/sec xenium::ramalhete_queue, 4,i: 33,466,277 msg/sec xenium::ramalhete_queue, 5,s: 32,121,839 msg/sec xenium::ramalhete_queue, 5,i: 36,100,846 msg/sec xenium::ramalhete_queue, 6,s: 34,052,944 msg/sec xenium::ramalhete_queue, 6,i: 38,764,540 msg/sec xenium::ramalhete_queue, 7,s: 35,112,674 msg/sec xenium::ramalhete_queue, 7,i: 41,713,812 msg/sec xenium::ramalhete_queue, 8,s: 35,564,460 msg/sec xenium::ramalhete_queue, 8,i: 44,299,362 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,127,259 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,701,295 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,059,576 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,811,838 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,591,084 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,500,110 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,627,765 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,110,447 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,217,435 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,316,882 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,959,684 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,216,883 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,186,914 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,956,332 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,412,806 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,245,079 msg/sec AtomicQueue, 1,s: 60,818,595 msg/sec AtomicQueue, 1,i: 56,495,943 msg/sec AtomicQueue, 2,s: 12,262,397 msg/sec AtomicQueue, 2,i: 11,727,959 msg/sec AtomicQueue, 3,s: 10,799,593 msg/sec AtomicQueue, 3,i: 10,039,357 msg/sec AtomicQueue, 4,s: 8,187,238 msg/sec AtomicQueue, 4,i: 8,193,813 msg/sec AtomicQueue, 5,s: 8,025,099 msg/sec AtomicQueue, 5,i: 8,055,194 msg/sec AtomicQueue, 6,s: 7,837,452 msg/sec AtomicQueue, 6,i: 7,608,298 msg/sec AtomicQueue, 7,s: 7,131,255 msg/sec AtomicQueue, 7,i: 7,989,745 msg/sec AtomicQueue, 8,s: 6,299,859 msg/sec AtomicQueue, 8,i: 7,384,676 msg/sec AtomicQueueB, 1,s: 49,197,612 msg/sec AtomicQueueB, 1,i: 43,841,457 msg/sec AtomicQueueB, 2,s: 11,855,715 msg/sec AtomicQueueB, 2,i: 11,522,284 msg/sec AtomicQueueB, 3,s: 10,975,788 msg/sec AtomicQueueB, 3,i: 10,142,307 msg/sec AtomicQueueB, 4,s: 8,044,305 msg/sec AtomicQueueB, 4,i: 7,984,453 msg/sec AtomicQueueB, 5,s: 7,580,710 msg/sec AtomicQueueB, 5,i: 7,810,193 msg/sec AtomicQueueB, 6,s: 7,376,074 msg/sec AtomicQueueB, 6,i: 7,530,492 msg/sec AtomicQueueB, 7,s: 6,901,193 msg/sec AtomicQueueB, 7,i: 7,727,274 msg/sec AtomicQueueB, 8,s: 6,192,966 msg/sec AtomicQueueB, 8,i: 7,185,498 msg/sec OptimistAtomicQueue, 1,s: 709,360,472 msg/sec OptimistAtomicQueue, 1,i: 666,014,749 msg/sec OptimistAtomicQueue, 2,s: 32,570,669 msg/sec OptimistAtomicQueue, 2,i: 32,191,997 msg/sec OptimistAtomicQueue, 3,s: 36,615,371 msg/sec OptimistAtomicQueue, 3,i: 37,320,012 msg/sec OptimistAtomicQueue, 4,s: 39,257,969 msg/sec OptimistAtomicQueue, 4,i: 39,355,758 msg/sec OptimistAtomicQueue, 5,s: 41,667,548 msg/sec OptimistAtomicQueue, 5,i: 47,938,701 msg/sec OptimistAtomicQueue, 6,s: 42,529,990 msg/sec OptimistAtomicQueue, 6,i: 50,465,533 msg/sec OptimistAtomicQueue, 7,s: 45,131,199 msg/sec OptimistAtomicQueue, 7,i: 52,111,196 msg/sec OptimistAtomicQueue, 8,s: 46,512,646 msg/sec OptimistAtomicQueue, 8,i: 49,538,052 msg/sec OptimistAtomicQueueB, 1,s: 134,536,330 msg/sec OptimistAtomicQueueB, 1,i: 76,554,004 msg/sec OptimistAtomicQueueB, 2,s: 32,165,053 msg/sec OptimistAtomicQueueB, 2,i: 32,231,620 msg/sec OptimistAtomicQueueB, 3,s: 36,327,294 msg/sec OptimistAtomicQueueB, 3,i: 37,014,551 msg/sec OptimistAtomicQueueB, 4,s: 38,630,303 msg/sec OptimistAtomicQueueB, 4,i: 38,630,957 msg/sec OptimistAtomicQueueB, 5,s: 40,860,621 msg/sec OptimistAtomicQueueB, 5,i: 45,531,027 msg/sec OptimistAtomicQueueB, 6,s: 41,144,581 msg/sec OptimistAtomicQueueB, 6,i: 49,037,726 msg/sec OptimistAtomicQueueB, 7,s: 42,177,101 msg/sec OptimistAtomicQueueB, 7,i: 51,505,547 msg/sec OptimistAtomicQueueB, 8,s: 44,271,052 msg/sec OptimistAtomicQueueB, 8,i: 48,575,214 msg/sec AtomicQueue2, 1,s: 22,845,512 msg/sec AtomicQueue2, 1,i: 22,833,248 msg/sec AtomicQueue2, 2,s: 11,710,216 msg/sec AtomicQueue2, 2,i: 11,484,271 msg/sec AtomicQueue2, 3,s: 9,664,384 msg/sec AtomicQueue2, 3,i: 9,536,520 msg/sec AtomicQueue2, 4,s: 8,021,088 msg/sec AtomicQueue2, 4,i: 8,081,321 msg/sec AtomicQueue2, 5,s: 7,896,370 msg/sec AtomicQueue2, 5,i: 8,032,731 msg/sec AtomicQueue2, 6,s: 7,706,719 msg/sec AtomicQueue2, 6,i: 7,506,084 msg/sec AtomicQueue2, 7,s: 7,159,351 msg/sec AtomicQueue2, 7,i: 7,881,101 msg/sec AtomicQueue2, 8,s: 6,409,610 msg/sec AtomicQueue2, 8,i: 7,339,912 msg/sec AtomicQueueB2, 1,s: 38,139,195 msg/sec AtomicQueueB2, 1,i: 38,114,626 msg/sec AtomicQueueB2, 2,s: 11,365,883 msg/sec AtomicQueueB2, 2,i: 11,081,939 msg/sec AtomicQueueB2, 3,s: 9,674,538 msg/sec AtomicQueueB2, 3,i: 9,610,860 msg/sec AtomicQueueB2, 4,s: 7,889,562 msg/sec AtomicQueueB2, 4,i: 7,677,315 msg/sec AtomicQueueB2, 5,s: 7,425,585 msg/sec AtomicQueueB2, 5,i: 7,754,894 msg/sec AtomicQueueB2, 6,s: 7,315,409 msg/sec AtomicQueueB2, 6,i: 7,415,949 msg/sec AtomicQueueB2, 7,s: 6,964,911 msg/sec AtomicQueueB2, 7,i: 7,686,072 msg/sec AtomicQueueB2, 8,s: 6,285,120 msg/sec AtomicQueueB2, 8,i: 7,118,145 msg/sec OptimistAtomicQueue2, 1,s: 397,571,237 msg/sec OptimistAtomicQueue2, 1,i: 32,118,802 msg/sec OptimistAtomicQueue2, 2,s: 24,802,568 msg/sec OptimistAtomicQueue2, 2,i: 28,005,611 msg/sec OptimistAtomicQueue2, 3,s: 30,330,562 msg/sec OptimistAtomicQueue2, 3,i: 29,967,680 msg/sec OptimistAtomicQueue2, 4,s: 33,197,634 msg/sec OptimistAtomicQueue2, 4,i: 33,162,102 msg/sec OptimistAtomicQueue2, 5,s: 36,979,351 msg/sec OptimistAtomicQueue2, 5,i: 40,358,936 msg/sec OptimistAtomicQueue2, 6,s: 39,764,970 msg/sec OptimistAtomicQueue2, 6,i: 49,363,165 msg/sec OptimistAtomicQueue2, 7,s: 43,221,266 msg/sec OptimistAtomicQueue2, 7,i: 47,974,764 msg/sec OptimistAtomicQueue2, 8,s: 44,008,194 msg/sec OptimistAtomicQueue2, 8,i: 48,088,875 msg/sec OptimistAtomicQueueB2, 1,s: 73,668,428 msg/sec OptimistAtomicQueueB2, 1,i: 63,620,461 msg/sec OptimistAtomicQueueB2, 2,s: 28,849,049 msg/sec OptimistAtomicQueueB2, 2,i: 24,988,016 msg/sec OptimistAtomicQueueB2, 3,s: 29,676,566 msg/sec OptimistAtomicQueueB2, 3,i: 29,052,637 msg/sec OptimistAtomicQueueB2, 4,s: 33,405,849 msg/sec OptimistAtomicQueueB2, 4,i: 31,994,289 msg/sec OptimistAtomicQueueB2, 5,s: 34,584,048 msg/sec OptimistAtomicQueueB2, 5,i: 38,939,960 msg/sec OptimistAtomicQueueB2, 6,s: 37,428,715 msg/sec OptimistAtomicQueueB2, 6,i: 42,786,274 msg/sec OptimistAtomicQueueB2, 7,s: 40,251,954 msg/sec OptimistAtomicQueueB2, 7,i: 43,258,293 msg/sec OptimistAtomicQueueB2, 8,s: 42,297,204 msg/sec OptimistAtomicQueueB2, 8,i: 45,486,361 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000313 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000123 sec/round-trip moodycamel::ConcurrentQueue: 0.000000218 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000169 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [164] 264m:59s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,389,789 msg/sec boost::lockfree::spsc_queue, 1,i: 67,748,547 msg/sec boost::lockfree::queue, 1,s: 6,870,973 msg/sec boost::lockfree::queue, 1,i: 6,924,799 msg/sec boost::lockfree::queue, 2,s: 7,688,964 msg/sec boost::lockfree::queue, 2,i: 7,501,060 msg/sec boost::lockfree::queue, 3,s: 7,407,627 msg/sec boost::lockfree::queue, 3,i: 7,519,293 msg/sec boost::lockfree::queue, 4,s: 6,424,216 msg/sec boost::lockfree::queue, 4,i: 6,800,142 msg/sec boost::lockfree::queue, 5,s: 6,447,930 msg/sec boost::lockfree::queue, 5,i: 6,498,718 msg/sec boost::lockfree::queue, 6,s: 6,008,246 msg/sec boost::lockfree::queue, 6,i: 6,110,772 msg/sec boost::lockfree::queue, 7,s: 5,818,605 msg/sec boost::lockfree::queue, 7,i: 5,937,787 msg/sec boost::lockfree::queue, 8,s: 5,440,756 msg/sec boost::lockfree::queue, 8,i: 5,535,104 msg/sec moodycamel::ReaderWriterQueue, 1,s: 439,640,492 msg/sec moodycamel::ReaderWriterQueue, 1,i: 441,175,043 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,903,908 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,679,795 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,064,657 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,749,407 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,873,893 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,511,189 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,170,975 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,573,187 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,100,483 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,913,403 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,466,647 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,782,770 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,066,814 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,097,910 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,095,900 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,351,320 msg/sec pthread_spinlock, 1,s: 28,672,998 msg/sec pthread_spinlock, 1,i: 25,396,858 msg/sec pthread_spinlock, 2,s: 15,529,124 msg/sec pthread_spinlock, 2,i: 17,131,082 msg/sec pthread_spinlock, 3,s: 8,371,876 msg/sec pthread_spinlock, 3,i: 12,289,865 msg/sec pthread_spinlock, 4,s: 6,542,670 msg/sec pthread_spinlock, 4,i: 9,132,289 msg/sec pthread_spinlock, 5,s: 8,740,011 msg/sec pthread_spinlock, 5,i: 9,491,760 msg/sec pthread_spinlock, 6,s: 8,342,031 msg/sec pthread_spinlock, 6,i: 9,214,087 msg/sec pthread_spinlock, 7,s: 7,852,072 msg/sec pthread_spinlock, 7,i: 7,660,283 msg/sec pthread_spinlock, 8,s: 6,798,493 msg/sec pthread_spinlock, 8,i: 6,957,884 msg/sec std::mutex, 1,s: 7,616,072 msg/sec std::mutex, 1,i: 7,112,282 msg/sec std::mutex, 2,s: 5,805,956 msg/sec std::mutex, 2,i: 5,424,908 msg/sec std::mutex, 3,s: 5,394,168 msg/sec std::mutex, 3,i: 5,975,734 msg/sec std::mutex, 4,s: 5,790,201 msg/sec std::mutex, 4,i: 6,214,244 msg/sec std::mutex, 5,s: 6,142,109 msg/sec std::mutex, 5,i: 6,097,595 msg/sec std::mutex, 6,s: 5,914,971 msg/sec std::mutex, 6,i: 5,894,362 msg/sec std::mutex, 7,s: 5,798,100 msg/sec std::mutex, 7,i: 5,792,125 msg/sec std::mutex, 8,s: 5,683,516 msg/sec std::mutex, 8,i: 5,715,152 msg/sec tbb::spin_mutex, 1,s: 37,860,828 msg/sec tbb::spin_mutex, 1,i: 33,144,690 msg/sec tbb::spin_mutex, 2,s: 21,105,737 msg/sec tbb::spin_mutex, 2,i: 18,404,104 msg/sec tbb::spin_mutex, 3,s: 7,851,351 msg/sec tbb::spin_mutex, 3,i: 10,113,339 msg/sec tbb::spin_mutex, 4,s: 3,121,186 msg/sec tbb::spin_mutex, 4,i: 6,348,670 msg/sec tbb::spin_mutex, 5,s: 5,566,525 msg/sec tbb::spin_mutex, 5,i: 5,616,421 msg/sec tbb::spin_mutex, 6,s: 5,131,801 msg/sec tbb::spin_mutex, 6,i: 4,393,968 msg/sec tbb::spin_mutex, 7,s: 4,881,346 msg/sec tbb::spin_mutex, 7,i: 4,318,552 msg/sec tbb::spin_mutex, 8,s: 3,861,215 msg/sec tbb::spin_mutex, 8,i: 4,161,606 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,578,916 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,458,952 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,642,498 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,050,549 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,399,285 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,779,981 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,134,818 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,410,083 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,779,075 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,701,633 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,856,670 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,970,960 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,735,246 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,117,827 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,662,920 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,331,401 msg/sec xenium::michael_scott_queue, 1,s: 9,448,141 msg/sec xenium::michael_scott_queue, 1,i: 9,444,845 msg/sec xenium::michael_scott_queue, 2,s: 8,502,919 msg/sec xenium::michael_scott_queue, 2,i: 8,396,315 msg/sec xenium::michael_scott_queue, 3,s: 7,241,741 msg/sec xenium::michael_scott_queue, 3,i: 7,500,573 msg/sec xenium::michael_scott_queue, 4,s: 6,410,223 msg/sec xenium::michael_scott_queue, 4,i: 6,419,471 msg/sec xenium::michael_scott_queue, 5,s: 6,321,929 msg/sec xenium::michael_scott_queue, 5,i: 6,775,266 msg/sec xenium::michael_scott_queue, 6,s: 6,518,011 msg/sec xenium::michael_scott_queue, 6,i: 6,729,442 msg/sec xenium::michael_scott_queue, 7,s: 6,317,828 msg/sec xenium::michael_scott_queue, 7,i: 6,508,536 msg/sec xenium::michael_scott_queue, 8,s: 5,981,999 msg/sec xenium::michael_scott_queue, 8,i: 6,085,859 msg/sec xenium::ramalhete_queue, 1,s: 32,865,501 msg/sec xenium::ramalhete_queue, 1,i: 31,894,623 msg/sec xenium::ramalhete_queue, 2,s: 23,599,874 msg/sec xenium::ramalhete_queue, 2,i: 23,387,670 msg/sec xenium::ramalhete_queue, 3,s: 29,215,328 msg/sec xenium::ramalhete_queue, 3,i: 28,518,673 msg/sec xenium::ramalhete_queue, 4,s: 33,748,476 msg/sec xenium::ramalhete_queue, 4,i: 33,462,092 msg/sec xenium::ramalhete_queue, 5,s: 32,135,818 msg/sec xenium::ramalhete_queue, 5,i: 35,910,276 msg/sec xenium::ramalhete_queue, 6,s: 33,924,586 msg/sec xenium::ramalhete_queue, 6,i: 38,680,857 msg/sec xenium::ramalhete_queue, 7,s: 35,055,995 msg/sec xenium::ramalhete_queue, 7,i: 41,912,120 msg/sec xenium::ramalhete_queue, 8,s: 35,575,509 msg/sec xenium::ramalhete_queue, 8,i: 44,090,452 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,202,595 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,942,722 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,675,838 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,683,342 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,566,712 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,119,470 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,575,824 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,232,136 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,998,687 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,260,710 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,897,641 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,328,217 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,249,992 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,322,333 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,384,793 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,534,237 msg/sec AtomicQueue, 1,s: 58,564,820 msg/sec AtomicQueue, 1,i: 56,620,332 msg/sec AtomicQueue, 2,s: 12,255,923 msg/sec AtomicQueue, 2,i: 11,738,038 msg/sec AtomicQueue, 3,s: 10,705,281 msg/sec AtomicQueue, 3,i: 9,960,263 msg/sec AtomicQueue, 4,s: 8,201,846 msg/sec AtomicQueue, 4,i: 8,183,743 msg/sec AtomicQueue, 5,s: 8,051,163 msg/sec AtomicQueue, 5,i: 8,089,060 msg/sec AtomicQueue, 6,s: 7,824,660 msg/sec AtomicQueue, 6,i: 7,625,822 msg/sec AtomicQueue, 7,s: 7,143,344 msg/sec AtomicQueue, 7,i: 7,985,200 msg/sec AtomicQueue, 8,s: 6,357,855 msg/sec AtomicQueue, 8,i: 7,345,932 msg/sec AtomicQueueB, 1,s: 44,222,608 msg/sec AtomicQueueB, 1,i: 49,220,069 msg/sec AtomicQueueB, 2,s: 12,055,006 msg/sec AtomicQueueB, 2,i: 11,480,852 msg/sec AtomicQueueB, 3,s: 10,844,479 msg/sec AtomicQueueB, 3,i: 10,193,859 msg/sec AtomicQueueB, 4,s: 8,067,925 msg/sec AtomicQueueB, 4,i: 8,056,643 msg/sec AtomicQueueB, 5,s: 7,621,823 msg/sec AtomicQueueB, 5,i: 7,778,396 msg/sec AtomicQueueB, 6,s: 7,414,846 msg/sec AtomicQueueB, 6,i: 7,601,922 msg/sec AtomicQueueB, 7,s: 6,847,726 msg/sec AtomicQueueB, 7,i: 7,717,421 msg/sec AtomicQueueB, 8,s: 6,231,319 msg/sec AtomicQueueB, 8,i: 7,103,559 msg/sec OptimistAtomicQueue, 1,s: 713,928,877 msg/sec OptimistAtomicQueue, 1,i: 766,574,294 msg/sec OptimistAtomicQueue, 2,s: 32,642,968 msg/sec OptimistAtomicQueue, 2,i: 32,732,000 msg/sec OptimistAtomicQueue, 3,s: 36,678,345 msg/sec OptimistAtomicQueue, 3,i: 37,340,300 msg/sec OptimistAtomicQueue, 4,s: 39,279,176 msg/sec OptimistAtomicQueue, 4,i: 39,416,840 msg/sec OptimistAtomicQueue, 5,s: 42,420,121 msg/sec OptimistAtomicQueue, 5,i: 48,473,923 msg/sec OptimistAtomicQueue, 6,s: 42,738,981 msg/sec OptimistAtomicQueue, 6,i: 49,774,049 msg/sec OptimistAtomicQueue, 7,s: 45,105,270 msg/sec OptimistAtomicQueue, 7,i: 52,112,049 msg/sec OptimistAtomicQueue, 8,s: 46,386,255 msg/sec OptimistAtomicQueue, 8,i: 48,987,575 msg/sec OptimistAtomicQueueB, 1,s: 77,799,250 msg/sec OptimistAtomicQueueB, 1,i: 76,699,286 msg/sec OptimistAtomicQueueB, 2,s: 32,249,817 msg/sec OptimistAtomicQueueB, 2,i: 31,993,904 msg/sec OptimistAtomicQueueB, 3,s: 36,284,147 msg/sec OptimistAtomicQueueB, 3,i: 36,739,485 msg/sec OptimistAtomicQueueB, 4,s: 38,686,130 msg/sec OptimistAtomicQueueB, 4,i: 38,594,008 msg/sec OptimistAtomicQueueB, 5,s: 39,256,297 msg/sec OptimistAtomicQueueB, 5,i: 45,414,922 msg/sec OptimistAtomicQueueB, 6,s: 40,988,527 msg/sec OptimistAtomicQueueB, 6,i: 48,679,736 msg/sec OptimistAtomicQueueB, 7,s: 42,031,740 msg/sec OptimistAtomicQueueB, 7,i: 47,640,054 msg/sec OptimistAtomicQueueB, 8,s: 44,498,060 msg/sec OptimistAtomicQueueB, 8,i: 48,085,539 msg/sec AtomicQueue2, 1,s: 23,113,747 msg/sec AtomicQueue2, 1,i: 23,079,286 msg/sec AtomicQueue2, 2,s: 11,876,088 msg/sec AtomicQueue2, 2,i: 11,588,845 msg/sec AtomicQueue2, 3,s: 9,396,498 msg/sec AtomicQueue2, 3,i: 9,344,373 msg/sec AtomicQueue2, 4,s: 8,026,070 msg/sec AtomicQueue2, 4,i: 8,044,391 msg/sec AtomicQueue2, 5,s: 7,920,529 msg/sec AtomicQueue2, 5,i: 8,075,598 msg/sec AtomicQueue2, 6,s: 7,657,491 msg/sec AtomicQueue2, 6,i: 7,540,908 msg/sec AtomicQueue2, 7,s: 7,119,335 msg/sec AtomicQueue2, 7,i: 7,872,227 msg/sec AtomicQueue2, 8,s: 6,378,788 msg/sec AtomicQueue2, 8,i: 7,330,825 msg/sec AtomicQueueB2, 1,s: 35,772,440 msg/sec AtomicQueueB2, 1,i: 32,619,761 msg/sec AtomicQueueB2, 2,s: 11,391,592 msg/sec AtomicQueueB2, 2,i: 11,076,187 msg/sec AtomicQueueB2, 3,s: 9,635,925 msg/sec AtomicQueueB2, 3,i: 9,495,974 msg/sec AtomicQueueB2, 4,s: 7,828,346 msg/sec AtomicQueueB2, 4,i: 7,830,246 msg/sec AtomicQueueB2, 5,s: 7,430,747 msg/sec AtomicQueueB2, 5,i: 7,697,358 msg/sec AtomicQueueB2, 6,s: 7,260,644 msg/sec AtomicQueueB2, 6,i: 7,435,967 msg/sec AtomicQueueB2, 7,s: 6,849,100 msg/sec AtomicQueueB2, 7,i: 7,697,165 msg/sec AtomicQueueB2, 8,s: 6,256,390 msg/sec AtomicQueueB2, 8,i: 7,093,876 msg/sec OptimistAtomicQueue2, 1,s: 436,502,094 msg/sec OptimistAtomicQueue2, 1,i: 436,286,183 msg/sec OptimistAtomicQueue2, 2,s: 23,595,897 msg/sec OptimistAtomicQueue2, 2,i: 22,690,643 msg/sec OptimistAtomicQueue2, 3,s: 29,817,403 msg/sec OptimistAtomicQueue2, 3,i: 29,591,696 msg/sec OptimistAtomicQueue2, 4,s: 33,659,505 msg/sec OptimistAtomicQueue2, 4,i: 33,078,482 msg/sec OptimistAtomicQueue2, 5,s: 37,437,629 msg/sec OptimistAtomicQueue2, 5,i: 40,009,986 msg/sec OptimistAtomicQueue2, 6,s: 40,348,831 msg/sec OptimistAtomicQueue2, 6,i: 49,259,340 msg/sec OptimistAtomicQueue2, 7,s: 42,592,926 msg/sec OptimistAtomicQueue2, 7,i: 48,068,775 msg/sec OptimistAtomicQueue2, 8,s: 43,963,611 msg/sec OptimistAtomicQueue2, 8,i: 48,951,849 msg/sec OptimistAtomicQueueB2, 1,s: 78,826,343 msg/sec OptimistAtomicQueueB2, 1,i: 33,861,670 msg/sec OptimistAtomicQueueB2, 2,s: 26,984,001 msg/sec OptimistAtomicQueueB2, 2,i: 23,208,023 msg/sec OptimistAtomicQueueB2, 3,s: 29,785,334 msg/sec OptimistAtomicQueueB2, 3,i: 28,946,717 msg/sec OptimistAtomicQueueB2, 4,s: 33,337,920 msg/sec OptimistAtomicQueueB2, 4,i: 32,790,282 msg/sec OptimistAtomicQueueB2, 5,s: 34,469,104 msg/sec OptimistAtomicQueueB2, 5,i: 39,878,345 msg/sec OptimistAtomicQueueB2, 6,s: 37,157,574 msg/sec OptimistAtomicQueueB2, 6,i: 42,540,219 msg/sec OptimistAtomicQueueB2, 7,s: 40,178,190 msg/sec OptimistAtomicQueueB2, 7,i: 43,108,411 msg/sec OptimistAtomicQueueB2, 8,s: 42,058,166 msg/sec OptimistAtomicQueueB2, 8,i: 46,218,920 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000221 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [165] 263m:40s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,537,124 msg/sec boost::lockfree::spsc_queue, 1,i: 67,008,598 msg/sec boost::lockfree::queue, 1,s: 6,847,627 msg/sec boost::lockfree::queue, 1,i: 6,936,112 msg/sec boost::lockfree::queue, 2,s: 7,673,721 msg/sec boost::lockfree::queue, 2,i: 7,544,885 msg/sec boost::lockfree::queue, 3,s: 7,385,728 msg/sec boost::lockfree::queue, 3,i: 7,531,578 msg/sec boost::lockfree::queue, 4,s: 6,425,375 msg/sec boost::lockfree::queue, 4,i: 6,775,203 msg/sec boost::lockfree::queue, 5,s: 6,412,344 msg/sec boost::lockfree::queue, 5,i: 6,461,633 msg/sec boost::lockfree::queue, 6,s: 5,963,112 msg/sec boost::lockfree::queue, 6,i: 6,125,499 msg/sec boost::lockfree::queue, 7,s: 5,992,069 msg/sec boost::lockfree::queue, 7,i: 6,112,288 msg/sec boost::lockfree::queue, 8,s: 5,537,925 msg/sec boost::lockfree::queue, 8,i: 5,584,651 msg/sec moodycamel::ReaderWriterQueue, 1,s: 71,925,467 msg/sec moodycamel::ReaderWriterQueue, 1,i: 51,098,043 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,833,563 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,372,121 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,604,203 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,651,898 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,522,470 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,001,065 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,205,496 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,288,784 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,455,995 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,998,413 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,432,808 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,545,122 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,044,093 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,882,934 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,319,151 msg/sec moodycamel::ConcurrentQueue, 8,i: 33,376,307 msg/sec pthread_spinlock, 1,s: 29,042,075 msg/sec pthread_spinlock, 1,i: 25,293,534 msg/sec pthread_spinlock, 2,s: 15,585,602 msg/sec pthread_spinlock, 2,i: 17,152,527 msg/sec pthread_spinlock, 3,s: 8,324,811 msg/sec pthread_spinlock, 3,i: 12,150,195 msg/sec pthread_spinlock, 4,s: 6,489,659 msg/sec pthread_spinlock, 4,i: 9,252,857 msg/sec pthread_spinlock, 5,s: 8,660,635 msg/sec pthread_spinlock, 5,i: 9,197,110 msg/sec pthread_spinlock, 6,s: 8,733,182 msg/sec pthread_spinlock, 6,i: 9,083,013 msg/sec pthread_spinlock, 7,s: 7,731,058 msg/sec pthread_spinlock, 7,i: 7,744,885 msg/sec pthread_spinlock, 8,s: 6,674,509 msg/sec pthread_spinlock, 8,i: 6,998,107 msg/sec std::mutex, 1,s: 7,195,436 msg/sec std::mutex, 1,i: 7,286,820 msg/sec std::mutex, 2,s: 5,974,650 msg/sec std::mutex, 2,i: 6,086,945 msg/sec std::mutex, 3,s: 6,070,206 msg/sec std::mutex, 3,i: 6,161,799 msg/sec std::mutex, 4,s: 6,152,102 msg/sec std::mutex, 4,i: 6,272,492 msg/sec std::mutex, 5,s: 6,127,647 msg/sec std::mutex, 5,i: 6,044,353 msg/sec std::mutex, 6,s: 6,019,109 msg/sec std::mutex, 6,i: 5,980,585 msg/sec std::mutex, 7,s: 5,815,332 msg/sec std::mutex, 7,i: 5,831,559 msg/sec std::mutex, 8,s: 5,697,314 msg/sec std::mutex, 8,i: 5,645,231 msg/sec tbb::spin_mutex, 1,s: 37,717,469 msg/sec tbb::spin_mutex, 1,i: 37,539,945 msg/sec tbb::spin_mutex, 2,s: 21,052,357 msg/sec tbb::spin_mutex, 2,i: 18,403,479 msg/sec tbb::spin_mutex, 3,s: 8,257,353 msg/sec tbb::spin_mutex, 3,i: 11,182,924 msg/sec tbb::spin_mutex, 4,s: 3,264,121 msg/sec tbb::spin_mutex, 4,i: 6,279,757 msg/sec tbb::spin_mutex, 5,s: 5,346,666 msg/sec tbb::spin_mutex, 5,i: 5,745,351 msg/sec tbb::spin_mutex, 6,s: 5,341,024 msg/sec tbb::spin_mutex, 6,i: 4,329,522 msg/sec tbb::spin_mutex, 7,s: 4,873,319 msg/sec tbb::spin_mutex, 7,i: 4,358,127 msg/sec tbb::spin_mutex, 8,s: 4,264,616 msg/sec tbb::spin_mutex, 8,i: 4,196,169 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,335,767 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,293,147 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,101,950 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,376,590 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,601,392 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,378,959 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,457,312 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,625,998 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,909,965 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,631,076 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,916,823 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,697,777 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,902,892 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,843,339 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,798,740 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,469,449 msg/sec xenium::michael_scott_queue, 1,s: 10,130,815 msg/sec xenium::michael_scott_queue, 1,i: 10,088,656 msg/sec xenium::michael_scott_queue, 2,s: 8,430,036 msg/sec xenium::michael_scott_queue, 2,i: 8,420,380 msg/sec xenium::michael_scott_queue, 3,s: 7,258,060 msg/sec xenium::michael_scott_queue, 3,i: 7,545,260 msg/sec xenium::michael_scott_queue, 4,s: 6,390,953 msg/sec xenium::michael_scott_queue, 4,i: 6,358,175 msg/sec xenium::michael_scott_queue, 5,s: 6,330,219 msg/sec xenium::michael_scott_queue, 5,i: 6,665,799 msg/sec xenium::michael_scott_queue, 6,s: 6,518,779 msg/sec xenium::michael_scott_queue, 6,i: 6,729,320 msg/sec xenium::michael_scott_queue, 7,s: 6,354,272 msg/sec xenium::michael_scott_queue, 7,i: 6,479,093 msg/sec xenium::michael_scott_queue, 8,s: 5,942,376 msg/sec xenium::michael_scott_queue, 8,i: 6,249,053 msg/sec xenium::ramalhete_queue, 1,s: 32,618,591 msg/sec xenium::ramalhete_queue, 1,i: 32,264,603 msg/sec xenium::ramalhete_queue, 2,s: 23,546,981 msg/sec xenium::ramalhete_queue, 2,i: 23,370,004 msg/sec xenium::ramalhete_queue, 3,s: 29,167,834 msg/sec xenium::ramalhete_queue, 3,i: 28,571,830 msg/sec xenium::ramalhete_queue, 4,s: 33,897,465 msg/sec xenium::ramalhete_queue, 4,i: 33,521,157 msg/sec xenium::ramalhete_queue, 5,s: 32,130,031 msg/sec xenium::ramalhete_queue, 5,i: 35,966,592 msg/sec xenium::ramalhete_queue, 6,s: 33,901,014 msg/sec xenium::ramalhete_queue, 6,i: 38,908,845 msg/sec xenium::ramalhete_queue, 7,s: 34,929,904 msg/sec xenium::ramalhete_queue, 7,i: 41,451,779 msg/sec xenium::ramalhete_queue, 8,s: 35,504,659 msg/sec xenium::ramalhete_queue, 8,i: 43,680,427 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,752,411 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,986,163 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,503,541 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,369,732 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,614,850 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,481,416 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,480,517 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,416,605 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,640,685 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,355,923 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,112,186 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,490,302 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,207,058 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,099,617 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,424,144 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,329,971 msg/sec AtomicQueue, 1,s: 62,397,791 msg/sec AtomicQueue, 1,i: 56,883,864 msg/sec AtomicQueue, 2,s: 12,293,071 msg/sec AtomicQueue, 2,i: 11,744,615 msg/sec AtomicQueue, 3,s: 10,823,242 msg/sec AtomicQueue, 3,i: 9,957,286 msg/sec AtomicQueue, 4,s: 8,193,420 msg/sec AtomicQueue, 4,i: 8,205,845 msg/sec AtomicQueue, 5,s: 8,034,554 msg/sec AtomicQueue, 5,i: 8,097,258 msg/sec AtomicQueue, 6,s: 7,708,134 msg/sec AtomicQueue, 6,i: 7,621,238 msg/sec AtomicQueue, 7,s: 7,095,635 msg/sec AtomicQueue, 7,i: 7,977,597 msg/sec AtomicQueue, 8,s: 6,371,818 msg/sec AtomicQueue, 8,i: 7,432,587 msg/sec AtomicQueueB, 1,s: 44,315,149 msg/sec AtomicQueueB, 1,i: 42,977,942 msg/sec AtomicQueueB, 2,s: 11,929,732 msg/sec AtomicQueueB, 2,i: 11,518,655 msg/sec AtomicQueueB, 3,s: 11,071,070 msg/sec AtomicQueueB, 3,i: 10,092,678 msg/sec AtomicQueueB, 4,s: 8,002,611 msg/sec AtomicQueueB, 4,i: 8,018,657 msg/sec AtomicQueueB, 5,s: 7,617,988 msg/sec AtomicQueueB, 5,i: 7,794,719 msg/sec AtomicQueueB, 6,s: 7,336,306 msg/sec AtomicQueueB, 6,i: 7,542,931 msg/sec AtomicQueueB, 7,s: 6,965,190 msg/sec AtomicQueueB, 7,i: 7,669,344 msg/sec AtomicQueueB, 8,s: 6,253,113 msg/sec AtomicQueueB, 8,i: 7,134,836 msg/sec OptimistAtomicQueue, 1,s: 665,210,631 msg/sec OptimistAtomicQueue, 1,i: 513,243,346 msg/sec OptimistAtomicQueue, 2,s: 32,178,652 msg/sec OptimistAtomicQueue, 2,i: 32,211,844 msg/sec OptimistAtomicQueue, 3,s: 36,620,606 msg/sec OptimistAtomicQueue, 3,i: 37,327,840 msg/sec OptimistAtomicQueue, 4,s: 39,286,864 msg/sec OptimistAtomicQueue, 4,i: 39,305,315 msg/sec OptimistAtomicQueue, 5,s: 42,425,392 msg/sec OptimistAtomicQueue, 5,i: 46,407,522 msg/sec OptimistAtomicQueue, 6,s: 42,572,128 msg/sec OptimistAtomicQueue, 6,i: 50,181,674 msg/sec OptimistAtomicQueue, 7,s: 44,448,114 msg/sec OptimistAtomicQueue, 7,i: 52,034,886 msg/sec OptimistAtomicQueue, 8,s: 46,537,390 msg/sec OptimistAtomicQueue, 8,i: 49,418,910 msg/sec OptimistAtomicQueueB, 1,s: 189,426,030 msg/sec OptimistAtomicQueueB, 1,i: 77,459,849 msg/sec OptimistAtomicQueueB, 2,s: 32,187,725 msg/sec OptimistAtomicQueueB, 2,i: 32,273,470 msg/sec OptimistAtomicQueueB, 3,s: 36,179,975 msg/sec OptimistAtomicQueueB, 3,i: 36,862,403 msg/sec OptimistAtomicQueueB, 4,s: 38,698,933 msg/sec OptimistAtomicQueueB, 4,i: 38,794,047 msg/sec OptimistAtomicQueueB, 5,s: 41,095,061 msg/sec OptimistAtomicQueueB, 5,i: 44,485,914 msg/sec OptimistAtomicQueueB, 6,s: 41,386,022 msg/sec OptimistAtomicQueueB, 6,i: 48,922,439 msg/sec OptimistAtomicQueueB, 7,s: 42,236,418 msg/sec OptimistAtomicQueueB, 7,i: 51,480,858 msg/sec OptimistAtomicQueueB, 8,s: 44,228,677 msg/sec OptimistAtomicQueueB, 8,i: 48,027,209 msg/sec AtomicQueue2, 1,s: 23,674,020 msg/sec AtomicQueue2, 1,i: 23,472,667 msg/sec AtomicQueue2, 2,s: 11,980,600 msg/sec AtomicQueue2, 2,i: 11,411,298 msg/sec AtomicQueue2, 3,s: 9,403,247 msg/sec AtomicQueue2, 3,i: 9,381,048 msg/sec AtomicQueue2, 4,s: 8,022,032 msg/sec AtomicQueue2, 4,i: 8,016,381 msg/sec AtomicQueue2, 5,s: 7,896,842 msg/sec AtomicQueue2, 5,i: 8,035,407 msg/sec AtomicQueue2, 6,s: 7,788,584 msg/sec AtomicQueue2, 6,i: 7,526,606 msg/sec AtomicQueue2, 7,s: 7,106,717 msg/sec AtomicQueue2, 7,i: 7,876,260 msg/sec AtomicQueue2, 8,s: 6,390,792 msg/sec AtomicQueue2, 8,i: 7,302,960 msg/sec AtomicQueueB2, 1,s: 36,099,403 msg/sec AtomicQueueB2, 1,i: 36,236,383 msg/sec AtomicQueueB2, 2,s: 11,425,949 msg/sec AtomicQueueB2, 2,i: 11,159,722 msg/sec AtomicQueueB2, 3,s: 9,650,976 msg/sec AtomicQueueB2, 3,i: 9,561,973 msg/sec AtomicQueueB2, 4,s: 7,814,975 msg/sec AtomicQueueB2, 4,i: 7,819,741 msg/sec AtomicQueueB2, 5,s: 7,573,279 msg/sec AtomicQueueB2, 5,i: 7,649,534 msg/sec AtomicQueueB2, 6,s: 7,287,513 msg/sec AtomicQueueB2, 6,i: 7,421,411 msg/sec AtomicQueueB2, 7,s: 6,853,429 msg/sec AtomicQueueB2, 7,i: 7,704,858 msg/sec AtomicQueueB2, 8,s: 6,344,353 msg/sec AtomicQueueB2, 8,i: 7,130,936 msg/sec OptimistAtomicQueue2, 1,s: 540,229,470 msg/sec OptimistAtomicQueue2, 1,i: 29,515,606 msg/sec OptimistAtomicQueue2, 2,s: 24,275,443 msg/sec OptimistAtomicQueue2, 2,i: 24,563,582 msg/sec OptimistAtomicQueue2, 3,s: 29,852,801 msg/sec OptimistAtomicQueue2, 3,i: 29,570,872 msg/sec OptimistAtomicQueue2, 4,s: 33,588,046 msg/sec OptimistAtomicQueue2, 4,i: 33,330,249 msg/sec OptimistAtomicQueue2, 5,s: 37,118,799 msg/sec OptimistAtomicQueue2, 5,i: 42,754,949 msg/sec OptimistAtomicQueue2, 6,s: 40,081,581 msg/sec OptimistAtomicQueue2, 6,i: 49,210,932 msg/sec OptimistAtomicQueue2, 7,s: 43,355,850 msg/sec OptimistAtomicQueue2, 7,i: 48,153,910 msg/sec OptimistAtomicQueue2, 8,s: 43,923,953 msg/sec OptimistAtomicQueue2, 8,i: 48,542,166 msg/sec OptimistAtomicQueueB2, 1,s: 77,727,031 msg/sec OptimistAtomicQueueB2, 1,i: 33,871,334 msg/sec OptimistAtomicQueueB2, 2,s: 27,219,558 msg/sec OptimistAtomicQueueB2, 2,i: 25,905,446 msg/sec OptimistAtomicQueueB2, 3,s: 29,707,774 msg/sec OptimistAtomicQueueB2, 3,i: 29,116,593 msg/sec OptimistAtomicQueueB2, 4,s: 33,414,390 msg/sec OptimistAtomicQueueB2, 4,i: 33,258,062 msg/sec OptimistAtomicQueueB2, 5,s: 34,612,982 msg/sec OptimistAtomicQueueB2, 5,i: 39,025,733 msg/sec OptimistAtomicQueueB2, 6,s: 37,305,427 msg/sec OptimistAtomicQueueB2, 6,i: 42,271,674 msg/sec OptimistAtomicQueueB2, 7,s: 40,281,277 msg/sec OptimistAtomicQueueB2, 7,i: 45,158,911 msg/sec OptimistAtomicQueueB2, 8,s: 42,396,183 msg/sec OptimistAtomicQueueB2, 8,i: 45,280,432 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000121 sec/round-trip moodycamel::ConcurrentQueue: 0.000000244 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000456 sec/round-trip tbb::spin_mutex: 0.000000283 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000401 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000225 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000169 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [166] 262m:21s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,355,800 msg/sec boost::lockfree::spsc_queue, 1,i: 67,969,426 msg/sec boost::lockfree::queue, 1,s: 6,781,641 msg/sec boost::lockfree::queue, 1,i: 6,852,686 msg/sec boost::lockfree::queue, 2,s: 7,590,878 msg/sec boost::lockfree::queue, 2,i: 7,635,400 msg/sec boost::lockfree::queue, 3,s: 7,465,336 msg/sec boost::lockfree::queue, 3,i: 7,563,487 msg/sec boost::lockfree::queue, 4,s: 6,419,003 msg/sec boost::lockfree::queue, 4,i: 6,750,378 msg/sec boost::lockfree::queue, 5,s: 6,381,374 msg/sec boost::lockfree::queue, 5,i: 6,482,153 msg/sec boost::lockfree::queue, 6,s: 5,959,116 msg/sec boost::lockfree::queue, 6,i: 6,117,767 msg/sec boost::lockfree::queue, 7,s: 5,987,831 msg/sec boost::lockfree::queue, 7,i: 6,058,525 msg/sec boost::lockfree::queue, 8,s: 5,481,344 msg/sec boost::lockfree::queue, 8,i: 5,549,595 msg/sec moodycamel::ReaderWriterQueue, 1,s: 524,362,882 msg/sec moodycamel::ReaderWriterQueue, 1,i: 508,568,424 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,265,898 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,935,913 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,202,613 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,733,839 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,935,689 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,741,507 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,312,667 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,052,570 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,144,975 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,232,429 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,375,901 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,083,172 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,829,184 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,626,789 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,178,394 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,152,727 msg/sec pthread_spinlock, 1,s: 28,540,980 msg/sec pthread_spinlock, 1,i: 26,621,243 msg/sec pthread_spinlock, 2,s: 15,618,558 msg/sec pthread_spinlock, 2,i: 17,009,497 msg/sec pthread_spinlock, 3,s: 8,391,808 msg/sec pthread_spinlock, 3,i: 12,137,430 msg/sec pthread_spinlock, 4,s: 6,490,557 msg/sec pthread_spinlock, 4,i: 9,325,843 msg/sec pthread_spinlock, 5,s: 8,677,510 msg/sec pthread_spinlock, 5,i: 9,495,520 msg/sec pthread_spinlock, 6,s: 8,533,168 msg/sec pthread_spinlock, 6,i: 8,514,487 msg/sec pthread_spinlock, 7,s: 7,491,428 msg/sec pthread_spinlock, 7,i: 7,405,478 msg/sec pthread_spinlock, 8,s: 6,688,775 msg/sec pthread_spinlock, 8,i: 6,913,438 msg/sec std::mutex, 1,s: 6,284,092 msg/sec std::mutex, 1,i: 5,900,458 msg/sec std::mutex, 2,s: 5,532,828 msg/sec std::mutex, 2,i: 5,623,252 msg/sec std::mutex, 3,s: 6,098,032 msg/sec std::mutex, 3,i: 6,309,861 msg/sec std::mutex, 4,s: 6,316,116 msg/sec std::mutex, 4,i: 6,354,112 msg/sec std::mutex, 5,s: 6,080,302 msg/sec std::mutex, 5,i: 6,166,389 msg/sec std::mutex, 6,s: 5,747,538 msg/sec std::mutex, 6,i: 6,006,103 msg/sec std::mutex, 7,s: 5,901,163 msg/sec std::mutex, 7,i: 5,873,218 msg/sec std::mutex, 8,s: 5,744,045 msg/sec std::mutex, 8,i: 5,781,946 msg/sec tbb::spin_mutex, 1,s: 37,971,826 msg/sec tbb::spin_mutex, 1,i: 33,178,208 msg/sec tbb::spin_mutex, 2,s: 21,078,497 msg/sec tbb::spin_mutex, 2,i: 18,228,155 msg/sec tbb::spin_mutex, 3,s: 7,845,065 msg/sec tbb::spin_mutex, 3,i: 10,230,522 msg/sec tbb::spin_mutex, 4,s: 3,178,541 msg/sec tbb::spin_mutex, 4,i: 6,321,532 msg/sec tbb::spin_mutex, 5,s: 5,503,527 msg/sec tbb::spin_mutex, 5,i: 5,670,182 msg/sec tbb::spin_mutex, 6,s: 5,299,688 msg/sec tbb::spin_mutex, 6,i: 4,361,304 msg/sec tbb::spin_mutex, 7,s: 4,863,918 msg/sec tbb::spin_mutex, 7,i: 4,331,990 msg/sec tbb::spin_mutex, 8,s: 4,270,079 msg/sec tbb::spin_mutex, 8,i: 4,055,258 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,538,493 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,490,509 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,470,512 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,117,317 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,559,372 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,909,916 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,101,781 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,475,120 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,813,505 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,775,818 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,931,296 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,949,416 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,823,320 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,155,910 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,634,504 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,324,689 msg/sec xenium::michael_scott_queue, 1,s: 8,941,453 msg/sec xenium::michael_scott_queue, 1,i: 9,239,875 msg/sec xenium::michael_scott_queue, 2,s: 8,406,919 msg/sec xenium::michael_scott_queue, 2,i: 8,400,191 msg/sec xenium::michael_scott_queue, 3,s: 7,213,491 msg/sec xenium::michael_scott_queue, 3,i: 7,573,399 msg/sec xenium::michael_scott_queue, 4,s: 6,282,210 msg/sec xenium::michael_scott_queue, 4,i: 6,295,653 msg/sec xenium::michael_scott_queue, 5,s: 6,317,139 msg/sec xenium::michael_scott_queue, 5,i: 6,699,256 msg/sec xenium::michael_scott_queue, 6,s: 6,500,664 msg/sec xenium::michael_scott_queue, 6,i: 6,688,715 msg/sec xenium::michael_scott_queue, 7,s: 6,305,767 msg/sec xenium::michael_scott_queue, 7,i: 6,516,124 msg/sec xenium::michael_scott_queue, 8,s: 5,994,713 msg/sec xenium::michael_scott_queue, 8,i: 6,248,230 msg/sec xenium::ramalhete_queue, 1,s: 31,896,330 msg/sec xenium::ramalhete_queue, 1,i: 32,468,161 msg/sec xenium::ramalhete_queue, 2,s: 24,487,327 msg/sec xenium::ramalhete_queue, 2,i: 23,312,461 msg/sec xenium::ramalhete_queue, 3,s: 29,348,182 msg/sec xenium::ramalhete_queue, 3,i: 28,467,290 msg/sec xenium::ramalhete_queue, 4,s: 33,926,044 msg/sec xenium::ramalhete_queue, 4,i: 33,499,833 msg/sec xenium::ramalhete_queue, 5,s: 32,122,999 msg/sec xenium::ramalhete_queue, 5,i: 35,964,361 msg/sec xenium::ramalhete_queue, 6,s: 34,110,776 msg/sec xenium::ramalhete_queue, 6,i: 38,647,921 msg/sec xenium::ramalhete_queue, 7,s: 35,100,002 msg/sec xenium::ramalhete_queue, 7,i: 41,453,282 msg/sec xenium::ramalhete_queue, 8,s: 35,499,974 msg/sec xenium::ramalhete_queue, 8,i: 43,891,236 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,654,946 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,922,112 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,591,027 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,959,251 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,578,132 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,997,778 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,595,965 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,397,667 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,911,041 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,310,945 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,994,608 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,496,670 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,182,970 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,088,840 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,393,660 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,230,145 msg/sec AtomicQueue, 1,s: 58,397,292 msg/sec AtomicQueue, 1,i: 56,690,220 msg/sec AtomicQueue, 2,s: 12,243,514 msg/sec AtomicQueue, 2,i: 11,731,363 msg/sec AtomicQueue, 3,s: 10,732,126 msg/sec AtomicQueue, 3,i: 9,922,443 msg/sec AtomicQueue, 4,s: 8,178,813 msg/sec AtomicQueue, 4,i: 8,213,559 msg/sec AtomicQueue, 5,s: 8,020,864 msg/sec AtomicQueue, 5,i: 8,107,174 msg/sec AtomicQueue, 6,s: 7,790,411 msg/sec AtomicQueue, 6,i: 7,617,304 msg/sec AtomicQueue, 7,s: 7,123,483 msg/sec AtomicQueue, 7,i: 7,987,839 msg/sec AtomicQueue, 8,s: 6,333,380 msg/sec AtomicQueue, 8,i: 7,459,720 msg/sec AtomicQueueB, 1,s: 44,089,220 msg/sec AtomicQueueB, 1,i: 43,503,222 msg/sec AtomicQueueB, 2,s: 11,739,931 msg/sec AtomicQueueB, 2,i: 11,492,817 msg/sec AtomicQueueB, 3,s: 10,933,905 msg/sec AtomicQueueB, 3,i: 10,201,416 msg/sec AtomicQueueB, 4,s: 8,025,952 msg/sec AtomicQueueB, 4,i: 7,977,574 msg/sec AtomicQueueB, 5,s: 7,759,241 msg/sec AtomicQueueB, 5,i: 7,777,932 msg/sec AtomicQueueB, 6,s: 7,332,022 msg/sec AtomicQueueB, 6,i: 7,536,258 msg/sec AtomicQueueB, 7,s: 6,909,009 msg/sec AtomicQueueB, 7,i: 7,760,731 msg/sec AtomicQueueB, 8,s: 6,218,274 msg/sec AtomicQueueB, 8,i: 7,158,839 msg/sec OptimistAtomicQueue, 1,s: 689,311,586 msg/sec OptimistAtomicQueue, 1,i: 532,054,699 msg/sec OptimistAtomicQueue, 2,s: 32,616,262 msg/sec OptimistAtomicQueue, 2,i: 32,699,977 msg/sec OptimistAtomicQueue, 3,s: 36,688,940 msg/sec OptimistAtomicQueue, 3,i: 37,109,220 msg/sec OptimistAtomicQueue, 4,s: 39,277,089 msg/sec OptimistAtomicQueue, 4,i: 39,399,449 msg/sec OptimistAtomicQueue, 5,s: 41,670,222 msg/sec OptimistAtomicQueue, 5,i: 46,337,924 msg/sec OptimistAtomicQueue, 6,s: 42,231,870 msg/sec OptimistAtomicQueue, 6,i: 49,717,442 msg/sec OptimistAtomicQueue, 7,s: 45,190,862 msg/sec OptimistAtomicQueue, 7,i: 52,989,679 msg/sec OptimistAtomicQueue, 8,s: 46,453,148 msg/sec OptimistAtomicQueue, 8,i: 49,336,075 msg/sec OptimistAtomicQueueB, 1,s: 212,077,765 msg/sec OptimistAtomicQueueB, 1,i: 201,938,253 msg/sec OptimistAtomicQueueB, 2,s: 32,164,039 msg/sec OptimistAtomicQueueB, 2,i: 32,252,386 msg/sec OptimistAtomicQueueB, 3,s: 36,321,443 msg/sec OptimistAtomicQueueB, 3,i: 36,959,615 msg/sec OptimistAtomicQueueB, 4,s: 38,668,598 msg/sec OptimistAtomicQueueB, 4,i: 38,728,687 msg/sec OptimistAtomicQueueB, 5,s: 41,133,747 msg/sec OptimistAtomicQueueB, 5,i: 45,631,667 msg/sec OptimistAtomicQueueB, 6,s: 40,714,730 msg/sec OptimistAtomicQueueB, 6,i: 49,153,803 msg/sec OptimistAtomicQueueB, 7,s: 42,104,100 msg/sec OptimistAtomicQueueB, 7,i: 51,359,250 msg/sec OptimistAtomicQueueB, 8,s: 44,441,681 msg/sec OptimistAtomicQueueB, 8,i: 47,624,508 msg/sec AtomicQueue2, 1,s: 22,865,915 msg/sec AtomicQueue2, 1,i: 22,859,779 msg/sec AtomicQueue2, 2,s: 11,802,974 msg/sec AtomicQueue2, 2,i: 11,514,096 msg/sec AtomicQueue2, 3,s: 9,441,115 msg/sec AtomicQueue2, 3,i: 9,411,033 msg/sec AtomicQueue2, 4,s: 8,025,209 msg/sec AtomicQueue2, 4,i: 8,030,735 msg/sec AtomicQueue2, 5,s: 7,929,712 msg/sec AtomicQueue2, 5,i: 8,039,087 msg/sec AtomicQueue2, 6,s: 7,612,673 msg/sec AtomicQueue2, 6,i: 7,534,161 msg/sec AtomicQueue2, 7,s: 7,175,599 msg/sec AtomicQueue2, 7,i: 7,892,214 msg/sec AtomicQueue2, 8,s: 6,376,993 msg/sec AtomicQueue2, 8,i: 7,357,653 msg/sec AtomicQueueB2, 1,s: 36,049,642 msg/sec AtomicQueueB2, 1,i: 32,614,817 msg/sec AtomicQueueB2, 2,s: 11,287,915 msg/sec AtomicQueueB2, 2,i: 11,109,537 msg/sec AtomicQueueB2, 3,s: 9,731,859 msg/sec AtomicQueueB2, 3,i: 9,593,538 msg/sec AtomicQueueB2, 4,s: 7,987,275 msg/sec AtomicQueueB2, 4,i: 7,896,097 msg/sec AtomicQueueB2, 5,s: 7,413,692 msg/sec AtomicQueueB2, 5,i: 7,768,827 msg/sec AtomicQueueB2, 6,s: 7,311,576 msg/sec AtomicQueueB2, 6,i: 7,445,130 msg/sec AtomicQueueB2, 7,s: 6,867,060 msg/sec AtomicQueueB2, 7,i: 7,722,659 msg/sec AtomicQueueB2, 8,s: 6,298,963 msg/sec AtomicQueueB2, 8,i: 6,946,965 msg/sec OptimistAtomicQueue2, 1,s: 510,754,771 msg/sec OptimistAtomicQueue2, 1,i: 43,157,105 msg/sec OptimistAtomicQueue2, 2,s: 26,187,835 msg/sec OptimistAtomicQueue2, 2,i: 24,260,058 msg/sec OptimistAtomicQueue2, 3,s: 30,380,741 msg/sec OptimistAtomicQueue2, 3,i: 29,939,377 msg/sec OptimistAtomicQueue2, 4,s: 33,243,662 msg/sec OptimistAtomicQueue2, 4,i: 33,370,058 msg/sec OptimistAtomicQueue2, 5,s: 37,245,299 msg/sec OptimistAtomicQueue2, 5,i: 40,457,042 msg/sec OptimistAtomicQueue2, 6,s: 40,544,232 msg/sec OptimistAtomicQueue2, 6,i: 49,446,020 msg/sec OptimistAtomicQueue2, 7,s: 42,905,233 msg/sec OptimistAtomicQueue2, 7,i: 48,215,255 msg/sec OptimistAtomicQueue2, 8,s: 43,850,381 msg/sec OptimistAtomicQueue2, 8,i: 48,034,266 msg/sec OptimistAtomicQueueB2, 1,s: 77,240,638 msg/sec OptimistAtomicQueueB2, 1,i: 33,941,065 msg/sec OptimistAtomicQueueB2, 2,s: 28,928,155 msg/sec OptimistAtomicQueueB2, 2,i: 25,416,469 msg/sec OptimistAtomicQueueB2, 3,s: 30,152,206 msg/sec OptimistAtomicQueueB2, 3,i: 29,124,511 msg/sec OptimistAtomicQueueB2, 4,s: 33,112,631 msg/sec OptimistAtomicQueueB2, 4,i: 32,068,226 msg/sec OptimistAtomicQueueB2, 5,s: 34,573,034 msg/sec OptimistAtomicQueueB2, 5,i: 39,597,881 msg/sec OptimistAtomicQueueB2, 6,s: 37,755,732 msg/sec OptimistAtomicQueueB2, 6,i: 42,525,344 msg/sec OptimistAtomicQueueB2, 7,s: 40,432,765 msg/sec OptimistAtomicQueueB2, 7,i: 43,172,832 msg/sec OptimistAtomicQueueB2, 8,s: 41,846,522 msg/sec OptimistAtomicQueueB2, 8,i: 45,932,787 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000244 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000447 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [167] 261m:2s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,598,741 msg/sec boost::lockfree::spsc_queue, 1,i: 67,013,666 msg/sec boost::lockfree::queue, 1,s: 6,818,928 msg/sec boost::lockfree::queue, 1,i: 6,964,448 msg/sec boost::lockfree::queue, 2,s: 7,696,426 msg/sec boost::lockfree::queue, 2,i: 7,506,279 msg/sec boost::lockfree::queue, 3,s: 7,429,154 msg/sec boost::lockfree::queue, 3,i: 7,567,321 msg/sec boost::lockfree::queue, 4,s: 6,426,453 msg/sec boost::lockfree::queue, 4,i: 6,803,216 msg/sec boost::lockfree::queue, 5,s: 6,402,785 msg/sec boost::lockfree::queue, 5,i: 6,496,473 msg/sec boost::lockfree::queue, 6,s: 6,009,311 msg/sec boost::lockfree::queue, 6,i: 6,087,303 msg/sec boost::lockfree::queue, 7,s: 5,823,934 msg/sec boost::lockfree::queue, 7,i: 6,069,315 msg/sec boost::lockfree::queue, 8,s: 5,514,051 msg/sec boost::lockfree::queue, 8,i: 5,588,292 msg/sec moodycamel::ReaderWriterQueue, 1,s: 472,017,727 msg/sec moodycamel::ReaderWriterQueue, 1,i: 505,982,355 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,813,551 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,930,855 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,888,569 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,772,826 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,072,099 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,922,568 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,975,996 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,935,472 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,265,320 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,469,797 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,585,676 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,971,371 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,196,036 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,542,822 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,235,517 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,959,703 msg/sec pthread_spinlock, 1,s: 29,223,439 msg/sec pthread_spinlock, 1,i: 25,327,662 msg/sec pthread_spinlock, 2,s: 15,495,415 msg/sec pthread_spinlock, 2,i: 16,741,925 msg/sec pthread_spinlock, 3,s: 8,384,044 msg/sec pthread_spinlock, 3,i: 12,041,368 msg/sec pthread_spinlock, 4,s: 6,495,860 msg/sec pthread_spinlock, 4,i: 8,916,343 msg/sec pthread_spinlock, 5,s: 8,665,036 msg/sec pthread_spinlock, 5,i: 9,213,802 msg/sec pthread_spinlock, 6,s: 8,509,430 msg/sec pthread_spinlock, 6,i: 8,471,697 msg/sec pthread_spinlock, 7,s: 7,574,734 msg/sec pthread_spinlock, 7,i: 7,608,818 msg/sec pthread_spinlock, 8,s: 6,770,095 msg/sec pthread_spinlock, 8,i: 6,882,240 msg/sec std::mutex, 1,s: 7,310,952 msg/sec std::mutex, 1,i: 7,202,376 msg/sec std::mutex, 2,s: 5,707,834 msg/sec std::mutex, 2,i: 5,473,292 msg/sec std::mutex, 3,s: 5,096,414 msg/sec std::mutex, 3,i: 5,038,398 msg/sec std::mutex, 4,s: 5,743,420 msg/sec std::mutex, 4,i: 6,311,982 msg/sec std::mutex, 5,s: 5,952,626 msg/sec std::mutex, 5,i: 5,981,399 msg/sec std::mutex, 6,s: 5,521,016 msg/sec std::mutex, 6,i: 5,900,578 msg/sec std::mutex, 7,s: 5,776,663 msg/sec std::mutex, 7,i: 5,782,191 msg/sec std::mutex, 8,s: 5,704,756 msg/sec std::mutex, 8,i: 5,699,468 msg/sec tbb::spin_mutex, 1,s: 38,044,742 msg/sec tbb::spin_mutex, 1,i: 33,313,884 msg/sec tbb::spin_mutex, 2,s: 21,185,313 msg/sec tbb::spin_mutex, 2,i: 18,346,759 msg/sec tbb::spin_mutex, 3,s: 7,385,228 msg/sec tbb::spin_mutex, 3,i: 10,209,205 msg/sec tbb::spin_mutex, 4,s: 3,135,956 msg/sec tbb::spin_mutex, 4,i: 6,217,977 msg/sec tbb::spin_mutex, 5,s: 5,254,701 msg/sec tbb::spin_mutex, 5,i: 5,666,430 msg/sec tbb::spin_mutex, 6,s: 5,352,559 msg/sec tbb::spin_mutex, 6,i: 4,388,243 msg/sec tbb::spin_mutex, 7,s: 4,880,362 msg/sec tbb::spin_mutex, 7,i: 4,366,912 msg/sec tbb::spin_mutex, 8,s: 4,216,247 msg/sec tbb::spin_mutex, 8,i: 4,120,316 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,527,241 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,118,747 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,806,648 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,646,883 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,026,129 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,661,490 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,307,788 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,309,406 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,664,856 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,168,278 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,878,133 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,514,368 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,961,953 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,613,812 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,050,484 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,764,651 msg/sec xenium::michael_scott_queue, 1,s: 9,358,235 msg/sec xenium::michael_scott_queue, 1,i: 9,141,455 msg/sec xenium::michael_scott_queue, 2,s: 8,561,424 msg/sec xenium::michael_scott_queue, 2,i: 8,523,884 msg/sec xenium::michael_scott_queue, 3,s: 7,276,691 msg/sec xenium::michael_scott_queue, 3,i: 7,653,461 msg/sec xenium::michael_scott_queue, 4,s: 6,238,066 msg/sec xenium::michael_scott_queue, 4,i: 6,324,014 msg/sec xenium::michael_scott_queue, 5,s: 6,324,180 msg/sec xenium::michael_scott_queue, 5,i: 6,682,987 msg/sec xenium::michael_scott_queue, 6,s: 6,495,268 msg/sec xenium::michael_scott_queue, 6,i: 6,710,339 msg/sec xenium::michael_scott_queue, 7,s: 6,296,206 msg/sec xenium::michael_scott_queue, 7,i: 6,619,282 msg/sec xenium::michael_scott_queue, 8,s: 6,060,960 msg/sec xenium::michael_scott_queue, 8,i: 6,072,213 msg/sec xenium::ramalhete_queue, 1,s: 32,059,872 msg/sec xenium::ramalhete_queue, 1,i: 32,611,379 msg/sec xenium::ramalhete_queue, 2,s: 23,521,113 msg/sec xenium::ramalhete_queue, 2,i: 23,345,130 msg/sec xenium::ramalhete_queue, 3,s: 29,261,381 msg/sec xenium::ramalhete_queue, 3,i: 28,486,197 msg/sec xenium::ramalhete_queue, 4,s: 33,830,724 msg/sec xenium::ramalhete_queue, 4,i: 33,485,249 msg/sec xenium::ramalhete_queue, 5,s: 32,213,718 msg/sec xenium::ramalhete_queue, 5,i: 36,159,039 msg/sec xenium::ramalhete_queue, 6,s: 34,198,419 msg/sec xenium::ramalhete_queue, 6,i: 39,751,185 msg/sec xenium::ramalhete_queue, 7,s: 35,250,336 msg/sec xenium::ramalhete_queue, 7,i: 40,922,461 msg/sec xenium::ramalhete_queue, 8,s: 35,565,639 msg/sec xenium::ramalhete_queue, 8,i: 43,997,138 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,299,123 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,757,295 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,499,890 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,405,290 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,637,991 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,735,717 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,454,741 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,206,305 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,019,273 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,211,028 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,148,916 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,306,726 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,240,037 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,137,924 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,411,809 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,528,953 msg/sec AtomicQueue, 1,s: 171,725,882 msg/sec AtomicQueue, 1,i: 250,890,425 msg/sec AtomicQueue, 2,s: 12,279,901 msg/sec AtomicQueue, 2,i: 11,761,549 msg/sec AtomicQueue, 3,s: 10,692,103 msg/sec AtomicQueue, 3,i: 9,954,433 msg/sec AtomicQueue, 4,s: 8,188,077 msg/sec AtomicQueue, 4,i: 8,199,964 msg/sec AtomicQueue, 5,s: 8,031,391 msg/sec AtomicQueue, 5,i: 8,105,580 msg/sec AtomicQueue, 6,s: 7,809,390 msg/sec AtomicQueue, 6,i: 7,593,376 msg/sec AtomicQueue, 7,s: 7,081,014 msg/sec AtomicQueue, 7,i: 7,995,773 msg/sec AtomicQueue, 8,s: 6,337,962 msg/sec AtomicQueue, 8,i: 7,455,885 msg/sec AtomicQueueB, 1,s: 43,885,618 msg/sec AtomicQueueB, 1,i: 43,728,235 msg/sec AtomicQueueB, 2,s: 11,677,219 msg/sec AtomicQueueB, 2,i: 11,427,177 msg/sec AtomicQueueB, 3,s: 10,957,449 msg/sec AtomicQueueB, 3,i: 10,201,191 msg/sec AtomicQueueB, 4,s: 8,046,751 msg/sec AtomicQueueB, 4,i: 8,091,867 msg/sec AtomicQueueB, 5,s: 7,638,785 msg/sec AtomicQueueB, 5,i: 7,890,955 msg/sec AtomicQueueB, 6,s: 7,204,684 msg/sec AtomicQueueB, 6,i: 7,585,915 msg/sec AtomicQueueB, 7,s: 6,862,647 msg/sec AtomicQueueB, 7,i: 7,764,195 msg/sec AtomicQueueB, 8,s: 6,242,169 msg/sec AtomicQueueB, 8,i: 7,163,366 msg/sec OptimistAtomicQueue, 1,s: 722,662,926 msg/sec OptimistAtomicQueue, 1,i: 511,501,690 msg/sec OptimistAtomicQueue, 2,s: 32,119,986 msg/sec OptimistAtomicQueue, 2,i: 32,199,499 msg/sec OptimistAtomicQueue, 3,s: 36,618,999 msg/sec OptimistAtomicQueue, 3,i: 37,425,862 msg/sec OptimistAtomicQueue, 4,s: 39,276,861 msg/sec OptimistAtomicQueue, 4,i: 39,387,950 msg/sec OptimistAtomicQueue, 5,s: 42,464,480 msg/sec OptimistAtomicQueue, 5,i: 47,197,495 msg/sec OptimistAtomicQueue, 6,s: 42,243,213 msg/sec OptimistAtomicQueue, 6,i: 50,487,010 msg/sec OptimistAtomicQueue, 7,s: 44,896,840 msg/sec OptimistAtomicQueue, 7,i: 52,989,159 msg/sec OptimistAtomicQueue, 8,s: 46,377,080 msg/sec OptimistAtomicQueue, 8,i: 49,635,255 msg/sec OptimistAtomicQueueB, 1,s: 125,053,534 msg/sec OptimistAtomicQueueB, 1,i: 76,585,083 msg/sec OptimistAtomicQueueB, 2,s: 32,141,837 msg/sec OptimistAtomicQueueB, 2,i: 32,225,022 msg/sec OptimistAtomicQueueB, 3,s: 36,283,248 msg/sec OptimistAtomicQueueB, 3,i: 36,872,993 msg/sec OptimistAtomicQueueB, 4,s: 38,696,759 msg/sec OptimistAtomicQueueB, 4,i: 38,550,598 msg/sec OptimistAtomicQueueB, 5,s: 40,766,322 msg/sec OptimistAtomicQueueB, 5,i: 45,310,433 msg/sec OptimistAtomicQueueB, 6,s: 40,703,249 msg/sec OptimistAtomicQueueB, 6,i: 49,008,471 msg/sec OptimistAtomicQueueB, 7,s: 42,005,228 msg/sec OptimistAtomicQueueB, 7,i: 50,561,267 msg/sec OptimistAtomicQueueB, 8,s: 44,589,139 msg/sec OptimistAtomicQueueB, 8,i: 47,542,492 msg/sec AtomicQueue2, 1,s: 22,935,532 msg/sec AtomicQueue2, 1,i: 22,964,273 msg/sec AtomicQueue2, 2,s: 11,794,724 msg/sec AtomicQueue2, 2,i: 11,388,073 msg/sec AtomicQueue2, 3,s: 9,469,502 msg/sec AtomicQueue2, 3,i: 9,471,595 msg/sec AtomicQueue2, 4,s: 8,055,212 msg/sec AtomicQueue2, 4,i: 8,066,600 msg/sec AtomicQueue2, 5,s: 7,895,799 msg/sec AtomicQueue2, 5,i: 8,067,900 msg/sec AtomicQueue2, 6,s: 7,885,650 msg/sec AtomicQueue2, 6,i: 7,517,340 msg/sec AtomicQueue2, 7,s: 7,173,196 msg/sec AtomicQueue2, 7,i: 7,914,467 msg/sec AtomicQueue2, 8,s: 6,391,744 msg/sec AtomicQueue2, 8,i: 7,347,596 msg/sec AtomicQueueB2, 1,s: 32,678,132 msg/sec AtomicQueueB2, 1,i: 32,617,221 msg/sec AtomicQueueB2, 2,s: 11,425,155 msg/sec AtomicQueueB2, 2,i: 11,173,733 msg/sec AtomicQueueB2, 3,s: 9,596,551 msg/sec AtomicQueueB2, 3,i: 9,583,777 msg/sec AtomicQueueB2, 4,s: 7,859,747 msg/sec AtomicQueueB2, 4,i: 7,931,035 msg/sec AtomicQueueB2, 5,s: 7,534,093 msg/sec AtomicQueueB2, 5,i: 7,702,350 msg/sec AtomicQueueB2, 6,s: 7,240,476 msg/sec AtomicQueueB2, 6,i: 7,437,780 msg/sec AtomicQueueB2, 7,s: 6,916,770 msg/sec AtomicQueueB2, 7,i: 7,725,542 msg/sec AtomicQueueB2, 8,s: 6,350,402 msg/sec AtomicQueueB2, 8,i: 7,089,207 msg/sec OptimistAtomicQueue2, 1,s: 436,234,130 msg/sec OptimistAtomicQueue2, 1,i: 30,313,366 msg/sec OptimistAtomicQueue2, 2,s: 24,263,644 msg/sec OptimistAtomicQueue2, 2,i: 24,024,749 msg/sec OptimistAtomicQueue2, 3,s: 30,319,429 msg/sec OptimistAtomicQueue2, 3,i: 29,953,555 msg/sec OptimistAtomicQueue2, 4,s: 33,148,194 msg/sec OptimistAtomicQueue2, 4,i: 33,170,997 msg/sec OptimistAtomicQueue2, 5,s: 37,156,789 msg/sec OptimistAtomicQueue2, 5,i: 40,503,800 msg/sec OptimistAtomicQueue2, 6,s: 40,381,255 msg/sec OptimistAtomicQueue2, 6,i: 49,175,994 msg/sec OptimistAtomicQueue2, 7,s: 42,906,398 msg/sec OptimistAtomicQueue2, 7,i: 48,252,558 msg/sec OptimistAtomicQueue2, 8,s: 43,891,682 msg/sec OptimistAtomicQueue2, 8,i: 49,256,065 msg/sec OptimistAtomicQueueB2, 1,s: 76,302,747 msg/sec OptimistAtomicQueueB2, 1,i: 33,897,815 msg/sec OptimistAtomicQueueB2, 2,s: 27,179,118 msg/sec OptimistAtomicQueueB2, 2,i: 28,264,772 msg/sec OptimistAtomicQueueB2, 3,s: 29,690,401 msg/sec OptimistAtomicQueueB2, 3,i: 29,776,073 msg/sec OptimistAtomicQueueB2, 4,s: 33,327,034 msg/sec OptimistAtomicQueueB2, 4,i: 32,672,129 msg/sec OptimistAtomicQueueB2, 5,s: 34,547,239 msg/sec OptimistAtomicQueueB2, 5,i: 39,697,149 msg/sec OptimistAtomicQueueB2, 6,s: 37,236,560 msg/sec OptimistAtomicQueueB2, 6,i: 41,483,363 msg/sec OptimistAtomicQueueB2, 7,s: 40,329,209 msg/sec OptimistAtomicQueueB2, 7,i: 43,150,390 msg/sec OptimistAtomicQueueB2, 8,s: 42,593,440 msg/sec OptimistAtomicQueueB2, 8,i: 45,218,636 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000148 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000282 sec/round-trip std::mutex: 0.000000450 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000258 sec/round-trip xenium::vyukov_bounded_queue: 0.000000199 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [168] 259m:42s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,679,898 msg/sec boost::lockfree::spsc_queue, 1,i: 70,289,270 msg/sec boost::lockfree::queue, 1,s: 6,883,833 msg/sec boost::lockfree::queue, 1,i: 6,851,235 msg/sec boost::lockfree::queue, 2,s: 7,566,858 msg/sec boost::lockfree::queue, 2,i: 7,564,601 msg/sec boost::lockfree::queue, 3,s: 7,439,205 msg/sec boost::lockfree::queue, 3,i: 7,584,916 msg/sec boost::lockfree::queue, 4,s: 6,428,283 msg/sec boost::lockfree::queue, 4,i: 6,813,353 msg/sec boost::lockfree::queue, 5,s: 6,412,821 msg/sec boost::lockfree::queue, 5,i: 6,512,090 msg/sec boost::lockfree::queue, 6,s: 5,961,311 msg/sec boost::lockfree::queue, 6,i: 6,103,283 msg/sec boost::lockfree::queue, 7,s: 5,926,672 msg/sec boost::lockfree::queue, 7,i: 6,016,695 msg/sec boost::lockfree::queue, 8,s: 5,425,105 msg/sec boost::lockfree::queue, 8,i: 5,691,872 msg/sec moodycamel::ReaderWriterQueue, 1,s: 76,158,969 msg/sec moodycamel::ReaderWriterQueue, 1,i: 60,840,038 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,933,171 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,542,584 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,363,968 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,768,299 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,055,444 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,763,580 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,578,168 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,769,338 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,268,569 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,541,233 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,387,441 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,289,117 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,120,842 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,484,471 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,309,104 msg/sec moodycamel::ConcurrentQueue, 8,i: 37,913,909 msg/sec pthread_spinlock, 1,s: 29,058,520 msg/sec pthread_spinlock, 1,i: 26,336,809 msg/sec pthread_spinlock, 2,s: 15,619,056 msg/sec pthread_spinlock, 2,i: 17,027,930 msg/sec pthread_spinlock, 3,s: 8,404,993 msg/sec pthread_spinlock, 3,i: 11,989,271 msg/sec pthread_spinlock, 4,s: 6,473,286 msg/sec pthread_spinlock, 4,i: 9,118,590 msg/sec pthread_spinlock, 5,s: 8,666,005 msg/sec pthread_spinlock, 5,i: 10,389,572 msg/sec pthread_spinlock, 6,s: 8,466,573 msg/sec pthread_spinlock, 6,i: 8,907,058 msg/sec pthread_spinlock, 7,s: 7,431,668 msg/sec pthread_spinlock, 7,i: 7,659,520 msg/sec pthread_spinlock, 8,s: 6,708,802 msg/sec pthread_spinlock, 8,i: 6,829,787 msg/sec std::mutex, 1,s: 6,183,179 msg/sec std::mutex, 1,i: 6,022,931 msg/sec std::mutex, 2,s: 5,281,610 msg/sec std::mutex, 2,i: 5,355,690 msg/sec std::mutex, 3,s: 4,966,314 msg/sec std::mutex, 3,i: 4,868,540 msg/sec std::mutex, 4,s: 6,159,672 msg/sec std::mutex, 4,i: 6,344,117 msg/sec std::mutex, 5,s: 5,959,765 msg/sec std::mutex, 5,i: 5,854,820 msg/sec std::mutex, 6,s: 5,927,408 msg/sec std::mutex, 6,i: 5,793,942 msg/sec std::mutex, 7,s: 5,889,537 msg/sec std::mutex, 7,i: 5,818,305 msg/sec std::mutex, 8,s: 5,805,870 msg/sec std::mutex, 8,i: 5,787,136 msg/sec tbb::spin_mutex, 1,s: 37,828,033 msg/sec tbb::spin_mutex, 1,i: 37,708,020 msg/sec tbb::spin_mutex, 2,s: 21,119,669 msg/sec tbb::spin_mutex, 2,i: 18,351,449 msg/sec tbb::spin_mutex, 3,s: 8,468,251 msg/sec tbb::spin_mutex, 3,i: 10,908,631 msg/sec tbb::spin_mutex, 4,s: 3,152,757 msg/sec tbb::spin_mutex, 4,i: 6,446,477 msg/sec tbb::spin_mutex, 5,s: 5,490,144 msg/sec tbb::spin_mutex, 5,i: 5,726,445 msg/sec tbb::spin_mutex, 6,s: 5,353,859 msg/sec tbb::spin_mutex, 6,i: 4,353,745 msg/sec tbb::spin_mutex, 7,s: 4,857,211 msg/sec tbb::spin_mutex, 7,i: 4,285,358 msg/sec tbb::spin_mutex, 8,s: 4,286,720 msg/sec tbb::spin_mutex, 8,i: 4,117,995 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,234,835 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,341,116 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,874,927 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,838,267 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,103,422 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,424,318 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,051,678 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,257,670 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,559,078 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,370,133 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,665,122 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,780,505 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,716,397 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,148,803 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,729,917 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,930,459 msg/sec xenium::michael_scott_queue, 1,s: 9,362,779 msg/sec xenium::michael_scott_queue, 1,i: 9,241,144 msg/sec xenium::michael_scott_queue, 2,s: 8,426,260 msg/sec xenium::michael_scott_queue, 2,i: 8,429,410 msg/sec xenium::michael_scott_queue, 3,s: 7,154,985 msg/sec xenium::michael_scott_queue, 3,i: 7,607,742 msg/sec xenium::michael_scott_queue, 4,s: 6,269,352 msg/sec xenium::michael_scott_queue, 4,i: 6,350,094 msg/sec xenium::michael_scott_queue, 5,s: 6,326,097 msg/sec xenium::michael_scott_queue, 5,i: 6,701,936 msg/sec xenium::michael_scott_queue, 6,s: 6,470,786 msg/sec xenium::michael_scott_queue, 6,i: 6,764,993 msg/sec xenium::michael_scott_queue, 7,s: 6,269,259 msg/sec xenium::michael_scott_queue, 7,i: 6,564,901 msg/sec xenium::michael_scott_queue, 8,s: 6,017,582 msg/sec xenium::michael_scott_queue, 8,i: 6,066,755 msg/sec xenium::ramalhete_queue, 1,s: 32,270,850 msg/sec xenium::ramalhete_queue, 1,i: 32,143,243 msg/sec xenium::ramalhete_queue, 2,s: 23,757,443 msg/sec xenium::ramalhete_queue, 2,i: 23,441,117 msg/sec xenium::ramalhete_queue, 3,s: 29,081,765 msg/sec xenium::ramalhete_queue, 3,i: 28,591,879 msg/sec xenium::ramalhete_queue, 4,s: 33,734,643 msg/sec xenium::ramalhete_queue, 4,i: 33,432,859 msg/sec xenium::ramalhete_queue, 5,s: 32,108,769 msg/sec xenium::ramalhete_queue, 5,i: 36,087,410 msg/sec xenium::ramalhete_queue, 6,s: 33,947,859 msg/sec xenium::ramalhete_queue, 6,i: 39,241,319 msg/sec xenium::ramalhete_queue, 7,s: 34,984,504 msg/sec xenium::ramalhete_queue, 7,i: 40,495,382 msg/sec xenium::ramalhete_queue, 8,s: 35,270,609 msg/sec xenium::ramalhete_queue, 8,i: 44,111,575 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,663,125 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,819,202 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,022,604 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,504,535 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,966,085 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,036,134 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,582,471 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,120,714 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,731,739 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,259,628 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,321,932 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,266,630 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,213,532 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,869,681 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,437,522 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,311,552 msg/sec AtomicQueue, 1,s: 58,699,083 msg/sec AtomicQueue, 1,i: 56,567,577 msg/sec AtomicQueue, 2,s: 12,192,704 msg/sec AtomicQueue, 2,i: 11,708,547 msg/sec AtomicQueue, 3,s: 10,599,871 msg/sec AtomicQueue, 3,i: 9,905,469 msg/sec AtomicQueue, 4,s: 8,205,300 msg/sec AtomicQueue, 4,i: 8,206,103 msg/sec AtomicQueue, 5,s: 8,034,614 msg/sec AtomicQueue, 5,i: 8,075,004 msg/sec AtomicQueue, 6,s: 7,828,478 msg/sec AtomicQueue, 6,i: 7,605,919 msg/sec AtomicQueue, 7,s: 7,072,156 msg/sec AtomicQueue, 7,i: 7,988,688 msg/sec AtomicQueue, 8,s: 6,334,955 msg/sec AtomicQueue, 8,i: 7,456,195 msg/sec AtomicQueueB, 1,s: 43,898,312 msg/sec AtomicQueueB, 1,i: 43,820,168 msg/sec AtomicQueueB, 2,s: 12,063,662 msg/sec AtomicQueueB, 2,i: 11,433,911 msg/sec AtomicQueueB, 3,s: 10,992,905 msg/sec AtomicQueueB, 3,i: 10,168,204 msg/sec AtomicQueueB, 4,s: 8,036,175 msg/sec AtomicQueueB, 4,i: 8,097,866 msg/sec AtomicQueueB, 5,s: 7,612,906 msg/sec AtomicQueueB, 5,i: 7,823,521 msg/sec AtomicQueueB, 6,s: 7,387,323 msg/sec AtomicQueueB, 6,i: 7,521,432 msg/sec AtomicQueueB, 7,s: 6,930,260 msg/sec AtomicQueueB, 7,i: 7,745,873 msg/sec AtomicQueueB, 8,s: 6,205,056 msg/sec AtomicQueueB, 8,i: 7,197,397 msg/sec OptimistAtomicQueue, 1,s: 675,340,287 msg/sec OptimistAtomicQueue, 1,i: 707,987,783 msg/sec OptimistAtomicQueue, 2,s: 32,104,768 msg/sec OptimistAtomicQueue, 2,i: 32,208,004 msg/sec OptimistAtomicQueue, 3,s: 36,617,057 msg/sec OptimistAtomicQueue, 3,i: 37,314,896 msg/sec OptimistAtomicQueue, 4,s: 39,258,022 msg/sec OptimistAtomicQueue, 4,i: 39,330,406 msg/sec OptimistAtomicQueue, 5,s: 41,840,331 msg/sec OptimistAtomicQueue, 5,i: 46,377,303 msg/sec OptimistAtomicQueue, 6,s: 42,029,654 msg/sec OptimistAtomicQueue, 6,i: 50,529,392 msg/sec OptimistAtomicQueue, 7,s: 45,078,109 msg/sec OptimistAtomicQueue, 7,i: 53,007,363 msg/sec OptimistAtomicQueue, 8,s: 46,448,968 msg/sec OptimistAtomicQueue, 8,i: 50,269,516 msg/sec OptimistAtomicQueueB, 1,s: 96,882,641 msg/sec OptimistAtomicQueueB, 1,i: 77,590,107 msg/sec OptimistAtomicQueueB, 2,s: 31,638,834 msg/sec OptimistAtomicQueueB, 2,i: 31,783,893 msg/sec OptimistAtomicQueueB, 3,s: 36,105,904 msg/sec OptimistAtomicQueueB, 3,i: 36,826,258 msg/sec OptimistAtomicQueueB, 4,s: 38,726,026 msg/sec OptimistAtomicQueueB, 4,i: 38,621,424 msg/sec OptimistAtomicQueueB, 5,s: 40,981,750 msg/sec OptimistAtomicQueueB, 5,i: 45,338,857 msg/sec OptimistAtomicQueueB, 6,s: 41,394,292 msg/sec OptimistAtomicQueueB, 6,i: 49,020,724 msg/sec OptimistAtomicQueueB, 7,s: 42,135,530 msg/sec OptimistAtomicQueueB, 7,i: 51,552,746 msg/sec OptimistAtomicQueueB, 8,s: 44,559,232 msg/sec OptimistAtomicQueueB, 8,i: 47,869,208 msg/sec AtomicQueue2, 1,s: 23,484,381 msg/sec AtomicQueue2, 1,i: 23,383,461 msg/sec AtomicQueue2, 2,s: 11,959,962 msg/sec AtomicQueue2, 2,i: 11,529,330 msg/sec AtomicQueue2, 3,s: 9,410,984 msg/sec AtomicQueue2, 3,i: 9,489,472 msg/sec AtomicQueue2, 4,s: 8,100,478 msg/sec AtomicQueue2, 4,i: 8,093,847 msg/sec AtomicQueue2, 5,s: 7,942,908 msg/sec AtomicQueue2, 5,i: 7,941,264 msg/sec AtomicQueue2, 6,s: 7,652,058 msg/sec AtomicQueue2, 6,i: 7,506,731 msg/sec AtomicQueue2, 7,s: 7,199,924 msg/sec AtomicQueue2, 7,i: 7,816,676 msg/sec AtomicQueue2, 8,s: 6,386,186 msg/sec AtomicQueue2, 8,i: 7,292,610 msg/sec AtomicQueueB2, 1,s: 36,423,786 msg/sec AtomicQueueB2, 1,i: 32,876,963 msg/sec AtomicQueueB2, 2,s: 11,480,934 msg/sec AtomicQueueB2, 2,i: 11,151,119 msg/sec AtomicQueueB2, 3,s: 9,664,433 msg/sec AtomicQueueB2, 3,i: 9,552,531 msg/sec AtomicQueueB2, 4,s: 7,941,297 msg/sec AtomicQueueB2, 4,i: 7,847,695 msg/sec AtomicQueueB2, 5,s: 7,448,354 msg/sec AtomicQueueB2, 5,i: 7,652,670 msg/sec AtomicQueueB2, 6,s: 7,103,018 msg/sec AtomicQueueB2, 6,i: 7,395,979 msg/sec AtomicQueueB2, 7,s: 6,833,873 msg/sec AtomicQueueB2, 7,i: 7,744,741 msg/sec AtomicQueueB2, 8,s: 6,275,715 msg/sec AtomicQueueB2, 8,i: 6,976,648 msg/sec OptimistAtomicQueue2, 1,s: 436,038,827 msg/sec OptimistAtomicQueue2, 1,i: 29,756,533 msg/sec OptimistAtomicQueue2, 2,s: 23,746,119 msg/sec OptimistAtomicQueue2, 2,i: 24,022,091 msg/sec OptimistAtomicQueue2, 3,s: 30,463,356 msg/sec OptimistAtomicQueue2, 3,i: 29,943,254 msg/sec OptimistAtomicQueue2, 4,s: 33,192,899 msg/sec OptimistAtomicQueue2, 4,i: 32,978,122 msg/sec OptimistAtomicQueue2, 5,s: 36,919,375 msg/sec OptimistAtomicQueue2, 5,i: 40,338,399 msg/sec OptimistAtomicQueue2, 6,s: 40,107,182 msg/sec OptimistAtomicQueue2, 6,i: 49,118,603 msg/sec OptimistAtomicQueue2, 7,s: 42,668,072 msg/sec OptimistAtomicQueue2, 7,i: 48,227,938 msg/sec OptimistAtomicQueue2, 8,s: 44,259,532 msg/sec OptimistAtomicQueue2, 8,i: 48,816,314 msg/sec OptimistAtomicQueueB2, 1,s: 78,439,110 msg/sec OptimistAtomicQueueB2, 1,i: 53,434,324 msg/sec OptimistAtomicQueueB2, 2,s: 27,782,636 msg/sec OptimistAtomicQueueB2, 2,i: 23,167,846 msg/sec OptimistAtomicQueueB2, 3,s: 29,702,098 msg/sec OptimistAtomicQueueB2, 3,i: 29,469,823 msg/sec OptimistAtomicQueueB2, 4,s: 33,298,155 msg/sec OptimistAtomicQueueB2, 4,i: 32,805,544 msg/sec OptimistAtomicQueueB2, 5,s: 34,586,292 msg/sec OptimistAtomicQueueB2, 5,i: 39,432,098 msg/sec OptimistAtomicQueueB2, 6,s: 37,519,057 msg/sec OptimistAtomicQueueB2, 6,i: 42,211,901 msg/sec OptimistAtomicQueueB2, 7,s: 40,105,015 msg/sec OptimistAtomicQueueB2, 7,i: 45,560,925 msg/sec OptimistAtomicQueueB2, 8,s: 42,360,832 msg/sec OptimistAtomicQueueB2, 8,i: 45,212,540 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000280 sec/round-trip std::mutex: 0.000000522 sec/round-trip tbb::spin_mutex: 0.000000305 sec/round-trip tbb::concurrent_bounded_queue: 0.000000296 sec/round-trip xenium::michael_scott_queue: 0.000000388 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000171 sec/round-trip OptimistAtomicQueue: 0.000000160 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000173 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [169] 258m:22s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,289,580 msg/sec boost::lockfree::spsc_queue, 1,i: 70,810,716 msg/sec boost::lockfree::queue, 1,s: 6,831,973 msg/sec boost::lockfree::queue, 1,i: 6,866,874 msg/sec boost::lockfree::queue, 2,s: 7,694,572 msg/sec boost::lockfree::queue, 2,i: 7,534,652 msg/sec boost::lockfree::queue, 3,s: 7,390,019 msg/sec boost::lockfree::queue, 3,i: 7,520,388 msg/sec boost::lockfree::queue, 4,s: 6,410,469 msg/sec boost::lockfree::queue, 4,i: 6,765,766 msg/sec boost::lockfree::queue, 5,s: 6,402,347 msg/sec boost::lockfree::queue, 5,i: 6,476,621 msg/sec boost::lockfree::queue, 6,s: 5,987,209 msg/sec boost::lockfree::queue, 6,i: 6,162,329 msg/sec boost::lockfree::queue, 7,s: 5,830,059 msg/sec boost::lockfree::queue, 7,i: 6,003,025 msg/sec boost::lockfree::queue, 8,s: 5,474,921 msg/sec boost::lockfree::queue, 8,i: 5,544,762 msg/sec moodycamel::ReaderWriterQueue, 1,s: 143,966,916 msg/sec moodycamel::ReaderWriterQueue, 1,i: 111,570,063 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,590,802 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,485,335 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,191,538 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,445,302 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,500,150 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,874,335 msg/sec moodycamel::ConcurrentQueue, 4,s: 15,892,550 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,384,894 msg/sec moodycamel::ConcurrentQueue, 5,s: 16,936,577 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,332,331 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,397,205 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,518,684 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,950,939 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,706,122 msg/sec moodycamel::ConcurrentQueue, 8,s: 17,924,728 msg/sec moodycamel::ConcurrentQueue, 8,i: 33,282,533 msg/sec pthread_spinlock, 1,s: 29,470,678 msg/sec pthread_spinlock, 1,i: 25,366,776 msg/sec pthread_spinlock, 2,s: 15,583,531 msg/sec pthread_spinlock, 2,i: 16,931,700 msg/sec pthread_spinlock, 3,s: 8,451,222 msg/sec pthread_spinlock, 3,i: 12,027,235 msg/sec pthread_spinlock, 4,s: 6,523,795 msg/sec pthread_spinlock, 4,i: 9,130,642 msg/sec pthread_spinlock, 5,s: 8,625,924 msg/sec pthread_spinlock, 5,i: 9,434,582 msg/sec pthread_spinlock, 6,s: 8,485,938 msg/sec pthread_spinlock, 6,i: 8,626,411 msg/sec pthread_spinlock, 7,s: 7,980,922 msg/sec pthread_spinlock, 7,i: 7,651,124 msg/sec pthread_spinlock, 8,s: 6,626,873 msg/sec pthread_spinlock, 8,i: 6,888,685 msg/sec std::mutex, 1,s: 7,614,132 msg/sec std::mutex, 1,i: 7,395,372 msg/sec std::mutex, 2,s: 6,001,710 msg/sec std::mutex, 2,i: 5,744,668 msg/sec std::mutex, 3,s: 4,672,982 msg/sec std::mutex, 3,i: 5,052,886 msg/sec std::mutex, 4,s: 5,336,407 msg/sec std::mutex, 4,i: 6,425,951 msg/sec std::mutex, 5,s: 6,049,900 msg/sec std::mutex, 5,i: 6,261,063 msg/sec std::mutex, 6,s: 5,828,282 msg/sec std::mutex, 6,i: 5,915,868 msg/sec std::mutex, 7,s: 5,819,483 msg/sec std::mutex, 7,i: 5,833,692 msg/sec std::mutex, 8,s: 5,796,502 msg/sec std::mutex, 8,i: 5,782,531 msg/sec tbb::spin_mutex, 1,s: 37,923,895 msg/sec tbb::spin_mutex, 1,i: 32,868,413 msg/sec tbb::spin_mutex, 2,s: 21,022,470 msg/sec tbb::spin_mutex, 2,i: 18,286,061 msg/sec tbb::spin_mutex, 3,s: 7,337,303 msg/sec tbb::spin_mutex, 3,i: 11,104,776 msg/sec tbb::spin_mutex, 4,s: 3,156,309 msg/sec tbb::spin_mutex, 4,i: 6,275,402 msg/sec tbb::spin_mutex, 5,s: 5,457,917 msg/sec tbb::spin_mutex, 5,i: 5,806,045 msg/sec tbb::spin_mutex, 6,s: 5,310,997 msg/sec tbb::spin_mutex, 6,i: 4,344,664 msg/sec tbb::spin_mutex, 7,s: 4,502,000 msg/sec tbb::spin_mutex, 7,i: 4,227,625 msg/sec tbb::spin_mutex, 8,s: 4,234,379 msg/sec tbb::spin_mutex, 8,i: 4,172,361 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,344,308 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,283,423 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,565,635 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,825,473 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,528,823 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,831,225 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,988,269 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,305,155 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,548,855 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,682,830 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,851,451 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,705,766 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,916,510 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,132,394 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,906,518 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,493,478 msg/sec xenium::michael_scott_queue, 1,s: 9,370,409 msg/sec xenium::michael_scott_queue, 1,i: 9,427,588 msg/sec xenium::michael_scott_queue, 2,s: 8,463,832 msg/sec xenium::michael_scott_queue, 2,i: 8,518,006 msg/sec xenium::michael_scott_queue, 3,s: 7,291,750 msg/sec xenium::michael_scott_queue, 3,i: 7,504,464 msg/sec xenium::michael_scott_queue, 4,s: 6,244,093 msg/sec xenium::michael_scott_queue, 4,i: 6,446,760 msg/sec xenium::michael_scott_queue, 5,s: 6,269,060 msg/sec xenium::michael_scott_queue, 5,i: 6,716,452 msg/sec xenium::michael_scott_queue, 6,s: 6,531,898 msg/sec xenium::michael_scott_queue, 6,i: 6,871,309 msg/sec xenium::michael_scott_queue, 7,s: 6,305,739 msg/sec xenium::michael_scott_queue, 7,i: 6,493,109 msg/sec xenium::michael_scott_queue, 8,s: 5,984,857 msg/sec xenium::michael_scott_queue, 8,i: 6,088,785 msg/sec xenium::ramalhete_queue, 1,s: 32,857,778 msg/sec xenium::ramalhete_queue, 1,i: 32,683,706 msg/sec xenium::ramalhete_queue, 2,s: 23,956,277 msg/sec xenium::ramalhete_queue, 2,i: 23,358,079 msg/sec xenium::ramalhete_queue, 3,s: 29,339,044 msg/sec xenium::ramalhete_queue, 3,i: 28,504,180 msg/sec xenium::ramalhete_queue, 4,s: 33,761,484 msg/sec xenium::ramalhete_queue, 4,i: 33,560,367 msg/sec xenium::ramalhete_queue, 5,s: 32,268,785 msg/sec xenium::ramalhete_queue, 5,i: 35,875,137 msg/sec xenium::ramalhete_queue, 6,s: 34,284,428 msg/sec xenium::ramalhete_queue, 6,i: 38,693,542 msg/sec xenium::ramalhete_queue, 7,s: 35,274,389 msg/sec xenium::ramalhete_queue, 7,i: 40,738,390 msg/sec xenium::ramalhete_queue, 8,s: 35,574,384 msg/sec xenium::ramalhete_queue, 8,i: 43,774,113 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,867,067 msg/sec xenium::vyukov_bounded_queue, 1,i: 114,444,294 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,027,095 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,506,919 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,622,212 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,703,622 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,395,643 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,367,501 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,990,985 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,360,050 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,904,432 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,197,235 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,099,546 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,942,948 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,505 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,278,477 msg/sec AtomicQueue, 1,s: 58,775,417 msg/sec AtomicQueue, 1,i: 56,808,051 msg/sec AtomicQueue, 2,s: 12,387,535 msg/sec AtomicQueue, 2,i: 11,753,847 msg/sec AtomicQueue, 3,s: 10,830,279 msg/sec AtomicQueue, 3,i: 9,953,941 msg/sec AtomicQueue, 4,s: 8,193,482 msg/sec AtomicQueue, 4,i: 8,213,688 msg/sec AtomicQueue, 5,s: 8,025,860 msg/sec AtomicQueue, 5,i: 8,115,287 msg/sec AtomicQueue, 6,s: 7,894,073 msg/sec AtomicQueue, 6,i: 7,593,153 msg/sec AtomicQueue, 7,s: 7,111,813 msg/sec AtomicQueue, 7,i: 7,954,026 msg/sec AtomicQueue, 8,s: 6,353,495 msg/sec AtomicQueue, 8,i: 7,465,512 msg/sec AtomicQueueB, 1,s: 58,750,361 msg/sec AtomicQueueB, 1,i: 42,975,330 msg/sec AtomicQueueB, 2,s: 11,896,257 msg/sec AtomicQueueB, 2,i: 11,493,510 msg/sec AtomicQueueB, 3,s: 10,996,929 msg/sec AtomicQueueB, 3,i: 10,167,633 msg/sec AtomicQueueB, 4,s: 8,037,343 msg/sec AtomicQueueB, 4,i: 7,957,825 msg/sec AtomicQueueB, 5,s: 7,539,368 msg/sec AtomicQueueB, 5,i: 7,869,406 msg/sec AtomicQueueB, 6,s: 7,284,182 msg/sec AtomicQueueB, 6,i: 7,515,755 msg/sec AtomicQueueB, 7,s: 6,888,195 msg/sec AtomicQueueB, 7,i: 7,725,043 msg/sec AtomicQueueB, 8,s: 6,260,234 msg/sec AtomicQueueB, 8,i: 7,101,463 msg/sec OptimistAtomicQueue, 1,s: 795,466,635 msg/sec OptimistAtomicQueue, 1,i: 648,214,064 msg/sec OptimistAtomicQueue, 2,s: 32,625,794 msg/sec OptimistAtomicQueue, 2,i: 32,059,616 msg/sec OptimistAtomicQueue, 3,s: 36,659,174 msg/sec OptimistAtomicQueue, 3,i: 37,389,893 msg/sec OptimistAtomicQueue, 4,s: 39,280,324 msg/sec OptimistAtomicQueue, 4,i: 39,344,308 msg/sec OptimistAtomicQueue, 5,s: 42,446,163 msg/sec OptimistAtomicQueue, 5,i: 48,410,007 msg/sec OptimistAtomicQueue, 6,s: 42,625,739 msg/sec OptimistAtomicQueue, 6,i: 49,743,382 msg/sec OptimistAtomicQueue, 7,s: 45,214,676 msg/sec OptimistAtomicQueue, 7,i: 49,477,083 msg/sec OptimistAtomicQueue, 8,s: 46,587,332 msg/sec OptimistAtomicQueue, 8,i: 48,845,263 msg/sec OptimistAtomicQueueB, 1,s: 113,571,366 msg/sec OptimistAtomicQueueB, 1,i: 163,062,835 msg/sec OptimistAtomicQueueB, 2,s: 31,840,034 msg/sec OptimistAtomicQueueB, 2,i: 31,871,534 msg/sec OptimistAtomicQueueB, 3,s: 36,162,975 msg/sec OptimistAtomicQueueB, 3,i: 36,797,404 msg/sec OptimistAtomicQueueB, 4,s: 38,652,934 msg/sec OptimistAtomicQueueB, 4,i: 38,651,911 msg/sec OptimistAtomicQueueB, 5,s: 40,860,076 msg/sec OptimistAtomicQueueB, 5,i: 45,631,505 msg/sec OptimistAtomicQueueB, 6,s: 41,098,626 msg/sec OptimistAtomicQueueB, 6,i: 48,930,918 msg/sec OptimistAtomicQueueB, 7,s: 41,878,869 msg/sec OptimistAtomicQueueB, 7,i: 51,479,067 msg/sec OptimistAtomicQueueB, 8,s: 44,227,797 msg/sec OptimistAtomicQueueB, 8,i: 47,633,527 msg/sec AtomicQueue2, 1,s: 22,831,587 msg/sec AtomicQueue2, 1,i: 22,908,015 msg/sec AtomicQueue2, 2,s: 11,781,334 msg/sec AtomicQueue2, 2,i: 11,432,086 msg/sec AtomicQueue2, 3,s: 9,539,550 msg/sec AtomicQueue2, 3,i: 9,459,751 msg/sec AtomicQueue2, 4,s: 8,001,012 msg/sec AtomicQueue2, 4,i: 8,051,828 msg/sec AtomicQueue2, 5,s: 7,941,521 msg/sec AtomicQueue2, 5,i: 8,035,676 msg/sec AtomicQueue2, 6,s: 7,780,469 msg/sec AtomicQueue2, 6,i: 7,512,788 msg/sec AtomicQueue2, 7,s: 7,053,334 msg/sec AtomicQueue2, 7,i: 7,905,779 msg/sec AtomicQueue2, 8,s: 6,379,997 msg/sec AtomicQueue2, 8,i: 7,362,385 msg/sec AtomicQueueB2, 1,s: 36,172,896 msg/sec AtomicQueueB2, 1,i: 32,610,269 msg/sec AtomicQueueB2, 2,s: 11,412,405 msg/sec AtomicQueueB2, 2,i: 11,092,807 msg/sec AtomicQueueB2, 3,s: 9,576,203 msg/sec AtomicQueueB2, 3,i: 9,603,568 msg/sec AtomicQueueB2, 4,s: 7,940,087 msg/sec AtomicQueueB2, 4,i: 7,909,736 msg/sec AtomicQueueB2, 5,s: 7,575,801 msg/sec AtomicQueueB2, 5,i: 7,690,989 msg/sec AtomicQueueB2, 6,s: 7,320,178 msg/sec AtomicQueueB2, 6,i: 7,458,804 msg/sec AtomicQueueB2, 7,s: 6,931,138 msg/sec AtomicQueueB2, 7,i: 7,708,573 msg/sec AtomicQueueB2, 8,s: 6,270,405 msg/sec AtomicQueueB2, 8,i: 7,096,365 msg/sec OptimistAtomicQueue2, 1,s: 469,782,365 msg/sec OptimistAtomicQueue2, 1,i: 29,701,220 msg/sec OptimistAtomicQueue2, 2,s: 23,952,083 msg/sec OptimistAtomicQueue2, 2,i: 24,009,874 msg/sec OptimistAtomicQueue2, 3,s: 30,323,877 msg/sec OptimistAtomicQueue2, 3,i: 30,084,925 msg/sec OptimistAtomicQueue2, 4,s: 33,607,511 msg/sec OptimistAtomicQueue2, 4,i: 33,085,726 msg/sec OptimistAtomicQueue2, 5,s: 37,119,820 msg/sec OptimistAtomicQueue2, 5,i: 41,496,455 msg/sec OptimistAtomicQueue2, 6,s: 40,240,621 msg/sec OptimistAtomicQueue2, 6,i: 49,168,637 msg/sec OptimistAtomicQueue2, 7,s: 42,654,536 msg/sec OptimistAtomicQueue2, 7,i: 51,583,598 msg/sec OptimistAtomicQueue2, 8,s: 44,031,420 msg/sec OptimistAtomicQueue2, 8,i: 48,064,637 msg/sec OptimistAtomicQueueB2, 1,s: 76,405,427 msg/sec OptimistAtomicQueueB2, 1,i: 33,873,961 msg/sec OptimistAtomicQueueB2, 2,s: 27,804,115 msg/sec OptimistAtomicQueueB2, 2,i: 25,463,493 msg/sec OptimistAtomicQueueB2, 3,s: 29,707,931 msg/sec OptimistAtomicQueueB2, 3,i: 30,304,487 msg/sec OptimistAtomicQueueB2, 4,s: 33,566,072 msg/sec OptimistAtomicQueueB2, 4,i: 32,802,823 msg/sec OptimistAtomicQueueB2, 5,s: 34,657,732 msg/sec OptimistAtomicQueueB2, 5,i: 39,206,810 msg/sec OptimistAtomicQueueB2, 6,s: 37,429,799 msg/sec OptimistAtomicQueueB2, 6,i: 42,452,034 msg/sec OptimistAtomicQueueB2, 7,s: 40,016,755 msg/sec OptimistAtomicQueueB2, 7,i: 45,513,120 msg/sec OptimistAtomicQueueB2, 8,s: 42,135,883 msg/sec OptimistAtomicQueueB2, 8,i: 45,408,031 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000220 sec/round-trip pthread_spinlock: 0.000000280 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [170] 257m:3s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,446,138 msg/sec boost::lockfree::spsc_queue, 1,i: 67,389,808 msg/sec boost::lockfree::queue, 1,s: 7,856,012 msg/sec boost::lockfree::queue, 1,i: 6,838,977 msg/sec boost::lockfree::queue, 2,s: 7,628,678 msg/sec boost::lockfree::queue, 2,i: 7,528,851 msg/sec boost::lockfree::queue, 3,s: 7,392,213 msg/sec boost::lockfree::queue, 3,i: 7,522,367 msg/sec boost::lockfree::queue, 4,s: 6,422,463 msg/sec boost::lockfree::queue, 4,i: 6,784,544 msg/sec boost::lockfree::queue, 5,s: 6,415,129 msg/sec boost::lockfree::queue, 5,i: 6,483,910 msg/sec boost::lockfree::queue, 6,s: 6,004,285 msg/sec boost::lockfree::queue, 6,i: 6,136,154 msg/sec boost::lockfree::queue, 7,s: 5,831,537 msg/sec boost::lockfree::queue, 7,i: 5,906,929 msg/sec boost::lockfree::queue, 8,s: 5,443,383 msg/sec boost::lockfree::queue, 8,i: 5,613,859 msg/sec moodycamel::ReaderWriterQueue, 1,s: 506,375,713 msg/sec moodycamel::ReaderWriterQueue, 1,i: 505,060,708 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,078,494 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,664,230 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,908,093 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,209,193 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,909,038 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,859,644 msg/sec moodycamel::ConcurrentQueue, 4,s: 42,042,453 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,104,875 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,367,894 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,372,661 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,509,069 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,882,241 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,163,647 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,454,792 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,457,132 msg/sec moodycamel::ConcurrentQueue, 8,i: 36,051,348 msg/sec pthread_spinlock, 1,s: 28,632,162 msg/sec pthread_spinlock, 1,i: 25,331,331 msg/sec pthread_spinlock, 2,s: 15,567,961 msg/sec pthread_spinlock, 2,i: 17,291,782 msg/sec pthread_spinlock, 3,s: 8,297,695 msg/sec pthread_spinlock, 3,i: 12,215,203 msg/sec pthread_spinlock, 4,s: 6,536,712 msg/sec pthread_spinlock, 4,i: 9,096,885 msg/sec pthread_spinlock, 5,s: 8,753,590 msg/sec pthread_spinlock, 5,i: 9,387,341 msg/sec pthread_spinlock, 6,s: 8,310,579 msg/sec pthread_spinlock, 6,i: 9,156,299 msg/sec pthread_spinlock, 7,s: 7,547,867 msg/sec pthread_spinlock, 7,i: 7,897,926 msg/sec pthread_spinlock, 8,s: 6,702,963 msg/sec pthread_spinlock, 8,i: 7,392,659 msg/sec std::mutex, 1,s: 6,532,379 msg/sec std::mutex, 1,i: 7,888,060 msg/sec std::mutex, 2,s: 5,998,669 msg/sec std::mutex, 2,i: 6,154,236 msg/sec std::mutex, 3,s: 6,156,464 msg/sec std::mutex, 3,i: 6,241,133 msg/sec std::mutex, 4,s: 6,296,425 msg/sec std::mutex, 4,i: 6,391,822 msg/sec std::mutex, 5,s: 6,176,621 msg/sec std::mutex, 5,i: 6,079,829 msg/sec std::mutex, 6,s: 6,071,748 msg/sec std::mutex, 6,i: 6,083,831 msg/sec std::mutex, 7,s: 5,948,829 msg/sec std::mutex, 7,i: 5,926,252 msg/sec std::mutex, 8,s: 5,743,359 msg/sec std::mutex, 8,i: 5,804,529 msg/sec tbb::spin_mutex, 1,s: 37,748,870 msg/sec tbb::spin_mutex, 1,i: 32,893,569 msg/sec tbb::spin_mutex, 2,s: 21,206,643 msg/sec tbb::spin_mutex, 2,i: 18,420,606 msg/sec tbb::spin_mutex, 3,s: 8,319,916 msg/sec tbb::spin_mutex, 3,i: 10,296,263 msg/sec tbb::spin_mutex, 4,s: 3,055,690 msg/sec tbb::spin_mutex, 4,i: 6,307,029 msg/sec tbb::spin_mutex, 5,s: 5,538,934 msg/sec tbb::spin_mutex, 5,i: 5,389,771 msg/sec tbb::spin_mutex, 6,s: 5,335,148 msg/sec tbb::spin_mutex, 6,i: 4,366,427 msg/sec tbb::spin_mutex, 7,s: 4,855,506 msg/sec tbb::spin_mutex, 7,i: 4,352,298 msg/sec tbb::spin_mutex, 8,s: 3,847,868 msg/sec tbb::spin_mutex, 8,i: 4,073,522 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,028,733 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,675,190 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,814,021 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,335,410 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,309,038 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,212,084 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,999,228 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,176,804 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,562,518 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,382,365 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,622,822 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,709,446 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,358,384 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,089,664 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,722,947 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,922,292 msg/sec xenium::michael_scott_queue, 1,s: 9,253,514 msg/sec xenium::michael_scott_queue, 1,i: 9,265,162 msg/sec xenium::michael_scott_queue, 2,s: 8,408,241 msg/sec xenium::michael_scott_queue, 2,i: 8,402,923 msg/sec xenium::michael_scott_queue, 3,s: 7,209,989 msg/sec xenium::michael_scott_queue, 3,i: 7,563,594 msg/sec xenium::michael_scott_queue, 4,s: 6,317,654 msg/sec xenium::michael_scott_queue, 4,i: 6,339,161 msg/sec xenium::michael_scott_queue, 5,s: 6,294,282 msg/sec xenium::michael_scott_queue, 5,i: 6,647,968 msg/sec xenium::michael_scott_queue, 6,s: 6,521,180 msg/sec xenium::michael_scott_queue, 6,i: 6,984,983 msg/sec xenium::michael_scott_queue, 7,s: 6,282,022 msg/sec xenium::michael_scott_queue, 7,i: 6,560,726 msg/sec xenium::michael_scott_queue, 8,s: 6,010,802 msg/sec xenium::michael_scott_queue, 8,i: 6,157,184 msg/sec xenium::ramalhete_queue, 1,s: 31,224,392 msg/sec xenium::ramalhete_queue, 1,i: 31,272,115 msg/sec xenium::ramalhete_queue, 2,s: 23,457,838 msg/sec xenium::ramalhete_queue, 2,i: 23,277,616 msg/sec xenium::ramalhete_queue, 3,s: 29,035,283 msg/sec xenium::ramalhete_queue, 3,i: 28,384,059 msg/sec xenium::ramalhete_queue, 4,s: 33,672,367 msg/sec xenium::ramalhete_queue, 4,i: 33,391,521 msg/sec xenium::ramalhete_queue, 5,s: 32,452,026 msg/sec xenium::ramalhete_queue, 5,i: 35,965,677 msg/sec xenium::ramalhete_queue, 6,s: 34,094,139 msg/sec xenium::ramalhete_queue, 6,i: 39,257,793 msg/sec xenium::ramalhete_queue, 7,s: 35,141,692 msg/sec xenium::ramalhete_queue, 7,i: 41,523,114 msg/sec xenium::ramalhete_queue, 8,s: 35,643,355 msg/sec xenium::ramalhete_queue, 8,i: 43,807,346 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,534,193 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,911,663 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,186,288 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,058,408 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,721,998 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,859,428 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,537,536 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,175,393 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,910,030 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,372,543 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,020,174 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,631,778 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,195,275 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,298,985 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,388,084 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,529,610 msg/sec AtomicQueue, 1,s: 63,314,467 msg/sec AtomicQueue, 1,i: 59,713,331 msg/sec AtomicQueue, 2,s: 12,259,514 msg/sec AtomicQueue, 2,i: 11,733,532 msg/sec AtomicQueue, 3,s: 10,817,217 msg/sec AtomicQueue, 3,i: 9,940,427 msg/sec AtomicQueue, 4,s: 8,177,196 msg/sec AtomicQueue, 4,i: 8,189,697 msg/sec AtomicQueue, 5,s: 8,037,013 msg/sec AtomicQueue, 5,i: 8,131,415 msg/sec AtomicQueue, 6,s: 7,797,684 msg/sec AtomicQueue, 6,i: 7,625,994 msg/sec AtomicQueue, 7,s: 7,158,083 msg/sec AtomicQueue, 7,i: 7,992,414 msg/sec AtomicQueue, 8,s: 6,354,957 msg/sec AtomicQueue, 8,i: 7,458,881 msg/sec AtomicQueueB, 1,s: 44,107,387 msg/sec AtomicQueueB, 1,i: 43,029,361 msg/sec AtomicQueueB, 2,s: 11,926,631 msg/sec AtomicQueueB, 2,i: 11,447,981 msg/sec AtomicQueueB, 3,s: 10,943,883 msg/sec AtomicQueueB, 3,i: 10,203,694 msg/sec AtomicQueueB, 4,s: 8,020,281 msg/sec AtomicQueueB, 4,i: 8,103,052 msg/sec AtomicQueueB, 5,s: 7,542,656 msg/sec AtomicQueueB, 5,i: 7,834,977 msg/sec AtomicQueueB, 6,s: 7,239,896 msg/sec AtomicQueueB, 6,i: 7,495,675 msg/sec AtomicQueueB, 7,s: 6,833,414 msg/sec AtomicQueueB, 7,i: 7,758,528 msg/sec AtomicQueueB, 8,s: 6,251,251 msg/sec AtomicQueueB, 8,i: 7,168,220 msg/sec OptimistAtomicQueue, 1,s: 741,839,074 msg/sec OptimistAtomicQueue, 1,i: 555,157,230 msg/sec OptimistAtomicQueue, 2,s: 32,652,501 msg/sec OptimistAtomicQueue, 2,i: 32,721,683 msg/sec OptimistAtomicQueue, 3,s: 36,676,699 msg/sec OptimistAtomicQueue, 3,i: 37,404,112 msg/sec OptimistAtomicQueue, 4,s: 39,288,623 msg/sec OptimistAtomicQueue, 4,i: 39,395,579 msg/sec OptimistAtomicQueue, 5,s: 42,460,826 msg/sec OptimistAtomicQueue, 5,i: 47,851,513 msg/sec OptimistAtomicQueue, 6,s: 41,924,013 msg/sec OptimistAtomicQueue, 6,i: 50,372,157 msg/sec OptimistAtomicQueue, 7,s: 45,310,917 msg/sec OptimistAtomicQueue, 7,i: 52,091,248 msg/sec OptimistAtomicQueue, 8,s: 46,361,263 msg/sec OptimistAtomicQueue, 8,i: 49,282,578 msg/sec OptimistAtomicQueueB, 1,s: 203,045,035 msg/sec OptimistAtomicQueueB, 1,i: 76,598,826 msg/sec OptimistAtomicQueueB, 2,s: 32,315,417 msg/sec OptimistAtomicQueueB, 2,i: 32,121,553 msg/sec OptimistAtomicQueueB, 3,s: 36,260,058 msg/sec OptimistAtomicQueueB, 3,i: 36,925,641 msg/sec OptimistAtomicQueueB, 4,s: 38,644,442 msg/sec OptimistAtomicQueueB, 4,i: 38,672,413 msg/sec OptimistAtomicQueueB, 5,s: 40,481,815 msg/sec OptimistAtomicQueueB, 5,i: 45,510,560 msg/sec OptimistAtomicQueueB, 6,s: 40,519,593 msg/sec OptimistAtomicQueueB, 6,i: 48,622,942 msg/sec OptimistAtomicQueueB, 7,s: 42,692,166 msg/sec OptimistAtomicQueueB, 7,i: 51,535,723 msg/sec OptimistAtomicQueueB, 8,s: 44,482,340 msg/sec OptimistAtomicQueueB, 8,i: 47,702,438 msg/sec AtomicQueue2, 1,s: 23,089,925 msg/sec AtomicQueue2, 1,i: 23,042,799 msg/sec AtomicQueue2, 2,s: 11,938,285 msg/sec AtomicQueue2, 2,i: 11,392,977 msg/sec AtomicQueue2, 3,s: 9,390,265 msg/sec AtomicQueue2, 3,i: 9,426,687 msg/sec AtomicQueue2, 4,s: 8,046,892 msg/sec AtomicQueue2, 4,i: 8,048,527 msg/sec AtomicQueue2, 5,s: 7,966,593 msg/sec AtomicQueue2, 5,i: 8,079,543 msg/sec AtomicQueue2, 6,s: 7,876,702 msg/sec AtomicQueue2, 6,i: 7,529,596 msg/sec AtomicQueue2, 7,s: 7,141,390 msg/sec AtomicQueue2, 7,i: 7,886,334 msg/sec AtomicQueue2, 8,s: 6,383,235 msg/sec AtomicQueue2, 8,i: 7,299,862 msg/sec AtomicQueueB2, 1,s: 36,225,456 msg/sec AtomicQueueB2, 1,i: 32,623,327 msg/sec AtomicQueueB2, 2,s: 11,477,450 msg/sec AtomicQueueB2, 2,i: 11,088,640 msg/sec AtomicQueueB2, 3,s: 9,539,815 msg/sec AtomicQueueB2, 3,i: 9,529,690 msg/sec AtomicQueueB2, 4,s: 7,994,521 msg/sec AtomicQueueB2, 4,i: 7,798,072 msg/sec AtomicQueueB2, 5,s: 7,437,935 msg/sec AtomicQueueB2, 5,i: 7,692,832 msg/sec AtomicQueueB2, 6,s: 7,311,057 msg/sec AtomicQueueB2, 6,i: 7,418,220 msg/sec AtomicQueueB2, 7,s: 6,930,459 msg/sec AtomicQueueB2, 7,i: 7,700,655 msg/sec AtomicQueueB2, 8,s: 6,323,423 msg/sec AtomicQueueB2, 8,i: 7,104,137 msg/sec OptimistAtomicQueue2, 1,s: 512,832,544 msg/sec OptimistAtomicQueue2, 1,i: 32,784,544 msg/sec OptimistAtomicQueue2, 2,s: 29,324,386 msg/sec OptimistAtomicQueue2, 2,i: 25,233,342 msg/sec OptimistAtomicQueue2, 3,s: 30,324,832 msg/sec OptimistAtomicQueue2, 3,i: 29,970,020 msg/sec OptimistAtomicQueue2, 4,s: 33,250,044 msg/sec OptimistAtomicQueue2, 4,i: 33,254,903 msg/sec OptimistAtomicQueue2, 5,s: 37,196,522 msg/sec OptimistAtomicQueue2, 5,i: 40,857,411 msg/sec OptimistAtomicQueue2, 6,s: 40,201,440 msg/sec OptimistAtomicQueue2, 6,i: 49,298,229 msg/sec OptimistAtomicQueue2, 7,s: 43,110,201 msg/sec OptimistAtomicQueue2, 7,i: 48,132,125 msg/sec OptimistAtomicQueue2, 8,s: 43,991,310 msg/sec OptimistAtomicQueue2, 8,i: 49,753,691 msg/sec OptimistAtomicQueueB2, 1,s: 75,734,499 msg/sec OptimistAtomicQueueB2, 1,i: 33,861,906 msg/sec OptimistAtomicQueueB2, 2,s: 27,036,218 msg/sec OptimistAtomicQueueB2, 2,i: 23,284,139 msg/sec OptimistAtomicQueueB2, 3,s: 29,694,713 msg/sec OptimistAtomicQueueB2, 3,i: 29,137,901 msg/sec OptimistAtomicQueueB2, 4,s: 33,245,360 msg/sec OptimistAtomicQueueB2, 4,i: 32,155,989 msg/sec OptimistAtomicQueueB2, 5,s: 34,414,399 msg/sec OptimistAtomicQueueB2, 5,i: 39,233,993 msg/sec OptimistAtomicQueueB2, 6,s: 37,438,272 msg/sec OptimistAtomicQueueB2, 6,i: 42,253,181 msg/sec OptimistAtomicQueueB2, 7,s: 40,776,435 msg/sec OptimistAtomicQueueB2, 7,i: 45,751,323 msg/sec OptimistAtomicQueueB2, 8,s: 42,284,928 msg/sec OptimistAtomicQueueB2, 8,i: 45,589,025 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000264 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [171] 255m:44s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,427,232 msg/sec boost::lockfree::spsc_queue, 1,i: 67,542,388 msg/sec boost::lockfree::queue, 1,s: 6,817,339 msg/sec boost::lockfree::queue, 1,i: 6,904,676 msg/sec boost::lockfree::queue, 2,s: 7,601,345 msg/sec boost::lockfree::queue, 2,i: 7,601,889 msg/sec boost::lockfree::queue, 3,s: 7,346,658 msg/sec boost::lockfree::queue, 3,i: 7,574,535 msg/sec boost::lockfree::queue, 4,s: 6,427,823 msg/sec boost::lockfree::queue, 4,i: 6,791,736 msg/sec boost::lockfree::queue, 5,s: 6,465,262 msg/sec boost::lockfree::queue, 5,i: 6,465,473 msg/sec boost::lockfree::queue, 6,s: 6,007,706 msg/sec boost::lockfree::queue, 6,i: 6,119,477 msg/sec boost::lockfree::queue, 7,s: 6,009,126 msg/sec boost::lockfree::queue, 7,i: 5,930,834 msg/sec boost::lockfree::queue, 8,s: 5,331,463 msg/sec boost::lockfree::queue, 8,i: 5,573,610 msg/sec moodycamel::ReaderWriterQueue, 1,s: 471,083,981 msg/sec moodycamel::ReaderWriterQueue, 1,i: 471,765,818 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,426,411 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,685,280 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,909,150 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,098,639 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,016,980 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,635,738 msg/sec moodycamel::ConcurrentQueue, 4,s: 41,367,219 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,167,714 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,304,577 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,093,991 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,363,220 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,857,167 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,757,417 msg/sec moodycamel::ConcurrentQueue, 7,i: 48,545,747 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,218,036 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,054,412 msg/sec pthread_spinlock, 1,s: 28,927,848 msg/sec pthread_spinlock, 1,i: 25,333,844 msg/sec pthread_spinlock, 2,s: 15,647,988 msg/sec pthread_spinlock, 2,i: 17,080,885 msg/sec pthread_spinlock, 3,s: 8,368,870 msg/sec pthread_spinlock, 3,i: 12,073,151 msg/sec pthread_spinlock, 4,s: 6,540,536 msg/sec pthread_spinlock, 4,i: 9,132,167 msg/sec pthread_spinlock, 5,s: 8,543,546 msg/sec pthread_spinlock, 5,i: 9,454,122 msg/sec pthread_spinlock, 6,s: 8,331,344 msg/sec pthread_spinlock, 6,i: 8,542,242 msg/sec pthread_spinlock, 7,s: 7,545,361 msg/sec pthread_spinlock, 7,i: 8,030,955 msg/sec pthread_spinlock, 8,s: 6,713,857 msg/sec pthread_spinlock, 8,i: 6,904,837 msg/sec std::mutex, 1,s: 5,951,913 msg/sec std::mutex, 1,i: 7,647,664 msg/sec std::mutex, 2,s: 5,780,250 msg/sec std::mutex, 2,i: 6,007,612 msg/sec std::mutex, 3,s: 5,919,473 msg/sec std::mutex, 3,i: 5,534,350 msg/sec std::mutex, 4,s: 5,210,476 msg/sec std::mutex, 4,i: 6,175,607 msg/sec std::mutex, 5,s: 5,825,984 msg/sec std::mutex, 5,i: 5,873,794 msg/sec std::mutex, 6,s: 5,768,337 msg/sec std::mutex, 6,i: 5,868,559 msg/sec std::mutex, 7,s: 5,770,097 msg/sec std::mutex, 7,i: 5,731,357 msg/sec std::mutex, 8,s: 5,600,212 msg/sec std::mutex, 8,i: 5,607,100 msg/sec tbb::spin_mutex, 1,s: 38,026,151 msg/sec tbb::spin_mutex, 1,i: 37,834,304 msg/sec tbb::spin_mutex, 2,s: 21,176,310 msg/sec tbb::spin_mutex, 2,i: 18,498,107 msg/sec tbb::spin_mutex, 3,s: 8,405,035 msg/sec tbb::spin_mutex, 3,i: 10,251,009 msg/sec tbb::spin_mutex, 4,s: 3,273,068 msg/sec tbb::spin_mutex, 4,i: 6,348,827 msg/sec tbb::spin_mutex, 5,s: 5,543,187 msg/sec tbb::spin_mutex, 5,i: 5,751,420 msg/sec tbb::spin_mutex, 6,s: 5,312,916 msg/sec tbb::spin_mutex, 6,i: 4,333,351 msg/sec tbb::spin_mutex, 7,s: 4,760,296 msg/sec tbb::spin_mutex, 7,i: 4,322,393 msg/sec tbb::spin_mutex, 8,s: 4,256,894 msg/sec tbb::spin_mutex, 8,i: 4,075,775 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,253,145 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,250,403 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,035,515 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,980,912 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,349,205 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,499,613 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,120,684 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,511,742 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,674,481 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,621,025 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,778,364 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,706,895 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,850,567 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,813,256 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,057,586 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,065,222 msg/sec xenium::michael_scott_queue, 1,s: 10,094,641 msg/sec xenium::michael_scott_queue, 1,i: 9,821,245 msg/sec xenium::michael_scott_queue, 2,s: 8,500,080 msg/sec xenium::michael_scott_queue, 2,i: 8,569,241 msg/sec xenium::michael_scott_queue, 3,s: 7,314,415 msg/sec xenium::michael_scott_queue, 3,i: 7,593,892 msg/sec xenium::michael_scott_queue, 4,s: 6,313,843 msg/sec xenium::michael_scott_queue, 4,i: 6,319,550 msg/sec xenium::michael_scott_queue, 5,s: 6,283,162 msg/sec xenium::michael_scott_queue, 5,i: 6,645,223 msg/sec xenium::michael_scott_queue, 6,s: 6,463,808 msg/sec xenium::michael_scott_queue, 6,i: 6,814,028 msg/sec xenium::michael_scott_queue, 7,s: 6,284,085 msg/sec xenium::michael_scott_queue, 7,i: 6,600,923 msg/sec xenium::michael_scott_queue, 8,s: 5,982,349 msg/sec xenium::michael_scott_queue, 8,i: 6,117,589 msg/sec xenium::ramalhete_queue, 1,s: 32,075,087 msg/sec xenium::ramalhete_queue, 1,i: 32,456,131 msg/sec xenium::ramalhete_queue, 2,s: 23,614,878 msg/sec xenium::ramalhete_queue, 2,i: 23,354,827 msg/sec xenium::ramalhete_queue, 3,s: 29,318,361 msg/sec xenium::ramalhete_queue, 3,i: 28,604,213 msg/sec xenium::ramalhete_queue, 4,s: 33,880,589 msg/sec xenium::ramalhete_queue, 4,i: 33,582,868 msg/sec xenium::ramalhete_queue, 5,s: 32,091,900 msg/sec xenium::ramalhete_queue, 5,i: 36,147,429 msg/sec xenium::ramalhete_queue, 6,s: 33,952,317 msg/sec xenium::ramalhete_queue, 6,i: 38,784,910 msg/sec xenium::ramalhete_queue, 7,s: 35,156,734 msg/sec xenium::ramalhete_queue, 7,i: 41,339,053 msg/sec xenium::ramalhete_queue, 8,s: 35,286,507 msg/sec xenium::ramalhete_queue, 8,i: 43,962,217 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,956,578 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,179,463 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,801,820 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,937,932 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,548,092 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,929,742 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,655,034 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,148,829 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,995,755 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,312,132 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,777,305 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,453,380 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,193,267 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,370,194 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,360,175 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,267,099 msg/sec AtomicQueue, 1,s: 59,734,267 msg/sec AtomicQueue, 1,i: 56,920,053 msg/sec AtomicQueue, 2,s: 12,228,468 msg/sec AtomicQueue, 2,i: 11,691,607 msg/sec AtomicQueue, 3,s: 10,727,197 msg/sec AtomicQueue, 3,i: 9,915,806 msg/sec AtomicQueue, 4,s: 8,175,830 msg/sec AtomicQueue, 4,i: 8,200,714 msg/sec AtomicQueue, 5,s: 8,045,137 msg/sec AtomicQueue, 5,i: 8,096,973 msg/sec AtomicQueue, 6,s: 7,878,607 msg/sec AtomicQueue, 6,i: 7,608,867 msg/sec AtomicQueue, 7,s: 7,069,668 msg/sec AtomicQueue, 7,i: 7,990,955 msg/sec AtomicQueue, 8,s: 6,353,096 msg/sec AtomicQueue, 8,i: 7,460,814 msg/sec AtomicQueueB, 1,s: 44,050,291 msg/sec AtomicQueueB, 1,i: 43,072,691 msg/sec AtomicQueueB, 2,s: 11,991,933 msg/sec AtomicQueueB, 2,i: 11,509,145 msg/sec AtomicQueueB, 3,s: 11,042,345 msg/sec AtomicQueueB, 3,i: 10,133,535 msg/sec AtomicQueueB, 4,s: 8,090,046 msg/sec AtomicQueueB, 4,i: 8,076,421 msg/sec AtomicQueueB, 5,s: 7,561,607 msg/sec AtomicQueueB, 5,i: 7,831,062 msg/sec AtomicQueueB, 6,s: 7,468,408 msg/sec AtomicQueueB, 6,i: 7,528,098 msg/sec AtomicQueueB, 7,s: 6,824,813 msg/sec AtomicQueueB, 7,i: 7,667,080 msg/sec AtomicQueueB, 8,s: 6,242,756 msg/sec AtomicQueueB, 8,i: 7,167,372 msg/sec OptimistAtomicQueue, 1,s: 741,855,997 msg/sec OptimistAtomicQueue, 1,i: 563,132,820 msg/sec OptimistAtomicQueue, 2,s: 32,150,646 msg/sec OptimistAtomicQueue, 2,i: 32,720,696 msg/sec OptimistAtomicQueue, 3,s: 36,673,609 msg/sec OptimistAtomicQueue, 3,i: 37,401,703 msg/sec OptimistAtomicQueue, 4,s: 39,277,533 msg/sec OptimistAtomicQueue, 4,i: 39,373,421 msg/sec OptimistAtomicQueue, 5,s: 41,655,599 msg/sec OptimistAtomicQueue, 5,i: 46,287,485 msg/sec OptimistAtomicQueue, 6,s: 42,814,349 msg/sec OptimistAtomicQueue, 6,i: 50,353,932 msg/sec OptimistAtomicQueue, 7,s: 44,154,115 msg/sec OptimistAtomicQueue, 7,i: 49,315,692 msg/sec OptimistAtomicQueue, 8,s: 46,375,988 msg/sec OptimistAtomicQueue, 8,i: 48,931,047 msg/sec OptimistAtomicQueueB, 1,s: 78,052,080 msg/sec OptimistAtomicQueueB, 1,i: 77,649,915 msg/sec OptimistAtomicQueueB, 2,s: 31,661,419 msg/sec OptimistAtomicQueueB, 2,i: 31,752,316 msg/sec OptimistAtomicQueueB, 3,s: 36,117,473 msg/sec OptimistAtomicQueueB, 3,i: 36,834,639 msg/sec OptimistAtomicQueueB, 4,s: 38,744,245 msg/sec OptimistAtomicQueueB, 4,i: 38,755,467 msg/sec OptimistAtomicQueueB, 5,s: 40,638,504 msg/sec OptimistAtomicQueueB, 5,i: 47,329,222 msg/sec OptimistAtomicQueueB, 6,s: 40,510,051 msg/sec OptimistAtomicQueueB, 6,i: 49,197,771 msg/sec OptimistAtomicQueueB, 7,s: 42,699,897 msg/sec OptimistAtomicQueueB, 7,i: 48,037,146 msg/sec OptimistAtomicQueueB, 8,s: 44,531,615 msg/sec OptimistAtomicQueueB, 8,i: 48,131,888 msg/sec AtomicQueue2, 1,s: 22,905,970 msg/sec AtomicQueue2, 1,i: 22,922,774 msg/sec AtomicQueue2, 2,s: 11,965,692 msg/sec AtomicQueue2, 2,i: 11,576,435 msg/sec AtomicQueue2, 3,s: 9,559,712 msg/sec AtomicQueue2, 3,i: 9,403,760 msg/sec AtomicQueue2, 4,s: 8,077,793 msg/sec AtomicQueue2, 4,i: 8,036,950 msg/sec AtomicQueue2, 5,s: 7,924,157 msg/sec AtomicQueue2, 5,i: 7,933,705 msg/sec AtomicQueue2, 6,s: 7,762,521 msg/sec AtomicQueue2, 6,i: 7,549,817 msg/sec AtomicQueue2, 7,s: 7,144,254 msg/sec AtomicQueue2, 7,i: 7,894,819 msg/sec AtomicQueue2, 8,s: 6,378,873 msg/sec AtomicQueue2, 8,i: 7,361,735 msg/sec AtomicQueueB2, 1,s: 36,120,109 msg/sec AtomicQueueB2, 1,i: 32,623,384 msg/sec AtomicQueueB2, 2,s: 11,464,074 msg/sec AtomicQueueB2, 2,i: 11,144,438 msg/sec AtomicQueueB2, 3,s: 9,738,734 msg/sec AtomicQueueB2, 3,i: 9,537,738 msg/sec AtomicQueueB2, 4,s: 7,786,852 msg/sec AtomicQueueB2, 4,i: 7,802,379 msg/sec AtomicQueueB2, 5,s: 7,542,510 msg/sec AtomicQueueB2, 5,i: 7,626,923 msg/sec AtomicQueueB2, 6,s: 7,279,525 msg/sec AtomicQueueB2, 6,i: 7,453,219 msg/sec AtomicQueueB2, 7,s: 6,874,636 msg/sec AtomicQueueB2, 7,i: 7,725,435 msg/sec AtomicQueueB2, 8,s: 6,324,572 msg/sec AtomicQueueB2, 8,i: 6,972,070 msg/sec OptimistAtomicQueue2, 1,s: 32,385,855 msg/sec OptimistAtomicQueue2, 1,i: 31,687,651 msg/sec OptimistAtomicQueue2, 2,s: 29,480,136 msg/sec OptimistAtomicQueue2, 2,i: 24,016,677 msg/sec OptimistAtomicQueue2, 3,s: 31,001,923 msg/sec OptimistAtomicQueue2, 3,i: 30,002,734 msg/sec OptimistAtomicQueue2, 4,s: 33,233,997 msg/sec OptimistAtomicQueue2, 4,i: 33,346,720 msg/sec OptimistAtomicQueue2, 5,s: 37,105,540 msg/sec OptimistAtomicQueue2, 5,i: 40,715,520 msg/sec OptimistAtomicQueue2, 6,s: 40,126,720 msg/sec OptimistAtomicQueue2, 6,i: 49,223,089 msg/sec OptimistAtomicQueue2, 7,s: 43,257,623 msg/sec OptimistAtomicQueue2, 7,i: 51,616,847 msg/sec OptimistAtomicQueue2, 8,s: 44,114,499 msg/sec OptimistAtomicQueue2, 8,i: 48,908,701 msg/sec OptimistAtomicQueueB2, 1,s: 77,047,741 msg/sec OptimistAtomicQueueB2, 1,i: 33,890,710 msg/sec OptimistAtomicQueueB2, 2,s: 27,195,483 msg/sec OptimistAtomicQueueB2, 2,i: 25,812,823 msg/sec OptimistAtomicQueueB2, 3,s: 29,664,037 msg/sec OptimistAtomicQueueB2, 3,i: 28,997,628 msg/sec OptimistAtomicQueueB2, 4,s: 32,821,804 msg/sec OptimistAtomicQueueB2, 4,i: 31,931,884 msg/sec OptimistAtomicQueueB2, 5,s: 34,317,373 msg/sec OptimistAtomicQueueB2, 5,i: 40,027,890 msg/sec OptimistAtomicQueueB2, 6,s: 37,258,600 msg/sec OptimistAtomicQueueB2, 6,i: 42,293,287 msg/sec OptimistAtomicQueueB2, 7,s: 40,830,551 msg/sec OptimistAtomicQueueB2, 7,i: 45,491,190 msg/sec OptimistAtomicQueueB2, 8,s: 42,199,095 msg/sec OptimistAtomicQueueB2, 8,i: 45,676,848 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000326 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000167 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000246 sec/round-trip std::mutex: 0.000000520 sec/round-trip tbb::spin_mutex: 0.000000284 sec/round-trip tbb::concurrent_bounded_queue: 0.000000304 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000259 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [172] 254m:25s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,242,875 msg/sec boost::lockfree::spsc_queue, 1,i: 70,748,134 msg/sec boost::lockfree::queue, 1,s: 7,983,943 msg/sec boost::lockfree::queue, 1,i: 7,385,256 msg/sec boost::lockfree::queue, 2,s: 7,621,260 msg/sec boost::lockfree::queue, 2,i: 7,462,998 msg/sec boost::lockfree::queue, 3,s: 7,371,611 msg/sec boost::lockfree::queue, 3,i: 7,583,572 msg/sec boost::lockfree::queue, 4,s: 6,428,546 msg/sec boost::lockfree::queue, 4,i: 6,806,660 msg/sec boost::lockfree::queue, 5,s: 6,500,053 msg/sec boost::lockfree::queue, 5,i: 6,490,203 msg/sec boost::lockfree::queue, 6,s: 5,997,721 msg/sec boost::lockfree::queue, 6,i: 6,096,615 msg/sec boost::lockfree::queue, 7,s: 5,990,797 msg/sec boost::lockfree::queue, 7,i: 5,903,094 msg/sec boost::lockfree::queue, 8,s: 5,498,861 msg/sec boost::lockfree::queue, 8,i: 5,702,045 msg/sec moodycamel::ReaderWriterQueue, 1,s: 334,304,990 msg/sec moodycamel::ReaderWriterQueue, 1,i: 83,875,685 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,864,700 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,843,794 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,661,449 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,464,752 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,057,119 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,391,414 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,066,670 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,655,594 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,333,424 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,000,108 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,671,722 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,134,486 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,146,894 msg/sec moodycamel::ConcurrentQueue, 7,i: 55,169,931 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,207,702 msg/sec moodycamel::ConcurrentQueue, 8,i: 37,054,383 msg/sec pthread_spinlock, 1,s: 28,880,899 msg/sec pthread_spinlock, 1,i: 25,294,279 msg/sec pthread_spinlock, 2,s: 15,733,953 msg/sec pthread_spinlock, 2,i: 17,053,314 msg/sec pthread_spinlock, 3,s: 8,377,163 msg/sec pthread_spinlock, 3,i: 12,025,256 msg/sec pthread_spinlock, 4,s: 6,497,219 msg/sec pthread_spinlock, 4,i: 9,233,049 msg/sec pthread_spinlock, 5,s: 8,757,674 msg/sec pthread_spinlock, 5,i: 9,281,558 msg/sec pthread_spinlock, 6,s: 8,511,621 msg/sec pthread_spinlock, 6,i: 8,410,247 msg/sec pthread_spinlock, 7,s: 7,536,535 msg/sec pthread_spinlock, 7,i: 7,706,648 msg/sec pthread_spinlock, 8,s: 6,801,042 msg/sec pthread_spinlock, 8,i: 6,959,528 msg/sec std::mutex, 1,s: 7,210,597 msg/sec std::mutex, 1,i: 6,576,818 msg/sec std::mutex, 2,s: 5,567,822 msg/sec std::mutex, 2,i: 5,539,875 msg/sec std::mutex, 3,s: 6,148,301 msg/sec std::mutex, 3,i: 6,020,136 msg/sec std::mutex, 4,s: 6,249,870 msg/sec std::mutex, 4,i: 6,288,903 msg/sec std::mutex, 5,s: 6,012,438 msg/sec std::mutex, 5,i: 6,097,201 msg/sec std::mutex, 6,s: 5,875,573 msg/sec std::mutex, 6,i: 5,928,315 msg/sec std::mutex, 7,s: 5,773,135 msg/sec std::mutex, 7,i: 5,882,022 msg/sec std::mutex, 8,s: 5,651,469 msg/sec std::mutex, 8,i: 5,684,144 msg/sec tbb::spin_mutex, 1,s: 37,795,033 msg/sec tbb::spin_mutex, 1,i: 33,198,030 msg/sec tbb::spin_mutex, 2,s: 21,184,652 msg/sec tbb::spin_mutex, 2,i: 18,446,852 msg/sec tbb::spin_mutex, 3,s: 8,210,572 msg/sec tbb::spin_mutex, 3,i: 10,133,495 msg/sec tbb::spin_mutex, 4,s: 3,085,893 msg/sec tbb::spin_mutex, 4,i: 6,362,214 msg/sec tbb::spin_mutex, 5,s: 5,261,276 msg/sec tbb::spin_mutex, 5,i: 5,496,752 msg/sec tbb::spin_mutex, 6,s: 5,441,256 msg/sec tbb::spin_mutex, 6,i: 4,347,604 msg/sec tbb::spin_mutex, 7,s: 4,821,466 msg/sec tbb::spin_mutex, 7,i: 4,268,730 msg/sec tbb::spin_mutex, 8,s: 4,246,615 msg/sec tbb::spin_mutex, 8,i: 4,087,431 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,103,580 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,064,501 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,113,779 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,028,798 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,604,621 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,747,729 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,005,714 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,325,688 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,516,173 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,580,232 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,849,409 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,718,967 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,890,295 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,105,854 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,846,288 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,484,464 msg/sec xenium::michael_scott_queue, 1,s: 10,102,504 msg/sec xenium::michael_scott_queue, 1,i: 9,735,402 msg/sec xenium::michael_scott_queue, 2,s: 8,547,344 msg/sec xenium::michael_scott_queue, 2,i: 8,505,076 msg/sec xenium::michael_scott_queue, 3,s: 7,165,107 msg/sec xenium::michael_scott_queue, 3,i: 7,553,284 msg/sec xenium::michael_scott_queue, 4,s: 6,346,907 msg/sec xenium::michael_scott_queue, 4,i: 6,386,449 msg/sec xenium::michael_scott_queue, 5,s: 6,320,890 msg/sec xenium::michael_scott_queue, 5,i: 6,653,054 msg/sec xenium::michael_scott_queue, 6,s: 6,507,772 msg/sec xenium::michael_scott_queue, 6,i: 6,928,350 msg/sec xenium::michael_scott_queue, 7,s: 6,337,045 msg/sec xenium::michael_scott_queue, 7,i: 6,550,806 msg/sec xenium::michael_scott_queue, 8,s: 5,990,414 msg/sec xenium::michael_scott_queue, 8,i: 6,119,962 msg/sec xenium::ramalhete_queue, 1,s: 31,807,694 msg/sec xenium::ramalhete_queue, 1,i: 31,702,850 msg/sec xenium::ramalhete_queue, 2,s: 23,436,838 msg/sec xenium::ramalhete_queue, 2,i: 23,359,452 msg/sec xenium::ramalhete_queue, 3,s: 29,224,360 msg/sec xenium::ramalhete_queue, 3,i: 28,608,482 msg/sec xenium::ramalhete_queue, 4,s: 33,827,564 msg/sec xenium::ramalhete_queue, 4,i: 33,438,964 msg/sec xenium::ramalhete_queue, 5,s: 32,057,625 msg/sec xenium::ramalhete_queue, 5,i: 36,186,744 msg/sec xenium::ramalhete_queue, 6,s: 33,901,383 msg/sec xenium::ramalhete_queue, 6,i: 38,578,516 msg/sec xenium::ramalhete_queue, 7,s: 34,905,130 msg/sec xenium::ramalhete_queue, 7,i: 41,785,444 msg/sec xenium::ramalhete_queue, 8,s: 35,462,899 msg/sec xenium::ramalhete_queue, 8,i: 44,071,204 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,577,150 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,874,023 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,234,741 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,345,188 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,515,173 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,881,034 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,607,635 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,392,041 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,620,407 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,295,968 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,889,277 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,371,171 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,120,417 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,000,191 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,780 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,544,413 msg/sec AtomicQueue, 1,s: 164,194,796 msg/sec AtomicQueue, 1,i: 207,224,327 msg/sec AtomicQueue, 2,s: 12,268,436 msg/sec AtomicQueue, 2,i: 11,701,399 msg/sec AtomicQueue, 3,s: 10,755,798 msg/sec AtomicQueue, 3,i: 9,907,164 msg/sec AtomicQueue, 4,s: 8,188,471 msg/sec AtomicQueue, 4,i: 8,205,591 msg/sec AtomicQueue, 5,s: 7,994,764 msg/sec AtomicQueue, 5,i: 8,129,335 msg/sec AtomicQueue, 6,s: 7,761,586 msg/sec AtomicQueue, 6,i: 7,611,974 msg/sec AtomicQueue, 7,s: 7,113,631 msg/sec AtomicQueue, 7,i: 7,972,344 msg/sec AtomicQueue, 8,s: 6,318,750 msg/sec AtomicQueue, 8,i: 7,355,514 msg/sec AtomicQueueB, 1,s: 44,600,360 msg/sec AtomicQueueB, 1,i: 43,070,268 msg/sec AtomicQueueB, 2,s: 11,929,223 msg/sec AtomicQueueB, 2,i: 11,458,425 msg/sec AtomicQueueB, 3,s: 10,951,899 msg/sec AtomicQueueB, 3,i: 10,141,770 msg/sec AtomicQueueB, 4,s: 8,048,863 msg/sec AtomicQueueB, 4,i: 8,014,598 msg/sec AtomicQueueB, 5,s: 7,554,663 msg/sec AtomicQueueB, 5,i: 7,820,849 msg/sec AtomicQueueB, 6,s: 7,420,322 msg/sec AtomicQueueB, 6,i: 7,598,990 msg/sec AtomicQueueB, 7,s: 6,930,339 msg/sec AtomicQueueB, 7,i: 7,739,846 msg/sec AtomicQueueB, 8,s: 6,244,628 msg/sec AtomicQueueB, 8,i: 7,207,374 msg/sec OptimistAtomicQueue, 1,s: 760,325,746 msg/sec OptimistAtomicQueue, 1,i: 606,399,914 msg/sec OptimistAtomicQueue, 2,s: 32,102,000 msg/sec OptimistAtomicQueue, 2,i: 32,198,646 msg/sec OptimistAtomicQueue, 3,s: 36,627,180 msg/sec OptimistAtomicQueue, 3,i: 37,330,332 msg/sec OptimistAtomicQueue, 4,s: 39,273,644 msg/sec OptimistAtomicQueue, 4,i: 39,408,311 msg/sec OptimistAtomicQueue, 5,s: 42,453,129 msg/sec OptimistAtomicQueue, 5,i: 46,401,904 msg/sec OptimistAtomicQueue, 6,s: 42,391,559 msg/sec OptimistAtomicQueue, 6,i: 49,792,756 msg/sec OptimistAtomicQueue, 7,s: 45,121,451 msg/sec OptimistAtomicQueue, 7,i: 49,267,305 msg/sec OptimistAtomicQueue, 8,s: 46,366,275 msg/sec OptimistAtomicQueue, 8,i: 48,459,308 msg/sec OptimistAtomicQueueB, 1,s: 203,645,177 msg/sec OptimistAtomicQueueB, 1,i: 77,707,822 msg/sec OptimistAtomicQueueB, 2,s: 32,140,045 msg/sec OptimistAtomicQueueB, 2,i: 32,245,936 msg/sec OptimistAtomicQueueB, 3,s: 36,296,371 msg/sec OptimistAtomicQueueB, 3,i: 36,958,929 msg/sec OptimistAtomicQueueB, 4,s: 38,689,197 msg/sec OptimistAtomicQueueB, 4,i: 38,610,480 msg/sec OptimistAtomicQueueB, 5,s: 40,539,552 msg/sec OptimistAtomicQueueB, 5,i: 45,252,507 msg/sec OptimistAtomicQueueB, 6,s: 41,187,111 msg/sec OptimistAtomicQueueB, 6,i: 49,086,720 msg/sec OptimistAtomicQueueB, 7,s: 42,146,119 msg/sec OptimistAtomicQueueB, 7,i: 47,458,290 msg/sec OptimistAtomicQueueB, 8,s: 44,659,010 msg/sec OptimistAtomicQueueB, 8,i: 48,516,598 msg/sec AtomicQueue2, 1,s: 22,833,019 msg/sec AtomicQueue2, 1,i: 22,835,477 msg/sec AtomicQueue2, 2,s: 11,816,493 msg/sec AtomicQueue2, 2,i: 11,422,114 msg/sec AtomicQueue2, 3,s: 9,663,590 msg/sec AtomicQueue2, 3,i: 9,510,454 msg/sec AtomicQueue2, 4,s: 7,979,771 msg/sec AtomicQueue2, 4,i: 8,082,319 msg/sec AtomicQueue2, 5,s: 7,911,276 msg/sec AtomicQueue2, 5,i: 7,959,696 msg/sec AtomicQueue2, 6,s: 7,753,083 msg/sec AtomicQueue2, 6,i: 7,522,302 msg/sec AtomicQueue2, 7,s: 7,158,568 msg/sec AtomicQueue2, 7,i: 7,903,244 msg/sec AtomicQueue2, 8,s: 6,400,219 msg/sec AtomicQueue2, 8,i: 7,339,189 msg/sec AtomicQueueB2, 1,s: 36,258,537 msg/sec AtomicQueueB2, 1,i: 32,627,658 msg/sec AtomicQueueB2, 2,s: 11,359,924 msg/sec AtomicQueueB2, 2,i: 11,074,480 msg/sec AtomicQueueB2, 3,s: 9,681,117 msg/sec AtomicQueueB2, 3,i: 9,577,208 msg/sec AtomicQueueB2, 4,s: 7,908,336 msg/sec AtomicQueueB2, 4,i: 7,886,188 msg/sec AtomicQueueB2, 5,s: 7,436,184 msg/sec AtomicQueueB2, 5,i: 7,736,523 msg/sec AtomicQueueB2, 6,s: 7,272,779 msg/sec AtomicQueueB2, 6,i: 7,452,014 msg/sec AtomicQueueB2, 7,s: 6,816,631 msg/sec AtomicQueueB2, 7,i: 7,698,346 msg/sec AtomicQueueB2, 8,s: 6,294,791 msg/sec AtomicQueueB2, 8,i: 7,067,122 msg/sec OptimistAtomicQueue2, 1,s: 184,535,287 msg/sec OptimistAtomicQueue2, 1,i: 29,587,759 msg/sec OptimistAtomicQueue2, 2,s: 24,273,481 msg/sec OptimistAtomicQueue2, 2,i: 24,014,873 msg/sec OptimistAtomicQueue2, 3,s: 30,330,407 msg/sec OptimistAtomicQueue2, 3,i: 30,364,512 msg/sec OptimistAtomicQueue2, 4,s: 33,229,210 msg/sec OptimistAtomicQueue2, 4,i: 33,236,989 msg/sec OptimistAtomicQueue2, 5,s: 37,251,250 msg/sec OptimistAtomicQueue2, 5,i: 40,242,774 msg/sec OptimistAtomicQueue2, 6,s: 40,031,141 msg/sec OptimistAtomicQueue2, 6,i: 49,201,137 msg/sec OptimistAtomicQueue2, 7,s: 43,023,910 msg/sec OptimistAtomicQueue2, 7,i: 48,232,500 msg/sec OptimistAtomicQueue2, 8,s: 44,599,796 msg/sec OptimistAtomicQueue2, 8,i: 48,378,039 msg/sec OptimistAtomicQueueB2, 1,s: 75,952,651 msg/sec OptimistAtomicQueueB2, 1,i: 55,204,130 msg/sec OptimistAtomicQueueB2, 2,s: 29,569,427 msg/sec OptimistAtomicQueueB2, 2,i: 23,175,077 msg/sec OptimistAtomicQueueB2, 3,s: 30,032,990 msg/sec OptimistAtomicQueueB2, 3,i: 29,055,788 msg/sec OptimistAtomicQueueB2, 4,s: 33,337,064 msg/sec OptimistAtomicQueueB2, 4,i: 32,400,912 msg/sec OptimistAtomicQueueB2, 5,s: 34,708,970 msg/sec OptimistAtomicQueueB2, 5,i: 39,456,131 msg/sec OptimistAtomicQueueB2, 6,s: 37,579,121 msg/sec OptimistAtomicQueueB2, 6,i: 42,389,647 msg/sec OptimistAtomicQueueB2, 7,s: 40,179,272 msg/sec OptimistAtomicQueueB2, 7,i: 45,579,291 msg/sec OptimistAtomicQueueB2, 8,s: 42,404,889 msg/sec OptimistAtomicQueueB2, 8,i: 45,176,908 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000265 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000173 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [173] 253m:6s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,949,798 msg/sec boost::lockfree::spsc_queue, 1,i: 69,528,169 msg/sec boost::lockfree::queue, 1,s: 7,925,660 msg/sec boost::lockfree::queue, 1,i: 7,936,065 msg/sec boost::lockfree::queue, 2,s: 7,597,458 msg/sec boost::lockfree::queue, 2,i: 7,627,645 msg/sec boost::lockfree::queue, 3,s: 7,497,954 msg/sec boost::lockfree::queue, 3,i: 7,590,029 msg/sec boost::lockfree::queue, 4,s: 6,427,486 msg/sec boost::lockfree::queue, 4,i: 6,795,661 msg/sec boost::lockfree::queue, 5,s: 6,402,014 msg/sec boost::lockfree::queue, 5,i: 6,504,643 msg/sec boost::lockfree::queue, 6,s: 5,980,949 msg/sec boost::lockfree::queue, 6,i: 6,117,721 msg/sec boost::lockfree::queue, 7,s: 5,813,621 msg/sec boost::lockfree::queue, 7,i: 6,039,676 msg/sec boost::lockfree::queue, 8,s: 5,684,635 msg/sec boost::lockfree::queue, 8,i: 5,659,750 msg/sec moodycamel::ReaderWriterQueue, 1,s: 413,077,752 msg/sec moodycamel::ReaderWriterQueue, 1,i: 351,374,202 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,988,199 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,976,005 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,355,048 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,440,937 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,767,402 msg/sec moodycamel::ConcurrentQueue, 3,i: 37,990,041 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,020,157 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,951,008 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,212,499 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,991,752 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,249,482 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,536,737 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,818,116 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,310,371 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,273,108 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,403,124 msg/sec pthread_spinlock, 1,s: 28,887,430 msg/sec pthread_spinlock, 1,i: 25,298,635 msg/sec pthread_spinlock, 2,s: 15,507,018 msg/sec pthread_spinlock, 2,i: 18,025,611 msg/sec pthread_spinlock, 3,s: 8,423,916 msg/sec pthread_spinlock, 3,i: 12,017,908 msg/sec pthread_spinlock, 4,s: 6,539,512 msg/sec pthread_spinlock, 4,i: 8,965,331 msg/sec pthread_spinlock, 5,s: 8,757,960 msg/sec pthread_spinlock, 5,i: 8,834,120 msg/sec pthread_spinlock, 6,s: 8,326,852 msg/sec pthread_spinlock, 6,i: 8,390,930 msg/sec pthread_spinlock, 7,s: 7,527,961 msg/sec pthread_spinlock, 7,i: 7,707,665 msg/sec pthread_spinlock, 8,s: 6,944,856 msg/sec pthread_spinlock, 8,i: 6,965,886 msg/sec std::mutex, 1,s: 6,186,105 msg/sec std::mutex, 1,i: 6,403,399 msg/sec std::mutex, 2,s: 5,450,872 msg/sec std::mutex, 2,i: 5,304,034 msg/sec std::mutex, 3,s: 5,523,140 msg/sec std::mutex, 3,i: 5,639,835 msg/sec std::mutex, 4,s: 5,802,656 msg/sec std::mutex, 4,i: 6,217,722 msg/sec std::mutex, 5,s: 6,043,007 msg/sec std::mutex, 5,i: 6,210,203 msg/sec std::mutex, 6,s: 6,026,011 msg/sec std::mutex, 6,i: 5,956,285 msg/sec std::mutex, 7,s: 5,877,822 msg/sec std::mutex, 7,i: 5,819,323 msg/sec std::mutex, 8,s: 5,710,982 msg/sec std::mutex, 8,i: 5,698,646 msg/sec tbb::spin_mutex, 1,s: 38,085,080 msg/sec tbb::spin_mutex, 1,i: 33,076,222 msg/sec tbb::spin_mutex, 2,s: 21,144,422 msg/sec tbb::spin_mutex, 2,i: 18,502,686 msg/sec tbb::spin_mutex, 3,s: 8,759,368 msg/sec tbb::spin_mutex, 3,i: 10,815,427 msg/sec tbb::spin_mutex, 4,s: 3,186,634 msg/sec tbb::spin_mutex, 4,i: 6,350,288 msg/sec tbb::spin_mutex, 5,s: 5,276,470 msg/sec tbb::spin_mutex, 5,i: 5,640,106 msg/sec tbb::spin_mutex, 6,s: 5,293,599 msg/sec tbb::spin_mutex, 6,i: 4,373,295 msg/sec tbb::spin_mutex, 7,s: 4,849,950 msg/sec tbb::spin_mutex, 7,i: 4,331,658 msg/sec tbb::spin_mutex, 8,s: 4,236,056 msg/sec tbb::spin_mutex, 8,i: 4,112,381 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,275,532 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,246,082 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,915,050 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,945,775 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,498,225 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,808,589 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,126,588 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,407,184 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,817,573 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,778,061 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,901,363 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,866,689 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,781,017 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,101,636 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,644,609 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,294,938 msg/sec xenium::michael_scott_queue, 1,s: 10,041,508 msg/sec xenium::michael_scott_queue, 1,i: 9,900,761 msg/sec xenium::michael_scott_queue, 2,s: 8,396,857 msg/sec xenium::michael_scott_queue, 2,i: 8,506,089 msg/sec xenium::michael_scott_queue, 3,s: 7,233,575 msg/sec xenium::michael_scott_queue, 3,i: 7,535,480 msg/sec xenium::michael_scott_queue, 4,s: 6,281,808 msg/sec xenium::michael_scott_queue, 4,i: 6,312,278 msg/sec xenium::michael_scott_queue, 5,s: 6,277,857 msg/sec xenium::michael_scott_queue, 5,i: 6,675,340 msg/sec xenium::michael_scott_queue, 6,s: 6,468,191 msg/sec xenium::michael_scott_queue, 6,i: 6,888,669 msg/sec xenium::michael_scott_queue, 7,s: 6,292,124 msg/sec xenium::michael_scott_queue, 7,i: 6,524,289 msg/sec xenium::michael_scott_queue, 8,s: 5,989,102 msg/sec xenium::michael_scott_queue, 8,i: 6,056,852 msg/sec xenium::ramalhete_queue, 1,s: 32,290,685 msg/sec xenium::ramalhete_queue, 1,i: 33,075,094 msg/sec xenium::ramalhete_queue, 2,s: 23,662,331 msg/sec xenium::ramalhete_queue, 2,i: 23,326,543 msg/sec xenium::ramalhete_queue, 3,s: 29,152,221 msg/sec xenium::ramalhete_queue, 3,i: 28,460,678 msg/sec xenium::ramalhete_queue, 4,s: 33,952,128 msg/sec xenium::ramalhete_queue, 4,i: 33,500,205 msg/sec xenium::ramalhete_queue, 5,s: 32,143,773 msg/sec xenium::ramalhete_queue, 5,i: 38,442,144 msg/sec xenium::ramalhete_queue, 6,s: 33,836,059 msg/sec xenium::ramalhete_queue, 6,i: 40,336,460 msg/sec xenium::ramalhete_queue, 7,s: 35,014,677 msg/sec xenium::ramalhete_queue, 7,i: 42,058,331 msg/sec xenium::ramalhete_queue, 8,s: 35,585,226 msg/sec xenium::ramalhete_queue, 8,i: 44,237,245 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,594,303 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,091,039 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,068,840 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,636,272 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,272,919 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,608,720 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,633,182 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,126,668 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,814,540 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,255,201 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,123,881 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,167,800 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,354,704 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,848,526 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,405,485 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,209,935 msg/sec AtomicQueue, 1,s: 58,876,972 msg/sec AtomicQueue, 1,i: 56,567,333 msg/sec AtomicQueue, 2,s: 12,261,307 msg/sec AtomicQueue, 2,i: 11,804,231 msg/sec AtomicQueue, 3,s: 10,743,333 msg/sec AtomicQueue, 3,i: 9,961,057 msg/sec AtomicQueue, 4,s: 8,132,633 msg/sec AtomicQueue, 4,i: 8,204,594 msg/sec AtomicQueue, 5,s: 8,063,899 msg/sec AtomicQueue, 5,i: 8,136,061 msg/sec AtomicQueue, 6,s: 7,831,049 msg/sec AtomicQueue, 6,i: 7,611,450 msg/sec AtomicQueue, 7,s: 7,141,850 msg/sec AtomicQueue, 7,i: 7,979,254 msg/sec AtomicQueue, 8,s: 6,323,232 msg/sec AtomicQueue, 8,i: 7,458,888 msg/sec AtomicQueueB, 1,s: 59,164,972 msg/sec AtomicQueueB, 1,i: 43,758,724 msg/sec AtomicQueueB, 2,s: 11,784,149 msg/sec AtomicQueueB, 2,i: 11,493,503 msg/sec AtomicQueueB, 3,s: 11,061,105 msg/sec AtomicQueueB, 3,i: 10,201,603 msg/sec AtomicQueueB, 4,s: 7,996,969 msg/sec AtomicQueueB, 4,i: 8,031,148 msg/sec AtomicQueueB, 5,s: 7,554,521 msg/sec AtomicQueueB, 5,i: 7,830,077 msg/sec AtomicQueueB, 6,s: 7,337,580 msg/sec AtomicQueueB, 6,i: 7,575,745 msg/sec AtomicQueueB, 7,s: 6,953,903 msg/sec AtomicQueueB, 7,i: 7,734,654 msg/sec AtomicQueueB, 8,s: 6,216,118 msg/sec AtomicQueueB, 8,i: 7,174,986 msg/sec OptimistAtomicQueue, 1,s: 774,305,747 msg/sec OptimistAtomicQueue, 1,i: 607,989,776 msg/sec OptimistAtomicQueue, 2,s: 32,554,833 msg/sec OptimistAtomicQueue, 2,i: 32,182,265 msg/sec OptimistAtomicQueue, 3,s: 36,653,828 msg/sec OptimistAtomicQueue, 3,i: 37,342,197 msg/sec OptimistAtomicQueue, 4,s: 39,277,689 msg/sec OptimistAtomicQueue, 4,i: 39,372,748 msg/sec OptimistAtomicQueue, 5,s: 42,370,607 msg/sec OptimistAtomicQueue, 5,i: 46,239,357 msg/sec OptimistAtomicQueue, 6,s: 42,587,449 msg/sec OptimistAtomicQueue, 6,i: 50,515,051 msg/sec OptimistAtomicQueue, 7,s: 43,987,263 msg/sec OptimistAtomicQueue, 7,i: 52,883,027 msg/sec OptimistAtomicQueue, 8,s: 46,447,453 msg/sec OptimistAtomicQueue, 8,i: 49,168,704 msg/sec OptimistAtomicQueueB, 1,s: 196,295,617 msg/sec OptimistAtomicQueueB, 1,i: 120,474,815 msg/sec OptimistAtomicQueueB, 2,s: 32,163,830 msg/sec OptimistAtomicQueueB, 2,i: 32,242,126 msg/sec OptimistAtomicQueueB, 3,s: 36,281,160 msg/sec OptimistAtomicQueueB, 3,i: 36,880,839 msg/sec OptimistAtomicQueueB, 4,s: 38,681,052 msg/sec OptimistAtomicQueueB, 4,i: 38,580,849 msg/sec OptimistAtomicQueueB, 5,s: 41,188,711 msg/sec OptimistAtomicQueueB, 5,i: 45,983,661 msg/sec OptimistAtomicQueueB, 6,s: 41,202,934 msg/sec OptimistAtomicQueueB, 6,i: 48,682,286 msg/sec OptimistAtomicQueueB, 7,s: 41,927,123 msg/sec OptimistAtomicQueueB, 7,i: 50,874,855 msg/sec OptimistAtomicQueueB, 8,s: 44,448,071 msg/sec OptimistAtomicQueueB, 8,i: 47,761,043 msg/sec AtomicQueue2, 1,s: 22,871,960 msg/sec AtomicQueue2, 1,i: 22,895,509 msg/sec AtomicQueue2, 2,s: 11,792,019 msg/sec AtomicQueue2, 2,i: 11,606,966 msg/sec AtomicQueue2, 3,s: 9,343,406 msg/sec AtomicQueue2, 3,i: 9,432,966 msg/sec AtomicQueue2, 4,s: 8,091,664 msg/sec AtomicQueue2, 4,i: 8,027,286 msg/sec AtomicQueue2, 5,s: 7,953,029 msg/sec AtomicQueue2, 5,i: 7,946,493 msg/sec AtomicQueue2, 6,s: 7,679,361 msg/sec AtomicQueue2, 6,i: 7,508,645 msg/sec AtomicQueue2, 7,s: 7,219,289 msg/sec AtomicQueue2, 7,i: 7,891,792 msg/sec AtomicQueue2, 8,s: 6,411,482 msg/sec AtomicQueue2, 8,i: 7,353,239 msg/sec AtomicQueueB2, 1,s: 36,160,060 msg/sec AtomicQueueB2, 1,i: 32,665,586 msg/sec AtomicQueueB2, 2,s: 11,380,139 msg/sec AtomicQueueB2, 2,i: 11,108,555 msg/sec AtomicQueueB2, 3,s: 9,600,467 msg/sec AtomicQueueB2, 3,i: 9,550,006 msg/sec AtomicQueueB2, 4,s: 7,956,301 msg/sec AtomicQueueB2, 4,i: 7,854,340 msg/sec AtomicQueueB2, 5,s: 7,523,593 msg/sec AtomicQueueB2, 5,i: 7,714,101 msg/sec AtomicQueueB2, 6,s: 7,348,729 msg/sec AtomicQueueB2, 6,i: 7,468,414 msg/sec AtomicQueueB2, 7,s: 6,870,649 msg/sec AtomicQueueB2, 7,i: 7,743,278 msg/sec AtomicQueueB2, 8,s: 6,299,484 msg/sec AtomicQueueB2, 8,i: 7,070,700 msg/sec OptimistAtomicQueue2, 1,s: 444,660,846 msg/sec OptimistAtomicQueue2, 1,i: 29,839,002 msg/sec OptimistAtomicQueue2, 2,s: 24,264,809 msg/sec OptimistAtomicQueue2, 2,i: 24,014,496 msg/sec OptimistAtomicQueue2, 3,s: 30,325,002 msg/sec OptimistAtomicQueue2, 3,i: 29,941,504 msg/sec OptimistAtomicQueue2, 4,s: 33,987,489 msg/sec OptimistAtomicQueue2, 4,i: 33,297,385 msg/sec OptimistAtomicQueue2, 5,s: 37,147,513 msg/sec OptimistAtomicQueue2, 5,i: 40,020,267 msg/sec OptimistAtomicQueue2, 6,s: 39,858,568 msg/sec OptimistAtomicQueue2, 6,i: 49,113,254 msg/sec OptimistAtomicQueue2, 7,s: 43,302,104 msg/sec OptimistAtomicQueue2, 7,i: 47,830,534 msg/sec OptimistAtomicQueue2, 8,s: 44,746,327 msg/sec OptimistAtomicQueue2, 8,i: 48,431,293 msg/sec OptimistAtomicQueueB2, 1,s: 75,268,211 msg/sec OptimistAtomicQueueB2, 1,i: 33,943,174 msg/sec OptimistAtomicQueueB2, 2,s: 27,726,198 msg/sec OptimistAtomicQueueB2, 2,i: 27,936,753 msg/sec OptimistAtomicQueueB2, 3,s: 29,656,666 msg/sec OptimistAtomicQueueB2, 3,i: 29,723,241 msg/sec OptimistAtomicQueueB2, 4,s: 33,399,502 msg/sec OptimistAtomicQueueB2, 4,i: 31,944,754 msg/sec OptimistAtomicQueueB2, 5,s: 34,554,986 msg/sec OptimistAtomicQueueB2, 5,i: 39,239,703 msg/sec OptimistAtomicQueueB2, 6,s: 37,335,656 msg/sec OptimistAtomicQueueB2, 6,i: 42,449,660 msg/sec OptimistAtomicQueueB2, 7,s: 40,917,178 msg/sec OptimistAtomicQueueB2, 7,i: 43,219,612 msg/sec OptimistAtomicQueueB2, 8,s: 42,482,798 msg/sec OptimistAtomicQueueB2, 8,i: 45,402,534 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000129 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000130 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000456 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [174] 251m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,597,776 msg/sec boost::lockfree::spsc_queue, 1,i: 73,130,966 msg/sec boost::lockfree::queue, 1,s: 6,877,967 msg/sec boost::lockfree::queue, 1,i: 6,914,103 msg/sec boost::lockfree::queue, 2,s: 7,663,012 msg/sec boost::lockfree::queue, 2,i: 7,356,234 msg/sec boost::lockfree::queue, 3,s: 7,482,245 msg/sec boost::lockfree::queue, 3,i: 7,576,867 msg/sec boost::lockfree::queue, 4,s: 6,420,224 msg/sec boost::lockfree::queue, 4,i: 6,914,217 msg/sec boost::lockfree::queue, 5,s: 6,460,362 msg/sec boost::lockfree::queue, 5,i: 6,458,407 msg/sec boost::lockfree::queue, 6,s: 5,995,915 msg/sec boost::lockfree::queue, 6,i: 6,156,278 msg/sec boost::lockfree::queue, 7,s: 5,908,246 msg/sec boost::lockfree::queue, 7,i: 6,050,803 msg/sec boost::lockfree::queue, 8,s: 5,448,702 msg/sec boost::lockfree::queue, 8,i: 5,577,665 msg/sec moodycamel::ReaderWriterQueue, 1,s: 53,046,932 msg/sec moodycamel::ReaderWriterQueue, 1,i: 48,037,693 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,180,438 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,624,937 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,101,550 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,834,861 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,582,421 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,801,839 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,469,478 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,413,410 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,466,113 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,016,820 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,519,579 msg/sec moodycamel::ConcurrentQueue, 6,i: 21,038,434 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,212,170 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,388,003 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,411,229 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,653,852 msg/sec pthread_spinlock, 1,s: 29,127,549 msg/sec pthread_spinlock, 1,i: 25,309,988 msg/sec pthread_spinlock, 2,s: 16,084,739 msg/sec pthread_spinlock, 2,i: 17,055,479 msg/sec pthread_spinlock, 3,s: 8,345,025 msg/sec pthread_spinlock, 3,i: 11,956,791 msg/sec pthread_spinlock, 4,s: 6,487,232 msg/sec pthread_spinlock, 4,i: 9,062,520 msg/sec pthread_spinlock, 5,s: 8,641,370 msg/sec pthread_spinlock, 5,i: 10,333,810 msg/sec pthread_spinlock, 6,s: 8,444,914 msg/sec pthread_spinlock, 6,i: 8,592,552 msg/sec pthread_spinlock, 7,s: 8,046,991 msg/sec pthread_spinlock, 7,i: 7,843,576 msg/sec pthread_spinlock, 8,s: 6,911,411 msg/sec pthread_spinlock, 8,i: 7,365,398 msg/sec std::mutex, 1,s: 6,935,598 msg/sec std::mutex, 1,i: 7,539,696 msg/sec std::mutex, 2,s: 6,451,731 msg/sec std::mutex, 2,i: 5,994,628 msg/sec std::mutex, 3,s: 5,967,410 msg/sec std::mutex, 3,i: 6,064,712 msg/sec std::mutex, 4,s: 6,255,746 msg/sec std::mutex, 4,i: 6,210,257 msg/sec std::mutex, 5,s: 5,968,132 msg/sec std::mutex, 5,i: 6,088,297 msg/sec std::mutex, 6,s: 5,905,163 msg/sec std::mutex, 6,i: 5,830,471 msg/sec std::mutex, 7,s: 5,777,313 msg/sec std::mutex, 7,i: 5,655,228 msg/sec std::mutex, 8,s: 5,635,867 msg/sec std::mutex, 8,i: 5,610,026 msg/sec tbb::spin_mutex, 1,s: 37,612,751 msg/sec tbb::spin_mutex, 1,i: 35,423,581 msg/sec tbb::spin_mutex, 2,s: 21,092,848 msg/sec tbb::spin_mutex, 2,i: 20,629,755 msg/sec tbb::spin_mutex, 3,s: 7,201,937 msg/sec tbb::spin_mutex, 3,i: 10,315,935 msg/sec tbb::spin_mutex, 4,s: 3,158,097 msg/sec tbb::spin_mutex, 4,i: 6,381,315 msg/sec tbb::spin_mutex, 5,s: 5,147,819 msg/sec tbb::spin_mutex, 5,i: 5,789,997 msg/sec tbb::spin_mutex, 6,s: 5,380,624 msg/sec tbb::spin_mutex, 6,i: 4,328,034 msg/sec tbb::spin_mutex, 7,s: 4,820,976 msg/sec tbb::spin_mutex, 7,i: 4,355,992 msg/sec tbb::spin_mutex, 8,s: 4,252,332 msg/sec tbb::spin_mutex, 8,i: 4,091,200 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,359,748 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,370,567 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,722,540 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,472,147 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,487,558 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,762,414 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,004,845 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,305,919 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,518,291 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,634,547 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,847,032 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,754,897 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,922,125 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,081,401 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,892,064 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,459,826 msg/sec xenium::michael_scott_queue, 1,s: 9,166,353 msg/sec xenium::michael_scott_queue, 1,i: 9,567,420 msg/sec xenium::michael_scott_queue, 2,s: 8,556,881 msg/sec xenium::michael_scott_queue, 2,i: 8,583,628 msg/sec xenium::michael_scott_queue, 3,s: 7,143,017 msg/sec xenium::michael_scott_queue, 3,i: 7,538,028 msg/sec xenium::michael_scott_queue, 4,s: 6,383,562 msg/sec xenium::michael_scott_queue, 4,i: 6,322,938 msg/sec xenium::michael_scott_queue, 5,s: 6,329,437 msg/sec xenium::michael_scott_queue, 5,i: 6,588,094 msg/sec xenium::michael_scott_queue, 6,s: 6,471,556 msg/sec xenium::michael_scott_queue, 6,i: 6,670,364 msg/sec xenium::michael_scott_queue, 7,s: 6,316,669 msg/sec xenium::michael_scott_queue, 7,i: 6,512,742 msg/sec xenium::michael_scott_queue, 8,s: 6,001,903 msg/sec xenium::michael_scott_queue, 8,i: 6,112,962 msg/sec xenium::ramalhete_queue, 1,s: 30,719,703 msg/sec xenium::ramalhete_queue, 1,i: 27,732,736 msg/sec xenium::ramalhete_queue, 2,s: 24,450,791 msg/sec xenium::ramalhete_queue, 2,i: 23,396,742 msg/sec xenium::ramalhete_queue, 3,s: 29,136,446 msg/sec xenium::ramalhete_queue, 3,i: 28,521,247 msg/sec xenium::ramalhete_queue, 4,s: 33,716,883 msg/sec xenium::ramalhete_queue, 4,i: 33,479,119 msg/sec xenium::ramalhete_queue, 5,s: 32,142,543 msg/sec xenium::ramalhete_queue, 5,i: 38,516,416 msg/sec xenium::ramalhete_queue, 6,s: 34,060,331 msg/sec xenium::ramalhete_queue, 6,i: 39,344,163 msg/sec xenium::ramalhete_queue, 7,s: 35,235,061 msg/sec xenium::ramalhete_queue, 7,i: 41,783,832 msg/sec xenium::ramalhete_queue, 8,s: 35,571,841 msg/sec xenium::ramalhete_queue, 8,i: 43,809,854 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,008,919 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,280,185 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,926,618 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,768,521 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,456,227 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,902,182 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,518,018 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,396,348 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,846,311 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,510,526 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,776,825 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,255,362 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,189,521 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,092,485 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,376,028 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,337,524 msg/sec AtomicQueue, 1,s: 58,222,329 msg/sec AtomicQueue, 1,i: 56,782,067 msg/sec AtomicQueue, 2,s: 12,281,723 msg/sec AtomicQueue, 2,i: 11,754,021 msg/sec AtomicQueue, 3,s: 10,809,658 msg/sec AtomicQueue, 3,i: 9,865,559 msg/sec AtomicQueue, 4,s: 8,185,588 msg/sec AtomicQueue, 4,i: 8,217,820 msg/sec AtomicQueue, 5,s: 7,965,401 msg/sec AtomicQueue, 5,i: 8,080,223 msg/sec AtomicQueue, 6,s: 7,808,835 msg/sec AtomicQueue, 6,i: 7,627,465 msg/sec AtomicQueue, 7,s: 7,197,653 msg/sec AtomicQueue, 7,i: 7,967,519 msg/sec AtomicQueue, 8,s: 6,320,940 msg/sec AtomicQueue, 8,i: 7,433,096 msg/sec AtomicQueueB, 1,s: 44,028,601 msg/sec AtomicQueueB, 1,i: 43,055,173 msg/sec AtomicQueueB, 2,s: 11,825,518 msg/sec AtomicQueueB, 2,i: 11,522,958 msg/sec AtomicQueueB, 3,s: 11,001,745 msg/sec AtomicQueueB, 3,i: 10,136,572 msg/sec AtomicQueueB, 4,s: 8,028,981 msg/sec AtomicQueueB, 4,i: 7,969,537 msg/sec AtomicQueueB, 5,s: 7,568,239 msg/sec AtomicQueueB, 5,i: 7,815,363 msg/sec AtomicQueueB, 6,s: 7,304,000 msg/sec AtomicQueueB, 6,i: 7,538,071 msg/sec AtomicQueueB, 7,s: 6,815,838 msg/sec AtomicQueueB, 7,i: 7,731,539 msg/sec AtomicQueueB, 8,s: 6,242,745 msg/sec AtomicQueueB, 8,i: 7,191,133 msg/sec OptimistAtomicQueue, 1,s: 796,520,955 msg/sec OptimistAtomicQueue, 1,i: 679,901,747 msg/sec OptimistAtomicQueue, 2,s: 32,185,906 msg/sec OptimistAtomicQueue, 2,i: 32,303,820 msg/sec OptimistAtomicQueue, 3,s: 36,650,487 msg/sec OptimistAtomicQueue, 3,i: 37,413,624 msg/sec OptimistAtomicQueue, 4,s: 39,295,449 msg/sec OptimistAtomicQueue, 4,i: 39,428,786 msg/sec OptimistAtomicQueue, 5,s: 42,501,755 msg/sec OptimistAtomicQueue, 5,i: 46,491,850 msg/sec OptimistAtomicQueue, 6,s: 42,651,987 msg/sec OptimistAtomicQueue, 6,i: 50,441,382 msg/sec OptimistAtomicQueue, 7,s: 45,222,803 msg/sec OptimistAtomicQueue, 7,i: 52,034,069 msg/sec OptimistAtomicQueue, 8,s: 46,543,993 msg/sec OptimistAtomicQueue, 8,i: 48,944,411 msg/sec OptimistAtomicQueueB, 1,s: 81,856,086 msg/sec OptimistAtomicQueueB, 1,i: 76,548,885 msg/sec OptimistAtomicQueueB, 2,s: 32,185,757 msg/sec OptimistAtomicQueueB, 2,i: 32,194,832 msg/sec OptimistAtomicQueueB, 3,s: 36,236,861 msg/sec OptimistAtomicQueueB, 3,i: 36,856,970 msg/sec OptimistAtomicQueueB, 4,s: 38,690,283 msg/sec OptimistAtomicQueueB, 4,i: 38,645,748 msg/sec OptimistAtomicQueueB, 5,s: 40,936,543 msg/sec OptimistAtomicQueueB, 5,i: 45,317,295 msg/sec OptimistAtomicQueueB, 6,s: 41,332,311 msg/sec OptimistAtomicQueueB, 6,i: 48,577,899 msg/sec OptimistAtomicQueueB, 7,s: 41,961,601 msg/sec OptimistAtomicQueueB, 7,i: 48,061,001 msg/sec OptimistAtomicQueueB, 8,s: 44,365,174 msg/sec OptimistAtomicQueueB, 8,i: 49,215,349 msg/sec AtomicQueue2, 1,s: 23,174,148 msg/sec AtomicQueue2, 1,i: 23,183,083 msg/sec AtomicQueue2, 2,s: 11,787,829 msg/sec AtomicQueue2, 2,i: 11,732,070 msg/sec AtomicQueue2, 3,s: 9,477,322 msg/sec AtomicQueue2, 3,i: 9,385,661 msg/sec AtomicQueue2, 4,s: 8,063,421 msg/sec AtomicQueue2, 4,i: 8,087,511 msg/sec AtomicQueue2, 5,s: 7,949,856 msg/sec AtomicQueue2, 5,i: 8,038,338 msg/sec AtomicQueue2, 6,s: 7,683,377 msg/sec AtomicQueue2, 6,i: 7,531,332 msg/sec AtomicQueue2, 7,s: 7,118,997 msg/sec AtomicQueue2, 7,i: 7,876,737 msg/sec AtomicQueue2, 8,s: 6,361,836 msg/sec AtomicQueue2, 8,i: 7,364,603 msg/sec AtomicQueueB2, 1,s: 36,152,428 msg/sec AtomicQueueB2, 1,i: 36,198,510 msg/sec AtomicQueueB2, 2,s: 11,432,109 msg/sec AtomicQueueB2, 2,i: 11,103,529 msg/sec AtomicQueueB2, 3,s: 9,641,906 msg/sec AtomicQueueB2, 3,i: 9,537,640 msg/sec AtomicQueueB2, 4,s: 7,929,034 msg/sec AtomicQueueB2, 4,i: 7,889,636 msg/sec AtomicQueueB2, 5,s: 7,504,209 msg/sec AtomicQueueB2, 5,i: 7,701,001 msg/sec AtomicQueueB2, 6,s: 7,251,647 msg/sec AtomicQueueB2, 6,i: 7,447,936 msg/sec AtomicQueueB2, 7,s: 6,912,922 msg/sec AtomicQueueB2, 7,i: 7,695,538 msg/sec AtomicQueueB2, 8,s: 6,280,708 msg/sec AtomicQueueB2, 8,i: 7,119,984 msg/sec OptimistAtomicQueue2, 1,s: 341,580,947 msg/sec OptimistAtomicQueue2, 1,i: 29,549,206 msg/sec OptimistAtomicQueue2, 2,s: 26,255,454 msg/sec OptimistAtomicQueue2, 2,i: 24,018,565 msg/sec OptimistAtomicQueue2, 3,s: 30,325,176 msg/sec OptimistAtomicQueue2, 3,i: 30,015,517 msg/sec OptimistAtomicQueue2, 4,s: 33,214,920 msg/sec OptimistAtomicQueue2, 4,i: 33,207,550 msg/sec OptimistAtomicQueue2, 5,s: 37,030,758 msg/sec OptimistAtomicQueue2, 5,i: 40,205,597 msg/sec OptimistAtomicQueue2, 6,s: 40,133,830 msg/sec OptimistAtomicQueue2, 6,i: 48,965,498 msg/sec OptimistAtomicQueue2, 7,s: 42,829,408 msg/sec OptimistAtomicQueue2, 7,i: 47,870,385 msg/sec OptimistAtomicQueue2, 8,s: 43,904,876 msg/sec OptimistAtomicQueue2, 8,i: 48,498,485 msg/sec OptimistAtomicQueueB2, 1,s: 75,636,989 msg/sec OptimistAtomicQueueB2, 1,i: 33,886,090 msg/sec OptimistAtomicQueueB2, 2,s: 27,170,406 msg/sec OptimistAtomicQueueB2, 2,i: 23,219,518 msg/sec OptimistAtomicQueueB2, 3,s: 30,194,677 msg/sec OptimistAtomicQueueB2, 3,i: 29,834,120 msg/sec OptimistAtomicQueueB2, 4,s: 33,394,277 msg/sec OptimistAtomicQueueB2, 4,i: 32,453,216 msg/sec OptimistAtomicQueueB2, 5,s: 34,839,563 msg/sec OptimistAtomicQueueB2, 5,i: 39,353,230 msg/sec OptimistAtomicQueueB2, 6,s: 37,741,593 msg/sec OptimistAtomicQueueB2, 6,i: 42,224,934 msg/sec OptimistAtomicQueueB2, 7,s: 40,128,355 msg/sec OptimistAtomicQueueB2, 7,i: 45,498,375 msg/sec OptimistAtomicQueueB2, 8,s: 42,187,894 msg/sec OptimistAtomicQueueB2, 8,i: 45,376,277 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000113 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000453 sec/round-trip tbb::spin_mutex: 0.000000287 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [175] 250m:28s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,539,239 msg/sec boost::lockfree::spsc_queue, 1,i: 69,720,101 msg/sec boost::lockfree::queue, 1,s: 6,947,896 msg/sec boost::lockfree::queue, 1,i: 6,967,772 msg/sec boost::lockfree::queue, 2,s: 7,563,060 msg/sec boost::lockfree::queue, 2,i: 7,573,326 msg/sec boost::lockfree::queue, 3,s: 7,429,963 msg/sec boost::lockfree::queue, 3,i: 7,602,006 msg/sec boost::lockfree::queue, 4,s: 6,417,609 msg/sec boost::lockfree::queue, 4,i: 6,793,599 msg/sec boost::lockfree::queue, 5,s: 6,396,559 msg/sec boost::lockfree::queue, 5,i: 6,457,862 msg/sec boost::lockfree::queue, 6,s: 5,986,210 msg/sec boost::lockfree::queue, 6,i: 6,071,746 msg/sec boost::lockfree::queue, 7,s: 5,906,346 msg/sec boost::lockfree::queue, 7,i: 5,920,942 msg/sec boost::lockfree::queue, 8,s: 5,500,256 msg/sec boost::lockfree::queue, 8,i: 5,588,930 msg/sec moodycamel::ReaderWriterQueue, 1,s: 508,285,175 msg/sec moodycamel::ReaderWriterQueue, 1,i: 492,924,196 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,161,655 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,866,679 msg/sec moodycamel::ConcurrentQueue, 2,s: 46,744,452 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,561,770 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,760,275 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,945,762 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,800,609 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,165,965 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,420,281 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,978,803 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,323,296 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,334,861 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,255,245 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,106,432 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,408,478 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,389,168 msg/sec pthread_spinlock, 1,s: 29,319,430 msg/sec pthread_spinlock, 1,i: 25,472,917 msg/sec pthread_spinlock, 2,s: 16,104,049 msg/sec pthread_spinlock, 2,i: 16,970,135 msg/sec pthread_spinlock, 3,s: 8,336,347 msg/sec pthread_spinlock, 3,i: 12,113,629 msg/sec pthread_spinlock, 4,s: 6,477,437 msg/sec pthread_spinlock, 4,i: 8,926,042 msg/sec pthread_spinlock, 5,s: 8,744,565 msg/sec pthread_spinlock, 5,i: 9,495,422 msg/sec pthread_spinlock, 6,s: 8,552,440 msg/sec pthread_spinlock, 6,i: 8,537,985 msg/sec pthread_spinlock, 7,s: 8,025,301 msg/sec pthread_spinlock, 7,i: 7,681,467 msg/sec pthread_spinlock, 8,s: 6,642,261 msg/sec pthread_spinlock, 8,i: 6,888,140 msg/sec std::mutex, 1,s: 7,732,990 msg/sec std::mutex, 1,i: 7,550,990 msg/sec std::mutex, 2,s: 4,966,885 msg/sec std::mutex, 2,i: 6,070,047 msg/sec std::mutex, 3,s: 6,018,384 msg/sec std::mutex, 3,i: 5,982,203 msg/sec std::mutex, 4,s: 6,287,037 msg/sec std::mutex, 4,i: 6,171,238 msg/sec std::mutex, 5,s: 6,078,223 msg/sec std::mutex, 5,i: 5,992,556 msg/sec std::mutex, 6,s: 5,871,573 msg/sec std::mutex, 6,i: 5,895,695 msg/sec std::mutex, 7,s: 5,811,799 msg/sec std::mutex, 7,i: 5,799,349 msg/sec std::mutex, 8,s: 5,706,673 msg/sec std::mutex, 8,i: 5,669,790 msg/sec tbb::spin_mutex, 1,s: 37,594,791 msg/sec tbb::spin_mutex, 1,i: 37,566,677 msg/sec tbb::spin_mutex, 2,s: 21,152,862 msg/sec tbb::spin_mutex, 2,i: 18,414,245 msg/sec tbb::spin_mutex, 3,s: 8,311,882 msg/sec tbb::spin_mutex, 3,i: 10,380,530 msg/sec tbb::spin_mutex, 4,s: 3,301,039 msg/sec tbb::spin_mutex, 4,i: 6,309,150 msg/sec tbb::spin_mutex, 5,s: 5,530,213 msg/sec tbb::spin_mutex, 5,i: 5,830,430 msg/sec tbb::spin_mutex, 6,s: 5,326,438 msg/sec tbb::spin_mutex, 6,i: 4,304,684 msg/sec tbb::spin_mutex, 7,s: 4,847,854 msg/sec tbb::spin_mutex, 7,i: 4,357,342 msg/sec tbb::spin_mutex, 8,s: 3,786,492 msg/sec tbb::spin_mutex, 8,i: 4,078,590 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,764,226 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,778,169 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,900,974 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,999,122 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,434,691 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,860,733 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,404,399 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,289,624 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,665,883 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,868,750 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,089,806 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,922,114 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,019,552 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,935,878 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,967,731 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,089,475 msg/sec xenium::michael_scott_queue, 1,s: 10,134,533 msg/sec xenium::michael_scott_queue, 1,i: 9,994,267 msg/sec xenium::michael_scott_queue, 2,s: 8,547,946 msg/sec xenium::michael_scott_queue, 2,i: 8,590,772 msg/sec xenium::michael_scott_queue, 3,s: 7,349,346 msg/sec xenium::michael_scott_queue, 3,i: 7,533,572 msg/sec xenium::michael_scott_queue, 4,s: 6,315,668 msg/sec xenium::michael_scott_queue, 4,i: 6,441,210 msg/sec xenium::michael_scott_queue, 5,s: 6,307,257 msg/sec xenium::michael_scott_queue, 5,i: 6,601,004 msg/sec xenium::michael_scott_queue, 6,s: 6,490,930 msg/sec xenium::michael_scott_queue, 6,i: 6,930,508 msg/sec xenium::michael_scott_queue, 7,s: 6,325,377 msg/sec xenium::michael_scott_queue, 7,i: 6,591,742 msg/sec xenium::michael_scott_queue, 8,s: 6,027,115 msg/sec xenium::michael_scott_queue, 8,i: 6,106,161 msg/sec xenium::ramalhete_queue, 1,s: 31,672,667 msg/sec xenium::ramalhete_queue, 1,i: 32,073,359 msg/sec xenium::ramalhete_queue, 2,s: 24,326,474 msg/sec xenium::ramalhete_queue, 2,i: 23,376,547 msg/sec xenium::ramalhete_queue, 3,s: 29,292,896 msg/sec xenium::ramalhete_queue, 3,i: 28,512,607 msg/sec xenium::ramalhete_queue, 4,s: 33,692,489 msg/sec xenium::ramalhete_queue, 4,i: 33,357,860 msg/sec xenium::ramalhete_queue, 5,s: 31,858,556 msg/sec xenium::ramalhete_queue, 5,i: 36,162,218 msg/sec xenium::ramalhete_queue, 6,s: 34,003,745 msg/sec xenium::ramalhete_queue, 6,i: 38,887,346 msg/sec xenium::ramalhete_queue, 7,s: 35,078,727 msg/sec xenium::ramalhete_queue, 7,i: 40,400,393 msg/sec xenium::ramalhete_queue, 8,s: 35,351,614 msg/sec xenium::ramalhete_queue, 8,i: 44,516,483 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,400,129 msg/sec xenium::vyukov_bounded_queue, 1,i: 71,336,603 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,877,664 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,331,520 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,576,249 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,156,564 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,557,934 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,208,377 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,029,398 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,303,987 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,001,275 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,477,360 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,204,928 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,884,127 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,398,288 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,218,857 msg/sec AtomicQueue, 1,s: 62,676,634 msg/sec AtomicQueue, 1,i: 56,663,697 msg/sec AtomicQueue, 2,s: 12,127,476 msg/sec AtomicQueue, 2,i: 11,717,397 msg/sec AtomicQueue, 3,s: 10,810,701 msg/sec AtomicQueue, 3,i: 9,928,880 msg/sec AtomicQueue, 4,s: 8,192,737 msg/sec AtomicQueue, 4,i: 8,183,417 msg/sec AtomicQueue, 5,s: 8,031,647 msg/sec AtomicQueue, 5,i: 8,071,309 msg/sec AtomicQueue, 6,s: 7,855,909 msg/sec AtomicQueue, 6,i: 7,613,703 msg/sec AtomicQueue, 7,s: 7,096,182 msg/sec AtomicQueue, 7,i: 7,987,989 msg/sec AtomicQueue, 8,s: 6,305,537 msg/sec AtomicQueue, 8,i: 7,437,781 msg/sec AtomicQueueB, 1,s: 43,930,094 msg/sec AtomicQueueB, 1,i: 42,994,851 msg/sec AtomicQueueB, 2,s: 11,733,290 msg/sec AtomicQueueB, 2,i: 11,431,961 msg/sec AtomicQueueB, 3,s: 10,895,191 msg/sec AtomicQueueB, 3,i: 10,080,967 msg/sec AtomicQueueB, 4,s: 8,051,873 msg/sec AtomicQueueB, 4,i: 8,022,673 msg/sec AtomicQueueB, 5,s: 7,486,472 msg/sec AtomicQueueB, 5,i: 7,818,364 msg/sec AtomicQueueB, 6,s: 7,216,429 msg/sec AtomicQueueB, 6,i: 7,515,760 msg/sec AtomicQueueB, 7,s: 6,869,535 msg/sec AtomicQueueB, 7,i: 7,729,946 msg/sec AtomicQueueB, 8,s: 6,249,437 msg/sec AtomicQueueB, 8,i: 7,105,389 msg/sec OptimistAtomicQueue, 1,s: 705,406,784 msg/sec OptimistAtomicQueue, 1,i: 661,600,023 msg/sec OptimistAtomicQueue, 2,s: 32,639,986 msg/sec OptimistAtomicQueue, 2,i: 32,205,114 msg/sec OptimistAtomicQueue, 3,s: 36,620,071 msg/sec OptimistAtomicQueue, 3,i: 37,350,981 msg/sec OptimistAtomicQueue, 4,s: 39,297,350 msg/sec OptimistAtomicQueue, 4,i: 39,375,222 msg/sec OptimistAtomicQueue, 5,s: 41,709,284 msg/sec OptimistAtomicQueue, 5,i: 47,061,006 msg/sec OptimistAtomicQueue, 6,s: 42,610,899 msg/sec OptimistAtomicQueue, 6,i: 50,464,649 msg/sec OptimistAtomicQueue, 7,s: 43,989,655 msg/sec OptimistAtomicQueue, 7,i: 53,027,284 msg/sec OptimistAtomicQueue, 8,s: 46,429,264 msg/sec OptimistAtomicQueue, 8,i: 49,950,527 msg/sec OptimistAtomicQueueB, 1,s: 143,922,865 msg/sec OptimistAtomicQueueB, 1,i: 102,453,355 msg/sec OptimistAtomicQueueB, 2,s: 32,140,652 msg/sec OptimistAtomicQueueB, 2,i: 32,235,869 msg/sec OptimistAtomicQueueB, 3,s: 36,293,098 msg/sec OptimistAtomicQueueB, 3,i: 36,911,059 msg/sec OptimistAtomicQueueB, 4,s: 38,718,609 msg/sec OptimistAtomicQueueB, 4,i: 38,767,200 msg/sec OptimistAtomicQueueB, 5,s: 40,407,680 msg/sec OptimistAtomicQueueB, 5,i: 45,380,964 msg/sec OptimistAtomicQueueB, 6,s: 41,173,563 msg/sec OptimistAtomicQueueB, 6,i: 49,066,896 msg/sec OptimistAtomicQueueB, 7,s: 41,864,106 msg/sec OptimistAtomicQueueB, 7,i: 51,416,093 msg/sec OptimistAtomicQueueB, 8,s: 44,380,975 msg/sec OptimistAtomicQueueB, 8,i: 47,733,889 msg/sec AtomicQueue2, 1,s: 23,150,579 msg/sec AtomicQueue2, 1,i: 23,152,157 msg/sec AtomicQueue2, 2,s: 11,708,667 msg/sec AtomicQueue2, 2,i: 11,416,448 msg/sec AtomicQueue2, 3,s: 9,667,061 msg/sec AtomicQueue2, 3,i: 9,570,823 msg/sec AtomicQueue2, 4,s: 8,048,714 msg/sec AtomicQueue2, 4,i: 8,030,336 msg/sec AtomicQueue2, 5,s: 7,932,460 msg/sec AtomicQueue2, 5,i: 8,019,478 msg/sec AtomicQueue2, 6,s: 7,865,485 msg/sec AtomicQueue2, 6,i: 7,529,929 msg/sec AtomicQueue2, 7,s: 7,106,512 msg/sec AtomicQueue2, 7,i: 7,860,914 msg/sec AtomicQueue2, 8,s: 6,398,000 msg/sec AtomicQueue2, 8,i: 7,340,639 msg/sec AtomicQueueB2, 1,s: 35,974,247 msg/sec AtomicQueueB2, 1,i: 32,618,099 msg/sec AtomicQueueB2, 2,s: 11,474,533 msg/sec AtomicQueueB2, 2,i: 11,104,339 msg/sec AtomicQueueB2, 3,s: 9,555,848 msg/sec AtomicQueueB2, 3,i: 9,519,717 msg/sec AtomicQueueB2, 4,s: 7,949,753 msg/sec AtomicQueueB2, 4,i: 7,810,803 msg/sec AtomicQueueB2, 5,s: 7,470,436 msg/sec AtomicQueueB2, 5,i: 7,677,499 msg/sec AtomicQueueB2, 6,s: 7,372,379 msg/sec AtomicQueueB2, 6,i: 7,431,879 msg/sec AtomicQueueB2, 7,s: 6,760,542 msg/sec AtomicQueueB2, 7,i: 7,702,842 msg/sec AtomicQueueB2, 8,s: 6,264,129 msg/sec AtomicQueueB2, 8,i: 7,070,858 msg/sec OptimistAtomicQueue2, 1,s: 493,509,364 msg/sec OptimistAtomicQueue2, 1,i: 40,560,354 msg/sec OptimistAtomicQueue2, 2,s: 24,888,740 msg/sec OptimistAtomicQueue2, 2,i: 24,011,135 msg/sec OptimistAtomicQueue2, 3,s: 30,332,627 msg/sec OptimistAtomicQueue2, 3,i: 30,006,824 msg/sec OptimistAtomicQueue2, 4,s: 33,191,849 msg/sec OptimistAtomicQueue2, 4,i: 35,369,727 msg/sec OptimistAtomicQueue2, 5,s: 36,969,615 msg/sec OptimistAtomicQueue2, 5,i: 40,190,091 msg/sec OptimistAtomicQueue2, 6,s: 40,035,074 msg/sec OptimistAtomicQueue2, 6,i: 49,224,657 msg/sec OptimistAtomicQueue2, 7,s: 42,675,796 msg/sec OptimistAtomicQueue2, 7,i: 51,759,329 msg/sec OptimistAtomicQueue2, 8,s: 44,087,512 msg/sec OptimistAtomicQueue2, 8,i: 48,851,789 msg/sec OptimistAtomicQueueB2, 1,s: 75,796,990 msg/sec OptimistAtomicQueueB2, 1,i: 67,979,898 msg/sec OptimistAtomicQueueB2, 2,s: 28,875,183 msg/sec OptimistAtomicQueueB2, 2,i: 23,151,955 msg/sec OptimistAtomicQueueB2, 3,s: 33,120,312 msg/sec OptimistAtomicQueueB2, 3,i: 29,721,823 msg/sec OptimistAtomicQueueB2, 4,s: 33,173,457 msg/sec OptimistAtomicQueueB2, 4,i: 33,008,452 msg/sec OptimistAtomicQueueB2, 5,s: 34,557,576 msg/sec OptimistAtomicQueueB2, 5,i: 39,185,687 msg/sec OptimistAtomicQueueB2, 6,s: 37,572,893 msg/sec OptimistAtomicQueueB2, 6,i: 42,474,947 msg/sec OptimistAtomicQueueB2, 7,s: 40,792,412 msg/sec OptimistAtomicQueueB2, 7,i: 43,115,992 msg/sec OptimistAtomicQueueB2, 8,s: 42,033,793 msg/sec OptimistAtomicQueueB2, 8,i: 45,892,429 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000129 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000268 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [176] 249m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,570,245 msg/sec boost::lockfree::spsc_queue, 1,i: 70,099,814 msg/sec boost::lockfree::queue, 1,s: 7,864,552 msg/sec boost::lockfree::queue, 1,i: 7,887,010 msg/sec boost::lockfree::queue, 2,s: 7,587,033 msg/sec boost::lockfree::queue, 2,i: 7,470,075 msg/sec boost::lockfree::queue, 3,s: 7,347,936 msg/sec boost::lockfree::queue, 3,i: 7,504,453 msg/sec boost::lockfree::queue, 4,s: 6,419,713 msg/sec boost::lockfree::queue, 4,i: 6,860,147 msg/sec boost::lockfree::queue, 5,s: 6,443,312 msg/sec boost::lockfree::queue, 5,i: 6,479,497 msg/sec boost::lockfree::queue, 6,s: 6,044,061 msg/sec boost::lockfree::queue, 6,i: 6,082,296 msg/sec boost::lockfree::queue, 7,s: 5,872,667 msg/sec boost::lockfree::queue, 7,i: 6,056,897 msg/sec boost::lockfree::queue, 8,s: 5,521,239 msg/sec boost::lockfree::queue, 8,i: 5,652,380 msg/sec moodycamel::ReaderWriterQueue, 1,s: 465,875,493 msg/sec moodycamel::ReaderWriterQueue, 1,i: 491,764,602 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,598,346 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,764,566 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,602,100 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,742,829 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,664,949 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,618,725 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,243,390 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,616,457 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,275,783 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,150,418 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,772,741 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,604,752 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,986,887 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,319,609 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,260,079 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,614,873 msg/sec pthread_spinlock, 1,s: 28,692,884 msg/sec pthread_spinlock, 1,i: 25,297,356 msg/sec pthread_spinlock, 2,s: 16,015,257 msg/sec pthread_spinlock, 2,i: 17,248,509 msg/sec pthread_spinlock, 3,s: 8,400,497 msg/sec pthread_spinlock, 3,i: 12,005,888 msg/sec pthread_spinlock, 4,s: 6,489,934 msg/sec pthread_spinlock, 4,i: 9,145,729 msg/sec pthread_spinlock, 5,s: 8,598,312 msg/sec pthread_spinlock, 5,i: 10,318,270 msg/sec pthread_spinlock, 6,s: 8,323,627 msg/sec pthread_spinlock, 6,i: 8,925,504 msg/sec pthread_spinlock, 7,s: 7,518,209 msg/sec pthread_spinlock, 7,i: 7,672,221 msg/sec pthread_spinlock, 8,s: 6,900,810 msg/sec pthread_spinlock, 8,i: 6,857,878 msg/sec std::mutex, 1,s: 7,462,683 msg/sec std::mutex, 1,i: 7,205,698 msg/sec std::mutex, 2,s: 4,917,995 msg/sec std::mutex, 2,i: 5,171,364 msg/sec std::mutex, 3,s: 4,991,121 msg/sec std::mutex, 3,i: 6,027,914 msg/sec std::mutex, 4,s: 6,271,190 msg/sec std::mutex, 4,i: 6,221,905 msg/sec std::mutex, 5,s: 6,036,283 msg/sec std::mutex, 5,i: 5,575,937 msg/sec std::mutex, 6,s: 5,934,486 msg/sec std::mutex, 6,i: 5,957,444 msg/sec std::mutex, 7,s: 5,806,256 msg/sec std::mutex, 7,i: 5,793,903 msg/sec std::mutex, 8,s: 5,727,057 msg/sec std::mutex, 8,i: 5,677,334 msg/sec tbb::spin_mutex, 1,s: 37,817,176 msg/sec tbb::spin_mutex, 1,i: 37,626,416 msg/sec tbb::spin_mutex, 2,s: 21,133,547 msg/sec tbb::spin_mutex, 2,i: 18,380,028 msg/sec tbb::spin_mutex, 3,s: 7,359,273 msg/sec tbb::spin_mutex, 3,i: 10,581,966 msg/sec tbb::spin_mutex, 4,s: 3,058,730 msg/sec tbb::spin_mutex, 4,i: 6,349,307 msg/sec tbb::spin_mutex, 5,s: 5,505,841 msg/sec tbb::spin_mutex, 5,i: 5,777,217 msg/sec tbb::spin_mutex, 6,s: 5,276,108 msg/sec tbb::spin_mutex, 6,i: 4,416,582 msg/sec tbb::spin_mutex, 7,s: 4,841,210 msg/sec tbb::spin_mutex, 7,i: 4,336,342 msg/sec tbb::spin_mutex, 8,s: 4,269,102 msg/sec tbb::spin_mutex, 8,i: 4,091,427 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,577,976 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,544,917 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,787,832 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,177,101 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,338,124 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,672,886 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,116,069 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,422,818 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,638,057 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,689,775 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,911,952 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,930,722 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,821,439 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,201,611 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,632,856 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,301,478 msg/sec xenium::michael_scott_queue, 1,s: 9,361,690 msg/sec xenium::michael_scott_queue, 1,i: 9,385,492 msg/sec xenium::michael_scott_queue, 2,s: 8,482,823 msg/sec xenium::michael_scott_queue, 2,i: 8,520,327 msg/sec xenium::michael_scott_queue, 3,s: 7,251,620 msg/sec xenium::michael_scott_queue, 3,i: 7,616,987 msg/sec xenium::michael_scott_queue, 4,s: 6,334,249 msg/sec xenium::michael_scott_queue, 4,i: 6,338,500 msg/sec xenium::michael_scott_queue, 5,s: 6,285,502 msg/sec xenium::michael_scott_queue, 5,i: 6,606,021 msg/sec xenium::michael_scott_queue, 6,s: 6,540,216 msg/sec xenium::michael_scott_queue, 6,i: 7,045,475 msg/sec xenium::michael_scott_queue, 7,s: 6,324,372 msg/sec xenium::michael_scott_queue, 7,i: 6,494,139 msg/sec xenium::michael_scott_queue, 8,s: 5,973,695 msg/sec xenium::michael_scott_queue, 8,i: 6,203,833 msg/sec xenium::ramalhete_queue, 1,s: 31,510,976 msg/sec xenium::ramalhete_queue, 1,i: 31,886,845 msg/sec xenium::ramalhete_queue, 2,s: 23,535,039 msg/sec xenium::ramalhete_queue, 2,i: 23,346,447 msg/sec xenium::ramalhete_queue, 3,s: 29,192,770 msg/sec xenium::ramalhete_queue, 3,i: 28,503,939 msg/sec xenium::ramalhete_queue, 4,s: 33,937,218 msg/sec xenium::ramalhete_queue, 4,i: 33,520,354 msg/sec xenium::ramalhete_queue, 5,s: 32,101,581 msg/sec xenium::ramalhete_queue, 5,i: 35,975,588 msg/sec xenium::ramalhete_queue, 6,s: 33,960,470 msg/sec xenium::ramalhete_queue, 6,i: 39,073,304 msg/sec xenium::ramalhete_queue, 7,s: 35,089,449 msg/sec xenium::ramalhete_queue, 7,i: 41,671,831 msg/sec xenium::ramalhete_queue, 8,s: 35,467,840 msg/sec xenium::ramalhete_queue, 8,i: 43,749,378 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,859,544 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,609,471 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,705,069 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,604,643 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,717,393 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,756,960 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,517,158 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,115,383 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,815,642 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,271,397 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,978,912 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,292,057 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,312,057 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,897,965 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,403,814 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,227,749 msg/sec AtomicQueue, 1,s: 58,199,867 msg/sec AtomicQueue, 1,i: 56,848,485 msg/sec AtomicQueue, 2,s: 12,257,554 msg/sec AtomicQueue, 2,i: 11,702,766 msg/sec AtomicQueue, 3,s: 10,733,464 msg/sec AtomicQueue, 3,i: 9,951,345 msg/sec AtomicQueue, 4,s: 8,170,463 msg/sec AtomicQueue, 4,i: 8,199,295 msg/sec AtomicQueue, 5,s: 8,021,641 msg/sec AtomicQueue, 5,i: 8,085,489 msg/sec AtomicQueue, 6,s: 7,993,441 msg/sec AtomicQueue, 6,i: 7,604,614 msg/sec AtomicQueue, 7,s: 7,096,506 msg/sec AtomicQueue, 7,i: 7,987,159 msg/sec AtomicQueue, 8,s: 6,324,114 msg/sec AtomicQueue, 8,i: 7,468,422 msg/sec AtomicQueueB, 1,s: 43,922,689 msg/sec AtomicQueueB, 1,i: 43,553,521 msg/sec AtomicQueueB, 2,s: 11,700,619 msg/sec AtomicQueueB, 2,i: 11,459,170 msg/sec AtomicQueueB, 3,s: 10,883,761 msg/sec AtomicQueueB, 3,i: 10,280,299 msg/sec AtomicQueueB, 4,s: 8,069,102 msg/sec AtomicQueueB, 4,i: 8,003,402 msg/sec AtomicQueueB, 5,s: 7,678,716 msg/sec AtomicQueueB, 5,i: 7,895,703 msg/sec AtomicQueueB, 6,s: 7,329,009 msg/sec AtomicQueueB, 6,i: 7,564,356 msg/sec AtomicQueueB, 7,s: 6,867,693 msg/sec AtomicQueueB, 7,i: 7,737,213 msg/sec AtomicQueueB, 8,s: 6,294,967 msg/sec AtomicQueueB, 8,i: 7,197,677 msg/sec OptimistAtomicQueue, 1,s: 747,936,163 msg/sec OptimistAtomicQueue, 1,i: 529,071,136 msg/sec OptimistAtomicQueue, 2,s: 32,569,387 msg/sec OptimistAtomicQueue, 2,i: 32,616,367 msg/sec OptimistAtomicQueue, 3,s: 36,684,943 msg/sec OptimistAtomicQueue, 3,i: 37,426,974 msg/sec OptimistAtomicQueue, 4,s: 39,282,913 msg/sec OptimistAtomicQueue, 4,i: 39,420,363 msg/sec OptimistAtomicQueue, 5,s: 42,397,355 msg/sec OptimistAtomicQueue, 5,i: 46,256,158 msg/sec OptimistAtomicQueue, 6,s: 41,918,480 msg/sec OptimistAtomicQueue, 6,i: 49,787,896 msg/sec OptimistAtomicQueue, 7,s: 45,030,714 msg/sec OptimistAtomicQueue, 7,i: 52,920,173 msg/sec OptimistAtomicQueue, 8,s: 46,494,730 msg/sec OptimistAtomicQueue, 8,i: 49,517,892 msg/sec OptimistAtomicQueueB, 1,s: 95,234,161 msg/sec OptimistAtomicQueueB, 1,i: 77,507,617 msg/sec OptimistAtomicQueueB, 2,s: 31,914,818 msg/sec OptimistAtomicQueueB, 2,i: 32,216,117 msg/sec OptimistAtomicQueueB, 3,s: 36,231,793 msg/sec OptimistAtomicQueueB, 3,i: 37,022,675 msg/sec OptimistAtomicQueueB, 4,s: 38,619,246 msg/sec OptimistAtomicQueueB, 4,i: 38,570,118 msg/sec OptimistAtomicQueueB, 5,s: 41,234,042 msg/sec OptimistAtomicQueueB, 5,i: 45,865,399 msg/sec OptimistAtomicQueueB, 6,s: 41,206,941 msg/sec OptimistAtomicQueueB, 6,i: 49,082,637 msg/sec OptimistAtomicQueueB, 7,s: 42,308,918 msg/sec OptimistAtomicQueueB, 7,i: 51,412,269 msg/sec OptimistAtomicQueueB, 8,s: 44,226,149 msg/sec OptimistAtomicQueueB, 8,i: 48,114,713 msg/sec AtomicQueue2, 1,s: 23,102,893 msg/sec AtomicQueue2, 1,i: 22,864,246 msg/sec AtomicQueue2, 2,s: 11,933,578 msg/sec AtomicQueue2, 2,i: 11,644,711 msg/sec AtomicQueue2, 3,s: 9,715,393 msg/sec AtomicQueue2, 3,i: 9,391,050 msg/sec AtomicQueue2, 4,s: 8,085,113 msg/sec AtomicQueue2, 4,i: 8,081,458 msg/sec AtomicQueue2, 5,s: 7,903,088 msg/sec AtomicQueue2, 5,i: 8,025,886 msg/sec AtomicQueue2, 6,s: 7,594,195 msg/sec AtomicQueue2, 6,i: 7,550,541 msg/sec AtomicQueue2, 7,s: 7,107,521 msg/sec AtomicQueue2, 7,i: 7,891,992 msg/sec AtomicQueue2, 8,s: 6,382,930 msg/sec AtomicQueue2, 8,i: 7,363,151 msg/sec AtomicQueueB2, 1,s: 36,324,254 msg/sec AtomicQueueB2, 1,i: 36,223,330 msg/sec AtomicQueueB2, 2,s: 11,429,062 msg/sec AtomicQueueB2, 2,i: 11,139,649 msg/sec AtomicQueueB2, 3,s: 9,516,273 msg/sec AtomicQueueB2, 3,i: 9,596,701 msg/sec AtomicQueueB2, 4,s: 7,960,301 msg/sec AtomicQueueB2, 4,i: 7,884,683 msg/sec AtomicQueueB2, 5,s: 7,358,091 msg/sec AtomicQueueB2, 5,i: 7,719,699 msg/sec AtomicQueueB2, 6,s: 7,269,265 msg/sec AtomicQueueB2, 6,i: 7,432,854 msg/sec AtomicQueueB2, 7,s: 6,902,857 msg/sec AtomicQueueB2, 7,i: 7,712,830 msg/sec AtomicQueueB2, 8,s: 6,291,771 msg/sec AtomicQueueB2, 8,i: 7,113,142 msg/sec OptimistAtomicQueue2, 1,s: 27,415,690 msg/sec OptimistAtomicQueue2, 1,i: 25,703,634 msg/sec OptimistAtomicQueue2, 2,s: 24,393,023 msg/sec OptimistAtomicQueue2, 2,i: 23,807,154 msg/sec OptimistAtomicQueue2, 3,s: 30,226,827 msg/sec OptimistAtomicQueue2, 3,i: 29,851,372 msg/sec OptimistAtomicQueue2, 4,s: 33,276,540 msg/sec OptimistAtomicQueue2, 4,i: 33,188,283 msg/sec OptimistAtomicQueue2, 5,s: 37,080,008 msg/sec OptimistAtomicQueue2, 5,i: 40,663,302 msg/sec OptimistAtomicQueue2, 6,s: 40,278,065 msg/sec OptimistAtomicQueue2, 6,i: 49,245,656 msg/sec OptimistAtomicQueue2, 7,s: 42,911,148 msg/sec OptimistAtomicQueue2, 7,i: 51,762,942 msg/sec OptimistAtomicQueue2, 8,s: 44,180,946 msg/sec OptimistAtomicQueue2, 8,i: 49,016,686 msg/sec OptimistAtomicQueueB2, 1,s: 78,234,370 msg/sec OptimistAtomicQueueB2, 1,i: 33,880,969 msg/sec OptimistAtomicQueueB2, 2,s: 28,600,238 msg/sec OptimistAtomicQueueB2, 2,i: 23,234,263 msg/sec OptimistAtomicQueueB2, 3,s: 29,809,396 msg/sec OptimistAtomicQueueB2, 3,i: 29,245,563 msg/sec OptimistAtomicQueueB2, 4,s: 32,982,644 msg/sec OptimistAtomicQueueB2, 4,i: 32,361,259 msg/sec OptimistAtomicQueueB2, 5,s: 34,700,235 msg/sec OptimistAtomicQueueB2, 5,i: 39,027,056 msg/sec OptimistAtomicQueueB2, 6,s: 37,727,524 msg/sec OptimistAtomicQueueB2, 6,i: 42,414,655 msg/sec OptimistAtomicQueueB2, 7,s: 40,784,082 msg/sec OptimistAtomicQueueB2, 7,i: 43,282,766 msg/sec OptimistAtomicQueueB2, 8,s: 42,309,861 msg/sec OptimistAtomicQueueB2, 8,i: 45,193,645 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000124 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000279 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [177] 247m:50s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,023,159 msg/sec boost::lockfree::spsc_queue, 1,i: 68,048,773 msg/sec boost::lockfree::queue, 1,s: 6,773,087 msg/sec boost::lockfree::queue, 1,i: 6,893,725 msg/sec boost::lockfree::queue, 2,s: 7,626,360 msg/sec boost::lockfree::queue, 2,i: 7,514,927 msg/sec boost::lockfree::queue, 3,s: 7,342,955 msg/sec boost::lockfree::queue, 3,i: 7,512,164 msg/sec boost::lockfree::queue, 4,s: 6,420,712 msg/sec boost::lockfree::queue, 4,i: 6,824,297 msg/sec boost::lockfree::queue, 5,s: 6,390,954 msg/sec boost::lockfree::queue, 5,i: 6,471,268 msg/sec boost::lockfree::queue, 6,s: 5,992,713 msg/sec boost::lockfree::queue, 6,i: 6,086,734 msg/sec boost::lockfree::queue, 7,s: 5,970,365 msg/sec boost::lockfree::queue, 7,i: 5,906,302 msg/sec boost::lockfree::queue, 8,s: 5,478,218 msg/sec boost::lockfree::queue, 8,i: 5,592,304 msg/sec moodycamel::ReaderWriterQueue, 1,s: 57,339,652 msg/sec moodycamel::ReaderWriterQueue, 1,i: 56,512,684 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,591,978 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,730,177 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,566,355 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,854,167 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,805,557 msg/sec moodycamel::ConcurrentQueue, 3,i: 41,149,359 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,069,937 msg/sec moodycamel::ConcurrentQueue, 4,i: 41,799,136 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,173,483 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,166,176 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,361,502 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,546,425 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,883,643 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,737,643 msg/sec moodycamel::ConcurrentQueue, 8,s: 50,515,174 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,227,901 msg/sec pthread_spinlock, 1,s: 29,932,694 msg/sec pthread_spinlock, 1,i: 26,475,182 msg/sec pthread_spinlock, 2,s: 15,629,538 msg/sec pthread_spinlock, 2,i: 16,731,256 msg/sec pthread_spinlock, 3,s: 8,321,538 msg/sec pthread_spinlock, 3,i: 12,028,603 msg/sec pthread_spinlock, 4,s: 6,524,430 msg/sec pthread_spinlock, 4,i: 8,948,450 msg/sec pthread_spinlock, 5,s: 8,647,254 msg/sec pthread_spinlock, 5,i: 9,521,478 msg/sec pthread_spinlock, 6,s: 8,359,081 msg/sec pthread_spinlock, 6,i: 8,481,165 msg/sec pthread_spinlock, 7,s: 7,840,022 msg/sec pthread_spinlock, 7,i: 7,757,500 msg/sec pthread_spinlock, 8,s: 6,735,588 msg/sec pthread_spinlock, 8,i: 7,222,145 msg/sec std::mutex, 1,s: 6,953,242 msg/sec std::mutex, 1,i: 6,682,769 msg/sec std::mutex, 2,s: 5,302,429 msg/sec std::mutex, 2,i: 5,319,491 msg/sec std::mutex, 3,s: 5,578,904 msg/sec std::mutex, 3,i: 5,573,039 msg/sec std::mutex, 4,s: 6,220,009 msg/sec std::mutex, 4,i: 6,379,290 msg/sec std::mutex, 5,s: 6,015,743 msg/sec std::mutex, 5,i: 5,609,530 msg/sec std::mutex, 6,s: 5,959,372 msg/sec std::mutex, 6,i: 5,946,228 msg/sec std::mutex, 7,s: 5,893,560 msg/sec std::mutex, 7,i: 5,837,732 msg/sec std::mutex, 8,s: 5,771,855 msg/sec std::mutex, 8,i: 5,722,295 msg/sec tbb::spin_mutex, 1,s: 37,661,481 msg/sec tbb::spin_mutex, 1,i: 37,620,818 msg/sec tbb::spin_mutex, 2,s: 21,230,565 msg/sec tbb::spin_mutex, 2,i: 18,408,750 msg/sec tbb::spin_mutex, 3,s: 7,849,108 msg/sec tbb::spin_mutex, 3,i: 11,057,376 msg/sec tbb::spin_mutex, 4,s: 3,119,088 msg/sec tbb::spin_mutex, 4,i: 6,348,425 msg/sec tbb::spin_mutex, 5,s: 5,421,066 msg/sec tbb::spin_mutex, 5,i: 5,689,112 msg/sec tbb::spin_mutex, 6,s: 5,337,533 msg/sec tbb::spin_mutex, 6,i: 4,330,967 msg/sec tbb::spin_mutex, 7,s: 4,501,081 msg/sec tbb::spin_mutex, 7,i: 4,353,925 msg/sec tbb::spin_mutex, 8,s: 3,867,849 msg/sec tbb::spin_mutex, 8,i: 4,122,215 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,578,567 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,059,941 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,027,297 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,135,581 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,297,277 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,392,783 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,995,870 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,190,053 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,571,520 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,382,700 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,602,236 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,738,044 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,567,734 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,096,156 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,743,366 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,956,447 msg/sec xenium::michael_scott_queue, 1,s: 9,361,402 msg/sec xenium::michael_scott_queue, 1,i: 9,359,003 msg/sec xenium::michael_scott_queue, 2,s: 8,509,443 msg/sec xenium::michael_scott_queue, 2,i: 8,512,268 msg/sec xenium::michael_scott_queue, 3,s: 7,235,709 msg/sec xenium::michael_scott_queue, 3,i: 7,659,483 msg/sec xenium::michael_scott_queue, 4,s: 6,244,601 msg/sec xenium::michael_scott_queue, 4,i: 6,334,378 msg/sec xenium::michael_scott_queue, 5,s: 6,306,860 msg/sec xenium::michael_scott_queue, 5,i: 6,670,215 msg/sec xenium::michael_scott_queue, 6,s: 6,467,308 msg/sec xenium::michael_scott_queue, 6,i: 6,736,901 msg/sec xenium::michael_scott_queue, 7,s: 6,329,150 msg/sec xenium::michael_scott_queue, 7,i: 6,434,597 msg/sec xenium::michael_scott_queue, 8,s: 6,057,533 msg/sec xenium::michael_scott_queue, 8,i: 6,074,945 msg/sec xenium::ramalhete_queue, 1,s: 32,970,392 msg/sec xenium::ramalhete_queue, 1,i: 31,424,480 msg/sec xenium::ramalhete_queue, 2,s: 23,549,848 msg/sec xenium::ramalhete_queue, 2,i: 23,349,279 msg/sec xenium::ramalhete_queue, 3,s: 29,218,749 msg/sec xenium::ramalhete_queue, 3,i: 28,468,958 msg/sec xenium::ramalhete_queue, 4,s: 33,828,982 msg/sec xenium::ramalhete_queue, 4,i: 33,504,904 msg/sec xenium::ramalhete_queue, 5,s: 31,929,878 msg/sec xenium::ramalhete_queue, 5,i: 35,867,698 msg/sec xenium::ramalhete_queue, 6,s: 33,995,712 msg/sec xenium::ramalhete_queue, 6,i: 39,507,307 msg/sec xenium::ramalhete_queue, 7,s: 35,108,852 msg/sec xenium::ramalhete_queue, 7,i: 41,421,005 msg/sec xenium::ramalhete_queue, 8,s: 35,533,720 msg/sec xenium::ramalhete_queue, 8,i: 43,894,574 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,930,916 msg/sec xenium::vyukov_bounded_queue, 1,i: 98,391,065 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,778,696 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,704,376 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,521,980 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,807,169 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,547,146 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,389,743 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,229,683 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,254,862 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,786,831 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,712,915 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,232,127 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,016,009 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,406,976 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,237,579 msg/sec AtomicQueue, 1,s: 57,941,140 msg/sec AtomicQueue, 1,i: 56,738,427 msg/sec AtomicQueue, 2,s: 12,297,846 msg/sec AtomicQueue, 2,i: 11,736,576 msg/sec AtomicQueue, 3,s: 10,732,360 msg/sec AtomicQueue, 3,i: 9,987,293 msg/sec AtomicQueue, 4,s: 8,165,246 msg/sec AtomicQueue, 4,i: 8,214,291 msg/sec AtomicQueue, 5,s: 8,065,615 msg/sec AtomicQueue, 5,i: 8,047,942 msg/sec AtomicQueue, 6,s: 7,921,397 msg/sec AtomicQueue, 6,i: 7,612,629 msg/sec AtomicQueue, 7,s: 7,202,314 msg/sec AtomicQueue, 7,i: 7,983,760 msg/sec AtomicQueue, 8,s: 6,371,288 msg/sec AtomicQueue, 8,i: 7,395,622 msg/sec AtomicQueueB, 1,s: 43,976,612 msg/sec AtomicQueueB, 1,i: 43,097,428 msg/sec AtomicQueueB, 2,s: 11,736,380 msg/sec AtomicQueueB, 2,i: 11,473,585 msg/sec AtomicQueueB, 3,s: 11,051,915 msg/sec AtomicQueueB, 3,i: 10,235,739 msg/sec AtomicQueueB, 4,s: 8,061,567 msg/sec AtomicQueueB, 4,i: 8,058,181 msg/sec AtomicQueueB, 5,s: 7,552,682 msg/sec AtomicQueueB, 5,i: 7,846,725 msg/sec AtomicQueueB, 6,s: 7,322,632 msg/sec AtomicQueueB, 6,i: 7,588,136 msg/sec AtomicQueueB, 7,s: 6,881,173 msg/sec AtomicQueueB, 7,i: 7,732,773 msg/sec AtomicQueueB, 8,s: 6,190,571 msg/sec AtomicQueueB, 8,i: 7,170,886 msg/sec OptimistAtomicQueue, 1,s: 714,049,312 msg/sec OptimistAtomicQueue, 1,i: 697,080,036 msg/sec OptimistAtomicQueue, 2,s: 32,061,106 msg/sec OptimistAtomicQueue, 2,i: 31,974,771 msg/sec OptimistAtomicQueue, 3,s: 36,613,135 msg/sec OptimistAtomicQueue, 3,i: 37,479,742 msg/sec OptimistAtomicQueue, 4,s: 39,266,964 msg/sec OptimistAtomicQueue, 4,i: 39,356,544 msg/sec OptimistAtomicQueue, 5,s: 42,357,983 msg/sec OptimistAtomicQueue, 5,i: 48,265,468 msg/sec OptimistAtomicQueue, 6,s: 42,780,823 msg/sec OptimistAtomicQueue, 6,i: 49,767,592 msg/sec OptimistAtomicQueue, 7,s: 44,917,050 msg/sec OptimistAtomicQueue, 7,i: 49,381,536 msg/sec OptimistAtomicQueue, 8,s: 46,487,370 msg/sec OptimistAtomicQueue, 8,i: 48,874,647 msg/sec OptimistAtomicQueueB, 1,s: 107,794,923 msg/sec OptimistAtomicQueueB, 1,i: 76,526,206 msg/sec OptimistAtomicQueueB, 2,s: 32,153,727 msg/sec OptimistAtomicQueueB, 2,i: 32,260,232 msg/sec OptimistAtomicQueueB, 3,s: 36,273,508 msg/sec OptimistAtomicQueueB, 3,i: 36,936,947 msg/sec OptimistAtomicQueueB, 4,s: 38,715,482 msg/sec OptimistAtomicQueueB, 4,i: 38,683,713 msg/sec OptimistAtomicQueueB, 5,s: 41,050,725 msg/sec OptimistAtomicQueueB, 5,i: 45,358,500 msg/sec OptimistAtomicQueueB, 6,s: 40,993,108 msg/sec OptimistAtomicQueueB, 6,i: 49,043,797 msg/sec OptimistAtomicQueueB, 7,s: 42,616,843 msg/sec OptimistAtomicQueueB, 7,i: 51,394,617 msg/sec OptimistAtomicQueueB, 8,s: 44,373,508 msg/sec OptimistAtomicQueueB, 8,i: 47,690,692 msg/sec AtomicQueue2, 1,s: 23,087,714 msg/sec AtomicQueue2, 1,i: 23,027,970 msg/sec AtomicQueue2, 2,s: 11,969,419 msg/sec AtomicQueue2, 2,i: 11,492,258 msg/sec AtomicQueue2, 3,s: 9,330,397 msg/sec AtomicQueue2, 3,i: 9,465,968 msg/sec AtomicQueue2, 4,s: 8,071,215 msg/sec AtomicQueue2, 4,i: 8,027,977 msg/sec AtomicQueue2, 5,s: 7,938,101 msg/sec AtomicQueue2, 5,i: 8,010,317 msg/sec AtomicQueue2, 6,s: 7,723,898 msg/sec AtomicQueue2, 6,i: 7,531,094 msg/sec AtomicQueue2, 7,s: 7,134,925 msg/sec AtomicQueue2, 7,i: 7,899,647 msg/sec AtomicQueue2, 8,s: 6,392,481 msg/sec AtomicQueue2, 8,i: 7,368,376 msg/sec AtomicQueueB2, 1,s: 35,984,537 msg/sec AtomicQueueB2, 1,i: 32,603,397 msg/sec AtomicQueueB2, 2,s: 11,432,663 msg/sec AtomicQueueB2, 2,i: 11,119,448 msg/sec AtomicQueueB2, 3,s: 9,529,604 msg/sec AtomicQueueB2, 3,i: 9,592,261 msg/sec AtomicQueueB2, 4,s: 7,931,600 msg/sec AtomicQueueB2, 4,i: 7,850,863 msg/sec AtomicQueueB2, 5,s: 7,548,243 msg/sec AtomicQueueB2, 5,i: 7,739,493 msg/sec AtomicQueueB2, 6,s: 7,148,896 msg/sec AtomicQueueB2, 6,i: 7,404,391 msg/sec AtomicQueueB2, 7,s: 6,886,859 msg/sec AtomicQueueB2, 7,i: 7,732,169 msg/sec AtomicQueueB2, 8,s: 6,296,485 msg/sec AtomicQueueB2, 8,i: 6,967,685 msg/sec OptimistAtomicQueue2, 1,s: 466,307,477 msg/sec OptimistAtomicQueue2, 1,i: 32,653,407 msg/sec OptimistAtomicQueue2, 2,s: 25,022,723 msg/sec OptimistAtomicQueue2, 2,i: 24,021,055 msg/sec OptimistAtomicQueue2, 3,s: 30,117,234 msg/sec OptimistAtomicQueue2, 3,i: 29,954,569 msg/sec OptimistAtomicQueue2, 4,s: 33,129,485 msg/sec OptimistAtomicQueue2, 4,i: 33,296,861 msg/sec OptimistAtomicQueue2, 5,s: 37,195,318 msg/sec OptimistAtomicQueue2, 5,i: 40,519,965 msg/sec OptimistAtomicQueue2, 6,s: 40,178,170 msg/sec OptimistAtomicQueue2, 6,i: 49,331,453 msg/sec OptimistAtomicQueue2, 7,s: 43,139,850 msg/sec OptimistAtomicQueue2, 7,i: 48,065,062 msg/sec OptimistAtomicQueue2, 8,s: 43,828,440 msg/sec OptimistAtomicQueue2, 8,i: 48,266,460 msg/sec OptimistAtomicQueueB2, 1,s: 77,894,807 msg/sec OptimistAtomicQueueB2, 1,i: 33,905,379 msg/sec OptimistAtomicQueueB2, 2,s: 26,459,812 msg/sec OptimistAtomicQueueB2, 2,i: 26,534,434 msg/sec OptimistAtomicQueueB2, 3,s: 30,150,171 msg/sec OptimistAtomicQueueB2, 3,i: 29,133,657 msg/sec OptimistAtomicQueueB2, 4,s: 32,943,835 msg/sec OptimistAtomicQueueB2, 4,i: 32,489,224 msg/sec OptimistAtomicQueueB2, 5,s: 34,477,233 msg/sec OptimistAtomicQueueB2, 5,i: 39,347,859 msg/sec OptimistAtomicQueueB2, 6,s: 37,572,680 msg/sec OptimistAtomicQueueB2, 6,i: 42,396,727 msg/sec OptimistAtomicQueueB2, 7,s: 40,758,829 msg/sec OptimistAtomicQueueB2, 7,i: 43,027,174 msg/sec OptimistAtomicQueueB2, 8,s: 42,333,523 msg/sec OptimistAtomicQueueB2, 8,i: 45,234,544 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000293 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [178] 246m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,833,194 msg/sec boost::lockfree::spsc_queue, 1,i: 68,468,404 msg/sec boost::lockfree::queue, 1,s: 6,765,903 msg/sec boost::lockfree::queue, 1,i: 6,884,448 msg/sec boost::lockfree::queue, 2,s: 7,642,730 msg/sec boost::lockfree::queue, 2,i: 7,536,292 msg/sec boost::lockfree::queue, 3,s: 7,365,559 msg/sec boost::lockfree::queue, 3,i: 7,580,123 msg/sec boost::lockfree::queue, 4,s: 6,430,063 msg/sec boost::lockfree::queue, 4,i: 6,815,695 msg/sec boost::lockfree::queue, 5,s: 6,445,400 msg/sec boost::lockfree::queue, 5,i: 6,458,749 msg/sec boost::lockfree::queue, 6,s: 5,976,952 msg/sec boost::lockfree::queue, 6,i: 6,130,729 msg/sec boost::lockfree::queue, 7,s: 5,895,936 msg/sec boost::lockfree::queue, 7,i: 5,920,767 msg/sec boost::lockfree::queue, 8,s: 5,541,782 msg/sec boost::lockfree::queue, 8,i: 5,594,329 msg/sec moodycamel::ReaderWriterQueue, 1,s: 463,519,185 msg/sec moodycamel::ReaderWriterQueue, 1,i: 466,176,233 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,916,207 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,829,772 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,240,817 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,247,483 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,521,520 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,597,419 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,412,372 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,630,931 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,200,130 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,386,419 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,397,351 msg/sec moodycamel::ConcurrentQueue, 6,i: 31,809,175 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,047,853 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,151,407 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,169,522 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,807,713 msg/sec pthread_spinlock, 1,s: 28,869,307 msg/sec pthread_spinlock, 1,i: 25,416,921 msg/sec pthread_spinlock, 2,s: 15,949,073 msg/sec pthread_spinlock, 2,i: 16,866,456 msg/sec pthread_spinlock, 3,s: 8,302,242 msg/sec pthread_spinlock, 3,i: 12,092,454 msg/sec pthread_spinlock, 4,s: 6,514,054 msg/sec pthread_spinlock, 4,i: 9,208,666 msg/sec pthread_spinlock, 5,s: 8,692,363 msg/sec pthread_spinlock, 5,i: 9,159,333 msg/sec pthread_spinlock, 6,s: 8,305,057 msg/sec pthread_spinlock, 6,i: 8,436,011 msg/sec pthread_spinlock, 7,s: 7,948,066 msg/sec pthread_spinlock, 7,i: 8,053,852 msg/sec pthread_spinlock, 8,s: 6,793,036 msg/sec pthread_spinlock, 8,i: 7,212,499 msg/sec std::mutex, 1,s: 7,124,963 msg/sec std::mutex, 1,i: 7,076,002 msg/sec std::mutex, 2,s: 5,492,189 msg/sec std::mutex, 2,i: 6,191,544 msg/sec std::mutex, 3,s: 5,048,333 msg/sec std::mutex, 3,i: 6,008,527 msg/sec std::mutex, 4,s: 5,745,505 msg/sec std::mutex, 4,i: 6,269,926 msg/sec std::mutex, 5,s: 6,039,416 msg/sec std::mutex, 5,i: 5,894,408 msg/sec std::mutex, 6,s: 5,832,256 msg/sec std::mutex, 6,i: 5,842,060 msg/sec std::mutex, 7,s: 5,718,696 msg/sec std::mutex, 7,i: 5,744,683 msg/sec std::mutex, 8,s: 5,658,746 msg/sec std::mutex, 8,i: 5,711,713 msg/sec tbb::spin_mutex, 1,s: 37,432,663 msg/sec tbb::spin_mutex, 1,i: 32,898,415 msg/sec tbb::spin_mutex, 2,s: 21,194,493 msg/sec tbb::spin_mutex, 2,i: 18,461,645 msg/sec tbb::spin_mutex, 3,s: 7,359,145 msg/sec tbb::spin_mutex, 3,i: 10,226,777 msg/sec tbb::spin_mutex, 4,s: 3,219,162 msg/sec tbb::spin_mutex, 4,i: 6,401,461 msg/sec tbb::spin_mutex, 5,s: 5,520,094 msg/sec tbb::spin_mutex, 5,i: 5,741,371 msg/sec tbb::spin_mutex, 6,s: 5,301,792 msg/sec tbb::spin_mutex, 6,i: 4,325,259 msg/sec tbb::spin_mutex, 7,s: 4,866,263 msg/sec tbb::spin_mutex, 7,i: 4,298,625 msg/sec tbb::spin_mutex, 8,s: 4,261,498 msg/sec tbb::spin_mutex, 8,i: 4,196,513 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,440,042 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,938,561 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,083,751 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,062,506 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,966,421 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,725,245 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,318,175 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,264,316 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,690,741 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,179,122 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,994,979 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,481,010 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,963,904 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,669,393 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,075,000 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,678,098 msg/sec xenium::michael_scott_queue, 1,s: 9,464,448 msg/sec xenium::michael_scott_queue, 1,i: 9,445,845 msg/sec xenium::michael_scott_queue, 2,s: 8,488,628 msg/sec xenium::michael_scott_queue, 2,i: 8,567,209 msg/sec xenium::michael_scott_queue, 3,s: 7,203,220 msg/sec xenium::michael_scott_queue, 3,i: 7,563,311 msg/sec xenium::michael_scott_queue, 4,s: 6,342,927 msg/sec xenium::michael_scott_queue, 4,i: 6,360,513 msg/sec xenium::michael_scott_queue, 5,s: 6,292,857 msg/sec xenium::michael_scott_queue, 5,i: 6,639,954 msg/sec xenium::michael_scott_queue, 6,s: 6,517,789 msg/sec xenium::michael_scott_queue, 6,i: 6,861,787 msg/sec xenium::michael_scott_queue, 7,s: 6,366,560 msg/sec xenium::michael_scott_queue, 7,i: 6,550,776 msg/sec xenium::michael_scott_queue, 8,s: 5,977,935 msg/sec xenium::michael_scott_queue, 8,i: 6,167,793 msg/sec xenium::ramalhete_queue, 1,s: 31,780,108 msg/sec xenium::ramalhete_queue, 1,i: 32,511,342 msg/sec xenium::ramalhete_queue, 2,s: 24,291,120 msg/sec xenium::ramalhete_queue, 2,i: 23,279,134 msg/sec xenium::ramalhete_queue, 3,s: 29,282,751 msg/sec xenium::ramalhete_queue, 3,i: 28,453,082 msg/sec xenium::ramalhete_queue, 4,s: 33,990,257 msg/sec xenium::ramalhete_queue, 4,i: 33,559,439 msg/sec xenium::ramalhete_queue, 5,s: 32,136,102 msg/sec xenium::ramalhete_queue, 5,i: 36,110,611 msg/sec xenium::ramalhete_queue, 6,s: 34,115,287 msg/sec xenium::ramalhete_queue, 6,i: 38,966,159 msg/sec xenium::ramalhete_queue, 7,s: 35,237,385 msg/sec xenium::ramalhete_queue, 7,i: 42,207,985 msg/sec xenium::ramalhete_queue, 8,s: 35,546,940 msg/sec xenium::ramalhete_queue, 8,i: 44,470,941 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,631,843 msg/sec xenium::vyukov_bounded_queue, 1,i: 99,222,559 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,841,885 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,916,278 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,595,835 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,213,064 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,641,337 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,536,400 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,011,378 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,422,500 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,976,508 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,479,728 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,170,405 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,086,077 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,969 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,240,036 msg/sec AtomicQueue, 1,s: 61,334,364 msg/sec AtomicQueue, 1,i: 56,506,291 msg/sec AtomicQueue, 2,s: 12,231,375 msg/sec AtomicQueue, 2,i: 11,779,391 msg/sec AtomicQueue, 3,s: 10,796,249 msg/sec AtomicQueue, 3,i: 9,956,554 msg/sec AtomicQueue, 4,s: 8,225,220 msg/sec AtomicQueue, 4,i: 8,185,760 msg/sec AtomicQueue, 5,s: 8,023,129 msg/sec AtomicQueue, 5,i: 8,124,969 msg/sec AtomicQueue, 6,s: 7,745,665 msg/sec AtomicQueue, 6,i: 7,608,384 msg/sec AtomicQueue, 7,s: 7,088,274 msg/sec AtomicQueue, 7,i: 7,986,721 msg/sec AtomicQueue, 8,s: 6,341,904 msg/sec AtomicQueue, 8,i: 7,432,625 msg/sec AtomicQueueB, 1,s: 43,892,421 msg/sec AtomicQueueB, 1,i: 42,983,013 msg/sec AtomicQueueB, 2,s: 11,808,883 msg/sec AtomicQueueB, 2,i: 11,500,514 msg/sec AtomicQueueB, 3,s: 10,981,278 msg/sec AtomicQueueB, 3,i: 10,008,913 msg/sec AtomicQueueB, 4,s: 8,052,674 msg/sec AtomicQueueB, 4,i: 7,940,488 msg/sec AtomicQueueB, 5,s: 7,617,254 msg/sec AtomicQueueB, 5,i: 7,834,588 msg/sec AtomicQueueB, 6,s: 7,274,008 msg/sec AtomicQueueB, 6,i: 7,544,712 msg/sec AtomicQueueB, 7,s: 6,857,049 msg/sec AtomicQueueB, 7,i: 7,730,346 msg/sec AtomicQueueB, 8,s: 6,207,529 msg/sec AtomicQueueB, 8,i: 7,183,559 msg/sec OptimistAtomicQueue, 1,s: 676,325,153 msg/sec OptimistAtomicQueue, 1,i: 530,920,335 msg/sec OptimistAtomicQueue, 2,s: 32,288,528 msg/sec OptimistAtomicQueue, 2,i: 32,627,207 msg/sec OptimistAtomicQueue, 3,s: 36,686,215 msg/sec OptimistAtomicQueue, 3,i: 37,319,950 msg/sec OptimistAtomicQueue, 4,s: 39,299,231 msg/sec OptimistAtomicQueue, 4,i: 39,381,970 msg/sec OptimistAtomicQueue, 5,s: 42,384,829 msg/sec OptimistAtomicQueue, 5,i: 46,224,093 msg/sec OptimistAtomicQueue, 6,s: 42,191,451 msg/sec OptimistAtomicQueue, 6,i: 50,347,349 msg/sec OptimistAtomicQueue, 7,s: 45,378,431 msg/sec OptimistAtomicQueue, 7,i: 51,986,737 msg/sec OptimistAtomicQueue, 8,s: 46,567,065 msg/sec OptimistAtomicQueue, 8,i: 50,206,088 msg/sec OptimistAtomicQueueB, 1,s: 77,756,641 msg/sec OptimistAtomicQueueB, 1,i: 76,406,203 msg/sec OptimistAtomicQueueB, 2,s: 32,273,246 msg/sec OptimistAtomicQueueB, 2,i: 32,138,886 msg/sec OptimistAtomicQueueB, 3,s: 36,227,055 msg/sec OptimistAtomicQueueB, 3,i: 36,722,528 msg/sec OptimistAtomicQueueB, 4,s: 38,595,151 msg/sec OptimistAtomicQueueB, 4,i: 38,575,190 msg/sec OptimistAtomicQueueB, 5,s: 40,943,029 msg/sec OptimistAtomicQueueB, 5,i: 45,295,677 msg/sec OptimistAtomicQueueB, 6,s: 41,110,263 msg/sec OptimistAtomicQueueB, 6,i: 49,188,069 msg/sec OptimistAtomicQueueB, 7,s: 42,183,405 msg/sec OptimistAtomicQueueB, 7,i: 47,744,018 msg/sec OptimistAtomicQueueB, 8,s: 44,465,071 msg/sec OptimistAtomicQueueB, 8,i: 47,652,286 msg/sec AtomicQueue2, 1,s: 23,216,604 msg/sec AtomicQueue2, 1,i: 23,097,859 msg/sec AtomicQueue2, 2,s: 12,024,464 msg/sec AtomicQueue2, 2,i: 11,661,745 msg/sec AtomicQueue2, 3,s: 9,403,854 msg/sec AtomicQueue2, 3,i: 9,395,616 msg/sec AtomicQueue2, 4,s: 8,097,995 msg/sec AtomicQueue2, 4,i: 8,038,285 msg/sec AtomicQueue2, 5,s: 7,882,417 msg/sec AtomicQueue2, 5,i: 8,058,399 msg/sec AtomicQueue2, 6,s: 7,821,651 msg/sec AtomicQueue2, 6,i: 7,515,994 msg/sec AtomicQueue2, 7,s: 7,161,372 msg/sec AtomicQueue2, 7,i: 7,869,655 msg/sec AtomicQueue2, 8,s: 6,375,984 msg/sec AtomicQueue2, 8,i: 7,265,817 msg/sec AtomicQueueB2, 1,s: 36,043,459 msg/sec AtomicQueueB2, 1,i: 32,614,900 msg/sec AtomicQueueB2, 2,s: 11,412,653 msg/sec AtomicQueueB2, 2,i: 11,140,243 msg/sec AtomicQueueB2, 3,s: 9,747,831 msg/sec AtomicQueueB2, 3,i: 9,647,240 msg/sec AtomicQueueB2, 4,s: 7,989,422 msg/sec AtomicQueueB2, 4,i: 7,919,223 msg/sec AtomicQueueB2, 5,s: 7,493,411 msg/sec AtomicQueueB2, 5,i: 7,760,994 msg/sec AtomicQueueB2, 6,s: 7,215,044 msg/sec AtomicQueueB2, 6,i: 7,419,328 msg/sec AtomicQueueB2, 7,s: 6,950,313 msg/sec AtomicQueueB2, 7,i: 7,724,079 msg/sec AtomicQueueB2, 8,s: 6,307,664 msg/sec AtomicQueueB2, 8,i: 7,107,328 msg/sec OptimistAtomicQueue2, 1,s: 531,757,134 msg/sec OptimistAtomicQueue2, 1,i: 29,765,788 msg/sec OptimistAtomicQueue2, 2,s: 22,578,005 msg/sec OptimistAtomicQueue2, 2,i: 24,964,459 msg/sec OptimistAtomicQueue2, 3,s: 30,659,017 msg/sec OptimistAtomicQueue2, 3,i: 30,091,232 msg/sec OptimistAtomicQueue2, 4,s: 33,133,313 msg/sec OptimistAtomicQueue2, 4,i: 33,169,676 msg/sec OptimistAtomicQueue2, 5,s: 37,358,930 msg/sec OptimistAtomicQueue2, 5,i: 40,626,530 msg/sec OptimistAtomicQueue2, 6,s: 40,293,485 msg/sec OptimistAtomicQueue2, 6,i: 49,298,059 msg/sec OptimistAtomicQueue2, 7,s: 43,061,581 msg/sec OptimistAtomicQueue2, 7,i: 51,667,013 msg/sec OptimistAtomicQueue2, 8,s: 44,003,807 msg/sec OptimistAtomicQueue2, 8,i: 48,542,621 msg/sec OptimistAtomicQueueB2, 1,s: 78,135,783 msg/sec OptimistAtomicQueueB2, 1,i: 37,779,023 msg/sec OptimistAtomicQueueB2, 2,s: 23,688,257 msg/sec OptimistAtomicQueueB2, 2,i: 22,055,892 msg/sec OptimistAtomicQueueB2, 3,s: 29,512,498 msg/sec OptimistAtomicQueueB2, 3,i: 29,179,363 msg/sec OptimistAtomicQueueB2, 4,s: 33,544,159 msg/sec OptimistAtomicQueueB2, 4,i: 32,473,793 msg/sec OptimistAtomicQueueB2, 5,s: 34,463,849 msg/sec OptimistAtomicQueueB2, 5,i: 39,424,304 msg/sec OptimistAtomicQueueB2, 6,s: 37,362,470 msg/sec OptimistAtomicQueueB2, 6,i: 42,265,464 msg/sec OptimistAtomicQueueB2, 7,s: 40,005,874 msg/sec OptimistAtomicQueueB2, 7,i: 43,251,434 msg/sec OptimistAtomicQueueB2, 8,s: 42,172,373 msg/sec OptimistAtomicQueueB2, 8,i: 45,255,082 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000125 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000269 sec/round-trip std::mutex: 0.000000446 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [179] 245m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,285,881 msg/sec boost::lockfree::spsc_queue, 1,i: 71,528,266 msg/sec boost::lockfree::queue, 1,s: 7,387,795 msg/sec boost::lockfree::queue, 1,i: 6,934,306 msg/sec boost::lockfree::queue, 2,s: 7,620,531 msg/sec boost::lockfree::queue, 2,i: 7,531,610 msg/sec boost::lockfree::queue, 3,s: 7,387,846 msg/sec boost::lockfree::queue, 3,i: 7,578,864 msg/sec boost::lockfree::queue, 4,s: 6,424,075 msg/sec boost::lockfree::queue, 4,i: 6,771,925 msg/sec boost::lockfree::queue, 5,s: 6,395,172 msg/sec boost::lockfree::queue, 5,i: 6,439,963 msg/sec boost::lockfree::queue, 6,s: 6,053,414 msg/sec boost::lockfree::queue, 6,i: 6,092,745 msg/sec boost::lockfree::queue, 7,s: 5,822,962 msg/sec boost::lockfree::queue, 7,i: 5,960,065 msg/sec boost::lockfree::queue, 8,s: 5,460,851 msg/sec boost::lockfree::queue, 8,i: 5,562,459 msg/sec moodycamel::ReaderWriterQueue, 1,s: 480,383,595 msg/sec moodycamel::ReaderWriterQueue, 1,i: 475,949,724 msg/sec moodycamel::ConcurrentQueue, 1,s: 27,903,119 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,086,456 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,219,732 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,009,533 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,241,569 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,234,608 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,191,027 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,951,590 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,189,537 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,661,098 msg/sec moodycamel::ConcurrentQueue, 6,s: 30,850,229 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,598,987 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,989,222 msg/sec moodycamel::ConcurrentQueue, 7,i: 34,080,154 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,247,421 msg/sec moodycamel::ConcurrentQueue, 8,i: 37,200,763 msg/sec pthread_spinlock, 1,s: 28,896,137 msg/sec pthread_spinlock, 1,i: 25,262,305 msg/sec pthread_spinlock, 2,s: 15,717,836 msg/sec pthread_spinlock, 2,i: 16,876,924 msg/sec pthread_spinlock, 3,s: 8,211,868 msg/sec pthread_spinlock, 3,i: 12,211,810 msg/sec pthread_spinlock, 4,s: 6,485,580 msg/sec pthread_spinlock, 4,i: 8,965,224 msg/sec pthread_spinlock, 5,s: 8,794,459 msg/sec pthread_spinlock, 5,i: 9,317,339 msg/sec pthread_spinlock, 6,s: 8,270,465 msg/sec pthread_spinlock, 6,i: 8,676,635 msg/sec pthread_spinlock, 7,s: 7,648,505 msg/sec pthread_spinlock, 7,i: 7,576,921 msg/sec pthread_spinlock, 8,s: 6,808,471 msg/sec pthread_spinlock, 8,i: 7,005,404 msg/sec std::mutex, 1,s: 7,197,933 msg/sec std::mutex, 1,i: 7,598,744 msg/sec std::mutex, 2,s: 6,120,217 msg/sec std::mutex, 2,i: 6,148,418 msg/sec std::mutex, 3,s: 6,090,111 msg/sec std::mutex, 3,i: 6,065,991 msg/sec std::mutex, 4,s: 6,223,357 msg/sec std::mutex, 4,i: 6,212,468 msg/sec std::mutex, 5,s: 6,024,097 msg/sec std::mutex, 5,i: 6,076,542 msg/sec std::mutex, 6,s: 5,743,394 msg/sec std::mutex, 6,i: 5,915,759 msg/sec std::mutex, 7,s: 5,767,490 msg/sec std::mutex, 7,i: 5,804,934 msg/sec std::mutex, 8,s: 5,657,914 msg/sec std::mutex, 8,i: 5,666,506 msg/sec tbb::spin_mutex, 1,s: 37,914,592 msg/sec tbb::spin_mutex, 1,i: 33,116,937 msg/sec tbb::spin_mutex, 2,s: 21,185,289 msg/sec tbb::spin_mutex, 2,i: 18,323,633 msg/sec tbb::spin_mutex, 3,s: 8,549,754 msg/sec tbb::spin_mutex, 3,i: 11,247,942 msg/sec tbb::spin_mutex, 4,s: 2,961,354 msg/sec tbb::spin_mutex, 4,i: 6,355,444 msg/sec tbb::spin_mutex, 5,s: 5,263,229 msg/sec tbb::spin_mutex, 5,i: 5,444,956 msg/sec tbb::spin_mutex, 6,s: 5,321,659 msg/sec tbb::spin_mutex, 6,i: 4,341,864 msg/sec tbb::spin_mutex, 7,s: 4,809,948 msg/sec tbb::spin_mutex, 7,i: 4,257,103 msg/sec tbb::spin_mutex, 8,s: 4,218,327 msg/sec tbb::spin_mutex, 8,i: 4,146,365 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,553,820 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,489,155 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,953,348 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,942,816 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,462,706 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,749,939 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,073,659 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,369,553 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,667,091 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,730,917 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,761,416 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,949,675 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,795,604 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,132,780 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,642,245 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,304,676 msg/sec xenium::michael_scott_queue, 1,s: 10,116,804 msg/sec xenium::michael_scott_queue, 1,i: 9,984,338 msg/sec xenium::michael_scott_queue, 2,s: 8,611,142 msg/sec xenium::michael_scott_queue, 2,i: 8,454,558 msg/sec xenium::michael_scott_queue, 3,s: 7,313,873 msg/sec xenium::michael_scott_queue, 3,i: 7,533,209 msg/sec xenium::michael_scott_queue, 4,s: 6,299,294 msg/sec xenium::michael_scott_queue, 4,i: 6,315,493 msg/sec xenium::michael_scott_queue, 5,s: 6,311,255 msg/sec xenium::michael_scott_queue, 5,i: 6,617,395 msg/sec xenium::michael_scott_queue, 6,s: 6,491,355 msg/sec xenium::michael_scott_queue, 6,i: 7,044,567 msg/sec xenium::michael_scott_queue, 7,s: 6,399,842 msg/sec xenium::michael_scott_queue, 7,i: 6,476,373 msg/sec xenium::michael_scott_queue, 8,s: 6,000,524 msg/sec xenium::michael_scott_queue, 8,i: 6,090,454 msg/sec xenium::ramalhete_queue, 1,s: 32,378,785 msg/sec xenium::ramalhete_queue, 1,i: 31,990,120 msg/sec xenium::ramalhete_queue, 2,s: 23,460,995 msg/sec xenium::ramalhete_queue, 2,i: 23,359,332 msg/sec xenium::ramalhete_queue, 3,s: 29,173,677 msg/sec xenium::ramalhete_queue, 3,i: 28,414,190 msg/sec xenium::ramalhete_queue, 4,s: 33,791,578 msg/sec xenium::ramalhete_queue, 4,i: 33,446,351 msg/sec xenium::ramalhete_queue, 5,s: 32,224,816 msg/sec xenium::ramalhete_queue, 5,i: 36,015,213 msg/sec xenium::ramalhete_queue, 6,s: 33,939,263 msg/sec xenium::ramalhete_queue, 6,i: 38,991,277 msg/sec xenium::ramalhete_queue, 7,s: 35,100,291 msg/sec xenium::ramalhete_queue, 7,i: 41,307,030 msg/sec xenium::ramalhete_queue, 8,s: 35,591,935 msg/sec xenium::ramalhete_queue, 8,i: 44,116,884 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,261,584 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,022,922 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,275,301 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,427,524 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,678,650 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,846,520 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,545,704 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,026,786 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,940,716 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,297,130 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,949,792 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,201,766 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,172,113 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,334,274 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,394,893 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,495,420 msg/sec AtomicQueue, 1,s: 123,041,653 msg/sec AtomicQueue, 1,i: 274,013,479 msg/sec AtomicQueue, 2,s: 12,259,626 msg/sec AtomicQueue, 2,i: 11,735,853 msg/sec AtomicQueue, 3,s: 10,806,728 msg/sec AtomicQueue, 3,i: 9,984,595 msg/sec AtomicQueue, 4,s: 8,137,205 msg/sec AtomicQueue, 4,i: 8,178,817 msg/sec AtomicQueue, 5,s: 8,036,540 msg/sec AtomicQueue, 5,i: 8,102,927 msg/sec AtomicQueue, 6,s: 7,753,977 msg/sec AtomicQueue, 6,i: 7,627,696 msg/sec AtomicQueue, 7,s: 7,162,750 msg/sec AtomicQueue, 7,i: 7,978,006 msg/sec AtomicQueue, 8,s: 6,339,935 msg/sec AtomicQueue, 8,i: 7,492,254 msg/sec AtomicQueueB, 1,s: 95,979,620 msg/sec AtomicQueueB, 1,i: 43,650,967 msg/sec AtomicQueueB, 2,s: 11,865,737 msg/sec AtomicQueueB, 2,i: 11,490,260 msg/sec AtomicQueueB, 3,s: 10,996,870 msg/sec AtomicQueueB, 3,i: 10,218,873 msg/sec AtomicQueueB, 4,s: 8,107,268 msg/sec AtomicQueueB, 4,i: 7,854,061 msg/sec AtomicQueueB, 5,s: 7,661,836 msg/sec AtomicQueueB, 5,i: 7,793,304 msg/sec AtomicQueueB, 6,s: 7,271,876 msg/sec AtomicQueueB, 6,i: 7,529,854 msg/sec AtomicQueueB, 7,s: 6,848,500 msg/sec AtomicQueueB, 7,i: 7,713,977 msg/sec AtomicQueueB, 8,s: 6,261,905 msg/sec AtomicQueueB, 8,i: 7,004,666 msg/sec OptimistAtomicQueue, 1,s: 775,567,303 msg/sec OptimistAtomicQueue, 1,i: 585,676,319 msg/sec OptimistAtomicQueue, 2,s: 32,151,586 msg/sec OptimistAtomicQueue, 2,i: 32,183,388 msg/sec OptimistAtomicQueue, 3,s: 36,612,158 msg/sec OptimistAtomicQueue, 3,i: 37,342,809 msg/sec OptimistAtomicQueue, 4,s: 39,289,414 msg/sec OptimistAtomicQueue, 4,i: 39,373,501 msg/sec OptimistAtomicQueue, 5,s: 42,399,256 msg/sec OptimistAtomicQueue, 5,i: 47,685,931 msg/sec OptimistAtomicQueue, 6,s: 41,853,618 msg/sec OptimistAtomicQueue, 6,i: 50,488,414 msg/sec OptimistAtomicQueue, 7,s: 45,296,717 msg/sec OptimistAtomicQueue, 7,i: 53,072,176 msg/sec OptimistAtomicQueue, 8,s: 46,600,415 msg/sec OptimistAtomicQueue, 8,i: 48,941,943 msg/sec OptimistAtomicQueueB, 1,s: 172,908,692 msg/sec OptimistAtomicQueueB, 1,i: 76,325,847 msg/sec OptimistAtomicQueueB, 2,s: 32,343,896 msg/sec OptimistAtomicQueueB, 2,i: 32,430,844 msg/sec OptimistAtomicQueueB, 3,s: 36,239,492 msg/sec OptimistAtomicQueueB, 3,i: 36,881,745 msg/sec OptimistAtomicQueueB, 4,s: 38,746,534 msg/sec OptimistAtomicQueueB, 4,i: 38,539,989 msg/sec OptimistAtomicQueueB, 5,s: 40,334,378 msg/sec OptimistAtomicQueueB, 5,i: 46,312,975 msg/sec OptimistAtomicQueueB, 6,s: 41,215,966 msg/sec OptimistAtomicQueueB, 6,i: 48,832,381 msg/sec OptimistAtomicQueueB, 7,s: 41,691,314 msg/sec OptimistAtomicQueueB, 7,i: 50,581,633 msg/sec OptimistAtomicQueueB, 8,s: 44,579,913 msg/sec OptimistAtomicQueueB, 8,i: 48,186,643 msg/sec AtomicQueue2, 1,s: 22,889,319 msg/sec AtomicQueue2, 1,i: 22,892,831 msg/sec AtomicQueue2, 2,s: 11,810,376 msg/sec AtomicQueue2, 2,i: 11,748,951 msg/sec AtomicQueue2, 3,s: 9,361,557 msg/sec AtomicQueue2, 3,i: 9,357,636 msg/sec AtomicQueue2, 4,s: 8,051,217 msg/sec AtomicQueue2, 4,i: 8,043,450 msg/sec AtomicQueue2, 5,s: 7,946,630 msg/sec AtomicQueue2, 5,i: 8,013,222 msg/sec AtomicQueue2, 6,s: 7,699,696 msg/sec AtomicQueue2, 6,i: 7,536,032 msg/sec AtomicQueue2, 7,s: 7,119,869 msg/sec AtomicQueue2, 7,i: 7,886,893 msg/sec AtomicQueue2, 8,s: 6,371,767 msg/sec AtomicQueue2, 8,i: 7,341,009 msg/sec AtomicQueueB2, 1,s: 36,333,614 msg/sec AtomicQueueB2, 1,i: 36,120,987 msg/sec AtomicQueueB2, 2,s: 11,374,361 msg/sec AtomicQueueB2, 2,i: 11,103,482 msg/sec AtomicQueueB2, 3,s: 9,644,920 msg/sec AtomicQueueB2, 3,i: 9,588,124 msg/sec AtomicQueueB2, 4,s: 7,927,819 msg/sec AtomicQueueB2, 4,i: 7,838,130 msg/sec AtomicQueueB2, 5,s: 7,404,390 msg/sec AtomicQueueB2, 5,i: 7,715,446 msg/sec AtomicQueueB2, 6,s: 7,345,290 msg/sec AtomicQueueB2, 6,i: 7,452,000 msg/sec AtomicQueueB2, 7,s: 6,851,304 msg/sec AtomicQueueB2, 7,i: 7,727,499 msg/sec AtomicQueueB2, 8,s: 6,290,953 msg/sec AtomicQueueB2, 8,i: 7,091,493 msg/sec OptimistAtomicQueue2, 1,s: 454,537,086 msg/sec OptimistAtomicQueue2, 1,i: 29,983,264 msg/sec OptimistAtomicQueue2, 2,s: 25,060,740 msg/sec OptimistAtomicQueue2, 2,i: 24,499,920 msg/sec OptimistAtomicQueue2, 3,s: 30,495,457 msg/sec OptimistAtomicQueue2, 3,i: 30,912,957 msg/sec OptimistAtomicQueue2, 4,s: 33,419,499 msg/sec OptimistAtomicQueue2, 4,i: 33,172,350 msg/sec OptimistAtomicQueue2, 5,s: 37,152,398 msg/sec OptimistAtomicQueue2, 5,i: 41,145,373 msg/sec OptimistAtomicQueue2, 6,s: 40,234,048 msg/sec OptimistAtomicQueue2, 6,i: 49,224,466 msg/sec OptimistAtomicQueue2, 7,s: 42,907,338 msg/sec OptimistAtomicQueue2, 7,i: 51,471,128 msg/sec OptimistAtomicQueue2, 8,s: 43,964,405 msg/sec OptimistAtomicQueue2, 8,i: 48,809,571 msg/sec OptimistAtomicQueueB2, 1,s: 78,917,604 msg/sec OptimistAtomicQueueB2, 1,i: 33,879,754 msg/sec OptimistAtomicQueueB2, 2,s: 23,685,412 msg/sec OptimistAtomicQueueB2, 2,i: 23,119,021 msg/sec OptimistAtomicQueueB2, 3,s: 29,715,640 msg/sec OptimistAtomicQueueB2, 3,i: 29,294,954 msg/sec OptimistAtomicQueueB2, 4,s: 33,166,272 msg/sec OptimistAtomicQueueB2, 4,i: 32,854,470 msg/sec OptimistAtomicQueueB2, 5,s: 34,515,092 msg/sec OptimistAtomicQueueB2, 5,i: 40,055,857 msg/sec OptimistAtomicQueueB2, 6,s: 37,099,389 msg/sec OptimistAtomicQueueB2, 6,i: 41,412,357 msg/sec OptimistAtomicQueueB2, 7,s: 40,673,601 msg/sec OptimistAtomicQueueB2, 7,i: 45,240,201 msg/sec OptimistAtomicQueueB2, 8,s: 42,721,167 msg/sec OptimistAtomicQueueB2, 8,i: 45,375,697 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000236 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000507 sec/round-trip tbb::spin_mutex: 0.000000256 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000192 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000168 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [180] 243m:52s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,476,417 msg/sec boost::lockfree::spsc_queue, 1,i: 67,273,438 msg/sec boost::lockfree::queue, 1,s: 6,899,246 msg/sec boost::lockfree::queue, 1,i: 6,883,420 msg/sec boost::lockfree::queue, 2,s: 7,444,083 msg/sec boost::lockfree::queue, 2,i: 7,512,108 msg/sec boost::lockfree::queue, 3,s: 7,378,559 msg/sec boost::lockfree::queue, 3,i: 7,518,713 msg/sec boost::lockfree::queue, 4,s: 6,425,073 msg/sec boost::lockfree::queue, 4,i: 6,861,504 msg/sec boost::lockfree::queue, 5,s: 6,442,439 msg/sec boost::lockfree::queue, 5,i: 6,547,776 msg/sec boost::lockfree::queue, 6,s: 5,979,050 msg/sec boost::lockfree::queue, 6,i: 6,098,146 msg/sec boost::lockfree::queue, 7,s: 5,912,633 msg/sec boost::lockfree::queue, 7,i: 6,135,337 msg/sec boost::lockfree::queue, 8,s: 5,478,698 msg/sec boost::lockfree::queue, 8,i: 5,560,549 msg/sec moodycamel::ReaderWriterQueue, 1,s: 92,084,005 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,845,601 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,213,202 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,917,097 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,015,055 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,763,513 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,009,202 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,571,900 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,684,920 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,032,240 msg/sec moodycamel::ConcurrentQueue, 5,s: 29,751,691 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,926,734 msg/sec moodycamel::ConcurrentQueue, 6,s: 45,600,446 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,644,057 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,758,458 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,377,213 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,197,762 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,238,520 msg/sec pthread_spinlock, 1,s: 29,221,621 msg/sec pthread_spinlock, 1,i: 29,334,721 msg/sec pthread_spinlock, 2,s: 15,425,226 msg/sec pthread_spinlock, 2,i: 17,999,832 msg/sec pthread_spinlock, 3,s: 8,367,556 msg/sec pthread_spinlock, 3,i: 11,976,398 msg/sec pthread_spinlock, 4,s: 6,490,856 msg/sec pthread_spinlock, 4,i: 9,162,445 msg/sec pthread_spinlock, 5,s: 8,721,876 msg/sec pthread_spinlock, 5,i: 9,429,122 msg/sec pthread_spinlock, 6,s: 8,192,113 msg/sec pthread_spinlock, 6,i: 8,427,387 msg/sec pthread_spinlock, 7,s: 7,521,117 msg/sec pthread_spinlock, 7,i: 8,077,798 msg/sec pthread_spinlock, 8,s: 6,740,732 msg/sec pthread_spinlock, 8,i: 7,014,778 msg/sec std::mutex, 1,s: 6,022,735 msg/sec std::mutex, 1,i: 7,754,483 msg/sec std::mutex, 2,s: 6,022,694 msg/sec std::mutex, 2,i: 6,161,463 msg/sec std::mutex, 3,s: 6,170,465 msg/sec std::mutex, 3,i: 6,234,125 msg/sec std::mutex, 4,s: 6,330,591 msg/sec std::mutex, 4,i: 6,341,930 msg/sec std::mutex, 5,s: 6,171,015 msg/sec std::mutex, 5,i: 6,070,277 msg/sec std::mutex, 6,s: 6,090,353 msg/sec std::mutex, 6,i: 6,065,620 msg/sec std::mutex, 7,s: 5,987,909 msg/sec std::mutex, 7,i: 5,967,055 msg/sec std::mutex, 8,s: 5,757,239 msg/sec std::mutex, 8,i: 5,756,612 msg/sec tbb::spin_mutex, 1,s: 37,833,272 msg/sec tbb::spin_mutex, 1,i: 32,866,615 msg/sec tbb::spin_mutex, 2,s: 21,137,843 msg/sec tbb::spin_mutex, 2,i: 18,407,797 msg/sec tbb::spin_mutex, 3,s: 7,607,999 msg/sec tbb::spin_mutex, 3,i: 10,135,692 msg/sec tbb::spin_mutex, 4,s: 3,081,450 msg/sec tbb::spin_mutex, 4,i: 6,318,258 msg/sec tbb::spin_mutex, 5,s: 5,422,598 msg/sec tbb::spin_mutex, 5,i: 5,817,772 msg/sec tbb::spin_mutex, 6,s: 5,342,842 msg/sec tbb::spin_mutex, 6,i: 4,302,940 msg/sec tbb::spin_mutex, 7,s: 4,870,911 msg/sec tbb::spin_mutex, 7,i: 4,399,721 msg/sec tbb::spin_mutex, 8,s: 4,246,274 msg/sec tbb::spin_mutex, 8,i: 4,096,484 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,431,636 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,421,804 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,988,020 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,979,157 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,023,062 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,651,497 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,288,953 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,207,629 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,800,855 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,180,973 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,942,772 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,486,414 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,910,976 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,646,966 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,067,345 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,748,766 msg/sec xenium::michael_scott_queue, 1,s: 10,118,932 msg/sec xenium::michael_scott_queue, 1,i: 9,729,221 msg/sec xenium::michael_scott_queue, 2,s: 8,490,093 msg/sec xenium::michael_scott_queue, 2,i: 8,256,607 msg/sec xenium::michael_scott_queue, 3,s: 7,244,230 msg/sec xenium::michael_scott_queue, 3,i: 7,542,008 msg/sec xenium::michael_scott_queue, 4,s: 6,306,932 msg/sec xenium::michael_scott_queue, 4,i: 6,331,925 msg/sec xenium::michael_scott_queue, 5,s: 6,283,452 msg/sec xenium::michael_scott_queue, 5,i: 6,667,500 msg/sec xenium::michael_scott_queue, 6,s: 6,523,053 msg/sec xenium::michael_scott_queue, 6,i: 6,937,648 msg/sec xenium::michael_scott_queue, 7,s: 6,290,417 msg/sec xenium::michael_scott_queue, 7,i: 6,509,447 msg/sec xenium::michael_scott_queue, 8,s: 5,992,594 msg/sec xenium::michael_scott_queue, 8,i: 6,214,705 msg/sec xenium::ramalhete_queue, 1,s: 31,703,122 msg/sec xenium::ramalhete_queue, 1,i: 31,965,440 msg/sec xenium::ramalhete_queue, 2,s: 24,174,325 msg/sec xenium::ramalhete_queue, 2,i: 23,338,833 msg/sec xenium::ramalhete_queue, 3,s: 29,165,893 msg/sec xenium::ramalhete_queue, 3,i: 28,442,522 msg/sec xenium::ramalhete_queue, 4,s: 33,850,820 msg/sec xenium::ramalhete_queue, 4,i: 33,559,930 msg/sec xenium::ramalhete_queue, 5,s: 32,191,990 msg/sec xenium::ramalhete_queue, 5,i: 35,956,253 msg/sec xenium::ramalhete_queue, 6,s: 34,026,501 msg/sec xenium::ramalhete_queue, 6,i: 39,789,976 msg/sec xenium::ramalhete_queue, 7,s: 35,222,991 msg/sec xenium::ramalhete_queue, 7,i: 41,053,041 msg/sec xenium::ramalhete_queue, 8,s: 35,483,225 msg/sec xenium::ramalhete_queue, 8,i: 44,036,942 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,557,610 msg/sec xenium::vyukov_bounded_queue, 1,i: 113,650,912 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,442,698 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,980,090 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,754,412 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,011,628 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,574,032 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,233,128 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,241,459 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,345,525 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,903,493 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,532,707 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,115,240 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,934,992 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,386,892 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,351,155 msg/sec AtomicQueue, 1,s: 62,579,295 msg/sec AtomicQueue, 1,i: 56,949,175 msg/sec AtomicQueue, 2,s: 12,267,555 msg/sec AtomicQueue, 2,i: 11,729,913 msg/sec AtomicQueue, 3,s: 10,738,039 msg/sec AtomicQueue, 3,i: 10,021,643 msg/sec AtomicQueue, 4,s: 8,206,364 msg/sec AtomicQueue, 4,i: 8,195,961 msg/sec AtomicQueue, 5,s: 8,057,845 msg/sec AtomicQueue, 5,i: 8,084,715 msg/sec AtomicQueue, 6,s: 7,810,253 msg/sec AtomicQueue, 6,i: 7,629,897 msg/sec AtomicQueue, 7,s: 7,221,187 msg/sec AtomicQueue, 7,i: 7,974,576 msg/sec AtomicQueue, 8,s: 6,363,744 msg/sec AtomicQueue, 8,i: 7,471,526 msg/sec AtomicQueueB, 1,s: 43,953,953 msg/sec AtomicQueueB, 1,i: 43,036,552 msg/sec AtomicQueueB, 2,s: 11,758,348 msg/sec AtomicQueueB, 2,i: 11,502,447 msg/sec AtomicQueueB, 3,s: 10,985,633 msg/sec AtomicQueueB, 3,i: 10,079,851 msg/sec AtomicQueueB, 4,s: 8,095,979 msg/sec AtomicQueueB, 4,i: 8,052,279 msg/sec AtomicQueueB, 5,s: 7,648,165 msg/sec AtomicQueueB, 5,i: 7,784,559 msg/sec AtomicQueueB, 6,s: 7,331,182 msg/sec AtomicQueueB, 6,i: 7,529,685 msg/sec AtomicQueueB, 7,s: 6,812,605 msg/sec AtomicQueueB, 7,i: 7,751,582 msg/sec AtomicQueueB, 8,s: 6,265,454 msg/sec AtomicQueueB, 8,i: 7,043,102 msg/sec OptimistAtomicQueue, 1,s: 702,387,520 msg/sec OptimistAtomicQueue, 1,i: 529,093,670 msg/sec OptimistAtomicQueue, 2,s: 32,095,596 msg/sec OptimistAtomicQueue, 2,i: 32,071,850 msg/sec OptimistAtomicQueue, 3,s: 36,618,195 msg/sec OptimistAtomicQueue, 3,i: 37,299,022 msg/sec OptimistAtomicQueue, 4,s: 39,283,650 msg/sec OptimistAtomicQueue, 4,i: 39,412,848 msg/sec OptimistAtomicQueue, 5,s: 42,519,171 msg/sec OptimistAtomicQueue, 5,i: 46,244,755 msg/sec OptimistAtomicQueue, 6,s: 42,487,383 msg/sec OptimistAtomicQueue, 6,i: 50,455,637 msg/sec OptimistAtomicQueue, 7,s: 45,284,159 msg/sec OptimistAtomicQueue, 7,i: 53,108,208 msg/sec OptimistAtomicQueue, 8,s: 46,284,910 msg/sec OptimistAtomicQueue, 8,i: 49,161,668 msg/sec OptimistAtomicQueueB, 1,s: 94,256,905 msg/sec OptimistAtomicQueueB, 1,i: 76,533,246 msg/sec OptimistAtomicQueueB, 2,s: 32,198,256 msg/sec OptimistAtomicQueueB, 2,i: 32,161,298 msg/sec OptimistAtomicQueueB, 3,s: 36,284,527 msg/sec OptimistAtomicQueueB, 3,i: 36,889,806 msg/sec OptimistAtomicQueueB, 4,s: 38,639,045 msg/sec OptimistAtomicQueueB, 4,i: 38,507,390 msg/sec OptimistAtomicQueueB, 5,s: 40,531,972 msg/sec OptimistAtomicQueueB, 5,i: 45,455,279 msg/sec OptimistAtomicQueueB, 6,s: 41,092,426 msg/sec OptimistAtomicQueueB, 6,i: 49,174,066 msg/sec OptimistAtomicQueueB, 7,s: 42,383,918 msg/sec OptimistAtomicQueueB, 7,i: 50,868,818 msg/sec OptimistAtomicQueueB, 8,s: 44,126,898 msg/sec OptimistAtomicQueueB, 8,i: 47,886,657 msg/sec AtomicQueue2, 1,s: 22,855,319 msg/sec AtomicQueue2, 1,i: 22,901,046 msg/sec AtomicQueue2, 2,s: 11,827,198 msg/sec AtomicQueue2, 2,i: 11,496,559 msg/sec AtomicQueue2, 3,s: 9,623,813 msg/sec AtomicQueue2, 3,i: 9,357,214 msg/sec AtomicQueue2, 4,s: 7,964,324 msg/sec AtomicQueue2, 4,i: 7,958,528 msg/sec AtomicQueue2, 5,s: 7,784,153 msg/sec AtomicQueue2, 5,i: 7,798,823 msg/sec AtomicQueue2, 6,s: 7,642,758 msg/sec AtomicQueue2, 6,i: 7,452,544 msg/sec AtomicQueue2, 7,s: 7,067,455 msg/sec AtomicQueue2, 7,i: 7,840,149 msg/sec AtomicQueue2, 8,s: 6,359,786 msg/sec AtomicQueue2, 8,i: 7,381,307 msg/sec AtomicQueueB2, 1,s: 37,818,181 msg/sec AtomicQueueB2, 1,i: 32,222,467 msg/sec AtomicQueueB2, 2,s: 11,277,081 msg/sec AtomicQueueB2, 2,i: 11,013,432 msg/sec AtomicQueueB2, 3,s: 9,651,637 msg/sec AtomicQueueB2, 3,i: 9,422,411 msg/sec AtomicQueueB2, 4,s: 7,850,880 msg/sec AtomicQueueB2, 4,i: 7,689,971 msg/sec AtomicQueueB2, 5,s: 7,418,761 msg/sec AtomicQueueB2, 5,i: 7,599,739 msg/sec AtomicQueueB2, 6,s: 7,017,190 msg/sec AtomicQueueB2, 6,i: 7,336,363 msg/sec AtomicQueueB2, 7,s: 6,833,787 msg/sec AtomicQueueB2, 7,i: 7,592,090 msg/sec AtomicQueueB2, 8,s: 6,210,116 msg/sec AtomicQueueB2, 8,i: 6,943,136 msg/sec OptimistAtomicQueue2, 1,s: 577,626,670 msg/sec OptimistAtomicQueue2, 1,i: 27,975,746 msg/sec OptimistAtomicQueue2, 2,s: 27,851,775 msg/sec OptimistAtomicQueue2, 2,i: 26,957,577 msg/sec OptimistAtomicQueue2, 3,s: 30,343,961 msg/sec OptimistAtomicQueue2, 3,i: 32,328,387 msg/sec OptimistAtomicQueue2, 4,s: 34,250,393 msg/sec OptimistAtomicQueue2, 4,i: 33,380,657 msg/sec OptimistAtomicQueue2, 5,s: 37,435,446 msg/sec OptimistAtomicQueue2, 5,i: 42,916,989 msg/sec OptimistAtomicQueue2, 6,s: 40,246,627 msg/sec OptimistAtomicQueue2, 6,i: 48,693,699 msg/sec OptimistAtomicQueue2, 7,s: 42,479,711 msg/sec OptimistAtomicQueue2, 7,i: 51,517,593 msg/sec OptimistAtomicQueue2, 8,s: 44,075,107 msg/sec OptimistAtomicQueue2, 8,i: 48,374,345 msg/sec OptimistAtomicQueueB2, 1,s: 73,873,248 msg/sec OptimistAtomicQueueB2, 1,i: 132,830,657 msg/sec OptimistAtomicQueueB2, 2,s: 28,227,706 msg/sec OptimistAtomicQueueB2, 2,i: 29,763,854 msg/sec OptimistAtomicQueueB2, 3,s: 30,649,225 msg/sec OptimistAtomicQueueB2, 3,i: 32,092,503 msg/sec OptimistAtomicQueueB2, 4,s: 31,084,544 msg/sec OptimistAtomicQueueB2, 4,i: 31,952,048 msg/sec OptimistAtomicQueueB2, 5,s: 33,366,524 msg/sec OptimistAtomicQueueB2, 5,i: 39,106,476 msg/sec OptimistAtomicQueueB2, 6,s: 37,180,615 msg/sec OptimistAtomicQueueB2, 6,i: 41,030,459 msg/sec OptimistAtomicQueueB2, 7,s: 40,757,361 msg/sec OptimistAtomicQueueB2, 7,i: 45,426,740 msg/sec OptimistAtomicQueueB2, 8,s: 42,555,872 msg/sec OptimistAtomicQueueB2, 8,i: 45,237,591 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000129 sec/round-trip moodycamel::ConcurrentQueue: 0.000000243 sec/round-trip pthread_spinlock: 0.000000294 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000285 sec/round-trip tbb::concurrent_bounded_queue: 0.000000293 sec/round-trip xenium::michael_scott_queue: 0.000000376 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000143 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [181] 242m:34s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,510,415 msg/sec boost::lockfree::spsc_queue, 1,i: 65,738,069 msg/sec boost::lockfree::queue, 1,s: 6,852,285 msg/sec boost::lockfree::queue, 1,i: 6,884,886 msg/sec boost::lockfree::queue, 2,s: 7,513,684 msg/sec boost::lockfree::queue, 2,i: 7,337,981 msg/sec boost::lockfree::queue, 3,s: 7,263,517 msg/sec boost::lockfree::queue, 3,i: 7,483,750 msg/sec boost::lockfree::queue, 4,s: 6,359,882 msg/sec boost::lockfree::queue, 4,i: 6,680,354 msg/sec boost::lockfree::queue, 5,s: 6,526,626 msg/sec boost::lockfree::queue, 5,i: 6,486,781 msg/sec boost::lockfree::queue, 6,s: 5,948,819 msg/sec boost::lockfree::queue, 6,i: 6,118,890 msg/sec boost::lockfree::queue, 7,s: 6,025,464 msg/sec boost::lockfree::queue, 7,i: 6,036,811 msg/sec boost::lockfree::queue, 8,s: 5,373,559 msg/sec boost::lockfree::queue, 8,i: 5,588,551 msg/sec moodycamel::ReaderWriterQueue, 1,s: 317,180,871 msg/sec moodycamel::ReaderWriterQueue, 1,i: 84,663,081 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,196,865 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,761,131 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,031,250 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,775,499 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,390,439 msg/sec moodycamel::ConcurrentQueue, 3,i: 41,479,954 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,380,191 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,072,895 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,359,770 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,840,059 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,272,557 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,320,673 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,133,459 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,119,880 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,361,426 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,857,235 msg/sec pthread_spinlock, 1,s: 29,026,505 msg/sec pthread_spinlock, 1,i: 25,329,759 msg/sec pthread_spinlock, 2,s: 15,630,875 msg/sec pthread_spinlock, 2,i: 16,916,403 msg/sec pthread_spinlock, 3,s: 8,303,128 msg/sec pthread_spinlock, 3,i: 12,047,153 msg/sec pthread_spinlock, 4,s: 6,480,333 msg/sec pthread_spinlock, 4,i: 8,932,340 msg/sec pthread_spinlock, 5,s: 8,653,815 msg/sec pthread_spinlock, 5,i: 9,077,693 msg/sec pthread_spinlock, 6,s: 8,491,674 msg/sec pthread_spinlock, 6,i: 8,954,394 msg/sec pthread_spinlock, 7,s: 7,982,648 msg/sec pthread_spinlock, 7,i: 7,756,435 msg/sec pthread_spinlock, 8,s: 6,886,931 msg/sec pthread_spinlock, 8,i: 6,954,230 msg/sec std::mutex, 1,s: 7,372,111 msg/sec std::mutex, 1,i: 7,225,207 msg/sec std::mutex, 2,s: 4,920,159 msg/sec std::mutex, 2,i: 5,538,327 msg/sec std::mutex, 3,s: 5,091,136 msg/sec std::mutex, 3,i: 5,419,921 msg/sec std::mutex, 4,s: 6,313,368 msg/sec std::mutex, 4,i: 6,224,201 msg/sec std::mutex, 5,s: 6,074,641 msg/sec std::mutex, 5,i: 5,944,570 msg/sec std::mutex, 6,s: 5,963,670 msg/sec std::mutex, 6,i: 5,973,822 msg/sec std::mutex, 7,s: 5,775,044 msg/sec std::mutex, 7,i: 5,768,739 msg/sec std::mutex, 8,s: 5,625,285 msg/sec std::mutex, 8,i: 5,656,525 msg/sec tbb::spin_mutex, 1,s: 37,950,395 msg/sec tbb::spin_mutex, 1,i: 32,708,485 msg/sec tbb::spin_mutex, 2,s: 21,056,909 msg/sec tbb::spin_mutex, 2,i: 18,419,350 msg/sec tbb::spin_mutex, 3,s: 8,160,613 msg/sec tbb::spin_mutex, 3,i: 10,233,629 msg/sec tbb::spin_mutex, 4,s: 3,177,168 msg/sec tbb::spin_mutex, 4,i: 6,332,722 msg/sec tbb::spin_mutex, 5,s: 5,299,404 msg/sec tbb::spin_mutex, 5,i: 5,530,751 msg/sec tbb::spin_mutex, 6,s: 5,349,846 msg/sec tbb::spin_mutex, 6,i: 4,361,982 msg/sec tbb::spin_mutex, 7,s: 4,835,627 msg/sec tbb::spin_mutex, 7,i: 4,353,988 msg/sec tbb::spin_mutex, 8,s: 4,240,399 msg/sec tbb::spin_mutex, 8,i: 4,071,371 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,539,246 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,485,026 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,006,443 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,915,539 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,544,782 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,807,088 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,086,226 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,401,726 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,671,490 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,738,553 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,864,146 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,969,058 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,722,087 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,185,345 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,647,012 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,311,331 msg/sec xenium::michael_scott_queue, 1,s: 9,631,202 msg/sec xenium::michael_scott_queue, 1,i: 9,601,841 msg/sec xenium::michael_scott_queue, 2,s: 8,451,887 msg/sec xenium::michael_scott_queue, 2,i: 8,556,971 msg/sec xenium::michael_scott_queue, 3,s: 7,235,530 msg/sec xenium::michael_scott_queue, 3,i: 7,599,369 msg/sec xenium::michael_scott_queue, 4,s: 6,312,465 msg/sec xenium::michael_scott_queue, 4,i: 6,312,432 msg/sec xenium::michael_scott_queue, 5,s: 6,318,852 msg/sec xenium::michael_scott_queue, 5,i: 6,647,606 msg/sec xenium::michael_scott_queue, 6,s: 6,585,395 msg/sec xenium::michael_scott_queue, 6,i: 6,918,619 msg/sec xenium::michael_scott_queue, 7,s: 6,235,495 msg/sec xenium::michael_scott_queue, 7,i: 6,513,488 msg/sec xenium::michael_scott_queue, 8,s: 6,047,892 msg/sec xenium::michael_scott_queue, 8,i: 6,098,690 msg/sec xenium::ramalhete_queue, 1,s: 31,255,017 msg/sec xenium::ramalhete_queue, 1,i: 31,260,867 msg/sec xenium::ramalhete_queue, 2,s: 24,023,174 msg/sec xenium::ramalhete_queue, 2,i: 23,423,862 msg/sec xenium::ramalhete_queue, 3,s: 29,273,062 msg/sec xenium::ramalhete_queue, 3,i: 28,478,832 msg/sec xenium::ramalhete_queue, 4,s: 33,830,832 msg/sec xenium::ramalhete_queue, 4,i: 33,565,285 msg/sec xenium::ramalhete_queue, 5,s: 32,173,912 msg/sec xenium::ramalhete_queue, 5,i: 36,141,639 msg/sec xenium::ramalhete_queue, 6,s: 33,887,187 msg/sec xenium::ramalhete_queue, 6,i: 39,629,080 msg/sec xenium::ramalhete_queue, 7,s: 35,079,079 msg/sec xenium::ramalhete_queue, 7,i: 41,641,919 msg/sec xenium::ramalhete_queue, 8,s: 35,617,706 msg/sec xenium::ramalhete_queue, 8,i: 44,445,187 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,320,520 msg/sec xenium::vyukov_bounded_queue, 1,i: 91,465,163 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,167,708 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,349,824 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,568,190 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,884,022 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,535,098 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,163,363 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,415,475 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,371,420 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,140,454 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,416,039 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,185,340 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,155,359 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,396,849 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,245,903 msg/sec AtomicQueue, 1,s: 59,538,848 msg/sec AtomicQueue, 1,i: 56,789,677 msg/sec AtomicQueue, 2,s: 12,326,221 msg/sec AtomicQueue, 2,i: 11,781,499 msg/sec AtomicQueue, 3,s: 10,806,174 msg/sec AtomicQueue, 3,i: 9,856,908 msg/sec AtomicQueue, 4,s: 8,209,234 msg/sec AtomicQueue, 4,i: 8,165,939 msg/sec AtomicQueue, 5,s: 8,017,207 msg/sec AtomicQueue, 5,i: 8,097,284 msg/sec AtomicQueue, 6,s: 7,668,551 msg/sec AtomicQueue, 6,i: 7,614,586 msg/sec AtomicQueue, 7,s: 7,161,935 msg/sec AtomicQueue, 7,i: 7,996,262 msg/sec AtomicQueue, 8,s: 6,358,610 msg/sec AtomicQueue, 8,i: 7,472,239 msg/sec AtomicQueueB, 1,s: 43,806,933 msg/sec AtomicQueueB, 1,i: 43,035,286 msg/sec AtomicQueueB, 2,s: 12,021,363 msg/sec AtomicQueueB, 2,i: 11,493,139 msg/sec AtomicQueueB, 3,s: 10,978,541 msg/sec AtomicQueueB, 3,i: 10,240,657 msg/sec AtomicQueueB, 4,s: 8,030,996 msg/sec AtomicQueueB, 4,i: 8,021,637 msg/sec AtomicQueueB, 5,s: 7,593,185 msg/sec AtomicQueueB, 5,i: 7,786,333 msg/sec AtomicQueueB, 6,s: 7,223,880 msg/sec AtomicQueueB, 6,i: 7,562,557 msg/sec AtomicQueueB, 7,s: 6,896,827 msg/sec AtomicQueueB, 7,i: 7,717,936 msg/sec AtomicQueueB, 8,s: 6,240,796 msg/sec AtomicQueueB, 8,i: 7,101,935 msg/sec OptimistAtomicQueue, 1,s: 723,490,058 msg/sec OptimistAtomicQueue, 1,i: 548,257,036 msg/sec OptimistAtomicQueue, 2,s: 32,648,737 msg/sec OptimistAtomicQueue, 2,i: 32,733,225 msg/sec OptimistAtomicQueue, 3,s: 36,625,194 msg/sec OptimistAtomicQueue, 3,i: 37,390,804 msg/sec OptimistAtomicQueue, 4,s: 39,297,080 msg/sec OptimistAtomicQueue, 4,i: 39,401,490 msg/sec OptimistAtomicQueue, 5,s: 41,567,449 msg/sec OptimistAtomicQueue, 5,i: 46,370,465 msg/sec OptimistAtomicQueue, 6,s: 42,796,695 msg/sec OptimistAtomicQueue, 6,i: 49,821,189 msg/sec OptimistAtomicQueue, 7,s: 44,092,216 msg/sec OptimistAtomicQueue, 7,i: 49,447,427 msg/sec OptimistAtomicQueue, 8,s: 46,327,727 msg/sec OptimistAtomicQueue, 8,i: 49,043,647 msg/sec OptimistAtomicQueueB, 1,s: 116,579,563 msg/sec OptimistAtomicQueueB, 1,i: 76,473,606 msg/sec OptimistAtomicQueueB, 2,s: 31,842,185 msg/sec OptimistAtomicQueueB, 2,i: 32,474,220 msg/sec OptimistAtomicQueueB, 3,s: 36,300,207 msg/sec OptimistAtomicQueueB, 3,i: 36,935,688 msg/sec OptimistAtomicQueueB, 4,s: 38,721,504 msg/sec OptimistAtomicQueueB, 4,i: 38,672,632 msg/sec OptimistAtomicQueueB, 5,s: 40,818,657 msg/sec OptimistAtomicQueueB, 5,i: 46,066,623 msg/sec OptimistAtomicQueueB, 6,s: 40,667,154 msg/sec OptimistAtomicQueueB, 6,i: 49,030,164 msg/sec OptimistAtomicQueueB, 7,s: 41,542,295 msg/sec OptimistAtomicQueueB, 7,i: 47,676,152 msg/sec OptimistAtomicQueueB, 8,s: 44,549,208 msg/sec OptimistAtomicQueueB, 8,i: 48,148,902 msg/sec AtomicQueue2, 1,s: 23,378,511 msg/sec AtomicQueue2, 1,i: 23,104,768 msg/sec AtomicQueue2, 2,s: 11,821,630 msg/sec AtomicQueue2, 2,i: 11,670,457 msg/sec AtomicQueue2, 3,s: 9,992,344 msg/sec AtomicQueue2, 3,i: 9,355,452 msg/sec AtomicQueue2, 4,s: 8,001,760 msg/sec AtomicQueue2, 4,i: 8,044,143 msg/sec AtomicQueue2, 5,s: 7,952,117 msg/sec AtomicQueue2, 5,i: 8,013,362 msg/sec AtomicQueue2, 6,s: 7,772,533 msg/sec AtomicQueue2, 6,i: 7,523,939 msg/sec AtomicQueue2, 7,s: 7,121,697 msg/sec AtomicQueue2, 7,i: 7,924,470 msg/sec AtomicQueue2, 8,s: 6,401,803 msg/sec AtomicQueue2, 8,i: 7,358,063 msg/sec AtomicQueueB2, 1,s: 32,691,730 msg/sec AtomicQueueB2, 1,i: 32,743,889 msg/sec AtomicQueueB2, 2,s: 11,422,192 msg/sec AtomicQueueB2, 2,i: 11,126,096 msg/sec AtomicQueueB2, 3,s: 9,589,292 msg/sec AtomicQueueB2, 3,i: 9,339,004 msg/sec AtomicQueueB2, 4,s: 7,898,832 msg/sec AtomicQueueB2, 4,i: 7,859,464 msg/sec AtomicQueueB2, 5,s: 7,410,219 msg/sec AtomicQueueB2, 5,i: 7,674,614 msg/sec AtomicQueueB2, 6,s: 7,169,036 msg/sec AtomicQueueB2, 6,i: 7,431,549 msg/sec AtomicQueueB2, 7,s: 6,918,151 msg/sec AtomicQueueB2, 7,i: 7,504,530 msg/sec AtomicQueueB2, 8,s: 6,360,977 msg/sec AtomicQueueB2, 8,i: 7,101,100 msg/sec OptimistAtomicQueue2, 1,s: 449,718,948 msg/sec OptimistAtomicQueue2, 1,i: 31,669,723 msg/sec OptimistAtomicQueue2, 2,s: 25,250,538 msg/sec OptimistAtomicQueue2, 2,i: 24,015,274 msg/sec OptimistAtomicQueue2, 3,s: 30,330,999 msg/sec OptimistAtomicQueue2, 3,i: 29,943,610 msg/sec OptimistAtomicQueue2, 4,s: 33,148,895 msg/sec OptimistAtomicQueue2, 4,i: 33,405,012 msg/sec OptimistAtomicQueue2, 5,s: 37,463,435 msg/sec OptimistAtomicQueue2, 5,i: 41,295,963 msg/sec OptimistAtomicQueue2, 6,s: 40,225,028 msg/sec OptimistAtomicQueue2, 6,i: 49,079,060 msg/sec OptimistAtomicQueue2, 7,s: 43,136,540 msg/sec OptimistAtomicQueue2, 7,i: 48,030,061 msg/sec OptimistAtomicQueue2, 8,s: 44,344,850 msg/sec OptimistAtomicQueue2, 8,i: 48,424,845 msg/sec OptimistAtomicQueueB2, 1,s: 73,631,700 msg/sec OptimistAtomicQueueB2, 1,i: 33,931,940 msg/sec OptimistAtomicQueueB2, 2,s: 27,211,794 msg/sec OptimistAtomicQueueB2, 2,i: 28,951,208 msg/sec OptimistAtomicQueueB2, 3,s: 29,695,301 msg/sec OptimistAtomicQueueB2, 3,i: 29,687,232 msg/sec OptimistAtomicQueueB2, 4,s: 33,385,693 msg/sec OptimistAtomicQueueB2, 4,i: 32,167,168 msg/sec OptimistAtomicQueueB2, 5,s: 34,465,192 msg/sec OptimistAtomicQueueB2, 5,i: 39,361,155 msg/sec OptimistAtomicQueueB2, 6,s: 37,570,721 msg/sec OptimistAtomicQueueB2, 6,i: 41,972,303 msg/sec OptimistAtomicQueueB2, 7,s: 40,165,717 msg/sec OptimistAtomicQueueB2, 7,i: 43,197,000 msg/sec OptimistAtomicQueueB2, 8,s: 42,706,154 msg/sec OptimistAtomicQueueB2, 8,i: 45,117,948 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000222 sec/round-trip pthread_spinlock: 0.000000243 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000362 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [182] 241m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,417,449 msg/sec boost::lockfree::spsc_queue, 1,i: 67,639,767 msg/sec boost::lockfree::queue, 1,s: 6,886,882 msg/sec boost::lockfree::queue, 1,i: 6,811,780 msg/sec boost::lockfree::queue, 2,s: 7,619,067 msg/sec boost::lockfree::queue, 2,i: 7,559,472 msg/sec boost::lockfree::queue, 3,s: 7,445,787 msg/sec boost::lockfree::queue, 3,i: 7,588,037 msg/sec boost::lockfree::queue, 4,s: 6,429,448 msg/sec boost::lockfree::queue, 4,i: 6,754,598 msg/sec boost::lockfree::queue, 5,s: 6,457,791 msg/sec boost::lockfree::queue, 5,i: 6,455,480 msg/sec boost::lockfree::queue, 6,s: 5,976,269 msg/sec boost::lockfree::queue, 6,i: 6,152,924 msg/sec boost::lockfree::queue, 7,s: 5,846,676 msg/sec boost::lockfree::queue, 7,i: 5,931,539 msg/sec boost::lockfree::queue, 8,s: 5,497,565 msg/sec boost::lockfree::queue, 8,i: 5,600,298 msg/sec moodycamel::ReaderWriterQueue, 1,s: 148,571,356 msg/sec moodycamel::ReaderWriterQueue, 1,i: 106,155,906 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,071,050 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,883,311 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,746,896 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,396,350 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,653,721 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,894,402 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,213,768 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,289,882 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,325,256 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,658,631 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,280,940 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,134,206 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,255,584 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,017,228 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,549,961 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,937,565 msg/sec pthread_spinlock, 1,s: 29,010,396 msg/sec pthread_spinlock, 1,i: 25,299,039 msg/sec pthread_spinlock, 2,s: 15,592,081 msg/sec pthread_spinlock, 2,i: 17,119,670 msg/sec pthread_spinlock, 3,s: 8,412,367 msg/sec pthread_spinlock, 3,i: 11,960,017 msg/sec pthread_spinlock, 4,s: 6,487,463 msg/sec pthread_spinlock, 4,i: 9,138,212 msg/sec pthread_spinlock, 5,s: 8,776,695 msg/sec pthread_spinlock, 5,i: 10,349,207 msg/sec pthread_spinlock, 6,s: 8,388,013 msg/sec pthread_spinlock, 6,i: 8,449,157 msg/sec pthread_spinlock, 7,s: 7,471,843 msg/sec pthread_spinlock, 7,i: 7,523,454 msg/sec pthread_spinlock, 8,s: 6,654,043 msg/sec pthread_spinlock, 8,i: 7,477,272 msg/sec std::mutex, 1,s: 7,105,698 msg/sec std::mutex, 1,i: 7,699,583 msg/sec std::mutex, 2,s: 5,545,791 msg/sec std::mutex, 2,i: 5,280,366 msg/sec std::mutex, 3,s: 5,182,151 msg/sec std::mutex, 3,i: 5,041,749 msg/sec std::mutex, 4,s: 6,422,982 msg/sec std::mutex, 4,i: 6,641,265 msg/sec std::mutex, 5,s: 6,436,226 msg/sec std::mutex, 5,i: 6,252,051 msg/sec std::mutex, 6,s: 6,283,804 msg/sec std::mutex, 6,i: 6,224,659 msg/sec std::mutex, 7,s: 6,100,483 msg/sec std::mutex, 7,i: 6,164,496 msg/sec std::mutex, 8,s: 5,992,874 msg/sec std::mutex, 8,i: 6,032,230 msg/sec tbb::spin_mutex, 1,s: 37,783,641 msg/sec tbb::spin_mutex, 1,i: 32,953,283 msg/sec tbb::spin_mutex, 2,s: 21,274,909 msg/sec tbb::spin_mutex, 2,i: 18,377,445 msg/sec tbb::spin_mutex, 3,s: 8,286,266 msg/sec tbb::spin_mutex, 3,i: 10,291,366 msg/sec tbb::spin_mutex, 4,s: 3,221,254 msg/sec tbb::spin_mutex, 4,i: 6,221,167 msg/sec tbb::spin_mutex, 5,s: 5,590,224 msg/sec tbb::spin_mutex, 5,i: 5,692,525 msg/sec tbb::spin_mutex, 6,s: 5,329,197 msg/sec tbb::spin_mutex, 6,i: 4,343,976 msg/sec tbb::spin_mutex, 7,s: 4,465,028 msg/sec tbb::spin_mutex, 7,i: 4,318,179 msg/sec tbb::spin_mutex, 8,s: 4,254,182 msg/sec tbb::spin_mutex, 8,i: 4,085,044 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,114,817 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,963,562 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,129,900 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,961,328 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,360,053 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,537,513 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,014,597 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,172,126 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,737,849 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,375,526 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,603,479 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,697,030 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,585,796 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,081,338 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,684,738 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,900,446 msg/sec xenium::michael_scott_queue, 1,s: 9,450,722 msg/sec xenium::michael_scott_queue, 1,i: 9,427,229 msg/sec xenium::michael_scott_queue, 2,s: 8,360,540 msg/sec xenium::michael_scott_queue, 2,i: 8,550,517 msg/sec xenium::michael_scott_queue, 3,s: 7,266,316 msg/sec xenium::michael_scott_queue, 3,i: 7,526,872 msg/sec xenium::michael_scott_queue, 4,s: 6,318,342 msg/sec xenium::michael_scott_queue, 4,i: 6,286,726 msg/sec xenium::michael_scott_queue, 5,s: 6,296,352 msg/sec xenium::michael_scott_queue, 5,i: 6,768,711 msg/sec xenium::michael_scott_queue, 6,s: 6,526,637 msg/sec xenium::michael_scott_queue, 6,i: 6,805,758 msg/sec xenium::michael_scott_queue, 7,s: 6,340,408 msg/sec xenium::michael_scott_queue, 7,i: 6,548,660 msg/sec xenium::michael_scott_queue, 8,s: 5,997,621 msg/sec xenium::michael_scott_queue, 8,i: 6,123,368 msg/sec xenium::ramalhete_queue, 1,s: 32,833,633 msg/sec xenium::ramalhete_queue, 1,i: 32,589,800 msg/sec xenium::ramalhete_queue, 2,s: 24,339,467 msg/sec xenium::ramalhete_queue, 2,i: 24,260,739 msg/sec xenium::ramalhete_queue, 3,s: 29,227,831 msg/sec xenium::ramalhete_queue, 3,i: 28,544,323 msg/sec xenium::ramalhete_queue, 4,s: 33,832,247 msg/sec xenium::ramalhete_queue, 4,i: 33,476,155 msg/sec xenium::ramalhete_queue, 5,s: 32,349,782 msg/sec xenium::ramalhete_queue, 5,i: 36,521,001 msg/sec xenium::ramalhete_queue, 6,s: 33,802,050 msg/sec xenium::ramalhete_queue, 6,i: 39,390,172 msg/sec xenium::ramalhete_queue, 7,s: 35,020,020 msg/sec xenium::ramalhete_queue, 7,i: 41,188,900 msg/sec xenium::ramalhete_queue, 8,s: 35,297,129 msg/sec xenium::ramalhete_queue, 8,i: 43,827,812 msg/sec xenium::vyukov_bounded_queue, 1,s: 111,206,309 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,949,717 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,047,782 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,859,263 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,659,429 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,924,630 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,468,292 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,178,110 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,007,122 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,337,575 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,039,432 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,161,024 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,078,153 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,037,505 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,386,014 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,528,993 msg/sec AtomicQueue, 1,s: 61,333,043 msg/sec AtomicQueue, 1,i: 57,030,128 msg/sec AtomicQueue, 2,s: 12,346,263 msg/sec AtomicQueue, 2,i: 11,765,362 msg/sec AtomicQueue, 3,s: 10,715,060 msg/sec AtomicQueue, 3,i: 10,046,603 msg/sec AtomicQueue, 4,s: 8,200,570 msg/sec AtomicQueue, 4,i: 8,208,381 msg/sec AtomicQueue, 5,s: 7,962,511 msg/sec AtomicQueue, 5,i: 8,090,010 msg/sec AtomicQueue, 6,s: 7,904,004 msg/sec AtomicQueue, 6,i: 7,614,371 msg/sec AtomicQueue, 7,s: 7,069,152 msg/sec AtomicQueue, 7,i: 7,994,935 msg/sec AtomicQueue, 8,s: 6,313,828 msg/sec AtomicQueue, 8,i: 7,435,280 msg/sec AtomicQueueB, 1,s: 43,903,178 msg/sec AtomicQueueB, 1,i: 42,999,428 msg/sec AtomicQueueB, 2,s: 11,806,617 msg/sec AtomicQueueB, 2,i: 11,514,316 msg/sec AtomicQueueB, 3,s: 11,015,894 msg/sec AtomicQueueB, 3,i: 10,080,882 msg/sec AtomicQueueB, 4,s: 8,016,907 msg/sec AtomicQueueB, 4,i: 8,062,184 msg/sec AtomicQueueB, 5,s: 7,622,128 msg/sec AtomicQueueB, 5,i: 7,871,757 msg/sec AtomicQueueB, 6,s: 7,334,792 msg/sec AtomicQueueB, 6,i: 7,501,523 msg/sec AtomicQueueB, 7,s: 6,914,722 msg/sec AtomicQueueB, 7,i: 7,724,803 msg/sec AtomicQueueB, 8,s: 6,291,459 msg/sec AtomicQueueB, 8,i: 7,153,215 msg/sec OptimistAtomicQueue, 1,s: 727,510,954 msg/sec OptimistAtomicQueue, 1,i: 525,564,370 msg/sec OptimistAtomicQueue, 2,s: 32,655,726 msg/sec OptimistAtomicQueue, 2,i: 32,708,241 msg/sec OptimistAtomicQueue, 3,s: 36,620,270 msg/sec OptimistAtomicQueue, 3,i: 37,334,965 msg/sec OptimistAtomicQueue, 4,s: 39,263,087 msg/sec OptimistAtomicQueue, 4,i: 39,372,164 msg/sec OptimistAtomicQueue, 5,s: 42,498,714 msg/sec OptimistAtomicQueue, 5,i: 46,023,117 msg/sec OptimistAtomicQueue, 6,s: 42,227,913 msg/sec OptimistAtomicQueue, 6,i: 50,508,988 msg/sec OptimistAtomicQueue, 7,s: 44,991,248 msg/sec OptimistAtomicQueue, 7,i: 49,199,911 msg/sec OptimistAtomicQueue, 8,s: 46,370,863 msg/sec OptimistAtomicQueue, 8,i: 48,853,457 msg/sec OptimistAtomicQueueB, 1,s: 117,306,545 msg/sec OptimistAtomicQueueB, 1,i: 77,536,421 msg/sec OptimistAtomicQueueB, 2,s: 32,150,344 msg/sec OptimistAtomicQueueB, 2,i: 32,134,193 msg/sec OptimistAtomicQueueB, 3,s: 36,232,749 msg/sec OptimistAtomicQueueB, 3,i: 36,893,936 msg/sec OptimistAtomicQueueB, 4,s: 38,611,759 msg/sec OptimistAtomicQueueB, 4,i: 38,522,968 msg/sec OptimistAtomicQueueB, 5,s: 41,120,827 msg/sec OptimistAtomicQueueB, 5,i: 44,431,155 msg/sec OptimistAtomicQueueB, 6,s: 41,120,047 msg/sec OptimistAtomicQueueB, 6,i: 49,060,001 msg/sec OptimistAtomicQueueB, 7,s: 41,848,752 msg/sec OptimistAtomicQueueB, 7,i: 51,392,144 msg/sec OptimistAtomicQueueB, 8,s: 44,447,518 msg/sec OptimistAtomicQueueB, 8,i: 48,161,442 msg/sec AtomicQueue2, 1,s: 22,894,449 msg/sec AtomicQueue2, 1,i: 22,871,341 msg/sec AtomicQueue2, 2,s: 11,624,292 msg/sec AtomicQueue2, 2,i: 11,425,313 msg/sec AtomicQueue2, 3,s: 9,401,144 msg/sec AtomicQueue2, 3,i: 9,380,521 msg/sec AtomicQueue2, 4,s: 8,034,699 msg/sec AtomicQueue2, 4,i: 8,037,270 msg/sec AtomicQueue2, 5,s: 7,948,080 msg/sec AtomicQueue2, 5,i: 7,919,090 msg/sec AtomicQueue2, 6,s: 7,859,415 msg/sec AtomicQueue2, 6,i: 7,541,032 msg/sec AtomicQueue2, 7,s: 7,135,412 msg/sec AtomicQueue2, 7,i: 7,892,109 msg/sec AtomicQueue2, 8,s: 6,391,281 msg/sec AtomicQueue2, 8,i: 7,413,785 msg/sec AtomicQueueB2, 1,s: 36,253,828 msg/sec AtomicQueueB2, 1,i: 32,642,835 msg/sec AtomicQueueB2, 2,s: 11,425,958 msg/sec AtomicQueueB2, 2,i: 11,104,608 msg/sec AtomicQueueB2, 3,s: 9,682,787 msg/sec AtomicQueueB2, 3,i: 9,616,496 msg/sec AtomicQueueB2, 4,s: 7,888,646 msg/sec AtomicQueueB2, 4,i: 7,869,716 msg/sec AtomicQueueB2, 5,s: 7,435,281 msg/sec AtomicQueueB2, 5,i: 7,704,904 msg/sec AtomicQueueB2, 6,s: 7,308,403 msg/sec AtomicQueueB2, 6,i: 7,470,721 msg/sec AtomicQueueB2, 7,s: 6,887,955 msg/sec AtomicQueueB2, 7,i: 7,677,593 msg/sec AtomicQueueB2, 8,s: 6,274,835 msg/sec AtomicQueueB2, 8,i: 7,097,937 msg/sec OptimistAtomicQueue2, 1,s: 478,079,516 msg/sec OptimistAtomicQueue2, 1,i: 32,096,101 msg/sec OptimistAtomicQueue2, 2,s: 24,258,824 msg/sec OptimistAtomicQueue2, 2,i: 25,940,082 msg/sec OptimistAtomicQueue2, 3,s: 30,294,277 msg/sec OptimistAtomicQueue2, 3,i: 29,895,742 msg/sec OptimistAtomicQueue2, 4,s: 33,213,094 msg/sec OptimistAtomicQueue2, 4,i: 33,277,756 msg/sec OptimistAtomicQueue2, 5,s: 37,036,731 msg/sec OptimistAtomicQueue2, 5,i: 41,064,695 msg/sec OptimistAtomicQueue2, 6,s: 40,377,171 msg/sec OptimistAtomicQueue2, 6,i: 48,693,736 msg/sec OptimistAtomicQueue2, 7,s: 42,748,789 msg/sec OptimistAtomicQueue2, 7,i: 51,537,126 msg/sec OptimistAtomicQueue2, 8,s: 43,903,202 msg/sec OptimistAtomicQueue2, 8,i: 48,676,126 msg/sec OptimistAtomicQueueB2, 1,s: 76,228,037 msg/sec OptimistAtomicQueueB2, 1,i: 76,145,683 msg/sec OptimistAtomicQueueB2, 2,s: 27,155,458 msg/sec OptimistAtomicQueueB2, 2,i: 23,189,500 msg/sec OptimistAtomicQueueB2, 3,s: 29,944,815 msg/sec OptimistAtomicQueueB2, 3,i: 29,648,639 msg/sec OptimistAtomicQueueB2, 4,s: 32,281,664 msg/sec OptimistAtomicQueueB2, 4,i: 32,127,013 msg/sec OptimistAtomicQueueB2, 5,s: 34,338,027 msg/sec OptimistAtomicQueueB2, 5,i: 39,613,707 msg/sec OptimistAtomicQueueB2, 6,s: 37,567,139 msg/sec OptimistAtomicQueueB2, 6,i: 42,490,737 msg/sec OptimistAtomicQueueB2, 7,s: 40,401,684 msg/sec OptimistAtomicQueueB2, 7,i: 43,199,156 msg/sec OptimistAtomicQueueB2, 8,s: 42,305,742 msg/sec OptimistAtomicQueueB2, 8,i: 45,941,282 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000258 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [183] 239m:55s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,949,729 msg/sec boost::lockfree::spsc_queue, 1,i: 68,196,718 msg/sec boost::lockfree::queue, 1,s: 6,813,104 msg/sec boost::lockfree::queue, 1,i: 6,957,917 msg/sec boost::lockfree::queue, 2,s: 7,532,448 msg/sec boost::lockfree::queue, 2,i: 7,447,676 msg/sec boost::lockfree::queue, 3,s: 7,430,968 msg/sec boost::lockfree::queue, 3,i: 7,569,306 msg/sec boost::lockfree::queue, 4,s: 6,422,360 msg/sec boost::lockfree::queue, 4,i: 6,808,476 msg/sec boost::lockfree::queue, 5,s: 6,491,528 msg/sec boost::lockfree::queue, 5,i: 6,430,750 msg/sec boost::lockfree::queue, 6,s: 6,041,147 msg/sec boost::lockfree::queue, 6,i: 6,090,035 msg/sec boost::lockfree::queue, 7,s: 5,904,984 msg/sec boost::lockfree::queue, 7,i: 5,926,504 msg/sec boost::lockfree::queue, 8,s: 5,489,599 msg/sec boost::lockfree::queue, 8,i: 5,600,671 msg/sec moodycamel::ReaderWriterQueue, 1,s: 201,461,715 msg/sec moodycamel::ReaderWriterQueue, 1,i: 64,005,669 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,037,892 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,712,912 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,752,121 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,454,970 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,148,860 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,579,407 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,325,957 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,760,012 msg/sec moodycamel::ConcurrentQueue, 5,s: 45,465,485 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,706,294 msg/sec moodycamel::ConcurrentQueue, 6,s: 46,227,009 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,915,139 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,355,634 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,642,344 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,081,015 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,964,175 msg/sec pthread_spinlock, 1,s: 29,015,923 msg/sec pthread_spinlock, 1,i: 25,330,502 msg/sec pthread_spinlock, 2,s: 15,566,799 msg/sec pthread_spinlock, 2,i: 17,975,079 msg/sec pthread_spinlock, 3,s: 8,362,166 msg/sec pthread_spinlock, 3,i: 12,111,473 msg/sec pthread_spinlock, 4,s: 6,546,275 msg/sec pthread_spinlock, 4,i: 9,137,875 msg/sec pthread_spinlock, 5,s: 8,714,710 msg/sec pthread_spinlock, 5,i: 9,512,384 msg/sec pthread_spinlock, 6,s: 8,217,387 msg/sec pthread_spinlock, 6,i: 8,615,454 msg/sec pthread_spinlock, 7,s: 7,507,174 msg/sec pthread_spinlock, 7,i: 7,665,426 msg/sec pthread_spinlock, 8,s: 6,811,554 msg/sec pthread_spinlock, 8,i: 6,978,990 msg/sec std::mutex, 1,s: 6,248,572 msg/sec std::mutex, 1,i: 7,739,990 msg/sec std::mutex, 2,s: 6,044,414 msg/sec std::mutex, 2,i: 6,244,462 msg/sec std::mutex, 3,s: 6,127,667 msg/sec std::mutex, 3,i: 5,863,193 msg/sec std::mutex, 4,s: 5,661,822 msg/sec std::mutex, 4,i: 5,891,094 msg/sec std::mutex, 5,s: 5,736,212 msg/sec std::mutex, 5,i: 6,200,870 msg/sec std::mutex, 6,s: 6,176,917 msg/sec std::mutex, 6,i: 6,108,211 msg/sec std::mutex, 7,s: 5,946,883 msg/sec std::mutex, 7,i: 5,991,413 msg/sec std::mutex, 8,s: 5,769,798 msg/sec std::mutex, 8,i: 5,801,636 msg/sec tbb::spin_mutex, 1,s: 37,768,981 msg/sec tbb::spin_mutex, 1,i: 33,041,091 msg/sec tbb::spin_mutex, 2,s: 21,074,220 msg/sec tbb::spin_mutex, 2,i: 18,352,276 msg/sec tbb::spin_mutex, 3,s: 8,795,269 msg/sec tbb::spin_mutex, 3,i: 10,224,873 msg/sec tbb::spin_mutex, 4,s: 3,230,991 msg/sec tbb::spin_mutex, 4,i: 6,293,936 msg/sec tbb::spin_mutex, 5,s: 5,299,025 msg/sec tbb::spin_mutex, 5,i: 5,694,074 msg/sec tbb::spin_mutex, 6,s: 5,258,057 msg/sec tbb::spin_mutex, 6,i: 4,392,787 msg/sec tbb::spin_mutex, 7,s: 4,862,088 msg/sec tbb::spin_mutex, 7,i: 4,366,451 msg/sec tbb::spin_mutex, 8,s: 4,258,044 msg/sec tbb::spin_mutex, 8,i: 4,087,627 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,254,416 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,308,672 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,497,923 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,829,884 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,383,515 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,617,029 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,086,048 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,508,704 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,647,086 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,528,866 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,762,427 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,580,714 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,800,966 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,726,471 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,088,335 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,079,992 msg/sec xenium::michael_scott_queue, 1,s: 9,241,788 msg/sec xenium::michael_scott_queue, 1,i: 9,271,560 msg/sec xenium::michael_scott_queue, 2,s: 8,496,126 msg/sec xenium::michael_scott_queue, 2,i: 8,628,527 msg/sec xenium::michael_scott_queue, 3,s: 7,295,710 msg/sec xenium::michael_scott_queue, 3,i: 7,579,532 msg/sec xenium::michael_scott_queue, 4,s: 6,322,783 msg/sec xenium::michael_scott_queue, 4,i: 6,305,685 msg/sec xenium::michael_scott_queue, 5,s: 6,288,542 msg/sec xenium::michael_scott_queue, 5,i: 6,642,000 msg/sec xenium::michael_scott_queue, 6,s: 6,542,382 msg/sec xenium::michael_scott_queue, 6,i: 6,931,159 msg/sec xenium::michael_scott_queue, 7,s: 6,241,756 msg/sec xenium::michael_scott_queue, 7,i: 6,510,513 msg/sec xenium::michael_scott_queue, 8,s: 5,952,501 msg/sec xenium::michael_scott_queue, 8,i: 6,275,772 msg/sec xenium::ramalhete_queue, 1,s: 31,931,961 msg/sec xenium::ramalhete_queue, 1,i: 32,034,058 msg/sec xenium::ramalhete_queue, 2,s: 24,403,498 msg/sec xenium::ramalhete_queue, 2,i: 23,576,825 msg/sec xenium::ramalhete_queue, 3,s: 29,138,108 msg/sec xenium::ramalhete_queue, 3,i: 28,440,407 msg/sec xenium::ramalhete_queue, 4,s: 33,871,513 msg/sec xenium::ramalhete_queue, 4,i: 33,447,129 msg/sec xenium::ramalhete_queue, 5,s: 32,106,259 msg/sec xenium::ramalhete_queue, 5,i: 38,348,719 msg/sec xenium::ramalhete_queue, 6,s: 33,944,636 msg/sec xenium::ramalhete_queue, 6,i: 39,562,744 msg/sec xenium::ramalhete_queue, 7,s: 35,091,765 msg/sec xenium::ramalhete_queue, 7,i: 41,099,841 msg/sec xenium::ramalhete_queue, 8,s: 35,482,254 msg/sec xenium::ramalhete_queue, 8,i: 43,707,833 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,558,795 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,176,586 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,748,754 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,143,971 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,607,641 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,743,879 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,566,954 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,299,272 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,356,139 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,383,002 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,889,531 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,221,968 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,204,364 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,382,335 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,437,569 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,336,647 msg/sec AtomicQueue, 1,s: 60,003,986 msg/sec AtomicQueue, 1,i: 56,960,197 msg/sec AtomicQueue, 2,s: 12,450,640 msg/sec AtomicQueue, 2,i: 11,726,012 msg/sec AtomicQueue, 3,s: 10,830,583 msg/sec AtomicQueue, 3,i: 9,966,465 msg/sec AtomicQueue, 4,s: 8,175,752 msg/sec AtomicQueue, 4,i: 8,178,739 msg/sec AtomicQueue, 5,s: 8,034,653 msg/sec AtomicQueue, 5,i: 8,124,063 msg/sec AtomicQueue, 6,s: 7,724,327 msg/sec AtomicQueue, 6,i: 7,612,039 msg/sec AtomicQueue, 7,s: 7,152,959 msg/sec AtomicQueue, 7,i: 7,971,746 msg/sec AtomicQueue, 8,s: 6,364,560 msg/sec AtomicQueue, 8,i: 7,437,123 msg/sec AtomicQueueB, 1,s: 45,275,572 msg/sec AtomicQueueB, 1,i: 44,419,207 msg/sec AtomicQueueB, 2,s: 11,783,456 msg/sec AtomicQueueB, 2,i: 11,438,410 msg/sec AtomicQueueB, 3,s: 11,020,836 msg/sec AtomicQueueB, 3,i: 10,146,371 msg/sec AtomicQueueB, 4,s: 8,083,704 msg/sec AtomicQueueB, 4,i: 8,060,406 msg/sec AtomicQueueB, 5,s: 7,676,677 msg/sec AtomicQueueB, 5,i: 7,802,062 msg/sec AtomicQueueB, 6,s: 7,189,696 msg/sec AtomicQueueB, 6,i: 7,540,882 msg/sec AtomicQueueB, 7,s: 6,858,973 msg/sec AtomicQueueB, 7,i: 7,673,753 msg/sec AtomicQueueB, 8,s: 6,206,154 msg/sec AtomicQueueB, 8,i: 7,131,954 msg/sec OptimistAtomicQueue, 1,s: 706,803,692 msg/sec OptimistAtomicQueue, 1,i: 701,493,233 msg/sec OptimistAtomicQueue, 2,s: 32,645,957 msg/sec OptimistAtomicQueue, 2,i: 32,211,778 msg/sec OptimistAtomicQueue, 3,s: 36,640,546 msg/sec OptimistAtomicQueue, 3,i: 37,332,968 msg/sec OptimistAtomicQueue, 4,s: 39,266,045 msg/sec OptimistAtomicQueue, 4,i: 39,409,675 msg/sec OptimistAtomicQueue, 5,s: 41,747,327 msg/sec OptimistAtomicQueue, 5,i: 48,360,841 msg/sec OptimistAtomicQueue, 6,s: 42,443,662 msg/sec OptimistAtomicQueue, 6,i: 50,451,345 msg/sec OptimistAtomicQueue, 7,s: 43,953,516 msg/sec OptimistAtomicQueue, 7,i: 49,426,398 msg/sec OptimistAtomicQueue, 8,s: 46,373,260 msg/sec OptimistAtomicQueue, 8,i: 48,921,064 msg/sec OptimistAtomicQueueB, 1,s: 122,725,983 msg/sec OptimistAtomicQueueB, 1,i: 77,262,431 msg/sec OptimistAtomicQueueB, 2,s: 32,122,083 msg/sec OptimistAtomicQueueB, 2,i: 32,219,555 msg/sec OptimistAtomicQueueB, 3,s: 36,310,227 msg/sec OptimistAtomicQueueB, 3,i: 36,865,631 msg/sec OptimistAtomicQueueB, 4,s: 38,661,727 msg/sec OptimistAtomicQueueB, 4,i: 38,508,100 msg/sec OptimistAtomicQueueB, 5,s: 40,938,256 msg/sec OptimistAtomicQueueB, 5,i: 45,315,405 msg/sec OptimistAtomicQueueB, 6,s: 41,094,842 msg/sec OptimistAtomicQueueB, 6,i: 48,518,715 msg/sec OptimistAtomicQueueB, 7,s: 42,548,770 msg/sec OptimistAtomicQueueB, 7,i: 50,487,353 msg/sec OptimistAtomicQueueB, 8,s: 44,694,560 msg/sec OptimistAtomicQueueB, 8,i: 48,276,414 msg/sec AtomicQueue2, 1,s: 22,875,854 msg/sec AtomicQueue2, 1,i: 22,863,186 msg/sec AtomicQueue2, 2,s: 11,808,450 msg/sec AtomicQueue2, 2,i: 11,434,238 msg/sec AtomicQueue2, 3,s: 9,448,602 msg/sec AtomicQueue2, 3,i: 9,530,208 msg/sec AtomicQueue2, 4,s: 8,078,065 msg/sec AtomicQueue2, 4,i: 8,058,671 msg/sec AtomicQueue2, 5,s: 7,933,850 msg/sec AtomicQueue2, 5,i: 8,003,948 msg/sec AtomicQueue2, 6,s: 7,853,922 msg/sec AtomicQueue2, 6,i: 7,503,015 msg/sec AtomicQueue2, 7,s: 7,121,295 msg/sec AtomicQueue2, 7,i: 7,894,079 msg/sec AtomicQueue2, 8,s: 6,390,538 msg/sec AtomicQueue2, 8,i: 7,359,615 msg/sec AtomicQueueB2, 1,s: 36,405,095 msg/sec AtomicQueueB2, 1,i: 32,608,022 msg/sec AtomicQueueB2, 2,s: 11,400,788 msg/sec AtomicQueueB2, 2,i: 11,113,371 msg/sec AtomicQueueB2, 3,s: 9,535,919 msg/sec AtomicQueueB2, 3,i: 9,530,566 msg/sec AtomicQueueB2, 4,s: 7,952,456 msg/sec AtomicQueueB2, 4,i: 7,799,800 msg/sec AtomicQueueB2, 5,s: 7,406,005 msg/sec AtomicQueueB2, 5,i: 7,732,090 msg/sec AtomicQueueB2, 6,s: 7,302,359 msg/sec AtomicQueueB2, 6,i: 7,444,106 msg/sec AtomicQueueB2, 7,s: 6,949,481 msg/sec AtomicQueueB2, 7,i: 7,712,010 msg/sec AtomicQueueB2, 8,s: 6,294,336 msg/sec AtomicQueueB2, 8,i: 7,088,853 msg/sec OptimistAtomicQueue2, 1,s: 472,660,992 msg/sec OptimistAtomicQueue2, 1,i: 30,876,667 msg/sec OptimistAtomicQueue2, 2,s: 24,310,368 msg/sec OptimistAtomicQueue2, 2,i: 24,027,869 msg/sec OptimistAtomicQueue2, 3,s: 30,563,863 msg/sec OptimistAtomicQueue2, 3,i: 29,944,495 msg/sec OptimistAtomicQueue2, 4,s: 33,304,200 msg/sec OptimistAtomicQueue2, 4,i: 33,184,269 msg/sec OptimistAtomicQueue2, 5,s: 37,170,224 msg/sec OptimistAtomicQueue2, 5,i: 41,075,446 msg/sec OptimistAtomicQueue2, 6,s: 40,410,800 msg/sec OptimistAtomicQueue2, 6,i: 49,163,630 msg/sec OptimistAtomicQueue2, 7,s: 43,298,038 msg/sec OptimistAtomicQueue2, 7,i: 47,983,944 msg/sec OptimistAtomicQueue2, 8,s: 44,104,515 msg/sec OptimistAtomicQueue2, 8,i: 48,250,143 msg/sec OptimistAtomicQueueB2, 1,s: 75,946,695 msg/sec OptimistAtomicQueueB2, 1,i: 58,400,281 msg/sec OptimistAtomicQueueB2, 2,s: 27,936,589 msg/sec OptimistAtomicQueueB2, 2,i: 25,344,151 msg/sec OptimistAtomicQueueB2, 3,s: 29,634,546 msg/sec OptimistAtomicQueueB2, 3,i: 30,129,666 msg/sec OptimistAtomicQueueB2, 4,s: 33,247,326 msg/sec OptimistAtomicQueueB2, 4,i: 33,031,779 msg/sec OptimistAtomicQueueB2, 5,s: 34,586,295 msg/sec OptimistAtomicQueueB2, 5,i: 39,312,485 msg/sec OptimistAtomicQueueB2, 6,s: 37,329,150 msg/sec OptimistAtomicQueueB2, 6,i: 42,403,734 msg/sec OptimistAtomicQueueB2, 7,s: 40,772,980 msg/sec OptimistAtomicQueueB2, 7,i: 45,703,673 msg/sec OptimistAtomicQueueB2, 8,s: 42,434,924 msg/sec OptimistAtomicQueueB2, 8,i: 45,920,913 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000325 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000236 sec/round-trip pthread_spinlock: 0.000000240 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000285 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000273 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [184] 238m:36s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,661,426 msg/sec boost::lockfree::spsc_queue, 1,i: 67,659,321 msg/sec boost::lockfree::queue, 1,s: 6,912,966 msg/sec boost::lockfree::queue, 1,i: 7,008,321 msg/sec boost::lockfree::queue, 2,s: 7,620,638 msg/sec boost::lockfree::queue, 2,i: 7,408,006 msg/sec boost::lockfree::queue, 3,s: 7,356,946 msg/sec boost::lockfree::queue, 3,i: 7,572,676 msg/sec boost::lockfree::queue, 4,s: 6,425,430 msg/sec boost::lockfree::queue, 4,i: 6,822,284 msg/sec boost::lockfree::queue, 5,s: 6,453,148 msg/sec boost::lockfree::queue, 5,i: 6,474,366 msg/sec boost::lockfree::queue, 6,s: 6,036,167 msg/sec boost::lockfree::queue, 6,i: 6,130,710 msg/sec boost::lockfree::queue, 7,s: 5,873,466 msg/sec boost::lockfree::queue, 7,i: 6,021,097 msg/sec boost::lockfree::queue, 8,s: 5,435,776 msg/sec boost::lockfree::queue, 8,i: 5,549,608 msg/sec moodycamel::ReaderWriterQueue, 1,s: 366,761,404 msg/sec moodycamel::ReaderWriterQueue, 1,i: 376,107,401 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,007,332 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,495,338 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,156,183 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,458,405 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,189,406 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,917,504 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,984,876 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,087,854 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,304,184 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,649,042 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,623,393 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,161,558 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,053,290 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,590,065 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,266,098 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,726,332 msg/sec pthread_spinlock, 1,s: 28,898,188 msg/sec pthread_spinlock, 1,i: 25,265,055 msg/sec pthread_spinlock, 2,s: 15,444,616 msg/sec pthread_spinlock, 2,i: 17,122,224 msg/sec pthread_spinlock, 3,s: 8,320,489 msg/sec pthread_spinlock, 3,i: 11,970,272 msg/sec pthread_spinlock, 4,s: 6,502,584 msg/sec pthread_spinlock, 4,i: 9,048,664 msg/sec pthread_spinlock, 5,s: 8,665,145 msg/sec pthread_spinlock, 5,i: 9,488,215 msg/sec pthread_spinlock, 6,s: 8,292,610 msg/sec pthread_spinlock, 6,i: 8,575,230 msg/sec pthread_spinlock, 7,s: 7,669,165 msg/sec pthread_spinlock, 7,i: 7,569,465 msg/sec pthread_spinlock, 8,s: 6,868,799 msg/sec pthread_spinlock, 8,i: 6,898,776 msg/sec std::mutex, 1,s: 5,372,721 msg/sec std::mutex, 1,i: 6,167,369 msg/sec std::mutex, 2,s: 5,989,718 msg/sec std::mutex, 2,i: 6,181,785 msg/sec std::mutex, 3,s: 5,399,678 msg/sec std::mutex, 3,i: 5,439,846 msg/sec std::mutex, 4,s: 5,653,560 msg/sec std::mutex, 4,i: 6,251,968 msg/sec std::mutex, 5,s: 5,692,725 msg/sec std::mutex, 5,i: 6,041,751 msg/sec std::mutex, 6,s: 6,074,297 msg/sec std::mutex, 6,i: 6,033,193 msg/sec std::mutex, 7,s: 5,918,372 msg/sec std::mutex, 7,i: 5,990,840 msg/sec std::mutex, 8,s: 5,758,452 msg/sec std::mutex, 8,i: 5,812,179 msg/sec tbb::spin_mutex, 1,s: 37,635,219 msg/sec tbb::spin_mutex, 1,i: 32,946,614 msg/sec tbb::spin_mutex, 2,s: 21,158,398 msg/sec tbb::spin_mutex, 2,i: 18,418,946 msg/sec tbb::spin_mutex, 3,s: 7,827,847 msg/sec tbb::spin_mutex, 3,i: 10,350,332 msg/sec tbb::spin_mutex, 4,s: 3,324,091 msg/sec tbb::spin_mutex, 4,i: 6,300,016 msg/sec tbb::spin_mutex, 5,s: 5,437,131 msg/sec tbb::spin_mutex, 5,i: 5,707,747 msg/sec tbb::spin_mutex, 6,s: 5,349,595 msg/sec tbb::spin_mutex, 6,i: 4,275,206 msg/sec tbb::spin_mutex, 7,s: 4,851,421 msg/sec tbb::spin_mutex, 7,i: 4,369,788 msg/sec tbb::spin_mutex, 8,s: 4,263,984 msg/sec tbb::spin_mutex, 8,i: 4,084,841 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,106,517 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,501,862 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,809,267 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,129,857 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,188,366 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,257,462 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,024,295 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,201,552 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,596,992 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,377,857 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,616,036 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,733,468 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,364,829 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,105,219 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,728,593 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,905,366 msg/sec xenium::michael_scott_queue, 1,s: 9,262,432 msg/sec xenium::michael_scott_queue, 1,i: 9,147,301 msg/sec xenium::michael_scott_queue, 2,s: 8,412,742 msg/sec xenium::michael_scott_queue, 2,i: 8,396,812 msg/sec xenium::michael_scott_queue, 3,s: 7,274,162 msg/sec xenium::michael_scott_queue, 3,i: 7,570,841 msg/sec xenium::michael_scott_queue, 4,s: 6,348,836 msg/sec xenium::michael_scott_queue, 4,i: 6,425,300 msg/sec xenium::michael_scott_queue, 5,s: 6,301,899 msg/sec xenium::michael_scott_queue, 5,i: 6,653,171 msg/sec xenium::michael_scott_queue, 6,s: 6,532,132 msg/sec xenium::michael_scott_queue, 6,i: 7,074,076 msg/sec xenium::michael_scott_queue, 7,s: 6,262,588 msg/sec xenium::michael_scott_queue, 7,i: 6,550,211 msg/sec xenium::michael_scott_queue, 8,s: 5,977,016 msg/sec xenium::michael_scott_queue, 8,i: 6,134,716 msg/sec xenium::ramalhete_queue, 1,s: 31,831,860 msg/sec xenium::ramalhete_queue, 1,i: 31,942,018 msg/sec xenium::ramalhete_queue, 2,s: 23,482,650 msg/sec xenium::ramalhete_queue, 2,i: 23,446,861 msg/sec xenium::ramalhete_queue, 3,s: 29,137,372 msg/sec xenium::ramalhete_queue, 3,i: 28,440,846 msg/sec xenium::ramalhete_queue, 4,s: 33,788,457 msg/sec xenium::ramalhete_queue, 4,i: 33,478,782 msg/sec xenium::ramalhete_queue, 5,s: 32,281,359 msg/sec xenium::ramalhete_queue, 5,i: 36,101,272 msg/sec xenium::ramalhete_queue, 6,s: 33,951,463 msg/sec xenium::ramalhete_queue, 6,i: 38,998,826 msg/sec xenium::ramalhete_queue, 7,s: 35,019,927 msg/sec xenium::ramalhete_queue, 7,i: 41,419,363 msg/sec xenium::ramalhete_queue, 8,s: 35,530,315 msg/sec xenium::ramalhete_queue, 8,i: 44,218,676 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,279,423 msg/sec xenium::vyukov_bounded_queue, 1,i: 72,778,277 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,729,073 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,246,507 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,575,986 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,905,229 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,469,305 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,271,456 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,464,439 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,214,904 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,051,595 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,407,664 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,202,581 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,022,966 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,436,972 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,244,697 msg/sec AtomicQueue, 1,s: 236,714,992 msg/sec AtomicQueue, 1,i: 159,080,792 msg/sec AtomicQueue, 2,s: 12,241,089 msg/sec AtomicQueue, 2,i: 11,705,541 msg/sec AtomicQueue, 3,s: 10,810,874 msg/sec AtomicQueue, 3,i: 10,014,584 msg/sec AtomicQueue, 4,s: 8,164,808 msg/sec AtomicQueue, 4,i: 8,154,366 msg/sec AtomicQueue, 5,s: 8,057,262 msg/sec AtomicQueue, 5,i: 8,067,447 msg/sec AtomicQueue, 6,s: 7,705,531 msg/sec AtomicQueue, 6,i: 7,615,514 msg/sec AtomicQueue, 7,s: 7,133,202 msg/sec AtomicQueue, 7,i: 7,989,096 msg/sec AtomicQueue, 8,s: 6,305,365 msg/sec AtomicQueue, 8,i: 7,500,168 msg/sec AtomicQueueB, 1,s: 44,080,010 msg/sec AtomicQueueB, 1,i: 43,524,732 msg/sec AtomicQueueB, 2,s: 11,973,646 msg/sec AtomicQueueB, 2,i: 11,524,684 msg/sec AtomicQueueB, 3,s: 10,990,415 msg/sec AtomicQueueB, 3,i: 10,040,347 msg/sec AtomicQueueB, 4,s: 8,088,755 msg/sec AtomicQueueB, 4,i: 7,933,354 msg/sec AtomicQueueB, 5,s: 7,524,417 msg/sec AtomicQueueB, 5,i: 7,778,104 msg/sec AtomicQueueB, 6,s: 7,188,097 msg/sec AtomicQueueB, 6,i: 7,531,522 msg/sec AtomicQueueB, 7,s: 6,821,569 msg/sec AtomicQueueB, 7,i: 7,742,922 msg/sec AtomicQueueB, 8,s: 6,212,872 msg/sec AtomicQueueB, 8,i: 7,110,552 msg/sec OptimistAtomicQueue, 1,s: 690,526,783 msg/sec OptimistAtomicQueue, 1,i: 520,693,396 msg/sec OptimistAtomicQueue, 2,s: 32,137,114 msg/sec OptimistAtomicQueue, 2,i: 32,340,134 msg/sec OptimistAtomicQueue, 3,s: 36,622,963 msg/sec OptimistAtomicQueue, 3,i: 37,364,490 msg/sec OptimistAtomicQueue, 4,s: 39,276,181 msg/sec OptimistAtomicQueue, 4,i: 39,368,995 msg/sec OptimistAtomicQueue, 5,s: 41,752,787 msg/sec OptimistAtomicQueue, 5,i: 46,156,495 msg/sec OptimistAtomicQueue, 6,s: 42,692,996 msg/sec OptimistAtomicQueue, 6,i: 50,402,375 msg/sec OptimistAtomicQueue, 7,s: 45,100,461 msg/sec OptimistAtomicQueue, 7,i: 52,881,139 msg/sec OptimistAtomicQueue, 8,s: 46,331,710 msg/sec OptimistAtomicQueue, 8,i: 49,329,869 msg/sec OptimistAtomicQueueB, 1,s: 99,948,803 msg/sec OptimistAtomicQueueB, 1,i: 139,608,293 msg/sec OptimistAtomicQueueB, 2,s: 32,154,097 msg/sec OptimistAtomicQueueB, 2,i: 32,055,805 msg/sec OptimistAtomicQueueB, 3,s: 36,260,702 msg/sec OptimistAtomicQueueB, 3,i: 36,861,448 msg/sec OptimistAtomicQueueB, 4,s: 38,660,919 msg/sec OptimistAtomicQueueB, 4,i: 38,546,560 msg/sec OptimistAtomicQueueB, 5,s: 41,171,192 msg/sec OptimistAtomicQueueB, 5,i: 45,074,569 msg/sec OptimistAtomicQueueB, 6,s: 40,710,783 msg/sec OptimistAtomicQueueB, 6,i: 49,259,098 msg/sec OptimistAtomicQueueB, 7,s: 41,469,328 msg/sec OptimistAtomicQueueB, 7,i: 48,056,294 msg/sec OptimistAtomicQueueB, 8,s: 44,039,317 msg/sec OptimistAtomicQueueB, 8,i: 48,038,390 msg/sec AtomicQueue2, 1,s: 22,899,176 msg/sec AtomicQueue2, 1,i: 22,923,936 msg/sec AtomicQueue2, 2,s: 11,955,418 msg/sec AtomicQueue2, 2,i: 11,487,942 msg/sec AtomicQueue2, 3,s: 9,388,130 msg/sec AtomicQueue2, 3,i: 9,535,901 msg/sec AtomicQueue2, 4,s: 8,074,552 msg/sec AtomicQueue2, 4,i: 8,016,950 msg/sec AtomicQueue2, 5,s: 7,866,600 msg/sec AtomicQueue2, 5,i: 8,010,147 msg/sec AtomicQueue2, 6,s: 7,831,877 msg/sec AtomicQueue2, 6,i: 7,509,478 msg/sec AtomicQueue2, 7,s: 7,087,482 msg/sec AtomicQueue2, 7,i: 7,912,247 msg/sec AtomicQueue2, 8,s: 6,374,609 msg/sec AtomicQueue2, 8,i: 7,330,794 msg/sec AtomicQueueB2, 1,s: 32,681,749 msg/sec AtomicQueueB2, 1,i: 32,611,400 msg/sec AtomicQueueB2, 2,s: 11,438,344 msg/sec AtomicQueueB2, 2,i: 11,053,401 msg/sec AtomicQueueB2, 3,s: 9,608,037 msg/sec AtomicQueueB2, 3,i: 9,411,143 msg/sec AtomicQueueB2, 4,s: 7,948,265 msg/sec AtomicQueueB2, 4,i: 7,760,844 msg/sec AtomicQueueB2, 5,s: 7,539,765 msg/sec AtomicQueueB2, 5,i: 7,714,998 msg/sec AtomicQueueB2, 6,s: 7,299,360 msg/sec AtomicQueueB2, 6,i: 7,477,807 msg/sec AtomicQueueB2, 7,s: 6,912,418 msg/sec AtomicQueueB2, 7,i: 7,672,870 msg/sec AtomicQueueB2, 8,s: 6,278,129 msg/sec AtomicQueueB2, 8,i: 7,103,646 msg/sec OptimistAtomicQueue2, 1,s: 447,306,760 msg/sec OptimistAtomicQueue2, 1,i: 93,357,501 msg/sec OptimistAtomicQueue2, 2,s: 25,429,541 msg/sec OptimistAtomicQueue2, 2,i: 24,076,196 msg/sec OptimistAtomicQueue2, 3,s: 30,328,440 msg/sec OptimistAtomicQueue2, 3,i: 32,435,993 msg/sec OptimistAtomicQueue2, 4,s: 33,241,303 msg/sec OptimistAtomicQueue2, 4,i: 33,168,831 msg/sec OptimistAtomicQueue2, 5,s: 37,219,628 msg/sec OptimistAtomicQueue2, 5,i: 40,644,653 msg/sec OptimistAtomicQueue2, 6,s: 40,328,083 msg/sec OptimistAtomicQueue2, 6,i: 49,244,618 msg/sec OptimistAtomicQueue2, 7,s: 42,650,000 msg/sec OptimistAtomicQueue2, 7,i: 51,568,163 msg/sec OptimistAtomicQueue2, 8,s: 43,845,183 msg/sec OptimistAtomicQueue2, 8,i: 49,877,392 msg/sec OptimistAtomicQueueB2, 1,s: 78,981,771 msg/sec OptimistAtomicQueueB2, 1,i: 33,873,950 msg/sec OptimistAtomicQueueB2, 2,s: 26,875,057 msg/sec OptimistAtomicQueueB2, 2,i: 23,182,946 msg/sec OptimistAtomicQueueB2, 3,s: 29,716,993 msg/sec OptimistAtomicQueueB2, 3,i: 33,898,492 msg/sec OptimistAtomicQueueB2, 4,s: 33,495,214 msg/sec OptimistAtomicQueueB2, 4,i: 31,904,312 msg/sec OptimistAtomicQueueB2, 5,s: 34,525,142 msg/sec OptimistAtomicQueueB2, 5,i: 39,638,154 msg/sec OptimistAtomicQueueB2, 6,s: 37,771,391 msg/sec OptimistAtomicQueueB2, 6,i: 42,228,178 msg/sec OptimistAtomicQueueB2, 7,s: 40,126,745 msg/sec OptimistAtomicQueueB2, 7,i: 45,319,317 msg/sec OptimistAtomicQueueB2, 8,s: 42,439,529 msg/sec OptimistAtomicQueueB2, 8,i: 45,701,242 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000332 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000129 sec/round-trip moodycamel::ConcurrentQueue: 0.000000241 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000510 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [185] 237m:16s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,879,983 msg/sec boost::lockfree::spsc_queue, 1,i: 69,105,268 msg/sec boost::lockfree::queue, 1,s: 6,892,293 msg/sec boost::lockfree::queue, 1,i: 6,890,539 msg/sec boost::lockfree::queue, 2,s: 7,645,773 msg/sec boost::lockfree::queue, 2,i: 7,563,044 msg/sec boost::lockfree::queue, 3,s: 7,434,036 msg/sec boost::lockfree::queue, 3,i: 7,583,852 msg/sec boost::lockfree::queue, 4,s: 6,425,312 msg/sec boost::lockfree::queue, 4,i: 6,947,208 msg/sec boost::lockfree::queue, 5,s: 6,462,173 msg/sec boost::lockfree::queue, 5,i: 6,568,133 msg/sec boost::lockfree::queue, 6,s: 5,969,595 msg/sec boost::lockfree::queue, 6,i: 6,071,657 msg/sec boost::lockfree::queue, 7,s: 5,999,954 msg/sec boost::lockfree::queue, 7,i: 6,105,462 msg/sec boost::lockfree::queue, 8,s: 5,448,706 msg/sec boost::lockfree::queue, 8,i: 5,557,282 msg/sec moodycamel::ReaderWriterQueue, 1,s: 121,688,576 msg/sec moodycamel::ReaderWriterQueue, 1,i: 144,870,464 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,732,533 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,477,811 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,047,420 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,657,686 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,483,161 msg/sec moodycamel::ConcurrentQueue, 3,i: 43,648,056 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,207,996 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,280,412 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,236,677 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,522,616 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,376,806 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,764,884 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,217,393 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,485,886 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,328,385 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,258,888 msg/sec pthread_spinlock, 1,s: 29,270,654 msg/sec pthread_spinlock, 1,i: 25,324,949 msg/sec pthread_spinlock, 2,s: 15,499,334 msg/sec pthread_spinlock, 2,i: 16,910,880 msg/sec pthread_spinlock, 3,s: 8,271,871 msg/sec pthread_spinlock, 3,i: 12,012,673 msg/sec pthread_spinlock, 4,s: 6,517,709 msg/sec pthread_spinlock, 4,i: 8,836,326 msg/sec pthread_spinlock, 5,s: 8,676,355 msg/sec pthread_spinlock, 5,i: 9,449,445 msg/sec pthread_spinlock, 6,s: 8,588,227 msg/sec pthread_spinlock, 6,i: 8,485,995 msg/sec pthread_spinlock, 7,s: 7,730,304 msg/sec pthread_spinlock, 7,i: 7,584,473 msg/sec pthread_spinlock, 8,s: 6,763,465 msg/sec pthread_spinlock, 8,i: 6,978,388 msg/sec std::mutex, 1,s: 7,474,169 msg/sec std::mutex, 1,i: 7,954,701 msg/sec std::mutex, 2,s: 5,954,744 msg/sec std::mutex, 2,i: 6,113,850 msg/sec std::mutex, 3,s: 6,106,140 msg/sec std::mutex, 3,i: 5,971,860 msg/sec std::mutex, 4,s: 6,287,202 msg/sec std::mutex, 4,i: 6,148,328 msg/sec std::mutex, 5,s: 6,014,566 msg/sec std::mutex, 5,i: 5,909,193 msg/sec std::mutex, 6,s: 5,707,609 msg/sec std::mutex, 6,i: 5,947,390 msg/sec std::mutex, 7,s: 5,802,287 msg/sec std::mutex, 7,i: 5,798,881 msg/sec std::mutex, 8,s: 5,656,356 msg/sec std::mutex, 8,i: 5,663,068 msg/sec tbb::spin_mutex, 1,s: 38,012,381 msg/sec tbb::spin_mutex, 1,i: 33,055,889 msg/sec tbb::spin_mutex, 2,s: 21,298,773 msg/sec tbb::spin_mutex, 2,i: 18,396,018 msg/sec tbb::spin_mutex, 3,s: 8,283,719 msg/sec tbb::spin_mutex, 3,i: 10,162,509 msg/sec tbb::spin_mutex, 4,s: 3,156,632 msg/sec tbb::spin_mutex, 4,i: 6,283,823 msg/sec tbb::spin_mutex, 5,s: 5,499,846 msg/sec tbb::spin_mutex, 5,i: 5,785,230 msg/sec tbb::spin_mutex, 6,s: 5,298,442 msg/sec tbb::spin_mutex, 6,i: 4,355,259 msg/sec tbb::spin_mutex, 7,s: 4,880,962 msg/sec tbb::spin_mutex, 7,i: 4,347,874 msg/sec tbb::spin_mutex, 8,s: 4,251,748 msg/sec tbb::spin_mutex, 8,i: 4,075,718 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,618,810 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,137,527 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,797,201 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,885,499 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,509,506 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,546,068 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,338,318 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,230,806 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,642,089 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,772,937 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,688,501 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,006,840 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,859,726 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,073,754 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,856,812 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,116,871 msg/sec xenium::michael_scott_queue, 1,s: 9,372,552 msg/sec xenium::michael_scott_queue, 1,i: 9,326,912 msg/sec xenium::michael_scott_queue, 2,s: 8,536,428 msg/sec xenium::michael_scott_queue, 2,i: 8,563,182 msg/sec xenium::michael_scott_queue, 3,s: 7,294,809 msg/sec xenium::michael_scott_queue, 3,i: 7,635,846 msg/sec xenium::michael_scott_queue, 4,s: 6,435,206 msg/sec xenium::michael_scott_queue, 4,i: 6,379,501 msg/sec xenium::michael_scott_queue, 5,s: 6,312,151 msg/sec xenium::michael_scott_queue, 5,i: 6,655,912 msg/sec xenium::michael_scott_queue, 6,s: 6,554,426 msg/sec xenium::michael_scott_queue, 6,i: 6,997,166 msg/sec xenium::michael_scott_queue, 7,s: 6,313,118 msg/sec xenium::michael_scott_queue, 7,i: 6,506,697 msg/sec xenium::michael_scott_queue, 8,s: 6,051,827 msg/sec xenium::michael_scott_queue, 8,i: 6,175,011 msg/sec xenium::ramalhete_queue, 1,s: 32,617,661 msg/sec xenium::ramalhete_queue, 1,i: 31,464,356 msg/sec xenium::ramalhete_queue, 2,s: 23,643,312 msg/sec xenium::ramalhete_queue, 2,i: 23,352,883 msg/sec xenium::ramalhete_queue, 3,s: 29,190,374 msg/sec xenium::ramalhete_queue, 3,i: 28,470,087 msg/sec xenium::ramalhete_queue, 4,s: 33,885,923 msg/sec xenium::ramalhete_queue, 4,i: 33,546,648 msg/sec xenium::ramalhete_queue, 5,s: 32,167,322 msg/sec xenium::ramalhete_queue, 5,i: 35,965,744 msg/sec xenium::ramalhete_queue, 6,s: 34,251,710 msg/sec xenium::ramalhete_queue, 6,i: 38,697,839 msg/sec xenium::ramalhete_queue, 7,s: 34,983,497 msg/sec xenium::ramalhete_queue, 7,i: 41,016,087 msg/sec xenium::ramalhete_queue, 8,s: 35,556,053 msg/sec xenium::ramalhete_queue, 8,i: 43,959,086 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,648,507 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,457,409 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,289,449 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,632,347 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,625,236 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,855,114 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,595,770 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,385,205 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,532,955 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,392,045 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,964,563 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,327,611 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,153,646 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,823,761 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,407,467 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,548,450 msg/sec AtomicQueue, 1,s: 57,891,858 msg/sec AtomicQueue, 1,i: 56,836,072 msg/sec AtomicQueue, 2,s: 12,293,322 msg/sec AtomicQueue, 2,i: 11,714,588 msg/sec AtomicQueue, 3,s: 10,839,111 msg/sec AtomicQueue, 3,i: 9,967,563 msg/sec AtomicQueue, 4,s: 8,199,412 msg/sec AtomicQueue, 4,i: 8,192,504 msg/sec AtomicQueue, 5,s: 8,044,753 msg/sec AtomicQueue, 5,i: 8,092,064 msg/sec AtomicQueue, 6,s: 7,684,708 msg/sec AtomicQueue, 6,i: 7,614,678 msg/sec AtomicQueue, 7,s: 7,146,970 msg/sec AtomicQueue, 7,i: 7,984,334 msg/sec AtomicQueue, 8,s: 6,362,531 msg/sec AtomicQueue, 8,i: 7,462,114 msg/sec AtomicQueueB, 1,s: 43,768,210 msg/sec AtomicQueueB, 1,i: 43,082,827 msg/sec AtomicQueueB, 2,s: 11,922,565 msg/sec AtomicQueueB, 2,i: 11,445,433 msg/sec AtomicQueueB, 3,s: 10,804,499 msg/sec AtomicQueueB, 3,i: 10,092,273 msg/sec AtomicQueueB, 4,s: 8,047,277 msg/sec AtomicQueueB, 4,i: 7,895,084 msg/sec AtomicQueueB, 5,s: 7,657,604 msg/sec AtomicQueueB, 5,i: 7,763,153 msg/sec AtomicQueueB, 6,s: 7,327,173 msg/sec AtomicQueueB, 6,i: 7,491,221 msg/sec AtomicQueueB, 7,s: 6,907,103 msg/sec AtomicQueueB, 7,i: 7,710,217 msg/sec AtomicQueueB, 8,s: 6,253,104 msg/sec AtomicQueueB, 8,i: 7,156,182 msg/sec OptimistAtomicQueue, 1,s: 698,442,299 msg/sec OptimistAtomicQueue, 1,i: 515,078,803 msg/sec OptimistAtomicQueue, 2,s: 32,199,101 msg/sec OptimistAtomicQueue, 2,i: 32,731,541 msg/sec OptimistAtomicQueue, 3,s: 36,673,669 msg/sec OptimistAtomicQueue, 3,i: 37,397,600 msg/sec OptimistAtomicQueue, 4,s: 39,281,842 msg/sec OptimistAtomicQueue, 4,i: 39,411,492 msg/sec OptimistAtomicQueue, 5,s: 42,219,902 msg/sec OptimistAtomicQueue, 5,i: 46,526,840 msg/sec OptimistAtomicQueue, 6,s: 42,566,732 msg/sec OptimistAtomicQueue, 6,i: 49,853,216 msg/sec OptimistAtomicQueue, 7,s: 44,259,116 msg/sec OptimistAtomicQueue, 7,i: 49,123,374 msg/sec OptimistAtomicQueue, 8,s: 46,494,193 msg/sec OptimistAtomicQueue, 8,i: 48,940,438 msg/sec OptimistAtomicQueueB, 1,s: 138,107,612 msg/sec OptimistAtomicQueueB, 1,i: 76,563,396 msg/sec OptimistAtomicQueueB, 2,s: 32,205,091 msg/sec OptimistAtomicQueueB, 2,i: 32,255,580 msg/sec OptimistAtomicQueueB, 3,s: 36,352,794 msg/sec OptimistAtomicQueueB, 3,i: 36,997,783 msg/sec OptimistAtomicQueueB, 4,s: 38,594,497 msg/sec OptimistAtomicQueueB, 4,i: 38,422,566 msg/sec OptimistAtomicQueueB, 5,s: 40,903,262 msg/sec OptimistAtomicQueueB, 5,i: 45,525,174 msg/sec OptimistAtomicQueueB, 6,s: 41,288,384 msg/sec OptimistAtomicQueueB, 6,i: 49,203,856 msg/sec OptimistAtomicQueueB, 7,s: 41,884,401 msg/sec OptimistAtomicQueueB, 7,i: 47,899,042 msg/sec OptimistAtomicQueueB, 8,s: 44,510,598 msg/sec OptimistAtomicQueueB, 8,i: 48,161,376 msg/sec AtomicQueue2, 1,s: 23,113,835 msg/sec AtomicQueue2, 1,i: 23,098,688 msg/sec AtomicQueue2, 2,s: 11,795,245 msg/sec AtomicQueue2, 2,i: 11,402,359 msg/sec AtomicQueue2, 3,s: 9,312,750 msg/sec AtomicQueue2, 3,i: 9,368,578 msg/sec AtomicQueue2, 4,s: 8,076,419 msg/sec AtomicQueue2, 4,i: 8,000,866 msg/sec AtomicQueue2, 5,s: 7,933,350 msg/sec AtomicQueue2, 5,i: 7,949,325 msg/sec AtomicQueue2, 6,s: 7,831,685 msg/sec AtomicQueue2, 6,i: 7,514,098 msg/sec AtomicQueue2, 7,s: 7,066,489 msg/sec AtomicQueue2, 7,i: 7,896,574 msg/sec AtomicQueue2, 8,s: 6,407,137 msg/sec AtomicQueue2, 8,i: 7,335,233 msg/sec AtomicQueueB2, 1,s: 36,042,524 msg/sec AtomicQueueB2, 1,i: 32,584,807 msg/sec AtomicQueueB2, 2,s: 11,346,652 msg/sec AtomicQueueB2, 2,i: 11,132,551 msg/sec AtomicQueueB2, 3,s: 9,672,321 msg/sec AtomicQueueB2, 3,i: 9,571,724 msg/sec AtomicQueueB2, 4,s: 7,985,970 msg/sec AtomicQueueB2, 4,i: 7,852,985 msg/sec AtomicQueueB2, 5,s: 7,449,574 msg/sec AtomicQueueB2, 5,i: 7,718,891 msg/sec AtomicQueueB2, 6,s: 7,257,516 msg/sec AtomicQueueB2, 6,i: 7,493,368 msg/sec AtomicQueueB2, 7,s: 6,857,199 msg/sec AtomicQueueB2, 7,i: 7,733,906 msg/sec AtomicQueueB2, 8,s: 6,249,547 msg/sec AtomicQueueB2, 8,i: 7,125,924 msg/sec OptimistAtomicQueue2, 1,s: 501,017,503 msg/sec OptimistAtomicQueue2, 1,i: 29,435,339 msg/sec OptimistAtomicQueue2, 2,s: 24,273,694 msg/sec OptimistAtomicQueue2, 2,i: 24,021,402 msg/sec OptimistAtomicQueue2, 3,s: 30,475,840 msg/sec OptimistAtomicQueue2, 3,i: 29,781,499 msg/sec OptimistAtomicQueue2, 4,s: 33,548,660 msg/sec OptimistAtomicQueue2, 4,i: 33,122,466 msg/sec OptimistAtomicQueue2, 5,s: 37,150,160 msg/sec OptimistAtomicQueue2, 5,i: 41,263,579 msg/sec OptimistAtomicQueue2, 6,s: 40,207,587 msg/sec OptimistAtomicQueue2, 6,i: 49,356,966 msg/sec OptimistAtomicQueue2, 7,s: 42,709,341 msg/sec OptimistAtomicQueue2, 7,i: 48,071,117 msg/sec OptimistAtomicQueue2, 8,s: 43,946,124 msg/sec OptimistAtomicQueue2, 8,i: 48,467,454 msg/sec OptimistAtomicQueueB2, 1,s: 75,826,086 msg/sec OptimistAtomicQueueB2, 1,i: 33,902,915 msg/sec OptimistAtomicQueueB2, 2,s: 28,869,125 msg/sec OptimistAtomicQueueB2, 2,i: 24,683,831 msg/sec OptimistAtomicQueueB2, 3,s: 29,743,952 msg/sec OptimistAtomicQueueB2, 3,i: 29,069,683 msg/sec OptimistAtomicQueueB2, 4,s: 33,206,029 msg/sec OptimistAtomicQueueB2, 4,i: 31,994,372 msg/sec OptimistAtomicQueueB2, 5,s: 34,665,671 msg/sec OptimistAtomicQueueB2, 5,i: 39,434,670 msg/sec OptimistAtomicQueueB2, 6,s: 37,590,285 msg/sec OptimistAtomicQueueB2, 6,i: 42,250,834 msg/sec OptimistAtomicQueueB2, 7,s: 40,487,314 msg/sec OptimistAtomicQueueB2, 7,i: 45,602,038 msg/sec OptimistAtomicQueueB2, 8,s: 42,317,322 msg/sec OptimistAtomicQueueB2, 8,i: 45,510,824 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000159 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000245 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000226 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [186] 235m:57s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,519,329 msg/sec boost::lockfree::spsc_queue, 1,i: 68,555,302 msg/sec boost::lockfree::queue, 1,s: 6,875,475 msg/sec boost::lockfree::queue, 1,i: 6,930,629 msg/sec boost::lockfree::queue, 2,s: 7,474,432 msg/sec boost::lockfree::queue, 2,i: 7,526,923 msg/sec boost::lockfree::queue, 3,s: 7,477,509 msg/sec boost::lockfree::queue, 3,i: 7,511,462 msg/sec boost::lockfree::queue, 4,s: 6,425,337 msg/sec boost::lockfree::queue, 4,i: 6,818,757 msg/sec boost::lockfree::queue, 5,s: 6,462,693 msg/sec boost::lockfree::queue, 5,i: 6,454,477 msg/sec boost::lockfree::queue, 6,s: 6,027,381 msg/sec boost::lockfree::queue, 6,i: 6,095,103 msg/sec boost::lockfree::queue, 7,s: 5,832,541 msg/sec boost::lockfree::queue, 7,i: 6,017,069 msg/sec boost::lockfree::queue, 8,s: 5,513,557 msg/sec boost::lockfree::queue, 8,i: 5,574,097 msg/sec moodycamel::ReaderWriterQueue, 1,s: 61,700,268 msg/sec moodycamel::ReaderWriterQueue, 1,i: 73,384,174 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,550,685 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,535,771 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,865,338 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,774,114 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,697,718 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,384,827 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,561,673 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,228,024 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,530,550 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,826,927 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,350,789 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,264,218 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,169,520 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,347,491 msg/sec moodycamel::ConcurrentQueue, 8,s: 50,872,635 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,730,523 msg/sec pthread_spinlock, 1,s: 28,670,839 msg/sec pthread_spinlock, 1,i: 28,833,671 msg/sec pthread_spinlock, 2,s: 15,078,668 msg/sec pthread_spinlock, 2,i: 16,573,385 msg/sec pthread_spinlock, 3,s: 8,354,311 msg/sec pthread_spinlock, 3,i: 12,105,625 msg/sec pthread_spinlock, 4,s: 6,541,542 msg/sec pthread_spinlock, 4,i: 9,286,466 msg/sec pthread_spinlock, 5,s: 8,572,522 msg/sec pthread_spinlock, 5,i: 9,274,571 msg/sec pthread_spinlock, 6,s: 8,471,171 msg/sec pthread_spinlock, 6,i: 8,317,214 msg/sec pthread_spinlock, 7,s: 7,464,730 msg/sec pthread_spinlock, 7,i: 7,506,668 msg/sec pthread_spinlock, 8,s: 6,740,164 msg/sec pthread_spinlock, 8,i: 7,271,166 msg/sec std::mutex, 1,s: 6,430,548 msg/sec std::mutex, 1,i: 7,535,276 msg/sec std::mutex, 2,s: 5,772,168 msg/sec std::mutex, 2,i: 5,963,344 msg/sec std::mutex, 3,s: 5,937,131 msg/sec std::mutex, 3,i: 6,030,501 msg/sec std::mutex, 4,s: 5,952,924 msg/sec std::mutex, 4,i: 6,175,843 msg/sec std::mutex, 5,s: 5,917,107 msg/sec std::mutex, 5,i: 5,940,409 msg/sec std::mutex, 6,s: 5,756,300 msg/sec std::mutex, 6,i: 5,824,540 msg/sec std::mutex, 7,s: 5,793,211 msg/sec std::mutex, 7,i: 5,768,205 msg/sec std::mutex, 8,s: 5,673,577 msg/sec std::mutex, 8,i: 5,682,744 msg/sec tbb::spin_mutex, 1,s: 37,888,462 msg/sec tbb::spin_mutex, 1,i: 32,903,506 msg/sec tbb::spin_mutex, 2,s: 21,073,248 msg/sec tbb::spin_mutex, 2,i: 18,354,388 msg/sec tbb::spin_mutex, 3,s: 8,387,083 msg/sec tbb::spin_mutex, 3,i: 10,612,494 msg/sec tbb::spin_mutex, 4,s: 3,186,531 msg/sec tbb::spin_mutex, 4,i: 6,229,613 msg/sec tbb::spin_mutex, 5,s: 5,428,399 msg/sec tbb::spin_mutex, 5,i: 5,651,551 msg/sec tbb::spin_mutex, 6,s: 5,294,924 msg/sec tbb::spin_mutex, 6,i: 4,387,000 msg/sec tbb::spin_mutex, 7,s: 4,863,551 msg/sec tbb::spin_mutex, 7,i: 4,337,749 msg/sec tbb::spin_mutex, 8,s: 4,240,474 msg/sec tbb::spin_mutex, 8,i: 4,055,309 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,681,486 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,595,528 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,670,062 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,894,486 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,272,658 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,168,619 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,132,440 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,229,968 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,643,913 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,373,747 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,589,410 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,754,623 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,569,800 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,086,144 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,740,129 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,935,314 msg/sec xenium::michael_scott_queue, 1,s: 9,231,331 msg/sec xenium::michael_scott_queue, 1,i: 9,140,686 msg/sec xenium::michael_scott_queue, 2,s: 8,426,772 msg/sec xenium::michael_scott_queue, 2,i: 8,413,764 msg/sec xenium::michael_scott_queue, 3,s: 7,208,121 msg/sec xenium::michael_scott_queue, 3,i: 7,559,399 msg/sec xenium::michael_scott_queue, 4,s: 6,272,163 msg/sec xenium::michael_scott_queue, 4,i: 6,338,291 msg/sec xenium::michael_scott_queue, 5,s: 6,258,181 msg/sec xenium::michael_scott_queue, 5,i: 6,608,301 msg/sec xenium::michael_scott_queue, 6,s: 6,536,074 msg/sec xenium::michael_scott_queue, 6,i: 6,698,161 msg/sec xenium::michael_scott_queue, 7,s: 6,295,780 msg/sec xenium::michael_scott_queue, 7,i: 6,491,971 msg/sec xenium::michael_scott_queue, 8,s: 5,980,148 msg/sec xenium::michael_scott_queue, 8,i: 6,094,540 msg/sec xenium::ramalhete_queue, 1,s: 32,624,209 msg/sec xenium::ramalhete_queue, 1,i: 32,284,009 msg/sec xenium::ramalhete_queue, 2,s: 23,506,755 msg/sec xenium::ramalhete_queue, 2,i: 23,386,181 msg/sec xenium::ramalhete_queue, 3,s: 29,246,266 msg/sec xenium::ramalhete_queue, 3,i: 28,476,352 msg/sec xenium::ramalhete_queue, 4,s: 33,825,024 msg/sec xenium::ramalhete_queue, 4,i: 33,460,835 msg/sec xenium::ramalhete_queue, 5,s: 32,292,706 msg/sec xenium::ramalhete_queue, 5,i: 36,403,171 msg/sec xenium::ramalhete_queue, 6,s: 34,237,417 msg/sec xenium::ramalhete_queue, 6,i: 39,698,342 msg/sec xenium::ramalhete_queue, 7,s: 35,053,396 msg/sec xenium::ramalhete_queue, 7,i: 41,141,219 msg/sec xenium::ramalhete_queue, 8,s: 35,637,823 msg/sec xenium::ramalhete_queue, 8,i: 44,269,578 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,111,088 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,921,837 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,842,986 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,457,375 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,622,961 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,750,639 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,553,384 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,258,846 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,048,959 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,336,453 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,965,042 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,178,122 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,254,454 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,977,821 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,896 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,230,061 msg/sec AtomicQueue, 1,s: 62,298,976 msg/sec AtomicQueue, 1,i: 56,943,180 msg/sec AtomicQueue, 2,s: 12,280,424 msg/sec AtomicQueue, 2,i: 11,768,620 msg/sec AtomicQueue, 3,s: 10,782,750 msg/sec AtomicQueue, 3,i: 9,878,637 msg/sec AtomicQueue, 4,s: 8,182,353 msg/sec AtomicQueue, 4,i: 8,181,968 msg/sec AtomicQueue, 5,s: 8,048,755 msg/sec AtomicQueue, 5,i: 8,064,386 msg/sec AtomicQueue, 6,s: 7,775,956 msg/sec AtomicQueue, 6,i: 7,624,658 msg/sec AtomicQueue, 7,s: 7,110,145 msg/sec AtomicQueue, 7,i: 7,965,568 msg/sec AtomicQueue, 8,s: 6,326,924 msg/sec AtomicQueue, 8,i: 7,473,614 msg/sec AtomicQueueB, 1,s: 43,967,959 msg/sec AtomicQueueB, 1,i: 43,190,103 msg/sec AtomicQueueB, 2,s: 11,827,964 msg/sec AtomicQueueB, 2,i: 11,463,904 msg/sec AtomicQueueB, 3,s: 10,990,218 msg/sec AtomicQueueB, 3,i: 10,154,824 msg/sec AtomicQueueB, 4,s: 7,982,810 msg/sec AtomicQueueB, 4,i: 7,981,236 msg/sec AtomicQueueB, 5,s: 7,577,250 msg/sec AtomicQueueB, 5,i: 7,782,259 msg/sec AtomicQueueB, 6,s: 7,238,774 msg/sec AtomicQueueB, 6,i: 7,498,033 msg/sec AtomicQueueB, 7,s: 6,874,585 msg/sec AtomicQueueB, 7,i: 7,730,913 msg/sec AtomicQueueB, 8,s: 6,210,516 msg/sec AtomicQueueB, 8,i: 7,146,324 msg/sec OptimistAtomicQueue, 1,s: 827,389,060 msg/sec OptimistAtomicQueue, 1,i: 532,826,153 msg/sec OptimistAtomicQueue, 2,s: 31,926,736 msg/sec OptimistAtomicQueue, 2,i: 32,002,917 msg/sec OptimistAtomicQueue, 3,s: 36,615,142 msg/sec OptimistAtomicQueue, 3,i: 37,330,322 msg/sec OptimistAtomicQueue, 4,s: 39,265,701 msg/sec OptimistAtomicQueue, 4,i: 39,358,177 msg/sec OptimistAtomicQueue, 5,s: 41,740,405 msg/sec OptimistAtomicQueue, 5,i: 46,309,808 msg/sec OptimistAtomicQueue, 6,s: 42,122,404 msg/sec OptimistAtomicQueue, 6,i: 49,840,355 msg/sec OptimistAtomicQueue, 7,s: 45,040,947 msg/sec OptimistAtomicQueue, 7,i: 53,060,058 msg/sec OptimistAtomicQueue, 8,s: 46,499,160 msg/sec OptimistAtomicQueue, 8,i: 49,180,805 msg/sec OptimistAtomicQueueB, 1,s: 124,555,023 msg/sec OptimistAtomicQueueB, 1,i: 196,629,011 msg/sec OptimistAtomicQueueB, 2,s: 32,243,521 msg/sec OptimistAtomicQueueB, 2,i: 31,917,838 msg/sec OptimistAtomicQueueB, 3,s: 36,211,471 msg/sec OptimistAtomicQueueB, 3,i: 36,944,067 msg/sec OptimistAtomicQueueB, 4,s: 38,562,617 msg/sec OptimistAtomicQueueB, 4,i: 38,410,565 msg/sec OptimistAtomicQueueB, 5,s: 40,301,376 msg/sec OptimistAtomicQueueB, 5,i: 45,759,913 msg/sec OptimistAtomicQueueB, 6,s: 41,160,911 msg/sec OptimistAtomicQueueB, 6,i: 49,173,784 msg/sec OptimistAtomicQueueB, 7,s: 42,520,613 msg/sec OptimistAtomicQueueB, 7,i: 47,649,432 msg/sec OptimistAtomicQueueB, 8,s: 44,528,618 msg/sec OptimistAtomicQueueB, 8,i: 47,708,201 msg/sec AtomicQueue2, 1,s: 22,900,373 msg/sec AtomicQueue2, 1,i: 22,839,756 msg/sec AtomicQueue2, 2,s: 11,885,215 msg/sec AtomicQueue2, 2,i: 11,427,189 msg/sec AtomicQueue2, 3,s: 9,577,386 msg/sec AtomicQueue2, 3,i: 9,429,188 msg/sec AtomicQueue2, 4,s: 8,094,022 msg/sec AtomicQueue2, 4,i: 8,034,518 msg/sec AtomicQueue2, 5,s: 7,931,910 msg/sec AtomicQueue2, 5,i: 8,023,006 msg/sec AtomicQueue2, 6,s: 7,818,300 msg/sec AtomicQueue2, 6,i: 7,533,026 msg/sec AtomicQueue2, 7,s: 7,108,971 msg/sec AtomicQueue2, 7,i: 7,880,749 msg/sec AtomicQueue2, 8,s: 6,400,046 msg/sec AtomicQueue2, 8,i: 7,270,730 msg/sec AtomicQueueB2, 1,s: 36,269,264 msg/sec AtomicQueueB2, 1,i: 32,627,366 msg/sec AtomicQueueB2, 2,s: 11,457,199 msg/sec AtomicQueueB2, 2,i: 11,119,563 msg/sec AtomicQueueB2, 3,s: 9,671,540 msg/sec AtomicQueueB2, 3,i: 9,498,986 msg/sec AtomicQueueB2, 4,s: 7,925,745 msg/sec AtomicQueueB2, 4,i: 7,857,920 msg/sec AtomicQueueB2, 5,s: 7,523,779 msg/sec AtomicQueueB2, 5,i: 7,640,098 msg/sec AtomicQueueB2, 6,s: 7,388,276 msg/sec AtomicQueueB2, 6,i: 7,445,048 msg/sec AtomicQueueB2, 7,s: 6,872,133 msg/sec AtomicQueueB2, 7,i: 7,700,489 msg/sec AtomicQueueB2, 8,s: 6,295,061 msg/sec AtomicQueueB2, 8,i: 7,104,154 msg/sec OptimistAtomicQueue2, 1,s: 466,034,909 msg/sec OptimistAtomicQueue2, 1,i: 439,249,923 msg/sec OptimistAtomicQueue2, 2,s: 24,906,421 msg/sec OptimistAtomicQueue2, 2,i: 24,025,577 msg/sec OptimistAtomicQueue2, 3,s: 30,317,017 msg/sec OptimistAtomicQueue2, 3,i: 30,005,646 msg/sec OptimistAtomicQueue2, 4,s: 33,239,017 msg/sec OptimistAtomicQueue2, 4,i: 33,222,929 msg/sec OptimistAtomicQueue2, 5,s: 36,988,886 msg/sec OptimistAtomicQueue2, 5,i: 40,072,778 msg/sec OptimistAtomicQueue2, 6,s: 40,132,727 msg/sec OptimistAtomicQueue2, 6,i: 49,164,708 msg/sec OptimistAtomicQueue2, 7,s: 43,008,650 msg/sec OptimistAtomicQueue2, 7,i: 51,524,128 msg/sec OptimistAtomicQueue2, 8,s: 43,856,569 msg/sec OptimistAtomicQueue2, 8,i: 48,828,676 msg/sec OptimistAtomicQueueB2, 1,s: 75,775,664 msg/sec OptimistAtomicQueueB2, 1,i: 33,862,091 msg/sec OptimistAtomicQueueB2, 2,s: 27,110,122 msg/sec OptimistAtomicQueueB2, 2,i: 27,327,442 msg/sec OptimistAtomicQueueB2, 3,s: 29,826,894 msg/sec OptimistAtomicQueueB2, 3,i: 29,092,337 msg/sec OptimistAtomicQueueB2, 4,s: 33,326,842 msg/sec OptimistAtomicQueueB2, 4,i: 31,807,119 msg/sec OptimistAtomicQueueB2, 5,s: 34,669,242 msg/sec OptimistAtomicQueueB2, 5,i: 39,412,636 msg/sec OptimistAtomicQueueB2, 6,s: 37,616,338 msg/sec OptimistAtomicQueueB2, 6,i: 42,158,834 msg/sec OptimistAtomicQueueB2, 7,s: 40,669,077 msg/sec OptimistAtomicQueueB2, 7,i: 45,243,360 msg/sec OptimistAtomicQueueB2, 8,s: 42,408,315 msg/sec OptimistAtomicQueueB2, 8,i: 46,001,771 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000151 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000234 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000261 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [187] 234m:38s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,971,568 msg/sec boost::lockfree::spsc_queue, 1,i: 69,076,502 msg/sec boost::lockfree::queue, 1,s: 6,780,384 msg/sec boost::lockfree::queue, 1,i: 6,883,647 msg/sec boost::lockfree::queue, 2,s: 7,553,296 msg/sec boost::lockfree::queue, 2,i: 7,430,293 msg/sec boost::lockfree::queue, 3,s: 7,406,757 msg/sec boost::lockfree::queue, 3,i: 7,532,343 msg/sec boost::lockfree::queue, 4,s: 6,425,879 msg/sec boost::lockfree::queue, 4,i: 6,872,070 msg/sec boost::lockfree::queue, 5,s: 6,395,022 msg/sec boost::lockfree::queue, 5,i: 6,433,308 msg/sec boost::lockfree::queue, 6,s: 5,954,524 msg/sec boost::lockfree::queue, 6,i: 6,097,185 msg/sec boost::lockfree::queue, 7,s: 5,929,753 msg/sec boost::lockfree::queue, 7,i: 6,083,038 msg/sec boost::lockfree::queue, 8,s: 5,483,778 msg/sec boost::lockfree::queue, 8,i: 5,641,310 msg/sec moodycamel::ReaderWriterQueue, 1,s: 158,363,716 msg/sec moodycamel::ReaderWriterQueue, 1,i: 59,129,520 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,154,921 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,795,872 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,742,382 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,479,288 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,714,054 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,734,812 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,737,495 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,103,874 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,220,528 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,129,953 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,381,455 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,524,275 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,862,882 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,472,874 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,405,312 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,400,117 msg/sec pthread_spinlock, 1,s: 28,773,257 msg/sec pthread_spinlock, 1,i: 25,346,553 msg/sec pthread_spinlock, 2,s: 16,015,680 msg/sec pthread_spinlock, 2,i: 16,977,824 msg/sec pthread_spinlock, 3,s: 8,330,073 msg/sec pthread_spinlock, 3,i: 12,106,491 msg/sec pthread_spinlock, 4,s: 6,497,962 msg/sec pthread_spinlock, 4,i: 9,054,493 msg/sec pthread_spinlock, 5,s: 8,585,332 msg/sec pthread_spinlock, 5,i: 9,348,969 msg/sec pthread_spinlock, 6,s: 8,490,749 msg/sec pthread_spinlock, 6,i: 8,582,507 msg/sec pthread_spinlock, 7,s: 7,578,059 msg/sec pthread_spinlock, 7,i: 7,539,354 msg/sec pthread_spinlock, 8,s: 6,869,708 msg/sec pthread_spinlock, 8,i: 6,883,378 msg/sec std::mutex, 1,s: 6,492,977 msg/sec std::mutex, 1,i: 6,578,869 msg/sec std::mutex, 2,s: 5,581,981 msg/sec std::mutex, 2,i: 5,748,996 msg/sec std::mutex, 3,s: 5,375,565 msg/sec std::mutex, 3,i: 4,977,628 msg/sec std::mutex, 4,s: 5,791,559 msg/sec std::mutex, 4,i: 5,448,049 msg/sec std::mutex, 5,s: 5,212,830 msg/sec std::mutex, 5,i: 5,674,519 msg/sec std::mutex, 6,s: 5,691,926 msg/sec std::mutex, 6,i: 5,990,710 msg/sec std::mutex, 7,s: 5,824,246 msg/sec std::mutex, 7,i: 5,855,353 msg/sec std::mutex, 8,s: 5,739,247 msg/sec std::mutex, 8,i: 5,653,540 msg/sec tbb::spin_mutex, 1,s: 37,969,757 msg/sec tbb::spin_mutex, 1,i: 38,086,974 msg/sec tbb::spin_mutex, 2,s: 21,140,060 msg/sec tbb::spin_mutex, 2,i: 18,283,738 msg/sec tbb::spin_mutex, 3,s: 7,926,849 msg/sec tbb::spin_mutex, 3,i: 10,198,730 msg/sec tbb::spin_mutex, 4,s: 3,234,310 msg/sec tbb::spin_mutex, 4,i: 6,379,576 msg/sec tbb::spin_mutex, 5,s: 5,337,313 msg/sec tbb::spin_mutex, 5,i: 5,789,921 msg/sec tbb::spin_mutex, 6,s: 5,334,072 msg/sec tbb::spin_mutex, 6,i: 4,446,656 msg/sec tbb::spin_mutex, 7,s: 4,605,990 msg/sec tbb::spin_mutex, 7,i: 4,321,652 msg/sec tbb::spin_mutex, 8,s: 4,258,288 msg/sec tbb::spin_mutex, 8,i: 4,172,995 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,313,897 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,484,605 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,749,614 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,335,784 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,161,792 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,214,946 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,039,876 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,184,382 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,580,561 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,356,626 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,634,544 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,781,268 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,694,452 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,078,676 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,755,526 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,984,502 msg/sec xenium::michael_scott_queue, 1,s: 9,368,766 msg/sec xenium::michael_scott_queue, 1,i: 9,237,699 msg/sec xenium::michael_scott_queue, 2,s: 8,362,508 msg/sec xenium::michael_scott_queue, 2,i: 8,407,434 msg/sec xenium::michael_scott_queue, 3,s: 7,087,180 msg/sec xenium::michael_scott_queue, 3,i: 7,625,357 msg/sec xenium::michael_scott_queue, 4,s: 6,335,905 msg/sec xenium::michael_scott_queue, 4,i: 6,325,763 msg/sec xenium::michael_scott_queue, 5,s: 6,307,651 msg/sec xenium::michael_scott_queue, 5,i: 6,671,822 msg/sec xenium::michael_scott_queue, 6,s: 6,506,044 msg/sec xenium::michael_scott_queue, 6,i: 6,953,645 msg/sec xenium::michael_scott_queue, 7,s: 6,313,119 msg/sec xenium::michael_scott_queue, 7,i: 6,529,033 msg/sec xenium::michael_scott_queue, 8,s: 6,002,171 msg/sec xenium::michael_scott_queue, 8,i: 6,093,557 msg/sec xenium::ramalhete_queue, 1,s: 32,147,893 msg/sec xenium::ramalhete_queue, 1,i: 30,921,461 msg/sec xenium::ramalhete_queue, 2,s: 23,494,817 msg/sec xenium::ramalhete_queue, 2,i: 23,354,502 msg/sec xenium::ramalhete_queue, 3,s: 29,392,413 msg/sec xenium::ramalhete_queue, 3,i: 28,501,199 msg/sec xenium::ramalhete_queue, 4,s: 33,902,198 msg/sec xenium::ramalhete_queue, 4,i: 33,462,423 msg/sec xenium::ramalhete_queue, 5,s: 32,157,497 msg/sec xenium::ramalhete_queue, 5,i: 36,058,804 msg/sec xenium::ramalhete_queue, 6,s: 33,986,108 msg/sec xenium::ramalhete_queue, 6,i: 39,192,804 msg/sec xenium::ramalhete_queue, 7,s: 35,060,122 msg/sec xenium::ramalhete_queue, 7,i: 40,981,964 msg/sec xenium::ramalhete_queue, 8,s: 35,565,844 msg/sec xenium::ramalhete_queue, 8,i: 44,034,092 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,318,043 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,969,339 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,963,182 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,151,915 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,471,577 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,791,550 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,658,135 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,283,940 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,902,529 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,138,771 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,997,372 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,375,661 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,247,373 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,154,963 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,415,235 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,511,357 msg/sec AtomicQueue, 1,s: 60,650,236 msg/sec AtomicQueue, 1,i: 56,508,801 msg/sec AtomicQueue, 2,s: 12,332,139 msg/sec AtomicQueue, 2,i: 11,735,906 msg/sec AtomicQueue, 3,s: 10,758,729 msg/sec AtomicQueue, 3,i: 9,889,375 msg/sec AtomicQueue, 4,s: 8,178,617 msg/sec AtomicQueue, 4,i: 8,181,907 msg/sec AtomicQueue, 5,s: 8,040,123 msg/sec AtomicQueue, 5,i: 8,120,542 msg/sec AtomicQueue, 6,s: 7,916,386 msg/sec AtomicQueue, 6,i: 7,613,103 msg/sec AtomicQueue, 7,s: 7,227,281 msg/sec AtomicQueue, 7,i: 7,956,326 msg/sec AtomicQueue, 8,s: 6,341,908 msg/sec AtomicQueue, 8,i: 7,461,923 msg/sec AtomicQueueB, 1,s: 73,170,843 msg/sec AtomicQueueB, 1,i: 43,199,362 msg/sec AtomicQueueB, 2,s: 11,827,474 msg/sec AtomicQueueB, 2,i: 11,516,454 msg/sec AtomicQueueB, 3,s: 10,980,095 msg/sec AtomicQueueB, 3,i: 10,328,521 msg/sec AtomicQueueB, 4,s: 8,080,234 msg/sec AtomicQueueB, 4,i: 8,132,871 msg/sec AtomicQueueB, 5,s: 7,658,596 msg/sec AtomicQueueB, 5,i: 7,830,217 msg/sec AtomicQueueB, 6,s: 7,305,392 msg/sec AtomicQueueB, 6,i: 7,500,813 msg/sec AtomicQueueB, 7,s: 6,868,624 msg/sec AtomicQueueB, 7,i: 7,678,464 msg/sec AtomicQueueB, 8,s: 6,218,300 msg/sec AtomicQueueB, 8,i: 7,172,582 msg/sec OptimistAtomicQueue, 1,s: 748,090,872 msg/sec OptimistAtomicQueue, 1,i: 776,864,508 msg/sec OptimistAtomicQueue, 2,s: 32,167,810 msg/sec OptimistAtomicQueue, 2,i: 32,700,526 msg/sec OptimistAtomicQueue, 3,s: 36,649,002 msg/sec OptimistAtomicQueue, 3,i: 37,360,050 msg/sec OptimistAtomicQueue, 4,s: 39,285,386 msg/sec OptimistAtomicQueue, 4,i: 39,391,546 msg/sec OptimistAtomicQueue, 5,s: 41,757,782 msg/sec OptimistAtomicQueue, 5,i: 46,184,416 msg/sec OptimistAtomicQueue, 6,s: 42,766,268 msg/sec OptimistAtomicQueue, 6,i: 50,496,664 msg/sec OptimistAtomicQueue, 7,s: 44,444,309 msg/sec OptimistAtomicQueue, 7,i: 52,106,346 msg/sec OptimistAtomicQueue, 8,s: 46,447,804 msg/sec OptimistAtomicQueue, 8,i: 49,335,637 msg/sec OptimistAtomicQueueB, 1,s: 77,963,958 msg/sec OptimistAtomicQueueB, 1,i: 146,435,449 msg/sec OptimistAtomicQueueB, 2,s: 32,172,998 msg/sec OptimistAtomicQueueB, 2,i: 32,015,754 msg/sec OptimistAtomicQueueB, 3,s: 36,158,622 msg/sec OptimistAtomicQueueB, 3,i: 36,967,764 msg/sec OptimistAtomicQueueB, 4,s: 38,633,306 msg/sec OptimistAtomicQueueB, 4,i: 38,600,816 msg/sec OptimistAtomicQueueB, 5,s: 41,383,417 msg/sec OptimistAtomicQueueB, 5,i: 46,013,887 msg/sec OptimistAtomicQueueB, 6,s: 40,390,582 msg/sec OptimistAtomicQueueB, 6,i: 49,094,643 msg/sec OptimistAtomicQueueB, 7,s: 42,083,768 msg/sec OptimistAtomicQueueB, 7,i: 51,523,356 msg/sec OptimistAtomicQueueB, 8,s: 44,288,374 msg/sec OptimistAtomicQueueB, 8,i: 47,957,813 msg/sec AtomicQueue2, 1,s: 22,919,432 msg/sec AtomicQueue2, 1,i: 22,878,468 msg/sec AtomicQueue2, 2,s: 11,635,633 msg/sec AtomicQueue2, 2,i: 11,306,217 msg/sec AtomicQueue2, 3,s: 9,656,270 msg/sec AtomicQueue2, 3,i: 9,429,640 msg/sec AtomicQueue2, 4,s: 8,043,537 msg/sec AtomicQueue2, 4,i: 7,977,328 msg/sec AtomicQueue2, 5,s: 7,934,367 msg/sec AtomicQueue2, 5,i: 8,080,322 msg/sec AtomicQueue2, 6,s: 7,715,540 msg/sec AtomicQueue2, 6,i: 7,530,905 msg/sec AtomicQueue2, 7,s: 7,154,402 msg/sec AtomicQueue2, 7,i: 7,891,695 msg/sec AtomicQueue2, 8,s: 6,391,322 msg/sec AtomicQueue2, 8,i: 7,363,831 msg/sec AtomicQueueB2, 1,s: 35,925,401 msg/sec AtomicQueueB2, 1,i: 32,662,187 msg/sec AtomicQueueB2, 2,s: 11,433,194 msg/sec AtomicQueueB2, 2,i: 11,177,770 msg/sec AtomicQueueB2, 3,s: 9,601,752 msg/sec AtomicQueueB2, 3,i: 9,486,074 msg/sec AtomicQueueB2, 4,s: 7,948,082 msg/sec AtomicQueueB2, 4,i: 7,853,183 msg/sec AtomicQueueB2, 5,s: 7,515,011 msg/sec AtomicQueueB2, 5,i: 7,803,801 msg/sec AtomicQueueB2, 6,s: 7,308,218 msg/sec AtomicQueueB2, 6,i: 7,444,286 msg/sec AtomicQueueB2, 7,s: 6,806,853 msg/sec AtomicQueueB2, 7,i: 7,709,038 msg/sec AtomicQueueB2, 8,s: 6,301,987 msg/sec AtomicQueueB2, 8,i: 7,173,431 msg/sec OptimistAtomicQueue2, 1,s: 503,580,774 msg/sec OptimistAtomicQueue2, 1,i: 32,095,427 msg/sec OptimistAtomicQueue2, 2,s: 24,943,910 msg/sec OptimistAtomicQueue2, 2,i: 24,020,570 msg/sec OptimistAtomicQueue2, 3,s: 30,452,660 msg/sec OptimistAtomicQueue2, 3,i: 29,984,739 msg/sec OptimistAtomicQueue2, 4,s: 33,159,980 msg/sec OptimistAtomicQueue2, 4,i: 33,401,510 msg/sec OptimistAtomicQueue2, 5,s: 37,009,344 msg/sec OptimistAtomicQueue2, 5,i: 40,466,686 msg/sec OptimistAtomicQueue2, 6,s: 40,124,626 msg/sec OptimistAtomicQueue2, 6,i: 49,387,856 msg/sec OptimistAtomicQueue2, 7,s: 43,080,860 msg/sec OptimistAtomicQueue2, 7,i: 51,591,136 msg/sec OptimistAtomicQueue2, 8,s: 44,043,959 msg/sec OptimistAtomicQueue2, 8,i: 49,704,101 msg/sec OptimistAtomicQueueB2, 1,s: 76,052,914 msg/sec OptimistAtomicQueueB2, 1,i: 56,883,215 msg/sec OptimistAtomicQueueB2, 2,s: 28,806,662 msg/sec OptimistAtomicQueueB2, 2,i: 25,314,056 msg/sec OptimistAtomicQueueB2, 3,s: 29,720,729 msg/sec OptimistAtomicQueueB2, 3,i: 29,109,010 msg/sec OptimistAtomicQueueB2, 4,s: 33,431,532 msg/sec OptimistAtomicQueueB2, 4,i: 32,723,586 msg/sec OptimistAtomicQueueB2, 5,s: 34,677,148 msg/sec OptimistAtomicQueueB2, 5,i: 39,901,089 msg/sec OptimistAtomicQueueB2, 6,s: 37,469,635 msg/sec OptimistAtomicQueueB2, 6,i: 42,412,704 msg/sec OptimistAtomicQueueB2, 7,s: 40,798,422 msg/sec OptimistAtomicQueueB2, 7,i: 42,911,109 msg/sec OptimistAtomicQueueB2, 8,s: 42,430,896 msg/sec OptimistAtomicQueueB2, 8,i: 45,013,664 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000258 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000143 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000192 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [188] 233m:18s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,516,309 msg/sec boost::lockfree::spsc_queue, 1,i: 66,971,117 msg/sec boost::lockfree::queue, 1,s: 6,874,224 msg/sec boost::lockfree::queue, 1,i: 6,816,112 msg/sec boost::lockfree::queue, 2,s: 7,496,183 msg/sec boost::lockfree::queue, 2,i: 7,491,060 msg/sec boost::lockfree::queue, 3,s: 7,406,271 msg/sec boost::lockfree::queue, 3,i: 7,608,599 msg/sec boost::lockfree::queue, 4,s: 6,429,366 msg/sec boost::lockfree::queue, 4,i: 6,856,625 msg/sec boost::lockfree::queue, 5,s: 6,429,407 msg/sec boost::lockfree::queue, 5,i: 6,509,713 msg/sec boost::lockfree::queue, 6,s: 5,961,007 msg/sec boost::lockfree::queue, 6,i: 6,139,668 msg/sec boost::lockfree::queue, 7,s: 5,901,416 msg/sec boost::lockfree::queue, 7,i: 6,038,642 msg/sec boost::lockfree::queue, 8,s: 5,480,635 msg/sec boost::lockfree::queue, 8,i: 5,582,182 msg/sec moodycamel::ReaderWriterQueue, 1,s: 483,130,472 msg/sec moodycamel::ReaderWriterQueue, 1,i: 464,159,409 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,295,571 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,847,559 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,812,659 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,915,634 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,607,474 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,412,014 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,173,015 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,978,871 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,416,080 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,658,834 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,647,745 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,718,873 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,896,538 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,897,615 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,152,913 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,824,821 msg/sec pthread_spinlock, 1,s: 28,801,034 msg/sec pthread_spinlock, 1,i: 25,311,121 msg/sec pthread_spinlock, 2,s: 15,436,391 msg/sec pthread_spinlock, 2,i: 17,912,476 msg/sec pthread_spinlock, 3,s: 8,283,058 msg/sec pthread_spinlock, 3,i: 12,067,328 msg/sec pthread_spinlock, 4,s: 6,488,461 msg/sec pthread_spinlock, 4,i: 8,959,560 msg/sec pthread_spinlock, 5,s: 8,696,962 msg/sec pthread_spinlock, 5,i: 9,214,936 msg/sec pthread_spinlock, 6,s: 8,657,077 msg/sec pthread_spinlock, 6,i: 9,267,681 msg/sec pthread_spinlock, 7,s: 7,630,196 msg/sec pthread_spinlock, 7,i: 7,916,575 msg/sec pthread_spinlock, 8,s: 6,687,196 msg/sec pthread_spinlock, 8,i: 7,595,427 msg/sec std::mutex, 1,s: 5,990,095 msg/sec std::mutex, 1,i: 5,961,057 msg/sec std::mutex, 2,s: 5,182,740 msg/sec std::mutex, 2,i: 5,437,388 msg/sec std::mutex, 3,s: 5,231,738 msg/sec std::mutex, 3,i: 4,847,999 msg/sec std::mutex, 4,s: 6,158,057 msg/sec std::mutex, 4,i: 6,206,770 msg/sec std::mutex, 5,s: 5,995,093 msg/sec std::mutex, 5,i: 5,686,782 msg/sec std::mutex, 6,s: 5,910,601 msg/sec std::mutex, 6,i: 5,921,124 msg/sec std::mutex, 7,s: 5,815,593 msg/sec std::mutex, 7,i: 5,822,113 msg/sec std::mutex, 8,s: 5,721,901 msg/sec std::mutex, 8,i: 5,675,990 msg/sec tbb::spin_mutex, 1,s: 37,867,682 msg/sec tbb::spin_mutex, 1,i: 37,705,180 msg/sec tbb::spin_mutex, 2,s: 21,220,525 msg/sec tbb::spin_mutex, 2,i: 18,432,540 msg/sec tbb::spin_mutex, 3,s: 7,352,035 msg/sec tbb::spin_mutex, 3,i: 10,149,699 msg/sec tbb::spin_mutex, 4,s: 3,287,457 msg/sec tbb::spin_mutex, 4,i: 6,438,155 msg/sec tbb::spin_mutex, 5,s: 5,226,929 msg/sec tbb::spin_mutex, 5,i: 5,716,982 msg/sec tbb::spin_mutex, 6,s: 5,358,630 msg/sec tbb::spin_mutex, 6,i: 4,321,180 msg/sec tbb::spin_mutex, 7,s: 4,854,262 msg/sec tbb::spin_mutex, 7,i: 4,352,099 msg/sec tbb::spin_mutex, 8,s: 4,263,818 msg/sec tbb::spin_mutex, 8,i: 4,171,593 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,258,951 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,843,840 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,231,252 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,425,185 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,548,824 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,700,918 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,530,959 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,600,551 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,906,594 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,600,647 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,872,131 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,674,483 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,880,618 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,800,038 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,776,755 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,478,439 msg/sec xenium::michael_scott_queue, 1,s: 10,155,314 msg/sec xenium::michael_scott_queue, 1,i: 9,949,161 msg/sec xenium::michael_scott_queue, 2,s: 8,531,254 msg/sec xenium::michael_scott_queue, 2,i: 8,509,211 msg/sec xenium::michael_scott_queue, 3,s: 7,156,245 msg/sec xenium::michael_scott_queue, 3,i: 7,535,443 msg/sec xenium::michael_scott_queue, 4,s: 6,275,442 msg/sec xenium::michael_scott_queue, 4,i: 6,319,363 msg/sec xenium::michael_scott_queue, 5,s: 6,323,695 msg/sec xenium::michael_scott_queue, 5,i: 6,643,405 msg/sec xenium::michael_scott_queue, 6,s: 6,446,923 msg/sec xenium::michael_scott_queue, 6,i: 6,731,186 msg/sec xenium::michael_scott_queue, 7,s: 6,294,596 msg/sec xenium::michael_scott_queue, 7,i: 6,435,435 msg/sec xenium::michael_scott_queue, 8,s: 6,013,905 msg/sec xenium::michael_scott_queue, 8,i: 6,091,659 msg/sec xenium::ramalhete_queue, 1,s: 32,581,543 msg/sec xenium::ramalhete_queue, 1,i: 31,970,698 msg/sec xenium::ramalhete_queue, 2,s: 23,399,733 msg/sec xenium::ramalhete_queue, 2,i: 23,371,290 msg/sec xenium::ramalhete_queue, 3,s: 29,228,660 msg/sec xenium::ramalhete_queue, 3,i: 28,444,958 msg/sec xenium::ramalhete_queue, 4,s: 33,847,672 msg/sec xenium::ramalhete_queue, 4,i: 33,506,048 msg/sec xenium::ramalhete_queue, 5,s: 31,942,495 msg/sec xenium::ramalhete_queue, 5,i: 36,123,144 msg/sec xenium::ramalhete_queue, 6,s: 34,079,457 msg/sec xenium::ramalhete_queue, 6,i: 38,995,736 msg/sec xenium::ramalhete_queue, 7,s: 35,040,612 msg/sec xenium::ramalhete_queue, 7,i: 41,434,882 msg/sec xenium::ramalhete_queue, 8,s: 35,594,723 msg/sec xenium::ramalhete_queue, 8,i: 44,019,771 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,914,749 msg/sec xenium::vyukov_bounded_queue, 1,i: 93,788,407 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,954,480 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,883,055 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,628,814 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,912,278 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,469,601 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,213,055 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,468,068 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,352,769 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,184,432 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,414,383 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,313,836 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,259,244 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,401,910 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,347,693 msg/sec AtomicQueue, 1,s: 61,945,775 msg/sec AtomicQueue, 1,i: 56,615,754 msg/sec AtomicQueue, 2,s: 12,225,608 msg/sec AtomicQueue, 2,i: 11,749,056 msg/sec AtomicQueue, 3,s: 10,807,393 msg/sec AtomicQueue, 3,i: 9,906,824 msg/sec AtomicQueue, 4,s: 8,191,350 msg/sec AtomicQueue, 4,i: 8,241,850 msg/sec AtomicQueue, 5,s: 8,035,074 msg/sec AtomicQueue, 5,i: 8,164,594 msg/sec AtomicQueue, 6,s: 7,706,871 msg/sec AtomicQueue, 6,i: 7,611,809 msg/sec AtomicQueue, 7,s: 7,109,844 msg/sec AtomicQueue, 7,i: 7,980,430 msg/sec AtomicQueue, 8,s: 6,356,160 msg/sec AtomicQueue, 8,i: 7,460,382 msg/sec AtomicQueueB, 1,s: 46,679,846 msg/sec AtomicQueueB, 1,i: 42,960,332 msg/sec AtomicQueueB, 2,s: 11,817,634 msg/sec AtomicQueueB, 2,i: 11,474,433 msg/sec AtomicQueueB, 3,s: 10,937,973 msg/sec AtomicQueueB, 3,i: 10,165,776 msg/sec AtomicQueueB, 4,s: 8,071,160 msg/sec AtomicQueueB, 4,i: 8,045,639 msg/sec AtomicQueueB, 5,s: 7,682,092 msg/sec AtomicQueueB, 5,i: 7,736,943 msg/sec AtomicQueueB, 6,s: 7,399,921 msg/sec AtomicQueueB, 6,i: 7,599,966 msg/sec AtomicQueueB, 7,s: 6,844,942 msg/sec AtomicQueueB, 7,i: 7,707,749 msg/sec AtomicQueueB, 8,s: 6,214,076 msg/sec AtomicQueueB, 8,i: 7,158,422 msg/sec OptimistAtomicQueue, 1,s: 685,762,289 msg/sec OptimistAtomicQueue, 1,i: 514,420,426 msg/sec OptimistAtomicQueue, 2,s: 32,643,995 msg/sec OptimistAtomicQueue, 2,i: 32,718,873 msg/sec OptimistAtomicQueue, 3,s: 36,655,026 msg/sec OptimistAtomicQueue, 3,i: 37,404,647 msg/sec OptimistAtomicQueue, 4,s: 39,274,047 msg/sec OptimistAtomicQueue, 4,i: 39,375,389 msg/sec OptimistAtomicQueue, 5,s: 42,600,780 msg/sec OptimistAtomicQueue, 5,i: 47,331,112 msg/sec OptimistAtomicQueue, 6,s: 42,703,917 msg/sec OptimistAtomicQueue, 6,i: 50,428,347 msg/sec OptimistAtomicQueue, 7,s: 44,322,679 msg/sec OptimistAtomicQueue, 7,i: 52,965,810 msg/sec OptimistAtomicQueue, 8,s: 46,403,004 msg/sec OptimistAtomicQueue, 8,i: 49,155,599 msg/sec OptimistAtomicQueueB, 1,s: 185,688,185 msg/sec OptimistAtomicQueueB, 1,i: 76,550,155 msg/sec OptimistAtomicQueueB, 2,s: 32,189,720 msg/sec OptimistAtomicQueueB, 2,i: 32,249,937 msg/sec OptimistAtomicQueueB, 3,s: 36,310,489 msg/sec OptimistAtomicQueueB, 3,i: 36,934,788 msg/sec OptimistAtomicQueueB, 4,s: 38,693,580 msg/sec OptimistAtomicQueueB, 4,i: 38,668,037 msg/sec OptimistAtomicQueueB, 5,s: 40,795,674 msg/sec OptimistAtomicQueueB, 5,i: 45,520,153 msg/sec OptimistAtomicQueueB, 6,s: 40,877,507 msg/sec OptimistAtomicQueueB, 6,i: 49,093,921 msg/sec OptimistAtomicQueueB, 7,s: 42,205,581 msg/sec OptimistAtomicQueueB, 7,i: 48,310,466 msg/sec OptimistAtomicQueueB, 8,s: 44,320,034 msg/sec OptimistAtomicQueueB, 8,i: 48,108,850 msg/sec AtomicQueue2, 1,s: 22,858,898 msg/sec AtomicQueue2, 1,i: 22,899,328 msg/sec AtomicQueue2, 2,s: 11,798,051 msg/sec AtomicQueue2, 2,i: 11,414,962 msg/sec AtomicQueue2, 3,s: 9,505,341 msg/sec AtomicQueue2, 3,i: 9,459,427 msg/sec AtomicQueue2, 4,s: 8,029,403 msg/sec AtomicQueue2, 4,i: 8,020,036 msg/sec AtomicQueue2, 5,s: 7,911,523 msg/sec AtomicQueue2, 5,i: 8,056,098 msg/sec AtomicQueue2, 6,s: 7,727,832 msg/sec AtomicQueue2, 6,i: 7,515,454 msg/sec AtomicQueue2, 7,s: 7,134,963 msg/sec AtomicQueue2, 7,i: 7,895,755 msg/sec AtomicQueue2, 8,s: 6,385,547 msg/sec AtomicQueue2, 8,i: 7,279,218 msg/sec AtomicQueueB2, 1,s: 35,857,573 msg/sec AtomicQueueB2, 1,i: 32,664,057 msg/sec AtomicQueueB2, 2,s: 11,457,771 msg/sec AtomicQueueB2, 2,i: 11,090,927 msg/sec AtomicQueueB2, 3,s: 9,593,832 msg/sec AtomicQueueB2, 3,i: 9,580,631 msg/sec AtomicQueueB2, 4,s: 7,937,904 msg/sec AtomicQueueB2, 4,i: 7,706,435 msg/sec AtomicQueueB2, 5,s: 7,441,074 msg/sec AtomicQueueB2, 5,i: 7,764,131 msg/sec AtomicQueueB2, 6,s: 7,324,994 msg/sec AtomicQueueB2, 6,i: 7,476,694 msg/sec AtomicQueueB2, 7,s: 6,883,787 msg/sec AtomicQueueB2, 7,i: 7,707,209 msg/sec AtomicQueueB2, 8,s: 6,286,919 msg/sec AtomicQueueB2, 8,i: 7,066,063 msg/sec OptimistAtomicQueue2, 1,s: 32,234,031 msg/sec OptimistAtomicQueue2, 1,i: 31,842,349 msg/sec OptimistAtomicQueue2, 2,s: 29,482,496 msg/sec OptimistAtomicQueue2, 2,i: 25,951,959 msg/sec OptimistAtomicQueue2, 3,s: 30,322,909 msg/sec OptimistAtomicQueue2, 3,i: 31,531,683 msg/sec OptimistAtomicQueue2, 4,s: 33,236,739 msg/sec OptimistAtomicQueue2, 4,i: 33,268,553 msg/sec OptimistAtomicQueue2, 5,s: 37,042,193 msg/sec OptimistAtomicQueue2, 5,i: 40,574,205 msg/sec OptimistAtomicQueue2, 6,s: 40,247,002 msg/sec OptimistAtomicQueue2, 6,i: 49,211,096 msg/sec OptimistAtomicQueue2, 7,s: 43,079,799 msg/sec OptimistAtomicQueue2, 7,i: 48,126,021 msg/sec OptimistAtomicQueue2, 8,s: 44,036,629 msg/sec OptimistAtomicQueue2, 8,i: 48,479,472 msg/sec OptimistAtomicQueueB2, 1,s: 77,038,025 msg/sec OptimistAtomicQueueB2, 1,i: 33,865,343 msg/sec OptimistAtomicQueueB2, 2,s: 27,644,997 msg/sec OptimistAtomicQueueB2, 2,i: 24,739,286 msg/sec OptimistAtomicQueueB2, 3,s: 29,765,198 msg/sec OptimistAtomicQueueB2, 3,i: 29,439,914 msg/sec OptimistAtomicQueueB2, 4,s: 33,246,594 msg/sec OptimistAtomicQueueB2, 4,i: 32,085,271 msg/sec OptimistAtomicQueueB2, 5,s: 34,670,688 msg/sec OptimistAtomicQueueB2, 5,i: 39,549,736 msg/sec OptimistAtomicQueueB2, 6,s: 37,318,230 msg/sec OptimistAtomicQueueB2, 6,i: 42,313,652 msg/sec OptimistAtomicQueueB2, 7,s: 40,310,749 msg/sec OptimistAtomicQueueB2, 7,i: 43,120,772 msg/sec OptimistAtomicQueueB2, 8,s: 42,038,822 msg/sec OptimistAtomicQueueB2, 8,i: 45,575,203 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000116 sec/round-trip moodycamel::ConcurrentQueue: 0.000000245 sec/round-trip pthread_spinlock: 0.000000259 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000281 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [189] 231m:59s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,506,900 msg/sec boost::lockfree::spsc_queue, 1,i: 68,155,839 msg/sec boost::lockfree::queue, 1,s: 6,829,036 msg/sec boost::lockfree::queue, 1,i: 6,806,906 msg/sec boost::lockfree::queue, 2,s: 7,624,462 msg/sec boost::lockfree::queue, 2,i: 7,547,550 msg/sec boost::lockfree::queue, 3,s: 7,468,793 msg/sec boost::lockfree::queue, 3,i: 7,588,507 msg/sec boost::lockfree::queue, 4,s: 6,420,125 msg/sec boost::lockfree::queue, 4,i: 6,724,457 msg/sec boost::lockfree::queue, 5,s: 6,427,694 msg/sec boost::lockfree::queue, 5,i: 6,528,234 msg/sec boost::lockfree::queue, 6,s: 5,971,224 msg/sec boost::lockfree::queue, 6,i: 6,121,429 msg/sec boost::lockfree::queue, 7,s: 5,900,331 msg/sec boost::lockfree::queue, 7,i: 6,008,718 msg/sec boost::lockfree::queue, 8,s: 5,472,900 msg/sec boost::lockfree::queue, 8,i: 5,647,679 msg/sec moodycamel::ReaderWriterQueue, 1,s: 63,449,600 msg/sec moodycamel::ReaderWriterQueue, 1,i: 51,421,465 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,897,153 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,843,102 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,914,210 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,107,028 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,092,216 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,748,436 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,148,822 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,319,293 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,372,713 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,302,249 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,443,883 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,147,630 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,967,225 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,823,873 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,285,413 msg/sec moodycamel::ConcurrentQueue, 8,i: 37,991,092 msg/sec pthread_spinlock, 1,s: 28,917,908 msg/sec pthread_spinlock, 1,i: 25,366,861 msg/sec pthread_spinlock, 2,s: 15,554,927 msg/sec pthread_spinlock, 2,i: 17,121,464 msg/sec pthread_spinlock, 3,s: 8,393,493 msg/sec pthread_spinlock, 3,i: 11,985,606 msg/sec pthread_spinlock, 4,s: 6,517,329 msg/sec pthread_spinlock, 4,i: 8,736,401 msg/sec pthread_spinlock, 5,s: 8,580,175 msg/sec pthread_spinlock, 5,i: 10,423,113 msg/sec pthread_spinlock, 6,s: 8,416,369 msg/sec pthread_spinlock, 6,i: 8,430,452 msg/sec pthread_spinlock, 7,s: 7,742,783 msg/sec pthread_spinlock, 7,i: 7,589,953 msg/sec pthread_spinlock, 8,s: 6,894,101 msg/sec pthread_spinlock, 8,i: 6,981,877 msg/sec std::mutex, 1,s: 8,195,032 msg/sec std::mutex, 1,i: 7,181,178 msg/sec std::mutex, 2,s: 5,983,298 msg/sec std::mutex, 2,i: 5,910,078 msg/sec std::mutex, 3,s: 6,040,580 msg/sec std::mutex, 3,i: 5,989,473 msg/sec std::mutex, 4,s: 6,287,975 msg/sec std::mutex, 4,i: 6,234,725 msg/sec std::mutex, 5,s: 6,090,891 msg/sec std::mutex, 5,i: 5,747,435 msg/sec std::mutex, 6,s: 5,927,177 msg/sec std::mutex, 6,i: 5,933,437 msg/sec std::mutex, 7,s: 5,754,174 msg/sec std::mutex, 7,i: 5,781,697 msg/sec std::mutex, 8,s: 5,666,675 msg/sec std::mutex, 8,i: 5,693,553 msg/sec tbb::spin_mutex, 1,s: 37,781,375 msg/sec tbb::spin_mutex, 1,i: 37,444,704 msg/sec tbb::spin_mutex, 2,s: 21,209,172 msg/sec tbb::spin_mutex, 2,i: 18,443,943 msg/sec tbb::spin_mutex, 3,s: 8,253,837 msg/sec tbb::spin_mutex, 3,i: 10,797,868 msg/sec tbb::spin_mutex, 4,s: 3,141,277 msg/sec tbb::spin_mutex, 4,i: 6,351,637 msg/sec tbb::spin_mutex, 5,s: 5,476,221 msg/sec tbb::spin_mutex, 5,i: 5,816,393 msg/sec tbb::spin_mutex, 6,s: 5,326,837 msg/sec tbb::spin_mutex, 6,i: 4,344,077 msg/sec tbb::spin_mutex, 7,s: 4,540,702 msg/sec tbb::spin_mutex, 7,i: 4,315,050 msg/sec tbb::spin_mutex, 8,s: 4,264,901 msg/sec tbb::spin_mutex, 8,i: 4,077,301 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,156,637 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,090,704 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,406,011 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,566,365 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,679,273 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,725,560 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,512,743 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,582,365 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,881,885 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,630,606 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,925,028 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,681,523 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,886,858 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,819,386 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,775,401 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,474,353 msg/sec xenium::michael_scott_queue, 1,s: 9,345,265 msg/sec xenium::michael_scott_queue, 1,i: 9,210,202 msg/sec xenium::michael_scott_queue, 2,s: 8,387,637 msg/sec xenium::michael_scott_queue, 2,i: 8,470,393 msg/sec xenium::michael_scott_queue, 3,s: 7,374,910 msg/sec xenium::michael_scott_queue, 3,i: 7,522,164 msg/sec xenium::michael_scott_queue, 4,s: 6,255,352 msg/sec xenium::michael_scott_queue, 4,i: 6,397,862 msg/sec xenium::michael_scott_queue, 5,s: 6,331,978 msg/sec xenium::michael_scott_queue, 5,i: 6,629,215 msg/sec xenium::michael_scott_queue, 6,s: 6,493,359 msg/sec xenium::michael_scott_queue, 6,i: 6,708,144 msg/sec xenium::michael_scott_queue, 7,s: 6,298,908 msg/sec xenium::michael_scott_queue, 7,i: 6,525,499 msg/sec xenium::michael_scott_queue, 8,s: 6,059,830 msg/sec xenium::michael_scott_queue, 8,i: 6,175,078 msg/sec xenium::ramalhete_queue, 1,s: 31,597,915 msg/sec xenium::ramalhete_queue, 1,i: 32,029,260 msg/sec xenium::ramalhete_queue, 2,s: 24,670,498 msg/sec xenium::ramalhete_queue, 2,i: 23,213,928 msg/sec xenium::ramalhete_queue, 3,s: 29,227,180 msg/sec xenium::ramalhete_queue, 3,i: 28,562,435 msg/sec xenium::ramalhete_queue, 4,s: 33,830,596 msg/sec xenium::ramalhete_queue, 4,i: 33,477,307 msg/sec xenium::ramalhete_queue, 5,s: 32,246,816 msg/sec xenium::ramalhete_queue, 5,i: 36,141,788 msg/sec xenium::ramalhete_queue, 6,s: 34,055,391 msg/sec xenium::ramalhete_queue, 6,i: 39,615,695 msg/sec xenium::ramalhete_queue, 7,s: 35,105,162 msg/sec xenium::ramalhete_queue, 7,i: 41,767,206 msg/sec xenium::ramalhete_queue, 8,s: 35,530,264 msg/sec xenium::ramalhete_queue, 8,i: 43,793,681 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,581,461 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,472,934 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,314,313 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,382,805 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,623,411 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,333,973 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,532,997 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,268,891 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,755,333 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,328,507 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,116,076 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,283,057 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,269,523 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,882,396 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,429,411 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,525,410 msg/sec AtomicQueue, 1,s: 60,455,702 msg/sec AtomicQueue, 1,i: 56,584,952 msg/sec AtomicQueue, 2,s: 12,309,636 msg/sec AtomicQueue, 2,i: 11,751,253 msg/sec AtomicQueue, 3,s: 10,777,673 msg/sec AtomicQueue, 3,i: 9,911,342 msg/sec AtomicQueue, 4,s: 8,190,730 msg/sec AtomicQueue, 4,i: 8,162,318 msg/sec AtomicQueue, 5,s: 8,003,434 msg/sec AtomicQueue, 5,i: 8,107,939 msg/sec AtomicQueue, 6,s: 7,807,242 msg/sec AtomicQueue, 6,i: 7,614,529 msg/sec AtomicQueue, 7,s: 7,204,246 msg/sec AtomicQueue, 7,i: 7,975,371 msg/sec AtomicQueue, 8,s: 6,357,040 msg/sec AtomicQueue, 8,i: 7,310,484 msg/sec AtomicQueueB, 1,s: 47,989,668 msg/sec AtomicQueueB, 1,i: 43,062,579 msg/sec AtomicQueueB, 2,s: 11,773,976 msg/sec AtomicQueueB, 2,i: 11,470,344 msg/sec AtomicQueueB, 3,s: 10,962,321 msg/sec AtomicQueueB, 3,i: 10,180,876 msg/sec AtomicQueueB, 4,s: 8,055,882 msg/sec AtomicQueueB, 4,i: 7,938,503 msg/sec AtomicQueueB, 5,s: 7,670,254 msg/sec AtomicQueueB, 5,i: 7,838,075 msg/sec AtomicQueueB, 6,s: 7,218,496 msg/sec AtomicQueueB, 6,i: 7,527,017 msg/sec AtomicQueueB, 7,s: 6,840,714 msg/sec AtomicQueueB, 7,i: 7,713,490 msg/sec AtomicQueueB, 8,s: 6,243,290 msg/sec AtomicQueueB, 8,i: 7,146,076 msg/sec OptimistAtomicQueue, 1,s: 697,287,343 msg/sec OptimistAtomicQueue, 1,i: 514,760,499 msg/sec OptimistAtomicQueue, 2,s: 32,101,996 msg/sec OptimistAtomicQueue, 2,i: 32,205,662 msg/sec OptimistAtomicQueue, 3,s: 36,661,574 msg/sec OptimistAtomicQueue, 3,i: 37,348,753 msg/sec OptimistAtomicQueue, 4,s: 39,278,139 msg/sec OptimistAtomicQueue, 4,i: 39,383,994 msg/sec OptimistAtomicQueue, 5,s: 42,446,079 msg/sec OptimistAtomicQueue, 5,i: 47,334,414 msg/sec OptimistAtomicQueue, 6,s: 42,240,495 msg/sec OptimistAtomicQueue, 6,i: 50,258,676 msg/sec OptimistAtomicQueue, 7,s: 45,119,114 msg/sec OptimistAtomicQueue, 7,i: 49,163,251 msg/sec OptimistAtomicQueue, 8,s: 46,469,251 msg/sec OptimistAtomicQueue, 8,i: 48,801,292 msg/sec OptimistAtomicQueueB, 1,s: 120,153,496 msg/sec OptimistAtomicQueueB, 1,i: 77,418,952 msg/sec OptimistAtomicQueueB, 2,s: 32,093,641 msg/sec OptimistAtomicQueueB, 2,i: 32,251,307 msg/sec OptimistAtomicQueueB, 3,s: 36,269,006 msg/sec OptimistAtomicQueueB, 3,i: 36,837,515 msg/sec OptimistAtomicQueueB, 4,s: 38,659,674 msg/sec OptimistAtomicQueueB, 4,i: 38,642,709 msg/sec OptimistAtomicQueueB, 5,s: 40,849,470 msg/sec OptimistAtomicQueueB, 5,i: 45,481,389 msg/sec OptimistAtomicQueueB, 6,s: 41,263,944 msg/sec OptimistAtomicQueueB, 6,i: 49,332,837 msg/sec OptimistAtomicQueueB, 7,s: 42,048,513 msg/sec OptimistAtomicQueueB, 7,i: 47,850,836 msg/sec OptimistAtomicQueueB, 8,s: 44,748,467 msg/sec OptimistAtomicQueueB, 8,i: 48,209,213 msg/sec AtomicQueue2, 1,s: 22,917,194 msg/sec AtomicQueue2, 1,i: 22,897,200 msg/sec AtomicQueue2, 2,s: 11,845,649 msg/sec AtomicQueue2, 2,i: 11,465,981 msg/sec AtomicQueue2, 3,s: 9,360,429 msg/sec AtomicQueue2, 3,i: 9,535,159 msg/sec AtomicQueue2, 4,s: 8,020,395 msg/sec AtomicQueue2, 4,i: 8,069,266 msg/sec AtomicQueue2, 5,s: 7,922,799 msg/sec AtomicQueue2, 5,i: 8,010,644 msg/sec AtomicQueue2, 6,s: 7,848,044 msg/sec AtomicQueue2, 6,i: 7,519,314 msg/sec AtomicQueue2, 7,s: 7,154,608 msg/sec AtomicQueue2, 7,i: 7,883,256 msg/sec AtomicQueue2, 8,s: 6,393,169 msg/sec AtomicQueue2, 8,i: 7,313,445 msg/sec AtomicQueueB2, 1,s: 35,974,249 msg/sec AtomicQueueB2, 1,i: 35,891,041 msg/sec AtomicQueueB2, 2,s: 11,452,352 msg/sec AtomicQueueB2, 2,i: 11,176,996 msg/sec AtomicQueueB2, 3,s: 9,649,414 msg/sec AtomicQueueB2, 3,i: 9,531,273 msg/sec AtomicQueueB2, 4,s: 7,985,589 msg/sec AtomicQueueB2, 4,i: 7,810,500 msg/sec AtomicQueueB2, 5,s: 7,590,911 msg/sec AtomicQueueB2, 5,i: 7,728,041 msg/sec AtomicQueueB2, 6,s: 7,379,376 msg/sec AtomicQueueB2, 6,i: 7,420,733 msg/sec AtomicQueueB2, 7,s: 6,835,664 msg/sec AtomicQueueB2, 7,i: 7,706,539 msg/sec AtomicQueueB2, 8,s: 6,250,727 msg/sec AtomicQueueB2, 8,i: 7,089,412 msg/sec OptimistAtomicQueue2, 1,s: 301,558,901 msg/sec OptimistAtomicQueue2, 1,i: 524,305,079 msg/sec OptimistAtomicQueue2, 2,s: 23,650,196 msg/sec OptimistAtomicQueue2, 2,i: 25,938,213 msg/sec OptimistAtomicQueue2, 3,s: 30,309,932 msg/sec OptimistAtomicQueue2, 3,i: 29,940,794 msg/sec OptimistAtomicQueue2, 4,s: 35,326,463 msg/sec OptimistAtomicQueue2, 4,i: 33,316,897 msg/sec OptimistAtomicQueue2, 5,s: 37,291,937 msg/sec OptimistAtomicQueue2, 5,i: 40,321,095 msg/sec OptimistAtomicQueue2, 6,s: 40,463,127 msg/sec OptimistAtomicQueue2, 6,i: 49,285,546 msg/sec OptimistAtomicQueue2, 7,s: 42,781,427 msg/sec OptimistAtomicQueue2, 7,i: 48,157,966 msg/sec OptimistAtomicQueue2, 8,s: 44,038,588 msg/sec OptimistAtomicQueue2, 8,i: 49,559,872 msg/sec OptimistAtomicQueueB2, 1,s: 76,892,631 msg/sec OptimistAtomicQueueB2, 1,i: 33,931,174 msg/sec OptimistAtomicQueueB2, 2,s: 28,420,412 msg/sec OptimistAtomicQueueB2, 2,i: 23,363,702 msg/sec OptimistAtomicQueueB2, 3,s: 29,701,256 msg/sec OptimistAtomicQueueB2, 3,i: 29,081,819 msg/sec OptimistAtomicQueueB2, 4,s: 33,154,927 msg/sec OptimistAtomicQueueB2, 4,i: 32,246,067 msg/sec OptimistAtomicQueueB2, 5,s: 34,565,361 msg/sec OptimistAtomicQueueB2, 5,i: 39,423,597 msg/sec OptimistAtomicQueueB2, 6,s: 37,326,524 msg/sec OptimistAtomicQueueB2, 6,i: 42,323,449 msg/sec OptimistAtomicQueueB2, 7,s: 40,142,626 msg/sec OptimistAtomicQueueB2, 7,i: 45,422,391 msg/sec OptimistAtomicQueueB2, 8,s: 42,141,527 msg/sec OptimistAtomicQueueB2, 8,i: 45,204,245 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000325 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000142 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000448 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000376 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [190] 230m:39s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,114,281 msg/sec boost::lockfree::spsc_queue, 1,i: 68,790,447 msg/sec boost::lockfree::queue, 1,s: 6,896,549 msg/sec boost::lockfree::queue, 1,i: 6,945,633 msg/sec boost::lockfree::queue, 2,s: 7,573,313 msg/sec boost::lockfree::queue, 2,i: 7,460,489 msg/sec boost::lockfree::queue, 3,s: 7,365,022 msg/sec boost::lockfree::queue, 3,i: 7,530,753 msg/sec boost::lockfree::queue, 4,s: 6,423,570 msg/sec boost::lockfree::queue, 4,i: 6,775,673 msg/sec boost::lockfree::queue, 5,s: 6,491,733 msg/sec boost::lockfree::queue, 5,i: 6,447,254 msg/sec boost::lockfree::queue, 6,s: 6,013,343 msg/sec boost::lockfree::queue, 6,i: 6,105,521 msg/sec boost::lockfree::queue, 7,s: 6,019,878 msg/sec boost::lockfree::queue, 7,i: 6,059,388 msg/sec boost::lockfree::queue, 8,s: 5,461,980 msg/sec boost::lockfree::queue, 8,i: 5,662,092 msg/sec moodycamel::ReaderWriterQueue, 1,s: 474,614,755 msg/sec moodycamel::ReaderWriterQueue, 1,i: 474,778,856 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,628,704 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,732,593 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,705,362 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,169,216 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,589,721 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,900,754 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,454,512 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,504,939 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,136,991 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,469,597 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,280,693 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,636,212 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,067,528 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,613,422 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,093,618 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,358,455 msg/sec pthread_spinlock, 1,s: 29,012,970 msg/sec pthread_spinlock, 1,i: 25,382,082 msg/sec pthread_spinlock, 2,s: 16,397,522 msg/sec pthread_spinlock, 2,i: 16,959,544 msg/sec pthread_spinlock, 3,s: 8,334,251 msg/sec pthread_spinlock, 3,i: 12,093,118 msg/sec pthread_spinlock, 4,s: 6,426,760 msg/sec pthread_spinlock, 4,i: 9,185,678 msg/sec pthread_spinlock, 5,s: 8,602,282 msg/sec pthread_spinlock, 5,i: 9,546,120 msg/sec pthread_spinlock, 6,s: 8,291,210 msg/sec pthread_spinlock, 6,i: 8,576,749 msg/sec pthread_spinlock, 7,s: 7,504,510 msg/sec pthread_spinlock, 7,i: 7,544,479 msg/sec pthread_spinlock, 8,s: 6,661,659 msg/sec pthread_spinlock, 8,i: 6,844,423 msg/sec std::mutex, 1,s: 6,847,276 msg/sec std::mutex, 1,i: 7,155,244 msg/sec std::mutex, 2,s: 5,842,266 msg/sec std::mutex, 2,i: 5,976,287 msg/sec std::mutex, 3,s: 6,066,604 msg/sec std::mutex, 3,i: 6,064,111 msg/sec std::mutex, 4,s: 6,323,610 msg/sec std::mutex, 4,i: 6,237,978 msg/sec std::mutex, 5,s: 6,008,038 msg/sec std::mutex, 5,i: 6,011,692 msg/sec std::mutex, 6,s: 5,919,305 msg/sec std::mutex, 6,i: 5,904,345 msg/sec std::mutex, 7,s: 5,841,597 msg/sec std::mutex, 7,i: 5,801,691 msg/sec std::mutex, 8,s: 5,629,492 msg/sec std::mutex, 8,i: 5,631,822 msg/sec tbb::spin_mutex, 1,s: 37,764,636 msg/sec tbb::spin_mutex, 1,i: 32,796,328 msg/sec tbb::spin_mutex, 2,s: 21,067,383 msg/sec tbb::spin_mutex, 2,i: 18,475,985 msg/sec tbb::spin_mutex, 3,s: 7,918,246 msg/sec tbb::spin_mutex, 3,i: 11,221,787 msg/sec tbb::spin_mutex, 4,s: 3,295,137 msg/sec tbb::spin_mutex, 4,i: 6,303,278 msg/sec tbb::spin_mutex, 5,s: 5,511,303 msg/sec tbb::spin_mutex, 5,i: 5,452,588 msg/sec tbb::spin_mutex, 6,s: 5,309,667 msg/sec tbb::spin_mutex, 6,i: 4,348,742 msg/sec tbb::spin_mutex, 7,s: 4,818,501 msg/sec tbb::spin_mutex, 7,i: 4,330,404 msg/sec tbb::spin_mutex, 8,s: 4,270,621 msg/sec tbb::spin_mutex, 8,i: 4,086,151 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,204,730 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,490,907 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,569,473 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,755,629 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,619,274 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,570,773 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,361,986 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,217,933 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,662,872 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,783,001 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,734,397 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,985,260 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,922,993 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,061,194 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,897,205 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,130,318 msg/sec xenium::michael_scott_queue, 1,s: 9,321,481 msg/sec xenium::michael_scott_queue, 1,i: 9,346,629 msg/sec xenium::michael_scott_queue, 2,s: 8,427,479 msg/sec xenium::michael_scott_queue, 2,i: 8,527,074 msg/sec xenium::michael_scott_queue, 3,s: 7,304,920 msg/sec xenium::michael_scott_queue, 3,i: 7,561,883 msg/sec xenium::michael_scott_queue, 4,s: 6,338,631 msg/sec xenium::michael_scott_queue, 4,i: 6,346,355 msg/sec xenium::michael_scott_queue, 5,s: 6,324,409 msg/sec xenium::michael_scott_queue, 5,i: 6,692,575 msg/sec xenium::michael_scott_queue, 6,s: 6,482,213 msg/sec xenium::michael_scott_queue, 6,i: 6,961,340 msg/sec xenium::michael_scott_queue, 7,s: 6,341,349 msg/sec xenium::michael_scott_queue, 7,i: 6,433,939 msg/sec xenium::michael_scott_queue, 8,s: 6,052,789 msg/sec xenium::michael_scott_queue, 8,i: 6,262,886 msg/sec xenium::ramalhete_queue, 1,s: 31,929,425 msg/sec xenium::ramalhete_queue, 1,i: 32,020,338 msg/sec xenium::ramalhete_queue, 2,s: 23,781,179 msg/sec xenium::ramalhete_queue, 2,i: 23,294,476 msg/sec xenium::ramalhete_queue, 3,s: 29,279,566 msg/sec xenium::ramalhete_queue, 3,i: 28,516,765 msg/sec xenium::ramalhete_queue, 4,s: 33,767,809 msg/sec xenium::ramalhete_queue, 4,i: 33,408,438 msg/sec xenium::ramalhete_queue, 5,s: 31,988,479 msg/sec xenium::ramalhete_queue, 5,i: 36,062,462 msg/sec xenium::ramalhete_queue, 6,s: 33,560,480 msg/sec xenium::ramalhete_queue, 6,i: 39,081,739 msg/sec xenium::ramalhete_queue, 7,s: 34,813,532 msg/sec xenium::ramalhete_queue, 7,i: 40,982,190 msg/sec xenium::ramalhete_queue, 8,s: 35,418,955 msg/sec xenium::ramalhete_queue, 8,i: 44,164,249 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,654,992 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,264,136 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,880,866 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,536,677 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,579,847 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,850,340 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,324,091 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,122,194 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,749,588 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,380,892 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,112,599 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,279,209 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,220,088 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,996,560 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,410,395 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,558,284 msg/sec AtomicQueue, 1,s: 57,423,390 msg/sec AtomicQueue, 1,i: 55,610,206 msg/sec AtomicQueue, 2,s: 12,329,931 msg/sec AtomicQueue, 2,i: 11,755,254 msg/sec AtomicQueue, 3,s: 10,787,269 msg/sec AtomicQueue, 3,i: 9,979,593 msg/sec AtomicQueue, 4,s: 8,191,967 msg/sec AtomicQueue, 4,i: 8,148,846 msg/sec AtomicQueue, 5,s: 7,982,853 msg/sec AtomicQueue, 5,i: 8,101,932 msg/sec AtomicQueue, 6,s: 7,904,491 msg/sec AtomicQueue, 6,i: 7,614,685 msg/sec AtomicQueue, 7,s: 7,194,685 msg/sec AtomicQueue, 7,i: 8,020,563 msg/sec AtomicQueue, 8,s: 6,319,400 msg/sec AtomicQueue, 8,i: 7,345,472 msg/sec AtomicQueueB, 1,s: 46,211,457 msg/sec AtomicQueueB, 1,i: 44,858,673 msg/sec AtomicQueueB, 2,s: 11,743,083 msg/sec AtomicQueueB, 2,i: 11,473,468 msg/sec AtomicQueueB, 3,s: 10,996,392 msg/sec AtomicQueueB, 3,i: 10,273,233 msg/sec AtomicQueueB, 4,s: 8,055,037 msg/sec AtomicQueueB, 4,i: 8,054,398 msg/sec AtomicQueueB, 5,s: 7,511,211 msg/sec AtomicQueueB, 5,i: 7,881,231 msg/sec AtomicQueueB, 6,s: 7,246,787 msg/sec AtomicQueueB, 6,i: 7,520,337 msg/sec AtomicQueueB, 7,s: 6,911,317 msg/sec AtomicQueueB, 7,i: 7,732,552 msg/sec AtomicQueueB, 8,s: 6,187,862 msg/sec AtomicQueueB, 8,i: 6,970,778 msg/sec OptimistAtomicQueue, 1,s: 762,036,122 msg/sec OptimistAtomicQueue, 1,i: 584,632,069 msg/sec OptimistAtomicQueue, 2,s: 32,212,995 msg/sec OptimistAtomicQueue, 2,i: 32,735,154 msg/sec OptimistAtomicQueue, 3,s: 36,667,462 msg/sec OptimistAtomicQueue, 3,i: 37,366,559 msg/sec OptimistAtomicQueue, 4,s: 39,285,893 msg/sec OptimistAtomicQueue, 4,i: 39,406,883 msg/sec OptimistAtomicQueue, 5,s: 41,704,644 msg/sec OptimistAtomicQueue, 5,i: 46,295,262 msg/sec OptimistAtomicQueue, 6,s: 42,287,440 msg/sec OptimistAtomicQueue, 6,i: 50,371,474 msg/sec OptimistAtomicQueue, 7,s: 45,074,448 msg/sec OptimistAtomicQueue, 7,i: 53,052,024 msg/sec OptimistAtomicQueue, 8,s: 46,400,861 msg/sec OptimistAtomicQueue, 8,i: 48,958,243 msg/sec OptimistAtomicQueueB, 1,s: 127,395,850 msg/sec OptimistAtomicQueueB, 1,i: 76,601,898 msg/sec OptimistAtomicQueueB, 2,s: 32,225,824 msg/sec OptimistAtomicQueueB, 2,i: 32,033,048 msg/sec OptimistAtomicQueueB, 3,s: 36,244,684 msg/sec OptimistAtomicQueueB, 3,i: 36,817,254 msg/sec OptimistAtomicQueueB, 4,s: 38,568,732 msg/sec OptimistAtomicQueueB, 4,i: 38,497,554 msg/sec OptimistAtomicQueueB, 5,s: 41,074,961 msg/sec OptimistAtomicQueueB, 5,i: 46,216,619 msg/sec OptimistAtomicQueueB, 6,s: 41,098,809 msg/sec OptimistAtomicQueueB, 6,i: 48,995,400 msg/sec OptimistAtomicQueueB, 7,s: 41,733,802 msg/sec OptimistAtomicQueueB, 7,i: 47,920,163 msg/sec OptimistAtomicQueueB, 8,s: 44,339,675 msg/sec OptimistAtomicQueueB, 8,i: 47,768,717 msg/sec AtomicQueue2, 1,s: 22,871,447 msg/sec AtomicQueue2, 1,i: 22,937,986 msg/sec AtomicQueue2, 2,s: 11,707,738 msg/sec AtomicQueue2, 2,i: 11,438,586 msg/sec AtomicQueue2, 3,s: 9,424,516 msg/sec AtomicQueue2, 3,i: 9,361,585 msg/sec AtomicQueue2, 4,s: 8,069,532 msg/sec AtomicQueue2, 4,i: 8,105,987 msg/sec AtomicQueue2, 5,s: 7,905,750 msg/sec AtomicQueue2, 5,i: 8,055,226 msg/sec AtomicQueue2, 6,s: 7,715,842 msg/sec AtomicQueue2, 6,i: 7,525,018 msg/sec AtomicQueue2, 7,s: 7,177,019 msg/sec AtomicQueue2, 7,i: 7,895,644 msg/sec AtomicQueue2, 8,s: 6,366,244 msg/sec AtomicQueue2, 8,i: 7,298,499 msg/sec AtomicQueueB2, 1,s: 36,213,250 msg/sec AtomicQueueB2, 1,i: 32,618,220 msg/sec AtomicQueueB2, 2,s: 11,392,447 msg/sec AtomicQueueB2, 2,i: 11,110,932 msg/sec AtomicQueueB2, 3,s: 9,612,564 msg/sec AtomicQueueB2, 3,i: 9,548,087 msg/sec AtomicQueueB2, 4,s: 7,962,585 msg/sec AtomicQueueB2, 4,i: 7,871,636 msg/sec AtomicQueueB2, 5,s: 7,387,291 msg/sec AtomicQueueB2, 5,i: 7,652,392 msg/sec AtomicQueueB2, 6,s: 7,236,430 msg/sec AtomicQueueB2, 6,i: 7,431,319 msg/sec AtomicQueueB2, 7,s: 6,881,507 msg/sec AtomicQueueB2, 7,i: 7,682,183 msg/sec AtomicQueueB2, 8,s: 6,348,548 msg/sec AtomicQueueB2, 8,i: 6,968,031 msg/sec OptimistAtomicQueue2, 1,s: 34,140,326 msg/sec OptimistAtomicQueue2, 1,i: 29,909,144 msg/sec OptimistAtomicQueue2, 2,s: 29,495,689 msg/sec OptimistAtomicQueue2, 2,i: 24,027,800 msg/sec OptimistAtomicQueue2, 3,s: 31,025,835 msg/sec OptimistAtomicQueue2, 3,i: 29,999,263 msg/sec OptimistAtomicQueue2, 4,s: 33,203,872 msg/sec OptimistAtomicQueue2, 4,i: 33,169,172 msg/sec OptimistAtomicQueue2, 5,s: 37,052,807 msg/sec OptimistAtomicQueue2, 5,i: 40,498,019 msg/sec OptimistAtomicQueue2, 6,s: 40,064,735 msg/sec OptimistAtomicQueue2, 6,i: 48,676,259 msg/sec OptimistAtomicQueue2, 7,s: 43,375,682 msg/sec OptimistAtomicQueue2, 7,i: 48,198,289 msg/sec OptimistAtomicQueue2, 8,s: 43,958,380 msg/sec OptimistAtomicQueue2, 8,i: 48,359,983 msg/sec OptimistAtomicQueueB2, 1,s: 75,234,414 msg/sec OptimistAtomicQueueB2, 1,i: 33,866,719 msg/sec OptimistAtomicQueueB2, 2,s: 26,850,601 msg/sec OptimistAtomicQueueB2, 2,i: 23,237,533 msg/sec OptimistAtomicQueueB2, 3,s: 29,771,865 msg/sec OptimistAtomicQueueB2, 3,i: 29,089,136 msg/sec OptimistAtomicQueueB2, 4,s: 33,264,155 msg/sec OptimistAtomicQueueB2, 4,i: 32,246,302 msg/sec OptimistAtomicQueueB2, 5,s: 34,401,788 msg/sec OptimistAtomicQueueB2, 5,i: 39,837,455 msg/sec OptimistAtomicQueueB2, 6,s: 37,423,340 msg/sec OptimistAtomicQueueB2, 6,i: 42,442,269 msg/sec OptimistAtomicQueueB2, 7,s: 40,716,223 msg/sec OptimistAtomicQueueB2, 7,i: 45,346,507 msg/sec OptimistAtomicQueueB2, 8,s: 41,987,493 msg/sec OptimistAtomicQueueB2, 8,i: 45,192,920 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [191] 229m:20s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,606,298 msg/sec boost::lockfree::spsc_queue, 1,i: 65,247,143 msg/sec boost::lockfree::queue, 1,s: 6,850,242 msg/sec boost::lockfree::queue, 1,i: 6,844,419 msg/sec boost::lockfree::queue, 2,s: 7,515,496 msg/sec boost::lockfree::queue, 2,i: 7,503,753 msg/sec boost::lockfree::queue, 3,s: 7,379,456 msg/sec boost::lockfree::queue, 3,i: 7,568,887 msg/sec boost::lockfree::queue, 4,s: 6,425,902 msg/sec boost::lockfree::queue, 4,i: 6,828,980 msg/sec boost::lockfree::queue, 5,s: 6,393,050 msg/sec boost::lockfree::queue, 5,i: 6,598,843 msg/sec boost::lockfree::queue, 6,s: 6,031,321 msg/sec boost::lockfree::queue, 6,i: 6,083,303 msg/sec boost::lockfree::queue, 7,s: 5,904,411 msg/sec boost::lockfree::queue, 7,i: 6,070,561 msg/sec boost::lockfree::queue, 8,s: 5,448,743 msg/sec boost::lockfree::queue, 8,i: 5,548,343 msg/sec moodycamel::ReaderWriterQueue, 1,s: 47,138,033 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,113,475 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,802,975 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,967,368 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,780,670 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,848,785 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,998,635 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,765,302 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,187,463 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,820,428 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,277,864 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,403,042 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,602,923 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,453,355 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,040,443 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,353,383 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,227,216 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,554,270 msg/sec pthread_spinlock, 1,s: 28,829,301 msg/sec pthread_spinlock, 1,i: 25,285,481 msg/sec pthread_spinlock, 2,s: 15,517,490 msg/sec pthread_spinlock, 2,i: 17,095,453 msg/sec pthread_spinlock, 3,s: 8,290,007 msg/sec pthread_spinlock, 3,i: 12,031,992 msg/sec pthread_spinlock, 4,s: 6,486,322 msg/sec pthread_spinlock, 4,i: 8,969,758 msg/sec pthread_spinlock, 5,s: 8,732,595 msg/sec pthread_spinlock, 5,i: 9,177,510 msg/sec pthread_spinlock, 6,s: 8,607,280 msg/sec pthread_spinlock, 6,i: 8,446,739 msg/sec pthread_spinlock, 7,s: 7,711,652 msg/sec pthread_spinlock, 7,i: 7,897,867 msg/sec pthread_spinlock, 8,s: 6,834,202 msg/sec pthread_spinlock, 8,i: 7,233,527 msg/sec std::mutex, 1,s: 7,319,245 msg/sec std::mutex, 1,i: 6,472,058 msg/sec std::mutex, 2,s: 6,228,465 msg/sec std::mutex, 2,i: 5,918,385 msg/sec std::mutex, 3,s: 6,045,601 msg/sec std::mutex, 3,i: 5,643,570 msg/sec std::mutex, 4,s: 5,688,285 msg/sec std::mutex, 4,i: 5,220,143 msg/sec std::mutex, 5,s: 5,696,176 msg/sec std::mutex, 5,i: 5,776,228 msg/sec std::mutex, 6,s: 5,883,258 msg/sec std::mutex, 6,i: 5,903,510 msg/sec std::mutex, 7,s: 5,786,375 msg/sec std::mutex, 7,i: 5,805,166 msg/sec std::mutex, 8,s: 5,705,570 msg/sec std::mutex, 8,i: 5,667,297 msg/sec tbb::spin_mutex, 1,s: 38,000,160 msg/sec tbb::spin_mutex, 1,i: 33,117,116 msg/sec tbb::spin_mutex, 2,s: 18,006,611 msg/sec tbb::spin_mutex, 2,i: 18,478,325 msg/sec tbb::spin_mutex, 3,s: 7,922,484 msg/sec tbb::spin_mutex, 3,i: 10,905,245 msg/sec tbb::spin_mutex, 4,s: 3,154,926 msg/sec tbb::spin_mutex, 4,i: 6,459,818 msg/sec tbb::spin_mutex, 5,s: 5,503,978 msg/sec tbb::spin_mutex, 5,i: 5,700,770 msg/sec tbb::spin_mutex, 6,s: 5,172,604 msg/sec tbb::spin_mutex, 6,i: 4,434,284 msg/sec tbb::spin_mutex, 7,s: 4,864,300 msg/sec tbb::spin_mutex, 7,i: 4,307,726 msg/sec tbb::spin_mutex, 8,s: 4,254,169 msg/sec tbb::spin_mutex, 8,i: 4,114,309 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,149,780 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,185,511 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,705,820 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,747,446 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,493,398 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,779,664 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,148,285 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,480,648 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,564,834 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,518,009 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,738,909 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,643,112 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,820,011 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,806,326 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,072,822 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,070,459 msg/sec xenium::michael_scott_queue, 1,s: 9,481,553 msg/sec xenium::michael_scott_queue, 1,i: 9,633,958 msg/sec xenium::michael_scott_queue, 2,s: 8,499,908 msg/sec xenium::michael_scott_queue, 2,i: 8,450,787 msg/sec xenium::michael_scott_queue, 3,s: 7,300,686 msg/sec xenium::michael_scott_queue, 3,i: 7,528,324 msg/sec xenium::michael_scott_queue, 4,s: 6,333,929 msg/sec xenium::michael_scott_queue, 4,i: 6,341,914 msg/sec xenium::michael_scott_queue, 5,s: 6,350,632 msg/sec xenium::michael_scott_queue, 5,i: 6,646,793 msg/sec xenium::michael_scott_queue, 6,s: 6,471,712 msg/sec xenium::michael_scott_queue, 6,i: 6,750,269 msg/sec xenium::michael_scott_queue, 7,s: 6,250,712 msg/sec xenium::michael_scott_queue, 7,i: 6,368,427 msg/sec xenium::michael_scott_queue, 8,s: 5,985,440 msg/sec xenium::michael_scott_queue, 8,i: 6,115,690 msg/sec xenium::ramalhete_queue, 1,s: 32,825,670 msg/sec xenium::ramalhete_queue, 1,i: 32,263,334 msg/sec xenium::ramalhete_queue, 2,s: 23,548,705 msg/sec xenium::ramalhete_queue, 2,i: 23,301,547 msg/sec xenium::ramalhete_queue, 3,s: 29,228,468 msg/sec xenium::ramalhete_queue, 3,i: 28,454,964 msg/sec xenium::ramalhete_queue, 4,s: 33,870,409 msg/sec xenium::ramalhete_queue, 4,i: 33,483,557 msg/sec xenium::ramalhete_queue, 5,s: 32,415,992 msg/sec xenium::ramalhete_queue, 5,i: 36,289,455 msg/sec xenium::ramalhete_queue, 6,s: 33,917,742 msg/sec xenium::ramalhete_queue, 6,i: 39,328,557 msg/sec xenium::ramalhete_queue, 7,s: 35,237,431 msg/sec xenium::ramalhete_queue, 7,i: 41,214,943 msg/sec xenium::ramalhete_queue, 8,s: 35,493,244 msg/sec xenium::ramalhete_queue, 8,i: 43,993,770 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,963,360 msg/sec xenium::vyukov_bounded_queue, 1,i: 60,911,255 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,846,744 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,149,922 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,721,074 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,332,891 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,514,444 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,522,753 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,789,518 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,395,161 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,191,991 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,261,064 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,153,919 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,022,699 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,397,878 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,246,117 msg/sec AtomicQueue, 1,s: 248,937,131 msg/sec AtomicQueue, 1,i: 57,079,779 msg/sec AtomicQueue, 2,s: 12,247,819 msg/sec AtomicQueue, 2,i: 11,756,153 msg/sec AtomicQueue, 3,s: 10,778,151 msg/sec AtomicQueue, 3,i: 9,865,493 msg/sec AtomicQueue, 4,s: 8,134,458 msg/sec AtomicQueue, 4,i: 8,253,495 msg/sec AtomicQueue, 5,s: 8,046,516 msg/sec AtomicQueue, 5,i: 8,133,818 msg/sec AtomicQueue, 6,s: 7,821,263 msg/sec AtomicQueue, 6,i: 7,618,236 msg/sec AtomicQueue, 7,s: 7,125,850 msg/sec AtomicQueue, 7,i: 7,949,401 msg/sec AtomicQueue, 8,s: 6,341,577 msg/sec AtomicQueue, 8,i: 7,456,369 msg/sec AtomicQueueB, 1,s: 43,970,816 msg/sec AtomicQueueB, 1,i: 43,029,875 msg/sec AtomicQueueB, 2,s: 12,063,598 msg/sec AtomicQueueB, 2,i: 11,521,633 msg/sec AtomicQueueB, 3,s: 10,963,716 msg/sec AtomicQueueB, 3,i: 10,155,311 msg/sec AtomicQueueB, 4,s: 8,104,045 msg/sec AtomicQueueB, 4,i: 8,012,889 msg/sec AtomicQueueB, 5,s: 7,679,493 msg/sec AtomicQueueB, 5,i: 7,846,120 msg/sec AtomicQueueB, 6,s: 7,306,756 msg/sec AtomicQueueB, 6,i: 7,540,162 msg/sec AtomicQueueB, 7,s: 6,897,371 msg/sec AtomicQueueB, 7,i: 7,739,641 msg/sec AtomicQueueB, 8,s: 6,195,764 msg/sec AtomicQueueB, 8,i: 7,135,539 msg/sec OptimistAtomicQueue, 1,s: 759,331,423 msg/sec OptimistAtomicQueue, 1,i: 571,478,943 msg/sec OptimistAtomicQueue, 2,s: 32,152,832 msg/sec OptimistAtomicQueue, 2,i: 32,721,505 msg/sec OptimistAtomicQueue, 3,s: 36,663,165 msg/sec OptimistAtomicQueue, 3,i: 37,373,111 msg/sec OptimistAtomicQueue, 4,s: 39,285,991 msg/sec OptimistAtomicQueue, 4,i: 39,415,766 msg/sec OptimistAtomicQueue, 5,s: 42,491,836 msg/sec OptimistAtomicQueue, 5,i: 46,206,276 msg/sec OptimistAtomicQueue, 6,s: 42,651,201 msg/sec OptimistAtomicQueue, 6,i: 50,408,645 msg/sec OptimistAtomicQueue, 7,s: 45,220,576 msg/sec OptimistAtomicQueue, 7,i: 49,244,347 msg/sec OptimistAtomicQueue, 8,s: 46,500,663 msg/sec OptimistAtomicQueue, 8,i: 49,598,849 msg/sec OptimistAtomicQueueB, 1,s: 88,060,945 msg/sec OptimistAtomicQueueB, 1,i: 76,458,357 msg/sec OptimistAtomicQueueB, 2,s: 32,191,521 msg/sec OptimistAtomicQueueB, 2,i: 32,171,485 msg/sec OptimistAtomicQueueB, 3,s: 36,297,965 msg/sec OptimistAtomicQueueB, 3,i: 36,924,490 msg/sec OptimistAtomicQueueB, 4,s: 38,604,424 msg/sec OptimistAtomicQueueB, 4,i: 38,421,492 msg/sec OptimistAtomicQueueB, 5,s: 40,898,094 msg/sec OptimistAtomicQueueB, 5,i: 46,148,244 msg/sec OptimistAtomicQueueB, 6,s: 40,827,017 msg/sec OptimistAtomicQueueB, 6,i: 49,078,594 msg/sec OptimistAtomicQueueB, 7,s: 42,313,688 msg/sec OptimistAtomicQueueB, 7,i: 50,826,925 msg/sec OptimistAtomicQueueB, 8,s: 44,520,803 msg/sec OptimistAtomicQueueB, 8,i: 48,074,603 msg/sec AtomicQueue2, 1,s: 23,427,186 msg/sec AtomicQueue2, 1,i: 23,605,527 msg/sec AtomicQueue2, 2,s: 11,860,461 msg/sec AtomicQueue2, 2,i: 11,515,268 msg/sec AtomicQueue2, 3,s: 9,431,064 msg/sec AtomicQueue2, 3,i: 9,476,816 msg/sec AtomicQueue2, 4,s: 8,013,390 msg/sec AtomicQueue2, 4,i: 8,037,221 msg/sec AtomicQueue2, 5,s: 7,925,258 msg/sec AtomicQueue2, 5,i: 7,988,955 msg/sec AtomicQueue2, 6,s: 7,765,866 msg/sec AtomicQueue2, 6,i: 7,521,216 msg/sec AtomicQueue2, 7,s: 7,122,440 msg/sec AtomicQueue2, 7,i: 7,875,434 msg/sec AtomicQueue2, 8,s: 6,408,589 msg/sec AtomicQueue2, 8,i: 7,284,463 msg/sec AtomicQueueB2, 1,s: 35,857,996 msg/sec AtomicQueueB2, 1,i: 32,661,994 msg/sec AtomicQueueB2, 2,s: 11,455,410 msg/sec AtomicQueueB2, 2,i: 11,142,738 msg/sec AtomicQueueB2, 3,s: 9,696,636 msg/sec AtomicQueueB2, 3,i: 9,539,937 msg/sec AtomicQueueB2, 4,s: 7,954,105 msg/sec AtomicQueueB2, 4,i: 7,863,994 msg/sec AtomicQueueB2, 5,s: 7,499,167 msg/sec AtomicQueueB2, 5,i: 7,670,288 msg/sec AtomicQueueB2, 6,s: 7,243,677 msg/sec AtomicQueueB2, 6,i: 7,425,685 msg/sec AtomicQueueB2, 7,s: 6,915,713 msg/sec AtomicQueueB2, 7,i: 7,698,010 msg/sec AtomicQueueB2, 8,s: 6,330,779 msg/sec AtomicQueueB2, 8,i: 7,076,032 msg/sec OptimistAtomicQueue2, 1,s: 673,053,155 msg/sec OptimistAtomicQueue2, 1,i: 29,797,778 msg/sec OptimistAtomicQueue2, 2,s: 25,135,753 msg/sec OptimistAtomicQueue2, 2,i: 24,022,151 msg/sec OptimistAtomicQueue2, 3,s: 30,334,582 msg/sec OptimistAtomicQueue2, 3,i: 29,953,893 msg/sec OptimistAtomicQueue2, 4,s: 34,390,156 msg/sec OptimistAtomicQueue2, 4,i: 33,298,201 msg/sec OptimistAtomicQueue2, 5,s: 36,973,076 msg/sec OptimistAtomicQueue2, 5,i: 40,060,233 msg/sec OptimistAtomicQueue2, 6,s: 40,073,894 msg/sec OptimistAtomicQueue2, 6,i: 49,166,639 msg/sec OptimistAtomicQueue2, 7,s: 42,794,358 msg/sec OptimistAtomicQueue2, 7,i: 51,492,696 msg/sec OptimistAtomicQueue2, 8,s: 43,834,274 msg/sec OptimistAtomicQueue2, 8,i: 48,791,186 msg/sec OptimistAtomicQueueB2, 1,s: 76,435,305 msg/sec OptimistAtomicQueueB2, 1,i: 33,925,401 msg/sec OptimistAtomicQueueB2, 2,s: 29,263,600 msg/sec OptimistAtomicQueueB2, 2,i: 25,988,433 msg/sec OptimistAtomicQueueB2, 3,s: 31,615,186 msg/sec OptimistAtomicQueueB2, 3,i: 28,812,118 msg/sec OptimistAtomicQueueB2, 4,s: 33,609,318 msg/sec OptimistAtomicQueueB2, 4,i: 32,770,940 msg/sec OptimistAtomicQueueB2, 5,s: 34,618,562 msg/sec OptimistAtomicQueueB2, 5,i: 39,108,098 msg/sec OptimistAtomicQueueB2, 6,s: 37,488,123 msg/sec OptimistAtomicQueueB2, 6,i: 42,391,142 msg/sec OptimistAtomicQueueB2, 7,s: 40,101,297 msg/sec OptimistAtomicQueueB2, 7,i: 43,187,200 msg/sec OptimistAtomicQueueB2, 8,s: 42,189,232 msg/sec OptimistAtomicQueueB2, 8,i: 45,430,874 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000120 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000244 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000196 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [192] 228m:1s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,757,731 msg/sec boost::lockfree::spsc_queue, 1,i: 67,850,287 msg/sec boost::lockfree::queue, 1,s: 6,836,786 msg/sec boost::lockfree::queue, 1,i: 6,989,408 msg/sec boost::lockfree::queue, 2,s: 7,803,259 msg/sec boost::lockfree::queue, 2,i: 7,525,117 msg/sec boost::lockfree::queue, 3,s: 7,335,375 msg/sec boost::lockfree::queue, 3,i: 7,540,643 msg/sec boost::lockfree::queue, 4,s: 6,414,104 msg/sec boost::lockfree::queue, 4,i: 6,797,900 msg/sec boost::lockfree::queue, 5,s: 6,441,908 msg/sec boost::lockfree::queue, 5,i: 6,463,857 msg/sec boost::lockfree::queue, 6,s: 5,985,628 msg/sec boost::lockfree::queue, 6,i: 6,097,234 msg/sec boost::lockfree::queue, 7,s: 5,997,189 msg/sec boost::lockfree::queue, 7,i: 5,958,342 msg/sec boost::lockfree::queue, 8,s: 5,462,588 msg/sec boost::lockfree::queue, 8,i: 5,707,865 msg/sec moodycamel::ReaderWriterQueue, 1,s: 125,016,463 msg/sec moodycamel::ReaderWriterQueue, 1,i: 450,562,735 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,803,411 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,706,964 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,160,711 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,343,788 msg/sec moodycamel::ConcurrentQueue, 3,s: 39,218,393 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,804,930 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,076,268 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,662,794 msg/sec moodycamel::ConcurrentQueue, 5,s: 16,946,771 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,712,307 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,619,156 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,888,872 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,995,667 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,518,778 msg/sec moodycamel::ConcurrentQueue, 8,s: 52,358,172 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,025,991 msg/sec pthread_spinlock, 1,s: 29,249,792 msg/sec pthread_spinlock, 1,i: 27,882,235 msg/sec pthread_spinlock, 2,s: 15,641,614 msg/sec pthread_spinlock, 2,i: 17,042,345 msg/sec pthread_spinlock, 3,s: 8,290,307 msg/sec pthread_spinlock, 3,i: 12,107,290 msg/sec pthread_spinlock, 4,s: 6,447,174 msg/sec pthread_spinlock, 4,i: 9,274,599 msg/sec pthread_spinlock, 5,s: 8,688,724 msg/sec pthread_spinlock, 5,i: 9,305,574 msg/sec pthread_spinlock, 6,s: 8,539,231 msg/sec pthread_spinlock, 6,i: 8,493,530 msg/sec pthread_spinlock, 7,s: 7,621,035 msg/sec pthread_spinlock, 7,i: 7,607,907 msg/sec pthread_spinlock, 8,s: 6,644,657 msg/sec pthread_spinlock, 8,i: 6,986,519 msg/sec std::mutex, 1,s: 7,375,032 msg/sec std::mutex, 1,i: 6,321,257 msg/sec std::mutex, 2,s: 5,239,689 msg/sec std::mutex, 2,i: 5,819,841 msg/sec std::mutex, 3,s: 5,651,765 msg/sec std::mutex, 3,i: 6,110,816 msg/sec std::mutex, 4,s: 6,227,230 msg/sec std::mutex, 4,i: 6,259,012 msg/sec std::mutex, 5,s: 5,993,473 msg/sec std::mutex, 5,i: 5,774,638 msg/sec std::mutex, 6,s: 5,808,127 msg/sec std::mutex, 6,i: 5,920,626 msg/sec std::mutex, 7,s: 5,800,394 msg/sec std::mutex, 7,i: 5,807,468 msg/sec std::mutex, 8,s: 5,667,133 msg/sec std::mutex, 8,i: 5,736,153 msg/sec tbb::spin_mutex, 1,s: 37,783,724 msg/sec tbb::spin_mutex, 1,i: 37,257,847 msg/sec tbb::spin_mutex, 2,s: 21,155,265 msg/sec tbb::spin_mutex, 2,i: 18,369,936 msg/sec tbb::spin_mutex, 3,s: 8,236,132 msg/sec tbb::spin_mutex, 3,i: 11,434,049 msg/sec tbb::spin_mutex, 4,s: 3,241,270 msg/sec tbb::spin_mutex, 4,i: 6,445,829 msg/sec tbb::spin_mutex, 5,s: 5,255,009 msg/sec tbb::spin_mutex, 5,i: 5,814,660 msg/sec tbb::spin_mutex, 6,s: 5,330,233 msg/sec tbb::spin_mutex, 6,i: 4,328,689 msg/sec tbb::spin_mutex, 7,s: 4,821,870 msg/sec tbb::spin_mutex, 7,i: 4,297,168 msg/sec tbb::spin_mutex, 8,s: 4,242,916 msg/sec tbb::spin_mutex, 8,i: 3,961,819 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,307,067 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,336,737 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,947,056 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,189,251 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,717,725 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,793,783 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,985,558 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,343,460 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,493,091 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,642,032 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,843,069 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,729,833 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,859,491 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,100,293 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,875,846 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,416,201 msg/sec xenium::michael_scott_queue, 1,s: 9,288,425 msg/sec xenium::michael_scott_queue, 1,i: 9,296,525 msg/sec xenium::michael_scott_queue, 2,s: 8,357,925 msg/sec xenium::michael_scott_queue, 2,i: 8,300,414 msg/sec xenium::michael_scott_queue, 3,s: 7,144,208 msg/sec xenium::michael_scott_queue, 3,i: 7,524,837 msg/sec xenium::michael_scott_queue, 4,s: 6,289,482 msg/sec xenium::michael_scott_queue, 4,i: 6,337,440 msg/sec xenium::michael_scott_queue, 5,s: 6,288,407 msg/sec xenium::michael_scott_queue, 5,i: 6,668,712 msg/sec xenium::michael_scott_queue, 6,s: 6,525,286 msg/sec xenium::michael_scott_queue, 6,i: 6,730,461 msg/sec xenium::michael_scott_queue, 7,s: 6,336,809 msg/sec xenium::michael_scott_queue, 7,i: 6,455,044 msg/sec xenium::michael_scott_queue, 8,s: 5,986,550 msg/sec xenium::michael_scott_queue, 8,i: 6,149,333 msg/sec xenium::ramalhete_queue, 1,s: 31,634,687 msg/sec xenium::ramalhete_queue, 1,i: 31,746,912 msg/sec xenium::ramalhete_queue, 2,s: 23,550,546 msg/sec xenium::ramalhete_queue, 2,i: 23,381,721 msg/sec xenium::ramalhete_queue, 3,s: 29,246,274 msg/sec xenium::ramalhete_queue, 3,i: 28,436,261 msg/sec xenium::ramalhete_queue, 4,s: 33,801,321 msg/sec xenium::ramalhete_queue, 4,i: 33,493,144 msg/sec xenium::ramalhete_queue, 5,s: 32,080,949 msg/sec xenium::ramalhete_queue, 5,i: 36,036,462 msg/sec xenium::ramalhete_queue, 6,s: 33,867,355 msg/sec xenium::ramalhete_queue, 6,i: 38,861,704 msg/sec xenium::ramalhete_queue, 7,s: 35,155,568 msg/sec xenium::ramalhete_queue, 7,i: 41,342,416 msg/sec xenium::ramalhete_queue, 8,s: 35,634,582 msg/sec xenium::ramalhete_queue, 8,i: 44,036,692 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,916,111 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,448,492 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,700,028 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,528,333 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,669,819 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,115,529 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,541,150 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,348,313 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,938,538 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,322,494 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,941,059 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,528,913 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,218,924 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,063,165 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,386,575 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,341,471 msg/sec AtomicQueue, 1,s: 60,805,137 msg/sec AtomicQueue, 1,i: 56,896,873 msg/sec AtomicQueue, 2,s: 12,298,668 msg/sec AtomicQueue, 2,i: 11,754,514 msg/sec AtomicQueue, 3,s: 10,788,198 msg/sec AtomicQueue, 3,i: 9,916,649 msg/sec AtomicQueue, 4,s: 8,188,222 msg/sec AtomicQueue, 4,i: 8,180,405 msg/sec AtomicQueue, 5,s: 7,994,872 msg/sec AtomicQueue, 5,i: 8,090,672 msg/sec AtomicQueue, 6,s: 7,823,533 msg/sec AtomicQueue, 6,i: 7,618,893 msg/sec AtomicQueue, 7,s: 7,127,784 msg/sec AtomicQueue, 7,i: 7,992,171 msg/sec AtomicQueue, 8,s: 6,300,583 msg/sec AtomicQueue, 8,i: 7,429,839 msg/sec AtomicQueueB, 1,s: 43,818,842 msg/sec AtomicQueueB, 1,i: 43,045,583 msg/sec AtomicQueueB, 2,s: 11,680,029 msg/sec AtomicQueueB, 2,i: 11,483,142 msg/sec AtomicQueueB, 3,s: 11,034,924 msg/sec AtomicQueueB, 3,i: 10,002,933 msg/sec AtomicQueueB, 4,s: 8,096,138 msg/sec AtomicQueueB, 4,i: 8,023,784 msg/sec AtomicQueueB, 5,s: 7,626,306 msg/sec AtomicQueueB, 5,i: 7,796,743 msg/sec AtomicQueueB, 6,s: 7,150,745 msg/sec AtomicQueueB, 6,i: 7,579,557 msg/sec AtomicQueueB, 7,s: 6,913,930 msg/sec AtomicQueueB, 7,i: 7,748,625 msg/sec AtomicQueueB, 8,s: 6,211,620 msg/sec AtomicQueueB, 8,i: 7,146,119 msg/sec OptimistAtomicQueue, 1,s: 696,309,974 msg/sec OptimistAtomicQueue, 1,i: 514,435,047 msg/sec OptimistAtomicQueue, 2,s: 32,211,833 msg/sec OptimistAtomicQueue, 2,i: 32,242,913 msg/sec OptimistAtomicQueue, 3,s: 36,622,352 msg/sec OptimistAtomicQueue, 3,i: 37,411,899 msg/sec OptimistAtomicQueue, 4,s: 39,308,357 msg/sec OptimistAtomicQueue, 4,i: 39,399,486 msg/sec OptimistAtomicQueue, 5,s: 42,369,334 msg/sec OptimistAtomicQueue, 5,i: 46,401,167 msg/sec OptimistAtomicQueue, 6,s: 42,153,917 msg/sec OptimistAtomicQueue, 6,i: 50,417,266 msg/sec OptimistAtomicQueue, 7,s: 43,960,339 msg/sec OptimistAtomicQueue, 7,i: 53,021,405 msg/sec OptimistAtomicQueue, 8,s: 46,308,884 msg/sec OptimistAtomicQueue, 8,i: 49,361,198 msg/sec OptimistAtomicQueueB, 1,s: 112,839,008 msg/sec OptimistAtomicQueueB, 1,i: 76,544,789 msg/sec OptimistAtomicQueueB, 2,s: 32,195,623 msg/sec OptimistAtomicQueueB, 2,i: 32,246,704 msg/sec OptimistAtomicQueueB, 3,s: 36,343,279 msg/sec OptimistAtomicQueueB, 3,i: 36,985,879 msg/sec OptimistAtomicQueueB, 4,s: 38,736,337 msg/sec OptimistAtomicQueueB, 4,i: 38,655,879 msg/sec OptimistAtomicQueueB, 5,s: 40,410,773 msg/sec OptimistAtomicQueueB, 5,i: 45,344,917 msg/sec OptimistAtomicQueueB, 6,s: 40,799,774 msg/sec OptimistAtomicQueueB, 6,i: 48,589,176 msg/sec OptimistAtomicQueueB, 7,s: 42,764,704 msg/sec OptimistAtomicQueueB, 7,i: 50,768,253 msg/sec OptimistAtomicQueueB, 8,s: 44,483,531 msg/sec OptimistAtomicQueueB, 8,i: 47,779,327 msg/sec AtomicQueue2, 1,s: 23,114,454 msg/sec AtomicQueue2, 1,i: 23,077,999 msg/sec AtomicQueue2, 2,s: 11,704,831 msg/sec AtomicQueue2, 2,i: 11,468,106 msg/sec AtomicQueue2, 3,s: 9,355,013 msg/sec AtomicQueue2, 3,i: 9,395,966 msg/sec AtomicQueue2, 4,s: 8,061,654 msg/sec AtomicQueue2, 4,i: 8,088,488 msg/sec AtomicQueue2, 5,s: 7,951,512 msg/sec AtomicQueue2, 5,i: 8,070,111 msg/sec AtomicQueue2, 6,s: 7,727,714 msg/sec AtomicQueue2, 6,i: 7,534,657 msg/sec AtomicQueue2, 7,s: 7,136,150 msg/sec AtomicQueue2, 7,i: 7,882,581 msg/sec AtomicQueue2, 8,s: 6,378,615 msg/sec AtomicQueue2, 8,i: 7,346,091 msg/sec AtomicQueueB2, 1,s: 39,365,463 msg/sec AtomicQueueB2, 1,i: 38,922,356 msg/sec AtomicQueueB2, 2,s: 11,346,909 msg/sec AtomicQueueB2, 2,i: 11,099,568 msg/sec AtomicQueueB2, 3,s: 9,622,012 msg/sec AtomicQueueB2, 3,i: 9,469,711 msg/sec AtomicQueueB2, 4,s: 7,951,218 msg/sec AtomicQueueB2, 4,i: 7,864,850 msg/sec AtomicQueueB2, 5,s: 7,504,980 msg/sec AtomicQueueB2, 5,i: 7,756,278 msg/sec AtomicQueueB2, 6,s: 7,220,517 msg/sec AtomicQueueB2, 6,i: 7,447,036 msg/sec AtomicQueueB2, 7,s: 6,872,377 msg/sec AtomicQueueB2, 7,i: 7,706,285 msg/sec AtomicQueueB2, 8,s: 6,349,058 msg/sec AtomicQueueB2, 8,i: 7,092,677 msg/sec OptimistAtomicQueue2, 1,s: 53,106,954 msg/sec OptimistAtomicQueue2, 1,i: 58,556,329 msg/sec OptimistAtomicQueue2, 2,s: 26,031,617 msg/sec OptimistAtomicQueue2, 2,i: 24,004,143 msg/sec OptimistAtomicQueue2, 3,s: 30,313,147 msg/sec OptimistAtomicQueue2, 3,i: 29,931,991 msg/sec OptimistAtomicQueue2, 4,s: 33,212,058 msg/sec OptimistAtomicQueue2, 4,i: 33,334,408 msg/sec OptimistAtomicQueue2, 5,s: 37,061,056 msg/sec OptimistAtomicQueue2, 5,i: 40,185,799 msg/sec OptimistAtomicQueue2, 6,s: 40,055,147 msg/sec OptimistAtomicQueue2, 6,i: 49,232,200 msg/sec OptimistAtomicQueue2, 7,s: 42,744,308 msg/sec OptimistAtomicQueue2, 7,i: 51,609,185 msg/sec OptimistAtomicQueue2, 8,s: 44,016,987 msg/sec OptimistAtomicQueue2, 8,i: 48,256,732 msg/sec OptimistAtomicQueueB2, 1,s: 77,732,102 msg/sec OptimistAtomicQueueB2, 1,i: 33,924,022 msg/sec OptimistAtomicQueueB2, 2,s: 24,021,851 msg/sec OptimistAtomicQueueB2, 2,i: 25,696,282 msg/sec OptimistAtomicQueueB2, 3,s: 29,746,850 msg/sec OptimistAtomicQueueB2, 3,i: 30,598,613 msg/sec OptimistAtomicQueueB2, 4,s: 33,447,774 msg/sec OptimistAtomicQueueB2, 4,i: 32,291,260 msg/sec OptimistAtomicQueueB2, 5,s: 34,598,868 msg/sec OptimistAtomicQueueB2, 5,i: 38,967,666 msg/sec OptimistAtomicQueueB2, 6,s: 37,267,609 msg/sec OptimistAtomicQueueB2, 6,i: 42,221,140 msg/sec OptimistAtomicQueueB2, 7,s: 40,152,577 msg/sec OptimistAtomicQueueB2, 7,i: 43,218,927 msg/sec OptimistAtomicQueueB2, 8,s: 42,104,160 msg/sec OptimistAtomicQueueB2, 8,i: 46,548,173 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000243 sec/round-trip pthread_spinlock: 0.000000256 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000259 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [193] 226m:42s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,853,528 msg/sec boost::lockfree::spsc_queue, 1,i: 67,753,613 msg/sec boost::lockfree::queue, 1,s: 6,861,520 msg/sec boost::lockfree::queue, 1,i: 6,768,684 msg/sec boost::lockfree::queue, 2,s: 7,649,440 msg/sec boost::lockfree::queue, 2,i: 7,458,641 msg/sec boost::lockfree::queue, 3,s: 7,399,752 msg/sec boost::lockfree::queue, 3,i: 7,563,383 msg/sec boost::lockfree::queue, 4,s: 6,425,277 msg/sec boost::lockfree::queue, 4,i: 6,829,780 msg/sec boost::lockfree::queue, 5,s: 6,421,305 msg/sec boost::lockfree::queue, 5,i: 6,446,628 msg/sec boost::lockfree::queue, 6,s: 5,970,994 msg/sec boost::lockfree::queue, 6,i: 6,107,911 msg/sec boost::lockfree::queue, 7,s: 5,951,006 msg/sec boost::lockfree::queue, 7,i: 5,909,636 msg/sec boost::lockfree::queue, 8,s: 5,416,244 msg/sec boost::lockfree::queue, 8,i: 5,651,782 msg/sec moodycamel::ReaderWriterQueue, 1,s: 456,359,535 msg/sec moodycamel::ReaderWriterQueue, 1,i: 456,674,335 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,017,745 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,489,960 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,141,231 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,029,949 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,117,917 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,595,874 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,394,198 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,198,773 msg/sec moodycamel::ConcurrentQueue, 5,s: 46,267,523 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,109,011 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,408,370 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,305,676 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,021,276 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,992,359 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,303,941 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,866,473 msg/sec pthread_spinlock, 1,s: 29,111,454 msg/sec pthread_spinlock, 1,i: 28,847,388 msg/sec pthread_spinlock, 2,s: 15,749,380 msg/sec pthread_spinlock, 2,i: 16,691,635 msg/sec pthread_spinlock, 3,s: 8,342,896 msg/sec pthread_spinlock, 3,i: 12,056,795 msg/sec pthread_spinlock, 4,s: 6,493,161 msg/sec pthread_spinlock, 4,i: 9,123,889 msg/sec pthread_spinlock, 5,s: 8,684,746 msg/sec pthread_spinlock, 5,i: 9,372,241 msg/sec pthread_spinlock, 6,s: 8,520,998 msg/sec pthread_spinlock, 6,i: 8,489,320 msg/sec pthread_spinlock, 7,s: 7,519,648 msg/sec pthread_spinlock, 7,i: 8,014,139 msg/sec pthread_spinlock, 8,s: 6,819,892 msg/sec pthread_spinlock, 8,i: 6,842,504 msg/sec std::mutex, 1,s: 6,336,102 msg/sec std::mutex, 1,i: 6,904,831 msg/sec std::mutex, 2,s: 5,366,737 msg/sec std::mutex, 2,i: 6,044,449 msg/sec std::mutex, 3,s: 6,216,101 msg/sec std::mutex, 3,i: 5,975,435 msg/sec std::mutex, 4,s: 6,326,507 msg/sec std::mutex, 4,i: 6,337,555 msg/sec std::mutex, 5,s: 6,252,069 msg/sec std::mutex, 5,i: 6,165,465 msg/sec std::mutex, 6,s: 6,150,555 msg/sec std::mutex, 6,i: 6,087,080 msg/sec std::mutex, 7,s: 6,050,803 msg/sec std::mutex, 7,i: 5,990,644 msg/sec std::mutex, 8,s: 5,761,125 msg/sec std::mutex, 8,i: 5,811,205 msg/sec tbb::spin_mutex, 1,s: 37,929,813 msg/sec tbb::spin_mutex, 1,i: 37,479,004 msg/sec tbb::spin_mutex, 2,s: 21,067,563 msg/sec tbb::spin_mutex, 2,i: 20,669,679 msg/sec tbb::spin_mutex, 3,s: 8,412,712 msg/sec tbb::spin_mutex, 3,i: 11,114,450 msg/sec tbb::spin_mutex, 4,s: 3,185,532 msg/sec tbb::spin_mutex, 4,i: 6,261,151 msg/sec tbb::spin_mutex, 5,s: 5,226,742 msg/sec tbb::spin_mutex, 5,i: 5,783,692 msg/sec tbb::spin_mutex, 6,s: 5,273,123 msg/sec tbb::spin_mutex, 6,i: 4,308,922 msg/sec tbb::spin_mutex, 7,s: 4,862,054 msg/sec tbb::spin_mutex, 7,i: 4,354,933 msg/sec tbb::spin_mutex, 8,s: 4,253,379 msg/sec tbb::spin_mutex, 8,i: 4,096,551 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,685,096 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,089,109 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,820,312 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,097,377 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,277,554 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,020,293 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,406,896 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,357,809 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,705,704 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,966,659 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,009,296 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,907,916 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,975,713 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,003,137 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,939,294 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,088,466 msg/sec xenium::michael_scott_queue, 1,s: 10,129,787 msg/sec xenium::michael_scott_queue, 1,i: 9,941,900 msg/sec xenium::michael_scott_queue, 2,s: 8,508,801 msg/sec xenium::michael_scott_queue, 2,i: 8,562,108 msg/sec xenium::michael_scott_queue, 3,s: 7,242,638 msg/sec xenium::michael_scott_queue, 3,i: 7,618,327 msg/sec xenium::michael_scott_queue, 4,s: 6,244,088 msg/sec xenium::michael_scott_queue, 4,i: 6,332,843 msg/sec xenium::michael_scott_queue, 5,s: 6,287,091 msg/sec xenium::michael_scott_queue, 5,i: 6,626,548 msg/sec xenium::michael_scott_queue, 6,s: 6,540,140 msg/sec xenium::michael_scott_queue, 6,i: 7,006,628 msg/sec xenium::michael_scott_queue, 7,s: 6,348,419 msg/sec xenium::michael_scott_queue, 7,i: 6,491,357 msg/sec xenium::michael_scott_queue, 8,s: 6,032,506 msg/sec xenium::michael_scott_queue, 8,i: 6,066,892 msg/sec xenium::ramalhete_queue, 1,s: 32,514,424 msg/sec xenium::ramalhete_queue, 1,i: 32,450,307 msg/sec xenium::ramalhete_queue, 2,s: 23,640,945 msg/sec xenium::ramalhete_queue, 2,i: 23,184,809 msg/sec xenium::ramalhete_queue, 3,s: 29,202,293 msg/sec xenium::ramalhete_queue, 3,i: 28,484,109 msg/sec xenium::ramalhete_queue, 4,s: 33,794,613 msg/sec xenium::ramalhete_queue, 4,i: 33,519,375 msg/sec xenium::ramalhete_queue, 5,s: 31,884,648 msg/sec xenium::ramalhete_queue, 5,i: 36,305,957 msg/sec xenium::ramalhete_queue, 6,s: 34,013,562 msg/sec xenium::ramalhete_queue, 6,i: 39,149,322 msg/sec xenium::ramalhete_queue, 7,s: 35,218,737 msg/sec xenium::ramalhete_queue, 7,i: 41,586,209 msg/sec xenium::ramalhete_queue, 8,s: 35,300,847 msg/sec xenium::ramalhete_queue, 8,i: 43,608,586 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,992,376 msg/sec xenium::vyukov_bounded_queue, 1,i: 112,752,451 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,951,335 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,449,236 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,682,910 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,855,572 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,575,201 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,610,028 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,677,977 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,341,895 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,990,914 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,608,886 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,198,723 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,321,487 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,427,195 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,345,671 msg/sec AtomicQueue, 1,s: 63,756,725 msg/sec AtomicQueue, 1,i: 57,405,921 msg/sec AtomicQueue, 2,s: 12,202,596 msg/sec AtomicQueue, 2,i: 11,735,802 msg/sec AtomicQueue, 3,s: 10,771,252 msg/sec AtomicQueue, 3,i: 10,018,503 msg/sec AtomicQueue, 4,s: 8,202,308 msg/sec AtomicQueue, 4,i: 8,203,416 msg/sec AtomicQueue, 5,s: 8,061,133 msg/sec AtomicQueue, 5,i: 8,062,152 msg/sec AtomicQueue, 6,s: 7,854,879 msg/sec AtomicQueue, 6,i: 7,622,555 msg/sec AtomicQueue, 7,s: 7,101,950 msg/sec AtomicQueue, 7,i: 7,960,326 msg/sec AtomicQueue, 8,s: 6,358,264 msg/sec AtomicQueue, 8,i: 7,401,783 msg/sec AtomicQueueB, 1,s: 47,721,399 msg/sec AtomicQueueB, 1,i: 43,160,621 msg/sec AtomicQueueB, 2,s: 12,022,080 msg/sec AtomicQueueB, 2,i: 11,503,802 msg/sec AtomicQueueB, 3,s: 10,946,928 msg/sec AtomicQueueB, 3,i: 10,208,399 msg/sec AtomicQueueB, 4,s: 8,036,749 msg/sec AtomicQueueB, 4,i: 8,034,969 msg/sec AtomicQueueB, 5,s: 7,604,978 msg/sec AtomicQueueB, 5,i: 7,791,144 msg/sec AtomicQueueB, 6,s: 7,412,616 msg/sec AtomicQueueB, 6,i: 7,531,151 msg/sec AtomicQueueB, 7,s: 6,913,159 msg/sec AtomicQueueB, 7,i: 7,752,163 msg/sec AtomicQueueB, 8,s: 6,245,515 msg/sec AtomicQueueB, 8,i: 6,993,403 msg/sec OptimistAtomicQueue, 1,s: 692,216,133 msg/sec OptimistAtomicQueue, 1,i: 534,920,334 msg/sec OptimistAtomicQueue, 2,s: 32,215,873 msg/sec OptimistAtomicQueue, 2,i: 32,219,090 msg/sec OptimistAtomicQueue, 3,s: 36,596,489 msg/sec OptimistAtomicQueue, 3,i: 37,344,601 msg/sec OptimistAtomicQueue, 4,s: 39,291,264 msg/sec OptimistAtomicQueue, 4,i: 39,369,256 msg/sec OptimistAtomicQueue, 5,s: 42,565,819 msg/sec OptimistAtomicQueue, 5,i: 46,298,629 msg/sec OptimistAtomicQueue, 6,s: 41,983,720 msg/sec OptimistAtomicQueue, 6,i: 49,752,257 msg/sec OptimistAtomicQueue, 7,s: 44,264,455 msg/sec OptimistAtomicQueue, 7,i: 49,278,035 msg/sec OptimistAtomicQueue, 8,s: 46,312,315 msg/sec OptimistAtomicQueue, 8,i: 49,106,475 msg/sec OptimistAtomicQueueB, 1,s: 118,010,357 msg/sec OptimistAtomicQueueB, 1,i: 77,451,141 msg/sec OptimistAtomicQueueB, 2,s: 32,195,659 msg/sec OptimistAtomicQueueB, 2,i: 32,347,029 msg/sec OptimistAtomicQueueB, 3,s: 36,153,500 msg/sec OptimistAtomicQueueB, 3,i: 36,935,388 msg/sec OptimistAtomicQueueB, 4,s: 38,606,904 msg/sec OptimistAtomicQueueB, 4,i: 38,596,385 msg/sec OptimistAtomicQueueB, 5,s: 40,533,680 msg/sec OptimistAtomicQueueB, 5,i: 45,403,381 msg/sec OptimistAtomicQueueB, 6,s: 40,636,718 msg/sec OptimistAtomicQueueB, 6,i: 49,061,597 msg/sec OptimistAtomicQueueB, 7,s: 41,738,035 msg/sec OptimistAtomicQueueB, 7,i: 51,407,985 msg/sec OptimistAtomicQueueB, 8,s: 44,146,710 msg/sec OptimistAtomicQueueB, 8,i: 47,604,349 msg/sec AtomicQueue2, 1,s: 22,915,410 msg/sec AtomicQueue2, 1,i: 22,870,393 msg/sec AtomicQueue2, 2,s: 11,860,737 msg/sec AtomicQueue2, 2,i: 11,357,738 msg/sec AtomicQueue2, 3,s: 9,252,814 msg/sec AtomicQueue2, 3,i: 9,394,374 msg/sec AtomicQueue2, 4,s: 8,064,626 msg/sec AtomicQueue2, 4,i: 8,034,053 msg/sec AtomicQueue2, 5,s: 7,931,392 msg/sec AtomicQueue2, 5,i: 8,006,840 msg/sec AtomicQueue2, 6,s: 7,845,197 msg/sec AtomicQueue2, 6,i: 7,521,124 msg/sec AtomicQueue2, 7,s: 7,188,193 msg/sec AtomicQueue2, 7,i: 7,895,791 msg/sec AtomicQueue2, 8,s: 6,414,164 msg/sec AtomicQueue2, 8,i: 7,360,677 msg/sec AtomicQueueB2, 1,s: 36,189,183 msg/sec AtomicQueueB2, 1,i: 32,624,151 msg/sec AtomicQueueB2, 2,s: 11,378,595 msg/sec AtomicQueueB2, 2,i: 11,016,417 msg/sec AtomicQueueB2, 3,s: 9,736,397 msg/sec AtomicQueueB2, 3,i: 9,368,070 msg/sec AtomicQueueB2, 4,s: 7,862,492 msg/sec AtomicQueueB2, 4,i: 7,756,426 msg/sec AtomicQueueB2, 5,s: 7,483,420 msg/sec AtomicQueueB2, 5,i: 7,610,386 msg/sec AtomicQueueB2, 6,s: 7,182,845 msg/sec AtomicQueueB2, 6,i: 7,449,995 msg/sec AtomicQueueB2, 7,s: 6,878,302 msg/sec AtomicQueueB2, 7,i: 7,715,692 msg/sec AtomicQueueB2, 8,s: 6,281,683 msg/sec AtomicQueueB2, 8,i: 7,124,798 msg/sec OptimistAtomicQueue2, 1,s: 465,141,753 msg/sec OptimistAtomicQueue2, 1,i: 32,297,395 msg/sec OptimistAtomicQueue2, 2,s: 24,918,094 msg/sec OptimistAtomicQueue2, 2,i: 24,009,805 msg/sec OptimistAtomicQueue2, 3,s: 30,414,315 msg/sec OptimistAtomicQueue2, 3,i: 29,998,464 msg/sec OptimistAtomicQueue2, 4,s: 33,204,497 msg/sec OptimistAtomicQueue2, 4,i: 33,188,860 msg/sec OptimistAtomicQueue2, 5,s: 37,199,235 msg/sec OptimistAtomicQueue2, 5,i: 40,938,846 msg/sec OptimistAtomicQueue2, 6,s: 40,100,308 msg/sec OptimistAtomicQueue2, 6,i: 49,053,595 msg/sec OptimistAtomicQueue2, 7,s: 42,700,312 msg/sec OptimistAtomicQueue2, 7,i: 51,417,120 msg/sec OptimistAtomicQueue2, 8,s: 43,811,572 msg/sec OptimistAtomicQueue2, 8,i: 48,739,996 msg/sec OptimistAtomicQueueB2, 1,s: 77,256,298 msg/sec OptimistAtomicQueueB2, 1,i: 34,825,376 msg/sec OptimistAtomicQueueB2, 2,s: 27,200,283 msg/sec OptimistAtomicQueueB2, 2,i: 24,937,561 msg/sec OptimistAtomicQueueB2, 3,s: 30,185,062 msg/sec OptimistAtomicQueueB2, 3,i: 29,273,313 msg/sec OptimistAtomicQueueB2, 4,s: 33,191,777 msg/sec OptimistAtomicQueueB2, 4,i: 32,529,644 msg/sec OptimistAtomicQueueB2, 5,s: 34,687,554 msg/sec OptimistAtomicQueueB2, 5,i: 39,355,439 msg/sec OptimistAtomicQueueB2, 6,s: 37,728,769 msg/sec OptimistAtomicQueueB2, 6,i: 42,434,392 msg/sec OptimistAtomicQueueB2, 7,s: 40,753,715 msg/sec OptimistAtomicQueueB2, 7,i: 45,589,780 msg/sec OptimistAtomicQueueB2, 8,s: 42,343,506 msg/sec OptimistAtomicQueueB2, 8,i: 45,344,577 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000326 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000139 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000254 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [194] 225m:23s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,018,040 msg/sec boost::lockfree::spsc_queue, 1,i: 65,816,006 msg/sec boost::lockfree::queue, 1,s: 6,860,685 msg/sec boost::lockfree::queue, 1,i: 6,921,157 msg/sec boost::lockfree::queue, 2,s: 7,607,362 msg/sec boost::lockfree::queue, 2,i: 7,430,363 msg/sec boost::lockfree::queue, 3,s: 7,369,239 msg/sec boost::lockfree::queue, 3,i: 7,537,985 msg/sec boost::lockfree::queue, 4,s: 6,420,249 msg/sec boost::lockfree::queue, 4,i: 6,759,033 msg/sec boost::lockfree::queue, 5,s: 6,472,370 msg/sec boost::lockfree::queue, 5,i: 6,491,039 msg/sec boost::lockfree::queue, 6,s: 5,976,624 msg/sec boost::lockfree::queue, 6,i: 6,094,550 msg/sec boost::lockfree::queue, 7,s: 5,800,915 msg/sec boost::lockfree::queue, 7,i: 6,028,478 msg/sec boost::lockfree::queue, 8,s: 5,596,315 msg/sec boost::lockfree::queue, 8,i: 5,522,982 msg/sec moodycamel::ReaderWriterQueue, 1,s: 233,601,632 msg/sec moodycamel::ReaderWriterQueue, 1,i: 43,900,908 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,422,919 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,095,033 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,805,863 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,624,956 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,019,512 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,807,622 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,927,012 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,072,767 msg/sec moodycamel::ConcurrentQueue, 5,s: 45,890,439 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,275,136 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,642,580 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,833,897 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,927,032 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,215,848 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,260,896 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,821,291 msg/sec pthread_spinlock, 1,s: 29,115,783 msg/sec pthread_spinlock, 1,i: 25,397,483 msg/sec pthread_spinlock, 2,s: 15,539,012 msg/sec pthread_spinlock, 2,i: 17,046,082 msg/sec pthread_spinlock, 3,s: 8,325,783 msg/sec pthread_spinlock, 3,i: 12,086,055 msg/sec pthread_spinlock, 4,s: 6,502,954 msg/sec pthread_spinlock, 4,i: 8,984,821 msg/sec pthread_spinlock, 5,s: 8,637,473 msg/sec pthread_spinlock, 5,i: 10,298,870 msg/sec pthread_spinlock, 6,s: 8,362,861 msg/sec pthread_spinlock, 6,i: 8,384,864 msg/sec pthread_spinlock, 7,s: 7,587,438 msg/sec pthread_spinlock, 7,i: 7,601,449 msg/sec pthread_spinlock, 8,s: 6,885,332 msg/sec pthread_spinlock, 8,i: 7,022,987 msg/sec std::mutex, 1,s: 6,115,523 msg/sec std::mutex, 1,i: 6,178,028 msg/sec std::mutex, 2,s: 5,414,552 msg/sec std::mutex, 2,i: 5,256,638 msg/sec std::mutex, 3,s: 4,580,302 msg/sec std::mutex, 3,i: 5,294,102 msg/sec std::mutex, 4,s: 6,243,785 msg/sec std::mutex, 4,i: 6,306,053 msg/sec std::mutex, 5,s: 6,010,832 msg/sec std::mutex, 5,i: 5,988,360 msg/sec std::mutex, 6,s: 5,928,813 msg/sec std::mutex, 6,i: 5,883,996 msg/sec std::mutex, 7,s: 5,859,074 msg/sec std::mutex, 7,i: 5,809,512 msg/sec std::mutex, 8,s: 5,770,984 msg/sec std::mutex, 8,i: 5,718,751 msg/sec tbb::spin_mutex, 1,s: 37,860,525 msg/sec tbb::spin_mutex, 1,i: 37,747,588 msg/sec tbb::spin_mutex, 2,s: 17,999,419 msg/sec tbb::spin_mutex, 2,i: 18,377,612 msg/sec tbb::spin_mutex, 3,s: 8,012,709 msg/sec tbb::spin_mutex, 3,i: 10,284,735 msg/sec tbb::spin_mutex, 4,s: 3,250,382 msg/sec tbb::spin_mutex, 4,i: 6,396,600 msg/sec tbb::spin_mutex, 5,s: 5,498,367 msg/sec tbb::spin_mutex, 5,i: 5,736,481 msg/sec tbb::spin_mutex, 6,s: 5,278,695 msg/sec tbb::spin_mutex, 6,i: 4,333,781 msg/sec tbb::spin_mutex, 7,s: 4,493,148 msg/sec tbb::spin_mutex, 7,i: 4,358,866 msg/sec tbb::spin_mutex, 8,s: 4,249,698 msg/sec tbb::spin_mutex, 8,i: 4,211,854 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,206,187 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,071,050 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,753,821 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,133,168 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,218,611 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,486,590 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,071,630 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,553,459 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,611,552 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,597,495 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,777,583 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,628,630 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,835,555 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,701,506 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,077,455 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,085,445 msg/sec xenium::michael_scott_queue, 1,s: 9,191,193 msg/sec xenium::michael_scott_queue, 1,i: 8,998,655 msg/sec xenium::michael_scott_queue, 2,s: 8,489,662 msg/sec xenium::michael_scott_queue, 2,i: 8,430,013 msg/sec xenium::michael_scott_queue, 3,s: 7,178,761 msg/sec xenium::michael_scott_queue, 3,i: 7,535,013 msg/sec xenium::michael_scott_queue, 4,s: 6,240,109 msg/sec xenium::michael_scott_queue, 4,i: 6,382,749 msg/sec xenium::michael_scott_queue, 5,s: 6,293,215 msg/sec xenium::michael_scott_queue, 5,i: 6,616,745 msg/sec xenium::michael_scott_queue, 6,s: 6,513,887 msg/sec xenium::michael_scott_queue, 6,i: 6,743,769 msg/sec xenium::michael_scott_queue, 7,s: 6,308,285 msg/sec xenium::michael_scott_queue, 7,i: 6,609,561 msg/sec xenium::michael_scott_queue, 8,s: 5,957,225 msg/sec xenium::michael_scott_queue, 8,i: 6,104,993 msg/sec xenium::ramalhete_queue, 1,s: 32,323,040 msg/sec xenium::ramalhete_queue, 1,i: 32,248,842 msg/sec xenium::ramalhete_queue, 2,s: 23,602,582 msg/sec xenium::ramalhete_queue, 2,i: 23,373,875 msg/sec xenium::ramalhete_queue, 3,s: 29,434,368 msg/sec xenium::ramalhete_queue, 3,i: 28,555,180 msg/sec xenium::ramalhete_queue, 4,s: 33,759,826 msg/sec xenium::ramalhete_queue, 4,i: 33,509,312 msg/sec xenium::ramalhete_queue, 5,s: 32,227,297 msg/sec xenium::ramalhete_queue, 5,i: 35,839,899 msg/sec xenium::ramalhete_queue, 6,s: 34,027,465 msg/sec xenium::ramalhete_queue, 6,i: 40,260,080 msg/sec xenium::ramalhete_queue, 7,s: 35,237,494 msg/sec xenium::ramalhete_queue, 7,i: 40,691,840 msg/sec xenium::ramalhete_queue, 8,s: 35,547,760 msg/sec xenium::ramalhete_queue, 8,i: 44,115,434 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,010,188 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,834,603 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,696,160 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,742,355 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,712,637 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,839,732 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,685,999 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,039,208 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,967,517 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,368,676 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,951,866 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,401,290 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,185,450 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,899,376 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,104 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,214,370 msg/sec AtomicQueue, 1,s: 63,236,526 msg/sec AtomicQueue, 1,i: 56,972,928 msg/sec AtomicQueue, 2,s: 12,442,807 msg/sec AtomicQueue, 2,i: 11,961,171 msg/sec AtomicQueue, 3,s: 10,831,075 msg/sec AtomicQueue, 3,i: 9,987,176 msg/sec AtomicQueue, 4,s: 8,199,973 msg/sec AtomicQueue, 4,i: 8,191,335 msg/sec AtomicQueue, 5,s: 8,022,269 msg/sec AtomicQueue, 5,i: 8,069,352 msg/sec AtomicQueue, 6,s: 7,778,614 msg/sec AtomicQueue, 6,i: 7,616,418 msg/sec AtomicQueue, 7,s: 7,055,246 msg/sec AtomicQueue, 7,i: 7,968,533 msg/sec AtomicQueue, 8,s: 6,350,837 msg/sec AtomicQueue, 8,i: 7,422,764 msg/sec AtomicQueueB, 1,s: 44,595,581 msg/sec AtomicQueueB, 1,i: 43,914,637 msg/sec AtomicQueueB, 2,s: 11,637,845 msg/sec AtomicQueueB, 2,i: 11,486,287 msg/sec AtomicQueueB, 3,s: 11,017,393 msg/sec AtomicQueueB, 3,i: 10,148,394 msg/sec AtomicQueueB, 4,s: 8,059,445 msg/sec AtomicQueueB, 4,i: 8,031,260 msg/sec AtomicQueueB, 5,s: 7,702,789 msg/sec AtomicQueueB, 5,i: 7,818,751 msg/sec AtomicQueueB, 6,s: 7,359,300 msg/sec AtomicQueueB, 6,i: 7,540,334 msg/sec AtomicQueueB, 7,s: 6,854,419 msg/sec AtomicQueueB, 7,i: 7,772,554 msg/sec AtomicQueueB, 8,s: 6,223,178 msg/sec AtomicQueueB, 8,i: 7,151,193 msg/sec OptimistAtomicQueue, 1,s: 702,320,184 msg/sec OptimistAtomicQueue, 1,i: 525,523,976 msg/sec OptimistAtomicQueue, 2,s: 32,633,777 msg/sec OptimistAtomicQueue, 2,i: 32,527,237 msg/sec OptimistAtomicQueue, 3,s: 36,623,840 msg/sec OptimistAtomicQueue, 3,i: 37,304,655 msg/sec OptimistAtomicQueue, 4,s: 39,325,597 msg/sec OptimistAtomicQueue, 4,i: 39,401,590 msg/sec OptimistAtomicQueue, 5,s: 42,547,659 msg/sec OptimistAtomicQueue, 5,i: 47,389,527 msg/sec OptimistAtomicQueue, 6,s: 41,664,315 msg/sec OptimistAtomicQueue, 6,i: 50,399,348 msg/sec OptimistAtomicQueue, 7,s: 45,407,352 msg/sec OptimistAtomicQueue, 7,i: 52,006,519 msg/sec OptimistAtomicQueue, 8,s: 46,392,267 msg/sec OptimistAtomicQueue, 8,i: 49,272,055 msg/sec OptimistAtomicQueueB, 1,s: 163,621,205 msg/sec OptimistAtomicQueueB, 1,i: 76,541,382 msg/sec OptimistAtomicQueueB, 2,s: 31,688,266 msg/sec OptimistAtomicQueueB, 2,i: 31,713,581 msg/sec OptimistAtomicQueueB, 3,s: 36,052,903 msg/sec OptimistAtomicQueueB, 3,i: 36,953,300 msg/sec OptimistAtomicQueueB, 4,s: 38,718,066 msg/sec OptimistAtomicQueueB, 4,i: 38,435,511 msg/sec OptimistAtomicQueueB, 5,s: 40,537,547 msg/sec OptimistAtomicQueueB, 5,i: 46,130,862 msg/sec OptimistAtomicQueueB, 6,s: 41,195,190 msg/sec OptimistAtomicQueueB, 6,i: 48,982,587 msg/sec OptimistAtomicQueueB, 7,s: 42,294,314 msg/sec OptimistAtomicQueueB, 7,i: 50,696,958 msg/sec OptimistAtomicQueueB, 8,s: 44,573,712 msg/sec OptimistAtomicQueueB, 8,i: 48,336,853 msg/sec AtomicQueue2, 1,s: 22,870,762 msg/sec AtomicQueue2, 1,i: 22,876,461 msg/sec AtomicQueue2, 2,s: 11,860,570 msg/sec AtomicQueue2, 2,i: 11,386,810 msg/sec AtomicQueue2, 3,s: 9,449,546 msg/sec AtomicQueue2, 3,i: 9,412,754 msg/sec AtomicQueue2, 4,s: 8,070,920 msg/sec AtomicQueue2, 4,i: 8,094,295 msg/sec AtomicQueue2, 5,s: 7,937,623 msg/sec AtomicQueue2, 5,i: 8,024,568 msg/sec AtomicQueue2, 6,s: 7,780,032 msg/sec AtomicQueue2, 6,i: 7,528,270 msg/sec AtomicQueue2, 7,s: 7,151,797 msg/sec AtomicQueue2, 7,i: 7,889,422 msg/sec AtomicQueue2, 8,s: 6,349,759 msg/sec AtomicQueue2, 8,i: 7,240,796 msg/sec AtomicQueueB2, 1,s: 36,114,389 msg/sec AtomicQueueB2, 1,i: 32,636,592 msg/sec AtomicQueueB2, 2,s: 11,452,448 msg/sec AtomicQueueB2, 2,i: 11,134,810 msg/sec AtomicQueueB2, 3,s: 9,694,291 msg/sec AtomicQueueB2, 3,i: 9,542,936 msg/sec AtomicQueueB2, 4,s: 7,918,812 msg/sec AtomicQueueB2, 4,i: 7,882,612 msg/sec AtomicQueueB2, 5,s: 7,583,736 msg/sec AtomicQueueB2, 5,i: 7,748,557 msg/sec AtomicQueueB2, 6,s: 7,247,149 msg/sec AtomicQueueB2, 6,i: 7,425,981 msg/sec AtomicQueueB2, 7,s: 6,901,919 msg/sec AtomicQueueB2, 7,i: 7,704,974 msg/sec AtomicQueueB2, 8,s: 6,241,105 msg/sec AtomicQueueB2, 8,i: 7,094,081 msg/sec OptimistAtomicQueue2, 1,s: 221,017,798 msg/sec OptimistAtomicQueue2, 1,i: 161,686,179 msg/sec OptimistAtomicQueue2, 2,s: 24,268,328 msg/sec OptimistAtomicQueue2, 2,i: 24,255,149 msg/sec OptimistAtomicQueue2, 3,s: 30,328,281 msg/sec OptimistAtomicQueue2, 3,i: 29,937,504 msg/sec OptimistAtomicQueue2, 4,s: 33,165,229 msg/sec OptimistAtomicQueue2, 4,i: 33,134,774 msg/sec OptimistAtomicQueue2, 5,s: 37,305,967 msg/sec OptimistAtomicQueue2, 5,i: 40,308,894 msg/sec OptimistAtomicQueue2, 6,s: 40,386,774 msg/sec OptimistAtomicQueue2, 6,i: 49,381,001 msg/sec OptimistAtomicQueue2, 7,s: 42,744,781 msg/sec OptimistAtomicQueue2, 7,i: 51,826,064 msg/sec OptimistAtomicQueue2, 8,s: 44,141,669 msg/sec OptimistAtomicQueue2, 8,i: 48,147,114 msg/sec OptimistAtomicQueueB2, 1,s: 78,887,159 msg/sec OptimistAtomicQueueB2, 1,i: 70,998,208 msg/sec OptimistAtomicQueueB2, 2,s: 28,903,641 msg/sec OptimistAtomicQueueB2, 2,i: 23,188,609 msg/sec OptimistAtomicQueueB2, 3,s: 29,673,238 msg/sec OptimistAtomicQueueB2, 3,i: 29,167,135 msg/sec OptimistAtomicQueueB2, 4,s: 33,320,024 msg/sec OptimistAtomicQueueB2, 4,i: 32,180,049 msg/sec OptimistAtomicQueueB2, 5,s: 34,475,540 msg/sec OptimistAtomicQueueB2, 5,i: 39,515,858 msg/sec OptimistAtomicQueueB2, 6,s: 37,541,802 msg/sec OptimistAtomicQueueB2, 6,i: 42,457,008 msg/sec OptimistAtomicQueueB2, 7,s: 40,436,788 msg/sec OptimistAtomicQueueB2, 7,i: 45,397,731 msg/sec OptimistAtomicQueueB2, 8,s: 42,306,772 msg/sec OptimistAtomicQueueB2, 8,i: 45,135,549 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000121 sec/round-trip moodycamel::ConcurrentQueue: 0.000000244 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000268 sec/round-trip tbb::concurrent_bounded_queue: 0.000000304 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [195] 224m:3s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,824,521 msg/sec boost::lockfree::spsc_queue, 1,i: 67,243,062 msg/sec boost::lockfree::queue, 1,s: 6,889,103 msg/sec boost::lockfree::queue, 1,i: 6,964,492 msg/sec boost::lockfree::queue, 2,s: 7,656,026 msg/sec boost::lockfree::queue, 2,i: 7,531,672 msg/sec boost::lockfree::queue, 3,s: 7,369,980 msg/sec boost::lockfree::queue, 3,i: 7,549,889 msg/sec boost::lockfree::queue, 4,s: 6,418,194 msg/sec boost::lockfree::queue, 4,i: 6,802,109 msg/sec boost::lockfree::queue, 5,s: 6,456,854 msg/sec boost::lockfree::queue, 5,i: 6,469,883 msg/sec boost::lockfree::queue, 6,s: 5,989,662 msg/sec boost::lockfree::queue, 6,i: 6,112,982 msg/sec boost::lockfree::queue, 7,s: 5,912,745 msg/sec boost::lockfree::queue, 7,i: 6,140,661 msg/sec boost::lockfree::queue, 8,s: 5,484,285 msg/sec boost::lockfree::queue, 8,i: 5,560,726 msg/sec moodycamel::ReaderWriterQueue, 1,s: 509,607,697 msg/sec moodycamel::ReaderWriterQueue, 1,i: 536,819,654 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,952,374 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,956,833 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,693,064 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,678,390 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,238,910 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,831,949 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,693,403 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,866,140 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,196,264 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,389,005 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,323,742 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,591,349 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,101,174 msg/sec moodycamel::ConcurrentQueue, 7,i: 36,408,430 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,364,994 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,137,977 msg/sec pthread_spinlock, 1,s: 28,890,726 msg/sec pthread_spinlock, 1,i: 25,394,560 msg/sec pthread_spinlock, 2,s: 15,703,417 msg/sec pthread_spinlock, 2,i: 17,109,891 msg/sec pthread_spinlock, 3,s: 8,253,410 msg/sec pthread_spinlock, 3,i: 12,116,385 msg/sec pthread_spinlock, 4,s: 6,483,355 msg/sec pthread_spinlock, 4,i: 9,018,697 msg/sec pthread_spinlock, 5,s: 8,740,073 msg/sec pthread_spinlock, 5,i: 9,480,301 msg/sec pthread_spinlock, 6,s: 8,255,352 msg/sec pthread_spinlock, 6,i: 9,285,635 msg/sec pthread_spinlock, 7,s: 7,542,737 msg/sec pthread_spinlock, 7,i: 7,927,301 msg/sec pthread_spinlock, 8,s: 6,800,361 msg/sec pthread_spinlock, 8,i: 6,948,195 msg/sec std::mutex, 1,s: 6,469,608 msg/sec std::mutex, 1,i: 6,834,478 msg/sec std::mutex, 2,s: 5,973,036 msg/sec std::mutex, 2,i: 5,916,562 msg/sec std::mutex, 3,s: 4,818,172 msg/sec std::mutex, 3,i: 4,683,131 msg/sec std::mutex, 4,s: 5,446,845 msg/sec std::mutex, 4,i: 5,894,770 msg/sec std::mutex, 5,s: 5,923,724 msg/sec std::mutex, 5,i: 5,955,361 msg/sec std::mutex, 6,s: 5,988,743 msg/sec std::mutex, 6,i: 5,966,944 msg/sec std::mutex, 7,s: 5,875,931 msg/sec std::mutex, 7,i: 5,854,052 msg/sec std::mutex, 8,s: 5,782,601 msg/sec std::mutex, 8,i: 5,801,396 msg/sec tbb::spin_mutex, 1,s: 38,041,388 msg/sec tbb::spin_mutex, 1,i: 37,755,283 msg/sec tbb::spin_mutex, 2,s: 21,070,144 msg/sec tbb::spin_mutex, 2,i: 18,489,567 msg/sec tbb::spin_mutex, 3,s: 7,368,169 msg/sec tbb::spin_mutex, 3,i: 10,893,388 msg/sec tbb::spin_mutex, 4,s: 3,140,725 msg/sec tbb::spin_mutex, 4,i: 6,336,977 msg/sec tbb::spin_mutex, 5,s: 5,414,864 msg/sec tbb::spin_mutex, 5,i: 5,840,878 msg/sec tbb::spin_mutex, 6,s: 5,389,878 msg/sec tbb::spin_mutex, 6,i: 4,405,334 msg/sec tbb::spin_mutex, 7,s: 4,875,608 msg/sec tbb::spin_mutex, 7,i: 4,293,573 msg/sec tbb::spin_mutex, 8,s: 4,242,799 msg/sec tbb::spin_mutex, 8,i: 4,197,256 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,111,260 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,245,328 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,765,502 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,143,814 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,351,920 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,382,275 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,058,021 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,116,825 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,602,185 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,350,326 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,548,656 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,713,026 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,677,898 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,062,725 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,693,718 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,888,473 msg/sec xenium::michael_scott_queue, 1,s: 9,493,058 msg/sec xenium::michael_scott_queue, 1,i: 8,861,858 msg/sec xenium::michael_scott_queue, 2,s: 8,607,692 msg/sec xenium::michael_scott_queue, 2,i: 8,612,016 msg/sec xenium::michael_scott_queue, 3,s: 7,309,293 msg/sec xenium::michael_scott_queue, 3,i: 7,584,865 msg/sec xenium::michael_scott_queue, 4,s: 6,326,356 msg/sec xenium::michael_scott_queue, 4,i: 6,311,533 msg/sec xenium::michael_scott_queue, 5,s: 6,299,142 msg/sec xenium::michael_scott_queue, 5,i: 6,749,509 msg/sec xenium::michael_scott_queue, 6,s: 6,472,573 msg/sec xenium::michael_scott_queue, 6,i: 6,869,449 msg/sec xenium::michael_scott_queue, 7,s: 6,296,124 msg/sec xenium::michael_scott_queue, 7,i: 6,605,535 msg/sec xenium::michael_scott_queue, 8,s: 6,016,311 msg/sec xenium::michael_scott_queue, 8,i: 6,074,351 msg/sec xenium::ramalhete_queue, 1,s: 31,494,278 msg/sec xenium::ramalhete_queue, 1,i: 31,476,940 msg/sec xenium::ramalhete_queue, 2,s: 23,438,948 msg/sec xenium::ramalhete_queue, 2,i: 22,883,173 msg/sec xenium::ramalhete_queue, 3,s: 28,990,517 msg/sec xenium::ramalhete_queue, 3,i: 28,183,188 msg/sec xenium::ramalhete_queue, 4,s: 33,803,737 msg/sec xenium::ramalhete_queue, 4,i: 33,459,676 msg/sec xenium::ramalhete_queue, 5,s: 32,065,886 msg/sec xenium::ramalhete_queue, 5,i: 36,199,575 msg/sec xenium::ramalhete_queue, 6,s: 33,823,148 msg/sec xenium::ramalhete_queue, 6,i: 39,121,300 msg/sec xenium::ramalhete_queue, 7,s: 34,994,727 msg/sec xenium::ramalhete_queue, 7,i: 41,535,101 msg/sec xenium::ramalhete_queue, 8,s: 35,496,199 msg/sec xenium::ramalhete_queue, 8,i: 43,894,807 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,306,762 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,716,853 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,262,456 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,503,275 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,763,001 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,671,033 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,435,253 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,171,470 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,021,584 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,248,585 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,968,809 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,414,953 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,193,345 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,255,057 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,429,964 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,233,478 msg/sec AtomicQueue, 1,s: 61,129,540 msg/sec AtomicQueue, 1,i: 56,033,256 msg/sec AtomicQueue, 2,s: 12,259,673 msg/sec AtomicQueue, 2,i: 11,765,133 msg/sec AtomicQueue, 3,s: 10,801,514 msg/sec AtomicQueue, 3,i: 10,015,245 msg/sec AtomicQueue, 4,s: 8,141,152 msg/sec AtomicQueue, 4,i: 8,210,440 msg/sec AtomicQueue, 5,s: 8,016,801 msg/sec AtomicQueue, 5,i: 8,092,044 msg/sec AtomicQueue, 6,s: 7,728,692 msg/sec AtomicQueue, 6,i: 7,609,739 msg/sec AtomicQueue, 7,s: 7,070,826 msg/sec AtomicQueue, 7,i: 7,970,302 msg/sec AtomicQueue, 8,s: 6,328,378 msg/sec AtomicQueue, 8,i: 7,456,007 msg/sec AtomicQueueB, 1,s: 61,587,693 msg/sec AtomicQueueB, 1,i: 63,677,452 msg/sec AtomicQueueB, 2,s: 11,895,222 msg/sec AtomicQueueB, 2,i: 11,544,969 msg/sec AtomicQueueB, 3,s: 10,985,387 msg/sec AtomicQueueB, 3,i: 10,147,173 msg/sec AtomicQueueB, 4,s: 8,064,583 msg/sec AtomicQueueB, 4,i: 7,949,511 msg/sec AtomicQueueB, 5,s: 7,595,115 msg/sec AtomicQueueB, 5,i: 7,810,243 msg/sec AtomicQueueB, 6,s: 7,170,290 msg/sec AtomicQueueB, 6,i: 7,520,867 msg/sec AtomicQueueB, 7,s: 6,917,220 msg/sec AtomicQueueB, 7,i: 7,747,572 msg/sec AtomicQueueB, 8,s: 6,281,916 msg/sec AtomicQueueB, 8,i: 7,202,690 msg/sec OptimistAtomicQueue, 1,s: 714,804,074 msg/sec OptimistAtomicQueue, 1,i: 528,421,619 msg/sec OptimistAtomicQueue, 2,s: 31,966,150 msg/sec OptimistAtomicQueue, 2,i: 31,973,128 msg/sec OptimistAtomicQueue, 3,s: 36,616,613 msg/sec OptimistAtomicQueue, 3,i: 37,385,498 msg/sec OptimistAtomicQueue, 4,s: 39,276,654 msg/sec OptimistAtomicQueue, 4,i: 39,400,223 msg/sec OptimistAtomicQueue, 5,s: 41,824,804 msg/sec OptimistAtomicQueue, 5,i: 46,366,050 msg/sec OptimistAtomicQueue, 6,s: 42,577,196 msg/sec OptimistAtomicQueue, 6,i: 50,458,044 msg/sec OptimistAtomicQueue, 7,s: 44,265,209 msg/sec OptimistAtomicQueue, 7,i: 48,945,362 msg/sec OptimistAtomicQueue, 8,s: 46,558,820 msg/sec OptimistAtomicQueue, 8,i: 49,210,386 msg/sec OptimistAtomicQueueB, 1,s: 86,344,906 msg/sec OptimistAtomicQueueB, 1,i: 122,116,929 msg/sec OptimistAtomicQueueB, 2,s: 32,128,529 msg/sec OptimistAtomicQueueB, 2,i: 31,841,060 msg/sec OptimistAtomicQueueB, 3,s: 36,182,302 msg/sec OptimistAtomicQueueB, 3,i: 36,797,873 msg/sec OptimistAtomicQueueB, 4,s: 38,687,722 msg/sec OptimistAtomicQueueB, 4,i: 38,707,798 msg/sec OptimistAtomicQueueB, 5,s: 41,146,020 msg/sec OptimistAtomicQueueB, 5,i: 46,175,713 msg/sec OptimistAtomicQueueB, 6,s: 40,458,737 msg/sec OptimistAtomicQueueB, 6,i: 48,969,704 msg/sec OptimistAtomicQueueB, 7,s: 42,022,481 msg/sec OptimistAtomicQueueB, 7,i: 51,398,836 msg/sec OptimistAtomicQueueB, 8,s: 44,001,180 msg/sec OptimistAtomicQueueB, 8,i: 47,460,699 msg/sec AtomicQueue2, 1,s: 22,815,194 msg/sec AtomicQueue2, 1,i: 22,826,358 msg/sec AtomicQueue2, 2,s: 11,934,970 msg/sec AtomicQueue2, 2,i: 11,397,442 msg/sec AtomicQueue2, 3,s: 9,376,685 msg/sec AtomicQueue2, 3,i: 9,426,782 msg/sec AtomicQueue2, 4,s: 8,048,407 msg/sec AtomicQueue2, 4,i: 8,052,005 msg/sec AtomicQueue2, 5,s: 7,924,796 msg/sec AtomicQueue2, 5,i: 8,020,591 msg/sec AtomicQueue2, 6,s: 7,538,723 msg/sec AtomicQueue2, 6,i: 7,544,452 msg/sec AtomicQueue2, 7,s: 7,153,489 msg/sec AtomicQueue2, 7,i: 7,877,930 msg/sec AtomicQueue2, 8,s: 6,399,581 msg/sec AtomicQueue2, 8,i: 7,337,484 msg/sec AtomicQueueB2, 1,s: 36,250,597 msg/sec AtomicQueueB2, 1,i: 32,655,936 msg/sec AtomicQueueB2, 2,s: 11,254,450 msg/sec AtomicQueueB2, 2,i: 11,072,506 msg/sec AtomicQueueB2, 3,s: 9,580,210 msg/sec AtomicQueueB2, 3,i: 9,614,700 msg/sec AtomicQueueB2, 4,s: 7,893,034 msg/sec AtomicQueueB2, 4,i: 7,783,416 msg/sec AtomicQueueB2, 5,s: 7,521,299 msg/sec AtomicQueueB2, 5,i: 7,553,643 msg/sec AtomicQueueB2, 6,s: 7,322,952 msg/sec AtomicQueueB2, 6,i: 7,439,414 msg/sec AtomicQueueB2, 7,s: 6,855,279 msg/sec AtomicQueueB2, 7,i: 7,707,056 msg/sec AtomicQueueB2, 8,s: 6,271,376 msg/sec AtomicQueueB2, 8,i: 7,101,641 msg/sec OptimistAtomicQueue2, 1,s: 71,777,106 msg/sec OptimistAtomicQueue2, 1,i: 52,232,649 msg/sec OptimistAtomicQueue2, 2,s: 24,253,156 msg/sec OptimistAtomicQueue2, 2,i: 24,176,856 msg/sec OptimistAtomicQueue2, 3,s: 30,334,122 msg/sec OptimistAtomicQueue2, 3,i: 29,973,268 msg/sec OptimistAtomicQueue2, 4,s: 34,017,651 msg/sec OptimistAtomicQueue2, 4,i: 33,181,248 msg/sec OptimistAtomicQueue2, 5,s: 36,975,078 msg/sec OptimistAtomicQueue2, 5,i: 40,029,360 msg/sec OptimistAtomicQueue2, 6,s: 39,889,961 msg/sec OptimistAtomicQueue2, 6,i: 49,179,185 msg/sec OptimistAtomicQueue2, 7,s: 42,727,982 msg/sec OptimistAtomicQueue2, 7,i: 51,569,945 msg/sec OptimistAtomicQueue2, 8,s: 44,054,515 msg/sec OptimistAtomicQueue2, 8,i: 48,750,274 msg/sec OptimistAtomicQueueB2, 1,s: 76,516,560 msg/sec OptimistAtomicQueueB2, 1,i: 33,870,172 msg/sec OptimistAtomicQueueB2, 2,s: 29,445,054 msg/sec OptimistAtomicQueueB2, 2,i: 25,433,875 msg/sec OptimistAtomicQueueB2, 3,s: 29,823,303 msg/sec OptimistAtomicQueueB2, 3,i: 29,207,050 msg/sec OptimistAtomicQueueB2, 4,s: 33,092,421 msg/sec OptimistAtomicQueueB2, 4,i: 32,224,619 msg/sec OptimistAtomicQueueB2, 5,s: 34,584,429 msg/sec OptimistAtomicQueueB2, 5,i: 39,054,389 msg/sec OptimistAtomicQueueB2, 6,s: 37,312,382 msg/sec OptimistAtomicQueueB2, 6,i: 42,249,182 msg/sec OptimistAtomicQueueB2, 7,s: 40,231,771 msg/sec OptimistAtomicQueueB2, 7,i: 43,103,038 msg/sec OptimistAtomicQueueB2, 8,s: 42,039,878 msg/sec OptimistAtomicQueueB2, 8,i: 45,658,082 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000338 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000248 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [196] 222m:44s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,667,058 msg/sec boost::lockfree::spsc_queue, 1,i: 67,660,111 msg/sec boost::lockfree::queue, 1,s: 6,871,109 msg/sec boost::lockfree::queue, 1,i: 6,903,741 msg/sec boost::lockfree::queue, 2,s: 7,689,319 msg/sec boost::lockfree::queue, 2,i: 7,499,631 msg/sec boost::lockfree::queue, 3,s: 7,374,330 msg/sec boost::lockfree::queue, 3,i: 7,510,101 msg/sec boost::lockfree::queue, 4,s: 6,417,611 msg/sec boost::lockfree::queue, 4,i: 6,740,915 msg/sec boost::lockfree::queue, 5,s: 6,454,217 msg/sec boost::lockfree::queue, 5,i: 6,506,313 msg/sec boost::lockfree::queue, 6,s: 5,981,937 msg/sec boost::lockfree::queue, 6,i: 6,099,674 msg/sec boost::lockfree::queue, 7,s: 5,982,406 msg/sec boost::lockfree::queue, 7,i: 6,058,621 msg/sec boost::lockfree::queue, 8,s: 5,498,220 msg/sec boost::lockfree::queue, 8,i: 5,578,288 msg/sec moodycamel::ReaderWriterQueue, 1,s: 455,006,096 msg/sec moodycamel::ReaderWriterQueue, 1,i: 99,479,436 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,414,881 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,497,522 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,550,045 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,355,889 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,018,926 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,921,869 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,122,850 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,198,157 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,212,153 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,631,196 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,462,619 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,849,484 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,172,695 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,153,868 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,059,809 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,835,000 msg/sec pthread_spinlock, 1,s: 29,011,300 msg/sec pthread_spinlock, 1,i: 25,397,085 msg/sec pthread_spinlock, 2,s: 16,052,504 msg/sec pthread_spinlock, 2,i: 16,856,219 msg/sec pthread_spinlock, 3,s: 8,303,867 msg/sec pthread_spinlock, 3,i: 11,970,450 msg/sec pthread_spinlock, 4,s: 6,433,636 msg/sec pthread_spinlock, 4,i: 9,081,048 msg/sec pthread_spinlock, 5,s: 8,666,761 msg/sec pthread_spinlock, 5,i: 10,441,759 msg/sec pthread_spinlock, 6,s: 8,531,344 msg/sec pthread_spinlock, 6,i: 8,528,138 msg/sec pthread_spinlock, 7,s: 7,507,009 msg/sec pthread_spinlock, 7,i: 8,154,060 msg/sec pthread_spinlock, 8,s: 6,605,740 msg/sec pthread_spinlock, 8,i: 6,863,070 msg/sec std::mutex, 1,s: 7,357,133 msg/sec std::mutex, 1,i: 7,393,257 msg/sec std::mutex, 2,s: 5,491,111 msg/sec std::mutex, 2,i: 5,378,266 msg/sec std::mutex, 3,s: 5,043,792 msg/sec std::mutex, 3,i: 5,143,062 msg/sec std::mutex, 4,s: 5,699,426 msg/sec std::mutex, 4,i: 6,042,890 msg/sec std::mutex, 5,s: 5,961,611 msg/sec std::mutex, 5,i: 6,040,023 msg/sec std::mutex, 6,s: 5,909,533 msg/sec std::mutex, 6,i: 5,924,994 msg/sec std::mutex, 7,s: 5,836,471 msg/sec std::mutex, 7,i: 5,840,858 msg/sec std::mutex, 8,s: 5,722,809 msg/sec std::mutex, 8,i: 5,747,907 msg/sec tbb::spin_mutex, 1,s: 37,848,948 msg/sec tbb::spin_mutex, 1,i: 37,608,926 msg/sec tbb::spin_mutex, 2,s: 21,035,687 msg/sec tbb::spin_mutex, 2,i: 18,695,171 msg/sec tbb::spin_mutex, 3,s: 8,272,503 msg/sec tbb::spin_mutex, 3,i: 10,235,551 msg/sec tbb::spin_mutex, 4,s: 3,179,694 msg/sec tbb::spin_mutex, 4,i: 6,260,507 msg/sec tbb::spin_mutex, 5,s: 5,575,780 msg/sec tbb::spin_mutex, 5,i: 5,430,708 msg/sec tbb::spin_mutex, 6,s: 5,283,605 msg/sec tbb::spin_mutex, 6,i: 4,315,604 msg/sec tbb::spin_mutex, 7,s: 4,876,429 msg/sec tbb::spin_mutex, 7,i: 4,319,509 msg/sec tbb::spin_mutex, 8,s: 4,258,099 msg/sec tbb::spin_mutex, 8,i: 4,091,049 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,622,565 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,384,998 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,968,007 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,261,899 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,412,479 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,949,000 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,398,325 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,276,869 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,658,165 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,941,625 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,126,868 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,886,715 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,038,762 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,942,542 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,934,253 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,082,295 msg/sec xenium::michael_scott_queue, 1,s: 9,502,884 msg/sec xenium::michael_scott_queue, 1,i: 9,521,772 msg/sec xenium::michael_scott_queue, 2,s: 8,604,085 msg/sec xenium::michael_scott_queue, 2,i: 8,484,775 msg/sec xenium::michael_scott_queue, 3,s: 7,137,469 msg/sec xenium::michael_scott_queue, 3,i: 7,504,473 msg/sec xenium::michael_scott_queue, 4,s: 6,370,161 msg/sec xenium::michael_scott_queue, 4,i: 6,360,430 msg/sec xenium::michael_scott_queue, 5,s: 6,318,825 msg/sec xenium::michael_scott_queue, 5,i: 6,646,756 msg/sec xenium::michael_scott_queue, 6,s: 6,520,654 msg/sec xenium::michael_scott_queue, 6,i: 6,689,923 msg/sec xenium::michael_scott_queue, 7,s: 6,298,006 msg/sec xenium::michael_scott_queue, 7,i: 6,394,598 msg/sec xenium::michael_scott_queue, 8,s: 5,951,008 msg/sec xenium::michael_scott_queue, 8,i: 6,054,080 msg/sec xenium::ramalhete_queue, 1,s: 31,322,776 msg/sec xenium::ramalhete_queue, 1,i: 32,515,968 msg/sec xenium::ramalhete_queue, 2,s: 23,517,919 msg/sec xenium::ramalhete_queue, 2,i: 23,317,003 msg/sec xenium::ramalhete_queue, 3,s: 29,186,514 msg/sec xenium::ramalhete_queue, 3,i: 28,424,547 msg/sec xenium::ramalhete_queue, 4,s: 33,829,914 msg/sec xenium::ramalhete_queue, 4,i: 33,445,082 msg/sec xenium::ramalhete_queue, 5,s: 31,886,145 msg/sec xenium::ramalhete_queue, 5,i: 36,211,252 msg/sec xenium::ramalhete_queue, 6,s: 34,087,740 msg/sec xenium::ramalhete_queue, 6,i: 38,867,459 msg/sec xenium::ramalhete_queue, 7,s: 35,270,887 msg/sec xenium::ramalhete_queue, 7,i: 40,914,645 msg/sec xenium::ramalhete_queue, 8,s: 35,530,546 msg/sec xenium::ramalhete_queue, 8,i: 44,239,948 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,812,148 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,208,938 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,866,555 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,624,812 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,243,657 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,046,262 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,512,327 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,178,913 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,009,024 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,338,649 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,996,844 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,275,876 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,314,339 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,019,555 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,417,209 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,220,364 msg/sec AtomicQueue, 1,s: 59,344,303 msg/sec AtomicQueue, 1,i: 56,330,321 msg/sec AtomicQueue, 2,s: 12,276,013 msg/sec AtomicQueue, 2,i: 11,742,170 msg/sec AtomicQueue, 3,s: 10,764,727 msg/sec AtomicQueue, 3,i: 9,888,420 msg/sec AtomicQueue, 4,s: 8,195,748 msg/sec AtomicQueue, 4,i: 8,198,623 msg/sec AtomicQueue, 5,s: 7,978,124 msg/sec AtomicQueue, 5,i: 8,096,875 msg/sec AtomicQueue, 6,s: 7,790,719 msg/sec AtomicQueue, 6,i: 7,608,505 msg/sec AtomicQueue, 7,s: 7,103,357 msg/sec AtomicQueue, 7,i: 7,962,645 msg/sec AtomicQueue, 8,s: 6,365,272 msg/sec AtomicQueue, 8,i: 7,434,708 msg/sec AtomicQueueB, 1,s: 43,845,369 msg/sec AtomicQueueB, 1,i: 43,052,555 msg/sec AtomicQueueB, 2,s: 11,856,712 msg/sec AtomicQueueB, 2,i: 11,511,194 msg/sec AtomicQueueB, 3,s: 11,016,899 msg/sec AtomicQueueB, 3,i: 10,163,263 msg/sec AtomicQueueB, 4,s: 8,107,810 msg/sec AtomicQueueB, 4,i: 8,029,823 msg/sec AtomicQueueB, 5,s: 7,538,323 msg/sec AtomicQueueB, 5,i: 7,800,438 msg/sec AtomicQueueB, 6,s: 7,284,258 msg/sec AtomicQueueB, 6,i: 7,544,319 msg/sec AtomicQueueB, 7,s: 6,819,029 msg/sec AtomicQueueB, 7,i: 7,735,481 msg/sec AtomicQueueB, 8,s: 6,291,408 msg/sec AtomicQueueB, 8,i: 6,995,278 msg/sec OptimistAtomicQueue, 1,s: 689,133,450 msg/sec OptimistAtomicQueue, 1,i: 534,905,313 msg/sec OptimistAtomicQueue, 2,s: 32,563,009 msg/sec OptimistAtomicQueue, 2,i: 32,605,215 msg/sec OptimistAtomicQueue, 3,s: 36,681,756 msg/sec OptimistAtomicQueue, 3,i: 37,411,576 msg/sec OptimistAtomicQueue, 4,s: 39,272,983 msg/sec OptimistAtomicQueue, 4,i: 39,352,758 msg/sec OptimistAtomicQueue, 5,s: 42,647,110 msg/sec OptimistAtomicQueue, 5,i: 46,360,257 msg/sec OptimistAtomicQueue, 6,s: 42,285,750 msg/sec OptimistAtomicQueue, 6,i: 49,782,697 msg/sec OptimistAtomicQueue, 7,s: 45,093,722 msg/sec OptimistAtomicQueue, 7,i: 49,146,754 msg/sec OptimistAtomicQueue, 8,s: 46,464,264 msg/sec OptimistAtomicQueue, 8,i: 49,349,648 msg/sec OptimistAtomicQueueB, 1,s: 77,770,114 msg/sec OptimistAtomicQueueB, 1,i: 76,579,183 msg/sec OptimistAtomicQueueB, 2,s: 32,139,322 msg/sec OptimistAtomicQueueB, 2,i: 32,138,558 msg/sec OptimistAtomicQueueB, 3,s: 36,200,749 msg/sec OptimistAtomicQueueB, 3,i: 36,819,595 msg/sec OptimistAtomicQueueB, 4,s: 38,685,166 msg/sec OptimistAtomicQueueB, 4,i: 38,623,808 msg/sec OptimistAtomicQueueB, 5,s: 41,025,711 msg/sec OptimistAtomicQueueB, 5,i: 45,421,669 msg/sec OptimistAtomicQueueB, 6,s: 40,809,498 msg/sec OptimistAtomicQueueB, 6,i: 49,000,696 msg/sec OptimistAtomicQueueB, 7,s: 42,714,390 msg/sec OptimistAtomicQueueB, 7,i: 48,116,115 msg/sec OptimistAtomicQueueB, 8,s: 44,187,951 msg/sec OptimistAtomicQueueB, 8,i: 48,712,492 msg/sec AtomicQueue2, 1,s: 22,908,074 msg/sec AtomicQueue2, 1,i: 22,894,774 msg/sec AtomicQueue2, 2,s: 11,674,199 msg/sec AtomicQueue2, 2,i: 11,554,357 msg/sec AtomicQueue2, 3,s: 9,295,578 msg/sec AtomicQueue2, 3,i: 9,325,685 msg/sec AtomicQueue2, 4,s: 8,072,882 msg/sec AtomicQueue2, 4,i: 8,058,595 msg/sec AtomicQueue2, 5,s: 7,891,968 msg/sec AtomicQueue2, 5,i: 8,031,643 msg/sec AtomicQueue2, 6,s: 7,652,820 msg/sec AtomicQueue2, 6,i: 7,505,021 msg/sec AtomicQueue2, 7,s: 7,114,437 msg/sec AtomicQueue2, 7,i: 7,884,744 msg/sec AtomicQueue2, 8,s: 6,389,642 msg/sec AtomicQueue2, 8,i: 7,264,885 msg/sec AtomicQueueB2, 1,s: 36,240,011 msg/sec AtomicQueueB2, 1,i: 32,625,476 msg/sec AtomicQueueB2, 2,s: 11,410,920 msg/sec AtomicQueueB2, 2,i: 11,079,530 msg/sec AtomicQueueB2, 3,s: 9,541,340 msg/sec AtomicQueueB2, 3,i: 9,504,605 msg/sec AtomicQueueB2, 4,s: 7,910,788 msg/sec AtomicQueueB2, 4,i: 7,699,915 msg/sec AtomicQueueB2, 5,s: 7,440,997 msg/sec AtomicQueueB2, 5,i: 7,714,093 msg/sec AtomicQueueB2, 6,s: 7,186,227 msg/sec AtomicQueueB2, 6,i: 7,440,729 msg/sec AtomicQueueB2, 7,s: 6,879,466 msg/sec AtomicQueueB2, 7,i: 7,722,131 msg/sec AtomicQueueB2, 8,s: 6,231,359 msg/sec AtomicQueueB2, 8,i: 7,064,582 msg/sec OptimistAtomicQueue2, 1,s: 518,709,461 msg/sec OptimistAtomicQueue2, 1,i: 41,082,924 msg/sec OptimistAtomicQueue2, 2,s: 29,249,333 msg/sec OptimistAtomicQueue2, 2,i: 24,010,367 msg/sec OptimistAtomicQueue2, 3,s: 31,003,818 msg/sec OptimistAtomicQueue2, 3,i: 30,565,110 msg/sec OptimistAtomicQueue2, 4,s: 33,246,124 msg/sec OptimistAtomicQueue2, 4,i: 33,159,463 msg/sec OptimistAtomicQueue2, 5,s: 37,312,910 msg/sec OptimistAtomicQueue2, 5,i: 40,261,538 msg/sec OptimistAtomicQueue2, 6,s: 40,189,157 msg/sec OptimistAtomicQueue2, 6,i: 49,179,499 msg/sec OptimistAtomicQueue2, 7,s: 43,225,196 msg/sec OptimistAtomicQueue2, 7,i: 48,088,202 msg/sec OptimistAtomicQueue2, 8,s: 43,974,327 msg/sec OptimistAtomicQueue2, 8,i: 49,676,096 msg/sec OptimistAtomicQueueB2, 1,s: 76,975,916 msg/sec OptimistAtomicQueueB2, 1,i: 63,623,384 msg/sec OptimistAtomicQueueB2, 2,s: 28,532,388 msg/sec OptimistAtomicQueueB2, 2,i: 24,037,308 msg/sec OptimistAtomicQueueB2, 3,s: 29,731,666 msg/sec OptimistAtomicQueueB2, 3,i: 29,079,506 msg/sec OptimistAtomicQueueB2, 4,s: 33,430,240 msg/sec OptimistAtomicQueueB2, 4,i: 33,142,644 msg/sec OptimistAtomicQueueB2, 5,s: 34,481,185 msg/sec OptimistAtomicQueueB2, 5,i: 39,240,946 msg/sec OptimistAtomicQueueB2, 6,s: 37,181,522 msg/sec OptimistAtomicQueueB2, 6,i: 42,447,149 msg/sec OptimistAtomicQueueB2, 7,s: 40,325,793 msg/sec OptimistAtomicQueueB2, 7,i: 43,137,400 msg/sec OptimistAtomicQueueB2, 8,s: 42,313,401 msg/sec OptimistAtomicQueueB2, 8,i: 45,229,309 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000126 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000249 sec/round-trip std::mutex: 0.000000442 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000376 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [197] 221m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,594,099 msg/sec boost::lockfree::spsc_queue, 1,i: 67,991,577 msg/sec boost::lockfree::queue, 1,s: 6,852,309 msg/sec boost::lockfree::queue, 1,i: 6,984,491 msg/sec boost::lockfree::queue, 2,s: 7,703,351 msg/sec boost::lockfree::queue, 2,i: 7,514,632 msg/sec boost::lockfree::queue, 3,s: 7,388,440 msg/sec boost::lockfree::queue, 3,i: 7,558,291 msg/sec boost::lockfree::queue, 4,s: 6,427,083 msg/sec boost::lockfree::queue, 4,i: 6,824,980 msg/sec boost::lockfree::queue, 5,s: 6,423,033 msg/sec boost::lockfree::queue, 5,i: 6,492,797 msg/sec boost::lockfree::queue, 6,s: 6,013,436 msg/sec boost::lockfree::queue, 6,i: 6,063,706 msg/sec boost::lockfree::queue, 7,s: 5,968,405 msg/sec boost::lockfree::queue, 7,i: 5,994,687 msg/sec boost::lockfree::queue, 8,s: 5,431,566 msg/sec boost::lockfree::queue, 8,i: 5,574,185 msg/sec moodycamel::ReaderWriterQueue, 1,s: 49,611,865 msg/sec moodycamel::ReaderWriterQueue, 1,i: 49,392,526 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,434,520 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,042,393 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,277,208 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,871,248 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,350,215 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,696,843 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,477,290 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,285,404 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,381,838 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,772,338 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,470,234 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,015,455 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,141,240 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,081,819 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,325,442 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,692,901 msg/sec pthread_spinlock, 1,s: 29,036,511 msg/sec pthread_spinlock, 1,i: 25,385,071 msg/sec pthread_spinlock, 2,s: 15,445,871 msg/sec pthread_spinlock, 2,i: 17,918,272 msg/sec pthread_spinlock, 3,s: 8,430,282 msg/sec pthread_spinlock, 3,i: 11,993,593 msg/sec pthread_spinlock, 4,s: 6,501,282 msg/sec pthread_spinlock, 4,i: 9,210,545 msg/sec pthread_spinlock, 5,s: 8,632,777 msg/sec pthread_spinlock, 5,i: 9,299,950 msg/sec pthread_spinlock, 6,s: 8,271,995 msg/sec pthread_spinlock, 6,i: 8,484,986 msg/sec pthread_spinlock, 7,s: 7,908,207 msg/sec pthread_spinlock, 7,i: 7,553,066 msg/sec pthread_spinlock, 8,s: 6,696,634 msg/sec pthread_spinlock, 8,i: 6,981,477 msg/sec std::mutex, 1,s: 5,731,865 msg/sec std::mutex, 1,i: 7,249,204 msg/sec std::mutex, 2,s: 6,246,939 msg/sec std::mutex, 2,i: 6,064,545 msg/sec std::mutex, 3,s: 6,027,867 msg/sec std::mutex, 3,i: 5,993,773 msg/sec std::mutex, 4,s: 6,186,535 msg/sec std::mutex, 4,i: 6,215,813 msg/sec std::mutex, 5,s: 5,936,390 msg/sec std::mutex, 5,i: 5,940,699 msg/sec std::mutex, 6,s: 5,863,843 msg/sec std::mutex, 6,i: 5,825,776 msg/sec std::mutex, 7,s: 5,760,867 msg/sec std::mutex, 7,i: 5,788,913 msg/sec std::mutex, 8,s: 5,678,222 msg/sec std::mutex, 8,i: 5,650,731 msg/sec tbb::spin_mutex, 1,s: 37,560,084 msg/sec tbb::spin_mutex, 1,i: 37,556,184 msg/sec tbb::spin_mutex, 2,s: 21,296,355 msg/sec tbb::spin_mutex, 2,i: 18,423,876 msg/sec tbb::spin_mutex, 3,s: 7,335,995 msg/sec tbb::spin_mutex, 3,i: 10,274,909 msg/sec tbb::spin_mutex, 4,s: 3,093,365 msg/sec tbb::spin_mutex, 4,i: 6,298,868 msg/sec tbb::spin_mutex, 5,s: 5,413,666 msg/sec tbb::spin_mutex, 5,i: 5,775,641 msg/sec tbb::spin_mutex, 6,s: 5,329,071 msg/sec tbb::spin_mutex, 6,i: 4,366,092 msg/sec tbb::spin_mutex, 7,s: 4,822,784 msg/sec tbb::spin_mutex, 7,i: 4,352,898 msg/sec tbb::spin_mutex, 8,s: 3,900,121 msg/sec tbb::spin_mutex, 8,i: 4,071,365 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,153,585 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,951,161 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,948,814 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,573,971 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,528,256 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,619,689 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,113,166 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,419,090 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,578,869 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,525,223 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,808,791 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,631,062 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,850,735 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,795,314 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,097,842 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,080,944 msg/sec xenium::michael_scott_queue, 1,s: 9,312,978 msg/sec xenium::michael_scott_queue, 1,i: 9,265,338 msg/sec xenium::michael_scott_queue, 2,s: 8,475,616 msg/sec xenium::michael_scott_queue, 2,i: 8,614,182 msg/sec xenium::michael_scott_queue, 3,s: 7,309,733 msg/sec xenium::michael_scott_queue, 3,i: 7,540,952 msg/sec xenium::michael_scott_queue, 4,s: 6,201,501 msg/sec xenium::michael_scott_queue, 4,i: 6,337,586 msg/sec xenium::michael_scott_queue, 5,s: 6,263,046 msg/sec xenium::michael_scott_queue, 5,i: 6,583,017 msg/sec xenium::michael_scott_queue, 6,s: 6,416,958 msg/sec xenium::michael_scott_queue, 6,i: 6,748,474 msg/sec xenium::michael_scott_queue, 7,s: 6,267,058 msg/sec xenium::michael_scott_queue, 7,i: 6,498,823 msg/sec xenium::michael_scott_queue, 8,s: 5,987,354 msg/sec xenium::michael_scott_queue, 8,i: 6,097,680 msg/sec xenium::ramalhete_queue, 1,s: 31,638,234 msg/sec xenium::ramalhete_queue, 1,i: 32,173,463 msg/sec xenium::ramalhete_queue, 2,s: 24,095,946 msg/sec xenium::ramalhete_queue, 2,i: 23,329,709 msg/sec xenium::ramalhete_queue, 3,s: 29,122,996 msg/sec xenium::ramalhete_queue, 3,i: 28,445,535 msg/sec xenium::ramalhete_queue, 4,s: 33,820,313 msg/sec xenium::ramalhete_queue, 4,i: 33,513,342 msg/sec xenium::ramalhete_queue, 5,s: 32,231,072 msg/sec xenium::ramalhete_queue, 5,i: 36,276,025 msg/sec xenium::ramalhete_queue, 6,s: 33,967,189 msg/sec xenium::ramalhete_queue, 6,i: 38,809,484 msg/sec xenium::ramalhete_queue, 7,s: 35,157,447 msg/sec xenium::ramalhete_queue, 7,i: 40,676,071 msg/sec xenium::ramalhete_queue, 8,s: 35,380,111 msg/sec xenium::ramalhete_queue, 8,i: 43,775,278 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,599,892 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,964,901 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,951,514 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,264,356 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,292,576 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,074,345 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,663,963 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,198,593 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,302,137 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,367,291 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,091,679 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,285,306 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,179,519 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,301,903 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,384,209 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,530,231 msg/sec AtomicQueue, 1,s: 59,667,425 msg/sec AtomicQueue, 1,i: 56,951,578 msg/sec AtomicQueue, 2,s: 12,325,960 msg/sec AtomicQueue, 2,i: 11,730,341 msg/sec AtomicQueue, 3,s: 10,773,214 msg/sec AtomicQueue, 3,i: 9,914,934 msg/sec AtomicQueue, 4,s: 8,211,063 msg/sec AtomicQueue, 4,i: 8,192,212 msg/sec AtomicQueue, 5,s: 8,020,022 msg/sec AtomicQueue, 5,i: 8,119,639 msg/sec AtomicQueue, 6,s: 7,711,198 msg/sec AtomicQueue, 6,i: 7,608,611 msg/sec AtomicQueue, 7,s: 7,189,296 msg/sec AtomicQueue, 7,i: 7,989,908 msg/sec AtomicQueue, 8,s: 6,365,373 msg/sec AtomicQueue, 8,i: 7,490,220 msg/sec AtomicQueueB, 1,s: 43,871,014 msg/sec AtomicQueueB, 1,i: 44,550,505 msg/sec AtomicQueueB, 2,s: 11,795,418 msg/sec AtomicQueueB, 2,i: 11,487,726 msg/sec AtomicQueueB, 3,s: 11,058,489 msg/sec AtomicQueueB, 3,i: 10,279,893 msg/sec AtomicQueueB, 4,s: 8,063,613 msg/sec AtomicQueueB, 4,i: 8,022,729 msg/sec AtomicQueueB, 5,s: 7,644,746 msg/sec AtomicQueueB, 5,i: 7,875,517 msg/sec AtomicQueueB, 6,s: 7,364,851 msg/sec AtomicQueueB, 6,i: 7,474,673 msg/sec AtomicQueueB, 7,s: 6,897,928 msg/sec AtomicQueueB, 7,i: 7,753,006 msg/sec AtomicQueueB, 8,s: 6,216,541 msg/sec AtomicQueueB, 8,i: 7,005,530 msg/sec OptimistAtomicQueue, 1,s: 721,817,232 msg/sec OptimistAtomicQueue, 1,i: 535,881,054 msg/sec OptimistAtomicQueue, 2,s: 32,616,854 msg/sec OptimistAtomicQueue, 2,i: 32,717,114 msg/sec OptimistAtomicQueue, 3,s: 36,676,344 msg/sec OptimistAtomicQueue, 3,i: 37,405,567 msg/sec OptimistAtomicQueue, 4,s: 39,286,076 msg/sec OptimistAtomicQueue, 4,i: 39,400,691 msg/sec OptimistAtomicQueue, 5,s: 42,445,214 msg/sec OptimistAtomicQueue, 5,i: 46,373,399 msg/sec OptimistAtomicQueue, 6,s: 42,715,350 msg/sec OptimistAtomicQueue, 6,i: 50,366,984 msg/sec OptimistAtomicQueue, 7,s: 44,892,966 msg/sec OptimistAtomicQueue, 7,i: 52,009,575 msg/sec OptimistAtomicQueue, 8,s: 46,323,182 msg/sec OptimistAtomicQueue, 8,i: 49,054,388 msg/sec OptimistAtomicQueueB, 1,s: 100,589,985 msg/sec OptimistAtomicQueueB, 1,i: 100,706,825 msg/sec OptimistAtomicQueueB, 2,s: 32,242,502 msg/sec OptimistAtomicQueueB, 2,i: 32,365,825 msg/sec OptimistAtomicQueueB, 3,s: 36,300,908 msg/sec OptimistAtomicQueueB, 3,i: 36,958,943 msg/sec OptimistAtomicQueueB, 4,s: 38,728,774 msg/sec OptimistAtomicQueueB, 4,i: 38,696,197 msg/sec OptimistAtomicQueueB, 5,s: 41,261,364 msg/sec OptimistAtomicQueueB, 5,i: 45,230,757 msg/sec OptimistAtomicQueueB, 6,s: 40,895,665 msg/sec OptimistAtomicQueueB, 6,i: 49,126,501 msg/sec OptimistAtomicQueueB, 7,s: 41,806,302 msg/sec OptimistAtomicQueueB, 7,i: 47,965,235 msg/sec OptimistAtomicQueueB, 8,s: 44,002,030 msg/sec OptimistAtomicQueueB, 8,i: 48,688,226 msg/sec AtomicQueue2, 1,s: 23,474,938 msg/sec AtomicQueue2, 1,i: 23,491,242 msg/sec AtomicQueue2, 2,s: 11,814,395 msg/sec AtomicQueue2, 2,i: 11,589,042 msg/sec AtomicQueue2, 3,s: 9,490,699 msg/sec AtomicQueue2, 3,i: 9,380,763 msg/sec AtomicQueue2, 4,s: 8,054,018 msg/sec AtomicQueue2, 4,i: 8,055,523 msg/sec AtomicQueue2, 5,s: 7,923,718 msg/sec AtomicQueue2, 5,i: 7,983,578 msg/sec AtomicQueue2, 6,s: 7,736,100 msg/sec AtomicQueue2, 6,i: 7,532,249 msg/sec AtomicQueue2, 7,s: 7,103,964 msg/sec AtomicQueue2, 7,i: 7,900,073 msg/sec AtomicQueue2, 8,s: 6,369,300 msg/sec AtomicQueue2, 8,i: 7,327,950 msg/sec AtomicQueueB2, 1,s: 35,918,379 msg/sec AtomicQueueB2, 1,i: 32,624,497 msg/sec AtomicQueueB2, 2,s: 11,448,743 msg/sec AtomicQueueB2, 2,i: 11,124,579 msg/sec AtomicQueueB2, 3,s: 9,565,046 msg/sec AtomicQueueB2, 3,i: 9,503,961 msg/sec AtomicQueueB2, 4,s: 7,884,082 msg/sec AtomicQueueB2, 4,i: 7,864,940 msg/sec AtomicQueueB2, 5,s: 7,428,933 msg/sec AtomicQueueB2, 5,i: 7,806,120 msg/sec AtomicQueueB2, 6,s: 7,300,836 msg/sec AtomicQueueB2, 6,i: 7,448,281 msg/sec AtomicQueueB2, 7,s: 6,932,025 msg/sec AtomicQueueB2, 7,i: 7,712,417 msg/sec AtomicQueueB2, 8,s: 6,329,103 msg/sec AtomicQueueB2, 8,i: 7,137,708 msg/sec OptimistAtomicQueue2, 1,s: 431,060,866 msg/sec OptimistAtomicQueue2, 1,i: 33,491,925 msg/sec OptimistAtomicQueue2, 2,s: 26,081,251 msg/sec OptimistAtomicQueue2, 2,i: 24,027,411 msg/sec OptimistAtomicQueue2, 3,s: 30,312,770 msg/sec OptimistAtomicQueue2, 3,i: 29,939,226 msg/sec OptimistAtomicQueue2, 4,s: 33,203,404 msg/sec OptimistAtomicQueue2, 4,i: 33,305,152 msg/sec OptimistAtomicQueue2, 5,s: 37,241,411 msg/sec OptimistAtomicQueue2, 5,i: 40,728,386 msg/sec OptimistAtomicQueue2, 6,s: 40,317,439 msg/sec OptimistAtomicQueue2, 6,i: 49,056,548 msg/sec OptimistAtomicQueue2, 7,s: 42,619,561 msg/sec OptimistAtomicQueue2, 7,i: 48,134,772 msg/sec OptimistAtomicQueue2, 8,s: 43,808,034 msg/sec OptimistAtomicQueue2, 8,i: 48,406,602 msg/sec OptimistAtomicQueueB2, 1,s: 78,951,230 msg/sec OptimistAtomicQueueB2, 1,i: 33,934,913 msg/sec OptimistAtomicQueueB2, 2,s: 27,972,124 msg/sec OptimistAtomicQueueB2, 2,i: 23,185,270 msg/sec OptimistAtomicQueueB2, 3,s: 29,649,411 msg/sec OptimistAtomicQueueB2, 3,i: 29,389,184 msg/sec OptimistAtomicQueueB2, 4,s: 33,354,177 msg/sec OptimistAtomicQueueB2, 4,i: 32,243,928 msg/sec OptimistAtomicQueueB2, 5,s: 34,346,300 msg/sec OptimistAtomicQueueB2, 5,i: 39,337,022 msg/sec OptimistAtomicQueueB2, 6,s: 37,692,505 msg/sec OptimistAtomicQueueB2, 6,i: 42,206,122 msg/sec OptimistAtomicQueueB2, 7,s: 40,171,236 msg/sec OptimistAtomicQueueB2, 7,i: 43,112,679 msg/sec OptimistAtomicQueueB2, 8,s: 42,321,854 msg/sec OptimistAtomicQueueB2, 8,i: 45,312,946 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000129 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000232 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000265 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [198] 220m:5s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,306,021 msg/sec boost::lockfree::spsc_queue, 1,i: 67,942,165 msg/sec boost::lockfree::queue, 1,s: 6,788,226 msg/sec boost::lockfree::queue, 1,i: 6,812,574 msg/sec boost::lockfree::queue, 2,s: 7,611,377 msg/sec boost::lockfree::queue, 2,i: 7,478,979 msg/sec boost::lockfree::queue, 3,s: 7,369,762 msg/sec boost::lockfree::queue, 3,i: 7,585,038 msg/sec boost::lockfree::queue, 4,s: 6,424,163 msg/sec boost::lockfree::queue, 4,i: 6,780,765 msg/sec boost::lockfree::queue, 5,s: 6,469,407 msg/sec boost::lockfree::queue, 5,i: 6,507,234 msg/sec boost::lockfree::queue, 6,s: 5,993,551 msg/sec boost::lockfree::queue, 6,i: 6,107,651 msg/sec boost::lockfree::queue, 7,s: 5,999,323 msg/sec boost::lockfree::queue, 7,i: 5,927,392 msg/sec boost::lockfree::queue, 8,s: 5,456,027 msg/sec boost::lockfree::queue, 8,i: 5,629,085 msg/sec moodycamel::ReaderWriterQueue, 1,s: 476,652,318 msg/sec moodycamel::ReaderWriterQueue, 1,i: 50,067,853 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,864,983 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,445,590 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,405,886 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,234,251 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,639,413 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,144,666 msg/sec moodycamel::ConcurrentQueue, 4,s: 45,837,232 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,496,823 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,798,796 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,075,411 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,372,026 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,286,831 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,215,397 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,964,796 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,542,654 msg/sec moodycamel::ConcurrentQueue, 8,i: 33,741,738 msg/sec pthread_spinlock, 1,s: 29,207,400 msg/sec pthread_spinlock, 1,i: 29,325,262 msg/sec pthread_spinlock, 2,s: 15,610,948 msg/sec pthread_spinlock, 2,i: 17,155,094 msg/sec pthread_spinlock, 3,s: 8,291,942 msg/sec pthread_spinlock, 3,i: 12,021,299 msg/sec pthread_spinlock, 4,s: 6,513,846 msg/sec pthread_spinlock, 4,i: 9,268,278 msg/sec pthread_spinlock, 5,s: 8,777,861 msg/sec pthread_spinlock, 5,i: 9,468,730 msg/sec pthread_spinlock, 6,s: 8,553,469 msg/sec pthread_spinlock, 6,i: 8,896,809 msg/sec pthread_spinlock, 7,s: 7,573,007 msg/sec pthread_spinlock, 7,i: 7,769,610 msg/sec pthread_spinlock, 8,s: 6,637,492 msg/sec pthread_spinlock, 8,i: 6,885,734 msg/sec std::mutex, 1,s: 6,959,633 msg/sec std::mutex, 1,i: 6,635,157 msg/sec std::mutex, 2,s: 5,266,701 msg/sec std::mutex, 2,i: 5,291,149 msg/sec std::mutex, 3,s: 5,431,933 msg/sec std::mutex, 3,i: 6,129,934 msg/sec std::mutex, 4,s: 6,194,001 msg/sec std::mutex, 4,i: 6,218,681 msg/sec std::mutex, 5,s: 6,091,312 msg/sec std::mutex, 5,i: 5,954,684 msg/sec std::mutex, 6,s: 5,989,493 msg/sec std::mutex, 6,i: 5,894,132 msg/sec std::mutex, 7,s: 5,822,253 msg/sec std::mutex, 7,i: 5,815,003 msg/sec std::mutex, 8,s: 5,701,946 msg/sec std::mutex, 8,i: 5,636,781 msg/sec tbb::spin_mutex, 1,s: 37,759,808 msg/sec tbb::spin_mutex, 1,i: 37,809,312 msg/sec tbb::spin_mutex, 2,s: 21,135,199 msg/sec tbb::spin_mutex, 2,i: 18,375,210 msg/sec tbb::spin_mutex, 3,s: 7,927,702 msg/sec tbb::spin_mutex, 3,i: 11,197,128 msg/sec tbb::spin_mutex, 4,s: 3,268,604 msg/sec tbb::spin_mutex, 4,i: 6,312,865 msg/sec tbb::spin_mutex, 5,s: 5,479,083 msg/sec tbb::spin_mutex, 5,i: 5,816,729 msg/sec tbb::spin_mutex, 6,s: 5,283,757 msg/sec tbb::spin_mutex, 6,i: 4,278,916 msg/sec tbb::spin_mutex, 7,s: 4,591,149 msg/sec tbb::spin_mutex, 7,i: 4,378,415 msg/sec tbb::spin_mutex, 8,s: 4,239,880 msg/sec tbb::spin_mutex, 8,i: 4,048,080 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,153,578 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,341,276 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,059,426 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,272,055 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,433,300 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,567,438 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,566,732 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,601,599 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,887,162 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,643,118 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,957,167 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,663,455 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,893,169 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,808,460 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,787,441 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,472,821 msg/sec xenium::michael_scott_queue, 1,s: 9,363,650 msg/sec xenium::michael_scott_queue, 1,i: 9,379,747 msg/sec xenium::michael_scott_queue, 2,s: 8,532,670 msg/sec xenium::michael_scott_queue, 2,i: 8,577,914 msg/sec xenium::michael_scott_queue, 3,s: 7,168,519 msg/sec xenium::michael_scott_queue, 3,i: 7,589,709 msg/sec xenium::michael_scott_queue, 4,s: 6,351,412 msg/sec xenium::michael_scott_queue, 4,i: 6,291,321 msg/sec xenium::michael_scott_queue, 5,s: 6,330,615 msg/sec xenium::michael_scott_queue, 5,i: 6,671,894 msg/sec xenium::michael_scott_queue, 6,s: 6,550,439 msg/sec xenium::michael_scott_queue, 6,i: 6,719,159 msg/sec xenium::michael_scott_queue, 7,s: 6,302,342 msg/sec xenium::michael_scott_queue, 7,i: 6,516,693 msg/sec xenium::michael_scott_queue, 8,s: 6,015,072 msg/sec xenium::michael_scott_queue, 8,i: 6,129,922 msg/sec xenium::ramalhete_queue, 1,s: 32,639,923 msg/sec xenium::ramalhete_queue, 1,i: 32,813,945 msg/sec xenium::ramalhete_queue, 2,s: 24,391,768 msg/sec xenium::ramalhete_queue, 2,i: 23,402,697 msg/sec xenium::ramalhete_queue, 3,s: 29,251,251 msg/sec xenium::ramalhete_queue, 3,i: 28,596,296 msg/sec xenium::ramalhete_queue, 4,s: 33,881,368 msg/sec xenium::ramalhete_queue, 4,i: 33,504,147 msg/sec xenium::ramalhete_queue, 5,s: 32,235,497 msg/sec xenium::ramalhete_queue, 5,i: 36,131,463 msg/sec xenium::ramalhete_queue, 6,s: 34,025,864 msg/sec xenium::ramalhete_queue, 6,i: 38,922,080 msg/sec xenium::ramalhete_queue, 7,s: 35,094,899 msg/sec xenium::ramalhete_queue, 7,i: 41,838,718 msg/sec xenium::ramalhete_queue, 8,s: 35,535,117 msg/sec xenium::ramalhete_queue, 8,i: 44,144,658 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,430,229 msg/sec xenium::vyukov_bounded_queue, 1,i: 118,835,649 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,468,115 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,584,415 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,846,193 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,966,028 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,645,761 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,102,093 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,018,560 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,392,025 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,898,688 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,487,104 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,186,413 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,035,486 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,382,349 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,285,025 msg/sec AtomicQueue, 1,s: 60,469,702 msg/sec AtomicQueue, 1,i: 56,664,005 msg/sec AtomicQueue, 2,s: 12,301,686 msg/sec AtomicQueue, 2,i: 11,746,639 msg/sec AtomicQueue, 3,s: 10,807,958 msg/sec AtomicQueue, 3,i: 9,932,392 msg/sec AtomicQueue, 4,s: 8,163,473 msg/sec AtomicQueue, 4,i: 8,189,326 msg/sec AtomicQueue, 5,s: 8,008,062 msg/sec AtomicQueue, 5,i: 8,112,605 msg/sec AtomicQueue, 6,s: 7,804,126 msg/sec AtomicQueue, 6,i: 7,624,449 msg/sec AtomicQueue, 7,s: 7,055,147 msg/sec AtomicQueue, 7,i: 7,971,954 msg/sec AtomicQueue, 8,s: 6,346,101 msg/sec AtomicQueue, 8,i: 7,330,232 msg/sec AtomicQueueB, 1,s: 43,859,048 msg/sec AtomicQueueB, 1,i: 43,056,142 msg/sec AtomicQueueB, 2,s: 11,641,386 msg/sec AtomicQueueB, 2,i: 11,451,496 msg/sec AtomicQueueB, 3,s: 11,033,771 msg/sec AtomicQueueB, 3,i: 10,265,327 msg/sec AtomicQueueB, 4,s: 8,041,232 msg/sec AtomicQueueB, 4,i: 7,889,091 msg/sec AtomicQueueB, 5,s: 7,566,765 msg/sec AtomicQueueB, 5,i: 7,757,262 msg/sec AtomicQueueB, 6,s: 7,331,927 msg/sec AtomicQueueB, 6,i: 7,515,238 msg/sec AtomicQueueB, 7,s: 6,865,363 msg/sec AtomicQueueB, 7,i: 7,722,309 msg/sec AtomicQueueB, 8,s: 6,210,295 msg/sec AtomicQueueB, 8,i: 7,150,761 msg/sec OptimistAtomicQueue, 1,s: 699,950,478 msg/sec OptimistAtomicQueue, 1,i: 516,642,541 msg/sec OptimistAtomicQueue, 2,s: 32,138,523 msg/sec OptimistAtomicQueue, 2,i: 32,173,394 msg/sec OptimistAtomicQueue, 3,s: 36,646,560 msg/sec OptimistAtomicQueue, 3,i: 37,319,877 msg/sec OptimistAtomicQueue, 4,s: 39,285,115 msg/sec OptimistAtomicQueue, 4,i: 39,370,966 msg/sec OptimistAtomicQueue, 5,s: 41,761,466 msg/sec OptimistAtomicQueue, 5,i: 46,361,075 msg/sec OptimistAtomicQueue, 6,s: 42,635,145 msg/sec OptimistAtomicQueue, 6,i: 50,476,730 msg/sec OptimistAtomicQueue, 7,s: 44,424,464 msg/sec OptimistAtomicQueue, 7,i: 52,933,198 msg/sec OptimistAtomicQueue, 8,s: 46,396,927 msg/sec OptimistAtomicQueue, 8,i: 48,657,443 msg/sec OptimistAtomicQueueB, 1,s: 372,672,832 msg/sec OptimistAtomicQueueB, 1,i: 77,731,224 msg/sec OptimistAtomicQueueB, 2,s: 31,656,937 msg/sec OptimistAtomicQueueB, 2,i: 31,742,815 msg/sec OptimistAtomicQueueB, 3,s: 36,249,510 msg/sec OptimistAtomicQueueB, 3,i: 36,851,812 msg/sec OptimistAtomicQueueB, 4,s: 38,704,397 msg/sec OptimistAtomicQueueB, 4,i: 38,727,957 msg/sec OptimistAtomicQueueB, 5,s: 41,219,198 msg/sec OptimistAtomicQueueB, 5,i: 45,357,728 msg/sec OptimistAtomicQueueB, 6,s: 40,834,812 msg/sec OptimistAtomicQueueB, 6,i: 48,698,488 msg/sec OptimistAtomicQueueB, 7,s: 42,120,513 msg/sec OptimistAtomicQueueB, 7,i: 51,488,662 msg/sec OptimistAtomicQueueB, 8,s: 44,310,808 msg/sec OptimistAtomicQueueB, 8,i: 47,696,486 msg/sec AtomicQueue2, 1,s: 22,887,228 msg/sec AtomicQueue2, 1,i: 22,893,264 msg/sec AtomicQueue2, 2,s: 11,788,977 msg/sec AtomicQueue2, 2,i: 11,511,167 msg/sec AtomicQueue2, 3,s: 9,779,134 msg/sec AtomicQueue2, 3,i: 9,514,123 msg/sec AtomicQueue2, 4,s: 8,071,013 msg/sec AtomicQueue2, 4,i: 8,075,612 msg/sec AtomicQueue2, 5,s: 7,889,104 msg/sec AtomicQueue2, 5,i: 8,030,417 msg/sec AtomicQueue2, 6,s: 7,674,781 msg/sec AtomicQueue2, 6,i: 7,536,431 msg/sec AtomicQueue2, 7,s: 7,103,558 msg/sec AtomicQueue2, 7,i: 7,898,115 msg/sec AtomicQueue2, 8,s: 6,395,810 msg/sec AtomicQueue2, 8,i: 7,326,772 msg/sec AtomicQueueB2, 1,s: 36,089,128 msg/sec AtomicQueueB2, 1,i: 32,602,375 msg/sec AtomicQueueB2, 2,s: 11,478,523 msg/sec AtomicQueueB2, 2,i: 11,120,726 msg/sec AtomicQueueB2, 3,s: 9,638,729 msg/sec AtomicQueueB2, 3,i: 9,506,336 msg/sec AtomicQueueB2, 4,s: 7,936,193 msg/sec AtomicQueueB2, 4,i: 7,880,061 msg/sec AtomicQueueB2, 5,s: 7,366,296 msg/sec AtomicQueueB2, 5,i: 7,768,253 msg/sec AtomicQueueB2, 6,s: 7,233,268 msg/sec AtomicQueueB2, 6,i: 7,430,020 msg/sec AtomicQueueB2, 7,s: 6,948,014 msg/sec AtomicQueueB2, 7,i: 7,699,793 msg/sec AtomicQueueB2, 8,s: 6,256,508 msg/sec AtomicQueueB2, 8,i: 7,129,682 msg/sec OptimistAtomicQueue2, 1,s: 566,631,870 msg/sec OptimistAtomicQueue2, 1,i: 42,190,357 msg/sec OptimistAtomicQueue2, 2,s: 25,347,714 msg/sec OptimistAtomicQueue2, 2,i: 24,015,533 msg/sec OptimistAtomicQueue2, 3,s: 30,319,540 msg/sec OptimistAtomicQueue2, 3,i: 29,950,709 msg/sec OptimistAtomicQueue2, 4,s: 33,155,267 msg/sec OptimistAtomicQueue2, 4,i: 33,368,508 msg/sec OptimistAtomicQueue2, 5,s: 37,526,970 msg/sec OptimistAtomicQueue2, 5,i: 40,228,976 msg/sec OptimistAtomicQueue2, 6,s: 40,507,100 msg/sec OptimistAtomicQueue2, 6,i: 49,369,558 msg/sec OptimistAtomicQueue2, 7,s: 42,685,397 msg/sec OptimistAtomicQueue2, 7,i: 48,224,593 msg/sec OptimistAtomicQueue2, 8,s: 43,880,988 msg/sec OptimistAtomicQueue2, 8,i: 48,557,639 msg/sec OptimistAtomicQueueB2, 1,s: 76,535,233 msg/sec OptimistAtomicQueueB2, 1,i: 33,887,174 msg/sec OptimistAtomicQueueB2, 2,s: 27,705,890 msg/sec OptimistAtomicQueueB2, 2,i: 23,152,030 msg/sec OptimistAtomicQueueB2, 3,s: 30,017,792 msg/sec OptimistAtomicQueueB2, 3,i: 33,728,249 msg/sec OptimistAtomicQueueB2, 4,s: 33,121,579 msg/sec OptimistAtomicQueueB2, 4,i: 32,760,098 msg/sec OptimistAtomicQueueB2, 5,s: 34,527,066 msg/sec OptimistAtomicQueueB2, 5,i: 39,142,792 msg/sec OptimistAtomicQueueB2, 6,s: 36,870,246 msg/sec OptimistAtomicQueueB2, 6,i: 42,434,939 msg/sec OptimistAtomicQueueB2, 7,s: 40,117,753 msg/sec OptimistAtomicQueueB2, 7,i: 43,198,203 msg/sec OptimistAtomicQueueB2, 8,s: 42,019,039 msg/sec OptimistAtomicQueueB2, 8,i: 45,267,076 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000259 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000146 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [199] 218m:46s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,643,321 msg/sec boost::lockfree::spsc_queue, 1,i: 67,486,922 msg/sec boost::lockfree::queue, 1,s: 6,850,017 msg/sec boost::lockfree::queue, 1,i: 6,912,378 msg/sec boost::lockfree::queue, 2,s: 7,711,413 msg/sec boost::lockfree::queue, 2,i: 7,377,923 msg/sec boost::lockfree::queue, 3,s: 7,356,262 msg/sec boost::lockfree::queue, 3,i: 7,622,985 msg/sec boost::lockfree::queue, 4,s: 6,423,865 msg/sec boost::lockfree::queue, 4,i: 6,774,269 msg/sec boost::lockfree::queue, 5,s: 6,406,219 msg/sec boost::lockfree::queue, 5,i: 6,510,801 msg/sec boost::lockfree::queue, 6,s: 5,949,126 msg/sec boost::lockfree::queue, 6,i: 6,140,650 msg/sec boost::lockfree::queue, 7,s: 5,828,809 msg/sec boost::lockfree::queue, 7,i: 6,106,241 msg/sec boost::lockfree::queue, 8,s: 5,405,818 msg/sec boost::lockfree::queue, 8,i: 5,551,206 msg/sec moodycamel::ReaderWriterQueue, 1,s: 441,827,500 msg/sec moodycamel::ReaderWriterQueue, 1,i: 73,677,686 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,860,648 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,177,952 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,291,256 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,376,393 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,505,537 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,651,849 msg/sec moodycamel::ConcurrentQueue, 4,s: 28,392,044 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,566,399 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,155,463 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,571,564 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,576,917 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,847,902 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,986,475 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,589,905 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,230,904 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,705,443 msg/sec pthread_spinlock, 1,s: 28,826,908 msg/sec pthread_spinlock, 1,i: 25,407,997 msg/sec pthread_spinlock, 2,s: 15,473,127 msg/sec pthread_spinlock, 2,i: 16,861,977 msg/sec pthread_spinlock, 3,s: 8,312,213 msg/sec pthread_spinlock, 3,i: 12,166,172 msg/sec pthread_spinlock, 4,s: 6,503,595 msg/sec pthread_spinlock, 4,i: 8,919,350 msg/sec pthread_spinlock, 5,s: 8,748,982 msg/sec pthread_spinlock, 5,i: 9,408,145 msg/sec pthread_spinlock, 6,s: 8,552,152 msg/sec pthread_spinlock, 6,i: 8,477,941 msg/sec pthread_spinlock, 7,s: 7,507,505 msg/sec pthread_spinlock, 7,i: 7,807,741 msg/sec pthread_spinlock, 8,s: 6,695,961 msg/sec pthread_spinlock, 8,i: 7,341,132 msg/sec std::mutex, 1,s: 7,006,989 msg/sec std::mutex, 1,i: 5,878,405 msg/sec std::mutex, 2,s: 6,113,835 msg/sec std::mutex, 2,i: 6,025,273 msg/sec std::mutex, 3,s: 5,956,377 msg/sec std::mutex, 3,i: 4,923,022 msg/sec std::mutex, 4,s: 5,845,396 msg/sec std::mutex, 4,i: 6,028,529 msg/sec std::mutex, 5,s: 5,987,976 msg/sec std::mutex, 5,i: 6,201,763 msg/sec std::mutex, 6,s: 5,915,667 msg/sec std::mutex, 6,i: 5,943,536 msg/sec std::mutex, 7,s: 5,874,239 msg/sec std::mutex, 7,i: 5,876,404 msg/sec std::mutex, 8,s: 5,735,984 msg/sec std::mutex, 8,i: 5,797,242 msg/sec tbb::spin_mutex, 1,s: 37,527,417 msg/sec tbb::spin_mutex, 1,i: 32,936,681 msg/sec tbb::spin_mutex, 2,s: 21,005,916 msg/sec tbb::spin_mutex, 2,i: 18,523,743 msg/sec tbb::spin_mutex, 3,s: 8,685,638 msg/sec tbb::spin_mutex, 3,i: 11,052,990 msg/sec tbb::spin_mutex, 4,s: 3,181,345 msg/sec tbb::spin_mutex, 4,i: 6,290,056 msg/sec tbb::spin_mutex, 5,s: 5,384,777 msg/sec tbb::spin_mutex, 5,i: 5,698,645 msg/sec tbb::spin_mutex, 6,s: 5,356,865 msg/sec tbb::spin_mutex, 6,i: 4,340,509 msg/sec tbb::spin_mutex, 7,s: 4,527,439 msg/sec tbb::spin_mutex, 7,i: 4,305,224 msg/sec tbb::spin_mutex, 8,s: 3,338,874 msg/sec tbb::spin_mutex, 8,i: 4,057,612 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,475,217 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,528,405 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,056,046 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,608,899 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,464,964 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,771,270 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,546,544 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,617,975 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,965,698 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,682,196 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,921,383 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,734,284 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,883,448 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,817,190 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,774,077 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,473,768 msg/sec xenium::michael_scott_queue, 1,s: 10,134,484 msg/sec xenium::michael_scott_queue, 1,i: 9,784,694 msg/sec xenium::michael_scott_queue, 2,s: 8,570,990 msg/sec xenium::michael_scott_queue, 2,i: 8,508,411 msg/sec xenium::michael_scott_queue, 3,s: 7,233,883 msg/sec xenium::michael_scott_queue, 3,i: 7,523,388 msg/sec xenium::michael_scott_queue, 4,s: 6,352,706 msg/sec xenium::michael_scott_queue, 4,i: 6,355,148 msg/sec xenium::michael_scott_queue, 5,s: 6,320,652 msg/sec xenium::michael_scott_queue, 5,i: 6,698,562 msg/sec xenium::michael_scott_queue, 6,s: 6,511,123 msg/sec xenium::michael_scott_queue, 6,i: 6,697,243 msg/sec xenium::michael_scott_queue, 7,s: 6,243,617 msg/sec xenium::michael_scott_queue, 7,i: 6,495,830 msg/sec xenium::michael_scott_queue, 8,s: 6,050,812 msg/sec xenium::michael_scott_queue, 8,i: 6,227,464 msg/sec xenium::ramalhete_queue, 1,s: 31,582,841 msg/sec xenium::ramalhete_queue, 1,i: 32,356,022 msg/sec xenium::ramalhete_queue, 2,s: 23,367,717 msg/sec xenium::ramalhete_queue, 2,i: 23,205,682 msg/sec xenium::ramalhete_queue, 3,s: 28,933,984 msg/sec xenium::ramalhete_queue, 3,i: 28,560,831 msg/sec xenium::ramalhete_queue, 4,s: 33,714,354 msg/sec xenium::ramalhete_queue, 4,i: 33,433,155 msg/sec xenium::ramalhete_queue, 5,s: 32,192,769 msg/sec xenium::ramalhete_queue, 5,i: 38,468,411 msg/sec xenium::ramalhete_queue, 6,s: 34,028,262 msg/sec xenium::ramalhete_queue, 6,i: 39,809,512 msg/sec xenium::ramalhete_queue, 7,s: 34,994,845 msg/sec xenium::ramalhete_queue, 7,i: 41,016,747 msg/sec xenium::ramalhete_queue, 8,s: 35,464,883 msg/sec xenium::ramalhete_queue, 8,i: 44,343,979 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,980,220 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,658,878 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,497,757 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,776,778 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,582,373 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,910,787 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,567,078 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,098,004 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,126,128 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,218,708 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,033,071 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,562,164 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,131,120 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,144,659 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,235 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,237,794 msg/sec AtomicQueue, 1,s: 60,223,562 msg/sec AtomicQueue, 1,i: 57,124,976 msg/sec AtomicQueue, 2,s: 12,248,098 msg/sec AtomicQueue, 2,i: 11,731,768 msg/sec AtomicQueue, 3,s: 10,789,410 msg/sec AtomicQueue, 3,i: 9,977,604 msg/sec AtomicQueue, 4,s: 8,201,965 msg/sec AtomicQueue, 4,i: 8,186,870 msg/sec AtomicQueue, 5,s: 8,021,120 msg/sec AtomicQueue, 5,i: 8,072,042 msg/sec AtomicQueue, 6,s: 7,886,370 msg/sec AtomicQueue, 6,i: 7,610,618 msg/sec AtomicQueue, 7,s: 7,094,838 msg/sec AtomicQueue, 7,i: 7,964,882 msg/sec AtomicQueue, 8,s: 6,360,970 msg/sec AtomicQueue, 8,i: 7,478,924 msg/sec AtomicQueueB, 1,s: 48,345,905 msg/sec AtomicQueueB, 1,i: 43,029,206 msg/sec AtomicQueueB, 2,s: 11,884,732 msg/sec AtomicQueueB, 2,i: 11,499,619 msg/sec AtomicQueueB, 3,s: 11,117,123 msg/sec AtomicQueueB, 3,i: 10,145,385 msg/sec AtomicQueueB, 4,s: 8,005,744 msg/sec AtomicQueueB, 4,i: 7,991,566 msg/sec AtomicQueueB, 5,s: 7,608,292 msg/sec AtomicQueueB, 5,i: 7,879,223 msg/sec AtomicQueueB, 6,s: 7,240,005 msg/sec AtomicQueueB, 6,i: 7,562,930 msg/sec AtomicQueueB, 7,s: 6,889,743 msg/sec AtomicQueueB, 7,i: 7,734,181 msg/sec AtomicQueueB, 8,s: 6,213,755 msg/sec AtomicQueueB, 8,i: 7,147,790 msg/sec OptimistAtomicQueue, 1,s: 747,459,432 msg/sec OptimistAtomicQueue, 1,i: 537,907,411 msg/sec OptimistAtomicQueue, 2,s: 32,660,323 msg/sec OptimistAtomicQueue, 2,i: 32,710,560 msg/sec OptimistAtomicQueue, 3,s: 36,656,996 msg/sec OptimistAtomicQueue, 3,i: 37,503,318 msg/sec OptimistAtomicQueue, 4,s: 39,294,739 msg/sec OptimistAtomicQueue, 4,i: 39,366,219 msg/sec OptimistAtomicQueue, 5,s: 41,841,489 msg/sec OptimistAtomicQueue, 5,i: 48,517,488 msg/sec OptimistAtomicQueue, 6,s: 42,633,905 msg/sec OptimistAtomicQueue, 6,i: 50,448,689 msg/sec OptimistAtomicQueue, 7,s: 45,151,209 msg/sec OptimistAtomicQueue, 7,i: 49,135,590 msg/sec OptimistAtomicQueue, 8,s: 46,459,697 msg/sec OptimistAtomicQueue, 8,i: 49,425,566 msg/sec OptimistAtomicQueueB, 1,s: 148,447,489 msg/sec OptimistAtomicQueueB, 1,i: 77,504,882 msg/sec OptimistAtomicQueueB, 2,s: 31,753,792 msg/sec OptimistAtomicQueueB, 2,i: 31,727,776 msg/sec OptimistAtomicQueueB, 3,s: 36,242,365 msg/sec OptimistAtomicQueueB, 3,i: 36,917,332 msg/sec OptimistAtomicQueueB, 4,s: 38,622,351 msg/sec OptimistAtomicQueueB, 4,i: 38,463,304 msg/sec OptimistAtomicQueueB, 5,s: 40,992,682 msg/sec OptimistAtomicQueueB, 5,i: 46,062,165 msg/sec OptimistAtomicQueueB, 6,s: 40,776,403 msg/sec OptimistAtomicQueueB, 6,i: 49,136,585 msg/sec OptimistAtomicQueueB, 7,s: 41,682,493 msg/sec OptimistAtomicQueueB, 7,i: 50,709,155 msg/sec OptimistAtomicQueueB, 8,s: 44,149,078 msg/sec OptimistAtomicQueueB, 8,i: 47,812,314 msg/sec AtomicQueue2, 1,s: 22,941,952 msg/sec AtomicQueue2, 1,i: 22,887,004 msg/sec AtomicQueue2, 2,s: 11,712,124 msg/sec AtomicQueue2, 2,i: 11,404,781 msg/sec AtomicQueue2, 3,s: 9,797,564 msg/sec AtomicQueue2, 3,i: 9,370,600 msg/sec AtomicQueue2, 4,s: 8,081,639 msg/sec AtomicQueue2, 4,i: 8,090,333 msg/sec AtomicQueue2, 5,s: 7,874,661 msg/sec AtomicQueue2, 5,i: 8,013,332 msg/sec AtomicQueue2, 6,s: 7,657,318 msg/sec AtomicQueue2, 6,i: 7,529,847 msg/sec AtomicQueue2, 7,s: 7,069,362 msg/sec AtomicQueue2, 7,i: 7,869,406 msg/sec AtomicQueue2, 8,s: 6,373,924 msg/sec AtomicQueue2, 8,i: 7,229,708 msg/sec AtomicQueueB2, 1,s: 36,172,722 msg/sec AtomicQueueB2, 1,i: 32,619,475 msg/sec AtomicQueueB2, 2,s: 11,432,997 msg/sec AtomicQueueB2, 2,i: 11,099,809 msg/sec AtomicQueueB2, 3,s: 9,593,837 msg/sec AtomicQueueB2, 3,i: 9,544,306 msg/sec AtomicQueueB2, 4,s: 7,914,326 msg/sec AtomicQueueB2, 4,i: 7,874,254 msg/sec AtomicQueueB2, 5,s: 7,519,456 msg/sec AtomicQueueB2, 5,i: 7,736,767 msg/sec AtomicQueueB2, 6,s: 7,267,571 msg/sec AtomicQueueB2, 6,i: 7,434,959 msg/sec AtomicQueueB2, 7,s: 6,876,855 msg/sec AtomicQueueB2, 7,i: 7,717,346 msg/sec AtomicQueueB2, 8,s: 6,290,516 msg/sec AtomicQueueB2, 8,i: 7,089,212 msg/sec OptimistAtomicQueue2, 1,s: 426,500,524 msg/sec OptimistAtomicQueue2, 1,i: 32,096,132 msg/sec OptimistAtomicQueue2, 2,s: 26,209,159 msg/sec OptimistAtomicQueue2, 2,i: 24,017,420 msg/sec OptimistAtomicQueue2, 3,s: 30,325,476 msg/sec OptimistAtomicQueue2, 3,i: 29,979,310 msg/sec OptimistAtomicQueue2, 4,s: 33,204,018 msg/sec OptimistAtomicQueue2, 4,i: 33,186,346 msg/sec OptimistAtomicQueue2, 5,s: 37,176,469 msg/sec OptimistAtomicQueue2, 5,i: 40,621,670 msg/sec OptimistAtomicQueue2, 6,s: 40,028,197 msg/sec OptimistAtomicQueue2, 6,i: 49,254,183 msg/sec OptimistAtomicQueue2, 7,s: 42,554,402 msg/sec OptimistAtomicQueue2, 7,i: 48,069,728 msg/sec OptimistAtomicQueue2, 8,s: 43,916,797 msg/sec OptimistAtomicQueue2, 8,i: 49,437,267 msg/sec OptimistAtomicQueueB2, 1,s: 76,286,507 msg/sec OptimistAtomicQueueB2, 1,i: 33,876,278 msg/sec OptimistAtomicQueueB2, 2,s: 28,700,763 msg/sec OptimistAtomicQueueB2, 2,i: 23,195,253 msg/sec OptimistAtomicQueueB2, 3,s: 29,740,253 msg/sec OptimistAtomicQueueB2, 3,i: 29,412,698 msg/sec OptimistAtomicQueueB2, 4,s: 33,179,813 msg/sec OptimistAtomicQueueB2, 4,i: 32,367,773 msg/sec OptimistAtomicQueueB2, 5,s: 34,463,935 msg/sec OptimistAtomicQueueB2, 5,i: 39,391,506 msg/sec OptimistAtomicQueueB2, 6,s: 37,332,164 msg/sec OptimistAtomicQueueB2, 6,i: 42,305,147 msg/sec OptimistAtomicQueueB2, 7,s: 40,442,215 msg/sec OptimistAtomicQueueB2, 7,i: 45,509,029 msg/sec OptimistAtomicQueueB2, 8,s: 42,495,575 msg/sec OptimistAtomicQueueB2, 8,i: 45,231,921 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000240 sec/round-trip std::mutex: 0.000000455 sec/round-trip tbb::spin_mutex: 0.000000256 sec/round-trip tbb::concurrent_bounded_queue: 0.000000282 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000199 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [200] 217m:26s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,844,883 msg/sec boost::lockfree::spsc_queue, 1,i: 67,365,027 msg/sec boost::lockfree::queue, 1,s: 6,977,139 msg/sec boost::lockfree::queue, 1,i: 6,893,655 msg/sec boost::lockfree::queue, 2,s: 7,724,420 msg/sec boost::lockfree::queue, 2,i: 7,476,562 msg/sec boost::lockfree::queue, 3,s: 7,388,015 msg/sec boost::lockfree::queue, 3,i: 7,545,592 msg/sec boost::lockfree::queue, 4,s: 6,428,868 msg/sec boost::lockfree::queue, 4,i: 6,783,857 msg/sec boost::lockfree::queue, 5,s: 6,471,328 msg/sec boost::lockfree::queue, 5,i: 6,467,354 msg/sec boost::lockfree::queue, 6,s: 5,969,270 msg/sec boost::lockfree::queue, 6,i: 6,135,885 msg/sec boost::lockfree::queue, 7,s: 5,859,140 msg/sec boost::lockfree::queue, 7,i: 5,959,081 msg/sec boost::lockfree::queue, 8,s: 5,436,619 msg/sec boost::lockfree::queue, 8,i: 5,509,803 msg/sec moodycamel::ReaderWriterQueue, 1,s: 102,265,500 msg/sec moodycamel::ReaderWriterQueue, 1,i: 96,440,194 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,795,836 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,417,853 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,025,586 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,604,643 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,465,202 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,850,153 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,402,985 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,994,102 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,147,375 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,446,711 msg/sec moodycamel::ConcurrentQueue, 6,s: 45,039,666 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,208,000 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,986,476 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,751,795 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,378,329 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,402,310 msg/sec pthread_spinlock, 1,s: 29,062,479 msg/sec pthread_spinlock, 1,i: 25,345,453 msg/sec pthread_spinlock, 2,s: 15,533,037 msg/sec pthread_spinlock, 2,i: 17,250,384 msg/sec pthread_spinlock, 3,s: 8,401,200 msg/sec pthread_spinlock, 3,i: 11,450,502 msg/sec pthread_spinlock, 4,s: 6,440,798 msg/sec pthread_spinlock, 4,i: 8,964,724 msg/sec pthread_spinlock, 5,s: 8,620,130 msg/sec pthread_spinlock, 5,i: 9,013,476 msg/sec pthread_spinlock, 6,s: 8,520,071 msg/sec pthread_spinlock, 6,i: 8,633,022 msg/sec pthread_spinlock, 7,s: 7,540,124 msg/sec pthread_spinlock, 7,i: 7,472,042 msg/sec pthread_spinlock, 8,s: 6,859,440 msg/sec pthread_spinlock, 8,i: 6,976,963 msg/sec std::mutex, 1,s: 6,306,381 msg/sec std::mutex, 1,i: 5,852,814 msg/sec std::mutex, 2,s: 6,156,447 msg/sec std::mutex, 2,i: 5,397,958 msg/sec std::mutex, 3,s: 4,685,083 msg/sec std::mutex, 3,i: 5,580,107 msg/sec std::mutex, 4,s: 5,779,505 msg/sec std::mutex, 4,i: 6,348,582 msg/sec std::mutex, 5,s: 5,973,587 msg/sec std::mutex, 5,i: 6,220,163 msg/sec std::mutex, 6,s: 5,941,455 msg/sec std::mutex, 6,i: 5,843,303 msg/sec std::mutex, 7,s: 5,818,639 msg/sec std::mutex, 7,i: 5,785,349 msg/sec std::mutex, 8,s: 5,677,977 msg/sec std::mutex, 8,i: 5,747,951 msg/sec tbb::spin_mutex, 1,s: 37,826,891 msg/sec tbb::spin_mutex, 1,i: 33,163,386 msg/sec tbb::spin_mutex, 2,s: 21,122,908 msg/sec tbb::spin_mutex, 2,i: 18,346,602 msg/sec tbb::spin_mutex, 3,s: 7,293,927 msg/sec tbb::spin_mutex, 3,i: 10,205,226 msg/sec tbb::spin_mutex, 4,s: 3,283,282 msg/sec tbb::spin_mutex, 4,i: 6,444,692 msg/sec tbb::spin_mutex, 5,s: 5,425,043 msg/sec tbb::spin_mutex, 5,i: 5,842,057 msg/sec tbb::spin_mutex, 6,s: 5,317,438 msg/sec tbb::spin_mutex, 6,i: 4,312,229 msg/sec tbb::spin_mutex, 7,s: 4,841,329 msg/sec tbb::spin_mutex, 7,i: 4,311,773 msg/sec tbb::spin_mutex, 8,s: 4,243,734 msg/sec tbb::spin_mutex, 8,i: 4,186,729 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,250,233 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,389,854 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,079,967 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,057,315 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,529,769 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,720,201 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,100,045 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,378,317 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,735,283 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,787,718 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,874,467 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,018,425 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,791,352 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,102,709 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,660,666 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,305,524 msg/sec xenium::michael_scott_queue, 1,s: 9,541,970 msg/sec xenium::michael_scott_queue, 1,i: 9,483,870 msg/sec xenium::michael_scott_queue, 2,s: 8,497,821 msg/sec xenium::michael_scott_queue, 2,i: 8,592,313 msg/sec xenium::michael_scott_queue, 3,s: 7,244,581 msg/sec xenium::michael_scott_queue, 3,i: 7,612,192 msg/sec xenium::michael_scott_queue, 4,s: 6,257,216 msg/sec xenium::michael_scott_queue, 4,i: 6,353,555 msg/sec xenium::michael_scott_queue, 5,s: 6,316,973 msg/sec xenium::michael_scott_queue, 5,i: 6,670,768 msg/sec xenium::michael_scott_queue, 6,s: 6,495,036 msg/sec xenium::michael_scott_queue, 6,i: 6,730,734 msg/sec xenium::michael_scott_queue, 7,s: 6,323,697 msg/sec xenium::michael_scott_queue, 7,i: 6,478,077 msg/sec xenium::michael_scott_queue, 8,s: 6,002,029 msg/sec xenium::michael_scott_queue, 8,i: 6,089,114 msg/sec xenium::ramalhete_queue, 1,s: 32,004,536 msg/sec xenium::ramalhete_queue, 1,i: 32,152,207 msg/sec xenium::ramalhete_queue, 2,s: 23,551,559 msg/sec xenium::ramalhete_queue, 2,i: 23,394,723 msg/sec xenium::ramalhete_queue, 3,s: 29,118,751 msg/sec xenium::ramalhete_queue, 3,i: 28,497,034 msg/sec xenium::ramalhete_queue, 4,s: 33,849,585 msg/sec xenium::ramalhete_queue, 4,i: 33,492,480 msg/sec xenium::ramalhete_queue, 5,s: 31,960,900 msg/sec xenium::ramalhete_queue, 5,i: 36,280,448 msg/sec xenium::ramalhete_queue, 6,s: 34,093,362 msg/sec xenium::ramalhete_queue, 6,i: 38,340,189 msg/sec xenium::ramalhete_queue, 7,s: 34,734,954 msg/sec xenium::ramalhete_queue, 7,i: 40,774,868 msg/sec xenium::ramalhete_queue, 8,s: 35,218,135 msg/sec xenium::ramalhete_queue, 8,i: 44,101,705 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,827,707 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,815,668 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,013,454 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,631,131 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,856,731 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,713,571 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,664,276 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,162,648 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,302,279 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,359,829 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,060,031 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,243,056 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,279,215 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,927,438 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,645 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,338,013 msg/sec AtomicQueue, 1,s: 57,547,533 msg/sec AtomicQueue, 1,i: 56,606,057 msg/sec AtomicQueue, 2,s: 12,245,943 msg/sec AtomicQueue, 2,i: 11,748,793 msg/sec AtomicQueue, 3,s: 10,762,318 msg/sec AtomicQueue, 3,i: 9,942,223 msg/sec AtomicQueue, 4,s: 8,216,506 msg/sec AtomicQueue, 4,i: 8,198,306 msg/sec AtomicQueue, 5,s: 8,016,951 msg/sec AtomicQueue, 5,i: 8,051,610 msg/sec AtomicQueue, 6,s: 7,793,471 msg/sec AtomicQueue, 6,i: 7,621,622 msg/sec AtomicQueue, 7,s: 7,058,549 msg/sec AtomicQueue, 7,i: 7,970,234 msg/sec AtomicQueue, 8,s: 6,334,877 msg/sec AtomicQueue, 8,i: 7,454,532 msg/sec AtomicQueueB, 1,s: 168,341,049 msg/sec AtomicQueueB, 1,i: 43,003,037 msg/sec AtomicQueueB, 2,s: 11,960,785 msg/sec AtomicQueueB, 2,i: 11,477,088 msg/sec AtomicQueueB, 3,s: 10,937,130 msg/sec AtomicQueueB, 3,i: 10,175,712 msg/sec AtomicQueueB, 4,s: 8,057,064 msg/sec AtomicQueueB, 4,i: 8,044,731 msg/sec AtomicQueueB, 5,s: 7,644,232 msg/sec AtomicQueueB, 5,i: 7,883,315 msg/sec AtomicQueueB, 6,s: 7,371,355 msg/sec AtomicQueueB, 6,i: 7,597,655 msg/sec AtomicQueueB, 7,s: 6,847,337 msg/sec AtomicQueueB, 7,i: 7,758,912 msg/sec AtomicQueueB, 8,s: 6,210,249 msg/sec AtomicQueueB, 8,i: 7,159,147 msg/sec OptimistAtomicQueue, 1,s: 745,094,021 msg/sec OptimistAtomicQueue, 1,i: 515,632,827 msg/sec OptimistAtomicQueue, 2,s: 32,653,721 msg/sec OptimistAtomicQueue, 2,i: 32,729,036 msg/sec OptimistAtomicQueue, 3,s: 36,617,446 msg/sec OptimistAtomicQueue, 3,i: 37,390,842 msg/sec OptimistAtomicQueue, 4,s: 39,308,776 msg/sec OptimistAtomicQueue, 4,i: 39,355,087 msg/sec OptimistAtomicQueue, 5,s: 41,530,709 msg/sec OptimistAtomicQueue, 5,i: 46,349,394 msg/sec OptimistAtomicQueue, 6,s: 42,595,492 msg/sec OptimistAtomicQueue, 6,i: 49,854,234 msg/sec OptimistAtomicQueue, 7,s: 44,309,211 msg/sec OptimistAtomicQueue, 7,i: 51,972,291 msg/sec OptimistAtomicQueue, 8,s: 46,383,179 msg/sec OptimistAtomicQueue, 8,i: 49,260,745 msg/sec OptimistAtomicQueueB, 1,s: 104,789,245 msg/sec OptimistAtomicQueueB, 1,i: 76,468,169 msg/sec OptimistAtomicQueueB, 2,s: 32,123,169 msg/sec OptimistAtomicQueueB, 2,i: 32,394,946 msg/sec OptimistAtomicQueueB, 3,s: 36,327,772 msg/sec OptimistAtomicQueueB, 3,i: 36,927,508 msg/sec OptimistAtomicQueueB, 4,s: 38,626,551 msg/sec OptimistAtomicQueueB, 4,i: 38,619,813 msg/sec OptimistAtomicQueueB, 5,s: 40,111,179 msg/sec OptimistAtomicQueueB, 5,i: 46,163,158 msg/sec OptimistAtomicQueueB, 6,s: 41,382,718 msg/sec OptimistAtomicQueueB, 6,i: 49,114,891 msg/sec OptimistAtomicQueueB, 7,s: 41,425,035 msg/sec OptimistAtomicQueueB, 7,i: 50,843,979 msg/sec OptimistAtomicQueueB, 8,s: 44,460,166 msg/sec OptimistAtomicQueueB, 8,i: 47,636,845 msg/sec AtomicQueue2, 1,s: 23,002,460 msg/sec AtomicQueue2, 1,i: 22,882,967 msg/sec AtomicQueue2, 2,s: 11,815,147 msg/sec AtomicQueue2, 2,i: 11,374,891 msg/sec AtomicQueue2, 3,s: 9,805,494 msg/sec AtomicQueue2, 3,i: 9,402,765 msg/sec AtomicQueue2, 4,s: 8,049,807 msg/sec AtomicQueue2, 4,i: 8,045,511 msg/sec AtomicQueue2, 5,s: 7,966,514 msg/sec AtomicQueue2, 5,i: 8,096,269 msg/sec AtomicQueue2, 6,s: 7,649,534 msg/sec AtomicQueue2, 6,i: 7,543,980 msg/sec AtomicQueue2, 7,s: 7,121,013 msg/sec AtomicQueue2, 7,i: 7,873,515 msg/sec AtomicQueue2, 8,s: 6,386,966 msg/sec AtomicQueue2, 8,i: 7,349,798 msg/sec AtomicQueueB2, 1,s: 36,206,325 msg/sec AtomicQueueB2, 1,i: 36,447,561 msg/sec AtomicQueueB2, 2,s: 11,362,764 msg/sec AtomicQueueB2, 2,i: 11,092,387 msg/sec AtomicQueueB2, 3,s: 9,707,833 msg/sec AtomicQueueB2, 3,i: 9,548,680 msg/sec AtomicQueueB2, 4,s: 7,902,659 msg/sec AtomicQueueB2, 4,i: 7,906,345 msg/sec AtomicQueueB2, 5,s: 7,532,478 msg/sec AtomicQueueB2, 5,i: 7,780,092 msg/sec AtomicQueueB2, 6,s: 7,296,630 msg/sec AtomicQueueB2, 6,i: 7,474,683 msg/sec AtomicQueueB2, 7,s: 6,873,594 msg/sec AtomicQueueB2, 7,i: 7,703,485 msg/sec AtomicQueueB2, 8,s: 6,315,586 msg/sec AtomicQueueB2, 8,i: 7,049,889 msg/sec OptimistAtomicQueue2, 1,s: 436,063,497 msg/sec OptimistAtomicQueue2, 1,i: 438,381,001 msg/sec OptimistAtomicQueue2, 2,s: 24,255,348 msg/sec OptimistAtomicQueue2, 2,i: 24,015,096 msg/sec OptimistAtomicQueue2, 3,s: 30,320,480 msg/sec OptimistAtomicQueue2, 3,i: 30,124,321 msg/sec OptimistAtomicQueue2, 4,s: 33,811,491 msg/sec OptimistAtomicQueue2, 4,i: 33,142,541 msg/sec OptimistAtomicQueue2, 5,s: 36,973,879 msg/sec OptimistAtomicQueue2, 5,i: 39,954,720 msg/sec OptimistAtomicQueue2, 6,s: 40,220,982 msg/sec OptimistAtomicQueue2, 6,i: 49,128,435 msg/sec OptimistAtomicQueue2, 7,s: 42,650,013 msg/sec OptimistAtomicQueue2, 7,i: 51,565,247 msg/sec OptimistAtomicQueue2, 8,s: 43,932,937 msg/sec OptimistAtomicQueue2, 8,i: 48,089,901 msg/sec OptimistAtomicQueueB2, 1,s: 77,807,590 msg/sec OptimistAtomicQueueB2, 1,i: 33,929,794 msg/sec OptimistAtomicQueueB2, 2,s: 27,163,103 msg/sec OptimistAtomicQueueB2, 2,i: 24,886,049 msg/sec OptimistAtomicQueueB2, 3,s: 29,722,774 msg/sec OptimistAtomicQueueB2, 3,i: 29,110,515 msg/sec OptimistAtomicQueueB2, 4,s: 33,286,346 msg/sec OptimistAtomicQueueB2, 4,i: 32,369,746 msg/sec OptimistAtomicQueueB2, 5,s: 34,574,022 msg/sec OptimistAtomicQueueB2, 5,i: 39,188,886 msg/sec OptimistAtomicQueueB2, 6,s: 37,370,792 msg/sec OptimistAtomicQueueB2, 6,i: 42,571,616 msg/sec OptimistAtomicQueueB2, 7,s: 40,219,983 msg/sec OptimistAtomicQueueB2, 7,i: 45,204,858 msg/sec OptimistAtomicQueueB2, 8,s: 42,473,990 msg/sec OptimistAtomicQueueB2, 8,i: 45,251,882 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000139 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000294 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [201] 216m:7s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,748,927 msg/sec boost::lockfree::spsc_queue, 1,i: 71,090,995 msg/sec boost::lockfree::queue, 1,s: 6,948,656 msg/sec boost::lockfree::queue, 1,i: 6,869,912 msg/sec boost::lockfree::queue, 2,s: 7,656,213 msg/sec boost::lockfree::queue, 2,i: 7,516,675 msg/sec boost::lockfree::queue, 3,s: 7,354,213 msg/sec boost::lockfree::queue, 3,i: 7,501,169 msg/sec boost::lockfree::queue, 4,s: 6,420,204 msg/sec boost::lockfree::queue, 4,i: 6,767,435 msg/sec boost::lockfree::queue, 5,s: 6,424,747 msg/sec boost::lockfree::queue, 5,i: 6,530,705 msg/sec boost::lockfree::queue, 6,s: 6,024,880 msg/sec boost::lockfree::queue, 6,i: 6,123,721 msg/sec boost::lockfree::queue, 7,s: 5,836,778 msg/sec boost::lockfree::queue, 7,i: 5,977,871 msg/sec boost::lockfree::queue, 8,s: 5,412,262 msg/sec boost::lockfree::queue, 8,i: 5,540,208 msg/sec moodycamel::ReaderWriterQueue, 1,s: 105,919,726 msg/sec moodycamel::ReaderWriterQueue, 1,i: 112,677,643 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,075,595 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,383,230 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,752,002 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,132,946 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,254,665 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,242,721 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,210,758 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,172,358 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,330,363 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,599,654 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,450,026 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,182,276 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,111,226 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,253,686 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,299,800 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,464,909 msg/sec pthread_spinlock, 1,s: 29,081,693 msg/sec pthread_spinlock, 1,i: 25,404,292 msg/sec pthread_spinlock, 2,s: 15,683,248 msg/sec pthread_spinlock, 2,i: 17,013,401 msg/sec pthread_spinlock, 3,s: 8,334,631 msg/sec pthread_spinlock, 3,i: 12,005,892 msg/sec pthread_spinlock, 4,s: 6,491,016 msg/sec pthread_spinlock, 4,i: 9,017,245 msg/sec pthread_spinlock, 5,s: 8,705,096 msg/sec pthread_spinlock, 5,i: 9,039,670 msg/sec pthread_spinlock, 6,s: 8,296,073 msg/sec pthread_spinlock, 6,i: 8,473,779 msg/sec pthread_spinlock, 7,s: 7,724,175 msg/sec pthread_spinlock, 7,i: 7,922,585 msg/sec pthread_spinlock, 8,s: 6,824,537 msg/sec pthread_spinlock, 8,i: 7,457,266 msg/sec std::mutex, 1,s: 7,002,090 msg/sec std::mutex, 1,i: 6,512,039 msg/sec std::mutex, 2,s: 5,464,579 msg/sec std::mutex, 2,i: 4,921,289 msg/sec std::mutex, 3,s: 4,731,307 msg/sec std::mutex, 3,i: 5,062,698 msg/sec std::mutex, 4,s: 6,106,914 msg/sec std::mutex, 4,i: 5,824,107 msg/sec std::mutex, 5,s: 6,117,266 msg/sec std::mutex, 5,i: 6,249,978 msg/sec std::mutex, 6,s: 5,988,954 msg/sec std::mutex, 6,i: 5,947,001 msg/sec std::mutex, 7,s: 5,802,471 msg/sec std::mutex, 7,i: 5,888,701 msg/sec std::mutex, 8,s: 5,713,171 msg/sec std::mutex, 8,i: 5,673,152 msg/sec tbb::spin_mutex, 1,s: 38,105,763 msg/sec tbb::spin_mutex, 1,i: 33,070,258 msg/sec tbb::spin_mutex, 2,s: 21,156,376 msg/sec tbb::spin_mutex, 2,i: 18,679,791 msg/sec tbb::spin_mutex, 3,s: 8,084,954 msg/sec tbb::spin_mutex, 3,i: 11,186,807 msg/sec tbb::spin_mutex, 4,s: 3,089,720 msg/sec tbb::spin_mutex, 4,i: 6,297,597 msg/sec tbb::spin_mutex, 5,s: 5,535,274 msg/sec tbb::spin_mutex, 5,i: 5,806,448 msg/sec tbb::spin_mutex, 6,s: 5,323,847 msg/sec tbb::spin_mutex, 6,i: 4,364,049 msg/sec tbb::spin_mutex, 7,s: 4,474,023 msg/sec tbb::spin_mutex, 7,i: 4,306,256 msg/sec tbb::spin_mutex, 8,s: 4,247,390 msg/sec tbb::spin_mutex, 8,i: 4,063,496 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,460,616 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,833,404 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,582,229 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,973,470 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,522,332 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,359,074 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,350,651 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,241,368 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,809,158 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,712,221 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,763,668 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,864,226 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,907,894 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,062,721 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,858,687 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,100,602 msg/sec xenium::michael_scott_queue, 1,s: 9,395,321 msg/sec xenium::michael_scott_queue, 1,i: 9,431,491 msg/sec xenium::michael_scott_queue, 2,s: 8,459,530 msg/sec xenium::michael_scott_queue, 2,i: 8,541,798 msg/sec xenium::michael_scott_queue, 3,s: 7,127,485 msg/sec xenium::michael_scott_queue, 3,i: 7,541,437 msg/sec xenium::michael_scott_queue, 4,s: 6,235,529 msg/sec xenium::michael_scott_queue, 4,i: 6,368,743 msg/sec xenium::michael_scott_queue, 5,s: 6,307,036 msg/sec xenium::michael_scott_queue, 5,i: 6,635,114 msg/sec xenium::michael_scott_queue, 6,s: 6,535,342 msg/sec xenium::michael_scott_queue, 6,i: 6,740,085 msg/sec xenium::michael_scott_queue, 7,s: 6,280,266 msg/sec xenium::michael_scott_queue, 7,i: 6,513,926 msg/sec xenium::michael_scott_queue, 8,s: 6,014,358 msg/sec xenium::michael_scott_queue, 8,i: 6,075,739 msg/sec xenium::ramalhete_queue, 1,s: 31,875,212 msg/sec xenium::ramalhete_queue, 1,i: 31,790,424 msg/sec xenium::ramalhete_queue, 2,s: 23,634,995 msg/sec xenium::ramalhete_queue, 2,i: 23,407,142 msg/sec xenium::ramalhete_queue, 3,s: 29,346,798 msg/sec xenium::ramalhete_queue, 3,i: 28,536,266 msg/sec xenium::ramalhete_queue, 4,s: 34,016,226 msg/sec xenium::ramalhete_queue, 4,i: 33,500,021 msg/sec xenium::ramalhete_queue, 5,s: 32,175,738 msg/sec xenium::ramalhete_queue, 5,i: 38,353,218 msg/sec xenium::ramalhete_queue, 6,s: 34,087,311 msg/sec xenium::ramalhete_queue, 6,i: 39,703,876 msg/sec xenium::ramalhete_queue, 7,s: 35,181,329 msg/sec xenium::ramalhete_queue, 7,i: 41,131,683 msg/sec xenium::ramalhete_queue, 8,s: 35,406,256 msg/sec xenium::ramalhete_queue, 8,i: 43,668,872 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,701,673 msg/sec xenium::vyukov_bounded_queue, 1,i: 97,368,914 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,906,148 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,971,900 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,702,947 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,034,365 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,478,464 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,161,380 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,933,403 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,255,206 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,884,581 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,258,835 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,329,030 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,919,140 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,363,343 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,524,501 msg/sec AtomicQueue, 1,s: 62,049,724 msg/sec AtomicQueue, 1,i: 56,876,014 msg/sec AtomicQueue, 2,s: 12,285,970 msg/sec AtomicQueue, 2,i: 11,724,928 msg/sec AtomicQueue, 3,s: 10,808,747 msg/sec AtomicQueue, 3,i: 9,970,822 msg/sec AtomicQueue, 4,s: 8,194,510 msg/sec AtomicQueue, 4,i: 8,192,700 msg/sec AtomicQueue, 5,s: 8,029,355 msg/sec AtomicQueue, 5,i: 8,089,068 msg/sec AtomicQueue, 6,s: 7,893,420 msg/sec AtomicQueue, 6,i: 7,621,692 msg/sec AtomicQueue, 7,s: 7,112,715 msg/sec AtomicQueue, 7,i: 7,977,004 msg/sec AtomicQueue, 8,s: 6,360,218 msg/sec AtomicQueue, 8,i: 7,449,964 msg/sec AtomicQueueB, 1,s: 43,834,111 msg/sec AtomicQueueB, 1,i: 43,078,881 msg/sec AtomicQueueB, 2,s: 11,775,469 msg/sec AtomicQueueB, 2,i: 11,495,529 msg/sec AtomicQueueB, 3,s: 11,076,691 msg/sec AtomicQueueB, 3,i: 10,186,739 msg/sec AtomicQueueB, 4,s: 8,024,555 msg/sec AtomicQueueB, 4,i: 8,102,523 msg/sec AtomicQueueB, 5,s: 7,490,267 msg/sec AtomicQueueB, 5,i: 7,773,389 msg/sec AtomicQueueB, 6,s: 7,387,829 msg/sec AtomicQueueB, 6,i: 7,500,661 msg/sec AtomicQueueB, 7,s: 6,886,822 msg/sec AtomicQueueB, 7,i: 7,727,979 msg/sec AtomicQueueB, 8,s: 6,251,962 msg/sec AtomicQueueB, 8,i: 7,144,339 msg/sec OptimistAtomicQueue, 1,s: 753,789,961 msg/sec OptimistAtomicQueue, 1,i: 572,601,422 msg/sec OptimistAtomicQueue, 2,s: 32,204,601 msg/sec OptimistAtomicQueue, 2,i: 32,725,223 msg/sec OptimistAtomicQueue, 3,s: 36,694,594 msg/sec OptimistAtomicQueue, 3,i: 37,339,492 msg/sec OptimistAtomicQueue, 4,s: 39,263,437 msg/sec OptimistAtomicQueue, 4,i: 39,399,782 msg/sec OptimistAtomicQueue, 5,s: 41,734,717 msg/sec OptimistAtomicQueue, 5,i: 46,298,223 msg/sec OptimistAtomicQueue, 6,s: 42,117,555 msg/sec OptimistAtomicQueue, 6,i: 50,402,956 msg/sec OptimistAtomicQueue, 7,s: 44,010,371 msg/sec OptimistAtomicQueue, 7,i: 53,041,848 msg/sec OptimistAtomicQueue, 8,s: 46,254,853 msg/sec OptimistAtomicQueue, 8,i: 48,919,857 msg/sec OptimistAtomicQueueB, 1,s: 77,955,648 msg/sec OptimistAtomicQueueB, 1,i: 77,822,772 msg/sec OptimistAtomicQueueB, 2,s: 32,227,038 msg/sec OptimistAtomicQueueB, 2,i: 32,251,511 msg/sec OptimistAtomicQueueB, 3,s: 36,304,145 msg/sec OptimistAtomicQueueB, 3,i: 36,920,130 msg/sec OptimistAtomicQueueB, 4,s: 38,647,486 msg/sec OptimistAtomicQueueB, 4,i: 38,714,166 msg/sec OptimistAtomicQueueB, 5,s: 41,053,285 msg/sec OptimistAtomicQueueB, 5,i: 45,628,095 msg/sec OptimistAtomicQueueB, 6,s: 40,999,546 msg/sec OptimistAtomicQueueB, 6,i: 48,629,725 msg/sec OptimistAtomicQueueB, 7,s: 41,626,340 msg/sec OptimistAtomicQueueB, 7,i: 48,051,425 msg/sec OptimistAtomicQueueB, 8,s: 44,158,803 msg/sec OptimistAtomicQueueB, 8,i: 48,460,901 msg/sec AtomicQueue2, 1,s: 22,950,116 msg/sec AtomicQueue2, 1,i: 22,958,504 msg/sec AtomicQueue2, 2,s: 11,834,686 msg/sec AtomicQueue2, 2,i: 11,579,130 msg/sec AtomicQueue2, 3,s: 9,774,052 msg/sec AtomicQueue2, 3,i: 9,354,721 msg/sec AtomicQueue2, 4,s: 8,049,499 msg/sec AtomicQueue2, 4,i: 8,065,055 msg/sec AtomicQueue2, 5,s: 7,941,449 msg/sec AtomicQueue2, 5,i: 8,009,643 msg/sec AtomicQueue2, 6,s: 7,765,924 msg/sec AtomicQueue2, 6,i: 7,531,066 msg/sec AtomicQueue2, 7,s: 7,140,826 msg/sec AtomicQueue2, 7,i: 7,881,125 msg/sec AtomicQueue2, 8,s: 6,402,027 msg/sec AtomicQueue2, 8,i: 7,362,240 msg/sec AtomicQueueB2, 1,s: 36,361,570 msg/sec AtomicQueueB2, 1,i: 32,630,716 msg/sec AtomicQueueB2, 2,s: 11,429,422 msg/sec AtomicQueueB2, 2,i: 11,053,970 msg/sec AtomicQueueB2, 3,s: 9,723,598 msg/sec AtomicQueueB2, 3,i: 9,560,736 msg/sec AtomicQueueB2, 4,s: 7,894,626 msg/sec AtomicQueueB2, 4,i: 7,877,432 msg/sec AtomicQueueB2, 5,s: 7,452,362 msg/sec AtomicQueueB2, 5,i: 7,760,419 msg/sec AtomicQueueB2, 6,s: 7,192,314 msg/sec AtomicQueueB2, 6,i: 7,439,443 msg/sec AtomicQueueB2, 7,s: 6,914,439 msg/sec AtomicQueueB2, 7,i: 7,535,589 msg/sec AtomicQueueB2, 8,s: 6,296,127 msg/sec AtomicQueueB2, 8,i: 7,091,297 msg/sec OptimistAtomicQueue2, 1,s: 491,232,000 msg/sec OptimistAtomicQueue2, 1,i: 29,322,947 msg/sec OptimistAtomicQueue2, 2,s: 29,368,048 msg/sec OptimistAtomicQueue2, 2,i: 23,917,202 msg/sec OptimistAtomicQueue2, 3,s: 30,527,819 msg/sec OptimistAtomicQueue2, 3,i: 30,125,873 msg/sec OptimistAtomicQueue2, 4,s: 33,131,798 msg/sec OptimistAtomicQueue2, 4,i: 33,368,512 msg/sec OptimistAtomicQueue2, 5,s: 37,228,945 msg/sec OptimistAtomicQueue2, 5,i: 41,409,134 msg/sec OptimistAtomicQueue2, 6,s: 40,417,799 msg/sec OptimistAtomicQueue2, 6,i: 49,221,547 msg/sec OptimistAtomicQueue2, 7,s: 42,690,759 msg/sec OptimistAtomicQueue2, 7,i: 48,132,530 msg/sec OptimistAtomicQueue2, 8,s: 44,326,491 msg/sec OptimistAtomicQueue2, 8,i: 49,104,140 msg/sec OptimistAtomicQueueB2, 1,s: 77,110,963 msg/sec OptimistAtomicQueueB2, 1,i: 33,876,602 msg/sec OptimistAtomicQueueB2, 2,s: 26,871,792 msg/sec OptimistAtomicQueueB2, 2,i: 24,941,982 msg/sec OptimistAtomicQueueB2, 3,s: 29,734,190 msg/sec OptimistAtomicQueueB2, 3,i: 29,070,654 msg/sec OptimistAtomicQueueB2, 4,s: 32,925,805 msg/sec OptimistAtomicQueueB2, 4,i: 32,432,088 msg/sec OptimistAtomicQueueB2, 5,s: 34,392,662 msg/sec OptimistAtomicQueueB2, 5,i: 39,275,075 msg/sec OptimistAtomicQueueB2, 6,s: 37,459,302 msg/sec OptimistAtomicQueueB2, 6,i: 42,495,421 msg/sec OptimistAtomicQueueB2, 7,s: 40,014,505 msg/sec OptimistAtomicQueueB2, 7,i: 43,126,325 msg/sec OptimistAtomicQueueB2, 8,s: 42,098,326 msg/sec OptimistAtomicQueueB2, 8,i: 45,804,340 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000326 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000138 sec/round-trip moodycamel::ConcurrentQueue: 0.000000218 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000304 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000140 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [202] 214m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,529,726 msg/sec boost::lockfree::spsc_queue, 1,i: 73,851,011 msg/sec boost::lockfree::queue, 1,s: 6,994,435 msg/sec boost::lockfree::queue, 1,i: 6,830,321 msg/sec boost::lockfree::queue, 2,s: 7,717,156 msg/sec boost::lockfree::queue, 2,i: 7,462,188 msg/sec boost::lockfree::queue, 3,s: 7,363,262 msg/sec boost::lockfree::queue, 3,i: 7,571,107 msg/sec boost::lockfree::queue, 4,s: 6,425,619 msg/sec boost::lockfree::queue, 4,i: 6,762,105 msg/sec boost::lockfree::queue, 5,s: 6,410,932 msg/sec boost::lockfree::queue, 5,i: 6,485,344 msg/sec boost::lockfree::queue, 6,s: 6,000,821 msg/sec boost::lockfree::queue, 6,i: 6,111,507 msg/sec boost::lockfree::queue, 7,s: 5,826,286 msg/sec boost::lockfree::queue, 7,i: 6,059,028 msg/sec boost::lockfree::queue, 8,s: 5,357,376 msg/sec boost::lockfree::queue, 8,i: 5,609,627 msg/sec moodycamel::ReaderWriterQueue, 1,s: 139,630,345 msg/sec moodycamel::ReaderWriterQueue, 1,i: 68,657,698 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,143,679 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,940,212 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,744,967 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,875,266 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,662,454 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,406,710 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,893,948 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,019,628 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,434,404 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,994,368 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,586,739 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,555,889 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,084,221 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,392,865 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,324,419 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,797,547 msg/sec pthread_spinlock, 1,s: 28,848,651 msg/sec pthread_spinlock, 1,i: 25,328,334 msg/sec pthread_spinlock, 2,s: 15,541,441 msg/sec pthread_spinlock, 2,i: 16,840,652 msg/sec pthread_spinlock, 3,s: 8,332,781 msg/sec pthread_spinlock, 3,i: 12,004,971 msg/sec pthread_spinlock, 4,s: 6,551,263 msg/sec pthread_spinlock, 4,i: 8,981,008 msg/sec pthread_spinlock, 5,s: 8,718,351 msg/sec pthread_spinlock, 5,i: 8,821,441 msg/sec pthread_spinlock, 6,s: 8,549,810 msg/sec pthread_spinlock, 6,i: 8,500,006 msg/sec pthread_spinlock, 7,s: 7,928,937 msg/sec pthread_spinlock, 7,i: 7,640,455 msg/sec pthread_spinlock, 8,s: 6,672,633 msg/sec pthread_spinlock, 8,i: 7,241,800 msg/sec std::mutex, 1,s: 7,217,256 msg/sec std::mutex, 1,i: 7,794,951 msg/sec std::mutex, 2,s: 5,914,009 msg/sec std::mutex, 2,i: 6,129,918 msg/sec std::mutex, 3,s: 6,143,751 msg/sec std::mutex, 3,i: 6,217,169 msg/sec std::mutex, 4,s: 6,294,183 msg/sec std::mutex, 4,i: 6,320,258 msg/sec std::mutex, 5,s: 6,137,470 msg/sec std::mutex, 5,i: 6,144,298 msg/sec std::mutex, 6,s: 5,719,126 msg/sec std::mutex, 6,i: 6,012,689 msg/sec std::mutex, 7,s: 5,935,690 msg/sec std::mutex, 7,i: 5,913,291 msg/sec std::mutex, 8,s: 5,701,282 msg/sec std::mutex, 8,i: 5,776,547 msg/sec tbb::spin_mutex, 1,s: 37,774,754 msg/sec tbb::spin_mutex, 1,i: 32,942,684 msg/sec tbb::spin_mutex, 2,s: 21,024,401 msg/sec tbb::spin_mutex, 2,i: 18,226,766 msg/sec tbb::spin_mutex, 3,s: 8,775,385 msg/sec tbb::spin_mutex, 3,i: 10,278,356 msg/sec tbb::spin_mutex, 4,s: 3,135,546 msg/sec tbb::spin_mutex, 4,i: 6,380,197 msg/sec tbb::spin_mutex, 5,s: 5,495,124 msg/sec tbb::spin_mutex, 5,i: 5,629,324 msg/sec tbb::spin_mutex, 6,s: 5,356,618 msg/sec tbb::spin_mutex, 6,i: 4,310,431 msg/sec tbb::spin_mutex, 7,s: 4,833,570 msg/sec tbb::spin_mutex, 7,i: 4,361,816 msg/sec tbb::spin_mutex, 8,s: 4,234,893 msg/sec tbb::spin_mutex, 8,i: 4,063,430 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,046,095 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,346,867 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,788,244 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,948,055 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,579,521 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,827,676 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,977,320 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,319,404 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,493,523 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,654,831 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,896,797 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,707,002 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,888,883 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,133,750 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,903,604 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,430,413 msg/sec xenium::michael_scott_queue, 1,s: 10,089,270 msg/sec xenium::michael_scott_queue, 1,i: 9,873,784 msg/sec xenium::michael_scott_queue, 2,s: 8,685,012 msg/sec xenium::michael_scott_queue, 2,i: 8,405,222 msg/sec xenium::michael_scott_queue, 3,s: 7,119,204 msg/sec xenium::michael_scott_queue, 3,i: 7,547,960 msg/sec xenium::michael_scott_queue, 4,s: 6,327,779 msg/sec xenium::michael_scott_queue, 4,i: 6,300,269 msg/sec xenium::michael_scott_queue, 5,s: 6,331,160 msg/sec xenium::michael_scott_queue, 5,i: 6,655,126 msg/sec xenium::michael_scott_queue, 6,s: 6,429,767 msg/sec xenium::michael_scott_queue, 6,i: 6,898,282 msg/sec xenium::michael_scott_queue, 7,s: 6,259,459 msg/sec xenium::michael_scott_queue, 7,i: 6,506,667 msg/sec xenium::michael_scott_queue, 8,s: 6,015,108 msg/sec xenium::michael_scott_queue, 8,i: 6,195,092 msg/sec xenium::ramalhete_queue, 1,s: 31,818,523 msg/sec xenium::ramalhete_queue, 1,i: 32,245,346 msg/sec xenium::ramalhete_queue, 2,s: 23,685,552 msg/sec xenium::ramalhete_queue, 2,i: 23,387,053 msg/sec xenium::ramalhete_queue, 3,s: 29,122,825 msg/sec xenium::ramalhete_queue, 3,i: 28,380,134 msg/sec xenium::ramalhete_queue, 4,s: 33,783,777 msg/sec xenium::ramalhete_queue, 4,i: 33,491,523 msg/sec xenium::ramalhete_queue, 5,s: 32,219,091 msg/sec xenium::ramalhete_queue, 5,i: 38,495,567 msg/sec xenium::ramalhete_queue, 6,s: 34,115,123 msg/sec xenium::ramalhete_queue, 6,i: 39,791,734 msg/sec xenium::ramalhete_queue, 7,s: 35,002,594 msg/sec xenium::ramalhete_queue, 7,i: 41,065,358 msg/sec xenium::ramalhete_queue, 8,s: 35,638,729 msg/sec xenium::ramalhete_queue, 8,i: 43,675,231 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,454,368 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,965,258 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,097,733 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,136,823 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,656,377 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,490,928 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,737,990 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,287,431 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,011,009 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,395,181 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,901,068 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,229,196 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,144,833 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,097,364 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,420,816 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,261,624 msg/sec AtomicQueue, 1,s: 63,609,131 msg/sec AtomicQueue, 1,i: 56,992,872 msg/sec AtomicQueue, 2,s: 12,377,962 msg/sec AtomicQueue, 2,i: 11,741,905 msg/sec AtomicQueue, 3,s: 10,804,385 msg/sec AtomicQueue, 3,i: 9,970,040 msg/sec AtomicQueue, 4,s: 8,180,255 msg/sec AtomicQueue, 4,i: 8,180,247 msg/sec AtomicQueue, 5,s: 8,016,514 msg/sec AtomicQueue, 5,i: 8,064,805 msg/sec AtomicQueue, 6,s: 7,778,734 msg/sec AtomicQueue, 6,i: 7,593,346 msg/sec AtomicQueue, 7,s: 7,094,461 msg/sec AtomicQueue, 7,i: 7,982,518 msg/sec AtomicQueue, 8,s: 6,325,990 msg/sec AtomicQueue, 8,i: 7,446,158 msg/sec AtomicQueueB, 1,s: 64,199,347 msg/sec AtomicQueueB, 1,i: 42,983,993 msg/sec AtomicQueueB, 2,s: 11,780,729 msg/sec AtomicQueueB, 2,i: 11,490,223 msg/sec AtomicQueueB, 3,s: 11,098,616 msg/sec AtomicQueueB, 3,i: 10,256,416 msg/sec AtomicQueueB, 4,s: 8,056,789 msg/sec AtomicQueueB, 4,i: 8,054,972 msg/sec AtomicQueueB, 5,s: 7,666,944 msg/sec AtomicQueueB, 5,i: 7,779,915 msg/sec AtomicQueueB, 6,s: 7,432,843 msg/sec AtomicQueueB, 6,i: 7,497,461 msg/sec AtomicQueueB, 7,s: 6,963,302 msg/sec AtomicQueueB, 7,i: 7,741,133 msg/sec AtomicQueueB, 8,s: 6,229,790 msg/sec AtomicQueueB, 8,i: 7,153,281 msg/sec OptimistAtomicQueue, 1,s: 755,962,893 msg/sec OptimistAtomicQueue, 1,i: 582,392,950 msg/sec OptimistAtomicQueue, 2,s: 32,667,395 msg/sec OptimistAtomicQueue, 2,i: 32,621,796 msg/sec OptimistAtomicQueue, 3,s: 36,678,803 msg/sec OptimistAtomicQueue, 3,i: 37,352,943 msg/sec OptimistAtomicQueue, 4,s: 39,349,713 msg/sec OptimistAtomicQueue, 4,i: 39,402,686 msg/sec OptimistAtomicQueue, 5,s: 42,551,120 msg/sec OptimistAtomicQueue, 5,i: 46,388,474 msg/sec OptimistAtomicQueue, 6,s: 42,586,817 msg/sec OptimistAtomicQueue, 6,i: 50,219,997 msg/sec OptimistAtomicQueue, 7,s: 45,140,012 msg/sec OptimistAtomicQueue, 7,i: 51,987,789 msg/sec OptimistAtomicQueue, 8,s: 46,335,002 msg/sec OptimistAtomicQueue, 8,i: 49,371,776 msg/sec OptimistAtomicQueueB, 1,s: 93,345,440 msg/sec OptimistAtomicQueueB, 1,i: 76,531,466 msg/sec OptimistAtomicQueueB, 2,s: 32,096,890 msg/sec OptimistAtomicQueueB, 2,i: 32,232,849 msg/sec OptimistAtomicQueueB, 3,s: 36,188,014 msg/sec OptimistAtomicQueueB, 3,i: 37,000,566 msg/sec OptimistAtomicQueueB, 4,s: 38,689,913 msg/sec OptimistAtomicQueueB, 4,i: 38,504,549 msg/sec OptimistAtomicQueueB, 5,s: 39,137,628 msg/sec OptimistAtomicQueueB, 5,i: 47,246,108 msg/sec OptimistAtomicQueueB, 6,s: 41,026,225 msg/sec OptimistAtomicQueueB, 6,i: 49,021,081 msg/sec OptimistAtomicQueueB, 7,s: 42,533,224 msg/sec OptimistAtomicQueueB, 7,i: 50,855,073 msg/sec OptimistAtomicQueueB, 8,s: 44,361,119 msg/sec OptimistAtomicQueueB, 8,i: 48,652,787 msg/sec AtomicQueue2, 1,s: 22,848,857 msg/sec AtomicQueue2, 1,i: 22,871,930 msg/sec AtomicQueue2, 2,s: 11,810,675 msg/sec AtomicQueue2, 2,i: 11,421,521 msg/sec AtomicQueue2, 3,s: 9,429,560 msg/sec AtomicQueue2, 3,i: 9,501,322 msg/sec AtomicQueue2, 4,s: 8,103,179 msg/sec AtomicQueue2, 4,i: 8,038,450 msg/sec AtomicQueue2, 5,s: 7,896,747 msg/sec AtomicQueue2, 5,i: 7,956,461 msg/sec AtomicQueue2, 6,s: 7,731,468 msg/sec AtomicQueue2, 6,i: 7,527,941 msg/sec AtomicQueue2, 7,s: 7,129,935 msg/sec AtomicQueue2, 7,i: 7,895,896 msg/sec AtomicQueue2, 8,s: 6,382,375 msg/sec AtomicQueue2, 8,i: 7,336,827 msg/sec AtomicQueueB2, 1,s: 36,309,795 msg/sec AtomicQueueB2, 1,i: 32,618,986 msg/sec AtomicQueueB2, 2,s: 11,446,335 msg/sec AtomicQueueB2, 2,i: 11,129,701 msg/sec AtomicQueueB2, 3,s: 9,600,209 msg/sec AtomicQueueB2, 3,i: 9,594,541 msg/sec AtomicQueueB2, 4,s: 7,934,125 msg/sec AtomicQueueB2, 4,i: 7,898,614 msg/sec AtomicQueueB2, 5,s: 7,587,923 msg/sec AtomicQueueB2, 5,i: 7,750,608 msg/sec AtomicQueueB2, 6,s: 7,136,914 msg/sec AtomicQueueB2, 6,i: 7,446,257 msg/sec AtomicQueueB2, 7,s: 6,920,760 msg/sec AtomicQueueB2, 7,i: 7,722,120 msg/sec AtomicQueueB2, 8,s: 6,275,231 msg/sec AtomicQueueB2, 8,i: 6,939,665 msg/sec OptimistAtomicQueue2, 1,s: 171,863,001 msg/sec OptimistAtomicQueue2, 1,i: 30,045,658 msg/sec OptimistAtomicQueue2, 2,s: 27,523,676 msg/sec OptimistAtomicQueue2, 2,i: 25,089,483 msg/sec OptimistAtomicQueue2, 3,s: 31,132,614 msg/sec OptimistAtomicQueue2, 3,i: 29,537,889 msg/sec OptimistAtomicQueue2, 4,s: 33,218,026 msg/sec OptimistAtomicQueue2, 4,i: 33,102,996 msg/sec OptimistAtomicQueue2, 5,s: 36,982,989 msg/sec OptimistAtomicQueue2, 5,i: 40,489,695 msg/sec OptimistAtomicQueue2, 6,s: 40,139,478 msg/sec OptimistAtomicQueue2, 6,i: 49,268,409 msg/sec OptimistAtomicQueue2, 7,s: 42,840,736 msg/sec OptimistAtomicQueue2, 7,i: 51,472,878 msg/sec OptimistAtomicQueue2, 8,s: 43,943,093 msg/sec OptimistAtomicQueue2, 8,i: 48,528,421 msg/sec OptimistAtomicQueueB2, 1,s: 75,688,604 msg/sec OptimistAtomicQueueB2, 1,i: 33,856,043 msg/sec OptimistAtomicQueueB2, 2,s: 27,896,156 msg/sec OptimistAtomicQueueB2, 2,i: 23,210,239 msg/sec OptimistAtomicQueueB2, 3,s: 29,645,461 msg/sec OptimistAtomicQueueB2, 3,i: 29,670,194 msg/sec OptimistAtomicQueueB2, 4,s: 33,372,489 msg/sec OptimistAtomicQueueB2, 4,i: 32,033,415 msg/sec OptimistAtomicQueueB2, 5,s: 34,641,741 msg/sec OptimistAtomicQueueB2, 5,i: 39,238,212 msg/sec OptimistAtomicQueueB2, 6,s: 37,389,541 msg/sec OptimistAtomicQueueB2, 6,i: 42,463,727 msg/sec OptimistAtomicQueueB2, 7,s: 40,898,993 msg/sec OptimistAtomicQueueB2, 7,i: 45,423,867 msg/sec OptimistAtomicQueueB2, 8,s: 42,403,923 msg/sec OptimistAtomicQueueB2, 8,i: 45,758,758 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000289 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000293 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000361 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [203] 213m:28s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,889,273 msg/sec boost::lockfree::spsc_queue, 1,i: 69,860,598 msg/sec boost::lockfree::queue, 1,s: 6,874,502 msg/sec boost::lockfree::queue, 1,i: 6,932,180 msg/sec boost::lockfree::queue, 2,s: 7,568,482 msg/sec boost::lockfree::queue, 2,i: 7,452,274 msg/sec boost::lockfree::queue, 3,s: 7,372,157 msg/sec boost::lockfree::queue, 3,i: 7,544,997 msg/sec boost::lockfree::queue, 4,s: 6,425,490 msg/sec boost::lockfree::queue, 4,i: 6,820,592 msg/sec boost::lockfree::queue, 5,s: 6,433,395 msg/sec boost::lockfree::queue, 5,i: 6,464,864 msg/sec boost::lockfree::queue, 6,s: 6,008,309 msg/sec boost::lockfree::queue, 6,i: 6,169,023 msg/sec boost::lockfree::queue, 7,s: 5,825,804 msg/sec boost::lockfree::queue, 7,i: 5,956,574 msg/sec boost::lockfree::queue, 8,s: 5,441,327 msg/sec boost::lockfree::queue, 8,i: 5,695,731 msg/sec moodycamel::ReaderWriterQueue, 1,s: 439,114,762 msg/sec moodycamel::ReaderWriterQueue, 1,i: 74,655,436 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,667,280 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,551,256 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,564,901 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,570,771 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,379,390 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,677,546 msg/sec moodycamel::ConcurrentQueue, 4,s: 40,986,917 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,183,784 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,268,306 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,896,635 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,613,011 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,242,450 msg/sec moodycamel::ConcurrentQueue, 7,s: 45,471,081 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,640,792 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,224,888 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,145,331 msg/sec pthread_spinlock, 1,s: 28,892,683 msg/sec pthread_spinlock, 1,i: 25,403,486 msg/sec pthread_spinlock, 2,s: 15,593,592 msg/sec pthread_spinlock, 2,i: 16,685,739 msg/sec pthread_spinlock, 3,s: 8,309,603 msg/sec pthread_spinlock, 3,i: 12,025,973 msg/sec pthread_spinlock, 4,s: 6,557,876 msg/sec pthread_spinlock, 4,i: 9,220,309 msg/sec pthread_spinlock, 5,s: 8,686,255 msg/sec pthread_spinlock, 5,i: 9,643,326 msg/sec pthread_spinlock, 6,s: 8,323,407 msg/sec pthread_spinlock, 6,i: 8,938,853 msg/sec pthread_spinlock, 7,s: 7,647,971 msg/sec pthread_spinlock, 7,i: 7,807,392 msg/sec pthread_spinlock, 8,s: 6,631,349 msg/sec pthread_spinlock, 8,i: 6,925,400 msg/sec std::mutex, 1,s: 5,278,644 msg/sec std::mutex, 1,i: 6,270,796 msg/sec std::mutex, 2,s: 5,408,812 msg/sec std::mutex, 2,i: 6,116,369 msg/sec std::mutex, 3,s: 5,981,429 msg/sec std::mutex, 3,i: 5,721,354 msg/sec std::mutex, 4,s: 5,431,506 msg/sec std::mutex, 4,i: 6,239,815 msg/sec std::mutex, 5,s: 5,555,515 msg/sec std::mutex, 5,i: 5,652,067 msg/sec std::mutex, 6,s: 5,926,544 msg/sec std::mutex, 6,i: 5,976,639 msg/sec std::mutex, 7,s: 5,777,946 msg/sec std::mutex, 7,i: 5,754,035 msg/sec std::mutex, 8,s: 5,670,687 msg/sec std::mutex, 8,i: 5,634,690 msg/sec tbb::spin_mutex, 1,s: 37,843,467 msg/sec tbb::spin_mutex, 1,i: 32,929,886 msg/sec tbb::spin_mutex, 2,s: 20,950,964 msg/sec tbb::spin_mutex, 2,i: 18,352,091 msg/sec tbb::spin_mutex, 3,s: 8,385,926 msg/sec tbb::spin_mutex, 3,i: 11,197,043 msg/sec tbb::spin_mutex, 4,s: 3,120,616 msg/sec tbb::spin_mutex, 4,i: 6,288,356 msg/sec tbb::spin_mutex, 5,s: 5,242,604 msg/sec tbb::spin_mutex, 5,i: 5,743,671 msg/sec tbb::spin_mutex, 6,s: 5,299,361 msg/sec tbb::spin_mutex, 6,i: 4,369,701 msg/sec tbb::spin_mutex, 7,s: 4,838,382 msg/sec tbb::spin_mutex, 7,i: 4,323,816 msg/sec tbb::spin_mutex, 8,s: 4,273,908 msg/sec tbb::spin_mutex, 8,i: 4,067,687 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,439,729 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,374,097 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,589,243 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,613,280 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,364,479 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,553,643 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,547,358 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,656,023 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,935,984 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,603,556 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,846,103 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,673,296 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,865,920 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,811,030 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,778,226 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,493,390 msg/sec xenium::michael_scott_queue, 1,s: 9,427,714 msg/sec xenium::michael_scott_queue, 1,i: 9,535,315 msg/sec xenium::michael_scott_queue, 2,s: 8,407,132 msg/sec xenium::michael_scott_queue, 2,i: 8,640,809 msg/sec xenium::michael_scott_queue, 3,s: 7,305,641 msg/sec xenium::michael_scott_queue, 3,i: 7,538,370 msg/sec xenium::michael_scott_queue, 4,s: 6,407,718 msg/sec xenium::michael_scott_queue, 4,i: 6,342,246 msg/sec xenium::michael_scott_queue, 5,s: 6,299,065 msg/sec xenium::michael_scott_queue, 5,i: 6,635,918 msg/sec xenium::michael_scott_queue, 6,s: 6,477,570 msg/sec xenium::michael_scott_queue, 6,i: 6,921,138 msg/sec xenium::michael_scott_queue, 7,s: 6,316,248 msg/sec xenium::michael_scott_queue, 7,i: 6,564,337 msg/sec xenium::michael_scott_queue, 8,s: 6,042,782 msg/sec xenium::michael_scott_queue, 8,i: 6,160,758 msg/sec xenium::ramalhete_queue, 1,s: 31,711,718 msg/sec xenium::ramalhete_queue, 1,i: 31,823,632 msg/sec xenium::ramalhete_queue, 2,s: 24,331,029 msg/sec xenium::ramalhete_queue, 2,i: 23,420,224 msg/sec xenium::ramalhete_queue, 3,s: 29,173,689 msg/sec xenium::ramalhete_queue, 3,i: 28,523,490 msg/sec xenium::ramalhete_queue, 4,s: 33,686,817 msg/sec xenium::ramalhete_queue, 4,i: 33,454,896 msg/sec xenium::ramalhete_queue, 5,s: 32,115,971 msg/sec xenium::ramalhete_queue, 5,i: 35,995,612 msg/sec xenium::ramalhete_queue, 6,s: 33,893,680 msg/sec xenium::ramalhete_queue, 6,i: 39,674,170 msg/sec xenium::ramalhete_queue, 7,s: 35,359,373 msg/sec xenium::ramalhete_queue, 7,i: 41,393,403 msg/sec xenium::ramalhete_queue, 8,s: 35,544,657 msg/sec xenium::ramalhete_queue, 8,i: 43,936,275 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,989,130 msg/sec xenium::vyukov_bounded_queue, 1,i: 71,941,287 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,375,888 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,152,236 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,842,033 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,848,226 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,527,493 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,454,551 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,730,133 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,233,027 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,854,908 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,428,938 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,230,346 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,115,635 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,827 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,546,653 msg/sec AtomicQueue, 1,s: 59,762,965 msg/sec AtomicQueue, 1,i: 56,239,867 msg/sec AtomicQueue, 2,s: 12,288,585 msg/sec AtomicQueue, 2,i: 11,696,530 msg/sec AtomicQueue, 3,s: 10,824,706 msg/sec AtomicQueue, 3,i: 9,942,053 msg/sec AtomicQueue, 4,s: 8,135,754 msg/sec AtomicQueue, 4,i: 8,218,517 msg/sec AtomicQueue, 5,s: 8,021,424 msg/sec AtomicQueue, 5,i: 8,110,753 msg/sec AtomicQueue, 6,s: 7,814,881 msg/sec AtomicQueue, 6,i: 7,603,399 msg/sec AtomicQueue, 7,s: 7,066,011 msg/sec AtomicQueue, 7,i: 7,989,450 msg/sec AtomicQueue, 8,s: 6,345,577 msg/sec AtomicQueue, 8,i: 7,449,407 msg/sec AtomicQueueB, 1,s: 43,444,035 msg/sec AtomicQueueB, 1,i: 43,011,332 msg/sec AtomicQueueB, 2,s: 11,820,048 msg/sec AtomicQueueB, 2,i: 11,493,515 msg/sec AtomicQueueB, 3,s: 11,022,998 msg/sec AtomicQueueB, 3,i: 10,206,001 msg/sec AtomicQueueB, 4,s: 8,069,581 msg/sec AtomicQueueB, 4,i: 8,005,535 msg/sec AtomicQueueB, 5,s: 7,542,900 msg/sec AtomicQueueB, 5,i: 7,759,598 msg/sec AtomicQueueB, 6,s: 7,427,399 msg/sec AtomicQueueB, 6,i: 7,558,314 msg/sec AtomicQueueB, 7,s: 6,903,253 msg/sec AtomicQueueB, 7,i: 7,740,301 msg/sec AtomicQueueB, 8,s: 6,264,517 msg/sec AtomicQueueB, 8,i: 7,153,224 msg/sec OptimistAtomicQueue, 1,s: 701,069,674 msg/sec OptimistAtomicQueue, 1,i: 565,889,963 msg/sec OptimistAtomicQueue, 2,s: 32,034,751 msg/sec OptimistAtomicQueue, 2,i: 32,193,220 msg/sec OptimistAtomicQueue, 3,s: 36,621,081 msg/sec OptimistAtomicQueue, 3,i: 37,334,521 msg/sec OptimistAtomicQueue, 4,s: 39,277,838 msg/sec OptimistAtomicQueue, 4,i: 39,390,874 msg/sec OptimistAtomicQueue, 5,s: 42,443,835 msg/sec OptimistAtomicQueue, 5,i: 46,545,378 msg/sec OptimistAtomicQueue, 6,s: 42,549,761 msg/sec OptimistAtomicQueue, 6,i: 50,508,295 msg/sec OptimistAtomicQueue, 7,s: 44,277,302 msg/sec OptimistAtomicQueue, 7,i: 53,065,253 msg/sec OptimistAtomicQueue, 8,s: 46,364,569 msg/sec OptimistAtomicQueue, 8,i: 49,368,752 msg/sec OptimistAtomicQueueB, 1,s: 79,827,142 msg/sec OptimistAtomicQueueB, 1,i: 76,490,075 msg/sec OptimistAtomicQueueB, 2,s: 32,319,850 msg/sec OptimistAtomicQueueB, 2,i: 32,186,475 msg/sec OptimistAtomicQueueB, 3,s: 36,334,750 msg/sec OptimistAtomicQueueB, 3,i: 36,936,247 msg/sec OptimistAtomicQueueB, 4,s: 38,733,071 msg/sec OptimistAtomicQueueB, 4,i: 38,595,601 msg/sec OptimistAtomicQueueB, 5,s: 40,523,083 msg/sec OptimistAtomicQueueB, 5,i: 45,258,468 msg/sec OptimistAtomicQueueB, 6,s: 41,172,249 msg/sec OptimistAtomicQueueB, 6,i: 48,723,231 msg/sec OptimistAtomicQueueB, 7,s: 42,419,553 msg/sec OptimistAtomicQueueB, 7,i: 48,233,599 msg/sec OptimistAtomicQueueB, 8,s: 44,184,640 msg/sec OptimistAtomicQueueB, 8,i: 47,914,470 msg/sec AtomicQueue2, 1,s: 22,846,726 msg/sec AtomicQueue2, 1,i: 23,255,152 msg/sec AtomicQueue2, 2,s: 11,736,783 msg/sec AtomicQueue2, 2,i: 11,434,298 msg/sec AtomicQueue2, 3,s: 9,897,389 msg/sec AtomicQueue2, 3,i: 9,417,981 msg/sec AtomicQueue2, 4,s: 8,008,106 msg/sec AtomicQueue2, 4,i: 8,066,612 msg/sec AtomicQueue2, 5,s: 7,896,149 msg/sec AtomicQueue2, 5,i: 8,003,313 msg/sec AtomicQueue2, 6,s: 7,798,155 msg/sec AtomicQueue2, 6,i: 7,530,122 msg/sec AtomicQueue2, 7,s: 7,134,941 msg/sec AtomicQueue2, 7,i: 7,889,508 msg/sec AtomicQueue2, 8,s: 6,370,715 msg/sec AtomicQueue2, 8,i: 7,346,369 msg/sec AtomicQueueB2, 1,s: 36,154,740 msg/sec AtomicQueueB2, 1,i: 32,639,319 msg/sec AtomicQueueB2, 2,s: 11,500,297 msg/sec AtomicQueueB2, 2,i: 11,177,653 msg/sec AtomicQueueB2, 3,s: 9,677,343 msg/sec AtomicQueueB2, 3,i: 9,478,496 msg/sec AtomicQueueB2, 4,s: 7,915,353 msg/sec AtomicQueueB2, 4,i: 7,806,082 msg/sec AtomicQueueB2, 5,s: 7,404,804 msg/sec AtomicQueueB2, 5,i: 7,636,177 msg/sec AtomicQueueB2, 6,s: 7,282,216 msg/sec AtomicQueueB2, 6,i: 7,480,907 msg/sec AtomicQueueB2, 7,s: 6,878,921 msg/sec AtomicQueueB2, 7,i: 7,721,134 msg/sec AtomicQueueB2, 8,s: 6,295,827 msg/sec AtomicQueueB2, 8,i: 7,122,930 msg/sec OptimistAtomicQueue2, 1,s: 512,255,652 msg/sec OptimistAtomicQueue2, 1,i: 29,948,637 msg/sec OptimistAtomicQueue2, 2,s: 24,269,044 msg/sec OptimistAtomicQueue2, 2,i: 24,391,523 msg/sec OptimistAtomicQueue2, 3,s: 30,322,504 msg/sec OptimistAtomicQueue2, 3,i: 30,022,861 msg/sec OptimistAtomicQueue2, 4,s: 33,215,465 msg/sec OptimistAtomicQueue2, 4,i: 35,619,538 msg/sec OptimistAtomicQueue2, 5,s: 36,959,045 msg/sec OptimistAtomicQueue2, 5,i: 39,974,018 msg/sec OptimistAtomicQueue2, 6,s: 40,036,557 msg/sec OptimistAtomicQueue2, 6,i: 48,888,527 msg/sec OptimistAtomicQueue2, 7,s: 43,266,657 msg/sec OptimistAtomicQueue2, 7,i: 51,658,402 msg/sec OptimistAtomicQueue2, 8,s: 43,934,563 msg/sec OptimistAtomicQueue2, 8,i: 49,289,433 msg/sec OptimistAtomicQueueB2, 1,s: 73,682,154 msg/sec OptimistAtomicQueueB2, 1,i: 33,860,486 msg/sec OptimistAtomicQueueB2, 2,s: 27,726,312 msg/sec OptimistAtomicQueueB2, 2,i: 25,790,889 msg/sec OptimistAtomicQueueB2, 3,s: 29,803,892 msg/sec OptimistAtomicQueueB2, 3,i: 29,170,787 msg/sec OptimistAtomicQueueB2, 4,s: 33,335,303 msg/sec OptimistAtomicQueueB2, 4,i: 32,959,570 msg/sec OptimistAtomicQueueB2, 5,s: 34,656,896 msg/sec OptimistAtomicQueueB2, 5,i: 39,508,555 msg/sec OptimistAtomicQueueB2, 6,s: 37,250,314 msg/sec OptimistAtomicQueueB2, 6,i: 42,328,534 msg/sec OptimistAtomicQueueB2, 7,s: 40,867,236 msg/sec OptimistAtomicQueueB2, 7,i: 45,536,584 msg/sec OptimistAtomicQueueB2, 8,s: 42,102,950 msg/sec OptimistAtomicQueueB2, 8,i: 45,586,292 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000292 sec/round-trip std::mutex: 0.000000470 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [204] 212m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,985,480 msg/sec boost::lockfree::spsc_queue, 1,i: 68,027,413 msg/sec boost::lockfree::queue, 1,s: 6,775,043 msg/sec boost::lockfree::queue, 1,i: 6,836,340 msg/sec boost::lockfree::queue, 2,s: 7,680,582 msg/sec boost::lockfree::queue, 2,i: 7,533,474 msg/sec boost::lockfree::queue, 3,s: 7,388,598 msg/sec boost::lockfree::queue, 3,i: 7,523,451 msg/sec boost::lockfree::queue, 4,s: 6,426,885 msg/sec boost::lockfree::queue, 4,i: 6,826,129 msg/sec boost::lockfree::queue, 5,s: 6,474,444 msg/sec boost::lockfree::queue, 5,i: 6,440,222 msg/sec boost::lockfree::queue, 6,s: 5,989,783 msg/sec boost::lockfree::queue, 6,i: 6,107,200 msg/sec boost::lockfree::queue, 7,s: 5,813,452 msg/sec boost::lockfree::queue, 7,i: 5,848,928 msg/sec boost::lockfree::queue, 8,s: 5,454,646 msg/sec boost::lockfree::queue, 8,i: 5,599,720 msg/sec moodycamel::ReaderWriterQueue, 1,s: 113,472,782 msg/sec moodycamel::ReaderWriterQueue, 1,i: 79,696,414 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,100,463 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,835,901 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,535,164 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,364,406 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,082,434 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,348,027 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,854,846 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,870,165 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,177,894 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,019,335 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,221,905 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,952,106 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,055,652 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,532,935 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,141,182 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,933,972 msg/sec pthread_spinlock, 1,s: 28,756,200 msg/sec pthread_spinlock, 1,i: 25,359,641 msg/sec pthread_spinlock, 2,s: 15,437,376 msg/sec pthread_spinlock, 2,i: 16,794,158 msg/sec pthread_spinlock, 3,s: 8,348,438 msg/sec pthread_spinlock, 3,i: 12,179,522 msg/sec pthread_spinlock, 4,s: 6,538,749 msg/sec pthread_spinlock, 4,i: 9,254,888 msg/sec pthread_spinlock, 5,s: 8,630,622 msg/sec pthread_spinlock, 5,i: 9,621,634 msg/sec pthread_spinlock, 6,s: 8,264,952 msg/sec pthread_spinlock, 6,i: 8,504,224 msg/sec pthread_spinlock, 7,s: 7,867,189 msg/sec pthread_spinlock, 7,i: 7,634,229 msg/sec pthread_spinlock, 8,s: 6,853,720 msg/sec pthread_spinlock, 8,i: 6,961,524 msg/sec std::mutex, 1,s: 6,599,119 msg/sec std::mutex, 1,i: 6,499,100 msg/sec std::mutex, 2,s: 5,179,941 msg/sec std::mutex, 2,i: 6,144,635 msg/sec std::mutex, 3,s: 6,048,772 msg/sec std::mutex, 3,i: 6,135,823 msg/sec std::mutex, 4,s: 6,150,618 msg/sec std::mutex, 4,i: 6,242,266 msg/sec std::mutex, 5,s: 6,055,493 msg/sec std::mutex, 5,i: 5,942,736 msg/sec std::mutex, 6,s: 6,030,920 msg/sec std::mutex, 6,i: 5,964,495 msg/sec std::mutex, 7,s: 5,830,973 msg/sec std::mutex, 7,i: 5,903,081 msg/sec std::mutex, 8,s: 5,695,251 msg/sec std::mutex, 8,i: 5,670,589 msg/sec tbb::spin_mutex, 1,s: 37,737,373 msg/sec tbb::spin_mutex, 1,i: 33,238,942 msg/sec tbb::spin_mutex, 2,s: 21,036,515 msg/sec tbb::spin_mutex, 2,i: 18,181,841 msg/sec tbb::spin_mutex, 3,s: 7,341,441 msg/sec tbb::spin_mutex, 3,i: 10,304,586 msg/sec tbb::spin_mutex, 4,s: 3,080,356 msg/sec tbb::spin_mutex, 4,i: 6,302,318 msg/sec tbb::spin_mutex, 5,s: 5,197,823 msg/sec tbb::spin_mutex, 5,i: 5,448,362 msg/sec tbb::spin_mutex, 6,s: 5,278,246 msg/sec tbb::spin_mutex, 6,i: 4,351,334 msg/sec tbb::spin_mutex, 7,s: 4,855,691 msg/sec tbb::spin_mutex, 7,i: 4,294,758 msg/sec tbb::spin_mutex, 8,s: 4,219,837 msg/sec tbb::spin_mutex, 8,i: 4,107,388 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,959,194 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,179,363 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,776,690 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,970,409 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,554,880 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,612,065 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,094,570 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,367,985 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,758,239 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,730,256 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,906,334 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,908,626 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,780,246 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,131,141 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,627,459 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,302,497 msg/sec xenium::michael_scott_queue, 1,s: 9,238,522 msg/sec xenium::michael_scott_queue, 1,i: 9,252,481 msg/sec xenium::michael_scott_queue, 2,s: 8,416,058 msg/sec xenium::michael_scott_queue, 2,i: 8,432,204 msg/sec xenium::michael_scott_queue, 3,s: 7,406,688 msg/sec xenium::michael_scott_queue, 3,i: 7,556,842 msg/sec xenium::michael_scott_queue, 4,s: 6,282,433 msg/sec xenium::michael_scott_queue, 4,i: 6,398,181 msg/sec xenium::michael_scott_queue, 5,s: 6,314,153 msg/sec xenium::michael_scott_queue, 5,i: 6,704,629 msg/sec xenium::michael_scott_queue, 6,s: 6,567,052 msg/sec xenium::michael_scott_queue, 6,i: 6,688,176 msg/sec xenium::michael_scott_queue, 7,s: 6,377,419 msg/sec xenium::michael_scott_queue, 7,i: 6,415,819 msg/sec xenium::michael_scott_queue, 8,s: 6,049,642 msg/sec xenium::michael_scott_queue, 8,i: 6,172,835 msg/sec xenium::ramalhete_queue, 1,s: 31,824,343 msg/sec xenium::ramalhete_queue, 1,i: 31,486,546 msg/sec xenium::ramalhete_queue, 2,s: 24,132,430 msg/sec xenium::ramalhete_queue, 2,i: 23,379,587 msg/sec xenium::ramalhete_queue, 3,s: 29,102,728 msg/sec xenium::ramalhete_queue, 3,i: 28,364,523 msg/sec xenium::ramalhete_queue, 4,s: 33,781,211 msg/sec xenium::ramalhete_queue, 4,i: 33,429,682 msg/sec xenium::ramalhete_queue, 5,s: 31,995,729 msg/sec xenium::ramalhete_queue, 5,i: 35,992,676 msg/sec xenium::ramalhete_queue, 6,s: 34,120,747 msg/sec xenium::ramalhete_queue, 6,i: 38,652,382 msg/sec xenium::ramalhete_queue, 7,s: 35,103,894 msg/sec xenium::ramalhete_queue, 7,i: 41,265,695 msg/sec xenium::ramalhete_queue, 8,s: 35,520,250 msg/sec xenium::ramalhete_queue, 8,i: 44,175,073 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,899,472 msg/sec xenium::vyukov_bounded_queue, 1,i: 115,852,892 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,267,610 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,496,400 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,609,363 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,759,427 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,632,200 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,459,793 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,039,434 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,231,465 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,940,564 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,199,744 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,263,552 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,916,229 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,411,976 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,233,810 msg/sec AtomicQueue, 1,s: 61,081,047 msg/sec AtomicQueue, 1,i: 56,181,747 msg/sec AtomicQueue, 2,s: 12,238,275 msg/sec AtomicQueue, 2,i: 11,712,628 msg/sec AtomicQueue, 3,s: 10,804,362 msg/sec AtomicQueue, 3,i: 9,941,311 msg/sec AtomicQueue, 4,s: 8,183,471 msg/sec AtomicQueue, 4,i: 8,190,615 msg/sec AtomicQueue, 5,s: 8,039,939 msg/sec AtomicQueue, 5,i: 8,080,050 msg/sec AtomicQueue, 6,s: 7,808,340 msg/sec AtomicQueue, 6,i: 7,610,287 msg/sec AtomicQueue, 7,s: 7,146,994 msg/sec AtomicQueue, 7,i: 7,991,205 msg/sec AtomicQueue, 8,s: 6,307,551 msg/sec AtomicQueue, 8,i: 7,502,413 msg/sec AtomicQueueB, 1,s: 43,952,374 msg/sec AtomicQueueB, 1,i: 43,615,555 msg/sec AtomicQueueB, 2,s: 11,799,863 msg/sec AtomicQueueB, 2,i: 11,472,264 msg/sec AtomicQueueB, 3,s: 11,025,119 msg/sec AtomicQueueB, 3,i: 10,336,185 msg/sec AtomicQueueB, 4,s: 8,052,675 msg/sec AtomicQueueB, 4,i: 7,886,968 msg/sec AtomicQueueB, 5,s: 7,584,448 msg/sec AtomicQueueB, 5,i: 7,849,528 msg/sec AtomicQueueB, 6,s: 7,391,625 msg/sec AtomicQueueB, 6,i: 7,513,119 msg/sec AtomicQueueB, 7,s: 6,848,629 msg/sec AtomicQueueB, 7,i: 7,724,943 msg/sec AtomicQueueB, 8,s: 6,288,040 msg/sec AtomicQueueB, 8,i: 7,158,625 msg/sec OptimistAtomicQueue, 1,s: 728,087,523 msg/sec OptimistAtomicQueue, 1,i: 533,074,614 msg/sec OptimistAtomicQueue, 2,s: 32,619,097 msg/sec OptimistAtomicQueue, 2,i: 32,501,466 msg/sec OptimistAtomicQueue, 3,s: 36,688,652 msg/sec OptimistAtomicQueue, 3,i: 37,415,133 msg/sec OptimistAtomicQueue, 4,s: 39,276,252 msg/sec OptimistAtomicQueue, 4,i: 39,364,455 msg/sec OptimistAtomicQueue, 5,s: 42,529,382 msg/sec OptimistAtomicQueue, 5,i: 46,261,540 msg/sec OptimistAtomicQueue, 6,s: 41,937,204 msg/sec OptimistAtomicQueue, 6,i: 50,397,767 msg/sec OptimistAtomicQueue, 7,s: 44,530,139 msg/sec OptimistAtomicQueue, 7,i: 49,178,936 msg/sec OptimistAtomicQueue, 8,s: 46,387,305 msg/sec OptimistAtomicQueue, 8,i: 48,851,290 msg/sec OptimistAtomicQueueB, 1,s: 133,063,485 msg/sec OptimistAtomicQueueB, 1,i: 93,538,636 msg/sec OptimistAtomicQueueB, 2,s: 32,154,955 msg/sec OptimistAtomicQueueB, 2,i: 32,206,851 msg/sec OptimistAtomicQueueB, 3,s: 36,295,353 msg/sec OptimistAtomicQueueB, 3,i: 36,942,632 msg/sec OptimistAtomicQueueB, 4,s: 38,660,817 msg/sec OptimistAtomicQueueB, 4,i: 38,575,056 msg/sec OptimistAtomicQueueB, 5,s: 40,922,560 msg/sec OptimistAtomicQueueB, 5,i: 46,052,961 msg/sec OptimistAtomicQueueB, 6,s: 40,436,786 msg/sec OptimistAtomicQueueB, 6,i: 48,584,547 msg/sec OptimistAtomicQueueB, 7,s: 41,523,700 msg/sec OptimistAtomicQueueB, 7,i: 50,611,317 msg/sec OptimistAtomicQueueB, 8,s: 43,995,065 msg/sec OptimistAtomicQueueB, 8,i: 47,834,965 msg/sec AtomicQueue2, 1,s: 22,806,589 msg/sec AtomicQueue2, 1,i: 22,848,015 msg/sec AtomicQueue2, 2,s: 11,874,954 msg/sec AtomicQueue2, 2,i: 11,409,945 msg/sec AtomicQueue2, 3,s: 9,922,960 msg/sec AtomicQueue2, 3,i: 9,530,577 msg/sec AtomicQueue2, 4,s: 8,058,824 msg/sec AtomicQueue2, 4,i: 8,085,155 msg/sec AtomicQueue2, 5,s: 7,890,091 msg/sec AtomicQueue2, 5,i: 8,045,295 msg/sec AtomicQueue2, 6,s: 7,850,604 msg/sec AtomicQueue2, 6,i: 7,503,939 msg/sec AtomicQueue2, 7,s: 7,136,499 msg/sec AtomicQueue2, 7,i: 7,893,746 msg/sec AtomicQueue2, 8,s: 6,402,525 msg/sec AtomicQueue2, 8,i: 7,367,093 msg/sec AtomicQueueB2, 1,s: 36,226,295 msg/sec AtomicQueueB2, 1,i: 36,156,877 msg/sec AtomicQueueB2, 2,s: 11,271,958 msg/sec AtomicQueueB2, 2,i: 11,095,382 msg/sec AtomicQueueB2, 3,s: 9,840,122 msg/sec AtomicQueueB2, 3,i: 9,567,625 msg/sec AtomicQueueB2, 4,s: 7,966,704 msg/sec AtomicQueueB2, 4,i: 7,817,850 msg/sec AtomicQueueB2, 5,s: 7,511,876 msg/sec AtomicQueueB2, 5,i: 7,710,181 msg/sec AtomicQueueB2, 6,s: 7,337,336 msg/sec AtomicQueueB2, 6,i: 7,455,852 msg/sec AtomicQueueB2, 7,s: 6,896,654 msg/sec AtomicQueueB2, 7,i: 7,719,860 msg/sec AtomicQueueB2, 8,s: 6,338,396 msg/sec AtomicQueueB2, 8,i: 6,947,888 msg/sec OptimistAtomicQueue2, 1,s: 633,808,150 msg/sec OptimistAtomicQueue2, 1,i: 29,945,178 msg/sec OptimistAtomicQueue2, 2,s: 24,273,795 msg/sec OptimistAtomicQueue2, 2,i: 24,024,728 msg/sec OptimistAtomicQueue2, 3,s: 30,491,890 msg/sec OptimistAtomicQueue2, 3,i: 29,945,494 msg/sec OptimistAtomicQueue2, 4,s: 33,144,009 msg/sec OptimistAtomicQueue2, 4,i: 33,208,264 msg/sec OptimistAtomicQueue2, 5,s: 37,235,308 msg/sec OptimistAtomicQueue2, 5,i: 40,441,451 msg/sec OptimistAtomicQueue2, 6,s: 40,087,380 msg/sec OptimistAtomicQueue2, 6,i: 49,102,588 msg/sec OptimistAtomicQueue2, 7,s: 43,215,380 msg/sec OptimistAtomicQueue2, 7,i: 51,357,269 msg/sec OptimistAtomicQueue2, 8,s: 44,023,428 msg/sec OptimistAtomicQueue2, 8,i: 48,389,110 msg/sec OptimistAtomicQueueB2, 1,s: 79,203,875 msg/sec OptimistAtomicQueueB2, 1,i: 33,951,530 msg/sec OptimistAtomicQueueB2, 2,s: 27,242,617 msg/sec OptimistAtomicQueueB2, 2,i: 25,860,683 msg/sec OptimistAtomicQueueB2, 3,s: 29,668,814 msg/sec OptimistAtomicQueueB2, 3,i: 31,114,746 msg/sec OptimistAtomicQueueB2, 4,s: 33,386,674 msg/sec OptimistAtomicQueueB2, 4,i: 32,274,090 msg/sec OptimistAtomicQueueB2, 5,s: 34,582,525 msg/sec OptimistAtomicQueueB2, 5,i: 39,149,082 msg/sec OptimistAtomicQueueB2, 6,s: 37,249,720 msg/sec OptimistAtomicQueueB2, 6,i: 42,270,976 msg/sec OptimistAtomicQueueB2, 7,s: 40,832,737 msg/sec OptimistAtomicQueueB2, 7,i: 45,398,521 msg/sec OptimistAtomicQueueB2, 8,s: 42,599,487 msg/sec OptimistAtomicQueueB2, 8,i: 45,090,647 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000326 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000300 sec/round-trip std::mutex: 0.000000525 sec/round-trip tbb::spin_mutex: 0.000000279 sec/round-trip tbb::concurrent_bounded_queue: 0.000000293 sec/round-trip xenium::michael_scott_queue: 0.000000384 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [205] 210m:50s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,583,605 msg/sec boost::lockfree::spsc_queue, 1,i: 69,659,643 msg/sec boost::lockfree::queue, 1,s: 6,842,345 msg/sec boost::lockfree::queue, 1,i: 6,813,398 msg/sec boost::lockfree::queue, 2,s: 7,609,149 msg/sec boost::lockfree::queue, 2,i: 7,415,724 msg/sec boost::lockfree::queue, 3,s: 7,412,239 msg/sec boost::lockfree::queue, 3,i: 7,472,383 msg/sec boost::lockfree::queue, 4,s: 6,430,596 msg/sec boost::lockfree::queue, 4,i: 6,751,860 msg/sec boost::lockfree::queue, 5,s: 6,390,351 msg/sec boost::lockfree::queue, 5,i: 6,477,174 msg/sec boost::lockfree::queue, 6,s: 5,990,149 msg/sec boost::lockfree::queue, 6,i: 6,131,222 msg/sec boost::lockfree::queue, 7,s: 5,858,773 msg/sec boost::lockfree::queue, 7,i: 6,063,404 msg/sec boost::lockfree::queue, 8,s: 5,485,304 msg/sec boost::lockfree::queue, 8,i: 5,650,738 msg/sec moodycamel::ReaderWriterQueue, 1,s: 48,570,592 msg/sec moodycamel::ReaderWriterQueue, 1,i: 49,135,297 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,056,273 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,857,064 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,240,152 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,616,716 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,563,991 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,331,967 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,097,969 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,224,552 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,449,927 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,921,869 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,789,802 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,152,651 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,147,588 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,262,067 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,342,576 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,356,851 msg/sec pthread_spinlock, 1,s: 28,570,183 msg/sec pthread_spinlock, 1,i: 28,961,920 msg/sec pthread_spinlock, 2,s: 15,436,401 msg/sec pthread_spinlock, 2,i: 17,102,197 msg/sec pthread_spinlock, 3,s: 8,417,138 msg/sec pthread_spinlock, 3,i: 12,102,178 msg/sec pthread_spinlock, 4,s: 6,511,042 msg/sec pthread_spinlock, 4,i: 9,113,229 msg/sec pthread_spinlock, 5,s: 8,708,256 msg/sec pthread_spinlock, 5,i: 10,466,994 msg/sec pthread_spinlock, 6,s: 8,486,786 msg/sec pthread_spinlock, 6,i: 9,002,185 msg/sec pthread_spinlock, 7,s: 7,713,660 msg/sec pthread_spinlock, 7,i: 7,727,641 msg/sec pthread_spinlock, 8,s: 6,936,995 msg/sec pthread_spinlock, 8,i: 6,976,499 msg/sec std::mutex, 1,s: 5,746,433 msg/sec std::mutex, 1,i: 6,576,401 msg/sec std::mutex, 2,s: 5,613,540 msg/sec std::mutex, 2,i: 5,953,432 msg/sec std::mutex, 3,s: 6,067,625 msg/sec std::mutex, 3,i: 6,047,783 msg/sec std::mutex, 4,s: 6,223,935 msg/sec std::mutex, 4,i: 6,172,580 msg/sec std::mutex, 5,s: 5,945,580 msg/sec std::mutex, 5,i: 5,950,192 msg/sec std::mutex, 6,s: 5,790,984 msg/sec std::mutex, 6,i: 5,841,875 msg/sec std::mutex, 7,s: 5,797,161 msg/sec std::mutex, 7,i: 5,731,075 msg/sec std::mutex, 8,s: 5,660,502 msg/sec std::mutex, 8,i: 5,697,353 msg/sec tbb::spin_mutex, 1,s: 37,560,681 msg/sec tbb::spin_mutex, 1,i: 33,119,860 msg/sec tbb::spin_mutex, 2,s: 21,253,091 msg/sec tbb::spin_mutex, 2,i: 18,357,759 msg/sec tbb::spin_mutex, 3,s: 7,374,243 msg/sec tbb::spin_mutex, 3,i: 10,327,622 msg/sec tbb::spin_mutex, 4,s: 3,199,842 msg/sec tbb::spin_mutex, 4,i: 6,375,282 msg/sec tbb::spin_mutex, 5,s: 5,501,098 msg/sec tbb::spin_mutex, 5,i: 5,546,257 msg/sec tbb::spin_mutex, 6,s: 5,340,385 msg/sec tbb::spin_mutex, 6,i: 4,335,194 msg/sec tbb::spin_mutex, 7,s: 4,887,613 msg/sec tbb::spin_mutex, 7,i: 4,305,249 msg/sec tbb::spin_mutex, 8,s: 3,879,993 msg/sec tbb::spin_mutex, 8,i: 4,126,049 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,346,268 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,265,828 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,995,764 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,147,810 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,572,849 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,731,569 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,958,486 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,310,287 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,582,858 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,645,171 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,784,301 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,721,583 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,923,638 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,141,877 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,907,719 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,472,868 msg/sec xenium::michael_scott_queue, 1,s: 10,067,662 msg/sec xenium::michael_scott_queue, 1,i: 9,699,970 msg/sec xenium::michael_scott_queue, 2,s: 8,457,112 msg/sec xenium::michael_scott_queue, 2,i: 8,560,118 msg/sec xenium::michael_scott_queue, 3,s: 7,428,052 msg/sec xenium::michael_scott_queue, 3,i: 7,605,707 msg/sec xenium::michael_scott_queue, 4,s: 6,229,242 msg/sec xenium::michael_scott_queue, 4,i: 6,328,139 msg/sec xenium::michael_scott_queue, 5,s: 6,256,881 msg/sec xenium::michael_scott_queue, 5,i: 6,701,360 msg/sec xenium::michael_scott_queue, 6,s: 6,436,780 msg/sec xenium::michael_scott_queue, 6,i: 6,801,290 msg/sec xenium::michael_scott_queue, 7,s: 6,280,132 msg/sec xenium::michael_scott_queue, 7,i: 6,552,200 msg/sec xenium::michael_scott_queue, 8,s: 6,003,142 msg/sec xenium::michael_scott_queue, 8,i: 6,078,600 msg/sec xenium::ramalhete_queue, 1,s: 32,557,711 msg/sec xenium::ramalhete_queue, 1,i: 32,425,351 msg/sec xenium::ramalhete_queue, 2,s: 23,583,913 msg/sec xenium::ramalhete_queue, 2,i: 23,343,416 msg/sec xenium::ramalhete_queue, 3,s: 29,234,149 msg/sec xenium::ramalhete_queue, 3,i: 28,390,913 msg/sec xenium::ramalhete_queue, 4,s: 33,819,864 msg/sec xenium::ramalhete_queue, 4,i: 33,379,175 msg/sec xenium::ramalhete_queue, 5,s: 32,198,672 msg/sec xenium::ramalhete_queue, 5,i: 36,028,492 msg/sec xenium::ramalhete_queue, 6,s: 34,002,698 msg/sec xenium::ramalhete_queue, 6,i: 39,447,996 msg/sec xenium::ramalhete_queue, 7,s: 35,030,361 msg/sec xenium::ramalhete_queue, 7,i: 41,117,786 msg/sec xenium::ramalhete_queue, 8,s: 35,354,389 msg/sec xenium::ramalhete_queue, 8,i: 43,781,699 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,185,428 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,732,678 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,156,730 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,695,202 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,499,341 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,719,353 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,629,032 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,397,892 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,947,358 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,303,941 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,103,492 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,231,403 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,138,947 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,910,758 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,417,341 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,227,575 msg/sec AtomicQueue, 1,s: 62,423,130 msg/sec AtomicQueue, 1,i: 56,269,882 msg/sec AtomicQueue, 2,s: 12,261,914 msg/sec AtomicQueue, 2,i: 11,817,325 msg/sec AtomicQueue, 3,s: 10,696,199 msg/sec AtomicQueue, 3,i: 9,923,774 msg/sec AtomicQueue, 4,s: 8,167,945 msg/sec AtomicQueue, 4,i: 8,200,783 msg/sec AtomicQueue, 5,s: 8,032,589 msg/sec AtomicQueue, 5,i: 8,106,786 msg/sec AtomicQueue, 6,s: 7,790,004 msg/sec AtomicQueue, 6,i: 7,596,254 msg/sec AtomicQueue, 7,s: 7,115,272 msg/sec AtomicQueue, 7,i: 7,975,268 msg/sec AtomicQueue, 8,s: 6,328,750 msg/sec AtomicQueue, 8,i: 7,336,506 msg/sec AtomicQueueB, 1,s: 123,199,732 msg/sec AtomicQueueB, 1,i: 42,944,932 msg/sec AtomicQueueB, 2,s: 12,047,367 msg/sec AtomicQueueB, 2,i: 11,372,975 msg/sec AtomicQueueB, 3,s: 10,857,941 msg/sec AtomicQueueB, 3,i: 10,288,361 msg/sec AtomicQueueB, 4,s: 8,048,344 msg/sec AtomicQueueB, 4,i: 8,142,429 msg/sec AtomicQueueB, 5,s: 7,697,409 msg/sec AtomicQueueB, 5,i: 7,830,723 msg/sec AtomicQueueB, 6,s: 7,192,889 msg/sec AtomicQueueB, 6,i: 7,582,613 msg/sec AtomicQueueB, 7,s: 6,893,690 msg/sec AtomicQueueB, 7,i: 7,752,829 msg/sec AtomicQueueB, 8,s: 6,203,868 msg/sec AtomicQueueB, 8,i: 7,013,544 msg/sec OptimistAtomicQueue, 1,s: 750,473,267 msg/sec OptimistAtomicQueue, 1,i: 562,365,014 msg/sec OptimistAtomicQueue, 2,s: 32,649,151 msg/sec OptimistAtomicQueue, 2,i: 32,244,043 msg/sec OptimistAtomicQueue, 3,s: 36,637,139 msg/sec OptimistAtomicQueue, 3,i: 37,299,945 msg/sec OptimistAtomicQueue, 4,s: 39,267,665 msg/sec OptimistAtomicQueue, 4,i: 39,418,434 msg/sec OptimistAtomicQueue, 5,s: 41,620,219 msg/sec OptimistAtomicQueue, 5,i: 46,236,838 msg/sec OptimistAtomicQueue, 6,s: 42,202,739 msg/sec OptimistAtomicQueue, 6,i: 50,426,447 msg/sec OptimistAtomicQueue, 7,s: 44,873,184 msg/sec OptimistAtomicQueue, 7,i: 49,202,767 msg/sec OptimistAtomicQueue, 8,s: 46,441,475 msg/sec OptimistAtomicQueue, 8,i: 49,205,180 msg/sec OptimistAtomicQueueB, 1,s: 179,076,993 msg/sec OptimistAtomicQueueB, 1,i: 77,616,672 msg/sec OptimistAtomicQueueB, 2,s: 32,099,261 msg/sec OptimistAtomicQueueB, 2,i: 32,135,886 msg/sec OptimistAtomicQueueB, 3,s: 36,249,572 msg/sec OptimistAtomicQueueB, 3,i: 36,788,723 msg/sec OptimistAtomicQueueB, 4,s: 38,617,827 msg/sec OptimistAtomicQueueB, 4,i: 38,549,121 msg/sec OptimistAtomicQueueB, 5,s: 41,074,297 msg/sec OptimistAtomicQueueB, 5,i: 46,063,508 msg/sec OptimistAtomicQueueB, 6,s: 40,869,748 msg/sec OptimistAtomicQueueB, 6,i: 48,724,055 msg/sec OptimistAtomicQueueB, 7,s: 41,647,672 msg/sec OptimistAtomicQueueB, 7,i: 48,119,409 msg/sec OptimistAtomicQueueB, 8,s: 44,250,280 msg/sec OptimistAtomicQueueB, 8,i: 48,049,046 msg/sec AtomicQueue2, 1,s: 22,871,615 msg/sec AtomicQueue2, 1,i: 22,883,190 msg/sec AtomicQueue2, 2,s: 11,748,053 msg/sec AtomicQueue2, 2,i: 11,343,425 msg/sec AtomicQueue2, 3,s: 9,322,972 msg/sec AtomicQueue2, 3,i: 9,437,398 msg/sec AtomicQueue2, 4,s: 8,122,417 msg/sec AtomicQueue2, 4,i: 8,076,577 msg/sec AtomicQueue2, 5,s: 7,945,927 msg/sec AtomicQueue2, 5,i: 8,010,606 msg/sec AtomicQueue2, 6,s: 7,671,682 msg/sec AtomicQueue2, 6,i: 7,499,571 msg/sec AtomicQueue2, 7,s: 7,163,246 msg/sec AtomicQueue2, 7,i: 7,896,913 msg/sec AtomicQueue2, 8,s: 6,405,537 msg/sec AtomicQueue2, 8,i: 7,382,494 msg/sec AtomicQueueB2, 1,s: 36,140,315 msg/sec AtomicQueueB2, 1,i: 32,653,253 msg/sec AtomicQueueB2, 2,s: 11,416,912 msg/sec AtomicQueueB2, 2,i: 11,145,871 msg/sec AtomicQueueB2, 3,s: 9,732,155 msg/sec AtomicQueueB2, 3,i: 9,575,163 msg/sec AtomicQueueB2, 4,s: 7,930,242 msg/sec AtomicQueueB2, 4,i: 7,852,243 msg/sec AtomicQueueB2, 5,s: 7,553,042 msg/sec AtomicQueueB2, 5,i: 7,669,305 msg/sec AtomicQueueB2, 6,s: 7,314,039 msg/sec AtomicQueueB2, 6,i: 7,428,910 msg/sec AtomicQueueB2, 7,s: 6,992,304 msg/sec AtomicQueueB2, 7,i: 7,755,742 msg/sec AtomicQueueB2, 8,s: 6,336,316 msg/sec AtomicQueueB2, 8,i: 7,068,640 msg/sec OptimistAtomicQueue2, 1,s: 32,513,319 msg/sec OptimistAtomicQueue2, 1,i: 29,810,375 msg/sec OptimistAtomicQueue2, 2,s: 26,271,452 msg/sec OptimistAtomicQueue2, 2,i: 24,689,716 msg/sec OptimistAtomicQueue2, 3,s: 30,326,099 msg/sec OptimistAtomicQueue2, 3,i: 30,447,899 msg/sec OptimistAtomicQueue2, 4,s: 33,266,621 msg/sec OptimistAtomicQueue2, 4,i: 33,235,937 msg/sec OptimistAtomicQueue2, 5,s: 37,170,947 msg/sec OptimistAtomicQueue2, 5,i: 40,026,506 msg/sec OptimistAtomicQueue2, 6,s: 40,076,946 msg/sec OptimistAtomicQueue2, 6,i: 48,785,888 msg/sec OptimistAtomicQueue2, 7,s: 42,789,736 msg/sec OptimistAtomicQueue2, 7,i: 47,966,601 msg/sec OptimistAtomicQueue2, 8,s: 44,000,957 msg/sec OptimistAtomicQueue2, 8,i: 48,919,891 msg/sec OptimistAtomicQueueB2, 1,s: 73,277,532 msg/sec OptimistAtomicQueueB2, 1,i: 33,850,401 msg/sec OptimistAtomicQueueB2, 2,s: 26,832,633 msg/sec OptimistAtomicQueueB2, 2,i: 23,162,849 msg/sec OptimistAtomicQueueB2, 3,s: 30,145,223 msg/sec OptimistAtomicQueueB2, 3,i: 29,207,484 msg/sec OptimistAtomicQueueB2, 4,s: 33,100,193 msg/sec OptimistAtomicQueueB2, 4,i: 32,434,240 msg/sec OptimistAtomicQueueB2, 5,s: 34,568,876 msg/sec OptimistAtomicQueueB2, 5,i: 39,163,437 msg/sec OptimistAtomicQueueB2, 6,s: 37,105,771 msg/sec OptimistAtomicQueueB2, 6,i: 42,215,164 msg/sec OptimistAtomicQueueB2, 7,s: 40,754,018 msg/sec OptimistAtomicQueueB2, 7,i: 45,249,043 msg/sec OptimistAtomicQueueB2, 8,s: 42,381,219 msg/sec OptimistAtomicQueueB2, 8,i: 46,020,585 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000242 sec/round-trip pthread_spinlock: 0.000000251 sec/round-trip std::mutex: 0.000000447 sec/round-trip tbb::spin_mutex: 0.000000257 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [206] 209m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,036,226 msg/sec boost::lockfree::spsc_queue, 1,i: 70,230,472 msg/sec boost::lockfree::queue, 1,s: 6,844,826 msg/sec boost::lockfree::queue, 1,i: 6,935,212 msg/sec boost::lockfree::queue, 2,s: 7,575,011 msg/sec boost::lockfree::queue, 2,i: 7,544,912 msg/sec boost::lockfree::queue, 3,s: 7,366,644 msg/sec boost::lockfree::queue, 3,i: 7,561,673 msg/sec boost::lockfree::queue, 4,s: 6,421,498 msg/sec boost::lockfree::queue, 4,i: 6,747,893 msg/sec boost::lockfree::queue, 5,s: 6,367,348 msg/sec boost::lockfree::queue, 5,i: 6,581,352 msg/sec boost::lockfree::queue, 6,s: 6,271,373 msg/sec boost::lockfree::queue, 6,i: 6,100,620 msg/sec boost::lockfree::queue, 7,s: 5,985,175 msg/sec boost::lockfree::queue, 7,i: 6,122,270 msg/sec boost::lockfree::queue, 8,s: 5,503,864 msg/sec boost::lockfree::queue, 8,i: 5,587,454 msg/sec moodycamel::ReaderWriterQueue, 1,s: 253,822,358 msg/sec moodycamel::ReaderWriterQueue, 1,i: 83,418,888 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,045,620 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,075,260 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,286,453 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,605,592 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,321,144 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,381,086 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,461,357 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,847,367 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,235,663 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,919,086 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,445,747 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,782,514 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,102,601 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,452,554 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,369,089 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,825,673 msg/sec pthread_spinlock, 1,s: 28,888,519 msg/sec pthread_spinlock, 1,i: 25,340,587 msg/sec pthread_spinlock, 2,s: 15,481,056 msg/sec pthread_spinlock, 2,i: 18,142,615 msg/sec pthread_spinlock, 3,s: 8,342,717 msg/sec pthread_spinlock, 3,i: 11,995,723 msg/sec pthread_spinlock, 4,s: 6,495,002 msg/sec pthread_spinlock, 4,i: 9,173,505 msg/sec pthread_spinlock, 5,s: 8,690,673 msg/sec pthread_spinlock, 5,i: 9,511,668 msg/sec pthread_spinlock, 6,s: 8,306,548 msg/sec pthread_spinlock, 6,i: 8,432,122 msg/sec pthread_spinlock, 7,s: 7,728,966 msg/sec pthread_spinlock, 7,i: 7,715,168 msg/sec pthread_spinlock, 8,s: 6,668,375 msg/sec pthread_spinlock, 8,i: 6,961,889 msg/sec std::mutex, 1,s: 6,720,870 msg/sec std::mutex, 1,i: 6,535,941 msg/sec std::mutex, 2,s: 5,743,932 msg/sec std::mutex, 2,i: 6,262,204 msg/sec std::mutex, 3,s: 5,473,832 msg/sec std::mutex, 3,i: 5,000,215 msg/sec std::mutex, 4,s: 5,967,467 msg/sec std::mutex, 4,i: 6,387,875 msg/sec std::mutex, 5,s: 6,033,171 msg/sec std::mutex, 5,i: 6,265,880 msg/sec std::mutex, 6,s: 5,995,680 msg/sec std::mutex, 6,i: 5,918,185 msg/sec std::mutex, 7,s: 5,819,050 msg/sec std::mutex, 7,i: 5,872,456 msg/sec std::mutex, 8,s: 5,721,900 msg/sec std::mutex, 8,i: 5,744,432 msg/sec tbb::spin_mutex, 1,s: 37,658,380 msg/sec tbb::spin_mutex, 1,i: 32,619,755 msg/sec tbb::spin_mutex, 2,s: 21,226,960 msg/sec tbb::spin_mutex, 2,i: 18,493,762 msg/sec tbb::spin_mutex, 3,s: 9,144,529 msg/sec tbb::spin_mutex, 3,i: 10,215,673 msg/sec tbb::spin_mutex, 4,s: 3,295,959 msg/sec tbb::spin_mutex, 4,i: 6,325,476 msg/sec tbb::spin_mutex, 5,s: 5,436,650 msg/sec tbb::spin_mutex, 5,i: 5,461,040 msg/sec tbb::spin_mutex, 6,s: 5,106,667 msg/sec tbb::spin_mutex, 6,i: 4,368,050 msg/sec tbb::spin_mutex, 7,s: 4,836,263 msg/sec tbb::spin_mutex, 7,i: 4,371,814 msg/sec tbb::spin_mutex, 8,s: 4,245,453 msg/sec tbb::spin_mutex, 8,i: 4,082,298 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,348,683 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,400,897 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,136,986 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,536,378 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,438,455 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,673,038 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,085,251 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,417,615 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,684,154 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,699,915 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,904,117 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,900,412 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,781,829 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,133,035 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,644,205 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,305,525 msg/sec xenium::michael_scott_queue, 1,s: 10,047,455 msg/sec xenium::michael_scott_queue, 1,i: 9,870,080 msg/sec xenium::michael_scott_queue, 2,s: 8,508,802 msg/sec xenium::michael_scott_queue, 2,i: 8,562,199 msg/sec xenium::michael_scott_queue, 3,s: 7,305,789 msg/sec xenium::michael_scott_queue, 3,i: 7,561,318 msg/sec xenium::michael_scott_queue, 4,s: 6,203,454 msg/sec xenium::michael_scott_queue, 4,i: 6,375,847 msg/sec xenium::michael_scott_queue, 5,s: 6,297,185 msg/sec xenium::michael_scott_queue, 5,i: 6,665,404 msg/sec xenium::michael_scott_queue, 6,s: 6,575,194 msg/sec xenium::michael_scott_queue, 6,i: 6,731,107 msg/sec xenium::michael_scott_queue, 7,s: 6,299,530 msg/sec xenium::michael_scott_queue, 7,i: 6,532,914 msg/sec xenium::michael_scott_queue, 8,s: 6,005,629 msg/sec xenium::michael_scott_queue, 8,i: 6,271,286 msg/sec xenium::ramalhete_queue, 1,s: 31,452,085 msg/sec xenium::ramalhete_queue, 1,i: 31,710,202 msg/sec xenium::ramalhete_queue, 2,s: 23,932,382 msg/sec xenium::ramalhete_queue, 2,i: 23,603,908 msg/sec xenium::ramalhete_queue, 3,s: 29,180,439 msg/sec xenium::ramalhete_queue, 3,i: 28,508,449 msg/sec xenium::ramalhete_queue, 4,s: 33,801,067 msg/sec xenium::ramalhete_queue, 4,i: 33,446,853 msg/sec xenium::ramalhete_queue, 5,s: 32,022,409 msg/sec xenium::ramalhete_queue, 5,i: 36,146,029 msg/sec xenium::ramalhete_queue, 6,s: 34,033,189 msg/sec xenium::ramalhete_queue, 6,i: 39,201,164 msg/sec xenium::ramalhete_queue, 7,s: 35,059,531 msg/sec xenium::ramalhete_queue, 7,i: 41,694,020 msg/sec xenium::ramalhete_queue, 8,s: 35,558,154 msg/sec xenium::ramalhete_queue, 8,i: 44,182,812 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,903,472 msg/sec xenium::vyukov_bounded_queue, 1,i: 101,509,551 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,880,876 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,924,189 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,687,247 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,734,319 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,589,113 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,166,448 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,307,465 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,476,318 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,856,361 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,274,722 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,134,785 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,325,659 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,419,058 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,505,077 msg/sec AtomicQueue, 1,s: 61,023,827 msg/sec AtomicQueue, 1,i: 57,069,890 msg/sec AtomicQueue, 2,s: 12,288,495 msg/sec AtomicQueue, 2,i: 11,725,572 msg/sec AtomicQueue, 3,s: 10,721,350 msg/sec AtomicQueue, 3,i: 10,041,162 msg/sec AtomicQueue, 4,s: 8,149,040 msg/sec AtomicQueue, 4,i: 8,213,321 msg/sec AtomicQueue, 5,s: 7,981,893 msg/sec AtomicQueue, 5,i: 8,118,706 msg/sec AtomicQueue, 6,s: 7,816,346 msg/sec AtomicQueue, 6,i: 7,608,076 msg/sec AtomicQueue, 7,s: 7,097,105 msg/sec AtomicQueue, 7,i: 7,977,967 msg/sec AtomicQueue, 8,s: 6,344,716 msg/sec AtomicQueue, 8,i: 7,324,108 msg/sec AtomicQueueB, 1,s: 43,876,028 msg/sec AtomicQueueB, 1,i: 43,360,427 msg/sec AtomicQueueB, 2,s: 11,787,934 msg/sec AtomicQueueB, 2,i: 11,471,188 msg/sec AtomicQueueB, 3,s: 10,992,729 msg/sec AtomicQueueB, 3,i: 10,169,851 msg/sec AtomicQueueB, 4,s: 8,064,205 msg/sec AtomicQueueB, 4,i: 8,026,012 msg/sec AtomicQueueB, 5,s: 7,458,638 msg/sec AtomicQueueB, 5,i: 7,863,633 msg/sec AtomicQueueB, 6,s: 7,226,132 msg/sec AtomicQueueB, 6,i: 7,557,239 msg/sec AtomicQueueB, 7,s: 6,894,054 msg/sec AtomicQueueB, 7,i: 7,755,670 msg/sec AtomicQueueB, 8,s: 6,249,138 msg/sec AtomicQueueB, 8,i: 7,159,492 msg/sec OptimistAtomicQueue, 1,s: 688,349,918 msg/sec OptimistAtomicQueue, 1,i: 522,770,852 msg/sec OptimistAtomicQueue, 2,s: 32,108,353 msg/sec OptimistAtomicQueue, 2,i: 32,179,248 msg/sec OptimistAtomicQueue, 3,s: 36,625,609 msg/sec OptimistAtomicQueue, 3,i: 37,282,092 msg/sec OptimistAtomicQueue, 4,s: 39,252,580 msg/sec OptimistAtomicQueue, 4,i: 39,350,725 msg/sec OptimistAtomicQueue, 5,s: 42,451,475 msg/sec OptimistAtomicQueue, 5,i: 47,484,863 msg/sec OptimistAtomicQueue, 6,s: 42,693,924 msg/sec OptimistAtomicQueue, 6,i: 50,508,863 msg/sec OptimistAtomicQueue, 7,s: 45,253,631 msg/sec OptimistAtomicQueue, 7,i: 52,991,423 msg/sec OptimistAtomicQueue, 8,s: 46,305,379 msg/sec OptimistAtomicQueue, 8,i: 48,672,250 msg/sec OptimistAtomicQueueB, 1,s: 267,074,739 msg/sec OptimistAtomicQueueB, 1,i: 76,311,975 msg/sec OptimistAtomicQueueB, 2,s: 32,254,022 msg/sec OptimistAtomicQueueB, 2,i: 32,149,510 msg/sec OptimistAtomicQueueB, 3,s: 36,211,893 msg/sec OptimistAtomicQueueB, 3,i: 36,831,435 msg/sec OptimistAtomicQueueB, 4,s: 38,615,646 msg/sec OptimistAtomicQueueB, 4,i: 38,563,718 msg/sec OptimistAtomicQueueB, 5,s: 40,940,461 msg/sec OptimistAtomicQueueB, 5,i: 45,434,604 msg/sec OptimistAtomicQueueB, 6,s: 40,667,779 msg/sec OptimistAtomicQueueB, 6,i: 48,715,036 msg/sec OptimistAtomicQueueB, 7,s: 42,732,164 msg/sec OptimistAtomicQueueB, 7,i: 51,473,123 msg/sec OptimistAtomicQueueB, 8,s: 44,246,631 msg/sec OptimistAtomicQueueB, 8,i: 48,067,311 msg/sec AtomicQueue2, 1,s: 22,835,884 msg/sec AtomicQueue2, 1,i: 22,851,638 msg/sec AtomicQueue2, 2,s: 11,980,774 msg/sec AtomicQueue2, 2,i: 11,420,931 msg/sec AtomicQueue2, 3,s: 9,993,547 msg/sec AtomicQueue2, 3,i: 9,471,026 msg/sec AtomicQueue2, 4,s: 8,053,557 msg/sec AtomicQueue2, 4,i: 8,103,673 msg/sec AtomicQueue2, 5,s: 7,934,021 msg/sec AtomicQueue2, 5,i: 8,011,008 msg/sec AtomicQueue2, 6,s: 7,812,854 msg/sec AtomicQueue2, 6,i: 7,532,797 msg/sec AtomicQueue2, 7,s: 7,149,611 msg/sec AtomicQueue2, 7,i: 7,887,425 msg/sec AtomicQueue2, 8,s: 6,387,343 msg/sec AtomicQueue2, 8,i: 7,365,535 msg/sec AtomicQueueB2, 1,s: 36,109,727 msg/sec AtomicQueueB2, 1,i: 32,573,613 msg/sec AtomicQueueB2, 2,s: 11,390,609 msg/sec AtomicQueueB2, 2,i: 11,070,940 msg/sec AtomicQueueB2, 3,s: 9,643,095 msg/sec AtomicQueueB2, 3,i: 9,494,592 msg/sec AtomicQueueB2, 4,s: 7,943,573 msg/sec AtomicQueueB2, 4,i: 7,822,556 msg/sec AtomicQueueB2, 5,s: 7,528,822 msg/sec AtomicQueueB2, 5,i: 7,688,045 msg/sec AtomicQueueB2, 6,s: 7,115,987 msg/sec AtomicQueueB2, 6,i: 7,396,733 msg/sec AtomicQueueB2, 7,s: 6,880,385 msg/sec AtomicQueueB2, 7,i: 7,734,399 msg/sec AtomicQueueB2, 8,s: 6,271,163 msg/sec AtomicQueueB2, 8,i: 7,118,938 msg/sec OptimistAtomicQueue2, 1,s: 459,825,135 msg/sec OptimistAtomicQueue2, 1,i: 31,989,381 msg/sec OptimistAtomicQueue2, 2,s: 24,761,513 msg/sec OptimistAtomicQueue2, 2,i: 24,020,992 msg/sec OptimistAtomicQueue2, 3,s: 30,321,186 msg/sec OptimistAtomicQueue2, 3,i: 29,955,620 msg/sec OptimistAtomicQueue2, 4,s: 33,137,811 msg/sec OptimistAtomicQueue2, 4,i: 33,075,658 msg/sec OptimistAtomicQueue2, 5,s: 37,400,769 msg/sec OptimistAtomicQueue2, 5,i: 40,287,420 msg/sec OptimistAtomicQueue2, 6,s: 40,070,622 msg/sec OptimistAtomicQueue2, 6,i: 49,302,021 msg/sec OptimistAtomicQueue2, 7,s: 42,682,021 msg/sec OptimistAtomicQueue2, 7,i: 48,128,636 msg/sec OptimistAtomicQueue2, 8,s: 43,817,571 msg/sec OptimistAtomicQueue2, 8,i: 48,272,841 msg/sec OptimistAtomicQueueB2, 1,s: 78,147,401 msg/sec OptimistAtomicQueueB2, 1,i: 33,872,653 msg/sec OptimistAtomicQueueB2, 2,s: 26,944,827 msg/sec OptimistAtomicQueueB2, 2,i: 23,163,758 msg/sec OptimistAtomicQueueB2, 3,s: 29,711,913 msg/sec OptimistAtomicQueueB2, 3,i: 31,014,546 msg/sec OptimistAtomicQueueB2, 4,s: 33,405,600 msg/sec OptimistAtomicQueueB2, 4,i: 33,182,432 msg/sec OptimistAtomicQueueB2, 5,s: 34,577,078 msg/sec OptimistAtomicQueueB2, 5,i: 40,313,771 msg/sec OptimistAtomicQueueB2, 6,s: 37,553,339 msg/sec OptimistAtomicQueueB2, 6,i: 42,400,692 msg/sec OptimistAtomicQueueB2, 7,s: 40,161,915 msg/sec OptimistAtomicQueueB2, 7,i: 45,325,747 msg/sec OptimistAtomicQueueB2, 8,s: 42,255,415 msg/sec OptimistAtomicQueueB2, 8,i: 45,634,229 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000153 sec/round-trip moodycamel::ConcurrentQueue: 0.000000219 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000379 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [207] 208m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,118,980 msg/sec boost::lockfree::spsc_queue, 1,i: 69,855,239 msg/sec boost::lockfree::queue, 1,s: 7,167,082 msg/sec boost::lockfree::queue, 1,i: 6,831,945 msg/sec boost::lockfree::queue, 2,s: 7,484,088 msg/sec boost::lockfree::queue, 2,i: 7,510,706 msg/sec boost::lockfree::queue, 3,s: 7,446,063 msg/sec boost::lockfree::queue, 3,i: 7,590,979 msg/sec boost::lockfree::queue, 4,s: 6,419,681 msg/sec boost::lockfree::queue, 4,i: 6,847,927 msg/sec boost::lockfree::queue, 5,s: 6,377,655 msg/sec boost::lockfree::queue, 5,i: 6,484,139 msg/sec boost::lockfree::queue, 6,s: 6,001,346 msg/sec boost::lockfree::queue, 6,i: 6,095,690 msg/sec boost::lockfree::queue, 7,s: 5,902,900 msg/sec boost::lockfree::queue, 7,i: 6,104,923 msg/sec boost::lockfree::queue, 8,s: 5,444,125 msg/sec boost::lockfree::queue, 8,i: 5,605,135 msg/sec moodycamel::ReaderWriterQueue, 1,s: 376,877,651 msg/sec moodycamel::ReaderWriterQueue, 1,i: 388,383,714 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,005,767 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,778,726 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,573,352 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,506,930 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,919,250 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,846,175 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,329,820 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,130,317 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,280,008 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,277,034 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,397,607 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,714,654 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,210,300 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,252,610 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,297,952 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,617,679 msg/sec pthread_spinlock, 1,s: 28,939,844 msg/sec pthread_spinlock, 1,i: 25,317,613 msg/sec pthread_spinlock, 2,s: 15,517,128 msg/sec pthread_spinlock, 2,i: 17,111,160 msg/sec pthread_spinlock, 3,s: 8,289,444 msg/sec pthread_spinlock, 3,i: 11,996,340 msg/sec pthread_spinlock, 4,s: 6,513,540 msg/sec pthread_spinlock, 4,i: 8,924,796 msg/sec pthread_spinlock, 5,s: 8,763,035 msg/sec pthread_spinlock, 5,i: 8,982,741 msg/sec pthread_spinlock, 6,s: 8,311,721 msg/sec pthread_spinlock, 6,i: 8,943,800 msg/sec pthread_spinlock, 7,s: 7,524,728 msg/sec pthread_spinlock, 7,i: 7,464,638 msg/sec pthread_spinlock, 8,s: 6,924,588 msg/sec pthread_spinlock, 8,i: 6,899,069 msg/sec std::mutex, 1,s: 7,035,194 msg/sec std::mutex, 1,i: 7,616,252 msg/sec std::mutex, 2,s: 6,056,086 msg/sec std::mutex, 2,i: 6,476,812 msg/sec std::mutex, 3,s: 6,160,817 msg/sec std::mutex, 3,i: 5,859,251 msg/sec std::mutex, 4,s: 5,257,294 msg/sec std::mutex, 4,i: 6,292,253 msg/sec std::mutex, 5,s: 5,554,066 msg/sec std::mutex, 5,i: 5,988,116 msg/sec std::mutex, 6,s: 5,824,903 msg/sec std::mutex, 6,i: 5,882,284 msg/sec std::mutex, 7,s: 5,769,615 msg/sec std::mutex, 7,i: 5,767,597 msg/sec std::mutex, 8,s: 5,621,305 msg/sec std::mutex, 8,i: 5,643,010 msg/sec tbb::spin_mutex, 1,s: 37,753,194 msg/sec tbb::spin_mutex, 1,i: 32,933,547 msg/sec tbb::spin_mutex, 2,s: 21,025,472 msg/sec tbb::spin_mutex, 2,i: 18,430,860 msg/sec tbb::spin_mutex, 3,s: 8,905,743 msg/sec tbb::spin_mutex, 3,i: 10,268,975 msg/sec tbb::spin_mutex, 4,s: 3,228,775 msg/sec tbb::spin_mutex, 4,i: 6,351,610 msg/sec tbb::spin_mutex, 5,s: 5,412,048 msg/sec tbb::spin_mutex, 5,i: 5,691,402 msg/sec tbb::spin_mutex, 6,s: 5,342,550 msg/sec tbb::spin_mutex, 6,i: 4,412,472 msg/sec tbb::spin_mutex, 7,s: 4,841,099 msg/sec tbb::spin_mutex, 7,i: 4,310,977 msg/sec tbb::spin_mutex, 8,s: 4,240,958 msg/sec tbb::spin_mutex, 8,i: 4,165,253 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,729,975 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,527,762 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,019,472 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,818,913 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,164,821 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,831,299 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,283,548 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,272,084 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,686,641 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,164,325 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,985,857 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,440,142 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,985,041 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,621,521 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,041,616 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,748,342 msg/sec xenium::michael_scott_queue, 1,s: 10,100,686 msg/sec xenium::michael_scott_queue, 1,i: 9,716,094 msg/sec xenium::michael_scott_queue, 2,s: 8,431,299 msg/sec xenium::michael_scott_queue, 2,i: 8,419,573 msg/sec xenium::michael_scott_queue, 3,s: 7,318,833 msg/sec xenium::michael_scott_queue, 3,i: 7,507,202 msg/sec xenium::michael_scott_queue, 4,s: 6,263,562 msg/sec xenium::michael_scott_queue, 4,i: 6,359,955 msg/sec xenium::michael_scott_queue, 5,s: 6,243,339 msg/sec xenium::michael_scott_queue, 5,i: 6,584,778 msg/sec xenium::michael_scott_queue, 6,s: 6,408,222 msg/sec xenium::michael_scott_queue, 6,i: 7,018,718 msg/sec xenium::michael_scott_queue, 7,s: 6,279,943 msg/sec xenium::michael_scott_queue, 7,i: 6,477,131 msg/sec xenium::michael_scott_queue, 8,s: 5,927,157 msg/sec xenium::michael_scott_queue, 8,i: 6,149,117 msg/sec xenium::ramalhete_queue, 1,s: 32,504,107 msg/sec xenium::ramalhete_queue, 1,i: 31,790,635 msg/sec xenium::ramalhete_queue, 2,s: 23,810,148 msg/sec xenium::ramalhete_queue, 2,i: 23,410,921 msg/sec xenium::ramalhete_queue, 3,s: 29,237,168 msg/sec xenium::ramalhete_queue, 3,i: 28,496,587 msg/sec xenium::ramalhete_queue, 4,s: 33,873,561 msg/sec xenium::ramalhete_queue, 4,i: 33,482,958 msg/sec xenium::ramalhete_queue, 5,s: 32,028,426 msg/sec xenium::ramalhete_queue, 5,i: 36,123,608 msg/sec xenium::ramalhete_queue, 6,s: 34,051,299 msg/sec xenium::ramalhete_queue, 6,i: 39,039,754 msg/sec xenium::ramalhete_queue, 7,s: 35,313,129 msg/sec xenium::ramalhete_queue, 7,i: 41,094,377 msg/sec xenium::ramalhete_queue, 8,s: 35,453,367 msg/sec xenium::ramalhete_queue, 8,i: 43,859,848 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,562,639 msg/sec xenium::vyukov_bounded_queue, 1,i: 114,752,017 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,504,266 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,143,152 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,443,747 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,764,974 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,570,889 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,328,880 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,897,910 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,313,594 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,129,804 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,389,070 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,266,272 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,307,379 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,408,168 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,325,472 msg/sec AtomicQueue, 1,s: 59,189,426 msg/sec AtomicQueue, 1,i: 59,434,312 msg/sec AtomicQueue, 2,s: 12,294,874 msg/sec AtomicQueue, 2,i: 11,717,187 msg/sec AtomicQueue, 3,s: 10,759,841 msg/sec AtomicQueue, 3,i: 9,903,294 msg/sec AtomicQueue, 4,s: 8,222,564 msg/sec AtomicQueue, 4,i: 8,179,563 msg/sec AtomicQueue, 5,s: 7,999,444 msg/sec AtomicQueue, 5,i: 8,094,885 msg/sec AtomicQueue, 6,s: 7,830,732 msg/sec AtomicQueue, 6,i: 7,614,360 msg/sec AtomicQueue, 7,s: 7,056,491 msg/sec AtomicQueue, 7,i: 7,969,761 msg/sec AtomicQueue, 8,s: 6,316,471 msg/sec AtomicQueue, 8,i: 7,440,536 msg/sec AtomicQueueB, 1,s: 44,088,744 msg/sec AtomicQueueB, 1,i: 43,472,240 msg/sec AtomicQueueB, 2,s: 12,058,803 msg/sec AtomicQueueB, 2,i: 11,386,258 msg/sec AtomicQueueB, 3,s: 11,040,196 msg/sec AtomicQueueB, 3,i: 10,119,437 msg/sec AtomicQueueB, 4,s: 8,021,684 msg/sec AtomicQueueB, 4,i: 7,980,568 msg/sec AtomicQueueB, 5,s: 7,554,626 msg/sec AtomicQueueB, 5,i: 7,816,628 msg/sec AtomicQueueB, 6,s: 7,378,217 msg/sec AtomicQueueB, 6,i: 7,516,450 msg/sec AtomicQueueB, 7,s: 6,892,270 msg/sec AtomicQueueB, 7,i: 7,733,943 msg/sec AtomicQueueB, 8,s: 6,324,138 msg/sec AtomicQueueB, 8,i: 6,996,402 msg/sec OptimistAtomicQueue, 1,s: 783,393,161 msg/sec OptimistAtomicQueue, 1,i: 621,425,058 msg/sec OptimistAtomicQueue, 2,s: 32,624,133 msg/sec OptimistAtomicQueue, 2,i: 32,704,668 msg/sec OptimistAtomicQueue, 3,s: 36,655,192 msg/sec OptimistAtomicQueue, 3,i: 37,406,053 msg/sec OptimistAtomicQueue, 4,s: 39,276,975 msg/sec OptimistAtomicQueue, 4,i: 39,424,466 msg/sec OptimistAtomicQueue, 5,s: 41,698,881 msg/sec OptimistAtomicQueue, 5,i: 46,299,737 msg/sec OptimistAtomicQueue, 6,s: 42,484,126 msg/sec OptimistAtomicQueue, 6,i: 50,471,279 msg/sec OptimistAtomicQueue, 7,s: 44,045,197 msg/sec OptimistAtomicQueue, 7,i: 53,001,382 msg/sec OptimistAtomicQueue, 8,s: 46,427,392 msg/sec OptimistAtomicQueue, 8,i: 49,270,390 msg/sec OptimistAtomicQueueB, 1,s: 160,917,008 msg/sec OptimistAtomicQueueB, 1,i: 168,554,185 msg/sec OptimistAtomicQueueB, 2,s: 32,334,580 msg/sec OptimistAtomicQueueB, 2,i: 32,185,035 msg/sec OptimistAtomicQueueB, 3,s: 36,227,604 msg/sec OptimistAtomicQueueB, 3,i: 36,828,849 msg/sec OptimistAtomicQueueB, 4,s: 38,753,089 msg/sec OptimistAtomicQueueB, 4,i: 38,656,070 msg/sec OptimistAtomicQueueB, 5,s: 40,691,628 msg/sec OptimistAtomicQueueB, 5,i: 45,380,548 msg/sec OptimistAtomicQueueB, 6,s: 41,563,255 msg/sec OptimistAtomicQueueB, 6,i: 49,182,925 msg/sec OptimistAtomicQueueB, 7,s: 43,056,174 msg/sec OptimistAtomicQueueB, 7,i: 48,399,250 msg/sec OptimistAtomicQueueB, 8,s: 44,400,562 msg/sec OptimistAtomicQueueB, 8,i: 48,019,817 msg/sec AtomicQueue2, 1,s: 23,545,433 msg/sec AtomicQueue2, 1,i: 23,165,008 msg/sec AtomicQueue2, 2,s: 11,810,935 msg/sec AtomicQueue2, 2,i: 11,552,542 msg/sec AtomicQueue2, 3,s: 9,310,773 msg/sec AtomicQueue2, 3,i: 9,502,245 msg/sec AtomicQueue2, 4,s: 8,113,583 msg/sec AtomicQueue2, 4,i: 8,067,531 msg/sec AtomicQueue2, 5,s: 7,919,007 msg/sec AtomicQueue2, 5,i: 8,036,998 msg/sec AtomicQueue2, 6,s: 7,506,022 msg/sec AtomicQueue2, 6,i: 7,534,622 msg/sec AtomicQueue2, 7,s: 7,079,492 msg/sec AtomicQueue2, 7,i: 7,884,969 msg/sec AtomicQueue2, 8,s: 6,392,218 msg/sec AtomicQueue2, 8,i: 7,360,234 msg/sec AtomicQueueB2, 1,s: 35,640,822 msg/sec AtomicQueueB2, 1,i: 32,606,612 msg/sec AtomicQueueB2, 2,s: 11,508,435 msg/sec AtomicQueueB2, 2,i: 11,120,887 msg/sec AtomicQueueB2, 3,s: 9,619,920 msg/sec AtomicQueueB2, 3,i: 9,600,965 msg/sec AtomicQueueB2, 4,s: 7,963,992 msg/sec AtomicQueueB2, 4,i: 7,790,896 msg/sec AtomicQueueB2, 5,s: 7,479,656 msg/sec AtomicQueueB2, 5,i: 7,687,406 msg/sec AtomicQueueB2, 6,s: 7,185,759 msg/sec AtomicQueueB2, 6,i: 7,453,973 msg/sec AtomicQueueB2, 7,s: 6,955,162 msg/sec AtomicQueueB2, 7,i: 7,705,856 msg/sec AtomicQueueB2, 8,s: 6,322,697 msg/sec AtomicQueueB2, 8,i: 7,042,640 msg/sec OptimistAtomicQueue2, 1,s: 311,638,392 msg/sec OptimistAtomicQueue2, 1,i: 29,668,070 msg/sec OptimistAtomicQueue2, 2,s: 24,569,201 msg/sec OptimistAtomicQueue2, 2,i: 23,650,741 msg/sec OptimistAtomicQueue2, 3,s: 30,323,611 msg/sec OptimistAtomicQueue2, 3,i: 29,955,306 msg/sec OptimistAtomicQueue2, 4,s: 33,235,892 msg/sec OptimistAtomicQueue2, 4,i: 33,136,023 msg/sec OptimistAtomicQueue2, 5,s: 37,252,319 msg/sec OptimistAtomicQueue2, 5,i: 40,029,462 msg/sec OptimistAtomicQueue2, 6,s: 40,105,355 msg/sec OptimistAtomicQueue2, 6,i: 49,173,838 msg/sec OptimistAtomicQueue2, 7,s: 42,603,694 msg/sec OptimistAtomicQueue2, 7,i: 51,466,551 msg/sec OptimistAtomicQueue2, 8,s: 44,220,856 msg/sec OptimistAtomicQueue2, 8,i: 48,276,109 msg/sec OptimistAtomicQueueB2, 1,s: 78,648,528 msg/sec OptimistAtomicQueueB2, 1,i: 33,932,109 msg/sec OptimistAtomicQueueB2, 2,s: 26,913,208 msg/sec OptimistAtomicQueueB2, 2,i: 23,193,257 msg/sec OptimistAtomicQueueB2, 3,s: 29,695,278 msg/sec OptimistAtomicQueueB2, 3,i: 29,368,397 msg/sec OptimistAtomicQueueB2, 4,s: 33,320,019 msg/sec OptimistAtomicQueueB2, 4,i: 32,805,156 msg/sec OptimistAtomicQueueB2, 5,s: 34,664,886 msg/sec OptimistAtomicQueueB2, 5,i: 39,310,711 msg/sec OptimistAtomicQueueB2, 6,s: 36,996,844 msg/sec OptimistAtomicQueueB2, 6,i: 42,119,056 msg/sec OptimistAtomicQueueB2, 7,s: 40,801,648 msg/sec OptimistAtomicQueueB2, 7,i: 43,102,485 msg/sec OptimistAtomicQueueB2, 8,s: 42,423,064 msg/sec OptimistAtomicQueueB2, 8,i: 46,050,133 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000124 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000268 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000379 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000184 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [208] 206m:52s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,533,256 msg/sec boost::lockfree::spsc_queue, 1,i: 70,256,301 msg/sec boost::lockfree::queue, 1,s: 8,023,389 msg/sec boost::lockfree::queue, 1,i: 7,894,704 msg/sec boost::lockfree::queue, 2,s: 7,581,002 msg/sec boost::lockfree::queue, 2,i: 7,652,371 msg/sec boost::lockfree::queue, 3,s: 7,345,835 msg/sec boost::lockfree::queue, 3,i: 7,538,551 msg/sec boost::lockfree::queue, 4,s: 6,416,264 msg/sec boost::lockfree::queue, 4,i: 6,829,602 msg/sec boost::lockfree::queue, 5,s: 6,459,115 msg/sec boost::lockfree::queue, 5,i: 6,509,242 msg/sec boost::lockfree::queue, 6,s: 6,005,679 msg/sec boost::lockfree::queue, 6,i: 6,095,856 msg/sec boost::lockfree::queue, 7,s: 5,980,207 msg/sec boost::lockfree::queue, 7,i: 6,098,917 msg/sec boost::lockfree::queue, 8,s: 5,467,801 msg/sec boost::lockfree::queue, 8,i: 5,558,383 msg/sec moodycamel::ReaderWriterQueue, 1,s: 48,257,892 msg/sec moodycamel::ReaderWriterQueue, 1,i: 50,297,471 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,901,647 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,732,100 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,263,556 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,456,630 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,801,482 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,438,664 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,802,554 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,810,590 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,375,527 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,399,103 msg/sec moodycamel::ConcurrentQueue, 6,s: 30,702,794 msg/sec moodycamel::ConcurrentQueue, 6,i: 34,035,625 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,021,145 msg/sec moodycamel::ConcurrentQueue, 7,i: 31,391,722 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,141,650 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,230,625 msg/sec pthread_spinlock, 1,s: 29,037,681 msg/sec pthread_spinlock, 1,i: 25,629,048 msg/sec pthread_spinlock, 2,s: 14,811,007 msg/sec pthread_spinlock, 2,i: 16,914,571 msg/sec pthread_spinlock, 3,s: 8,275,545 msg/sec pthread_spinlock, 3,i: 12,066,402 msg/sec pthread_spinlock, 4,s: 6,530,053 msg/sec pthread_spinlock, 4,i: 9,205,106 msg/sec pthread_spinlock, 5,s: 8,713,368 msg/sec pthread_spinlock, 5,i: 9,288,632 msg/sec pthread_spinlock, 6,s: 8,322,954 msg/sec pthread_spinlock, 6,i: 8,412,295 msg/sec pthread_spinlock, 7,s: 7,557,677 msg/sec pthread_spinlock, 7,i: 7,603,706 msg/sec pthread_spinlock, 8,s: 6,708,928 msg/sec pthread_spinlock, 8,i: 7,247,751 msg/sec std::mutex, 1,s: 5,406,815 msg/sec std::mutex, 1,i: 6,666,655 msg/sec std::mutex, 2,s: 5,417,400 msg/sec std::mutex, 2,i: 6,102,042 msg/sec std::mutex, 3,s: 5,923,928 msg/sec std::mutex, 3,i: 5,552,536 msg/sec std::mutex, 4,s: 5,441,234 msg/sec std::mutex, 4,i: 6,149,061 msg/sec std::mutex, 5,s: 5,959,921 msg/sec std::mutex, 5,i: 6,030,285 msg/sec std::mutex, 6,s: 5,605,736 msg/sec std::mutex, 6,i: 5,850,419 msg/sec std::mutex, 7,s: 5,774,449 msg/sec std::mutex, 7,i: 5,767,851 msg/sec std::mutex, 8,s: 5,656,818 msg/sec std::mutex, 8,i: 5,671,491 msg/sec tbb::spin_mutex, 1,s: 38,012,696 msg/sec tbb::spin_mutex, 1,i: 33,446,485 msg/sec tbb::spin_mutex, 2,s: 21,301,767 msg/sec tbb::spin_mutex, 2,i: 18,663,381 msg/sec tbb::spin_mutex, 3,s: 7,819,230 msg/sec tbb::spin_mutex, 3,i: 10,297,913 msg/sec tbb::spin_mutex, 4,s: 3,278,304 msg/sec tbb::spin_mutex, 4,i: 6,338,471 msg/sec tbb::spin_mutex, 5,s: 5,243,178 msg/sec tbb::spin_mutex, 5,i: 5,563,683 msg/sec tbb::spin_mutex, 6,s: 5,352,294 msg/sec tbb::spin_mutex, 6,i: 4,353,209 msg/sec tbb::spin_mutex, 7,s: 4,849,475 msg/sec tbb::spin_mutex, 7,i: 4,398,240 msg/sec tbb::spin_mutex, 8,s: 3,923,347 msg/sec tbb::spin_mutex, 8,i: 4,049,605 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,337,986 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,962,321 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,310,401 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,531,180 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,541,198 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,885,268 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,563,130 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,563,017 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,998,020 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,629,859 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,942,252 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,677,262 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,874,937 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,830,607 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,771,859 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,458,999 msg/sec xenium::michael_scott_queue, 1,s: 10,130,042 msg/sec xenium::michael_scott_queue, 1,i: 10,068,395 msg/sec xenium::michael_scott_queue, 2,s: 8,489,111 msg/sec xenium::michael_scott_queue, 2,i: 8,518,311 msg/sec xenium::michael_scott_queue, 3,s: 7,250,439 msg/sec xenium::michael_scott_queue, 3,i: 7,534,300 msg/sec xenium::michael_scott_queue, 4,s: 6,269,830 msg/sec xenium::michael_scott_queue, 4,i: 6,355,033 msg/sec xenium::michael_scott_queue, 5,s: 6,300,767 msg/sec xenium::michael_scott_queue, 5,i: 6,642,712 msg/sec xenium::michael_scott_queue, 6,s: 6,560,334 msg/sec xenium::michael_scott_queue, 6,i: 6,703,600 msg/sec xenium::michael_scott_queue, 7,s: 6,327,082 msg/sec xenium::michael_scott_queue, 7,i: 6,450,438 msg/sec xenium::michael_scott_queue, 8,s: 6,038,258 msg/sec xenium::michael_scott_queue, 8,i: 6,100,494 msg/sec xenium::ramalhete_queue, 1,s: 32,202,439 msg/sec xenium::ramalhete_queue, 1,i: 32,505,619 msg/sec xenium::ramalhete_queue, 2,s: 23,589,863 msg/sec xenium::ramalhete_queue, 2,i: 23,407,395 msg/sec xenium::ramalhete_queue, 3,s: 29,462,969 msg/sec xenium::ramalhete_queue, 3,i: 28,485,993 msg/sec xenium::ramalhete_queue, 4,s: 33,839,318 msg/sec xenium::ramalhete_queue, 4,i: 33,535,269 msg/sec xenium::ramalhete_queue, 5,s: 32,152,480 msg/sec xenium::ramalhete_queue, 5,i: 36,132,308 msg/sec xenium::ramalhete_queue, 6,s: 33,946,855 msg/sec xenium::ramalhete_queue, 6,i: 40,020,360 msg/sec xenium::ramalhete_queue, 7,s: 34,997,798 msg/sec xenium::ramalhete_queue, 7,i: 41,787,720 msg/sec xenium::ramalhete_queue, 8,s: 35,589,421 msg/sec xenium::ramalhete_queue, 8,i: 44,108,178 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,203,753 msg/sec xenium::vyukov_bounded_queue, 1,i: 101,565,618 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,047,181 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,633,723 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,636,904 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,012,195 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,634,312 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,161,358 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,900,782 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,262,095 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,071,182 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,431,708 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,207,790 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,345,677 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,394,120 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,236,207 msg/sec AtomicQueue, 1,s: 67,069,924 msg/sec AtomicQueue, 1,i: 56,949,824 msg/sec AtomicQueue, 2,s: 12,219,608 msg/sec AtomicQueue, 2,i: 11,725,173 msg/sec AtomicQueue, 3,s: 10,759,940 msg/sec AtomicQueue, 3,i: 9,906,436 msg/sec AtomicQueue, 4,s: 8,178,292 msg/sec AtomicQueue, 4,i: 8,224,703 msg/sec AtomicQueue, 5,s: 8,027,024 msg/sec AtomicQueue, 5,i: 8,104,729 msg/sec AtomicQueue, 6,s: 7,734,929 msg/sec AtomicQueue, 6,i: 7,604,552 msg/sec AtomicQueue, 7,s: 7,065,006 msg/sec AtomicQueue, 7,i: 7,972,003 msg/sec AtomicQueue, 8,s: 6,333,447 msg/sec AtomicQueue, 8,i: 7,335,969 msg/sec AtomicQueueB, 1,s: 44,594,864 msg/sec AtomicQueueB, 1,i: 43,925,262 msg/sec AtomicQueueB, 2,s: 11,828,194 msg/sec AtomicQueueB, 2,i: 11,454,450 msg/sec AtomicQueueB, 3,s: 11,005,904 msg/sec AtomicQueueB, 3,i: 10,065,573 msg/sec AtomicQueueB, 4,s: 8,024,493 msg/sec AtomicQueueB, 4,i: 7,910,743 msg/sec AtomicQueueB, 5,s: 7,590,183 msg/sec AtomicQueueB, 5,i: 7,820,758 msg/sec AtomicQueueB, 6,s: 7,280,524 msg/sec AtomicQueueB, 6,i: 7,579,849 msg/sec AtomicQueueB, 7,s: 6,883,616 msg/sec AtomicQueueB, 7,i: 7,739,118 msg/sec AtomicQueueB, 8,s: 6,183,235 msg/sec AtomicQueueB, 8,i: 7,014,091 msg/sec OptimistAtomicQueue, 1,s: 516,763,551 msg/sec OptimistAtomicQueue, 1,i: 532,846,595 msg/sec OptimistAtomicQueue, 2,s: 32,108,430 msg/sec OptimistAtomicQueue, 2,i: 32,198,688 msg/sec OptimistAtomicQueue, 3,s: 36,666,049 msg/sec OptimistAtomicQueue, 3,i: 37,399,234 msg/sec OptimistAtomicQueue, 4,s: 39,277,866 msg/sec OptimistAtomicQueue, 4,i: 39,429,266 msg/sec OptimistAtomicQueue, 5,s: 41,562,041 msg/sec OptimistAtomicQueue, 5,i: 46,543,921 msg/sec OptimistAtomicQueue, 6,s: 42,194,515 msg/sec OptimistAtomicQueue, 6,i: 50,424,856 msg/sec OptimistAtomicQueue, 7,s: 44,411,702 msg/sec OptimistAtomicQueue, 7,i: 49,228,203 msg/sec OptimistAtomicQueue, 8,s: 46,548,823 msg/sec OptimistAtomicQueue, 8,i: 48,544,458 msg/sec OptimistAtomicQueueB, 1,s: 78,050,343 msg/sec OptimistAtomicQueueB, 1,i: 76,929,516 msg/sec OptimistAtomicQueueB, 2,s: 32,216,547 msg/sec OptimistAtomicQueueB, 2,i: 32,128,832 msg/sec OptimistAtomicQueueB, 3,s: 36,293,056 msg/sec OptimistAtomicQueueB, 3,i: 36,896,382 msg/sec OptimistAtomicQueueB, 4,s: 38,651,746 msg/sec OptimistAtomicQueueB, 4,i: 38,666,822 msg/sec OptimistAtomicQueueB, 5,s: 36,948,841 msg/sec OptimistAtomicQueueB, 5,i: 45,354,171 msg/sec OptimistAtomicQueueB, 6,s: 40,809,013 msg/sec OptimistAtomicQueueB, 6,i: 49,314,390 msg/sec OptimistAtomicQueueB, 7,s: 41,820,731 msg/sec OptimistAtomicQueueB, 7,i: 51,588,873 msg/sec OptimistAtomicQueueB, 8,s: 44,045,278 msg/sec OptimistAtomicQueueB, 8,i: 48,593,694 msg/sec AtomicQueue2, 1,s: 23,129,376 msg/sec AtomicQueue2, 1,i: 22,899,546 msg/sec AtomicQueue2, 2,s: 11,972,163 msg/sec AtomicQueue2, 2,i: 11,491,567 msg/sec AtomicQueue2, 3,s: 9,378,251 msg/sec AtomicQueue2, 3,i: 9,394,916 msg/sec AtomicQueue2, 4,s: 8,024,649 msg/sec AtomicQueue2, 4,i: 8,070,378 msg/sec AtomicQueue2, 5,s: 7,930,339 msg/sec AtomicQueue2, 5,i: 8,066,980 msg/sec AtomicQueue2, 6,s: 7,886,290 msg/sec AtomicQueue2, 6,i: 7,544,403 msg/sec AtomicQueue2, 7,s: 7,133,385 msg/sec AtomicQueue2, 7,i: 7,877,734 msg/sec AtomicQueue2, 8,s: 6,386,481 msg/sec AtomicQueue2, 8,i: 7,211,504 msg/sec AtomicQueueB2, 1,s: 36,013,157 msg/sec AtomicQueueB2, 1,i: 32,641,459 msg/sec AtomicQueueB2, 2,s: 11,422,884 msg/sec AtomicQueueB2, 2,i: 11,131,631 msg/sec AtomicQueueB2, 3,s: 9,683,223 msg/sec AtomicQueueB2, 3,i: 9,617,377 msg/sec AtomicQueueB2, 4,s: 8,000,338 msg/sec AtomicQueueB2, 4,i: 7,862,508 msg/sec AtomicQueueB2, 5,s: 7,549,165 msg/sec AtomicQueueB2, 5,i: 7,671,962 msg/sec AtomicQueueB2, 6,s: 7,285,781 msg/sec AtomicQueueB2, 6,i: 7,438,750 msg/sec AtomicQueueB2, 7,s: 6,855,190 msg/sec AtomicQueueB2, 7,i: 7,697,127 msg/sec AtomicQueueB2, 8,s: 6,262,657 msg/sec AtomicQueueB2, 8,i: 7,108,237 msg/sec OptimistAtomicQueue2, 1,s: 423,297,758 msg/sec OptimistAtomicQueue2, 1,i: 419,232,676 msg/sec OptimistAtomicQueue2, 2,s: 26,188,777 msg/sec OptimistAtomicQueue2, 2,i: 24,006,802 msg/sec OptimistAtomicQueue2, 3,s: 30,317,086 msg/sec OptimistAtomicQueue2, 3,i: 30,205,250 msg/sec OptimistAtomicQueue2, 4,s: 33,207,142 msg/sec OptimistAtomicQueue2, 4,i: 33,063,849 msg/sec OptimistAtomicQueue2, 5,s: 37,209,106 msg/sec OptimistAtomicQueue2, 5,i: 43,054,982 msg/sec OptimistAtomicQueue2, 6,s: 40,071,719 msg/sec OptimistAtomicQueue2, 6,i: 49,395,608 msg/sec OptimistAtomicQueue2, 7,s: 43,147,022 msg/sec OptimistAtomicQueue2, 7,i: 47,939,384 msg/sec OptimistAtomicQueue2, 8,s: 43,936,545 msg/sec OptimistAtomicQueue2, 8,i: 48,672,458 msg/sec OptimistAtomicQueueB2, 1,s: 76,560,622 msg/sec OptimistAtomicQueueB2, 1,i: 33,881,807 msg/sec OptimistAtomicQueueB2, 2,s: 27,186,715 msg/sec OptimistAtomicQueueB2, 2,i: 25,141,871 msg/sec OptimistAtomicQueueB2, 3,s: 29,682,877 msg/sec OptimistAtomicQueueB2, 3,i: 29,066,544 msg/sec OptimistAtomicQueueB2, 4,s: 33,338,334 msg/sec OptimistAtomicQueueB2, 4,i: 32,959,837 msg/sec OptimistAtomicQueueB2, 5,s: 34,778,233 msg/sec OptimistAtomicQueueB2, 5,i: 38,967,359 msg/sec OptimistAtomicQueueB2, 6,s: 37,690,006 msg/sec OptimistAtomicQueueB2, 6,i: 42,447,277 msg/sec OptimistAtomicQueueB2, 7,s: 40,715,029 msg/sec OptimistAtomicQueueB2, 7,i: 43,263,988 msg/sec OptimistAtomicQueueB2, 8,s: 42,316,213 msg/sec OptimistAtomicQueueB2, 8,i: 45,603,104 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000324 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000216 sec/round-trip pthread_spinlock: 0.000000234 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000283 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000185 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [209] 205m:33s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,080,522 msg/sec boost::lockfree::spsc_queue, 1,i: 65,291,650 msg/sec boost::lockfree::queue, 1,s: 6,949,957 msg/sec boost::lockfree::queue, 1,i: 6,943,821 msg/sec boost::lockfree::queue, 2,s: 7,566,499 msg/sec boost::lockfree::queue, 2,i: 7,423,667 msg/sec boost::lockfree::queue, 3,s: 7,414,528 msg/sec boost::lockfree::queue, 3,i: 7,541,963 msg/sec boost::lockfree::queue, 4,s: 6,424,509 msg/sec boost::lockfree::queue, 4,i: 6,794,710 msg/sec boost::lockfree::queue, 5,s: 6,445,076 msg/sec boost::lockfree::queue, 5,i: 6,513,928 msg/sec boost::lockfree::queue, 6,s: 6,026,981 msg/sec boost::lockfree::queue, 6,i: 6,143,339 msg/sec boost::lockfree::queue, 7,s: 5,869,719 msg/sec boost::lockfree::queue, 7,i: 5,925,499 msg/sec boost::lockfree::queue, 8,s: 5,496,107 msg/sec boost::lockfree::queue, 8,i: 5,660,570 msg/sec moodycamel::ReaderWriterQueue, 1,s: 73,500,361 msg/sec moodycamel::ReaderWriterQueue, 1,i: 70,875,324 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,804,873 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,681,062 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,379,838 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,296,441 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,520,727 msg/sec moodycamel::ConcurrentQueue, 3,i: 43,212,305 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,407,149 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,646,155 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,232,564 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,692,904 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,436,861 msg/sec moodycamel::ConcurrentQueue, 6,i: 44,058,344 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,980,411 msg/sec moodycamel::ConcurrentQueue, 7,i: 35,202,306 msg/sec moodycamel::ConcurrentQueue, 8,s: 31,022,421 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,353,479 msg/sec pthread_spinlock, 1,s: 28,711,454 msg/sec pthread_spinlock, 1,i: 25,409,284 msg/sec pthread_spinlock, 2,s: 15,605,555 msg/sec pthread_spinlock, 2,i: 17,132,829 msg/sec pthread_spinlock, 3,s: 8,307,206 msg/sec pthread_spinlock, 3,i: 12,007,366 msg/sec pthread_spinlock, 4,s: 6,524,618 msg/sec pthread_spinlock, 4,i: 9,140,364 msg/sec pthread_spinlock, 5,s: 8,615,804 msg/sec pthread_spinlock, 5,i: 9,098,844 msg/sec pthread_spinlock, 6,s: 8,563,067 msg/sec pthread_spinlock, 6,i: 8,919,913 msg/sec pthread_spinlock, 7,s: 7,549,083 msg/sec pthread_spinlock, 7,i: 7,645,607 msg/sec pthread_spinlock, 8,s: 6,643,165 msg/sec pthread_spinlock, 8,i: 6,963,341 msg/sec std::mutex, 1,s: 6,982,537 msg/sec std::mutex, 1,i: 7,700,991 msg/sec std::mutex, 2,s: 6,169,955 msg/sec std::mutex, 2,i: 5,705,864 msg/sec std::mutex, 3,s: 5,257,007 msg/sec std::mutex, 3,i: 5,760,372 msg/sec std::mutex, 4,s: 5,712,429 msg/sec std::mutex, 4,i: 5,250,871 msg/sec std::mutex, 5,s: 5,598,634 msg/sec std::mutex, 5,i: 5,732,513 msg/sec std::mutex, 6,s: 5,932,677 msg/sec std::mutex, 6,i: 5,903,600 msg/sec std::mutex, 7,s: 5,796,972 msg/sec std::mutex, 7,i: 5,820,452 msg/sec std::mutex, 8,s: 5,664,888 msg/sec std::mutex, 8,i: 5,650,387 msg/sec tbb::spin_mutex, 1,s: 37,860,170 msg/sec tbb::spin_mutex, 1,i: 33,005,860 msg/sec tbb::spin_mutex, 2,s: 21,269,845 msg/sec tbb::spin_mutex, 2,i: 18,389,713 msg/sec tbb::spin_mutex, 3,s: 8,097,187 msg/sec tbb::spin_mutex, 3,i: 10,243,852 msg/sec tbb::spin_mutex, 4,s: 3,130,738 msg/sec tbb::spin_mutex, 4,i: 6,382,103 msg/sec tbb::spin_mutex, 5,s: 5,527,890 msg/sec tbb::spin_mutex, 5,i: 5,398,795 msg/sec tbb::spin_mutex, 6,s: 5,315,509 msg/sec tbb::spin_mutex, 6,i: 4,302,944 msg/sec tbb::spin_mutex, 7,s: 4,506,118 msg/sec tbb::spin_mutex, 7,i: 4,379,360 msg/sec tbb::spin_mutex, 8,s: 4,265,401 msg/sec tbb::spin_mutex, 8,i: 4,192,279 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,287,854 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,572,292 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,613,088 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,403,700 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,168,771 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,954,812 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,410,971 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,236,212 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,656,263 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,926,706 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,836,655 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,900,495 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,041,531 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,945,440 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,009,202 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,086,394 msg/sec xenium::michael_scott_queue, 1,s: 10,129,565 msg/sec xenium::michael_scott_queue, 1,i: 9,993,817 msg/sec xenium::michael_scott_queue, 2,s: 8,527,111 msg/sec xenium::michael_scott_queue, 2,i: 8,680,380 msg/sec xenium::michael_scott_queue, 3,s: 7,195,379 msg/sec xenium::michael_scott_queue, 3,i: 7,562,105 msg/sec xenium::michael_scott_queue, 4,s: 6,237,097 msg/sec xenium::michael_scott_queue, 4,i: 6,381,285 msg/sec xenium::michael_scott_queue, 5,s: 6,288,676 msg/sec xenium::michael_scott_queue, 5,i: 6,622,036 msg/sec xenium::michael_scott_queue, 6,s: 6,457,398 msg/sec xenium::michael_scott_queue, 6,i: 6,980,219 msg/sec xenium::michael_scott_queue, 7,s: 6,309,430 msg/sec xenium::michael_scott_queue, 7,i: 6,479,986 msg/sec xenium::michael_scott_queue, 8,s: 5,975,405 msg/sec xenium::michael_scott_queue, 8,i: 6,157,907 msg/sec xenium::ramalhete_queue, 1,s: 31,455,175 msg/sec xenium::ramalhete_queue, 1,i: 31,748,945 msg/sec xenium::ramalhete_queue, 2,s: 24,241,793 msg/sec xenium::ramalhete_queue, 2,i: 23,294,070 msg/sec xenium::ramalhete_queue, 3,s: 29,255,838 msg/sec xenium::ramalhete_queue, 3,i: 28,375,736 msg/sec xenium::ramalhete_queue, 4,s: 33,848,796 msg/sec xenium::ramalhete_queue, 4,i: 33,435,226 msg/sec xenium::ramalhete_queue, 5,s: 31,874,671 msg/sec xenium::ramalhete_queue, 5,i: 36,026,877 msg/sec xenium::ramalhete_queue, 6,s: 33,994,920 msg/sec xenium::ramalhete_queue, 6,i: 38,827,820 msg/sec xenium::ramalhete_queue, 7,s: 35,211,271 msg/sec xenium::ramalhete_queue, 7,i: 40,801,379 msg/sec xenium::ramalhete_queue, 8,s: 35,584,895 msg/sec xenium::ramalhete_queue, 8,i: 43,995,941 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,051,714 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,279,083 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,928,276 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,500,155 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,630,734 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,004,248 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,589,639 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,347,643 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,049,826 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,331,946 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,867,230 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,484,803 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,234,629 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,369,823 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,375 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,240,809 msg/sec AtomicQueue, 1,s: 58,274,484 msg/sec AtomicQueue, 1,i: 56,756,793 msg/sec AtomicQueue, 2,s: 12,210,318 msg/sec AtomicQueue, 2,i: 11,745,967 msg/sec AtomicQueue, 3,s: 10,783,035 msg/sec AtomicQueue, 3,i: 9,984,507 msg/sec AtomicQueue, 4,s: 8,202,716 msg/sec AtomicQueue, 4,i: 8,190,924 msg/sec AtomicQueue, 5,s: 8,013,008 msg/sec AtomicQueue, 5,i: 8,133,157 msg/sec AtomicQueue, 6,s: 7,819,211 msg/sec AtomicQueue, 6,i: 7,593,369 msg/sec AtomicQueue, 7,s: 7,129,562 msg/sec AtomicQueue, 7,i: 7,986,489 msg/sec AtomicQueue, 8,s: 6,354,221 msg/sec AtomicQueue, 8,i: 7,460,616 msg/sec AtomicQueueB, 1,s: 44,320,132 msg/sec AtomicQueueB, 1,i: 54,257,201 msg/sec AtomicQueueB, 2,s: 11,893,812 msg/sec AtomicQueueB, 2,i: 11,519,990 msg/sec AtomicQueueB, 3,s: 10,990,236 msg/sec AtomicQueueB, 3,i: 10,156,114 msg/sec AtomicQueueB, 4,s: 8,065,263 msg/sec AtomicQueueB, 4,i: 7,937,681 msg/sec AtomicQueueB, 5,s: 7,685,133 msg/sec AtomicQueueB, 5,i: 7,778,313 msg/sec AtomicQueueB, 6,s: 7,420,591 msg/sec AtomicQueueB, 6,i: 7,584,119 msg/sec AtomicQueueB, 7,s: 6,855,859 msg/sec AtomicQueueB, 7,i: 7,722,712 msg/sec AtomicQueueB, 8,s: 6,225,827 msg/sec AtomicQueueB, 8,i: 7,140,371 msg/sec OptimistAtomicQueue, 1,s: 814,103,198 msg/sec OptimistAtomicQueue, 1,i: 633,336,990 msg/sec OptimistAtomicQueue, 2,s: 32,662,397 msg/sec OptimistAtomicQueue, 2,i: 32,714,832 msg/sec OptimistAtomicQueue, 3,s: 36,660,261 msg/sec OptimistAtomicQueue, 3,i: 37,350,446 msg/sec OptimistAtomicQueue, 4,s: 39,289,672 msg/sec OptimistAtomicQueue, 4,i: 39,356,494 msg/sec OptimistAtomicQueue, 5,s: 42,563,576 msg/sec OptimistAtomicQueue, 5,i: 46,421,248 msg/sec OptimistAtomicQueue, 6,s: 41,443,858 msg/sec OptimistAtomicQueue, 6,i: 50,483,127 msg/sec OptimistAtomicQueue, 7,s: 44,961,657 msg/sec OptimistAtomicQueue, 7,i: 53,004,396 msg/sec OptimistAtomicQueue, 8,s: 46,472,852 msg/sec OptimistAtomicQueue, 8,i: 49,575,447 msg/sec OptimistAtomicQueueB, 1,s: 257,819,404 msg/sec OptimistAtomicQueueB, 1,i: 204,642,101 msg/sec OptimistAtomicQueueB, 2,s: 32,174,048 msg/sec OptimistAtomicQueueB, 2,i: 32,232,027 msg/sec OptimistAtomicQueueB, 3,s: 36,273,561 msg/sec OptimistAtomicQueueB, 3,i: 36,941,121 msg/sec OptimistAtomicQueueB, 4,s: 38,607,793 msg/sec OptimistAtomicQueueB, 4,i: 38,540,758 msg/sec OptimistAtomicQueueB, 5,s: 40,432,351 msg/sec OptimistAtomicQueueB, 5,i: 45,260,087 msg/sec OptimistAtomicQueueB, 6,s: 41,092,059 msg/sec OptimistAtomicQueueB, 6,i: 49,212,736 msg/sec OptimistAtomicQueueB, 7,s: 42,212,589 msg/sec OptimistAtomicQueueB, 7,i: 51,220,469 msg/sec OptimistAtomicQueueB, 8,s: 44,185,172 msg/sec OptimistAtomicQueueB, 8,i: 47,454,919 msg/sec AtomicQueue2, 1,s: 22,892,581 msg/sec AtomicQueue2, 1,i: 22,929,035 msg/sec AtomicQueue2, 2,s: 11,829,094 msg/sec AtomicQueue2, 2,i: 11,408,454 msg/sec AtomicQueue2, 3,s: 9,504,377 msg/sec AtomicQueue2, 3,i: 9,440,874 msg/sec AtomicQueue2, 4,s: 8,085,944 msg/sec AtomicQueue2, 4,i: 8,032,134 msg/sec AtomicQueue2, 5,s: 7,934,636 msg/sec AtomicQueue2, 5,i: 8,004,052 msg/sec AtomicQueue2, 6,s: 7,895,754 msg/sec AtomicQueue2, 6,i: 7,556,025 msg/sec AtomicQueue2, 7,s: 7,137,056 msg/sec AtomicQueue2, 7,i: 7,883,534 msg/sec AtomicQueue2, 8,s: 6,376,287 msg/sec AtomicQueue2, 8,i: 7,325,012 msg/sec AtomicQueueB2, 1,s: 38,732,176 msg/sec AtomicQueueB2, 1,i: 33,433,464 msg/sec AtomicQueueB2, 2,s: 11,387,829 msg/sec AtomicQueueB2, 2,i: 11,120,924 msg/sec AtomicQueueB2, 3,s: 9,577,723 msg/sec AtomicQueueB2, 3,i: 9,588,152 msg/sec AtomicQueueB2, 4,s: 7,932,074 msg/sec AtomicQueueB2, 4,i: 7,845,041 msg/sec AtomicQueueB2, 5,s: 7,491,870 msg/sec AtomicQueueB2, 5,i: 7,725,125 msg/sec AtomicQueueB2, 6,s: 7,269,004 msg/sec AtomicQueueB2, 6,i: 7,465,293 msg/sec AtomicQueueB2, 7,s: 6,941,012 msg/sec AtomicQueueB2, 7,i: 7,680,445 msg/sec AtomicQueueB2, 8,s: 6,248,026 msg/sec AtomicQueueB2, 8,i: 7,108,190 msg/sec OptimistAtomicQueue2, 1,s: 466,457,561 msg/sec OptimistAtomicQueue2, 1,i: 31,695,773 msg/sec OptimistAtomicQueue2, 2,s: 24,837,962 msg/sec OptimistAtomicQueue2, 2,i: 23,229,304 msg/sec OptimistAtomicQueue2, 3,s: 30,478,478 msg/sec OptimistAtomicQueue2, 3,i: 29,966,956 msg/sec OptimistAtomicQueue2, 4,s: 33,238,475 msg/sec OptimistAtomicQueue2, 4,i: 33,556,318 msg/sec OptimistAtomicQueue2, 5,s: 37,041,496 msg/sec OptimistAtomicQueue2, 5,i: 43,173,082 msg/sec OptimistAtomicQueue2, 6,s: 40,212,142 msg/sec OptimistAtomicQueue2, 6,i: 49,259,808 msg/sec OptimistAtomicQueue2, 7,s: 43,216,918 msg/sec OptimistAtomicQueue2, 7,i: 51,429,925 msg/sec OptimistAtomicQueue2, 8,s: 43,948,580 msg/sec OptimistAtomicQueue2, 8,i: 48,353,708 msg/sec OptimistAtomicQueueB2, 1,s: 77,410,611 msg/sec OptimistAtomicQueueB2, 1,i: 33,875,363 msg/sec OptimistAtomicQueueB2, 2,s: 29,155,740 msg/sec OptimistAtomicQueueB2, 2,i: 25,447,379 msg/sec OptimistAtomicQueueB2, 3,s: 32,431,159 msg/sec OptimistAtomicQueueB2, 3,i: 29,690,467 msg/sec OptimistAtomicQueueB2, 4,s: 32,812,697 msg/sec OptimistAtomicQueueB2, 4,i: 31,911,630 msg/sec OptimistAtomicQueueB2, 5,s: 34,432,875 msg/sec OptimistAtomicQueueB2, 5,i: 39,109,739 msg/sec OptimistAtomicQueueB2, 6,s: 37,629,631 msg/sec OptimistAtomicQueueB2, 6,i: 42,200,747 msg/sec OptimistAtomicQueueB2, 7,s: 40,874,913 msg/sec OptimistAtomicQueueB2, 7,i: 43,222,817 msg/sec OptimistAtomicQueueB2, 8,s: 42,423,397 msg/sec OptimistAtomicQueueB2, 8,i: 46,331,516 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000329 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000244 sec/round-trip pthread_spinlock: 0.000000292 sec/round-trip std::mutex: 0.000000520 sec/round-trip tbb::spin_mutex: 0.000000308 sec/round-trip tbb::concurrent_bounded_queue: 0.000000275 sec/round-trip xenium::michael_scott_queue: 0.000000398 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [210] 204m:13s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,915,276 msg/sec boost::lockfree::spsc_queue, 1,i: 68,461,434 msg/sec boost::lockfree::queue, 1,s: 6,874,833 msg/sec boost::lockfree::queue, 1,i: 6,925,033 msg/sec boost::lockfree::queue, 2,s: 7,600,455 msg/sec boost::lockfree::queue, 2,i: 7,595,779 msg/sec boost::lockfree::queue, 3,s: 7,377,877 msg/sec boost::lockfree::queue, 3,i: 7,491,411 msg/sec boost::lockfree::queue, 4,s: 6,426,596 msg/sec boost::lockfree::queue, 4,i: 6,834,830 msg/sec boost::lockfree::queue, 5,s: 6,397,392 msg/sec boost::lockfree::queue, 5,i: 6,496,802 msg/sec boost::lockfree::queue, 6,s: 5,994,620 msg/sec boost::lockfree::queue, 6,i: 6,127,679 msg/sec boost::lockfree::queue, 7,s: 5,908,075 msg/sec boost::lockfree::queue, 7,i: 5,915,803 msg/sec boost::lockfree::queue, 8,s: 5,502,094 msg/sec boost::lockfree::queue, 8,i: 5,666,895 msg/sec moodycamel::ReaderWriterQueue, 1,s: 446,540,056 msg/sec moodycamel::ReaderWriterQueue, 1,i: 158,619,225 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,248,778 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,705,232 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,469,853 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,460,898 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,203,079 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,740,037 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,310,986 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,080,146 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,108,805 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,767,996 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,388,652 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,742,236 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,845,715 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,411,546 msg/sec moodycamel::ConcurrentQueue, 8,s: 52,239,998 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,339,777 msg/sec pthread_spinlock, 1,s: 29,023,475 msg/sec pthread_spinlock, 1,i: 27,992,897 msg/sec pthread_spinlock, 2,s: 15,937,841 msg/sec pthread_spinlock, 2,i: 16,878,670 msg/sec pthread_spinlock, 3,s: 8,288,826 msg/sec pthread_spinlock, 3,i: 12,070,784 msg/sec pthread_spinlock, 4,s: 6,484,088 msg/sec pthread_spinlock, 4,i: 9,000,682 msg/sec pthread_spinlock, 5,s: 8,640,335 msg/sec pthread_spinlock, 5,i: 9,266,526 msg/sec pthread_spinlock, 6,s: 8,489,284 msg/sec pthread_spinlock, 6,i: 8,587,610 msg/sec pthread_spinlock, 7,s: 7,731,975 msg/sec pthread_spinlock, 7,i: 8,203,984 msg/sec pthread_spinlock, 8,s: 6,720,856 msg/sec pthread_spinlock, 8,i: 6,922,960 msg/sec std::mutex, 1,s: 7,575,795 msg/sec std::mutex, 1,i: 7,546,495 msg/sec std::mutex, 2,s: 6,069,993 msg/sec std::mutex, 2,i: 6,191,148 msg/sec std::mutex, 3,s: 5,951,918 msg/sec std::mutex, 3,i: 6,052,971 msg/sec std::mutex, 4,s: 5,952,958 msg/sec std::mutex, 4,i: 6,157,187 msg/sec std::mutex, 5,s: 5,902,440 msg/sec std::mutex, 5,i: 5,903,764 msg/sec std::mutex, 6,s: 5,793,331 msg/sec std::mutex, 6,i: 5,932,702 msg/sec std::mutex, 7,s: 5,755,891 msg/sec std::mutex, 7,i: 5,735,041 msg/sec std::mutex, 8,s: 5,489,771 msg/sec std::mutex, 8,i: 5,524,271 msg/sec tbb::spin_mutex, 1,s: 37,933,561 msg/sec tbb::spin_mutex, 1,i: 37,599,452 msg/sec tbb::spin_mutex, 2,s: 21,072,400 msg/sec tbb::spin_mutex, 2,i: 18,411,997 msg/sec tbb::spin_mutex, 3,s: 8,394,494 msg/sec tbb::spin_mutex, 3,i: 11,402,331 msg/sec tbb::spin_mutex, 4,s: 3,080,087 msg/sec tbb::spin_mutex, 4,i: 6,269,688 msg/sec tbb::spin_mutex, 5,s: 5,485,957 msg/sec tbb::spin_mutex, 5,i: 5,661,256 msg/sec tbb::spin_mutex, 6,s: 5,238,568 msg/sec tbb::spin_mutex, 6,i: 4,340,409 msg/sec tbb::spin_mutex, 7,s: 4,855,154 msg/sec tbb::spin_mutex, 7,i: 4,331,083 msg/sec tbb::spin_mutex, 8,s: 3,799,409 msg/sec tbb::spin_mutex, 8,i: 4,149,770 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,211,725 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,318,935 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,277,056 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,489,933 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,200,904 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,349,568 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,965,273 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,139,286 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,569,615 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,369,079 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,635,765 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,719,823 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,669,433 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,134,776 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,750,966 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,934,796 msg/sec xenium::michael_scott_queue, 1,s: 9,250,469 msg/sec xenium::michael_scott_queue, 1,i: 9,058,748 msg/sec xenium::michael_scott_queue, 2,s: 8,402,344 msg/sec xenium::michael_scott_queue, 2,i: 8,516,335 msg/sec xenium::michael_scott_queue, 3,s: 7,127,606 msg/sec xenium::michael_scott_queue, 3,i: 7,591,381 msg/sec xenium::michael_scott_queue, 4,s: 6,337,227 msg/sec xenium::michael_scott_queue, 4,i: 6,323,841 msg/sec xenium::michael_scott_queue, 5,s: 6,279,826 msg/sec xenium::michael_scott_queue, 5,i: 6,631,803 msg/sec xenium::michael_scott_queue, 6,s: 6,543,785 msg/sec xenium::michael_scott_queue, 6,i: 6,930,017 msg/sec xenium::michael_scott_queue, 7,s: 6,297,152 msg/sec xenium::michael_scott_queue, 7,i: 6,509,282 msg/sec xenium::michael_scott_queue, 8,s: 5,988,844 msg/sec xenium::michael_scott_queue, 8,i: 6,135,127 msg/sec xenium::ramalhete_queue, 1,s: 32,057,454 msg/sec xenium::ramalhete_queue, 1,i: 32,203,290 msg/sec xenium::ramalhete_queue, 2,s: 23,670,836 msg/sec xenium::ramalhete_queue, 2,i: 23,336,102 msg/sec xenium::ramalhete_queue, 3,s: 29,279,357 msg/sec xenium::ramalhete_queue, 3,i: 28,557,218 msg/sec xenium::ramalhete_queue, 4,s: 33,697,743 msg/sec xenium::ramalhete_queue, 4,i: 33,392,916 msg/sec xenium::ramalhete_queue, 5,s: 32,357,734 msg/sec xenium::ramalhete_queue, 5,i: 36,067,712 msg/sec xenium::ramalhete_queue, 6,s: 33,999,101 msg/sec xenium::ramalhete_queue, 6,i: 38,508,482 msg/sec xenium::ramalhete_queue, 7,s: 35,239,168 msg/sec xenium::ramalhete_queue, 7,i: 40,939,440 msg/sec xenium::ramalhete_queue, 8,s: 35,587,506 msg/sec xenium::ramalhete_queue, 8,i: 43,815,634 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,288,531 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,904,649 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,711,536 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,554,371 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,533,186 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,133,552 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,624,521 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,593,563 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,893,609 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,314,693 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,305,056 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,553,916 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,143,573 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,352,897 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,365,753 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,555,686 msg/sec AtomicQueue, 1,s: 60,982,521 msg/sec AtomicQueue, 1,i: 56,478,725 msg/sec AtomicQueue, 2,s: 12,277,175 msg/sec AtomicQueue, 2,i: 11,750,555 msg/sec AtomicQueue, 3,s: 10,793,575 msg/sec AtomicQueue, 3,i: 9,922,326 msg/sec AtomicQueue, 4,s: 8,176,133 msg/sec AtomicQueue, 4,i: 8,177,615 msg/sec AtomicQueue, 5,s: 8,041,697 msg/sec AtomicQueue, 5,i: 8,081,325 msg/sec AtomicQueue, 6,s: 7,901,782 msg/sec AtomicQueue, 6,i: 7,610,471 msg/sec AtomicQueue, 7,s: 7,131,965 msg/sec AtomicQueue, 7,i: 7,984,487 msg/sec AtomicQueue, 8,s: 6,376,809 msg/sec AtomicQueue, 8,i: 7,448,839 msg/sec AtomicQueueB, 1,s: 43,905,315 msg/sec AtomicQueueB, 1,i: 43,383,537 msg/sec AtomicQueueB, 2,s: 11,746,261 msg/sec AtomicQueueB, 2,i: 11,408,593 msg/sec AtomicQueueB, 3,s: 10,934,966 msg/sec AtomicQueueB, 3,i: 10,058,559 msg/sec AtomicQueueB, 4,s: 8,022,065 msg/sec AtomicQueueB, 4,i: 8,009,246 msg/sec AtomicQueueB, 5,s: 7,580,642 msg/sec AtomicQueueB, 5,i: 7,830,870 msg/sec AtomicQueueB, 6,s: 7,360,050 msg/sec AtomicQueueB, 6,i: 7,491,850 msg/sec AtomicQueueB, 7,s: 6,885,865 msg/sec AtomicQueueB, 7,i: 7,737,195 msg/sec AtomicQueueB, 8,s: 6,268,624 msg/sec AtomicQueueB, 8,i: 7,038,905 msg/sec OptimistAtomicQueue, 1,s: 712,693,607 msg/sec OptimistAtomicQueue, 1,i: 523,929,840 msg/sec OptimistAtomicQueue, 2,s: 32,633,777 msg/sec OptimistAtomicQueue, 2,i: 32,430,613 msg/sec OptimistAtomicQueue, 3,s: 36,677,608 msg/sec OptimistAtomicQueue, 3,i: 37,411,232 msg/sec OptimistAtomicQueue, 4,s: 39,285,197 msg/sec OptimistAtomicQueue, 4,i: 39,346,162 msg/sec OptimistAtomicQueue, 5,s: 41,689,038 msg/sec OptimistAtomicQueue, 5,i: 47,428,738 msg/sec OptimistAtomicQueue, 6,s: 42,706,831 msg/sec OptimistAtomicQueue, 6,i: 50,495,735 msg/sec OptimistAtomicQueue, 7,s: 44,122,226 msg/sec OptimistAtomicQueue, 7,i: 53,012,440 msg/sec OptimistAtomicQueue, 8,s: 46,476,553 msg/sec OptimistAtomicQueue, 8,i: 49,405,390 msg/sec OptimistAtomicQueueB, 1,s: 229,423,928 msg/sec OptimistAtomicQueueB, 1,i: 77,582,310 msg/sec OptimistAtomicQueueB, 2,s: 32,159,503 msg/sec OptimistAtomicQueueB, 2,i: 32,282,840 msg/sec OptimistAtomicQueueB, 3,s: 36,307,079 msg/sec OptimistAtomicQueueB, 3,i: 36,977,092 msg/sec OptimistAtomicQueueB, 4,s: 38,589,091 msg/sec OptimistAtomicQueueB, 4,i: 38,554,068 msg/sec OptimistAtomicQueueB, 5,s: 40,249,269 msg/sec OptimistAtomicQueueB, 5,i: 45,767,584 msg/sec OptimistAtomicQueueB, 6,s: 41,009,605 msg/sec OptimistAtomicQueueB, 6,i: 48,958,169 msg/sec OptimistAtomicQueueB, 7,s: 41,917,388 msg/sec OptimistAtomicQueueB, 7,i: 47,990,207 msg/sec OptimistAtomicQueueB, 8,s: 44,427,596 msg/sec OptimistAtomicQueueB, 8,i: 48,003,710 msg/sec AtomicQueue2, 1,s: 22,853,202 msg/sec AtomicQueue2, 1,i: 22,925,501 msg/sec AtomicQueue2, 2,s: 11,743,374 msg/sec AtomicQueue2, 2,i: 11,520,102 msg/sec AtomicQueue2, 3,s: 9,506,385 msg/sec AtomicQueue2, 3,i: 9,426,628 msg/sec AtomicQueue2, 4,s: 8,045,199 msg/sec AtomicQueue2, 4,i: 8,028,280 msg/sec AtomicQueue2, 5,s: 7,965,255 msg/sec AtomicQueue2, 5,i: 7,977,421 msg/sec AtomicQueue2, 6,s: 7,629,595 msg/sec AtomicQueue2, 6,i: 7,527,714 msg/sec AtomicQueue2, 7,s: 7,095,540 msg/sec AtomicQueue2, 7,i: 7,900,964 msg/sec AtomicQueue2, 8,s: 6,375,011 msg/sec AtomicQueue2, 8,i: 7,376,060 msg/sec AtomicQueueB2, 1,s: 36,295,705 msg/sec AtomicQueueB2, 1,i: 32,909,021 msg/sec AtomicQueueB2, 2,s: 11,428,397 msg/sec AtomicQueueB2, 2,i: 11,145,467 msg/sec AtomicQueueB2, 3,s: 9,521,565 msg/sec AtomicQueueB2, 3,i: 9,522,881 msg/sec AtomicQueueB2, 4,s: 7,927,279 msg/sec AtomicQueueB2, 4,i: 7,819,078 msg/sec AtomicQueueB2, 5,s: 7,418,452 msg/sec AtomicQueueB2, 5,i: 7,731,450 msg/sec AtomicQueueB2, 6,s: 7,329,418 msg/sec AtomicQueueB2, 6,i: 7,482,135 msg/sec AtomicQueueB2, 7,s: 6,853,631 msg/sec AtomicQueueB2, 7,i: 7,686,815 msg/sec AtomicQueueB2, 8,s: 6,322,591 msg/sec AtomicQueueB2, 8,i: 7,070,235 msg/sec OptimistAtomicQueue2, 1,s: 33,092,566 msg/sec OptimistAtomicQueue2, 1,i: 29,537,335 msg/sec OptimistAtomicQueue2, 2,s: 22,757,995 msg/sec OptimistAtomicQueue2, 2,i: 24,674,056 msg/sec OptimistAtomicQueue2, 3,s: 30,878,006 msg/sec OptimistAtomicQueue2, 3,i: 30,098,696 msg/sec OptimistAtomicQueue2, 4,s: 33,317,875 msg/sec OptimistAtomicQueue2, 4,i: 33,161,961 msg/sec OptimistAtomicQueue2, 5,s: 37,190,204 msg/sec OptimistAtomicQueue2, 5,i: 42,359,838 msg/sec OptimistAtomicQueue2, 6,s: 40,156,590 msg/sec OptimistAtomicQueue2, 6,i: 49,321,392 msg/sec OptimistAtomicQueue2, 7,s: 43,434,383 msg/sec OptimistAtomicQueue2, 7,i: 51,703,192 msg/sec OptimistAtomicQueue2, 8,s: 43,853,513 msg/sec OptimistAtomicQueue2, 8,i: 48,393,517 msg/sec OptimistAtomicQueueB2, 1,s: 78,093,414 msg/sec OptimistAtomicQueueB2, 1,i: 33,878,284 msg/sec OptimistAtomicQueueB2, 2,s: 27,222,039 msg/sec OptimistAtomicQueueB2, 2,i: 23,149,054 msg/sec OptimistAtomicQueueB2, 3,s: 29,807,155 msg/sec OptimistAtomicQueueB2, 3,i: 29,745,106 msg/sec OptimistAtomicQueueB2, 4,s: 33,426,137 msg/sec OptimistAtomicQueueB2, 4,i: 32,477,806 msg/sec OptimistAtomicQueueB2, 5,s: 34,319,483 msg/sec OptimistAtomicQueueB2, 5,i: 39,178,661 msg/sec OptimistAtomicQueueB2, 6,s: 37,199,929 msg/sec OptimistAtomicQueueB2, 6,i: 42,495,446 msg/sec OptimistAtomicQueueB2, 7,s: 40,671,007 msg/sec OptimistAtomicQueueB2, 7,i: 45,539,141 msg/sec OptimistAtomicQueueB2, 8,s: 42,328,487 msg/sec OptimistAtomicQueueB2, 8,i: 46,216,317 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000326 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000245 sec/round-trip std::mutex: 0.000000514 sec/round-trip tbb::spin_mutex: 0.000000308 sec/round-trip tbb::concurrent_bounded_queue: 0.000000295 sec/round-trip xenium::michael_scott_queue: 0.000000390 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [211] 202m:54s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,973,915 msg/sec boost::lockfree::spsc_queue, 1,i: 71,243,534 msg/sec boost::lockfree::queue, 1,s: 6,812,270 msg/sec boost::lockfree::queue, 1,i: 6,871,493 msg/sec boost::lockfree::queue, 2,s: 7,559,925 msg/sec boost::lockfree::queue, 2,i: 7,569,362 msg/sec boost::lockfree::queue, 3,s: 7,332,957 msg/sec boost::lockfree::queue, 3,i: 7,579,712 msg/sec boost::lockfree::queue, 4,s: 6,421,602 msg/sec boost::lockfree::queue, 4,i: 6,762,048 msg/sec boost::lockfree::queue, 5,s: 6,405,486 msg/sec boost::lockfree::queue, 5,i: 6,472,070 msg/sec boost::lockfree::queue, 6,s: 6,009,089 msg/sec boost::lockfree::queue, 6,i: 6,082,504 msg/sec boost::lockfree::queue, 7,s: 5,965,996 msg/sec boost::lockfree::queue, 7,i: 5,956,822 msg/sec boost::lockfree::queue, 8,s: 5,486,139 msg/sec boost::lockfree::queue, 8,i: 5,601,033 msg/sec moodycamel::ReaderWriterQueue, 1,s: 77,166,476 msg/sec moodycamel::ReaderWriterQueue, 1,i: 75,084,525 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,280,927 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,476,585 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,348,675 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,775,183 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,833,101 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,034,533 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,350,768 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,168,892 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,371,532 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,609,965 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,217,581 msg/sec moodycamel::ConcurrentQueue, 6,i: 35,114,211 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,176,831 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,869,363 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,329,633 msg/sec moodycamel::ConcurrentQueue, 8,i: 22,035,373 msg/sec pthread_spinlock, 1,s: 28,782,004 msg/sec pthread_spinlock, 1,i: 25,285,045 msg/sec pthread_spinlock, 2,s: 16,098,088 msg/sec pthread_spinlock, 2,i: 16,855,709 msg/sec pthread_spinlock, 3,s: 8,374,494 msg/sec pthread_spinlock, 3,i: 12,008,561 msg/sec pthread_spinlock, 4,s: 6,533,166 msg/sec pthread_spinlock, 4,i: 9,170,171 msg/sec pthread_spinlock, 5,s: 8,812,472 msg/sec pthread_spinlock, 5,i: 9,443,301 msg/sec pthread_spinlock, 6,s: 8,568,816 msg/sec pthread_spinlock, 6,i: 8,460,142 msg/sec pthread_spinlock, 7,s: 7,524,176 msg/sec pthread_spinlock, 7,i: 7,636,725 msg/sec pthread_spinlock, 8,s: 6,653,386 msg/sec pthread_spinlock, 8,i: 6,883,749 msg/sec std::mutex, 1,s: 5,980,413 msg/sec std::mutex, 1,i: 5,993,702 msg/sec std::mutex, 2,s: 5,647,980 msg/sec std::mutex, 2,i: 4,869,286 msg/sec std::mutex, 3,s: 5,062,741 msg/sec std::mutex, 3,i: 5,193,218 msg/sec std::mutex, 4,s: 5,602,883 msg/sec std::mutex, 4,i: 5,448,613 msg/sec std::mutex, 5,s: 5,245,137 msg/sec std::mutex, 5,i: 5,904,437 msg/sec std::mutex, 6,s: 5,683,572 msg/sec std::mutex, 6,i: 5,961,854 msg/sec std::mutex, 7,s: 5,896,562 msg/sec std::mutex, 7,i: 5,853,254 msg/sec std::mutex, 8,s: 5,728,888 msg/sec std::mutex, 8,i: 5,672,238 msg/sec tbb::spin_mutex, 1,s: 38,031,775 msg/sec tbb::spin_mutex, 1,i: 36,017,830 msg/sec tbb::spin_mutex, 2,s: 21,101,526 msg/sec tbb::spin_mutex, 2,i: 18,754,390 msg/sec tbb::spin_mutex, 3,s: 8,337,259 msg/sec tbb::spin_mutex, 3,i: 10,860,970 msg/sec tbb::spin_mutex, 4,s: 3,134,404 msg/sec tbb::spin_mutex, 4,i: 6,319,779 msg/sec tbb::spin_mutex, 5,s: 5,419,690 msg/sec tbb::spin_mutex, 5,i: 5,703,300 msg/sec tbb::spin_mutex, 6,s: 5,335,622 msg/sec tbb::spin_mutex, 6,i: 4,369,204 msg/sec tbb::spin_mutex, 7,s: 4,512,371 msg/sec tbb::spin_mutex, 7,i: 4,337,789 msg/sec tbb::spin_mutex, 8,s: 3,848,057 msg/sec tbb::spin_mutex, 8,i: 4,163,408 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,380,886 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,560,210 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,846,380 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,439,577 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,136,596 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,929,477 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,417,591 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,264,215 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,793,883 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,861,810 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,101,939 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,901,863 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,045,197 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,943,010 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,971,057 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,105,294 msg/sec xenium::michael_scott_queue, 1,s: 9,231,393 msg/sec xenium::michael_scott_queue, 1,i: 9,145,478 msg/sec xenium::michael_scott_queue, 2,s: 8,581,810 msg/sec xenium::michael_scott_queue, 2,i: 8,588,353 msg/sec xenium::michael_scott_queue, 3,s: 7,260,545 msg/sec xenium::michael_scott_queue, 3,i: 7,598,476 msg/sec xenium::michael_scott_queue, 4,s: 6,392,787 msg/sec xenium::michael_scott_queue, 4,i: 6,334,970 msg/sec xenium::michael_scott_queue, 5,s: 6,305,365 msg/sec xenium::michael_scott_queue, 5,i: 6,689,899 msg/sec xenium::michael_scott_queue, 6,s: 6,558,526 msg/sec xenium::michael_scott_queue, 6,i: 6,738,062 msg/sec xenium::michael_scott_queue, 7,s: 6,382,573 msg/sec xenium::michael_scott_queue, 7,i: 6,481,775 msg/sec xenium::michael_scott_queue, 8,s: 6,000,372 msg/sec xenium::michael_scott_queue, 8,i: 6,123,009 msg/sec xenium::ramalhete_queue, 1,s: 32,343,369 msg/sec xenium::ramalhete_queue, 1,i: 32,259,560 msg/sec xenium::ramalhete_queue, 2,s: 23,623,599 msg/sec xenium::ramalhete_queue, 2,i: 23,385,636 msg/sec xenium::ramalhete_queue, 3,s: 29,247,434 msg/sec xenium::ramalhete_queue, 3,i: 28,472,391 msg/sec xenium::ramalhete_queue, 4,s: 33,785,696 msg/sec xenium::ramalhete_queue, 4,i: 33,433,872 msg/sec xenium::ramalhete_queue, 5,s: 31,864,888 msg/sec xenium::ramalhete_queue, 5,i: 36,084,246 msg/sec xenium::ramalhete_queue, 6,s: 34,009,399 msg/sec xenium::ramalhete_queue, 6,i: 38,762,075 msg/sec xenium::ramalhete_queue, 7,s: 35,062,001 msg/sec xenium::ramalhete_queue, 7,i: 41,813,022 msg/sec xenium::ramalhete_queue, 8,s: 35,556,609 msg/sec xenium::ramalhete_queue, 8,i: 44,007,293 msg/sec xenium::vyukov_bounded_queue, 1,s: 87,475,930 msg/sec xenium::vyukov_bounded_queue, 1,i: 102,130,743 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,981,821 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,816,184 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,675,434 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,219,973 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,542,533 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,488,546 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,508,979 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,230,242 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,843,198 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,659,732 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,202,797 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,856,213 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,406,472 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,235,829 msg/sec AtomicQueue, 1,s: 62,465,339 msg/sec AtomicQueue, 1,i: 56,926,263 msg/sec AtomicQueue, 2,s: 12,241,313 msg/sec AtomicQueue, 2,i: 11,682,919 msg/sec AtomicQueue, 3,s: 10,713,350 msg/sec AtomicQueue, 3,i: 9,870,520 msg/sec AtomicQueue, 4,s: 8,152,567 msg/sec AtomicQueue, 4,i: 8,196,312 msg/sec AtomicQueue, 5,s: 7,938,764 msg/sec AtomicQueue, 5,i: 8,080,564 msg/sec AtomicQueue, 6,s: 7,865,540 msg/sec AtomicQueue, 6,i: 7,600,134 msg/sec AtomicQueue, 7,s: 7,115,145 msg/sec AtomicQueue, 7,i: 7,993,931 msg/sec AtomicQueue, 8,s: 6,338,961 msg/sec AtomicQueue, 8,i: 7,285,819 msg/sec AtomicQueueB, 1,s: 76,746,983 msg/sec AtomicQueueB, 1,i: 102,183,249 msg/sec AtomicQueueB, 2,s: 11,787,177 msg/sec AtomicQueueB, 2,i: 11,427,968 msg/sec AtomicQueueB, 3,s: 10,887,317 msg/sec AtomicQueueB, 3,i: 10,135,938 msg/sec AtomicQueueB, 4,s: 8,051,713 msg/sec AtomicQueueB, 4,i: 8,064,570 msg/sec AtomicQueueB, 5,s: 7,597,975 msg/sec AtomicQueueB, 5,i: 7,740,683 msg/sec AtomicQueueB, 6,s: 7,375,243 msg/sec AtomicQueueB, 6,i: 7,581,187 msg/sec AtomicQueueB, 7,s: 6,870,954 msg/sec AtomicQueueB, 7,i: 7,719,222 msg/sec AtomicQueueB, 8,s: 6,278,321 msg/sec AtomicQueueB, 8,i: 7,195,904 msg/sec OptimistAtomicQueue, 1,s: 722,816,367 msg/sec OptimistAtomicQueue, 1,i: 537,255,224 msg/sec OptimistAtomicQueue, 2,s: 32,090,014 msg/sec OptimistAtomicQueue, 2,i: 32,187,612 msg/sec OptimistAtomicQueue, 3,s: 36,649,325 msg/sec OptimistAtomicQueue, 3,i: 37,336,433 msg/sec OptimistAtomicQueue, 4,s: 39,265,401 msg/sec OptimistAtomicQueue, 4,i: 39,345,098 msg/sec OptimistAtomicQueue, 5,s: 41,702,273 msg/sec OptimistAtomicQueue, 5,i: 47,530,177 msg/sec OptimistAtomicQueue, 6,s: 42,192,114 msg/sec OptimistAtomicQueue, 6,i: 50,421,440 msg/sec OptimistAtomicQueue, 7,s: 44,948,576 msg/sec OptimistAtomicQueue, 7,i: 52,853,107 msg/sec OptimistAtomicQueue, 8,s: 46,468,237 msg/sec OptimistAtomicQueue, 8,i: 48,696,143 msg/sec OptimistAtomicQueueB, 1,s: 96,952,360 msg/sec OptimistAtomicQueueB, 1,i: 76,503,892 msg/sec OptimistAtomicQueueB, 2,s: 32,189,716 msg/sec OptimistAtomicQueueB, 2,i: 32,376,629 msg/sec OptimistAtomicQueueB, 3,s: 36,322,434 msg/sec OptimistAtomicQueueB, 3,i: 36,922,598 msg/sec OptimistAtomicQueueB, 4,s: 38,739,648 msg/sec OptimistAtomicQueueB, 4,i: 38,560,247 msg/sec OptimistAtomicQueueB, 5,s: 40,984,304 msg/sec OptimistAtomicQueueB, 5,i: 45,398,527 msg/sec OptimistAtomicQueueB, 6,s: 40,776,011 msg/sec OptimistAtomicQueueB, 6,i: 49,217,866 msg/sec OptimistAtomicQueueB, 7,s: 41,889,986 msg/sec OptimistAtomicQueueB, 7,i: 47,840,937 msg/sec OptimistAtomicQueueB, 8,s: 44,217,137 msg/sec OptimistAtomicQueueB, 8,i: 48,009,164 msg/sec AtomicQueue2, 1,s: 22,888,806 msg/sec AtomicQueue2, 1,i: 22,966,871 msg/sec AtomicQueue2, 2,s: 11,762,135 msg/sec AtomicQueue2, 2,i: 11,338,625 msg/sec AtomicQueue2, 3,s: 9,674,910 msg/sec AtomicQueue2, 3,i: 9,447,402 msg/sec AtomicQueue2, 4,s: 8,052,694 msg/sec AtomicQueue2, 4,i: 8,043,073 msg/sec AtomicQueue2, 5,s: 7,888,413 msg/sec AtomicQueue2, 5,i: 8,049,000 msg/sec AtomicQueue2, 6,s: 7,854,308 msg/sec AtomicQueue2, 6,i: 7,513,629 msg/sec AtomicQueue2, 7,s: 7,119,432 msg/sec AtomicQueue2, 7,i: 7,882,677 msg/sec AtomicQueue2, 8,s: 6,369,643 msg/sec AtomicQueue2, 8,i: 7,242,735 msg/sec AtomicQueueB2, 1,s: 35,809,110 msg/sec AtomicQueueB2, 1,i: 32,915,640 msg/sec AtomicQueueB2, 2,s: 11,421,028 msg/sec AtomicQueueB2, 2,i: 11,107,754 msg/sec AtomicQueueB2, 3,s: 9,542,802 msg/sec AtomicQueueB2, 3,i: 9,495,813 msg/sec AtomicQueueB2, 4,s: 7,898,911 msg/sec AtomicQueueB2, 4,i: 7,771,729 msg/sec AtomicQueueB2, 5,s: 7,527,101 msg/sec AtomicQueueB2, 5,i: 7,601,869 msg/sec AtomicQueueB2, 6,s: 7,267,798 msg/sec AtomicQueueB2, 6,i: 7,398,790 msg/sec AtomicQueueB2, 7,s: 6,952,152 msg/sec AtomicQueueB2, 7,i: 7,697,288 msg/sec AtomicQueueB2, 8,s: 6,284,228 msg/sec AtomicQueueB2, 8,i: 7,046,240 msg/sec OptimistAtomicQueue2, 1,s: 521,011,616 msg/sec OptimistAtomicQueue2, 1,i: 31,697,652 msg/sec OptimistAtomicQueue2, 2,s: 26,092,947 msg/sec OptimistAtomicQueue2, 2,i: 24,020,043 msg/sec OptimistAtomicQueue2, 3,s: 30,323,800 msg/sec OptimistAtomicQueue2, 3,i: 29,937,159 msg/sec OptimistAtomicQueue2, 4,s: 33,132,586 msg/sec OptimistAtomicQueue2, 4,i: 33,390,586 msg/sec OptimistAtomicQueue2, 5,s: 37,238,529 msg/sec OptimistAtomicQueue2, 5,i: 40,369,509 msg/sec OptimistAtomicQueue2, 6,s: 40,140,999 msg/sec OptimistAtomicQueue2, 6,i: 49,264,926 msg/sec OptimistAtomicQueue2, 7,s: 43,269,529 msg/sec OptimistAtomicQueue2, 7,i: 48,075,237 msg/sec OptimistAtomicQueue2, 8,s: 43,874,173 msg/sec OptimistAtomicQueue2, 8,i: 48,734,483 msg/sec OptimistAtomicQueueB2, 1,s: 77,454,228 msg/sec OptimistAtomicQueueB2, 1,i: 33,880,678 msg/sec OptimistAtomicQueueB2, 2,s: 27,673,265 msg/sec OptimistAtomicQueueB2, 2,i: 24,656,882 msg/sec OptimistAtomicQueueB2, 3,s: 30,017,240 msg/sec OptimistAtomicQueueB2, 3,i: 29,033,687 msg/sec OptimistAtomicQueueB2, 4,s: 33,475,831 msg/sec OptimistAtomicQueueB2, 4,i: 33,067,231 msg/sec OptimistAtomicQueueB2, 5,s: 34,275,489 msg/sec OptimistAtomicQueueB2, 5,i: 39,622,648 msg/sec OptimistAtomicQueueB2, 6,s: 37,420,016 msg/sec OptimistAtomicQueueB2, 6,i: 42,074,271 msg/sec OptimistAtomicQueueB2, 7,s: 40,085,086 msg/sec OptimistAtomicQueueB2, 7,i: 43,036,865 msg/sec OptimistAtomicQueueB2, 8,s: 42,610,607 msg/sec OptimistAtomicQueueB2, 8,i: 45,793,488 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000279 sec/round-trip std::mutex: 0.000000450 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [212] 201m:34s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,065,471 msg/sec boost::lockfree::spsc_queue, 1,i: 71,014,725 msg/sec boost::lockfree::queue, 1,s: 6,868,367 msg/sec boost::lockfree::queue, 1,i: 6,907,435 msg/sec boost::lockfree::queue, 2,s: 7,694,822 msg/sec boost::lockfree::queue, 2,i: 7,522,124 msg/sec boost::lockfree::queue, 3,s: 7,421,214 msg/sec boost::lockfree::queue, 3,i: 7,563,865 msg/sec boost::lockfree::queue, 4,s: 6,423,894 msg/sec boost::lockfree::queue, 4,i: 6,861,239 msg/sec boost::lockfree::queue, 5,s: 6,412,588 msg/sec boost::lockfree::queue, 5,i: 6,492,482 msg/sec boost::lockfree::queue, 6,s: 5,956,750 msg/sec boost::lockfree::queue, 6,i: 6,109,580 msg/sec boost::lockfree::queue, 7,s: 5,952,016 msg/sec boost::lockfree::queue, 7,i: 5,987,191 msg/sec boost::lockfree::queue, 8,s: 5,460,460 msg/sec boost::lockfree::queue, 8,i: 5,649,374 msg/sec moodycamel::ReaderWriterQueue, 1,s: 430,253,766 msg/sec moodycamel::ReaderWriterQueue, 1,i: 70,616,247 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,403,411 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,739,199 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,966,243 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,759,907 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,887,053 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,491,924 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,552,589 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,246,236 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,415,814 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,960,427 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,342,435 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,467,912 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,067,712 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,034,870 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,282,809 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,310,718 msg/sec pthread_spinlock, 1,s: 28,950,360 msg/sec pthread_spinlock, 1,i: 29,217,929 msg/sec pthread_spinlock, 2,s: 15,480,984 msg/sec pthread_spinlock, 2,i: 17,112,110 msg/sec pthread_spinlock, 3,s: 8,311,829 msg/sec pthread_spinlock, 3,i: 12,017,681 msg/sec pthread_spinlock, 4,s: 6,501,712 msg/sec pthread_spinlock, 4,i: 9,116,789 msg/sec pthread_spinlock, 5,s: 8,523,647 msg/sec pthread_spinlock, 5,i: 9,419,226 msg/sec pthread_spinlock, 6,s: 8,519,373 msg/sec pthread_spinlock, 6,i: 8,530,563 msg/sec pthread_spinlock, 7,s: 7,522,836 msg/sec pthread_spinlock, 7,i: 7,951,421 msg/sec pthread_spinlock, 8,s: 6,770,128 msg/sec pthread_spinlock, 8,i: 7,026,568 msg/sec std::mutex, 1,s: 7,525,616 msg/sec std::mutex, 1,i: 7,018,203 msg/sec std::mutex, 2,s: 5,262,909 msg/sec std::mutex, 2,i: 5,137,779 msg/sec std::mutex, 3,s: 4,996,900 msg/sec std::mutex, 3,i: 5,508,630 msg/sec std::mutex, 4,s: 6,333,562 msg/sec std::mutex, 4,i: 6,227,198 msg/sec std::mutex, 5,s: 5,973,833 msg/sec std::mutex, 5,i: 6,057,560 msg/sec std::mutex, 6,s: 5,983,357 msg/sec std::mutex, 6,i: 5,908,178 msg/sec std::mutex, 7,s: 5,791,109 msg/sec std::mutex, 7,i: 5,806,695 msg/sec std::mutex, 8,s: 5,729,862 msg/sec std::mutex, 8,i: 5,689,091 msg/sec tbb::spin_mutex, 1,s: 38,026,425 msg/sec tbb::spin_mutex, 1,i: 33,193,198 msg/sec tbb::spin_mutex, 2,s: 21,322,109 msg/sec tbb::spin_mutex, 2,i: 18,687,209 msg/sec tbb::spin_mutex, 3,s: 8,605,336 msg/sec tbb::spin_mutex, 3,i: 10,324,524 msg/sec tbb::spin_mutex, 4,s: 3,260,977 msg/sec tbb::spin_mutex, 4,i: 6,445,379 msg/sec tbb::spin_mutex, 5,s: 5,602,460 msg/sec tbb::spin_mutex, 5,i: 5,737,326 msg/sec tbb::spin_mutex, 6,s: 5,334,360 msg/sec tbb::spin_mutex, 6,i: 4,330,585 msg/sec tbb::spin_mutex, 7,s: 4,866,711 msg/sec tbb::spin_mutex, 7,i: 4,318,829 msg/sec tbb::spin_mutex, 8,s: 4,238,343 msg/sec tbb::spin_mutex, 8,i: 4,077,642 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,079,225 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,110,804 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,200,694 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,188,545 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,239,678 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,356,251 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,010,347 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,249,991 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,670,215 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,370,918 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,644,377 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,722,362 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,633,133 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,132,765 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,756,193 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,966,622 msg/sec xenium::michael_scott_queue, 1,s: 9,244,733 msg/sec xenium::michael_scott_queue, 1,i: 9,231,674 msg/sec xenium::michael_scott_queue, 2,s: 8,493,921 msg/sec xenium::michael_scott_queue, 2,i: 8,525,644 msg/sec xenium::michael_scott_queue, 3,s: 7,294,715 msg/sec xenium::michael_scott_queue, 3,i: 7,568,272 msg/sec xenium::michael_scott_queue, 4,s: 6,310,753 msg/sec xenium::michael_scott_queue, 4,i: 6,351,188 msg/sec xenium::michael_scott_queue, 5,s: 6,329,424 msg/sec xenium::michael_scott_queue, 5,i: 6,771,153 msg/sec xenium::michael_scott_queue, 6,s: 6,549,319 msg/sec xenium::michael_scott_queue, 6,i: 6,762,203 msg/sec xenium::michael_scott_queue, 7,s: 6,359,637 msg/sec xenium::michael_scott_queue, 7,i: 6,477,323 msg/sec xenium::michael_scott_queue, 8,s: 6,067,690 msg/sec xenium::michael_scott_queue, 8,i: 6,080,703 msg/sec xenium::ramalhete_queue, 1,s: 31,808,615 msg/sec xenium::ramalhete_queue, 1,i: 32,342,760 msg/sec xenium::ramalhete_queue, 2,s: 23,576,827 msg/sec xenium::ramalhete_queue, 2,i: 23,352,835 msg/sec xenium::ramalhete_queue, 3,s: 29,125,193 msg/sec xenium::ramalhete_queue, 3,i: 28,461,728 msg/sec xenium::ramalhete_queue, 4,s: 33,892,265 msg/sec xenium::ramalhete_queue, 4,i: 33,525,736 msg/sec xenium::ramalhete_queue, 5,s: 32,113,200 msg/sec xenium::ramalhete_queue, 5,i: 36,041,030 msg/sec xenium::ramalhete_queue, 6,s: 34,066,595 msg/sec xenium::ramalhete_queue, 6,i: 39,124,110 msg/sec xenium::ramalhete_queue, 7,s: 35,355,128 msg/sec xenium::ramalhete_queue, 7,i: 41,513,364 msg/sec xenium::ramalhete_queue, 8,s: 35,601,821 msg/sec xenium::ramalhete_queue, 8,i: 43,839,320 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,129,658 msg/sec xenium::vyukov_bounded_queue, 1,i: 110,161,197 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,566,129 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,126,475 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,619,852 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,908,908 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,588,892 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,121,150 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,927,079 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,280,164 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,039,581 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,406,162 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,293,450 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,038,501 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,650 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,310,619 msg/sec AtomicQueue, 1,s: 60,610,286 msg/sec AtomicQueue, 1,i: 56,792,798 msg/sec AtomicQueue, 2,s: 12,262,112 msg/sec AtomicQueue, 2,i: 11,764,890 msg/sec AtomicQueue, 3,s: 10,795,938 msg/sec AtomicQueue, 3,i: 9,947,581 msg/sec AtomicQueue, 4,s: 8,183,145 msg/sec AtomicQueue, 4,i: 8,202,977 msg/sec AtomicQueue, 5,s: 8,010,523 msg/sec AtomicQueue, 5,i: 8,097,537 msg/sec AtomicQueue, 6,s: 7,889,341 msg/sec AtomicQueue, 6,i: 7,598,935 msg/sec AtomicQueue, 7,s: 7,050,646 msg/sec AtomicQueue, 7,i: 7,986,914 msg/sec AtomicQueue, 8,s: 6,320,668 msg/sec AtomicQueue, 8,i: 7,499,398 msg/sec AtomicQueueB, 1,s: 93,482,480 msg/sec AtomicQueueB, 1,i: 42,947,292 msg/sec AtomicQueueB, 2,s: 11,737,192 msg/sec AtomicQueueB, 2,i: 11,497,398 msg/sec AtomicQueueB, 3,s: 11,032,346 msg/sec AtomicQueueB, 3,i: 10,155,118 msg/sec AtomicQueueB, 4,s: 8,017,555 msg/sec AtomicQueueB, 4,i: 8,009,524 msg/sec AtomicQueueB, 5,s: 7,603,827 msg/sec AtomicQueueB, 5,i: 7,819,618 msg/sec AtomicQueueB, 6,s: 7,301,707 msg/sec AtomicQueueB, 6,i: 7,524,809 msg/sec AtomicQueueB, 7,s: 6,913,466 msg/sec AtomicQueueB, 7,i: 7,720,046 msg/sec AtomicQueueB, 8,s: 6,292,185 msg/sec AtomicQueueB, 8,i: 7,159,570 msg/sec OptimistAtomicQueue, 1,s: 782,846,885 msg/sec OptimistAtomicQueue, 1,i: 617,112,720 msg/sec OptimistAtomicQueue, 2,s: 32,012,540 msg/sec OptimistAtomicQueue, 2,i: 31,952,025 msg/sec OptimistAtomicQueue, 3,s: 36,537,452 msg/sec OptimistAtomicQueue, 3,i: 37,334,895 msg/sec OptimistAtomicQueue, 4,s: 39,255,674 msg/sec OptimistAtomicQueue, 4,i: 39,414,413 msg/sec OptimistAtomicQueue, 5,s: 41,624,221 msg/sec OptimistAtomicQueue, 5,i: 48,584,397 msg/sec OptimistAtomicQueue, 6,s: 41,531,225 msg/sec OptimistAtomicQueue, 6,i: 50,251,656 msg/sec OptimistAtomicQueue, 7,s: 43,985,752 msg/sec OptimistAtomicQueue, 7,i: 53,069,306 msg/sec OptimistAtomicQueue, 8,s: 46,439,058 msg/sec OptimistAtomicQueue, 8,i: 49,000,324 msg/sec OptimistAtomicQueueB, 1,s: 77,855,690 msg/sec OptimistAtomicQueueB, 1,i: 75,988,800 msg/sec OptimistAtomicQueueB, 2,s: 32,190,720 msg/sec OptimistAtomicQueueB, 2,i: 31,916,577 msg/sec OptimistAtomicQueueB, 3,s: 36,119,560 msg/sec OptimistAtomicQueueB, 3,i: 36,806,631 msg/sec OptimistAtomicQueueB, 4,s: 38,575,872 msg/sec OptimistAtomicQueueB, 4,i: 38,357,209 msg/sec OptimistAtomicQueueB, 5,s: 40,911,976 msg/sec OptimistAtomicQueueB, 5,i: 45,259,846 msg/sec OptimistAtomicQueueB, 6,s: 40,582,337 msg/sec OptimistAtomicQueueB, 6,i: 49,111,396 msg/sec OptimistAtomicQueueB, 7,s: 41,989,705 msg/sec OptimistAtomicQueueB, 7,i: 51,485,009 msg/sec OptimistAtomicQueueB, 8,s: 44,304,064 msg/sec OptimistAtomicQueueB, 8,i: 47,531,853 msg/sec AtomicQueue2, 1,s: 22,925,247 msg/sec AtomicQueue2, 1,i: 22,823,217 msg/sec AtomicQueue2, 2,s: 11,760,801 msg/sec AtomicQueue2, 2,i: 11,439,040 msg/sec AtomicQueue2, 3,s: 9,421,008 msg/sec AtomicQueue2, 3,i: 9,387,760 msg/sec AtomicQueue2, 4,s: 8,040,336 msg/sec AtomicQueue2, 4,i: 8,072,349 msg/sec AtomicQueue2, 5,s: 7,959,649 msg/sec AtomicQueue2, 5,i: 8,048,349 msg/sec AtomicQueue2, 6,s: 7,758,525 msg/sec AtomicQueue2, 6,i: 7,520,908 msg/sec AtomicQueue2, 7,s: 7,156,974 msg/sec AtomicQueue2, 7,i: 7,900,601 msg/sec AtomicQueue2, 8,s: 6,410,101 msg/sec AtomicQueue2, 8,i: 7,226,371 msg/sec AtomicQueueB2, 1,s: 35,961,480 msg/sec AtomicQueueB2, 1,i: 32,656,969 msg/sec AtomicQueueB2, 2,s: 11,431,748 msg/sec AtomicQueueB2, 2,i: 11,102,133 msg/sec AtomicQueueB2, 3,s: 9,624,922 msg/sec AtomicQueueB2, 3,i: 9,567,235 msg/sec AtomicQueueB2, 4,s: 7,961,020 msg/sec AtomicQueueB2, 4,i: 7,895,229 msg/sec AtomicQueueB2, 5,s: 7,565,386 msg/sec AtomicQueueB2, 5,i: 7,700,362 msg/sec AtomicQueueB2, 6,s: 7,293,503 msg/sec AtomicQueueB2, 6,i: 7,449,376 msg/sec AtomicQueueB2, 7,s: 6,898,905 msg/sec AtomicQueueB2, 7,i: 7,689,691 msg/sec AtomicQueueB2, 8,s: 6,283,647 msg/sec AtomicQueueB2, 8,i: 6,958,732 msg/sec OptimistAtomicQueue2, 1,s: 471,946,163 msg/sec OptimistAtomicQueue2, 1,i: 29,577,933 msg/sec OptimistAtomicQueue2, 2,s: 24,790,163 msg/sec OptimistAtomicQueue2, 2,i: 24,763,549 msg/sec OptimistAtomicQueue2, 3,s: 30,317,878 msg/sec OptimistAtomicQueue2, 3,i: 30,248,509 msg/sec OptimistAtomicQueue2, 4,s: 33,269,318 msg/sec OptimistAtomicQueue2, 4,i: 33,158,850 msg/sec OptimistAtomicQueue2, 5,s: 36,908,451 msg/sec OptimistAtomicQueue2, 5,i: 40,861,422 msg/sec OptimistAtomicQueue2, 6,s: 40,497,956 msg/sec OptimistAtomicQueue2, 6,i: 48,880,221 msg/sec OptimistAtomicQueue2, 7,s: 43,186,664 msg/sec OptimistAtomicQueue2, 7,i: 48,073,260 msg/sec OptimistAtomicQueue2, 8,s: 43,947,005 msg/sec OptimistAtomicQueue2, 8,i: 49,075,750 msg/sec OptimistAtomicQueueB2, 1,s: 73,883,054 msg/sec OptimistAtomicQueueB2, 1,i: 33,870,345 msg/sec OptimistAtomicQueueB2, 2,s: 27,256,471 msg/sec OptimistAtomicQueueB2, 2,i: 23,687,084 msg/sec OptimistAtomicQueueB2, 3,s: 30,043,916 msg/sec OptimistAtomicQueueB2, 3,i: 29,553,669 msg/sec OptimistAtomicQueueB2, 4,s: 33,191,902 msg/sec OptimistAtomicQueueB2, 4,i: 33,227,239 msg/sec OptimistAtomicQueueB2, 5,s: 34,704,071 msg/sec OptimistAtomicQueueB2, 5,i: 39,468,020 msg/sec OptimistAtomicQueueB2, 6,s: 37,361,575 msg/sec OptimistAtomicQueueB2, 6,i: 41,435,176 msg/sec OptimistAtomicQueueB2, 7,s: 40,794,665 msg/sec OptimistAtomicQueueB2, 7,i: 43,282,204 msg/sec OptimistAtomicQueueB2, 8,s: 42,036,452 msg/sec OptimistAtomicQueueB2, 8,i: 45,348,718 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000423 sec/round-trip tbb::spin_mutex: 0.000000258 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [213] 200m:15s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,767,640 msg/sec boost::lockfree::spsc_queue, 1,i: 70,391,436 msg/sec boost::lockfree::queue, 1,s: 7,419,923 msg/sec boost::lockfree::queue, 1,i: 7,033,584 msg/sec boost::lockfree::queue, 2,s: 7,499,062 msg/sec boost::lockfree::queue, 2,i: 7,566,543 msg/sec boost::lockfree::queue, 3,s: 7,448,798 msg/sec boost::lockfree::queue, 3,i: 7,563,412 msg/sec boost::lockfree::queue, 4,s: 6,420,053 msg/sec boost::lockfree::queue, 4,i: 6,748,885 msg/sec boost::lockfree::queue, 5,s: 6,472,427 msg/sec boost::lockfree::queue, 5,i: 6,509,365 msg/sec boost::lockfree::queue, 6,s: 5,973,553 msg/sec boost::lockfree::queue, 6,i: 6,083,599 msg/sec boost::lockfree::queue, 7,s: 5,980,966 msg/sec boost::lockfree::queue, 7,i: 6,060,061 msg/sec boost::lockfree::queue, 8,s: 5,440,599 msg/sec boost::lockfree::queue, 8,i: 5,559,125 msg/sec moodycamel::ReaderWriterQueue, 1,s: 403,022,629 msg/sec moodycamel::ReaderWriterQueue, 1,i: 458,695,186 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,469,344 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,752,244 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,994,399 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,064,846 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,733,496 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,786,919 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,858,656 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,178,265 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,326,324 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,743,268 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,242,788 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,401,184 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,884,300 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,684,674 msg/sec moodycamel::ConcurrentQueue, 8,s: 47,522,212 msg/sec moodycamel::ConcurrentQueue, 8,i: 19,749,622 msg/sec pthread_spinlock, 1,s: 29,252,092 msg/sec pthread_spinlock, 1,i: 25,424,533 msg/sec pthread_spinlock, 2,s: 15,197,057 msg/sec pthread_spinlock, 2,i: 16,841,434 msg/sec pthread_spinlock, 3,s: 8,300,258 msg/sec pthread_spinlock, 3,i: 12,017,581 msg/sec pthread_spinlock, 4,s: 6,457,602 msg/sec pthread_spinlock, 4,i: 8,954,559 msg/sec pthread_spinlock, 5,s: 8,757,307 msg/sec pthread_spinlock, 5,i: 9,091,742 msg/sec pthread_spinlock, 6,s: 8,483,922 msg/sec pthread_spinlock, 6,i: 8,626,978 msg/sec pthread_spinlock, 7,s: 7,599,625 msg/sec pthread_spinlock, 7,i: 7,962,242 msg/sec pthread_spinlock, 8,s: 6,619,794 msg/sec pthread_spinlock, 8,i: 6,910,281 msg/sec std::mutex, 1,s: 7,643,340 msg/sec std::mutex, 1,i: 7,684,731 msg/sec std::mutex, 2,s: 5,931,522 msg/sec std::mutex, 2,i: 6,098,962 msg/sec std::mutex, 3,s: 6,009,670 msg/sec std::mutex, 3,i: 6,100,188 msg/sec std::mutex, 4,s: 6,151,733 msg/sec std::mutex, 4,i: 6,214,803 msg/sec std::mutex, 5,s: 6,012,702 msg/sec std::mutex, 5,i: 6,159,998 msg/sec std::mutex, 6,s: 5,929,631 msg/sec std::mutex, 6,i: 5,941,685 msg/sec std::mutex, 7,s: 5,886,767 msg/sec std::mutex, 7,i: 5,849,824 msg/sec std::mutex, 8,s: 5,729,852 msg/sec std::mutex, 8,i: 5,685,969 msg/sec tbb::spin_mutex, 1,s: 41,646,779 msg/sec tbb::spin_mutex, 1,i: 41,496,741 msg/sec tbb::spin_mutex, 2,s: 21,191,398 msg/sec tbb::spin_mutex, 2,i: 20,683,296 msg/sec tbb::spin_mutex, 3,s: 9,098,593 msg/sec tbb::spin_mutex, 3,i: 10,189,962 msg/sec tbb::spin_mutex, 4,s: 3,197,665 msg/sec tbb::spin_mutex, 4,i: 6,329,854 msg/sec tbb::spin_mutex, 5,s: 5,558,150 msg/sec tbb::spin_mutex, 5,i: 5,647,255 msg/sec tbb::spin_mutex, 6,s: 5,326,603 msg/sec tbb::spin_mutex, 6,i: 4,358,771 msg/sec tbb::spin_mutex, 7,s: 4,833,746 msg/sec tbb::spin_mutex, 7,i: 4,244,203 msg/sec tbb::spin_mutex, 8,s: 4,233,012 msg/sec tbb::spin_mutex, 8,i: 4,045,793 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,295,596 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,273,043 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,497,323 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,208,288 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,671,508 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,840,840 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,967,421 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,335,097 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,493,151 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,605,671 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,920,718 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,717,030 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,929,769 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,061,332 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,896,823 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,411,542 msg/sec xenium::michael_scott_queue, 1,s: 9,278,755 msg/sec xenium::michael_scott_queue, 1,i: 9,264,817 msg/sec xenium::michael_scott_queue, 2,s: 8,325,175 msg/sec xenium::michael_scott_queue, 2,i: 8,307,578 msg/sec xenium::michael_scott_queue, 3,s: 7,185,971 msg/sec xenium::michael_scott_queue, 3,i: 7,509,460 msg/sec xenium::michael_scott_queue, 4,s: 6,306,705 msg/sec xenium::michael_scott_queue, 4,i: 6,395,891 msg/sec xenium::michael_scott_queue, 5,s: 6,265,986 msg/sec xenium::michael_scott_queue, 5,i: 6,680,204 msg/sec xenium::michael_scott_queue, 6,s: 6,512,251 msg/sec xenium::michael_scott_queue, 6,i: 6,698,535 msg/sec xenium::michael_scott_queue, 7,s: 6,305,276 msg/sec xenium::michael_scott_queue, 7,i: 6,493,458 msg/sec xenium::michael_scott_queue, 8,s: 6,025,374 msg/sec xenium::michael_scott_queue, 8,i: 6,055,850 msg/sec xenium::ramalhete_queue, 1,s: 31,820,067 msg/sec xenium::ramalhete_queue, 1,i: 32,424,757 msg/sec xenium::ramalhete_queue, 2,s: 23,548,390 msg/sec xenium::ramalhete_queue, 2,i: 23,392,649 msg/sec xenium::ramalhete_queue, 3,s: 29,207,461 msg/sec xenium::ramalhete_queue, 3,i: 28,617,429 msg/sec xenium::ramalhete_queue, 4,s: 33,713,976 msg/sec xenium::ramalhete_queue, 4,i: 33,478,902 msg/sec xenium::ramalhete_queue, 5,s: 32,228,400 msg/sec xenium::ramalhete_queue, 5,i: 35,985,833 msg/sec xenium::ramalhete_queue, 6,s: 33,928,643 msg/sec xenium::ramalhete_queue, 6,i: 39,473,196 msg/sec xenium::ramalhete_queue, 7,s: 34,989,812 msg/sec xenium::ramalhete_queue, 7,i: 40,940,096 msg/sec xenium::ramalhete_queue, 8,s: 35,496,879 msg/sec xenium::ramalhete_queue, 8,i: 43,973,002 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,435,326 msg/sec xenium::vyukov_bounded_queue, 1,i: 73,666,035 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,956,533 msg/sec xenium::vyukov_bounded_queue, 2,i: 27,929,082 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,562,889 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,186,253 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,469,007 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,121,425 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,832,974 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,408,870 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,847,551 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,517,170 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,220,590 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,210,474 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,468,120 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,526,180 msg/sec AtomicQueue, 1,s: 58,863,328 msg/sec AtomicQueue, 1,i: 56,692,565 msg/sec AtomicQueue, 2,s: 12,375,795 msg/sec AtomicQueue, 2,i: 11,766,653 msg/sec AtomicQueue, 3,s: 10,741,123 msg/sec AtomicQueue, 3,i: 9,947,383 msg/sec AtomicQueue, 4,s: 8,176,642 msg/sec AtomicQueue, 4,i: 8,199,778 msg/sec AtomicQueue, 5,s: 8,036,095 msg/sec AtomicQueue, 5,i: 8,061,018 msg/sec AtomicQueue, 6,s: 7,954,807 msg/sec AtomicQueue, 6,i: 7,618,427 msg/sec AtomicQueue, 7,s: 7,144,681 msg/sec AtomicQueue, 7,i: 7,973,190 msg/sec AtomicQueue, 8,s: 6,329,882 msg/sec AtomicQueue, 8,i: 7,344,774 msg/sec AtomicQueueB, 1,s: 53,737,021 msg/sec AtomicQueueB, 1,i: 42,984,376 msg/sec AtomicQueueB, 2,s: 11,790,063 msg/sec AtomicQueueB, 2,i: 11,466,090 msg/sec AtomicQueueB, 3,s: 10,999,473 msg/sec AtomicQueueB, 3,i: 10,227,686 msg/sec AtomicQueueB, 4,s: 8,003,039 msg/sec AtomicQueueB, 4,i: 8,026,399 msg/sec AtomicQueueB, 5,s: 7,486,368 msg/sec AtomicQueueB, 5,i: 7,719,727 msg/sec AtomicQueueB, 6,s: 7,172,743 msg/sec AtomicQueueB, 6,i: 7,606,482 msg/sec AtomicQueueB, 7,s: 6,933,886 msg/sec AtomicQueueB, 7,i: 7,726,024 msg/sec AtomicQueueB, 8,s: 6,258,634 msg/sec AtomicQueueB, 8,i: 7,151,159 msg/sec OptimistAtomicQueue, 1,s: 708,884,143 msg/sec OptimistAtomicQueue, 1,i: 724,750,989 msg/sec OptimistAtomicQueue, 2,s: 32,297,728 msg/sec OptimistAtomicQueue, 2,i: 32,726,253 msg/sec OptimistAtomicQueue, 3,s: 36,693,643 msg/sec OptimistAtomicQueue, 3,i: 37,421,393 msg/sec OptimistAtomicQueue, 4,s: 39,281,839 msg/sec OptimistAtomicQueue, 4,i: 39,399,368 msg/sec OptimistAtomicQueue, 5,s: 41,760,101 msg/sec OptimistAtomicQueue, 5,i: 46,404,774 msg/sec OptimistAtomicQueue, 6,s: 42,754,472 msg/sec OptimistAtomicQueue, 6,i: 50,500,106 msg/sec OptimistAtomicQueue, 7,s: 45,330,986 msg/sec OptimistAtomicQueue, 7,i: 49,308,837 msg/sec OptimistAtomicQueue, 8,s: 46,341,269 msg/sec OptimistAtomicQueue, 8,i: 49,400,366 msg/sec OptimistAtomicQueueB, 1,s: 89,916,702 msg/sec OptimistAtomicQueueB, 1,i: 76,565,581 msg/sec OptimistAtomicQueueB, 2,s: 32,247,397 msg/sec OptimistAtomicQueueB, 2,i: 31,975,501 msg/sec OptimistAtomicQueueB, 3,s: 36,203,670 msg/sec OptimistAtomicQueueB, 3,i: 36,680,134 msg/sec OptimistAtomicQueueB, 4,s: 38,673,384 msg/sec OptimistAtomicQueueB, 4,i: 38,694,847 msg/sec OptimistAtomicQueueB, 5,s: 40,965,324 msg/sec OptimistAtomicQueueB, 5,i: 46,105,056 msg/sec OptimistAtomicQueueB, 6,s: 41,051,664 msg/sec OptimistAtomicQueueB, 6,i: 48,551,019 msg/sec OptimistAtomicQueueB, 7,s: 42,850,104 msg/sec OptimistAtomicQueueB, 7,i: 48,035,258 msg/sec OptimistAtomicQueueB, 8,s: 44,328,696 msg/sec OptimistAtomicQueueB, 8,i: 47,921,180 msg/sec AtomicQueue2, 1,s: 22,874,365 msg/sec AtomicQueue2, 1,i: 22,842,155 msg/sec AtomicQueue2, 2,s: 11,802,984 msg/sec AtomicQueue2, 2,i: 11,569,008 msg/sec AtomicQueue2, 3,s: 9,388,386 msg/sec AtomicQueue2, 3,i: 9,361,923 msg/sec AtomicQueue2, 4,s: 8,037,687 msg/sec AtomicQueue2, 4,i: 8,041,987 msg/sec AtomicQueue2, 5,s: 7,888,012 msg/sec AtomicQueue2, 5,i: 8,014,503 msg/sec AtomicQueue2, 6,s: 7,578,058 msg/sec AtomicQueue2, 6,i: 7,513,802 msg/sec AtomicQueue2, 7,s: 7,182,638 msg/sec AtomicQueue2, 7,i: 7,872,985 msg/sec AtomicQueue2, 8,s: 6,412,901 msg/sec AtomicQueue2, 8,i: 7,374,129 msg/sec AtomicQueueB2, 1,s: 38,766,474 msg/sec AtomicQueueB2, 1,i: 33,448,980 msg/sec AtomicQueueB2, 2,s: 11,384,776 msg/sec AtomicQueueB2, 2,i: 11,114,307 msg/sec AtomicQueueB2, 3,s: 9,537,163 msg/sec AtomicQueueB2, 3,i: 9,490,915 msg/sec AtomicQueueB2, 4,s: 7,864,206 msg/sec AtomicQueueB2, 4,i: 7,754,418 msg/sec AtomicQueueB2, 5,s: 7,503,138 msg/sec AtomicQueueB2, 5,i: 7,748,596 msg/sec AtomicQueueB2, 6,s: 7,282,244 msg/sec AtomicQueueB2, 6,i: 7,415,708 msg/sec AtomicQueueB2, 7,s: 6,912,146 msg/sec AtomicQueueB2, 7,i: 7,741,500 msg/sec AtomicQueueB2, 8,s: 6,269,751 msg/sec AtomicQueueB2, 8,i: 7,124,187 msg/sec OptimistAtomicQueue2, 1,s: 426,262,410 msg/sec OptimistAtomicQueue2, 1,i: 31,840,007 msg/sec OptimistAtomicQueue2, 2,s: 29,416,783 msg/sec OptimistAtomicQueue2, 2,i: 26,276,722 msg/sec OptimistAtomicQueue2, 3,s: 30,517,719 msg/sec OptimistAtomicQueue2, 3,i: 30,031,955 msg/sec OptimistAtomicQueue2, 4,s: 33,244,499 msg/sec OptimistAtomicQueue2, 4,i: 33,051,731 msg/sec OptimistAtomicQueue2, 5,s: 37,111,360 msg/sec OptimistAtomicQueue2, 5,i: 41,065,402 msg/sec OptimistAtomicQueue2, 6,s: 40,445,655 msg/sec OptimistAtomicQueue2, 6,i: 49,292,393 msg/sec OptimistAtomicQueue2, 7,s: 42,750,404 msg/sec OptimistAtomicQueue2, 7,i: 48,119,783 msg/sec OptimistAtomicQueue2, 8,s: 44,023,524 msg/sec OptimistAtomicQueue2, 8,i: 49,397,837 msg/sec OptimistAtomicQueueB2, 1,s: 75,641,029 msg/sec OptimistAtomicQueueB2, 1,i: 33,883,422 msg/sec OptimistAtomicQueueB2, 2,s: 27,134,687 msg/sec OptimistAtomicQueueB2, 2,i: 25,527,603 msg/sec OptimistAtomicQueueB2, 3,s: 29,714,902 msg/sec OptimistAtomicQueueB2, 3,i: 29,304,741 msg/sec OptimistAtomicQueueB2, 4,s: 33,412,848 msg/sec OptimistAtomicQueueB2, 4,i: 32,668,490 msg/sec OptimistAtomicQueueB2, 5,s: 34,600,019 msg/sec OptimistAtomicQueueB2, 5,i: 40,084,090 msg/sec OptimistAtomicQueueB2, 6,s: 37,110,261 msg/sec OptimistAtomicQueueB2, 6,i: 42,285,220 msg/sec OptimistAtomicQueueB2, 7,s: 40,074,383 msg/sec OptimistAtomicQueueB2, 7,i: 45,488,579 msg/sec OptimistAtomicQueueB2, 8,s: 41,922,289 msg/sec OptimistAtomicQueueB2, 8,i: 46,103,948 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000325 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000469 sec/round-trip tbb::spin_mutex: 0.000000265 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000260 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [214] 198m:56s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,815,143 msg/sec boost::lockfree::spsc_queue, 1,i: 69,782,955 msg/sec boost::lockfree::queue, 1,s: 8,005,369 msg/sec boost::lockfree::queue, 1,i: 7,910,753 msg/sec boost::lockfree::queue, 2,s: 7,552,724 msg/sec boost::lockfree::queue, 2,i: 7,549,738 msg/sec boost::lockfree::queue, 3,s: 7,394,680 msg/sec boost::lockfree::queue, 3,i: 7,525,470 msg/sec boost::lockfree::queue, 4,s: 6,427,899 msg/sec boost::lockfree::queue, 4,i: 6,755,777 msg/sec boost::lockfree::queue, 5,s: 6,507,801 msg/sec boost::lockfree::queue, 5,i: 6,491,541 msg/sec boost::lockfree::queue, 6,s: 5,973,915 msg/sec boost::lockfree::queue, 6,i: 6,159,603 msg/sec boost::lockfree::queue, 7,s: 5,883,959 msg/sec boost::lockfree::queue, 7,i: 6,030,987 msg/sec boost::lockfree::queue, 8,s: 5,515,661 msg/sec boost::lockfree::queue, 8,i: 5,583,033 msg/sec moodycamel::ReaderWriterQueue, 1,s: 471,355,991 msg/sec moodycamel::ReaderWriterQueue, 1,i: 71,814,283 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,680,382 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,765,495 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,049,555 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,412,205 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,012,939 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,466,887 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,094,526 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,118,595 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,231,213 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,770,072 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,635,761 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,504,778 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,104,732 msg/sec moodycamel::ConcurrentQueue, 7,i: 54,278,440 msg/sec moodycamel::ConcurrentQueue, 8,s: 31,844,351 msg/sec moodycamel::ConcurrentQueue, 8,i: 37,378,532 msg/sec pthread_spinlock, 1,s: 29,159,249 msg/sec pthread_spinlock, 1,i: 25,284,328 msg/sec pthread_spinlock, 2,s: 15,661,062 msg/sec pthread_spinlock, 2,i: 17,000,636 msg/sec pthread_spinlock, 3,s: 8,241,973 msg/sec pthread_spinlock, 3,i: 12,154,638 msg/sec pthread_spinlock, 4,s: 6,491,029 msg/sec pthread_spinlock, 4,i: 9,262,566 msg/sec pthread_spinlock, 5,s: 8,750,267 msg/sec pthread_spinlock, 5,i: 9,064,471 msg/sec pthread_spinlock, 6,s: 8,364,967 msg/sec pthread_spinlock, 6,i: 8,514,552 msg/sec pthread_spinlock, 7,s: 7,534,426 msg/sec pthread_spinlock, 7,i: 7,587,243 msg/sec pthread_spinlock, 8,s: 6,628,700 msg/sec pthread_spinlock, 8,i: 7,588,470 msg/sec std::mutex, 1,s: 6,493,651 msg/sec std::mutex, 1,i: 7,336,610 msg/sec std::mutex, 2,s: 6,061,505 msg/sec std::mutex, 2,i: 6,129,889 msg/sec std::mutex, 3,s: 6,145,360 msg/sec std::mutex, 3,i: 5,817,589 msg/sec std::mutex, 4,s: 5,399,191 msg/sec std::mutex, 4,i: 6,362,873 msg/sec std::mutex, 5,s: 6,076,127 msg/sec std::mutex, 5,i: 6,139,434 msg/sec std::mutex, 6,s: 6,070,634 msg/sec std::mutex, 6,i: 6,008,439 msg/sec std::mutex, 7,s: 5,941,948 msg/sec std::mutex, 7,i: 5,911,007 msg/sec std::mutex, 8,s: 5,712,891 msg/sec std::mutex, 8,i: 5,740,040 msg/sec tbb::spin_mutex, 1,s: 37,846,902 msg/sec tbb::spin_mutex, 1,i: 32,947,527 msg/sec tbb::spin_mutex, 2,s: 21,073,759 msg/sec tbb::spin_mutex, 2,i: 18,192,638 msg/sec tbb::spin_mutex, 3,s: 7,631,532 msg/sec tbb::spin_mutex, 3,i: 10,394,719 msg/sec tbb::spin_mutex, 4,s: 3,149,588 msg/sec tbb::spin_mutex, 4,i: 6,373,513 msg/sec tbb::spin_mutex, 5,s: 5,528,412 msg/sec tbb::spin_mutex, 5,i: 5,825,867 msg/sec tbb::spin_mutex, 6,s: 5,325,524 msg/sec tbb::spin_mutex, 6,i: 4,372,995 msg/sec tbb::spin_mutex, 7,s: 4,882,985 msg/sec tbb::spin_mutex, 7,i: 4,308,681 msg/sec tbb::spin_mutex, 8,s: 4,235,882 msg/sec tbb::spin_mutex, 8,i: 4,170,724 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,295,321 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,336,006 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,677,429 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,076,664 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,687,304 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,660,135 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,972,678 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,404,195 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,515,294 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,647,864 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,936,558 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,684,538 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,876,275 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,111,622 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,898,312 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,412,698 msg/sec xenium::michael_scott_queue, 1,s: 9,104,696 msg/sec xenium::michael_scott_queue, 1,i: 9,374,752 msg/sec xenium::michael_scott_queue, 2,s: 8,482,416 msg/sec xenium::michael_scott_queue, 2,i: 8,525,396 msg/sec xenium::michael_scott_queue, 3,s: 7,219,405 msg/sec xenium::michael_scott_queue, 3,i: 7,570,406 msg/sec xenium::michael_scott_queue, 4,s: 6,337,291 msg/sec xenium::michael_scott_queue, 4,i: 6,349,844 msg/sec xenium::michael_scott_queue, 5,s: 6,279,403 msg/sec xenium::michael_scott_queue, 5,i: 6,646,490 msg/sec xenium::michael_scott_queue, 6,s: 6,484,119 msg/sec xenium::michael_scott_queue, 6,i: 6,644,849 msg/sec xenium::michael_scott_queue, 7,s: 6,363,112 msg/sec xenium::michael_scott_queue, 7,i: 6,661,212 msg/sec xenium::michael_scott_queue, 8,s: 5,971,815 msg/sec xenium::michael_scott_queue, 8,i: 6,290,228 msg/sec xenium::ramalhete_queue, 1,s: 32,692,536 msg/sec xenium::ramalhete_queue, 1,i: 33,285,933 msg/sec xenium::ramalhete_queue, 2,s: 23,530,195 msg/sec xenium::ramalhete_queue, 2,i: 23,372,546 msg/sec xenium::ramalhete_queue, 3,s: 29,241,600 msg/sec xenium::ramalhete_queue, 3,i: 28,457,814 msg/sec xenium::ramalhete_queue, 4,s: 33,861,994 msg/sec xenium::ramalhete_queue, 4,i: 33,478,916 msg/sec xenium::ramalhete_queue, 5,s: 32,092,354 msg/sec xenium::ramalhete_queue, 5,i: 35,965,315 msg/sec xenium::ramalhete_queue, 6,s: 34,002,067 msg/sec xenium::ramalhete_queue, 6,i: 38,882,994 msg/sec xenium::ramalhete_queue, 7,s: 34,914,633 msg/sec xenium::ramalhete_queue, 7,i: 41,594,996 msg/sec xenium::ramalhete_queue, 8,s: 35,348,684 msg/sec xenium::ramalhete_queue, 8,i: 43,876,997 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,027,746 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,058,512 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,784,931 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,603,617 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,563,716 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,966,633 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,573,393 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,403,706 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,884,013 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,272,633 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,784,029 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,271,884 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,193,245 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,967,148 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,469,138 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,341,357 msg/sec AtomicQueue, 1,s: 58,386,623 msg/sec AtomicQueue, 1,i: 56,453,582 msg/sec AtomicQueue, 2,s: 12,198,948 msg/sec AtomicQueue, 2,i: 11,748,351 msg/sec AtomicQueue, 3,s: 10,740,863 msg/sec AtomicQueue, 3,i: 10,015,627 msg/sec AtomicQueue, 4,s: 8,200,850 msg/sec AtomicQueue, 4,i: 8,202,681 msg/sec AtomicQueue, 5,s: 8,053,555 msg/sec AtomicQueue, 5,i: 8,090,499 msg/sec AtomicQueue, 6,s: 7,810,339 msg/sec AtomicQueue, 6,i: 7,626,173 msg/sec AtomicQueue, 7,s: 7,154,196 msg/sec AtomicQueue, 7,i: 7,969,755 msg/sec AtomicQueue, 8,s: 6,331,185 msg/sec AtomicQueue, 8,i: 7,354,668 msg/sec AtomicQueueB, 1,s: 43,766,588 msg/sec AtomicQueueB, 1,i: 69,827,251 msg/sec AtomicQueueB, 2,s: 11,878,366 msg/sec AtomicQueueB, 2,i: 11,442,970 msg/sec AtomicQueueB, 3,s: 10,994,552 msg/sec AtomicQueueB, 3,i: 10,194,458 msg/sec AtomicQueueB, 4,s: 8,063,849 msg/sec AtomicQueueB, 4,i: 8,071,198 msg/sec AtomicQueueB, 5,s: 7,594,529 msg/sec AtomicQueueB, 5,i: 7,827,795 msg/sec AtomicQueueB, 6,s: 7,436,522 msg/sec AtomicQueueB, 6,i: 7,507,020 msg/sec AtomicQueueB, 7,s: 6,889,075 msg/sec AtomicQueueB, 7,i: 7,717,735 msg/sec AtomicQueueB, 8,s: 6,198,195 msg/sec AtomicQueueB, 8,i: 7,114,148 msg/sec OptimistAtomicQueue, 1,s: 795,604,761 msg/sec OptimistAtomicQueue, 1,i: 525,016,856 msg/sec OptimistAtomicQueue, 2,s: 32,125,619 msg/sec OptimistAtomicQueue, 2,i: 32,206,538 msg/sec OptimistAtomicQueue, 3,s: 36,614,865 msg/sec OptimistAtomicQueue, 3,i: 37,362,793 msg/sec OptimistAtomicQueue, 4,s: 39,279,451 msg/sec OptimistAtomicQueue, 4,i: 39,382,847 msg/sec OptimistAtomicQueue, 5,s: 42,464,208 msg/sec OptimistAtomicQueue, 5,i: 46,395,346 msg/sec OptimistAtomicQueue, 6,s: 42,481,652 msg/sec OptimistAtomicQueue, 6,i: 50,502,593 msg/sec OptimistAtomicQueue, 7,s: 45,059,602 msg/sec OptimistAtomicQueue, 7,i: 52,992,389 msg/sec OptimistAtomicQueue, 8,s: 46,364,851 msg/sec OptimistAtomicQueue, 8,i: 49,325,423 msg/sec OptimistAtomicQueueB, 1,s: 97,290,105 msg/sec OptimistAtomicQueueB, 1,i: 76,603,604 msg/sec OptimistAtomicQueueB, 2,s: 32,187,991 msg/sec OptimistAtomicQueueB, 2,i: 32,122,497 msg/sec OptimistAtomicQueueB, 3,s: 36,230,627 msg/sec OptimistAtomicQueueB, 3,i: 36,804,931 msg/sec OptimistAtomicQueueB, 4,s: 38,704,412 msg/sec OptimistAtomicQueueB, 4,i: 38,600,211 msg/sec OptimistAtomicQueueB, 5,s: 40,931,013 msg/sec OptimistAtomicQueueB, 5,i: 45,287,079 msg/sec OptimistAtomicQueueB, 6,s: 40,896,098 msg/sec OptimistAtomicQueueB, 6,i: 49,119,608 msg/sec OptimistAtomicQueueB, 7,s: 41,956,785 msg/sec OptimistAtomicQueueB, 7,i: 48,021,870 msg/sec OptimistAtomicQueueB, 8,s: 44,383,778 msg/sec OptimistAtomicQueueB, 8,i: 47,654,507 msg/sec AtomicQueue2, 1,s: 23,451,651 msg/sec AtomicQueue2, 1,i: 23,389,942 msg/sec AtomicQueue2, 2,s: 11,904,330 msg/sec AtomicQueue2, 2,i: 11,372,786 msg/sec AtomicQueue2, 3,s: 9,582,506 msg/sec AtomicQueue2, 3,i: 9,431,942 msg/sec AtomicQueue2, 4,s: 8,048,866 msg/sec AtomicQueue2, 4,i: 8,043,638 msg/sec AtomicQueue2, 5,s: 7,905,363 msg/sec AtomicQueue2, 5,i: 8,032,226 msg/sec AtomicQueue2, 6,s: 7,847,582 msg/sec AtomicQueue2, 6,i: 7,477,790 msg/sec AtomicQueue2, 7,s: 7,170,391 msg/sec AtomicQueue2, 7,i: 7,895,734 msg/sec AtomicQueue2, 8,s: 6,372,093 msg/sec AtomicQueue2, 8,i: 7,275,268 msg/sec AtomicQueueB2, 1,s: 36,237,431 msg/sec AtomicQueueB2, 1,i: 32,630,816 msg/sec AtomicQueueB2, 2,s: 11,419,113 msg/sec AtomicQueueB2, 2,i: 11,095,232 msg/sec AtomicQueueB2, 3,s: 9,707,459 msg/sec AtomicQueueB2, 3,i: 9,475,759 msg/sec AtomicQueueB2, 4,s: 7,929,503 msg/sec AtomicQueueB2, 4,i: 7,924,410 msg/sec AtomicQueueB2, 5,s: 7,432,818 msg/sec AtomicQueueB2, 5,i: 7,713,187 msg/sec AtomicQueueB2, 6,s: 7,194,159 msg/sec AtomicQueueB2, 6,i: 7,412,068 msg/sec AtomicQueueB2, 7,s: 6,970,303 msg/sec AtomicQueueB2, 7,i: 7,707,800 msg/sec AtomicQueueB2, 8,s: 6,261,185 msg/sec AtomicQueueB2, 8,i: 6,962,602 msg/sec OptimistAtomicQueue2, 1,s: 32,106,796 msg/sec OptimistAtomicQueue2, 1,i: 68,201,098 msg/sec OptimistAtomicQueue2, 2,s: 26,167,989 msg/sec OptimistAtomicQueue2, 2,i: 24,018,729 msg/sec OptimistAtomicQueue2, 3,s: 30,335,392 msg/sec OptimistAtomicQueue2, 3,i: 29,962,024 msg/sec OptimistAtomicQueue2, 4,s: 33,225,709 msg/sec OptimistAtomicQueue2, 4,i: 33,731,061 msg/sec OptimistAtomicQueue2, 5,s: 37,181,656 msg/sec OptimistAtomicQueue2, 5,i: 39,923,919 msg/sec OptimistAtomicQueue2, 6,s: 40,127,166 msg/sec OptimistAtomicQueue2, 6,i: 49,209,781 msg/sec OptimistAtomicQueue2, 7,s: 42,768,297 msg/sec OptimistAtomicQueue2, 7,i: 48,169,440 msg/sec OptimistAtomicQueue2, 8,s: 43,922,562 msg/sec OptimistAtomicQueue2, 8,i: 48,399,406 msg/sec OptimistAtomicQueueB2, 1,s: 77,095,315 msg/sec OptimistAtomicQueueB2, 1,i: 43,627,644 msg/sec OptimistAtomicQueueB2, 2,s: 27,358,021 msg/sec OptimistAtomicQueueB2, 2,i: 23,231,998 msg/sec OptimistAtomicQueueB2, 3,s: 30,218,124 msg/sec OptimistAtomicQueueB2, 3,i: 29,090,386 msg/sec OptimistAtomicQueueB2, 4,s: 33,393,256 msg/sec OptimistAtomicQueueB2, 4,i: 33,064,916 msg/sec OptimistAtomicQueueB2, 5,s: 34,533,599 msg/sec OptimistAtomicQueueB2, 5,i: 39,301,210 msg/sec OptimistAtomicQueueB2, 6,s: 37,639,081 msg/sec OptimistAtomicQueueB2, 6,i: 42,496,309 msg/sec OptimistAtomicQueueB2, 7,s: 40,432,294 msg/sec OptimistAtomicQueueB2, 7,i: 43,282,913 msg/sec OptimistAtomicQueueB2, 8,s: 42,180,742 msg/sec OptimistAtomicQueueB2, 8,i: 46,422,694 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000259 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [215] 197m:37s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 77,735,759 msg/sec boost::lockfree::spsc_queue, 1,i: 74,581,401 msg/sec boost::lockfree::queue, 1,s: 6,820,896 msg/sec boost::lockfree::queue, 1,i: 6,807,412 msg/sec boost::lockfree::queue, 2,s: 7,521,678 msg/sec boost::lockfree::queue, 2,i: 7,593,984 msg/sec boost::lockfree::queue, 3,s: 7,341,556 msg/sec boost::lockfree::queue, 3,i: 7,560,477 msg/sec boost::lockfree::queue, 4,s: 6,428,634 msg/sec boost::lockfree::queue, 4,i: 6,844,865 msg/sec boost::lockfree::queue, 5,s: 6,406,415 msg/sec boost::lockfree::queue, 5,i: 6,458,392 msg/sec boost::lockfree::queue, 6,s: 5,981,589 msg/sec boost::lockfree::queue, 6,i: 6,114,150 msg/sec boost::lockfree::queue, 7,s: 5,912,087 msg/sec boost::lockfree::queue, 7,i: 6,039,565 msg/sec boost::lockfree::queue, 8,s: 5,448,610 msg/sec boost::lockfree::queue, 8,i: 5,647,523 msg/sec moodycamel::ReaderWriterQueue, 1,s: 311,060,180 msg/sec moodycamel::ReaderWriterQueue, 1,i: 43,784,545 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,114,430 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,900,866 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,791,924 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,647,946 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,408,121 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,447,617 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,632,834 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,778,169 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,381,849 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,301,651 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,450,703 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,448,190 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,094,120 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,842,902 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,319,712 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,455,243 msg/sec pthread_spinlock, 1,s: 28,950,746 msg/sec pthread_spinlock, 1,i: 25,405,747 msg/sec pthread_spinlock, 2,s: 15,583,792 msg/sec pthread_spinlock, 2,i: 17,128,654 msg/sec pthread_spinlock, 3,s: 8,286,801 msg/sec pthread_spinlock, 3,i: 12,032,267 msg/sec pthread_spinlock, 4,s: 6,456,190 msg/sec pthread_spinlock, 4,i: 8,984,912 msg/sec pthread_spinlock, 5,s: 8,819,015 msg/sec pthread_spinlock, 5,i: 8,870,898 msg/sec pthread_spinlock, 6,s: 8,336,697 msg/sec pthread_spinlock, 6,i: 8,922,600 msg/sec pthread_spinlock, 7,s: 7,948,815 msg/sec pthread_spinlock, 7,i: 7,715,187 msg/sec pthread_spinlock, 8,s: 6,818,274 msg/sec pthread_spinlock, 8,i: 6,898,382 msg/sec std::mutex, 1,s: 7,502,590 msg/sec std::mutex, 1,i: 7,482,379 msg/sec std::mutex, 2,s: 4,908,279 msg/sec std::mutex, 2,i: 5,722,885 msg/sec std::mutex, 3,s: 6,124,315 msg/sec std::mutex, 3,i: 6,016,564 msg/sec std::mutex, 4,s: 6,308,430 msg/sec std::mutex, 4,i: 6,233,693 msg/sec std::mutex, 5,s: 6,108,890 msg/sec std::mutex, 5,i: 5,976,134 msg/sec std::mutex, 6,s: 5,916,600 msg/sec std::mutex, 6,i: 5,932,217 msg/sec std::mutex, 7,s: 5,814,101 msg/sec std::mutex, 7,i: 5,805,727 msg/sec std::mutex, 8,s: 5,648,419 msg/sec std::mutex, 8,i: 5,689,270 msg/sec tbb::spin_mutex, 1,s: 37,954,027 msg/sec tbb::spin_mutex, 1,i: 33,281,498 msg/sec tbb::spin_mutex, 2,s: 20,928,446 msg/sec tbb::spin_mutex, 2,i: 20,160,598 msg/sec tbb::spin_mutex, 3,s: 7,376,832 msg/sec tbb::spin_mutex, 3,i: 10,235,542 msg/sec tbb::spin_mutex, 4,s: 2,900,531 msg/sec tbb::spin_mutex, 4,i: 6,339,766 msg/sec tbb::spin_mutex, 5,s: 5,449,697 msg/sec tbb::spin_mutex, 5,i: 5,618,880 msg/sec tbb::spin_mutex, 6,s: 5,396,077 msg/sec tbb::spin_mutex, 6,i: 4,361,100 msg/sec tbb::spin_mutex, 7,s: 4,822,089 msg/sec tbb::spin_mutex, 7,i: 4,369,463 msg/sec tbb::spin_mutex, 8,s: 4,241,663 msg/sec tbb::spin_mutex, 8,i: 3,986,043 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,294,643 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,287,722 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,336,684 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,235,704 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,462,109 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,688,602 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,593,088 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,614,989 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,897,934 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,595,842 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,973,211 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,714,720 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,888,886 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,804,100 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,770,215 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,470,200 msg/sec xenium::michael_scott_queue, 1,s: 9,247,610 msg/sec xenium::michael_scott_queue, 1,i: 9,175,054 msg/sec xenium::michael_scott_queue, 2,s: 8,473,277 msg/sec xenium::michael_scott_queue, 2,i: 8,530,025 msg/sec xenium::michael_scott_queue, 3,s: 7,278,269 msg/sec xenium::michael_scott_queue, 3,i: 7,535,870 msg/sec xenium::michael_scott_queue, 4,s: 6,281,761 msg/sec xenium::michael_scott_queue, 4,i: 6,293,720 msg/sec xenium::michael_scott_queue, 5,s: 6,274,280 msg/sec xenium::michael_scott_queue, 5,i: 6,705,897 msg/sec xenium::michael_scott_queue, 6,s: 6,530,853 msg/sec xenium::michael_scott_queue, 6,i: 6,680,051 msg/sec xenium::michael_scott_queue, 7,s: 6,286,240 msg/sec xenium::michael_scott_queue, 7,i: 6,445,403 msg/sec xenium::michael_scott_queue, 8,s: 6,008,609 msg/sec xenium::michael_scott_queue, 8,i: 6,060,283 msg/sec xenium::ramalhete_queue, 1,s: 31,715,538 msg/sec xenium::ramalhete_queue, 1,i: 32,213,993 msg/sec xenium::ramalhete_queue, 2,s: 23,561,816 msg/sec xenium::ramalhete_queue, 2,i: 23,376,431 msg/sec xenium::ramalhete_queue, 3,s: 29,168,262 msg/sec xenium::ramalhete_queue, 3,i: 28,472,676 msg/sec xenium::ramalhete_queue, 4,s: 33,742,298 msg/sec xenium::ramalhete_queue, 4,i: 33,430,269 msg/sec xenium::ramalhete_queue, 5,s: 31,957,032 msg/sec xenium::ramalhete_queue, 5,i: 38,391,013 msg/sec xenium::ramalhete_queue, 6,s: 33,953,885 msg/sec xenium::ramalhete_queue, 6,i: 39,324,678 msg/sec xenium::ramalhete_queue, 7,s: 35,224,670 msg/sec xenium::ramalhete_queue, 7,i: 40,961,134 msg/sec xenium::ramalhete_queue, 8,s: 35,521,625 msg/sec xenium::ramalhete_queue, 8,i: 43,888,243 msg/sec xenium::vyukov_bounded_queue, 1,s: 98,769,709 msg/sec xenium::vyukov_bounded_queue, 1,i: 99,467,508 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,157,791 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,770,517 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,676,867 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,801,937 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,415,845 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,975,235 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,275,587 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,364,972 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,018,692 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,464,943 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,173,370 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,902,197 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,379,735 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,524,459 msg/sec AtomicQueue, 1,s: 99,435,697 msg/sec AtomicQueue, 1,i: 57,333,563 msg/sec AtomicQueue, 2,s: 12,334,348 msg/sec AtomicQueue, 2,i: 11,745,963 msg/sec AtomicQueue, 3,s: 10,796,808 msg/sec AtomicQueue, 3,i: 9,906,539 msg/sec AtomicQueue, 4,s: 8,204,116 msg/sec AtomicQueue, 4,i: 8,182,272 msg/sec AtomicQueue, 5,s: 7,985,501 msg/sec AtomicQueue, 5,i: 8,150,554 msg/sec AtomicQueue, 6,s: 7,916,630 msg/sec AtomicQueue, 6,i: 7,586,569 msg/sec AtomicQueue, 7,s: 7,176,925 msg/sec AtomicQueue, 7,i: 7,998,208 msg/sec AtomicQueue, 8,s: 6,361,948 msg/sec AtomicQueue, 8,i: 7,455,278 msg/sec AtomicQueueB, 1,s: 43,965,516 msg/sec AtomicQueueB, 1,i: 43,869,835 msg/sec AtomicQueueB, 2,s: 11,749,686 msg/sec AtomicQueueB, 2,i: 11,479,123 msg/sec AtomicQueueB, 3,s: 11,058,891 msg/sec AtomicQueueB, 3,i: 10,295,013 msg/sec AtomicQueueB, 4,s: 8,097,894 msg/sec AtomicQueueB, 4,i: 8,102,934 msg/sec AtomicQueueB, 5,s: 7,553,174 msg/sec AtomicQueueB, 5,i: 7,767,601 msg/sec AtomicQueueB, 6,s: 7,316,382 msg/sec AtomicQueueB, 6,i: 7,484,263 msg/sec AtomicQueueB, 7,s: 6,888,665 msg/sec AtomicQueueB, 7,i: 7,730,946 msg/sec AtomicQueueB, 8,s: 6,252,325 msg/sec AtomicQueueB, 8,i: 7,153,179 msg/sec OptimistAtomicQueue, 1,s: 784,462,927 msg/sec OptimistAtomicQueue, 1,i: 614,877,294 msg/sec OptimistAtomicQueue, 2,s: 32,219,795 msg/sec OptimistAtomicQueue, 2,i: 32,748,226 msg/sec OptimistAtomicQueue, 3,s: 36,676,394 msg/sec OptimistAtomicQueue, 3,i: 37,522,338 msg/sec OptimistAtomicQueue, 4,s: 39,316,188 msg/sec OptimistAtomicQueue, 4,i: 39,382,809 msg/sec OptimistAtomicQueue, 5,s: 42,497,246 msg/sec OptimistAtomicQueue, 5,i: 46,389,577 msg/sec OptimistAtomicQueue, 6,s: 42,994,952 msg/sec OptimistAtomicQueue, 6,i: 50,519,428 msg/sec OptimistAtomicQueue, 7,s: 45,028,788 msg/sec OptimistAtomicQueue, 7,i: 49,477,792 msg/sec OptimistAtomicQueue, 8,s: 46,263,211 msg/sec OptimistAtomicQueue, 8,i: 49,974,240 msg/sec OptimistAtomicQueueB, 1,s: 113,351,744 msg/sec OptimistAtomicQueueB, 1,i: 76,592,135 msg/sec OptimistAtomicQueueB, 2,s: 32,128,484 msg/sec OptimistAtomicQueueB, 2,i: 32,275,316 msg/sec OptimistAtomicQueueB, 3,s: 36,319,681 msg/sec OptimistAtomicQueueB, 3,i: 36,940,887 msg/sec OptimistAtomicQueueB, 4,s: 38,617,982 msg/sec OptimistAtomicQueueB, 4,i: 38,732,818 msg/sec OptimistAtomicQueueB, 5,s: 41,105,275 msg/sec OptimistAtomicQueueB, 5,i: 45,482,212 msg/sec OptimistAtomicQueueB, 6,s: 40,523,357 msg/sec OptimistAtomicQueueB, 6,i: 49,180,953 msg/sec OptimistAtomicQueueB, 7,s: 42,232,730 msg/sec OptimistAtomicQueueB, 7,i: 50,837,991 msg/sec OptimistAtomicQueueB, 8,s: 44,257,406 msg/sec OptimistAtomicQueueB, 8,i: 47,885,488 msg/sec AtomicQueue2, 1,s: 22,976,958 msg/sec AtomicQueue2, 1,i: 22,958,361 msg/sec AtomicQueue2, 2,s: 11,679,031 msg/sec AtomicQueue2, 2,i: 11,512,543 msg/sec AtomicQueue2, 3,s: 9,502,919 msg/sec AtomicQueue2, 3,i: 9,612,519 msg/sec AtomicQueue2, 4,s: 8,018,874 msg/sec AtomicQueue2, 4,i: 8,026,079 msg/sec AtomicQueue2, 5,s: 7,965,526 msg/sec AtomicQueue2, 5,i: 8,009,552 msg/sec AtomicQueue2, 6,s: 7,821,965 msg/sec AtomicQueue2, 6,i: 7,521,885 msg/sec AtomicQueue2, 7,s: 7,147,385 msg/sec AtomicQueue2, 7,i: 7,899,629 msg/sec AtomicQueue2, 8,s: 6,361,202 msg/sec AtomicQueue2, 8,i: 7,387,878 msg/sec AtomicQueueB2, 1,s: 35,645,461 msg/sec AtomicQueueB2, 1,i: 32,622,500 msg/sec AtomicQueueB2, 2,s: 11,399,214 msg/sec AtomicQueueB2, 2,i: 11,087,741 msg/sec AtomicQueueB2, 3,s: 9,619,952 msg/sec AtomicQueueB2, 3,i: 9,459,479 msg/sec AtomicQueueB2, 4,s: 7,842,415 msg/sec AtomicQueueB2, 4,i: 7,902,335 msg/sec AtomicQueueB2, 5,s: 7,470,732 msg/sec AtomicQueueB2, 5,i: 7,738,942 msg/sec AtomicQueueB2, 6,s: 7,256,301 msg/sec AtomicQueueB2, 6,i: 7,476,394 msg/sec AtomicQueueB2, 7,s: 6,848,445 msg/sec AtomicQueueB2, 7,i: 7,692,552 msg/sec AtomicQueueB2, 8,s: 6,373,463 msg/sec AtomicQueueB2, 8,i: 6,985,080 msg/sec OptimistAtomicQueue2, 1,s: 480,908,994 msg/sec OptimistAtomicQueue2, 1,i: 27,487,550 msg/sec OptimistAtomicQueue2, 2,s: 24,085,179 msg/sec OptimistAtomicQueue2, 2,i: 23,808,200 msg/sec OptimistAtomicQueue2, 3,s: 30,200,923 msg/sec OptimistAtomicQueue2, 3,i: 29,853,208 msg/sec OptimistAtomicQueue2, 4,s: 33,286,229 msg/sec OptimistAtomicQueue2, 4,i: 33,541,138 msg/sec OptimistAtomicQueue2, 5,s: 37,911,487 msg/sec OptimistAtomicQueue2, 5,i: 40,746,356 msg/sec OptimistAtomicQueue2, 6,s: 40,168,685 msg/sec OptimistAtomicQueue2, 6,i: 48,895,761 msg/sec OptimistAtomicQueue2, 7,s: 42,659,212 msg/sec OptimistAtomicQueue2, 7,i: 48,159,049 msg/sec OptimistAtomicQueue2, 8,s: 43,840,282 msg/sec OptimistAtomicQueue2, 8,i: 48,821,997 msg/sec OptimistAtomicQueueB2, 1,s: 78,752,223 msg/sec OptimistAtomicQueueB2, 1,i: 54,552,526 msg/sec OptimistAtomicQueueB2, 2,s: 27,155,310 msg/sec OptimistAtomicQueueB2, 2,i: 25,078,889 msg/sec OptimistAtomicQueueB2, 3,s: 30,389,512 msg/sec OptimistAtomicQueueB2, 3,i: 33,951,910 msg/sec OptimistAtomicQueueB2, 4,s: 33,419,962 msg/sec OptimistAtomicQueueB2, 4,i: 31,739,730 msg/sec OptimistAtomicQueueB2, 5,s: 34,604,794 msg/sec OptimistAtomicQueueB2, 5,i: 39,276,594 msg/sec OptimistAtomicQueueB2, 6,s: 37,388,536 msg/sec OptimistAtomicQueueB2, 6,i: 42,268,152 msg/sec OptimistAtomicQueueB2, 7,s: 40,809,836 msg/sec OptimistAtomicQueueB2, 7,i: 43,083,577 msg/sec OptimistAtomicQueueB2, 8,s: 42,541,707 msg/sec OptimistAtomicQueueB2, 8,i: 45,651,416 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000282 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000258 sec/round-trip xenium::vyukov_bounded_queue: 0.000000185 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [216] 196m:18s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,826,243 msg/sec boost::lockfree::spsc_queue, 1,i: 70,770,049 msg/sec boost::lockfree::queue, 1,s: 7,987,149 msg/sec boost::lockfree::queue, 1,i: 7,982,834 msg/sec boost::lockfree::queue, 2,s: 7,579,248 msg/sec boost::lockfree::queue, 2,i: 7,494,518 msg/sec boost::lockfree::queue, 3,s: 7,439,335 msg/sec boost::lockfree::queue, 3,i: 7,557,139 msg/sec boost::lockfree::queue, 4,s: 6,420,387 msg/sec boost::lockfree::queue, 4,i: 6,758,477 msg/sec boost::lockfree::queue, 5,s: 6,414,097 msg/sec boost::lockfree::queue, 5,i: 6,452,345 msg/sec boost::lockfree::queue, 6,s: 6,027,720 msg/sec boost::lockfree::queue, 6,i: 6,115,698 msg/sec boost::lockfree::queue, 7,s: 5,931,853 msg/sec boost::lockfree::queue, 7,i: 5,910,413 msg/sec boost::lockfree::queue, 8,s: 5,456,523 msg/sec boost::lockfree::queue, 8,i: 5,692,231 msg/sec moodycamel::ReaderWriterQueue, 1,s: 136,579,318 msg/sec moodycamel::ReaderWriterQueue, 1,i: 117,819,737 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,648,732 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,501,249 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,115,767 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,486,449 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,291,705 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,773,839 msg/sec moodycamel::ConcurrentQueue, 4,s: 37,574,348 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,823,779 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,187,029 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,270,666 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,553,297 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,147,342 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,040,270 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,743,707 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,097,559 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,566,424 msg/sec pthread_spinlock, 1,s: 29,099,999 msg/sec pthread_spinlock, 1,i: 25,290,938 msg/sec pthread_spinlock, 2,s: 15,625,344 msg/sec pthread_spinlock, 2,i: 16,913,658 msg/sec pthread_spinlock, 3,s: 8,369,268 msg/sec pthread_spinlock, 3,i: 11,951,263 msg/sec pthread_spinlock, 4,s: 6,495,576 msg/sec pthread_spinlock, 4,i: 9,096,791 msg/sec pthread_spinlock, 5,s: 8,760,455 msg/sec pthread_spinlock, 5,i: 10,371,933 msg/sec pthread_spinlock, 6,s: 8,112,952 msg/sec pthread_spinlock, 6,i: 9,029,605 msg/sec pthread_spinlock, 7,s: 7,556,407 msg/sec pthread_spinlock, 7,i: 7,487,927 msg/sec pthread_spinlock, 8,s: 6,913,783 msg/sec pthread_spinlock, 8,i: 6,882,320 msg/sec std::mutex, 1,s: 5,186,874 msg/sec std::mutex, 1,i: 5,806,497 msg/sec std::mutex, 2,s: 5,502,906 msg/sec std::mutex, 2,i: 5,564,775 msg/sec std::mutex, 3,s: 5,098,871 msg/sec std::mutex, 3,i: 5,887,523 msg/sec std::mutex, 4,s: 5,752,183 msg/sec std::mutex, 4,i: 6,147,915 msg/sec std::mutex, 5,s: 5,988,695 msg/sec std::mutex, 5,i: 6,027,636 msg/sec std::mutex, 6,s: 5,773,975 msg/sec std::mutex, 6,i: 5,915,322 msg/sec std::mutex, 7,s: 5,691,984 msg/sec std::mutex, 7,i: 5,728,178 msg/sec std::mutex, 8,s: 5,646,345 msg/sec std::mutex, 8,i: 5,646,983 msg/sec tbb::spin_mutex, 1,s: 37,561,791 msg/sec tbb::spin_mutex, 1,i: 32,951,952 msg/sec tbb::spin_mutex, 2,s: 21,246,769 msg/sec tbb::spin_mutex, 2,i: 18,293,629 msg/sec tbb::spin_mutex, 3,s: 8,251,597 msg/sec tbb::spin_mutex, 3,i: 10,301,733 msg/sec tbb::spin_mutex, 4,s: 3,268,890 msg/sec tbb::spin_mutex, 4,i: 6,254,348 msg/sec tbb::spin_mutex, 5,s: 5,466,084 msg/sec tbb::spin_mutex, 5,i: 5,762,360 msg/sec tbb::spin_mutex, 6,s: 5,327,740 msg/sec tbb::spin_mutex, 6,i: 4,329,166 msg/sec tbb::spin_mutex, 7,s: 4,810,242 msg/sec tbb::spin_mutex, 7,i: 4,223,732 msg/sec tbb::spin_mutex, 8,s: 3,878,014 msg/sec tbb::spin_mutex, 8,i: 4,080,450 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,394,476 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,324,865 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,862,344 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,770,790 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,565,604 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,976,677 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,130,844 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,378,556 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,740,943 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,734,535 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,857,240 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,931,839 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,788,182 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,150,432 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,619,011 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,306,711 msg/sec xenium::michael_scott_queue, 1,s: 9,346,935 msg/sec xenium::michael_scott_queue, 1,i: 9,352,559 msg/sec xenium::michael_scott_queue, 2,s: 8,489,405 msg/sec xenium::michael_scott_queue, 2,i: 8,523,248 msg/sec xenium::michael_scott_queue, 3,s: 7,293,708 msg/sec xenium::michael_scott_queue, 3,i: 7,605,313 msg/sec xenium::michael_scott_queue, 4,s: 6,298,506 msg/sec xenium::michael_scott_queue, 4,i: 6,324,696 msg/sec xenium::michael_scott_queue, 5,s: 6,303,847 msg/sec xenium::michael_scott_queue, 5,i: 6,643,586 msg/sec xenium::michael_scott_queue, 6,s: 6,491,864 msg/sec xenium::michael_scott_queue, 6,i: 6,807,521 msg/sec xenium::michael_scott_queue, 7,s: 6,340,861 msg/sec xenium::michael_scott_queue, 7,i: 6,526,834 msg/sec xenium::michael_scott_queue, 8,s: 5,992,644 msg/sec xenium::michael_scott_queue, 8,i: 6,124,654 msg/sec xenium::ramalhete_queue, 1,s: 32,110,147 msg/sec xenium::ramalhete_queue, 1,i: 31,488,162 msg/sec xenium::ramalhete_queue, 2,s: 23,665,122 msg/sec xenium::ramalhete_queue, 2,i: 23,351,074 msg/sec xenium::ramalhete_queue, 3,s: 29,159,538 msg/sec xenium::ramalhete_queue, 3,i: 28,589,887 msg/sec xenium::ramalhete_queue, 4,s: 33,851,014 msg/sec xenium::ramalhete_queue, 4,i: 33,489,560 msg/sec xenium::ramalhete_queue, 5,s: 31,977,986 msg/sec xenium::ramalhete_queue, 5,i: 36,836,467 msg/sec xenium::ramalhete_queue, 6,s: 33,611,297 msg/sec xenium::ramalhete_queue, 6,i: 38,592,036 msg/sec xenium::ramalhete_queue, 7,s: 35,071,029 msg/sec xenium::ramalhete_queue, 7,i: 40,218,987 msg/sec xenium::ramalhete_queue, 8,s: 35,197,330 msg/sec xenium::ramalhete_queue, 8,i: 43,874,144 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,731,186 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,931,369 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,177,579 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,817,370 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,551,821 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,815,892 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,656,530 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,166,003 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,716,423 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,296,265 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,968,145 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,189,227 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,249,293 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,072,142 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,462,760 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,233,490 msg/sec AtomicQueue, 1,s: 60,213,133 msg/sec AtomicQueue, 1,i: 56,688,050 msg/sec AtomicQueue, 2,s: 12,151,098 msg/sec AtomicQueue, 2,i: 11,776,725 msg/sec AtomicQueue, 3,s: 10,758,633 msg/sec AtomicQueue, 3,i: 9,964,809 msg/sec AtomicQueue, 4,s: 8,189,790 msg/sec AtomicQueue, 4,i: 8,183,046 msg/sec AtomicQueue, 5,s: 8,013,056 msg/sec AtomicQueue, 5,i: 8,093,599 msg/sec AtomicQueue, 6,s: 7,809,726 msg/sec AtomicQueue, 6,i: 7,612,352 msg/sec AtomicQueue, 7,s: 7,077,642 msg/sec AtomicQueue, 7,i: 7,993,116 msg/sec AtomicQueue, 8,s: 6,326,135 msg/sec AtomicQueue, 8,i: 7,467,279 msg/sec AtomicQueueB, 1,s: 47,241,837 msg/sec AtomicQueueB, 1,i: 42,992,712 msg/sec AtomicQueueB, 2,s: 11,918,142 msg/sec AtomicQueueB, 2,i: 11,456,659 msg/sec AtomicQueueB, 3,s: 10,926,837 msg/sec AtomicQueueB, 3,i: 10,083,901 msg/sec AtomicQueueB, 4,s: 8,043,344 msg/sec AtomicQueueB, 4,i: 8,038,473 msg/sec AtomicQueueB, 5,s: 7,647,110 msg/sec AtomicQueueB, 5,i: 7,820,918 msg/sec AtomicQueueB, 6,s: 7,358,084 msg/sec AtomicQueueB, 6,i: 7,588,591 msg/sec AtomicQueueB, 7,s: 6,843,439 msg/sec AtomicQueueB, 7,i: 7,729,117 msg/sec AtomicQueueB, 8,s: 6,232,012 msg/sec AtomicQueueB, 8,i: 7,158,729 msg/sec OptimistAtomicQueue, 1,s: 804,716,928 msg/sec OptimistAtomicQueue, 1,i: 627,414,762 msg/sec OptimistAtomicQueue, 2,s: 32,222,861 msg/sec OptimistAtomicQueue, 2,i: 32,251,086 msg/sec OptimistAtomicQueue, 3,s: 36,591,268 msg/sec OptimistAtomicQueue, 3,i: 37,283,286 msg/sec OptimistAtomicQueue, 4,s: 39,247,899 msg/sec OptimistAtomicQueue, 4,i: 39,395,173 msg/sec OptimistAtomicQueue, 5,s: 42,516,641 msg/sec OptimistAtomicQueue, 5,i: 46,219,106 msg/sec OptimistAtomicQueue, 6,s: 42,402,852 msg/sec OptimistAtomicQueue, 6,i: 49,801,399 msg/sec OptimistAtomicQueue, 7,s: 43,830,028 msg/sec OptimistAtomicQueue, 7,i: 53,054,503 msg/sec OptimistAtomicQueue, 8,s: 46,381,276 msg/sec OptimistAtomicQueue, 8,i: 48,807,452 msg/sec OptimistAtomicQueueB, 1,s: 550,152,976 msg/sec OptimistAtomicQueueB, 1,i: 120,704,828 msg/sec OptimistAtomicQueueB, 2,s: 32,116,839 msg/sec OptimistAtomicQueueB, 2,i: 31,933,437 msg/sec OptimistAtomicQueueB, 3,s: 36,221,485 msg/sec OptimistAtomicQueueB, 3,i: 36,801,001 msg/sec OptimistAtomicQueueB, 4,s: 38,651,915 msg/sec OptimistAtomicQueueB, 4,i: 38,598,932 msg/sec OptimistAtomicQueueB, 5,s: 40,960,953 msg/sec OptimistAtomicQueueB, 5,i: 45,251,559 msg/sec OptimistAtomicQueueB, 6,s: 41,212,616 msg/sec OptimistAtomicQueueB, 6,i: 49,059,458 msg/sec OptimistAtomicQueueB, 7,s: 42,649,048 msg/sec OptimistAtomicQueueB, 7,i: 50,594,754 msg/sec OptimistAtomicQueueB, 8,s: 44,518,598 msg/sec OptimistAtomicQueueB, 8,i: 47,692,641 msg/sec AtomicQueue2, 1,s: 22,899,786 msg/sec AtomicQueue2, 1,i: 22,887,304 msg/sec AtomicQueue2, 2,s: 11,830,494 msg/sec AtomicQueue2, 2,i: 11,443,486 msg/sec AtomicQueue2, 3,s: 9,470,815 msg/sec AtomicQueue2, 3,i: 9,527,073 msg/sec AtomicQueue2, 4,s: 8,014,231 msg/sec AtomicQueue2, 4,i: 8,049,367 msg/sec AtomicQueue2, 5,s: 7,946,808 msg/sec AtomicQueue2, 5,i: 8,062,222 msg/sec AtomicQueue2, 6,s: 7,685,946 msg/sec AtomicQueue2, 6,i: 7,519,714 msg/sec AtomicQueue2, 7,s: 7,082,748 msg/sec AtomicQueue2, 7,i: 7,895,818 msg/sec AtomicQueue2, 8,s: 6,367,459 msg/sec AtomicQueue2, 8,i: 7,375,046 msg/sec AtomicQueueB2, 1,s: 36,252,199 msg/sec AtomicQueueB2, 1,i: 32,577,581 msg/sec AtomicQueueB2, 2,s: 11,407,567 msg/sec AtomicQueueB2, 2,i: 11,088,449 msg/sec AtomicQueueB2, 3,s: 9,523,948 msg/sec AtomicQueueB2, 3,i: 9,488,431 msg/sec AtomicQueueB2, 4,s: 7,896,099 msg/sec AtomicQueueB2, 4,i: 7,736,390 msg/sec AtomicQueueB2, 5,s: 7,563,863 msg/sec AtomicQueueB2, 5,i: 7,634,312 msg/sec AtomicQueueB2, 6,s: 7,110,190 msg/sec AtomicQueueB2, 6,i: 7,460,871 msg/sec AtomicQueueB2, 7,s: 6,902,941 msg/sec AtomicQueueB2, 7,i: 7,694,385 msg/sec AtomicQueueB2, 8,s: 6,278,960 msg/sec AtomicQueueB2, 8,i: 7,109,563 msg/sec OptimistAtomicQueue2, 1,s: 405,290,951 msg/sec OptimistAtomicQueue2, 1,i: 402,963,311 msg/sec OptimistAtomicQueue2, 2,s: 24,804,440 msg/sec OptimistAtomicQueue2, 2,i: 25,658,675 msg/sec OptimistAtomicQueue2, 3,s: 30,330,406 msg/sec OptimistAtomicQueue2, 3,i: 31,690,871 msg/sec OptimistAtomicQueue2, 4,s: 33,250,974 msg/sec OptimistAtomicQueue2, 4,i: 33,439,086 msg/sec OptimistAtomicQueue2, 5,s: 37,177,011 msg/sec OptimistAtomicQueue2, 5,i: 40,185,512 msg/sec OptimistAtomicQueue2, 6,s: 40,113,493 msg/sec OptimistAtomicQueue2, 6,i: 49,161,716 msg/sec OptimistAtomicQueue2, 7,s: 42,725,613 msg/sec OptimistAtomicQueue2, 7,i: 51,674,089 msg/sec OptimistAtomicQueue2, 8,s: 43,884,127 msg/sec OptimistAtomicQueue2, 8,i: 48,381,262 msg/sec OptimistAtomicQueueB2, 1,s: 75,424,151 msg/sec OptimistAtomicQueueB2, 1,i: 33,889,066 msg/sec OptimistAtomicQueueB2, 2,s: 28,135,423 msg/sec OptimistAtomicQueueB2, 2,i: 26,144,974 msg/sec OptimistAtomicQueueB2, 3,s: 29,699,934 msg/sec OptimistAtomicQueueB2, 3,i: 29,340,311 msg/sec OptimistAtomicQueueB2, 4,s: 33,451,345 msg/sec OptimistAtomicQueueB2, 4,i: 31,875,834 msg/sec OptimistAtomicQueueB2, 5,s: 34,681,390 msg/sec OptimistAtomicQueueB2, 5,i: 39,645,980 msg/sec OptimistAtomicQueueB2, 6,s: 37,628,103 msg/sec OptimistAtomicQueueB2, 6,i: 42,503,431 msg/sec OptimistAtomicQueueB2, 7,s: 40,843,555 msg/sec OptimistAtomicQueueB2, 7,i: 45,465,226 msg/sec OptimistAtomicQueueB2, 8,s: 42,228,980 msg/sec OptimistAtomicQueueB2, 8,i: 45,983,529 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000162 sec/round-trip moodycamel::ConcurrentQueue: 0.000000243 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000443 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [217] 194m:58s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,522,725 msg/sec boost::lockfree::spsc_queue, 1,i: 69,497,541 msg/sec boost::lockfree::queue, 1,s: 6,874,304 msg/sec boost::lockfree::queue, 1,i: 6,934,786 msg/sec boost::lockfree::queue, 2,s: 7,626,381 msg/sec boost::lockfree::queue, 2,i: 7,459,713 msg/sec boost::lockfree::queue, 3,s: 7,416,494 msg/sec boost::lockfree::queue, 3,i: 7,570,032 msg/sec boost::lockfree::queue, 4,s: 6,421,530 msg/sec boost::lockfree::queue, 4,i: 6,803,923 msg/sec boost::lockfree::queue, 5,s: 6,420,972 msg/sec boost::lockfree::queue, 5,i: 6,422,355 msg/sec boost::lockfree::queue, 6,s: 6,011,561 msg/sec boost::lockfree::queue, 6,i: 6,090,606 msg/sec boost::lockfree::queue, 7,s: 5,936,433 msg/sec boost::lockfree::queue, 7,i: 6,029,629 msg/sec boost::lockfree::queue, 8,s: 5,471,372 msg/sec boost::lockfree::queue, 8,i: 5,628,881 msg/sec moodycamel::ReaderWriterQueue, 1,s: 48,511,151 msg/sec moodycamel::ReaderWriterQueue, 1,i: 43,684,770 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,250,022 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,897,078 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,915,985 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,639,708 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,209,930 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,952,359 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,279,144 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,946,968 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,220,441 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,714,803 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,604,686 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,646,842 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,265,450 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,219,833 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,315,707 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,630,749 msg/sec pthread_spinlock, 1,s: 29,298,439 msg/sec pthread_spinlock, 1,i: 25,415,682 msg/sec pthread_spinlock, 2,s: 16,435,905 msg/sec pthread_spinlock, 2,i: 16,956,118 msg/sec pthread_spinlock, 3,s: 8,419,530 msg/sec pthread_spinlock, 3,i: 12,071,208 msg/sec pthread_spinlock, 4,s: 6,524,896 msg/sec pthread_spinlock, 4,i: 9,043,500 msg/sec pthread_spinlock, 5,s: 8,640,780 msg/sec pthread_spinlock, 5,i: 8,994,632 msg/sec pthread_spinlock, 6,s: 8,277,218 msg/sec pthread_spinlock, 6,i: 9,033,660 msg/sec pthread_spinlock, 7,s: 7,437,464 msg/sec pthread_spinlock, 7,i: 7,470,921 msg/sec pthread_spinlock, 8,s: 6,951,932 msg/sec pthread_spinlock, 8,i: 7,094,452 msg/sec std::mutex, 1,s: 7,022,843 msg/sec std::mutex, 1,i: 6,285,941 msg/sec std::mutex, 2,s: 5,584,648 msg/sec std::mutex, 2,i: 5,645,491 msg/sec std::mutex, 3,s: 5,084,152 msg/sec std::mutex, 3,i: 5,454,740 msg/sec std::mutex, 4,s: 5,736,057 msg/sec std::mutex, 4,i: 6,228,953 msg/sec std::mutex, 5,s: 5,951,907 msg/sec std::mutex, 5,i: 6,123,403 msg/sec std::mutex, 6,s: 5,801,163 msg/sec std::mutex, 6,i: 5,897,800 msg/sec std::mutex, 7,s: 5,728,181 msg/sec std::mutex, 7,i: 5,788,012 msg/sec std::mutex, 8,s: 5,631,007 msg/sec std::mutex, 8,i: 5,660,944 msg/sec tbb::spin_mutex, 1,s: 37,546,571 msg/sec tbb::spin_mutex, 1,i: 33,027,536 msg/sec tbb::spin_mutex, 2,s: 21,175,561 msg/sec tbb::spin_mutex, 2,i: 18,310,957 msg/sec tbb::spin_mutex, 3,s: 7,358,194 msg/sec tbb::spin_mutex, 3,i: 10,927,344 msg/sec tbb::spin_mutex, 4,s: 3,135,312 msg/sec tbb::spin_mutex, 4,i: 6,321,443 msg/sec tbb::spin_mutex, 5,s: 5,387,464 msg/sec tbb::spin_mutex, 5,i: 5,879,507 msg/sec tbb::spin_mutex, 6,s: 5,314,992 msg/sec tbb::spin_mutex, 6,i: 4,330,567 msg/sec tbb::spin_mutex, 7,s: 4,830,124 msg/sec tbb::spin_mutex, 7,i: 4,352,311 msg/sec tbb::spin_mutex, 8,s: 3,777,989 msg/sec tbb::spin_mutex, 8,i: 4,132,392 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,711,190 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,799,547 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,936,805 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,073,261 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,394,963 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,440,682 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,325,003 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,267,090 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,776,264 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,735,770 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,697,333 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,992,729 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,819,117 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,976,444 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,868,136 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,139,429 msg/sec xenium::michael_scott_queue, 1,s: 9,529,228 msg/sec xenium::michael_scott_queue, 1,i: 9,505,504 msg/sec xenium::michael_scott_queue, 2,s: 8,453,962 msg/sec xenium::michael_scott_queue, 2,i: 8,706,024 msg/sec xenium::michael_scott_queue, 3,s: 7,149,721 msg/sec xenium::michael_scott_queue, 3,i: 7,583,160 msg/sec xenium::michael_scott_queue, 4,s: 6,283,140 msg/sec xenium::michael_scott_queue, 4,i: 6,370,151 msg/sec xenium::michael_scott_queue, 5,s: 6,345,329 msg/sec xenium::michael_scott_queue, 5,i: 6,655,156 msg/sec xenium::michael_scott_queue, 6,s: 6,509,098 msg/sec xenium::michael_scott_queue, 6,i: 6,970,443 msg/sec xenium::michael_scott_queue, 7,s: 6,324,467 msg/sec xenium::michael_scott_queue, 7,i: 6,514,208 msg/sec xenium::michael_scott_queue, 8,s: 6,051,072 msg/sec xenium::michael_scott_queue, 8,i: 6,038,365 msg/sec xenium::ramalhete_queue, 1,s: 31,438,161 msg/sec xenium::ramalhete_queue, 1,i: 31,516,450 msg/sec xenium::ramalhete_queue, 2,s: 23,876,360 msg/sec xenium::ramalhete_queue, 2,i: 23,332,285 msg/sec xenium::ramalhete_queue, 3,s: 29,195,361 msg/sec xenium::ramalhete_queue, 3,i: 28,508,288 msg/sec xenium::ramalhete_queue, 4,s: 33,926,108 msg/sec xenium::ramalhete_queue, 4,i: 33,466,519 msg/sec xenium::ramalhete_queue, 5,s: 32,053,141 msg/sec xenium::ramalhete_queue, 5,i: 35,925,802 msg/sec xenium::ramalhete_queue, 6,s: 33,956,948 msg/sec xenium::ramalhete_queue, 6,i: 39,892,818 msg/sec xenium::ramalhete_queue, 7,s: 35,106,230 msg/sec xenium::ramalhete_queue, 7,i: 42,008,254 msg/sec xenium::ramalhete_queue, 8,s: 35,215,192 msg/sec xenium::ramalhete_queue, 8,i: 43,950,988 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,580,327 msg/sec xenium::vyukov_bounded_queue, 1,i: 116,117,325 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,977,760 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,706,235 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,690,129 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,135,517 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,464,085 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,337,070 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,678,090 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,346,708 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,774,445 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,278,092 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,215,764 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,845,638 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,419,900 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,281,496 msg/sec AtomicQueue, 1,s: 60,112,487 msg/sec AtomicQueue, 1,i: 55,988,550 msg/sec AtomicQueue, 2,s: 12,253,564 msg/sec AtomicQueue, 2,i: 11,680,579 msg/sec AtomicQueue, 3,s: 10,746,340 msg/sec AtomicQueue, 3,i: 9,977,463 msg/sec AtomicQueue, 4,s: 8,168,582 msg/sec AtomicQueue, 4,i: 8,173,888 msg/sec AtomicQueue, 5,s: 8,010,043 msg/sec AtomicQueue, 5,i: 8,104,552 msg/sec AtomicQueue, 6,s: 7,819,807 msg/sec AtomicQueue, 6,i: 7,607,558 msg/sec AtomicQueue, 7,s: 7,128,047 msg/sec AtomicQueue, 7,i: 8,004,429 msg/sec AtomicQueue, 8,s: 6,339,735 msg/sec AtomicQueue, 8,i: 7,456,798 msg/sec AtomicQueueB, 1,s: 43,863,698 msg/sec AtomicQueueB, 1,i: 42,655,639 msg/sec AtomicQueueB, 2,s: 11,745,546 msg/sec AtomicQueueB, 2,i: 11,439,533 msg/sec AtomicQueueB, 3,s: 10,871,650 msg/sec AtomicQueueB, 3,i: 10,029,833 msg/sec AtomicQueueB, 4,s: 8,103,620 msg/sec AtomicQueueB, 4,i: 7,997,383 msg/sec AtomicQueueB, 5,s: 7,623,482 msg/sec AtomicQueueB, 5,i: 7,788,335 msg/sec AtomicQueueB, 6,s: 7,327,700 msg/sec AtomicQueueB, 6,i: 7,499,112 msg/sec AtomicQueueB, 7,s: 6,893,779 msg/sec AtomicQueueB, 7,i: 7,757,359 msg/sec AtomicQueueB, 8,s: 6,222,433 msg/sec AtomicQueueB, 8,i: 7,108,817 msg/sec OptimistAtomicQueue, 1,s: 763,506,963 msg/sec OptimistAtomicQueue, 1,i: 778,601,992 msg/sec OptimistAtomicQueue, 2,s: 32,655,741 msg/sec OptimistAtomicQueue, 2,i: 32,720,634 msg/sec OptimistAtomicQueue, 3,s: 36,649,145 msg/sec OptimistAtomicQueue, 3,i: 37,413,283 msg/sec OptimistAtomicQueue, 4,s: 39,304,486 msg/sec OptimistAtomicQueue, 4,i: 39,415,921 msg/sec OptimistAtomicQueue, 5,s: 41,848,304 msg/sec OptimistAtomicQueue, 5,i: 46,275,362 msg/sec OptimistAtomicQueue, 6,s: 42,449,593 msg/sec OptimistAtomicQueue, 6,i: 50,466,076 msg/sec OptimistAtomicQueue, 7,s: 44,133,632 msg/sec OptimistAtomicQueue, 7,i: 51,915,205 msg/sec OptimistAtomicQueue, 8,s: 46,570,254 msg/sec OptimistAtomicQueue, 8,i: 48,864,960 msg/sec OptimistAtomicQueueB, 1,s: 257,813,987 msg/sec OptimistAtomicQueueB, 1,i: 76,618,753 msg/sec OptimistAtomicQueueB, 2,s: 32,203,375 msg/sec OptimistAtomicQueueB, 2,i: 32,105,590 msg/sec OptimistAtomicQueueB, 3,s: 36,199,527 msg/sec OptimistAtomicQueueB, 3,i: 36,796,575 msg/sec OptimistAtomicQueueB, 4,s: 38,603,547 msg/sec OptimistAtomicQueueB, 4,i: 38,550,993 msg/sec OptimistAtomicQueueB, 5,s: 40,876,994 msg/sec OptimistAtomicQueueB, 5,i: 45,326,611 msg/sec OptimistAtomicQueueB, 6,s: 40,604,323 msg/sec OptimistAtomicQueueB, 6,i: 48,762,845 msg/sec OptimistAtomicQueueB, 7,s: 41,940,668 msg/sec OptimistAtomicQueueB, 7,i: 51,341,823 msg/sec OptimistAtomicQueueB, 8,s: 44,130,882 msg/sec OptimistAtomicQueueB, 8,i: 47,793,151 msg/sec AtomicQueue2, 1,s: 23,059,163 msg/sec AtomicQueue2, 1,i: 23,046,442 msg/sec AtomicQueue2, 2,s: 11,918,423 msg/sec AtomicQueue2, 2,i: 11,379,845 msg/sec AtomicQueue2, 3,s: 9,380,968 msg/sec AtomicQueue2, 3,i: 9,402,900 msg/sec AtomicQueue2, 4,s: 8,057,064 msg/sec AtomicQueue2, 4,i: 8,036,934 msg/sec AtomicQueue2, 5,s: 7,934,938 msg/sec AtomicQueue2, 5,i: 8,041,706 msg/sec AtomicQueue2, 6,s: 7,693,667 msg/sec AtomicQueue2, 6,i: 7,551,925 msg/sec AtomicQueue2, 7,s: 7,086,103 msg/sec AtomicQueue2, 7,i: 7,919,988 msg/sec AtomicQueue2, 8,s: 6,387,109 msg/sec AtomicQueue2, 8,i: 7,346,392 msg/sec AtomicQueueB2, 1,s: 33,429,063 msg/sec AtomicQueueB2, 1,i: 32,632,171 msg/sec AtomicQueueB2, 2,s: 11,415,081 msg/sec AtomicQueueB2, 2,i: 11,101,878 msg/sec AtomicQueueB2, 3,s: 9,539,001 msg/sec AtomicQueueB2, 3,i: 9,506,048 msg/sec AtomicQueueB2, 4,s: 7,953,453 msg/sec AtomicQueueB2, 4,i: 7,774,978 msg/sec AtomicQueueB2, 5,s: 7,425,648 msg/sec AtomicQueueB2, 5,i: 7,714,634 msg/sec AtomicQueueB2, 6,s: 7,319,570 msg/sec AtomicQueueB2, 6,i: 7,428,330 msg/sec AtomicQueueB2, 7,s: 6,911,281 msg/sec AtomicQueueB2, 7,i: 7,686,103 msg/sec AtomicQueueB2, 8,s: 6,279,695 msg/sec AtomicQueueB2, 8,i: 7,056,438 msg/sec OptimistAtomicQueue2, 1,s: 153,249,512 msg/sec OptimistAtomicQueue2, 1,i: 29,613,374 msg/sec OptimistAtomicQueue2, 2,s: 24,267,417 msg/sec OptimistAtomicQueue2, 2,i: 24,880,852 msg/sec OptimistAtomicQueue2, 3,s: 30,320,958 msg/sec OptimistAtomicQueue2, 3,i: 30,368,340 msg/sec OptimistAtomicQueue2, 4,s: 33,181,152 msg/sec OptimistAtomicQueue2, 4,i: 33,186,289 msg/sec OptimistAtomicQueue2, 5,s: 37,216,533 msg/sec OptimistAtomicQueue2, 5,i: 40,224,267 msg/sec OptimistAtomicQueue2, 6,s: 40,447,584 msg/sec OptimistAtomicQueue2, 6,i: 48,989,652 msg/sec OptimistAtomicQueue2, 7,s: 42,914,286 msg/sec OptimistAtomicQueue2, 7,i: 51,556,173 msg/sec OptimistAtomicQueue2, 8,s: 43,921,489 msg/sec OptimistAtomicQueue2, 8,i: 48,680,225 msg/sec OptimistAtomicQueueB2, 1,s: 75,759,349 msg/sec OptimistAtomicQueueB2, 1,i: 33,922,557 msg/sec OptimistAtomicQueueB2, 2,s: 27,832,254 msg/sec OptimistAtomicQueueB2, 2,i: 28,412,708 msg/sec OptimistAtomicQueueB2, 3,s: 29,755,250 msg/sec OptimistAtomicQueueB2, 3,i: 29,161,559 msg/sec OptimistAtomicQueueB2, 4,s: 33,339,518 msg/sec OptimistAtomicQueueB2, 4,i: 32,357,184 msg/sec OptimistAtomicQueueB2, 5,s: 34,460,103 msg/sec OptimistAtomicQueueB2, 5,i: 39,329,474 msg/sec OptimistAtomicQueueB2, 6,s: 37,490,233 msg/sec OptimistAtomicQueueB2, 6,i: 42,131,843 msg/sec OptimistAtomicQueueB2, 7,s: 40,194,695 msg/sec OptimistAtomicQueueB2, 7,i: 43,196,874 msg/sec OptimistAtomicQueueB2, 8,s: 42,279,933 msg/sec OptimistAtomicQueueB2, 8,i: 45,127,101 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000152 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000300 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000298 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000259 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [218] 193m:39s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,188,690 msg/sec boost::lockfree::spsc_queue, 1,i: 71,247,825 msg/sec boost::lockfree::queue, 1,s: 7,051,861 msg/sec boost::lockfree::queue, 1,i: 6,860,368 msg/sec boost::lockfree::queue, 2,s: 7,653,342 msg/sec boost::lockfree::queue, 2,i: 7,458,342 msg/sec boost::lockfree::queue, 3,s: 7,377,168 msg/sec boost::lockfree::queue, 3,i: 7,535,849 msg/sec boost::lockfree::queue, 4,s: 6,428,799 msg/sec boost::lockfree::queue, 4,i: 6,731,951 msg/sec boost::lockfree::queue, 5,s: 6,388,820 msg/sec boost::lockfree::queue, 5,i: 6,481,891 msg/sec boost::lockfree::queue, 6,s: 6,037,273 msg/sec boost::lockfree::queue, 6,i: 6,125,262 msg/sec boost::lockfree::queue, 7,s: 5,997,637 msg/sec boost::lockfree::queue, 7,i: 6,079,959 msg/sec boost::lockfree::queue, 8,s: 5,498,839 msg/sec boost::lockfree::queue, 8,i: 5,701,353 msg/sec moodycamel::ReaderWriterQueue, 1,s: 101,602,262 msg/sec moodycamel::ReaderWriterQueue, 1,i: 99,590,020 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,455,312 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,409,646 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,445,337 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,333,954 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,980,336 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,891,296 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,351,444 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,297,643 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,123,923 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,774,239 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,400,737 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,221,817 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,920,309 msg/sec moodycamel::ConcurrentQueue, 7,i: 34,591,506 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,195,558 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,585,699 msg/sec pthread_spinlock, 1,s: 29,140,100 msg/sec pthread_spinlock, 1,i: 25,423,498 msg/sec pthread_spinlock, 2,s: 15,517,967 msg/sec pthread_spinlock, 2,i: 17,064,206 msg/sec pthread_spinlock, 3,s: 8,378,926 msg/sec pthread_spinlock, 3,i: 12,026,870 msg/sec pthread_spinlock, 4,s: 6,514,827 msg/sec pthread_spinlock, 4,i: 9,104,555 msg/sec pthread_spinlock, 5,s: 8,670,730 msg/sec pthread_spinlock, 5,i: 8,857,973 msg/sec pthread_spinlock, 6,s: 8,563,516 msg/sec pthread_spinlock, 6,i: 8,759,484 msg/sec pthread_spinlock, 7,s: 7,538,024 msg/sec pthread_spinlock, 7,i: 7,792,227 msg/sec pthread_spinlock, 8,s: 6,757,370 msg/sec pthread_spinlock, 8,i: 6,867,853 msg/sec std::mutex, 1,s: 7,592,007 msg/sec std::mutex, 1,i: 7,569,492 msg/sec std::mutex, 2,s: 5,351,680 msg/sec std::mutex, 2,i: 5,600,852 msg/sec std::mutex, 3,s: 4,939,702 msg/sec std::mutex, 3,i: 5,720,482 msg/sec std::mutex, 4,s: 5,272,460 msg/sec std::mutex, 4,i: 6,162,998 msg/sec std::mutex, 5,s: 5,918,101 msg/sec std::mutex, 5,i: 5,784,970 msg/sec std::mutex, 6,s: 5,828,332 msg/sec std::mutex, 6,i: 5,872,913 msg/sec std::mutex, 7,s: 5,726,573 msg/sec std::mutex, 7,i: 5,788,399 msg/sec std::mutex, 8,s: 5,615,258 msg/sec std::mutex, 8,i: 5,696,182 msg/sec tbb::spin_mutex, 1,s: 37,672,576 msg/sec tbb::spin_mutex, 1,i: 37,560,039 msg/sec tbb::spin_mutex, 2,s: 21,289,496 msg/sec tbb::spin_mutex, 2,i: 20,455,783 msg/sec tbb::spin_mutex, 3,s: 8,968,505 msg/sec tbb::spin_mutex, 3,i: 11,163,685 msg/sec tbb::spin_mutex, 4,s: 3,193,633 msg/sec tbb::spin_mutex, 4,i: 6,329,521 msg/sec tbb::spin_mutex, 5,s: 5,469,476 msg/sec tbb::spin_mutex, 5,i: 5,706,871 msg/sec tbb::spin_mutex, 6,s: 5,400,875 msg/sec tbb::spin_mutex, 6,i: 4,353,158 msg/sec tbb::spin_mutex, 7,s: 4,880,862 msg/sec tbb::spin_mutex, 7,i: 4,281,849 msg/sec tbb::spin_mutex, 8,s: 3,940,077 msg/sec tbb::spin_mutex, 8,i: 4,190,440 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,086,130 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,318,497 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,115,056 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,459,473 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,662,452 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,568,217 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,576,936 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,545,124 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,880,414 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,628,333 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,935,359 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,666,601 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,887,839 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,846,697 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,761,292 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,498,212 msg/sec xenium::michael_scott_queue, 1,s: 10,147,840 msg/sec xenium::michael_scott_queue, 1,i: 9,793,891 msg/sec xenium::michael_scott_queue, 2,s: 8,501,864 msg/sec xenium::michael_scott_queue, 2,i: 8,486,882 msg/sec xenium::michael_scott_queue, 3,s: 7,199,278 msg/sec xenium::michael_scott_queue, 3,i: 7,550,473 msg/sec xenium::michael_scott_queue, 4,s: 6,282,792 msg/sec xenium::michael_scott_queue, 4,i: 6,356,991 msg/sec xenium::michael_scott_queue, 5,s: 6,302,416 msg/sec xenium::michael_scott_queue, 5,i: 6,610,820 msg/sec xenium::michael_scott_queue, 6,s: 6,493,594 msg/sec xenium::michael_scott_queue, 6,i: 6,724,115 msg/sec xenium::michael_scott_queue, 7,s: 6,329,022 msg/sec xenium::michael_scott_queue, 7,i: 6,461,099 msg/sec xenium::michael_scott_queue, 8,s: 6,073,351 msg/sec xenium::michael_scott_queue, 8,i: 6,074,849 msg/sec xenium::ramalhete_queue, 1,s: 32,414,595 msg/sec xenium::ramalhete_queue, 1,i: 32,516,186 msg/sec xenium::ramalhete_queue, 2,s: 24,629,583 msg/sec xenium::ramalhete_queue, 2,i: 23,387,180 msg/sec xenium::ramalhete_queue, 3,s: 29,386,595 msg/sec xenium::ramalhete_queue, 3,i: 28,639,363 msg/sec xenium::ramalhete_queue, 4,s: 33,850,802 msg/sec xenium::ramalhete_queue, 4,i: 33,574,069 msg/sec xenium::ramalhete_queue, 5,s: 32,013,783 msg/sec xenium::ramalhete_queue, 5,i: 38,483,110 msg/sec xenium::ramalhete_queue, 6,s: 34,022,284 msg/sec xenium::ramalhete_queue, 6,i: 39,272,496 msg/sec xenium::ramalhete_queue, 7,s: 35,234,182 msg/sec xenium::ramalhete_queue, 7,i: 40,847,944 msg/sec xenium::ramalhete_queue, 8,s: 35,559,345 msg/sec xenium::ramalhete_queue, 8,i: 43,966,183 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,026,665 msg/sec xenium::vyukov_bounded_queue, 1,i: 118,806,604 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,248,896 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,854,431 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,621,548 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,630,388 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,667,832 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,048,690 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,480,928 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,392,428 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,832,087 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,295,392 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,269,736 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,074,002 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,391,882 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,243,610 msg/sec AtomicQueue, 1,s: 59,445,873 msg/sec AtomicQueue, 1,i: 56,631,709 msg/sec AtomicQueue, 2,s: 12,192,673 msg/sec AtomicQueue, 2,i: 11,707,302 msg/sec AtomicQueue, 3,s: 10,741,478 msg/sec AtomicQueue, 3,i: 9,887,556 msg/sec AtomicQueue, 4,s: 8,155,795 msg/sec AtomicQueue, 4,i: 8,151,870 msg/sec AtomicQueue, 5,s: 8,026,400 msg/sec AtomicQueue, 5,i: 8,085,982 msg/sec AtomicQueue, 6,s: 7,851,647 msg/sec AtomicQueue, 6,i: 7,594,869 msg/sec AtomicQueue, 7,s: 7,169,555 msg/sec AtomicQueue, 7,i: 7,974,678 msg/sec AtomicQueue, 8,s: 6,335,282 msg/sec AtomicQueue, 8,i: 7,433,592 msg/sec AtomicQueueB, 1,s: 62,332,015 msg/sec AtomicQueueB, 1,i: 43,028,215 msg/sec AtomicQueueB, 2,s: 11,858,396 msg/sec AtomicQueueB, 2,i: 11,488,771 msg/sec AtomicQueueB, 3,s: 11,020,387 msg/sec AtomicQueueB, 3,i: 10,197,933 msg/sec AtomicQueueB, 4,s: 8,107,721 msg/sec AtomicQueueB, 4,i: 7,988,414 msg/sec AtomicQueueB, 5,s: 7,725,281 msg/sec AtomicQueueB, 5,i: 7,769,244 msg/sec AtomicQueueB, 6,s: 7,308,495 msg/sec AtomicQueueB, 6,i: 7,518,167 msg/sec AtomicQueueB, 7,s: 6,873,356 msg/sec AtomicQueueB, 7,i: 7,735,746 msg/sec AtomicQueueB, 8,s: 6,219,422 msg/sec AtomicQueueB, 8,i: 7,190,903 msg/sec OptimistAtomicQueue, 1,s: 718,429,642 msg/sec OptimistAtomicQueue, 1,i: 722,938,252 msg/sec OptimistAtomicQueue, 2,s: 32,547,392 msg/sec OptimistAtomicQueue, 2,i: 32,620,428 msg/sec OptimistAtomicQueue, 3,s: 36,672,444 msg/sec OptimistAtomicQueue, 3,i: 37,368,976 msg/sec OptimistAtomicQueue, 4,s: 39,263,898 msg/sec OptimistAtomicQueue, 4,i: 39,365,581 msg/sec OptimistAtomicQueue, 5,s: 41,727,988 msg/sec OptimistAtomicQueue, 5,i: 46,371,259 msg/sec OptimistAtomicQueue, 6,s: 42,163,819 msg/sec OptimistAtomicQueue, 6,i: 49,744,785 msg/sec OptimistAtomicQueue, 7,s: 44,315,626 msg/sec OptimistAtomicQueue, 7,i: 49,416,432 msg/sec OptimistAtomicQueue, 8,s: 46,343,307 msg/sec OptimistAtomicQueue, 8,i: 49,745,370 msg/sec OptimistAtomicQueueB, 1,s: 461,007,310 msg/sec OptimistAtomicQueueB, 1,i: 79,535,604 msg/sec OptimistAtomicQueueB, 2,s: 32,211,453 msg/sec OptimistAtomicQueueB, 2,i: 31,881,011 msg/sec OptimistAtomicQueueB, 3,s: 36,248,977 msg/sec OptimistAtomicQueueB, 3,i: 36,792,776 msg/sec OptimistAtomicQueueB, 4,s: 38,566,783 msg/sec OptimistAtomicQueueB, 4,i: 38,656,883 msg/sec OptimistAtomicQueueB, 5,s: 40,940,627 msg/sec OptimistAtomicQueueB, 5,i: 45,239,235 msg/sec OptimistAtomicQueueB, 6,s: 40,869,627 msg/sec OptimistAtomicQueueB, 6,i: 49,007,006 msg/sec OptimistAtomicQueueB, 7,s: 41,693,192 msg/sec OptimistAtomicQueueB, 7,i: 50,877,442 msg/sec OptimistAtomicQueueB, 8,s: 44,447,845 msg/sec OptimistAtomicQueueB, 8,i: 48,097,245 msg/sec AtomicQueue2, 1,s: 22,985,765 msg/sec AtomicQueue2, 1,i: 22,854,657 msg/sec AtomicQueue2, 2,s: 11,974,059 msg/sec AtomicQueue2, 2,i: 11,412,663 msg/sec AtomicQueue2, 3,s: 9,342,595 msg/sec AtomicQueue2, 3,i: 9,369,483 msg/sec AtomicQueue2, 4,s: 8,024,472 msg/sec AtomicQueue2, 4,i: 8,036,189 msg/sec AtomicQueue2, 5,s: 7,912,531 msg/sec AtomicQueue2, 5,i: 8,023,572 msg/sec AtomicQueue2, 6,s: 7,773,041 msg/sec AtomicQueue2, 6,i: 7,546,083 msg/sec AtomicQueue2, 7,s: 7,167,857 msg/sec AtomicQueue2, 7,i: 7,918,704 msg/sec AtomicQueue2, 8,s: 6,375,239 msg/sec AtomicQueue2, 8,i: 7,264,749 msg/sec AtomicQueueB2, 1,s: 32,697,173 msg/sec AtomicQueueB2, 1,i: 32,627,357 msg/sec AtomicQueueB2, 2,s: 11,396,005 msg/sec AtomicQueueB2, 2,i: 11,090,387 msg/sec AtomicQueueB2, 3,s: 9,658,227 msg/sec AtomicQueueB2, 3,i: 9,594,279 msg/sec AtomicQueueB2, 4,s: 7,923,979 msg/sec AtomicQueueB2, 4,i: 7,922,287 msg/sec AtomicQueueB2, 5,s: 7,528,697 msg/sec AtomicQueueB2, 5,i: 7,675,934 msg/sec AtomicQueueB2, 6,s: 7,310,046 msg/sec AtomicQueueB2, 6,i: 7,451,621 msg/sec AtomicQueueB2, 7,s: 6,889,531 msg/sec AtomicQueueB2, 7,i: 7,680,336 msg/sec AtomicQueueB2, 8,s: 6,346,909 msg/sec AtomicQueueB2, 8,i: 7,053,942 msg/sec OptimistAtomicQueue2, 1,s: 437,925,533 msg/sec OptimistAtomicQueue2, 1,i: 434,736,110 msg/sec OptimistAtomicQueue2, 2,s: 23,008,665 msg/sec OptimistAtomicQueue2, 2,i: 25,914,262 msg/sec OptimistAtomicQueue2, 3,s: 30,300,634 msg/sec OptimistAtomicQueue2, 3,i: 29,974,685 msg/sec OptimistAtomicQueue2, 4,s: 33,635,387 msg/sec OptimistAtomicQueue2, 4,i: 33,133,310 msg/sec OptimistAtomicQueue2, 5,s: 37,120,399 msg/sec OptimistAtomicQueue2, 5,i: 40,194,330 msg/sec OptimistAtomicQueue2, 6,s: 39,928,565 msg/sec OptimistAtomicQueue2, 6,i: 49,214,370 msg/sec OptimistAtomicQueue2, 7,s: 42,989,309 msg/sec OptimistAtomicQueue2, 7,i: 51,537,892 msg/sec OptimistAtomicQueue2, 8,s: 44,356,242 msg/sec OptimistAtomicQueue2, 8,i: 48,090,531 msg/sec OptimistAtomicQueueB2, 1,s: 77,052,829 msg/sec OptimistAtomicQueueB2, 1,i: 33,915,844 msg/sec OptimistAtomicQueueB2, 2,s: 27,279,956 msg/sec OptimistAtomicQueueB2, 2,i: 23,193,400 msg/sec OptimistAtomicQueueB2, 3,s: 29,676,961 msg/sec OptimistAtomicQueueB2, 3,i: 29,093,532 msg/sec OptimistAtomicQueueB2, 4,s: 32,927,982 msg/sec OptimistAtomicQueueB2, 4,i: 31,856,501 msg/sec OptimistAtomicQueueB2, 5,s: 34,470,086 msg/sec OptimistAtomicQueueB2, 5,i: 39,016,770 msg/sec OptimistAtomicQueueB2, 6,s: 36,949,154 msg/sec OptimistAtomicQueueB2, 6,i: 42,111,348 msg/sec OptimistAtomicQueueB2, 7,s: 40,051,077 msg/sec OptimistAtomicQueueB2, 7,i: 45,361,108 msg/sec OptimistAtomicQueueB2, 8,s: 42,251,534 msg/sec OptimistAtomicQueueB2, 8,i: 45,325,929 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000327 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000241 sec/round-trip pthread_spinlock: 0.000000257 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000286 sec/round-trip tbb::concurrent_bounded_queue: 0.000000278 sec/round-trip xenium::michael_scott_queue: 0.000000376 sec/round-trip xenium::ramalhete_queue: 0.000000273 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [219] 192m:19s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,870,590 msg/sec boost::lockfree::spsc_queue, 1,i: 70,290,673 msg/sec boost::lockfree::queue, 1,s: 6,885,962 msg/sec boost::lockfree::queue, 1,i: 6,928,555 msg/sec boost::lockfree::queue, 2,s: 7,516,981 msg/sec boost::lockfree::queue, 2,i: 7,465,371 msg/sec boost::lockfree::queue, 3,s: 7,437,531 msg/sec boost::lockfree::queue, 3,i: 7,552,431 msg/sec boost::lockfree::queue, 4,s: 6,426,279 msg/sec boost::lockfree::queue, 4,i: 6,775,423 msg/sec boost::lockfree::queue, 5,s: 6,408,225 msg/sec boost::lockfree::queue, 5,i: 6,499,972 msg/sec boost::lockfree::queue, 6,s: 6,022,358 msg/sec boost::lockfree::queue, 6,i: 6,086,003 msg/sec boost::lockfree::queue, 7,s: 5,896,697 msg/sec boost::lockfree::queue, 7,i: 6,028,784 msg/sec boost::lockfree::queue, 8,s: 5,418,425 msg/sec boost::lockfree::queue, 8,i: 5,667,040 msg/sec moodycamel::ReaderWriterQueue, 1,s: 360,123,360 msg/sec moodycamel::ReaderWriterQueue, 1,i: 155,239,626 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,003,651 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,937,056 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,023,505 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,641,374 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,921,885 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,118,243 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,591,531 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,757,781 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,338,957 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,014,409 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,589,329 msg/sec moodycamel::ConcurrentQueue, 6,i: 30,671,425 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,121,482 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,558,152 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,079,115 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,318,677 msg/sec pthread_spinlock, 1,s: 28,842,375 msg/sec pthread_spinlock, 1,i: 25,282,742 msg/sec pthread_spinlock, 2,s: 15,969,338 msg/sec pthread_spinlock, 2,i: 16,927,716 msg/sec pthread_spinlock, 3,s: 8,349,815 msg/sec pthread_spinlock, 3,i: 12,158,194 msg/sec pthread_spinlock, 4,s: 6,489,123 msg/sec pthread_spinlock, 4,i: 8,834,813 msg/sec pthread_spinlock, 5,s: 8,804,775 msg/sec pthread_spinlock, 5,i: 9,420,077 msg/sec pthread_spinlock, 6,s: 8,594,610 msg/sec pthread_spinlock, 6,i: 8,439,758 msg/sec pthread_spinlock, 7,s: 7,494,429 msg/sec pthread_spinlock, 7,i: 7,459,994 msg/sec pthread_spinlock, 8,s: 6,807,075 msg/sec pthread_spinlock, 8,i: 7,325,250 msg/sec std::mutex, 1,s: 6,289,009 msg/sec std::mutex, 1,i: 6,709,440 msg/sec std::mutex, 2,s: 6,117,821 msg/sec std::mutex, 2,i: 6,211,790 msg/sec std::mutex, 3,s: 5,959,843 msg/sec std::mutex, 3,i: 6,130,588 msg/sec std::mutex, 4,s: 6,233,424 msg/sec std::mutex, 4,i: 6,413,115 msg/sec std::mutex, 5,s: 6,060,505 msg/sec std::mutex, 5,i: 6,022,992 msg/sec std::mutex, 6,s: 5,959,871 msg/sec std::mutex, 6,i: 5,958,898 msg/sec std::mutex, 7,s: 5,890,709 msg/sec std::mutex, 7,i: 5,830,887 msg/sec std::mutex, 8,s: 5,814,508 msg/sec std::mutex, 8,i: 5,711,274 msg/sec tbb::spin_mutex, 1,s: 37,738,892 msg/sec tbb::spin_mutex, 1,i: 37,648,979 msg/sec tbb::spin_mutex, 2,s: 21,291,384 msg/sec tbb::spin_mutex, 2,i: 18,389,660 msg/sec tbb::spin_mutex, 3,s: 7,753,986 msg/sec tbb::spin_mutex, 3,i: 11,146,915 msg/sec tbb::spin_mutex, 4,s: 3,171,652 msg/sec tbb::spin_mutex, 4,i: 6,316,740 msg/sec tbb::spin_mutex, 5,s: 5,572,990 msg/sec tbb::spin_mutex, 5,i: 5,841,928 msg/sec tbb::spin_mutex, 6,s: 5,242,419 msg/sec tbb::spin_mutex, 6,i: 4,392,833 msg/sec tbb::spin_mutex, 7,s: 4,859,738 msg/sec tbb::spin_mutex, 7,i: 4,367,845 msg/sec tbb::spin_mutex, 8,s: 4,241,668 msg/sec tbb::spin_mutex, 8,i: 4,082,978 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,319,985 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,624,914 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,724,241 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,327,940 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,302,497 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,201,591 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,394,021 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,262,347 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,690,424 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,921,671 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,859,132 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,952,721 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,016,058 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,946,196 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,967,430 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,096,301 msg/sec xenium::michael_scott_queue, 1,s: 9,372,374 msg/sec xenium::michael_scott_queue, 1,i: 9,379,494 msg/sec xenium::michael_scott_queue, 2,s: 8,506,543 msg/sec xenium::michael_scott_queue, 2,i: 8,422,241 msg/sec xenium::michael_scott_queue, 3,s: 7,299,936 msg/sec xenium::michael_scott_queue, 3,i: 7,551,209 msg/sec xenium::michael_scott_queue, 4,s: 6,289,869 msg/sec xenium::michael_scott_queue, 4,i: 6,365,027 msg/sec xenium::michael_scott_queue, 5,s: 6,282,611 msg/sec xenium::michael_scott_queue, 5,i: 6,710,264 msg/sec xenium::michael_scott_queue, 6,s: 6,484,838 msg/sec xenium::michael_scott_queue, 6,i: 6,712,027 msg/sec xenium::michael_scott_queue, 7,s: 6,337,320 msg/sec xenium::michael_scott_queue, 7,i: 6,540,772 msg/sec xenium::michael_scott_queue, 8,s: 5,996,643 msg/sec xenium::michael_scott_queue, 8,i: 6,085,345 msg/sec xenium::ramalhete_queue, 1,s: 32,087,401 msg/sec xenium::ramalhete_queue, 1,i: 32,632,175 msg/sec xenium::ramalhete_queue, 2,s: 23,687,135 msg/sec xenium::ramalhete_queue, 2,i: 23,317,930 msg/sec xenium::ramalhete_queue, 3,s: 29,205,918 msg/sec xenium::ramalhete_queue, 3,i: 28,513,394 msg/sec xenium::ramalhete_queue, 4,s: 33,777,872 msg/sec xenium::ramalhete_queue, 4,i: 33,553,581 msg/sec xenium::ramalhete_queue, 5,s: 32,166,656 msg/sec xenium::ramalhete_queue, 5,i: 36,076,469 msg/sec xenium::ramalhete_queue, 6,s: 33,978,481 msg/sec xenium::ramalhete_queue, 6,i: 38,614,720 msg/sec xenium::ramalhete_queue, 7,s: 35,131,486 msg/sec xenium::ramalhete_queue, 7,i: 41,520,832 msg/sec xenium::ramalhete_queue, 8,s: 35,511,967 msg/sec xenium::ramalhete_queue, 8,i: 44,139,212 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,799,229 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,104,683 msg/sec xenium::vyukov_bounded_queue, 2,s: 20,447,658 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,716,767 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,585,992 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,407,951 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,350,682 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,278,064 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,700,624 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,270,367 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,908,561 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,279,841 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,165,235 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,356,750 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,514 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,221,596 msg/sec AtomicQueue, 1,s: 221,749,046 msg/sec AtomicQueue, 1,i: 57,109,600 msg/sec AtomicQueue, 2,s: 12,288,234 msg/sec AtomicQueue, 2,i: 11,712,172 msg/sec AtomicQueue, 3,s: 10,827,459 msg/sec AtomicQueue, 3,i: 9,878,149 msg/sec AtomicQueue, 4,s: 8,146,338 msg/sec AtomicQueue, 4,i: 8,205,095 msg/sec AtomicQueue, 5,s: 8,022,099 msg/sec AtomicQueue, 5,i: 8,109,688 msg/sec AtomicQueue, 6,s: 7,790,932 msg/sec AtomicQueue, 6,i: 7,630,885 msg/sec AtomicQueue, 7,s: 7,162,680 msg/sec AtomicQueue, 7,i: 7,976,502 msg/sec AtomicQueue, 8,s: 6,349,588 msg/sec AtomicQueue, 8,i: 7,404,188 msg/sec AtomicQueueB, 1,s: 44,107,021 msg/sec AtomicQueueB, 1,i: 44,490,428 msg/sec AtomicQueueB, 2,s: 11,808,820 msg/sec AtomicQueueB, 2,i: 11,391,394 msg/sec AtomicQueueB, 3,s: 10,884,498 msg/sec AtomicQueueB, 3,i: 10,180,711 msg/sec AtomicQueueB, 4,s: 7,999,432 msg/sec AtomicQueueB, 4,i: 8,050,917 msg/sec AtomicQueueB, 5,s: 7,597,553 msg/sec AtomicQueueB, 5,i: 7,833,861 msg/sec AtomicQueueB, 6,s: 7,435,659 msg/sec AtomicQueueB, 6,i: 7,582,121 msg/sec AtomicQueueB, 7,s: 6,851,986 msg/sec AtomicQueueB, 7,i: 7,553,722 msg/sec AtomicQueueB, 8,s: 6,216,726 msg/sec AtomicQueueB, 8,i: 7,157,283 msg/sec OptimistAtomicQueue, 1,s: 760,376,477 msg/sec OptimistAtomicQueue, 1,i: 628,557,833 msg/sec OptimistAtomicQueue, 2,s: 32,563,263 msg/sec OptimistAtomicQueue, 2,i: 32,625,542 msg/sec OptimistAtomicQueue, 3,s: 36,660,271 msg/sec OptimistAtomicQueue, 3,i: 37,354,616 msg/sec OptimistAtomicQueue, 4,s: 39,267,136 msg/sec OptimistAtomicQueue, 4,i: 39,386,685 msg/sec OptimistAtomicQueue, 5,s: 41,628,424 msg/sec OptimistAtomicQueue, 5,i: 46,246,353 msg/sec OptimistAtomicQueue, 6,s: 42,442,918 msg/sec OptimistAtomicQueue, 6,i: 50,467,111 msg/sec OptimistAtomicQueue, 7,s: 44,025,238 msg/sec OptimistAtomicQueue, 7,i: 49,426,722 msg/sec OptimistAtomicQueue, 8,s: 46,686,953 msg/sec OptimistAtomicQueue, 8,i: 50,263,538 msg/sec OptimistAtomicQueueB, 1,s: 118,503,915 msg/sec OptimistAtomicQueueB, 1,i: 100,864,260 msg/sec OptimistAtomicQueueB, 2,s: 32,194,655 msg/sec OptimistAtomicQueueB, 2,i: 32,176,237 msg/sec OptimistAtomicQueueB, 3,s: 36,243,863 msg/sec OptimistAtomicQueueB, 3,i: 36,896,073 msg/sec OptimistAtomicQueueB, 4,s: 38,673,995 msg/sec OptimistAtomicQueueB, 4,i: 38,617,645 msg/sec OptimistAtomicQueueB, 5,s: 40,360,540 msg/sec OptimistAtomicQueueB, 5,i: 45,399,438 msg/sec OptimistAtomicQueueB, 6,s: 40,464,323 msg/sec OptimistAtomicQueueB, 6,i: 49,205,673 msg/sec OptimistAtomicQueueB, 7,s: 42,114,246 msg/sec OptimistAtomicQueueB, 7,i: 48,121,972 msg/sec OptimistAtomicQueueB, 8,s: 44,340,918 msg/sec OptimistAtomicQueueB, 8,i: 47,969,998 msg/sec AtomicQueue2, 1,s: 23,242,984 msg/sec AtomicQueue2, 1,i: 23,205,476 msg/sec AtomicQueue2, 2,s: 11,737,304 msg/sec AtomicQueue2, 2,i: 11,586,464 msg/sec AtomicQueue2, 3,s: 9,703,481 msg/sec AtomicQueue2, 3,i: 9,470,295 msg/sec AtomicQueue2, 4,s: 8,056,701 msg/sec AtomicQueue2, 4,i: 8,025,841 msg/sec AtomicQueue2, 5,s: 7,951,809 msg/sec AtomicQueue2, 5,i: 8,028,518 msg/sec AtomicQueue2, 6,s: 7,719,019 msg/sec AtomicQueue2, 6,i: 7,523,705 msg/sec AtomicQueue2, 7,s: 7,134,186 msg/sec AtomicQueue2, 7,i: 7,875,903 msg/sec AtomicQueue2, 8,s: 6,413,421 msg/sec AtomicQueue2, 8,i: 7,353,789 msg/sec AtomicQueueB2, 1,s: 36,020,886 msg/sec AtomicQueueB2, 1,i: 32,639,414 msg/sec AtomicQueueB2, 2,s: 11,453,957 msg/sec AtomicQueueB2, 2,i: 11,204,702 msg/sec AtomicQueueB2, 3,s: 9,575,484 msg/sec AtomicQueueB2, 3,i: 9,581,457 msg/sec AtomicQueueB2, 4,s: 7,868,147 msg/sec AtomicQueueB2, 4,i: 7,836,713 msg/sec AtomicQueueB2, 5,s: 7,454,736 msg/sec AtomicQueueB2, 5,i: 7,696,896 msg/sec AtomicQueueB2, 6,s: 7,302,690 msg/sec AtomicQueueB2, 6,i: 7,391,774 msg/sec AtomicQueueB2, 7,s: 6,798,845 msg/sec AtomicQueueB2, 7,i: 7,705,616 msg/sec AtomicQueueB2, 8,s: 6,293,142 msg/sec AtomicQueueB2, 8,i: 7,075,100 msg/sec OptimistAtomicQueue2, 1,s: 369,515,557 msg/sec OptimistAtomicQueue2, 1,i: 32,706,676 msg/sec OptimistAtomicQueue2, 2,s: 29,126,901 msg/sec OptimistAtomicQueue2, 2,i: 24,014,035 msg/sec OptimistAtomicQueue2, 3,s: 30,321,371 msg/sec OptimistAtomicQueue2, 3,i: 31,848,819 msg/sec OptimistAtomicQueue2, 4,s: 33,523,143 msg/sec OptimistAtomicQueue2, 4,i: 33,159,136 msg/sec OptimistAtomicQueue2, 5,s: 36,946,159 msg/sec OptimistAtomicQueue2, 5,i: 40,277,031 msg/sec OptimistAtomicQueue2, 6,s: 40,396,183 msg/sec OptimistAtomicQueue2, 6,i: 49,266,540 msg/sec OptimistAtomicQueue2, 7,s: 42,743,483 msg/sec OptimistAtomicQueue2, 7,i: 51,496,782 msg/sec OptimistAtomicQueue2, 8,s: 43,826,540 msg/sec OptimistAtomicQueue2, 8,i: 48,713,442 msg/sec OptimistAtomicQueueB2, 1,s: 77,209,242 msg/sec OptimistAtomicQueueB2, 1,i: 76,030,210 msg/sec OptimistAtomicQueueB2, 2,s: 27,135,179 msg/sec OptimistAtomicQueueB2, 2,i: 25,590,571 msg/sec OptimistAtomicQueueB2, 3,s: 29,665,126 msg/sec OptimistAtomicQueueB2, 3,i: 29,113,923 msg/sec OptimistAtomicQueueB2, 4,s: 33,306,562 msg/sec OptimistAtomicQueueB2, 4,i: 32,923,213 msg/sec OptimistAtomicQueueB2, 5,s: 34,515,267 msg/sec OptimistAtomicQueueB2, 5,i: 39,499,055 msg/sec OptimistAtomicQueueB2, 6,s: 37,582,183 msg/sec OptimistAtomicQueueB2, 6,i: 42,376,299 msg/sec OptimistAtomicQueueB2, 7,s: 40,848,680 msg/sec OptimistAtomicQueueB2, 7,i: 45,516,210 msg/sec OptimistAtomicQueueB2, 8,s: 42,571,556 msg/sec OptimistAtomicQueueB2, 8,i: 46,120,639 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000124 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000260 sec/round-trip std::mutex: 0.000000436 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000225 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [220] 191m:0s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,872,194 msg/sec boost::lockfree::spsc_queue, 1,i: 70,414,855 msg/sec boost::lockfree::queue, 1,s: 6,893,294 msg/sec boost::lockfree::queue, 1,i: 6,838,036 msg/sec boost::lockfree::queue, 2,s: 7,655,814 msg/sec boost::lockfree::queue, 2,i: 7,528,892 msg/sec boost::lockfree::queue, 3,s: 7,376,140 msg/sec boost::lockfree::queue, 3,i: 7,560,100 msg/sec boost::lockfree::queue, 4,s: 6,422,866 msg/sec boost::lockfree::queue, 4,i: 6,832,774 msg/sec boost::lockfree::queue, 5,s: 6,473,278 msg/sec boost::lockfree::queue, 5,i: 6,528,778 msg/sec boost::lockfree::queue, 6,s: 6,000,019 msg/sec boost::lockfree::queue, 6,i: 6,107,717 msg/sec boost::lockfree::queue, 7,s: 6,077,894 msg/sec boost::lockfree::queue, 7,i: 6,052,265 msg/sec boost::lockfree::queue, 8,s: 5,477,103 msg/sec boost::lockfree::queue, 8,i: 5,527,762 msg/sec moodycamel::ReaderWriterQueue, 1,s: 433,243,511 msg/sec moodycamel::ReaderWriterQueue, 1,i: 403,380,245 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,927,966 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,932,319 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,113,931 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,934,708 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,795,607 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,642,859 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,648,499 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,990,467 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,238,694 msg/sec moodycamel::ConcurrentQueue, 5,i: 32,214,023 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,533,133 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,681,141 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,145,529 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,641,159 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,267,399 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,139,324 msg/sec pthread_spinlock, 1,s: 28,823,368 msg/sec pthread_spinlock, 1,i: 25,494,730 msg/sec pthread_spinlock, 2,s: 16,024,779 msg/sec pthread_spinlock, 2,i: 16,844,003 msg/sec pthread_spinlock, 3,s: 8,338,439 msg/sec pthread_spinlock, 3,i: 11,992,616 msg/sec pthread_spinlock, 4,s: 6,531,048 msg/sec pthread_spinlock, 4,i: 9,183,985 msg/sec pthread_spinlock, 5,s: 8,651,455 msg/sec pthread_spinlock, 5,i: 9,546,616 msg/sec pthread_spinlock, 6,s: 8,291,229 msg/sec pthread_spinlock, 6,i: 8,983,778 msg/sec pthread_spinlock, 7,s: 8,043,823 msg/sec pthread_spinlock, 7,i: 7,990,598 msg/sec pthread_spinlock, 8,s: 6,648,530 msg/sec pthread_spinlock, 8,i: 6,813,039 msg/sec std::mutex, 1,s: 7,446,843 msg/sec std::mutex, 1,i: 7,433,584 msg/sec std::mutex, 2,s: 5,068,635 msg/sec std::mutex, 2,i: 5,431,569 msg/sec std::mutex, 3,s: 5,939,748 msg/sec std::mutex, 3,i: 5,961,453 msg/sec std::mutex, 4,s: 6,152,862 msg/sec std::mutex, 4,i: 6,172,880 msg/sec std::mutex, 5,s: 5,905,045 msg/sec std::mutex, 5,i: 5,975,439 msg/sec std::mutex, 6,s: 5,552,501 msg/sec std::mutex, 6,i: 5,821,810 msg/sec std::mutex, 7,s: 5,818,110 msg/sec std::mutex, 7,i: 5,769,899 msg/sec std::mutex, 8,s: 5,705,681 msg/sec std::mutex, 8,i: 5,674,561 msg/sec tbb::spin_mutex, 1,s: 37,897,980 msg/sec tbb::spin_mutex, 1,i: 32,779,535 msg/sec tbb::spin_mutex, 2,s: 21,227,913 msg/sec tbb::spin_mutex, 2,i: 18,772,660 msg/sec tbb::spin_mutex, 3,s: 8,840,648 msg/sec tbb::spin_mutex, 3,i: 10,170,965 msg/sec tbb::spin_mutex, 4,s: 3,248,909 msg/sec tbb::spin_mutex, 4,i: 6,354,444 msg/sec tbb::spin_mutex, 5,s: 5,422,229 msg/sec tbb::spin_mutex, 5,i: 5,798,305 msg/sec tbb::spin_mutex, 6,s: 5,340,680 msg/sec tbb::spin_mutex, 6,i: 4,339,172 msg/sec tbb::spin_mutex, 7,s: 4,523,280 msg/sec tbb::spin_mutex, 7,i: 4,296,574 msg/sec tbb::spin_mutex, 8,s: 4,254,970 msg/sec tbb::spin_mutex, 8,i: 4,061,480 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,089,879 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,212,783 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,753,623 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,991,048 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,357,827 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,453,837 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,430,989 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,247,298 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,771,550 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,768,219 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,754,551 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,998,908 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,893,349 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,988,061 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,892,885 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,126,492 msg/sec xenium::michael_scott_queue, 1,s: 9,289,713 msg/sec xenium::michael_scott_queue, 1,i: 9,543,798 msg/sec xenium::michael_scott_queue, 2,s: 8,664,730 msg/sec xenium::michael_scott_queue, 2,i: 8,613,803 msg/sec xenium::michael_scott_queue, 3,s: 7,251,153 msg/sec xenium::michael_scott_queue, 3,i: 7,679,779 msg/sec xenium::michael_scott_queue, 4,s: 6,333,250 msg/sec xenium::michael_scott_queue, 4,i: 6,327,076 msg/sec xenium::michael_scott_queue, 5,s: 6,289,520 msg/sec xenium::michael_scott_queue, 5,i: 6,731,752 msg/sec xenium::michael_scott_queue, 6,s: 6,476,511 msg/sec xenium::michael_scott_queue, 6,i: 6,751,317 msg/sec xenium::michael_scott_queue, 7,s: 6,319,719 msg/sec xenium::michael_scott_queue, 7,i: 6,574,603 msg/sec xenium::michael_scott_queue, 8,s: 5,990,430 msg/sec xenium::michael_scott_queue, 8,i: 6,157,485 msg/sec xenium::ramalhete_queue, 1,s: 32,494,381 msg/sec xenium::ramalhete_queue, 1,i: 32,285,575 msg/sec xenium::ramalhete_queue, 2,s: 23,846,690 msg/sec xenium::ramalhete_queue, 2,i: 23,457,902 msg/sec xenium::ramalhete_queue, 3,s: 29,110,718 msg/sec xenium::ramalhete_queue, 3,i: 28,480,843 msg/sec xenium::ramalhete_queue, 4,s: 33,823,481 msg/sec xenium::ramalhete_queue, 4,i: 33,433,843 msg/sec xenium::ramalhete_queue, 5,s: 32,177,771 msg/sec xenium::ramalhete_queue, 5,i: 35,889,787 msg/sec xenium::ramalhete_queue, 6,s: 33,971,126 msg/sec xenium::ramalhete_queue, 6,i: 39,031,086 msg/sec xenium::ramalhete_queue, 7,s: 35,182,200 msg/sec xenium::ramalhete_queue, 7,i: 41,626,172 msg/sec xenium::ramalhete_queue, 8,s: 35,533,164 msg/sec xenium::ramalhete_queue, 8,i: 44,944,634 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,528,076 msg/sec xenium::vyukov_bounded_queue, 1,i: 98,153,338 msg/sec xenium::vyukov_bounded_queue, 2,s: 20,681,005 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,695,029 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,615,798 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,486,733 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,651,834 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,106,758 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,618,346 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,405,106 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,941,992 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,599,649 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,132,462 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,248,719 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,397,473 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,441,030 msg/sec AtomicQueue, 1,s: 58,646,529 msg/sec AtomicQueue, 1,i: 56,665,257 msg/sec AtomicQueue, 2,s: 12,271,712 msg/sec AtomicQueue, 2,i: 11,716,511 msg/sec AtomicQueue, 3,s: 10,779,969 msg/sec AtomicQueue, 3,i: 9,946,301 msg/sec AtomicQueue, 4,s: 8,172,075 msg/sec AtomicQueue, 4,i: 8,191,380 msg/sec AtomicQueue, 5,s: 8,031,418 msg/sec AtomicQueue, 5,i: 8,105,716 msg/sec AtomicQueue, 6,s: 7,867,292 msg/sec AtomicQueue, 6,i: 7,536,832 msg/sec AtomicQueue, 7,s: 7,143,402 msg/sec AtomicQueue, 7,i: 7,968,101 msg/sec AtomicQueue, 8,s: 6,302,567 msg/sec AtomicQueue, 8,i: 7,431,727 msg/sec AtomicQueueB, 1,s: 228,034,973 msg/sec AtomicQueueB, 1,i: 43,051,647 msg/sec AtomicQueueB, 2,s: 12,122,517 msg/sec AtomicQueueB, 2,i: 11,476,061 msg/sec AtomicQueueB, 3,s: 11,039,015 msg/sec AtomicQueueB, 3,i: 10,134,655 msg/sec AtomicQueueB, 4,s: 7,998,138 msg/sec AtomicQueueB, 4,i: 7,972,261 msg/sec AtomicQueueB, 5,s: 7,512,635 msg/sec AtomicQueueB, 5,i: 7,912,946 msg/sec AtomicQueueB, 6,s: 7,313,829 msg/sec AtomicQueueB, 6,i: 7,494,241 msg/sec AtomicQueueB, 7,s: 6,868,788 msg/sec AtomicQueueB, 7,i: 7,756,642 msg/sec AtomicQueueB, 8,s: 6,236,296 msg/sec AtomicQueueB, 8,i: 7,119,417 msg/sec OptimistAtomicQueue, 1,s: 686,252,425 msg/sec OptimistAtomicQueue, 1,i: 519,023,576 msg/sec OptimistAtomicQueue, 2,s: 32,179,851 msg/sec OptimistAtomicQueue, 2,i: 32,192,918 msg/sec OptimistAtomicQueue, 3,s: 36,632,748 msg/sec OptimistAtomicQueue, 3,i: 37,314,376 msg/sec OptimistAtomicQueue, 4,s: 39,283,831 msg/sec OptimistAtomicQueue, 4,i: 39,404,303 msg/sec OptimistAtomicQueue, 5,s: 42,358,760 msg/sec OptimistAtomicQueue, 5,i: 47,385,244 msg/sec OptimistAtomicQueue, 6,s: 42,767,191 msg/sec OptimistAtomicQueue, 6,i: 50,414,993 msg/sec OptimistAtomicQueue, 7,s: 44,013,633 msg/sec OptimistAtomicQueue, 7,i: 49,417,984 msg/sec OptimistAtomicQueue, 8,s: 46,501,202 msg/sec OptimistAtomicQueue, 8,i: 49,241,909 msg/sec OptimistAtomicQueueB, 1,s: 97,647,016 msg/sec OptimistAtomicQueueB, 1,i: 76,517,089 msg/sec OptimistAtomicQueueB, 2,s: 32,137,190 msg/sec OptimistAtomicQueueB, 2,i: 32,128,435 msg/sec OptimistAtomicQueueB, 3,s: 36,217,451 msg/sec OptimistAtomicQueueB, 3,i: 36,772,775 msg/sec OptimistAtomicQueueB, 4,s: 38,647,317 msg/sec OptimistAtomicQueueB, 4,i: 38,587,519 msg/sec OptimistAtomicQueueB, 5,s: 40,503,743 msg/sec OptimistAtomicQueueB, 5,i: 45,487,895 msg/sec OptimistAtomicQueueB, 6,s: 40,763,486 msg/sec OptimistAtomicQueueB, 6,i: 49,133,094 msg/sec OptimistAtomicQueueB, 7,s: 42,236,277 msg/sec OptimistAtomicQueueB, 7,i: 50,874,935 msg/sec OptimistAtomicQueueB, 8,s: 44,447,977 msg/sec OptimistAtomicQueueB, 8,i: 48,432,989 msg/sec AtomicQueue2, 1,s: 23,139,550 msg/sec AtomicQueue2, 1,i: 23,096,830 msg/sec AtomicQueue2, 2,s: 11,829,544 msg/sec AtomicQueue2, 2,i: 11,424,795 msg/sec AtomicQueue2, 3,s: 9,462,379 msg/sec AtomicQueue2, 3,i: 9,537,920 msg/sec AtomicQueue2, 4,s: 8,090,760 msg/sec AtomicQueue2, 4,i: 8,114,073 msg/sec AtomicQueue2, 5,s: 7,877,321 msg/sec AtomicQueue2, 5,i: 8,031,671 msg/sec AtomicQueue2, 6,s: 7,717,076 msg/sec AtomicQueue2, 6,i: 7,565,238 msg/sec AtomicQueue2, 7,s: 7,111,211 msg/sec AtomicQueue2, 7,i: 7,887,655 msg/sec AtomicQueue2, 8,s: 6,369,580 msg/sec AtomicQueue2, 8,i: 7,286,125 msg/sec AtomicQueueB2, 1,s: 36,171,071 msg/sec AtomicQueueB2, 1,i: 32,619,734 msg/sec AtomicQueueB2, 2,s: 11,324,596 msg/sec AtomicQueueB2, 2,i: 11,114,194 msg/sec AtomicQueueB2, 3,s: 9,468,958 msg/sec AtomicQueueB2, 3,i: 9,519,925 msg/sec AtomicQueueB2, 4,s: 7,918,990 msg/sec AtomicQueueB2, 4,i: 7,884,382 msg/sec AtomicQueueB2, 5,s: 7,419,876 msg/sec AtomicQueueB2, 5,i: 7,585,305 msg/sec AtomicQueueB2, 6,s: 7,309,241 msg/sec AtomicQueueB2, 6,i: 7,436,557 msg/sec AtomicQueueB2, 7,s: 6,830,066 msg/sec AtomicQueueB2, 7,i: 7,720,569 msg/sec AtomicQueueB2, 8,s: 6,249,155 msg/sec AtomicQueueB2, 8,i: 7,085,154 msg/sec OptimistAtomicQueue2, 1,s: 487,179,921 msg/sec OptimistAtomicQueue2, 1,i: 29,851,696 msg/sec OptimistAtomicQueue2, 2,s: 26,280,493 msg/sec OptimistAtomicQueue2, 2,i: 23,947,695 msg/sec OptimistAtomicQueue2, 3,s: 29,832,187 msg/sec OptimistAtomicQueue2, 3,i: 29,945,384 msg/sec OptimistAtomicQueue2, 4,s: 33,320,182 msg/sec OptimistAtomicQueue2, 4,i: 33,352,677 msg/sec OptimistAtomicQueue2, 5,s: 37,041,011 msg/sec OptimistAtomicQueue2, 5,i: 40,832,833 msg/sec OptimistAtomicQueue2, 6,s: 40,068,875 msg/sec OptimistAtomicQueue2, 6,i: 48,968,013 msg/sec OptimistAtomicQueue2, 7,s: 42,876,047 msg/sec OptimistAtomicQueue2, 7,i: 51,374,296 msg/sec OptimistAtomicQueue2, 8,s: 44,153,984 msg/sec OptimistAtomicQueue2, 8,i: 48,045,217 msg/sec OptimistAtomicQueueB2, 1,s: 76,022,631 msg/sec OptimistAtomicQueueB2, 1,i: 33,880,718 msg/sec OptimistAtomicQueueB2, 2,s: 28,835,423 msg/sec OptimistAtomicQueueB2, 2,i: 23,180,491 msg/sec OptimistAtomicQueueB2, 3,s: 30,172,888 msg/sec OptimistAtomicQueueB2, 3,i: 29,115,756 msg/sec OptimistAtomicQueueB2, 4,s: 32,874,031 msg/sec OptimistAtomicQueueB2, 4,i: 32,000,865 msg/sec OptimistAtomicQueueB2, 5,s: 34,577,176 msg/sec OptimistAtomicQueueB2, 5,i: 38,770,103 msg/sec OptimistAtomicQueueB2, 6,s: 37,169,451 msg/sec OptimistAtomicQueueB2, 6,i: 42,198,792 msg/sec OptimistAtomicQueueB2, 7,s: 40,076,819 msg/sec OptimistAtomicQueueB2, 7,i: 45,215,298 msg/sec OptimistAtomicQueueB2, 8,s: 42,313,722 msg/sec OptimistAtomicQueueB2, 8,i: 45,922,895 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000120 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000259 sec/round-trip xenium::vyukov_bounded_queue: 0.000000196 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [221] 189m:41s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,488,429 msg/sec boost::lockfree::spsc_queue, 1,i: 70,722,723 msg/sec boost::lockfree::queue, 1,s: 6,875,086 msg/sec boost::lockfree::queue, 1,i: 6,854,981 msg/sec boost::lockfree::queue, 2,s: 7,684,263 msg/sec boost::lockfree::queue, 2,i: 7,451,233 msg/sec boost::lockfree::queue, 3,s: 7,390,902 msg/sec boost::lockfree::queue, 3,i: 7,575,909 msg/sec boost::lockfree::queue, 4,s: 6,406,540 msg/sec boost::lockfree::queue, 4,i: 6,752,512 msg/sec boost::lockfree::queue, 5,s: 6,516,407 msg/sec boost::lockfree::queue, 5,i: 6,481,982 msg/sec boost::lockfree::queue, 6,s: 5,988,116 msg/sec boost::lockfree::queue, 6,i: 6,153,366 msg/sec boost::lockfree::queue, 7,s: 5,805,232 msg/sec boost::lockfree::queue, 7,i: 6,124,451 msg/sec boost::lockfree::queue, 8,s: 5,641,723 msg/sec boost::lockfree::queue, 8,i: 5,578,339 msg/sec moodycamel::ReaderWriterQueue, 1,s: 461,803,909 msg/sec moodycamel::ReaderWriterQueue, 1,i: 464,950,086 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,989,505 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,549,691 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,056,470 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,361,141 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,498,841 msg/sec moodycamel::ConcurrentQueue, 3,i: 41,784,764 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,487,240 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,959,618 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,539,579 msg/sec moodycamel::ConcurrentQueue, 5,i: 28,570,778 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,510,915 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,395,761 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,832,102 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,018,494 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,126,621 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,180,491 msg/sec pthread_spinlock, 1,s: 29,072,024 msg/sec pthread_spinlock, 1,i: 27,181,711 msg/sec pthread_spinlock, 2,s: 15,608,123 msg/sec pthread_spinlock, 2,i: 17,125,655 msg/sec pthread_spinlock, 3,s: 8,345,916 msg/sec pthread_spinlock, 3,i: 12,138,517 msg/sec pthread_spinlock, 4,s: 6,521,271 msg/sec pthread_spinlock, 4,i: 8,845,361 msg/sec pthread_spinlock, 5,s: 8,680,310 msg/sec pthread_spinlock, 5,i: 9,011,345 msg/sec pthread_spinlock, 6,s: 8,504,571 msg/sec pthread_spinlock, 6,i: 8,453,748 msg/sec pthread_spinlock, 7,s: 7,554,284 msg/sec pthread_spinlock, 7,i: 7,573,206 msg/sec pthread_spinlock, 8,s: 6,711,956 msg/sec pthread_spinlock, 8,i: 6,922,521 msg/sec std::mutex, 1,s: 5,588,909 msg/sec std::mutex, 1,i: 6,188,339 msg/sec std::mutex, 2,s: 5,100,613 msg/sec std::mutex, 2,i: 5,734,727 msg/sec std::mutex, 3,s: 5,961,592 msg/sec std::mutex, 3,i: 6,064,182 msg/sec std::mutex, 4,s: 6,257,122 msg/sec std::mutex, 4,i: 6,370,366 msg/sec std::mutex, 5,s: 5,986,508 msg/sec std::mutex, 5,i: 6,029,478 msg/sec std::mutex, 6,s: 6,005,423 msg/sec std::mutex, 6,i: 5,909,545 msg/sec std::mutex, 7,s: 5,863,532 msg/sec std::mutex, 7,i: 5,923,431 msg/sec std::mutex, 8,s: 5,814,619 msg/sec std::mutex, 8,i: 5,761,556 msg/sec tbb::spin_mutex, 1,s: 37,859,336 msg/sec tbb::spin_mutex, 1,i: 33,174,096 msg/sec tbb::spin_mutex, 2,s: 21,309,513 msg/sec tbb::spin_mutex, 2,i: 18,422,733 msg/sec tbb::spin_mutex, 3,s: 8,247,902 msg/sec tbb::spin_mutex, 3,i: 10,489,970 msg/sec tbb::spin_mutex, 4,s: 3,249,361 msg/sec tbb::spin_mutex, 4,i: 6,313,790 msg/sec tbb::spin_mutex, 5,s: 5,378,997 msg/sec tbb::spin_mutex, 5,i: 5,756,551 msg/sec tbb::spin_mutex, 6,s: 5,313,478 msg/sec tbb::spin_mutex, 6,i: 4,417,098 msg/sec tbb::spin_mutex, 7,s: 4,683,766 msg/sec tbb::spin_mutex, 7,i: 4,293,977 msg/sec tbb::spin_mutex, 8,s: 4,245,940 msg/sec tbb::spin_mutex, 8,i: 4,191,811 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,322,181 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,193,539 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,062,291 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,517,335 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,009,513 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,561,395 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,539,431 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,588,213 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,950,543 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,650,322 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,868,297 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,673,408 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,873,963 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,795,355 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,786,389 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,453,061 msg/sec xenium::michael_scott_queue, 1,s: 10,137,361 msg/sec xenium::michael_scott_queue, 1,i: 9,733,011 msg/sec xenium::michael_scott_queue, 2,s: 8,536,696 msg/sec xenium::michael_scott_queue, 2,i: 8,517,098 msg/sec xenium::michael_scott_queue, 3,s: 7,302,779 msg/sec xenium::michael_scott_queue, 3,i: 7,627,342 msg/sec xenium::michael_scott_queue, 4,s: 6,323,102 msg/sec xenium::michael_scott_queue, 4,i: 6,353,056 msg/sec xenium::michael_scott_queue, 5,s: 6,284,041 msg/sec xenium::michael_scott_queue, 5,i: 6,777,338 msg/sec xenium::michael_scott_queue, 6,s: 6,510,516 msg/sec xenium::michael_scott_queue, 6,i: 6,945,991 msg/sec xenium::michael_scott_queue, 7,s: 6,261,435 msg/sec xenium::michael_scott_queue, 7,i: 6,431,576 msg/sec xenium::michael_scott_queue, 8,s: 5,995,129 msg/sec xenium::michael_scott_queue, 8,i: 6,165,445 msg/sec xenium::ramalhete_queue, 1,s: 31,908,095 msg/sec xenium::ramalhete_queue, 1,i: 31,791,145 msg/sec xenium::ramalhete_queue, 2,s: 23,573,910 msg/sec xenium::ramalhete_queue, 2,i: 23,431,946 msg/sec xenium::ramalhete_queue, 3,s: 29,184,228 msg/sec xenium::ramalhete_queue, 3,i: 28,441,349 msg/sec xenium::ramalhete_queue, 4,s: 33,751,155 msg/sec xenium::ramalhete_queue, 4,i: 33,532,081 msg/sec xenium::ramalhete_queue, 5,s: 32,216,661 msg/sec xenium::ramalhete_queue, 5,i: 36,014,585 msg/sec xenium::ramalhete_queue, 6,s: 34,069,553 msg/sec xenium::ramalhete_queue, 6,i: 39,749,473 msg/sec xenium::ramalhete_queue, 7,s: 35,188,873 msg/sec xenium::ramalhete_queue, 7,i: 41,568,654 msg/sec xenium::ramalhete_queue, 8,s: 35,629,487 msg/sec xenium::ramalhete_queue, 8,i: 44,298,037 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,612,683 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,399,184 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,093,795 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,913,516 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,728,250 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,352,339 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,471,216 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,328,175 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,975,976 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,286,598 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,929,538 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,415,296 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,212,230 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,326,348 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,444,444 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,551,533 msg/sec AtomicQueue, 1,s: 144,850,162 msg/sec AtomicQueue, 1,i: 223,719,614 msg/sec AtomicQueue, 2,s: 12,280,075 msg/sec AtomicQueue, 2,i: 11,748,468 msg/sec AtomicQueue, 3,s: 10,793,873 msg/sec AtomicQueue, 3,i: 9,926,990 msg/sec AtomicQueue, 4,s: 8,195,900 msg/sec AtomicQueue, 4,i: 8,204,797 msg/sec AtomicQueue, 5,s: 8,033,591 msg/sec AtomicQueue, 5,i: 8,080,570 msg/sec AtomicQueue, 6,s: 7,808,166 msg/sec AtomicQueue, 6,i: 7,642,761 msg/sec AtomicQueue, 7,s: 7,142,815 msg/sec AtomicQueue, 7,i: 7,999,738 msg/sec AtomicQueue, 8,s: 6,359,618 msg/sec AtomicQueue, 8,i: 7,495,862 msg/sec AtomicQueueB, 1,s: 44,001,317 msg/sec AtomicQueueB, 1,i: 43,129,401 msg/sec AtomicQueueB, 2,s: 11,712,015 msg/sec AtomicQueueB, 2,i: 11,344,994 msg/sec AtomicQueueB, 3,s: 11,055,441 msg/sec AtomicQueueB, 3,i: 10,137,549 msg/sec AtomicQueueB, 4,s: 8,068,443 msg/sec AtomicQueueB, 4,i: 8,071,151 msg/sec AtomicQueueB, 5,s: 7,580,189 msg/sec AtomicQueueB, 5,i: 7,815,508 msg/sec AtomicQueueB, 6,s: 7,340,193 msg/sec AtomicQueueB, 6,i: 7,476,028 msg/sec AtomicQueueB, 7,s: 6,905,442 msg/sec AtomicQueueB, 7,i: 7,731,037 msg/sec AtomicQueueB, 8,s: 6,260,851 msg/sec AtomicQueueB, 8,i: 7,149,936 msg/sec OptimistAtomicQueue, 1,s: 737,247,688 msg/sec OptimistAtomicQueue, 1,i: 549,136,907 msg/sec OptimistAtomicQueue, 2,s: 32,224,581 msg/sec OptimistAtomicQueue, 2,i: 32,185,521 msg/sec OptimistAtomicQueue, 3,s: 36,615,102 msg/sec OptimistAtomicQueue, 3,i: 37,399,490 msg/sec OptimistAtomicQueue, 4,s: 39,286,785 msg/sec OptimistAtomicQueue, 4,i: 39,372,230 msg/sec OptimistAtomicQueue, 5,s: 42,437,527 msg/sec OptimistAtomicQueue, 5,i: 46,168,506 msg/sec OptimistAtomicQueue, 6,s: 42,301,952 msg/sec OptimistAtomicQueue, 6,i: 50,471,979 msg/sec OptimistAtomicQueue, 7,s: 44,339,171 msg/sec OptimistAtomicQueue, 7,i: 52,984,691 msg/sec OptimistAtomicQueue, 8,s: 46,309,845 msg/sec OptimistAtomicQueue, 8,i: 49,244,801 msg/sec OptimistAtomicQueueB, 1,s: 177,481,265 msg/sec OptimistAtomicQueueB, 1,i: 77,287,602 msg/sec OptimistAtomicQueueB, 2,s: 32,240,761 msg/sec OptimistAtomicQueueB, 2,i: 32,015,332 msg/sec OptimistAtomicQueueB, 3,s: 36,187,669 msg/sec OptimistAtomicQueueB, 3,i: 36,836,872 msg/sec OptimistAtomicQueueB, 4,s: 38,712,285 msg/sec OptimistAtomicQueueB, 4,i: 38,591,652 msg/sec OptimistAtomicQueueB, 5,s: 40,342,371 msg/sec OptimistAtomicQueueB, 5,i: 47,263,235 msg/sec OptimistAtomicQueueB, 6,s: 40,737,210 msg/sec OptimistAtomicQueueB, 6,i: 49,237,317 msg/sec OptimistAtomicQueueB, 7,s: 41,863,479 msg/sec OptimistAtomicQueueB, 7,i: 47,834,772 msg/sec OptimistAtomicQueueB, 8,s: 44,008,029 msg/sec OptimistAtomicQueueB, 8,i: 47,646,156 msg/sec AtomicQueue2, 1,s: 23,158,894 msg/sec AtomicQueue2, 1,i: 23,108,197 msg/sec AtomicQueue2, 2,s: 11,697,751 msg/sec AtomicQueue2, 2,i: 11,434,837 msg/sec AtomicQueue2, 3,s: 9,405,452 msg/sec AtomicQueue2, 3,i: 9,519,528 msg/sec AtomicQueue2, 4,s: 7,985,431 msg/sec AtomicQueue2, 4,i: 8,070,014 msg/sec AtomicQueue2, 5,s: 7,886,815 msg/sec AtomicQueue2, 5,i: 8,051,923 msg/sec AtomicQueue2, 6,s: 7,823,671 msg/sec AtomicQueue2, 6,i: 7,522,808 msg/sec AtomicQueue2, 7,s: 7,158,557 msg/sec AtomicQueue2, 7,i: 7,876,759 msg/sec AtomicQueue2, 8,s: 6,371,306 msg/sec AtomicQueue2, 8,i: 7,329,419 msg/sec AtomicQueueB2, 1,s: 35,704,293 msg/sec AtomicQueueB2, 1,i: 32,647,861 msg/sec AtomicQueueB2, 2,s: 11,499,398 msg/sec AtomicQueueB2, 2,i: 11,103,502 msg/sec AtomicQueueB2, 3,s: 9,593,729 msg/sec AtomicQueueB2, 3,i: 9,590,369 msg/sec AtomicQueueB2, 4,s: 7,934,767 msg/sec AtomicQueueB2, 4,i: 7,883,448 msg/sec AtomicQueueB2, 5,s: 7,520,813 msg/sec AtomicQueueB2, 5,i: 7,713,901 msg/sec AtomicQueueB2, 6,s: 7,355,740 msg/sec AtomicQueueB2, 6,i: 7,429,887 msg/sec AtomicQueueB2, 7,s: 6,905,658 msg/sec AtomicQueueB2, 7,i: 7,724,341 msg/sec AtomicQueueB2, 8,s: 6,271,252 msg/sec AtomicQueueB2, 8,i: 7,079,263 msg/sec OptimistAtomicQueue2, 1,s: 123,020,004 msg/sec OptimistAtomicQueue2, 1,i: 31,915,366 msg/sec OptimistAtomicQueue2, 2,s: 26,190,473 msg/sec OptimistAtomicQueue2, 2,i: 24,023,990 msg/sec OptimistAtomicQueue2, 3,s: 30,327,151 msg/sec OptimistAtomicQueue2, 3,i: 29,963,514 msg/sec OptimistAtomicQueue2, 4,s: 33,253,185 msg/sec OptimistAtomicQueue2, 4,i: 33,351,873 msg/sec OptimistAtomicQueue2, 5,s: 37,024,929 msg/sec OptimistAtomicQueue2, 5,i: 40,483,964 msg/sec OptimistAtomicQueue2, 6,s: 40,004,465 msg/sec OptimistAtomicQueue2, 6,i: 49,268,113 msg/sec OptimistAtomicQueue2, 7,s: 42,792,989 msg/sec OptimistAtomicQueue2, 7,i: 48,120,723 msg/sec OptimistAtomicQueue2, 8,s: 44,163,053 msg/sec OptimistAtomicQueue2, 8,i: 48,802,359 msg/sec OptimistAtomicQueueB2, 1,s: 77,263,419 msg/sec OptimistAtomicQueueB2, 1,i: 33,879,312 msg/sec OptimistAtomicQueueB2, 2,s: 27,063,827 msg/sec OptimistAtomicQueueB2, 2,i: 23,178,951 msg/sec OptimistAtomicQueueB2, 3,s: 29,426,708 msg/sec OptimistAtomicQueueB2, 3,i: 29,988,297 msg/sec OptimistAtomicQueueB2, 4,s: 32,877,045 msg/sec OptimistAtomicQueueB2, 4,i: 32,969,977 msg/sec OptimistAtomicQueueB2, 5,s: 34,340,724 msg/sec OptimistAtomicQueueB2, 5,i: 39,894,474 msg/sec OptimistAtomicQueueB2, 6,s: 37,536,104 msg/sec OptimistAtomicQueueB2, 6,i: 42,206,843 msg/sec OptimistAtomicQueueB2, 7,s: 40,505,252 msg/sec OptimistAtomicQueueB2, 7,i: 45,298,539 msg/sec OptimistAtomicQueueB2, 8,s: 42,056,159 msg/sec OptimistAtomicQueueB2, 8,i: 45,050,881 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000283 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000170 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [222] 188m:22s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,279,569 msg/sec boost::lockfree::spsc_queue, 1,i: 70,395,559 msg/sec boost::lockfree::queue, 1,s: 6,972,303 msg/sec boost::lockfree::queue, 1,i: 6,888,217 msg/sec boost::lockfree::queue, 2,s: 7,391,597 msg/sec boost::lockfree::queue, 2,i: 7,521,050 msg/sec boost::lockfree::queue, 3,s: 7,407,692 msg/sec boost::lockfree::queue, 3,i: 7,618,958 msg/sec boost::lockfree::queue, 4,s: 6,426,269 msg/sec boost::lockfree::queue, 4,i: 6,831,428 msg/sec boost::lockfree::queue, 5,s: 6,394,755 msg/sec boost::lockfree::queue, 5,i: 6,495,001 msg/sec boost::lockfree::queue, 6,s: 6,000,101 msg/sec boost::lockfree::queue, 6,i: 6,129,684 msg/sec boost::lockfree::queue, 7,s: 5,913,225 msg/sec boost::lockfree::queue, 7,i: 5,937,172 msg/sec boost::lockfree::queue, 8,s: 5,416,262 msg/sec boost::lockfree::queue, 8,i: 5,564,794 msg/sec moodycamel::ReaderWriterQueue, 1,s: 301,600,374 msg/sec moodycamel::ReaderWriterQueue, 1,i: 94,384,502 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,658,500 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,374,787 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,455,822 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,712,994 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,342,861 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,001,243 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,978,259 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,936,609 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,405,515 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,603,999 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,581,093 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,549,361 msg/sec moodycamel::ConcurrentQueue, 7,s: 31,472,964 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,394,958 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,282,859 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,725,240 msg/sec pthread_spinlock, 1,s: 28,779,149 msg/sec pthread_spinlock, 1,i: 25,324,743 msg/sec pthread_spinlock, 2,s: 15,360,877 msg/sec pthread_spinlock, 2,i: 16,682,340 msg/sec pthread_spinlock, 3,s: 8,489,824 msg/sec pthread_spinlock, 3,i: 11,925,122 msg/sec pthread_spinlock, 4,s: 6,486,440 msg/sec pthread_spinlock, 4,i: 9,086,264 msg/sec pthread_spinlock, 5,s: 8,704,957 msg/sec pthread_spinlock, 5,i: 9,495,889 msg/sec pthread_spinlock, 6,s: 8,299,160 msg/sec pthread_spinlock, 6,i: 8,591,752 msg/sec pthread_spinlock, 7,s: 7,544,272 msg/sec pthread_spinlock, 7,i: 7,486,112 msg/sec pthread_spinlock, 8,s: 6,698,569 msg/sec pthread_spinlock, 8,i: 6,887,543 msg/sec std::mutex, 1,s: 6,796,464 msg/sec std::mutex, 1,i: 7,521,399 msg/sec std::mutex, 2,s: 5,764,358 msg/sec std::mutex, 2,i: 5,915,086 msg/sec std::mutex, 3,s: 5,957,518 msg/sec std::mutex, 3,i: 6,040,231 msg/sec std::mutex, 4,s: 6,035,113 msg/sec std::mutex, 4,i: 6,207,767 msg/sec std::mutex, 5,s: 5,987,774 msg/sec std::mutex, 5,i: 5,987,559 msg/sec std::mutex, 6,s: 5,882,030 msg/sec std::mutex, 6,i: 5,850,550 msg/sec std::mutex, 7,s: 5,830,939 msg/sec std::mutex, 7,i: 5,826,584 msg/sec std::mutex, 8,s: 5,692,343 msg/sec std::mutex, 8,i: 5,739,090 msg/sec tbb::spin_mutex, 1,s: 37,950,860 msg/sec tbb::spin_mutex, 1,i: 32,838,349 msg/sec tbb::spin_mutex, 2,s: 21,201,557 msg/sec tbb::spin_mutex, 2,i: 18,357,346 msg/sec tbb::spin_mutex, 3,s: 7,403,697 msg/sec tbb::spin_mutex, 3,i: 10,303,289 msg/sec tbb::spin_mutex, 4,s: 3,247,064 msg/sec tbb::spin_mutex, 4,i: 6,390,513 msg/sec tbb::spin_mutex, 5,s: 5,504,112 msg/sec tbb::spin_mutex, 5,i: 5,756,010 msg/sec tbb::spin_mutex, 6,s: 5,258,949 msg/sec tbb::spin_mutex, 6,i: 4,346,982 msg/sec tbb::spin_mutex, 7,s: 4,842,722 msg/sec tbb::spin_mutex, 7,i: 4,353,971 msg/sec tbb::spin_mutex, 8,s: 4,255,260 msg/sec tbb::spin_mutex, 8,i: 4,151,903 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,355,573 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,365,697 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,039,073 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,913,312 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,534,072 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,766,595 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,025,719 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,358,292 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,482,246 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,612,983 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,883,661 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,722,574 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,820,662 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,128,960 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,905,654 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,452,636 msg/sec xenium::michael_scott_queue, 1,s: 9,168,528 msg/sec xenium::michael_scott_queue, 1,i: 9,519,577 msg/sec xenium::michael_scott_queue, 2,s: 8,424,008 msg/sec xenium::michael_scott_queue, 2,i: 8,513,308 msg/sec xenium::michael_scott_queue, 3,s: 7,140,001 msg/sec xenium::michael_scott_queue, 3,i: 7,665,180 msg/sec xenium::michael_scott_queue, 4,s: 6,317,423 msg/sec xenium::michael_scott_queue, 4,i: 6,388,192 msg/sec xenium::michael_scott_queue, 5,s: 6,309,180 msg/sec xenium::michael_scott_queue, 5,i: 6,663,400 msg/sec xenium::michael_scott_queue, 6,s: 6,537,225 msg/sec xenium::michael_scott_queue, 6,i: 6,913,503 msg/sec xenium::michael_scott_queue, 7,s: 6,314,762 msg/sec xenium::michael_scott_queue, 7,i: 6,497,579 msg/sec xenium::michael_scott_queue, 8,s: 6,030,473 msg/sec xenium::michael_scott_queue, 8,i: 6,260,046 msg/sec xenium::ramalhete_queue, 1,s: 32,993,318 msg/sec xenium::ramalhete_queue, 1,i: 32,706,259 msg/sec xenium::ramalhete_queue, 2,s: 23,801,635 msg/sec xenium::ramalhete_queue, 2,i: 24,333,815 msg/sec xenium::ramalhete_queue, 3,s: 29,225,273 msg/sec xenium::ramalhete_queue, 3,i: 28,491,412 msg/sec xenium::ramalhete_queue, 4,s: 33,927,213 msg/sec xenium::ramalhete_queue, 4,i: 33,611,069 msg/sec xenium::ramalhete_queue, 5,s: 32,120,873 msg/sec xenium::ramalhete_queue, 5,i: 36,076,559 msg/sec xenium::ramalhete_queue, 6,s: 34,199,327 msg/sec xenium::ramalhete_queue, 6,i: 38,821,596 msg/sec xenium::ramalhete_queue, 7,s: 35,387,171 msg/sec xenium::ramalhete_queue, 7,i: 40,990,323 msg/sec xenium::ramalhete_queue, 8,s: 35,397,571 msg/sec xenium::ramalhete_queue, 8,i: 44,057,320 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,348,131 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,668,221 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,882,271 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,093,136 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,578,338 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,851,471 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,610,570 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,247,812 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,932,849 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,372,267 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,162,783 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,171,252 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,113,675 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,918,343 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,619 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,234,681 msg/sec AtomicQueue, 1,s: 127,125,324 msg/sec AtomicQueue, 1,i: 254,788,624 msg/sec AtomicQueue, 2,s: 12,309,739 msg/sec AtomicQueue, 2,i: 11,755,290 msg/sec AtomicQueue, 3,s: 10,756,490 msg/sec AtomicQueue, 3,i: 9,976,431 msg/sec AtomicQueue, 4,s: 8,240,124 msg/sec AtomicQueue, 4,i: 8,178,931 msg/sec AtomicQueue, 5,s: 8,037,806 msg/sec AtomicQueue, 5,i: 8,071,095 msg/sec AtomicQueue, 6,s: 7,839,429 msg/sec AtomicQueue, 6,i: 7,611,832 msg/sec AtomicQueue, 7,s: 7,074,090 msg/sec AtomicQueue, 7,i: 7,999,945 msg/sec AtomicQueue, 8,s: 6,337,440 msg/sec AtomicQueue, 8,i: 7,448,773 msg/sec AtomicQueueB, 1,s: 43,967,086 msg/sec AtomicQueueB, 1,i: 43,606,232 msg/sec AtomicQueueB, 2,s: 11,930,620 msg/sec AtomicQueueB, 2,i: 11,497,412 msg/sec AtomicQueueB, 3,s: 11,009,692 msg/sec AtomicQueueB, 3,i: 10,143,035 msg/sec AtomicQueueB, 4,s: 8,057,846 msg/sec AtomicQueueB, 4,i: 8,014,719 msg/sec AtomicQueueB, 5,s: 7,612,739 msg/sec AtomicQueueB, 5,i: 7,721,436 msg/sec AtomicQueueB, 6,s: 7,399,957 msg/sec AtomicQueueB, 6,i: 7,615,664 msg/sec AtomicQueueB, 7,s: 6,943,444 msg/sec AtomicQueueB, 7,i: 7,740,820 msg/sec AtomicQueueB, 8,s: 6,207,986 msg/sec AtomicQueueB, 8,i: 7,164,441 msg/sec OptimistAtomicQueue, 1,s: 826,042,134 msg/sec OptimistAtomicQueue, 1,i: 607,507,855 msg/sec OptimistAtomicQueue, 2,s: 32,641,468 msg/sec OptimistAtomicQueue, 2,i: 32,703,152 msg/sec OptimistAtomicQueue, 3,s: 36,615,250 msg/sec OptimistAtomicQueue, 3,i: 37,403,460 msg/sec OptimistAtomicQueue, 4,s: 39,277,243 msg/sec OptimistAtomicQueue, 4,i: 39,363,536 msg/sec OptimistAtomicQueue, 5,s: 42,404,013 msg/sec OptimistAtomicQueue, 5,i: 48,563,924 msg/sec OptimistAtomicQueue, 6,s: 42,254,884 msg/sec OptimistAtomicQueue, 6,i: 50,485,553 msg/sec OptimistAtomicQueue, 7,s: 44,217,208 msg/sec OptimistAtomicQueue, 7,i: 49,171,920 msg/sec OptimistAtomicQueue, 8,s: 46,323,196 msg/sec OptimistAtomicQueue, 8,i: 50,272,967 msg/sec OptimistAtomicQueueB, 1,s: 115,423,533 msg/sec OptimistAtomicQueueB, 1,i: 77,487,899 msg/sec OptimistAtomicQueueB, 2,s: 32,288,939 msg/sec OptimistAtomicQueueB, 2,i: 31,903,675 msg/sec OptimistAtomicQueueB, 3,s: 36,262,288 msg/sec OptimistAtomicQueueB, 3,i: 36,849,626 msg/sec OptimistAtomicQueueB, 4,s: 38,628,245 msg/sec OptimistAtomicQueueB, 4,i: 38,579,785 msg/sec OptimistAtomicQueueB, 5,s: 40,821,447 msg/sec OptimistAtomicQueueB, 5,i: 45,384,248 msg/sec OptimistAtomicQueueB, 6,s: 40,562,327 msg/sec OptimistAtomicQueueB, 6,i: 49,076,590 msg/sec OptimistAtomicQueueB, 7,s: 42,255,238 msg/sec OptimistAtomicQueueB, 7,i: 50,612,118 msg/sec OptimistAtomicQueueB, 8,s: 44,228,418 msg/sec OptimistAtomicQueueB, 8,i: 47,978,934 msg/sec AtomicQueue2, 1,s: 23,366,232 msg/sec AtomicQueue2, 1,i: 23,229,334 msg/sec AtomicQueue2, 2,s: 12,008,639 msg/sec AtomicQueue2, 2,i: 11,391,156 msg/sec AtomicQueue2, 3,s: 9,617,751 msg/sec AtomicQueue2, 3,i: 9,459,679 msg/sec AtomicQueue2, 4,s: 8,104,215 msg/sec AtomicQueue2, 4,i: 8,016,622 msg/sec AtomicQueue2, 5,s: 7,945,524 msg/sec AtomicQueue2, 5,i: 8,079,123 msg/sec AtomicQueue2, 6,s: 7,718,026 msg/sec AtomicQueue2, 6,i: 7,538,966 msg/sec AtomicQueue2, 7,s: 7,111,476 msg/sec AtomicQueue2, 7,i: 7,886,315 msg/sec AtomicQueue2, 8,s: 6,377,925 msg/sec AtomicQueue2, 8,i: 7,258,503 msg/sec AtomicQueueB2, 1,s: 36,025,249 msg/sec AtomicQueueB2, 1,i: 35,933,325 msg/sec AtomicQueueB2, 2,s: 11,500,860 msg/sec AtomicQueueB2, 2,i: 11,121,429 msg/sec AtomicQueueB2, 3,s: 9,616,269 msg/sec AtomicQueueB2, 3,i: 9,553,167 msg/sec AtomicQueueB2, 4,s: 7,909,945 msg/sec AtomicQueueB2, 4,i: 7,852,482 msg/sec AtomicQueueB2, 5,s: 7,394,247 msg/sec AtomicQueueB2, 5,i: 7,753,458 msg/sec AtomicQueueB2, 6,s: 7,326,577 msg/sec AtomicQueueB2, 6,i: 7,419,775 msg/sec AtomicQueueB2, 7,s: 6,834,731 msg/sec AtomicQueueB2, 7,i: 7,699,364 msg/sec AtomicQueueB2, 8,s: 6,255,597 msg/sec AtomicQueueB2, 8,i: 6,986,679 msg/sec OptimistAtomicQueue2, 1,s: 134,150,241 msg/sec OptimistAtomicQueue2, 1,i: 29,784,231 msg/sec OptimistAtomicQueue2, 2,s: 24,669,335 msg/sec OptimistAtomicQueue2, 2,i: 24,021,251 msg/sec OptimistAtomicQueue2, 3,s: 30,317,976 msg/sec OptimistAtomicQueue2, 3,i: 29,999,824 msg/sec OptimistAtomicQueue2, 4,s: 33,200,565 msg/sec OptimistAtomicQueue2, 4,i: 33,419,052 msg/sec OptimistAtomicQueue2, 5,s: 37,299,185 msg/sec OptimistAtomicQueue2, 5,i: 40,219,823 msg/sec OptimistAtomicQueue2, 6,s: 40,119,267 msg/sec OptimistAtomicQueue2, 6,i: 49,264,866 msg/sec OptimistAtomicQueue2, 7,s: 42,731,340 msg/sec OptimistAtomicQueue2, 7,i: 51,530,142 msg/sec OptimistAtomicQueue2, 8,s: 43,918,173 msg/sec OptimistAtomicQueue2, 8,i: 49,342,198 msg/sec OptimistAtomicQueueB2, 1,s: 75,957,456 msg/sec OptimistAtomicQueueB2, 1,i: 33,876,867 msg/sec OptimistAtomicQueueB2, 2,s: 27,289,810 msg/sec OptimistAtomicQueueB2, 2,i: 23,177,394 msg/sec OptimistAtomicQueueB2, 3,s: 30,299,176 msg/sec OptimistAtomicQueueB2, 3,i: 29,159,430 msg/sec OptimistAtomicQueueB2, 4,s: 33,080,955 msg/sec OptimistAtomicQueueB2, 4,i: 33,442,694 msg/sec OptimistAtomicQueueB2, 5,s: 34,525,737 msg/sec OptimistAtomicQueueB2, 5,i: 39,235,180 msg/sec OptimistAtomicQueueB2, 6,s: 37,708,325 msg/sec OptimistAtomicQueueB2, 6,i: 42,370,622 msg/sec OptimistAtomicQueueB2, 7,s: 40,086,679 msg/sec OptimistAtomicQueueB2, 7,i: 45,163,786 msg/sec OptimistAtomicQueueB2, 8,s: 42,288,974 msg/sec OptimistAtomicQueueB2, 8,i: 45,906,824 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000165 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000278 sec/round-trip std::mutex: 0.000000452 sec/round-trip tbb::spin_mutex: 0.000000285 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000361 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000144 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [223] 187m:3s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,978,591 msg/sec boost::lockfree::spsc_queue, 1,i: 69,560,861 msg/sec boost::lockfree::queue, 1,s: 6,922,576 msg/sec boost::lockfree::queue, 1,i: 6,966,276 msg/sec boost::lockfree::queue, 2,s: 7,514,964 msg/sec boost::lockfree::queue, 2,i: 7,506,776 msg/sec boost::lockfree::queue, 3,s: 7,350,637 msg/sec boost::lockfree::queue, 3,i: 7,593,322 msg/sec boost::lockfree::queue, 4,s: 6,422,600 msg/sec boost::lockfree::queue, 4,i: 6,717,614 msg/sec boost::lockfree::queue, 5,s: 6,403,790 msg/sec boost::lockfree::queue, 5,i: 6,447,993 msg/sec boost::lockfree::queue, 6,s: 5,979,078 msg/sec boost::lockfree::queue, 6,i: 6,095,516 msg/sec boost::lockfree::queue, 7,s: 5,800,039 msg/sec boost::lockfree::queue, 7,i: 6,100,221 msg/sec boost::lockfree::queue, 8,s: 5,425,982 msg/sec boost::lockfree::queue, 8,i: 5,577,698 msg/sec moodycamel::ReaderWriterQueue, 1,s: 454,559,866 msg/sec moodycamel::ReaderWriterQueue, 1,i: 440,889,794 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,045,718 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,913,092 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,342,306 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,720,260 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,986,832 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,211,091 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,402,418 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,201,954 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,222,430 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,930,863 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,516,894 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,427,936 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,017,731 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,872,891 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,279,816 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,405,844 msg/sec pthread_spinlock, 1,s: 29,165,239 msg/sec pthread_spinlock, 1,i: 25,484,793 msg/sec pthread_spinlock, 2,s: 15,683,643 msg/sec pthread_spinlock, 2,i: 17,123,493 msg/sec pthread_spinlock, 3,s: 8,335,066 msg/sec pthread_spinlock, 3,i: 11,985,771 msg/sec pthread_spinlock, 4,s: 6,535,692 msg/sec pthread_spinlock, 4,i: 9,344,413 msg/sec pthread_spinlock, 5,s: 8,670,692 msg/sec pthread_spinlock, 5,i: 10,365,442 msg/sec pthread_spinlock, 6,s: 8,313,009 msg/sec pthread_spinlock, 6,i: 8,414,658 msg/sec pthread_spinlock, 7,s: 7,985,737 msg/sec pthread_spinlock, 7,i: 7,701,079 msg/sec pthread_spinlock, 8,s: 6,757,313 msg/sec pthread_spinlock, 8,i: 6,905,466 msg/sec std::mutex, 1,s: 6,968,923 msg/sec std::mutex, 1,i: 7,469,209 msg/sec std::mutex, 2,s: 6,112,465 msg/sec std::mutex, 2,i: 5,828,826 msg/sec std::mutex, 3,s: 6,041,748 msg/sec std::mutex, 3,i: 5,998,127 msg/sec std::mutex, 4,s: 6,194,069 msg/sec std::mutex, 4,i: 6,240,294 msg/sec std::mutex, 5,s: 5,937,740 msg/sec std::mutex, 5,i: 6,033,374 msg/sec std::mutex, 6,s: 5,884,503 msg/sec std::mutex, 6,i: 5,871,601 msg/sec std::mutex, 7,s: 5,789,991 msg/sec std::mutex, 7,i: 5,753,377 msg/sec std::mutex, 8,s: 5,657,031 msg/sec std::mutex, 8,i: 5,712,144 msg/sec tbb::spin_mutex, 1,s: 37,772,556 msg/sec tbb::spin_mutex, 1,i: 33,001,069 msg/sec tbb::spin_mutex, 2,s: 21,106,672 msg/sec tbb::spin_mutex, 2,i: 18,413,575 msg/sec tbb::spin_mutex, 3,s: 8,272,892 msg/sec tbb::spin_mutex, 3,i: 10,962,122 msg/sec tbb::spin_mutex, 4,s: 3,173,879 msg/sec tbb::spin_mutex, 4,i: 6,347,665 msg/sec tbb::spin_mutex, 5,s: 5,521,329 msg/sec tbb::spin_mutex, 5,i: 5,813,933 msg/sec tbb::spin_mutex, 6,s: 5,338,065 msg/sec tbb::spin_mutex, 6,i: 4,370,775 msg/sec tbb::spin_mutex, 7,s: 4,831,064 msg/sec tbb::spin_mutex, 7,i: 4,317,003 msg/sec tbb::spin_mutex, 8,s: 4,256,266 msg/sec tbb::spin_mutex, 8,i: 4,071,018 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,105,279 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,900,521 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,549,183 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,771,952 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,296,645 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,459,839 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,371,993 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,240,440 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,668,480 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,777,443 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,734,034 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,018,308 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,857,601 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,064,431 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,875,380 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,111,314 msg/sec xenium::michael_scott_queue, 1,s: 9,430,675 msg/sec xenium::michael_scott_queue, 1,i: 9,425,508 msg/sec xenium::michael_scott_queue, 2,s: 8,475,143 msg/sec xenium::michael_scott_queue, 2,i: 8,587,533 msg/sec xenium::michael_scott_queue, 3,s: 7,231,710 msg/sec xenium::michael_scott_queue, 3,i: 7,613,648 msg/sec xenium::michael_scott_queue, 4,s: 6,349,605 msg/sec xenium::michael_scott_queue, 4,i: 6,345,170 msg/sec xenium::michael_scott_queue, 5,s: 6,306,363 msg/sec xenium::michael_scott_queue, 5,i: 6,637,382 msg/sec xenium::michael_scott_queue, 6,s: 6,557,866 msg/sec xenium::michael_scott_queue, 6,i: 6,736,515 msg/sec xenium::michael_scott_queue, 7,s: 6,253,552 msg/sec xenium::michael_scott_queue, 7,i: 6,594,086 msg/sec xenium::michael_scott_queue, 8,s: 5,988,290 msg/sec xenium::michael_scott_queue, 8,i: 6,039,695 msg/sec xenium::ramalhete_queue, 1,s: 32,250,411 msg/sec xenium::ramalhete_queue, 1,i: 31,249,108 msg/sec xenium::ramalhete_queue, 2,s: 23,488,036 msg/sec xenium::ramalhete_queue, 2,i: 23,352,806 msg/sec xenium::ramalhete_queue, 3,s: 29,162,395 msg/sec xenium::ramalhete_queue, 3,i: 28,523,083 msg/sec xenium::ramalhete_queue, 4,s: 33,800,834 msg/sec xenium::ramalhete_queue, 4,i: 33,463,363 msg/sec xenium::ramalhete_queue, 5,s: 31,873,865 msg/sec xenium::ramalhete_queue, 5,i: 36,016,563 msg/sec xenium::ramalhete_queue, 6,s: 34,131,369 msg/sec xenium::ramalhete_queue, 6,i: 38,942,390 msg/sec xenium::ramalhete_queue, 7,s: 35,095,433 msg/sec xenium::ramalhete_queue, 7,i: 41,000,236 msg/sec xenium::ramalhete_queue, 8,s: 35,638,668 msg/sec xenium::ramalhete_queue, 8,i: 43,974,171 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,272,666 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,084,941 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,964,752 msg/sec xenium::vyukov_bounded_queue, 2,i: 23,977,581 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,649,325 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,942,603 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,550,937 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,285,823 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,801,098 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,399,794 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,955,923 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,271,118 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,192,150 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,330,569 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,395,805 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,296,256 msg/sec AtomicQueue, 1,s: 62,056,555 msg/sec AtomicQueue, 1,i: 57,074,613 msg/sec AtomicQueue, 2,s: 12,330,919 msg/sec AtomicQueue, 2,i: 11,814,827 msg/sec AtomicQueue, 3,s: 10,721,329 msg/sec AtomicQueue, 3,i: 9,976,984 msg/sec AtomicQueue, 4,s: 8,205,316 msg/sec AtomicQueue, 4,i: 8,203,490 msg/sec AtomicQueue, 5,s: 8,024,141 msg/sec AtomicQueue, 5,i: 8,106,197 msg/sec AtomicQueue, 6,s: 7,653,479 msg/sec AtomicQueue, 6,i: 7,591,363 msg/sec AtomicQueue, 7,s: 7,132,944 msg/sec AtomicQueue, 7,i: 7,987,665 msg/sec AtomicQueue, 8,s: 6,337,984 msg/sec AtomicQueue, 8,i: 7,438,831 msg/sec AtomicQueueB, 1,s: 43,909,925 msg/sec AtomicQueueB, 1,i: 43,017,041 msg/sec AtomicQueueB, 2,s: 11,956,367 msg/sec AtomicQueueB, 2,i: 11,492,872 msg/sec AtomicQueueB, 3,s: 11,045,691 msg/sec AtomicQueueB, 3,i: 10,155,968 msg/sec AtomicQueueB, 4,s: 8,092,423 msg/sec AtomicQueueB, 4,i: 8,070,434 msg/sec AtomicQueueB, 5,s: 7,631,157 msg/sec AtomicQueueB, 5,i: 7,745,248 msg/sec AtomicQueueB, 6,s: 7,393,405 msg/sec AtomicQueueB, 6,i: 7,591,855 msg/sec AtomicQueueB, 7,s: 6,935,721 msg/sec AtomicQueueB, 7,i: 7,755,228 msg/sec AtomicQueueB, 8,s: 6,300,336 msg/sec AtomicQueueB, 8,i: 7,153,554 msg/sec OptimistAtomicQueue, 1,s: 719,387,585 msg/sec OptimistAtomicQueue, 1,i: 514,165,847 msg/sec OptimistAtomicQueue, 2,s: 32,096,639 msg/sec OptimistAtomicQueue, 2,i: 32,180,328 msg/sec OptimistAtomicQueue, 3,s: 36,576,069 msg/sec OptimistAtomicQueue, 3,i: 37,419,434 msg/sec OptimistAtomicQueue, 4,s: 39,359,088 msg/sec OptimistAtomicQueue, 4,i: 39,343,633 msg/sec OptimistAtomicQueue, 5,s: 41,781,138 msg/sec OptimistAtomicQueue, 5,i: 46,247,327 msg/sec OptimistAtomicQueue, 6,s: 42,516,219 msg/sec OptimistAtomicQueue, 6,i: 49,766,427 msg/sec OptimistAtomicQueue, 7,s: 45,056,828 msg/sec OptimistAtomicQueue, 7,i: 49,440,624 msg/sec OptimistAtomicQueue, 8,s: 46,417,925 msg/sec OptimistAtomicQueue, 8,i: 48,376,351 msg/sec OptimistAtomicQueueB, 1,s: 77,864,714 msg/sec OptimistAtomicQueueB, 1,i: 76,478,826 msg/sec OptimistAtomicQueueB, 2,s: 32,222,335 msg/sec OptimistAtomicQueueB, 2,i: 32,321,055 msg/sec OptimistAtomicQueueB, 3,s: 36,231,355 msg/sec OptimistAtomicQueueB, 3,i: 36,975,132 msg/sec OptimistAtomicQueueB, 4,s: 38,712,879 msg/sec OptimistAtomicQueueB, 4,i: 38,562,107 msg/sec OptimistAtomicQueueB, 5,s: 41,268,583 msg/sec OptimistAtomicQueueB, 5,i: 45,283,547 msg/sec OptimistAtomicQueueB, 6,s: 41,225,129 msg/sec OptimistAtomicQueueB, 6,i: 49,060,981 msg/sec OptimistAtomicQueueB, 7,s: 41,823,289 msg/sec OptimistAtomicQueueB, 7,i: 51,504,097 msg/sec OptimistAtomicQueueB, 8,s: 44,534,783 msg/sec OptimistAtomicQueueB, 8,i: 47,605,885 msg/sec AtomicQueue2, 1,s: 22,898,051 msg/sec AtomicQueue2, 1,i: 22,844,600 msg/sec AtomicQueue2, 2,s: 11,863,176 msg/sec AtomicQueue2, 2,i: 11,403,835 msg/sec AtomicQueue2, 3,s: 9,419,167 msg/sec AtomicQueue2, 3,i: 9,386,780 msg/sec AtomicQueue2, 4,s: 8,091,926 msg/sec AtomicQueue2, 4,i: 8,113,427 msg/sec AtomicQueue2, 5,s: 7,934,140 msg/sec AtomicQueue2, 5,i: 7,945,325 msg/sec AtomicQueue2, 6,s: 7,651,528 msg/sec AtomicQueue2, 6,i: 7,510,399 msg/sec AtomicQueue2, 7,s: 7,185,607 msg/sec AtomicQueue2, 7,i: 7,883,256 msg/sec AtomicQueue2, 8,s: 6,385,517 msg/sec AtomicQueue2, 8,i: 7,363,828 msg/sec AtomicQueueB2, 1,s: 32,698,703 msg/sec AtomicQueueB2, 1,i: 32,622,750 msg/sec AtomicQueueB2, 2,s: 11,392,675 msg/sec AtomicQueueB2, 2,i: 11,144,460 msg/sec AtomicQueueB2, 3,s: 9,613,143 msg/sec AtomicQueueB2, 3,i: 9,580,494 msg/sec AtomicQueueB2, 4,s: 7,895,774 msg/sec AtomicQueueB2, 4,i: 7,865,672 msg/sec AtomicQueueB2, 5,s: 7,518,739 msg/sec AtomicQueueB2, 5,i: 7,696,837 msg/sec AtomicQueueB2, 6,s: 7,081,601 msg/sec AtomicQueueB2, 6,i: 7,426,868 msg/sec AtomicQueueB2, 7,s: 6,886,419 msg/sec AtomicQueueB2, 7,i: 7,720,363 msg/sec AtomicQueueB2, 8,s: 6,356,126 msg/sec AtomicQueueB2, 8,i: 7,103,443 msg/sec OptimistAtomicQueue2, 1,s: 504,127,671 msg/sec OptimistAtomicQueue2, 1,i: 124,223,243 msg/sec OptimistAtomicQueue2, 2,s: 26,485,176 msg/sec OptimistAtomicQueue2, 2,i: 24,411,104 msg/sec OptimistAtomicQueue2, 3,s: 30,770,493 msg/sec OptimistAtomicQueue2, 3,i: 29,964,425 msg/sec OptimistAtomicQueue2, 4,s: 33,305,098 msg/sec OptimistAtomicQueue2, 4,i: 33,226,476 msg/sec OptimistAtomicQueue2, 5,s: 37,135,888 msg/sec OptimistAtomicQueue2, 5,i: 40,996,361 msg/sec OptimistAtomicQueue2, 6,s: 40,223,783 msg/sec OptimistAtomicQueue2, 6,i: 49,213,837 msg/sec OptimistAtomicQueue2, 7,s: 42,535,996 msg/sec OptimistAtomicQueue2, 7,i: 48,216,822 msg/sec OptimistAtomicQueue2, 8,s: 43,790,483 msg/sec OptimistAtomicQueue2, 8,i: 48,688,436 msg/sec OptimistAtomicQueueB2, 1,s: 78,586,784 msg/sec OptimistAtomicQueueB2, 1,i: 65,148,974 msg/sec OptimistAtomicQueueB2, 2,s: 26,847,258 msg/sec OptimistAtomicQueueB2, 2,i: 23,051,841 msg/sec OptimistAtomicQueueB2, 3,s: 29,743,074 msg/sec OptimistAtomicQueueB2, 3,i: 29,078,447 msg/sec OptimistAtomicQueueB2, 4,s: 33,207,592 msg/sec OptimistAtomicQueueB2, 4,i: 32,914,185 msg/sec OptimistAtomicQueueB2, 5,s: 34,443,676 msg/sec OptimistAtomicQueueB2, 5,i: 39,462,066 msg/sec OptimistAtomicQueueB2, 6,s: 37,670,456 msg/sec OptimistAtomicQueueB2, 6,i: 42,401,396 msg/sec OptimistAtomicQueueB2, 7,s: 40,084,114 msg/sec OptimistAtomicQueueB2, 7,i: 43,114,908 msg/sec OptimistAtomicQueueB2, 8,s: 41,803,203 msg/sec OptimistAtomicQueueB2, 8,i: 45,224,925 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000333 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000246 sec/round-trip pthread_spinlock: 0.000000243 sec/round-trip std::mutex: 0.000000519 sec/round-trip tbb::spin_mutex: 0.000000293 sec/round-trip tbb::concurrent_bounded_queue: 0.000000297 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [224] 185m:44s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,084,010 msg/sec boost::lockfree::spsc_queue, 1,i: 70,430,041 msg/sec boost::lockfree::queue, 1,s: 6,934,959 msg/sec boost::lockfree::queue, 1,i: 6,859,155 msg/sec boost::lockfree::queue, 2,s: 7,670,140 msg/sec boost::lockfree::queue, 2,i: 7,441,553 msg/sec boost::lockfree::queue, 3,s: 7,421,733 msg/sec boost::lockfree::queue, 3,i: 7,615,846 msg/sec boost::lockfree::queue, 4,s: 6,420,933 msg/sec boost::lockfree::queue, 4,i: 6,768,989 msg/sec boost::lockfree::queue, 5,s: 6,434,199 msg/sec boost::lockfree::queue, 5,i: 6,447,264 msg/sec boost::lockfree::queue, 6,s: 5,984,125 msg/sec boost::lockfree::queue, 6,i: 6,107,744 msg/sec boost::lockfree::queue, 7,s: 6,008,180 msg/sec boost::lockfree::queue, 7,i: 5,978,893 msg/sec boost::lockfree::queue, 8,s: 5,492,087 msg/sec boost::lockfree::queue, 8,i: 5,589,915 msg/sec moodycamel::ReaderWriterQueue, 1,s: 509,623,604 msg/sec moodycamel::ReaderWriterQueue, 1,i: 508,400,491 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,104,952 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,218,661 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,677,106 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,139,391 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,248,298 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,485,600 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,445,246 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,881,262 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,328,505 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,663,701 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,250,186 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,302,748 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,307,517 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,089,336 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,287,364 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,720,859 msg/sec pthread_spinlock, 1,s: 28,839,470 msg/sec pthread_spinlock, 1,i: 25,340,867 msg/sec pthread_spinlock, 2,s: 15,810,403 msg/sec pthread_spinlock, 2,i: 17,057,188 msg/sec pthread_spinlock, 3,s: 8,279,178 msg/sec pthread_spinlock, 3,i: 12,004,734 msg/sec pthread_spinlock, 4,s: 6,545,848 msg/sec pthread_spinlock, 4,i: 9,235,544 msg/sec pthread_spinlock, 5,s: 8,741,284 msg/sec pthread_spinlock, 5,i: 9,587,145 msg/sec pthread_spinlock, 6,s: 8,318,203 msg/sec pthread_spinlock, 6,i: 8,363,108 msg/sec pthread_spinlock, 7,s: 7,706,954 msg/sec pthread_spinlock, 7,i: 8,069,865 msg/sec pthread_spinlock, 8,s: 6,675,006 msg/sec pthread_spinlock, 8,i: 6,886,684 msg/sec std::mutex, 1,s: 6,964,929 msg/sec std::mutex, 1,i: 7,018,879 msg/sec std::mutex, 2,s: 5,293,332 msg/sec std::mutex, 2,i: 5,640,797 msg/sec std::mutex, 3,s: 5,166,027 msg/sec std::mutex, 3,i: 5,203,357 msg/sec std::mutex, 4,s: 6,264,142 msg/sec std::mutex, 4,i: 6,338,354 msg/sec std::mutex, 5,s: 6,121,458 msg/sec std::mutex, 5,i: 5,665,001 msg/sec std::mutex, 6,s: 6,023,004 msg/sec std::mutex, 6,i: 6,067,146 msg/sec std::mutex, 7,s: 5,918,030 msg/sec std::mutex, 7,i: 5,951,047 msg/sec std::mutex, 8,s: 5,754,304 msg/sec std::mutex, 8,i: 5,794,811 msg/sec tbb::spin_mutex, 1,s: 37,785,514 msg/sec tbb::spin_mutex, 1,i: 33,183,221 msg/sec tbb::spin_mutex, 2,s: 21,136,908 msg/sec tbb::spin_mutex, 2,i: 18,159,580 msg/sec tbb::spin_mutex, 3,s: 8,145,352 msg/sec tbb::spin_mutex, 3,i: 10,318,220 msg/sec tbb::spin_mutex, 4,s: 3,133,193 msg/sec tbb::spin_mutex, 4,i: 6,357,168 msg/sec tbb::spin_mutex, 5,s: 5,459,476 msg/sec tbb::spin_mutex, 5,i: 5,512,464 msg/sec tbb::spin_mutex, 6,s: 5,316,920 msg/sec tbb::spin_mutex, 6,i: 4,304,070 msg/sec tbb::spin_mutex, 7,s: 4,854,823 msg/sec tbb::spin_mutex, 7,i: 4,315,168 msg/sec tbb::spin_mutex, 8,s: 4,262,114 msg/sec tbb::spin_mutex, 8,i: 4,160,450 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,345,177 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,878,147 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,042,638 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,860,149 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,347,393 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,530,757 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,145,769 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,549,100 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,614,557 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,581,577 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,712,773 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,691,959 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,870,104 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,737,034 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,076,501 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,086,756 msg/sec xenium::michael_scott_queue, 1,s: 9,541,854 msg/sec xenium::michael_scott_queue, 1,i: 9,485,590 msg/sec xenium::michael_scott_queue, 2,s: 8,470,483 msg/sec xenium::michael_scott_queue, 2,i: 8,611,989 msg/sec xenium::michael_scott_queue, 3,s: 7,234,075 msg/sec xenium::michael_scott_queue, 3,i: 7,520,818 msg/sec xenium::michael_scott_queue, 4,s: 6,313,143 msg/sec xenium::michael_scott_queue, 4,i: 6,318,779 msg/sec xenium::michael_scott_queue, 5,s: 6,258,645 msg/sec xenium::michael_scott_queue, 5,i: 6,777,680 msg/sec xenium::michael_scott_queue, 6,s: 6,503,835 msg/sec xenium::michael_scott_queue, 6,i: 6,844,223 msg/sec xenium::michael_scott_queue, 7,s: 6,307,982 msg/sec xenium::michael_scott_queue, 7,i: 6,638,027 msg/sec xenium::michael_scott_queue, 8,s: 5,964,639 msg/sec xenium::michael_scott_queue, 8,i: 6,073,064 msg/sec xenium::ramalhete_queue, 1,s: 31,068,278 msg/sec xenium::ramalhete_queue, 1,i: 31,381,152 msg/sec xenium::ramalhete_queue, 2,s: 23,433,573 msg/sec xenium::ramalhete_queue, 2,i: 23,297,302 msg/sec xenium::ramalhete_queue, 3,s: 29,087,821 msg/sec xenium::ramalhete_queue, 3,i: 28,414,077 msg/sec xenium::ramalhete_queue, 4,s: 33,805,847 msg/sec xenium::ramalhete_queue, 4,i: 33,530,054 msg/sec xenium::ramalhete_queue, 5,s: 32,159,880 msg/sec xenium::ramalhete_queue, 5,i: 38,312,519 msg/sec xenium::ramalhete_queue, 6,s: 33,889,400 msg/sec xenium::ramalhete_queue, 6,i: 40,113,558 msg/sec xenium::ramalhete_queue, 7,s: 35,176,296 msg/sec xenium::ramalhete_queue, 7,i: 41,550,883 msg/sec xenium::ramalhete_queue, 8,s: 35,543,521 msg/sec xenium::ramalhete_queue, 8,i: 44,101,580 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,696,458 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,844,431 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,944,459 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,992,534 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,479,726 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,796,681 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,542,158 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,054,358 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,035,803 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,304,526 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,223,174 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,402,943 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,197,662 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,057,032 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,368,773 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,199,779 msg/sec AtomicQueue, 1,s: 57,490,168 msg/sec AtomicQueue, 1,i: 57,158,874 msg/sec AtomicQueue, 2,s: 12,282,265 msg/sec AtomicQueue, 2,i: 11,735,391 msg/sec AtomicQueue, 3,s: 10,822,790 msg/sec AtomicQueue, 3,i: 9,976,679 msg/sec AtomicQueue, 4,s: 8,206,430 msg/sec AtomicQueue, 4,i: 8,206,004 msg/sec AtomicQueue, 5,s: 8,017,981 msg/sec AtomicQueue, 5,i: 8,064,399 msg/sec AtomicQueue, 6,s: 7,847,202 msg/sec AtomicQueue, 6,i: 7,605,505 msg/sec AtomicQueue, 7,s: 7,187,633 msg/sec AtomicQueue, 7,i: 7,975,744 msg/sec AtomicQueue, 8,s: 6,344,505 msg/sec AtomicQueue, 8,i: 7,403,885 msg/sec AtomicQueueB, 1,s: 58,378,060 msg/sec AtomicQueueB, 1,i: 57,295,268 msg/sec AtomicQueueB, 2,s: 11,892,140 msg/sec AtomicQueueB, 2,i: 11,432,651 msg/sec AtomicQueueB, 3,s: 11,014,657 msg/sec AtomicQueueB, 3,i: 10,117,646 msg/sec AtomicQueueB, 4,s: 8,023,639 msg/sec AtomicQueueB, 4,i: 7,968,977 msg/sec AtomicQueueB, 5,s: 7,493,203 msg/sec AtomicQueueB, 5,i: 7,835,785 msg/sec AtomicQueueB, 6,s: 7,309,916 msg/sec AtomicQueueB, 6,i: 7,540,620 msg/sec AtomicQueueB, 7,s: 6,858,473 msg/sec AtomicQueueB, 7,i: 7,730,364 msg/sec AtomicQueueB, 8,s: 6,240,132 msg/sec AtomicQueueB, 8,i: 7,171,369 msg/sec OptimistAtomicQueue, 1,s: 760,160,735 msg/sec OptimistAtomicQueue, 1,i: 790,009,695 msg/sec OptimistAtomicQueue, 2,s: 32,666,008 msg/sec OptimistAtomicQueue, 2,i: 32,719,422 msg/sec OptimistAtomicQueue, 3,s: 36,662,662 msg/sec OptimistAtomicQueue, 3,i: 37,373,693 msg/sec OptimistAtomicQueue, 4,s: 39,299,301 msg/sec OptimistAtomicQueue, 4,i: 39,380,123 msg/sec OptimistAtomicQueue, 5,s: 42,305,788 msg/sec OptimistAtomicQueue, 5,i: 46,348,949 msg/sec OptimistAtomicQueue, 6,s: 42,233,458 msg/sec OptimistAtomicQueue, 6,i: 50,442,939 msg/sec OptimistAtomicQueue, 7,s: 43,978,028 msg/sec OptimistAtomicQueue, 7,i: 49,338,379 msg/sec OptimistAtomicQueue, 8,s: 46,374,343 msg/sec OptimistAtomicQueue, 8,i: 49,568,864 msg/sec OptimistAtomicQueueB, 1,s: 120,409,120 msg/sec OptimistAtomicQueueB, 1,i: 125,770,371 msg/sec OptimistAtomicQueueB, 2,s: 32,118,904 msg/sec OptimistAtomicQueueB, 2,i: 32,242,864 msg/sec OptimistAtomicQueueB, 3,s: 36,286,912 msg/sec OptimistAtomicQueueB, 3,i: 36,955,549 msg/sec OptimistAtomicQueueB, 4,s: 38,800,558 msg/sec OptimistAtomicQueueB, 4,i: 38,565,554 msg/sec OptimistAtomicQueueB, 5,s: 40,388,476 msg/sec OptimistAtomicQueueB, 5,i: 45,982,462 msg/sec OptimistAtomicQueueB, 6,s: 40,777,010 msg/sec OptimistAtomicQueueB, 6,i: 48,984,488 msg/sec OptimistAtomicQueueB, 7,s: 41,727,254 msg/sec OptimistAtomicQueueB, 7,i: 51,499,223 msg/sec OptimistAtomicQueueB, 8,s: 44,317,482 msg/sec OptimistAtomicQueueB, 8,i: 47,955,308 msg/sec AtomicQueue2, 1,s: 22,877,602 msg/sec AtomicQueue2, 1,i: 23,300,737 msg/sec AtomicQueue2, 2,s: 11,923,034 msg/sec AtomicQueue2, 2,i: 11,519,007 msg/sec AtomicQueue2, 3,s: 9,322,718 msg/sec AtomicQueue2, 3,i: 9,467,654 msg/sec AtomicQueue2, 4,s: 8,047,583 msg/sec AtomicQueue2, 4,i: 8,091,672 msg/sec AtomicQueue2, 5,s: 7,957,046 msg/sec AtomicQueue2, 5,i: 8,019,427 msg/sec AtomicQueue2, 6,s: 7,903,705 msg/sec AtomicQueue2, 6,i: 7,540,239 msg/sec AtomicQueue2, 7,s: 7,010,519 msg/sec AtomicQueue2, 7,i: 7,893,789 msg/sec AtomicQueue2, 8,s: 6,394,742 msg/sec AtomicQueue2, 8,i: 7,247,808 msg/sec AtomicQueueB2, 1,s: 38,481,645 msg/sec AtomicQueueB2, 1,i: 33,461,501 msg/sec AtomicQueueB2, 2,s: 11,386,260 msg/sec AtomicQueueB2, 2,i: 11,154,438 msg/sec AtomicQueueB2, 3,s: 9,620,767 msg/sec AtomicQueueB2, 3,i: 9,615,797 msg/sec AtomicQueueB2, 4,s: 7,940,960 msg/sec AtomicQueueB2, 4,i: 7,911,875 msg/sec AtomicQueueB2, 5,s: 7,527,728 msg/sec AtomicQueueB2, 5,i: 7,731,921 msg/sec AtomicQueueB2, 6,s: 7,228,571 msg/sec AtomicQueueB2, 6,i: 7,428,371 msg/sec AtomicQueueB2, 7,s: 6,845,600 msg/sec AtomicQueueB2, 7,i: 7,724,809 msg/sec AtomicQueueB2, 8,s: 6,312,751 msg/sec AtomicQueueB2, 8,i: 7,120,221 msg/sec OptimistAtomicQueue2, 1,s: 364,404,727 msg/sec OptimistAtomicQueue2, 1,i: 29,930,586 msg/sec OptimistAtomicQueue2, 2,s: 22,617,089 msg/sec OptimistAtomicQueue2, 2,i: 23,574,266 msg/sec OptimistAtomicQueue2, 3,s: 30,488,544 msg/sec OptimistAtomicQueue2, 3,i: 29,943,973 msg/sec OptimistAtomicQueue2, 4,s: 33,330,527 msg/sec OptimistAtomicQueue2, 4,i: 33,009,510 msg/sec OptimistAtomicQueue2, 5,s: 37,221,977 msg/sec OptimistAtomicQueue2, 5,i: 40,754,551 msg/sec OptimistAtomicQueue2, 6,s: 40,100,143 msg/sec OptimistAtomicQueue2, 6,i: 49,414,760 msg/sec OptimistAtomicQueue2, 7,s: 43,271,098 msg/sec OptimistAtomicQueue2, 7,i: 48,282,502 msg/sec OptimistAtomicQueue2, 8,s: 43,840,152 msg/sec OptimistAtomicQueue2, 8,i: 48,788,612 msg/sec OptimistAtomicQueueB2, 1,s: 98,066,888 msg/sec OptimistAtomicQueueB2, 1,i: 33,858,280 msg/sec OptimistAtomicQueueB2, 2,s: 26,818,891 msg/sec OptimistAtomicQueueB2, 2,i: 23,121,154 msg/sec OptimistAtomicQueueB2, 3,s: 29,748,875 msg/sec OptimistAtomicQueueB2, 3,i: 28,979,997 msg/sec OptimistAtomicQueueB2, 4,s: 32,878,736 msg/sec OptimistAtomicQueueB2, 4,i: 32,570,626 msg/sec OptimistAtomicQueueB2, 5,s: 34,558,991 msg/sec OptimistAtomicQueueB2, 5,i: 39,333,253 msg/sec OptimistAtomicQueueB2, 6,s: 37,167,509 msg/sec OptimistAtomicQueueB2, 6,i: 42,476,085 msg/sec OptimistAtomicQueueB2, 7,s: 40,101,278 msg/sec OptimistAtomicQueueB2, 7,i: 43,208,118 msg/sec OptimistAtomicQueueB2, 8,s: 42,620,665 msg/sec OptimistAtomicQueueB2, 8,i: 46,291,729 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000130 sec/round-trip moodycamel::ConcurrentQueue: 0.000000215 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [225] 184m:25s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,729,237 msg/sec boost::lockfree::spsc_queue, 1,i: 70,423,067 msg/sec boost::lockfree::queue, 1,s: 6,961,153 msg/sec boost::lockfree::queue, 1,i: 6,921,532 msg/sec boost::lockfree::queue, 2,s: 7,629,886 msg/sec boost::lockfree::queue, 2,i: 7,605,687 msg/sec boost::lockfree::queue, 3,s: 7,405,618 msg/sec boost::lockfree::queue, 3,i: 7,541,388 msg/sec boost::lockfree::queue, 4,s: 6,425,763 msg/sec boost::lockfree::queue, 4,i: 6,761,350 msg/sec boost::lockfree::queue, 5,s: 6,445,088 msg/sec boost::lockfree::queue, 5,i: 6,521,576 msg/sec boost::lockfree::queue, 6,s: 5,960,885 msg/sec boost::lockfree::queue, 6,i: 6,109,537 msg/sec boost::lockfree::queue, 7,s: 5,788,992 msg/sec boost::lockfree::queue, 7,i: 6,094,293 msg/sec boost::lockfree::queue, 8,s: 5,459,161 msg/sec boost::lockfree::queue, 8,i: 5,576,662 msg/sec moodycamel::ReaderWriterQueue, 1,s: 104,574,157 msg/sec moodycamel::ReaderWriterQueue, 1,i: 94,426,622 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,175,829 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,580,544 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,984,820 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,075,688 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,693,306 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,916,844 msg/sec moodycamel::ConcurrentQueue, 4,s: 41,872,267 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,946,519 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,316,961 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,792,324 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,469,537 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,059,867 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,051,580 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,733,587 msg/sec moodycamel::ConcurrentQueue, 8,s: 31,482,250 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,598,451 msg/sec pthread_spinlock, 1,s: 29,044,745 msg/sec pthread_spinlock, 1,i: 25,435,819 msg/sec pthread_spinlock, 2,s: 15,620,653 msg/sec pthread_spinlock, 2,i: 16,937,329 msg/sec pthread_spinlock, 3,s: 8,358,717 msg/sec pthread_spinlock, 3,i: 12,075,540 msg/sec pthread_spinlock, 4,s: 6,519,817 msg/sec pthread_spinlock, 4,i: 8,990,407 msg/sec pthread_spinlock, 5,s: 8,549,260 msg/sec pthread_spinlock, 5,i: 9,493,992 msg/sec pthread_spinlock, 6,s: 8,530,552 msg/sec pthread_spinlock, 6,i: 8,373,859 msg/sec pthread_spinlock, 7,s: 7,868,972 msg/sec pthread_spinlock, 7,i: 7,655,697 msg/sec pthread_spinlock, 8,s: 6,639,960 msg/sec pthread_spinlock, 8,i: 6,852,072 msg/sec std::mutex, 1,s: 5,904,995 msg/sec std::mutex, 1,i: 6,129,070 msg/sec std::mutex, 2,s: 5,397,094 msg/sec std::mutex, 2,i: 5,391,232 msg/sec std::mutex, 3,s: 6,011,607 msg/sec std::mutex, 3,i: 6,138,556 msg/sec std::mutex, 4,s: 6,201,118 msg/sec std::mutex, 4,i: 6,269,157 msg/sec std::mutex, 5,s: 5,994,504 msg/sec std::mutex, 5,i: 5,777,319 msg/sec std::mutex, 6,s: 5,636,683 msg/sec std::mutex, 6,i: 5,951,422 msg/sec std::mutex, 7,s: 5,871,755 msg/sec std::mutex, 7,i: 5,852,610 msg/sec std::mutex, 8,s: 5,707,441 msg/sec std::mutex, 8,i: 5,681,294 msg/sec tbb::spin_mutex, 1,s: 37,676,478 msg/sec tbb::spin_mutex, 1,i: 32,876,253 msg/sec tbb::spin_mutex, 2,s: 21,077,535 msg/sec tbb::spin_mutex, 2,i: 18,278,798 msg/sec tbb::spin_mutex, 3,s: 8,109,374 msg/sec tbb::spin_mutex, 3,i: 10,289,119 msg/sec tbb::spin_mutex, 4,s: 3,099,291 msg/sec tbb::spin_mutex, 4,i: 6,345,560 msg/sec tbb::spin_mutex, 5,s: 5,618,219 msg/sec tbb::spin_mutex, 5,i: 5,859,707 msg/sec tbb::spin_mutex, 6,s: 5,405,516 msg/sec tbb::spin_mutex, 6,i: 4,343,699 msg/sec tbb::spin_mutex, 7,s: 4,866,704 msg/sec tbb::spin_mutex, 7,i: 4,359,272 msg/sec tbb::spin_mutex, 8,s: 4,255,393 msg/sec tbb::spin_mutex, 8,i: 4,144,461 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,242,844 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,248,756 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,864,861 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,953,701 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,302,605 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,546,343 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,140,139 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,537,308 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,642,331 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,609,962 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,743,198 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,652,726 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,822,379 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,730,780 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,107,474 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,079,586 msg/sec xenium::michael_scott_queue, 1,s: 9,601,524 msg/sec xenium::michael_scott_queue, 1,i: 9,609,997 msg/sec xenium::michael_scott_queue, 2,s: 8,419,770 msg/sec xenium::michael_scott_queue, 2,i: 8,397,656 msg/sec xenium::michael_scott_queue, 3,s: 7,174,299 msg/sec xenium::michael_scott_queue, 3,i: 7,552,446 msg/sec xenium::michael_scott_queue, 4,s: 6,310,888 msg/sec xenium::michael_scott_queue, 4,i: 6,466,602 msg/sec xenium::michael_scott_queue, 5,s: 6,337,177 msg/sec xenium::michael_scott_queue, 5,i: 6,733,776 msg/sec xenium::michael_scott_queue, 6,s: 6,483,777 msg/sec xenium::michael_scott_queue, 6,i: 6,972,664 msg/sec xenium::michael_scott_queue, 7,s: 6,335,272 msg/sec xenium::michael_scott_queue, 7,i: 6,495,951 msg/sec xenium::michael_scott_queue, 8,s: 5,951,006 msg/sec xenium::michael_scott_queue, 8,i: 6,090,002 msg/sec xenium::ramalhete_queue, 1,s: 32,352,093 msg/sec xenium::ramalhete_queue, 1,i: 32,483,202 msg/sec xenium::ramalhete_queue, 2,s: 23,696,040 msg/sec xenium::ramalhete_queue, 2,i: 23,426,143 msg/sec xenium::ramalhete_queue, 3,s: 29,144,680 msg/sec xenium::ramalhete_queue, 3,i: 28,690,681 msg/sec xenium::ramalhete_queue, 4,s: 33,805,753 msg/sec xenium::ramalhete_queue, 4,i: 33,565,518 msg/sec xenium::ramalhete_queue, 5,s: 32,208,445 msg/sec xenium::ramalhete_queue, 5,i: 36,076,058 msg/sec xenium::ramalhete_queue, 6,s: 34,241,117 msg/sec xenium::ramalhete_queue, 6,i: 39,062,060 msg/sec xenium::ramalhete_queue, 7,s: 35,245,397 msg/sec xenium::ramalhete_queue, 7,i: 40,940,666 msg/sec xenium::ramalhete_queue, 8,s: 35,490,469 msg/sec xenium::ramalhete_queue, 8,i: 43,602,582 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,363,960 msg/sec xenium::vyukov_bounded_queue, 1,i: 110,674,766 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,920,150 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,014,618 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,428,368 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,538,578 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,548,954 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,466,681 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,875,580 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,220,611 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,150,100 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,396,808 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,235,226 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,111,597 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,460 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,308,697 msg/sec AtomicQueue, 1,s: 197,546,453 msg/sec AtomicQueue, 1,i: 284,919,421 msg/sec AtomicQueue, 2,s: 12,226,935 msg/sec AtomicQueue, 2,i: 11,718,878 msg/sec AtomicQueue, 3,s: 10,777,841 msg/sec AtomicQueue, 3,i: 10,004,876 msg/sec AtomicQueue, 4,s: 8,150,066 msg/sec AtomicQueue, 4,i: 8,181,126 msg/sec AtomicQueue, 5,s: 8,037,859 msg/sec AtomicQueue, 5,i: 8,084,248 msg/sec AtomicQueue, 6,s: 7,860,884 msg/sec AtomicQueue, 6,i: 7,612,288 msg/sec AtomicQueue, 7,s: 7,130,636 msg/sec AtomicQueue, 7,i: 7,988,482 msg/sec AtomicQueue, 8,s: 6,369,858 msg/sec AtomicQueue, 8,i: 7,457,406 msg/sec AtomicQueueB, 1,s: 43,972,306 msg/sec AtomicQueueB, 1,i: 43,175,421 msg/sec AtomicQueueB, 2,s: 11,934,783 msg/sec AtomicQueueB, 2,i: 11,508,584 msg/sec AtomicQueueB, 3,s: 10,974,529 msg/sec AtomicQueueB, 3,i: 9,986,937 msg/sec AtomicQueueB, 4,s: 8,071,044 msg/sec AtomicQueueB, 4,i: 8,062,889 msg/sec AtomicQueueB, 5,s: 7,600,996 msg/sec AtomicQueueB, 5,i: 7,863,505 msg/sec AtomicQueueB, 6,s: 7,317,727 msg/sec AtomicQueueB, 6,i: 7,534,293 msg/sec AtomicQueueB, 7,s: 6,865,270 msg/sec AtomicQueueB, 7,i: 7,746,311 msg/sec AtomicQueueB, 8,s: 6,308,776 msg/sec AtomicQueueB, 8,i: 7,011,590 msg/sec OptimistAtomicQueue, 1,s: 723,781,599 msg/sec OptimistAtomicQueue, 1,i: 525,775,002 msg/sec OptimistAtomicQueue, 2,s: 32,208,367 msg/sec OptimistAtomicQueue, 2,i: 32,255,042 msg/sec OptimistAtomicQueue, 3,s: 36,621,967 msg/sec OptimistAtomicQueue, 3,i: 37,404,927 msg/sec OptimistAtomicQueue, 4,s: 39,284,301 msg/sec OptimistAtomicQueue, 4,i: 39,330,944 msg/sec OptimistAtomicQueue, 5,s: 39,900,888 msg/sec OptimistAtomicQueue, 5,i: 46,390,269 msg/sec OptimistAtomicQueue, 6,s: 41,989,294 msg/sec OptimistAtomicQueue, 6,i: 50,237,347 msg/sec OptimistAtomicQueue, 7,s: 44,864,688 msg/sec OptimistAtomicQueue, 7,i: 48,639,655 msg/sec OptimistAtomicQueue, 8,s: 46,324,352 msg/sec OptimistAtomicQueue, 8,i: 49,368,226 msg/sec OptimistAtomicQueueB, 1,s: 126,226,587 msg/sec OptimistAtomicQueueB, 1,i: 76,340,408 msg/sec OptimistAtomicQueueB, 2,s: 32,185,290 msg/sec OptimistAtomicQueueB, 2,i: 32,194,364 msg/sec OptimistAtomicQueueB, 3,s: 36,226,506 msg/sec OptimistAtomicQueueB, 3,i: 36,782,044 msg/sec OptimistAtomicQueueB, 4,s: 38,671,841 msg/sec OptimistAtomicQueueB, 4,i: 38,633,002 msg/sec OptimistAtomicQueueB, 5,s: 40,890,052 msg/sec OptimistAtomicQueueB, 5,i: 45,271,286 msg/sec OptimistAtomicQueueB, 6,s: 40,964,089 msg/sec OptimistAtomicQueueB, 6,i: 48,977,468 msg/sec OptimistAtomicQueueB, 7,s: 42,347,928 msg/sec OptimistAtomicQueueB, 7,i: 50,886,876 msg/sec OptimistAtomicQueueB, 8,s: 44,377,129 msg/sec OptimistAtomicQueueB, 8,i: 47,631,857 msg/sec AtomicQueue2, 1,s: 22,912,990 msg/sec AtomicQueue2, 1,i: 22,874,939 msg/sec AtomicQueue2, 2,s: 11,807,380 msg/sec AtomicQueue2, 2,i: 11,398,584 msg/sec AtomicQueue2, 3,s: 9,590,386 msg/sec AtomicQueue2, 3,i: 9,452,808 msg/sec AtomicQueue2, 4,s: 8,032,830 msg/sec AtomicQueue2, 4,i: 8,096,092 msg/sec AtomicQueue2, 5,s: 7,913,203 msg/sec AtomicQueue2, 5,i: 7,996,361 msg/sec AtomicQueue2, 6,s: 7,822,589 msg/sec AtomicQueue2, 6,i: 7,521,052 msg/sec AtomicQueue2, 7,s: 7,100,425 msg/sec AtomicQueue2, 7,i: 7,895,037 msg/sec AtomicQueue2, 8,s: 6,395,449 msg/sec AtomicQueue2, 8,i: 7,355,664 msg/sec AtomicQueueB2, 1,s: 36,264,693 msg/sec AtomicQueueB2, 1,i: 33,721,624 msg/sec AtomicQueueB2, 2,s: 11,553,820 msg/sec AtomicQueueB2, 2,i: 11,135,035 msg/sec AtomicQueueB2, 3,s: 9,744,431 msg/sec AtomicQueueB2, 3,i: 9,546,377 msg/sec AtomicQueueB2, 4,s: 7,943,839 msg/sec AtomicQueueB2, 4,i: 7,780,230 msg/sec AtomicQueueB2, 5,s: 7,493,334 msg/sec AtomicQueueB2, 5,i: 7,706,052 msg/sec AtomicQueueB2, 6,s: 7,179,377 msg/sec AtomicQueueB2, 6,i: 7,493,248 msg/sec AtomicQueueB2, 7,s: 6,914,878 msg/sec AtomicQueueB2, 7,i: 7,693,947 msg/sec AtomicQueueB2, 8,s: 6,293,580 msg/sec AtomicQueueB2, 8,i: 7,108,601 msg/sec OptimistAtomicQueue2, 1,s: 462,699,481 msg/sec OptimistAtomicQueue2, 1,i: 461,032,761 msg/sec OptimistAtomicQueue2, 2,s: 25,255,328 msg/sec OptimistAtomicQueue2, 2,i: 25,570,048 msg/sec OptimistAtomicQueue2, 3,s: 30,321,457 msg/sec OptimistAtomicQueue2, 3,i: 30,061,539 msg/sec OptimistAtomicQueue2, 4,s: 33,939,993 msg/sec OptimistAtomicQueue2, 4,i: 33,261,138 msg/sec OptimistAtomicQueue2, 5,s: 37,085,977 msg/sec OptimistAtomicQueue2, 5,i: 41,388,716 msg/sec OptimistAtomicQueue2, 6,s: 40,192,194 msg/sec OptimistAtomicQueue2, 6,i: 49,296,994 msg/sec OptimistAtomicQueue2, 7,s: 42,664,975 msg/sec OptimistAtomicQueue2, 7,i: 48,185,842 msg/sec OptimistAtomicQueue2, 8,s: 43,905,388 msg/sec OptimistAtomicQueue2, 8,i: 48,473,466 msg/sec OptimistAtomicQueueB2, 1,s: 77,796,115 msg/sec OptimistAtomicQueueB2, 1,i: 33,921,575 msg/sec OptimistAtomicQueueB2, 2,s: 27,226,896 msg/sec OptimistAtomicQueueB2, 2,i: 24,971,758 msg/sec OptimistAtomicQueueB2, 3,s: 29,697,168 msg/sec OptimistAtomicQueueB2, 3,i: 30,413,527 msg/sec OptimistAtomicQueueB2, 4,s: 33,236,256 msg/sec OptimistAtomicQueueB2, 4,i: 32,149,012 msg/sec OptimistAtomicQueueB2, 5,s: 34,268,336 msg/sec OptimistAtomicQueueB2, 5,i: 39,064,448 msg/sec OptimistAtomicQueueB2, 6,s: 37,694,580 msg/sec OptimistAtomicQueueB2, 6,i: 41,957,488 msg/sec OptimistAtomicQueueB2, 7,s: 40,119,554 msg/sec OptimistAtomicQueueB2, 7,i: 43,119,436 msg/sec OptimistAtomicQueueB2, 8,s: 42,213,048 msg/sec OptimistAtomicQueueB2, 8,i: 45,575,988 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000280 sec/round-trip std::mutex: 0.000000443 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000304 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [226] 183m:6s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,747,642 msg/sec boost::lockfree::spsc_queue, 1,i: 71,809,920 msg/sec boost::lockfree::queue, 1,s: 6,994,650 msg/sec boost::lockfree::queue, 1,i: 6,875,705 msg/sec boost::lockfree::queue, 2,s: 7,618,317 msg/sec boost::lockfree::queue, 2,i: 7,442,625 msg/sec boost::lockfree::queue, 3,s: 7,381,670 msg/sec boost::lockfree::queue, 3,i: 7,626,453 msg/sec boost::lockfree::queue, 4,s: 6,420,427 msg/sec boost::lockfree::queue, 4,i: 6,791,687 msg/sec boost::lockfree::queue, 5,s: 6,443,494 msg/sec boost::lockfree::queue, 5,i: 6,463,762 msg/sec boost::lockfree::queue, 6,s: 5,976,720 msg/sec boost::lockfree::queue, 6,i: 6,140,080 msg/sec boost::lockfree::queue, 7,s: 5,804,098 msg/sec boost::lockfree::queue, 7,i: 6,065,112 msg/sec boost::lockfree::queue, 8,s: 5,485,239 msg/sec boost::lockfree::queue, 8,i: 5,550,516 msg/sec moodycamel::ReaderWriterQueue, 1,s: 391,755,620 msg/sec moodycamel::ReaderWriterQueue, 1,i: 391,359,563 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,940,125 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,772,040 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,790,850 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,668,965 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,950,506 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,647,469 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,658,261 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,973,222 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,250,699 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,635,866 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,316,814 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,812,332 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,912,983 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,333,706 msg/sec moodycamel::ConcurrentQueue, 8,s: 52,093,433 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,364,450 msg/sec pthread_spinlock, 1,s: 28,990,805 msg/sec pthread_spinlock, 1,i: 26,878,293 msg/sec pthread_spinlock, 2,s: 15,667,217 msg/sec pthread_spinlock, 2,i: 16,942,631 msg/sec pthread_spinlock, 3,s: 8,335,187 msg/sec pthread_spinlock, 3,i: 12,158,528 msg/sec pthread_spinlock, 4,s: 6,569,534 msg/sec pthread_spinlock, 4,i: 8,816,639 msg/sec pthread_spinlock, 5,s: 8,680,869 msg/sec pthread_spinlock, 5,i: 8,938,670 msg/sec pthread_spinlock, 6,s: 8,618,508 msg/sec pthread_spinlock, 6,i: 8,885,842 msg/sec pthread_spinlock, 7,s: 7,581,793 msg/sec pthread_spinlock, 7,i: 8,037,201 msg/sec pthread_spinlock, 8,s: 6,662,031 msg/sec pthread_spinlock, 8,i: 7,452,239 msg/sec std::mutex, 1,s: 5,800,280 msg/sec std::mutex, 1,i: 7,011,123 msg/sec std::mutex, 2,s: 5,960,122 msg/sec std::mutex, 2,i: 5,607,383 msg/sec std::mutex, 3,s: 4,872,914 msg/sec std::mutex, 3,i: 5,390,084 msg/sec std::mutex, 4,s: 6,057,016 msg/sec std::mutex, 4,i: 6,191,731 msg/sec std::mutex, 5,s: 5,862,470 msg/sec std::mutex, 5,i: 5,918,913 msg/sec std::mutex, 6,s: 5,764,385 msg/sec std::mutex, 6,i: 5,826,367 msg/sec std::mutex, 7,s: 5,775,086 msg/sec std::mutex, 7,i: 5,821,310 msg/sec std::mutex, 8,s: 5,632,111 msg/sec std::mutex, 8,i: 5,627,535 msg/sec tbb::spin_mutex, 1,s: 37,878,873 msg/sec tbb::spin_mutex, 1,i: 37,681,151 msg/sec tbb::spin_mutex, 2,s: 21,159,910 msg/sec tbb::spin_mutex, 2,i: 18,408,422 msg/sec tbb::spin_mutex, 3,s: 8,752,990 msg/sec tbb::spin_mutex, 3,i: 10,919,106 msg/sec tbb::spin_mutex, 4,s: 3,302,830 msg/sec tbb::spin_mutex, 4,i: 6,348,803 msg/sec tbb::spin_mutex, 5,s: 5,497,745 msg/sec tbb::spin_mutex, 5,i: 5,470,458 msg/sec tbb::spin_mutex, 6,s: 5,348,909 msg/sec tbb::spin_mutex, 6,i: 4,290,497 msg/sec tbb::spin_mutex, 7,s: 4,870,258 msg/sec tbb::spin_mutex, 7,i: 4,367,190 msg/sec tbb::spin_mutex, 8,s: 4,259,124 msg/sec tbb::spin_mutex, 8,i: 4,023,875 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,447,094 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,429,220 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,995,234 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,580,894 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,002,983 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,631,039 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,334,298 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,310,505 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,561,565 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,195,809 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,910,023 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,406,533 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,041,350 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,683,669 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,077,465 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,714,613 msg/sec xenium::michael_scott_queue, 1,s: 10,149,418 msg/sec xenium::michael_scott_queue, 1,i: 9,996,064 msg/sec xenium::michael_scott_queue, 2,s: 8,600,626 msg/sec xenium::michael_scott_queue, 2,i: 8,566,211 msg/sec xenium::michael_scott_queue, 3,s: 7,220,606 msg/sec xenium::michael_scott_queue, 3,i: 7,542,763 msg/sec xenium::michael_scott_queue, 4,s: 6,292,597 msg/sec xenium::michael_scott_queue, 4,i: 6,284,323 msg/sec xenium::michael_scott_queue, 5,s: 6,291,421 msg/sec xenium::michael_scott_queue, 5,i: 6,744,020 msg/sec xenium::michael_scott_queue, 6,s: 6,498,328 msg/sec xenium::michael_scott_queue, 6,i: 6,754,940 msg/sec xenium::michael_scott_queue, 7,s: 6,259,034 msg/sec xenium::michael_scott_queue, 7,i: 6,562,313 msg/sec xenium::michael_scott_queue, 8,s: 5,964,958 msg/sec xenium::michael_scott_queue, 8,i: 6,123,368 msg/sec xenium::ramalhete_queue, 1,s: 31,312,021 msg/sec xenium::ramalhete_queue, 1,i: 32,214,783 msg/sec xenium::ramalhete_queue, 2,s: 23,612,407 msg/sec xenium::ramalhete_queue, 2,i: 23,328,218 msg/sec xenium::ramalhete_queue, 3,s: 29,032,299 msg/sec xenium::ramalhete_queue, 3,i: 28,430,763 msg/sec xenium::ramalhete_queue, 4,s: 33,740,485 msg/sec xenium::ramalhete_queue, 4,i: 33,445,319 msg/sec xenium::ramalhete_queue, 5,s: 32,173,644 msg/sec xenium::ramalhete_queue, 5,i: 36,217,248 msg/sec xenium::ramalhete_queue, 6,s: 34,161,402 msg/sec xenium::ramalhete_queue, 6,i: 39,006,719 msg/sec xenium::ramalhete_queue, 7,s: 35,212,550 msg/sec xenium::ramalhete_queue, 7,i: 41,340,695 msg/sec xenium::ramalhete_queue, 8,s: 35,504,359 msg/sec xenium::ramalhete_queue, 8,i: 43,824,111 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,358,788 msg/sec xenium::vyukov_bounded_queue, 1,i: 61,258,336 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,692,487 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,680,736 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,743,807 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,227,640 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,566,050 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,100,005 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,006,837 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,354,626 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,175,887 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,432,565 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,265,250 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,389,005 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,468,783 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,587,647 msg/sec AtomicQueue, 1,s: 62,711,410 msg/sec AtomicQueue, 1,i: 56,699,731 msg/sec AtomicQueue, 2,s: 12,261,255 msg/sec AtomicQueue, 2,i: 11,766,340 msg/sec AtomicQueue, 3,s: 10,797,898 msg/sec AtomicQueue, 3,i: 9,978,445 msg/sec AtomicQueue, 4,s: 8,130,427 msg/sec AtomicQueue, 4,i: 8,214,642 msg/sec AtomicQueue, 5,s: 8,020,343 msg/sec AtomicQueue, 5,i: 8,073,074 msg/sec AtomicQueue, 6,s: 7,852,367 msg/sec AtomicQueue, 6,i: 7,609,508 msg/sec AtomicQueue, 7,s: 7,113,065 msg/sec AtomicQueue, 7,i: 7,952,926 msg/sec AtomicQueue, 8,s: 6,343,282 msg/sec AtomicQueue, 8,i: 7,458,026 msg/sec AtomicQueueB, 1,s: 42,991,693 msg/sec AtomicQueueB, 1,i: 43,073,778 msg/sec AtomicQueueB, 2,s: 11,607,440 msg/sec AtomicQueueB, 2,i: 11,505,069 msg/sec AtomicQueueB, 3,s: 10,946,422 msg/sec AtomicQueueB, 3,i: 10,131,382 msg/sec AtomicQueueB, 4,s: 8,100,990 msg/sec AtomicQueueB, 4,i: 7,975,128 msg/sec AtomicQueueB, 5,s: 7,697,111 msg/sec AtomicQueueB, 5,i: 7,857,357 msg/sec AtomicQueueB, 6,s: 7,350,097 msg/sec AtomicQueueB, 6,i: 7,561,589 msg/sec AtomicQueueB, 7,s: 6,822,411 msg/sec AtomicQueueB, 7,i: 7,756,964 msg/sec AtomicQueueB, 8,s: 6,254,399 msg/sec AtomicQueueB, 8,i: 7,198,359 msg/sec OptimistAtomicQueue, 1,s: 805,630,876 msg/sec OptimistAtomicQueue, 1,i: 650,868,991 msg/sec OptimistAtomicQueue, 2,s: 32,618,485 msg/sec OptimistAtomicQueue, 2,i: 32,707,718 msg/sec OptimistAtomicQueue, 3,s: 36,687,170 msg/sec OptimistAtomicQueue, 3,i: 37,402,517 msg/sec OptimistAtomicQueue, 4,s: 39,277,748 msg/sec OptimistAtomicQueue, 4,i: 39,376,618 msg/sec OptimistAtomicQueue, 5,s: 42,378,313 msg/sec OptimistAtomicQueue, 5,i: 48,589,332 msg/sec OptimistAtomicQueue, 6,s: 42,549,940 msg/sec OptimistAtomicQueue, 6,i: 50,209,733 msg/sec OptimistAtomicQueue, 7,s: 45,234,909 msg/sec OptimistAtomicQueue, 7,i: 49,221,990 msg/sec OptimistAtomicQueue, 8,s: 46,354,986 msg/sec OptimistAtomicQueue, 8,i: 48,890,431 msg/sec OptimistAtomicQueueB, 1,s: 207,598,758 msg/sec OptimistAtomicQueueB, 1,i: 76,531,108 msg/sec OptimistAtomicQueueB, 2,s: 32,193,764 msg/sec OptimistAtomicQueueB, 2,i: 32,275,640 msg/sec OptimistAtomicQueueB, 3,s: 36,199,151 msg/sec OptimistAtomicQueueB, 3,i: 36,875,733 msg/sec OptimistAtomicQueueB, 4,s: 38,618,542 msg/sec OptimistAtomicQueueB, 4,i: 38,599,975 msg/sec OptimistAtomicQueueB, 5,s: 41,155,678 msg/sec OptimistAtomicQueueB, 5,i: 45,145,424 msg/sec OptimistAtomicQueueB, 6,s: 41,136,708 msg/sec OptimistAtomicQueueB, 6,i: 49,048,167 msg/sec OptimistAtomicQueueB, 7,s: 42,512,846 msg/sec OptimistAtomicQueueB, 7,i: 47,986,255 msg/sec OptimistAtomicQueueB, 8,s: 44,051,675 msg/sec OptimistAtomicQueueB, 8,i: 48,078,610 msg/sec AtomicQueue2, 1,s: 22,846,923 msg/sec AtomicQueue2, 1,i: 22,858,945 msg/sec AtomicQueue2, 2,s: 11,830,280 msg/sec AtomicQueue2, 2,i: 11,430,804 msg/sec AtomicQueue2, 3,s: 9,460,879 msg/sec AtomicQueue2, 3,i: 9,589,131 msg/sec AtomicQueue2, 4,s: 8,037,516 msg/sec AtomicQueue2, 4,i: 8,085,229 msg/sec AtomicQueue2, 5,s: 7,949,575 msg/sec AtomicQueue2, 5,i: 8,045,264 msg/sec AtomicQueue2, 6,s: 7,634,759 msg/sec AtomicQueue2, 6,i: 7,509,522 msg/sec AtomicQueue2, 7,s: 7,155,391 msg/sec AtomicQueue2, 7,i: 7,915,142 msg/sec AtomicQueue2, 8,s: 6,366,061 msg/sec AtomicQueue2, 8,i: 7,349,009 msg/sec AtomicQueueB2, 1,s: 36,022,771 msg/sec AtomicQueueB2, 1,i: 33,887,265 msg/sec AtomicQueueB2, 2,s: 11,383,835 msg/sec AtomicQueueB2, 2,i: 11,134,684 msg/sec AtomicQueueB2, 3,s: 9,781,628 msg/sec AtomicQueueB2, 3,i: 9,551,595 msg/sec AtomicQueueB2, 4,s: 7,974,699 msg/sec AtomicQueueB2, 4,i: 7,829,948 msg/sec AtomicQueueB2, 5,s: 7,441,123 msg/sec AtomicQueueB2, 5,i: 7,746,212 msg/sec AtomicQueueB2, 6,s: 7,252,761 msg/sec AtomicQueueB2, 6,i: 7,447,250 msg/sec AtomicQueueB2, 7,s: 6,831,256 msg/sec AtomicQueueB2, 7,i: 7,724,265 msg/sec AtomicQueueB2, 8,s: 6,277,591 msg/sec AtomicQueueB2, 8,i: 7,078,551 msg/sec OptimistAtomicQueue2, 1,s: 465,376,456 msg/sec OptimistAtomicQueue2, 1,i: 56,060,567 msg/sec OptimistAtomicQueue2, 2,s: 24,275,372 msg/sec OptimistAtomicQueue2, 2,i: 24,013,205 msg/sec OptimistAtomicQueue2, 3,s: 30,305,749 msg/sec OptimistAtomicQueue2, 3,i: 29,886,227 msg/sec OptimistAtomicQueue2, 4,s: 33,146,523 msg/sec OptimistAtomicQueue2, 4,i: 33,178,069 msg/sec OptimistAtomicQueue2, 5,s: 36,847,518 msg/sec OptimistAtomicQueue2, 5,i: 40,118,737 msg/sec OptimistAtomicQueue2, 6,s: 40,183,382 msg/sec OptimistAtomicQueue2, 6,i: 49,254,650 msg/sec OptimistAtomicQueue2, 7,s: 43,430,908 msg/sec OptimistAtomicQueue2, 7,i: 51,654,465 msg/sec OptimistAtomicQueue2, 8,s: 43,893,754 msg/sec OptimistAtomicQueue2, 8,i: 48,470,203 msg/sec OptimistAtomicQueueB2, 1,s: 75,819,579 msg/sec OptimistAtomicQueueB2, 1,i: 33,919,037 msg/sec OptimistAtomicQueueB2, 2,s: 27,188,463 msg/sec OptimistAtomicQueueB2, 2,i: 24,294,029 msg/sec OptimistAtomicQueueB2, 3,s: 29,692,018 msg/sec OptimistAtomicQueueB2, 3,i: 29,026,268 msg/sec OptimistAtomicQueueB2, 4,s: 32,764,015 msg/sec OptimistAtomicQueueB2, 4,i: 32,291,679 msg/sec OptimistAtomicQueueB2, 5,s: 34,366,179 msg/sec OptimistAtomicQueueB2, 5,i: 39,225,045 msg/sec OptimistAtomicQueueB2, 6,s: 37,258,954 msg/sec OptimistAtomicQueueB2, 6,i: 42,368,057 msg/sec OptimistAtomicQueueB2, 7,s: 40,117,845 msg/sec OptimistAtomicQueueB2, 7,i: 45,354,253 msg/sec OptimistAtomicQueueB2, 8,s: 41,985,903 msg/sec OptimistAtomicQueueB2, 8,i: 45,181,988 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000123 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000287 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000258 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [227] 181m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,971,222 msg/sec boost::lockfree::spsc_queue, 1,i: 69,497,087 msg/sec boost::lockfree::queue, 1,s: 6,950,539 msg/sec boost::lockfree::queue, 1,i: 6,963,344 msg/sec boost::lockfree::queue, 2,s: 7,621,391 msg/sec boost::lockfree::queue, 2,i: 7,527,965 msg/sec boost::lockfree::queue, 3,s: 7,364,362 msg/sec boost::lockfree::queue, 3,i: 7,548,013 msg/sec boost::lockfree::queue, 4,s: 6,417,380 msg/sec boost::lockfree::queue, 4,i: 6,774,782 msg/sec boost::lockfree::queue, 5,s: 6,407,834 msg/sec boost::lockfree::queue, 5,i: 6,416,833 msg/sec boost::lockfree::queue, 6,s: 6,026,557 msg/sec boost::lockfree::queue, 6,i: 6,104,302 msg/sec boost::lockfree::queue, 7,s: 5,808,950 msg/sec boost::lockfree::queue, 7,i: 6,041,044 msg/sec boost::lockfree::queue, 8,s: 5,496,543 msg/sec boost::lockfree::queue, 8,i: 5,630,705 msg/sec moodycamel::ReaderWriterQueue, 1,s: 437,676,219 msg/sec moodycamel::ReaderWriterQueue, 1,i: 317,887,295 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,124,870 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,578,151 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,687,738 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,501,363 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,815,660 msg/sec moodycamel::ConcurrentQueue, 3,i: 41,257,024 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,260,644 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,321,844 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,130,671 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,863,611 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,115,426 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,757,184 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,995,165 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,023,561 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,170,682 msg/sec moodycamel::ConcurrentQueue, 8,i: 32,910,224 msg/sec pthread_spinlock, 1,s: 29,204,876 msg/sec pthread_spinlock, 1,i: 29,057,005 msg/sec pthread_spinlock, 2,s: 16,553,608 msg/sec pthread_spinlock, 2,i: 16,956,256 msg/sec pthread_spinlock, 3,s: 8,357,061 msg/sec pthread_spinlock, 3,i: 11,976,247 msg/sec pthread_spinlock, 4,s: 6,482,460 msg/sec pthread_spinlock, 4,i: 8,922,764 msg/sec pthread_spinlock, 5,s: 8,640,729 msg/sec pthread_spinlock, 5,i: 9,356,131 msg/sec pthread_spinlock, 6,s: 8,563,293 msg/sec pthread_spinlock, 6,i: 9,072,601 msg/sec pthread_spinlock, 7,s: 7,552,102 msg/sec pthread_spinlock, 7,i: 7,601,680 msg/sec pthread_spinlock, 8,s: 6,864,443 msg/sec pthread_spinlock, 8,i: 7,395,139 msg/sec std::mutex, 1,s: 7,322,860 msg/sec std::mutex, 1,i: 6,667,688 msg/sec std::mutex, 2,s: 5,995,745 msg/sec std::mutex, 2,i: 5,554,998 msg/sec std::mutex, 3,s: 5,380,308 msg/sec std::mutex, 3,i: 5,688,000 msg/sec std::mutex, 4,s: 5,635,734 msg/sec std::mutex, 4,i: 6,263,444 msg/sec std::mutex, 5,s: 6,141,301 msg/sec std::mutex, 5,i: 6,005,452 msg/sec std::mutex, 6,s: 5,922,540 msg/sec std::mutex, 6,i: 5,955,058 msg/sec std::mutex, 7,s: 5,876,979 msg/sec std::mutex, 7,i: 5,898,241 msg/sec std::mutex, 8,s: 5,737,243 msg/sec std::mutex, 8,i: 5,700,372 msg/sec tbb::spin_mutex, 1,s: 37,758,047 msg/sec tbb::spin_mutex, 1,i: 32,879,825 msg/sec tbb::spin_mutex, 2,s: 21,274,875 msg/sec tbb::spin_mutex, 2,i: 20,925,950 msg/sec tbb::spin_mutex, 3,s: 8,762,866 msg/sec tbb::spin_mutex, 3,i: 10,271,886 msg/sec tbb::spin_mutex, 4,s: 3,301,789 msg/sec tbb::spin_mutex, 4,i: 6,455,429 msg/sec tbb::spin_mutex, 5,s: 5,224,829 msg/sec tbb::spin_mutex, 5,i: 5,763,961 msg/sec tbb::spin_mutex, 6,s: 5,356,683 msg/sec tbb::spin_mutex, 6,i: 4,369,900 msg/sec tbb::spin_mutex, 7,s: 4,862,750 msg/sec tbb::spin_mutex, 7,i: 4,346,182 msg/sec tbb::spin_mutex, 8,s: 4,249,559 msg/sec tbb::spin_mutex, 8,i: 4,077,560 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,360,660 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,258,233 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,155,649 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,665,634 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,451,125 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,709,910 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,997,854 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,317,580 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,517,658 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,599,693 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,962,971 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,719,558 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,880,315 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,054,370 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,910,902 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,454,029 msg/sec xenium::michael_scott_queue, 1,s: 9,459,981 msg/sec xenium::michael_scott_queue, 1,i: 9,569,728 msg/sec xenium::michael_scott_queue, 2,s: 8,346,866 msg/sec xenium::michael_scott_queue, 2,i: 8,387,140 msg/sec xenium::michael_scott_queue, 3,s: 7,321,583 msg/sec xenium::michael_scott_queue, 3,i: 7,535,723 msg/sec xenium::michael_scott_queue, 4,s: 6,369,198 msg/sec xenium::michael_scott_queue, 4,i: 6,351,316 msg/sec xenium::michael_scott_queue, 5,s: 6,302,957 msg/sec xenium::michael_scott_queue, 5,i: 6,634,085 msg/sec xenium::michael_scott_queue, 6,s: 6,470,691 msg/sec xenium::michael_scott_queue, 6,i: 6,735,614 msg/sec xenium::michael_scott_queue, 7,s: 6,312,310 msg/sec xenium::michael_scott_queue, 7,i: 6,409,263 msg/sec xenium::michael_scott_queue, 8,s: 5,958,397 msg/sec xenium::michael_scott_queue, 8,i: 6,123,213 msg/sec xenium::ramalhete_queue, 1,s: 32,056,212 msg/sec xenium::ramalhete_queue, 1,i: 32,603,637 msg/sec xenium::ramalhete_queue, 2,s: 23,943,300 msg/sec xenium::ramalhete_queue, 2,i: 23,443,515 msg/sec xenium::ramalhete_queue, 3,s: 29,267,165 msg/sec xenium::ramalhete_queue, 3,i: 28,480,656 msg/sec xenium::ramalhete_queue, 4,s: 33,863,824 msg/sec xenium::ramalhete_queue, 4,i: 33,449,057 msg/sec xenium::ramalhete_queue, 5,s: 32,036,236 msg/sec xenium::ramalhete_queue, 5,i: 36,160,210 msg/sec xenium::ramalhete_queue, 6,s: 33,954,360 msg/sec xenium::ramalhete_queue, 6,i: 39,578,266 msg/sec xenium::ramalhete_queue, 7,s: 35,216,967 msg/sec xenium::ramalhete_queue, 7,i: 41,462,320 msg/sec xenium::ramalhete_queue, 8,s: 35,483,435 msg/sec xenium::ramalhete_queue, 8,i: 43,935,189 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,994,630 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,701,832 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,908,224 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,833,799 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,520,593 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,277,701 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,590,570 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,092,070 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,934,905 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,303,136 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,215,454 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,389,072 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,138,854 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,940,960 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,410,230 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,549,074 msg/sec AtomicQueue, 1,s: 60,585,499 msg/sec AtomicQueue, 1,i: 56,721,213 msg/sec AtomicQueue, 2,s: 12,319,983 msg/sec AtomicQueue, 2,i: 11,675,732 msg/sec AtomicQueue, 3,s: 10,826,552 msg/sec AtomicQueue, 3,i: 10,027,846 msg/sec AtomicQueue, 4,s: 8,255,047 msg/sec AtomicQueue, 4,i: 8,207,588 msg/sec AtomicQueue, 5,s: 7,997,397 msg/sec AtomicQueue, 5,i: 8,086,922 msg/sec AtomicQueue, 6,s: 7,829,235 msg/sec AtomicQueue, 6,i: 7,600,610 msg/sec AtomicQueue, 7,s: 7,162,341 msg/sec AtomicQueue, 7,i: 7,971,472 msg/sec AtomicQueue, 8,s: 6,339,948 msg/sec AtomicQueue, 8,i: 7,398,952 msg/sec AtomicQueueB, 1,s: 43,833,158 msg/sec AtomicQueueB, 1,i: 42,989,773 msg/sec AtomicQueueB, 2,s: 11,859,494 msg/sec AtomicQueueB, 2,i: 11,504,908 msg/sec AtomicQueueB, 3,s: 11,014,841 msg/sec AtomicQueueB, 3,i: 10,197,160 msg/sec AtomicQueueB, 4,s: 8,037,028 msg/sec AtomicQueueB, 4,i: 8,008,332 msg/sec AtomicQueueB, 5,s: 7,629,644 msg/sec AtomicQueueB, 5,i: 7,727,384 msg/sec AtomicQueueB, 6,s: 7,431,239 msg/sec AtomicQueueB, 6,i: 7,507,800 msg/sec AtomicQueueB, 7,s: 6,920,231 msg/sec AtomicQueueB, 7,i: 7,736,097 msg/sec AtomicQueueB, 8,s: 6,201,109 msg/sec AtomicQueueB, 8,i: 7,095,173 msg/sec OptimistAtomicQueue, 1,s: 791,675,845 msg/sec OptimistAtomicQueue, 1,i: 828,768,373 msg/sec OptimistAtomicQueue, 2,s: 32,645,197 msg/sec OptimistAtomicQueue, 2,i: 32,700,183 msg/sec OptimistAtomicQueue, 3,s: 36,673,790 msg/sec OptimistAtomicQueue, 3,i: 37,408,779 msg/sec OptimistAtomicQueue, 4,s: 39,278,302 msg/sec OptimistAtomicQueue, 4,i: 39,386,739 msg/sec OptimistAtomicQueue, 5,s: 42,395,831 msg/sec OptimistAtomicQueue, 5,i: 46,206,866 msg/sec OptimistAtomicQueue, 6,s: 42,588,115 msg/sec OptimistAtomicQueue, 6,i: 50,364,326 msg/sec OptimistAtomicQueue, 7,s: 45,021,790 msg/sec OptimistAtomicQueue, 7,i: 52,978,823 msg/sec OptimistAtomicQueue, 8,s: 46,374,811 msg/sec OptimistAtomicQueue, 8,i: 49,490,820 msg/sec OptimistAtomicQueueB, 1,s: 196,593,660 msg/sec OptimistAtomicQueueB, 1,i: 76,627,084 msg/sec OptimistAtomicQueueB, 2,s: 32,222,702 msg/sec OptimistAtomicQueueB, 2,i: 32,184,396 msg/sec OptimistAtomicQueueB, 3,s: 36,240,716 msg/sec OptimistAtomicQueueB, 3,i: 36,842,355 msg/sec OptimistAtomicQueueB, 4,s: 38,743,099 msg/sec OptimistAtomicQueueB, 4,i: 38,726,078 msg/sec OptimistAtomicQueueB, 5,s: 41,151,342 msg/sec OptimistAtomicQueueB, 5,i: 45,345,195 msg/sec OptimistAtomicQueueB, 6,s: 40,441,650 msg/sec OptimistAtomicQueueB, 6,i: 49,111,445 msg/sec OptimistAtomicQueueB, 7,s: 42,482,995 msg/sec OptimistAtomicQueueB, 7,i: 50,792,624 msg/sec OptimistAtomicQueueB, 8,s: 44,406,508 msg/sec OptimistAtomicQueueB, 8,i: 48,070,558 msg/sec AtomicQueue2, 1,s: 22,831,752 msg/sec AtomicQueue2, 1,i: 22,887,254 msg/sec AtomicQueue2, 2,s: 11,863,704 msg/sec AtomicQueue2, 2,i: 11,302,689 msg/sec AtomicQueue2, 3,s: 9,453,542 msg/sec AtomicQueue2, 3,i: 9,393,840 msg/sec AtomicQueue2, 4,s: 8,048,101 msg/sec AtomicQueue2, 4,i: 8,067,684 msg/sec AtomicQueue2, 5,s: 7,928,280 msg/sec AtomicQueue2, 5,i: 8,046,196 msg/sec AtomicQueue2, 6,s: 7,768,240 msg/sec AtomicQueue2, 6,i: 7,502,080 msg/sec AtomicQueue2, 7,s: 7,112,925 msg/sec AtomicQueue2, 7,i: 7,926,209 msg/sec AtomicQueue2, 8,s: 6,371,807 msg/sec AtomicQueue2, 8,i: 7,214,296 msg/sec AtomicQueueB2, 1,s: 35,823,477 msg/sec AtomicQueueB2, 1,i: 32,631,798 msg/sec AtomicQueueB2, 2,s: 11,414,440 msg/sec AtomicQueueB2, 2,i: 11,107,308 msg/sec AtomicQueueB2, 3,s: 9,573,076 msg/sec AtomicQueueB2, 3,i: 9,486,404 msg/sec AtomicQueueB2, 4,s: 7,933,605 msg/sec AtomicQueueB2, 4,i: 7,873,434 msg/sec AtomicQueueB2, 5,s: 7,514,273 msg/sec AtomicQueueB2, 5,i: 7,714,493 msg/sec AtomicQueueB2, 6,s: 7,219,275 msg/sec AtomicQueueB2, 6,i: 7,442,727 msg/sec AtomicQueueB2, 7,s: 6,974,604 msg/sec AtomicQueueB2, 7,i: 7,730,791 msg/sec AtomicQueueB2, 8,s: 6,326,730 msg/sec AtomicQueueB2, 8,i: 7,112,505 msg/sec OptimistAtomicQueue2, 1,s: 478,320,540 msg/sec OptimistAtomicQueue2, 1,i: 29,707,312 msg/sec OptimistAtomicQueue2, 2,s: 24,269,452 msg/sec OptimistAtomicQueue2, 2,i: 24,795,436 msg/sec OptimistAtomicQueue2, 3,s: 30,304,621 msg/sec OptimistAtomicQueue2, 3,i: 29,935,939 msg/sec OptimistAtomicQueue2, 4,s: 33,213,379 msg/sec OptimistAtomicQueue2, 4,i: 32,979,431 msg/sec OptimistAtomicQueue2, 5,s: 36,999,419 msg/sec OptimistAtomicQueue2, 5,i: 40,088,770 msg/sec OptimistAtomicQueue2, 6,s: 40,088,221 msg/sec OptimistAtomicQueue2, 6,i: 49,215,064 msg/sec OptimistAtomicQueue2, 7,s: 42,621,569 msg/sec OptimistAtomicQueue2, 7,i: 51,738,125 msg/sec OptimistAtomicQueue2, 8,s: 43,934,690 msg/sec OptimistAtomicQueue2, 8,i: 48,641,831 msg/sec OptimistAtomicQueueB2, 1,s: 71,790,138 msg/sec OptimistAtomicQueueB2, 1,i: 63,108,646 msg/sec OptimistAtomicQueueB2, 2,s: 28,819,588 msg/sec OptimistAtomicQueueB2, 2,i: 23,225,718 msg/sec OptimistAtomicQueueB2, 3,s: 29,742,934 msg/sec OptimistAtomicQueueB2, 3,i: 29,050,413 msg/sec OptimistAtomicQueueB2, 4,s: 33,418,868 msg/sec OptimistAtomicQueueB2, 4,i: 33,118,220 msg/sec OptimistAtomicQueueB2, 5,s: 34,601,906 msg/sec OptimistAtomicQueueB2, 5,i: 39,388,410 msg/sec OptimistAtomicQueueB2, 6,s: 37,648,115 msg/sec OptimistAtomicQueueB2, 6,i: 42,486,203 msg/sec OptimistAtomicQueueB2, 7,s: 40,782,010 msg/sec OptimistAtomicQueueB2, 7,i: 43,136,307 msg/sec OptimistAtomicQueueB2, 8,s: 42,732,622 msg/sec OptimistAtomicQueueB2, 8,i: 45,307,458 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000445 sec/round-trip tbb::spin_mutex: 0.000000259 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [228] 180m:27s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,942,375 msg/sec boost::lockfree::spsc_queue, 1,i: 73,760,093 msg/sec boost::lockfree::queue, 1,s: 7,079,889 msg/sec boost::lockfree::queue, 1,i: 6,950,465 msg/sec boost::lockfree::queue, 2,s: 7,683,216 msg/sec boost::lockfree::queue, 2,i: 7,508,825 msg/sec boost::lockfree::queue, 3,s: 7,415,079 msg/sec boost::lockfree::queue, 3,i: 7,506,070 msg/sec boost::lockfree::queue, 4,s: 6,425,950 msg/sec boost::lockfree::queue, 4,i: 6,797,898 msg/sec boost::lockfree::queue, 5,s: 6,387,586 msg/sec boost::lockfree::queue, 5,i: 6,470,912 msg/sec boost::lockfree::queue, 6,s: 6,013,214 msg/sec boost::lockfree::queue, 6,i: 6,097,750 msg/sec boost::lockfree::queue, 7,s: 6,056,900 msg/sec boost::lockfree::queue, 7,i: 5,944,927 msg/sec boost::lockfree::queue, 8,s: 5,449,323 msg/sec boost::lockfree::queue, 8,i: 5,645,643 msg/sec moodycamel::ReaderWriterQueue, 1,s: 389,226,180 msg/sec moodycamel::ReaderWriterQueue, 1,i: 368,761,919 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,516,438 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,804,302 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,089,315 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,494,633 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,484,620 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,010,562 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,431,106 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,056,336 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,209,126 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,600,547 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,404,337 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,754,797 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,190,790 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,652,768 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,212,822 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,884,792 msg/sec pthread_spinlock, 1,s: 29,123,384 msg/sec pthread_spinlock, 1,i: 25,432,928 msg/sec pthread_spinlock, 2,s: 15,919,064 msg/sec pthread_spinlock, 2,i: 16,987,138 msg/sec pthread_spinlock, 3,s: 8,298,400 msg/sec pthread_spinlock, 3,i: 12,141,801 msg/sec pthread_spinlock, 4,s: 6,508,210 msg/sec pthread_spinlock, 4,i: 8,915,452 msg/sec pthread_spinlock, 5,s: 8,756,175 msg/sec pthread_spinlock, 5,i: 9,594,602 msg/sec pthread_spinlock, 6,s: 8,498,385 msg/sec pthread_spinlock, 6,i: 8,771,925 msg/sec pthread_spinlock, 7,s: 7,521,877 msg/sec pthread_spinlock, 7,i: 7,441,295 msg/sec pthread_spinlock, 8,s: 6,652,629 msg/sec pthread_spinlock, 8,i: 6,924,488 msg/sec std::mutex, 1,s: 6,544,582 msg/sec std::mutex, 1,i: 5,913,153 msg/sec std::mutex, 2,s: 5,937,285 msg/sec std::mutex, 2,i: 6,232,536 msg/sec std::mutex, 3,s: 6,127,709 msg/sec std::mutex, 3,i: 6,262,656 msg/sec std::mutex, 4,s: 6,326,839 msg/sec std::mutex, 4,i: 6,366,360 msg/sec std::mutex, 5,s: 6,150,975 msg/sec std::mutex, 5,i: 6,259,803 msg/sec std::mutex, 6,s: 6,072,982 msg/sec std::mutex, 6,i: 6,093,791 msg/sec std::mutex, 7,s: 5,905,197 msg/sec std::mutex, 7,i: 5,912,325 msg/sec std::mutex, 8,s: 5,750,007 msg/sec std::mutex, 8,i: 5,740,129 msg/sec tbb::spin_mutex, 1,s: 37,688,762 msg/sec tbb::spin_mutex, 1,i: 32,961,808 msg/sec tbb::spin_mutex, 2,s: 21,075,400 msg/sec tbb::spin_mutex, 2,i: 18,479,849 msg/sec tbb::spin_mutex, 3,s: 8,012,834 msg/sec tbb::spin_mutex, 3,i: 11,164,216 msg/sec tbb::spin_mutex, 4,s: 3,181,167 msg/sec tbb::spin_mutex, 4,i: 6,272,407 msg/sec tbb::spin_mutex, 5,s: 5,476,736 msg/sec tbb::spin_mutex, 5,i: 5,528,008 msg/sec tbb::spin_mutex, 6,s: 5,349,802 msg/sec tbb::spin_mutex, 6,i: 4,332,201 msg/sec tbb::spin_mutex, 7,s: 4,835,703 msg/sec tbb::spin_mutex, 7,i: 4,318,235 msg/sec tbb::spin_mutex, 8,s: 3,876,011 msg/sec tbb::spin_mutex, 8,i: 4,126,572 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,144,963 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,030,480 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,710,427 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,926,390 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,257,053 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,367,376 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,159,097 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,209,859 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,612,127 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,389,776 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,655,975 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,724,674 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,661,643 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,116,375 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,744,124 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,963,710 msg/sec xenium::michael_scott_queue, 1,s: 9,349,044 msg/sec xenium::michael_scott_queue, 1,i: 9,355,678 msg/sec xenium::michael_scott_queue, 2,s: 8,628,941 msg/sec xenium::michael_scott_queue, 2,i: 8,495,503 msg/sec xenium::michael_scott_queue, 3,s: 7,134,235 msg/sec xenium::michael_scott_queue, 3,i: 7,567,026 msg/sec xenium::michael_scott_queue, 4,s: 6,245,972 msg/sec xenium::michael_scott_queue, 4,i: 6,302,748 msg/sec xenium::michael_scott_queue, 5,s: 6,302,614 msg/sec xenium::michael_scott_queue, 5,i: 6,595,166 msg/sec xenium::michael_scott_queue, 6,s: 6,452,875 msg/sec xenium::michael_scott_queue, 6,i: 6,964,622 msg/sec xenium::michael_scott_queue, 7,s: 6,360,233 msg/sec xenium::michael_scott_queue, 7,i: 6,635,241 msg/sec xenium::michael_scott_queue, 8,s: 6,012,910 msg/sec xenium::michael_scott_queue, 8,i: 6,106,118 msg/sec xenium::ramalhete_queue, 1,s: 31,853,121 msg/sec xenium::ramalhete_queue, 1,i: 31,727,106 msg/sec xenium::ramalhete_queue, 2,s: 23,558,475 msg/sec xenium::ramalhete_queue, 2,i: 23,447,549 msg/sec xenium::ramalhete_queue, 3,s: 29,353,095 msg/sec xenium::ramalhete_queue, 3,i: 28,553,154 msg/sec xenium::ramalhete_queue, 4,s: 33,882,809 msg/sec xenium::ramalhete_queue, 4,i: 33,490,850 msg/sec xenium::ramalhete_queue, 5,s: 32,095,486 msg/sec xenium::ramalhete_queue, 5,i: 36,080,281 msg/sec xenium::ramalhete_queue, 6,s: 34,051,976 msg/sec xenium::ramalhete_queue, 6,i: 39,585,508 msg/sec xenium::ramalhete_queue, 7,s: 35,116,037 msg/sec xenium::ramalhete_queue, 7,i: 40,789,630 msg/sec xenium::ramalhete_queue, 8,s: 35,445,372 msg/sec xenium::ramalhete_queue, 8,i: 44,138,135 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,680,887 msg/sec xenium::vyukov_bounded_queue, 1,i: 82,815,107 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,006,961 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,484,249 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,574,040 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,305,808 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,673,820 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,301,911 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,798,716 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,222,950 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,773,051 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,398,112 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,189,154 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,157,326 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,434,170 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,219,727 msg/sec AtomicQueue, 1,s: 56,975,663 msg/sec AtomicQueue, 1,i: 56,768,700 msg/sec AtomicQueue, 2,s: 12,163,798 msg/sec AtomicQueue, 2,i: 11,762,666 msg/sec AtomicQueue, 3,s: 10,792,567 msg/sec AtomicQueue, 3,i: 9,988,339 msg/sec AtomicQueue, 4,s: 8,194,997 msg/sec AtomicQueue, 4,i: 8,196,127 msg/sec AtomicQueue, 5,s: 8,028,598 msg/sec AtomicQueue, 5,i: 7,990,483 msg/sec AtomicQueue, 6,s: 7,838,493 msg/sec AtomicQueue, 6,i: 7,599,958 msg/sec AtomicQueue, 7,s: 7,092,909 msg/sec AtomicQueue, 7,i: 7,975,422 msg/sec AtomicQueue, 8,s: 6,334,899 msg/sec AtomicQueue, 8,i: 7,323,342 msg/sec AtomicQueueB, 1,s: 44,587,182 msg/sec AtomicQueueB, 1,i: 43,013,627 msg/sec AtomicQueueB, 2,s: 11,851,688 msg/sec AtomicQueueB, 2,i: 11,484,307 msg/sec AtomicQueueB, 3,s: 10,960,966 msg/sec AtomicQueueB, 3,i: 10,108,928 msg/sec AtomicQueueB, 4,s: 8,043,278 msg/sec AtomicQueueB, 4,i: 7,984,855 msg/sec AtomicQueueB, 5,s: 7,632,185 msg/sec AtomicQueueB, 5,i: 7,849,604 msg/sec AtomicQueueB, 6,s: 7,312,008 msg/sec AtomicQueueB, 6,i: 7,537,275 msg/sec AtomicQueueB, 7,s: 6,891,544 msg/sec AtomicQueueB, 7,i: 7,701,857 msg/sec AtomicQueueB, 8,s: 6,178,545 msg/sec AtomicQueueB, 8,i: 7,176,636 msg/sec OptimistAtomicQueue, 1,s: 770,238,745 msg/sec OptimistAtomicQueue, 1,i: 590,727,032 msg/sec OptimistAtomicQueue, 2,s: 32,132,651 msg/sec OptimistAtomicQueue, 2,i: 32,160,479 msg/sec OptimistAtomicQueue, 3,s: 36,646,909 msg/sec OptimistAtomicQueue, 3,i: 37,339,475 msg/sec OptimistAtomicQueue, 4,s: 39,265,435 msg/sec OptimistAtomicQueue, 4,i: 39,407,555 msg/sec OptimistAtomicQueue, 5,s: 41,777,594 msg/sec OptimistAtomicQueue, 5,i: 48,031,203 msg/sec OptimistAtomicQueue, 6,s: 42,235,854 msg/sec OptimistAtomicQueue, 6,i: 49,848,333 msg/sec OptimistAtomicQueue, 7,s: 45,071,928 msg/sec OptimistAtomicQueue, 7,i: 49,103,249 msg/sec OptimistAtomicQueue, 8,s: 46,412,441 msg/sec OptimistAtomicQueue, 8,i: 48,968,577 msg/sec OptimistAtomicQueueB, 1,s: 78,006,422 msg/sec OptimistAtomicQueueB, 1,i: 77,217,909 msg/sec OptimistAtomicQueueB, 2,s: 32,293,283 msg/sec OptimistAtomicQueueB, 2,i: 32,169,885 msg/sec OptimistAtomicQueueB, 3,s: 36,211,523 msg/sec OptimistAtomicQueueB, 3,i: 36,827,613 msg/sec OptimistAtomicQueueB, 4,s: 38,608,315 msg/sec OptimistAtomicQueueB, 4,i: 38,504,215 msg/sec OptimistAtomicQueueB, 5,s: 40,852,552 msg/sec OptimistAtomicQueueB, 5,i: 46,098,818 msg/sec OptimistAtomicQueueB, 6,s: 40,593,698 msg/sec OptimistAtomicQueueB, 6,i: 49,073,969 msg/sec OptimistAtomicQueueB, 7,s: 41,635,488 msg/sec OptimistAtomicQueueB, 7,i: 48,202,494 msg/sec OptimistAtomicQueueB, 8,s: 44,282,190 msg/sec OptimistAtomicQueueB, 8,i: 48,651,675 msg/sec AtomicQueue2, 1,s: 22,908,747 msg/sec AtomicQueue2, 1,i: 22,968,654 msg/sec AtomicQueue2, 2,s: 11,835,737 msg/sec AtomicQueue2, 2,i: 11,349,002 msg/sec AtomicQueue2, 3,s: 9,468,498 msg/sec AtomicQueue2, 3,i: 9,402,304 msg/sec AtomicQueue2, 4,s: 7,996,595 msg/sec AtomicQueue2, 4,i: 8,071,503 msg/sec AtomicQueue2, 5,s: 7,919,232 msg/sec AtomicQueue2, 5,i: 7,996,645 msg/sec AtomicQueue2, 6,s: 7,685,868 msg/sec AtomicQueue2, 6,i: 7,523,441 msg/sec AtomicQueue2, 7,s: 7,110,124 msg/sec AtomicQueue2, 7,i: 7,875,825 msg/sec AtomicQueue2, 8,s: 6,410,222 msg/sec AtomicQueue2, 8,i: 7,243,126 msg/sec AtomicQueueB2, 1,s: 36,160,551 msg/sec AtomicQueueB2, 1,i: 36,147,209 msg/sec AtomicQueueB2, 2,s: 11,442,724 msg/sec AtomicQueueB2, 2,i: 11,093,289 msg/sec AtomicQueueB2, 3,s: 9,647,394 msg/sec AtomicQueueB2, 3,i: 9,601,344 msg/sec AtomicQueueB2, 4,s: 7,910,641 msg/sec AtomicQueueB2, 4,i: 7,879,377 msg/sec AtomicQueueB2, 5,s: 7,507,473 msg/sec AtomicQueueB2, 5,i: 7,751,497 msg/sec AtomicQueueB2, 6,s: 7,270,315 msg/sec AtomicQueueB2, 6,i: 7,453,596 msg/sec AtomicQueueB2, 7,s: 6,883,990 msg/sec AtomicQueueB2, 7,i: 7,697,977 msg/sec AtomicQueueB2, 8,s: 6,296,644 msg/sec AtomicQueueB2, 8,i: 6,952,597 msg/sec OptimistAtomicQueue2, 1,s: 37,546,873 msg/sec OptimistAtomicQueue2, 1,i: 43,976,879 msg/sec OptimistAtomicQueue2, 2,s: 25,295,029 msg/sec OptimistAtomicQueue2, 2,i: 24,028,545 msg/sec OptimistAtomicQueue2, 3,s: 30,318,578 msg/sec OptimistAtomicQueue2, 3,i: 30,297,368 msg/sec OptimistAtomicQueue2, 4,s: 33,238,935 msg/sec OptimistAtomicQueue2, 4,i: 33,124,000 msg/sec OptimistAtomicQueue2, 5,s: 37,344,272 msg/sec OptimistAtomicQueue2, 5,i: 40,236,467 msg/sec OptimistAtomicQueue2, 6,s: 40,088,622 msg/sec OptimistAtomicQueue2, 6,i: 49,075,767 msg/sec OptimistAtomicQueue2, 7,s: 43,296,576 msg/sec OptimistAtomicQueue2, 7,i: 51,520,703 msg/sec OptimistAtomicQueue2, 8,s: 43,898,739 msg/sec OptimistAtomicQueue2, 8,i: 48,605,435 msg/sec OptimistAtomicQueueB2, 1,s: 75,769,813 msg/sec OptimistAtomicQueueB2, 1,i: 33,926,500 msg/sec OptimistAtomicQueueB2, 2,s: 26,933,612 msg/sec OptimistAtomicQueueB2, 2,i: 23,215,435 msg/sec OptimistAtomicQueueB2, 3,s: 29,814,684 msg/sec OptimistAtomicQueueB2, 3,i: 29,061,232 msg/sec OptimistAtomicQueueB2, 4,s: 33,527,505 msg/sec OptimistAtomicQueueB2, 4,i: 32,932,951 msg/sec OptimistAtomicQueueB2, 5,s: 34,462,709 msg/sec OptimistAtomicQueueB2, 5,i: 39,318,293 msg/sec OptimistAtomicQueueB2, 6,s: 37,448,336 msg/sec OptimistAtomicQueueB2, 6,i: 42,437,996 msg/sec OptimistAtomicQueueB2, 7,s: 40,626,213 msg/sec OptimistAtomicQueueB2, 7,i: 43,024,623 msg/sec OptimistAtomicQueueB2, 8,s: 42,256,114 msg/sec OptimistAtomicQueueB2, 8,i: 45,672,824 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000326 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000126 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000244 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [229] 179m:8s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,844,798 msg/sec boost::lockfree::spsc_queue, 1,i: 70,604,712 msg/sec boost::lockfree::queue, 1,s: 6,902,035 msg/sec boost::lockfree::queue, 1,i: 6,866,549 msg/sec boost::lockfree::queue, 2,s: 7,656,964 msg/sec boost::lockfree::queue, 2,i: 7,729,941 msg/sec boost::lockfree::queue, 3,s: 7,403,179 msg/sec boost::lockfree::queue, 3,i: 7,562,818 msg/sec boost::lockfree::queue, 4,s: 6,418,914 msg/sec boost::lockfree::queue, 4,i: 6,802,981 msg/sec boost::lockfree::queue, 5,s: 6,426,057 msg/sec boost::lockfree::queue, 5,i: 6,483,737 msg/sec boost::lockfree::queue, 6,s: 6,015,708 msg/sec boost::lockfree::queue, 6,i: 6,094,695 msg/sec boost::lockfree::queue, 7,s: 5,938,718 msg/sec boost::lockfree::queue, 7,i: 6,104,629 msg/sec boost::lockfree::queue, 8,s: 5,493,687 msg/sec boost::lockfree::queue, 8,i: 5,668,213 msg/sec moodycamel::ReaderWriterQueue, 1,s: 73,789,617 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,303,479 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,976,070 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,937,233 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,503,657 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,676,744 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,932,204 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,421,590 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,458,739 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,885,522 msg/sec moodycamel::ConcurrentQueue, 5,s: 47,841,058 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,505,570 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,856,233 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,242,826 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,185,632 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,187,793 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,295,715 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,477,067 msg/sec pthread_spinlock, 1,s: 29,002,625 msg/sec pthread_spinlock, 1,i: 25,455,073 msg/sec pthread_spinlock, 2,s: 16,326,144 msg/sec pthread_spinlock, 2,i: 17,199,978 msg/sec pthread_spinlock, 3,s: 8,347,307 msg/sec pthread_spinlock, 3,i: 11,917,283 msg/sec pthread_spinlock, 4,s: 6,561,623 msg/sec pthread_spinlock, 4,i: 9,383,867 msg/sec pthread_spinlock, 5,s: 8,583,234 msg/sec pthread_spinlock, 5,i: 9,318,995 msg/sec pthread_spinlock, 6,s: 8,285,539 msg/sec pthread_spinlock, 6,i: 8,887,845 msg/sec pthread_spinlock, 7,s: 7,626,322 msg/sec pthread_spinlock, 7,i: 7,917,208 msg/sec pthread_spinlock, 8,s: 6,908,865 msg/sec pthread_spinlock, 8,i: 6,907,014 msg/sec std::mutex, 1,s: 6,864,802 msg/sec std::mutex, 1,i: 7,312,240 msg/sec std::mutex, 2,s: 5,211,973 msg/sec std::mutex, 2,i: 6,013,766 msg/sec std::mutex, 3,s: 6,079,130 msg/sec std::mutex, 3,i: 5,607,012 msg/sec std::mutex, 4,s: 5,183,780 msg/sec std::mutex, 4,i: 5,608,771 msg/sec std::mutex, 5,s: 5,593,086 msg/sec std::mutex, 5,i: 6,078,322 msg/sec std::mutex, 6,s: 5,953,184 msg/sec std::mutex, 6,i: 5,942,820 msg/sec std::mutex, 7,s: 5,853,869 msg/sec std::mutex, 7,i: 5,856,722 msg/sec std::mutex, 8,s: 5,682,043 msg/sec std::mutex, 8,i: 5,659,930 msg/sec tbb::spin_mutex, 1,s: 37,639,804 msg/sec tbb::spin_mutex, 1,i: 32,953,494 msg/sec tbb::spin_mutex, 2,s: 21,106,892 msg/sec tbb::spin_mutex, 2,i: 18,395,724 msg/sec tbb::spin_mutex, 3,s: 7,675,443 msg/sec tbb::spin_mutex, 3,i: 10,268,260 msg/sec tbb::spin_mutex, 4,s: 3,121,430 msg/sec tbb::spin_mutex, 4,i: 6,359,771 msg/sec tbb::spin_mutex, 5,s: 5,228,134 msg/sec tbb::spin_mutex, 5,i: 5,627,361 msg/sec tbb::spin_mutex, 6,s: 5,320,808 msg/sec tbb::spin_mutex, 6,i: 4,323,988 msg/sec tbb::spin_mutex, 7,s: 4,834,387 msg/sec tbb::spin_mutex, 7,i: 4,362,395 msg/sec tbb::spin_mutex, 8,s: 4,227,756 msg/sec tbb::spin_mutex, 8,i: 4,041,023 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,589,063 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,104,564 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,677,276 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,990,049 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,203,822 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,319,700 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,021,320 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,175,713 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,595,282 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,351,842 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,643,780 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,769,753 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,679,708 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,093,961 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,765,269 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,966,470 msg/sec xenium::michael_scott_queue, 1,s: 9,348,924 msg/sec xenium::michael_scott_queue, 1,i: 9,353,611 msg/sec xenium::michael_scott_queue, 2,s: 8,544,680 msg/sec xenium::michael_scott_queue, 2,i: 8,534,629 msg/sec xenium::michael_scott_queue, 3,s: 7,417,687 msg/sec xenium::michael_scott_queue, 3,i: 7,563,771 msg/sec xenium::michael_scott_queue, 4,s: 6,284,647 msg/sec xenium::michael_scott_queue, 4,i: 6,352,047 msg/sec xenium::michael_scott_queue, 5,s: 6,300,886 msg/sec xenium::michael_scott_queue, 5,i: 6,713,755 msg/sec xenium::michael_scott_queue, 6,s: 6,482,382 msg/sec xenium::michael_scott_queue, 6,i: 6,965,996 msg/sec xenium::michael_scott_queue, 7,s: 6,226,108 msg/sec xenium::michael_scott_queue, 7,i: 6,437,744 msg/sec xenium::michael_scott_queue, 8,s: 5,925,758 msg/sec xenium::michael_scott_queue, 8,i: 6,136,573 msg/sec xenium::ramalhete_queue, 1,s: 31,698,230 msg/sec xenium::ramalhete_queue, 1,i: 31,910,969 msg/sec xenium::ramalhete_queue, 2,s: 24,470,189 msg/sec xenium::ramalhete_queue, 2,i: 23,273,031 msg/sec xenium::ramalhete_queue, 3,s: 29,303,852 msg/sec xenium::ramalhete_queue, 3,i: 28,441,313 msg/sec xenium::ramalhete_queue, 4,s: 33,884,705 msg/sec xenium::ramalhete_queue, 4,i: 33,449,192 msg/sec xenium::ramalhete_queue, 5,s: 32,205,676 msg/sec xenium::ramalhete_queue, 5,i: 36,132,163 msg/sec xenium::ramalhete_queue, 6,s: 33,964,387 msg/sec xenium::ramalhete_queue, 6,i: 38,871,905 msg/sec xenium::ramalhete_queue, 7,s: 34,995,212 msg/sec xenium::ramalhete_queue, 7,i: 41,247,336 msg/sec xenium::ramalhete_queue, 8,s: 35,588,242 msg/sec xenium::ramalhete_queue, 8,i: 43,979,589 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,241,163 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,995,409 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,684,857 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,063,705 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,665,116 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,163,445 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,576,852 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,043,903 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,689,942 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,276,567 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,090,274 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,577,133 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,187,342 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,103,355 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,392,698 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,217,802 msg/sec AtomicQueue, 1,s: 60,771,887 msg/sec AtomicQueue, 1,i: 56,358,680 msg/sec AtomicQueue, 2,s: 12,322,839 msg/sec AtomicQueue, 2,i: 11,757,128 msg/sec AtomicQueue, 3,s: 10,802,327 msg/sec AtomicQueue, 3,i: 9,854,450 msg/sec AtomicQueue, 4,s: 8,242,817 msg/sec AtomicQueue, 4,i: 8,190,092 msg/sec AtomicQueue, 5,s: 8,031,408 msg/sec AtomicQueue, 5,i: 8,094,144 msg/sec AtomicQueue, 6,s: 7,819,642 msg/sec AtomicQueue, 6,i: 7,622,333 msg/sec AtomicQueue, 7,s: 7,135,162 msg/sec AtomicQueue, 7,i: 7,988,782 msg/sec AtomicQueue, 8,s: 6,344,816 msg/sec AtomicQueue, 8,i: 7,467,641 msg/sec AtomicQueueB, 1,s: 43,901,193 msg/sec AtomicQueueB, 1,i: 42,970,502 msg/sec AtomicQueueB, 2,s: 11,759,579 msg/sec AtomicQueueB, 2,i: 11,499,030 msg/sec AtomicQueueB, 3,s: 10,964,399 msg/sec AtomicQueueB, 3,i: 10,192,261 msg/sec AtomicQueueB, 4,s: 8,102,435 msg/sec AtomicQueueB, 4,i: 8,061,304 msg/sec AtomicQueueB, 5,s: 7,434,904 msg/sec AtomicQueueB, 5,i: 7,838,333 msg/sec AtomicQueueB, 6,s: 7,315,604 msg/sec AtomicQueueB, 6,i: 7,564,083 msg/sec AtomicQueueB, 7,s: 6,775,960 msg/sec AtomicQueueB, 7,i: 7,671,162 msg/sec AtomicQueueB, 8,s: 6,225,930 msg/sec AtomicQueueB, 8,i: 7,157,472 msg/sec OptimistAtomicQueue, 1,s: 732,935,251 msg/sec OptimistAtomicQueue, 1,i: 515,153,033 msg/sec OptimistAtomicQueue, 2,s: 32,569,812 msg/sec OptimistAtomicQueue, 2,i: 32,594,191 msg/sec OptimistAtomicQueue, 3,s: 36,685,031 msg/sec OptimistAtomicQueue, 3,i: 37,395,476 msg/sec OptimistAtomicQueue, 4,s: 39,273,956 msg/sec OptimistAtomicQueue, 4,i: 39,410,725 msg/sec OptimistAtomicQueue, 5,s: 42,477,569 msg/sec OptimistAtomicQueue, 5,i: 47,382,371 msg/sec OptimistAtomicQueue, 6,s: 42,579,750 msg/sec OptimistAtomicQueue, 6,i: 50,485,027 msg/sec OptimistAtomicQueue, 7,s: 44,286,693 msg/sec OptimistAtomicQueue, 7,i: 49,238,843 msg/sec OptimistAtomicQueue, 8,s: 46,448,967 msg/sec OptimistAtomicQueue, 8,i: 50,364,526 msg/sec OptimistAtomicQueueB, 1,s: 299,995,080 msg/sec OptimistAtomicQueueB, 1,i: 77,839,214 msg/sec OptimistAtomicQueueB, 2,s: 32,188,860 msg/sec OptimistAtomicQueueB, 2,i: 32,207,737 msg/sec OptimistAtomicQueueB, 3,s: 36,278,740 msg/sec OptimistAtomicQueueB, 3,i: 36,911,964 msg/sec OptimistAtomicQueueB, 4,s: 38,682,312 msg/sec OptimistAtomicQueueB, 4,i: 38,467,297 msg/sec OptimistAtomicQueueB, 5,s: 40,952,642 msg/sec OptimistAtomicQueueB, 5,i: 47,328,711 msg/sec OptimistAtomicQueueB, 6,s: 40,662,631 msg/sec OptimistAtomicQueueB, 6,i: 48,998,652 msg/sec OptimistAtomicQueueB, 7,s: 42,147,024 msg/sec OptimistAtomicQueueB, 7,i: 51,437,330 msg/sec OptimistAtomicQueueB, 8,s: 44,456,483 msg/sec OptimistAtomicQueueB, 8,i: 47,738,705 msg/sec AtomicQueue2, 1,s: 23,128,924 msg/sec AtomicQueue2, 1,i: 23,333,620 msg/sec AtomicQueue2, 2,s: 11,986,452 msg/sec AtomicQueue2, 2,i: 11,488,603 msg/sec AtomicQueue2, 3,s: 9,319,247 msg/sec AtomicQueue2, 3,i: 9,313,392 msg/sec AtomicQueue2, 4,s: 8,063,063 msg/sec AtomicQueue2, 4,i: 8,013,955 msg/sec AtomicQueue2, 5,s: 7,951,221 msg/sec AtomicQueue2, 5,i: 8,045,386 msg/sec AtomicQueue2, 6,s: 7,741,096 msg/sec AtomicQueue2, 6,i: 7,517,589 msg/sec AtomicQueue2, 7,s: 7,137,241 msg/sec AtomicQueue2, 7,i: 7,880,979 msg/sec AtomicQueue2, 8,s: 6,386,193 msg/sec AtomicQueue2, 8,i: 7,321,624 msg/sec AtomicQueueB2, 1,s: 36,210,843 msg/sec AtomicQueueB2, 1,i: 32,636,088 msg/sec AtomicQueueB2, 2,s: 11,405,247 msg/sec AtomicQueueB2, 2,i: 11,104,981 msg/sec AtomicQueueB2, 3,s: 9,657,330 msg/sec AtomicQueueB2, 3,i: 9,520,114 msg/sec AtomicQueueB2, 4,s: 7,946,355 msg/sec AtomicQueueB2, 4,i: 7,863,741 msg/sec AtomicQueueB2, 5,s: 7,547,548 msg/sec AtomicQueueB2, 5,i: 7,685,388 msg/sec AtomicQueueB2, 6,s: 7,204,872 msg/sec AtomicQueueB2, 6,i: 7,419,661 msg/sec AtomicQueueB2, 7,s: 6,848,382 msg/sec AtomicQueueB2, 7,i: 7,705,943 msg/sec AtomicQueueB2, 8,s: 6,283,593 msg/sec AtomicQueueB2, 8,i: 7,129,713 msg/sec OptimistAtomicQueue2, 1,s: 574,303,699 msg/sec OptimistAtomicQueue2, 1,i: 32,454,717 msg/sec OptimistAtomicQueue2, 2,s: 24,263,465 msg/sec OptimistAtomicQueue2, 2,i: 24,015,637 msg/sec OptimistAtomicQueue2, 3,s: 30,545,078 msg/sec OptimistAtomicQueue2, 3,i: 29,962,001 msg/sec OptimistAtomicQueue2, 4,s: 33,326,752 msg/sec OptimistAtomicQueue2, 4,i: 33,134,234 msg/sec OptimistAtomicQueue2, 5,s: 37,159,341 msg/sec OptimistAtomicQueue2, 5,i: 40,384,506 msg/sec OptimistAtomicQueue2, 6,s: 39,824,301 msg/sec OptimistAtomicQueue2, 6,i: 49,072,553 msg/sec OptimistAtomicQueue2, 7,s: 42,628,511 msg/sec OptimistAtomicQueue2, 7,i: 48,059,519 msg/sec OptimistAtomicQueue2, 8,s: 43,886,641 msg/sec OptimistAtomicQueue2, 8,i: 48,391,622 msg/sec OptimistAtomicQueueB2, 1,s: 173,806,220 msg/sec OptimistAtomicQueueB2, 1,i: 41,276,503 msg/sec OptimistAtomicQueueB2, 2,s: 23,563,097 msg/sec OptimistAtomicQueueB2, 2,i: 23,150,660 msg/sec OptimistAtomicQueueB2, 3,s: 29,898,010 msg/sec OptimistAtomicQueueB2, 3,i: 29,663,108 msg/sec OptimistAtomicQueueB2, 4,s: 33,518,897 msg/sec OptimistAtomicQueueB2, 4,i: 31,871,073 msg/sec OptimistAtomicQueueB2, 5,s: 34,621,199 msg/sec OptimistAtomicQueueB2, 5,i: 39,233,383 msg/sec OptimistAtomicQueueB2, 6,s: 37,493,336 msg/sec OptimistAtomicQueueB2, 6,i: 42,303,215 msg/sec OptimistAtomicQueueB2, 7,s: 40,218,467 msg/sec OptimistAtomicQueueB2, 7,i: 45,490,710 msg/sec OptimistAtomicQueueB2, 8,s: 42,427,734 msg/sec OptimistAtomicQueueB2, 8,i: 45,917,583 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000142 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000271 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000273 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [230] 177m:49s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 74,271,043 msg/sec boost::lockfree::spsc_queue, 1,i: 73,900,910 msg/sec boost::lockfree::queue, 1,s: 7,967,600 msg/sec boost::lockfree::queue, 1,i: 7,906,530 msg/sec boost::lockfree::queue, 2,s: 7,651,921 msg/sec boost::lockfree::queue, 2,i: 7,551,946 msg/sec boost::lockfree::queue, 3,s: 7,513,086 msg/sec boost::lockfree::queue, 3,i: 7,540,545 msg/sec boost::lockfree::queue, 4,s: 6,416,832 msg/sec boost::lockfree::queue, 4,i: 6,744,448 msg/sec boost::lockfree::queue, 5,s: 6,410,925 msg/sec boost::lockfree::queue, 5,i: 6,502,377 msg/sec boost::lockfree::queue, 6,s: 5,992,957 msg/sec boost::lockfree::queue, 6,i: 6,116,629 msg/sec boost::lockfree::queue, 7,s: 6,041,195 msg/sec boost::lockfree::queue, 7,i: 5,919,757 msg/sec boost::lockfree::queue, 8,s: 5,582,309 msg/sec boost::lockfree::queue, 8,i: 5,553,334 msg/sec moodycamel::ReaderWriterQueue, 1,s: 409,232,238 msg/sec moodycamel::ReaderWriterQueue, 1,i: 131,449,240 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,790,953 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,817,065 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,516,651 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,512,543 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,603,457 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,687,215 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,745,305 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,908,865 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,258,078 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,802,736 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,421,063 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,310,959 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,009,145 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,005,764 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,253,910 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,169,025 msg/sec pthread_spinlock, 1,s: 29,204,817 msg/sec pthread_spinlock, 1,i: 25,344,430 msg/sec pthread_spinlock, 2,s: 15,558,620 msg/sec pthread_spinlock, 2,i: 17,081,226 msg/sec pthread_spinlock, 3,s: 8,332,551 msg/sec pthread_spinlock, 3,i: 11,979,730 msg/sec pthread_spinlock, 4,s: 6,479,877 msg/sec pthread_spinlock, 4,i: 8,968,487 msg/sec pthread_spinlock, 5,s: 8,796,901 msg/sec pthread_spinlock, 5,i: 9,162,147 msg/sec pthread_spinlock, 6,s: 8,543,766 msg/sec pthread_spinlock, 6,i: 8,919,672 msg/sec pthread_spinlock, 7,s: 7,539,795 msg/sec pthread_spinlock, 7,i: 7,845,749 msg/sec pthread_spinlock, 8,s: 6,705,334 msg/sec pthread_spinlock, 8,i: 7,315,583 msg/sec std::mutex, 1,s: 6,610,550 msg/sec std::mutex, 1,i: 6,579,040 msg/sec std::mutex, 2,s: 5,490,365 msg/sec std::mutex, 2,i: 4,882,227 msg/sec std::mutex, 3,s: 5,642,014 msg/sec std::mutex, 3,i: 6,138,110 msg/sec std::mutex, 4,s: 6,217,506 msg/sec std::mutex, 4,i: 6,178,916 msg/sec std::mutex, 5,s: 6,048,838 msg/sec std::mutex, 5,i: 5,608,545 msg/sec std::mutex, 6,s: 5,953,209 msg/sec std::mutex, 6,i: 5,945,893 msg/sec std::mutex, 7,s: 5,784,610 msg/sec std::mutex, 7,i: 5,796,522 msg/sec std::mutex, 8,s: 5,664,519 msg/sec std::mutex, 8,i: 5,687,291 msg/sec tbb::spin_mutex, 1,s: 37,769,223 msg/sec tbb::spin_mutex, 1,i: 32,864,908 msg/sec tbb::spin_mutex, 2,s: 21,203,421 msg/sec tbb::spin_mutex, 2,i: 18,424,416 msg/sec tbb::spin_mutex, 3,s: 8,463,075 msg/sec tbb::spin_mutex, 3,i: 10,118,192 msg/sec tbb::spin_mutex, 4,s: 3,194,596 msg/sec tbb::spin_mutex, 4,i: 6,354,632 msg/sec tbb::spin_mutex, 5,s: 5,198,401 msg/sec tbb::spin_mutex, 5,i: 5,739,950 msg/sec tbb::spin_mutex, 6,s: 5,351,102 msg/sec tbb::spin_mutex, 6,i: 4,375,958 msg/sec tbb::spin_mutex, 7,s: 4,898,577 msg/sec tbb::spin_mutex, 7,i: 4,343,720 msg/sec tbb::spin_mutex, 8,s: 4,257,591 msg/sec tbb::spin_mutex, 8,i: 4,040,292 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,981,156 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,446,899 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,800,210 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,262,534 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,376,032 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,386,517 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,078,917 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,167,164 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,539,443 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,362,332 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,618,987 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,731,662 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,640,054 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,065,383 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,721,346 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,915,669 msg/sec xenium::michael_scott_queue, 1,s: 9,220,970 msg/sec xenium::michael_scott_queue, 1,i: 9,023,541 msg/sec xenium::michael_scott_queue, 2,s: 8,363,390 msg/sec xenium::michael_scott_queue, 2,i: 8,684,650 msg/sec xenium::michael_scott_queue, 3,s: 7,304,818 msg/sec xenium::michael_scott_queue, 3,i: 7,570,655 msg/sec xenium::michael_scott_queue, 4,s: 6,277,397 msg/sec xenium::michael_scott_queue, 4,i: 6,374,155 msg/sec xenium::michael_scott_queue, 5,s: 6,326,043 msg/sec xenium::michael_scott_queue, 5,i: 6,687,504 msg/sec xenium::michael_scott_queue, 6,s: 6,519,950 msg/sec xenium::michael_scott_queue, 6,i: 6,810,184 msg/sec xenium::michael_scott_queue, 7,s: 6,357,634 msg/sec xenium::michael_scott_queue, 7,i: 6,533,908 msg/sec xenium::michael_scott_queue, 8,s: 6,016,599 msg/sec xenium::michael_scott_queue, 8,i: 6,226,707 msg/sec xenium::ramalhete_queue, 1,s: 32,017,627 msg/sec xenium::ramalhete_queue, 1,i: 32,197,626 msg/sec xenium::ramalhete_queue, 2,s: 23,607,860 msg/sec xenium::ramalhete_queue, 2,i: 23,402,535 msg/sec xenium::ramalhete_queue, 3,s: 29,153,166 msg/sec xenium::ramalhete_queue, 3,i: 28,707,024 msg/sec xenium::ramalhete_queue, 4,s: 33,763,781 msg/sec xenium::ramalhete_queue, 4,i: 33,510,995 msg/sec xenium::ramalhete_queue, 5,s: 31,965,088 msg/sec xenium::ramalhete_queue, 5,i: 36,253,281 msg/sec xenium::ramalhete_queue, 6,s: 34,022,779 msg/sec xenium::ramalhete_queue, 6,i: 38,960,285 msg/sec xenium::ramalhete_queue, 7,s: 35,239,659 msg/sec xenium::ramalhete_queue, 7,i: 41,261,544 msg/sec xenium::ramalhete_queue, 8,s: 35,494,450 msg/sec xenium::ramalhete_queue, 8,i: 44,128,261 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,444,792 msg/sec xenium::vyukov_bounded_queue, 1,i: 117,239,001 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,214,650 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,565,563 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,669,406 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,326,525 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,536,579 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,483,578 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,985,249 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,232,766 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,006,347 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,220,588 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,247,748 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,385,450 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,381,356 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,321,902 msg/sec AtomicQueue, 1,s: 59,595,915 msg/sec AtomicQueue, 1,i: 56,730,340 msg/sec AtomicQueue, 2,s: 12,289,623 msg/sec AtomicQueue, 2,i: 11,741,415 msg/sec AtomicQueue, 3,s: 10,744,718 msg/sec AtomicQueue, 3,i: 9,872,181 msg/sec AtomicQueue, 4,s: 8,144,178 msg/sec AtomicQueue, 4,i: 8,171,947 msg/sec AtomicQueue, 5,s: 8,028,228 msg/sec AtomicQueue, 5,i: 8,126,358 msg/sec AtomicQueue, 6,s: 7,777,464 msg/sec AtomicQueue, 6,i: 7,624,505 msg/sec AtomicQueue, 7,s: 7,140,161 msg/sec AtomicQueue, 7,i: 7,978,773 msg/sec AtomicQueue, 8,s: 6,324,395 msg/sec AtomicQueue, 8,i: 7,455,947 msg/sec AtomicQueueB, 1,s: 43,855,735 msg/sec AtomicQueueB, 1,i: 43,139,938 msg/sec AtomicQueueB, 2,s: 11,792,859 msg/sec AtomicQueueB, 2,i: 11,492,253 msg/sec AtomicQueueB, 3,s: 10,905,950 msg/sec AtomicQueueB, 3,i: 10,102,715 msg/sec AtomicQueueB, 4,s: 8,054,461 msg/sec AtomicQueueB, 4,i: 8,037,197 msg/sec AtomicQueueB, 5,s: 7,614,895 msg/sec AtomicQueueB, 5,i: 7,809,585 msg/sec AtomicQueueB, 6,s: 7,172,598 msg/sec AtomicQueueB, 6,i: 7,534,479 msg/sec AtomicQueueB, 7,s: 6,877,555 msg/sec AtomicQueueB, 7,i: 7,735,510 msg/sec AtomicQueueB, 8,s: 6,203,066 msg/sec AtomicQueueB, 8,i: 7,153,015 msg/sec OptimistAtomicQueue, 1,s: 793,798,843 msg/sec OptimistAtomicQueue, 1,i: 639,990,169 msg/sec OptimistAtomicQueue, 2,s: 32,128,080 msg/sec OptimistAtomicQueue, 2,i: 32,310,808 msg/sec OptimistAtomicQueue, 3,s: 36,680,939 msg/sec OptimistAtomicQueue, 3,i: 37,420,415 msg/sec OptimistAtomicQueue, 4,s: 39,261,252 msg/sec OptimistAtomicQueue, 4,i: 39,408,860 msg/sec OptimistAtomicQueue, 5,s: 42,631,649 msg/sec OptimistAtomicQueue, 5,i: 47,410,836 msg/sec OptimistAtomicQueue, 6,s: 42,572,902 msg/sec OptimistAtomicQueue, 6,i: 49,822,767 msg/sec OptimistAtomicQueue, 7,s: 45,144,734 msg/sec OptimistAtomicQueue, 7,i: 49,325,212 msg/sec OptimistAtomicQueue, 8,s: 46,511,333 msg/sec OptimistAtomicQueue, 8,i: 48,883,137 msg/sec OptimistAtomicQueueB, 1,s: 135,752,621 msg/sec OptimistAtomicQueueB, 1,i: 76,432,351 msg/sec OptimistAtomicQueueB, 2,s: 32,136,191 msg/sec OptimistAtomicQueueB, 2,i: 32,144,190 msg/sec OptimistAtomicQueueB, 3,s: 36,287,410 msg/sec OptimistAtomicQueueB, 3,i: 36,876,278 msg/sec OptimistAtomicQueueB, 4,s: 38,677,606 msg/sec OptimistAtomicQueueB, 4,i: 38,515,819 msg/sec OptimistAtomicQueueB, 5,s: 41,158,766 msg/sec OptimistAtomicQueueB, 5,i: 45,372,847 msg/sec OptimistAtomicQueueB, 6,s: 41,265,512 msg/sec OptimistAtomicQueueB, 6,i: 48,631,330 msg/sec OptimistAtomicQueueB, 7,s: 42,021,378 msg/sec OptimistAtomicQueueB, 7,i: 47,693,176 msg/sec OptimistAtomicQueueB, 8,s: 43,907,930 msg/sec OptimistAtomicQueueB, 8,i: 47,916,308 msg/sec AtomicQueue2, 1,s: 22,896,989 msg/sec AtomicQueue2, 1,i: 22,930,021 msg/sec AtomicQueue2, 2,s: 11,804,411 msg/sec AtomicQueue2, 2,i: 11,442,957 msg/sec AtomicQueue2, 3,s: 9,513,512 msg/sec AtomicQueue2, 3,i: 9,541,949 msg/sec AtomicQueue2, 4,s: 8,093,703 msg/sec AtomicQueue2, 4,i: 8,066,014 msg/sec AtomicQueue2, 5,s: 7,933,739 msg/sec AtomicQueue2, 5,i: 8,013,876 msg/sec AtomicQueue2, 6,s: 7,643,105 msg/sec AtomicQueue2, 6,i: 7,513,244 msg/sec AtomicQueue2, 7,s: 7,086,457 msg/sec AtomicQueue2, 7,i: 7,932,294 msg/sec AtomicQueue2, 8,s: 6,406,236 msg/sec AtomicQueue2, 8,i: 7,206,490 msg/sec AtomicQueueB2, 1,s: 32,707,525 msg/sec AtomicQueueB2, 1,i: 32,605,110 msg/sec AtomicQueueB2, 2,s: 11,388,784 msg/sec AtomicQueueB2, 2,i: 11,104,245 msg/sec AtomicQueueB2, 3,s: 9,769,379 msg/sec AtomicQueueB2, 3,i: 9,561,284 msg/sec AtomicQueueB2, 4,s: 7,934,051 msg/sec AtomicQueueB2, 4,i: 7,840,377 msg/sec AtomicQueueB2, 5,s: 7,498,918 msg/sec AtomicQueueB2, 5,i: 7,724,274 msg/sec AtomicQueueB2, 6,s: 7,171,074 msg/sec AtomicQueueB2, 6,i: 7,433,397 msg/sec AtomicQueueB2, 7,s: 6,937,746 msg/sec AtomicQueueB2, 7,i: 7,711,227 msg/sec AtomicQueueB2, 8,s: 6,246,584 msg/sec AtomicQueueB2, 8,i: 7,085,538 msg/sec OptimistAtomicQueue2, 1,s: 470,627,657 msg/sec OptimistAtomicQueue2, 1,i: 42,907,669 msg/sec OptimistAtomicQueue2, 2,s: 25,247,742 msg/sec OptimistAtomicQueue2, 2,i: 25,002,805 msg/sec OptimistAtomicQueue2, 3,s: 30,339,720 msg/sec OptimistAtomicQueue2, 3,i: 30,098,856 msg/sec OptimistAtomicQueue2, 4,s: 33,277,562 msg/sec OptimistAtomicQueue2, 4,i: 33,332,904 msg/sec OptimistAtomicQueue2, 5,s: 37,015,360 msg/sec OptimistAtomicQueue2, 5,i: 40,851,590 msg/sec OptimistAtomicQueue2, 6,s: 40,376,210 msg/sec OptimistAtomicQueue2, 6,i: 49,278,421 msg/sec OptimistAtomicQueue2, 7,s: 42,737,068 msg/sec OptimistAtomicQueue2, 7,i: 51,295,403 msg/sec OptimistAtomicQueue2, 8,s: 44,328,663 msg/sec OptimistAtomicQueue2, 8,i: 48,738,672 msg/sec OptimistAtomicQueueB2, 1,s: 78,832,489 msg/sec OptimistAtomicQueueB2, 1,i: 33,922,908 msg/sec OptimistAtomicQueueB2, 2,s: 29,480,771 msg/sec OptimistAtomicQueueB2, 2,i: 23,127,439 msg/sec OptimistAtomicQueueB2, 3,s: 33,130,471 msg/sec OptimistAtomicQueueB2, 3,i: 29,118,842 msg/sec OptimistAtomicQueueB2, 4,s: 33,628,055 msg/sec OptimistAtomicQueueB2, 4,i: 32,065,972 msg/sec OptimistAtomicQueueB2, 5,s: 34,588,539 msg/sec OptimistAtomicQueueB2, 5,i: 39,261,184 msg/sec OptimistAtomicQueueB2, 6,s: 37,385,780 msg/sec OptimistAtomicQueueB2, 6,i: 42,483,896 msg/sec OptimistAtomicQueueB2, 7,s: 40,090,728 msg/sec OptimistAtomicQueueB2, 7,i: 45,616,188 msg/sec OptimistAtomicQueueB2, 8,s: 42,475,425 msg/sec OptimistAtomicQueueB2, 8,i: 45,339,770 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000114 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000271 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000190 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [231] 176m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,601,397 msg/sec boost::lockfree::spsc_queue, 1,i: 67,018,742 msg/sec boost::lockfree::queue, 1,s: 6,917,446 msg/sec boost::lockfree::queue, 1,i: 6,923,793 msg/sec boost::lockfree::queue, 2,s: 7,672,398 msg/sec boost::lockfree::queue, 2,i: 7,516,366 msg/sec boost::lockfree::queue, 3,s: 7,420,461 msg/sec boost::lockfree::queue, 3,i: 7,550,015 msg/sec boost::lockfree::queue, 4,s: 6,399,681 msg/sec boost::lockfree::queue, 4,i: 6,757,383 msg/sec boost::lockfree::queue, 5,s: 6,426,092 msg/sec boost::lockfree::queue, 5,i: 6,426,692 msg/sec boost::lockfree::queue, 6,s: 5,973,383 msg/sec boost::lockfree::queue, 6,i: 6,085,442 msg/sec boost::lockfree::queue, 7,s: 5,926,360 msg/sec boost::lockfree::queue, 7,i: 5,975,650 msg/sec boost::lockfree::queue, 8,s: 5,399,640 msg/sec boost::lockfree::queue, 8,i: 5,574,461 msg/sec moodycamel::ReaderWriterQueue, 1,s: 496,405,650 msg/sec moodycamel::ReaderWriterQueue, 1,i: 498,067,126 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,721,589 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,215,413 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,277,184 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,633,339 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,932,306 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,291,747 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,369,560 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,744,181 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,108,223 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,935,565 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,372,490 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,318,470 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,015,452 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,487,213 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,296,162 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,062,532 msg/sec pthread_spinlock, 1,s: 28,989,813 msg/sec pthread_spinlock, 1,i: 25,440,271 msg/sec pthread_spinlock, 2,s: 15,486,772 msg/sec pthread_spinlock, 2,i: 16,877,720 msg/sec pthread_spinlock, 3,s: 8,263,253 msg/sec pthread_spinlock, 3,i: 11,997,748 msg/sec pthread_spinlock, 4,s: 6,524,791 msg/sec pthread_spinlock, 4,i: 9,282,098 msg/sec pthread_spinlock, 5,s: 8,654,308 msg/sec pthread_spinlock, 5,i: 9,330,292 msg/sec pthread_spinlock, 6,s: 8,274,544 msg/sec pthread_spinlock, 6,i: 9,036,607 msg/sec pthread_spinlock, 7,s: 7,563,512 msg/sec pthread_spinlock, 7,i: 8,104,311 msg/sec pthread_spinlock, 8,s: 6,853,752 msg/sec pthread_spinlock, 8,i: 6,994,984 msg/sec std::mutex, 1,s: 6,861,595 msg/sec std::mutex, 1,i: 7,058,726 msg/sec std::mutex, 2,s: 5,758,794 msg/sec std::mutex, 2,i: 5,762,192 msg/sec std::mutex, 3,s: 5,431,681 msg/sec std::mutex, 3,i: 5,145,461 msg/sec std::mutex, 4,s: 6,205,304 msg/sec std::mutex, 4,i: 6,222,283 msg/sec std::mutex, 5,s: 5,926,489 msg/sec std::mutex, 5,i: 6,056,347 msg/sec std::mutex, 6,s: 5,866,171 msg/sec std::mutex, 6,i: 5,866,309 msg/sec std::mutex, 7,s: 5,764,974 msg/sec std::mutex, 7,i: 5,751,977 msg/sec std::mutex, 8,s: 5,685,613 msg/sec std::mutex, 8,i: 5,677,315 msg/sec tbb::spin_mutex, 1,s: 37,955,360 msg/sec tbb::spin_mutex, 1,i: 33,092,590 msg/sec tbb::spin_mutex, 2,s: 18,042,962 msg/sec tbb::spin_mutex, 2,i: 18,361,775 msg/sec tbb::spin_mutex, 3,s: 8,001,165 msg/sec tbb::spin_mutex, 3,i: 10,060,008 msg/sec tbb::spin_mutex, 4,s: 3,146,277 msg/sec tbb::spin_mutex, 4,i: 6,273,446 msg/sec tbb::spin_mutex, 5,s: 5,443,018 msg/sec tbb::spin_mutex, 5,i: 5,697,621 msg/sec tbb::spin_mutex, 6,s: 5,242,035 msg/sec tbb::spin_mutex, 6,i: 4,316,673 msg/sec tbb::spin_mutex, 7,s: 4,449,969 msg/sec tbb::spin_mutex, 7,i: 4,336,797 msg/sec tbb::spin_mutex, 8,s: 3,893,615 msg/sec tbb::spin_mutex, 8,i: 4,066,726 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,510,785 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,444,107 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,281,161 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,771,478 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,531,988 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,962,377 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,096,682 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,384,821 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,653,915 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,698,143 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,891,977 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,923,478 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,762,417 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,142,800 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,618,149 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,309,604 msg/sec xenium::michael_scott_queue, 1,s: 9,298,783 msg/sec xenium::michael_scott_queue, 1,i: 9,165,384 msg/sec xenium::michael_scott_queue, 2,s: 8,411,112 msg/sec xenium::michael_scott_queue, 2,i: 8,402,813 msg/sec xenium::michael_scott_queue, 3,s: 7,118,148 msg/sec xenium::michael_scott_queue, 3,i: 7,670,760 msg/sec xenium::michael_scott_queue, 4,s: 6,361,751 msg/sec xenium::michael_scott_queue, 4,i: 6,315,954 msg/sec xenium::michael_scott_queue, 5,s: 6,300,254 msg/sec xenium::michael_scott_queue, 5,i: 6,608,682 msg/sec xenium::michael_scott_queue, 6,s: 6,510,054 msg/sec xenium::michael_scott_queue, 6,i: 6,725,213 msg/sec xenium::michael_scott_queue, 7,s: 6,322,875 msg/sec xenium::michael_scott_queue, 7,i: 6,528,311 msg/sec xenium::michael_scott_queue, 8,s: 6,021,812 msg/sec xenium::michael_scott_queue, 8,i: 6,098,480 msg/sec xenium::ramalhete_queue, 1,s: 32,499,846 msg/sec xenium::ramalhete_queue, 1,i: 32,789,880 msg/sec xenium::ramalhete_queue, 2,s: 24,005,115 msg/sec xenium::ramalhete_queue, 2,i: 23,333,171 msg/sec xenium::ramalhete_queue, 3,s: 29,109,093 msg/sec xenium::ramalhete_queue, 3,i: 28,451,018 msg/sec xenium::ramalhete_queue, 4,s: 33,707,710 msg/sec xenium::ramalhete_queue, 4,i: 33,410,934 msg/sec xenium::ramalhete_queue, 5,s: 32,070,051 msg/sec xenium::ramalhete_queue, 5,i: 36,105,059 msg/sec xenium::ramalhete_queue, 6,s: 33,984,454 msg/sec xenium::ramalhete_queue, 6,i: 40,269,807 msg/sec xenium::ramalhete_queue, 7,s: 35,026,437 msg/sec xenium::ramalhete_queue, 7,i: 42,209,471 msg/sec xenium::ramalhete_queue, 8,s: 35,475,987 msg/sec xenium::ramalhete_queue, 8,i: 44,134,122 msg/sec xenium::vyukov_bounded_queue, 1,s: 108,627,078 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,010,724 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,550,240 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,855,339 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,744,901 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,770,198 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,702,624 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,038,308 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,511,050 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,321,298 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,995,418 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,598,401 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,264,682 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,990,935 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,412,755 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,319,758 msg/sec AtomicQueue, 1,s: 58,802,480 msg/sec AtomicQueue, 1,i: 56,566,375 msg/sec AtomicQueue, 2,s: 12,228,718 msg/sec AtomicQueue, 2,i: 11,745,783 msg/sec AtomicQueue, 3,s: 10,779,247 msg/sec AtomicQueue, 3,i: 9,943,075 msg/sec AtomicQueue, 4,s: 8,171,575 msg/sec AtomicQueue, 4,i: 8,183,124 msg/sec AtomicQueue, 5,s: 8,043,322 msg/sec AtomicQueue, 5,i: 8,128,790 msg/sec AtomicQueue, 6,s: 7,795,946 msg/sec AtomicQueue, 6,i: 7,615,343 msg/sec AtomicQueue, 7,s: 7,177,449 msg/sec AtomicQueue, 7,i: 7,992,418 msg/sec AtomicQueue, 8,s: 6,316,333 msg/sec AtomicQueue, 8,i: 7,460,136 msg/sec AtomicQueueB, 1,s: 100,963,188 msg/sec AtomicQueueB, 1,i: 43,914,418 msg/sec AtomicQueueB, 2,s: 11,825,381 msg/sec AtomicQueueB, 2,i: 11,454,104 msg/sec AtomicQueueB, 3,s: 10,913,959 msg/sec AtomicQueueB, 3,i: 10,019,129 msg/sec AtomicQueueB, 4,s: 8,111,492 msg/sec AtomicQueueB, 4,i: 7,995,288 msg/sec AtomicQueueB, 5,s: 7,634,477 msg/sec AtomicQueueB, 5,i: 7,795,011 msg/sec AtomicQueueB, 6,s: 7,387,164 msg/sec AtomicQueueB, 6,i: 7,513,674 msg/sec AtomicQueueB, 7,s: 6,855,004 msg/sec AtomicQueueB, 7,i: 7,720,415 msg/sec AtomicQueueB, 8,s: 6,196,123 msg/sec AtomicQueueB, 8,i: 7,046,158 msg/sec OptimistAtomicQueue, 1,s: 783,051,630 msg/sec OptimistAtomicQueue, 1,i: 597,651,468 msg/sec OptimistAtomicQueue, 2,s: 32,209,500 msg/sec OptimistAtomicQueue, 2,i: 32,188,969 msg/sec OptimistAtomicQueue, 3,s: 36,654,545 msg/sec OptimistAtomicQueue, 3,i: 37,288,542 msg/sec OptimistAtomicQueue, 4,s: 39,262,719 msg/sec OptimistAtomicQueue, 4,i: 39,362,634 msg/sec OptimistAtomicQueue, 5,s: 42,395,348 msg/sec OptimistAtomicQueue, 5,i: 46,270,955 msg/sec OptimistAtomicQueue, 6,s: 42,564,998 msg/sec OptimistAtomicQueue, 6,i: 50,429,294 msg/sec OptimistAtomicQueue, 7,s: 44,402,630 msg/sec OptimistAtomicQueue, 7,i: 53,024,666 msg/sec OptimistAtomicQueue, 8,s: 46,229,462 msg/sec OptimistAtomicQueue, 8,i: 48,929,977 msg/sec OptimistAtomicQueueB, 1,s: 168,263,593 msg/sec OptimistAtomicQueueB, 1,i: 77,451,461 msg/sec OptimistAtomicQueueB, 2,s: 32,150,960 msg/sec OptimistAtomicQueueB, 2,i: 31,750,758 msg/sec OptimistAtomicQueueB, 3,s: 36,268,114 msg/sec OptimistAtomicQueueB, 3,i: 36,934,902 msg/sec OptimistAtomicQueueB, 4,s: 38,682,142 msg/sec OptimistAtomicQueueB, 4,i: 38,625,220 msg/sec OptimistAtomicQueueB, 5,s: 40,421,721 msg/sec OptimistAtomicQueueB, 5,i: 46,335,788 msg/sec OptimistAtomicQueueB, 6,s: 41,106,266 msg/sec OptimistAtomicQueueB, 6,i: 49,068,252 msg/sec OptimistAtomicQueueB, 7,s: 41,726,131 msg/sec OptimistAtomicQueueB, 7,i: 47,937,788 msg/sec OptimistAtomicQueueB, 8,s: 44,478,191 msg/sec OptimistAtomicQueueB, 8,i: 47,895,171 msg/sec AtomicQueue2, 1,s: 22,912,434 msg/sec AtomicQueue2, 1,i: 22,897,490 msg/sec AtomicQueue2, 2,s: 11,725,869 msg/sec AtomicQueue2, 2,i: 11,430,328 msg/sec AtomicQueue2, 3,s: 9,423,663 msg/sec AtomicQueue2, 3,i: 9,403,706 msg/sec AtomicQueue2, 4,s: 8,088,693 msg/sec AtomicQueue2, 4,i: 8,081,088 msg/sec AtomicQueue2, 5,s: 7,887,895 msg/sec AtomicQueue2, 5,i: 8,051,745 msg/sec AtomicQueue2, 6,s: 7,774,958 msg/sec AtomicQueue2, 6,i: 7,521,910 msg/sec AtomicQueue2, 7,s: 7,081,759 msg/sec AtomicQueue2, 7,i: 7,892,444 msg/sec AtomicQueue2, 8,s: 6,351,247 msg/sec AtomicQueue2, 8,i: 7,384,562 msg/sec AtomicQueueB2, 1,s: 36,115,707 msg/sec AtomicQueueB2, 1,i: 32,622,536 msg/sec AtomicQueueB2, 2,s: 11,437,037 msg/sec AtomicQueueB2, 2,i: 11,119,735 msg/sec AtomicQueueB2, 3,s: 9,605,463 msg/sec AtomicQueueB2, 3,i: 9,530,980 msg/sec AtomicQueueB2, 4,s: 7,912,249 msg/sec AtomicQueueB2, 4,i: 7,850,856 msg/sec AtomicQueueB2, 5,s: 7,437,321 msg/sec AtomicQueueB2, 5,i: 7,704,039 msg/sec AtomicQueueB2, 6,s: 7,173,061 msg/sec AtomicQueueB2, 6,i: 7,418,256 msg/sec AtomicQueueB2, 7,s: 6,885,269 msg/sec AtomicQueueB2, 7,i: 7,715,348 msg/sec AtomicQueueB2, 8,s: 6,269,596 msg/sec AtomicQueueB2, 8,i: 7,096,965 msg/sec OptimistAtomicQueue2, 1,s: 474,242,018 msg/sec OptimistAtomicQueue2, 1,i: 33,598,724 msg/sec OptimistAtomicQueue2, 2,s: 24,263,845 msg/sec OptimistAtomicQueue2, 2,i: 24,392,682 msg/sec OptimistAtomicQueue2, 3,s: 30,313,981 msg/sec OptimistAtomicQueue2, 3,i: 29,970,658 msg/sec OptimistAtomicQueue2, 4,s: 33,167,392 msg/sec OptimistAtomicQueue2, 4,i: 33,091,819 msg/sec OptimistAtomicQueue2, 5,s: 37,434,791 msg/sec OptimistAtomicQueue2, 5,i: 41,005,670 msg/sec OptimistAtomicQueue2, 6,s: 40,218,014 msg/sec OptimistAtomicQueue2, 6,i: 49,235,192 msg/sec OptimistAtomicQueue2, 7,s: 43,144,097 msg/sec OptimistAtomicQueue2, 7,i: 48,065,417 msg/sec OptimistAtomicQueue2, 8,s: 43,904,459 msg/sec OptimistAtomicQueue2, 8,i: 48,414,776 msg/sec OptimistAtomicQueueB2, 1,s: 90,740,754 msg/sec OptimistAtomicQueueB2, 1,i: 33,768,338 msg/sec OptimistAtomicQueueB2, 2,s: 28,622,124 msg/sec OptimistAtomicQueueB2, 2,i: 21,826,376 msg/sec OptimistAtomicQueueB2, 3,s: 30,328,780 msg/sec OptimistAtomicQueueB2, 3,i: 28,835,307 msg/sec OptimistAtomicQueueB2, 4,s: 33,246,185 msg/sec OptimistAtomicQueueB2, 4,i: 32,107,956 msg/sec OptimistAtomicQueueB2, 5,s: 34,530,146 msg/sec OptimistAtomicQueueB2, 5,i: 39,275,318 msg/sec OptimistAtomicQueueB2, 6,s: 37,469,236 msg/sec OptimistAtomicQueueB2, 6,i: 42,294,012 msg/sec OptimistAtomicQueueB2, 7,s: 40,765,304 msg/sec OptimistAtomicQueueB2, 7,i: 45,574,475 msg/sec OptimistAtomicQueueB2, 8,s: 42,022,269 msg/sec OptimistAtomicQueueB2, 8,i: 45,852,961 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000241 sec/round-trip pthread_spinlock: 0.000000249 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000269 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [232] 175m:10s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,168,105 msg/sec boost::lockfree::spsc_queue, 1,i: 70,855,930 msg/sec boost::lockfree::queue, 1,s: 6,925,978 msg/sec boost::lockfree::queue, 1,i: 6,903,620 msg/sec boost::lockfree::queue, 2,s: 7,661,775 msg/sec boost::lockfree::queue, 2,i: 7,622,035 msg/sec boost::lockfree::queue, 3,s: 7,378,129 msg/sec boost::lockfree::queue, 3,i: 7,572,996 msg/sec boost::lockfree::queue, 4,s: 6,415,277 msg/sec boost::lockfree::queue, 4,i: 6,745,882 msg/sec boost::lockfree::queue, 5,s: 6,454,958 msg/sec boost::lockfree::queue, 5,i: 6,483,451 msg/sec boost::lockfree::queue, 6,s: 5,966,788 msg/sec boost::lockfree::queue, 6,i: 6,123,954 msg/sec boost::lockfree::queue, 7,s: 6,014,405 msg/sec boost::lockfree::queue, 7,i: 6,006,719 msg/sec boost::lockfree::queue, 8,s: 5,439,554 msg/sec boost::lockfree::queue, 8,i: 5,576,238 msg/sec moodycamel::ReaderWriterQueue, 1,s: 390,467,897 msg/sec moodycamel::ReaderWriterQueue, 1,i: 450,459,835 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,885,323 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,666,942 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,200,580 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,566,752 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,354,510 msg/sec moodycamel::ConcurrentQueue, 3,i: 40,003,424 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,977,278 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,195,545 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,634,582 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,156,380 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,422,967 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,034,319 msg/sec moodycamel::ConcurrentQueue, 7,s: 47,797,203 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,401,908 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,323,891 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,979,985 msg/sec pthread_spinlock, 1,s: 29,026,095 msg/sec pthread_spinlock, 1,i: 25,392,113 msg/sec pthread_spinlock, 2,s: 15,903,667 msg/sec pthread_spinlock, 2,i: 16,995,881 msg/sec pthread_spinlock, 3,s: 8,389,690 msg/sec pthread_spinlock, 3,i: 11,962,207 msg/sec pthread_spinlock, 4,s: 6,473,658 msg/sec pthread_spinlock, 4,i: 8,941,390 msg/sec pthread_spinlock, 5,s: 8,591,054 msg/sec pthread_spinlock, 5,i: 9,084,249 msg/sec pthread_spinlock, 6,s: 8,261,247 msg/sec pthread_spinlock, 6,i: 8,370,047 msg/sec pthread_spinlock, 7,s: 7,551,931 msg/sec pthread_spinlock, 7,i: 7,615,112 msg/sec pthread_spinlock, 8,s: 6,873,375 msg/sec pthread_spinlock, 8,i: 7,239,089 msg/sec std::mutex, 1,s: 7,350,838 msg/sec std::mutex, 1,i: 6,900,736 msg/sec std::mutex, 2,s: 5,348,618 msg/sec std::mutex, 2,i: 5,004,816 msg/sec std::mutex, 3,s: 4,731,277 msg/sec std::mutex, 3,i: 4,646,606 msg/sec std::mutex, 4,s: 5,679,810 msg/sec std::mutex, 4,i: 6,187,002 msg/sec std::mutex, 5,s: 5,990,457 msg/sec std::mutex, 5,i: 5,926,645 msg/sec std::mutex, 6,s: 5,877,792 msg/sec std::mutex, 6,i: 5,850,360 msg/sec std::mutex, 7,s: 5,750,884 msg/sec std::mutex, 7,i: 5,736,794 msg/sec std::mutex, 8,s: 5,695,695 msg/sec std::mutex, 8,i: 5,675,419 msg/sec tbb::spin_mutex, 1,s: 37,910,081 msg/sec tbb::spin_mutex, 1,i: 33,020,021 msg/sec tbb::spin_mutex, 2,s: 21,183,619 msg/sec tbb::spin_mutex, 2,i: 18,569,235 msg/sec tbb::spin_mutex, 3,s: 8,285,885 msg/sec tbb::spin_mutex, 3,i: 10,249,344 msg/sec tbb::spin_mutex, 4,s: 3,190,901 msg/sec tbb::spin_mutex, 4,i: 6,380,414 msg/sec tbb::spin_mutex, 5,s: 5,525,988 msg/sec tbb::spin_mutex, 5,i: 5,544,485 msg/sec tbb::spin_mutex, 6,s: 5,370,169 msg/sec tbb::spin_mutex, 6,i: 4,368,753 msg/sec tbb::spin_mutex, 7,s: 4,865,230 msg/sec tbb::spin_mutex, 7,i: 4,342,398 msg/sec tbb::spin_mutex, 8,s: 3,845,835 msg/sec tbb::spin_mutex, 8,i: 4,147,496 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,529,290 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,312,505 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,680,416 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,461,357 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,339,561 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,974,556 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,446,356 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,234,920 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,639,174 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,873,820 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,944,974 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,900,232 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,945,188 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,949,891 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,952,253 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,090,098 msg/sec xenium::michael_scott_queue, 1,s: 9,404,014 msg/sec xenium::michael_scott_queue, 1,i: 9,387,279 msg/sec xenium::michael_scott_queue, 2,s: 8,606,974 msg/sec xenium::michael_scott_queue, 2,i: 8,506,490 msg/sec xenium::michael_scott_queue, 3,s: 7,180,029 msg/sec xenium::michael_scott_queue, 3,i: 7,551,962 msg/sec xenium::michael_scott_queue, 4,s: 6,339,675 msg/sec xenium::michael_scott_queue, 4,i: 6,443,199 msg/sec xenium::michael_scott_queue, 5,s: 6,301,327 msg/sec xenium::michael_scott_queue, 5,i: 6,614,600 msg/sec xenium::michael_scott_queue, 6,s: 6,468,410 msg/sec xenium::michael_scott_queue, 6,i: 6,955,410 msg/sec xenium::michael_scott_queue, 7,s: 6,279,253 msg/sec xenium::michael_scott_queue, 7,i: 6,443,934 msg/sec xenium::michael_scott_queue, 8,s: 6,027,633 msg/sec xenium::michael_scott_queue, 8,i: 6,234,846 msg/sec xenium::ramalhete_queue, 1,s: 32,032,661 msg/sec xenium::ramalhete_queue, 1,i: 31,723,909 msg/sec xenium::ramalhete_queue, 2,s: 23,585,023 msg/sec xenium::ramalhete_queue, 2,i: 23,479,224 msg/sec xenium::ramalhete_queue, 3,s: 29,272,848 msg/sec xenium::ramalhete_queue, 3,i: 28,516,547 msg/sec xenium::ramalhete_queue, 4,s: 33,824,644 msg/sec xenium::ramalhete_queue, 4,i: 33,537,674 msg/sec xenium::ramalhete_queue, 5,s: 32,027,719 msg/sec xenium::ramalhete_queue, 5,i: 36,099,965 msg/sec xenium::ramalhete_queue, 6,s: 33,802,655 msg/sec xenium::ramalhete_queue, 6,i: 39,262,215 msg/sec xenium::ramalhete_queue, 7,s: 35,036,250 msg/sec xenium::ramalhete_queue, 7,i: 40,575,199 msg/sec xenium::ramalhete_queue, 8,s: 35,163,477 msg/sec xenium::ramalhete_queue, 8,i: 43,453,712 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,891,584 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,782,092 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,674,174 msg/sec xenium::vyukov_bounded_queue, 2,i: 29,204,433 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,667,769 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,989,012 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,554,979 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,303,831 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,487,976 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,340,837 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,912,393 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,260,095 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,135,144 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,932,556 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,428,594 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,520,980 msg/sec AtomicQueue, 1,s: 61,948,108 msg/sec AtomicQueue, 1,i: 56,684,560 msg/sec AtomicQueue, 2,s: 12,330,130 msg/sec AtomicQueue, 2,i: 11,756,497 msg/sec AtomicQueue, 3,s: 10,798,346 msg/sec AtomicQueue, 3,i: 9,989,724 msg/sec AtomicQueue, 4,s: 8,177,944 msg/sec AtomicQueue, 4,i: 8,184,342 msg/sec AtomicQueue, 5,s: 7,992,306 msg/sec AtomicQueue, 5,i: 8,077,460 msg/sec AtomicQueue, 6,s: 7,834,481 msg/sec AtomicQueue, 6,i: 7,612,061 msg/sec AtomicQueue, 7,s: 7,146,224 msg/sec AtomicQueue, 7,i: 7,977,542 msg/sec AtomicQueue, 8,s: 6,318,095 msg/sec AtomicQueue, 8,i: 7,456,033 msg/sec AtomicQueueB, 1,s: 43,880,337 msg/sec AtomicQueueB, 1,i: 68,639,420 msg/sec AtomicQueueB, 2,s: 11,843,888 msg/sec AtomicQueueB, 2,i: 11,495,899 msg/sec AtomicQueueB, 3,s: 11,019,695 msg/sec AtomicQueueB, 3,i: 9,978,460 msg/sec AtomicQueueB, 4,s: 8,055,259 msg/sec AtomicQueueB, 4,i: 8,067,523 msg/sec AtomicQueueB, 5,s: 7,652,700 msg/sec AtomicQueueB, 5,i: 7,786,778 msg/sec AtomicQueueB, 6,s: 7,286,402 msg/sec AtomicQueueB, 6,i: 7,514,532 msg/sec AtomicQueueB, 7,s: 6,893,270 msg/sec AtomicQueueB, 7,i: 7,723,920 msg/sec AtomicQueueB, 8,s: 6,294,059 msg/sec AtomicQueueB, 8,i: 7,149,389 msg/sec OptimistAtomicQueue, 1,s: 749,081,485 msg/sec OptimistAtomicQueue, 1,i: 755,156,681 msg/sec OptimistAtomicQueue, 2,s: 32,644,196 msg/sec OptimistAtomicQueue, 2,i: 32,700,980 msg/sec OptimistAtomicQueue, 3,s: 36,648,001 msg/sec OptimistAtomicQueue, 3,i: 37,430,255 msg/sec OptimistAtomicQueue, 4,s: 39,272,127 msg/sec OptimistAtomicQueue, 4,i: 39,366,641 msg/sec OptimistAtomicQueue, 5,s: 41,767,179 msg/sec OptimistAtomicQueue, 5,i: 46,144,967 msg/sec OptimistAtomicQueue, 6,s: 42,079,950 msg/sec OptimistAtomicQueue, 6,i: 49,852,459 msg/sec OptimistAtomicQueue, 7,s: 44,426,244 msg/sec OptimistAtomicQueue, 7,i: 51,967,869 msg/sec OptimistAtomicQueue, 8,s: 46,373,415 msg/sec OptimistAtomicQueue, 8,i: 48,912,918 msg/sec OptimistAtomicQueueB, 1,s: 77,609,406 msg/sec OptimistAtomicQueueB, 1,i: 85,024,670 msg/sec OptimistAtomicQueueB, 2,s: 32,223,444 msg/sec OptimistAtomicQueueB, 2,i: 32,181,161 msg/sec OptimistAtomicQueueB, 3,s: 36,274,229 msg/sec OptimistAtomicQueueB, 3,i: 36,867,395 msg/sec OptimistAtomicQueueB, 4,s: 38,744,415 msg/sec OptimistAtomicQueueB, 4,i: 38,604,242 msg/sec OptimistAtomicQueueB, 5,s: 40,930,063 msg/sec OptimistAtomicQueueB, 5,i: 45,161,759 msg/sec OptimistAtomicQueueB, 6,s: 40,639,586 msg/sec OptimistAtomicQueueB, 6,i: 49,088,621 msg/sec OptimistAtomicQueueB, 7,s: 42,648,539 msg/sec OptimistAtomicQueueB, 7,i: 51,562,815 msg/sec OptimistAtomicQueueB, 8,s: 44,513,987 msg/sec OptimistAtomicQueueB, 8,i: 47,977,996 msg/sec AtomicQueue2, 1,s: 22,841,465 msg/sec AtomicQueue2, 1,i: 22,846,752 msg/sec AtomicQueue2, 2,s: 11,823,254 msg/sec AtomicQueue2, 2,i: 11,384,979 msg/sec AtomicQueue2, 3,s: 9,435,135 msg/sec AtomicQueue2, 3,i: 9,463,596 msg/sec AtomicQueue2, 4,s: 8,061,632 msg/sec AtomicQueue2, 4,i: 8,024,522 msg/sec AtomicQueue2, 5,s: 7,946,967 msg/sec AtomicQueue2, 5,i: 8,053,497 msg/sec AtomicQueue2, 6,s: 7,897,139 msg/sec AtomicQueue2, 6,i: 7,493,464 msg/sec AtomicQueue2, 7,s: 7,089,273 msg/sec AtomicQueue2, 7,i: 7,899,847 msg/sec AtomicQueue2, 8,s: 6,367,400 msg/sec AtomicQueue2, 8,i: 7,404,124 msg/sec AtomicQueueB2, 1,s: 36,099,200 msg/sec AtomicQueueB2, 1,i: 32,647,139 msg/sec AtomicQueueB2, 2,s: 11,450,133 msg/sec AtomicQueueB2, 2,i: 11,093,969 msg/sec AtomicQueueB2, 3,s: 9,683,845 msg/sec AtomicQueueB2, 3,i: 9,563,243 msg/sec AtomicQueueB2, 4,s: 7,992,084 msg/sec AtomicQueueB2, 4,i: 7,802,666 msg/sec AtomicQueueB2, 5,s: 7,515,046 msg/sec AtomicQueueB2, 5,i: 7,748,014 msg/sec AtomicQueueB2, 6,s: 7,269,888 msg/sec AtomicQueueB2, 6,i: 7,483,615 msg/sec AtomicQueueB2, 7,s: 6,921,909 msg/sec AtomicQueueB2, 7,i: 7,707,813 msg/sec AtomicQueueB2, 8,s: 6,286,872 msg/sec AtomicQueueB2, 8,i: 7,055,526 msg/sec OptimistAtomicQueue2, 1,s: 405,221,235 msg/sec OptimistAtomicQueue2, 1,i: 31,811,886 msg/sec OptimistAtomicQueue2, 2,s: 25,361,887 msg/sec OptimistAtomicQueue2, 2,i: 24,022,031 msg/sec OptimistAtomicQueue2, 3,s: 29,835,549 msg/sec OptimistAtomicQueue2, 3,i: 29,950,954 msg/sec OptimistAtomicQueue2, 4,s: 33,502,901 msg/sec OptimistAtomicQueue2, 4,i: 33,446,073 msg/sec OptimistAtomicQueue2, 5,s: 37,589,793 msg/sec OptimistAtomicQueue2, 5,i: 40,353,376 msg/sec OptimistAtomicQueue2, 6,s: 40,434,247 msg/sec OptimistAtomicQueue2, 6,i: 49,268,778 msg/sec OptimistAtomicQueue2, 7,s: 42,728,490 msg/sec OptimistAtomicQueue2, 7,i: 48,219,260 msg/sec OptimistAtomicQueue2, 8,s: 44,140,293 msg/sec OptimistAtomicQueue2, 8,i: 48,404,841 msg/sec OptimistAtomicQueueB2, 1,s: 76,605,001 msg/sec OptimistAtomicQueueB2, 1,i: 33,883,441 msg/sec OptimistAtomicQueueB2, 2,s: 27,816,876 msg/sec OptimistAtomicQueueB2, 2,i: 25,838,243 msg/sec OptimistAtomicQueueB2, 3,s: 30,526,378 msg/sec OptimistAtomicQueueB2, 3,i: 29,127,399 msg/sec OptimistAtomicQueueB2, 4,s: 33,374,793 msg/sec OptimistAtomicQueueB2, 4,i: 33,027,465 msg/sec OptimistAtomicQueueB2, 5,s: 34,583,008 msg/sec OptimistAtomicQueueB2, 5,i: 39,279,281 msg/sec OptimistAtomicQueueB2, 6,s: 37,305,918 msg/sec OptimistAtomicQueueB2, 6,i: 42,342,903 msg/sec OptimistAtomicQueueB2, 7,s: 40,233,615 msg/sec OptimistAtomicQueueB2, 7,i: 43,187,623 msg/sec OptimistAtomicQueueB2, 8,s: 42,182,177 msg/sec OptimistAtomicQueueB2, 8,i: 46,519,710 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000145 sec/round-trip moodycamel::ConcurrentQueue: 0.000000245 sec/round-trip pthread_spinlock: 0.000000239 sec/round-trip std::mutex: 0.000000434 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000144 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [233] 173m:51s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,585,061 msg/sec boost::lockfree::spsc_queue, 1,i: 70,583,466 msg/sec boost::lockfree::queue, 1,s: 6,916,855 msg/sec boost::lockfree::queue, 1,i: 6,823,131 msg/sec boost::lockfree::queue, 2,s: 7,515,682 msg/sec boost::lockfree::queue, 2,i: 7,414,288 msg/sec boost::lockfree::queue, 3,s: 7,401,967 msg/sec boost::lockfree::queue, 3,i: 7,554,374 msg/sec boost::lockfree::queue, 4,s: 6,418,004 msg/sec boost::lockfree::queue, 4,i: 6,806,937 msg/sec boost::lockfree::queue, 5,s: 6,421,679 msg/sec boost::lockfree::queue, 5,i: 6,471,737 msg/sec boost::lockfree::queue, 6,s: 5,989,901 msg/sec boost::lockfree::queue, 6,i: 6,095,058 msg/sec boost::lockfree::queue, 7,s: 5,889,936 msg/sec boost::lockfree::queue, 7,i: 5,920,739 msg/sec boost::lockfree::queue, 8,s: 5,801,836 msg/sec boost::lockfree::queue, 8,i: 5,664,422 msg/sec moodycamel::ReaderWriterQueue, 1,s: 454,817,259 msg/sec moodycamel::ReaderWriterQueue, 1,i: 418,430,656 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,079,210 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,801,469 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,080,482 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,200,322 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,970,822 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,610,287 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,623,484 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,262,863 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,372,157 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,388,054 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,153,959 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,279,933 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,905,151 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,791,982 msg/sec moodycamel::ConcurrentQueue, 8,s: 61,187,363 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,102,735 msg/sec pthread_spinlock, 1,s: 28,779,757 msg/sec pthread_spinlock, 1,i: 25,398,230 msg/sec pthread_spinlock, 2,s: 15,919,141 msg/sec pthread_spinlock, 2,i: 16,799,083 msg/sec pthread_spinlock, 3,s: 8,330,688 msg/sec pthread_spinlock, 3,i: 11,946,670 msg/sec pthread_spinlock, 4,s: 6,476,142 msg/sec pthread_spinlock, 4,i: 9,223,546 msg/sec pthread_spinlock, 5,s: 8,741,507 msg/sec pthread_spinlock, 5,i: 9,446,514 msg/sec pthread_spinlock, 6,s: 8,488,359 msg/sec pthread_spinlock, 6,i: 8,604,483 msg/sec pthread_spinlock, 7,s: 7,761,769 msg/sec pthread_spinlock, 7,i: 8,009,318 msg/sec pthread_spinlock, 8,s: 6,875,009 msg/sec pthread_spinlock, 8,i: 6,927,637 msg/sec std::mutex, 1,s: 7,564,171 msg/sec std::mutex, 1,i: 7,554,707 msg/sec std::mutex, 2,s: 5,904,497 msg/sec std::mutex, 2,i: 6,019,219 msg/sec std::mutex, 3,s: 5,969,265 msg/sec std::mutex, 3,i: 6,053,978 msg/sec std::mutex, 4,s: 6,047,501 msg/sec std::mutex, 4,i: 6,165,747 msg/sec std::mutex, 5,s: 5,510,188 msg/sec std::mutex, 5,i: 6,000,937 msg/sec std::mutex, 6,s: 5,885,027 msg/sec std::mutex, 6,i: 5,878,252 msg/sec std::mutex, 7,s: 5,708,499 msg/sec std::mutex, 7,i: 5,739,483 msg/sec std::mutex, 8,s: 5,601,856 msg/sec std::mutex, 8,i: 5,628,997 msg/sec tbb::spin_mutex, 1,s: 37,565,853 msg/sec tbb::spin_mutex, 1,i: 37,790,966 msg/sec tbb::spin_mutex, 2,s: 21,110,007 msg/sec tbb::spin_mutex, 2,i: 19,688,556 msg/sec tbb::spin_mutex, 3,s: 8,371,927 msg/sec tbb::spin_mutex, 3,i: 10,296,810 msg/sec tbb::spin_mutex, 4,s: 3,244,268 msg/sec tbb::spin_mutex, 4,i: 6,351,487 msg/sec tbb::spin_mutex, 5,s: 5,615,299 msg/sec tbb::spin_mutex, 5,i: 5,487,870 msg/sec tbb::spin_mutex, 6,s: 5,299,418 msg/sec tbb::spin_mutex, 6,i: 4,395,563 msg/sec tbb::spin_mutex, 7,s: 4,861,511 msg/sec tbb::spin_mutex, 7,i: 4,356,302 msg/sec tbb::spin_mutex, 8,s: 4,237,039 msg/sec tbb::spin_mutex, 8,i: 4,066,794 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,042,557 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,821,505 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,849,907 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,923,700 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,591,726 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,618,408 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,319,345 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,228,815 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,666,175 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,742,149 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,717,938 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,112,077 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,847,457 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,065,332 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,870,654 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,104,529 msg/sec xenium::michael_scott_queue, 1,s: 10,113,248 msg/sec xenium::michael_scott_queue, 1,i: 10,014,110 msg/sec xenium::michael_scott_queue, 2,s: 8,453,770 msg/sec xenium::michael_scott_queue, 2,i: 8,459,504 msg/sec xenium::michael_scott_queue, 3,s: 7,287,624 msg/sec xenium::michael_scott_queue, 3,i: 7,539,725 msg/sec xenium::michael_scott_queue, 4,s: 6,398,550 msg/sec xenium::michael_scott_queue, 4,i: 6,298,837 msg/sec xenium::michael_scott_queue, 5,s: 6,315,857 msg/sec xenium::michael_scott_queue, 5,i: 6,627,823 msg/sec xenium::michael_scott_queue, 6,s: 6,566,622 msg/sec xenium::michael_scott_queue, 6,i: 6,852,013 msg/sec xenium::michael_scott_queue, 7,s: 6,287,787 msg/sec xenium::michael_scott_queue, 7,i: 6,506,302 msg/sec xenium::michael_scott_queue, 8,s: 5,979,552 msg/sec xenium::michael_scott_queue, 8,i: 6,234,785 msg/sec xenium::ramalhete_queue, 1,s: 31,013,028 msg/sec xenium::ramalhete_queue, 1,i: 31,740,273 msg/sec xenium::ramalhete_queue, 2,s: 23,602,423 msg/sec xenium::ramalhete_queue, 2,i: 23,319,900 msg/sec xenium::ramalhete_queue, 3,s: 29,228,701 msg/sec xenium::ramalhete_queue, 3,i: 28,410,263 msg/sec xenium::ramalhete_queue, 4,s: 33,792,948 msg/sec xenium::ramalhete_queue, 4,i: 33,459,424 msg/sec xenium::ramalhete_queue, 5,s: 32,109,011 msg/sec xenium::ramalhete_queue, 5,i: 36,007,245 msg/sec xenium::ramalhete_queue, 6,s: 33,996,082 msg/sec xenium::ramalhete_queue, 6,i: 38,988,804 msg/sec xenium::ramalhete_queue, 7,s: 35,225,129 msg/sec xenium::ramalhete_queue, 7,i: 40,906,956 msg/sec xenium::ramalhete_queue, 8,s: 35,615,628 msg/sec xenium::ramalhete_queue, 8,i: 44,015,896 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,201,655 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,674,992 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,165,480 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,714,890 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,563,239 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,053,397 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,122,991 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,087,573 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,881,744 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,340,871 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,997,451 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,519,645 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,186,113 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,348,688 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,420,720 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,533,729 msg/sec AtomicQueue, 1,s: 59,079,385 msg/sec AtomicQueue, 1,i: 56,196,657 msg/sec AtomicQueue, 2,s: 12,382,296 msg/sec AtomicQueue, 2,i: 11,747,390 msg/sec AtomicQueue, 3,s: 10,784,620 msg/sec AtomicQueue, 3,i: 9,974,118 msg/sec AtomicQueue, 4,s: 8,219,673 msg/sec AtomicQueue, 4,i: 8,198,723 msg/sec AtomicQueue, 5,s: 8,055,864 msg/sec AtomicQueue, 5,i: 8,104,521 msg/sec AtomicQueue, 6,s: 7,672,948 msg/sec AtomicQueue, 6,i: 7,614,788 msg/sec AtomicQueue, 7,s: 7,088,300 msg/sec AtomicQueue, 7,i: 7,997,148 msg/sec AtomicQueue, 8,s: 6,332,175 msg/sec AtomicQueue, 8,i: 7,433,552 msg/sec AtomicQueueB, 1,s: 44,623,667 msg/sec AtomicQueueB, 1,i: 61,876,565 msg/sec AtomicQueueB, 2,s: 11,827,215 msg/sec AtomicQueueB, 2,i: 11,505,380 msg/sec AtomicQueueB, 3,s: 10,932,582 msg/sec AtomicQueueB, 3,i: 10,206,618 msg/sec AtomicQueueB, 4,s: 8,059,594 msg/sec AtomicQueueB, 4,i: 7,999,947 msg/sec AtomicQueueB, 5,s: 7,634,092 msg/sec AtomicQueueB, 5,i: 7,780,571 msg/sec AtomicQueueB, 6,s: 7,275,880 msg/sec AtomicQueueB, 6,i: 7,527,845 msg/sec AtomicQueueB, 7,s: 6,914,350 msg/sec AtomicQueueB, 7,i: 7,718,841 msg/sec AtomicQueueB, 8,s: 6,237,380 msg/sec AtomicQueueB, 8,i: 7,142,461 msg/sec OptimistAtomicQueue, 1,s: 798,697,324 msg/sec OptimistAtomicQueue, 1,i: 623,191,381 msg/sec OptimistAtomicQueue, 2,s: 32,648,134 msg/sec OptimistAtomicQueue, 2,i: 32,710,758 msg/sec OptimistAtomicQueue, 3,s: 36,649,153 msg/sec OptimistAtomicQueue, 3,i: 37,407,072 msg/sec OptimistAtomicQueue, 4,s: 39,279,888 msg/sec OptimistAtomicQueue, 4,i: 39,366,144 msg/sec OptimistAtomicQueue, 5,s: 42,371,650 msg/sec OptimistAtomicQueue, 5,i: 46,227,713 msg/sec OptimistAtomicQueue, 6,s: 42,857,723 msg/sec OptimistAtomicQueue, 6,i: 50,294,236 msg/sec OptimistAtomicQueue, 7,s: 45,149,556 msg/sec OptimistAtomicQueue, 7,i: 51,940,379 msg/sec OptimistAtomicQueue, 8,s: 46,388,180 msg/sec OptimistAtomicQueue, 8,i: 49,134,533 msg/sec OptimistAtomicQueueB, 1,s: 90,610,674 msg/sec OptimistAtomicQueueB, 1,i: 246,088,136 msg/sec OptimistAtomicQueueB, 2,s: 32,145,264 msg/sec OptimistAtomicQueueB, 2,i: 32,206,359 msg/sec OptimistAtomicQueueB, 3,s: 36,306,350 msg/sec OptimistAtomicQueueB, 3,i: 36,932,872 msg/sec OptimistAtomicQueueB, 4,s: 38,723,328 msg/sec OptimistAtomicQueueB, 4,i: 38,741,934 msg/sec OptimistAtomicQueueB, 5,s: 40,659,823 msg/sec OptimistAtomicQueueB, 5,i: 45,625,856 msg/sec OptimistAtomicQueueB, 6,s: 40,823,643 msg/sec OptimistAtomicQueueB, 6,i: 49,002,421 msg/sec OptimistAtomicQueueB, 7,s: 41,855,809 msg/sec OptimistAtomicQueueB, 7,i: 48,206,456 msg/sec OptimistAtomicQueueB, 8,s: 44,417,960 msg/sec OptimistAtomicQueueB, 8,i: 48,826,215 msg/sec AtomicQueue2, 1,s: 23,236,221 msg/sec AtomicQueue2, 1,i: 23,142,418 msg/sec AtomicQueue2, 2,s: 11,803,177 msg/sec AtomicQueue2, 2,i: 11,367,836 msg/sec AtomicQueue2, 3,s: 9,727,816 msg/sec AtomicQueue2, 3,i: 9,383,725 msg/sec AtomicQueue2, 4,s: 8,066,141 msg/sec AtomicQueue2, 4,i: 8,013,825 msg/sec AtomicQueue2, 5,s: 7,934,370 msg/sec AtomicQueue2, 5,i: 8,097,440 msg/sec AtomicQueue2, 6,s: 7,649,052 msg/sec AtomicQueue2, 6,i: 7,557,110 msg/sec AtomicQueue2, 7,s: 7,157,334 msg/sec AtomicQueue2, 7,i: 7,901,367 msg/sec AtomicQueue2, 8,s: 6,372,579 msg/sec AtomicQueue2, 8,i: 7,321,097 msg/sec AtomicQueueB2, 1,s: 35,926,819 msg/sec AtomicQueueB2, 1,i: 35,875,767 msg/sec AtomicQueueB2, 2,s: 11,386,661 msg/sec AtomicQueueB2, 2,i: 11,133,103 msg/sec AtomicQueueB2, 3,s: 9,693,238 msg/sec AtomicQueueB2, 3,i: 9,599,310 msg/sec AtomicQueueB2, 4,s: 7,931,209 msg/sec AtomicQueueB2, 4,i: 7,839,921 msg/sec AtomicQueueB2, 5,s: 7,375,981 msg/sec AtomicQueueB2, 5,i: 7,790,442 msg/sec AtomicQueueB2, 6,s: 7,357,351 msg/sec AtomicQueueB2, 6,i: 7,429,812 msg/sec AtomicQueueB2, 7,s: 6,911,791 msg/sec AtomicQueueB2, 7,i: 7,739,107 msg/sec AtomicQueueB2, 8,s: 6,330,182 msg/sec AtomicQueueB2, 8,i: 7,078,933 msg/sec OptimistAtomicQueue2, 1,s: 518,517,222 msg/sec OptimistAtomicQueue2, 1,i: 31,548,928 msg/sec OptimistAtomicQueue2, 2,s: 22,518,562 msg/sec OptimistAtomicQueue2, 2,i: 24,627,906 msg/sec OptimistAtomicQueue2, 3,s: 33,834,235 msg/sec OptimistAtomicQueue2, 3,i: 30,281,542 msg/sec OptimistAtomicQueue2, 4,s: 33,255,908 msg/sec OptimistAtomicQueue2, 4,i: 33,186,321 msg/sec OptimistAtomicQueue2, 5,s: 36,966,493 msg/sec OptimistAtomicQueue2, 5,i: 40,305,722 msg/sec OptimistAtomicQueue2, 6,s: 40,439,818 msg/sec OptimistAtomicQueue2, 6,i: 49,326,883 msg/sec OptimistAtomicQueue2, 7,s: 43,071,764 msg/sec OptimistAtomicQueue2, 7,i: 48,149,687 msg/sec OptimistAtomicQueue2, 8,s: 44,085,460 msg/sec OptimistAtomicQueue2, 8,i: 49,636,634 msg/sec OptimistAtomicQueueB2, 1,s: 78,600,405 msg/sec OptimistAtomicQueueB2, 1,i: 33,917,958 msg/sec OptimistAtomicQueueB2, 2,s: 27,177,557 msg/sec OptimistAtomicQueueB2, 2,i: 28,774,588 msg/sec OptimistAtomicQueueB2, 3,s: 30,382,283 msg/sec OptimistAtomicQueueB2, 3,i: 29,229,842 msg/sec OptimistAtomicQueueB2, 4,s: 33,672,715 msg/sec OptimistAtomicQueueB2, 4,i: 32,660,794 msg/sec OptimistAtomicQueueB2, 5,s: 34,541,038 msg/sec OptimistAtomicQueueB2, 5,i: 39,144,264 msg/sec OptimistAtomicQueueB2, 6,s: 37,174,028 msg/sec OptimistAtomicQueueB2, 6,i: 42,319,438 msg/sec OptimistAtomicQueueB2, 7,s: 40,200,267 msg/sec OptimistAtomicQueueB2, 7,i: 45,410,402 msg/sec OptimistAtomicQueueB2, 8,s: 42,302,996 msg/sec OptimistAtomicQueueB2, 8,i: 45,196,448 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000324 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000126 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000451 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000303 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [234] 172m:32s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,802,736 msg/sec boost::lockfree::spsc_queue, 1,i: 73,855,405 msg/sec boost::lockfree::queue, 1,s: 7,685,525 msg/sec boost::lockfree::queue, 1,i: 6,976,132 msg/sec boost::lockfree::queue, 2,s: 7,634,106 msg/sec boost::lockfree::queue, 2,i: 7,497,670 msg/sec boost::lockfree::queue, 3,s: 7,390,338 msg/sec boost::lockfree::queue, 3,i: 7,572,915 msg/sec boost::lockfree::queue, 4,s: 6,425,766 msg/sec boost::lockfree::queue, 4,i: 6,808,801 msg/sec boost::lockfree::queue, 5,s: 6,426,587 msg/sec boost::lockfree::queue, 5,i: 6,438,704 msg/sec boost::lockfree::queue, 6,s: 5,973,481 msg/sec boost::lockfree::queue, 6,i: 6,145,132 msg/sec boost::lockfree::queue, 7,s: 6,026,093 msg/sec boost::lockfree::queue, 7,i: 6,065,442 msg/sec boost::lockfree::queue, 8,s: 5,415,081 msg/sec boost::lockfree::queue, 8,i: 5,670,518 msg/sec moodycamel::ReaderWriterQueue, 1,s: 102,012,939 msg/sec moodycamel::ReaderWriterQueue, 1,i: 60,159,141 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,294,808 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,822,164 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,210,937 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,894,967 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,270,729 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,737,795 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,120,084 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,077,480 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,448,547 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,422,007 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,382,054 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,162,481 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,939,169 msg/sec moodycamel::ConcurrentQueue, 7,i: 30,610,591 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,087,520 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,501,507 msg/sec pthread_spinlock, 1,s: 28,852,553 msg/sec pthread_spinlock, 1,i: 25,327,968 msg/sec pthread_spinlock, 2,s: 15,719,536 msg/sec pthread_spinlock, 2,i: 16,991,475 msg/sec pthread_spinlock, 3,s: 8,306,759 msg/sec pthread_spinlock, 3,i: 12,127,477 msg/sec pthread_spinlock, 4,s: 6,477,627 msg/sec pthread_spinlock, 4,i: 8,919,518 msg/sec pthread_spinlock, 5,s: 8,668,693 msg/sec pthread_spinlock, 5,i: 9,255,120 msg/sec pthread_spinlock, 6,s: 8,295,433 msg/sec pthread_spinlock, 6,i: 8,449,200 msg/sec pthread_spinlock, 7,s: 7,990,797 msg/sec pthread_spinlock, 7,i: 7,660,773 msg/sec pthread_spinlock, 8,s: 6,940,851 msg/sec pthread_spinlock, 8,i: 7,352,592 msg/sec std::mutex, 1,s: 6,290,297 msg/sec std::mutex, 1,i: 6,264,090 msg/sec std::mutex, 2,s: 5,903,203 msg/sec std::mutex, 2,i: 5,992,107 msg/sec std::mutex, 3,s: 5,921,639 msg/sec std::mutex, 3,i: 5,997,987 msg/sec std::mutex, 4,s: 6,006,094 msg/sec std::mutex, 4,i: 6,173,072 msg/sec std::mutex, 5,s: 5,962,889 msg/sec std::mutex, 5,i: 5,949,354 msg/sec std::mutex, 6,s: 5,857,631 msg/sec std::mutex, 6,i: 5,829,136 msg/sec std::mutex, 7,s: 5,803,341 msg/sec std::mutex, 7,i: 5,755,964 msg/sec std::mutex, 8,s: 5,651,917 msg/sec std::mutex, 8,i: 5,653,354 msg/sec tbb::spin_mutex, 1,s: 37,590,929 msg/sec tbb::spin_mutex, 1,i: 33,074,830 msg/sec tbb::spin_mutex, 2,s: 21,314,033 msg/sec tbb::spin_mutex, 2,i: 18,450,876 msg/sec tbb::spin_mutex, 3,s: 8,067,285 msg/sec tbb::spin_mutex, 3,i: 11,347,442 msg/sec tbb::spin_mutex, 4,s: 3,162,322 msg/sec tbb::spin_mutex, 4,i: 6,379,099 msg/sec tbb::spin_mutex, 5,s: 5,433,680 msg/sec tbb::spin_mutex, 5,i: 5,685,227 msg/sec tbb::spin_mutex, 6,s: 5,299,170 msg/sec tbb::spin_mutex, 6,i: 4,374,594 msg/sec tbb::spin_mutex, 7,s: 4,850,360 msg/sec tbb::spin_mutex, 7,i: 4,316,680 msg/sec tbb::spin_mutex, 8,s: 3,927,881 msg/sec tbb::spin_mutex, 8,i: 4,184,448 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,515,825 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,488,804 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,099,118 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,576,448 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,957,712 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,606,430 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,324,780 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,285,485 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,615,984 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,173,094 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,812,202 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,434,573 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,958,394 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,639,457 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,063,663 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,703,261 msg/sec xenium::michael_scott_queue, 1,s: 9,286,082 msg/sec xenium::michael_scott_queue, 1,i: 9,535,758 msg/sec xenium::michael_scott_queue, 2,s: 8,372,511 msg/sec xenium::michael_scott_queue, 2,i: 8,339,640 msg/sec xenium::michael_scott_queue, 3,s: 7,278,732 msg/sec xenium::michael_scott_queue, 3,i: 7,498,598 msg/sec xenium::michael_scott_queue, 4,s: 6,294,939 msg/sec xenium::michael_scott_queue, 4,i: 6,384,722 msg/sec xenium::michael_scott_queue, 5,s: 6,325,312 msg/sec xenium::michael_scott_queue, 5,i: 6,684,534 msg/sec xenium::michael_scott_queue, 6,s: 6,503,037 msg/sec xenium::michael_scott_queue, 6,i: 6,936,478 msg/sec xenium::michael_scott_queue, 7,s: 6,272,217 msg/sec xenium::michael_scott_queue, 7,i: 6,398,584 msg/sec xenium::michael_scott_queue, 8,s: 5,975,613 msg/sec xenium::michael_scott_queue, 8,i: 6,105,216 msg/sec xenium::ramalhete_queue, 1,s: 32,404,337 msg/sec xenium::ramalhete_queue, 1,i: 32,947,527 msg/sec xenium::ramalhete_queue, 2,s: 23,591,236 msg/sec xenium::ramalhete_queue, 2,i: 23,405,443 msg/sec xenium::ramalhete_queue, 3,s: 29,360,879 msg/sec xenium::ramalhete_queue, 3,i: 28,514,091 msg/sec xenium::ramalhete_queue, 4,s: 33,925,453 msg/sec xenium::ramalhete_queue, 4,i: 33,563,556 msg/sec xenium::ramalhete_queue, 5,s: 32,100,157 msg/sec xenium::ramalhete_queue, 5,i: 36,046,743 msg/sec xenium::ramalhete_queue, 6,s: 34,079,630 msg/sec xenium::ramalhete_queue, 6,i: 39,652,606 msg/sec xenium::ramalhete_queue, 7,s: 35,113,469 msg/sec xenium::ramalhete_queue, 7,i: 41,058,222 msg/sec xenium::ramalhete_queue, 8,s: 35,427,289 msg/sec xenium::ramalhete_queue, 8,i: 43,182,302 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,187,999 msg/sec xenium::vyukov_bounded_queue, 1,i: 117,704,249 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,405,306 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,676,855 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,635,092 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,876,633 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,701,184 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,048,139 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,988,696 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,350,793 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,967,976 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,733,110 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,275,486 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,883,299 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,095 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,226,392 msg/sec AtomicQueue, 1,s: 61,102,815 msg/sec AtomicQueue, 1,i: 55,785,532 msg/sec AtomicQueue, 2,s: 12,386,114 msg/sec AtomicQueue, 2,i: 11,758,069 msg/sec AtomicQueue, 3,s: 10,820,290 msg/sec AtomicQueue, 3,i: 9,946,739 msg/sec AtomicQueue, 4,s: 8,196,386 msg/sec AtomicQueue, 4,i: 8,197,879 msg/sec AtomicQueue, 5,s: 8,033,943 msg/sec AtomicQueue, 5,i: 8,126,128 msg/sec AtomicQueue, 6,s: 7,804,685 msg/sec AtomicQueue, 6,i: 7,607,893 msg/sec AtomicQueue, 7,s: 7,085,168 msg/sec AtomicQueue, 7,i: 8,011,628 msg/sec AtomicQueue, 8,s: 6,325,999 msg/sec AtomicQueue, 8,i: 7,421,782 msg/sec AtomicQueueB, 1,s: 43,974,114 msg/sec AtomicQueueB, 1,i: 43,025,584 msg/sec AtomicQueueB, 2,s: 11,565,362 msg/sec AtomicQueueB, 2,i: 11,394,818 msg/sec AtomicQueueB, 3,s: 11,010,017 msg/sec AtomicQueueB, 3,i: 10,126,830 msg/sec AtomicQueueB, 4,s: 8,056,702 msg/sec AtomicQueueB, 4,i: 8,057,910 msg/sec AtomicQueueB, 5,s: 7,506,568 msg/sec AtomicQueueB, 5,i: 7,833,008 msg/sec AtomicQueueB, 6,s: 7,309,052 msg/sec AtomicQueueB, 6,i: 7,589,936 msg/sec AtomicQueueB, 7,s: 6,933,859 msg/sec AtomicQueueB, 7,i: 7,576,609 msg/sec AtomicQueueB, 8,s: 6,241,695 msg/sec AtomicQueueB, 8,i: 7,154,439 msg/sec OptimistAtomicQueue, 1,s: 753,662,280 msg/sec OptimistAtomicQueue, 1,i: 534,332,892 msg/sec OptimistAtomicQueue, 2,s: 32,158,603 msg/sec OptimistAtomicQueue, 2,i: 32,246,284 msg/sec OptimistAtomicQueue, 3,s: 36,676,824 msg/sec OptimistAtomicQueue, 3,i: 37,379,639 msg/sec OptimistAtomicQueue, 4,s: 39,324,395 msg/sec OptimistAtomicQueue, 4,i: 39,371,175 msg/sec OptimistAtomicQueue, 5,s: 42,342,761 msg/sec OptimistAtomicQueue, 5,i: 46,873,355 msg/sec OptimistAtomicQueue, 6,s: 43,049,375 msg/sec OptimistAtomicQueue, 6,i: 50,469,019 msg/sec OptimistAtomicQueue, 7,s: 44,365,033 msg/sec OptimistAtomicQueue, 7,i: 52,953,402 msg/sec OptimistAtomicQueue, 8,s: 46,422,801 msg/sec OptimistAtomicQueue, 8,i: 49,346,137 msg/sec OptimistAtomicQueueB, 1,s: 77,688,234 msg/sec OptimistAtomicQueueB, 1,i: 77,804,842 msg/sec OptimistAtomicQueueB, 2,s: 32,251,211 msg/sec OptimistAtomicQueueB, 2,i: 32,218,728 msg/sec OptimistAtomicQueueB, 3,s: 36,217,449 msg/sec OptimistAtomicQueueB, 3,i: 36,695,523 msg/sec OptimistAtomicQueueB, 4,s: 38,580,189 msg/sec OptimistAtomicQueueB, 4,i: 38,620,433 msg/sec OptimistAtomicQueueB, 5,s: 37,006,707 msg/sec OptimistAtomicQueueB, 5,i: 45,334,290 msg/sec OptimistAtomicQueueB, 6,s: 41,187,247 msg/sec OptimistAtomicQueueB, 6,i: 49,069,209 msg/sec OptimistAtomicQueueB, 7,s: 41,786,617 msg/sec OptimistAtomicQueueB, 7,i: 47,989,941 msg/sec OptimistAtomicQueueB, 8,s: 44,610,331 msg/sec OptimistAtomicQueueB, 8,i: 48,581,296 msg/sec AtomicQueue2, 1,s: 22,903,830 msg/sec AtomicQueue2, 1,i: 23,100,281 msg/sec AtomicQueue2, 2,s: 11,871,824 msg/sec AtomicQueue2, 2,i: 11,515,525 msg/sec AtomicQueue2, 3,s: 9,709,951 msg/sec AtomicQueue2, 3,i: 9,454,257 msg/sec AtomicQueue2, 4,s: 7,992,043 msg/sec AtomicQueue2, 4,i: 8,036,586 msg/sec AtomicQueue2, 5,s: 7,946,161 msg/sec AtomicQueue2, 5,i: 8,057,803 msg/sec AtomicQueue2, 6,s: 7,691,837 msg/sec AtomicQueue2, 6,i: 7,524,100 msg/sec AtomicQueue2, 7,s: 7,047,570 msg/sec AtomicQueue2, 7,i: 7,896,997 msg/sec AtomicQueue2, 8,s: 6,390,914 msg/sec AtomicQueue2, 8,i: 7,382,060 msg/sec AtomicQueueB2, 1,s: 39,249,673 msg/sec AtomicQueueB2, 1,i: 33,419,645 msg/sec AtomicQueueB2, 2,s: 11,327,403 msg/sec AtomicQueueB2, 2,i: 11,108,875 msg/sec AtomicQueueB2, 3,s: 9,551,653 msg/sec AtomicQueueB2, 3,i: 9,483,341 msg/sec AtomicQueueB2, 4,s: 7,956,970 msg/sec AtomicQueueB2, 4,i: 7,913,478 msg/sec AtomicQueueB2, 5,s: 7,348,393 msg/sec AtomicQueueB2, 5,i: 7,759,557 msg/sec AtomicQueueB2, 6,s: 7,301,471 msg/sec AtomicQueueB2, 6,i: 7,459,753 msg/sec AtomicQueueB2, 7,s: 6,876,330 msg/sec AtomicQueueB2, 7,i: 7,707,871 msg/sec AtomicQueueB2, 8,s: 6,334,977 msg/sec AtomicQueueB2, 8,i: 7,067,992 msg/sec OptimistAtomicQueue2, 1,s: 57,464,986 msg/sec OptimistAtomicQueue2, 1,i: 29,571,330 msg/sec OptimistAtomicQueue2, 2,s: 24,815,986 msg/sec OptimistAtomicQueue2, 2,i: 24,844,395 msg/sec OptimistAtomicQueue2, 3,s: 30,322,904 msg/sec OptimistAtomicQueue2, 3,i: 30,357,429 msg/sec OptimistAtomicQueue2, 4,s: 33,269,748 msg/sec OptimistAtomicQueue2, 4,i: 33,054,424 msg/sec OptimistAtomicQueue2, 5,s: 37,231,862 msg/sec OptimistAtomicQueue2, 5,i: 42,107,459 msg/sec OptimistAtomicQueue2, 6,s: 39,841,982 msg/sec OptimistAtomicQueue2, 6,i: 49,121,714 msg/sec OptimistAtomicQueue2, 7,s: 43,021,302 msg/sec OptimistAtomicQueue2, 7,i: 48,092,346 msg/sec OptimistAtomicQueue2, 8,s: 43,991,430 msg/sec OptimistAtomicQueue2, 8,i: 48,350,657 msg/sec OptimistAtomicQueueB2, 1,s: 76,332,307 msg/sec OptimistAtomicQueueB2, 1,i: 33,931,466 msg/sec OptimistAtomicQueueB2, 2,s: 27,409,452 msg/sec OptimistAtomicQueueB2, 2,i: 23,156,542 msg/sec OptimistAtomicQueueB2, 3,s: 30,358,202 msg/sec OptimistAtomicQueueB2, 3,i: 29,273,762 msg/sec OptimistAtomicQueueB2, 4,s: 33,225,302 msg/sec OptimistAtomicQueueB2, 4,i: 32,053,124 msg/sec OptimistAtomicQueueB2, 5,s: 34,771,698 msg/sec OptimistAtomicQueueB2, 5,i: 39,343,359 msg/sec OptimistAtomicQueueB2, 6,s: 37,188,076 msg/sec OptimistAtomicQueueB2, 6,i: 42,262,632 msg/sec OptimistAtomicQueueB2, 7,s: 40,108,115 msg/sec OptimistAtomicQueueB2, 7,i: 45,456,649 msg/sec OptimistAtomicQueueB2, 8,s: 42,407,169 msg/sec OptimistAtomicQueueB2, 8,i: 45,680,881 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000329 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000222 sec/round-trip pthread_spinlock: 0.000000293 sec/round-trip std::mutex: 0.000000452 sec/round-trip tbb::spin_mutex: 0.000000246 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000257 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [235] 171m:13s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,388,650 msg/sec boost::lockfree::spsc_queue, 1,i: 68,075,882 msg/sec boost::lockfree::queue, 1,s: 7,043,418 msg/sec boost::lockfree::queue, 1,i: 6,851,847 msg/sec boost::lockfree::queue, 2,s: 7,579,488 msg/sec boost::lockfree::queue, 2,i: 7,474,071 msg/sec boost::lockfree::queue, 3,s: 7,347,951 msg/sec boost::lockfree::queue, 3,i: 7,563,244 msg/sec boost::lockfree::queue, 4,s: 6,424,327 msg/sec boost::lockfree::queue, 4,i: 6,841,189 msg/sec boost::lockfree::queue, 5,s: 6,412,060 msg/sec boost::lockfree::queue, 5,i: 6,462,511 msg/sec boost::lockfree::queue, 6,s: 5,993,948 msg/sec boost::lockfree::queue, 6,i: 6,161,597 msg/sec boost::lockfree::queue, 7,s: 6,039,148 msg/sec boost::lockfree::queue, 7,i: 5,911,229 msg/sec boost::lockfree::queue, 8,s: 5,485,972 msg/sec boost::lockfree::queue, 8,i: 5,585,208 msg/sec moodycamel::ReaderWriterQueue, 1,s: 96,835,847 msg/sec moodycamel::ReaderWriterQueue, 1,i: 74,919,309 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,866,599 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,057,566 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,823,981 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,602,854 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,609,870 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,786,485 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,799,856 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,192,120 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,306,899 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,255,203 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,569,519 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,229,511 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,983,094 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,349,503 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,162,380 msg/sec moodycamel::ConcurrentQueue, 8,i: 35,099,315 msg/sec pthread_spinlock, 1,s: 29,233,624 msg/sec pthread_spinlock, 1,i: 25,470,650 msg/sec pthread_spinlock, 2,s: 15,636,252 msg/sec pthread_spinlock, 2,i: 17,168,013 msg/sec pthread_spinlock, 3,s: 8,275,670 msg/sec pthread_spinlock, 3,i: 11,989,458 msg/sec pthread_spinlock, 4,s: 6,501,307 msg/sec pthread_spinlock, 4,i: 8,879,577 msg/sec pthread_spinlock, 5,s: 8,686,286 msg/sec pthread_spinlock, 5,i: 9,128,231 msg/sec pthread_spinlock, 6,s: 8,536,362 msg/sec pthread_spinlock, 6,i: 9,022,649 msg/sec pthread_spinlock, 7,s: 7,686,605 msg/sec pthread_spinlock, 7,i: 7,985,278 msg/sec pthread_spinlock, 8,s: 6,662,756 msg/sec pthread_spinlock, 8,i: 6,894,047 msg/sec std::mutex, 1,s: 7,351,315 msg/sec std::mutex, 1,i: 7,739,571 msg/sec std::mutex, 2,s: 4,949,156 msg/sec std::mutex, 2,i: 5,450,586 msg/sec std::mutex, 3,s: 5,758,884 msg/sec std::mutex, 3,i: 5,925,253 msg/sec std::mutex, 4,s: 6,264,039 msg/sec std::mutex, 4,i: 6,219,383 msg/sec std::mutex, 5,s: 6,106,563 msg/sec std::mutex, 5,i: 6,044,005 msg/sec std::mutex, 6,s: 5,932,741 msg/sec std::mutex, 6,i: 5,953,101 msg/sec std::mutex, 7,s: 5,806,272 msg/sec std::mutex, 7,i: 5,836,068 msg/sec std::mutex, 8,s: 5,694,012 msg/sec std::mutex, 8,i: 5,729,284 msg/sec tbb::spin_mutex, 1,s: 37,837,513 msg/sec tbb::spin_mutex, 1,i: 32,961,351 msg/sec tbb::spin_mutex, 2,s: 21,250,099 msg/sec tbb::spin_mutex, 2,i: 18,410,526 msg/sec tbb::spin_mutex, 3,s: 7,366,346 msg/sec tbb::spin_mutex, 3,i: 10,340,767 msg/sec tbb::spin_mutex, 4,s: 3,171,783 msg/sec tbb::spin_mutex, 4,i: 6,323,912 msg/sec tbb::spin_mutex, 5,s: 5,435,610 msg/sec tbb::spin_mutex, 5,i: 5,494,049 msg/sec tbb::spin_mutex, 6,s: 5,340,312 msg/sec tbb::spin_mutex, 6,i: 4,354,708 msg/sec tbb::spin_mutex, 7,s: 4,834,633 msg/sec tbb::spin_mutex, 7,i: 4,328,829 msg/sec tbb::spin_mutex, 8,s: 4,268,980 msg/sec tbb::spin_mutex, 8,i: 4,079,832 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,428,174 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,254,791 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,772,940 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,859,427 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,945,627 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,761,985 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,261,426 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,289,843 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,550,451 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,177,914 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,887,276 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,509,681 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,018,053 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,590,570 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,063,124 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,680,900 msg/sec xenium::michael_scott_queue, 1,s: 9,199,663 msg/sec xenium::michael_scott_queue, 1,i: 9,003,648 msg/sec xenium::michael_scott_queue, 2,s: 8,345,963 msg/sec xenium::michael_scott_queue, 2,i: 8,436,964 msg/sec xenium::michael_scott_queue, 3,s: 7,250,774 msg/sec xenium::michael_scott_queue, 3,i: 7,560,974 msg/sec xenium::michael_scott_queue, 4,s: 6,277,922 msg/sec xenium::michael_scott_queue, 4,i: 6,312,963 msg/sec xenium::michael_scott_queue, 5,s: 6,285,243 msg/sec xenium::michael_scott_queue, 5,i: 6,597,863 msg/sec xenium::michael_scott_queue, 6,s: 6,461,013 msg/sec xenium::michael_scott_queue, 6,i: 6,768,674 msg/sec xenium::michael_scott_queue, 7,s: 6,337,547 msg/sec xenium::michael_scott_queue, 7,i: 6,617,361 msg/sec xenium::michael_scott_queue, 8,s: 6,008,845 msg/sec xenium::michael_scott_queue, 8,i: 6,135,637 msg/sec xenium::ramalhete_queue, 1,s: 31,029,614 msg/sec xenium::ramalhete_queue, 1,i: 31,378,039 msg/sec xenium::ramalhete_queue, 2,s: 23,549,083 msg/sec xenium::ramalhete_queue, 2,i: 23,314,862 msg/sec xenium::ramalhete_queue, 3,s: 29,214,057 msg/sec xenium::ramalhete_queue, 3,i: 28,405,276 msg/sec xenium::ramalhete_queue, 4,s: 33,860,100 msg/sec xenium::ramalhete_queue, 4,i: 33,466,957 msg/sec xenium::ramalhete_queue, 5,s: 31,808,107 msg/sec xenium::ramalhete_queue, 5,i: 35,963,262 msg/sec xenium::ramalhete_queue, 6,s: 33,862,892 msg/sec xenium::ramalhete_queue, 6,i: 39,419,901 msg/sec xenium::ramalhete_queue, 7,s: 35,131,293 msg/sec xenium::ramalhete_queue, 7,i: 41,834,838 msg/sec xenium::ramalhete_queue, 8,s: 35,651,302 msg/sec xenium::ramalhete_queue, 8,i: 44,015,233 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,766,169 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,745,247 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,212,200 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,300,033 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,659,544 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,759,068 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,443,581 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,538,526 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,819,120 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,341,663 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,091,955 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,511,457 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,279,751 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,070,593 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,735 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,244,891 msg/sec AtomicQueue, 1,s: 222,156,315 msg/sec AtomicQueue, 1,i: 98,435,115 msg/sec AtomicQueue, 2,s: 12,301,901 msg/sec AtomicQueue, 2,i: 11,773,366 msg/sec AtomicQueue, 3,s: 10,727,485 msg/sec AtomicQueue, 3,i: 9,909,673 msg/sec AtomicQueue, 4,s: 8,148,772 msg/sec AtomicQueue, 4,i: 8,195,974 msg/sec AtomicQueue, 5,s: 8,033,561 msg/sec AtomicQueue, 5,i: 8,078,239 msg/sec AtomicQueue, 6,s: 7,789,764 msg/sec AtomicQueue, 6,i: 7,643,782 msg/sec AtomicQueue, 7,s: 7,165,363 msg/sec AtomicQueue, 7,i: 7,984,972 msg/sec AtomicQueue, 8,s: 6,336,235 msg/sec AtomicQueue, 8,i: 7,494,775 msg/sec AtomicQueueB, 1,s: 49,228,474 msg/sec AtomicQueueB, 1,i: 43,061,532 msg/sec AtomicQueueB, 2,s: 12,019,484 msg/sec AtomicQueueB, 2,i: 11,313,406 msg/sec AtomicQueueB, 3,s: 10,977,245 msg/sec AtomicQueueB, 3,i: 10,308,153 msg/sec AtomicQueueB, 4,s: 8,084,371 msg/sec AtomicQueueB, 4,i: 8,038,299 msg/sec AtomicQueueB, 5,s: 7,493,568 msg/sec AtomicQueueB, 5,i: 7,823,190 msg/sec AtomicQueueB, 6,s: 7,395,684 msg/sec AtomicQueueB, 6,i: 7,527,855 msg/sec AtomicQueueB, 7,s: 6,869,808 msg/sec AtomicQueueB, 7,i: 7,700,157 msg/sec AtomicQueueB, 8,s: 6,192,162 msg/sec AtomicQueueB, 8,i: 7,164,780 msg/sec OptimistAtomicQueue, 1,s: 808,146,602 msg/sec OptimistAtomicQueue, 1,i: 674,622,034 msg/sec OptimistAtomicQueue, 2,s: 32,147,300 msg/sec OptimistAtomicQueue, 2,i: 32,722,151 msg/sec OptimistAtomicQueue, 3,s: 36,659,500 msg/sec OptimistAtomicQueue, 3,i: 37,421,154 msg/sec OptimistAtomicQueue, 4,s: 39,317,020 msg/sec OptimistAtomicQueue, 4,i: 39,393,162 msg/sec OptimistAtomicQueue, 5,s: 39,908,722 msg/sec OptimistAtomicQueue, 5,i: 46,515,913 msg/sec OptimistAtomicQueue, 6,s: 41,986,366 msg/sec OptimistAtomicQueue, 6,i: 50,306,246 msg/sec OptimistAtomicQueue, 7,s: 44,116,644 msg/sec OptimistAtomicQueue, 7,i: 49,198,650 msg/sec OptimistAtomicQueue, 8,s: 46,326,123 msg/sec OptimistAtomicQueue, 8,i: 48,805,818 msg/sec OptimistAtomicQueueB, 1,s: 129,991,756 msg/sec OptimistAtomicQueueB, 1,i: 161,469,195 msg/sec OptimistAtomicQueueB, 2,s: 32,190,235 msg/sec OptimistAtomicQueueB, 2,i: 32,230,580 msg/sec OptimistAtomicQueueB, 3,s: 36,237,938 msg/sec OptimistAtomicQueueB, 3,i: 36,957,941 msg/sec OptimistAtomicQueueB, 4,s: 38,753,746 msg/sec OptimistAtomicQueueB, 4,i: 38,726,656 msg/sec OptimistAtomicQueueB, 5,s: 41,188,845 msg/sec OptimistAtomicQueueB, 5,i: 46,170,198 msg/sec OptimistAtomicQueueB, 6,s: 40,808,766 msg/sec OptimistAtomicQueueB, 6,i: 48,530,148 msg/sec OptimistAtomicQueueB, 7,s: 41,897,579 msg/sec OptimistAtomicQueueB, 7,i: 47,847,042 msg/sec OptimistAtomicQueueB, 8,s: 44,299,011 msg/sec OptimistAtomicQueueB, 8,i: 47,872,522 msg/sec AtomicQueue2, 1,s: 23,334,482 msg/sec AtomicQueue2, 1,i: 23,131,553 msg/sec AtomicQueue2, 2,s: 11,985,060 msg/sec AtomicQueue2, 2,i: 11,572,711 msg/sec AtomicQueue2, 3,s: 9,661,136 msg/sec AtomicQueue2, 3,i: 9,468,816 msg/sec AtomicQueue2, 4,s: 8,071,892 msg/sec AtomicQueue2, 4,i: 8,042,502 msg/sec AtomicQueue2, 5,s: 7,954,481 msg/sec AtomicQueue2, 5,i: 8,007,958 msg/sec AtomicQueue2, 6,s: 7,879,651 msg/sec AtomicQueue2, 6,i: 7,520,790 msg/sec AtomicQueue2, 7,s: 7,174,569 msg/sec AtomicQueue2, 7,i: 7,909,656 msg/sec AtomicQueue2, 8,s: 6,388,462 msg/sec AtomicQueue2, 8,i: 7,379,293 msg/sec AtomicQueueB2, 1,s: 36,075,893 msg/sec AtomicQueueB2, 1,i: 32,637,998 msg/sec AtomicQueueB2, 2,s: 11,427,531 msg/sec AtomicQueueB2, 2,i: 11,137,197 msg/sec AtomicQueueB2, 3,s: 9,743,058 msg/sec AtomicQueueB2, 3,i: 9,414,358 msg/sec AtomicQueueB2, 4,s: 7,922,394 msg/sec AtomicQueueB2, 4,i: 7,830,885 msg/sec AtomicQueueB2, 5,s: 7,428,379 msg/sec AtomicQueueB2, 5,i: 7,668,575 msg/sec AtomicQueueB2, 6,s: 7,243,385 msg/sec AtomicQueueB2, 6,i: 7,441,307 msg/sec AtomicQueueB2, 7,s: 6,879,630 msg/sec AtomicQueueB2, 7,i: 7,724,377 msg/sec AtomicQueueB2, 8,s: 6,273,695 msg/sec AtomicQueueB2, 8,i: 6,990,206 msg/sec OptimistAtomicQueue2, 1,s: 529,842,448 msg/sec OptimistAtomicQueue2, 1,i: 31,940,619 msg/sec OptimistAtomicQueue2, 2,s: 28,323,333 msg/sec OptimistAtomicQueue2, 2,i: 29,009,559 msg/sec OptimistAtomicQueue2, 3,s: 30,436,729 msg/sec OptimistAtomicQueue2, 3,i: 29,986,847 msg/sec OptimistAtomicQueue2, 4,s: 33,393,609 msg/sec OptimistAtomicQueue2, 4,i: 33,191,377 msg/sec OptimistAtomicQueue2, 5,s: 37,148,660 msg/sec OptimistAtomicQueue2, 5,i: 40,357,632 msg/sec OptimistAtomicQueue2, 6,s: 40,238,111 msg/sec OptimistAtomicQueue2, 6,i: 49,081,532 msg/sec OptimistAtomicQueue2, 7,s: 42,876,810 msg/sec OptimistAtomicQueue2, 7,i: 51,480,240 msg/sec OptimistAtomicQueue2, 8,s: 43,910,291 msg/sec OptimistAtomicQueue2, 8,i: 48,562,728 msg/sec OptimistAtomicQueueB2, 1,s: 78,882,120 msg/sec OptimistAtomicQueueB2, 1,i: 39,784,873 msg/sec OptimistAtomicQueueB2, 2,s: 28,935,534 msg/sec OptimistAtomicQueueB2, 2,i: 23,143,305 msg/sec OptimistAtomicQueueB2, 3,s: 29,708,889 msg/sec OptimistAtomicQueueB2, 3,i: 30,757,431 msg/sec OptimistAtomicQueueB2, 4,s: 33,424,290 msg/sec OptimistAtomicQueueB2, 4,i: 32,671,749 msg/sec OptimistAtomicQueueB2, 5,s: 34,328,446 msg/sec OptimistAtomicQueueB2, 5,i: 39,012,117 msg/sec OptimistAtomicQueueB2, 6,s: 37,853,492 msg/sec OptimistAtomicQueueB2, 6,i: 42,317,421 msg/sec OptimistAtomicQueueB2, 7,s: 40,209,098 msg/sec OptimistAtomicQueueB2, 7,i: 43,214,936 msg/sec OptimistAtomicQueueB2, 8,s: 42,189,394 msg/sec OptimistAtomicQueueB2, 8,i: 45,325,617 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000472 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000201 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [236] 169m:54s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,462,227 msg/sec boost::lockfree::spsc_queue, 1,i: 70,179,618 msg/sec boost::lockfree::queue, 1,s: 6,784,030 msg/sec boost::lockfree::queue, 1,i: 6,862,471 msg/sec boost::lockfree::queue, 2,s: 7,576,538 msg/sec boost::lockfree::queue, 2,i: 7,571,359 msg/sec boost::lockfree::queue, 3,s: 7,463,425 msg/sec boost::lockfree::queue, 3,i: 7,538,673 msg/sec boost::lockfree::queue, 4,s: 6,411,686 msg/sec boost::lockfree::queue, 4,i: 6,788,615 msg/sec boost::lockfree::queue, 5,s: 6,376,918 msg/sec boost::lockfree::queue, 5,i: 6,459,653 msg/sec boost::lockfree::queue, 6,s: 5,983,581 msg/sec boost::lockfree::queue, 6,i: 6,076,114 msg/sec boost::lockfree::queue, 7,s: 5,888,554 msg/sec boost::lockfree::queue, 7,i: 6,074,082 msg/sec boost::lockfree::queue, 8,s: 5,493,774 msg/sec boost::lockfree::queue, 8,i: 5,666,560 msg/sec moodycamel::ReaderWriterQueue, 1,s: 261,189,658 msg/sec moodycamel::ReaderWriterQueue, 1,i: 118,715,205 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,110,825 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,214,930 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,087,519 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,991,644 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,287,165 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,569,124 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,548,060 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,247,844 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,502,512 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,609,103 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,172,136 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,365,621 msg/sec moodycamel::ConcurrentQueue, 7,s: 45,642,259 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,792,425 msg/sec moodycamel::ConcurrentQueue, 8,s: 49,344,776 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,791,954 msg/sec pthread_spinlock, 1,s: 29,223,912 msg/sec pthread_spinlock, 1,i: 25,331,301 msg/sec pthread_spinlock, 2,s: 15,522,183 msg/sec pthread_spinlock, 2,i: 16,806,488 msg/sec pthread_spinlock, 3,s: 8,372,710 msg/sec pthread_spinlock, 3,i: 11,916,686 msg/sec pthread_spinlock, 4,s: 6,481,337 msg/sec pthread_spinlock, 4,i: 8,995,823 msg/sec pthread_spinlock, 5,s: 8,635,879 msg/sec pthread_spinlock, 5,i: 9,185,136 msg/sec pthread_spinlock, 6,s: 8,318,289 msg/sec pthread_spinlock, 6,i: 8,822,428 msg/sec pthread_spinlock, 7,s: 7,589,574 msg/sec pthread_spinlock, 7,i: 7,502,083 msg/sec pthread_spinlock, 8,s: 6,901,643 msg/sec pthread_spinlock, 8,i: 7,264,817 msg/sec std::mutex, 1,s: 6,690,983 msg/sec std::mutex, 1,i: 5,831,943 msg/sec std::mutex, 2,s: 4,846,279 msg/sec std::mutex, 2,i: 5,501,846 msg/sec std::mutex, 3,s: 4,794,075 msg/sec std::mutex, 3,i: 5,514,749 msg/sec std::mutex, 4,s: 6,025,644 msg/sec std::mutex, 4,i: 6,164,373 msg/sec std::mutex, 5,s: 5,949,489 msg/sec std::mutex, 5,i: 5,971,169 msg/sec std::mutex, 6,s: 5,738,624 msg/sec std::mutex, 6,i: 5,849,335 msg/sec std::mutex, 7,s: 5,769,272 msg/sec std::mutex, 7,i: 5,734,757 msg/sec std::mutex, 8,s: 5,646,047 msg/sec std::mutex, 8,i: 5,591,333 msg/sec tbb::spin_mutex, 1,s: 37,676,422 msg/sec tbb::spin_mutex, 1,i: 37,696,560 msg/sec tbb::spin_mutex, 2,s: 21,152,004 msg/sec tbb::spin_mutex, 2,i: 18,451,866 msg/sec tbb::spin_mutex, 3,s: 7,779,738 msg/sec tbb::spin_mutex, 3,i: 10,352,489 msg/sec tbb::spin_mutex, 4,s: 3,152,317 msg/sec tbb::spin_mutex, 4,i: 6,382,724 msg/sec tbb::spin_mutex, 5,s: 5,400,168 msg/sec tbb::spin_mutex, 5,i: 5,853,911 msg/sec tbb::spin_mutex, 6,s: 5,318,981 msg/sec tbb::spin_mutex, 6,i: 4,454,927 msg/sec tbb::spin_mutex, 7,s: 4,804,817 msg/sec tbb::spin_mutex, 7,i: 4,369,226 msg/sec tbb::spin_mutex, 8,s: 3,919,179 msg/sec tbb::spin_mutex, 8,i: 4,175,901 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,121,253 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,744,589 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,752,179 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,009,450 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,204,452 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,528,869 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,068,148 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,237,012 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,592,806 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,360,832 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,614,790 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,706,073 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,682,672 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,173,865 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,750,224 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,917,095 msg/sec xenium::michael_scott_queue, 1,s: 9,182,344 msg/sec xenium::michael_scott_queue, 1,i: 9,140,193 msg/sec xenium::michael_scott_queue, 2,s: 8,456,627 msg/sec xenium::michael_scott_queue, 2,i: 8,524,950 msg/sec xenium::michael_scott_queue, 3,s: 7,355,175 msg/sec xenium::michael_scott_queue, 3,i: 7,542,248 msg/sec xenium::michael_scott_queue, 4,s: 6,290,699 msg/sec xenium::michael_scott_queue, 4,i: 6,318,222 msg/sec xenium::michael_scott_queue, 5,s: 6,305,295 msg/sec xenium::michael_scott_queue, 5,i: 6,578,512 msg/sec xenium::michael_scott_queue, 6,s: 6,446,193 msg/sec xenium::michael_scott_queue, 6,i: 6,707,137 msg/sec xenium::michael_scott_queue, 7,s: 6,278,227 msg/sec xenium::michael_scott_queue, 7,i: 6,525,910 msg/sec xenium::michael_scott_queue, 8,s: 5,996,304 msg/sec xenium::michael_scott_queue, 8,i: 6,050,756 msg/sec xenium::ramalhete_queue, 1,s: 32,196,093 msg/sec xenium::ramalhete_queue, 1,i: 32,200,529 msg/sec xenium::ramalhete_queue, 2,s: 23,563,293 msg/sec xenium::ramalhete_queue, 2,i: 23,326,996 msg/sec xenium::ramalhete_queue, 3,s: 29,311,361 msg/sec xenium::ramalhete_queue, 3,i: 28,527,610 msg/sec xenium::ramalhete_queue, 4,s: 33,944,086 msg/sec xenium::ramalhete_queue, 4,i: 33,508,573 msg/sec xenium::ramalhete_queue, 5,s: 32,447,165 msg/sec xenium::ramalhete_queue, 5,i: 35,806,491 msg/sec xenium::ramalhete_queue, 6,s: 34,432,065 msg/sec xenium::ramalhete_queue, 6,i: 38,764,781 msg/sec xenium::ramalhete_queue, 7,s: 34,995,147 msg/sec xenium::ramalhete_queue, 7,i: 40,827,911 msg/sec xenium::ramalhete_queue, 8,s: 35,517,540 msg/sec xenium::ramalhete_queue, 8,i: 43,635,542 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,319,244 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,694,410 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,937,423 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,601,003 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,644,056 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,854,165 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,504,593 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,734,304 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,601,779 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,395,526 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,081,156 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,386,161 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,227,321 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,845,478 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,403,038 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,532,707 msg/sec AtomicQueue, 1,s: 83,234,644 msg/sec AtomicQueue, 1,i: 56,027,719 msg/sec AtomicQueue, 2,s: 12,368,610 msg/sec AtomicQueue, 2,i: 11,738,657 msg/sec AtomicQueue, 3,s: 10,755,721 msg/sec AtomicQueue, 3,i: 9,927,605 msg/sec AtomicQueue, 4,s: 8,174,758 msg/sec AtomicQueue, 4,i: 8,181,425 msg/sec AtomicQueue, 5,s: 8,041,935 msg/sec AtomicQueue, 5,i: 8,078,092 msg/sec AtomicQueue, 6,s: 7,813,810 msg/sec AtomicQueue, 6,i: 7,613,858 msg/sec AtomicQueue, 7,s: 7,102,322 msg/sec AtomicQueue, 7,i: 7,990,373 msg/sec AtomicQueue, 8,s: 6,349,698 msg/sec AtomicQueue, 8,i: 7,317,543 msg/sec AtomicQueueB, 1,s: 45,042,429 msg/sec AtomicQueueB, 1,i: 72,921,760 msg/sec AtomicQueueB, 2,s: 11,824,416 msg/sec AtomicQueueB, 2,i: 11,503,437 msg/sec AtomicQueueB, 3,s: 10,984,095 msg/sec AtomicQueueB, 3,i: 10,291,482 msg/sec AtomicQueueB, 4,s: 8,050,021 msg/sec AtomicQueueB, 4,i: 8,052,799 msg/sec AtomicQueueB, 5,s: 7,571,931 msg/sec AtomicQueueB, 5,i: 7,796,505 msg/sec AtomicQueueB, 6,s: 7,407,968 msg/sec AtomicQueueB, 6,i: 7,577,252 msg/sec AtomicQueueB, 7,s: 6,826,548 msg/sec AtomicQueueB, 7,i: 7,667,318 msg/sec AtomicQueueB, 8,s: 6,167,485 msg/sec AtomicQueueB, 8,i: 7,152,858 msg/sec OptimistAtomicQueue, 1,s: 777,307,895 msg/sec OptimistAtomicQueue, 1,i: 582,682,755 msg/sec OptimistAtomicQueue, 2,s: 32,195,028 msg/sec OptimistAtomicQueue, 2,i: 32,208,966 msg/sec OptimistAtomicQueue, 3,s: 36,590,513 msg/sec OptimistAtomicQueue, 3,i: 37,321,277 msg/sec OptimistAtomicQueue, 4,s: 39,270,829 msg/sec OptimistAtomicQueue, 4,i: 39,360,453 msg/sec OptimistAtomicQueue, 5,s: 42,578,736 msg/sec OptimistAtomicQueue, 5,i: 47,466,920 msg/sec OptimistAtomicQueue, 6,s: 42,466,137 msg/sec OptimistAtomicQueue, 6,i: 50,506,316 msg/sec OptimistAtomicQueue, 7,s: 44,006,142 msg/sec OptimistAtomicQueue, 7,i: 49,144,405 msg/sec OptimistAtomicQueue, 8,s: 46,494,816 msg/sec OptimistAtomicQueue, 8,i: 48,895,625 msg/sec OptimistAtomicQueueB, 1,s: 252,323,234 msg/sec OptimistAtomicQueueB, 1,i: 77,683,717 msg/sec OptimistAtomicQueueB, 2,s: 32,269,639 msg/sec OptimistAtomicQueueB, 2,i: 32,267,070 msg/sec OptimistAtomicQueueB, 3,s: 36,187,167 msg/sec OptimistAtomicQueueB, 3,i: 36,843,656 msg/sec OptimistAtomicQueueB, 4,s: 38,646,032 msg/sec OptimistAtomicQueueB, 4,i: 38,704,523 msg/sec OptimistAtomicQueueB, 5,s: 40,889,246 msg/sec OptimistAtomicQueueB, 5,i: 45,293,001 msg/sec OptimistAtomicQueueB, 6,s: 41,320,241 msg/sec OptimistAtomicQueueB, 6,i: 49,121,375 msg/sec OptimistAtomicQueueB, 7,s: 42,249,929 msg/sec OptimistAtomicQueueB, 7,i: 47,950,740 msg/sec OptimistAtomicQueueB, 8,s: 44,628,358 msg/sec OptimistAtomicQueueB, 8,i: 47,577,261 msg/sec AtomicQueue2, 1,s: 22,984,858 msg/sec AtomicQueue2, 1,i: 22,895,967 msg/sec AtomicQueue2, 2,s: 11,698,705 msg/sec AtomicQueue2, 2,i: 11,671,241 msg/sec AtomicQueue2, 3,s: 9,705,121 msg/sec AtomicQueue2, 3,i: 9,495,380 msg/sec AtomicQueue2, 4,s: 8,050,351 msg/sec AtomicQueue2, 4,i: 8,083,342 msg/sec AtomicQueue2, 5,s: 7,888,855 msg/sec AtomicQueue2, 5,i: 8,075,393 msg/sec AtomicQueue2, 6,s: 7,763,007 msg/sec AtomicQueue2, 6,i: 7,508,586 msg/sec AtomicQueue2, 7,s: 7,184,951 msg/sec AtomicQueue2, 7,i: 7,891,545 msg/sec AtomicQueue2, 8,s: 6,384,093 msg/sec AtomicQueue2, 8,i: 7,372,469 msg/sec AtomicQueueB2, 1,s: 38,634,365 msg/sec AtomicQueueB2, 1,i: 33,423,254 msg/sec AtomicQueueB2, 2,s: 11,326,443 msg/sec AtomicQueueB2, 2,i: 11,127,669 msg/sec AtomicQueueB2, 3,s: 9,609,600 msg/sec AtomicQueueB2, 3,i: 9,583,670 msg/sec AtomicQueueB2, 4,s: 7,920,114 msg/sec AtomicQueueB2, 4,i: 7,824,883 msg/sec AtomicQueueB2, 5,s: 7,442,531 msg/sec AtomicQueueB2, 5,i: 7,655,816 msg/sec AtomicQueueB2, 6,s: 7,219,121 msg/sec AtomicQueueB2, 6,i: 7,432,464 msg/sec AtomicQueueB2, 7,s: 6,933,848 msg/sec AtomicQueueB2, 7,i: 7,722,160 msg/sec AtomicQueueB2, 8,s: 6,331,669 msg/sec AtomicQueueB2, 8,i: 7,097,711 msg/sec OptimistAtomicQueue2, 1,s: 433,222,865 msg/sec OptimistAtomicQueue2, 1,i: 30,263,567 msg/sec OptimistAtomicQueue2, 2,s: 24,055,502 msg/sec OptimistAtomicQueue2, 2,i: 24,017,913 msg/sec OptimistAtomicQueue2, 3,s: 30,317,867 msg/sec OptimistAtomicQueue2, 3,i: 29,944,112 msg/sec OptimistAtomicQueue2, 4,s: 33,198,153 msg/sec OptimistAtomicQueue2, 4,i: 33,548,627 msg/sec OptimistAtomicQueue2, 5,s: 36,973,044 msg/sec OptimistAtomicQueue2, 5,i: 40,083,715 msg/sec OptimistAtomicQueue2, 6,s: 40,125,004 msg/sec OptimistAtomicQueue2, 6,i: 49,221,639 msg/sec OptimistAtomicQueue2, 7,s: 42,850,219 msg/sec OptimistAtomicQueue2, 7,i: 51,537,331 msg/sec OptimistAtomicQueue2, 8,s: 43,932,021 msg/sec OptimistAtomicQueue2, 8,i: 48,609,799 msg/sec OptimistAtomicQueueB2, 1,s: 76,498,616 msg/sec OptimistAtomicQueueB2, 1,i: 33,864,924 msg/sec OptimistAtomicQueueB2, 2,s: 27,393,641 msg/sec OptimistAtomicQueueB2, 2,i: 23,199,884 msg/sec OptimistAtomicQueueB2, 3,s: 30,263,714 msg/sec OptimistAtomicQueueB2, 3,i: 29,162,373 msg/sec OptimistAtomicQueueB2, 4,s: 33,053,478 msg/sec OptimistAtomicQueueB2, 4,i: 32,679,137 msg/sec OptimistAtomicQueueB2, 5,s: 34,240,573 msg/sec OptimistAtomicQueueB2, 5,i: 39,002,635 msg/sec OptimistAtomicQueueB2, 6,s: 37,252,302 msg/sec OptimistAtomicQueueB2, 6,i: 42,332,670 msg/sec OptimistAtomicQueueB2, 7,s: 40,614,836 msg/sec OptimistAtomicQueueB2, 7,i: 43,165,938 msg/sec OptimistAtomicQueueB2, 8,s: 42,424,854 msg/sec OptimistAtomicQueueB2, 8,i: 45,871,441 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000515 sec/round-trip tbb::spin_mutex: 0.000000306 sec/round-trip tbb::concurrent_bounded_queue: 0.000000293 sec/round-trip xenium::michael_scott_queue: 0.000000389 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000171 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000191 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [237] 168m:34s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 74,149,165 msg/sec boost::lockfree::spsc_queue, 1,i: 74,335,570 msg/sec boost::lockfree::queue, 1,s: 7,978,401 msg/sec boost::lockfree::queue, 1,i: 8,011,034 msg/sec boost::lockfree::queue, 2,s: 7,598,061 msg/sec boost::lockfree::queue, 2,i: 7,425,799 msg/sec boost::lockfree::queue, 3,s: 7,469,723 msg/sec boost::lockfree::queue, 3,i: 7,553,281 msg/sec boost::lockfree::queue, 4,s: 6,422,452 msg/sec boost::lockfree::queue, 4,i: 6,837,843 msg/sec boost::lockfree::queue, 5,s: 6,443,688 msg/sec boost::lockfree::queue, 5,i: 6,465,397 msg/sec boost::lockfree::queue, 6,s: 6,005,365 msg/sec boost::lockfree::queue, 6,i: 6,135,931 msg/sec boost::lockfree::queue, 7,s: 5,998,233 msg/sec boost::lockfree::queue, 7,i: 5,924,046 msg/sec boost::lockfree::queue, 8,s: 5,458,921 msg/sec boost::lockfree::queue, 8,i: 5,499,442 msg/sec moodycamel::ReaderWriterQueue, 1,s: 86,662,601 msg/sec moodycamel::ReaderWriterQueue, 1,i: 102,306,664 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,017,551 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,725,786 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,345,076 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,656,108 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,272,554 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,596,566 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,872,852 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,050,081 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,429,000 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,396,651 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,424,603 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,152,435 msg/sec moodycamel::ConcurrentQueue, 7,s: 30,783,269 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,548,072 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,306,499 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,749,390 msg/sec pthread_spinlock, 1,s: 29,465,648 msg/sec pthread_spinlock, 1,i: 25,429,907 msg/sec pthread_spinlock, 2,s: 15,509,211 msg/sec pthread_spinlock, 2,i: 16,941,351 msg/sec pthread_spinlock, 3,s: 8,349,873 msg/sec pthread_spinlock, 3,i: 11,989,713 msg/sec pthread_spinlock, 4,s: 6,573,112 msg/sec pthread_spinlock, 4,i: 9,156,196 msg/sec pthread_spinlock, 5,s: 8,630,578 msg/sec pthread_spinlock, 5,i: 9,119,266 msg/sec pthread_spinlock, 6,s: 8,326,963 msg/sec pthread_spinlock, 6,i: 9,068,273 msg/sec pthread_spinlock, 7,s: 7,550,575 msg/sec pthread_spinlock, 7,i: 7,406,099 msg/sec pthread_spinlock, 8,s: 6,650,471 msg/sec pthread_spinlock, 8,i: 7,144,014 msg/sec std::mutex, 1,s: 6,580,401 msg/sec std::mutex, 1,i: 7,380,064 msg/sec std::mutex, 2,s: 6,146,321 msg/sec std::mutex, 2,i: 5,967,981 msg/sec std::mutex, 3,s: 5,528,803 msg/sec std::mutex, 3,i: 5,460,414 msg/sec std::mutex, 4,s: 5,258,120 msg/sec std::mutex, 4,i: 6,171,671 msg/sec std::mutex, 5,s: 5,927,364 msg/sec std::mutex, 5,i: 6,142,708 msg/sec std::mutex, 6,s: 5,860,374 msg/sec std::mutex, 6,i: 5,903,492 msg/sec std::mutex, 7,s: 5,773,618 msg/sec std::mutex, 7,i: 5,766,620 msg/sec std::mutex, 8,s: 5,667,303 msg/sec std::mutex, 8,i: 5,719,915 msg/sec tbb::spin_mutex, 1,s: 37,751,286 msg/sec tbb::spin_mutex, 1,i: 32,588,344 msg/sec tbb::spin_mutex, 2,s: 21,245,971 msg/sec tbb::spin_mutex, 2,i: 18,871,033 msg/sec tbb::spin_mutex, 3,s: 8,315,998 msg/sec tbb::spin_mutex, 3,i: 10,223,584 msg/sec tbb::spin_mutex, 4,s: 3,325,570 msg/sec tbb::spin_mutex, 4,i: 6,249,433 msg/sec tbb::spin_mutex, 5,s: 5,372,791 msg/sec tbb::spin_mutex, 5,i: 5,732,781 msg/sec tbb::spin_mutex, 6,s: 5,335,962 msg/sec tbb::spin_mutex, 6,i: 4,352,005 msg/sec tbb::spin_mutex, 7,s: 4,850,688 msg/sec tbb::spin_mutex, 7,i: 4,310,104 msg/sec tbb::spin_mutex, 8,s: 4,241,809 msg/sec tbb::spin_mutex, 8,i: 4,182,073 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,269,645 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,263,460 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,853,007 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,998,063 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,327,187 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,520,065 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,136,237 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,522,943 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,597,004 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,565,644 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,718,157 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,655,216 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,839,725 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,736,369 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,123,239 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,084,976 msg/sec xenium::michael_scott_queue, 1,s: 9,548,129 msg/sec xenium::michael_scott_queue, 1,i: 9,551,186 msg/sec xenium::michael_scott_queue, 2,s: 8,489,638 msg/sec xenium::michael_scott_queue, 2,i: 8,532,438 msg/sec xenium::michael_scott_queue, 3,s: 7,320,758 msg/sec xenium::michael_scott_queue, 3,i: 7,571,078 msg/sec xenium::michael_scott_queue, 4,s: 6,412,642 msg/sec xenium::michael_scott_queue, 4,i: 6,394,747 msg/sec xenium::michael_scott_queue, 5,s: 6,334,832 msg/sec xenium::michael_scott_queue, 5,i: 6,632,725 msg/sec xenium::michael_scott_queue, 6,s: 6,592,990 msg/sec xenium::michael_scott_queue, 6,i: 6,697,772 msg/sec xenium::michael_scott_queue, 7,s: 6,333,572 msg/sec xenium::michael_scott_queue, 7,i: 6,621,856 msg/sec xenium::michael_scott_queue, 8,s: 5,989,433 msg/sec xenium::michael_scott_queue, 8,i: 6,121,707 msg/sec xenium::ramalhete_queue, 1,s: 31,957,454 msg/sec xenium::ramalhete_queue, 1,i: 32,083,146 msg/sec xenium::ramalhete_queue, 2,s: 23,532,436 msg/sec xenium::ramalhete_queue, 2,i: 23,336,657 msg/sec xenium::ramalhete_queue, 3,s: 29,093,416 msg/sec xenium::ramalhete_queue, 3,i: 28,516,676 msg/sec xenium::ramalhete_queue, 4,s: 33,686,498 msg/sec xenium::ramalhete_queue, 4,i: 33,472,936 msg/sec xenium::ramalhete_queue, 5,s: 32,141,016 msg/sec xenium::ramalhete_queue, 5,i: 38,321,336 msg/sec xenium::ramalhete_queue, 6,s: 33,971,825 msg/sec xenium::ramalhete_queue, 6,i: 38,949,669 msg/sec xenium::ramalhete_queue, 7,s: 35,270,678 msg/sec xenium::ramalhete_queue, 7,i: 41,414,286 msg/sec xenium::ramalhete_queue, 8,s: 35,587,908 msg/sec xenium::ramalhete_queue, 8,i: 43,960,168 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,977,882 msg/sec xenium::vyukov_bounded_queue, 1,i: 112,793,475 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,980,099 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,350,169 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,682,292 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,118,359 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,619,640 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,968,069 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,716,620 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,390,427 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,050,940 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,631,836 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,132,882 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,040,768 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,389,610 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,240,442 msg/sec AtomicQueue, 1,s: 59,689,592 msg/sec AtomicQueue, 1,i: 56,966,693 msg/sec AtomicQueue, 2,s: 12,289,156 msg/sec AtomicQueue, 2,i: 11,734,520 msg/sec AtomicQueue, 3,s: 10,763,143 msg/sec AtomicQueue, 3,i: 9,950,170 msg/sec AtomicQueue, 4,s: 8,178,841 msg/sec AtomicQueue, 4,i: 8,174,622 msg/sec AtomicQueue, 5,s: 8,001,458 msg/sec AtomicQueue, 5,i: 8,052,701 msg/sec AtomicQueue, 6,s: 7,970,461 msg/sec AtomicQueue, 6,i: 7,618,982 msg/sec AtomicQueue, 7,s: 7,153,596 msg/sec AtomicQueue, 7,i: 7,977,605 msg/sec AtomicQueue, 8,s: 6,340,214 msg/sec AtomicQueue, 8,i: 7,459,178 msg/sec AtomicQueueB, 1,s: 43,954,912 msg/sec AtomicQueueB, 1,i: 42,979,647 msg/sec AtomicQueueB, 2,s: 11,813,634 msg/sec AtomicQueueB, 2,i: 11,432,809 msg/sec AtomicQueueB, 3,s: 10,969,379 msg/sec AtomicQueueB, 3,i: 10,075,248 msg/sec AtomicQueueB, 4,s: 8,032,745 msg/sec AtomicQueueB, 4,i: 7,921,377 msg/sec AtomicQueueB, 5,s: 7,545,245 msg/sec AtomicQueueB, 5,i: 7,814,531 msg/sec AtomicQueueB, 6,s: 7,168,102 msg/sec AtomicQueueB, 6,i: 7,518,944 msg/sec AtomicQueueB, 7,s: 6,927,797 msg/sec AtomicQueueB, 7,i: 7,739,617 msg/sec AtomicQueueB, 8,s: 6,288,681 msg/sec AtomicQueueB, 8,i: 7,185,101 msg/sec OptimistAtomicQueue, 1,s: 749,738,575 msg/sec OptimistAtomicQueue, 1,i: 549,223,089 msg/sec OptimistAtomicQueue, 2,s: 32,177,356 msg/sec OptimistAtomicQueue, 2,i: 31,957,838 msg/sec OptimistAtomicQueue, 3,s: 36,582,749 msg/sec OptimistAtomicQueue, 3,i: 37,438,597 msg/sec OptimistAtomicQueue, 4,s: 39,251,902 msg/sec OptimistAtomicQueue, 4,i: 39,409,717 msg/sec OptimistAtomicQueue, 5,s: 42,432,331 msg/sec OptimistAtomicQueue, 5,i: 48,584,342 msg/sec OptimistAtomicQueue, 6,s: 42,233,241 msg/sec OptimistAtomicQueue, 6,i: 49,787,008 msg/sec OptimistAtomicQueue, 7,s: 45,293,937 msg/sec OptimistAtomicQueue, 7,i: 49,241,122 msg/sec OptimistAtomicQueue, 8,s: 46,453,974 msg/sec OptimistAtomicQueue, 8,i: 48,984,959 msg/sec OptimistAtomicQueueB, 1,s: 176,913,144 msg/sec OptimistAtomicQueueB, 1,i: 76,388,507 msg/sec OptimistAtomicQueueB, 2,s: 32,219,372 msg/sec OptimistAtomicQueueB, 2,i: 32,127,963 msg/sec OptimistAtomicQueueB, 3,s: 36,268,936 msg/sec OptimistAtomicQueueB, 3,i: 36,904,083 msg/sec OptimistAtomicQueueB, 4,s: 38,779,716 msg/sec OptimistAtomicQueueB, 4,i: 38,719,731 msg/sec OptimistAtomicQueueB, 5,s: 40,474,481 msg/sec OptimistAtomicQueueB, 5,i: 45,329,381 msg/sec OptimistAtomicQueueB, 6,s: 41,073,371 msg/sec OptimistAtomicQueueB, 6,i: 49,022,998 msg/sec OptimistAtomicQueueB, 7,s: 42,600,261 msg/sec OptimistAtomicQueueB, 7,i: 47,993,128 msg/sec OptimistAtomicQueueB, 8,s: 44,465,843 msg/sec OptimistAtomicQueueB, 8,i: 48,251,297 msg/sec AtomicQueue2, 1,s: 22,895,427 msg/sec AtomicQueue2, 1,i: 22,959,030 msg/sec AtomicQueue2, 2,s: 11,693,302 msg/sec AtomicQueue2, 2,i: 11,403,035 msg/sec AtomicQueue2, 3,s: 9,341,988 msg/sec AtomicQueue2, 3,i: 9,481,181 msg/sec AtomicQueue2, 4,s: 8,053,945 msg/sec AtomicQueue2, 4,i: 8,054,732 msg/sec AtomicQueue2, 5,s: 7,925,616 msg/sec AtomicQueue2, 5,i: 8,043,645 msg/sec AtomicQueue2, 6,s: 7,695,727 msg/sec AtomicQueue2, 6,i: 7,542,288 msg/sec AtomicQueue2, 7,s: 7,132,201 msg/sec AtomicQueue2, 7,i: 7,877,947 msg/sec AtomicQueue2, 8,s: 6,385,833 msg/sec AtomicQueue2, 8,i: 7,357,468 msg/sec AtomicQueueB2, 1,s: 32,115,348 msg/sec AtomicQueueB2, 1,i: 32,125,423 msg/sec AtomicQueueB2, 2,s: 11,455,383 msg/sec AtomicQueueB2, 2,i: 11,062,655 msg/sec AtomicQueueB2, 3,s: 9,740,657 msg/sec AtomicQueueB2, 3,i: 9,515,845 msg/sec AtomicQueueB2, 4,s: 7,932,691 msg/sec AtomicQueueB2, 4,i: 7,794,767 msg/sec AtomicQueueB2, 5,s: 7,495,234 msg/sec AtomicQueueB2, 5,i: 7,699,682 msg/sec AtomicQueueB2, 6,s: 7,344,667 msg/sec AtomicQueueB2, 6,i: 7,439,783 msg/sec AtomicQueueB2, 7,s: 6,888,500 msg/sec AtomicQueueB2, 7,i: 7,721,629 msg/sec AtomicQueueB2, 8,s: 6,270,280 msg/sec AtomicQueueB2, 8,i: 7,050,885 msg/sec OptimistAtomicQueue2, 1,s: 476,854,154 msg/sec OptimistAtomicQueue2, 1,i: 30,628,578 msg/sec OptimistAtomicQueue2, 2,s: 22,533,725 msg/sec OptimistAtomicQueue2, 2,i: 25,212,625 msg/sec OptimistAtomicQueue2, 3,s: 30,334,450 msg/sec OptimistAtomicQueue2, 3,i: 29,985,801 msg/sec OptimistAtomicQueue2, 4,s: 33,263,622 msg/sec OptimistAtomicQueue2, 4,i: 33,048,905 msg/sec OptimistAtomicQueue2, 5,s: 37,541,536 msg/sec OptimistAtomicQueue2, 5,i: 40,707,868 msg/sec OptimistAtomicQueue2, 6,s: 39,972,264 msg/sec OptimistAtomicQueue2, 6,i: 49,356,260 msg/sec OptimistAtomicQueue2, 7,s: 42,563,310 msg/sec OptimistAtomicQueue2, 7,i: 51,727,541 msg/sec OptimistAtomicQueue2, 8,s: 43,888,739 msg/sec OptimistAtomicQueue2, 8,i: 48,555,910 msg/sec OptimistAtomicQueueB2, 1,s: 79,154,760 msg/sec OptimistAtomicQueueB2, 1,i: 33,917,948 msg/sec OptimistAtomicQueueB2, 2,s: 27,257,989 msg/sec OptimistAtomicQueueB2, 2,i: 23,808,832 msg/sec OptimistAtomicQueueB2, 3,s: 30,400,998 msg/sec OptimistAtomicQueueB2, 3,i: 31,005,181 msg/sec OptimistAtomicQueueB2, 4,s: 33,416,058 msg/sec OptimistAtomicQueueB2, 4,i: 32,822,732 msg/sec OptimistAtomicQueueB2, 5,s: 34,421,355 msg/sec OptimistAtomicQueueB2, 5,i: 39,275,305 msg/sec OptimistAtomicQueueB2, 6,s: 37,372,357 msg/sec OptimistAtomicQueueB2, 6,i: 42,368,767 msg/sec OptimistAtomicQueueB2, 7,s: 40,184,216 msg/sec OptimistAtomicQueueB2, 7,i: 43,178,518 msg/sec OptimistAtomicQueueB2, 8,s: 42,210,751 msg/sec OptimistAtomicQueueB2, 8,i: 45,670,536 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000257 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [238] 167m:15s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,290,222 msg/sec boost::lockfree::spsc_queue, 1,i: 71,774,900 msg/sec boost::lockfree::queue, 1,s: 7,834,869 msg/sec boost::lockfree::queue, 1,i: 7,769,742 msg/sec boost::lockfree::queue, 2,s: 7,598,543 msg/sec boost::lockfree::queue, 2,i: 7,547,745 msg/sec boost::lockfree::queue, 3,s: 7,364,099 msg/sec boost::lockfree::queue, 3,i: 7,615,501 msg/sec boost::lockfree::queue, 4,s: 6,429,356 msg/sec boost::lockfree::queue, 4,i: 6,748,636 msg/sec boost::lockfree::queue, 5,s: 6,472,568 msg/sec boost::lockfree::queue, 5,i: 6,418,406 msg/sec boost::lockfree::queue, 6,s: 5,995,768 msg/sec boost::lockfree::queue, 6,i: 6,126,315 msg/sec boost::lockfree::queue, 7,s: 5,894,384 msg/sec boost::lockfree::queue, 7,i: 6,014,543 msg/sec boost::lockfree::queue, 8,s: 5,447,946 msg/sec boost::lockfree::queue, 8,i: 5,554,039 msg/sec moodycamel::ReaderWriterQueue, 1,s: 400,411,863 msg/sec moodycamel::ReaderWriterQueue, 1,i: 110,357,778 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,327,260 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,575,671 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,681,647 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,501,180 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,292,292 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,610,906 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,358,694 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,229,948 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,373,702 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,768,072 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,340,845 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,300,744 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,041,695 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,636,073 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,291,990 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,384,334 msg/sec pthread_spinlock, 1,s: 28,852,727 msg/sec pthread_spinlock, 1,i: 25,376,181 msg/sec pthread_spinlock, 2,s: 15,964,562 msg/sec pthread_spinlock, 2,i: 16,966,206 msg/sec pthread_spinlock, 3,s: 8,345,864 msg/sec pthread_spinlock, 3,i: 12,003,968 msg/sec pthread_spinlock, 4,s: 6,516,729 msg/sec pthread_spinlock, 4,i: 8,828,746 msg/sec pthread_spinlock, 5,s: 8,719,551 msg/sec pthread_spinlock, 5,i: 9,419,124 msg/sec pthread_spinlock, 6,s: 8,309,456 msg/sec pthread_spinlock, 6,i: 8,967,411 msg/sec pthread_spinlock, 7,s: 7,714,380 msg/sec pthread_spinlock, 7,i: 8,100,940 msg/sec pthread_spinlock, 8,s: 6,733,484 msg/sec pthread_spinlock, 8,i: 7,398,572 msg/sec std::mutex, 1,s: 7,092,240 msg/sec std::mutex, 1,i: 6,822,571 msg/sec std::mutex, 2,s: 6,260,978 msg/sec std::mutex, 2,i: 6,215,714 msg/sec std::mutex, 3,s: 6,036,268 msg/sec std::mutex, 3,i: 6,205,437 msg/sec std::mutex, 4,s: 6,249,064 msg/sec std::mutex, 4,i: 6,387,454 msg/sec std::mutex, 5,s: 6,022,167 msg/sec std::mutex, 5,i: 6,039,119 msg/sec std::mutex, 6,s: 5,943,853 msg/sec std::mutex, 6,i: 5,965,799 msg/sec std::mutex, 7,s: 5,824,402 msg/sec std::mutex, 7,i: 5,855,942 msg/sec std::mutex, 8,s: 5,763,854 msg/sec std::mutex, 8,i: 5,690,598 msg/sec tbb::spin_mutex, 1,s: 37,736,112 msg/sec tbb::spin_mutex, 1,i: 33,385,665 msg/sec tbb::spin_mutex, 2,s: 21,235,646 msg/sec tbb::spin_mutex, 2,i: 18,332,810 msg/sec tbb::spin_mutex, 3,s: 8,585,822 msg/sec tbb::spin_mutex, 3,i: 10,145,320 msg/sec tbb::spin_mutex, 4,s: 3,104,543 msg/sec tbb::spin_mutex, 4,i: 6,364,226 msg/sec tbb::spin_mutex, 5,s: 5,560,260 msg/sec tbb::spin_mutex, 5,i: 5,763,858 msg/sec tbb::spin_mutex, 6,s: 5,250,402 msg/sec tbb::spin_mutex, 6,i: 4,307,055 msg/sec tbb::spin_mutex, 7,s: 4,872,187 msg/sec tbb::spin_mutex, 7,i: 4,304,115 msg/sec tbb::spin_mutex, 8,s: 3,887,020 msg/sec tbb::spin_mutex, 8,i: 4,158,031 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,738,497 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,991,068 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,554,480 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,010,309 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,218,329 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,843,883 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,421,703 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,298,082 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,672,418 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,857,792 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,077,819 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,905,248 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,002,006 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,995,089 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,990,890 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,089,609 msg/sec xenium::michael_scott_queue, 1,s: 9,517,365 msg/sec xenium::michael_scott_queue, 1,i: 9,541,417 msg/sec xenium::michael_scott_queue, 2,s: 8,511,137 msg/sec xenium::michael_scott_queue, 2,i: 8,466,927 msg/sec xenium::michael_scott_queue, 3,s: 7,291,612 msg/sec xenium::michael_scott_queue, 3,i: 7,535,100 msg/sec xenium::michael_scott_queue, 4,s: 6,262,715 msg/sec xenium::michael_scott_queue, 4,i: 6,316,479 msg/sec xenium::michael_scott_queue, 5,s: 6,309,523 msg/sec xenium::michael_scott_queue, 5,i: 6,704,914 msg/sec xenium::michael_scott_queue, 6,s: 6,511,162 msg/sec xenium::michael_scott_queue, 6,i: 6,985,232 msg/sec xenium::michael_scott_queue, 7,s: 6,347,723 msg/sec xenium::michael_scott_queue, 7,i: 6,522,937 msg/sec xenium::michael_scott_queue, 8,s: 6,031,305 msg/sec xenium::michael_scott_queue, 8,i: 6,131,530 msg/sec xenium::ramalhete_queue, 1,s: 31,244,537 msg/sec xenium::ramalhete_queue, 1,i: 31,572,512 msg/sec xenium::ramalhete_queue, 2,s: 23,450,665 msg/sec xenium::ramalhete_queue, 2,i: 23,307,393 msg/sec xenium::ramalhete_queue, 3,s: 29,260,265 msg/sec xenium::ramalhete_queue, 3,i: 28,463,694 msg/sec xenium::ramalhete_queue, 4,s: 33,846,991 msg/sec xenium::ramalhete_queue, 4,i: 33,526,041 msg/sec xenium::ramalhete_queue, 5,s: 32,197,412 msg/sec xenium::ramalhete_queue, 5,i: 35,912,117 msg/sec xenium::ramalhete_queue, 6,s: 33,922,654 msg/sec xenium::ramalhete_queue, 6,i: 39,623,075 msg/sec xenium::ramalhete_queue, 7,s: 35,243,521 msg/sec xenium::ramalhete_queue, 7,i: 41,153,191 msg/sec xenium::ramalhete_queue, 8,s: 35,511,093 msg/sec xenium::ramalhete_queue, 8,i: 44,047,295 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,613,425 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,722,719 msg/sec xenium::vyukov_bounded_queue, 2,s: 21,418,746 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,660,569 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,675,924 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,684,197 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,539,104 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,999,384 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,084,438 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,329,869 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,866,613 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,459,901 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,145,495 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,367,399 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,403,182 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,242,977 msg/sec AtomicQueue, 1,s: 58,256,014 msg/sec AtomicQueue, 1,i: 57,710,177 msg/sec AtomicQueue, 2,s: 12,180,638 msg/sec AtomicQueue, 2,i: 11,736,470 msg/sec AtomicQueue, 3,s: 10,793,795 msg/sec AtomicQueue, 3,i: 9,902,859 msg/sec AtomicQueue, 4,s: 8,178,809 msg/sec AtomicQueue, 4,i: 8,197,926 msg/sec AtomicQueue, 5,s: 8,052,636 msg/sec AtomicQueue, 5,i: 8,113,597 msg/sec AtomicQueue, 6,s: 7,815,158 msg/sec AtomicQueue, 6,i: 7,615,176 msg/sec AtomicQueue, 7,s: 7,179,297 msg/sec AtomicQueue, 7,i: 7,993,716 msg/sec AtomicQueue, 8,s: 6,347,767 msg/sec AtomicQueue, 8,i: 7,349,667 msg/sec AtomicQueueB, 1,s: 119,341,355 msg/sec AtomicQueueB, 1,i: 43,122,870 msg/sec AtomicQueueB, 2,s: 11,947,382 msg/sec AtomicQueueB, 2,i: 11,507,753 msg/sec AtomicQueueB, 3,s: 11,029,318 msg/sec AtomicQueueB, 3,i: 10,034,513 msg/sec AtomicQueueB, 4,s: 7,998,490 msg/sec AtomicQueueB, 4,i: 8,058,871 msg/sec AtomicQueueB, 5,s: 7,681,020 msg/sec AtomicQueueB, 5,i: 7,754,547 msg/sec AtomicQueueB, 6,s: 7,298,059 msg/sec AtomicQueueB, 6,i: 7,515,937 msg/sec AtomicQueueB, 7,s: 6,873,893 msg/sec AtomicQueueB, 7,i: 7,710,512 msg/sec AtomicQueueB, 8,s: 6,239,745 msg/sec AtomicQueueB, 8,i: 7,111,688 msg/sec OptimistAtomicQueue, 1,s: 822,072,988 msg/sec OptimistAtomicQueue, 1,i: 659,448,018 msg/sec OptimistAtomicQueue, 2,s: 32,163,016 msg/sec OptimistAtomicQueue, 2,i: 32,113,818 msg/sec OptimistAtomicQueue, 3,s: 36,615,608 msg/sec OptimistAtomicQueue, 3,i: 37,297,151 msg/sec OptimistAtomicQueue, 4,s: 39,260,446 msg/sec OptimistAtomicQueue, 4,i: 39,399,872 msg/sec OptimistAtomicQueue, 5,s: 41,744,505 msg/sec OptimistAtomicQueue, 5,i: 46,256,687 msg/sec OptimistAtomicQueue, 6,s: 42,447,604 msg/sec OptimistAtomicQueue, 6,i: 50,496,342 msg/sec OptimistAtomicQueue, 7,s: 45,046,164 msg/sec OptimistAtomicQueue, 7,i: 53,041,266 msg/sec OptimistAtomicQueue, 8,s: 46,293,210 msg/sec OptimistAtomicQueue, 8,i: 49,613,613 msg/sec OptimistAtomicQueueB, 1,s: 77,892,234 msg/sec OptimistAtomicQueueB, 1,i: 159,071,385 msg/sec OptimistAtomicQueueB, 2,s: 31,996,111 msg/sec OptimistAtomicQueueB, 2,i: 32,301,619 msg/sec OptimistAtomicQueueB, 3,s: 36,284,954 msg/sec OptimistAtomicQueueB, 3,i: 36,933,424 msg/sec OptimistAtomicQueueB, 4,s: 38,584,988 msg/sec OptimistAtomicQueueB, 4,i: 38,564,867 msg/sec OptimistAtomicQueueB, 5,s: 40,188,429 msg/sec OptimistAtomicQueueB, 5,i: 45,291,828 msg/sec OptimistAtomicQueueB, 6,s: 41,349,550 msg/sec OptimistAtomicQueueB, 6,i: 48,545,101 msg/sec OptimistAtomicQueueB, 7,s: 41,985,049 msg/sec OptimistAtomicQueueB, 7,i: 51,491,984 msg/sec OptimistAtomicQueueB, 8,s: 44,204,738 msg/sec OptimistAtomicQueueB, 8,i: 47,825,887 msg/sec AtomicQueue2, 1,s: 22,893,673 msg/sec AtomicQueue2, 1,i: 22,907,883 msg/sec AtomicQueue2, 2,s: 11,816,957 msg/sec AtomicQueue2, 2,i: 11,564,701 msg/sec AtomicQueue2, 3,s: 9,402,962 msg/sec AtomicQueue2, 3,i: 9,361,878 msg/sec AtomicQueue2, 4,s: 8,038,377 msg/sec AtomicQueue2, 4,i: 8,111,941 msg/sec AtomicQueue2, 5,s: 7,904,642 msg/sec AtomicQueue2, 5,i: 7,975,593 msg/sec AtomicQueue2, 6,s: 7,909,159 msg/sec AtomicQueue2, 6,i: 7,536,260 msg/sec AtomicQueue2, 7,s: 7,207,448 msg/sec AtomicQueue2, 7,i: 7,872,984 msg/sec AtomicQueue2, 8,s: 6,364,506 msg/sec AtomicQueue2, 8,i: 7,288,964 msg/sec AtomicQueueB2, 1,s: 36,129,398 msg/sec AtomicQueueB2, 1,i: 32,645,786 msg/sec AtomicQueueB2, 2,s: 11,463,512 msg/sec AtomicQueueB2, 2,i: 11,137,713 msg/sec AtomicQueueB2, 3,s: 9,603,666 msg/sec AtomicQueueB2, 3,i: 9,536,725 msg/sec AtomicQueueB2, 4,s: 7,902,606 msg/sec AtomicQueueB2, 4,i: 7,885,880 msg/sec AtomicQueueB2, 5,s: 7,415,857 msg/sec AtomicQueueB2, 5,i: 7,752,128 msg/sec AtomicQueueB2, 6,s: 7,262,086 msg/sec AtomicQueueB2, 6,i: 7,415,165 msg/sec AtomicQueueB2, 7,s: 6,901,286 msg/sec AtomicQueueB2, 7,i: 7,667,921 msg/sec AtomicQueueB2, 8,s: 6,254,015 msg/sec AtomicQueueB2, 8,i: 7,094,828 msg/sec OptimistAtomicQueue2, 1,s: 44,589,176 msg/sec OptimistAtomicQueue2, 1,i: 32,067,215 msg/sec OptimistAtomicQueue2, 2,s: 26,196,304 msg/sec OptimistAtomicQueue2, 2,i: 24,029,187 msg/sec OptimistAtomicQueue2, 3,s: 30,316,577 msg/sec OptimistAtomicQueue2, 3,i: 30,114,738 msg/sec OptimistAtomicQueue2, 4,s: 33,229,617 msg/sec OptimistAtomicQueue2, 4,i: 33,100,009 msg/sec OptimistAtomicQueue2, 5,s: 37,461,373 msg/sec OptimistAtomicQueue2, 5,i: 40,311,288 msg/sec OptimistAtomicQueue2, 6,s: 40,166,535 msg/sec OptimistAtomicQueue2, 6,i: 49,378,441 msg/sec OptimistAtomicQueue2, 7,s: 42,618,315 msg/sec OptimistAtomicQueue2, 7,i: 51,370,732 msg/sec OptimistAtomicQueue2, 8,s: 44,334,442 msg/sec OptimistAtomicQueue2, 8,i: 48,737,719 msg/sec OptimistAtomicQueueB2, 1,s: 76,119,873 msg/sec OptimistAtomicQueueB2, 1,i: 33,875,672 msg/sec OptimistAtomicQueueB2, 2,s: 27,933,847 msg/sec OptimistAtomicQueueB2, 2,i: 23,174,778 msg/sec OptimistAtomicQueueB2, 3,s: 30,218,288 msg/sec OptimistAtomicQueueB2, 3,i: 29,506,184 msg/sec OptimistAtomicQueueB2, 4,s: 33,327,995 msg/sec OptimistAtomicQueueB2, 4,i: 33,235,910 msg/sec OptimistAtomicQueueB2, 5,s: 34,594,160 msg/sec OptimistAtomicQueueB2, 5,i: 39,270,829 msg/sec OptimistAtomicQueueB2, 6,s: 37,362,729 msg/sec OptimistAtomicQueueB2, 6,i: 42,448,145 msg/sec OptimistAtomicQueueB2, 7,s: 40,314,334 msg/sec OptimistAtomicQueueB2, 7,i: 45,330,541 msg/sec OptimistAtomicQueueB2, 8,s: 42,116,363 msg/sec OptimistAtomicQueueB2, 8,i: 45,090,056 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000272 sec/round-trip tbb::concurrent_bounded_queue: 0.000000271 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000216 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [239] 165m:56s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,338,328 msg/sec boost::lockfree::spsc_queue, 1,i: 67,540,733 msg/sec boost::lockfree::queue, 1,s: 6,865,715 msg/sec boost::lockfree::queue, 1,i: 6,908,047 msg/sec boost::lockfree::queue, 2,s: 7,677,992 msg/sec boost::lockfree::queue, 2,i: 7,439,177 msg/sec boost::lockfree::queue, 3,s: 7,508,557 msg/sec boost::lockfree::queue, 3,i: 7,576,767 msg/sec boost::lockfree::queue, 4,s: 6,415,945 msg/sec boost::lockfree::queue, 4,i: 6,796,853 msg/sec boost::lockfree::queue, 5,s: 6,445,775 msg/sec boost::lockfree::queue, 5,i: 6,493,999 msg/sec boost::lockfree::queue, 6,s: 5,954,180 msg/sec boost::lockfree::queue, 6,i: 6,097,946 msg/sec boost::lockfree::queue, 7,s: 5,906,254 msg/sec boost::lockfree::queue, 7,i: 5,902,197 msg/sec boost::lockfree::queue, 8,s: 5,464,126 msg/sec boost::lockfree::queue, 8,i: 5,673,571 msg/sec moodycamel::ReaderWriterQueue, 1,s: 152,003,624 msg/sec moodycamel::ReaderWriterQueue, 1,i: 118,414,040 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,581,680 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,707,997 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,154,347 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,415,785 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,196,158 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,795,629 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,830,974 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,895,100 msg/sec moodycamel::ConcurrentQueue, 5,s: 42,054,527 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,674,334 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,522,249 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,526,601 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,379,105 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,360,102 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,273,207 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,052,110 msg/sec pthread_spinlock, 1,s: 29,232,654 msg/sec pthread_spinlock, 1,i: 25,329,972 msg/sec pthread_spinlock, 2,s: 15,850,564 msg/sec pthread_spinlock, 2,i: 16,996,561 msg/sec pthread_spinlock, 3,s: 8,351,830 msg/sec pthread_spinlock, 3,i: 11,963,558 msg/sec pthread_spinlock, 4,s: 6,483,410 msg/sec pthread_spinlock, 4,i: 9,030,771 msg/sec pthread_spinlock, 5,s: 8,838,602 msg/sec pthread_spinlock, 5,i: 9,285,753 msg/sec pthread_spinlock, 6,s: 8,285,258 msg/sec pthread_spinlock, 6,i: 8,587,667 msg/sec pthread_spinlock, 7,s: 7,519,554 msg/sec pthread_spinlock, 7,i: 7,724,060 msg/sec pthread_spinlock, 8,s: 6,684,847 msg/sec pthread_spinlock, 8,i: 7,407,582 msg/sec std::mutex, 1,s: 8,886,205 msg/sec std::mutex, 1,i: 8,212,851 msg/sec std::mutex, 2,s: 6,598,427 msg/sec std::mutex, 2,i: 6,311,091 msg/sec std::mutex, 3,s: 6,423,436 msg/sec std::mutex, 3,i: 6,438,358 msg/sec std::mutex, 4,s: 6,763,091 msg/sec std::mutex, 4,i: 6,819,021 msg/sec std::mutex, 5,s: 6,504,327 msg/sec std::mutex, 5,i: 6,401,632 msg/sec std::mutex, 6,s: 5,926,005 msg/sec std::mutex, 6,i: 6,225,078 msg/sec std::mutex, 7,s: 6,171,061 msg/sec std::mutex, 7,i: 6,101,987 msg/sec std::mutex, 8,s: 6,045,835 msg/sec std::mutex, 8,i: 6,011,977 msg/sec tbb::spin_mutex, 1,s: 37,957,505 msg/sec tbb::spin_mutex, 1,i: 33,132,612 msg/sec tbb::spin_mutex, 2,s: 21,134,416 msg/sec tbb::spin_mutex, 2,i: 18,474,796 msg/sec tbb::spin_mutex, 3,s: 7,751,953 msg/sec tbb::spin_mutex, 3,i: 10,150,201 msg/sec tbb::spin_mutex, 4,s: 3,166,845 msg/sec tbb::spin_mutex, 4,i: 6,354,804 msg/sec tbb::spin_mutex, 5,s: 5,233,771 msg/sec tbb::spin_mutex, 5,i: 5,723,389 msg/sec tbb::spin_mutex, 6,s: 5,263,099 msg/sec tbb::spin_mutex, 6,i: 4,302,308 msg/sec tbb::spin_mutex, 7,s: 4,878,419 msg/sec tbb::spin_mutex, 7,i: 4,347,780 msg/sec tbb::spin_mutex, 8,s: 4,245,174 msg/sec tbb::spin_mutex, 8,i: 4,232,490 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,585,943 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,085,323 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,094,601 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,929,386 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,009,927 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,648,430 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,351,912 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,219,079 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,696,395 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,201,604 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,779,210 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,419,504 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,899,684 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,619,655 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,042,180 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,766,643 msg/sec xenium::michael_scott_queue, 1,s: 9,167,103 msg/sec xenium::michael_scott_queue, 1,i: 9,107,341 msg/sec xenium::michael_scott_queue, 2,s: 8,398,671 msg/sec xenium::michael_scott_queue, 2,i: 8,565,847 msg/sec xenium::michael_scott_queue, 3,s: 7,310,724 msg/sec xenium::michael_scott_queue, 3,i: 7,553,982 msg/sec xenium::michael_scott_queue, 4,s: 6,369,193 msg/sec xenium::michael_scott_queue, 4,i: 6,361,709 msg/sec xenium::michael_scott_queue, 5,s: 6,328,927 msg/sec xenium::michael_scott_queue, 5,i: 6,662,629 msg/sec xenium::michael_scott_queue, 6,s: 6,482,855 msg/sec xenium::michael_scott_queue, 6,i: 7,118,668 msg/sec xenium::michael_scott_queue, 7,s: 6,305,065 msg/sec xenium::michael_scott_queue, 7,i: 6,728,490 msg/sec xenium::michael_scott_queue, 8,s: 6,093,595 msg/sec xenium::michael_scott_queue, 8,i: 6,146,925 msg/sec xenium::ramalhete_queue, 1,s: 31,719,628 msg/sec xenium::ramalhete_queue, 1,i: 32,091,711 msg/sec xenium::ramalhete_queue, 2,s: 23,454,747 msg/sec xenium::ramalhete_queue, 2,i: 23,322,258 msg/sec xenium::ramalhete_queue, 3,s: 29,135,334 msg/sec xenium::ramalhete_queue, 3,i: 28,393,297 msg/sec xenium::ramalhete_queue, 4,s: 33,734,365 msg/sec xenium::ramalhete_queue, 4,i: 33,438,486 msg/sec xenium::ramalhete_queue, 5,s: 32,191,273 msg/sec xenium::ramalhete_queue, 5,i: 36,139,902 msg/sec xenium::ramalhete_queue, 6,s: 34,273,649 msg/sec xenium::ramalhete_queue, 6,i: 39,698,841 msg/sec xenium::ramalhete_queue, 7,s: 35,157,545 msg/sec xenium::ramalhete_queue, 7,i: 41,472,131 msg/sec xenium::ramalhete_queue, 8,s: 35,495,801 msg/sec xenium::ramalhete_queue, 8,i: 44,021,899 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,492,164 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,748,468 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,469,867 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,418,463 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,485,083 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,831,838 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,443,380 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,239,031 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,273,091 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,253,822 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,931,365 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,507,506 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,205,758 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,019,533 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,399,710 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,311,893 msg/sec AtomicQueue, 1,s: 62,353,834 msg/sec AtomicQueue, 1,i: 56,568,984 msg/sec AtomicQueue, 2,s: 12,259,851 msg/sec AtomicQueue, 2,i: 11,742,839 msg/sec AtomicQueue, 3,s: 10,808,223 msg/sec AtomicQueue, 3,i: 9,953,754 msg/sec AtomicQueue, 4,s: 8,203,833 msg/sec AtomicQueue, 4,i: 8,186,742 msg/sec AtomicQueue, 5,s: 7,973,301 msg/sec AtomicQueue, 5,i: 8,050,324 msg/sec AtomicQueue, 6,s: 7,968,406 msg/sec AtomicQueue, 6,i: 7,612,027 msg/sec AtomicQueue, 7,s: 7,186,881 msg/sec AtomicQueue, 7,i: 7,965,781 msg/sec AtomicQueue, 8,s: 6,336,338 msg/sec AtomicQueue, 8,i: 7,452,762 msg/sec AtomicQueueB, 1,s: 64,523,235 msg/sec AtomicQueueB, 1,i: 43,282,184 msg/sec AtomicQueueB, 2,s: 11,842,160 msg/sec AtomicQueueB, 2,i: 11,467,172 msg/sec AtomicQueueB, 3,s: 11,067,082 msg/sec AtomicQueueB, 3,i: 10,169,407 msg/sec AtomicQueueB, 4,s: 8,080,598 msg/sec AtomicQueueB, 4,i: 8,026,575 msg/sec AtomicQueueB, 5,s: 7,536,008 msg/sec AtomicQueueB, 5,i: 7,808,803 msg/sec AtomicQueueB, 6,s: 7,339,533 msg/sec AtomicQueueB, 6,i: 7,534,364 msg/sec AtomicQueueB, 7,s: 6,829,727 msg/sec AtomicQueueB, 7,i: 7,727,947 msg/sec AtomicQueueB, 8,s: 6,247,836 msg/sec AtomicQueueB, 8,i: 7,182,238 msg/sec OptimistAtomicQueue, 1,s: 780,846,156 msg/sec OptimistAtomicQueue, 1,i: 594,597,398 msg/sec OptimistAtomicQueue, 2,s: 32,660,058 msg/sec OptimistAtomicQueue, 2,i: 32,731,259 msg/sec OptimistAtomicQueue, 3,s: 36,677,159 msg/sec OptimistAtomicQueue, 3,i: 37,413,584 msg/sec OptimistAtomicQueue, 4,s: 39,274,433 msg/sec OptimistAtomicQueue, 4,i: 39,381,361 msg/sec OptimistAtomicQueue, 5,s: 42,467,553 msg/sec OptimistAtomicQueue, 5,i: 47,076,316 msg/sec OptimistAtomicQueue, 6,s: 42,767,031 msg/sec OptimistAtomicQueue, 6,i: 49,861,280 msg/sec OptimistAtomicQueue, 7,s: 44,364,130 msg/sec OptimistAtomicQueue, 7,i: 53,123,239 msg/sec OptimistAtomicQueue, 8,s: 46,368,323 msg/sec OptimistAtomicQueue, 8,i: 48,500,671 msg/sec OptimistAtomicQueueB, 1,s: 191,720,281 msg/sec OptimistAtomicQueueB, 1,i: 200,168,712 msg/sec OptimistAtomicQueueB, 2,s: 32,186,189 msg/sec OptimistAtomicQueueB, 2,i: 32,161,369 msg/sec OptimistAtomicQueueB, 3,s: 36,299,389 msg/sec OptimistAtomicQueueB, 3,i: 36,940,526 msg/sec OptimistAtomicQueueB, 4,s: 38,641,973 msg/sec OptimistAtomicQueueB, 4,i: 38,655,415 msg/sec OptimistAtomicQueueB, 5,s: 40,943,603 msg/sec OptimistAtomicQueueB, 5,i: 45,387,576 msg/sec OptimistAtomicQueueB, 6,s: 41,311,520 msg/sec OptimistAtomicQueueB, 6,i: 49,099,920 msg/sec OptimistAtomicQueueB, 7,s: 41,760,226 msg/sec OptimistAtomicQueueB, 7,i: 50,612,719 msg/sec OptimistAtomicQueueB, 8,s: 44,500,327 msg/sec OptimistAtomicQueueB, 8,i: 47,831,949 msg/sec AtomicQueue2, 1,s: 23,120,528 msg/sec AtomicQueue2, 1,i: 23,076,704 msg/sec AtomicQueue2, 2,s: 11,976,745 msg/sec AtomicQueue2, 2,i: 11,494,596 msg/sec AtomicQueue2, 3,s: 9,399,084 msg/sec AtomicQueue2, 3,i: 9,465,725 msg/sec AtomicQueue2, 4,s: 8,119,891 msg/sec AtomicQueue2, 4,i: 8,037,411 msg/sec AtomicQueue2, 5,s: 7,943,910 msg/sec AtomicQueue2, 5,i: 8,012,554 msg/sec AtomicQueue2, 6,s: 7,860,318 msg/sec AtomicQueue2, 6,i: 7,531,457 msg/sec AtomicQueue2, 7,s: 7,138,064 msg/sec AtomicQueue2, 7,i: 7,873,570 msg/sec AtomicQueue2, 8,s: 6,381,223 msg/sec AtomicQueue2, 8,i: 7,385,334 msg/sec AtomicQueueB2, 1,s: 35,989,103 msg/sec AtomicQueueB2, 1,i: 32,646,416 msg/sec AtomicQueueB2, 2,s: 11,364,487 msg/sec AtomicQueueB2, 2,i: 11,121,270 msg/sec AtomicQueueB2, 3,s: 9,559,424 msg/sec AtomicQueueB2, 3,i: 9,590,982 msg/sec AtomicQueueB2, 4,s: 7,980,656 msg/sec AtomicQueueB2, 4,i: 7,769,315 msg/sec AtomicQueueB2, 5,s: 7,392,559 msg/sec AtomicQueueB2, 5,i: 7,726,407 msg/sec AtomicQueueB2, 6,s: 7,096,798 msg/sec AtomicQueueB2, 6,i: 7,465,966 msg/sec AtomicQueueB2, 7,s: 6,916,231 msg/sec AtomicQueueB2, 7,i: 7,733,488 msg/sec AtomicQueueB2, 8,s: 6,252,569 msg/sec AtomicQueueB2, 8,i: 7,065,576 msg/sec OptimistAtomicQueue2, 1,s: 458,512,893 msg/sec OptimistAtomicQueue2, 1,i: 30,056,523 msg/sec OptimistAtomicQueue2, 2,s: 26,258,402 msg/sec OptimistAtomicQueue2, 2,i: 22,634,372 msg/sec OptimistAtomicQueue2, 3,s: 30,542,373 msg/sec OptimistAtomicQueue2, 3,i: 29,634,634 msg/sec OptimistAtomicQueue2, 4,s: 33,385,575 msg/sec OptimistAtomicQueue2, 4,i: 33,566,687 msg/sec OptimistAtomicQueue2, 5,s: 37,296,431 msg/sec OptimistAtomicQueue2, 5,i: 40,075,590 msg/sec OptimistAtomicQueue2, 6,s: 40,438,261 msg/sec OptimistAtomicQueue2, 6,i: 48,874,386 msg/sec OptimistAtomicQueue2, 7,s: 42,834,621 msg/sec OptimistAtomicQueue2, 7,i: 51,337,644 msg/sec OptimistAtomicQueue2, 8,s: 43,932,516 msg/sec OptimistAtomicQueue2, 8,i: 49,691,938 msg/sec OptimistAtomicQueueB2, 1,s: 73,047,527 msg/sec OptimistAtomicQueueB2, 1,i: 33,875,433 msg/sec OptimistAtomicQueueB2, 2,s: 27,803,100 msg/sec OptimistAtomicQueueB2, 2,i: 23,197,100 msg/sec OptimistAtomicQueueB2, 3,s: 29,791,788 msg/sec OptimistAtomicQueueB2, 3,i: 28,995,220 msg/sec OptimistAtomicQueueB2, 4,s: 33,291,759 msg/sec OptimistAtomicQueueB2, 4,i: 32,095,811 msg/sec OptimistAtomicQueueB2, 5,s: 34,497,758 msg/sec OptimistAtomicQueueB2, 5,i: 39,253,909 msg/sec OptimistAtomicQueueB2, 6,s: 37,796,538 msg/sec OptimistAtomicQueueB2, 6,i: 42,108,233 msg/sec OptimistAtomicQueueB2, 7,s: 40,861,421 msg/sec OptimistAtomicQueueB2, 7,i: 45,245,877 msg/sec OptimistAtomicQueueB2, 8,s: 42,344,554 msg/sec OptimistAtomicQueueB2, 8,i: 45,112,010 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000298 sec/round-trip std::mutex: 0.000000456 sec/round-trip tbb::spin_mutex: 0.000000275 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [240] 164m:38s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,886,758 msg/sec boost::lockfree::spsc_queue, 1,i: 70,177,880 msg/sec boost::lockfree::queue, 1,s: 6,864,746 msg/sec boost::lockfree::queue, 1,i: 6,903,566 msg/sec boost::lockfree::queue, 2,s: 7,670,856 msg/sec boost::lockfree::queue, 2,i: 7,602,916 msg/sec boost::lockfree::queue, 3,s: 7,383,182 msg/sec boost::lockfree::queue, 3,i: 7,529,758 msg/sec boost::lockfree::queue, 4,s: 6,422,935 msg/sec boost::lockfree::queue, 4,i: 6,850,943 msg/sec boost::lockfree::queue, 5,s: 6,408,746 msg/sec boost::lockfree::queue, 5,i: 6,459,411 msg/sec boost::lockfree::queue, 6,s: 5,968,349 msg/sec boost::lockfree::queue, 6,i: 6,088,018 msg/sec boost::lockfree::queue, 7,s: 6,032,846 msg/sec boost::lockfree::queue, 7,i: 6,006,174 msg/sec boost::lockfree::queue, 8,s: 5,430,190 msg/sec boost::lockfree::queue, 8,i: 5,632,533 msg/sec moodycamel::ReaderWriterQueue, 1,s: 309,369,016 msg/sec moodycamel::ReaderWriterQueue, 1,i: 146,838,021 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,510,528 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,440,172 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,804,002 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,762,132 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,536,004 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,476,994 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,809,383 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,883,157 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,262,599 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,670,373 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,572,036 msg/sec moodycamel::ConcurrentQueue, 6,i: 63,384,866 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,009,650 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,493,343 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,582,152 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,798,074 msg/sec pthread_spinlock, 1,s: 28,743,787 msg/sec pthread_spinlock, 1,i: 25,362,187 msg/sec pthread_spinlock, 2,s: 16,061,586 msg/sec pthread_spinlock, 2,i: 18,062,928 msg/sec pthread_spinlock, 3,s: 8,327,167 msg/sec pthread_spinlock, 3,i: 11,957,079 msg/sec pthread_spinlock, 4,s: 6,554,862 msg/sec pthread_spinlock, 4,i: 9,184,368 msg/sec pthread_spinlock, 5,s: 8,605,915 msg/sec pthread_spinlock, 5,i: 9,501,544 msg/sec pthread_spinlock, 6,s: 8,260,903 msg/sec pthread_spinlock, 6,i: 8,555,835 msg/sec pthread_spinlock, 7,s: 8,126,242 msg/sec pthread_spinlock, 7,i: 7,707,927 msg/sec pthread_spinlock, 8,s: 6,705,463 msg/sec pthread_spinlock, 8,i: 6,852,641 msg/sec std::mutex, 1,s: 7,461,385 msg/sec std::mutex, 1,i: 7,468,640 msg/sec std::mutex, 2,s: 5,894,486 msg/sec std::mutex, 2,i: 5,950,481 msg/sec std::mutex, 3,s: 6,114,302 msg/sec std::mutex, 3,i: 5,781,552 msg/sec std::mutex, 4,s: 6,323,402 msg/sec std::mutex, 4,i: 6,236,185 msg/sec std::mutex, 5,s: 6,071,320 msg/sec std::mutex, 5,i: 5,775,348 msg/sec std::mutex, 6,s: 5,955,878 msg/sec std::mutex, 6,i: 5,987,538 msg/sec std::mutex, 7,s: 5,836,273 msg/sec std::mutex, 7,i: 5,821,720 msg/sec std::mutex, 8,s: 5,731,118 msg/sec std::mutex, 8,i: 5,654,658 msg/sec tbb::spin_mutex, 1,s: 37,654,914 msg/sec tbb::spin_mutex, 1,i: 37,449,326 msg/sec tbb::spin_mutex, 2,s: 21,304,889 msg/sec tbb::spin_mutex, 2,i: 18,311,589 msg/sec tbb::spin_mutex, 3,s: 7,308,243 msg/sec tbb::spin_mutex, 3,i: 11,129,049 msg/sec tbb::spin_mutex, 4,s: 3,108,789 msg/sec tbb::spin_mutex, 4,i: 6,357,455 msg/sec tbb::spin_mutex, 5,s: 5,468,716 msg/sec tbb::spin_mutex, 5,i: 5,702,381 msg/sec tbb::spin_mutex, 6,s: 5,324,634 msg/sec tbb::spin_mutex, 6,i: 4,315,653 msg/sec tbb::spin_mutex, 7,s: 4,661,451 msg/sec tbb::spin_mutex, 7,i: 4,295,226 msg/sec tbb::spin_mutex, 8,s: 4,251,569 msg/sec tbb::spin_mutex, 8,i: 4,103,920 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,284,081 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,364,583 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,551,086 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,032,466 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,136,592 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,921,152 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,430,407 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,323,301 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,694,278 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,882,385 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,054,185 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,026,631 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,937,923 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,945,081 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,954,961 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,096,657 msg/sec xenium::michael_scott_queue, 1,s: 10,098,425 msg/sec xenium::michael_scott_queue, 1,i: 9,965,366 msg/sec xenium::michael_scott_queue, 2,s: 8,557,417 msg/sec xenium::michael_scott_queue, 2,i: 8,514,207 msg/sec xenium::michael_scott_queue, 3,s: 7,191,269 msg/sec xenium::michael_scott_queue, 3,i: 7,549,573 msg/sec xenium::michael_scott_queue, 4,s: 6,271,068 msg/sec xenium::michael_scott_queue, 4,i: 6,303,377 msg/sec xenium::michael_scott_queue, 5,s: 6,335,570 msg/sec xenium::michael_scott_queue, 5,i: 6,708,033 msg/sec xenium::michael_scott_queue, 6,s: 6,558,191 msg/sec xenium::michael_scott_queue, 6,i: 7,007,229 msg/sec xenium::michael_scott_queue, 7,s: 6,306,646 msg/sec xenium::michael_scott_queue, 7,i: 6,429,863 msg/sec xenium::michael_scott_queue, 8,s: 6,012,670 msg/sec xenium::michael_scott_queue, 8,i: 6,156,693 msg/sec xenium::ramalhete_queue, 1,s: 31,950,165 msg/sec xenium::ramalhete_queue, 1,i: 31,248,459 msg/sec xenium::ramalhete_queue, 2,s: 23,505,848 msg/sec xenium::ramalhete_queue, 2,i: 23,357,325 msg/sec xenium::ramalhete_queue, 3,s: 29,195,621 msg/sec xenium::ramalhete_queue, 3,i: 28,529,689 msg/sec xenium::ramalhete_queue, 4,s: 33,864,090 msg/sec xenium::ramalhete_queue, 4,i: 33,428,986 msg/sec xenium::ramalhete_queue, 5,s: 32,077,590 msg/sec xenium::ramalhete_queue, 5,i: 35,722,905 msg/sec xenium::ramalhete_queue, 6,s: 34,017,143 msg/sec xenium::ramalhete_queue, 6,i: 39,493,287 msg/sec xenium::ramalhete_queue, 7,s: 35,178,975 msg/sec xenium::ramalhete_queue, 7,i: 41,990,492 msg/sec xenium::ramalhete_queue, 8,s: 35,528,949 msg/sec xenium::ramalhete_queue, 8,i: 44,144,725 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,142,294 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,131,179 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,559,928 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,646,174 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,636,538 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,270,308 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,548,747 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,488,978 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,541,683 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,532,118 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,029,618 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,180,510 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,133,700 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,317,852 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,429,939 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,257,719 msg/sec AtomicQueue, 1,s: 63,836,513 msg/sec AtomicQueue, 1,i: 56,644,174 msg/sec AtomicQueue, 2,s: 12,274,958 msg/sec AtomicQueue, 2,i: 11,752,113 msg/sec AtomicQueue, 3,s: 10,819,103 msg/sec AtomicQueue, 3,i: 9,932,184 msg/sec AtomicQueue, 4,s: 8,221,188 msg/sec AtomicQueue, 4,i: 8,179,804 msg/sec AtomicQueue, 5,s: 8,033,866 msg/sec AtomicQueue, 5,i: 8,164,037 msg/sec AtomicQueue, 6,s: 7,725,067 msg/sec AtomicQueue, 6,i: 7,602,578 msg/sec AtomicQueue, 7,s: 7,168,777 msg/sec AtomicQueue, 7,i: 7,787,556 msg/sec AtomicQueue, 8,s: 6,366,594 msg/sec AtomicQueue, 8,i: 7,305,016 msg/sec AtomicQueueB, 1,s: 43,841,184 msg/sec AtomicQueueB, 1,i: 43,018,690 msg/sec AtomicQueueB, 2,s: 11,969,534 msg/sec AtomicQueueB, 2,i: 11,469,933 msg/sec AtomicQueueB, 3,s: 10,971,828 msg/sec AtomicQueueB, 3,i: 10,118,024 msg/sec AtomicQueueB, 4,s: 8,087,062 msg/sec AtomicQueueB, 4,i: 8,074,024 msg/sec AtomicQueueB, 5,s: 7,537,579 msg/sec AtomicQueueB, 5,i: 7,791,279 msg/sec AtomicQueueB, 6,s: 7,154,856 msg/sec AtomicQueueB, 6,i: 7,536,730 msg/sec AtomicQueueB, 7,s: 6,917,700 msg/sec AtomicQueueB, 7,i: 7,714,161 msg/sec AtomicQueueB, 8,s: 6,211,350 msg/sec AtomicQueueB, 8,i: 7,151,137 msg/sec OptimistAtomicQueue, 1,s: 755,734,799 msg/sec OptimistAtomicQueue, 1,i: 727,767,874 msg/sec OptimistAtomicQueue, 2,s: 32,624,974 msg/sec OptimistAtomicQueue, 2,i: 32,704,913 msg/sec OptimistAtomicQueue, 3,s: 36,647,838 msg/sec OptimistAtomicQueue, 3,i: 37,378,786 msg/sec OptimistAtomicQueue, 4,s: 39,278,899 msg/sec OptimistAtomicQueue, 4,i: 39,408,776 msg/sec OptimistAtomicQueue, 5,s: 42,459,418 msg/sec OptimistAtomicQueue, 5,i: 46,408,150 msg/sec OptimistAtomicQueue, 6,s: 42,089,328 msg/sec OptimistAtomicQueue, 6,i: 50,488,453 msg/sec OptimistAtomicQueue, 7,s: 45,325,998 msg/sec OptimistAtomicQueue, 7,i: 53,051,745 msg/sec OptimistAtomicQueue, 8,s: 46,445,120 msg/sec OptimistAtomicQueue, 8,i: 48,923,753 msg/sec OptimistAtomicQueueB, 1,s: 233,735,336 msg/sec OptimistAtomicQueueB, 1,i: 76,501,761 msg/sec OptimistAtomicQueueB, 2,s: 32,153,954 msg/sec OptimistAtomicQueueB, 2,i: 32,130,727 msg/sec OptimistAtomicQueueB, 3,s: 36,320,667 msg/sec OptimistAtomicQueueB, 3,i: 36,840,832 msg/sec OptimistAtomicQueueB, 4,s: 38,618,409 msg/sec OptimistAtomicQueueB, 4,i: 38,675,931 msg/sec OptimistAtomicQueueB, 5,s: 40,925,453 msg/sec OptimistAtomicQueueB, 5,i: 45,348,517 msg/sec OptimistAtomicQueueB, 6,s: 40,527,843 msg/sec OptimistAtomicQueueB, 6,i: 49,150,955 msg/sec OptimistAtomicQueueB, 7,s: 42,105,290 msg/sec OptimistAtomicQueueB, 7,i: 51,392,250 msg/sec OptimistAtomicQueueB, 8,s: 44,384,208 msg/sec OptimistAtomicQueueB, 8,i: 48,087,923 msg/sec AtomicQueue2, 1,s: 23,277,257 msg/sec AtomicQueue2, 1,i: 22,879,878 msg/sec AtomicQueue2, 2,s: 11,796,287 msg/sec AtomicQueue2, 2,i: 11,396,731 msg/sec AtomicQueue2, 3,s: 9,428,133 msg/sec AtomicQueue2, 3,i: 9,403,054 msg/sec AtomicQueue2, 4,s: 8,059,781 msg/sec AtomicQueue2, 4,i: 8,063,385 msg/sec AtomicQueue2, 5,s: 7,941,459 msg/sec AtomicQueue2, 5,i: 8,094,865 msg/sec AtomicQueue2, 6,s: 7,729,996 msg/sec AtomicQueue2, 6,i: 7,508,481 msg/sec AtomicQueue2, 7,s: 7,046,337 msg/sec AtomicQueue2, 7,i: 7,874,785 msg/sec AtomicQueue2, 8,s: 6,402,112 msg/sec AtomicQueue2, 8,i: 7,371,227 msg/sec AtomicQueueB2, 1,s: 39,132,575 msg/sec AtomicQueueB2, 1,i: 33,438,453 msg/sec AtomicQueueB2, 2,s: 11,494,101 msg/sec AtomicQueueB2, 2,i: 11,156,457 msg/sec AtomicQueueB2, 3,s: 9,569,693 msg/sec AtomicQueueB2, 3,i: 9,540,955 msg/sec AtomicQueueB2, 4,s: 7,981,053 msg/sec AtomicQueueB2, 4,i: 7,976,969 msg/sec AtomicQueueB2, 5,s: 7,562,567 msg/sec AtomicQueueB2, 5,i: 7,648,066 msg/sec AtomicQueueB2, 6,s: 7,163,917 msg/sec AtomicQueueB2, 6,i: 7,427,957 msg/sec AtomicQueueB2, 7,s: 6,903,591 msg/sec AtomicQueueB2, 7,i: 7,718,170 msg/sec AtomicQueueB2, 8,s: 6,246,991 msg/sec AtomicQueueB2, 8,i: 7,099,114 msg/sec OptimistAtomicQueue2, 1,s: 32,576,654 msg/sec OptimistAtomicQueue2, 1,i: 29,640,424 msg/sec OptimistAtomicQueue2, 2,s: 24,264,724 msg/sec OptimistAtomicQueue2, 2,i: 25,954,762 msg/sec OptimistAtomicQueue2, 3,s: 30,374,317 msg/sec OptimistAtomicQueue2, 3,i: 29,976,183 msg/sec OptimistAtomicQueue2, 4,s: 33,197,960 msg/sec OptimistAtomicQueue2, 4,i: 32,967,630 msg/sec OptimistAtomicQueue2, 5,s: 37,200,222 msg/sec OptimistAtomicQueue2, 5,i: 40,754,366 msg/sec OptimistAtomicQueue2, 6,s: 40,095,647 msg/sec OptimistAtomicQueue2, 6,i: 49,279,520 msg/sec OptimistAtomicQueue2, 7,s: 42,642,324 msg/sec OptimistAtomicQueue2, 7,i: 48,203,801 msg/sec OptimistAtomicQueue2, 8,s: 43,925,282 msg/sec OptimistAtomicQueue2, 8,i: 48,483,202 msg/sec OptimistAtomicQueueB2, 1,s: 76,056,205 msg/sec OptimistAtomicQueueB2, 1,i: 33,871,195 msg/sec OptimistAtomicQueueB2, 2,s: 25,731,135 msg/sec OptimistAtomicQueueB2, 2,i: 26,254,887 msg/sec OptimistAtomicQueueB2, 3,s: 29,729,165 msg/sec OptimistAtomicQueueB2, 3,i: 29,094,562 msg/sec OptimistAtomicQueueB2, 4,s: 33,152,301 msg/sec OptimistAtomicQueueB2, 4,i: 32,999,056 msg/sec OptimistAtomicQueueB2, 5,s: 34,691,823 msg/sec OptimistAtomicQueueB2, 5,i: 39,586,755 msg/sec OptimistAtomicQueueB2, 6,s: 37,261,229 msg/sec OptimistAtomicQueueB2, 6,i: 42,313,922 msg/sec OptimistAtomicQueueB2, 7,s: 40,720,288 msg/sec OptimistAtomicQueueB2, 7,i: 45,374,209 msg/sec OptimistAtomicQueueB2, 8,s: 41,822,554 msg/sec OptimistAtomicQueueB2, 8,i: 45,266,791 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000289 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [241] 163m:19s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 72,141,565 msg/sec boost::lockfree::spsc_queue, 1,i: 71,072,524 msg/sec boost::lockfree::queue, 1,s: 6,891,906 msg/sec boost::lockfree::queue, 1,i: 6,896,428 msg/sec boost::lockfree::queue, 2,s: 7,627,246 msg/sec boost::lockfree::queue, 2,i: 7,551,298 msg/sec boost::lockfree::queue, 3,s: 7,415,382 msg/sec boost::lockfree::queue, 3,i: 7,541,214 msg/sec boost::lockfree::queue, 4,s: 6,421,754 msg/sec boost::lockfree::queue, 4,i: 6,742,886 msg/sec boost::lockfree::queue, 5,s: 6,413,256 msg/sec boost::lockfree::queue, 5,i: 6,469,041 msg/sec boost::lockfree::queue, 6,s: 5,927,503 msg/sec boost::lockfree::queue, 6,i: 6,127,027 msg/sec boost::lockfree::queue, 7,s: 5,954,084 msg/sec boost::lockfree::queue, 7,i: 5,993,100 msg/sec boost::lockfree::queue, 8,s: 5,535,050 msg/sec boost::lockfree::queue, 8,i: 5,581,277 msg/sec moodycamel::ReaderWriterQueue, 1,s: 63,300,025 msg/sec moodycamel::ReaderWriterQueue, 1,i: 55,421,149 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,444,893 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,648,411 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,012,002 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,920,617 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,794,010 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,656,395 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,305,563 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,096,534 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,196,281 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,971,854 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,062,547 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,073,713 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,130,454 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,227,000 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,549,076 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,765,614 msg/sec pthread_spinlock, 1,s: 29,041,146 msg/sec pthread_spinlock, 1,i: 25,450,147 msg/sec pthread_spinlock, 2,s: 15,492,294 msg/sec pthread_spinlock, 2,i: 18,312,194 msg/sec pthread_spinlock, 3,s: 8,335,947 msg/sec pthread_spinlock, 3,i: 12,157,316 msg/sec pthread_spinlock, 4,s: 6,530,057 msg/sec pthread_spinlock, 4,i: 8,931,608 msg/sec pthread_spinlock, 5,s: 8,612,098 msg/sec pthread_spinlock, 5,i: 9,435,508 msg/sec pthread_spinlock, 6,s: 8,498,038 msg/sec pthread_spinlock, 6,i: 8,400,013 msg/sec pthread_spinlock, 7,s: 7,587,376 msg/sec pthread_spinlock, 7,i: 7,773,201 msg/sec pthread_spinlock, 8,s: 6,636,616 msg/sec pthread_spinlock, 8,i: 6,999,361 msg/sec std::mutex, 1,s: 6,396,486 msg/sec std::mutex, 1,i: 6,509,656 msg/sec std::mutex, 2,s: 5,427,667 msg/sec std::mutex, 2,i: 5,526,807 msg/sec std::mutex, 3,s: 5,014,946 msg/sec std::mutex, 3,i: 5,407,325 msg/sec std::mutex, 4,s: 5,106,360 msg/sec std::mutex, 4,i: 6,243,458 msg/sec std::mutex, 5,s: 5,999,314 msg/sec std::mutex, 5,i: 5,993,165 msg/sec std::mutex, 6,s: 5,709,924 msg/sec std::mutex, 6,i: 5,886,908 msg/sec std::mutex, 7,s: 5,878,514 msg/sec std::mutex, 7,i: 5,893,052 msg/sec std::mutex, 8,s: 5,733,086 msg/sec std::mutex, 8,i: 5,705,525 msg/sec tbb::spin_mutex, 1,s: 37,971,490 msg/sec tbb::spin_mutex, 1,i: 33,122,211 msg/sec tbb::spin_mutex, 2,s: 21,101,530 msg/sec tbb::spin_mutex, 2,i: 18,367,687 msg/sec tbb::spin_mutex, 3,s: 7,401,325 msg/sec tbb::spin_mutex, 3,i: 10,222,071 msg/sec tbb::spin_mutex, 4,s: 3,138,673 msg/sec tbb::spin_mutex, 4,i: 6,323,007 msg/sec tbb::spin_mutex, 5,s: 5,605,369 msg/sec tbb::spin_mutex, 5,i: 5,836,500 msg/sec tbb::spin_mutex, 6,s: 5,292,502 msg/sec tbb::spin_mutex, 6,i: 4,337,058 msg/sec tbb::spin_mutex, 7,s: 4,804,832 msg/sec tbb::spin_mutex, 7,i: 4,311,653 msg/sec tbb::spin_mutex, 8,s: 4,248,260 msg/sec tbb::spin_mutex, 8,i: 4,075,851 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,177,830 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,866,577 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,691,877 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,731,886 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,489,767 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,507,038 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,402,422 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,238,751 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,682,658 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,772,246 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,702,590 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,119,772 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,893,725 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,940,619 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,886,582 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,111,039 msg/sec xenium::michael_scott_queue, 1,s: 9,448,036 msg/sec xenium::michael_scott_queue, 1,i: 9,648,862 msg/sec xenium::michael_scott_queue, 2,s: 8,499,662 msg/sec xenium::michael_scott_queue, 2,i: 8,554,752 msg/sec xenium::michael_scott_queue, 3,s: 7,159,235 msg/sec xenium::michael_scott_queue, 3,i: 7,517,579 msg/sec xenium::michael_scott_queue, 4,s: 6,247,782 msg/sec xenium::michael_scott_queue, 4,i: 6,344,175 msg/sec xenium::michael_scott_queue, 5,s: 6,303,759 msg/sec xenium::michael_scott_queue, 5,i: 6,707,752 msg/sec xenium::michael_scott_queue, 6,s: 6,467,548 msg/sec xenium::michael_scott_queue, 6,i: 6,787,231 msg/sec xenium::michael_scott_queue, 7,s: 6,323,003 msg/sec xenium::michael_scott_queue, 7,i: 6,454,607 msg/sec xenium::michael_scott_queue, 8,s: 5,907,947 msg/sec xenium::michael_scott_queue, 8,i: 6,118,051 msg/sec xenium::ramalhete_queue, 1,s: 32,042,617 msg/sec xenium::ramalhete_queue, 1,i: 32,041,912 msg/sec xenium::ramalhete_queue, 2,s: 23,418,296 msg/sec xenium::ramalhete_queue, 2,i: 23,321,013 msg/sec xenium::ramalhete_queue, 3,s: 29,089,831 msg/sec xenium::ramalhete_queue, 3,i: 28,419,357 msg/sec xenium::ramalhete_queue, 4,s: 33,801,407 msg/sec xenium::ramalhete_queue, 4,i: 33,496,181 msg/sec xenium::ramalhete_queue, 5,s: 32,179,317 msg/sec xenium::ramalhete_queue, 5,i: 36,124,384 msg/sec xenium::ramalhete_queue, 6,s: 33,986,127 msg/sec xenium::ramalhete_queue, 6,i: 39,958,981 msg/sec xenium::ramalhete_queue, 7,s: 35,188,403 msg/sec xenium::ramalhete_queue, 7,i: 41,177,197 msg/sec xenium::ramalhete_queue, 8,s: 35,558,813 msg/sec xenium::ramalhete_queue, 8,i: 43,855,290 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,630,516 msg/sec xenium::vyukov_bounded_queue, 1,i: 76,485,158 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,990,342 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,369,677 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,684,578 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,674,433 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,426,658 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,202,644 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,996,557 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,323,872 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,143,311 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,448,992 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,203,335 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,953,839 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,402,514 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,220,528 msg/sec AtomicQueue, 1,s: 60,061,318 msg/sec AtomicQueue, 1,i: 57,239,853 msg/sec AtomicQueue, 2,s: 12,336,209 msg/sec AtomicQueue, 2,i: 11,754,591 msg/sec AtomicQueue, 3,s: 10,762,624 msg/sec AtomicQueue, 3,i: 9,897,130 msg/sec AtomicQueue, 4,s: 8,212,087 msg/sec AtomicQueue, 4,i: 8,191,432 msg/sec AtomicQueue, 5,s: 8,042,872 msg/sec AtomicQueue, 5,i: 8,087,717 msg/sec AtomicQueue, 6,s: 7,653,960 msg/sec AtomicQueue, 6,i: 7,612,876 msg/sec AtomicQueue, 7,s: 7,137,127 msg/sec AtomicQueue, 7,i: 7,962,176 msg/sec AtomicQueue, 8,s: 6,376,921 msg/sec AtomicQueue, 8,i: 7,477,346 msg/sec AtomicQueueB, 1,s: 44,596,492 msg/sec AtomicQueueB, 1,i: 42,714,903 msg/sec AtomicQueueB, 2,s: 11,842,168 msg/sec AtomicQueueB, 2,i: 11,434,275 msg/sec AtomicQueueB, 3,s: 11,004,109 msg/sec AtomicQueueB, 3,i: 10,213,336 msg/sec AtomicQueueB, 4,s: 8,004,596 msg/sec AtomicQueueB, 4,i: 7,978,205 msg/sec AtomicQueueB, 5,s: 7,530,144 msg/sec AtomicQueueB, 5,i: 7,768,821 msg/sec AtomicQueueB, 6,s: 7,336,630 msg/sec AtomicQueueB, 6,i: 7,583,956 msg/sec AtomicQueueB, 7,s: 6,880,791 msg/sec AtomicQueueB, 7,i: 7,747,817 msg/sec AtomicQueueB, 8,s: 6,222,669 msg/sec AtomicQueueB, 8,i: 7,079,504 msg/sec OptimistAtomicQueue, 1,s: 705,084,363 msg/sec OptimistAtomicQueue, 1,i: 531,304,599 msg/sec OptimistAtomicQueue, 2,s: 32,643,345 msg/sec OptimistAtomicQueue, 2,i: 32,719,559 msg/sec OptimistAtomicQueue, 3,s: 36,589,871 msg/sec OptimistAtomicQueue, 3,i: 37,360,704 msg/sec OptimistAtomicQueue, 4,s: 39,287,335 msg/sec OptimistAtomicQueue, 4,i: 39,396,309 msg/sec OptimistAtomicQueue, 5,s: 42,590,688 msg/sec OptimistAtomicQueue, 5,i: 46,265,522 msg/sec OptimistAtomicQueue, 6,s: 42,730,059 msg/sec OptimistAtomicQueue, 6,i: 50,421,932 msg/sec OptimistAtomicQueue, 7,s: 44,190,646 msg/sec OptimistAtomicQueue, 7,i: 53,070,245 msg/sec OptimistAtomicQueue, 8,s: 46,443,546 msg/sec OptimistAtomicQueue, 8,i: 49,702,964 msg/sec OptimistAtomicQueueB, 1,s: 122,119,256 msg/sec OptimistAtomicQueueB, 1,i: 76,604,120 msg/sec OptimistAtomicQueueB, 2,s: 32,239,797 msg/sec OptimistAtomicQueueB, 2,i: 32,079,472 msg/sec OptimistAtomicQueueB, 3,s: 36,302,935 msg/sec OptimistAtomicQueueB, 3,i: 36,931,796 msg/sec OptimistAtomicQueueB, 4,s: 38,733,263 msg/sec OptimistAtomicQueueB, 4,i: 38,597,688 msg/sec OptimistAtomicQueueB, 5,s: 41,122,077 msg/sec OptimistAtomicQueueB, 5,i: 45,915,024 msg/sec OptimistAtomicQueueB, 6,s: 40,863,186 msg/sec OptimistAtomicQueueB, 6,i: 49,065,164 msg/sec OptimistAtomicQueueB, 7,s: 42,599,753 msg/sec OptimistAtomicQueueB, 7,i: 51,515,207 msg/sec OptimistAtomicQueueB, 8,s: 44,469,793 msg/sec OptimistAtomicQueueB, 8,i: 48,050,547 msg/sec AtomicQueue2, 1,s: 23,091,587 msg/sec AtomicQueue2, 1,i: 23,136,097 msg/sec AtomicQueue2, 2,s: 11,903,401 msg/sec AtomicQueue2, 2,i: 11,685,828 msg/sec AtomicQueue2, 3,s: 9,453,574 msg/sec AtomicQueue2, 3,i: 9,397,888 msg/sec AtomicQueue2, 4,s: 7,995,372 msg/sec AtomicQueue2, 4,i: 8,102,468 msg/sec AtomicQueue2, 5,s: 7,939,619 msg/sec AtomicQueue2, 5,i: 8,006,661 msg/sec AtomicQueue2, 6,s: 7,865,441 msg/sec AtomicQueue2, 6,i: 7,539,470 msg/sec AtomicQueue2, 7,s: 7,176,569 msg/sec AtomicQueue2, 7,i: 7,893,519 msg/sec AtomicQueue2, 8,s: 6,395,035 msg/sec AtomicQueue2, 8,i: 7,207,018 msg/sec AtomicQueueB2, 1,s: 35,867,051 msg/sec AtomicQueueB2, 1,i: 32,642,409 msg/sec AtomicQueueB2, 2,s: 11,423,058 msg/sec AtomicQueueB2, 2,i: 11,123,335 msg/sec AtomicQueueB2, 3,s: 9,742,644 msg/sec AtomicQueueB2, 3,i: 9,466,865 msg/sec AtomicQueueB2, 4,s: 7,910,586 msg/sec AtomicQueueB2, 4,i: 7,933,581 msg/sec AtomicQueueB2, 5,s: 7,569,003 msg/sec AtomicQueueB2, 5,i: 7,707,970 msg/sec AtomicQueueB2, 6,s: 7,231,286 msg/sec AtomicQueueB2, 6,i: 7,416,473 msg/sec AtomicQueueB2, 7,s: 6,896,333 msg/sec AtomicQueueB2, 7,i: 7,693,156 msg/sec AtomicQueueB2, 8,s: 6,333,633 msg/sec AtomicQueueB2, 8,i: 7,087,248 msg/sec OptimistAtomicQueue2, 1,s: 561,261,795 msg/sec OptimistAtomicQueue2, 1,i: 63,692,230 msg/sec OptimistAtomicQueue2, 2,s: 26,211,610 msg/sec OptimistAtomicQueue2, 2,i: 24,011,075 msg/sec OptimistAtomicQueue2, 3,s: 30,340,272 msg/sec OptimistAtomicQueue2, 3,i: 30,094,513 msg/sec OptimistAtomicQueue2, 4,s: 33,218,068 msg/sec OptimistAtomicQueue2, 4,i: 33,171,648 msg/sec OptimistAtomicQueue2, 5,s: 37,484,089 msg/sec OptimistAtomicQueue2, 5,i: 40,102,138 msg/sec OptimistAtomicQueue2, 6,s: 40,367,984 msg/sec OptimistAtomicQueue2, 6,i: 49,390,741 msg/sec OptimistAtomicQueue2, 7,s: 42,759,746 msg/sec OptimistAtomicQueue2, 7,i: 51,572,990 msg/sec OptimistAtomicQueue2, 8,s: 43,844,135 msg/sec OptimistAtomicQueue2, 8,i: 48,415,124 msg/sec OptimistAtomicQueueB2, 1,s: 76,947,666 msg/sec OptimistAtomicQueueB2, 1,i: 33,908,872 msg/sec OptimistAtomicQueueB2, 2,s: 27,187,106 msg/sec OptimistAtomicQueueB2, 2,i: 23,164,272 msg/sec OptimistAtomicQueueB2, 3,s: 29,724,957 msg/sec OptimistAtomicQueueB2, 3,i: 29,823,024 msg/sec OptimistAtomicQueueB2, 4,s: 32,824,594 msg/sec OptimistAtomicQueueB2, 4,i: 32,634,318 msg/sec OptimistAtomicQueueB2, 5,s: 34,375,579 msg/sec OptimistAtomicQueueB2, 5,i: 39,621,998 msg/sec OptimistAtomicQueueB2, 6,s: 37,215,659 msg/sec OptimistAtomicQueueB2, 6,i: 42,362,880 msg/sec OptimistAtomicQueueB2, 7,s: 40,724,256 msg/sec OptimistAtomicQueueB2, 7,i: 45,242,371 msg/sec OptimistAtomicQueueB2, 8,s: 41,908,328 msg/sec OptimistAtomicQueueB2, 8,i: 46,125,295 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000274 sec/round-trip std::mutex: 0.000000456 sec/round-trip tbb::spin_mutex: 0.000000293 sec/round-trip tbb::concurrent_bounded_queue: 0.000000298 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [242] 161m:59s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 74,999,855 msg/sec boost::lockfree::spsc_queue, 1,i: 75,872,813 msg/sec boost::lockfree::queue, 1,s: 6,918,990 msg/sec boost::lockfree::queue, 1,i: 6,969,660 msg/sec boost::lockfree::queue, 2,s: 7,599,699 msg/sec boost::lockfree::queue, 2,i: 7,407,997 msg/sec boost::lockfree::queue, 3,s: 7,465,212 msg/sec boost::lockfree::queue, 3,i: 7,573,121 msg/sec boost::lockfree::queue, 4,s: 6,426,619 msg/sec boost::lockfree::queue, 4,i: 6,750,617 msg/sec boost::lockfree::queue, 5,s: 6,419,696 msg/sec boost::lockfree::queue, 5,i: 6,478,868 msg/sec boost::lockfree::queue, 6,s: 5,986,829 msg/sec boost::lockfree::queue, 6,i: 6,097,578 msg/sec boost::lockfree::queue, 7,s: 5,906,524 msg/sec boost::lockfree::queue, 7,i: 6,044,071 msg/sec boost::lockfree::queue, 8,s: 5,481,115 msg/sec boost::lockfree::queue, 8,i: 5,672,313 msg/sec moodycamel::ReaderWriterQueue, 1,s: 48,566,563 msg/sec moodycamel::ReaderWriterQueue, 1,i: 52,280,652 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,252,952 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,782,321 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,991,344 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,557,967 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,627,112 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,644,802 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,738,443 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,362,708 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,273,696 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,855,948 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,313,967 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,575,207 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,993,605 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,201,740 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,188,301 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,760,669 msg/sec pthread_spinlock, 1,s: 29,230,106 msg/sec pthread_spinlock, 1,i: 29,249,417 msg/sec pthread_spinlock, 2,s: 16,322,298 msg/sec pthread_spinlock, 2,i: 17,035,070 msg/sec pthread_spinlock, 3,s: 8,378,980 msg/sec pthread_spinlock, 3,i: 12,085,527 msg/sec pthread_spinlock, 4,s: 6,462,000 msg/sec pthread_spinlock, 4,i: 9,349,894 msg/sec pthread_spinlock, 5,s: 8,737,599 msg/sec pthread_spinlock, 5,i: 9,533,338 msg/sec pthread_spinlock, 6,s: 8,499,957 msg/sec pthread_spinlock, 6,i: 8,362,640 msg/sec pthread_spinlock, 7,s: 7,571,449 msg/sec pthread_spinlock, 7,i: 7,637,548 msg/sec pthread_spinlock, 8,s: 6,841,129 msg/sec pthread_spinlock, 8,i: 7,009,995 msg/sec std::mutex, 1,s: 7,546,294 msg/sec std::mutex, 1,i: 7,746,171 msg/sec std::mutex, 2,s: 5,842,433 msg/sec std::mutex, 2,i: 5,957,923 msg/sec std::mutex, 3,s: 6,037,661 msg/sec std::mutex, 3,i: 6,007,698 msg/sec std::mutex, 4,s: 6,311,535 msg/sec std::mutex, 4,i: 6,223,766 msg/sec std::mutex, 5,s: 6,151,243 msg/sec std::mutex, 5,i: 6,030,799 msg/sec std::mutex, 6,s: 5,980,813 msg/sec std::mutex, 6,i: 5,924,349 msg/sec std::mutex, 7,s: 5,787,028 msg/sec std::mutex, 7,i: 5,799,255 msg/sec std::mutex, 8,s: 5,703,217 msg/sec std::mutex, 8,i: 5,678,704 msg/sec tbb::spin_mutex, 1,s: 37,892,047 msg/sec tbb::spin_mutex, 1,i: 32,921,069 msg/sec tbb::spin_mutex, 2,s: 21,361,503 msg/sec tbb::spin_mutex, 2,i: 20,786,449 msg/sec tbb::spin_mutex, 3,s: 8,600,362 msg/sec tbb::spin_mutex, 3,i: 11,159,800 msg/sec tbb::spin_mutex, 4,s: 3,253,295 msg/sec tbb::spin_mutex, 4,i: 6,214,113 msg/sec tbb::spin_mutex, 5,s: 5,237,607 msg/sec tbb::spin_mutex, 5,i: 5,804,360 msg/sec tbb::spin_mutex, 6,s: 5,241,111 msg/sec tbb::spin_mutex, 6,i: 4,360,185 msg/sec tbb::spin_mutex, 7,s: 4,863,955 msg/sec tbb::spin_mutex, 7,i: 4,266,630 msg/sec tbb::spin_mutex, 8,s: 3,754,465 msg/sec tbb::spin_mutex, 8,i: 4,185,622 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,328,825 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,356,699 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,090,087 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,302,127 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,425,693 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,653,623 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,582,226 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,588,772 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,906,668 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,641,306 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,903,077 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,695,589 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,807,005 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,826,793 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,774,340 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,472,030 msg/sec xenium::michael_scott_queue, 1,s: 10,095,316 msg/sec xenium::michael_scott_queue, 1,i: 9,974,705 msg/sec xenium::michael_scott_queue, 2,s: 8,488,760 msg/sec xenium::michael_scott_queue, 2,i: 8,535,223 msg/sec xenium::michael_scott_queue, 3,s: 7,260,850 msg/sec xenium::michael_scott_queue, 3,i: 7,507,797 msg/sec xenium::michael_scott_queue, 4,s: 6,314,961 msg/sec xenium::michael_scott_queue, 4,i: 6,326,232 msg/sec xenium::michael_scott_queue, 5,s: 6,316,610 msg/sec xenium::michael_scott_queue, 5,i: 6,711,669 msg/sec xenium::michael_scott_queue, 6,s: 6,512,803 msg/sec xenium::michael_scott_queue, 6,i: 6,734,357 msg/sec xenium::michael_scott_queue, 7,s: 6,284,988 msg/sec xenium::michael_scott_queue, 7,i: 6,424,075 msg/sec xenium::michael_scott_queue, 8,s: 6,005,179 msg/sec xenium::michael_scott_queue, 8,i: 6,243,642 msg/sec xenium::ramalhete_queue, 1,s: 31,840,587 msg/sec xenium::ramalhete_queue, 1,i: 32,287,387 msg/sec xenium::ramalhete_queue, 2,s: 23,598,548 msg/sec xenium::ramalhete_queue, 2,i: 23,381,513 msg/sec xenium::ramalhete_queue, 3,s: 29,239,944 msg/sec xenium::ramalhete_queue, 3,i: 28,488,771 msg/sec xenium::ramalhete_queue, 4,s: 33,765,127 msg/sec xenium::ramalhete_queue, 4,i: 33,480,056 msg/sec xenium::ramalhete_queue, 5,s: 32,184,697 msg/sec xenium::ramalhete_queue, 5,i: 35,901,254 msg/sec xenium::ramalhete_queue, 6,s: 33,994,188 msg/sec xenium::ramalhete_queue, 6,i: 38,631,975 msg/sec xenium::ramalhete_queue, 7,s: 35,304,275 msg/sec xenium::ramalhete_queue, 7,i: 41,673,764 msg/sec xenium::ramalhete_queue, 8,s: 35,588,969 msg/sec xenium::ramalhete_queue, 8,i: 44,552,353 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,698,100 msg/sec xenium::vyukov_bounded_queue, 1,i: 114,543,879 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,648,639 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,422,699 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,576,807 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,577,075 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,674,298 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,013,374 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,998,092 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,300,739 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,085,900 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,229,731 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,241,788 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,941,113 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,461,123 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,566,392 msg/sec AtomicQueue, 1,s: 59,409,473 msg/sec AtomicQueue, 1,i: 56,656,372 msg/sec AtomicQueue, 2,s: 12,294,535 msg/sec AtomicQueue, 2,i: 11,734,965 msg/sec AtomicQueue, 3,s: 10,733,615 msg/sec AtomicQueue, 3,i: 9,936,126 msg/sec AtomicQueue, 4,s: 8,196,882 msg/sec AtomicQueue, 4,i: 8,195,586 msg/sec AtomicQueue, 5,s: 8,045,287 msg/sec AtomicQueue, 5,i: 8,142,645 msg/sec AtomicQueue, 6,s: 7,838,111 msg/sec AtomicQueue, 6,i: 7,608,353 msg/sec AtomicQueue, 7,s: 7,085,217 msg/sec AtomicQueue, 7,i: 7,980,909 msg/sec AtomicQueue, 8,s: 6,349,205 msg/sec AtomicQueue, 8,i: 7,468,757 msg/sec AtomicQueueB, 1,s: 44,099,486 msg/sec AtomicQueueB, 1,i: 46,445,076 msg/sec AtomicQueueB, 2,s: 11,582,152 msg/sec AtomicQueueB, 2,i: 11,438,329 msg/sec AtomicQueueB, 3,s: 11,030,782 msg/sec AtomicQueueB, 3,i: 10,118,409 msg/sec AtomicQueueB, 4,s: 8,081,582 msg/sec AtomicQueueB, 4,i: 7,974,796 msg/sec AtomicQueueB, 5,s: 7,541,530 msg/sec AtomicQueueB, 5,i: 7,773,513 msg/sec AtomicQueueB, 6,s: 7,409,625 msg/sec AtomicQueueB, 6,i: 7,618,140 msg/sec AtomicQueueB, 7,s: 6,898,904 msg/sec AtomicQueueB, 7,i: 7,707,636 msg/sec AtomicQueueB, 8,s: 6,207,945 msg/sec AtomicQueueB, 8,i: 7,148,999 msg/sec OptimistAtomicQueue, 1,s: 745,547,728 msg/sec OptimistAtomicQueue, 1,i: 561,141,012 msg/sec OptimistAtomicQueue, 2,s: 32,641,470 msg/sec OptimistAtomicQueue, 2,i: 32,696,934 msg/sec OptimistAtomicQueue, 3,s: 36,676,335 msg/sec OptimistAtomicQueue, 3,i: 37,415,350 msg/sec OptimistAtomicQueue, 4,s: 39,286,600 msg/sec OptimistAtomicQueue, 4,i: 39,386,213 msg/sec OptimistAtomicQueue, 5,s: 42,441,540 msg/sec OptimistAtomicQueue, 5,i: 48,392,163 msg/sec OptimistAtomicQueue, 6,s: 42,651,569 msg/sec OptimistAtomicQueue, 6,i: 50,456,755 msg/sec OptimistAtomicQueue, 7,s: 44,247,059 msg/sec OptimistAtomicQueue, 7,i: 52,900,952 msg/sec OptimistAtomicQueue, 8,s: 46,341,408 msg/sec OptimistAtomicQueue, 8,i: 49,959,108 msg/sec OptimistAtomicQueueB, 1,s: 105,353,198 msg/sec OptimistAtomicQueueB, 1,i: 76,595,394 msg/sec OptimistAtomicQueueB, 2,s: 32,153,533 msg/sec OptimistAtomicQueueB, 2,i: 32,324,985 msg/sec OptimistAtomicQueueB, 3,s: 36,241,677 msg/sec OptimistAtomicQueueB, 3,i: 36,811,699 msg/sec OptimistAtomicQueueB, 4,s: 38,613,593 msg/sec OptimistAtomicQueueB, 4,i: 38,527,777 msg/sec OptimistAtomicQueueB, 5,s: 41,133,236 msg/sec OptimistAtomicQueueB, 5,i: 45,537,532 msg/sec OptimistAtomicQueueB, 6,s: 40,800,398 msg/sec OptimistAtomicQueueB, 6,i: 49,031,664 msg/sec OptimistAtomicQueueB, 7,s: 42,381,948 msg/sec OptimistAtomicQueueB, 7,i: 51,310,594 msg/sec OptimistAtomicQueueB, 8,s: 44,692,373 msg/sec OptimistAtomicQueueB, 8,i: 48,048,912 msg/sec AtomicQueue2, 1,s: 23,110,883 msg/sec AtomicQueue2, 1,i: 23,199,642 msg/sec AtomicQueue2, 2,s: 11,882,705 msg/sec AtomicQueue2, 2,i: 11,389,845 msg/sec AtomicQueue2, 3,s: 9,608,152 msg/sec AtomicQueue2, 3,i: 9,465,678 msg/sec AtomicQueue2, 4,s: 8,052,506 msg/sec AtomicQueue2, 4,i: 8,116,379 msg/sec AtomicQueue2, 5,s: 7,927,630 msg/sec AtomicQueue2, 5,i: 8,033,611 msg/sec AtomicQueue2, 6,s: 7,623,461 msg/sec AtomicQueue2, 6,i: 7,521,171 msg/sec AtomicQueue2, 7,s: 7,079,335 msg/sec AtomicQueue2, 7,i: 7,878,266 msg/sec AtomicQueue2, 8,s: 6,394,143 msg/sec AtomicQueue2, 8,i: 7,238,487 msg/sec AtomicQueueB2, 1,s: 36,305,432 msg/sec AtomicQueueB2, 1,i: 32,647,592 msg/sec AtomicQueueB2, 2,s: 11,435,288 msg/sec AtomicQueueB2, 2,i: 11,121,708 msg/sec AtomicQueueB2, 3,s: 9,791,870 msg/sec AtomicQueueB2, 3,i: 9,574,411 msg/sec AtomicQueueB2, 4,s: 7,890,560 msg/sec AtomicQueueB2, 4,i: 7,835,244 msg/sec AtomicQueueB2, 5,s: 7,494,232 msg/sec AtomicQueueB2, 5,i: 7,739,045 msg/sec AtomicQueueB2, 6,s: 7,332,675 msg/sec AtomicQueueB2, 6,i: 7,427,875 msg/sec AtomicQueueB2, 7,s: 6,921,933 msg/sec AtomicQueueB2, 7,i: 7,711,284 msg/sec AtomicQueueB2, 8,s: 6,341,387 msg/sec AtomicQueueB2, 8,i: 7,097,632 msg/sec OptimistAtomicQueue2, 1,s: 443,762,480 msg/sec OptimistAtomicQueue2, 1,i: 432,022,921 msg/sec OptimistAtomicQueue2, 2,s: 26,394,602 msg/sec OptimistAtomicQueue2, 2,i: 26,095,676 msg/sec OptimistAtomicQueue2, 3,s: 29,924,552 msg/sec OptimistAtomicQueue2, 3,i: 30,498,000 msg/sec OptimistAtomicQueue2, 4,s: 33,349,692 msg/sec OptimistAtomicQueue2, 4,i: 33,754,029 msg/sec OptimistAtomicQueue2, 5,s: 37,350,462 msg/sec OptimistAtomicQueue2, 5,i: 43,261,973 msg/sec OptimistAtomicQueue2, 6,s: 40,053,240 msg/sec OptimistAtomicQueue2, 6,i: 49,299,727 msg/sec OptimistAtomicQueue2, 7,s: 42,728,972 msg/sec OptimistAtomicQueue2, 7,i: 47,988,819 msg/sec OptimistAtomicQueue2, 8,s: 43,935,261 msg/sec OptimistAtomicQueue2, 8,i: 48,785,762 msg/sec OptimistAtomicQueueB2, 1,s: 74,272,495 msg/sec OptimistAtomicQueueB2, 1,i: 33,878,332 msg/sec OptimistAtomicQueueB2, 2,s: 27,839,598 msg/sec OptimistAtomicQueueB2, 2,i: 23,118,256 msg/sec OptimistAtomicQueueB2, 3,s: 29,746,913 msg/sec OptimistAtomicQueueB2, 3,i: 29,003,907 msg/sec OptimistAtomicQueueB2, 4,s: 33,262,240 msg/sec OptimistAtomicQueueB2, 4,i: 32,206,559 msg/sec OptimistAtomicQueueB2, 5,s: 34,372,182 msg/sec OptimistAtomicQueueB2, 5,i: 39,717,114 msg/sec OptimistAtomicQueueB2, 6,s: 37,463,930 msg/sec OptimistAtomicQueueB2, 6,i: 42,302,139 msg/sec OptimistAtomicQueueB2, 7,s: 40,135,925 msg/sec OptimistAtomicQueueB2, 7,i: 45,409,454 msg/sec OptimistAtomicQueueB2, 8,s: 42,143,926 msg/sec OptimistAtomicQueueB2, 8,i: 46,324,168 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000155 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000247 sec/round-trip std::mutex: 0.000000452 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000207 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [243] 160m:40s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,142,278 msg/sec boost::lockfree::spsc_queue, 1,i: 69,391,941 msg/sec boost::lockfree::queue, 1,s: 6,860,780 msg/sec boost::lockfree::queue, 1,i: 6,869,338 msg/sec boost::lockfree::queue, 2,s: 7,460,204 msg/sec boost::lockfree::queue, 2,i: 7,445,501 msg/sec boost::lockfree::queue, 3,s: 7,348,971 msg/sec boost::lockfree::queue, 3,i: 7,555,230 msg/sec boost::lockfree::queue, 4,s: 6,420,313 msg/sec boost::lockfree::queue, 4,i: 6,907,607 msg/sec boost::lockfree::queue, 5,s: 6,440,350 msg/sec boost::lockfree::queue, 5,i: 6,522,366 msg/sec boost::lockfree::queue, 6,s: 5,965,481 msg/sec boost::lockfree::queue, 6,i: 6,086,422 msg/sec boost::lockfree::queue, 7,s: 5,956,298 msg/sec boost::lockfree::queue, 7,i: 6,028,388 msg/sec boost::lockfree::queue, 8,s: 5,450,254 msg/sec boost::lockfree::queue, 8,i: 5,614,797 msg/sec moodycamel::ReaderWriterQueue, 1,s: 72,571,049 msg/sec moodycamel::ReaderWriterQueue, 1,i: 166,338,978 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,096,145 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,526,081 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,129,272 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,995,974 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,179,530 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,215,973 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,325,599 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,333,687 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,361,970 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,090,378 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,351,881 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,898,492 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,060,508 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,157,955 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,307,776 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,470,421 msg/sec pthread_spinlock, 1,s: 29,410,462 msg/sec pthread_spinlock, 1,i: 29,014,318 msg/sec pthread_spinlock, 2,s: 16,351,926 msg/sec pthread_spinlock, 2,i: 17,001,983 msg/sec pthread_spinlock, 3,s: 8,304,625 msg/sec pthread_spinlock, 3,i: 11,979,401 msg/sec pthread_spinlock, 4,s: 6,544,030 msg/sec pthread_spinlock, 4,i: 9,345,704 msg/sec pthread_spinlock, 5,s: 8,667,095 msg/sec pthread_spinlock, 5,i: 9,443,987 msg/sec pthread_spinlock, 6,s: 8,313,969 msg/sec pthread_spinlock, 6,i: 8,576,367 msg/sec pthread_spinlock, 7,s: 7,590,893 msg/sec pthread_spinlock, 7,i: 7,695,183 msg/sec pthread_spinlock, 8,s: 6,760,295 msg/sec pthread_spinlock, 8,i: 7,131,923 msg/sec std::mutex, 1,s: 5,529,027 msg/sec std::mutex, 1,i: 5,916,504 msg/sec std::mutex, 2,s: 5,696,436 msg/sec std::mutex, 2,i: 5,962,692 msg/sec std::mutex, 3,s: 5,945,957 msg/sec std::mutex, 3,i: 6,093,848 msg/sec std::mutex, 4,s: 6,200,007 msg/sec std::mutex, 4,i: 6,409,040 msg/sec std::mutex, 5,s: 6,060,500 msg/sec std::mutex, 5,i: 6,017,325 msg/sec std::mutex, 6,s: 5,939,868 msg/sec std::mutex, 6,i: 5,875,363 msg/sec std::mutex, 7,s: 5,841,587 msg/sec std::mutex, 7,i: 5,783,150 msg/sec std::mutex, 8,s: 5,758,662 msg/sec std::mutex, 8,i: 5,613,027 msg/sec tbb::spin_mutex, 1,s: 37,935,217 msg/sec tbb::spin_mutex, 1,i: 37,967,114 msg/sec tbb::spin_mutex, 2,s: 21,037,204 msg/sec tbb::spin_mutex, 2,i: 18,280,880 msg/sec tbb::spin_mutex, 3,s: 8,362,489 msg/sec tbb::spin_mutex, 3,i: 10,322,969 msg/sec tbb::spin_mutex, 4,s: 3,284,246 msg/sec tbb::spin_mutex, 4,i: 6,357,680 msg/sec tbb::spin_mutex, 5,s: 5,271,154 msg/sec tbb::spin_mutex, 5,i: 5,673,067 msg/sec tbb::spin_mutex, 6,s: 5,321,779 msg/sec tbb::spin_mutex, 6,i: 4,406,066 msg/sec tbb::spin_mutex, 7,s: 4,856,633 msg/sec tbb::spin_mutex, 7,i: 4,361,917 msg/sec tbb::spin_mutex, 8,s: 3,840,594 msg/sec tbb::spin_mutex, 8,i: 4,086,705 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,483,163 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,542,665 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,125,291 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,050,497 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,044,862 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,847,487 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,312,636 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,291,376 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,564,124 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,205,277 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,981,553 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,428,088 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,008,732 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,630,764 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,047,578 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,719,456 msg/sec xenium::michael_scott_queue, 1,s: 9,499,296 msg/sec xenium::michael_scott_queue, 1,i: 9,466,282 msg/sec xenium::michael_scott_queue, 2,s: 8,490,599 msg/sec xenium::michael_scott_queue, 2,i: 8,537,614 msg/sec xenium::michael_scott_queue, 3,s: 7,242,666 msg/sec xenium::michael_scott_queue, 3,i: 7,619,420 msg/sec xenium::michael_scott_queue, 4,s: 6,309,218 msg/sec xenium::michael_scott_queue, 4,i: 6,307,933 msg/sec xenium::michael_scott_queue, 5,s: 6,316,070 msg/sec xenium::michael_scott_queue, 5,i: 6,658,122 msg/sec xenium::michael_scott_queue, 6,s: 6,487,964 msg/sec xenium::michael_scott_queue, 6,i: 6,828,875 msg/sec xenium::michael_scott_queue, 7,s: 6,241,587 msg/sec xenium::michael_scott_queue, 7,i: 6,519,919 msg/sec xenium::michael_scott_queue, 8,s: 5,984,368 msg/sec xenium::michael_scott_queue, 8,i: 6,101,441 msg/sec xenium::ramalhete_queue, 1,s: 32,016,157 msg/sec xenium::ramalhete_queue, 1,i: 31,810,332 msg/sec xenium::ramalhete_queue, 2,s: 23,708,769 msg/sec xenium::ramalhete_queue, 2,i: 23,380,573 msg/sec xenium::ramalhete_queue, 3,s: 29,075,036 msg/sec xenium::ramalhete_queue, 3,i: 28,406,839 msg/sec xenium::ramalhete_queue, 4,s: 33,783,987 msg/sec xenium::ramalhete_queue, 4,i: 33,419,647 msg/sec xenium::ramalhete_queue, 5,s: 32,043,146 msg/sec xenium::ramalhete_queue, 5,i: 36,040,871 msg/sec xenium::ramalhete_queue, 6,s: 33,995,042 msg/sec xenium::ramalhete_queue, 6,i: 39,726,306 msg/sec xenium::ramalhete_queue, 7,s: 35,104,936 msg/sec xenium::ramalhete_queue, 7,i: 41,842,358 msg/sec xenium::ramalhete_queue, 8,s: 35,475,484 msg/sec xenium::ramalhete_queue, 8,i: 43,994,355 msg/sec xenium::vyukov_bounded_queue, 1,s: 117,975,067 msg/sec xenium::vyukov_bounded_queue, 1,i: 102,178,911 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,787,028 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,551,081 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,743,496 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,387,201 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,553,928 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,216,688 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,978,455 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,370,783 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,314,274 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,268,367 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,216,557 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,158,589 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,414,300 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,373,759 msg/sec AtomicQueue, 1,s: 60,527,279 msg/sec AtomicQueue, 1,i: 56,856,005 msg/sec AtomicQueue, 2,s: 12,271,010 msg/sec AtomicQueue, 2,i: 11,715,334 msg/sec AtomicQueue, 3,s: 10,794,760 msg/sec AtomicQueue, 3,i: 9,950,623 msg/sec AtomicQueue, 4,s: 8,173,162 msg/sec AtomicQueue, 4,i: 8,173,588 msg/sec AtomicQueue, 5,s: 8,043,805 msg/sec AtomicQueue, 5,i: 8,106,195 msg/sec AtomicQueue, 6,s: 7,809,309 msg/sec AtomicQueue, 6,i: 7,602,643 msg/sec AtomicQueue, 7,s: 7,162,841 msg/sec AtomicQueue, 7,i: 7,989,290 msg/sec AtomicQueue, 8,s: 6,335,390 msg/sec AtomicQueue, 8,i: 7,399,712 msg/sec AtomicQueueB, 1,s: 47,601,399 msg/sec AtomicQueueB, 1,i: 42,989,372 msg/sec AtomicQueueB, 2,s: 11,743,880 msg/sec AtomicQueueB, 2,i: 11,510,380 msg/sec AtomicQueueB, 3,s: 10,999,477 msg/sec AtomicQueueB, 3,i: 10,210,925 msg/sec AtomicQueueB, 4,s: 8,027,018 msg/sec AtomicQueueB, 4,i: 8,091,830 msg/sec AtomicQueueB, 5,s: 7,632,015 msg/sec AtomicQueueB, 5,i: 7,775,558 msg/sec AtomicQueueB, 6,s: 7,242,490 msg/sec AtomicQueueB, 6,i: 7,536,190 msg/sec AtomicQueueB, 7,s: 6,914,955 msg/sec AtomicQueueB, 7,i: 7,696,659 msg/sec AtomicQueueB, 8,s: 6,236,803 msg/sec AtomicQueueB, 8,i: 7,163,020 msg/sec OptimistAtomicQueue, 1,s: 811,933,803 msg/sec OptimistAtomicQueue, 1,i: 630,925,275 msg/sec OptimistAtomicQueue, 2,s: 32,644,691 msg/sec OptimistAtomicQueue, 2,i: 32,707,606 msg/sec OptimistAtomicQueue, 3,s: 36,619,727 msg/sec OptimistAtomicQueue, 3,i: 37,329,862 msg/sec OptimistAtomicQueue, 4,s: 39,263,083 msg/sec OptimistAtomicQueue, 4,i: 39,424,746 msg/sec OptimistAtomicQueue, 5,s: 42,359,394 msg/sec OptimistAtomicQueue, 5,i: 46,135,917 msg/sec OptimistAtomicQueue, 6,s: 42,728,873 msg/sec OptimistAtomicQueue, 6,i: 50,434,610 msg/sec OptimistAtomicQueue, 7,s: 45,346,376 msg/sec OptimistAtomicQueue, 7,i: 53,092,172 msg/sec OptimistAtomicQueue, 8,s: 46,404,987 msg/sec OptimistAtomicQueue, 8,i: 48,872,054 msg/sec OptimistAtomicQueueB, 1,s: 197,464,018 msg/sec OptimistAtomicQueueB, 1,i: 201,048,649 msg/sec OptimistAtomicQueueB, 2,s: 32,072,803 msg/sec OptimistAtomicQueueB, 2,i: 32,179,311 msg/sec OptimistAtomicQueueB, 3,s: 36,219,477 msg/sec OptimistAtomicQueueB, 3,i: 36,801,438 msg/sec OptimistAtomicQueueB, 4,s: 38,771,353 msg/sec OptimistAtomicQueueB, 4,i: 38,718,344 msg/sec OptimistAtomicQueueB, 5,s: 41,054,536 msg/sec OptimistAtomicQueueB, 5,i: 45,459,838 msg/sec OptimistAtomicQueueB, 6,s: 41,387,774 msg/sec OptimistAtomicQueueB, 6,i: 48,956,572 msg/sec OptimistAtomicQueueB, 7,s: 42,257,816 msg/sec OptimistAtomicQueueB, 7,i: 48,089,609 msg/sec OptimistAtomicQueueB, 8,s: 44,344,110 msg/sec OptimistAtomicQueueB, 8,i: 47,785,353 msg/sec AtomicQueue2, 1,s: 23,107,385 msg/sec AtomicQueue2, 1,i: 23,143,451 msg/sec AtomicQueue2, 2,s: 11,904,243 msg/sec AtomicQueue2, 2,i: 11,403,129 msg/sec AtomicQueue2, 3,s: 9,412,877 msg/sec AtomicQueue2, 3,i: 9,326,490 msg/sec AtomicQueue2, 4,s: 8,102,033 msg/sec AtomicQueue2, 4,i: 8,057,246 msg/sec AtomicQueue2, 5,s: 7,964,928 msg/sec AtomicQueue2, 5,i: 8,073,336 msg/sec AtomicQueue2, 6,s: 7,530,836 msg/sec AtomicQueue2, 6,i: 7,518,536 msg/sec AtomicQueue2, 7,s: 7,153,796 msg/sec AtomicQueue2, 7,i: 7,882,645 msg/sec AtomicQueue2, 8,s: 6,366,806 msg/sec AtomicQueue2, 8,i: 7,363,083 msg/sec AtomicQueueB2, 1,s: 35,923,953 msg/sec AtomicQueueB2, 1,i: 32,628,128 msg/sec AtomicQueueB2, 2,s: 11,442,885 msg/sec AtomicQueueB2, 2,i: 11,157,569 msg/sec AtomicQueueB2, 3,s: 9,524,076 msg/sec AtomicQueueB2, 3,i: 9,554,833 msg/sec AtomicQueueB2, 4,s: 7,875,447 msg/sec AtomicQueueB2, 4,i: 7,909,309 msg/sec AtomicQueueB2, 5,s: 7,471,587 msg/sec AtomicQueueB2, 5,i: 7,715,890 msg/sec AtomicQueueB2, 6,s: 7,152,628 msg/sec AtomicQueueB2, 6,i: 7,434,619 msg/sec AtomicQueueB2, 7,s: 6,827,078 msg/sec AtomicQueueB2, 7,i: 7,686,917 msg/sec AtomicQueueB2, 8,s: 6,271,392 msg/sec AtomicQueueB2, 8,i: 7,105,129 msg/sec OptimistAtomicQueue2, 1,s: 441,965,509 msg/sec OptimistAtomicQueue2, 1,i: 29,659,553 msg/sec OptimistAtomicQueue2, 2,s: 24,254,055 msg/sec OptimistAtomicQueue2, 2,i: 24,018,720 msg/sec OptimistAtomicQueue2, 3,s: 29,933,672 msg/sec OptimistAtomicQueue2, 3,i: 29,587,451 msg/sec OptimistAtomicQueue2, 4,s: 33,149,372 msg/sec OptimistAtomicQueue2, 4,i: 33,043,741 msg/sec OptimistAtomicQueue2, 5,s: 37,030,376 msg/sec OptimistAtomicQueue2, 5,i: 41,326,176 msg/sec OptimistAtomicQueue2, 6,s: 40,467,075 msg/sec OptimistAtomicQueue2, 6,i: 49,741,386 msg/sec OptimistAtomicQueue2, 7,s: 42,709,269 msg/sec OptimistAtomicQueue2, 7,i: 51,658,294 msg/sec OptimistAtomicQueue2, 8,s: 43,873,769 msg/sec OptimistAtomicQueue2, 8,i: 49,452,122 msg/sec OptimistAtomicQueueB2, 1,s: 76,069,726 msg/sec OptimistAtomicQueueB2, 1,i: 33,879,415 msg/sec OptimistAtomicQueueB2, 2,s: 27,781,844 msg/sec OptimistAtomicQueueB2, 2,i: 24,478,205 msg/sec OptimistAtomicQueueB2, 3,s: 29,904,083 msg/sec OptimistAtomicQueueB2, 3,i: 29,590,459 msg/sec OptimistAtomicQueueB2, 4,s: 33,184,618 msg/sec OptimistAtomicQueueB2, 4,i: 32,792,023 msg/sec OptimistAtomicQueueB2, 5,s: 34,202,462 msg/sec OptimistAtomicQueueB2, 5,i: 39,478,307 msg/sec OptimistAtomicQueueB2, 6,s: 37,690,924 msg/sec OptimistAtomicQueueB2, 6,i: 42,317,557 msg/sec OptimistAtomicQueueB2, 7,s: 40,707,453 msg/sec OptimistAtomicQueueB2, 7,i: 43,206,397 msg/sec OptimistAtomicQueueB2, 8,s: 42,644,677 msg/sec OptimistAtomicQueueB2, 8,i: 45,669,403 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000445 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000215 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [244] 159m:21s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,240,018 msg/sec boost::lockfree::spsc_queue, 1,i: 68,307,905 msg/sec boost::lockfree::queue, 1,s: 6,815,296 msg/sec boost::lockfree::queue, 1,i: 6,829,329 msg/sec boost::lockfree::queue, 2,s: 7,537,434 msg/sec boost::lockfree::queue, 2,i: 7,472,575 msg/sec boost::lockfree::queue, 3,s: 7,357,283 msg/sec boost::lockfree::queue, 3,i: 7,570,134 msg/sec boost::lockfree::queue, 4,s: 6,431,017 msg/sec boost::lockfree::queue, 4,i: 6,845,403 msg/sec boost::lockfree::queue, 5,s: 6,426,212 msg/sec boost::lockfree::queue, 5,i: 6,514,660 msg/sec boost::lockfree::queue, 6,s: 6,010,000 msg/sec boost::lockfree::queue, 6,i: 6,135,733 msg/sec boost::lockfree::queue, 7,s: 6,025,852 msg/sec boost::lockfree::queue, 7,i: 6,028,320 msg/sec boost::lockfree::queue, 8,s: 5,387,824 msg/sec boost::lockfree::queue, 8,i: 5,587,805 msg/sec moodycamel::ReaderWriterQueue, 1,s: 175,613,431 msg/sec moodycamel::ReaderWriterQueue, 1,i: 175,773,066 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,352,487 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,029,809 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,339,977 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,282,225 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,470,084 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,865,487 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,115,519 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,917,867 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,293,679 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,757,280 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,433,722 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,009,736 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,933,336 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,296,077 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,331,231 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,819,575 msg/sec pthread_spinlock, 1,s: 28,966,896 msg/sec pthread_spinlock, 1,i: 25,391,829 msg/sec pthread_spinlock, 2,s: 15,451,818 msg/sec pthread_spinlock, 2,i: 16,887,130 msg/sec pthread_spinlock, 3,s: 8,406,496 msg/sec pthread_spinlock, 3,i: 12,153,682 msg/sec pthread_spinlock, 4,s: 6,506,614 msg/sec pthread_spinlock, 4,i: 9,099,880 msg/sec pthread_spinlock, 5,s: 8,463,891 msg/sec pthread_spinlock, 5,i: 8,991,368 msg/sec pthread_spinlock, 6,s: 8,279,615 msg/sec pthread_spinlock, 6,i: 8,983,472 msg/sec pthread_spinlock, 7,s: 7,579,493 msg/sec pthread_spinlock, 7,i: 7,910,226 msg/sec pthread_spinlock, 8,s: 6,629,165 msg/sec pthread_spinlock, 8,i: 7,268,584 msg/sec std::mutex, 1,s: 7,294,696 msg/sec std::mutex, 1,i: 6,784,562 msg/sec std::mutex, 2,s: 5,740,755 msg/sec std::mutex, 2,i: 6,289,134 msg/sec std::mutex, 3,s: 5,627,841 msg/sec std::mutex, 3,i: 6,043,455 msg/sec std::mutex, 4,s: 6,250,655 msg/sec std::mutex, 4,i: 6,261,944 msg/sec std::mutex, 5,s: 6,036,505 msg/sec std::mutex, 5,i: 5,968,865 msg/sec std::mutex, 6,s: 5,888,336 msg/sec std::mutex, 6,i: 5,913,007 msg/sec std::mutex, 7,s: 5,755,363 msg/sec std::mutex, 7,i: 5,785,994 msg/sec std::mutex, 8,s: 5,698,339 msg/sec std::mutex, 8,i: 5,683,589 msg/sec tbb::spin_mutex, 1,s: 37,794,236 msg/sec tbb::spin_mutex, 1,i: 37,610,257 msg/sec tbb::spin_mutex, 2,s: 21,049,767 msg/sec tbb::spin_mutex, 2,i: 18,201,023 msg/sec tbb::spin_mutex, 3,s: 8,319,265 msg/sec tbb::spin_mutex, 3,i: 10,180,391 msg/sec tbb::spin_mutex, 4,s: 3,130,952 msg/sec tbb::spin_mutex, 4,i: 6,341,523 msg/sec tbb::spin_mutex, 5,s: 5,203,675 msg/sec tbb::spin_mutex, 5,i: 5,736,414 msg/sec tbb::spin_mutex, 6,s: 5,347,287 msg/sec tbb::spin_mutex, 6,i: 4,379,011 msg/sec tbb::spin_mutex, 7,s: 4,859,045 msg/sec tbb::spin_mutex, 7,i: 4,338,500 msg/sec tbb::spin_mutex, 8,s: 4,266,625 msg/sec tbb::spin_mutex, 8,i: 4,065,930 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,292,563 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,386,528 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,673,723 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,476,070 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,486,337 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,839,009 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,420,847 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,297,142 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,665,253 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,830,008 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,035,820 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,905,589 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,022,540 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,953,714 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,981,670 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,080,360 msg/sec xenium::michael_scott_queue, 1,s: 9,508,466 msg/sec xenium::michael_scott_queue, 1,i: 9,497,219 msg/sec xenium::michael_scott_queue, 2,s: 8,512,821 msg/sec xenium::michael_scott_queue, 2,i: 8,510,322 msg/sec xenium::michael_scott_queue, 3,s: 7,152,950 msg/sec xenium::michael_scott_queue, 3,i: 7,620,448 msg/sec xenium::michael_scott_queue, 4,s: 6,361,353 msg/sec xenium::michael_scott_queue, 4,i: 6,325,135 msg/sec xenium::michael_scott_queue, 5,s: 6,304,994 msg/sec xenium::michael_scott_queue, 5,i: 6,783,838 msg/sec xenium::michael_scott_queue, 6,s: 6,529,614 msg/sec xenium::michael_scott_queue, 6,i: 6,933,859 msg/sec xenium::michael_scott_queue, 7,s: 6,283,460 msg/sec xenium::michael_scott_queue, 7,i: 6,545,398 msg/sec xenium::michael_scott_queue, 8,s: 5,915,856 msg/sec xenium::michael_scott_queue, 8,i: 6,127,895 msg/sec xenium::ramalhete_queue, 1,s: 32,249,163 msg/sec xenium::ramalhete_queue, 1,i: 32,423,932 msg/sec xenium::ramalhete_queue, 2,s: 24,439,351 msg/sec xenium::ramalhete_queue, 2,i: 23,299,655 msg/sec xenium::ramalhete_queue, 3,s: 29,163,949 msg/sec xenium::ramalhete_queue, 3,i: 28,568,305 msg/sec xenium::ramalhete_queue, 4,s: 33,842,374 msg/sec xenium::ramalhete_queue, 4,i: 33,483,240 msg/sec xenium::ramalhete_queue, 5,s: 31,992,388 msg/sec xenium::ramalhete_queue, 5,i: 36,186,280 msg/sec xenium::ramalhete_queue, 6,s: 33,912,408 msg/sec xenium::ramalhete_queue, 6,i: 39,071,153 msg/sec xenium::ramalhete_queue, 7,s: 35,062,512 msg/sec xenium::ramalhete_queue, 7,i: 41,150,784 msg/sec xenium::ramalhete_queue, 8,s: 35,539,209 msg/sec xenium::ramalhete_queue, 8,i: 43,868,605 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,646,580 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,712,842 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,660,876 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,019,650 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,631,799 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,746,695 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,717,808 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,246,447 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,793,614 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,322,766 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,111,194 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,120,522 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,207,623 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,284,865 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,384,280 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,261,865 msg/sec AtomicQueue, 1,s: 64,650,716 msg/sec AtomicQueue, 1,i: 56,467,766 msg/sec AtomicQueue, 2,s: 12,378,027 msg/sec AtomicQueue, 2,i: 11,744,849 msg/sec AtomicQueue, 3,s: 10,785,291 msg/sec AtomicQueue, 3,i: 9,882,534 msg/sec AtomicQueue, 4,s: 8,167,628 msg/sec AtomicQueue, 4,i: 8,180,226 msg/sec AtomicQueue, 5,s: 7,997,476 msg/sec AtomicQueue, 5,i: 8,011,722 msg/sec AtomicQueue, 6,s: 7,831,464 msg/sec AtomicQueue, 6,i: 7,618,012 msg/sec AtomicQueue, 7,s: 7,120,376 msg/sec AtomicQueue, 7,i: 7,984,056 msg/sec AtomicQueue, 8,s: 6,318,665 msg/sec AtomicQueue, 8,i: 7,486,972 msg/sec AtomicQueueB, 1,s: 43,906,144 msg/sec AtomicQueueB, 1,i: 43,048,696 msg/sec AtomicQueueB, 2,s: 11,867,918 msg/sec AtomicQueueB, 2,i: 11,507,366 msg/sec AtomicQueueB, 3,s: 11,014,799 msg/sec AtomicQueueB, 3,i: 10,039,486 msg/sec AtomicQueueB, 4,s: 8,033,464 msg/sec AtomicQueueB, 4,i: 8,032,079 msg/sec AtomicQueueB, 5,s: 7,619,547 msg/sec AtomicQueueB, 5,i: 7,835,411 msg/sec AtomicQueueB, 6,s: 7,335,866 msg/sec AtomicQueueB, 6,i: 7,586,037 msg/sec AtomicQueueB, 7,s: 6,849,661 msg/sec AtomicQueueB, 7,i: 7,760,397 msg/sec AtomicQueueB, 8,s: 6,307,231 msg/sec AtomicQueueB, 8,i: 7,186,462 msg/sec OptimistAtomicQueue, 1,s: 759,564,435 msg/sec OptimistAtomicQueue, 1,i: 712,926,570 msg/sec OptimistAtomicQueue, 2,s: 32,165,690 msg/sec OptimistAtomicQueue, 2,i: 32,166,661 msg/sec OptimistAtomicQueue, 3,s: 36,559,892 msg/sec OptimistAtomicQueue, 3,i: 37,314,824 msg/sec OptimistAtomicQueue, 4,s: 39,218,086 msg/sec OptimistAtomicQueue, 4,i: 39,320,078 msg/sec OptimistAtomicQueue, 5,s: 42,466,007 msg/sec OptimistAtomicQueue, 5,i: 46,342,774 msg/sec OptimistAtomicQueue, 6,s: 42,824,824 msg/sec OptimistAtomicQueue, 6,i: 50,287,172 msg/sec OptimistAtomicQueue, 7,s: 44,921,135 msg/sec OptimistAtomicQueue, 7,i: 49,510,034 msg/sec OptimistAtomicQueue, 8,s: 46,267,833 msg/sec OptimistAtomicQueue, 8,i: 48,907,310 msg/sec OptimistAtomicQueueB, 1,s: 90,714,374 msg/sec OptimistAtomicQueueB, 1,i: 138,261,952 msg/sec OptimistAtomicQueueB, 2,s: 32,099,658 msg/sec OptimistAtomicQueueB, 2,i: 31,800,099 msg/sec OptimistAtomicQueueB, 3,s: 36,198,780 msg/sec OptimistAtomicQueueB, 3,i: 36,870,464 msg/sec OptimistAtomicQueueB, 4,s: 38,642,082 msg/sec OptimistAtomicQueueB, 4,i: 38,564,993 msg/sec OptimistAtomicQueueB, 5,s: 40,896,727 msg/sec OptimistAtomicQueueB, 5,i: 45,379,888 msg/sec OptimistAtomicQueueB, 6,s: 41,073,138 msg/sec OptimistAtomicQueueB, 6,i: 49,086,252 msg/sec OptimistAtomicQueueB, 7,s: 42,512,550 msg/sec OptimistAtomicQueueB, 7,i: 48,235,758 msg/sec OptimistAtomicQueueB, 8,s: 43,966,479 msg/sec OptimistAtomicQueueB, 8,i: 48,336,792 msg/sec AtomicQueue2, 1,s: 22,903,187 msg/sec AtomicQueue2, 1,i: 22,877,147 msg/sec AtomicQueue2, 2,s: 12,122,494 msg/sec AtomicQueue2, 2,i: 11,812,484 msg/sec AtomicQueue2, 3,s: 9,563,671 msg/sec AtomicQueue2, 3,i: 9,355,928 msg/sec AtomicQueue2, 4,s: 7,990,176 msg/sec AtomicQueue2, 4,i: 8,062,619 msg/sec AtomicQueue2, 5,s: 7,947,982 msg/sec AtomicQueue2, 5,i: 8,036,587 msg/sec AtomicQueue2, 6,s: 7,848,530 msg/sec AtomicQueue2, 6,i: 7,529,469 msg/sec AtomicQueue2, 7,s: 7,187,163 msg/sec AtomicQueue2, 7,i: 7,911,232 msg/sec AtomicQueue2, 8,s: 6,376,023 msg/sec AtomicQueue2, 8,i: 7,337,155 msg/sec AtomicQueueB2, 1,s: 35,916,881 msg/sec AtomicQueueB2, 1,i: 32,642,558 msg/sec AtomicQueueB2, 2,s: 11,367,917 msg/sec AtomicQueueB2, 2,i: 11,112,081 msg/sec AtomicQueueB2, 3,s: 9,707,855 msg/sec AtomicQueueB2, 3,i: 9,475,598 msg/sec AtomicQueueB2, 4,s: 7,915,016 msg/sec AtomicQueueB2, 4,i: 7,916,074 msg/sec AtomicQueueB2, 5,s: 7,461,375 msg/sec AtomicQueueB2, 5,i: 7,685,803 msg/sec AtomicQueueB2, 6,s: 7,261,553 msg/sec AtomicQueueB2, 6,i: 7,441,672 msg/sec AtomicQueueB2, 7,s: 6,894,734 msg/sec AtomicQueueB2, 7,i: 7,688,591 msg/sec AtomicQueueB2, 8,s: 6,362,380 msg/sec AtomicQueueB2, 8,i: 7,101,663 msg/sec OptimistAtomicQueue2, 1,s: 367,477,235 msg/sec OptimistAtomicQueue2, 1,i: 370,564,196 msg/sec OptimistAtomicQueue2, 2,s: 24,381,129 msg/sec OptimistAtomicQueue2, 2,i: 24,620,307 msg/sec OptimistAtomicQueue2, 3,s: 30,332,171 msg/sec OptimistAtomicQueue2, 3,i: 30,082,079 msg/sec OptimistAtomicQueue2, 4,s: 34,981,830 msg/sec OptimistAtomicQueue2, 4,i: 33,247,093 msg/sec OptimistAtomicQueue2, 5,s: 36,947,368 msg/sec OptimistAtomicQueue2, 5,i: 40,235,440 msg/sec OptimistAtomicQueue2, 6,s: 40,128,805 msg/sec OptimistAtomicQueue2, 6,i: 49,293,739 msg/sec OptimistAtomicQueue2, 7,s: 43,139,208 msg/sec OptimistAtomicQueue2, 7,i: 51,572,128 msg/sec OptimistAtomicQueue2, 8,s: 43,946,378 msg/sec OptimistAtomicQueue2, 8,i: 48,380,311 msg/sec OptimistAtomicQueueB2, 1,s: 77,248,348 msg/sec OptimistAtomicQueueB2, 1,i: 33,883,290 msg/sec OptimistAtomicQueueB2, 2,s: 26,984,842 msg/sec OptimistAtomicQueueB2, 2,i: 29,163,912 msg/sec OptimistAtomicQueueB2, 3,s: 30,550,017 msg/sec OptimistAtomicQueueB2, 3,i: 29,722,719 msg/sec OptimistAtomicQueueB2, 4,s: 33,362,072 msg/sec OptimistAtomicQueueB2, 4,i: 33,101,675 msg/sec OptimistAtomicQueueB2, 5,s: 34,605,671 msg/sec OptimistAtomicQueueB2, 5,i: 39,454,113 msg/sec OptimistAtomicQueueB2, 6,s: 37,503,083 msg/sec OptimistAtomicQueueB2, 6,i: 42,229,671 msg/sec OptimistAtomicQueueB2, 7,s: 40,778,080 msg/sec OptimistAtomicQueueB2, 7,i: 45,125,817 msg/sec OptimistAtomicQueueB2, 8,s: 42,405,672 msg/sec OptimistAtomicQueueB2, 8,i: 46,315,747 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000156 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000254 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000268 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [245] 158m:2s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,096,301 msg/sec boost::lockfree::spsc_queue, 1,i: 68,093,648 msg/sec boost::lockfree::queue, 1,s: 6,837,634 msg/sec boost::lockfree::queue, 1,i: 6,882,040 msg/sec boost::lockfree::queue, 2,s: 7,543,992 msg/sec boost::lockfree::queue, 2,i: 7,583,959 msg/sec boost::lockfree::queue, 3,s: 7,399,990 msg/sec boost::lockfree::queue, 3,i: 7,554,083 msg/sec boost::lockfree::queue, 4,s: 6,427,502 msg/sec boost::lockfree::queue, 4,i: 6,774,848 msg/sec boost::lockfree::queue, 5,s: 6,480,313 msg/sec boost::lockfree::queue, 5,i: 6,488,003 msg/sec boost::lockfree::queue, 6,s: 6,009,727 msg/sec boost::lockfree::queue, 6,i: 6,097,009 msg/sec boost::lockfree::queue, 7,s: 5,925,147 msg/sec boost::lockfree::queue, 7,i: 6,089,815 msg/sec boost::lockfree::queue, 8,s: 5,447,353 msg/sec boost::lockfree::queue, 8,i: 5,641,196 msg/sec moodycamel::ReaderWriterQueue, 1,s: 292,269,387 msg/sec moodycamel::ReaderWriterQueue, 1,i: 87,813,185 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,020,721 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,212,157 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,021,656 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,967,402 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,071,696 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,515,641 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,121,716 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,248,360 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,520,260 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,241,478 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,740,632 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,308,011 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,122,246 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,296,305 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,293,920 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,341,402 msg/sec pthread_spinlock, 1,s: 29,484,592 msg/sec pthread_spinlock, 1,i: 25,291,569 msg/sec pthread_spinlock, 2,s: 15,559,909 msg/sec pthread_spinlock, 2,i: 16,991,665 msg/sec pthread_spinlock, 3,s: 8,267,433 msg/sec pthread_spinlock, 3,i: 12,112,366 msg/sec pthread_spinlock, 4,s: 6,511,755 msg/sec pthread_spinlock, 4,i: 8,812,830 msg/sec pthread_spinlock, 5,s: 8,755,982 msg/sec pthread_spinlock, 5,i: 9,567,712 msg/sec pthread_spinlock, 6,s: 8,339,685 msg/sec pthread_spinlock, 6,i: 8,408,491 msg/sec pthread_spinlock, 7,s: 7,549,337 msg/sec pthread_spinlock, 7,i: 7,865,312 msg/sec pthread_spinlock, 8,s: 6,864,805 msg/sec pthread_spinlock, 8,i: 6,935,075 msg/sec std::mutex, 1,s: 7,815,647 msg/sec std::mutex, 1,i: 7,311,309 msg/sec std::mutex, 2,s: 5,375,481 msg/sec std::mutex, 2,i: 5,521,823 msg/sec std::mutex, 3,s: 5,365,332 msg/sec std::mutex, 3,i: 4,887,585 msg/sec std::mutex, 4,s: 5,379,711 msg/sec std::mutex, 4,i: 6,285,748 msg/sec std::mutex, 5,s: 6,118,270 msg/sec std::mutex, 5,i: 6,032,818 msg/sec std::mutex, 6,s: 5,963,084 msg/sec std::mutex, 6,i: 5,977,232 msg/sec std::mutex, 7,s: 5,842,918 msg/sec std::mutex, 7,i: 5,850,702 msg/sec std::mutex, 8,s: 5,708,894 msg/sec std::mutex, 8,i: 5,704,858 msg/sec tbb::spin_mutex, 1,s: 37,836,756 msg/sec tbb::spin_mutex, 1,i: 37,758,511 msg/sec tbb::spin_mutex, 2,s: 21,068,338 msg/sec tbb::spin_mutex, 2,i: 18,306,537 msg/sec tbb::spin_mutex, 3,s: 7,397,371 msg/sec tbb::spin_mutex, 3,i: 10,779,437 msg/sec tbb::spin_mutex, 4,s: 3,169,231 msg/sec tbb::spin_mutex, 4,i: 6,313,267 msg/sec tbb::spin_mutex, 5,s: 5,180,285 msg/sec tbb::spin_mutex, 5,i: 5,658,189 msg/sec tbb::spin_mutex, 6,s: 5,260,772 msg/sec tbb::spin_mutex, 6,i: 4,377,538 msg/sec tbb::spin_mutex, 7,s: 4,854,868 msg/sec tbb::spin_mutex, 7,i: 4,344,277 msg/sec tbb::spin_mutex, 8,s: 4,269,739 msg/sec tbb::spin_mutex, 8,i: 4,171,091 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,379,478 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,396,501 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,124,705 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,977,593 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,415,450 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,763,945 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,145,941 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,368,461 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,679,402 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,726,450 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,811,998 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,945,083 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,797,795 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,199,580 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,641,128 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,291,889 msg/sec xenium::michael_scott_queue, 1,s: 10,158,010 msg/sec xenium::michael_scott_queue, 1,i: 9,894,476 msg/sec xenium::michael_scott_queue, 2,s: 8,428,541 msg/sec xenium::michael_scott_queue, 2,i: 8,430,992 msg/sec xenium::michael_scott_queue, 3,s: 7,269,151 msg/sec xenium::michael_scott_queue, 3,i: 7,560,960 msg/sec xenium::michael_scott_queue, 4,s: 6,397,792 msg/sec xenium::michael_scott_queue, 4,i: 6,372,066 msg/sec xenium::michael_scott_queue, 5,s: 6,336,234 msg/sec xenium::michael_scott_queue, 5,i: 6,658,496 msg/sec xenium::michael_scott_queue, 6,s: 6,549,657 msg/sec xenium::michael_scott_queue, 6,i: 6,734,359 msg/sec xenium::michael_scott_queue, 7,s: 6,259,443 msg/sec xenium::michael_scott_queue, 7,i: 6,570,952 msg/sec xenium::michael_scott_queue, 8,s: 5,998,539 msg/sec xenium::michael_scott_queue, 8,i: 6,106,290 msg/sec xenium::ramalhete_queue, 1,s: 31,937,872 msg/sec xenium::ramalhete_queue, 1,i: 32,433,506 msg/sec xenium::ramalhete_queue, 2,s: 23,403,459 msg/sec xenium::ramalhete_queue, 2,i: 23,284,279 msg/sec xenium::ramalhete_queue, 3,s: 29,245,828 msg/sec xenium::ramalhete_queue, 3,i: 28,453,584 msg/sec xenium::ramalhete_queue, 4,s: 33,850,851 msg/sec xenium::ramalhete_queue, 4,i: 33,497,086 msg/sec xenium::ramalhete_queue, 5,s: 32,432,740 msg/sec xenium::ramalhete_queue, 5,i: 36,110,493 msg/sec xenium::ramalhete_queue, 6,s: 34,026,127 msg/sec xenium::ramalhete_queue, 6,i: 38,854,391 msg/sec xenium::ramalhete_queue, 7,s: 35,161,975 msg/sec xenium::ramalhete_queue, 7,i: 42,267,038 msg/sec xenium::ramalhete_queue, 8,s: 35,513,885 msg/sec xenium::ramalhete_queue, 8,i: 44,250,803 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,452,786 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,736,337 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,420,141 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,631,801 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,639,204 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,015,119 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,555,474 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,365,953 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,919,000 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,320,121 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,054,855 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,410,820 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,319,004 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,906,022 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,424,108 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,337,825 msg/sec AtomicQueue, 1,s: 58,349,084 msg/sec AtomicQueue, 1,i: 56,644,838 msg/sec AtomicQueue, 2,s: 12,311,624 msg/sec AtomicQueue, 2,i: 11,746,547 msg/sec AtomicQueue, 3,s: 10,769,401 msg/sec AtomicQueue, 3,i: 9,932,065 msg/sec AtomicQueue, 4,s: 8,200,788 msg/sec AtomicQueue, 4,i: 8,207,543 msg/sec AtomicQueue, 5,s: 8,035,457 msg/sec AtomicQueue, 5,i: 8,134,936 msg/sec AtomicQueue, 6,s: 7,733,502 msg/sec AtomicQueue, 6,i: 7,630,135 msg/sec AtomicQueue, 7,s: 7,117,463 msg/sec AtomicQueue, 7,i: 7,983,008 msg/sec AtomicQueue, 8,s: 6,378,701 msg/sec AtomicQueue, 8,i: 7,438,312 msg/sec AtomicQueueB, 1,s: 43,829,760 msg/sec AtomicQueueB, 1,i: 43,254,567 msg/sec AtomicQueueB, 2,s: 11,804,283 msg/sec AtomicQueueB, 2,i: 11,495,933 msg/sec AtomicQueueB, 3,s: 10,966,112 msg/sec AtomicQueueB, 3,i: 10,117,959 msg/sec AtomicQueueB, 4,s: 8,054,561 msg/sec AtomicQueueB, 4,i: 8,056,251 msg/sec AtomicQueueB, 5,s: 7,672,724 msg/sec AtomicQueueB, 5,i: 7,733,177 msg/sec AtomicQueueB, 6,s: 7,248,616 msg/sec AtomicQueueB, 6,i: 7,511,575 msg/sec AtomicQueueB, 7,s: 6,899,296 msg/sec AtomicQueueB, 7,i: 7,749,965 msg/sec AtomicQueueB, 8,s: 6,319,247 msg/sec AtomicQueueB, 8,i: 7,008,829 msg/sec OptimistAtomicQueue, 1,s: 697,732,508 msg/sec OptimistAtomicQueue, 1,i: 512,645,556 msg/sec OptimistAtomicQueue, 2,s: 32,300,161 msg/sec OptimistAtomicQueue, 2,i: 32,122,723 msg/sec OptimistAtomicQueue, 3,s: 36,625,467 msg/sec OptimistAtomicQueue, 3,i: 37,343,791 msg/sec OptimistAtomicQueue, 4,s: 39,287,538 msg/sec OptimistAtomicQueue, 4,i: 39,361,546 msg/sec OptimistAtomicQueue, 5,s: 41,669,437 msg/sec OptimistAtomicQueue, 5,i: 46,402,553 msg/sec OptimistAtomicQueue, 6,s: 42,085,952 msg/sec OptimistAtomicQueue, 6,i: 50,474,640 msg/sec OptimistAtomicQueue, 7,s: 44,034,431 msg/sec OptimistAtomicQueue, 7,i: 52,994,713 msg/sec OptimistAtomicQueue, 8,s: 46,564,692 msg/sec OptimistAtomicQueue, 8,i: 49,742,389 msg/sec OptimistAtomicQueueB, 1,s: 109,371,197 msg/sec OptimistAtomicQueueB, 1,i: 126,523,753 msg/sec OptimistAtomicQueueB, 2,s: 32,416,645 msg/sec OptimistAtomicQueueB, 2,i: 32,401,025 msg/sec OptimistAtomicQueueB, 3,s: 36,289,878 msg/sec OptimistAtomicQueueB, 3,i: 36,985,576 msg/sec OptimistAtomicQueueB, 4,s: 38,715,232 msg/sec OptimistAtomicQueueB, 4,i: 38,675,903 msg/sec OptimistAtomicQueueB, 5,s: 41,116,451 msg/sec OptimistAtomicQueueB, 5,i: 45,684,283 msg/sec OptimistAtomicQueueB, 6,s: 41,183,756 msg/sec OptimistAtomicQueueB, 6,i: 49,093,298 msg/sec OptimistAtomicQueueB, 7,s: 42,535,957 msg/sec OptimistAtomicQueueB, 7,i: 51,449,605 msg/sec OptimistAtomicQueueB, 8,s: 44,148,697 msg/sec OptimistAtomicQueueB, 8,i: 47,937,856 msg/sec AtomicQueue2, 1,s: 23,076,764 msg/sec AtomicQueue2, 1,i: 23,184,130 msg/sec AtomicQueue2, 2,s: 11,881,875 msg/sec AtomicQueue2, 2,i: 11,593,898 msg/sec AtomicQueue2, 3,s: 9,901,293 msg/sec AtomicQueue2, 3,i: 9,370,918 msg/sec AtomicQueue2, 4,s: 8,067,230 msg/sec AtomicQueue2, 4,i: 8,027,946 msg/sec AtomicQueue2, 5,s: 7,909,524 msg/sec AtomicQueue2, 5,i: 8,034,844 msg/sec AtomicQueue2, 6,s: 7,713,442 msg/sec AtomicQueue2, 6,i: 7,525,460 msg/sec AtomicQueue2, 7,s: 7,098,953 msg/sec AtomicQueue2, 7,i: 7,902,481 msg/sec AtomicQueue2, 8,s: 6,377,539 msg/sec AtomicQueue2, 8,i: 7,352,482 msg/sec AtomicQueueB2, 1,s: 35,960,616 msg/sec AtomicQueueB2, 1,i: 36,024,905 msg/sec AtomicQueueB2, 2,s: 11,393,018 msg/sec AtomicQueueB2, 2,i: 11,127,024 msg/sec AtomicQueueB2, 3,s: 9,677,125 msg/sec AtomicQueueB2, 3,i: 9,531,102 msg/sec AtomicQueueB2, 4,s: 7,985,660 msg/sec AtomicQueueB2, 4,i: 7,880,863 msg/sec AtomicQueueB2, 5,s: 7,460,184 msg/sec AtomicQueueB2, 5,i: 7,775,211 msg/sec AtomicQueueB2, 6,s: 7,276,680 msg/sec AtomicQueueB2, 6,i: 7,432,467 msg/sec AtomicQueueB2, 7,s: 6,871,077 msg/sec AtomicQueueB2, 7,i: 7,756,858 msg/sec AtomicQueueB2, 8,s: 6,281,019 msg/sec AtomicQueueB2, 8,i: 7,124,056 msg/sec OptimistAtomicQueue2, 1,s: 499,635,515 msg/sec OptimistAtomicQueue2, 1,i: 33,710,086 msg/sec OptimistAtomicQueue2, 2,s: 26,073,301 msg/sec OptimistAtomicQueue2, 2,i: 24,018,622 msg/sec OptimistAtomicQueue2, 3,s: 30,308,722 msg/sec OptimistAtomicQueue2, 3,i: 30,061,392 msg/sec OptimistAtomicQueue2, 4,s: 33,205,585 msg/sec OptimistAtomicQueue2, 4,i: 33,003,344 msg/sec OptimistAtomicQueue2, 5,s: 37,085,953 msg/sec OptimistAtomicQueue2, 5,i: 40,562,300 msg/sec OptimistAtomicQueue2, 6,s: 40,387,785 msg/sec OptimistAtomicQueue2, 6,i: 49,028,064 msg/sec OptimistAtomicQueue2, 7,s: 42,688,136 msg/sec OptimistAtomicQueue2, 7,i: 48,186,939 msg/sec OptimistAtomicQueue2, 8,s: 43,973,528 msg/sec OptimistAtomicQueue2, 8,i: 49,794,559 msg/sec OptimistAtomicQueueB2, 1,s: 78,129,373 msg/sec OptimistAtomicQueueB2, 1,i: 33,866,522 msg/sec OptimistAtomicQueueB2, 2,s: 26,858,464 msg/sec OptimistAtomicQueueB2, 2,i: 23,219,819 msg/sec OptimistAtomicQueueB2, 3,s: 29,884,273 msg/sec OptimistAtomicQueueB2, 3,i: 32,070,854 msg/sec OptimistAtomicQueueB2, 4,s: 33,521,748 msg/sec OptimistAtomicQueueB2, 4,i: 33,158,010 msg/sec OptimistAtomicQueueB2, 5,s: 34,883,179 msg/sec OptimistAtomicQueueB2, 5,i: 39,254,998 msg/sec OptimistAtomicQueueB2, 6,s: 37,818,952 msg/sec OptimistAtomicQueueB2, 6,i: 42,325,463 msg/sec OptimistAtomicQueueB2, 7,s: 40,157,176 msg/sec OptimistAtomicQueueB2, 7,i: 45,245,955 msg/sec OptimistAtomicQueueB2, 8,s: 41,946,361 msg/sec OptimistAtomicQueueB2, 8,i: 46,066,461 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000156 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000244 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000283 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [246] 156m:43s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,458,889 msg/sec boost::lockfree::spsc_queue, 1,i: 68,187,322 msg/sec boost::lockfree::queue, 1,s: 6,896,428 msg/sec boost::lockfree::queue, 1,i: 6,905,208 msg/sec boost::lockfree::queue, 2,s: 7,652,683 msg/sec boost::lockfree::queue, 2,i: 7,410,802 msg/sec boost::lockfree::queue, 3,s: 7,374,128 msg/sec boost::lockfree::queue, 3,i: 7,542,311 msg/sec boost::lockfree::queue, 4,s: 6,424,298 msg/sec boost::lockfree::queue, 4,i: 6,868,439 msg/sec boost::lockfree::queue, 5,s: 6,436,399 msg/sec boost::lockfree::queue, 5,i: 6,500,092 msg/sec boost::lockfree::queue, 6,s: 5,981,351 msg/sec boost::lockfree::queue, 6,i: 6,109,932 msg/sec boost::lockfree::queue, 7,s: 5,977,786 msg/sec boost::lockfree::queue, 7,i: 6,031,599 msg/sec boost::lockfree::queue, 8,s: 5,527,132 msg/sec boost::lockfree::queue, 8,i: 5,687,451 msg/sec moodycamel::ReaderWriterQueue, 1,s: 423,500,733 msg/sec moodycamel::ReaderWriterQueue, 1,i: 44,695,535 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,909,791 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,851,187 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,752,229 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,558,917 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,832,980 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,727,134 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,466,292 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,570,765 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,285,792 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,732,527 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,499,885 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,985,943 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,011,672 msg/sec moodycamel::ConcurrentQueue, 7,i: 35,026,518 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,206,456 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,392,024 msg/sec pthread_spinlock, 1,s: 29,185,436 msg/sec pthread_spinlock, 1,i: 25,311,567 msg/sec pthread_spinlock, 2,s: 16,016,175 msg/sec pthread_spinlock, 2,i: 16,944,418 msg/sec pthread_spinlock, 3,s: 8,294,029 msg/sec pthread_spinlock, 3,i: 12,061,875 msg/sec pthread_spinlock, 4,s: 6,519,855 msg/sec pthread_spinlock, 4,i: 9,304,231 msg/sec pthread_spinlock, 5,s: 8,721,490 msg/sec pthread_spinlock, 5,i: 9,341,282 msg/sec pthread_spinlock, 6,s: 8,619,648 msg/sec pthread_spinlock, 6,i: 8,337,528 msg/sec pthread_spinlock, 7,s: 7,531,642 msg/sec pthread_spinlock, 7,i: 7,687,097 msg/sec pthread_spinlock, 8,s: 6,702,084 msg/sec pthread_spinlock, 8,i: 7,127,556 msg/sec std::mutex, 1,s: 6,111,649 msg/sec std::mutex, 1,i: 6,667,682 msg/sec std::mutex, 2,s: 5,414,094 msg/sec std::mutex, 2,i: 5,025,099 msg/sec std::mutex, 3,s: 5,280,616 msg/sec std::mutex, 3,i: 5,786,007 msg/sec std::mutex, 4,s: 6,002,095 msg/sec std::mutex, 4,i: 6,139,663 msg/sec std::mutex, 5,s: 6,101,017 msg/sec std::mutex, 5,i: 6,070,016 msg/sec std::mutex, 6,s: 5,788,182 msg/sec std::mutex, 6,i: 5,883,223 msg/sec std::mutex, 7,s: 5,867,005 msg/sec std::mutex, 7,i: 5,820,744 msg/sec std::mutex, 8,s: 5,777,901 msg/sec std::mutex, 8,i: 5,721,488 msg/sec tbb::spin_mutex, 1,s: 37,866,523 msg/sec tbb::spin_mutex, 1,i: 37,784,898 msg/sec tbb::spin_mutex, 2,s: 21,210,833 msg/sec tbb::spin_mutex, 2,i: 18,445,581 msg/sec tbb::spin_mutex, 3,s: 8,795,145 msg/sec tbb::spin_mutex, 3,i: 11,055,491 msg/sec tbb::spin_mutex, 4,s: 3,175,252 msg/sec tbb::spin_mutex, 4,i: 6,299,994 msg/sec tbb::spin_mutex, 5,s: 5,255,768 msg/sec tbb::spin_mutex, 5,i: 5,470,489 msg/sec tbb::spin_mutex, 6,s: 5,243,398 msg/sec tbb::spin_mutex, 6,i: 4,370,672 msg/sec tbb::spin_mutex, 7,s: 4,677,854 msg/sec tbb::spin_mutex, 7,i: 4,311,767 msg/sec tbb::spin_mutex, 8,s: 4,228,008 msg/sec tbb::spin_mutex, 8,i: 4,165,296 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,581,574 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,199,825 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,995,767 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,902,027 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,450,577 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,424,957 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,331,955 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,284,216 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,742,211 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,741,507 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,717,094 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,017,145 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,899,648 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,965,667 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,876,776 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,128,818 msg/sec xenium::michael_scott_queue, 1,s: 9,210,622 msg/sec xenium::michael_scott_queue, 1,i: 8,997,557 msg/sec xenium::michael_scott_queue, 2,s: 8,489,039 msg/sec xenium::michael_scott_queue, 2,i: 8,540,354 msg/sec xenium::michael_scott_queue, 3,s: 7,323,040 msg/sec xenium::michael_scott_queue, 3,i: 7,614,236 msg/sec xenium::michael_scott_queue, 4,s: 6,361,586 msg/sec xenium::michael_scott_queue, 4,i: 6,316,292 msg/sec xenium::michael_scott_queue, 5,s: 6,300,080 msg/sec xenium::michael_scott_queue, 5,i: 6,781,120 msg/sec xenium::michael_scott_queue, 6,s: 6,601,187 msg/sec xenium::michael_scott_queue, 6,i: 6,740,700 msg/sec xenium::michael_scott_queue, 7,s: 6,398,325 msg/sec xenium::michael_scott_queue, 7,i: 6,576,432 msg/sec xenium::michael_scott_queue, 8,s: 5,996,117 msg/sec xenium::michael_scott_queue, 8,i: 6,259,035 msg/sec xenium::ramalhete_queue, 1,s: 31,352,947 msg/sec xenium::ramalhete_queue, 1,i: 28,864,332 msg/sec xenium::ramalhete_queue, 2,s: 23,155,304 msg/sec xenium::ramalhete_queue, 2,i: 23,227,826 msg/sec xenium::ramalhete_queue, 3,s: 29,213,846 msg/sec xenium::ramalhete_queue, 3,i: 28,550,444 msg/sec xenium::ramalhete_queue, 4,s: 33,854,395 msg/sec xenium::ramalhete_queue, 4,i: 33,438,790 msg/sec xenium::ramalhete_queue, 5,s: 31,987,998 msg/sec xenium::ramalhete_queue, 5,i: 36,216,466 msg/sec xenium::ramalhete_queue, 6,s: 34,006,443 msg/sec xenium::ramalhete_queue, 6,i: 38,876,837 msg/sec xenium::ramalhete_queue, 7,s: 35,050,768 msg/sec xenium::ramalhete_queue, 7,i: 41,167,881 msg/sec xenium::ramalhete_queue, 8,s: 35,647,864 msg/sec xenium::ramalhete_queue, 8,i: 43,839,215 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,233,932 msg/sec xenium::vyukov_bounded_queue, 1,i: 82,851,863 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,656,100 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,029,985 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,663,753 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,854,755 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,747,022 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,055,721 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,567,605 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,285,012 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,994,042 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,356,719 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,155,634 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,978,422 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,439,418 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,238,203 msg/sec AtomicQueue, 1,s: 62,950,083 msg/sec AtomicQueue, 1,i: 56,688,839 msg/sec AtomicQueue, 2,s: 12,307,169 msg/sec AtomicQueue, 2,i: 11,736,384 msg/sec AtomicQueue, 3,s: 10,593,171 msg/sec AtomicQueue, 3,i: 9,992,750 msg/sec AtomicQueue, 4,s: 8,220,632 msg/sec AtomicQueue, 4,i: 8,202,192 msg/sec AtomicQueue, 5,s: 8,044,786 msg/sec AtomicQueue, 5,i: 8,084,227 msg/sec AtomicQueue, 6,s: 7,823,448 msg/sec AtomicQueue, 6,i: 7,617,776 msg/sec AtomicQueue, 7,s: 7,116,936 msg/sec AtomicQueue, 7,i: 7,975,115 msg/sec AtomicQueue, 8,s: 6,347,824 msg/sec AtomicQueue, 8,i: 7,489,051 msg/sec AtomicQueueB, 1,s: 43,950,757 msg/sec AtomicQueueB, 1,i: 43,091,952 msg/sec AtomicQueueB, 2,s: 11,986,814 msg/sec AtomicQueueB, 2,i: 11,507,253 msg/sec AtomicQueueB, 3,s: 11,022,034 msg/sec AtomicQueueB, 3,i: 10,261,044 msg/sec AtomicQueueB, 4,s: 8,114,810 msg/sec AtomicQueueB, 4,i: 7,991,823 msg/sec AtomicQueueB, 5,s: 7,660,595 msg/sec AtomicQueueB, 5,i: 7,825,122 msg/sec AtomicQueueB, 6,s: 7,361,039 msg/sec AtomicQueueB, 6,i: 7,535,335 msg/sec AtomicQueueB, 7,s: 6,894,740 msg/sec AtomicQueueB, 7,i: 7,746,506 msg/sec AtomicQueueB, 8,s: 6,250,165 msg/sec AtomicQueueB, 8,i: 7,164,137 msg/sec OptimistAtomicQueue, 1,s: 756,892,260 msg/sec OptimistAtomicQueue, 1,i: 598,717,965 msg/sec OptimistAtomicQueue, 2,s: 31,992,074 msg/sec OptimistAtomicQueue, 2,i: 32,019,639 msg/sec OptimistAtomicQueue, 3,s: 36,607,439 msg/sec OptimistAtomicQueue, 3,i: 37,455,115 msg/sec OptimistAtomicQueue, 4,s: 39,246,886 msg/sec OptimistAtomicQueue, 4,i: 39,379,884 msg/sec OptimistAtomicQueue, 5,s: 42,400,838 msg/sec OptimistAtomicQueue, 5,i: 46,405,104 msg/sec OptimistAtomicQueue, 6,s: 42,576,087 msg/sec OptimistAtomicQueue, 6,i: 50,473,756 msg/sec OptimistAtomicQueue, 7,s: 44,294,483 msg/sec OptimistAtomicQueue, 7,i: 52,983,291 msg/sec OptimistAtomicQueue, 8,s: 46,499,616 msg/sec OptimistAtomicQueue, 8,i: 49,287,135 msg/sec OptimistAtomicQueueB, 1,s: 142,229,185 msg/sec OptimistAtomicQueueB, 1,i: 76,459,684 msg/sec OptimistAtomicQueueB, 2,s: 32,193,935 msg/sec OptimistAtomicQueueB, 2,i: 32,177,677 msg/sec OptimistAtomicQueueB, 3,s: 36,293,108 msg/sec OptimistAtomicQueueB, 3,i: 36,798,841 msg/sec OptimistAtomicQueueB, 4,s: 38,598,047 msg/sec OptimistAtomicQueueB, 4,i: 38,746,596 msg/sec OptimistAtomicQueueB, 5,s: 41,089,275 msg/sec OptimistAtomicQueueB, 5,i: 46,158,563 msg/sec OptimistAtomicQueueB, 6,s: 40,716,432 msg/sec OptimistAtomicQueueB, 6,i: 48,671,206 msg/sec OptimistAtomicQueueB, 7,s: 42,062,143 msg/sec OptimistAtomicQueueB, 7,i: 51,468,713 msg/sec OptimistAtomicQueueB, 8,s: 44,023,232 msg/sec OptimistAtomicQueueB, 8,i: 48,234,075 msg/sec AtomicQueue2, 1,s: 23,451,718 msg/sec AtomicQueue2, 1,i: 61,696,929 msg/sec AtomicQueue2, 2,s: 11,839,652 msg/sec AtomicQueue2, 2,i: 11,403,251 msg/sec AtomicQueue2, 3,s: 9,457,890 msg/sec AtomicQueue2, 3,i: 9,426,166 msg/sec AtomicQueue2, 4,s: 8,031,005 msg/sec AtomicQueue2, 4,i: 8,105,145 msg/sec AtomicQueue2, 5,s: 7,873,236 msg/sec AtomicQueue2, 5,i: 8,048,941 msg/sec AtomicQueue2, 6,s: 7,633,934 msg/sec AtomicQueue2, 6,i: 7,524,962 msg/sec AtomicQueue2, 7,s: 7,005,546 msg/sec AtomicQueue2, 7,i: 7,879,224 msg/sec AtomicQueue2, 8,s: 6,405,782 msg/sec AtomicQueue2, 8,i: 7,358,022 msg/sec AtomicQueueB2, 1,s: 39,366,669 msg/sec AtomicQueueB2, 1,i: 33,483,616 msg/sec AtomicQueueB2, 2,s: 11,330,564 msg/sec AtomicQueueB2, 2,i: 11,118,095 msg/sec AtomicQueueB2, 3,s: 9,671,689 msg/sec AtomicQueueB2, 3,i: 9,557,198 msg/sec AtomicQueueB2, 4,s: 7,937,542 msg/sec AtomicQueueB2, 4,i: 7,852,762 msg/sec AtomicQueueB2, 5,s: 7,505,483 msg/sec AtomicQueueB2, 5,i: 7,658,735 msg/sec AtomicQueueB2, 6,s: 7,018,286 msg/sec AtomicQueueB2, 6,i: 7,459,970 msg/sec AtomicQueueB2, 7,s: 6,870,571 msg/sec AtomicQueueB2, 7,i: 7,708,270 msg/sec AtomicQueueB2, 8,s: 6,332,800 msg/sec AtomicQueueB2, 8,i: 6,976,573 msg/sec OptimistAtomicQueue2, 1,s: 467,479,278 msg/sec OptimistAtomicQueue2, 1,i: 29,581,212 msg/sec OptimistAtomicQueue2, 2,s: 25,057,120 msg/sec OptimistAtomicQueue2, 2,i: 25,551,877 msg/sec OptimistAtomicQueue2, 3,s: 30,317,292 msg/sec OptimistAtomicQueue2, 3,i: 29,993,977 msg/sec OptimistAtomicQueue2, 4,s: 33,248,556 msg/sec OptimistAtomicQueue2, 4,i: 33,082,572 msg/sec OptimistAtomicQueue2, 5,s: 36,989,926 msg/sec OptimistAtomicQueue2, 5,i: 41,133,710 msg/sec OptimistAtomicQueue2, 6,s: 40,096,388 msg/sec OptimistAtomicQueue2, 6,i: 49,323,944 msg/sec OptimistAtomicQueue2, 7,s: 43,392,923 msg/sec OptimistAtomicQueue2, 7,i: 48,222,015 msg/sec OptimistAtomicQueue2, 8,s: 43,910,058 msg/sec OptimistAtomicQueue2, 8,i: 48,769,977 msg/sec OptimistAtomicQueueB2, 1,s: 77,369,033 msg/sec OptimistAtomicQueueB2, 1,i: 33,858,723 msg/sec OptimistAtomicQueueB2, 2,s: 27,901,431 msg/sec OptimistAtomicQueueB2, 2,i: 23,189,236 msg/sec OptimistAtomicQueueB2, 3,s: 29,801,880 msg/sec OptimistAtomicQueueB2, 3,i: 29,118,536 msg/sec OptimistAtomicQueueB2, 4,s: 33,283,801 msg/sec OptimistAtomicQueueB2, 4,i: 32,728,983 msg/sec OptimistAtomicQueueB2, 5,s: 34,472,141 msg/sec OptimistAtomicQueueB2, 5,i: 39,707,981 msg/sec OptimistAtomicQueueB2, 6,s: 37,238,568 msg/sec OptimistAtomicQueueB2, 6,i: 41,389,338 msg/sec OptimistAtomicQueueB2, 7,s: 40,116,724 msg/sec OptimistAtomicQueueB2, 7,i: 43,019,833 msg/sec OptimistAtomicQueueB2, 8,s: 42,561,918 msg/sec OptimistAtomicQueueB2, 8,i: 45,186,226 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000259 sec/round-trip std::mutex: 0.000000411 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000380 sec/round-trip xenium::ramalhete_queue: 0.000000276 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [247] 155m:23s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,341,125 msg/sec boost::lockfree::spsc_queue, 1,i: 67,655,597 msg/sec boost::lockfree::queue, 1,s: 6,852,699 msg/sec boost::lockfree::queue, 1,i: 6,897,584 msg/sec boost::lockfree::queue, 2,s: 7,638,249 msg/sec boost::lockfree::queue, 2,i: 7,506,704 msg/sec boost::lockfree::queue, 3,s: 7,523,030 msg/sec boost::lockfree::queue, 3,i: 7,552,144 msg/sec boost::lockfree::queue, 4,s: 6,426,422 msg/sec boost::lockfree::queue, 4,i: 6,857,368 msg/sec boost::lockfree::queue, 5,s: 6,429,474 msg/sec boost::lockfree::queue, 5,i: 6,472,018 msg/sec boost::lockfree::queue, 6,s: 6,028,821 msg/sec boost::lockfree::queue, 6,i: 6,118,036 msg/sec boost::lockfree::queue, 7,s: 5,831,020 msg/sec boost::lockfree::queue, 7,i: 6,070,819 msg/sec boost::lockfree::queue, 8,s: 5,410,226 msg/sec boost::lockfree::queue, 8,i: 5,593,706 msg/sec moodycamel::ReaderWriterQueue, 1,s: 473,501,158 msg/sec moodycamel::ReaderWriterQueue, 1,i: 485,346,244 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,103,782 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,057,488 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,541,308 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,879,086 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,531,631 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,587,496 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,714,226 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,194,170 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,338,270 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,651,659 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,215,529 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,802,445 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,153,419 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,414,351 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,347,092 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,320,335 msg/sec pthread_spinlock, 1,s: 29,076,440 msg/sec pthread_spinlock, 1,i: 25,507,227 msg/sec pthread_spinlock, 2,s: 16,016,092 msg/sec pthread_spinlock, 2,i: 16,873,606 msg/sec pthread_spinlock, 3,s: 8,317,379 msg/sec pthread_spinlock, 3,i: 12,063,490 msg/sec pthread_spinlock, 4,s: 6,545,856 msg/sec pthread_spinlock, 4,i: 9,285,963 msg/sec pthread_spinlock, 5,s: 8,668,886 msg/sec pthread_spinlock, 5,i: 9,413,472 msg/sec pthread_spinlock, 6,s: 8,282,372 msg/sec pthread_spinlock, 6,i: 8,902,648 msg/sec pthread_spinlock, 7,s: 7,528,352 msg/sec pthread_spinlock, 7,i: 8,078,050 msg/sec pthread_spinlock, 8,s: 6,802,838 msg/sec pthread_spinlock, 8,i: 6,927,048 msg/sec std::mutex, 1,s: 7,007,353 msg/sec std::mutex, 1,i: 6,555,113 msg/sec std::mutex, 2,s: 5,676,773 msg/sec std::mutex, 2,i: 5,844,051 msg/sec std::mutex, 3,s: 4,730,145 msg/sec std::mutex, 3,i: 5,245,330 msg/sec std::mutex, 4,s: 5,276,450 msg/sec std::mutex, 4,i: 6,287,170 msg/sec std::mutex, 5,s: 5,980,572 msg/sec std::mutex, 5,i: 6,056,972 msg/sec std::mutex, 6,s: 5,883,772 msg/sec std::mutex, 6,i: 5,935,431 msg/sec std::mutex, 7,s: 5,779,038 msg/sec std::mutex, 7,i: 5,838,977 msg/sec std::mutex, 8,s: 5,642,733 msg/sec std::mutex, 8,i: 5,710,514 msg/sec tbb::spin_mutex, 1,s: 37,930,311 msg/sec tbb::spin_mutex, 1,i: 37,582,287 msg/sec tbb::spin_mutex, 2,s: 21,129,559 msg/sec tbb::spin_mutex, 2,i: 18,337,465 msg/sec tbb::spin_mutex, 3,s: 8,929,191 msg/sec tbb::spin_mutex, 3,i: 11,066,658 msg/sec tbb::spin_mutex, 4,s: 3,127,031 msg/sec tbb::spin_mutex, 4,i: 6,341,382 msg/sec tbb::spin_mutex, 5,s: 5,442,455 msg/sec tbb::spin_mutex, 5,i: 5,737,920 msg/sec tbb::spin_mutex, 6,s: 5,250,483 msg/sec tbb::spin_mutex, 6,i: 4,371,176 msg/sec tbb::spin_mutex, 7,s: 4,695,499 msg/sec tbb::spin_mutex, 7,i: 4,341,118 msg/sec tbb::spin_mutex, 8,s: 4,238,672 msg/sec tbb::spin_mutex, 8,i: 4,167,537 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,141,350 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,134,554 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,352,037 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,993,059 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,329,914 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,800,443 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,109,187 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,567,170 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,535,516 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,567,182 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,744,184 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,635,523 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,815,149 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,813,773 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,069,413 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,076,518 msg/sec xenium::michael_scott_queue, 1,s: 9,514,780 msg/sec xenium::michael_scott_queue, 1,i: 9,486,844 msg/sec xenium::michael_scott_queue, 2,s: 8,441,874 msg/sec xenium::michael_scott_queue, 2,i: 8,587,599 msg/sec xenium::michael_scott_queue, 3,s: 7,304,943 msg/sec xenium::michael_scott_queue, 3,i: 7,538,695 msg/sec xenium::michael_scott_queue, 4,s: 6,250,067 msg/sec xenium::michael_scott_queue, 4,i: 6,321,725 msg/sec xenium::michael_scott_queue, 5,s: 6,246,918 msg/sec xenium::michael_scott_queue, 5,i: 6,615,376 msg/sec xenium::michael_scott_queue, 6,s: 6,478,546 msg/sec xenium::michael_scott_queue, 6,i: 6,695,449 msg/sec xenium::michael_scott_queue, 7,s: 6,310,445 msg/sec xenium::michael_scott_queue, 7,i: 6,581,270 msg/sec xenium::michael_scott_queue, 8,s: 6,011,526 msg/sec xenium::michael_scott_queue, 8,i: 6,153,056 msg/sec xenium::ramalhete_queue, 1,s: 32,136,296 msg/sec xenium::ramalhete_queue, 1,i: 31,947,279 msg/sec xenium::ramalhete_queue, 2,s: 23,530,209 msg/sec xenium::ramalhete_queue, 2,i: 23,297,291 msg/sec xenium::ramalhete_queue, 3,s: 29,176,560 msg/sec xenium::ramalhete_queue, 3,i: 28,460,138 msg/sec xenium::ramalhete_queue, 4,s: 33,717,974 msg/sec xenium::ramalhete_queue, 4,i: 33,525,801 msg/sec xenium::ramalhete_queue, 5,s: 32,114,860 msg/sec xenium::ramalhete_queue, 5,i: 35,956,679 msg/sec xenium::ramalhete_queue, 6,s: 34,010,803 msg/sec xenium::ramalhete_queue, 6,i: 38,934,961 msg/sec xenium::ramalhete_queue, 7,s: 35,123,586 msg/sec xenium::ramalhete_queue, 7,i: 40,985,140 msg/sec xenium::ramalhete_queue, 8,s: 35,390,714 msg/sec xenium::ramalhete_queue, 8,i: 44,082,067 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,405,940 msg/sec xenium::vyukov_bounded_queue, 1,i: 91,591,581 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,163,537 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,036,401 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,566,592 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,669,918 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,685,184 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,959,391 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,978,499 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,291,459 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,001,910 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,416,688 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,139,768 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,072,956 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,381,515 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,512,742 msg/sec AtomicQueue, 1,s: 61,111,464 msg/sec AtomicQueue, 1,i: 56,836,439 msg/sec AtomicQueue, 2,s: 12,241,425 msg/sec AtomicQueue, 2,i: 11,732,411 msg/sec AtomicQueue, 3,s: 10,754,061 msg/sec AtomicQueue, 3,i: 9,883,828 msg/sec AtomicQueue, 4,s: 8,200,581 msg/sec AtomicQueue, 4,i: 8,200,088 msg/sec AtomicQueue, 5,s: 8,002,106 msg/sec AtomicQueue, 5,i: 8,128,277 msg/sec AtomicQueue, 6,s: 7,764,313 msg/sec AtomicQueue, 6,i: 7,603,410 msg/sec AtomicQueue, 7,s: 7,062,685 msg/sec AtomicQueue, 7,i: 8,017,021 msg/sec AtomicQueue, 8,s: 6,314,807 msg/sec AtomicQueue, 8,i: 7,407,058 msg/sec AtomicQueueB, 1,s: 44,313,612 msg/sec AtomicQueueB, 1,i: 42,977,015 msg/sec AtomicQueueB, 2,s: 11,856,778 msg/sec AtomicQueueB, 2,i: 11,460,325 msg/sec AtomicQueueB, 3,s: 11,010,423 msg/sec AtomicQueueB, 3,i: 10,146,343 msg/sec AtomicQueueB, 4,s: 8,003,099 msg/sec AtomicQueueB, 4,i: 8,000,771 msg/sec AtomicQueueB, 5,s: 7,590,073 msg/sec AtomicQueueB, 5,i: 7,895,116 msg/sec AtomicQueueB, 6,s: 7,474,642 msg/sec AtomicQueueB, 6,i: 7,499,218 msg/sec AtomicQueueB, 7,s: 6,877,167 msg/sec AtomicQueueB, 7,i: 7,724,352 msg/sec AtomicQueueB, 8,s: 6,306,187 msg/sec AtomicQueueB, 8,i: 7,151,596 msg/sec OptimistAtomicQueue, 1,s: 761,926,240 msg/sec OptimistAtomicQueue, 1,i: 598,809,387 msg/sec OptimistAtomicQueue, 2,s: 32,645,409 msg/sec OptimistAtomicQueue, 2,i: 32,736,653 msg/sec OptimistAtomicQueue, 3,s: 36,655,740 msg/sec OptimistAtomicQueue, 3,i: 37,405,000 msg/sec OptimistAtomicQueue, 4,s: 39,297,733 msg/sec OptimistAtomicQueue, 4,i: 39,384,437 msg/sec OptimistAtomicQueue, 5,s: 42,390,295 msg/sec OptimistAtomicQueue, 5,i: 46,392,285 msg/sec OptimistAtomicQueue, 6,s: 41,831,975 msg/sec OptimistAtomicQueue, 6,i: 50,437,590 msg/sec OptimistAtomicQueue, 7,s: 44,118,448 msg/sec OptimistAtomicQueue, 7,i: 49,462,450 msg/sec OptimistAtomicQueue, 8,s: 46,543,159 msg/sec OptimistAtomicQueue, 8,i: 49,036,881 msg/sec OptimistAtomicQueueB, 1,s: 197,117,763 msg/sec OptimistAtomicQueueB, 1,i: 77,217,161 msg/sec OptimistAtomicQueueB, 2,s: 32,135,701 msg/sec OptimistAtomicQueueB, 2,i: 31,897,506 msg/sec OptimistAtomicQueueB, 3,s: 36,217,937 msg/sec OptimistAtomicQueueB, 3,i: 36,999,322 msg/sec OptimistAtomicQueueB, 4,s: 38,653,796 msg/sec OptimistAtomicQueueB, 4,i: 38,681,465 msg/sec OptimistAtomicQueueB, 5,s: 40,927,488 msg/sec OptimistAtomicQueueB, 5,i: 45,358,107 msg/sec OptimistAtomicQueueB, 6,s: 41,647,097 msg/sec OptimistAtomicQueueB, 6,i: 48,989,580 msg/sec OptimistAtomicQueueB, 7,s: 42,534,739 msg/sec OptimistAtomicQueueB, 7,i: 51,474,212 msg/sec OptimistAtomicQueueB, 8,s: 44,512,941 msg/sec OptimistAtomicQueueB, 8,i: 47,810,369 msg/sec AtomicQueue2, 1,s: 22,881,122 msg/sec AtomicQueue2, 1,i: 23,015,631 msg/sec AtomicQueue2, 2,s: 11,768,805 msg/sec AtomicQueue2, 2,i: 11,572,159 msg/sec AtomicQueue2, 3,s: 9,374,067 msg/sec AtomicQueue2, 3,i: 9,382,455 msg/sec AtomicQueue2, 4,s: 8,058,621 msg/sec AtomicQueue2, 4,i: 8,040,203 msg/sec AtomicQueue2, 5,s: 7,914,887 msg/sec AtomicQueue2, 5,i: 8,014,360 msg/sec AtomicQueue2, 6,s: 7,644,970 msg/sec AtomicQueue2, 6,i: 7,526,167 msg/sec AtomicQueue2, 7,s: 7,117,102 msg/sec AtomicQueue2, 7,i: 7,938,330 msg/sec AtomicQueue2, 8,s: 6,383,576 msg/sec AtomicQueue2, 8,i: 7,354,277 msg/sec AtomicQueueB2, 1,s: 36,073,097 msg/sec AtomicQueueB2, 1,i: 32,642,149 msg/sec AtomicQueueB2, 2,s: 11,464,475 msg/sec AtomicQueueB2, 2,i: 11,113,976 msg/sec AtomicQueueB2, 3,s: 9,565,913 msg/sec AtomicQueueB2, 3,i: 9,484,038 msg/sec AtomicQueueB2, 4,s: 7,877,180 msg/sec AtomicQueueB2, 4,i: 7,722,477 msg/sec AtomicQueueB2, 5,s: 7,510,101 msg/sec AtomicQueueB2, 5,i: 7,692,822 msg/sec AtomicQueueB2, 6,s: 7,339,909 msg/sec AtomicQueueB2, 6,i: 7,441,190 msg/sec AtomicQueueB2, 7,s: 6,878,669 msg/sec AtomicQueueB2, 7,i: 7,727,671 msg/sec AtomicQueueB2, 8,s: 6,267,211 msg/sec AtomicQueueB2, 8,i: 7,115,937 msg/sec OptimistAtomicQueue2, 1,s: 30,433,218 msg/sec OptimistAtomicQueue2, 1,i: 29,712,901 msg/sec OptimistAtomicQueue2, 2,s: 29,481,597 msg/sec OptimistAtomicQueue2, 2,i: 24,019,815 msg/sec OptimistAtomicQueue2, 3,s: 30,324,708 msg/sec OptimistAtomicQueue2, 3,i: 29,955,195 msg/sec OptimistAtomicQueue2, 4,s: 33,188,175 msg/sec OptimistAtomicQueue2, 4,i: 33,149,159 msg/sec OptimistAtomicQueue2, 5,s: 37,211,092 msg/sec OptimistAtomicQueue2, 5,i: 40,151,035 msg/sec OptimistAtomicQueue2, 6,s: 39,991,221 msg/sec OptimistAtomicQueue2, 6,i: 49,208,364 msg/sec OptimistAtomicQueue2, 7,s: 43,178,795 msg/sec OptimistAtomicQueue2, 7,i: 48,258,143 msg/sec OptimistAtomicQueue2, 8,s: 44,016,122 msg/sec OptimistAtomicQueue2, 8,i: 49,798,467 msg/sec OptimistAtomicQueueB2, 1,s: 76,808,524 msg/sec OptimistAtomicQueueB2, 1,i: 33,931,801 msg/sec OptimistAtomicQueueB2, 2,s: 27,276,406 msg/sec OptimistAtomicQueueB2, 2,i: 23,288,488 msg/sec OptimistAtomicQueueB2, 3,s: 29,912,281 msg/sec OptimistAtomicQueueB2, 3,i: 29,763,480 msg/sec OptimistAtomicQueueB2, 4,s: 33,051,777 msg/sec OptimistAtomicQueueB2, 4,i: 31,895,296 msg/sec OptimistAtomicQueueB2, 5,s: 34,341,321 msg/sec OptimistAtomicQueueB2, 5,i: 39,214,974 msg/sec OptimistAtomicQueueB2, 6,s: 37,182,147 msg/sec OptimistAtomicQueueB2, 6,i: 42,133,487 msg/sec OptimistAtomicQueueB2, 7,s: 40,351,104 msg/sec OptimistAtomicQueueB2, 7,i: 43,269,766 msg/sec OptimistAtomicQueueB2, 8,s: 42,320,290 msg/sec OptimistAtomicQueueB2, 8,i: 45,091,132 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000120 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000302 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000247 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000184 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [248] 154m:4s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,691,203 msg/sec boost::lockfree::spsc_queue, 1,i: 67,888,220 msg/sec boost::lockfree::queue, 1,s: 7,910,164 msg/sec boost::lockfree::queue, 1,i: 7,833,179 msg/sec boost::lockfree::queue, 2,s: 7,636,662 msg/sec boost::lockfree::queue, 2,i: 7,503,999 msg/sec boost::lockfree::queue, 3,s: 7,347,962 msg/sec boost::lockfree::queue, 3,i: 7,577,292 msg/sec boost::lockfree::queue, 4,s: 6,427,231 msg/sec boost::lockfree::queue, 4,i: 6,811,175 msg/sec boost::lockfree::queue, 5,s: 6,453,552 msg/sec boost::lockfree::queue, 5,i: 6,503,937 msg/sec boost::lockfree::queue, 6,s: 5,952,324 msg/sec boost::lockfree::queue, 6,i: 6,124,334 msg/sec boost::lockfree::queue, 7,s: 6,043,234 msg/sec boost::lockfree::queue, 7,i: 6,013,102 msg/sec boost::lockfree::queue, 8,s: 5,464,547 msg/sec boost::lockfree::queue, 8,i: 5,685,233 msg/sec moodycamel::ReaderWriterQueue, 1,s: 221,617,366 msg/sec moodycamel::ReaderWriterQueue, 1,i: 52,667,526 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,132,412 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,727,258 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,192,101 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,427,215 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,322,125 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,112,805 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,394,118 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,111,825 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,410,674 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,789,096 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,248,536 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,614,579 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,957,845 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,322,232 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,358,021 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,790,622 msg/sec pthread_spinlock, 1,s: 28,985,826 msg/sec pthread_spinlock, 1,i: 25,383,443 msg/sec pthread_spinlock, 2,s: 15,960,608 msg/sec pthread_spinlock, 2,i: 16,869,238 msg/sec pthread_spinlock, 3,s: 8,279,960 msg/sec pthread_spinlock, 3,i: 11,995,627 msg/sec pthread_spinlock, 4,s: 6,537,657 msg/sec pthread_spinlock, 4,i: 8,915,509 msg/sec pthread_spinlock, 5,s: 8,640,762 msg/sec pthread_spinlock, 5,i: 8,986,653 msg/sec pthread_spinlock, 6,s: 8,572,505 msg/sec pthread_spinlock, 6,i: 8,655,298 msg/sec pthread_spinlock, 7,s: 7,522,115 msg/sec pthread_spinlock, 7,i: 7,743,138 msg/sec pthread_spinlock, 8,s: 6,947,990 msg/sec pthread_spinlock, 8,i: 7,333,907 msg/sec std::mutex, 1,s: 6,504,112 msg/sec std::mutex, 1,i: 7,059,985 msg/sec std::mutex, 2,s: 4,871,509 msg/sec std::mutex, 2,i: 5,695,123 msg/sec std::mutex, 3,s: 4,778,798 msg/sec std::mutex, 3,i: 5,167,221 msg/sec std::mutex, 4,s: 6,347,267 msg/sec std::mutex, 4,i: 6,278,997 msg/sec std::mutex, 5,s: 6,136,836 msg/sec std::mutex, 5,i: 6,070,098 msg/sec std::mutex, 6,s: 5,973,368 msg/sec std::mutex, 6,i: 5,921,617 msg/sec std::mutex, 7,s: 5,843,807 msg/sec std::mutex, 7,i: 5,822,227 msg/sec std::mutex, 8,s: 5,707,003 msg/sec std::mutex, 8,i: 5,712,644 msg/sec tbb::spin_mutex, 1,s: 37,975,930 msg/sec tbb::spin_mutex, 1,i: 37,740,856 msg/sec tbb::spin_mutex, 2,s: 21,255,358 msg/sec tbb::spin_mutex, 2,i: 21,806,602 msg/sec tbb::spin_mutex, 3,s: 8,251,122 msg/sec tbb::spin_mutex, 3,i: 11,274,956 msg/sec tbb::spin_mutex, 4,s: 3,229,918 msg/sec tbb::spin_mutex, 4,i: 6,357,054 msg/sec tbb::spin_mutex, 5,s: 5,413,885 msg/sec tbb::spin_mutex, 5,i: 5,820,083 msg/sec tbb::spin_mutex, 6,s: 5,357,990 msg/sec tbb::spin_mutex, 6,i: 4,374,756 msg/sec tbb::spin_mutex, 7,s: 4,853,201 msg/sec tbb::spin_mutex, 7,i: 4,303,805 msg/sec tbb::spin_mutex, 8,s: 4,246,127 msg/sec tbb::spin_mutex, 8,i: 4,104,437 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,152,448 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,364,175 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,248,888 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,016,336 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,540,605 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,642,942 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,978,067 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,324,479 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,545,586 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,671,827 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,808,100 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,740,686 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,923,140 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,142,843 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,938,078 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,467,032 msg/sec xenium::michael_scott_queue, 1,s: 9,505,310 msg/sec xenium::michael_scott_queue, 1,i: 9,500,987 msg/sec xenium::michael_scott_queue, 2,s: 8,529,133 msg/sec xenium::michael_scott_queue, 2,i: 8,462,179 msg/sec xenium::michael_scott_queue, 3,s: 7,327,133 msg/sec xenium::michael_scott_queue, 3,i: 7,531,581 msg/sec xenium::michael_scott_queue, 4,s: 6,244,387 msg/sec xenium::michael_scott_queue, 4,i: 6,395,674 msg/sec xenium::michael_scott_queue, 5,s: 6,298,422 msg/sec xenium::michael_scott_queue, 5,i: 6,616,659 msg/sec xenium::michael_scott_queue, 6,s: 6,481,198 msg/sec xenium::michael_scott_queue, 6,i: 6,718,218 msg/sec xenium::michael_scott_queue, 7,s: 6,259,528 msg/sec xenium::michael_scott_queue, 7,i: 6,537,926 msg/sec xenium::michael_scott_queue, 8,s: 6,050,625 msg/sec xenium::michael_scott_queue, 8,i: 6,126,396 msg/sec xenium::ramalhete_queue, 1,s: 31,477,317 msg/sec xenium::ramalhete_queue, 1,i: 32,389,091 msg/sec xenium::ramalhete_queue, 2,s: 24,371,940 msg/sec xenium::ramalhete_queue, 2,i: 23,381,932 msg/sec xenium::ramalhete_queue, 3,s: 29,349,190 msg/sec xenium::ramalhete_queue, 3,i: 28,583,178 msg/sec xenium::ramalhete_queue, 4,s: 33,935,744 msg/sec xenium::ramalhete_queue, 4,i: 33,407,837 msg/sec xenium::ramalhete_queue, 5,s: 32,101,097 msg/sec xenium::ramalhete_queue, 5,i: 36,286,326 msg/sec xenium::ramalhete_queue, 6,s: 34,001,929 msg/sec xenium::ramalhete_queue, 6,i: 38,907,218 msg/sec xenium::ramalhete_queue, 7,s: 35,246,476 msg/sec xenium::ramalhete_queue, 7,i: 41,315,103 msg/sec xenium::ramalhete_queue, 8,s: 35,563,716 msg/sec xenium::ramalhete_queue, 8,i: 44,213,391 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,644,964 msg/sec xenium::vyukov_bounded_queue, 1,i: 86,193,792 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,007,883 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,188,693 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,661,975 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,795,226 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,553,535 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,103,159 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,981,119 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,237,968 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,121,762 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,144,662 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,224,103 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,913,762 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,972 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,527,701 msg/sec AtomicQueue, 1,s: 61,612,730 msg/sec AtomicQueue, 1,i: 56,469,701 msg/sec AtomicQueue, 2,s: 12,261,988 msg/sec AtomicQueue, 2,i: 11,760,073 msg/sec AtomicQueue, 3,s: 10,854,540 msg/sec AtomicQueue, 3,i: 9,818,884 msg/sec AtomicQueue, 4,s: 8,209,264 msg/sec AtomicQueue, 4,i: 8,226,487 msg/sec AtomicQueue, 5,s: 8,025,156 msg/sec AtomicQueue, 5,i: 8,069,489 msg/sec AtomicQueue, 6,s: 7,728,963 msg/sec AtomicQueue, 6,i: 7,606,864 msg/sec AtomicQueue, 7,s: 7,089,252 msg/sec AtomicQueue, 7,i: 7,990,790 msg/sec AtomicQueue, 8,s: 6,320,137 msg/sec AtomicQueue, 8,i: 7,323,444 msg/sec AtomicQueueB, 1,s: 44,865,266 msg/sec AtomicQueueB, 1,i: 44,171,370 msg/sec AtomicQueueB, 2,s: 11,804,032 msg/sec AtomicQueueB, 2,i: 11,467,141 msg/sec AtomicQueueB, 3,s: 10,993,556 msg/sec AtomicQueueB, 3,i: 10,160,813 msg/sec AtomicQueueB, 4,s: 8,036,616 msg/sec AtomicQueueB, 4,i: 8,077,581 msg/sec AtomicQueueB, 5,s: 7,611,468 msg/sec AtomicQueueB, 5,i: 7,747,272 msg/sec AtomicQueueB, 6,s: 7,311,061 msg/sec AtomicQueueB, 6,i: 7,565,446 msg/sec AtomicQueueB, 7,s: 6,945,343 msg/sec AtomicQueueB, 7,i: 7,727,621 msg/sec AtomicQueueB, 8,s: 6,256,090 msg/sec AtomicQueueB, 8,i: 7,184,655 msg/sec OptimistAtomicQueue, 1,s: 718,541,533 msg/sec OptimistAtomicQueue, 1,i: 519,671,178 msg/sec OptimistAtomicQueue, 2,s: 32,112,767 msg/sec OptimistAtomicQueue, 2,i: 32,195,295 msg/sec OptimistAtomicQueue, 3,s: 36,627,186 msg/sec OptimistAtomicQueue, 3,i: 37,336,825 msg/sec OptimistAtomicQueue, 4,s: 39,291,848 msg/sec OptimistAtomicQueue, 4,i: 39,414,655 msg/sec OptimistAtomicQueue, 5,s: 42,608,166 msg/sec OptimistAtomicQueue, 5,i: 46,298,056 msg/sec OptimistAtomicQueue, 6,s: 42,734,466 msg/sec OptimistAtomicQueue, 6,i: 50,327,387 msg/sec OptimistAtomicQueue, 7,s: 45,144,815 msg/sec OptimistAtomicQueue, 7,i: 52,047,012 msg/sec OptimistAtomicQueue, 8,s: 46,310,157 msg/sec OptimistAtomicQueue, 8,i: 48,861,275 msg/sec OptimistAtomicQueueB, 1,s: 129,739,867 msg/sec OptimistAtomicQueueB, 1,i: 134,234,192 msg/sec OptimistAtomicQueueB, 2,s: 32,210,656 msg/sec OptimistAtomicQueueB, 2,i: 31,878,160 msg/sec OptimistAtomicQueueB, 3,s: 36,210,388 msg/sec OptimistAtomicQueueB, 3,i: 36,788,381 msg/sec OptimistAtomicQueueB, 4,s: 38,609,875 msg/sec OptimistAtomicQueueB, 4,i: 38,698,902 msg/sec OptimistAtomicQueueB, 5,s: 41,209,899 msg/sec OptimistAtomicQueueB, 5,i: 45,468,214 msg/sec OptimistAtomicQueueB, 6,s: 41,094,408 msg/sec OptimistAtomicQueueB, 6,i: 48,716,478 msg/sec OptimistAtomicQueueB, 7,s: 42,380,145 msg/sec OptimistAtomicQueueB, 7,i: 48,243,390 msg/sec OptimistAtomicQueueB, 8,s: 44,599,557 msg/sec OptimistAtomicQueueB, 8,i: 47,615,539 msg/sec AtomicQueue2, 1,s: 22,876,675 msg/sec AtomicQueue2, 1,i: 22,890,748 msg/sec AtomicQueue2, 2,s: 11,842,975 msg/sec AtomicQueue2, 2,i: 11,404,597 msg/sec AtomicQueue2, 3,s: 9,536,593 msg/sec AtomicQueue2, 3,i: 9,386,500 msg/sec AtomicQueue2, 4,s: 8,029,280 msg/sec AtomicQueue2, 4,i: 8,019,777 msg/sec AtomicQueue2, 5,s: 7,953,342 msg/sec AtomicQueue2, 5,i: 8,000,718 msg/sec AtomicQueue2, 6,s: 7,776,668 msg/sec AtomicQueue2, 6,i: 7,568,105 msg/sec AtomicQueue2, 7,s: 7,072,864 msg/sec AtomicQueue2, 7,i: 7,900,441 msg/sec AtomicQueue2, 8,s: 6,371,393 msg/sec AtomicQueue2, 8,i: 7,228,478 msg/sec AtomicQueueB2, 1,s: 36,302,547 msg/sec AtomicQueueB2, 1,i: 32,648,269 msg/sec AtomicQueueB2, 2,s: 11,398,565 msg/sec AtomicQueueB2, 2,i: 11,197,510 msg/sec AtomicQueueB2, 3,s: 9,572,276 msg/sec AtomicQueueB2, 3,i: 9,527,336 msg/sec AtomicQueueB2, 4,s: 7,900,065 msg/sec AtomicQueueB2, 4,i: 7,775,362 msg/sec AtomicQueueB2, 5,s: 7,520,706 msg/sec AtomicQueueB2, 5,i: 7,636,850 msg/sec AtomicQueueB2, 6,s: 7,248,756 msg/sec AtomicQueueB2, 6,i: 7,452,187 msg/sec AtomicQueueB2, 7,s: 6,924,084 msg/sec AtomicQueueB2, 7,i: 7,695,643 msg/sec AtomicQueueB2, 8,s: 6,264,309 msg/sec AtomicQueueB2, 8,i: 7,145,114 msg/sec OptimistAtomicQueue2, 1,s: 493,128,075 msg/sec OptimistAtomicQueue2, 1,i: 29,479,859 msg/sec OptimistAtomicQueue2, 2,s: 24,272,678 msg/sec OptimistAtomicQueue2, 2,i: 22,559,246 msg/sec OptimistAtomicQueue2, 3,s: 29,825,593 msg/sec OptimistAtomicQueue2, 3,i: 29,957,594 msg/sec OptimistAtomicQueue2, 4,s: 33,325,462 msg/sec OptimistAtomicQueue2, 4,i: 33,321,991 msg/sec OptimistAtomicQueue2, 5,s: 37,113,014 msg/sec OptimistAtomicQueue2, 5,i: 41,183,065 msg/sec OptimistAtomicQueue2, 6,s: 40,196,137 msg/sec OptimistAtomicQueue2, 6,i: 49,336,390 msg/sec OptimistAtomicQueue2, 7,s: 42,829,415 msg/sec OptimistAtomicQueue2, 7,i: 51,322,958 msg/sec OptimistAtomicQueue2, 8,s: 43,750,522 msg/sec OptimistAtomicQueue2, 8,i: 48,444,928 msg/sec OptimistAtomicQueueB2, 1,s: 77,113,140 msg/sec OptimistAtomicQueueB2, 1,i: 33,869,536 msg/sec OptimistAtomicQueueB2, 2,s: 27,345,714 msg/sec OptimistAtomicQueueB2, 2,i: 25,795,703 msg/sec OptimistAtomicQueueB2, 3,s: 29,735,748 msg/sec OptimistAtomicQueueB2, 3,i: 29,142,547 msg/sec OptimistAtomicQueueB2, 4,s: 33,071,239 msg/sec OptimistAtomicQueueB2, 4,i: 32,903,389 msg/sec OptimistAtomicQueueB2, 5,s: 34,427,933 msg/sec OptimistAtomicQueueB2, 5,i: 39,024,783 msg/sec OptimistAtomicQueueB2, 6,s: 37,545,099 msg/sec OptimistAtomicQueueB2, 6,i: 42,506,913 msg/sec OptimistAtomicQueueB2, 7,s: 40,058,465 msg/sec OptimistAtomicQueueB2, 7,i: 43,126,289 msg/sec OptimistAtomicQueueB2, 8,s: 42,091,548 msg/sec OptimistAtomicQueueB2, 8,i: 45,237,661 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000247 sec/round-trip pthread_spinlock: 0.000000303 sec/round-trip std::mutex: 0.000000446 sec/round-trip tbb::spin_mutex: 0.000000285 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000217 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [249] 152m:45s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,864,012 msg/sec boost::lockfree::spsc_queue, 1,i: 65,652,435 msg/sec boost::lockfree::queue, 1,s: 6,780,728 msg/sec boost::lockfree::queue, 1,i: 6,891,021 msg/sec boost::lockfree::queue, 2,s: 7,652,175 msg/sec boost::lockfree::queue, 2,i: 7,526,988 msg/sec boost::lockfree::queue, 3,s: 7,372,414 msg/sec boost::lockfree::queue, 3,i: 7,561,950 msg/sec boost::lockfree::queue, 4,s: 6,410,221 msg/sec boost::lockfree::queue, 4,i: 6,766,550 msg/sec boost::lockfree::queue, 5,s: 6,384,776 msg/sec boost::lockfree::queue, 5,i: 6,468,193 msg/sec boost::lockfree::queue, 6,s: 6,002,160 msg/sec boost::lockfree::queue, 6,i: 6,094,678 msg/sec boost::lockfree::queue, 7,s: 6,015,439 msg/sec boost::lockfree::queue, 7,i: 5,984,652 msg/sec boost::lockfree::queue, 8,s: 5,419,360 msg/sec boost::lockfree::queue, 8,i: 5,555,448 msg/sec moodycamel::ReaderWriterQueue, 1,s: 47,585,938 msg/sec moodycamel::ReaderWriterQueue, 1,i: 43,435,588 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,590,123 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,789,449 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,835,566 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,982,535 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,786,134 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,709,102 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,504,461 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,477,479 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,017,127 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,378,114 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,274,019 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,534,715 msg/sec moodycamel::ConcurrentQueue, 7,s: 30,745,234 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,578,969 msg/sec moodycamel::ConcurrentQueue, 8,s: 31,192,998 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,553,383 msg/sec pthread_spinlock, 1,s: 28,646,667 msg/sec pthread_spinlock, 1,i: 25,410,451 msg/sec pthread_spinlock, 2,s: 15,530,525 msg/sec pthread_spinlock, 2,i: 17,057,274 msg/sec pthread_spinlock, 3,s: 8,313,258 msg/sec pthread_spinlock, 3,i: 12,103,998 msg/sec pthread_spinlock, 4,s: 6,535,160 msg/sec pthread_spinlock, 4,i: 9,232,840 msg/sec pthread_spinlock, 5,s: 8,622,923 msg/sec pthread_spinlock, 5,i: 8,920,104 msg/sec pthread_spinlock, 6,s: 8,639,080 msg/sec pthread_spinlock, 6,i: 8,602,038 msg/sec pthread_spinlock, 7,s: 7,465,922 msg/sec pthread_spinlock, 7,i: 7,966,913 msg/sec pthread_spinlock, 8,s: 6,939,413 msg/sec pthread_spinlock, 8,i: 6,915,991 msg/sec std::mutex, 1,s: 6,981,244 msg/sec std::mutex, 1,i: 6,436,958 msg/sec std::mutex, 2,s: 5,677,051 msg/sec std::mutex, 2,i: 5,474,209 msg/sec std::mutex, 3,s: 5,545,050 msg/sec std::mutex, 3,i: 4,752,096 msg/sec std::mutex, 4,s: 4,941,923 msg/sec std::mutex, 4,i: 5,245,854 msg/sec std::mutex, 5,s: 5,981,131 msg/sec std::mutex, 5,i: 6,025,157 msg/sec std::mutex, 6,s: 5,876,139 msg/sec std::mutex, 6,i: 5,984,104 msg/sec std::mutex, 7,s: 5,797,922 msg/sec std::mutex, 7,i: 5,828,837 msg/sec std::mutex, 8,s: 5,687,927 msg/sec std::mutex, 8,i: 5,760,892 msg/sec tbb::spin_mutex, 1,s: 37,850,973 msg/sec tbb::spin_mutex, 1,i: 32,960,550 msg/sec tbb::spin_mutex, 2,s: 21,255,313 msg/sec tbb::spin_mutex, 2,i: 18,718,696 msg/sec tbb::spin_mutex, 3,s: 8,362,126 msg/sec tbb::spin_mutex, 3,i: 10,252,765 msg/sec tbb::spin_mutex, 4,s: 3,205,358 msg/sec tbb::spin_mutex, 4,i: 6,324,099 msg/sec tbb::spin_mutex, 5,s: 5,522,345 msg/sec tbb::spin_mutex, 5,i: 5,811,403 msg/sec tbb::spin_mutex, 6,s: 5,299,275 msg/sec tbb::spin_mutex, 6,i: 4,318,367 msg/sec tbb::spin_mutex, 7,s: 4,855,464 msg/sec tbb::spin_mutex, 7,i: 4,239,796 msg/sec tbb::spin_mutex, 8,s: 3,811,058 msg/sec tbb::spin_mutex, 8,i: 4,160,612 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,762,535 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,158,256 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,653,135 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,887,491 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,389,329 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,629,941 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,374,131 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,173,420 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,628,464 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,738,281 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,735,739 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,966,346 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,896,117 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,967,326 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,880,570 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,112,210 msg/sec xenium::michael_scott_queue, 1,s: 9,581,722 msg/sec xenium::michael_scott_queue, 1,i: 9,580,397 msg/sec xenium::michael_scott_queue, 2,s: 8,512,443 msg/sec xenium::michael_scott_queue, 2,i: 8,485,142 msg/sec xenium::michael_scott_queue, 3,s: 7,357,800 msg/sec xenium::michael_scott_queue, 3,i: 7,570,193 msg/sec xenium::michael_scott_queue, 4,s: 6,295,482 msg/sec xenium::michael_scott_queue, 4,i: 6,335,223 msg/sec xenium::michael_scott_queue, 5,s: 6,302,514 msg/sec xenium::michael_scott_queue, 5,i: 6,679,932 msg/sec xenium::michael_scott_queue, 6,s: 6,485,550 msg/sec xenium::michael_scott_queue, 6,i: 6,973,984 msg/sec xenium::michael_scott_queue, 7,s: 6,283,174 msg/sec xenium::michael_scott_queue, 7,i: 6,526,878 msg/sec xenium::michael_scott_queue, 8,s: 6,111,426 msg/sec xenium::michael_scott_queue, 8,i: 6,129,178 msg/sec xenium::ramalhete_queue, 1,s: 33,099,769 msg/sec xenium::ramalhete_queue, 1,i: 32,482,491 msg/sec xenium::ramalhete_queue, 2,s: 23,641,202 msg/sec xenium::ramalhete_queue, 2,i: 23,386,649 msg/sec xenium::ramalhete_queue, 3,s: 29,156,730 msg/sec xenium::ramalhete_queue, 3,i: 28,481,884 msg/sec xenium::ramalhete_queue, 4,s: 33,867,121 msg/sec xenium::ramalhete_queue, 4,i: 33,470,736 msg/sec xenium::ramalhete_queue, 5,s: 32,754,628 msg/sec xenium::ramalhete_queue, 5,i: 36,818,609 msg/sec xenium::ramalhete_queue, 6,s: 34,193,475 msg/sec xenium::ramalhete_queue, 6,i: 39,175,475 msg/sec xenium::ramalhete_queue, 7,s: 35,030,384 msg/sec xenium::ramalhete_queue, 7,i: 41,278,061 msg/sec xenium::ramalhete_queue, 8,s: 35,367,789 msg/sec xenium::ramalhete_queue, 8,i: 44,030,945 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,079,682 msg/sec xenium::vyukov_bounded_queue, 1,i: 99,027,748 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,702,734 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,224,865 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,477,975 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,815,839 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,549,389 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,324,393 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,962,281 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,262,526 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,036,442 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,334,775 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,174,523 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,058,813 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,217 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,224,631 msg/sec AtomicQueue, 1,s: 59,006,270 msg/sec AtomicQueue, 1,i: 56,585,199 msg/sec AtomicQueue, 2,s: 12,284,979 msg/sec AtomicQueue, 2,i: 11,764,990 msg/sec AtomicQueue, 3,s: 10,803,339 msg/sec AtomicQueue, 3,i: 9,919,081 msg/sec AtomicQueue, 4,s: 8,229,019 msg/sec AtomicQueue, 4,i: 8,220,651 msg/sec AtomicQueue, 5,s: 8,044,372 msg/sec AtomicQueue, 5,i: 8,121,141 msg/sec AtomicQueue, 6,s: 7,958,463 msg/sec AtomicQueue, 6,i: 7,611,941 msg/sec AtomicQueue, 7,s: 7,091,086 msg/sec AtomicQueue, 7,i: 8,002,197 msg/sec AtomicQueue, 8,s: 6,378,540 msg/sec AtomicQueue, 8,i: 7,461,423 msg/sec AtomicQueueB, 1,s: 45,051,334 msg/sec AtomicQueueB, 1,i: 43,085,156 msg/sec AtomicQueueB, 2,s: 11,776,666 msg/sec AtomicQueueB, 2,i: 11,480,125 msg/sec AtomicQueueB, 3,s: 10,973,394 msg/sec AtomicQueueB, 3,i: 10,151,870 msg/sec AtomicQueueB, 4,s: 8,069,692 msg/sec AtomicQueueB, 4,i: 8,076,136 msg/sec AtomicQueueB, 5,s: 7,641,089 msg/sec AtomicQueueB, 5,i: 7,774,806 msg/sec AtomicQueueB, 6,s: 7,320,827 msg/sec AtomicQueueB, 6,i: 7,597,919 msg/sec AtomicQueueB, 7,s: 6,827,429 msg/sec AtomicQueueB, 7,i: 7,735,830 msg/sec AtomicQueueB, 8,s: 6,248,884 msg/sec AtomicQueueB, 8,i: 7,148,928 msg/sec OptimistAtomicQueue, 1,s: 669,802,234 msg/sec OptimistAtomicQueue, 1,i: 513,934,498 msg/sec OptimistAtomicQueue, 2,s: 32,119,859 msg/sec OptimistAtomicQueue, 2,i: 31,981,342 msg/sec OptimistAtomicQueue, 3,s: 36,610,895 msg/sec OptimistAtomicQueue, 3,i: 37,417,062 msg/sec OptimistAtomicQueue, 4,s: 39,257,572 msg/sec OptimistAtomicQueue, 4,i: 39,388,267 msg/sec OptimistAtomicQueue, 5,s: 41,699,623 msg/sec OptimistAtomicQueue, 5,i: 47,897,641 msg/sec OptimistAtomicQueue, 6,s: 42,861,312 msg/sec OptimistAtomicQueue, 6,i: 50,520,338 msg/sec OptimistAtomicQueue, 7,s: 44,892,718 msg/sec OptimistAtomicQueue, 7,i: 48,642,050 msg/sec OptimistAtomicQueue, 8,s: 46,387,971 msg/sec OptimistAtomicQueue, 8,i: 48,876,144 msg/sec OptimistAtomicQueueB, 1,s: 78,026,261 msg/sec OptimistAtomicQueueB, 1,i: 85,680,619 msg/sec OptimistAtomicQueueB, 2,s: 32,326,173 msg/sec OptimistAtomicQueueB, 2,i: 32,305,876 msg/sec OptimistAtomicQueueB, 3,s: 36,232,255 msg/sec OptimistAtomicQueueB, 3,i: 36,850,563 msg/sec OptimistAtomicQueueB, 4,s: 38,651,106 msg/sec OptimistAtomicQueueB, 4,i: 38,595,178 msg/sec OptimistAtomicQueueB, 5,s: 40,439,842 msg/sec OptimistAtomicQueueB, 5,i: 45,503,458 msg/sec OptimistAtomicQueueB, 6,s: 41,047,941 msg/sec OptimistAtomicQueueB, 6,i: 48,736,839 msg/sec OptimistAtomicQueueB, 7,s: 41,819,671 msg/sec OptimistAtomicQueueB, 7,i: 51,407,762 msg/sec OptimistAtomicQueueB, 8,s: 44,270,550 msg/sec OptimistAtomicQueueB, 8,i: 47,655,709 msg/sec AtomicQueue2, 1,s: 22,897,802 msg/sec AtomicQueue2, 1,i: 22,851,938 msg/sec AtomicQueue2, 2,s: 11,965,641 msg/sec AtomicQueue2, 2,i: 11,567,794 msg/sec AtomicQueue2, 3,s: 9,614,558 msg/sec AtomicQueue2, 3,i: 9,393,693 msg/sec AtomicQueue2, 4,s: 8,030,205 msg/sec AtomicQueue2, 4,i: 8,048,887 msg/sec AtomicQueue2, 5,s: 7,871,963 msg/sec AtomicQueue2, 5,i: 7,983,002 msg/sec AtomicQueue2, 6,s: 7,810,725 msg/sec AtomicQueue2, 6,i: 7,528,924 msg/sec AtomicQueue2, 7,s: 7,091,331 msg/sec AtomicQueue2, 7,i: 7,924,821 msg/sec AtomicQueue2, 8,s: 6,382,273 msg/sec AtomicQueue2, 8,i: 7,213,900 msg/sec AtomicQueueB2, 1,s: 38,841,718 msg/sec AtomicQueueB2, 1,i: 39,185,176 msg/sec AtomicQueueB2, 2,s: 11,334,078 msg/sec AtomicQueueB2, 2,i: 11,104,121 msg/sec AtomicQueueB2, 3,s: 9,629,061 msg/sec AtomicQueueB2, 3,i: 9,604,639 msg/sec AtomicQueueB2, 4,s: 7,976,419 msg/sec AtomicQueueB2, 4,i: 7,917,693 msg/sec AtomicQueueB2, 5,s: 7,458,902 msg/sec AtomicQueueB2, 5,i: 7,723,536 msg/sec AtomicQueueB2, 6,s: 7,105,238 msg/sec AtomicQueueB2, 6,i: 7,424,387 msg/sec AtomicQueueB2, 7,s: 6,840,485 msg/sec AtomicQueueB2, 7,i: 7,689,593 msg/sec AtomicQueueB2, 8,s: 6,295,392 msg/sec AtomicQueueB2, 8,i: 7,119,013 msg/sec OptimistAtomicQueue2, 1,s: 481,935,723 msg/sec OptimistAtomicQueue2, 1,i: 29,527,922 msg/sec OptimistAtomicQueue2, 2,s: 24,266,114 msg/sec OptimistAtomicQueue2, 2,i: 24,016,000 msg/sec OptimistAtomicQueue2, 3,s: 29,899,138 msg/sec OptimistAtomicQueue2, 3,i: 29,602,565 msg/sec OptimistAtomicQueue2, 4,s: 33,187,683 msg/sec OptimistAtomicQueue2, 4,i: 33,097,138 msg/sec OptimistAtomicQueue2, 5,s: 37,280,985 msg/sec OptimistAtomicQueue2, 5,i: 40,993,085 msg/sec OptimistAtomicQueue2, 6,s: 40,407,227 msg/sec OptimistAtomicQueue2, 6,i: 48,961,559 msg/sec OptimistAtomicQueue2, 7,s: 42,844,189 msg/sec OptimistAtomicQueue2, 7,i: 51,518,737 msg/sec OptimistAtomicQueue2, 8,s: 43,897,554 msg/sec OptimistAtomicQueue2, 8,i: 49,617,167 msg/sec OptimistAtomicQueueB2, 1,s: 77,888,736 msg/sec OptimistAtomicQueueB2, 1,i: 33,919,872 msg/sec OptimistAtomicQueueB2, 2,s: 27,651,955 msg/sec OptimistAtomicQueueB2, 2,i: 26,796,634 msg/sec OptimistAtomicQueueB2, 3,s: 29,677,390 msg/sec OptimistAtomicQueueB2, 3,i: 29,149,071 msg/sec OptimistAtomicQueueB2, 4,s: 33,283,779 msg/sec OptimistAtomicQueueB2, 4,i: 32,788,860 msg/sec OptimistAtomicQueueB2, 5,s: 34,599,905 msg/sec OptimistAtomicQueueB2, 5,i: 39,519,751 msg/sec OptimistAtomicQueueB2, 6,s: 37,165,252 msg/sec OptimistAtomicQueueB2, 6,i: 42,312,776 msg/sec OptimistAtomicQueueB2, 7,s: 40,813,875 msg/sec OptimistAtomicQueueB2, 7,i: 45,552,280 msg/sec OptimistAtomicQueueB2, 8,s: 42,496,747 msg/sec OptimistAtomicQueueB2, 8,i: 45,264,720 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000129 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000300 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000378 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [250] 151m:25s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,475,409 msg/sec boost::lockfree::spsc_queue, 1,i: 70,753,394 msg/sec boost::lockfree::queue, 1,s: 7,982,506 msg/sec boost::lockfree::queue, 1,i: 7,900,908 msg/sec boost::lockfree::queue, 2,s: 7,657,542 msg/sec boost::lockfree::queue, 2,i: 7,536,140 msg/sec boost::lockfree::queue, 3,s: 7,398,684 msg/sec boost::lockfree::queue, 3,i: 7,515,474 msg/sec boost::lockfree::queue, 4,s: 6,421,159 msg/sec boost::lockfree::queue, 4,i: 6,769,845 msg/sec boost::lockfree::queue, 5,s: 6,400,416 msg/sec boost::lockfree::queue, 5,i: 6,482,985 msg/sec boost::lockfree::queue, 6,s: 5,990,316 msg/sec boost::lockfree::queue, 6,i: 6,125,314 msg/sec boost::lockfree::queue, 7,s: 5,936,005 msg/sec boost::lockfree::queue, 7,i: 5,883,921 msg/sec boost::lockfree::queue, 8,s: 5,434,518 msg/sec boost::lockfree::queue, 8,i: 5,649,633 msg/sec moodycamel::ReaderWriterQueue, 1,s: 78,058,155 msg/sec moodycamel::ReaderWriterQueue, 1,i: 65,575,075 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,631,367 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,782,780 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,348,780 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,429,531 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,898,730 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,773,540 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,284,058 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,233,681 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,065,621 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,943,155 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,326,514 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,694,296 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,933,280 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,913,639 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,122,642 msg/sec moodycamel::ConcurrentQueue, 8,i: 19,957,932 msg/sec pthread_spinlock, 1,s: 29,004,843 msg/sec pthread_spinlock, 1,i: 25,453,846 msg/sec pthread_spinlock, 2,s: 15,918,133 msg/sec pthread_spinlock, 2,i: 17,422,393 msg/sec pthread_spinlock, 3,s: 8,428,456 msg/sec pthread_spinlock, 3,i: 12,052,724 msg/sec pthread_spinlock, 4,s: 6,487,435 msg/sec pthread_spinlock, 4,i: 9,005,166 msg/sec pthread_spinlock, 5,s: 8,736,663 msg/sec pthread_spinlock, 5,i: 8,957,325 msg/sec pthread_spinlock, 6,s: 8,315,273 msg/sec pthread_spinlock, 6,i: 8,367,992 msg/sec pthread_spinlock, 7,s: 7,562,589 msg/sec pthread_spinlock, 7,i: 7,640,111 msg/sec pthread_spinlock, 8,s: 6,838,267 msg/sec pthread_spinlock, 8,i: 6,877,346 msg/sec std::mutex, 1,s: 6,520,567 msg/sec std::mutex, 1,i: 6,724,453 msg/sec std::mutex, 2,s: 5,437,112 msg/sec std::mutex, 2,i: 5,491,850 msg/sec std::mutex, 3,s: 4,771,749 msg/sec std::mutex, 3,i: 6,037,549 msg/sec std::mutex, 4,s: 6,333,686 msg/sec std::mutex, 4,i: 6,238,158 msg/sec std::mutex, 5,s: 6,082,658 msg/sec std::mutex, 5,i: 5,614,214 msg/sec std::mutex, 6,s: 5,904,595 msg/sec std::mutex, 6,i: 5,974,905 msg/sec std::mutex, 7,s: 5,857,241 msg/sec std::mutex, 7,i: 5,819,011 msg/sec std::mutex, 8,s: 5,664,113 msg/sec std::mutex, 8,i: 5,685,082 msg/sec tbb::spin_mutex, 1,s: 37,998,641 msg/sec tbb::spin_mutex, 1,i: 37,705,695 msg/sec tbb::spin_mutex, 2,s: 21,033,559 msg/sec tbb::spin_mutex, 2,i: 18,315,114 msg/sec tbb::spin_mutex, 3,s: 8,457,778 msg/sec tbb::spin_mutex, 3,i: 10,271,218 msg/sec tbb::spin_mutex, 4,s: 3,036,582 msg/sec tbb::spin_mutex, 4,i: 6,227,360 msg/sec tbb::spin_mutex, 5,s: 5,317,075 msg/sec tbb::spin_mutex, 5,i: 5,729,386 msg/sec tbb::spin_mutex, 6,s: 5,355,042 msg/sec tbb::spin_mutex, 6,i: 4,281,192 msg/sec tbb::spin_mutex, 7,s: 4,694,696 msg/sec tbb::spin_mutex, 7,i: 4,342,076 msg/sec tbb::spin_mutex, 8,s: 4,261,643 msg/sec tbb::spin_mutex, 8,i: 4,193,782 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,077,980 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,118,998 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,171,416 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,132,996 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,198,136 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,264,410 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,977,257 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,276,164 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,592,634 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,390,140 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,627,258 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,722,277 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,673,182 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,107,633 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,738,808 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,901,390 msg/sec xenium::michael_scott_queue, 1,s: 9,427,975 msg/sec xenium::michael_scott_queue, 1,i: 9,494,600 msg/sec xenium::michael_scott_queue, 2,s: 8,498,496 msg/sec xenium::michael_scott_queue, 2,i: 8,466,057 msg/sec xenium::michael_scott_queue, 3,s: 7,177,414 msg/sec xenium::michael_scott_queue, 3,i: 7,543,638 msg/sec xenium::michael_scott_queue, 4,s: 6,276,764 msg/sec xenium::michael_scott_queue, 4,i: 6,421,033 msg/sec xenium::michael_scott_queue, 5,s: 6,293,764 msg/sec xenium::michael_scott_queue, 5,i: 6,628,906 msg/sec xenium::michael_scott_queue, 6,s: 6,499,087 msg/sec xenium::michael_scott_queue, 6,i: 7,048,249 msg/sec xenium::michael_scott_queue, 7,s: 6,323,320 msg/sec xenium::michael_scott_queue, 7,i: 6,472,211 msg/sec xenium::michael_scott_queue, 8,s: 5,954,663 msg/sec xenium::michael_scott_queue, 8,i: 6,080,749 msg/sec xenium::ramalhete_queue, 1,s: 31,975,428 msg/sec xenium::ramalhete_queue, 1,i: 32,708,195 msg/sec xenium::ramalhete_queue, 2,s: 24,407,693 msg/sec xenium::ramalhete_queue, 2,i: 23,287,979 msg/sec xenium::ramalhete_queue, 3,s: 29,334,475 msg/sec xenium::ramalhete_queue, 3,i: 28,586,683 msg/sec xenium::ramalhete_queue, 4,s: 33,971,478 msg/sec xenium::ramalhete_queue, 4,i: 33,575,530 msg/sec xenium::ramalhete_queue, 5,s: 32,160,937 msg/sec xenium::ramalhete_queue, 5,i: 35,887,191 msg/sec xenium::ramalhete_queue, 6,s: 34,082,798 msg/sec xenium::ramalhete_queue, 6,i: 39,375,662 msg/sec xenium::ramalhete_queue, 7,s: 35,259,115 msg/sec xenium::ramalhete_queue, 7,i: 41,151,212 msg/sec xenium::ramalhete_queue, 8,s: 35,529,915 msg/sec xenium::ramalhete_queue, 8,i: 44,133,771 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,305,525 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,748,579 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,729,562 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,063,635 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,729,543 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,997,583 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,312,569 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,202,990 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,112,556 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,168,939 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,163,275 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,162,761 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,263,300 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,144,684 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,412,646 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,267,076 msg/sec AtomicQueue, 1,s: 60,162,648 msg/sec AtomicQueue, 1,i: 56,425,877 msg/sec AtomicQueue, 2,s: 12,245,925 msg/sec AtomicQueue, 2,i: 11,723,373 msg/sec AtomicQueue, 3,s: 10,758,095 msg/sec AtomicQueue, 3,i: 9,859,838 msg/sec AtomicQueue, 4,s: 8,148,775 msg/sec AtomicQueue, 4,i: 8,214,302 msg/sec AtomicQueue, 5,s: 8,048,009 msg/sec AtomicQueue, 5,i: 8,092,925 msg/sec AtomicQueue, 6,s: 7,695,966 msg/sec AtomicQueue, 6,i: 7,602,722 msg/sec AtomicQueue, 7,s: 7,095,271 msg/sec AtomicQueue, 7,i: 7,996,319 msg/sec AtomicQueue, 8,s: 6,327,715 msg/sec AtomicQueue, 8,i: 7,396,593 msg/sec AtomicQueueB, 1,s: 43,743,301 msg/sec AtomicQueueB, 1,i: 43,760,729 msg/sec AtomicQueueB, 2,s: 11,907,393 msg/sec AtomicQueueB, 2,i: 11,487,484 msg/sec AtomicQueueB, 3,s: 10,958,533 msg/sec AtomicQueueB, 3,i: 10,179,898 msg/sec AtomicQueueB, 4,s: 8,040,444 msg/sec AtomicQueueB, 4,i: 8,018,589 msg/sec AtomicQueueB, 5,s: 7,756,964 msg/sec AtomicQueueB, 5,i: 7,811,972 msg/sec AtomicQueueB, 6,s: 7,306,501 msg/sec AtomicQueueB, 6,i: 7,478,085 msg/sec AtomicQueueB, 7,s: 6,862,459 msg/sec AtomicQueueB, 7,i: 7,749,275 msg/sec AtomicQueueB, 8,s: 6,261,363 msg/sec AtomicQueueB, 8,i: 7,108,619 msg/sec OptimistAtomicQueue, 1,s: 805,793,494 msg/sec OptimistAtomicQueue, 1,i: 595,038,774 msg/sec OptimistAtomicQueue, 2,s: 32,615,615 msg/sec OptimistAtomicQueue, 2,i: 32,662,061 msg/sec OptimistAtomicQueue, 3,s: 36,661,172 msg/sec OptimistAtomicQueue, 3,i: 37,401,087 msg/sec OptimistAtomicQueue, 4,s: 39,267,160 msg/sec OptimistAtomicQueue, 4,i: 39,371,155 msg/sec OptimistAtomicQueue, 5,s: 41,707,837 msg/sec OptimistAtomicQueue, 5,i: 47,047,810 msg/sec OptimistAtomicQueue, 6,s: 42,310,938 msg/sec OptimistAtomicQueue, 6,i: 50,367,060 msg/sec OptimistAtomicQueue, 7,s: 45,083,468 msg/sec OptimistAtomicQueue, 7,i: 53,034,764 msg/sec OptimistAtomicQueue, 8,s: 46,308,408 msg/sec OptimistAtomicQueue, 8,i: 48,778,117 msg/sec OptimistAtomicQueueB, 1,s: 78,042,523 msg/sec OptimistAtomicQueueB, 1,i: 77,770,073 msg/sec OptimistAtomicQueueB, 2,s: 31,739,564 msg/sec OptimistAtomicQueueB, 2,i: 31,996,800 msg/sec OptimistAtomicQueueB, 3,s: 36,268,428 msg/sec OptimistAtomicQueueB, 3,i: 36,938,862 msg/sec OptimistAtomicQueueB, 4,s: 38,708,554 msg/sec OptimistAtomicQueueB, 4,i: 38,633,057 msg/sec OptimistAtomicQueueB, 5,s: 41,003,480 msg/sec OptimistAtomicQueueB, 5,i: 45,446,935 msg/sec OptimistAtomicQueueB, 6,s: 41,147,834 msg/sec OptimistAtomicQueueB, 6,i: 48,722,433 msg/sec OptimistAtomicQueueB, 7,s: 41,912,421 msg/sec OptimistAtomicQueueB, 7,i: 47,848,070 msg/sec OptimistAtomicQueueB, 8,s: 44,626,376 msg/sec OptimistAtomicQueueB, 8,i: 48,369,961 msg/sec AtomicQueue2, 1,s: 22,946,472 msg/sec AtomicQueue2, 1,i: 22,855,976 msg/sec AtomicQueue2, 2,s: 11,655,920 msg/sec AtomicQueue2, 2,i: 11,416,406 msg/sec AtomicQueue2, 3,s: 9,365,499 msg/sec AtomicQueue2, 3,i: 9,376,273 msg/sec AtomicQueue2, 4,s: 8,015,836 msg/sec AtomicQueue2, 4,i: 8,045,487 msg/sec AtomicQueue2, 5,s: 7,873,422 msg/sec AtomicQueue2, 5,i: 8,055,896 msg/sec AtomicQueue2, 6,s: 7,654,413 msg/sec AtomicQueue2, 6,i: 7,524,329 msg/sec AtomicQueue2, 7,s: 7,111,968 msg/sec AtomicQueue2, 7,i: 7,900,002 msg/sec AtomicQueue2, 8,s: 6,400,433 msg/sec AtomicQueue2, 8,i: 7,317,912 msg/sec AtomicQueueB2, 1,s: 36,123,529 msg/sec AtomicQueueB2, 1,i: 32,642,381 msg/sec AtomicQueueB2, 2,s: 11,467,024 msg/sec AtomicQueueB2, 2,i: 11,154,043 msg/sec AtomicQueueB2, 3,s: 9,759,212 msg/sec AtomicQueueB2, 3,i: 9,480,447 msg/sec AtomicQueueB2, 4,s: 7,990,735 msg/sec AtomicQueueB2, 4,i: 7,855,836 msg/sec AtomicQueueB2, 5,s: 7,518,685 msg/sec AtomicQueueB2, 5,i: 7,683,010 msg/sec AtomicQueueB2, 6,s: 7,068,235 msg/sec AtomicQueueB2, 6,i: 7,420,708 msg/sec AtomicQueueB2, 7,s: 6,883,909 msg/sec AtomicQueueB2, 7,i: 7,711,464 msg/sec AtomicQueueB2, 8,s: 6,257,424 msg/sec AtomicQueueB2, 8,i: 7,136,216 msg/sec OptimistAtomicQueue2, 1,s: 32,638,547 msg/sec OptimistAtomicQueue2, 1,i: 29,488,273 msg/sec OptimistAtomicQueue2, 2,s: 29,510,520 msg/sec OptimistAtomicQueue2, 2,i: 24,017,256 msg/sec OptimistAtomicQueue2, 3,s: 30,530,741 msg/sec OptimistAtomicQueue2, 3,i: 29,664,309 msg/sec OptimistAtomicQueue2, 4,s: 33,547,290 msg/sec OptimistAtomicQueue2, 4,i: 33,251,676 msg/sec OptimistAtomicQueue2, 5,s: 37,296,499 msg/sec OptimistAtomicQueue2, 5,i: 40,497,550 msg/sec OptimistAtomicQueue2, 6,s: 40,414,714 msg/sec OptimistAtomicQueue2, 6,i: 49,182,125 msg/sec OptimistAtomicQueue2, 7,s: 43,229,850 msg/sec OptimistAtomicQueue2, 7,i: 51,687,859 msg/sec OptimistAtomicQueue2, 8,s: 44,849,821 msg/sec OptimistAtomicQueue2, 8,i: 48,691,340 msg/sec OptimistAtomicQueueB2, 1,s: 77,772,051 msg/sec OptimistAtomicQueueB2, 1,i: 37,875,368 msg/sec OptimistAtomicQueueB2, 2,s: 27,648,779 msg/sec OptimistAtomicQueueB2, 2,i: 24,536,877 msg/sec OptimistAtomicQueueB2, 3,s: 29,824,252 msg/sec OptimistAtomicQueueB2, 3,i: 29,043,457 msg/sec OptimistAtomicQueueB2, 4,s: 33,618,933 msg/sec OptimistAtomicQueueB2, 4,i: 32,954,956 msg/sec OptimistAtomicQueueB2, 5,s: 34,700,561 msg/sec OptimistAtomicQueueB2, 5,i: 38,981,652 msg/sec OptimistAtomicQueueB2, 6,s: 37,295,903 msg/sec OptimistAtomicQueueB2, 6,i: 41,580,795 msg/sec OptimistAtomicQueueB2, 7,s: 40,185,798 msg/sec OptimistAtomicQueueB2, 7,i: 45,379,753 msg/sec OptimistAtomicQueueB2, 8,s: 42,231,078 msg/sec OptimistAtomicQueueB2, 8,i: 45,733,861 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000314 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000130 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000283 sec/round-trip std::mutex: 0.000000447 sec/round-trip tbb::spin_mutex: 0.000000257 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000258 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [251] 150m:6s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,698,966 msg/sec boost::lockfree::spsc_queue, 1,i: 68,596,304 msg/sec boost::lockfree::queue, 1,s: 6,807,868 msg/sec boost::lockfree::queue, 1,i: 6,919,092 msg/sec boost::lockfree::queue, 2,s: 7,572,745 msg/sec boost::lockfree::queue, 2,i: 7,526,364 msg/sec boost::lockfree::queue, 3,s: 7,391,469 msg/sec boost::lockfree::queue, 3,i: 7,521,099 msg/sec boost::lockfree::queue, 4,s: 6,423,615 msg/sec boost::lockfree::queue, 4,i: 6,760,155 msg/sec boost::lockfree::queue, 5,s: 6,447,191 msg/sec boost::lockfree::queue, 5,i: 6,471,014 msg/sec boost::lockfree::queue, 6,s: 5,967,222 msg/sec boost::lockfree::queue, 6,i: 6,138,868 msg/sec boost::lockfree::queue, 7,s: 6,063,494 msg/sec boost::lockfree::queue, 7,i: 5,904,659 msg/sec boost::lockfree::queue, 8,s: 5,505,847 msg/sec boost::lockfree::queue, 8,i: 5,544,615 msg/sec moodycamel::ReaderWriterQueue, 1,s: 501,954,485 msg/sec moodycamel::ReaderWriterQueue, 1,i: 482,009,826 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,308,854 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,454,097 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,638,995 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,798,620 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,156,512 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,970,981 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,245,428 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,415,226 msg/sec moodycamel::ConcurrentQueue, 5,s: 46,109,385 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,788,068 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,459,660 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,053,056 msg/sec moodycamel::ConcurrentQueue, 7,s: 45,643,804 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,537,395 msg/sec moodycamel::ConcurrentQueue, 8,s: 50,865,380 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,790,118 msg/sec pthread_spinlock, 1,s: 28,904,740 msg/sec pthread_spinlock, 1,i: 25,337,501 msg/sec pthread_spinlock, 2,s: 15,664,471 msg/sec pthread_spinlock, 2,i: 17,016,277 msg/sec pthread_spinlock, 3,s: 8,244,965 msg/sec pthread_spinlock, 3,i: 11,943,983 msg/sec pthread_spinlock, 4,s: 6,486,182 msg/sec pthread_spinlock, 4,i: 8,903,829 msg/sec pthread_spinlock, 5,s: 8,512,909 msg/sec pthread_spinlock, 5,i: 9,556,732 msg/sec pthread_spinlock, 6,s: 8,287,490 msg/sec pthread_spinlock, 6,i: 8,415,324 msg/sec pthread_spinlock, 7,s: 7,526,521 msg/sec pthread_spinlock, 7,i: 7,716,008 msg/sec pthread_spinlock, 8,s: 6,658,301 msg/sec pthread_spinlock, 8,i: 7,410,766 msg/sec std::mutex, 1,s: 6,855,990 msg/sec std::mutex, 1,i: 6,479,844 msg/sec std::mutex, 2,s: 5,544,628 msg/sec std::mutex, 2,i: 5,434,117 msg/sec std::mutex, 3,s: 4,680,301 msg/sec std::mutex, 3,i: 5,106,359 msg/sec std::mutex, 4,s: 6,158,013 msg/sec std::mutex, 4,i: 6,224,790 msg/sec std::mutex, 5,s: 6,034,490 msg/sec std::mutex, 5,i: 5,588,127 msg/sec std::mutex, 6,s: 5,985,467 msg/sec std::mutex, 6,i: 5,938,650 msg/sec std::mutex, 7,s: 5,861,508 msg/sec std::mutex, 7,i: 5,878,501 msg/sec std::mutex, 8,s: 5,755,228 msg/sec std::mutex, 8,i: 5,700,760 msg/sec tbb::spin_mutex, 1,s: 37,759,395 msg/sec tbb::spin_mutex, 1,i: 32,911,052 msg/sec tbb::spin_mutex, 2,s: 21,223,038 msg/sec tbb::spin_mutex, 2,i: 18,383,879 msg/sec tbb::spin_mutex, 3,s: 8,196,999 msg/sec tbb::spin_mutex, 3,i: 10,146,717 msg/sec tbb::spin_mutex, 4,s: 3,207,766 msg/sec tbb::spin_mutex, 4,i: 6,363,222 msg/sec tbb::spin_mutex, 5,s: 5,427,174 msg/sec tbb::spin_mutex, 5,i: 5,696,433 msg/sec tbb::spin_mutex, 6,s: 5,341,425 msg/sec tbb::spin_mutex, 6,i: 4,366,424 msg/sec tbb::spin_mutex, 7,s: 4,836,609 msg/sec tbb::spin_mutex, 7,i: 4,346,409 msg/sec tbb::spin_mutex, 8,s: 4,244,221 msg/sec tbb::spin_mutex, 8,i: 4,041,286 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,487,467 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,544,314 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,610,584 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,843,694 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,409,163 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,831,922 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,084,471 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,357,749 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,661,182 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,785,455 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,895,774 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,960,352 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,764,406 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,167,940 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,640,273 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,298,655 msg/sec xenium::michael_scott_queue, 1,s: 9,374,154 msg/sec xenium::michael_scott_queue, 1,i: 9,222,846 msg/sec xenium::michael_scott_queue, 2,s: 8,424,713 msg/sec xenium::michael_scott_queue, 2,i: 8,491,239 msg/sec xenium::michael_scott_queue, 3,s: 7,194,023 msg/sec xenium::michael_scott_queue, 3,i: 7,603,638 msg/sec xenium::michael_scott_queue, 4,s: 6,354,058 msg/sec xenium::michael_scott_queue, 4,i: 6,415,085 msg/sec xenium::michael_scott_queue, 5,s: 6,327,377 msg/sec xenium::michael_scott_queue, 5,i: 6,657,514 msg/sec xenium::michael_scott_queue, 6,s: 6,477,243 msg/sec xenium::michael_scott_queue, 6,i: 6,902,233 msg/sec xenium::michael_scott_queue, 7,s: 6,252,831 msg/sec xenium::michael_scott_queue, 7,i: 6,616,045 msg/sec xenium::michael_scott_queue, 8,s: 5,993,159 msg/sec xenium::michael_scott_queue, 8,i: 6,074,788 msg/sec xenium::ramalhete_queue, 1,s: 31,969,973 msg/sec xenium::ramalhete_queue, 1,i: 31,337,148 msg/sec xenium::ramalhete_queue, 2,s: 24,082,190 msg/sec xenium::ramalhete_queue, 2,i: 23,342,019 msg/sec xenium::ramalhete_queue, 3,s: 29,202,567 msg/sec xenium::ramalhete_queue, 3,i: 28,689,741 msg/sec xenium::ramalhete_queue, 4,s: 33,753,603 msg/sec xenium::ramalhete_queue, 4,i: 33,405,377 msg/sec xenium::ramalhete_queue, 5,s: 31,999,336 msg/sec xenium::ramalhete_queue, 5,i: 35,975,518 msg/sec xenium::ramalhete_queue, 6,s: 34,235,012 msg/sec xenium::ramalhete_queue, 6,i: 39,789,685 msg/sec xenium::ramalhete_queue, 7,s: 35,038,866 msg/sec xenium::ramalhete_queue, 7,i: 41,585,515 msg/sec xenium::ramalhete_queue, 8,s: 35,665,321 msg/sec xenium::ramalhete_queue, 8,i: 43,885,536 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,741,642 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,559,907 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,880,286 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,460,231 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,589,550 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,934,689 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,525,240 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,294,363 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,077,220 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,370,677 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,008,864 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,270,839 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,196,373 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,005,665 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,394,520 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,261,657 msg/sec AtomicQueue, 1,s: 54,129,635 msg/sec AtomicQueue, 1,i: 53,526,225 msg/sec AtomicQueue, 2,s: 12,252,943 msg/sec AtomicQueue, 2,i: 11,733,335 msg/sec AtomicQueue, 3,s: 10,811,101 msg/sec AtomicQueue, 3,i: 9,970,169 msg/sec AtomicQueue, 4,s: 8,150,711 msg/sec AtomicQueue, 4,i: 8,228,945 msg/sec AtomicQueue, 5,s: 8,044,160 msg/sec AtomicQueue, 5,i: 8,127,572 msg/sec AtomicQueue, 6,s: 7,708,990 msg/sec AtomicQueue, 6,i: 7,606,335 msg/sec AtomicQueue, 7,s: 7,144,618 msg/sec AtomicQueue, 7,i: 8,017,228 msg/sec AtomicQueue, 8,s: 6,368,098 msg/sec AtomicQueue, 8,i: 7,425,836 msg/sec AtomicQueueB, 1,s: 43,881,559 msg/sec AtomicQueueB, 1,i: 43,087,753 msg/sec AtomicQueueB, 2,s: 11,976,560 msg/sec AtomicQueueB, 2,i: 11,525,732 msg/sec AtomicQueueB, 3,s: 10,951,908 msg/sec AtomicQueueB, 3,i: 10,087,016 msg/sec AtomicQueueB, 4,s: 8,048,080 msg/sec AtomicQueueB, 4,i: 8,026,029 msg/sec AtomicQueueB, 5,s: 7,610,731 msg/sec AtomicQueueB, 5,i: 7,899,470 msg/sec AtomicQueueB, 6,s: 7,340,425 msg/sec AtomicQueueB, 6,i: 7,571,480 msg/sec AtomicQueueB, 7,s: 6,837,389 msg/sec AtomicQueueB, 7,i: 7,745,342 msg/sec AtomicQueueB, 8,s: 6,197,203 msg/sec AtomicQueueB, 8,i: 7,140,539 msg/sec OptimistAtomicQueue, 1,s: 731,048,927 msg/sec OptimistAtomicQueue, 1,i: 514,545,030 msg/sec OptimistAtomicQueue, 2,s: 32,638,761 msg/sec OptimistAtomicQueue, 2,i: 32,717,833 msg/sec OptimistAtomicQueue, 3,s: 36,667,628 msg/sec OptimistAtomicQueue, 3,i: 37,398,969 msg/sec OptimistAtomicQueue, 4,s: 39,298,950 msg/sec OptimistAtomicQueue, 4,i: 39,383,124 msg/sec OptimistAtomicQueue, 5,s: 41,817,018 msg/sec OptimistAtomicQueue, 5,i: 47,120,233 msg/sec OptimistAtomicQueue, 6,s: 42,622,295 msg/sec OptimistAtomicQueue, 6,i: 50,440,246 msg/sec OptimistAtomicQueue, 7,s: 44,257,412 msg/sec OptimistAtomicQueue, 7,i: 52,934,604 msg/sec OptimistAtomicQueue, 8,s: 46,394,821 msg/sec OptimistAtomicQueue, 8,i: 48,894,243 msg/sec OptimistAtomicQueueB, 1,s: 248,852,262 msg/sec OptimistAtomicQueueB, 1,i: 76,573,115 msg/sec OptimistAtomicQueueB, 2,s: 32,268,612 msg/sec OptimistAtomicQueueB, 2,i: 32,264,113 msg/sec OptimistAtomicQueueB, 3,s: 36,221,201 msg/sec OptimistAtomicQueueB, 3,i: 36,894,231 msg/sec OptimistAtomicQueueB, 4,s: 38,698,107 msg/sec OptimistAtomicQueueB, 4,i: 38,501,601 msg/sec OptimistAtomicQueueB, 5,s: 40,381,953 msg/sec OptimistAtomicQueueB, 5,i: 45,824,584 msg/sec OptimistAtomicQueueB, 6,s: 41,138,333 msg/sec OptimistAtomicQueueB, 6,i: 49,231,981 msg/sec OptimistAtomicQueueB, 7,s: 42,725,975 msg/sec OptimistAtomicQueueB, 7,i: 51,541,759 msg/sec OptimistAtomicQueueB, 8,s: 44,107,611 msg/sec OptimistAtomicQueueB, 8,i: 48,830,353 msg/sec AtomicQueue2, 1,s: 23,101,389 msg/sec AtomicQueue2, 1,i: 23,162,637 msg/sec AtomicQueue2, 2,s: 11,853,934 msg/sec AtomicQueue2, 2,i: 11,767,167 msg/sec AtomicQueue2, 3,s: 9,535,917 msg/sec AtomicQueue2, 3,i: 9,404,408 msg/sec AtomicQueue2, 4,s: 8,039,440 msg/sec AtomicQueue2, 4,i: 8,066,866 msg/sec AtomicQueue2, 5,s: 7,896,978 msg/sec AtomicQueue2, 5,i: 8,081,883 msg/sec AtomicQueue2, 6,s: 7,753,318 msg/sec AtomicQueue2, 6,i: 7,463,006 msg/sec AtomicQueue2, 7,s: 7,109,198 msg/sec AtomicQueue2, 7,i: 7,881,791 msg/sec AtomicQueue2, 8,s: 6,384,464 msg/sec AtomicQueue2, 8,i: 7,347,130 msg/sec AtomicQueueB2, 1,s: 36,099,723 msg/sec AtomicQueueB2, 1,i: 32,625,945 msg/sec AtomicQueueB2, 2,s: 11,341,296 msg/sec AtomicQueueB2, 2,i: 11,104,816 msg/sec AtomicQueueB2, 3,s: 9,614,496 msg/sec AtomicQueueB2, 3,i: 9,572,964 msg/sec AtomicQueueB2, 4,s: 7,938,058 msg/sec AtomicQueueB2, 4,i: 7,848,669 msg/sec AtomicQueueB2, 5,s: 7,536,386 msg/sec AtomicQueueB2, 5,i: 7,600,322 msg/sec AtomicQueueB2, 6,s: 7,215,880 msg/sec AtomicQueueB2, 6,i: 7,400,709 msg/sec AtomicQueueB2, 7,s: 6,839,486 msg/sec AtomicQueueB2, 7,i: 7,693,439 msg/sec AtomicQueueB2, 8,s: 6,248,848 msg/sec AtomicQueueB2, 8,i: 7,074,108 msg/sec OptimistAtomicQueue2, 1,s: 28,304,652 msg/sec OptimistAtomicQueue2, 1,i: 28,094,567 msg/sec OptimistAtomicQueue2, 2,s: 27,922,595 msg/sec OptimistAtomicQueue2, 2,i: 23,309,912 msg/sec OptimistAtomicQueue2, 3,s: 30,320,556 msg/sec OptimistAtomicQueue2, 3,i: 29,967,603 msg/sec OptimistAtomicQueue2, 4,s: 33,204,393 msg/sec OptimistAtomicQueue2, 4,i: 33,151,615 msg/sec OptimistAtomicQueue2, 5,s: 37,279,633 msg/sec OptimistAtomicQueue2, 5,i: 41,011,065 msg/sec OptimistAtomicQueue2, 6,s: 39,955,697 msg/sec OptimistAtomicQueue2, 6,i: 49,425,421 msg/sec OptimistAtomicQueue2, 7,s: 43,135,338 msg/sec OptimistAtomicQueue2, 7,i: 48,190,680 msg/sec OptimistAtomicQueue2, 8,s: 43,987,540 msg/sec OptimistAtomicQueue2, 8,i: 49,017,301 msg/sec OptimistAtomicQueueB2, 1,s: 78,126,441 msg/sec OptimistAtomicQueueB2, 1,i: 33,872,371 msg/sec OptimistAtomicQueueB2, 2,s: 27,201,936 msg/sec OptimistAtomicQueueB2, 2,i: 23,224,090 msg/sec OptimistAtomicQueueB2, 3,s: 29,765,390 msg/sec OptimistAtomicQueueB2, 3,i: 29,936,759 msg/sec OptimistAtomicQueueB2, 4,s: 33,382,700 msg/sec OptimistAtomicQueueB2, 4,i: 32,626,747 msg/sec OptimistAtomicQueueB2, 5,s: 34,436,004 msg/sec OptimistAtomicQueueB2, 5,i: 39,124,646 msg/sec OptimistAtomicQueueB2, 6,s: 37,395,180 msg/sec OptimistAtomicQueueB2, 6,i: 42,285,557 msg/sec OptimistAtomicQueueB2, 7,s: 40,958,207 msg/sec OptimistAtomicQueueB2, 7,i: 43,208,656 msg/sec OptimistAtomicQueueB2, 8,s: 42,333,678 msg/sec OptimistAtomicQueueB2, 8,i: 45,723,011 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000142 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000226 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [252] 148m:46s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,157,523 msg/sec boost::lockfree::spsc_queue, 1,i: 68,017,403 msg/sec boost::lockfree::queue, 1,s: 6,871,867 msg/sec boost::lockfree::queue, 1,i: 6,940,984 msg/sec boost::lockfree::queue, 2,s: 7,544,433 msg/sec boost::lockfree::queue, 2,i: 7,548,317 msg/sec boost::lockfree::queue, 3,s: 7,390,606 msg/sec boost::lockfree::queue, 3,i: 7,519,385 msg/sec boost::lockfree::queue, 4,s: 6,416,570 msg/sec boost::lockfree::queue, 4,i: 6,714,020 msg/sec boost::lockfree::queue, 5,s: 6,433,468 msg/sec boost::lockfree::queue, 5,i: 6,474,039 msg/sec boost::lockfree::queue, 6,s: 6,024,667 msg/sec boost::lockfree::queue, 6,i: 6,073,298 msg/sec boost::lockfree::queue, 7,s: 5,902,199 msg/sec boost::lockfree::queue, 7,i: 6,042,908 msg/sec boost::lockfree::queue, 8,s: 5,485,980 msg/sec boost::lockfree::queue, 8,i: 5,558,751 msg/sec moodycamel::ReaderWriterQueue, 1,s: 69,391,321 msg/sec moodycamel::ReaderWriterQueue, 1,i: 61,713,100 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,827,053 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,048,005 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,460,690 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,408,532 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,639,606 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,407,362 msg/sec moodycamel::ConcurrentQueue, 4,s: 15,945,680 msg/sec moodycamel::ConcurrentQueue, 4,i: 39,051,970 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,162,952 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,211,102 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,457,096 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,389,373 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,104,925 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,339,054 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,270,711 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,906,431 msg/sec pthread_spinlock, 1,s: 28,868,644 msg/sec pthread_spinlock, 1,i: 25,353,101 msg/sec pthread_spinlock, 2,s: 16,129,068 msg/sec pthread_spinlock, 2,i: 17,084,713 msg/sec pthread_spinlock, 3,s: 8,317,059 msg/sec pthread_spinlock, 3,i: 12,158,012 msg/sec pthread_spinlock, 4,s: 6,498,363 msg/sec pthread_spinlock, 4,i: 8,976,474 msg/sec pthread_spinlock, 5,s: 8,764,273 msg/sec pthread_spinlock, 5,i: 9,029,147 msg/sec pthread_spinlock, 6,s: 8,348,156 msg/sec pthread_spinlock, 6,i: 9,070,410 msg/sec pthread_spinlock, 7,s: 7,642,168 msg/sec pthread_spinlock, 7,i: 8,407,549 msg/sec pthread_spinlock, 8,s: 6,812,503 msg/sec pthread_spinlock, 8,i: 7,454,728 msg/sec std::mutex, 1,s: 7,311,603 msg/sec std::mutex, 1,i: 7,611,936 msg/sec std::mutex, 2,s: 6,060,179 msg/sec std::mutex, 2,i: 6,142,969 msg/sec std::mutex, 3,s: 6,043,038 msg/sec std::mutex, 3,i: 6,037,880 msg/sec std::mutex, 4,s: 6,245,715 msg/sec std::mutex, 4,i: 6,253,199 msg/sec std::mutex, 5,s: 5,995,506 msg/sec std::mutex, 5,i: 6,049,765 msg/sec std::mutex, 6,s: 5,823,476 msg/sec std::mutex, 6,i: 5,936,893 msg/sec std::mutex, 7,s: 5,731,726 msg/sec std::mutex, 7,i: 5,752,658 msg/sec std::mutex, 8,s: 5,613,986 msg/sec std::mutex, 8,i: 5,665,892 msg/sec tbb::spin_mutex, 1,s: 37,737,242 msg/sec tbb::spin_mutex, 1,i: 37,730,967 msg/sec tbb::spin_mutex, 2,s: 20,974,688 msg/sec tbb::spin_mutex, 2,i: 18,169,912 msg/sec tbb::spin_mutex, 3,s: 7,275,990 msg/sec tbb::spin_mutex, 3,i: 10,646,856 msg/sec tbb::spin_mutex, 4,s: 3,202,384 msg/sec tbb::spin_mutex, 4,i: 6,322,579 msg/sec tbb::spin_mutex, 5,s: 5,410,607 msg/sec tbb::spin_mutex, 5,i: 5,852,923 msg/sec tbb::spin_mutex, 6,s: 5,256,463 msg/sec tbb::spin_mutex, 6,i: 4,278,115 msg/sec tbb::spin_mutex, 7,s: 4,505,213 msg/sec tbb::spin_mutex, 7,i: 4,356,739 msg/sec tbb::spin_mutex, 8,s: 4,246,391 msg/sec tbb::spin_mutex, 8,i: 4,084,532 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,476,697 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,991,220 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,098,489 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,681,677 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,502,742 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,706,696 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,153,481 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,363,124 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,697,160 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,715,421 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,908,689 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,966,547 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,693,690 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,157,666 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,649,074 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,301,826 msg/sec xenium::michael_scott_queue, 1,s: 9,508,869 msg/sec xenium::michael_scott_queue, 1,i: 9,538,018 msg/sec xenium::michael_scott_queue, 2,s: 8,616,356 msg/sec xenium::michael_scott_queue, 2,i: 8,499,343 msg/sec xenium::michael_scott_queue, 3,s: 7,182,729 msg/sec xenium::michael_scott_queue, 3,i: 7,529,516 msg/sec xenium::michael_scott_queue, 4,s: 6,277,358 msg/sec xenium::michael_scott_queue, 4,i: 6,347,608 msg/sec xenium::michael_scott_queue, 5,s: 6,313,796 msg/sec xenium::michael_scott_queue, 5,i: 6,712,883 msg/sec xenium::michael_scott_queue, 6,s: 6,565,557 msg/sec xenium::michael_scott_queue, 6,i: 6,959,659 msg/sec xenium::michael_scott_queue, 7,s: 6,307,327 msg/sec xenium::michael_scott_queue, 7,i: 6,511,473 msg/sec xenium::michael_scott_queue, 8,s: 5,970,438 msg/sec xenium::michael_scott_queue, 8,i: 6,111,407 msg/sec xenium::ramalhete_queue, 1,s: 31,474,494 msg/sec xenium::ramalhete_queue, 1,i: 30,811,197 msg/sec xenium::ramalhete_queue, 2,s: 23,401,593 msg/sec xenium::ramalhete_queue, 2,i: 23,344,168 msg/sec xenium::ramalhete_queue, 3,s: 29,196,722 msg/sec xenium::ramalhete_queue, 3,i: 28,581,121 msg/sec xenium::ramalhete_queue, 4,s: 33,801,755 msg/sec xenium::ramalhete_queue, 4,i: 33,440,874 msg/sec xenium::ramalhete_queue, 5,s: 32,089,576 msg/sec xenium::ramalhete_queue, 5,i: 36,214,046 msg/sec xenium::ramalhete_queue, 6,s: 33,917,699 msg/sec xenium::ramalhete_queue, 6,i: 38,897,544 msg/sec xenium::ramalhete_queue, 7,s: 35,229,326 msg/sec xenium::ramalhete_queue, 7,i: 41,629,293 msg/sec xenium::ramalhete_queue, 8,s: 35,608,621 msg/sec xenium::ramalhete_queue, 8,i: 44,517,570 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,796,059 msg/sec xenium::vyukov_bounded_queue, 1,i: 93,057,648 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,524,925 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,855,981 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,546,860 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,063,641 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,700,512 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,281,318 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,841,671 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,162,463 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,834,357 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,400,039 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,201,368 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,185,762 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,397,018 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,299,998 msg/sec AtomicQueue, 1,s: 58,901,015 msg/sec AtomicQueue, 1,i: 55,943,053 msg/sec AtomicQueue, 2,s: 12,183,716 msg/sec AtomicQueue, 2,i: 11,753,571 msg/sec AtomicQueue, 3,s: 10,778,644 msg/sec AtomicQueue, 3,i: 9,985,489 msg/sec AtomicQueue, 4,s: 8,143,748 msg/sec AtomicQueue, 4,i: 8,198,224 msg/sec AtomicQueue, 5,s: 8,018,291 msg/sec AtomicQueue, 5,i: 8,084,737 msg/sec AtomicQueue, 6,s: 7,775,104 msg/sec AtomicQueue, 6,i: 7,613,736 msg/sec AtomicQueue, 7,s: 7,157,309 msg/sec AtomicQueue, 7,i: 7,958,954 msg/sec AtomicQueue, 8,s: 6,291,117 msg/sec AtomicQueue, 8,i: 7,464,632 msg/sec AtomicQueueB, 1,s: 43,925,705 msg/sec AtomicQueueB, 1,i: 43,074,112 msg/sec AtomicQueueB, 2,s: 11,791,049 msg/sec AtomicQueueB, 2,i: 11,412,548 msg/sec AtomicQueueB, 3,s: 11,014,638 msg/sec AtomicQueueB, 3,i: 10,127,520 msg/sec AtomicQueueB, 4,s: 8,017,970 msg/sec AtomicQueueB, 4,i: 7,890,358 msg/sec AtomicQueueB, 5,s: 7,662,414 msg/sec AtomicQueueB, 5,i: 7,760,211 msg/sec AtomicQueueB, 6,s: 7,470,034 msg/sec AtomicQueueB, 6,i: 7,492,759 msg/sec AtomicQueueB, 7,s: 6,881,611 msg/sec AtomicQueueB, 7,i: 7,735,508 msg/sec AtomicQueueB, 8,s: 6,254,073 msg/sec AtomicQueueB, 8,i: 7,180,322 msg/sec OptimistAtomicQueue, 1,s: 813,722,121 msg/sec OptimistAtomicQueue, 1,i: 569,351,333 msg/sec OptimistAtomicQueue, 2,s: 32,644,586 msg/sec OptimistAtomicQueue, 2,i: 32,708,879 msg/sec OptimistAtomicQueue, 3,s: 36,633,545 msg/sec OptimistAtomicQueue, 3,i: 37,338,210 msg/sec OptimistAtomicQueue, 4,s: 39,270,841 msg/sec OptimistAtomicQueue, 4,i: 39,382,887 msg/sec OptimistAtomicQueue, 5,s: 41,536,226 msg/sec OptimistAtomicQueue, 5,i: 46,507,726 msg/sec OptimistAtomicQueue, 6,s: 42,787,888 msg/sec OptimistAtomicQueue, 6,i: 50,355,876 msg/sec OptimistAtomicQueue, 7,s: 45,190,983 msg/sec OptimistAtomicQueue, 7,i: 51,955,349 msg/sec OptimistAtomicQueue, 8,s: 46,489,397 msg/sec OptimistAtomicQueue, 8,i: 49,514,972 msg/sec OptimistAtomicQueueB, 1,s: 78,871,885 msg/sec OptimistAtomicQueueB, 1,i: 76,717,012 msg/sec OptimistAtomicQueueB, 2,s: 32,129,440 msg/sec OptimistAtomicQueueB, 2,i: 31,851,171 msg/sec OptimistAtomicQueueB, 3,s: 36,237,741 msg/sec OptimistAtomicQueueB, 3,i: 36,862,660 msg/sec OptimistAtomicQueueB, 4,s: 38,678,507 msg/sec OptimistAtomicQueueB, 4,i: 38,769,372 msg/sec OptimistAtomicQueueB, 5,s: 40,852,576 msg/sec OptimistAtomicQueueB, 5,i: 46,024,905 msg/sec OptimistAtomicQueueB, 6,s: 41,320,706 msg/sec OptimistAtomicQueueB, 6,i: 49,292,385 msg/sec OptimistAtomicQueueB, 7,s: 41,594,119 msg/sec OptimistAtomicQueueB, 7,i: 47,895,956 msg/sec OptimistAtomicQueueB, 8,s: 44,245,925 msg/sec OptimistAtomicQueueB, 8,i: 48,100,882 msg/sec AtomicQueue2, 1,s: 22,870,371 msg/sec AtomicQueue2, 1,i: 22,988,410 msg/sec AtomicQueue2, 2,s: 12,004,931 msg/sec AtomicQueue2, 2,i: 11,494,935 msg/sec AtomicQueue2, 3,s: 9,440,408 msg/sec AtomicQueue2, 3,i: 9,383,768 msg/sec AtomicQueue2, 4,s: 8,108,336 msg/sec AtomicQueue2, 4,i: 8,016,048 msg/sec AtomicQueue2, 5,s: 7,939,724 msg/sec AtomicQueue2, 5,i: 8,010,892 msg/sec AtomicQueue2, 6,s: 7,664,594 msg/sec AtomicQueue2, 6,i: 7,556,483 msg/sec AtomicQueue2, 7,s: 7,102,778 msg/sec AtomicQueue2, 7,i: 7,894,553 msg/sec AtomicQueue2, 8,s: 6,378,564 msg/sec AtomicQueue2, 8,i: 7,243,863 msg/sec AtomicQueueB2, 1,s: 36,318,034 msg/sec AtomicQueueB2, 1,i: 32,601,286 msg/sec AtomicQueueB2, 2,s: 11,484,271 msg/sec AtomicQueueB2, 2,i: 11,122,860 msg/sec AtomicQueueB2, 3,s: 9,675,845 msg/sec AtomicQueueB2, 3,i: 9,555,761 msg/sec AtomicQueueB2, 4,s: 8,006,078 msg/sec AtomicQueueB2, 4,i: 7,925,547 msg/sec AtomicQueueB2, 5,s: 7,547,542 msg/sec AtomicQueueB2, 5,i: 7,721,035 msg/sec AtomicQueueB2, 6,s: 7,214,316 msg/sec AtomicQueueB2, 6,i: 7,436,215 msg/sec AtomicQueueB2, 7,s: 6,864,290 msg/sec AtomicQueueB2, 7,i: 7,709,540 msg/sec AtomicQueueB2, 8,s: 6,267,380 msg/sec AtomicQueueB2, 8,i: 7,115,284 msg/sec OptimistAtomicQueue2, 1,s: 461,960,658 msg/sec OptimistAtomicQueue2, 1,i: 58,129,127 msg/sec OptimistAtomicQueue2, 2,s: 28,967,798 msg/sec OptimistAtomicQueue2, 2,i: 24,025,620 msg/sec OptimistAtomicQueue2, 3,s: 30,404,524 msg/sec OptimistAtomicQueue2, 3,i: 29,949,980 msg/sec OptimistAtomicQueue2, 4,s: 33,156,218 msg/sec OptimistAtomicQueue2, 4,i: 33,665,317 msg/sec OptimistAtomicQueue2, 5,s: 37,502,338 msg/sec OptimistAtomicQueue2, 5,i: 40,321,492 msg/sec OptimistAtomicQueue2, 6,s: 40,101,024 msg/sec OptimistAtomicQueue2, 6,i: 49,097,173 msg/sec OptimistAtomicQueue2, 7,s: 42,783,622 msg/sec OptimistAtomicQueue2, 7,i: 48,144,727 msg/sec OptimistAtomicQueue2, 8,s: 43,904,828 msg/sec OptimistAtomicQueue2, 8,i: 48,849,674 msg/sec OptimistAtomicQueueB2, 1,s: 75,799,604 msg/sec OptimistAtomicQueueB2, 1,i: 33,860,432 msg/sec OptimistAtomicQueueB2, 2,s: 27,100,383 msg/sec OptimistAtomicQueueB2, 2,i: 23,157,055 msg/sec OptimistAtomicQueueB2, 3,s: 29,661,631 msg/sec OptimistAtomicQueueB2, 3,i: 29,012,396 msg/sec OptimistAtomicQueueB2, 4,s: 33,324,433 msg/sec OptimistAtomicQueueB2, 4,i: 32,066,458 msg/sec OptimistAtomicQueueB2, 5,s: 34,518,699 msg/sec OptimistAtomicQueueB2, 5,i: 39,461,326 msg/sec OptimistAtomicQueueB2, 6,s: 37,420,873 msg/sec OptimistAtomicQueueB2, 6,i: 42,438,895 msg/sec OptimistAtomicQueueB2, 7,s: 40,878,604 msg/sec OptimistAtomicQueueB2, 7,i: 43,101,630 msg/sec OptimistAtomicQueueB2, 8,s: 42,208,216 msg/sec OptimistAtomicQueueB2, 8,i: 45,699,508 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000330 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000153 sec/round-trip moodycamel::ConcurrentQueue: 0.000000249 sec/round-trip pthread_spinlock: 0.000000279 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000284 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000196 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [253] 147m:27s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,995,295 msg/sec boost::lockfree::spsc_queue, 1,i: 68,518,335 msg/sec boost::lockfree::queue, 1,s: 6,887,921 msg/sec boost::lockfree::queue, 1,i: 6,891,205 msg/sec boost::lockfree::queue, 2,s: 7,637,106 msg/sec boost::lockfree::queue, 2,i: 7,429,507 msg/sec boost::lockfree::queue, 3,s: 7,324,772 msg/sec boost::lockfree::queue, 3,i: 7,608,557 msg/sec boost::lockfree::queue, 4,s: 6,424,799 msg/sec boost::lockfree::queue, 4,i: 6,784,823 msg/sec boost::lockfree::queue, 5,s: 6,421,841 msg/sec boost::lockfree::queue, 5,i: 6,457,808 msg/sec boost::lockfree::queue, 6,s: 5,985,697 msg/sec boost::lockfree::queue, 6,i: 6,072,972 msg/sec boost::lockfree::queue, 7,s: 6,011,592 msg/sec boost::lockfree::queue, 7,i: 6,027,311 msg/sec boost::lockfree::queue, 8,s: 5,496,396 msg/sec boost::lockfree::queue, 8,i: 5,653,259 msg/sec moodycamel::ReaderWriterQueue, 1,s: 508,642,600 msg/sec moodycamel::ReaderWriterQueue, 1,i: 465,648,959 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,787,644 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,607,031 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,091,340 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,690,823 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,373,353 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,567,889 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,423,119 msg/sec moodycamel::ConcurrentQueue, 4,i: 44,348,985 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,441,222 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,373,480 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,546,353 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,194,898 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,244,732 msg/sec moodycamel::ConcurrentQueue, 7,i: 34,195,044 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,305,001 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,226,545 msg/sec pthread_spinlock, 1,s: 29,224,109 msg/sec pthread_spinlock, 1,i: 25,312,515 msg/sec pthread_spinlock, 2,s: 15,576,739 msg/sec pthread_spinlock, 2,i: 16,979,293 msg/sec pthread_spinlock, 3,s: 8,416,438 msg/sec pthread_spinlock, 3,i: 11,995,219 msg/sec pthread_spinlock, 4,s: 6,512,448 msg/sec pthread_spinlock, 4,i: 8,745,912 msg/sec pthread_spinlock, 5,s: 8,611,637 msg/sec pthread_spinlock, 5,i: 9,157,973 msg/sec pthread_spinlock, 6,s: 8,554,258 msg/sec pthread_spinlock, 6,i: 8,891,934 msg/sec pthread_spinlock, 7,s: 7,640,295 msg/sec pthread_spinlock, 7,i: 7,964,865 msg/sec pthread_spinlock, 8,s: 6,804,482 msg/sec pthread_spinlock, 8,i: 7,009,723 msg/sec std::mutex, 1,s: 6,074,309 msg/sec std::mutex, 1,i: 7,411,890 msg/sec std::mutex, 2,s: 5,865,562 msg/sec std::mutex, 2,i: 5,992,066 msg/sec std::mutex, 3,s: 6,068,001 msg/sec std::mutex, 3,i: 6,200,607 msg/sec std::mutex, 4,s: 6,139,831 msg/sec std::mutex, 4,i: 6,176,790 msg/sec std::mutex, 5,s: 6,039,307 msg/sec std::mutex, 5,i: 6,140,473 msg/sec std::mutex, 6,s: 5,672,044 msg/sec std::mutex, 6,i: 5,952,345 msg/sec std::mutex, 7,s: 5,798,854 msg/sec std::mutex, 7,i: 5,819,946 msg/sec std::mutex, 8,s: 5,727,354 msg/sec std::mutex, 8,i: 5,687,442 msg/sec tbb::spin_mutex, 1,s: 37,916,775 msg/sec tbb::spin_mutex, 1,i: 33,082,151 msg/sec tbb::spin_mutex, 2,s: 21,181,259 msg/sec tbb::spin_mutex, 2,i: 18,348,107 msg/sec tbb::spin_mutex, 3,s: 8,676,432 msg/sec tbb::spin_mutex, 3,i: 11,181,447 msg/sec tbb::spin_mutex, 4,s: 3,189,643 msg/sec tbb::spin_mutex, 4,i: 6,418,353 msg/sec tbb::spin_mutex, 5,s: 5,424,720 msg/sec tbb::spin_mutex, 5,i: 5,374,329 msg/sec tbb::spin_mutex, 6,s: 5,344,478 msg/sec tbb::spin_mutex, 6,i: 4,325,486 msg/sec tbb::spin_mutex, 7,s: 4,408,371 msg/sec tbb::spin_mutex, 7,i: 4,322,471 msg/sec tbb::spin_mutex, 8,s: 4,250,513 msg/sec tbb::spin_mutex, 8,i: 4,168,693 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,902,561 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,265,409 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,390,417 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,225,412 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,599,181 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,437,768 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,584,506 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,589,943 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,892,381 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,680,624 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,968,565 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,680,368 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,874,936 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,807,536 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,762,116 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,494,009 msg/sec xenium::michael_scott_queue, 1,s: 9,285,286 msg/sec xenium::michael_scott_queue, 1,i: 9,288,503 msg/sec xenium::michael_scott_queue, 2,s: 8,588,220 msg/sec xenium::michael_scott_queue, 2,i: 8,533,003 msg/sec xenium::michael_scott_queue, 3,s: 7,249,809 msg/sec xenium::michael_scott_queue, 3,i: 7,551,917 msg/sec xenium::michael_scott_queue, 4,s: 6,269,666 msg/sec xenium::michael_scott_queue, 4,i: 6,401,645 msg/sec xenium::michael_scott_queue, 5,s: 6,294,521 msg/sec xenium::michael_scott_queue, 5,i: 6,590,252 msg/sec xenium::michael_scott_queue, 6,s: 6,484,414 msg/sec xenium::michael_scott_queue, 6,i: 6,962,908 msg/sec xenium::michael_scott_queue, 7,s: 6,322,627 msg/sec xenium::michael_scott_queue, 7,i: 6,425,727 msg/sec xenium::michael_scott_queue, 8,s: 6,000,370 msg/sec xenium::michael_scott_queue, 8,i: 6,134,738 msg/sec xenium::ramalhete_queue, 1,s: 31,593,670 msg/sec xenium::ramalhete_queue, 1,i: 31,790,838 msg/sec xenium::ramalhete_queue, 2,s: 24,197,686 msg/sec xenium::ramalhete_queue, 2,i: 23,356,025 msg/sec xenium::ramalhete_queue, 3,s: 29,165,848 msg/sec xenium::ramalhete_queue, 3,i: 28,439,347 msg/sec xenium::ramalhete_queue, 4,s: 33,738,884 msg/sec xenium::ramalhete_queue, 4,i: 33,469,051 msg/sec xenium::ramalhete_queue, 5,s: 32,094,238 msg/sec xenium::ramalhete_queue, 5,i: 36,257,538 msg/sec xenium::ramalhete_queue, 6,s: 34,057,854 msg/sec xenium::ramalhete_queue, 6,i: 39,616,718 msg/sec xenium::ramalhete_queue, 7,s: 35,074,237 msg/sec xenium::ramalhete_queue, 7,i: 41,506,101 msg/sec xenium::ramalhete_queue, 8,s: 35,496,897 msg/sec xenium::ramalhete_queue, 8,i: 44,004,196 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,967,400 msg/sec xenium::vyukov_bounded_queue, 1,i: 114,765,848 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,450,795 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,090,126 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,690,898 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,639,307 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,637,450 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,108,161 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,603,655 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,339,938 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,854,329 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,357,691 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,125,588 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,943,831 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,405,109 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,218,614 msg/sec AtomicQueue, 1,s: 58,543,872 msg/sec AtomicQueue, 1,i: 56,620,403 msg/sec AtomicQueue, 2,s: 12,255,020 msg/sec AtomicQueue, 2,i: 11,738,600 msg/sec AtomicQueue, 3,s: 10,794,800 msg/sec AtomicQueue, 3,i: 9,951,807 msg/sec AtomicQueue, 4,s: 8,201,506 msg/sec AtomicQueue, 4,i: 8,203,975 msg/sec AtomicQueue, 5,s: 8,055,117 msg/sec AtomicQueue, 5,i: 7,995,330 msg/sec AtomicQueue, 6,s: 7,779,309 msg/sec AtomicQueue, 6,i: 7,614,966 msg/sec AtomicQueue, 7,s: 7,152,787 msg/sec AtomicQueue, 7,i: 7,991,009 msg/sec AtomicQueue, 8,s: 6,351,464 msg/sec AtomicQueue, 8,i: 7,466,958 msg/sec AtomicQueueB, 1,s: 43,789,035 msg/sec AtomicQueueB, 1,i: 42,997,224 msg/sec AtomicQueueB, 2,s: 11,862,535 msg/sec AtomicQueueB, 2,i: 11,429,700 msg/sec AtomicQueueB, 3,s: 10,975,054 msg/sec AtomicQueueB, 3,i: 10,019,486 msg/sec AtomicQueueB, 4,s: 8,112,660 msg/sec AtomicQueueB, 4,i: 7,991,037 msg/sec AtomicQueueB, 5,s: 7,675,405 msg/sec AtomicQueueB, 5,i: 7,806,694 msg/sec AtomicQueueB, 6,s: 7,299,984 msg/sec AtomicQueueB, 6,i: 7,539,214 msg/sec AtomicQueueB, 7,s: 6,808,304 msg/sec AtomicQueueB, 7,i: 7,733,402 msg/sec AtomicQueueB, 8,s: 6,294,037 msg/sec AtomicQueueB, 8,i: 7,039,799 msg/sec OptimistAtomicQueue, 1,s: 804,088,306 msg/sec OptimistAtomicQueue, 1,i: 637,435,063 msg/sec OptimistAtomicQueue, 2,s: 32,646,435 msg/sec OptimistAtomicQueue, 2,i: 32,556,730 msg/sec OptimistAtomicQueue, 3,s: 36,637,237 msg/sec OptimistAtomicQueue, 3,i: 37,344,730 msg/sec OptimistAtomicQueue, 4,s: 39,276,803 msg/sec OptimistAtomicQueue, 4,i: 39,369,948 msg/sec OptimistAtomicQueue, 5,s: 41,641,223 msg/sec OptimistAtomicQueue, 5,i: 47,077,595 msg/sec OptimistAtomicQueue, 6,s: 42,245,731 msg/sec OptimistAtomicQueue, 6,i: 49,768,204 msg/sec OptimistAtomicQueue, 7,s: 44,208,649 msg/sec OptimistAtomicQueue, 7,i: 52,925,867 msg/sec OptimistAtomicQueue, 8,s: 46,423,344 msg/sec OptimistAtomicQueue, 8,i: 49,395,508 msg/sec OptimistAtomicQueueB, 1,s: 116,962,952 msg/sec OptimistAtomicQueueB, 1,i: 102,308,036 msg/sec OptimistAtomicQueueB, 2,s: 32,175,283 msg/sec OptimistAtomicQueueB, 2,i: 32,366,842 msg/sec OptimistAtomicQueueB, 3,s: 36,215,881 msg/sec OptimistAtomicQueueB, 3,i: 36,913,557 msg/sec OptimistAtomicQueueB, 4,s: 38,686,000 msg/sec OptimistAtomicQueueB, 4,i: 38,713,521 msg/sec OptimistAtomicQueueB, 5,s: 40,902,933 msg/sec OptimistAtomicQueueB, 5,i: 45,421,398 msg/sec OptimistAtomicQueueB, 6,s: 40,422,267 msg/sec OptimistAtomicQueueB, 6,i: 49,094,789 msg/sec OptimistAtomicQueueB, 7,s: 42,016,735 msg/sec OptimistAtomicQueueB, 7,i: 47,913,829 msg/sec OptimistAtomicQueueB, 8,s: 44,270,307 msg/sec OptimistAtomicQueueB, 8,i: 47,765,340 msg/sec AtomicQueue2, 1,s: 23,474,720 msg/sec AtomicQueue2, 1,i: 23,186,904 msg/sec AtomicQueue2, 2,s: 11,923,949 msg/sec AtomicQueue2, 2,i: 11,691,900 msg/sec AtomicQueue2, 3,s: 9,741,395 msg/sec AtomicQueue2, 3,i: 9,440,963 msg/sec AtomicQueue2, 4,s: 8,056,230 msg/sec AtomicQueue2, 4,i: 8,101,788 msg/sec AtomicQueue2, 5,s: 7,907,948 msg/sec AtomicQueue2, 5,i: 8,014,867 msg/sec AtomicQueue2, 6,s: 7,870,421 msg/sec AtomicQueue2, 6,i: 7,526,455 msg/sec AtomicQueue2, 7,s: 7,082,325 msg/sec AtomicQueue2, 7,i: 7,897,670 msg/sec AtomicQueue2, 8,s: 6,400,643 msg/sec AtomicQueue2, 8,i: 7,405,811 msg/sec AtomicQueueB2, 1,s: 36,016,470 msg/sec AtomicQueueB2, 1,i: 32,601,016 msg/sec AtomicQueueB2, 2,s: 11,333,324 msg/sec AtomicQueueB2, 2,i: 11,166,442 msg/sec AtomicQueueB2, 3,s: 9,641,862 msg/sec AtomicQueueB2, 3,i: 9,570,588 msg/sec AtomicQueueB2, 4,s: 7,788,545 msg/sec AtomicQueueB2, 4,i: 7,706,690 msg/sec AtomicQueueB2, 5,s: 7,410,424 msg/sec AtomicQueueB2, 5,i: 7,753,628 msg/sec AtomicQueueB2, 6,s: 7,192,900 msg/sec AtomicQueueB2, 6,i: 7,432,586 msg/sec AtomicQueueB2, 7,s: 6,891,889 msg/sec AtomicQueueB2, 7,i: 7,696,262 msg/sec AtomicQueueB2, 8,s: 6,265,540 msg/sec AtomicQueueB2, 8,i: 7,085,783 msg/sec OptimistAtomicQueue2, 1,s: 424,924,634 msg/sec OptimistAtomicQueue2, 1,i: 29,511,802 msg/sec OptimistAtomicQueue2, 2,s: 26,361,817 msg/sec OptimistAtomicQueue2, 2,i: 24,013,797 msg/sec OptimistAtomicQueue2, 3,s: 33,216,315 msg/sec OptimistAtomicQueue2, 3,i: 30,301,988 msg/sec OptimistAtomicQueue2, 4,s: 33,135,755 msg/sec OptimistAtomicQueue2, 4,i: 33,116,213 msg/sec OptimistAtomicQueue2, 5,s: 36,974,164 msg/sec OptimistAtomicQueue2, 5,i: 40,579,287 msg/sec OptimistAtomicQueue2, 6,s: 40,327,327 msg/sec OptimistAtomicQueue2, 6,i: 49,173,376 msg/sec OptimistAtomicQueue2, 7,s: 42,788,028 msg/sec OptimistAtomicQueue2, 7,i: 51,606,501 msg/sec OptimistAtomicQueue2, 8,s: 43,912,314 msg/sec OptimistAtomicQueue2, 8,i: 48,953,221 msg/sec OptimistAtomicQueueB2, 1,s: 76,456,211 msg/sec OptimistAtomicQueueB2, 1,i: 68,069,113 msg/sec OptimistAtomicQueueB2, 2,s: 28,887,910 msg/sec OptimistAtomicQueueB2, 2,i: 25,033,712 msg/sec OptimistAtomicQueueB2, 3,s: 29,686,644 msg/sec OptimistAtomicQueueB2, 3,i: 29,100,947 msg/sec OptimistAtomicQueueB2, 4,s: 33,250,363 msg/sec OptimistAtomicQueueB2, 4,i: 31,914,869 msg/sec OptimistAtomicQueueB2, 5,s: 34,662,918 msg/sec OptimistAtomicQueueB2, 5,i: 39,244,946 msg/sec OptimistAtomicQueueB2, 6,s: 37,619,427 msg/sec OptimistAtomicQueueB2, 6,i: 42,475,899 msg/sec OptimistAtomicQueueB2, 7,s: 40,650,675 msg/sec OptimistAtomicQueueB2, 7,i: 45,550,580 msg/sec OptimistAtomicQueueB2, 8,s: 42,335,751 msg/sec OptimistAtomicQueueB2, 8,i: 45,515,458 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000146 sec/round-trip moodycamel::ConcurrentQueue: 0.000000236 sec/round-trip pthread_spinlock: 0.000000298 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000282 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [254] 146m:8s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,215,418 msg/sec boost::lockfree::spsc_queue, 1,i: 67,960,201 msg/sec boost::lockfree::queue, 1,s: 6,869,645 msg/sec boost::lockfree::queue, 1,i: 6,902,220 msg/sec boost::lockfree::queue, 2,s: 7,516,279 msg/sec boost::lockfree::queue, 2,i: 7,560,412 msg/sec boost::lockfree::queue, 3,s: 7,355,654 msg/sec boost::lockfree::queue, 3,i: 7,560,343 msg/sec boost::lockfree::queue, 4,s: 6,434,696 msg/sec boost::lockfree::queue, 4,i: 6,851,077 msg/sec boost::lockfree::queue, 5,s: 6,441,950 msg/sec boost::lockfree::queue, 5,i: 6,459,812 msg/sec boost::lockfree::queue, 6,s: 5,996,025 msg/sec boost::lockfree::queue, 6,i: 6,152,755 msg/sec boost::lockfree::queue, 7,s: 6,030,142 msg/sec boost::lockfree::queue, 7,i: 5,990,643 msg/sec boost::lockfree::queue, 8,s: 5,474,937 msg/sec boost::lockfree::queue, 8,i: 5,581,078 msg/sec moodycamel::ReaderWriterQueue, 1,s: 69,500,109 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,184,330 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,080,724 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,705,696 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,503,083 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,723,376 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,407,962 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,749,421 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,686,549 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,996,713 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,279,393 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,800,882 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,588,611 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,850,963 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,403,640 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,796,675 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,289,095 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,447,315 msg/sec pthread_spinlock, 1,s: 28,681,850 msg/sec pthread_spinlock, 1,i: 25,363,639 msg/sec pthread_spinlock, 2,s: 15,465,415 msg/sec pthread_spinlock, 2,i: 16,903,595 msg/sec pthread_spinlock, 3,s: 8,332,058 msg/sec pthread_spinlock, 3,i: 12,008,247 msg/sec pthread_spinlock, 4,s: 6,510,304 msg/sec pthread_spinlock, 4,i: 9,197,774 msg/sec pthread_spinlock, 5,s: 8,561,274 msg/sec pthread_spinlock, 5,i: 9,150,892 msg/sec pthread_spinlock, 6,s: 8,279,254 msg/sec pthread_spinlock, 6,i: 8,434,079 msg/sec pthread_spinlock, 7,s: 7,569,715 msg/sec pthread_spinlock, 7,i: 7,687,828 msg/sec pthread_spinlock, 8,s: 6,917,174 msg/sec pthread_spinlock, 8,i: 7,261,769 msg/sec std::mutex, 1,s: 7,020,814 msg/sec std::mutex, 1,i: 7,005,935 msg/sec std::mutex, 2,s: 5,218,030 msg/sec std::mutex, 2,i: 5,923,784 msg/sec std::mutex, 3,s: 5,914,928 msg/sec std::mutex, 3,i: 5,926,483 msg/sec std::mutex, 4,s: 5,967,520 msg/sec std::mutex, 4,i: 6,151,126 msg/sec std::mutex, 5,s: 5,941,077 msg/sec std::mutex, 5,i: 5,658,543 msg/sec std::mutex, 6,s: 5,734,199 msg/sec std::mutex, 6,i: 5,892,945 msg/sec std::mutex, 7,s: 5,773,147 msg/sec std::mutex, 7,i: 5,807,349 msg/sec std::mutex, 8,s: 5,622,134 msg/sec std::mutex, 8,i: 5,660,561 msg/sec tbb::spin_mutex, 1,s: 37,700,643 msg/sec tbb::spin_mutex, 1,i: 37,826,400 msg/sec tbb::spin_mutex, 2,s: 21,091,069 msg/sec tbb::spin_mutex, 2,i: 18,253,483 msg/sec tbb::spin_mutex, 3,s: 7,409,391 msg/sec tbb::spin_mutex, 3,i: 11,179,016 msg/sec tbb::spin_mutex, 4,s: 3,136,861 msg/sec tbb::spin_mutex, 4,i: 6,322,257 msg/sec tbb::spin_mutex, 5,s: 5,447,673 msg/sec tbb::spin_mutex, 5,i: 5,854,671 msg/sec tbb::spin_mutex, 6,s: 5,279,630 msg/sec tbb::spin_mutex, 6,i: 4,338,436 msg/sec tbb::spin_mutex, 7,s: 4,604,879 msg/sec tbb::spin_mutex, 7,i: 4,301,852 msg/sec tbb::spin_mutex, 8,s: 4,253,235 msg/sec tbb::spin_mutex, 8,i: 4,083,486 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,404,932 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,407,759 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,199,669 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,917,084 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,433,453 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,696,803 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,007,481 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,297,032 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,564,774 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,624,835 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,779,048 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,726,647 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,920,625 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,148,769 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,929,789 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,484,200 msg/sec xenium::michael_scott_queue, 1,s: 9,063,708 msg/sec xenium::michael_scott_queue, 1,i: 9,027,925 msg/sec xenium::michael_scott_queue, 2,s: 8,591,298 msg/sec xenium::michael_scott_queue, 2,i: 8,434,812 msg/sec xenium::michael_scott_queue, 3,s: 7,224,467 msg/sec xenium::michael_scott_queue, 3,i: 7,570,945 msg/sec xenium::michael_scott_queue, 4,s: 6,391,414 msg/sec xenium::michael_scott_queue, 4,i: 6,394,088 msg/sec xenium::michael_scott_queue, 5,s: 6,340,639 msg/sec xenium::michael_scott_queue, 5,i: 6,615,327 msg/sec xenium::michael_scott_queue, 6,s: 6,483,811 msg/sec xenium::michael_scott_queue, 6,i: 6,821,195 msg/sec xenium::michael_scott_queue, 7,s: 6,329,665 msg/sec xenium::michael_scott_queue, 7,i: 6,481,430 msg/sec xenium::michael_scott_queue, 8,s: 5,994,882 msg/sec xenium::michael_scott_queue, 8,i: 6,086,629 msg/sec xenium::ramalhete_queue, 1,s: 31,662,649 msg/sec xenium::ramalhete_queue, 1,i: 31,638,327 msg/sec xenium::ramalhete_queue, 2,s: 23,629,902 msg/sec xenium::ramalhete_queue, 2,i: 23,410,096 msg/sec xenium::ramalhete_queue, 3,s: 29,159,803 msg/sec xenium::ramalhete_queue, 3,i: 28,435,894 msg/sec xenium::ramalhete_queue, 4,s: 33,893,128 msg/sec xenium::ramalhete_queue, 4,i: 33,440,525 msg/sec xenium::ramalhete_queue, 5,s: 31,976,950 msg/sec xenium::ramalhete_queue, 5,i: 36,110,381 msg/sec xenium::ramalhete_queue, 6,s: 34,079,657 msg/sec xenium::ramalhete_queue, 6,i: 40,462,460 msg/sec xenium::ramalhete_queue, 7,s: 34,768,379 msg/sec xenium::ramalhete_queue, 7,i: 40,665,567 msg/sec xenium::ramalhete_queue, 8,s: 35,325,526 msg/sec xenium::ramalhete_queue, 8,i: 44,407,313 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,955,113 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,303,389 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,020,913 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,996,306 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,592,408 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,443,931 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,564,738 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,330,685 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,779,056 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,270,252 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,044,174 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,436,959 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,252,918 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,055,949 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,403,889 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,337,023 msg/sec AtomicQueue, 1,s: 179,234,990 msg/sec AtomicQueue, 1,i: 56,846,141 msg/sec AtomicQueue, 2,s: 12,329,142 msg/sec AtomicQueue, 2,i: 11,759,650 msg/sec AtomicQueue, 3,s: 10,756,800 msg/sec AtomicQueue, 3,i: 9,853,282 msg/sec AtomicQueue, 4,s: 8,180,614 msg/sec AtomicQueue, 4,i: 8,201,840 msg/sec AtomicQueue, 5,s: 8,014,336 msg/sec AtomicQueue, 5,i: 8,116,031 msg/sec AtomicQueue, 6,s: 7,782,050 msg/sec AtomicQueue, 6,i: 7,634,722 msg/sec AtomicQueue, 7,s: 7,094,164 msg/sec AtomicQueue, 7,i: 7,953,639 msg/sec AtomicQueue, 8,s: 6,330,368 msg/sec AtomicQueue, 8,i: 7,448,826 msg/sec AtomicQueueB, 1,s: 44,109,557 msg/sec AtomicQueueB, 1,i: 47,815,915 msg/sec AtomicQueueB, 2,s: 11,808,497 msg/sec AtomicQueueB, 2,i: 11,449,222 msg/sec AtomicQueueB, 3,s: 11,000,520 msg/sec AtomicQueueB, 3,i: 10,357,198 msg/sec AtomicQueueB, 4,s: 8,099,472 msg/sec AtomicQueueB, 4,i: 8,038,027 msg/sec AtomicQueueB, 5,s: 7,532,445 msg/sec AtomicQueueB, 5,i: 7,754,197 msg/sec AtomicQueueB, 6,s: 7,403,338 msg/sec AtomicQueueB, 6,i: 7,509,389 msg/sec AtomicQueueB, 7,s: 6,895,021 msg/sec AtomicQueueB, 7,i: 7,747,298 msg/sec AtomicQueueB, 8,s: 6,226,398 msg/sec AtomicQueueB, 8,i: 7,167,929 msg/sec OptimistAtomicQueue, 1,s: 770,410,534 msg/sec OptimistAtomicQueue, 1,i: 514,452,911 msg/sec OptimistAtomicQueue, 2,s: 32,657,862 msg/sec OptimistAtomicQueue, 2,i: 32,710,546 msg/sec OptimistAtomicQueue, 3,s: 36,666,362 msg/sec OptimistAtomicQueue, 3,i: 37,389,375 msg/sec OptimistAtomicQueue, 4,s: 39,262,976 msg/sec OptimistAtomicQueue, 4,i: 39,379,533 msg/sec OptimistAtomicQueue, 5,s: 41,754,342 msg/sec OptimistAtomicQueue, 5,i: 47,456,945 msg/sec OptimistAtomicQueue, 6,s: 41,838,268 msg/sec OptimistAtomicQueue, 6,i: 49,802,633 msg/sec OptimistAtomicQueue, 7,s: 44,365,730 msg/sec OptimistAtomicQueue, 7,i: 49,144,746 msg/sec OptimistAtomicQueue, 8,s: 46,377,904 msg/sec OptimistAtomicQueue, 8,i: 48,807,052 msg/sec OptimistAtomicQueueB, 1,s: 77,907,268 msg/sec OptimistAtomicQueueB, 1,i: 76,340,570 msg/sec OptimistAtomicQueueB, 2,s: 32,314,426 msg/sec OptimistAtomicQueueB, 2,i: 32,223,446 msg/sec OptimistAtomicQueueB, 3,s: 36,208,426 msg/sec OptimistAtomicQueueB, 3,i: 36,760,498 msg/sec OptimistAtomicQueueB, 4,s: 38,602,206 msg/sec OptimistAtomicQueueB, 4,i: 38,651,948 msg/sec OptimistAtomicQueueB, 5,s: 40,298,874 msg/sec OptimistAtomicQueueB, 5,i: 45,268,917 msg/sec OptimistAtomicQueueB, 6,s: 40,427,597 msg/sec OptimistAtomicQueueB, 6,i: 49,187,892 msg/sec OptimistAtomicQueueB, 7,s: 41,736,053 msg/sec OptimistAtomicQueueB, 7,i: 50,794,341 msg/sec OptimistAtomicQueueB, 8,s: 44,468,404 msg/sec OptimistAtomicQueueB, 8,i: 48,409,802 msg/sec AtomicQueue2, 1,s: 23,070,112 msg/sec AtomicQueue2, 1,i: 23,100,588 msg/sec AtomicQueue2, 2,s: 11,877,688 msg/sec AtomicQueue2, 2,i: 11,392,761 msg/sec AtomicQueue2, 3,s: 9,372,689 msg/sec AtomicQueue2, 3,i: 9,317,133 msg/sec AtomicQueue2, 4,s: 8,070,986 msg/sec AtomicQueue2, 4,i: 8,039,505 msg/sec AtomicQueue2, 5,s: 7,935,353 msg/sec AtomicQueue2, 5,i: 8,032,540 msg/sec AtomicQueue2, 6,s: 7,596,643 msg/sec AtomicQueue2, 6,i: 7,550,756 msg/sec AtomicQueue2, 7,s: 7,158,037 msg/sec AtomicQueue2, 7,i: 7,884,540 msg/sec AtomicQueue2, 8,s: 6,378,798 msg/sec AtomicQueue2, 8,i: 7,366,390 msg/sec AtomicQueueB2, 1,s: 36,021,151 msg/sec AtomicQueueB2, 1,i: 32,566,829 msg/sec AtomicQueueB2, 2,s: 11,407,024 msg/sec AtomicQueueB2, 2,i: 11,071,201 msg/sec AtomicQueueB2, 3,s: 9,814,982 msg/sec AtomicQueueB2, 3,i: 9,449,177 msg/sec AtomicQueueB2, 4,s: 7,876,759 msg/sec AtomicQueueB2, 4,i: 7,756,089 msg/sec AtomicQueueB2, 5,s: 7,410,091 msg/sec AtomicQueueB2, 5,i: 7,769,748 msg/sec AtomicQueueB2, 6,s: 7,297,490 msg/sec AtomicQueueB2, 6,i: 7,457,003 msg/sec AtomicQueueB2, 7,s: 6,882,462 msg/sec AtomicQueueB2, 7,i: 7,736,650 msg/sec AtomicQueueB2, 8,s: 6,250,821 msg/sec AtomicQueueB2, 8,i: 7,095,728 msg/sec OptimistAtomicQueue2, 1,s: 452,617,048 msg/sec OptimistAtomicQueue2, 1,i: 29,457,555 msg/sec OptimistAtomicQueue2, 2,s: 24,270,354 msg/sec OptimistAtomicQueue2, 2,i: 24,222,476 msg/sec OptimistAtomicQueue2, 3,s: 30,508,072 msg/sec OptimistAtomicQueue2, 3,i: 30,056,301 msg/sec OptimistAtomicQueue2, 4,s: 33,185,331 msg/sec OptimistAtomicQueue2, 4,i: 33,156,053 msg/sec OptimistAtomicQueue2, 5,s: 37,211,413 msg/sec OptimistAtomicQueue2, 5,i: 40,010,630 msg/sec OptimistAtomicQueue2, 6,s: 40,454,261 msg/sec OptimistAtomicQueue2, 6,i: 48,693,986 msg/sec OptimistAtomicQueue2, 7,s: 42,743,393 msg/sec OptimistAtomicQueue2, 7,i: 47,867,249 msg/sec OptimistAtomicQueue2, 8,s: 44,192,039 msg/sec OptimistAtomicQueue2, 8,i: 48,649,757 msg/sec OptimistAtomicQueueB2, 1,s: 75,321,467 msg/sec OptimistAtomicQueueB2, 1,i: 68,003,132 msg/sec OptimistAtomicQueueB2, 2,s: 28,731,617 msg/sec OptimistAtomicQueueB2, 2,i: 23,135,366 msg/sec OptimistAtomicQueueB2, 3,s: 30,808,862 msg/sec OptimistAtomicQueueB2, 3,i: 29,755,914 msg/sec OptimistAtomicQueueB2, 4,s: 33,402,628 msg/sec OptimistAtomicQueueB2, 4,i: 31,828,511 msg/sec OptimistAtomicQueueB2, 5,s: 34,371,952 msg/sec OptimistAtomicQueueB2, 5,i: 39,790,665 msg/sec OptimistAtomicQueueB2, 6,s: 37,017,221 msg/sec OptimistAtomicQueueB2, 6,i: 42,423,942 msg/sec OptimistAtomicQueueB2, 7,s: 40,064,365 msg/sec OptimistAtomicQueueB2, 7,i: 45,447,178 msg/sec OptimistAtomicQueueB2, 8,s: 42,242,407 msg/sec OptimistAtomicQueueB2, 8,i: 46,085,939 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000324 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000299 sec/round-trip std::mutex: 0.000000455 sec/round-trip tbb::spin_mutex: 0.000000260 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [255] 144m:49s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,162,356 msg/sec boost::lockfree::spsc_queue, 1,i: 68,040,326 msg/sec boost::lockfree::queue, 1,s: 6,806,326 msg/sec boost::lockfree::queue, 1,i: 6,858,909 msg/sec boost::lockfree::queue, 2,s: 7,453,499 msg/sec boost::lockfree::queue, 2,i: 7,480,656 msg/sec boost::lockfree::queue, 3,s: 7,381,279 msg/sec boost::lockfree::queue, 3,i: 7,544,694 msg/sec boost::lockfree::queue, 4,s: 6,419,659 msg/sec boost::lockfree::queue, 4,i: 6,790,289 msg/sec boost::lockfree::queue, 5,s: 6,464,020 msg/sec boost::lockfree::queue, 5,i: 6,471,421 msg/sec boost::lockfree::queue, 6,s: 6,022,236 msg/sec boost::lockfree::queue, 6,i: 6,083,984 msg/sec boost::lockfree::queue, 7,s: 5,802,634 msg/sec boost::lockfree::queue, 7,i: 6,046,330 msg/sec boost::lockfree::queue, 8,s: 5,438,038 msg/sec boost::lockfree::queue, 8,i: 5,576,721 msg/sec moodycamel::ReaderWriterQueue, 1,s: 510,095,816 msg/sec moodycamel::ReaderWriterQueue, 1,i: 84,023,562 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,910,101 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,839,267 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,164,657 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,675,858 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,941,732 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,991,714 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,760,002 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,892,622 msg/sec moodycamel::ConcurrentQueue, 5,s: 42,487,007 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,094,574 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,412,265 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,011,412 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,211,247 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,084,945 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,112,285 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,583,515 msg/sec pthread_spinlock, 1,s: 29,278,461 msg/sec pthread_spinlock, 1,i: 25,384,455 msg/sec pthread_spinlock, 2,s: 15,631,151 msg/sec pthread_spinlock, 2,i: 17,262,533 msg/sec pthread_spinlock, 3,s: 8,358,937 msg/sec pthread_spinlock, 3,i: 12,167,874 msg/sec pthread_spinlock, 4,s: 6,484,105 msg/sec pthread_spinlock, 4,i: 9,208,224 msg/sec pthread_spinlock, 5,s: 8,522,257 msg/sec pthread_spinlock, 5,i: 9,344,070 msg/sec pthread_spinlock, 6,s: 8,396,646 msg/sec pthread_spinlock, 6,i: 8,480,090 msg/sec pthread_spinlock, 7,s: 7,555,296 msg/sec pthread_spinlock, 7,i: 7,722,036 msg/sec pthread_spinlock, 8,s: 6,797,889 msg/sec pthread_spinlock, 8,i: 7,475,807 msg/sec std::mutex, 1,s: 6,904,517 msg/sec std::mutex, 1,i: 6,997,990 msg/sec std::mutex, 2,s: 5,955,569 msg/sec std::mutex, 2,i: 6,054,022 msg/sec std::mutex, 3,s: 5,990,214 msg/sec std::mutex, 3,i: 5,625,614 msg/sec std::mutex, 4,s: 6,052,143 msg/sec std::mutex, 4,i: 6,186,592 msg/sec std::mutex, 5,s: 5,954,030 msg/sec std::mutex, 5,i: 6,226,250 msg/sec std::mutex, 6,s: 5,847,664 msg/sec std::mutex, 6,i: 5,846,628 msg/sec std::mutex, 7,s: 5,765,178 msg/sec std::mutex, 7,i: 5,806,983 msg/sec std::mutex, 8,s: 5,666,236 msg/sec std::mutex, 8,i: 5,680,298 msg/sec tbb::spin_mutex, 1,s: 37,808,618 msg/sec tbb::spin_mutex, 1,i: 33,159,158 msg/sec tbb::spin_mutex, 2,s: 21,262,961 msg/sec tbb::spin_mutex, 2,i: 18,247,527 msg/sec tbb::spin_mutex, 3,s: 8,886,645 msg/sec tbb::spin_mutex, 3,i: 10,158,207 msg/sec tbb::spin_mutex, 4,s: 3,275,086 msg/sec tbb::spin_mutex, 4,i: 6,288,982 msg/sec tbb::spin_mutex, 5,s: 5,375,972 msg/sec tbb::spin_mutex, 5,i: 5,559,727 msg/sec tbb::spin_mutex, 6,s: 5,381,043 msg/sec tbb::spin_mutex, 6,i: 4,314,688 msg/sec tbb::spin_mutex, 7,s: 4,820,907 msg/sec tbb::spin_mutex, 7,i: 4,361,746 msg/sec tbb::spin_mutex, 8,s: 4,235,755 msg/sec tbb::spin_mutex, 8,i: 4,087,847 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,703,366 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,739,404 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,675,741 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,332,256 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,205,291 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,122,533 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,423,190 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,357,476 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,784,118 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,939,144 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,072,851 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,895,220 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,982,386 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,931,836 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,950,274 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,087,445 msg/sec xenium::michael_scott_queue, 1,s: 9,294,527 msg/sec xenium::michael_scott_queue, 1,i: 9,077,664 msg/sec xenium::michael_scott_queue, 2,s: 8,469,770 msg/sec xenium::michael_scott_queue, 2,i: 8,445,003 msg/sec xenium::michael_scott_queue, 3,s: 7,327,493 msg/sec xenium::michael_scott_queue, 3,i: 7,563,619 msg/sec xenium::michael_scott_queue, 4,s: 6,280,735 msg/sec xenium::michael_scott_queue, 4,i: 6,357,218 msg/sec xenium::michael_scott_queue, 5,s: 6,309,827 msg/sec xenium::michael_scott_queue, 5,i: 6,646,232 msg/sec xenium::michael_scott_queue, 6,s: 6,525,056 msg/sec xenium::michael_scott_queue, 6,i: 6,614,920 msg/sec xenium::michael_scott_queue, 7,s: 6,311,434 msg/sec xenium::michael_scott_queue, 7,i: 6,449,424 msg/sec xenium::michael_scott_queue, 8,s: 6,026,760 msg/sec xenium::michael_scott_queue, 8,i: 6,141,727 msg/sec xenium::ramalhete_queue, 1,s: 31,746,128 msg/sec xenium::ramalhete_queue, 1,i: 32,111,246 msg/sec xenium::ramalhete_queue, 2,s: 24,292,202 msg/sec xenium::ramalhete_queue, 2,i: 23,359,091 msg/sec xenium::ramalhete_queue, 3,s: 29,394,812 msg/sec xenium::ramalhete_queue, 3,i: 28,439,319 msg/sec xenium::ramalhete_queue, 4,s: 33,837,506 msg/sec xenium::ramalhete_queue, 4,i: 33,561,242 msg/sec xenium::ramalhete_queue, 5,s: 32,171,024 msg/sec xenium::ramalhete_queue, 5,i: 36,040,951 msg/sec xenium::ramalhete_queue, 6,s: 34,000,612 msg/sec xenium::ramalhete_queue, 6,i: 38,655,797 msg/sec xenium::ramalhete_queue, 7,s: 35,273,494 msg/sec xenium::ramalhete_queue, 7,i: 41,748,764 msg/sec xenium::ramalhete_queue, 8,s: 35,499,325 msg/sec xenium::ramalhete_queue, 8,i: 43,794,326 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,387,117 msg/sec xenium::vyukov_bounded_queue, 1,i: 98,931,930 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,422,644 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,045,522 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,703,169 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,019,274 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,703,048 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,079,149 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,851,198 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,337,453 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,058,248 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,174,931 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,162,503 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,082,138 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,983 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,295,686 msg/sec AtomicQueue, 1,s: 57,634,248 msg/sec AtomicQueue, 1,i: 56,695,594 msg/sec AtomicQueue, 2,s: 12,224,294 msg/sec AtomicQueue, 2,i: 11,746,868 msg/sec AtomicQueue, 3,s: 10,824,329 msg/sec AtomicQueue, 3,i: 9,914,035 msg/sec AtomicQueue, 4,s: 8,203,904 msg/sec AtomicQueue, 4,i: 8,220,010 msg/sec AtomicQueue, 5,s: 8,024,257 msg/sec AtomicQueue, 5,i: 8,121,936 msg/sec AtomicQueue, 6,s: 7,906,639 msg/sec AtomicQueue, 6,i: 7,629,292 msg/sec AtomicQueue, 7,s: 7,214,838 msg/sec AtomicQueue, 7,i: 7,994,084 msg/sec AtomicQueue, 8,s: 6,335,234 msg/sec AtomicQueue, 8,i: 7,445,697 msg/sec AtomicQueueB, 1,s: 49,356,971 msg/sec AtomicQueueB, 1,i: 42,970,226 msg/sec AtomicQueueB, 2,s: 11,846,979 msg/sec AtomicQueueB, 2,i: 11,378,478 msg/sec AtomicQueueB, 3,s: 10,972,232 msg/sec AtomicQueueB, 3,i: 10,107,606 msg/sec AtomicQueueB, 4,s: 8,129,973 msg/sec AtomicQueueB, 4,i: 8,022,154 msg/sec AtomicQueueB, 5,s: 7,559,328 msg/sec AtomicQueueB, 5,i: 7,800,823 msg/sec AtomicQueueB, 6,s: 7,416,989 msg/sec AtomicQueueB, 6,i: 7,525,074 msg/sec AtomicQueueB, 7,s: 6,884,449 msg/sec AtomicQueueB, 7,i: 7,732,170 msg/sec AtomicQueueB, 8,s: 6,297,752 msg/sec AtomicQueueB, 8,i: 7,103,845 msg/sec OptimistAtomicQueue, 1,s: 695,828,248 msg/sec OptimistAtomicQueue, 1,i: 517,846,746 msg/sec OptimistAtomicQueue, 2,s: 31,996,931 msg/sec OptimistAtomicQueue, 2,i: 32,203,799 msg/sec OptimistAtomicQueue, 3,s: 36,657,841 msg/sec OptimistAtomicQueue, 3,i: 37,374,385 msg/sec OptimistAtomicQueue, 4,s: 39,265,574 msg/sec OptimistAtomicQueue, 4,i: 39,389,147 msg/sec OptimistAtomicQueue, 5,s: 42,361,697 msg/sec OptimistAtomicQueue, 5,i: 47,382,698 msg/sec OptimistAtomicQueue, 6,s: 42,551,238 msg/sec OptimistAtomicQueue, 6,i: 49,830,288 msg/sec OptimistAtomicQueue, 7,s: 45,109,213 msg/sec OptimistAtomicQueue, 7,i: 49,185,111 msg/sec OptimistAtomicQueue, 8,s: 46,428,382 msg/sec OptimistAtomicQueue, 8,i: 49,001,099 msg/sec OptimistAtomicQueueB, 1,s: 142,220,128 msg/sec OptimistAtomicQueueB, 1,i: 76,517,937 msg/sec OptimistAtomicQueueB, 2,s: 32,204,764 msg/sec OptimistAtomicQueueB, 2,i: 32,275,115 msg/sec OptimistAtomicQueueB, 3,s: 36,289,714 msg/sec OptimistAtomicQueueB, 3,i: 36,804,080 msg/sec OptimistAtomicQueueB, 4,s: 38,731,944 msg/sec OptimistAtomicQueueB, 4,i: 38,640,538 msg/sec OptimistAtomicQueueB, 5,s: 40,878,991 msg/sec OptimistAtomicQueueB, 5,i: 45,820,447 msg/sec OptimistAtomicQueueB, 6,s: 40,383,211 msg/sec OptimistAtomicQueueB, 6,i: 48,775,558 msg/sec OptimistAtomicQueueB, 7,s: 42,785,340 msg/sec OptimistAtomicQueueB, 7,i: 51,428,795 msg/sec OptimistAtomicQueueB, 8,s: 44,357,436 msg/sec OptimistAtomicQueueB, 8,i: 48,366,031 msg/sec AtomicQueue2, 1,s: 23,590,090 msg/sec AtomicQueue2, 1,i: 23,446,233 msg/sec AtomicQueue2, 2,s: 11,892,538 msg/sec AtomicQueue2, 2,i: 11,449,652 msg/sec AtomicQueue2, 3,s: 9,336,808 msg/sec AtomicQueue2, 3,i: 9,398,303 msg/sec AtomicQueue2, 4,s: 8,069,992 msg/sec AtomicQueue2, 4,i: 8,013,369 msg/sec AtomicQueue2, 5,s: 7,914,982 msg/sec AtomicQueue2, 5,i: 8,034,413 msg/sec AtomicQueue2, 6,s: 7,647,434 msg/sec AtomicQueue2, 6,i: 7,548,160 msg/sec AtomicQueue2, 7,s: 7,080,719 msg/sec AtomicQueue2, 7,i: 7,887,678 msg/sec AtomicQueue2, 8,s: 6,370,839 msg/sec AtomicQueue2, 8,i: 7,266,606 msg/sec AtomicQueueB2, 1,s: 36,298,260 msg/sec AtomicQueueB2, 1,i: 32,633,956 msg/sec AtomicQueueB2, 2,s: 11,319,912 msg/sec AtomicQueueB2, 2,i: 11,118,147 msg/sec AtomicQueueB2, 3,s: 9,678,430 msg/sec AtomicQueueB2, 3,i: 9,415,148 msg/sec AtomicQueueB2, 4,s: 7,936,975 msg/sec AtomicQueueB2, 4,i: 7,850,895 msg/sec AtomicQueueB2, 5,s: 7,476,680 msg/sec AtomicQueueB2, 5,i: 7,697,959 msg/sec AtomicQueueB2, 6,s: 7,280,919 msg/sec AtomicQueueB2, 6,i: 7,453,096 msg/sec AtomicQueueB2, 7,s: 6,916,519 msg/sec AtomicQueueB2, 7,i: 7,705,925 msg/sec AtomicQueueB2, 8,s: 6,320,334 msg/sec AtomicQueueB2, 8,i: 7,096,119 msg/sec OptimistAtomicQueue2, 1,s: 535,159,798 msg/sec OptimistAtomicQueue2, 1,i: 64,644,446 msg/sec OptimistAtomicQueue2, 2,s: 26,194,670 msg/sec OptimistAtomicQueue2, 2,i: 24,655,269 msg/sec OptimistAtomicQueue2, 3,s: 30,316,036 msg/sec OptimistAtomicQueue2, 3,i: 29,949,697 msg/sec OptimistAtomicQueue2, 4,s: 33,262,790 msg/sec OptimistAtomicQueue2, 4,i: 33,169,034 msg/sec OptimistAtomicQueue2, 5,s: 37,023,687 msg/sec OptimistAtomicQueue2, 5,i: 40,168,419 msg/sec OptimistAtomicQueue2, 6,s: 40,449,924 msg/sec OptimistAtomicQueue2, 6,i: 49,367,257 msg/sec OptimistAtomicQueue2, 7,s: 42,690,228 msg/sec OptimistAtomicQueue2, 7,i: 48,147,651 msg/sec OptimistAtomicQueue2, 8,s: 44,336,790 msg/sec OptimistAtomicQueue2, 8,i: 48,490,347 msg/sec OptimistAtomicQueueB2, 1,s: 77,025,802 msg/sec OptimistAtomicQueueB2, 1,i: 33,858,672 msg/sec OptimistAtomicQueueB2, 2,s: 27,129,738 msg/sec OptimistAtomicQueueB2, 2,i: 26,137,708 msg/sec OptimistAtomicQueueB2, 3,s: 29,711,965 msg/sec OptimistAtomicQueueB2, 3,i: 29,082,081 msg/sec OptimistAtomicQueueB2, 4,s: 33,347,802 msg/sec OptimistAtomicQueueB2, 4,i: 32,393,211 msg/sec OptimistAtomicQueueB2, 5,s: 34,522,571 msg/sec OptimistAtomicQueueB2, 5,i: 39,177,521 msg/sec OptimistAtomicQueueB2, 6,s: 37,356,673 msg/sec OptimistAtomicQueueB2, 6,i: 42,318,264 msg/sec OptimistAtomicQueueB2, 7,s: 40,265,985 msg/sec OptimistAtomicQueueB2, 7,i: 43,297,435 msg/sec OptimistAtomicQueueB2, 8,s: 42,024,709 msg/sec OptimistAtomicQueueB2, 8,i: 45,164,866 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000141 sec/round-trip moodycamel::ConcurrentQueue: 0.000000244 sec/round-trip pthread_spinlock: 0.000000299 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [256] 143m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,549,259 msg/sec boost::lockfree::spsc_queue, 1,i: 67,722,348 msg/sec boost::lockfree::queue, 1,s: 6,987,562 msg/sec boost::lockfree::queue, 1,i: 6,871,378 msg/sec boost::lockfree::queue, 2,s: 7,680,798 msg/sec boost::lockfree::queue, 2,i: 7,576,845 msg/sec boost::lockfree::queue, 3,s: 7,444,417 msg/sec boost::lockfree::queue, 3,i: 7,518,155 msg/sec boost::lockfree::queue, 4,s: 6,426,792 msg/sec boost::lockfree::queue, 4,i: 6,753,009 msg/sec boost::lockfree::queue, 5,s: 6,487,109 msg/sec boost::lockfree::queue, 5,i: 6,443,325 msg/sec boost::lockfree::queue, 6,s: 6,015,751 msg/sec boost::lockfree::queue, 6,i: 6,110,145 msg/sec boost::lockfree::queue, 7,s: 5,979,562 msg/sec boost::lockfree::queue, 7,i: 6,039,937 msg/sec boost::lockfree::queue, 8,s: 5,383,101 msg/sec boost::lockfree::queue, 8,i: 5,617,474 msg/sec moodycamel::ReaderWriterQueue, 1,s: 503,202,253 msg/sec moodycamel::ReaderWriterQueue, 1,i: 471,116,828 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,856,100 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,273,764 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,055,217 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,817,523 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,651,636 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,231,659 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,535,031 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,394,849 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,382,217 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,361,481 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,536,985 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,050,911 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,011,936 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,618,730 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,343,600 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,937,713 msg/sec pthread_spinlock, 1,s: 29,119,426 msg/sec pthread_spinlock, 1,i: 25,319,330 msg/sec pthread_spinlock, 2,s: 15,582,909 msg/sec pthread_spinlock, 2,i: 16,907,535 msg/sec pthread_spinlock, 3,s: 8,370,717 msg/sec pthread_spinlock, 3,i: 12,158,095 msg/sec pthread_spinlock, 4,s: 6,463,845 msg/sec pthread_spinlock, 4,i: 8,804,912 msg/sec pthread_spinlock, 5,s: 8,655,282 msg/sec pthread_spinlock, 5,i: 9,061,584 msg/sec pthread_spinlock, 6,s: 8,475,135 msg/sec pthread_spinlock, 6,i: 8,597,897 msg/sec pthread_spinlock, 7,s: 7,536,529 msg/sec pthread_spinlock, 7,i: 7,520,113 msg/sec pthread_spinlock, 8,s: 6,908,917 msg/sec pthread_spinlock, 8,i: 6,931,868 msg/sec std::mutex, 1,s: 7,349,417 msg/sec std::mutex, 1,i: 7,200,928 msg/sec std::mutex, 2,s: 6,218,125 msg/sec std::mutex, 2,i: 6,158,785 msg/sec std::mutex, 3,s: 5,922,290 msg/sec std::mutex, 3,i: 5,768,726 msg/sec std::mutex, 4,s: 5,223,136 msg/sec std::mutex, 4,i: 6,365,011 msg/sec std::mutex, 5,s: 6,137,240 msg/sec std::mutex, 5,i: 6,051,528 msg/sec std::mutex, 6,s: 5,903,248 msg/sec std::mutex, 6,i: 5,887,886 msg/sec std::mutex, 7,s: 5,790,386 msg/sec std::mutex, 7,i: 5,796,198 msg/sec std::mutex, 8,s: 5,665,484 msg/sec std::mutex, 8,i: 5,697,028 msg/sec tbb::spin_mutex, 1,s: 37,607,512 msg/sec tbb::spin_mutex, 1,i: 33,093,426 msg/sec tbb::spin_mutex, 2,s: 21,017,741 msg/sec tbb::spin_mutex, 2,i: 18,266,365 msg/sec tbb::spin_mutex, 3,s: 8,389,332 msg/sec tbb::spin_mutex, 3,i: 10,117,425 msg/sec tbb::spin_mutex, 4,s: 3,073,616 msg/sec tbb::spin_mutex, 4,i: 6,255,459 msg/sec tbb::spin_mutex, 5,s: 5,515,796 msg/sec tbb::spin_mutex, 5,i: 5,761,514 msg/sec tbb::spin_mutex, 6,s: 5,331,064 msg/sec tbb::spin_mutex, 6,i: 4,371,329 msg/sec tbb::spin_mutex, 7,s: 4,606,884 msg/sec tbb::spin_mutex, 7,i: 4,344,524 msg/sec tbb::spin_mutex, 8,s: 4,232,139 msg/sec tbb::spin_mutex, 8,i: 4,185,654 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,526,224 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,542,706 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,277,372 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,523,860 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,349,107 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,100,000 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,575,308 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,558,351 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,879,302 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,615,966 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,878,191 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,673,021 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,887,011 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,832,823 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,789,578 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,472,279 msg/sec xenium::michael_scott_queue, 1,s: 9,367,781 msg/sec xenium::michael_scott_queue, 1,i: 9,360,614 msg/sec xenium::michael_scott_queue, 2,s: 8,331,639 msg/sec xenium::michael_scott_queue, 2,i: 8,416,528 msg/sec xenium::michael_scott_queue, 3,s: 7,127,156 msg/sec xenium::michael_scott_queue, 3,i: 7,541,729 msg/sec xenium::michael_scott_queue, 4,s: 6,274,319 msg/sec xenium::michael_scott_queue, 4,i: 6,373,641 msg/sec xenium::michael_scott_queue, 5,s: 6,300,647 msg/sec xenium::michael_scott_queue, 5,i: 6,765,046 msg/sec xenium::michael_scott_queue, 6,s: 6,484,519 msg/sec xenium::michael_scott_queue, 6,i: 7,072,938 msg/sec xenium::michael_scott_queue, 7,s: 6,292,473 msg/sec xenium::michael_scott_queue, 7,i: 6,524,129 msg/sec xenium::michael_scott_queue, 8,s: 5,950,470 msg/sec xenium::michael_scott_queue, 8,i: 6,099,219 msg/sec xenium::ramalhete_queue, 1,s: 30,838,103 msg/sec xenium::ramalhete_queue, 1,i: 30,834,603 msg/sec xenium::ramalhete_queue, 2,s: 23,581,713 msg/sec xenium::ramalhete_queue, 2,i: 23,112,120 msg/sec xenium::ramalhete_queue, 3,s: 28,859,821 msg/sec xenium::ramalhete_queue, 3,i: 28,190,927 msg/sec xenium::ramalhete_queue, 4,s: 33,685,384 msg/sec xenium::ramalhete_queue, 4,i: 33,376,762 msg/sec xenium::ramalhete_queue, 5,s: 32,075,990 msg/sec xenium::ramalhete_queue, 5,i: 35,783,684 msg/sec xenium::ramalhete_queue, 6,s: 34,261,115 msg/sec xenium::ramalhete_queue, 6,i: 38,779,705 msg/sec xenium::ramalhete_queue, 7,s: 35,035,654 msg/sec xenium::ramalhete_queue, 7,i: 40,864,834 msg/sec xenium::ramalhete_queue, 8,s: 35,575,209 msg/sec xenium::ramalhete_queue, 8,i: 43,498,337 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,677,657 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,340,737 msg/sec xenium::vyukov_bounded_queue, 2,s: 25,331,049 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,073,223 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,616,890 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,883,259 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,566,475 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,271,528 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,909,237 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,296,352 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,215,558 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,262,049 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,202,541 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,921,347 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,396,280 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,244,930 msg/sec AtomicQueue, 1,s: 63,561,920 msg/sec AtomicQueue, 1,i: 56,670,591 msg/sec AtomicQueue, 2,s: 12,308,831 msg/sec AtomicQueue, 2,i: 11,751,369 msg/sec AtomicQueue, 3,s: 10,705,407 msg/sec AtomicQueue, 3,i: 9,902,387 msg/sec AtomicQueue, 4,s: 8,177,835 msg/sec AtomicQueue, 4,i: 8,182,076 msg/sec AtomicQueue, 5,s: 8,048,458 msg/sec AtomicQueue, 5,i: 8,134,913 msg/sec AtomicQueue, 6,s: 7,733,928 msg/sec AtomicQueue, 6,i: 7,619,185 msg/sec AtomicQueue, 7,s: 7,123,789 msg/sec AtomicQueue, 7,i: 7,978,393 msg/sec AtomicQueue, 8,s: 6,353,803 msg/sec AtomicQueue, 8,i: 7,468,460 msg/sec AtomicQueueB, 1,s: 44,740,549 msg/sec AtomicQueueB, 1,i: 43,013,069 msg/sec AtomicQueueB, 2,s: 11,851,552 msg/sec AtomicQueueB, 2,i: 11,517,832 msg/sec AtomicQueueB, 3,s: 10,957,618 msg/sec AtomicQueueB, 3,i: 10,248,622 msg/sec AtomicQueueB, 4,s: 7,988,787 msg/sec AtomicQueueB, 4,i: 7,970,730 msg/sec AtomicQueueB, 5,s: 7,659,926 msg/sec AtomicQueueB, 5,i: 7,732,909 msg/sec AtomicQueueB, 6,s: 7,285,380 msg/sec AtomicQueueB, 6,i: 7,495,708 msg/sec AtomicQueueB, 7,s: 6,877,779 msg/sec AtomicQueueB, 7,i: 7,759,033 msg/sec AtomicQueueB, 8,s: 6,204,021 msg/sec AtomicQueueB, 8,i: 7,136,471 msg/sec OptimistAtomicQueue, 1,s: 737,223,773 msg/sec OptimistAtomicQueue, 1,i: 564,540,531 msg/sec OptimistAtomicQueue, 2,s: 32,183,671 msg/sec OptimistAtomicQueue, 2,i: 32,730,388 msg/sec OptimistAtomicQueue, 3,s: 36,654,033 msg/sec OptimistAtomicQueue, 3,i: 37,346,649 msg/sec OptimistAtomicQueue, 4,s: 39,284,820 msg/sec OptimistAtomicQueue, 4,i: 39,379,244 msg/sec OptimistAtomicQueue, 5,s: 42,569,306 msg/sec OptimistAtomicQueue, 5,i: 46,286,459 msg/sec OptimistAtomicQueue, 6,s: 42,085,118 msg/sec OptimistAtomicQueue, 6,i: 50,271,489 msg/sec OptimistAtomicQueue, 7,s: 44,314,861 msg/sec OptimistAtomicQueue, 7,i: 53,128,349 msg/sec OptimistAtomicQueue, 8,s: 46,331,528 msg/sec OptimistAtomicQueue, 8,i: 48,907,212 msg/sec OptimistAtomicQueueB, 1,s: 78,007,160 msg/sec OptimistAtomicQueueB, 1,i: 76,589,003 msg/sec OptimistAtomicQueueB, 2,s: 32,143,566 msg/sec OptimistAtomicQueueB, 2,i: 32,305,301 msg/sec OptimistAtomicQueueB, 3,s: 36,278,953 msg/sec OptimistAtomicQueueB, 3,i: 36,849,234 msg/sec OptimistAtomicQueueB, 4,s: 38,675,459 msg/sec OptimistAtomicQueueB, 4,i: 38,632,051 msg/sec OptimistAtomicQueueB, 5,s: 40,329,847 msg/sec OptimistAtomicQueueB, 5,i: 45,369,397 msg/sec OptimistAtomicQueueB, 6,s: 40,615,300 msg/sec OptimistAtomicQueueB, 6,i: 49,030,489 msg/sec OptimistAtomicQueueB, 7,s: 42,392,223 msg/sec OptimistAtomicQueueB, 7,i: 51,472,193 msg/sec OptimistAtomicQueueB, 8,s: 44,368,763 msg/sec OptimistAtomicQueueB, 8,i: 47,761,419 msg/sec AtomicQueue2, 1,s: 22,869,907 msg/sec AtomicQueue2, 1,i: 22,821,261 msg/sec AtomicQueue2, 2,s: 11,758,126 msg/sec AtomicQueue2, 2,i: 11,343,658 msg/sec AtomicQueue2, 3,s: 9,674,412 msg/sec AtomicQueue2, 3,i: 9,386,426 msg/sec AtomicQueue2, 4,s: 8,090,148 msg/sec AtomicQueue2, 4,i: 8,045,740 msg/sec AtomicQueue2, 5,s: 7,934,070 msg/sec AtomicQueue2, 5,i: 8,008,434 msg/sec AtomicQueue2, 6,s: 7,755,586 msg/sec AtomicQueue2, 6,i: 7,533,039 msg/sec AtomicQueue2, 7,s: 7,167,540 msg/sec AtomicQueue2, 7,i: 7,875,479 msg/sec AtomicQueue2, 8,s: 6,385,295 msg/sec AtomicQueue2, 8,i: 7,392,255 msg/sec AtomicQueueB2, 1,s: 36,396,383 msg/sec AtomicQueueB2, 1,i: 32,676,234 msg/sec AtomicQueueB2, 2,s: 11,414,471 msg/sec AtomicQueueB2, 2,i: 11,105,440 msg/sec AtomicQueueB2, 3,s: 9,651,991 msg/sec AtomicQueueB2, 3,i: 9,493,811 msg/sec AtomicQueueB2, 4,s: 7,908,047 msg/sec AtomicQueueB2, 4,i: 7,906,122 msg/sec AtomicQueueB2, 5,s: 7,578,692 msg/sec AtomicQueueB2, 5,i: 7,644,531 msg/sec AtomicQueueB2, 6,s: 7,270,986 msg/sec AtomicQueueB2, 6,i: 7,427,596 msg/sec AtomicQueueB2, 7,s: 6,989,160 msg/sec AtomicQueueB2, 7,i: 7,708,169 msg/sec AtomicQueueB2, 8,s: 6,322,658 msg/sec AtomicQueueB2, 8,i: 6,968,024 msg/sec OptimistAtomicQueue2, 1,s: 367,438,652 msg/sec OptimistAtomicQueue2, 1,i: 32,291,996 msg/sec OptimistAtomicQueue2, 2,s: 26,191,450 msg/sec OptimistAtomicQueue2, 2,i: 24,014,446 msg/sec OptimistAtomicQueue2, 3,s: 30,521,728 msg/sec OptimistAtomicQueue2, 3,i: 29,975,632 msg/sec OptimistAtomicQueue2, 4,s: 33,270,550 msg/sec OptimistAtomicQueue2, 4,i: 33,060,962 msg/sec OptimistAtomicQueue2, 5,s: 36,988,472 msg/sec OptimistAtomicQueue2, 5,i: 40,047,179 msg/sec OptimistAtomicQueue2, 6,s: 39,909,013 msg/sec OptimistAtomicQueue2, 6,i: 49,174,115 msg/sec OptimistAtomicQueue2, 7,s: 43,231,732 msg/sec OptimistAtomicQueue2, 7,i: 48,107,476 msg/sec OptimistAtomicQueue2, 8,s: 43,829,900 msg/sec OptimistAtomicQueue2, 8,i: 48,412,616 msg/sec OptimistAtomicQueueB2, 1,s: 75,268,746 msg/sec OptimistAtomicQueueB2, 1,i: 57,671,177 msg/sec OptimistAtomicQueueB2, 2,s: 29,017,604 msg/sec OptimistAtomicQueueB2, 2,i: 29,825,513 msg/sec OptimistAtomicQueueB2, 3,s: 29,664,741 msg/sec OptimistAtomicQueueB2, 3,i: 29,025,505 msg/sec OptimistAtomicQueueB2, 4,s: 33,142,015 msg/sec OptimistAtomicQueueB2, 4,i: 32,889,931 msg/sec OptimistAtomicQueueB2, 5,s: 34,654,547 msg/sec OptimistAtomicQueueB2, 5,i: 39,073,839 msg/sec OptimistAtomicQueueB2, 6,s: 37,224,147 msg/sec OptimistAtomicQueueB2, 6,i: 42,305,030 msg/sec OptimistAtomicQueueB2, 7,s: 40,266,784 msg/sec OptimistAtomicQueueB2, 7,i: 43,381,488 msg/sec OptimistAtomicQueueB2, 8,s: 42,287,670 msg/sec OptimistAtomicQueueB2, 8,i: 45,489,077 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000328 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000124 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000241 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [257] 142m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,887,483 msg/sec boost::lockfree::spsc_queue, 1,i: 68,502,048 msg/sec boost::lockfree::queue, 1,s: 6,841,598 msg/sec boost::lockfree::queue, 1,i: 6,946,693 msg/sec boost::lockfree::queue, 2,s: 7,547,818 msg/sec boost::lockfree::queue, 2,i: 7,559,163 msg/sec boost::lockfree::queue, 3,s: 7,375,125 msg/sec boost::lockfree::queue, 3,i: 7,575,879 msg/sec boost::lockfree::queue, 4,s: 6,428,745 msg/sec boost::lockfree::queue, 4,i: 6,807,186 msg/sec boost::lockfree::queue, 5,s: 6,397,293 msg/sec boost::lockfree::queue, 5,i: 6,505,428 msg/sec boost::lockfree::queue, 6,s: 5,988,620 msg/sec boost::lockfree::queue, 6,i: 6,144,001 msg/sec boost::lockfree::queue, 7,s: 5,961,459 msg/sec boost::lockfree::queue, 7,i: 6,014,829 msg/sec boost::lockfree::queue, 8,s: 5,458,920 msg/sec boost::lockfree::queue, 8,i: 5,698,215 msg/sec moodycamel::ReaderWriterQueue, 1,s: 500,643,827 msg/sec moodycamel::ReaderWriterQueue, 1,i: 501,739,405 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,819,300 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,439,317 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,086,078 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,606,660 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,511,202 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,509,953 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,345,665 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,016,038 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,498,537 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,904,839 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,451,807 msg/sec moodycamel::ConcurrentQueue, 6,i: 21,101,414 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,120,671 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,717,893 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,320,084 msg/sec moodycamel::ConcurrentQueue, 8,i: 40,352,214 msg/sec pthread_spinlock, 1,s: 28,747,216 msg/sec pthread_spinlock, 1,i: 25,369,234 msg/sec pthread_spinlock, 2,s: 15,257,550 msg/sec pthread_spinlock, 2,i: 16,730,509 msg/sec pthread_spinlock, 3,s: 8,337,531 msg/sec pthread_spinlock, 3,i: 11,481,669 msg/sec pthread_spinlock, 4,s: 6,498,207 msg/sec pthread_spinlock, 4,i: 9,006,155 msg/sec pthread_spinlock, 5,s: 8,757,389 msg/sec pthread_spinlock, 5,i: 9,406,982 msg/sec pthread_spinlock, 6,s: 8,500,411 msg/sec pthread_spinlock, 6,i: 8,669,814 msg/sec pthread_spinlock, 7,s: 7,937,872 msg/sec pthread_spinlock, 7,i: 7,953,091 msg/sec pthread_spinlock, 8,s: 6,913,729 msg/sec pthread_spinlock, 8,i: 6,886,830 msg/sec std::mutex, 1,s: 7,515,017 msg/sec std::mutex, 1,i: 7,224,160 msg/sec std::mutex, 2,s: 6,018,057 msg/sec std::mutex, 2,i: 6,346,572 msg/sec std::mutex, 3,s: 6,140,332 msg/sec std::mutex, 3,i: 6,205,343 msg/sec std::mutex, 4,s: 6,161,931 msg/sec std::mutex, 4,i: 6,214,311 msg/sec std::mutex, 5,s: 6,053,961 msg/sec std::mutex, 5,i: 6,109,590 msg/sec std::mutex, 6,s: 6,005,208 msg/sec std::mutex, 6,i: 5,946,203 msg/sec std::mutex, 7,s: 5,876,811 msg/sec std::mutex, 7,i: 5,886,695 msg/sec std::mutex, 8,s: 5,694,125 msg/sec std::mutex, 8,i: 5,661,882 msg/sec tbb::spin_mutex, 1,s: 37,891,706 msg/sec tbb::spin_mutex, 1,i: 32,878,250 msg/sec tbb::spin_mutex, 2,s: 21,179,223 msg/sec tbb::spin_mutex, 2,i: 18,428,595 msg/sec tbb::spin_mutex, 3,s: 7,753,284 msg/sec tbb::spin_mutex, 3,i: 11,120,168 msg/sec tbb::spin_mutex, 4,s: 3,161,987 msg/sec tbb::spin_mutex, 4,i: 6,365,556 msg/sec tbb::spin_mutex, 5,s: 5,446,955 msg/sec tbb::spin_mutex, 5,i: 5,581,068 msg/sec tbb::spin_mutex, 6,s: 5,396,233 msg/sec tbb::spin_mutex, 6,i: 4,325,768 msg/sec tbb::spin_mutex, 7,s: 4,860,285 msg/sec tbb::spin_mutex, 7,i: 4,333,276 msg/sec tbb::spin_mutex, 8,s: 4,254,240 msg/sec tbb::spin_mutex, 8,i: 4,184,289 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,098,835 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,351,370 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,946,726 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,271,756 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,515,498 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,665,897 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,975,169 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,353,750 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,782,338 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,632,019 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,833,100 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,731,735 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,875,815 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,151,315 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,898,725 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,499,625 msg/sec xenium::michael_scott_queue, 1,s: 9,382,032 msg/sec xenium::michael_scott_queue, 1,i: 9,506,085 msg/sec xenium::michael_scott_queue, 2,s: 8,563,003 msg/sec xenium::michael_scott_queue, 2,i: 8,525,992 msg/sec xenium::michael_scott_queue, 3,s: 7,326,309 msg/sec xenium::michael_scott_queue, 3,i: 7,580,325 msg/sec xenium::michael_scott_queue, 4,s: 6,274,601 msg/sec xenium::michael_scott_queue, 4,i: 6,277,656 msg/sec xenium::michael_scott_queue, 5,s: 6,306,608 msg/sec xenium::michael_scott_queue, 5,i: 6,662,904 msg/sec xenium::michael_scott_queue, 6,s: 6,523,351 msg/sec xenium::michael_scott_queue, 6,i: 6,609,586 msg/sec xenium::michael_scott_queue, 7,s: 6,314,918 msg/sec xenium::michael_scott_queue, 7,i: 6,508,942 msg/sec xenium::michael_scott_queue, 8,s: 6,017,324 msg/sec xenium::michael_scott_queue, 8,i: 6,102,335 msg/sec xenium::ramalhete_queue, 1,s: 32,140,693 msg/sec xenium::ramalhete_queue, 1,i: 31,337,817 msg/sec xenium::ramalhete_queue, 2,s: 23,504,030 msg/sec xenium::ramalhete_queue, 2,i: 23,339,425 msg/sec xenium::ramalhete_queue, 3,s: 29,101,358 msg/sec xenium::ramalhete_queue, 3,i: 28,414,071 msg/sec xenium::ramalhete_queue, 4,s: 33,763,675 msg/sec xenium::ramalhete_queue, 4,i: 33,450,398 msg/sec xenium::ramalhete_queue, 5,s: 32,180,917 msg/sec xenium::ramalhete_queue, 5,i: 36,154,376 msg/sec xenium::ramalhete_queue, 6,s: 34,216,126 msg/sec xenium::ramalhete_queue, 6,i: 38,998,136 msg/sec xenium::ramalhete_queue, 7,s: 35,254,923 msg/sec xenium::ramalhete_queue, 7,i: 42,154,421 msg/sec xenium::ramalhete_queue, 8,s: 35,589,167 msg/sec xenium::ramalhete_queue, 8,i: 44,251,364 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,692,297 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,821,119 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,940,055 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,707,045 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,641,400 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,868,137 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,444,265 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,362,630 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,104,112 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,104,452 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,212,925 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,676,968 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,282,412 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,952,288 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,393,141 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,231,045 msg/sec AtomicQueue, 1,s: 92,079,867 msg/sec AtomicQueue, 1,i: 56,026,782 msg/sec AtomicQueue, 2,s: 12,279,344 msg/sec AtomicQueue, 2,i: 11,781,272 msg/sec AtomicQueue, 3,s: 10,800,498 msg/sec AtomicQueue, 3,i: 9,946,418 msg/sec AtomicQueue, 4,s: 8,227,158 msg/sec AtomicQueue, 4,i: 8,179,715 msg/sec AtomicQueue, 5,s: 8,036,057 msg/sec AtomicQueue, 5,i: 8,131,397 msg/sec AtomicQueue, 6,s: 7,955,528 msg/sec AtomicQueue, 6,i: 7,600,450 msg/sec AtomicQueue, 7,s: 7,162,660 msg/sec AtomicQueue, 7,i: 7,970,919 msg/sec AtomicQueue, 8,s: 6,372,364 msg/sec AtomicQueue, 8,i: 7,396,984 msg/sec AtomicQueueB, 1,s: 44,697,484 msg/sec AtomicQueueB, 1,i: 43,036,138 msg/sec AtomicQueueB, 2,s: 11,785,572 msg/sec AtomicQueueB, 2,i: 11,367,755 msg/sec AtomicQueueB, 3,s: 10,896,715 msg/sec AtomicQueueB, 3,i: 10,122,265 msg/sec AtomicQueueB, 4,s: 8,035,828 msg/sec AtomicQueueB, 4,i: 8,004,195 msg/sec AtomicQueueB, 5,s: 7,585,180 msg/sec AtomicQueueB, 5,i: 7,791,742 msg/sec AtomicQueueB, 6,s: 7,472,147 msg/sec AtomicQueueB, 6,i: 7,533,037 msg/sec AtomicQueueB, 7,s: 6,877,679 msg/sec AtomicQueueB, 7,i: 7,747,204 msg/sec AtomicQueueB, 8,s: 6,284,365 msg/sec AtomicQueueB, 8,i: 7,024,776 msg/sec OptimistAtomicQueue, 1,s: 701,277,148 msg/sec OptimistAtomicQueue, 1,i: 548,746,977 msg/sec OptimistAtomicQueue, 2,s: 32,642,931 msg/sec OptimistAtomicQueue, 2,i: 32,716,183 msg/sec OptimistAtomicQueue, 3,s: 36,662,781 msg/sec OptimistAtomicQueue, 3,i: 37,341,976 msg/sec OptimistAtomicQueue, 4,s: 39,292,395 msg/sec OptimistAtomicQueue, 4,i: 39,387,894 msg/sec OptimistAtomicQueue, 5,s: 42,428,388 msg/sec OptimistAtomicQueue, 5,i: 48,653,351 msg/sec OptimistAtomicQueue, 6,s: 42,521,413 msg/sec OptimistAtomicQueue, 6,i: 50,476,582 msg/sec OptimistAtomicQueue, 7,s: 45,212,311 msg/sec OptimistAtomicQueue, 7,i: 53,020,607 msg/sec OptimistAtomicQueue, 8,s: 46,336,919 msg/sec OptimistAtomicQueue, 8,i: 49,643,655 msg/sec OptimistAtomicQueueB, 1,s: 110,395,207 msg/sec OptimistAtomicQueueB, 1,i: 76,568,735 msg/sec OptimistAtomicQueueB, 2,s: 32,121,243 msg/sec OptimistAtomicQueueB, 2,i: 32,188,514 msg/sec OptimistAtomicQueueB, 3,s: 36,243,351 msg/sec OptimistAtomicQueueB, 3,i: 36,963,561 msg/sec OptimistAtomicQueueB, 4,s: 38,618,766 msg/sec OptimistAtomicQueueB, 4,i: 38,699,655 msg/sec OptimistAtomicQueueB, 5,s: 40,693,961 msg/sec OptimistAtomicQueueB, 5,i: 45,311,015 msg/sec OptimistAtomicQueueB, 6,s: 40,895,757 msg/sec OptimistAtomicQueueB, 6,i: 49,031,601 msg/sec OptimistAtomicQueueB, 7,s: 42,420,281 msg/sec OptimistAtomicQueueB, 7,i: 50,858,042 msg/sec OptimistAtomicQueueB, 8,s: 44,120,863 msg/sec OptimistAtomicQueueB, 8,i: 47,656,352 msg/sec AtomicQueue2, 1,s: 23,124,394 msg/sec AtomicQueue2, 1,i: 23,077,774 msg/sec AtomicQueue2, 2,s: 11,746,310 msg/sec AtomicQueue2, 2,i: 11,456,102 msg/sec AtomicQueue2, 3,s: 9,596,845 msg/sec AtomicQueue2, 3,i: 9,250,720 msg/sec AtomicQueue2, 4,s: 7,999,683 msg/sec AtomicQueue2, 4,i: 7,993,982 msg/sec AtomicQueue2, 5,s: 7,923,681 msg/sec AtomicQueue2, 5,i: 8,010,686 msg/sec AtomicQueue2, 6,s: 7,653,308 msg/sec AtomicQueue2, 6,i: 7,544,020 msg/sec AtomicQueue2, 7,s: 7,111,279 msg/sec AtomicQueue2, 7,i: 7,878,035 msg/sec AtomicQueue2, 8,s: 6,392,787 msg/sec AtomicQueue2, 8,i: 7,290,220 msg/sec AtomicQueueB2, 1,s: 35,939,489 msg/sec AtomicQueueB2, 1,i: 32,649,580 msg/sec AtomicQueueB2, 2,s: 11,506,893 msg/sec AtomicQueueB2, 2,i: 11,119,833 msg/sec AtomicQueueB2, 3,s: 9,660,994 msg/sec AtomicQueueB2, 3,i: 9,478,809 msg/sec AtomicQueueB2, 4,s: 7,929,609 msg/sec AtomicQueueB2, 4,i: 7,860,111 msg/sec AtomicQueueB2, 5,s: 7,571,123 msg/sec AtomicQueueB2, 5,i: 7,764,639 msg/sec AtomicQueueB2, 6,s: 7,307,682 msg/sec AtomicQueueB2, 6,i: 7,466,228 msg/sec AtomicQueueB2, 7,s: 6,802,175 msg/sec AtomicQueueB2, 7,i: 7,709,992 msg/sec AtomicQueueB2, 8,s: 6,332,219 msg/sec AtomicQueueB2, 8,i: 7,116,830 msg/sec OptimistAtomicQueue2, 1,s: 31,887,483 msg/sec OptimistAtomicQueue2, 1,i: 32,143,808 msg/sec OptimistAtomicQueue2, 2,s: 29,478,847 msg/sec OptimistAtomicQueue2, 2,i: 25,409,433 msg/sec OptimistAtomicQueue2, 3,s: 31,171,990 msg/sec OptimistAtomicQueue2, 3,i: 30,484,033 msg/sec OptimistAtomicQueue2, 4,s: 35,690,954 msg/sec OptimistAtomicQueue2, 4,i: 33,354,763 msg/sec OptimistAtomicQueue2, 5,s: 37,350,794 msg/sec OptimistAtomicQueue2, 5,i: 43,179,720 msg/sec OptimistAtomicQueue2, 6,s: 40,451,855 msg/sec OptimistAtomicQueue2, 6,i: 49,080,983 msg/sec OptimistAtomicQueue2, 7,s: 42,781,222 msg/sec OptimistAtomicQueue2, 7,i: 47,997,868 msg/sec OptimistAtomicQueue2, 8,s: 43,919,591 msg/sec OptimistAtomicQueue2, 8,i: 48,321,174 msg/sec OptimistAtomicQueueB2, 1,s: 75,702,090 msg/sec OptimistAtomicQueueB2, 1,i: 33,872,551 msg/sec OptimistAtomicQueueB2, 2,s: 27,209,800 msg/sec OptimistAtomicQueueB2, 2,i: 23,219,373 msg/sec OptimistAtomicQueueB2, 3,s: 29,717,035 msg/sec OptimistAtomicQueueB2, 3,i: 29,131,599 msg/sec OptimistAtomicQueueB2, 4,s: 33,474,360 msg/sec OptimistAtomicQueueB2, 4,i: 32,922,075 msg/sec OptimistAtomicQueueB2, 5,s: 34,700,228 msg/sec OptimistAtomicQueueB2, 5,i: 39,280,624 msg/sec OptimistAtomicQueueB2, 6,s: 37,665,213 msg/sec OptimistAtomicQueueB2, 6,i: 42,355,094 msg/sec OptimistAtomicQueueB2, 7,s: 40,302,750 msg/sec OptimistAtomicQueueB2, 7,i: 43,146,438 msg/sec OptimistAtomicQueueB2, 8,s: 42,110,410 msg/sec OptimistAtomicQueueB2, 8,i: 45,412,785 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000157 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000290 sec/round-trip std::mutex: 0.000000447 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [258] 140m:52s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,367,563 msg/sec boost::lockfree::spsc_queue, 1,i: 67,646,447 msg/sec boost::lockfree::queue, 1,s: 6,833,709 msg/sec boost::lockfree::queue, 1,i: 6,907,672 msg/sec boost::lockfree::queue, 2,s: 7,531,725 msg/sec boost::lockfree::queue, 2,i: 7,376,591 msg/sec boost::lockfree::queue, 3,s: 7,431,487 msg/sec boost::lockfree::queue, 3,i: 7,547,226 msg/sec boost::lockfree::queue, 4,s: 6,425,890 msg/sec boost::lockfree::queue, 4,i: 6,830,540 msg/sec boost::lockfree::queue, 5,s: 6,469,699 msg/sec boost::lockfree::queue, 5,i: 6,567,869 msg/sec boost::lockfree::queue, 6,s: 6,056,964 msg/sec boost::lockfree::queue, 6,i: 6,093,706 msg/sec boost::lockfree::queue, 7,s: 5,843,629 msg/sec boost::lockfree::queue, 7,i: 6,011,558 msg/sec boost::lockfree::queue, 8,s: 5,445,492 msg/sec boost::lockfree::queue, 8,i: 5,548,551 msg/sec moodycamel::ReaderWriterQueue, 1,s: 115,991,128 msg/sec moodycamel::ReaderWriterQueue, 1,i: 75,588,476 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,727,269 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,851,462 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,055,520 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,343,729 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,512,323 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,819,006 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,027,281 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,420,628 msg/sec moodycamel::ConcurrentQueue, 5,s: 42,798,845 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,793,371 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,161,652 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,559,090 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,840,785 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,771,991 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,035,008 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,177,904 msg/sec pthread_spinlock, 1,s: 28,993,525 msg/sec pthread_spinlock, 1,i: 25,354,551 msg/sec pthread_spinlock, 2,s: 16,291,258 msg/sec pthread_spinlock, 2,i: 17,114,664 msg/sec pthread_spinlock, 3,s: 8,471,882 msg/sec pthread_spinlock, 3,i: 12,089,340 msg/sec pthread_spinlock, 4,s: 6,462,958 msg/sec pthread_spinlock, 4,i: 8,836,149 msg/sec pthread_spinlock, 5,s: 8,547,873 msg/sec pthread_spinlock, 5,i: 9,456,856 msg/sec pthread_spinlock, 6,s: 8,322,645 msg/sec pthread_spinlock, 6,i: 9,017,708 msg/sec pthread_spinlock, 7,s: 7,544,818 msg/sec pthread_spinlock, 7,i: 7,475,998 msg/sec pthread_spinlock, 8,s: 6,794,500 msg/sec pthread_spinlock, 8,i: 6,949,153 msg/sec std::mutex, 1,s: 6,525,147 msg/sec std::mutex, 1,i: 7,269,941 msg/sec std::mutex, 2,s: 5,877,650 msg/sec std::mutex, 2,i: 5,901,913 msg/sec std::mutex, 3,s: 5,903,181 msg/sec std::mutex, 3,i: 6,007,791 msg/sec std::mutex, 4,s: 6,163,392 msg/sec std::mutex, 4,i: 6,236,253 msg/sec std::mutex, 5,s: 6,025,748 msg/sec std::mutex, 5,i: 6,017,704 msg/sec std::mutex, 6,s: 5,799,744 msg/sec std::mutex, 6,i: 5,775,106 msg/sec std::mutex, 7,s: 5,690,059 msg/sec std::mutex, 7,i: 5,667,279 msg/sec std::mutex, 8,s: 5,609,740 msg/sec std::mutex, 8,i: 5,572,906 msg/sec tbb::spin_mutex, 1,s: 37,749,949 msg/sec tbb::spin_mutex, 1,i: 33,305,100 msg/sec tbb::spin_mutex, 2,s: 21,189,494 msg/sec tbb::spin_mutex, 2,i: 18,332,817 msg/sec tbb::spin_mutex, 3,s: 8,250,776 msg/sec tbb::spin_mutex, 3,i: 10,248,371 msg/sec tbb::spin_mutex, 4,s: 3,297,658 msg/sec tbb::spin_mutex, 4,i: 6,310,889 msg/sec tbb::spin_mutex, 5,s: 5,209,978 msg/sec tbb::spin_mutex, 5,i: 5,661,980 msg/sec tbb::spin_mutex, 6,s: 5,202,700 msg/sec tbb::spin_mutex, 6,i: 4,377,911 msg/sec tbb::spin_mutex, 7,s: 4,661,606 msg/sec tbb::spin_mutex, 7,i: 4,321,337 msg/sec tbb::spin_mutex, 8,s: 4,242,534 msg/sec tbb::spin_mutex, 8,i: 4,147,210 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,422,617 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,519,971 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,119,536 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,007,621 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,571,267 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,989,832 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,087,697 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,338,579 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,637,220 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,710,189 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,789,992 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,951,496 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,600,133 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,115,526 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,650,633 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,320,722 msg/sec xenium::michael_scott_queue, 1,s: 9,470,815 msg/sec xenium::michael_scott_queue, 1,i: 9,571,754 msg/sec xenium::michael_scott_queue, 2,s: 8,461,035 msg/sec xenium::michael_scott_queue, 2,i: 8,476,101 msg/sec xenium::michael_scott_queue, 3,s: 7,125,800 msg/sec xenium::michael_scott_queue, 3,i: 7,562,364 msg/sec xenium::michael_scott_queue, 4,s: 6,334,366 msg/sec xenium::michael_scott_queue, 4,i: 6,369,223 msg/sec xenium::michael_scott_queue, 5,s: 6,262,189 msg/sec xenium::michael_scott_queue, 5,i: 6,682,538 msg/sec xenium::michael_scott_queue, 6,s: 6,483,716 msg/sec xenium::michael_scott_queue, 6,i: 6,807,389 msg/sec xenium::michael_scott_queue, 7,s: 6,267,548 msg/sec xenium::michael_scott_queue, 7,i: 6,566,387 msg/sec xenium::michael_scott_queue, 8,s: 6,043,795 msg/sec xenium::michael_scott_queue, 8,i: 6,135,767 msg/sec xenium::ramalhete_queue, 1,s: 32,720,532 msg/sec xenium::ramalhete_queue, 1,i: 32,702,821 msg/sec xenium::ramalhete_queue, 2,s: 23,540,782 msg/sec xenium::ramalhete_queue, 2,i: 23,354,641 msg/sec xenium::ramalhete_queue, 3,s: 29,357,311 msg/sec xenium::ramalhete_queue, 3,i: 28,491,996 msg/sec xenium::ramalhete_queue, 4,s: 33,939,072 msg/sec xenium::ramalhete_queue, 4,i: 33,488,415 msg/sec xenium::ramalhete_queue, 5,s: 32,199,161 msg/sec xenium::ramalhete_queue, 5,i: 35,954,509 msg/sec xenium::ramalhete_queue, 6,s: 34,022,513 msg/sec xenium::ramalhete_queue, 6,i: 39,182,395 msg/sec xenium::ramalhete_queue, 7,s: 35,146,092 msg/sec xenium::ramalhete_queue, 7,i: 41,581,294 msg/sec xenium::ramalhete_queue, 8,s: 35,754,017 msg/sec xenium::ramalhete_queue, 8,i: 44,187,747 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,824,783 msg/sec xenium::vyukov_bounded_queue, 1,i: 69,802,356 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,797,497 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,080,380 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,660,138 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,914,528 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,505,499 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,066,990 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,912,411 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,346,828 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,044,195 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,448,715 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,216,339 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,971,172 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,430,870 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,542,763 msg/sec AtomicQueue, 1,s: 60,892,651 msg/sec AtomicQueue, 1,i: 56,092,511 msg/sec AtomicQueue, 2,s: 12,257,299 msg/sec AtomicQueue, 2,i: 11,735,728 msg/sec AtomicQueue, 3,s: 10,830,160 msg/sec AtomicQueue, 3,i: 9,950,454 msg/sec AtomicQueue, 4,s: 8,156,912 msg/sec AtomicQueue, 4,i: 8,201,253 msg/sec AtomicQueue, 5,s: 8,020,883 msg/sec AtomicQueue, 5,i: 8,079,154 msg/sec AtomicQueue, 6,s: 7,904,351 msg/sec AtomicQueue, 6,i: 7,610,387 msg/sec AtomicQueue, 7,s: 7,173,611 msg/sec AtomicQueue, 7,i: 7,966,116 msg/sec AtomicQueue, 8,s: 6,320,928 msg/sec AtomicQueue, 8,i: 7,473,406 msg/sec AtomicQueueB, 1,s: 46,726,944 msg/sec AtomicQueueB, 1,i: 43,007,935 msg/sec AtomicQueueB, 2,s: 11,814,962 msg/sec AtomicQueueB, 2,i: 11,514,039 msg/sec AtomicQueueB, 3,s: 10,882,296 msg/sec AtomicQueueB, 3,i: 10,206,113 msg/sec AtomicQueueB, 4,s: 8,030,216 msg/sec AtomicQueueB, 4,i: 7,978,729 msg/sec AtomicQueueB, 5,s: 7,625,350 msg/sec AtomicQueueB, 5,i: 7,758,625 msg/sec AtomicQueueB, 6,s: 7,324,817 msg/sec AtomicQueueB, 6,i: 7,474,767 msg/sec AtomicQueueB, 7,s: 6,897,442 msg/sec AtomicQueueB, 7,i: 7,751,548 msg/sec AtomicQueueB, 8,s: 6,293,925 msg/sec AtomicQueueB, 8,i: 7,191,868 msg/sec OptimistAtomicQueue, 1,s: 802,754,088 msg/sec OptimistAtomicQueue, 1,i: 631,378,301 msg/sec OptimistAtomicQueue, 2,s: 32,139,589 msg/sec OptimistAtomicQueue, 2,i: 32,711,038 msg/sec OptimistAtomicQueue, 3,s: 36,647,688 msg/sec OptimistAtomicQueue, 3,i: 37,423,555 msg/sec OptimistAtomicQueue, 4,s: 39,309,233 msg/sec OptimistAtomicQueue, 4,i: 39,397,842 msg/sec OptimistAtomicQueue, 5,s: 41,684,476 msg/sec OptimistAtomicQueue, 5,i: 46,226,456 msg/sec OptimistAtomicQueue, 6,s: 42,442,995 msg/sec OptimistAtomicQueue, 6,i: 50,407,075 msg/sec OptimistAtomicQueue, 7,s: 45,302,540 msg/sec OptimistAtomicQueue, 7,i: 49,204,400 msg/sec OptimistAtomicQueue, 8,s: 46,579,221 msg/sec OptimistAtomicQueue, 8,i: 49,240,444 msg/sec OptimistAtomicQueueB, 1,s: 100,713,307 msg/sec OptimistAtomicQueueB, 1,i: 76,612,732 msg/sec OptimistAtomicQueueB, 2,s: 32,170,010 msg/sec OptimistAtomicQueueB, 2,i: 32,216,176 msg/sec OptimistAtomicQueueB, 3,s: 36,206,026 msg/sec OptimistAtomicQueueB, 3,i: 36,832,417 msg/sec OptimistAtomicQueueB, 4,s: 38,620,623 msg/sec OptimistAtomicQueueB, 4,i: 38,604,322 msg/sec OptimistAtomicQueueB, 5,s: 41,119,623 msg/sec OptimistAtomicQueueB, 5,i: 47,384,827 msg/sec OptimistAtomicQueueB, 6,s: 40,684,906 msg/sec OptimistAtomicQueueB, 6,i: 49,088,277 msg/sec OptimistAtomicQueueB, 7,s: 42,660,671 msg/sec OptimistAtomicQueueB, 7,i: 48,292,941 msg/sec OptimistAtomicQueueB, 8,s: 44,461,570 msg/sec OptimistAtomicQueueB, 8,i: 47,686,728 msg/sec AtomicQueue2, 1,s: 22,851,252 msg/sec AtomicQueue2, 1,i: 22,870,766 msg/sec AtomicQueue2, 2,s: 11,832,032 msg/sec AtomicQueue2, 2,i: 11,402,559 msg/sec AtomicQueue2, 3,s: 9,319,101 msg/sec AtomicQueue2, 3,i: 9,544,988 msg/sec AtomicQueue2, 4,s: 8,046,763 msg/sec AtomicQueue2, 4,i: 8,089,267 msg/sec AtomicQueue2, 5,s: 7,954,564 msg/sec AtomicQueue2, 5,i: 8,050,415 msg/sec AtomicQueue2, 6,s: 7,789,576 msg/sec AtomicQueue2, 6,i: 7,539,173 msg/sec AtomicQueue2, 7,s: 7,108,873 msg/sec AtomicQueue2, 7,i: 7,879,655 msg/sec AtomicQueue2, 8,s: 6,365,962 msg/sec AtomicQueue2, 8,i: 7,366,178 msg/sec AtomicQueueB2, 1,s: 36,229,012 msg/sec AtomicQueueB2, 1,i: 32,677,194 msg/sec AtomicQueueB2, 2,s: 11,439,219 msg/sec AtomicQueueB2, 2,i: 11,137,350 msg/sec AtomicQueueB2, 3,s: 9,589,530 msg/sec AtomicQueueB2, 3,i: 9,498,303 msg/sec AtomicQueueB2, 4,s: 7,959,641 msg/sec AtomicQueueB2, 4,i: 7,864,330 msg/sec AtomicQueueB2, 5,s: 7,398,841 msg/sec AtomicQueueB2, 5,i: 7,735,737 msg/sec AtomicQueueB2, 6,s: 7,314,961 msg/sec AtomicQueueB2, 6,i: 7,425,127 msg/sec AtomicQueueB2, 7,s: 6,883,919 msg/sec AtomicQueueB2, 7,i: 7,705,934 msg/sec AtomicQueueB2, 8,s: 6,324,120 msg/sec AtomicQueueB2, 8,i: 7,087,483 msg/sec OptimistAtomicQueue2, 1,s: 529,869,961 msg/sec OptimistAtomicQueue2, 1,i: 31,300,482 msg/sec OptimistAtomicQueue2, 2,s: 24,886,756 msg/sec OptimistAtomicQueue2, 2,i: 24,387,237 msg/sec OptimistAtomicQueue2, 3,s: 30,313,866 msg/sec OptimistAtomicQueue2, 3,i: 30,016,871 msg/sec OptimistAtomicQueue2, 4,s: 33,252,010 msg/sec OptimistAtomicQueue2, 4,i: 33,384,748 msg/sec OptimistAtomicQueue2, 5,s: 37,297,482 msg/sec OptimistAtomicQueue2, 5,i: 40,436,403 msg/sec OptimistAtomicQueue2, 6,s: 40,115,795 msg/sec OptimistAtomicQueue2, 6,i: 49,275,612 msg/sec OptimistAtomicQueue2, 7,s: 42,828,243 msg/sec OptimistAtomicQueue2, 7,i: 51,741,203 msg/sec OptimistAtomicQueue2, 8,s: 44,006,737 msg/sec OptimistAtomicQueue2, 8,i: 48,797,919 msg/sec OptimistAtomicQueueB2, 1,s: 75,577,813 msg/sec OptimistAtomicQueueB2, 1,i: 33,915,804 msg/sec OptimistAtomicQueueB2, 2,s: 27,811,993 msg/sec OptimistAtomicQueueB2, 2,i: 24,658,444 msg/sec OptimistAtomicQueueB2, 3,s: 29,685,833 msg/sec OptimistAtomicQueueB2, 3,i: 29,064,785 msg/sec OptimistAtomicQueueB2, 4,s: 33,440,672 msg/sec OptimistAtomicQueueB2, 4,i: 32,860,058 msg/sec OptimistAtomicQueueB2, 5,s: 34,508,843 msg/sec OptimistAtomicQueueB2, 5,i: 39,777,658 msg/sec OptimistAtomicQueueB2, 6,s: 37,263,121 msg/sec OptimistAtomicQueueB2, 6,i: 42,431,786 msg/sec OptimistAtomicQueueB2, 7,s: 40,099,648 msg/sec OptimistAtomicQueueB2, 7,i: 43,203,338 msg/sec OptimistAtomicQueueB2, 8,s: 42,133,232 msg/sec OptimistAtomicQueueB2, 8,i: 45,270,812 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000297 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [259] 139m:33s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,855,585 msg/sec boost::lockfree::spsc_queue, 1,i: 66,037,327 msg/sec boost::lockfree::queue, 1,s: 6,773,710 msg/sec boost::lockfree::queue, 1,i: 6,746,684 msg/sec boost::lockfree::queue, 2,s: 7,509,945 msg/sec boost::lockfree::queue, 2,i: 7,415,130 msg/sec boost::lockfree::queue, 3,s: 7,492,204 msg/sec boost::lockfree::queue, 3,i: 7,582,851 msg/sec boost::lockfree::queue, 4,s: 6,423,118 msg/sec boost::lockfree::queue, 4,i: 6,757,501 msg/sec boost::lockfree::queue, 5,s: 6,422,730 msg/sec boost::lockfree::queue, 5,i: 6,449,892 msg/sec boost::lockfree::queue, 6,s: 6,017,885 msg/sec boost::lockfree::queue, 6,i: 6,113,049 msg/sec boost::lockfree::queue, 7,s: 6,039,004 msg/sec boost::lockfree::queue, 7,i: 6,043,288 msg/sec boost::lockfree::queue, 8,s: 5,473,483 msg/sec boost::lockfree::queue, 8,i: 5,554,782 msg/sec moodycamel::ReaderWriterQueue, 1,s: 453,537,518 msg/sec moodycamel::ReaderWriterQueue, 1,i: 51,435,138 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,229,002 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,060,147 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,587,220 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,451,514 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,033,559 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,502,516 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,639,236 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,314,904 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,457,866 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,288,894 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,346,056 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,529,604 msg/sec moodycamel::ConcurrentQueue, 7,s: 31,701,743 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,717,481 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,217,009 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,399,736 msg/sec pthread_spinlock, 1,s: 28,716,538 msg/sec pthread_spinlock, 1,i: 25,388,769 msg/sec pthread_spinlock, 2,s: 15,581,071 msg/sec pthread_spinlock, 2,i: 17,243,891 msg/sec pthread_spinlock, 3,s: 8,392,922 msg/sec pthread_spinlock, 3,i: 12,096,145 msg/sec pthread_spinlock, 4,s: 6,497,229 msg/sec pthread_spinlock, 4,i: 8,968,911 msg/sec pthread_spinlock, 5,s: 8,677,888 msg/sec pthread_spinlock, 5,i: 9,240,941 msg/sec pthread_spinlock, 6,s: 8,533,692 msg/sec pthread_spinlock, 6,i: 9,247,005 msg/sec pthread_spinlock, 7,s: 7,540,513 msg/sec pthread_spinlock, 7,i: 7,814,994 msg/sec pthread_spinlock, 8,s: 6,748,965 msg/sec pthread_spinlock, 8,i: 7,222,946 msg/sec std::mutex, 1,s: 5,851,562 msg/sec std::mutex, 1,i: 5,817,401 msg/sec std::mutex, 2,s: 5,245,768 msg/sec std::mutex, 2,i: 5,487,272 msg/sec std::mutex, 3,s: 5,432,126 msg/sec std::mutex, 3,i: 5,709,162 msg/sec std::mutex, 4,s: 5,555,817 msg/sec std::mutex, 4,i: 5,890,263 msg/sec std::mutex, 5,s: 5,151,696 msg/sec std::mutex, 5,i: 5,836,602 msg/sec std::mutex, 6,s: 5,868,851 msg/sec std::mutex, 6,i: 5,910,007 msg/sec std::mutex, 7,s: 5,816,386 msg/sec std::mutex, 7,i: 5,868,439 msg/sec std::mutex, 8,s: 5,673,257 msg/sec std::mutex, 8,i: 5,670,165 msg/sec tbb::spin_mutex, 1,s: 37,443,632 msg/sec tbb::spin_mutex, 1,i: 32,846,409 msg/sec tbb::spin_mutex, 2,s: 21,084,206 msg/sec tbb::spin_mutex, 2,i: 18,463,500 msg/sec tbb::spin_mutex, 3,s: 7,355,267 msg/sec tbb::spin_mutex, 3,i: 11,003,317 msg/sec tbb::spin_mutex, 4,s: 3,092,364 msg/sec tbb::spin_mutex, 4,i: 6,394,074 msg/sec tbb::spin_mutex, 5,s: 5,371,274 msg/sec tbb::spin_mutex, 5,i: 5,793,600 msg/sec tbb::spin_mutex, 6,s: 5,318,437 msg/sec tbb::spin_mutex, 6,i: 4,355,219 msg/sec tbb::spin_mutex, 7,s: 4,835,208 msg/sec tbb::spin_mutex, 7,i: 4,401,909 msg/sec tbb::spin_mutex, 8,s: 3,811,787 msg/sec tbb::spin_mutex, 8,i: 4,085,632 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,297,338 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,307,110 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,887,016 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,153,542 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,095,299 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,043,729 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,412,070 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,315,448 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,646,708 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,939,275 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,979,772 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,904,837 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,034,137 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,937,652 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,002,663 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,083,562 msg/sec xenium::michael_scott_queue, 1,s: 10,091,611 msg/sec xenium::michael_scott_queue, 1,i: 9,772,727 msg/sec xenium::michael_scott_queue, 2,s: 8,630,473 msg/sec xenium::michael_scott_queue, 2,i: 8,677,117 msg/sec xenium::michael_scott_queue, 3,s: 7,277,353 msg/sec xenium::michael_scott_queue, 3,i: 7,650,440 msg/sec xenium::michael_scott_queue, 4,s: 6,314,001 msg/sec xenium::michael_scott_queue, 4,i: 6,312,735 msg/sec xenium::michael_scott_queue, 5,s: 6,342,786 msg/sec xenium::michael_scott_queue, 5,i: 6,665,014 msg/sec xenium::michael_scott_queue, 6,s: 6,587,843 msg/sec xenium::michael_scott_queue, 6,i: 6,990,505 msg/sec xenium::michael_scott_queue, 7,s: 6,309,724 msg/sec xenium::michael_scott_queue, 7,i: 6,521,123 msg/sec xenium::michael_scott_queue, 8,s: 5,982,185 msg/sec xenium::michael_scott_queue, 8,i: 6,126,398 msg/sec xenium::ramalhete_queue, 1,s: 32,447,909 msg/sec xenium::ramalhete_queue, 1,i: 32,081,709 msg/sec xenium::ramalhete_queue, 2,s: 24,021,875 msg/sec xenium::ramalhete_queue, 2,i: 23,126,026 msg/sec xenium::ramalhete_queue, 3,s: 28,898,688 msg/sec xenium::ramalhete_queue, 3,i: 28,261,501 msg/sec xenium::ramalhete_queue, 4,s: 33,884,223 msg/sec xenium::ramalhete_queue, 4,i: 33,569,086 msg/sec xenium::ramalhete_queue, 5,s: 32,239,718 msg/sec xenium::ramalhete_queue, 5,i: 35,955,175 msg/sec xenium::ramalhete_queue, 6,s: 34,195,740 msg/sec xenium::ramalhete_queue, 6,i: 38,804,863 msg/sec xenium::ramalhete_queue, 7,s: 35,132,208 msg/sec xenium::ramalhete_queue, 7,i: 41,722,414 msg/sec xenium::ramalhete_queue, 8,s: 35,566,114 msg/sec xenium::ramalhete_queue, 8,i: 43,967,908 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,658,006 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,664,706 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,638,295 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,778,050 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,824,570 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,185,699 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,605,347 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,377,740 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,743,619 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,258,771 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,722,770 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,628,386 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,146,771 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,950,114 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,517 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,546,202 msg/sec AtomicQueue, 1,s: 60,862,259 msg/sec AtomicQueue, 1,i: 57,329,746 msg/sec AtomicQueue, 2,s: 12,211,488 msg/sec AtomicQueue, 2,i: 11,725,122 msg/sec AtomicQueue, 3,s: 10,768,108 msg/sec AtomicQueue, 3,i: 9,972,885 msg/sec AtomicQueue, 4,s: 8,215,888 msg/sec AtomicQueue, 4,i: 8,175,549 msg/sec AtomicQueue, 5,s: 8,043,901 msg/sec AtomicQueue, 5,i: 8,123,976 msg/sec AtomicQueue, 6,s: 7,894,184 msg/sec AtomicQueue, 6,i: 7,589,940 msg/sec AtomicQueue, 7,s: 7,121,513 msg/sec AtomicQueue, 7,i: 7,977,356 msg/sec AtomicQueue, 8,s: 6,355,519 msg/sec AtomicQueue, 8,i: 7,330,180 msg/sec AtomicQueueB, 1,s: 68,332,476 msg/sec AtomicQueueB, 1,i: 43,861,528 msg/sec AtomicQueueB, 2,s: 11,887,916 msg/sec AtomicQueueB, 2,i: 11,483,028 msg/sec AtomicQueueB, 3,s: 11,104,088 msg/sec AtomicQueueB, 3,i: 10,071,483 msg/sec AtomicQueueB, 4,s: 8,064,998 msg/sec AtomicQueueB, 4,i: 8,109,838 msg/sec AtomicQueueB, 5,s: 7,682,985 msg/sec AtomicQueueB, 5,i: 7,752,602 msg/sec AtomicQueueB, 6,s: 7,332,850 msg/sec AtomicQueueB, 6,i: 7,492,813 msg/sec AtomicQueueB, 7,s: 6,874,780 msg/sec AtomicQueueB, 7,i: 7,740,183 msg/sec AtomicQueueB, 8,s: 6,335,700 msg/sec AtomicQueueB, 8,i: 7,170,305 msg/sec OptimistAtomicQueue, 1,s: 736,682,710 msg/sec OptimistAtomicQueue, 1,i: 566,679,393 msg/sec OptimistAtomicQueue, 2,s: 32,629,719 msg/sec OptimistAtomicQueue, 2,i: 32,695,713 msg/sec OptimistAtomicQueue, 3,s: 36,652,312 msg/sec OptimistAtomicQueue, 3,i: 37,137,466 msg/sec OptimistAtomicQueue, 4,s: 39,298,633 msg/sec OptimistAtomicQueue, 4,i: 39,415,225 msg/sec OptimistAtomicQueue, 5,s: 42,556,361 msg/sec OptimistAtomicQueue, 5,i: 46,411,919 msg/sec OptimistAtomicQueue, 6,s: 42,818,045 msg/sec OptimistAtomicQueue, 6,i: 50,435,984 msg/sec OptimistAtomicQueue, 7,s: 44,133,240 msg/sec OptimistAtomicQueue, 7,i: 51,995,492 msg/sec OptimistAtomicQueue, 8,s: 46,345,555 msg/sec OptimistAtomicQueue, 8,i: 48,420,308 msg/sec OptimistAtomicQueueB, 1,s: 77,737,978 msg/sec OptimistAtomicQueueB, 1,i: 76,585,559 msg/sec OptimistAtomicQueueB, 2,s: 32,263,938 msg/sec OptimistAtomicQueueB, 2,i: 32,073,547 msg/sec OptimistAtomicQueueB, 3,s: 36,334,197 msg/sec OptimistAtomicQueueB, 3,i: 36,914,489 msg/sec OptimistAtomicQueueB, 4,s: 38,664,778 msg/sec OptimistAtomicQueueB, 4,i: 38,580,391 msg/sec OptimistAtomicQueueB, 5,s: 40,952,347 msg/sec OptimistAtomicQueueB, 5,i: 46,122,253 msg/sec OptimistAtomicQueueB, 6,s: 40,756,963 msg/sec OptimistAtomicQueueB, 6,i: 49,128,349 msg/sec OptimistAtomicQueueB, 7,s: 41,704,597 msg/sec OptimistAtomicQueueB, 7,i: 48,094,932 msg/sec OptimistAtomicQueueB, 8,s: 44,405,203 msg/sec OptimistAtomicQueueB, 8,i: 47,995,305 msg/sec AtomicQueue2, 1,s: 23,042,594 msg/sec AtomicQueue2, 1,i: 23,255,391 msg/sec AtomicQueue2, 2,s: 11,675,471 msg/sec AtomicQueue2, 2,i: 11,458,761 msg/sec AtomicQueue2, 3,s: 9,656,246 msg/sec AtomicQueue2, 3,i: 9,454,404 msg/sec AtomicQueue2, 4,s: 8,025,331 msg/sec AtomicQueue2, 4,i: 8,026,336 msg/sec AtomicQueue2, 5,s: 7,956,185 msg/sec AtomicQueue2, 5,i: 8,062,787 msg/sec AtomicQueue2, 6,s: 7,920,176 msg/sec AtomicQueue2, 6,i: 7,514,239 msg/sec AtomicQueue2, 7,s: 7,105,707 msg/sec AtomicQueue2, 7,i: 7,894,823 msg/sec AtomicQueue2, 8,s: 6,401,436 msg/sec AtomicQueue2, 8,i: 7,347,015 msg/sec AtomicQueueB2, 1,s: 36,041,602 msg/sec AtomicQueueB2, 1,i: 35,955,977 msg/sec AtomicQueueB2, 2,s: 11,370,879 msg/sec AtomicQueueB2, 2,i: 11,135,439 msg/sec AtomicQueueB2, 3,s: 9,691,918 msg/sec AtomicQueueB2, 3,i: 9,631,737 msg/sec AtomicQueueB2, 4,s: 7,937,393 msg/sec AtomicQueueB2, 4,i: 7,860,089 msg/sec AtomicQueueB2, 5,s: 7,500,533 msg/sec AtomicQueueB2, 5,i: 7,769,913 msg/sec AtomicQueueB2, 6,s: 7,265,658 msg/sec AtomicQueueB2, 6,i: 7,419,727 msg/sec AtomicQueueB2, 7,s: 6,878,834 msg/sec AtomicQueueB2, 7,i: 7,720,377 msg/sec AtomicQueueB2, 8,s: 6,305,639 msg/sec AtomicQueueB2, 8,i: 7,128,654 msg/sec OptimistAtomicQueue2, 1,s: 474,209,016 msg/sec OptimistAtomicQueue2, 1,i: 29,613,214 msg/sec OptimistAtomicQueue2, 2,s: 25,681,808 msg/sec OptimistAtomicQueue2, 2,i: 24,018,256 msg/sec OptimistAtomicQueue2, 3,s: 30,330,572 msg/sec OptimistAtomicQueue2, 3,i: 29,993,227 msg/sec OptimistAtomicQueue2, 4,s: 33,204,854 msg/sec OptimistAtomicQueue2, 4,i: 33,282,243 msg/sec OptimistAtomicQueue2, 5,s: 37,253,541 msg/sec OptimistAtomicQueue2, 5,i: 40,896,510 msg/sec OptimistAtomicQueue2, 6,s: 40,220,428 msg/sec OptimistAtomicQueue2, 6,i: 49,123,942 msg/sec OptimistAtomicQueue2, 7,s: 42,758,358 msg/sec OptimistAtomicQueue2, 7,i: 51,586,004 msg/sec OptimistAtomicQueue2, 8,s: 44,550,288 msg/sec OptimistAtomicQueue2, 8,i: 48,718,281 msg/sec OptimistAtomicQueueB2, 1,s: 75,585,841 msg/sec OptimistAtomicQueueB2, 1,i: 33,193,123 msg/sec OptimistAtomicQueueB2, 2,s: 27,164,131 msg/sec OptimistAtomicQueueB2, 2,i: 24,572,086 msg/sec OptimistAtomicQueueB2, 3,s: 29,915,336 msg/sec OptimistAtomicQueueB2, 3,i: 32,593,372 msg/sec OptimistAtomicQueueB2, 4,s: 33,339,611 msg/sec OptimistAtomicQueueB2, 4,i: 32,105,675 msg/sec OptimistAtomicQueueB2, 5,s: 34,471,425 msg/sec OptimistAtomicQueueB2, 5,i: 39,572,857 msg/sec OptimistAtomicQueueB2, 6,s: 37,756,949 msg/sec OptimistAtomicQueueB2, 6,i: 42,321,184 msg/sec OptimistAtomicQueueB2, 7,s: 40,140,932 msg/sec OptimistAtomicQueueB2, 7,i: 45,428,155 msg/sec OptimistAtomicQueueB2, 8,s: 42,300,010 msg/sec OptimistAtomicQueueB2, 8,i: 45,139,578 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000283 sec/round-trip tbb::concurrent_bounded_queue: 0.000000268 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000146 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [260] 138m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,537,653 msg/sec boost::lockfree::spsc_queue, 1,i: 69,434,531 msg/sec boost::lockfree::queue, 1,s: 6,941,907 msg/sec boost::lockfree::queue, 1,i: 6,985,007 msg/sec boost::lockfree::queue, 2,s: 7,669,592 msg/sec boost::lockfree::queue, 2,i: 7,487,359 msg/sec boost::lockfree::queue, 3,s: 7,344,495 msg/sec boost::lockfree::queue, 3,i: 7,576,345 msg/sec boost::lockfree::queue, 4,s: 6,415,248 msg/sec boost::lockfree::queue, 4,i: 6,838,273 msg/sec boost::lockfree::queue, 5,s: 6,420,197 msg/sec boost::lockfree::queue, 5,i: 6,453,709 msg/sec boost::lockfree::queue, 6,s: 5,976,224 msg/sec boost::lockfree::queue, 6,i: 6,096,134 msg/sec boost::lockfree::queue, 7,s: 6,066,096 msg/sec boost::lockfree::queue, 7,i: 6,117,454 msg/sec boost::lockfree::queue, 8,s: 5,521,024 msg/sec boost::lockfree::queue, 8,i: 5,632,329 msg/sec moodycamel::ReaderWriterQueue, 1,s: 170,718,958 msg/sec moodycamel::ReaderWriterQueue, 1,i: 74,564,369 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,104,478 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,119,122 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,784,464 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,634,013 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,607,699 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,765,624 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,331,990 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,207,286 msg/sec moodycamel::ConcurrentQueue, 5,s: 44,438,480 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,842,915 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,533,131 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,395,476 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,288,277 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,019,167 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,303,754 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,294,648 msg/sec pthread_spinlock, 1,s: 29,044,653 msg/sec pthread_spinlock, 1,i: 25,524,736 msg/sec pthread_spinlock, 2,s: 15,496,604 msg/sec pthread_spinlock, 2,i: 17,130,912 msg/sec pthread_spinlock, 3,s: 8,418,594 msg/sec pthread_spinlock, 3,i: 12,066,256 msg/sec pthread_spinlock, 4,s: 6,524,787 msg/sec pthread_spinlock, 4,i: 8,947,520 msg/sec pthread_spinlock, 5,s: 8,735,813 msg/sec pthread_spinlock, 5,i: 9,330,793 msg/sec pthread_spinlock, 6,s: 8,490,721 msg/sec pthread_spinlock, 6,i: 8,374,254 msg/sec pthread_spinlock, 7,s: 7,975,814 msg/sec pthread_spinlock, 7,i: 7,737,496 msg/sec pthread_spinlock, 8,s: 6,726,392 msg/sec pthread_spinlock, 8,i: 6,922,280 msg/sec std::mutex, 1,s: 6,084,224 msg/sec std::mutex, 1,i: 6,149,731 msg/sec std::mutex, 2,s: 5,358,092 msg/sec std::mutex, 2,i: 5,985,994 msg/sec std::mutex, 3,s: 5,478,869 msg/sec std::mutex, 3,i: 6,121,677 msg/sec std::mutex, 4,s: 5,888,580 msg/sec std::mutex, 4,i: 6,384,427 msg/sec std::mutex, 5,s: 6,022,071 msg/sec std::mutex, 5,i: 5,954,391 msg/sec std::mutex, 6,s: 5,959,675 msg/sec std::mutex, 6,i: 5,859,868 msg/sec std::mutex, 7,s: 5,848,101 msg/sec std::mutex, 7,i: 5,860,149 msg/sec std::mutex, 8,s: 5,763,575 msg/sec std::mutex, 8,i: 5,770,079 msg/sec tbb::spin_mutex, 1,s: 37,576,813 msg/sec tbb::spin_mutex, 1,i: 37,658,880 msg/sec tbb::spin_mutex, 2,s: 18,003,529 msg/sec tbb::spin_mutex, 2,i: 18,468,310 msg/sec tbb::spin_mutex, 3,s: 8,483,922 msg/sec tbb::spin_mutex, 3,i: 10,250,233 msg/sec tbb::spin_mutex, 4,s: 3,338,740 msg/sec tbb::spin_mutex, 4,i: 6,424,783 msg/sec tbb::spin_mutex, 5,s: 5,518,952 msg/sec tbb::spin_mutex, 5,i: 5,719,336 msg/sec tbb::spin_mutex, 6,s: 5,357,523 msg/sec tbb::spin_mutex, 6,i: 4,355,560 msg/sec tbb::spin_mutex, 7,s: 4,866,684 msg/sec tbb::spin_mutex, 7,i: 4,292,392 msg/sec tbb::spin_mutex, 8,s: 4,225,426 msg/sec tbb::spin_mutex, 8,i: 4,066,002 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,133,538 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,082,855 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,554,626 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,716,493 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,520,570 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,466,971 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,468,860 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,165,060 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,636,010 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,765,286 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,737,266 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,948,993 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,908,112 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,959,004 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,873,125 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,133,245 msg/sec xenium::michael_scott_queue, 1,s: 9,371,951 msg/sec xenium::michael_scott_queue, 1,i: 9,148,908 msg/sec xenium::michael_scott_queue, 2,s: 8,618,380 msg/sec xenium::michael_scott_queue, 2,i: 8,494,257 msg/sec xenium::michael_scott_queue, 3,s: 7,201,854 msg/sec xenium::michael_scott_queue, 3,i: 7,602,396 msg/sec xenium::michael_scott_queue, 4,s: 6,333,393 msg/sec xenium::michael_scott_queue, 4,i: 6,300,206 msg/sec xenium::michael_scott_queue, 5,s: 6,279,508 msg/sec xenium::michael_scott_queue, 5,i: 6,691,094 msg/sec xenium::michael_scott_queue, 6,s: 6,449,621 msg/sec xenium::michael_scott_queue, 6,i: 6,856,132 msg/sec xenium::michael_scott_queue, 7,s: 6,291,928 msg/sec xenium::michael_scott_queue, 7,i: 6,413,945 msg/sec xenium::michael_scott_queue, 8,s: 6,038,725 msg/sec xenium::michael_scott_queue, 8,i: 6,160,179 msg/sec xenium::ramalhete_queue, 1,s: 32,407,500 msg/sec xenium::ramalhete_queue, 1,i: 32,611,652 msg/sec xenium::ramalhete_queue, 2,s: 23,522,240 msg/sec xenium::ramalhete_queue, 2,i: 23,399,385 msg/sec xenium::ramalhete_queue, 3,s: 29,186,380 msg/sec xenium::ramalhete_queue, 3,i: 28,714,207 msg/sec xenium::ramalhete_queue, 4,s: 33,808,441 msg/sec xenium::ramalhete_queue, 4,i: 33,426,738 msg/sec xenium::ramalhete_queue, 5,s: 32,148,707 msg/sec xenium::ramalhete_queue, 5,i: 36,116,425 msg/sec xenium::ramalhete_queue, 6,s: 33,923,437 msg/sec xenium::ramalhete_queue, 6,i: 38,984,291 msg/sec xenium::ramalhete_queue, 7,s: 35,153,786 msg/sec xenium::ramalhete_queue, 7,i: 40,996,258 msg/sec xenium::ramalhete_queue, 8,s: 35,513,307 msg/sec xenium::ramalhete_queue, 8,i: 44,412,135 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,715,915 msg/sec xenium::vyukov_bounded_queue, 1,i: 117,366,556 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,777,731 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,720,082 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,661,379 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,263,693 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,599,648 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,393,370 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,842,544 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,345,093 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,215,844 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,255,782 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,273,772 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,377,372 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,389,722 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,322,352 msg/sec AtomicQueue, 1,s: 166,540,741 msg/sec AtomicQueue, 1,i: 92,373,707 msg/sec AtomicQueue, 2,s: 12,318,382 msg/sec AtomicQueue, 2,i: 11,751,662 msg/sec AtomicQueue, 3,s: 10,739,576 msg/sec AtomicQueue, 3,i: 9,945,731 msg/sec AtomicQueue, 4,s: 8,151,687 msg/sec AtomicQueue, 4,i: 8,207,878 msg/sec AtomicQueue, 5,s: 8,021,573 msg/sec AtomicQueue, 5,i: 8,111,068 msg/sec AtomicQueue, 6,s: 7,835,629 msg/sec AtomicQueue, 6,i: 7,613,623 msg/sec AtomicQueue, 7,s: 7,183,899 msg/sec AtomicQueue, 7,i: 7,973,602 msg/sec AtomicQueue, 8,s: 6,340,003 msg/sec AtomicQueue, 8,i: 7,466,028 msg/sec AtomicQueueB, 1,s: 130,059,370 msg/sec AtomicQueueB, 1,i: 43,898,132 msg/sec AtomicQueueB, 2,s: 11,849,078 msg/sec AtomicQueueB, 2,i: 11,471,908 msg/sec AtomicQueueB, 3,s: 10,971,171 msg/sec AtomicQueueB, 3,i: 10,227,990 msg/sec AtomicQueueB, 4,s: 8,032,184 msg/sec AtomicQueueB, 4,i: 8,080,047 msg/sec AtomicQueueB, 5,s: 7,718,107 msg/sec AtomicQueueB, 5,i: 7,787,008 msg/sec AtomicQueueB, 6,s: 7,323,705 msg/sec AtomicQueueB, 6,i: 7,499,421 msg/sec AtomicQueueB, 7,s: 6,839,372 msg/sec AtomicQueueB, 7,i: 7,739,664 msg/sec AtomicQueueB, 8,s: 6,245,217 msg/sec AtomicQueueB, 8,i: 7,145,703 msg/sec OptimistAtomicQueue, 1,s: 704,040,045 msg/sec OptimistAtomicQueue, 1,i: 766,297,177 msg/sec OptimistAtomicQueue, 2,s: 32,643,113 msg/sec OptimistAtomicQueue, 2,i: 32,743,330 msg/sec OptimistAtomicQueue, 3,s: 36,618,869 msg/sec OptimistAtomicQueue, 3,i: 37,381,950 msg/sec OptimistAtomicQueue, 4,s: 39,270,465 msg/sec OptimistAtomicQueue, 4,i: 39,337,971 msg/sec OptimistAtomicQueue, 5,s: 42,436,424 msg/sec OptimistAtomicQueue, 5,i: 46,524,218 msg/sec OptimistAtomicQueue, 6,s: 41,977,804 msg/sec OptimistAtomicQueue, 6,i: 49,841,732 msg/sec OptimistAtomicQueue, 7,s: 44,014,235 msg/sec OptimistAtomicQueue, 7,i: 52,954,230 msg/sec OptimistAtomicQueue, 8,s: 46,470,953 msg/sec OptimistAtomicQueue, 8,i: 49,664,873 msg/sec OptimistAtomicQueueB, 1,s: 194,674,285 msg/sec OptimistAtomicQueueB, 1,i: 77,654,058 msg/sec OptimistAtomicQueueB, 2,s: 32,253,726 msg/sec OptimistAtomicQueueB, 2,i: 32,148,467 msg/sec OptimistAtomicQueueB, 3,s: 36,298,886 msg/sec OptimistAtomicQueueB, 3,i: 36,779,426 msg/sec OptimistAtomicQueueB, 4,s: 38,613,457 msg/sec OptimistAtomicQueueB, 4,i: 38,677,108 msg/sec OptimistAtomicQueueB, 5,s: 41,086,536 msg/sec OptimistAtomicQueueB, 5,i: 45,259,319 msg/sec OptimistAtomicQueueB, 6,s: 40,525,560 msg/sec OptimistAtomicQueueB, 6,i: 49,022,454 msg/sec OptimistAtomicQueueB, 7,s: 41,768,026 msg/sec OptimistAtomicQueueB, 7,i: 47,983,209 msg/sec OptimistAtomicQueueB, 8,s: 44,552,676 msg/sec OptimistAtomicQueueB, 8,i: 47,632,791 msg/sec AtomicQueue2, 1,s: 22,977,682 msg/sec AtomicQueue2, 1,i: 22,892,876 msg/sec AtomicQueue2, 2,s: 11,812,596 msg/sec AtomicQueue2, 2,i: 11,397,746 msg/sec AtomicQueue2, 3,s: 9,874,186 msg/sec AtomicQueue2, 3,i: 9,413,310 msg/sec AtomicQueue2, 4,s: 8,011,144 msg/sec AtomicQueue2, 4,i: 8,043,948 msg/sec AtomicQueue2, 5,s: 7,934,227 msg/sec AtomicQueue2, 5,i: 8,043,969 msg/sec AtomicQueue2, 6,s: 7,706,316 msg/sec AtomicQueue2, 6,i: 7,518,072 msg/sec AtomicQueue2, 7,s: 7,168,098 msg/sec AtomicQueue2, 7,i: 7,946,537 msg/sec AtomicQueue2, 8,s: 6,375,326 msg/sec AtomicQueue2, 8,i: 7,375,072 msg/sec AtomicQueueB2, 1,s: 35,964,674 msg/sec AtomicQueueB2, 1,i: 35,931,965 msg/sec AtomicQueueB2, 2,s: 11,451,909 msg/sec AtomicQueueB2, 2,i: 11,091,234 msg/sec AtomicQueueB2, 3,s: 9,708,158 msg/sec AtomicQueueB2, 3,i: 9,527,138 msg/sec AtomicQueueB2, 4,s: 7,995,840 msg/sec AtomicQueueB2, 4,i: 7,799,872 msg/sec AtomicQueueB2, 5,s: 7,609,255 msg/sec AtomicQueueB2, 5,i: 7,646,008 msg/sec AtomicQueueB2, 6,s: 7,407,616 msg/sec AtomicQueueB2, 6,i: 7,454,107 msg/sec AtomicQueueB2, 7,s: 6,931,071 msg/sec AtomicQueueB2, 7,i: 7,685,415 msg/sec AtomicQueueB2, 8,s: 6,279,391 msg/sec AtomicQueueB2, 8,i: 7,099,030 msg/sec OptimistAtomicQueue2, 1,s: 490,614,242 msg/sec OptimistAtomicQueue2, 1,i: 29,794,432 msg/sec OptimistAtomicQueue2, 2,s: 25,110,414 msg/sec OptimistAtomicQueue2, 2,i: 24,512,854 msg/sec OptimistAtomicQueue2, 3,s: 30,901,916 msg/sec OptimistAtomicQueue2, 3,i: 29,953,462 msg/sec OptimistAtomicQueue2, 4,s: 33,203,120 msg/sec OptimistAtomicQueue2, 4,i: 33,686,397 msg/sec OptimistAtomicQueue2, 5,s: 37,045,668 msg/sec OptimistAtomicQueue2, 5,i: 40,614,068 msg/sec OptimistAtomicQueue2, 6,s: 40,203,869 msg/sec OptimistAtomicQueue2, 6,i: 49,384,346 msg/sec OptimistAtomicQueue2, 7,s: 42,705,315 msg/sec OptimistAtomicQueue2, 7,i: 48,196,026 msg/sec OptimistAtomicQueue2, 8,s: 43,969,037 msg/sec OptimistAtomicQueue2, 8,i: 48,625,735 msg/sec OptimistAtomicQueueB2, 1,s: 75,698,559 msg/sec OptimistAtomicQueueB2, 1,i: 54,479,398 msg/sec OptimistAtomicQueueB2, 2,s: 28,996,315 msg/sec OptimistAtomicQueueB2, 2,i: 23,240,598 msg/sec OptimistAtomicQueueB2, 3,s: 31,732,152 msg/sec OptimistAtomicQueueB2, 3,i: 29,038,201 msg/sec OptimistAtomicQueueB2, 4,s: 33,415,833 msg/sec OptimistAtomicQueueB2, 4,i: 32,171,417 msg/sec OptimistAtomicQueueB2, 5,s: 34,437,840 msg/sec OptimistAtomicQueueB2, 5,i: 39,348,746 msg/sec OptimistAtomicQueueB2, 6,s: 37,590,990 msg/sec OptimistAtomicQueueB2, 6,i: 42,328,819 msg/sec OptimistAtomicQueueB2, 7,s: 40,850,074 msg/sec OptimistAtomicQueueB2, 7,i: 43,213,873 msg/sec OptimistAtomicQueueB2, 8,s: 42,186,349 msg/sec OptimistAtomicQueueB2, 8,i: 45,934,797 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000324 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000125 sec/round-trip moodycamel::ConcurrentQueue: 0.000000246 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000282 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000399 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [261] 136m:55s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,916,265 msg/sec boost::lockfree::spsc_queue, 1,i: 68,998,403 msg/sec boost::lockfree::queue, 1,s: 6,829,208 msg/sec boost::lockfree::queue, 1,i: 6,850,253 msg/sec boost::lockfree::queue, 2,s: 7,537,757 msg/sec boost::lockfree::queue, 2,i: 7,486,329 msg/sec boost::lockfree::queue, 3,s: 7,386,536 msg/sec boost::lockfree::queue, 3,i: 7,538,292 msg/sec boost::lockfree::queue, 4,s: 6,419,399 msg/sec boost::lockfree::queue, 4,i: 6,798,663 msg/sec boost::lockfree::queue, 5,s: 6,506,688 msg/sec boost::lockfree::queue, 5,i: 6,444,587 msg/sec boost::lockfree::queue, 6,s: 6,056,274 msg/sec boost::lockfree::queue, 6,i: 6,079,082 msg/sec boost::lockfree::queue, 7,s: 5,882,921 msg/sec boost::lockfree::queue, 7,i: 6,072,246 msg/sec boost::lockfree::queue, 8,s: 5,508,284 msg/sec boost::lockfree::queue, 8,i: 5,503,075 msg/sec moodycamel::ReaderWriterQueue, 1,s: 66,577,154 msg/sec moodycamel::ReaderWriterQueue, 1,i: 60,404,492 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,182,911 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,618,542 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,815,123 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,780,577 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,069,221 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,696,401 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,879,832 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,932,291 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,159,783 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,288,973 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,278,911 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,327,419 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,122,843 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,793,298 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,355,387 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,113,040 msg/sec pthread_spinlock, 1,s: 29,037,051 msg/sec pthread_spinlock, 1,i: 25,299,263 msg/sec pthread_spinlock, 2,s: 15,807,303 msg/sec pthread_spinlock, 2,i: 17,109,158 msg/sec pthread_spinlock, 3,s: 8,442,867 msg/sec pthread_spinlock, 3,i: 12,143,160 msg/sec pthread_spinlock, 4,s: 6,519,568 msg/sec pthread_spinlock, 4,i: 8,711,885 msg/sec pthread_spinlock, 5,s: 8,613,674 msg/sec pthread_spinlock, 5,i: 9,130,544 msg/sec pthread_spinlock, 6,s: 8,623,315 msg/sec pthread_spinlock, 6,i: 8,379,268 msg/sec pthread_spinlock, 7,s: 7,562,795 msg/sec pthread_spinlock, 7,i: 7,595,641 msg/sec pthread_spinlock, 8,s: 6,687,489 msg/sec pthread_spinlock, 8,i: 6,976,183 msg/sec std::mutex, 1,s: 7,030,534 msg/sec std::mutex, 1,i: 7,256,094 msg/sec std::mutex, 2,s: 5,928,293 msg/sec std::mutex, 2,i: 6,178,102 msg/sec std::mutex, 3,s: 6,111,449 msg/sec std::mutex, 3,i: 5,808,715 msg/sec std::mutex, 4,s: 6,303,351 msg/sec std::mutex, 4,i: 6,216,353 msg/sec std::mutex, 5,s: 5,959,504 msg/sec std::mutex, 5,i: 5,960,038 msg/sec std::mutex, 6,s: 5,599,111 msg/sec std::mutex, 6,i: 5,973,162 msg/sec std::mutex, 7,s: 5,758,838 msg/sec std::mutex, 7,i: 5,825,491 msg/sec std::mutex, 8,s: 5,671,137 msg/sec std::mutex, 8,i: 5,670,073 msg/sec tbb::spin_mutex, 1,s: 37,914,792 msg/sec tbb::spin_mutex, 1,i: 33,098,931 msg/sec tbb::spin_mutex, 2,s: 21,159,243 msg/sec tbb::spin_mutex, 2,i: 19,439,990 msg/sec tbb::spin_mutex, 3,s: 8,598,408 msg/sec tbb::spin_mutex, 3,i: 10,262,098 msg/sec tbb::spin_mutex, 4,s: 3,109,851 msg/sec tbb::spin_mutex, 4,i: 6,320,298 msg/sec tbb::spin_mutex, 5,s: 5,604,686 msg/sec tbb::spin_mutex, 5,i: 5,451,169 msg/sec tbb::spin_mutex, 6,s: 5,313,187 msg/sec tbb::spin_mutex, 6,i: 4,323,073 msg/sec tbb::spin_mutex, 7,s: 4,849,287 msg/sec tbb::spin_mutex, 7,i: 4,349,240 msg/sec tbb::spin_mutex, 8,s: 4,227,078 msg/sec tbb::spin_mutex, 8,i: 4,160,988 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,785,950 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,211,653 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,771,207 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,939,645 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,166,771 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,554,576 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,312,163 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,226,503 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,781,865 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,182,286 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,834,690 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,434,462 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,984,802 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,572,911 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,076,356 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,721,295 msg/sec xenium::michael_scott_queue, 1,s: 9,353,805 msg/sec xenium::michael_scott_queue, 1,i: 9,157,440 msg/sec xenium::michael_scott_queue, 2,s: 8,514,182 msg/sec xenium::michael_scott_queue, 2,i: 8,511,284 msg/sec xenium::michael_scott_queue, 3,s: 7,385,823 msg/sec xenium::michael_scott_queue, 3,i: 7,570,472 msg/sec xenium::michael_scott_queue, 4,s: 6,410,506 msg/sec xenium::michael_scott_queue, 4,i: 6,353,251 msg/sec xenium::michael_scott_queue, 5,s: 6,299,656 msg/sec xenium::michael_scott_queue, 5,i: 6,641,690 msg/sec xenium::michael_scott_queue, 6,s: 6,477,114 msg/sec xenium::michael_scott_queue, 6,i: 6,960,991 msg/sec xenium::michael_scott_queue, 7,s: 6,355,065 msg/sec xenium::michael_scott_queue, 7,i: 6,468,656 msg/sec xenium::michael_scott_queue, 8,s: 6,037,147 msg/sec xenium::michael_scott_queue, 8,i: 6,137,554 msg/sec xenium::ramalhete_queue, 1,s: 32,385,750 msg/sec xenium::ramalhete_queue, 1,i: 32,305,715 msg/sec xenium::ramalhete_queue, 2,s: 23,488,806 msg/sec xenium::ramalhete_queue, 2,i: 23,400,163 msg/sec xenium::ramalhete_queue, 3,s: 29,114,757 msg/sec xenium::ramalhete_queue, 3,i: 28,398,312 msg/sec xenium::ramalhete_queue, 4,s: 33,864,810 msg/sec xenium::ramalhete_queue, 4,i: 33,498,007 msg/sec xenium::ramalhete_queue, 5,s: 32,163,991 msg/sec xenium::ramalhete_queue, 5,i: 35,996,850 msg/sec xenium::ramalhete_queue, 6,s: 33,905,635 msg/sec xenium::ramalhete_queue, 6,i: 39,358,685 msg/sec xenium::ramalhete_queue, 7,s: 34,987,610 msg/sec xenium::ramalhete_queue, 7,i: 41,307,846 msg/sec xenium::ramalhete_queue, 8,s: 35,627,730 msg/sec xenium::ramalhete_queue, 8,i: 43,937,403 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,945,056 msg/sec xenium::vyukov_bounded_queue, 1,i: 110,068,720 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,617,203 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,021,655 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,658,575 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,924,938 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,522,833 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,464,645 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,751,208 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,389,324 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,015,268 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,344,095 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,176,632 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,296,607 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,401,199 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,349,813 msg/sec AtomicQueue, 1,s: 59,363,972 msg/sec AtomicQueue, 1,i: 57,144,889 msg/sec AtomicQueue, 2,s: 12,345,155 msg/sec AtomicQueue, 2,i: 11,738,450 msg/sec AtomicQueue, 3,s: 10,857,296 msg/sec AtomicQueue, 3,i: 9,979,991 msg/sec AtomicQueue, 4,s: 8,140,157 msg/sec AtomicQueue, 4,i: 8,239,351 msg/sec AtomicQueue, 5,s: 8,006,743 msg/sec AtomicQueue, 5,i: 8,109,058 msg/sec AtomicQueue, 6,s: 7,858,542 msg/sec AtomicQueue, 6,i: 7,621,303 msg/sec AtomicQueue, 7,s: 7,196,219 msg/sec AtomicQueue, 7,i: 7,978,941 msg/sec AtomicQueue, 8,s: 6,317,213 msg/sec AtomicQueue, 8,i: 7,474,732 msg/sec AtomicQueueB, 1,s: 91,739,563 msg/sec AtomicQueueB, 1,i: 43,011,736 msg/sec AtomicQueueB, 2,s: 11,819,428 msg/sec AtomicQueueB, 2,i: 11,465,921 msg/sec AtomicQueueB, 3,s: 11,090,359 msg/sec AtomicQueueB, 3,i: 10,246,229 msg/sec AtomicQueueB, 4,s: 8,090,054 msg/sec AtomicQueueB, 4,i: 7,932,478 msg/sec AtomicQueueB, 5,s: 7,583,895 msg/sec AtomicQueueB, 5,i: 7,768,457 msg/sec AtomicQueueB, 6,s: 7,475,488 msg/sec AtomicQueueB, 6,i: 7,548,594 msg/sec AtomicQueueB, 7,s: 6,857,686 msg/sec AtomicQueueB, 7,i: 7,722,598 msg/sec AtomicQueueB, 8,s: 6,306,501 msg/sec AtomicQueueB, 8,i: 7,154,495 msg/sec OptimistAtomicQueue, 1,s: 690,009,932 msg/sec OptimistAtomicQueue, 1,i: 577,447,971 msg/sec OptimistAtomicQueue, 2,s: 32,548,656 msg/sec OptimistAtomicQueue, 2,i: 32,330,018 msg/sec OptimistAtomicQueue, 3,s: 36,681,591 msg/sec OptimistAtomicQueue, 3,i: 37,413,139 msg/sec OptimistAtomicQueue, 4,s: 39,274,996 msg/sec OptimistAtomicQueue, 4,i: 39,377,740 msg/sec OptimistAtomicQueue, 5,s: 42,455,003 msg/sec OptimistAtomicQueue, 5,i: 47,107,838 msg/sec OptimistAtomicQueue, 6,s: 42,223,184 msg/sec OptimistAtomicQueue, 6,i: 50,370,255 msg/sec OptimistAtomicQueue, 7,s: 45,077,416 msg/sec OptimistAtomicQueue, 7,i: 52,981,178 msg/sec OptimistAtomicQueue, 8,s: 46,393,473 msg/sec OptimistAtomicQueue, 8,i: 49,117,819 msg/sec OptimistAtomicQueueB, 1,s: 166,122,704 msg/sec OptimistAtomicQueueB, 1,i: 76,612,360 msg/sec OptimistAtomicQueueB, 2,s: 32,324,402 msg/sec OptimistAtomicQueueB, 2,i: 32,352,038 msg/sec OptimistAtomicQueueB, 3,s: 36,301,665 msg/sec OptimistAtomicQueueB, 3,i: 36,933,029 msg/sec OptimistAtomicQueueB, 4,s: 38,678,060 msg/sec OptimistAtomicQueueB, 4,i: 38,640,779 msg/sec OptimistAtomicQueueB, 5,s: 40,551,170 msg/sec OptimistAtomicQueueB, 5,i: 45,443,514 msg/sec OptimistAtomicQueueB, 6,s: 41,181,497 msg/sec OptimistAtomicQueueB, 6,i: 49,046,005 msg/sec OptimistAtomicQueueB, 7,s: 41,914,497 msg/sec OptimistAtomicQueueB, 7,i: 48,121,361 msg/sec OptimistAtomicQueueB, 8,s: 44,171,857 msg/sec OptimistAtomicQueueB, 8,i: 48,313,846 msg/sec AtomicQueue2, 1,s: 22,855,456 msg/sec AtomicQueue2, 1,i: 22,852,460 msg/sec AtomicQueue2, 2,s: 11,651,137 msg/sec AtomicQueue2, 2,i: 11,378,058 msg/sec AtomicQueue2, 3,s: 9,439,046 msg/sec AtomicQueue2, 3,i: 9,538,034 msg/sec AtomicQueue2, 4,s: 8,071,680 msg/sec AtomicQueue2, 4,i: 8,077,004 msg/sec AtomicQueue2, 5,s: 7,900,360 msg/sec AtomicQueue2, 5,i: 8,061,928 msg/sec AtomicQueue2, 6,s: 7,806,065 msg/sec AtomicQueue2, 6,i: 7,548,386 msg/sec AtomicQueue2, 7,s: 7,144,430 msg/sec AtomicQueue2, 7,i: 7,879,934 msg/sec AtomicQueue2, 8,s: 6,392,547 msg/sec AtomicQueue2, 8,i: 7,337,464 msg/sec AtomicQueueB2, 1,s: 36,339,451 msg/sec AtomicQueueB2, 1,i: 32,633,239 msg/sec AtomicQueueB2, 2,s: 11,388,361 msg/sec AtomicQueueB2, 2,i: 11,160,400 msg/sec AtomicQueueB2, 3,s: 9,685,319 msg/sec AtomicQueueB2, 3,i: 9,536,018 msg/sec AtomicQueueB2, 4,s: 7,960,166 msg/sec AtomicQueueB2, 4,i: 7,853,791 msg/sec AtomicQueueB2, 5,s: 7,542,909 msg/sec AtomicQueueB2, 5,i: 7,673,244 msg/sec AtomicQueueB2, 6,s: 7,320,793 msg/sec AtomicQueueB2, 6,i: 7,442,500 msg/sec AtomicQueueB2, 7,s: 6,866,458 msg/sec AtomicQueueB2, 7,i: 7,685,642 msg/sec AtomicQueueB2, 8,s: 6,327,278 msg/sec AtomicQueueB2, 8,i: 7,109,629 msg/sec OptimistAtomicQueue2, 1,s: 108,997,171 msg/sec OptimistAtomicQueue2, 1,i: 28,696,850 msg/sec OptimistAtomicQueue2, 2,s: 24,900,337 msg/sec OptimistAtomicQueue2, 2,i: 22,314,219 msg/sec OptimistAtomicQueue2, 3,s: 30,220,481 msg/sec OptimistAtomicQueue2, 3,i: 29,862,119 msg/sec OptimistAtomicQueue2, 4,s: 33,283,746 msg/sec OptimistAtomicQueue2, 4,i: 33,155,283 msg/sec OptimistAtomicQueue2, 5,s: 37,694,797 msg/sec OptimistAtomicQueue2, 5,i: 40,295,075 msg/sec OptimistAtomicQueue2, 6,s: 40,065,089 msg/sec OptimistAtomicQueue2, 6,i: 49,252,413 msg/sec OptimistAtomicQueue2, 7,s: 43,412,105 msg/sec OptimistAtomicQueue2, 7,i: 47,900,678 msg/sec OptimistAtomicQueue2, 8,s: 43,987,047 msg/sec OptimistAtomicQueue2, 8,i: 48,430,905 msg/sec OptimistAtomicQueueB2, 1,s: 69,277,716 msg/sec OptimistAtomicQueueB2, 1,i: 33,871,126 msg/sec OptimistAtomicQueueB2, 2,s: 27,696,533 msg/sec OptimistAtomicQueueB2, 2,i: 23,187,326 msg/sec OptimistAtomicQueueB2, 3,s: 29,412,086 msg/sec OptimistAtomicQueueB2, 3,i: 29,018,752 msg/sec OptimistAtomicQueueB2, 4,s: 33,188,337 msg/sec OptimistAtomicQueueB2, 4,i: 32,621,937 msg/sec OptimistAtomicQueueB2, 5,s: 34,370,275 msg/sec OptimistAtomicQueueB2, 5,i: 39,073,851 msg/sec OptimistAtomicQueueB2, 6,s: 37,518,660 msg/sec OptimistAtomicQueueB2, 6,i: 42,476,937 msg/sec OptimistAtomicQueueB2, 7,s: 40,738,895 msg/sec OptimistAtomicQueueB2, 7,i: 45,294,584 msg/sec OptimistAtomicQueueB2, 8,s: 42,409,681 msg/sec OptimistAtomicQueueB2, 8,i: 46,169,869 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000325 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000116 sec/round-trip moodycamel::ConcurrentQueue: 0.000000230 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000261 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [262] 135m:35s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,626,429 msg/sec boost::lockfree::spsc_queue, 1,i: 65,793,425 msg/sec boost::lockfree::queue, 1,s: 6,865,044 msg/sec boost::lockfree::queue, 1,i: 6,928,154 msg/sec boost::lockfree::queue, 2,s: 7,646,684 msg/sec boost::lockfree::queue, 2,i: 7,493,313 msg/sec boost::lockfree::queue, 3,s: 7,410,027 msg/sec boost::lockfree::queue, 3,i: 7,534,576 msg/sec boost::lockfree::queue, 4,s: 6,419,695 msg/sec boost::lockfree::queue, 4,i: 6,807,645 msg/sec boost::lockfree::queue, 5,s: 6,412,574 msg/sec boost::lockfree::queue, 5,i: 6,475,982 msg/sec boost::lockfree::queue, 6,s: 6,000,391 msg/sec boost::lockfree::queue, 6,i: 6,085,080 msg/sec boost::lockfree::queue, 7,s: 5,979,135 msg/sec boost::lockfree::queue, 7,i: 5,922,193 msg/sec boost::lockfree::queue, 8,s: 5,460,283 msg/sec boost::lockfree::queue, 8,i: 5,641,110 msg/sec moodycamel::ReaderWriterQueue, 1,s: 422,148,618 msg/sec moodycamel::ReaderWriterQueue, 1,i: 169,602,003 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,015,151 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,893,563 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,224,528 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,166,054 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,112,625 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,443,905 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,509,767 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,186,832 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,435,014 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,200,748 msg/sec moodycamel::ConcurrentQueue, 6,s: 31,537,196 msg/sec moodycamel::ConcurrentQueue, 6,i: 48,362,038 msg/sec moodycamel::ConcurrentQueue, 7,s: 31,838,499 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,928,106 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,503,529 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,589,949 msg/sec pthread_spinlock, 1,s: 28,782,927 msg/sec pthread_spinlock, 1,i: 25,343,687 msg/sec pthread_spinlock, 2,s: 15,633,941 msg/sec pthread_spinlock, 2,i: 16,978,103 msg/sec pthread_spinlock, 3,s: 8,319,680 msg/sec pthread_spinlock, 3,i: 12,170,296 msg/sec pthread_spinlock, 4,s: 6,506,805 msg/sec pthread_spinlock, 4,i: 9,226,346 msg/sec pthread_spinlock, 5,s: 8,663,300 msg/sec pthread_spinlock, 5,i: 9,205,107 msg/sec pthread_spinlock, 6,s: 8,286,757 msg/sec pthread_spinlock, 6,i: 9,108,874 msg/sec pthread_spinlock, 7,s: 7,560,249 msg/sec pthread_spinlock, 7,i: 7,719,034 msg/sec pthread_spinlock, 8,s: 6,754,163 msg/sec pthread_spinlock, 8,i: 7,275,765 msg/sec std::mutex, 1,s: 7,056,624 msg/sec std::mutex, 1,i: 7,642,955 msg/sec std::mutex, 2,s: 6,033,325 msg/sec std::mutex, 2,i: 6,030,825 msg/sec std::mutex, 3,s: 6,088,271 msg/sec std::mutex, 3,i: 6,056,375 msg/sec std::mutex, 4,s: 6,298,555 msg/sec std::mutex, 4,i: 6,258,847 msg/sec std::mutex, 5,s: 6,047,838 msg/sec std::mutex, 5,i: 5,770,066 msg/sec std::mutex, 6,s: 5,919,860 msg/sec std::mutex, 6,i: 5,940,960 msg/sec std::mutex, 7,s: 5,783,901 msg/sec std::mutex, 7,i: 5,830,701 msg/sec std::mutex, 8,s: 5,667,518 msg/sec std::mutex, 8,i: 5,712,774 msg/sec tbb::spin_mutex, 1,s: 37,831,257 msg/sec tbb::spin_mutex, 1,i: 37,865,545 msg/sec tbb::spin_mutex, 2,s: 21,077,655 msg/sec tbb::spin_mutex, 2,i: 20,547,793 msg/sec tbb::spin_mutex, 3,s: 8,359,178 msg/sec tbb::spin_mutex, 3,i: 11,324,036 msg/sec tbb::spin_mutex, 4,s: 3,163,467 msg/sec tbb::spin_mutex, 4,i: 6,261,684 msg/sec tbb::spin_mutex, 5,s: 5,613,638 msg/sec tbb::spin_mutex, 5,i: 5,433,272 msg/sec tbb::spin_mutex, 6,s: 5,319,426 msg/sec tbb::spin_mutex, 6,i: 4,390,820 msg/sec tbb::spin_mutex, 7,s: 4,840,961 msg/sec tbb::spin_mutex, 7,i: 4,326,861 msg/sec tbb::spin_mutex, 8,s: 4,226,971 msg/sec tbb::spin_mutex, 8,i: 4,074,225 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,533,840 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,558,804 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,812,635 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,760,789 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,479,562 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,853,083 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,116,060 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,380,737 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,670,405 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,817,810 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,934,746 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,008,844 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,796,997 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,127,850 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,628,168 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,306,198 msg/sec xenium::michael_scott_queue, 1,s: 10,146,375 msg/sec xenium::michael_scott_queue, 1,i: 10,015,682 msg/sec xenium::michael_scott_queue, 2,s: 8,492,352 msg/sec xenium::michael_scott_queue, 2,i: 8,555,624 msg/sec xenium::michael_scott_queue, 3,s: 7,151,486 msg/sec xenium::michael_scott_queue, 3,i: 7,533,030 msg/sec xenium::michael_scott_queue, 4,s: 6,258,240 msg/sec xenium::michael_scott_queue, 4,i: 6,305,727 msg/sec xenium::michael_scott_queue, 5,s: 6,313,044 msg/sec xenium::michael_scott_queue, 5,i: 6,631,443 msg/sec xenium::michael_scott_queue, 6,s: 6,549,945 msg/sec xenium::michael_scott_queue, 6,i: 7,004,262 msg/sec xenium::michael_scott_queue, 7,s: 6,330,620 msg/sec xenium::michael_scott_queue, 7,i: 6,502,410 msg/sec xenium::michael_scott_queue, 8,s: 6,033,788 msg/sec xenium::michael_scott_queue, 8,i: 6,074,278 msg/sec xenium::ramalhete_queue, 1,s: 32,090,944 msg/sec xenium::ramalhete_queue, 1,i: 32,413,445 msg/sec xenium::ramalhete_queue, 2,s: 23,547,367 msg/sec xenium::ramalhete_queue, 2,i: 23,386,824 msg/sec xenium::ramalhete_queue, 3,s: 29,276,925 msg/sec xenium::ramalhete_queue, 3,i: 28,502,403 msg/sec xenium::ramalhete_queue, 4,s: 33,803,912 msg/sec xenium::ramalhete_queue, 4,i: 33,540,592 msg/sec xenium::ramalhete_queue, 5,s: 32,067,776 msg/sec xenium::ramalhete_queue, 5,i: 36,001,107 msg/sec xenium::ramalhete_queue, 6,s: 34,193,233 msg/sec xenium::ramalhete_queue, 6,i: 38,692,041 msg/sec xenium::ramalhete_queue, 7,s: 35,327,816 msg/sec xenium::ramalhete_queue, 7,i: 41,378,047 msg/sec xenium::ramalhete_queue, 8,s: 35,592,033 msg/sec xenium::ramalhete_queue, 8,i: 44,393,356 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,908,724 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,119,343 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,430,977 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,479,096 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,762,649 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,883,277 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,682,478 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,086,790 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,915,587 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,386,041 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,073,633 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,633,191 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,248,917 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,909,677 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,397,596 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,233,367 msg/sec AtomicQueue, 1,s: 61,037,801 msg/sec AtomicQueue, 1,i: 56,592,366 msg/sec AtomicQueue, 2,s: 12,308,028 msg/sec AtomicQueue, 2,i: 11,717,219 msg/sec AtomicQueue, 3,s: 10,788,216 msg/sec AtomicQueue, 3,i: 9,975,582 msg/sec AtomicQueue, 4,s: 8,134,096 msg/sec AtomicQueue, 4,i: 8,207,797 msg/sec AtomicQueue, 5,s: 8,043,284 msg/sec AtomicQueue, 5,i: 8,080,654 msg/sec AtomicQueue, 6,s: 7,784,633 msg/sec AtomicQueue, 6,i: 7,623,473 msg/sec AtomicQueue, 7,s: 7,126,272 msg/sec AtomicQueue, 7,i: 7,983,243 msg/sec AtomicQueue, 8,s: 6,365,277 msg/sec AtomicQueue, 8,i: 7,434,071 msg/sec AtomicQueueB, 1,s: 106,309,805 msg/sec AtomicQueueB, 1,i: 43,343,198 msg/sec AtomicQueueB, 2,s: 11,856,470 msg/sec AtomicQueueB, 2,i: 11,450,482 msg/sec AtomicQueueB, 3,s: 11,004,747 msg/sec AtomicQueueB, 3,i: 10,343,254 msg/sec AtomicQueueB, 4,s: 8,067,341 msg/sec AtomicQueueB, 4,i: 8,055,199 msg/sec AtomicQueueB, 5,s: 7,523,775 msg/sec AtomicQueueB, 5,i: 7,861,192 msg/sec AtomicQueueB, 6,s: 7,300,045 msg/sec AtomicQueueB, 6,i: 7,502,441 msg/sec AtomicQueueB, 7,s: 6,877,850 msg/sec AtomicQueueB, 7,i: 7,700,793 msg/sec AtomicQueueB, 8,s: 6,298,024 msg/sec AtomicQueueB, 8,i: 7,173,728 msg/sec OptimistAtomicQueue, 1,s: 771,534,244 msg/sec OptimistAtomicQueue, 1,i: 610,874,015 msg/sec OptimistAtomicQueue, 2,s: 32,642,846 msg/sec OptimistAtomicQueue, 2,i: 32,737,506 msg/sec OptimistAtomicQueue, 3,s: 36,644,593 msg/sec OptimistAtomicQueue, 3,i: 37,403,813 msg/sec OptimistAtomicQueue, 4,s: 39,265,869 msg/sec OptimistAtomicQueue, 4,i: 39,410,217 msg/sec OptimistAtomicQueue, 5,s: 42,466,590 msg/sec OptimistAtomicQueue, 5,i: 46,256,414 msg/sec OptimistAtomicQueue, 6,s: 42,505,644 msg/sec OptimistAtomicQueue, 6,i: 50,225,193 msg/sec OptimistAtomicQueue, 7,s: 44,029,361 msg/sec OptimistAtomicQueue, 7,i: 48,671,333 msg/sec OptimistAtomicQueue, 8,s: 46,317,281 msg/sec OptimistAtomicQueue, 8,i: 48,941,190 msg/sec OptimistAtomicQueueB, 1,s: 155,732,954 msg/sec OptimistAtomicQueueB, 1,i: 200,995,571 msg/sec OptimistAtomicQueueB, 2,s: 32,176,246 msg/sec OptimistAtomicQueueB, 2,i: 32,235,545 msg/sec OptimistAtomicQueueB, 3,s: 36,292,039 msg/sec OptimistAtomicQueueB, 3,i: 36,920,759 msg/sec OptimistAtomicQueueB, 4,s: 38,642,526 msg/sec OptimistAtomicQueueB, 4,i: 38,597,165 msg/sec OptimistAtomicQueueB, 5,s: 40,797,466 msg/sec OptimistAtomicQueueB, 5,i: 47,195,634 msg/sec OptimistAtomicQueueB, 6,s: 40,726,179 msg/sec OptimistAtomicQueueB, 6,i: 49,042,530 msg/sec OptimistAtomicQueueB, 7,s: 42,503,691 msg/sec OptimistAtomicQueueB, 7,i: 51,431,416 msg/sec OptimistAtomicQueueB, 8,s: 44,441,639 msg/sec OptimistAtomicQueueB, 8,i: 48,078,778 msg/sec AtomicQueue2, 1,s: 23,287,916 msg/sec AtomicQueue2, 1,i: 22,864,593 msg/sec AtomicQueue2, 2,s: 11,749,066 msg/sec AtomicQueue2, 2,i: 11,380,636 msg/sec AtomicQueue2, 3,s: 9,430,095 msg/sec AtomicQueue2, 3,i: 9,569,474 msg/sec AtomicQueue2, 4,s: 8,060,649 msg/sec AtomicQueue2, 4,i: 8,013,729 msg/sec AtomicQueue2, 5,s: 7,928,692 msg/sec AtomicQueue2, 5,i: 7,914,807 msg/sec AtomicQueue2, 6,s: 7,832,357 msg/sec AtomicQueue2, 6,i: 7,538,880 msg/sec AtomicQueue2, 7,s: 7,190,577 msg/sec AtomicQueue2, 7,i: 7,912,087 msg/sec AtomicQueue2, 8,s: 6,385,084 msg/sec AtomicQueue2, 8,i: 7,343,904 msg/sec AtomicQueueB2, 1,s: 36,314,693 msg/sec AtomicQueueB2, 1,i: 36,022,127 msg/sec AtomicQueueB2, 2,s: 11,410,897 msg/sec AtomicQueueB2, 2,i: 11,104,959 msg/sec AtomicQueueB2, 3,s: 9,614,589 msg/sec AtomicQueueB2, 3,i: 9,437,207 msg/sec AtomicQueueB2, 4,s: 7,973,682 msg/sec AtomicQueueB2, 4,i: 7,777,521 msg/sec AtomicQueueB2, 5,s: 7,538,385 msg/sec AtomicQueueB2, 5,i: 7,719,233 msg/sec AtomicQueueB2, 6,s: 7,299,326 msg/sec AtomicQueueB2, 6,i: 7,466,793 msg/sec AtomicQueueB2, 7,s: 6,866,552 msg/sec AtomicQueueB2, 7,i: 7,512,880 msg/sec AtomicQueueB2, 8,s: 6,279,133 msg/sec AtomicQueueB2, 8,i: 7,130,433 msg/sec OptimistAtomicQueue2, 1,s: 424,451,595 msg/sec OptimistAtomicQueue2, 1,i: 32,719,818 msg/sec OptimistAtomicQueue2, 2,s: 25,007,143 msg/sec OptimistAtomicQueue2, 2,i: 24,011,128 msg/sec OptimistAtomicQueue2, 3,s: 30,313,523 msg/sec OptimistAtomicQueue2, 3,i: 29,950,279 msg/sec OptimistAtomicQueue2, 4,s: 33,473,997 msg/sec OptimistAtomicQueue2, 4,i: 33,149,459 msg/sec OptimistAtomicQueue2, 5,s: 37,130,457 msg/sec OptimistAtomicQueue2, 5,i: 42,065,202 msg/sec OptimistAtomicQueue2, 6,s: 40,469,285 msg/sec OptimistAtomicQueue2, 6,i: 49,102,400 msg/sec OptimistAtomicQueue2, 7,s: 43,208,408 msg/sec OptimistAtomicQueue2, 7,i: 47,922,808 msg/sec OptimistAtomicQueue2, 8,s: 43,819,928 msg/sec OptimistAtomicQueue2, 8,i: 48,386,451 msg/sec OptimistAtomicQueueB2, 1,s: 75,549,214 msg/sec OptimistAtomicQueueB2, 1,i: 33,942,278 msg/sec OptimistAtomicQueueB2, 2,s: 27,259,879 msg/sec OptimistAtomicQueueB2, 2,i: 29,186,835 msg/sec OptimistAtomicQueueB2, 3,s: 29,668,460 msg/sec OptimistAtomicQueueB2, 3,i: 29,093,778 msg/sec OptimistAtomicQueueB2, 4,s: 33,134,496 msg/sec OptimistAtomicQueueB2, 4,i: 32,390,817 msg/sec OptimistAtomicQueueB2, 5,s: 34,383,673 msg/sec OptimistAtomicQueueB2, 5,i: 39,272,247 msg/sec OptimistAtomicQueueB2, 6,s: 37,755,362 msg/sec OptimistAtomicQueueB2, 6,i: 42,422,262 msg/sec OptimistAtomicQueueB2, 7,s: 40,798,906 msg/sec OptimistAtomicQueueB2, 7,i: 43,232,587 msg/sec OptimistAtomicQueueB2, 8,s: 42,374,966 msg/sec OptimistAtomicQueueB2, 8,i: 45,818,873 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000151 sec/round-trip moodycamel::ConcurrentQueue: 0.000000222 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000453 sec/round-trip tbb::spin_mutex: 0.000000286 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [263] 134m:17s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,911,089 msg/sec boost::lockfree::spsc_queue, 1,i: 69,098,808 msg/sec boost::lockfree::queue, 1,s: 6,971,286 msg/sec boost::lockfree::queue, 1,i: 6,875,557 msg/sec boost::lockfree::queue, 2,s: 7,553,350 msg/sec boost::lockfree::queue, 2,i: 7,382,730 msg/sec boost::lockfree::queue, 3,s: 7,430,223 msg/sec boost::lockfree::queue, 3,i: 7,562,221 msg/sec boost::lockfree::queue, 4,s: 6,433,707 msg/sec boost::lockfree::queue, 4,i: 6,799,547 msg/sec boost::lockfree::queue, 5,s: 6,433,555 msg/sec boost::lockfree::queue, 5,i: 6,449,906 msg/sec boost::lockfree::queue, 6,s: 5,970,248 msg/sec boost::lockfree::queue, 6,i: 6,107,193 msg/sec boost::lockfree::queue, 7,s: 5,996,025 msg/sec boost::lockfree::queue, 7,i: 5,903,826 msg/sec boost::lockfree::queue, 8,s: 5,434,834 msg/sec boost::lockfree::queue, 8,i: 5,717,108 msg/sec moodycamel::ReaderWriterQueue, 1,s: 84,019,236 msg/sec moodycamel::ReaderWriterQueue, 1,i: 43,555,103 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,890,263 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,774,645 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,387,796 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,998,032 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,420,603 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,403,837 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,453,977 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,136,760 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,403,650 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,095,163 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,299,196 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,124,620 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,039,694 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,792,059 msg/sec moodycamel::ConcurrentQueue, 8,s: 31,247,267 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,270,325 msg/sec pthread_spinlock, 1,s: 29,216,728 msg/sec pthread_spinlock, 1,i: 25,399,966 msg/sec pthread_spinlock, 2,s: 15,535,808 msg/sec pthread_spinlock, 2,i: 16,835,526 msg/sec pthread_spinlock, 3,s: 8,373,358 msg/sec pthread_spinlock, 3,i: 12,010,150 msg/sec pthread_spinlock, 4,s: 6,469,182 msg/sec pthread_spinlock, 4,i: 9,108,355 msg/sec pthread_spinlock, 5,s: 8,614,540 msg/sec pthread_spinlock, 5,i: 9,605,958 msg/sec pthread_spinlock, 6,s: 8,330,460 msg/sec pthread_spinlock, 6,i: 8,393,024 msg/sec pthread_spinlock, 7,s: 7,582,054 msg/sec pthread_spinlock, 7,i: 7,600,576 msg/sec pthread_spinlock, 8,s: 6,915,257 msg/sec pthread_spinlock, 8,i: 7,201,785 msg/sec std::mutex, 1,s: 6,517,277 msg/sec std::mutex, 1,i: 6,919,161 msg/sec std::mutex, 2,s: 4,741,993 msg/sec std::mutex, 2,i: 6,123,652 msg/sec std::mutex, 3,s: 6,097,871 msg/sec std::mutex, 3,i: 6,210,733 msg/sec std::mutex, 4,s: 6,265,296 msg/sec std::mutex, 4,i: 6,342,415 msg/sec std::mutex, 5,s: 6,234,141 msg/sec std::mutex, 5,i: 6,058,552 msg/sec std::mutex, 6,s: 6,116,392 msg/sec std::mutex, 6,i: 6,019,689 msg/sec std::mutex, 7,s: 5,911,697 msg/sec std::mutex, 7,i: 5,904,552 msg/sec std::mutex, 8,s: 5,699,809 msg/sec std::mutex, 8,i: 5,739,006 msg/sec tbb::spin_mutex, 1,s: 37,798,340 msg/sec tbb::spin_mutex, 1,i: 33,036,562 msg/sec tbb::spin_mutex, 2,s: 21,104,833 msg/sec tbb::spin_mutex, 2,i: 18,426,737 msg/sec tbb::spin_mutex, 3,s: 8,901,867 msg/sec tbb::spin_mutex, 3,i: 10,983,744 msg/sec tbb::spin_mutex, 4,s: 3,154,732 msg/sec tbb::spin_mutex, 4,i: 6,339,911 msg/sec tbb::spin_mutex, 5,s: 5,337,135 msg/sec tbb::spin_mutex, 5,i: 5,725,418 msg/sec tbb::spin_mutex, 6,s: 5,365,831 msg/sec tbb::spin_mutex, 6,i: 4,384,550 msg/sec tbb::spin_mutex, 7,s: 4,844,845 msg/sec tbb::spin_mutex, 7,i: 4,353,526 msg/sec tbb::spin_mutex, 8,s: 4,262,944 msg/sec tbb::spin_mutex, 8,i: 4,088,882 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,122,865 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,103,731 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,745,240 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,259,943 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,302,779 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,392,535 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,107,833 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,248,141 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,596,637 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,383,277 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,633,219 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,685,106 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,652,608 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,062,546 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,741,244 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,919,544 msg/sec xenium::michael_scott_queue, 1,s: 9,157,971 msg/sec xenium::michael_scott_queue, 1,i: 8,990,990 msg/sec xenium::michael_scott_queue, 2,s: 8,411,387 msg/sec xenium::michael_scott_queue, 2,i: 8,521,232 msg/sec xenium::michael_scott_queue, 3,s: 7,181,096 msg/sec xenium::michael_scott_queue, 3,i: 7,537,711 msg/sec xenium::michael_scott_queue, 4,s: 6,304,200 msg/sec xenium::michael_scott_queue, 4,i: 6,331,656 msg/sec xenium::michael_scott_queue, 5,s: 6,272,321 msg/sec xenium::michael_scott_queue, 5,i: 6,709,408 msg/sec xenium::michael_scott_queue, 6,s: 6,481,021 msg/sec xenium::michael_scott_queue, 6,i: 7,052,764 msg/sec xenium::michael_scott_queue, 7,s: 6,320,285 msg/sec xenium::michael_scott_queue, 7,i: 6,669,903 msg/sec xenium::michael_scott_queue, 8,s: 5,998,119 msg/sec xenium::michael_scott_queue, 8,i: 6,275,196 msg/sec xenium::ramalhete_queue, 1,s: 32,121,551 msg/sec xenium::ramalhete_queue, 1,i: 32,285,151 msg/sec xenium::ramalhete_queue, 2,s: 23,578,207 msg/sec xenium::ramalhete_queue, 2,i: 23,378,681 msg/sec xenium::ramalhete_queue, 3,s: 29,212,862 msg/sec xenium::ramalhete_queue, 3,i: 28,502,032 msg/sec xenium::ramalhete_queue, 4,s: 33,832,245 msg/sec xenium::ramalhete_queue, 4,i: 33,457,885 msg/sec xenium::ramalhete_queue, 5,s: 32,188,343 msg/sec xenium::ramalhete_queue, 5,i: 38,470,220 msg/sec xenium::ramalhete_queue, 6,s: 34,000,355 msg/sec xenium::ramalhete_queue, 6,i: 39,803,986 msg/sec xenium::ramalhete_queue, 7,s: 35,215,990 msg/sec xenium::ramalhete_queue, 7,i: 40,958,310 msg/sec xenium::ramalhete_queue, 8,s: 35,536,780 msg/sec xenium::ramalhete_queue, 8,i: 43,884,110 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,107,110 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,707,232 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,111,821 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,361,096 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,620,005 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,934,874 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,572,258 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,233,806 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,959,276 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,423,415 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,867,887 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,642,909 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,292,964 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,153,802 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,225 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,292,816 msg/sec AtomicQueue, 1,s: 58,098,133 msg/sec AtomicQueue, 1,i: 56,514,614 msg/sec AtomicQueue, 2,s: 12,316,444 msg/sec AtomicQueue, 2,i: 11,773,231 msg/sec AtomicQueue, 3,s: 10,727,547 msg/sec AtomicQueue, 3,i: 9,923,158 msg/sec AtomicQueue, 4,s: 8,148,558 msg/sec AtomicQueue, 4,i: 8,218,911 msg/sec AtomicQueue, 5,s: 8,010,324 msg/sec AtomicQueue, 5,i: 7,988,563 msg/sec AtomicQueue, 6,s: 7,817,993 msg/sec AtomicQueue, 6,i: 7,622,802 msg/sec AtomicQueue, 7,s: 7,042,793 msg/sec AtomicQueue, 7,i: 7,986,197 msg/sec AtomicQueue, 8,s: 6,340,607 msg/sec AtomicQueue, 8,i: 7,460,193 msg/sec AtomicQueueB, 1,s: 44,795,701 msg/sec AtomicQueueB, 1,i: 48,833,671 msg/sec AtomicQueueB, 2,s: 11,661,515 msg/sec AtomicQueueB, 2,i: 11,410,851 msg/sec AtomicQueueB, 3,s: 10,939,957 msg/sec AtomicQueueB, 3,i: 10,003,793 msg/sec AtomicQueueB, 4,s: 8,038,606 msg/sec AtomicQueueB, 4,i: 7,925,417 msg/sec AtomicQueueB, 5,s: 7,512,252 msg/sec AtomicQueueB, 5,i: 7,803,676 msg/sec AtomicQueueB, 6,s: 7,315,209 msg/sec AtomicQueueB, 6,i: 7,535,967 msg/sec AtomicQueueB, 7,s: 6,895,215 msg/sec AtomicQueueB, 7,i: 7,545,191 msg/sec AtomicQueueB, 8,s: 6,259,368 msg/sec AtomicQueueB, 8,i: 7,181,848 msg/sec OptimistAtomicQueue, 1,s: 753,807,718 msg/sec OptimistAtomicQueue, 1,i: 684,596,359 msg/sec OptimistAtomicQueue, 2,s: 32,644,404 msg/sec OptimistAtomicQueue, 2,i: 32,718,404 msg/sec OptimistAtomicQueue, 3,s: 36,663,661 msg/sec OptimistAtomicQueue, 3,i: 37,387,303 msg/sec OptimistAtomicQueue, 4,s: 39,286,252 msg/sec OptimistAtomicQueue, 4,i: 39,401,828 msg/sec OptimistAtomicQueue, 5,s: 41,658,899 msg/sec OptimistAtomicQueue, 5,i: 46,307,501 msg/sec OptimistAtomicQueue, 6,s: 42,336,390 msg/sec OptimistAtomicQueue, 6,i: 50,278,545 msg/sec OptimistAtomicQueue, 7,s: 44,371,358 msg/sec OptimistAtomicQueue, 7,i: 51,964,985 msg/sec OptimistAtomicQueue, 8,s: 46,400,583 msg/sec OptimistAtomicQueue, 8,i: 49,200,367 msg/sec OptimistAtomicQueueB, 1,s: 381,691,044 msg/sec OptimistAtomicQueueB, 1,i: 201,610,250 msg/sec OptimistAtomicQueueB, 2,s: 32,212,456 msg/sec OptimistAtomicQueueB, 2,i: 32,127,458 msg/sec OptimistAtomicQueueB, 3,s: 36,273,097 msg/sec OptimistAtomicQueueB, 3,i: 36,946,346 msg/sec OptimistAtomicQueueB, 4,s: 38,759,423 msg/sec OptimistAtomicQueueB, 4,i: 38,741,295 msg/sec OptimistAtomicQueueB, 5,s: 41,017,324 msg/sec OptimistAtomicQueueB, 5,i: 45,183,439 msg/sec OptimistAtomicQueueB, 6,s: 41,097,294 msg/sec OptimistAtomicQueueB, 6,i: 49,187,143 msg/sec OptimistAtomicQueueB, 7,s: 42,387,867 msg/sec OptimistAtomicQueueB, 7,i: 51,573,319 msg/sec OptimistAtomicQueueB, 8,s: 44,579,193 msg/sec OptimistAtomicQueueB, 8,i: 48,073,062 msg/sec AtomicQueue2, 1,s: 23,115,828 msg/sec AtomicQueue2, 1,i: 23,037,622 msg/sec AtomicQueue2, 2,s: 11,704,770 msg/sec AtomicQueue2, 2,i: 11,399,653 msg/sec AtomicQueue2, 3,s: 9,456,261 msg/sec AtomicQueue2, 3,i: 9,471,083 msg/sec AtomicQueue2, 4,s: 8,019,453 msg/sec AtomicQueue2, 4,i: 8,035,383 msg/sec AtomicQueue2, 5,s: 7,918,794 msg/sec AtomicQueue2, 5,i: 8,035,358 msg/sec AtomicQueue2, 6,s: 7,792,252 msg/sec AtomicQueue2, 6,i: 7,518,287 msg/sec AtomicQueue2, 7,s: 7,098,088 msg/sec AtomicQueue2, 7,i: 7,883,408 msg/sec AtomicQueue2, 8,s: 6,383,095 msg/sec AtomicQueue2, 8,i: 7,363,997 msg/sec AtomicQueueB2, 1,s: 36,178,128 msg/sec AtomicQueueB2, 1,i: 36,032,751 msg/sec AtomicQueueB2, 2,s: 11,423,005 msg/sec AtomicQueueB2, 2,i: 11,115,286 msg/sec AtomicQueueB2, 3,s: 9,757,621 msg/sec AtomicQueueB2, 3,i: 9,593,616 msg/sec AtomicQueueB2, 4,s: 7,952,289 msg/sec AtomicQueueB2, 4,i: 7,826,990 msg/sec AtomicQueueB2, 5,s: 7,358,146 msg/sec AtomicQueueB2, 5,i: 7,683,519 msg/sec AtomicQueueB2, 6,s: 7,233,381 msg/sec AtomicQueueB2, 6,i: 7,445,194 msg/sec AtomicQueueB2, 7,s: 6,888,525 msg/sec AtomicQueueB2, 7,i: 7,704,013 msg/sec AtomicQueueB2, 8,s: 6,336,546 msg/sec AtomicQueueB2, 8,i: 7,127,100 msg/sec OptimistAtomicQueue2, 1,s: 552,577,164 msg/sec OptimistAtomicQueue2, 1,i: 40,100,352 msg/sec OptimistAtomicQueue2, 2,s: 29,250,345 msg/sec OptimistAtomicQueue2, 2,i: 24,015,016 msg/sec OptimistAtomicQueue2, 3,s: 30,322,737 msg/sec OptimistAtomicQueue2, 3,i: 30,140,066 msg/sec OptimistAtomicQueue2, 4,s: 33,312,874 msg/sec OptimistAtomicQueue2, 4,i: 33,364,453 msg/sec OptimistAtomicQueue2, 5,s: 37,103,579 msg/sec OptimistAtomicQueue2, 5,i: 40,361,793 msg/sec OptimistAtomicQueue2, 6,s: 40,340,570 msg/sec OptimistAtomicQueue2, 6,i: 49,129,488 msg/sec OptimistAtomicQueue2, 7,s: 43,154,768 msg/sec OptimistAtomicQueue2, 7,i: 51,683,282 msg/sec OptimistAtomicQueue2, 8,s: 44,233,510 msg/sec OptimistAtomicQueue2, 8,i: 48,945,522 msg/sec OptimistAtomicQueueB2, 1,s: 74,896,751 msg/sec OptimistAtomicQueueB2, 1,i: 33,932,898 msg/sec OptimistAtomicQueueB2, 2,s: 27,243,770 msg/sec OptimistAtomicQueueB2, 2,i: 25,631,903 msg/sec OptimistAtomicQueueB2, 3,s: 30,249,331 msg/sec OptimistAtomicQueueB2, 3,i: 29,755,177 msg/sec OptimistAtomicQueueB2, 4,s: 32,882,385 msg/sec OptimistAtomicQueueB2, 4,i: 32,809,662 msg/sec OptimistAtomicQueueB2, 5,s: 34,563,032 msg/sec OptimistAtomicQueueB2, 5,i: 39,570,450 msg/sec OptimistAtomicQueueB2, 6,s: 37,512,448 msg/sec OptimistAtomicQueueB2, 6,i: 42,351,789 msg/sec OptimistAtomicQueueB2, 7,s: 40,048,008 msg/sec OptimistAtomicQueueB2, 7,i: 43,222,923 msg/sec OptimistAtomicQueueB2, 8,s: 42,390,357 msg/sec OptimistAtomicQueueB2, 8,i: 45,297,596 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000139 sec/round-trip moodycamel::ConcurrentQueue: 0.000000243 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [264] 132m:58s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,330,121 msg/sec boost::lockfree::spsc_queue, 1,i: 68,374,668 msg/sec boost::lockfree::queue, 1,s: 6,841,938 msg/sec boost::lockfree::queue, 1,i: 6,858,997 msg/sec boost::lockfree::queue, 2,s: 7,650,370 msg/sec boost::lockfree::queue, 2,i: 7,431,748 msg/sec boost::lockfree::queue, 3,s: 7,437,138 msg/sec boost::lockfree::queue, 3,i: 7,505,366 msg/sec boost::lockfree::queue, 4,s: 6,419,295 msg/sec boost::lockfree::queue, 4,i: 6,764,031 msg/sec boost::lockfree::queue, 5,s: 6,426,225 msg/sec boost::lockfree::queue, 5,i: 6,447,267 msg/sec boost::lockfree::queue, 6,s: 6,007,354 msg/sec boost::lockfree::queue, 6,i: 6,131,823 msg/sec boost::lockfree::queue, 7,s: 5,984,429 msg/sec boost::lockfree::queue, 7,i: 5,955,542 msg/sec boost::lockfree::queue, 8,s: 5,382,110 msg/sec boost::lockfree::queue, 8,i: 5,623,791 msg/sec moodycamel::ReaderWriterQueue, 1,s: 502,773,487 msg/sec moodycamel::ReaderWriterQueue, 1,i: 69,882,972 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,167,304 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,765,316 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,870,602 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,868,914 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,282,251 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,928,581 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,427,193 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,960,936 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,530,484 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,343,675 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,731,541 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,257,678 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,053,545 msg/sec moodycamel::ConcurrentQueue, 7,i: 52,588,387 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,284,153 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,058,073 msg/sec pthread_spinlock, 1,s: 29,126,661 msg/sec pthread_spinlock, 1,i: 25,394,034 msg/sec pthread_spinlock, 2,s: 15,278,673 msg/sec pthread_spinlock, 2,i: 17,883,573 msg/sec pthread_spinlock, 3,s: 8,346,877 msg/sec pthread_spinlock, 3,i: 12,067,273 msg/sec pthread_spinlock, 4,s: 6,484,916 msg/sec pthread_spinlock, 4,i: 9,157,490 msg/sec pthread_spinlock, 5,s: 8,584,555 msg/sec pthread_spinlock, 5,i: 9,242,511 msg/sec pthread_spinlock, 6,s: 8,541,558 msg/sec pthread_spinlock, 6,i: 8,340,769 msg/sec pthread_spinlock, 7,s: 7,582,227 msg/sec pthread_spinlock, 7,i: 7,845,019 msg/sec pthread_spinlock, 8,s: 6,789,139 msg/sec pthread_spinlock, 8,i: 7,485,603 msg/sec std::mutex, 1,s: 7,097,284 msg/sec std::mutex, 1,i: 6,803,052 msg/sec std::mutex, 2,s: 5,641,922 msg/sec std::mutex, 2,i: 5,580,972 msg/sec std::mutex, 3,s: 5,025,492 msg/sec std::mutex, 3,i: 5,756,359 msg/sec std::mutex, 4,s: 6,211,675 msg/sec std::mutex, 4,i: 6,261,002 msg/sec std::mutex, 5,s: 6,021,358 msg/sec std::mutex, 5,i: 5,974,622 msg/sec std::mutex, 6,s: 5,866,141 msg/sec std::mutex, 6,i: 5,906,484 msg/sec std::mutex, 7,s: 5,745,215 msg/sec std::mutex, 7,i: 5,833,064 msg/sec std::mutex, 8,s: 5,651,021 msg/sec std::mutex, 8,i: 5,661,026 msg/sec tbb::spin_mutex, 1,s: 38,018,266 msg/sec tbb::spin_mutex, 1,i: 33,324,935 msg/sec tbb::spin_mutex, 2,s: 21,225,618 msg/sec tbb::spin_mutex, 2,i: 18,459,499 msg/sec tbb::spin_mutex, 3,s: 7,644,514 msg/sec tbb::spin_mutex, 3,i: 10,176,884 msg/sec tbb::spin_mutex, 4,s: 3,211,846 msg/sec tbb::spin_mutex, 4,i: 6,375,174 msg/sec tbb::spin_mutex, 5,s: 5,331,322 msg/sec tbb::spin_mutex, 5,i: 5,679,521 msg/sec tbb::spin_mutex, 6,s: 5,342,163 msg/sec tbb::spin_mutex, 6,i: 4,319,013 msg/sec tbb::spin_mutex, 7,s: 4,820,603 msg/sec tbb::spin_mutex, 7,i: 4,252,039 msg/sec tbb::spin_mutex, 8,s: 4,241,810 msg/sec tbb::spin_mutex, 8,i: 4,188,886 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,052,261 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,804,239 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,025,043 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,404,375 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,208,556 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,329,407 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,039,503 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,191,462 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,565,454 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,366,209 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,627,457 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,718,717 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,684,628 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,142,312 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,790,235 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,941,176 msg/sec xenium::michael_scott_queue, 1,s: 9,438,806 msg/sec xenium::michael_scott_queue, 1,i: 9,498,337 msg/sec xenium::michael_scott_queue, 2,s: 8,523,971 msg/sec xenium::michael_scott_queue, 2,i: 8,500,032 msg/sec xenium::michael_scott_queue, 3,s: 7,389,813 msg/sec xenium::michael_scott_queue, 3,i: 7,656,343 msg/sec xenium::michael_scott_queue, 4,s: 6,319,895 msg/sec xenium::michael_scott_queue, 4,i: 6,358,296 msg/sec xenium::michael_scott_queue, 5,s: 6,314,397 msg/sec xenium::michael_scott_queue, 5,i: 6,785,042 msg/sec xenium::michael_scott_queue, 6,s: 6,545,978 msg/sec xenium::michael_scott_queue, 6,i: 6,734,748 msg/sec xenium::michael_scott_queue, 7,s: 6,304,481 msg/sec xenium::michael_scott_queue, 7,i: 6,575,520 msg/sec xenium::michael_scott_queue, 8,s: 6,022,562 msg/sec xenium::michael_scott_queue, 8,i: 6,190,373 msg/sec xenium::ramalhete_queue, 1,s: 31,401,439 msg/sec xenium::ramalhete_queue, 1,i: 31,121,454 msg/sec xenium::ramalhete_queue, 2,s: 23,675,328 msg/sec xenium::ramalhete_queue, 2,i: 23,391,961 msg/sec xenium::ramalhete_queue, 3,s: 29,305,014 msg/sec xenium::ramalhete_queue, 3,i: 28,461,018 msg/sec xenium::ramalhete_queue, 4,s: 33,763,514 msg/sec xenium::ramalhete_queue, 4,i: 33,494,116 msg/sec xenium::ramalhete_queue, 5,s: 32,052,602 msg/sec xenium::ramalhete_queue, 5,i: 36,086,557 msg/sec xenium::ramalhete_queue, 6,s: 34,144,415 msg/sec xenium::ramalhete_queue, 6,i: 38,761,513 msg/sec xenium::ramalhete_queue, 7,s: 35,098,512 msg/sec xenium::ramalhete_queue, 7,i: 41,118,207 msg/sec xenium::ramalhete_queue, 8,s: 35,598,109 msg/sec xenium::ramalhete_queue, 8,i: 43,784,503 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,032,431 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,638,550 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,315,171 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,574,448 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,525,171 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,886,233 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,548,689 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,297,763 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,686,272 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,374,803 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,890,116 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,341,717 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,179,471 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,020,560 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,379,044 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,338,511 msg/sec AtomicQueue, 1,s: 58,562,000 msg/sec AtomicQueue, 1,i: 57,136,426 msg/sec AtomicQueue, 2,s: 12,291,959 msg/sec AtomicQueue, 2,i: 11,713,795 msg/sec AtomicQueue, 3,s: 10,784,790 msg/sec AtomicQueue, 3,i: 9,935,544 msg/sec AtomicQueue, 4,s: 8,178,022 msg/sec AtomicQueue, 4,i: 8,204,170 msg/sec AtomicQueue, 5,s: 8,068,652 msg/sec AtomicQueue, 5,i: 8,080,481 msg/sec AtomicQueue, 6,s: 7,925,388 msg/sec AtomicQueue, 6,i: 7,640,593 msg/sec AtomicQueue, 7,s: 7,172,263 msg/sec AtomicQueue, 7,i: 7,972,429 msg/sec AtomicQueue, 8,s: 6,352,392 msg/sec AtomicQueue, 8,i: 7,461,462 msg/sec AtomicQueueB, 1,s: 43,854,813 msg/sec AtomicQueueB, 1,i: 43,053,293 msg/sec AtomicQueueB, 2,s: 11,919,315 msg/sec AtomicQueueB, 2,i: 11,494,033 msg/sec AtomicQueueB, 3,s: 11,010,889 msg/sec AtomicQueueB, 3,i: 10,078,058 msg/sec AtomicQueueB, 4,s: 8,080,865 msg/sec AtomicQueueB, 4,i: 8,029,733 msg/sec AtomicQueueB, 5,s: 7,659,016 msg/sec AtomicQueueB, 5,i: 7,794,935 msg/sec AtomicQueueB, 6,s: 7,432,213 msg/sec AtomicQueueB, 6,i: 7,593,181 msg/sec AtomicQueueB, 7,s: 6,836,222 msg/sec AtomicQueueB, 7,i: 7,719,092 msg/sec AtomicQueueB, 8,s: 6,216,161 msg/sec AtomicQueueB, 8,i: 6,997,724 msg/sec OptimistAtomicQueue, 1,s: 715,766,584 msg/sec OptimistAtomicQueue, 1,i: 512,388,398 msg/sec OptimistAtomicQueue, 2,s: 32,253,525 msg/sec OptimistAtomicQueue, 2,i: 32,123,934 msg/sec OptimistAtomicQueue, 3,s: 36,663,970 msg/sec OptimistAtomicQueue, 3,i: 37,403,505 msg/sec OptimistAtomicQueue, 4,s: 39,270,336 msg/sec OptimistAtomicQueue, 4,i: 39,356,778 msg/sec OptimistAtomicQueue, 5,s: 41,710,937 msg/sec OptimistAtomicQueue, 5,i: 47,400,943 msg/sec OptimistAtomicQueue, 6,s: 41,997,608 msg/sec OptimistAtomicQueue, 6,i: 50,413,970 msg/sec OptimistAtomicQueue, 7,s: 44,353,165 msg/sec OptimistAtomicQueue, 7,i: 52,047,879 msg/sec OptimistAtomicQueue, 8,s: 46,363,017 msg/sec OptimistAtomicQueue, 8,i: 49,203,370 msg/sec OptimistAtomicQueueB, 1,s: 243,024,645 msg/sec OptimistAtomicQueueB, 1,i: 203,192,128 msg/sec OptimistAtomicQueueB, 2,s: 32,156,425 msg/sec OptimistAtomicQueueB, 2,i: 31,913,279 msg/sec OptimistAtomicQueueB, 3,s: 36,259,132 msg/sec OptimistAtomicQueueB, 3,i: 36,853,768 msg/sec OptimistAtomicQueueB, 4,s: 38,709,309 msg/sec OptimistAtomicQueueB, 4,i: 38,705,164 msg/sec OptimistAtomicQueueB, 5,s: 40,419,787 msg/sec OptimistAtomicQueueB, 5,i: 45,459,164 msg/sec OptimistAtomicQueueB, 6,s: 40,884,810 msg/sec OptimistAtomicQueueB, 6,i: 49,091,102 msg/sec OptimistAtomicQueueB, 7,s: 41,998,661 msg/sec OptimistAtomicQueueB, 7,i: 47,917,883 msg/sec OptimistAtomicQueueB, 8,s: 44,357,596 msg/sec OptimistAtomicQueueB, 8,i: 48,730,922 msg/sec AtomicQueue2, 1,s: 22,883,675 msg/sec AtomicQueue2, 1,i: 22,818,210 msg/sec AtomicQueue2, 2,s: 11,953,966 msg/sec AtomicQueue2, 2,i: 11,616,291 msg/sec AtomicQueue2, 3,s: 9,700,581 msg/sec AtomicQueue2, 3,i: 9,376,143 msg/sec AtomicQueue2, 4,s: 8,036,444 msg/sec AtomicQueue2, 4,i: 7,991,159 msg/sec AtomicQueue2, 5,s: 7,912,377 msg/sec AtomicQueue2, 5,i: 8,016,303 msg/sec AtomicQueue2, 6,s: 7,746,479 msg/sec AtomicQueue2, 6,i: 7,548,182 msg/sec AtomicQueue2, 7,s: 7,183,355 msg/sec AtomicQueue2, 7,i: 7,887,339 msg/sec AtomicQueue2, 8,s: 6,396,958 msg/sec AtomicQueue2, 8,i: 7,370,624 msg/sec AtomicQueueB2, 1,s: 36,051,099 msg/sec AtomicQueueB2, 1,i: 32,635,387 msg/sec AtomicQueueB2, 2,s: 11,326,490 msg/sec AtomicQueueB2, 2,i: 11,097,226 msg/sec AtomicQueueB2, 3,s: 9,626,504 msg/sec AtomicQueueB2, 3,i: 9,528,515 msg/sec AtomicQueueB2, 4,s: 7,911,917 msg/sec AtomicQueueB2, 4,i: 7,818,476 msg/sec AtomicQueueB2, 5,s: 7,549,241 msg/sec AtomicQueueB2, 5,i: 7,680,962 msg/sec AtomicQueueB2, 6,s: 7,234,875 msg/sec AtomicQueueB2, 6,i: 7,402,561 msg/sec AtomicQueueB2, 7,s: 6,933,695 msg/sec AtomicQueueB2, 7,i: 7,708,790 msg/sec AtomicQueueB2, 8,s: 6,239,134 msg/sec AtomicQueueB2, 8,i: 6,974,935 msg/sec OptimistAtomicQueue2, 1,s: 472,384,463 msg/sec OptimistAtomicQueue2, 1,i: 29,854,605 msg/sec OptimistAtomicQueue2, 2,s: 22,624,663 msg/sec OptimistAtomicQueue2, 2,i: 24,895,697 msg/sec OptimistAtomicQueue2, 3,s: 30,324,005 msg/sec OptimistAtomicQueue2, 3,i: 29,945,957 msg/sec OptimistAtomicQueue2, 4,s: 33,265,289 msg/sec OptimistAtomicQueue2, 4,i: 33,251,882 msg/sec OptimistAtomicQueue2, 5,s: 37,326,429 msg/sec OptimistAtomicQueue2, 5,i: 40,192,643 msg/sec OptimistAtomicQueue2, 6,s: 39,941,106 msg/sec OptimistAtomicQueue2, 6,i: 49,027,331 msg/sec OptimistAtomicQueue2, 7,s: 42,658,900 msg/sec OptimistAtomicQueue2, 7,i: 51,686,792 msg/sec OptimistAtomicQueue2, 8,s: 43,868,124 msg/sec OptimistAtomicQueue2, 8,i: 49,240,088 msg/sec OptimistAtomicQueueB2, 1,s: 77,166,242 msg/sec OptimistAtomicQueueB2, 1,i: 33,875,268 msg/sec OptimistAtomicQueueB2, 2,s: 27,279,173 msg/sec OptimistAtomicQueueB2, 2,i: 24,732,509 msg/sec OptimistAtomicQueueB2, 3,s: 29,685,344 msg/sec OptimistAtomicQueueB2, 3,i: 29,517,210 msg/sec OptimistAtomicQueueB2, 4,s: 33,201,424 msg/sec OptimistAtomicQueueB2, 4,i: 33,071,673 msg/sec OptimistAtomicQueueB2, 5,s: 34,510,026 msg/sec OptimistAtomicQueueB2, 5,i: 39,202,303 msg/sec OptimistAtomicQueueB2, 6,s: 37,723,092 msg/sec OptimistAtomicQueueB2, 6,i: 41,948,431 msg/sec OptimistAtomicQueueB2, 7,s: 40,913,487 msg/sec OptimistAtomicQueueB2, 7,i: 43,188,102 msg/sec OptimistAtomicQueueB2, 8,s: 42,393,444 msg/sec OptimistAtomicQueueB2, 8,i: 46,035,022 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000324 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000125 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000294 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000259 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [265] 131m:38s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,670,639 msg/sec boost::lockfree::spsc_queue, 1,i: 67,892,357 msg/sec boost::lockfree::queue, 1,s: 7,903,886 msg/sec boost::lockfree::queue, 1,i: 7,902,566 msg/sec boost::lockfree::queue, 2,s: 7,554,118 msg/sec boost::lockfree::queue, 2,i: 7,449,641 msg/sec boost::lockfree::queue, 3,s: 7,383,715 msg/sec boost::lockfree::queue, 3,i: 7,614,100 msg/sec boost::lockfree::queue, 4,s: 6,411,956 msg/sec boost::lockfree::queue, 4,i: 6,863,333 msg/sec boost::lockfree::queue, 5,s: 6,382,858 msg/sec boost::lockfree::queue, 5,i: 6,491,242 msg/sec boost::lockfree::queue, 6,s: 6,035,239 msg/sec boost::lockfree::queue, 6,i: 6,133,709 msg/sec boost::lockfree::queue, 7,s: 5,969,043 msg/sec boost::lockfree::queue, 7,i: 5,927,477 msg/sec boost::lockfree::queue, 8,s: 5,470,311 msg/sec boost::lockfree::queue, 8,i: 5,568,212 msg/sec moodycamel::ReaderWriterQueue, 1,s: 52,735,697 msg/sec moodycamel::ReaderWriterQueue, 1,i: 54,713,530 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,902,164 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,537,926 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,763,440 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,487,999 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,320,257 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,899,877 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,696,575 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,906,854 msg/sec moodycamel::ConcurrentQueue, 5,s: 30,003,278 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,152,328 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,367,943 msg/sec moodycamel::ConcurrentQueue, 6,i: 35,008,999 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,007,008 msg/sec moodycamel::ConcurrentQueue, 7,i: 51,673,300 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,366,433 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,210,281 msg/sec pthread_spinlock, 1,s: 28,964,952 msg/sec pthread_spinlock, 1,i: 25,350,797 msg/sec pthread_spinlock, 2,s: 15,467,458 msg/sec pthread_spinlock, 2,i: 17,901,253 msg/sec pthread_spinlock, 3,s: 8,421,889 msg/sec pthread_spinlock, 3,i: 11,943,068 msg/sec pthread_spinlock, 4,s: 6,557,078 msg/sec pthread_spinlock, 4,i: 8,995,886 msg/sec pthread_spinlock, 5,s: 8,582,597 msg/sec pthread_spinlock, 5,i: 9,256,542 msg/sec pthread_spinlock, 6,s: 8,312,044 msg/sec pthread_spinlock, 6,i: 8,397,013 msg/sec pthread_spinlock, 7,s: 7,624,076 msg/sec pthread_spinlock, 7,i: 7,495,183 msg/sec pthread_spinlock, 8,s: 6,918,641 msg/sec pthread_spinlock, 8,i: 6,879,366 msg/sec std::mutex, 1,s: 5,568,799 msg/sec std::mutex, 1,i: 5,746,276 msg/sec std::mutex, 2,s: 5,296,752 msg/sec std::mutex, 2,i: 5,210,294 msg/sec std::mutex, 3,s: 5,414,504 msg/sec std::mutex, 3,i: 4,850,356 msg/sec std::mutex, 4,s: 6,021,837 msg/sec std::mutex, 4,i: 6,185,088 msg/sec std::mutex, 5,s: 5,948,597 msg/sec std::mutex, 5,i: 5,841,598 msg/sec std::mutex, 6,s: 5,814,802 msg/sec std::mutex, 6,i: 5,803,400 msg/sec std::mutex, 7,s: 5,779,532 msg/sec std::mutex, 7,i: 5,770,080 msg/sec std::mutex, 8,s: 5,644,194 msg/sec std::mutex, 8,i: 5,652,488 msg/sec tbb::spin_mutex, 1,s: 37,958,783 msg/sec tbb::spin_mutex, 1,i: 38,124,193 msg/sec tbb::spin_mutex, 2,s: 21,134,478 msg/sec tbb::spin_mutex, 2,i: 18,429,615 msg/sec tbb::spin_mutex, 3,s: 7,290,107 msg/sec tbb::spin_mutex, 3,i: 10,195,635 msg/sec tbb::spin_mutex, 4,s: 3,228,730 msg/sec tbb::spin_mutex, 4,i: 6,284,880 msg/sec tbb::spin_mutex, 5,s: 5,309,759 msg/sec tbb::spin_mutex, 5,i: 5,697,600 msg/sec tbb::spin_mutex, 6,s: 5,305,919 msg/sec tbb::spin_mutex, 6,i: 4,367,797 msg/sec tbb::spin_mutex, 7,s: 4,839,606 msg/sec tbb::spin_mutex, 7,i: 4,332,375 msg/sec tbb::spin_mutex, 8,s: 4,241,049 msg/sec tbb::spin_mutex, 8,i: 4,162,439 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,484,492 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,401,176 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,938,483 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,226,882 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,336,960 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,030,952 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,404,229 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,279,959 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,648,300 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,865,048 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,102,263 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,912,007 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,982,366 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,988,907 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,013,040 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,096,317 msg/sec xenium::michael_scott_queue, 1,s: 9,538,796 msg/sec xenium::michael_scott_queue, 1,i: 9,534,650 msg/sec xenium::michael_scott_queue, 2,s: 8,507,050 msg/sec xenium::michael_scott_queue, 2,i: 8,524,777 msg/sec xenium::michael_scott_queue, 3,s: 7,286,990 msg/sec xenium::michael_scott_queue, 3,i: 7,535,185 msg/sec xenium::michael_scott_queue, 4,s: 6,301,980 msg/sec xenium::michael_scott_queue, 4,i: 6,356,919 msg/sec xenium::michael_scott_queue, 5,s: 6,296,573 msg/sec xenium::michael_scott_queue, 5,i: 6,607,521 msg/sec xenium::michael_scott_queue, 6,s: 6,471,606 msg/sec xenium::michael_scott_queue, 6,i: 6,902,768 msg/sec xenium::michael_scott_queue, 7,s: 6,370,226 msg/sec xenium::michael_scott_queue, 7,i: 6,524,465 msg/sec xenium::michael_scott_queue, 8,s: 5,970,543 msg/sec xenium::michael_scott_queue, 8,i: 6,244,729 msg/sec xenium::ramalhete_queue, 1,s: 32,225,286 msg/sec xenium::ramalhete_queue, 1,i: 32,884,821 msg/sec xenium::ramalhete_queue, 2,s: 24,443,345 msg/sec xenium::ramalhete_queue, 2,i: 23,331,280 msg/sec xenium::ramalhete_queue, 3,s: 29,168,631 msg/sec xenium::ramalhete_queue, 3,i: 28,502,636 msg/sec xenium::ramalhete_queue, 4,s: 33,892,364 msg/sec xenium::ramalhete_queue, 4,i: 33,477,360 msg/sec xenium::ramalhete_queue, 5,s: 32,014,405 msg/sec xenium::ramalhete_queue, 5,i: 36,625,708 msg/sec xenium::ramalhete_queue, 6,s: 34,009,627 msg/sec xenium::ramalhete_queue, 6,i: 38,904,412 msg/sec xenium::ramalhete_queue, 7,s: 35,099,618 msg/sec xenium::ramalhete_queue, 7,i: 40,944,307 msg/sec xenium::ramalhete_queue, 8,s: 35,591,931 msg/sec xenium::ramalhete_queue, 8,i: 43,797,800 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,317,907 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,826,158 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,718,907 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,956,755 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,679,719 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,024,922 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,456,325 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,054,654 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,975,486 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,362,794 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,862,607 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,236,214 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,175,348 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,332,194 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,382,867 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,531,272 msg/sec AtomicQueue, 1,s: 54,723,676 msg/sec AtomicQueue, 1,i: 54,183,254 msg/sec AtomicQueue, 2,s: 12,306,901 msg/sec AtomicQueue, 2,i: 11,748,250 msg/sec AtomicQueue, 3,s: 10,792,943 msg/sec AtomicQueue, 3,i: 9,947,837 msg/sec AtomicQueue, 4,s: 8,253,137 msg/sec AtomicQueue, 4,i: 8,209,410 msg/sec AtomicQueue, 5,s: 8,040,625 msg/sec AtomicQueue, 5,i: 8,107,940 msg/sec AtomicQueue, 6,s: 7,841,926 msg/sec AtomicQueue, 6,i: 7,603,146 msg/sec AtomicQueue, 7,s: 7,176,291 msg/sec AtomicQueue, 7,i: 7,969,010 msg/sec AtomicQueue, 8,s: 6,339,008 msg/sec AtomicQueue, 8,i: 7,450,253 msg/sec AtomicQueueB, 1,s: 48,275,340 msg/sec AtomicQueueB, 1,i: 43,587,727 msg/sec AtomicQueueB, 2,s: 11,883,384 msg/sec AtomicQueueB, 2,i: 11,524,046 msg/sec AtomicQueueB, 3,s: 10,974,679 msg/sec AtomicQueueB, 3,i: 10,143,258 msg/sec AtomicQueueB, 4,s: 8,092,702 msg/sec AtomicQueueB, 4,i: 8,116,929 msg/sec AtomicQueueB, 5,s: 7,602,378 msg/sec AtomicQueueB, 5,i: 7,814,891 msg/sec AtomicQueueB, 6,s: 7,430,766 msg/sec AtomicQueueB, 6,i: 7,568,738 msg/sec AtomicQueueB, 7,s: 6,814,905 msg/sec AtomicQueueB, 7,i: 7,749,684 msg/sec AtomicQueueB, 8,s: 6,213,210 msg/sec AtomicQueueB, 8,i: 7,103,272 msg/sec OptimistAtomicQueue, 1,s: 753,671,226 msg/sec OptimistAtomicQueue, 1,i: 601,601,282 msg/sec OptimistAtomicQueue, 2,s: 32,647,243 msg/sec OptimistAtomicQueue, 2,i: 32,704,057 msg/sec OptimistAtomicQueue, 3,s: 36,573,141 msg/sec OptimistAtomicQueue, 3,i: 37,326,474 msg/sec OptimistAtomicQueue, 4,s: 39,292,191 msg/sec OptimistAtomicQueue, 4,i: 39,378,948 msg/sec OptimistAtomicQueue, 5,s: 42,355,607 msg/sec OptimistAtomicQueue, 5,i: 46,353,664 msg/sec OptimistAtomicQueue, 6,s: 42,649,773 msg/sec OptimistAtomicQueue, 6,i: 50,213,588 msg/sec OptimistAtomicQueue, 7,s: 44,536,550 msg/sec OptimistAtomicQueue, 7,i: 52,032,098 msg/sec OptimistAtomicQueue, 8,s: 46,467,682 msg/sec OptimistAtomicQueue, 8,i: 49,534,939 msg/sec OptimistAtomicQueueB, 1,s: 77,704,373 msg/sec OptimistAtomicQueueB, 1,i: 137,085,242 msg/sec OptimistAtomicQueueB, 2,s: 32,083,918 msg/sec OptimistAtomicQueueB, 2,i: 31,894,123 msg/sec OptimistAtomicQueueB, 3,s: 36,217,126 msg/sec OptimistAtomicQueueB, 3,i: 36,857,486 msg/sec OptimistAtomicQueueB, 4,s: 38,692,115 msg/sec OptimistAtomicQueueB, 4,i: 38,658,144 msg/sec OptimistAtomicQueueB, 5,s: 40,337,485 msg/sec OptimistAtomicQueueB, 5,i: 45,599,025 msg/sec OptimistAtomicQueueB, 6,s: 41,212,583 msg/sec OptimistAtomicQueueB, 6,i: 49,040,532 msg/sec OptimistAtomicQueueB, 7,s: 42,743,737 msg/sec OptimistAtomicQueueB, 7,i: 48,318,837 msg/sec OptimistAtomicQueueB, 8,s: 44,339,485 msg/sec OptimistAtomicQueueB, 8,i: 48,328,167 msg/sec AtomicQueue2, 1,s: 23,110,598 msg/sec AtomicQueue2, 1,i: 23,084,002 msg/sec AtomicQueue2, 2,s: 11,912,711 msg/sec AtomicQueue2, 2,i: 11,421,897 msg/sec AtomicQueue2, 3,s: 9,312,249 msg/sec AtomicQueue2, 3,i: 9,404,295 msg/sec AtomicQueue2, 4,s: 8,096,851 msg/sec AtomicQueue2, 4,i: 8,073,026 msg/sec AtomicQueue2, 5,s: 7,901,085 msg/sec AtomicQueue2, 5,i: 8,035,547 msg/sec AtomicQueue2, 6,s: 7,710,447 msg/sec AtomicQueue2, 6,i: 7,537,655 msg/sec AtomicQueue2, 7,s: 7,119,317 msg/sec AtomicQueue2, 7,i: 7,886,247 msg/sec AtomicQueue2, 8,s: 6,369,704 msg/sec AtomicQueue2, 8,i: 7,366,061 msg/sec AtomicQueueB2, 1,s: 36,323,022 msg/sec AtomicQueueB2, 1,i: 36,211,846 msg/sec AtomicQueueB2, 2,s: 11,361,888 msg/sec AtomicQueueB2, 2,i: 11,116,002 msg/sec AtomicQueueB2, 3,s: 9,650,082 msg/sec AtomicQueueB2, 3,i: 9,617,572 msg/sec AtomicQueueB2, 4,s: 7,929,658 msg/sec AtomicQueueB2, 4,i: 7,769,047 msg/sec AtomicQueueB2, 5,s: 7,541,852 msg/sec AtomicQueueB2, 5,i: 7,727,696 msg/sec AtomicQueueB2, 6,s: 7,200,098 msg/sec AtomicQueueB2, 6,i: 7,432,846 msg/sec AtomicQueueB2, 7,s: 6,866,331 msg/sec AtomicQueueB2, 7,i: 7,725,498 msg/sec AtomicQueueB2, 8,s: 6,331,143 msg/sec AtomicQueueB2, 8,i: 7,095,280 msg/sec OptimistAtomicQueue2, 1,s: 435,410,830 msg/sec OptimistAtomicQueue2, 1,i: 29,748,528 msg/sec OptimistAtomicQueue2, 2,s: 24,251,798 msg/sec OptimistAtomicQueue2, 2,i: 24,012,186 msg/sec OptimistAtomicQueue2, 3,s: 30,309,744 msg/sec OptimistAtomicQueue2, 3,i: 30,014,673 msg/sec OptimistAtomicQueue2, 4,s: 33,153,936 msg/sec OptimistAtomicQueue2, 4,i: 33,294,667 msg/sec OptimistAtomicQueue2, 5,s: 37,231,852 msg/sec OptimistAtomicQueue2, 5,i: 41,177,384 msg/sec OptimistAtomicQueue2, 6,s: 40,019,463 msg/sec OptimistAtomicQueue2, 6,i: 49,028,882 msg/sec OptimistAtomicQueue2, 7,s: 42,764,997 msg/sec OptimistAtomicQueue2, 7,i: 48,156,990 msg/sec OptimistAtomicQueue2, 8,s: 44,015,615 msg/sec OptimistAtomicQueue2, 8,i: 48,329,565 msg/sec OptimistAtomicQueueB2, 1,s: 76,261,922 msg/sec OptimistAtomicQueueB2, 1,i: 33,859,138 msg/sec OptimistAtomicQueueB2, 2,s: 27,196,244 msg/sec OptimistAtomicQueueB2, 2,i: 25,639,581 msg/sec OptimistAtomicQueueB2, 3,s: 29,759,281 msg/sec OptimistAtomicQueueB2, 3,i: 29,685,068 msg/sec OptimistAtomicQueueB2, 4,s: 33,488,098 msg/sec OptimistAtomicQueueB2, 4,i: 32,669,797 msg/sec OptimistAtomicQueueB2, 5,s: 34,434,675 msg/sec OptimistAtomicQueueB2, 5,i: 39,257,223 msg/sec OptimistAtomicQueueB2, 6,s: 37,140,798 msg/sec OptimistAtomicQueueB2, 6,i: 42,436,318 msg/sec OptimistAtomicQueueB2, 7,s: 40,294,470 msg/sec OptimistAtomicQueueB2, 7,i: 43,121,961 msg/sec OptimistAtomicQueueB2, 8,s: 42,066,122 msg/sec OptimistAtomicQueueB2, 8,i: 44,993,005 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000124 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000241 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [266] 130m:19s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,826,316 msg/sec boost::lockfree::spsc_queue, 1,i: 69,963,541 msg/sec boost::lockfree::queue, 1,s: 6,884,680 msg/sec boost::lockfree::queue, 1,i: 6,880,600 msg/sec boost::lockfree::queue, 2,s: 7,613,764 msg/sec boost::lockfree::queue, 2,i: 7,457,557 msg/sec boost::lockfree::queue, 3,s: 7,409,984 msg/sec boost::lockfree::queue, 3,i: 7,503,362 msg/sec boost::lockfree::queue, 4,s: 6,427,286 msg/sec boost::lockfree::queue, 4,i: 6,829,556 msg/sec boost::lockfree::queue, 5,s: 6,425,602 msg/sec boost::lockfree::queue, 5,i: 6,484,554 msg/sec boost::lockfree::queue, 6,s: 6,050,021 msg/sec boost::lockfree::queue, 6,i: 6,075,432 msg/sec boost::lockfree::queue, 7,s: 5,816,421 msg/sec boost::lockfree::queue, 7,i: 5,913,645 msg/sec boost::lockfree::queue, 8,s: 5,489,057 msg/sec boost::lockfree::queue, 8,i: 5,569,762 msg/sec moodycamel::ReaderWriterQueue, 1,s: 91,487,198 msg/sec moodycamel::ReaderWriterQueue, 1,i: 65,028,045 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,734,949 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,540,426 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,667,708 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,766,848 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,263,248 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,779,503 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,962,085 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,080,395 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,311,233 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,394,234 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,422,989 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,955,738 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,000,017 msg/sec moodycamel::ConcurrentQueue, 7,i: 35,768,086 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,233,997 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,277,912 msg/sec pthread_spinlock, 1,s: 28,838,134 msg/sec pthread_spinlock, 1,i: 25,304,372 msg/sec pthread_spinlock, 2,s: 15,706,200 msg/sec pthread_spinlock, 2,i: 16,980,656 msg/sec pthread_spinlock, 3,s: 8,345,085 msg/sec pthread_spinlock, 3,i: 12,062,885 msg/sec pthread_spinlock, 4,s: 6,527,280 msg/sec pthread_spinlock, 4,i: 9,145,838 msg/sec pthread_spinlock, 5,s: 8,643,885 msg/sec pthread_spinlock, 5,i: 9,471,820 msg/sec pthread_spinlock, 6,s: 8,351,397 msg/sec pthread_spinlock, 6,i: 8,462,434 msg/sec pthread_spinlock, 7,s: 7,568,671 msg/sec pthread_spinlock, 7,i: 7,696,492 msg/sec pthread_spinlock, 8,s: 6,878,274 msg/sec pthread_spinlock, 8,i: 6,940,330 msg/sec std::mutex, 1,s: 7,211,645 msg/sec std::mutex, 1,i: 6,583,030 msg/sec std::mutex, 2,s: 5,394,019 msg/sec std::mutex, 2,i: 6,157,239 msg/sec std::mutex, 3,s: 5,362,934 msg/sec std::mutex, 3,i: 5,608,446 msg/sec std::mutex, 4,s: 5,221,037 msg/sec std::mutex, 4,i: 6,207,688 msg/sec std::mutex, 5,s: 5,986,810 msg/sec std::mutex, 5,i: 6,135,012 msg/sec std::mutex, 6,s: 5,900,008 msg/sec std::mutex, 6,i: 5,940,556 msg/sec std::mutex, 7,s: 5,845,932 msg/sec std::mutex, 7,i: 5,832,026 msg/sec std::mutex, 8,s: 5,709,295 msg/sec std::mutex, 8,i: 5,697,528 msg/sec tbb::spin_mutex, 1,s: 38,136,671 msg/sec tbb::spin_mutex, 1,i: 33,094,854 msg/sec tbb::spin_mutex, 2,s: 21,091,670 msg/sec tbb::spin_mutex, 2,i: 18,444,119 msg/sec tbb::spin_mutex, 3,s: 8,469,618 msg/sec tbb::spin_mutex, 3,i: 10,212,657 msg/sec tbb::spin_mutex, 4,s: 3,044,002 msg/sec tbb::spin_mutex, 4,i: 6,304,366 msg/sec tbb::spin_mutex, 5,s: 5,215,141 msg/sec tbb::spin_mutex, 5,i: 5,371,356 msg/sec tbb::spin_mutex, 6,s: 5,374,028 msg/sec tbb::spin_mutex, 6,i: 4,344,173 msg/sec tbb::spin_mutex, 7,s: 4,701,305 msg/sec tbb::spin_mutex, 7,i: 4,308,935 msg/sec tbb::spin_mutex, 8,s: 4,236,754 msg/sec tbb::spin_mutex, 8,i: 4,131,294 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,311,069 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,152,293 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,848,948 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,791,018 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,416,394 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,445,340 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,432,216 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,247,259 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,834,053 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,745,708 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,747,788 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,134,403 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,902,931 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,994,781 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,853,697 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,131,385 msg/sec xenium::michael_scott_queue, 1,s: 9,329,901 msg/sec xenium::michael_scott_queue, 1,i: 9,256,043 msg/sec xenium::michael_scott_queue, 2,s: 8,345,897 msg/sec xenium::michael_scott_queue, 2,i: 8,384,181 msg/sec xenium::michael_scott_queue, 3,s: 7,269,557 msg/sec xenium::michael_scott_queue, 3,i: 7,561,772 msg/sec xenium::michael_scott_queue, 4,s: 6,306,717 msg/sec xenium::michael_scott_queue, 4,i: 6,431,333 msg/sec xenium::michael_scott_queue, 5,s: 6,326,386 msg/sec xenium::michael_scott_queue, 5,i: 6,665,182 msg/sec xenium::michael_scott_queue, 6,s: 6,487,500 msg/sec xenium::michael_scott_queue, 6,i: 6,711,255 msg/sec xenium::michael_scott_queue, 7,s: 6,307,996 msg/sec xenium::michael_scott_queue, 7,i: 6,456,546 msg/sec xenium::michael_scott_queue, 8,s: 6,005,059 msg/sec xenium::michael_scott_queue, 8,i: 6,220,288 msg/sec xenium::ramalhete_queue, 1,s: 32,153,970 msg/sec xenium::ramalhete_queue, 1,i: 31,962,534 msg/sec xenium::ramalhete_queue, 2,s: 23,668,615 msg/sec xenium::ramalhete_queue, 2,i: 23,304,027 msg/sec xenium::ramalhete_queue, 3,s: 29,127,621 msg/sec xenium::ramalhete_queue, 3,i: 28,418,491 msg/sec xenium::ramalhete_queue, 4,s: 33,833,589 msg/sec xenium::ramalhete_queue, 4,i: 33,476,505 msg/sec xenium::ramalhete_queue, 5,s: 32,172,913 msg/sec xenium::ramalhete_queue, 5,i: 37,115,671 msg/sec xenium::ramalhete_queue, 6,s: 34,421,539 msg/sec xenium::ramalhete_queue, 6,i: 39,338,565 msg/sec xenium::ramalhete_queue, 7,s: 35,100,146 msg/sec xenium::ramalhete_queue, 7,i: 41,325,428 msg/sec xenium::ramalhete_queue, 8,s: 35,321,017 msg/sec xenium::ramalhete_queue, 8,i: 43,792,741 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,022,084 msg/sec xenium::vyukov_bounded_queue, 1,i: 95,292,266 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,936,297 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,545,502 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,526,805 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,022,198 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,557,916 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,135,892 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,894,367 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,340,862 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,011,784 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,171,955 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,174,321 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,965,102 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,439,046 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,250,877 msg/sec AtomicQueue, 1,s: 59,635,788 msg/sec AtomicQueue, 1,i: 56,478,203 msg/sec AtomicQueue, 2,s: 12,268,285 msg/sec AtomicQueue, 2,i: 11,735,932 msg/sec AtomicQueue, 3,s: 10,771,707 msg/sec AtomicQueue, 3,i: 9,939,692 msg/sec AtomicQueue, 4,s: 8,174,317 msg/sec AtomicQueue, 4,i: 8,220,096 msg/sec AtomicQueue, 5,s: 8,036,197 msg/sec AtomicQueue, 5,i: 8,099,408 msg/sec AtomicQueue, 6,s: 7,812,101 msg/sec AtomicQueue, 6,i: 7,637,235 msg/sec AtomicQueue, 7,s: 7,195,575 msg/sec AtomicQueue, 7,i: 7,964,558 msg/sec AtomicQueue, 8,s: 6,339,752 msg/sec AtomicQueue, 8,i: 7,468,508 msg/sec AtomicQueueB, 1,s: 146,767,242 msg/sec AtomicQueueB, 1,i: 44,026,726 msg/sec AtomicQueueB, 2,s: 11,848,915 msg/sec AtomicQueueB, 2,i: 11,491,129 msg/sec AtomicQueueB, 3,s: 11,009,288 msg/sec AtomicQueueB, 3,i: 10,225,898 msg/sec AtomicQueueB, 4,s: 8,042,647 msg/sec AtomicQueueB, 4,i: 7,891,032 msg/sec AtomicQueueB, 5,s: 7,632,562 msg/sec AtomicQueueB, 5,i: 7,830,353 msg/sec AtomicQueueB, 6,s: 7,404,668 msg/sec AtomicQueueB, 6,i: 7,486,999 msg/sec AtomicQueueB, 7,s: 6,906,863 msg/sec AtomicQueueB, 7,i: 7,724,931 msg/sec AtomicQueueB, 8,s: 6,195,848 msg/sec AtomicQueueB, 8,i: 7,037,242 msg/sec OptimistAtomicQueue, 1,s: 680,217,043 msg/sec OptimistAtomicQueue, 1,i: 511,252,998 msg/sec OptimistAtomicQueue, 2,s: 32,088,984 msg/sec OptimistAtomicQueue, 2,i: 32,206,215 msg/sec OptimistAtomicQueue, 3,s: 36,640,898 msg/sec OptimistAtomicQueue, 3,i: 37,263,708 msg/sec OptimistAtomicQueue, 4,s: 39,266,328 msg/sec OptimistAtomicQueue, 4,i: 39,369,966 msg/sec OptimistAtomicQueue, 5,s: 39,854,456 msg/sec OptimistAtomicQueue, 5,i: 46,532,004 msg/sec OptimistAtomicQueue, 6,s: 42,042,468 msg/sec OptimistAtomicQueue, 6,i: 50,229,495 msg/sec OptimistAtomicQueue, 7,s: 44,322,086 msg/sec OptimistAtomicQueue, 7,i: 49,393,838 msg/sec OptimistAtomicQueue, 8,s: 46,458,581 msg/sec OptimistAtomicQueue, 8,i: 49,042,670 msg/sec OptimistAtomicQueueB, 1,s: 77,745,897 msg/sec OptimistAtomicQueueB, 1,i: 77,783,589 msg/sec OptimistAtomicQueueB, 2,s: 31,652,384 msg/sec OptimistAtomicQueueB, 2,i: 31,722,023 msg/sec OptimistAtomicQueueB, 3,s: 36,137,543 msg/sec OptimistAtomicQueueB, 3,i: 36,748,078 msg/sec OptimistAtomicQueueB, 4,s: 38,671,674 msg/sec OptimistAtomicQueueB, 4,i: 38,500,961 msg/sec OptimistAtomicQueueB, 5,s: 40,789,903 msg/sec OptimistAtomicQueueB, 5,i: 45,316,426 msg/sec OptimistAtomicQueueB, 6,s: 40,803,073 msg/sec OptimistAtomicQueueB, 6,i: 49,153,710 msg/sec OptimistAtomicQueueB, 7,s: 41,733,652 msg/sec OptimistAtomicQueueB, 7,i: 47,629,045 msg/sec OptimistAtomicQueueB, 8,s: 44,214,656 msg/sec OptimistAtomicQueueB, 8,i: 48,169,763 msg/sec AtomicQueue2, 1,s: 22,861,590 msg/sec AtomicQueue2, 1,i: 22,855,203 msg/sec AtomicQueue2, 2,s: 12,008,015 msg/sec AtomicQueue2, 2,i: 11,361,559 msg/sec AtomicQueue2, 3,s: 9,840,792 msg/sec AtomicQueue2, 3,i: 9,490,314 msg/sec AtomicQueue2, 4,s: 8,027,462 msg/sec AtomicQueue2, 4,i: 8,042,367 msg/sec AtomicQueue2, 5,s: 7,921,769 msg/sec AtomicQueue2, 5,i: 8,035,141 msg/sec AtomicQueue2, 6,s: 7,615,029 msg/sec AtomicQueue2, 6,i: 7,511,971 msg/sec AtomicQueue2, 7,s: 7,085,382 msg/sec AtomicQueue2, 7,i: 7,886,813 msg/sec AtomicQueue2, 8,s: 6,425,971 msg/sec AtomicQueue2, 8,i: 7,395,072 msg/sec AtomicQueueB2, 1,s: 36,338,826 msg/sec AtomicQueueB2, 1,i: 36,138,262 msg/sec AtomicQueueB2, 2,s: 11,472,436 msg/sec AtomicQueueB2, 2,i: 11,084,879 msg/sec AtomicQueueB2, 3,s: 9,654,434 msg/sec AtomicQueueB2, 3,i: 9,499,813 msg/sec AtomicQueueB2, 4,s: 7,994,649 msg/sec AtomicQueueB2, 4,i: 7,854,075 msg/sec AtomicQueueB2, 5,s: 7,496,027 msg/sec AtomicQueueB2, 5,i: 7,742,656 msg/sec AtomicQueueB2, 6,s: 7,141,181 msg/sec AtomicQueueB2, 6,i: 7,434,041 msg/sec AtomicQueueB2, 7,s: 6,902,548 msg/sec AtomicQueueB2, 7,i: 7,714,227 msg/sec AtomicQueueB2, 8,s: 6,272,034 msg/sec AtomicQueueB2, 8,i: 6,973,108 msg/sec OptimistAtomicQueue2, 1,s: 460,505,282 msg/sec OptimistAtomicQueue2, 1,i: 459,631,327 msg/sec OptimistAtomicQueue2, 2,s: 24,750,077 msg/sec OptimistAtomicQueue2, 2,i: 24,031,420 msg/sec OptimistAtomicQueue2, 3,s: 30,324,087 msg/sec OptimistAtomicQueue2, 3,i: 29,958,128 msg/sec OptimistAtomicQueue2, 4,s: 33,228,929 msg/sec OptimistAtomicQueue2, 4,i: 33,053,806 msg/sec OptimistAtomicQueue2, 5,s: 37,302,869 msg/sec OptimistAtomicQueue2, 5,i: 40,731,093 msg/sec OptimistAtomicQueue2, 6,s: 40,017,892 msg/sec OptimistAtomicQueue2, 6,i: 49,416,879 msg/sec OptimistAtomicQueue2, 7,s: 42,873,160 msg/sec OptimistAtomicQueue2, 7,i: 48,172,235 msg/sec OptimistAtomicQueue2, 8,s: 44,026,014 msg/sec OptimistAtomicQueue2, 8,i: 49,458,897 msg/sec OptimistAtomicQueueB2, 1,s: 79,114,521 msg/sec OptimistAtomicQueueB2, 1,i: 64,725,658 msg/sec OptimistAtomicQueueB2, 2,s: 28,748,596 msg/sec OptimistAtomicQueueB2, 2,i: 23,181,190 msg/sec OptimistAtomicQueueB2, 3,s: 30,387,426 msg/sec OptimistAtomicQueueB2, 3,i: 29,080,748 msg/sec OptimistAtomicQueueB2, 4,s: 33,624,282 msg/sec OptimistAtomicQueueB2, 4,i: 32,772,767 msg/sec OptimistAtomicQueueB2, 5,s: 34,713,016 msg/sec OptimistAtomicQueueB2, 5,i: 39,108,754 msg/sec OptimistAtomicQueueB2, 6,s: 37,610,485 msg/sec OptimistAtomicQueueB2, 6,i: 42,238,548 msg/sec OptimistAtomicQueueB2, 7,s: 40,776,861 msg/sec OptimistAtomicQueueB2, 7,i: 43,079,313 msg/sec OptimistAtomicQueueB2, 8,s: 42,213,839 msg/sec OptimistAtomicQueueB2, 8,i: 45,131,202 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000114 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000254 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000188 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [267] 128m:59s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,807,051 msg/sec boost::lockfree::spsc_queue, 1,i: 69,923,230 msg/sec boost::lockfree::queue, 1,s: 6,847,650 msg/sec boost::lockfree::queue, 1,i: 6,930,720 msg/sec boost::lockfree::queue, 2,s: 7,618,017 msg/sec boost::lockfree::queue, 2,i: 7,537,463 msg/sec boost::lockfree::queue, 3,s: 7,308,724 msg/sec boost::lockfree::queue, 3,i: 7,534,166 msg/sec boost::lockfree::queue, 4,s: 6,428,147 msg/sec boost::lockfree::queue, 4,i: 6,840,476 msg/sec boost::lockfree::queue, 5,s: 6,475,051 msg/sec boost::lockfree::queue, 5,i: 6,504,720 msg/sec boost::lockfree::queue, 6,s: 5,964,724 msg/sec boost::lockfree::queue, 6,i: 6,103,845 msg/sec boost::lockfree::queue, 7,s: 5,935,619 msg/sec boost::lockfree::queue, 7,i: 6,052,159 msg/sec boost::lockfree::queue, 8,s: 5,343,026 msg/sec boost::lockfree::queue, 8,i: 5,598,502 msg/sec moodycamel::ReaderWriterQueue, 1,s: 113,921,932 msg/sec moodycamel::ReaderWriterQueue, 1,i: 99,892,488 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,977,389 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,667,055 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,242,478 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,216,450 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,576,859 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,801,512 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,470,303 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,516,032 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,369,632 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,870,778 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,412,355 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,469,467 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,343,123 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,218,400 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,514,974 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,494,564 msg/sec pthread_spinlock, 1,s: 29,068,079 msg/sec pthread_spinlock, 1,i: 25,352,145 msg/sec pthread_spinlock, 2,s: 16,107,628 msg/sec pthread_spinlock, 2,i: 16,937,301 msg/sec pthread_spinlock, 3,s: 8,328,957 msg/sec pthread_spinlock, 3,i: 12,137,232 msg/sec pthread_spinlock, 4,s: 6,479,052 msg/sec pthread_spinlock, 4,i: 8,956,174 msg/sec pthread_spinlock, 5,s: 8,699,871 msg/sec pthread_spinlock, 5,i: 9,457,227 msg/sec pthread_spinlock, 6,s: 8,454,009 msg/sec pthread_spinlock, 6,i: 8,541,555 msg/sec pthread_spinlock, 7,s: 8,022,371 msg/sec pthread_spinlock, 7,i: 7,450,278 msg/sec pthread_spinlock, 8,s: 6,684,180 msg/sec pthread_spinlock, 8,i: 7,303,625 msg/sec std::mutex, 1,s: 5,837,957 msg/sec std::mutex, 1,i: 7,435,264 msg/sec std::mutex, 2,s: 6,068,064 msg/sec std::mutex, 2,i: 6,369,852 msg/sec std::mutex, 3,s: 6,141,488 msg/sec std::mutex, 3,i: 6,257,032 msg/sec std::mutex, 4,s: 6,042,577 msg/sec std::mutex, 4,i: 6,368,167 msg/sec std::mutex, 5,s: 6,179,290 msg/sec std::mutex, 5,i: 6,270,670 msg/sec std::mutex, 6,s: 5,944,523 msg/sec std::mutex, 6,i: 5,991,254 msg/sec std::mutex, 7,s: 5,918,996 msg/sec std::mutex, 7,i: 5,948,129 msg/sec std::mutex, 8,s: 5,755,920 msg/sec std::mutex, 8,i: 5,785,110 msg/sec tbb::spin_mutex, 1,s: 37,677,928 msg/sec tbb::spin_mutex, 1,i: 37,732,275 msg/sec tbb::spin_mutex, 2,s: 21,200,835 msg/sec tbb::spin_mutex, 2,i: 20,466,122 msg/sec tbb::spin_mutex, 3,s: 9,064,063 msg/sec tbb::spin_mutex, 3,i: 11,202,456 msg/sec tbb::spin_mutex, 4,s: 3,115,371 msg/sec tbb::spin_mutex, 4,i: 6,402,409 msg/sec tbb::spin_mutex, 5,s: 5,267,688 msg/sec tbb::spin_mutex, 5,i: 5,470,713 msg/sec tbb::spin_mutex, 6,s: 5,404,292 msg/sec tbb::spin_mutex, 6,i: 4,363,543 msg/sec tbb::spin_mutex, 7,s: 4,864,379 msg/sec tbb::spin_mutex, 7,i: 4,343,712 msg/sec tbb::spin_mutex, 8,s: 4,246,598 msg/sec tbb::spin_mutex, 8,i: 4,087,762 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,176,345 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,197,576 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,686,065 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,948,220 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,399,478 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,519,020 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,111,336 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,426,152 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,564,252 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,612,860 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,688,532 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,655,051 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,831,009 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,799,259 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,080,256 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,067,554 msg/sec xenium::michael_scott_queue, 1,s: 10,097,724 msg/sec xenium::michael_scott_queue, 1,i: 9,868,744 msg/sec xenium::michael_scott_queue, 2,s: 8,470,798 msg/sec xenium::michael_scott_queue, 2,i: 8,442,739 msg/sec xenium::michael_scott_queue, 3,s: 7,128,866 msg/sec xenium::michael_scott_queue, 3,i: 7,558,816 msg/sec xenium::michael_scott_queue, 4,s: 6,296,799 msg/sec xenium::michael_scott_queue, 4,i: 6,327,479 msg/sec xenium::michael_scott_queue, 5,s: 6,304,009 msg/sec xenium::michael_scott_queue, 5,i: 6,660,612 msg/sec xenium::michael_scott_queue, 6,s: 6,484,696 msg/sec xenium::michael_scott_queue, 6,i: 6,728,174 msg/sec xenium::michael_scott_queue, 7,s: 6,284,686 msg/sec xenium::michael_scott_queue, 7,i: 6,534,404 msg/sec xenium::michael_scott_queue, 8,s: 5,975,702 msg/sec xenium::michael_scott_queue, 8,i: 6,080,090 msg/sec xenium::ramalhete_queue, 1,s: 31,803,684 msg/sec xenium::ramalhete_queue, 1,i: 31,291,778 msg/sec xenium::ramalhete_queue, 2,s: 23,138,124 msg/sec xenium::ramalhete_queue, 2,i: 22,977,376 msg/sec xenium::ramalhete_queue, 3,s: 29,044,502 msg/sec xenium::ramalhete_queue, 3,i: 28,205,426 msg/sec xenium::ramalhete_queue, 4,s: 33,804,671 msg/sec xenium::ramalhete_queue, 4,i: 33,483,523 msg/sec xenium::ramalhete_queue, 5,s: 32,203,276 msg/sec xenium::ramalhete_queue, 5,i: 36,012,903 msg/sec xenium::ramalhete_queue, 6,s: 33,962,026 msg/sec xenium::ramalhete_queue, 6,i: 39,080,127 msg/sec xenium::ramalhete_queue, 7,s: 35,103,241 msg/sec xenium::ramalhete_queue, 7,i: 41,457,203 msg/sec xenium::ramalhete_queue, 8,s: 35,519,612 msg/sec xenium::ramalhete_queue, 8,i: 44,586,855 msg/sec xenium::vyukov_bounded_queue, 1,s: 116,396,569 msg/sec xenium::vyukov_bounded_queue, 1,i: 64,519,203 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,932,308 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,512,999 msg/sec xenium::vyukov_bounded_queue, 3,s: 14,945,289 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,951,526 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,682,748 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,305,897 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,131,960 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,416,685 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,974,569 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,200,793 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,216,607 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,893,466 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,371,192 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,283,225 msg/sec AtomicQueue, 1,s: 60,401,357 msg/sec AtomicQueue, 1,i: 56,624,512 msg/sec AtomicQueue, 2,s: 12,245,459 msg/sec AtomicQueue, 2,i: 11,716,513 msg/sec AtomicQueue, 3,s: 10,786,554 msg/sec AtomicQueue, 3,i: 9,840,379 msg/sec AtomicQueue, 4,s: 8,236,367 msg/sec AtomicQueue, 4,i: 8,208,946 msg/sec AtomicQueue, 5,s: 8,054,807 msg/sec AtomicQueue, 5,i: 8,090,664 msg/sec AtomicQueue, 6,s: 7,851,953 msg/sec AtomicQueue, 6,i: 7,599,662 msg/sec AtomicQueue, 7,s: 7,142,108 msg/sec AtomicQueue, 7,i: 7,975,633 msg/sec AtomicQueue, 8,s: 6,346,296 msg/sec AtomicQueue, 8,i: 7,489,398 msg/sec AtomicQueueB, 1,s: 44,285,336 msg/sec AtomicQueueB, 1,i: 43,870,477 msg/sec AtomicQueueB, 2,s: 11,807,683 msg/sec AtomicQueueB, 2,i: 11,380,470 msg/sec AtomicQueueB, 3,s: 10,879,044 msg/sec AtomicQueueB, 3,i: 10,077,463 msg/sec AtomicQueueB, 4,s: 8,016,169 msg/sec AtomicQueueB, 4,i: 7,968,649 msg/sec AtomicQueueB, 5,s: 7,593,034 msg/sec AtomicQueueB, 5,i: 7,820,884 msg/sec AtomicQueueB, 6,s: 7,297,581 msg/sec AtomicQueueB, 6,i: 7,529,336 msg/sec AtomicQueueB, 7,s: 6,853,388 msg/sec AtomicQueueB, 7,i: 7,695,802 msg/sec AtomicQueueB, 8,s: 6,230,008 msg/sec AtomicQueueB, 8,i: 7,001,003 msg/sec OptimistAtomicQueue, 1,s: 703,922,467 msg/sec OptimistAtomicQueue, 1,i: 523,878,170 msg/sec OptimistAtomicQueue, 2,s: 31,967,995 msg/sec OptimistAtomicQueue, 2,i: 32,026,740 msg/sec OptimistAtomicQueue, 3,s: 36,619,135 msg/sec OptimistAtomicQueue, 3,i: 37,314,890 msg/sec OptimistAtomicQueue, 4,s: 39,270,122 msg/sec OptimistAtomicQueue, 4,i: 39,415,105 msg/sec OptimistAtomicQueue, 5,s: 42,442,365 msg/sec OptimistAtomicQueue, 5,i: 46,377,025 msg/sec OptimistAtomicQueue, 6,s: 41,941,008 msg/sec OptimistAtomicQueue, 6,i: 50,489,255 msg/sec OptimistAtomicQueue, 7,s: 45,158,476 msg/sec OptimistAtomicQueue, 7,i: 49,402,333 msg/sec OptimistAtomicQueue, 8,s: 46,345,776 msg/sec OptimistAtomicQueue, 8,i: 48,838,878 msg/sec OptimistAtomicQueueB, 1,s: 157,565,803 msg/sec OptimistAtomicQueueB, 1,i: 76,549,496 msg/sec OptimistAtomicQueueB, 2,s: 32,159,859 msg/sec OptimistAtomicQueueB, 2,i: 32,317,216 msg/sec OptimistAtomicQueueB, 3,s: 36,187,914 msg/sec OptimistAtomicQueueB, 3,i: 36,857,845 msg/sec OptimistAtomicQueueB, 4,s: 38,667,616 msg/sec OptimistAtomicQueueB, 4,i: 38,605,994 msg/sec OptimistAtomicQueueB, 5,s: 38,553,109 msg/sec OptimistAtomicQueueB, 5,i: 45,398,539 msg/sec OptimistAtomicQueueB, 6,s: 41,260,849 msg/sec OptimistAtomicQueueB, 6,i: 49,021,993 msg/sec OptimistAtomicQueueB, 7,s: 41,326,698 msg/sec OptimistAtomicQueueB, 7,i: 50,832,172 msg/sec OptimistAtomicQueueB, 8,s: 44,272,701 msg/sec OptimistAtomicQueueB, 8,i: 47,986,417 msg/sec AtomicQueue2, 1,s: 22,914,054 msg/sec AtomicQueue2, 1,i: 22,849,959 msg/sec AtomicQueue2, 2,s: 11,825,648 msg/sec AtomicQueue2, 2,i: 11,591,978 msg/sec AtomicQueue2, 3,s: 9,391,917 msg/sec AtomicQueue2, 3,i: 9,355,911 msg/sec AtomicQueue2, 4,s: 7,997,735 msg/sec AtomicQueue2, 4,i: 8,076,129 msg/sec AtomicQueue2, 5,s: 7,925,445 msg/sec AtomicQueue2, 5,i: 8,064,071 msg/sec AtomicQueue2, 6,s: 7,806,725 msg/sec AtomicQueue2, 6,i: 7,544,185 msg/sec AtomicQueue2, 7,s: 7,094,181 msg/sec AtomicQueue2, 7,i: 7,900,827 msg/sec AtomicQueue2, 8,s: 6,383,439 msg/sec AtomicQueue2, 8,i: 7,363,194 msg/sec AtomicQueueB2, 1,s: 36,046,499 msg/sec AtomicQueueB2, 1,i: 32,616,477 msg/sec AtomicQueueB2, 2,s: 11,411,818 msg/sec AtomicQueueB2, 2,i: 11,115,244 msg/sec AtomicQueueB2, 3,s: 9,609,133 msg/sec AtomicQueueB2, 3,i: 9,554,778 msg/sec AtomicQueueB2, 4,s: 7,965,344 msg/sec AtomicQueueB2, 4,i: 7,711,273 msg/sec AtomicQueueB2, 5,s: 7,619,761 msg/sec AtomicQueueB2, 5,i: 7,716,101 msg/sec AtomicQueueB2, 6,s: 7,277,266 msg/sec AtomicQueueB2, 6,i: 7,464,173 msg/sec AtomicQueueB2, 7,s: 6,861,070 msg/sec AtomicQueueB2, 7,i: 7,714,557 msg/sec AtomicQueueB2, 8,s: 6,251,157 msg/sec AtomicQueueB2, 8,i: 7,116,414 msg/sec OptimistAtomicQueue2, 1,s: 389,349,310 msg/sec OptimistAtomicQueue2, 1,i: 29,525,290 msg/sec OptimistAtomicQueue2, 2,s: 24,256,802 msg/sec OptimistAtomicQueue2, 2,i: 24,019,357 msg/sec OptimistAtomicQueue2, 3,s: 33,201,933 msg/sec OptimistAtomicQueue2, 3,i: 30,740,244 msg/sec OptimistAtomicQueue2, 4,s: 33,260,063 msg/sec OptimistAtomicQueue2, 4,i: 33,299,538 msg/sec OptimistAtomicQueue2, 5,s: 37,056,891 msg/sec OptimistAtomicQueue2, 5,i: 40,042,208 msg/sec OptimistAtomicQueue2, 6,s: 39,814,552 msg/sec OptimistAtomicQueue2, 6,i: 49,259,023 msg/sec OptimistAtomicQueue2, 7,s: 42,881,630 msg/sec OptimistAtomicQueue2, 7,i: 51,597,942 msg/sec OptimistAtomicQueue2, 8,s: 43,822,413 msg/sec OptimistAtomicQueue2, 8,i: 49,875,901 msg/sec OptimistAtomicQueueB2, 1,s: 77,496,545 msg/sec OptimistAtomicQueueB2, 1,i: 33,873,680 msg/sec OptimistAtomicQueueB2, 2,s: 26,930,881 msg/sec OptimistAtomicQueueB2, 2,i: 23,139,038 msg/sec OptimistAtomicQueueB2, 3,s: 29,683,669 msg/sec OptimistAtomicQueueB2, 3,i: 29,038,787 msg/sec OptimistAtomicQueueB2, 4,s: 33,142,861 msg/sec OptimistAtomicQueueB2, 4,i: 32,314,333 msg/sec OptimistAtomicQueueB2, 5,s: 34,756,634 msg/sec OptimistAtomicQueueB2, 5,i: 39,082,134 msg/sec OptimistAtomicQueueB2, 6,s: 37,253,168 msg/sec OptimistAtomicQueueB2, 6,i: 42,241,810 msg/sec OptimistAtomicQueueB2, 7,s: 40,082,804 msg/sec OptimistAtomicQueueB2, 7,i: 45,470,324 msg/sec OptimistAtomicQueueB2, 8,s: 42,532,902 msg/sec OptimistAtomicQueueB2, 8,i: 45,726,190 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000152 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000452 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000226 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [268] 127m:40s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,341,241 msg/sec boost::lockfree::spsc_queue, 1,i: 67,694,050 msg/sec boost::lockfree::queue, 1,s: 6,858,254 msg/sec boost::lockfree::queue, 1,i: 6,848,041 msg/sec boost::lockfree::queue, 2,s: 7,609,120 msg/sec boost::lockfree::queue, 2,i: 7,402,224 msg/sec boost::lockfree::queue, 3,s: 7,406,571 msg/sec boost::lockfree::queue, 3,i: 7,545,613 msg/sec boost::lockfree::queue, 4,s: 6,426,468 msg/sec boost::lockfree::queue, 4,i: 6,813,057 msg/sec boost::lockfree::queue, 5,s: 6,398,992 msg/sec boost::lockfree::queue, 5,i: 6,459,950 msg/sec boost::lockfree::queue, 6,s: 5,981,294 msg/sec boost::lockfree::queue, 6,i: 6,136,910 msg/sec boost::lockfree::queue, 7,s: 5,992,390 msg/sec boost::lockfree::queue, 7,i: 6,041,367 msg/sec boost::lockfree::queue, 8,s: 5,451,797 msg/sec boost::lockfree::queue, 8,i: 5,678,816 msg/sec moodycamel::ReaderWriterQueue, 1,s: 502,126,568 msg/sec moodycamel::ReaderWriterQueue, 1,i: 488,150,929 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,698,770 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,314,481 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,270,502 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,541,274 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,234,676 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,083,263 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,781,886 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,007,049 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,014,561 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,692,682 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,314,163 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,007,028 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,047,214 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,055,289 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,453,159 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,743,278 msg/sec pthread_spinlock, 1,s: 29,237,175 msg/sec pthread_spinlock, 1,i: 25,440,247 msg/sec pthread_spinlock, 2,s: 15,591,680 msg/sec pthread_spinlock, 2,i: 17,014,701 msg/sec pthread_spinlock, 3,s: 8,279,742 msg/sec pthread_spinlock, 3,i: 11,974,121 msg/sec pthread_spinlock, 4,s: 6,552,476 msg/sec pthread_spinlock, 4,i: 8,853,379 msg/sec pthread_spinlock, 5,s: 8,750,496 msg/sec pthread_spinlock, 5,i: 9,072,906 msg/sec pthread_spinlock, 6,s: 8,493,139 msg/sec pthread_spinlock, 6,i: 8,441,182 msg/sec pthread_spinlock, 7,s: 7,686,577 msg/sec pthread_spinlock, 7,i: 7,726,247 msg/sec pthread_spinlock, 8,s: 6,643,735 msg/sec pthread_spinlock, 8,i: 7,491,670 msg/sec std::mutex, 1,s: 6,911,539 msg/sec std::mutex, 1,i: 6,673,714 msg/sec std::mutex, 2,s: 5,264,961 msg/sec std::mutex, 2,i: 6,142,930 msg/sec std::mutex, 3,s: 6,081,575 msg/sec std::mutex, 3,i: 5,707,789 msg/sec std::mutex, 4,s: 5,940,871 msg/sec std::mutex, 4,i: 5,844,743 msg/sec std::mutex, 5,s: 5,477,171 msg/sec std::mutex, 5,i: 5,997,678 msg/sec std::mutex, 6,s: 6,112,838 msg/sec std::mutex, 6,i: 5,977,387 msg/sec std::mutex, 7,s: 5,922,393 msg/sec std::mutex, 7,i: 5,876,565 msg/sec std::mutex, 8,s: 5,721,802 msg/sec std::mutex, 8,i: 5,718,221 msg/sec tbb::spin_mutex, 1,s: 37,705,233 msg/sec tbb::spin_mutex, 1,i: 37,816,657 msg/sec tbb::spin_mutex, 2,s: 21,167,422 msg/sec tbb::spin_mutex, 2,i: 18,343,070 msg/sec tbb::spin_mutex, 3,s: 8,308,459 msg/sec tbb::spin_mutex, 3,i: 10,274,459 msg/sec tbb::spin_mutex, 4,s: 3,052,785 msg/sec tbb::spin_mutex, 4,i: 6,308,458 msg/sec tbb::spin_mutex, 5,s: 5,439,612 msg/sec tbb::spin_mutex, 5,i: 5,451,155 msg/sec tbb::spin_mutex, 6,s: 5,311,799 msg/sec tbb::spin_mutex, 6,i: 4,398,011 msg/sec tbb::spin_mutex, 7,s: 4,827,322 msg/sec tbb::spin_mutex, 7,i: 4,322,988 msg/sec tbb::spin_mutex, 8,s: 4,229,372 msg/sec tbb::spin_mutex, 8,i: 4,038,269 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,384,800 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,495,558 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,049,515 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,522,868 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,635,482 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,651,481 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,535,612 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,549,782 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,888,150 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,603,132 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,860,791 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,665,250 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,893,519 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,831,976 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,778,735 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,491,133 msg/sec xenium::michael_scott_queue, 1,s: 9,208,736 msg/sec xenium::michael_scott_queue, 1,i: 9,493,559 msg/sec xenium::michael_scott_queue, 2,s: 8,510,146 msg/sec xenium::michael_scott_queue, 2,i: 8,480,299 msg/sec xenium::michael_scott_queue, 3,s: 7,201,476 msg/sec xenium::michael_scott_queue, 3,i: 7,544,329 msg/sec xenium::michael_scott_queue, 4,s: 6,310,741 msg/sec xenium::michael_scott_queue, 4,i: 6,443,939 msg/sec xenium::michael_scott_queue, 5,s: 6,313,214 msg/sec xenium::michael_scott_queue, 5,i: 6,696,052 msg/sec xenium::michael_scott_queue, 6,s: 6,555,426 msg/sec xenium::michael_scott_queue, 6,i: 6,987,404 msg/sec xenium::michael_scott_queue, 7,s: 6,345,471 msg/sec xenium::michael_scott_queue, 7,i: 6,418,347 msg/sec xenium::michael_scott_queue, 8,s: 6,018,217 msg/sec xenium::michael_scott_queue, 8,i: 6,198,621 msg/sec xenium::ramalhete_queue, 1,s: 32,165,966 msg/sec xenium::ramalhete_queue, 1,i: 32,656,312 msg/sec xenium::ramalhete_queue, 2,s: 24,474,339 msg/sec xenium::ramalhete_queue, 2,i: 23,352,988 msg/sec xenium::ramalhete_queue, 3,s: 29,149,479 msg/sec xenium::ramalhete_queue, 3,i: 28,646,423 msg/sec xenium::ramalhete_queue, 4,s: 33,833,671 msg/sec xenium::ramalhete_queue, 4,i: 33,460,645 msg/sec xenium::ramalhete_queue, 5,s: 32,186,441 msg/sec xenium::ramalhete_queue, 5,i: 36,153,526 msg/sec xenium::ramalhete_queue, 6,s: 34,089,252 msg/sec xenium::ramalhete_queue, 6,i: 39,225,055 msg/sec xenium::ramalhete_queue, 7,s: 35,038,267 msg/sec xenium::ramalhete_queue, 7,i: 41,062,238 msg/sec xenium::ramalhete_queue, 8,s: 35,503,667 msg/sec xenium::ramalhete_queue, 8,i: 44,010,383 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,026,895 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,970,779 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,721,048 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,905,317 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,487,413 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,844,950 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,608,042 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,395,767 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,959,839 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,376,442 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,001,290 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,421,388 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,219,008 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,320,219 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,371,342 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,508,665 msg/sec AtomicQueue, 1,s: 171,665,656 msg/sec AtomicQueue, 1,i: 56,054,290 msg/sec AtomicQueue, 2,s: 12,292,466 msg/sec AtomicQueue, 2,i: 11,765,916 msg/sec AtomicQueue, 3,s: 10,793,491 msg/sec AtomicQueue, 3,i: 9,981,460 msg/sec AtomicQueue, 4,s: 8,195,127 msg/sec AtomicQueue, 4,i: 8,233,212 msg/sec AtomicQueue, 5,s: 8,013,696 msg/sec AtomicQueue, 5,i: 8,085,789 msg/sec AtomicQueue, 6,s: 7,607,675 msg/sec AtomicQueue, 6,i: 7,612,806 msg/sec AtomicQueue, 7,s: 7,068,979 msg/sec AtomicQueue, 7,i: 7,960,720 msg/sec AtomicQueue, 8,s: 6,344,854 msg/sec AtomicQueue, 8,i: 7,342,435 msg/sec AtomicQueueB, 1,s: 44,684,841 msg/sec AtomicQueueB, 1,i: 44,943,091 msg/sec AtomicQueueB, 2,s: 11,863,992 msg/sec AtomicQueueB, 2,i: 11,487,999 msg/sec AtomicQueueB, 3,s: 10,979,652 msg/sec AtomicQueueB, 3,i: 10,042,393 msg/sec AtomicQueueB, 4,s: 8,044,205 msg/sec AtomicQueueB, 4,i: 8,050,896 msg/sec AtomicQueueB, 5,s: 7,567,190 msg/sec AtomicQueueB, 5,i: 7,809,207 msg/sec AtomicQueueB, 6,s: 7,279,374 msg/sec AtomicQueueB, 6,i: 7,524,281 msg/sec AtomicQueueB, 7,s: 6,899,137 msg/sec AtomicQueueB, 7,i: 7,686,339 msg/sec AtomicQueueB, 8,s: 6,246,006 msg/sec AtomicQueueB, 8,i: 7,170,543 msg/sec OptimistAtomicQueue, 1,s: 688,708,554 msg/sec OptimistAtomicQueue, 1,i: 531,646,807 msg/sec OptimistAtomicQueue, 2,s: 32,166,530 msg/sec OptimistAtomicQueue, 2,i: 32,708,570 msg/sec OptimistAtomicQueue, 3,s: 36,670,771 msg/sec OptimistAtomicQueue, 3,i: 37,413,346 msg/sec OptimistAtomicQueue, 4,s: 39,262,256 msg/sec OptimistAtomicQueue, 4,i: 39,401,685 msg/sec OptimistAtomicQueue, 5,s: 41,631,059 msg/sec OptimistAtomicQueue, 5,i: 47,208,389 msg/sec OptimistAtomicQueue, 6,s: 42,840,828 msg/sec OptimistAtomicQueue, 6,i: 50,359,551 msg/sec OptimistAtomicQueue, 7,s: 44,473,733 msg/sec OptimistAtomicQueue, 7,i: 53,062,511 msg/sec OptimistAtomicQueue, 8,s: 46,687,382 msg/sec OptimistAtomicQueue, 8,i: 49,272,993 msg/sec OptimistAtomicQueueB, 1,s: 94,900,527 msg/sec OptimistAtomicQueueB, 1,i: 76,473,894 msg/sec OptimistAtomicQueueB, 2,s: 32,117,179 msg/sec OptimistAtomicQueueB, 2,i: 31,839,335 msg/sec OptimistAtomicQueueB, 3,s: 36,206,234 msg/sec OptimistAtomicQueueB, 3,i: 36,687,351 msg/sec OptimistAtomicQueueB, 4,s: 38,658,455 msg/sec OptimistAtomicQueueB, 4,i: 38,464,435 msg/sec OptimistAtomicQueueB, 5,s: 40,354,351 msg/sec OptimistAtomicQueueB, 5,i: 46,188,573 msg/sec OptimistAtomicQueueB, 6,s: 40,641,780 msg/sec OptimistAtomicQueueB, 6,i: 49,037,665 msg/sec OptimistAtomicQueueB, 7,s: 42,137,883 msg/sec OptimistAtomicQueueB, 7,i: 50,826,394 msg/sec OptimistAtomicQueueB, 8,s: 44,408,959 msg/sec OptimistAtomicQueueB, 8,i: 48,115,504 msg/sec AtomicQueue2, 1,s: 23,050,086 msg/sec AtomicQueue2, 1,i: 23,278,712 msg/sec AtomicQueue2, 2,s: 11,727,418 msg/sec AtomicQueue2, 2,i: 11,436,267 msg/sec AtomicQueue2, 3,s: 9,420,747 msg/sec AtomicQueue2, 3,i: 9,374,823 msg/sec AtomicQueue2, 4,s: 8,091,918 msg/sec AtomicQueue2, 4,i: 8,105,660 msg/sec AtomicQueue2, 5,s: 7,955,490 msg/sec AtomicQueue2, 5,i: 8,027,950 msg/sec AtomicQueue2, 6,s: 7,689,732 msg/sec AtomicQueue2, 6,i: 7,519,738 msg/sec AtomicQueue2, 7,s: 7,145,679 msg/sec AtomicQueue2, 7,i: 7,883,592 msg/sec AtomicQueue2, 8,s: 6,391,160 msg/sec AtomicQueue2, 8,i: 7,381,355 msg/sec AtomicQueueB2, 1,s: 36,141,687 msg/sec AtomicQueueB2, 1,i: 32,622,125 msg/sec AtomicQueueB2, 2,s: 11,422,084 msg/sec AtomicQueueB2, 2,i: 11,111,423 msg/sec AtomicQueueB2, 3,s: 9,610,065 msg/sec AtomicQueueB2, 3,i: 9,481,393 msg/sec AtomicQueueB2, 4,s: 7,955,603 msg/sec AtomicQueueB2, 4,i: 7,931,773 msg/sec AtomicQueueB2, 5,s: 7,451,828 msg/sec AtomicQueueB2, 5,i: 7,767,747 msg/sec AtomicQueueB2, 6,s: 7,211,549 msg/sec AtomicQueueB2, 6,i: 7,451,703 msg/sec AtomicQueueB2, 7,s: 6,840,642 msg/sec AtomicQueueB2, 7,i: 7,678,732 msg/sec AtomicQueueB2, 8,s: 6,307,958 msg/sec AtomicQueueB2, 8,i: 7,111,515 msg/sec OptimistAtomicQueue2, 1,s: 408,135,653 msg/sec OptimistAtomicQueue2, 1,i: 29,474,163 msg/sec OptimistAtomicQueue2, 2,s: 24,275,799 msg/sec OptimistAtomicQueue2, 2,i: 24,011,551 msg/sec OptimistAtomicQueue2, 3,s: 30,502,310 msg/sec OptimistAtomicQueue2, 3,i: 29,972,035 msg/sec OptimistAtomicQueue2, 4,s: 33,220,988 msg/sec OptimistAtomicQueue2, 4,i: 33,130,591 msg/sec OptimistAtomicQueue2, 5,s: 37,047,521 msg/sec OptimistAtomicQueue2, 5,i: 40,023,085 msg/sec OptimistAtomicQueue2, 6,s: 40,299,962 msg/sec OptimistAtomicQueue2, 6,i: 49,043,850 msg/sec OptimistAtomicQueue2, 7,s: 42,676,407 msg/sec OptimistAtomicQueue2, 7,i: 51,396,198 msg/sec OptimistAtomicQueue2, 8,s: 44,460,218 msg/sec OptimistAtomicQueue2, 8,i: 48,415,325 msg/sec OptimistAtomicQueueB2, 1,s: 119,601,287 msg/sec OptimistAtomicQueueB2, 1,i: 33,876,064 msg/sec OptimistAtomicQueueB2, 2,s: 22,652,180 msg/sec OptimistAtomicQueueB2, 2,i: 22,036,348 msg/sec OptimistAtomicQueueB2, 3,s: 29,833,205 msg/sec OptimistAtomicQueueB2, 3,i: 29,637,330 msg/sec OptimistAtomicQueueB2, 4,s: 32,803,823 msg/sec OptimistAtomicQueueB2, 4,i: 31,743,041 msg/sec OptimistAtomicQueueB2, 5,s: 34,198,944 msg/sec OptimistAtomicQueueB2, 5,i: 39,877,414 msg/sec OptimistAtomicQueueB2, 6,s: 37,070,534 msg/sec OptimistAtomicQueueB2, 6,i: 42,298,851 msg/sec OptimistAtomicQueueB2, 7,s: 40,124,886 msg/sec OptimistAtomicQueueB2, 7,i: 45,227,956 msg/sec OptimistAtomicQueueB2, 8,s: 42,365,479 msg/sec OptimistAtomicQueueB2, 8,i: 46,384,251 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000114 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000469 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000278 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [269] 126m:21s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,309,476 msg/sec boost::lockfree::spsc_queue, 1,i: 69,063,471 msg/sec boost::lockfree::queue, 1,s: 6,884,832 msg/sec boost::lockfree::queue, 1,i: 6,922,726 msg/sec boost::lockfree::queue, 2,s: 7,623,823 msg/sec boost::lockfree::queue, 2,i: 7,498,171 msg/sec boost::lockfree::queue, 3,s: 7,377,310 msg/sec boost::lockfree::queue, 3,i: 7,517,311 msg/sec boost::lockfree::queue, 4,s: 6,427,351 msg/sec boost::lockfree::queue, 4,i: 6,837,344 msg/sec boost::lockfree::queue, 5,s: 6,460,149 msg/sec boost::lockfree::queue, 5,i: 6,494,782 msg/sec boost::lockfree::queue, 6,s: 5,981,403 msg/sec boost::lockfree::queue, 6,i: 6,103,807 msg/sec boost::lockfree::queue, 7,s: 6,002,161 msg/sec boost::lockfree::queue, 7,i: 5,904,718 msg/sec boost::lockfree::queue, 8,s: 5,425,648 msg/sec boost::lockfree::queue, 8,i: 5,595,371 msg/sec moodycamel::ReaderWriterQueue, 1,s: 300,014,565 msg/sec moodycamel::ReaderWriterQueue, 1,i: 314,600,573 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,185,852 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,683,626 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,279,982 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,061,956 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,988,891 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,328,655 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,518,865 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,287,218 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,318,489 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,259,046 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,791,689 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,088,932 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,075,477 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,207,683 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,410,709 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,213,580 msg/sec pthread_spinlock, 1,s: 28,711,889 msg/sec pthread_spinlock, 1,i: 25,365,255 msg/sec pthread_spinlock, 2,s: 15,507,796 msg/sec pthread_spinlock, 2,i: 17,090,382 msg/sec pthread_spinlock, 3,s: 8,305,709 msg/sec pthread_spinlock, 3,i: 12,000,418 msg/sec pthread_spinlock, 4,s: 6,494,934 msg/sec pthread_spinlock, 4,i: 9,201,892 msg/sec pthread_spinlock, 5,s: 8,510,429 msg/sec pthread_spinlock, 5,i: 9,456,851 msg/sec pthread_spinlock, 6,s: 8,326,188 msg/sec pthread_spinlock, 6,i: 8,418,282 msg/sec pthread_spinlock, 7,s: 7,504,756 msg/sec pthread_spinlock, 7,i: 7,524,963 msg/sec pthread_spinlock, 8,s: 6,670,584 msg/sec pthread_spinlock, 8,i: 6,963,417 msg/sec std::mutex, 1,s: 6,691,275 msg/sec std::mutex, 1,i: 6,023,306 msg/sec std::mutex, 2,s: 5,689,437 msg/sec std::mutex, 2,i: 5,510,781 msg/sec std::mutex, 3,s: 5,661,974 msg/sec std::mutex, 3,i: 6,004,234 msg/sec std::mutex, 4,s: 6,207,889 msg/sec std::mutex, 4,i: 6,192,865 msg/sec std::mutex, 5,s: 5,976,139 msg/sec std::mutex, 5,i: 5,891,829 msg/sec std::mutex, 6,s: 5,915,920 msg/sec std::mutex, 6,i: 5,889,225 msg/sec std::mutex, 7,s: 5,764,350 msg/sec std::mutex, 7,i: 5,750,216 msg/sec std::mutex, 8,s: 5,691,712 msg/sec std::mutex, 8,i: 5,650,005 msg/sec tbb::spin_mutex, 1,s: 37,765,149 msg/sec tbb::spin_mutex, 1,i: 32,789,100 msg/sec tbb::spin_mutex, 2,s: 21,108,046 msg/sec tbb::spin_mutex, 2,i: 18,436,670 msg/sec tbb::spin_mutex, 3,s: 7,970,519 msg/sec tbb::spin_mutex, 3,i: 10,911,277 msg/sec tbb::spin_mutex, 4,s: 3,042,085 msg/sec tbb::spin_mutex, 4,i: 6,317,287 msg/sec tbb::spin_mutex, 5,s: 5,172,112 msg/sec tbb::spin_mutex, 5,i: 5,759,062 msg/sec tbb::spin_mutex, 6,s: 5,343,397 msg/sec tbb::spin_mutex, 6,i: 4,386,503 msg/sec tbb::spin_mutex, 7,s: 4,854,980 msg/sec tbb::spin_mutex, 7,i: 4,333,817 msg/sec tbb::spin_mutex, 8,s: 4,256,726 msg/sec tbb::spin_mutex, 8,i: 4,070,061 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,575,069 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,359,012 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,711,547 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,006,499 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,478,631 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,938,885 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,394,340 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,304,255 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,763,524 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,939,112 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,072,059 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,913,159 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,969,957 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,955,089 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,976,262 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,093,158 msg/sec xenium::michael_scott_queue, 1,s: 9,376,001 msg/sec xenium::michael_scott_queue, 1,i: 9,546,003 msg/sec xenium::michael_scott_queue, 2,s: 8,401,177 msg/sec xenium::michael_scott_queue, 2,i: 8,636,018 msg/sec xenium::michael_scott_queue, 3,s: 7,313,173 msg/sec xenium::michael_scott_queue, 3,i: 7,657,126 msg/sec xenium::michael_scott_queue, 4,s: 6,271,338 msg/sec xenium::michael_scott_queue, 4,i: 6,355,845 msg/sec xenium::michael_scott_queue, 5,s: 6,274,220 msg/sec xenium::michael_scott_queue, 5,i: 6,626,812 msg/sec xenium::michael_scott_queue, 6,s: 6,529,506 msg/sec xenium::michael_scott_queue, 6,i: 6,883,473 msg/sec xenium::michael_scott_queue, 7,s: 6,331,291 msg/sec xenium::michael_scott_queue, 7,i: 6,506,247 msg/sec xenium::michael_scott_queue, 8,s: 6,025,279 msg/sec xenium::michael_scott_queue, 8,i: 6,105,144 msg/sec xenium::ramalhete_queue, 1,s: 32,301,237 msg/sec xenium::ramalhete_queue, 1,i: 32,667,746 msg/sec xenium::ramalhete_queue, 2,s: 24,034,057 msg/sec xenium::ramalhete_queue, 2,i: 23,250,175 msg/sec xenium::ramalhete_queue, 3,s: 29,073,713 msg/sec xenium::ramalhete_queue, 3,i: 28,696,531 msg/sec xenium::ramalhete_queue, 4,s: 33,911,615 msg/sec xenium::ramalhete_queue, 4,i: 33,482,884 msg/sec xenium::ramalhete_queue, 5,s: 32,198,038 msg/sec xenium::ramalhete_queue, 5,i: 36,048,362 msg/sec xenium::ramalhete_queue, 6,s: 33,936,248 msg/sec xenium::ramalhete_queue, 6,i: 39,837,778 msg/sec xenium::ramalhete_queue, 7,s: 35,137,814 msg/sec xenium::ramalhete_queue, 7,i: 41,414,994 msg/sec xenium::ramalhete_queue, 8,s: 35,593,139 msg/sec xenium::ramalhete_queue, 8,i: 44,060,994 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,139,068 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,022,285 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,367,563 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,310,741 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,752,828 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,908,147 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,446,536 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,246,972 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,592,640 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,316,719 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,937,331 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,319,054 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,205,508 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,117,270 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,657 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,234,945 msg/sec AtomicQueue, 1,s: 59,769,455 msg/sec AtomicQueue, 1,i: 56,629,848 msg/sec AtomicQueue, 2,s: 12,156,029 msg/sec AtomicQueue, 2,i: 11,727,526 msg/sec AtomicQueue, 3,s: 10,766,137 msg/sec AtomicQueue, 3,i: 9,880,556 msg/sec AtomicQueue, 4,s: 8,181,022 msg/sec AtomicQueue, 4,i: 8,185,936 msg/sec AtomicQueue, 5,s: 8,030,343 msg/sec AtomicQueue, 5,i: 8,091,115 msg/sec AtomicQueue, 6,s: 7,857,471 msg/sec AtomicQueue, 6,i: 7,613,657 msg/sec AtomicQueue, 7,s: 7,120,888 msg/sec AtomicQueue, 7,i: 7,994,955 msg/sec AtomicQueue, 8,s: 6,321,858 msg/sec AtomicQueue, 8,i: 7,453,058 msg/sec AtomicQueueB, 1,s: 43,917,113 msg/sec AtomicQueueB, 1,i: 43,753,752 msg/sec AtomicQueueB, 2,s: 11,670,102 msg/sec AtomicQueueB, 2,i: 11,474,344 msg/sec AtomicQueueB, 3,s: 10,955,264 msg/sec AtomicQueueB, 3,i: 10,151,747 msg/sec AtomicQueueB, 4,s: 8,080,229 msg/sec AtomicQueueB, 4,i: 8,022,811 msg/sec AtomicQueueB, 5,s: 7,727,688 msg/sec AtomicQueueB, 5,i: 7,835,795 msg/sec AtomicQueueB, 6,s: 7,315,118 msg/sec AtomicQueueB, 6,i: 7,504,837 msg/sec AtomicQueueB, 7,s: 6,853,066 msg/sec AtomicQueueB, 7,i: 7,760,538 msg/sec AtomicQueueB, 8,s: 6,207,026 msg/sec AtomicQueueB, 8,i: 7,121,068 msg/sec OptimistAtomicQueue, 1,s: 787,175,649 msg/sec OptimistAtomicQueue, 1,i: 652,347,955 msg/sec OptimistAtomicQueue, 2,s: 32,164,927 msg/sec OptimistAtomicQueue, 2,i: 32,184,102 msg/sec OptimistAtomicQueue, 3,s: 36,646,575 msg/sec OptimistAtomicQueue, 3,i: 37,301,799 msg/sec OptimistAtomicQueue, 4,s: 39,310,804 msg/sec OptimistAtomicQueue, 4,i: 39,404,641 msg/sec OptimistAtomicQueue, 5,s: 42,378,791 msg/sec OptimistAtomicQueue, 5,i: 46,387,154 msg/sec OptimistAtomicQueue, 6,s: 41,953,324 msg/sec OptimistAtomicQueue, 6,i: 50,294,539 msg/sec OptimistAtomicQueue, 7,s: 45,129,434 msg/sec OptimistAtomicQueue, 7,i: 52,929,807 msg/sec OptimistAtomicQueue, 8,s: 46,279,172 msg/sec OptimistAtomicQueue, 8,i: 49,030,994 msg/sec OptimistAtomicQueueB, 1,s: 77,826,942 msg/sec OptimistAtomicQueueB, 1,i: 143,423,054 msg/sec OptimistAtomicQueueB, 2,s: 32,138,114 msg/sec OptimistAtomicQueueB, 2,i: 32,268,148 msg/sec OptimistAtomicQueueB, 3,s: 36,306,866 msg/sec OptimistAtomicQueueB, 3,i: 37,004,998 msg/sec OptimistAtomicQueueB, 4,s: 38,641,227 msg/sec OptimistAtomicQueueB, 4,i: 38,685,189 msg/sec OptimistAtomicQueueB, 5,s: 40,346,539 msg/sec OptimistAtomicQueueB, 5,i: 45,372,371 msg/sec OptimistAtomicQueueB, 6,s: 40,394,142 msg/sec OptimistAtomicQueueB, 6,i: 49,105,704 msg/sec OptimistAtomicQueueB, 7,s: 42,240,821 msg/sec OptimistAtomicQueueB, 7,i: 48,027,453 msg/sec OptimistAtomicQueueB, 8,s: 44,577,610 msg/sec OptimistAtomicQueueB, 8,i: 47,984,252 msg/sec AtomicQueue2, 1,s: 23,108,863 msg/sec AtomicQueue2, 1,i: 23,043,879 msg/sec AtomicQueue2, 2,s: 12,081,527 msg/sec AtomicQueue2, 2,i: 11,704,387 msg/sec AtomicQueue2, 3,s: 9,761,444 msg/sec AtomicQueue2, 3,i: 9,386,872 msg/sec AtomicQueue2, 4,s: 8,047,353 msg/sec AtomicQueue2, 4,i: 8,076,334 msg/sec AtomicQueue2, 5,s: 7,961,567 msg/sec AtomicQueue2, 5,i: 7,957,836 msg/sec AtomicQueue2, 6,s: 7,796,030 msg/sec AtomicQueue2, 6,i: 7,484,178 msg/sec AtomicQueue2, 7,s: 7,229,427 msg/sec AtomicQueue2, 7,i: 7,882,671 msg/sec AtomicQueue2, 8,s: 6,390,959 msg/sec AtomicQueue2, 8,i: 7,257,925 msg/sec AtomicQueueB2, 1,s: 32,669,897 msg/sec AtomicQueueB2, 1,i: 32,680,856 msg/sec AtomicQueueB2, 2,s: 11,474,454 msg/sec AtomicQueueB2, 2,i: 11,123,474 msg/sec AtomicQueueB2, 3,s: 9,587,185 msg/sec AtomicQueueB2, 3,i: 9,532,920 msg/sec AtomicQueueB2, 4,s: 7,952,079 msg/sec AtomicQueueB2, 4,i: 7,848,957 msg/sec AtomicQueueB2, 5,s: 7,407,214 msg/sec AtomicQueueB2, 5,i: 7,745,049 msg/sec AtomicQueueB2, 6,s: 7,264,337 msg/sec AtomicQueueB2, 6,i: 7,473,716 msg/sec AtomicQueueB2, 7,s: 6,956,523 msg/sec AtomicQueueB2, 7,i: 7,700,166 msg/sec AtomicQueueB2, 8,s: 6,331,112 msg/sec AtomicQueueB2, 8,i: 7,115,933 msg/sec OptimistAtomicQueue2, 1,s: 32,856,486 msg/sec OptimistAtomicQueue2, 1,i: 135,841,967 msg/sec OptimistAtomicQueue2, 2,s: 26,080,073 msg/sec OptimistAtomicQueue2, 2,i: 24,030,083 msg/sec OptimistAtomicQueue2, 3,s: 30,314,836 msg/sec OptimistAtomicQueue2, 3,i: 30,027,472 msg/sec OptimistAtomicQueue2, 4,s: 33,777,057 msg/sec OptimistAtomicQueue2, 4,i: 33,344,465 msg/sec OptimistAtomicQueue2, 5,s: 37,366,726 msg/sec OptimistAtomicQueue2, 5,i: 40,231,139 msg/sec OptimistAtomicQueue2, 6,s: 40,134,381 msg/sec OptimistAtomicQueue2, 6,i: 49,280,812 msg/sec OptimistAtomicQueue2, 7,s: 43,071,220 msg/sec OptimistAtomicQueue2, 7,i: 51,830,127 msg/sec OptimistAtomicQueue2, 8,s: 44,002,302 msg/sec OptimistAtomicQueue2, 8,i: 49,702,669 msg/sec OptimistAtomicQueueB2, 1,s: 78,563,082 msg/sec OptimistAtomicQueueB2, 1,i: 33,947,228 msg/sec OptimistAtomicQueueB2, 2,s: 27,126,138 msg/sec OptimistAtomicQueueB2, 2,i: 25,858,223 msg/sec OptimistAtomicQueueB2, 3,s: 29,698,553 msg/sec OptimistAtomicQueueB2, 3,i: 29,395,543 msg/sec OptimistAtomicQueueB2, 4,s: 32,360,471 msg/sec OptimistAtomicQueueB2, 4,i: 32,964,822 msg/sec OptimistAtomicQueueB2, 5,s: 34,738,365 msg/sec OptimistAtomicQueueB2, 5,i: 39,427,348 msg/sec OptimistAtomicQueueB2, 6,s: 37,049,682 msg/sec OptimistAtomicQueueB2, 6,i: 42,415,359 msg/sec OptimistAtomicQueueB2, 7,s: 40,183,170 msg/sec OptimistAtomicQueueB2, 7,i: 43,132,740 msg/sec OptimistAtomicQueueB2, 8,s: 42,535,041 msg/sec OptimistAtomicQueueB2, 8,i: 46,048,472 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000277 sec/round-trip std::mutex: 0.000000457 sec/round-trip tbb::spin_mutex: 0.000000279 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000379 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [270] 125m:2s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,451,223 msg/sec boost::lockfree::spsc_queue, 1,i: 68,012,637 msg/sec boost::lockfree::queue, 1,s: 6,917,906 msg/sec boost::lockfree::queue, 1,i: 6,790,170 msg/sec boost::lockfree::queue, 2,s: 7,687,686 msg/sec boost::lockfree::queue, 2,i: 7,421,392 msg/sec boost::lockfree::queue, 3,s: 7,494,702 msg/sec boost::lockfree::queue, 3,i: 7,515,320 msg/sec boost::lockfree::queue, 4,s: 6,421,886 msg/sec boost::lockfree::queue, 4,i: 6,748,408 msg/sec boost::lockfree::queue, 5,s: 6,396,027 msg/sec boost::lockfree::queue, 5,i: 6,503,577 msg/sec boost::lockfree::queue, 6,s: 5,980,817 msg/sec boost::lockfree::queue, 6,i: 6,130,906 msg/sec boost::lockfree::queue, 7,s: 6,022,777 msg/sec boost::lockfree::queue, 7,i: 6,054,413 msg/sec boost::lockfree::queue, 8,s: 5,494,950 msg/sec boost::lockfree::queue, 8,i: 5,520,891 msg/sec moodycamel::ReaderWriterQueue, 1,s: 455,332,403 msg/sec moodycamel::ReaderWriterQueue, 1,i: 48,274,083 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,660,950 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,801,216 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,262,963 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,119,957 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,391,834 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,167,566 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,359,383 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,055,150 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,171,932 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,502,798 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,494,589 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,527,137 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,039,065 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,416,040 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,147,992 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,923,865 msg/sec pthread_spinlock, 1,s: 28,626,697 msg/sec pthread_spinlock, 1,i: 25,290,240 msg/sec pthread_spinlock, 2,s: 15,565,748 msg/sec pthread_spinlock, 2,i: 17,264,400 msg/sec pthread_spinlock, 3,s: 8,435,679 msg/sec pthread_spinlock, 3,i: 11,951,978 msg/sec pthread_spinlock, 4,s: 6,567,760 msg/sec pthread_spinlock, 4,i: 9,110,593 msg/sec pthread_spinlock, 5,s: 8,581,594 msg/sec pthread_spinlock, 5,i: 10,420,313 msg/sec pthread_spinlock, 6,s: 8,204,230 msg/sec pthread_spinlock, 6,i: 8,514,331 msg/sec pthread_spinlock, 7,s: 7,500,672 msg/sec pthread_spinlock, 7,i: 7,978,839 msg/sec pthread_spinlock, 8,s: 6,644,198 msg/sec pthread_spinlock, 8,i: 6,937,688 msg/sec std::mutex, 1,s: 7,724,504 msg/sec std::mutex, 1,i: 6,984,630 msg/sec std::mutex, 2,s: 6,151,602 msg/sec std::mutex, 2,i: 6,213,367 msg/sec std::mutex, 3,s: 6,012,149 msg/sec std::mutex, 3,i: 4,808,672 msg/sec std::mutex, 4,s: 6,211,995 msg/sec std::mutex, 4,i: 6,019,800 msg/sec std::mutex, 5,s: 5,968,544 msg/sec std::mutex, 5,i: 6,080,857 msg/sec std::mutex, 6,s: 5,888,655 msg/sec std::mutex, 6,i: 5,871,244 msg/sec std::mutex, 7,s: 5,819,980 msg/sec std::mutex, 7,i: 5,790,543 msg/sec std::mutex, 8,s: 5,732,526 msg/sec std::mutex, 8,i: 5,729,905 msg/sec tbb::spin_mutex, 1,s: 37,802,891 msg/sec tbb::spin_mutex, 1,i: 37,564,406 msg/sec tbb::spin_mutex, 2,s: 21,228,622 msg/sec tbb::spin_mutex, 2,i: 18,449,092 msg/sec tbb::spin_mutex, 3,s: 7,313,702 msg/sec tbb::spin_mutex, 3,i: 10,104,626 msg/sec tbb::spin_mutex, 4,s: 3,119,904 msg/sec tbb::spin_mutex, 4,i: 6,290,040 msg/sec tbb::spin_mutex, 5,s: 5,132,493 msg/sec tbb::spin_mutex, 5,i: 5,702,607 msg/sec tbb::spin_mutex, 6,s: 5,265,030 msg/sec tbb::spin_mutex, 6,i: 4,332,408 msg/sec tbb::spin_mutex, 7,s: 4,833,515 msg/sec tbb::spin_mutex, 7,i: 4,310,513 msg/sec tbb::spin_mutex, 8,s: 4,260,975 msg/sec tbb::spin_mutex, 8,i: 4,102,271 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,556,371 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,524,026 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,885,852 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,834,998 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,019,966 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,661,021 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,360,441 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,272,462 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,535,275 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,161,681 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,907,552 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,452,235 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,955,752 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,608,010 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,040,571 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,778,092 msg/sec xenium::michael_scott_queue, 1,s: 9,155,019 msg/sec xenium::michael_scott_queue, 1,i: 9,240,284 msg/sec xenium::michael_scott_queue, 2,s: 8,497,758 msg/sec xenium::michael_scott_queue, 2,i: 8,457,281 msg/sec xenium::michael_scott_queue, 3,s: 7,325,894 msg/sec xenium::michael_scott_queue, 3,i: 7,558,025 msg/sec xenium::michael_scott_queue, 4,s: 6,270,488 msg/sec xenium::michael_scott_queue, 4,i: 6,426,128 msg/sec xenium::michael_scott_queue, 5,s: 6,279,869 msg/sec xenium::michael_scott_queue, 5,i: 6,613,349 msg/sec xenium::michael_scott_queue, 6,s: 6,499,091 msg/sec xenium::michael_scott_queue, 6,i: 6,756,455 msg/sec xenium::michael_scott_queue, 7,s: 6,332,013 msg/sec xenium::michael_scott_queue, 7,i: 6,461,544 msg/sec xenium::michael_scott_queue, 8,s: 6,006,198 msg/sec xenium::michael_scott_queue, 8,i: 6,061,406 msg/sec xenium::ramalhete_queue, 1,s: 32,762,664 msg/sec xenium::ramalhete_queue, 1,i: 32,977,478 msg/sec xenium::ramalhete_queue, 2,s: 23,514,014 msg/sec xenium::ramalhete_queue, 2,i: 23,421,583 msg/sec xenium::ramalhete_queue, 3,s: 29,238,135 msg/sec xenium::ramalhete_queue, 3,i: 28,599,386 msg/sec xenium::ramalhete_queue, 4,s: 34,003,906 msg/sec xenium::ramalhete_queue, 4,i: 33,584,370 msg/sec xenium::ramalhete_queue, 5,s: 32,184,585 msg/sec xenium::ramalhete_queue, 5,i: 35,963,566 msg/sec xenium::ramalhete_queue, 6,s: 34,222,859 msg/sec xenium::ramalhete_queue, 6,i: 39,004,932 msg/sec xenium::ramalhete_queue, 7,s: 35,102,805 msg/sec xenium::ramalhete_queue, 7,i: 42,053,735 msg/sec xenium::ramalhete_queue, 8,s: 35,568,023 msg/sec xenium::ramalhete_queue, 8,i: 44,169,334 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,855,990 msg/sec xenium::vyukov_bounded_queue, 1,i: 102,692,476 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,510,645 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,794,356 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,605,690 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,154,583 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,576,581 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,219,504 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,937,484 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,374,808 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,905,747 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,322,803 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,158,505 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,291,591 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,399,408 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,545,118 msg/sec AtomicQueue, 1,s: 59,775,222 msg/sec AtomicQueue, 1,i: 56,673,829 msg/sec AtomicQueue, 2,s: 12,373,662 msg/sec AtomicQueue, 2,i: 11,739,716 msg/sec AtomicQueue, 3,s: 10,813,744 msg/sec AtomicQueue, 3,i: 9,860,388 msg/sec AtomicQueue, 4,s: 8,189,957 msg/sec AtomicQueue, 4,i: 8,208,841 msg/sec AtomicQueue, 5,s: 7,960,257 msg/sec AtomicQueue, 5,i: 8,091,335 msg/sec AtomicQueue, 6,s: 7,800,388 msg/sec AtomicQueue, 6,i: 7,617,702 msg/sec AtomicQueue, 7,s: 7,123,054 msg/sec AtomicQueue, 7,i: 7,977,276 msg/sec AtomicQueue, 8,s: 6,305,856 msg/sec AtomicQueue, 8,i: 7,443,632 msg/sec AtomicQueueB, 1,s: 44,328,867 msg/sec AtomicQueueB, 1,i: 43,031,304 msg/sec AtomicQueueB, 2,s: 11,808,561 msg/sec AtomicQueueB, 2,i: 11,495,080 msg/sec AtomicQueueB, 3,s: 10,945,634 msg/sec AtomicQueueB, 3,i: 10,138,985 msg/sec AtomicQueueB, 4,s: 7,956,510 msg/sec AtomicQueueB, 4,i: 7,931,976 msg/sec AtomicQueueB, 5,s: 7,557,091 msg/sec AtomicQueueB, 5,i: 7,761,443 msg/sec AtomicQueueB, 6,s: 7,359,115 msg/sec AtomicQueueB, 6,i: 7,521,413 msg/sec AtomicQueueB, 7,s: 6,907,535 msg/sec AtomicQueueB, 7,i: 7,726,185 msg/sec AtomicQueueB, 8,s: 6,225,811 msg/sec AtomicQueueB, 8,i: 7,162,111 msg/sec OptimistAtomicQueue, 1,s: 775,786,312 msg/sec OptimistAtomicQueue, 1,i: 640,815,732 msg/sec OptimistAtomicQueue, 2,s: 32,637,518 msg/sec OptimistAtomicQueue, 2,i: 32,723,098 msg/sec OptimistAtomicQueue, 3,s: 36,686,454 msg/sec OptimistAtomicQueue, 3,i: 37,404,755 msg/sec OptimistAtomicQueue, 4,s: 39,257,230 msg/sec OptimistAtomicQueue, 4,i: 39,397,156 msg/sec OptimistAtomicQueue, 5,s: 42,403,797 msg/sec OptimistAtomicQueue, 5,i: 46,294,379 msg/sec OptimistAtomicQueue, 6,s: 42,730,462 msg/sec OptimistAtomicQueue, 6,i: 50,380,042 msg/sec OptimistAtomicQueue, 7,s: 45,239,652 msg/sec OptimistAtomicQueue, 7,i: 53,089,120 msg/sec OptimistAtomicQueue, 8,s: 46,451,228 msg/sec OptimistAtomicQueue, 8,i: 48,597,557 msg/sec OptimistAtomicQueueB, 1,s: 107,297,098 msg/sec OptimistAtomicQueueB, 1,i: 76,476,316 msg/sec OptimistAtomicQueueB, 2,s: 32,141,670 msg/sec OptimistAtomicQueueB, 2,i: 32,272,851 msg/sec OptimistAtomicQueueB, 3,s: 36,252,647 msg/sec OptimistAtomicQueueB, 3,i: 36,951,280 msg/sec OptimistAtomicQueueB, 4,s: 38,688,101 msg/sec OptimistAtomicQueueB, 4,i: 38,579,864 msg/sec OptimistAtomicQueueB, 5,s: 40,615,696 msg/sec OptimistAtomicQueueB, 5,i: 45,194,097 msg/sec OptimistAtomicQueueB, 6,s: 40,684,455 msg/sec OptimistAtomicQueueB, 6,i: 49,225,853 msg/sec OptimistAtomicQueueB, 7,s: 42,215,317 msg/sec OptimistAtomicQueueB, 7,i: 51,456,061 msg/sec OptimistAtomicQueueB, 8,s: 44,394,014 msg/sec OptimistAtomicQueueB, 8,i: 47,716,369 msg/sec AtomicQueue2, 1,s: 23,037,601 msg/sec AtomicQueue2, 1,i: 23,024,690 msg/sec AtomicQueue2, 2,s: 11,764,890 msg/sec AtomicQueue2, 2,i: 11,398,610 msg/sec AtomicQueue2, 3,s: 9,601,093 msg/sec AtomicQueue2, 3,i: 9,529,312 msg/sec AtomicQueue2, 4,s: 7,998,859 msg/sec AtomicQueue2, 4,i: 8,023,883 msg/sec AtomicQueue2, 5,s: 7,903,522 msg/sec AtomicQueue2, 5,i: 8,015,236 msg/sec AtomicQueue2, 6,s: 7,619,426 msg/sec AtomicQueue2, 6,i: 7,521,396 msg/sec AtomicQueue2, 7,s: 7,088,281 msg/sec AtomicQueue2, 7,i: 7,894,545 msg/sec AtomicQueue2, 8,s: 6,404,609 msg/sec AtomicQueue2, 8,i: 7,366,586 msg/sec AtomicQueueB2, 1,s: 36,070,131 msg/sec AtomicQueueB2, 1,i: 32,634,807 msg/sec AtomicQueueB2, 2,s: 11,354,057 msg/sec AtomicQueueB2, 2,i: 11,092,577 msg/sec AtomicQueueB2, 3,s: 9,613,679 msg/sec AtomicQueueB2, 3,i: 9,547,679 msg/sec AtomicQueueB2, 4,s: 7,905,554 msg/sec AtomicQueueB2, 4,i: 7,865,434 msg/sec AtomicQueueB2, 5,s: 7,481,710 msg/sec AtomicQueueB2, 5,i: 7,707,887 msg/sec AtomicQueueB2, 6,s: 7,276,446 msg/sec AtomicQueueB2, 6,i: 7,457,063 msg/sec AtomicQueueB2, 7,s: 6,828,049 msg/sec AtomicQueueB2, 7,i: 7,680,898 msg/sec AtomicQueueB2, 8,s: 6,273,001 msg/sec AtomicQueueB2, 8,i: 7,113,107 msg/sec OptimistAtomicQueue2, 1,s: 515,920,001 msg/sec OptimistAtomicQueue2, 1,i: 31,513,113 msg/sec OptimistAtomicQueue2, 2,s: 24,782,451 msg/sec OptimistAtomicQueue2, 2,i: 24,006,385 msg/sec OptimistAtomicQueue2, 3,s: 30,326,806 msg/sec OptimistAtomicQueue2, 3,i: 29,991,951 msg/sec OptimistAtomicQueue2, 4,s: 35,372,452 msg/sec OptimistAtomicQueue2, 4,i: 33,050,929 msg/sec OptimistAtomicQueue2, 5,s: 36,962,436 msg/sec OptimistAtomicQueue2, 5,i: 40,406,074 msg/sec OptimistAtomicQueue2, 6,s: 40,321,499 msg/sec OptimistAtomicQueue2, 6,i: 49,440,735 msg/sec OptimistAtomicQueue2, 7,s: 43,020,598 msg/sec OptimistAtomicQueue2, 7,i: 48,176,552 msg/sec OptimistAtomicQueue2, 8,s: 43,873,841 msg/sec OptimistAtomicQueue2, 8,i: 49,409,786 msg/sec OptimistAtomicQueueB2, 1,s: 78,680,962 msg/sec OptimistAtomicQueueB2, 1,i: 33,919,733 msg/sec OptimistAtomicQueueB2, 2,s: 27,124,960 msg/sec OptimistAtomicQueueB2, 2,i: 24,049,627 msg/sec OptimistAtomicQueueB2, 3,s: 30,352,720 msg/sec OptimistAtomicQueueB2, 3,i: 29,127,535 msg/sec OptimistAtomicQueueB2, 4,s: 33,374,101 msg/sec OptimistAtomicQueueB2, 4,i: 32,094,914 msg/sec OptimistAtomicQueueB2, 5,s: 34,475,800 msg/sec OptimistAtomicQueueB2, 5,i: 39,332,849 msg/sec OptimistAtomicQueueB2, 6,s: 37,227,740 msg/sec OptimistAtomicQueueB2, 6,i: 42,357,736 msg/sec OptimistAtomicQueueB2, 7,s: 40,150,548 msg/sec OptimistAtomicQueueB2, 7,i: 45,257,484 msg/sec OptimistAtomicQueueB2, 8,s: 42,361,291 msg/sec OptimistAtomicQueueB2, 8,i: 45,425,691 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000314 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000129 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000297 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000263 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [271] 123m:43s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,936,674 msg/sec boost::lockfree::spsc_queue, 1,i: 71,056,847 msg/sec boost::lockfree::queue, 1,s: 6,842,429 msg/sec boost::lockfree::queue, 1,i: 6,883,089 msg/sec boost::lockfree::queue, 2,s: 7,550,261 msg/sec boost::lockfree::queue, 2,i: 7,400,247 msg/sec boost::lockfree::queue, 3,s: 7,445,804 msg/sec boost::lockfree::queue, 3,i: 7,610,930 msg/sec boost::lockfree::queue, 4,s: 6,420,148 msg/sec boost::lockfree::queue, 4,i: 6,804,138 msg/sec boost::lockfree::queue, 5,s: 6,451,892 msg/sec boost::lockfree::queue, 5,i: 6,507,253 msg/sec boost::lockfree::queue, 6,s: 5,967,134 msg/sec boost::lockfree::queue, 6,i: 6,082,722 msg/sec boost::lockfree::queue, 7,s: 5,993,096 msg/sec boost::lockfree::queue, 7,i: 5,942,668 msg/sec boost::lockfree::queue, 8,s: 5,483,336 msg/sec boost::lockfree::queue, 8,i: 5,593,153 msg/sec moodycamel::ReaderWriterQueue, 1,s: 361,612,941 msg/sec moodycamel::ReaderWriterQueue, 1,i: 43,797,992 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,720,877 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,759,848 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,909,060 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,159,671 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,306,874 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,792,652 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,307,141 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,917,970 msg/sec moodycamel::ConcurrentQueue, 5,s: 41,845,408 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,574,453 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,003,382 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,270,760 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,798,260 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,247,134 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,173,041 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,746,036 msg/sec pthread_spinlock, 1,s: 28,881,930 msg/sec pthread_spinlock, 1,i: 25,319,701 msg/sec pthread_spinlock, 2,s: 15,520,502 msg/sec pthread_spinlock, 2,i: 18,086,291 msg/sec pthread_spinlock, 3,s: 8,297,275 msg/sec pthread_spinlock, 3,i: 11,878,606 msg/sec pthread_spinlock, 4,s: 6,481,039 msg/sec pthread_spinlock, 4,i: 8,920,324 msg/sec pthread_spinlock, 5,s: 8,603,898 msg/sec pthread_spinlock, 5,i: 8,862,714 msg/sec pthread_spinlock, 6,s: 8,534,613 msg/sec pthread_spinlock, 6,i: 8,506,215 msg/sec pthread_spinlock, 7,s: 7,520,798 msg/sec pthread_spinlock, 7,i: 7,889,744 msg/sec pthread_spinlock, 8,s: 6,895,716 msg/sec pthread_spinlock, 8,i: 7,000,138 msg/sec std::mutex, 1,s: 7,037,234 msg/sec std::mutex, 1,i: 7,657,701 msg/sec std::mutex, 2,s: 6,024,560 msg/sec std::mutex, 2,i: 6,024,448 msg/sec std::mutex, 3,s: 6,049,391 msg/sec std::mutex, 3,i: 6,152,342 msg/sec std::mutex, 4,s: 6,201,336 msg/sec std::mutex, 4,i: 6,166,133 msg/sec std::mutex, 5,s: 5,993,652 msg/sec std::mutex, 5,i: 6,213,486 msg/sec std::mutex, 6,s: 6,016,426 msg/sec std::mutex, 6,i: 5,949,646 msg/sec std::mutex, 7,s: 5,866,542 msg/sec std::mutex, 7,i: 5,890,124 msg/sec std::mutex, 8,s: 5,706,590 msg/sec std::mutex, 8,i: 5,722,332 msg/sec tbb::spin_mutex, 1,s: 38,014,565 msg/sec tbb::spin_mutex, 1,i: 37,400,220 msg/sec tbb::spin_mutex, 2,s: 21,162,610 msg/sec tbb::spin_mutex, 2,i: 20,505,522 msg/sec tbb::spin_mutex, 3,s: 8,004,542 msg/sec tbb::spin_mutex, 3,i: 11,142,334 msg/sec tbb::spin_mutex, 4,s: 3,214,292 msg/sec tbb::spin_mutex, 4,i: 6,280,590 msg/sec tbb::spin_mutex, 5,s: 5,473,037 msg/sec tbb::spin_mutex, 5,i: 5,735,928 msg/sec tbb::spin_mutex, 6,s: 5,364,813 msg/sec tbb::spin_mutex, 6,i: 4,327,431 msg/sec tbb::spin_mutex, 7,s: 4,860,293 msg/sec tbb::spin_mutex, 7,i: 4,366,972 msg/sec tbb::spin_mutex, 8,s: 4,246,235 msg/sec tbb::spin_mutex, 8,i: 4,154,743 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,218,441 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,271,876 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,037,021 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,206,700 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,610,773 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,632,317 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,987,204 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,353,966 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,509,148 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,619,431 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,948,524 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,718,408 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,866,937 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,122,724 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,909,020 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,454,102 msg/sec xenium::michael_scott_queue, 1,s: 9,158,962 msg/sec xenium::michael_scott_queue, 1,i: 9,000,280 msg/sec xenium::michael_scott_queue, 2,s: 8,303,879 msg/sec xenium::michael_scott_queue, 2,i: 8,455,912 msg/sec xenium::michael_scott_queue, 3,s: 7,277,499 msg/sec xenium::michael_scott_queue, 3,i: 7,498,533 msg/sec xenium::michael_scott_queue, 4,s: 6,368,582 msg/sec xenium::michael_scott_queue, 4,i: 6,299,465 msg/sec xenium::michael_scott_queue, 5,s: 6,268,072 msg/sec xenium::michael_scott_queue, 5,i: 6,631,471 msg/sec xenium::michael_scott_queue, 6,s: 6,447,250 msg/sec xenium::michael_scott_queue, 6,i: 6,881,733 msg/sec xenium::michael_scott_queue, 7,s: 6,389,041 msg/sec xenium::michael_scott_queue, 7,i: 6,538,407 msg/sec xenium::michael_scott_queue, 8,s: 6,022,823 msg/sec xenium::michael_scott_queue, 8,i: 6,070,975 msg/sec xenium::ramalhete_queue, 1,s: 31,590,237 msg/sec xenium::ramalhete_queue, 1,i: 32,118,729 msg/sec xenium::ramalhete_queue, 2,s: 24,442,257 msg/sec xenium::ramalhete_queue, 2,i: 23,533,180 msg/sec xenium::ramalhete_queue, 3,s: 29,161,575 msg/sec xenium::ramalhete_queue, 3,i: 28,437,316 msg/sec xenium::ramalhete_queue, 4,s: 33,763,452 msg/sec xenium::ramalhete_queue, 4,i: 33,485,297 msg/sec xenium::ramalhete_queue, 5,s: 32,058,171 msg/sec xenium::ramalhete_queue, 5,i: 36,167,122 msg/sec xenium::ramalhete_queue, 6,s: 34,108,307 msg/sec xenium::ramalhete_queue, 6,i: 39,723,882 msg/sec xenium::ramalhete_queue, 7,s: 35,064,558 msg/sec xenium::ramalhete_queue, 7,i: 41,832,148 msg/sec xenium::ramalhete_queue, 8,s: 35,474,884 msg/sec xenium::ramalhete_queue, 8,i: 44,001,864 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,802,302 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,167,463 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,712,845 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,704,074 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,667,233 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,778,865 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,564,081 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,220,100 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,996,616 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,308,740 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,118,100 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,509,098 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,155,371 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,845,737 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,206 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,216,242 msg/sec AtomicQueue, 1,s: 58,930,859 msg/sec AtomicQueue, 1,i: 56,223,082 msg/sec AtomicQueue, 2,s: 12,212,820 msg/sec AtomicQueue, 2,i: 11,735,709 msg/sec AtomicQueue, 3,s: 10,798,173 msg/sec AtomicQueue, 3,i: 9,991,880 msg/sec AtomicQueue, 4,s: 8,201,436 msg/sec AtomicQueue, 4,i: 8,183,031 msg/sec AtomicQueue, 5,s: 7,995,361 msg/sec AtomicQueue, 5,i: 8,089,584 msg/sec AtomicQueue, 6,s: 7,699,950 msg/sec AtomicQueue, 6,i: 7,610,307 msg/sec AtomicQueue, 7,s: 7,068,214 msg/sec AtomicQueue, 7,i: 7,982,419 msg/sec AtomicQueue, 8,s: 6,338,720 msg/sec AtomicQueue, 8,i: 7,439,779 msg/sec AtomicQueueB, 1,s: 45,240,300 msg/sec AtomicQueueB, 1,i: 46,120,971 msg/sec AtomicQueueB, 2,s: 11,743,652 msg/sec AtomicQueueB, 2,i: 11,495,061 msg/sec AtomicQueueB, 3,s: 10,956,620 msg/sec AtomicQueueB, 3,i: 10,138,898 msg/sec AtomicQueueB, 4,s: 8,083,297 msg/sec AtomicQueueB, 4,i: 8,051,610 msg/sec AtomicQueueB, 5,s: 7,696,869 msg/sec AtomicQueueB, 5,i: 7,898,968 msg/sec AtomicQueueB, 6,s: 7,399,225 msg/sec AtomicQueueB, 6,i: 7,493,561 msg/sec AtomicQueueB, 7,s: 6,818,929 msg/sec AtomicQueueB, 7,i: 7,737,304 msg/sec AtomicQueueB, 8,s: 6,314,015 msg/sec AtomicQueueB, 8,i: 7,042,522 msg/sec OptimistAtomicQueue, 1,s: 665,972,612 msg/sec OptimistAtomicQueue, 1,i: 787,290,765 msg/sec OptimistAtomicQueue, 2,s: 32,627,227 msg/sec OptimistAtomicQueue, 2,i: 32,701,192 msg/sec OptimistAtomicQueue, 3,s: 36,663,055 msg/sec OptimistAtomicQueue, 3,i: 37,413,684 msg/sec OptimistAtomicQueue, 4,s: 39,306,706 msg/sec OptimistAtomicQueue, 4,i: 39,414,164 msg/sec OptimistAtomicQueue, 5,s: 42,460,460 msg/sec OptimistAtomicQueue, 5,i: 46,530,794 msg/sec OptimistAtomicQueue, 6,s: 42,263,292 msg/sec OptimistAtomicQueue, 6,i: 50,456,335 msg/sec OptimistAtomicQueue, 7,s: 45,156,336 msg/sec OptimistAtomicQueue, 7,i: 52,005,874 msg/sec OptimistAtomicQueue, 8,s: 46,370,016 msg/sec OptimistAtomicQueue, 8,i: 50,402,222 msg/sec OptimistAtomicQueueB, 1,s: 182,680,308 msg/sec OptimistAtomicQueueB, 1,i: 77,732,183 msg/sec OptimistAtomicQueueB, 2,s: 32,143,233 msg/sec OptimistAtomicQueueB, 2,i: 32,278,226 msg/sec OptimistAtomicQueueB, 3,s: 36,322,946 msg/sec OptimistAtomicQueueB, 3,i: 36,952,341 msg/sec OptimistAtomicQueueB, 4,s: 38,705,541 msg/sec OptimistAtomicQueueB, 4,i: 38,600,625 msg/sec OptimistAtomicQueueB, 5,s: 40,770,631 msg/sec OptimistAtomicQueueB, 5,i: 44,471,819 msg/sec OptimistAtomicQueueB, 6,s: 40,722,380 msg/sec OptimistAtomicQueueB, 6,i: 49,080,403 msg/sec OptimistAtomicQueueB, 7,s: 41,561,352 msg/sec OptimistAtomicQueueB, 7,i: 51,508,391 msg/sec OptimistAtomicQueueB, 8,s: 44,781,366 msg/sec OptimistAtomicQueueB, 8,i: 48,961,701 msg/sec AtomicQueue2, 1,s: 22,882,816 msg/sec AtomicQueue2, 1,i: 22,865,031 msg/sec AtomicQueue2, 2,s: 11,865,062 msg/sec AtomicQueue2, 2,i: 11,833,231 msg/sec AtomicQueue2, 3,s: 9,333,432 msg/sec AtomicQueue2, 3,i: 9,429,632 msg/sec AtomicQueue2, 4,s: 8,077,571 msg/sec AtomicQueue2, 4,i: 8,019,676 msg/sec AtomicQueue2, 5,s: 7,877,095 msg/sec AtomicQueue2, 5,i: 7,993,626 msg/sec AtomicQueue2, 6,s: 7,669,533 msg/sec AtomicQueue2, 6,i: 7,480,773 msg/sec AtomicQueue2, 7,s: 7,115,089 msg/sec AtomicQueue2, 7,i: 7,895,692 msg/sec AtomicQueue2, 8,s: 6,393,178 msg/sec AtomicQueue2, 8,i: 7,233,546 msg/sec AtomicQueueB2, 1,s: 36,334,827 msg/sec AtomicQueueB2, 1,i: 32,620,917 msg/sec AtomicQueueB2, 2,s: 11,399,026 msg/sec AtomicQueueB2, 2,i: 11,134,603 msg/sec AtomicQueueB2, 3,s: 9,594,883 msg/sec AtomicQueueB2, 3,i: 9,498,654 msg/sec AtomicQueueB2, 4,s: 7,956,068 msg/sec AtomicQueueB2, 4,i: 7,908,162 msg/sec AtomicQueueB2, 5,s: 7,588,127 msg/sec AtomicQueueB2, 5,i: 7,763,471 msg/sec AtomicQueueB2, 6,s: 7,192,626 msg/sec AtomicQueueB2, 6,i: 7,458,922 msg/sec AtomicQueueB2, 7,s: 6,885,701 msg/sec AtomicQueueB2, 7,i: 7,734,309 msg/sec AtomicQueueB2, 8,s: 6,288,605 msg/sec AtomicQueueB2, 8,i: 7,074,314 msg/sec OptimistAtomicQueue2, 1,s: 454,209,855 msg/sec OptimistAtomicQueue2, 1,i: 30,369,683 msg/sec OptimistAtomicQueue2, 2,s: 22,595,515 msg/sec OptimistAtomicQueue2, 2,i: 24,064,727 msg/sec OptimistAtomicQueue2, 3,s: 30,459,970 msg/sec OptimistAtomicQueue2, 3,i: 29,986,140 msg/sec OptimistAtomicQueue2, 4,s: 33,219,343 msg/sec OptimistAtomicQueue2, 4,i: 33,086,670 msg/sec OptimistAtomicQueue2, 5,s: 37,124,330 msg/sec OptimistAtomicQueue2, 5,i: 40,594,729 msg/sec OptimistAtomicQueue2, 6,s: 40,182,044 msg/sec OptimistAtomicQueue2, 6,i: 49,202,945 msg/sec OptimistAtomicQueue2, 7,s: 42,743,540 msg/sec OptimistAtomicQueue2, 7,i: 47,995,603 msg/sec OptimistAtomicQueue2, 8,s: 44,036,870 msg/sec OptimistAtomicQueue2, 8,i: 48,547,666 msg/sec OptimistAtomicQueueB2, 1,s: 76,243,204 msg/sec OptimistAtomicQueueB2, 1,i: 33,883,172 msg/sec OptimistAtomicQueueB2, 2,s: 27,744,718 msg/sec OptimistAtomicQueueB2, 2,i: 23,308,769 msg/sec OptimistAtomicQueueB2, 3,s: 30,292,134 msg/sec OptimistAtomicQueueB2, 3,i: 29,088,791 msg/sec OptimistAtomicQueueB2, 4,s: 33,065,545 msg/sec OptimistAtomicQueueB2, 4,i: 33,073,812 msg/sec OptimistAtomicQueueB2, 5,s: 34,492,515 msg/sec OptimistAtomicQueueB2, 5,i: 39,252,760 msg/sec OptimistAtomicQueueB2, 6,s: 37,676,354 msg/sec OptimistAtomicQueueB2, 6,i: 42,188,592 msg/sec OptimistAtomicQueueB2, 7,s: 40,734,460 msg/sec OptimistAtomicQueueB2, 7,i: 45,442,283 msg/sec OptimistAtomicQueueB2, 8,s: 42,082,424 msg/sec OptimistAtomicQueueB2, 8,i: 45,845,022 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000149 sec/round-trip moodycamel::ConcurrentQueue: 0.000000245 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000398 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [272] 122m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,691,007 msg/sec boost::lockfree::spsc_queue, 1,i: 67,484,940 msg/sec boost::lockfree::queue, 1,s: 6,841,795 msg/sec boost::lockfree::queue, 1,i: 7,064,648 msg/sec boost::lockfree::queue, 2,s: 7,594,961 msg/sec boost::lockfree::queue, 2,i: 7,406,196 msg/sec boost::lockfree::queue, 3,s: 7,333,366 msg/sec boost::lockfree::queue, 3,i: 7,565,631 msg/sec boost::lockfree::queue, 4,s: 6,418,751 msg/sec boost::lockfree::queue, 4,i: 6,800,657 msg/sec boost::lockfree::queue, 5,s: 6,391,610 msg/sec boost::lockfree::queue, 5,i: 6,516,642 msg/sec boost::lockfree::queue, 6,s: 6,029,996 msg/sec boost::lockfree::queue, 6,i: 6,128,986 msg/sec boost::lockfree::queue, 7,s: 5,940,697 msg/sec boost::lockfree::queue, 7,i: 5,947,249 msg/sec boost::lockfree::queue, 8,s: 5,553,402 msg/sec boost::lockfree::queue, 8,i: 5,585,949 msg/sec moodycamel::ReaderWriterQueue, 1,s: 371,988,416 msg/sec moodycamel::ReaderWriterQueue, 1,i: 74,295,607 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,264,186 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,685,024 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,678,961 msg/sec moodycamel::ConcurrentQueue, 2,i: 45,264,263 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,678,523 msg/sec moodycamel::ConcurrentQueue, 3,i: 40,961,008 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,301,827 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,100,724 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,328,494 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,551,266 msg/sec moodycamel::ConcurrentQueue, 6,s: 16,998,837 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,322,687 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,731,319 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,335,804 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,084,870 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,892,259 msg/sec pthread_spinlock, 1,s: 29,058,708 msg/sec pthread_spinlock, 1,i: 26,052,344 msg/sec pthread_spinlock, 2,s: 15,529,989 msg/sec pthread_spinlock, 2,i: 16,946,010 msg/sec pthread_spinlock, 3,s: 8,275,347 msg/sec pthread_spinlock, 3,i: 12,010,566 msg/sec pthread_spinlock, 4,s: 6,546,692 msg/sec pthread_spinlock, 4,i: 9,179,559 msg/sec pthread_spinlock, 5,s: 8,636,489 msg/sec pthread_spinlock, 5,i: 9,117,834 msg/sec pthread_spinlock, 6,s: 8,531,166 msg/sec pthread_spinlock, 6,i: 9,242,080 msg/sec pthread_spinlock, 7,s: 7,488,394 msg/sec pthread_spinlock, 7,i: 7,633,635 msg/sec pthread_spinlock, 8,s: 6,898,496 msg/sec pthread_spinlock, 8,i: 6,776,552 msg/sec std::mutex, 1,s: 6,535,149 msg/sec std::mutex, 1,i: 6,151,475 msg/sec std::mutex, 2,s: 6,119,935 msg/sec std::mutex, 2,i: 5,934,614 msg/sec std::mutex, 3,s: 5,438,946 msg/sec std::mutex, 3,i: 5,121,177 msg/sec std::mutex, 4,s: 5,600,259 msg/sec std::mutex, 4,i: 6,323,573 msg/sec std::mutex, 5,s: 6,051,087 msg/sec std::mutex, 5,i: 6,078,735 msg/sec std::mutex, 6,s: 5,937,233 msg/sec std::mutex, 6,i: 5,960,641 msg/sec std::mutex, 7,s: 5,821,515 msg/sec std::mutex, 7,i: 5,829,589 msg/sec std::mutex, 8,s: 5,717,558 msg/sec std::mutex, 8,i: 5,723,565 msg/sec tbb::spin_mutex, 1,s: 37,757,183 msg/sec tbb::spin_mutex, 1,i: 37,654,760 msg/sec tbb::spin_mutex, 2,s: 20,627,851 msg/sec tbb::spin_mutex, 2,i: 18,327,950 msg/sec tbb::spin_mutex, 3,s: 8,107,902 msg/sec tbb::spin_mutex, 3,i: 11,326,688 msg/sec tbb::spin_mutex, 4,s: 3,156,284 msg/sec tbb::spin_mutex, 4,i: 6,395,902 msg/sec tbb::spin_mutex, 5,s: 5,618,038 msg/sec tbb::spin_mutex, 5,i: 5,581,291 msg/sec tbb::spin_mutex, 6,s: 5,303,491 msg/sec tbb::spin_mutex, 6,i: 4,348,661 msg/sec tbb::spin_mutex, 7,s: 4,860,834 msg/sec tbb::spin_mutex, 7,i: 4,311,537 msg/sec tbb::spin_mutex, 8,s: 3,893,224 msg/sec tbb::spin_mutex, 8,i: 4,184,924 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,403,680 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,306,637 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,926,410 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,483,775 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,993,820 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,504,571 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,307,878 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,213,176 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,677,108 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,175,001 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,946,705 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,492,667 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,978,644 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,675,339 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,047,971 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,711,121 msg/sec xenium::michael_scott_queue, 1,s: 10,161,353 msg/sec xenium::michael_scott_queue, 1,i: 10,001,838 msg/sec xenium::michael_scott_queue, 2,s: 8,503,030 msg/sec xenium::michael_scott_queue, 2,i: 8,562,861 msg/sec xenium::michael_scott_queue, 3,s: 7,071,683 msg/sec xenium::michael_scott_queue, 3,i: 7,604,684 msg/sec xenium::michael_scott_queue, 4,s: 6,329,650 msg/sec xenium::michael_scott_queue, 4,i: 6,309,297 msg/sec xenium::michael_scott_queue, 5,s: 6,282,451 msg/sec xenium::michael_scott_queue, 5,i: 6,765,428 msg/sec xenium::michael_scott_queue, 6,s: 6,547,624 msg/sec xenium::michael_scott_queue, 6,i: 6,659,643 msg/sec xenium::michael_scott_queue, 7,s: 6,362,889 msg/sec xenium::michael_scott_queue, 7,i: 6,375,489 msg/sec xenium::michael_scott_queue, 8,s: 5,944,080 msg/sec xenium::michael_scott_queue, 8,i: 6,239,264 msg/sec xenium::ramalhete_queue, 1,s: 31,561,662 msg/sec xenium::ramalhete_queue, 1,i: 31,629,427 msg/sec xenium::ramalhete_queue, 2,s: 23,518,111 msg/sec xenium::ramalhete_queue, 2,i: 23,347,561 msg/sec xenium::ramalhete_queue, 3,s: 29,175,766 msg/sec xenium::ramalhete_queue, 3,i: 28,536,863 msg/sec xenium::ramalhete_queue, 4,s: 33,834,309 msg/sec xenium::ramalhete_queue, 4,i: 33,533,315 msg/sec xenium::ramalhete_queue, 5,s: 32,064,688 msg/sec xenium::ramalhete_queue, 5,i: 36,074,044 msg/sec xenium::ramalhete_queue, 6,s: 34,089,317 msg/sec xenium::ramalhete_queue, 6,i: 38,697,394 msg/sec xenium::ramalhete_queue, 7,s: 35,115,735 msg/sec xenium::ramalhete_queue, 7,i: 41,083,526 msg/sec xenium::ramalhete_queue, 8,s: 35,589,676 msg/sec xenium::ramalhete_queue, 8,i: 43,866,811 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,213,140 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,823,394 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,637,962 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,430,645 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,713,174 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,300,900 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,403,352 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,191,014 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,974,939 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,357,012 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,058,453 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,548,531 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,310,831 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,057,707 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,399,498 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,341,231 msg/sec AtomicQueue, 1,s: 60,966,466 msg/sec AtomicQueue, 1,i: 56,663,069 msg/sec AtomicQueue, 2,s: 12,277,810 msg/sec AtomicQueue, 2,i: 11,746,395 msg/sec AtomicQueue, 3,s: 10,677,385 msg/sec AtomicQueue, 3,i: 9,935,294 msg/sec AtomicQueue, 4,s: 8,183,149 msg/sec AtomicQueue, 4,i: 8,195,100 msg/sec AtomicQueue, 5,s: 8,019,422 msg/sec AtomicQueue, 5,i: 8,088,689 msg/sec AtomicQueue, 6,s: 7,867,536 msg/sec AtomicQueue, 6,i: 7,617,597 msg/sec AtomicQueue, 7,s: 7,202,285 msg/sec AtomicQueue, 7,i: 8,008,662 msg/sec AtomicQueue, 8,s: 6,316,707 msg/sec AtomicQueue, 8,i: 7,390,161 msg/sec AtomicQueueB, 1,s: 44,939,901 msg/sec AtomicQueueB, 1,i: 43,006,341 msg/sec AtomicQueueB, 2,s: 11,838,988 msg/sec AtomicQueueB, 2,i: 11,491,564 msg/sec AtomicQueueB, 3,s: 11,004,430 msg/sec AtomicQueueB, 3,i: 10,102,481 msg/sec AtomicQueueB, 4,s: 8,054,201 msg/sec AtomicQueueB, 4,i: 8,002,086 msg/sec AtomicQueueB, 5,s: 7,468,194 msg/sec AtomicQueueB, 5,i: 7,727,925 msg/sec AtomicQueueB, 6,s: 7,044,646 msg/sec AtomicQueueB, 6,i: 7,495,792 msg/sec AtomicQueueB, 7,s: 6,868,068 msg/sec AtomicQueueB, 7,i: 7,645,426 msg/sec AtomicQueueB, 8,s: 6,191,785 msg/sec AtomicQueueB, 8,i: 6,982,619 msg/sec OptimistAtomicQueue, 1,s: 683,177,472 msg/sec OptimistAtomicQueue, 1,i: 685,560,250 msg/sec OptimistAtomicQueue, 2,s: 32,271,952 msg/sec OptimistAtomicQueue, 2,i: 32,602,059 msg/sec OptimistAtomicQueue, 3,s: 36,686,850 msg/sec OptimistAtomicQueue, 3,i: 37,391,374 msg/sec OptimistAtomicQueue, 4,s: 39,266,374 msg/sec OptimistAtomicQueue, 4,i: 39,398,780 msg/sec OptimistAtomicQueue, 5,s: 42,317,497 msg/sec OptimistAtomicQueue, 5,i: 47,321,480 msg/sec OptimistAtomicQueue, 6,s: 42,667,341 msg/sec OptimistAtomicQueue, 6,i: 50,424,916 msg/sec OptimistAtomicQueue, 7,s: 44,241,004 msg/sec OptimistAtomicQueue, 7,i: 52,960,845 msg/sec OptimistAtomicQueue, 8,s: 46,177,415 msg/sec OptimistAtomicQueue, 8,i: 49,210,240 msg/sec OptimistAtomicQueueB, 1,s: 78,034,574 msg/sec OptimistAtomicQueueB, 1,i: 77,758,511 msg/sec OptimistAtomicQueueB, 2,s: 32,153,905 msg/sec OptimistAtomicQueueB, 2,i: 32,214,266 msg/sec OptimistAtomicQueueB, 3,s: 36,291,973 msg/sec OptimistAtomicQueueB, 3,i: 36,884,113 msg/sec OptimistAtomicQueueB, 4,s: 38,699,209 msg/sec OptimistAtomicQueueB, 4,i: 38,679,816 msg/sec OptimistAtomicQueueB, 5,s: 41,189,095 msg/sec OptimistAtomicQueueB, 5,i: 46,268,908 msg/sec OptimistAtomicQueueB, 6,s: 41,541,615 msg/sec OptimistAtomicQueueB, 6,i: 49,139,368 msg/sec OptimistAtomicQueueB, 7,s: 42,267,471 msg/sec OptimistAtomicQueueB, 7,i: 47,957,067 msg/sec OptimistAtomicQueueB, 8,s: 44,380,901 msg/sec OptimistAtomicQueueB, 8,i: 47,853,123 msg/sec AtomicQueue2, 1,s: 22,856,771 msg/sec AtomicQueue2, 1,i: 22,866,400 msg/sec AtomicQueue2, 2,s: 11,860,728 msg/sec AtomicQueue2, 2,i: 11,419,582 msg/sec AtomicQueue2, 3,s: 9,438,985 msg/sec AtomicQueue2, 3,i: 9,492,211 msg/sec AtomicQueue2, 4,s: 8,109,303 msg/sec AtomicQueue2, 4,i: 8,045,350 msg/sec AtomicQueue2, 5,s: 7,957,383 msg/sec AtomicQueue2, 5,i: 8,031,464 msg/sec AtomicQueue2, 6,s: 7,791,675 msg/sec AtomicQueue2, 6,i: 7,552,684 msg/sec AtomicQueue2, 7,s: 7,075,132 msg/sec AtomicQueue2, 7,i: 7,875,730 msg/sec AtomicQueue2, 8,s: 6,368,226 msg/sec AtomicQueue2, 8,i: 7,255,080 msg/sec AtomicQueueB2, 1,s: 36,159,716 msg/sec AtomicQueueB2, 1,i: 35,981,852 msg/sec AtomicQueueB2, 2,s: 11,487,571 msg/sec AtomicQueueB2, 2,i: 11,080,168 msg/sec AtomicQueueB2, 3,s: 9,674,831 msg/sec AtomicQueueB2, 3,i: 9,600,323 msg/sec AtomicQueueB2, 4,s: 7,929,949 msg/sec AtomicQueueB2, 4,i: 7,798,695 msg/sec AtomicQueueB2, 5,s: 7,371,809 msg/sec AtomicQueueB2, 5,i: 7,686,904 msg/sec AtomicQueueB2, 6,s: 7,297,109 msg/sec AtomicQueueB2, 6,i: 7,490,893 msg/sec AtomicQueueB2, 7,s: 6,817,986 msg/sec AtomicQueueB2, 7,i: 7,722,166 msg/sec AtomicQueueB2, 8,s: 6,292,883 msg/sec AtomicQueueB2, 8,i: 7,110,616 msg/sec OptimistAtomicQueue2, 1,s: 443,678,015 msg/sec OptimistAtomicQueue2, 1,i: 29,551,345 msg/sec OptimistAtomicQueue2, 2,s: 26,395,341 msg/sec OptimistAtomicQueue2, 2,i: 24,025,301 msg/sec OptimistAtomicQueue2, 3,s: 29,867,889 msg/sec OptimistAtomicQueue2, 3,i: 29,291,342 msg/sec OptimistAtomicQueue2, 4,s: 33,335,097 msg/sec OptimistAtomicQueue2, 4,i: 33,356,344 msg/sec OptimistAtomicQueue2, 5,s: 37,278,938 msg/sec OptimistAtomicQueue2, 5,i: 41,280,359 msg/sec OptimistAtomicQueue2, 6,s: 40,089,090 msg/sec OptimistAtomicQueue2, 6,i: 49,257,698 msg/sec OptimistAtomicQueue2, 7,s: 42,626,267 msg/sec OptimistAtomicQueue2, 7,i: 48,069,006 msg/sec OptimistAtomicQueue2, 8,s: 43,829,032 msg/sec OptimistAtomicQueue2, 8,i: 48,522,909 msg/sec OptimistAtomicQueueB2, 1,s: 76,928,004 msg/sec OptimistAtomicQueueB2, 1,i: 73,280,018 msg/sec OptimistAtomicQueueB2, 2,s: 28,583,747 msg/sec OptimistAtomicQueueB2, 2,i: 24,449,846 msg/sec OptimistAtomicQueueB2, 3,s: 29,713,742 msg/sec OptimistAtomicQueueB2, 3,i: 29,202,241 msg/sec OptimistAtomicQueueB2, 4,s: 33,119,169 msg/sec OptimistAtomicQueueB2, 4,i: 33,037,273 msg/sec OptimistAtomicQueueB2, 5,s: 34,509,886 msg/sec OptimistAtomicQueueB2, 5,i: 39,330,963 msg/sec OptimistAtomicQueueB2, 6,s: 37,660,517 msg/sec OptimistAtomicQueueB2, 6,i: 42,339,801 msg/sec OptimistAtomicQueueB2, 7,s: 40,126,996 msg/sec OptimistAtomicQueueB2, 7,i: 45,577,431 msg/sec OptimistAtomicQueueB2, 8,s: 42,095,216 msg/sec OptimistAtomicQueueB2, 8,i: 45,830,948 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000250 sec/round-trip std::mutex: 0.000000502 sec/round-trip tbb::spin_mutex: 0.000000277 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [273] 121m:5s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,442,386 msg/sec boost::lockfree::spsc_queue, 1,i: 68,215,411 msg/sec boost::lockfree::queue, 1,s: 6,883,184 msg/sec boost::lockfree::queue, 1,i: 6,876,458 msg/sec boost::lockfree::queue, 2,s: 7,583,291 msg/sec boost::lockfree::queue, 2,i: 7,434,170 msg/sec boost::lockfree::queue, 3,s: 7,457,177 msg/sec boost::lockfree::queue, 3,i: 7,526,517 msg/sec boost::lockfree::queue, 4,s: 6,431,530 msg/sec boost::lockfree::queue, 4,i: 6,738,449 msg/sec boost::lockfree::queue, 5,s: 6,415,397 msg/sec boost::lockfree::queue, 5,i: 6,469,691 msg/sec boost::lockfree::queue, 6,s: 6,043,205 msg/sec boost::lockfree::queue, 6,i: 6,107,477 msg/sec boost::lockfree::queue, 7,s: 6,001,485 msg/sec boost::lockfree::queue, 7,i: 5,943,750 msg/sec boost::lockfree::queue, 8,s: 5,539,272 msg/sec boost::lockfree::queue, 8,i: 5,677,927 msg/sec moodycamel::ReaderWriterQueue, 1,s: 79,627,642 msg/sec moodycamel::ReaderWriterQueue, 1,i: 56,227,332 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,195,704 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,864,330 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,519,519 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,252,496 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,159,212 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,501,847 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,982,981 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,922,553 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,134,831 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,447,954 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,122,489 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,887,786 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,102,287 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,194,407 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,183,948 msg/sec moodycamel::ConcurrentQueue, 8,i: 35,430,806 msg/sec pthread_spinlock, 1,s: 29,006,362 msg/sec pthread_spinlock, 1,i: 25,376,198 msg/sec pthread_spinlock, 2,s: 15,927,824 msg/sec pthread_spinlock, 2,i: 17,013,582 msg/sec pthread_spinlock, 3,s: 8,367,846 msg/sec pthread_spinlock, 3,i: 11,976,933 msg/sec pthread_spinlock, 4,s: 6,500,338 msg/sec pthread_spinlock, 4,i: 9,044,888 msg/sec pthread_spinlock, 5,s: 8,696,557 msg/sec pthread_spinlock, 5,i: 9,455,536 msg/sec pthread_spinlock, 6,s: 8,201,202 msg/sec pthread_spinlock, 6,i: 8,483,801 msg/sec pthread_spinlock, 7,s: 7,614,370 msg/sec pthread_spinlock, 7,i: 7,932,802 msg/sec pthread_spinlock, 8,s: 6,910,133 msg/sec pthread_spinlock, 8,i: 6,847,542 msg/sec std::mutex, 1,s: 7,328,185 msg/sec std::mutex, 1,i: 8,241,499 msg/sec std::mutex, 2,s: 5,482,731 msg/sec std::mutex, 2,i: 5,396,176 msg/sec std::mutex, 3,s: 5,963,022 msg/sec std::mutex, 3,i: 6,001,541 msg/sec std::mutex, 4,s: 6,281,380 msg/sec std::mutex, 4,i: 6,130,844 msg/sec std::mutex, 5,s: 6,047,579 msg/sec std::mutex, 5,i: 6,004,861 msg/sec std::mutex, 6,s: 5,588,670 msg/sec std::mutex, 6,i: 5,849,943 msg/sec std::mutex, 7,s: 5,795,190 msg/sec std::mutex, 7,i: 5,777,249 msg/sec std::mutex, 8,s: 5,623,963 msg/sec std::mutex, 8,i: 5,671,182 msg/sec tbb::spin_mutex, 1,s: 38,165,693 msg/sec tbb::spin_mutex, 1,i: 33,065,655 msg/sec tbb::spin_mutex, 2,s: 21,069,266 msg/sec tbb::spin_mutex, 2,i: 21,283,284 msg/sec tbb::spin_mutex, 3,s: 8,138,823 msg/sec tbb::spin_mutex, 3,i: 10,289,675 msg/sec tbb::spin_mutex, 4,s: 3,146,350 msg/sec tbb::spin_mutex, 4,i: 6,300,148 msg/sec tbb::spin_mutex, 5,s: 5,543,655 msg/sec tbb::spin_mutex, 5,i: 5,758,035 msg/sec tbb::spin_mutex, 6,s: 5,368,065 msg/sec tbb::spin_mutex, 6,i: 4,346,578 msg/sec tbb::spin_mutex, 7,s: 4,847,106 msg/sec tbb::spin_mutex, 7,i: 4,321,363 msg/sec tbb::spin_mutex, 8,s: 4,273,744 msg/sec tbb::spin_mutex, 8,i: 4,082,851 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,136,530 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,026,676 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,223,778 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,013,868 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,252,774 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,322,165 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,980,307 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,185,729 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,541,912 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,354,596 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,624,891 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,764,381 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,665,035 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,125,370 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,744,950 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,935,103 msg/sec xenium::michael_scott_queue, 1,s: 9,489,801 msg/sec xenium::michael_scott_queue, 1,i: 9,560,890 msg/sec xenium::michael_scott_queue, 2,s: 8,401,097 msg/sec xenium::michael_scott_queue, 2,i: 8,533,549 msg/sec xenium::michael_scott_queue, 3,s: 7,214,408 msg/sec xenium::michael_scott_queue, 3,i: 7,544,853 msg/sec xenium::michael_scott_queue, 4,s: 6,337,397 msg/sec xenium::michael_scott_queue, 4,i: 6,400,203 msg/sec xenium::michael_scott_queue, 5,s: 6,296,461 msg/sec xenium::michael_scott_queue, 5,i: 6,684,691 msg/sec xenium::michael_scott_queue, 6,s: 6,474,046 msg/sec xenium::michael_scott_queue, 6,i: 6,914,211 msg/sec xenium::michael_scott_queue, 7,s: 6,307,493 msg/sec xenium::michael_scott_queue, 7,i: 6,648,779 msg/sec xenium::michael_scott_queue, 8,s: 6,013,338 msg/sec xenium::michael_scott_queue, 8,i: 6,248,036 msg/sec xenium::ramalhete_queue, 1,s: 31,843,081 msg/sec xenium::ramalhete_queue, 1,i: 31,847,547 msg/sec xenium::ramalhete_queue, 2,s: 23,428,504 msg/sec xenium::ramalhete_queue, 2,i: 23,348,554 msg/sec xenium::ramalhete_queue, 3,s: 29,156,367 msg/sec xenium::ramalhete_queue, 3,i: 28,464,101 msg/sec xenium::ramalhete_queue, 4,s: 33,876,144 msg/sec xenium::ramalhete_queue, 4,i: 33,437,528 msg/sec xenium::ramalhete_queue, 5,s: 31,978,760 msg/sec xenium::ramalhete_queue, 5,i: 35,903,308 msg/sec xenium::ramalhete_queue, 6,s: 33,959,661 msg/sec xenium::ramalhete_queue, 6,i: 38,687,203 msg/sec xenium::ramalhete_queue, 7,s: 35,079,807 msg/sec xenium::ramalhete_queue, 7,i: 41,212,312 msg/sec xenium::ramalhete_queue, 8,s: 35,613,795 msg/sec xenium::ramalhete_queue, 8,i: 44,537,714 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,300,781 msg/sec xenium::vyukov_bounded_queue, 1,i: 92,867,808 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,154,830 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,121,199 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,803,112 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,906,376 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,614,028 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,426,572 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,104,666 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,288,091 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,178,915 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,243,085 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,216,719 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,193,381 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,402,359 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,335,998 msg/sec AtomicQueue, 1,s: 65,585,725 msg/sec AtomicQueue, 1,i: 57,694,304 msg/sec AtomicQueue, 2,s: 12,274,656 msg/sec AtomicQueue, 2,i: 11,695,434 msg/sec AtomicQueue, 3,s: 10,724,247 msg/sec AtomicQueue, 3,i: 9,986,373 msg/sec AtomicQueue, 4,s: 8,210,169 msg/sec AtomicQueue, 4,i: 8,167,685 msg/sec AtomicQueue, 5,s: 8,022,655 msg/sec AtomicQueue, 5,i: 8,083,204 msg/sec AtomicQueue, 6,s: 7,840,820 msg/sec AtomicQueue, 6,i: 7,611,606 msg/sec AtomicQueue, 7,s: 7,167,874 msg/sec AtomicQueue, 7,i: 7,976,006 msg/sec AtomicQueue, 8,s: 6,363,008 msg/sec AtomicQueue, 8,i: 7,471,327 msg/sec AtomicQueueB, 1,s: 43,985,444 msg/sec AtomicQueueB, 1,i: 43,990,860 msg/sec AtomicQueueB, 2,s: 11,912,651 msg/sec AtomicQueueB, 2,i: 11,523,134 msg/sec AtomicQueueB, 3,s: 11,055,113 msg/sec AtomicQueueB, 3,i: 10,187,365 msg/sec AtomicQueueB, 4,s: 8,083,181 msg/sec AtomicQueueB, 4,i: 7,982,921 msg/sec AtomicQueueB, 5,s: 7,561,669 msg/sec AtomicQueueB, 5,i: 7,865,452 msg/sec AtomicQueueB, 6,s: 7,447,376 msg/sec AtomicQueueB, 6,i: 7,535,184 msg/sec AtomicQueueB, 7,s: 6,863,525 msg/sec AtomicQueueB, 7,i: 7,697,516 msg/sec AtomicQueueB, 8,s: 6,193,056 msg/sec AtomicQueueB, 8,i: 7,154,071 msg/sec OptimistAtomicQueue, 1,s: 752,309,307 msg/sec OptimistAtomicQueue, 1,i: 543,651,845 msg/sec OptimistAtomicQueue, 2,s: 32,151,959 msg/sec OptimistAtomicQueue, 2,i: 32,715,310 msg/sec OptimistAtomicQueue, 3,s: 36,659,813 msg/sec OptimistAtomicQueue, 3,i: 37,429,097 msg/sec OptimistAtomicQueue, 4,s: 39,289,286 msg/sec OptimistAtomicQueue, 4,i: 39,421,652 msg/sec OptimistAtomicQueue, 5,s: 42,566,335 msg/sec OptimistAtomicQueue, 5,i: 46,323,983 msg/sec OptimistAtomicQueue, 6,s: 41,667,572 msg/sec OptimistAtomicQueue, 6,i: 50,391,086 msg/sec OptimistAtomicQueue, 7,s: 45,197,437 msg/sec OptimistAtomicQueue, 7,i: 49,439,046 msg/sec OptimistAtomicQueue, 8,s: 46,444,976 msg/sec OptimistAtomicQueue, 8,i: 49,246,502 msg/sec OptimistAtomicQueueB, 1,s: 192,740,738 msg/sec OptimistAtomicQueueB, 1,i: 76,543,787 msg/sec OptimistAtomicQueueB, 2,s: 32,173,153 msg/sec OptimistAtomicQueueB, 2,i: 32,377,929 msg/sec OptimistAtomicQueueB, 3,s: 36,256,311 msg/sec OptimistAtomicQueueB, 3,i: 36,948,068 msg/sec OptimistAtomicQueueB, 4,s: 38,594,859 msg/sec OptimistAtomicQueueB, 4,i: 38,687,039 msg/sec OptimistAtomicQueueB, 5,s: 40,987,000 msg/sec OptimistAtomicQueueB, 5,i: 45,396,699 msg/sec OptimistAtomicQueueB, 6,s: 40,667,687 msg/sec OptimistAtomicQueueB, 6,i: 49,105,354 msg/sec OptimistAtomicQueueB, 7,s: 41,877,192 msg/sec OptimistAtomicQueueB, 7,i: 48,294,136 msg/sec OptimistAtomicQueueB, 8,s: 44,217,981 msg/sec OptimistAtomicQueueB, 8,i: 48,059,887 msg/sec AtomicQueue2, 1,s: 23,177,569 msg/sec AtomicQueue2, 1,i: 23,134,430 msg/sec AtomicQueue2, 2,s: 11,708,351 msg/sec AtomicQueue2, 2,i: 11,336,337 msg/sec AtomicQueue2, 3,s: 9,593,485 msg/sec AtomicQueue2, 3,i: 9,387,079 msg/sec AtomicQueue2, 4,s: 8,051,240 msg/sec AtomicQueue2, 4,i: 8,044,384 msg/sec AtomicQueue2, 5,s: 7,895,724 msg/sec AtomicQueue2, 5,i: 8,017,036 msg/sec AtomicQueue2, 6,s: 7,797,211 msg/sec AtomicQueue2, 6,i: 7,450,035 msg/sec AtomicQueue2, 7,s: 7,115,408 msg/sec AtomicQueue2, 7,i: 7,882,869 msg/sec AtomicQueue2, 8,s: 6,402,658 msg/sec AtomicQueue2, 8,i: 7,363,777 msg/sec AtomicQueueB2, 1,s: 36,183,340 msg/sec AtomicQueueB2, 1,i: 32,604,886 msg/sec AtomicQueueB2, 2,s: 11,476,546 msg/sec AtomicQueueB2, 2,i: 11,106,934 msg/sec AtomicQueueB2, 3,s: 9,691,510 msg/sec AtomicQueueB2, 3,i: 9,403,081 msg/sec AtomicQueueB2, 4,s: 7,947,325 msg/sec AtomicQueueB2, 4,i: 7,765,498 msg/sec AtomicQueueB2, 5,s: 7,446,308 msg/sec AtomicQueueB2, 5,i: 7,757,749 msg/sec AtomicQueueB2, 6,s: 7,301,474 msg/sec AtomicQueueB2, 6,i: 7,439,698 msg/sec AtomicQueueB2, 7,s: 6,879,122 msg/sec AtomicQueueB2, 7,i: 7,717,921 msg/sec AtomicQueueB2, 8,s: 6,255,035 msg/sec AtomicQueueB2, 8,i: 7,071,334 msg/sec OptimistAtomicQueue2, 1,s: 453,316,657 msg/sec OptimistAtomicQueue2, 1,i: 29,830,847 msg/sec OptimistAtomicQueue2, 2,s: 24,259,214 msg/sec OptimistAtomicQueue2, 2,i: 24,015,570 msg/sec OptimistAtomicQueue2, 3,s: 30,312,063 msg/sec OptimistAtomicQueue2, 3,i: 30,012,115 msg/sec OptimistAtomicQueue2, 4,s: 33,287,066 msg/sec OptimistAtomicQueue2, 4,i: 33,126,116 msg/sec OptimistAtomicQueue2, 5,s: 36,948,228 msg/sec OptimistAtomicQueue2, 5,i: 40,310,567 msg/sec OptimistAtomicQueue2, 6,s: 40,438,061 msg/sec OptimistAtomicQueue2, 6,i: 49,108,891 msg/sec OptimistAtomicQueue2, 7,s: 43,249,254 msg/sec OptimistAtomicQueue2, 7,i: 51,352,023 msg/sec OptimistAtomicQueue2, 8,s: 43,883,780 msg/sec OptimistAtomicQueue2, 8,i: 49,572,262 msg/sec OptimistAtomicQueueB2, 1,s: 77,058,813 msg/sec OptimistAtomicQueueB2, 1,i: 76,255,964 msg/sec OptimistAtomicQueueB2, 2,s: 28,454,689 msg/sec OptimistAtomicQueueB2, 2,i: 23,752,030 msg/sec OptimistAtomicQueueB2, 3,s: 29,893,749 msg/sec OptimistAtomicQueueB2, 3,i: 29,198,505 msg/sec OptimistAtomicQueueB2, 4,s: 33,171,916 msg/sec OptimistAtomicQueueB2, 4,i: 32,866,246 msg/sec OptimistAtomicQueueB2, 5,s: 34,377,680 msg/sec OptimistAtomicQueueB2, 5,i: 39,590,443 msg/sec OptimistAtomicQueueB2, 6,s: 37,213,137 msg/sec OptimistAtomicQueueB2, 6,i: 41,726,795 msg/sec OptimistAtomicQueueB2, 7,s: 40,118,962 msg/sec OptimistAtomicQueueB2, 7,i: 45,447,091 msg/sec OptimistAtomicQueueB2, 8,s: 42,050,022 msg/sec OptimistAtomicQueueB2, 8,i: 45,215,507 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000114 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000283 sec/round-trip std::mutex: 0.000000452 sec/round-trip tbb::spin_mutex: 0.000000280 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [274] 119m:45s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,636,112 msg/sec boost::lockfree::spsc_queue, 1,i: 68,235,323 msg/sec boost::lockfree::queue, 1,s: 6,862,132 msg/sec boost::lockfree::queue, 1,i: 6,964,800 msg/sec boost::lockfree::queue, 2,s: 7,598,612 msg/sec boost::lockfree::queue, 2,i: 7,391,592 msg/sec boost::lockfree::queue, 3,s: 7,355,227 msg/sec boost::lockfree::queue, 3,i: 7,568,771 msg/sec boost::lockfree::queue, 4,s: 6,419,819 msg/sec boost::lockfree::queue, 4,i: 6,895,706 msg/sec boost::lockfree::queue, 5,s: 6,410,796 msg/sec boost::lockfree::queue, 5,i: 6,425,477 msg/sec boost::lockfree::queue, 6,s: 6,024,225 msg/sec boost::lockfree::queue, 6,i: 6,091,989 msg/sec boost::lockfree::queue, 7,s: 5,810,158 msg/sec boost::lockfree::queue, 7,i: 6,008,226 msg/sec boost::lockfree::queue, 8,s: 5,486,554 msg/sec boost::lockfree::queue, 8,i: 5,625,483 msg/sec moodycamel::ReaderWriterQueue, 1,s: 431,956,673 msg/sec moodycamel::ReaderWriterQueue, 1,i: 431,186,745 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,679,297 msg/sec moodycamel::ConcurrentQueue, 1,i: 20,190,901 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,477,265 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,216,874 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,974,659 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,512,211 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,520,083 msg/sec moodycamel::ConcurrentQueue, 4,i: 44,683,567 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,270,847 msg/sec moodycamel::ConcurrentQueue, 5,i: 31,106,146 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,188,625 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,419,503 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,029,763 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,790,592 msg/sec moodycamel::ConcurrentQueue, 8,s: 50,865,296 msg/sec moodycamel::ConcurrentQueue, 8,i: 35,885,112 msg/sec pthread_spinlock, 1,s: 28,597,818 msg/sec pthread_spinlock, 1,i: 28,983,816 msg/sec pthread_spinlock, 2,s: 15,464,166 msg/sec pthread_spinlock, 2,i: 16,906,199 msg/sec pthread_spinlock, 3,s: 8,364,518 msg/sec pthread_spinlock, 3,i: 12,160,069 msg/sec pthread_spinlock, 4,s: 6,482,808 msg/sec pthread_spinlock, 4,i: 9,148,760 msg/sec pthread_spinlock, 5,s: 8,796,681 msg/sec pthread_spinlock, 5,i: 10,261,969 msg/sec pthread_spinlock, 6,s: 8,328,511 msg/sec pthread_spinlock, 6,i: 9,090,774 msg/sec pthread_spinlock, 7,s: 7,592,261 msg/sec pthread_spinlock, 7,i: 7,994,403 msg/sec pthread_spinlock, 8,s: 6,812,837 msg/sec pthread_spinlock, 8,i: 6,806,228 msg/sec std::mutex, 1,s: 6,017,580 msg/sec std::mutex, 1,i: 5,989,330 msg/sec std::mutex, 2,s: 5,485,491 msg/sec std::mutex, 2,i: 5,359,859 msg/sec std::mutex, 3,s: 5,030,225 msg/sec std::mutex, 3,i: 6,195,579 msg/sec std::mutex, 4,s: 6,191,515 msg/sec std::mutex, 4,i: 6,222,725 msg/sec std::mutex, 5,s: 6,041,287 msg/sec std::mutex, 5,i: 6,087,271 msg/sec std::mutex, 6,s: 5,949,209 msg/sec std::mutex, 6,i: 5,921,084 msg/sec std::mutex, 7,s: 5,818,006 msg/sec std::mutex, 7,i: 5,823,216 msg/sec std::mutex, 8,s: 5,700,563 msg/sec std::mutex, 8,i: 5,658,228 msg/sec tbb::spin_mutex, 1,s: 37,743,409 msg/sec tbb::spin_mutex, 1,i: 37,646,640 msg/sec tbb::spin_mutex, 2,s: 21,090,783 msg/sec tbb::spin_mutex, 2,i: 18,480,970 msg/sec tbb::spin_mutex, 3,s: 8,079,412 msg/sec tbb::spin_mutex, 3,i: 10,198,798 msg/sec tbb::spin_mutex, 4,s: 3,297,711 msg/sec tbb::spin_mutex, 4,i: 6,256,494 msg/sec tbb::spin_mutex, 5,s: 5,259,751 msg/sec tbb::spin_mutex, 5,i: 5,763,409 msg/sec tbb::spin_mutex, 6,s: 5,301,038 msg/sec tbb::spin_mutex, 6,i: 4,321,556 msg/sec tbb::spin_mutex, 7,s: 4,716,994 msg/sec tbb::spin_mutex, 7,i: 4,353,548 msg/sec tbb::spin_mutex, 8,s: 3,858,435 msg/sec tbb::spin_mutex, 8,i: 4,100,232 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,128,455 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,063,033 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,258,388 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,155,398 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,287,324 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,527,277 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,506,718 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,573,577 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,917,976 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,612,418 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,953,905 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,759,849 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,903,605 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,839,541 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,793,000 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,456,845 msg/sec xenium::michael_scott_queue, 1,s: 9,561,167 msg/sec xenium::michael_scott_queue, 1,i: 9,428,351 msg/sec xenium::michael_scott_queue, 2,s: 8,409,240 msg/sec xenium::michael_scott_queue, 2,i: 8,441,383 msg/sec xenium::michael_scott_queue, 3,s: 7,291,760 msg/sec xenium::michael_scott_queue, 3,i: 7,655,023 msg/sec xenium::michael_scott_queue, 4,s: 6,288,433 msg/sec xenium::michael_scott_queue, 4,i: 6,357,711 msg/sec xenium::michael_scott_queue, 5,s: 6,285,246 msg/sec xenium::michael_scott_queue, 5,i: 6,640,417 msg/sec xenium::michael_scott_queue, 6,s: 6,569,262 msg/sec xenium::michael_scott_queue, 6,i: 6,907,165 msg/sec xenium::michael_scott_queue, 7,s: 6,262,802 msg/sec xenium::michael_scott_queue, 7,i: 6,560,298 msg/sec xenium::michael_scott_queue, 8,s: 6,016,632 msg/sec xenium::michael_scott_queue, 8,i: 6,112,110 msg/sec xenium::ramalhete_queue, 1,s: 31,951,333 msg/sec xenium::ramalhete_queue, 1,i: 32,533,968 msg/sec xenium::ramalhete_queue, 2,s: 23,445,803 msg/sec xenium::ramalhete_queue, 2,i: 23,267,322 msg/sec xenium::ramalhete_queue, 3,s: 29,113,381 msg/sec xenium::ramalhete_queue, 3,i: 28,444,765 msg/sec xenium::ramalhete_queue, 4,s: 33,875,986 msg/sec xenium::ramalhete_queue, 4,i: 33,491,476 msg/sec xenium::ramalhete_queue, 5,s: 32,064,495 msg/sec xenium::ramalhete_queue, 5,i: 36,102,539 msg/sec xenium::ramalhete_queue, 6,s: 34,263,407 msg/sec xenium::ramalhete_queue, 6,i: 38,912,214 msg/sec xenium::ramalhete_queue, 7,s: 35,087,308 msg/sec xenium::ramalhete_queue, 7,i: 40,923,545 msg/sec xenium::ramalhete_queue, 8,s: 35,599,751 msg/sec xenium::ramalhete_queue, 8,i: 44,075,830 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,701,149 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,820,116 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,633,824 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,611,498 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,678,323 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,732,578 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,646,669 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,225,563 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,514,251 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,259,028 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,843,044 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,712,817 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,298,438 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,100,018 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,419,137 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,210,945 msg/sec AtomicQueue, 1,s: 60,449,219 msg/sec AtomicQueue, 1,i: 56,483,904 msg/sec AtomicQueue, 2,s: 12,372,028 msg/sec AtomicQueue, 2,i: 11,736,148 msg/sec AtomicQueue, 3,s: 10,763,400 msg/sec AtomicQueue, 3,i: 9,799,847 msg/sec AtomicQueue, 4,s: 8,215,435 msg/sec AtomicQueue, 4,i: 8,164,930 msg/sec AtomicQueue, 5,s: 8,021,349 msg/sec AtomicQueue, 5,i: 8,139,334 msg/sec AtomicQueue, 6,s: 7,721,536 msg/sec AtomicQueue, 6,i: 7,614,678 msg/sec AtomicQueue, 7,s: 7,144,866 msg/sec AtomicQueue, 7,i: 7,982,599 msg/sec AtomicQueue, 8,s: 6,307,728 msg/sec AtomicQueue, 8,i: 7,472,603 msg/sec AtomicQueueB, 1,s: 43,967,129 msg/sec AtomicQueueB, 1,i: 43,851,629 msg/sec AtomicQueueB, 2,s: 11,640,020 msg/sec AtomicQueueB, 2,i: 11,486,548 msg/sec AtomicQueueB, 3,s: 11,016,602 msg/sec AtomicQueueB, 3,i: 10,238,493 msg/sec AtomicQueueB, 4,s: 8,056,219 msg/sec AtomicQueueB, 4,i: 8,076,616 msg/sec AtomicQueueB, 5,s: 7,556,798 msg/sec AtomicQueueB, 5,i: 7,718,223 msg/sec AtomicQueueB, 6,s: 7,247,509 msg/sec AtomicQueueB, 6,i: 7,576,922 msg/sec AtomicQueueB, 7,s: 6,902,343 msg/sec AtomicQueueB, 7,i: 7,706,643 msg/sec AtomicQueueB, 8,s: 6,292,807 msg/sec AtomicQueueB, 8,i: 7,165,117 msg/sec OptimistAtomicQueue, 1,s: 694,366,930 msg/sec OptimistAtomicQueue, 1,i: 513,291,688 msg/sec OptimistAtomicQueue, 2,s: 31,921,875 msg/sec OptimistAtomicQueue, 2,i: 32,029,895 msg/sec OptimistAtomicQueue, 3,s: 36,619,253 msg/sec OptimistAtomicQueue, 3,i: 37,253,189 msg/sec OptimistAtomicQueue, 4,s: 39,272,414 msg/sec OptimistAtomicQueue, 4,i: 39,374,477 msg/sec OptimistAtomicQueue, 5,s: 41,597,537 msg/sec OptimistAtomicQueue, 5,i: 46,383,839 msg/sec OptimistAtomicQueue, 6,s: 42,546,956 msg/sec OptimistAtomicQueue, 6,i: 50,545,515 msg/sec OptimistAtomicQueue, 7,s: 45,088,354 msg/sec OptimistAtomicQueue, 7,i: 52,021,649 msg/sec OptimistAtomicQueue, 8,s: 46,307,235 msg/sec OptimistAtomicQueue, 8,i: 49,474,433 msg/sec OptimistAtomicQueueB, 1,s: 197,681,639 msg/sec OptimistAtomicQueueB, 1,i: 77,627,293 msg/sec OptimistAtomicQueueB, 2,s: 32,277,931 msg/sec OptimistAtomicQueueB, 2,i: 32,037,158 msg/sec OptimistAtomicQueueB, 3,s: 36,216,614 msg/sec OptimistAtomicQueueB, 3,i: 36,881,600 msg/sec OptimistAtomicQueueB, 4,s: 38,687,591 msg/sec OptimistAtomicQueueB, 4,i: 38,580,048 msg/sec OptimistAtomicQueueB, 5,s: 40,199,437 msg/sec OptimistAtomicQueueB, 5,i: 45,963,847 msg/sec OptimistAtomicQueueB, 6,s: 40,903,590 msg/sec OptimistAtomicQueueB, 6,i: 49,070,556 msg/sec OptimistAtomicQueueB, 7,s: 41,976,964 msg/sec OptimistAtomicQueueB, 7,i: 51,342,636 msg/sec OptimistAtomicQueueB, 8,s: 44,527,119 msg/sec OptimistAtomicQueueB, 8,i: 47,826,422 msg/sec AtomicQueue2, 1,s: 22,859,983 msg/sec AtomicQueue2, 1,i: 22,883,550 msg/sec AtomicQueue2, 2,s: 11,900,065 msg/sec AtomicQueue2, 2,i: 11,419,234 msg/sec AtomicQueue2, 3,s: 9,588,122 msg/sec AtomicQueue2, 3,i: 9,508,667 msg/sec AtomicQueue2, 4,s: 8,104,174 msg/sec AtomicQueue2, 4,i: 8,025,275 msg/sec AtomicQueue2, 5,s: 7,925,131 msg/sec AtomicQueue2, 5,i: 7,995,423 msg/sec AtomicQueue2, 6,s: 7,657,057 msg/sec AtomicQueue2, 6,i: 7,506,856 msg/sec AtomicQueue2, 7,s: 7,134,411 msg/sec AtomicQueue2, 7,i: 7,876,908 msg/sec AtomicQueue2, 8,s: 6,399,619 msg/sec AtomicQueue2, 8,i: 7,332,357 msg/sec AtomicQueueB2, 1,s: 35,991,027 msg/sec AtomicQueueB2, 1,i: 32,604,553 msg/sec AtomicQueueB2, 2,s: 11,338,392 msg/sec AtomicQueueB2, 2,i: 11,129,209 msg/sec AtomicQueueB2, 3,s: 9,710,449 msg/sec AtomicQueueB2, 3,i: 9,579,745 msg/sec AtomicQueueB2, 4,s: 7,980,807 msg/sec AtomicQueueB2, 4,i: 7,858,301 msg/sec AtomicQueueB2, 5,s: 7,472,424 msg/sec AtomicQueueB2, 5,i: 7,699,941 msg/sec AtomicQueueB2, 6,s: 7,004,711 msg/sec AtomicQueueB2, 6,i: 7,427,044 msg/sec AtomicQueueB2, 7,s: 6,867,257 msg/sec AtomicQueueB2, 7,i: 7,708,442 msg/sec AtomicQueueB2, 8,s: 6,245,359 msg/sec AtomicQueueB2, 8,i: 7,150,990 msg/sec OptimistAtomicQueue2, 1,s: 292,527,758 msg/sec OptimistAtomicQueue2, 1,i: 357,135,044 msg/sec OptimistAtomicQueue2, 2,s: 24,782,152 msg/sec OptimistAtomicQueue2, 2,i: 24,022,730 msg/sec OptimistAtomicQueue2, 3,s: 30,316,307 msg/sec OptimistAtomicQueue2, 3,i: 30,172,398 msg/sec OptimistAtomicQueue2, 4,s: 33,224,127 msg/sec OptimistAtomicQueue2, 4,i: 33,112,874 msg/sec OptimistAtomicQueue2, 5,s: 36,970,902 msg/sec OptimistAtomicQueue2, 5,i: 40,753,722 msg/sec OptimistAtomicQueue2, 6,s: 40,193,308 msg/sec OptimistAtomicQueue2, 6,i: 49,176,883 msg/sec OptimistAtomicQueue2, 7,s: 43,254,448 msg/sec OptimistAtomicQueue2, 7,i: 48,245,317 msg/sec OptimistAtomicQueue2, 8,s: 44,254,245 msg/sec OptimistAtomicQueue2, 8,i: 48,129,771 msg/sec OptimistAtomicQueueB2, 1,s: 79,150,454 msg/sec OptimistAtomicQueueB2, 1,i: 33,910,374 msg/sec OptimistAtomicQueueB2, 2,s: 26,928,452 msg/sec OptimistAtomicQueueB2, 2,i: 24,752,412 msg/sec OptimistAtomicQueueB2, 3,s: 29,696,776 msg/sec OptimistAtomicQueueB2, 3,i: 29,191,375 msg/sec OptimistAtomicQueueB2, 4,s: 33,319,508 msg/sec OptimistAtomicQueueB2, 4,i: 32,807,250 msg/sec OptimistAtomicQueueB2, 5,s: 34,613,536 msg/sec OptimistAtomicQueueB2, 5,i: 38,790,915 msg/sec OptimistAtomicQueueB2, 6,s: 37,311,250 msg/sec OptimistAtomicQueueB2, 6,i: 42,340,990 msg/sec OptimistAtomicQueueB2, 7,s: 40,962,818 msg/sec OptimistAtomicQueueB2, 7,i: 45,259,640 msg/sec OptimistAtomicQueueB2, 8,s: 42,417,187 msg/sec OptimistAtomicQueueB2, 8,i: 45,200,266 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000111 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000232 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000376 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000214 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [275] 118m:26s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,711,706 msg/sec boost::lockfree::spsc_queue, 1,i: 65,636,599 msg/sec boost::lockfree::queue, 1,s: 6,806,866 msg/sec boost::lockfree::queue, 1,i: 6,872,609 msg/sec boost::lockfree::queue, 2,s: 7,708,836 msg/sec boost::lockfree::queue, 2,i: 7,480,387 msg/sec boost::lockfree::queue, 3,s: 7,430,205 msg/sec boost::lockfree::queue, 3,i: 7,537,779 msg/sec boost::lockfree::queue, 4,s: 6,422,207 msg/sec boost::lockfree::queue, 4,i: 6,814,508 msg/sec boost::lockfree::queue, 5,s: 6,410,213 msg/sec boost::lockfree::queue, 5,i: 6,511,051 msg/sec boost::lockfree::queue, 6,s: 5,959,124 msg/sec boost::lockfree::queue, 6,i: 6,193,539 msg/sec boost::lockfree::queue, 7,s: 5,814,719 msg/sec boost::lockfree::queue, 7,i: 5,929,657 msg/sec boost::lockfree::queue, 8,s: 5,463,366 msg/sec boost::lockfree::queue, 8,i: 5,527,679 msg/sec moodycamel::ReaderWriterQueue, 1,s: 467,650,509 msg/sec moodycamel::ReaderWriterQueue, 1,i: 94,281,119 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,462,181 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,440,286 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,740,931 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,250,501 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,475,573 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,224,936 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,286,351 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,094,498 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,268,059 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,488,743 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,450,171 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,369,430 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,082,908 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,979,190 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,377,495 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,082,988 msg/sec pthread_spinlock, 1,s: 29,191,032 msg/sec pthread_spinlock, 1,i: 29,182,672 msg/sec pthread_spinlock, 2,s: 16,053,524 msg/sec pthread_spinlock, 2,i: 16,939,542 msg/sec pthread_spinlock, 3,s: 8,417,793 msg/sec pthread_spinlock, 3,i: 12,045,307 msg/sec pthread_spinlock, 4,s: 6,479,115 msg/sec pthread_spinlock, 4,i: 8,941,180 msg/sec pthread_spinlock, 5,s: 8,807,453 msg/sec pthread_spinlock, 5,i: 9,062,678 msg/sec pthread_spinlock, 6,s: 8,567,169 msg/sec pthread_spinlock, 6,i: 8,783,259 msg/sec pthread_spinlock, 7,s: 7,552,313 msg/sec pthread_spinlock, 7,i: 7,536,918 msg/sec pthread_spinlock, 8,s: 6,691,508 msg/sec pthread_spinlock, 8,i: 6,839,159 msg/sec std::mutex, 1,s: 6,030,715 msg/sec std::mutex, 1,i: 6,658,122 msg/sec std::mutex, 2,s: 5,308,099 msg/sec std::mutex, 2,i: 5,503,720 msg/sec std::mutex, 3,s: 5,166,672 msg/sec std::mutex, 3,i: 4,994,723 msg/sec std::mutex, 4,s: 5,804,666 msg/sec std::mutex, 4,i: 5,919,285 msg/sec std::mutex, 5,s: 5,694,975 msg/sec std::mutex, 5,i: 6,078,670 msg/sec std::mutex, 6,s: 5,928,189 msg/sec std::mutex, 6,i: 5,870,257 msg/sec std::mutex, 7,s: 5,843,487 msg/sec std::mutex, 7,i: 5,818,978 msg/sec std::mutex, 8,s: 5,769,418 msg/sec std::mutex, 8,i: 5,733,529 msg/sec tbb::spin_mutex, 1,s: 37,730,587 msg/sec tbb::spin_mutex, 1,i: 32,954,726 msg/sec tbb::spin_mutex, 2,s: 21,183,697 msg/sec tbb::spin_mutex, 2,i: 18,322,069 msg/sec tbb::spin_mutex, 3,s: 7,669,358 msg/sec tbb::spin_mutex, 3,i: 10,191,644 msg/sec tbb::spin_mutex, 4,s: 3,131,681 msg/sec tbb::spin_mutex, 4,i: 6,257,294 msg/sec tbb::spin_mutex, 5,s: 5,162,290 msg/sec tbb::spin_mutex, 5,i: 5,885,971 msg/sec tbb::spin_mutex, 6,s: 5,328,052 msg/sec tbb::spin_mutex, 6,i: 4,278,434 msg/sec tbb::spin_mutex, 7,s: 4,845,699 msg/sec tbb::spin_mutex, 7,i: 4,317,388 msg/sec tbb::spin_mutex, 8,s: 3,769,763 msg/sec tbb::spin_mutex, 8,i: 4,070,435 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,550,000 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,833,442 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,414,747 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,380,232 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,673,997 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,665,625 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,596,611 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,574,949 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,982,820 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,645,387 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,032,037 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,734,629 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,791,494 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,816,543 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,761,024 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,480,001 msg/sec xenium::michael_scott_queue, 1,s: 9,501,175 msg/sec xenium::michael_scott_queue, 1,i: 9,502,847 msg/sec xenium::michael_scott_queue, 2,s: 8,504,612 msg/sec xenium::michael_scott_queue, 2,i: 8,336,976 msg/sec xenium::michael_scott_queue, 3,s: 7,133,112 msg/sec xenium::michael_scott_queue, 3,i: 7,559,745 msg/sec xenium::michael_scott_queue, 4,s: 6,287,701 msg/sec xenium::michael_scott_queue, 4,i: 6,323,107 msg/sec xenium::michael_scott_queue, 5,s: 6,344,565 msg/sec xenium::michael_scott_queue, 5,i: 6,641,017 msg/sec xenium::michael_scott_queue, 6,s: 6,588,452 msg/sec xenium::michael_scott_queue, 6,i: 6,750,944 msg/sec xenium::michael_scott_queue, 7,s: 6,303,226 msg/sec xenium::michael_scott_queue, 7,i: 6,359,600 msg/sec xenium::michael_scott_queue, 8,s: 6,088,101 msg/sec xenium::michael_scott_queue, 8,i: 6,157,758 msg/sec xenium::ramalhete_queue, 1,s: 30,232,029 msg/sec xenium::ramalhete_queue, 1,i: 30,631,922 msg/sec xenium::ramalhete_queue, 2,s: 23,502,531 msg/sec xenium::ramalhete_queue, 2,i: 23,245,327 msg/sec xenium::ramalhete_queue, 3,s: 29,415,992 msg/sec xenium::ramalhete_queue, 3,i: 28,511,650 msg/sec xenium::ramalhete_queue, 4,s: 33,942,719 msg/sec xenium::ramalhete_queue, 4,i: 33,503,650 msg/sec xenium::ramalhete_queue, 5,s: 32,164,753 msg/sec xenium::ramalhete_queue, 5,i: 36,161,812 msg/sec xenium::ramalhete_queue, 6,s: 33,910,497 msg/sec xenium::ramalhete_queue, 6,i: 38,696,087 msg/sec xenium::ramalhete_queue, 7,s: 35,101,578 msg/sec xenium::ramalhete_queue, 7,i: 41,358,893 msg/sec xenium::ramalhete_queue, 8,s: 35,608,216 msg/sec xenium::ramalhete_queue, 8,i: 44,032,466 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,943,414 msg/sec xenium::vyukov_bounded_queue, 1,i: 98,960,261 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,690,408 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,378,651 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,477,233 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,745,806 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,514,903 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,315,272 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,882,203 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,372,158 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,044,096 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,301,144 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,191,229 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,354,847 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,429,535 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,314,877 msg/sec AtomicQueue, 1,s: 58,732,048 msg/sec AtomicQueue, 1,i: 56,710,617 msg/sec AtomicQueue, 2,s: 12,348,138 msg/sec AtomicQueue, 2,i: 11,731,597 msg/sec AtomicQueue, 3,s: 10,793,440 msg/sec AtomicQueue, 3,i: 9,919,573 msg/sec AtomicQueue, 4,s: 8,212,992 msg/sec AtomicQueue, 4,i: 8,205,252 msg/sec AtomicQueue, 5,s: 8,009,617 msg/sec AtomicQueue, 5,i: 8,128,312 msg/sec AtomicQueue, 6,s: 7,767,755 msg/sec AtomicQueue, 6,i: 7,613,087 msg/sec AtomicQueue, 7,s: 7,157,465 msg/sec AtomicQueue, 7,i: 7,972,523 msg/sec AtomicQueue, 8,s: 6,336,099 msg/sec AtomicQueue, 8,i: 7,458,292 msg/sec AtomicQueueB, 1,s: 43,921,189 msg/sec AtomicQueueB, 1,i: 43,669,426 msg/sec AtomicQueueB, 2,s: 11,991,289 msg/sec AtomicQueueB, 2,i: 11,494,620 msg/sec AtomicQueueB, 3,s: 10,965,194 msg/sec AtomicQueueB, 3,i: 10,172,221 msg/sec AtomicQueueB, 4,s: 8,057,425 msg/sec AtomicQueueB, 4,i: 7,938,735 msg/sec AtomicQueueB, 5,s: 7,636,073 msg/sec AtomicQueueB, 5,i: 7,804,172 msg/sec AtomicQueueB, 6,s: 7,295,538 msg/sec AtomicQueueB, 6,i: 7,473,383 msg/sec AtomicQueueB, 7,s: 6,882,713 msg/sec AtomicQueueB, 7,i: 7,747,514 msg/sec AtomicQueueB, 8,s: 6,243,447 msg/sec AtomicQueueB, 8,i: 7,021,470 msg/sec OptimistAtomicQueue, 1,s: 698,493,402 msg/sec OptimistAtomicQueue, 1,i: 513,825,172 msg/sec OptimistAtomicQueue, 2,s: 32,220,903 msg/sec OptimistAtomicQueue, 2,i: 32,121,966 msg/sec OptimistAtomicQueue, 3,s: 36,646,044 msg/sec OptimistAtomicQueue, 3,i: 37,369,381 msg/sec OptimistAtomicQueue, 4,s: 39,284,050 msg/sec OptimistAtomicQueue, 4,i: 39,376,427 msg/sec OptimistAtomicQueue, 5,s: 41,906,939 msg/sec OptimistAtomicQueue, 5,i: 46,245,473 msg/sec OptimistAtomicQueue, 6,s: 42,117,689 msg/sec OptimistAtomicQueue, 6,i: 49,805,754 msg/sec OptimistAtomicQueue, 7,s: 43,993,579 msg/sec OptimistAtomicQueue, 7,i: 53,036,307 msg/sec OptimistAtomicQueue, 8,s: 46,492,282 msg/sec OptimistAtomicQueue, 8,i: 49,541,700 msg/sec OptimistAtomicQueueB, 1,s: 118,515,108 msg/sec OptimistAtomicQueueB, 1,i: 76,643,920 msg/sec OptimistAtomicQueueB, 2,s: 32,135,948 msg/sec OptimistAtomicQueueB, 2,i: 32,218,801 msg/sec OptimistAtomicQueueB, 3,s: 36,261,344 msg/sec OptimistAtomicQueueB, 3,i: 36,845,949 msg/sec OptimistAtomicQueueB, 4,s: 38,725,186 msg/sec OptimistAtomicQueueB, 4,i: 38,517,243 msg/sec OptimistAtomicQueueB, 5,s: 40,502,446 msg/sec OptimistAtomicQueueB, 5,i: 46,073,872 msg/sec OptimistAtomicQueueB, 6,s: 41,132,592 msg/sec OptimistAtomicQueueB, 6,i: 49,111,240 msg/sec OptimistAtomicQueueB, 7,s: 41,635,610 msg/sec OptimistAtomicQueueB, 7,i: 48,159,832 msg/sec OptimistAtomicQueueB, 8,s: 44,412,092 msg/sec OptimistAtomicQueueB, 8,i: 48,103,491 msg/sec AtomicQueue2, 1,s: 23,075,030 msg/sec AtomicQueue2, 1,i: 23,101,871 msg/sec AtomicQueue2, 2,s: 11,927,259 msg/sec AtomicQueue2, 2,i: 11,579,670 msg/sec AtomicQueue2, 3,s: 9,432,102 msg/sec AtomicQueue2, 3,i: 9,460,710 msg/sec AtomicQueue2, 4,s: 8,031,247 msg/sec AtomicQueue2, 4,i: 8,089,797 msg/sec AtomicQueue2, 5,s: 7,901,481 msg/sec AtomicQueue2, 5,i: 8,048,107 msg/sec AtomicQueue2, 6,s: 7,774,874 msg/sec AtomicQueue2, 6,i: 7,524,519 msg/sec AtomicQueue2, 7,s: 7,186,429 msg/sec AtomicQueue2, 7,i: 7,883,274 msg/sec AtomicQueue2, 8,s: 6,373,036 msg/sec AtomicQueue2, 8,i: 7,367,049 msg/sec AtomicQueueB2, 1,s: 36,059,519 msg/sec AtomicQueueB2, 1,i: 36,039,432 msg/sec AtomicQueueB2, 2,s: 11,412,568 msg/sec AtomicQueueB2, 2,i: 11,084,444 msg/sec AtomicQueueB2, 3,s: 9,744,107 msg/sec AtomicQueueB2, 3,i: 9,659,683 msg/sec AtomicQueueB2, 4,s: 7,972,450 msg/sec AtomicQueueB2, 4,i: 7,731,674 msg/sec AtomicQueueB2, 5,s: 7,601,358 msg/sec AtomicQueueB2, 5,i: 7,778,756 msg/sec AtomicQueueB2, 6,s: 7,265,802 msg/sec AtomicQueueB2, 6,i: 7,447,693 msg/sec AtomicQueueB2, 7,s: 6,882,681 msg/sec AtomicQueueB2, 7,i: 7,701,154 msg/sec AtomicQueueB2, 8,s: 6,337,773 msg/sec AtomicQueueB2, 8,i: 7,109,768 msg/sec OptimistAtomicQueue2, 1,s: 469,322,334 msg/sec OptimistAtomicQueue2, 1,i: 32,197,833 msg/sec OptimistAtomicQueue2, 2,s: 25,163,008 msg/sec OptimistAtomicQueue2, 2,i: 24,078,447 msg/sec OptimistAtomicQueue2, 3,s: 30,327,096 msg/sec OptimistAtomicQueue2, 3,i: 29,943,198 msg/sec OptimistAtomicQueue2, 4,s: 33,415,886 msg/sec OptimistAtomicQueue2, 4,i: 33,100,727 msg/sec OptimistAtomicQueue2, 5,s: 37,220,100 msg/sec OptimistAtomicQueue2, 5,i: 40,228,753 msg/sec OptimistAtomicQueue2, 6,s: 39,995,476 msg/sec OptimistAtomicQueue2, 6,i: 49,336,212 msg/sec OptimistAtomicQueue2, 7,s: 43,305,432 msg/sec OptimistAtomicQueue2, 7,i: 51,636,001 msg/sec OptimistAtomicQueue2, 8,s: 43,930,368 msg/sec OptimistAtomicQueue2, 8,i: 48,443,115 msg/sec OptimistAtomicQueueB2, 1,s: 75,858,506 msg/sec OptimistAtomicQueueB2, 1,i: 33,872,735 msg/sec OptimistAtomicQueueB2, 2,s: 27,020,873 msg/sec OptimistAtomicQueueB2, 2,i: 26,067,283 msg/sec OptimistAtomicQueueB2, 3,s: 29,973,068 msg/sec OptimistAtomicQueueB2, 3,i: 29,163,033 msg/sec OptimistAtomicQueueB2, 4,s: 33,475,848 msg/sec OptimistAtomicQueueB2, 4,i: 32,042,048 msg/sec OptimistAtomicQueueB2, 5,s: 34,708,194 msg/sec OptimistAtomicQueueB2, 5,i: 39,300,186 msg/sec OptimistAtomicQueueB2, 6,s: 37,564,649 msg/sec OptimistAtomicQueueB2, 6,i: 42,226,109 msg/sec OptimistAtomicQueueB2, 7,s: 40,138,693 msg/sec OptimistAtomicQueueB2, 7,i: 43,154,067 msg/sec OptimistAtomicQueueB2, 8,s: 42,393,105 msg/sec OptimistAtomicQueueB2, 8,i: 45,675,921 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000142 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000298 sec/round-trip std::mutex: 0.000000457 sec/round-trip tbb::spin_mutex: 0.000000267 sec/round-trip tbb::concurrent_bounded_queue: 0.000000283 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [276] 117m:6s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,344,013 msg/sec boost::lockfree::spsc_queue, 1,i: 69,127,613 msg/sec boost::lockfree::queue, 1,s: 6,844,908 msg/sec boost::lockfree::queue, 1,i: 6,931,395 msg/sec boost::lockfree::queue, 2,s: 7,647,198 msg/sec boost::lockfree::queue, 2,i: 7,532,573 msg/sec boost::lockfree::queue, 3,s: 7,362,280 msg/sec boost::lockfree::queue, 3,i: 7,552,821 msg/sec boost::lockfree::queue, 4,s: 6,417,056 msg/sec boost::lockfree::queue, 4,i: 6,755,379 msg/sec boost::lockfree::queue, 5,s: 6,375,187 msg/sec boost::lockfree::queue, 5,i: 6,451,553 msg/sec boost::lockfree::queue, 6,s: 6,032,255 msg/sec boost::lockfree::queue, 6,i: 6,135,194 msg/sec boost::lockfree::queue, 7,s: 5,805,722 msg/sec boost::lockfree::queue, 7,i: 5,912,346 msg/sec boost::lockfree::queue, 8,s: 5,488,909 msg/sec boost::lockfree::queue, 8,i: 5,600,346 msg/sec moodycamel::ReaderWriterQueue, 1,s: 422,620,777 msg/sec moodycamel::ReaderWriterQueue, 1,i: 481,423,839 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,711,947 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,714,073 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,032,525 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,392,916 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,808,529 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,764,833 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,381,895 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,142,735 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,242,359 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,281,149 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,640,655 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,325,086 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,929,084 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,776,481 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,298,677 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,472,027 msg/sec pthread_spinlock, 1,s: 29,191,502 msg/sec pthread_spinlock, 1,i: 25,289,072 msg/sec pthread_spinlock, 2,s: 15,503,254 msg/sec pthread_spinlock, 2,i: 17,104,587 msg/sec pthread_spinlock, 3,s: 8,296,203 msg/sec pthread_spinlock, 3,i: 11,899,152 msg/sec pthread_spinlock, 4,s: 6,512,550 msg/sec pthread_spinlock, 4,i: 9,264,517 msg/sec pthread_spinlock, 5,s: 8,752,278 msg/sec pthread_spinlock, 5,i: 9,519,977 msg/sec pthread_spinlock, 6,s: 8,487,741 msg/sec pthread_spinlock, 6,i: 8,587,746 msg/sec pthread_spinlock, 7,s: 7,590,474 msg/sec pthread_spinlock, 7,i: 7,945,259 msg/sec pthread_spinlock, 8,s: 6,863,527 msg/sec pthread_spinlock, 8,i: 6,839,179 msg/sec std::mutex, 1,s: 7,776,531 msg/sec std::mutex, 1,i: 7,849,697 msg/sec std::mutex, 2,s: 5,382,846 msg/sec std::mutex, 2,i: 4,900,188 msg/sec std::mutex, 3,s: 4,976,522 msg/sec std::mutex, 3,i: 5,518,598 msg/sec std::mutex, 4,s: 5,361,664 msg/sec std::mutex, 4,i: 6,321,044 msg/sec std::mutex, 5,s: 6,101,746 msg/sec std::mutex, 5,i: 6,091,388 msg/sec std::mutex, 6,s: 6,066,642 msg/sec std::mutex, 6,i: 6,007,298 msg/sec std::mutex, 7,s: 5,917,121 msg/sec std::mutex, 7,i: 5,978,183 msg/sec std::mutex, 8,s: 5,713,602 msg/sec std::mutex, 8,i: 5,762,448 msg/sec tbb::spin_mutex, 1,s: 37,938,458 msg/sec tbb::spin_mutex, 1,i: 33,297,269 msg/sec tbb::spin_mutex, 2,s: 21,355,577 msg/sec tbb::spin_mutex, 2,i: 18,387,206 msg/sec tbb::spin_mutex, 3,s: 8,333,043 msg/sec tbb::spin_mutex, 3,i: 10,241,591 msg/sec tbb::spin_mutex, 4,s: 3,260,468 msg/sec tbb::spin_mutex, 4,i: 6,453,515 msg/sec tbb::spin_mutex, 5,s: 5,518,137 msg/sec tbb::spin_mutex, 5,i: 5,630,056 msg/sec tbb::spin_mutex, 6,s: 5,340,058 msg/sec tbb::spin_mutex, 6,i: 4,404,605 msg/sec tbb::spin_mutex, 7,s: 4,825,907 msg/sec tbb::spin_mutex, 7,i: 4,314,279 msg/sec tbb::spin_mutex, 8,s: 3,848,813 msg/sec tbb::spin_mutex, 8,i: 4,065,064 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,332,404 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,262,811 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,053,085 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,979,730 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,495,872 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,769,077 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,970,177 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,349,667 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,746,444 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,654,493 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,816,482 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,731,197 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,960,861 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,128,069 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,921,762 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,460,889 msg/sec xenium::michael_scott_queue, 1,s: 10,142,164 msg/sec xenium::michael_scott_queue, 1,i: 10,039,305 msg/sec xenium::michael_scott_queue, 2,s: 8,600,854 msg/sec xenium::michael_scott_queue, 2,i: 8,513,000 msg/sec xenium::michael_scott_queue, 3,s: 7,116,856 msg/sec xenium::michael_scott_queue, 3,i: 7,577,198 msg/sec xenium::michael_scott_queue, 4,s: 6,425,220 msg/sec xenium::michael_scott_queue, 4,i: 6,371,576 msg/sec xenium::michael_scott_queue, 5,s: 6,364,225 msg/sec xenium::michael_scott_queue, 5,i: 6,757,371 msg/sec xenium::michael_scott_queue, 6,s: 6,515,341 msg/sec xenium::michael_scott_queue, 6,i: 6,848,414 msg/sec xenium::michael_scott_queue, 7,s: 6,280,086 msg/sec xenium::michael_scott_queue, 7,i: 6,426,380 msg/sec xenium::michael_scott_queue, 8,s: 6,081,803 msg/sec xenium::michael_scott_queue, 8,i: 6,103,911 msg/sec xenium::ramalhete_queue, 1,s: 31,566,633 msg/sec xenium::ramalhete_queue, 1,i: 31,784,200 msg/sec xenium::ramalhete_queue, 2,s: 23,767,815 msg/sec xenium::ramalhete_queue, 2,i: 23,338,738 msg/sec xenium::ramalhete_queue, 3,s: 29,260,523 msg/sec xenium::ramalhete_queue, 3,i: 28,532,734 msg/sec xenium::ramalhete_queue, 4,s: 33,809,468 msg/sec xenium::ramalhete_queue, 4,i: 33,456,246 msg/sec xenium::ramalhete_queue, 5,s: 32,151,253 msg/sec xenium::ramalhete_queue, 5,i: 36,000,162 msg/sec xenium::ramalhete_queue, 6,s: 34,048,799 msg/sec xenium::ramalhete_queue, 6,i: 38,934,570 msg/sec xenium::ramalhete_queue, 7,s: 34,991,273 msg/sec xenium::ramalhete_queue, 7,i: 41,268,937 msg/sec xenium::ramalhete_queue, 8,s: 35,572,862 msg/sec xenium::ramalhete_queue, 8,i: 44,544,160 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,550,227 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,976,703 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,475,738 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,053,886 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,590,741 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,249,466 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,706,284 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,989,814 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,384,698 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,372,214 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,975,429 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,479,401 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,217,371 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,018,520 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,417,257 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,222,188 msg/sec AtomicQueue, 1,s: 63,802,942 msg/sec AtomicQueue, 1,i: 56,893,562 msg/sec AtomicQueue, 2,s: 12,183,525 msg/sec AtomicQueue, 2,i: 11,739,796 msg/sec AtomicQueue, 3,s: 10,779,147 msg/sec AtomicQueue, 3,i: 9,904,648 msg/sec AtomicQueue, 4,s: 8,221,170 msg/sec AtomicQueue, 4,i: 8,204,190 msg/sec AtomicQueue, 5,s: 8,037,161 msg/sec AtomicQueue, 5,i: 8,097,750 msg/sec AtomicQueue, 6,s: 7,853,148 msg/sec AtomicQueue, 6,i: 7,601,822 msg/sec AtomicQueue, 7,s: 7,158,592 msg/sec AtomicQueue, 7,i: 7,987,372 msg/sec AtomicQueue, 8,s: 6,338,104 msg/sec AtomicQueue, 8,i: 7,350,986 msg/sec AtomicQueueB, 1,s: 99,560,988 msg/sec AtomicQueueB, 1,i: 42,986,065 msg/sec AtomicQueueB, 2,s: 11,863,919 msg/sec AtomicQueueB, 2,i: 11,511,822 msg/sec AtomicQueueB, 3,s: 11,033,063 msg/sec AtomicQueueB, 3,i: 10,027,565 msg/sec AtomicQueueB, 4,s: 8,037,348 msg/sec AtomicQueueB, 4,i: 7,968,386 msg/sec AtomicQueueB, 5,s: 7,600,794 msg/sec AtomicQueueB, 5,i: 7,831,234 msg/sec AtomicQueueB, 6,s: 7,390,028 msg/sec AtomicQueueB, 6,i: 7,590,584 msg/sec AtomicQueueB, 7,s: 6,867,466 msg/sec AtomicQueueB, 7,i: 7,718,354 msg/sec AtomicQueueB, 8,s: 6,244,875 msg/sec AtomicQueueB, 8,i: 6,983,917 msg/sec OptimistAtomicQueue, 1,s: 718,477,388 msg/sec OptimistAtomicQueue, 1,i: 552,482,830 msg/sec OptimistAtomicQueue, 2,s: 32,652,382 msg/sec OptimistAtomicQueue, 2,i: 32,761,745 msg/sec OptimistAtomicQueue, 3,s: 36,647,511 msg/sec OptimistAtomicQueue, 3,i: 37,484,673 msg/sec OptimistAtomicQueue, 4,s: 39,267,895 msg/sec OptimistAtomicQueue, 4,i: 39,346,951 msg/sec OptimistAtomicQueue, 5,s: 42,467,067 msg/sec OptimistAtomicQueue, 5,i: 46,320,105 msg/sec OptimistAtomicQueue, 6,s: 42,485,109 msg/sec OptimistAtomicQueue, 6,i: 49,790,114 msg/sec OptimistAtomicQueue, 7,s: 44,237,171 msg/sec OptimistAtomicQueue, 7,i: 52,013,833 msg/sec OptimistAtomicQueue, 8,s: 46,404,955 msg/sec OptimistAtomicQueue, 8,i: 49,637,609 msg/sec OptimistAtomicQueueB, 1,s: 115,985,195 msg/sec OptimistAtomicQueueB, 1,i: 76,428,464 msg/sec OptimistAtomicQueueB, 2,s: 32,182,257 msg/sec OptimistAtomicQueueB, 2,i: 32,185,780 msg/sec OptimistAtomicQueueB, 3,s: 36,188,686 msg/sec OptimistAtomicQueueB, 3,i: 36,838,535 msg/sec OptimistAtomicQueueB, 4,s: 38,599,081 msg/sec OptimistAtomicQueueB, 4,i: 38,642,698 msg/sec OptimistAtomicQueueB, 5,s: 40,211,165 msg/sec OptimistAtomicQueueB, 5,i: 45,347,487 msg/sec OptimistAtomicQueueB, 6,s: 41,145,217 msg/sec OptimistAtomicQueueB, 6,i: 49,100,530 msg/sec OptimistAtomicQueueB, 7,s: 42,456,349 msg/sec OptimistAtomicQueueB, 7,i: 50,730,672 msg/sec OptimistAtomicQueueB, 8,s: 44,027,849 msg/sec OptimistAtomicQueueB, 8,i: 48,163,799 msg/sec AtomicQueue2, 1,s: 23,432,301 msg/sec AtomicQueue2, 1,i: 23,441,360 msg/sec AtomicQueue2, 2,s: 11,978,960 msg/sec AtomicQueue2, 2,i: 11,577,223 msg/sec AtomicQueue2, 3,s: 9,339,260 msg/sec AtomicQueue2, 3,i: 9,441,384 msg/sec AtomicQueue2, 4,s: 8,023,836 msg/sec AtomicQueue2, 4,i: 8,073,225 msg/sec AtomicQueue2, 5,s: 7,852,495 msg/sec AtomicQueue2, 5,i: 8,057,878 msg/sec AtomicQueue2, 6,s: 7,712,840 msg/sec AtomicQueue2, 6,i: 7,511,942 msg/sec AtomicQueue2, 7,s: 7,104,956 msg/sec AtomicQueue2, 7,i: 7,878,837 msg/sec AtomicQueue2, 8,s: 6,382,486 msg/sec AtomicQueue2, 8,i: 7,333,418 msg/sec AtomicQueueB2, 1,s: 36,037,325 msg/sec AtomicQueueB2, 1,i: 36,101,059 msg/sec AtomicQueueB2, 2,s: 11,446,850 msg/sec AtomicQueueB2, 2,i: 11,096,990 msg/sec AtomicQueueB2, 3,s: 9,621,670 msg/sec AtomicQueueB2, 3,i: 9,566,730 msg/sec AtomicQueueB2, 4,s: 7,910,700 msg/sec AtomicQueueB2, 4,i: 7,864,440 msg/sec AtomicQueueB2, 5,s: 7,576,892 msg/sec AtomicQueueB2, 5,i: 7,665,943 msg/sec AtomicQueueB2, 6,s: 7,341,655 msg/sec AtomicQueueB2, 6,i: 7,465,042 msg/sec AtomicQueueB2, 7,s: 6,930,613 msg/sec AtomicQueueB2, 7,i: 7,712,928 msg/sec AtomicQueueB2, 8,s: 6,320,556 msg/sec AtomicQueueB2, 8,i: 7,082,434 msg/sec OptimistAtomicQueue2, 1,s: 499,034,555 msg/sec OptimistAtomicQueue2, 1,i: 31,860,827 msg/sec OptimistAtomicQueue2, 2,s: 24,882,366 msg/sec OptimistAtomicQueue2, 2,i: 24,010,384 msg/sec OptimistAtomicQueue2, 3,s: 30,315,096 msg/sec OptimistAtomicQueue2, 3,i: 29,953,346 msg/sec OptimistAtomicQueue2, 4,s: 33,186,162 msg/sec OptimistAtomicQueue2, 4,i: 33,140,714 msg/sec OptimistAtomicQueue2, 5,s: 37,349,059 msg/sec OptimistAtomicQueue2, 5,i: 39,948,855 msg/sec OptimistAtomicQueue2, 6,s: 40,228,562 msg/sec OptimistAtomicQueue2, 6,i: 49,427,745 msg/sec OptimistAtomicQueue2, 7,s: 42,956,257 msg/sec OptimistAtomicQueue2, 7,i: 51,816,018 msg/sec OptimistAtomicQueue2, 8,s: 43,884,634 msg/sec OptimistAtomicQueue2, 8,i: 48,441,612 msg/sec OptimistAtomicQueueB2, 1,s: 76,033,554 msg/sec OptimistAtomicQueueB2, 1,i: 33,915,270 msg/sec OptimistAtomicQueueB2, 2,s: 27,869,060 msg/sec OptimistAtomicQueueB2, 2,i: 23,114,349 msg/sec OptimistAtomicQueueB2, 3,s: 31,252,742 msg/sec OptimistAtomicQueueB2, 3,i: 29,165,613 msg/sec OptimistAtomicQueueB2, 4,s: 33,354,828 msg/sec OptimistAtomicQueueB2, 4,i: 32,995,770 msg/sec OptimistAtomicQueueB2, 5,s: 34,589,402 msg/sec OptimistAtomicQueueB2, 5,i: 39,284,029 msg/sec OptimistAtomicQueueB2, 6,s: 37,153,937 msg/sec OptimistAtomicQueueB2, 6,i: 42,422,556 msg/sec OptimistAtomicQueueB2, 7,s: 40,231,198 msg/sec OptimistAtomicQueueB2, 7,i: 45,313,617 msg/sec OptimistAtomicQueueB2, 8,s: 42,325,211 msg/sec OptimistAtomicQueueB2, 8,i: 45,598,570 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000287 sec/round-trip std::mutex: 0.000000452 sec/round-trip tbb::spin_mutex: 0.000000259 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [277] 115m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,941,712 msg/sec boost::lockfree::spsc_queue, 1,i: 68,145,553 msg/sec boost::lockfree::queue, 1,s: 6,894,814 msg/sec boost::lockfree::queue, 1,i: 6,921,724 msg/sec boost::lockfree::queue, 2,s: 7,754,721 msg/sec boost::lockfree::queue, 2,i: 7,571,775 msg/sec boost::lockfree::queue, 3,s: 7,399,408 msg/sec boost::lockfree::queue, 3,i: 7,574,915 msg/sec boost::lockfree::queue, 4,s: 6,416,472 msg/sec boost::lockfree::queue, 4,i: 6,715,586 msg/sec boost::lockfree::queue, 5,s: 6,407,047 msg/sec boost::lockfree::queue, 5,i: 6,557,053 msg/sec boost::lockfree::queue, 6,s: 5,993,746 msg/sec boost::lockfree::queue, 6,i: 6,091,574 msg/sec boost::lockfree::queue, 7,s: 5,789,630 msg/sec boost::lockfree::queue, 7,i: 5,986,524 msg/sec boost::lockfree::queue, 8,s: 5,417,257 msg/sec boost::lockfree::queue, 8,i: 5,594,677 msg/sec moodycamel::ReaderWriterQueue, 1,s: 87,800,415 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,393,664 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,892,416 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,042,887 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,495,748 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,369,195 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,761,322 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,656,122 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,299,784 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,685,386 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,233,494 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,380,198 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,510,244 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,020,344 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,182,666 msg/sec moodycamel::ConcurrentQueue, 7,i: 33,432,889 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,158,854 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,802,127 msg/sec pthread_spinlock, 1,s: 29,227,859 msg/sec pthread_spinlock, 1,i: 29,277,246 msg/sec pthread_spinlock, 2,s: 15,570,399 msg/sec pthread_spinlock, 2,i: 17,024,764 msg/sec pthread_spinlock, 3,s: 8,357,920 msg/sec pthread_spinlock, 3,i: 12,005,893 msg/sec pthread_spinlock, 4,s: 6,501,521 msg/sec pthread_spinlock, 4,i: 9,134,097 msg/sec pthread_spinlock, 5,s: 8,695,161 msg/sec pthread_spinlock, 5,i: 9,337,807 msg/sec pthread_spinlock, 6,s: 8,285,917 msg/sec pthread_spinlock, 6,i: 8,685,034 msg/sec pthread_spinlock, 7,s: 7,492,006 msg/sec pthread_spinlock, 7,i: 7,966,657 msg/sec pthread_spinlock, 8,s: 6,681,260 msg/sec pthread_spinlock, 8,i: 6,881,639 msg/sec std::mutex, 1,s: 6,251,746 msg/sec std::mutex, 1,i: 7,688,064 msg/sec std::mutex, 2,s: 5,856,100 msg/sec std::mutex, 2,i: 6,450,311 msg/sec std::mutex, 3,s: 6,008,574 msg/sec std::mutex, 3,i: 5,621,507 msg/sec std::mutex, 4,s: 5,190,445 msg/sec std::mutex, 4,i: 5,431,315 msg/sec std::mutex, 5,s: 5,685,154 msg/sec std::mutex, 5,i: 6,208,072 msg/sec std::mutex, 6,s: 5,976,587 msg/sec std::mutex, 6,i: 5,876,879 msg/sec std::mutex, 7,s: 5,794,097 msg/sec std::mutex, 7,i: 5,842,545 msg/sec std::mutex, 8,s: 5,708,229 msg/sec std::mutex, 8,i: 5,733,952 msg/sec tbb::spin_mutex, 1,s: 38,111,788 msg/sec tbb::spin_mutex, 1,i: 33,018,386 msg/sec tbb::spin_mutex, 2,s: 21,219,576 msg/sec tbb::spin_mutex, 2,i: 19,482,480 msg/sec tbb::spin_mutex, 3,s: 8,781,116 msg/sec tbb::spin_mutex, 3,i: 10,918,926 msg/sec tbb::spin_mutex, 4,s: 3,118,159 msg/sec tbb::spin_mutex, 4,i: 6,202,994 msg/sec tbb::spin_mutex, 5,s: 5,453,834 msg/sec tbb::spin_mutex, 5,i: 5,445,768 msg/sec tbb::spin_mutex, 6,s: 5,318,252 msg/sec tbb::spin_mutex, 6,i: 4,344,373 msg/sec tbb::spin_mutex, 7,s: 4,836,492 msg/sec tbb::spin_mutex, 7,i: 4,319,484 msg/sec tbb::spin_mutex, 8,s: 4,223,808 msg/sec tbb::spin_mutex, 8,i: 4,085,067 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,291,502 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,835,781 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,039,603 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,981,671 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,170,557 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,333,807 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,133,783 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,184,580 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,630,935 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,393,074 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,610,390 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,745,964 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,699,278 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,088,104 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,737,075 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,942,438 msg/sec xenium::michael_scott_queue, 1,s: 9,517,281 msg/sec xenium::michael_scott_queue, 1,i: 9,493,174 msg/sec xenium::michael_scott_queue, 2,s: 8,487,182 msg/sec xenium::michael_scott_queue, 2,i: 8,514,819 msg/sec xenium::michael_scott_queue, 3,s: 7,296,070 msg/sec xenium::michael_scott_queue, 3,i: 7,549,928 msg/sec xenium::michael_scott_queue, 4,s: 6,311,762 msg/sec xenium::michael_scott_queue, 4,i: 6,301,663 msg/sec xenium::michael_scott_queue, 5,s: 6,288,124 msg/sec xenium::michael_scott_queue, 5,i: 6,771,944 msg/sec xenium::michael_scott_queue, 6,s: 6,524,410 msg/sec xenium::michael_scott_queue, 6,i: 6,704,487 msg/sec xenium::michael_scott_queue, 7,s: 6,302,004 msg/sec xenium::michael_scott_queue, 7,i: 6,636,647 msg/sec xenium::michael_scott_queue, 8,s: 5,961,535 msg/sec xenium::michael_scott_queue, 8,i: 6,104,642 msg/sec xenium::ramalhete_queue, 1,s: 32,173,996 msg/sec xenium::ramalhete_queue, 1,i: 32,268,038 msg/sec xenium::ramalhete_queue, 2,s: 23,541,795 msg/sec xenium::ramalhete_queue, 2,i: 23,340,788 msg/sec xenium::ramalhete_queue, 3,s: 29,125,479 msg/sec xenium::ramalhete_queue, 3,i: 28,660,540 msg/sec xenium::ramalhete_queue, 4,s: 33,861,315 msg/sec xenium::ramalhete_queue, 4,i: 33,527,911 msg/sec xenium::ramalhete_queue, 5,s: 32,094,616 msg/sec xenium::ramalhete_queue, 5,i: 36,037,148 msg/sec xenium::ramalhete_queue, 6,s: 33,806,257 msg/sec xenium::ramalhete_queue, 6,i: 38,391,964 msg/sec xenium::ramalhete_queue, 7,s: 34,877,571 msg/sec xenium::ramalhete_queue, 7,i: 40,499,067 msg/sec xenium::ramalhete_queue, 8,s: 35,355,234 msg/sec xenium::ramalhete_queue, 8,i: 43,861,022 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,146,606 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,826,324 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,483,623 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,980,445 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,634,717 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,920,643 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,553,612 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,199,121 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,912,363 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,297,207 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,053,798 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,475,042 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,190,505 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,127,118 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,362,228 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,247,001 msg/sec AtomicQueue, 1,s: 57,396,000 msg/sec AtomicQueue, 1,i: 56,849,639 msg/sec AtomicQueue, 2,s: 12,372,605 msg/sec AtomicQueue, 2,i: 11,743,845 msg/sec AtomicQueue, 3,s: 10,736,021 msg/sec AtomicQueue, 3,i: 9,885,244 msg/sec AtomicQueue, 4,s: 8,170,898 msg/sec AtomicQueue, 4,i: 8,180,664 msg/sec AtomicQueue, 5,s: 8,028,812 msg/sec AtomicQueue, 5,i: 8,088,450 msg/sec AtomicQueue, 6,s: 7,680,104 msg/sec AtomicQueue, 6,i: 7,605,914 msg/sec AtomicQueue, 7,s: 7,151,104 msg/sec AtomicQueue, 7,i: 7,985,691 msg/sec AtomicQueue, 8,s: 6,315,884 msg/sec AtomicQueue, 8,i: 7,428,954 msg/sec AtomicQueueB, 1,s: 43,939,491 msg/sec AtomicQueueB, 1,i: 43,041,768 msg/sec AtomicQueueB, 2,s: 11,773,709 msg/sec AtomicQueueB, 2,i: 11,521,923 msg/sec AtomicQueueB, 3,s: 11,006,154 msg/sec AtomicQueueB, 3,i: 10,144,997 msg/sec AtomicQueueB, 4,s: 8,064,269 msg/sec AtomicQueueB, 4,i: 8,050,301 msg/sec AtomicQueueB, 5,s: 7,527,421 msg/sec AtomicQueueB, 5,i: 7,922,868 msg/sec AtomicQueueB, 6,s: 7,363,128 msg/sec AtomicQueueB, 6,i: 7,521,507 msg/sec AtomicQueueB, 7,s: 6,847,384 msg/sec AtomicQueueB, 7,i: 7,736,011 msg/sec AtomicQueueB, 8,s: 6,192,225 msg/sec AtomicQueueB, 8,i: 6,972,630 msg/sec OptimistAtomicQueue, 1,s: 740,692,458 msg/sec OptimistAtomicQueue, 1,i: 550,752,610 msg/sec OptimistAtomicQueue, 2,s: 32,643,133 msg/sec OptimistAtomicQueue, 2,i: 32,723,141 msg/sec OptimistAtomicQueue, 3,s: 36,659,327 msg/sec OptimistAtomicQueue, 3,i: 37,388,359 msg/sec OptimistAtomicQueue, 4,s: 39,298,327 msg/sec OptimistAtomicQueue, 4,i: 39,386,216 msg/sec OptimistAtomicQueue, 5,s: 41,818,205 msg/sec OptimistAtomicQueue, 5,i: 46,318,291 msg/sec OptimistAtomicQueue, 6,s: 42,252,418 msg/sec OptimistAtomicQueue, 6,i: 50,415,415 msg/sec OptimistAtomicQueue, 7,s: 43,996,702 msg/sec OptimistAtomicQueue, 7,i: 52,988,748 msg/sec OptimistAtomicQueue, 8,s: 46,243,287 msg/sec OptimistAtomicQueue, 8,i: 49,089,253 msg/sec OptimistAtomicQueueB, 1,s: 78,001,497 msg/sec OptimistAtomicQueueB, 1,i: 76,623,363 msg/sec OptimistAtomicQueueB, 2,s: 32,169,961 msg/sec OptimistAtomicQueueB, 2,i: 32,094,540 msg/sec OptimistAtomicQueueB, 3,s: 36,301,445 msg/sec OptimistAtomicQueueB, 3,i: 36,880,115 msg/sec OptimistAtomicQueueB, 4,s: 38,714,105 msg/sec OptimistAtomicQueueB, 4,i: 38,732,585 msg/sec OptimistAtomicQueueB, 5,s: 40,946,047 msg/sec OptimistAtomicQueueB, 5,i: 45,248,412 msg/sec OptimistAtomicQueueB, 6,s: 41,402,408 msg/sec OptimistAtomicQueueB, 6,i: 49,184,698 msg/sec OptimistAtomicQueueB, 7,s: 41,823,257 msg/sec OptimistAtomicQueueB, 7,i: 50,733,400 msg/sec OptimistAtomicQueueB, 8,s: 44,629,618 msg/sec OptimistAtomicQueueB, 8,i: 48,068,879 msg/sec AtomicQueue2, 1,s: 23,304,833 msg/sec AtomicQueue2, 1,i: 22,878,866 msg/sec AtomicQueue2, 2,s: 11,802,417 msg/sec AtomicQueue2, 2,i: 11,654,339 msg/sec AtomicQueue2, 3,s: 9,372,032 msg/sec AtomicQueue2, 3,i: 9,421,850 msg/sec AtomicQueue2, 4,s: 8,028,285 msg/sec AtomicQueue2, 4,i: 8,039,018 msg/sec AtomicQueue2, 5,s: 7,926,789 msg/sec AtomicQueue2, 5,i: 8,041,492 msg/sec AtomicQueue2, 6,s: 7,920,784 msg/sec AtomicQueue2, 6,i: 7,508,473 msg/sec AtomicQueue2, 7,s: 7,141,626 msg/sec AtomicQueue2, 7,i: 7,898,470 msg/sec AtomicQueue2, 8,s: 6,390,655 msg/sec AtomicQueue2, 8,i: 7,268,251 msg/sec AtomicQueueB2, 1,s: 33,454,330 msg/sec AtomicQueueB2, 1,i: 38,449,921 msg/sec AtomicQueueB2, 2,s: 11,329,905 msg/sec AtomicQueueB2, 2,i: 11,125,985 msg/sec AtomicQueueB2, 3,s: 9,560,221 msg/sec AtomicQueueB2, 3,i: 9,420,080 msg/sec AtomicQueueB2, 4,s: 7,907,075 msg/sec AtomicQueueB2, 4,i: 7,873,804 msg/sec AtomicQueueB2, 5,s: 7,567,517 msg/sec AtomicQueueB2, 5,i: 7,800,698 msg/sec AtomicQueueB2, 6,s: 7,304,324 msg/sec AtomicQueueB2, 6,i: 7,464,827 msg/sec AtomicQueueB2, 7,s: 6,896,849 msg/sec AtomicQueueB2, 7,i: 7,744,610 msg/sec AtomicQueueB2, 8,s: 6,282,356 msg/sec AtomicQueueB2, 8,i: 7,175,857 msg/sec OptimistAtomicQueue2, 1,s: 452,109,917 msg/sec OptimistAtomicQueue2, 1,i: 29,682,247 msg/sec OptimistAtomicQueue2, 2,s: 25,219,378 msg/sec OptimistAtomicQueue2, 2,i: 24,028,146 msg/sec OptimistAtomicQueue2, 3,s: 30,321,557 msg/sec OptimistAtomicQueue2, 3,i: 30,013,111 msg/sec OptimistAtomicQueue2, 4,s: 33,703,811 msg/sec OptimistAtomicQueue2, 4,i: 33,144,088 msg/sec OptimistAtomicQueue2, 5,s: 37,201,717 msg/sec OptimistAtomicQueue2, 5,i: 40,558,762 msg/sec OptimistAtomicQueue2, 6,s: 39,747,081 msg/sec OptimistAtomicQueue2, 6,i: 49,285,522 msg/sec OptimistAtomicQueue2, 7,s: 42,918,992 msg/sec OptimistAtomicQueue2, 7,i: 51,587,272 msg/sec OptimistAtomicQueue2, 8,s: 43,845,477 msg/sec OptimistAtomicQueue2, 8,i: 48,681,649 msg/sec OptimistAtomicQueueB2, 1,s: 77,112,888 msg/sec OptimistAtomicQueueB2, 1,i: 33,908,781 msg/sec OptimistAtomicQueueB2, 2,s: 26,783,342 msg/sec OptimistAtomicQueueB2, 2,i: 29,750,409 msg/sec OptimistAtomicQueueB2, 3,s: 29,716,278 msg/sec OptimistAtomicQueueB2, 3,i: 29,094,565 msg/sec OptimistAtomicQueueB2, 4,s: 33,221,290 msg/sec OptimistAtomicQueueB2, 4,i: 32,231,489 msg/sec OptimistAtomicQueueB2, 5,s: 34,582,919 msg/sec OptimistAtomicQueueB2, 5,i: 39,416,861 msg/sec OptimistAtomicQueueB2, 6,s: 37,730,002 msg/sec OptimistAtomicQueueB2, 6,i: 42,237,103 msg/sec OptimistAtomicQueueB2, 7,s: 40,148,389 msg/sec OptimistAtomicQueueB2, 7,i: 43,254,954 msg/sec OptimistAtomicQueueB2, 8,s: 42,406,737 msg/sec OptimistAtomicQueueB2, 8,i: 44,621,356 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000138 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000285 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000258 sec/round-trip xenium::vyukov_bounded_queue: 0.000000199 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [278] 114m:28s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,348,187 msg/sec boost::lockfree::spsc_queue, 1,i: 70,420,638 msg/sec boost::lockfree::queue, 1,s: 6,909,251 msg/sec boost::lockfree::queue, 1,i: 6,945,865 msg/sec boost::lockfree::queue, 2,s: 7,683,757 msg/sec boost::lockfree::queue, 2,i: 7,401,233 msg/sec boost::lockfree::queue, 3,s: 7,335,355 msg/sec boost::lockfree::queue, 3,i: 7,555,330 msg/sec boost::lockfree::queue, 4,s: 6,423,157 msg/sec boost::lockfree::queue, 4,i: 6,771,484 msg/sec boost::lockfree::queue, 5,s: 6,488,005 msg/sec boost::lockfree::queue, 5,i: 6,441,517 msg/sec boost::lockfree::queue, 6,s: 5,989,112 msg/sec boost::lockfree::queue, 6,i: 6,124,379 msg/sec boost::lockfree::queue, 7,s: 6,062,283 msg/sec boost::lockfree::queue, 7,i: 5,896,944 msg/sec boost::lockfree::queue, 8,s: 5,452,364 msg/sec boost::lockfree::queue, 8,i: 5,572,255 msg/sec moodycamel::ReaderWriterQueue, 1,s: 196,706,726 msg/sec moodycamel::ReaderWriterQueue, 1,i: 87,770,291 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,203,638 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,607,796 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,956,336 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,805,654 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,183,840 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,609,253 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,119,641 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,105,479 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,333,886 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,415,775 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,539,092 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,082,998 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,042,274 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,439,866 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,192,572 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,869,923 msg/sec pthread_spinlock, 1,s: 29,080,605 msg/sec pthread_spinlock, 1,i: 27,803,160 msg/sec pthread_spinlock, 2,s: 15,534,670 msg/sec pthread_spinlock, 2,i: 17,875,168 msg/sec pthread_spinlock, 3,s: 8,376,607 msg/sec pthread_spinlock, 3,i: 12,062,208 msg/sec pthread_spinlock, 4,s: 6,502,351 msg/sec pthread_spinlock, 4,i: 8,976,212 msg/sec pthread_spinlock, 5,s: 8,517,828 msg/sec pthread_spinlock, 5,i: 8,776,900 msg/sec pthread_spinlock, 6,s: 8,547,044 msg/sec pthread_spinlock, 6,i: 8,570,377 msg/sec pthread_spinlock, 7,s: 7,566,260 msg/sec pthread_spinlock, 7,i: 7,885,627 msg/sec pthread_spinlock, 8,s: 6,888,806 msg/sec pthread_spinlock, 8,i: 6,873,724 msg/sec std::mutex, 1,s: 6,566,041 msg/sec std::mutex, 1,i: 7,487,976 msg/sec std::mutex, 2,s: 5,975,811 msg/sec std::mutex, 2,i: 6,003,675 msg/sec std::mutex, 3,s: 5,955,509 msg/sec std::mutex, 3,i: 6,078,242 msg/sec std::mutex, 4,s: 6,181,519 msg/sec std::mutex, 4,i: 6,321,370 msg/sec std::mutex, 5,s: 6,044,166 msg/sec std::mutex, 5,i: 5,627,879 msg/sec std::mutex, 6,s: 5,988,782 msg/sec std::mutex, 6,i: 5,898,635 msg/sec std::mutex, 7,s: 5,871,135 msg/sec std::mutex, 7,i: 5,840,545 msg/sec std::mutex, 8,s: 5,804,483 msg/sec std::mutex, 8,i: 5,809,269 msg/sec tbb::spin_mutex, 1,s: 37,803,172 msg/sec tbb::spin_mutex, 1,i: 38,053,704 msg/sec tbb::spin_mutex, 2,s: 21,190,293 msg/sec tbb::spin_mutex, 2,i: 18,462,898 msg/sec tbb::spin_mutex, 3,s: 7,355,376 msg/sec tbb::spin_mutex, 3,i: 10,519,039 msg/sec tbb::spin_mutex, 4,s: 3,147,989 msg/sec tbb::spin_mutex, 4,i: 6,343,714 msg/sec tbb::spin_mutex, 5,s: 5,546,245 msg/sec tbb::spin_mutex, 5,i: 5,807,902 msg/sec tbb::spin_mutex, 6,s: 5,215,631 msg/sec tbb::spin_mutex, 6,i: 4,352,267 msg/sec tbb::spin_mutex, 7,s: 4,835,394 msg/sec tbb::spin_mutex, 7,i: 4,370,900 msg/sec tbb::spin_mutex, 8,s: 4,259,913 msg/sec tbb::spin_mutex, 8,i: 4,075,922 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,161,150 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,684,995 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,852,857 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,797,665 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,198,400 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,610,501 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,147,324 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,538,037 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,529,083 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,539,604 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,719,260 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,657,110 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,821,790 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,784,722 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,096,631 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,062,210 msg/sec xenium::michael_scott_queue, 1,s: 9,197,091 msg/sec xenium::michael_scott_queue, 1,i: 9,209,640 msg/sec xenium::michael_scott_queue, 2,s: 8,507,777 msg/sec xenium::michael_scott_queue, 2,i: 8,556,325 msg/sec xenium::michael_scott_queue, 3,s: 7,219,820 msg/sec xenium::michael_scott_queue, 3,i: 7,571,532 msg/sec xenium::michael_scott_queue, 4,s: 6,374,335 msg/sec xenium::michael_scott_queue, 4,i: 6,346,505 msg/sec xenium::michael_scott_queue, 5,s: 6,321,913 msg/sec xenium::michael_scott_queue, 5,i: 6,742,148 msg/sec xenium::michael_scott_queue, 6,s: 6,594,151 msg/sec xenium::michael_scott_queue, 6,i: 6,723,884 msg/sec xenium::michael_scott_queue, 7,s: 6,358,060 msg/sec xenium::michael_scott_queue, 7,i: 6,563,052 msg/sec xenium::michael_scott_queue, 8,s: 6,039,642 msg/sec xenium::michael_scott_queue, 8,i: 6,125,486 msg/sec xenium::ramalhete_queue, 1,s: 32,403,912 msg/sec xenium::ramalhete_queue, 1,i: 32,987,762 msg/sec xenium::ramalhete_queue, 2,s: 23,601,530 msg/sec xenium::ramalhete_queue, 2,i: 23,306,635 msg/sec xenium::ramalhete_queue, 3,s: 29,209,294 msg/sec xenium::ramalhete_queue, 3,i: 28,428,427 msg/sec xenium::ramalhete_queue, 4,s: 33,769,913 msg/sec xenium::ramalhete_queue, 4,i: 33,528,719 msg/sec xenium::ramalhete_queue, 5,s: 31,993,197 msg/sec xenium::ramalhete_queue, 5,i: 36,175,816 msg/sec xenium::ramalhete_queue, 6,s: 33,859,633 msg/sec xenium::ramalhete_queue, 6,i: 39,043,135 msg/sec xenium::ramalhete_queue, 7,s: 34,947,231 msg/sec xenium::ramalhete_queue, 7,i: 41,584,151 msg/sec xenium::ramalhete_queue, 8,s: 35,524,701 msg/sec xenium::ramalhete_queue, 8,i: 44,242,087 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,114,529 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,124,826 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,188,691 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,418,155 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,779,346 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,090,778 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,373,548 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,106,179 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,305,111 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,343,625 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,030,197 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,179,611 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,162,886 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,392,571 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,416,963 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,333,203 msg/sec AtomicQueue, 1,s: 59,182,784 msg/sec AtomicQueue, 1,i: 56,567,094 msg/sec AtomicQueue, 2,s: 12,282,032 msg/sec AtomicQueue, 2,i: 11,776,009 msg/sec AtomicQueue, 3,s: 10,733,706 msg/sec AtomicQueue, 3,i: 9,987,131 msg/sec AtomicQueue, 4,s: 8,220,200 msg/sec AtomicQueue, 4,i: 8,198,031 msg/sec AtomicQueue, 5,s: 8,016,600 msg/sec AtomicQueue, 5,i: 8,123,166 msg/sec AtomicQueue, 6,s: 7,849,182 msg/sec AtomicQueue, 6,i: 7,613,421 msg/sec AtomicQueue, 7,s: 7,068,734 msg/sec AtomicQueue, 7,i: 7,997,939 msg/sec AtomicQueue, 8,s: 6,353,061 msg/sec AtomicQueue, 8,i: 7,422,542 msg/sec AtomicQueueB, 1,s: 44,004,518 msg/sec AtomicQueueB, 1,i: 43,016,300 msg/sec AtomicQueueB, 2,s: 11,996,043 msg/sec AtomicQueueB, 2,i: 11,429,381 msg/sec AtomicQueueB, 3,s: 10,973,627 msg/sec AtomicQueueB, 3,i: 10,330,089 msg/sec AtomicQueueB, 4,s: 8,081,118 msg/sec AtomicQueueB, 4,i: 8,006,822 msg/sec AtomicQueueB, 5,s: 7,704,755 msg/sec AtomicQueueB, 5,i: 7,851,909 msg/sec AtomicQueueB, 6,s: 7,500,915 msg/sec AtomicQueueB, 6,i: 7,583,591 msg/sec AtomicQueueB, 7,s: 6,862,801 msg/sec AtomicQueueB, 7,i: 7,739,508 msg/sec AtomicQueueB, 8,s: 6,192,246 msg/sec AtomicQueueB, 8,i: 7,144,675 msg/sec OptimistAtomicQueue, 1,s: 722,870,968 msg/sec OptimistAtomicQueue, 1,i: 544,192,661 msg/sec OptimistAtomicQueue, 2,s: 32,176,257 msg/sec OptimistAtomicQueue, 2,i: 32,684,078 msg/sec OptimistAtomicQueue, 3,s: 36,667,543 msg/sec OptimistAtomicQueue, 3,i: 37,402,078 msg/sec OptimistAtomicQueue, 4,s: 39,288,958 msg/sec OptimistAtomicQueue, 4,i: 39,432,611 msg/sec OptimistAtomicQueue, 5,s: 42,370,421 msg/sec OptimistAtomicQueue, 5,i: 46,219,410 msg/sec OptimistAtomicQueue, 6,s: 42,265,140 msg/sec OptimistAtomicQueue, 6,i: 50,381,248 msg/sec OptimistAtomicQueue, 7,s: 45,119,912 msg/sec OptimistAtomicQueue, 7,i: 49,383,819 msg/sec OptimistAtomicQueue, 8,s: 46,384,671 msg/sec OptimistAtomicQueue, 8,i: 48,802,180 msg/sec OptimistAtomicQueueB, 1,s: 174,719,861 msg/sec OptimistAtomicQueueB, 1,i: 95,057,447 msg/sec OptimistAtomicQueueB, 2,s: 32,265,317 msg/sec OptimistAtomicQueueB, 2,i: 32,384,306 msg/sec OptimistAtomicQueueB, 3,s: 36,288,962 msg/sec OptimistAtomicQueueB, 3,i: 36,781,379 msg/sec OptimistAtomicQueueB, 4,s: 38,618,142 msg/sec OptimistAtomicQueueB, 4,i: 38,581,605 msg/sec OptimistAtomicQueueB, 5,s: 41,105,292 msg/sec OptimistAtomicQueueB, 5,i: 45,541,729 msg/sec OptimistAtomicQueueB, 6,s: 41,050,498 msg/sec OptimistAtomicQueueB, 6,i: 48,639,170 msg/sec OptimistAtomicQueueB, 7,s: 42,197,921 msg/sec OptimistAtomicQueueB, 7,i: 50,781,312 msg/sec OptimistAtomicQueueB, 8,s: 44,333,775 msg/sec OptimistAtomicQueueB, 8,i: 48,988,766 msg/sec AtomicQueue2, 1,s: 22,935,087 msg/sec AtomicQueue2, 1,i: 22,953,060 msg/sec AtomicQueue2, 2,s: 11,884,910 msg/sec AtomicQueue2, 2,i: 11,488,422 msg/sec AtomicQueue2, 3,s: 9,326,054 msg/sec AtomicQueue2, 3,i: 9,459,456 msg/sec AtomicQueue2, 4,s: 8,034,368 msg/sec AtomicQueue2, 4,i: 8,111,711 msg/sec AtomicQueue2, 5,s: 7,931,746 msg/sec AtomicQueue2, 5,i: 8,044,130 msg/sec AtomicQueue2, 6,s: 7,691,742 msg/sec AtomicQueue2, 6,i: 7,484,721 msg/sec AtomicQueue2, 7,s: 7,061,153 msg/sec AtomicQueue2, 7,i: 7,900,888 msg/sec AtomicQueue2, 8,s: 6,397,720 msg/sec AtomicQueue2, 8,i: 7,334,242 msg/sec AtomicQueueB2, 1,s: 36,260,631 msg/sec AtomicQueueB2, 1,i: 32,604,423 msg/sec AtomicQueueB2, 2,s: 11,374,243 msg/sec AtomicQueueB2, 2,i: 11,101,458 msg/sec AtomicQueueB2, 3,s: 9,562,902 msg/sec AtomicQueueB2, 3,i: 9,648,899 msg/sec AtomicQueueB2, 4,s: 7,976,181 msg/sec AtomicQueueB2, 4,i: 7,793,809 msg/sec AtomicQueueB2, 5,s: 7,445,734 msg/sec AtomicQueueB2, 5,i: 7,779,292 msg/sec AtomicQueueB2, 6,s: 7,263,538 msg/sec AtomicQueueB2, 6,i: 7,459,246 msg/sec AtomicQueueB2, 7,s: 6,931,074 msg/sec AtomicQueueB2, 7,i: 7,634,956 msg/sec AtomicQueueB2, 8,s: 6,276,729 msg/sec AtomicQueueB2, 8,i: 7,083,552 msg/sec OptimistAtomicQueue2, 1,s: 499,518,963 msg/sec OptimistAtomicQueue2, 1,i: 402,522,163 msg/sec OptimistAtomicQueue2, 2,s: 24,578,209 msg/sec OptimistAtomicQueue2, 2,i: 24,016,691 msg/sec OptimistAtomicQueue2, 3,s: 30,522,374 msg/sec OptimistAtomicQueue2, 3,i: 29,947,163 msg/sec OptimistAtomicQueue2, 4,s: 33,921,830 msg/sec OptimistAtomicQueue2, 4,i: 33,253,978 msg/sec OptimistAtomicQueue2, 5,s: 37,188,958 msg/sec OptimistAtomicQueue2, 5,i: 41,875,890 msg/sec OptimistAtomicQueue2, 6,s: 40,224,554 msg/sec OptimistAtomicQueue2, 6,i: 49,278,324 msg/sec OptimistAtomicQueue2, 7,s: 43,133,238 msg/sec OptimistAtomicQueue2, 7,i: 48,199,059 msg/sec OptimistAtomicQueue2, 8,s: 43,827,599 msg/sec OptimistAtomicQueue2, 8,i: 48,258,287 msg/sec OptimistAtomicQueueB2, 1,s: 77,861,191 msg/sec OptimistAtomicQueueB2, 1,i: 33,875,394 msg/sec OptimistAtomicQueueB2, 2,s: 29,392,952 msg/sec OptimistAtomicQueueB2, 2,i: 29,059,966 msg/sec OptimistAtomicQueueB2, 3,s: 30,403,041 msg/sec OptimistAtomicQueueB2, 3,i: 29,087,515 msg/sec OptimistAtomicQueueB2, 4,s: 33,175,546 msg/sec OptimistAtomicQueueB2, 4,i: 32,057,281 msg/sec OptimistAtomicQueueB2, 5,s: 34,518,243 msg/sec OptimistAtomicQueueB2, 5,i: 39,221,429 msg/sec OptimistAtomicQueueB2, 6,s: 37,321,442 msg/sec OptimistAtomicQueueB2, 6,i: 42,410,390 msg/sec OptimistAtomicQueueB2, 7,s: 40,067,895 msg/sec OptimistAtomicQueueB2, 7,i: 45,375,837 msg/sec OptimistAtomicQueueB2, 8,s: 42,481,998 msg/sec OptimistAtomicQueueB2, 8,i: 45,335,943 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000312 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000237 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000140 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [279] 113m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,830,821 msg/sec boost::lockfree::spsc_queue, 1,i: 71,151,779 msg/sec boost::lockfree::queue, 1,s: 6,944,831 msg/sec boost::lockfree::queue, 1,i: 6,985,311 msg/sec boost::lockfree::queue, 2,s: 7,621,309 msg/sec boost::lockfree::queue, 2,i: 7,384,743 msg/sec boost::lockfree::queue, 3,s: 7,419,498 msg/sec boost::lockfree::queue, 3,i: 7,602,806 msg/sec boost::lockfree::queue, 4,s: 6,418,208 msg/sec boost::lockfree::queue, 4,i: 6,896,194 msg/sec boost::lockfree::queue, 5,s: 6,454,776 msg/sec boost::lockfree::queue, 5,i: 6,649,875 msg/sec boost::lockfree::queue, 6,s: 6,096,525 msg/sec boost::lockfree::queue, 6,i: 6,128,451 msg/sec boost::lockfree::queue, 7,s: 5,807,221 msg/sec boost::lockfree::queue, 7,i: 5,936,481 msg/sec boost::lockfree::queue, 8,s: 5,482,291 msg/sec boost::lockfree::queue, 8,i: 5,525,856 msg/sec moodycamel::ReaderWriterQueue, 1,s: 336,744,073 msg/sec moodycamel::ReaderWriterQueue, 1,i: 83,563,755 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,951,274 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,848,263 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,362,773 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,127,855 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,231,822 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,509,235 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,373,529 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,221,402 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,365,638 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,870,862 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,534,642 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,000,441 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,999,976 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,894,332 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,110,662 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,773,955 msg/sec pthread_spinlock, 1,s: 29,009,084 msg/sec pthread_spinlock, 1,i: 25,358,931 msg/sec pthread_spinlock, 2,s: 15,487,353 msg/sec pthread_spinlock, 2,i: 16,996,621 msg/sec pthread_spinlock, 3,s: 8,308,500 msg/sec pthread_spinlock, 3,i: 12,154,709 msg/sec pthread_spinlock, 4,s: 6,493,330 msg/sec pthread_spinlock, 4,i: 9,143,568 msg/sec pthread_spinlock, 5,s: 8,629,119 msg/sec pthread_spinlock, 5,i: 10,454,716 msg/sec pthread_spinlock, 6,s: 8,428,749 msg/sec pthread_spinlock, 6,i: 8,466,575 msg/sec pthread_spinlock, 7,s: 7,574,751 msg/sec pthread_spinlock, 7,i: 7,645,994 msg/sec pthread_spinlock, 8,s: 6,757,732 msg/sec pthread_spinlock, 8,i: 7,300,556 msg/sec std::mutex, 1,s: 6,730,415 msg/sec std::mutex, 1,i: 6,615,705 msg/sec std::mutex, 2,s: 5,192,215 msg/sec std::mutex, 2,i: 5,352,579 msg/sec std::mutex, 3,s: 5,906,749 msg/sec std::mutex, 3,i: 6,018,246 msg/sec std::mutex, 4,s: 6,037,771 msg/sec std::mutex, 4,i: 6,137,802 msg/sec std::mutex, 5,s: 5,968,046 msg/sec std::mutex, 5,i: 5,813,880 msg/sec std::mutex, 6,s: 5,819,603 msg/sec std::mutex, 6,i: 5,934,654 msg/sec std::mutex, 7,s: 5,774,604 msg/sec std::mutex, 7,i: 5,742,516 msg/sec std::mutex, 8,s: 5,649,477 msg/sec std::mutex, 8,i: 5,653,356 msg/sec tbb::spin_mutex, 1,s: 37,831,539 msg/sec tbb::spin_mutex, 1,i: 32,967,398 msg/sec tbb::spin_mutex, 2,s: 21,048,381 msg/sec tbb::spin_mutex, 2,i: 18,296,225 msg/sec tbb::spin_mutex, 3,s: 8,320,064 msg/sec tbb::spin_mutex, 3,i: 10,712,834 msg/sec tbb::spin_mutex, 4,s: 3,178,331 msg/sec tbb::spin_mutex, 4,i: 6,270,137 msg/sec tbb::spin_mutex, 5,s: 5,577,326 msg/sec tbb::spin_mutex, 5,i: 5,815,060 msg/sec tbb::spin_mutex, 6,s: 5,323,771 msg/sec tbb::spin_mutex, 6,i: 4,328,843 msg/sec tbb::spin_mutex, 7,s: 4,860,900 msg/sec tbb::spin_mutex, 7,i: 4,306,590 msg/sec tbb::spin_mutex, 8,s: 4,255,846 msg/sec tbb::spin_mutex, 8,i: 4,078,391 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,744,504 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,309,282 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,138,058 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,490,031 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,626,314 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,658,778 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,572,566 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,591,463 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,866,275 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,663,933 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,929,818 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,668,322 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,885,859 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,812,200 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,787,366 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,490,014 msg/sec xenium::michael_scott_queue, 1,s: 9,421,252 msg/sec xenium::michael_scott_queue, 1,i: 9,427,749 msg/sec xenium::michael_scott_queue, 2,s: 8,439,299 msg/sec xenium::michael_scott_queue, 2,i: 8,625,571 msg/sec xenium::michael_scott_queue, 3,s: 7,245,607 msg/sec xenium::michael_scott_queue, 3,i: 7,553,212 msg/sec xenium::michael_scott_queue, 4,s: 6,232,498 msg/sec xenium::michael_scott_queue, 4,i: 6,343,205 msg/sec xenium::michael_scott_queue, 5,s: 6,310,842 msg/sec xenium::michael_scott_queue, 5,i: 6,754,962 msg/sec xenium::michael_scott_queue, 6,s: 6,477,327 msg/sec xenium::michael_scott_queue, 6,i: 6,988,730 msg/sec xenium::michael_scott_queue, 7,s: 6,324,872 msg/sec xenium::michael_scott_queue, 7,i: 6,450,390 msg/sec xenium::michael_scott_queue, 8,s: 5,970,940 msg/sec xenium::michael_scott_queue, 8,i: 6,066,387 msg/sec xenium::ramalhete_queue, 1,s: 32,492,396 msg/sec xenium::ramalhete_queue, 1,i: 32,506,636 msg/sec xenium::ramalhete_queue, 2,s: 23,570,982 msg/sec xenium::ramalhete_queue, 2,i: 23,313,194 msg/sec xenium::ramalhete_queue, 3,s: 29,161,124 msg/sec xenium::ramalhete_queue, 3,i: 28,423,774 msg/sec xenium::ramalhete_queue, 4,s: 33,879,044 msg/sec xenium::ramalhete_queue, 4,i: 33,428,226 msg/sec xenium::ramalhete_queue, 5,s: 32,307,845 msg/sec xenium::ramalhete_queue, 5,i: 38,418,620 msg/sec xenium::ramalhete_queue, 6,s: 33,980,484 msg/sec xenium::ramalhete_queue, 6,i: 39,619,035 msg/sec xenium::ramalhete_queue, 7,s: 34,869,827 msg/sec xenium::ramalhete_queue, 7,i: 41,019,543 msg/sec xenium::ramalhete_queue, 8,s: 35,454,129 msg/sec xenium::ramalhete_queue, 8,i: 43,968,213 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,868,788 msg/sec xenium::vyukov_bounded_queue, 1,i: 118,785,506 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,444,362 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,596,408 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,763,712 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,121,811 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,596,051 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,264,605 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,040,910 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,334,700 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,110,902 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,291,623 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,263,433 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,242,641 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,370,202 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,336,999 msg/sec AtomicQueue, 1,s: 60,733,224 msg/sec AtomicQueue, 1,i: 56,781,245 msg/sec AtomicQueue, 2,s: 12,246,262 msg/sec AtomicQueue, 2,i: 11,732,119 msg/sec AtomicQueue, 3,s: 10,799,062 msg/sec AtomicQueue, 3,i: 9,900,770 msg/sec AtomicQueue, 4,s: 8,201,788 msg/sec AtomicQueue, 4,i: 8,212,883 msg/sec AtomicQueue, 5,s: 8,042,162 msg/sec AtomicQueue, 5,i: 8,042,809 msg/sec AtomicQueue, 6,s: 7,899,997 msg/sec AtomicQueue, 6,i: 7,596,742 msg/sec AtomicQueue, 7,s: 7,121,635 msg/sec AtomicQueue, 7,i: 7,974,157 msg/sec AtomicQueue, 8,s: 6,352,879 msg/sec AtomicQueue, 8,i: 7,429,854 msg/sec AtomicQueueB, 1,s: 45,000,481 msg/sec AtomicQueueB, 1,i: 43,997,480 msg/sec AtomicQueueB, 2,s: 11,902,498 msg/sec AtomicQueueB, 2,i: 11,453,128 msg/sec AtomicQueueB, 3,s: 11,046,168 msg/sec AtomicQueueB, 3,i: 10,097,520 msg/sec AtomicQueueB, 4,s: 8,097,131 msg/sec AtomicQueueB, 4,i: 8,013,021 msg/sec AtomicQueueB, 5,s: 7,537,721 msg/sec AtomicQueueB, 5,i: 7,734,320 msg/sec AtomicQueueB, 6,s: 7,291,718 msg/sec AtomicQueueB, 6,i: 7,568,850 msg/sec AtomicQueueB, 7,s: 6,900,650 msg/sec AtomicQueueB, 7,i: 7,738,709 msg/sec AtomicQueueB, 8,s: 6,329,728 msg/sec AtomicQueueB, 8,i: 7,194,646 msg/sec OptimistAtomicQueue, 1,s: 765,393,937 msg/sec OptimistAtomicQueue, 1,i: 598,320,335 msg/sec OptimistAtomicQueue, 2,s: 32,654,347 msg/sec OptimistAtomicQueue, 2,i: 32,478,325 msg/sec OptimistAtomicQueue, 3,s: 36,664,674 msg/sec OptimistAtomicQueue, 3,i: 37,397,957 msg/sec OptimistAtomicQueue, 4,s: 39,291,692 msg/sec OptimistAtomicQueue, 4,i: 39,421,223 msg/sec OptimistAtomicQueue, 5,s: 42,492,137 msg/sec OptimistAtomicQueue, 5,i: 46,408,340 msg/sec OptimistAtomicQueue, 6,s: 42,469,433 msg/sec OptimistAtomicQueue, 6,i: 50,323,089 msg/sec OptimistAtomicQueue, 7,s: 44,164,215 msg/sec OptimistAtomicQueue, 7,i: 51,972,739 msg/sec OptimistAtomicQueue, 8,s: 46,326,473 msg/sec OptimistAtomicQueue, 8,i: 48,900,234 msg/sec OptimistAtomicQueueB, 1,s: 77,820,702 msg/sec OptimistAtomicQueueB, 1,i: 163,368,161 msg/sec OptimistAtomicQueueB, 2,s: 32,187,471 msg/sec OptimistAtomicQueueB, 2,i: 32,249,678 msg/sec OptimistAtomicQueueB, 3,s: 36,248,470 msg/sec OptimistAtomicQueueB, 3,i: 36,796,223 msg/sec OptimistAtomicQueueB, 4,s: 38,709,873 msg/sec OptimistAtomicQueueB, 4,i: 38,719,214 msg/sec OptimistAtomicQueueB, 5,s: 39,025,529 msg/sec OptimistAtomicQueueB, 5,i: 45,945,354 msg/sec OptimistAtomicQueueB, 6,s: 40,729,931 msg/sec OptimistAtomicQueueB, 6,i: 48,959,805 msg/sec OptimistAtomicQueueB, 7,s: 42,345,845 msg/sec OptimistAtomicQueueB, 7,i: 48,202,369 msg/sec OptimistAtomicQueueB, 8,s: 44,213,155 msg/sec OptimistAtomicQueueB, 8,i: 47,687,100 msg/sec AtomicQueue2, 1,s: 22,860,382 msg/sec AtomicQueue2, 1,i: 22,843,468 msg/sec AtomicQueue2, 2,s: 11,713,392 msg/sec AtomicQueue2, 2,i: 11,383,429 msg/sec AtomicQueue2, 3,s: 9,563,296 msg/sec AtomicQueue2, 3,i: 9,561,092 msg/sec AtomicQueue2, 4,s: 8,089,884 msg/sec AtomicQueue2, 4,i: 8,060,298 msg/sec AtomicQueue2, 5,s: 7,919,790 msg/sec AtomicQueue2, 5,i: 8,043,812 msg/sec AtomicQueue2, 6,s: 7,846,029 msg/sec AtomicQueue2, 6,i: 7,573,499 msg/sec AtomicQueue2, 7,s: 7,146,250 msg/sec AtomicQueue2, 7,i: 7,908,913 msg/sec AtomicQueue2, 8,s: 6,374,889 msg/sec AtomicQueue2, 8,i: 7,363,957 msg/sec AtomicQueueB2, 1,s: 36,176,259 msg/sec AtomicQueueB2, 1,i: 32,624,549 msg/sec AtomicQueueB2, 2,s: 11,412,062 msg/sec AtomicQueueB2, 2,i: 11,030,041 msg/sec AtomicQueueB2, 3,s: 9,664,755 msg/sec AtomicQueueB2, 3,i: 9,536,185 msg/sec AtomicQueueB2, 4,s: 7,933,530 msg/sec AtomicQueueB2, 4,i: 7,806,241 msg/sec AtomicQueueB2, 5,s: 7,455,680 msg/sec AtomicQueueB2, 5,i: 7,751,687 msg/sec AtomicQueueB2, 6,s: 7,305,039 msg/sec AtomicQueueB2, 6,i: 7,458,096 msg/sec AtomicQueueB2, 7,s: 6,903,549 msg/sec AtomicQueueB2, 7,i: 7,689,394 msg/sec AtomicQueueB2, 8,s: 6,281,556 msg/sec AtomicQueueB2, 8,i: 7,083,798 msg/sec OptimistAtomicQueue2, 1,s: 509,774,349 msg/sec OptimistAtomicQueue2, 1,i: 29,926,443 msg/sec OptimistAtomicQueue2, 2,s: 26,264,793 msg/sec OptimistAtomicQueue2, 2,i: 24,024,242 msg/sec OptimistAtomicQueue2, 3,s: 30,321,402 msg/sec OptimistAtomicQueue2, 3,i: 30,026,557 msg/sec OptimistAtomicQueue2, 4,s: 33,284,593 msg/sec OptimistAtomicQueue2, 4,i: 32,979,602 msg/sec OptimistAtomicQueue2, 5,s: 37,179,462 msg/sec OptimistAtomicQueue2, 5,i: 40,751,277 msg/sec OptimistAtomicQueue2, 6,s: 40,116,047 msg/sec OptimistAtomicQueue2, 6,i: 49,284,699 msg/sec OptimistAtomicQueue2, 7,s: 43,221,852 msg/sec OptimistAtomicQueue2, 7,i: 51,575,947 msg/sec OptimistAtomicQueue2, 8,s: 44,374,136 msg/sec OptimistAtomicQueue2, 8,i: 48,391,597 msg/sec OptimistAtomicQueueB2, 1,s: 76,708,682 msg/sec OptimistAtomicQueueB2, 1,i: 33,922,294 msg/sec OptimistAtomicQueueB2, 2,s: 26,822,845 msg/sec OptimistAtomicQueueB2, 2,i: 24,633,873 msg/sec OptimistAtomicQueueB2, 3,s: 29,701,979 msg/sec OptimistAtomicQueueB2, 3,i: 29,114,558 msg/sec OptimistAtomicQueueB2, 4,s: 33,002,821 msg/sec OptimistAtomicQueueB2, 4,i: 33,077,992 msg/sec OptimistAtomicQueueB2, 5,s: 34,645,752 msg/sec OptimistAtomicQueueB2, 5,i: 39,229,696 msg/sec OptimistAtomicQueueB2, 6,s: 37,156,494 msg/sec OptimistAtomicQueueB2, 6,i: 42,577,143 msg/sec OptimistAtomicQueueB2, 7,s: 40,153,535 msg/sec OptimistAtomicQueueB2, 7,i: 45,327,546 msg/sec OptimistAtomicQueueB2, 8,s: 42,042,253 msg/sec OptimistAtomicQueueB2, 8,i: 46,035,431 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000273 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000279 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [280] 111m:49s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,469,727 msg/sec boost::lockfree::spsc_queue, 1,i: 69,068,426 msg/sec boost::lockfree::queue, 1,s: 6,800,843 msg/sec boost::lockfree::queue, 1,i: 6,855,593 msg/sec boost::lockfree::queue, 2,s: 7,759,360 msg/sec boost::lockfree::queue, 2,i: 7,479,428 msg/sec boost::lockfree::queue, 3,s: 7,407,700 msg/sec boost::lockfree::queue, 3,i: 7,503,997 msg/sec boost::lockfree::queue, 4,s: 6,427,857 msg/sec boost::lockfree::queue, 4,i: 6,804,824 msg/sec boost::lockfree::queue, 5,s: 6,493,450 msg/sec boost::lockfree::queue, 5,i: 6,445,920 msg/sec boost::lockfree::queue, 6,s: 5,967,020 msg/sec boost::lockfree::queue, 6,i: 6,101,615 msg/sec boost::lockfree::queue, 7,s: 5,878,800 msg/sec boost::lockfree::queue, 7,i: 6,019,947 msg/sec boost::lockfree::queue, 8,s: 5,468,561 msg/sec boost::lockfree::queue, 8,i: 5,599,358 msg/sec moodycamel::ReaderWriterQueue, 1,s: 58,135,100 msg/sec moodycamel::ReaderWriterQueue, 1,i: 53,558,823 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,362,855 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,660,040 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,167,839 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,941,163 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,663,477 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,967,683 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,455,268 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,195,374 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,383,121 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,796,746 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,521,653 msg/sec moodycamel::ConcurrentQueue, 6,i: 21,110,539 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,208,151 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,673,779 msg/sec moodycamel::ConcurrentQueue, 8,s: 50,719,418 msg/sec moodycamel::ConcurrentQueue, 8,i: 22,029,366 msg/sec pthread_spinlock, 1,s: 28,930,332 msg/sec pthread_spinlock, 1,i: 29,023,575 msg/sec pthread_spinlock, 2,s: 15,978,605 msg/sec pthread_spinlock, 2,i: 16,908,260 msg/sec pthread_spinlock, 3,s: 8,382,714 msg/sec pthread_spinlock, 3,i: 12,056,626 msg/sec pthread_spinlock, 4,s: 6,478,188 msg/sec pthread_spinlock, 4,i: 8,819,886 msg/sec pthread_spinlock, 5,s: 8,712,268 msg/sec pthread_spinlock, 5,i: 9,127,116 msg/sec pthread_spinlock, 6,s: 8,582,858 msg/sec pthread_spinlock, 6,i: 8,516,291 msg/sec pthread_spinlock, 7,s: 7,967,049 msg/sec pthread_spinlock, 7,i: 7,640,349 msg/sec pthread_spinlock, 8,s: 6,845,815 msg/sec pthread_spinlock, 8,i: 6,910,964 msg/sec std::mutex, 1,s: 6,745,112 msg/sec std::mutex, 1,i: 6,948,236 msg/sec std::mutex, 2,s: 5,548,825 msg/sec std::mutex, 2,i: 5,932,451 msg/sec std::mutex, 3,s: 5,263,049 msg/sec std::mutex, 3,i: 6,040,401 msg/sec std::mutex, 4,s: 6,248,644 msg/sec std::mutex, 4,i: 6,236,209 msg/sec std::mutex, 5,s: 5,990,088 msg/sec std::mutex, 5,i: 5,822,337 msg/sec std::mutex, 6,s: 5,854,817 msg/sec std::mutex, 6,i: 5,884,843 msg/sec std::mutex, 7,s: 5,780,267 msg/sec std::mutex, 7,i: 5,816,473 msg/sec std::mutex, 8,s: 5,693,495 msg/sec std::mutex, 8,i: 5,717,726 msg/sec tbb::spin_mutex, 1,s: 37,698,027 msg/sec tbb::spin_mutex, 1,i: 33,009,134 msg/sec tbb::spin_mutex, 2,s: 21,293,279 msg/sec tbb::spin_mutex, 2,i: 18,443,112 msg/sec tbb::spin_mutex, 3,s: 7,467,297 msg/sec tbb::spin_mutex, 3,i: 11,034,836 msg/sec tbb::spin_mutex, 4,s: 3,086,967 msg/sec tbb::spin_mutex, 4,i: 6,212,274 msg/sec tbb::spin_mutex, 5,s: 5,392,352 msg/sec tbb::spin_mutex, 5,i: 5,687,470 msg/sec tbb::spin_mutex, 6,s: 5,279,068 msg/sec tbb::spin_mutex, 6,i: 4,364,579 msg/sec tbb::spin_mutex, 7,s: 4,830,384 msg/sec tbb::spin_mutex, 7,i: 4,322,207 msg/sec tbb::spin_mutex, 8,s: 4,250,530 msg/sec tbb::spin_mutex, 8,i: 4,213,589 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,912,622 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,685,017 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,849,713 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,786,446 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,222,574 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,660,260 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,328,822 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,199,852 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,672,144 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,186,732 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,953,629 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,486,341 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,983,397 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,625,819 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,062,987 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,684,189 msg/sec xenium::michael_scott_queue, 1,s: 9,165,023 msg/sec xenium::michael_scott_queue, 1,i: 9,174,695 msg/sec xenium::michael_scott_queue, 2,s: 8,453,590 msg/sec xenium::michael_scott_queue, 2,i: 8,472,094 msg/sec xenium::michael_scott_queue, 3,s: 7,301,905 msg/sec xenium::michael_scott_queue, 3,i: 7,659,849 msg/sec xenium::michael_scott_queue, 4,s: 6,311,325 msg/sec xenium::michael_scott_queue, 4,i: 6,373,418 msg/sec xenium::michael_scott_queue, 5,s: 6,295,659 msg/sec xenium::michael_scott_queue, 5,i: 6,678,810 msg/sec xenium::michael_scott_queue, 6,s: 6,537,391 msg/sec xenium::michael_scott_queue, 6,i: 7,088,929 msg/sec xenium::michael_scott_queue, 7,s: 6,381,303 msg/sec xenium::michael_scott_queue, 7,i: 6,555,304 msg/sec xenium::michael_scott_queue, 8,s: 5,944,902 msg/sec xenium::michael_scott_queue, 8,i: 6,294,841 msg/sec xenium::ramalhete_queue, 1,s: 30,605,699 msg/sec xenium::ramalhete_queue, 1,i: 31,791,091 msg/sec xenium::ramalhete_queue, 2,s: 23,530,922 msg/sec xenium::ramalhete_queue, 2,i: 23,333,991 msg/sec xenium::ramalhete_queue, 3,s: 29,123,804 msg/sec xenium::ramalhete_queue, 3,i: 28,494,407 msg/sec xenium::ramalhete_queue, 4,s: 33,876,375 msg/sec xenium::ramalhete_queue, 4,i: 33,446,731 msg/sec xenium::ramalhete_queue, 5,s: 32,143,293 msg/sec xenium::ramalhete_queue, 5,i: 35,962,374 msg/sec xenium::ramalhete_queue, 6,s: 33,939,178 msg/sec xenium::ramalhete_queue, 6,i: 39,405,672 msg/sec xenium::ramalhete_queue, 7,s: 35,210,778 msg/sec xenium::ramalhete_queue, 7,i: 41,866,840 msg/sec xenium::ramalhete_queue, 8,s: 35,467,156 msg/sec xenium::ramalhete_queue, 8,i: 44,676,898 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,177,071 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,921,959 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,668,007 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,083,047 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,576,089 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,859,799 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,574,199 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,247,222 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,983,013 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,340,454 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,939,268 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,572,927 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,212,642 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,922,086 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,407,102 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,232,510 msg/sec AtomicQueue, 1,s: 59,382,020 msg/sec AtomicQueue, 1,i: 56,692,389 msg/sec AtomicQueue, 2,s: 12,299,825 msg/sec AtomicQueue, 2,i: 11,761,912 msg/sec AtomicQueue, 3,s: 10,816,162 msg/sec AtomicQueue, 3,i: 9,955,009 msg/sec AtomicQueue, 4,s: 8,147,813 msg/sec AtomicQueue, 4,i: 8,192,896 msg/sec AtomicQueue, 5,s: 7,975,839 msg/sec AtomicQueue, 5,i: 8,130,449 msg/sec AtomicQueue, 6,s: 7,847,192 msg/sec AtomicQueue, 6,i: 7,618,537 msg/sec AtomicQueue, 7,s: 7,150,385 msg/sec AtomicQueue, 7,i: 7,959,097 msg/sec AtomicQueue, 8,s: 6,349,972 msg/sec AtomicQueue, 8,i: 7,442,269 msg/sec AtomicQueueB, 1,s: 43,336,007 msg/sec AtomicQueueB, 1,i: 48,475,119 msg/sec AtomicQueueB, 2,s: 11,720,819 msg/sec AtomicQueueB, 2,i: 11,494,549 msg/sec AtomicQueueB, 3,s: 11,052,195 msg/sec AtomicQueueB, 3,i: 10,146,784 msg/sec AtomicQueueB, 4,s: 8,101,234 msg/sec AtomicQueueB, 4,i: 8,001,231 msg/sec AtomicQueueB, 5,s: 7,704,997 msg/sec AtomicQueueB, 5,i: 7,775,363 msg/sec AtomicQueueB, 6,s: 7,430,112 msg/sec AtomicQueueB, 6,i: 7,577,272 msg/sec AtomicQueueB, 7,s: 6,861,946 msg/sec AtomicQueueB, 7,i: 7,712,979 msg/sec AtomicQueueB, 8,s: 6,238,243 msg/sec AtomicQueueB, 8,i: 7,163,992 msg/sec OptimistAtomicQueue, 1,s: 754,074,452 msg/sec OptimistAtomicQueue, 1,i: 526,721,364 msg/sec OptimistAtomicQueue, 2,s: 32,117,097 msg/sec OptimistAtomicQueue, 2,i: 32,195,147 msg/sec OptimistAtomicQueue, 3,s: 36,585,566 msg/sec OptimistAtomicQueue, 3,i: 37,316,797 msg/sec OptimistAtomicQueue, 4,s: 39,281,630 msg/sec OptimistAtomicQueue, 4,i: 39,389,574 msg/sec OptimistAtomicQueue, 5,s: 42,519,143 msg/sec OptimistAtomicQueue, 5,i: 46,410,137 msg/sec OptimistAtomicQueue, 6,s: 42,590,270 msg/sec OptimistAtomicQueue, 6,i: 50,269,016 msg/sec OptimistAtomicQueue, 7,s: 45,164,008 msg/sec OptimistAtomicQueue, 7,i: 49,403,744 msg/sec OptimistAtomicQueue, 8,s: 46,386,443 msg/sec OptimistAtomicQueue, 8,i: 50,220,366 msg/sec OptimistAtomicQueueB, 1,s: 98,941,298 msg/sec OptimistAtomicQueueB, 1,i: 76,486,632 msg/sec OptimistAtomicQueueB, 2,s: 32,121,179 msg/sec OptimistAtomicQueueB, 2,i: 31,903,755 msg/sec OptimistAtomicQueueB, 3,s: 36,075,062 msg/sec OptimistAtomicQueueB, 3,i: 36,771,778 msg/sec OptimistAtomicQueueB, 4,s: 38,525,822 msg/sec OptimistAtomicQueueB, 4,i: 38,584,322 msg/sec OptimistAtomicQueueB, 5,s: 41,150,016 msg/sec OptimistAtomicQueueB, 5,i: 46,092,950 msg/sec OptimistAtomicQueueB, 6,s: 41,581,031 msg/sec OptimistAtomicQueueB, 6,i: 48,614,061 msg/sec OptimistAtomicQueueB, 7,s: 41,751,353 msg/sec OptimistAtomicQueueB, 7,i: 51,514,070 msg/sec OptimistAtomicQueueB, 8,s: 44,345,985 msg/sec OptimistAtomicQueueB, 8,i: 48,065,385 msg/sec AtomicQueue2, 1,s: 22,954,135 msg/sec AtomicQueue2, 1,i: 22,896,793 msg/sec AtomicQueue2, 2,s: 11,821,132 msg/sec AtomicQueue2, 2,i: 11,384,531 msg/sec AtomicQueue2, 3,s: 9,426,668 msg/sec AtomicQueue2, 3,i: 9,494,107 msg/sec AtomicQueue2, 4,s: 8,009,367 msg/sec AtomicQueue2, 4,i: 8,070,547 msg/sec AtomicQueue2, 5,s: 7,946,099 msg/sec AtomicQueue2, 5,i: 7,913,207 msg/sec AtomicQueue2, 6,s: 7,819,239 msg/sec AtomicQueue2, 6,i: 7,534,753 msg/sec AtomicQueue2, 7,s: 7,142,047 msg/sec AtomicQueue2, 7,i: 7,871,240 msg/sec AtomicQueue2, 8,s: 6,393,910 msg/sec AtomicQueue2, 8,i: 7,355,319 msg/sec AtomicQueueB2, 1,s: 36,141,201 msg/sec AtomicQueueB2, 1,i: 32,575,191 msg/sec AtomicQueueB2, 2,s: 11,418,387 msg/sec AtomicQueueB2, 2,i: 11,178,072 msg/sec AtomicQueueB2, 3,s: 9,578,498 msg/sec AtomicQueueB2, 3,i: 9,479,757 msg/sec AtomicQueueB2, 4,s: 7,954,656 msg/sec AtomicQueueB2, 4,i: 7,812,466 msg/sec AtomicQueueB2, 5,s: 7,517,732 msg/sec AtomicQueueB2, 5,i: 7,715,589 msg/sec AtomicQueueB2, 6,s: 7,212,313 msg/sec AtomicQueueB2, 6,i: 7,384,769 msg/sec AtomicQueueB2, 7,s: 6,922,612 msg/sec AtomicQueueB2, 7,i: 7,649,112 msg/sec AtomicQueueB2, 8,s: 6,258,877 msg/sec AtomicQueueB2, 8,i: 7,072,242 msg/sec OptimistAtomicQueue2, 1,s: 425,715,561 msg/sec OptimistAtomicQueue2, 1,i: 29,483,783 msg/sec OptimistAtomicQueue2, 2,s: 24,432,152 msg/sec OptimistAtomicQueue2, 2,i: 24,019,962 msg/sec OptimistAtomicQueue2, 3,s: 30,315,002 msg/sec OptimistAtomicQueue2, 3,i: 29,965,114 msg/sec OptimistAtomicQueue2, 4,s: 33,222,477 msg/sec OptimistAtomicQueue2, 4,i: 32,951,478 msg/sec OptimistAtomicQueue2, 5,s: 37,188,172 msg/sec OptimistAtomicQueue2, 5,i: 40,554,815 msg/sec OptimistAtomicQueue2, 6,s: 40,039,931 msg/sec OptimistAtomicQueue2, 6,i: 49,138,713 msg/sec OptimistAtomicQueue2, 7,s: 42,706,044 msg/sec OptimistAtomicQueue2, 7,i: 48,065,186 msg/sec OptimistAtomicQueue2, 8,s: 43,828,563 msg/sec OptimistAtomicQueue2, 8,i: 48,602,075 msg/sec OptimistAtomicQueueB2, 1,s: 78,747,368 msg/sec OptimistAtomicQueueB2, 1,i: 62,525,231 msg/sec OptimistAtomicQueueB2, 2,s: 28,782,516 msg/sec OptimistAtomicQueueB2, 2,i: 23,139,205 msg/sec OptimistAtomicQueueB2, 3,s: 29,639,319 msg/sec OptimistAtomicQueueB2, 3,i: 29,061,599 msg/sec OptimistAtomicQueueB2, 4,s: 33,227,813 msg/sec OptimistAtomicQueueB2, 4,i: 32,029,309 msg/sec OptimistAtomicQueueB2, 5,s: 34,436,135 msg/sec OptimistAtomicQueueB2, 5,i: 39,988,889 msg/sec OptimistAtomicQueueB2, 6,s: 37,627,157 msg/sec OptimistAtomicQueueB2, 6,i: 42,268,847 msg/sec OptimistAtomicQueueB2, 7,s: 40,769,136 msg/sec OptimistAtomicQueueB2, 7,i: 43,289,530 msg/sec OptimistAtomicQueueB2, 8,s: 42,082,056 msg/sec OptimistAtomicQueueB2, 8,i: 46,038,884 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000130 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000290 sec/round-trip std::mutex: 0.000000520 sec/round-trip tbb::spin_mutex: 0.000000308 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000393 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000172 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [281] 110m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,067,792 msg/sec boost::lockfree::spsc_queue, 1,i: 68,464,283 msg/sec boost::lockfree::queue, 1,s: 6,818,027 msg/sec boost::lockfree::queue, 1,i: 6,874,337 msg/sec boost::lockfree::queue, 2,s: 7,620,848 msg/sec boost::lockfree::queue, 2,i: 7,433,571 msg/sec boost::lockfree::queue, 3,s: 7,341,266 msg/sec boost::lockfree::queue, 3,i: 7,549,437 msg/sec boost::lockfree::queue, 4,s: 6,414,807 msg/sec boost::lockfree::queue, 4,i: 6,857,030 msg/sec boost::lockfree::queue, 5,s: 6,451,865 msg/sec boost::lockfree::queue, 5,i: 6,448,072 msg/sec boost::lockfree::queue, 6,s: 5,943,345 msg/sec boost::lockfree::queue, 6,i: 6,091,970 msg/sec boost::lockfree::queue, 7,s: 5,888,290 msg/sec boost::lockfree::queue, 7,i: 6,026,668 msg/sec boost::lockfree::queue, 8,s: 5,418,199 msg/sec boost::lockfree::queue, 8,i: 5,677,463 msg/sec moodycamel::ReaderWriterQueue, 1,s: 50,497,822 msg/sec moodycamel::ReaderWriterQueue, 1,i: 46,461,594 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,617,972 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,519,445 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,598,976 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,615,125 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,674,380 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,713,453 msg/sec moodycamel::ConcurrentQueue, 4,s: 15,987,809 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,862,118 msg/sec moodycamel::ConcurrentQueue, 5,s: 44,155,096 msg/sec moodycamel::ConcurrentQueue, 5,i: 43,873,474 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,504,848 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,666,470 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,044,405 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,504,822 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,179,539 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,184,529 msg/sec pthread_spinlock, 1,s: 28,865,025 msg/sec pthread_spinlock, 1,i: 25,437,792 msg/sec pthread_spinlock, 2,s: 15,550,666 msg/sec pthread_spinlock, 2,i: 17,009,828 msg/sec pthread_spinlock, 3,s: 8,389,767 msg/sec pthread_spinlock, 3,i: 12,014,848 msg/sec pthread_spinlock, 4,s: 6,559,010 msg/sec pthread_spinlock, 4,i: 9,169,095 msg/sec pthread_spinlock, 5,s: 8,680,110 msg/sec pthread_spinlock, 5,i: 9,336,231 msg/sec pthread_spinlock, 6,s: 8,316,413 msg/sec pthread_spinlock, 6,i: 8,984,042 msg/sec pthread_spinlock, 7,s: 7,572,750 msg/sec pthread_spinlock, 7,i: 7,654,736 msg/sec pthread_spinlock, 8,s: 6,685,879 msg/sec pthread_spinlock, 8,i: 6,990,637 msg/sec std::mutex, 1,s: 6,332,399 msg/sec std::mutex, 1,i: 6,261,292 msg/sec std::mutex, 2,s: 5,493,163 msg/sec std::mutex, 2,i: 5,485,059 msg/sec std::mutex, 3,s: 5,074,510 msg/sec std::mutex, 3,i: 4,819,796 msg/sec std::mutex, 4,s: 6,275,659 msg/sec std::mutex, 4,i: 6,373,920 msg/sec std::mutex, 5,s: 6,132,356 msg/sec std::mutex, 5,i: 6,097,478 msg/sec std::mutex, 6,s: 6,026,976 msg/sec std::mutex, 6,i: 6,053,159 msg/sec std::mutex, 7,s: 5,939,342 msg/sec std::mutex, 7,i: 5,890,884 msg/sec std::mutex, 8,s: 5,741,557 msg/sec std::mutex, 8,i: 5,733,013 msg/sec tbb::spin_mutex, 1,s: 37,979,145 msg/sec tbb::spin_mutex, 1,i: 32,857,785 msg/sec tbb::spin_mutex, 2,s: 21,132,075 msg/sec tbb::spin_mutex, 2,i: 18,468,849 msg/sec tbb::spin_mutex, 3,s: 8,312,146 msg/sec tbb::spin_mutex, 3,i: 10,284,471 msg/sec tbb::spin_mutex, 4,s: 3,062,694 msg/sec tbb::spin_mutex, 4,i: 6,346,222 msg/sec tbb::spin_mutex, 5,s: 5,483,285 msg/sec tbb::spin_mutex, 5,i: 5,428,161 msg/sec tbb::spin_mutex, 6,s: 5,321,971 msg/sec tbb::spin_mutex, 6,i: 4,362,029 msg/sec tbb::spin_mutex, 7,s: 4,864,250 msg/sec tbb::spin_mutex, 7,i: 4,341,292 msg/sec tbb::spin_mutex, 8,s: 4,245,068 msg/sec tbb::spin_mutex, 8,i: 4,181,588 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,440,594 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,433,850 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,013,474 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,958,561 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,852,634 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,913,002 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,303,420 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,218,642 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,670,569 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,179,907 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,029,652 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,474,820 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,029,313 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,601,029 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,056,690 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,736,950 msg/sec xenium::michael_scott_queue, 1,s: 9,620,016 msg/sec xenium::michael_scott_queue, 1,i: 9,493,397 msg/sec xenium::michael_scott_queue, 2,s: 8,369,958 msg/sec xenium::michael_scott_queue, 2,i: 8,593,443 msg/sec xenium::michael_scott_queue, 3,s: 7,307,215 msg/sec xenium::michael_scott_queue, 3,i: 7,542,406 msg/sec xenium::michael_scott_queue, 4,s: 6,341,887 msg/sec xenium::michael_scott_queue, 4,i: 6,310,826 msg/sec xenium::michael_scott_queue, 5,s: 6,318,608 msg/sec xenium::michael_scott_queue, 5,i: 6,654,355 msg/sec xenium::michael_scott_queue, 6,s: 6,532,811 msg/sec xenium::michael_scott_queue, 6,i: 6,869,575 msg/sec xenium::michael_scott_queue, 7,s: 6,293,241 msg/sec xenium::michael_scott_queue, 7,i: 6,507,455 msg/sec xenium::michael_scott_queue, 8,s: 5,964,490 msg/sec xenium::michael_scott_queue, 8,i: 6,136,106 msg/sec xenium::ramalhete_queue, 1,s: 32,243,210 msg/sec xenium::ramalhete_queue, 1,i: 32,695,734 msg/sec xenium::ramalhete_queue, 2,s: 24,058,353 msg/sec xenium::ramalhete_queue, 2,i: 23,336,180 msg/sec xenium::ramalhete_queue, 3,s: 29,207,094 msg/sec xenium::ramalhete_queue, 3,i: 28,551,673 msg/sec xenium::ramalhete_queue, 4,s: 33,876,853 msg/sec xenium::ramalhete_queue, 4,i: 33,566,496 msg/sec xenium::ramalhete_queue, 5,s: 32,257,890 msg/sec xenium::ramalhete_queue, 5,i: 35,919,268 msg/sec xenium::ramalhete_queue, 6,s: 34,169,248 msg/sec xenium::ramalhete_queue, 6,i: 39,596,377 msg/sec xenium::ramalhete_queue, 7,s: 35,125,175 msg/sec xenium::ramalhete_queue, 7,i: 42,313,858 msg/sec xenium::ramalhete_queue, 8,s: 35,565,875 msg/sec xenium::ramalhete_queue, 8,i: 43,857,121 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,856,619 msg/sec xenium::vyukov_bounded_queue, 1,i: 101,664,592 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,805,464 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,959,991 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,644,432 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,805,713 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,549,244 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,244,819 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,678,924 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,444,812 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,212,838 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,462,652 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,209,632 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,002,247 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,154 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,341,807 msg/sec AtomicQueue, 1,s: 59,937,593 msg/sec AtomicQueue, 1,i: 56,306,925 msg/sec AtomicQueue, 2,s: 12,296,782 msg/sec AtomicQueue, 2,i: 11,759,564 msg/sec AtomicQueue, 3,s: 10,775,084 msg/sec AtomicQueue, 3,i: 9,863,360 msg/sec AtomicQueue, 4,s: 8,170,237 msg/sec AtomicQueue, 4,i: 8,193,722 msg/sec AtomicQueue, 5,s: 8,033,145 msg/sec AtomicQueue, 5,i: 8,078,473 msg/sec AtomicQueue, 6,s: 7,836,739 msg/sec AtomicQueue, 6,i: 7,606,982 msg/sec AtomicQueue, 7,s: 7,135,053 msg/sec AtomicQueue, 7,i: 7,996,105 msg/sec AtomicQueue, 8,s: 6,329,654 msg/sec AtomicQueue, 8,i: 7,327,573 msg/sec AtomicQueueB, 1,s: 44,075,667 msg/sec AtomicQueueB, 1,i: 43,664,368 msg/sec AtomicQueueB, 2,s: 11,825,953 msg/sec AtomicQueueB, 2,i: 11,415,138 msg/sec AtomicQueueB, 3,s: 11,046,769 msg/sec AtomicQueueB, 3,i: 10,221,373 msg/sec AtomicQueueB, 4,s: 8,035,619 msg/sec AtomicQueueB, 4,i: 8,040,473 msg/sec AtomicQueueB, 5,s: 7,643,458 msg/sec AtomicQueueB, 5,i: 7,770,724 msg/sec AtomicQueueB, 6,s: 7,352,170 msg/sec AtomicQueueB, 6,i: 7,510,869 msg/sec AtomicQueueB, 7,s: 6,972,461 msg/sec AtomicQueueB, 7,i: 7,701,758 msg/sec AtomicQueueB, 8,s: 6,200,097 msg/sec AtomicQueueB, 8,i: 7,129,349 msg/sec OptimistAtomicQueue, 1,s: 730,025,587 msg/sec OptimistAtomicQueue, 1,i: 518,140,956 msg/sec OptimistAtomicQueue, 2,s: 32,643,108 msg/sec OptimistAtomicQueue, 2,i: 32,191,902 msg/sec OptimistAtomicQueue, 3,s: 36,641,275 msg/sec OptimistAtomicQueue, 3,i: 37,317,942 msg/sec OptimistAtomicQueue, 4,s: 39,270,421 msg/sec OptimistAtomicQueue, 4,i: 39,385,114 msg/sec OptimistAtomicQueue, 5,s: 41,646,190 msg/sec OptimistAtomicQueue, 5,i: 46,315,681 msg/sec OptimistAtomicQueue, 6,s: 42,480,898 msg/sec OptimistAtomicQueue, 6,i: 50,340,972 msg/sec OptimistAtomicQueue, 7,s: 45,310,042 msg/sec OptimistAtomicQueue, 7,i: 52,983,916 msg/sec OptimistAtomicQueue, 8,s: 46,483,185 msg/sec OptimistAtomicQueue, 8,i: 49,249,018 msg/sec OptimistAtomicQueueB, 1,s: 259,001,650 msg/sec OptimistAtomicQueueB, 1,i: 144,595,877 msg/sec OptimistAtomicQueueB, 2,s: 32,131,634 msg/sec OptimistAtomicQueueB, 2,i: 32,190,982 msg/sec OptimistAtomicQueueB, 3,s: 36,231,979 msg/sec OptimistAtomicQueueB, 3,i: 36,804,148 msg/sec OptimistAtomicQueueB, 4,s: 38,662,419 msg/sec OptimistAtomicQueueB, 4,i: 38,655,876 msg/sec OptimistAtomicQueueB, 5,s: 40,994,983 msg/sec OptimistAtomicQueueB, 5,i: 46,201,532 msg/sec OptimistAtomicQueueB, 6,s: 40,617,065 msg/sec OptimistAtomicQueueB, 6,i: 49,019,628 msg/sec OptimistAtomicQueueB, 7,s: 42,042,841 msg/sec OptimistAtomicQueueB, 7,i: 48,280,636 msg/sec OptimistAtomicQueueB, 8,s: 44,486,928 msg/sec OptimistAtomicQueueB, 8,i: 48,337,409 msg/sec AtomicQueue2, 1,s: 22,897,074 msg/sec AtomicQueue2, 1,i: 22,861,272 msg/sec AtomicQueue2, 2,s: 11,746,549 msg/sec AtomicQueue2, 2,i: 11,413,597 msg/sec AtomicQueue2, 3,s: 9,431,412 msg/sec AtomicQueue2, 3,i: 9,400,851 msg/sec AtomicQueue2, 4,s: 8,015,499 msg/sec AtomicQueue2, 4,i: 8,060,404 msg/sec AtomicQueue2, 5,s: 7,909,726 msg/sec AtomicQueue2, 5,i: 8,032,582 msg/sec AtomicQueue2, 6,s: 7,648,663 msg/sec AtomicQueue2, 6,i: 7,525,210 msg/sec AtomicQueue2, 7,s: 7,102,594 msg/sec AtomicQueue2, 7,i: 7,896,018 msg/sec AtomicQueue2, 8,s: 6,385,543 msg/sec AtomicQueue2, 8,i: 7,393,317 msg/sec AtomicQueueB2, 1,s: 36,275,310 msg/sec AtomicQueueB2, 1,i: 32,626,325 msg/sec AtomicQueueB2, 2,s: 11,406,927 msg/sec AtomicQueueB2, 2,i: 11,077,258 msg/sec AtomicQueueB2, 3,s: 9,562,555 msg/sec AtomicQueueB2, 3,i: 9,637,987 msg/sec AtomicQueueB2, 4,s: 7,898,751 msg/sec AtomicQueueB2, 4,i: 7,876,226 msg/sec AtomicQueueB2, 5,s: 7,524,751 msg/sec AtomicQueueB2, 5,i: 7,748,881 msg/sec AtomicQueueB2, 6,s: 7,192,653 msg/sec AtomicQueueB2, 6,i: 7,452,367 msg/sec AtomicQueueB2, 7,s: 6,863,448 msg/sec AtomicQueueB2, 7,i: 7,695,678 msg/sec AtomicQueueB2, 8,s: 6,290,923 msg/sec AtomicQueueB2, 8,i: 7,082,941 msg/sec OptimistAtomicQueue2, 1,s: 461,337,016 msg/sec OptimistAtomicQueue2, 1,i: 142,783,099 msg/sec OptimistAtomicQueue2, 2,s: 24,760,122 msg/sec OptimistAtomicQueue2, 2,i: 23,607,565 msg/sec OptimistAtomicQueue2, 3,s: 30,337,711 msg/sec OptimistAtomicQueue2, 3,i: 30,009,480 msg/sec OptimistAtomicQueue2, 4,s: 33,217,283 msg/sec OptimistAtomicQueue2, 4,i: 33,310,910 msg/sec OptimistAtomicQueue2, 5,s: 37,221,067 msg/sec OptimistAtomicQueue2, 5,i: 40,736,765 msg/sec OptimistAtomicQueue2, 6,s: 40,115,077 msg/sec OptimistAtomicQueue2, 6,i: 49,268,304 msg/sec OptimistAtomicQueue2, 7,s: 42,745,530 msg/sec OptimistAtomicQueue2, 7,i: 47,901,233 msg/sec OptimistAtomicQueue2, 8,s: 44,376,731 msg/sec OptimistAtomicQueue2, 8,i: 48,326,211 msg/sec OptimistAtomicQueueB2, 1,s: 77,426,904 msg/sec OptimistAtomicQueueB2, 1,i: 33,947,487 msg/sec OptimistAtomicQueueB2, 2,s: 26,791,590 msg/sec OptimistAtomicQueueB2, 2,i: 23,201,989 msg/sec OptimistAtomicQueueB2, 3,s: 30,180,144 msg/sec OptimistAtomicQueueB2, 3,i: 29,341,972 msg/sec OptimistAtomicQueueB2, 4,s: 33,180,465 msg/sec OptimistAtomicQueueB2, 4,i: 32,811,201 msg/sec OptimistAtomicQueueB2, 5,s: 34,464,936 msg/sec OptimistAtomicQueueB2, 5,i: 39,354,303 msg/sec OptimistAtomicQueueB2, 6,s: 37,621,274 msg/sec OptimistAtomicQueueB2, 6,i: 42,620,065 msg/sec OptimistAtomicQueueB2, 7,s: 40,834,172 msg/sec OptimistAtomicQueueB2, 7,i: 45,423,074 msg/sec OptimistAtomicQueueB2, 8,s: 42,039,504 msg/sec OptimistAtomicQueueB2, 8,i: 46,032,550 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000274 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000273 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [282] 109m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,556,655 msg/sec boost::lockfree::spsc_queue, 1,i: 67,485,570 msg/sec boost::lockfree::queue, 1,s: 6,856,371 msg/sec boost::lockfree::queue, 1,i: 6,961,515 msg/sec boost::lockfree::queue, 2,s: 7,684,720 msg/sec boost::lockfree::queue, 2,i: 7,581,890 msg/sec boost::lockfree::queue, 3,s: 7,415,255 msg/sec boost::lockfree::queue, 3,i: 7,544,467 msg/sec boost::lockfree::queue, 4,s: 6,428,715 msg/sec boost::lockfree::queue, 4,i: 6,756,693 msg/sec boost::lockfree::queue, 5,s: 6,383,010 msg/sec boost::lockfree::queue, 5,i: 6,462,734 msg/sec boost::lockfree::queue, 6,s: 5,992,304 msg/sec boost::lockfree::queue, 6,i: 6,068,613 msg/sec boost::lockfree::queue, 7,s: 6,028,608 msg/sec boost::lockfree::queue, 7,i: 6,023,275 msg/sec boost::lockfree::queue, 8,s: 5,439,593 msg/sec boost::lockfree::queue, 8,i: 5,714,021 msg/sec moodycamel::ReaderWriterQueue, 1,s: 381,572,781 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,099,103 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,972,937 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,385,801 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,940,175 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,017,634 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,132,867 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,019,007 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,200,735 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,083,721 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,336,688 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,786,980 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,495,011 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,095,895 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,067,208 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,388,349 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,288,184 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,328,746 msg/sec pthread_spinlock, 1,s: 29,157,375 msg/sec pthread_spinlock, 1,i: 25,338,642 msg/sec pthread_spinlock, 2,s: 15,540,769 msg/sec pthread_spinlock, 2,i: 17,004,477 msg/sec pthread_spinlock, 3,s: 8,376,625 msg/sec pthread_spinlock, 3,i: 11,919,461 msg/sec pthread_spinlock, 4,s: 6,569,545 msg/sec pthread_spinlock, 4,i: 8,804,366 msg/sec pthread_spinlock, 5,s: 8,754,315 msg/sec pthread_spinlock, 5,i: 9,094,275 msg/sec pthread_spinlock, 6,s: 8,158,059 msg/sec pthread_spinlock, 6,i: 8,706,869 msg/sec pthread_spinlock, 7,s: 7,552,468 msg/sec pthread_spinlock, 7,i: 7,577,694 msg/sec pthread_spinlock, 8,s: 6,822,589 msg/sec pthread_spinlock, 8,i: 6,933,850 msg/sec std::mutex, 1,s: 7,064,983 msg/sec std::mutex, 1,i: 6,689,620 msg/sec std::mutex, 2,s: 5,413,786 msg/sec std::mutex, 2,i: 5,613,925 msg/sec std::mutex, 3,s: 4,988,697 msg/sec std::mutex, 3,i: 5,401,675 msg/sec std::mutex, 4,s: 5,380,961 msg/sec std::mutex, 4,i: 6,256,379 msg/sec std::mutex, 5,s: 6,143,713 msg/sec std::mutex, 5,i: 6,145,703 msg/sec std::mutex, 6,s: 5,590,898 msg/sec std::mutex, 6,i: 5,958,495 msg/sec std::mutex, 7,s: 5,840,752 msg/sec std::mutex, 7,i: 5,848,321 msg/sec std::mutex, 8,s: 5,755,248 msg/sec std::mutex, 8,i: 5,778,051 msg/sec tbb::spin_mutex, 1,s: 37,805,966 msg/sec tbb::spin_mutex, 1,i: 37,738,362 msg/sec tbb::spin_mutex, 2,s: 21,187,409 msg/sec tbb::spin_mutex, 2,i: 18,378,458 msg/sec tbb::spin_mutex, 3,s: 7,984,546 msg/sec tbb::spin_mutex, 3,i: 10,248,343 msg/sec tbb::spin_mutex, 4,s: 3,258,803 msg/sec tbb::spin_mutex, 4,i: 6,323,355 msg/sec tbb::spin_mutex, 5,s: 5,366,243 msg/sec tbb::spin_mutex, 5,i: 5,675,033 msg/sec tbb::spin_mutex, 6,s: 5,163,010 msg/sec tbb::spin_mutex, 6,i: 4,276,196 msg/sec tbb::spin_mutex, 7,s: 4,492,667 msg/sec tbb::spin_mutex, 7,i: 4,322,594 msg/sec tbb::spin_mutex, 8,s: 3,853,253 msg/sec tbb::spin_mutex, 8,i: 4,071,239 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,486,359 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,597,742 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,575,593 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,881,437 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,554,803 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,747,370 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,079,956 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,324,770 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,698,524 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,702,577 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,852,697 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,977,103 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,766,467 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,194,117 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,642,406 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,297,868 msg/sec xenium::michael_scott_queue, 1,s: 9,289,762 msg/sec xenium::michael_scott_queue, 1,i: 9,297,210 msg/sec xenium::michael_scott_queue, 2,s: 8,405,117 msg/sec xenium::michael_scott_queue, 2,i: 8,243,464 msg/sec xenium::michael_scott_queue, 3,s: 7,210,205 msg/sec xenium::michael_scott_queue, 3,i: 7,497,993 msg/sec xenium::michael_scott_queue, 4,s: 6,374,508 msg/sec xenium::michael_scott_queue, 4,i: 6,470,930 msg/sec xenium::michael_scott_queue, 5,s: 6,258,052 msg/sec xenium::michael_scott_queue, 5,i: 6,681,751 msg/sec xenium::michael_scott_queue, 6,s: 6,514,799 msg/sec xenium::michael_scott_queue, 6,i: 6,921,878 msg/sec xenium::michael_scott_queue, 7,s: 6,318,125 msg/sec xenium::michael_scott_queue, 7,i: 6,498,138 msg/sec xenium::michael_scott_queue, 8,s: 5,988,871 msg/sec xenium::michael_scott_queue, 8,i: 6,212,911 msg/sec xenium::ramalhete_queue, 1,s: 31,871,217 msg/sec xenium::ramalhete_queue, 1,i: 32,113,676 msg/sec xenium::ramalhete_queue, 2,s: 23,601,342 msg/sec xenium::ramalhete_queue, 2,i: 23,313,009 msg/sec xenium::ramalhete_queue, 3,s: 29,105,181 msg/sec xenium::ramalhete_queue, 3,i: 28,382,415 msg/sec xenium::ramalhete_queue, 4,s: 33,824,599 msg/sec xenium::ramalhete_queue, 4,i: 33,399,341 msg/sec xenium::ramalhete_queue, 5,s: 32,054,367 msg/sec xenium::ramalhete_queue, 5,i: 36,069,452 msg/sec xenium::ramalhete_queue, 6,s: 34,142,499 msg/sec xenium::ramalhete_queue, 6,i: 39,237,369 msg/sec xenium::ramalhete_queue, 7,s: 35,111,650 msg/sec xenium::ramalhete_queue, 7,i: 40,872,857 msg/sec xenium::ramalhete_queue, 8,s: 35,485,073 msg/sec xenium::ramalhete_queue, 8,i: 43,962,858 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,606,258 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,877,967 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,268,347 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,918,889 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,621,226 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,843,213 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,533,166 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,186,214 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,981,026 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,324,423 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,047,824 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,223,584 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,163,351 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,026,784 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,977 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,244,680 msg/sec AtomicQueue, 1,s: 102,457,108 msg/sec AtomicQueue, 1,i: 103,420,790 msg/sec AtomicQueue, 2,s: 12,305,820 msg/sec AtomicQueue, 2,i: 11,726,436 msg/sec AtomicQueue, 3,s: 10,845,233 msg/sec AtomicQueue, 3,i: 9,967,246 msg/sec AtomicQueue, 4,s: 8,159,145 msg/sec AtomicQueue, 4,i: 8,177,143 msg/sec AtomicQueue, 5,s: 7,965,410 msg/sec AtomicQueue, 5,i: 8,120,859 msg/sec AtomicQueue, 6,s: 7,820,766 msg/sec AtomicQueue, 6,i: 7,604,787 msg/sec AtomicQueue, 7,s: 7,078,443 msg/sec AtomicQueue, 7,i: 8,009,437 msg/sec AtomicQueue, 8,s: 6,323,988 msg/sec AtomicQueue, 8,i: 7,515,622 msg/sec AtomicQueueB, 1,s: 64,358,850 msg/sec AtomicQueueB, 1,i: 43,984,496 msg/sec AtomicQueueB, 2,s: 11,811,521 msg/sec AtomicQueueB, 2,i: 11,527,446 msg/sec AtomicQueueB, 3,s: 11,010,495 msg/sec AtomicQueueB, 3,i: 10,311,502 msg/sec AtomicQueueB, 4,s: 7,996,684 msg/sec AtomicQueueB, 4,i: 8,107,872 msg/sec AtomicQueueB, 5,s: 7,676,390 msg/sec AtomicQueueB, 5,i: 7,742,708 msg/sec AtomicQueueB, 6,s: 7,403,351 msg/sec AtomicQueueB, 6,i: 7,478,196 msg/sec AtomicQueueB, 7,s: 6,870,903 msg/sec AtomicQueueB, 7,i: 7,718,824 msg/sec AtomicQueueB, 8,s: 6,250,571 msg/sec AtomicQueueB, 8,i: 7,145,826 msg/sec OptimistAtomicQueue, 1,s: 690,544,307 msg/sec OptimistAtomicQueue, 1,i: 512,393,912 msg/sec OptimistAtomicQueue, 2,s: 31,903,921 msg/sec OptimistAtomicQueue, 2,i: 32,202,019 msg/sec OptimistAtomicQueue, 3,s: 36,651,232 msg/sec OptimistAtomicQueue, 3,i: 37,307,379 msg/sec OptimistAtomicQueue, 4,s: 39,296,385 msg/sec OptimistAtomicQueue, 4,i: 39,427,945 msg/sec OptimistAtomicQueue, 5,s: 42,363,222 msg/sec OptimistAtomicQueue, 5,i: 47,368,810 msg/sec OptimistAtomicQueue, 6,s: 42,535,277 msg/sec OptimistAtomicQueue, 6,i: 49,756,120 msg/sec OptimistAtomicQueue, 7,s: 45,059,085 msg/sec OptimistAtomicQueue, 7,i: 49,197,156 msg/sec OptimistAtomicQueue, 8,s: 46,525,384 msg/sec OptimistAtomicQueue, 8,i: 49,466,844 msg/sec OptimistAtomicQueueB, 1,s: 192,616,758 msg/sec OptimistAtomicQueueB, 1,i: 77,433,605 msg/sec OptimistAtomicQueueB, 2,s: 32,162,210 msg/sec OptimistAtomicQueueB, 2,i: 32,238,151 msg/sec OptimistAtomicQueueB, 3,s: 36,151,101 msg/sec OptimistAtomicQueueB, 3,i: 36,740,493 msg/sec OptimistAtomicQueueB, 4,s: 38,592,345 msg/sec OptimistAtomicQueueB, 4,i: 38,537,228 msg/sec OptimistAtomicQueueB, 5,s: 40,499,456 msg/sec OptimistAtomicQueueB, 5,i: 45,218,884 msg/sec OptimistAtomicQueueB, 6,s: 41,277,008 msg/sec OptimistAtomicQueueB, 6,i: 49,148,908 msg/sec OptimistAtomicQueueB, 7,s: 41,953,224 msg/sec OptimistAtomicQueueB, 7,i: 51,431,618 msg/sec OptimistAtomicQueueB, 8,s: 44,219,690 msg/sec OptimistAtomicQueueB, 8,i: 48,032,640 msg/sec AtomicQueue2, 1,s: 23,448,642 msg/sec AtomicQueue2, 1,i: 23,146,307 msg/sec AtomicQueue2, 2,s: 12,024,528 msg/sec AtomicQueue2, 2,i: 11,668,295 msg/sec AtomicQueue2, 3,s: 9,325,121 msg/sec AtomicQueue2, 3,i: 9,398,748 msg/sec AtomicQueue2, 4,s: 7,995,882 msg/sec AtomicQueue2, 4,i: 8,024,968 msg/sec AtomicQueue2, 5,s: 7,950,855 msg/sec AtomicQueue2, 5,i: 8,060,057 msg/sec AtomicQueue2, 6,s: 7,726,491 msg/sec AtomicQueue2, 6,i: 7,513,419 msg/sec AtomicQueue2, 7,s: 7,107,205 msg/sec AtomicQueue2, 7,i: 7,893,376 msg/sec AtomicQueue2, 8,s: 6,396,222 msg/sec AtomicQueue2, 8,i: 7,329,980 msg/sec AtomicQueueB2, 1,s: 33,423,775 msg/sec AtomicQueueB2, 1,i: 33,462,353 msg/sec AtomicQueueB2, 2,s: 11,348,216 msg/sec AtomicQueueB2, 2,i: 11,119,822 msg/sec AtomicQueueB2, 3,s: 9,773,789 msg/sec AtomicQueueB2, 3,i: 9,437,711 msg/sec AtomicQueueB2, 4,s: 7,924,725 msg/sec AtomicQueueB2, 4,i: 7,830,609 msg/sec AtomicQueueB2, 5,s: 7,484,769 msg/sec AtomicQueueB2, 5,i: 7,633,870 msg/sec AtomicQueueB2, 6,s: 7,264,878 msg/sec AtomicQueueB2, 6,i: 7,399,318 msg/sec AtomicQueueB2, 7,s: 6,895,317 msg/sec AtomicQueueB2, 7,i: 7,701,625 msg/sec AtomicQueueB2, 8,s: 6,255,321 msg/sec AtomicQueueB2, 8,i: 7,023,673 msg/sec OptimistAtomicQueue2, 1,s: 447,232,391 msg/sec OptimistAtomicQueue2, 1,i: 415,015,165 msg/sec OptimistAtomicQueue2, 2,s: 25,320,146 msg/sec OptimistAtomicQueue2, 2,i: 25,191,661 msg/sec OptimistAtomicQueue2, 3,s: 31,805,390 msg/sec OptimistAtomicQueue2, 3,i: 30,019,813 msg/sec OptimistAtomicQueue2, 4,s: 33,236,300 msg/sec OptimistAtomicQueue2, 4,i: 33,435,911 msg/sec OptimistAtomicQueue2, 5,s: 37,237,045 msg/sec OptimistAtomicQueue2, 5,i: 41,479,370 msg/sec OptimistAtomicQueue2, 6,s: 40,196,439 msg/sec OptimistAtomicQueue2, 6,i: 49,163,715 msg/sec OptimistAtomicQueue2, 7,s: 42,901,222 msg/sec OptimistAtomicQueue2, 7,i: 48,141,956 msg/sec OptimistAtomicQueue2, 8,s: 43,982,485 msg/sec OptimistAtomicQueue2, 8,i: 48,736,478 msg/sec OptimistAtomicQueueB2, 1,s: 77,690,058 msg/sec OptimistAtomicQueueB2, 1,i: 33,913,298 msg/sec OptimistAtomicQueueB2, 2,s: 29,367,943 msg/sec OptimistAtomicQueueB2, 2,i: 25,744,953 msg/sec OptimistAtomicQueueB2, 3,s: 29,685,613 msg/sec OptimistAtomicQueueB2, 3,i: 28,982,152 msg/sec OptimistAtomicQueueB2, 4,s: 33,073,074 msg/sec OptimistAtomicQueueB2, 4,i: 32,121,211 msg/sec OptimistAtomicQueueB2, 5,s: 34,641,943 msg/sec OptimistAtomicQueueB2, 5,i: 39,360,723 msg/sec OptimistAtomicQueueB2, 6,s: 37,518,785 msg/sec OptimistAtomicQueueB2, 6,i: 42,187,399 msg/sec OptimistAtomicQueueB2, 7,s: 40,748,721 msg/sec OptimistAtomicQueueB2, 7,i: 45,606,359 msg/sec OptimistAtomicQueueB2, 8,s: 42,094,116 msg/sec OptimistAtomicQueueB2, 8,i: 45,338,290 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000232 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [283] 107m:51s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,192,923 msg/sec boost::lockfree::spsc_queue, 1,i: 67,167,271 msg/sec boost::lockfree::queue, 1,s: 6,854,647 msg/sec boost::lockfree::queue, 1,i: 6,825,456 msg/sec boost::lockfree::queue, 2,s: 7,611,781 msg/sec boost::lockfree::queue, 2,i: 7,510,260 msg/sec boost::lockfree::queue, 3,s: 7,448,335 msg/sec boost::lockfree::queue, 3,i: 7,562,188 msg/sec boost::lockfree::queue, 4,s: 6,428,872 msg/sec boost::lockfree::queue, 4,i: 6,744,249 msg/sec boost::lockfree::queue, 5,s: 6,419,052 msg/sec boost::lockfree::queue, 5,i: 6,428,098 msg/sec boost::lockfree::queue, 6,s: 5,999,957 msg/sec boost::lockfree::queue, 6,i: 6,085,423 msg/sec boost::lockfree::queue, 7,s: 6,059,621 msg/sec boost::lockfree::queue, 7,i: 6,027,005 msg/sec boost::lockfree::queue, 8,s: 5,514,796 msg/sec boost::lockfree::queue, 8,i: 5,701,373 msg/sec moodycamel::ReaderWriterQueue, 1,s: 527,818,196 msg/sec moodycamel::ReaderWriterQueue, 1,i: 528,093,379 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,656,489 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,595,448 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,121,550 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,342,753 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,472,155 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,689,089 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,238,446 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,997,707 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,229,717 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,698,200 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,686,761 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,156,171 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,004,809 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,391,334 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,126,635 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,876,398 msg/sec pthread_spinlock, 1,s: 29,109,563 msg/sec pthread_spinlock, 1,i: 25,472,002 msg/sec pthread_spinlock, 2,s: 15,596,134 msg/sec pthread_spinlock, 2,i: 17,104,011 msg/sec pthread_spinlock, 3,s: 8,310,152 msg/sec pthread_spinlock, 3,i: 11,923,853 msg/sec pthread_spinlock, 4,s: 6,544,100 msg/sec pthread_spinlock, 4,i: 8,911,633 msg/sec pthread_spinlock, 5,s: 8,722,950 msg/sec pthread_spinlock, 5,i: 9,500,807 msg/sec pthread_spinlock, 6,s: 8,297,936 msg/sec pthread_spinlock, 6,i: 8,506,895 msg/sec pthread_spinlock, 7,s: 7,471,696 msg/sec pthread_spinlock, 7,i: 8,085,046 msg/sec pthread_spinlock, 8,s: 6,950,239 msg/sec pthread_spinlock, 8,i: 7,348,090 msg/sec std::mutex, 1,s: 6,580,158 msg/sec std::mutex, 1,i: 7,266,119 msg/sec std::mutex, 2,s: 6,048,135 msg/sec std::mutex, 2,i: 6,010,846 msg/sec std::mutex, 3,s: 6,069,864 msg/sec std::mutex, 3,i: 6,055,242 msg/sec std::mutex, 4,s: 6,252,491 msg/sec std::mutex, 4,i: 6,195,563 msg/sec std::mutex, 5,s: 6,050,820 msg/sec std::mutex, 5,i: 5,944,198 msg/sec std::mutex, 6,s: 5,882,142 msg/sec std::mutex, 6,i: 5,957,465 msg/sec std::mutex, 7,s: 5,832,598 msg/sec std::mutex, 7,i: 5,792,428 msg/sec std::mutex, 8,s: 5,681,611 msg/sec std::mutex, 8,i: 5,671,431 msg/sec tbb::spin_mutex, 1,s: 37,639,309 msg/sec tbb::spin_mutex, 1,i: 37,531,283 msg/sec tbb::spin_mutex, 2,s: 20,997,548 msg/sec tbb::spin_mutex, 2,i: 20,593,182 msg/sec tbb::spin_mutex, 3,s: 8,307,401 msg/sec tbb::spin_mutex, 3,i: 11,247,080 msg/sec tbb::spin_mutex, 4,s: 3,024,378 msg/sec tbb::spin_mutex, 4,i: 6,319,113 msg/sec tbb::spin_mutex, 5,s: 5,391,375 msg/sec tbb::spin_mutex, 5,i: 5,456,996 msg/sec tbb::spin_mutex, 6,s: 5,299,863 msg/sec tbb::spin_mutex, 6,i: 4,418,407 msg/sec tbb::spin_mutex, 7,s: 4,498,434 msg/sec tbb::spin_mutex, 7,i: 4,335,372 msg/sec tbb::spin_mutex, 8,s: 4,237,675 msg/sec tbb::spin_mutex, 8,i: 4,182,836 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,460,077 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,300,549 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,796,703 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,891,990 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,449,064 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,651,660 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,102,400 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,395,167 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,667,392 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,739,837 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,918,143 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,018,518 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,798,036 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,101,651 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,651,969 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,327,350 msg/sec xenium::michael_scott_queue, 1,s: 10,103,630 msg/sec xenium::michael_scott_queue, 1,i: 10,082,310 msg/sec xenium::michael_scott_queue, 2,s: 8,518,453 msg/sec xenium::michael_scott_queue, 2,i: 8,470,144 msg/sec xenium::michael_scott_queue, 3,s: 7,203,141 msg/sec xenium::michael_scott_queue, 3,i: 7,541,548 msg/sec xenium::michael_scott_queue, 4,s: 6,322,902 msg/sec xenium::michael_scott_queue, 4,i: 6,299,783 msg/sec xenium::michael_scott_queue, 5,s: 6,288,864 msg/sec xenium::michael_scott_queue, 5,i: 6,685,068 msg/sec xenium::michael_scott_queue, 6,s: 6,426,628 msg/sec xenium::michael_scott_queue, 6,i: 6,703,534 msg/sec xenium::michael_scott_queue, 7,s: 6,303,319 msg/sec xenium::michael_scott_queue, 7,i: 6,566,044 msg/sec xenium::michael_scott_queue, 8,s: 6,028,124 msg/sec xenium::michael_scott_queue, 8,i: 6,131,287 msg/sec xenium::ramalhete_queue, 1,s: 31,697,556 msg/sec xenium::ramalhete_queue, 1,i: 32,093,102 msg/sec xenium::ramalhete_queue, 2,s: 23,595,135 msg/sec xenium::ramalhete_queue, 2,i: 23,441,776 msg/sec xenium::ramalhete_queue, 3,s: 29,215,114 msg/sec xenium::ramalhete_queue, 3,i: 28,513,655 msg/sec xenium::ramalhete_queue, 4,s: 33,844,576 msg/sec xenium::ramalhete_queue, 4,i: 33,554,603 msg/sec xenium::ramalhete_queue, 5,s: 32,163,258 msg/sec xenium::ramalhete_queue, 5,i: 36,230,041 msg/sec xenium::ramalhete_queue, 6,s: 34,134,656 msg/sec xenium::ramalhete_queue, 6,i: 39,470,297 msg/sec xenium::ramalhete_queue, 7,s: 34,980,179 msg/sec xenium::ramalhete_queue, 7,i: 40,849,791 msg/sec xenium::ramalhete_queue, 8,s: 35,405,115 msg/sec xenium::ramalhete_queue, 8,i: 43,817,472 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,869,632 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,739,229 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,959,164 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,466,970 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,641,218 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,883,362 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,567,460 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,074,591 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,047,481 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,198,217 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,115,907 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,249,252 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,227,891 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,912,602 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,403,110 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,333,296 msg/sec AtomicQueue, 1,s: 58,738,884 msg/sec AtomicQueue, 1,i: 56,966,230 msg/sec AtomicQueue, 2,s: 12,222,813 msg/sec AtomicQueue, 2,i: 11,744,289 msg/sec AtomicQueue, 3,s: 10,792,596 msg/sec AtomicQueue, 3,i: 9,953,300 msg/sec AtomicQueue, 4,s: 8,209,751 msg/sec AtomicQueue, 4,i: 8,195,092 msg/sec AtomicQueue, 5,s: 8,010,673 msg/sec AtomicQueue, 5,i: 8,071,465 msg/sec AtomicQueue, 6,s: 7,843,103 msg/sec AtomicQueue, 6,i: 7,607,905 msg/sec AtomicQueue, 7,s: 7,133,091 msg/sec AtomicQueue, 7,i: 7,965,613 msg/sec AtomicQueue, 8,s: 6,357,144 msg/sec AtomicQueue, 8,i: 7,359,205 msg/sec AtomicQueueB, 1,s: 43,931,134 msg/sec AtomicQueueB, 1,i: 43,031,846 msg/sec AtomicQueueB, 2,s: 11,857,550 msg/sec AtomicQueueB, 2,i: 11,492,426 msg/sec AtomicQueueB, 3,s: 10,985,787 msg/sec AtomicQueueB, 3,i: 10,279,857 msg/sec AtomicQueueB, 4,s: 8,029,590 msg/sec AtomicQueueB, 4,i: 7,966,285 msg/sec AtomicQueueB, 5,s: 7,554,128 msg/sec AtomicQueueB, 5,i: 7,743,633 msg/sec AtomicQueueB, 6,s: 7,388,834 msg/sec AtomicQueueB, 6,i: 7,565,570 msg/sec AtomicQueueB, 7,s: 6,880,704 msg/sec AtomicQueueB, 7,i: 7,744,580 msg/sec AtomicQueueB, 8,s: 6,222,155 msg/sec AtomicQueueB, 8,i: 7,136,527 msg/sec OptimistAtomicQueue, 1,s: 721,988,167 msg/sec OptimistAtomicQueue, 1,i: 711,136,901 msg/sec OptimistAtomicQueue, 2,s: 32,629,107 msg/sec OptimistAtomicQueue, 2,i: 32,720,874 msg/sec OptimistAtomicQueue, 3,s: 36,667,179 msg/sec OptimistAtomicQueue, 3,i: 37,420,611 msg/sec OptimistAtomicQueue, 4,s: 39,285,706 msg/sec OptimistAtomicQueue, 4,i: 39,427,723 msg/sec OptimistAtomicQueue, 5,s: 41,661,574 msg/sec OptimistAtomicQueue, 5,i: 46,384,161 msg/sec OptimistAtomicQueue, 6,s: 41,945,842 msg/sec OptimistAtomicQueue, 6,i: 50,505,006 msg/sec OptimistAtomicQueue, 7,s: 44,042,264 msg/sec OptimistAtomicQueue, 7,i: 52,010,504 msg/sec OptimistAtomicQueue, 8,s: 46,320,740 msg/sec OptimistAtomicQueue, 8,i: 49,456,558 msg/sec OptimistAtomicQueueB, 1,s: 623,643,283 msg/sec OptimistAtomicQueueB, 1,i: 176,412,929 msg/sec OptimistAtomicQueueB, 2,s: 32,211,507 msg/sec OptimistAtomicQueueB, 2,i: 32,436,142 msg/sec OptimistAtomicQueueB, 3,s: 36,250,605 msg/sec OptimistAtomicQueueB, 3,i: 37,003,821 msg/sec OptimistAtomicQueueB, 4,s: 38,694,682 msg/sec OptimistAtomicQueueB, 4,i: 38,655,917 msg/sec OptimistAtomicQueueB, 5,s: 40,869,965 msg/sec OptimistAtomicQueueB, 5,i: 45,827,884 msg/sec OptimistAtomicQueueB, 6,s: 40,672,701 msg/sec OptimistAtomicQueueB, 6,i: 49,148,963 msg/sec OptimistAtomicQueueB, 7,s: 42,456,874 msg/sec OptimistAtomicQueueB, 7,i: 50,870,835 msg/sec OptimistAtomicQueueB, 8,s: 44,367,446 msg/sec OptimistAtomicQueueB, 8,i: 48,421,623 msg/sec AtomicQueue2, 1,s: 23,061,275 msg/sec AtomicQueue2, 1,i: 23,069,579 msg/sec AtomicQueue2, 2,s: 11,734,070 msg/sec AtomicQueue2, 2,i: 11,420,410 msg/sec AtomicQueue2, 3,s: 9,416,590 msg/sec AtomicQueue2, 3,i: 9,526,431 msg/sec AtomicQueue2, 4,s: 8,074,819 msg/sec AtomicQueue2, 4,i: 8,087,992 msg/sec AtomicQueue2, 5,s: 7,918,577 msg/sec AtomicQueue2, 5,i: 8,028,399 msg/sec AtomicQueue2, 6,s: 7,857,518 msg/sec AtomicQueue2, 6,i: 7,525,531 msg/sec AtomicQueue2, 7,s: 7,131,043 msg/sec AtomicQueue2, 7,i: 7,876,576 msg/sec AtomicQueue2, 8,s: 6,409,965 msg/sec AtomicQueue2, 8,i: 7,326,464 msg/sec AtomicQueueB2, 1,s: 36,358,679 msg/sec AtomicQueueB2, 1,i: 33,694,752 msg/sec AtomicQueueB2, 2,s: 11,364,807 msg/sec AtomicQueueB2, 2,i: 11,083,849 msg/sec AtomicQueueB2, 3,s: 9,743,971 msg/sec AtomicQueueB2, 3,i: 9,499,668 msg/sec AtomicQueueB2, 4,s: 7,919,137 msg/sec AtomicQueueB2, 4,i: 7,922,667 msg/sec AtomicQueueB2, 5,s: 7,496,250 msg/sec AtomicQueueB2, 5,i: 7,683,460 msg/sec AtomicQueueB2, 6,s: 7,262,022 msg/sec AtomicQueueB2, 6,i: 7,397,333 msg/sec AtomicQueueB2, 7,s: 6,907,588 msg/sec AtomicQueueB2, 7,i: 7,740,209 msg/sec AtomicQueueB2, 8,s: 6,203,998 msg/sec AtomicQueueB2, 8,i: 7,096,412 msg/sec OptimistAtomicQueue2, 1,s: 480,132,939 msg/sec OptimistAtomicQueue2, 1,i: 29,414,605 msg/sec OptimistAtomicQueue2, 2,s: 25,235,700 msg/sec OptimistAtomicQueue2, 2,i: 24,021,945 msg/sec OptimistAtomicQueue2, 3,s: 30,308,447 msg/sec OptimistAtomicQueue2, 3,i: 29,880,110 msg/sec OptimistAtomicQueue2, 4,s: 33,508,800 msg/sec OptimistAtomicQueue2, 4,i: 33,388,870 msg/sec OptimistAtomicQueue2, 5,s: 37,279,221 msg/sec OptimistAtomicQueue2, 5,i: 40,904,132 msg/sec OptimistAtomicQueue2, 6,s: 40,146,902 msg/sec OptimistAtomicQueue2, 6,i: 49,321,813 msg/sec OptimistAtomicQueue2, 7,s: 43,217,880 msg/sec OptimistAtomicQueue2, 7,i: 48,165,245 msg/sec OptimistAtomicQueue2, 8,s: 44,015,541 msg/sec OptimistAtomicQueue2, 8,i: 48,665,679 msg/sec OptimistAtomicQueueB2, 1,s: 77,355,727 msg/sec OptimistAtomicQueueB2, 1,i: 33,922,765 msg/sec OptimistAtomicQueueB2, 2,s: 27,815,412 msg/sec OptimistAtomicQueueB2, 2,i: 23,985,881 msg/sec OptimistAtomicQueueB2, 3,s: 30,204,889 msg/sec OptimistAtomicQueueB2, 3,i: 28,938,483 msg/sec OptimistAtomicQueueB2, 4,s: 32,379,341 msg/sec OptimistAtomicQueueB2, 4,i: 32,275,389 msg/sec OptimistAtomicQueueB2, 5,s: 34,436,534 msg/sec OptimistAtomicQueueB2, 5,i: 39,400,430 msg/sec OptimistAtomicQueueB2, 6,s: 37,437,779 msg/sec OptimistAtomicQueueB2, 6,i: 42,144,687 msg/sec OptimistAtomicQueueB2, 7,s: 40,343,507 msg/sec OptimistAtomicQueueB2, 7,i: 45,272,235 msg/sec OptimistAtomicQueueB2, 8,s: 42,285,843 msg/sec OptimistAtomicQueueB2, 8,i: 45,129,781 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000129 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000455 sec/round-trip tbb::spin_mutex: 0.000000287 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [284] 106m:33s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,725,473 msg/sec boost::lockfree::spsc_queue, 1,i: 67,879,295 msg/sec boost::lockfree::queue, 1,s: 6,819,850 msg/sec boost::lockfree::queue, 1,i: 6,871,845 msg/sec boost::lockfree::queue, 2,s: 7,554,914 msg/sec boost::lockfree::queue, 2,i: 7,467,694 msg/sec boost::lockfree::queue, 3,s: 7,419,121 msg/sec boost::lockfree::queue, 3,i: 7,548,716 msg/sec boost::lockfree::queue, 4,s: 6,425,046 msg/sec boost::lockfree::queue, 4,i: 6,757,672 msg/sec boost::lockfree::queue, 5,s: 6,399,399 msg/sec boost::lockfree::queue, 5,i: 6,428,828 msg/sec boost::lockfree::queue, 6,s: 5,957,388 msg/sec boost::lockfree::queue, 6,i: 6,223,887 msg/sec boost::lockfree::queue, 7,s: 5,979,467 msg/sec boost::lockfree::queue, 7,i: 6,016,355 msg/sec boost::lockfree::queue, 8,s: 5,473,077 msg/sec boost::lockfree::queue, 8,i: 5,609,798 msg/sec moodycamel::ReaderWriterQueue, 1,s: 56,874,439 msg/sec moodycamel::ReaderWriterQueue, 1,i: 51,624,327 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,024,493 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,395,753 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,190,614 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,200,715 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,351,884 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,845,895 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,556,553 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,881,095 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,414,642 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,155,948 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,199,628 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,113,308 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,964,164 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,598,975 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,377,509 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,359,197 msg/sec pthread_spinlock, 1,s: 29,359,106 msg/sec pthread_spinlock, 1,i: 25,326,885 msg/sec pthread_spinlock, 2,s: 15,578,285 msg/sec pthread_spinlock, 2,i: 17,115,723 msg/sec pthread_spinlock, 3,s: 8,472,139 msg/sec pthread_spinlock, 3,i: 12,010,013 msg/sec pthread_spinlock, 4,s: 6,482,369 msg/sec pthread_spinlock, 4,i: 8,938,876 msg/sec pthread_spinlock, 5,s: 8,801,550 msg/sec pthread_spinlock, 5,i: 9,210,661 msg/sec pthread_spinlock, 6,s: 8,450,127 msg/sec pthread_spinlock, 6,i: 8,254,795 msg/sec pthread_spinlock, 7,s: 7,535,519 msg/sec pthread_spinlock, 7,i: 7,661,947 msg/sec pthread_spinlock, 8,s: 6,802,736 msg/sec pthread_spinlock, 8,i: 6,947,184 msg/sec std::mutex, 1,s: 6,680,706 msg/sec std::mutex, 1,i: 5,866,330 msg/sec std::mutex, 2,s: 4,879,807 msg/sec std::mutex, 2,i: 5,544,382 msg/sec std::mutex, 3,s: 5,933,753 msg/sec std::mutex, 3,i: 5,478,547 msg/sec std::mutex, 4,s: 6,013,638 msg/sec std::mutex, 4,i: 5,936,010 msg/sec std::mutex, 5,s: 5,705,042 msg/sec std::mutex, 5,i: 6,084,835 msg/sec std::mutex, 6,s: 5,877,260 msg/sec std::mutex, 6,i: 5,876,282 msg/sec std::mutex, 7,s: 5,796,919 msg/sec std::mutex, 7,i: 5,746,780 msg/sec std::mutex, 8,s: 5,627,836 msg/sec std::mutex, 8,i: 5,599,182 msg/sec tbb::spin_mutex, 1,s: 37,741,126 msg/sec tbb::spin_mutex, 1,i: 37,441,444 msg/sec tbb::spin_mutex, 2,s: 21,203,958 msg/sec tbb::spin_mutex, 2,i: 19,083,645 msg/sec tbb::spin_mutex, 3,s: 8,341,134 msg/sec tbb::spin_mutex, 3,i: 10,215,035 msg/sec tbb::spin_mutex, 4,s: 3,233,488 msg/sec tbb::spin_mutex, 4,i: 6,250,067 msg/sec tbb::spin_mutex, 5,s: 5,605,090 msg/sec tbb::spin_mutex, 5,i: 5,374,286 msg/sec tbb::spin_mutex, 6,s: 5,265,341 msg/sec tbb::spin_mutex, 6,i: 4,399,846 msg/sec tbb::spin_mutex, 7,s: 4,864,439 msg/sec tbb::spin_mutex, 7,i: 4,364,327 msg/sec tbb::spin_mutex, 8,s: 4,270,788 msg/sec tbb::spin_mutex, 8,i: 4,110,066 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,310,794 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,373,963 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,914,896 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,140,399 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,409,847 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,605,008 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,949,178 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,290,761 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,480,488 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,626,926 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,840,626 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,760,960 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,892,409 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,143,606 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,911,793 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,481,526 msg/sec xenium::michael_scott_queue, 1,s: 9,069,655 msg/sec xenium::michael_scott_queue, 1,i: 9,275,151 msg/sec xenium::michael_scott_queue, 2,s: 8,267,501 msg/sec xenium::michael_scott_queue, 2,i: 8,230,532 msg/sec xenium::michael_scott_queue, 3,s: 7,265,051 msg/sec xenium::michael_scott_queue, 3,i: 7,536,607 msg/sec xenium::michael_scott_queue, 4,s: 6,240,257 msg/sec xenium::michael_scott_queue, 4,i: 6,383,317 msg/sec xenium::michael_scott_queue, 5,s: 6,303,392 msg/sec xenium::michael_scott_queue, 5,i: 6,650,072 msg/sec xenium::michael_scott_queue, 6,s: 6,517,606 msg/sec xenium::michael_scott_queue, 6,i: 6,735,630 msg/sec xenium::michael_scott_queue, 7,s: 6,287,099 msg/sec xenium::michael_scott_queue, 7,i: 6,486,635 msg/sec xenium::michael_scott_queue, 8,s: 5,946,931 msg/sec xenium::michael_scott_queue, 8,i: 6,105,247 msg/sec xenium::ramalhete_queue, 1,s: 30,727,235 msg/sec xenium::ramalhete_queue, 1,i: 30,861,251 msg/sec xenium::ramalhete_queue, 2,s: 23,372,373 msg/sec xenium::ramalhete_queue, 2,i: 23,199,688 msg/sec xenium::ramalhete_queue, 3,s: 28,825,532 msg/sec xenium::ramalhete_queue, 3,i: 28,121,330 msg/sec xenium::ramalhete_queue, 4,s: 33,669,698 msg/sec xenium::ramalhete_queue, 4,i: 33,408,585 msg/sec xenium::ramalhete_queue, 5,s: 32,034,263 msg/sec xenium::ramalhete_queue, 5,i: 35,967,451 msg/sec xenium::ramalhete_queue, 6,s: 34,121,017 msg/sec xenium::ramalhete_queue, 6,i: 39,431,155 msg/sec xenium::ramalhete_queue, 7,s: 35,063,691 msg/sec xenium::ramalhete_queue, 7,i: 41,144,657 msg/sec xenium::ramalhete_queue, 8,s: 35,522,414 msg/sec xenium::ramalhete_queue, 8,i: 43,507,626 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,961,134 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,211,805 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,837,862 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,021,896 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,671,690 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,728,580 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,585,445 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,326,867 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,850,099 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,336,116 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,008,081 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,256,028 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,185,750 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,147,484 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,384,697 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,525,744 msg/sec AtomicQueue, 1,s: 98,155,371 msg/sec AtomicQueue, 1,i: 56,479,011 msg/sec AtomicQueue, 2,s: 12,279,047 msg/sec AtomicQueue, 2,i: 11,733,496 msg/sec AtomicQueue, 3,s: 10,732,041 msg/sec AtomicQueue, 3,i: 9,924,777 msg/sec AtomicQueue, 4,s: 8,197,574 msg/sec AtomicQueue, 4,i: 8,173,811 msg/sec AtomicQueue, 5,s: 8,018,853 msg/sec AtomicQueue, 5,i: 8,089,283 msg/sec AtomicQueue, 6,s: 7,745,165 msg/sec AtomicQueue, 6,i: 7,606,998 msg/sec AtomicQueue, 7,s: 7,158,257 msg/sec AtomicQueue, 7,i: 7,983,789 msg/sec AtomicQueue, 8,s: 6,337,885 msg/sec AtomicQueue, 8,i: 7,398,381 msg/sec AtomicQueueB, 1,s: 47,375,981 msg/sec AtomicQueueB, 1,i: 43,053,100 msg/sec AtomicQueueB, 2,s: 12,003,180 msg/sec AtomicQueueB, 2,i: 11,498,178 msg/sec AtomicQueueB, 3,s: 11,025,093 msg/sec AtomicQueueB, 3,i: 10,158,994 msg/sec AtomicQueueB, 4,s: 8,117,687 msg/sec AtomicQueueB, 4,i: 8,056,021 msg/sec AtomicQueueB, 5,s: 7,620,450 msg/sec AtomicQueueB, 5,i: 7,880,426 msg/sec AtomicQueueB, 6,s: 7,267,968 msg/sec AtomicQueueB, 6,i: 7,593,533 msg/sec AtomicQueueB, 7,s: 6,837,733 msg/sec AtomicQueueB, 7,i: 7,730,307 msg/sec AtomicQueueB, 8,s: 6,286,346 msg/sec AtomicQueueB, 8,i: 7,196,123 msg/sec OptimistAtomicQueue, 1,s: 742,774,153 msg/sec OptimistAtomicQueue, 1,i: 646,240,511 msg/sec OptimistAtomicQueue, 2,s: 32,659,493 msg/sec OptimistAtomicQueue, 2,i: 32,699,192 msg/sec OptimistAtomicQueue, 3,s: 36,655,903 msg/sec OptimistAtomicQueue, 3,i: 37,400,819 msg/sec OptimistAtomicQueue, 4,s: 39,296,868 msg/sec OptimistAtomicQueue, 4,i: 39,400,088 msg/sec OptimistAtomicQueue, 5,s: 42,780,766 msg/sec OptimistAtomicQueue, 5,i: 47,338,949 msg/sec OptimistAtomicQueue, 6,s: 42,235,842 msg/sec OptimistAtomicQueue, 6,i: 50,341,285 msg/sec OptimistAtomicQueue, 7,s: 45,119,531 msg/sec OptimistAtomicQueue, 7,i: 52,049,013 msg/sec OptimistAtomicQueue, 8,s: 46,453,785 msg/sec OptimistAtomicQueue, 8,i: 49,168,430 msg/sec OptimistAtomicQueueB, 1,s: 197,023,167 msg/sec OptimistAtomicQueueB, 1,i: 130,008,365 msg/sec OptimistAtomicQueueB, 2,s: 32,198,643 msg/sec OptimistAtomicQueueB, 2,i: 32,251,950 msg/sec OptimistAtomicQueueB, 3,s: 36,276,208 msg/sec OptimistAtomicQueueB, 3,i: 36,970,186 msg/sec OptimistAtomicQueueB, 4,s: 38,584,452 msg/sec OptimistAtomicQueueB, 4,i: 38,712,623 msg/sec OptimistAtomicQueueB, 5,s: 41,119,755 msg/sec OptimistAtomicQueueB, 5,i: 45,283,485 msg/sec OptimistAtomicQueueB, 6,s: 41,345,845 msg/sec OptimistAtomicQueueB, 6,i: 49,245,897 msg/sec OptimistAtomicQueueB, 7,s: 42,358,788 msg/sec OptimistAtomicQueueB, 7,i: 51,600,869 msg/sec OptimistAtomicQueueB, 8,s: 44,318,970 msg/sec OptimistAtomicQueueB, 8,i: 47,705,281 msg/sec AtomicQueue2, 1,s: 22,906,144 msg/sec AtomicQueue2, 1,i: 22,836,356 msg/sec AtomicQueue2, 2,s: 11,806,563 msg/sec AtomicQueue2, 2,i: 11,651,718 msg/sec AtomicQueue2, 3,s: 9,726,182 msg/sec AtomicQueue2, 3,i: 9,436,516 msg/sec AtomicQueue2, 4,s: 8,056,848 msg/sec AtomicQueue2, 4,i: 8,054,736 msg/sec AtomicQueue2, 5,s: 7,931,914 msg/sec AtomicQueue2, 5,i: 8,069,934 msg/sec AtomicQueue2, 6,s: 7,813,203 msg/sec AtomicQueue2, 6,i: 7,548,249 msg/sec AtomicQueue2, 7,s: 7,133,235 msg/sec AtomicQueue2, 7,i: 7,873,924 msg/sec AtomicQueue2, 8,s: 6,387,073 msg/sec AtomicQueue2, 8,i: 7,271,701 msg/sec AtomicQueueB2, 1,s: 36,207,644 msg/sec AtomicQueueB2, 1,i: 32,622,810 msg/sec AtomicQueueB2, 2,s: 11,424,841 msg/sec AtomicQueueB2, 2,i: 11,111,004 msg/sec AtomicQueueB2, 3,s: 9,596,681 msg/sec AtomicQueueB2, 3,i: 9,416,735 msg/sec AtomicQueueB2, 4,s: 7,928,321 msg/sec AtomicQueueB2, 4,i: 7,789,645 msg/sec AtomicQueueB2, 5,s: 7,507,843 msg/sec AtomicQueueB2, 5,i: 7,607,824 msg/sec AtomicQueueB2, 6,s: 7,346,635 msg/sec AtomicQueueB2, 6,i: 7,455,924 msg/sec AtomicQueueB2, 7,s: 6,884,011 msg/sec AtomicQueueB2, 7,i: 7,714,371 msg/sec AtomicQueueB2, 8,s: 6,286,754 msg/sec AtomicQueueB2, 8,i: 7,101,300 msg/sec OptimistAtomicQueue2, 1,s: 31,667,497 msg/sec OptimistAtomicQueue2, 1,i: 29,539,048 msg/sec OptimistAtomicQueue2, 2,s: 24,257,890 msg/sec OptimistAtomicQueue2, 2,i: 24,078,710 msg/sec OptimistAtomicQueue2, 3,s: 30,320,687 msg/sec OptimistAtomicQueue2, 3,i: 30,063,601 msg/sec OptimistAtomicQueue2, 4,s: 33,172,864 msg/sec OptimistAtomicQueue2, 4,i: 33,356,612 msg/sec OptimistAtomicQueue2, 5,s: 37,116,656 msg/sec OptimistAtomicQueue2, 5,i: 40,954,356 msg/sec OptimistAtomicQueue2, 6,s: 40,121,786 msg/sec OptimistAtomicQueue2, 6,i: 48,895,601 msg/sec OptimistAtomicQueue2, 7,s: 42,712,246 msg/sec OptimistAtomicQueue2, 7,i: 51,070,541 msg/sec OptimistAtomicQueue2, 8,s: 44,155,984 msg/sec OptimistAtomicQueue2, 8,i: 48,793,706 msg/sec OptimistAtomicQueueB2, 1,s: 75,904,908 msg/sec OptimistAtomicQueueB2, 1,i: 33,865,619 msg/sec OptimistAtomicQueueB2, 2,s: 26,940,175 msg/sec OptimistAtomicQueueB2, 2,i: 23,154,660 msg/sec OptimistAtomicQueueB2, 3,s: 29,768,487 msg/sec OptimistAtomicQueueB2, 3,i: 28,966,309 msg/sec OptimistAtomicQueueB2, 4,s: 32,939,615 msg/sec OptimistAtomicQueueB2, 4,i: 31,931,999 msg/sec OptimistAtomicQueueB2, 5,s: 34,708,370 msg/sec OptimistAtomicQueueB2, 5,i: 39,453,854 msg/sec OptimistAtomicQueueB2, 6,s: 37,477,667 msg/sec OptimistAtomicQueueB2, 6,i: 42,288,471 msg/sec OptimistAtomicQueueB2, 7,s: 40,129,538 msg/sec OptimistAtomicQueueB2, 7,i: 45,454,332 msg/sec OptimistAtomicQueueB2, 8,s: 42,587,581 msg/sec OptimistAtomicQueueB2, 8,i: 45,143,086 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000328 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000145 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000272 sec/round-trip std::mutex: 0.000000516 sec/round-trip tbb::spin_mutex: 0.000000307 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [285] 105m:13s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,750,927 msg/sec boost::lockfree::spsc_queue, 1,i: 70,836,766 msg/sec boost::lockfree::queue, 1,s: 7,854,382 msg/sec boost::lockfree::queue, 1,i: 7,890,569 msg/sec boost::lockfree::queue, 2,s: 7,710,074 msg/sec boost::lockfree::queue, 2,i: 7,497,968 msg/sec boost::lockfree::queue, 3,s: 7,309,143 msg/sec boost::lockfree::queue, 3,i: 7,554,928 msg/sec boost::lockfree::queue, 4,s: 6,427,478 msg/sec boost::lockfree::queue, 4,i: 6,766,106 msg/sec boost::lockfree::queue, 5,s: 6,421,142 msg/sec boost::lockfree::queue, 5,i: 6,529,355 msg/sec boost::lockfree::queue, 6,s: 5,998,386 msg/sec boost::lockfree::queue, 6,i: 6,116,370 msg/sec boost::lockfree::queue, 7,s: 5,986,291 msg/sec boost::lockfree::queue, 7,i: 5,932,364 msg/sec boost::lockfree::queue, 8,s: 5,471,011 msg/sec boost::lockfree::queue, 8,i: 5,569,318 msg/sec moodycamel::ReaderWriterQueue, 1,s: 495,998,162 msg/sec moodycamel::ReaderWriterQueue, 1,i: 476,488,394 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,019,578 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,683,433 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,790,033 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,512,842 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,805,649 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,898,942 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,552,086 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,302,093 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,325,067 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,487,763 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,818,415 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,125,487 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,399,563 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,971,405 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,230,025 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,444,295 msg/sec pthread_spinlock, 1,s: 28,968,415 msg/sec pthread_spinlock, 1,i: 25,274,107 msg/sec pthread_spinlock, 2,s: 15,527,150 msg/sec pthread_spinlock, 2,i: 16,897,368 msg/sec pthread_spinlock, 3,s: 8,255,195 msg/sec pthread_spinlock, 3,i: 12,041,700 msg/sec pthread_spinlock, 4,s: 6,527,190 msg/sec pthread_spinlock, 4,i: 8,969,405 msg/sec pthread_spinlock, 5,s: 8,596,420 msg/sec pthread_spinlock, 5,i: 8,818,971 msg/sec pthread_spinlock, 6,s: 8,192,344 msg/sec pthread_spinlock, 6,i: 8,414,567 msg/sec pthread_spinlock, 7,s: 7,495,664 msg/sec pthread_spinlock, 7,i: 8,072,434 msg/sec pthread_spinlock, 8,s: 6,809,487 msg/sec pthread_spinlock, 8,i: 6,982,102 msg/sec std::mutex, 1,s: 5,839,404 msg/sec std::mutex, 1,i: 6,738,939 msg/sec std::mutex, 2,s: 5,526,000 msg/sec std::mutex, 2,i: 5,590,260 msg/sec std::mutex, 3,s: 5,492,402 msg/sec std::mutex, 3,i: 6,127,170 msg/sec std::mutex, 4,s: 6,187,325 msg/sec std::mutex, 4,i: 6,219,843 msg/sec std::mutex, 5,s: 6,129,725 msg/sec std::mutex, 5,i: 6,031,484 msg/sec std::mutex, 6,s: 6,061,487 msg/sec std::mutex, 6,i: 5,881,326 msg/sec std::mutex, 7,s: 5,866,315 msg/sec std::mutex, 7,i: 5,898,537 msg/sec std::mutex, 8,s: 5,756,850 msg/sec std::mutex, 8,i: 5,717,359 msg/sec tbb::spin_mutex, 1,s: 38,018,173 msg/sec tbb::spin_mutex, 1,i: 37,646,712 msg/sec tbb::spin_mutex, 2,s: 20,852,196 msg/sec tbb::spin_mutex, 2,i: 21,489,500 msg/sec tbb::spin_mutex, 3,s: 8,272,842 msg/sec tbb::spin_mutex, 3,i: 11,074,310 msg/sec tbb::spin_mutex, 4,s: 3,262,850 msg/sec tbb::spin_mutex, 4,i: 6,350,781 msg/sec tbb::spin_mutex, 5,s: 5,397,846 msg/sec tbb::spin_mutex, 5,i: 5,854,817 msg/sec tbb::spin_mutex, 6,s: 5,363,965 msg/sec tbb::spin_mutex, 6,i: 4,348,177 msg/sec tbb::spin_mutex, 7,s: 4,664,329 msg/sec tbb::spin_mutex, 7,i: 4,342,597 msg/sec tbb::spin_mutex, 8,s: 4,224,129 msg/sec tbb::spin_mutex, 8,i: 4,089,090 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,434,116 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,115,028 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,046,184 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,111,924 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,609,193 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,782,415 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,349,899 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,204,475 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,806,224 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,728,268 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,752,262 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,955,197 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,848,592 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,939,083 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,878,765 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,111,478 msg/sec xenium::michael_scott_queue, 1,s: 9,446,958 msg/sec xenium::michael_scott_queue, 1,i: 9,391,593 msg/sec xenium::michael_scott_queue, 2,s: 8,494,821 msg/sec xenium::michael_scott_queue, 2,i: 8,502,114 msg/sec xenium::michael_scott_queue, 3,s: 7,276,092 msg/sec xenium::michael_scott_queue, 3,i: 7,558,158 msg/sec xenium::michael_scott_queue, 4,s: 6,331,939 msg/sec xenium::michael_scott_queue, 4,i: 6,317,821 msg/sec xenium::michael_scott_queue, 5,s: 6,319,228 msg/sec xenium::michael_scott_queue, 5,i: 6,695,291 msg/sec xenium::michael_scott_queue, 6,s: 6,498,996 msg/sec xenium::michael_scott_queue, 6,i: 6,724,992 msg/sec xenium::michael_scott_queue, 7,s: 6,296,532 msg/sec xenium::michael_scott_queue, 7,i: 6,633,395 msg/sec xenium::michael_scott_queue, 8,s: 6,041,588 msg/sec xenium::michael_scott_queue, 8,i: 6,068,284 msg/sec xenium::ramalhete_queue, 1,s: 32,267,015 msg/sec xenium::ramalhete_queue, 1,i: 32,138,898 msg/sec xenium::ramalhete_queue, 2,s: 23,730,003 msg/sec xenium::ramalhete_queue, 2,i: 23,691,375 msg/sec xenium::ramalhete_queue, 3,s: 29,324,305 msg/sec xenium::ramalhete_queue, 3,i: 28,395,089 msg/sec xenium::ramalhete_queue, 4,s: 33,804,956 msg/sec xenium::ramalhete_queue, 4,i: 33,545,328 msg/sec xenium::ramalhete_queue, 5,s: 32,119,451 msg/sec xenium::ramalhete_queue, 5,i: 36,131,841 msg/sec xenium::ramalhete_queue, 6,s: 33,934,655 msg/sec xenium::ramalhete_queue, 6,i: 38,838,214 msg/sec xenium::ramalhete_queue, 7,s: 35,027,766 msg/sec xenium::ramalhete_queue, 7,i: 41,049,582 msg/sec xenium::ramalhete_queue, 8,s: 35,574,806 msg/sec xenium::ramalhete_queue, 8,i: 44,116,214 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,624,577 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,749,276 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,129,352 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,567,528 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,700,722 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,704,940 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,642,455 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,906,319 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,543,968 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,327,006 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,008,503 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,302,284 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,157,808 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,115,252 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,377,702 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,312,830 msg/sec AtomicQueue, 1,s: 60,280,477 msg/sec AtomicQueue, 1,i: 56,855,016 msg/sec AtomicQueue, 2,s: 12,371,208 msg/sec AtomicQueue, 2,i: 11,732,731 msg/sec AtomicQueue, 3,s: 10,793,105 msg/sec AtomicQueue, 3,i: 9,997,634 msg/sec AtomicQueue, 4,s: 8,207,947 msg/sec AtomicQueue, 4,i: 8,197,353 msg/sec AtomicQueue, 5,s: 8,055,576 msg/sec AtomicQueue, 5,i: 8,077,304 msg/sec AtomicQueue, 6,s: 7,743,378 msg/sec AtomicQueue, 6,i: 7,619,957 msg/sec AtomicQueue, 7,s: 7,073,610 msg/sec AtomicQueue, 7,i: 7,980,103 msg/sec AtomicQueue, 8,s: 6,355,422 msg/sec AtomicQueue, 8,i: 7,462,135 msg/sec AtomicQueueB, 1,s: 43,946,948 msg/sec AtomicQueueB, 1,i: 44,951,930 msg/sec AtomicQueueB, 2,s: 11,812,570 msg/sec AtomicQueueB, 2,i: 11,484,678 msg/sec AtomicQueueB, 3,s: 10,972,201 msg/sec AtomicQueueB, 3,i: 10,190,710 msg/sec AtomicQueueB, 4,s: 8,088,760 msg/sec AtomicQueueB, 4,i: 7,984,643 msg/sec AtomicQueueB, 5,s: 7,685,461 msg/sec AtomicQueueB, 5,i: 7,790,871 msg/sec AtomicQueueB, 6,s: 7,339,132 msg/sec AtomicQueueB, 6,i: 7,589,758 msg/sec AtomicQueueB, 7,s: 6,886,865 msg/sec AtomicQueueB, 7,i: 7,722,431 msg/sec AtomicQueueB, 8,s: 6,226,640 msg/sec AtomicQueueB, 8,i: 7,011,059 msg/sec OptimistAtomicQueue, 1,s: 615,204,502 msg/sec OptimistAtomicQueue, 1,i: 521,952,472 msg/sec OptimistAtomicQueue, 2,s: 32,564,035 msg/sec OptimistAtomicQueue, 2,i: 32,600,143 msg/sec OptimistAtomicQueue, 3,s: 36,689,578 msg/sec OptimistAtomicQueue, 3,i: 37,406,838 msg/sec OptimistAtomicQueue, 4,s: 39,265,378 msg/sec OptimistAtomicQueue, 4,i: 39,366,360 msg/sec OptimistAtomicQueue, 5,s: 42,452,933 msg/sec OptimistAtomicQueue, 5,i: 46,286,539 msg/sec OptimistAtomicQueue, 6,s: 42,579,967 msg/sec OptimistAtomicQueue, 6,i: 49,750,322 msg/sec OptimistAtomicQueue, 7,s: 45,106,298 msg/sec OptimistAtomicQueue, 7,i: 49,114,194 msg/sec OptimistAtomicQueue, 8,s: 46,406,177 msg/sec OptimistAtomicQueue, 8,i: 48,792,155 msg/sec OptimistAtomicQueueB, 1,s: 82,800,568 msg/sec OptimistAtomicQueueB, 1,i: 76,528,618 msg/sec OptimistAtomicQueueB, 2,s: 32,184,663 msg/sec OptimistAtomicQueueB, 2,i: 32,127,513 msg/sec OptimistAtomicQueueB, 3,s: 36,311,581 msg/sec OptimistAtomicQueueB, 3,i: 36,964,431 msg/sec OptimistAtomicQueueB, 4,s: 38,735,374 msg/sec OptimistAtomicQueueB, 4,i: 38,674,836 msg/sec OptimistAtomicQueueB, 5,s: 40,965,533 msg/sec OptimistAtomicQueueB, 5,i: 45,460,551 msg/sec OptimistAtomicQueueB, 6,s: 41,376,697 msg/sec OptimistAtomicQueueB, 6,i: 49,172,144 msg/sec OptimistAtomicQueueB, 7,s: 41,780,449 msg/sec OptimistAtomicQueueB, 7,i: 47,803,651 msg/sec OptimistAtomicQueueB, 8,s: 44,348,933 msg/sec OptimistAtomicQueueB, 8,i: 47,933,462 msg/sec AtomicQueue2, 1,s: 22,876,179 msg/sec AtomicQueue2, 1,i: 22,883,932 msg/sec AtomicQueue2, 2,s: 11,798,605 msg/sec AtomicQueue2, 2,i: 11,515,369 msg/sec AtomicQueue2, 3,s: 9,819,173 msg/sec AtomicQueue2, 3,i: 9,370,894 msg/sec AtomicQueue2, 4,s: 8,031,611 msg/sec AtomicQueue2, 4,i: 8,083,831 msg/sec AtomicQueue2, 5,s: 7,939,222 msg/sec AtomicQueue2, 5,i: 8,055,311 msg/sec AtomicQueue2, 6,s: 7,785,220 msg/sec AtomicQueue2, 6,i: 7,542,942 msg/sec AtomicQueue2, 7,s: 7,083,343 msg/sec AtomicQueue2, 7,i: 7,874,934 msg/sec AtomicQueue2, 8,s: 6,390,252 msg/sec AtomicQueue2, 8,i: 7,412,553 msg/sec AtomicQueueB2, 1,s: 36,069,424 msg/sec AtomicQueueB2, 1,i: 32,618,303 msg/sec AtomicQueueB2, 2,s: 11,332,949 msg/sec AtomicQueueB2, 2,i: 11,134,240 msg/sec AtomicQueueB2, 3,s: 9,643,124 msg/sec AtomicQueueB2, 3,i: 9,471,273 msg/sec AtomicQueueB2, 4,s: 7,947,788 msg/sec AtomicQueueB2, 4,i: 7,882,458 msg/sec AtomicQueueB2, 5,s: 7,538,455 msg/sec AtomicQueueB2, 5,i: 7,709,297 msg/sec AtomicQueueB2, 6,s: 7,222,475 msg/sec AtomicQueueB2, 6,i: 7,400,947 msg/sec AtomicQueueB2, 7,s: 6,905,070 msg/sec AtomicQueueB2, 7,i: 7,705,061 msg/sec AtomicQueueB2, 8,s: 6,267,350 msg/sec AtomicQueueB2, 8,i: 7,016,153 msg/sec OptimistAtomicQueue2, 1,s: 478,562,207 msg/sec OptimistAtomicQueue2, 1,i: 33,065,172 msg/sec OptimistAtomicQueue2, 2,s: 24,260,030 msg/sec OptimistAtomicQueue2, 2,i: 24,025,359 msg/sec OptimistAtomicQueue2, 3,s: 30,310,830 msg/sec OptimistAtomicQueue2, 3,i: 30,254,251 msg/sec OptimistAtomicQueue2, 4,s: 34,330,291 msg/sec OptimistAtomicQueue2, 4,i: 33,101,260 msg/sec OptimistAtomicQueue2, 5,s: 37,256,332 msg/sec OptimistAtomicQueue2, 5,i: 40,072,672 msg/sec OptimistAtomicQueue2, 6,s: 40,136,616 msg/sec OptimistAtomicQueue2, 6,i: 48,681,104 msg/sec OptimistAtomicQueue2, 7,s: 42,718,576 msg/sec OptimistAtomicQueue2, 7,i: 48,008,698 msg/sec OptimistAtomicQueue2, 8,s: 44,267,969 msg/sec OptimistAtomicQueue2, 8,i: 48,676,927 msg/sec OptimistAtomicQueueB2, 1,s: 77,897,508 msg/sec OptimistAtomicQueueB2, 1,i: 33,881,542 msg/sec OptimistAtomicQueueB2, 2,s: 27,788,752 msg/sec OptimistAtomicQueueB2, 2,i: 23,191,321 msg/sec OptimistAtomicQueueB2, 3,s: 29,815,598 msg/sec OptimistAtomicQueueB2, 3,i: 32,549,098 msg/sec OptimistAtomicQueueB2, 4,s: 33,067,322 msg/sec OptimistAtomicQueueB2, 4,i: 32,335,060 msg/sec OptimistAtomicQueueB2, 5,s: 34,204,197 msg/sec OptimistAtomicQueueB2, 5,i: 39,064,854 msg/sec OptimistAtomicQueueB2, 6,s: 37,296,103 msg/sec OptimistAtomicQueueB2, 6,i: 42,267,399 msg/sec OptimistAtomicQueueB2, 7,s: 40,290,538 msg/sec OptimistAtomicQueueB2, 7,i: 45,414,985 msg/sec OptimistAtomicQueueB2, 8,s: 42,261,205 msg/sec OptimistAtomicQueueB2, 8,i: 45,812,465 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000523 sec/round-trip tbb::spin_mutex: 0.000000307 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000393 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000172 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000173 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [286] 103m:54s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,632,526 msg/sec boost::lockfree::spsc_queue, 1,i: 68,496,486 msg/sec boost::lockfree::queue, 1,s: 6,839,268 msg/sec boost::lockfree::queue, 1,i: 6,897,158 msg/sec boost::lockfree::queue, 2,s: 7,665,424 msg/sec boost::lockfree::queue, 2,i: 7,478,496 msg/sec boost::lockfree::queue, 3,s: 7,335,748 msg/sec boost::lockfree::queue, 3,i: 7,594,132 msg/sec boost::lockfree::queue, 4,s: 6,423,545 msg/sec boost::lockfree::queue, 4,i: 6,780,021 msg/sec boost::lockfree::queue, 5,s: 6,469,024 msg/sec boost::lockfree::queue, 5,i: 6,473,818 msg/sec boost::lockfree::queue, 6,s: 5,995,341 msg/sec boost::lockfree::queue, 6,i: 6,089,060 msg/sec boost::lockfree::queue, 7,s: 5,818,475 msg/sec boost::lockfree::queue, 7,i: 6,038,261 msg/sec boost::lockfree::queue, 8,s: 5,511,527 msg/sec boost::lockfree::queue, 8,i: 5,579,565 msg/sec moodycamel::ReaderWriterQueue, 1,s: 302,892,624 msg/sec moodycamel::ReaderWriterQueue, 1,i: 395,980,559 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,121,916 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,431,634 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,217,062 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,998,522 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,237,745 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,805,458 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,025,618 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,973,523 msg/sec moodycamel::ConcurrentQueue, 5,s: 31,024,734 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,402,397 msg/sec moodycamel::ConcurrentQueue, 6,s: 30,593,821 msg/sec moodycamel::ConcurrentQueue, 6,i: 46,185,927 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,017,437 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,879,019 msg/sec moodycamel::ConcurrentQueue, 8,s: 52,499,755 msg/sec moodycamel::ConcurrentQueue, 8,i: 55,055,851 msg/sec pthread_spinlock, 1,s: 28,934,261 msg/sec pthread_spinlock, 1,i: 25,406,095 msg/sec pthread_spinlock, 2,s: 15,573,313 msg/sec pthread_spinlock, 2,i: 17,025,574 msg/sec pthread_spinlock, 3,s: 8,360,076 msg/sec pthread_spinlock, 3,i: 12,027,712 msg/sec pthread_spinlock, 4,s: 6,526,549 msg/sec pthread_spinlock, 4,i: 9,078,115 msg/sec pthread_spinlock, 5,s: 8,632,242 msg/sec pthread_spinlock, 5,i: 8,738,068 msg/sec pthread_spinlock, 6,s: 8,748,801 msg/sec pthread_spinlock, 6,i: 8,343,741 msg/sec pthread_spinlock, 7,s: 7,536,244 msg/sec pthread_spinlock, 7,i: 7,664,293 msg/sec pthread_spinlock, 8,s: 6,766,495 msg/sec pthread_spinlock, 8,i: 6,813,132 msg/sec std::mutex, 1,s: 7,087,213 msg/sec std::mutex, 1,i: 7,453,262 msg/sec std::mutex, 2,s: 5,211,510 msg/sec std::mutex, 2,i: 5,486,234 msg/sec std::mutex, 3,s: 5,028,515 msg/sec std::mutex, 3,i: 5,169,132 msg/sec std::mutex, 4,s: 5,784,996 msg/sec std::mutex, 4,i: 6,231,343 msg/sec std::mutex, 5,s: 5,948,347 msg/sec std::mutex, 5,i: 6,070,139 msg/sec std::mutex, 6,s: 5,829,664 msg/sec std::mutex, 6,i: 5,774,545 msg/sec std::mutex, 7,s: 5,791,369 msg/sec std::mutex, 7,i: 5,736,245 msg/sec std::mutex, 8,s: 5,721,304 msg/sec std::mutex, 8,i: 5,640,005 msg/sec tbb::spin_mutex, 1,s: 37,604,537 msg/sec tbb::spin_mutex, 1,i: 33,217,085 msg/sec tbb::spin_mutex, 2,s: 21,046,578 msg/sec tbb::spin_mutex, 2,i: 18,411,743 msg/sec tbb::spin_mutex, 3,s: 7,678,348 msg/sec tbb::spin_mutex, 3,i: 10,238,569 msg/sec tbb::spin_mutex, 4,s: 3,120,926 msg/sec tbb::spin_mutex, 4,i: 6,281,035 msg/sec tbb::spin_mutex, 5,s: 5,462,140 msg/sec tbb::spin_mutex, 5,i: 5,394,427 msg/sec tbb::spin_mutex, 6,s: 5,413,219 msg/sec tbb::spin_mutex, 6,i: 4,381,754 msg/sec tbb::spin_mutex, 7,s: 4,884,575 msg/sec tbb::spin_mutex, 7,i: 4,409,518 msg/sec tbb::spin_mutex, 8,s: 4,253,330 msg/sec tbb::spin_mutex, 8,i: 4,100,435 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,536,813 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,732,058 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,755,979 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,110,232 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,408,982 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,799,704 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,370,410 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,248,722 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,625,712 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,711,979 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,771,665 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,001,171 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,797,530 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,057,191 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,879,844 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,130,554 msg/sec xenium::michael_scott_queue, 1,s: 9,225,755 msg/sec xenium::michael_scott_queue, 1,i: 8,992,655 msg/sec xenium::michael_scott_queue, 2,s: 8,493,615 msg/sec xenium::michael_scott_queue, 2,i: 8,339,397 msg/sec xenium::michael_scott_queue, 3,s: 7,251,002 msg/sec xenium::michael_scott_queue, 3,i: 7,621,609 msg/sec xenium::michael_scott_queue, 4,s: 6,319,637 msg/sec xenium::michael_scott_queue, 4,i: 6,386,114 msg/sec xenium::michael_scott_queue, 5,s: 6,316,419 msg/sec xenium::michael_scott_queue, 5,i: 6,659,751 msg/sec xenium::michael_scott_queue, 6,s: 6,532,758 msg/sec xenium::michael_scott_queue, 6,i: 6,785,063 msg/sec xenium::michael_scott_queue, 7,s: 6,342,209 msg/sec xenium::michael_scott_queue, 7,i: 6,531,535 msg/sec xenium::michael_scott_queue, 8,s: 5,947,117 msg/sec xenium::michael_scott_queue, 8,i: 6,042,184 msg/sec xenium::ramalhete_queue, 1,s: 31,748,259 msg/sec xenium::ramalhete_queue, 1,i: 32,209,949 msg/sec xenium::ramalhete_queue, 2,s: 23,629,995 msg/sec xenium::ramalhete_queue, 2,i: 23,289,082 msg/sec xenium::ramalhete_queue, 3,s: 29,196,289 msg/sec xenium::ramalhete_queue, 3,i: 28,452,493 msg/sec xenium::ramalhete_queue, 4,s: 33,960,074 msg/sec xenium::ramalhete_queue, 4,i: 33,523,177 msg/sec xenium::ramalhete_queue, 5,s: 32,273,677 msg/sec xenium::ramalhete_queue, 5,i: 36,065,213 msg/sec xenium::ramalhete_queue, 6,s: 34,238,911 msg/sec xenium::ramalhete_queue, 6,i: 38,848,756 msg/sec xenium::ramalhete_queue, 7,s: 35,102,027 msg/sec xenium::ramalhete_queue, 7,i: 40,751,276 msg/sec xenium::ramalhete_queue, 8,s: 35,550,896 msg/sec xenium::ramalhete_queue, 8,i: 43,909,566 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,270,915 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,765,639 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,515,936 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,701,610 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,642,986 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,054,243 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,457,250 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,288,863 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,004,405 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,360,540 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,991,262 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,326,993 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,237,013 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,117,179 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,469,218 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,242,578 msg/sec AtomicQueue, 1,s: 52,801,952 msg/sec AtomicQueue, 1,i: 52,660,493 msg/sec AtomicQueue, 2,s: 12,313,490 msg/sec AtomicQueue, 2,i: 11,918,084 msg/sec AtomicQueue, 3,s: 10,737,185 msg/sec AtomicQueue, 3,i: 9,936,370 msg/sec AtomicQueue, 4,s: 8,209,747 msg/sec AtomicQueue, 4,i: 8,169,889 msg/sec AtomicQueue, 5,s: 8,025,661 msg/sec AtomicQueue, 5,i: 8,065,192 msg/sec AtomicQueue, 6,s: 7,934,940 msg/sec AtomicQueue, 6,i: 7,611,860 msg/sec AtomicQueue, 7,s: 7,136,043 msg/sec AtomicQueue, 7,i: 7,972,118 msg/sec AtomicQueue, 8,s: 6,346,204 msg/sec AtomicQueue, 8,i: 7,373,169 msg/sec AtomicQueueB, 1,s: 43,814,990 msg/sec AtomicQueueB, 1,i: 43,025,598 msg/sec AtomicQueueB, 2,s: 12,040,910 msg/sec AtomicQueueB, 2,i: 11,535,138 msg/sec AtomicQueueB, 3,s: 11,006,512 msg/sec AtomicQueueB, 3,i: 10,098,017 msg/sec AtomicQueueB, 4,s: 8,022,327 msg/sec AtomicQueueB, 4,i: 7,963,102 msg/sec AtomicQueueB, 5,s: 7,702,336 msg/sec AtomicQueueB, 5,i: 7,857,271 msg/sec AtomicQueueB, 6,s: 7,350,213 msg/sec AtomicQueueB, 6,i: 7,533,168 msg/sec AtomicQueueB, 7,s: 6,866,440 msg/sec AtomicQueueB, 7,i: 7,744,325 msg/sec AtomicQueueB, 8,s: 6,237,526 msg/sec AtomicQueueB, 8,i: 7,164,545 msg/sec OptimistAtomicQueue, 1,s: 755,525,107 msg/sec OptimistAtomicQueue, 1,i: 589,865,752 msg/sec OptimistAtomicQueue, 2,s: 32,663,916 msg/sec OptimistAtomicQueue, 2,i: 32,524,905 msg/sec OptimistAtomicQueue, 3,s: 36,690,433 msg/sec OptimistAtomicQueue, 3,i: 37,400,385 msg/sec OptimistAtomicQueue, 4,s: 39,264,514 msg/sec OptimistAtomicQueue, 4,i: 39,421,691 msg/sec OptimistAtomicQueue, 5,s: 41,699,426 msg/sec OptimistAtomicQueue, 5,i: 47,209,541 msg/sec OptimistAtomicQueue, 6,s: 42,765,446 msg/sec OptimistAtomicQueue, 6,i: 50,386,465 msg/sec OptimistAtomicQueue, 7,s: 45,056,671 msg/sec OptimistAtomicQueue, 7,i: 49,214,785 msg/sec OptimistAtomicQueue, 8,s: 46,403,790 msg/sec OptimistAtomicQueue, 8,i: 49,654,567 msg/sec OptimistAtomicQueueB, 1,s: 149,468,167 msg/sec OptimistAtomicQueueB, 1,i: 76,584,608 msg/sec OptimistAtomicQueueB, 2,s: 32,197,884 msg/sec OptimistAtomicQueueB, 2,i: 32,183,233 msg/sec OptimistAtomicQueueB, 3,s: 36,305,361 msg/sec OptimistAtomicQueueB, 3,i: 36,937,696 msg/sec OptimistAtomicQueueB, 4,s: 38,717,019 msg/sec OptimistAtomicQueueB, 4,i: 38,537,153 msg/sec OptimistAtomicQueueB, 5,s: 40,492,248 msg/sec OptimistAtomicQueueB, 5,i: 45,505,373 msg/sec OptimistAtomicQueueB, 6,s: 41,584,409 msg/sec OptimistAtomicQueueB, 6,i: 49,185,610 msg/sec OptimistAtomicQueueB, 7,s: 42,185,478 msg/sec OptimistAtomicQueueB, 7,i: 50,757,404 msg/sec OptimistAtomicQueueB, 8,s: 44,609,561 msg/sec OptimistAtomicQueueB, 8,i: 47,784,085 msg/sec AtomicQueue2, 1,s: 23,085,814 msg/sec AtomicQueue2, 1,i: 23,098,850 msg/sec AtomicQueue2, 2,s: 11,857,650 msg/sec AtomicQueue2, 2,i: 11,453,010 msg/sec AtomicQueue2, 3,s: 9,535,150 msg/sec AtomicQueue2, 3,i: 9,405,508 msg/sec AtomicQueue2, 4,s: 8,060,544 msg/sec AtomicQueue2, 4,i: 8,038,985 msg/sec AtomicQueue2, 5,s: 7,950,083 msg/sec AtomicQueue2, 5,i: 8,052,359 msg/sec AtomicQueue2, 6,s: 7,808,685 msg/sec AtomicQueue2, 6,i: 7,549,739 msg/sec AtomicQueue2, 7,s: 7,132,347 msg/sec AtomicQueue2, 7,i: 7,912,024 msg/sec AtomicQueue2, 8,s: 6,377,619 msg/sec AtomicQueue2, 8,i: 7,313,245 msg/sec AtomicQueueB2, 1,s: 35,690,967 msg/sec AtomicQueueB2, 1,i: 32,752,416 msg/sec AtomicQueueB2, 2,s: 11,456,044 msg/sec AtomicQueueB2, 2,i: 11,095,296 msg/sec AtomicQueueB2, 3,s: 9,811,007 msg/sec AtomicQueueB2, 3,i: 9,530,896 msg/sec AtomicQueueB2, 4,s: 7,943,804 msg/sec AtomicQueueB2, 4,i: 7,782,131 msg/sec AtomicQueueB2, 5,s: 7,503,995 msg/sec AtomicQueueB2, 5,i: 7,666,051 msg/sec AtomicQueueB2, 6,s: 7,211,203 msg/sec AtomicQueueB2, 6,i: 7,420,112 msg/sec AtomicQueueB2, 7,s: 6,964,920 msg/sec AtomicQueueB2, 7,i: 7,698,481 msg/sec AtomicQueueB2, 8,s: 6,250,482 msg/sec AtomicQueueB2, 8,i: 7,109,708 msg/sec OptimistAtomicQueue2, 1,s: 411,197,821 msg/sec OptimistAtomicQueue2, 1,i: 424,215,672 msg/sec OptimistAtomicQueue2, 2,s: 24,275,079 msg/sec OptimistAtomicQueue2, 2,i: 24,015,814 msg/sec OptimistAtomicQueue2, 3,s: 30,316,668 msg/sec OptimistAtomicQueue2, 3,i: 30,292,849 msg/sec OptimistAtomicQueue2, 4,s: 33,282,153 msg/sec OptimistAtomicQueue2, 4,i: 33,174,427 msg/sec OptimistAtomicQueue2, 5,s: 37,213,741 msg/sec OptimistAtomicQueue2, 5,i: 40,771,499 msg/sec OptimistAtomicQueue2, 6,s: 40,418,184 msg/sec OptimistAtomicQueue2, 6,i: 49,226,029 msg/sec OptimistAtomicQueue2, 7,s: 43,315,420 msg/sec OptimistAtomicQueue2, 7,i: 51,692,404 msg/sec OptimistAtomicQueue2, 8,s: 43,905,476 msg/sec OptimistAtomicQueue2, 8,i: 49,025,039 msg/sec OptimistAtomicQueueB2, 1,s: 76,691,467 msg/sec OptimistAtomicQueueB2, 1,i: 33,865,321 msg/sec OptimistAtomicQueueB2, 2,s: 26,522,962 msg/sec OptimistAtomicQueueB2, 2,i: 25,513,984 msg/sec OptimistAtomicQueueB2, 3,s: 29,960,995 msg/sec OptimistAtomicQueueB2, 3,i: 29,344,063 msg/sec OptimistAtomicQueueB2, 4,s: 33,407,866 msg/sec OptimistAtomicQueueB2, 4,i: 31,873,525 msg/sec OptimistAtomicQueueB2, 5,s: 34,663,923 msg/sec OptimistAtomicQueueB2, 5,i: 39,491,725 msg/sec OptimistAtomicQueueB2, 6,s: 37,580,297 msg/sec OptimistAtomicQueueB2, 6,i: 42,563,842 msg/sec OptimistAtomicQueueB2, 7,s: 40,194,020 msg/sec OptimistAtomicQueueB2, 7,i: 45,631,684 msg/sec OptimistAtomicQueueB2, 8,s: 42,288,715 msg/sec OptimistAtomicQueueB2, 8,i: 45,901,820 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000300 sec/round-trip std::mutex: 0.000000439 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip tbb::concurrent_bounded_queue: 0.000000305 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000143 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [287] 102m:35s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,588,185 msg/sec boost::lockfree::spsc_queue, 1,i: 69,225,868 msg/sec boost::lockfree::queue, 1,s: 6,833,990 msg/sec boost::lockfree::queue, 1,i: 6,898,899 msg/sec boost::lockfree::queue, 2,s: 7,644,799 msg/sec boost::lockfree::queue, 2,i: 7,587,001 msg/sec boost::lockfree::queue, 3,s: 7,378,155 msg/sec boost::lockfree::queue, 3,i: 7,531,725 msg/sec boost::lockfree::queue, 4,s: 6,427,190 msg/sec boost::lockfree::queue, 4,i: 6,781,194 msg/sec boost::lockfree::queue, 5,s: 6,415,267 msg/sec boost::lockfree::queue, 5,i: 6,537,582 msg/sec boost::lockfree::queue, 6,s: 5,972,981 msg/sec boost::lockfree::queue, 6,i: 6,130,872 msg/sec boost::lockfree::queue, 7,s: 5,895,059 msg/sec boost::lockfree::queue, 7,i: 6,049,387 msg/sec boost::lockfree::queue, 8,s: 5,425,252 msg/sec boost::lockfree::queue, 8,i: 5,584,147 msg/sec moodycamel::ReaderWriterQueue, 1,s: 538,089,253 msg/sec moodycamel::ReaderWriterQueue, 1,i: 125,223,520 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,616,813 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,805,344 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,446,807 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,587,526 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,645,342 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,626,905 msg/sec moodycamel::ConcurrentQueue, 4,s: 15,858,289 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,698,818 msg/sec moodycamel::ConcurrentQueue, 5,s: 16,999,457 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,315,065 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,367,632 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,878,559 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,030,967 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,945,320 msg/sec moodycamel::ConcurrentQueue, 8,s: 17,991,531 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,332,448 msg/sec pthread_spinlock, 1,s: 29,126,077 msg/sec pthread_spinlock, 1,i: 25,353,809 msg/sec pthread_spinlock, 2,s: 16,022,676 msg/sec pthread_spinlock, 2,i: 17,054,000 msg/sec pthread_spinlock, 3,s: 8,353,328 msg/sec pthread_spinlock, 3,i: 12,033,063 msg/sec pthread_spinlock, 4,s: 6,522,382 msg/sec pthread_spinlock, 4,i: 9,189,702 msg/sec pthread_spinlock, 5,s: 8,737,489 msg/sec pthread_spinlock, 5,i: 8,900,486 msg/sec pthread_spinlock, 6,s: 8,655,037 msg/sec pthread_spinlock, 6,i: 8,442,468 msg/sec pthread_spinlock, 7,s: 7,693,259 msg/sec pthread_spinlock, 7,i: 8,016,169 msg/sec pthread_spinlock, 8,s: 6,669,928 msg/sec pthread_spinlock, 8,i: 7,264,793 msg/sec std::mutex, 1,s: 6,723,338 msg/sec std::mutex, 1,i: 6,147,818 msg/sec std::mutex, 2,s: 5,508,958 msg/sec std::mutex, 2,i: 5,517,138 msg/sec std::mutex, 3,s: 5,290,209 msg/sec std::mutex, 3,i: 5,007,707 msg/sec std::mutex, 4,s: 5,321,081 msg/sec std::mutex, 4,i: 6,172,060 msg/sec std::mutex, 5,s: 6,095,806 msg/sec std::mutex, 5,i: 5,987,051 msg/sec std::mutex, 6,s: 5,661,774 msg/sec std::mutex, 6,i: 5,885,304 msg/sec std::mutex, 7,s: 5,765,658 msg/sec std::mutex, 7,i: 5,742,032 msg/sec std::mutex, 8,s: 5,651,982 msg/sec std::mutex, 8,i: 5,621,041 msg/sec tbb::spin_mutex, 1,s: 38,020,021 msg/sec tbb::spin_mutex, 1,i: 37,833,986 msg/sec tbb::spin_mutex, 2,s: 21,265,428 msg/sec tbb::spin_mutex, 2,i: 18,417,216 msg/sec tbb::spin_mutex, 3,s: 7,790,749 msg/sec tbb::spin_mutex, 3,i: 10,597,547 msg/sec tbb::spin_mutex, 4,s: 3,115,902 msg/sec tbb::spin_mutex, 4,i: 6,319,363 msg/sec tbb::spin_mutex, 5,s: 5,476,669 msg/sec tbb::spin_mutex, 5,i: 5,461,837 msg/sec tbb::spin_mutex, 6,s: 5,302,390 msg/sec tbb::spin_mutex, 6,i: 4,384,082 msg/sec tbb::spin_mutex, 7,s: 4,481,626 msg/sec tbb::spin_mutex, 7,i: 4,315,246 msg/sec tbb::spin_mutex, 8,s: 3,857,964 msg/sec tbb::spin_mutex, 8,i: 4,131,884 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,342,911 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,317,258 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,609,706 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,902,080 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,550,104 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,488,873 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,184,477 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,520,714 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,560,776 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,618,444 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,765,158 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,693,273 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,825,983 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,823,389 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,098,840 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,085,228 msg/sec xenium::michael_scott_queue, 1,s: 9,303,570 msg/sec xenium::michael_scott_queue, 1,i: 9,096,895 msg/sec xenium::michael_scott_queue, 2,s: 8,417,743 msg/sec xenium::michael_scott_queue, 2,i: 8,423,195 msg/sec xenium::michael_scott_queue, 3,s: 7,303,992 msg/sec xenium::michael_scott_queue, 3,i: 7,521,358 msg/sec xenium::michael_scott_queue, 4,s: 6,319,315 msg/sec xenium::michael_scott_queue, 4,i: 6,320,950 msg/sec xenium::michael_scott_queue, 5,s: 6,267,453 msg/sec xenium::michael_scott_queue, 5,i: 6,724,384 msg/sec xenium::michael_scott_queue, 6,s: 6,538,248 msg/sec xenium::michael_scott_queue, 6,i: 6,721,227 msg/sec xenium::michael_scott_queue, 7,s: 6,301,364 msg/sec xenium::michael_scott_queue, 7,i: 6,530,054 msg/sec xenium::michael_scott_queue, 8,s: 6,062,110 msg/sec xenium::michael_scott_queue, 8,i: 6,214,559 msg/sec xenium::ramalhete_queue, 1,s: 31,131,375 msg/sec xenium::ramalhete_queue, 1,i: 31,165,971 msg/sec xenium::ramalhete_queue, 2,s: 23,712,696 msg/sec xenium::ramalhete_queue, 2,i: 23,372,669 msg/sec xenium::ramalhete_queue, 3,s: 29,170,225 msg/sec xenium::ramalhete_queue, 3,i: 28,472,571 msg/sec xenium::ramalhete_queue, 4,s: 33,701,143 msg/sec xenium::ramalhete_queue, 4,i: 33,485,537 msg/sec xenium::ramalhete_queue, 5,s: 32,072,502 msg/sec xenium::ramalhete_queue, 5,i: 35,879,293 msg/sec xenium::ramalhete_queue, 6,s: 33,820,113 msg/sec xenium::ramalhete_queue, 6,i: 38,826,263 msg/sec xenium::ramalhete_queue, 7,s: 35,051,632 msg/sec xenium::ramalhete_queue, 7,i: 41,420,588 msg/sec xenium::ramalhete_queue, 8,s: 35,522,330 msg/sec xenium::ramalhete_queue, 8,i: 43,993,430 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,629,692 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,745,370 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,311,564 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,275,182 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,622,391 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,912,952 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,517,724 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,335,375 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,944,459 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,357,914 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,116,594 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,609,584 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,291,718 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,309,505 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,377,968 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,528,898 msg/sec AtomicQueue, 1,s: 59,739,799 msg/sec AtomicQueue, 1,i: 56,680,730 msg/sec AtomicQueue, 2,s: 12,255,339 msg/sec AtomicQueue, 2,i: 11,784,314 msg/sec AtomicQueue, 3,s: 10,750,426 msg/sec AtomicQueue, 3,i: 9,990,094 msg/sec AtomicQueue, 4,s: 8,212,191 msg/sec AtomicQueue, 4,i: 8,200,039 msg/sec AtomicQueue, 5,s: 8,037,417 msg/sec AtomicQueue, 5,i: 8,095,836 msg/sec AtomicQueue, 6,s: 7,892,164 msg/sec AtomicQueue, 6,i: 7,630,901 msg/sec AtomicQueue, 7,s: 7,098,104 msg/sec AtomicQueue, 7,i: 7,991,849 msg/sec AtomicQueue, 8,s: 6,347,549 msg/sec AtomicQueue, 8,i: 7,352,849 msg/sec AtomicQueueB, 1,s: 43,845,367 msg/sec AtomicQueueB, 1,i: 43,182,737 msg/sec AtomicQueueB, 2,s: 11,658,708 msg/sec AtomicQueueB, 2,i: 11,454,730 msg/sec AtomicQueueB, 3,s: 10,999,166 msg/sec AtomicQueueB, 3,i: 10,160,874 msg/sec AtomicQueueB, 4,s: 8,029,033 msg/sec AtomicQueueB, 4,i: 8,052,131 msg/sec AtomicQueueB, 5,s: 7,564,026 msg/sec AtomicQueueB, 5,i: 7,864,726 msg/sec AtomicQueueB, 6,s: 7,267,726 msg/sec AtomicQueueB, 6,i: 7,511,720 msg/sec AtomicQueueB, 7,s: 6,908,317 msg/sec AtomicQueueB, 7,i: 7,721,884 msg/sec AtomicQueueB, 8,s: 6,298,214 msg/sec AtomicQueueB, 8,i: 7,017,406 msg/sec OptimistAtomicQueue, 1,s: 801,027,237 msg/sec OptimistAtomicQueue, 1,i: 588,276,906 msg/sec OptimistAtomicQueue, 2,s: 32,244,025 msg/sec OptimistAtomicQueue, 2,i: 32,269,204 msg/sec OptimistAtomicQueue, 3,s: 36,666,758 msg/sec OptimistAtomicQueue, 3,i: 37,417,053 msg/sec OptimistAtomicQueue, 4,s: 39,252,306 msg/sec OptimistAtomicQueue, 4,i: 39,372,639 msg/sec OptimistAtomicQueue, 5,s: 41,803,153 msg/sec OptimistAtomicQueue, 5,i: 48,491,469 msg/sec OptimistAtomicQueue, 6,s: 42,901,915 msg/sec OptimistAtomicQueue, 6,i: 50,318,737 msg/sec OptimistAtomicQueue, 7,s: 44,040,352 msg/sec OptimistAtomicQueue, 7,i: 49,107,475 msg/sec OptimistAtomicQueue, 8,s: 46,463,963 msg/sec OptimistAtomicQueue, 8,i: 49,370,252 msg/sec OptimistAtomicQueueB, 1,s: 200,346,860 msg/sec OptimistAtomicQueueB, 1,i: 76,451,044 msg/sec OptimistAtomicQueueB, 2,s: 32,121,285 msg/sec OptimistAtomicQueueB, 2,i: 32,209,111 msg/sec OptimistAtomicQueueB, 3,s: 36,291,499 msg/sec OptimistAtomicQueueB, 3,i: 36,863,231 msg/sec OptimistAtomicQueueB, 4,s: 38,699,669 msg/sec OptimistAtomicQueueB, 4,i: 38,717,107 msg/sec OptimistAtomicQueueB, 5,s: 41,137,687 msg/sec OptimistAtomicQueueB, 5,i: 45,209,987 msg/sec OptimistAtomicQueueB, 6,s: 40,957,480 msg/sec OptimistAtomicQueueB, 6,i: 49,251,553 msg/sec OptimistAtomicQueueB, 7,s: 42,855,969 msg/sec OptimistAtomicQueueB, 7,i: 51,537,583 msg/sec OptimistAtomicQueueB, 8,s: 44,258,656 msg/sec OptimistAtomicQueueB, 8,i: 48,329,801 msg/sec AtomicQueue2, 1,s: 22,943,557 msg/sec AtomicQueue2, 1,i: 22,898,025 msg/sec AtomicQueue2, 2,s: 11,848,367 msg/sec AtomicQueue2, 2,i: 11,643,858 msg/sec AtomicQueue2, 3,s: 9,430,217 msg/sec AtomicQueue2, 3,i: 9,397,301 msg/sec AtomicQueue2, 4,s: 8,016,930 msg/sec AtomicQueue2, 4,i: 8,021,157 msg/sec AtomicQueue2, 5,s: 7,978,188 msg/sec AtomicQueue2, 5,i: 8,040,622 msg/sec AtomicQueue2, 6,s: 7,841,882 msg/sec AtomicQueue2, 6,i: 7,534,162 msg/sec AtomicQueue2, 7,s: 7,187,062 msg/sec AtomicQueue2, 7,i: 7,889,851 msg/sec AtomicQueue2, 8,s: 6,364,280 msg/sec AtomicQueue2, 8,i: 7,364,774 msg/sec AtomicQueueB2, 1,s: 36,264,985 msg/sec AtomicQueueB2, 1,i: 32,656,155 msg/sec AtomicQueueB2, 2,s: 11,467,432 msg/sec AtomicQueueB2, 2,i: 11,077,935 msg/sec AtomicQueueB2, 3,s: 9,598,394 msg/sec AtomicQueueB2, 3,i: 9,542,052 msg/sec AtomicQueueB2, 4,s: 7,867,812 msg/sec AtomicQueueB2, 4,i: 7,786,874 msg/sec AtomicQueueB2, 5,s: 7,499,283 msg/sec AtomicQueueB2, 5,i: 7,749,363 msg/sec AtomicQueueB2, 6,s: 7,215,207 msg/sec AtomicQueueB2, 6,i: 7,438,741 msg/sec AtomicQueueB2, 7,s: 6,870,096 msg/sec AtomicQueueB2, 7,i: 7,727,685 msg/sec AtomicQueueB2, 8,s: 6,318,697 msg/sec AtomicQueueB2, 8,i: 7,068,141 msg/sec OptimistAtomicQueue2, 1,s: 519,611,164 msg/sec OptimistAtomicQueue2, 1,i: 36,875,721 msg/sec OptimistAtomicQueue2, 2,s: 25,952,571 msg/sec OptimistAtomicQueue2, 2,i: 25,072,393 msg/sec OptimistAtomicQueue2, 3,s: 31,173,664 msg/sec OptimistAtomicQueue2, 3,i: 30,093,778 msg/sec OptimistAtomicQueue2, 4,s: 33,190,600 msg/sec OptimistAtomicQueue2, 4,i: 33,308,143 msg/sec OptimistAtomicQueue2, 5,s: 37,262,876 msg/sec OptimistAtomicQueue2, 5,i: 40,326,617 msg/sec OptimistAtomicQueue2, 6,s: 40,321,516 msg/sec OptimistAtomicQueue2, 6,i: 49,268,221 msg/sec OptimistAtomicQueue2, 7,s: 43,099,800 msg/sec OptimistAtomicQueue2, 7,i: 48,003,997 msg/sec OptimistAtomicQueue2, 8,s: 43,933,280 msg/sec OptimistAtomicQueue2, 8,i: 48,914,840 msg/sec OptimistAtomicQueueB2, 1,s: 77,813,554 msg/sec OptimistAtomicQueueB2, 1,i: 33,879,319 msg/sec OptimistAtomicQueueB2, 2,s: 27,253,133 msg/sec OptimistAtomicQueueB2, 2,i: 25,199,501 msg/sec OptimistAtomicQueueB2, 3,s: 31,748,782 msg/sec OptimistAtomicQueueB2, 3,i: 29,263,891 msg/sec OptimistAtomicQueueB2, 4,s: 32,990,167 msg/sec OptimistAtomicQueueB2, 4,i: 32,628,240 msg/sec OptimistAtomicQueueB2, 5,s: 34,592,329 msg/sec OptimistAtomicQueueB2, 5,i: 39,450,745 msg/sec OptimistAtomicQueueB2, 6,s: 37,654,522 msg/sec OptimistAtomicQueueB2, 6,i: 42,270,402 msg/sec OptimistAtomicQueueB2, 7,s: 40,274,438 msg/sec OptimistAtomicQueueB2, 7,i: 45,479,315 msg/sec OptimistAtomicQueueB2, 8,s: 42,356,043 msg/sec OptimistAtomicQueueB2, 8,i: 45,850,168 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000164 sec/round-trip moodycamel::ConcurrentQueue: 0.000000208 sec/round-trip pthread_spinlock: 0.000000244 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000264 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [288] 101m:15s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,491,637 msg/sec boost::lockfree::spsc_queue, 1,i: 65,656,120 msg/sec boost::lockfree::queue, 1,s: 6,820,731 msg/sec boost::lockfree::queue, 1,i: 6,879,450 msg/sec boost::lockfree::queue, 2,s: 7,636,914 msg/sec boost::lockfree::queue, 2,i: 7,399,465 msg/sec boost::lockfree::queue, 3,s: 7,403,841 msg/sec boost::lockfree::queue, 3,i: 7,551,832 msg/sec boost::lockfree::queue, 4,s: 6,419,642 msg/sec boost::lockfree::queue, 4,i: 6,750,435 msg/sec boost::lockfree::queue, 5,s: 6,496,848 msg/sec boost::lockfree::queue, 5,i: 6,516,944 msg/sec boost::lockfree::queue, 6,s: 5,975,250 msg/sec boost::lockfree::queue, 6,i: 6,116,665 msg/sec boost::lockfree::queue, 7,s: 5,805,881 msg/sec boost::lockfree::queue, 7,i: 6,044,699 msg/sec boost::lockfree::queue, 8,s: 5,442,333 msg/sec boost::lockfree::queue, 8,i: 5,624,660 msg/sec moodycamel::ReaderWriterQueue, 1,s: 469,925,253 msg/sec moodycamel::ReaderWriterQueue, 1,i: 469,345,684 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,002,640 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,107,765 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,923,187 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,843,898 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,487,350 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,435,062 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,618,810 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,683,403 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,106,220 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,566,464 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,689,324 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,478,225 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,395,336 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,426,072 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,011,330 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,983,321 msg/sec pthread_spinlock, 1,s: 29,383,147 msg/sec pthread_spinlock, 1,i: 25,496,106 msg/sec pthread_spinlock, 2,s: 15,625,284 msg/sec pthread_spinlock, 2,i: 17,152,583 msg/sec pthread_spinlock, 3,s: 8,313,238 msg/sec pthread_spinlock, 3,i: 12,035,930 msg/sec pthread_spinlock, 4,s: 6,475,495 msg/sec pthread_spinlock, 4,i: 8,933,229 msg/sec pthread_spinlock, 5,s: 8,675,205 msg/sec pthread_spinlock, 5,i: 9,265,290 msg/sec pthread_spinlock, 6,s: 8,504,984 msg/sec pthread_spinlock, 6,i: 8,472,836 msg/sec pthread_spinlock, 7,s: 7,566,384 msg/sec pthread_spinlock, 7,i: 7,858,657 msg/sec pthread_spinlock, 8,s: 6,682,089 msg/sec pthread_spinlock, 8,i: 6,917,922 msg/sec std::mutex, 1,s: 5,681,974 msg/sec std::mutex, 1,i: 7,615,392 msg/sec std::mutex, 2,s: 6,249,927 msg/sec std::mutex, 2,i: 6,245,832 msg/sec std::mutex, 3,s: 4,645,350 msg/sec std::mutex, 3,i: 4,752,224 msg/sec std::mutex, 4,s: 5,755,484 msg/sec std::mutex, 4,i: 5,664,179 msg/sec std::mutex, 5,s: 5,970,795 msg/sec std::mutex, 5,i: 5,839,949 msg/sec std::mutex, 6,s: 5,930,583 msg/sec std::mutex, 6,i: 5,922,136 msg/sec std::mutex, 7,s: 5,824,289 msg/sec std::mutex, 7,i: 5,845,707 msg/sec std::mutex, 8,s: 5,722,995 msg/sec std::mutex, 8,i: 5,769,861 msg/sec tbb::spin_mutex, 1,s: 37,590,715 msg/sec tbb::spin_mutex, 1,i: 32,797,325 msg/sec tbb::spin_mutex, 2,s: 21,153,226 msg/sec tbb::spin_mutex, 2,i: 18,513,578 msg/sec tbb::spin_mutex, 3,s: 8,100,772 msg/sec tbb::spin_mutex, 3,i: 11,119,698 msg/sec tbb::spin_mutex, 4,s: 3,169,212 msg/sec tbb::spin_mutex, 4,i: 6,382,505 msg/sec tbb::spin_mutex, 5,s: 5,399,593 msg/sec tbb::spin_mutex, 5,i: 5,674,040 msg/sec tbb::spin_mutex, 6,s: 5,237,392 msg/sec tbb::spin_mutex, 6,i: 4,371,495 msg/sec tbb::spin_mutex, 7,s: 4,717,010 msg/sec tbb::spin_mutex, 7,i: 4,349,378 msg/sec tbb::spin_mutex, 8,s: 3,823,761 msg/sec tbb::spin_mutex, 8,i: 4,163,156 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,286,708 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,381,473 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,094,023 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,465,681 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,486,690 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,470,088 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,534,612 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,606,375 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,920,658 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,655,901 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,950,565 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,655,440 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,906,778 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,828,208 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,768,662 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,459,597 msg/sec xenium::michael_scott_queue, 1,s: 9,414,988 msg/sec xenium::michael_scott_queue, 1,i: 9,399,906 msg/sec xenium::michael_scott_queue, 2,s: 8,447,266 msg/sec xenium::michael_scott_queue, 2,i: 8,430,206 msg/sec xenium::michael_scott_queue, 3,s: 7,283,544 msg/sec xenium::michael_scott_queue, 3,i: 7,557,238 msg/sec xenium::michael_scott_queue, 4,s: 6,311,915 msg/sec xenium::michael_scott_queue, 4,i: 6,379,565 msg/sec xenium::michael_scott_queue, 5,s: 6,321,743 msg/sec xenium::michael_scott_queue, 5,i: 6,674,614 msg/sec xenium::michael_scott_queue, 6,s: 6,561,474 msg/sec xenium::michael_scott_queue, 6,i: 6,948,606 msg/sec xenium::michael_scott_queue, 7,s: 6,274,621 msg/sec xenium::michael_scott_queue, 7,i: 6,383,508 msg/sec xenium::michael_scott_queue, 8,s: 6,023,228 msg/sec xenium::michael_scott_queue, 8,i: 6,085,529 msg/sec xenium::ramalhete_queue, 1,s: 32,225,887 msg/sec xenium::ramalhete_queue, 1,i: 32,054,313 msg/sec xenium::ramalhete_queue, 2,s: 24,216,643 msg/sec xenium::ramalhete_queue, 2,i: 23,333,655 msg/sec xenium::ramalhete_queue, 3,s: 29,221,955 msg/sec xenium::ramalhete_queue, 3,i: 28,546,409 msg/sec xenium::ramalhete_queue, 4,s: 33,904,026 msg/sec xenium::ramalhete_queue, 4,i: 33,443,465 msg/sec xenium::ramalhete_queue, 5,s: 31,940,017 msg/sec xenium::ramalhete_queue, 5,i: 36,294,904 msg/sec xenium::ramalhete_queue, 6,s: 34,154,921 msg/sec xenium::ramalhete_queue, 6,i: 39,120,787 msg/sec xenium::ramalhete_queue, 7,s: 34,999,588 msg/sec xenium::ramalhete_queue, 7,i: 40,752,559 msg/sec xenium::ramalhete_queue, 8,s: 35,533,816 msg/sec xenium::ramalhete_queue, 8,i: 43,901,283 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,449,306 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,736,076 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,957,897 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,239,872 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,436,309 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,160,520 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,633,116 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,443,147 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,475,846 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,335,066 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,141,173 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,516,874 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,268,467 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,127,406 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,411,039 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,327,201 msg/sec AtomicQueue, 1,s: 145,604,549 msg/sec AtomicQueue, 1,i: 111,644,389 msg/sec AtomicQueue, 2,s: 12,242,522 msg/sec AtomicQueue, 2,i: 11,756,619 msg/sec AtomicQueue, 3,s: 10,787,906 msg/sec AtomicQueue, 3,i: 9,920,701 msg/sec AtomicQueue, 4,s: 8,204,535 msg/sec AtomicQueue, 4,i: 8,169,668 msg/sec AtomicQueue, 5,s: 8,049,417 msg/sec AtomicQueue, 5,i: 8,108,096 msg/sec AtomicQueue, 6,s: 7,819,692 msg/sec AtomicQueue, 6,i: 7,609,967 msg/sec AtomicQueue, 7,s: 7,161,674 msg/sec AtomicQueue, 7,i: 7,989,800 msg/sec AtomicQueue, 8,s: 6,316,783 msg/sec AtomicQueue, 8,i: 7,429,117 msg/sec AtomicQueueB, 1,s: 43,722,230 msg/sec AtomicQueueB, 1,i: 43,016,088 msg/sec AtomicQueueB, 2,s: 11,857,759 msg/sec AtomicQueueB, 2,i: 11,337,664 msg/sec AtomicQueueB, 3,s: 10,998,046 msg/sec AtomicQueueB, 3,i: 10,116,857 msg/sec AtomicQueueB, 4,s: 8,012,420 msg/sec AtomicQueueB, 4,i: 8,051,757 msg/sec AtomicQueueB, 5,s: 7,561,468 msg/sec AtomicQueueB, 5,i: 7,765,696 msg/sec AtomicQueueB, 6,s: 7,235,781 msg/sec AtomicQueueB, 6,i: 7,527,687 msg/sec AtomicQueueB, 7,s: 6,848,665 msg/sec AtomicQueueB, 7,i: 7,712,851 msg/sec AtomicQueueB, 8,s: 6,230,686 msg/sec AtomicQueueB, 8,i: 7,141,909 msg/sec OptimistAtomicQueue, 1,s: 717,849,452 msg/sec OptimistAtomicQueue, 1,i: 523,384,834 msg/sec OptimistAtomicQueue, 2,s: 32,663,270 msg/sec OptimistAtomicQueue, 2,i: 32,724,532 msg/sec OptimistAtomicQueue, 3,s: 36,700,808 msg/sec OptimistAtomicQueue, 3,i: 37,421,400 msg/sec OptimistAtomicQueue, 4,s: 39,266,080 msg/sec OptimistAtomicQueue, 4,i: 39,383,358 msg/sec OptimistAtomicQueue, 5,s: 41,688,299 msg/sec OptimistAtomicQueue, 5,i: 48,661,245 msg/sec OptimistAtomicQueue, 6,s: 42,565,488 msg/sec OptimistAtomicQueue, 6,i: 50,216,334 msg/sec OptimistAtomicQueue, 7,s: 45,209,155 msg/sec OptimistAtomicQueue, 7,i: 49,137,974 msg/sec OptimistAtomicQueue, 8,s: 46,346,799 msg/sec OptimistAtomicQueue, 8,i: 48,860,817 msg/sec OptimistAtomicQueueB, 1,s: 77,783,770 msg/sec OptimistAtomicQueueB, 1,i: 76,688,676 msg/sec OptimistAtomicQueueB, 2,s: 32,212,448 msg/sec OptimistAtomicQueueB, 2,i: 32,285,258 msg/sec OptimistAtomicQueueB, 3,s: 36,286,787 msg/sec OptimistAtomicQueueB, 3,i: 36,631,906 msg/sec OptimistAtomicQueueB, 4,s: 38,629,904 msg/sec OptimistAtomicQueueB, 4,i: 38,513,545 msg/sec OptimistAtomicQueueB, 5,s: 40,021,507 msg/sec OptimistAtomicQueueB, 5,i: 45,970,379 msg/sec OptimistAtomicQueueB, 6,s: 41,118,466 msg/sec OptimistAtomicQueueB, 6,i: 48,728,162 msg/sec OptimistAtomicQueueB, 7,s: 41,662,772 msg/sec OptimistAtomicQueueB, 7,i: 51,579,075 msg/sec OptimistAtomicQueueB, 8,s: 44,429,827 msg/sec OptimistAtomicQueueB, 8,i: 48,109,030 msg/sec AtomicQueue2, 1,s: 22,863,874 msg/sec AtomicQueue2, 1,i: 22,869,168 msg/sec AtomicQueue2, 2,s: 11,864,018 msg/sec AtomicQueue2, 2,i: 11,587,916 msg/sec AtomicQueue2, 3,s: 9,447,301 msg/sec AtomicQueue2, 3,i: 9,389,899 msg/sec AtomicQueue2, 4,s: 8,016,386 msg/sec AtomicQueue2, 4,i: 8,064,869 msg/sec AtomicQueue2, 5,s: 7,895,693 msg/sec AtomicQueue2, 5,i: 8,050,011 msg/sec AtomicQueue2, 6,s: 7,714,643 msg/sec AtomicQueue2, 6,i: 7,468,414 msg/sec AtomicQueue2, 7,s: 7,152,990 msg/sec AtomicQueue2, 7,i: 7,924,089 msg/sec AtomicQueue2, 8,s: 6,379,940 msg/sec AtomicQueue2, 8,i: 7,321,819 msg/sec AtomicQueueB2, 1,s: 36,212,781 msg/sec AtomicQueueB2, 1,i: 32,605,492 msg/sec AtomicQueueB2, 2,s: 11,423,054 msg/sec AtomicQueueB2, 2,i: 11,096,998 msg/sec AtomicQueueB2, 3,s: 9,652,059 msg/sec AtomicQueueB2, 3,i: 9,481,658 msg/sec AtomicQueueB2, 4,s: 7,930,556 msg/sec AtomicQueueB2, 4,i: 7,809,495 msg/sec AtomicQueueB2, 5,s: 7,525,524 msg/sec AtomicQueueB2, 5,i: 7,678,945 msg/sec AtomicQueueB2, 6,s: 7,190,709 msg/sec AtomicQueueB2, 6,i: 7,472,552 msg/sec AtomicQueueB2, 7,s: 6,896,260 msg/sec AtomicQueueB2, 7,i: 7,718,970 msg/sec AtomicQueueB2, 8,s: 6,365,051 msg/sec AtomicQueueB2, 8,i: 7,051,945 msg/sec OptimistAtomicQueue2, 1,s: 546,577,264 msg/sec OptimistAtomicQueue2, 1,i: 145,164,764 msg/sec OptimistAtomicQueue2, 2,s: 27,991,581 msg/sec OptimistAtomicQueue2, 2,i: 22,561,190 msg/sec OptimistAtomicQueue2, 3,s: 32,629,713 msg/sec OptimistAtomicQueue2, 3,i: 29,977,101 msg/sec OptimistAtomicQueue2, 4,s: 33,206,139 msg/sec OptimistAtomicQueue2, 4,i: 33,129,878 msg/sec OptimistAtomicQueue2, 5,s: 37,166,053 msg/sec OptimistAtomicQueue2, 5,i: 40,251,870 msg/sec OptimistAtomicQueue2, 6,s: 40,412,928 msg/sec OptimistAtomicQueue2, 6,i: 49,292,767 msg/sec OptimistAtomicQueue2, 7,s: 42,741,701 msg/sec OptimistAtomicQueue2, 7,i: 48,095,758 msg/sec OptimistAtomicQueue2, 8,s: 43,856,810 msg/sec OptimistAtomicQueue2, 8,i: 48,791,117 msg/sec OptimistAtomicQueueB2, 1,s: 77,005,921 msg/sec OptimistAtomicQueueB2, 1,i: 78,950,794 msg/sec OptimistAtomicQueueB2, 2,s: 28,898,230 msg/sec OptimistAtomicQueueB2, 2,i: 23,182,759 msg/sec OptimistAtomicQueueB2, 3,s: 29,783,663 msg/sec OptimistAtomicQueueB2, 3,i: 32,606,495 msg/sec OptimistAtomicQueueB2, 4,s: 32,928,966 msg/sec OptimistAtomicQueueB2, 4,i: 32,829,253 msg/sec OptimistAtomicQueueB2, 5,s: 34,467,806 msg/sec OptimistAtomicQueueB2, 5,i: 39,095,743 msg/sec OptimistAtomicQueueB2, 6,s: 37,386,528 msg/sec OptimistAtomicQueueB2, 6,i: 42,259,598 msg/sec OptimistAtomicQueueB2, 7,s: 40,636,291 msg/sec OptimistAtomicQueueB2, 7,i: 45,640,758 msg/sec OptimistAtomicQueueB2, 8,s: 42,082,568 msg/sec OptimistAtomicQueueB2, 8,i: 45,061,692 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000129 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000249 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000260 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [289] 99m:56s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,209,681 msg/sec boost::lockfree::spsc_queue, 1,i: 67,081,741 msg/sec boost::lockfree::queue, 1,s: 6,860,748 msg/sec boost::lockfree::queue, 1,i: 6,989,643 msg/sec boost::lockfree::queue, 2,s: 7,527,044 msg/sec boost::lockfree::queue, 2,i: 7,588,434 msg/sec boost::lockfree::queue, 3,s: 7,449,143 msg/sec boost::lockfree::queue, 3,i: 7,568,196 msg/sec boost::lockfree::queue, 4,s: 6,423,975 msg/sec boost::lockfree::queue, 4,i: 6,766,398 msg/sec boost::lockfree::queue, 5,s: 6,420,275 msg/sec boost::lockfree::queue, 5,i: 6,469,414 msg/sec boost::lockfree::queue, 6,s: 6,034,613 msg/sec boost::lockfree::queue, 6,i: 6,086,857 msg/sec boost::lockfree::queue, 7,s: 6,061,058 msg/sec boost::lockfree::queue, 7,i: 6,031,395 msg/sec boost::lockfree::queue, 8,s: 5,443,530 msg/sec boost::lockfree::queue, 8,i: 5,723,037 msg/sec moodycamel::ReaderWriterQueue, 1,s: 109,592,322 msg/sec moodycamel::ReaderWriterQueue, 1,i: 48,297,544 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,748,365 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,544,319 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,094,557 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,392,531 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,198,475 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,796,196 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,692,332 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,710,795 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,349,339 msg/sec moodycamel::ConcurrentQueue, 5,i: 41,800,810 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,331,476 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,941,577 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,040,849 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,438,552 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,290,583 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,494,757 msg/sec pthread_spinlock, 1,s: 28,850,799 msg/sec pthread_spinlock, 1,i: 25,386,954 msg/sec pthread_spinlock, 2,s: 15,669,120 msg/sec pthread_spinlock, 2,i: 17,003,666 msg/sec pthread_spinlock, 3,s: 8,299,880 msg/sec pthread_spinlock, 3,i: 11,973,298 msg/sec pthread_spinlock, 4,s: 6,591,695 msg/sec pthread_spinlock, 4,i: 8,689,990 msg/sec pthread_spinlock, 5,s: 8,743,595 msg/sec pthread_spinlock, 5,i: 9,019,536 msg/sec pthread_spinlock, 6,s: 8,683,751 msg/sec pthread_spinlock, 6,i: 9,057,824 msg/sec pthread_spinlock, 7,s: 7,600,516 msg/sec pthread_spinlock, 7,i: 7,645,786 msg/sec pthread_spinlock, 8,s: 6,687,694 msg/sec pthread_spinlock, 8,i: 7,208,083 msg/sec std::mutex, 1,s: 7,337,837 msg/sec std::mutex, 1,i: 6,205,106 msg/sec std::mutex, 2,s: 5,849,796 msg/sec std::mutex, 2,i: 5,954,808 msg/sec std::mutex, 3,s: 6,097,532 msg/sec std::mutex, 3,i: 5,399,430 msg/sec std::mutex, 4,s: 5,297,607 msg/sec std::mutex, 4,i: 6,247,930 msg/sec std::mutex, 5,s: 6,097,743 msg/sec std::mutex, 5,i: 6,025,871 msg/sec std::mutex, 6,s: 5,987,460 msg/sec std::mutex, 6,i: 5,925,662 msg/sec std::mutex, 7,s: 5,828,851 msg/sec std::mutex, 7,i: 5,834,876 msg/sec std::mutex, 8,s: 5,705,434 msg/sec std::mutex, 8,i: 5,703,673 msg/sec tbb::spin_mutex, 1,s: 37,693,930 msg/sec tbb::spin_mutex, 1,i: 33,062,878 msg/sec tbb::spin_mutex, 2,s: 21,274,850 msg/sec tbb::spin_mutex, 2,i: 18,427,151 msg/sec tbb::spin_mutex, 3,s: 8,469,434 msg/sec tbb::spin_mutex, 3,i: 10,697,064 msg/sec tbb::spin_mutex, 4,s: 3,088,877 msg/sec tbb::spin_mutex, 4,i: 6,301,152 msg/sec tbb::spin_mutex, 5,s: 5,586,795 msg/sec tbb::spin_mutex, 5,i: 5,486,440 msg/sec tbb::spin_mutex, 6,s: 5,205,006 msg/sec tbb::spin_mutex, 6,i: 4,379,221 msg/sec tbb::spin_mutex, 7,s: 4,826,962 msg/sec tbb::spin_mutex, 7,i: 4,284,013 msg/sec tbb::spin_mutex, 8,s: 4,257,294 msg/sec tbb::spin_mutex, 8,i: 4,074,756 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,302,889 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,317,992 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,266,546 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,075,625 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,546,567 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,706,019 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,978,020 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,275,769 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,764,104 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,657,636 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,809,317 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,702,159 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,878,949 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,125,410 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,890,974 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,439,353 msg/sec xenium::michael_scott_queue, 1,s: 9,494,971 msg/sec xenium::michael_scott_queue, 1,i: 9,516,100 msg/sec xenium::michael_scott_queue, 2,s: 8,591,132 msg/sec xenium::michael_scott_queue, 2,i: 8,585,319 msg/sec xenium::michael_scott_queue, 3,s: 7,339,341 msg/sec xenium::michael_scott_queue, 3,i: 7,647,100 msg/sec xenium::michael_scott_queue, 4,s: 6,309,904 msg/sec xenium::michael_scott_queue, 4,i: 6,351,541 msg/sec xenium::michael_scott_queue, 5,s: 6,291,625 msg/sec xenium::michael_scott_queue, 5,i: 6,619,832 msg/sec xenium::michael_scott_queue, 6,s: 6,556,061 msg/sec xenium::michael_scott_queue, 6,i: 6,979,064 msg/sec xenium::michael_scott_queue, 7,s: 6,319,286 msg/sec xenium::michael_scott_queue, 7,i: 6,555,607 msg/sec xenium::michael_scott_queue, 8,s: 6,001,023 msg/sec xenium::michael_scott_queue, 8,i: 6,096,718 msg/sec xenium::ramalhete_queue, 1,s: 31,947,460 msg/sec xenium::ramalhete_queue, 1,i: 32,580,972 msg/sec xenium::ramalhete_queue, 2,s: 23,561,944 msg/sec xenium::ramalhete_queue, 2,i: 23,363,643 msg/sec xenium::ramalhete_queue, 3,s: 29,377,821 msg/sec xenium::ramalhete_queue, 3,i: 28,485,427 msg/sec xenium::ramalhete_queue, 4,s: 33,938,728 msg/sec xenium::ramalhete_queue, 4,i: 33,441,216 msg/sec xenium::ramalhete_queue, 5,s: 31,949,029 msg/sec xenium::ramalhete_queue, 5,i: 36,075,271 msg/sec xenium::ramalhete_queue, 6,s: 34,067,186 msg/sec xenium::ramalhete_queue, 6,i: 38,924,386 msg/sec xenium::ramalhete_queue, 7,s: 35,044,710 msg/sec xenium::ramalhete_queue, 7,i: 41,809,717 msg/sec xenium::ramalhete_queue, 8,s: 35,540,807 msg/sec xenium::ramalhete_queue, 8,i: 44,340,098 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,940,268 msg/sec xenium::vyukov_bounded_queue, 1,i: 102,438,557 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,062,276 msg/sec xenium::vyukov_bounded_queue, 2,i: 22,570,763 msg/sec xenium::vyukov_bounded_queue, 3,s: 14,968,003 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,776,429 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,469,067 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,286,048 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,013,132 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,436,500 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,829,472 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,539,500 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,181,072 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,066,396 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,399,663 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,212,527 msg/sec AtomicQueue, 1,s: 286,258,811 msg/sec AtomicQueue, 1,i: 215,797,079 msg/sec AtomicQueue, 2,s: 12,334,009 msg/sec AtomicQueue, 2,i: 11,733,457 msg/sec AtomicQueue, 3,s: 10,803,429 msg/sec AtomicQueue, 3,i: 9,906,325 msg/sec AtomicQueue, 4,s: 8,195,640 msg/sec AtomicQueue, 4,i: 8,209,297 msg/sec AtomicQueue, 5,s: 8,015,926 msg/sec AtomicQueue, 5,i: 8,103,431 msg/sec AtomicQueue, 6,s: 7,834,615 msg/sec AtomicQueue, 6,i: 7,623,485 msg/sec AtomicQueue, 7,s: 7,110,930 msg/sec AtomicQueue, 7,i: 7,942,194 msg/sec AtomicQueue, 8,s: 6,318,384 msg/sec AtomicQueue, 8,i: 7,323,651 msg/sec AtomicQueueB, 1,s: 54,273,443 msg/sec AtomicQueueB, 1,i: 43,056,596 msg/sec AtomicQueueB, 2,s: 11,839,210 msg/sec AtomicQueueB, 2,i: 11,485,644 msg/sec AtomicQueueB, 3,s: 11,051,657 msg/sec AtomicQueueB, 3,i: 10,122,187 msg/sec AtomicQueueB, 4,s: 8,021,805 msg/sec AtomicQueueB, 4,i: 7,978,303 msg/sec AtomicQueueB, 5,s: 7,585,580 msg/sec AtomicQueueB, 5,i: 7,737,759 msg/sec AtomicQueueB, 6,s: 7,395,817 msg/sec AtomicQueueB, 6,i: 7,567,792 msg/sec AtomicQueueB, 7,s: 6,871,646 msg/sec AtomicQueueB, 7,i: 7,737,673 msg/sec AtomicQueueB, 8,s: 6,194,050 msg/sec AtomicQueueB, 8,i: 7,142,046 msg/sec OptimistAtomicQueue, 1,s: 720,964,289 msg/sec OptimistAtomicQueue, 1,i: 541,978,247 msg/sec OptimistAtomicQueue, 2,s: 32,288,154 msg/sec OptimistAtomicQueue, 2,i: 32,386,464 msg/sec OptimistAtomicQueue, 3,s: 36,633,221 msg/sec OptimistAtomicQueue, 3,i: 37,396,585 msg/sec OptimistAtomicQueue, 4,s: 39,280,883 msg/sec OptimistAtomicQueue, 4,i: 39,401,504 msg/sec OptimistAtomicQueue, 5,s: 41,734,860 msg/sec OptimistAtomicQueue, 5,i: 46,533,100 msg/sec OptimistAtomicQueue, 6,s: 42,322,269 msg/sec OptimistAtomicQueue, 6,i: 50,261,822 msg/sec OptimistAtomicQueue, 7,s: 44,951,983 msg/sec OptimistAtomicQueue, 7,i: 53,044,142 msg/sec OptimistAtomicQueue, 8,s: 46,396,324 msg/sec OptimistAtomicQueue, 8,i: 50,201,689 msg/sec OptimistAtomicQueueB, 1,s: 78,008,555 msg/sec OptimistAtomicQueueB, 1,i: 182,346,331 msg/sec OptimistAtomicQueueB, 2,s: 32,214,688 msg/sec OptimistAtomicQueueB, 2,i: 31,876,728 msg/sec OptimistAtomicQueueB, 3,s: 36,269,475 msg/sec OptimistAtomicQueueB, 3,i: 36,910,799 msg/sec OptimistAtomicQueueB, 4,s: 38,698,372 msg/sec OptimistAtomicQueueB, 4,i: 38,631,256 msg/sec OptimistAtomicQueueB, 5,s: 40,514,307 msg/sec OptimistAtomicQueueB, 5,i: 45,179,042 msg/sec OptimistAtomicQueueB, 6,s: 40,640,302 msg/sec OptimistAtomicQueueB, 6,i: 49,292,916 msg/sec OptimistAtomicQueueB, 7,s: 41,908,351 msg/sec OptimistAtomicQueueB, 7,i: 51,555,066 msg/sec OptimistAtomicQueueB, 8,s: 44,424,625 msg/sec OptimistAtomicQueueB, 8,i: 47,755,093 msg/sec AtomicQueue2, 1,s: 23,151,176 msg/sec AtomicQueue2, 1,i: 23,029,731 msg/sec AtomicQueue2, 2,s: 11,747,877 msg/sec AtomicQueue2, 2,i: 11,441,940 msg/sec AtomicQueue2, 3,s: 9,347,906 msg/sec AtomicQueue2, 3,i: 9,365,856 msg/sec AtomicQueue2, 4,s: 8,093,229 msg/sec AtomicQueue2, 4,i: 8,069,328 msg/sec AtomicQueue2, 5,s: 7,936,110 msg/sec AtomicQueue2, 5,i: 8,046,061 msg/sec AtomicQueue2, 6,s: 7,808,347 msg/sec AtomicQueue2, 6,i: 7,537,345 msg/sec AtomicQueue2, 7,s: 7,124,483 msg/sec AtomicQueue2, 7,i: 7,884,382 msg/sec AtomicQueue2, 8,s: 6,381,604 msg/sec AtomicQueue2, 8,i: 7,269,637 msg/sec AtomicQueueB2, 1,s: 36,235,162 msg/sec AtomicQueueB2, 1,i: 32,634,122 msg/sec AtomicQueueB2, 2,s: 11,432,875 msg/sec AtomicQueueB2, 2,i: 11,122,374 msg/sec AtomicQueueB2, 3,s: 9,668,583 msg/sec AtomicQueueB2, 3,i: 9,527,331 msg/sec AtomicQueueB2, 4,s: 7,919,949 msg/sec AtomicQueueB2, 4,i: 7,798,802 msg/sec AtomicQueueB2, 5,s: 7,372,331 msg/sec AtomicQueueB2, 5,i: 7,722,233 msg/sec AtomicQueueB2, 6,s: 7,269,013 msg/sec AtomicQueueB2, 6,i: 7,440,457 msg/sec AtomicQueueB2, 7,s: 6,906,418 msg/sec AtomicQueueB2, 7,i: 7,672,092 msg/sec AtomicQueueB2, 8,s: 6,320,670 msg/sec AtomicQueueB2, 8,i: 7,097,845 msg/sec OptimistAtomicQueue2, 1,s: 465,672,649 msg/sec OptimistAtomicQueue2, 1,i: 29,847,786 msg/sec OptimistAtomicQueue2, 2,s: 24,270,418 msg/sec OptimistAtomicQueue2, 2,i: 24,016,555 msg/sec OptimistAtomicQueue2, 3,s: 30,303,841 msg/sec OptimistAtomicQueue2, 3,i: 29,946,271 msg/sec OptimistAtomicQueue2, 4,s: 35,960,414 msg/sec OptimistAtomicQueue2, 4,i: 33,155,185 msg/sec OptimistAtomicQueue2, 5,s: 37,262,448 msg/sec OptimistAtomicQueue2, 5,i: 41,013,200 msg/sec OptimistAtomicQueue2, 6,s: 40,512,760 msg/sec OptimistAtomicQueue2, 6,i: 49,147,296 msg/sec OptimistAtomicQueue2, 7,s: 43,181,879 msg/sec OptimistAtomicQueue2, 7,i: 51,497,160 msg/sec OptimistAtomicQueue2, 8,s: 43,763,517 msg/sec OptimistAtomicQueue2, 8,i: 49,804,663 msg/sec OptimistAtomicQueueB2, 1,s: 76,568,667 msg/sec OptimistAtomicQueueB2, 1,i: 33,938,629 msg/sec OptimistAtomicQueueB2, 2,s: 27,310,082 msg/sec OptimistAtomicQueueB2, 2,i: 23,172,745 msg/sec OptimistAtomicQueueB2, 3,s: 29,737,570 msg/sec OptimistAtomicQueueB2, 3,i: 31,774,421 msg/sec OptimistAtomicQueueB2, 4,s: 33,346,990 msg/sec OptimistAtomicQueueB2, 4,i: 32,898,055 msg/sec OptimistAtomicQueueB2, 5,s: 34,685,631 msg/sec OptimistAtomicQueueB2, 5,i: 39,360,069 msg/sec OptimistAtomicQueueB2, 6,s: 37,316,350 msg/sec OptimistAtomicQueueB2, 6,i: 42,393,608 msg/sec OptimistAtomicQueueB2, 7,s: 40,689,630 msg/sec OptimistAtomicQueueB2, 7,i: 43,137,302 msg/sec OptimistAtomicQueueB2, 8,s: 42,028,856 msg/sec OptimistAtomicQueueB2, 8,i: 45,216,324 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000158 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000474 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000224 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [290] 98m:36s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,019,399 msg/sec boost::lockfree::spsc_queue, 1,i: 69,088,414 msg/sec boost::lockfree::queue, 1,s: 6,825,371 msg/sec boost::lockfree::queue, 1,i: 6,990,543 msg/sec boost::lockfree::queue, 2,s: 7,559,024 msg/sec boost::lockfree::queue, 2,i: 7,374,771 msg/sec boost::lockfree::queue, 3,s: 7,427,452 msg/sec boost::lockfree::queue, 3,i: 7,586,517 msg/sec boost::lockfree::queue, 4,s: 6,408,414 msg/sec boost::lockfree::queue, 4,i: 6,761,836 msg/sec boost::lockfree::queue, 5,s: 6,478,843 msg/sec boost::lockfree::queue, 5,i: 6,422,990 msg/sec boost::lockfree::queue, 6,s: 6,031,236 msg/sec boost::lockfree::queue, 6,i: 6,127,144 msg/sec boost::lockfree::queue, 7,s: 6,022,463 msg/sec boost::lockfree::queue, 7,i: 6,140,170 msg/sec boost::lockfree::queue, 8,s: 5,552,907 msg/sec boost::lockfree::queue, 8,i: 5,671,218 msg/sec moodycamel::ReaderWriterQueue, 1,s: 53,642,251 msg/sec moodycamel::ReaderWriterQueue, 1,i: 46,570,559 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,915,966 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,125,388 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,770,638 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,717,135 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,559,706 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,809,942 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,640,394 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,076,725 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,415,160 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,892,773 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,741,871 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,093,789 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,066,094 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,554,411 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,814,924 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,672,675 msg/sec pthread_spinlock, 1,s: 28,862,747 msg/sec pthread_spinlock, 1,i: 25,436,993 msg/sec pthread_spinlock, 2,s: 15,519,362 msg/sec pthread_spinlock, 2,i: 16,993,311 msg/sec pthread_spinlock, 3,s: 8,413,028 msg/sec pthread_spinlock, 3,i: 11,959,463 msg/sec pthread_spinlock, 4,s: 6,515,189 msg/sec pthread_spinlock, 4,i: 9,080,494 msg/sec pthread_spinlock, 5,s: 8,698,801 msg/sec pthread_spinlock, 5,i: 9,391,103 msg/sec pthread_spinlock, 6,s: 8,385,615 msg/sec pthread_spinlock, 6,i: 8,900,985 msg/sec pthread_spinlock, 7,s: 7,528,157 msg/sec pthread_spinlock, 7,i: 7,904,142 msg/sec pthread_spinlock, 8,s: 6,776,230 msg/sec pthread_spinlock, 8,i: 6,959,532 msg/sec std::mutex, 1,s: 7,537,893 msg/sec std::mutex, 1,i: 6,976,868 msg/sec std::mutex, 2,s: 5,727,537 msg/sec std::mutex, 2,i: 6,121,074 msg/sec std::mutex, 3,s: 5,970,653 msg/sec std::mutex, 3,i: 5,959,921 msg/sec std::mutex, 4,s: 6,181,883 msg/sec std::mutex, 4,i: 6,195,634 msg/sec std::mutex, 5,s: 6,044,255 msg/sec std::mutex, 5,i: 5,645,718 msg/sec std::mutex, 6,s: 5,874,240 msg/sec std::mutex, 6,i: 5,852,717 msg/sec std::mutex, 7,s: 5,791,189 msg/sec std::mutex, 7,i: 5,758,940 msg/sec std::mutex, 8,s: 5,649,610 msg/sec std::mutex, 8,i: 5,673,160 msg/sec tbb::spin_mutex, 1,s: 38,018,615 msg/sec tbb::spin_mutex, 1,i: 33,155,420 msg/sec tbb::spin_mutex, 2,s: 21,251,792 msg/sec tbb::spin_mutex, 2,i: 18,307,702 msg/sec tbb::spin_mutex, 3,s: 8,303,076 msg/sec tbb::spin_mutex, 3,i: 10,264,270 msg/sec tbb::spin_mutex, 4,s: 3,193,861 msg/sec tbb::spin_mutex, 4,i: 6,316,841 msg/sec tbb::spin_mutex, 5,s: 5,547,881 msg/sec tbb::spin_mutex, 5,i: 5,644,917 msg/sec tbb::spin_mutex, 6,s: 5,253,998 msg/sec tbb::spin_mutex, 6,i: 4,378,600 msg/sec tbb::spin_mutex, 7,s: 4,846,185 msg/sec tbb::spin_mutex, 7,i: 4,344,289 msg/sec tbb::spin_mutex, 8,s: 4,245,823 msg/sec tbb::spin_mutex, 8,i: 4,063,468 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,276,217 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,193,217 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,770,915 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,863,279 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,438,409 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,481,903 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,078,632 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,519,052 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,579,889 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,549,653 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,720,811 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,696,583 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,839,278 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,805,661 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,068,381 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,077,984 msg/sec xenium::michael_scott_queue, 1,s: 10,148,901 msg/sec xenium::michael_scott_queue, 1,i: 9,814,873 msg/sec xenium::michael_scott_queue, 2,s: 8,514,512 msg/sec xenium::michael_scott_queue, 2,i: 8,621,958 msg/sec xenium::michael_scott_queue, 3,s: 7,082,227 msg/sec xenium::michael_scott_queue, 3,i: 7,518,707 msg/sec xenium::michael_scott_queue, 4,s: 6,349,656 msg/sec xenium::michael_scott_queue, 4,i: 6,324,273 msg/sec xenium::michael_scott_queue, 5,s: 6,261,881 msg/sec xenium::michael_scott_queue, 5,i: 6,577,477 msg/sec xenium::michael_scott_queue, 6,s: 6,562,946 msg/sec xenium::michael_scott_queue, 6,i: 6,994,428 msg/sec xenium::michael_scott_queue, 7,s: 6,323,842 msg/sec xenium::michael_scott_queue, 7,i: 6,531,474 msg/sec xenium::michael_scott_queue, 8,s: 5,968,151 msg/sec xenium::michael_scott_queue, 8,i: 6,065,602 msg/sec xenium::ramalhete_queue, 1,s: 31,513,629 msg/sec xenium::ramalhete_queue, 1,i: 31,586,668 msg/sec xenium::ramalhete_queue, 2,s: 23,480,494 msg/sec xenium::ramalhete_queue, 2,i: 23,283,797 msg/sec xenium::ramalhete_queue, 3,s: 29,153,117 msg/sec xenium::ramalhete_queue, 3,i: 28,658,547 msg/sec xenium::ramalhete_queue, 4,s: 33,767,344 msg/sec xenium::ramalhete_queue, 4,i: 33,484,861 msg/sec xenium::ramalhete_queue, 5,s: 32,035,241 msg/sec xenium::ramalhete_queue, 5,i: 35,912,155 msg/sec xenium::ramalhete_queue, 6,s: 33,960,410 msg/sec xenium::ramalhete_queue, 6,i: 39,123,893 msg/sec xenium::ramalhete_queue, 7,s: 35,073,430 msg/sec xenium::ramalhete_queue, 7,i: 42,053,237 msg/sec xenium::ramalhete_queue, 8,s: 35,575,836 msg/sec xenium::ramalhete_queue, 8,i: 43,913,679 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,113,388 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,782,832 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,053,413 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,915,087 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,386,184 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,200,082 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,502,172 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,153,255 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,905,567 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,284,959 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,954,671 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,278,321 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,249,431 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,947,726 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,414,209 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,374,074 msg/sec AtomicQueue, 1,s: 60,045,898 msg/sec AtomicQueue, 1,i: 56,914,855 msg/sec AtomicQueue, 2,s: 12,321,114 msg/sec AtomicQueue, 2,i: 11,736,524 msg/sec AtomicQueue, 3,s: 10,751,047 msg/sec AtomicQueue, 3,i: 9,949,215 msg/sec AtomicQueue, 4,s: 8,206,468 msg/sec AtomicQueue, 4,i: 8,189,933 msg/sec AtomicQueue, 5,s: 7,997,421 msg/sec AtomicQueue, 5,i: 8,148,610 msg/sec AtomicQueue, 6,s: 7,688,655 msg/sec AtomicQueue, 6,i: 7,618,742 msg/sec AtomicQueue, 7,s: 7,168,570 msg/sec AtomicQueue, 7,i: 7,987,841 msg/sec AtomicQueue, 8,s: 6,325,494 msg/sec AtomicQueue, 8,i: 7,440,412 msg/sec AtomicQueueB, 1,s: 44,055,708 msg/sec AtomicQueueB, 1,i: 45,551,133 msg/sec AtomicQueueB, 2,s: 11,768,001 msg/sec AtomicQueueB, 2,i: 11,466,767 msg/sec AtomicQueueB, 3,s: 11,058,521 msg/sec AtomicQueueB, 3,i: 10,069,052 msg/sec AtomicQueueB, 4,s: 8,032,961 msg/sec AtomicQueueB, 4,i: 8,085,183 msg/sec AtomicQueueB, 5,s: 7,458,567 msg/sec AtomicQueueB, 5,i: 7,840,798 msg/sec AtomicQueueB, 6,s: 7,193,912 msg/sec AtomicQueueB, 6,i: 7,523,030 msg/sec AtomicQueueB, 7,s: 6,927,563 msg/sec AtomicQueueB, 7,i: 7,700,283 msg/sec AtomicQueueB, 8,s: 6,253,764 msg/sec AtomicQueueB, 8,i: 6,996,780 msg/sec OptimistAtomicQueue, 1,s: 785,247,862 msg/sec OptimistAtomicQueue, 1,i: 516,041,737 msg/sec OptimistAtomicQueue, 2,s: 32,646,605 msg/sec OptimistAtomicQueue, 2,i: 32,712,399 msg/sec OptimistAtomicQueue, 3,s: 36,683,013 msg/sec OptimistAtomicQueue, 3,i: 37,404,529 msg/sec OptimistAtomicQueue, 4,s: 39,265,529 msg/sec OptimistAtomicQueue, 4,i: 39,392,026 msg/sec OptimistAtomicQueue, 5,s: 42,500,699 msg/sec OptimistAtomicQueue, 5,i: 46,360,860 msg/sec OptimistAtomicQueue, 6,s: 42,436,894 msg/sec OptimistAtomicQueue, 6,i: 50,510,860 msg/sec OptimistAtomicQueue, 7,s: 45,144,827 msg/sec OptimistAtomicQueue, 7,i: 52,944,386 msg/sec OptimistAtomicQueue, 8,s: 46,414,181 msg/sec OptimistAtomicQueue, 8,i: 48,829,373 msg/sec OptimistAtomicQueueB, 1,s: 77,981,252 msg/sec OptimistAtomicQueueB, 1,i: 77,594,164 msg/sec OptimistAtomicQueueB, 2,s: 31,722,519 msg/sec OptimistAtomicQueueB, 2,i: 32,224,346 msg/sec OptimistAtomicQueueB, 3,s: 36,250,284 msg/sec OptimistAtomicQueueB, 3,i: 36,824,062 msg/sec OptimistAtomicQueueB, 4,s: 38,723,410 msg/sec OptimistAtomicQueueB, 4,i: 38,682,181 msg/sec OptimistAtomicQueueB, 5,s: 41,050,553 msg/sec OptimistAtomicQueueB, 5,i: 45,974,218 msg/sec OptimistAtomicQueueB, 6,s: 41,045,564 msg/sec OptimistAtomicQueueB, 6,i: 49,249,491 msg/sec OptimistAtomicQueueB, 7,s: 42,426,903 msg/sec OptimistAtomicQueueB, 7,i: 48,182,890 msg/sec OptimistAtomicQueueB, 8,s: 44,463,992 msg/sec OptimistAtomicQueueB, 8,i: 47,969,898 msg/sec AtomicQueue2, 1,s: 23,100,294 msg/sec AtomicQueue2, 1,i: 23,131,117 msg/sec AtomicQueue2, 2,s: 11,824,537 msg/sec AtomicQueue2, 2,i: 11,492,315 msg/sec AtomicQueue2, 3,s: 9,475,748 msg/sec AtomicQueue2, 3,i: 9,387,290 msg/sec AtomicQueue2, 4,s: 8,014,238 msg/sec AtomicQueue2, 4,i: 8,024,929 msg/sec AtomicQueue2, 5,s: 7,949,344 msg/sec AtomicQueue2, 5,i: 8,027,745 msg/sec AtomicQueue2, 6,s: 7,703,589 msg/sec AtomicQueue2, 6,i: 7,537,819 msg/sec AtomicQueue2, 7,s: 7,158,678 msg/sec AtomicQueue2, 7,i: 7,885,812 msg/sec AtomicQueue2, 8,s: 6,384,475 msg/sec AtomicQueue2, 8,i: 7,241,135 msg/sec AtomicQueueB2, 1,s: 36,329,936 msg/sec AtomicQueueB2, 1,i: 36,364,862 msg/sec AtomicQueueB2, 2,s: 11,428,443 msg/sec AtomicQueueB2, 2,i: 11,138,811 msg/sec AtomicQueueB2, 3,s: 9,558,106 msg/sec AtomicQueueB2, 3,i: 9,580,396 msg/sec AtomicQueueB2, 4,s: 7,903,015 msg/sec AtomicQueueB2, 4,i: 7,835,417 msg/sec AtomicQueueB2, 5,s: 7,419,874 msg/sec AtomicQueueB2, 5,i: 7,604,242 msg/sec AtomicQueueB2, 6,s: 7,245,028 msg/sec AtomicQueueB2, 6,i: 7,455,933 msg/sec AtomicQueueB2, 7,s: 6,895,126 msg/sec AtomicQueueB2, 7,i: 7,713,223 msg/sec AtomicQueueB2, 8,s: 6,256,051 msg/sec AtomicQueueB2, 8,i: 6,950,077 msg/sec OptimistAtomicQueue2, 1,s: 32,672,818 msg/sec OptimistAtomicQueue2, 1,i: 31,566,280 msg/sec OptimistAtomicQueue2, 2,s: 29,516,399 msg/sec OptimistAtomicQueue2, 2,i: 24,237,323 msg/sec OptimistAtomicQueue2, 3,s: 30,319,503 msg/sec OptimistAtomicQueue2, 3,i: 29,899,655 msg/sec OptimistAtomicQueue2, 4,s: 33,239,657 msg/sec OptimistAtomicQueue2, 4,i: 33,168,317 msg/sec OptimistAtomicQueue2, 5,s: 36,934,388 msg/sec OptimistAtomicQueue2, 5,i: 40,155,371 msg/sec OptimistAtomicQueue2, 6,s: 40,470,801 msg/sec OptimistAtomicQueue2, 6,i: 49,395,818 msg/sec OptimistAtomicQueue2, 7,s: 42,913,023 msg/sec OptimistAtomicQueue2, 7,i: 51,542,919 msg/sec OptimistAtomicQueue2, 8,s: 43,942,986 msg/sec OptimistAtomicQueue2, 8,i: 48,443,556 msg/sec OptimistAtomicQueueB2, 1,s: 77,208,463 msg/sec OptimistAtomicQueueB2, 1,i: 72,783,547 msg/sec OptimistAtomicQueueB2, 2,s: 28,474,579 msg/sec OptimistAtomicQueueB2, 2,i: 25,931,782 msg/sec OptimistAtomicQueueB2, 3,s: 30,371,392 msg/sec OptimistAtomicQueueB2, 3,i: 29,957,691 msg/sec OptimistAtomicQueueB2, 4,s: 33,352,529 msg/sec OptimistAtomicQueueB2, 4,i: 32,799,096 msg/sec OptimistAtomicQueueB2, 5,s: 34,596,093 msg/sec OptimistAtomicQueueB2, 5,i: 39,572,192 msg/sec OptimistAtomicQueueB2, 6,s: 37,585,233 msg/sec OptimistAtomicQueueB2, 6,i: 42,364,759 msg/sec OptimistAtomicQueueB2, 7,s: 40,148,625 msg/sec OptimistAtomicQueueB2, 7,i: 43,259,538 msg/sec OptimistAtomicQueueB2, 8,s: 42,223,459 msg/sec OptimistAtomicQueueB2, 8,i: 46,027,372 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000150 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000293 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000307 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [291] 97m:17s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,374,989 msg/sec boost::lockfree::spsc_queue, 1,i: 71,698,080 msg/sec boost::lockfree::queue, 1,s: 7,936,088 msg/sec boost::lockfree::queue, 1,i: 6,865,152 msg/sec boost::lockfree::queue, 2,s: 7,648,558 msg/sec boost::lockfree::queue, 2,i: 7,497,554 msg/sec boost::lockfree::queue, 3,s: 7,354,727 msg/sec boost::lockfree::queue, 3,i: 7,569,678 msg/sec boost::lockfree::queue, 4,s: 6,423,633 msg/sec boost::lockfree::queue, 4,i: 6,805,358 msg/sec boost::lockfree::queue, 5,s: 6,425,286 msg/sec boost::lockfree::queue, 5,i: 6,455,249 msg/sec boost::lockfree::queue, 6,s: 5,966,981 msg/sec boost::lockfree::queue, 6,i: 6,074,276 msg/sec boost::lockfree::queue, 7,s: 5,987,853 msg/sec boost::lockfree::queue, 7,i: 6,050,952 msg/sec boost::lockfree::queue, 8,s: 5,386,790 msg/sec boost::lockfree::queue, 8,i: 5,614,910 msg/sec moodycamel::ReaderWriterQueue, 1,s: 473,354,575 msg/sec moodycamel::ReaderWriterQueue, 1,i: 448,334,895 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,159,022 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,591,371 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,231,545 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,019,430 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,632,017 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,084,352 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,499,908 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,003,868 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,320,589 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,038,877 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,588,862 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,929,115 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,906,374 msg/sec moodycamel::ConcurrentQueue, 7,i: 51,826,019 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,299,332 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,748,482 msg/sec pthread_spinlock, 1,s: 28,695,012 msg/sec pthread_spinlock, 1,i: 27,255,390 msg/sec pthread_spinlock, 2,s: 15,593,925 msg/sec pthread_spinlock, 2,i: 16,944,418 msg/sec pthread_spinlock, 3,s: 8,427,676 msg/sec pthread_spinlock, 3,i: 12,147,377 msg/sec pthread_spinlock, 4,s: 6,474,449 msg/sec pthread_spinlock, 4,i: 8,891,988 msg/sec pthread_spinlock, 5,s: 8,832,237 msg/sec pthread_spinlock, 5,i: 9,658,657 msg/sec pthread_spinlock, 6,s: 8,534,663 msg/sec pthread_spinlock, 6,i: 8,477,772 msg/sec pthread_spinlock, 7,s: 7,520,109 msg/sec pthread_spinlock, 7,i: 7,603,695 msg/sec pthread_spinlock, 8,s: 6,844,033 msg/sec pthread_spinlock, 8,i: 6,821,338 msg/sec std::mutex, 1,s: 6,327,897 msg/sec std::mutex, 1,i: 6,283,207 msg/sec std::mutex, 2,s: 5,474,902 msg/sec std::mutex, 2,i: 5,313,587 msg/sec std::mutex, 3,s: 4,927,406 msg/sec std::mutex, 3,i: 6,075,796 msg/sec std::mutex, 4,s: 6,212,324 msg/sec std::mutex, 4,i: 6,360,672 msg/sec std::mutex, 5,s: 6,160,663 msg/sec std::mutex, 5,i: 5,710,105 msg/sec std::mutex, 6,s: 5,913,344 msg/sec std::mutex, 6,i: 6,015,544 msg/sec std::mutex, 7,s: 5,891,646 msg/sec std::mutex, 7,i: 5,889,022 msg/sec std::mutex, 8,s: 5,764,269 msg/sec std::mutex, 8,i: 5,779,805 msg/sec tbb::spin_mutex, 1,s: 37,965,671 msg/sec tbb::spin_mutex, 1,i: 32,769,178 msg/sec tbb::spin_mutex, 2,s: 21,259,516 msg/sec tbb::spin_mutex, 2,i: 18,464,052 msg/sec tbb::spin_mutex, 3,s: 7,426,969 msg/sec tbb::spin_mutex, 3,i: 10,137,503 msg/sec tbb::spin_mutex, 4,s: 3,160,089 msg/sec tbb::spin_mutex, 4,i: 6,300,274 msg/sec tbb::spin_mutex, 5,s: 5,486,008 msg/sec tbb::spin_mutex, 5,i: 5,918,090 msg/sec tbb::spin_mutex, 6,s: 5,378,229 msg/sec tbb::spin_mutex, 6,i: 4,326,751 msg/sec tbb::spin_mutex, 7,s: 4,830,610 msg/sec tbb::spin_mutex, 7,i: 4,342,129 msg/sec tbb::spin_mutex, 8,s: 4,248,249 msg/sec tbb::spin_mutex, 8,i: 4,075,968 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,508,159 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,140,676 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,881,884 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,495,787 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,964,259 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,634,892 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,340,539 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,192,218 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,813,978 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,179,349 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,007,970 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,455,800 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,988,137 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,613,017 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,041,858 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,756,548 msg/sec xenium::michael_scott_queue, 1,s: 9,352,716 msg/sec xenium::michael_scott_queue, 1,i: 9,193,843 msg/sec xenium::michael_scott_queue, 2,s: 8,401,987 msg/sec xenium::michael_scott_queue, 2,i: 8,450,469 msg/sec xenium::michael_scott_queue, 3,s: 7,146,761 msg/sec xenium::michael_scott_queue, 3,i: 7,564,358 msg/sec xenium::michael_scott_queue, 4,s: 6,303,980 msg/sec xenium::michael_scott_queue, 4,i: 6,395,344 msg/sec xenium::michael_scott_queue, 5,s: 6,288,708 msg/sec xenium::michael_scott_queue, 5,i: 6,686,557 msg/sec xenium::michael_scott_queue, 6,s: 6,558,670 msg/sec xenium::michael_scott_queue, 6,i: 6,961,887 msg/sec xenium::michael_scott_queue, 7,s: 6,324,004 msg/sec xenium::michael_scott_queue, 7,i: 6,521,183 msg/sec xenium::michael_scott_queue, 8,s: 5,946,066 msg/sec xenium::michael_scott_queue, 8,i: 6,235,202 msg/sec xenium::ramalhete_queue, 1,s: 32,385,354 msg/sec xenium::ramalhete_queue, 1,i: 32,586,053 msg/sec xenium::ramalhete_queue, 2,s: 23,543,134 msg/sec xenium::ramalhete_queue, 2,i: 23,320,542 msg/sec xenium::ramalhete_queue, 3,s: 29,126,041 msg/sec xenium::ramalhete_queue, 3,i: 28,441,038 msg/sec xenium::ramalhete_queue, 4,s: 33,715,906 msg/sec xenium::ramalhete_queue, 4,i: 33,473,126 msg/sec xenium::ramalhete_queue, 5,s: 31,966,284 msg/sec xenium::ramalhete_queue, 5,i: 36,198,329 msg/sec xenium::ramalhete_queue, 6,s: 34,000,878 msg/sec xenium::ramalhete_queue, 6,i: 38,937,367 msg/sec xenium::ramalhete_queue, 7,s: 35,184,880 msg/sec xenium::ramalhete_queue, 7,i: 41,780,293 msg/sec xenium::ramalhete_queue, 8,s: 35,516,301 msg/sec xenium::ramalhete_queue, 8,i: 43,784,670 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,472,616 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,421,129 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,357,112 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,034,049 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,703,205 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,922,827 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,632,637 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,318,718 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,813,528 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,247,752 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,022,302 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,693,518 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,288,352 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,915,410 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,402,157 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,250,147 msg/sec AtomicQueue, 1,s: 56,373,844 msg/sec AtomicQueue, 1,i: 55,858,116 msg/sec AtomicQueue, 2,s: 12,267,604 msg/sec AtomicQueue, 2,i: 11,740,264 msg/sec AtomicQueue, 3,s: 10,790,603 msg/sec AtomicQueue, 3,i: 9,949,293 msg/sec AtomicQueue, 4,s: 8,202,554 msg/sec AtomicQueue, 4,i: 8,192,303 msg/sec AtomicQueue, 5,s: 7,993,973 msg/sec AtomicQueue, 5,i: 8,127,014 msg/sec AtomicQueue, 6,s: 7,839,122 msg/sec AtomicQueue, 6,i: 7,615,103 msg/sec AtomicQueue, 7,s: 7,100,932 msg/sec AtomicQueue, 7,i: 8,001,669 msg/sec AtomicQueue, 8,s: 6,343,041 msg/sec AtomicQueue, 8,i: 7,436,539 msg/sec AtomicQueueB, 1,s: 43,792,194 msg/sec AtomicQueueB, 1,i: 43,008,376 msg/sec AtomicQueueB, 2,s: 11,782,163 msg/sec AtomicQueueB, 2,i: 11,477,499 msg/sec AtomicQueueB, 3,s: 10,992,221 msg/sec AtomicQueueB, 3,i: 10,219,663 msg/sec AtomicQueueB, 4,s: 8,061,343 msg/sec AtomicQueueB, 4,i: 7,939,842 msg/sec AtomicQueueB, 5,s: 7,477,905 msg/sec AtomicQueueB, 5,i: 7,763,116 msg/sec AtomicQueueB, 6,s: 7,343,914 msg/sec AtomicQueueB, 6,i: 7,492,053 msg/sec AtomicQueueB, 7,s: 6,889,796 msg/sec AtomicQueueB, 7,i: 7,732,930 msg/sec AtomicQueueB, 8,s: 6,262,970 msg/sec AtomicQueueB, 8,i: 7,141,161 msg/sec OptimistAtomicQueue, 1,s: 771,227,506 msg/sec OptimistAtomicQueue, 1,i: 527,445,842 msg/sec OptimistAtomicQueue, 2,s: 32,571,985 msg/sec OptimistAtomicQueue, 2,i: 32,629,570 msg/sec OptimistAtomicQueue, 3,s: 36,615,994 msg/sec OptimistAtomicQueue, 3,i: 37,390,426 msg/sec OptimistAtomicQueue, 4,s: 39,262,835 msg/sec OptimistAtomicQueue, 4,i: 39,371,305 msg/sec OptimistAtomicQueue, 5,s: 42,365,367 msg/sec OptimistAtomicQueue, 5,i: 46,481,672 msg/sec OptimistAtomicQueue, 6,s: 41,953,008 msg/sec OptimistAtomicQueue, 6,i: 50,410,607 msg/sec OptimistAtomicQueue, 7,s: 45,143,857 msg/sec OptimistAtomicQueue, 7,i: 49,481,287 msg/sec OptimistAtomicQueue, 8,s: 46,529,692 msg/sec OptimistAtomicQueue, 8,i: 49,202,509 msg/sec OptimistAtomicQueueB, 1,s: 142,967,462 msg/sec OptimistAtomicQueueB, 1,i: 77,644,679 msg/sec OptimistAtomicQueueB, 2,s: 32,368,732 msg/sec OptimistAtomicQueueB, 2,i: 32,356,990 msg/sec OptimistAtomicQueueB, 3,s: 36,236,005 msg/sec OptimistAtomicQueueB, 3,i: 36,702,376 msg/sec OptimistAtomicQueueB, 4,s: 38,752,487 msg/sec OptimistAtomicQueueB, 4,i: 38,745,646 msg/sec OptimistAtomicQueueB, 5,s: 41,043,562 msg/sec OptimistAtomicQueueB, 5,i: 46,051,026 msg/sec OptimistAtomicQueueB, 6,s: 40,579,651 msg/sec OptimistAtomicQueueB, 6,i: 48,645,779 msg/sec OptimistAtomicQueueB, 7,s: 41,886,059 msg/sec OptimistAtomicQueueB, 7,i: 51,498,731 msg/sec OptimistAtomicQueueB, 8,s: 44,245,255 msg/sec OptimistAtomicQueueB, 8,i: 48,233,613 msg/sec AtomicQueue2, 1,s: 22,889,156 msg/sec AtomicQueue2, 1,i: 22,853,700 msg/sec AtomicQueue2, 2,s: 11,804,251 msg/sec AtomicQueue2, 2,i: 11,490,617 msg/sec AtomicQueue2, 3,s: 9,636,506 msg/sec AtomicQueue2, 3,i: 9,428,169 msg/sec AtomicQueue2, 4,s: 8,007,238 msg/sec AtomicQueue2, 4,i: 8,073,713 msg/sec AtomicQueue2, 5,s: 7,891,542 msg/sec AtomicQueue2, 5,i: 8,064,820 msg/sec AtomicQueue2, 6,s: 7,630,342 msg/sec AtomicQueue2, 6,i: 7,481,753 msg/sec AtomicQueue2, 7,s: 7,097,019 msg/sec AtomicQueue2, 7,i: 7,876,047 msg/sec AtomicQueue2, 8,s: 6,385,604 msg/sec AtomicQueue2, 8,i: 7,274,193 msg/sec AtomicQueueB2, 1,s: 36,672,164 msg/sec AtomicQueueB2, 1,i: 32,609,731 msg/sec AtomicQueueB2, 2,s: 11,281,187 msg/sec AtomicQueueB2, 2,i: 11,102,347 msg/sec AtomicQueueB2, 3,s: 9,577,515 msg/sec AtomicQueueB2, 3,i: 9,571,253 msg/sec AtomicQueueB2, 4,s: 7,886,426 msg/sec AtomicQueueB2, 4,i: 7,801,693 msg/sec AtomicQueueB2, 5,s: 7,427,545 msg/sec AtomicQueueB2, 5,i: 7,704,676 msg/sec AtomicQueueB2, 6,s: 7,229,621 msg/sec AtomicQueueB2, 6,i: 7,439,650 msg/sec AtomicQueueB2, 7,s: 6,895,707 msg/sec AtomicQueueB2, 7,i: 7,714,630 msg/sec AtomicQueueB2, 8,s: 6,262,284 msg/sec AtomicQueueB2, 8,i: 7,059,520 msg/sec OptimistAtomicQueue2, 1,s: 32,063,736 msg/sec OptimistAtomicQueue2, 1,i: 29,490,339 msg/sec OptimistAtomicQueue2, 2,s: 24,273,614 msg/sec OptimistAtomicQueue2, 2,i: 24,349,796 msg/sec OptimistAtomicQueue2, 3,s: 30,502,883 msg/sec OptimistAtomicQueue2, 3,i: 29,949,962 msg/sec OptimistAtomicQueue2, 4,s: 33,180,350 msg/sec OptimistAtomicQueue2, 4,i: 33,164,446 msg/sec OptimistAtomicQueue2, 5,s: 36,963,571 msg/sec OptimistAtomicQueue2, 5,i: 40,037,694 msg/sec OptimistAtomicQueue2, 6,s: 40,119,050 msg/sec OptimistAtomicQueue2, 6,i: 49,217,898 msg/sec OptimistAtomicQueue2, 7,s: 42,821,587 msg/sec OptimistAtomicQueue2, 7,i: 47,907,626 msg/sec OptimistAtomicQueue2, 8,s: 43,896,649 msg/sec OptimistAtomicQueue2, 8,i: 48,294,829 msg/sec OptimistAtomicQueueB2, 1,s: 77,309,589 msg/sec OptimistAtomicQueueB2, 1,i: 33,876,060 msg/sec OptimistAtomicQueueB2, 2,s: 27,840,276 msg/sec OptimistAtomicQueueB2, 2,i: 23,195,506 msg/sec OptimistAtomicQueueB2, 3,s: 29,744,276 msg/sec OptimistAtomicQueueB2, 3,i: 29,576,018 msg/sec OptimistAtomicQueueB2, 4,s: 33,212,521 msg/sec OptimistAtomicQueueB2, 4,i: 31,973,967 msg/sec OptimistAtomicQueueB2, 5,s: 34,513,313 msg/sec OptimistAtomicQueueB2, 5,i: 39,139,992 msg/sec OptimistAtomicQueueB2, 6,s: 37,537,409 msg/sec OptimistAtomicQueueB2, 6,i: 42,394,515 msg/sec OptimistAtomicQueueB2, 7,s: 40,714,177 msg/sec OptimistAtomicQueueB2, 7,i: 43,184,357 msg/sec OptimistAtomicQueueB2, 8,s: 42,170,011 msg/sec OptimistAtomicQueueB2, 8,i: 46,003,526 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000514 sec/round-trip tbb::spin_mutex: 0.000000308 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000393 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [292] 95m:58s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,861,504 msg/sec boost::lockfree::spsc_queue, 1,i: 67,757,954 msg/sec boost::lockfree::queue, 1,s: 8,019,137 msg/sec boost::lockfree::queue, 1,i: 6,814,025 msg/sec boost::lockfree::queue, 2,s: 7,665,704 msg/sec boost::lockfree::queue, 2,i: 7,452,732 msg/sec boost::lockfree::queue, 3,s: 7,460,263 msg/sec boost::lockfree::queue, 3,i: 7,542,039 msg/sec boost::lockfree::queue, 4,s: 6,421,310 msg/sec boost::lockfree::queue, 4,i: 6,814,454 msg/sec boost::lockfree::queue, 5,s: 6,426,085 msg/sec boost::lockfree::queue, 5,i: 6,485,962 msg/sec boost::lockfree::queue, 6,s: 5,974,814 msg/sec boost::lockfree::queue, 6,i: 6,094,189 msg/sec boost::lockfree::queue, 7,s: 5,850,436 msg/sec boost::lockfree::queue, 7,i: 6,075,073 msg/sec boost::lockfree::queue, 8,s: 5,465,532 msg/sec boost::lockfree::queue, 8,i: 5,704,245 msg/sec moodycamel::ReaderWriterQueue, 1,s: 99,733,241 msg/sec moodycamel::ReaderWriterQueue, 1,i: 95,439,727 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,858,281 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,040,472 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,674,285 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,281,776 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,972,799 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,016,298 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,242,681 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,984,485 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,408,288 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,323,807 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,440,874 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,161,160 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,177,092 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,507,123 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,486,066 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,243,046 msg/sec pthread_spinlock, 1,s: 29,089,454 msg/sec pthread_spinlock, 1,i: 29,457,411 msg/sec pthread_spinlock, 2,s: 15,596,125 msg/sec pthread_spinlock, 2,i: 17,110,047 msg/sec pthread_spinlock, 3,s: 8,347,096 msg/sec pthread_spinlock, 3,i: 11,980,567 msg/sec pthread_spinlock, 4,s: 6,500,612 msg/sec pthread_spinlock, 4,i: 8,779,383 msg/sec pthread_spinlock, 5,s: 8,644,399 msg/sec pthread_spinlock, 5,i: 9,476,963 msg/sec pthread_spinlock, 6,s: 8,623,769 msg/sec pthread_spinlock, 6,i: 8,412,639 msg/sec pthread_spinlock, 7,s: 7,528,417 msg/sec pthread_spinlock, 7,i: 7,550,762 msg/sec pthread_spinlock, 8,s: 6,661,337 msg/sec pthread_spinlock, 8,i: 6,852,655 msg/sec std::mutex, 1,s: 8,170,536 msg/sec std::mutex, 1,i: 8,401,664 msg/sec std::mutex, 2,s: 6,183,833 msg/sec std::mutex, 2,i: 6,557,336 msg/sec std::mutex, 3,s: 5,506,124 msg/sec std::mutex, 3,i: 5,016,559 msg/sec std::mutex, 4,s: 6,943,922 msg/sec std::mutex, 4,i: 7,045,638 msg/sec std::mutex, 5,s: 6,739,344 msg/sec std::mutex, 5,i: 6,502,769 msg/sec std::mutex, 6,s: 6,541,530 msg/sec std::mutex, 6,i: 6,488,906 msg/sec std::mutex, 7,s: 6,346,160 msg/sec std::mutex, 7,i: 6,354,678 msg/sec std::mutex, 8,s: 6,133,073 msg/sec std::mutex, 8,i: 6,181,434 msg/sec tbb::spin_mutex, 1,s: 37,719,029 msg/sec tbb::spin_mutex, 1,i: 37,707,790 msg/sec tbb::spin_mutex, 2,s: 21,055,732 msg/sec tbb::spin_mutex, 2,i: 18,314,254 msg/sec tbb::spin_mutex, 3,s: 7,993,631 msg/sec tbb::spin_mutex, 3,i: 10,389,417 msg/sec tbb::spin_mutex, 4,s: 3,158,689 msg/sec tbb::spin_mutex, 4,i: 6,307,422 msg/sec tbb::spin_mutex, 5,s: 5,252,306 msg/sec tbb::spin_mutex, 5,i: 5,803,249 msg/sec tbb::spin_mutex, 6,s: 5,305,042 msg/sec tbb::spin_mutex, 6,i: 4,388,798 msg/sec tbb::spin_mutex, 7,s: 4,697,624 msg/sec tbb::spin_mutex, 7,i: 4,324,430 msg/sec tbb::spin_mutex, 8,s: 4,232,503 msg/sec tbb::spin_mutex, 8,i: 4,086,516 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,486,301 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,044,241 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,793,457 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,712,937 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,979,568 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,709,934 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,289,319 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,212,524 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,559,441 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,172,927 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,966,926 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,457,443 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,003,698 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,604,240 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,059,409 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,706,875 msg/sec xenium::michael_scott_queue, 1,s: 9,265,902 msg/sec xenium::michael_scott_queue, 1,i: 9,302,372 msg/sec xenium::michael_scott_queue, 2,s: 8,409,415 msg/sec xenium::michael_scott_queue, 2,i: 8,484,604 msg/sec xenium::michael_scott_queue, 3,s: 7,385,929 msg/sec xenium::michael_scott_queue, 3,i: 7,566,238 msg/sec xenium::michael_scott_queue, 4,s: 6,228,541 msg/sec xenium::michael_scott_queue, 4,i: 6,399,664 msg/sec xenium::michael_scott_queue, 5,s: 6,268,743 msg/sec xenium::michael_scott_queue, 5,i: 6,623,783 msg/sec xenium::michael_scott_queue, 6,s: 6,447,163 msg/sec xenium::michael_scott_queue, 6,i: 6,684,317 msg/sec xenium::michael_scott_queue, 7,s: 6,294,801 msg/sec xenium::michael_scott_queue, 7,i: 6,509,145 msg/sec xenium::michael_scott_queue, 8,s: 5,973,831 msg/sec xenium::michael_scott_queue, 8,i: 6,105,518 msg/sec xenium::ramalhete_queue, 1,s: 32,389,640 msg/sec xenium::ramalhete_queue, 1,i: 32,685,615 msg/sec xenium::ramalhete_queue, 2,s: 23,377,772 msg/sec xenium::ramalhete_queue, 2,i: 23,337,462 msg/sec xenium::ramalhete_queue, 3,s: 29,204,945 msg/sec xenium::ramalhete_queue, 3,i: 28,630,223 msg/sec xenium::ramalhete_queue, 4,s: 33,868,810 msg/sec xenium::ramalhete_queue, 4,i: 33,518,187 msg/sec xenium::ramalhete_queue, 5,s: 32,194,873 msg/sec xenium::ramalhete_queue, 5,i: 36,170,846 msg/sec xenium::ramalhete_queue, 6,s: 34,037,435 msg/sec xenium::ramalhete_queue, 6,i: 38,801,784 msg/sec xenium::ramalhete_queue, 7,s: 35,147,071 msg/sec xenium::ramalhete_queue, 7,i: 41,095,673 msg/sec xenium::ramalhete_queue, 8,s: 35,615,592 msg/sec xenium::ramalhete_queue, 8,i: 44,086,664 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,889,520 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,167,187 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,711,003 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,093,660 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,621,972 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,909,048 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,623,131 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,428,965 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,993,714 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,341,786 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,909,388 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,203,304 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,262,842 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,105,857 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,395,244 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,469,199 msg/sec AtomicQueue, 1,s: 168,318,870 msg/sec AtomicQueue, 1,i: 57,150,123 msg/sec AtomicQueue, 2,s: 12,278,048 msg/sec AtomicQueue, 2,i: 11,727,653 msg/sec AtomicQueue, 3,s: 10,768,570 msg/sec AtomicQueue, 3,i: 9,912,560 msg/sec AtomicQueue, 4,s: 8,179,338 msg/sec AtomicQueue, 4,i: 8,184,713 msg/sec AtomicQueue, 5,s: 8,032,859 msg/sec AtomicQueue, 5,i: 8,148,083 msg/sec AtomicQueue, 6,s: 7,793,199 msg/sec AtomicQueue, 6,i: 7,636,526 msg/sec AtomicQueue, 7,s: 7,141,949 msg/sec AtomicQueue, 7,i: 8,010,108 msg/sec AtomicQueue, 8,s: 6,337,382 msg/sec AtomicQueue, 8,i: 7,451,757 msg/sec AtomicQueueB, 1,s: 76,100,380 msg/sec AtomicQueueB, 1,i: 47,995,655 msg/sec AtomicQueueB, 2,s: 11,933,582 msg/sec AtomicQueueB, 2,i: 11,520,176 msg/sec AtomicQueueB, 3,s: 10,992,972 msg/sec AtomicQueueB, 3,i: 10,187,787 msg/sec AtomicQueueB, 4,s: 8,076,767 msg/sec AtomicQueueB, 4,i: 8,000,357 msg/sec AtomicQueueB, 5,s: 7,700,917 msg/sec AtomicQueueB, 5,i: 7,813,086 msg/sec AtomicQueueB, 6,s: 7,303,286 msg/sec AtomicQueueB, 6,i: 7,559,730 msg/sec AtomicQueueB, 7,s: 6,857,629 msg/sec AtomicQueueB, 7,i: 7,691,438 msg/sec AtomicQueueB, 8,s: 6,252,411 msg/sec AtomicQueueB, 8,i: 7,098,264 msg/sec OptimistAtomicQueue, 1,s: 813,155,721 msg/sec OptimistAtomicQueue, 1,i: 640,218,596 msg/sec OptimistAtomicQueue, 2,s: 32,159,159 msg/sec OptimistAtomicQueue, 2,i: 32,719,735 msg/sec OptimistAtomicQueue, 3,s: 36,694,752 msg/sec OptimistAtomicQueue, 3,i: 37,409,013 msg/sec OptimistAtomicQueue, 4,s: 39,248,954 msg/sec OptimistAtomicQueue, 4,i: 39,367,915 msg/sec OptimistAtomicQueue, 5,s: 42,318,272 msg/sec OptimistAtomicQueue, 5,i: 48,221,718 msg/sec OptimistAtomicQueue, 6,s: 42,081,271 msg/sec OptimistAtomicQueue, 6,i: 50,490,762 msg/sec OptimistAtomicQueue, 7,s: 44,362,803 msg/sec OptimistAtomicQueue, 7,i: 52,037,351 msg/sec OptimistAtomicQueue, 8,s: 46,340,526 msg/sec OptimistAtomicQueue, 8,i: 49,748,773 msg/sec OptimistAtomicQueueB, 1,s: 188,674,839 msg/sec OptimistAtomicQueueB, 1,i: 76,660,489 msg/sec OptimistAtomicQueueB, 2,s: 32,165,373 msg/sec OptimistAtomicQueueB, 2,i: 32,159,389 msg/sec OptimistAtomicQueueB, 3,s: 36,209,825 msg/sec OptimistAtomicQueueB, 3,i: 36,877,742 msg/sec OptimistAtomicQueueB, 4,s: 38,712,918 msg/sec OptimistAtomicQueueB, 4,i: 38,704,776 msg/sec OptimistAtomicQueueB, 5,s: 40,251,089 msg/sec OptimistAtomicQueueB, 5,i: 46,087,251 msg/sec OptimistAtomicQueueB, 6,s: 40,813,516 msg/sec OptimistAtomicQueueB, 6,i: 48,752,718 msg/sec OptimistAtomicQueueB, 7,s: 42,248,287 msg/sec OptimistAtomicQueueB, 7,i: 51,501,337 msg/sec OptimistAtomicQueueB, 8,s: 44,115,316 msg/sec OptimistAtomicQueueB, 8,i: 48,020,497 msg/sec AtomicQueue2, 1,s: 23,156,023 msg/sec AtomicQueue2, 1,i: 23,074,690 msg/sec AtomicQueue2, 2,s: 11,806,512 msg/sec AtomicQueue2, 2,i: 11,406,081 msg/sec AtomicQueue2, 3,s: 9,483,909 msg/sec AtomicQueue2, 3,i: 9,445,180 msg/sec AtomicQueue2, 4,s: 8,049,705 msg/sec AtomicQueue2, 4,i: 8,037,546 msg/sec AtomicQueue2, 5,s: 7,880,647 msg/sec AtomicQueue2, 5,i: 7,983,221 msg/sec AtomicQueue2, 6,s: 7,840,588 msg/sec AtomicQueue2, 6,i: 7,528,329 msg/sec AtomicQueue2, 7,s: 7,214,622 msg/sec AtomicQueue2, 7,i: 7,884,097 msg/sec AtomicQueue2, 8,s: 6,374,914 msg/sec AtomicQueue2, 8,i: 7,362,405 msg/sec AtomicQueueB2, 1,s: 36,001,914 msg/sec AtomicQueueB2, 1,i: 32,627,089 msg/sec AtomicQueueB2, 2,s: 11,366,080 msg/sec AtomicQueueB2, 2,i: 11,128,724 msg/sec AtomicQueueB2, 3,s: 9,744,371 msg/sec AtomicQueueB2, 3,i: 9,418,972 msg/sec AtomicQueueB2, 4,s: 7,954,549 msg/sec AtomicQueueB2, 4,i: 7,794,443 msg/sec AtomicQueueB2, 5,s: 7,470,456 msg/sec AtomicQueueB2, 5,i: 7,724,518 msg/sec AtomicQueueB2, 6,s: 7,235,898 msg/sec AtomicQueueB2, 6,i: 7,450,019 msg/sec AtomicQueueB2, 7,s: 6,838,286 msg/sec AtomicQueueB2, 7,i: 7,775,829 msg/sec AtomicQueueB2, 8,s: 6,247,402 msg/sec AtomicQueueB2, 8,i: 7,079,718 msg/sec OptimistAtomicQueue2, 1,s: 437,651,748 msg/sec OptimistAtomicQueue2, 1,i: 169,079,844 msg/sec OptimistAtomicQueue2, 2,s: 22,641,288 msg/sec OptimistAtomicQueue2, 2,i: 24,536,388 msg/sec OptimistAtomicQueue2, 3,s: 30,809,978 msg/sec OptimistAtomicQueue2, 3,i: 30,065,334 msg/sec OptimistAtomicQueue2, 4,s: 33,160,559 msg/sec OptimistAtomicQueue2, 4,i: 33,389,631 msg/sec OptimistAtomicQueue2, 5,s: 36,972,063 msg/sec OptimistAtomicQueue2, 5,i: 40,111,445 msg/sec OptimistAtomicQueue2, 6,s: 40,116,613 msg/sec OptimistAtomicQueue2, 6,i: 48,950,522 msg/sec OptimistAtomicQueue2, 7,s: 43,043,571 msg/sec OptimistAtomicQueue2, 7,i: 51,389,564 msg/sec OptimistAtomicQueue2, 8,s: 43,959,863 msg/sec OptimistAtomicQueue2, 8,i: 49,512,521 msg/sec OptimistAtomicQueueB2, 1,s: 76,930,808 msg/sec OptimistAtomicQueueB2, 1,i: 39,479,199 msg/sec OptimistAtomicQueueB2, 2,s: 27,736,628 msg/sec OptimistAtomicQueueB2, 2,i: 24,875,135 msg/sec OptimistAtomicQueueB2, 3,s: 29,762,073 msg/sec OptimistAtomicQueueB2, 3,i: 29,164,278 msg/sec OptimistAtomicQueueB2, 4,s: 33,284,119 msg/sec OptimistAtomicQueueB2, 4,i: 31,914,944 msg/sec OptimistAtomicQueueB2, 5,s: 34,641,062 msg/sec OptimistAtomicQueueB2, 5,i: 39,615,385 msg/sec OptimistAtomicQueueB2, 6,s: 37,316,764 msg/sec OptimistAtomicQueueB2, 6,i: 42,219,208 msg/sec OptimistAtomicQueueB2, 7,s: 40,094,026 msg/sec OptimistAtomicQueueB2, 7,i: 45,418,810 msg/sec OptimistAtomicQueueB2, 8,s: 42,185,891 msg/sec OptimistAtomicQueueB2, 8,i: 45,868,601 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000221 sec/round-trip pthread_spinlock: 0.000000264 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000282 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000198 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000150 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [293] 94m:40s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,336,564 msg/sec boost::lockfree::spsc_queue, 1,i: 67,661,860 msg/sec boost::lockfree::queue, 1,s: 6,891,447 msg/sec boost::lockfree::queue, 1,i: 6,882,693 msg/sec boost::lockfree::queue, 2,s: 7,597,116 msg/sec boost::lockfree::queue, 2,i: 7,480,044 msg/sec boost::lockfree::queue, 3,s: 7,385,288 msg/sec boost::lockfree::queue, 3,i: 7,566,423 msg/sec boost::lockfree::queue, 4,s: 6,425,157 msg/sec boost::lockfree::queue, 4,i: 6,751,355 msg/sec boost::lockfree::queue, 5,s: 6,488,776 msg/sec boost::lockfree::queue, 5,i: 6,442,546 msg/sec boost::lockfree::queue, 6,s: 6,021,324 msg/sec boost::lockfree::queue, 6,i: 6,154,060 msg/sec boost::lockfree::queue, 7,s: 5,928,633 msg/sec boost::lockfree::queue, 7,i: 6,050,642 msg/sec boost::lockfree::queue, 8,s: 5,467,018 msg/sec boost::lockfree::queue, 8,i: 5,680,856 msg/sec moodycamel::ReaderWriterQueue, 1,s: 452,424,713 msg/sec moodycamel::ReaderWriterQueue, 1,i: 179,993,781 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,248,485 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,195,929 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,951,989 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,771,450 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,159,799 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,676,085 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,735,068 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,852,958 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,343,960 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,054,314 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,510,032 msg/sec moodycamel::ConcurrentQueue, 6,i: 29,704,645 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,193,164 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,673,051 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,403,125 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,784,109 msg/sec pthread_spinlock, 1,s: 28,848,316 msg/sec pthread_spinlock, 1,i: 25,518,962 msg/sec pthread_spinlock, 2,s: 15,634,512 msg/sec pthread_spinlock, 2,i: 17,098,600 msg/sec pthread_spinlock, 3,s: 8,330,036 msg/sec pthread_spinlock, 3,i: 12,007,992 msg/sec pthread_spinlock, 4,s: 6,535,160 msg/sec pthread_spinlock, 4,i: 9,168,796 msg/sec pthread_spinlock, 5,s: 8,663,403 msg/sec pthread_spinlock, 5,i: 9,130,245 msg/sec pthread_spinlock, 6,s: 8,550,028 msg/sec pthread_spinlock, 6,i: 8,372,123 msg/sec pthread_spinlock, 7,s: 7,645,520 msg/sec pthread_spinlock, 7,i: 7,521,073 msg/sec pthread_spinlock, 8,s: 6,664,177 msg/sec pthread_spinlock, 8,i: 6,885,014 msg/sec std::mutex, 1,s: 6,292,365 msg/sec std::mutex, 1,i: 6,387,382 msg/sec std::mutex, 2,s: 5,761,759 msg/sec std::mutex, 2,i: 5,949,826 msg/sec std::mutex, 3,s: 5,971,603 msg/sec std::mutex, 3,i: 6,100,776 msg/sec std::mutex, 4,s: 6,204,919 msg/sec std::mutex, 4,i: 6,349,166 msg/sec std::mutex, 5,s: 6,074,127 msg/sec std::mutex, 5,i: 6,004,707 msg/sec std::mutex, 6,s: 6,034,192 msg/sec std::mutex, 6,i: 5,912,572 msg/sec std::mutex, 7,s: 5,884,266 msg/sec std::mutex, 7,i: 5,859,628 msg/sec std::mutex, 8,s: 5,807,792 msg/sec std::mutex, 8,i: 5,696,493 msg/sec tbb::spin_mutex, 1,s: 37,959,602 msg/sec tbb::spin_mutex, 1,i: 37,910,686 msg/sec tbb::spin_mutex, 2,s: 21,315,844 msg/sec tbb::spin_mutex, 2,i: 18,311,539 msg/sec tbb::spin_mutex, 3,s: 8,322,403 msg/sec tbb::spin_mutex, 3,i: 11,192,702 msg/sec tbb::spin_mutex, 4,s: 3,286,428 msg/sec tbb::spin_mutex, 4,i: 6,421,501 msg/sec tbb::spin_mutex, 5,s: 5,485,367 msg/sec tbb::spin_mutex, 5,i: 5,478,076 msg/sec tbb::spin_mutex, 6,s: 5,241,012 msg/sec tbb::spin_mutex, 6,i: 4,384,264 msg/sec tbb::spin_mutex, 7,s: 4,820,875 msg/sec tbb::spin_mutex, 7,i: 4,373,412 msg/sec tbb::spin_mutex, 8,s: 3,865,857 msg/sec tbb::spin_mutex, 8,i: 4,091,500 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,573,817 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,183,003 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,937,529 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,809,840 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,396,762 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,693,600 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,110,849 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,455,730 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,664,692 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,789,653 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,927,734 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,012,868 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,799,190 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,136,439 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,646,812 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,323,984 msg/sec xenium::michael_scott_queue, 1,s: 9,463,412 msg/sec xenium::michael_scott_queue, 1,i: 9,469,964 msg/sec xenium::michael_scott_queue, 2,s: 8,398,613 msg/sec xenium::michael_scott_queue, 2,i: 8,484,542 msg/sec xenium::michael_scott_queue, 3,s: 7,279,497 msg/sec xenium::michael_scott_queue, 3,i: 7,521,700 msg/sec xenium::michael_scott_queue, 4,s: 6,265,692 msg/sec xenium::michael_scott_queue, 4,i: 6,319,877 msg/sec xenium::michael_scott_queue, 5,s: 6,276,414 msg/sec xenium::michael_scott_queue, 5,i: 6,601,457 msg/sec xenium::michael_scott_queue, 6,s: 6,493,473 msg/sec xenium::michael_scott_queue, 6,i: 6,903,341 msg/sec xenium::michael_scott_queue, 7,s: 6,344,387 msg/sec xenium::michael_scott_queue, 7,i: 6,486,921 msg/sec xenium::michael_scott_queue, 8,s: 5,912,374 msg/sec xenium::michael_scott_queue, 8,i: 6,316,992 msg/sec xenium::ramalhete_queue, 1,s: 31,824,017 msg/sec xenium::ramalhete_queue, 1,i: 31,425,074 msg/sec xenium::ramalhete_queue, 2,s: 23,496,027 msg/sec xenium::ramalhete_queue, 2,i: 23,306,096 msg/sec xenium::ramalhete_queue, 3,s: 29,124,672 msg/sec xenium::ramalhete_queue, 3,i: 28,437,076 msg/sec xenium::ramalhete_queue, 4,s: 33,974,625 msg/sec xenium::ramalhete_queue, 4,i: 33,550,317 msg/sec xenium::ramalhete_queue, 5,s: 32,606,458 msg/sec xenium::ramalhete_queue, 5,i: 38,098,395 msg/sec xenium::ramalhete_queue, 6,s: 33,835,562 msg/sec xenium::ramalhete_queue, 6,i: 38,499,534 msg/sec xenium::ramalhete_queue, 7,s: 34,867,387 msg/sec xenium::ramalhete_queue, 7,i: 41,496,942 msg/sec xenium::ramalhete_queue, 8,s: 35,368,667 msg/sec xenium::ramalhete_queue, 8,i: 44,227,562 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,992,497 msg/sec xenium::vyukov_bounded_queue, 1,i: 118,253,630 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,199,950 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,207,935 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,752,046 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,872,363 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,484,561 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,413,867 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,946,614 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,331,486 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,789,916 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,738,177 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,210,933 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,014,505 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,062 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,226,499 msg/sec AtomicQueue, 1,s: 84,268,794 msg/sec AtomicQueue, 1,i: 56,660,911 msg/sec AtomicQueue, 2,s: 12,109,530 msg/sec AtomicQueue, 2,i: 11,745,627 msg/sec AtomicQueue, 3,s: 10,738,319 msg/sec AtomicQueue, 3,i: 10,018,979 msg/sec AtomicQueue, 4,s: 8,198,819 msg/sec AtomicQueue, 4,i: 8,204,124 msg/sec AtomicQueue, 5,s: 8,025,456 msg/sec AtomicQueue, 5,i: 8,137,353 msg/sec AtomicQueue, 6,s: 7,763,352 msg/sec AtomicQueue, 6,i: 7,618,455 msg/sec AtomicQueue, 7,s: 7,053,983 msg/sec AtomicQueue, 7,i: 8,007,742 msg/sec AtomicQueue, 8,s: 6,347,555 msg/sec AtomicQueue, 8,i: 7,397,654 msg/sec AtomicQueueB, 1,s: 92,722,401 msg/sec AtomicQueueB, 1,i: 42,613,077 msg/sec AtomicQueueB, 2,s: 11,832,718 msg/sec AtomicQueueB, 2,i: 11,478,747 msg/sec AtomicQueueB, 3,s: 11,049,035 msg/sec AtomicQueueB, 3,i: 10,065,589 msg/sec AtomicQueueB, 4,s: 8,079,970 msg/sec AtomicQueueB, 4,i: 7,992,734 msg/sec AtomicQueueB, 5,s: 7,633,646 msg/sec AtomicQueueB, 5,i: 7,824,291 msg/sec AtomicQueueB, 6,s: 7,310,672 msg/sec AtomicQueueB, 6,i: 7,511,484 msg/sec AtomicQueueB, 7,s: 6,883,199 msg/sec AtomicQueueB, 7,i: 7,754,923 msg/sec AtomicQueueB, 8,s: 6,327,408 msg/sec AtomicQueueB, 8,i: 7,194,033 msg/sec OptimistAtomicQueue, 1,s: 707,512,294 msg/sec OptimistAtomicQueue, 1,i: 528,653,760 msg/sec OptimistAtomicQueue, 2,s: 32,163,276 msg/sec OptimistAtomicQueue, 2,i: 32,343,608 msg/sec OptimistAtomicQueue, 3,s: 36,657,392 msg/sec OptimistAtomicQueue, 3,i: 37,330,732 msg/sec OptimistAtomicQueue, 4,s: 39,276,423 msg/sec OptimistAtomicQueue, 4,i: 39,368,376 msg/sec OptimistAtomicQueue, 5,s: 42,525,420 msg/sec OptimistAtomicQueue, 5,i: 48,374,109 msg/sec OptimistAtomicQueue, 6,s: 42,675,245 msg/sec OptimistAtomicQueue, 6,i: 50,484,272 msg/sec OptimistAtomicQueue, 7,s: 45,414,310 msg/sec OptimistAtomicQueue, 7,i: 51,801,874 msg/sec OptimistAtomicQueue, 8,s: 46,481,407 msg/sec OptimistAtomicQueue, 8,i: 49,238,885 msg/sec OptimistAtomicQueueB, 1,s: 144,045,969 msg/sec OptimistAtomicQueueB, 1,i: 76,997,062 msg/sec OptimistAtomicQueueB, 2,s: 32,107,567 msg/sec OptimistAtomicQueueB, 2,i: 32,229,935 msg/sec OptimistAtomicQueueB, 3,s: 36,247,562 msg/sec OptimistAtomicQueueB, 3,i: 36,987,099 msg/sec OptimistAtomicQueueB, 4,s: 38,724,686 msg/sec OptimistAtomicQueueB, 4,i: 38,813,889 msg/sec OptimistAtomicQueueB, 5,s: 40,261,171 msg/sec OptimistAtomicQueueB, 5,i: 45,308,759 msg/sec OptimistAtomicQueueB, 6,s: 41,165,874 msg/sec OptimistAtomicQueueB, 6,i: 49,016,234 msg/sec OptimistAtomicQueueB, 7,s: 41,682,489 msg/sec OptimistAtomicQueueB, 7,i: 51,372,082 msg/sec OptimistAtomicQueueB, 8,s: 44,499,828 msg/sec OptimistAtomicQueueB, 8,i: 47,868,758 msg/sec AtomicQueue2, 1,s: 23,207,148 msg/sec AtomicQueue2, 1,i: 22,886,452 msg/sec AtomicQueue2, 2,s: 11,838,136 msg/sec AtomicQueue2, 2,i: 11,414,212 msg/sec AtomicQueue2, 3,s: 9,705,102 msg/sec AtomicQueue2, 3,i: 9,541,122 msg/sec AtomicQueue2, 4,s: 8,157,226 msg/sec AtomicQueue2, 4,i: 8,018,368 msg/sec AtomicQueue2, 5,s: 7,887,318 msg/sec AtomicQueue2, 5,i: 8,017,939 msg/sec AtomicQueue2, 6,s: 7,831,789 msg/sec AtomicQueue2, 6,i: 7,552,303 msg/sec AtomicQueue2, 7,s: 7,096,087 msg/sec AtomicQueue2, 7,i: 7,898,589 msg/sec AtomicQueue2, 8,s: 6,366,736 msg/sec AtomicQueue2, 8,i: 7,343,655 msg/sec AtomicQueueB2, 1,s: 36,340,682 msg/sec AtomicQueueB2, 1,i: 36,124,196 msg/sec AtomicQueueB2, 2,s: 11,333,306 msg/sec AtomicQueueB2, 2,i: 11,106,930 msg/sec AtomicQueueB2, 3,s: 9,645,050 msg/sec AtomicQueueB2, 3,i: 9,311,302 msg/sec AtomicQueueB2, 4,s: 7,843,490 msg/sec AtomicQueueB2, 4,i: 7,791,267 msg/sec AtomicQueueB2, 5,s: 7,333,530 msg/sec AtomicQueueB2, 5,i: 7,685,615 msg/sec AtomicQueueB2, 6,s: 7,241,580 msg/sec AtomicQueueB2, 6,i: 7,448,851 msg/sec AtomicQueueB2, 7,s: 6,920,082 msg/sec AtomicQueueB2, 7,i: 7,605,819 msg/sec AtomicQueueB2, 8,s: 6,298,434 msg/sec AtomicQueueB2, 8,i: 7,144,586 msg/sec OptimistAtomicQueue2, 1,s: 377,156,284 msg/sec OptimistAtomicQueue2, 1,i: 31,805,361 msg/sec OptimistAtomicQueue2, 2,s: 25,072,266 msg/sec OptimistAtomicQueue2, 2,i: 24,162,647 msg/sec OptimistAtomicQueue2, 3,s: 30,338,473 msg/sec OptimistAtomicQueue2, 3,i: 30,658,873 msg/sec OptimistAtomicQueue2, 4,s: 33,240,202 msg/sec OptimistAtomicQueue2, 4,i: 32,970,649 msg/sec OptimistAtomicQueue2, 5,s: 37,462,717 msg/sec OptimistAtomicQueue2, 5,i: 40,275,895 msg/sec OptimistAtomicQueue2, 6,s: 40,109,804 msg/sec OptimistAtomicQueue2, 6,i: 49,249,407 msg/sec OptimistAtomicQueue2, 7,s: 42,859,535 msg/sec OptimistAtomicQueue2, 7,i: 51,403,781 msg/sec OptimistAtomicQueue2, 8,s: 43,858,917 msg/sec OptimistAtomicQueue2, 8,i: 48,750,380 msg/sec OptimistAtomicQueueB2, 1,s: 76,818,810 msg/sec OptimistAtomicQueueB2, 1,i: 33,870,918 msg/sec OptimistAtomicQueueB2, 2,s: 27,837,493 msg/sec OptimistAtomicQueueB2, 2,i: 27,392,617 msg/sec OptimistAtomicQueueB2, 3,s: 29,682,120 msg/sec OptimistAtomicQueueB2, 3,i: 29,028,044 msg/sec OptimistAtomicQueueB2, 4,s: 33,338,376 msg/sec OptimistAtomicQueueB2, 4,i: 32,730,252 msg/sec OptimistAtomicQueueB2, 5,s: 34,536,579 msg/sec OptimistAtomicQueueB2, 5,i: 39,113,220 msg/sec OptimistAtomicQueueB2, 6,s: 37,566,027 msg/sec OptimistAtomicQueueB2, 6,i: 42,275,560 msg/sec OptimistAtomicQueueB2, 7,s: 40,161,820 msg/sec OptimistAtomicQueueB2, 7,i: 45,470,186 msg/sec OptimistAtomicQueueB2, 8,s: 42,205,873 msg/sec OptimistAtomicQueueB2, 8,i: 45,004,269 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000314 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000261 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000257 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000173 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [294] 93m:21s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,625,310 msg/sec boost::lockfree::spsc_queue, 1,i: 66,988,355 msg/sec boost::lockfree::queue, 1,s: 6,847,954 msg/sec boost::lockfree::queue, 1,i: 6,856,671 msg/sec boost::lockfree::queue, 2,s: 7,625,065 msg/sec boost::lockfree::queue, 2,i: 7,479,630 msg/sec boost::lockfree::queue, 3,s: 7,407,771 msg/sec boost::lockfree::queue, 3,i: 7,587,528 msg/sec boost::lockfree::queue, 4,s: 6,418,065 msg/sec boost::lockfree::queue, 4,i: 6,766,816 msg/sec boost::lockfree::queue, 5,s: 6,438,941 msg/sec boost::lockfree::queue, 5,i: 6,457,070 msg/sec boost::lockfree::queue, 6,s: 5,992,620 msg/sec boost::lockfree::queue, 6,i: 6,094,969 msg/sec boost::lockfree::queue, 7,s: 6,030,871 msg/sec boost::lockfree::queue, 7,i: 6,028,671 msg/sec boost::lockfree::queue, 8,s: 5,462,086 msg/sec boost::lockfree::queue, 8,i: 5,569,166 msg/sec moodycamel::ReaderWriterQueue, 1,s: 473,623,437 msg/sec moodycamel::ReaderWriterQueue, 1,i: 446,122,608 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,794,141 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,392,787 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,624,653 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,362,391 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,217,013 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,687,268 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,180,269 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,968,341 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,391,122 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,966,918 msg/sec moodycamel::ConcurrentQueue, 6,s: 44,861,459 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,317,627 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,116,955 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,447,663 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,522,850 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,725,701 msg/sec pthread_spinlock, 1,s: 29,125,504 msg/sec pthread_spinlock, 1,i: 25,292,383 msg/sec pthread_spinlock, 2,s: 15,466,094 msg/sec pthread_spinlock, 2,i: 17,800,716 msg/sec pthread_spinlock, 3,s: 8,433,751 msg/sec pthread_spinlock, 3,i: 12,042,261 msg/sec pthread_spinlock, 4,s: 6,501,762 msg/sec pthread_spinlock, 4,i: 9,156,430 msg/sec pthread_spinlock, 5,s: 8,627,343 msg/sec pthread_spinlock, 5,i: 9,526,924 msg/sec pthread_spinlock, 6,s: 8,525,403 msg/sec pthread_spinlock, 6,i: 9,191,194 msg/sec pthread_spinlock, 7,s: 7,885,435 msg/sec pthread_spinlock, 7,i: 7,478,578 msg/sec pthread_spinlock, 8,s: 6,680,241 msg/sec pthread_spinlock, 8,i: 7,023,284 msg/sec std::mutex, 1,s: 7,193,761 msg/sec std::mutex, 1,i: 6,780,384 msg/sec std::mutex, 2,s: 5,431,468 msg/sec std::mutex, 2,i: 5,724,967 msg/sec std::mutex, 3,s: 5,635,548 msg/sec std::mutex, 3,i: 5,947,333 msg/sec std::mutex, 4,s: 6,299,882 msg/sec std::mutex, 4,i: 6,199,501 msg/sec std::mutex, 5,s: 6,078,549 msg/sec std::mutex, 5,i: 5,988,750 msg/sec std::mutex, 6,s: 5,925,690 msg/sec std::mutex, 6,i: 5,837,993 msg/sec std::mutex, 7,s: 5,823,466 msg/sec std::mutex, 7,i: 5,868,509 msg/sec std::mutex, 8,s: 5,746,654 msg/sec std::mutex, 8,i: 5,690,228 msg/sec tbb::spin_mutex, 1,s: 37,778,859 msg/sec tbb::spin_mutex, 1,i: 37,734,671 msg/sec tbb::spin_mutex, 2,s: 21,112,405 msg/sec tbb::spin_mutex, 2,i: 18,621,925 msg/sec tbb::spin_mutex, 3,s: 7,383,407 msg/sec tbb::spin_mutex, 3,i: 10,222,079 msg/sec tbb::spin_mutex, 4,s: 3,060,161 msg/sec tbb::spin_mutex, 4,i: 6,316,953 msg/sec tbb::spin_mutex, 5,s: 5,464,921 msg/sec tbb::spin_mutex, 5,i: 5,615,863 msg/sec tbb::spin_mutex, 6,s: 5,314,038 msg/sec tbb::spin_mutex, 6,i: 4,390,532 msg/sec tbb::spin_mutex, 7,s: 4,861,384 msg/sec tbb::spin_mutex, 7,i: 4,388,465 msg/sec tbb::spin_mutex, 8,s: 4,261,325 msg/sec tbb::spin_mutex, 8,i: 4,069,187 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,017,381 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,471,433 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,899,926 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,266,740 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,052,979 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,807,807 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,437,754 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,268,483 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,763,260 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,906,574 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,059,654 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,930,496 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,907,899 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,951,924 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,962,681 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,077,253 msg/sec xenium::michael_scott_queue, 1,s: 9,268,641 msg/sec xenium::michael_scott_queue, 1,i: 9,399,924 msg/sec xenium::michael_scott_queue, 2,s: 8,458,767 msg/sec xenium::michael_scott_queue, 2,i: 8,463,865 msg/sec xenium::michael_scott_queue, 3,s: 7,173,048 msg/sec xenium::michael_scott_queue, 3,i: 7,532,930 msg/sec xenium::michael_scott_queue, 4,s: 6,296,254 msg/sec xenium::michael_scott_queue, 4,i: 6,319,866 msg/sec xenium::michael_scott_queue, 5,s: 6,292,423 msg/sec xenium::michael_scott_queue, 5,i: 6,689,935 msg/sec xenium::michael_scott_queue, 6,s: 6,582,005 msg/sec xenium::michael_scott_queue, 6,i: 6,697,849 msg/sec xenium::michael_scott_queue, 7,s: 6,297,443 msg/sec xenium::michael_scott_queue, 7,i: 6,501,231 msg/sec xenium::michael_scott_queue, 8,s: 5,981,836 msg/sec xenium::michael_scott_queue, 8,i: 6,136,651 msg/sec xenium::ramalhete_queue, 1,s: 32,183,262 msg/sec xenium::ramalhete_queue, 1,i: 32,196,819 msg/sec xenium::ramalhete_queue, 2,s: 24,279,814 msg/sec xenium::ramalhete_queue, 2,i: 23,381,031 msg/sec xenium::ramalhete_queue, 3,s: 29,222,418 msg/sec xenium::ramalhete_queue, 3,i: 28,486,788 msg/sec xenium::ramalhete_queue, 4,s: 33,794,548 msg/sec xenium::ramalhete_queue, 4,i: 33,494,223 msg/sec xenium::ramalhete_queue, 5,s: 32,207,302 msg/sec xenium::ramalhete_queue, 5,i: 38,430,903 msg/sec xenium::ramalhete_queue, 6,s: 33,958,266 msg/sec xenium::ramalhete_queue, 6,i: 39,826,767 msg/sec xenium::ramalhete_queue, 7,s: 35,105,051 msg/sec xenium::ramalhete_queue, 7,i: 41,153,598 msg/sec xenium::ramalhete_queue, 8,s: 35,535,875 msg/sec xenium::ramalhete_queue, 8,i: 43,997,590 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,380,546 msg/sec xenium::vyukov_bounded_queue, 1,i: 97,904,385 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,619,642 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,619,582 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,631,767 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,922,348 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,503,082 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,216,680 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,961,184 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,337,191 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,020,761 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,278,537 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,210,386 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,372,602 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,418,687 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,562,868 msg/sec AtomicQueue, 1,s: 61,160,248 msg/sec AtomicQueue, 1,i: 57,332,545 msg/sec AtomicQueue, 2,s: 12,217,290 msg/sec AtomicQueue, 2,i: 11,736,334 msg/sec AtomicQueue, 3,s: 10,833,686 msg/sec AtomicQueue, 3,i: 9,975,612 msg/sec AtomicQueue, 4,s: 8,194,848 msg/sec AtomicQueue, 4,i: 8,213,264 msg/sec AtomicQueue, 5,s: 8,029,708 msg/sec AtomicQueue, 5,i: 8,004,617 msg/sec AtomicQueue, 6,s: 7,832,906 msg/sec AtomicQueue, 6,i: 7,613,259 msg/sec AtomicQueue, 7,s: 7,144,226 msg/sec AtomicQueue, 7,i: 7,972,635 msg/sec AtomicQueue, 8,s: 6,337,284 msg/sec AtomicQueue, 8,i: 7,471,251 msg/sec AtomicQueueB, 1,s: 50,975,101 msg/sec AtomicQueueB, 1,i: 50,620,298 msg/sec AtomicQueueB, 2,s: 11,928,623 msg/sec AtomicQueueB, 2,i: 11,480,307 msg/sec AtomicQueueB, 3,s: 10,976,365 msg/sec AtomicQueueB, 3,i: 10,227,033 msg/sec AtomicQueueB, 4,s: 8,038,725 msg/sec AtomicQueueB, 4,i: 7,962,894 msg/sec AtomicQueueB, 5,s: 7,549,022 msg/sec AtomicQueueB, 5,i: 7,832,746 msg/sec AtomicQueueB, 6,s: 7,305,841 msg/sec AtomicQueueB, 6,i: 7,542,121 msg/sec AtomicQueueB, 7,s: 6,814,583 msg/sec AtomicQueueB, 7,i: 7,711,616 msg/sec AtomicQueueB, 8,s: 6,231,217 msg/sec AtomicQueueB, 8,i: 7,120,569 msg/sec OptimistAtomicQueue, 1,s: 498,625,165 msg/sec OptimistAtomicQueue, 1,i: 487,380,322 msg/sec OptimistAtomicQueue, 2,s: 32,557,246 msg/sec OptimistAtomicQueue, 2,i: 32,680,216 msg/sec OptimistAtomicQueue, 3,s: 36,639,646 msg/sec OptimistAtomicQueue, 3,i: 37,423,855 msg/sec OptimistAtomicQueue, 4,s: 39,272,616 msg/sec OptimistAtomicQueue, 4,i: 39,396,541 msg/sec OptimistAtomicQueue, 5,s: 41,691,659 msg/sec OptimistAtomicQueue, 5,i: 46,302,026 msg/sec OptimistAtomicQueue, 6,s: 42,173,636 msg/sec OptimistAtomicQueue, 6,i: 49,876,612 msg/sec OptimistAtomicQueue, 7,s: 44,329,911 msg/sec OptimistAtomicQueue, 7,i: 49,359,438 msg/sec OptimistAtomicQueue, 8,s: 46,369,644 msg/sec OptimistAtomicQueue, 8,i: 49,920,492 msg/sec OptimistAtomicQueueB, 1,s: 77,600,558 msg/sec OptimistAtomicQueueB, 1,i: 76,535,840 msg/sec OptimistAtomicQueueB, 2,s: 32,278,037 msg/sec OptimistAtomicQueueB, 2,i: 32,135,962 msg/sec OptimistAtomicQueueB, 3,s: 36,249,339 msg/sec OptimistAtomicQueueB, 3,i: 36,919,427 msg/sec OptimistAtomicQueueB, 4,s: 38,608,329 msg/sec OptimistAtomicQueueB, 4,i: 38,590,542 msg/sec OptimistAtomicQueueB, 5,s: 41,085,688 msg/sec OptimistAtomicQueueB, 5,i: 45,166,532 msg/sec OptimistAtomicQueueB, 6,s: 40,548,542 msg/sec OptimistAtomicQueueB, 6,i: 48,580,275 msg/sec OptimistAtomicQueueB, 7,s: 41,694,978 msg/sec OptimistAtomicQueueB, 7,i: 48,190,391 msg/sec OptimistAtomicQueueB, 8,s: 44,309,807 msg/sec OptimistAtomicQueueB, 8,i: 48,480,313 msg/sec AtomicQueue2, 1,s: 23,113,924 msg/sec AtomicQueue2, 1,i: 23,099,736 msg/sec AtomicQueue2, 2,s: 11,783,302 msg/sec AtomicQueue2, 2,i: 11,474,838 msg/sec AtomicQueue2, 3,s: 9,534,549 msg/sec AtomicQueue2, 3,i: 9,372,210 msg/sec AtomicQueue2, 4,s: 8,013,687 msg/sec AtomicQueue2, 4,i: 8,025,162 msg/sec AtomicQueue2, 5,s: 7,919,323 msg/sec AtomicQueue2, 5,i: 8,011,252 msg/sec AtomicQueue2, 6,s: 7,790,187 msg/sec AtomicQueue2, 6,i: 7,550,746 msg/sec AtomicQueue2, 7,s: 7,093,861 msg/sec AtomicQueue2, 7,i: 7,865,843 msg/sec AtomicQueue2, 8,s: 6,363,403 msg/sec AtomicQueue2, 8,i: 7,230,626 msg/sec AtomicQueueB2, 1,s: 36,087,595 msg/sec AtomicQueueB2, 1,i: 32,627,172 msg/sec AtomicQueueB2, 2,s: 11,440,158 msg/sec AtomicQueueB2, 2,i: 11,133,383 msg/sec AtomicQueueB2, 3,s: 9,531,387 msg/sec AtomicQueueB2, 3,i: 9,479,887 msg/sec AtomicQueueB2, 4,s: 7,915,009 msg/sec AtomicQueueB2, 4,i: 7,888,734 msg/sec AtomicQueueB2, 5,s: 7,406,261 msg/sec AtomicQueueB2, 5,i: 7,677,924 msg/sec AtomicQueueB2, 6,s: 7,207,841 msg/sec AtomicQueueB2, 6,i: 7,419,316 msg/sec AtomicQueueB2, 7,s: 6,877,300 msg/sec AtomicQueueB2, 7,i: 7,691,446 msg/sec AtomicQueueB2, 8,s: 6,281,280 msg/sec AtomicQueueB2, 8,i: 6,987,266 msg/sec OptimistAtomicQueue2, 1,s: 525,867,003 msg/sec OptimistAtomicQueue2, 1,i: 31,817,282 msg/sec OptimistAtomicQueue2, 2,s: 24,774,978 msg/sec OptimistAtomicQueue2, 2,i: 24,014,892 msg/sec OptimistAtomicQueue2, 3,s: 30,319,429 msg/sec OptimistAtomicQueue2, 3,i: 29,990,154 msg/sec OptimistAtomicQueue2, 4,s: 33,376,712 msg/sec OptimistAtomicQueue2, 4,i: 33,336,071 msg/sec OptimistAtomicQueue2, 5,s: 37,246,946 msg/sec OptimistAtomicQueue2, 5,i: 42,051,821 msg/sec OptimistAtomicQueue2, 6,s: 40,266,127 msg/sec OptimistAtomicQueue2, 6,i: 49,170,376 msg/sec OptimistAtomicQueue2, 7,s: 42,662,497 msg/sec OptimistAtomicQueue2, 7,i: 47,828,176 msg/sec OptimistAtomicQueue2, 8,s: 44,063,705 msg/sec OptimistAtomicQueue2, 8,i: 48,824,452 msg/sec OptimistAtomicQueueB2, 1,s: 78,987,618 msg/sec OptimistAtomicQueueB2, 1,i: 33,860,715 msg/sec OptimistAtomicQueueB2, 2,s: 27,140,730 msg/sec OptimistAtomicQueueB2, 2,i: 24,266,685 msg/sec OptimistAtomicQueueB2, 3,s: 32,430,813 msg/sec OptimistAtomicQueueB2, 3,i: 32,165,986 msg/sec OptimistAtomicQueueB2, 4,s: 32,778,113 msg/sec OptimistAtomicQueueB2, 4,i: 32,859,188 msg/sec OptimistAtomicQueueB2, 5,s: 34,988,832 msg/sec OptimistAtomicQueueB2, 5,i: 39,411,636 msg/sec OptimistAtomicQueueB2, 6,s: 37,320,096 msg/sec OptimistAtomicQueueB2, 6,i: 42,129,316 msg/sec OptimistAtomicQueueB2, 7,s: 40,844,711 msg/sec OptimistAtomicQueueB2, 7,i: 43,069,179 msg/sec OptimistAtomicQueueB2, 8,s: 42,010,255 msg/sec OptimistAtomicQueueB2, 8,i: 45,163,931 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000150 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000258 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000207 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [295] 92m:2s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,442,183 msg/sec boost::lockfree::spsc_queue, 1,i: 70,401,135 msg/sec boost::lockfree::queue, 1,s: 6,917,238 msg/sec boost::lockfree::queue, 1,i: 6,983,808 msg/sec boost::lockfree::queue, 2,s: 7,620,265 msg/sec boost::lockfree::queue, 2,i: 7,552,980 msg/sec boost::lockfree::queue, 3,s: 7,380,423 msg/sec boost::lockfree::queue, 3,i: 7,516,891 msg/sec boost::lockfree::queue, 4,s: 6,415,740 msg/sec boost::lockfree::queue, 4,i: 6,802,041 msg/sec boost::lockfree::queue, 5,s: 6,493,418 msg/sec boost::lockfree::queue, 5,i: 6,527,246 msg/sec boost::lockfree::queue, 6,s: 6,078,176 msg/sec boost::lockfree::queue, 6,i: 6,128,065 msg/sec boost::lockfree::queue, 7,s: 5,842,354 msg/sec boost::lockfree::queue, 7,i: 5,949,863 msg/sec boost::lockfree::queue, 8,s: 5,550,080 msg/sec boost::lockfree::queue, 8,i: 5,668,590 msg/sec moodycamel::ReaderWriterQueue, 1,s: 443,001,392 msg/sec moodycamel::ReaderWriterQueue, 1,i: 81,696,691 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,879,097 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,249,652 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,250,970 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,563,727 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,461,175 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,723,513 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,400,894 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,166,344 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,377,097 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,860,484 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,341,053 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,133,232 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,239,054 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,329,558 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,292,582 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,388,348 msg/sec pthread_spinlock, 1,s: 29,417,289 msg/sec pthread_spinlock, 1,i: 25,323,880 msg/sec pthread_spinlock, 2,s: 15,931,764 msg/sec pthread_spinlock, 2,i: 17,384,188 msg/sec pthread_spinlock, 3,s: 8,391,780 msg/sec pthread_spinlock, 3,i: 11,919,617 msg/sec pthread_spinlock, 4,s: 6,525,624 msg/sec pthread_spinlock, 4,i: 9,231,350 msg/sec pthread_spinlock, 5,s: 8,636,837 msg/sec pthread_spinlock, 5,i: 9,155,504 msg/sec pthread_spinlock, 6,s: 8,522,762 msg/sec pthread_spinlock, 6,i: 8,626,825 msg/sec pthread_spinlock, 7,s: 7,534,404 msg/sec pthread_spinlock, 7,i: 7,448,662 msg/sec pthread_spinlock, 8,s: 6,619,259 msg/sec pthread_spinlock, 8,i: 6,877,295 msg/sec std::mutex, 1,s: 6,638,244 msg/sec std::mutex, 1,i: 6,570,744 msg/sec std::mutex, 2,s: 5,242,560 msg/sec std::mutex, 2,i: 5,163,141 msg/sec std::mutex, 3,s: 5,939,773 msg/sec std::mutex, 3,i: 6,095,696 msg/sec std::mutex, 4,s: 6,206,348 msg/sec std::mutex, 4,i: 6,308,840 msg/sec std::mutex, 5,s: 6,015,696 msg/sec std::mutex, 5,i: 5,901,714 msg/sec std::mutex, 6,s: 5,882,820 msg/sec std::mutex, 6,i: 5,816,455 msg/sec std::mutex, 7,s: 5,822,994 msg/sec std::mutex, 7,i: 5,747,483 msg/sec std::mutex, 8,s: 5,765,254 msg/sec std::mutex, 8,i: 5,663,159 msg/sec tbb::spin_mutex, 1,s: 37,926,536 msg/sec tbb::spin_mutex, 1,i: 33,162,319 msg/sec tbb::spin_mutex, 2,s: 18,008,440 msg/sec tbb::spin_mutex, 2,i: 18,225,933 msg/sec tbb::spin_mutex, 3,s: 8,381,876 msg/sec tbb::spin_mutex, 3,i: 11,206,699 msg/sec tbb::spin_mutex, 4,s: 3,160,915 msg/sec tbb::spin_mutex, 4,i: 6,335,531 msg/sec tbb::spin_mutex, 5,s: 5,521,317 msg/sec tbb::spin_mutex, 5,i: 5,753,355 msg/sec tbb::spin_mutex, 6,s: 5,355,974 msg/sec tbb::spin_mutex, 6,i: 4,389,435 msg/sec tbb::spin_mutex, 7,s: 4,845,719 msg/sec tbb::spin_mutex, 7,i: 4,356,187 msg/sec tbb::spin_mutex, 8,s: 4,232,257 msg/sec tbb::spin_mutex, 8,i: 4,141,254 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,366,856 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,849,326 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,995,701 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,656,765 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,387,107 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,531,261 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,421,992 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,251,153 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,717,385 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,841,043 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,756,350 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,129,657 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,791,432 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,982,715 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,892,979 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,123,511 msg/sec xenium::michael_scott_queue, 1,s: 10,101,061 msg/sec xenium::michael_scott_queue, 1,i: 9,736,388 msg/sec xenium::michael_scott_queue, 2,s: 8,482,070 msg/sec xenium::michael_scott_queue, 2,i: 8,556,297 msg/sec xenium::michael_scott_queue, 3,s: 7,335,899 msg/sec xenium::michael_scott_queue, 3,i: 7,547,032 msg/sec xenium::michael_scott_queue, 4,s: 6,280,980 msg/sec xenium::michael_scott_queue, 4,i: 6,302,500 msg/sec xenium::michael_scott_queue, 5,s: 6,306,893 msg/sec xenium::michael_scott_queue, 5,i: 6,621,652 msg/sec xenium::michael_scott_queue, 6,s: 6,502,448 msg/sec xenium::michael_scott_queue, 6,i: 6,769,737 msg/sec xenium::michael_scott_queue, 7,s: 6,288,393 msg/sec xenium::michael_scott_queue, 7,i: 6,625,228 msg/sec xenium::michael_scott_queue, 8,s: 6,011,073 msg/sec xenium::michael_scott_queue, 8,i: 6,155,992 msg/sec xenium::ramalhete_queue, 1,s: 31,376,652 msg/sec xenium::ramalhete_queue, 1,i: 31,839,880 msg/sec xenium::ramalhete_queue, 2,s: 23,533,636 msg/sec xenium::ramalhete_queue, 2,i: 23,320,060 msg/sec xenium::ramalhete_queue, 3,s: 29,284,274 msg/sec xenium::ramalhete_queue, 3,i: 28,522,109 msg/sec xenium::ramalhete_queue, 4,s: 33,840,193 msg/sec xenium::ramalhete_queue, 4,i: 33,475,822 msg/sec xenium::ramalhete_queue, 5,s: 32,221,801 msg/sec xenium::ramalhete_queue, 5,i: 38,347,692 msg/sec xenium::ramalhete_queue, 6,s: 34,053,712 msg/sec xenium::ramalhete_queue, 6,i: 39,927,213 msg/sec xenium::ramalhete_queue, 7,s: 35,199,043 msg/sec xenium::ramalhete_queue, 7,i: 40,895,269 msg/sec xenium::ramalhete_queue, 8,s: 35,530,741 msg/sec xenium::ramalhete_queue, 8,i: 43,800,702 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,689,846 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,751,025 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,950,896 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,817,504 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,669,959 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,661,842 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,543,720 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,149,074 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,923,009 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,268,666 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,218,465 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,429,013 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,355,517 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,317,558 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,386,687 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,247,019 msg/sec AtomicQueue, 1,s: 59,439,028 msg/sec AtomicQueue, 1,i: 55,798,075 msg/sec AtomicQueue, 2,s: 12,216,715 msg/sec AtomicQueue, 2,i: 11,729,477 msg/sec AtomicQueue, 3,s: 10,816,120 msg/sec AtomicQueue, 3,i: 9,990,384 msg/sec AtomicQueue, 4,s: 8,155,888 msg/sec AtomicQueue, 4,i: 8,185,162 msg/sec AtomicQueue, 5,s: 8,045,803 msg/sec AtomicQueue, 5,i: 8,094,312 msg/sec AtomicQueue, 6,s: 7,824,342 msg/sec AtomicQueue, 6,i: 7,618,169 msg/sec AtomicQueue, 7,s: 7,063,354 msg/sec AtomicQueue, 7,i: 7,988,078 msg/sec AtomicQueue, 8,s: 6,385,329 msg/sec AtomicQueue, 8,i: 7,447,357 msg/sec AtomicQueueB, 1,s: 76,599,640 msg/sec AtomicQueueB, 1,i: 46,893,498 msg/sec AtomicQueueB, 2,s: 12,050,929 msg/sec AtomicQueueB, 2,i: 11,502,304 msg/sec AtomicQueueB, 3,s: 11,028,811 msg/sec AtomicQueueB, 3,i: 10,167,421 msg/sec AtomicQueueB, 4,s: 8,045,109 msg/sec AtomicQueueB, 4,i: 7,918,455 msg/sec AtomicQueueB, 5,s: 7,706,456 msg/sec AtomicQueueB, 5,i: 7,795,415 msg/sec AtomicQueueB, 6,s: 7,295,916 msg/sec AtomicQueueB, 6,i: 7,593,044 msg/sec AtomicQueueB, 7,s: 6,851,437 msg/sec AtomicQueueB, 7,i: 7,674,645 msg/sec AtomicQueueB, 8,s: 6,293,385 msg/sec AtomicQueueB, 8,i: 7,098,016 msg/sec OptimistAtomicQueue, 1,s: 793,678,351 msg/sec OptimistAtomicQueue, 1,i: 510,221,913 msg/sec OptimistAtomicQueue, 2,s: 32,647,898 msg/sec OptimistAtomicQueue, 2,i: 32,713,946 msg/sec OptimistAtomicQueue, 3,s: 36,589,099 msg/sec OptimistAtomicQueue, 3,i: 37,410,774 msg/sec OptimistAtomicQueue, 4,s: 39,296,889 msg/sec OptimistAtomicQueue, 4,i: 39,410,754 msg/sec OptimistAtomicQueue, 5,s: 42,431,654 msg/sec OptimistAtomicQueue, 5,i: 46,236,284 msg/sec OptimistAtomicQueue, 6,s: 42,656,149 msg/sec OptimistAtomicQueue, 6,i: 49,778,184 msg/sec OptimistAtomicQueue, 7,s: 45,140,932 msg/sec OptimistAtomicQueue, 7,i: 53,013,978 msg/sec OptimistAtomicQueue, 8,s: 46,321,472 msg/sec OptimistAtomicQueue, 8,i: 50,388,259 msg/sec OptimistAtomicQueueB, 1,s: 77,613,145 msg/sec OptimistAtomicQueueB, 1,i: 77,074,004 msg/sec OptimistAtomicQueueB, 2,s: 32,277,523 msg/sec OptimistAtomicQueueB, 2,i: 32,113,419 msg/sec OptimistAtomicQueueB, 3,s: 36,273,304 msg/sec OptimistAtomicQueueB, 3,i: 36,990,246 msg/sec OptimistAtomicQueueB, 4,s: 38,749,481 msg/sec OptimistAtomicQueueB, 4,i: 38,596,882 msg/sec OptimistAtomicQueueB, 5,s: 40,975,043 msg/sec OptimistAtomicQueueB, 5,i: 45,214,856 msg/sec OptimistAtomicQueueB, 6,s: 40,716,189 msg/sec OptimistAtomicQueueB, 6,i: 49,212,522 msg/sec OptimistAtomicQueueB, 7,s: 41,879,362 msg/sec OptimistAtomicQueueB, 7,i: 47,956,206 msg/sec OptimistAtomicQueueB, 8,s: 44,527,246 msg/sec OptimistAtomicQueueB, 8,i: 47,678,491 msg/sec AtomicQueue2, 1,s: 23,214,941 msg/sec AtomicQueue2, 1,i: 23,140,662 msg/sec AtomicQueue2, 2,s: 11,789,025 msg/sec AtomicQueue2, 2,i: 11,581,137 msg/sec AtomicQueue2, 3,s: 9,465,356 msg/sec AtomicQueue2, 3,i: 9,358,366 msg/sec AtomicQueue2, 4,s: 8,076,731 msg/sec AtomicQueue2, 4,i: 8,069,670 msg/sec AtomicQueue2, 5,s: 7,930,727 msg/sec AtomicQueue2, 5,i: 8,053,019 msg/sec AtomicQueue2, 6,s: 7,794,204 msg/sec AtomicQueue2, 6,i: 7,511,364 msg/sec AtomicQueue2, 7,s: 7,130,222 msg/sec AtomicQueue2, 7,i: 7,892,259 msg/sec AtomicQueue2, 8,s: 6,377,525 msg/sec AtomicQueue2, 8,i: 7,219,869 msg/sec AtomicQueueB2, 1,s: 39,205,266 msg/sec AtomicQueueB2, 1,i: 35,944,667 msg/sec AtomicQueueB2, 2,s: 11,432,665 msg/sec AtomicQueueB2, 2,i: 11,057,435 msg/sec AtomicQueueB2, 3,s: 9,640,514 msg/sec AtomicQueueB2, 3,i: 9,553,919 msg/sec AtomicQueueB2, 4,s: 7,985,465 msg/sec AtomicQueueB2, 4,i: 7,919,130 msg/sec AtomicQueueB2, 5,s: 7,470,621 msg/sec AtomicQueueB2, 5,i: 7,751,883 msg/sec AtomicQueueB2, 6,s: 7,301,412 msg/sec AtomicQueueB2, 6,i: 7,454,780 msg/sec AtomicQueueB2, 7,s: 6,907,427 msg/sec AtomicQueueB2, 7,i: 7,701,132 msg/sec AtomicQueueB2, 8,s: 6,321,417 msg/sec AtomicQueueB2, 8,i: 7,123,579 msg/sec OptimistAtomicQueue2, 1,s: 547,122,348 msg/sec OptimistAtomicQueue2, 1,i: 31,366,895 msg/sec OptimistAtomicQueue2, 2,s: 25,759,934 msg/sec OptimistAtomicQueue2, 2,i: 24,022,025 msg/sec OptimistAtomicQueue2, 3,s: 30,317,583 msg/sec OptimistAtomicQueue2, 3,i: 30,595,490 msg/sec OptimistAtomicQueue2, 4,s: 33,191,009 msg/sec OptimistAtomicQueue2, 4,i: 33,030,075 msg/sec OptimistAtomicQueue2, 5,s: 37,109,064 msg/sec OptimistAtomicQueue2, 5,i: 40,108,420 msg/sec OptimistAtomicQueue2, 6,s: 40,142,121 msg/sec OptimistAtomicQueue2, 6,i: 49,234,370 msg/sec OptimistAtomicQueue2, 7,s: 42,959,959 msg/sec OptimistAtomicQueue2, 7,i: 47,978,595 msg/sec OptimistAtomicQueue2, 8,s: 43,868,415 msg/sec OptimistAtomicQueue2, 8,i: 49,336,598 msg/sec OptimistAtomicQueueB2, 1,s: 76,087,945 msg/sec OptimistAtomicQueueB2, 1,i: 33,882,990 msg/sec OptimistAtomicQueueB2, 2,s: 27,853,797 msg/sec OptimistAtomicQueueB2, 2,i: 29,731,057 msg/sec OptimistAtomicQueueB2, 3,s: 29,732,947 msg/sec OptimistAtomicQueueB2, 3,i: 29,025,922 msg/sec OptimistAtomicQueueB2, 4,s: 33,105,730 msg/sec OptimistAtomicQueueB2, 4,i: 32,108,967 msg/sec OptimistAtomicQueueB2, 5,s: 34,690,087 msg/sec OptimistAtomicQueueB2, 5,i: 39,245,306 msg/sec OptimistAtomicQueueB2, 6,s: 37,256,636 msg/sec OptimistAtomicQueueB2, 6,i: 42,297,808 msg/sec OptimistAtomicQueueB2, 7,s: 40,276,936 msg/sec OptimistAtomicQueueB2, 7,i: 45,460,966 msg/sec OptimistAtomicQueueB2, 8,s: 42,280,452 msg/sec OptimistAtomicQueueB2, 8,i: 45,277,593 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000298 sec/round-trip std::mutex: 0.000000450 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip tbb::concurrent_bounded_queue: 0.000000301 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000145 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [296] 90m:43s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,651,685 msg/sec boost::lockfree::spsc_queue, 1,i: 68,143,608 msg/sec boost::lockfree::queue, 1,s: 6,922,779 msg/sec boost::lockfree::queue, 1,i: 6,928,114 msg/sec boost::lockfree::queue, 2,s: 7,648,454 msg/sec boost::lockfree::queue, 2,i: 7,536,866 msg/sec boost::lockfree::queue, 3,s: 7,402,330 msg/sec boost::lockfree::queue, 3,i: 7,594,070 msg/sec boost::lockfree::queue, 4,s: 6,429,300 msg/sec boost::lockfree::queue, 4,i: 6,780,224 msg/sec boost::lockfree::queue, 5,s: 6,397,291 msg/sec boost::lockfree::queue, 5,i: 6,504,260 msg/sec boost::lockfree::queue, 6,s: 5,938,452 msg/sec boost::lockfree::queue, 6,i: 6,149,286 msg/sec boost::lockfree::queue, 7,s: 5,923,614 msg/sec boost::lockfree::queue, 7,i: 5,985,614 msg/sec boost::lockfree::queue, 8,s: 5,444,332 msg/sec boost::lockfree::queue, 8,i: 5,538,851 msg/sec moodycamel::ReaderWriterQueue, 1,s: 54,698,143 msg/sec moodycamel::ReaderWriterQueue, 1,i: 45,586,193 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,766,530 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,499,118 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,609,148 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,629,968 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,946,928 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,569,819 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,024,574 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,303,839 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,041,621 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,682,604 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,097,485 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,092,330 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,150,283 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,637,471 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,321,423 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,752,379 msg/sec pthread_spinlock, 1,s: 28,854,008 msg/sec pthread_spinlock, 1,i: 25,369,396 msg/sec pthread_spinlock, 2,s: 16,100,805 msg/sec pthread_spinlock, 2,i: 16,782,953 msg/sec pthread_spinlock, 3,s: 8,250,365 msg/sec pthread_spinlock, 3,i: 12,075,288 msg/sec pthread_spinlock, 4,s: 6,517,465 msg/sec pthread_spinlock, 4,i: 8,877,975 msg/sec pthread_spinlock, 5,s: 8,722,946 msg/sec pthread_spinlock, 5,i: 9,416,332 msg/sec pthread_spinlock, 6,s: 8,439,181 msg/sec pthread_spinlock, 6,i: 8,877,402 msg/sec pthread_spinlock, 7,s: 7,728,111 msg/sec pthread_spinlock, 7,i: 8,038,900 msg/sec pthread_spinlock, 8,s: 6,752,208 msg/sec pthread_spinlock, 8,i: 7,518,513 msg/sec std::mutex, 1,s: 7,608,357 msg/sec std::mutex, 1,i: 7,561,299 msg/sec std::mutex, 2,s: 6,203,913 msg/sec std::mutex, 2,i: 6,204,803 msg/sec std::mutex, 3,s: 5,999,531 msg/sec std::mutex, 3,i: 6,076,226 msg/sec std::mutex, 4,s: 5,543,145 msg/sec std::mutex, 4,i: 5,702,659 msg/sec std::mutex, 5,s: 5,974,390 msg/sec std::mutex, 5,i: 5,697,078 msg/sec std::mutex, 6,s: 5,852,238 msg/sec std::mutex, 6,i: 5,880,365 msg/sec std::mutex, 7,s: 5,778,732 msg/sec std::mutex, 7,i: 5,787,674 msg/sec std::mutex, 8,s: 5,636,378 msg/sec std::mutex, 8,i: 5,638,124 msg/sec tbb::spin_mutex, 1,s: 37,477,865 msg/sec tbb::spin_mutex, 1,i: 37,695,887 msg/sec tbb::spin_mutex, 2,s: 21,102,743 msg/sec tbb::spin_mutex, 2,i: 18,512,515 msg/sec tbb::spin_mutex, 3,s: 7,814,115 msg/sec tbb::spin_mutex, 3,i: 11,276,547 msg/sec tbb::spin_mutex, 4,s: 3,159,446 msg/sec tbb::spin_mutex, 4,i: 6,252,009 msg/sec tbb::spin_mutex, 5,s: 5,189,420 msg/sec tbb::spin_mutex, 5,i: 5,803,232 msg/sec tbb::spin_mutex, 6,s: 5,340,704 msg/sec tbb::spin_mutex, 6,i: 4,361,592 msg/sec tbb::spin_mutex, 7,s: 4,713,470 msg/sec tbb::spin_mutex, 7,i: 4,335,996 msg/sec tbb::spin_mutex, 8,s: 3,824,623 msg/sec tbb::spin_mutex, 8,i: 4,078,330 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,357,892 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,536,099 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,729,682 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,843,437 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,524,667 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,848,705 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,131,364 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,395,558 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,720,700 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,740,119 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,815,461 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,011,729 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,767,292 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,131,594 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,652,441 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,294,629 msg/sec xenium::michael_scott_queue, 1,s: 9,386,481 msg/sec xenium::michael_scott_queue, 1,i: 9,251,311 msg/sec xenium::michael_scott_queue, 2,s: 8,585,379 msg/sec xenium::michael_scott_queue, 2,i: 8,479,182 msg/sec xenium::michael_scott_queue, 3,s: 7,258,343 msg/sec xenium::michael_scott_queue, 3,i: 7,596,147 msg/sec xenium::michael_scott_queue, 4,s: 6,373,188 msg/sec xenium::michael_scott_queue, 4,i: 6,301,977 msg/sec xenium::michael_scott_queue, 5,s: 6,346,525 msg/sec xenium::michael_scott_queue, 5,i: 6,698,208 msg/sec xenium::michael_scott_queue, 6,s: 6,559,202 msg/sec xenium::michael_scott_queue, 6,i: 6,723,183 msg/sec xenium::michael_scott_queue, 7,s: 6,256,121 msg/sec xenium::michael_scott_queue, 7,i: 6,617,402 msg/sec xenium::michael_scott_queue, 8,s: 6,048,431 msg/sec xenium::michael_scott_queue, 8,i: 6,070,785 msg/sec xenium::ramalhete_queue, 1,s: 32,453,628 msg/sec xenium::ramalhete_queue, 1,i: 33,095,422 msg/sec xenium::ramalhete_queue, 2,s: 24,026,147 msg/sec xenium::ramalhete_queue, 2,i: 23,424,847 msg/sec xenium::ramalhete_queue, 3,s: 29,256,099 msg/sec xenium::ramalhete_queue, 3,i: 28,426,010 msg/sec xenium::ramalhete_queue, 4,s: 33,731,305 msg/sec xenium::ramalhete_queue, 4,i: 33,517,448 msg/sec xenium::ramalhete_queue, 5,s: 32,006,702 msg/sec xenium::ramalhete_queue, 5,i: 36,064,957 msg/sec xenium::ramalhete_queue, 6,s: 34,090,393 msg/sec xenium::ramalhete_queue, 6,i: 39,847,694 msg/sec xenium::ramalhete_queue, 7,s: 35,002,971 msg/sec xenium::ramalhete_queue, 7,i: 40,948,669 msg/sec xenium::ramalhete_queue, 8,s: 35,500,893 msg/sec xenium::ramalhete_queue, 8,i: 44,292,640 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,331,735 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,873,044 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,176,299 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,009,555 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,628,100 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,203,861 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,730,613 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,243,095 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,726,944 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,321,935 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,955,463 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,167,563 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,109,189 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,922,670 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,438,224 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,328,029 msg/sec AtomicQueue, 1,s: 272,391,259 msg/sec AtomicQueue, 1,i: 170,741,636 msg/sec AtomicQueue, 2,s: 12,214,828 msg/sec AtomicQueue, 2,i: 11,727,856 msg/sec AtomicQueue, 3,s: 10,801,277 msg/sec AtomicQueue, 3,i: 9,885,500 msg/sec AtomicQueue, 4,s: 8,223,456 msg/sec AtomicQueue, 4,i: 8,218,490 msg/sec AtomicQueue, 5,s: 8,021,681 msg/sec AtomicQueue, 5,i: 8,143,767 msg/sec AtomicQueue, 6,s: 7,715,579 msg/sec AtomicQueue, 6,i: 7,586,276 msg/sec AtomicQueue, 7,s: 7,109,597 msg/sec AtomicQueue, 7,i: 7,792,325 msg/sec AtomicQueue, 8,s: 6,360,585 msg/sec AtomicQueue, 8,i: 7,474,319 msg/sec AtomicQueueB, 1,s: 44,084,701 msg/sec AtomicQueueB, 1,i: 43,114,017 msg/sec AtomicQueueB, 2,s: 11,957,554 msg/sec AtomicQueueB, 2,i: 11,531,410 msg/sec AtomicQueueB, 3,s: 11,063,001 msg/sec AtomicQueueB, 3,i: 10,211,236 msg/sec AtomicQueueB, 4,s: 8,071,322 msg/sec AtomicQueueB, 4,i: 8,026,826 msg/sec AtomicQueueB, 5,s: 7,538,409 msg/sec AtomicQueueB, 5,i: 7,750,283 msg/sec AtomicQueueB, 6,s: 7,381,029 msg/sec AtomicQueueB, 6,i: 7,541,588 msg/sec AtomicQueueB, 7,s: 6,831,038 msg/sec AtomicQueueB, 7,i: 7,761,734 msg/sec AtomicQueueB, 8,s: 6,301,440 msg/sec AtomicQueueB, 8,i: 7,140,871 msg/sec OptimistAtomicQueue, 1,s: 734,102,550 msg/sec OptimistAtomicQueue, 1,i: 574,318,130 msg/sec OptimistAtomicQueue, 2,s: 32,646,482 msg/sec OptimistAtomicQueue, 2,i: 32,724,070 msg/sec OptimistAtomicQueue, 3,s: 36,643,598 msg/sec OptimistAtomicQueue, 3,i: 37,300,602 msg/sec OptimistAtomicQueue, 4,s: 39,259,410 msg/sec OptimistAtomicQueue, 4,i: 39,425,178 msg/sec OptimistAtomicQueue, 5,s: 42,245,966 msg/sec OptimistAtomicQueue, 5,i: 47,149,666 msg/sec OptimistAtomicQueue, 6,s: 42,551,518 msg/sec OptimistAtomicQueue, 6,i: 49,817,331 msg/sec OptimistAtomicQueue, 7,s: 44,467,022 msg/sec OptimistAtomicQueue, 7,i: 52,907,814 msg/sec OptimistAtomicQueue, 8,s: 46,405,004 msg/sec OptimistAtomicQueue, 8,i: 49,427,713 msg/sec OptimistAtomicQueueB, 1,s: 181,050,093 msg/sec OptimistAtomicQueueB, 1,i: 77,547,925 msg/sec OptimistAtomicQueueB, 2,s: 31,682,487 msg/sec OptimistAtomicQueueB, 2,i: 31,657,953 msg/sec OptimistAtomicQueueB, 3,s: 36,206,143 msg/sec OptimistAtomicQueueB, 3,i: 36,747,270 msg/sec OptimistAtomicQueueB, 4,s: 38,552,276 msg/sec OptimistAtomicQueueB, 4,i: 38,610,087 msg/sec OptimistAtomicQueueB, 5,s: 40,295,526 msg/sec OptimistAtomicQueueB, 5,i: 45,551,214 msg/sec OptimistAtomicQueueB, 6,s: 41,474,296 msg/sec OptimistAtomicQueueB, 6,i: 49,135,823 msg/sec OptimistAtomicQueueB, 7,s: 42,071,475 msg/sec OptimistAtomicQueueB, 7,i: 51,444,747 msg/sec OptimistAtomicQueueB, 8,s: 44,258,812 msg/sec OptimistAtomicQueueB, 8,i: 47,726,614 msg/sec AtomicQueue2, 1,s: 22,859,614 msg/sec AtomicQueue2, 1,i: 22,843,823 msg/sec AtomicQueue2, 2,s: 11,886,978 msg/sec AtomicQueue2, 2,i: 11,325,653 msg/sec AtomicQueue2, 3,s: 9,470,059 msg/sec AtomicQueue2, 3,i: 9,362,084 msg/sec AtomicQueue2, 4,s: 8,068,302 msg/sec AtomicQueue2, 4,i: 8,046,208 msg/sec AtomicQueue2, 5,s: 7,882,592 msg/sec AtomicQueue2, 5,i: 8,017,871 msg/sec AtomicQueue2, 6,s: 7,773,387 msg/sec AtomicQueue2, 6,i: 7,527,969 msg/sec AtomicQueue2, 7,s: 7,153,775 msg/sec AtomicQueue2, 7,i: 7,873,235 msg/sec AtomicQueue2, 8,s: 6,379,284 msg/sec AtomicQueue2, 8,i: 7,332,324 msg/sec AtomicQueueB2, 1,s: 36,046,025 msg/sec AtomicQueueB2, 1,i: 32,645,537 msg/sec AtomicQueueB2, 2,s: 11,340,176 msg/sec AtomicQueueB2, 2,i: 11,109,525 msg/sec AtomicQueueB2, 3,s: 9,785,066 msg/sec AtomicQueueB2, 3,i: 9,656,090 msg/sec AtomicQueueB2, 4,s: 7,944,995 msg/sec AtomicQueueB2, 4,i: 7,782,049 msg/sec AtomicQueueB2, 5,s: 7,428,238 msg/sec AtomicQueueB2, 5,i: 7,766,689 msg/sec AtomicQueueB2, 6,s: 7,279,911 msg/sec AtomicQueueB2, 6,i: 7,449,681 msg/sec AtomicQueueB2, 7,s: 6,914,352 msg/sec AtomicQueueB2, 7,i: 7,694,105 msg/sec AtomicQueueB2, 8,s: 6,272,733 msg/sec AtomicQueueB2, 8,i: 7,126,635 msg/sec OptimistAtomicQueue2, 1,s: 501,270,030 msg/sec OptimistAtomicQueue2, 1,i: 29,776,512 msg/sec OptimistAtomicQueue2, 2,s: 26,291,003 msg/sec OptimistAtomicQueue2, 2,i: 24,026,065 msg/sec OptimistAtomicQueue2, 3,s: 30,755,891 msg/sec OptimistAtomicQueue2, 3,i: 29,963,627 msg/sec OptimistAtomicQueue2, 4,s: 33,357,822 msg/sec OptimistAtomicQueue2, 4,i: 33,112,546 msg/sec OptimistAtomicQueue2, 5,s: 37,080,254 msg/sec OptimistAtomicQueue2, 5,i: 41,145,997 msg/sec OptimistAtomicQueue2, 6,s: 40,067,314 msg/sec OptimistAtomicQueue2, 6,i: 49,176,619 msg/sec OptimistAtomicQueue2, 7,s: 42,889,968 msg/sec OptimistAtomicQueue2, 7,i: 48,021,850 msg/sec OptimistAtomicQueue2, 8,s: 44,001,171 msg/sec OptimistAtomicQueue2, 8,i: 48,718,895 msg/sec OptimistAtomicQueueB2, 1,s: 77,232,321 msg/sec OptimistAtomicQueueB2, 1,i: 33,905,418 msg/sec OptimistAtomicQueueB2, 2,s: 26,928,920 msg/sec OptimistAtomicQueueB2, 2,i: 28,492,253 msg/sec OptimistAtomicQueueB2, 3,s: 29,557,281 msg/sec OptimistAtomicQueueB2, 3,i: 29,503,754 msg/sec OptimistAtomicQueueB2, 4,s: 33,157,573 msg/sec OptimistAtomicQueueB2, 4,i: 33,112,165 msg/sec OptimistAtomicQueueB2, 5,s: 34,446,215 msg/sec OptimistAtomicQueueB2, 5,i: 39,334,822 msg/sec OptimistAtomicQueueB2, 6,s: 37,154,557 msg/sec OptimistAtomicQueueB2, 6,i: 42,228,911 msg/sec OptimistAtomicQueueB2, 7,s: 40,217,536 msg/sec OptimistAtomicQueueB2, 7,i: 45,363,759 msg/sec OptimistAtomicQueueB2, 8,s: 42,327,307 msg/sec OptimistAtomicQueueB2, 8,i: 45,999,794 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000223 sec/round-trip pthread_spinlock: 0.000000234 sec/round-trip std::mutex: 0.000000457 sec/round-trip tbb::spin_mutex: 0.000000260 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [297] 89m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,477,336 msg/sec boost::lockfree::spsc_queue, 1,i: 68,339,852 msg/sec boost::lockfree::queue, 1,s: 6,814,909 msg/sec boost::lockfree::queue, 1,i: 6,895,274 msg/sec boost::lockfree::queue, 2,s: 7,692,275 msg/sec boost::lockfree::queue, 2,i: 7,511,460 msg/sec boost::lockfree::queue, 3,s: 7,374,756 msg/sec boost::lockfree::queue, 3,i: 7,537,658 msg/sec boost::lockfree::queue, 4,s: 6,425,333 msg/sec boost::lockfree::queue, 4,i: 6,741,772 msg/sec boost::lockfree::queue, 5,s: 6,484,107 msg/sec boost::lockfree::queue, 5,i: 6,484,089 msg/sec boost::lockfree::queue, 6,s: 6,009,235 msg/sec boost::lockfree::queue, 6,i: 6,162,886 msg/sec boost::lockfree::queue, 7,s: 5,904,482 msg/sec boost::lockfree::queue, 7,i: 5,875,652 msg/sec boost::lockfree::queue, 8,s: 5,446,801 msg/sec boost::lockfree::queue, 8,i: 5,551,978 msg/sec moodycamel::ReaderWriterQueue, 1,s: 68,802,342 msg/sec moodycamel::ReaderWriterQueue, 1,i: 62,470,586 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,569,636 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,851,058 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,268,959 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,561,363 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,439,898 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,002,903 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,862,497 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,044,012 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,428,307 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,552,832 msg/sec moodycamel::ConcurrentQueue, 6,s: 18,066,296 msg/sec moodycamel::ConcurrentQueue, 6,i: 35,288,536 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,074,285 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,322,208 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,281,078 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,787,648 msg/sec pthread_spinlock, 1,s: 29,025,458 msg/sec pthread_spinlock, 1,i: 25,343,980 msg/sec pthread_spinlock, 2,s: 15,696,770 msg/sec pthread_spinlock, 2,i: 17,105,728 msg/sec pthread_spinlock, 3,s: 8,366,428 msg/sec pthread_spinlock, 3,i: 11,957,874 msg/sec pthread_spinlock, 4,s: 6,503,163 msg/sec pthread_spinlock, 4,i: 8,923,558 msg/sec pthread_spinlock, 5,s: 8,590,989 msg/sec pthread_spinlock, 5,i: 9,237,096 msg/sec pthread_spinlock, 6,s: 8,504,330 msg/sec pthread_spinlock, 6,i: 8,991,374 msg/sec pthread_spinlock, 7,s: 7,557,294 msg/sec pthread_spinlock, 7,i: 8,086,609 msg/sec pthread_spinlock, 8,s: 6,613,198 msg/sec pthread_spinlock, 8,i: 6,892,702 msg/sec std::mutex, 1,s: 5,973,604 msg/sec std::mutex, 1,i: 5,891,940 msg/sec std::mutex, 2,s: 5,866,135 msg/sec std::mutex, 2,i: 5,827,775 msg/sec std::mutex, 3,s: 5,954,486 msg/sec std::mutex, 3,i: 5,517,968 msg/sec std::mutex, 4,s: 5,410,859 msg/sec std::mutex, 4,i: 6,024,897 msg/sec std::mutex, 5,s: 5,482,626 msg/sec std::mutex, 5,i: 5,774,493 msg/sec std::mutex, 6,s: 5,969,059 msg/sec std::mutex, 6,i: 5,879,257 msg/sec std::mutex, 7,s: 5,880,187 msg/sec std::mutex, 7,i: 5,839,146 msg/sec std::mutex, 8,s: 5,784,346 msg/sec std::mutex, 8,i: 5,757,874 msg/sec tbb::spin_mutex, 1,s: 37,856,372 msg/sec tbb::spin_mutex, 1,i: 37,801,905 msg/sec tbb::spin_mutex, 2,s: 21,041,755 msg/sec tbb::spin_mutex, 2,i: 20,955,291 msg/sec tbb::spin_mutex, 3,s: 9,037,742 msg/sec tbb::spin_mutex, 3,i: 11,345,983 msg/sec tbb::spin_mutex, 4,s: 3,250,074 msg/sec tbb::spin_mutex, 4,i: 6,330,362 msg/sec tbb::spin_mutex, 5,s: 5,618,376 msg/sec tbb::spin_mutex, 5,i: 5,731,538 msg/sec tbb::spin_mutex, 6,s: 5,318,782 msg/sec tbb::spin_mutex, 6,i: 4,370,528 msg/sec tbb::spin_mutex, 7,s: 4,846,479 msg/sec tbb::spin_mutex, 7,i: 4,347,478 msg/sec tbb::spin_mutex, 8,s: 4,237,214 msg/sec tbb::spin_mutex, 8,i: 4,151,654 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,572,994 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,214,217 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,913,666 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,012,125 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,557,853 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,620,860 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,388,096 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,243,197 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,658,396 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,756,459 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,741,109 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,990,962 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,825,166 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,998,289 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,899,754 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,132,539 msg/sec xenium::michael_scott_queue, 1,s: 9,249,682 msg/sec xenium::michael_scott_queue, 1,i: 9,166,634 msg/sec xenium::michael_scott_queue, 2,s: 8,626,630 msg/sec xenium::michael_scott_queue, 2,i: 8,560,538 msg/sec xenium::michael_scott_queue, 3,s: 7,389,608 msg/sec xenium::michael_scott_queue, 3,i: 7,641,555 msg/sec xenium::michael_scott_queue, 4,s: 6,387,740 msg/sec xenium::michael_scott_queue, 4,i: 6,339,591 msg/sec xenium::michael_scott_queue, 5,s: 6,285,341 msg/sec xenium::michael_scott_queue, 5,i: 6,692,421 msg/sec xenium::michael_scott_queue, 6,s: 6,522,359 msg/sec xenium::michael_scott_queue, 6,i: 6,727,457 msg/sec xenium::michael_scott_queue, 7,s: 6,298,537 msg/sec xenium::michael_scott_queue, 7,i: 6,393,731 msg/sec xenium::michael_scott_queue, 8,s: 6,048,118 msg/sec xenium::michael_scott_queue, 8,i: 6,261,797 msg/sec xenium::ramalhete_queue, 1,s: 31,505,503 msg/sec xenium::ramalhete_queue, 1,i: 31,607,261 msg/sec xenium::ramalhete_queue, 2,s: 23,552,363 msg/sec xenium::ramalhete_queue, 2,i: 23,298,846 msg/sec xenium::ramalhete_queue, 3,s: 29,073,279 msg/sec xenium::ramalhete_queue, 3,i: 28,414,577 msg/sec xenium::ramalhete_queue, 4,s: 33,835,652 msg/sec xenium::ramalhete_queue, 4,i: 33,414,889 msg/sec xenium::ramalhete_queue, 5,s: 32,262,904 msg/sec xenium::ramalhete_queue, 5,i: 36,207,154 msg/sec xenium::ramalhete_queue, 6,s: 34,052,347 msg/sec xenium::ramalhete_queue, 6,i: 39,281,678 msg/sec xenium::ramalhete_queue, 7,s: 35,064,941 msg/sec xenium::ramalhete_queue, 7,i: 40,996,424 msg/sec xenium::ramalhete_queue, 8,s: 35,575,949 msg/sec xenium::ramalhete_queue, 8,i: 43,846,228 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,855,725 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,625,042 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,514,477 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,377,154 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,690,341 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,856,264 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,609,371 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,351,634 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,884,845 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,429,668 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,123,835 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,411,692 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,172,820 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,861,078 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,422,989 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,232,332 msg/sec AtomicQueue, 1,s: 57,156,744 msg/sec AtomicQueue, 1,i: 56,221,927 msg/sec AtomicQueue, 2,s: 12,250,036 msg/sec AtomicQueue, 2,i: 11,751,387 msg/sec AtomicQueue, 3,s: 10,818,281 msg/sec AtomicQueue, 3,i: 9,901,156 msg/sec AtomicQueue, 4,s: 8,132,352 msg/sec AtomicQueue, 4,i: 8,204,421 msg/sec AtomicQueue, 5,s: 8,013,382 msg/sec AtomicQueue, 5,i: 8,137,558 msg/sec AtomicQueue, 6,s: 7,649,998 msg/sec AtomicQueue, 6,i: 7,615,640 msg/sec AtomicQueue, 7,s: 7,115,110 msg/sec AtomicQueue, 7,i: 7,801,760 msg/sec AtomicQueue, 8,s: 6,330,572 msg/sec AtomicQueue, 8,i: 7,485,576 msg/sec AtomicQueueB, 1,s: 43,798,555 msg/sec AtomicQueueB, 1,i: 42,973,308 msg/sec AtomicQueueB, 2,s: 11,523,534 msg/sec AtomicQueueB, 2,i: 11,516,173 msg/sec AtomicQueueB, 3,s: 10,934,269 msg/sec AtomicQueueB, 3,i: 10,184,133 msg/sec AtomicQueueB, 4,s: 8,053,644 msg/sec AtomicQueueB, 4,i: 7,972,943 msg/sec AtomicQueueB, 5,s: 7,718,846 msg/sec AtomicQueueB, 5,i: 7,863,646 msg/sec AtomicQueueB, 6,s: 7,240,948 msg/sec AtomicQueueB, 6,i: 7,539,529 msg/sec AtomicQueueB, 7,s: 6,855,171 msg/sec AtomicQueueB, 7,i: 7,759,551 msg/sec AtomicQueueB, 8,s: 6,258,568 msg/sec AtomicQueueB, 8,i: 7,179,587 msg/sec OptimistAtomicQueue, 1,s: 781,393,001 msg/sec OptimistAtomicQueue, 1,i: 614,147,721 msg/sec OptimistAtomicQueue, 2,s: 32,648,872 msg/sec OptimistAtomicQueue, 2,i: 32,725,941 msg/sec OptimistAtomicQueue, 3,s: 36,680,239 msg/sec OptimistAtomicQueue, 3,i: 37,377,800 msg/sec OptimistAtomicQueue, 4,s: 39,316,221 msg/sec OptimistAtomicQueue, 4,i: 39,355,441 msg/sec OptimistAtomicQueue, 5,s: 42,550,267 msg/sec OptimistAtomicQueue, 5,i: 48,500,534 msg/sec OptimistAtomicQueue, 6,s: 42,021,332 msg/sec OptimistAtomicQueue, 6,i: 50,310,586 msg/sec OptimistAtomicQueue, 7,s: 44,437,011 msg/sec OptimistAtomicQueue, 7,i: 49,211,935 msg/sec OptimistAtomicQueue, 8,s: 46,346,171 msg/sec OptimistAtomicQueue, 8,i: 49,258,592 msg/sec OptimistAtomicQueueB, 1,s: 153,839,029 msg/sec OptimistAtomicQueueB, 1,i: 76,558,234 msg/sec OptimistAtomicQueueB, 2,s: 32,192,344 msg/sec OptimistAtomicQueueB, 2,i: 32,190,918 msg/sec OptimistAtomicQueueB, 3,s: 36,219,119 msg/sec OptimistAtomicQueueB, 3,i: 36,753,623 msg/sec OptimistAtomicQueueB, 4,s: 38,698,860 msg/sec OptimistAtomicQueueB, 4,i: 38,511,511 msg/sec OptimistAtomicQueueB, 5,s: 41,073,537 msg/sec OptimistAtomicQueueB, 5,i: 46,014,877 msg/sec OptimistAtomicQueueB, 6,s: 40,797,479 msg/sec OptimistAtomicQueueB, 6,i: 48,580,201 msg/sec OptimistAtomicQueueB, 7,s: 41,644,263 msg/sec OptimistAtomicQueueB, 7,i: 51,473,768 msg/sec OptimistAtomicQueueB, 8,s: 44,675,490 msg/sec OptimistAtomicQueueB, 8,i: 47,417,652 msg/sec AtomicQueue2, 1,s: 23,213,011 msg/sec AtomicQueue2, 1,i: 23,114,030 msg/sec AtomicQueue2, 2,s: 11,816,870 msg/sec AtomicQueue2, 2,i: 11,424,333 msg/sec AtomicQueue2, 3,s: 9,537,323 msg/sec AtomicQueue2, 3,i: 9,538,717 msg/sec AtomicQueue2, 4,s: 8,059,701 msg/sec AtomicQueue2, 4,i: 8,080,483 msg/sec AtomicQueue2, 5,s: 7,920,883 msg/sec AtomicQueue2, 5,i: 8,032,324 msg/sec AtomicQueue2, 6,s: 7,774,827 msg/sec AtomicQueue2, 6,i: 7,535,039 msg/sec AtomicQueue2, 7,s: 7,045,179 msg/sec AtomicQueue2, 7,i: 7,912,220 msg/sec AtomicQueue2, 8,s: 6,387,513 msg/sec AtomicQueue2, 8,i: 7,347,566 msg/sec AtomicQueueB2, 1,s: 36,186,336 msg/sec AtomicQueueB2, 1,i: 32,643,149 msg/sec AtomicQueueB2, 2,s: 11,376,890 msg/sec AtomicQueueB2, 2,i: 11,118,891 msg/sec AtomicQueueB2, 3,s: 9,562,291 msg/sec AtomicQueueB2, 3,i: 9,563,742 msg/sec AtomicQueueB2, 4,s: 8,022,445 msg/sec AtomicQueueB2, 4,i: 7,828,415 msg/sec AtomicQueueB2, 5,s: 7,585,058 msg/sec AtomicQueueB2, 5,i: 7,672,398 msg/sec AtomicQueueB2, 6,s: 7,296,010 msg/sec AtomicQueueB2, 6,i: 7,442,564 msg/sec AtomicQueueB2, 7,s: 6,931,012 msg/sec AtomicQueueB2, 7,i: 7,692,804 msg/sec AtomicQueueB2, 8,s: 6,225,810 msg/sec AtomicQueueB2, 8,i: 7,068,190 msg/sec OptimistAtomicQueue2, 1,s: 478,603,721 msg/sec OptimistAtomicQueue2, 1,i: 32,163,919 msg/sec OptimistAtomicQueue2, 2,s: 24,750,920 msg/sec OptimistAtomicQueue2, 2,i: 22,695,397 msg/sec OptimistAtomicQueue2, 3,s: 30,468,764 msg/sec OptimistAtomicQueue2, 3,i: 32,224,555 msg/sec OptimistAtomicQueue2, 4,s: 33,155,355 msg/sec OptimistAtomicQueue2, 4,i: 33,123,156 msg/sec OptimistAtomicQueue2, 5,s: 37,055,757 msg/sec OptimistAtomicQueue2, 5,i: 40,688,977 msg/sec OptimistAtomicQueue2, 6,s: 40,052,661 msg/sec OptimistAtomicQueue2, 6,i: 49,230,283 msg/sec OptimistAtomicQueue2, 7,s: 42,971,701 msg/sec OptimistAtomicQueue2, 7,i: 51,734,088 msg/sec OptimistAtomicQueue2, 8,s: 43,982,814 msg/sec OptimistAtomicQueue2, 8,i: 48,715,560 msg/sec OptimistAtomicQueueB2, 1,s: 78,571,882 msg/sec OptimistAtomicQueueB2, 1,i: 63,807,147 msg/sec OptimistAtomicQueueB2, 2,s: 28,860,661 msg/sec OptimistAtomicQueueB2, 2,i: 23,527,778 msg/sec OptimistAtomicQueueB2, 3,s: 29,721,398 msg/sec OptimistAtomicQueueB2, 3,i: 29,115,160 msg/sec OptimistAtomicQueueB2, 4,s: 33,325,374 msg/sec OptimistAtomicQueueB2, 4,i: 32,838,550 msg/sec OptimistAtomicQueueB2, 5,s: 34,582,388 msg/sec OptimistAtomicQueueB2, 5,i: 39,170,462 msg/sec OptimistAtomicQueueB2, 6,s: 37,173,910 msg/sec OptimistAtomicQueueB2, 6,i: 42,089,727 msg/sec OptimistAtomicQueueB2, 7,s: 40,022,229 msg/sec OptimistAtomicQueueB2, 7,i: 43,186,634 msg/sec OptimistAtomicQueueB2, 8,s: 42,601,097 msg/sec OptimistAtomicQueueB2, 8,i: 45,638,403 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000155 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000457 sec/round-trip tbb::spin_mutex: 0.000000283 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [298] 88m:4s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,870,108 msg/sec boost::lockfree::spsc_queue, 1,i: 67,637,925 msg/sec boost::lockfree::queue, 1,s: 6,832,387 msg/sec boost::lockfree::queue, 1,i: 6,914,534 msg/sec boost::lockfree::queue, 2,s: 7,683,194 msg/sec boost::lockfree::queue, 2,i: 7,435,036 msg/sec boost::lockfree::queue, 3,s: 7,395,985 msg/sec boost::lockfree::queue, 3,i: 7,514,290 msg/sec boost::lockfree::queue, 4,s: 6,422,728 msg/sec boost::lockfree::queue, 4,i: 6,734,794 msg/sec boost::lockfree::queue, 5,s: 6,502,135 msg/sec boost::lockfree::queue, 5,i: 6,449,247 msg/sec boost::lockfree::queue, 6,s: 6,043,945 msg/sec boost::lockfree::queue, 6,i: 6,103,463 msg/sec boost::lockfree::queue, 7,s: 5,969,796 msg/sec boost::lockfree::queue, 7,i: 5,921,759 msg/sec boost::lockfree::queue, 8,s: 5,480,655 msg/sec boost::lockfree::queue, 8,i: 5,650,814 msg/sec moodycamel::ReaderWriterQueue, 1,s: 508,681,540 msg/sec moodycamel::ReaderWriterQueue, 1,i: 62,435,939 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,395,638 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,673,260 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,303,348 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,482,681 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,002,158 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,847,290 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,368,654 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,159,100 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,610,483 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,701,244 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,360,826 msg/sec moodycamel::ConcurrentQueue, 6,i: 48,104,001 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,959,847 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,627,915 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,386,294 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,624,948 msg/sec pthread_spinlock, 1,s: 29,027,164 msg/sec pthread_spinlock, 1,i: 25,300,659 msg/sec pthread_spinlock, 2,s: 15,957,105 msg/sec pthread_spinlock, 2,i: 17,023,874 msg/sec pthread_spinlock, 3,s: 8,361,861 msg/sec pthread_spinlock, 3,i: 12,105,870 msg/sec pthread_spinlock, 4,s: 6,502,558 msg/sec pthread_spinlock, 4,i: 8,974,052 msg/sec pthread_spinlock, 5,s: 8,558,358 msg/sec pthread_spinlock, 5,i: 9,446,852 msg/sec pthread_spinlock, 6,s: 8,275,469 msg/sec pthread_spinlock, 6,i: 8,392,164 msg/sec pthread_spinlock, 7,s: 7,353,993 msg/sec pthread_spinlock, 7,i: 7,733,834 msg/sec pthread_spinlock, 8,s: 6,671,584 msg/sec pthread_spinlock, 8,i: 6,987,653 msg/sec std::mutex, 1,s: 7,755,808 msg/sec std::mutex, 1,i: 7,222,282 msg/sec std::mutex, 2,s: 5,311,812 msg/sec std::mutex, 2,i: 6,288,021 msg/sec std::mutex, 3,s: 6,102,804 msg/sec std::mutex, 3,i: 5,595,238 msg/sec std::mutex, 4,s: 5,753,923 msg/sec std::mutex, 4,i: 5,698,771 msg/sec std::mutex, 5,s: 5,925,800 msg/sec std::mutex, 5,i: 5,667,546 msg/sec std::mutex, 6,s: 5,940,931 msg/sec std::mutex, 6,i: 5,885,931 msg/sec std::mutex, 7,s: 5,810,844 msg/sec std::mutex, 7,i: 5,820,018 msg/sec std::mutex, 8,s: 5,713,218 msg/sec std::mutex, 8,i: 5,708,575 msg/sec tbb::spin_mutex, 1,s: 37,739,506 msg/sec tbb::spin_mutex, 1,i: 32,629,476 msg/sec tbb::spin_mutex, 2,s: 21,095,224 msg/sec tbb::spin_mutex, 2,i: 18,359,026 msg/sec tbb::spin_mutex, 3,s: 7,714,925 msg/sec tbb::spin_mutex, 3,i: 10,239,714 msg/sec tbb::spin_mutex, 4,s: 3,107,519 msg/sec tbb::spin_mutex, 4,i: 6,352,957 msg/sec tbb::spin_mutex, 5,s: 5,196,401 msg/sec tbb::spin_mutex, 5,i: 5,465,990 msg/sec tbb::spin_mutex, 6,s: 5,410,438 msg/sec tbb::spin_mutex, 6,i: 4,314,901 msg/sec tbb::spin_mutex, 7,s: 4,871,998 msg/sec tbb::spin_mutex, 7,i: 4,332,555 msg/sec tbb::spin_mutex, 8,s: 4,253,173 msg/sec tbb::spin_mutex, 8,i: 4,072,634 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,413,246 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,534,517 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,702,295 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,171,588 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,425,564 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,911,263 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,112,805 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,330,908 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,809,224 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,751,160 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,887,564 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,873,653 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,781,866 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,167,048 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,646,362 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,331,862 msg/sec xenium::michael_scott_queue, 1,s: 9,481,051 msg/sec xenium::michael_scott_queue, 1,i: 9,486,755 msg/sec xenium::michael_scott_queue, 2,s: 8,506,552 msg/sec xenium::michael_scott_queue, 2,i: 8,468,296 msg/sec xenium::michael_scott_queue, 3,s: 7,309,044 msg/sec xenium::michael_scott_queue, 3,i: 7,552,405 msg/sec xenium::michael_scott_queue, 4,s: 6,266,002 msg/sec xenium::michael_scott_queue, 4,i: 6,339,931 msg/sec xenium::michael_scott_queue, 5,s: 6,282,773 msg/sec xenium::michael_scott_queue, 5,i: 6,712,874 msg/sec xenium::michael_scott_queue, 6,s: 6,558,559 msg/sec xenium::michael_scott_queue, 6,i: 6,704,353 msg/sec xenium::michael_scott_queue, 7,s: 6,307,224 msg/sec xenium::michael_scott_queue, 7,i: 6,476,374 msg/sec xenium::michael_scott_queue, 8,s: 5,950,733 msg/sec xenium::michael_scott_queue, 8,i: 6,145,071 msg/sec xenium::ramalhete_queue, 1,s: 32,699,925 msg/sec xenium::ramalhete_queue, 1,i: 32,434,158 msg/sec xenium::ramalhete_queue, 2,s: 24,339,480 msg/sec xenium::ramalhete_queue, 2,i: 23,483,692 msg/sec xenium::ramalhete_queue, 3,s: 29,186,995 msg/sec xenium::ramalhete_queue, 3,i: 28,475,101 msg/sec xenium::ramalhete_queue, 4,s: 33,735,500 msg/sec xenium::ramalhete_queue, 4,i: 33,500,340 msg/sec xenium::ramalhete_queue, 5,s: 32,222,475 msg/sec xenium::ramalhete_queue, 5,i: 36,132,009 msg/sec xenium::ramalhete_queue, 6,s: 33,927,490 msg/sec xenium::ramalhete_queue, 6,i: 38,700,212 msg/sec xenium::ramalhete_queue, 7,s: 35,174,670 msg/sec xenium::ramalhete_queue, 7,i: 40,827,401 msg/sec xenium::ramalhete_queue, 8,s: 35,608,490 msg/sec xenium::ramalhete_queue, 8,i: 44,200,471 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,728,722 msg/sec xenium::vyukov_bounded_queue, 1,i: 101,129,689 msg/sec xenium::vyukov_bounded_queue, 2,s: 20,941,419 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,621,165 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,554,635 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,100,976 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,477,210 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,293,578 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,012,357 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,320,553 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,081,456 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,434,898 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,217,564 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,150,661 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,380,757 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,230,259 msg/sec AtomicQueue, 1,s: 62,644,375 msg/sec AtomicQueue, 1,i: 56,963,048 msg/sec AtomicQueue, 2,s: 12,332,209 msg/sec AtomicQueue, 2,i: 11,731,761 msg/sec AtomicQueue, 3,s: 10,739,434 msg/sec AtomicQueue, 3,i: 9,961,191 msg/sec AtomicQueue, 4,s: 8,171,561 msg/sec AtomicQueue, 4,i: 8,214,881 msg/sec AtomicQueue, 5,s: 8,041,751 msg/sec AtomicQueue, 5,i: 8,121,636 msg/sec AtomicQueue, 6,s: 7,776,475 msg/sec AtomicQueue, 6,i: 7,615,823 msg/sec AtomicQueue, 7,s: 7,087,916 msg/sec AtomicQueue, 7,i: 7,992,093 msg/sec AtomicQueue, 8,s: 6,379,493 msg/sec AtomicQueue, 8,i: 7,453,686 msg/sec AtomicQueueB, 1,s: 43,940,196 msg/sec AtomicQueueB, 1,i: 42,960,971 msg/sec AtomicQueueB, 2,s: 11,787,581 msg/sec AtomicQueueB, 2,i: 11,475,764 msg/sec AtomicQueueB, 3,s: 11,001,185 msg/sec AtomicQueueB, 3,i: 10,248,767 msg/sec AtomicQueueB, 4,s: 8,103,824 msg/sec AtomicQueueB, 4,i: 8,053,465 msg/sec AtomicQueueB, 5,s: 7,602,083 msg/sec AtomicQueueB, 5,i: 7,852,907 msg/sec AtomicQueueB, 6,s: 7,381,408 msg/sec AtomicQueueB, 6,i: 7,525,973 msg/sec AtomicQueueB, 7,s: 6,947,800 msg/sec AtomicQueueB, 7,i: 7,518,762 msg/sec AtomicQueueB, 8,s: 6,198,220 msg/sec AtomicQueueB, 8,i: 7,147,779 msg/sec OptimistAtomicQueue, 1,s: 773,460,258 msg/sec OptimistAtomicQueue, 1,i: 650,873,015 msg/sec OptimistAtomicQueue, 2,s: 32,314,857 msg/sec OptimistAtomicQueue, 2,i: 32,556,175 msg/sec OptimistAtomicQueue, 3,s: 36,660,948 msg/sec OptimistAtomicQueue, 3,i: 37,422,501 msg/sec OptimistAtomicQueue, 4,s: 39,267,928 msg/sec OptimistAtomicQueue, 4,i: 39,367,728 msg/sec OptimistAtomicQueue, 5,s: 42,529,188 msg/sec OptimistAtomicQueue, 5,i: 46,357,840 msg/sec OptimistAtomicQueue, 6,s: 42,795,025 msg/sec OptimistAtomicQueue, 6,i: 50,430,291 msg/sec OptimistAtomicQueue, 7,s: 44,010,095 msg/sec OptimistAtomicQueue, 7,i: 52,028,940 msg/sec OptimistAtomicQueue, 8,s: 46,342,798 msg/sec OptimistAtomicQueue, 8,i: 49,519,769 msg/sec OptimistAtomicQueueB, 1,s: 94,375,520 msg/sec OptimistAtomicQueueB, 1,i: 76,559,129 msg/sec OptimistAtomicQueueB, 2,s: 32,104,434 msg/sec OptimistAtomicQueueB, 2,i: 31,895,393 msg/sec OptimistAtomicQueueB, 3,s: 36,255,121 msg/sec OptimistAtomicQueueB, 3,i: 36,868,174 msg/sec OptimistAtomicQueueB, 4,s: 38,672,015 msg/sec OptimistAtomicQueueB, 4,i: 38,473,613 msg/sec OptimistAtomicQueueB, 5,s: 40,604,638 msg/sec OptimistAtomicQueueB, 5,i: 45,670,864 msg/sec OptimistAtomicQueueB, 6,s: 40,927,233 msg/sec OptimistAtomicQueueB, 6,i: 48,560,458 msg/sec OptimistAtomicQueueB, 7,s: 41,803,698 msg/sec OptimistAtomicQueueB, 7,i: 51,377,593 msg/sec OptimistAtomicQueueB, 8,s: 44,690,918 msg/sec OptimistAtomicQueueB, 8,i: 48,340,982 msg/sec AtomicQueue2, 1,s: 22,889,093 msg/sec AtomicQueue2, 1,i: 23,087,067 msg/sec AtomicQueue2, 2,s: 12,036,627 msg/sec AtomicQueue2, 2,i: 11,575,902 msg/sec AtomicQueue2, 3,s: 9,446,850 msg/sec AtomicQueue2, 3,i: 9,519,875 msg/sec AtomicQueue2, 4,s: 8,030,877 msg/sec AtomicQueue2, 4,i: 8,046,241 msg/sec AtomicQueue2, 5,s: 7,906,259 msg/sec AtomicQueue2, 5,i: 7,947,601 msg/sec AtomicQueue2, 6,s: 7,634,354 msg/sec AtomicQueue2, 6,i: 7,516,862 msg/sec AtomicQueue2, 7,s: 7,138,149 msg/sec AtomicQueue2, 7,i: 7,872,725 msg/sec AtomicQueue2, 8,s: 6,378,781 msg/sec AtomicQueue2, 8,i: 7,387,000 msg/sec AtomicQueueB2, 1,s: 36,200,029 msg/sec AtomicQueueB2, 1,i: 32,655,240 msg/sec AtomicQueueB2, 2,s: 11,488,783 msg/sec AtomicQueueB2, 2,i: 11,146,946 msg/sec AtomicQueueB2, 3,s: 9,620,627 msg/sec AtomicQueueB2, 3,i: 9,545,581 msg/sec AtomicQueueB2, 4,s: 7,931,686 msg/sec AtomicQueueB2, 4,i: 7,838,523 msg/sec AtomicQueueB2, 5,s: 7,540,259 msg/sec AtomicQueueB2, 5,i: 7,623,243 msg/sec AtomicQueueB2, 6,s: 7,319,620 msg/sec AtomicQueueB2, 6,i: 7,424,209 msg/sec AtomicQueueB2, 7,s: 6,857,641 msg/sec AtomicQueueB2, 7,i: 7,686,749 msg/sec AtomicQueueB2, 8,s: 6,270,673 msg/sec AtomicQueueB2, 8,i: 7,046,782 msg/sec OptimistAtomicQueue2, 1,s: 439,444,686 msg/sec OptimistAtomicQueue2, 1,i: 32,389,726 msg/sec OptimistAtomicQueue2, 2,s: 26,173,370 msg/sec OptimistAtomicQueue2, 2,i: 24,629,879 msg/sec OptimistAtomicQueue2, 3,s: 30,325,446 msg/sec OptimistAtomicQueue2, 3,i: 30,444,143 msg/sec OptimistAtomicQueue2, 4,s: 33,237,336 msg/sec OptimistAtomicQueue2, 4,i: 33,392,211 msg/sec OptimistAtomicQueue2, 5,s: 37,264,189 msg/sec OptimistAtomicQueue2, 5,i: 40,042,048 msg/sec OptimistAtomicQueue2, 6,s: 40,002,785 msg/sec OptimistAtomicQueue2, 6,i: 49,096,843 msg/sec OptimistAtomicQueue2, 7,s: 42,660,756 msg/sec OptimistAtomicQueue2, 7,i: 51,564,304 msg/sec OptimistAtomicQueue2, 8,s: 43,820,914 msg/sec OptimistAtomicQueue2, 8,i: 48,487,224 msg/sec OptimistAtomicQueueB2, 1,s: 76,823,857 msg/sec OptimistAtomicQueueB2, 1,i: 34,540,022 msg/sec OptimistAtomicQueueB2, 2,s: 27,187,615 msg/sec OptimistAtomicQueueB2, 2,i: 26,907,093 msg/sec OptimistAtomicQueueB2, 3,s: 29,677,185 msg/sec OptimistAtomicQueueB2, 3,i: 29,748,958 msg/sec OptimistAtomicQueueB2, 4,s: 33,283,604 msg/sec OptimistAtomicQueueB2, 4,i: 31,922,195 msg/sec OptimistAtomicQueueB2, 5,s: 34,761,340 msg/sec OptimistAtomicQueueB2, 5,i: 39,415,684 msg/sec OptimistAtomicQueueB2, 6,s: 37,783,681 msg/sec OptimistAtomicQueueB2, 6,i: 42,224,232 msg/sec OptimistAtomicQueueB2, 7,s: 40,096,364 msg/sec OptimistAtomicQueueB2, 7,i: 45,507,196 msg/sec OptimistAtomicQueueB2, 8,s: 42,556,452 msg/sec OptimistAtomicQueueB2, 8,i: 45,503,378 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip boost::lockfree::queue: 0.000000332 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000149 sec/round-trip moodycamel::ConcurrentQueue: 0.000000244 sec/round-trip pthread_spinlock: 0.000000239 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000270 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000365 sec/round-trip xenium::ramalhete_queue: 0.000000257 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000169 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [299] 86m:45s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,311,446 msg/sec boost::lockfree::spsc_queue, 1,i: 70,405,725 msg/sec boost::lockfree::queue, 1,s: 7,868,522 msg/sec boost::lockfree::queue, 1,i: 6,934,217 msg/sec boost::lockfree::queue, 2,s: 7,704,960 msg/sec boost::lockfree::queue, 2,i: 7,393,299 msg/sec boost::lockfree::queue, 3,s: 7,392,827 msg/sec boost::lockfree::queue, 3,i: 7,562,851 msg/sec boost::lockfree::queue, 4,s: 6,430,142 msg/sec boost::lockfree::queue, 4,i: 6,874,685 msg/sec boost::lockfree::queue, 5,s: 6,436,517 msg/sec boost::lockfree::queue, 5,i: 6,532,569 msg/sec boost::lockfree::queue, 6,s: 6,031,715 msg/sec boost::lockfree::queue, 6,i: 6,124,670 msg/sec boost::lockfree::queue, 7,s: 5,943,799 msg/sec boost::lockfree::queue, 7,i: 6,031,985 msg/sec boost::lockfree::queue, 8,s: 5,418,887 msg/sec boost::lockfree::queue, 8,i: 5,631,300 msg/sec moodycamel::ReaderWriterQueue, 1,s: 176,611,147 msg/sec moodycamel::ReaderWriterQueue, 1,i: 94,337,482 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,015,924 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,873,716 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,056,054 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,101,313 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,697,348 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,587,016 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,579,495 msg/sec moodycamel::ConcurrentQueue, 4,i: 40,374,699 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,296,882 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,169,457 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,174,737 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,144,198 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,940,623 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,710,683 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,190,055 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,673,967 msg/sec pthread_spinlock, 1,s: 29,036,849 msg/sec pthread_spinlock, 1,i: 25,362,464 msg/sec pthread_spinlock, 2,s: 15,608,811 msg/sec pthread_spinlock, 2,i: 17,031,602 msg/sec pthread_spinlock, 3,s: 8,411,527 msg/sec pthread_spinlock, 3,i: 12,139,896 msg/sec pthread_spinlock, 4,s: 6,455,134 msg/sec pthread_spinlock, 4,i: 9,132,726 msg/sec pthread_spinlock, 5,s: 8,734,549 msg/sec pthread_spinlock, 5,i: 8,947,362 msg/sec pthread_spinlock, 6,s: 8,494,217 msg/sec pthread_spinlock, 6,i: 8,343,673 msg/sec pthread_spinlock, 7,s: 7,536,893 msg/sec pthread_spinlock, 7,i: 7,448,718 msg/sec pthread_spinlock, 8,s: 6,663,149 msg/sec pthread_spinlock, 8,i: 7,250,710 msg/sec std::mutex, 1,s: 7,115,315 msg/sec std::mutex, 1,i: 6,242,264 msg/sec std::mutex, 2,s: 5,660,512 msg/sec std::mutex, 2,i: 5,064,588 msg/sec std::mutex, 3,s: 5,799,470 msg/sec std::mutex, 3,i: 5,969,274 msg/sec std::mutex, 4,s: 6,283,476 msg/sec std::mutex, 4,i: 6,166,170 msg/sec std::mutex, 5,s: 6,122,828 msg/sec std::mutex, 5,i: 5,973,899 msg/sec std::mutex, 6,s: 5,944,315 msg/sec std::mutex, 6,i: 5,888,139 msg/sec std::mutex, 7,s: 5,800,123 msg/sec std::mutex, 7,i: 5,745,088 msg/sec std::mutex, 8,s: 5,672,992 msg/sec std::mutex, 8,i: 5,708,802 msg/sec tbb::spin_mutex, 1,s: 37,754,849 msg/sec tbb::spin_mutex, 1,i: 37,648,653 msg/sec tbb::spin_mutex, 2,s: 21,200,734 msg/sec tbb::spin_mutex, 2,i: 18,538,137 msg/sec tbb::spin_mutex, 3,s: 7,710,903 msg/sec tbb::spin_mutex, 3,i: 10,263,817 msg/sec tbb::spin_mutex, 4,s: 3,139,970 msg/sec tbb::spin_mutex, 4,i: 6,266,615 msg/sec tbb::spin_mutex, 5,s: 5,213,371 msg/sec tbb::spin_mutex, 5,i: 5,828,391 msg/sec tbb::spin_mutex, 6,s: 5,291,544 msg/sec tbb::spin_mutex, 6,i: 4,279,351 msg/sec tbb::spin_mutex, 7,s: 4,844,360 msg/sec tbb::spin_mutex, 7,i: 4,366,476 msg/sec tbb::spin_mutex, 8,s: 4,265,439 msg/sec tbb::spin_mutex, 8,i: 4,065,465 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,235,960 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,385,341 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,898,475 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,576,857 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,680,454 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,644,179 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,988,741 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,307,186 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,489,049 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,624,790 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,817,823 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,717,422 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,941,405 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,121,776 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,840,448 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,442,950 msg/sec xenium::michael_scott_queue, 1,s: 9,618,672 msg/sec xenium::michael_scott_queue, 1,i: 9,615,543 msg/sec xenium::michael_scott_queue, 2,s: 8,436,680 msg/sec xenium::michael_scott_queue, 2,i: 8,483,915 msg/sec xenium::michael_scott_queue, 3,s: 7,294,675 msg/sec xenium::michael_scott_queue, 3,i: 7,539,885 msg/sec xenium::michael_scott_queue, 4,s: 6,264,397 msg/sec xenium::michael_scott_queue, 4,i: 6,391,250 msg/sec xenium::michael_scott_queue, 5,s: 6,336,702 msg/sec xenium::michael_scott_queue, 5,i: 6,625,612 msg/sec xenium::michael_scott_queue, 6,s: 6,476,213 msg/sec xenium::michael_scott_queue, 6,i: 7,078,772 msg/sec xenium::michael_scott_queue, 7,s: 6,246,790 msg/sec xenium::michael_scott_queue, 7,i: 6,560,082 msg/sec xenium::michael_scott_queue, 8,s: 6,046,997 msg/sec xenium::michael_scott_queue, 8,i: 6,089,530 msg/sec xenium::ramalhete_queue, 1,s: 32,717,041 msg/sec xenium::ramalhete_queue, 1,i: 32,727,459 msg/sec xenium::ramalhete_queue, 2,s: 24,416,118 msg/sec xenium::ramalhete_queue, 2,i: 23,403,931 msg/sec xenium::ramalhete_queue, 3,s: 29,175,882 msg/sec xenium::ramalhete_queue, 3,i: 28,449,455 msg/sec xenium::ramalhete_queue, 4,s: 34,047,588 msg/sec xenium::ramalhete_queue, 4,i: 33,476,173 msg/sec xenium::ramalhete_queue, 5,s: 32,401,402 msg/sec xenium::ramalhete_queue, 5,i: 36,354,389 msg/sec xenium::ramalhete_queue, 6,s: 33,921,151 msg/sec xenium::ramalhete_queue, 6,i: 39,798,432 msg/sec xenium::ramalhete_queue, 7,s: 35,159,153 msg/sec xenium::ramalhete_queue, 7,i: 41,664,063 msg/sec xenium::ramalhete_queue, 8,s: 35,376,369 msg/sec xenium::ramalhete_queue, 8,i: 44,100,263 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,460,589 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,743,163 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,794,071 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,453,805 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,899,887 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,524,617 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,534,645 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,040,009 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,939,634 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,291,196 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,157,793 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,467,884 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,200,424 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,069,968 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,371,190 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,530,455 msg/sec AtomicQueue, 1,s: 59,330,866 msg/sec AtomicQueue, 1,i: 57,039,198 msg/sec AtomicQueue, 2,s: 12,239,158 msg/sec AtomicQueue, 2,i: 11,728,884 msg/sec AtomicQueue, 3,s: 10,757,778 msg/sec AtomicQueue, 3,i: 9,926,800 msg/sec AtomicQueue, 4,s: 8,151,530 msg/sec AtomicQueue, 4,i: 8,184,651 msg/sec AtomicQueue, 5,s: 8,027,465 msg/sec AtomicQueue, 5,i: 8,126,970 msg/sec AtomicQueue, 6,s: 7,724,126 msg/sec AtomicQueue, 6,i: 7,609,974 msg/sec AtomicQueue, 7,s: 7,128,677 msg/sec AtomicQueue, 7,i: 7,974,265 msg/sec AtomicQueue, 8,s: 6,332,229 msg/sec AtomicQueue, 8,i: 7,442,540 msg/sec AtomicQueueB, 1,s: 43,779,112 msg/sec AtomicQueueB, 1,i: 42,998,512 msg/sec AtomicQueueB, 2,s: 11,610,416 msg/sec AtomicQueueB, 2,i: 11,447,590 msg/sec AtomicQueueB, 3,s: 11,044,331 msg/sec AtomicQueueB, 3,i: 10,253,368 msg/sec AtomicQueueB, 4,s: 8,049,255 msg/sec AtomicQueueB, 4,i: 7,929,733 msg/sec AtomicQueueB, 5,s: 7,476,009 msg/sec AtomicQueueB, 5,i: 7,888,553 msg/sec AtomicQueueB, 6,s: 7,301,253 msg/sec AtomicQueueB, 6,i: 7,491,360 msg/sec AtomicQueueB, 7,s: 6,844,647 msg/sec AtomicQueueB, 7,i: 7,749,403 msg/sec AtomicQueueB, 8,s: 6,218,208 msg/sec AtomicQueueB, 8,i: 7,168,339 msg/sec OptimistAtomicQueue, 1,s: 729,408,435 msg/sec OptimistAtomicQueue, 1,i: 558,194,108 msg/sec OptimistAtomicQueue, 2,s: 32,134,158 msg/sec OptimistAtomicQueue, 2,i: 32,228,385 msg/sec OptimistAtomicQueue, 3,s: 36,615,380 msg/sec OptimistAtomicQueue, 3,i: 37,317,551 msg/sec OptimistAtomicQueue, 4,s: 39,269,886 msg/sec OptimistAtomicQueue, 4,i: 39,382,417 msg/sec OptimistAtomicQueue, 5,s: 42,344,753 msg/sec OptimistAtomicQueue, 5,i: 46,291,380 msg/sec OptimistAtomicQueue, 6,s: 42,544,564 msg/sec OptimistAtomicQueue, 6,i: 50,277,074 msg/sec OptimistAtomicQueue, 7,s: 44,212,680 msg/sec OptimistAtomicQueue, 7,i: 49,174,853 msg/sec OptimistAtomicQueue, 8,s: 46,379,200 msg/sec OptimistAtomicQueue, 8,i: 49,024,664 msg/sec OptimistAtomicQueueB, 1,s: 120,532,093 msg/sec OptimistAtomicQueueB, 1,i: 140,012,846 msg/sec OptimistAtomicQueueB, 2,s: 32,189,163 msg/sec OptimistAtomicQueueB, 2,i: 32,187,611 msg/sec OptimistAtomicQueueB, 3,s: 36,254,724 msg/sec OptimistAtomicQueueB, 3,i: 36,859,745 msg/sec OptimistAtomicQueueB, 4,s: 38,658,097 msg/sec OptimistAtomicQueueB, 4,i: 38,594,451 msg/sec OptimistAtomicQueueB, 5,s: 41,022,711 msg/sec OptimistAtomicQueueB, 5,i: 45,390,992 msg/sec OptimistAtomicQueueB, 6,s: 40,631,304 msg/sec OptimistAtomicQueueB, 6,i: 49,115,158 msg/sec OptimistAtomicQueueB, 7,s: 41,910,554 msg/sec OptimistAtomicQueueB, 7,i: 51,434,464 msg/sec OptimistAtomicQueueB, 8,s: 44,580,624 msg/sec OptimistAtomicQueueB, 8,i: 47,964,476 msg/sec AtomicQueue2, 1,s: 22,884,942 msg/sec AtomicQueue2, 1,i: 22,903,410 msg/sec AtomicQueue2, 2,s: 12,002,124 msg/sec AtomicQueue2, 2,i: 11,399,940 msg/sec AtomicQueue2, 3,s: 9,703,308 msg/sec AtomicQueue2, 3,i: 9,559,262 msg/sec AtomicQueue2, 4,s: 8,024,599 msg/sec AtomicQueue2, 4,i: 8,040,720 msg/sec AtomicQueue2, 5,s: 7,896,303 msg/sec AtomicQueue2, 5,i: 7,979,149 msg/sec AtomicQueue2, 6,s: 7,696,742 msg/sec AtomicQueue2, 6,i: 7,485,471 msg/sec AtomicQueue2, 7,s: 7,167,198 msg/sec AtomicQueue2, 7,i: 7,894,105 msg/sec AtomicQueue2, 8,s: 6,371,467 msg/sec AtomicQueue2, 8,i: 7,398,650 msg/sec AtomicQueueB2, 1,s: 36,243,195 msg/sec AtomicQueueB2, 1,i: 32,618,940 msg/sec AtomicQueueB2, 2,s: 11,441,470 msg/sec AtomicQueueB2, 2,i: 11,101,727 msg/sec AtomicQueueB2, 3,s: 9,654,977 msg/sec AtomicQueueB2, 3,i: 9,513,252 msg/sec AtomicQueueB2, 4,s: 7,934,048 msg/sec AtomicQueueB2, 4,i: 7,905,037 msg/sec AtomicQueueB2, 5,s: 7,488,076 msg/sec AtomicQueueB2, 5,i: 7,705,600 msg/sec AtomicQueueB2, 6,s: 7,314,005 msg/sec AtomicQueueB2, 6,i: 7,440,981 msg/sec AtomicQueueB2, 7,s: 6,858,032 msg/sec AtomicQueueB2, 7,i: 7,724,319 msg/sec AtomicQueueB2, 8,s: 6,336,751 msg/sec AtomicQueueB2, 8,i: 7,102,397 msg/sec OptimistAtomicQueue2, 1,s: 32,150,612 msg/sec OptimistAtomicQueue2, 1,i: 29,700,577 msg/sec OptimistAtomicQueue2, 2,s: 24,951,304 msg/sec OptimistAtomicQueue2, 2,i: 24,026,241 msg/sec OptimistAtomicQueue2, 3,s: 30,323,748 msg/sec OptimistAtomicQueue2, 3,i: 30,471,924 msg/sec OptimistAtomicQueue2, 4,s: 33,267,200 msg/sec OptimistAtomicQueue2, 4,i: 33,343,357 msg/sec OptimistAtomicQueue2, 5,s: 37,327,937 msg/sec OptimistAtomicQueue2, 5,i: 40,758,969 msg/sec OptimistAtomicQueue2, 6,s: 40,155,630 msg/sec OptimistAtomicQueue2, 6,i: 49,235,290 msg/sec OptimistAtomicQueue2, 7,s: 42,694,124 msg/sec OptimistAtomicQueue2, 7,i: 51,656,871 msg/sec OptimistAtomicQueue2, 8,s: 43,979,636 msg/sec OptimistAtomicQueue2, 8,i: 48,528,099 msg/sec OptimistAtomicQueueB2, 1,s: 74,342,120 msg/sec OptimistAtomicQueueB2, 1,i: 33,931,471 msg/sec OptimistAtomicQueueB2, 2,s: 29,156,510 msg/sec OptimistAtomicQueueB2, 2,i: 27,286,793 msg/sec OptimistAtomicQueueB2, 3,s: 30,311,162 msg/sec OptimistAtomicQueueB2, 3,i: 29,298,202 msg/sec OptimistAtomicQueueB2, 4,s: 33,026,984 msg/sec OptimistAtomicQueueB2, 4,i: 31,651,625 msg/sec OptimistAtomicQueueB2, 5,s: 34,530,768 msg/sec OptimistAtomicQueueB2, 5,i: 39,134,631 msg/sec OptimistAtomicQueueB2, 6,s: 37,218,509 msg/sec OptimistAtomicQueueB2, 6,i: 42,351,135 msg/sec OptimistAtomicQueueB2, 7,s: 40,447,058 msg/sec OptimistAtomicQueueB2, 7,i: 45,420,528 msg/sec OptimistAtomicQueueB2, 8,s: 42,675,322 msg/sec OptimistAtomicQueueB2, 8,i: 45,573,983 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000291 sec/round-trip std::mutex: 0.000000459 sec/round-trip tbb::spin_mutex: 0.000000262 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [300] 85m:26s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,333,674 msg/sec boost::lockfree::spsc_queue, 1,i: 68,302,217 msg/sec boost::lockfree::queue, 1,s: 6,881,510 msg/sec boost::lockfree::queue, 1,i: 6,768,949 msg/sec boost::lockfree::queue, 2,s: 7,640,204 msg/sec boost::lockfree::queue, 2,i: 7,529,721 msg/sec boost::lockfree::queue, 3,s: 7,357,392 msg/sec boost::lockfree::queue, 3,i: 7,522,768 msg/sec boost::lockfree::queue, 4,s: 6,430,648 msg/sec boost::lockfree::queue, 4,i: 6,738,342 msg/sec boost::lockfree::queue, 5,s: 6,410,631 msg/sec boost::lockfree::queue, 5,i: 6,498,996 msg/sec boost::lockfree::queue, 6,s: 6,041,373 msg/sec boost::lockfree::queue, 6,i: 6,112,033 msg/sec boost::lockfree::queue, 7,s: 5,827,057 msg/sec boost::lockfree::queue, 7,i: 5,940,844 msg/sec boost::lockfree::queue, 8,s: 5,381,219 msg/sec boost::lockfree::queue, 8,i: 5,667,577 msg/sec moodycamel::ReaderWriterQueue, 1,s: 51,338,408 msg/sec moodycamel::ReaderWriterQueue, 1,i: 55,229,412 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,428,730 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,372,370 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,038,031 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,046,388 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,372,790 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,120,072 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,030,832 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,349,989 msg/sec moodycamel::ConcurrentQueue, 5,s: 45,076,956 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,202,260 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,446,447 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,277,384 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,029,204 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,640,713 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,200,256 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,438,471 msg/sec pthread_spinlock, 1,s: 28,688,547 msg/sec pthread_spinlock, 1,i: 25,452,928 msg/sec pthread_spinlock, 2,s: 15,424,526 msg/sec pthread_spinlock, 2,i: 17,084,415 msg/sec pthread_spinlock, 3,s: 8,359,134 msg/sec pthread_spinlock, 3,i: 11,963,333 msg/sec pthread_spinlock, 4,s: 6,524,198 msg/sec pthread_spinlock, 4,i: 8,877,919 msg/sec pthread_spinlock, 5,s: 8,687,096 msg/sec pthread_spinlock, 5,i: 9,550,974 msg/sec pthread_spinlock, 6,s: 8,318,658 msg/sec pthread_spinlock, 6,i: 8,393,463 msg/sec pthread_spinlock, 7,s: 7,614,076 msg/sec pthread_spinlock, 7,i: 7,862,231 msg/sec pthread_spinlock, 8,s: 6,880,877 msg/sec pthread_spinlock, 8,i: 6,875,544 msg/sec std::mutex, 1,s: 7,138,165 msg/sec std::mutex, 1,i: 7,038,164 msg/sec std::mutex, 2,s: 5,432,113 msg/sec std::mutex, 2,i: 5,115,660 msg/sec std::mutex, 3,s: 5,443,591 msg/sec std::mutex, 3,i: 5,627,716 msg/sec std::mutex, 4,s: 6,189,487 msg/sec std::mutex, 4,i: 6,219,589 msg/sec std::mutex, 5,s: 5,975,297 msg/sec std::mutex, 5,i: 5,899,467 msg/sec std::mutex, 6,s: 5,928,057 msg/sec std::mutex, 6,i: 5,838,026 msg/sec std::mutex, 7,s: 5,715,724 msg/sec std::mutex, 7,i: 5,714,589 msg/sec std::mutex, 8,s: 5,614,662 msg/sec std::mutex, 8,i: 5,604,387 msg/sec tbb::spin_mutex, 1,s: 37,487,762 msg/sec tbb::spin_mutex, 1,i: 33,175,405 msg/sec tbb::spin_mutex, 2,s: 21,206,407 msg/sec tbb::spin_mutex, 2,i: 18,982,551 msg/sec tbb::spin_mutex, 3,s: 7,890,276 msg/sec tbb::spin_mutex, 3,i: 10,149,267 msg/sec tbb::spin_mutex, 4,s: 3,045,628 msg/sec tbb::spin_mutex, 4,i: 6,341,688 msg/sec tbb::spin_mutex, 5,s: 5,376,547 msg/sec tbb::spin_mutex, 5,i: 5,816,303 msg/sec tbb::spin_mutex, 6,s: 5,119,154 msg/sec tbb::spin_mutex, 6,i: 4,350,891 msg/sec tbb::spin_mutex, 7,s: 4,835,850 msg/sec tbb::spin_mutex, 7,i: 4,300,229 msg/sec tbb::spin_mutex, 8,s: 4,270,406 msg/sec tbb::spin_mutex, 8,i: 4,091,401 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,360,653 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,164,367 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,843,110 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,359,170 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,561,937 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,835,753 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,010,226 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,312,276 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,427,441 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,624,730 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,822,328 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,754,733 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,922,163 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,082,187 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,871,318 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,473,794 msg/sec xenium::michael_scott_queue, 1,s: 9,396,000 msg/sec xenium::michael_scott_queue, 1,i: 9,450,500 msg/sec xenium::michael_scott_queue, 2,s: 8,465,578 msg/sec xenium::michael_scott_queue, 2,i: 8,575,061 msg/sec xenium::michael_scott_queue, 3,s: 7,286,107 msg/sec xenium::michael_scott_queue, 3,i: 7,668,734 msg/sec xenium::michael_scott_queue, 4,s: 6,376,052 msg/sec xenium::michael_scott_queue, 4,i: 6,318,123 msg/sec xenium::michael_scott_queue, 5,s: 6,280,642 msg/sec xenium::michael_scott_queue, 5,i: 6,626,346 msg/sec xenium::michael_scott_queue, 6,s: 6,539,856 msg/sec xenium::michael_scott_queue, 6,i: 6,829,564 msg/sec xenium::michael_scott_queue, 7,s: 6,266,683 msg/sec xenium::michael_scott_queue, 7,i: 6,577,291 msg/sec xenium::michael_scott_queue, 8,s: 5,957,581 msg/sec xenium::michael_scott_queue, 8,i: 6,083,284 msg/sec xenium::ramalhete_queue, 1,s: 31,832,808 msg/sec xenium::ramalhete_queue, 1,i: 32,235,161 msg/sec xenium::ramalhete_queue, 2,s: 23,699,693 msg/sec xenium::ramalhete_queue, 2,i: 23,377,585 msg/sec xenium::ramalhete_queue, 3,s: 29,153,496 msg/sec xenium::ramalhete_queue, 3,i: 28,553,491 msg/sec xenium::ramalhete_queue, 4,s: 33,905,415 msg/sec xenium::ramalhete_queue, 4,i: 33,570,959 msg/sec xenium::ramalhete_queue, 5,s: 32,099,386 msg/sec xenium::ramalhete_queue, 5,i: 38,265,573 msg/sec xenium::ramalhete_queue, 6,s: 34,108,807 msg/sec xenium::ramalhete_queue, 6,i: 39,641,162 msg/sec xenium::ramalhete_queue, 7,s: 35,287,186 msg/sec xenium::ramalhete_queue, 7,i: 41,298,711 msg/sec xenium::ramalhete_queue, 8,s: 35,399,972 msg/sec xenium::ramalhete_queue, 8,i: 43,684,409 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,784,392 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,886,372 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,811,790 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,543,650 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,525,313 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,776,965 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,666,326 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,179,890 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,659,914 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,339,582 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,029,810 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,586,488 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,207,044 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,054,912 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,448 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,343,247 msg/sec AtomicQueue, 1,s: 59,366,442 msg/sec AtomicQueue, 1,i: 56,607,898 msg/sec AtomicQueue, 2,s: 12,256,195 msg/sec AtomicQueue, 2,i: 11,765,240 msg/sec AtomicQueue, 3,s: 10,673,662 msg/sec AtomicQueue, 3,i: 9,904,198 msg/sec AtomicQueue, 4,s: 8,178,676 msg/sec AtomicQueue, 4,i: 8,193,554 msg/sec AtomicQueue, 5,s: 8,032,544 msg/sec AtomicQueue, 5,i: 8,087,411 msg/sec AtomicQueue, 6,s: 7,765,035 msg/sec AtomicQueue, 6,i: 7,626,425 msg/sec AtomicQueue, 7,s: 7,203,760 msg/sec AtomicQueue, 7,i: 7,993,676 msg/sec AtomicQueue, 8,s: 6,321,532 msg/sec AtomicQueue, 8,i: 7,444,636 msg/sec AtomicQueueB, 1,s: 44,553,036 msg/sec AtomicQueueB, 1,i: 42,709,770 msg/sec AtomicQueueB, 2,s: 11,769,074 msg/sec AtomicQueueB, 2,i: 11,480,900 msg/sec AtomicQueueB, 3,s: 11,021,686 msg/sec AtomicQueueB, 3,i: 10,153,416 msg/sec AtomicQueueB, 4,s: 8,032,830 msg/sec AtomicQueueB, 4,i: 8,050,825 msg/sec AtomicQueueB, 5,s: 7,603,838 msg/sec AtomicQueueB, 5,i: 7,693,859 msg/sec AtomicQueueB, 6,s: 7,436,755 msg/sec AtomicQueueB, 6,i: 7,537,691 msg/sec AtomicQueueB, 7,s: 6,871,593 msg/sec AtomicQueueB, 7,i: 7,739,924 msg/sec AtomicQueueB, 8,s: 6,275,587 msg/sec AtomicQueueB, 8,i: 7,168,242 msg/sec OptimistAtomicQueue, 1,s: 768,472,050 msg/sec OptimistAtomicQueue, 1,i: 614,563,558 msg/sec OptimistAtomicQueue, 2,s: 32,623,795 msg/sec OptimistAtomicQueue, 2,i: 32,696,309 msg/sec OptimistAtomicQueue, 3,s: 36,652,975 msg/sec OptimistAtomicQueue, 3,i: 37,445,708 msg/sec OptimistAtomicQueue, 4,s: 39,289,820 msg/sec OptimistAtomicQueue, 4,i: 39,413,736 msg/sec OptimistAtomicQueue, 5,s: 42,420,582 msg/sec OptimistAtomicQueue, 5,i: 46,414,068 msg/sec OptimistAtomicQueue, 6,s: 42,331,130 msg/sec OptimistAtomicQueue, 6,i: 50,509,398 msg/sec OptimistAtomicQueue, 7,s: 44,375,990 msg/sec OptimistAtomicQueue, 7,i: 52,919,890 msg/sec OptimistAtomicQueue, 8,s: 46,309,432 msg/sec OptimistAtomicQueue, 8,i: 49,881,555 msg/sec OptimistAtomicQueueB, 1,s: 155,268,081 msg/sec OptimistAtomicQueueB, 1,i: 76,372,412 msg/sec OptimistAtomicQueueB, 2,s: 32,194,713 msg/sec OptimistAtomicQueueB, 2,i: 31,847,244 msg/sec OptimistAtomicQueueB, 3,s: 36,219,210 msg/sec OptimistAtomicQueueB, 3,i: 36,863,177 msg/sec OptimistAtomicQueueB, 4,s: 38,684,751 msg/sec OptimistAtomicQueueB, 4,i: 38,613,607 msg/sec OptimistAtomicQueueB, 5,s: 40,979,428 msg/sec OptimistAtomicQueueB, 5,i: 45,310,767 msg/sec OptimistAtomicQueueB, 6,s: 40,535,299 msg/sec OptimistAtomicQueueB, 6,i: 48,695,124 msg/sec OptimistAtomicQueueB, 7,s: 41,637,096 msg/sec OptimistAtomicQueueB, 7,i: 51,551,436 msg/sec OptimistAtomicQueueB, 8,s: 44,580,088 msg/sec OptimistAtomicQueueB, 8,i: 48,366,341 msg/sec AtomicQueue2, 1,s: 22,885,248 msg/sec AtomicQueue2, 1,i: 22,876,090 msg/sec AtomicQueue2, 2,s: 11,737,694 msg/sec AtomicQueue2, 2,i: 11,462,659 msg/sec AtomicQueue2, 3,s: 9,408,598 msg/sec AtomicQueue2, 3,i: 9,393,103 msg/sec AtomicQueue2, 4,s: 8,061,121 msg/sec AtomicQueue2, 4,i: 8,061,715 msg/sec AtomicQueue2, 5,s: 7,938,821 msg/sec AtomicQueue2, 5,i: 8,074,266 msg/sec AtomicQueue2, 6,s: 7,467,141 msg/sec AtomicQueue2, 6,i: 7,512,307 msg/sec AtomicQueue2, 7,s: 7,178,367 msg/sec AtomicQueue2, 7,i: 7,878,189 msg/sec AtomicQueue2, 8,s: 6,389,403 msg/sec AtomicQueue2, 8,i: 7,204,896 msg/sec AtomicQueueB2, 1,s: 39,134,849 msg/sec AtomicQueueB2, 1,i: 33,440,295 msg/sec AtomicQueueB2, 2,s: 11,421,344 msg/sec AtomicQueueB2, 2,i: 11,133,823 msg/sec AtomicQueueB2, 3,s: 9,625,262 msg/sec AtomicQueueB2, 3,i: 9,556,716 msg/sec AtomicQueueB2, 4,s: 7,949,553 msg/sec AtomicQueueB2, 4,i: 7,890,454 msg/sec AtomicQueueB2, 5,s: 7,470,369 msg/sec AtomicQueueB2, 5,i: 7,636,694 msg/sec AtomicQueueB2, 6,s: 7,367,111 msg/sec AtomicQueueB2, 6,i: 7,439,100 msg/sec AtomicQueueB2, 7,s: 6,922,829 msg/sec AtomicQueueB2, 7,i: 7,715,220 msg/sec AtomicQueueB2, 8,s: 6,339,816 msg/sec AtomicQueueB2, 8,i: 7,095,966 msg/sec OptimistAtomicQueue2, 1,s: 480,694,468 msg/sec OptimistAtomicQueue2, 1,i: 32,208,120 msg/sec OptimistAtomicQueue2, 2,s: 29,498,088 msg/sec OptimistAtomicQueue2, 2,i: 24,280,210 msg/sec OptimistAtomicQueue2, 3,s: 30,325,469 msg/sec OptimistAtomicQueue2, 3,i: 29,972,467 msg/sec OptimistAtomicQueue2, 4,s: 33,223,020 msg/sec OptimistAtomicQueue2, 4,i: 33,161,927 msg/sec OptimistAtomicQueue2, 5,s: 37,148,950 msg/sec OptimistAtomicQueue2, 5,i: 40,707,178 msg/sec OptimistAtomicQueue2, 6,s: 40,183,725 msg/sec OptimistAtomicQueue2, 6,i: 49,323,227 msg/sec OptimistAtomicQueue2, 7,s: 43,277,973 msg/sec OptimistAtomicQueue2, 7,i: 48,235,690 msg/sec OptimistAtomicQueue2, 8,s: 43,984,923 msg/sec OptimistAtomicQueue2, 8,i: 48,417,094 msg/sec OptimistAtomicQueueB2, 1,s: 76,675,562 msg/sec OptimistAtomicQueueB2, 1,i: 33,856,156 msg/sec OptimistAtomicQueueB2, 2,s: 26,550,560 msg/sec OptimistAtomicQueueB2, 2,i: 22,047,243 msg/sec OptimistAtomicQueueB2, 3,s: 30,776,657 msg/sec OptimistAtomicQueueB2, 3,i: 28,813,991 msg/sec OptimistAtomicQueueB2, 4,s: 32,157,821 msg/sec OptimistAtomicQueueB2, 4,i: 32,732,245 msg/sec OptimistAtomicQueueB2, 5,s: 34,238,311 msg/sec OptimistAtomicQueueB2, 5,i: 39,229,691 msg/sec OptimistAtomicQueueB2, 6,s: 37,720,025 msg/sec OptimistAtomicQueueB2, 6,i: 42,545,068 msg/sec OptimistAtomicQueueB2, 7,s: 40,804,918 msg/sec OptimistAtomicQueueB2, 7,i: 43,070,231 msg/sec OptimistAtomicQueueB2, 8,s: 42,181,515 msg/sec OptimistAtomicQueueB2, 8,i: 46,071,695 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000117 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000249 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [301] 84m:6s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,996,921 msg/sec boost::lockfree::spsc_queue, 1,i: 67,083,299 msg/sec boost::lockfree::queue, 1,s: 6,933,881 msg/sec boost::lockfree::queue, 1,i: 6,851,806 msg/sec boost::lockfree::queue, 2,s: 7,640,316 msg/sec boost::lockfree::queue, 2,i: 7,468,830 msg/sec boost::lockfree::queue, 3,s: 7,416,974 msg/sec boost::lockfree::queue, 3,i: 7,579,368 msg/sec boost::lockfree::queue, 4,s: 6,424,684 msg/sec boost::lockfree::queue, 4,i: 6,720,799 msg/sec boost::lockfree::queue, 5,s: 6,423,444 msg/sec boost::lockfree::queue, 5,i: 6,486,969 msg/sec boost::lockfree::queue, 6,s: 5,970,005 msg/sec boost::lockfree::queue, 6,i: 6,110,127 msg/sec boost::lockfree::queue, 7,s: 5,889,227 msg/sec boost::lockfree::queue, 7,i: 5,902,224 msg/sec boost::lockfree::queue, 8,s: 5,485,947 msg/sec boost::lockfree::queue, 8,i: 5,642,186 msg/sec moodycamel::ReaderWriterQueue, 1,s: 256,819,389 msg/sec moodycamel::ReaderWriterQueue, 1,i: 270,676,028 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,362,317 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,185,424 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,972,862 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,148,284 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,703,174 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,773,397 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,386,716 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,235,641 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,114,842 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,990,686 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,259,930 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,236,649 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,836,667 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,541,126 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,307,226 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,751,379 msg/sec pthread_spinlock, 1,s: 28,966,128 msg/sec pthread_spinlock, 1,i: 25,352,180 msg/sec pthread_spinlock, 2,s: 15,655,264 msg/sec pthread_spinlock, 2,i: 17,050,836 msg/sec pthread_spinlock, 3,s: 8,359,903 msg/sec pthread_spinlock, 3,i: 12,038,212 msg/sec pthread_spinlock, 4,s: 6,511,456 msg/sec pthread_spinlock, 4,i: 9,180,747 msg/sec pthread_spinlock, 5,s: 8,589,259 msg/sec pthread_spinlock, 5,i: 9,605,624 msg/sec pthread_spinlock, 6,s: 8,624,009 msg/sec pthread_spinlock, 6,i: 9,236,936 msg/sec pthread_spinlock, 7,s: 7,565,240 msg/sec pthread_spinlock, 7,i: 7,649,915 msg/sec pthread_spinlock, 8,s: 6,641,609 msg/sec pthread_spinlock, 8,i: 6,893,855 msg/sec std::mutex, 1,s: 6,871,708 msg/sec std::mutex, 1,i: 6,935,238 msg/sec std::mutex, 2,s: 5,228,439 msg/sec std::mutex, 2,i: 5,340,205 msg/sec std::mutex, 3,s: 4,874,684 msg/sec std::mutex, 3,i: 5,053,874 msg/sec std::mutex, 4,s: 5,645,561 msg/sec std::mutex, 4,i: 5,949,206 msg/sec std::mutex, 5,s: 6,068,074 msg/sec std::mutex, 5,i: 5,770,328 msg/sec std::mutex, 6,s: 5,963,996 msg/sec std::mutex, 6,i: 5,897,880 msg/sec std::mutex, 7,s: 5,896,228 msg/sec std::mutex, 7,i: 5,833,316 msg/sec std::mutex, 8,s: 5,817,034 msg/sec std::mutex, 8,i: 5,787,836 msg/sec tbb::spin_mutex, 1,s: 37,882,775 msg/sec tbb::spin_mutex, 1,i: 37,718,308 msg/sec tbb::spin_mutex, 2,s: 18,041,116 msg/sec tbb::spin_mutex, 2,i: 18,488,801 msg/sec tbb::spin_mutex, 3,s: 8,283,073 msg/sec tbb::spin_mutex, 3,i: 11,217,278 msg/sec tbb::spin_mutex, 4,s: 3,127,521 msg/sec tbb::spin_mutex, 4,i: 6,331,605 msg/sec tbb::spin_mutex, 5,s: 5,479,967 msg/sec tbb::spin_mutex, 5,i: 5,748,334 msg/sec tbb::spin_mutex, 6,s: 5,281,652 msg/sec tbb::spin_mutex, 6,i: 4,289,910 msg/sec tbb::spin_mutex, 7,s: 4,615,220 msg/sec tbb::spin_mutex, 7,i: 4,336,175 msg/sec tbb::spin_mutex, 8,s: 3,789,973 msg/sec tbb::spin_mutex, 8,i: 4,144,525 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,515,813 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,713,785 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,010,628 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,822,905 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,381,142 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,957,234 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,131,461 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,356,281 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,693,637 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,752,585 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,902,478 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,866,745 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,769,748 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,195,237 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,629,668 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,327,994 msg/sec xenium::michael_scott_queue, 1,s: 10,151,455 msg/sec xenium::michael_scott_queue, 1,i: 9,996,397 msg/sec xenium::michael_scott_queue, 2,s: 8,438,336 msg/sec xenium::michael_scott_queue, 2,i: 8,555,006 msg/sec xenium::michael_scott_queue, 3,s: 7,287,604 msg/sec xenium::michael_scott_queue, 3,i: 7,521,994 msg/sec xenium::michael_scott_queue, 4,s: 6,242,380 msg/sec xenium::michael_scott_queue, 4,i: 6,340,428 msg/sec xenium::michael_scott_queue, 5,s: 6,289,558 msg/sec xenium::michael_scott_queue, 5,i: 6,602,469 msg/sec xenium::michael_scott_queue, 6,s: 6,534,985 msg/sec xenium::michael_scott_queue, 6,i: 7,066,245 msg/sec xenium::michael_scott_queue, 7,s: 6,343,717 msg/sec xenium::michael_scott_queue, 7,i: 6,492,900 msg/sec xenium::michael_scott_queue, 8,s: 5,991,295 msg/sec xenium::michael_scott_queue, 8,i: 6,047,613 msg/sec xenium::ramalhete_queue, 1,s: 31,452,080 msg/sec xenium::ramalhete_queue, 1,i: 30,551,850 msg/sec xenium::ramalhete_queue, 2,s: 23,497,013 msg/sec xenium::ramalhete_queue, 2,i: 23,332,032 msg/sec xenium::ramalhete_queue, 3,s: 29,295,962 msg/sec xenium::ramalhete_queue, 3,i: 28,524,402 msg/sec xenium::ramalhete_queue, 4,s: 33,788,689 msg/sec xenium::ramalhete_queue, 4,i: 33,494,620 msg/sec xenium::ramalhete_queue, 5,s: 31,943,504 msg/sec xenium::ramalhete_queue, 5,i: 38,474,617 msg/sec xenium::ramalhete_queue, 6,s: 34,044,121 msg/sec xenium::ramalhete_queue, 6,i: 40,100,903 msg/sec xenium::ramalhete_queue, 7,s: 35,102,197 msg/sec xenium::ramalhete_queue, 7,i: 41,160,967 msg/sec xenium::ramalhete_queue, 8,s: 35,603,498 msg/sec xenium::ramalhete_queue, 8,i: 44,206,224 msg/sec xenium::vyukov_bounded_queue, 1,s: 73,690,789 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,005,691 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,639,346 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,985,327 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,645,076 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,221,770 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,586,496 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,328,549 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,849,893 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,236,023 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,940,688 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,176,557 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,258,711 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,121,041 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,409,246 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,530,927 msg/sec AtomicQueue, 1,s: 60,023,778 msg/sec AtomicQueue, 1,i: 57,324,357 msg/sec AtomicQueue, 2,s: 12,353,204 msg/sec AtomicQueue, 2,i: 11,713,352 msg/sec AtomicQueue, 3,s: 10,796,821 msg/sec AtomicQueue, 3,i: 9,924,986 msg/sec AtomicQueue, 4,s: 8,216,643 msg/sec AtomicQueue, 4,i: 8,179,181 msg/sec AtomicQueue, 5,s: 7,961,189 msg/sec AtomicQueue, 5,i: 8,120,430 msg/sec AtomicQueue, 6,s: 7,733,480 msg/sec AtomicQueue, 6,i: 7,622,091 msg/sec AtomicQueue, 7,s: 7,128,123 msg/sec AtomicQueue, 7,i: 7,986,362 msg/sec AtomicQueue, 8,s: 6,328,648 msg/sec AtomicQueue, 8,i: 7,367,103 msg/sec AtomicQueueB, 1,s: 43,252,086 msg/sec AtomicQueueB, 1,i: 42,945,084 msg/sec AtomicQueueB, 2,s: 12,079,415 msg/sec AtomicQueueB, 2,i: 11,468,969 msg/sec AtomicQueueB, 3,s: 11,031,885 msg/sec AtomicQueueB, 3,i: 10,139,195 msg/sec AtomicQueueB, 4,s: 8,109,084 msg/sec AtomicQueueB, 4,i: 8,079,652 msg/sec AtomicQueueB, 5,s: 7,530,031 msg/sec AtomicQueueB, 5,i: 7,806,511 msg/sec AtomicQueueB, 6,s: 7,098,274 msg/sec AtomicQueueB, 6,i: 7,510,708 msg/sec AtomicQueueB, 7,s: 6,868,301 msg/sec AtomicQueueB, 7,i: 7,728,091 msg/sec AtomicQueueB, 8,s: 6,327,693 msg/sec AtomicQueueB, 8,i: 7,147,853 msg/sec OptimistAtomicQueue, 1,s: 720,860,606 msg/sec OptimistAtomicQueue, 1,i: 548,625,049 msg/sec OptimistAtomicQueue, 2,s: 32,647,453 msg/sec OptimistAtomicQueue, 2,i: 32,552,372 msg/sec OptimistAtomicQueue, 3,s: 36,674,801 msg/sec OptimistAtomicQueue, 3,i: 37,400,193 msg/sec OptimistAtomicQueue, 4,s: 39,301,627 msg/sec OptimistAtomicQueue, 4,i: 39,377,925 msg/sec OptimistAtomicQueue, 5,s: 42,410,020 msg/sec OptimistAtomicQueue, 5,i: 46,382,392 msg/sec OptimistAtomicQueue, 6,s: 42,695,296 msg/sec OptimistAtomicQueue, 6,i: 50,240,182 msg/sec OptimistAtomicQueue, 7,s: 44,439,838 msg/sec OptimistAtomicQueue, 7,i: 49,216,263 msg/sec OptimistAtomicQueue, 8,s: 46,543,294 msg/sec OptimistAtomicQueue, 8,i: 49,743,282 msg/sec OptimistAtomicQueueB, 1,s: 129,474,476 msg/sec OptimistAtomicQueueB, 1,i: 160,720,335 msg/sec OptimistAtomicQueueB, 2,s: 32,211,935 msg/sec OptimistAtomicQueueB, 2,i: 32,422,300 msg/sec OptimistAtomicQueueB, 3,s: 36,282,896 msg/sec OptimistAtomicQueueB, 3,i: 36,979,799 msg/sec OptimistAtomicQueueB, 4,s: 38,666,998 msg/sec OptimistAtomicQueueB, 4,i: 38,626,263 msg/sec OptimistAtomicQueueB, 5,s: 40,358,421 msg/sec OptimistAtomicQueueB, 5,i: 45,231,254 msg/sec OptimistAtomicQueueB, 6,s: 40,848,714 msg/sec OptimistAtomicQueueB, 6,i: 48,910,086 msg/sec OptimistAtomicQueueB, 7,s: 41,760,876 msg/sec OptimistAtomicQueueB, 7,i: 51,551,885 msg/sec OptimistAtomicQueueB, 8,s: 44,513,409 msg/sec OptimistAtomicQueueB, 8,i: 48,372,177 msg/sec AtomicQueue2, 1,s: 23,468,561 msg/sec AtomicQueue2, 1,i: 23,460,133 msg/sec AtomicQueue2, 2,s: 11,873,018 msg/sec AtomicQueue2, 2,i: 11,475,547 msg/sec AtomicQueue2, 3,s: 9,358,785 msg/sec AtomicQueue2, 3,i: 9,507,688 msg/sec AtomicQueue2, 4,s: 8,057,805 msg/sec AtomicQueue2, 4,i: 8,043,633 msg/sec AtomicQueue2, 5,s: 7,956,659 msg/sec AtomicQueue2, 5,i: 8,032,560 msg/sec AtomicQueue2, 6,s: 7,840,618 msg/sec AtomicQueue2, 6,i: 7,523,839 msg/sec AtomicQueue2, 7,s: 7,093,032 msg/sec AtomicQueue2, 7,i: 7,877,397 msg/sec AtomicQueue2, 8,s: 6,382,649 msg/sec AtomicQueue2, 8,i: 7,338,499 msg/sec AtomicQueueB2, 1,s: 36,199,681 msg/sec AtomicQueueB2, 1,i: 32,660,727 msg/sec AtomicQueueB2, 2,s: 11,447,222 msg/sec AtomicQueueB2, 2,i: 11,067,380 msg/sec AtomicQueueB2, 3,s: 9,584,088 msg/sec AtomicQueueB2, 3,i: 9,507,356 msg/sec AtomicQueueB2, 4,s: 7,917,881 msg/sec AtomicQueueB2, 4,i: 7,829,766 msg/sec AtomicQueueB2, 5,s: 7,351,964 msg/sec AtomicQueueB2, 5,i: 7,690,326 msg/sec AtomicQueueB2, 6,s: 7,129,114 msg/sec AtomicQueueB2, 6,i: 7,442,343 msg/sec AtomicQueueB2, 7,s: 6,835,273 msg/sec AtomicQueueB2, 7,i: 7,731,898 msg/sec AtomicQueueB2, 8,s: 6,295,850 msg/sec AtomicQueueB2, 8,i: 7,116,778 msg/sec OptimistAtomicQueue2, 1,s: 504,282,493 msg/sec OptimistAtomicQueue2, 1,i: 29,832,811 msg/sec OptimistAtomicQueue2, 2,s: 22,775,243 msg/sec OptimistAtomicQueue2, 2,i: 24,008,432 msg/sec OptimistAtomicQueue2, 3,s: 30,309,793 msg/sec OptimistAtomicQueue2, 3,i: 29,944,396 msg/sec OptimistAtomicQueue2, 4,s: 33,455,201 msg/sec OptimistAtomicQueue2, 4,i: 33,337,331 msg/sec OptimistAtomicQueue2, 5,s: 37,546,347 msg/sec OptimistAtomicQueue2, 5,i: 40,531,267 msg/sec OptimistAtomicQueue2, 6,s: 40,207,354 msg/sec OptimistAtomicQueue2, 6,i: 49,286,389 msg/sec OptimistAtomicQueue2, 7,s: 42,966,457 msg/sec OptimistAtomicQueue2, 7,i: 47,940,718 msg/sec OptimistAtomicQueue2, 8,s: 43,869,512 msg/sec OptimistAtomicQueue2, 8,i: 49,325,878 msg/sec OptimistAtomicQueueB2, 1,s: 77,686,494 msg/sec OptimistAtomicQueueB2, 1,i: 37,052,071 msg/sec OptimistAtomicQueueB2, 2,s: 27,210,009 msg/sec OptimistAtomicQueueB2, 2,i: 26,150,479 msg/sec OptimistAtomicQueueB2, 3,s: 30,254,497 msg/sec OptimistAtomicQueueB2, 3,i: 31,404,711 msg/sec OptimistAtomicQueueB2, 4,s: 33,142,362 msg/sec OptimistAtomicQueueB2, 4,i: 32,377,858 msg/sec OptimistAtomicQueueB2, 5,s: 34,689,044 msg/sec OptimistAtomicQueueB2, 5,i: 39,405,910 msg/sec OptimistAtomicQueueB2, 6,s: 37,721,683 msg/sec OptimistAtomicQueueB2, 6,i: 42,478,399 msg/sec OptimistAtomicQueueB2, 7,s: 40,295,841 msg/sec OptimistAtomicQueueB2, 7,i: 45,723,458 msg/sec OptimistAtomicQueueB2, 8,s: 41,740,252 msg/sec OptimistAtomicQueueB2, 8,i: 45,998,019 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000160 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000250 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [302] 82m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,179,981 msg/sec boost::lockfree::spsc_queue, 1,i: 67,993,384 msg/sec boost::lockfree::queue, 1,s: 6,839,073 msg/sec boost::lockfree::queue, 1,i: 6,842,530 msg/sec boost::lockfree::queue, 2,s: 7,535,042 msg/sec boost::lockfree::queue, 2,i: 7,554,524 msg/sec boost::lockfree::queue, 3,s: 7,344,375 msg/sec boost::lockfree::queue, 3,i: 7,586,016 msg/sec boost::lockfree::queue, 4,s: 6,423,548 msg/sec boost::lockfree::queue, 4,i: 6,786,503 msg/sec boost::lockfree::queue, 5,s: 6,454,340 msg/sec boost::lockfree::queue, 5,i: 6,489,698 msg/sec boost::lockfree::queue, 6,s: 5,970,009 msg/sec boost::lockfree::queue, 6,i: 6,124,276 msg/sec boost::lockfree::queue, 7,s: 5,814,904 msg/sec boost::lockfree::queue, 7,i: 6,029,663 msg/sec boost::lockfree::queue, 8,s: 5,456,157 msg/sec boost::lockfree::queue, 8,i: 5,617,273 msg/sec moodycamel::ReaderWriterQueue, 1,s: 105,302,965 msg/sec moodycamel::ReaderWriterQueue, 1,i: 103,656,076 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,609,534 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,497,007 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,107,617 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,280,941 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,085,638 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,556,331 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,221,287 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,748,659 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,265,647 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,594,668 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,363,456 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,938,470 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,897,106 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,497,607 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,290,018 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,044,580 msg/sec pthread_spinlock, 1,s: 28,949,393 msg/sec pthread_spinlock, 1,i: 25,381,856 msg/sec pthread_spinlock, 2,s: 16,010,063 msg/sec pthread_spinlock, 2,i: 17,281,743 msg/sec pthread_spinlock, 3,s: 8,301,569 msg/sec pthread_spinlock, 3,i: 12,075,005 msg/sec pthread_spinlock, 4,s: 6,554,794 msg/sec pthread_spinlock, 4,i: 8,733,426 msg/sec pthread_spinlock, 5,s: 8,731,019 msg/sec pthread_spinlock, 5,i: 9,538,460 msg/sec pthread_spinlock, 6,s: 8,474,697 msg/sec pthread_spinlock, 6,i: 8,862,487 msg/sec pthread_spinlock, 7,s: 7,724,858 msg/sec pthread_spinlock, 7,i: 7,693,761 msg/sec pthread_spinlock, 8,s: 6,690,705 msg/sec pthread_spinlock, 8,i: 6,868,771 msg/sec std::mutex, 1,s: 7,185,741 msg/sec std::mutex, 1,i: 7,155,990 msg/sec std::mutex, 2,s: 6,031,222 msg/sec std::mutex, 2,i: 6,056,714 msg/sec std::mutex, 3,s: 6,037,483 msg/sec std::mutex, 3,i: 6,070,160 msg/sec std::mutex, 4,s: 6,319,858 msg/sec std::mutex, 4,i: 6,213,134 msg/sec std::mutex, 5,s: 5,954,066 msg/sec std::mutex, 5,i: 6,059,789 msg/sec std::mutex, 6,s: 5,987,610 msg/sec std::mutex, 6,i: 5,926,901 msg/sec std::mutex, 7,s: 5,793,013 msg/sec std::mutex, 7,i: 5,766,728 msg/sec std::mutex, 8,s: 5,711,624 msg/sec std::mutex, 8,i: 5,696,064 msg/sec tbb::spin_mutex, 1,s: 37,965,943 msg/sec tbb::spin_mutex, 1,i: 37,621,413 msg/sec tbb::spin_mutex, 2,s: 21,048,702 msg/sec tbb::spin_mutex, 2,i: 18,373,273 msg/sec tbb::spin_mutex, 3,s: 8,171,726 msg/sec tbb::spin_mutex, 3,i: 11,069,483 msg/sec tbb::spin_mutex, 4,s: 3,157,362 msg/sec tbb::spin_mutex, 4,i: 6,218,199 msg/sec tbb::spin_mutex, 5,s: 5,401,823 msg/sec tbb::spin_mutex, 5,i: 5,394,428 msg/sec tbb::spin_mutex, 6,s: 5,286,780 msg/sec tbb::spin_mutex, 6,i: 4,315,929 msg/sec tbb::spin_mutex, 7,s: 4,856,585 msg/sec tbb::spin_mutex, 7,i: 4,352,265 msg/sec tbb::spin_mutex, 8,s: 4,236,943 msg/sec tbb::spin_mutex, 8,i: 4,066,469 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,297,530 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,270,130 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,890,791 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,964,214 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,512,607 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,678,952 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,964,575 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,303,795 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,504,176 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,594,583 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,911,744 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,724,154 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,919,139 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,129,338 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,915,634 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,474,049 msg/sec xenium::michael_scott_queue, 1,s: 9,222,721 msg/sec xenium::michael_scott_queue, 1,i: 9,244,268 msg/sec xenium::michael_scott_queue, 2,s: 8,595,482 msg/sec xenium::michael_scott_queue, 2,i: 8,515,048 msg/sec xenium::michael_scott_queue, 3,s: 7,320,220 msg/sec xenium::michael_scott_queue, 3,i: 7,568,425 msg/sec xenium::michael_scott_queue, 4,s: 6,288,764 msg/sec xenium::michael_scott_queue, 4,i: 6,477,697 msg/sec xenium::michael_scott_queue, 5,s: 6,307,658 msg/sec xenium::michael_scott_queue, 5,i: 6,819,457 msg/sec xenium::michael_scott_queue, 6,s: 6,582,791 msg/sec xenium::michael_scott_queue, 6,i: 6,758,622 msg/sec xenium::michael_scott_queue, 7,s: 6,315,334 msg/sec xenium::michael_scott_queue, 7,i: 6,446,183 msg/sec xenium::michael_scott_queue, 8,s: 6,015,066 msg/sec xenium::michael_scott_queue, 8,i: 6,159,668 msg/sec xenium::ramalhete_queue, 1,s: 31,896,565 msg/sec xenium::ramalhete_queue, 1,i: 32,639,846 msg/sec xenium::ramalhete_queue, 2,s: 23,573,399 msg/sec xenium::ramalhete_queue, 2,i: 23,405,831 msg/sec xenium::ramalhete_queue, 3,s: 29,237,941 msg/sec xenium::ramalhete_queue, 3,i: 28,457,488 msg/sec xenium::ramalhete_queue, 4,s: 33,703,306 msg/sec xenium::ramalhete_queue, 4,i: 33,441,653 msg/sec xenium::ramalhete_queue, 5,s: 32,331,530 msg/sec xenium::ramalhete_queue, 5,i: 36,025,505 msg/sec xenium::ramalhete_queue, 6,s: 33,998,703 msg/sec xenium::ramalhete_queue, 6,i: 39,099,802 msg/sec xenium::ramalhete_queue, 7,s: 35,139,499 msg/sec xenium::ramalhete_queue, 7,i: 40,733,978 msg/sec xenium::ramalhete_queue, 8,s: 35,513,348 msg/sec xenium::ramalhete_queue, 8,i: 43,835,856 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,192,667 msg/sec xenium::vyukov_bounded_queue, 1,i: 110,872,826 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,941,058 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,402,820 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,659,027 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,651,958 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,693,769 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,227,712 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,969,512 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,429,173 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,840,539 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,586,510 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,271,361 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,860,205 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,422,818 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,548,216 msg/sec AtomicQueue, 1,s: 58,385,509 msg/sec AtomicQueue, 1,i: 56,738,389 msg/sec AtomicQueue, 2,s: 12,333,428 msg/sec AtomicQueue, 2,i: 11,712,244 msg/sec AtomicQueue, 3,s: 10,784,384 msg/sec AtomicQueue, 3,i: 9,980,470 msg/sec AtomicQueue, 4,s: 8,183,705 msg/sec AtomicQueue, 4,i: 8,198,961 msg/sec AtomicQueue, 5,s: 8,043,762 msg/sec AtomicQueue, 5,i: 8,096,326 msg/sec AtomicQueue, 6,s: 7,733,743 msg/sec AtomicQueue, 6,i: 7,614,821 msg/sec AtomicQueue, 7,s: 7,112,015 msg/sec AtomicQueue, 7,i: 7,996,691 msg/sec AtomicQueue, 8,s: 6,352,890 msg/sec AtomicQueue, 8,i: 7,446,436 msg/sec AtomicQueueB, 1,s: 44,556,363 msg/sec AtomicQueueB, 1,i: 43,049,330 msg/sec AtomicQueueB, 2,s: 11,984,231 msg/sec AtomicQueueB, 2,i: 11,485,209 msg/sec AtomicQueueB, 3,s: 11,016,427 msg/sec AtomicQueueB, 3,i: 10,080,219 msg/sec AtomicQueueB, 4,s: 8,027,238 msg/sec AtomicQueueB, 4,i: 7,967,178 msg/sec AtomicQueueB, 5,s: 7,561,178 msg/sec AtomicQueueB, 5,i: 7,719,685 msg/sec AtomicQueueB, 6,s: 7,199,195 msg/sec AtomicQueueB, 6,i: 7,510,770 msg/sec AtomicQueueB, 7,s: 6,880,902 msg/sec AtomicQueueB, 7,i: 7,745,255 msg/sec AtomicQueueB, 8,s: 6,264,079 msg/sec AtomicQueueB, 8,i: 7,177,533 msg/sec OptimistAtomicQueue, 1,s: 794,076,349 msg/sec OptimistAtomicQueue, 1,i: 621,898,379 msg/sec OptimistAtomicQueue, 2,s: 32,216,263 msg/sec OptimistAtomicQueue, 2,i: 32,243,313 msg/sec OptimistAtomicQueue, 3,s: 36,619,476 msg/sec OptimistAtomicQueue, 3,i: 37,388,366 msg/sec OptimistAtomicQueue, 4,s: 39,292,777 msg/sec OptimistAtomicQueue, 4,i: 39,445,696 msg/sec OptimistAtomicQueue, 5,s: 42,521,474 msg/sec OptimistAtomicQueue, 5,i: 47,142,610 msg/sec OptimistAtomicQueue, 6,s: 42,520,034 msg/sec OptimistAtomicQueue, 6,i: 50,278,765 msg/sec OptimistAtomicQueue, 7,s: 45,228,758 msg/sec OptimistAtomicQueue, 7,i: 49,199,288 msg/sec OptimistAtomicQueue, 8,s: 46,437,170 msg/sec OptimistAtomicQueue, 8,i: 49,769,805 msg/sec OptimistAtomicQueueB, 1,s: 90,052,691 msg/sec OptimistAtomicQueueB, 1,i: 77,524,690 msg/sec OptimistAtomicQueueB, 2,s: 32,176,866 msg/sec OptimistAtomicQueueB, 2,i: 32,338,233 msg/sec OptimistAtomicQueueB, 3,s: 36,198,981 msg/sec OptimistAtomicQueueB, 3,i: 36,886,610 msg/sec OptimistAtomicQueueB, 4,s: 38,641,718 msg/sec OptimistAtomicQueueB, 4,i: 38,632,961 msg/sec OptimistAtomicQueueB, 5,s: 40,294,949 msg/sec OptimistAtomicQueueB, 5,i: 45,902,291 msg/sec OptimistAtomicQueueB, 6,s: 41,100,779 msg/sec OptimistAtomicQueueB, 6,i: 49,128,717 msg/sec OptimistAtomicQueueB, 7,s: 42,398,840 msg/sec OptimistAtomicQueueB, 7,i: 51,526,485 msg/sec OptimistAtomicQueueB, 8,s: 44,458,227 msg/sec OptimistAtomicQueueB, 8,i: 47,993,111 msg/sec AtomicQueue2, 1,s: 23,063,180 msg/sec AtomicQueue2, 1,i: 23,076,627 msg/sec AtomicQueue2, 2,s: 11,954,600 msg/sec AtomicQueue2, 2,i: 11,691,718 msg/sec AtomicQueue2, 3,s: 9,555,665 msg/sec AtomicQueue2, 3,i: 9,533,377 msg/sec AtomicQueue2, 4,s: 7,994,989 msg/sec AtomicQueue2, 4,i: 8,057,904 msg/sec AtomicQueue2, 5,s: 7,946,120 msg/sec AtomicQueue2, 5,i: 8,054,312 msg/sec AtomicQueue2, 6,s: 7,635,476 msg/sec AtomicQueue2, 6,i: 7,527,553 msg/sec AtomicQueue2, 7,s: 7,196,022 msg/sec AtomicQueue2, 7,i: 7,897,136 msg/sec AtomicQueue2, 8,s: 6,380,310 msg/sec AtomicQueue2, 8,i: 7,352,957 msg/sec AtomicQueueB2, 1,s: 36,098,068 msg/sec AtomicQueueB2, 1,i: 32,583,302 msg/sec AtomicQueueB2, 2,s: 11,337,219 msg/sec AtomicQueueB2, 2,i: 11,077,666 msg/sec AtomicQueueB2, 3,s: 9,628,750 msg/sec AtomicQueueB2, 3,i: 9,503,578 msg/sec AtomicQueueB2, 4,s: 7,971,501 msg/sec AtomicQueueB2, 4,i: 7,830,103 msg/sec AtomicQueueB2, 5,s: 7,474,019 msg/sec AtomicQueueB2, 5,i: 7,678,842 msg/sec AtomicQueueB2, 6,s: 7,300,685 msg/sec AtomicQueueB2, 6,i: 7,421,453 msg/sec AtomicQueueB2, 7,s: 6,887,099 msg/sec AtomicQueueB2, 7,i: 7,722,712 msg/sec AtomicQueueB2, 8,s: 6,254,010 msg/sec AtomicQueueB2, 8,i: 7,098,619 msg/sec OptimistAtomicQueue2, 1,s: 426,421,684 msg/sec OptimistAtomicQueue2, 1,i: 412,865,465 msg/sec OptimistAtomicQueue2, 2,s: 25,048,995 msg/sec OptimistAtomicQueue2, 2,i: 24,273,008 msg/sec OptimistAtomicQueue2, 3,s: 30,435,068 msg/sec OptimistAtomicQueue2, 3,i: 29,541,585 msg/sec OptimistAtomicQueue2, 4,s: 33,139,470 msg/sec OptimistAtomicQueue2, 4,i: 33,088,928 msg/sec OptimistAtomicQueue2, 5,s: 37,153,701 msg/sec OptimistAtomicQueue2, 5,i: 42,119,014 msg/sec OptimistAtomicQueue2, 6,s: 40,165,525 msg/sec OptimistAtomicQueue2, 6,i: 49,310,933 msg/sec OptimistAtomicQueue2, 7,s: 42,917,577 msg/sec OptimistAtomicQueue2, 7,i: 48,114,117 msg/sec OptimistAtomicQueue2, 8,s: 44,174,324 msg/sec OptimistAtomicQueue2, 8,i: 48,374,670 msg/sec OptimistAtomicQueueB2, 1,s: 75,743,089 msg/sec OptimistAtomicQueueB2, 1,i: 33,869,296 msg/sec OptimistAtomicQueueB2, 2,s: 27,354,082 msg/sec OptimistAtomicQueueB2, 2,i: 23,197,222 msg/sec OptimistAtomicQueueB2, 3,s: 29,703,982 msg/sec OptimistAtomicQueueB2, 3,i: 29,202,174 msg/sec OptimistAtomicQueueB2, 4,s: 32,599,481 msg/sec OptimistAtomicQueueB2, 4,i: 33,200,774 msg/sec OptimistAtomicQueueB2, 5,s: 34,512,830 msg/sec OptimistAtomicQueueB2, 5,i: 39,562,647 msg/sec OptimistAtomicQueueB2, 6,s: 37,771,691 msg/sec OptimistAtomicQueueB2, 6,i: 42,157,430 msg/sec OptimistAtomicQueueB2, 7,s: 40,850,219 msg/sec OptimistAtomicQueueB2, 7,i: 45,547,493 msg/sec OptimistAtomicQueueB2, 8,s: 42,180,902 msg/sec OptimistAtomicQueueB2, 8,i: 45,966,947 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000158 sec/round-trip moodycamel::ConcurrentQueue: 0.000000221 sec/round-trip pthread_spinlock: 0.000000248 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [303] 81m:28s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,744,106 msg/sec boost::lockfree::spsc_queue, 1,i: 68,554,235 msg/sec boost::lockfree::queue, 1,s: 6,793,283 msg/sec boost::lockfree::queue, 1,i: 6,941,260 msg/sec boost::lockfree::queue, 2,s: 7,488,899 msg/sec boost::lockfree::queue, 2,i: 7,420,915 msg/sec boost::lockfree::queue, 3,s: 7,352,485 msg/sec boost::lockfree::queue, 3,i: 7,555,519 msg/sec boost::lockfree::queue, 4,s: 6,425,315 msg/sec boost::lockfree::queue, 4,i: 6,836,798 msg/sec boost::lockfree::queue, 5,s: 6,395,315 msg/sec boost::lockfree::queue, 5,i: 6,479,184 msg/sec boost::lockfree::queue, 6,s: 6,008,997 msg/sec boost::lockfree::queue, 6,i: 6,124,586 msg/sec boost::lockfree::queue, 7,s: 6,030,417 msg/sec boost::lockfree::queue, 7,i: 5,929,601 msg/sec boost::lockfree::queue, 8,s: 5,406,487 msg/sec boost::lockfree::queue, 8,i: 5,597,508 msg/sec moodycamel::ReaderWriterQueue, 1,s: 173,497,306 msg/sec moodycamel::ReaderWriterQueue, 1,i: 83,447,724 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,859,438 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,609,305 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,150,051 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,984,707 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,474,190 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,975,493 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,562,052 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,459,679 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,380,779 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,673,173 msg/sec moodycamel::ConcurrentQueue, 6,s: 46,602,691 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,343,808 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,997,754 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,114,190 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,342,259 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,339,611 msg/sec pthread_spinlock, 1,s: 28,974,043 msg/sec pthread_spinlock, 1,i: 25,245,905 msg/sec pthread_spinlock, 2,s: 15,514,389 msg/sec pthread_spinlock, 2,i: 17,057,562 msg/sec pthread_spinlock, 3,s: 8,361,921 msg/sec pthread_spinlock, 3,i: 11,926,166 msg/sec pthread_spinlock, 4,s: 6,501,105 msg/sec pthread_spinlock, 4,i: 8,987,417 msg/sec pthread_spinlock, 5,s: 8,761,758 msg/sec pthread_spinlock, 5,i: 9,439,250 msg/sec pthread_spinlock, 6,s: 8,320,821 msg/sec pthread_spinlock, 6,i: 8,484,110 msg/sec pthread_spinlock, 7,s: 7,586,271 msg/sec pthread_spinlock, 7,i: 7,696,741 msg/sec pthread_spinlock, 8,s: 6,899,579 msg/sec pthread_spinlock, 8,i: 6,917,007 msg/sec std::mutex, 1,s: 7,003,786 msg/sec std::mutex, 1,i: 7,546,870 msg/sec std::mutex, 2,s: 6,029,222 msg/sec std::mutex, 2,i: 5,975,680 msg/sec std::mutex, 3,s: 5,967,138 msg/sec std::mutex, 3,i: 5,636,487 msg/sec std::mutex, 4,s: 5,985,161 msg/sec std::mutex, 4,i: 6,210,873 msg/sec std::mutex, 5,s: 6,008,494 msg/sec std::mutex, 5,i: 6,213,186 msg/sec std::mutex, 6,s: 5,847,553 msg/sec std::mutex, 6,i: 5,934,900 msg/sec std::mutex, 7,s: 5,838,937 msg/sec std::mutex, 7,i: 5,793,340 msg/sec std::mutex, 8,s: 5,655,458 msg/sec std::mutex, 8,i: 5,586,916 msg/sec tbb::spin_mutex, 1,s: 37,714,220 msg/sec tbb::spin_mutex, 1,i: 37,853,536 msg/sec tbb::spin_mutex, 2,s: 21,120,839 msg/sec tbb::spin_mutex, 2,i: 18,529,537 msg/sec tbb::spin_mutex, 3,s: 8,320,050 msg/sec tbb::spin_mutex, 3,i: 10,731,177 msg/sec tbb::spin_mutex, 4,s: 3,228,001 msg/sec tbb::spin_mutex, 4,i: 6,404,005 msg/sec tbb::spin_mutex, 5,s: 5,438,007 msg/sec tbb::spin_mutex, 5,i: 5,813,240 msg/sec tbb::spin_mutex, 6,s: 5,323,491 msg/sec tbb::spin_mutex, 6,i: 4,378,496 msg/sec tbb::spin_mutex, 7,s: 4,870,061 msg/sec tbb::spin_mutex, 7,i: 4,274,047 msg/sec tbb::spin_mutex, 8,s: 4,244,715 msg/sec tbb::spin_mutex, 8,i: 4,071,936 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,129,981 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,353,557 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,825,757 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,603,979 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,540,516 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,783,614 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,137,528 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,369,875 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,689,470 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,766,683 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,829,199 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,967,947 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,737,253 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,114,837 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,644,909 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,303,440 msg/sec xenium::michael_scott_queue, 1,s: 9,282,467 msg/sec xenium::michael_scott_queue, 1,i: 9,492,828 msg/sec xenium::michael_scott_queue, 2,s: 8,461,649 msg/sec xenium::michael_scott_queue, 2,i: 8,583,561 msg/sec xenium::michael_scott_queue, 3,s: 7,248,606 msg/sec xenium::michael_scott_queue, 3,i: 7,529,671 msg/sec xenium::michael_scott_queue, 4,s: 6,287,009 msg/sec xenium::michael_scott_queue, 4,i: 6,309,079 msg/sec xenium::michael_scott_queue, 5,s: 6,298,440 msg/sec xenium::michael_scott_queue, 5,i: 6,702,489 msg/sec xenium::michael_scott_queue, 6,s: 6,530,753 msg/sec xenium::michael_scott_queue, 6,i: 6,709,643 msg/sec xenium::michael_scott_queue, 7,s: 6,220,683 msg/sec xenium::michael_scott_queue, 7,i: 6,552,925 msg/sec xenium::michael_scott_queue, 8,s: 6,010,901 msg/sec xenium::michael_scott_queue, 8,i: 6,241,270 msg/sec xenium::ramalhete_queue, 1,s: 32,827,001 msg/sec xenium::ramalhete_queue, 1,i: 32,496,520 msg/sec xenium::ramalhete_queue, 2,s: 24,189,190 msg/sec xenium::ramalhete_queue, 2,i: 23,426,426 msg/sec xenium::ramalhete_queue, 3,s: 29,260,104 msg/sec xenium::ramalhete_queue, 3,i: 28,512,385 msg/sec xenium::ramalhete_queue, 4,s: 33,742,249 msg/sec xenium::ramalhete_queue, 4,i: 33,440,558 msg/sec xenium::ramalhete_queue, 5,s: 31,990,007 msg/sec xenium::ramalhete_queue, 5,i: 36,002,031 msg/sec xenium::ramalhete_queue, 6,s: 33,902,300 msg/sec xenium::ramalhete_queue, 6,i: 39,298,627 msg/sec xenium::ramalhete_queue, 7,s: 35,122,692 msg/sec xenium::ramalhete_queue, 7,i: 41,223,033 msg/sec xenium::ramalhete_queue, 8,s: 35,524,286 msg/sec xenium::ramalhete_queue, 8,i: 43,951,527 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,273,642 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,015,441 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,233,432 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,136,990 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,291,727 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,748,621 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,611,146 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,409,655 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,989,597 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,362,240 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,830,733 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,611,213 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,225,119 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,030,156 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,412,880 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,212,724 msg/sec AtomicQueue, 1,s: 61,532,214 msg/sec AtomicQueue, 1,i: 57,528,855 msg/sec AtomicQueue, 2,s: 12,136,601 msg/sec AtomicQueue, 2,i: 11,753,275 msg/sec AtomicQueue, 3,s: 10,780,096 msg/sec AtomicQueue, 3,i: 9,924,305 msg/sec AtomicQueue, 4,s: 8,196,729 msg/sec AtomicQueue, 4,i: 8,216,148 msg/sec AtomicQueue, 5,s: 8,025,604 msg/sec AtomicQueue, 5,i: 8,110,641 msg/sec AtomicQueue, 6,s: 7,855,643 msg/sec AtomicQueue, 6,i: 7,604,147 msg/sec AtomicQueue, 7,s: 7,182,998 msg/sec AtomicQueue, 7,i: 7,963,756 msg/sec AtomicQueue, 8,s: 6,354,619 msg/sec AtomicQueue, 8,i: 7,344,359 msg/sec AtomicQueueB, 1,s: 44,035,731 msg/sec AtomicQueueB, 1,i: 102,796,174 msg/sec AtomicQueueB, 2,s: 11,966,042 msg/sec AtomicQueueB, 2,i: 11,512,037 msg/sec AtomicQueueB, 3,s: 11,041,844 msg/sec AtomicQueueB, 3,i: 10,247,977 msg/sec AtomicQueueB, 4,s: 8,099,444 msg/sec AtomicQueueB, 4,i: 7,967,483 msg/sec AtomicQueueB, 5,s: 7,636,843 msg/sec AtomicQueueB, 5,i: 7,768,888 msg/sec AtomicQueueB, 6,s: 7,222,084 msg/sec AtomicQueueB, 6,i: 7,517,417 msg/sec AtomicQueueB, 7,s: 6,771,050 msg/sec AtomicQueueB, 7,i: 7,702,943 msg/sec AtomicQueueB, 8,s: 6,217,976 msg/sec AtomicQueueB, 8,i: 7,143,808 msg/sec OptimistAtomicQueue, 1,s: 787,967,887 msg/sec OptimistAtomicQueue, 1,i: 638,089,916 msg/sec OptimistAtomicQueue, 2,s: 31,892,370 msg/sec OptimistAtomicQueue, 2,i: 31,997,117 msg/sec OptimistAtomicQueue, 3,s: 36,611,384 msg/sec OptimistAtomicQueue, 3,i: 37,294,940 msg/sec OptimistAtomicQueue, 4,s: 39,249,730 msg/sec OptimistAtomicQueue, 4,i: 39,363,158 msg/sec OptimistAtomicQueue, 5,s: 42,464,237 msg/sec OptimistAtomicQueue, 5,i: 47,305,792 msg/sec OptimistAtomicQueue, 6,s: 42,146,957 msg/sec OptimistAtomicQueue, 6,i: 50,229,978 msg/sec OptimistAtomicQueue, 7,s: 44,131,786 msg/sec OptimistAtomicQueue, 7,i: 52,915,799 msg/sec OptimistAtomicQueue, 8,s: 46,381,613 msg/sec OptimistAtomicQueue, 8,i: 48,941,315 msg/sec OptimistAtomicQueueB, 1,s: 125,450,870 msg/sec OptimistAtomicQueueB, 1,i: 76,528,621 msg/sec OptimistAtomicQueueB, 2,s: 32,114,875 msg/sec OptimistAtomicQueueB, 2,i: 32,187,697 msg/sec OptimistAtomicQueueB, 3,s: 36,294,498 msg/sec OptimistAtomicQueueB, 3,i: 36,919,684 msg/sec OptimistAtomicQueueB, 4,s: 38,634,253 msg/sec OptimistAtomicQueueB, 4,i: 38,601,879 msg/sec OptimistAtomicQueueB, 5,s: 40,930,120 msg/sec OptimistAtomicQueueB, 5,i: 45,158,146 msg/sec OptimistAtomicQueueB, 6,s: 41,322,655 msg/sec OptimistAtomicQueueB, 6,i: 48,654,394 msg/sec OptimistAtomicQueueB, 7,s: 42,800,386 msg/sec OptimistAtomicQueueB, 7,i: 47,849,988 msg/sec OptimistAtomicQueueB, 8,s: 44,417,150 msg/sec OptimistAtomicQueueB, 8,i: 47,791,059 msg/sec AtomicQueue2, 1,s: 23,439,383 msg/sec AtomicQueue2, 1,i: 23,826,834 msg/sec AtomicQueue2, 2,s: 11,928,971 msg/sec AtomicQueue2, 2,i: 11,582,521 msg/sec AtomicQueue2, 3,s: 9,433,473 msg/sec AtomicQueue2, 3,i: 9,477,534 msg/sec AtomicQueue2, 4,s: 8,077,527 msg/sec AtomicQueue2, 4,i: 8,037,703 msg/sec AtomicQueue2, 5,s: 7,900,103 msg/sec AtomicQueue2, 5,i: 8,034,999 msg/sec AtomicQueue2, 6,s: 7,685,695 msg/sec AtomicQueue2, 6,i: 7,516,062 msg/sec AtomicQueue2, 7,s: 7,170,121 msg/sec AtomicQueue2, 7,i: 7,888,434 msg/sec AtomicQueue2, 8,s: 6,382,097 msg/sec AtomicQueue2, 8,i: 7,203,999 msg/sec AtomicQueueB2, 1,s: 36,165,533 msg/sec AtomicQueueB2, 1,i: 32,621,281 msg/sec AtomicQueueB2, 2,s: 11,399,051 msg/sec AtomicQueueB2, 2,i: 11,007,668 msg/sec AtomicQueueB2, 3,s: 9,649,544 msg/sec AtomicQueueB2, 3,i: 9,390,199 msg/sec AtomicQueueB2, 4,s: 7,872,883 msg/sec AtomicQueueB2, 4,i: 7,837,778 msg/sec AtomicQueueB2, 5,s: 7,383,095 msg/sec AtomicQueueB2, 5,i: 7,718,238 msg/sec AtomicQueueB2, 6,s: 7,161,586 msg/sec AtomicQueueB2, 6,i: 7,476,094 msg/sec AtomicQueueB2, 7,s: 6,905,269 msg/sec AtomicQueueB2, 7,i: 7,721,458 msg/sec AtomicQueueB2, 8,s: 6,267,800 msg/sec AtomicQueueB2, 8,i: 7,134,063 msg/sec OptimistAtomicQueue2, 1,s: 127,806,727 msg/sec OptimistAtomicQueue2, 1,i: 32,138,374 msg/sec OptimistAtomicQueue2, 2,s: 29,475,472 msg/sec OptimistAtomicQueue2, 2,i: 24,449,167 msg/sec OptimistAtomicQueue2, 3,s: 30,315,430 msg/sec OptimistAtomicQueue2, 3,i: 29,994,372 msg/sec OptimistAtomicQueue2, 4,s: 33,228,326 msg/sec OptimistAtomicQueue2, 4,i: 33,140,946 msg/sec OptimistAtomicQueue2, 5,s: 37,015,346 msg/sec OptimistAtomicQueue2, 5,i: 40,813,024 msg/sec OptimistAtomicQueue2, 6,s: 40,098,460 msg/sec OptimistAtomicQueue2, 6,i: 49,486,500 msg/sec OptimistAtomicQueue2, 7,s: 42,760,961 msg/sec OptimistAtomicQueue2, 7,i: 48,157,353 msg/sec OptimistAtomicQueue2, 8,s: 43,795,997 msg/sec OptimistAtomicQueue2, 8,i: 49,815,088 msg/sec OptimistAtomicQueueB2, 1,s: 75,931,101 msg/sec OptimistAtomicQueueB2, 1,i: 33,865,497 msg/sec OptimistAtomicQueueB2, 2,s: 27,767,423 msg/sec OptimistAtomicQueueB2, 2,i: 23,193,073 msg/sec OptimistAtomicQueueB2, 3,s: 32,870,297 msg/sec OptimistAtomicQueueB2, 3,i: 30,605,637 msg/sec OptimistAtomicQueueB2, 4,s: 32,965,276 msg/sec OptimistAtomicQueueB2, 4,i: 32,123,376 msg/sec OptimistAtomicQueueB2, 5,s: 34,542,903 msg/sec OptimistAtomicQueueB2, 5,i: 39,341,180 msg/sec OptimistAtomicQueueB2, 6,s: 37,412,771 msg/sec OptimistAtomicQueueB2, 6,i: 42,374,968 msg/sec OptimistAtomicQueueB2, 7,s: 40,855,926 msg/sec OptimistAtomicQueueB2, 7,i: 43,213,118 msg/sec OptimistAtomicQueueB2, 8,s: 42,058,303 msg/sec OptimistAtomicQueueB2, 8,i: 45,714,866 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000154 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [304] 80m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,180,375 msg/sec boost::lockfree::spsc_queue, 1,i: 70,751,582 msg/sec boost::lockfree::queue, 1,s: 6,892,711 msg/sec boost::lockfree::queue, 1,i: 6,941,642 msg/sec boost::lockfree::queue, 2,s: 7,692,572 msg/sec boost::lockfree::queue, 2,i: 7,481,461 msg/sec boost::lockfree::queue, 3,s: 7,373,296 msg/sec boost::lockfree::queue, 3,i: 7,599,962 msg/sec boost::lockfree::queue, 4,s: 6,422,081 msg/sec boost::lockfree::queue, 4,i: 6,851,753 msg/sec boost::lockfree::queue, 5,s: 6,456,222 msg/sec boost::lockfree::queue, 5,i: 6,446,268 msg/sec boost::lockfree::queue, 6,s: 5,972,002 msg/sec boost::lockfree::queue, 6,i: 6,175,989 msg/sec boost::lockfree::queue, 7,s: 5,927,358 msg/sec boost::lockfree::queue, 7,i: 6,052,506 msg/sec boost::lockfree::queue, 8,s: 5,398,380 msg/sec boost::lockfree::queue, 8,i: 5,676,720 msg/sec moodycamel::ReaderWriterQueue, 1,s: 432,995,701 msg/sec moodycamel::ReaderWriterQueue, 1,i: 84,950,276 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,292,528 msg/sec moodycamel::ConcurrentQueue, 1,i: 20,829,650 msg/sec moodycamel::ConcurrentQueue, 2,s: 17,281,692 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,210,727 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,226,447 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,843,186 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,477,817 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,768,054 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,285,808 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,862,676 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,528,305 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,496,707 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,151,382 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,334,583 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,160,694 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,792,438 msg/sec pthread_spinlock, 1,s: 28,983,693 msg/sec pthread_spinlock, 1,i: 25,352,666 msg/sec pthread_spinlock, 2,s: 15,092,165 msg/sec pthread_spinlock, 2,i: 16,899,360 msg/sec pthread_spinlock, 3,s: 8,340,209 msg/sec pthread_spinlock, 3,i: 12,006,790 msg/sec pthread_spinlock, 4,s: 6,461,190 msg/sec pthread_spinlock, 4,i: 8,906,491 msg/sec pthread_spinlock, 5,s: 8,691,072 msg/sec pthread_spinlock, 5,i: 9,071,254 msg/sec pthread_spinlock, 6,s: 8,289,221 msg/sec pthread_spinlock, 6,i: 8,382,470 msg/sec pthread_spinlock, 7,s: 7,341,335 msg/sec pthread_spinlock, 7,i: 7,506,696 msg/sec pthread_spinlock, 8,s: 6,702,845 msg/sec pthread_spinlock, 8,i: 6,779,304 msg/sec std::mutex, 1,s: 6,694,447 msg/sec std::mutex, 1,i: 6,102,509 msg/sec std::mutex, 2,s: 5,131,506 msg/sec std::mutex, 2,i: 6,100,976 msg/sec std::mutex, 3,s: 5,719,123 msg/sec std::mutex, 3,i: 5,375,082 msg/sec std::mutex, 4,s: 6,205,049 msg/sec std::mutex, 4,i: 6,235,082 msg/sec std::mutex, 5,s: 6,060,023 msg/sec std::mutex, 5,i: 6,059,675 msg/sec std::mutex, 6,s: 5,622,241 msg/sec std::mutex, 6,i: 5,890,578 msg/sec std::mutex, 7,s: 5,814,547 msg/sec std::mutex, 7,i: 5,780,836 msg/sec std::mutex, 8,s: 5,634,600 msg/sec std::mutex, 8,i: 5,679,784 msg/sec tbb::spin_mutex, 1,s: 37,653,927 msg/sec tbb::spin_mutex, 1,i: 33,088,212 msg/sec tbb::spin_mutex, 2,s: 21,222,103 msg/sec tbb::spin_mutex, 2,i: 18,475,950 msg/sec tbb::spin_mutex, 3,s: 7,390,290 msg/sec tbb::spin_mutex, 3,i: 10,264,232 msg/sec tbb::spin_mutex, 4,s: 3,165,754 msg/sec tbb::spin_mutex, 4,i: 6,319,949 msg/sec tbb::spin_mutex, 5,s: 5,592,661 msg/sec tbb::spin_mutex, 5,i: 5,748,979 msg/sec tbb::spin_mutex, 6,s: 5,194,285 msg/sec tbb::spin_mutex, 6,i: 4,327,103 msg/sec tbb::spin_mutex, 7,s: 4,839,753 msg/sec tbb::spin_mutex, 7,i: 4,278,715 msg/sec tbb::spin_mutex, 8,s: 4,238,295 msg/sec tbb::spin_mutex, 8,i: 4,140,431 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,410,662 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,457,232 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,882,710 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,995,203 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,453,259 msg/sec tbb::concurrent_bounded_queue, 3,i: 12,075,291 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,097,251 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,339,495 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,832,124 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,788,644 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,874,682 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,939,110 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,788,144 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,128,725 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,627,436 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,311,097 msg/sec xenium::michael_scott_queue, 1,s: 9,189,293 msg/sec xenium::michael_scott_queue, 1,i: 9,014,414 msg/sec xenium::michael_scott_queue, 2,s: 8,454,034 msg/sec xenium::michael_scott_queue, 2,i: 8,461,039 msg/sec xenium::michael_scott_queue, 3,s: 7,235,291 msg/sec xenium::michael_scott_queue, 3,i: 7,584,890 msg/sec xenium::michael_scott_queue, 4,s: 6,300,019 msg/sec xenium::michael_scott_queue, 4,i: 6,476,370 msg/sec xenium::michael_scott_queue, 5,s: 6,309,386 msg/sec xenium::michael_scott_queue, 5,i: 6,639,296 msg/sec xenium::michael_scott_queue, 6,s: 6,514,920 msg/sec xenium::michael_scott_queue, 6,i: 6,719,205 msg/sec xenium::michael_scott_queue, 7,s: 6,263,701 msg/sec xenium::michael_scott_queue, 7,i: 6,508,645 msg/sec xenium::michael_scott_queue, 8,s: 5,961,419 msg/sec xenium::michael_scott_queue, 8,i: 6,129,485 msg/sec xenium::ramalhete_queue, 1,s: 31,997,863 msg/sec xenium::ramalhete_queue, 1,i: 32,324,886 msg/sec xenium::ramalhete_queue, 2,s: 23,450,087 msg/sec xenium::ramalhete_queue, 2,i: 23,349,299 msg/sec xenium::ramalhete_queue, 3,s: 29,233,657 msg/sec xenium::ramalhete_queue, 3,i: 28,524,115 msg/sec xenium::ramalhete_queue, 4,s: 33,826,029 msg/sec xenium::ramalhete_queue, 4,i: 33,448,643 msg/sec xenium::ramalhete_queue, 5,s: 32,216,000 msg/sec xenium::ramalhete_queue, 5,i: 38,346,364 msg/sec xenium::ramalhete_queue, 6,s: 33,932,290 msg/sec xenium::ramalhete_queue, 6,i: 38,891,454 msg/sec xenium::ramalhete_queue, 7,s: 35,179,460 msg/sec xenium::ramalhete_queue, 7,i: 41,449,327 msg/sec xenium::ramalhete_queue, 8,s: 35,528,300 msg/sec xenium::ramalhete_queue, 8,i: 43,848,074 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,253,858 msg/sec xenium::vyukov_bounded_queue, 1,i: 116,875,361 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,032,836 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,721,234 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,648,448 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,001,188 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,568,750 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,473,466 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,948,521 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,307,821 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,017,147 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,474,581 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,269,823 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,937,870 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,378,376 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,271,037 msg/sec AtomicQueue, 1,s: 62,851,025 msg/sec AtomicQueue, 1,i: 57,027,999 msg/sec AtomicQueue, 2,s: 12,217,583 msg/sec AtomicQueue, 2,i: 11,754,486 msg/sec AtomicQueue, 3,s: 10,772,929 msg/sec AtomicQueue, 3,i: 9,899,897 msg/sec AtomicQueue, 4,s: 8,204,325 msg/sec AtomicQueue, 4,i: 8,202,583 msg/sec AtomicQueue, 5,s: 8,021,222 msg/sec AtomicQueue, 5,i: 8,077,773 msg/sec AtomicQueue, 6,s: 7,875,017 msg/sec AtomicQueue, 6,i: 7,620,962 msg/sec AtomicQueue, 7,s: 7,136,880 msg/sec AtomicQueue, 7,i: 7,992,040 msg/sec AtomicQueue, 8,s: 6,342,575 msg/sec AtomicQueue, 8,i: 7,483,910 msg/sec AtomicQueueB, 1,s: 45,301,868 msg/sec AtomicQueueB, 1,i: 43,173,359 msg/sec AtomicQueueB, 2,s: 11,954,814 msg/sec AtomicQueueB, 2,i: 11,498,667 msg/sec AtomicQueueB, 3,s: 11,044,006 msg/sec AtomicQueueB, 3,i: 10,123,044 msg/sec AtomicQueueB, 4,s: 8,083,071 msg/sec AtomicQueueB, 4,i: 8,007,124 msg/sec AtomicQueueB, 5,s: 7,524,769 msg/sec AtomicQueueB, 5,i: 7,834,371 msg/sec AtomicQueueB, 6,s: 7,269,685 msg/sec AtomicQueueB, 6,i: 7,533,473 msg/sec AtomicQueueB, 7,s: 6,884,654 msg/sec AtomicQueueB, 7,i: 7,688,380 msg/sec AtomicQueueB, 8,s: 6,213,655 msg/sec AtomicQueueB, 8,i: 7,193,798 msg/sec OptimistAtomicQueue, 1,s: 758,260,777 msg/sec OptimistAtomicQueue, 1,i: 590,138,403 msg/sec OptimistAtomicQueue, 2,s: 32,107,340 msg/sec OptimistAtomicQueue, 2,i: 32,194,737 msg/sec OptimistAtomicQueue, 3,s: 36,623,387 msg/sec OptimistAtomicQueue, 3,i: 37,321,400 msg/sec OptimistAtomicQueue, 4,s: 39,315,834 msg/sec OptimistAtomicQueue, 4,i: 39,333,268 msg/sec OptimistAtomicQueue, 5,s: 42,536,769 msg/sec OptimistAtomicQueue, 5,i: 46,504,416 msg/sec OptimistAtomicQueue, 6,s: 42,220,366 msg/sec OptimistAtomicQueue, 6,i: 49,741,293 msg/sec OptimistAtomicQueue, 7,s: 45,214,009 msg/sec OptimistAtomicQueue, 7,i: 53,045,352 msg/sec OptimistAtomicQueue, 8,s: 46,375,896 msg/sec OptimistAtomicQueue, 8,i: 49,028,572 msg/sec OptimistAtomicQueueB, 1,s: 86,975,344 msg/sec OptimistAtomicQueueB, 1,i: 76,522,146 msg/sec OptimistAtomicQueueB, 2,s: 32,153,312 msg/sec OptimistAtomicQueueB, 2,i: 32,265,823 msg/sec OptimistAtomicQueueB, 3,s: 36,214,413 msg/sec OptimistAtomicQueueB, 3,i: 36,758,735 msg/sec OptimistAtomicQueueB, 4,s: 38,662,616 msg/sec OptimistAtomicQueueB, 4,i: 38,593,011 msg/sec OptimistAtomicQueueB, 5,s: 40,698,602 msg/sec OptimistAtomicQueueB, 5,i: 45,423,955 msg/sec OptimistAtomicQueueB, 6,s: 41,226,827 msg/sec OptimistAtomicQueueB, 6,i: 49,158,847 msg/sec OptimistAtomicQueueB, 7,s: 41,761,692 msg/sec OptimistAtomicQueueB, 7,i: 47,923,811 msg/sec OptimistAtomicQueueB, 8,s: 44,394,194 msg/sec OptimistAtomicQueueB, 8,i: 48,284,357 msg/sec AtomicQueue2, 1,s: 22,859,539 msg/sec AtomicQueue2, 1,i: 22,845,211 msg/sec AtomicQueue2, 2,s: 11,768,563 msg/sec AtomicQueue2, 2,i: 11,408,932 msg/sec AtomicQueue2, 3,s: 9,539,330 msg/sec AtomicQueue2, 3,i: 9,513,463 msg/sec AtomicQueue2, 4,s: 8,051,827 msg/sec AtomicQueue2, 4,i: 8,060,278 msg/sec AtomicQueue2, 5,s: 7,926,989 msg/sec AtomicQueue2, 5,i: 8,052,395 msg/sec AtomicQueue2, 6,s: 7,905,126 msg/sec AtomicQueue2, 6,i: 7,552,070 msg/sec AtomicQueue2, 7,s: 7,126,040 msg/sec AtomicQueue2, 7,i: 7,898,464 msg/sec AtomicQueue2, 8,s: 6,378,511 msg/sec AtomicQueue2, 8,i: 7,329,267 msg/sec AtomicQueueB2, 1,s: 36,136,753 msg/sec AtomicQueueB2, 1,i: 32,594,982 msg/sec AtomicQueueB2, 2,s: 11,405,354 msg/sec AtomicQueueB2, 2,i: 11,100,257 msg/sec AtomicQueueB2, 3,s: 9,645,123 msg/sec AtomicQueueB2, 3,i: 9,579,786 msg/sec AtomicQueueB2, 4,s: 7,932,916 msg/sec AtomicQueueB2, 4,i: 7,837,212 msg/sec AtomicQueueB2, 5,s: 7,532,475 msg/sec AtomicQueueB2, 5,i: 7,735,709 msg/sec AtomicQueueB2, 6,s: 7,277,067 msg/sec AtomicQueueB2, 6,i: 7,480,648 msg/sec AtomicQueueB2, 7,s: 6,897,310 msg/sec AtomicQueueB2, 7,i: 7,685,407 msg/sec AtomicQueueB2, 8,s: 6,294,397 msg/sec AtomicQueueB2, 8,i: 7,102,158 msg/sec OptimistAtomicQueue2, 1,s: 478,215,834 msg/sec OptimistAtomicQueue2, 1,i: 102,114,309 msg/sec OptimistAtomicQueue2, 2,s: 24,926,740 msg/sec OptimistAtomicQueue2, 2,i: 24,007,429 msg/sec OptimistAtomicQueue2, 3,s: 30,469,501 msg/sec OptimistAtomicQueue2, 3,i: 30,749,041 msg/sec OptimistAtomicQueue2, 4,s: 33,163,891 msg/sec OptimistAtomicQueue2, 4,i: 33,098,932 msg/sec OptimistAtomicQueue2, 5,s: 37,263,888 msg/sec OptimistAtomicQueue2, 5,i: 40,204,749 msg/sec OptimistAtomicQueue2, 6,s: 40,309,741 msg/sec OptimistAtomicQueue2, 6,i: 49,181,549 msg/sec OptimistAtomicQueue2, 7,s: 43,099,199 msg/sec OptimistAtomicQueue2, 7,i: 48,130,781 msg/sec OptimistAtomicQueue2, 8,s: 44,021,319 msg/sec OptimistAtomicQueue2, 8,i: 48,609,767 msg/sec OptimistAtomicQueueB2, 1,s: 78,024,001 msg/sec OptimistAtomicQueueB2, 1,i: 62,388,047 msg/sec OptimistAtomicQueueB2, 2,s: 28,914,702 msg/sec OptimistAtomicQueueB2, 2,i: 25,916,315 msg/sec OptimistAtomicQueueB2, 3,s: 29,954,788 msg/sec OptimistAtomicQueueB2, 3,i: 29,086,769 msg/sec OptimistAtomicQueueB2, 4,s: 32,958,935 msg/sec OptimistAtomicQueueB2, 4,i: 32,136,516 msg/sec OptimistAtomicQueueB2, 5,s: 34,715,965 msg/sec OptimistAtomicQueueB2, 5,i: 39,001,784 msg/sec OptimistAtomicQueueB2, 6,s: 37,083,339 msg/sec OptimistAtomicQueueB2, 6,i: 42,348,263 msg/sec OptimistAtomicQueueB2, 7,s: 40,773,436 msg/sec OptimistAtomicQueueB2, 7,i: 43,177,065 msg/sec OptimistAtomicQueueB2, 8,s: 42,231,357 msg/sec OptimistAtomicQueueB2, 8,i: 45,614,640 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000110 sec/round-trip moodycamel::ConcurrentQueue: 0.000000217 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000258 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [305] 78m:50s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,862,836 msg/sec boost::lockfree::spsc_queue, 1,i: 67,502,437 msg/sec boost::lockfree::queue, 1,s: 6,844,934 msg/sec boost::lockfree::queue, 1,i: 6,931,479 msg/sec boost::lockfree::queue, 2,s: 7,679,476 msg/sec boost::lockfree::queue, 2,i: 7,453,604 msg/sec boost::lockfree::queue, 3,s: 7,393,275 msg/sec boost::lockfree::queue, 3,i: 7,546,112 msg/sec boost::lockfree::queue, 4,s: 6,411,737 msg/sec boost::lockfree::queue, 4,i: 6,843,911 msg/sec boost::lockfree::queue, 5,s: 6,438,947 msg/sec boost::lockfree::queue, 5,i: 6,425,182 msg/sec boost::lockfree::queue, 6,s: 5,973,891 msg/sec boost::lockfree::queue, 6,i: 6,105,094 msg/sec boost::lockfree::queue, 7,s: 5,932,482 msg/sec boost::lockfree::queue, 7,i: 6,097,785 msg/sec boost::lockfree::queue, 8,s: 5,486,994 msg/sec boost::lockfree::queue, 8,i: 5,693,368 msg/sec moodycamel::ReaderWriterQueue, 1,s: 522,979,250 msg/sec moodycamel::ReaderWriterQueue, 1,i: 170,974,248 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,313,103 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,181,355 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,586,661 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,635,658 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,576,367 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,691,803 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,952,238 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,975,908 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,254,608 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,894,274 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,521,481 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,149,374 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,033,984 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,158,427 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,351,181 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,603,982 msg/sec pthread_spinlock, 1,s: 28,765,527 msg/sec pthread_spinlock, 1,i: 25,455,054 msg/sec pthread_spinlock, 2,s: 15,429,632 msg/sec pthread_spinlock, 2,i: 16,924,551 msg/sec pthread_spinlock, 3,s: 8,296,581 msg/sec pthread_spinlock, 3,i: 12,047,741 msg/sec pthread_spinlock, 4,s: 6,502,321 msg/sec pthread_spinlock, 4,i: 8,956,031 msg/sec pthread_spinlock, 5,s: 8,558,287 msg/sec pthread_spinlock, 5,i: 9,013,605 msg/sec pthread_spinlock, 6,s: 8,529,371 msg/sec pthread_spinlock, 6,i: 8,367,058 msg/sec pthread_spinlock, 7,s: 7,552,971 msg/sec pthread_spinlock, 7,i: 7,748,581 msg/sec pthread_spinlock, 8,s: 6,805,523 msg/sec pthread_spinlock, 8,i: 7,466,834 msg/sec std::mutex, 1,s: 6,988,903 msg/sec std::mutex, 1,i: 6,960,228 msg/sec std::mutex, 2,s: 4,938,028 msg/sec std::mutex, 2,i: 5,526,492 msg/sec std::mutex, 3,s: 5,038,392 msg/sec std::mutex, 3,i: 5,616,457 msg/sec std::mutex, 4,s: 5,985,993 msg/sec std::mutex, 4,i: 6,190,081 msg/sec std::mutex, 5,s: 5,888,471 msg/sec std::mutex, 5,i: 5,929,711 msg/sec std::mutex, 6,s: 5,906,509 msg/sec std::mutex, 6,i: 5,898,269 msg/sec std::mutex, 7,s: 5,793,355 msg/sec std::mutex, 7,i: 5,744,662 msg/sec std::mutex, 8,s: 5,630,330 msg/sec std::mutex, 8,i: 5,634,543 msg/sec tbb::spin_mutex, 1,s: 37,783,759 msg/sec tbb::spin_mutex, 1,i: 32,891,113 msg/sec tbb::spin_mutex, 2,s: 21,162,760 msg/sec tbb::spin_mutex, 2,i: 18,310,781 msg/sec tbb::spin_mutex, 3,s: 7,956,467 msg/sec tbb::spin_mutex, 3,i: 10,717,085 msg/sec tbb::spin_mutex, 4,s: 3,211,605 msg/sec tbb::spin_mutex, 4,i: 6,281,292 msg/sec tbb::spin_mutex, 5,s: 5,285,475 msg/sec tbb::spin_mutex, 5,i: 5,793,233 msg/sec tbb::spin_mutex, 6,s: 5,307,839 msg/sec tbb::spin_mutex, 6,i: 4,357,327 msg/sec tbb::spin_mutex, 7,s: 4,845,135 msg/sec tbb::spin_mutex, 7,i: 4,346,071 msg/sec tbb::spin_mutex, 8,s: 4,258,244 msg/sec tbb::spin_mutex, 8,i: 4,170,036 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,422,158 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,786,470 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,306,515 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,019,156 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,371,728 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,701,382 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,609,787 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,572,856 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,972,924 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,632,321 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,915,716 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,699,752 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,854,577 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,805,572 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,781,679 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,481,615 msg/sec xenium::michael_scott_queue, 1,s: 10,147,254 msg/sec xenium::michael_scott_queue, 1,i: 9,975,617 msg/sec xenium::michael_scott_queue, 2,s: 8,499,496 msg/sec xenium::michael_scott_queue, 2,i: 8,575,961 msg/sec xenium::michael_scott_queue, 3,s: 7,276,114 msg/sec xenium::michael_scott_queue, 3,i: 7,565,466 msg/sec xenium::michael_scott_queue, 4,s: 6,320,220 msg/sec xenium::michael_scott_queue, 4,i: 6,298,115 msg/sec xenium::michael_scott_queue, 5,s: 6,365,800 msg/sec xenium::michael_scott_queue, 5,i: 6,739,334 msg/sec xenium::michael_scott_queue, 6,s: 6,475,139 msg/sec xenium::michael_scott_queue, 6,i: 6,745,338 msg/sec xenium::michael_scott_queue, 7,s: 6,334,468 msg/sec xenium::michael_scott_queue, 7,i: 6,604,942 msg/sec xenium::michael_scott_queue, 8,s: 6,102,851 msg/sec xenium::michael_scott_queue, 8,i: 6,081,133 msg/sec xenium::ramalhete_queue, 1,s: 32,154,263 msg/sec xenium::ramalhete_queue, 1,i: 32,146,585 msg/sec xenium::ramalhete_queue, 2,s: 23,530,488 msg/sec xenium::ramalhete_queue, 2,i: 23,268,131 msg/sec xenium::ramalhete_queue, 3,s: 29,105,087 msg/sec xenium::ramalhete_queue, 3,i: 28,394,978 msg/sec xenium::ramalhete_queue, 4,s: 33,757,278 msg/sec xenium::ramalhete_queue, 4,i: 33,454,809 msg/sec xenium::ramalhete_queue, 5,s: 32,248,081 msg/sec xenium::ramalhete_queue, 5,i: 38,547,781 msg/sec xenium::ramalhete_queue, 6,s: 34,062,018 msg/sec xenium::ramalhete_queue, 6,i: 39,123,584 msg/sec xenium::ramalhete_queue, 7,s: 35,102,699 msg/sec xenium::ramalhete_queue, 7,i: 41,700,491 msg/sec xenium::ramalhete_queue, 8,s: 35,463,268 msg/sec xenium::ramalhete_queue, 8,i: 44,482,363 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,276,470 msg/sec xenium::vyukov_bounded_queue, 1,i: 107,690,191 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,731,081 msg/sec xenium::vyukov_bounded_queue, 2,i: 29,036,802 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,388,876 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,917,729 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,657,160 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,236,783 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,729,715 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,379,233 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,093,916 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,407,176 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,122,322 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,981,746 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,401,276 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,338,350 msg/sec AtomicQueue, 1,s: 61,963,779 msg/sec AtomicQueue, 1,i: 56,310,984 msg/sec AtomicQueue, 2,s: 12,280,464 msg/sec AtomicQueue, 2,i: 11,739,593 msg/sec AtomicQueue, 3,s: 10,784,551 msg/sec AtomicQueue, 3,i: 9,939,176 msg/sec AtomicQueue, 4,s: 8,176,506 msg/sec AtomicQueue, 4,i: 8,172,657 msg/sec AtomicQueue, 5,s: 8,031,232 msg/sec AtomicQueue, 5,i: 8,097,066 msg/sec AtomicQueue, 6,s: 7,786,165 msg/sec AtomicQueue, 6,i: 7,634,171 msg/sec AtomicQueue, 7,s: 7,083,044 msg/sec AtomicQueue, 7,i: 7,967,535 msg/sec AtomicQueue, 8,s: 6,344,994 msg/sec AtomicQueue, 8,i: 7,326,397 msg/sec AtomicQueueB, 1,s: 46,508,607 msg/sec AtomicQueueB, 1,i: 43,052,638 msg/sec AtomicQueueB, 2,s: 11,766,444 msg/sec AtomicQueueB, 2,i: 11,357,585 msg/sec AtomicQueueB, 3,s: 10,981,635 msg/sec AtomicQueueB, 3,i: 10,192,538 msg/sec AtomicQueueB, 4,s: 8,082,564 msg/sec AtomicQueueB, 4,i: 8,078,649 msg/sec AtomicQueueB, 5,s: 7,589,640 msg/sec AtomicQueueB, 5,i: 7,800,984 msg/sec AtomicQueueB, 6,s: 7,349,317 msg/sec AtomicQueueB, 6,i: 7,501,233 msg/sec AtomicQueueB, 7,s: 6,873,859 msg/sec AtomicQueueB, 7,i: 7,684,773 msg/sec AtomicQueueB, 8,s: 6,254,061 msg/sec AtomicQueueB, 8,i: 7,176,110 msg/sec OptimistAtomicQueue, 1,s: 700,373,912 msg/sec OptimistAtomicQueue, 1,i: 526,008,835 msg/sec OptimistAtomicQueue, 2,s: 32,147,969 msg/sec OptimistAtomicQueue, 2,i: 32,327,308 msg/sec OptimistAtomicQueue, 3,s: 36,665,871 msg/sec OptimistAtomicQueue, 3,i: 37,333,988 msg/sec OptimistAtomicQueue, 4,s: 39,276,415 msg/sec OptimistAtomicQueue, 4,i: 39,320,202 msg/sec OptimistAtomicQueue, 5,s: 42,544,522 msg/sec OptimistAtomicQueue, 5,i: 46,195,712 msg/sec OptimistAtomicQueue, 6,s: 42,391,334 msg/sec OptimistAtomicQueue, 6,i: 50,515,125 msg/sec OptimistAtomicQueue, 7,s: 44,239,345 msg/sec OptimistAtomicQueue, 7,i: 48,660,586 msg/sec OptimistAtomicQueue, 8,s: 46,264,341 msg/sec OptimistAtomicQueue, 8,i: 49,168,243 msg/sec OptimistAtomicQueueB, 1,s: 77,643,558 msg/sec OptimistAtomicQueueB, 1,i: 76,634,787 msg/sec OptimistAtomicQueueB, 2,s: 32,214,590 msg/sec OptimistAtomicQueueB, 2,i: 32,115,517 msg/sec OptimistAtomicQueueB, 3,s: 36,221,599 msg/sec OptimistAtomicQueueB, 3,i: 36,868,941 msg/sec OptimistAtomicQueueB, 4,s: 38,716,516 msg/sec OptimistAtomicQueueB, 4,i: 38,706,223 msg/sec OptimistAtomicQueueB, 5,s: 40,420,592 msg/sec OptimistAtomicQueueB, 5,i: 46,228,579 msg/sec OptimistAtomicQueueB, 6,s: 41,191,693 msg/sec OptimistAtomicQueueB, 6,i: 48,599,751 msg/sec OptimistAtomicQueueB, 7,s: 41,991,649 msg/sec OptimistAtomicQueueB, 7,i: 47,908,507 msg/sec OptimistAtomicQueueB, 8,s: 44,409,413 msg/sec OptimistAtomicQueueB, 8,i: 48,658,921 msg/sec AtomicQueue2, 1,s: 22,844,193 msg/sec AtomicQueue2, 1,i: 22,853,422 msg/sec AtomicQueue2, 2,s: 12,002,422 msg/sec AtomicQueue2, 2,i: 11,596,161 msg/sec AtomicQueue2, 3,s: 9,516,403 msg/sec AtomicQueue2, 3,i: 9,506,877 msg/sec AtomicQueue2, 4,s: 8,116,994 msg/sec AtomicQueue2, 4,i: 8,061,531 msg/sec AtomicQueue2, 5,s: 7,940,614 msg/sec AtomicQueue2, 5,i: 8,025,607 msg/sec AtomicQueue2, 6,s: 7,620,069 msg/sec AtomicQueue2, 6,i: 7,571,690 msg/sec AtomicQueue2, 7,s: 7,162,440 msg/sec AtomicQueue2, 7,i: 7,886,043 msg/sec AtomicQueue2, 8,s: 6,385,826 msg/sec AtomicQueue2, 8,i: 7,362,711 msg/sec AtomicQueueB2, 1,s: 36,255,032 msg/sec AtomicQueueB2, 1,i: 32,645,487 msg/sec AtomicQueueB2, 2,s: 11,393,224 msg/sec AtomicQueueB2, 2,i: 11,167,088 msg/sec AtomicQueueB2, 3,s: 9,714,828 msg/sec AtomicQueueB2, 3,i: 9,606,925 msg/sec AtomicQueueB2, 4,s: 7,904,266 msg/sec AtomicQueueB2, 4,i: 7,944,234 msg/sec AtomicQueueB2, 5,s: 7,456,361 msg/sec AtomicQueueB2, 5,i: 7,560,247 msg/sec AtomicQueueB2, 6,s: 7,342,052 msg/sec AtomicQueueB2, 6,i: 7,409,191 msg/sec AtomicQueueB2, 7,s: 6,924,427 msg/sec AtomicQueueB2, 7,i: 7,703,164 msg/sec AtomicQueueB2, 8,s: 6,283,699 msg/sec AtomicQueueB2, 8,i: 7,089,248 msg/sec OptimistAtomicQueue2, 1,s: 457,238,903 msg/sec OptimistAtomicQueue2, 1,i: 148,684,082 msg/sec OptimistAtomicQueue2, 2,s: 25,417,970 msg/sec OptimistAtomicQueue2, 2,i: 24,014,434 msg/sec OptimistAtomicQueue2, 3,s: 30,312,468 msg/sec OptimistAtomicQueue2, 3,i: 29,933,817 msg/sec OptimistAtomicQueue2, 4,s: 33,225,530 msg/sec OptimistAtomicQueue2, 4,i: 33,404,443 msg/sec OptimistAtomicQueue2, 5,s: 37,165,471 msg/sec OptimistAtomicQueue2, 5,i: 41,377,731 msg/sec OptimistAtomicQueue2, 6,s: 39,985,954 msg/sec OptimistAtomicQueue2, 6,i: 49,166,861 msg/sec OptimistAtomicQueue2, 7,s: 43,030,094 msg/sec OptimistAtomicQueue2, 7,i: 48,192,855 msg/sec OptimistAtomicQueue2, 8,s: 43,987,852 msg/sec OptimistAtomicQueue2, 8,i: 48,408,801 msg/sec OptimistAtomicQueueB2, 1,s: 76,027,788 msg/sec OptimistAtomicQueueB2, 1,i: 76,154,666 msg/sec OptimistAtomicQueueB2, 2,s: 26,890,354 msg/sec OptimistAtomicQueueB2, 2,i: 23,143,855 msg/sec OptimistAtomicQueueB2, 3,s: 29,676,630 msg/sec OptimistAtomicQueueB2, 3,i: 29,107,026 msg/sec OptimistAtomicQueueB2, 4,s: 33,045,744 msg/sec OptimistAtomicQueueB2, 4,i: 32,279,098 msg/sec OptimistAtomicQueueB2, 5,s: 34,523,301 msg/sec OptimistAtomicQueueB2, 5,i: 38,977,702 msg/sec OptimistAtomicQueueB2, 6,s: 37,013,499 msg/sec OptimistAtomicQueueB2, 6,i: 42,241,051 msg/sec OptimistAtomicQueueB2, 7,s: 40,872,432 msg/sec OptimistAtomicQueueB2, 7,i: 43,283,159 msg/sec OptimistAtomicQueueB2, 8,s: 42,208,414 msg/sec OptimistAtomicQueueB2, 8,i: 45,594,450 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000296 sec/round-trip std::mutex: 0.000000468 sec/round-trip tbb::spin_mutex: 0.000000273 sec/round-trip tbb::concurrent_bounded_queue: 0.000000282 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000260 sec/round-trip xenium::vyukov_bounded_queue: 0.000000187 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [306] 77m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,342,667 msg/sec boost::lockfree::spsc_queue, 1,i: 71,101,629 msg/sec boost::lockfree::queue, 1,s: 6,876,303 msg/sec boost::lockfree::queue, 1,i: 6,839,329 msg/sec boost::lockfree::queue, 2,s: 7,498,348 msg/sec boost::lockfree::queue, 2,i: 7,528,865 msg/sec boost::lockfree::queue, 3,s: 7,358,757 msg/sec boost::lockfree::queue, 3,i: 7,570,039 msg/sec boost::lockfree::queue, 4,s: 6,423,325 msg/sec boost::lockfree::queue, 4,i: 6,850,450 msg/sec boost::lockfree::queue, 5,s: 6,468,355 msg/sec boost::lockfree::queue, 5,i: 6,457,952 msg/sec boost::lockfree::queue, 6,s: 5,986,064 msg/sec boost::lockfree::queue, 6,i: 6,192,533 msg/sec boost::lockfree::queue, 7,s: 5,935,825 msg/sec boost::lockfree::queue, 7,i: 5,944,666 msg/sec boost::lockfree::queue, 8,s: 5,498,310 msg/sec boost::lockfree::queue, 8,i: 5,586,116 msg/sec moodycamel::ReaderWriterQueue, 1,s: 397,460,940 msg/sec moodycamel::ReaderWriterQueue, 1,i: 299,944,352 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,195,206 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,977,933 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,626,743 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,425,009 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,698,112 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,216,900 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,690,036 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,486,750 msg/sec moodycamel::ConcurrentQueue, 5,s: 30,325,597 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,419,865 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,225,330 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,478,391 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,050,971 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,935,873 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,285,960 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,450,191 msg/sec pthread_spinlock, 1,s: 29,091,987 msg/sec pthread_spinlock, 1,i: 25,311,591 msg/sec pthread_spinlock, 2,s: 15,633,849 msg/sec pthread_spinlock, 2,i: 16,983,822 msg/sec pthread_spinlock, 3,s: 8,433,713 msg/sec pthread_spinlock, 3,i: 12,043,395 msg/sec pthread_spinlock, 4,s: 6,496,374 msg/sec pthread_spinlock, 4,i: 8,984,199 msg/sec pthread_spinlock, 5,s: 8,594,891 msg/sec pthread_spinlock, 5,i: 9,159,608 msg/sec pthread_spinlock, 6,s: 8,604,626 msg/sec pthread_spinlock, 6,i: 8,940,544 msg/sec pthread_spinlock, 7,s: 7,485,383 msg/sec pthread_spinlock, 7,i: 8,015,417 msg/sec pthread_spinlock, 8,s: 6,762,829 msg/sec pthread_spinlock, 8,i: 7,470,538 msg/sec std::mutex, 1,s: 6,568,054 msg/sec std::mutex, 1,i: 7,229,291 msg/sec std::mutex, 2,s: 6,111,353 msg/sec std::mutex, 2,i: 5,509,685 msg/sec std::mutex, 3,s: 4,681,206 msg/sec std::mutex, 3,i: 6,338,531 msg/sec std::mutex, 4,s: 6,330,161 msg/sec std::mutex, 4,i: 6,399,578 msg/sec std::mutex, 5,s: 6,163,313 msg/sec std::mutex, 5,i: 6,156,315 msg/sec std::mutex, 6,s: 6,110,115 msg/sec std::mutex, 6,i: 6,045,230 msg/sec std::mutex, 7,s: 5,962,504 msg/sec std::mutex, 7,i: 5,972,587 msg/sec std::mutex, 8,s: 5,767,278 msg/sec std::mutex, 8,i: 5,805,104 msg/sec tbb::spin_mutex, 1,s: 38,182,793 msg/sec tbb::spin_mutex, 1,i: 33,323,026 msg/sec tbb::spin_mutex, 2,s: 21,209,555 msg/sec tbb::spin_mutex, 2,i: 18,345,761 msg/sec tbb::spin_mutex, 3,s: 8,357,939 msg/sec tbb::spin_mutex, 3,i: 10,297,477 msg/sec tbb::spin_mutex, 4,s: 3,195,475 msg/sec tbb::spin_mutex, 4,i: 6,367,626 msg/sec tbb::spin_mutex, 5,s: 5,272,112 msg/sec tbb::spin_mutex, 5,i: 5,779,596 msg/sec tbb::spin_mutex, 6,s: 5,318,770 msg/sec tbb::spin_mutex, 6,i: 4,306,758 msg/sec tbb::spin_mutex, 7,s: 4,849,167 msg/sec tbb::spin_mutex, 7,i: 4,328,837 msg/sec tbb::spin_mutex, 8,s: 4,254,762 msg/sec tbb::spin_mutex, 8,i: 4,074,755 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,327,009 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,319,531 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,936,095 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,799,398 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,386,354 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,834,872 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,981,906 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,327,771 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,768,587 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,607,738 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,896,868 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,735,920 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,856,176 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,137,297 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,933,266 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,459,365 msg/sec xenium::michael_scott_queue, 1,s: 9,326,282 msg/sec xenium::michael_scott_queue, 1,i: 9,231,226 msg/sec xenium::michael_scott_queue, 2,s: 8,556,587 msg/sec xenium::michael_scott_queue, 2,i: 8,544,754 msg/sec xenium::michael_scott_queue, 3,s: 7,301,796 msg/sec xenium::michael_scott_queue, 3,i: 7,547,857 msg/sec xenium::michael_scott_queue, 4,s: 6,411,366 msg/sec xenium::michael_scott_queue, 4,i: 6,293,430 msg/sec xenium::michael_scott_queue, 5,s: 6,299,742 msg/sec xenium::michael_scott_queue, 5,i: 6,650,287 msg/sec xenium::michael_scott_queue, 6,s: 6,504,757 msg/sec xenium::michael_scott_queue, 6,i: 7,080,599 msg/sec xenium::michael_scott_queue, 7,s: 6,272,594 msg/sec xenium::michael_scott_queue, 7,i: 6,487,312 msg/sec xenium::michael_scott_queue, 8,s: 6,006,463 msg/sec xenium::michael_scott_queue, 8,i: 6,054,607 msg/sec xenium::ramalhete_queue, 1,s: 31,903,726 msg/sec xenium::ramalhete_queue, 1,i: 32,002,826 msg/sec xenium::ramalhete_queue, 2,s: 24,310,560 msg/sec xenium::ramalhete_queue, 2,i: 23,328,692 msg/sec xenium::ramalhete_queue, 3,s: 29,246,323 msg/sec xenium::ramalhete_queue, 3,i: 28,517,568 msg/sec xenium::ramalhete_queue, 4,s: 33,838,020 msg/sec xenium::ramalhete_queue, 4,i: 33,502,656 msg/sec xenium::ramalhete_queue, 5,s: 32,094,269 msg/sec xenium::ramalhete_queue, 5,i: 36,495,953 msg/sec xenium::ramalhete_queue, 6,s: 33,961,318 msg/sec xenium::ramalhete_queue, 6,i: 38,838,552 msg/sec xenium::ramalhete_queue, 7,s: 34,894,467 msg/sec xenium::ramalhete_queue, 7,i: 41,023,505 msg/sec xenium::ramalhete_queue, 8,s: 35,363,732 msg/sec xenium::ramalhete_queue, 8,i: 43,788,077 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,734,426 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,000,328 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,828,758 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,345,021 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,567,004 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,177,058 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,583,386 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,138,895 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,244,889 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,352,488 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,974,644 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,148,601 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,222,559 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,271,822 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,421,400 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,205,918 msg/sec AtomicQueue, 1,s: 58,104,531 msg/sec AtomicQueue, 1,i: 57,187,735 msg/sec AtomicQueue, 2,s: 12,332,320 msg/sec AtomicQueue, 2,i: 11,750,296 msg/sec AtomicQueue, 3,s: 10,834,316 msg/sec AtomicQueue, 3,i: 9,940,810 msg/sec AtomicQueue, 4,s: 8,158,435 msg/sec AtomicQueue, 4,i: 8,203,046 msg/sec AtomicQueue, 5,s: 8,002,663 msg/sec AtomicQueue, 5,i: 8,086,822 msg/sec AtomicQueue, 6,s: 7,724,029 msg/sec AtomicQueue, 6,i: 7,602,022 msg/sec AtomicQueue, 7,s: 7,112,674 msg/sec AtomicQueue, 7,i: 7,993,328 msg/sec AtomicQueue, 8,s: 6,357,352 msg/sec AtomicQueue, 8,i: 7,443,244 msg/sec AtomicQueueB, 1,s: 44,829,360 msg/sec AtomicQueueB, 1,i: 42,965,775 msg/sec AtomicQueueB, 2,s: 11,794,464 msg/sec AtomicQueueB, 2,i: 11,522,329 msg/sec AtomicQueueB, 3,s: 11,021,345 msg/sec AtomicQueueB, 3,i: 10,170,921 msg/sec AtomicQueueB, 4,s: 8,087,111 msg/sec AtomicQueueB, 4,i: 7,949,569 msg/sec AtomicQueueB, 5,s: 7,626,584 msg/sec AtomicQueueB, 5,i: 7,823,435 msg/sec AtomicQueueB, 6,s: 7,430,776 msg/sec AtomicQueueB, 6,i: 7,559,316 msg/sec AtomicQueueB, 7,s: 6,908,229 msg/sec AtomicQueueB, 7,i: 7,718,222 msg/sec AtomicQueueB, 8,s: 6,250,900 msg/sec AtomicQueueB, 8,i: 7,171,660 msg/sec OptimistAtomicQueue, 1,s: 784,991,126 msg/sec OptimistAtomicQueue, 1,i: 603,724,922 msg/sec OptimistAtomicQueue, 2,s: 32,643,355 msg/sec OptimistAtomicQueue, 2,i: 32,729,413 msg/sec OptimistAtomicQueue, 3,s: 36,694,724 msg/sec OptimistAtomicQueue, 3,i: 37,391,272 msg/sec OptimistAtomicQueue, 4,s: 39,287,690 msg/sec OptimistAtomicQueue, 4,i: 39,379,892 msg/sec OptimistAtomicQueue, 5,s: 41,788,895 msg/sec OptimistAtomicQueue, 5,i: 46,183,056 msg/sec OptimistAtomicQueue, 6,s: 42,868,859 msg/sec OptimistAtomicQueue, 6,i: 50,340,815 msg/sec OptimistAtomicQueue, 7,s: 44,277,104 msg/sec OptimistAtomicQueue, 7,i: 52,882,403 msg/sec OptimistAtomicQueue, 8,s: 46,421,679 msg/sec OptimistAtomicQueue, 8,i: 49,618,372 msg/sec OptimistAtomicQueueB, 1,s: 88,560,600 msg/sec OptimistAtomicQueueB, 1,i: 77,806,378 msg/sec OptimistAtomicQueueB, 2,s: 32,219,471 msg/sec OptimistAtomicQueueB, 2,i: 31,842,637 msg/sec OptimistAtomicQueueB, 3,s: 36,326,947 msg/sec OptimistAtomicQueueB, 3,i: 36,955,283 msg/sec OptimistAtomicQueueB, 4,s: 38,627,003 msg/sec OptimistAtomicQueueB, 4,i: 38,644,664 msg/sec OptimistAtomicQueueB, 5,s: 40,944,787 msg/sec OptimistAtomicQueueB, 5,i: 45,340,089 msg/sec OptimistAtomicQueueB, 6,s: 41,251,795 msg/sec OptimistAtomicQueueB, 6,i: 48,764,098 msg/sec OptimistAtomicQueueB, 7,s: 42,297,783 msg/sec OptimistAtomicQueueB, 7,i: 51,544,588 msg/sec OptimistAtomicQueueB, 8,s: 44,485,775 msg/sec OptimistAtomicQueueB, 8,i: 48,019,442 msg/sec AtomicQueue2, 1,s: 22,873,373 msg/sec AtomicQueue2, 1,i: 22,858,441 msg/sec AtomicQueue2, 2,s: 11,785,286 msg/sec AtomicQueue2, 2,i: 11,388,922 msg/sec AtomicQueue2, 3,s: 9,768,791 msg/sec AtomicQueue2, 3,i: 9,344,431 msg/sec AtomicQueue2, 4,s: 8,082,919 msg/sec AtomicQueue2, 4,i: 8,094,838 msg/sec AtomicQueue2, 5,s: 7,884,528 msg/sec AtomicQueue2, 5,i: 8,048,640 msg/sec AtomicQueue2, 6,s: 7,776,375 msg/sec AtomicQueue2, 6,i: 7,521,680 msg/sec AtomicQueue2, 7,s: 7,160,781 msg/sec AtomicQueue2, 7,i: 7,876,351 msg/sec AtomicQueue2, 8,s: 6,373,423 msg/sec AtomicQueue2, 8,i: 7,343,487 msg/sec AtomicQueueB2, 1,s: 36,277,886 msg/sec AtomicQueueB2, 1,i: 32,652,094 msg/sec AtomicQueueB2, 2,s: 11,309,929 msg/sec AtomicQueueB2, 2,i: 11,119,336 msg/sec AtomicQueueB2, 3,s: 9,567,223 msg/sec AtomicQueueB2, 3,i: 9,440,813 msg/sec AtomicQueueB2, 4,s: 7,974,678 msg/sec AtomicQueueB2, 4,i: 7,841,822 msg/sec AtomicQueueB2, 5,s: 7,506,497 msg/sec AtomicQueueB2, 5,i: 7,731,912 msg/sec AtomicQueueB2, 6,s: 7,176,035 msg/sec AtomicQueueB2, 6,i: 7,428,967 msg/sec AtomicQueueB2, 7,s: 6,887,559 msg/sec AtomicQueueB2, 7,i: 7,712,998 msg/sec AtomicQueueB2, 8,s: 6,278,463 msg/sec AtomicQueueB2, 8,i: 7,081,820 msg/sec OptimistAtomicQueue2, 1,s: 75,159,566 msg/sec OptimistAtomicQueue2, 1,i: 58,934,393 msg/sec OptimistAtomicQueue2, 2,s: 26,179,191 msg/sec OptimistAtomicQueue2, 2,i: 24,009,300 msg/sec OptimistAtomicQueue2, 3,s: 30,325,732 msg/sec OptimistAtomicQueue2, 3,i: 30,134,657 msg/sec OptimistAtomicQueue2, 4,s: 33,230,374 msg/sec OptimistAtomicQueue2, 4,i: 33,269,458 msg/sec OptimistAtomicQueue2, 5,s: 37,234,097 msg/sec OptimistAtomicQueue2, 5,i: 40,137,252 msg/sec OptimistAtomicQueue2, 6,s: 40,165,818 msg/sec OptimistAtomicQueue2, 6,i: 48,855,808 msg/sec OptimistAtomicQueue2, 7,s: 43,299,157 msg/sec OptimistAtomicQueue2, 7,i: 48,140,375 msg/sec OptimistAtomicQueue2, 8,s: 44,083,779 msg/sec OptimistAtomicQueue2, 8,i: 48,579,727 msg/sec OptimistAtomicQueueB2, 1,s: 73,504,663 msg/sec OptimistAtomicQueueB2, 1,i: 33,925,946 msg/sec OptimistAtomicQueueB2, 2,s: 28,321,765 msg/sec OptimistAtomicQueueB2, 2,i: 23,145,462 msg/sec OptimistAtomicQueueB2, 3,s: 29,776,000 msg/sec OptimistAtomicQueueB2, 3,i: 29,130,839 msg/sec OptimistAtomicQueueB2, 4,s: 32,651,456 msg/sec OptimistAtomicQueueB2, 4,i: 32,097,008 msg/sec OptimistAtomicQueueB2, 5,s: 34,731,061 msg/sec OptimistAtomicQueueB2, 5,i: 39,264,806 msg/sec OptimistAtomicQueueB2, 6,s: 37,896,021 msg/sec OptimistAtomicQueueB2, 6,i: 42,234,095 msg/sec OptimistAtomicQueueB2, 7,s: 40,129,575 msg/sec OptimistAtomicQueueB2, 7,i: 45,228,007 msg/sec OptimistAtomicQueueB2, 8,s: 42,276,369 msg/sec OptimistAtomicQueueB2, 8,i: 45,799,294 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000330 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000163 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000451 sec/round-trip tbb::spin_mutex: 0.000000279 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [307] 76m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,493,701 msg/sec boost::lockfree::spsc_queue, 1,i: 66,104,047 msg/sec boost::lockfree::queue, 1,s: 6,892,344 msg/sec boost::lockfree::queue, 1,i: 6,959,253 msg/sec boost::lockfree::queue, 2,s: 7,641,016 msg/sec boost::lockfree::queue, 2,i: 7,524,331 msg/sec boost::lockfree::queue, 3,s: 7,465,802 msg/sec boost::lockfree::queue, 3,i: 7,541,962 msg/sec boost::lockfree::queue, 4,s: 6,423,058 msg/sec boost::lockfree::queue, 4,i: 6,750,433 msg/sec boost::lockfree::queue, 5,s: 6,454,058 msg/sec boost::lockfree::queue, 5,i: 6,481,049 msg/sec boost::lockfree::queue, 6,s: 5,986,988 msg/sec boost::lockfree::queue, 6,i: 6,111,466 msg/sec boost::lockfree::queue, 7,s: 5,838,385 msg/sec boost::lockfree::queue, 7,i: 6,062,426 msg/sec boost::lockfree::queue, 8,s: 5,425,933 msg/sec boost::lockfree::queue, 8,i: 5,702,076 msg/sec moodycamel::ReaderWriterQueue, 1,s: 436,158,974 msg/sec moodycamel::ReaderWriterQueue, 1,i: 436,004,748 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,147,045 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,493,833 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,564,457 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,673,064 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,696,558 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,290,677 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,696,645 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,310,417 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,383,236 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,237,814 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,443,347 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,626,057 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,090,620 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,262,058 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,245,748 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,261,967 msg/sec pthread_spinlock, 1,s: 29,069,932 msg/sec pthread_spinlock, 1,i: 25,451,356 msg/sec pthread_spinlock, 2,s: 16,126,892 msg/sec pthread_spinlock, 2,i: 17,068,811 msg/sec pthread_spinlock, 3,s: 8,328,863 msg/sec pthread_spinlock, 3,i: 12,011,589 msg/sec pthread_spinlock, 4,s: 6,508,102 msg/sec pthread_spinlock, 4,i: 9,136,087 msg/sec pthread_spinlock, 5,s: 8,721,609 msg/sec pthread_spinlock, 5,i: 9,034,893 msg/sec pthread_spinlock, 6,s: 8,304,477 msg/sec pthread_spinlock, 6,i: 8,550,414 msg/sec pthread_spinlock, 7,s: 7,498,039 msg/sec pthread_spinlock, 7,i: 7,625,561 msg/sec pthread_spinlock, 8,s: 6,680,290 msg/sec pthread_spinlock, 8,i: 7,450,903 msg/sec std::mutex, 1,s: 6,912,035 msg/sec std::mutex, 1,i: 6,521,711 msg/sec std::mutex, 2,s: 5,863,377 msg/sec std::mutex, 2,i: 5,738,244 msg/sec std::mutex, 3,s: 5,517,618 msg/sec std::mutex, 3,i: 5,628,388 msg/sec std::mutex, 4,s: 5,820,174 msg/sec std::mutex, 4,i: 5,847,855 msg/sec std::mutex, 5,s: 5,827,591 msg/sec std::mutex, 5,i: 6,106,003 msg/sec std::mutex, 6,s: 5,839,379 msg/sec std::mutex, 6,i: 5,928,166 msg/sec std::mutex, 7,s: 5,822,054 msg/sec std::mutex, 7,i: 5,845,873 msg/sec std::mutex, 8,s: 5,709,669 msg/sec std::mutex, 8,i: 5,689,757 msg/sec tbb::spin_mutex, 1,s: 38,015,926 msg/sec tbb::spin_mutex, 1,i: 32,910,504 msg/sec tbb::spin_mutex, 2,s: 21,179,221 msg/sec tbb::spin_mutex, 2,i: 18,369,705 msg/sec tbb::spin_mutex, 3,s: 9,109,114 msg/sec tbb::spin_mutex, 3,i: 11,156,976 msg/sec tbb::spin_mutex, 4,s: 3,015,500 msg/sec tbb::spin_mutex, 4,i: 6,266,583 msg/sec tbb::spin_mutex, 5,s: 5,472,735 msg/sec tbb::spin_mutex, 5,i: 5,817,038 msg/sec tbb::spin_mutex, 6,s: 5,246,965 msg/sec tbb::spin_mutex, 6,i: 4,310,307 msg/sec tbb::spin_mutex, 7,s: 4,856,322 msg/sec tbb::spin_mutex, 7,i: 4,355,820 msg/sec tbb::spin_mutex, 8,s: 4,228,796 msg/sec tbb::spin_mutex, 8,i: 4,055,142 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,947,835 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,361,063 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,496,905 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,438,074 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,766,267 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,860,965 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,530,473 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,607,348 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,841,969 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,649,204 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,920,542 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,721,868 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,866,592 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,844,537 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,793,585 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,466,699 msg/sec xenium::michael_scott_queue, 1,s: 10,144,846 msg/sec xenium::michael_scott_queue, 1,i: 9,951,054 msg/sec xenium::michael_scott_queue, 2,s: 8,501,075 msg/sec xenium::michael_scott_queue, 2,i: 8,495,267 msg/sec xenium::michael_scott_queue, 3,s: 7,145,247 msg/sec xenium::michael_scott_queue, 3,i: 7,571,796 msg/sec xenium::michael_scott_queue, 4,s: 6,340,637 msg/sec xenium::michael_scott_queue, 4,i: 6,362,445 msg/sec xenium::michael_scott_queue, 5,s: 6,299,039 msg/sec xenium::michael_scott_queue, 5,i: 6,646,569 msg/sec xenium::michael_scott_queue, 6,s: 6,488,326 msg/sec xenium::michael_scott_queue, 6,i: 6,720,160 msg/sec xenium::michael_scott_queue, 7,s: 6,298,642 msg/sec xenium::michael_scott_queue, 7,i: 6,415,122 msg/sec xenium::michael_scott_queue, 8,s: 5,990,455 msg/sec xenium::michael_scott_queue, 8,i: 6,252,609 msg/sec xenium::ramalhete_queue, 1,s: 32,169,112 msg/sec xenium::ramalhete_queue, 1,i: 31,937,203 msg/sec xenium::ramalhete_queue, 2,s: 23,533,696 msg/sec xenium::ramalhete_queue, 2,i: 23,416,480 msg/sec xenium::ramalhete_queue, 3,s: 29,150,897 msg/sec xenium::ramalhete_queue, 3,i: 28,483,224 msg/sec xenium::ramalhete_queue, 4,s: 33,798,839 msg/sec xenium::ramalhete_queue, 4,i: 33,540,742 msg/sec xenium::ramalhete_queue, 5,s: 32,292,027 msg/sec xenium::ramalhete_queue, 5,i: 36,153,652 msg/sec xenium::ramalhete_queue, 6,s: 34,051,052 msg/sec xenium::ramalhete_queue, 6,i: 39,253,293 msg/sec xenium::ramalhete_queue, 7,s: 35,188,249 msg/sec xenium::ramalhete_queue, 7,i: 41,457,833 msg/sec xenium::ramalhete_queue, 8,s: 35,550,862 msg/sec xenium::ramalhete_queue, 8,i: 44,049,554 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,501,279 msg/sec xenium::vyukov_bounded_queue, 1,i: 84,627,499 msg/sec xenium::vyukov_bounded_queue, 2,s: 21,896,542 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,025,410 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,653,606 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,617,631 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,613,502 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,335,254 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,956,983 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,377,013 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,168,167 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,444,577 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,220,580 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,421,370 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,432,304 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,219,273 msg/sec AtomicQueue, 1,s: 60,330,529 msg/sec AtomicQueue, 1,i: 56,508,984 msg/sec AtomicQueue, 2,s: 12,316,302 msg/sec AtomicQueue, 2,i: 11,736,662 msg/sec AtomicQueue, 3,s: 10,773,422 msg/sec AtomicQueue, 3,i: 9,867,323 msg/sec AtomicQueue, 4,s: 8,145,963 msg/sec AtomicQueue, 4,i: 8,221,934 msg/sec AtomicQueue, 5,s: 8,041,899 msg/sec AtomicQueue, 5,i: 8,076,401 msg/sec AtomicQueue, 6,s: 7,796,742 msg/sec AtomicQueue, 6,i: 7,633,479 msg/sec AtomicQueue, 7,s: 7,155,080 msg/sec AtomicQueue, 7,i: 7,940,164 msg/sec AtomicQueue, 8,s: 6,322,962 msg/sec AtomicQueue, 8,i: 7,455,731 msg/sec AtomicQueueB, 1,s: 44,538,460 msg/sec AtomicQueueB, 1,i: 43,090,609 msg/sec AtomicQueueB, 2,s: 11,765,410 msg/sec AtomicQueueB, 2,i: 11,493,527 msg/sec AtomicQueueB, 3,s: 11,048,981 msg/sec AtomicQueueB, 3,i: 10,180,030 msg/sec AtomicQueueB, 4,s: 8,085,376 msg/sec AtomicQueueB, 4,i: 8,020,496 msg/sec AtomicQueueB, 5,s: 7,578,789 msg/sec AtomicQueueB, 5,i: 7,804,694 msg/sec AtomicQueueB, 6,s: 7,285,856 msg/sec AtomicQueueB, 6,i: 7,507,242 msg/sec AtomicQueueB, 7,s: 6,869,647 msg/sec AtomicQueueB, 7,i: 7,812,016 msg/sec AtomicQueueB, 8,s: 6,222,492 msg/sec AtomicQueueB, 8,i: 7,034,459 msg/sec OptimistAtomicQueue, 1,s: 786,335,996 msg/sec OptimistAtomicQueue, 1,i: 518,011,385 msg/sec OptimistAtomicQueue, 2,s: 32,114,788 msg/sec OptimistAtomicQueue, 2,i: 32,185,702 msg/sec OptimistAtomicQueue, 3,s: 36,616,040 msg/sec OptimistAtomicQueue, 3,i: 37,324,951 msg/sec OptimistAtomicQueue, 4,s: 39,297,249 msg/sec OptimistAtomicQueue, 4,i: 39,443,447 msg/sec OptimistAtomicQueue, 5,s: 42,344,731 msg/sec OptimistAtomicQueue, 5,i: 46,261,340 msg/sec OptimistAtomicQueue, 6,s: 42,597,105 msg/sec OptimistAtomicQueue, 6,i: 50,271,650 msg/sec OptimistAtomicQueue, 7,s: 44,152,807 msg/sec OptimistAtomicQueue, 7,i: 53,084,166 msg/sec OptimistAtomicQueue, 8,s: 46,481,383 msg/sec OptimistAtomicQueue, 8,i: 49,296,362 msg/sec OptimistAtomicQueueB, 1,s: 77,791,299 msg/sec OptimistAtomicQueueB, 1,i: 76,351,075 msg/sec OptimistAtomicQueueB, 2,s: 32,181,616 msg/sec OptimistAtomicQueueB, 2,i: 32,385,796 msg/sec OptimistAtomicQueueB, 3,s: 36,271,751 msg/sec OptimistAtomicQueueB, 3,i: 36,989,487 msg/sec OptimistAtomicQueueB, 4,s: 38,706,944 msg/sec OptimistAtomicQueueB, 4,i: 38,603,073 msg/sec OptimistAtomicQueueB, 5,s: 41,066,910 msg/sec OptimistAtomicQueueB, 5,i: 45,401,554 msg/sec OptimistAtomicQueueB, 6,s: 40,857,782 msg/sec OptimistAtomicQueueB, 6,i: 49,181,008 msg/sec OptimistAtomicQueueB, 7,s: 41,640,017 msg/sec OptimistAtomicQueueB, 7,i: 51,478,201 msg/sec OptimistAtomicQueueB, 8,s: 44,291,992 msg/sec OptimistAtomicQueueB, 8,i: 48,044,293 msg/sec AtomicQueue2, 1,s: 22,888,971 msg/sec AtomicQueue2, 1,i: 22,946,628 msg/sec AtomicQueue2, 2,s: 11,848,315 msg/sec AtomicQueue2, 2,i: 11,379,252 msg/sec AtomicQueue2, 3,s: 9,438,555 msg/sec AtomicQueue2, 3,i: 9,323,167 msg/sec AtomicQueue2, 4,s: 8,125,806 msg/sec AtomicQueue2, 4,i: 8,071,936 msg/sec AtomicQueue2, 5,s: 7,946,403 msg/sec AtomicQueue2, 5,i: 8,006,665 msg/sec AtomicQueue2, 6,s: 7,727,603 msg/sec AtomicQueue2, 6,i: 7,515,833 msg/sec AtomicQueue2, 7,s: 7,129,689 msg/sec AtomicQueue2, 7,i: 7,889,211 msg/sec AtomicQueue2, 8,s: 6,371,672 msg/sec AtomicQueue2, 8,i: 7,409,175 msg/sec AtomicQueueB2, 1,s: 35,985,711 msg/sec AtomicQueueB2, 1,i: 32,654,222 msg/sec AtomicQueueB2, 2,s: 11,403,913 msg/sec AtomicQueueB2, 2,i: 11,101,216 msg/sec AtomicQueueB2, 3,s: 9,630,672 msg/sec AtomicQueueB2, 3,i: 9,559,338 msg/sec AtomicQueueB2, 4,s: 7,916,650 msg/sec AtomicQueueB2, 4,i: 7,804,038 msg/sec AtomicQueueB2, 5,s: 7,606,277 msg/sec AtomicQueueB2, 5,i: 7,721,105 msg/sec AtomicQueueB2, 6,s: 7,322,672 msg/sec AtomicQueueB2, 6,i: 7,457,041 msg/sec AtomicQueueB2, 7,s: 6,939,429 msg/sec AtomicQueueB2, 7,i: 7,735,266 msg/sec AtomicQueueB2, 8,s: 6,313,929 msg/sec AtomicQueueB2, 8,i: 7,106,588 msg/sec OptimistAtomicQueue2, 1,s: 548,707,081 msg/sec OptimistAtomicQueue2, 1,i: 31,565,470 msg/sec OptimistAtomicQueue2, 2,s: 25,739,267 msg/sec OptimistAtomicQueue2, 2,i: 28,012,714 msg/sec OptimistAtomicQueue2, 3,s: 30,322,157 msg/sec OptimistAtomicQueue2, 3,i: 29,942,898 msg/sec OptimistAtomicQueue2, 4,s: 33,268,333 msg/sec OptimistAtomicQueue2, 4,i: 33,115,633 msg/sec OptimistAtomicQueue2, 5,s: 36,930,443 msg/sec OptimistAtomicQueue2, 5,i: 40,099,777 msg/sec OptimistAtomicQueue2, 6,s: 40,186,643 msg/sec OptimistAtomicQueue2, 6,i: 49,328,974 msg/sec OptimistAtomicQueue2, 7,s: 42,793,081 msg/sec OptimistAtomicQueue2, 7,i: 51,342,355 msg/sec OptimistAtomicQueue2, 8,s: 43,815,861 msg/sec OptimistAtomicQueue2, 8,i: 48,285,726 msg/sec OptimistAtomicQueueB2, 1,s: 76,348,615 msg/sec OptimistAtomicQueueB2, 1,i: 33,884,120 msg/sec OptimistAtomicQueueB2, 2,s: 27,312,681 msg/sec OptimistAtomicQueueB2, 2,i: 25,437,047 msg/sec OptimistAtomicQueueB2, 3,s: 29,787,602 msg/sec OptimistAtomicQueueB2, 3,i: 29,680,968 msg/sec OptimistAtomicQueueB2, 4,s: 33,532,703 msg/sec OptimistAtomicQueueB2, 4,i: 32,531,946 msg/sec OptimistAtomicQueueB2, 5,s: 34,623,232 msg/sec OptimistAtomicQueueB2, 5,i: 39,303,482 msg/sec OptimistAtomicQueueB2, 6,s: 37,326,286 msg/sec OptimistAtomicQueueB2, 6,i: 42,308,328 msg/sec OptimistAtomicQueueB2, 7,s: 40,856,843 msg/sec OptimistAtomicQueueB2, 7,i: 45,427,384 msg/sec OptimistAtomicQueueB2, 8,s: 42,265,541 msg/sec OptimistAtomicQueueB2, 8,i: 45,788,615 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000152 sec/round-trip moodycamel::ConcurrentQueue: 0.000000222 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000260 sec/round-trip tbb::concurrent_bounded_queue: 0.000000281 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [308] 74m:52s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,630,151 msg/sec boost::lockfree::spsc_queue, 1,i: 73,084,001 msg/sec boost::lockfree::queue, 1,s: 7,656,304 msg/sec boost::lockfree::queue, 1,i: 6,895,002 msg/sec boost::lockfree::queue, 2,s: 7,461,496 msg/sec boost::lockfree::queue, 2,i: 7,502,200 msg/sec boost::lockfree::queue, 3,s: 7,403,360 msg/sec boost::lockfree::queue, 3,i: 7,504,629 msg/sec boost::lockfree::queue, 4,s: 6,408,563 msg/sec boost::lockfree::queue, 4,i: 6,845,993 msg/sec boost::lockfree::queue, 5,s: 6,423,943 msg/sec boost::lockfree::queue, 5,i: 6,512,972 msg/sec boost::lockfree::queue, 6,s: 5,966,413 msg/sec boost::lockfree::queue, 6,i: 6,111,618 msg/sec boost::lockfree::queue, 7,s: 6,023,934 msg/sec boost::lockfree::queue, 7,i: 6,039,060 msg/sec boost::lockfree::queue, 8,s: 5,472,054 msg/sec boost::lockfree::queue, 8,i: 5,618,792 msg/sec moodycamel::ReaderWriterQueue, 1,s: 63,100,709 msg/sec moodycamel::ReaderWriterQueue, 1,i: 51,068,435 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,452,069 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,877,688 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,776,347 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,728,587 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,488,066 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,718,647 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,206,192 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,867,443 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,412,355 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,910,809 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,588,258 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,529,749 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,272,123 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,346,934 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,292,720 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,850,838 msg/sec pthread_spinlock, 1,s: 28,896,335 msg/sec pthread_spinlock, 1,i: 25,305,821 msg/sec pthread_spinlock, 2,s: 15,585,295 msg/sec pthread_spinlock, 2,i: 17,105,222 msg/sec pthread_spinlock, 3,s: 8,360,242 msg/sec pthread_spinlock, 3,i: 12,039,885 msg/sec pthread_spinlock, 4,s: 6,588,518 msg/sec pthread_spinlock, 4,i: 9,248,406 msg/sec pthread_spinlock, 5,s: 8,782,160 msg/sec pthread_spinlock, 5,i: 9,415,402 msg/sec pthread_spinlock, 6,s: 8,360,188 msg/sec pthread_spinlock, 6,i: 8,510,537 msg/sec pthread_spinlock, 7,s: 7,590,507 msg/sec pthread_spinlock, 7,i: 7,893,108 msg/sec pthread_spinlock, 8,s: 6,744,770 msg/sec pthread_spinlock, 8,i: 6,951,119 msg/sec std::mutex, 1,s: 7,021,810 msg/sec std::mutex, 1,i: 6,704,313 msg/sec std::mutex, 2,s: 5,617,408 msg/sec std::mutex, 2,i: 6,532,893 msg/sec std::mutex, 3,s: 6,157,586 msg/sec std::mutex, 3,i: 6,120,319 msg/sec std::mutex, 4,s: 6,257,590 msg/sec std::mutex, 4,i: 6,229,355 msg/sec std::mutex, 5,s: 6,018,103 msg/sec std::mutex, 5,i: 6,112,414 msg/sec std::mutex, 6,s: 5,883,233 msg/sec std::mutex, 6,i: 5,937,277 msg/sec std::mutex, 7,s: 5,738,411 msg/sec std::mutex, 7,i: 5,818,337 msg/sec std::mutex, 8,s: 5,669,010 msg/sec std::mutex, 8,i: 5,705,827 msg/sec tbb::spin_mutex, 1,s: 37,875,117 msg/sec tbb::spin_mutex, 1,i: 32,902,988 msg/sec tbb::spin_mutex, 2,s: 21,205,646 msg/sec tbb::spin_mutex, 2,i: 18,372,848 msg/sec tbb::spin_mutex, 3,s: 8,197,999 msg/sec tbb::spin_mutex, 3,i: 10,985,752 msg/sec tbb::spin_mutex, 4,s: 3,200,585 msg/sec tbb::spin_mutex, 4,i: 6,375,806 msg/sec tbb::spin_mutex, 5,s: 5,489,228 msg/sec tbb::spin_mutex, 5,i: 5,819,958 msg/sec tbb::spin_mutex, 6,s: 5,312,526 msg/sec tbb::spin_mutex, 6,i: 4,396,275 msg/sec tbb::spin_mutex, 7,s: 4,824,623 msg/sec tbb::spin_mutex, 7,i: 4,306,985 msg/sec tbb::spin_mutex, 8,s: 4,247,386 msg/sec tbb::spin_mutex, 8,i: 4,075,511 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,537,285 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,488,571 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,725,825 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,011,133 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,421,852 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,815,536 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,130,900 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,386,686 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,817,078 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,755,482 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,911,592 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,864,851 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,664,723 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,112,672 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,649,109 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,311,513 msg/sec xenium::michael_scott_queue, 1,s: 10,107,269 msg/sec xenium::michael_scott_queue, 1,i: 10,059,845 msg/sec xenium::michael_scott_queue, 2,s: 8,495,350 msg/sec xenium::michael_scott_queue, 2,i: 8,583,309 msg/sec xenium::michael_scott_queue, 3,s: 7,340,420 msg/sec xenium::michael_scott_queue, 3,i: 7,593,108 msg/sec xenium::michael_scott_queue, 4,s: 6,315,425 msg/sec xenium::michael_scott_queue, 4,i: 6,312,491 msg/sec xenium::michael_scott_queue, 5,s: 6,286,166 msg/sec xenium::michael_scott_queue, 5,i: 6,643,460 msg/sec xenium::michael_scott_queue, 6,s: 6,548,728 msg/sec xenium::michael_scott_queue, 6,i: 6,942,013 msg/sec xenium::michael_scott_queue, 7,s: 6,278,140 msg/sec xenium::michael_scott_queue, 7,i: 6,473,917 msg/sec xenium::michael_scott_queue, 8,s: 5,978,713 msg/sec xenium::michael_scott_queue, 8,i: 6,150,062 msg/sec xenium::ramalhete_queue, 1,s: 32,557,950 msg/sec xenium::ramalhete_queue, 1,i: 32,442,453 msg/sec xenium::ramalhete_queue, 2,s: 23,590,745 msg/sec xenium::ramalhete_queue, 2,i: 23,467,622 msg/sec xenium::ramalhete_queue, 3,s: 29,121,185 msg/sec xenium::ramalhete_queue, 3,i: 28,610,275 msg/sec xenium::ramalhete_queue, 4,s: 33,790,487 msg/sec xenium::ramalhete_queue, 4,i: 33,463,595 msg/sec xenium::ramalhete_queue, 5,s: 32,146,089 msg/sec xenium::ramalhete_queue, 5,i: 36,040,966 msg/sec xenium::ramalhete_queue, 6,s: 34,035,507 msg/sec xenium::ramalhete_queue, 6,i: 38,801,445 msg/sec xenium::ramalhete_queue, 7,s: 35,082,207 msg/sec xenium::ramalhete_queue, 7,i: 40,973,269 msg/sec xenium::ramalhete_queue, 8,s: 35,567,943 msg/sec xenium::ramalhete_queue, 8,i: 44,117,764 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,024,525 msg/sec xenium::vyukov_bounded_queue, 1,i: 95,822,647 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,571,177 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,972,745 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,644,927 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,868,474 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,612,453 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,271,767 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,964,623 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,322,546 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,957,837 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,441,313 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,083,652 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,353,389 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,392,922 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,277,446 msg/sec AtomicQueue, 1,s: 60,300,813 msg/sec AtomicQueue, 1,i: 55,753,282 msg/sec AtomicQueue, 2,s: 12,178,559 msg/sec AtomicQueue, 2,i: 11,708,163 msg/sec AtomicQueue, 3,s: 10,737,925 msg/sec AtomicQueue, 3,i: 10,007,704 msg/sec AtomicQueue, 4,s: 8,168,344 msg/sec AtomicQueue, 4,i: 8,163,816 msg/sec AtomicQueue, 5,s: 8,031,321 msg/sec AtomicQueue, 5,i: 8,080,769 msg/sec AtomicQueue, 6,s: 7,876,767 msg/sec AtomicQueue, 6,i: 7,623,353 msg/sec AtomicQueue, 7,s: 7,119,847 msg/sec AtomicQueue, 7,i: 7,970,336 msg/sec AtomicQueue, 8,s: 6,353,069 msg/sec AtomicQueue, 8,i: 7,459,946 msg/sec AtomicQueueB, 1,s: 43,999,222 msg/sec AtomicQueueB, 1,i: 42,989,447 msg/sec AtomicQueueB, 2,s: 11,776,449 msg/sec AtomicQueueB, 2,i: 11,502,005 msg/sec AtomicQueueB, 3,s: 10,927,736 msg/sec AtomicQueueB, 3,i: 10,323,824 msg/sec AtomicQueueB, 4,s: 8,045,242 msg/sec AtomicQueueB, 4,i: 8,035,931 msg/sec AtomicQueueB, 5,s: 7,680,334 msg/sec AtomicQueueB, 5,i: 7,735,282 msg/sec AtomicQueueB, 6,s: 7,173,692 msg/sec AtomicQueueB, 6,i: 7,599,814 msg/sec AtomicQueueB, 7,s: 6,823,013 msg/sec AtomicQueueB, 7,i: 7,747,678 msg/sec AtomicQueueB, 8,s: 6,263,403 msg/sec AtomicQueueB, 8,i: 7,155,975 msg/sec OptimistAtomicQueue, 1,s: 706,509,317 msg/sec OptimistAtomicQueue, 1,i: 527,576,836 msg/sec OptimistAtomicQueue, 2,s: 32,617,648 msg/sec OptimistAtomicQueue, 2,i: 32,624,773 msg/sec OptimistAtomicQueue, 3,s: 36,654,872 msg/sec OptimistAtomicQueue, 3,i: 37,420,795 msg/sec OptimistAtomicQueue, 4,s: 39,274,389 msg/sec OptimistAtomicQueue, 4,i: 39,397,899 msg/sec OptimistAtomicQueue, 5,s: 41,758,227 msg/sec OptimistAtomicQueue, 5,i: 48,347,316 msg/sec OptimistAtomicQueue, 6,s: 42,743,926 msg/sec OptimistAtomicQueue, 6,i: 50,281,777 msg/sec OptimistAtomicQueue, 7,s: 43,953,680 msg/sec OptimistAtomicQueue, 7,i: 52,983,166 msg/sec OptimistAtomicQueue, 8,s: 46,348,356 msg/sec OptimistAtomicQueue, 8,i: 49,439,189 msg/sec OptimistAtomicQueueB, 1,s: 170,240,228 msg/sec OptimistAtomicQueueB, 1,i: 77,690,556 msg/sec OptimistAtomicQueueB, 2,s: 32,177,021 msg/sec OptimistAtomicQueueB, 2,i: 32,142,396 msg/sec OptimistAtomicQueueB, 3,s: 36,140,252 msg/sec OptimistAtomicQueueB, 3,i: 36,895,531 msg/sec OptimistAtomicQueueB, 4,s: 38,664,603 msg/sec OptimistAtomicQueueB, 4,i: 38,416,688 msg/sec OptimistAtomicQueueB, 5,s: 40,471,239 msg/sec OptimistAtomicQueueB, 5,i: 45,322,840 msg/sec OptimistAtomicQueueB, 6,s: 40,807,042 msg/sec OptimistAtomicQueueB, 6,i: 49,019,874 msg/sec OptimistAtomicQueueB, 7,s: 42,164,370 msg/sec OptimistAtomicQueueB, 7,i: 50,750,196 msg/sec OptimistAtomicQueueB, 8,s: 44,130,492 msg/sec OptimistAtomicQueueB, 8,i: 47,892,816 msg/sec AtomicQueue2, 1,s: 22,885,279 msg/sec AtomicQueue2, 1,i: 22,869,552 msg/sec AtomicQueue2, 2,s: 11,704,469 msg/sec AtomicQueue2, 2,i: 11,468,385 msg/sec AtomicQueue2, 3,s: 9,469,677 msg/sec AtomicQueue2, 3,i: 9,365,258 msg/sec AtomicQueue2, 4,s: 8,019,674 msg/sec AtomicQueue2, 4,i: 8,008,416 msg/sec AtomicQueue2, 5,s: 7,910,528 msg/sec AtomicQueue2, 5,i: 8,065,728 msg/sec AtomicQueue2, 6,s: 7,765,477 msg/sec AtomicQueue2, 6,i: 7,503,192 msg/sec AtomicQueue2, 7,s: 7,112,768 msg/sec AtomicQueue2, 7,i: 7,930,746 msg/sec AtomicQueue2, 8,s: 6,384,195 msg/sec AtomicQueue2, 8,i: 7,382,577 msg/sec AtomicQueueB2, 1,s: 36,214,291 msg/sec AtomicQueueB2, 1,i: 32,656,418 msg/sec AtomicQueueB2, 2,s: 11,472,392 msg/sec AtomicQueueB2, 2,i: 11,117,346 msg/sec AtomicQueueB2, 3,s: 9,726,960 msg/sec AtomicQueueB2, 3,i: 9,492,937 msg/sec AtomicQueueB2, 4,s: 7,973,712 msg/sec AtomicQueueB2, 4,i: 7,875,700 msg/sec AtomicQueueB2, 5,s: 7,483,812 msg/sec AtomicQueueB2, 5,i: 7,702,998 msg/sec AtomicQueueB2, 6,s: 7,213,023 msg/sec AtomicQueueB2, 6,i: 7,447,764 msg/sec AtomicQueueB2, 7,s: 6,867,012 msg/sec AtomicQueueB2, 7,i: 7,680,929 msg/sec AtomicQueueB2, 8,s: 6,314,976 msg/sec AtomicQueueB2, 8,i: 7,166,413 msg/sec OptimistAtomicQueue2, 1,s: 32,348,662 msg/sec OptimistAtomicQueue2, 1,i: 29,528,765 msg/sec OptimistAtomicQueue2, 2,s: 23,914,985 msg/sec OptimistAtomicQueue2, 2,i: 24,897,898 msg/sec OptimistAtomicQueue2, 3,s: 30,315,232 msg/sec OptimistAtomicQueue2, 3,i: 29,952,719 msg/sec OptimistAtomicQueue2, 4,s: 33,263,845 msg/sec OptimistAtomicQueue2, 4,i: 33,260,643 msg/sec OptimistAtomicQueue2, 5,s: 37,250,243 msg/sec OptimistAtomicQueue2, 5,i: 40,184,006 msg/sec OptimistAtomicQueue2, 6,s: 40,027,316 msg/sec OptimistAtomicQueue2, 6,i: 49,114,741 msg/sec OptimistAtomicQueue2, 7,s: 43,129,688 msg/sec OptimistAtomicQueue2, 7,i: 48,004,325 msg/sec OptimistAtomicQueue2, 8,s: 43,957,962 msg/sec OptimistAtomicQueue2, 8,i: 48,066,904 msg/sec OptimistAtomicQueueB2, 1,s: 77,019,714 msg/sec OptimistAtomicQueueB2, 1,i: 65,041,604 msg/sec OptimistAtomicQueueB2, 2,s: 28,712,482 msg/sec OptimistAtomicQueueB2, 2,i: 23,209,711 msg/sec OptimistAtomicQueueB2, 3,s: 29,700,836 msg/sec OptimistAtomicQueueB2, 3,i: 29,030,364 msg/sec OptimistAtomicQueueB2, 4,s: 33,129,999 msg/sec OptimistAtomicQueueB2, 4,i: 32,531,198 msg/sec OptimistAtomicQueueB2, 5,s: 34,542,321 msg/sec OptimistAtomicQueueB2, 5,i: 39,331,696 msg/sec OptimistAtomicQueueB2, 6,s: 37,558,726 msg/sec OptimistAtomicQueueB2, 6,i: 42,465,588 msg/sec OptimistAtomicQueueB2, 7,s: 40,778,185 msg/sec OptimistAtomicQueueB2, 7,i: 45,632,941 msg/sec OptimistAtomicQueueB2, 8,s: 42,339,369 msg/sec OptimistAtomicQueueB2, 8,i: 46,114,379 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000327 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000163 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000245 sec/round-trip std::mutex: 0.000000513 sec/round-trip tbb::spin_mutex: 0.000000309 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [309] 73m:33s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,906,179 msg/sec boost::lockfree::spsc_queue, 1,i: 70,090,982 msg/sec boost::lockfree::queue, 1,s: 7,888,476 msg/sec boost::lockfree::queue, 1,i: 7,843,538 msg/sec boost::lockfree::queue, 2,s: 7,487,950 msg/sec boost::lockfree::queue, 2,i: 7,545,767 msg/sec boost::lockfree::queue, 3,s: 7,355,422 msg/sec boost::lockfree::queue, 3,i: 7,583,751 msg/sec boost::lockfree::queue, 4,s: 6,421,644 msg/sec boost::lockfree::queue, 4,i: 6,754,313 msg/sec boost::lockfree::queue, 5,s: 6,401,796 msg/sec boost::lockfree::queue, 5,i: 6,447,571 msg/sec boost::lockfree::queue, 6,s: 5,993,130 msg/sec boost::lockfree::queue, 6,i: 6,116,378 msg/sec boost::lockfree::queue, 7,s: 5,949,826 msg/sec boost::lockfree::queue, 7,i: 6,009,444 msg/sec boost::lockfree::queue, 8,s: 5,436,476 msg/sec boost::lockfree::queue, 8,i: 5,618,881 msg/sec moodycamel::ReaderWriterQueue, 1,s: 418,530,741 msg/sec moodycamel::ReaderWriterQueue, 1,i: 454,978,666 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,516,900 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,881,442 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,494,835 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,389,574 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,921,177 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,455,762 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,198,335 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,077,686 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,164,210 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,813,362 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,463,047 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,658,162 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,018,213 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,105,315 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,324,657 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,457,883 msg/sec pthread_spinlock, 1,s: 28,878,184 msg/sec pthread_spinlock, 1,i: 25,321,687 msg/sec pthread_spinlock, 2,s: 16,041,196 msg/sec pthread_spinlock, 2,i: 16,994,388 msg/sec pthread_spinlock, 3,s: 8,371,559 msg/sec pthread_spinlock, 3,i: 12,015,968 msg/sec pthread_spinlock, 4,s: 6,526,733 msg/sec pthread_spinlock, 4,i: 8,942,402 msg/sec pthread_spinlock, 5,s: 8,465,229 msg/sec pthread_spinlock, 5,i: 9,503,172 msg/sec pthread_spinlock, 6,s: 8,513,726 msg/sec pthread_spinlock, 6,i: 8,295,199 msg/sec pthread_spinlock, 7,s: 7,517,362 msg/sec pthread_spinlock, 7,i: 7,938,995 msg/sec pthread_spinlock, 8,s: 6,906,387 msg/sec pthread_spinlock, 8,i: 7,358,407 msg/sec std::mutex, 1,s: 9,149,990 msg/sec std::mutex, 1,i: 8,951,565 msg/sec std::mutex, 2,s: 5,386,546 msg/sec std::mutex, 2,i: 6,536,006 msg/sec std::mutex, 3,s: 5,462,210 msg/sec std::mutex, 3,i: 6,900,299 msg/sec std::mutex, 4,s: 6,942,307 msg/sec std::mutex, 4,i: 7,100,935 msg/sec std::mutex, 5,s: 6,617,334 msg/sec std::mutex, 5,i: 6,464,616 msg/sec std::mutex, 6,s: 6,546,089 msg/sec std::mutex, 6,i: 6,504,410 msg/sec std::mutex, 7,s: 6,319,113 msg/sec std::mutex, 7,i: 6,304,918 msg/sec std::mutex, 8,s: 6,106,815 msg/sec std::mutex, 8,i: 6,155,144 msg/sec tbb::spin_mutex, 1,s: 37,688,366 msg/sec tbb::spin_mutex, 1,i: 37,894,724 msg/sec tbb::spin_mutex, 2,s: 21,186,805 msg/sec tbb::spin_mutex, 2,i: 18,374,569 msg/sec tbb::spin_mutex, 3,s: 8,895,903 msg/sec tbb::spin_mutex, 3,i: 10,558,883 msg/sec tbb::spin_mutex, 4,s: 3,230,140 msg/sec tbb::spin_mutex, 4,i: 6,385,790 msg/sec tbb::spin_mutex, 5,s: 5,616,371 msg/sec tbb::spin_mutex, 5,i: 5,744,154 msg/sec tbb::spin_mutex, 6,s: 5,306,365 msg/sec tbb::spin_mutex, 6,i: 4,351,987 msg/sec tbb::spin_mutex, 7,s: 4,850,486 msg/sec tbb::spin_mutex, 7,i: 4,346,997 msg/sec tbb::spin_mutex, 8,s: 3,829,627 msg/sec tbb::spin_mutex, 8,i: 4,191,208 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,092,472 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,165,303 msg/sec tbb::concurrent_bounded_queue, 2,s: 15,095,662 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,015,936 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,100,703 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,887,041 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,413,494 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,319,762 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,752,327 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,880,040 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,035,909 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,920,341 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,989,397 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,008,781 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,962,075 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,085,490 msg/sec xenium::michael_scott_queue, 1,s: 10,146,400 msg/sec xenium::michael_scott_queue, 1,i: 9,900,700 msg/sec xenium::michael_scott_queue, 2,s: 8,417,537 msg/sec xenium::michael_scott_queue, 2,i: 8,604,845 msg/sec xenium::michael_scott_queue, 3,s: 7,293,354 msg/sec xenium::michael_scott_queue, 3,i: 7,517,319 msg/sec xenium::michael_scott_queue, 4,s: 6,336,647 msg/sec xenium::michael_scott_queue, 4,i: 6,392,646 msg/sec xenium::michael_scott_queue, 5,s: 6,311,675 msg/sec xenium::michael_scott_queue, 5,i: 6,691,735 msg/sec xenium::michael_scott_queue, 6,s: 6,486,374 msg/sec xenium::michael_scott_queue, 6,i: 6,962,054 msg/sec xenium::michael_scott_queue, 7,s: 6,314,837 msg/sec xenium::michael_scott_queue, 7,i: 6,449,502 msg/sec xenium::michael_scott_queue, 8,s: 6,051,966 msg/sec xenium::michael_scott_queue, 8,i: 6,234,036 msg/sec xenium::ramalhete_queue, 1,s: 31,830,110 msg/sec xenium::ramalhete_queue, 1,i: 31,720,831 msg/sec xenium::ramalhete_queue, 2,s: 23,565,496 msg/sec xenium::ramalhete_queue, 2,i: 23,336,975 msg/sec xenium::ramalhete_queue, 3,s: 29,154,393 msg/sec xenium::ramalhete_queue, 3,i: 28,474,354 msg/sec xenium::ramalhete_queue, 4,s: 33,699,491 msg/sec xenium::ramalhete_queue, 4,i: 33,415,009 msg/sec xenium::ramalhete_queue, 5,s: 32,139,311 msg/sec xenium::ramalhete_queue, 5,i: 36,129,542 msg/sec xenium::ramalhete_queue, 6,s: 34,066,776 msg/sec xenium::ramalhete_queue, 6,i: 39,207,202 msg/sec xenium::ramalhete_queue, 7,s: 35,284,771 msg/sec xenium::ramalhete_queue, 7,i: 41,428,942 msg/sec xenium::ramalhete_queue, 8,s: 35,666,520 msg/sec xenium::ramalhete_queue, 8,i: 43,874,875 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,608,317 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,151,561 msg/sec xenium::vyukov_bounded_queue, 2,s: 17,390,825 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,831,552 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,532,547 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,807,843 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,593,831 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,362,689 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,147,643 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,343,647 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,851,186 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,263,529 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,323,229 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,314,559 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,411,840 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,324,761 msg/sec AtomicQueue, 1,s: 59,588,641 msg/sec AtomicQueue, 1,i: 56,582,524 msg/sec AtomicQueue, 2,s: 12,224,044 msg/sec AtomicQueue, 2,i: 11,734,519 msg/sec AtomicQueue, 3,s: 10,767,995 msg/sec AtomicQueue, 3,i: 9,901,615 msg/sec AtomicQueue, 4,s: 8,186,784 msg/sec AtomicQueue, 4,i: 8,184,808 msg/sec AtomicQueue, 5,s: 8,037,403 msg/sec AtomicQueue, 5,i: 8,086,559 msg/sec AtomicQueue, 6,s: 7,889,133 msg/sec AtomicQueue, 6,i: 7,598,991 msg/sec AtomicQueue, 7,s: 7,165,719 msg/sec AtomicQueue, 7,i: 7,987,140 msg/sec AtomicQueue, 8,s: 6,340,315 msg/sec AtomicQueue, 8,i: 7,447,143 msg/sec AtomicQueueB, 1,s: 49,181,861 msg/sec AtomicQueueB, 1,i: 43,852,406 msg/sec AtomicQueueB, 2,s: 11,759,464 msg/sec AtomicQueueB, 2,i: 11,503,855 msg/sec AtomicQueueB, 3,s: 10,926,157 msg/sec AtomicQueueB, 3,i: 10,131,254 msg/sec AtomicQueueB, 4,s: 8,022,374 msg/sec AtomicQueueB, 4,i: 8,119,651 msg/sec AtomicQueueB, 5,s: 7,648,524 msg/sec AtomicQueueB, 5,i: 7,826,383 msg/sec AtomicQueueB, 6,s: 7,346,487 msg/sec AtomicQueueB, 6,i: 7,526,154 msg/sec AtomicQueueB, 7,s: 6,856,598 msg/sec AtomicQueueB, 7,i: 7,728,398 msg/sec AtomicQueueB, 8,s: 6,198,483 msg/sec AtomicQueueB, 8,i: 7,137,627 msg/sec OptimistAtomicQueue, 1,s: 709,504,163 msg/sec OptimistAtomicQueue, 1,i: 528,183,753 msg/sec OptimistAtomicQueue, 2,s: 32,633,674 msg/sec OptimistAtomicQueue, 2,i: 32,699,432 msg/sec OptimistAtomicQueue, 3,s: 36,665,533 msg/sec OptimistAtomicQueue, 3,i: 37,387,929 msg/sec OptimistAtomicQueue, 4,s: 39,266,022 msg/sec OptimistAtomicQueue, 4,i: 39,410,904 msg/sec OptimistAtomicQueue, 5,s: 41,725,638 msg/sec OptimistAtomicQueue, 5,i: 46,516,395 msg/sec OptimistAtomicQueue, 6,s: 42,206,429 msg/sec OptimistAtomicQueue, 6,i: 50,393,339 msg/sec OptimistAtomicQueue, 7,s: 45,374,175 msg/sec OptimistAtomicQueue, 7,i: 49,514,315 msg/sec OptimistAtomicQueue, 8,s: 46,399,850 msg/sec OptimistAtomicQueue, 8,i: 50,198,677 msg/sec OptimistAtomicQueueB, 1,s: 159,870,536 msg/sec OptimistAtomicQueueB, 1,i: 115,012,960 msg/sec OptimistAtomicQueueB, 2,s: 32,214,740 msg/sec OptimistAtomicQueueB, 2,i: 32,101,311 msg/sec OptimistAtomicQueueB, 3,s: 36,310,843 msg/sec OptimistAtomicQueueB, 3,i: 36,855,737 msg/sec OptimistAtomicQueueB, 4,s: 38,677,370 msg/sec OptimistAtomicQueueB, 4,i: 38,626,396 msg/sec OptimistAtomicQueueB, 5,s: 40,400,651 msg/sec OptimistAtomicQueueB, 5,i: 45,217,032 msg/sec OptimistAtomicQueueB, 6,s: 40,645,495 msg/sec OptimistAtomicQueueB, 6,i: 49,123,591 msg/sec OptimistAtomicQueueB, 7,s: 42,629,311 msg/sec OptimistAtomicQueueB, 7,i: 50,780,438 msg/sec OptimistAtomicQueueB, 8,s: 44,200,390 msg/sec OptimistAtomicQueueB, 8,i: 48,932,099 msg/sec AtomicQueue2, 1,s: 22,887,424 msg/sec AtomicQueue2, 1,i: 22,854,959 msg/sec AtomicQueue2, 2,s: 11,799,347 msg/sec AtomicQueue2, 2,i: 11,434,941 msg/sec AtomicQueue2, 3,s: 9,739,788 msg/sec AtomicQueue2, 3,i: 9,517,726 msg/sec AtomicQueue2, 4,s: 8,055,852 msg/sec AtomicQueue2, 4,i: 8,058,387 msg/sec AtomicQueue2, 5,s: 7,908,596 msg/sec AtomicQueue2, 5,i: 8,021,382 msg/sec AtomicQueue2, 6,s: 7,665,104 msg/sec AtomicQueue2, 6,i: 7,525,913 msg/sec AtomicQueue2, 7,s: 7,116,346 msg/sec AtomicQueue2, 7,i: 7,878,986 msg/sec AtomicQueue2, 8,s: 6,387,756 msg/sec AtomicQueue2, 8,i: 7,256,198 msg/sec AtomicQueueB2, 1,s: 36,013,795 msg/sec AtomicQueueB2, 1,i: 32,619,045 msg/sec AtomicQueueB2, 2,s: 11,486,342 msg/sec AtomicQueueB2, 2,i: 11,055,319 msg/sec AtomicQueueB2, 3,s: 9,583,559 msg/sec AtomicQueueB2, 3,i: 9,527,621 msg/sec AtomicQueueB2, 4,s: 7,992,823 msg/sec AtomicQueueB2, 4,i: 7,860,743 msg/sec AtomicQueueB2, 5,s: 7,460,943 msg/sec AtomicQueueB2, 5,i: 7,723,765 msg/sec AtomicQueueB2, 6,s: 7,310,048 msg/sec AtomicQueueB2, 6,i: 7,457,772 msg/sec AtomicQueueB2, 7,s: 6,901,976 msg/sec AtomicQueueB2, 7,i: 7,700,911 msg/sec AtomicQueueB2, 8,s: 6,273,285 msg/sec AtomicQueueB2, 8,i: 7,093,324 msg/sec OptimistAtomicQueue2, 1,s: 32,636,208 msg/sec OptimistAtomicQueue2, 1,i: 32,176,986 msg/sec OptimistAtomicQueue2, 2,s: 29,493,836 msg/sec OptimistAtomicQueue2, 2,i: 23,284,556 msg/sec OptimistAtomicQueue2, 3,s: 30,449,452 msg/sec OptimistAtomicQueue2, 3,i: 29,947,777 msg/sec OptimistAtomicQueue2, 4,s: 33,295,368 msg/sec OptimistAtomicQueue2, 4,i: 33,151,245 msg/sec OptimistAtomicQueue2, 5,s: 37,195,617 msg/sec OptimistAtomicQueue2, 5,i: 41,221,494 msg/sec OptimistAtomicQueue2, 6,s: 40,122,845 msg/sec OptimistAtomicQueue2, 6,i: 49,327,196 msg/sec OptimistAtomicQueue2, 7,s: 42,704,297 msg/sec OptimistAtomicQueue2, 7,i: 48,261,656 msg/sec OptimistAtomicQueue2, 8,s: 43,927,047 msg/sec OptimistAtomicQueue2, 8,i: 48,798,456 msg/sec OptimistAtomicQueueB2, 1,s: 78,430,163 msg/sec OptimistAtomicQueueB2, 1,i: 62,498,102 msg/sec OptimistAtomicQueueB2, 2,s: 28,827,960 msg/sec OptimistAtomicQueueB2, 2,i: 24,704,123 msg/sec OptimistAtomicQueueB2, 3,s: 31,952,076 msg/sec OptimistAtomicQueueB2, 3,i: 29,906,217 msg/sec OptimistAtomicQueueB2, 4,s: 33,422,331 msg/sec OptimistAtomicQueueB2, 4,i: 32,653,859 msg/sec OptimistAtomicQueueB2, 5,s: 34,725,070 msg/sec OptimistAtomicQueueB2, 5,i: 39,231,628 msg/sec OptimistAtomicQueueB2, 6,s: 37,463,797 msg/sec OptimistAtomicQueueB2, 6,i: 42,145,730 msg/sec OptimistAtomicQueueB2, 7,s: 40,884,230 msg/sec OptimistAtomicQueueB2, 7,i: 45,553,974 msg/sec OptimistAtomicQueueB2, 8,s: 42,294,532 msg/sec OptimistAtomicQueueB2, 8,i: 45,262,511 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000156 sec/round-trip moodycamel::ConcurrentQueue: 0.000000245 sec/round-trip pthread_spinlock: 0.000000294 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000276 sec/round-trip xenium::michael_scott_queue: 0.000000377 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000175 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [310] 72m:15s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,677,596 msg/sec boost::lockfree::spsc_queue, 1,i: 66,490,654 msg/sec boost::lockfree::queue, 1,s: 6,795,554 msg/sec boost::lockfree::queue, 1,i: 6,860,223 msg/sec boost::lockfree::queue, 2,s: 7,691,318 msg/sec boost::lockfree::queue, 2,i: 7,605,409 msg/sec boost::lockfree::queue, 3,s: 7,428,839 msg/sec boost::lockfree::queue, 3,i: 7,538,389 msg/sec boost::lockfree::queue, 4,s: 6,422,779 msg/sec boost::lockfree::queue, 4,i: 6,708,407 msg/sec boost::lockfree::queue, 5,s: 6,406,522 msg/sec boost::lockfree::queue, 5,i: 6,468,627 msg/sec boost::lockfree::queue, 6,s: 6,025,566 msg/sec boost::lockfree::queue, 6,i: 6,076,967 msg/sec boost::lockfree::queue, 7,s: 5,813,732 msg/sec boost::lockfree::queue, 7,i: 6,050,170 msg/sec boost::lockfree::queue, 8,s: 5,473,609 msg/sec boost::lockfree::queue, 8,i: 5,576,383 msg/sec moodycamel::ReaderWriterQueue, 1,s: 74,151,438 msg/sec moodycamel::ReaderWriterQueue, 1,i: 59,079,644 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,967,630 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,186,989 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,697,253 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,635,030 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,184,361 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,631,232 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,220,997 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,306,653 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,333,920 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,786,515 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,545,816 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,334,971 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,992,139 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,104,499 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,080,402 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,863,320 msg/sec pthread_spinlock, 1,s: 28,952,622 msg/sec pthread_spinlock, 1,i: 25,348,432 msg/sec pthread_spinlock, 2,s: 16,331,347 msg/sec pthread_spinlock, 2,i: 18,137,601 msg/sec pthread_spinlock, 3,s: 8,401,994 msg/sec pthread_spinlock, 3,i: 12,041,876 msg/sec pthread_spinlock, 4,s: 6,483,464 msg/sec pthread_spinlock, 4,i: 8,912,011 msg/sec pthread_spinlock, 5,s: 8,642,116 msg/sec pthread_spinlock, 5,i: 9,120,563 msg/sec pthread_spinlock, 6,s: 8,258,272 msg/sec pthread_spinlock, 6,i: 8,543,731 msg/sec pthread_spinlock, 7,s: 7,525,322 msg/sec pthread_spinlock, 7,i: 7,770,771 msg/sec pthread_spinlock, 8,s: 6,599,793 msg/sec pthread_spinlock, 8,i: 7,498,859 msg/sec std::mutex, 1,s: 7,315,459 msg/sec std::mutex, 1,i: 7,704,265 msg/sec std::mutex, 2,s: 5,902,496 msg/sec std::mutex, 2,i: 6,031,899 msg/sec std::mutex, 3,s: 6,091,362 msg/sec std::mutex, 3,i: 6,048,688 msg/sec std::mutex, 4,s: 6,211,709 msg/sec std::mutex, 4,i: 6,168,222 msg/sec std::mutex, 5,s: 5,967,781 msg/sec std::mutex, 5,i: 6,069,215 msg/sec std::mutex, 6,s: 5,839,801 msg/sec std::mutex, 6,i: 5,897,329 msg/sec std::mutex, 7,s: 5,778,936 msg/sec std::mutex, 7,i: 5,791,978 msg/sec std::mutex, 8,s: 5,624,829 msg/sec std::mutex, 8,i: 5,670,635 msg/sec tbb::spin_mutex, 1,s: 37,566,128 msg/sec tbb::spin_mutex, 1,i: 37,831,078 msg/sec tbb::spin_mutex, 2,s: 21,090,084 msg/sec tbb::spin_mutex, 2,i: 18,883,629 msg/sec tbb::spin_mutex, 3,s: 8,560,590 msg/sec tbb::spin_mutex, 3,i: 11,178,718 msg/sec tbb::spin_mutex, 4,s: 3,079,253 msg/sec tbb::spin_mutex, 4,i: 6,418,923 msg/sec tbb::spin_mutex, 5,s: 5,438,171 msg/sec tbb::spin_mutex, 5,i: 5,779,851 msg/sec tbb::spin_mutex, 6,s: 5,346,806 msg/sec tbb::spin_mutex, 6,i: 4,387,293 msg/sec tbb::spin_mutex, 7,s: 4,833,516 msg/sec tbb::spin_mutex, 7,i: 4,273,228 msg/sec tbb::spin_mutex, 8,s: 4,246,806 msg/sec tbb::spin_mutex, 8,i: 4,133,262 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,099,679 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,623,820 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,810,100 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,019,861 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,278,710 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,301,301 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,028,270 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,199,281 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,464,060 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,362,385 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,637,517 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,749,143 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,603,445 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,095,257 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,734,514 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,923,516 msg/sec xenium::michael_scott_queue, 1,s: 9,303,163 msg/sec xenium::michael_scott_queue, 1,i: 9,088,749 msg/sec xenium::michael_scott_queue, 2,s: 8,481,140 msg/sec xenium::michael_scott_queue, 2,i: 8,502,283 msg/sec xenium::michael_scott_queue, 3,s: 7,113,724 msg/sec xenium::michael_scott_queue, 3,i: 7,605,076 msg/sec xenium::michael_scott_queue, 4,s: 6,363,771 msg/sec xenium::michael_scott_queue, 4,i: 6,346,612 msg/sec xenium::michael_scott_queue, 5,s: 6,275,058 msg/sec xenium::michael_scott_queue, 5,i: 6,639,046 msg/sec xenium::michael_scott_queue, 6,s: 6,475,559 msg/sec xenium::michael_scott_queue, 6,i: 6,690,008 msg/sec xenium::michael_scott_queue, 7,s: 6,255,399 msg/sec xenium::michael_scott_queue, 7,i: 6,517,000 msg/sec xenium::michael_scott_queue, 8,s: 5,983,224 msg/sec xenium::michael_scott_queue, 8,i: 6,172,611 msg/sec xenium::ramalhete_queue, 1,s: 32,124,960 msg/sec xenium::ramalhete_queue, 1,i: 32,440,643 msg/sec xenium::ramalhete_queue, 2,s: 24,525,261 msg/sec xenium::ramalhete_queue, 2,i: 23,300,553 msg/sec xenium::ramalhete_queue, 3,s: 29,224,341 msg/sec xenium::ramalhete_queue, 3,i: 28,705,321 msg/sec xenium::ramalhete_queue, 4,s: 33,893,761 msg/sec xenium::ramalhete_queue, 4,i: 33,492,676 msg/sec xenium::ramalhete_queue, 5,s: 32,181,778 msg/sec xenium::ramalhete_queue, 5,i: 36,041,240 msg/sec xenium::ramalhete_queue, 6,s: 34,161,159 msg/sec xenium::ramalhete_queue, 6,i: 38,856,454 msg/sec xenium::ramalhete_queue, 7,s: 35,311,554 msg/sec xenium::ramalhete_queue, 7,i: 41,309,021 msg/sec xenium::ramalhete_queue, 8,s: 35,608,942 msg/sec xenium::ramalhete_queue, 8,i: 44,088,583 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,155,099 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,774,242 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,735,027 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,804,423 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,491,858 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,896,172 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,544,295 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,128,150 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,996,970 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,396,850 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,108,951 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,503,779 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,182,137 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,083,044 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,391,148 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,320,674 msg/sec AtomicQueue, 1,s: 59,074,256 msg/sec AtomicQueue, 1,i: 57,419,512 msg/sec AtomicQueue, 2,s: 12,268,862 msg/sec AtomicQueue, 2,i: 11,715,065 msg/sec AtomicQueue, 3,s: 10,830,004 msg/sec AtomicQueue, 3,i: 9,947,777 msg/sec AtomicQueue, 4,s: 8,161,478 msg/sec AtomicQueue, 4,i: 8,208,571 msg/sec AtomicQueue, 5,s: 8,039,931 msg/sec AtomicQueue, 5,i: 8,070,215 msg/sec AtomicQueue, 6,s: 7,944,012 msg/sec AtomicQueue, 6,i: 7,610,960 msg/sec AtomicQueue, 7,s: 7,064,728 msg/sec AtomicQueue, 7,i: 7,970,631 msg/sec AtomicQueue, 8,s: 6,362,569 msg/sec AtomicQueue, 8,i: 7,445,173 msg/sec AtomicQueueB, 1,s: 44,216,440 msg/sec AtomicQueueB, 1,i: 43,512,773 msg/sec AtomicQueueB, 2,s: 11,751,424 msg/sec AtomicQueueB, 2,i: 11,451,062 msg/sec AtomicQueueB, 3,s: 11,084,204 msg/sec AtomicQueueB, 3,i: 10,283,860 msg/sec AtomicQueueB, 4,s: 8,074,599 msg/sec AtomicQueueB, 4,i: 8,081,875 msg/sec AtomicQueueB, 5,s: 7,517,154 msg/sec AtomicQueueB, 5,i: 7,839,022 msg/sec AtomicQueueB, 6,s: 7,282,966 msg/sec AtomicQueueB, 6,i: 7,609,816 msg/sec AtomicQueueB, 7,s: 6,847,933 msg/sec AtomicQueueB, 7,i: 7,747,056 msg/sec AtomicQueueB, 8,s: 6,209,536 msg/sec AtomicQueueB, 8,i: 7,159,217 msg/sec OptimistAtomicQueue, 1,s: 662,417,918 msg/sec OptimistAtomicQueue, 1,i: 533,358,507 msg/sec OptimistAtomicQueue, 2,s: 32,540,981 msg/sec OptimistAtomicQueue, 2,i: 32,332,802 msg/sec OptimistAtomicQueue, 3,s: 36,652,617 msg/sec OptimistAtomicQueue, 3,i: 37,355,058 msg/sec OptimistAtomicQueue, 4,s: 39,250,154 msg/sec OptimistAtomicQueue, 4,i: 39,370,678 msg/sec OptimistAtomicQueue, 5,s: 42,488,608 msg/sec OptimistAtomicQueue, 5,i: 46,332,825 msg/sec OptimistAtomicQueue, 6,s: 42,772,100 msg/sec OptimistAtomicQueue, 6,i: 50,484,464 msg/sec OptimistAtomicQueue, 7,s: 44,349,368 msg/sec OptimistAtomicQueue, 7,i: 53,077,460 msg/sec OptimistAtomicQueue, 8,s: 46,449,763 msg/sec OptimistAtomicQueue, 8,i: 48,802,912 msg/sec OptimistAtomicQueueB, 1,s: 77,628,935 msg/sec OptimistAtomicQueueB, 1,i: 126,386,802 msg/sec OptimistAtomicQueueB, 2,s: 32,119,853 msg/sec OptimistAtomicQueueB, 2,i: 32,233,720 msg/sec OptimistAtomicQueueB, 3,s: 36,302,677 msg/sec OptimistAtomicQueueB, 3,i: 36,938,234 msg/sec OptimistAtomicQueueB, 4,s: 38,658,069 msg/sec OptimistAtomicQueueB, 4,i: 38,905,937 msg/sec OptimistAtomicQueueB, 5,s: 40,369,264 msg/sec OptimistAtomicQueueB, 5,i: 45,426,307 msg/sec OptimistAtomicQueueB, 6,s: 40,517,760 msg/sec OptimistAtomicQueueB, 6,i: 48,582,818 msg/sec OptimistAtomicQueueB, 7,s: 42,870,330 msg/sec OptimistAtomicQueueB, 7,i: 50,745,798 msg/sec OptimistAtomicQueueB, 8,s: 44,207,960 msg/sec OptimistAtomicQueueB, 8,i: 47,926,735 msg/sec AtomicQueue2, 1,s: 23,223,799 msg/sec AtomicQueue2, 1,i: 23,126,899 msg/sec AtomicQueue2, 2,s: 11,748,625 msg/sec AtomicQueue2, 2,i: 11,306,738 msg/sec AtomicQueue2, 3,s: 9,578,314 msg/sec AtomicQueue2, 3,i: 9,418,903 msg/sec AtomicQueue2, 4,s: 8,093,068 msg/sec AtomicQueue2, 4,i: 8,056,213 msg/sec AtomicQueue2, 5,s: 7,912,619 msg/sec AtomicQueue2, 5,i: 7,999,860 msg/sec AtomicQueue2, 6,s: 7,581,918 msg/sec AtomicQueue2, 6,i: 7,525,567 msg/sec AtomicQueue2, 7,s: 7,172,146 msg/sec AtomicQueue2, 7,i: 7,896,493 msg/sec AtomicQueue2, 8,s: 6,385,619 msg/sec AtomicQueue2, 8,i: 7,249,543 msg/sec AtomicQueueB2, 1,s: 36,028,222 msg/sec AtomicQueueB2, 1,i: 32,587,627 msg/sec AtomicQueueB2, 2,s: 11,488,546 msg/sec AtomicQueueB2, 2,i: 11,200,234 msg/sec AtomicQueueB2, 3,s: 9,733,815 msg/sec AtomicQueueB2, 3,i: 9,522,802 msg/sec AtomicQueueB2, 4,s: 7,852,068 msg/sec AtomicQueueB2, 4,i: 7,800,417 msg/sec AtomicQueueB2, 5,s: 7,341,197 msg/sec AtomicQueueB2, 5,i: 7,726,386 msg/sec AtomicQueueB2, 6,s: 7,246,445 msg/sec AtomicQueueB2, 6,i: 7,441,490 msg/sec AtomicQueueB2, 7,s: 6,810,510 msg/sec AtomicQueueB2, 7,i: 7,695,775 msg/sec AtomicQueueB2, 8,s: 6,263,163 msg/sec AtomicQueueB2, 8,i: 7,106,028 msg/sec OptimistAtomicQueue2, 1,s: 454,386,264 msg/sec OptimistAtomicQueue2, 1,i: 29,559,540 msg/sec OptimistAtomicQueue2, 2,s: 24,276,854 msg/sec OptimistAtomicQueue2, 2,i: 24,021,618 msg/sec OptimistAtomicQueue2, 3,s: 30,469,374 msg/sec OptimistAtomicQueue2, 3,i: 29,974,203 msg/sec OptimistAtomicQueue2, 4,s: 33,232,010 msg/sec OptimistAtomicQueue2, 4,i: 33,774,719 msg/sec OptimistAtomicQueue2, 5,s: 37,822,272 msg/sec OptimistAtomicQueue2, 5,i: 40,048,884 msg/sec OptimistAtomicQueue2, 6,s: 40,168,303 msg/sec OptimistAtomicQueue2, 6,i: 49,248,030 msg/sec OptimistAtomicQueue2, 7,s: 42,589,860 msg/sec OptimistAtomicQueue2, 7,i: 51,427,513 msg/sec OptimistAtomicQueue2, 8,s: 43,835,727 msg/sec OptimistAtomicQueue2, 8,i: 48,998,163 msg/sec OptimistAtomicQueueB2, 1,s: 76,116,559 msg/sec OptimistAtomicQueueB2, 1,i: 33,897,706 msg/sec OptimistAtomicQueueB2, 2,s: 27,247,412 msg/sec OptimistAtomicQueueB2, 2,i: 23,936,213 msg/sec OptimistAtomicQueueB2, 3,s: 30,048,088 msg/sec OptimistAtomicQueueB2, 3,i: 30,064,242 msg/sec OptimistAtomicQueueB2, 4,s: 32,103,504 msg/sec OptimistAtomicQueueB2, 4,i: 32,791,970 msg/sec OptimistAtomicQueueB2, 5,s: 34,344,811 msg/sec OptimistAtomicQueueB2, 5,i: 39,197,865 msg/sec OptimistAtomicQueueB2, 6,s: 37,694,890 msg/sec OptimistAtomicQueueB2, 6,i: 42,250,401 msg/sec OptimistAtomicQueueB2, 7,s: 40,073,290 msg/sec OptimistAtomicQueueB2, 7,i: 45,401,783 msg/sec OptimistAtomicQueueB2, 8,s: 42,470,095 msg/sec OptimistAtomicQueueB2, 8,i: 45,169,836 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000158 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000255 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000265 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000260 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000147 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [311] 70m:56s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,516,732 msg/sec boost::lockfree::spsc_queue, 1,i: 67,118,422 msg/sec boost::lockfree::queue, 1,s: 6,898,146 msg/sec boost::lockfree::queue, 1,i: 6,961,751 msg/sec boost::lockfree::queue, 2,s: 7,612,658 msg/sec boost::lockfree::queue, 2,i: 7,525,825 msg/sec boost::lockfree::queue, 3,s: 7,374,294 msg/sec boost::lockfree::queue, 3,i: 7,547,905 msg/sec boost::lockfree::queue, 4,s: 6,417,562 msg/sec boost::lockfree::queue, 4,i: 6,803,109 msg/sec boost::lockfree::queue, 5,s: 6,391,000 msg/sec boost::lockfree::queue, 5,i: 6,532,390 msg/sec boost::lockfree::queue, 6,s: 5,981,718 msg/sec boost::lockfree::queue, 6,i: 6,148,031 msg/sec boost::lockfree::queue, 7,s: 5,983,280 msg/sec boost::lockfree::queue, 7,i: 6,109,961 msg/sec boost::lockfree::queue, 8,s: 5,374,300 msg/sec boost::lockfree::queue, 8,i: 5,583,317 msg/sec moodycamel::ReaderWriterQueue, 1,s: 402,886,196 msg/sec moodycamel::ReaderWriterQueue, 1,i: 414,710,614 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,934,420 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,682,233 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,270,121 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,525,158 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,948,572 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,009,909 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,200,903 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,024,133 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,491,367 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,270,581 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,485,391 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,272,842 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,075,269 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,185,698 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,343,908 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,228,292 msg/sec pthread_spinlock, 1,s: 29,033,949 msg/sec pthread_spinlock, 1,i: 25,548,028 msg/sec pthread_spinlock, 2,s: 15,655,748 msg/sec pthread_spinlock, 2,i: 17,126,269 msg/sec pthread_spinlock, 3,s: 8,278,926 msg/sec pthread_spinlock, 3,i: 12,168,322 msg/sec pthread_spinlock, 4,s: 6,530,462 msg/sec pthread_spinlock, 4,i: 9,126,390 msg/sec pthread_spinlock, 5,s: 8,663,104 msg/sec pthread_spinlock, 5,i: 9,241,087 msg/sec pthread_spinlock, 6,s: 8,275,417 msg/sec pthread_spinlock, 6,i: 8,598,255 msg/sec pthread_spinlock, 7,s: 7,731,035 msg/sec pthread_spinlock, 7,i: 7,639,131 msg/sec pthread_spinlock, 8,s: 6,802,627 msg/sec pthread_spinlock, 8,i: 7,267,622 msg/sec std::mutex, 1,s: 7,400,328 msg/sec std::mutex, 1,i: 7,646,295 msg/sec std::mutex, 2,s: 5,819,934 msg/sec std::mutex, 2,i: 6,031,103 msg/sec std::mutex, 3,s: 6,042,947 msg/sec std::mutex, 3,i: 5,462,433 msg/sec std::mutex, 4,s: 6,229,714 msg/sec std::mutex, 4,i: 6,181,772 msg/sec std::mutex, 5,s: 6,027,091 msg/sec std::mutex, 5,i: 6,002,853 msg/sec std::mutex, 6,s: 5,882,212 msg/sec std::mutex, 6,i: 5,970,624 msg/sec std::mutex, 7,s: 5,791,314 msg/sec std::mutex, 7,i: 5,780,303 msg/sec std::mutex, 8,s: 5,682,870 msg/sec std::mutex, 8,i: 5,660,167 msg/sec tbb::spin_mutex, 1,s: 37,737,677 msg/sec tbb::spin_mutex, 1,i: 38,014,940 msg/sec tbb::spin_mutex, 2,s: 21,000,398 msg/sec tbb::spin_mutex, 2,i: 18,552,818 msg/sec tbb::spin_mutex, 3,s: 9,002,720 msg/sec tbb::spin_mutex, 3,i: 10,278,216 msg/sec tbb::spin_mutex, 4,s: 3,217,982 msg/sec tbb::spin_mutex, 4,i: 6,308,153 msg/sec tbb::spin_mutex, 5,s: 5,396,271 msg/sec tbb::spin_mutex, 5,i: 5,695,388 msg/sec tbb::spin_mutex, 6,s: 5,330,726 msg/sec tbb::spin_mutex, 6,i: 4,370,522 msg/sec tbb::spin_mutex, 7,s: 4,872,416 msg/sec tbb::spin_mutex, 7,i: 4,332,227 msg/sec tbb::spin_mutex, 8,s: 3,893,657 msg/sec tbb::spin_mutex, 8,i: 4,074,360 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,283,552 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,311,320 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,426,507 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,616,464 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,456,846 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,656,279 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,543,283 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,606,574 msg/sec tbb::concurrent_bounded_queue, 5,s: 10,014,690 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,704,760 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,919,994 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,693,146 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,909,822 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,824,596 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,777,707 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,482,930 msg/sec xenium::michael_scott_queue, 1,s: 10,047,046 msg/sec xenium::michael_scott_queue, 1,i: 9,804,430 msg/sec xenium::michael_scott_queue, 2,s: 8,697,821 msg/sec xenium::michael_scott_queue, 2,i: 8,512,726 msg/sec xenium::michael_scott_queue, 3,s: 7,306,377 msg/sec xenium::michael_scott_queue, 3,i: 7,534,132 msg/sec xenium::michael_scott_queue, 4,s: 6,332,059 msg/sec xenium::michael_scott_queue, 4,i: 6,314,652 msg/sec xenium::michael_scott_queue, 5,s: 6,273,064 msg/sec xenium::michael_scott_queue, 5,i: 6,630,488 msg/sec xenium::michael_scott_queue, 6,s: 6,531,041 msg/sec xenium::michael_scott_queue, 6,i: 6,732,223 msg/sec xenium::michael_scott_queue, 7,s: 6,313,995 msg/sec xenium::michael_scott_queue, 7,i: 6,491,670 msg/sec xenium::michael_scott_queue, 8,s: 6,057,084 msg/sec xenium::michael_scott_queue, 8,i: 6,221,383 msg/sec xenium::ramalhete_queue, 1,s: 32,037,040 msg/sec xenium::ramalhete_queue, 1,i: 31,461,526 msg/sec xenium::ramalhete_queue, 2,s: 23,449,283 msg/sec xenium::ramalhete_queue, 2,i: 23,334,502 msg/sec xenium::ramalhete_queue, 3,s: 29,158,792 msg/sec xenium::ramalhete_queue, 3,i: 28,490,473 msg/sec xenium::ramalhete_queue, 4,s: 33,734,905 msg/sec xenium::ramalhete_queue, 4,i: 33,517,360 msg/sec xenium::ramalhete_queue, 5,s: 32,198,498 msg/sec xenium::ramalhete_queue, 5,i: 38,260,674 msg/sec xenium::ramalhete_queue, 6,s: 34,087,088 msg/sec xenium::ramalhete_queue, 6,i: 38,829,293 msg/sec xenium::ramalhete_queue, 7,s: 35,052,478 msg/sec xenium::ramalhete_queue, 7,i: 41,106,846 msg/sec xenium::ramalhete_queue, 8,s: 35,568,007 msg/sec xenium::ramalhete_queue, 8,i: 44,022,281 msg/sec xenium::vyukov_bounded_queue, 1,s: 104,467,846 msg/sec xenium::vyukov_bounded_queue, 1,i: 61,368,021 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,089,581 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,326,570 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,614,014 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,740,970 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,708,039 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,491,066 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,920,260 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,395,236 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,992,614 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,484,031 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,233,874 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,150,641 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,392,224 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,591,244 msg/sec AtomicQueue, 1,s: 66,513,963 msg/sec AtomicQueue, 1,i: 56,635,488 msg/sec AtomicQueue, 2,s: 12,279,734 msg/sec AtomicQueue, 2,i: 11,725,678 msg/sec AtomicQueue, 3,s: 10,828,912 msg/sec AtomicQueue, 3,i: 9,894,522 msg/sec AtomicQueue, 4,s: 8,146,051 msg/sec AtomicQueue, 4,i: 8,188,753 msg/sec AtomicQueue, 5,s: 8,010,386 msg/sec AtomicQueue, 5,i: 8,137,089 msg/sec AtomicQueue, 6,s: 7,839,321 msg/sec AtomicQueue, 6,i: 7,602,499 msg/sec AtomicQueue, 7,s: 7,165,211 msg/sec AtomicQueue, 7,i: 7,984,200 msg/sec AtomicQueue, 8,s: 6,342,456 msg/sec AtomicQueue, 8,i: 7,462,326 msg/sec AtomicQueueB, 1,s: 43,828,862 msg/sec AtomicQueueB, 1,i: 44,009,715 msg/sec AtomicQueueB, 2,s: 11,909,015 msg/sec AtomicQueueB, 2,i: 11,489,806 msg/sec AtomicQueueB, 3,s: 10,958,104 msg/sec AtomicQueueB, 3,i: 10,210,814 msg/sec AtomicQueueB, 4,s: 8,048,158 msg/sec AtomicQueueB, 4,i: 8,093,797 msg/sec AtomicQueueB, 5,s: 7,628,599 msg/sec AtomicQueueB, 5,i: 7,791,673 msg/sec AtomicQueueB, 6,s: 7,236,184 msg/sec AtomicQueueB, 6,i: 7,519,836 msg/sec AtomicQueueB, 7,s: 6,804,726 msg/sec AtomicQueueB, 7,i: 7,750,385 msg/sec AtomicQueueB, 8,s: 6,210,283 msg/sec AtomicQueueB, 8,i: 7,158,110 msg/sec OptimistAtomicQueue, 1,s: 697,904,158 msg/sec OptimistAtomicQueue, 1,i: 542,491,604 msg/sec OptimistAtomicQueue, 2,s: 32,106,378 msg/sec OptimistAtomicQueue, 2,i: 32,194,164 msg/sec OptimistAtomicQueue, 3,s: 36,658,782 msg/sec OptimistAtomicQueue, 3,i: 37,353,131 msg/sec OptimistAtomicQueue, 4,s: 39,262,269 msg/sec OptimistAtomicQueue, 4,i: 39,362,785 msg/sec OptimistAtomicQueue, 5,s: 42,326,731 msg/sec OptimistAtomicQueue, 5,i: 46,227,433 msg/sec OptimistAtomicQueue, 6,s: 41,950,401 msg/sec OptimistAtomicQueue, 6,i: 49,763,023 msg/sec OptimistAtomicQueue, 7,s: 44,381,550 msg/sec OptimistAtomicQueue, 7,i: 52,157,292 msg/sec OptimistAtomicQueue, 8,s: 46,390,068 msg/sec OptimistAtomicQueue, 8,i: 49,399,763 msg/sec OptimistAtomicQueueB, 1,s: 251,828,622 msg/sec OptimistAtomicQueueB, 1,i: 77,355,209 msg/sec OptimistAtomicQueueB, 2,s: 31,861,823 msg/sec OptimistAtomicQueueB, 2,i: 32,164,640 msg/sec OptimistAtomicQueueB, 3,s: 36,268,786 msg/sec OptimistAtomicQueueB, 3,i: 36,863,951 msg/sec OptimistAtomicQueueB, 4,s: 38,606,567 msg/sec OptimistAtomicQueueB, 4,i: 38,637,000 msg/sec OptimistAtomicQueueB, 5,s: 41,124,453 msg/sec OptimistAtomicQueueB, 5,i: 46,082,827 msg/sec OptimistAtomicQueueB, 6,s: 40,702,201 msg/sec OptimistAtomicQueueB, 6,i: 49,349,289 msg/sec OptimistAtomicQueueB, 7,s: 42,685,775 msg/sec OptimistAtomicQueueB, 7,i: 50,816,428 msg/sec OptimistAtomicQueueB, 8,s: 44,661,570 msg/sec OptimistAtomicQueueB, 8,i: 48,010,382 msg/sec AtomicQueue2, 1,s: 22,873,147 msg/sec AtomicQueue2, 1,i: 23,195,981 msg/sec AtomicQueue2, 2,s: 11,898,694 msg/sec AtomicQueue2, 2,i: 11,429,180 msg/sec AtomicQueue2, 3,s: 9,328,694 msg/sec AtomicQueue2, 3,i: 9,443,059 msg/sec AtomicQueue2, 4,s: 8,116,166 msg/sec AtomicQueue2, 4,i: 8,068,060 msg/sec AtomicQueue2, 5,s: 7,914,897 msg/sec AtomicQueue2, 5,i: 8,047,701 msg/sec AtomicQueue2, 6,s: 7,843,789 msg/sec AtomicQueue2, 6,i: 7,537,578 msg/sec AtomicQueue2, 7,s: 7,111,260 msg/sec AtomicQueue2, 7,i: 7,879,417 msg/sec AtomicQueue2, 8,s: 6,411,995 msg/sec AtomicQueue2, 8,i: 7,330,933 msg/sec AtomicQueueB2, 1,s: 35,890,672 msg/sec AtomicQueueB2, 1,i: 36,288,592 msg/sec AtomicQueueB2, 2,s: 11,428,274 msg/sec AtomicQueueB2, 2,i: 11,150,332 msg/sec AtomicQueueB2, 3,s: 9,588,451 msg/sec AtomicQueueB2, 3,i: 9,499,854 msg/sec AtomicQueueB2, 4,s: 7,964,382 msg/sec AtomicQueueB2, 4,i: 7,846,375 msg/sec AtomicQueueB2, 5,s: 7,511,138 msg/sec AtomicQueueB2, 5,i: 7,709,387 msg/sec AtomicQueueB2, 6,s: 7,211,863 msg/sec AtomicQueueB2, 6,i: 7,500,311 msg/sec AtomicQueueB2, 7,s: 6,859,133 msg/sec AtomicQueueB2, 7,i: 7,724,200 msg/sec AtomicQueueB2, 8,s: 6,267,382 msg/sec AtomicQueueB2, 8,i: 7,095,193 msg/sec OptimistAtomicQueue2, 1,s: 515,254,097 msg/sec OptimistAtomicQueue2, 1,i: 29,455,927 msg/sec OptimistAtomicQueue2, 2,s: 23,345,360 msg/sec OptimistAtomicQueue2, 2,i: 24,557,420 msg/sec OptimistAtomicQueue2, 3,s: 30,312,904 msg/sec OptimistAtomicQueue2, 3,i: 29,944,974 msg/sec OptimistAtomicQueue2, 4,s: 33,430,482 msg/sec OptimistAtomicQueue2, 4,i: 32,920,458 msg/sec OptimistAtomicQueue2, 5,s: 37,197,890 msg/sec OptimistAtomicQueue2, 5,i: 40,424,358 msg/sec OptimistAtomicQueue2, 6,s: 40,458,099 msg/sec OptimistAtomicQueue2, 6,i: 49,288,756 msg/sec OptimistAtomicQueue2, 7,s: 42,671,929 msg/sec OptimistAtomicQueue2, 7,i: 51,516,349 msg/sec OptimistAtomicQueue2, 8,s: 44,081,337 msg/sec OptimistAtomicQueue2, 8,i: 49,466,093 msg/sec OptimistAtomicQueueB2, 1,s: 78,067,751 msg/sec OptimistAtomicQueueB2, 1,i: 33,919,100 msg/sec OptimistAtomicQueueB2, 2,s: 27,186,544 msg/sec OptimistAtomicQueueB2, 2,i: 25,866,328 msg/sec OptimistAtomicQueueB2, 3,s: 29,816,083 msg/sec OptimistAtomicQueueB2, 3,i: 28,976,861 msg/sec OptimistAtomicQueueB2, 4,s: 33,058,630 msg/sec OptimistAtomicQueueB2, 4,i: 32,189,028 msg/sec OptimistAtomicQueueB2, 5,s: 34,371,962 msg/sec OptimistAtomicQueueB2, 5,i: 39,162,184 msg/sec OptimistAtomicQueueB2, 6,s: 37,268,859 msg/sec OptimistAtomicQueueB2, 6,i: 42,363,132 msg/sec OptimistAtomicQueueB2, 7,s: 40,769,501 msg/sec OptimistAtomicQueueB2, 7,i: 43,239,521 msg/sec OptimistAtomicQueueB2, 8,s: 42,327,881 msg/sec OptimistAtomicQueueB2, 8,i: 45,360,737 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000325 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000147 sec/round-trip moodycamel::ConcurrentQueue: 0.000000228 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000271 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000169 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [312] 69m:37s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,211,350 msg/sec boost::lockfree::spsc_queue, 1,i: 67,628,978 msg/sec boost::lockfree::queue, 1,s: 6,876,509 msg/sec boost::lockfree::queue, 1,i: 6,960,467 msg/sec boost::lockfree::queue, 2,s: 7,654,706 msg/sec boost::lockfree::queue, 2,i: 7,440,272 msg/sec boost::lockfree::queue, 3,s: 7,392,037 msg/sec boost::lockfree::queue, 3,i: 7,547,869 msg/sec boost::lockfree::queue, 4,s: 6,428,551 msg/sec boost::lockfree::queue, 4,i: 6,841,084 msg/sec boost::lockfree::queue, 5,s: 6,404,848 msg/sec boost::lockfree::queue, 5,i: 6,473,355 msg/sec boost::lockfree::queue, 6,s: 5,939,322 msg/sec boost::lockfree::queue, 6,i: 6,102,801 msg/sec boost::lockfree::queue, 7,s: 5,840,870 msg/sec boost::lockfree::queue, 7,i: 6,088,175 msg/sec boost::lockfree::queue, 8,s: 5,491,393 msg/sec boost::lockfree::queue, 8,i: 5,683,731 msg/sec moodycamel::ReaderWriterQueue, 1,s: 457,638,361 msg/sec moodycamel::ReaderWriterQueue, 1,i: 455,916,987 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,717,731 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,579,657 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,396,404 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,712,121 msg/sec moodycamel::ConcurrentQueue, 3,s: 41,608,679 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,836,312 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,655,868 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,859,834 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,522,455 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,085,655 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,775,381 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,848,421 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,347,050 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,538,000 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,254,703 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,894,699 msg/sec pthread_spinlock, 1,s: 28,739,666 msg/sec pthread_spinlock, 1,i: 25,385,706 msg/sec pthread_spinlock, 2,s: 15,987,814 msg/sec pthread_spinlock, 2,i: 17,109,138 msg/sec pthread_spinlock, 3,s: 8,343,801 msg/sec pthread_spinlock, 3,i: 12,155,185 msg/sec pthread_spinlock, 4,s: 6,473,870 msg/sec pthread_spinlock, 4,i: 8,800,406 msg/sec pthread_spinlock, 5,s: 8,791,775 msg/sec pthread_spinlock, 5,i: 9,043,777 msg/sec pthread_spinlock, 6,s: 8,305,993 msg/sec pthread_spinlock, 6,i: 8,496,754 msg/sec pthread_spinlock, 7,s: 7,548,864 msg/sec pthread_spinlock, 7,i: 7,472,208 msg/sec pthread_spinlock, 8,s: 6,909,884 msg/sec pthread_spinlock, 8,i: 7,400,010 msg/sec std::mutex, 1,s: 7,219,622 msg/sec std::mutex, 1,i: 6,229,736 msg/sec std::mutex, 2,s: 5,562,725 msg/sec std::mutex, 2,i: 5,497,988 msg/sec std::mutex, 3,s: 5,638,294 msg/sec std::mutex, 3,i: 5,919,926 msg/sec std::mutex, 4,s: 6,191,483 msg/sec std::mutex, 4,i: 6,146,118 msg/sec std::mutex, 5,s: 5,889,692 msg/sec std::mutex, 5,i: 5,700,618 msg/sec std::mutex, 6,s: 5,842,168 msg/sec std::mutex, 6,i: 5,836,317 msg/sec std::mutex, 7,s: 5,656,636 msg/sec std::mutex, 7,i: 5,661,966 msg/sec std::mutex, 8,s: 5,642,490 msg/sec std::mutex, 8,i: 5,625,785 msg/sec tbb::spin_mutex, 1,s: 37,742,516 msg/sec tbb::spin_mutex, 1,i: 37,621,367 msg/sec tbb::spin_mutex, 2,s: 21,079,902 msg/sec tbb::spin_mutex, 2,i: 20,790,070 msg/sec tbb::spin_mutex, 3,s: 8,275,543 msg/sec tbb::spin_mutex, 3,i: 11,158,167 msg/sec tbb::spin_mutex, 4,s: 3,302,241 msg/sec tbb::spin_mutex, 4,i: 6,308,074 msg/sec tbb::spin_mutex, 5,s: 5,496,953 msg/sec tbb::spin_mutex, 5,i: 5,769,027 msg/sec tbb::spin_mutex, 6,s: 5,391,267 msg/sec tbb::spin_mutex, 6,i: 4,404,641 msg/sec tbb::spin_mutex, 7,s: 4,873,985 msg/sec tbb::spin_mutex, 7,i: 4,308,801 msg/sec tbb::spin_mutex, 8,s: 4,259,453 msg/sec tbb::spin_mutex, 8,i: 4,107,205 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,698,332 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,611,211 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,704,349 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,127,063 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,150,583 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,797,003 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,423,087 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,306,501 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,749,271 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,884,380 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,988,486 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,927,978 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,006,572 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,946,344 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,936,103 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,082,494 msg/sec xenium::michael_scott_queue, 1,s: 9,344,530 msg/sec xenium::michael_scott_queue, 1,i: 9,441,324 msg/sec xenium::michael_scott_queue, 2,s: 8,508,838 msg/sec xenium::michael_scott_queue, 2,i: 8,579,326 msg/sec xenium::michael_scott_queue, 3,s: 7,206,951 msg/sec xenium::michael_scott_queue, 3,i: 7,559,754 msg/sec xenium::michael_scott_queue, 4,s: 6,275,496 msg/sec xenium::michael_scott_queue, 4,i: 6,306,652 msg/sec xenium::michael_scott_queue, 5,s: 6,337,066 msg/sec xenium::michael_scott_queue, 5,i: 6,662,840 msg/sec xenium::michael_scott_queue, 6,s: 6,517,718 msg/sec xenium::michael_scott_queue, 6,i: 6,695,363 msg/sec xenium::michael_scott_queue, 7,s: 6,332,570 msg/sec xenium::michael_scott_queue, 7,i: 6,566,810 msg/sec xenium::michael_scott_queue, 8,s: 5,997,068 msg/sec xenium::michael_scott_queue, 8,i: 6,124,482 msg/sec xenium::ramalhete_queue, 1,s: 31,843,085 msg/sec xenium::ramalhete_queue, 1,i: 31,608,195 msg/sec xenium::ramalhete_queue, 2,s: 24,441,571 msg/sec xenium::ramalhete_queue, 2,i: 23,362,349 msg/sec xenium::ramalhete_queue, 3,s: 29,123,732 msg/sec xenium::ramalhete_queue, 3,i: 28,390,583 msg/sec xenium::ramalhete_queue, 4,s: 33,804,275 msg/sec xenium::ramalhete_queue, 4,i: 33,472,716 msg/sec xenium::ramalhete_queue, 5,s: 32,097,734 msg/sec xenium::ramalhete_queue, 5,i: 38,432,187 msg/sec xenium::ramalhete_queue, 6,s: 34,038,195 msg/sec xenium::ramalhete_queue, 6,i: 39,408,002 msg/sec xenium::ramalhete_queue, 7,s: 35,105,089 msg/sec xenium::ramalhete_queue, 7,i: 41,412,252 msg/sec xenium::ramalhete_queue, 8,s: 35,541,609 msg/sec xenium::ramalhete_queue, 8,i: 44,156,237 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,037,311 msg/sec xenium::vyukov_bounded_queue, 1,i: 82,182,119 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,544,621 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,470,754 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,543,582 msg/sec xenium::vyukov_bounded_queue, 3,i: 14,479,182 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,654,151 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,678,227 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,986,062 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,216,653 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,160,319 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,210,459 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,202,303 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,276,160 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,433,591 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,300,498 msg/sec AtomicQueue, 1,s: 60,312,842 msg/sec AtomicQueue, 1,i: 56,951,452 msg/sec AtomicQueue, 2,s: 12,285,018 msg/sec AtomicQueue, 2,i: 11,731,395 msg/sec AtomicQueue, 3,s: 10,780,622 msg/sec AtomicQueue, 3,i: 9,999,902 msg/sec AtomicQueue, 4,s: 8,171,935 msg/sec AtomicQueue, 4,i: 8,219,432 msg/sec AtomicQueue, 5,s: 8,066,760 msg/sec AtomicQueue, 5,i: 8,086,481 msg/sec AtomicQueue, 6,s: 7,828,236 msg/sec AtomicQueue, 6,i: 7,612,864 msg/sec AtomicQueue, 7,s: 7,160,464 msg/sec AtomicQueue, 7,i: 7,987,687 msg/sec AtomicQueue, 8,s: 6,361,300 msg/sec AtomicQueue, 8,i: 7,412,658 msg/sec AtomicQueueB, 1,s: 43,903,658 msg/sec AtomicQueueB, 1,i: 43,775,667 msg/sec AtomicQueueB, 2,s: 11,945,884 msg/sec AtomicQueueB, 2,i: 11,473,309 msg/sec AtomicQueueB, 3,s: 11,029,883 msg/sec AtomicQueueB, 3,i: 10,102,373 msg/sec AtomicQueueB, 4,s: 8,035,786 msg/sec AtomicQueueB, 4,i: 8,109,424 msg/sec AtomicQueueB, 5,s: 7,452,554 msg/sec AtomicQueueB, 5,i: 7,699,072 msg/sec AtomicQueueB, 6,s: 7,303,922 msg/sec AtomicQueueB, 6,i: 7,596,612 msg/sec AtomicQueueB, 7,s: 6,885,726 msg/sec AtomicQueueB, 7,i: 7,720,107 msg/sec AtomicQueueB, 8,s: 6,256,089 msg/sec AtomicQueueB, 8,i: 7,153,366 msg/sec OptimistAtomicQueue, 1,s: 819,463,403 msg/sec OptimistAtomicQueue, 1,i: 604,344,542 msg/sec OptimistAtomicQueue, 2,s: 32,142,816 msg/sec OptimistAtomicQueue, 2,i: 32,202,118 msg/sec OptimistAtomicQueue, 3,s: 36,615,721 msg/sec OptimistAtomicQueue, 3,i: 37,365,444 msg/sec OptimistAtomicQueue, 4,s: 39,296,871 msg/sec OptimistAtomicQueue, 4,i: 39,393,569 msg/sec OptimistAtomicQueue, 5,s: 42,606,187 msg/sec OptimistAtomicQueue, 5,i: 47,356,462 msg/sec OptimistAtomicQueue, 6,s: 42,299,509 msg/sec OptimistAtomicQueue, 6,i: 50,241,290 msg/sec OptimistAtomicQueue, 7,s: 45,196,575 msg/sec OptimistAtomicQueue, 7,i: 49,443,257 msg/sec OptimistAtomicQueue, 8,s: 46,429,055 msg/sec OptimistAtomicQueue, 8,i: 49,339,890 msg/sec OptimistAtomicQueueB, 1,s: 81,399,842 msg/sec OptimistAtomicQueueB, 1,i: 77,700,500 msg/sec OptimistAtomicQueueB, 2,s: 31,664,532 msg/sec OptimistAtomicQueueB, 2,i: 32,277,602 msg/sec OptimistAtomicQueueB, 3,s: 36,220,132 msg/sec OptimistAtomicQueueB, 3,i: 36,943,314 msg/sec OptimistAtomicQueueB, 4,s: 38,657,688 msg/sec OptimistAtomicQueueB, 4,i: 38,575,832 msg/sec OptimistAtomicQueueB, 5,s: 40,415,492 msg/sec OptimistAtomicQueueB, 5,i: 45,540,636 msg/sec OptimistAtomicQueueB, 6,s: 40,499,521 msg/sec OptimistAtomicQueueB, 6,i: 49,218,364 msg/sec OptimistAtomicQueueB, 7,s: 42,497,043 msg/sec OptimistAtomicQueueB, 7,i: 51,528,361 msg/sec OptimistAtomicQueueB, 8,s: 44,331,789 msg/sec OptimistAtomicQueueB, 8,i: 48,050,712 msg/sec AtomicQueue2, 1,s: 22,876,364 msg/sec AtomicQueue2, 1,i: 22,864,091 msg/sec AtomicQueue2, 2,s: 11,985,129 msg/sec AtomicQueue2, 2,i: 11,635,779 msg/sec AtomicQueue2, 3,s: 9,730,766 msg/sec AtomicQueue2, 3,i: 9,398,011 msg/sec AtomicQueue2, 4,s: 8,077,412 msg/sec AtomicQueue2, 4,i: 8,059,480 msg/sec AtomicQueue2, 5,s: 7,946,114 msg/sec AtomicQueue2, 5,i: 8,040,181 msg/sec AtomicQueue2, 6,s: 7,881,933 msg/sec AtomicQueue2, 6,i: 7,520,370 msg/sec AtomicQueue2, 7,s: 7,119,037 msg/sec AtomicQueue2, 7,i: 7,893,860 msg/sec AtomicQueue2, 8,s: 6,396,235 msg/sec AtomicQueue2, 8,i: 7,285,220 msg/sec AtomicQueueB2, 1,s: 38,509,256 msg/sec AtomicQueueB2, 1,i: 36,776,129 msg/sec AtomicQueueB2, 2,s: 11,316,780 msg/sec AtomicQueueB2, 2,i: 11,117,742 msg/sec AtomicQueueB2, 3,s: 9,523,254 msg/sec AtomicQueueB2, 3,i: 9,481,706 msg/sec AtomicQueueB2, 4,s: 7,929,363 msg/sec AtomicQueueB2, 4,i: 7,856,527 msg/sec AtomicQueueB2, 5,s: 7,489,277 msg/sec AtomicQueueB2, 5,i: 7,750,360 msg/sec AtomicQueueB2, 6,s: 7,413,931 msg/sec AtomicQueueB2, 6,i: 7,442,503 msg/sec AtomicQueueB2, 7,s: 6,923,754 msg/sec AtomicQueueB2, 7,i: 7,733,506 msg/sec AtomicQueueB2, 8,s: 6,326,755 msg/sec AtomicQueueB2, 8,i: 7,071,087 msg/sec OptimistAtomicQueue2, 1,s: 418,271,216 msg/sec OptimistAtomicQueue2, 1,i: 457,682,661 msg/sec OptimistAtomicQueue2, 2,s: 23,566,143 msg/sec OptimistAtomicQueue2, 2,i: 25,862,134 msg/sec OptimistAtomicQueue2, 3,s: 30,456,446 msg/sec OptimistAtomicQueue2, 3,i: 29,982,453 msg/sec OptimistAtomicQueue2, 4,s: 33,255,144 msg/sec OptimistAtomicQueue2, 4,i: 33,463,988 msg/sec OptimistAtomicQueue2, 5,s: 36,920,795 msg/sec OptimistAtomicQueue2, 5,i: 40,419,672 msg/sec OptimistAtomicQueue2, 6,s: 40,039,660 msg/sec OptimistAtomicQueue2, 6,i: 49,279,829 msg/sec OptimistAtomicQueue2, 7,s: 42,625,859 msg/sec OptimistAtomicQueue2, 7,i: 47,964,065 msg/sec OptimistAtomicQueue2, 8,s: 43,874,686 msg/sec OptimistAtomicQueue2, 8,i: 48,075,524 msg/sec OptimistAtomicQueueB2, 1,s: 74,611,573 msg/sec OptimistAtomicQueueB2, 1,i: 46,641,890 msg/sec OptimistAtomicQueueB2, 2,s: 27,924,944 msg/sec OptimistAtomicQueueB2, 2,i: 23,189,031 msg/sec OptimistAtomicQueueB2, 3,s: 29,791,577 msg/sec OptimistAtomicQueueB2, 3,i: 29,704,011 msg/sec OptimistAtomicQueueB2, 4,s: 32,970,707 msg/sec OptimistAtomicQueueB2, 4,i: 32,865,196 msg/sec OptimistAtomicQueueB2, 5,s: 34,668,613 msg/sec OptimistAtomicQueueB2, 5,i: 39,645,134 msg/sec OptimistAtomicQueueB2, 6,s: 37,383,175 msg/sec OptimistAtomicQueueB2, 6,i: 42,273,534 msg/sec OptimistAtomicQueueB2, 7,s: 40,816,228 msg/sec OptimistAtomicQueueB2, 7,i: 45,476,601 msg/sec OptimistAtomicQueueB2, 8,s: 42,287,591 msg/sec OptimistAtomicQueueB2, 8,i: 45,848,475 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000246 sec/round-trip pthread_spinlock: 0.000000242 sec/round-trip std::mutex: 0.000000451 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [313] 68m:18s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,653,516 msg/sec boost::lockfree::spsc_queue, 1,i: 67,375,146 msg/sec boost::lockfree::queue, 1,s: 7,987,218 msg/sec boost::lockfree::queue, 1,i: 8,002,286 msg/sec boost::lockfree::queue, 2,s: 7,552,713 msg/sec boost::lockfree::queue, 2,i: 7,468,067 msg/sec boost::lockfree::queue, 3,s: 7,372,126 msg/sec boost::lockfree::queue, 3,i: 7,546,103 msg/sec boost::lockfree::queue, 4,s: 6,426,246 msg/sec boost::lockfree::queue, 4,i: 6,766,406 msg/sec boost::lockfree::queue, 5,s: 6,384,255 msg/sec boost::lockfree::queue, 5,i: 6,467,856 msg/sec boost::lockfree::queue, 6,s: 6,005,442 msg/sec boost::lockfree::queue, 6,i: 6,114,754 msg/sec boost::lockfree::queue, 7,s: 5,898,589 msg/sec boost::lockfree::queue, 7,i: 6,003,232 msg/sec boost::lockfree::queue, 8,s: 5,472,659 msg/sec boost::lockfree::queue, 8,i: 5,589,974 msg/sec moodycamel::ReaderWriterQueue, 1,s: 482,578,144 msg/sec moodycamel::ReaderWriterQueue, 1,i: 116,817,465 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,281,082 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,735,960 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,465,121 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,263,733 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,033,948 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,821,960 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,219,752 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,925,193 msg/sec moodycamel::ConcurrentQueue, 5,s: 30,888,104 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,215,246 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,510,124 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,892,805 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,020,737 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,925,074 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,381,752 msg/sec moodycamel::ConcurrentQueue, 8,i: 33,758,443 msg/sec pthread_spinlock, 1,s: 28,692,592 msg/sec pthread_spinlock, 1,i: 25,361,883 msg/sec pthread_spinlock, 2,s: 15,616,562 msg/sec pthread_spinlock, 2,i: 17,010,061 msg/sec pthread_spinlock, 3,s: 8,348,691 msg/sec pthread_spinlock, 3,i: 12,018,713 msg/sec pthread_spinlock, 4,s: 6,538,319 msg/sec pthread_spinlock, 4,i: 9,011,751 msg/sec pthread_spinlock, 5,s: 8,711,121 msg/sec pthread_spinlock, 5,i: 8,953,897 msg/sec pthread_spinlock, 6,s: 8,294,465 msg/sec pthread_spinlock, 6,i: 8,865,115 msg/sec pthread_spinlock, 7,s: 7,937,758 msg/sec pthread_spinlock, 7,i: 7,677,354 msg/sec pthread_spinlock, 8,s: 6,814,920 msg/sec pthread_spinlock, 8,i: 7,398,079 msg/sec std::mutex, 1,s: 5,803,279 msg/sec std::mutex, 1,i: 7,005,105 msg/sec std::mutex, 2,s: 5,886,621 msg/sec std::mutex, 2,i: 5,966,179 msg/sec std::mutex, 3,s: 5,968,758 msg/sec std::mutex, 3,i: 6,130,808 msg/sec std::mutex, 4,s: 6,181,258 msg/sec std::mutex, 4,i: 6,363,029 msg/sec std::mutex, 5,s: 6,046,532 msg/sec std::mutex, 5,i: 6,017,770 msg/sec std::mutex, 6,s: 5,919,116 msg/sec std::mutex, 6,i: 5,876,862 msg/sec std::mutex, 7,s: 5,890,716 msg/sec std::mutex, 7,i: 5,805,585 msg/sec std::mutex, 8,s: 5,746,642 msg/sec std::mutex, 8,i: 5,710,127 msg/sec tbb::spin_mutex, 1,s: 37,768,476 msg/sec tbb::spin_mutex, 1,i: 32,941,787 msg/sec tbb::spin_mutex, 2,s: 20,993,982 msg/sec tbb::spin_mutex, 2,i: 18,468,497 msg/sec tbb::spin_mutex, 3,s: 7,664,128 msg/sec tbb::spin_mutex, 3,i: 10,120,774 msg/sec tbb::spin_mutex, 4,s: 3,148,258 msg/sec tbb::spin_mutex, 4,i: 6,309,546 msg/sec tbb::spin_mutex, 5,s: 5,472,978 msg/sec tbb::spin_mutex, 5,i: 5,339,191 msg/sec tbb::spin_mutex, 6,s: 5,321,427 msg/sec tbb::spin_mutex, 6,i: 4,320,170 msg/sec tbb::spin_mutex, 7,s: 4,844,182 msg/sec tbb::spin_mutex, 7,i: 4,369,127 msg/sec tbb::spin_mutex, 8,s: 4,253,902 msg/sec tbb::spin_mutex, 8,i: 4,065,123 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,213,995 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,185,736 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,887,525 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,671,990 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,322,451 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,588,559 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,027,189 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,539,762 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,478,860 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,501,779 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,760,404 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,668,264 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,844,999 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,813,177 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,085,743 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,082,176 msg/sec xenium::michael_scott_queue, 1,s: 9,222,903 msg/sec xenium::michael_scott_queue, 1,i: 9,131,299 msg/sec xenium::michael_scott_queue, 2,s: 8,394,581 msg/sec xenium::michael_scott_queue, 2,i: 8,500,221 msg/sec xenium::michael_scott_queue, 3,s: 7,113,639 msg/sec xenium::michael_scott_queue, 3,i: 7,556,445 msg/sec xenium::michael_scott_queue, 4,s: 6,404,797 msg/sec xenium::michael_scott_queue, 4,i: 6,353,716 msg/sec xenium::michael_scott_queue, 5,s: 6,313,368 msg/sec xenium::michael_scott_queue, 5,i: 6,807,283 msg/sec xenium::michael_scott_queue, 6,s: 6,557,202 msg/sec xenium::michael_scott_queue, 6,i: 7,003,396 msg/sec xenium::michael_scott_queue, 7,s: 6,309,449 msg/sec xenium::michael_scott_queue, 7,i: 6,480,235 msg/sec xenium::michael_scott_queue, 8,s: 5,988,230 msg/sec xenium::michael_scott_queue, 8,i: 6,204,344 msg/sec xenium::ramalhete_queue, 1,s: 31,113,210 msg/sec xenium::ramalhete_queue, 1,i: 31,608,351 msg/sec xenium::ramalhete_queue, 2,s: 23,436,003 msg/sec xenium::ramalhete_queue, 2,i: 23,281,639 msg/sec xenium::ramalhete_queue, 3,s: 29,126,909 msg/sec xenium::ramalhete_queue, 3,i: 28,499,945 msg/sec xenium::ramalhete_queue, 4,s: 33,761,762 msg/sec xenium::ramalhete_queue, 4,i: 33,463,313 msg/sec xenium::ramalhete_queue, 5,s: 32,214,458 msg/sec xenium::ramalhete_queue, 5,i: 35,911,077 msg/sec xenium::ramalhete_queue, 6,s: 34,051,337 msg/sec xenium::ramalhete_queue, 6,i: 38,931,937 msg/sec xenium::ramalhete_queue, 7,s: 35,087,139 msg/sec xenium::ramalhete_queue, 7,i: 41,593,940 msg/sec xenium::ramalhete_queue, 8,s: 35,590,460 msg/sec xenium::ramalhete_queue, 8,i: 43,841,276 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,897,272 msg/sec xenium::vyukov_bounded_queue, 1,i: 112,924,557 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,571,347 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,863,944 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,617,235 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,995,488 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,653,110 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,314,963 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,958,731 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,295,016 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,108,913 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,276,334 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,244,133 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,920,430 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,400,995 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,257,547 msg/sec AtomicQueue, 1,s: 62,639,814 msg/sec AtomicQueue, 1,i: 56,909,962 msg/sec AtomicQueue, 2,s: 12,273,054 msg/sec AtomicQueue, 2,i: 11,751,242 msg/sec AtomicQueue, 3,s: 10,815,106 msg/sec AtomicQueue, 3,i: 9,832,320 msg/sec AtomicQueue, 4,s: 8,203,806 msg/sec AtomicQueue, 4,i: 8,239,738 msg/sec AtomicQueue, 5,s: 8,033,159 msg/sec AtomicQueue, 5,i: 8,115,707 msg/sec AtomicQueue, 6,s: 7,670,093 msg/sec AtomicQueue, 6,i: 7,603,505 msg/sec AtomicQueue, 7,s: 7,111,074 msg/sec AtomicQueue, 7,i: 7,991,120 msg/sec AtomicQueue, 8,s: 6,363,736 msg/sec AtomicQueue, 8,i: 7,308,934 msg/sec AtomicQueueB, 1,s: 43,905,608 msg/sec AtomicQueueB, 1,i: 43,019,092 msg/sec AtomicQueueB, 2,s: 11,792,645 msg/sec AtomicQueueB, 2,i: 11,507,250 msg/sec AtomicQueueB, 3,s: 11,014,024 msg/sec AtomicQueueB, 3,i: 10,031,729 msg/sec AtomicQueueB, 4,s: 8,089,461 msg/sec AtomicQueueB, 4,i: 8,039,243 msg/sec AtomicQueueB, 5,s: 7,601,130 msg/sec AtomicQueueB, 5,i: 7,807,256 msg/sec AtomicQueueB, 6,s: 7,321,714 msg/sec AtomicQueueB, 6,i: 7,587,403 msg/sec AtomicQueueB, 7,s: 6,900,695 msg/sec AtomicQueueB, 7,i: 7,731,275 msg/sec AtomicQueueB, 8,s: 6,252,636 msg/sec AtomicQueueB, 8,i: 7,182,519 msg/sec OptimistAtomicQueue, 1,s: 708,482,860 msg/sec OptimistAtomicQueue, 1,i: 589,232,657 msg/sec OptimistAtomicQueue, 2,s: 32,190,945 msg/sec OptimistAtomicQueue, 2,i: 32,197,638 msg/sec OptimistAtomicQueue, 3,s: 36,610,634 msg/sec OptimistAtomicQueue, 3,i: 37,348,739 msg/sec OptimistAtomicQueue, 4,s: 39,246,626 msg/sec OptimistAtomicQueue, 4,i: 39,400,972 msg/sec OptimistAtomicQueue, 5,s: 41,743,969 msg/sec OptimistAtomicQueue, 5,i: 46,293,221 msg/sec OptimistAtomicQueue, 6,s: 42,489,948 msg/sec OptimistAtomicQueue, 6,i: 50,512,716 msg/sec OptimistAtomicQueue, 7,s: 44,972,460 msg/sec OptimistAtomicQueue, 7,i: 52,035,449 msg/sec OptimistAtomicQueue, 8,s: 46,355,890 msg/sec OptimistAtomicQueue, 8,i: 49,347,539 msg/sec OptimistAtomicQueueB, 1,s: 163,720,871 msg/sec OptimistAtomicQueueB, 1,i: 76,534,558 msg/sec OptimistAtomicQueueB, 2,s: 32,178,411 msg/sec OptimistAtomicQueueB, 2,i: 32,269,543 msg/sec OptimistAtomicQueueB, 3,s: 36,276,141 msg/sec OptimistAtomicQueueB, 3,i: 36,922,503 msg/sec OptimistAtomicQueueB, 4,s: 38,713,700 msg/sec OptimistAtomicQueueB, 4,i: 38,669,050 msg/sec OptimistAtomicQueueB, 5,s: 40,786,784 msg/sec OptimistAtomicQueueB, 5,i: 45,246,731 msg/sec OptimistAtomicQueueB, 6,s: 40,957,007 msg/sec OptimistAtomicQueueB, 6,i: 49,183,559 msg/sec OptimistAtomicQueueB, 7,s: 42,990,299 msg/sec OptimistAtomicQueueB, 7,i: 50,897,982 msg/sec OptimistAtomicQueueB, 8,s: 44,434,775 msg/sec OptimistAtomicQueueB, 8,i: 48,134,168 msg/sec AtomicQueue2, 1,s: 23,488,148 msg/sec AtomicQueue2, 1,i: 23,535,795 msg/sec AtomicQueue2, 2,s: 11,915,983 msg/sec AtomicQueue2, 2,i: 11,607,948 msg/sec AtomicQueue2, 3,s: 9,412,881 msg/sec AtomicQueue2, 3,i: 9,415,936 msg/sec AtomicQueue2, 4,s: 8,060,943 msg/sec AtomicQueue2, 4,i: 8,077,212 msg/sec AtomicQueue2, 5,s: 7,915,705 msg/sec AtomicQueue2, 5,i: 8,053,921 msg/sec AtomicQueue2, 6,s: 7,952,026 msg/sec AtomicQueue2, 6,i: 7,515,267 msg/sec AtomicQueue2, 7,s: 7,101,893 msg/sec AtomicQueue2, 7,i: 7,841,455 msg/sec AtomicQueue2, 8,s: 6,386,776 msg/sec AtomicQueue2, 8,i: 7,301,008 msg/sec AtomicQueueB2, 1,s: 35,844,758 msg/sec AtomicQueueB2, 1,i: 32,624,992 msg/sec AtomicQueueB2, 2,s: 11,419,471 msg/sec AtomicQueueB2, 2,i: 11,108,240 msg/sec AtomicQueueB2, 3,s: 9,702,703 msg/sec AtomicQueueB2, 3,i: 9,495,168 msg/sec AtomicQueueB2, 4,s: 7,964,381 msg/sec AtomicQueueB2, 4,i: 7,757,935 msg/sec AtomicQueueB2, 5,s: 7,548,492 msg/sec AtomicQueueB2, 5,i: 7,701,691 msg/sec AtomicQueueB2, 6,s: 7,354,525 msg/sec AtomicQueueB2, 6,i: 7,421,107 msg/sec AtomicQueueB2, 7,s: 6,984,037 msg/sec AtomicQueueB2, 7,i: 7,692,623 msg/sec AtomicQueueB2, 8,s: 6,276,672 msg/sec AtomicQueueB2, 8,i: 7,077,820 msg/sec OptimistAtomicQueue2, 1,s: 504,097,239 msg/sec OptimistAtomicQueue2, 1,i: 35,386,868 msg/sec OptimistAtomicQueue2, 2,s: 26,138,488 msg/sec OptimistAtomicQueue2, 2,i: 24,012,123 msg/sec OptimistAtomicQueue2, 3,s: 30,431,295 msg/sec OptimistAtomicQueue2, 3,i: 29,998,410 msg/sec OptimistAtomicQueue2, 4,s: 33,227,383 msg/sec OptimistAtomicQueue2, 4,i: 33,066,773 msg/sec OptimistAtomicQueue2, 5,s: 37,396,711 msg/sec OptimistAtomicQueue2, 5,i: 41,084,132 msg/sec OptimistAtomicQueue2, 6,s: 40,222,099 msg/sec OptimistAtomicQueue2, 6,i: 49,269,225 msg/sec OptimistAtomicQueue2, 7,s: 42,784,313 msg/sec OptimistAtomicQueue2, 7,i: 51,517,314 msg/sec OptimistAtomicQueue2, 8,s: 43,911,134 msg/sec OptimistAtomicQueue2, 8,i: 48,394,469 msg/sec OptimistAtomicQueueB2, 1,s: 78,335,537 msg/sec OptimistAtomicQueueB2, 1,i: 33,892,635 msg/sec OptimistAtomicQueueB2, 2,s: 27,862,821 msg/sec OptimistAtomicQueueB2, 2,i: 23,142,484 msg/sec OptimistAtomicQueueB2, 3,s: 29,931,577 msg/sec OptimistAtomicQueueB2, 3,i: 29,248,991 msg/sec OptimistAtomicQueueB2, 4,s: 33,408,464 msg/sec OptimistAtomicQueueB2, 4,i: 32,630,355 msg/sec OptimistAtomicQueueB2, 5,s: 34,500,035 msg/sec OptimistAtomicQueueB2, 5,i: 38,916,820 msg/sec OptimistAtomicQueueB2, 6,s: 37,303,290 msg/sec OptimistAtomicQueueB2, 6,i: 42,346,352 msg/sec OptimistAtomicQueueB2, 7,s: 40,656,311 msg/sec OptimistAtomicQueueB2, 7,i: 45,156,417 msg/sec OptimistAtomicQueueB2, 8,s: 42,280,324 msg/sec OptimistAtomicQueueB2, 8,i: 45,670,233 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000325 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000290 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000305 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [314] 66m:59s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,597,616 msg/sec boost::lockfree::spsc_queue, 1,i: 66,233,147 msg/sec boost::lockfree::queue, 1,s: 6,815,641 msg/sec boost::lockfree::queue, 1,i: 6,934,460 msg/sec boost::lockfree::queue, 2,s: 7,544,790 msg/sec boost::lockfree::queue, 2,i: 7,470,439 msg/sec boost::lockfree::queue, 3,s: 7,326,244 msg/sec boost::lockfree::queue, 3,i: 7,554,025 msg/sec boost::lockfree::queue, 4,s: 6,424,859 msg/sec boost::lockfree::queue, 4,i: 6,825,570 msg/sec boost::lockfree::queue, 5,s: 6,385,309 msg/sec boost::lockfree::queue, 5,i: 6,493,619 msg/sec boost::lockfree::queue, 6,s: 6,012,051 msg/sec boost::lockfree::queue, 6,i: 6,099,840 msg/sec boost::lockfree::queue, 7,s: 6,021,274 msg/sec boost::lockfree::queue, 7,i: 6,058,512 msg/sec boost::lockfree::queue, 8,s: 5,398,887 msg/sec boost::lockfree::queue, 8,i: 5,634,627 msg/sec moodycamel::ReaderWriterQueue, 1,s: 61,429,132 msg/sec moodycamel::ReaderWriterQueue, 1,i: 102,839,395 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,118,729 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,747,110 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,128,776 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,668,277 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,414,037 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,820,867 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,294,916 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,143,592 msg/sec moodycamel::ConcurrentQueue, 5,s: 44,494,772 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,121,694 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,343,670 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,171,539 msg/sec moodycamel::ConcurrentQueue, 7,s: 49,691,434 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,981,669 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,576,413 msg/sec moodycamel::ConcurrentQueue, 8,i: 57,818,173 msg/sec pthread_spinlock, 1,s: 29,015,574 msg/sec pthread_spinlock, 1,i: 25,388,716 msg/sec pthread_spinlock, 2,s: 15,612,116 msg/sec pthread_spinlock, 2,i: 16,862,636 msg/sec pthread_spinlock, 3,s: 8,283,424 msg/sec pthread_spinlock, 3,i: 11,994,706 msg/sec pthread_spinlock, 4,s: 6,521,786 msg/sec pthread_spinlock, 4,i: 9,104,333 msg/sec pthread_spinlock, 5,s: 8,691,059 msg/sec pthread_spinlock, 5,i: 9,085,645 msg/sec pthread_spinlock, 6,s: 8,489,704 msg/sec pthread_spinlock, 6,i: 8,607,756 msg/sec pthread_spinlock, 7,s: 7,584,001 msg/sec pthread_spinlock, 7,i: 7,912,514 msg/sec pthread_spinlock, 8,s: 6,842,845 msg/sec pthread_spinlock, 8,i: 7,561,235 msg/sec std::mutex, 1,s: 6,967,024 msg/sec std::mutex, 1,i: 6,834,557 msg/sec std::mutex, 2,s: 5,106,608 msg/sec std::mutex, 2,i: 5,112,349 msg/sec std::mutex, 3,s: 4,998,030 msg/sec std::mutex, 3,i: 5,554,302 msg/sec std::mutex, 4,s: 6,186,158 msg/sec std::mutex, 4,i: 6,325,044 msg/sec std::mutex, 5,s: 6,130,083 msg/sec std::mutex, 5,i: 6,021,756 msg/sec std::mutex, 6,s: 5,910,312 msg/sec std::mutex, 6,i: 5,899,064 msg/sec std::mutex, 7,s: 5,893,827 msg/sec std::mutex, 7,i: 5,830,749 msg/sec std::mutex, 8,s: 5,786,052 msg/sec std::mutex, 8,i: 5,767,426 msg/sec tbb::spin_mutex, 1,s: 37,787,054 msg/sec tbb::spin_mutex, 1,i: 37,654,085 msg/sec tbb::spin_mutex, 2,s: 20,918,489 msg/sec tbb::spin_mutex, 2,i: 18,977,569 msg/sec tbb::spin_mutex, 3,s: 7,387,086 msg/sec tbb::spin_mutex, 3,i: 10,742,649 msg/sec tbb::spin_mutex, 4,s: 3,140,060 msg/sec tbb::spin_mutex, 4,i: 6,345,170 msg/sec tbb::spin_mutex, 5,s: 5,488,816 msg/sec tbb::spin_mutex, 5,i: 5,629,826 msg/sec tbb::spin_mutex, 6,s: 5,264,383 msg/sec tbb::spin_mutex, 6,i: 4,281,788 msg/sec tbb::spin_mutex, 7,s: 4,860,129 msg/sec tbb::spin_mutex, 7,i: 4,341,043 msg/sec tbb::spin_mutex, 8,s: 3,804,727 msg/sec tbb::spin_mutex, 8,i: 4,151,986 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,207,855 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,253,723 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,087,070 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,918,652 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,161,077 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,642,700 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,300,285 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,162,163 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,764,540 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,193,020 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,729,697 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,438,850 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,984,558 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,652,551 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,079,625 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,692,346 msg/sec xenium::michael_scott_queue, 1,s: 9,409,320 msg/sec xenium::michael_scott_queue, 1,i: 9,368,965 msg/sec xenium::michael_scott_queue, 2,s: 8,617,247 msg/sec xenium::michael_scott_queue, 2,i: 8,575,068 msg/sec xenium::michael_scott_queue, 3,s: 7,136,408 msg/sec xenium::michael_scott_queue, 3,i: 7,544,229 msg/sec xenium::michael_scott_queue, 4,s: 6,405,072 msg/sec xenium::michael_scott_queue, 4,i: 6,368,980 msg/sec xenium::michael_scott_queue, 5,s: 6,300,374 msg/sec xenium::michael_scott_queue, 5,i: 6,701,416 msg/sec xenium::michael_scott_queue, 6,s: 6,513,784 msg/sec xenium::michael_scott_queue, 6,i: 6,751,925 msg/sec xenium::michael_scott_queue, 7,s: 6,304,569 msg/sec xenium::michael_scott_queue, 7,i: 6,448,817 msg/sec xenium::michael_scott_queue, 8,s: 6,014,380 msg/sec xenium::michael_scott_queue, 8,i: 6,204,046 msg/sec xenium::ramalhete_queue, 1,s: 32,120,216 msg/sec xenium::ramalhete_queue, 1,i: 32,199,395 msg/sec xenium::ramalhete_queue, 2,s: 23,532,736 msg/sec xenium::ramalhete_queue, 2,i: 23,335,832 msg/sec xenium::ramalhete_queue, 3,s: 29,160,270 msg/sec xenium::ramalhete_queue, 3,i: 28,445,870 msg/sec xenium::ramalhete_queue, 4,s: 33,698,617 msg/sec xenium::ramalhete_queue, 4,i: 33,414,051 msg/sec xenium::ramalhete_queue, 5,s: 32,253,039 msg/sec xenium::ramalhete_queue, 5,i: 38,402,145 msg/sec xenium::ramalhete_queue, 6,s: 33,961,768 msg/sec xenium::ramalhete_queue, 6,i: 38,694,922 msg/sec xenium::ramalhete_queue, 7,s: 35,132,830 msg/sec xenium::ramalhete_queue, 7,i: 41,134,450 msg/sec xenium::ramalhete_queue, 8,s: 35,495,475 msg/sec xenium::ramalhete_queue, 8,i: 43,801,388 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,584,567 msg/sec xenium::vyukov_bounded_queue, 1,i: 110,671,260 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,977,301 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,007,051 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,530,858 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,600,847 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,476,585 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,288,468 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,573,355 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,438,652 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,958,564 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,607,987 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,241,727 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,367,096 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,417,522 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,478,427 msg/sec AtomicQueue, 1,s: 59,629,135 msg/sec AtomicQueue, 1,i: 56,534,304 msg/sec AtomicQueue, 2,s: 12,260,179 msg/sec AtomicQueue, 2,i: 11,748,407 msg/sec AtomicQueue, 3,s: 10,800,071 msg/sec AtomicQueue, 3,i: 9,958,471 msg/sec AtomicQueue, 4,s: 8,170,432 msg/sec AtomicQueue, 4,i: 8,211,277 msg/sec AtomicQueue, 5,s: 7,994,278 msg/sec AtomicQueue, 5,i: 8,122,365 msg/sec AtomicQueue, 6,s: 7,821,249 msg/sec AtomicQueue, 6,i: 7,606,951 msg/sec AtomicQueue, 7,s: 7,099,065 msg/sec AtomicQueue, 7,i: 7,962,511 msg/sec AtomicQueue, 8,s: 6,324,906 msg/sec AtomicQueue, 8,i: 7,489,690 msg/sec AtomicQueueB, 1,s: 57,330,377 msg/sec AtomicQueueB, 1,i: 42,987,441 msg/sec AtomicQueueB, 2,s: 11,830,716 msg/sec AtomicQueueB, 2,i: 11,467,648 msg/sec AtomicQueueB, 3,s: 10,951,400 msg/sec AtomicQueueB, 3,i: 10,080,754 msg/sec AtomicQueueB, 4,s: 8,071,881 msg/sec AtomicQueueB, 4,i: 8,095,863 msg/sec AtomicQueueB, 5,s: 7,686,011 msg/sec AtomicQueueB, 5,i: 7,848,245 msg/sec AtomicQueueB, 6,s: 7,423,507 msg/sec AtomicQueueB, 6,i: 7,547,890 msg/sec AtomicQueueB, 7,s: 6,888,078 msg/sec AtomicQueueB, 7,i: 7,718,339 msg/sec AtomicQueueB, 8,s: 6,188,676 msg/sec AtomicQueueB, 8,i: 6,981,747 msg/sec OptimistAtomicQueue, 1,s: 767,754,318 msg/sec OptimistAtomicQueue, 1,i: 637,696,843 msg/sec OptimistAtomicQueue, 2,s: 32,558,595 msg/sec OptimistAtomicQueue, 2,i: 32,625,915 msg/sec OptimistAtomicQueue, 3,s: 36,669,666 msg/sec OptimistAtomicQueue, 3,i: 37,374,108 msg/sec OptimistAtomicQueue, 4,s: 39,276,154 msg/sec OptimistAtomicQueue, 4,i: 39,403,968 msg/sec OptimistAtomicQueue, 5,s: 42,442,469 msg/sec OptimistAtomicQueue, 5,i: 47,351,856 msg/sec OptimistAtomicQueue, 6,s: 42,080,641 msg/sec OptimistAtomicQueue, 6,i: 49,848,747 msg/sec OptimistAtomicQueue, 7,s: 45,152,321 msg/sec OptimistAtomicQueue, 7,i: 53,086,450 msg/sec OptimistAtomicQueue, 8,s: 46,323,546 msg/sec OptimistAtomicQueue, 8,i: 48,868,524 msg/sec OptimistAtomicQueueB, 1,s: 129,477,187 msg/sec OptimistAtomicQueueB, 1,i: 76,634,252 msg/sec OptimistAtomicQueueB, 2,s: 32,134,585 msg/sec OptimistAtomicQueueB, 2,i: 32,116,334 msg/sec OptimistAtomicQueueB, 3,s: 36,284,105 msg/sec OptimistAtomicQueueB, 3,i: 36,976,456 msg/sec OptimistAtomicQueueB, 4,s: 38,747,615 msg/sec OptimistAtomicQueueB, 4,i: 38,682,985 msg/sec OptimistAtomicQueueB, 5,s: 40,245,702 msg/sec OptimistAtomicQueueB, 5,i: 45,207,395 msg/sec OptimistAtomicQueueB, 6,s: 40,877,205 msg/sec OptimistAtomicQueueB, 6,i: 49,207,348 msg/sec OptimistAtomicQueueB, 7,s: 42,708,581 msg/sec OptimistAtomicQueueB, 7,i: 51,457,414 msg/sec OptimistAtomicQueueB, 8,s: 44,393,629 msg/sec OptimistAtomicQueueB, 8,i: 48,804,213 msg/sec AtomicQueue2, 1,s: 22,909,249 msg/sec AtomicQueue2, 1,i: 22,891,192 msg/sec AtomicQueue2, 2,s: 11,755,295 msg/sec AtomicQueue2, 2,i: 11,406,939 msg/sec AtomicQueue2, 3,s: 9,327,806 msg/sec AtomicQueue2, 3,i: 9,389,589 msg/sec AtomicQueue2, 4,s: 8,049,574 msg/sec AtomicQueue2, 4,i: 8,073,347 msg/sec AtomicQueue2, 5,s: 7,910,860 msg/sec AtomicQueue2, 5,i: 8,060,309 msg/sec AtomicQueue2, 6,s: 7,892,778 msg/sec AtomicQueue2, 6,i: 7,524,459 msg/sec AtomicQueue2, 7,s: 7,134,666 msg/sec AtomicQueue2, 7,i: 7,894,182 msg/sec AtomicQueue2, 8,s: 6,380,723 msg/sec AtomicQueue2, 8,i: 7,286,334 msg/sec AtomicQueueB2, 1,s: 36,375,830 msg/sec AtomicQueueB2, 1,i: 32,648,088 msg/sec AtomicQueueB2, 2,s: 11,344,165 msg/sec AtomicQueueB2, 2,i: 11,099,460 msg/sec AtomicQueueB2, 3,s: 9,687,406 msg/sec AtomicQueueB2, 3,i: 9,383,607 msg/sec AtomicQueueB2, 4,s: 7,994,114 msg/sec AtomicQueueB2, 4,i: 7,757,648 msg/sec AtomicQueueB2, 5,s: 7,421,837 msg/sec AtomicQueueB2, 5,i: 7,623,448 msg/sec AtomicQueueB2, 6,s: 7,310,306 msg/sec AtomicQueueB2, 6,i: 7,423,368 msg/sec AtomicQueueB2, 7,s: 6,822,768 msg/sec AtomicQueueB2, 7,i: 7,710,680 msg/sec AtomicQueueB2, 8,s: 6,262,289 msg/sec AtomicQueueB2, 8,i: 7,104,839 msg/sec OptimistAtomicQueue2, 1,s: 32,331,356 msg/sec OptimistAtomicQueue2, 1,i: 38,929,460 msg/sec OptimistAtomicQueue2, 2,s: 29,476,564 msg/sec OptimistAtomicQueue2, 2,i: 25,121,710 msg/sec OptimistAtomicQueue2, 3,s: 30,323,823 msg/sec OptimistAtomicQueue2, 3,i: 30,277,703 msg/sec OptimistAtomicQueue2, 4,s: 33,178,799 msg/sec OptimistAtomicQueue2, 4,i: 33,125,028 msg/sec OptimistAtomicQueue2, 5,s: 37,235,581 msg/sec OptimistAtomicQueue2, 5,i: 40,293,765 msg/sec OptimistAtomicQueue2, 6,s: 40,322,753 msg/sec OptimistAtomicQueue2, 6,i: 49,270,443 msg/sec OptimistAtomicQueue2, 7,s: 43,218,719 msg/sec OptimistAtomicQueue2, 7,i: 48,085,896 msg/sec OptimistAtomicQueue2, 8,s: 43,810,728 msg/sec OptimistAtomicQueue2, 8,i: 48,750,014 msg/sec OptimistAtomicQueueB2, 1,s: 77,508,118 msg/sec OptimistAtomicQueueB2, 1,i: 71,253,265 msg/sec OptimistAtomicQueueB2, 2,s: 27,147,955 msg/sec OptimistAtomicQueueB2, 2,i: 26,485,375 msg/sec OptimistAtomicQueueB2, 3,s: 29,708,504 msg/sec OptimistAtomicQueueB2, 3,i: 29,090,454 msg/sec OptimistAtomicQueueB2, 4,s: 33,129,236 msg/sec OptimistAtomicQueueB2, 4,i: 32,152,392 msg/sec OptimistAtomicQueueB2, 5,s: 34,748,359 msg/sec OptimistAtomicQueueB2, 5,i: 39,244,361 msg/sec OptimistAtomicQueueB2, 6,s: 37,493,694 msg/sec OptimistAtomicQueueB2, 6,i: 42,315,027 msg/sec OptimistAtomicQueueB2, 7,s: 40,107,999 msg/sec OptimistAtomicQueueB2, 7,i: 45,503,495 msg/sec OptimistAtomicQueueB2, 8,s: 42,337,648 msg/sec OptimistAtomicQueueB2, 8,i: 45,595,744 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [315] 65m:40s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,345,608 msg/sec boost::lockfree::spsc_queue, 1,i: 67,966,150 msg/sec boost::lockfree::queue, 1,s: 6,815,011 msg/sec boost::lockfree::queue, 1,i: 6,836,164 msg/sec boost::lockfree::queue, 2,s: 7,715,291 msg/sec boost::lockfree::queue, 2,i: 7,445,846 msg/sec boost::lockfree::queue, 3,s: 7,451,107 msg/sec boost::lockfree::queue, 3,i: 7,501,925 msg/sec boost::lockfree::queue, 4,s: 6,416,539 msg/sec boost::lockfree::queue, 4,i: 6,780,168 msg/sec boost::lockfree::queue, 5,s: 6,391,832 msg/sec boost::lockfree::queue, 5,i: 6,493,307 msg/sec boost::lockfree::queue, 6,s: 5,978,773 msg/sec boost::lockfree::queue, 6,i: 6,102,282 msg/sec boost::lockfree::queue, 7,s: 5,921,062 msg/sec boost::lockfree::queue, 7,i: 5,910,068 msg/sec boost::lockfree::queue, 8,s: 5,468,907 msg/sec boost::lockfree::queue, 8,i: 5,721,658 msg/sec moodycamel::ReaderWriterQueue, 1,s: 514,030,923 msg/sec moodycamel::ReaderWriterQueue, 1,i: 112,135,616 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,692,470 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,483,525 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,917,886 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,969,583 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,044,354 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,921,222 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,172,873 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,320,447 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,363,386 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,986,038 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,227,692 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,485,547 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,975,670 msg/sec moodycamel::ConcurrentQueue, 7,i: 30,956,556 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,351,045 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,254,194 msg/sec pthread_spinlock, 1,s: 28,474,146 msg/sec pthread_spinlock, 1,i: 25,309,981 msg/sec pthread_spinlock, 2,s: 15,626,911 msg/sec pthread_spinlock, 2,i: 17,139,424 msg/sec pthread_spinlock, 3,s: 8,354,775 msg/sec pthread_spinlock, 3,i: 12,009,454 msg/sec pthread_spinlock, 4,s: 6,554,337 msg/sec pthread_spinlock, 4,i: 8,939,352 msg/sec pthread_spinlock, 5,s: 8,629,798 msg/sec pthread_spinlock, 5,i: 9,209,508 msg/sec pthread_spinlock, 6,s: 8,602,331 msg/sec pthread_spinlock, 6,i: 8,838,918 msg/sec pthread_spinlock, 7,s: 7,608,196 msg/sec pthread_spinlock, 7,i: 7,490,532 msg/sec pthread_spinlock, 8,s: 6,747,882 msg/sec pthread_spinlock, 8,i: 7,086,729 msg/sec std::mutex, 1,s: 6,045,251 msg/sec std::mutex, 1,i: 6,048,812 msg/sec std::mutex, 2,s: 6,102,939 msg/sec std::mutex, 2,i: 6,062,448 msg/sec std::mutex, 3,s: 6,140,698 msg/sec std::mutex, 3,i: 6,032,390 msg/sec std::mutex, 4,s: 6,227,047 msg/sec std::mutex, 4,i: 6,241,415 msg/sec std::mutex, 5,s: 6,045,179 msg/sec std::mutex, 5,i: 6,076,445 msg/sec std::mutex, 6,s: 5,847,066 msg/sec std::mutex, 6,i: 5,993,120 msg/sec std::mutex, 7,s: 5,820,352 msg/sec std::mutex, 7,i: 5,815,419 msg/sec std::mutex, 8,s: 5,735,280 msg/sec std::mutex, 8,i: 5,741,384 msg/sec tbb::spin_mutex, 1,s: 37,907,883 msg/sec tbb::spin_mutex, 1,i: 33,388,936 msg/sec tbb::spin_mutex, 2,s: 21,103,058 msg/sec tbb::spin_mutex, 2,i: 18,498,801 msg/sec tbb::spin_mutex, 3,s: 7,294,216 msg/sec tbb::spin_mutex, 3,i: 10,408,344 msg/sec tbb::spin_mutex, 4,s: 3,294,044 msg/sec tbb::spin_mutex, 4,i: 6,368,563 msg/sec tbb::spin_mutex, 5,s: 5,458,518 msg/sec tbb::spin_mutex, 5,i: 5,497,842 msg/sec tbb::spin_mutex, 6,s: 5,245,241 msg/sec tbb::spin_mutex, 6,i: 4,349,520 msg/sec tbb::spin_mutex, 7,s: 4,841,919 msg/sec tbb::spin_mutex, 7,i: 4,351,921 msg/sec tbb::spin_mutex, 8,s: 4,232,081 msg/sec tbb::spin_mutex, 8,i: 4,064,699 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,052,010 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,077,350 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,261,283 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,261,509 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,681,039 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,518,160 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,585,873 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,589,163 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,972,608 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,593,238 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,903,240 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,650,510 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,867,675 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,790,844 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,789,522 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,449,984 msg/sec xenium::michael_scott_queue, 1,s: 9,201,616 msg/sec xenium::michael_scott_queue, 1,i: 9,519,863 msg/sec xenium::michael_scott_queue, 2,s: 8,519,340 msg/sec xenium::michael_scott_queue, 2,i: 8,467,564 msg/sec xenium::michael_scott_queue, 3,s: 7,280,584 msg/sec xenium::michael_scott_queue, 3,i: 7,524,898 msg/sec xenium::michael_scott_queue, 4,s: 6,315,437 msg/sec xenium::michael_scott_queue, 4,i: 6,292,091 msg/sec xenium::michael_scott_queue, 5,s: 6,287,893 msg/sec xenium::michael_scott_queue, 5,i: 6,678,679 msg/sec xenium::michael_scott_queue, 6,s: 6,518,848 msg/sec xenium::michael_scott_queue, 6,i: 6,708,028 msg/sec xenium::michael_scott_queue, 7,s: 6,315,407 msg/sec xenium::michael_scott_queue, 7,i: 6,416,084 msg/sec xenium::michael_scott_queue, 8,s: 6,003,067 msg/sec xenium::michael_scott_queue, 8,i: 6,277,977 msg/sec xenium::ramalhete_queue, 1,s: 32,674,968 msg/sec xenium::ramalhete_queue, 1,i: 31,969,597 msg/sec xenium::ramalhete_queue, 2,s: 23,604,134 msg/sec xenium::ramalhete_queue, 2,i: 23,325,394 msg/sec xenium::ramalhete_queue, 3,s: 29,268,243 msg/sec xenium::ramalhete_queue, 3,i: 28,538,533 msg/sec xenium::ramalhete_queue, 4,s: 33,911,512 msg/sec xenium::ramalhete_queue, 4,i: 33,532,277 msg/sec xenium::ramalhete_queue, 5,s: 32,081,125 msg/sec xenium::ramalhete_queue, 5,i: 38,717,573 msg/sec xenium::ramalhete_queue, 6,s: 34,043,687 msg/sec xenium::ramalhete_queue, 6,i: 39,852,436 msg/sec xenium::ramalhete_queue, 7,s: 35,269,630 msg/sec xenium::ramalhete_queue, 7,i: 41,340,945 msg/sec xenium::ramalhete_queue, 8,s: 35,677,447 msg/sec xenium::ramalhete_queue, 8,i: 44,213,636 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,368,208 msg/sec xenium::vyukov_bounded_queue, 1,i: 66,663,303 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,658,456 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,678,589 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,143,411 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,963,785 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,625,514 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,357,265 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,910,950 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,247,925 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,024,906 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,169,150 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,202,976 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,958,675 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,402,072 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,213,849 msg/sec AtomicQueue, 1,s: 64,149,037 msg/sec AtomicQueue, 1,i: 56,506,618 msg/sec AtomicQueue, 2,s: 12,511,844 msg/sec AtomicQueue, 2,i: 11,726,207 msg/sec AtomicQueue, 3,s: 10,847,560 msg/sec AtomicQueue, 3,i: 9,929,683 msg/sec AtomicQueue, 4,s: 8,240,133 msg/sec AtomicQueue, 4,i: 8,224,835 msg/sec AtomicQueue, 5,s: 8,002,852 msg/sec AtomicQueue, 5,i: 8,067,650 msg/sec AtomicQueue, 6,s: 7,659,844 msg/sec AtomicQueue, 6,i: 7,628,611 msg/sec AtomicQueue, 7,s: 7,169,742 msg/sec AtomicQueue, 7,i: 7,970,926 msg/sec AtomicQueue, 8,s: 6,315,299 msg/sec AtomicQueue, 8,i: 7,459,729 msg/sec AtomicQueueB, 1,s: 44,373,977 msg/sec AtomicQueueB, 1,i: 43,053,708 msg/sec AtomicQueueB, 2,s: 11,744,828 msg/sec AtomicQueueB, 2,i: 11,497,936 msg/sec AtomicQueueB, 3,s: 11,033,942 msg/sec AtomicQueueB, 3,i: 10,113,437 msg/sec AtomicQueueB, 4,s: 8,038,110 msg/sec AtomicQueueB, 4,i: 8,062,584 msg/sec AtomicQueueB, 5,s: 7,564,929 msg/sec AtomicQueueB, 5,i: 7,821,137 msg/sec AtomicQueueB, 6,s: 7,335,992 msg/sec AtomicQueueB, 6,i: 7,508,598 msg/sec AtomicQueueB, 7,s: 6,869,721 msg/sec AtomicQueueB, 7,i: 7,710,588 msg/sec AtomicQueueB, 8,s: 6,203,773 msg/sec AtomicQueueB, 8,i: 6,962,783 msg/sec OptimistAtomicQueue, 1,s: 728,284,778 msg/sec OptimistAtomicQueue, 1,i: 549,566,199 msg/sec OptimistAtomicQueue, 2,s: 32,640,561 msg/sec OptimistAtomicQueue, 2,i: 32,746,041 msg/sec OptimistAtomicQueue, 3,s: 36,666,460 msg/sec OptimistAtomicQueue, 3,i: 37,409,100 msg/sec OptimistAtomicQueue, 4,s: 39,266,337 msg/sec OptimistAtomicQueue, 4,i: 39,402,722 msg/sec OptimistAtomicQueue, 5,s: 42,355,984 msg/sec OptimistAtomicQueue, 5,i: 46,285,619 msg/sec OptimistAtomicQueue, 6,s: 42,501,069 msg/sec OptimistAtomicQueue, 6,i: 49,804,179 msg/sec OptimistAtomicQueue, 7,s: 45,286,899 msg/sec OptimistAtomicQueue, 7,i: 49,413,166 msg/sec OptimistAtomicQueue, 8,s: 46,253,856 msg/sec OptimistAtomicQueue, 8,i: 49,332,177 msg/sec OptimistAtomicQueueB, 1,s: 120,280,432 msg/sec OptimistAtomicQueueB, 1,i: 159,856,186 msg/sec OptimistAtomicQueueB, 2,s: 32,210,813 msg/sec OptimistAtomicQueueB, 2,i: 32,330,297 msg/sec OptimistAtomicQueueB, 3,s: 36,277,608 msg/sec OptimistAtomicQueueB, 3,i: 36,993,512 msg/sec OptimistAtomicQueueB, 4,s: 38,756,793 msg/sec OptimistAtomicQueueB, 4,i: 38,713,302 msg/sec OptimistAtomicQueueB, 5,s: 40,231,776 msg/sec OptimistAtomicQueueB, 5,i: 46,316,145 msg/sec OptimistAtomicQueueB, 6,s: 40,674,771 msg/sec OptimistAtomicQueueB, 6,i: 48,908,469 msg/sec OptimistAtomicQueueB, 7,s: 42,554,235 msg/sec OptimistAtomicQueueB, 7,i: 51,432,820 msg/sec OptimistAtomicQueueB, 8,s: 44,498,278 msg/sec OptimistAtomicQueueB, 8,i: 49,107,610 msg/sec AtomicQueue2, 1,s: 23,072,010 msg/sec AtomicQueue2, 1,i: 22,992,199 msg/sec AtomicQueue2, 2,s: 12,024,850 msg/sec AtomicQueue2, 2,i: 11,690,931 msg/sec AtomicQueue2, 3,s: 9,456,911 msg/sec AtomicQueue2, 3,i: 9,383,951 msg/sec AtomicQueue2, 4,s: 8,109,593 msg/sec AtomicQueue2, 4,i: 8,022,639 msg/sec AtomicQueue2, 5,s: 7,940,241 msg/sec AtomicQueue2, 5,i: 7,989,037 msg/sec AtomicQueue2, 6,s: 7,680,672 msg/sec AtomicQueue2, 6,i: 7,517,930 msg/sec AtomicQueue2, 7,s: 7,128,456 msg/sec AtomicQueue2, 7,i: 7,886,340 msg/sec AtomicQueue2, 8,s: 6,367,968 msg/sec AtomicQueue2, 8,i: 7,333,110 msg/sec AtomicQueueB2, 1,s: 35,954,506 msg/sec AtomicQueueB2, 1,i: 32,655,428 msg/sec AtomicQueueB2, 2,s: 11,481,613 msg/sec AtomicQueueB2, 2,i: 11,171,414 msg/sec AtomicQueueB2, 3,s: 9,610,449 msg/sec AtomicQueueB2, 3,i: 9,498,017 msg/sec AtomicQueueB2, 4,s: 7,828,751 msg/sec AtomicQueueB2, 4,i: 7,815,484 msg/sec AtomicQueueB2, 5,s: 7,527,852 msg/sec AtomicQueueB2, 5,i: 7,728,238 msg/sec AtomicQueueB2, 6,s: 7,083,323 msg/sec AtomicQueueB2, 6,i: 7,407,779 msg/sec AtomicQueueB2, 7,s: 6,913,269 msg/sec AtomicQueueB2, 7,i: 7,713,895 msg/sec AtomicQueueB2, 8,s: 6,278,399 msg/sec AtomicQueueB2, 8,i: 7,142,738 msg/sec OptimistAtomicQueue2, 1,s: 479,926,705 msg/sec OptimistAtomicQueue2, 1,i: 30,047,019 msg/sec OptimistAtomicQueue2, 2,s: 22,623,662 msg/sec OptimistAtomicQueue2, 2,i: 25,070,740 msg/sec OptimistAtomicQueue2, 3,s: 30,324,629 msg/sec OptimistAtomicQueue2, 3,i: 29,877,123 msg/sec OptimistAtomicQueue2, 4,s: 33,305,799 msg/sec OptimistAtomicQueue2, 4,i: 33,140,985 msg/sec OptimistAtomicQueue2, 5,s: 37,315,759 msg/sec OptimistAtomicQueue2, 5,i: 41,901,326 msg/sec OptimistAtomicQueue2, 6,s: 40,363,285 msg/sec OptimistAtomicQueue2, 6,i: 49,218,667 msg/sec OptimistAtomicQueue2, 7,s: 42,669,100 msg/sec OptimistAtomicQueue2, 7,i: 51,427,085 msg/sec OptimistAtomicQueue2, 8,s: 43,992,176 msg/sec OptimistAtomicQueue2, 8,i: 48,418,981 msg/sec OptimistAtomicQueueB2, 1,s: 77,161,495 msg/sec OptimistAtomicQueueB2, 1,i: 33,884,877 msg/sec OptimistAtomicQueueB2, 2,s: 27,164,934 msg/sec OptimistAtomicQueueB2, 2,i: 24,826,010 msg/sec OptimistAtomicQueueB2, 3,s: 29,728,673 msg/sec OptimistAtomicQueueB2, 3,i: 29,066,951 msg/sec OptimistAtomicQueueB2, 4,s: 33,315,815 msg/sec OptimistAtomicQueueB2, 4,i: 32,274,911 msg/sec OptimistAtomicQueueB2, 5,s: 34,473,498 msg/sec OptimistAtomicQueueB2, 5,i: 39,527,260 msg/sec OptimistAtomicQueueB2, 6,s: 37,047,983 msg/sec OptimistAtomicQueueB2, 6,i: 42,214,557 msg/sec OptimistAtomicQueueB2, 7,s: 40,329,363 msg/sec OptimistAtomicQueueB2, 7,i: 45,604,804 msg/sec OptimistAtomicQueueB2, 8,s: 42,349,660 msg/sec OptimistAtomicQueueB2, 8,i: 45,222,504 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000115 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000269 sec/round-trip std::mutex: 0.000000441 sec/round-trip tbb::spin_mutex: 0.000000289 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [316] 64m:21s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,906,762 msg/sec boost::lockfree::spsc_queue, 1,i: 71,656,956 msg/sec boost::lockfree::queue, 1,s: 6,898,953 msg/sec boost::lockfree::queue, 1,i: 6,918,158 msg/sec boost::lockfree::queue, 2,s: 7,562,279 msg/sec boost::lockfree::queue, 2,i: 7,463,840 msg/sec boost::lockfree::queue, 3,s: 7,325,208 msg/sec boost::lockfree::queue, 3,i: 7,640,768 msg/sec boost::lockfree::queue, 4,s: 6,419,346 msg/sec boost::lockfree::queue, 4,i: 6,796,945 msg/sec boost::lockfree::queue, 5,s: 6,424,958 msg/sec boost::lockfree::queue, 5,i: 6,472,530 msg/sec boost::lockfree::queue, 6,s: 5,989,933 msg/sec boost::lockfree::queue, 6,i: 6,075,637 msg/sec boost::lockfree::queue, 7,s: 5,934,231 msg/sec boost::lockfree::queue, 7,i: 6,020,193 msg/sec boost::lockfree::queue, 8,s: 5,444,719 msg/sec boost::lockfree::queue, 8,i: 5,578,981 msg/sec moodycamel::ReaderWriterQueue, 1,s: 349,140,890 msg/sec moodycamel::ReaderWriterQueue, 1,i: 389,518,561 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,562,891 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,387,515 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,861,493 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,072,938 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,509,530 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,649,783 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,292,127 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,937,765 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,214,111 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,355,922 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,412,818 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,002,245 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,072,624 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,979,049 msg/sec moodycamel::ConcurrentQueue, 8,s: 50,766,770 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,197,851 msg/sec pthread_spinlock, 1,s: 28,739,610 msg/sec pthread_spinlock, 1,i: 25,305,178 msg/sec pthread_spinlock, 2,s: 15,528,441 msg/sec pthread_spinlock, 2,i: 17,101,079 msg/sec pthread_spinlock, 3,s: 8,345,045 msg/sec pthread_spinlock, 3,i: 12,062,918 msg/sec pthread_spinlock, 4,s: 6,501,190 msg/sec pthread_spinlock, 4,i: 8,884,926 msg/sec pthread_spinlock, 5,s: 8,565,794 msg/sec pthread_spinlock, 5,i: 8,842,661 msg/sec pthread_spinlock, 6,s: 8,222,964 msg/sec pthread_spinlock, 6,i: 8,853,624 msg/sec pthread_spinlock, 7,s: 7,943,261 msg/sec pthread_spinlock, 7,i: 7,444,547 msg/sec pthread_spinlock, 8,s: 6,841,640 msg/sec pthread_spinlock, 8,i: 7,295,255 msg/sec std::mutex, 1,s: 7,070,188 msg/sec std::mutex, 1,i: 7,522,685 msg/sec std::mutex, 2,s: 5,965,524 msg/sec std::mutex, 2,i: 6,106,867 msg/sec std::mutex, 3,s: 6,104,953 msg/sec std::mutex, 3,i: 6,033,128 msg/sec std::mutex, 4,s: 6,239,345 msg/sec std::mutex, 4,i: 6,172,722 msg/sec std::mutex, 5,s: 5,966,073 msg/sec std::mutex, 5,i: 6,095,490 msg/sec std::mutex, 6,s: 5,876,991 msg/sec std::mutex, 6,i: 5,867,108 msg/sec std::mutex, 7,s: 5,743,582 msg/sec std::mutex, 7,i: 5,745,492 msg/sec std::mutex, 8,s: 5,622,467 msg/sec std::mutex, 8,i: 5,688,766 msg/sec tbb::spin_mutex, 1,s: 37,761,523 msg/sec tbb::spin_mutex, 1,i: 37,574,704 msg/sec tbb::spin_mutex, 2,s: 21,152,311 msg/sec tbb::spin_mutex, 2,i: 18,270,332 msg/sec tbb::spin_mutex, 3,s: 7,403,045 msg/sec tbb::spin_mutex, 3,i: 10,469,009 msg/sec tbb::spin_mutex, 4,s: 3,153,830 msg/sec tbb::spin_mutex, 4,i: 6,436,732 msg/sec tbb::spin_mutex, 5,s: 5,442,436 msg/sec tbb::spin_mutex, 5,i: 5,622,739 msg/sec tbb::spin_mutex, 6,s: 5,288,190 msg/sec tbb::spin_mutex, 6,i: 4,385,488 msg/sec tbb::spin_mutex, 7,s: 4,650,520 msg/sec tbb::spin_mutex, 7,i: 4,344,705 msg/sec tbb::spin_mutex, 8,s: 4,240,987 msg/sec tbb::spin_mutex, 8,i: 4,061,683 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,176,836 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,055,378 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,708,751 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,025,500 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,442,899 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,579,780 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,335,015 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,283,684 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,737,713 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,772,733 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,723,550 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,977,173 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,943,540 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,067,815 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,871,642 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,140,270 msg/sec xenium::michael_scott_queue, 1,s: 9,301,221 msg/sec xenium::michael_scott_queue, 1,i: 9,113,809 msg/sec xenium::michael_scott_queue, 2,s: 8,419,816 msg/sec xenium::michael_scott_queue, 2,i: 8,527,542 msg/sec xenium::michael_scott_queue, 3,s: 7,196,358 msg/sec xenium::michael_scott_queue, 3,i: 7,521,054 msg/sec xenium::michael_scott_queue, 4,s: 6,345,849 msg/sec xenium::michael_scott_queue, 4,i: 6,352,502 msg/sec xenium::michael_scott_queue, 5,s: 6,348,616 msg/sec xenium::michael_scott_queue, 5,i: 6,621,708 msg/sec xenium::michael_scott_queue, 6,s: 6,591,456 msg/sec xenium::michael_scott_queue, 6,i: 6,730,170 msg/sec xenium::michael_scott_queue, 7,s: 6,298,769 msg/sec xenium::michael_scott_queue, 7,i: 6,518,613 msg/sec xenium::michael_scott_queue, 8,s: 6,066,876 msg/sec xenium::michael_scott_queue, 8,i: 6,100,194 msg/sec xenium::ramalhete_queue, 1,s: 31,558,416 msg/sec xenium::ramalhete_queue, 1,i: 31,672,004 msg/sec xenium::ramalhete_queue, 2,s: 24,516,211 msg/sec xenium::ramalhete_queue, 2,i: 23,341,311 msg/sec xenium::ramalhete_queue, 3,s: 29,116,103 msg/sec xenium::ramalhete_queue, 3,i: 28,379,364 msg/sec xenium::ramalhete_queue, 4,s: 33,779,726 msg/sec xenium::ramalhete_queue, 4,i: 33,522,086 msg/sec xenium::ramalhete_queue, 5,s: 32,005,272 msg/sec xenium::ramalhete_queue, 5,i: 36,203,717 msg/sec xenium::ramalhete_queue, 6,s: 34,131,131 msg/sec xenium::ramalhete_queue, 6,i: 38,979,652 msg/sec xenium::ramalhete_queue, 7,s: 35,012,760 msg/sec xenium::ramalhete_queue, 7,i: 40,925,039 msg/sec xenium::ramalhete_queue, 8,s: 35,508,393 msg/sec xenium::ramalhete_queue, 8,i: 43,855,037 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,335,982 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,346,910 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,031,382 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,594,649 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,596,708 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,715,412 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,424,739 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,339,914 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,205,581 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,337,415 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,985,173 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,270,805 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,143,087 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,077,862 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,393,672 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,530,823 msg/sec AtomicQueue, 1,s: 58,565,657 msg/sec AtomicQueue, 1,i: 56,405,458 msg/sec AtomicQueue, 2,s: 12,278,797 msg/sec AtomicQueue, 2,i: 11,740,058 msg/sec AtomicQueue, 3,s: 10,754,081 msg/sec AtomicQueue, 3,i: 9,969,362 msg/sec AtomicQueue, 4,s: 8,218,606 msg/sec AtomicQueue, 4,i: 8,199,266 msg/sec AtomicQueue, 5,s: 8,001,985 msg/sec AtomicQueue, 5,i: 8,094,152 msg/sec AtomicQueue, 6,s: 7,752,031 msg/sec AtomicQueue, 6,i: 7,609,145 msg/sec AtomicQueue, 7,s: 7,192,381 msg/sec AtomicQueue, 7,i: 7,994,363 msg/sec AtomicQueue, 8,s: 6,350,236 msg/sec AtomicQueue, 8,i: 7,472,931 msg/sec AtomicQueueB, 1,s: 43,904,357 msg/sec AtomicQueueB, 1,i: 43,036,957 msg/sec AtomicQueueB, 2,s: 11,673,387 msg/sec AtomicQueueB, 2,i: 11,501,939 msg/sec AtomicQueueB, 3,s: 10,992,916 msg/sec AtomicQueueB, 3,i: 10,185,643 msg/sec AtomicQueueB, 4,s: 8,018,477 msg/sec AtomicQueueB, 4,i: 7,881,009 msg/sec AtomicQueueB, 5,s: 7,655,452 msg/sec AtomicQueueB, 5,i: 7,770,637 msg/sec AtomicQueueB, 6,s: 7,390,712 msg/sec AtomicQueueB, 6,i: 7,530,550 msg/sec AtomicQueueB, 7,s: 6,845,703 msg/sec AtomicQueueB, 7,i: 7,703,296 msg/sec AtomicQueueB, 8,s: 6,198,493 msg/sec AtomicQueueB, 8,i: 7,132,061 msg/sec OptimistAtomicQueue, 1,s: 781,542,315 msg/sec OptimistAtomicQueue, 1,i: 607,752,459 msg/sec OptimistAtomicQueue, 2,s: 32,149,850 msg/sec OptimistAtomicQueue, 2,i: 32,238,949 msg/sec OptimistAtomicQueue, 3,s: 36,602,949 msg/sec OptimistAtomicQueue, 3,i: 37,399,797 msg/sec OptimistAtomicQueue, 4,s: 39,281,848 msg/sec OptimistAtomicQueue, 4,i: 39,423,334 msg/sec OptimistAtomicQueue, 5,s: 41,688,916 msg/sec OptimistAtomicQueue, 5,i: 46,216,369 msg/sec OptimistAtomicQueue, 6,s: 42,660,400 msg/sec OptimistAtomicQueue, 6,i: 50,419,924 msg/sec OptimistAtomicQueue, 7,s: 44,070,721 msg/sec OptimistAtomicQueue, 7,i: 49,104,185 msg/sec OptimistAtomicQueue, 8,s: 46,468,940 msg/sec OptimistAtomicQueue, 8,i: 49,399,065 msg/sec OptimistAtomicQueueB, 1,s: 77,965,894 msg/sec OptimistAtomicQueueB, 1,i: 194,800,701 msg/sec OptimistAtomicQueueB, 2,s: 32,192,901 msg/sec OptimistAtomicQueueB, 2,i: 32,274,284 msg/sec OptimistAtomicQueueB, 3,s: 36,345,572 msg/sec OptimistAtomicQueueB, 3,i: 36,813,400 msg/sec OptimistAtomicQueueB, 4,s: 38,649,773 msg/sec OptimistAtomicQueueB, 4,i: 38,572,928 msg/sec OptimistAtomicQueueB, 5,s: 39,115,030 msg/sec OptimistAtomicQueueB, 5,i: 45,325,995 msg/sec OptimistAtomicQueueB, 6,s: 41,428,204 msg/sec OptimistAtomicQueueB, 6,i: 48,526,058 msg/sec OptimistAtomicQueueB, 7,s: 41,735,785 msg/sec OptimistAtomicQueueB, 7,i: 47,996,881 msg/sec OptimistAtomicQueueB, 8,s: 44,546,183 msg/sec OptimistAtomicQueueB, 8,i: 47,919,680 msg/sec AtomicQueue2, 1,s: 22,841,007 msg/sec AtomicQueue2, 1,i: 22,858,825 msg/sec AtomicQueue2, 2,s: 11,859,902 msg/sec AtomicQueue2, 2,i: 11,464,636 msg/sec AtomicQueue2, 3,s: 9,382,531 msg/sec AtomicQueue2, 3,i: 9,492,592 msg/sec AtomicQueue2, 4,s: 8,028,163 msg/sec AtomicQueue2, 4,i: 8,060,157 msg/sec AtomicQueue2, 5,s: 7,946,103 msg/sec AtomicQueue2, 5,i: 8,045,659 msg/sec AtomicQueue2, 6,s: 7,765,473 msg/sec AtomicQueue2, 6,i: 7,528,654 msg/sec AtomicQueue2, 7,s: 7,141,952 msg/sec AtomicQueue2, 7,i: 7,887,851 msg/sec AtomicQueue2, 8,s: 6,389,209 msg/sec AtomicQueue2, 8,i: 7,253,300 msg/sec AtomicQueueB2, 1,s: 36,165,363 msg/sec AtomicQueueB2, 1,i: 36,055,396 msg/sec AtomicQueueB2, 2,s: 11,351,083 msg/sec AtomicQueueB2, 2,i: 11,131,512 msg/sec AtomicQueueB2, 3,s: 9,607,162 msg/sec AtomicQueueB2, 3,i: 9,469,035 msg/sec AtomicQueueB2, 4,s: 7,971,339 msg/sec AtomicQueueB2, 4,i: 7,838,166 msg/sec AtomicQueueB2, 5,s: 7,533,655 msg/sec AtomicQueueB2, 5,i: 7,756,480 msg/sec AtomicQueueB2, 6,s: 7,114,368 msg/sec AtomicQueueB2, 6,i: 7,421,107 msg/sec AtomicQueueB2, 7,s: 6,895,111 msg/sec AtomicQueueB2, 7,i: 7,721,885 msg/sec AtomicQueueB2, 8,s: 6,275,070 msg/sec AtomicQueueB2, 8,i: 7,113,573 msg/sec OptimistAtomicQueue2, 1,s: 79,732,527 msg/sec OptimistAtomicQueue2, 1,i: 29,691,926 msg/sec OptimistAtomicQueue2, 2,s: 24,276,292 msg/sec OptimistAtomicQueue2, 2,i: 24,024,717 msg/sec OptimistAtomicQueue2, 3,s: 29,880,060 msg/sec OptimistAtomicQueue2, 3,i: 30,471,480 msg/sec OptimistAtomicQueue2, 4,s: 33,160,171 msg/sec OptimistAtomicQueue2, 4,i: 33,953,965 msg/sec OptimistAtomicQueue2, 5,s: 37,476,851 msg/sec OptimistAtomicQueue2, 5,i: 41,854,306 msg/sec OptimistAtomicQueue2, 6,s: 40,227,063 msg/sec OptimistAtomicQueue2, 6,i: 49,106,710 msg/sec OptimistAtomicQueue2, 7,s: 43,313,012 msg/sec OptimistAtomicQueue2, 7,i: 48,190,276 msg/sec OptimistAtomicQueue2, 8,s: 43,900,048 msg/sec OptimistAtomicQueue2, 8,i: 48,348,367 msg/sec OptimistAtomicQueueB2, 1,s: 76,723,180 msg/sec OptimistAtomicQueueB2, 1,i: 33,937,593 msg/sec OptimistAtomicQueueB2, 2,s: 29,173,766 msg/sec OptimistAtomicQueueB2, 2,i: 23,750,123 msg/sec OptimistAtomicQueueB2, 3,s: 31,330,587 msg/sec OptimistAtomicQueueB2, 3,i: 29,067,857 msg/sec OptimistAtomicQueueB2, 4,s: 32,971,155 msg/sec OptimistAtomicQueueB2, 4,i: 31,910,603 msg/sec OptimistAtomicQueueB2, 5,s: 34,306,553 msg/sec OptimistAtomicQueueB2, 5,i: 39,471,369 msg/sec OptimistAtomicQueueB2, 6,s: 37,285,008 msg/sec OptimistAtomicQueueB2, 6,i: 42,213,686 msg/sec OptimistAtomicQueueB2, 7,s: 40,922,237 msg/sec OptimistAtomicQueueB2, 7,i: 43,158,511 msg/sec OptimistAtomicQueueB2, 8,s: 42,265,146 msg/sec OptimistAtomicQueueB2, 8,i: 45,196,835 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000252 sec/round-trip std::mutex: 0.000000514 sec/round-trip tbb::spin_mutex: 0.000000273 sec/round-trip tbb::concurrent_bounded_queue: 0.000000304 sec/round-trip xenium::michael_scott_queue: 0.000000382 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000182 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [317] 63m:1s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,845,630 msg/sec boost::lockfree::spsc_queue, 1,i: 65,934,299 msg/sec boost::lockfree::queue, 1,s: 6,825,387 msg/sec boost::lockfree::queue, 1,i: 6,927,299 msg/sec boost::lockfree::queue, 2,s: 7,529,076 msg/sec boost::lockfree::queue, 2,i: 7,492,252 msg/sec boost::lockfree::queue, 3,s: 7,390,481 msg/sec boost::lockfree::queue, 3,i: 7,486,130 msg/sec boost::lockfree::queue, 4,s: 6,419,308 msg/sec boost::lockfree::queue, 4,i: 6,787,121 msg/sec boost::lockfree::queue, 5,s: 6,410,672 msg/sec boost::lockfree::queue, 5,i: 6,549,332 msg/sec boost::lockfree::queue, 6,s: 5,999,364 msg/sec boost::lockfree::queue, 6,i: 6,116,600 msg/sec boost::lockfree::queue, 7,s: 5,975,927 msg/sec boost::lockfree::queue, 7,i: 6,105,917 msg/sec boost::lockfree::queue, 8,s: 5,473,131 msg/sec boost::lockfree::queue, 8,i: 5,667,561 msg/sec moodycamel::ReaderWriterQueue, 1,s: 528,996,479 msg/sec moodycamel::ReaderWriterQueue, 1,i: 528,837,928 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,888,565 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,824,003 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,854,500 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,619,014 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,067,417 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,357,482 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,839,793 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,381,485 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,503,103 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,658,256 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,781,949 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,980,873 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,989,729 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,315,272 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,185,033 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,015,954 msg/sec pthread_spinlock, 1,s: 28,731,802 msg/sec pthread_spinlock, 1,i: 25,404,377 msg/sec pthread_spinlock, 2,s: 16,061,043 msg/sec pthread_spinlock, 2,i: 18,027,620 msg/sec pthread_spinlock, 3,s: 8,299,267 msg/sec pthread_spinlock, 3,i: 11,983,601 msg/sec pthread_spinlock, 4,s: 6,501,858 msg/sec pthread_spinlock, 4,i: 9,104,389 msg/sec pthread_spinlock, 5,s: 8,613,957 msg/sec pthread_spinlock, 5,i: 9,388,378 msg/sec pthread_spinlock, 6,s: 8,492,819 msg/sec pthread_spinlock, 6,i: 9,133,974 msg/sec pthread_spinlock, 7,s: 7,574,159 msg/sec pthread_spinlock, 7,i: 7,744,958 msg/sec pthread_spinlock, 8,s: 6,686,125 msg/sec pthread_spinlock, 8,i: 6,803,916 msg/sec std::mutex, 1,s: 6,270,540 msg/sec std::mutex, 1,i: 6,495,187 msg/sec std::mutex, 2,s: 5,432,749 msg/sec std::mutex, 2,i: 5,564,475 msg/sec std::mutex, 3,s: 4,955,859 msg/sec std::mutex, 3,i: 5,857,861 msg/sec std::mutex, 4,s: 6,192,678 msg/sec std::mutex, 4,i: 6,263,636 msg/sec std::mutex, 5,s: 6,054,644 msg/sec std::mutex, 5,i: 5,642,880 msg/sec std::mutex, 6,s: 5,937,097 msg/sec std::mutex, 6,i: 5,936,876 msg/sec std::mutex, 7,s: 5,847,692 msg/sec std::mutex, 7,i: 5,868,629 msg/sec std::mutex, 8,s: 5,697,326 msg/sec std::mutex, 8,i: 5,712,194 msg/sec tbb::spin_mutex, 1,s: 37,690,471 msg/sec tbb::spin_mutex, 1,i: 32,983,090 msg/sec tbb::spin_mutex, 2,s: 21,216,050 msg/sec tbb::spin_mutex, 2,i: 18,435,280 msg/sec tbb::spin_mutex, 3,s: 7,301,820 msg/sec tbb::spin_mutex, 3,i: 10,096,000 msg/sec tbb::spin_mutex, 4,s: 3,077,129 msg/sec tbb::spin_mutex, 4,i: 6,341,743 msg/sec tbb::spin_mutex, 5,s: 5,434,671 msg/sec tbb::spin_mutex, 5,i: 5,826,363 msg/sec tbb::spin_mutex, 6,s: 5,351,105 msg/sec tbb::spin_mutex, 6,i: 4,386,603 msg/sec tbb::spin_mutex, 7,s: 4,821,860 msg/sec tbb::spin_mutex, 7,i: 4,271,937 msg/sec tbb::spin_mutex, 8,s: 4,260,243 msg/sec tbb::spin_mutex, 8,i: 4,129,645 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,569,135 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,732,946 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,740,070 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,851,677 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,463,895 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,719,973 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,098,024 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,365,866 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,718,805 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,756,985 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,933,050 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,009,623 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,795,115 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,198,245 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,641,871 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,308,170 msg/sec xenium::michael_scott_queue, 1,s: 10,087,393 msg/sec xenium::michael_scott_queue, 1,i: 9,776,971 msg/sec xenium::michael_scott_queue, 2,s: 8,543,925 msg/sec xenium::michael_scott_queue, 2,i: 8,526,045 msg/sec xenium::michael_scott_queue, 3,s: 7,083,634 msg/sec xenium::michael_scott_queue, 3,i: 7,617,807 msg/sec xenium::michael_scott_queue, 4,s: 6,269,245 msg/sec xenium::michael_scott_queue, 4,i: 6,359,989 msg/sec xenium::michael_scott_queue, 5,s: 6,312,425 msg/sec xenium::michael_scott_queue, 5,i: 6,693,104 msg/sec xenium::michael_scott_queue, 6,s: 6,536,765 msg/sec xenium::michael_scott_queue, 6,i: 7,041,690 msg/sec xenium::michael_scott_queue, 7,s: 6,302,019 msg/sec xenium::michael_scott_queue, 7,i: 6,614,848 msg/sec xenium::michael_scott_queue, 8,s: 6,003,203 msg/sec xenium::michael_scott_queue, 8,i: 6,132,496 msg/sec xenium::ramalhete_queue, 1,s: 31,887,695 msg/sec xenium::ramalhete_queue, 1,i: 31,984,268 msg/sec xenium::ramalhete_queue, 2,s: 23,646,158 msg/sec xenium::ramalhete_queue, 2,i: 23,370,042 msg/sec xenium::ramalhete_queue, 3,s: 29,128,743 msg/sec xenium::ramalhete_queue, 3,i: 28,527,818 msg/sec xenium::ramalhete_queue, 4,s: 33,805,965 msg/sec xenium::ramalhete_queue, 4,i: 33,396,977 msg/sec xenium::ramalhete_queue, 5,s: 32,198,050 msg/sec xenium::ramalhete_queue, 5,i: 38,353,456 msg/sec xenium::ramalhete_queue, 6,s: 33,940,708 msg/sec xenium::ramalhete_queue, 6,i: 40,179,054 msg/sec xenium::ramalhete_queue, 7,s: 35,140,809 msg/sec xenium::ramalhete_queue, 7,i: 41,770,518 msg/sec xenium::ramalhete_queue, 8,s: 35,554,128 msg/sec xenium::ramalhete_queue, 8,i: 43,899,102 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,099,282 msg/sec xenium::vyukov_bounded_queue, 1,i: 93,477,233 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,269,769 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,896,282 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,643,239 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,534,892 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,645,065 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,241,712 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,898,028 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,167,498 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,951,752 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,550,125 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,245,152 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,024,447 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,389,653 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,349,770 msg/sec AtomicQueue, 1,s: 57,597,643 msg/sec AtomicQueue, 1,i: 55,313,844 msg/sec AtomicQueue, 2,s: 12,312,741 msg/sec AtomicQueue, 2,i: 11,748,103 msg/sec AtomicQueue, 3,s: 10,817,870 msg/sec AtomicQueue, 3,i: 9,926,883 msg/sec AtomicQueue, 4,s: 8,251,520 msg/sec AtomicQueue, 4,i: 8,179,867 msg/sec AtomicQueue, 5,s: 7,980,758 msg/sec AtomicQueue, 5,i: 8,090,349 msg/sec AtomicQueue, 6,s: 7,840,159 msg/sec AtomicQueue, 6,i: 7,596,072 msg/sec AtomicQueue, 7,s: 7,094,831 msg/sec AtomicQueue, 7,i: 7,982,113 msg/sec AtomicQueue, 8,s: 6,344,223 msg/sec AtomicQueue, 8,i: 7,485,067 msg/sec AtomicQueueB, 1,s: 82,887,302 msg/sec AtomicQueueB, 1,i: 43,074,863 msg/sec AtomicQueueB, 2,s: 11,955,870 msg/sec AtomicQueueB, 2,i: 11,506,337 msg/sec AtomicQueueB, 3,s: 10,906,184 msg/sec AtomicQueueB, 3,i: 10,207,251 msg/sec AtomicQueueB, 4,s: 8,094,167 msg/sec AtomicQueueB, 4,i: 7,965,613 msg/sec AtomicQueueB, 5,s: 7,608,059 msg/sec AtomicQueueB, 5,i: 7,759,113 msg/sec AtomicQueueB, 6,s: 7,356,179 msg/sec AtomicQueueB, 6,i: 7,482,700 msg/sec AtomicQueueB, 7,s: 6,820,255 msg/sec AtomicQueueB, 7,i: 7,666,029 msg/sec AtomicQueueB, 8,s: 6,213,629 msg/sec AtomicQueueB, 8,i: 7,170,351 msg/sec OptimistAtomicQueue, 1,s: 719,694,345 msg/sec OptimistAtomicQueue, 1,i: 561,894,032 msg/sec OptimistAtomicQueue, 2,s: 32,116,046 msg/sec OptimistAtomicQueue, 2,i: 32,202,863 msg/sec OptimistAtomicQueue, 3,s: 36,616,936 msg/sec OptimistAtomicQueue, 3,i: 37,303,904 msg/sec OptimistAtomicQueue, 4,s: 39,283,742 msg/sec OptimistAtomicQueue, 4,i: 39,413,226 msg/sec OptimistAtomicQueue, 5,s: 41,681,178 msg/sec OptimistAtomicQueue, 5,i: 46,312,175 msg/sec OptimistAtomicQueue, 6,s: 41,632,399 msg/sec OptimistAtomicQueue, 6,i: 50,511,974 msg/sec OptimistAtomicQueue, 7,s: 44,124,809 msg/sec OptimistAtomicQueue, 7,i: 49,251,376 msg/sec OptimistAtomicQueue, 8,s: 46,366,436 msg/sec OptimistAtomicQueue, 8,i: 48,936,538 msg/sec OptimistAtomicQueueB, 1,s: 163,442,704 msg/sec OptimistAtomicQueueB, 1,i: 80,291,503 msg/sec OptimistAtomicQueueB, 2,s: 32,092,117 msg/sec OptimistAtomicQueueB, 2,i: 32,383,154 msg/sec OptimistAtomicQueueB, 3,s: 36,307,356 msg/sec OptimistAtomicQueueB, 3,i: 36,869,304 msg/sec OptimistAtomicQueueB, 4,s: 38,750,756 msg/sec OptimistAtomicQueueB, 4,i: 38,637,575 msg/sec OptimistAtomicQueueB, 5,s: 41,164,522 msg/sec OptimistAtomicQueueB, 5,i: 46,147,257 msg/sec OptimistAtomicQueueB, 6,s: 41,203,147 msg/sec OptimistAtomicQueueB, 6,i: 49,261,621 msg/sec OptimistAtomicQueueB, 7,s: 42,360,490 msg/sec OptimistAtomicQueueB, 7,i: 47,899,360 msg/sec OptimistAtomicQueueB, 8,s: 44,457,112 msg/sec OptimistAtomicQueueB, 8,i: 48,758,657 msg/sec AtomicQueue2, 1,s: 22,898,896 msg/sec AtomicQueue2, 1,i: 22,885,088 msg/sec AtomicQueue2, 2,s: 11,755,150 msg/sec AtomicQueue2, 2,i: 11,375,889 msg/sec AtomicQueue2, 3,s: 9,907,732 msg/sec AtomicQueue2, 3,i: 9,361,167 msg/sec AtomicQueue2, 4,s: 8,123,036 msg/sec AtomicQueue2, 4,i: 8,054,496 msg/sec AtomicQueue2, 5,s: 7,919,275 msg/sec AtomicQueue2, 5,i: 8,018,867 msg/sec AtomicQueue2, 6,s: 7,725,218 msg/sec AtomicQueue2, 6,i: 7,544,684 msg/sec AtomicQueue2, 7,s: 7,101,987 msg/sec AtomicQueue2, 7,i: 7,898,188 msg/sec AtomicQueue2, 8,s: 6,389,896 msg/sec AtomicQueue2, 8,i: 7,349,941 msg/sec AtomicQueueB2, 1,s: 36,251,286 msg/sec AtomicQueueB2, 1,i: 32,954,905 msg/sec AtomicQueueB2, 2,s: 11,456,417 msg/sec AtomicQueueB2, 2,i: 11,110,745 msg/sec AtomicQueueB2, 3,s: 9,682,896 msg/sec AtomicQueueB2, 3,i: 9,545,643 msg/sec AtomicQueueB2, 4,s: 7,928,059 msg/sec AtomicQueueB2, 4,i: 7,885,955 msg/sec AtomicQueueB2, 5,s: 7,569,328 msg/sec AtomicQueueB2, 5,i: 7,668,352 msg/sec AtomicQueueB2, 6,s: 7,265,059 msg/sec AtomicQueueB2, 6,i: 7,430,590 msg/sec AtomicQueueB2, 7,s: 6,809,102 msg/sec AtomicQueueB2, 7,i: 7,695,845 msg/sec AtomicQueueB2, 8,s: 6,275,305 msg/sec AtomicQueueB2, 8,i: 7,079,421 msg/sec OptimistAtomicQueue2, 1,s: 635,823,605 msg/sec OptimistAtomicQueue2, 1,i: 29,460,333 msg/sec OptimistAtomicQueue2, 2,s: 26,439,641 msg/sec OptimistAtomicQueue2, 2,i: 26,007,953 msg/sec OptimistAtomicQueue2, 3,s: 30,325,776 msg/sec OptimistAtomicQueue2, 3,i: 29,950,923 msg/sec OptimistAtomicQueue2, 4,s: 33,427,097 msg/sec OptimistAtomicQueue2, 4,i: 33,015,538 msg/sec OptimistAtomicQueue2, 5,s: 37,025,327 msg/sec OptimistAtomicQueue2, 5,i: 40,178,822 msg/sec OptimistAtomicQueue2, 6,s: 39,943,004 msg/sec OptimistAtomicQueue2, 6,i: 49,283,801 msg/sec OptimistAtomicQueue2, 7,s: 42,674,339 msg/sec OptimistAtomicQueue2, 7,i: 48,062,575 msg/sec OptimistAtomicQueue2, 8,s: 44,003,405 msg/sec OptimistAtomicQueue2, 8,i: 48,413,146 msg/sec OptimistAtomicQueueB2, 1,s: 77,448,488 msg/sec OptimistAtomicQueueB2, 1,i: 73,272,914 msg/sec OptimistAtomicQueueB2, 2,s: 28,830,621 msg/sec OptimistAtomicQueueB2, 2,i: 23,168,349 msg/sec OptimistAtomicQueueB2, 3,s: 29,649,099 msg/sec OptimistAtomicQueueB2, 3,i: 29,068,571 msg/sec OptimistAtomicQueueB2, 4,s: 33,596,200 msg/sec OptimistAtomicQueueB2, 4,i: 32,869,198 msg/sec OptimistAtomicQueueB2, 5,s: 34,678,946 msg/sec OptimistAtomicQueueB2, 5,i: 39,180,582 msg/sec OptimistAtomicQueueB2, 6,s: 37,527,600 msg/sec OptimistAtomicQueueB2, 6,i: 42,343,903 msg/sec OptimistAtomicQueueB2, 7,s: 40,119,345 msg/sec OptimistAtomicQueueB2, 7,i: 43,059,083 msg/sec OptimistAtomicQueueB2, 8,s: 42,436,304 msg/sec OptimistAtomicQueueB2, 8,i: 45,142,217 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000151 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000249 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000277 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000157 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [318] 61m:42s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,871,679 msg/sec boost::lockfree::spsc_queue, 1,i: 69,354,907 msg/sec boost::lockfree::queue, 1,s: 6,810,376 msg/sec boost::lockfree::queue, 1,i: 6,918,667 msg/sec boost::lockfree::queue, 2,s: 7,586,633 msg/sec boost::lockfree::queue, 2,i: 7,575,290 msg/sec boost::lockfree::queue, 3,s: 7,458,286 msg/sec boost::lockfree::queue, 3,i: 7,538,050 msg/sec boost::lockfree::queue, 4,s: 6,424,394 msg/sec boost::lockfree::queue, 4,i: 6,827,943 msg/sec boost::lockfree::queue, 5,s: 6,409,690 msg/sec boost::lockfree::queue, 5,i: 6,464,298 msg/sec boost::lockfree::queue, 6,s: 5,990,904 msg/sec boost::lockfree::queue, 6,i: 6,116,620 msg/sec boost::lockfree::queue, 7,s: 6,037,365 msg/sec boost::lockfree::queue, 7,i: 6,060,823 msg/sec boost::lockfree::queue, 8,s: 5,461,168 msg/sec boost::lockfree::queue, 8,i: 5,596,720 msg/sec moodycamel::ReaderWriterQueue, 1,s: 112,465,900 msg/sec moodycamel::ReaderWriterQueue, 1,i: 112,603,650 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,151,996 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,808,732 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,201,545 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,722,954 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,316,900 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,602,616 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,125,818 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,179,235 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,357,951 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,258,266 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,446,648 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,095,354 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,211,209 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,791,401 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,273,113 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,611,664 msg/sec pthread_spinlock, 1,s: 28,773,273 msg/sec pthread_spinlock, 1,i: 25,325,911 msg/sec pthread_spinlock, 2,s: 16,465,599 msg/sec pthread_spinlock, 2,i: 17,204,911 msg/sec pthread_spinlock, 3,s: 8,401,909 msg/sec pthread_spinlock, 3,i: 12,022,071 msg/sec pthread_spinlock, 4,s: 6,455,414 msg/sec pthread_spinlock, 4,i: 8,837,635 msg/sec pthread_spinlock, 5,s: 8,667,140 msg/sec pthread_spinlock, 5,i: 9,439,414 msg/sec pthread_spinlock, 6,s: 8,279,085 msg/sec pthread_spinlock, 6,i: 8,439,844 msg/sec pthread_spinlock, 7,s: 7,526,415 msg/sec pthread_spinlock, 7,i: 7,899,155 msg/sec pthread_spinlock, 8,s: 6,660,386 msg/sec pthread_spinlock, 8,i: 6,967,899 msg/sec std::mutex, 1,s: 5,946,790 msg/sec std::mutex, 1,i: 6,322,230 msg/sec std::mutex, 2,s: 5,299,630 msg/sec std::mutex, 2,i: 5,492,404 msg/sec std::mutex, 3,s: 4,724,365 msg/sec std::mutex, 3,i: 4,899,996 msg/sec std::mutex, 4,s: 5,980,878 msg/sec std::mutex, 4,i: 6,157,287 msg/sec std::mutex, 5,s: 5,921,341 msg/sec std::mutex, 5,i: 5,967,916 msg/sec std::mutex, 6,s: 5,867,963 msg/sec std::mutex, 6,i: 5,933,418 msg/sec std::mutex, 7,s: 5,819,519 msg/sec std::mutex, 7,i: 5,824,581 msg/sec std::mutex, 8,s: 5,724,554 msg/sec std::mutex, 8,i: 5,691,081 msg/sec tbb::spin_mutex, 1,s: 37,759,048 msg/sec tbb::spin_mutex, 1,i: 37,470,380 msg/sec tbb::spin_mutex, 2,s: 21,137,365 msg/sec tbb::spin_mutex, 2,i: 18,432,134 msg/sec tbb::spin_mutex, 3,s: 8,321,469 msg/sec tbb::spin_mutex, 3,i: 10,231,502 msg/sec tbb::spin_mutex, 4,s: 3,247,119 msg/sec tbb::spin_mutex, 4,i: 6,347,302 msg/sec tbb::spin_mutex, 5,s: 5,373,846 msg/sec tbb::spin_mutex, 5,i: 5,397,587 msg/sec tbb::spin_mutex, 6,s: 5,364,086 msg/sec tbb::spin_mutex, 6,i: 4,387,767 msg/sec tbb::spin_mutex, 7,s: 4,838,425 msg/sec tbb::spin_mutex, 7,i: 4,310,912 msg/sec tbb::spin_mutex, 8,s: 4,266,113 msg/sec tbb::spin_mutex, 8,i: 4,125,428 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,863,822 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,389,305 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,756,340 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,976,883 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,313,426 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,539,001 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,394,259 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,225,130 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,652,777 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,734,798 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,749,252 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,035,647 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,937,154 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,966,934 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,869,255 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,108,408 msg/sec xenium::michael_scott_queue, 1,s: 10,082,480 msg/sec xenium::michael_scott_queue, 1,i: 9,956,623 msg/sec xenium::michael_scott_queue, 2,s: 8,484,029 msg/sec xenium::michael_scott_queue, 2,i: 8,538,378 msg/sec xenium::michael_scott_queue, 3,s: 7,079,555 msg/sec xenium::michael_scott_queue, 3,i: 7,588,338 msg/sec xenium::michael_scott_queue, 4,s: 6,284,810 msg/sec xenium::michael_scott_queue, 4,i: 6,325,264 msg/sec xenium::michael_scott_queue, 5,s: 6,302,610 msg/sec xenium::michael_scott_queue, 5,i: 6,660,712 msg/sec xenium::michael_scott_queue, 6,s: 6,561,657 msg/sec xenium::michael_scott_queue, 6,i: 6,696,982 msg/sec xenium::michael_scott_queue, 7,s: 6,268,930 msg/sec xenium::michael_scott_queue, 7,i: 6,691,285 msg/sec xenium::michael_scott_queue, 8,s: 6,035,375 msg/sec xenium::michael_scott_queue, 8,i: 6,118,920 msg/sec xenium::ramalhete_queue, 1,s: 32,629,676 msg/sec xenium::ramalhete_queue, 1,i: 32,441,397 msg/sec xenium::ramalhete_queue, 2,s: 23,474,001 msg/sec xenium::ramalhete_queue, 2,i: 23,334,840 msg/sec xenium::ramalhete_queue, 3,s: 29,266,039 msg/sec xenium::ramalhete_queue, 3,i: 28,575,397 msg/sec xenium::ramalhete_queue, 4,s: 33,979,473 msg/sec xenium::ramalhete_queue, 4,i: 33,520,723 msg/sec xenium::ramalhete_queue, 5,s: 32,137,677 msg/sec xenium::ramalhete_queue, 5,i: 38,481,865 msg/sec xenium::ramalhete_queue, 6,s: 33,967,906 msg/sec xenium::ramalhete_queue, 6,i: 39,000,852 msg/sec xenium::ramalhete_queue, 7,s: 35,290,261 msg/sec xenium::ramalhete_queue, 7,i: 41,657,014 msg/sec xenium::ramalhete_queue, 8,s: 35,560,139 msg/sec xenium::ramalhete_queue, 8,i: 44,081,217 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,485,633 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,043,096 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,209,261 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,847,459 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,670,820 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,296,001 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,585,641 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,225,811 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,787,765 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,335,957 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,018,312 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,465,469 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,323,678 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,309,353 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,398,555 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,362,795 msg/sec AtomicQueue, 1,s: 61,490,642 msg/sec AtomicQueue, 1,i: 56,688,391 msg/sec AtomicQueue, 2,s: 12,272,570 msg/sec AtomicQueue, 2,i: 11,733,467 msg/sec AtomicQueue, 3,s: 10,711,340 msg/sec AtomicQueue, 3,i: 9,898,117 msg/sec AtomicQueue, 4,s: 8,203,400 msg/sec AtomicQueue, 4,i: 8,195,659 msg/sec AtomicQueue, 5,s: 8,018,912 msg/sec AtomicQueue, 5,i: 8,095,541 msg/sec AtomicQueue, 6,s: 7,837,523 msg/sec AtomicQueue, 6,i: 7,601,197 msg/sec AtomicQueue, 7,s: 7,115,910 msg/sec AtomicQueue, 7,i: 7,990,276 msg/sec AtomicQueue, 8,s: 6,363,209 msg/sec AtomicQueue, 8,i: 7,447,189 msg/sec AtomicQueueB, 1,s: 45,512,642 msg/sec AtomicQueueB, 1,i: 43,919,087 msg/sec AtomicQueueB, 2,s: 11,709,268 msg/sec AtomicQueueB, 2,i: 11,376,095 msg/sec AtomicQueueB, 3,s: 11,107,912 msg/sec AtomicQueueB, 3,i: 10,229,194 msg/sec AtomicQueueB, 4,s: 8,086,286 msg/sec AtomicQueueB, 4,i: 8,013,597 msg/sec AtomicQueueB, 5,s: 7,574,737 msg/sec AtomicQueueB, 5,i: 7,867,307 msg/sec AtomicQueueB, 6,s: 7,311,332 msg/sec AtomicQueueB, 6,i: 7,510,412 msg/sec AtomicQueueB, 7,s: 6,919,214 msg/sec AtomicQueueB, 7,i: 7,741,895 msg/sec AtomicQueueB, 8,s: 6,232,716 msg/sec AtomicQueueB, 8,i: 7,168,304 msg/sec OptimistAtomicQueue, 1,s: 681,828,138 msg/sec OptimistAtomicQueue, 1,i: 517,713,837 msg/sec OptimistAtomicQueue, 2,s: 32,637,887 msg/sec OptimistAtomicQueue, 2,i: 32,718,087 msg/sec OptimistAtomicQueue, 3,s: 36,657,107 msg/sec OptimistAtomicQueue, 3,i: 37,404,526 msg/sec OptimistAtomicQueue, 4,s: 39,299,780 msg/sec OptimistAtomicQueue, 4,i: 39,381,492 msg/sec OptimistAtomicQueue, 5,s: 42,402,861 msg/sec OptimistAtomicQueue, 5,i: 46,317,793 msg/sec OptimistAtomicQueue, 6,s: 42,573,299 msg/sec OptimistAtomicQueue, 6,i: 50,485,198 msg/sec OptimistAtomicQueue, 7,s: 45,215,244 msg/sec OptimistAtomicQueue, 7,i: 52,999,890 msg/sec OptimistAtomicQueue, 8,s: 46,275,885 msg/sec OptimistAtomicQueue, 8,i: 49,347,773 msg/sec OptimistAtomicQueueB, 1,s: 150,777,137 msg/sec OptimistAtomicQueueB, 1,i: 77,541,972 msg/sec OptimistAtomicQueueB, 2,s: 32,101,056 msg/sec OptimistAtomicQueueB, 2,i: 32,234,499 msg/sec OptimistAtomicQueueB, 3,s: 36,215,106 msg/sec OptimistAtomicQueueB, 3,i: 36,840,187 msg/sec OptimistAtomicQueueB, 4,s: 38,714,030 msg/sec OptimistAtomicQueueB, 4,i: 38,582,916 msg/sec OptimistAtomicQueueB, 5,s: 40,822,509 msg/sec OptimistAtomicQueueB, 5,i: 45,344,272 msg/sec OptimistAtomicQueueB, 6,s: 41,155,721 msg/sec OptimistAtomicQueueB, 6,i: 48,703,216 msg/sec OptimistAtomicQueueB, 7,s: 41,998,413 msg/sec OptimistAtomicQueueB, 7,i: 50,821,990 msg/sec OptimistAtomicQueueB, 8,s: 44,333,200 msg/sec OptimistAtomicQueueB, 8,i: 48,416,986 msg/sec AtomicQueue2, 1,s: 23,129,044 msg/sec AtomicQueue2, 1,i: 23,109,217 msg/sec AtomicQueue2, 2,s: 11,727,251 msg/sec AtomicQueue2, 2,i: 11,308,829 msg/sec AtomicQueue2, 3,s: 9,421,008 msg/sec AtomicQueue2, 3,i: 9,430,350 msg/sec AtomicQueue2, 4,s: 8,000,222 msg/sec AtomicQueue2, 4,i: 8,072,503 msg/sec AtomicQueue2, 5,s: 7,931,301 msg/sec AtomicQueue2, 5,i: 7,974,008 msg/sec AtomicQueue2, 6,s: 7,793,307 msg/sec AtomicQueue2, 6,i: 7,521,262 msg/sec AtomicQueue2, 7,s: 7,149,923 msg/sec AtomicQueue2, 7,i: 7,859,992 msg/sec AtomicQueue2, 8,s: 6,371,608 msg/sec AtomicQueue2, 8,i: 7,328,977 msg/sec AtomicQueueB2, 1,s: 36,037,772 msg/sec AtomicQueueB2, 1,i: 35,896,199 msg/sec AtomicQueueB2, 2,s: 11,456,219 msg/sec AtomicQueueB2, 2,i: 11,039,561 msg/sec AtomicQueueB2, 3,s: 9,616,379 msg/sec AtomicQueueB2, 3,i: 9,489,603 msg/sec AtomicQueueB2, 4,s: 7,966,090 msg/sec AtomicQueueB2, 4,i: 7,874,415 msg/sec AtomicQueueB2, 5,s: 7,473,913 msg/sec AtomicQueueB2, 5,i: 7,671,536 msg/sec AtomicQueueB2, 6,s: 7,255,595 msg/sec AtomicQueueB2, 6,i: 7,412,956 msg/sec AtomicQueueB2, 7,s: 6,947,109 msg/sec AtomicQueueB2, 7,i: 7,720,669 msg/sec AtomicQueueB2, 8,s: 6,267,878 msg/sec AtomicQueueB2, 8,i: 7,067,711 msg/sec OptimistAtomicQueue2, 1,s: 471,312,615 msg/sec OptimistAtomicQueue2, 1,i: 31,897,422 msg/sec OptimistAtomicQueue2, 2,s: 27,690,347 msg/sec OptimistAtomicQueue2, 2,i: 25,594,050 msg/sec OptimistAtomicQueue2, 3,s: 32,925,989 msg/sec OptimistAtomicQueue2, 3,i: 30,547,070 msg/sec OptimistAtomicQueue2, 4,s: 33,222,031 msg/sec OptimistAtomicQueue2, 4,i: 33,068,167 msg/sec OptimistAtomicQueue2, 5,s: 37,226,742 msg/sec OptimistAtomicQueue2, 5,i: 40,405,870 msg/sec OptimistAtomicQueue2, 6,s: 40,284,639 msg/sec OptimistAtomicQueue2, 6,i: 49,166,992 msg/sec OptimistAtomicQueue2, 7,s: 42,722,636 msg/sec OptimistAtomicQueue2, 7,i: 47,902,410 msg/sec OptimistAtomicQueue2, 8,s: 43,804,672 msg/sec OptimistAtomicQueue2, 8,i: 48,673,508 msg/sec OptimistAtomicQueueB2, 1,s: 79,080,982 msg/sec OptimistAtomicQueueB2, 1,i: 33,918,318 msg/sec OptimistAtomicQueueB2, 2,s: 28,713,060 msg/sec OptimistAtomicQueueB2, 2,i: 23,202,228 msg/sec OptimistAtomicQueueB2, 3,s: 30,113,379 msg/sec OptimistAtomicQueueB2, 3,i: 29,056,122 msg/sec OptimistAtomicQueueB2, 4,s: 33,082,256 msg/sec OptimistAtomicQueueB2, 4,i: 32,143,231 msg/sec OptimistAtomicQueueB2, 5,s: 34,702,604 msg/sec OptimistAtomicQueueB2, 5,i: 39,194,385 msg/sec OptimistAtomicQueueB2, 6,s: 37,568,167 msg/sec OptimistAtomicQueueB2, 6,i: 42,163,044 msg/sec OptimistAtomicQueueB2, 7,s: 40,713,939 msg/sec OptimistAtomicQueueB2, 7,i: 42,951,724 msg/sec OptimistAtomicQueueB2, 8,s: 42,256,455 msg/sec OptimistAtomicQueueB2, 8,i: 45,919,315 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000452 sec/round-trip tbb::spin_mutex: 0.000000246 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [319] 60m:22s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,148,512 msg/sec boost::lockfree::spsc_queue, 1,i: 67,928,797 msg/sec boost::lockfree::queue, 1,s: 6,800,637 msg/sec boost::lockfree::queue, 1,i: 6,903,005 msg/sec boost::lockfree::queue, 2,s: 7,534,723 msg/sec boost::lockfree::queue, 2,i: 7,578,069 msg/sec boost::lockfree::queue, 3,s: 7,387,141 msg/sec boost::lockfree::queue, 3,i: 7,563,197 msg/sec boost::lockfree::queue, 4,s: 6,425,387 msg/sec boost::lockfree::queue, 4,i: 6,998,203 msg/sec boost::lockfree::queue, 5,s: 6,397,414 msg/sec boost::lockfree::queue, 5,i: 6,690,043 msg/sec boost::lockfree::queue, 6,s: 5,976,541 msg/sec boost::lockfree::queue, 6,i: 6,102,392 msg/sec boost::lockfree::queue, 7,s: 5,947,282 msg/sec boost::lockfree::queue, 7,i: 6,039,082 msg/sec boost::lockfree::queue, 8,s: 5,492,723 msg/sec boost::lockfree::queue, 8,i: 5,642,455 msg/sec moodycamel::ReaderWriterQueue, 1,s: 106,654,832 msg/sec moodycamel::ReaderWriterQueue, 1,i: 68,907,358 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,054,852 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,864,562 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,248,027 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,430,006 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,891,444 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,631,035 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,482,534 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,076,683 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,299,057 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,594,733 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,362,292 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,824,639 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,852,218 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,841,100 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,196,618 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,950,967 msg/sec pthread_spinlock, 1,s: 29,211,865 msg/sec pthread_spinlock, 1,i: 25,360,809 msg/sec pthread_spinlock, 2,s: 15,195,725 msg/sec pthread_spinlock, 2,i: 16,905,295 msg/sec pthread_spinlock, 3,s: 8,323,379 msg/sec pthread_spinlock, 3,i: 12,112,147 msg/sec pthread_spinlock, 4,s: 6,485,183 msg/sec pthread_spinlock, 4,i: 8,848,604 msg/sec pthread_spinlock, 5,s: 8,767,801 msg/sec pthread_spinlock, 5,i: 9,228,881 msg/sec pthread_spinlock, 6,s: 8,292,724 msg/sec pthread_spinlock, 6,i: 8,512,475 msg/sec pthread_spinlock, 7,s: 7,477,960 msg/sec pthread_spinlock, 7,i: 7,414,673 msg/sec pthread_spinlock, 8,s: 6,935,801 msg/sec pthread_spinlock, 8,i: 6,848,150 msg/sec std::mutex, 1,s: 6,617,713 msg/sec std::mutex, 1,i: 6,584,349 msg/sec std::mutex, 2,s: 5,454,278 msg/sec std::mutex, 2,i: 5,563,333 msg/sec std::mutex, 3,s: 5,088,321 msg/sec std::mutex, 3,i: 5,140,167 msg/sec std::mutex, 4,s: 5,683,968 msg/sec std::mutex, 4,i: 6,239,746 msg/sec std::mutex, 5,s: 5,943,832 msg/sec std::mutex, 5,i: 6,129,780 msg/sec std::mutex, 6,s: 5,875,627 msg/sec std::mutex, 6,i: 5,842,309 msg/sec std::mutex, 7,s: 5,798,824 msg/sec std::mutex, 7,i: 5,792,546 msg/sec std::mutex, 8,s: 5,668,191 msg/sec std::mutex, 8,i: 5,746,437 msg/sec tbb::spin_mutex, 1,s: 37,968,090 msg/sec tbb::spin_mutex, 1,i: 33,086,857 msg/sec tbb::spin_mutex, 2,s: 21,015,242 msg/sec tbb::spin_mutex, 2,i: 18,309,842 msg/sec tbb::spin_mutex, 3,s: 7,336,304 msg/sec tbb::spin_mutex, 3,i: 11,230,791 msg/sec tbb::spin_mutex, 4,s: 3,039,386 msg/sec tbb::spin_mutex, 4,i: 6,322,446 msg/sec tbb::spin_mutex, 5,s: 5,542,156 msg/sec tbb::spin_mutex, 5,i: 5,784,403 msg/sec tbb::spin_mutex, 6,s: 5,213,238 msg/sec tbb::spin_mutex, 6,i: 4,309,908 msg/sec tbb::spin_mutex, 7,s: 4,731,877 msg/sec tbb::spin_mutex, 7,i: 4,332,792 msg/sec tbb::spin_mutex, 8,s: 4,249,536 msg/sec tbb::spin_mutex, 8,i: 4,075,800 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,401,312 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,287,598 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,875,718 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,705,304 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,001,192 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,549,575 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,341,495 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,224,324 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,814,601 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,196,071 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,897,837 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,490,737 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,040,125 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,606,322 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,059,142 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,743,918 msg/sec xenium::michael_scott_queue, 1,s: 10,060,550 msg/sec xenium::michael_scott_queue, 1,i: 10,013,591 msg/sec xenium::michael_scott_queue, 2,s: 8,497,489 msg/sec xenium::michael_scott_queue, 2,i: 8,492,493 msg/sec xenium::michael_scott_queue, 3,s: 7,175,878 msg/sec xenium::michael_scott_queue, 3,i: 7,560,924 msg/sec xenium::michael_scott_queue, 4,s: 6,262,999 msg/sec xenium::michael_scott_queue, 4,i: 6,297,827 msg/sec xenium::michael_scott_queue, 5,s: 6,292,872 msg/sec xenium::michael_scott_queue, 5,i: 6,600,852 msg/sec xenium::michael_scott_queue, 6,s: 6,492,592 msg/sec xenium::michael_scott_queue, 6,i: 6,927,277 msg/sec xenium::michael_scott_queue, 7,s: 6,278,043 msg/sec xenium::michael_scott_queue, 7,i: 6,510,606 msg/sec xenium::michael_scott_queue, 8,s: 6,028,616 msg/sec xenium::michael_scott_queue, 8,i: 6,287,674 msg/sec xenium::ramalhete_queue, 1,s: 32,347,267 msg/sec xenium::ramalhete_queue, 1,i: 31,966,239 msg/sec xenium::ramalhete_queue, 2,s: 24,511,606 msg/sec xenium::ramalhete_queue, 2,i: 23,471,634 msg/sec xenium::ramalhete_queue, 3,s: 29,192,397 msg/sec xenium::ramalhete_queue, 3,i: 28,568,204 msg/sec xenium::ramalhete_queue, 4,s: 33,724,928 msg/sec xenium::ramalhete_queue, 4,i: 33,540,678 msg/sec xenium::ramalhete_queue, 5,s: 32,037,076 msg/sec xenium::ramalhete_queue, 5,i: 36,144,559 msg/sec xenium::ramalhete_queue, 6,s: 34,015,326 msg/sec xenium::ramalhete_queue, 6,i: 39,079,076 msg/sec xenium::ramalhete_queue, 7,s: 35,027,093 msg/sec xenium::ramalhete_queue, 7,i: 41,030,689 msg/sec xenium::ramalhete_queue, 8,s: 35,650,288 msg/sec xenium::ramalhete_queue, 8,i: 44,113,870 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,933,319 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,901,170 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,926,986 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,070,556 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,621,725 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,995,114 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,539,692 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,218,732 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,213,733 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,382,120 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,845,723 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,331,587 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,242,745 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,898,780 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,438,100 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,220,563 msg/sec AtomicQueue, 1,s: 60,452,734 msg/sec AtomicQueue, 1,i: 56,926,399 msg/sec AtomicQueue, 2,s: 12,256,759 msg/sec AtomicQueue, 2,i: 11,764,094 msg/sec AtomicQueue, 3,s: 10,728,336 msg/sec AtomicQueue, 3,i: 9,867,108 msg/sec AtomicQueue, 4,s: 8,149,876 msg/sec AtomicQueue, 4,i: 8,232,309 msg/sec AtomicQueue, 5,s: 7,882,302 msg/sec AtomicQueue, 5,i: 8,147,236 msg/sec AtomicQueue, 6,s: 7,778,383 msg/sec AtomicQueue, 6,i: 7,610,852 msg/sec AtomicQueue, 7,s: 7,119,223 msg/sec AtomicQueue, 7,i: 7,993,828 msg/sec AtomicQueue, 8,s: 6,370,001 msg/sec AtomicQueue, 8,i: 7,468,676 msg/sec AtomicQueueB, 1,s: 50,651,882 msg/sec AtomicQueueB, 1,i: 43,072,880 msg/sec AtomicQueueB, 2,s: 11,800,185 msg/sec AtomicQueueB, 2,i: 11,499,877 msg/sec AtomicQueueB, 3,s: 10,962,721 msg/sec AtomicQueueB, 3,i: 10,246,348 msg/sec AtomicQueueB, 4,s: 7,998,365 msg/sec AtomicQueueB, 4,i: 8,022,044 msg/sec AtomicQueueB, 5,s: 7,558,340 msg/sec AtomicQueueB, 5,i: 7,848,074 msg/sec AtomicQueueB, 6,s: 7,249,311 msg/sec AtomicQueueB, 6,i: 7,531,673 msg/sec AtomicQueueB, 7,s: 6,888,326 msg/sec AtomicQueueB, 7,i: 7,739,440 msg/sec AtomicQueueB, 8,s: 6,281,278 msg/sec AtomicQueueB, 8,i: 7,203,129 msg/sec OptimistAtomicQueue, 1,s: 745,329,069 msg/sec OptimistAtomicQueue, 1,i: 584,276,647 msg/sec OptimistAtomicQueue, 2,s: 32,658,729 msg/sec OptimistAtomicQueue, 2,i: 32,680,663 msg/sec OptimistAtomicQueue, 3,s: 36,683,802 msg/sec OptimistAtomicQueue, 3,i: 37,331,692 msg/sec OptimistAtomicQueue, 4,s: 39,283,341 msg/sec OptimistAtomicQueue, 4,i: 39,366,738 msg/sec OptimistAtomicQueue, 5,s: 42,394,060 msg/sec OptimistAtomicQueue, 5,i: 46,373,028 msg/sec OptimistAtomicQueue, 6,s: 42,917,034 msg/sec OptimistAtomicQueue, 6,i: 50,342,037 msg/sec OptimistAtomicQueue, 7,s: 45,357,084 msg/sec OptimistAtomicQueue, 7,i: 49,134,183 msg/sec OptimistAtomicQueue, 8,s: 46,392,199 msg/sec OptimistAtomicQueue, 8,i: 49,516,352 msg/sec OptimistAtomicQueueB, 1,s: 157,261,739 msg/sec OptimistAtomicQueueB, 1,i: 76,439,717 msg/sec OptimistAtomicQueueB, 2,s: 32,171,760 msg/sec OptimistAtomicQueueB, 2,i: 32,169,252 msg/sec OptimistAtomicQueueB, 3,s: 36,279,483 msg/sec OptimistAtomicQueueB, 3,i: 36,972,850 msg/sec OptimistAtomicQueueB, 4,s: 38,658,616 msg/sec OptimistAtomicQueueB, 4,i: 38,602,004 msg/sec OptimistAtomicQueueB, 5,s: 41,345,916 msg/sec OptimistAtomicQueueB, 5,i: 45,571,801 msg/sec OptimistAtomicQueueB, 6,s: 41,321,012 msg/sec OptimistAtomicQueueB, 6,i: 49,065,653 msg/sec OptimistAtomicQueueB, 7,s: 41,839,951 msg/sec OptimistAtomicQueueB, 7,i: 48,329,406 msg/sec OptimistAtomicQueueB, 8,s: 44,490,508 msg/sec OptimistAtomicQueueB, 8,i: 48,098,685 msg/sec AtomicQueue2, 1,s: 22,890,165 msg/sec AtomicQueue2, 1,i: 22,923,321 msg/sec AtomicQueue2, 2,s: 11,754,166 msg/sec AtomicQueue2, 2,i: 11,378,624 msg/sec AtomicQueue2, 3,s: 9,585,045 msg/sec AtomicQueue2, 3,i: 9,528,832 msg/sec AtomicQueue2, 4,s: 8,062,012 msg/sec AtomicQueue2, 4,i: 8,015,247 msg/sec AtomicQueue2, 5,s: 7,939,708 msg/sec AtomicQueue2, 5,i: 8,074,082 msg/sec AtomicQueue2, 6,s: 7,778,035 msg/sec AtomicQueue2, 6,i: 7,519,349 msg/sec AtomicQueue2, 7,s: 7,165,030 msg/sec AtomicQueue2, 7,i: 7,908,707 msg/sec AtomicQueue2, 8,s: 6,402,202 msg/sec AtomicQueue2, 8,i: 7,383,673 msg/sec AtomicQueueB2, 1,s: 36,124,117 msg/sec AtomicQueueB2, 1,i: 32,648,381 msg/sec AtomicQueueB2, 2,s: 11,380,751 msg/sec AtomicQueueB2, 2,i: 11,168,631 msg/sec AtomicQueueB2, 3,s: 9,750,712 msg/sec AtomicQueueB2, 3,i: 9,517,452 msg/sec AtomicQueueB2, 4,s: 7,929,337 msg/sec AtomicQueueB2, 4,i: 7,822,952 msg/sec AtomicQueueB2, 5,s: 7,534,722 msg/sec AtomicQueueB2, 5,i: 7,737,461 msg/sec AtomicQueueB2, 6,s: 7,361,422 msg/sec AtomicQueueB2, 6,i: 7,424,378 msg/sec AtomicQueueB2, 7,s: 6,900,295 msg/sec AtomicQueueB2, 7,i: 7,692,141 msg/sec AtomicQueueB2, 8,s: 6,287,933 msg/sec AtomicQueueB2, 8,i: 6,963,124 msg/sec OptimistAtomicQueue2, 1,s: 32,770,110 msg/sec OptimistAtomicQueue2, 1,i: 60,907,172 msg/sec OptimistAtomicQueue2, 2,s: 26,179,540 msg/sec OptimistAtomicQueue2, 2,i: 24,008,292 msg/sec OptimistAtomicQueue2, 3,s: 30,314,689 msg/sec OptimistAtomicQueue2, 3,i: 29,937,561 msg/sec OptimistAtomicQueue2, 4,s: 33,614,098 msg/sec OptimistAtomicQueue2, 4,i: 33,139,863 msg/sec OptimistAtomicQueue2, 5,s: 37,006,169 msg/sec OptimistAtomicQueue2, 5,i: 41,211,996 msg/sec OptimistAtomicQueue2, 6,s: 39,975,873 msg/sec OptimistAtomicQueue2, 6,i: 49,276,281 msg/sec OptimistAtomicQueue2, 7,s: 42,754,844 msg/sec OptimistAtomicQueue2, 7,i: 51,465,149 msg/sec OptimistAtomicQueue2, 8,s: 43,829,603 msg/sec OptimistAtomicQueue2, 8,i: 49,123,302 msg/sec OptimistAtomicQueueB2, 1,s: 78,714,898 msg/sec OptimistAtomicQueueB2, 1,i: 33,902,280 msg/sec OptimistAtomicQueueB2, 2,s: 27,168,978 msg/sec OptimistAtomicQueueB2, 2,i: 23,171,530 msg/sec OptimistAtomicQueueB2, 3,s: 29,893,498 msg/sec OptimistAtomicQueueB2, 3,i: 29,094,119 msg/sec OptimistAtomicQueueB2, 4,s: 33,039,088 msg/sec OptimistAtomicQueueB2, 4,i: 32,633,975 msg/sec OptimistAtomicQueueB2, 5,s: 34,831,675 msg/sec OptimistAtomicQueueB2, 5,i: 39,745,034 msg/sec OptimistAtomicQueueB2, 6,s: 37,606,384 msg/sec OptimistAtomicQueueB2, 6,i: 42,363,128 msg/sec OptimistAtomicQueueB2, 7,s: 40,137,510 msg/sec OptimistAtomicQueueB2, 7,i: 45,412,547 msg/sec OptimistAtomicQueueB2, 8,s: 42,621,798 msg/sec OptimistAtomicQueueB2, 8,i: 44,915,359 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000239 sec/round-trip std::mutex: 0.000000440 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000284 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [320] 59m:3s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,071,763 msg/sec boost::lockfree::spsc_queue, 1,i: 69,715,820 msg/sec boost::lockfree::queue, 1,s: 7,140,948 msg/sec boost::lockfree::queue, 1,i: 6,891,840 msg/sec boost::lockfree::queue, 2,s: 7,645,233 msg/sec boost::lockfree::queue, 2,i: 7,435,190 msg/sec boost::lockfree::queue, 3,s: 7,495,480 msg/sec boost::lockfree::queue, 3,i: 7,545,425 msg/sec boost::lockfree::queue, 4,s: 6,424,449 msg/sec boost::lockfree::queue, 4,i: 6,746,500 msg/sec boost::lockfree::queue, 5,s: 6,404,282 msg/sec boost::lockfree::queue, 5,i: 6,512,035 msg/sec boost::lockfree::queue, 6,s: 6,015,486 msg/sec boost::lockfree::queue, 6,i: 6,162,124 msg/sec boost::lockfree::queue, 7,s: 5,924,360 msg/sec boost::lockfree::queue, 7,i: 6,087,927 msg/sec boost::lockfree::queue, 8,s: 5,467,906 msg/sec boost::lockfree::queue, 8,i: 5,571,316 msg/sec moodycamel::ReaderWriterQueue, 1,s: 455,200,270 msg/sec moodycamel::ReaderWriterQueue, 1,i: 423,717,278 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,136,313 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,604,549 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,598,050 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,480,263 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,410,158 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,054,648 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,389,809 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,450,997 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,360,155 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,844,016 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,333,537 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,213,480 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,990,646 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,810,304 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,522,903 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,953,224 msg/sec pthread_spinlock, 1,s: 29,071,248 msg/sec pthread_spinlock, 1,i: 25,305,213 msg/sec pthread_spinlock, 2,s: 16,372,710 msg/sec pthread_spinlock, 2,i: 16,893,531 msg/sec pthread_spinlock, 3,s: 8,303,216 msg/sec pthread_spinlock, 3,i: 12,050,845 msg/sec pthread_spinlock, 4,s: 6,506,417 msg/sec pthread_spinlock, 4,i: 8,880,418 msg/sec pthread_spinlock, 5,s: 8,680,065 msg/sec pthread_spinlock, 5,i: 10,412,152 msg/sec pthread_spinlock, 6,s: 8,363,780 msg/sec pthread_spinlock, 6,i: 9,032,994 msg/sec pthread_spinlock, 7,s: 7,381,011 msg/sec pthread_spinlock, 7,i: 8,009,638 msg/sec pthread_spinlock, 8,s: 6,658,464 msg/sec pthread_spinlock, 8,i: 6,816,217 msg/sec std::mutex, 1,s: 7,264,371 msg/sec std::mutex, 1,i: 7,589,718 msg/sec std::mutex, 2,s: 5,423,046 msg/sec std::mutex, 2,i: 5,476,968 msg/sec std::mutex, 3,s: 5,091,047 msg/sec std::mutex, 3,i: 4,700,764 msg/sec std::mutex, 4,s: 6,191,150 msg/sec std::mutex, 4,i: 5,963,689 msg/sec std::mutex, 5,s: 5,563,852 msg/sec std::mutex, 5,i: 5,965,677 msg/sec std::mutex, 6,s: 5,878,995 msg/sec std::mutex, 6,i: 5,914,608 msg/sec std::mutex, 7,s: 5,781,416 msg/sec std::mutex, 7,i: 5,817,094 msg/sec std::mutex, 8,s: 5,655,938 msg/sec std::mutex, 8,i: 5,708,459 msg/sec tbb::spin_mutex, 1,s: 37,953,669 msg/sec tbb::spin_mutex, 1,i: 33,130,185 msg/sec tbb::spin_mutex, 2,s: 21,123,088 msg/sec tbb::spin_mutex, 2,i: 18,370,237 msg/sec tbb::spin_mutex, 3,s: 9,040,859 msg/sec tbb::spin_mutex, 3,i: 11,308,037 msg/sec tbb::spin_mutex, 4,s: 3,185,792 msg/sec tbb::spin_mutex, 4,i: 6,374,662 msg/sec tbb::spin_mutex, 5,s: 5,233,135 msg/sec tbb::spin_mutex, 5,i: 5,830,973 msg/sec tbb::spin_mutex, 6,s: 5,212,577 msg/sec tbb::spin_mutex, 6,i: 4,315,860 msg/sec tbb::spin_mutex, 7,s: 4,826,884 msg/sec tbb::spin_mutex, 7,i: 4,360,470 msg/sec tbb::spin_mutex, 8,s: 3,772,190 msg/sec tbb::spin_mutex, 8,i: 4,084,931 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,517,906 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,596,455 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,872,713 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,143,898 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,369,376 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,772,148 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,057,568 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,391,046 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,820,805 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,706,300 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,860,944 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,944,009 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,737,802 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,117,956 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,632,943 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,324,475 msg/sec xenium::michael_scott_queue, 1,s: 10,158,229 msg/sec xenium::michael_scott_queue, 1,i: 10,069,666 msg/sec xenium::michael_scott_queue, 2,s: 8,446,070 msg/sec xenium::michael_scott_queue, 2,i: 8,464,263 msg/sec xenium::michael_scott_queue, 3,s: 7,291,853 msg/sec xenium::michael_scott_queue, 3,i: 7,575,663 msg/sec xenium::michael_scott_queue, 4,s: 6,295,957 msg/sec xenium::michael_scott_queue, 4,i: 6,366,051 msg/sec xenium::michael_scott_queue, 5,s: 6,295,452 msg/sec xenium::michael_scott_queue, 5,i: 6,694,876 msg/sec xenium::michael_scott_queue, 6,s: 6,572,940 msg/sec xenium::michael_scott_queue, 6,i: 6,962,362 msg/sec xenium::michael_scott_queue, 7,s: 6,387,173 msg/sec xenium::michael_scott_queue, 7,i: 6,597,984 msg/sec xenium::michael_scott_queue, 8,s: 6,017,037 msg/sec xenium::michael_scott_queue, 8,i: 6,187,126 msg/sec xenium::ramalhete_queue, 1,s: 30,559,703 msg/sec xenium::ramalhete_queue, 1,i: 31,063,233 msg/sec xenium::ramalhete_queue, 2,s: 23,455,329 msg/sec xenium::ramalhete_queue, 2,i: 23,053,479 msg/sec xenium::ramalhete_queue, 3,s: 29,156,040 msg/sec xenium::ramalhete_queue, 3,i: 28,489,595 msg/sec xenium::ramalhete_queue, 4,s: 33,852,478 msg/sec xenium::ramalhete_queue, 4,i: 33,471,284 msg/sec xenium::ramalhete_queue, 5,s: 31,985,005 msg/sec xenium::ramalhete_queue, 5,i: 36,017,842 msg/sec xenium::ramalhete_queue, 6,s: 34,057,778 msg/sec xenium::ramalhete_queue, 6,i: 39,094,124 msg/sec xenium::ramalhete_queue, 7,s: 35,162,632 msg/sec xenium::ramalhete_queue, 7,i: 41,506,134 msg/sec xenium::ramalhete_queue, 8,s: 35,597,573 msg/sec xenium::ramalhete_queue, 8,i: 44,453,799 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,044,983 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,920,638 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,910,476 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,154,701 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,746,812 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,944,151 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,588,770 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,264,227 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,003,122 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,324,501 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,160,970 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,209,463 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,211,609 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,994,304 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,417,349 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,208,049 msg/sec AtomicQueue, 1,s: 58,781,257 msg/sec AtomicQueue, 1,i: 57,153,724 msg/sec AtomicQueue, 2,s: 12,212,018 msg/sec AtomicQueue, 2,i: 11,734,575 msg/sec AtomicQueue, 3,s: 10,842,261 msg/sec AtomicQueue, 3,i: 9,910,512 msg/sec AtomicQueue, 4,s: 8,165,290 msg/sec AtomicQueue, 4,i: 8,184,824 msg/sec AtomicQueue, 5,s: 8,029,630 msg/sec AtomicQueue, 5,i: 8,095,280 msg/sec AtomicQueue, 6,s: 7,842,340 msg/sec AtomicQueue, 6,i: 7,619,793 msg/sec AtomicQueue, 7,s: 7,195,011 msg/sec AtomicQueue, 7,i: 7,985,905 msg/sec AtomicQueue, 8,s: 6,337,766 msg/sec AtomicQueue, 8,i: 7,502,304 msg/sec AtomicQueueB, 1,s: 116,970,734 msg/sec AtomicQueueB, 1,i: 43,792,676 msg/sec AtomicQueueB, 2,s: 11,664,380 msg/sec AtomicQueueB, 2,i: 11,472,693 msg/sec AtomicQueueB, 3,s: 11,044,129 msg/sec AtomicQueueB, 3,i: 10,195,813 msg/sec AtomicQueueB, 4,s: 8,083,553 msg/sec AtomicQueueB, 4,i: 8,079,256 msg/sec AtomicQueueB, 5,s: 7,472,647 msg/sec AtomicQueueB, 5,i: 7,784,383 msg/sec AtomicQueueB, 6,s: 7,252,883 msg/sec AtomicQueueB, 6,i: 7,556,801 msg/sec AtomicQueueB, 7,s: 6,820,340 msg/sec AtomicQueueB, 7,i: 7,760,457 msg/sec AtomicQueueB, 8,s: 6,189,000 msg/sec AtomicQueueB, 8,i: 7,134,844 msg/sec OptimistAtomicQueue, 1,s: 699,296,053 msg/sec OptimistAtomicQueue, 1,i: 540,787,622 msg/sec OptimistAtomicQueue, 2,s: 32,098,323 msg/sec OptimistAtomicQueue, 2,i: 32,146,635 msg/sec OptimistAtomicQueue, 3,s: 36,660,602 msg/sec OptimistAtomicQueue, 3,i: 37,354,132 msg/sec OptimistAtomicQueue, 4,s: 39,274,236 msg/sec OptimistAtomicQueue, 4,i: 39,396,063 msg/sec OptimistAtomicQueue, 5,s: 41,702,193 msg/sec OptimistAtomicQueue, 5,i: 47,143,037 msg/sec OptimistAtomicQueue, 6,s: 42,647,957 msg/sec OptimistAtomicQueue, 6,i: 50,168,215 msg/sec OptimistAtomicQueue, 7,s: 44,303,922 msg/sec OptimistAtomicQueue, 7,i: 53,078,291 msg/sec OptimistAtomicQueue, 8,s: 46,387,985 msg/sec OptimistAtomicQueue, 8,i: 49,630,956 msg/sec OptimistAtomicQueueB, 1,s: 179,388,961 msg/sec OptimistAtomicQueueB, 1,i: 80,688,825 msg/sec OptimistAtomicQueueB, 2,s: 32,248,173 msg/sec OptimistAtomicQueueB, 2,i: 32,206,281 msg/sec OptimistAtomicQueueB, 3,s: 36,303,991 msg/sec OptimistAtomicQueueB, 3,i: 36,938,074 msg/sec OptimistAtomicQueueB, 4,s: 38,632,342 msg/sec OptimistAtomicQueueB, 4,i: 38,705,811 msg/sec OptimistAtomicQueueB, 5,s: 40,729,570 msg/sec OptimistAtomicQueueB, 5,i: 45,178,940 msg/sec OptimistAtomicQueueB, 6,s: 40,767,194 msg/sec OptimistAtomicQueueB, 6,i: 49,004,795 msg/sec OptimistAtomicQueueB, 7,s: 41,978,086 msg/sec OptimistAtomicQueueB, 7,i: 51,583,650 msg/sec OptimistAtomicQueueB, 8,s: 44,380,909 msg/sec OptimistAtomicQueueB, 8,i: 48,011,520 msg/sec AtomicQueue2, 1,s: 23,156,028 msg/sec AtomicQueue2, 1,i: 23,120,061 msg/sec AtomicQueue2, 2,s: 11,985,735 msg/sec AtomicQueue2, 2,i: 11,474,120 msg/sec AtomicQueue2, 3,s: 9,427,052 msg/sec AtomicQueue2, 3,i: 9,386,444 msg/sec AtomicQueue2, 4,s: 8,074,981 msg/sec AtomicQueue2, 4,i: 8,018,513 msg/sec AtomicQueue2, 5,s: 7,937,016 msg/sec AtomicQueue2, 5,i: 7,936,504 msg/sec AtomicQueue2, 6,s: 7,865,475 msg/sec AtomicQueue2, 6,i: 7,540,939 msg/sec AtomicQueue2, 7,s: 7,141,113 msg/sec AtomicQueue2, 7,i: 7,693,240 msg/sec AtomicQueue2, 8,s: 6,380,306 msg/sec AtomicQueue2, 8,i: 7,344,407 msg/sec AtomicQueueB2, 1,s: 36,083,583 msg/sec AtomicQueueB2, 1,i: 36,055,971 msg/sec AtomicQueueB2, 2,s: 11,347,685 msg/sec AtomicQueueB2, 2,i: 11,106,603 msg/sec AtomicQueueB2, 3,s: 9,665,683 msg/sec AtomicQueueB2, 3,i: 9,580,185 msg/sec AtomicQueueB2, 4,s: 7,920,070 msg/sec AtomicQueueB2, 4,i: 7,878,634 msg/sec AtomicQueueB2, 5,s: 7,515,360 msg/sec AtomicQueueB2, 5,i: 7,747,478 msg/sec AtomicQueueB2, 6,s: 7,222,112 msg/sec AtomicQueueB2, 6,i: 7,457,144 msg/sec AtomicQueueB2, 7,s: 6,901,697 msg/sec AtomicQueueB2, 7,i: 7,694,774 msg/sec AtomicQueueB2, 8,s: 6,271,384 msg/sec AtomicQueueB2, 8,i: 6,955,450 msg/sec OptimistAtomicQueue2, 1,s: 43,635,289 msg/sec OptimistAtomicQueue2, 1,i: 29,626,624 msg/sec OptimistAtomicQueue2, 2,s: 22,602,570 msg/sec OptimistAtomicQueue2, 2,i: 24,267,220 msg/sec OptimistAtomicQueue2, 3,s: 30,446,087 msg/sec OptimistAtomicQueue2, 3,i: 29,974,550 msg/sec OptimistAtomicQueue2, 4,s: 33,212,766 msg/sec OptimistAtomicQueue2, 4,i: 33,060,533 msg/sec OptimistAtomicQueue2, 5,s: 37,193,303 msg/sec OptimistAtomicQueue2, 5,i: 40,307,263 msg/sec OptimistAtomicQueue2, 6,s: 40,004,385 msg/sec OptimistAtomicQueue2, 6,i: 49,078,029 msg/sec OptimistAtomicQueue2, 7,s: 43,236,780 msg/sec OptimistAtomicQueue2, 7,i: 51,505,277 msg/sec OptimistAtomicQueue2, 8,s: 44,201,902 msg/sec OptimistAtomicQueue2, 8,i: 48,258,510 msg/sec OptimistAtomicQueueB2, 1,s: 77,009,251 msg/sec OptimistAtomicQueueB2, 1,i: 33,872,658 msg/sec OptimistAtomicQueueB2, 2,s: 26,892,047 msg/sec OptimistAtomicQueueB2, 2,i: 23,830,032 msg/sec OptimistAtomicQueueB2, 3,s: 29,606,094 msg/sec OptimistAtomicQueueB2, 3,i: 29,550,292 msg/sec OptimistAtomicQueueB2, 4,s: 33,305,011 msg/sec OptimistAtomicQueueB2, 4,i: 33,026,659 msg/sec OptimistAtomicQueueB2, 5,s: 34,621,340 msg/sec OptimistAtomicQueueB2, 5,i: 39,364,701 msg/sec OptimistAtomicQueueB2, 6,s: 37,233,154 msg/sec OptimistAtomicQueueB2, 6,i: 42,398,761 msg/sec OptimistAtomicQueueB2, 7,s: 40,148,787 msg/sec OptimistAtomicQueueB2, 7,i: 43,268,346 msg/sec OptimistAtomicQueueB2, 8,s: 42,461,603 msg/sec OptimistAtomicQueueB2, 8,i: 45,833,574 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000251 sec/round-trip pthread_spinlock: 0.000000236 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000376 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000189 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [321] 57m:44s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,372,849 msg/sec boost::lockfree::spsc_queue, 1,i: 68,247,249 msg/sec boost::lockfree::queue, 1,s: 6,820,693 msg/sec boost::lockfree::queue, 1,i: 6,979,742 msg/sec boost::lockfree::queue, 2,s: 7,520,267 msg/sec boost::lockfree::queue, 2,i: 7,538,315 msg/sec boost::lockfree::queue, 3,s: 7,434,713 msg/sec boost::lockfree::queue, 3,i: 7,581,149 msg/sec boost::lockfree::queue, 4,s: 6,418,891 msg/sec boost::lockfree::queue, 4,i: 6,877,923 msg/sec boost::lockfree::queue, 5,s: 6,399,421 msg/sec boost::lockfree::queue, 5,i: 6,522,467 msg/sec boost::lockfree::queue, 6,s: 5,962,467 msg/sec boost::lockfree::queue, 6,i: 6,121,308 msg/sec boost::lockfree::queue, 7,s: 5,877,284 msg/sec boost::lockfree::queue, 7,i: 6,094,270 msg/sec boost::lockfree::queue, 8,s: 5,512,472 msg/sec boost::lockfree::queue, 8,i: 5,610,800 msg/sec moodycamel::ReaderWriterQueue, 1,s: 467,266,247 msg/sec moodycamel::ReaderWriterQueue, 1,i: 68,471,956 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,607,822 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,469,575 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,547,181 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,600,183 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,756,948 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,547,634 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,465,797 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,806,120 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,396,402 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,828,948 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,578,179 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,808,311 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,903,962 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,809,595 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,280,075 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,458,159 msg/sec pthread_spinlock, 1,s: 28,751,787 msg/sec pthread_spinlock, 1,i: 25,287,599 msg/sec pthread_spinlock, 2,s: 16,044,510 msg/sec pthread_spinlock, 2,i: 16,987,221 msg/sec pthread_spinlock, 3,s: 8,348,243 msg/sec pthread_spinlock, 3,i: 12,081,362 msg/sec pthread_spinlock, 4,s: 6,492,666 msg/sec pthread_spinlock, 4,i: 9,157,913 msg/sec pthread_spinlock, 5,s: 8,598,417 msg/sec pthread_spinlock, 5,i: 8,792,026 msg/sec pthread_spinlock, 6,s: 8,626,121 msg/sec pthread_spinlock, 6,i: 8,573,535 msg/sec pthread_spinlock, 7,s: 7,524,638 msg/sec pthread_spinlock, 7,i: 7,472,294 msg/sec pthread_spinlock, 8,s: 6,778,128 msg/sec pthread_spinlock, 8,i: 6,945,648 msg/sec std::mutex, 1,s: 6,342,339 msg/sec std::mutex, 1,i: 6,997,481 msg/sec std::mutex, 2,s: 6,105,549 msg/sec std::mutex, 2,i: 5,900,759 msg/sec std::mutex, 3,s: 5,329,763 msg/sec std::mutex, 3,i: 4,990,879 msg/sec std::mutex, 4,s: 5,634,241 msg/sec std::mutex, 4,i: 5,733,867 msg/sec std::mutex, 5,s: 5,277,866 msg/sec std::mutex, 5,i: 5,932,377 msg/sec std::mutex, 6,s: 5,872,462 msg/sec std::mutex, 6,i: 5,837,822 msg/sec std::mutex, 7,s: 5,691,346 msg/sec std::mutex, 7,i: 5,718,216 msg/sec std::mutex, 8,s: 5,614,875 msg/sec std::mutex, 8,i: 5,575,592 msg/sec tbb::spin_mutex, 1,s: 37,617,220 msg/sec tbb::spin_mutex, 1,i: 33,055,809 msg/sec tbb::spin_mutex, 2,s: 21,069,695 msg/sec tbb::spin_mutex, 2,i: 21,060,240 msg/sec tbb::spin_mutex, 3,s: 8,830,731 msg/sec tbb::spin_mutex, 3,i: 10,237,781 msg/sec tbb::spin_mutex, 4,s: 3,123,890 msg/sec tbb::spin_mutex, 4,i: 6,409,890 msg/sec tbb::spin_mutex, 5,s: 5,515,596 msg/sec tbb::spin_mutex, 5,i: 5,651,078 msg/sec tbb::spin_mutex, 6,s: 5,332,976 msg/sec tbb::spin_mutex, 6,i: 4,367,280 msg/sec tbb::spin_mutex, 7,s: 4,435,413 msg/sec tbb::spin_mutex, 7,i: 4,342,947 msg/sec tbb::spin_mutex, 8,s: 3,909,985 msg/sec tbb::spin_mutex, 8,i: 4,172,923 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,545,729 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,899,362 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,413,039 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,088,044 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,498,954 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,750,373 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,349,410 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,257,368 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,677,133 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,807,374 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,762,415 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,966,005 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,851,142 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,067,700 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,869,164 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,118,316 msg/sec xenium::michael_scott_queue, 1,s: 9,397,503 msg/sec xenium::michael_scott_queue, 1,i: 9,242,938 msg/sec xenium::michael_scott_queue, 2,s: 8,414,978 msg/sec xenium::michael_scott_queue, 2,i: 8,465,921 msg/sec xenium::michael_scott_queue, 3,s: 7,374,605 msg/sec xenium::michael_scott_queue, 3,i: 7,550,965 msg/sec xenium::michael_scott_queue, 4,s: 6,275,736 msg/sec xenium::michael_scott_queue, 4,i: 6,328,166 msg/sec xenium::michael_scott_queue, 5,s: 6,255,488 msg/sec xenium::michael_scott_queue, 5,i: 6,636,739 msg/sec xenium::michael_scott_queue, 6,s: 6,449,366 msg/sec xenium::michael_scott_queue, 6,i: 6,687,785 msg/sec xenium::michael_scott_queue, 7,s: 6,279,667 msg/sec xenium::michael_scott_queue, 7,i: 6,385,652 msg/sec xenium::michael_scott_queue, 8,s: 6,028,808 msg/sec xenium::michael_scott_queue, 8,i: 6,250,704 msg/sec xenium::ramalhete_queue, 1,s: 31,732,538 msg/sec xenium::ramalhete_queue, 1,i: 31,799,970 msg/sec xenium::ramalhete_queue, 2,s: 24,466,576 msg/sec xenium::ramalhete_queue, 2,i: 23,379,607 msg/sec xenium::ramalhete_queue, 3,s: 29,123,994 msg/sec xenium::ramalhete_queue, 3,i: 28,470,256 msg/sec xenium::ramalhete_queue, 4,s: 33,670,400 msg/sec xenium::ramalhete_queue, 4,i: 33,444,052 msg/sec xenium::ramalhete_queue, 5,s: 32,202,848 msg/sec xenium::ramalhete_queue, 5,i: 36,004,361 msg/sec xenium::ramalhete_queue, 6,s: 34,145,020 msg/sec xenium::ramalhete_queue, 6,i: 38,472,915 msg/sec xenium::ramalhete_queue, 7,s: 35,196,430 msg/sec xenium::ramalhete_queue, 7,i: 40,932,923 msg/sec xenium::ramalhete_queue, 8,s: 35,228,566 msg/sec xenium::ramalhete_queue, 8,i: 43,713,310 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,884,619 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,290,495 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,925,761 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,458,813 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,629,934 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,768,497 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,544,170 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,389,200 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,384,663 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,424,992 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,824,210 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,442,394 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,169,031 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,103,024 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,405,149 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,384,142 msg/sec AtomicQueue, 1,s: 60,201,982 msg/sec AtomicQueue, 1,i: 56,911,273 msg/sec AtomicQueue, 2,s: 12,296,510 msg/sec AtomicQueue, 2,i: 11,740,900 msg/sec AtomicQueue, 3,s: 10,753,899 msg/sec AtomicQueue, 3,i: 9,944,745 msg/sec AtomicQueue, 4,s: 8,184,439 msg/sec AtomicQueue, 4,i: 8,199,237 msg/sec AtomicQueue, 5,s: 8,007,738 msg/sec AtomicQueue, 5,i: 8,087,352 msg/sec AtomicQueue, 6,s: 7,680,028 msg/sec AtomicQueue, 6,i: 7,606,962 msg/sec AtomicQueue, 7,s: 7,173,563 msg/sec AtomicQueue, 7,i: 7,978,133 msg/sec AtomicQueue, 8,s: 6,323,177 msg/sec AtomicQueue, 8,i: 7,461,924 msg/sec AtomicQueueB, 1,s: 44,030,844 msg/sec AtomicQueueB, 1,i: 75,217,078 msg/sec AtomicQueueB, 2,s: 11,769,971 msg/sec AtomicQueueB, 2,i: 11,421,570 msg/sec AtomicQueueB, 3,s: 11,012,302 msg/sec AtomicQueueB, 3,i: 10,366,259 msg/sec AtomicQueueB, 4,s: 8,031,126 msg/sec AtomicQueueB, 4,i: 8,060,795 msg/sec AtomicQueueB, 5,s: 7,523,656 msg/sec AtomicQueueB, 5,i: 7,797,329 msg/sec AtomicQueueB, 6,s: 7,317,036 msg/sec AtomicQueueB, 6,i: 7,543,788 msg/sec AtomicQueueB, 7,s: 6,893,624 msg/sec AtomicQueueB, 7,i: 7,706,024 msg/sec AtomicQueueB, 8,s: 6,213,354 msg/sec AtomicQueueB, 8,i: 7,156,315 msg/sec OptimistAtomicQueue, 1,s: 771,114,661 msg/sec OptimistAtomicQueue, 1,i: 565,154,388 msg/sec OptimistAtomicQueue, 2,s: 32,168,854 msg/sec OptimistAtomicQueue, 2,i: 32,741,853 msg/sec OptimistAtomicQueue, 3,s: 36,666,718 msg/sec OptimistAtomicQueue, 3,i: 37,417,537 msg/sec OptimistAtomicQueue, 4,s: 39,293,282 msg/sec OptimistAtomicQueue, 4,i: 39,413,471 msg/sec OptimistAtomicQueue, 5,s: 42,406,811 msg/sec OptimistAtomicQueue, 5,i: 46,266,873 msg/sec OptimistAtomicQueue, 6,s: 42,667,727 msg/sec OptimistAtomicQueue, 6,i: 50,395,120 msg/sec OptimistAtomicQueue, 7,s: 45,104,270 msg/sec OptimistAtomicQueue, 7,i: 52,912,407 msg/sec OptimistAtomicQueue, 8,s: 46,389,812 msg/sec OptimistAtomicQueue, 8,i: 48,773,134 msg/sec OptimistAtomicQueueB, 1,s: 129,245,300 msg/sec OptimistAtomicQueueB, 1,i: 76,507,719 msg/sec OptimistAtomicQueueB, 2,s: 31,864,603 msg/sec OptimistAtomicQueueB, 2,i: 32,117,235 msg/sec OptimistAtomicQueueB, 3,s: 36,019,269 msg/sec OptimistAtomicQueueB, 3,i: 36,784,666 msg/sec OptimistAtomicQueueB, 4,s: 38,635,090 msg/sec OptimistAtomicQueueB, 4,i: 38,705,981 msg/sec OptimistAtomicQueueB, 5,s: 40,125,938 msg/sec OptimistAtomicQueueB, 5,i: 45,880,491 msg/sec OptimistAtomicQueueB, 6,s: 41,580,737 msg/sec OptimistAtomicQueueB, 6,i: 49,065,412 msg/sec OptimistAtomicQueueB, 7,s: 42,554,669 msg/sec OptimistAtomicQueueB, 7,i: 50,915,231 msg/sec OptimistAtomicQueueB, 8,s: 44,364,058 msg/sec OptimistAtomicQueueB, 8,i: 48,047,263 msg/sec AtomicQueue2, 1,s: 22,876,872 msg/sec AtomicQueue2, 1,i: 22,873,870 msg/sec AtomicQueue2, 2,s: 11,758,936 msg/sec AtomicQueue2, 2,i: 11,374,856 msg/sec AtomicQueue2, 3,s: 9,451,654 msg/sec AtomicQueue2, 3,i: 9,468,808 msg/sec AtomicQueue2, 4,s: 8,002,297 msg/sec AtomicQueue2, 4,i: 8,096,610 msg/sec AtomicQueue2, 5,s: 7,953,269 msg/sec AtomicQueue2, 5,i: 8,005,905 msg/sec AtomicQueue2, 6,s: 7,796,556 msg/sec AtomicQueue2, 6,i: 7,534,847 msg/sec AtomicQueue2, 7,s: 7,186,826 msg/sec AtomicQueue2, 7,i: 7,912,095 msg/sec AtomicQueue2, 8,s: 6,390,714 msg/sec AtomicQueue2, 8,i: 7,371,475 msg/sec AtomicQueueB2, 1,s: 36,275,643 msg/sec AtomicQueueB2, 1,i: 32,662,350 msg/sec AtomicQueueB2, 2,s: 11,502,428 msg/sec AtomicQueueB2, 2,i: 11,132,519 msg/sec AtomicQueueB2, 3,s: 9,479,815 msg/sec AtomicQueueB2, 3,i: 9,558,162 msg/sec AtomicQueueB2, 4,s: 7,936,581 msg/sec AtomicQueueB2, 4,i: 7,838,609 msg/sec AtomicQueueB2, 5,s: 7,495,918 msg/sec AtomicQueueB2, 5,i: 7,704,743 msg/sec AtomicQueueB2, 6,s: 7,353,370 msg/sec AtomicQueueB2, 6,i: 7,460,856 msg/sec AtomicQueueB2, 7,s: 6,921,556 msg/sec AtomicQueueB2, 7,i: 7,716,937 msg/sec AtomicQueueB2, 8,s: 6,276,757 msg/sec AtomicQueueB2, 8,i: 7,031,718 msg/sec OptimistAtomicQueue2, 1,s: 434,577,176 msg/sec OptimistAtomicQueue2, 1,i: 29,397,819 msg/sec OptimistAtomicQueue2, 2,s: 26,800,161 msg/sec OptimistAtomicQueue2, 2,i: 25,444,567 msg/sec OptimistAtomicQueue2, 3,s: 29,894,922 msg/sec OptimistAtomicQueue2, 3,i: 30,444,087 msg/sec OptimistAtomicQueue2, 4,s: 33,224,058 msg/sec OptimistAtomicQueue2, 4,i: 33,001,812 msg/sec OptimistAtomicQueue2, 5,s: 37,463,788 msg/sec OptimistAtomicQueue2, 5,i: 41,526,112 msg/sec OptimistAtomicQueue2, 6,s: 40,428,257 msg/sec OptimistAtomicQueue2, 6,i: 49,215,813 msg/sec OptimistAtomicQueue2, 7,s: 43,321,365 msg/sec OptimistAtomicQueue2, 7,i: 48,205,500 msg/sec OptimistAtomicQueue2, 8,s: 43,865,387 msg/sec OptimistAtomicQueue2, 8,i: 48,311,045 msg/sec OptimistAtomicQueueB2, 1,s: 77,115,270 msg/sec OptimistAtomicQueueB2, 1,i: 62,404,352 msg/sec OptimistAtomicQueueB2, 2,s: 28,756,120 msg/sec OptimistAtomicQueueB2, 2,i: 23,167,382 msg/sec OptimistAtomicQueueB2, 3,s: 30,221,451 msg/sec OptimistAtomicQueueB2, 3,i: 29,202,597 msg/sec OptimistAtomicQueueB2, 4,s: 33,085,828 msg/sec OptimistAtomicQueueB2, 4,i: 32,402,401 msg/sec OptimistAtomicQueueB2, 5,s: 34,511,925 msg/sec OptimistAtomicQueueB2, 5,i: 39,227,496 msg/sec OptimistAtomicQueueB2, 6,s: 37,206,139 msg/sec OptimistAtomicQueueB2, 6,i: 42,245,418 msg/sec OptimistAtomicQueueB2, 7,s: 40,958,516 msg/sec OptimistAtomicQueueB2, 7,i: 45,365,513 msg/sec OptimistAtomicQueueB2, 8,s: 42,345,884 msg/sec OptimistAtomicQueueB2, 8,i: 45,268,273 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000121 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [322] 56m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,539,260 msg/sec boost::lockfree::spsc_queue, 1,i: 68,471,196 msg/sec boost::lockfree::queue, 1,s: 8,022,177 msg/sec boost::lockfree::queue, 1,i: 7,987,246 msg/sec boost::lockfree::queue, 2,s: 7,499,606 msg/sec boost::lockfree::queue, 2,i: 7,559,604 msg/sec boost::lockfree::queue, 3,s: 7,371,547 msg/sec boost::lockfree::queue, 3,i: 7,562,250 msg/sec boost::lockfree::queue, 4,s: 6,424,212 msg/sec boost::lockfree::queue, 4,i: 6,781,422 msg/sec boost::lockfree::queue, 5,s: 6,432,753 msg/sec boost::lockfree::queue, 5,i: 6,483,758 msg/sec boost::lockfree::queue, 6,s: 5,949,546 msg/sec boost::lockfree::queue, 6,i: 6,087,413 msg/sec boost::lockfree::queue, 7,s: 5,885,398 msg/sec boost::lockfree::queue, 7,i: 6,045,539 msg/sec boost::lockfree::queue, 8,s: 5,417,467 msg/sec boost::lockfree::queue, 8,i: 5,570,654 msg/sec moodycamel::ReaderWriterQueue, 1,s: 455,278,452 msg/sec moodycamel::ReaderWriterQueue, 1,i: 424,847,639 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,995,731 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,710,924 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,019,021 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,938,602 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,171,503 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,977,634 msg/sec moodycamel::ConcurrentQueue, 4,s: 42,851,822 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,889,279 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,439,349 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,130,328 msg/sec moodycamel::ConcurrentQueue, 6,s: 29,797,165 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,883,535 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,080,725 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,492,421 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,270,200 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,479,653 msg/sec pthread_spinlock, 1,s: 29,150,213 msg/sec pthread_spinlock, 1,i: 25,385,808 msg/sec pthread_spinlock, 2,s: 15,128,613 msg/sec pthread_spinlock, 2,i: 16,765,080 msg/sec pthread_spinlock, 3,s: 8,269,044 msg/sec pthread_spinlock, 3,i: 12,048,103 msg/sec pthread_spinlock, 4,s: 6,491,946 msg/sec pthread_spinlock, 4,i: 9,111,095 msg/sec pthread_spinlock, 5,s: 8,587,856 msg/sec pthread_spinlock, 5,i: 9,340,504 msg/sec pthread_spinlock, 6,s: 8,286,943 msg/sec pthread_spinlock, 6,i: 8,895,736 msg/sec pthread_spinlock, 7,s: 7,516,019 msg/sec pthread_spinlock, 7,i: 7,706,416 msg/sec pthread_spinlock, 8,s: 6,676,241 msg/sec pthread_spinlock, 8,i: 6,893,259 msg/sec std::mutex, 1,s: 6,067,573 msg/sec std::mutex, 1,i: 5,895,075 msg/sec std::mutex, 2,s: 4,988,186 msg/sec std::mutex, 2,i: 6,098,710 msg/sec std::mutex, 3,s: 6,032,157 msg/sec std::mutex, 3,i: 5,598,643 msg/sec std::mutex, 4,s: 5,328,560 msg/sec std::mutex, 4,i: 5,854,151 msg/sec std::mutex, 5,s: 5,582,547 msg/sec std::mutex, 5,i: 6,204,045 msg/sec std::mutex, 6,s: 5,910,713 msg/sec std::mutex, 6,i: 5,886,211 msg/sec std::mutex, 7,s: 5,781,225 msg/sec std::mutex, 7,i: 5,808,738 msg/sec std::mutex, 8,s: 5,658,600 msg/sec std::mutex, 8,i: 5,734,212 msg/sec tbb::spin_mutex, 1,s: 37,912,799 msg/sec tbb::spin_mutex, 1,i: 37,885,139 msg/sec tbb::spin_mutex, 2,s: 21,136,179 msg/sec tbb::spin_mutex, 2,i: 18,936,364 msg/sec tbb::spin_mutex, 3,s: 9,072,299 msg/sec tbb::spin_mutex, 3,i: 11,203,715 msg/sec tbb::spin_mutex, 4,s: 3,279,380 msg/sec tbb::spin_mutex, 4,i: 6,399,070 msg/sec tbb::spin_mutex, 5,s: 5,421,509 msg/sec tbb::spin_mutex, 5,i: 5,850,253 msg/sec tbb::spin_mutex, 6,s: 5,281,756 msg/sec tbb::spin_mutex, 6,i: 4,437,763 msg/sec tbb::spin_mutex, 7,s: 4,853,575 msg/sec tbb::spin_mutex, 7,i: 4,272,396 msg/sec tbb::spin_mutex, 8,s: 4,241,206 msg/sec tbb::spin_mutex, 8,i: 4,186,449 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,406,364 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,401,918 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,921,815 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,114,680 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,096,077 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,989,602 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,384,026 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,265,939 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,617,978 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,916,787 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,074,231 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,906,338 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,990,792 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,947,556 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,985,077 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,083,520 msg/sec xenium::michael_scott_queue, 1,s: 9,533,041 msg/sec xenium::michael_scott_queue, 1,i: 9,701,207 msg/sec xenium::michael_scott_queue, 2,s: 8,437,630 msg/sec xenium::michael_scott_queue, 2,i: 8,429,454 msg/sec xenium::michael_scott_queue, 3,s: 7,164,994 msg/sec xenium::michael_scott_queue, 3,i: 7,533,545 msg/sec xenium::michael_scott_queue, 4,s: 6,270,979 msg/sec xenium::michael_scott_queue, 4,i: 6,349,846 msg/sec xenium::michael_scott_queue, 5,s: 6,298,713 msg/sec xenium::michael_scott_queue, 5,i: 6,749,992 msg/sec xenium::michael_scott_queue, 6,s: 6,517,633 msg/sec xenium::michael_scott_queue, 6,i: 6,756,107 msg/sec xenium::michael_scott_queue, 7,s: 6,318,655 msg/sec xenium::michael_scott_queue, 7,i: 6,476,474 msg/sec xenium::michael_scott_queue, 8,s: 6,007,002 msg/sec xenium::michael_scott_queue, 8,i: 6,176,198 msg/sec xenium::ramalhete_queue, 1,s: 31,726,585 msg/sec xenium::ramalhete_queue, 1,i: 31,538,330 msg/sec xenium::ramalhete_queue, 2,s: 23,462,615 msg/sec xenium::ramalhete_queue, 2,i: 23,290,561 msg/sec xenium::ramalhete_queue, 3,s: 29,182,703 msg/sec xenium::ramalhete_queue, 3,i: 28,409,857 msg/sec xenium::ramalhete_queue, 4,s: 33,849,799 msg/sec xenium::ramalhete_queue, 4,i: 33,402,339 msg/sec xenium::ramalhete_queue, 5,s: 32,165,880 msg/sec xenium::ramalhete_queue, 5,i: 36,195,325 msg/sec xenium::ramalhete_queue, 6,s: 33,985,723 msg/sec xenium::ramalhete_queue, 6,i: 39,954,982 msg/sec xenium::ramalhete_queue, 7,s: 35,123,215 msg/sec xenium::ramalhete_queue, 7,i: 41,103,340 msg/sec xenium::ramalhete_queue, 8,s: 35,571,967 msg/sec xenium::ramalhete_queue, 8,i: 44,524,384 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,987,098 msg/sec xenium::vyukov_bounded_queue, 1,i: 111,196,176 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,009,296 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,509,269 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,652,121 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,940,910 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,692,856 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,375,631 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,456,792 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,349,109 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,034,422 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,349,416 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,169,781 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,120,281 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,412,651 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,303,253 msg/sec AtomicQueue, 1,s: 58,884,828 msg/sec AtomicQueue, 1,i: 56,680,602 msg/sec AtomicQueue, 2,s: 12,267,158 msg/sec AtomicQueue, 2,i: 11,752,133 msg/sec AtomicQueue, 3,s: 10,818,699 msg/sec AtomicQueue, 3,i: 9,967,860 msg/sec AtomicQueue, 4,s: 8,127,944 msg/sec AtomicQueue, 4,i: 8,192,405 msg/sec AtomicQueue, 5,s: 8,034,191 msg/sec AtomicQueue, 5,i: 8,060,359 msg/sec AtomicQueue, 6,s: 7,825,986 msg/sec AtomicQueue, 6,i: 7,602,947 msg/sec AtomicQueue, 7,s: 7,216,558 msg/sec AtomicQueue, 7,i: 7,984,518 msg/sec AtomicQueue, 8,s: 6,352,029 msg/sec AtomicQueue, 8,i: 7,440,440 msg/sec AtomicQueueB, 1,s: 44,256,888 msg/sec AtomicQueueB, 1,i: 47,077,518 msg/sec AtomicQueueB, 2,s: 11,846,149 msg/sec AtomicQueueB, 2,i: 11,511,033 msg/sec AtomicQueueB, 3,s: 11,106,962 msg/sec AtomicQueueB, 3,i: 10,128,645 msg/sec AtomicQueueB, 4,s: 8,056,441 msg/sec AtomicQueueB, 4,i: 8,030,519 msg/sec AtomicQueueB, 5,s: 7,640,600 msg/sec AtomicQueueB, 5,i: 7,819,963 msg/sec AtomicQueueB, 6,s: 7,329,242 msg/sec AtomicQueueB, 6,i: 7,517,540 msg/sec AtomicQueueB, 7,s: 6,901,906 msg/sec AtomicQueueB, 7,i: 7,734,828 msg/sec AtomicQueueB, 8,s: 6,226,433 msg/sec AtomicQueueB, 8,i: 7,175,553 msg/sec OptimistAtomicQueue, 1,s: 778,455,012 msg/sec OptimistAtomicQueue, 1,i: 685,755,352 msg/sec OptimistAtomicQueue, 2,s: 32,174,282 msg/sec OptimistAtomicQueue, 2,i: 32,702,796 msg/sec OptimistAtomicQueue, 3,s: 36,663,507 msg/sec OptimistAtomicQueue, 3,i: 37,422,352 msg/sec OptimistAtomicQueue, 4,s: 39,332,649 msg/sec OptimistAtomicQueue, 4,i: 39,414,650 msg/sec OptimistAtomicQueue, 5,s: 42,546,270 msg/sec OptimistAtomicQueue, 5,i: 46,286,868 msg/sec OptimistAtomicQueue, 6,s: 42,631,902 msg/sec OptimistAtomicQueue, 6,i: 50,463,803 msg/sec OptimistAtomicQueue, 7,s: 45,211,997 msg/sec OptimistAtomicQueue, 7,i: 53,095,717 msg/sec OptimistAtomicQueue, 8,s: 46,402,027 msg/sec OptimistAtomicQueue, 8,i: 48,833,240 msg/sec OptimistAtomicQueueB, 1,s: 96,182,668 msg/sec OptimistAtomicQueueB, 1,i: 76,484,451 msg/sec OptimistAtomicQueueB, 2,s: 32,279,216 msg/sec OptimistAtomicQueueB, 2,i: 32,139,922 msg/sec OptimistAtomicQueueB, 3,s: 36,307,570 msg/sec OptimistAtomicQueueB, 3,i: 36,984,181 msg/sec OptimistAtomicQueueB, 4,s: 38,729,664 msg/sec OptimistAtomicQueueB, 4,i: 38,562,535 msg/sec OptimistAtomicQueueB, 5,s: 40,968,401 msg/sec OptimistAtomicQueueB, 5,i: 45,411,986 msg/sec OptimistAtomicQueueB, 6,s: 41,222,300 msg/sec OptimistAtomicQueueB, 6,i: 49,126,633 msg/sec OptimistAtomicQueueB, 7,s: 41,437,874 msg/sec OptimistAtomicQueueB, 7,i: 51,432,164 msg/sec OptimistAtomicQueueB, 8,s: 44,358,168 msg/sec OptimistAtomicQueueB, 8,i: 48,116,599 msg/sec AtomicQueue2, 1,s: 23,537,150 msg/sec AtomicQueue2, 1,i: 23,820,417 msg/sec AtomicQueue2, 2,s: 11,936,213 msg/sec AtomicQueue2, 2,i: 11,619,428 msg/sec AtomicQueue2, 3,s: 9,340,324 msg/sec AtomicQueue2, 3,i: 9,499,147 msg/sec AtomicQueue2, 4,s: 7,992,434 msg/sec AtomicQueue2, 4,i: 8,059,908 msg/sec AtomicQueue2, 5,s: 7,924,276 msg/sec AtomicQueue2, 5,i: 7,995,322 msg/sec AtomicQueue2, 6,s: 7,807,339 msg/sec AtomicQueue2, 6,i: 7,540,710 msg/sec AtomicQueue2, 7,s: 7,113,801 msg/sec AtomicQueue2, 7,i: 7,879,400 msg/sec AtomicQueue2, 8,s: 6,376,161 msg/sec AtomicQueue2, 8,i: 7,356,180 msg/sec AtomicQueueB2, 1,s: 36,041,274 msg/sec AtomicQueueB2, 1,i: 32,625,172 msg/sec AtomicQueueB2, 2,s: 11,503,899 msg/sec AtomicQueueB2, 2,i: 11,194,527 msg/sec AtomicQueueB2, 3,s: 9,722,146 msg/sec AtomicQueueB2, 3,i: 9,560,850 msg/sec AtomicQueueB2, 4,s: 7,967,581 msg/sec AtomicQueueB2, 4,i: 7,815,880 msg/sec AtomicQueueB2, 5,s: 7,456,321 msg/sec AtomicQueueB2, 5,i: 7,674,730 msg/sec AtomicQueueB2, 6,s: 7,227,912 msg/sec AtomicQueueB2, 6,i: 7,486,223 msg/sec AtomicQueueB2, 7,s: 6,924,953 msg/sec AtomicQueueB2, 7,i: 7,700,144 msg/sec AtomicQueueB2, 8,s: 6,311,452 msg/sec AtomicQueueB2, 8,i: 7,125,438 msg/sec OptimistAtomicQueue2, 1,s: 136,495,823 msg/sec OptimistAtomicQueue2, 1,i: 76,999,063 msg/sec OptimistAtomicQueue2, 2,s: 25,385,539 msg/sec OptimistAtomicQueue2, 2,i: 24,383,673 msg/sec OptimistAtomicQueue2, 3,s: 30,322,193 msg/sec OptimistAtomicQueue2, 3,i: 29,968,858 msg/sec OptimistAtomicQueue2, 4,s: 33,203,125 msg/sec OptimistAtomicQueue2, 4,i: 33,278,976 msg/sec OptimistAtomicQueue2, 5,s: 37,341,686 msg/sec OptimistAtomicQueue2, 5,i: 41,672,738 msg/sec OptimistAtomicQueue2, 6,s: 40,444,316 msg/sec OptimistAtomicQueue2, 6,i: 49,297,171 msg/sec OptimistAtomicQueue2, 7,s: 42,569,519 msg/sec OptimistAtomicQueue2, 7,i: 51,529,588 msg/sec OptimistAtomicQueue2, 8,s: 43,880,558 msg/sec OptimistAtomicQueue2, 8,i: 48,851,559 msg/sec OptimistAtomicQueueB2, 1,s: 74,982,150 msg/sec OptimistAtomicQueueB2, 1,i: 33,922,371 msg/sec OptimistAtomicQueueB2, 2,s: 27,167,486 msg/sec OptimistAtomicQueueB2, 2,i: 24,500,142 msg/sec OptimistAtomicQueueB2, 3,s: 30,352,631 msg/sec OptimistAtomicQueueB2, 3,i: 29,568,310 msg/sec OptimistAtomicQueueB2, 4,s: 32,915,897 msg/sec OptimistAtomicQueueB2, 4,i: 32,732,409 msg/sec OptimistAtomicQueueB2, 5,s: 34,697,146 msg/sec OptimistAtomicQueueB2, 5,i: 39,472,013 msg/sec OptimistAtomicQueueB2, 6,s: 37,140,812 msg/sec OptimistAtomicQueueB2, 6,i: 42,364,383 msg/sec OptimistAtomicQueueB2, 7,s: 40,183,938 msg/sec OptimistAtomicQueueB2, 7,i: 42,953,108 msg/sec OptimistAtomicQueueB2, 8,s: 42,210,881 msg/sec OptimistAtomicQueueB2, 8,i: 45,158,657 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000242 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000261 sec/round-trip tbb::concurrent_bounded_queue: 0.000000270 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000201 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [323] 55m:5s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 73,713,696 msg/sec boost::lockfree::spsc_queue, 1,i: 73,168,132 msg/sec boost::lockfree::queue, 1,s: 7,967,946 msg/sec boost::lockfree::queue, 1,i: 7,855,949 msg/sec boost::lockfree::queue, 2,s: 7,656,562 msg/sec boost::lockfree::queue, 2,i: 7,464,556 msg/sec boost::lockfree::queue, 3,s: 7,363,781 msg/sec boost::lockfree::queue, 3,i: 7,511,611 msg/sec boost::lockfree::queue, 4,s: 6,426,577 msg/sec boost::lockfree::queue, 4,i: 6,825,242 msg/sec boost::lockfree::queue, 5,s: 6,456,069 msg/sec boost::lockfree::queue, 5,i: 6,479,215 msg/sec boost::lockfree::queue, 6,s: 6,021,325 msg/sec boost::lockfree::queue, 6,i: 6,082,364 msg/sec boost::lockfree::queue, 7,s: 5,936,366 msg/sec boost::lockfree::queue, 7,i: 5,965,549 msg/sec boost::lockfree::queue, 8,s: 5,431,663 msg/sec boost::lockfree::queue, 8,i: 5,578,458 msg/sec moodycamel::ReaderWriterQueue, 1,s: 515,555,136 msg/sec moodycamel::ReaderWriterQueue, 1,i: 111,882,384 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,312,561 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,665,350 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,206,556 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,216,535 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,908,193 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,593,733 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,447,078 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,112,930 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,365,078 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,413,001 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,494,755 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,891,364 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,028,958 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,262,749 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,211,086 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,941,334 msg/sec pthread_spinlock, 1,s: 28,882,042 msg/sec pthread_spinlock, 1,i: 25,457,300 msg/sec pthread_spinlock, 2,s: 15,652,844 msg/sec pthread_spinlock, 2,i: 17,294,347 msg/sec pthread_spinlock, 3,s: 8,319,793 msg/sec pthread_spinlock, 3,i: 12,001,173 msg/sec pthread_spinlock, 4,s: 6,505,087 msg/sec pthread_spinlock, 4,i: 8,893,013 msg/sec pthread_spinlock, 5,s: 8,549,789 msg/sec pthread_spinlock, 5,i: 9,130,574 msg/sec pthread_spinlock, 6,s: 8,516,521 msg/sec pthread_spinlock, 6,i: 8,475,933 msg/sec pthread_spinlock, 7,s: 7,542,559 msg/sec pthread_spinlock, 7,i: 7,641,989 msg/sec pthread_spinlock, 8,s: 6,679,214 msg/sec pthread_spinlock, 8,i: 6,885,862 msg/sec std::mutex, 1,s: 6,338,109 msg/sec std::mutex, 1,i: 6,350,894 msg/sec std::mutex, 2,s: 5,240,720 msg/sec std::mutex, 2,i: 5,759,342 msg/sec std::mutex, 3,s: 5,299,098 msg/sec std::mutex, 3,i: 5,589,750 msg/sec std::mutex, 4,s: 5,891,482 msg/sec std::mutex, 4,i: 5,895,803 msg/sec std::mutex, 5,s: 5,993,164 msg/sec std::mutex, 5,i: 6,024,119 msg/sec std::mutex, 6,s: 5,951,287 msg/sec std::mutex, 6,i: 5,876,596 msg/sec std::mutex, 7,s: 5,736,616 msg/sec std::mutex, 7,i: 5,790,600 msg/sec std::mutex, 8,s: 5,653,457 msg/sec std::mutex, 8,i: 5,690,127 msg/sec tbb::spin_mutex, 1,s: 37,950,615 msg/sec tbb::spin_mutex, 1,i: 33,232,852 msg/sec tbb::spin_mutex, 2,s: 21,306,799 msg/sec tbb::spin_mutex, 2,i: 18,467,064 msg/sec tbb::spin_mutex, 3,s: 7,707,478 msg/sec tbb::spin_mutex, 3,i: 11,111,743 msg/sec tbb::spin_mutex, 4,s: 3,094,333 msg/sec tbb::spin_mutex, 4,i: 6,315,989 msg/sec tbb::spin_mutex, 5,s: 5,471,111 msg/sec tbb::spin_mutex, 5,i: 5,727,683 msg/sec tbb::spin_mutex, 6,s: 5,348,779 msg/sec tbb::spin_mutex, 6,i: 4,377,606 msg/sec tbb::spin_mutex, 7,s: 4,809,068 msg/sec tbb::spin_mutex, 7,i: 4,304,051 msg/sec tbb::spin_mutex, 8,s: 4,249,765 msg/sec tbb::spin_mutex, 8,i: 4,063,355 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,360,381 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,346,009 msg/sec tbb::concurrent_bounded_queue, 2,s: 14,334,410 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,879,126 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,591,134 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,594,824 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,009,318 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,324,108 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,488,211 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,582,778 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,915,747 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,705,977 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,894,461 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,105,120 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,840,138 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,466,464 msg/sec xenium::michael_scott_queue, 1,s: 9,263,272 msg/sec xenium::michael_scott_queue, 1,i: 9,076,928 msg/sec xenium::michael_scott_queue, 2,s: 8,429,208 msg/sec xenium::michael_scott_queue, 2,i: 8,398,176 msg/sec xenium::michael_scott_queue, 3,s: 7,149,661 msg/sec xenium::michael_scott_queue, 3,i: 7,526,824 msg/sec xenium::michael_scott_queue, 4,s: 6,351,078 msg/sec xenium::michael_scott_queue, 4,i: 6,322,046 msg/sec xenium::michael_scott_queue, 5,s: 6,287,829 msg/sec xenium::michael_scott_queue, 5,i: 6,629,166 msg/sec xenium::michael_scott_queue, 6,s: 6,514,592 msg/sec xenium::michael_scott_queue, 6,i: 6,800,810 msg/sec xenium::michael_scott_queue, 7,s: 6,322,717 msg/sec xenium::michael_scott_queue, 7,i: 6,474,786 msg/sec xenium::michael_scott_queue, 8,s: 5,997,646 msg/sec xenium::michael_scott_queue, 8,i: 6,120,453 msg/sec xenium::ramalhete_queue, 1,s: 30,959,764 msg/sec xenium::ramalhete_queue, 1,i: 26,889,784 msg/sec xenium::ramalhete_queue, 2,s: 23,769,805 msg/sec xenium::ramalhete_queue, 2,i: 23,325,960 msg/sec xenium::ramalhete_queue, 3,s: 29,177,039 msg/sec xenium::ramalhete_queue, 3,i: 28,405,062 msg/sec xenium::ramalhete_queue, 4,s: 33,746,626 msg/sec xenium::ramalhete_queue, 4,i: 33,474,561 msg/sec xenium::ramalhete_queue, 5,s: 32,086,363 msg/sec xenium::ramalhete_queue, 5,i: 36,013,541 msg/sec xenium::ramalhete_queue, 6,s: 34,040,011 msg/sec xenium::ramalhete_queue, 6,i: 40,073,096 msg/sec xenium::ramalhete_queue, 7,s: 35,282,568 msg/sec xenium::ramalhete_queue, 7,i: 41,025,103 msg/sec xenium::ramalhete_queue, 8,s: 35,528,397 msg/sec xenium::ramalhete_queue, 8,i: 43,965,149 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,942,073 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,261,713 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,944,768 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,358,592 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,514,203 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,712,806 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,500,179 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,116,544 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,010,265 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,307,135 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,853,589 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,293,738 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,325,562 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,924,597 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,396,327 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,401,437 msg/sec AtomicQueue, 1,s: 62,086,407 msg/sec AtomicQueue, 1,i: 57,053,897 msg/sec AtomicQueue, 2,s: 12,307,674 msg/sec AtomicQueue, 2,i: 11,728,301 msg/sec AtomicQueue, 3,s: 10,799,824 msg/sec AtomicQueue, 3,i: 9,924,022 msg/sec AtomicQueue, 4,s: 8,225,641 msg/sec AtomicQueue, 4,i: 8,201,571 msg/sec AtomicQueue, 5,s: 8,015,145 msg/sec AtomicQueue, 5,i: 8,071,998 msg/sec AtomicQueue, 6,s: 7,973,718 msg/sec AtomicQueue, 6,i: 7,613,521 msg/sec AtomicQueue, 7,s: 7,151,205 msg/sec AtomicQueue, 7,i: 8,000,668 msg/sec AtomicQueue, 8,s: 6,344,230 msg/sec AtomicQueue, 8,i: 7,471,796 msg/sec AtomicQueueB, 1,s: 43,956,114 msg/sec AtomicQueueB, 1,i: 43,022,755 msg/sec AtomicQueueB, 2,s: 11,818,449 msg/sec AtomicQueueB, 2,i: 11,490,826 msg/sec AtomicQueueB, 3,s: 10,981,935 msg/sec AtomicQueueB, 3,i: 10,111,395 msg/sec AtomicQueueB, 4,s: 8,143,210 msg/sec AtomicQueueB, 4,i: 8,017,154 msg/sec AtomicQueueB, 5,s: 7,686,339 msg/sec AtomicQueueB, 5,i: 7,833,376 msg/sec AtomicQueueB, 6,s: 7,348,939 msg/sec AtomicQueueB, 6,i: 7,500,910 msg/sec AtomicQueueB, 7,s: 6,864,171 msg/sec AtomicQueueB, 7,i: 7,748,434 msg/sec AtomicQueueB, 8,s: 6,241,866 msg/sec AtomicQueueB, 8,i: 7,122,273 msg/sec OptimistAtomicQueue, 1,s: 800,334,219 msg/sec OptimistAtomicQueue, 1,i: 645,080,239 msg/sec OptimistAtomicQueue, 2,s: 32,646,296 msg/sec OptimistAtomicQueue, 2,i: 32,723,653 msg/sec OptimistAtomicQueue, 3,s: 36,674,152 msg/sec OptimistAtomicQueue, 3,i: 37,377,088 msg/sec OptimistAtomicQueue, 4,s: 39,272,990 msg/sec OptimistAtomicQueue, 4,i: 39,400,739 msg/sec OptimistAtomicQueue, 5,s: 42,590,338 msg/sec OptimistAtomicQueue, 5,i: 46,184,040 msg/sec OptimistAtomicQueue, 6,s: 42,782,992 msg/sec OptimistAtomicQueue, 6,i: 49,813,662 msg/sec OptimistAtomicQueue, 7,s: 44,048,827 msg/sec OptimistAtomicQueue, 7,i: 53,015,933 msg/sec OptimistAtomicQueue, 8,s: 46,448,726 msg/sec OptimistAtomicQueue, 8,i: 49,619,103 msg/sec OptimistAtomicQueueB, 1,s: 233,265,979 msg/sec OptimistAtomicQueueB, 1,i: 76,566,407 msg/sec OptimistAtomicQueueB, 2,s: 32,181,256 msg/sec OptimistAtomicQueueB, 2,i: 32,118,336 msg/sec OptimistAtomicQueueB, 3,s: 36,272,747 msg/sec OptimistAtomicQueueB, 3,i: 37,037,279 msg/sec OptimistAtomicQueueB, 4,s: 38,634,728 msg/sec OptimistAtomicQueueB, 4,i: 38,695,116 msg/sec OptimistAtomicQueueB, 5,s: 41,093,200 msg/sec OptimistAtomicQueueB, 5,i: 46,086,946 msg/sec OptimistAtomicQueueB, 6,s: 41,057,583 msg/sec OptimistAtomicQueueB, 6,i: 49,034,280 msg/sec OptimistAtomicQueueB, 7,s: 42,614,924 msg/sec OptimistAtomicQueueB, 7,i: 51,277,266 msg/sec OptimistAtomicQueueB, 8,s: 44,616,191 msg/sec OptimistAtomicQueueB, 8,i: 47,784,773 msg/sec AtomicQueue2, 1,s: 22,959,263 msg/sec AtomicQueue2, 1,i: 22,875,919 msg/sec AtomicQueue2, 2,s: 12,061,552 msg/sec AtomicQueue2, 2,i: 11,399,556 msg/sec AtomicQueue2, 3,s: 9,357,589 msg/sec AtomicQueue2, 3,i: 9,362,959 msg/sec AtomicQueue2, 4,s: 8,023,948 msg/sec AtomicQueue2, 4,i: 8,047,367 msg/sec AtomicQueue2, 5,s: 7,885,510 msg/sec AtomicQueue2, 5,i: 8,014,865 msg/sec AtomicQueue2, 6,s: 7,713,665 msg/sec AtomicQueue2, 6,i: 7,536,586 msg/sec AtomicQueue2, 7,s: 7,186,487 msg/sec AtomicQueue2, 7,i: 7,877,242 msg/sec AtomicQueue2, 8,s: 6,386,205 msg/sec AtomicQueue2, 8,i: 7,356,130 msg/sec AtomicQueueB2, 1,s: 38,676,860 msg/sec AtomicQueueB2, 1,i: 39,127,880 msg/sec AtomicQueueB2, 2,s: 11,312,565 msg/sec AtomicQueueB2, 2,i: 11,079,148 msg/sec AtomicQueueB2, 3,s: 9,549,849 msg/sec AtomicQueueB2, 3,i: 9,420,568 msg/sec AtomicQueueB2, 4,s: 7,883,943 msg/sec AtomicQueueB2, 4,i: 7,878,239 msg/sec AtomicQueueB2, 5,s: 7,542,771 msg/sec AtomicQueueB2, 5,i: 7,763,697 msg/sec AtomicQueueB2, 6,s: 7,304,110 msg/sec AtomicQueueB2, 6,i: 7,457,820 msg/sec AtomicQueueB2, 7,s: 6,901,682 msg/sec AtomicQueueB2, 7,i: 7,702,241 msg/sec AtomicQueueB2, 8,s: 6,275,791 msg/sec AtomicQueueB2, 8,i: 7,109,966 msg/sec OptimistAtomicQueue2, 1,s: 537,214,240 msg/sec OptimistAtomicQueue2, 1,i: 32,401,563 msg/sec OptimistAtomicQueue2, 2,s: 26,036,181 msg/sec OptimistAtomicQueue2, 2,i: 24,019,380 msg/sec OptimistAtomicQueue2, 3,s: 30,321,646 msg/sec OptimistAtomicQueue2, 3,i: 30,051,620 msg/sec OptimistAtomicQueue2, 4,s: 33,333,471 msg/sec OptimistAtomicQueue2, 4,i: 33,340,768 msg/sec OptimistAtomicQueue2, 5,s: 37,309,121 msg/sec OptimistAtomicQueue2, 5,i: 41,790,883 msg/sec OptimistAtomicQueue2, 6,s: 40,152,004 msg/sec OptimistAtomicQueue2, 6,i: 49,317,770 msg/sec OptimistAtomicQueue2, 7,s: 43,211,852 msg/sec OptimistAtomicQueue2, 7,i: 51,536,667 msg/sec OptimistAtomicQueue2, 8,s: 43,917,190 msg/sec OptimistAtomicQueue2, 8,i: 48,335,733 msg/sec OptimistAtomicQueueB2, 1,s: 78,782,073 msg/sec OptimistAtomicQueueB2, 1,i: 76,703,477 msg/sec OptimistAtomicQueueB2, 2,s: 27,738,870 msg/sec OptimistAtomicQueueB2, 2,i: 23,881,250 msg/sec OptimistAtomicQueueB2, 3,s: 30,077,219 msg/sec OptimistAtomicQueueB2, 3,i: 31,091,101 msg/sec OptimistAtomicQueueB2, 4,s: 33,560,225 msg/sec OptimistAtomicQueueB2, 4,i: 32,037,872 msg/sec OptimistAtomicQueueB2, 5,s: 34,477,379 msg/sec OptimistAtomicQueueB2, 5,i: 39,284,910 msg/sec OptimistAtomicQueueB2, 6,s: 37,509,863 msg/sec OptimistAtomicQueueB2, 6,i: 42,145,713 msg/sec OptimistAtomicQueueB2, 7,s: 40,145,132 msg/sec OptimistAtomicQueueB2, 7,i: 45,620,551 msg/sec OptimistAtomicQueueB2, 8,s: 42,013,144 msg/sec OptimistAtomicQueueB2, 8,i: 45,727,720 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000155 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000260 sec/round-trip std::mutex: 0.000000499 sec/round-trip tbb::spin_mutex: 0.000000308 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000388 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000173 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [324] 53m:46s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,865,122 msg/sec boost::lockfree::spsc_queue, 1,i: 69,909,334 msg/sec boost::lockfree::queue, 1,s: 6,853,163 msg/sec boost::lockfree::queue, 1,i: 6,946,364 msg/sec boost::lockfree::queue, 2,s: 7,646,689 msg/sec boost::lockfree::queue, 2,i: 7,486,249 msg/sec boost::lockfree::queue, 3,s: 7,397,747 msg/sec boost::lockfree::queue, 3,i: 7,548,251 msg/sec boost::lockfree::queue, 4,s: 6,417,631 msg/sec boost::lockfree::queue, 4,i: 6,800,624 msg/sec boost::lockfree::queue, 5,s: 6,406,982 msg/sec boost::lockfree::queue, 5,i: 6,449,839 msg/sec boost::lockfree::queue, 6,s: 5,981,158 msg/sec boost::lockfree::queue, 6,i: 6,161,756 msg/sec boost::lockfree::queue, 7,s: 6,064,481 msg/sec boost::lockfree::queue, 7,i: 6,051,010 msg/sec boost::lockfree::queue, 8,s: 5,540,620 msg/sec boost::lockfree::queue, 8,i: 5,584,302 msg/sec moodycamel::ReaderWriterQueue, 1,s: 52,471,743 msg/sec moodycamel::ReaderWriterQueue, 1,i: 58,509,201 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,120,260 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,218,009 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,583,293 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,815,863 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,748,426 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,988,590 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,485,403 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,117,765 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,537,305 msg/sec moodycamel::ConcurrentQueue, 5,i: 32,537,187 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,433,569 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,630,841 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,451,428 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,642,729 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,430,815 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,047,129 msg/sec pthread_spinlock, 1,s: 28,938,800 msg/sec pthread_spinlock, 1,i: 27,255,011 msg/sec pthread_spinlock, 2,s: 15,519,916 msg/sec pthread_spinlock, 2,i: 16,994,491 msg/sec pthread_spinlock, 3,s: 8,370,210 msg/sec pthread_spinlock, 3,i: 12,041,557 msg/sec pthread_spinlock, 4,s: 6,472,887 msg/sec pthread_spinlock, 4,i: 8,813,130 msg/sec pthread_spinlock, 5,s: 8,746,968 msg/sec pthread_spinlock, 5,i: 9,484,599 msg/sec pthread_spinlock, 6,s: 8,328,860 msg/sec pthread_spinlock, 6,i: 8,386,810 msg/sec pthread_spinlock, 7,s: 7,492,431 msg/sec pthread_spinlock, 7,i: 7,530,502 msg/sec pthread_spinlock, 8,s: 6,746,178 msg/sec pthread_spinlock, 8,i: 6,875,097 msg/sec std::mutex, 1,s: 5,006,882 msg/sec std::mutex, 1,i: 5,650,137 msg/sec std::mutex, 2,s: 5,284,920 msg/sec std::mutex, 2,i: 5,378,211 msg/sec std::mutex, 3,s: 4,974,772 msg/sec std::mutex, 3,i: 6,061,367 msg/sec std::mutex, 4,s: 6,158,731 msg/sec std::mutex, 4,i: 6,253,242 msg/sec std::mutex, 5,s: 6,050,774 msg/sec std::mutex, 5,i: 5,971,805 msg/sec std::mutex, 6,s: 5,853,784 msg/sec std::mutex, 6,i: 5,944,530 msg/sec std::mutex, 7,s: 5,848,972 msg/sec std::mutex, 7,i: 5,816,630 msg/sec std::mutex, 8,s: 5,730,390 msg/sec std::mutex, 8,i: 5,734,675 msg/sec tbb::spin_mutex, 1,s: 38,247,372 msg/sec tbb::spin_mutex, 1,i: 32,845,298 msg/sec tbb::spin_mutex, 2,s: 21,265,532 msg/sec tbb::spin_mutex, 2,i: 18,488,223 msg/sec tbb::spin_mutex, 3,s: 8,419,053 msg/sec tbb::spin_mutex, 3,i: 10,290,596 msg/sec tbb::spin_mutex, 4,s: 3,192,840 msg/sec tbb::spin_mutex, 4,i: 6,384,286 msg/sec tbb::spin_mutex, 5,s: 5,530,435 msg/sec tbb::spin_mutex, 5,i: 5,582,120 msg/sec tbb::spin_mutex, 6,s: 5,369,026 msg/sec tbb::spin_mutex, 6,i: 4,356,418 msg/sec tbb::spin_mutex, 7,s: 4,864,139 msg/sec tbb::spin_mutex, 7,i: 4,311,158 msg/sec tbb::spin_mutex, 8,s: 4,252,761 msg/sec tbb::spin_mutex, 8,i: 4,075,699 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,416,634 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,200,196 msg/sec tbb::concurrent_bounded_queue, 2,s: 15,036,283 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,271,190 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,373,310 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,844,753 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,407,696 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,343,524 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,677,344 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,945,612 msg/sec tbb::concurrent_bounded_queue, 6,s: 9,021,733 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,867,686 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,047,060 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,936,228 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,979,354 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,097,717 msg/sec xenium::michael_scott_queue, 1,s: 9,459,867 msg/sec xenium::michael_scott_queue, 1,i: 9,405,819 msg/sec xenium::michael_scott_queue, 2,s: 8,505,208 msg/sec xenium::michael_scott_queue, 2,i: 8,505,492 msg/sec xenium::michael_scott_queue, 3,s: 7,292,872 msg/sec xenium::michael_scott_queue, 3,i: 7,667,314 msg/sec xenium::michael_scott_queue, 4,s: 6,298,366 msg/sec xenium::michael_scott_queue, 4,i: 6,379,346 msg/sec xenium::michael_scott_queue, 5,s: 6,295,409 msg/sec xenium::michael_scott_queue, 5,i: 6,701,105 msg/sec xenium::michael_scott_queue, 6,s: 6,501,968 msg/sec xenium::michael_scott_queue, 6,i: 6,909,552 msg/sec xenium::michael_scott_queue, 7,s: 6,239,527 msg/sec xenium::michael_scott_queue, 7,i: 6,493,860 msg/sec xenium::michael_scott_queue, 8,s: 6,024,917 msg/sec xenium::michael_scott_queue, 8,i: 6,067,126 msg/sec xenium::ramalhete_queue, 1,s: 32,213,223 msg/sec xenium::ramalhete_queue, 1,i: 32,493,977 msg/sec xenium::ramalhete_queue, 2,s: 23,485,090 msg/sec xenium::ramalhete_queue, 2,i: 23,351,207 msg/sec xenium::ramalhete_queue, 3,s: 29,155,168 msg/sec xenium::ramalhete_queue, 3,i: 28,412,972 msg/sec xenium::ramalhete_queue, 4,s: 33,824,190 msg/sec xenium::ramalhete_queue, 4,i: 33,543,500 msg/sec xenium::ramalhete_queue, 5,s: 32,195,042 msg/sec xenium::ramalhete_queue, 5,i: 36,066,729 msg/sec xenium::ramalhete_queue, 6,s: 34,081,780 msg/sec xenium::ramalhete_queue, 6,i: 39,089,098 msg/sec xenium::ramalhete_queue, 7,s: 35,183,964 msg/sec xenium::ramalhete_queue, 7,i: 41,006,527 msg/sec xenium::ramalhete_queue, 8,s: 35,568,295 msg/sec xenium::ramalhete_queue, 8,i: 43,815,828 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,649,019 msg/sec xenium::vyukov_bounded_queue, 1,i: 102,706,714 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,062,684 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,936,555 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,627,253 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,931,139 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,389,686 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,322,662 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,314,425 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,075,654 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,903,102 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,770,646 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,188,312 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,164,674 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,366,226 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,258,392 msg/sec AtomicQueue, 1,s: 58,949,560 msg/sec AtomicQueue, 1,i: 56,360,832 msg/sec AtomicQueue, 2,s: 12,204,328 msg/sec AtomicQueue, 2,i: 11,775,153 msg/sec AtomicQueue, 3,s: 10,765,873 msg/sec AtomicQueue, 3,i: 9,858,019 msg/sec AtomicQueue, 4,s: 8,163,302 msg/sec AtomicQueue, 4,i: 8,192,971 msg/sec AtomicQueue, 5,s: 8,037,349 msg/sec AtomicQueue, 5,i: 8,082,488 msg/sec AtomicQueue, 6,s: 7,820,291 msg/sec AtomicQueue, 6,i: 7,607,681 msg/sec AtomicQueue, 7,s: 7,152,839 msg/sec AtomicQueue, 7,i: 7,973,271 msg/sec AtomicQueue, 8,s: 6,309,680 msg/sec AtomicQueue, 8,i: 7,436,383 msg/sec AtomicQueueB, 1,s: 44,173,936 msg/sec AtomicQueueB, 1,i: 43,021,663 msg/sec AtomicQueueB, 2,s: 11,997,498 msg/sec AtomicQueueB, 2,i: 11,517,991 msg/sec AtomicQueueB, 3,s: 11,010,812 msg/sec AtomicQueueB, 3,i: 10,185,380 msg/sec AtomicQueueB, 4,s: 8,009,649 msg/sec AtomicQueueB, 4,i: 8,109,400 msg/sec AtomicQueueB, 5,s: 7,660,992 msg/sec AtomicQueueB, 5,i: 7,786,378 msg/sec AtomicQueueB, 6,s: 7,406,190 msg/sec AtomicQueueB, 6,i: 7,490,717 msg/sec AtomicQueueB, 7,s: 6,866,478 msg/sec AtomicQueueB, 7,i: 7,727,842 msg/sec AtomicQueueB, 8,s: 6,225,977 msg/sec AtomicQueueB, 8,i: 7,186,301 msg/sec OptimistAtomicQueue, 1,s: 678,825,679 msg/sec OptimistAtomicQueue, 1,i: 519,363,966 msg/sec OptimistAtomicQueue, 2,s: 32,143,287 msg/sec OptimistAtomicQueue, 2,i: 32,176,958 msg/sec OptimistAtomicQueue, 3,s: 36,578,554 msg/sec OptimistAtomicQueue, 3,i: 37,335,245 msg/sec OptimistAtomicQueue, 4,s: 39,275,806 msg/sec OptimistAtomicQueue, 4,i: 39,400,017 msg/sec OptimistAtomicQueue, 5,s: 42,407,367 msg/sec OptimistAtomicQueue, 5,i: 48,094,280 msg/sec OptimistAtomicQueue, 6,s: 41,973,477 msg/sec OptimistAtomicQueue, 6,i: 49,795,505 msg/sec OptimistAtomicQueue, 7,s: 44,136,891 msg/sec OptimistAtomicQueue, 7,i: 48,722,418 msg/sec OptimistAtomicQueue, 8,s: 46,585,233 msg/sec OptimistAtomicQueue, 8,i: 49,233,443 msg/sec OptimistAtomicQueueB, 1,s: 118,969,106 msg/sec OptimistAtomicQueueB, 1,i: 125,669,551 msg/sec OptimistAtomicQueueB, 2,s: 32,131,949 msg/sec OptimistAtomicQueueB, 2,i: 31,899,163 msg/sec OptimistAtomicQueueB, 3,s: 36,194,526 msg/sec OptimistAtomicQueueB, 3,i: 36,867,555 msg/sec OptimistAtomicQueueB, 4,s: 38,674,696 msg/sec OptimistAtomicQueueB, 4,i: 38,669,100 msg/sec OptimistAtomicQueueB, 5,s: 41,139,763 msg/sec OptimistAtomicQueueB, 5,i: 45,839,556 msg/sec OptimistAtomicQueueB, 6,s: 40,569,426 msg/sec OptimistAtomicQueueB, 6,i: 48,952,188 msg/sec OptimistAtomicQueueB, 7,s: 41,897,455 msg/sec OptimistAtomicQueueB, 7,i: 47,681,610 msg/sec OptimistAtomicQueueB, 8,s: 44,260,771 msg/sec OptimistAtomicQueueB, 8,i: 47,649,399 msg/sec AtomicQueue2, 1,s: 22,892,393 msg/sec AtomicQueue2, 1,i: 22,876,810 msg/sec AtomicQueue2, 2,s: 11,974,730 msg/sec AtomicQueue2, 2,i: 11,512,677 msg/sec AtomicQueue2, 3,s: 9,360,525 msg/sec AtomicQueue2, 3,i: 9,373,731 msg/sec AtomicQueue2, 4,s: 8,067,980 msg/sec AtomicQueue2, 4,i: 8,007,918 msg/sec AtomicQueue2, 5,s: 7,941,218 msg/sec AtomicQueue2, 5,i: 7,935,818 msg/sec AtomicQueue2, 6,s: 7,698,719 msg/sec AtomicQueue2, 6,i: 7,475,836 msg/sec AtomicQueue2, 7,s: 7,151,008 msg/sec AtomicQueue2, 7,i: 7,898,823 msg/sec AtomicQueue2, 8,s: 6,399,321 msg/sec AtomicQueue2, 8,i: 7,339,796 msg/sec AtomicQueueB2, 1,s: 35,995,603 msg/sec AtomicQueueB2, 1,i: 32,645,558 msg/sec AtomicQueueB2, 2,s: 11,335,436 msg/sec AtomicQueueB2, 2,i: 11,194,428 msg/sec AtomicQueueB2, 3,s: 9,612,543 msg/sec AtomicQueueB2, 3,i: 9,558,740 msg/sec AtomicQueueB2, 4,s: 7,977,790 msg/sec AtomicQueueB2, 4,i: 7,921,278 msg/sec AtomicQueueB2, 5,s: 7,429,270 msg/sec AtomicQueueB2, 5,i: 7,669,583 msg/sec AtomicQueueB2, 6,s: 7,310,226 msg/sec AtomicQueueB2, 6,i: 7,406,606 msg/sec AtomicQueueB2, 7,s: 6,908,355 msg/sec AtomicQueueB2, 7,i: 7,697,592 msg/sec AtomicQueueB2, 8,s: 6,295,930 msg/sec AtomicQueueB2, 8,i: 7,091,390 msg/sec OptimistAtomicQueue2, 1,s: 481,913,775 msg/sec OptimistAtomicQueue2, 1,i: 30,098,115 msg/sec OptimistAtomicQueue2, 2,s: 24,263,179 msg/sec OptimistAtomicQueue2, 2,i: 24,573,481 msg/sec OptimistAtomicQueue2, 3,s: 30,342,318 msg/sec OptimistAtomicQueue2, 3,i: 29,957,527 msg/sec OptimistAtomicQueue2, 4,s: 33,258,944 msg/sec OptimistAtomicQueue2, 4,i: 33,041,807 msg/sec OptimistAtomicQueue2, 5,s: 36,974,053 msg/sec OptimistAtomicQueue2, 5,i: 40,142,287 msg/sec OptimistAtomicQueue2, 6,s: 40,288,937 msg/sec OptimistAtomicQueue2, 6,i: 48,996,907 msg/sec OptimistAtomicQueue2, 7,s: 42,739,813 msg/sec OptimistAtomicQueue2, 7,i: 51,261,895 msg/sec OptimistAtomicQueue2, 8,s: 44,037,250 msg/sec OptimistAtomicQueue2, 8,i: 49,691,070 msg/sec OptimistAtomicQueueB2, 1,s: 78,133,077 msg/sec OptimistAtomicQueueB2, 1,i: 33,866,088 msg/sec OptimistAtomicQueueB2, 2,s: 27,783,505 msg/sec OptimistAtomicQueueB2, 2,i: 24,687,033 msg/sec OptimistAtomicQueueB2, 3,s: 29,693,589 msg/sec OptimistAtomicQueueB2, 3,i: 29,213,176 msg/sec OptimistAtomicQueueB2, 4,s: 33,313,356 msg/sec OptimistAtomicQueueB2, 4,i: 32,738,651 msg/sec OptimistAtomicQueueB2, 5,s: 34,695,370 msg/sec OptimistAtomicQueueB2, 5,i: 39,683,387 msg/sec OptimistAtomicQueueB2, 6,s: 37,178,417 msg/sec OptimistAtomicQueueB2, 6,i: 42,235,062 msg/sec OptimistAtomicQueueB2, 7,s: 40,201,205 msg/sec OptimistAtomicQueueB2, 7,i: 45,502,578 msg/sec OptimistAtomicQueueB2, 8,s: 41,947,991 msg/sec OptimistAtomicQueueB2, 8,i: 45,660,990 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000290 sec/round-trip std::mutex: 0.000000515 sec/round-trip tbb::spin_mutex: 0.000000305 sec/round-trip tbb::concurrent_bounded_queue: 0.000000269 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000184 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [325] 52m:26s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,288,485 msg/sec boost::lockfree::spsc_queue, 1,i: 67,604,961 msg/sec boost::lockfree::queue, 1,s: 6,857,242 msg/sec boost::lockfree::queue, 1,i: 6,877,556 msg/sec boost::lockfree::queue, 2,s: 7,563,991 msg/sec boost::lockfree::queue, 2,i: 7,563,575 msg/sec boost::lockfree::queue, 3,s: 7,435,063 msg/sec boost::lockfree::queue, 3,i: 7,612,724 msg/sec boost::lockfree::queue, 4,s: 6,435,925 msg/sec boost::lockfree::queue, 4,i: 7,098,293 msg/sec boost::lockfree::queue, 5,s: 6,380,924 msg/sec boost::lockfree::queue, 5,i: 6,524,092 msg/sec boost::lockfree::queue, 6,s: 6,053,794 msg/sec boost::lockfree::queue, 6,i: 6,137,578 msg/sec boost::lockfree::queue, 7,s: 5,987,544 msg/sec boost::lockfree::queue, 7,i: 5,925,664 msg/sec boost::lockfree::queue, 8,s: 5,427,849 msg/sec boost::lockfree::queue, 8,i: 5,591,280 msg/sec moodycamel::ReaderWriterQueue, 1,s: 418,282,763 msg/sec moodycamel::ReaderWriterQueue, 1,i: 55,457,311 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,043,407 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,198,370 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,187,565 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,093,207 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,477,869 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,808,729 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,426,652 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,235,612 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,162,635 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,365,819 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,296,897 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,560,922 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,141,891 msg/sec moodycamel::ConcurrentQueue, 7,i: 37,481,413 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,312,953 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,603,417 msg/sec pthread_spinlock, 1,s: 28,931,495 msg/sec pthread_spinlock, 1,i: 29,400,556 msg/sec pthread_spinlock, 2,s: 15,458,538 msg/sec pthread_spinlock, 2,i: 17,717,430 msg/sec pthread_spinlock, 3,s: 8,342,915 msg/sec pthread_spinlock, 3,i: 11,930,902 msg/sec pthread_spinlock, 4,s: 6,513,159 msg/sec pthread_spinlock, 4,i: 9,003,571 msg/sec pthread_spinlock, 5,s: 8,758,272 msg/sec pthread_spinlock, 5,i: 9,368,911 msg/sec pthread_spinlock, 6,s: 8,319,087 msg/sec pthread_spinlock, 6,i: 8,448,394 msg/sec pthread_spinlock, 7,s: 7,675,108 msg/sec pthread_spinlock, 7,i: 7,978,303 msg/sec pthread_spinlock, 8,s: 6,968,093 msg/sec pthread_spinlock, 8,i: 7,249,756 msg/sec std::mutex, 1,s: 5,565,754 msg/sec std::mutex, 1,i: 6,520,750 msg/sec std::mutex, 2,s: 5,369,990 msg/sec std::mutex, 2,i: 5,431,809 msg/sec std::mutex, 3,s: 5,370,633 msg/sec std::mutex, 3,i: 4,977,052 msg/sec std::mutex, 4,s: 6,024,973 msg/sec std::mutex, 4,i: 6,192,117 msg/sec std::mutex, 5,s: 5,959,014 msg/sec std::mutex, 5,i: 5,810,396 msg/sec std::mutex, 6,s: 5,862,219 msg/sec std::mutex, 6,i: 5,920,084 msg/sec std::mutex, 7,s: 5,876,649 msg/sec std::mutex, 7,i: 5,792,056 msg/sec std::mutex, 8,s: 5,658,283 msg/sec std::mutex, 8,i: 5,594,614 msg/sec tbb::spin_mutex, 1,s: 37,852,221 msg/sec tbb::spin_mutex, 1,i: 32,782,994 msg/sec tbb::spin_mutex, 2,s: 21,123,168 msg/sec tbb::spin_mutex, 2,i: 20,924,998 msg/sec tbb::spin_mutex, 3,s: 8,755,048 msg/sec tbb::spin_mutex, 3,i: 10,649,970 msg/sec tbb::spin_mutex, 4,s: 3,130,157 msg/sec tbb::spin_mutex, 4,i: 6,369,234 msg/sec tbb::spin_mutex, 5,s: 5,443,885 msg/sec tbb::spin_mutex, 5,i: 5,666,265 msg/sec tbb::spin_mutex, 6,s: 5,041,107 msg/sec tbb::spin_mutex, 6,i: 4,356,100 msg/sec tbb::spin_mutex, 7,s: 4,481,988 msg/sec tbb::spin_mutex, 7,i: 4,356,282 msg/sec tbb::spin_mutex, 8,s: 4,259,015 msg/sec tbb::spin_mutex, 8,i: 4,158,641 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,398,246 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,260,181 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,675,368 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,123,000 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,535,896 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,708,567 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,984,083 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,265,464 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,647,979 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,657,096 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,926,992 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,690,195 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,919,106 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,101,476 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,874,425 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,454,877 msg/sec xenium::michael_scott_queue, 1,s: 10,111,495 msg/sec xenium::michael_scott_queue, 1,i: 10,005,598 msg/sec xenium::michael_scott_queue, 2,s: 8,430,949 msg/sec xenium::michael_scott_queue, 2,i: 8,506,498 msg/sec xenium::michael_scott_queue, 3,s: 7,264,858 msg/sec xenium::michael_scott_queue, 3,i: 7,554,588 msg/sec xenium::michael_scott_queue, 4,s: 6,226,384 msg/sec xenium::michael_scott_queue, 4,i: 6,292,073 msg/sec xenium::michael_scott_queue, 5,s: 6,312,067 msg/sec xenium::michael_scott_queue, 5,i: 6,617,917 msg/sec xenium::michael_scott_queue, 6,s: 6,550,906 msg/sec xenium::michael_scott_queue, 6,i: 6,879,736 msg/sec xenium::michael_scott_queue, 7,s: 6,280,445 msg/sec xenium::michael_scott_queue, 7,i: 6,400,325 msg/sec xenium::michael_scott_queue, 8,s: 6,000,422 msg/sec xenium::michael_scott_queue, 8,i: 6,121,538 msg/sec xenium::ramalhete_queue, 1,s: 30,883,016 msg/sec xenium::ramalhete_queue, 1,i: 32,198,363 msg/sec xenium::ramalhete_queue, 2,s: 23,953,284 msg/sec xenium::ramalhete_queue, 2,i: 23,263,662 msg/sec xenium::ramalhete_queue, 3,s: 29,280,648 msg/sec xenium::ramalhete_queue, 3,i: 28,508,117 msg/sec xenium::ramalhete_queue, 4,s: 33,919,867 msg/sec xenium::ramalhete_queue, 4,i: 33,496,212 msg/sec xenium::ramalhete_queue, 5,s: 32,063,564 msg/sec xenium::ramalhete_queue, 5,i: 38,307,911 msg/sec xenium::ramalhete_queue, 6,s: 34,105,550 msg/sec xenium::ramalhete_queue, 6,i: 39,273,378 msg/sec xenium::ramalhete_queue, 7,s: 35,157,367 msg/sec xenium::ramalhete_queue, 7,i: 41,193,220 msg/sec xenium::ramalhete_queue, 8,s: 35,516,011 msg/sec xenium::ramalhete_queue, 8,i: 44,118,918 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,997,276 msg/sec xenium::vyukov_bounded_queue, 1,i: 89,371,189 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,106,034 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,389,704 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,569,601 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,405,614 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,322,284 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,151,579 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,687,668 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,356,707 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,909,248 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,642,191 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,227,848 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,046,909 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,426,413 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,512,136 msg/sec AtomicQueue, 1,s: 67,817,349 msg/sec AtomicQueue, 1,i: 57,195,730 msg/sec AtomicQueue, 2,s: 12,359,011 msg/sec AtomicQueue, 2,i: 11,772,422 msg/sec AtomicQueue, 3,s: 10,805,140 msg/sec AtomicQueue, 3,i: 9,935,628 msg/sec AtomicQueue, 4,s: 8,192,691 msg/sec AtomicQueue, 4,i: 8,185,552 msg/sec AtomicQueue, 5,s: 7,953,206 msg/sec AtomicQueue, 5,i: 8,093,034 msg/sec AtomicQueue, 6,s: 7,762,443 msg/sec AtomicQueue, 6,i: 7,655,337 msg/sec AtomicQueue, 7,s: 7,100,021 msg/sec AtomicQueue, 7,i: 7,991,702 msg/sec AtomicQueue, 8,s: 6,328,098 msg/sec AtomicQueue, 8,i: 7,295,089 msg/sec AtomicQueueB, 1,s: 43,122,029 msg/sec AtomicQueueB, 1,i: 43,157,022 msg/sec AtomicQueueB, 2,s: 11,896,534 msg/sec AtomicQueueB, 2,i: 11,518,840 msg/sec AtomicQueueB, 3,s: 11,003,414 msg/sec AtomicQueueB, 3,i: 10,209,527 msg/sec AtomicQueueB, 4,s: 8,129,749 msg/sec AtomicQueueB, 4,i: 8,062,498 msg/sec AtomicQueueB, 5,s: 7,617,937 msg/sec AtomicQueueB, 5,i: 7,808,288 msg/sec AtomicQueueB, 6,s: 7,342,211 msg/sec AtomicQueueB, 6,i: 7,556,488 msg/sec AtomicQueueB, 7,s: 6,892,827 msg/sec AtomicQueueB, 7,i: 7,714,009 msg/sec AtomicQueueB, 8,s: 6,214,558 msg/sec AtomicQueueB, 8,i: 7,201,641 msg/sec OptimistAtomicQueue, 1,s: 678,173,921 msg/sec OptimistAtomicQueue, 1,i: 543,481,362 msg/sec OptimistAtomicQueue, 2,s: 32,196,019 msg/sec OptimistAtomicQueue, 2,i: 32,241,931 msg/sec OptimistAtomicQueue, 3,s: 36,676,523 msg/sec OptimistAtomicQueue, 3,i: 37,391,919 msg/sec OptimistAtomicQueue, 4,s: 39,283,698 msg/sec OptimistAtomicQueue, 4,i: 39,358,672 msg/sec OptimistAtomicQueue, 5,s: 42,395,993 msg/sec OptimistAtomicQueue, 5,i: 46,530,498 msg/sec OptimistAtomicQueue, 6,s: 42,090,255 msg/sec OptimistAtomicQueue, 6,i: 50,428,610 msg/sec OptimistAtomicQueue, 7,s: 45,063,574 msg/sec OptimistAtomicQueue, 7,i: 49,097,759 msg/sec OptimistAtomicQueue, 8,s: 46,461,118 msg/sec OptimistAtomicQueue, 8,i: 49,360,439 msg/sec OptimistAtomicQueueB, 1,s: 137,763,153 msg/sec OptimistAtomicQueueB, 1,i: 170,726,259 msg/sec OptimistAtomicQueueB, 2,s: 32,161,879 msg/sec OptimistAtomicQueueB, 2,i: 32,249,862 msg/sec OptimistAtomicQueueB, 3,s: 36,278,593 msg/sec OptimistAtomicQueueB, 3,i: 36,858,542 msg/sec OptimistAtomicQueueB, 4,s: 38,706,761 msg/sec OptimistAtomicQueueB, 4,i: 38,619,046 msg/sec OptimistAtomicQueueB, 5,s: 40,998,773 msg/sec OptimistAtomicQueueB, 5,i: 45,336,700 msg/sec OptimistAtomicQueueB, 6,s: 40,555,597 msg/sec OptimistAtomicQueueB, 6,i: 49,135,962 msg/sec OptimistAtomicQueueB, 7,s: 41,845,441 msg/sec OptimistAtomicQueueB, 7,i: 50,718,235 msg/sec OptimistAtomicQueueB, 8,s: 44,445,402 msg/sec OptimistAtomicQueueB, 8,i: 47,960,588 msg/sec AtomicQueue2, 1,s: 23,628,548 msg/sec AtomicQueue2, 1,i: 23,091,961 msg/sec AtomicQueue2, 2,s: 11,829,160 msg/sec AtomicQueue2, 2,i: 11,691,754 msg/sec AtomicQueue2, 3,s: 9,665,538 msg/sec AtomicQueue2, 3,i: 9,363,863 msg/sec AtomicQueue2, 4,s: 8,046,705 msg/sec AtomicQueue2, 4,i: 8,040,387 msg/sec AtomicQueue2, 5,s: 7,922,124 msg/sec AtomicQueue2, 5,i: 8,001,946 msg/sec AtomicQueue2, 6,s: 7,729,766 msg/sec AtomicQueue2, 6,i: 7,537,528 msg/sec AtomicQueue2, 7,s: 7,180,231 msg/sec AtomicQueue2, 7,i: 7,888,696 msg/sec AtomicQueue2, 8,s: 6,390,878 msg/sec AtomicQueue2, 8,i: 7,264,866 msg/sec AtomicQueueB2, 1,s: 35,999,245 msg/sec AtomicQueueB2, 1,i: 32,433,798 msg/sec AtomicQueueB2, 2,s: 11,387,083 msg/sec AtomicQueueB2, 2,i: 11,065,543 msg/sec AtomicQueueB2, 3,s: 9,683,875 msg/sec AtomicQueueB2, 3,i: 9,487,547 msg/sec AtomicQueueB2, 4,s: 7,939,788 msg/sec AtomicQueueB2, 4,i: 7,842,343 msg/sec AtomicQueueB2, 5,s: 7,531,080 msg/sec AtomicQueueB2, 5,i: 7,737,910 msg/sec AtomicQueueB2, 6,s: 7,340,141 msg/sec AtomicQueueB2, 6,i: 7,467,282 msg/sec AtomicQueueB2, 7,s: 6,914,010 msg/sec AtomicQueueB2, 7,i: 7,679,407 msg/sec AtomicQueueB2, 8,s: 6,337,394 msg/sec AtomicQueueB2, 8,i: 7,053,973 msg/sec OptimistAtomicQueue2, 1,s: 505,547,179 msg/sec OptimistAtomicQueue2, 1,i: 29,421,095 msg/sec OptimistAtomicQueue2, 2,s: 24,269,538 msg/sec OptimistAtomicQueue2, 2,i: 24,011,483 msg/sec OptimistAtomicQueue2, 3,s: 29,877,633 msg/sec OptimistAtomicQueue2, 3,i: 29,566,801 msg/sec OptimistAtomicQueue2, 4,s: 33,207,330 msg/sec OptimistAtomicQueue2, 4,i: 34,216,968 msg/sec OptimistAtomicQueue2, 5,s: 37,526,660 msg/sec OptimistAtomicQueue2, 5,i: 40,762,062 msg/sec OptimistAtomicQueue2, 6,s: 40,118,955 msg/sec OptimistAtomicQueue2, 6,i: 49,305,820 msg/sec OptimistAtomicQueue2, 7,s: 42,598,604 msg/sec OptimistAtomicQueue2, 7,i: 48,154,814 msg/sec OptimistAtomicQueue2, 8,s: 43,803,205 msg/sec OptimistAtomicQueue2, 8,i: 48,137,781 msg/sec OptimistAtomicQueueB2, 1,s: 75,919,367 msg/sec OptimistAtomicQueueB2, 1,i: 33,914,717 msg/sec OptimistAtomicQueueB2, 2,s: 27,257,505 msg/sec OptimistAtomicQueueB2, 2,i: 23,977,556 msg/sec OptimistAtomicQueueB2, 3,s: 29,725,111 msg/sec OptimistAtomicQueueB2, 3,i: 29,093,354 msg/sec OptimistAtomicQueueB2, 4,s: 33,146,717 msg/sec OptimistAtomicQueueB2, 4,i: 33,080,663 msg/sec OptimistAtomicQueueB2, 5,s: 34,720,100 msg/sec OptimistAtomicQueueB2, 5,i: 39,230,893 msg/sec OptimistAtomicQueueB2, 6,s: 37,651,262 msg/sec OptimistAtomicQueueB2, 6,i: 42,318,092 msg/sec OptimistAtomicQueueB2, 7,s: 40,100,607 msg/sec OptimistAtomicQueueB2, 7,i: 45,234,400 msg/sec OptimistAtomicQueueB2, 8,s: 42,242,746 msg/sec OptimistAtomicQueueB2, 8,i: 45,496,731 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000119 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000292 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000286 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [326] 51m:7s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,756,465 msg/sec boost::lockfree::spsc_queue, 1,i: 69,763,441 msg/sec boost::lockfree::queue, 1,s: 6,859,373 msg/sec boost::lockfree::queue, 1,i: 6,927,670 msg/sec boost::lockfree::queue, 2,s: 7,537,510 msg/sec boost::lockfree::queue, 2,i: 7,492,852 msg/sec boost::lockfree::queue, 3,s: 7,437,252 msg/sec boost::lockfree::queue, 3,i: 7,526,339 msg/sec boost::lockfree::queue, 4,s: 6,427,551 msg/sec boost::lockfree::queue, 4,i: 6,816,025 msg/sec boost::lockfree::queue, 5,s: 6,416,614 msg/sec boost::lockfree::queue, 5,i: 6,420,288 msg/sec boost::lockfree::queue, 6,s: 6,021,509 msg/sec boost::lockfree::queue, 6,i: 6,144,919 msg/sec boost::lockfree::queue, 7,s: 6,039,811 msg/sec boost::lockfree::queue, 7,i: 6,057,231 msg/sec boost::lockfree::queue, 8,s: 5,474,330 msg/sec boost::lockfree::queue, 8,i: 5,565,131 msg/sec moodycamel::ReaderWriterQueue, 1,s: 343,417,266 msg/sec moodycamel::ReaderWriterQueue, 1,i: 450,396,686 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,256,280 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,883,192 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,967,500 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,914,694 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,975,468 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,962,771 msg/sec moodycamel::ConcurrentQueue, 4,s: 41,189,102 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,282,654 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,275,504 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,220,926 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,459,542 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,649,053 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,891,599 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,935,056 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,125,937 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,124,391 msg/sec pthread_spinlock, 1,s: 29,072,895 msg/sec pthread_spinlock, 1,i: 25,294,250 msg/sec pthread_spinlock, 2,s: 15,218,915 msg/sec pthread_spinlock, 2,i: 16,628,275 msg/sec pthread_spinlock, 3,s: 8,300,250 msg/sec pthread_spinlock, 3,i: 12,084,553 msg/sec pthread_spinlock, 4,s: 6,514,070 msg/sec pthread_spinlock, 4,i: 8,956,286 msg/sec pthread_spinlock, 5,s: 8,742,108 msg/sec pthread_spinlock, 5,i: 8,862,210 msg/sec pthread_spinlock, 6,s: 8,275,407 msg/sec pthread_spinlock, 6,i: 8,509,162 msg/sec pthread_spinlock, 7,s: 7,625,954 msg/sec pthread_spinlock, 7,i: 7,723,969 msg/sec pthread_spinlock, 8,s: 6,637,920 msg/sec pthread_spinlock, 8,i: 7,392,245 msg/sec std::mutex, 1,s: 7,165,354 msg/sec std::mutex, 1,i: 7,558,690 msg/sec std::mutex, 2,s: 6,249,644 msg/sec std::mutex, 2,i: 5,468,180 msg/sec std::mutex, 3,s: 4,897,198 msg/sec std::mutex, 3,i: 4,971,433 msg/sec std::mutex, 4,s: 5,646,459 msg/sec std::mutex, 4,i: 6,143,815 msg/sec std::mutex, 5,s: 5,876,170 msg/sec std::mutex, 5,i: 5,614,078 msg/sec std::mutex, 6,s: 5,976,709 msg/sec std::mutex, 6,i: 5,901,340 msg/sec std::mutex, 7,s: 5,869,603 msg/sec std::mutex, 7,i: 5,786,017 msg/sec std::mutex, 8,s: 5,774,209 msg/sec std::mutex, 8,i: 5,764,227 msg/sec tbb::spin_mutex, 1,s: 37,835,015 msg/sec tbb::spin_mutex, 1,i: 37,799,744 msg/sec tbb::spin_mutex, 2,s: 21,202,360 msg/sec tbb::spin_mutex, 2,i: 20,912,307 msg/sec tbb::spin_mutex, 3,s: 8,970,053 msg/sec tbb::spin_mutex, 3,i: 11,250,689 msg/sec tbb::spin_mutex, 4,s: 3,099,274 msg/sec tbb::spin_mutex, 4,i: 6,336,787 msg/sec tbb::spin_mutex, 5,s: 5,309,615 msg/sec tbb::spin_mutex, 5,i: 5,708,391 msg/sec tbb::spin_mutex, 6,s: 5,269,306 msg/sec tbb::spin_mutex, 6,i: 4,364,661 msg/sec tbb::spin_mutex, 7,s: 4,851,081 msg/sec tbb::spin_mutex, 7,i: 4,307,110 msg/sec tbb::spin_mutex, 8,s: 4,261,401 msg/sec tbb::spin_mutex, 8,i: 4,083,536 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,572,461 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,201,715 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,667,926 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,842,603 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,626,690 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,419,433 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,384,599 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,201,571 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,668,290 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,710,146 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,770,246 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,960,129 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,872,439 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,984,696 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,880,919 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,103,431 msg/sec xenium::michael_scott_queue, 1,s: 9,020,470 msg/sec xenium::michael_scott_queue, 1,i: 8,973,241 msg/sec xenium::michael_scott_queue, 2,s: 8,472,103 msg/sec xenium::michael_scott_queue, 2,i: 8,479,701 msg/sec xenium::michael_scott_queue, 3,s: 7,154,928 msg/sec xenium::michael_scott_queue, 3,i: 7,543,406 msg/sec xenium::michael_scott_queue, 4,s: 6,291,200 msg/sec xenium::michael_scott_queue, 4,i: 6,348,933 msg/sec xenium::michael_scott_queue, 5,s: 6,298,494 msg/sec xenium::michael_scott_queue, 5,i: 6,737,208 msg/sec xenium::michael_scott_queue, 6,s: 6,547,095 msg/sec xenium::michael_scott_queue, 6,i: 6,703,203 msg/sec xenium::michael_scott_queue, 7,s: 6,290,061 msg/sec xenium::michael_scott_queue, 7,i: 6,503,124 msg/sec xenium::michael_scott_queue, 8,s: 5,989,663 msg/sec xenium::michael_scott_queue, 8,i: 6,258,787 msg/sec xenium::ramalhete_queue, 1,s: 32,422,427 msg/sec xenium::ramalhete_queue, 1,i: 31,661,739 msg/sec xenium::ramalhete_queue, 2,s: 23,508,322 msg/sec xenium::ramalhete_queue, 2,i: 23,285,229 msg/sec xenium::ramalhete_queue, 3,s: 29,142,835 msg/sec xenium::ramalhete_queue, 3,i: 28,618,378 msg/sec xenium::ramalhete_queue, 4,s: 33,893,761 msg/sec xenium::ramalhete_queue, 4,i: 33,454,877 msg/sec xenium::ramalhete_queue, 5,s: 32,208,172 msg/sec xenium::ramalhete_queue, 5,i: 38,146,181 msg/sec xenium::ramalhete_queue, 6,s: 34,070,086 msg/sec xenium::ramalhete_queue, 6,i: 38,706,683 msg/sec xenium::ramalhete_queue, 7,s: 35,158,879 msg/sec xenium::ramalhete_queue, 7,i: 41,632,488 msg/sec xenium::ramalhete_queue, 8,s: 35,544,553 msg/sec xenium::ramalhete_queue, 8,i: 43,933,175 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,417,869 msg/sec xenium::vyukov_bounded_queue, 1,i: 115,250,389 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,932,399 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,484,439 msg/sec xenium::vyukov_bounded_queue, 3,s: 14,944,344 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,154,049 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,566,819 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,508,460 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,908,134 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,426,496 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,096,898 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,376,610 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,290,186 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,915,678 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,421,744 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,379,981 msg/sec AtomicQueue, 1,s: 60,297,328 msg/sec AtomicQueue, 1,i: 56,537,146 msg/sec AtomicQueue, 2,s: 12,315,478 msg/sec AtomicQueue, 2,i: 11,783,742 msg/sec AtomicQueue, 3,s: 10,760,114 msg/sec AtomicQueue, 3,i: 9,905,509 msg/sec AtomicQueue, 4,s: 8,176,322 msg/sec AtomicQueue, 4,i: 8,194,955 msg/sec AtomicQueue, 5,s: 8,031,697 msg/sec AtomicQueue, 5,i: 8,104,799 msg/sec AtomicQueue, 6,s: 7,713,511 msg/sec AtomicQueue, 6,i: 7,602,698 msg/sec AtomicQueue, 7,s: 7,153,165 msg/sec AtomicQueue, 7,i: 7,964,584 msg/sec AtomicQueue, 8,s: 6,342,537 msg/sec AtomicQueue, 8,i: 7,462,759 msg/sec AtomicQueueB, 1,s: 45,194,587 msg/sec AtomicQueueB, 1,i: 43,904,639 msg/sec AtomicQueueB, 2,s: 11,806,961 msg/sec AtomicQueueB, 2,i: 11,464,907 msg/sec AtomicQueueB, 3,s: 10,881,240 msg/sec AtomicQueueB, 3,i: 10,108,269 msg/sec AtomicQueueB, 4,s: 8,057,815 msg/sec AtomicQueueB, 4,i: 7,967,938 msg/sec AtomicQueueB, 5,s: 7,634,093 msg/sec AtomicQueueB, 5,i: 7,882,049 msg/sec AtomicQueueB, 6,s: 7,401,580 msg/sec AtomicQueueB, 6,i: 7,531,847 msg/sec AtomicQueueB, 7,s: 6,853,192 msg/sec AtomicQueueB, 7,i: 7,680,262 msg/sec AtomicQueueB, 8,s: 6,202,896 msg/sec AtomicQueueB, 8,i: 7,000,801 msg/sec OptimistAtomicQueue, 1,s: 809,474,084 msg/sec OptimistAtomicQueue, 1,i: 667,660,702 msg/sec OptimistAtomicQueue, 2,s: 32,635,409 msg/sec OptimistAtomicQueue, 2,i: 32,712,156 msg/sec OptimistAtomicQueue, 3,s: 36,666,110 msg/sec OptimistAtomicQueue, 3,i: 37,325,024 msg/sec OptimistAtomicQueue, 4,s: 39,285,153 msg/sec OptimistAtomicQueue, 4,i: 39,428,133 msg/sec OptimistAtomicQueue, 5,s: 41,753,397 msg/sec OptimistAtomicQueue, 5,i: 46,262,289 msg/sec OptimistAtomicQueue, 6,s: 42,763,729 msg/sec OptimistAtomicQueue, 6,i: 49,718,291 msg/sec OptimistAtomicQueue, 7,s: 45,064,556 msg/sec OptimistAtomicQueue, 7,i: 52,019,578 msg/sec OptimistAtomicQueue, 8,s: 46,259,299 msg/sec OptimistAtomicQueue, 8,i: 48,650,913 msg/sec OptimistAtomicQueueB, 1,s: 77,793,617 msg/sec OptimistAtomicQueueB, 1,i: 147,649,252 msg/sec OptimistAtomicQueueB, 2,s: 32,183,697 msg/sec OptimistAtomicQueueB, 2,i: 31,878,091 msg/sec OptimistAtomicQueueB, 3,s: 36,234,961 msg/sec OptimistAtomicQueueB, 3,i: 36,920,255 msg/sec OptimistAtomicQueueB, 4,s: 38,648,039 msg/sec OptimistAtomicQueueB, 4,i: 38,483,623 msg/sec OptimistAtomicQueueB, 5,s: 41,100,984 msg/sec OptimistAtomicQueueB, 5,i: 45,139,389 msg/sec OptimistAtomicQueueB, 6,s: 41,120,778 msg/sec OptimistAtomicQueueB, 6,i: 49,220,948 msg/sec OptimistAtomicQueueB, 7,s: 41,619,269 msg/sec OptimistAtomicQueueB, 7,i: 51,312,585 msg/sec OptimistAtomicQueueB, 8,s: 44,253,574 msg/sec OptimistAtomicQueueB, 8,i: 47,693,748 msg/sec AtomicQueue2, 1,s: 23,088,067 msg/sec AtomicQueue2, 1,i: 23,128,862 msg/sec AtomicQueue2, 2,s: 11,748,745 msg/sec AtomicQueue2, 2,i: 11,275,810 msg/sec AtomicQueue2, 3,s: 9,521,195 msg/sec AtomicQueue2, 3,i: 9,361,331 msg/sec AtomicQueue2, 4,s: 8,026,454 msg/sec AtomicQueue2, 4,i: 8,115,174 msg/sec AtomicQueue2, 5,s: 7,947,096 msg/sec AtomicQueue2, 5,i: 7,964,665 msg/sec AtomicQueue2, 6,s: 7,680,666 msg/sec AtomicQueue2, 6,i: 7,517,184 msg/sec AtomicQueue2, 7,s: 7,160,198 msg/sec AtomicQueue2, 7,i: 7,912,016 msg/sec AtomicQueue2, 8,s: 6,397,712 msg/sec AtomicQueue2, 8,i: 7,371,101 msg/sec AtomicQueueB2, 1,s: 35,990,529 msg/sec AtomicQueueB2, 1,i: 32,648,563 msg/sec AtomicQueueB2, 2,s: 11,382,323 msg/sec AtomicQueueB2, 2,i: 11,100,040 msg/sec AtomicQueueB2, 3,s: 9,662,304 msg/sec AtomicQueueB2, 3,i: 9,503,461 msg/sec AtomicQueueB2, 4,s: 7,921,975 msg/sec AtomicQueueB2, 4,i: 7,922,443 msg/sec AtomicQueueB2, 5,s: 7,470,360 msg/sec AtomicQueueB2, 5,i: 7,711,192 msg/sec AtomicQueueB2, 6,s: 7,130,285 msg/sec AtomicQueueB2, 6,i: 7,405,514 msg/sec AtomicQueueB2, 7,s: 6,879,554 msg/sec AtomicQueueB2, 7,i: 7,658,319 msg/sec AtomicQueueB2, 8,s: 6,275,215 msg/sec AtomicQueueB2, 8,i: 7,094,312 msg/sec OptimistAtomicQueue2, 1,s: 430,107,480 msg/sec OptimistAtomicQueue2, 1,i: 461,419,237 msg/sec OptimistAtomicQueue2, 2,s: 26,282,372 msg/sec OptimistAtomicQueue2, 2,i: 24,982,884 msg/sec OptimistAtomicQueue2, 3,s: 30,333,083 msg/sec OptimistAtomicQueue2, 3,i: 30,064,209 msg/sec OptimistAtomicQueue2, 4,s: 33,190,678 msg/sec OptimistAtomicQueue2, 4,i: 33,225,771 msg/sec OptimistAtomicQueue2, 5,s: 37,015,174 msg/sec OptimistAtomicQueue2, 5,i: 40,889,898 msg/sec OptimistAtomicQueue2, 6,s: 39,975,243 msg/sec OptimistAtomicQueue2, 6,i: 49,207,906 msg/sec OptimistAtomicQueue2, 7,s: 42,957,573 msg/sec OptimistAtomicQueue2, 7,i: 48,187,839 msg/sec OptimistAtomicQueue2, 8,s: 43,922,130 msg/sec OptimistAtomicQueue2, 8,i: 48,204,832 msg/sec OptimistAtomicQueueB2, 1,s: 77,429,012 msg/sec OptimistAtomicQueueB2, 1,i: 33,860,036 msg/sec OptimistAtomicQueueB2, 2,s: 27,753,448 msg/sec OptimistAtomicQueueB2, 2,i: 23,265,276 msg/sec OptimistAtomicQueueB2, 3,s: 29,847,941 msg/sec OptimistAtomicQueueB2, 3,i: 29,088,280 msg/sec OptimistAtomicQueueB2, 4,s: 33,490,400 msg/sec OptimistAtomicQueueB2, 4,i: 32,343,772 msg/sec OptimistAtomicQueueB2, 5,s: 34,501,603 msg/sec OptimistAtomicQueueB2, 5,i: 39,437,879 msg/sec OptimistAtomicQueueB2, 6,s: 37,432,062 msg/sec OptimistAtomicQueueB2, 6,i: 42,562,446 msg/sec OptimistAtomicQueueB2, 7,s: 40,677,901 msg/sec OptimistAtomicQueueB2, 7,i: 43,014,709 msg/sec OptimistAtomicQueueB2, 8,s: 42,440,289 msg/sec OptimistAtomicQueueB2, 8,i: 45,007,799 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000137 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000286 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000376 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000225 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [327] 49m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,367,593 msg/sec boost::lockfree::spsc_queue, 1,i: 67,639,516 msg/sec boost::lockfree::queue, 1,s: 6,937,486 msg/sec boost::lockfree::queue, 1,i: 6,908,511 msg/sec boost::lockfree::queue, 2,s: 7,620,931 msg/sec boost::lockfree::queue, 2,i: 7,486,479 msg/sec boost::lockfree::queue, 3,s: 7,362,569 msg/sec boost::lockfree::queue, 3,i: 7,567,249 msg/sec boost::lockfree::queue, 4,s: 6,426,773 msg/sec boost::lockfree::queue, 4,i: 6,735,735 msg/sec boost::lockfree::queue, 5,s: 6,444,800 msg/sec boost::lockfree::queue, 5,i: 6,450,673 msg/sec boost::lockfree::queue, 6,s: 5,969,214 msg/sec boost::lockfree::queue, 6,i: 6,090,701 msg/sec boost::lockfree::queue, 7,s: 5,954,662 msg/sec boost::lockfree::queue, 7,i: 6,036,770 msg/sec boost::lockfree::queue, 8,s: 5,533,979 msg/sec boost::lockfree::queue, 8,i: 5,690,473 msg/sec moodycamel::ReaderWriterQueue, 1,s: 455,076,187 msg/sec moodycamel::ReaderWriterQueue, 1,i: 57,074,569 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,930,197 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,806,753 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,215,925 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,556,839 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,971,463 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,556,201 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,129,262 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,969,269 msg/sec moodycamel::ConcurrentQueue, 5,s: 16,978,910 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,793,306 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,494,725 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,733,878 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,899,423 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,682,211 msg/sec moodycamel::ConcurrentQueue, 8,s: 50,695,228 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,090,783 msg/sec pthread_spinlock, 1,s: 28,750,296 msg/sec pthread_spinlock, 1,i: 25,342,955 msg/sec pthread_spinlock, 2,s: 15,258,473 msg/sec pthread_spinlock, 2,i: 16,806,044 msg/sec pthread_spinlock, 3,s: 8,306,426 msg/sec pthread_spinlock, 3,i: 12,008,273 msg/sec pthread_spinlock, 4,s: 6,437,791 msg/sec pthread_spinlock, 4,i: 9,009,034 msg/sec pthread_spinlock, 5,s: 8,642,059 msg/sec pthread_spinlock, 5,i: 9,230,788 msg/sec pthread_spinlock, 6,s: 8,585,311 msg/sec pthread_spinlock, 6,i: 8,577,477 msg/sec pthread_spinlock, 7,s: 7,696,164 msg/sec pthread_spinlock, 7,i: 8,064,354 msg/sec pthread_spinlock, 8,s: 6,682,128 msg/sec pthread_spinlock, 8,i: 7,195,301 msg/sec std::mutex, 1,s: 6,940,320 msg/sec std::mutex, 1,i: 7,478,478 msg/sec std::mutex, 2,s: 6,296,666 msg/sec std::mutex, 2,i: 5,913,501 msg/sec std::mutex, 3,s: 5,510,121 msg/sec std::mutex, 3,i: 5,662,472 msg/sec std::mutex, 4,s: 5,269,590 msg/sec std::mutex, 4,i: 5,657,264 msg/sec std::mutex, 5,s: 5,605,099 msg/sec std::mutex, 5,i: 6,014,027 msg/sec std::mutex, 6,s: 5,953,131 msg/sec std::mutex, 6,i: 5,870,733 msg/sec std::mutex, 7,s: 5,747,187 msg/sec std::mutex, 7,i: 5,714,446 msg/sec std::mutex, 8,s: 5,659,757 msg/sec std::mutex, 8,i: 5,640,483 msg/sec tbb::spin_mutex, 1,s: 37,722,461 msg/sec tbb::spin_mutex, 1,i: 33,071,151 msg/sec tbb::spin_mutex, 2,s: 21,223,434 msg/sec tbb::spin_mutex, 2,i: 18,424,836 msg/sec tbb::spin_mutex, 3,s: 9,038,739 msg/sec tbb::spin_mutex, 3,i: 10,273,126 msg/sec tbb::spin_mutex, 4,s: 3,094,923 msg/sec tbb::spin_mutex, 4,i: 6,348,647 msg/sec tbb::spin_mutex, 5,s: 5,505,033 msg/sec tbb::spin_mutex, 5,i: 5,765,796 msg/sec tbb::spin_mutex, 6,s: 5,326,926 msg/sec tbb::spin_mutex, 6,i: 4,337,245 msg/sec tbb::spin_mutex, 7,s: 4,806,251 msg/sec tbb::spin_mutex, 7,i: 4,354,928 msg/sec tbb::spin_mutex, 8,s: 3,837,300 msg/sec tbb::spin_mutex, 8,i: 4,080,770 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,796,060 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,133,718 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,668,643 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,062,801 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,324,387 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,328,799 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,102,840 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,272,009 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,562,706 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,377,845 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,615,827 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,734,315 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,663,116 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,068,720 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,719,690 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,911,647 msg/sec xenium::michael_scott_queue, 1,s: 9,173,789 msg/sec xenium::michael_scott_queue, 1,i: 9,371,563 msg/sec xenium::michael_scott_queue, 2,s: 8,455,930 msg/sec xenium::michael_scott_queue, 2,i: 8,360,714 msg/sec xenium::michael_scott_queue, 3,s: 7,199,625 msg/sec xenium::michael_scott_queue, 3,i: 7,584,125 msg/sec xenium::michael_scott_queue, 4,s: 6,302,821 msg/sec xenium::michael_scott_queue, 4,i: 6,341,548 msg/sec xenium::michael_scott_queue, 5,s: 6,269,643 msg/sec xenium::michael_scott_queue, 5,i: 6,607,308 msg/sec xenium::michael_scott_queue, 6,s: 6,503,694 msg/sec xenium::michael_scott_queue, 6,i: 6,917,274 msg/sec xenium::michael_scott_queue, 7,s: 6,345,400 msg/sec xenium::michael_scott_queue, 7,i: 6,455,220 msg/sec xenium::michael_scott_queue, 8,s: 5,995,452 msg/sec xenium::michael_scott_queue, 8,i: 6,179,556 msg/sec xenium::ramalhete_queue, 1,s: 32,808,478 msg/sec xenium::ramalhete_queue, 1,i: 27,495,750 msg/sec xenium::ramalhete_queue, 2,s: 23,504,970 msg/sec xenium::ramalhete_queue, 2,i: 23,399,362 msg/sec xenium::ramalhete_queue, 3,s: 29,178,070 msg/sec xenium::ramalhete_queue, 3,i: 28,577,949 msg/sec xenium::ramalhete_queue, 4,s: 33,752,001 msg/sec xenium::ramalhete_queue, 4,i: 33,449,322 msg/sec xenium::ramalhete_queue, 5,s: 32,107,190 msg/sec xenium::ramalhete_queue, 5,i: 36,033,577 msg/sec xenium::ramalhete_queue, 6,s: 34,107,752 msg/sec xenium::ramalhete_queue, 6,i: 38,817,594 msg/sec xenium::ramalhete_queue, 7,s: 35,165,376 msg/sec xenium::ramalhete_queue, 7,i: 41,001,792 msg/sec xenium::ramalhete_queue, 8,s: 35,533,478 msg/sec xenium::ramalhete_queue, 8,i: 43,590,212 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,042,650 msg/sec xenium::vyukov_bounded_queue, 1,i: 118,870,533 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,844,555 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,199,116 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,653,939 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,805,509 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,507,581 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,031,318 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,687,683 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,251,093 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,107,452 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,440,340 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,198,863 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,120,334 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,403,745 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,511,530 msg/sec AtomicQueue, 1,s: 57,826,315 msg/sec AtomicQueue, 1,i: 56,771,720 msg/sec AtomicQueue, 2,s: 12,323,247 msg/sec AtomicQueue, 2,i: 11,769,834 msg/sec AtomicQueue, 3,s: 10,828,172 msg/sec AtomicQueue, 3,i: 10,002,385 msg/sec AtomicQueue, 4,s: 8,189,584 msg/sec AtomicQueue, 4,i: 8,217,267 msg/sec AtomicQueue, 5,s: 8,043,556 msg/sec AtomicQueue, 5,i: 8,114,557 msg/sec AtomicQueue, 6,s: 7,794,392 msg/sec AtomicQueue, 6,i: 7,613,642 msg/sec AtomicQueue, 7,s: 7,124,775 msg/sec AtomicQueue, 7,i: 7,948,860 msg/sec AtomicQueue, 8,s: 6,333,237 msg/sec AtomicQueue, 8,i: 7,445,301 msg/sec AtomicQueueB, 1,s: 43,813,737 msg/sec AtomicQueueB, 1,i: 43,099,507 msg/sec AtomicQueueB, 2,s: 11,720,197 msg/sec AtomicQueueB, 2,i: 11,450,344 msg/sec AtomicQueueB, 3,s: 11,051,758 msg/sec AtomicQueueB, 3,i: 10,094,264 msg/sec AtomicQueueB, 4,s: 8,028,382 msg/sec AtomicQueueB, 4,i: 7,981,430 msg/sec AtomicQueueB, 5,s: 7,546,781 msg/sec AtomicQueueB, 5,i: 7,776,862 msg/sec AtomicQueueB, 6,s: 7,305,948 msg/sec AtomicQueueB, 6,i: 7,511,141 msg/sec AtomicQueueB, 7,s: 6,957,838 msg/sec AtomicQueueB, 7,i: 7,751,065 msg/sec AtomicQueueB, 8,s: 6,201,865 msg/sec AtomicQueueB, 8,i: 7,165,115 msg/sec OptimistAtomicQueue, 1,s: 763,177,305 msg/sec OptimistAtomicQueue, 1,i: 612,143,269 msg/sec OptimistAtomicQueue, 2,s: 32,633,999 msg/sec OptimistAtomicQueue, 2,i: 32,708,374 msg/sec OptimistAtomicQueue, 3,s: 36,657,768 msg/sec OptimistAtomicQueue, 3,i: 37,392,364 msg/sec OptimistAtomicQueue, 4,s: 39,295,506 msg/sec OptimistAtomicQueue, 4,i: 39,350,871 msg/sec OptimistAtomicQueue, 5,s: 41,736,080 msg/sec OptimistAtomicQueue, 5,i: 48,308,716 msg/sec OptimistAtomicQueue, 6,s: 42,573,852 msg/sec OptimistAtomicQueue, 6,i: 50,374,898 msg/sec OptimistAtomicQueue, 7,s: 45,148,533 msg/sec OptimistAtomicQueue, 7,i: 49,147,944 msg/sec OptimistAtomicQueue, 8,s: 46,477,872 msg/sec OptimistAtomicQueue, 8,i: 49,454,649 msg/sec OptimistAtomicQueueB, 1,s: 165,028,136 msg/sec OptimistAtomicQueueB, 1,i: 143,784,274 msg/sec OptimistAtomicQueueB, 2,s: 32,278,322 msg/sec OptimistAtomicQueueB, 2,i: 31,477,141 msg/sec OptimistAtomicQueueB, 3,s: 36,132,848 msg/sec OptimistAtomicQueueB, 3,i: 36,852,728 msg/sec OptimistAtomicQueueB, 4,s: 38,649,725 msg/sec OptimistAtomicQueueB, 4,i: 38,626,443 msg/sec OptimistAtomicQueueB, 5,s: 41,116,155 msg/sec OptimistAtomicQueueB, 5,i: 45,555,390 msg/sec OptimistAtomicQueueB, 6,s: 40,864,789 msg/sec OptimistAtomicQueueB, 6,i: 49,204,900 msg/sec OptimistAtomicQueueB, 7,s: 42,114,030 msg/sec OptimistAtomicQueueB, 7,i: 48,012,742 msg/sec OptimistAtomicQueueB, 8,s: 44,450,777 msg/sec OptimistAtomicQueueB, 8,i: 48,053,062 msg/sec AtomicQueue2, 1,s: 22,994,856 msg/sec AtomicQueue2, 1,i: 22,911,971 msg/sec AtomicQueue2, 2,s: 11,898,307 msg/sec AtomicQueue2, 2,i: 11,503,372 msg/sec AtomicQueue2, 3,s: 9,781,221 msg/sec AtomicQueue2, 3,i: 9,581,195 msg/sec AtomicQueue2, 4,s: 8,068,295 msg/sec AtomicQueue2, 4,i: 8,097,635 msg/sec AtomicQueue2, 5,s: 7,958,498 msg/sec AtomicQueue2, 5,i: 8,021,039 msg/sec AtomicQueue2, 6,s: 7,905,434 msg/sec AtomicQueue2, 6,i: 7,539,375 msg/sec AtomicQueue2, 7,s: 7,183,537 msg/sec AtomicQueue2, 7,i: 7,902,358 msg/sec AtomicQueue2, 8,s: 6,392,350 msg/sec AtomicQueue2, 8,i: 7,358,471 msg/sec AtomicQueueB2, 1,s: 38,514,994 msg/sec AtomicQueueB2, 1,i: 33,432,134 msg/sec AtomicQueueB2, 2,s: 11,363,282 msg/sec AtomicQueueB2, 2,i: 11,116,614 msg/sec AtomicQueueB2, 3,s: 9,648,321 msg/sec AtomicQueueB2, 3,i: 9,602,692 msg/sec AtomicQueueB2, 4,s: 7,861,054 msg/sec AtomicQueueB2, 4,i: 7,900,247 msg/sec AtomicQueueB2, 5,s: 7,491,757 msg/sec AtomicQueueB2, 5,i: 7,706,186 msg/sec AtomicQueueB2, 6,s: 7,103,597 msg/sec AtomicQueueB2, 6,i: 7,423,576 msg/sec AtomicQueueB2, 7,s: 6,898,883 msg/sec AtomicQueueB2, 7,i: 7,701,585 msg/sec AtomicQueueB2, 8,s: 6,263,796 msg/sec AtomicQueueB2, 8,i: 7,118,622 msg/sec OptimistAtomicQueue2, 1,s: 31,989,976 msg/sec OptimistAtomicQueue2, 1,i: 31,679,004 msg/sec OptimistAtomicQueue2, 2,s: 29,501,054 msg/sec OptimistAtomicQueue2, 2,i: 24,013,402 msg/sec OptimistAtomicQueue2, 3,s: 30,330,044 msg/sec OptimistAtomicQueue2, 3,i: 29,948,026 msg/sec OptimistAtomicQueue2, 4,s: 33,182,682 msg/sec OptimistAtomicQueue2, 4,i: 32,967,643 msg/sec OptimistAtomicQueue2, 5,s: 36,968,372 msg/sec OptimistAtomicQueue2, 5,i: 39,976,403 msg/sec OptimistAtomicQueue2, 6,s: 40,460,799 msg/sec OptimistAtomicQueue2, 6,i: 49,185,134 msg/sec OptimistAtomicQueue2, 7,s: 43,207,974 msg/sec OptimistAtomicQueue2, 7,i: 48,076,145 msg/sec OptimistAtomicQueue2, 8,s: 43,979,526 msg/sec OptimistAtomicQueue2, 8,i: 48,616,332 msg/sec OptimistAtomicQueueB2, 1,s: 75,855,840 msg/sec OptimistAtomicQueueB2, 1,i: 33,881,115 msg/sec OptimistAtomicQueueB2, 2,s: 27,652,360 msg/sec OptimistAtomicQueueB2, 2,i: 23,215,688 msg/sec OptimistAtomicQueueB2, 3,s: 29,654,405 msg/sec OptimistAtomicQueueB2, 3,i: 29,231,108 msg/sec OptimistAtomicQueueB2, 4,s: 33,092,195 msg/sec OptimistAtomicQueueB2, 4,i: 33,080,762 msg/sec OptimistAtomicQueueB2, 5,s: 34,646,338 msg/sec OptimistAtomicQueueB2, 5,i: 39,178,352 msg/sec OptimistAtomicQueueB2, 6,s: 37,241,674 msg/sec OptimistAtomicQueueB2, 6,i: 42,280,837 msg/sec OptimistAtomicQueueB2, 7,s: 40,486,289 msg/sec OptimistAtomicQueueB2, 7,i: 45,543,744 msg/sec OptimistAtomicQueueB2, 8,s: 42,066,991 msg/sec OptimistAtomicQueueB2, 8,i: 46,307,429 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000327 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000445 sec/round-trip tbb::spin_mutex: 0.000000256 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000375 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [328] 48m:28s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,203,825 msg/sec boost::lockfree::spsc_queue, 1,i: 68,194,346 msg/sec boost::lockfree::queue, 1,s: 7,542,617 msg/sec boost::lockfree::queue, 1,i: 6,886,125 msg/sec boost::lockfree::queue, 2,s: 7,364,825 msg/sec boost::lockfree::queue, 2,i: 7,440,525 msg/sec boost::lockfree::queue, 3,s: 7,340,315 msg/sec boost::lockfree::queue, 3,i: 7,579,129 msg/sec boost::lockfree::queue, 4,s: 6,412,384 msg/sec boost::lockfree::queue, 4,i: 6,880,696 msg/sec boost::lockfree::queue, 5,s: 6,502,476 msg/sec boost::lockfree::queue, 5,i: 6,438,828 msg/sec boost::lockfree::queue, 6,s: 5,977,563 msg/sec boost::lockfree::queue, 6,i: 6,116,595 msg/sec boost::lockfree::queue, 7,s: 6,021,948 msg/sec boost::lockfree::queue, 7,i: 5,951,015 msg/sec boost::lockfree::queue, 8,s: 5,456,824 msg/sec boost::lockfree::queue, 8,i: 5,606,319 msg/sec moodycamel::ReaderWriterQueue, 1,s: 467,318,981 msg/sec moodycamel::ReaderWriterQueue, 1,i: 432,060,766 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,581,541 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,528,219 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,131,719 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,492,981 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,512,810 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,931,184 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,190,780 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,036,225 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,313,686 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,394,939 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,498,011 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,175,460 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,129,679 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,960,668 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,170,423 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,827,706 msg/sec pthread_spinlock, 1,s: 29,112,065 msg/sec pthread_spinlock, 1,i: 25,294,387 msg/sec pthread_spinlock, 2,s: 15,505,387 msg/sec pthread_spinlock, 2,i: 17,009,640 msg/sec pthread_spinlock, 3,s: 8,271,133 msg/sec pthread_spinlock, 3,i: 12,258,101 msg/sec pthread_spinlock, 4,s: 6,464,569 msg/sec pthread_spinlock, 4,i: 9,204,565 msg/sec pthread_spinlock, 5,s: 8,711,566 msg/sec pthread_spinlock, 5,i: 9,051,732 msg/sec pthread_spinlock, 6,s: 8,313,903 msg/sec pthread_spinlock, 6,i: 8,420,267 msg/sec pthread_spinlock, 7,s: 7,485,282 msg/sec pthread_spinlock, 7,i: 7,773,918 msg/sec pthread_spinlock, 8,s: 6,925,606 msg/sec pthread_spinlock, 8,i: 6,872,969 msg/sec std::mutex, 1,s: 6,558,685 msg/sec std::mutex, 1,i: 7,118,857 msg/sec std::mutex, 2,s: 5,343,758 msg/sec std::mutex, 2,i: 6,240,365 msg/sec std::mutex, 3,s: 6,100,591 msg/sec std::mutex, 3,i: 5,588,175 msg/sec std::mutex, 4,s: 5,725,980 msg/sec std::mutex, 4,i: 5,432,600 msg/sec std::mutex, 5,s: 6,105,558 msg/sec std::mutex, 5,i: 5,990,598 msg/sec std::mutex, 6,s: 5,875,874 msg/sec std::mutex, 6,i: 5,935,666 msg/sec std::mutex, 7,s: 5,756,233 msg/sec std::mutex, 7,i: 5,796,725 msg/sec std::mutex, 8,s: 5,696,322 msg/sec std::mutex, 8,i: 5,713,218 msg/sec tbb::spin_mutex, 1,s: 37,651,149 msg/sec tbb::spin_mutex, 1,i: 33,255,020 msg/sec tbb::spin_mutex, 2,s: 21,130,161 msg/sec tbb::spin_mutex, 2,i: 18,941,479 msg/sec tbb::spin_mutex, 3,s: 7,892,865 msg/sec tbb::spin_mutex, 3,i: 11,075,601 msg/sec tbb::spin_mutex, 4,s: 3,168,750 msg/sec tbb::spin_mutex, 4,i: 6,333,156 msg/sec tbb::spin_mutex, 5,s: 5,438,712 msg/sec tbb::spin_mutex, 5,i: 5,865,765 msg/sec tbb::spin_mutex, 6,s: 5,309,823 msg/sec tbb::spin_mutex, 6,i: 4,427,074 msg/sec tbb::spin_mutex, 7,s: 4,851,304 msg/sec tbb::spin_mutex, 7,i: 4,329,061 msg/sec tbb::spin_mutex, 8,s: 4,255,452 msg/sec tbb::spin_mutex, 8,i: 4,147,540 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,136,644 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,072,408 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,807,794 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,176,708 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,263,656 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,386,395 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,080,422 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,237,710 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,611,067 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,377,536 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,655,628 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,758,044 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,683,224 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,097,136 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,755,666 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,950,328 msg/sec xenium::michael_scott_queue, 1,s: 9,515,828 msg/sec xenium::michael_scott_queue, 1,i: 9,557,187 msg/sec xenium::michael_scott_queue, 2,s: 8,452,600 msg/sec xenium::michael_scott_queue, 2,i: 8,449,897 msg/sec xenium::michael_scott_queue, 3,s: 7,334,604 msg/sec xenium::michael_scott_queue, 3,i: 7,541,755 msg/sec xenium::michael_scott_queue, 4,s: 6,271,995 msg/sec xenium::michael_scott_queue, 4,i: 6,377,165 msg/sec xenium::michael_scott_queue, 5,s: 6,262,897 msg/sec xenium::michael_scott_queue, 5,i: 6,758,033 msg/sec xenium::michael_scott_queue, 6,s: 6,485,730 msg/sec xenium::michael_scott_queue, 6,i: 6,752,776 msg/sec xenium::michael_scott_queue, 7,s: 6,320,680 msg/sec xenium::michael_scott_queue, 7,i: 6,524,774 msg/sec xenium::michael_scott_queue, 8,s: 6,008,071 msg/sec xenium::michael_scott_queue, 8,i: 6,158,996 msg/sec xenium::ramalhete_queue, 1,s: 31,587,049 msg/sec xenium::ramalhete_queue, 1,i: 32,228,765 msg/sec xenium::ramalhete_queue, 2,s: 23,475,047 msg/sec xenium::ramalhete_queue, 2,i: 23,287,461 msg/sec xenium::ramalhete_queue, 3,s: 29,229,996 msg/sec xenium::ramalhete_queue, 3,i: 28,477,208 msg/sec xenium::ramalhete_queue, 4,s: 33,853,772 msg/sec xenium::ramalhete_queue, 4,i: 33,441,919 msg/sec xenium::ramalhete_queue, 5,s: 32,238,920 msg/sec xenium::ramalhete_queue, 5,i: 35,959,247 msg/sec xenium::ramalhete_queue, 6,s: 34,120,817 msg/sec xenium::ramalhete_queue, 6,i: 39,552,444 msg/sec xenium::ramalhete_queue, 7,s: 34,850,589 msg/sec xenium::ramalhete_queue, 7,i: 41,517,481 msg/sec xenium::ramalhete_queue, 8,s: 35,260,259 msg/sec xenium::ramalhete_queue, 8,i: 44,242,289 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,637,364 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,777,120 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,970,933 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,596,132 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,738,046 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,012,748 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,639,181 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,303,225 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,982,767 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,320,224 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,010,709 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,292,887 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,151,166 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,025,891 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,484,802 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,211,470 msg/sec AtomicQueue, 1,s: 57,354,306 msg/sec AtomicQueue, 1,i: 56,751,351 msg/sec AtomicQueue, 2,s: 12,202,550 msg/sec AtomicQueue, 2,i: 11,747,686 msg/sec AtomicQueue, 3,s: 10,817,509 msg/sec AtomicQueue, 3,i: 9,931,333 msg/sec AtomicQueue, 4,s: 8,169,228 msg/sec AtomicQueue, 4,i: 8,202,875 msg/sec AtomicQueue, 5,s: 8,027,113 msg/sec AtomicQueue, 5,i: 8,055,705 msg/sec AtomicQueue, 6,s: 7,816,666 msg/sec AtomicQueue, 6,i: 7,622,508 msg/sec AtomicQueue, 7,s: 7,121,108 msg/sec AtomicQueue, 7,i: 7,986,117 msg/sec AtomicQueue, 8,s: 6,352,286 msg/sec AtomicQueue, 8,i: 7,432,567 msg/sec AtomicQueueB, 1,s: 43,864,358 msg/sec AtomicQueueB, 1,i: 42,990,219 msg/sec AtomicQueueB, 2,s: 11,820,822 msg/sec AtomicQueueB, 2,i: 11,407,219 msg/sec AtomicQueueB, 3,s: 11,001,330 msg/sec AtomicQueueB, 3,i: 10,197,250 msg/sec AtomicQueueB, 4,s: 8,084,387 msg/sec AtomicQueueB, 4,i: 7,956,209 msg/sec AtomicQueueB, 5,s: 7,743,326 msg/sec AtomicQueueB, 5,i: 7,776,778 msg/sec AtomicQueueB, 6,s: 7,192,726 msg/sec AtomicQueueB, 6,i: 7,499,325 msg/sec AtomicQueueB, 7,s: 6,874,577 msg/sec AtomicQueueB, 7,i: 7,717,627 msg/sec AtomicQueueB, 8,s: 6,225,133 msg/sec AtomicQueueB, 8,i: 7,176,303 msg/sec OptimistAtomicQueue, 1,s: 724,621,009 msg/sec OptimistAtomicQueue, 1,i: 532,101,978 msg/sec OptimistAtomicQueue, 2,s: 32,115,772 msg/sec OptimistAtomicQueue, 2,i: 32,210,710 msg/sec OptimistAtomicQueue, 3,s: 36,655,541 msg/sec OptimistAtomicQueue, 3,i: 37,355,622 msg/sec OptimistAtomicQueue, 4,s: 39,257,441 msg/sec OptimistAtomicQueue, 4,i: 39,385,098 msg/sec OptimistAtomicQueue, 5,s: 42,377,317 msg/sec OptimistAtomicQueue, 5,i: 46,237,086 msg/sec OptimistAtomicQueue, 6,s: 42,603,490 msg/sec OptimistAtomicQueue, 6,i: 49,767,593 msg/sec OptimistAtomicQueue, 7,s: 45,195,162 msg/sec OptimistAtomicQueue, 7,i: 49,102,560 msg/sec OptimistAtomicQueue, 8,s: 46,298,858 msg/sec OptimistAtomicQueue, 8,i: 49,263,941 msg/sec OptimistAtomicQueueB, 1,s: 88,290,161 msg/sec OptimistAtomicQueueB, 1,i: 76,566,961 msg/sec OptimistAtomicQueueB, 2,s: 32,196,880 msg/sec OptimistAtomicQueueB, 2,i: 32,138,071 msg/sec OptimistAtomicQueueB, 3,s: 36,267,487 msg/sec OptimistAtomicQueueB, 3,i: 36,724,303 msg/sec OptimistAtomicQueueB, 4,s: 38,536,781 msg/sec OptimistAtomicQueueB, 4,i: 38,693,327 msg/sec OptimistAtomicQueueB, 5,s: 40,366,739 msg/sec OptimistAtomicQueueB, 5,i: 45,458,096 msg/sec OptimistAtomicQueueB, 6,s: 40,783,543 msg/sec OptimistAtomicQueueB, 6,i: 48,740,675 msg/sec OptimistAtomicQueueB, 7,s: 41,646,462 msg/sec OptimistAtomicQueueB, 7,i: 51,526,374 msg/sec OptimistAtomicQueueB, 8,s: 44,528,639 msg/sec OptimistAtomicQueueB, 8,i: 47,809,350 msg/sec AtomicQueue2, 1,s: 23,425,426 msg/sec AtomicQueue2, 1,i: 23,399,378 msg/sec AtomicQueue2, 2,s: 11,779,557 msg/sec AtomicQueue2, 2,i: 11,400,193 msg/sec AtomicQueue2, 3,s: 9,938,154 msg/sec AtomicQueue2, 3,i: 9,381,652 msg/sec AtomicQueue2, 4,s: 8,080,124 msg/sec AtomicQueue2, 4,i: 8,047,382 msg/sec AtomicQueue2, 5,s: 7,953,544 msg/sec AtomicQueue2, 5,i: 8,051,756 msg/sec AtomicQueue2, 6,s: 7,706,579 msg/sec AtomicQueue2, 6,i: 7,523,462 msg/sec AtomicQueue2, 7,s: 7,125,826 msg/sec AtomicQueue2, 7,i: 7,910,629 msg/sec AtomicQueue2, 8,s: 6,397,434 msg/sec AtomicQueue2, 8,i: 7,267,077 msg/sec AtomicQueueB2, 1,s: 35,948,077 msg/sec AtomicQueueB2, 1,i: 32,653,126 msg/sec AtomicQueueB2, 2,s: 11,439,241 msg/sec AtomicQueueB2, 2,i: 11,058,112 msg/sec AtomicQueueB2, 3,s: 9,614,996 msg/sec AtomicQueueB2, 3,i: 9,632,905 msg/sec AtomicQueueB2, 4,s: 7,914,108 msg/sec AtomicQueueB2, 4,i: 7,778,920 msg/sec AtomicQueueB2, 5,s: 7,580,423 msg/sec AtomicQueueB2, 5,i: 7,737,847 msg/sec AtomicQueueB2, 6,s: 7,150,332 msg/sec AtomicQueueB2, 6,i: 7,453,764 msg/sec AtomicQueueB2, 7,s: 6,911,054 msg/sec AtomicQueueB2, 7,i: 7,720,515 msg/sec AtomicQueueB2, 8,s: 6,271,556 msg/sec AtomicQueueB2, 8,i: 7,080,788 msg/sec OptimistAtomicQueue2, 1,s: 521,200,888 msg/sec OptimistAtomicQueue2, 1,i: 31,486,279 msg/sec OptimistAtomicQueue2, 2,s: 24,930,107 msg/sec OptimistAtomicQueue2, 2,i: 24,574,783 msg/sec OptimistAtomicQueue2, 3,s: 30,324,858 msg/sec OptimistAtomicQueue2, 3,i: 29,964,930 msg/sec OptimistAtomicQueue2, 4,s: 33,231,332 msg/sec OptimistAtomicQueue2, 4,i: 35,201,922 msg/sec OptimistAtomicQueue2, 5,s: 37,433,257 msg/sec OptimistAtomicQueue2, 5,i: 40,329,666 msg/sec OptimistAtomicQueue2, 6,s: 40,139,802 msg/sec OptimistAtomicQueue2, 6,i: 49,180,690 msg/sec OptimistAtomicQueue2, 7,s: 43,097,550 msg/sec OptimistAtomicQueue2, 7,i: 47,936,978 msg/sec OptimistAtomicQueue2, 8,s: 43,992,527 msg/sec OptimistAtomicQueue2, 8,i: 48,191,797 msg/sec OptimistAtomicQueueB2, 1,s: 78,387,725 msg/sec OptimistAtomicQueueB2, 1,i: 33,880,910 msg/sec OptimistAtomicQueueB2, 2,s: 28,388,961 msg/sec OptimistAtomicQueueB2, 2,i: 23,207,595 msg/sec OptimistAtomicQueueB2, 3,s: 29,723,983 msg/sec OptimistAtomicQueueB2, 3,i: 29,069,008 msg/sec OptimistAtomicQueueB2, 4,s: 33,092,644 msg/sec OptimistAtomicQueueB2, 4,i: 32,146,931 msg/sec OptimistAtomicQueueB2, 5,s: 34,747,293 msg/sec OptimistAtomicQueueB2, 5,i: 39,383,053 msg/sec OptimistAtomicQueueB2, 6,s: 37,208,582 msg/sec OptimistAtomicQueueB2, 6,i: 42,209,594 msg/sec OptimistAtomicQueueB2, 7,s: 40,163,259 msg/sec OptimistAtomicQueueB2, 7,i: 45,605,002 msg/sec OptimistAtomicQueueB2, 8,s: 42,385,956 msg/sec OptimistAtomicQueueB2, 8,i: 46,435,802 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000120 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000292 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000257 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000153 sec/round-trip [329] 47m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,933,276 msg/sec boost::lockfree::spsc_queue, 1,i: 67,952,411 msg/sec boost::lockfree::queue, 1,s: 6,808,905 msg/sec boost::lockfree::queue, 1,i: 6,945,180 msg/sec boost::lockfree::queue, 2,s: 7,550,184 msg/sec boost::lockfree::queue, 2,i: 7,442,288 msg/sec boost::lockfree::queue, 3,s: 7,366,440 msg/sec boost::lockfree::queue, 3,i: 7,563,862 msg/sec boost::lockfree::queue, 4,s: 6,422,205 msg/sec boost::lockfree::queue, 4,i: 6,799,172 msg/sec boost::lockfree::queue, 5,s: 6,400,181 msg/sec boost::lockfree::queue, 5,i: 6,442,816 msg/sec boost::lockfree::queue, 6,s: 6,005,420 msg/sec boost::lockfree::queue, 6,i: 6,091,333 msg/sec boost::lockfree::queue, 7,s: 5,907,655 msg/sec boost::lockfree::queue, 7,i: 6,053,791 msg/sec boost::lockfree::queue, 8,s: 5,480,930 msg/sec boost::lockfree::queue, 8,i: 5,603,400 msg/sec moodycamel::ReaderWriterQueue, 1,s: 105,604,187 msg/sec moodycamel::ReaderWriterQueue, 1,i: 99,166,748 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,683,016 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,487,430 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,387,495 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,661,842 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,820,974 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,589,812 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,080,285 msg/sec moodycamel::ConcurrentQueue, 4,i: 30,736,421 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,251,514 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,788,689 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,301,422 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,621,724 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,216,277 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,165,596 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,302,134 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,182,451 msg/sec pthread_spinlock, 1,s: 29,018,212 msg/sec pthread_spinlock, 1,i: 25,388,947 msg/sec pthread_spinlock, 2,s: 15,643,052 msg/sec pthread_spinlock, 2,i: 16,946,660 msg/sec pthread_spinlock, 3,s: 8,331,120 msg/sec pthread_spinlock, 3,i: 12,019,724 msg/sec pthread_spinlock, 4,s: 6,468,225 msg/sec pthread_spinlock, 4,i: 9,034,129 msg/sec pthread_spinlock, 5,s: 8,442,872 msg/sec pthread_spinlock, 5,i: 9,586,082 msg/sec pthread_spinlock, 6,s: 8,301,120 msg/sec pthread_spinlock, 6,i: 8,412,501 msg/sec pthread_spinlock, 7,s: 7,850,598 msg/sec pthread_spinlock, 7,i: 7,639,686 msg/sec pthread_spinlock, 8,s: 6,876,955 msg/sec pthread_spinlock, 8,i: 7,132,372 msg/sec std::mutex, 1,s: 5,874,735 msg/sec std::mutex, 1,i: 6,876,058 msg/sec std::mutex, 2,s: 5,944,850 msg/sec std::mutex, 2,i: 5,934,347 msg/sec std::mutex, 3,s: 5,857,449 msg/sec std::mutex, 3,i: 5,955,349 msg/sec std::mutex, 4,s: 6,012,820 msg/sec std::mutex, 4,i: 6,157,922 msg/sec std::mutex, 5,s: 5,975,061 msg/sec std::mutex, 5,i: 5,704,061 msg/sec std::mutex, 6,s: 5,900,526 msg/sec std::mutex, 6,i: 5,881,876 msg/sec std::mutex, 7,s: 5,735,049 msg/sec std::mutex, 7,i: 5,793,674 msg/sec std::mutex, 8,s: 5,627,358 msg/sec std::mutex, 8,i: 5,631,880 msg/sec tbb::spin_mutex, 1,s: 37,948,041 msg/sec tbb::spin_mutex, 1,i: 32,816,815 msg/sec tbb::spin_mutex, 2,s: 18,449,050 msg/sec tbb::spin_mutex, 2,i: 18,508,061 msg/sec tbb::spin_mutex, 3,s: 8,673,411 msg/sec tbb::spin_mutex, 3,i: 10,132,684 msg/sec tbb::spin_mutex, 4,s: 3,046,039 msg/sec tbb::spin_mutex, 4,i: 6,303,470 msg/sec tbb::spin_mutex, 5,s: 5,471,834 msg/sec tbb::spin_mutex, 5,i: 5,865,058 msg/sec tbb::spin_mutex, 6,s: 5,348,108 msg/sec tbb::spin_mutex, 6,i: 4,423,040 msg/sec tbb::spin_mutex, 7,s: 4,856,271 msg/sec tbb::spin_mutex, 7,i: 4,335,198 msg/sec tbb::spin_mutex, 8,s: 4,251,281 msg/sec tbb::spin_mutex, 8,i: 4,080,110 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,378,609 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,544,172 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,750,917 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,003,388 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,375,216 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,768,712 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,093,507 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,344,537 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,695,837 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,782,052 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,799,510 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,947,267 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,790,726 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,156,642 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,632,885 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,308,902 msg/sec xenium::michael_scott_queue, 1,s: 10,064,483 msg/sec xenium::michael_scott_queue, 1,i: 10,028,637 msg/sec xenium::michael_scott_queue, 2,s: 8,455,372 msg/sec xenium::michael_scott_queue, 2,i: 8,541,767 msg/sec xenium::michael_scott_queue, 3,s: 7,196,153 msg/sec xenium::michael_scott_queue, 3,i: 7,631,416 msg/sec xenium::michael_scott_queue, 4,s: 6,227,621 msg/sec xenium::michael_scott_queue, 4,i: 6,351,156 msg/sec xenium::michael_scott_queue, 5,s: 6,313,544 msg/sec xenium::michael_scott_queue, 5,i: 6,653,226 msg/sec xenium::michael_scott_queue, 6,s: 6,525,373 msg/sec xenium::michael_scott_queue, 6,i: 6,980,310 msg/sec xenium::michael_scott_queue, 7,s: 6,321,190 msg/sec xenium::michael_scott_queue, 7,i: 6,360,456 msg/sec xenium::michael_scott_queue, 8,s: 5,949,081 msg/sec xenium::michael_scott_queue, 8,i: 6,077,589 msg/sec xenium::ramalhete_queue, 1,s: 31,642,064 msg/sec xenium::ramalhete_queue, 1,i: 32,369,616 msg/sec xenium::ramalhete_queue, 2,s: 23,751,878 msg/sec xenium::ramalhete_queue, 2,i: 23,340,170 msg/sec xenium::ramalhete_queue, 3,s: 29,083,982 msg/sec xenium::ramalhete_queue, 3,i: 28,457,074 msg/sec xenium::ramalhete_queue, 4,s: 33,649,056 msg/sec xenium::ramalhete_queue, 4,i: 33,460,577 msg/sec xenium::ramalhete_queue, 5,s: 32,062,895 msg/sec xenium::ramalhete_queue, 5,i: 36,014,829 msg/sec xenium::ramalhete_queue, 6,s: 34,015,121 msg/sec xenium::ramalhete_queue, 6,i: 39,125,273 msg/sec xenium::ramalhete_queue, 7,s: 35,094,264 msg/sec xenium::ramalhete_queue, 7,i: 41,044,832 msg/sec xenium::ramalhete_queue, 8,s: 35,414,638 msg/sec xenium::ramalhete_queue, 8,i: 43,528,818 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,415,764 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,937,757 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,342,369 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,315,497 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,581,007 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,756,244 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,521,239 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,404,828 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,926,994 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,367,975 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,902,937 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,345,386 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,171,140 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,880,608 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,380,256 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,250,122 msg/sec AtomicQueue, 1,s: 59,130,544 msg/sec AtomicQueue, 1,i: 56,365,611 msg/sec AtomicQueue, 2,s: 12,254,570 msg/sec AtomicQueue, 2,i: 11,753,885 msg/sec AtomicQueue, 3,s: 10,785,654 msg/sec AtomicQueue, 3,i: 9,902,787 msg/sec AtomicQueue, 4,s: 8,186,832 msg/sec AtomicQueue, 4,i: 8,201,121 msg/sec AtomicQueue, 5,s: 8,037,615 msg/sec AtomicQueue, 5,i: 8,083,822 msg/sec AtomicQueue, 6,s: 7,835,557 msg/sec AtomicQueue, 6,i: 7,616,790 msg/sec AtomicQueue, 7,s: 7,131,654 msg/sec AtomicQueue, 7,i: 7,946,277 msg/sec AtomicQueue, 8,s: 6,368,597 msg/sec AtomicQueue, 8,i: 7,401,983 msg/sec AtomicQueueB, 1,s: 44,104,937 msg/sec AtomicQueueB, 1,i: 43,008,239 msg/sec AtomicQueueB, 2,s: 11,823,280 msg/sec AtomicQueueB, 2,i: 11,393,425 msg/sec AtomicQueueB, 3,s: 11,067,253 msg/sec AtomicQueueB, 3,i: 10,170,362 msg/sec AtomicQueueB, 4,s: 8,028,598 msg/sec AtomicQueueB, 4,i: 8,089,442 msg/sec AtomicQueueB, 5,s: 7,611,766 msg/sec AtomicQueueB, 5,i: 7,771,199 msg/sec AtomicQueueB, 6,s: 7,347,971 msg/sec AtomicQueueB, 6,i: 7,514,861 msg/sec AtomicQueueB, 7,s: 6,816,164 msg/sec AtomicQueueB, 7,i: 7,739,590 msg/sec AtomicQueueB, 8,s: 6,211,845 msg/sec AtomicQueueB, 8,i: 7,093,100 msg/sec OptimistAtomicQueue, 1,s: 777,548,444 msg/sec OptimistAtomicQueue, 1,i: 554,138,039 msg/sec OptimistAtomicQueue, 2,s: 32,659,026 msg/sec OptimistAtomicQueue, 2,i: 32,611,064 msg/sec OptimistAtomicQueue, 3,s: 36,663,960 msg/sec OptimistAtomicQueue, 3,i: 37,289,883 msg/sec OptimistAtomicQueue, 4,s: 39,247,190 msg/sec OptimistAtomicQueue, 4,i: 39,328,797 msg/sec OptimistAtomicQueue, 5,s: 42,360,333 msg/sec OptimistAtomicQueue, 5,i: 46,856,666 msg/sec OptimistAtomicQueue, 6,s: 42,558,509 msg/sec OptimistAtomicQueue, 6,i: 50,206,631 msg/sec OptimistAtomicQueue, 7,s: 44,147,005 msg/sec OptimistAtomicQueue, 7,i: 49,413,974 msg/sec OptimistAtomicQueue, 8,s: 46,544,359 msg/sec OptimistAtomicQueue, 8,i: 49,357,299 msg/sec OptimistAtomicQueueB, 1,s: 140,728,978 msg/sec OptimistAtomicQueueB, 1,i: 76,674,920 msg/sec OptimistAtomicQueueB, 2,s: 32,216,155 msg/sec OptimistAtomicQueueB, 2,i: 32,212,263 msg/sec OptimistAtomicQueueB, 3,s: 36,237,706 msg/sec OptimistAtomicQueueB, 3,i: 36,937,427 msg/sec OptimistAtomicQueueB, 4,s: 38,627,025 msg/sec OptimistAtomicQueueB, 4,i: 38,605,553 msg/sec OptimistAtomicQueueB, 5,s: 41,343,930 msg/sec OptimistAtomicQueueB, 5,i: 45,375,476 msg/sec OptimistAtomicQueueB, 6,s: 41,127,066 msg/sec OptimistAtomicQueueB, 6,i: 48,674,272 msg/sec OptimistAtomicQueueB, 7,s: 42,068,620 msg/sec OptimistAtomicQueueB, 7,i: 50,810,780 msg/sec OptimistAtomicQueueB, 8,s: 44,653,209 msg/sec OptimistAtomicQueueB, 8,i: 48,101,457 msg/sec AtomicQueue2, 1,s: 22,911,821 msg/sec AtomicQueue2, 1,i: 22,915,870 msg/sec AtomicQueue2, 2,s: 11,796,798 msg/sec AtomicQueue2, 2,i: 11,367,704 msg/sec AtomicQueue2, 3,s: 9,454,720 msg/sec AtomicQueue2, 3,i: 9,349,853 msg/sec AtomicQueue2, 4,s: 8,009,589 msg/sec AtomicQueue2, 4,i: 7,997,234 msg/sec AtomicQueue2, 5,s: 7,892,441 msg/sec AtomicQueue2, 5,i: 7,995,694 msg/sec AtomicQueue2, 6,s: 7,751,655 msg/sec AtomicQueue2, 6,i: 7,517,781 msg/sec AtomicQueue2, 7,s: 7,082,300 msg/sec AtomicQueue2, 7,i: 7,890,358 msg/sec AtomicQueue2, 8,s: 6,402,951 msg/sec AtomicQueue2, 8,i: 7,365,425 msg/sec AtomicQueueB2, 1,s: 35,127,433 msg/sec AtomicQueueB2, 1,i: 32,521,497 msg/sec AtomicQueueB2, 2,s: 11,359,254 msg/sec AtomicQueueB2, 2,i: 11,095,260 msg/sec AtomicQueueB2, 3,s: 9,730,487 msg/sec AtomicQueueB2, 3,i: 9,595,056 msg/sec AtomicQueueB2, 4,s: 7,933,711 msg/sec AtomicQueueB2, 4,i: 7,888,500 msg/sec AtomicQueueB2, 5,s: 7,505,925 msg/sec AtomicQueueB2, 5,i: 7,717,756 msg/sec AtomicQueueB2, 6,s: 7,319,925 msg/sec AtomicQueueB2, 6,i: 7,406,908 msg/sec AtomicQueueB2, 7,s: 6,905,359 msg/sec AtomicQueueB2, 7,i: 7,520,017 msg/sec AtomicQueueB2, 8,s: 6,283,450 msg/sec AtomicQueueB2, 8,i: 7,087,569 msg/sec OptimistAtomicQueue2, 1,s: 32,039,125 msg/sec OptimistAtomicQueue2, 1,i: 31,989,443 msg/sec OptimistAtomicQueue2, 2,s: 29,359,426 msg/sec OptimistAtomicQueue2, 2,i: 28,047,955 msg/sec OptimistAtomicQueue2, 3,s: 30,586,393 msg/sec OptimistAtomicQueue2, 3,i: 30,575,911 msg/sec OptimistAtomicQueue2, 4,s: 33,198,491 msg/sec OptimistAtomicQueue2, 4,i: 33,134,660 msg/sec OptimistAtomicQueue2, 5,s: 37,284,884 msg/sec OptimistAtomicQueue2, 5,i: 42,057,091 msg/sec OptimistAtomicQueue2, 6,s: 40,121,732 msg/sec OptimistAtomicQueue2, 6,i: 49,218,257 msg/sec OptimistAtomicQueue2, 7,s: 43,033,342 msg/sec OptimistAtomicQueue2, 7,i: 51,594,201 msg/sec OptimistAtomicQueue2, 8,s: 43,907,465 msg/sec OptimistAtomicQueue2, 8,i: 48,704,592 msg/sec OptimistAtomicQueueB2, 1,s: 78,832,841 msg/sec OptimistAtomicQueueB2, 1,i: 33,924,170 msg/sec OptimistAtomicQueueB2, 2,s: 28,887,963 msg/sec OptimistAtomicQueueB2, 2,i: 23,131,964 msg/sec OptimistAtomicQueueB2, 3,s: 29,792,364 msg/sec OptimistAtomicQueueB2, 3,i: 29,079,085 msg/sec OptimistAtomicQueueB2, 4,s: 32,918,487 msg/sec OptimistAtomicQueueB2, 4,i: 32,522,760 msg/sec OptimistAtomicQueueB2, 5,s: 34,686,172 msg/sec OptimistAtomicQueueB2, 5,i: 39,450,622 msg/sec OptimistAtomicQueueB2, 6,s: 37,151,416 msg/sec OptimistAtomicQueueB2, 6,i: 42,304,948 msg/sec OptimistAtomicQueueB2, 7,s: 40,051,196 msg/sec OptimistAtomicQueueB2, 7,i: 45,416,859 msg/sec OptimistAtomicQueueB2, 8,s: 42,532,165 msg/sec OptimistAtomicQueueB2, 8,i: 45,797,206 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000154 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [330] 45m:49s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,759,063 msg/sec boost::lockfree::spsc_queue, 1,i: 67,624,697 msg/sec boost::lockfree::queue, 1,s: 6,949,810 msg/sec boost::lockfree::queue, 1,i: 6,823,965 msg/sec boost::lockfree::queue, 2,s: 7,579,978 msg/sec boost::lockfree::queue, 2,i: 7,558,660 msg/sec boost::lockfree::queue, 3,s: 7,353,065 msg/sec boost::lockfree::queue, 3,i: 7,559,840 msg/sec boost::lockfree::queue, 4,s: 6,424,359 msg/sec boost::lockfree::queue, 4,i: 6,807,576 msg/sec boost::lockfree::queue, 5,s: 6,436,563 msg/sec boost::lockfree::queue, 5,i: 6,505,443 msg/sec boost::lockfree::queue, 6,s: 6,028,646 msg/sec boost::lockfree::queue, 6,i: 6,110,165 msg/sec boost::lockfree::queue, 7,s: 5,921,169 msg/sec boost::lockfree::queue, 7,i: 5,934,240 msg/sec boost::lockfree::queue, 8,s: 5,489,928 msg/sec boost::lockfree::queue, 8,i: 5,603,043 msg/sec moodycamel::ReaderWriterQueue, 1,s: 54,440,735 msg/sec moodycamel::ReaderWriterQueue, 1,i: 54,706,152 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,973,115 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,548,189 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,113,883 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,979,278 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,315,095 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,678,439 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,194,823 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,893,064 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,390,849 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,318,073 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,289,900 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,190,095 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,022,497 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,913,646 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,167,545 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,171,616 msg/sec pthread_spinlock, 1,s: 28,865,923 msg/sec pthread_spinlock, 1,i: 29,600,392 msg/sec pthread_spinlock, 2,s: 15,422,295 msg/sec pthread_spinlock, 2,i: 17,054,080 msg/sec pthread_spinlock, 3,s: 8,422,834 msg/sec pthread_spinlock, 3,i: 12,006,525 msg/sec pthread_spinlock, 4,s: 6,512,589 msg/sec pthread_spinlock, 4,i: 8,885,033 msg/sec pthread_spinlock, 5,s: 8,639,298 msg/sec pthread_spinlock, 5,i: 9,123,301 msg/sec pthread_spinlock, 6,s: 8,294,669 msg/sec pthread_spinlock, 6,i: 8,911,113 msg/sec pthread_spinlock, 7,s: 7,617,751 msg/sec pthread_spinlock, 7,i: 7,665,433 msg/sec pthread_spinlock, 8,s: 6,648,214 msg/sec pthread_spinlock, 8,i: 7,235,932 msg/sec std::mutex, 1,s: 7,362,864 msg/sec std::mutex, 1,i: 7,424,446 msg/sec std::mutex, 2,s: 5,888,156 msg/sec std::mutex, 2,i: 6,078,708 msg/sec std::mutex, 3,s: 5,935,807 msg/sec std::mutex, 3,i: 6,039,066 msg/sec std::mutex, 4,s: 5,965,833 msg/sec std::mutex, 4,i: 6,148,135 msg/sec std::mutex, 5,s: 5,844,551 msg/sec std::mutex, 5,i: 5,977,235 msg/sec std::mutex, 6,s: 5,788,864 msg/sec std::mutex, 6,i: 5,826,324 msg/sec std::mutex, 7,s: 5,728,716 msg/sec std::mutex, 7,i: 5,761,434 msg/sec std::mutex, 8,s: 5,679,601 msg/sec std::mutex, 8,i: 5,584,716 msg/sec tbb::spin_mutex, 1,s: 37,765,735 msg/sec tbb::spin_mutex, 1,i: 37,223,939 msg/sec tbb::spin_mutex, 2,s: 21,171,879 msg/sec tbb::spin_mutex, 2,i: 18,506,295 msg/sec tbb::spin_mutex, 3,s: 8,261,899 msg/sec tbb::spin_mutex, 3,i: 10,655,329 msg/sec tbb::spin_mutex, 4,s: 3,131,607 msg/sec tbb::spin_mutex, 4,i: 6,297,907 msg/sec tbb::spin_mutex, 5,s: 5,124,540 msg/sec tbb::spin_mutex, 5,i: 5,715,061 msg/sec tbb::spin_mutex, 6,s: 5,308,672 msg/sec tbb::spin_mutex, 6,i: 4,295,921 msg/sec tbb::spin_mutex, 7,s: 4,877,526 msg/sec tbb::spin_mutex, 7,i: 4,349,886 msg/sec tbb::spin_mutex, 8,s: 4,247,896 msg/sec tbb::spin_mutex, 8,i: 4,166,008 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,963,951 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,380,169 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,136,590 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,189,822 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,387,952 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,451,203 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,566,084 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,597,901 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,858,652 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,615,390 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,846,403 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,686,745 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,896,479 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,803,544 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,792,922 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,468,849 msg/sec xenium::michael_scott_queue, 1,s: 9,120,756 msg/sec xenium::michael_scott_queue, 1,i: 9,532,935 msg/sec xenium::michael_scott_queue, 2,s: 8,345,444 msg/sec xenium::michael_scott_queue, 2,i: 8,449,231 msg/sec xenium::michael_scott_queue, 3,s: 7,118,461 msg/sec xenium::michael_scott_queue, 3,i: 7,542,191 msg/sec xenium::michael_scott_queue, 4,s: 6,377,602 msg/sec xenium::michael_scott_queue, 4,i: 6,405,555 msg/sec xenium::michael_scott_queue, 5,s: 6,284,665 msg/sec xenium::michael_scott_queue, 5,i: 6,608,276 msg/sec xenium::michael_scott_queue, 6,s: 6,507,116 msg/sec xenium::michael_scott_queue, 6,i: 6,978,920 msg/sec xenium::michael_scott_queue, 7,s: 6,375,903 msg/sec xenium::michael_scott_queue, 7,i: 6,468,109 msg/sec xenium::michael_scott_queue, 8,s: 6,012,974 msg/sec xenium::michael_scott_queue, 8,i: 6,180,871 msg/sec xenium::ramalhete_queue, 1,s: 31,831,802 msg/sec xenium::ramalhete_queue, 1,i: 31,769,680 msg/sec xenium::ramalhete_queue, 2,s: 24,268,995 msg/sec xenium::ramalhete_queue, 2,i: 23,705,955 msg/sec xenium::ramalhete_queue, 3,s: 29,127,659 msg/sec xenium::ramalhete_queue, 3,i: 28,449,123 msg/sec xenium::ramalhete_queue, 4,s: 33,785,251 msg/sec xenium::ramalhete_queue, 4,i: 33,470,213 msg/sec xenium::ramalhete_queue, 5,s: 32,231,526 msg/sec xenium::ramalhete_queue, 5,i: 35,956,723 msg/sec xenium::ramalhete_queue, 6,s: 33,897,301 msg/sec xenium::ramalhete_queue, 6,i: 38,943,609 msg/sec xenium::ramalhete_queue, 7,s: 35,240,762 msg/sec xenium::ramalhete_queue, 7,i: 40,985,860 msg/sec xenium::ramalhete_queue, 8,s: 35,566,222 msg/sec xenium::ramalhete_queue, 8,i: 44,057,870 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,161,971 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,922,797 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,841,493 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,842,866 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,625,854 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,824,942 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,637,383 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,185,924 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,704,038 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,370,326 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,040,224 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,491,526 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,253,622 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,919,755 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,412,236 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,232,919 msg/sec AtomicQueue, 1,s: 274,599,649 msg/sec AtomicQueue, 1,i: 197,023,924 msg/sec AtomicQueue, 2,s: 12,271,074 msg/sec AtomicQueue, 2,i: 11,870,430 msg/sec AtomicQueue, 3,s: 10,746,611 msg/sec AtomicQueue, 3,i: 9,991,676 msg/sec AtomicQueue, 4,s: 8,212,703 msg/sec AtomicQueue, 4,i: 8,233,382 msg/sec AtomicQueue, 5,s: 8,009,016 msg/sec AtomicQueue, 5,i: 8,090,183 msg/sec AtomicQueue, 6,s: 7,697,658 msg/sec AtomicQueue, 6,i: 7,608,203 msg/sec AtomicQueue, 7,s: 7,117,083 msg/sec AtomicQueue, 7,i: 7,989,853 msg/sec AtomicQueue, 8,s: 6,354,378 msg/sec AtomicQueue, 8,i: 7,471,967 msg/sec AtomicQueueB, 1,s: 44,454,193 msg/sec AtomicQueueB, 1,i: 43,041,527 msg/sec AtomicQueueB, 2,s: 11,823,672 msg/sec AtomicQueueB, 2,i: 11,507,860 msg/sec AtomicQueueB, 3,s: 10,983,115 msg/sec AtomicQueueB, 3,i: 10,220,642 msg/sec AtomicQueueB, 4,s: 8,049,112 msg/sec AtomicQueueB, 4,i: 8,090,664 msg/sec AtomicQueueB, 5,s: 7,639,841 msg/sec AtomicQueueB, 5,i: 7,762,259 msg/sec AtomicQueueB, 6,s: 7,424,424 msg/sec AtomicQueueB, 6,i: 7,574,057 msg/sec AtomicQueueB, 7,s: 6,835,288 msg/sec AtomicQueueB, 7,i: 7,745,399 msg/sec AtomicQueueB, 8,s: 6,280,416 msg/sec AtomicQueueB, 8,i: 7,171,014 msg/sec OptimistAtomicQueue, 1,s: 773,741,084 msg/sec OptimistAtomicQueue, 1,i: 601,740,564 msg/sec OptimistAtomicQueue, 2,s: 32,649,039 msg/sec OptimistAtomicQueue, 2,i: 32,704,499 msg/sec OptimistAtomicQueue, 3,s: 36,663,311 msg/sec OptimistAtomicQueue, 3,i: 37,368,835 msg/sec OptimistAtomicQueue, 4,s: 39,309,409 msg/sec OptimistAtomicQueue, 4,i: 39,438,028 msg/sec OptimistAtomicQueue, 5,s: 42,399,322 msg/sec OptimistAtomicQueue, 5,i: 48,098,769 msg/sec OptimistAtomicQueue, 6,s: 42,345,729 msg/sec OptimistAtomicQueue, 6,i: 50,250,743 msg/sec OptimistAtomicQueue, 7,s: 44,246,997 msg/sec OptimistAtomicQueue, 7,i: 51,967,032 msg/sec OptimistAtomicQueue, 8,s: 46,389,145 msg/sec OptimistAtomicQueue, 8,i: 49,659,079 msg/sec OptimistAtomicQueueB, 1,s: 165,187,263 msg/sec OptimistAtomicQueueB, 1,i: 76,479,791 msg/sec OptimistAtomicQueueB, 2,s: 32,201,428 msg/sec OptimistAtomicQueueB, 2,i: 32,052,254 msg/sec OptimistAtomicQueueB, 3,s: 36,195,282 msg/sec OptimistAtomicQueueB, 3,i: 36,798,998 msg/sec OptimistAtomicQueueB, 4,s: 38,745,013 msg/sec OptimistAtomicQueueB, 4,i: 38,718,238 msg/sec OptimistAtomicQueueB, 5,s: 36,926,729 msg/sec OptimistAtomicQueueB, 5,i: 46,049,714 msg/sec OptimistAtomicQueueB, 6,s: 41,012,416 msg/sec OptimistAtomicQueueB, 6,i: 48,950,188 msg/sec OptimistAtomicQueueB, 7,s: 42,910,713 msg/sec OptimistAtomicQueueB, 7,i: 51,416,848 msg/sec OptimistAtomicQueueB, 8,s: 44,464,479 msg/sec OptimistAtomicQueueB, 8,i: 49,155,064 msg/sec AtomicQueue2, 1,s: 22,908,678 msg/sec AtomicQueue2, 1,i: 22,870,134 msg/sec AtomicQueue2, 2,s: 11,915,995 msg/sec AtomicQueue2, 2,i: 11,405,561 msg/sec AtomicQueue2, 3,s: 9,748,031 msg/sec AtomicQueue2, 3,i: 9,363,715 msg/sec AtomicQueue2, 4,s: 8,025,420 msg/sec AtomicQueue2, 4,i: 8,054,267 msg/sec AtomicQueue2, 5,s: 7,929,036 msg/sec AtomicQueue2, 5,i: 8,015,285 msg/sec AtomicQueue2, 6,s: 7,704,084 msg/sec AtomicQueue2, 6,i: 7,522,255 msg/sec AtomicQueue2, 7,s: 7,148,388 msg/sec AtomicQueue2, 7,i: 7,861,835 msg/sec AtomicQueue2, 8,s: 6,386,897 msg/sec AtomicQueue2, 8,i: 7,351,754 msg/sec AtomicQueueB2, 1,s: 33,448,017 msg/sec AtomicQueueB2, 1,i: 33,404,731 msg/sec AtomicQueueB2, 2,s: 11,395,692 msg/sec AtomicQueueB2, 2,i: 11,181,157 msg/sec AtomicQueueB2, 3,s: 9,622,710 msg/sec AtomicQueueB2, 3,i: 9,567,024 msg/sec AtomicQueueB2, 4,s: 7,976,131 msg/sec AtomicQueueB2, 4,i: 7,816,235 msg/sec AtomicQueueB2, 5,s: 7,588,345 msg/sec AtomicQueueB2, 5,i: 7,625,351 msg/sec AtomicQueueB2, 6,s: 7,394,768 msg/sec AtomicQueueB2, 6,i: 7,414,347 msg/sec AtomicQueueB2, 7,s: 6,903,283 msg/sec AtomicQueueB2, 7,i: 7,708,609 msg/sec AtomicQueueB2, 8,s: 6,266,434 msg/sec AtomicQueueB2, 8,i: 7,111,491 msg/sec OptimistAtomicQueue2, 1,s: 426,379,321 msg/sec OptimistAtomicQueue2, 1,i: 29,639,898 msg/sec OptimistAtomicQueue2, 2,s: 24,426,339 msg/sec OptimistAtomicQueue2, 2,i: 24,010,324 msg/sec OptimistAtomicQueue2, 3,s: 30,322,263 msg/sec OptimistAtomicQueue2, 3,i: 29,931,365 msg/sec OptimistAtomicQueue2, 4,s: 33,116,761 msg/sec OptimistAtomicQueue2, 4,i: 33,020,425 msg/sec OptimistAtomicQueue2, 5,s: 37,154,525 msg/sec OptimistAtomicQueue2, 5,i: 41,465,843 msg/sec OptimistAtomicQueue2, 6,s: 40,232,589 msg/sec OptimistAtomicQueue2, 6,i: 49,077,466 msg/sec OptimistAtomicQueue2, 7,s: 43,339,967 msg/sec OptimistAtomicQueue2, 7,i: 51,176,598 msg/sec OptimistAtomicQueue2, 8,s: 43,883,706 msg/sec OptimistAtomicQueue2, 8,i: 48,764,060 msg/sec OptimistAtomicQueueB2, 1,s: 76,933,402 msg/sec OptimistAtomicQueueB2, 1,i: 33,871,135 msg/sec OptimistAtomicQueueB2, 2,s: 26,912,029 msg/sec OptimistAtomicQueueB2, 2,i: 23,189,324 msg/sec OptimistAtomicQueueB2, 3,s: 29,687,436 msg/sec OptimistAtomicQueueB2, 3,i: 29,156,921 msg/sec OptimistAtomicQueueB2, 4,s: 33,338,764 msg/sec OptimistAtomicQueueB2, 4,i: 32,774,612 msg/sec OptimistAtomicQueueB2, 5,s: 34,334,154 msg/sec OptimistAtomicQueueB2, 5,i: 39,005,385 msg/sec OptimistAtomicQueueB2, 6,s: 37,626,153 msg/sec OptimistAtomicQueueB2, 6,i: 42,470,559 msg/sec OptimistAtomicQueueB2, 7,s: 40,128,106 msg/sec OptimistAtomicQueueB2, 7,i: 45,632,546 msg/sec OptimistAtomicQueueB2, 8,s: 41,917,721 msg/sec OptimistAtomicQueueB2, 8,i: 45,492,427 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000136 sec/round-trip moodycamel::ConcurrentQueue: 0.000000220 sec/round-trip pthread_spinlock: 0.000000234 sec/round-trip std::mutex: 0.000000455 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000274 sec/round-trip xenium::vyukov_bounded_queue: 0.000000210 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [331] 44m:30s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,319,247 msg/sec boost::lockfree::spsc_queue, 1,i: 69,313,998 msg/sec boost::lockfree::queue, 1,s: 6,762,129 msg/sec boost::lockfree::queue, 1,i: 6,899,218 msg/sec boost::lockfree::queue, 2,s: 7,538,288 msg/sec boost::lockfree::queue, 2,i: 7,476,010 msg/sec boost::lockfree::queue, 3,s: 7,306,210 msg/sec boost::lockfree::queue, 3,i: 7,568,119 msg/sec boost::lockfree::queue, 4,s: 6,411,228 msg/sec boost::lockfree::queue, 4,i: 6,863,712 msg/sec boost::lockfree::queue, 5,s: 6,474,443 msg/sec boost::lockfree::queue, 5,i: 6,450,556 msg/sec boost::lockfree::queue, 6,s: 6,021,966 msg/sec boost::lockfree::queue, 6,i: 6,158,522 msg/sec boost::lockfree::queue, 7,s: 6,019,293 msg/sec boost::lockfree::queue, 7,i: 5,924,742 msg/sec boost::lockfree::queue, 8,s: 5,364,102 msg/sec boost::lockfree::queue, 8,i: 5,585,652 msg/sec moodycamel::ReaderWriterQueue, 1,s: 492,585,419 msg/sec moodycamel::ReaderWriterQueue, 1,i: 496,665,511 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,956,723 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,674,357 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,473,792 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,316,556 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,774,849 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,321,691 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,033,693 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,153,050 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,195,753 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,792,299 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,433,184 msg/sec moodycamel::ConcurrentQueue, 6,i: 29,766,130 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,956,048 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,902,910 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,220,375 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,747,156 msg/sec pthread_spinlock, 1,s: 28,696,415 msg/sec pthread_spinlock, 1,i: 25,325,202 msg/sec pthread_spinlock, 2,s: 15,698,421 msg/sec pthread_spinlock, 2,i: 18,108,815 msg/sec pthread_spinlock, 3,s: 8,309,932 msg/sec pthread_spinlock, 3,i: 11,862,553 msg/sec pthread_spinlock, 4,s: 6,475,740 msg/sec pthread_spinlock, 4,i: 9,132,761 msg/sec pthread_spinlock, 5,s: 8,543,989 msg/sec pthread_spinlock, 5,i: 9,268,277 msg/sec pthread_spinlock, 6,s: 8,534,448 msg/sec pthread_spinlock, 6,i: 8,459,456 msg/sec pthread_spinlock, 7,s: 7,532,670 msg/sec pthread_spinlock, 7,i: 8,086,235 msg/sec pthread_spinlock, 8,s: 6,953,797 msg/sec pthread_spinlock, 8,i: 6,960,027 msg/sec std::mutex, 1,s: 6,664,676 msg/sec std::mutex, 1,i: 7,565,450 msg/sec std::mutex, 2,s: 6,027,442 msg/sec std::mutex, 2,i: 6,213,154 msg/sec std::mutex, 3,s: 4,981,541 msg/sec std::mutex, 3,i: 5,022,132 msg/sec std::mutex, 4,s: 5,604,184 msg/sec std::mutex, 4,i: 6,387,719 msg/sec std::mutex, 5,s: 6,137,178 msg/sec std::mutex, 5,i: 6,109,422 msg/sec std::mutex, 6,s: 5,861,724 msg/sec std::mutex, 6,i: 5,909,049 msg/sec std::mutex, 7,s: 5,794,068 msg/sec std::mutex, 7,i: 5,819,590 msg/sec std::mutex, 8,s: 5,737,579 msg/sec std::mutex, 8,i: 5,749,801 msg/sec tbb::spin_mutex, 1,s: 37,755,532 msg/sec tbb::spin_mutex, 1,i: 32,702,333 msg/sec tbb::spin_mutex, 2,s: 21,102,253 msg/sec tbb::spin_mutex, 2,i: 18,493,962 msg/sec tbb::spin_mutex, 3,s: 8,297,433 msg/sec tbb::spin_mutex, 3,i: 10,554,747 msg/sec tbb::spin_mutex, 4,s: 3,178,982 msg/sec tbb::spin_mutex, 4,i: 6,302,674 msg/sec tbb::spin_mutex, 5,s: 5,581,478 msg/sec tbb::spin_mutex, 5,i: 5,725,420 msg/sec tbb::spin_mutex, 6,s: 5,330,441 msg/sec tbb::spin_mutex, 6,i: 4,412,131 msg/sec tbb::spin_mutex, 7,s: 4,852,383 msg/sec tbb::spin_mutex, 7,i: 4,378,249 msg/sec tbb::spin_mutex, 8,s: 4,255,339 msg/sec tbb::spin_mutex, 8,i: 4,046,862 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,584,739 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,759,254 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,518,436 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,180,846 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,611,074 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,703,042 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,128,732 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,431,141 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,659,049 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,719,802 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,763,717 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,001,114 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,776,213 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,127,738 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,640,569 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,313,384 msg/sec xenium::michael_scott_queue, 1,s: 9,423,116 msg/sec xenium::michael_scott_queue, 1,i: 9,430,402 msg/sec xenium::michael_scott_queue, 2,s: 8,484,802 msg/sec xenium::michael_scott_queue, 2,i: 8,484,657 msg/sec xenium::michael_scott_queue, 3,s: 7,310,814 msg/sec xenium::michael_scott_queue, 3,i: 7,644,105 msg/sec xenium::michael_scott_queue, 4,s: 6,250,802 msg/sec xenium::michael_scott_queue, 4,i: 6,418,218 msg/sec xenium::michael_scott_queue, 5,s: 6,338,180 msg/sec xenium::michael_scott_queue, 5,i: 6,705,611 msg/sec xenium::michael_scott_queue, 6,s: 6,516,797 msg/sec xenium::michael_scott_queue, 6,i: 6,719,241 msg/sec xenium::michael_scott_queue, 7,s: 6,312,497 msg/sec xenium::michael_scott_queue, 7,i: 6,485,772 msg/sec xenium::michael_scott_queue, 8,s: 6,012,344 msg/sec xenium::michael_scott_queue, 8,i: 6,248,990 msg/sec xenium::ramalhete_queue, 1,s: 32,494,083 msg/sec xenium::ramalhete_queue, 1,i: 31,586,532 msg/sec xenium::ramalhete_queue, 2,s: 24,456,032 msg/sec xenium::ramalhete_queue, 2,i: 23,322,446 msg/sec xenium::ramalhete_queue, 3,s: 29,157,099 msg/sec xenium::ramalhete_queue, 3,i: 28,530,546 msg/sec xenium::ramalhete_queue, 4,s: 33,752,538 msg/sec xenium::ramalhete_queue, 4,i: 33,499,558 msg/sec xenium::ramalhete_queue, 5,s: 32,218,147 msg/sec xenium::ramalhete_queue, 5,i: 36,040,770 msg/sec xenium::ramalhete_queue, 6,s: 33,856,878 msg/sec xenium::ramalhete_queue, 6,i: 39,805,979 msg/sec xenium::ramalhete_queue, 7,s: 35,052,063 msg/sec xenium::ramalhete_queue, 7,i: 41,638,246 msg/sec xenium::ramalhete_queue, 8,s: 35,521,604 msg/sec xenium::ramalhete_queue, 8,i: 44,246,916 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,025,923 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,665,846 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,834,528 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,885,070 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,754,270 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,943,657 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,556,149 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,318,324 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,867,047 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,400,651 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,945,771 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,209,244 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,154,681 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,828,032 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,526 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,377,255 msg/sec AtomicQueue, 1,s: 58,593,869 msg/sec AtomicQueue, 1,i: 56,846,412 msg/sec AtomicQueue, 2,s: 12,334,902 msg/sec AtomicQueue, 2,i: 11,818,931 msg/sec AtomicQueue, 3,s: 10,805,228 msg/sec AtomicQueue, 3,i: 9,940,190 msg/sec AtomicQueue, 4,s: 8,186,046 msg/sec AtomicQueue, 4,i: 8,223,924 msg/sec AtomicQueue, 5,s: 8,036,952 msg/sec AtomicQueue, 5,i: 8,099,965 msg/sec AtomicQueue, 6,s: 7,628,746 msg/sec AtomicQueue, 6,i: 7,614,178 msg/sec AtomicQueue, 7,s: 7,177,087 msg/sec AtomicQueue, 7,i: 7,960,389 msg/sec AtomicQueue, 8,s: 6,348,912 msg/sec AtomicQueue, 8,i: 7,430,021 msg/sec AtomicQueueB, 1,s: 43,874,257 msg/sec AtomicQueueB, 1,i: 43,108,675 msg/sec AtomicQueueB, 2,s: 11,896,039 msg/sec AtomicQueueB, 2,i: 11,505,590 msg/sec AtomicQueueB, 3,s: 11,037,656 msg/sec AtomicQueueB, 3,i: 10,137,449 msg/sec AtomicQueueB, 4,s: 8,003,329 msg/sec AtomicQueueB, 4,i: 8,047,543 msg/sec AtomicQueueB, 5,s: 7,659,024 msg/sec AtomicQueueB, 5,i: 7,848,617 msg/sec AtomicQueueB, 6,s: 7,374,792 msg/sec AtomicQueueB, 6,i: 7,481,876 msg/sec AtomicQueueB, 7,s: 6,892,913 msg/sec AtomicQueueB, 7,i: 7,723,165 msg/sec AtomicQueueB, 8,s: 6,264,624 msg/sec AtomicQueueB, 8,i: 7,147,724 msg/sec OptimistAtomicQueue, 1,s: 769,298,970 msg/sec OptimistAtomicQueue, 1,i: 525,727,389 msg/sec OptimistAtomicQueue, 2,s: 32,656,434 msg/sec OptimistAtomicQueue, 2,i: 32,712,986 msg/sec OptimistAtomicQueue, 3,s: 36,668,598 msg/sec OptimistAtomicQueue, 3,i: 37,447,774 msg/sec OptimistAtomicQueue, 4,s: 39,269,847 msg/sec OptimistAtomicQueue, 4,i: 39,382,379 msg/sec OptimistAtomicQueue, 5,s: 42,414,091 msg/sec OptimistAtomicQueue, 5,i: 46,342,070 msg/sec OptimistAtomicQueue, 6,s: 42,537,571 msg/sec OptimistAtomicQueue, 6,i: 50,498,170 msg/sec OptimistAtomicQueue, 7,s: 44,069,938 msg/sec OptimistAtomicQueue, 7,i: 53,032,101 msg/sec OptimistAtomicQueue, 8,s: 46,378,078 msg/sec OptimistAtomicQueue, 8,i: 49,218,523 msg/sec OptimistAtomicQueueB, 1,s: 113,631,798 msg/sec OptimistAtomicQueueB, 1,i: 142,066,476 msg/sec OptimistAtomicQueueB, 2,s: 32,133,844 msg/sec OptimistAtomicQueueB, 2,i: 32,210,976 msg/sec OptimistAtomicQueueB, 3,s: 36,236,819 msg/sec OptimistAtomicQueueB, 3,i: 36,897,442 msg/sec OptimistAtomicQueueB, 4,s: 38,763,801 msg/sec OptimistAtomicQueueB, 4,i: 38,638,742 msg/sec OptimistAtomicQueueB, 5,s: 41,065,524 msg/sec OptimistAtomicQueueB, 5,i: 45,544,240 msg/sec OptimistAtomicQueueB, 6,s: 41,124,583 msg/sec OptimistAtomicQueueB, 6,i: 49,047,537 msg/sec OptimistAtomicQueueB, 7,s: 41,852,597 msg/sec OptimistAtomicQueueB, 7,i: 51,516,596 msg/sec OptimistAtomicQueueB, 8,s: 44,501,517 msg/sec OptimistAtomicQueueB, 8,i: 47,887,844 msg/sec AtomicQueue2, 1,s: 22,912,756 msg/sec AtomicQueue2, 1,i: 22,848,673 msg/sec AtomicQueue2, 2,s: 11,960,129 msg/sec AtomicQueue2, 2,i: 11,691,937 msg/sec AtomicQueue2, 3,s: 9,497,340 msg/sec AtomicQueue2, 3,i: 9,350,867 msg/sec AtomicQueue2, 4,s: 8,110,536 msg/sec AtomicQueue2, 4,i: 8,078,244 msg/sec AtomicQueue2, 5,s: 7,910,888 msg/sec AtomicQueue2, 5,i: 8,008,631 msg/sec AtomicQueue2, 6,s: 7,719,155 msg/sec AtomicQueue2, 6,i: 7,536,920 msg/sec AtomicQueue2, 7,s: 7,143,354 msg/sec AtomicQueue2, 7,i: 7,887,507 msg/sec AtomicQueue2, 8,s: 6,376,330 msg/sec AtomicQueue2, 8,i: 7,243,240 msg/sec AtomicQueueB2, 1,s: 36,025,607 msg/sec AtomicQueueB2, 1,i: 32,613,803 msg/sec AtomicQueueB2, 2,s: 11,379,249 msg/sec AtomicQueueB2, 2,i: 11,101,301 msg/sec AtomicQueueB2, 3,s: 9,629,139 msg/sec AtomicQueueB2, 3,i: 9,595,476 msg/sec AtomicQueueB2, 4,s: 7,946,662 msg/sec AtomicQueueB2, 4,i: 7,752,894 msg/sec AtomicQueueB2, 5,s: 7,474,611 msg/sec AtomicQueueB2, 5,i: 7,742,750 msg/sec AtomicQueueB2, 6,s: 7,167,171 msg/sec AtomicQueueB2, 6,i: 7,429,561 msg/sec AtomicQueueB2, 7,s: 6,983,922 msg/sec AtomicQueueB2, 7,i: 7,681,505 msg/sec AtomicQueueB2, 8,s: 6,278,555 msg/sec AtomicQueueB2, 8,i: 7,092,814 msg/sec OptimistAtomicQueue2, 1,s: 451,219,199 msg/sec OptimistAtomicQueue2, 1,i: 41,376,812 msg/sec OptimistAtomicQueue2, 2,s: 24,910,950 msg/sec OptimistAtomicQueue2, 2,i: 24,016,887 msg/sec OptimistAtomicQueue2, 3,s: 30,303,323 msg/sec OptimistAtomicQueue2, 3,i: 30,170,755 msg/sec OptimistAtomicQueue2, 4,s: 33,320,344 msg/sec OptimistAtomicQueue2, 4,i: 33,338,466 msg/sec OptimistAtomicQueue2, 5,s: 37,095,969 msg/sec OptimistAtomicQueue2, 5,i: 42,062,956 msg/sec OptimistAtomicQueue2, 6,s: 40,364,900 msg/sec OptimistAtomicQueue2, 6,i: 49,417,843 msg/sec OptimistAtomicQueue2, 7,s: 43,118,030 msg/sec OptimistAtomicQueue2, 7,i: 51,359,006 msg/sec OptimistAtomicQueue2, 8,s: 44,085,694 msg/sec OptimistAtomicQueue2, 8,i: 48,380,759 msg/sec OptimistAtomicQueueB2, 1,s: 78,544,576 msg/sec OptimistAtomicQueueB2, 1,i: 33,871,067 msg/sec OptimistAtomicQueueB2, 2,s: 27,895,876 msg/sec OptimistAtomicQueueB2, 2,i: 25,688,091 msg/sec OptimistAtomicQueueB2, 3,s: 29,664,781 msg/sec OptimistAtomicQueueB2, 3,i: 30,555,765 msg/sec OptimistAtomicQueueB2, 4,s: 32,481,182 msg/sec OptimistAtomicQueueB2, 4,i: 33,110,282 msg/sec OptimistAtomicQueueB2, 5,s: 34,541,276 msg/sec OptimistAtomicQueueB2, 5,i: 40,168,124 msg/sec OptimistAtomicQueueB2, 6,s: 37,562,242 msg/sec OptimistAtomicQueueB2, 6,i: 42,178,680 msg/sec OptimistAtomicQueueB2, 7,s: 40,293,493 msg/sec OptimistAtomicQueueB2, 7,i: 43,161,925 msg/sec OptimistAtomicQueueB2, 8,s: 42,613,387 msg/sec OptimistAtomicQueueB2, 8,i: 45,091,694 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000234 sec/round-trip std::mutex: 0.000000451 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000204 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000184 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [332] 43m:11s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,999,056 msg/sec boost::lockfree::spsc_queue, 1,i: 67,486,573 msg/sec boost::lockfree::queue, 1,s: 6,828,960 msg/sec boost::lockfree::queue, 1,i: 6,963,275 msg/sec boost::lockfree::queue, 2,s: 7,559,840 msg/sec boost::lockfree::queue, 2,i: 7,388,598 msg/sec boost::lockfree::queue, 3,s: 7,377,994 msg/sec boost::lockfree::queue, 3,i: 7,545,263 msg/sec boost::lockfree::queue, 4,s: 6,420,318 msg/sec boost::lockfree::queue, 4,i: 6,774,142 msg/sec boost::lockfree::queue, 5,s: 6,471,813 msg/sec boost::lockfree::queue, 5,i: 6,528,733 msg/sec boost::lockfree::queue, 6,s: 6,026,817 msg/sec boost::lockfree::queue, 6,i: 6,152,294 msg/sec boost::lockfree::queue, 7,s: 5,919,444 msg/sec boost::lockfree::queue, 7,i: 5,924,562 msg/sec boost::lockfree::queue, 8,s: 5,458,824 msg/sec boost::lockfree::queue, 8,i: 5,674,557 msg/sec moodycamel::ReaderWriterQueue, 1,s: 203,582,875 msg/sec moodycamel::ReaderWriterQueue, 1,i: 112,175,985 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,899,948 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,829,243 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,215,858 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,124,478 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,190,905 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,398,474 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,091,500 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,457,517 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,216,824 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,064,711 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,637,809 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,956,475 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,987,213 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,744,960 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,056,137 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,605,874 msg/sec pthread_spinlock, 1,s: 29,090,809 msg/sec pthread_spinlock, 1,i: 25,333,006 msg/sec pthread_spinlock, 2,s: 16,012,474 msg/sec pthread_spinlock, 2,i: 17,008,051 msg/sec pthread_spinlock, 3,s: 8,272,705 msg/sec pthread_spinlock, 3,i: 11,968,627 msg/sec pthread_spinlock, 4,s: 6,520,301 msg/sec pthread_spinlock, 4,i: 9,006,881 msg/sec pthread_spinlock, 5,s: 8,717,331 msg/sec pthread_spinlock, 5,i: 8,896,364 msg/sec pthread_spinlock, 6,s: 8,606,581 msg/sec pthread_spinlock, 6,i: 8,567,266 msg/sec pthread_spinlock, 7,s: 7,564,233 msg/sec pthread_spinlock, 7,i: 7,634,370 msg/sec pthread_spinlock, 8,s: 6,871,541 msg/sec pthread_spinlock, 8,i: 7,505,819 msg/sec std::mutex, 1,s: 6,160,875 msg/sec std::mutex, 1,i: 7,348,566 msg/sec std::mutex, 2,s: 5,996,269 msg/sec std::mutex, 2,i: 5,986,160 msg/sec std::mutex, 3,s: 5,986,084 msg/sec std::mutex, 3,i: 6,057,466 msg/sec std::mutex, 4,s: 6,183,065 msg/sec std::mutex, 4,i: 6,301,767 msg/sec std::mutex, 5,s: 6,019,024 msg/sec std::mutex, 5,i: 6,029,153 msg/sec std::mutex, 6,s: 5,972,268 msg/sec std::mutex, 6,i: 5,913,951 msg/sec std::mutex, 7,s: 5,843,432 msg/sec std::mutex, 7,i: 5,805,503 msg/sec std::mutex, 8,s: 5,758,817 msg/sec std::mutex, 8,i: 5,699,304 msg/sec tbb::spin_mutex, 1,s: 37,951,649 msg/sec tbb::spin_mutex, 1,i: 37,890,316 msg/sec tbb::spin_mutex, 2,s: 21,118,169 msg/sec tbb::spin_mutex, 2,i: 21,004,068 msg/sec tbb::spin_mutex, 3,s: 8,658,821 msg/sec tbb::spin_mutex, 3,i: 10,373,997 msg/sec tbb::spin_mutex, 4,s: 3,208,057 msg/sec tbb::spin_mutex, 4,i: 6,363,092 msg/sec tbb::spin_mutex, 5,s: 5,532,299 msg/sec tbb::spin_mutex, 5,i: 5,737,155 msg/sec tbb::spin_mutex, 6,s: 5,336,435 msg/sec tbb::spin_mutex, 6,i: 4,363,276 msg/sec tbb::spin_mutex, 7,s: 4,856,154 msg/sec tbb::spin_mutex, 7,i: 4,332,217 msg/sec tbb::spin_mutex, 8,s: 4,233,679 msg/sec tbb::spin_mutex, 8,i: 4,088,025 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,553,380 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,412,436 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,731,176 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,787,141 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,522,872 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,828,835 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,110,550 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,373,612 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,712,379 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,711,829 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,839,505 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,875,225 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,814,885 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,151,429 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,624,116 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,292,294 msg/sec xenium::michael_scott_queue, 1,s: 10,148,303 msg/sec xenium::michael_scott_queue, 1,i: 9,996,913 msg/sec xenium::michael_scott_queue, 2,s: 8,484,141 msg/sec xenium::michael_scott_queue, 2,i: 8,536,173 msg/sec xenium::michael_scott_queue, 3,s: 7,351,824 msg/sec xenium::michael_scott_queue, 3,i: 7,558,888 msg/sec xenium::michael_scott_queue, 4,s: 6,309,949 msg/sec xenium::michael_scott_queue, 4,i: 6,380,994 msg/sec xenium::michael_scott_queue, 5,s: 6,308,514 msg/sec xenium::michael_scott_queue, 5,i: 6,706,504 msg/sec xenium::michael_scott_queue, 6,s: 6,566,005 msg/sec xenium::michael_scott_queue, 6,i: 7,064,635 msg/sec xenium::michael_scott_queue, 7,s: 6,327,891 msg/sec xenium::michael_scott_queue, 7,i: 6,557,458 msg/sec xenium::michael_scott_queue, 8,s: 6,017,785 msg/sec xenium::michael_scott_queue, 8,i: 6,094,139 msg/sec xenium::ramalhete_queue, 1,s: 29,316,204 msg/sec xenium::ramalhete_queue, 1,i: 30,593,670 msg/sec xenium::ramalhete_queue, 2,s: 23,550,098 msg/sec xenium::ramalhete_queue, 2,i: 23,346,488 msg/sec xenium::ramalhete_queue, 3,s: 29,260,099 msg/sec xenium::ramalhete_queue, 3,i: 28,498,765 msg/sec xenium::ramalhete_queue, 4,s: 33,404,650 msg/sec xenium::ramalhete_queue, 4,i: 33,457,133 msg/sec xenium::ramalhete_queue, 5,s: 31,949,744 msg/sec xenium::ramalhete_queue, 5,i: 36,268,736 msg/sec xenium::ramalhete_queue, 6,s: 34,000,215 msg/sec xenium::ramalhete_queue, 6,i: 38,945,097 msg/sec xenium::ramalhete_queue, 7,s: 35,171,596 msg/sec xenium::ramalhete_queue, 7,i: 41,050,380 msg/sec xenium::ramalhete_queue, 8,s: 35,484,603 msg/sec xenium::ramalhete_queue, 8,i: 43,605,151 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,662,953 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,804,696 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,405,844 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,272,315 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,739,302 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,716,211 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,405,445 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,053,920 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,825,539 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,426,916 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,987,586 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,422,368 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,219,754 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,873,955 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,390,859 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,352,215 msg/sec AtomicQueue, 1,s: 69,703,256 msg/sec AtomicQueue, 1,i: 58,517,746 msg/sec AtomicQueue, 2,s: 12,255,464 msg/sec AtomicQueue, 2,i: 11,753,448 msg/sec AtomicQueue, 3,s: 10,814,659 msg/sec AtomicQueue, 3,i: 9,944,062 msg/sec AtomicQueue, 4,s: 8,163,827 msg/sec AtomicQueue, 4,i: 8,184,785 msg/sec AtomicQueue, 5,s: 7,968,501 msg/sec AtomicQueue, 5,i: 8,066,142 msg/sec AtomicQueue, 6,s: 7,770,405 msg/sec AtomicQueue, 6,i: 7,628,056 msg/sec AtomicQueue, 7,s: 7,116,268 msg/sec AtomicQueue, 7,i: 8,006,792 msg/sec AtomicQueue, 8,s: 6,325,369 msg/sec AtomicQueue, 8,i: 7,451,121 msg/sec AtomicQueueB, 1,s: 70,612,230 msg/sec AtomicQueueB, 1,i: 43,027,491 msg/sec AtomicQueueB, 2,s: 11,758,201 msg/sec AtomicQueueB, 2,i: 11,476,394 msg/sec AtomicQueueB, 3,s: 11,049,288 msg/sec AtomicQueueB, 3,i: 10,082,027 msg/sec AtomicQueueB, 4,s: 8,044,577 msg/sec AtomicQueueB, 4,i: 8,035,673 msg/sec AtomicQueueB, 5,s: 7,547,023 msg/sec AtomicQueueB, 5,i: 7,828,653 msg/sec AtomicQueueB, 6,s: 7,376,257 msg/sec AtomicQueueB, 6,i: 7,514,229 msg/sec AtomicQueueB, 7,s: 6,927,680 msg/sec AtomicQueueB, 7,i: 7,769,567 msg/sec AtomicQueueB, 8,s: 6,269,578 msg/sec AtomicQueueB, 8,i: 7,155,915 msg/sec OptimistAtomicQueue, 1,s: 687,656,108 msg/sec OptimistAtomicQueue, 1,i: 513,206,075 msg/sec OptimistAtomicQueue, 2,s: 32,109,749 msg/sec OptimistAtomicQueue, 2,i: 32,179,007 msg/sec OptimistAtomicQueue, 3,s: 36,630,947 msg/sec OptimistAtomicQueue, 3,i: 37,311,074 msg/sec OptimistAtomicQueue, 4,s: 39,275,075 msg/sec OptimistAtomicQueue, 4,i: 39,354,203 msg/sec OptimistAtomicQueue, 5,s: 41,763,852 msg/sec OptimistAtomicQueue, 5,i: 46,296,320 msg/sec OptimistAtomicQueue, 6,s: 42,461,015 msg/sec OptimistAtomicQueue, 6,i: 49,832,218 msg/sec OptimistAtomicQueue, 7,s: 44,277,489 msg/sec OptimistAtomicQueue, 7,i: 49,418,990 msg/sec OptimistAtomicQueue, 8,s: 46,265,799 msg/sec OptimistAtomicQueue, 8,i: 49,524,309 msg/sec OptimistAtomicQueueB, 1,s: 230,671,807 msg/sec OptimistAtomicQueueB, 1,i: 76,475,768 msg/sec OptimistAtomicQueueB, 2,s: 32,188,891 msg/sec OptimistAtomicQueueB, 2,i: 32,173,668 msg/sec OptimistAtomicQueueB, 3,s: 36,047,593 msg/sec OptimistAtomicQueueB, 3,i: 36,791,268 msg/sec OptimistAtomicQueueB, 4,s: 38,723,201 msg/sec OptimistAtomicQueueB, 4,i: 38,618,644 msg/sec OptimistAtomicQueueB, 5,s: 40,996,707 msg/sec OptimistAtomicQueueB, 5,i: 46,165,916 msg/sec OptimistAtomicQueueB, 6,s: 41,116,107 msg/sec OptimistAtomicQueueB, 6,i: 49,221,218 msg/sec OptimistAtomicQueueB, 7,s: 42,457,948 msg/sec OptimistAtomicQueueB, 7,i: 47,999,891 msg/sec OptimistAtomicQueueB, 8,s: 44,477,863 msg/sec OptimistAtomicQueueB, 8,i: 48,180,409 msg/sec AtomicQueue2, 1,s: 22,925,641 msg/sec AtomicQueue2, 1,i: 22,876,384 msg/sec AtomicQueue2, 2,s: 11,893,706 msg/sec AtomicQueue2, 2,i: 11,409,314 msg/sec AtomicQueue2, 3,s: 9,536,973 msg/sec AtomicQueue2, 3,i: 9,544,155 msg/sec AtomicQueue2, 4,s: 8,115,367 msg/sec AtomicQueue2, 4,i: 8,052,311 msg/sec AtomicQueue2, 5,s: 7,923,088 msg/sec AtomicQueue2, 5,i: 8,024,184 msg/sec AtomicQueue2, 6,s: 7,837,651 msg/sec AtomicQueue2, 6,i: 7,515,216 msg/sec AtomicQueue2, 7,s: 7,107,683 msg/sec AtomicQueue2, 7,i: 7,896,744 msg/sec AtomicQueue2, 8,s: 6,374,804 msg/sec AtomicQueue2, 8,i: 7,260,240 msg/sec AtomicQueueB2, 1,s: 36,296,516 msg/sec AtomicQueueB2, 1,i: 32,639,101 msg/sec AtomicQueueB2, 2,s: 11,435,428 msg/sec AtomicQueueB2, 2,i: 11,097,539 msg/sec AtomicQueueB2, 3,s: 9,595,522 msg/sec AtomicQueueB2, 3,i: 9,505,086 msg/sec AtomicQueueB2, 4,s: 8,002,950 msg/sec AtomicQueueB2, 4,i: 7,830,662 msg/sec AtomicQueueB2, 5,s: 7,465,883 msg/sec AtomicQueueB2, 5,i: 7,693,346 msg/sec AtomicQueueB2, 6,s: 7,183,469 msg/sec AtomicQueueB2, 6,i: 7,418,341 msg/sec AtomicQueueB2, 7,s: 6,898,715 msg/sec AtomicQueueB2, 7,i: 7,699,478 msg/sec AtomicQueueB2, 8,s: 6,292,127 msg/sec AtomicQueueB2, 8,i: 6,962,718 msg/sec OptimistAtomicQueue2, 1,s: 520,276,745 msg/sec OptimistAtomicQueue2, 1,i: 30,028,791 msg/sec OptimistAtomicQueue2, 2,s: 26,535,570 msg/sec OptimistAtomicQueue2, 2,i: 23,586,169 msg/sec OptimistAtomicQueue2, 3,s: 30,479,217 msg/sec OptimistAtomicQueue2, 3,i: 29,982,733 msg/sec OptimistAtomicQueue2, 4,s: 33,204,241 msg/sec OptimistAtomicQueue2, 4,i: 33,178,417 msg/sec OptimistAtomicQueue2, 5,s: 37,062,791 msg/sec OptimistAtomicQueue2, 5,i: 40,308,708 msg/sec OptimistAtomicQueue2, 6,s: 40,323,103 msg/sec OptimistAtomicQueue2, 6,i: 49,133,395 msg/sec OptimistAtomicQueue2, 7,s: 42,850,973 msg/sec OptimistAtomicQueue2, 7,i: 51,364,493 msg/sec OptimistAtomicQueue2, 8,s: 43,856,828 msg/sec OptimistAtomicQueue2, 8,i: 48,605,070 msg/sec OptimistAtomicQueueB2, 1,s: 75,570,917 msg/sec OptimistAtomicQueueB2, 1,i: 32,746,847 msg/sec OptimistAtomicQueueB2, 2,s: 26,470,902 msg/sec OptimistAtomicQueueB2, 2,i: 23,167,937 msg/sec OptimistAtomicQueueB2, 3,s: 29,721,857 msg/sec OptimistAtomicQueueB2, 3,i: 29,061,385 msg/sec OptimistAtomicQueueB2, 4,s: 33,206,911 msg/sec OptimistAtomicQueueB2, 4,i: 32,984,023 msg/sec OptimistAtomicQueueB2, 5,s: 34,476,996 msg/sec OptimistAtomicQueueB2, 5,i: 39,067,861 msg/sec OptimistAtomicQueueB2, 6,s: 37,405,754 msg/sec OptimistAtomicQueueB2, 6,i: 42,340,401 msg/sec OptimistAtomicQueueB2, 7,s: 40,833,101 msg/sec OptimistAtomicQueueB2, 7,i: 43,097,471 msg/sec OptimistAtomicQueueB2, 8,s: 41,822,064 msg/sec OptimistAtomicQueueB2, 8,i: 45,088,516 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000125 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000290 sec/round-trip std::mutex: 0.000000458 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000377 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000206 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [333] 41m:52s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,419,744 msg/sec boost::lockfree::spsc_queue, 1,i: 71,079,406 msg/sec boost::lockfree::queue, 1,s: 7,945,200 msg/sec boost::lockfree::queue, 1,i: 7,938,848 msg/sec boost::lockfree::queue, 2,s: 7,449,656 msg/sec boost::lockfree::queue, 2,i: 7,569,481 msg/sec boost::lockfree::queue, 3,s: 7,403,890 msg/sec boost::lockfree::queue, 3,i: 7,589,051 msg/sec boost::lockfree::queue, 4,s: 6,421,476 msg/sec boost::lockfree::queue, 4,i: 6,765,380 msg/sec boost::lockfree::queue, 5,s: 6,375,334 msg/sec boost::lockfree::queue, 5,i: 6,469,100 msg/sec boost::lockfree::queue, 6,s: 5,947,840 msg/sec boost::lockfree::queue, 6,i: 6,185,949 msg/sec boost::lockfree::queue, 7,s: 5,823,193 msg/sec boost::lockfree::queue, 7,i: 6,103,055 msg/sec boost::lockfree::queue, 8,s: 5,462,000 msg/sec boost::lockfree::queue, 8,i: 5,588,969 msg/sec moodycamel::ReaderWriterQueue, 1,s: 476,980,674 msg/sec moodycamel::ReaderWriterQueue, 1,i: 489,120,971 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,013,301 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,199,136 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,003,297 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,896,381 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,420,157 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,686,555 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,505,602 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,319,215 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,286,164 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,772,559 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,437,180 msg/sec moodycamel::ConcurrentQueue, 6,i: 31,304,703 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,098,937 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,004,385 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,170,836 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,472,208 msg/sec pthread_spinlock, 1,s: 28,724,256 msg/sec pthread_spinlock, 1,i: 25,413,958 msg/sec pthread_spinlock, 2,s: 15,244,365 msg/sec pthread_spinlock, 2,i: 16,802,996 msg/sec pthread_spinlock, 3,s: 8,357,146 msg/sec pthread_spinlock, 3,i: 12,027,023 msg/sec pthread_spinlock, 4,s: 6,469,968 msg/sec pthread_spinlock, 4,i: 8,961,002 msg/sec pthread_spinlock, 5,s: 8,522,953 msg/sec pthread_spinlock, 5,i: 9,321,386 msg/sec pthread_spinlock, 6,s: 8,519,724 msg/sec pthread_spinlock, 6,i: 8,568,797 msg/sec pthread_spinlock, 7,s: 7,565,602 msg/sec pthread_spinlock, 7,i: 7,619,730 msg/sec pthread_spinlock, 8,s: 6,938,261 msg/sec pthread_spinlock, 8,i: 7,198,881 msg/sec std::mutex, 1,s: 7,399,259 msg/sec std::mutex, 1,i: 7,065,825 msg/sec std::mutex, 2,s: 5,958,618 msg/sec std::mutex, 2,i: 6,107,835 msg/sec std::mutex, 3,s: 5,995,989 msg/sec std::mutex, 3,i: 6,022,664 msg/sec std::mutex, 4,s: 6,337,681 msg/sec std::mutex, 4,i: 6,173,447 msg/sec std::mutex, 5,s: 6,105,778 msg/sec std::mutex, 5,i: 5,963,204 msg/sec std::mutex, 6,s: 5,958,022 msg/sec std::mutex, 6,i: 5,958,629 msg/sec std::mutex, 7,s: 5,832,936 msg/sec std::mutex, 7,i: 5,828,480 msg/sec std::mutex, 8,s: 5,708,788 msg/sec std::mutex, 8,i: 5,652,883 msg/sec tbb::spin_mutex, 1,s: 37,561,664 msg/sec tbb::spin_mutex, 1,i: 37,565,575 msg/sec tbb::spin_mutex, 2,s: 21,142,895 msg/sec tbb::spin_mutex, 2,i: 18,413,567 msg/sec tbb::spin_mutex, 3,s: 7,792,141 msg/sec tbb::spin_mutex, 3,i: 11,339,222 msg/sec tbb::spin_mutex, 4,s: 3,179,039 msg/sec tbb::spin_mutex, 4,i: 6,310,277 msg/sec tbb::spin_mutex, 5,s: 5,217,602 msg/sec tbb::spin_mutex, 5,i: 5,739,111 msg/sec tbb::spin_mutex, 6,s: 5,298,702 msg/sec tbb::spin_mutex, 6,i: 4,363,675 msg/sec tbb::spin_mutex, 7,s: 4,822,294 msg/sec tbb::spin_mutex, 7,i: 4,351,947 msg/sec tbb::spin_mutex, 8,s: 4,257,123 msg/sec tbb::spin_mutex, 8,i: 4,164,441 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,178,359 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,777,369 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,681,758 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,948,931 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,171,493 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,549,586 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,305,130 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,217,034 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,573,902 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,187,435 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,947,655 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,412,998 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,998,015 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,693,321 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,057,533 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,768,020 msg/sec xenium::michael_scott_queue, 1,s: 10,099,276 msg/sec xenium::michael_scott_queue, 1,i: 9,764,905 msg/sec xenium::michael_scott_queue, 2,s: 8,468,736 msg/sec xenium::michael_scott_queue, 2,i: 8,534,149 msg/sec xenium::michael_scott_queue, 3,s: 7,341,323 msg/sec xenium::michael_scott_queue, 3,i: 7,570,358 msg/sec xenium::michael_scott_queue, 4,s: 6,237,492 msg/sec xenium::michael_scott_queue, 4,i: 6,347,302 msg/sec xenium::michael_scott_queue, 5,s: 6,279,834 msg/sec xenium::michael_scott_queue, 5,i: 6,599,955 msg/sec xenium::michael_scott_queue, 6,s: 6,478,434 msg/sec xenium::michael_scott_queue, 6,i: 6,768,809 msg/sec xenium::michael_scott_queue, 7,s: 6,273,818 msg/sec xenium::michael_scott_queue, 7,i: 6,498,764 msg/sec xenium::michael_scott_queue, 8,s: 6,010,400 msg/sec xenium::michael_scott_queue, 8,i: 6,149,467 msg/sec xenium::ramalhete_queue, 1,s: 32,132,383 msg/sec xenium::ramalhete_queue, 1,i: 32,153,042 msg/sec xenium::ramalhete_queue, 2,s: 23,535,996 msg/sec xenium::ramalhete_queue, 2,i: 23,281,497 msg/sec xenium::ramalhete_queue, 3,s: 29,255,361 msg/sec xenium::ramalhete_queue, 3,i: 28,517,630 msg/sec xenium::ramalhete_queue, 4,s: 33,882,710 msg/sec xenium::ramalhete_queue, 4,i: 33,502,075 msg/sec xenium::ramalhete_queue, 5,s: 32,091,632 msg/sec xenium::ramalhete_queue, 5,i: 36,734,232 msg/sec xenium::ramalhete_queue, 6,s: 34,142,637 msg/sec xenium::ramalhete_queue, 6,i: 38,942,296 msg/sec xenium::ramalhete_queue, 7,s: 35,082,521 msg/sec xenium::ramalhete_queue, 7,i: 42,278,950 msg/sec xenium::ramalhete_queue, 8,s: 35,556,568 msg/sec xenium::ramalhete_queue, 8,i: 44,588,832 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,418,609 msg/sec xenium::vyukov_bounded_queue, 1,i: 119,869,222 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,679,077 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,892,283 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,636,755 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,722,226 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,534,317 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,311,407 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,691,027 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,291,682 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,873,351 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,279,054 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,142,948 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,885,436 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,437 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,223,546 msg/sec AtomicQueue, 1,s: 62,232,514 msg/sec AtomicQueue, 1,i: 56,637,613 msg/sec AtomicQueue, 2,s: 12,276,825 msg/sec AtomicQueue, 2,i: 11,732,741 msg/sec AtomicQueue, 3,s: 10,779,269 msg/sec AtomicQueue, 3,i: 9,949,916 msg/sec AtomicQueue, 4,s: 8,197,898 msg/sec AtomicQueue, 4,i: 8,199,176 msg/sec AtomicQueue, 5,s: 8,026,535 msg/sec AtomicQueue, 5,i: 8,116,092 msg/sec AtomicQueue, 6,s: 7,680,399 msg/sec AtomicQueue, 6,i: 7,603,098 msg/sec AtomicQueue, 7,s: 7,162,622 msg/sec AtomicQueue, 7,i: 7,977,102 msg/sec AtomicQueue, 8,s: 6,345,275 msg/sec AtomicQueue, 8,i: 7,458,748 msg/sec AtomicQueueB, 1,s: 44,167,782 msg/sec AtomicQueueB, 1,i: 43,014,892 msg/sec AtomicQueueB, 2,s: 12,044,246 msg/sec AtomicQueueB, 2,i: 11,501,743 msg/sec AtomicQueueB, 3,s: 10,979,998 msg/sec AtomicQueueB, 3,i: 10,062,671 msg/sec AtomicQueueB, 4,s: 8,051,655 msg/sec AtomicQueueB, 4,i: 7,970,451 msg/sec AtomicQueueB, 5,s: 7,569,775 msg/sec AtomicQueueB, 5,i: 7,859,244 msg/sec AtomicQueueB, 6,s: 7,381,295 msg/sec AtomicQueueB, 6,i: 7,526,687 msg/sec AtomicQueueB, 7,s: 6,884,134 msg/sec AtomicQueueB, 7,i: 7,719,461 msg/sec AtomicQueueB, 8,s: 6,201,858 msg/sec AtomicQueueB, 8,i: 7,181,176 msg/sec OptimistAtomicQueue, 1,s: 777,656,074 msg/sec OptimistAtomicQueue, 1,i: 570,286,857 msg/sec OptimistAtomicQueue, 2,s: 32,637,706 msg/sec OptimistAtomicQueue, 2,i: 32,716,030 msg/sec OptimistAtomicQueue, 3,s: 36,603,979 msg/sec OptimistAtomicQueue, 3,i: 37,402,189 msg/sec OptimistAtomicQueue, 4,s: 39,294,919 msg/sec OptimistAtomicQueue, 4,i: 39,373,692 msg/sec OptimistAtomicQueue, 5,s: 42,388,000 msg/sec OptimistAtomicQueue, 5,i: 47,289,576 msg/sec OptimistAtomicQueue, 6,s: 42,632,779 msg/sec OptimistAtomicQueue, 6,i: 50,396,156 msg/sec OptimistAtomicQueue, 7,s: 45,110,693 msg/sec OptimistAtomicQueue, 7,i: 53,008,307 msg/sec OptimistAtomicQueue, 8,s: 46,317,604 msg/sec OptimistAtomicQueue, 8,i: 49,432,228 msg/sec OptimistAtomicQueueB, 1,s: 196,846,848 msg/sec OptimistAtomicQueueB, 1,i: 91,780,475 msg/sec OptimistAtomicQueueB, 2,s: 32,211,067 msg/sec OptimistAtomicQueueB, 2,i: 31,857,954 msg/sec OptimistAtomicQueueB, 3,s: 36,214,868 msg/sec OptimistAtomicQueueB, 3,i: 36,811,603 msg/sec OptimistAtomicQueueB, 4,s: 38,553,950 msg/sec OptimistAtomicQueueB, 4,i: 38,569,661 msg/sec OptimistAtomicQueueB, 5,s: 41,000,173 msg/sec OptimistAtomicQueueB, 5,i: 45,346,077 msg/sec OptimistAtomicQueueB, 6,s: 41,033,554 msg/sec OptimistAtomicQueueB, 6,i: 48,594,024 msg/sec OptimistAtomicQueueB, 7,s: 41,736,818 msg/sec OptimistAtomicQueueB, 7,i: 47,533,394 msg/sec OptimistAtomicQueueB, 8,s: 44,162,916 msg/sec OptimistAtomicQueueB, 8,i: 47,537,162 msg/sec AtomicQueue2, 1,s: 23,557,200 msg/sec AtomicQueue2, 1,i: 23,105,220 msg/sec AtomicQueue2, 2,s: 11,776,541 msg/sec AtomicQueue2, 2,i: 11,406,270 msg/sec AtomicQueue2, 3,s: 9,666,255 msg/sec AtomicQueue2, 3,i: 9,440,431 msg/sec AtomicQueue2, 4,s: 8,010,542 msg/sec AtomicQueue2, 4,i: 8,106,862 msg/sec AtomicQueue2, 5,s: 7,854,426 msg/sec AtomicQueue2, 5,i: 7,998,728 msg/sec AtomicQueue2, 6,s: 7,834,277 msg/sec AtomicQueue2, 6,i: 7,525,145 msg/sec AtomicQueue2, 7,s: 7,204,589 msg/sec AtomicQueue2, 7,i: 7,880,376 msg/sec AtomicQueue2, 8,s: 6,397,909 msg/sec AtomicQueue2, 8,i: 7,247,754 msg/sec AtomicQueueB2, 1,s: 32,749,672 msg/sec AtomicQueueB2, 1,i: 32,655,696 msg/sec AtomicQueueB2, 2,s: 11,523,142 msg/sec AtomicQueueB2, 2,i: 11,130,467 msg/sec AtomicQueueB2, 3,s: 9,553,109 msg/sec AtomicQueueB2, 3,i: 9,554,659 msg/sec AtomicQueueB2, 4,s: 7,918,850 msg/sec AtomicQueueB2, 4,i: 7,895,279 msg/sec AtomicQueueB2, 5,s: 7,530,230 msg/sec AtomicQueueB2, 5,i: 7,713,420 msg/sec AtomicQueueB2, 6,s: 7,284,298 msg/sec AtomicQueueB2, 6,i: 7,420,860 msg/sec AtomicQueueB2, 7,s: 6,929,569 msg/sec AtomicQueueB2, 7,i: 7,723,956 msg/sec AtomicQueueB2, 8,s: 6,266,926 msg/sec AtomicQueueB2, 8,i: 7,086,130 msg/sec OptimistAtomicQueue2, 1,s: 538,836,796 msg/sec OptimistAtomicQueue2, 1,i: 29,505,824 msg/sec OptimistAtomicQueue2, 2,s: 24,255,648 msg/sec OptimistAtomicQueue2, 2,i: 24,007,090 msg/sec OptimistAtomicQueue2, 3,s: 30,454,305 msg/sec OptimistAtomicQueue2, 3,i: 29,960,385 msg/sec OptimistAtomicQueue2, 4,s: 33,203,303 msg/sec OptimistAtomicQueue2, 4,i: 33,414,978 msg/sec OptimistAtomicQueue2, 5,s: 37,190,027 msg/sec OptimistAtomicQueue2, 5,i: 40,627,803 msg/sec OptimistAtomicQueue2, 6,s: 40,099,688 msg/sec OptimistAtomicQueue2, 6,i: 49,100,211 msg/sec OptimistAtomicQueue2, 7,s: 43,394,722 msg/sec OptimistAtomicQueue2, 7,i: 48,166,109 msg/sec OptimistAtomicQueue2, 8,s: 44,050,886 msg/sec OptimistAtomicQueue2, 8,i: 48,236,529 msg/sec OptimistAtomicQueueB2, 1,s: 78,419,100 msg/sec OptimistAtomicQueueB2, 1,i: 33,875,047 msg/sec OptimistAtomicQueueB2, 2,s: 28,601,766 msg/sec OptimistAtomicQueueB2, 2,i: 25,325,715 msg/sec OptimistAtomicQueueB2, 3,s: 29,644,933 msg/sec OptimistAtomicQueueB2, 3,i: 29,044,564 msg/sec OptimistAtomicQueueB2, 4,s: 33,435,927 msg/sec OptimistAtomicQueueB2, 4,i: 32,106,697 msg/sec OptimistAtomicQueueB2, 5,s: 34,742,276 msg/sec OptimistAtomicQueueB2, 5,i: 39,478,876 msg/sec OptimistAtomicQueueB2, 6,s: 37,327,728 msg/sec OptimistAtomicQueueB2, 6,i: 42,722,036 msg/sec OptimistAtomicQueueB2, 7,s: 40,164,343 msg/sec OptimistAtomicQueueB2, 7,i: 45,619,455 msg/sec OptimistAtomicQueueB2, 8,s: 42,414,078 msg/sec OptimistAtomicQueueB2, 8,i: 45,196,904 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000229 sec/round-trip pthread_spinlock: 0.000000251 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000251 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000200 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000189 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [334] 40m:34s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 69,323,662 msg/sec boost::lockfree::spsc_queue, 1,i: 68,590,092 msg/sec boost::lockfree::queue, 1,s: 7,011,102 msg/sec boost::lockfree::queue, 1,i: 6,881,678 msg/sec boost::lockfree::queue, 2,s: 7,498,990 msg/sec boost::lockfree::queue, 2,i: 7,363,739 msg/sec boost::lockfree::queue, 3,s: 7,441,144 msg/sec boost::lockfree::queue, 3,i: 7,535,584 msg/sec boost::lockfree::queue, 4,s: 6,406,438 msg/sec boost::lockfree::queue, 4,i: 6,777,436 msg/sec boost::lockfree::queue, 5,s: 6,441,951 msg/sec boost::lockfree::queue, 5,i: 6,473,615 msg/sec boost::lockfree::queue, 6,s: 5,982,134 msg/sec boost::lockfree::queue, 6,i: 6,093,745 msg/sec boost::lockfree::queue, 7,s: 5,816,506 msg/sec boost::lockfree::queue, 7,i: 6,128,971 msg/sec boost::lockfree::queue, 8,s: 5,426,661 msg/sec boost::lockfree::queue, 8,i: 5,581,172 msg/sec moodycamel::ReaderWriterQueue, 1,s: 415,249,713 msg/sec moodycamel::ReaderWriterQueue, 1,i: 446,974,468 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,973,040 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,151,173 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,924,379 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,898,522 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,230,274 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,424,666 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,475,457 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,826,721 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,217,551 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,669,246 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,540,950 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,065,644 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,102,019 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,661,480 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,225,974 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,590,277 msg/sec pthread_spinlock, 1,s: 29,121,684 msg/sec pthread_spinlock, 1,i: 29,318,733 msg/sec pthread_spinlock, 2,s: 15,394,407 msg/sec pthread_spinlock, 2,i: 16,811,139 msg/sec pthread_spinlock, 3,s: 8,261,725 msg/sec pthread_spinlock, 3,i: 12,044,694 msg/sec pthread_spinlock, 4,s: 6,548,677 msg/sec pthread_spinlock, 4,i: 8,734,382 msg/sec pthread_spinlock, 5,s: 8,705,226 msg/sec pthread_spinlock, 5,i: 9,504,834 msg/sec pthread_spinlock, 6,s: 8,491,093 msg/sec pthread_spinlock, 6,i: 8,618,633 msg/sec pthread_spinlock, 7,s: 7,835,482 msg/sec pthread_spinlock, 7,i: 7,650,109 msg/sec pthread_spinlock, 8,s: 6,880,502 msg/sec pthread_spinlock, 8,i: 7,241,059 msg/sec std::mutex, 1,s: 6,631,763 msg/sec std::mutex, 1,i: 6,894,525 msg/sec std::mutex, 2,s: 5,938,041 msg/sec std::mutex, 2,i: 5,911,423 msg/sec std::mutex, 3,s: 6,107,190 msg/sec std::mutex, 3,i: 5,825,116 msg/sec std::mutex, 4,s: 6,361,577 msg/sec std::mutex, 4,i: 6,211,625 msg/sec std::mutex, 5,s: 6,088,448 msg/sec std::mutex, 5,i: 6,044,051 msg/sec std::mutex, 6,s: 6,001,006 msg/sec std::mutex, 6,i: 5,944,836 msg/sec std::mutex, 7,s: 5,809,458 msg/sec std::mutex, 7,i: 5,795,139 msg/sec std::mutex, 8,s: 5,682,034 msg/sec std::mutex, 8,i: 5,666,215 msg/sec tbb::spin_mutex, 1,s: 37,921,362 msg/sec tbb::spin_mutex, 1,i: 37,682,232 msg/sec tbb::spin_mutex, 2,s: 21,083,623 msg/sec tbb::spin_mutex, 2,i: 18,447,334 msg/sec tbb::spin_mutex, 3,s: 7,302,383 msg/sec tbb::spin_mutex, 3,i: 11,056,227 msg/sec tbb::spin_mutex, 4,s: 3,091,607 msg/sec tbb::spin_mutex, 4,i: 6,273,124 msg/sec tbb::spin_mutex, 5,s: 5,528,491 msg/sec tbb::spin_mutex, 5,i: 5,771,707 msg/sec tbb::spin_mutex, 6,s: 5,346,525 msg/sec tbb::spin_mutex, 6,i: 4,399,963 msg/sec tbb::spin_mutex, 7,s: 4,503,038 msg/sec tbb::spin_mutex, 7,i: 4,224,171 msg/sec tbb::spin_mutex, 8,s: 4,244,150 msg/sec tbb::spin_mutex, 8,i: 4,090,512 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,287,064 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,237,393 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,098,452 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,853,460 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,328,716 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,769,583 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,153,337 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,512,342 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,617,521 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,598,967 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,741,584 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,661,578 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,803,067 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,725,706 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,119,904 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,083,284 msg/sec xenium::michael_scott_queue, 1,s: 10,112,300 msg/sec xenium::michael_scott_queue, 1,i: 10,051,102 msg/sec xenium::michael_scott_queue, 2,s: 8,512,782 msg/sec xenium::michael_scott_queue, 2,i: 8,458,001 msg/sec xenium::michael_scott_queue, 3,s: 7,283,772 msg/sec xenium::michael_scott_queue, 3,i: 7,556,370 msg/sec xenium::michael_scott_queue, 4,s: 6,264,808 msg/sec xenium::michael_scott_queue, 4,i: 6,317,765 msg/sec xenium::michael_scott_queue, 5,s: 6,261,386 msg/sec xenium::michael_scott_queue, 5,i: 6,739,824 msg/sec xenium::michael_scott_queue, 6,s: 6,547,569 msg/sec xenium::michael_scott_queue, 6,i: 6,751,711 msg/sec xenium::michael_scott_queue, 7,s: 6,234,662 msg/sec xenium::michael_scott_queue, 7,i: 6,526,937 msg/sec xenium::michael_scott_queue, 8,s: 6,005,533 msg/sec xenium::michael_scott_queue, 8,i: 6,079,145 msg/sec xenium::ramalhete_queue, 1,s: 31,544,409 msg/sec xenium::ramalhete_queue, 1,i: 31,521,529 msg/sec xenium::ramalhete_queue, 2,s: 24,508,780 msg/sec xenium::ramalhete_queue, 2,i: 23,261,133 msg/sec xenium::ramalhete_queue, 3,s: 29,305,526 msg/sec xenium::ramalhete_queue, 3,i: 28,567,317 msg/sec xenium::ramalhete_queue, 4,s: 33,908,074 msg/sec xenium::ramalhete_queue, 4,i: 33,532,059 msg/sec xenium::ramalhete_queue, 5,s: 32,009,801 msg/sec xenium::ramalhete_queue, 5,i: 38,304,232 msg/sec xenium::ramalhete_queue, 6,s: 33,979,812 msg/sec xenium::ramalhete_queue, 6,i: 39,430,499 msg/sec xenium::ramalhete_queue, 7,s: 35,105,647 msg/sec xenium::ramalhete_queue, 7,i: 41,026,577 msg/sec xenium::ramalhete_queue, 8,s: 35,465,233 msg/sec xenium::ramalhete_queue, 8,i: 44,066,080 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,275,086 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,138,354 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,515,537 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,440,394 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,723,652 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,337,370 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,484,191 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,311,503 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,011,727 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,201,870 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,196,052 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,173,326 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,198,646 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,098,690 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,414,465 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,312,729 msg/sec AtomicQueue, 1,s: 63,421,841 msg/sec AtomicQueue, 1,i: 56,929,051 msg/sec AtomicQueue, 2,s: 12,304,772 msg/sec AtomicQueue, 2,i: 11,750,353 msg/sec AtomicQueue, 3,s: 10,851,398 msg/sec AtomicQueue, 3,i: 10,018,417 msg/sec AtomicQueue, 4,s: 8,169,527 msg/sec AtomicQueue, 4,i: 8,199,867 msg/sec AtomicQueue, 5,s: 8,047,461 msg/sec AtomicQueue, 5,i: 8,100,652 msg/sec AtomicQueue, 6,s: 7,610,986 msg/sec AtomicQueue, 6,i: 7,614,337 msg/sec AtomicQueue, 7,s: 7,144,575 msg/sec AtomicQueue, 7,i: 7,983,935 msg/sec AtomicQueue, 8,s: 6,355,393 msg/sec AtomicQueue, 8,i: 7,444,187 msg/sec AtomicQueueB, 1,s: 43,891,969 msg/sec AtomicQueueB, 1,i: 43,031,573 msg/sec AtomicQueueB, 2,s: 11,803,266 msg/sec AtomicQueueB, 2,i: 11,487,003 msg/sec AtomicQueueB, 3,s: 11,055,200 msg/sec AtomicQueueB, 3,i: 10,142,546 msg/sec AtomicQueueB, 4,s: 8,107,393 msg/sec AtomicQueueB, 4,i: 7,958,213 msg/sec AtomicQueueB, 5,s: 7,528,765 msg/sec AtomicQueueB, 5,i: 7,855,294 msg/sec AtomicQueueB, 6,s: 7,227,050 msg/sec AtomicQueueB, 6,i: 7,572,431 msg/sec AtomicQueueB, 7,s: 6,814,507 msg/sec AtomicQueueB, 7,i: 7,736,571 msg/sec AtomicQueueB, 8,s: 6,233,824 msg/sec AtomicQueueB, 8,i: 7,000,159 msg/sec OptimistAtomicQueue, 1,s: 702,268,767 msg/sec OptimistAtomicQueue, 1,i: 531,569,726 msg/sec OptimistAtomicQueue, 2,s: 32,013,098 msg/sec OptimistAtomicQueue, 2,i: 32,193,473 msg/sec OptimistAtomicQueue, 3,s: 36,618,744 msg/sec OptimistAtomicQueue, 3,i: 37,341,430 msg/sec OptimistAtomicQueue, 4,s: 39,292,995 msg/sec OptimistAtomicQueue, 4,i: 39,401,350 msg/sec OptimistAtomicQueue, 5,s: 42,432,339 msg/sec OptimistAtomicQueue, 5,i: 46,234,114 msg/sec OptimistAtomicQueue, 6,s: 42,240,096 msg/sec OptimistAtomicQueue, 6,i: 50,513,704 msg/sec OptimistAtomicQueue, 7,s: 44,429,079 msg/sec OptimistAtomicQueue, 7,i: 53,083,272 msg/sec OptimistAtomicQueue, 8,s: 46,437,486 msg/sec OptimistAtomicQueue, 8,i: 49,417,323 msg/sec OptimistAtomicQueueB, 1,s: 115,389,014 msg/sec OptimistAtomicQueueB, 1,i: 76,517,228 msg/sec OptimistAtomicQueueB, 2,s: 32,195,450 msg/sec OptimistAtomicQueueB, 2,i: 32,227,400 msg/sec OptimistAtomicQueueB, 3,s: 36,329,618 msg/sec OptimistAtomicQueueB, 3,i: 36,870,966 msg/sec OptimistAtomicQueueB, 4,s: 38,551,150 msg/sec OptimistAtomicQueueB, 4,i: 38,580,614 msg/sec OptimistAtomicQueueB, 5,s: 41,050,249 msg/sec OptimistAtomicQueueB, 5,i: 45,949,087 msg/sec OptimistAtomicQueueB, 6,s: 40,789,633 msg/sec OptimistAtomicQueueB, 6,i: 48,973,358 msg/sec OptimistAtomicQueueB, 7,s: 41,868,165 msg/sec OptimistAtomicQueueB, 7,i: 48,241,061 msg/sec OptimistAtomicQueueB, 8,s: 44,485,034 msg/sec OptimistAtomicQueueB, 8,i: 48,066,140 msg/sec AtomicQueue2, 1,s: 23,306,641 msg/sec AtomicQueue2, 1,i: 23,024,127 msg/sec AtomicQueue2, 2,s: 11,900,490 msg/sec AtomicQueue2, 2,i: 11,468,003 msg/sec AtomicQueue2, 3,s: 9,525,232 msg/sec AtomicQueue2, 3,i: 9,558,192 msg/sec AtomicQueue2, 4,s: 8,084,523 msg/sec AtomicQueue2, 4,i: 8,002,066 msg/sec AtomicQueue2, 5,s: 7,902,631 msg/sec AtomicQueue2, 5,i: 8,055,419 msg/sec AtomicQueue2, 6,s: 7,679,817 msg/sec AtomicQueue2, 6,i: 7,539,331 msg/sec AtomicQueue2, 7,s: 7,093,043 msg/sec AtomicQueue2, 7,i: 7,899,074 msg/sec AtomicQueue2, 8,s: 6,391,870 msg/sec AtomicQueue2, 8,i: 7,234,742 msg/sec AtomicQueueB2, 1,s: 36,312,553 msg/sec AtomicQueueB2, 1,i: 36,136,597 msg/sec AtomicQueueB2, 2,s: 11,465,673 msg/sec AtomicQueueB2, 2,i: 11,055,342 msg/sec AtomicQueueB2, 3,s: 9,603,304 msg/sec AtomicQueueB2, 3,i: 9,533,771 msg/sec AtomicQueueB2, 4,s: 7,891,669 msg/sec AtomicQueueB2, 4,i: 7,786,907 msg/sec AtomicQueueB2, 5,s: 7,449,273 msg/sec AtomicQueueB2, 5,i: 7,704,509 msg/sec AtomicQueueB2, 6,s: 7,290,775 msg/sec AtomicQueueB2, 6,i: 7,436,823 msg/sec AtomicQueueB2, 7,s: 6,884,923 msg/sec AtomicQueueB2, 7,i: 7,699,829 msg/sec AtomicQueueB2, 8,s: 6,296,040 msg/sec AtomicQueueB2, 8,i: 7,024,991 msg/sec OptimistAtomicQueue2, 1,s: 619,934,745 msg/sec OptimistAtomicQueue2, 1,i: 29,678,111 msg/sec OptimistAtomicQueue2, 2,s: 24,261,570 msg/sec OptimistAtomicQueue2, 2,i: 24,019,678 msg/sec OptimistAtomicQueue2, 3,s: 30,488,729 msg/sec OptimistAtomicQueue2, 3,i: 29,962,140 msg/sec OptimistAtomicQueue2, 4,s: 33,189,755 msg/sec OptimistAtomicQueue2, 4,i: 33,137,384 msg/sec OptimistAtomicQueue2, 5,s: 36,892,780 msg/sec OptimistAtomicQueue2, 5,i: 40,336,778 msg/sec OptimistAtomicQueue2, 6,s: 39,927,864 msg/sec OptimistAtomicQueue2, 6,i: 49,197,163 msg/sec OptimistAtomicQueue2, 7,s: 42,716,408 msg/sec OptimistAtomicQueue2, 7,i: 48,145,508 msg/sec OptimistAtomicQueue2, 8,s: 44,618,600 msg/sec OptimistAtomicQueue2, 8,i: 48,273,549 msg/sec OptimistAtomicQueueB2, 1,s: 70,827,031 msg/sec OptimistAtomicQueueB2, 1,i: 33,877,590 msg/sec OptimistAtomicQueueB2, 2,s: 27,178,521 msg/sec OptimistAtomicQueueB2, 2,i: 23,189,834 msg/sec OptimistAtomicQueueB2, 3,s: 29,696,306 msg/sec OptimistAtomicQueueB2, 3,i: 32,532,152 msg/sec OptimistAtomicQueueB2, 4,s: 33,307,415 msg/sec OptimistAtomicQueueB2, 4,i: 32,981,178 msg/sec OptimistAtomicQueueB2, 5,s: 34,666,070 msg/sec OptimistAtomicQueueB2, 5,i: 40,042,505 msg/sec OptimistAtomicQueueB2, 6,s: 37,213,810 msg/sec OptimistAtomicQueueB2, 6,i: 42,447,406 msg/sec OptimistAtomicQueueB2, 7,s: 40,232,647 msg/sec OptimistAtomicQueueB2, 7,i: 45,434,407 msg/sec OptimistAtomicQueueB2, 8,s: 42,128,853 msg/sec OptimistAtomicQueueB2, 8,i: 45,273,264 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000267 sec/round-trip tbb::concurrent_bounded_queue: 0.000000303 sec/round-trip xenium::michael_scott_queue: 0.000000377 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [335] 39m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,940,848 msg/sec boost::lockfree::spsc_queue, 1,i: 70,846,327 msg/sec boost::lockfree::queue, 1,s: 6,869,648 msg/sec boost::lockfree::queue, 1,i: 6,822,973 msg/sec boost::lockfree::queue, 2,s: 7,656,008 msg/sec boost::lockfree::queue, 2,i: 7,635,662 msg/sec boost::lockfree::queue, 3,s: 7,347,115 msg/sec boost::lockfree::queue, 3,i: 7,585,078 msg/sec boost::lockfree::queue, 4,s: 6,421,525 msg/sec boost::lockfree::queue, 4,i: 6,720,440 msg/sec boost::lockfree::queue, 5,s: 6,462,658 msg/sec boost::lockfree::queue, 5,i: 6,435,620 msg/sec boost::lockfree::queue, 6,s: 5,983,393 msg/sec boost::lockfree::queue, 6,i: 6,131,041 msg/sec boost::lockfree::queue, 7,s: 6,037,304 msg/sec boost::lockfree::queue, 7,i: 6,073,574 msg/sec boost::lockfree::queue, 8,s: 5,384,781 msg/sec boost::lockfree::queue, 8,i: 5,701,326 msg/sec moodycamel::ReaderWriterQueue, 1,s: 183,873,503 msg/sec moodycamel::ReaderWriterQueue, 1,i: 113,193,327 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,899,841 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,433,181 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,491,789 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,445,209 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,342,051 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,222,358 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,139,073 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,939,411 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,081,463 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,180,728 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,347,464 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,203,352 msg/sec moodycamel::ConcurrentQueue, 7,s: 30,555,772 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,067,843 msg/sec moodycamel::ConcurrentQueue, 8,s: 50,893,709 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,887,635 msg/sec pthread_spinlock, 1,s: 28,794,185 msg/sec pthread_spinlock, 1,i: 25,520,314 msg/sec pthread_spinlock, 2,s: 15,627,872 msg/sec pthread_spinlock, 2,i: 17,166,820 msg/sec pthread_spinlock, 3,s: 8,346,644 msg/sec pthread_spinlock, 3,i: 11,954,999 msg/sec pthread_spinlock, 4,s: 6,530,080 msg/sec pthread_spinlock, 4,i: 9,059,474 msg/sec pthread_spinlock, 5,s: 8,738,421 msg/sec pthread_spinlock, 5,i: 8,907,090 msg/sec pthread_spinlock, 6,s: 8,321,837 msg/sec pthread_spinlock, 6,i: 8,544,832 msg/sec pthread_spinlock, 7,s: 7,577,871 msg/sec pthread_spinlock, 7,i: 7,510,274 msg/sec pthread_spinlock, 8,s: 6,684,020 msg/sec pthread_spinlock, 8,i: 6,970,924 msg/sec std::mutex, 1,s: 7,170,698 msg/sec std::mutex, 1,i: 7,668,128 msg/sec std::mutex, 2,s: 5,074,224 msg/sec std::mutex, 2,i: 6,086,119 msg/sec std::mutex, 3,s: 6,076,038 msg/sec std::mutex, 3,i: 5,745,204 msg/sec std::mutex, 4,s: 5,701,606 msg/sec std::mutex, 4,i: 5,718,133 msg/sec std::mutex, 5,s: 6,114,006 msg/sec std::mutex, 5,i: 5,801,879 msg/sec std::mutex, 6,s: 5,941,701 msg/sec std::mutex, 6,i: 5,911,131 msg/sec std::mutex, 7,s: 5,838,277 msg/sec std::mutex, 7,i: 5,775,020 msg/sec std::mutex, 8,s: 5,650,910 msg/sec std::mutex, 8,i: 5,600,658 msg/sec tbb::spin_mutex, 1,s: 37,886,660 msg/sec tbb::spin_mutex, 1,i: 37,938,534 msg/sec tbb::spin_mutex, 2,s: 21,218,158 msg/sec tbb::spin_mutex, 2,i: 18,401,954 msg/sec tbb::spin_mutex, 3,s: 8,411,272 msg/sec tbb::spin_mutex, 3,i: 11,092,532 msg/sec tbb::spin_mutex, 4,s: 3,168,257 msg/sec tbb::spin_mutex, 4,i: 6,338,193 msg/sec tbb::spin_mutex, 5,s: 5,541,899 msg/sec tbb::spin_mutex, 5,i: 5,359,659 msg/sec tbb::spin_mutex, 6,s: 5,259,795 msg/sec tbb::spin_mutex, 6,i: 4,332,004 msg/sec tbb::spin_mutex, 7,s: 4,852,717 msg/sec tbb::spin_mutex, 7,i: 4,361,902 msg/sec tbb::spin_mutex, 8,s: 4,245,529 msg/sec tbb::spin_mutex, 8,i: 4,081,762 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,228,268 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,708,149 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,111,963 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,870,572 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,479,156 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,604,188 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,162,438 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,542,104 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,766,875 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,531,457 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,802,411 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,689,091 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,838,379 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,713,299 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,080,456 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,070,662 msg/sec xenium::michael_scott_queue, 1,s: 9,550,462 msg/sec xenium::michael_scott_queue, 1,i: 9,439,657 msg/sec xenium::michael_scott_queue, 2,s: 8,510,457 msg/sec xenium::michael_scott_queue, 2,i: 8,556,186 msg/sec xenium::michael_scott_queue, 3,s: 7,130,800 msg/sec xenium::michael_scott_queue, 3,i: 7,538,313 msg/sec xenium::michael_scott_queue, 4,s: 6,333,244 msg/sec xenium::michael_scott_queue, 4,i: 6,404,888 msg/sec xenium::michael_scott_queue, 5,s: 6,317,019 msg/sec xenium::michael_scott_queue, 5,i: 6,672,784 msg/sec xenium::michael_scott_queue, 6,s: 6,517,352 msg/sec xenium::michael_scott_queue, 6,i: 6,951,693 msg/sec xenium::michael_scott_queue, 7,s: 6,266,909 msg/sec xenium::michael_scott_queue, 7,i: 6,545,304 msg/sec xenium::michael_scott_queue, 8,s: 6,051,028 msg/sec xenium::michael_scott_queue, 8,i: 6,081,657 msg/sec xenium::ramalhete_queue, 1,s: 31,632,994 msg/sec xenium::ramalhete_queue, 1,i: 31,746,589 msg/sec xenium::ramalhete_queue, 2,s: 23,526,582 msg/sec xenium::ramalhete_queue, 2,i: 23,308,964 msg/sec xenium::ramalhete_queue, 3,s: 29,245,219 msg/sec xenium::ramalhete_queue, 3,i: 28,431,727 msg/sec xenium::ramalhete_queue, 4,s: 33,673,931 msg/sec xenium::ramalhete_queue, 4,i: 33,452,593 msg/sec xenium::ramalhete_queue, 5,s: 32,131,679 msg/sec xenium::ramalhete_queue, 5,i: 38,210,959 msg/sec xenium::ramalhete_queue, 6,s: 34,116,276 msg/sec xenium::ramalhete_queue, 6,i: 39,372,771 msg/sec xenium::ramalhete_queue, 7,s: 35,075,280 msg/sec xenium::ramalhete_queue, 7,i: 41,279,472 msg/sec xenium::ramalhete_queue, 8,s: 35,532,222 msg/sec xenium::ramalhete_queue, 8,i: 43,707,442 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,063,445 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,867,856 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,198,017 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,966,648 msg/sec xenium::vyukov_bounded_queue, 3,s: 14,882,666 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,082,410 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,463,651 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,314,224 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,865,522 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,323,683 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,041,339 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,199,880 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,201,319 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,345,723 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,439,265 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,510,657 msg/sec AtomicQueue, 1,s: 59,031,652 msg/sec AtomicQueue, 1,i: 56,882,323 msg/sec AtomicQueue, 2,s: 12,284,570 msg/sec AtomicQueue, 2,i: 11,739,607 msg/sec AtomicQueue, 3,s: 10,742,765 msg/sec AtomicQueue, 3,i: 9,956,408 msg/sec AtomicQueue, 4,s: 8,213,113 msg/sec AtomicQueue, 4,i: 8,187,594 msg/sec AtomicQueue, 5,s: 8,027,849 msg/sec AtomicQueue, 5,i: 8,092,397 msg/sec AtomicQueue, 6,s: 7,673,654 msg/sec AtomicQueue, 6,i: 7,619,423 msg/sec AtomicQueue, 7,s: 7,091,642 msg/sec AtomicQueue, 7,i: 7,979,904 msg/sec AtomicQueue, 8,s: 6,344,322 msg/sec AtomicQueue, 8,i: 7,357,290 msg/sec AtomicQueueB, 1,s: 43,875,001 msg/sec AtomicQueueB, 1,i: 43,595,123 msg/sec AtomicQueueB, 2,s: 11,784,980 msg/sec AtomicQueueB, 2,i: 11,495,622 msg/sec AtomicQueueB, 3,s: 10,986,257 msg/sec AtomicQueueB, 3,i: 10,122,361 msg/sec AtomicQueueB, 4,s: 8,005,397 msg/sec AtomicQueueB, 4,i: 8,015,738 msg/sec AtomicQueueB, 5,s: 7,573,154 msg/sec AtomicQueueB, 5,i: 7,759,724 msg/sec AtomicQueueB, 6,s: 7,362,963 msg/sec AtomicQueueB, 6,i: 7,514,947 msg/sec AtomicQueueB, 7,s: 6,847,917 msg/sec AtomicQueueB, 7,i: 7,745,434 msg/sec AtomicQueueB, 8,s: 6,223,441 msg/sec AtomicQueueB, 8,i: 7,134,995 msg/sec OptimistAtomicQueue, 1,s: 620,979,256 msg/sec OptimistAtomicQueue, 1,i: 534,839,727 msg/sec OptimistAtomicQueue, 2,s: 32,645,607 msg/sec OptimistAtomicQueue, 2,i: 32,720,797 msg/sec OptimistAtomicQueue, 3,s: 36,656,927 msg/sec OptimistAtomicQueue, 3,i: 37,425,875 msg/sec OptimistAtomicQueue, 4,s: 39,290,983 msg/sec OptimistAtomicQueue, 4,i: 39,343,716 msg/sec OptimistAtomicQueue, 5,s: 41,781,701 msg/sec OptimistAtomicQueue, 5,i: 46,200,746 msg/sec OptimistAtomicQueue, 6,s: 42,239,917 msg/sec OptimistAtomicQueue, 6,i: 50,322,596 msg/sec OptimistAtomicQueue, 7,s: 44,406,661 msg/sec OptimistAtomicQueue, 7,i: 49,450,208 msg/sec OptimistAtomicQueue, 8,s: 46,409,904 msg/sec OptimistAtomicQueue, 8,i: 49,184,419 msg/sec OptimistAtomicQueueB, 1,s: 77,929,603 msg/sec OptimistAtomicQueueB, 1,i: 76,389,718 msg/sec OptimistAtomicQueueB, 2,s: 32,298,307 msg/sec OptimistAtomicQueueB, 2,i: 32,274,722 msg/sec OptimistAtomicQueueB, 3,s: 36,231,188 msg/sec OptimistAtomicQueueB, 3,i: 36,919,901 msg/sec OptimistAtomicQueueB, 4,s: 38,735,566 msg/sec OptimistAtomicQueueB, 4,i: 38,692,888 msg/sec OptimistAtomicQueueB, 5,s: 40,986,942 msg/sec OptimistAtomicQueueB, 5,i: 46,194,486 msg/sec OptimistAtomicQueueB, 6,s: 40,917,343 msg/sec OptimistAtomicQueueB, 6,i: 49,187,028 msg/sec OptimistAtomicQueueB, 7,s: 42,019,171 msg/sec OptimistAtomicQueueB, 7,i: 47,720,040 msg/sec OptimistAtomicQueueB, 8,s: 44,263,143 msg/sec OptimistAtomicQueueB, 8,i: 47,979,496 msg/sec AtomicQueue2, 1,s: 23,340,145 msg/sec AtomicQueue2, 1,i: 23,352,353 msg/sec AtomicQueue2, 2,s: 11,940,670 msg/sec AtomicQueue2, 2,i: 11,454,801 msg/sec AtomicQueue2, 3,s: 9,460,921 msg/sec AtomicQueue2, 3,i: 9,422,927 msg/sec AtomicQueue2, 4,s: 8,016,308 msg/sec AtomicQueue2, 4,i: 8,059,236 msg/sec AtomicQueue2, 5,s: 7,904,829 msg/sec AtomicQueue2, 5,i: 8,044,749 msg/sec AtomicQueue2, 6,s: 7,678,267 msg/sec AtomicQueue2, 6,i: 7,563,105 msg/sec AtomicQueue2, 7,s: 7,143,438 msg/sec AtomicQueue2, 7,i: 7,870,696 msg/sec AtomicQueue2, 8,s: 6,374,557 msg/sec AtomicQueue2, 8,i: 7,204,146 msg/sec AtomicQueueB2, 1,s: 35,957,008 msg/sec AtomicQueueB2, 1,i: 32,610,032 msg/sec AtomicQueueB2, 2,s: 11,396,226 msg/sec AtomicQueueB2, 2,i: 11,145,083 msg/sec AtomicQueueB2, 3,s: 9,727,568 msg/sec AtomicQueueB2, 3,i: 9,415,451 msg/sec AtomicQueueB2, 4,s: 7,903,751 msg/sec AtomicQueueB2, 4,i: 7,806,269 msg/sec AtomicQueueB2, 5,s: 7,552,641 msg/sec AtomicQueueB2, 5,i: 7,724,464 msg/sec AtomicQueueB2, 6,s: 7,280,929 msg/sec AtomicQueueB2, 6,i: 7,414,753 msg/sec AtomicQueueB2, 7,s: 6,834,956 msg/sec AtomicQueueB2, 7,i: 7,724,100 msg/sec AtomicQueueB2, 8,s: 6,341,878 msg/sec AtomicQueueB2, 8,i: 7,062,544 msg/sec OptimistAtomicQueue2, 1,s: 348,234,520 msg/sec OptimistAtomicQueue2, 1,i: 35,999,095 msg/sec OptimistAtomicQueue2, 2,s: 22,715,025 msg/sec OptimistAtomicQueue2, 2,i: 24,017,108 msg/sec OptimistAtomicQueue2, 3,s: 30,320,119 msg/sec OptimistAtomicQueue2, 3,i: 29,943,341 msg/sec OptimistAtomicQueue2, 4,s: 33,286,030 msg/sec OptimistAtomicQueue2, 4,i: 33,066,359 msg/sec OptimistAtomicQueue2, 5,s: 36,950,017 msg/sec OptimistAtomicQueue2, 5,i: 40,293,569 msg/sec OptimistAtomicQueue2, 6,s: 40,198,862 msg/sec OptimistAtomicQueue2, 6,i: 49,156,159 msg/sec OptimistAtomicQueue2, 7,s: 43,233,746 msg/sec OptimistAtomicQueue2, 7,i: 48,148,774 msg/sec OptimistAtomicQueue2, 8,s: 44,096,768 msg/sec OptimistAtomicQueue2, 8,i: 48,590,516 msg/sec OptimistAtomicQueueB2, 1,s: 76,273,356 msg/sec OptimistAtomicQueueB2, 1,i: 33,882,477 msg/sec OptimistAtomicQueueB2, 2,s: 27,313,951 msg/sec OptimistAtomicQueueB2, 2,i: 23,161,199 msg/sec OptimistAtomicQueueB2, 3,s: 29,707,517 msg/sec OptimistAtomicQueueB2, 3,i: 29,097,692 msg/sec OptimistAtomicQueueB2, 4,s: 33,152,617 msg/sec OptimistAtomicQueueB2, 4,i: 32,586,082 msg/sec OptimistAtomicQueueB2, 5,s: 34,397,276 msg/sec OptimistAtomicQueueB2, 5,i: 39,187,011 msg/sec OptimistAtomicQueueB2, 6,s: 37,700,978 msg/sec OptimistAtomicQueueB2, 6,i: 42,123,713 msg/sec OptimistAtomicQueueB2, 7,s: 40,128,576 msg/sec OptimistAtomicQueueB2, 7,i: 45,420,196 msg/sec OptimistAtomicQueueB2, 8,s: 42,292,522 msg/sec OptimistAtomicQueueB2, 8,i: 46,176,613 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000143 sec/round-trip moodycamel::ConcurrentQueue: 0.000000226 sec/round-trip pthread_spinlock: 0.000000282 sec/round-trip std::mutex: 0.000000467 sec/round-trip tbb::spin_mutex: 0.000000286 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [336] 37m:55s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,770,690 msg/sec boost::lockfree::spsc_queue, 1,i: 67,428,141 msg/sec boost::lockfree::queue, 1,s: 6,871,387 msg/sec boost::lockfree::queue, 1,i: 6,916,567 msg/sec boost::lockfree::queue, 2,s: 7,586,524 msg/sec boost::lockfree::queue, 2,i: 7,428,963 msg/sec boost::lockfree::queue, 3,s: 7,282,777 msg/sec boost::lockfree::queue, 3,i: 7,521,230 msg/sec boost::lockfree::queue, 4,s: 6,425,187 msg/sec boost::lockfree::queue, 4,i: 6,835,443 msg/sec boost::lockfree::queue, 5,s: 6,397,686 msg/sec boost::lockfree::queue, 5,i: 6,520,534 msg/sec boost::lockfree::queue, 6,s: 5,973,873 msg/sec boost::lockfree::queue, 6,i: 6,115,833 msg/sec boost::lockfree::queue, 7,s: 5,790,845 msg/sec boost::lockfree::queue, 7,i: 6,071,971 msg/sec boost::lockfree::queue, 8,s: 5,462,119 msg/sec boost::lockfree::queue, 8,i: 5,534,142 msg/sec moodycamel::ReaderWriterQueue, 1,s: 480,773,160 msg/sec moodycamel::ReaderWriterQueue, 1,i: 482,435,721 msg/sec moodycamel::ConcurrentQueue, 1,s: 26,306,388 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,921,302 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,940,261 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,686,634 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,530,793 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,501,702 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,687,248 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,106,669 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,226,898 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,720,812 msg/sec moodycamel::ConcurrentQueue, 6,s: 45,108,909 msg/sec moodycamel::ConcurrentQueue, 6,i: 34,353,808 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,205,306 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,345,595 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,432,543 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,153,264 msg/sec pthread_spinlock, 1,s: 28,907,284 msg/sec pthread_spinlock, 1,i: 25,314,238 msg/sec pthread_spinlock, 2,s: 16,049,944 msg/sec pthread_spinlock, 2,i: 17,028,796 msg/sec pthread_spinlock, 3,s: 8,349,936 msg/sec pthread_spinlock, 3,i: 12,262,378 msg/sec pthread_spinlock, 4,s: 6,470,945 msg/sec pthread_spinlock, 4,i: 9,079,070 msg/sec pthread_spinlock, 5,s: 8,708,245 msg/sec pthread_spinlock, 5,i: 9,247,576 msg/sec pthread_spinlock, 6,s: 8,321,229 msg/sec pthread_spinlock, 6,i: 8,894,162 msg/sec pthread_spinlock, 7,s: 7,484,278 msg/sec pthread_spinlock, 7,i: 7,734,067 msg/sec pthread_spinlock, 8,s: 6,680,194 msg/sec pthread_spinlock, 8,i: 7,289,217 msg/sec std::mutex, 1,s: 5,890,311 msg/sec std::mutex, 1,i: 7,586,304 msg/sec std::mutex, 2,s: 5,853,279 msg/sec std::mutex, 2,i: 6,186,352 msg/sec std::mutex, 3,s: 6,062,996 msg/sec std::mutex, 3,i: 5,610,945 msg/sec std::mutex, 4,s: 5,721,774 msg/sec std::mutex, 4,i: 6,247,873 msg/sec std::mutex, 5,s: 6,098,445 msg/sec std::mutex, 5,i: 6,089,884 msg/sec std::mutex, 6,s: 5,980,260 msg/sec std::mutex, 6,i: 5,939,822 msg/sec std::mutex, 7,s: 5,864,565 msg/sec std::mutex, 7,i: 5,888,028 msg/sec std::mutex, 8,s: 5,730,031 msg/sec std::mutex, 8,i: 5,701,749 msg/sec tbb::spin_mutex, 1,s: 38,178,385 msg/sec tbb::spin_mutex, 1,i: 38,056,803 msg/sec tbb::spin_mutex, 2,s: 21,087,498 msg/sec tbb::spin_mutex, 2,i: 18,477,129 msg/sec tbb::spin_mutex, 3,s: 8,224,598 msg/sec tbb::spin_mutex, 3,i: 10,849,707 msg/sec tbb::spin_mutex, 4,s: 3,164,212 msg/sec tbb::spin_mutex, 4,i: 6,322,579 msg/sec tbb::spin_mutex, 5,s: 5,539,529 msg/sec tbb::spin_mutex, 5,i: 5,503,499 msg/sec tbb::spin_mutex, 6,s: 5,355,127 msg/sec tbb::spin_mutex, 6,i: 4,337,668 msg/sec tbb::spin_mutex, 7,s: 4,841,874 msg/sec tbb::spin_mutex, 7,i: 4,279,071 msg/sec tbb::spin_mutex, 8,s: 3,723,136 msg/sec tbb::spin_mutex, 8,i: 4,085,427 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,331,660 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,284,239 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,990,667 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,329,720 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,492,205 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,463,961 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,479,188 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,607,898 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,845,764 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,671,573 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,974,149 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,685,152 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,879,802 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,826,477 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,779,902 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,474,817 msg/sec xenium::michael_scott_queue, 1,s: 9,981,457 msg/sec xenium::michael_scott_queue, 1,i: 9,713,350 msg/sec xenium::michael_scott_queue, 2,s: 8,514,198 msg/sec xenium::michael_scott_queue, 2,i: 8,517,270 msg/sec xenium::michael_scott_queue, 3,s: 7,203,785 msg/sec xenium::michael_scott_queue, 3,i: 7,557,586 msg/sec xenium::michael_scott_queue, 4,s: 6,259,080 msg/sec xenium::michael_scott_queue, 4,i: 6,435,025 msg/sec xenium::michael_scott_queue, 5,s: 6,318,517 msg/sec xenium::michael_scott_queue, 5,i: 6,655,632 msg/sec xenium::michael_scott_queue, 6,s: 6,558,070 msg/sec xenium::michael_scott_queue, 6,i: 6,989,342 msg/sec xenium::michael_scott_queue, 7,s: 6,337,504 msg/sec xenium::michael_scott_queue, 7,i: 6,381,220 msg/sec xenium::michael_scott_queue, 8,s: 5,988,251 msg/sec xenium::michael_scott_queue, 8,i: 6,261,435 msg/sec xenium::ramalhete_queue, 1,s: 31,876,508 msg/sec xenium::ramalhete_queue, 1,i: 31,951,560 msg/sec xenium::ramalhete_queue, 2,s: 23,558,525 msg/sec xenium::ramalhete_queue, 2,i: 23,319,908 msg/sec xenium::ramalhete_queue, 3,s: 29,167,466 msg/sec xenium::ramalhete_queue, 3,i: 28,472,868 msg/sec xenium::ramalhete_queue, 4,s: 33,661,059 msg/sec xenium::ramalhete_queue, 4,i: 33,518,552 msg/sec xenium::ramalhete_queue, 5,s: 32,146,074 msg/sec xenium::ramalhete_queue, 5,i: 35,744,903 msg/sec xenium::ramalhete_queue, 6,s: 34,079,124 msg/sec xenium::ramalhete_queue, 6,i: 38,627,513 msg/sec xenium::ramalhete_queue, 7,s: 35,205,907 msg/sec xenium::ramalhete_queue, 7,i: 41,123,446 msg/sec xenium::ramalhete_queue, 8,s: 35,566,334 msg/sec xenium::ramalhete_queue, 8,i: 44,128,234 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,741,876 msg/sec xenium::vyukov_bounded_queue, 1,i: 115,372,626 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,356,526 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,880,585 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,717,193 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,747,956 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,571,287 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,509,160 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,909,196 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,324,454 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,125,116 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,546,764 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,225,083 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,922,370 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,384,618 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,335,922 msg/sec AtomicQueue, 1,s: 62,783,297 msg/sec AtomicQueue, 1,i: 57,305,330 msg/sec AtomicQueue, 2,s: 12,376,688 msg/sec AtomicQueue, 2,i: 11,734,229 msg/sec AtomicQueue, 3,s: 10,711,225 msg/sec AtomicQueue, 3,i: 9,870,731 msg/sec AtomicQueue, 4,s: 8,214,555 msg/sec AtomicQueue, 4,i: 8,189,391 msg/sec AtomicQueue, 5,s: 8,021,326 msg/sec AtomicQueue, 5,i: 8,105,748 msg/sec AtomicQueue, 6,s: 7,827,784 msg/sec AtomicQueue, 6,i: 7,609,349 msg/sec AtomicQueue, 7,s: 7,102,021 msg/sec AtomicQueue, 7,i: 7,984,730 msg/sec AtomicQueue, 8,s: 6,313,453 msg/sec AtomicQueue, 8,i: 7,453,357 msg/sec AtomicQueueB, 1,s: 44,428,282 msg/sec AtomicQueueB, 1,i: 42,982,445 msg/sec AtomicQueueB, 2,s: 11,952,177 msg/sec AtomicQueueB, 2,i: 11,498,397 msg/sec AtomicQueueB, 3,s: 11,060,689 msg/sec AtomicQueueB, 3,i: 10,160,224 msg/sec AtomicQueueB, 4,s: 8,054,622 msg/sec AtomicQueueB, 4,i: 8,045,369 msg/sec AtomicQueueB, 5,s: 7,603,393 msg/sec AtomicQueueB, 5,i: 7,805,558 msg/sec AtomicQueueB, 6,s: 7,378,303 msg/sec AtomicQueueB, 6,i: 7,493,777 msg/sec AtomicQueueB, 7,s: 6,861,210 msg/sec AtomicQueueB, 7,i: 7,665,535 msg/sec AtomicQueueB, 8,s: 6,219,981 msg/sec AtomicQueueB, 8,i: 7,177,749 msg/sec OptimistAtomicQueue, 1,s: 709,470,059 msg/sec OptimistAtomicQueue, 1,i: 557,165,376 msg/sec OptimistAtomicQueue, 2,s: 32,623,371 msg/sec OptimistAtomicQueue, 2,i: 32,691,869 msg/sec OptimistAtomicQueue, 3,s: 36,657,846 msg/sec OptimistAtomicQueue, 3,i: 37,398,529 msg/sec OptimistAtomicQueue, 4,s: 39,279,654 msg/sec OptimistAtomicQueue, 4,i: 39,311,335 msg/sec OptimistAtomicQueue, 5,s: 42,245,242 msg/sec OptimistAtomicQueue, 5,i: 46,260,872 msg/sec OptimistAtomicQueue, 6,s: 42,088,677 msg/sec OptimistAtomicQueue, 6,i: 49,802,839 msg/sec OptimistAtomicQueue, 7,s: 44,331,339 msg/sec OptimistAtomicQueue, 7,i: 49,515,605 msg/sec OptimistAtomicQueue, 8,s: 46,347,534 msg/sec OptimistAtomicQueue, 8,i: 49,269,170 msg/sec OptimistAtomicQueueB, 1,s: 201,853,550 msg/sec OptimistAtomicQueueB, 1,i: 76,647,392 msg/sec OptimistAtomicQueueB, 2,s: 31,674,161 msg/sec OptimistAtomicQueueB, 2,i: 32,086,249 msg/sec OptimistAtomicQueueB, 3,s: 36,274,968 msg/sec OptimistAtomicQueueB, 3,i: 36,923,686 msg/sec OptimistAtomicQueueB, 4,s: 38,588,791 msg/sec OptimistAtomicQueueB, 4,i: 38,683,296 msg/sec OptimistAtomicQueueB, 5,s: 40,779,230 msg/sec OptimistAtomicQueueB, 5,i: 45,919,993 msg/sec OptimistAtomicQueueB, 6,s: 40,937,903 msg/sec OptimistAtomicQueueB, 6,i: 48,634,331 msg/sec OptimistAtomicQueueB, 7,s: 42,419,683 msg/sec OptimistAtomicQueueB, 7,i: 50,458,893 msg/sec OptimistAtomicQueueB, 8,s: 44,339,368 msg/sec OptimistAtomicQueueB, 8,i: 47,773,694 msg/sec AtomicQueue2, 1,s: 22,907,129 msg/sec AtomicQueue2, 1,i: 22,868,067 msg/sec AtomicQueue2, 2,s: 12,000,049 msg/sec AtomicQueue2, 2,i: 11,563,856 msg/sec AtomicQueue2, 3,s: 9,449,059 msg/sec AtomicQueue2, 3,i: 9,413,264 msg/sec AtomicQueue2, 4,s: 8,086,288 msg/sec AtomicQueue2, 4,i: 8,093,247 msg/sec AtomicQueue2, 5,s: 7,953,751 msg/sec AtomicQueue2, 5,i: 8,019,799 msg/sec AtomicQueue2, 6,s: 7,628,991 msg/sec AtomicQueue2, 6,i: 7,524,927 msg/sec AtomicQueue2, 7,s: 7,174,959 msg/sec AtomicQueue2, 7,i: 7,911,035 msg/sec AtomicQueue2, 8,s: 6,378,922 msg/sec AtomicQueue2, 8,i: 7,358,747 msg/sec AtomicQueueB2, 1,s: 35,967,513 msg/sec AtomicQueueB2, 1,i: 32,615,888 msg/sec AtomicQueueB2, 2,s: 11,471,302 msg/sec AtomicQueueB2, 2,i: 11,157,626 msg/sec AtomicQueueB2, 3,s: 9,557,795 msg/sec AtomicQueueB2, 3,i: 9,537,869 msg/sec AtomicQueueB2, 4,s: 7,941,799 msg/sec AtomicQueueB2, 4,i: 7,788,767 msg/sec AtomicQueueB2, 5,s: 7,530,765 msg/sec AtomicQueueB2, 5,i: 7,722,622 msg/sec AtomicQueueB2, 6,s: 7,239,038 msg/sec AtomicQueueB2, 6,i: 7,459,240 msg/sec AtomicQueueB2, 7,s: 6,853,324 msg/sec AtomicQueueB2, 7,i: 7,700,394 msg/sec AtomicQueueB2, 8,s: 6,294,562 msg/sec AtomicQueueB2, 8,i: 7,165,451 msg/sec OptimistAtomicQueue2, 1,s: 433,425,093 msg/sec OptimistAtomicQueue2, 1,i: 408,252,664 msg/sec OptimistAtomicQueue2, 2,s: 26,458,131 msg/sec OptimistAtomicQueue2, 2,i: 24,023,969 msg/sec OptimistAtomicQueue2, 3,s: 30,309,706 msg/sec OptimistAtomicQueue2, 3,i: 30,371,543 msg/sec OptimistAtomicQueue2, 4,s: 33,189,541 msg/sec OptimistAtomicQueue2, 4,i: 33,201,592 msg/sec OptimistAtomicQueue2, 5,s: 36,951,915 msg/sec OptimistAtomicQueue2, 5,i: 41,441,520 msg/sec OptimistAtomicQueue2, 6,s: 40,405,093 msg/sec OptimistAtomicQueue2, 6,i: 49,048,546 msg/sec OptimistAtomicQueue2, 7,s: 42,734,681 msg/sec OptimistAtomicQueue2, 7,i: 51,334,395 msg/sec OptimistAtomicQueue2, 8,s: 43,972,977 msg/sec OptimistAtomicQueue2, 8,i: 48,663,265 msg/sec OptimistAtomicQueueB2, 1,s: 76,602,004 msg/sec OptimistAtomicQueueB2, 1,i: 33,896,756 msg/sec OptimistAtomicQueueB2, 2,s: 27,293,424 msg/sec OptimistAtomicQueueB2, 2,i: 23,242,396 msg/sec OptimistAtomicQueueB2, 3,s: 29,759,579 msg/sec OptimistAtomicQueueB2, 3,i: 29,091,743 msg/sec OptimistAtomicQueueB2, 4,s: 33,399,144 msg/sec OptimistAtomicQueueB2, 4,i: 32,927,380 msg/sec OptimistAtomicQueueB2, 5,s: 34,625,186 msg/sec OptimistAtomicQueueB2, 5,i: 39,189,743 msg/sec OptimistAtomicQueueB2, 6,s: 37,585,763 msg/sec OptimistAtomicQueueB2, 6,i: 42,488,461 msg/sec OptimistAtomicQueueB2, 7,s: 40,662,883 msg/sec OptimistAtomicQueueB2, 7,i: 45,347,511 msg/sec OptimistAtomicQueueB2, 8,s: 42,287,836 msg/sec OptimistAtomicQueueB2, 8,i: 45,589,823 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000135 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000273 sec/round-trip std::mutex: 0.000000469 sec/round-trip tbb::spin_mutex: 0.000000253 sec/round-trip tbb::concurrent_bounded_queue: 0.000000279 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [337] 36m:36s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 72,688,693 msg/sec boost::lockfree::spsc_queue, 1,i: 72,176,785 msg/sec boost::lockfree::queue, 1,s: 7,933,332 msg/sec boost::lockfree::queue, 1,i: 7,878,339 msg/sec boost::lockfree::queue, 2,s: 7,614,086 msg/sec boost::lockfree::queue, 2,i: 7,545,268 msg/sec boost::lockfree::queue, 3,s: 7,390,536 msg/sec boost::lockfree::queue, 3,i: 7,551,831 msg/sec boost::lockfree::queue, 4,s: 6,425,304 msg/sec boost::lockfree::queue, 4,i: 6,867,973 msg/sec boost::lockfree::queue, 5,s: 6,414,886 msg/sec boost::lockfree::queue, 5,i: 6,463,277 msg/sec boost::lockfree::queue, 6,s: 5,975,054 msg/sec boost::lockfree::queue, 6,i: 6,097,464 msg/sec boost::lockfree::queue, 7,s: 5,761,252 msg/sec boost::lockfree::queue, 7,i: 5,978,065 msg/sec boost::lockfree::queue, 8,s: 5,534,661 msg/sec boost::lockfree::queue, 8,i: 5,551,405 msg/sec moodycamel::ReaderWriterQueue, 1,s: 134,456,493 msg/sec moodycamel::ReaderWriterQueue, 1,i: 101,296,806 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,236,515 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,408,369 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,299,333 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,004,820 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,762,698 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,930,409 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,797,278 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,207,445 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,368,022 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,522,359 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,269,068 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,215,662 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,818,253 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,816,071 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,209,501 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,537,319 msg/sec pthread_spinlock, 1,s: 28,985,788 msg/sec pthread_spinlock, 1,i: 25,439,835 msg/sec pthread_spinlock, 2,s: 15,588,616 msg/sec pthread_spinlock, 2,i: 17,036,080 msg/sec pthread_spinlock, 3,s: 8,288,123 msg/sec pthread_spinlock, 3,i: 12,061,372 msg/sec pthread_spinlock, 4,s: 6,550,018 msg/sec pthread_spinlock, 4,i: 9,256,342 msg/sec pthread_spinlock, 5,s: 8,680,111 msg/sec pthread_spinlock, 5,i: 8,976,939 msg/sec pthread_spinlock, 6,s: 8,312,782 msg/sec pthread_spinlock, 6,i: 8,396,746 msg/sec pthread_spinlock, 7,s: 7,493,968 msg/sec pthread_spinlock, 7,i: 7,667,325 msg/sec pthread_spinlock, 8,s: 6,753,863 msg/sec pthread_spinlock, 8,i: 7,507,170 msg/sec std::mutex, 1,s: 5,869,885 msg/sec std::mutex, 1,i: 5,858,863 msg/sec std::mutex, 2,s: 5,191,722 msg/sec std::mutex, 2,i: 6,235,256 msg/sec std::mutex, 3,s: 5,952,595 msg/sec std::mutex, 3,i: 6,074,802 msg/sec std::mutex, 4,s: 6,204,670 msg/sec std::mutex, 4,i: 6,333,889 msg/sec std::mutex, 5,s: 5,983,711 msg/sec std::mutex, 5,i: 5,954,025 msg/sec std::mutex, 6,s: 5,900,634 msg/sec std::mutex, 6,i: 5,788,621 msg/sec std::mutex, 7,s: 5,742,794 msg/sec std::mutex, 7,i: 5,748,911 msg/sec std::mutex, 8,s: 5,661,369 msg/sec std::mutex, 8,i: 5,694,619 msg/sec tbb::spin_mutex, 1,s: 37,901,948 msg/sec tbb::spin_mutex, 1,i: 37,687,285 msg/sec tbb::spin_mutex, 2,s: 21,114,328 msg/sec tbb::spin_mutex, 2,i: 18,365,473 msg/sec tbb::spin_mutex, 3,s: 7,351,149 msg/sec tbb::spin_mutex, 3,i: 10,858,811 msg/sec tbb::spin_mutex, 4,s: 3,292,153 msg/sec tbb::spin_mutex, 4,i: 6,289,381 msg/sec tbb::spin_mutex, 5,s: 5,220,355 msg/sec tbb::spin_mutex, 5,i: 5,634,042 msg/sec tbb::spin_mutex, 6,s: 5,272,090 msg/sec tbb::spin_mutex, 6,i: 4,307,242 msg/sec tbb::spin_mutex, 7,s: 4,842,020 msg/sec tbb::spin_mutex, 7,i: 4,377,876 msg/sec tbb::spin_mutex, 8,s: 4,229,762 msg/sec tbb::spin_mutex, 8,i: 4,067,566 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,144,154 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,190,320 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,071,155 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,998,203 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,438,957 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,371,696 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,101,328 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,508,893 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,695,340 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,536,002 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,740,652 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,664,185 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,842,293 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,792,860 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,077,138 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,068,662 msg/sec xenium::michael_scott_queue, 1,s: 9,592,610 msg/sec xenium::michael_scott_queue, 1,i: 9,560,932 msg/sec xenium::michael_scott_queue, 2,s: 8,479,887 msg/sec xenium::michael_scott_queue, 2,i: 8,517,128 msg/sec xenium::michael_scott_queue, 3,s: 7,167,819 msg/sec xenium::michael_scott_queue, 3,i: 7,537,291 msg/sec xenium::michael_scott_queue, 4,s: 6,216,347 msg/sec xenium::michael_scott_queue, 4,i: 6,322,776 msg/sec xenium::michael_scott_queue, 5,s: 6,298,107 msg/sec xenium::michael_scott_queue, 5,i: 6,718,345 msg/sec xenium::michael_scott_queue, 6,s: 6,535,323 msg/sec xenium::michael_scott_queue, 6,i: 6,780,929 msg/sec xenium::michael_scott_queue, 7,s: 6,279,261 msg/sec xenium::michael_scott_queue, 7,i: 6,517,097 msg/sec xenium::michael_scott_queue, 8,s: 5,984,737 msg/sec xenium::michael_scott_queue, 8,i: 6,243,154 msg/sec xenium::ramalhete_queue, 1,s: 31,698,761 msg/sec xenium::ramalhete_queue, 1,i: 31,495,721 msg/sec xenium::ramalhete_queue, 2,s: 23,544,682 msg/sec xenium::ramalhete_queue, 2,i: 23,335,188 msg/sec xenium::ramalhete_queue, 3,s: 29,214,309 msg/sec xenium::ramalhete_queue, 3,i: 28,476,857 msg/sec xenium::ramalhete_queue, 4,s: 33,753,356 msg/sec xenium::ramalhete_queue, 4,i: 33,586,076 msg/sec xenium::ramalhete_queue, 5,s: 32,162,420 msg/sec xenium::ramalhete_queue, 5,i: 35,971,998 msg/sec xenium::ramalhete_queue, 6,s: 33,722,377 msg/sec xenium::ramalhete_queue, 6,i: 38,971,307 msg/sec xenium::ramalhete_queue, 7,s: 35,112,558 msg/sec xenium::ramalhete_queue, 7,i: 42,000,846 msg/sec xenium::ramalhete_queue, 8,s: 35,540,294 msg/sec xenium::ramalhete_queue, 8,i: 43,918,922 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,267,793 msg/sec xenium::vyukov_bounded_queue, 1,i: 97,564,971 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,688,174 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,190,222 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,598,883 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,224,334 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,411,741 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,277,594 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,868,471 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,325,271 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,171,347 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,448,849 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,263,525 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,088,009 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,396,176 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,359,562 msg/sec AtomicQueue, 1,s: 61,928,910 msg/sec AtomicQueue, 1,i: 56,200,090 msg/sec AtomicQueue, 2,s: 12,250,264 msg/sec AtomicQueue, 2,i: 11,738,141 msg/sec AtomicQueue, 3,s: 10,821,195 msg/sec AtomicQueue, 3,i: 9,925,064 msg/sec AtomicQueue, 4,s: 8,213,475 msg/sec AtomicQueue, 4,i: 8,195,286 msg/sec AtomicQueue, 5,s: 8,036,825 msg/sec AtomicQueue, 5,i: 8,084,414 msg/sec AtomicQueue, 6,s: 7,870,015 msg/sec AtomicQueue, 6,i: 7,621,540 msg/sec AtomicQueue, 7,s: 7,168,383 msg/sec AtomicQueue, 7,i: 7,994,268 msg/sec AtomicQueue, 8,s: 6,332,925 msg/sec AtomicQueue, 8,i: 7,471,693 msg/sec AtomicQueueB, 1,s: 43,907,358 msg/sec AtomicQueueB, 1,i: 42,952,224 msg/sec AtomicQueueB, 2,s: 11,837,051 msg/sec AtomicQueueB, 2,i: 11,520,939 msg/sec AtomicQueueB, 3,s: 10,973,168 msg/sec AtomicQueueB, 3,i: 10,024,345 msg/sec AtomicQueueB, 4,s: 8,041,910 msg/sec AtomicQueueB, 4,i: 8,063,303 msg/sec AtomicQueueB, 5,s: 7,472,885 msg/sec AtomicQueueB, 5,i: 7,847,819 msg/sec AtomicQueueB, 6,s: 7,395,815 msg/sec AtomicQueueB, 6,i: 7,534,747 msg/sec AtomicQueueB, 7,s: 6,868,399 msg/sec AtomicQueueB, 7,i: 7,736,245 msg/sec AtomicQueueB, 8,s: 6,263,293 msg/sec AtomicQueueB, 8,i: 7,103,032 msg/sec OptimistAtomicQueue, 1,s: 732,747,282 msg/sec OptimistAtomicQueue, 1,i: 514,508,430 msg/sec OptimistAtomicQueue, 2,s: 32,612,403 msg/sec OptimistAtomicQueue, 2,i: 32,729,243 msg/sec OptimistAtomicQueue, 3,s: 36,674,095 msg/sec OptimistAtomicQueue, 3,i: 37,404,715 msg/sec OptimistAtomicQueue, 4,s: 39,284,239 msg/sec OptimistAtomicQueue, 4,i: 39,371,889 msg/sec OptimistAtomicQueue, 5,s: 42,602,143 msg/sec OptimistAtomicQueue, 5,i: 46,230,600 msg/sec OptimistAtomicQueue, 6,s: 42,577,355 msg/sec OptimistAtomicQueue, 6,i: 50,275,075 msg/sec OptimistAtomicQueue, 7,s: 44,178,824 msg/sec OptimistAtomicQueue, 7,i: 52,045,748 msg/sec OptimistAtomicQueue, 8,s: 46,430,251 msg/sec OptimistAtomicQueue, 8,i: 49,626,843 msg/sec OptimistAtomicQueueB, 1,s: 80,287,379 msg/sec OptimistAtomicQueueB, 1,i: 78,769,520 msg/sec OptimistAtomicQueueB, 2,s: 31,586,127 msg/sec OptimistAtomicQueueB, 2,i: 32,336,407 msg/sec OptimistAtomicQueueB, 3,s: 36,312,182 msg/sec OptimistAtomicQueueB, 3,i: 36,897,882 msg/sec OptimistAtomicQueueB, 4,s: 38,645,248 msg/sec OptimistAtomicQueueB, 4,i: 38,640,780 msg/sec OptimistAtomicQueueB, 5,s: 40,948,177 msg/sec OptimistAtomicQueueB, 5,i: 45,279,821 msg/sec OptimistAtomicQueueB, 6,s: 40,991,506 msg/sec OptimistAtomicQueueB, 6,i: 49,198,978 msg/sec OptimistAtomicQueueB, 7,s: 42,896,397 msg/sec OptimistAtomicQueueB, 7,i: 47,942,289 msg/sec OptimistAtomicQueueB, 8,s: 44,254,279 msg/sec OptimistAtomicQueueB, 8,i: 48,044,013 msg/sec AtomicQueue2, 1,s: 53,723,655 msg/sec AtomicQueue2, 1,i: 23,451,579 msg/sec AtomicQueue2, 2,s: 11,651,430 msg/sec AtomicQueue2, 2,i: 11,432,595 msg/sec AtomicQueue2, 3,s: 9,319,551 msg/sec AtomicQueue2, 3,i: 9,456,399 msg/sec AtomicQueue2, 4,s: 8,105,472 msg/sec AtomicQueue2, 4,i: 8,055,856 msg/sec AtomicQueue2, 5,s: 7,883,634 msg/sec AtomicQueue2, 5,i: 8,035,378 msg/sec AtomicQueue2, 6,s: 7,809,766 msg/sec AtomicQueue2, 6,i: 7,517,583 msg/sec AtomicQueue2, 7,s: 7,130,182 msg/sec AtomicQueue2, 7,i: 7,873,203 msg/sec AtomicQueue2, 8,s: 6,383,447 msg/sec AtomicQueue2, 8,i: 7,356,107 msg/sec AtomicQueueB2, 1,s: 32,605,314 msg/sec AtomicQueueB2, 1,i: 32,631,025 msg/sec AtomicQueueB2, 2,s: 11,316,119 msg/sec AtomicQueueB2, 2,i: 11,077,443 msg/sec AtomicQueueB2, 3,s: 9,657,797 msg/sec AtomicQueueB2, 3,i: 9,467,346 msg/sec AtomicQueueB2, 4,s: 7,963,208 msg/sec AtomicQueueB2, 4,i: 7,822,112 msg/sec AtomicQueueB2, 5,s: 7,486,489 msg/sec AtomicQueueB2, 5,i: 7,758,742 msg/sec AtomicQueueB2, 6,s: 7,196,171 msg/sec AtomicQueueB2, 6,i: 7,437,916 msg/sec AtomicQueueB2, 7,s: 6,921,910 msg/sec AtomicQueueB2, 7,i: 7,720,233 msg/sec AtomicQueueB2, 8,s: 6,239,145 msg/sec AtomicQueueB2, 8,i: 7,121,236 msg/sec OptimistAtomicQueue2, 1,s: 415,506,667 msg/sec OptimistAtomicQueue2, 1,i: 29,767,827 msg/sec OptimistAtomicQueue2, 2,s: 24,942,807 msg/sec OptimistAtomicQueue2, 2,i: 24,018,007 msg/sec OptimistAtomicQueue2, 3,s: 30,322,176 msg/sec OptimistAtomicQueue2, 3,i: 29,949,179 msg/sec OptimistAtomicQueue2, 4,s: 35,107,037 msg/sec OptimistAtomicQueue2, 4,i: 33,579,017 msg/sec OptimistAtomicQueue2, 5,s: 37,226,800 msg/sec OptimistAtomicQueue2, 5,i: 40,226,375 msg/sec OptimistAtomicQueue2, 6,s: 40,327,069 msg/sec OptimistAtomicQueue2, 6,i: 49,188,381 msg/sec OptimistAtomicQueue2, 7,s: 42,812,664 msg/sec OptimistAtomicQueue2, 7,i: 51,607,122 msg/sec OptimistAtomicQueue2, 8,s: 43,833,770 msg/sec OptimistAtomicQueue2, 8,i: 49,505,577 msg/sec OptimistAtomicQueueB2, 1,s: 76,851,283 msg/sec OptimistAtomicQueueB2, 1,i: 33,868,543 msg/sec OptimistAtomicQueueB2, 2,s: 27,828,876 msg/sec OptimistAtomicQueueB2, 2,i: 28,850,587 msg/sec OptimistAtomicQueueB2, 3,s: 29,735,135 msg/sec OptimistAtomicQueueB2, 3,i: 29,564,526 msg/sec OptimistAtomicQueueB2, 4,s: 33,249,027 msg/sec OptimistAtomicQueueB2, 4,i: 32,165,438 msg/sec OptimistAtomicQueueB2, 5,s: 34,419,495 msg/sec OptimistAtomicQueueB2, 5,i: 39,858,111 msg/sec OptimistAtomicQueueB2, 6,s: 37,234,725 msg/sec OptimistAtomicQueueB2, 6,i: 42,233,541 msg/sec OptimistAtomicQueueB2, 7,s: 40,064,598 msg/sec OptimistAtomicQueueB2, 7,i: 45,459,365 msg/sec OptimistAtomicQueueB2, 8,s: 42,557,009 msg/sec OptimistAtomicQueueB2, 8,i: 46,247,469 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000457 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000222 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [338] 35m:17s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,460,516 msg/sec boost::lockfree::spsc_queue, 1,i: 67,564,805 msg/sec boost::lockfree::queue, 1,s: 6,916,036 msg/sec boost::lockfree::queue, 1,i: 6,870,693 msg/sec boost::lockfree::queue, 2,s: 7,612,089 msg/sec boost::lockfree::queue, 2,i: 7,441,048 msg/sec boost::lockfree::queue, 3,s: 7,448,411 msg/sec boost::lockfree::queue, 3,i: 7,554,971 msg/sec boost::lockfree::queue, 4,s: 6,430,400 msg/sec boost::lockfree::queue, 4,i: 6,813,596 msg/sec boost::lockfree::queue, 5,s: 6,440,597 msg/sec boost::lockfree::queue, 5,i: 6,451,165 msg/sec boost::lockfree::queue, 6,s: 5,993,688 msg/sec boost::lockfree::queue, 6,i: 6,298,061 msg/sec boost::lockfree::queue, 7,s: 5,932,283 msg/sec boost::lockfree::queue, 7,i: 6,048,706 msg/sec boost::lockfree::queue, 8,s: 5,452,633 msg/sec boost::lockfree::queue, 8,i: 5,731,068 msg/sec moodycamel::ReaderWriterQueue, 1,s: 77,368,316 msg/sec moodycamel::ReaderWriterQueue, 1,i: 67,182,288 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,331,702 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,762,071 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,094,676 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,919,543 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,369,292 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,357,551 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,597,408 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,188,904 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,423,633 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,172,634 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,534,663 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,017,987 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,050,755 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,276,744 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,342,038 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,302,065 msg/sec pthread_spinlock, 1,s: 29,156,090 msg/sec pthread_spinlock, 1,i: 29,015,091 msg/sec pthread_spinlock, 2,s: 15,451,091 msg/sec pthread_spinlock, 2,i: 17,025,743 msg/sec pthread_spinlock, 3,s: 8,401,481 msg/sec pthread_spinlock, 3,i: 11,957,153 msg/sec pthread_spinlock, 4,s: 6,438,024 msg/sec pthread_spinlock, 4,i: 8,940,364 msg/sec pthread_spinlock, 5,s: 8,709,272 msg/sec pthread_spinlock, 5,i: 10,346,215 msg/sec pthread_spinlock, 6,s: 8,641,752 msg/sec pthread_spinlock, 6,i: 8,473,800 msg/sec pthread_spinlock, 7,s: 7,485,395 msg/sec pthread_spinlock, 7,i: 8,060,213 msg/sec pthread_spinlock, 8,s: 6,717,271 msg/sec pthread_spinlock, 8,i: 7,362,417 msg/sec std::mutex, 1,s: 5,790,561 msg/sec std::mutex, 1,i: 5,772,360 msg/sec std::mutex, 2,s: 4,883,264 msg/sec std::mutex, 2,i: 5,071,091 msg/sec std::mutex, 3,s: 5,981,102 msg/sec std::mutex, 3,i: 6,170,359 msg/sec std::mutex, 4,s: 6,170,654 msg/sec std::mutex, 4,i: 6,224,838 msg/sec std::mutex, 5,s: 5,995,326 msg/sec std::mutex, 5,i: 6,080,946 msg/sec std::mutex, 6,s: 5,978,944 msg/sec std::mutex, 6,i: 5,894,645 msg/sec std::mutex, 7,s: 5,813,311 msg/sec std::mutex, 7,i: 5,809,208 msg/sec std::mutex, 8,s: 5,703,159 msg/sec std::mutex, 8,i: 5,659,559 msg/sec tbb::spin_mutex, 1,s: 37,514,861 msg/sec tbb::spin_mutex, 1,i: 32,953,940 msg/sec tbb::spin_mutex, 2,s: 17,753,221 msg/sec tbb::spin_mutex, 2,i: 18,486,398 msg/sec tbb::spin_mutex, 3,s: 8,004,600 msg/sec tbb::spin_mutex, 3,i: 10,227,749 msg/sec tbb::spin_mutex, 4,s: 3,099,154 msg/sec tbb::spin_mutex, 4,i: 6,271,724 msg/sec tbb::spin_mutex, 5,s: 5,550,641 msg/sec tbb::spin_mutex, 5,i: 5,758,209 msg/sec tbb::spin_mutex, 6,s: 5,235,402 msg/sec tbb::spin_mutex, 6,i: 4,347,575 msg/sec tbb::spin_mutex, 7,s: 4,332,462 msg/sec tbb::spin_mutex, 7,i: 4,260,494 msg/sec tbb::spin_mutex, 8,s: 4,232,722 msg/sec tbb::spin_mutex, 8,i: 4,084,914 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,245,330 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,071,116 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,174,123 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,518,689 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,419,477 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,573,551 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,536,844 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,625,416 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,849,449 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,677,429 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,851,085 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,758,095 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,900,464 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,846,516 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,776,839 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,473,935 msg/sec xenium::michael_scott_queue, 1,s: 9,410,814 msg/sec xenium::michael_scott_queue, 1,i: 9,430,232 msg/sec xenium::michael_scott_queue, 2,s: 8,463,315 msg/sec xenium::michael_scott_queue, 2,i: 8,559,290 msg/sec xenium::michael_scott_queue, 3,s: 7,378,499 msg/sec xenium::michael_scott_queue, 3,i: 7,536,034 msg/sec xenium::michael_scott_queue, 4,s: 6,263,016 msg/sec xenium::michael_scott_queue, 4,i: 6,415,304 msg/sec xenium::michael_scott_queue, 5,s: 6,321,053 msg/sec xenium::michael_scott_queue, 5,i: 6,711,619 msg/sec xenium::michael_scott_queue, 6,s: 6,473,196 msg/sec xenium::michael_scott_queue, 6,i: 7,018,542 msg/sec xenium::michael_scott_queue, 7,s: 6,371,322 msg/sec xenium::michael_scott_queue, 7,i: 6,408,176 msg/sec xenium::michael_scott_queue, 8,s: 6,009,543 msg/sec xenium::michael_scott_queue, 8,i: 6,146,111 msg/sec xenium::ramalhete_queue, 1,s: 32,030,526 msg/sec xenium::ramalhete_queue, 1,i: 31,562,183 msg/sec xenium::ramalhete_queue, 2,s: 23,521,892 msg/sec xenium::ramalhete_queue, 2,i: 23,317,737 msg/sec xenium::ramalhete_queue, 3,s: 29,274,844 msg/sec xenium::ramalhete_queue, 3,i: 28,494,222 msg/sec xenium::ramalhete_queue, 4,s: 33,855,971 msg/sec xenium::ramalhete_queue, 4,i: 33,512,071 msg/sec xenium::ramalhete_queue, 5,s: 32,073,116 msg/sec xenium::ramalhete_queue, 5,i: 36,050,983 msg/sec xenium::ramalhete_queue, 6,s: 34,051,533 msg/sec xenium::ramalhete_queue, 6,i: 39,045,378 msg/sec xenium::ramalhete_queue, 7,s: 35,190,303 msg/sec xenium::ramalhete_queue, 7,i: 41,195,512 msg/sec xenium::ramalhete_queue, 8,s: 35,528,518 msg/sec xenium::ramalhete_queue, 8,i: 44,069,673 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,838,492 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,123,652 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,262,614 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,230,107 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,640,039 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,255,475 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,430,762 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,212,242 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,002,358 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,319,621 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,038,062 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,564,188 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,224,791 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,055,353 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,392,407 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,222,787 msg/sec AtomicQueue, 1,s: 63,672,729 msg/sec AtomicQueue, 1,i: 56,772,322 msg/sec AtomicQueue, 2,s: 12,213,200 msg/sec AtomicQueue, 2,i: 11,757,857 msg/sec AtomicQueue, 3,s: 10,788,348 msg/sec AtomicQueue, 3,i: 9,944,453 msg/sec AtomicQueue, 4,s: 8,189,083 msg/sec AtomicQueue, 4,i: 8,160,176 msg/sec AtomicQueue, 5,s: 8,063,414 msg/sec AtomicQueue, 5,i: 8,106,574 msg/sec AtomicQueue, 6,s: 7,687,053 msg/sec AtomicQueue, 6,i: 7,611,361 msg/sec AtomicQueue, 7,s: 7,167,512 msg/sec AtomicQueue, 7,i: 7,960,385 msg/sec AtomicQueue, 8,s: 6,353,576 msg/sec AtomicQueue, 8,i: 7,396,243 msg/sec AtomicQueueB, 1,s: 43,801,888 msg/sec AtomicQueueB, 1,i: 42,964,645 msg/sec AtomicQueueB, 2,s: 11,970,639 msg/sec AtomicQueueB, 2,i: 11,454,740 msg/sec AtomicQueueB, 3,s: 11,040,955 msg/sec AtomicQueueB, 3,i: 10,083,090 msg/sec AtomicQueueB, 4,s: 8,009,341 msg/sec AtomicQueueB, 4,i: 8,048,964 msg/sec AtomicQueueB, 5,s: 7,527,321 msg/sec AtomicQueueB, 5,i: 7,783,807 msg/sec AtomicQueueB, 6,s: 7,327,424 msg/sec AtomicQueueB, 6,i: 7,508,415 msg/sec AtomicQueueB, 7,s: 6,909,719 msg/sec AtomicQueueB, 7,i: 7,742,454 msg/sec AtomicQueueB, 8,s: 6,298,846 msg/sec AtomicQueueB, 8,i: 7,190,524 msg/sec OptimistAtomicQueue, 1,s: 716,846,006 msg/sec OptimistAtomicQueue, 1,i: 517,404,116 msg/sec OptimistAtomicQueue, 2,s: 32,199,317 msg/sec OptimistAtomicQueue, 2,i: 32,224,493 msg/sec OptimistAtomicQueue, 3,s: 36,663,674 msg/sec OptimistAtomicQueue, 3,i: 37,402,596 msg/sec OptimistAtomicQueue, 4,s: 39,258,436 msg/sec OptimistAtomicQueue, 4,i: 39,384,060 msg/sec OptimistAtomicQueue, 5,s: 41,807,001 msg/sec OptimistAtomicQueue, 5,i: 48,660,715 msg/sec OptimistAtomicQueue, 6,s: 42,375,286 msg/sec OptimistAtomicQueue, 6,i: 49,841,313 msg/sec OptimistAtomicQueue, 7,s: 44,400,491 msg/sec OptimistAtomicQueue, 7,i: 53,039,635 msg/sec OptimistAtomicQueue, 8,s: 46,306,838 msg/sec OptimistAtomicQueue, 8,i: 50,271,314 msg/sec OptimistAtomicQueueB, 1,s: 92,775,375 msg/sec OptimistAtomicQueueB, 1,i: 86,648,792 msg/sec OptimistAtomicQueueB, 2,s: 32,108,701 msg/sec OptimistAtomicQueueB, 2,i: 31,857,356 msg/sec OptimistAtomicQueueB, 3,s: 36,168,188 msg/sec OptimistAtomicQueueB, 3,i: 36,847,023 msg/sec OptimistAtomicQueueB, 4,s: 38,684,487 msg/sec OptimistAtomicQueueB, 4,i: 38,685,218 msg/sec OptimistAtomicQueueB, 5,s: 40,360,232 msg/sec OptimistAtomicQueueB, 5,i: 45,203,269 msg/sec OptimistAtomicQueueB, 6,s: 40,601,754 msg/sec OptimistAtomicQueueB, 6,i: 48,570,229 msg/sec OptimistAtomicQueueB, 7,s: 41,959,987 msg/sec OptimistAtomicQueueB, 7,i: 47,301,634 msg/sec OptimistAtomicQueueB, 8,s: 44,348,464 msg/sec OptimistAtomicQueueB, 8,i: 47,703,148 msg/sec AtomicQueue2, 1,s: 23,089,665 msg/sec AtomicQueue2, 1,i: 23,211,692 msg/sec AtomicQueue2, 2,s: 11,759,302 msg/sec AtomicQueue2, 2,i: 11,324,363 msg/sec AtomicQueue2, 3,s: 9,672,032 msg/sec AtomicQueue2, 3,i: 9,346,967 msg/sec AtomicQueue2, 4,s: 8,023,379 msg/sec AtomicQueue2, 4,i: 8,042,831 msg/sec AtomicQueue2, 5,s: 7,918,839 msg/sec AtomicQueue2, 5,i: 8,050,406 msg/sec AtomicQueue2, 6,s: 7,695,257 msg/sec AtomicQueue2, 6,i: 7,535,794 msg/sec AtomicQueue2, 7,s: 7,143,567 msg/sec AtomicQueue2, 7,i: 7,895,307 msg/sec AtomicQueue2, 8,s: 6,371,611 msg/sec AtomicQueue2, 8,i: 7,317,575 msg/sec AtomicQueueB2, 1,s: 37,668,400 msg/sec AtomicQueueB2, 1,i: 33,240,743 msg/sec AtomicQueueB2, 2,s: 11,410,224 msg/sec AtomicQueueB2, 2,i: 11,018,428 msg/sec AtomicQueueB2, 3,s: 9,611,345 msg/sec AtomicQueueB2, 3,i: 9,378,820 msg/sec AtomicQueueB2, 4,s: 7,898,917 msg/sec AtomicQueueB2, 4,i: 7,887,800 msg/sec AtomicQueueB2, 5,s: 7,503,418 msg/sec AtomicQueueB2, 5,i: 7,679,053 msg/sec AtomicQueueB2, 6,s: 7,239,205 msg/sec AtomicQueueB2, 6,i: 7,411,511 msg/sec AtomicQueueB2, 7,s: 6,893,077 msg/sec AtomicQueueB2, 7,i: 7,683,341 msg/sec AtomicQueueB2, 8,s: 6,343,542 msg/sec AtomicQueueB2, 8,i: 7,107,061 msg/sec OptimistAtomicQueue2, 1,s: 32,366,093 msg/sec OptimistAtomicQueue2, 1,i: 29,644,889 msg/sec OptimistAtomicQueue2, 2,s: 24,268,772 msg/sec OptimistAtomicQueue2, 2,i: 24,006,453 msg/sec OptimistAtomicQueue2, 3,s: 30,480,824 msg/sec OptimistAtomicQueue2, 3,i: 30,257,145 msg/sec OptimistAtomicQueue2, 4,s: 33,173,747 msg/sec OptimistAtomicQueue2, 4,i: 33,325,838 msg/sec OptimistAtomicQueue2, 5,s: 37,187,167 msg/sec OptimistAtomicQueue2, 5,i: 41,496,824 msg/sec OptimistAtomicQueue2, 6,s: 40,278,961 msg/sec OptimistAtomicQueue2, 6,i: 49,328,951 msg/sec OptimistAtomicQueue2, 7,s: 43,049,192 msg/sec OptimistAtomicQueue2, 7,i: 51,368,907 msg/sec OptimistAtomicQueue2, 8,s: 43,793,935 msg/sec OptimistAtomicQueue2, 8,i: 48,344,584 msg/sec OptimistAtomicQueueB2, 1,s: 78,448,495 msg/sec OptimistAtomicQueueB2, 1,i: 33,868,759 msg/sec OptimistAtomicQueueB2, 2,s: 27,160,318 msg/sec OptimistAtomicQueueB2, 2,i: 23,196,598 msg/sec OptimistAtomicQueueB2, 3,s: 29,456,036 msg/sec OptimistAtomicQueueB2, 3,i: 29,903,889 msg/sec OptimistAtomicQueueB2, 4,s: 33,174,838 msg/sec OptimistAtomicQueueB2, 4,i: 33,090,937 msg/sec OptimistAtomicQueueB2, 5,s: 34,412,987 msg/sec OptimistAtomicQueueB2, 5,i: 39,142,751 msg/sec OptimistAtomicQueueB2, 6,s: 37,377,925 msg/sec OptimistAtomicQueueB2, 6,i: 42,279,443 msg/sec OptimistAtomicQueueB2, 7,s: 40,087,743 msg/sec OptimistAtomicQueueB2, 7,i: 45,412,769 msg/sec OptimistAtomicQueueB2, 8,s: 42,056,657 msg/sec OptimistAtomicQueueB2, 8,i: 45,162,222 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000130 sec/round-trip moodycamel::ConcurrentQueue: 0.000000246 sec/round-trip pthread_spinlock: 0.000000240 sec/round-trip std::mutex: 0.000000449 sec/round-trip tbb::spin_mutex: 0.000000292 sec/round-trip tbb::concurrent_bounded_queue: 0.000000278 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000260 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [339] 33m:57s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,112,309 msg/sec boost::lockfree::spsc_queue, 1,i: 72,142,176 msg/sec boost::lockfree::queue, 1,s: 7,904,218 msg/sec boost::lockfree::queue, 1,i: 7,885,141 msg/sec boost::lockfree::queue, 2,s: 7,660,229 msg/sec boost::lockfree::queue, 2,i: 7,532,257 msg/sec boost::lockfree::queue, 3,s: 7,371,806 msg/sec boost::lockfree::queue, 3,i: 7,589,983 msg/sec boost::lockfree::queue, 4,s: 6,422,772 msg/sec boost::lockfree::queue, 4,i: 6,785,935 msg/sec boost::lockfree::queue, 5,s: 6,412,176 msg/sec boost::lockfree::queue, 5,i: 6,449,748 msg/sec boost::lockfree::queue, 6,s: 5,982,062 msg/sec boost::lockfree::queue, 6,i: 6,108,226 msg/sec boost::lockfree::queue, 7,s: 6,017,264 msg/sec boost::lockfree::queue, 7,i: 6,017,730 msg/sec boost::lockfree::queue, 8,s: 5,448,097 msg/sec boost::lockfree::queue, 8,i: 5,576,578 msg/sec moodycamel::ReaderWriterQueue, 1,s: 153,886,460 msg/sec moodycamel::ReaderWriterQueue, 1,i: 57,345,259 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,741,885 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,777,861 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,965,040 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,374,494 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,980,154 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,500,896 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,115,149 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,714,257 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,262,103 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,203,694 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,153,070 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,795,948 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,876,064 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,716,818 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,291,265 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,179,322 msg/sec pthread_spinlock, 1,s: 29,107,605 msg/sec pthread_spinlock, 1,i: 25,462,471 msg/sec pthread_spinlock, 2,s: 15,508,663 msg/sec pthread_spinlock, 2,i: 16,770,579 msg/sec pthread_spinlock, 3,s: 8,416,583 msg/sec pthread_spinlock, 3,i: 12,004,535 msg/sec pthread_spinlock, 4,s: 6,478,310 msg/sec pthread_spinlock, 4,i: 8,923,184 msg/sec pthread_spinlock, 5,s: 8,598,683 msg/sec pthread_spinlock, 5,i: 9,524,373 msg/sec pthread_spinlock, 6,s: 8,303,087 msg/sec pthread_spinlock, 6,i: 8,418,818 msg/sec pthread_spinlock, 7,s: 7,669,321 msg/sec pthread_spinlock, 7,i: 7,503,276 msg/sec pthread_spinlock, 8,s: 6,657,490 msg/sec pthread_spinlock, 8,i: 6,829,866 msg/sec std::mutex, 1,s: 5,778,834 msg/sec std::mutex, 1,i: 6,010,093 msg/sec std::mutex, 2,s: 6,082,137 msg/sec std::mutex, 2,i: 5,833,166 msg/sec std::mutex, 3,s: 5,958,293 msg/sec std::mutex, 3,i: 6,067,602 msg/sec std::mutex, 4,s: 6,219,370 msg/sec std::mutex, 4,i: 6,383,725 msg/sec std::mutex, 5,s: 5,986,885 msg/sec std::mutex, 5,i: 5,976,008 msg/sec std::mutex, 6,s: 5,979,717 msg/sec std::mutex, 6,i: 5,892,664 msg/sec std::mutex, 7,s: 5,895,261 msg/sec std::mutex, 7,i: 5,787,634 msg/sec std::mutex, 8,s: 5,814,276 msg/sec std::mutex, 8,i: 5,718,226 msg/sec tbb::spin_mutex, 1,s: 38,293,380 msg/sec tbb::spin_mutex, 1,i: 38,311,510 msg/sec tbb::spin_mutex, 2,s: 18,017,021 msg/sec tbb::spin_mutex, 2,i: 18,353,248 msg/sec tbb::spin_mutex, 3,s: 7,408,827 msg/sec tbb::spin_mutex, 3,i: 10,389,268 msg/sec tbb::spin_mutex, 4,s: 3,247,661 msg/sec tbb::spin_mutex, 4,i: 6,363,140 msg/sec tbb::spin_mutex, 5,s: 5,425,828 msg/sec tbb::spin_mutex, 5,i: 5,354,602 msg/sec tbb::spin_mutex, 6,s: 5,231,527 msg/sec tbb::spin_mutex, 6,i: 4,280,717 msg/sec tbb::spin_mutex, 7,s: 4,828,006 msg/sec tbb::spin_mutex, 7,i: 4,356,401 msg/sec tbb::spin_mutex, 8,s: 4,251,842 msg/sec tbb::spin_mutex, 8,i: 4,148,505 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,161,563 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,081,833 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,695,555 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,235,228 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,099,805 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,371,540 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,018,196 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,231,249 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,659,530 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,366,219 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,653,279 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,717,944 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,690,216 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,118,830 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,771,100 msg/sec tbb::concurrent_bounded_queue, 8,i: 8,013,655 msg/sec xenium::michael_scott_queue, 1,s: 9,387,012 msg/sec xenium::michael_scott_queue, 1,i: 9,354,018 msg/sec xenium::michael_scott_queue, 2,s: 8,458,918 msg/sec xenium::michael_scott_queue, 2,i: 8,446,076 msg/sec xenium::michael_scott_queue, 3,s: 7,390,829 msg/sec xenium::michael_scott_queue, 3,i: 7,560,739 msg/sec xenium::michael_scott_queue, 4,s: 6,239,482 msg/sec xenium::michael_scott_queue, 4,i: 6,327,283 msg/sec xenium::michael_scott_queue, 5,s: 6,280,448 msg/sec xenium::michael_scott_queue, 5,i: 6,660,618 msg/sec xenium::michael_scott_queue, 6,s: 6,469,642 msg/sec xenium::michael_scott_queue, 6,i: 7,004,423 msg/sec xenium::michael_scott_queue, 7,s: 6,317,625 msg/sec xenium::michael_scott_queue, 7,i: 6,518,897 msg/sec xenium::michael_scott_queue, 8,s: 5,961,246 msg/sec xenium::michael_scott_queue, 8,i: 6,088,265 msg/sec xenium::ramalhete_queue, 1,s: 31,701,060 msg/sec xenium::ramalhete_queue, 1,i: 31,435,099 msg/sec xenium::ramalhete_queue, 2,s: 23,493,289 msg/sec xenium::ramalhete_queue, 2,i: 23,377,412 msg/sec xenium::ramalhete_queue, 3,s: 29,110,292 msg/sec xenium::ramalhete_queue, 3,i: 28,478,849 msg/sec xenium::ramalhete_queue, 4,s: 33,757,832 msg/sec xenium::ramalhete_queue, 4,i: 33,436,202 msg/sec xenium::ramalhete_queue, 5,s: 32,185,653 msg/sec xenium::ramalhete_queue, 5,i: 38,387,132 msg/sec xenium::ramalhete_queue, 6,s: 34,027,111 msg/sec xenium::ramalhete_queue, 6,i: 39,200,990 msg/sec xenium::ramalhete_queue, 7,s: 35,056,009 msg/sec xenium::ramalhete_queue, 7,i: 41,511,463 msg/sec xenium::ramalhete_queue, 8,s: 35,344,841 msg/sec xenium::ramalhete_queue, 8,i: 43,491,242 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,795,017 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,002,638 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,612,108 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,939,143 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,557,956 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,811,583 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,637,617 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,066,068 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,308,359 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,334,274 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,046,148 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,393,428 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,177,351 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,058,437 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,380,683 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,275,644 msg/sec AtomicQueue, 1,s: 60,926,892 msg/sec AtomicQueue, 1,i: 56,105,164 msg/sec AtomicQueue, 2,s: 12,337,406 msg/sec AtomicQueue, 2,i: 11,725,756 msg/sec AtomicQueue, 3,s: 10,757,868 msg/sec AtomicQueue, 3,i: 9,884,601 msg/sec AtomicQueue, 4,s: 8,252,695 msg/sec AtomicQueue, 4,i: 8,187,523 msg/sec AtomicQueue, 5,s: 7,999,200 msg/sec AtomicQueue, 5,i: 8,079,101 msg/sec AtomicQueue, 6,s: 7,740,847 msg/sec AtomicQueue, 6,i: 7,617,248 msg/sec AtomicQueue, 7,s: 7,070,360 msg/sec AtomicQueue, 7,i: 7,967,061 msg/sec AtomicQueue, 8,s: 6,344,554 msg/sec AtomicQueue, 8,i: 7,450,071 msg/sec AtomicQueueB, 1,s: 43,850,916 msg/sec AtomicQueueB, 1,i: 44,032,893 msg/sec AtomicQueueB, 2,s: 11,729,559 msg/sec AtomicQueueB, 2,i: 11,419,666 msg/sec AtomicQueueB, 3,s: 11,067,224 msg/sec AtomicQueueB, 3,i: 10,098,209 msg/sec AtomicQueueB, 4,s: 8,063,751 msg/sec AtomicQueueB, 4,i: 7,969,374 msg/sec AtomicQueueB, 5,s: 7,575,103 msg/sec AtomicQueueB, 5,i: 7,771,627 msg/sec AtomicQueueB, 6,s: 7,331,400 msg/sec AtomicQueueB, 6,i: 7,479,676 msg/sec AtomicQueueB, 7,s: 6,857,536 msg/sec AtomicQueueB, 7,i: 7,736,417 msg/sec AtomicQueueB, 8,s: 6,211,184 msg/sec AtomicQueueB, 8,i: 7,209,530 msg/sec OptimistAtomicQueue, 1,s: 710,406,387 msg/sec OptimistAtomicQueue, 1,i: 642,763,264 msg/sec OptimistAtomicQueue, 2,s: 32,642,722 msg/sec OptimistAtomicQueue, 2,i: 32,736,362 msg/sec OptimistAtomicQueue, 3,s: 36,687,001 msg/sec OptimistAtomicQueue, 3,i: 37,424,164 msg/sec OptimistAtomicQueue, 4,s: 39,289,663 msg/sec OptimistAtomicQueue, 4,i: 39,380,418 msg/sec OptimistAtomicQueue, 5,s: 42,505,371 msg/sec OptimistAtomicQueue, 5,i: 46,418,921 msg/sec OptimistAtomicQueue, 6,s: 42,902,423 msg/sec OptimistAtomicQueue, 6,i: 50,255,455 msg/sec OptimistAtomicQueue, 7,s: 45,185,905 msg/sec OptimistAtomicQueue, 7,i: 49,182,039 msg/sec OptimistAtomicQueue, 8,s: 46,438,743 msg/sec OptimistAtomicQueue, 8,i: 48,609,122 msg/sec OptimistAtomicQueueB, 1,s: 688,087,164 msg/sec OptimistAtomicQueueB, 1,i: 77,704,020 msg/sec OptimistAtomicQueueB, 2,s: 32,219,450 msg/sec OptimistAtomicQueueB, 2,i: 32,249,955 msg/sec OptimistAtomicQueueB, 3,s: 36,292,856 msg/sec OptimistAtomicQueueB, 3,i: 36,891,590 msg/sec OptimistAtomicQueueB, 4,s: 38,751,316 msg/sec OptimistAtomicQueueB, 4,i: 38,646,222 msg/sec OptimistAtomicQueueB, 5,s: 41,103,143 msg/sec OptimistAtomicQueueB, 5,i: 45,934,753 msg/sec OptimistAtomicQueueB, 6,s: 40,991,360 msg/sec OptimistAtomicQueueB, 6,i: 48,628,184 msg/sec OptimistAtomicQueueB, 7,s: 42,058,750 msg/sec OptimistAtomicQueueB, 7,i: 48,191,744 msg/sec OptimistAtomicQueueB, 8,s: 44,423,639 msg/sec OptimistAtomicQueueB, 8,i: 47,648,882 msg/sec AtomicQueue2, 1,s: 22,900,092 msg/sec AtomicQueue2, 1,i: 22,965,809 msg/sec AtomicQueue2, 2,s: 11,732,578 msg/sec AtomicQueue2, 2,i: 11,414,585 msg/sec AtomicQueue2, 3,s: 9,740,029 msg/sec AtomicQueue2, 3,i: 9,438,520 msg/sec AtomicQueue2, 4,s: 8,095,987 msg/sec AtomicQueue2, 4,i: 8,034,846 msg/sec AtomicQueue2, 5,s: 7,898,615 msg/sec AtomicQueue2, 5,i: 7,981,507 msg/sec AtomicQueue2, 6,s: 7,831,645 msg/sec AtomicQueue2, 6,i: 7,516,663 msg/sec AtomicQueue2, 7,s: 7,189,688 msg/sec AtomicQueue2, 7,i: 7,889,537 msg/sec AtomicQueue2, 8,s: 6,381,572 msg/sec AtomicQueue2, 8,i: 7,353,027 msg/sec AtomicQueueB2, 1,s: 36,029,289 msg/sec AtomicQueueB2, 1,i: 35,911,482 msg/sec AtomicQueueB2, 2,s: 11,435,029 msg/sec AtomicQueueB2, 2,i: 11,107,229 msg/sec AtomicQueueB2, 3,s: 9,673,180 msg/sec AtomicQueueB2, 3,i: 9,551,173 msg/sec AtomicQueueB2, 4,s: 7,948,849 msg/sec AtomicQueueB2, 4,i: 7,784,815 msg/sec AtomicQueueB2, 5,s: 7,537,134 msg/sec AtomicQueueB2, 5,i: 7,668,547 msg/sec AtomicQueueB2, 6,s: 7,160,704 msg/sec AtomicQueueB2, 6,i: 7,427,571 msg/sec AtomicQueueB2, 7,s: 6,905,289 msg/sec AtomicQueueB2, 7,i: 7,690,761 msg/sec AtomicQueueB2, 8,s: 6,317,816 msg/sec AtomicQueueB2, 8,i: 7,101,032 msg/sec OptimistAtomicQueue2, 1,s: 325,309,017 msg/sec OptimistAtomicQueue2, 1,i: 32,208,041 msg/sec OptimistAtomicQueue2, 2,s: 24,928,221 msg/sec OptimistAtomicQueue2, 2,i: 24,024,940 msg/sec OptimistAtomicQueue2, 3,s: 30,322,848 msg/sec OptimistAtomicQueue2, 3,i: 29,945,984 msg/sec OptimistAtomicQueue2, 4,s: 33,265,085 msg/sec OptimistAtomicQueue2, 4,i: 33,068,278 msg/sec OptimistAtomicQueue2, 5,s: 37,484,173 msg/sec OptimistAtomicQueue2, 5,i: 41,178,509 msg/sec OptimistAtomicQueue2, 6,s: 40,492,341 msg/sec OptimistAtomicQueue2, 6,i: 49,049,149 msg/sec OptimistAtomicQueue2, 7,s: 43,291,059 msg/sec OptimistAtomicQueue2, 7,i: 48,160,549 msg/sec OptimistAtomicQueue2, 8,s: 43,918,079 msg/sec OptimistAtomicQueue2, 8,i: 49,349,560 msg/sec OptimistAtomicQueueB2, 1,s: 77,843,812 msg/sec OptimistAtomicQueueB2, 1,i: 33,876,579 msg/sec OptimistAtomicQueueB2, 2,s: 27,211,900 msg/sec OptimistAtomicQueueB2, 2,i: 23,171,054 msg/sec OptimistAtomicQueueB2, 3,s: 31,334,044 msg/sec OptimistAtomicQueueB2, 3,i: 29,509,577 msg/sec OptimistAtomicQueueB2, 4,s: 32,821,871 msg/sec OptimistAtomicQueueB2, 4,i: 32,366,118 msg/sec OptimistAtomicQueueB2, 5,s: 34,348,912 msg/sec OptimistAtomicQueueB2, 5,i: 39,315,296 msg/sec OptimistAtomicQueueB2, 6,s: 37,375,084 msg/sec OptimistAtomicQueueB2, 6,i: 42,351,747 msg/sec OptimistAtomicQueueB2, 7,s: 40,946,048 msg/sec OptimistAtomicQueueB2, 7,i: 43,005,652 msg/sec OptimistAtomicQueueB2, 8,s: 41,922,807 msg/sec OptimistAtomicQueueB2, 8,i: 45,270,122 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000317 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000128 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000269 sec/round-trip std::mutex: 0.000000454 sec/round-trip tbb::spin_mutex: 0.000000286 sec/round-trip tbb::concurrent_bounded_queue: 0.000000291 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [340] 32m:38s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,593,226 msg/sec boost::lockfree::spsc_queue, 1,i: 68,527,440 msg/sec boost::lockfree::queue, 1,s: 8,170,875 msg/sec boost::lockfree::queue, 1,i: 8,277,185 msg/sec boost::lockfree::queue, 2,s: 7,626,115 msg/sec boost::lockfree::queue, 2,i: 7,477,148 msg/sec boost::lockfree::queue, 3,s: 7,385,905 msg/sec boost::lockfree::queue, 3,i: 7,567,595 msg/sec boost::lockfree::queue, 4,s: 6,420,181 msg/sec boost::lockfree::queue, 4,i: 6,785,737 msg/sec boost::lockfree::queue, 5,s: 6,436,097 msg/sec boost::lockfree::queue, 5,i: 6,489,511 msg/sec boost::lockfree::queue, 6,s: 5,975,697 msg/sec boost::lockfree::queue, 6,i: 6,103,515 msg/sec boost::lockfree::queue, 7,s: 5,990,182 msg/sec boost::lockfree::queue, 7,i: 5,939,170 msg/sec boost::lockfree::queue, 8,s: 5,344,715 msg/sec boost::lockfree::queue, 8,i: 5,676,543 msg/sec moodycamel::ReaderWriterQueue, 1,s: 467,292,067 msg/sec moodycamel::ReaderWriterQueue, 1,i: 477,329,418 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,948,358 msg/sec moodycamel::ConcurrentQueue, 1,i: 23,971,051 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,703,265 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,810,792 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,889,860 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,695,603 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,018,529 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,104,903 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,044,787 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,733,706 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,347,266 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,503,208 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,934,119 msg/sec moodycamel::ConcurrentQueue, 7,i: 46,775,448 msg/sec moodycamel::ConcurrentQueue, 8,s: 31,232,530 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,612,560 msg/sec pthread_spinlock, 1,s: 28,789,130 msg/sec pthread_spinlock, 1,i: 25,343,881 msg/sec pthread_spinlock, 2,s: 15,652,300 msg/sec pthread_spinlock, 2,i: 17,087,785 msg/sec pthread_spinlock, 3,s: 8,404,274 msg/sec pthread_spinlock, 3,i: 12,006,495 msg/sec pthread_spinlock, 4,s: 6,514,839 msg/sec pthread_spinlock, 4,i: 9,181,755 msg/sec pthread_spinlock, 5,s: 8,790,344 msg/sec pthread_spinlock, 5,i: 8,826,986 msg/sec pthread_spinlock, 6,s: 8,368,933 msg/sec pthread_spinlock, 6,i: 8,583,413 msg/sec pthread_spinlock, 7,s: 7,516,700 msg/sec pthread_spinlock, 7,i: 7,598,917 msg/sec pthread_spinlock, 8,s: 6,874,086 msg/sec pthread_spinlock, 8,i: 6,937,966 msg/sec std::mutex, 1,s: 6,868,324 msg/sec std::mutex, 1,i: 6,851,725 msg/sec std::mutex, 2,s: 5,566,715 msg/sec std::mutex, 2,i: 5,620,479 msg/sec std::mutex, 3,s: 5,335,509 msg/sec std::mutex, 3,i: 6,117,352 msg/sec std::mutex, 4,s: 6,136,862 msg/sec std::mutex, 4,i: 6,382,767 msg/sec std::mutex, 5,s: 6,104,101 msg/sec std::mutex, 5,i: 5,782,458 msg/sec std::mutex, 6,s: 6,096,877 msg/sec std::mutex, 6,i: 6,090,964 msg/sec std::mutex, 7,s: 5,939,645 msg/sec std::mutex, 7,i: 5,924,284 msg/sec std::mutex, 8,s: 5,784,573 msg/sec std::mutex, 8,i: 5,774,782 msg/sec tbb::spin_mutex, 1,s: 37,583,126 msg/sec tbb::spin_mutex, 1,i: 37,565,742 msg/sec tbb::spin_mutex, 2,s: 21,149,895 msg/sec tbb::spin_mutex, 2,i: 18,380,253 msg/sec tbb::spin_mutex, 3,s: 7,316,464 msg/sec tbb::spin_mutex, 3,i: 10,631,950 msg/sec tbb::spin_mutex, 4,s: 3,112,343 msg/sec tbb::spin_mutex, 4,i: 6,383,424 msg/sec tbb::spin_mutex, 5,s: 5,496,564 msg/sec tbb::spin_mutex, 5,i: 5,611,589 msg/sec tbb::spin_mutex, 6,s: 5,124,724 msg/sec tbb::spin_mutex, 6,i: 4,276,462 msg/sec tbb::spin_mutex, 7,s: 4,842,401 msg/sec tbb::spin_mutex, 7,i: 4,341,032 msg/sec tbb::spin_mutex, 8,s: 4,240,532 msg/sec tbb::spin_mutex, 8,i: 4,147,001 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,881,374 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,149,352 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,393,942 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,806,965 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,295,512 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,870,719 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,349,781 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,246,363 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,801,472 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,784,254 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,724,441 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,106,751 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,863,832 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,961,250 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,874,160 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,118,130 msg/sec xenium::michael_scott_queue, 1,s: 9,990,721 msg/sec xenium::michael_scott_queue, 1,i: 9,740,403 msg/sec xenium::michael_scott_queue, 2,s: 8,409,638 msg/sec xenium::michael_scott_queue, 2,i: 8,487,621 msg/sec xenium::michael_scott_queue, 3,s: 7,278,988 msg/sec xenium::michael_scott_queue, 3,i: 7,566,442 msg/sec xenium::michael_scott_queue, 4,s: 6,302,177 msg/sec xenium::michael_scott_queue, 4,i: 6,296,061 msg/sec xenium::michael_scott_queue, 5,s: 6,324,021 msg/sec xenium::michael_scott_queue, 5,i: 6,648,114 msg/sec xenium::michael_scott_queue, 6,s: 6,493,833 msg/sec xenium::michael_scott_queue, 6,i: 6,621,966 msg/sec xenium::michael_scott_queue, 7,s: 6,303,605 msg/sec xenium::michael_scott_queue, 7,i: 6,557,542 msg/sec xenium::michael_scott_queue, 8,s: 5,992,598 msg/sec xenium::michael_scott_queue, 8,i: 6,148,068 msg/sec xenium::ramalhete_queue, 1,s: 31,700,214 msg/sec xenium::ramalhete_queue, 1,i: 32,163,934 msg/sec xenium::ramalhete_queue, 2,s: 23,543,790 msg/sec xenium::ramalhete_queue, 2,i: 23,314,831 msg/sec xenium::ramalhete_queue, 3,s: 29,118,861 msg/sec xenium::ramalhete_queue, 3,i: 28,434,343 msg/sec xenium::ramalhete_queue, 4,s: 33,824,521 msg/sec xenium::ramalhete_queue, 4,i: 33,467,890 msg/sec xenium::ramalhete_queue, 5,s: 31,972,034 msg/sec xenium::ramalhete_queue, 5,i: 35,958,760 msg/sec xenium::ramalhete_queue, 6,s: 34,069,538 msg/sec xenium::ramalhete_queue, 6,i: 38,849,764 msg/sec xenium::ramalhete_queue, 7,s: 35,014,063 msg/sec xenium::ramalhete_queue, 7,i: 40,896,138 msg/sec xenium::ramalhete_queue, 8,s: 35,513,294 msg/sec xenium::ramalhete_queue, 8,i: 43,927,906 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,710,572 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,774,054 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,033,144 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,852,079 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,556,676 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,671,703 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,578,026 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,294,452 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,789,628 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,310,888 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,108,593 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,552,670 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,240,363 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,872,310 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,401,338 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,489,866 msg/sec AtomicQueue, 1,s: 160,937,907 msg/sec AtomicQueue, 1,i: 261,469,934 msg/sec AtomicQueue, 2,s: 12,280,763 msg/sec AtomicQueue, 2,i: 11,774,535 msg/sec AtomicQueue, 3,s: 10,726,472 msg/sec AtomicQueue, 3,i: 9,888,937 msg/sec AtomicQueue, 4,s: 8,195,859 msg/sec AtomicQueue, 4,i: 8,181,630 msg/sec AtomicQueue, 5,s: 8,052,827 msg/sec AtomicQueue, 5,i: 8,148,690 msg/sec AtomicQueue, 6,s: 7,726,704 msg/sec AtomicQueue, 6,i: 7,606,961 msg/sec AtomicQueue, 7,s: 7,146,640 msg/sec AtomicQueue, 7,i: 7,996,151 msg/sec AtomicQueue, 8,s: 6,312,388 msg/sec AtomicQueue, 8,i: 7,465,146 msg/sec AtomicQueueB, 1,s: 51,582,763 msg/sec AtomicQueueB, 1,i: 43,066,781 msg/sec AtomicQueueB, 2,s: 11,897,174 msg/sec AtomicQueueB, 2,i: 11,522,275 msg/sec AtomicQueueB, 3,s: 11,037,427 msg/sec AtomicQueueB, 3,i: 10,014,983 msg/sec AtomicQueueB, 4,s: 8,037,587 msg/sec AtomicQueueB, 4,i: 8,108,054 msg/sec AtomicQueueB, 5,s: 7,582,456 msg/sec AtomicQueueB, 5,i: 7,771,436 msg/sec AtomicQueueB, 6,s: 7,410,172 msg/sec AtomicQueueB, 6,i: 7,562,002 msg/sec AtomicQueueB, 7,s: 6,901,671 msg/sec AtomicQueueB, 7,i: 7,538,155 msg/sec AtomicQueueB, 8,s: 6,228,515 msg/sec AtomicQueueB, 8,i: 6,989,574 msg/sec OptimistAtomicQueue, 1,s: 770,370,918 msg/sec OptimistAtomicQueue, 1,i: 517,891,534 msg/sec OptimistAtomicQueue, 2,s: 32,654,497 msg/sec OptimistAtomicQueue, 2,i: 32,740,785 msg/sec OptimistAtomicQueue, 3,s: 36,696,681 msg/sec OptimistAtomicQueue, 3,i: 37,394,703 msg/sec OptimistAtomicQueue, 4,s: 39,293,876 msg/sec OptimistAtomicQueue, 4,i: 39,413,226 msg/sec OptimistAtomicQueue, 5,s: 42,330,747 msg/sec OptimistAtomicQueue, 5,i: 46,149,843 msg/sec OptimistAtomicQueue, 6,s: 42,468,463 msg/sec OptimistAtomicQueue, 6,i: 50,248,311 msg/sec OptimistAtomicQueue, 7,s: 45,037,564 msg/sec OptimistAtomicQueue, 7,i: 52,966,791 msg/sec OptimistAtomicQueue, 8,s: 46,363,370 msg/sec OptimistAtomicQueue, 8,i: 48,837,141 msg/sec OptimistAtomicQueueB, 1,s: 77,700,791 msg/sec OptimistAtomicQueueB, 1,i: 76,511,477 msg/sec OptimistAtomicQueueB, 2,s: 32,223,002 msg/sec OptimistAtomicQueueB, 2,i: 32,068,335 msg/sec OptimistAtomicQueueB, 3,s: 36,316,552 msg/sec OptimistAtomicQueueB, 3,i: 36,954,468 msg/sec OptimistAtomicQueueB, 4,s: 38,713,303 msg/sec OptimistAtomicQueueB, 4,i: 38,608,492 msg/sec OptimistAtomicQueueB, 5,s: 40,314,011 msg/sec OptimistAtomicQueueB, 5,i: 46,527,824 msg/sec OptimistAtomicQueueB, 6,s: 41,082,323 msg/sec OptimistAtomicQueueB, 6,i: 49,090,202 msg/sec OptimistAtomicQueueB, 7,s: 42,365,287 msg/sec OptimistAtomicQueueB, 7,i: 48,075,821 msg/sec OptimistAtomicQueueB, 8,s: 44,370,099 msg/sec OptimistAtomicQueueB, 8,i: 48,843,516 msg/sec AtomicQueue2, 1,s: 22,910,196 msg/sec AtomicQueue2, 1,i: 22,845,950 msg/sec AtomicQueue2, 2,s: 11,770,231 msg/sec AtomicQueue2, 2,i: 11,388,207 msg/sec AtomicQueue2, 3,s: 9,388,062 msg/sec AtomicQueue2, 3,i: 9,519,969 msg/sec AtomicQueue2, 4,s: 8,093,345 msg/sec AtomicQueue2, 4,i: 8,027,556 msg/sec AtomicQueue2, 5,s: 7,906,428 msg/sec AtomicQueue2, 5,i: 8,033,034 msg/sec AtomicQueue2, 6,s: 7,869,635 msg/sec AtomicQueue2, 6,i: 7,524,095 msg/sec AtomicQueue2, 7,s: 7,149,866 msg/sec AtomicQueue2, 7,i: 7,907,667 msg/sec AtomicQueue2, 8,s: 6,371,418 msg/sec AtomicQueue2, 8,i: 7,331,185 msg/sec AtomicQueueB2, 1,s: 33,426,881 msg/sec AtomicQueueB2, 1,i: 33,451,780 msg/sec AtomicQueueB2, 2,s: 11,318,552 msg/sec AtomicQueueB2, 2,i: 11,097,976 msg/sec AtomicQueueB2, 3,s: 9,723,914 msg/sec AtomicQueueB2, 3,i: 9,514,200 msg/sec AtomicQueueB2, 4,s: 7,946,419 msg/sec AtomicQueueB2, 4,i: 7,886,557 msg/sec AtomicQueueB2, 5,s: 7,495,551 msg/sec AtomicQueueB2, 5,i: 7,739,538 msg/sec AtomicQueueB2, 6,s: 7,221,962 msg/sec AtomicQueueB2, 6,i: 7,442,855 msg/sec AtomicQueueB2, 7,s: 6,961,379 msg/sec AtomicQueueB2, 7,i: 7,715,390 msg/sec AtomicQueueB2, 8,s: 6,254,965 msg/sec AtomicQueueB2, 8,i: 7,104,957 msg/sec OptimistAtomicQueue2, 1,s: 437,572,657 msg/sec OptimistAtomicQueue2, 1,i: 29,571,347 msg/sec OptimistAtomicQueue2, 2,s: 24,264,787 msg/sec OptimistAtomicQueue2, 2,i: 24,015,015 msg/sec OptimistAtomicQueue2, 3,s: 30,301,738 msg/sec OptimistAtomicQueue2, 3,i: 29,932,665 msg/sec OptimistAtomicQueue2, 4,s: 33,327,371 msg/sec OptimistAtomicQueue2, 4,i: 33,178,990 msg/sec OptimistAtomicQueue2, 5,s: 37,222,231 msg/sec OptimistAtomicQueue2, 5,i: 39,981,439 msg/sec OptimistAtomicQueue2, 6,s: 40,245,249 msg/sec OptimistAtomicQueue2, 6,i: 49,097,185 msg/sec OptimistAtomicQueue2, 7,s: 42,788,379 msg/sec OptimistAtomicQueue2, 7,i: 51,593,488 msg/sec OptimistAtomicQueue2, 8,s: 43,921,128 msg/sec OptimistAtomicQueue2, 8,i: 48,338,675 msg/sec OptimistAtomicQueueB2, 1,s: 73,978,707 msg/sec OptimistAtomicQueueB2, 1,i: 33,947,499 msg/sec OptimistAtomicQueueB2, 2,s: 27,891,490 msg/sec OptimistAtomicQueueB2, 2,i: 25,674,129 msg/sec OptimistAtomicQueueB2, 3,s: 29,634,099 msg/sec OptimistAtomicQueueB2, 3,i: 29,193,875 msg/sec OptimistAtomicQueueB2, 4,s: 32,998,105 msg/sec OptimistAtomicQueueB2, 4,i: 32,877,953 msg/sec OptimistAtomicQueueB2, 5,s: 34,504,270 msg/sec OptimistAtomicQueueB2, 5,i: 39,434,055 msg/sec OptimistAtomicQueueB2, 6,s: 37,691,903 msg/sec OptimistAtomicQueueB2, 6,i: 42,237,059 msg/sec OptimistAtomicQueueB2, 7,s: 40,097,306 msg/sec OptimistAtomicQueueB2, 7,i: 45,449,370 msg/sec OptimistAtomicQueueB2, 8,s: 42,268,705 msg/sec OptimistAtomicQueueB2, 8,i: 45,641,854 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000134 sec/round-trip moodycamel::ConcurrentQueue: 0.000000241 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000283 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000368 sec/round-trip xenium::ramalhete_queue: 0.000000272 sec/round-trip xenium::vyukov_bounded_queue: 0.000000184 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000144 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [341] 31m:19s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,222,806 msg/sec boost::lockfree::spsc_queue, 1,i: 68,212,344 msg/sec boost::lockfree::queue, 1,s: 6,877,497 msg/sec boost::lockfree::queue, 1,i: 6,956,438 msg/sec boost::lockfree::queue, 2,s: 7,637,009 msg/sec boost::lockfree::queue, 2,i: 7,519,333 msg/sec boost::lockfree::queue, 3,s: 7,304,373 msg/sec boost::lockfree::queue, 3,i: 7,521,061 msg/sec boost::lockfree::queue, 4,s: 6,426,836 msg/sec boost::lockfree::queue, 4,i: 6,759,120 msg/sec boost::lockfree::queue, 5,s: 6,391,491 msg/sec boost::lockfree::queue, 5,i: 6,488,269 msg/sec boost::lockfree::queue, 6,s: 5,988,098 msg/sec boost::lockfree::queue, 6,i: 6,105,509 msg/sec boost::lockfree::queue, 7,s: 5,812,494 msg/sec boost::lockfree::queue, 7,i: 5,937,764 msg/sec boost::lockfree::queue, 8,s: 5,491,215 msg/sec boost::lockfree::queue, 8,i: 5,586,971 msg/sec moodycamel::ReaderWriterQueue, 1,s: 152,195,129 msg/sec moodycamel::ReaderWriterQueue, 1,i: 69,726,790 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,378,028 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,691,992 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,606,887 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,434,087 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,447,112 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,048,451 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,685,386 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,436,245 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,298,937 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,381,415 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,357,355 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,189,458 msg/sec moodycamel::ConcurrentQueue, 7,s: 48,786,433 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,348,545 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,405,514 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,436,960 msg/sec pthread_spinlock, 1,s: 29,072,758 msg/sec pthread_spinlock, 1,i: 25,464,722 msg/sec pthread_spinlock, 2,s: 15,868,434 msg/sec pthread_spinlock, 2,i: 17,169,645 msg/sec pthread_spinlock, 3,s: 8,332,888 msg/sec pthread_spinlock, 3,i: 12,185,345 msg/sec pthread_spinlock, 4,s: 6,494,734 msg/sec pthread_spinlock, 4,i: 8,991,977 msg/sec pthread_spinlock, 5,s: 8,778,734 msg/sec pthread_spinlock, 5,i: 9,256,162 msg/sec pthread_spinlock, 6,s: 8,287,339 msg/sec pthread_spinlock, 6,i: 8,388,547 msg/sec pthread_spinlock, 7,s: 7,474,988 msg/sec pthread_spinlock, 7,i: 7,604,807 msg/sec pthread_spinlock, 8,s: 6,786,085 msg/sec pthread_spinlock, 8,i: 6,933,584 msg/sec std::mutex, 1,s: 6,893,469 msg/sec std::mutex, 1,i: 6,031,853 msg/sec std::mutex, 2,s: 5,775,985 msg/sec std::mutex, 2,i: 5,509,345 msg/sec std::mutex, 3,s: 5,029,606 msg/sec std::mutex, 3,i: 5,467,265 msg/sec std::mutex, 4,s: 5,587,970 msg/sec std::mutex, 4,i: 6,251,220 msg/sec std::mutex, 5,s: 6,014,100 msg/sec std::mutex, 5,i: 6,186,045 msg/sec std::mutex, 6,s: 5,881,400 msg/sec std::mutex, 6,i: 5,829,756 msg/sec std::mutex, 7,s: 5,800,529 msg/sec std::mutex, 7,i: 5,763,459 msg/sec std::mutex, 8,s: 5,662,127 msg/sec std::mutex, 8,i: 5,643,635 msg/sec tbb::spin_mutex, 1,s: 37,660,987 msg/sec tbb::spin_mutex, 1,i: 33,077,753 msg/sec tbb::spin_mutex, 2,s: 21,109,988 msg/sec tbb::spin_mutex, 2,i: 18,754,285 msg/sec tbb::spin_mutex, 3,s: 8,372,136 msg/sec tbb::spin_mutex, 3,i: 10,997,475 msg/sec tbb::spin_mutex, 4,s: 3,217,268 msg/sec tbb::spin_mutex, 4,i: 6,366,341 msg/sec tbb::spin_mutex, 5,s: 5,500,989 msg/sec tbb::spin_mutex, 5,i: 5,741,957 msg/sec tbb::spin_mutex, 6,s: 5,328,369 msg/sec tbb::spin_mutex, 6,i: 4,333,589 msg/sec tbb::spin_mutex, 7,s: 4,847,220 msg/sec tbb::spin_mutex, 7,i: 4,354,308 msg/sec tbb::spin_mutex, 8,s: 4,276,340 msg/sec tbb::spin_mutex, 8,i: 4,081,285 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,193,312 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,149,042 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,967,585 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,806,737 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,467,992 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,768,685 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,069,032 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,543,824 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,533,119 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,550,302 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,776,511 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,652,418 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,793,914 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,798,090 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,086,099 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,083,500 msg/sec xenium::michael_scott_queue, 1,s: 9,452,373 msg/sec xenium::michael_scott_queue, 1,i: 9,327,018 msg/sec xenium::michael_scott_queue, 2,s: 8,521,932 msg/sec xenium::michael_scott_queue, 2,i: 8,549,765 msg/sec xenium::michael_scott_queue, 3,s: 7,272,563 msg/sec xenium::michael_scott_queue, 3,i: 7,558,904 msg/sec xenium::michael_scott_queue, 4,s: 6,338,809 msg/sec xenium::michael_scott_queue, 4,i: 6,355,039 msg/sec xenium::michael_scott_queue, 5,s: 6,340,920 msg/sec xenium::michael_scott_queue, 5,i: 6,652,340 msg/sec xenium::michael_scott_queue, 6,s: 6,512,901 msg/sec xenium::michael_scott_queue, 6,i: 6,642,595 msg/sec xenium::michael_scott_queue, 7,s: 6,384,702 msg/sec xenium::michael_scott_queue, 7,i: 6,415,140 msg/sec xenium::michael_scott_queue, 8,s: 6,000,829 msg/sec xenium::michael_scott_queue, 8,i: 6,246,297 msg/sec xenium::ramalhete_queue, 1,s: 31,919,808 msg/sec xenium::ramalhete_queue, 1,i: 31,937,171 msg/sec xenium::ramalhete_queue, 2,s: 23,598,028 msg/sec xenium::ramalhete_queue, 2,i: 23,431,810 msg/sec xenium::ramalhete_queue, 3,s: 29,121,770 msg/sec xenium::ramalhete_queue, 3,i: 28,394,247 msg/sec xenium::ramalhete_queue, 4,s: 33,792,130 msg/sec xenium::ramalhete_queue, 4,i: 33,438,175 msg/sec xenium::ramalhete_queue, 5,s: 31,977,492 msg/sec xenium::ramalhete_queue, 5,i: 38,549,256 msg/sec xenium::ramalhete_queue, 6,s: 34,035,717 msg/sec xenium::ramalhete_queue, 6,i: 38,850,790 msg/sec xenium::ramalhete_queue, 7,s: 35,340,928 msg/sec xenium::ramalhete_queue, 7,i: 41,351,572 msg/sec xenium::ramalhete_queue, 8,s: 35,567,025 msg/sec xenium::ramalhete_queue, 8,i: 44,388,191 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,492,383 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,770,529 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,421,047 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,428,729 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,597,834 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,649,827 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,543,486 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,305,683 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,908,058 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,337,775 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,021,352 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,492,927 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,235,810 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,890,102 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,413,892 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,545,816 msg/sec AtomicQueue, 1,s: 82,504,200 msg/sec AtomicQueue, 1,i: 56,758,948 msg/sec AtomicQueue, 2,s: 12,330,186 msg/sec AtomicQueue, 2,i: 11,755,477 msg/sec AtomicQueue, 3,s: 10,817,788 msg/sec AtomicQueue, 3,i: 9,898,678 msg/sec AtomicQueue, 4,s: 8,195,068 msg/sec AtomicQueue, 4,i: 8,198,336 msg/sec AtomicQueue, 5,s: 8,014,265 msg/sec AtomicQueue, 5,i: 8,107,435 msg/sec AtomicQueue, 6,s: 7,815,110 msg/sec AtomicQueue, 6,i: 7,617,675 msg/sec AtomicQueue, 7,s: 7,063,481 msg/sec AtomicQueue, 7,i: 7,957,114 msg/sec AtomicQueue, 8,s: 6,360,416 msg/sec AtomicQueue, 8,i: 7,462,648 msg/sec AtomicQueueB, 1,s: 44,523,171 msg/sec AtomicQueueB, 1,i: 43,226,774 msg/sec AtomicQueueB, 2,s: 11,791,000 msg/sec AtomicQueueB, 2,i: 11,521,495 msg/sec AtomicQueueB, 3,s: 10,966,532 msg/sec AtomicQueueB, 3,i: 10,243,385 msg/sec AtomicQueueB, 4,s: 8,058,829 msg/sec AtomicQueueB, 4,i: 7,990,771 msg/sec AtomicQueueB, 5,s: 7,680,275 msg/sec AtomicQueueB, 5,i: 7,768,559 msg/sec AtomicQueueB, 6,s: 7,409,855 msg/sec AtomicQueueB, 6,i: 7,541,614 msg/sec AtomicQueueB, 7,s: 6,888,281 msg/sec AtomicQueueB, 7,i: 7,717,388 msg/sec AtomicQueueB, 8,s: 6,306,241 msg/sec AtomicQueueB, 8,i: 7,189,810 msg/sec OptimistAtomicQueue, 1,s: 722,404,769 msg/sec OptimistAtomicQueue, 1,i: 537,564,178 msg/sec OptimistAtomicQueue, 2,s: 32,205,155 msg/sec OptimistAtomicQueue, 2,i: 32,105,832 msg/sec OptimistAtomicQueue, 3,s: 36,625,703 msg/sec OptimistAtomicQueue, 3,i: 37,337,328 msg/sec OptimistAtomicQueue, 4,s: 39,243,677 msg/sec OptimistAtomicQueue, 4,i: 39,380,034 msg/sec OptimistAtomicQueue, 5,s: 42,501,977 msg/sec OptimistAtomicQueue, 5,i: 48,017,066 msg/sec OptimistAtomicQueue, 6,s: 42,637,830 msg/sec OptimistAtomicQueue, 6,i: 50,433,221 msg/sec OptimistAtomicQueue, 7,s: 44,369,267 msg/sec OptimistAtomicQueue, 7,i: 52,903,834 msg/sec OptimistAtomicQueue, 8,s: 46,476,263 msg/sec OptimistAtomicQueue, 8,i: 50,377,637 msg/sec OptimistAtomicQueueB, 1,s: 266,026,040 msg/sec OptimistAtomicQueueB, 1,i: 76,434,722 msg/sec OptimistAtomicQueueB, 2,s: 32,232,731 msg/sec OptimistAtomicQueueB, 2,i: 32,170,464 msg/sec OptimistAtomicQueueB, 3,s: 36,327,662 msg/sec OptimistAtomicQueueB, 3,i: 36,957,612 msg/sec OptimistAtomicQueueB, 4,s: 38,706,202 msg/sec OptimistAtomicQueueB, 4,i: 38,601,727 msg/sec OptimistAtomicQueueB, 5,s: 41,258,704 msg/sec OptimistAtomicQueueB, 5,i: 45,477,063 msg/sec OptimistAtomicQueueB, 6,s: 41,106,947 msg/sec OptimistAtomicQueueB, 6,i: 48,986,344 msg/sec OptimistAtomicQueueB, 7,s: 42,331,266 msg/sec OptimistAtomicQueueB, 7,i: 47,931,092 msg/sec OptimistAtomicQueueB, 8,s: 43,899,112 msg/sec OptimistAtomicQueueB, 8,i: 47,792,322 msg/sec AtomicQueue2, 1,s: 23,480,339 msg/sec AtomicQueue2, 1,i: 23,387,503 msg/sec AtomicQueue2, 2,s: 11,763,042 msg/sec AtomicQueue2, 2,i: 11,645,628 msg/sec AtomicQueue2, 3,s: 9,612,580 msg/sec AtomicQueue2, 3,i: 9,364,947 msg/sec AtomicQueue2, 4,s: 8,061,875 msg/sec AtomicQueue2, 4,i: 8,045,346 msg/sec AtomicQueue2, 5,s: 7,888,965 msg/sec AtomicQueue2, 5,i: 8,023,776 msg/sec AtomicQueue2, 6,s: 7,699,138 msg/sec AtomicQueue2, 6,i: 7,516,665 msg/sec AtomicQueue2, 7,s: 7,068,550 msg/sec AtomicQueue2, 7,i: 7,903,536 msg/sec AtomicQueue2, 8,s: 6,401,190 msg/sec AtomicQueue2, 8,i: 7,379,839 msg/sec AtomicQueueB2, 1,s: 36,300,226 msg/sec AtomicQueueB2, 1,i: 32,655,007 msg/sec AtomicQueueB2, 2,s: 11,397,679 msg/sec AtomicQueueB2, 2,i: 11,078,704 msg/sec AtomicQueueB2, 3,s: 9,650,903 msg/sec AtomicQueueB2, 3,i: 9,551,375 msg/sec AtomicQueueB2, 4,s: 7,898,718 msg/sec AtomicQueueB2, 4,i: 7,847,212 msg/sec AtomicQueueB2, 5,s: 7,513,664 msg/sec AtomicQueueB2, 5,i: 7,704,238 msg/sec AtomicQueueB2, 6,s: 7,298,735 msg/sec AtomicQueueB2, 6,i: 7,441,851 msg/sec AtomicQueueB2, 7,s: 6,882,391 msg/sec AtomicQueueB2, 7,i: 7,716,907 msg/sec AtomicQueueB2, 8,s: 6,302,525 msg/sec AtomicQueueB2, 8,i: 7,071,844 msg/sec OptimistAtomicQueue2, 1,s: 68,702,234 msg/sec OptimistAtomicQueue2, 1,i: 29,755,486 msg/sec OptimistAtomicQueue2, 2,s: 24,266,180 msg/sec OptimistAtomicQueue2, 2,i: 24,024,314 msg/sec OptimistAtomicQueue2, 3,s: 29,846,021 msg/sec OptimistAtomicQueue2, 3,i: 30,598,469 msg/sec OptimistAtomicQueue2, 4,s: 33,392,591 msg/sec OptimistAtomicQueue2, 4,i: 33,043,603 msg/sec OptimistAtomicQueue2, 5,s: 37,311,258 msg/sec OptimistAtomicQueue2, 5,i: 41,600,565 msg/sec OptimistAtomicQueue2, 6,s: 40,042,052 msg/sec OptimistAtomicQueue2, 6,i: 48,832,590 msg/sec OptimistAtomicQueue2, 7,s: 43,172,549 msg/sec OptimistAtomicQueue2, 7,i: 48,253,585 msg/sec OptimistAtomicQueue2, 8,s: 43,855,687 msg/sec OptimistAtomicQueue2, 8,i: 49,772,185 msg/sec OptimistAtomicQueueB2, 1,s: 75,973,467 msg/sec OptimistAtomicQueueB2, 1,i: 33,921,001 msg/sec OptimistAtomicQueueB2, 2,s: 26,900,641 msg/sec OptimistAtomicQueueB2, 2,i: 23,203,970 msg/sec OptimistAtomicQueueB2, 3,s: 30,012,629 msg/sec OptimistAtomicQueueB2, 3,i: 29,907,103 msg/sec OptimistAtomicQueueB2, 4,s: 33,295,353 msg/sec OptimistAtomicQueueB2, 4,i: 32,369,571 msg/sec OptimistAtomicQueueB2, 5,s: 34,563,392 msg/sec OptimistAtomicQueueB2, 5,i: 39,039,842 msg/sec OptimistAtomicQueueB2, 6,s: 37,454,886 msg/sec OptimistAtomicQueueB2, 6,i: 42,194,930 msg/sec OptimistAtomicQueueB2, 7,s: 40,319,708 msg/sec OptimistAtomicQueueB2, 7,i: 43,060,778 msg/sec OptimistAtomicQueueB2, 8,s: 42,212,080 msg/sec OptimistAtomicQueueB2, 8,i: 45,456,347 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000324 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000117 sec/round-trip moodycamel::ConcurrentQueue: 0.000000232 sec/round-trip pthread_spinlock: 0.000000291 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000140 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [342] 29m:59s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,080,851 msg/sec boost::lockfree::spsc_queue, 1,i: 65,966,657 msg/sec boost::lockfree::queue, 1,s: 6,899,447 msg/sec boost::lockfree::queue, 1,i: 6,916,913 msg/sec boost::lockfree::queue, 2,s: 7,613,243 msg/sec boost::lockfree::queue, 2,i: 7,546,105 msg/sec boost::lockfree::queue, 3,s: 7,561,046 msg/sec boost::lockfree::queue, 3,i: 7,536,100 msg/sec boost::lockfree::queue, 4,s: 6,420,602 msg/sec boost::lockfree::queue, 4,i: 6,869,123 msg/sec boost::lockfree::queue, 5,s: 6,447,659 msg/sec boost::lockfree::queue, 5,i: 6,536,746 msg/sec boost::lockfree::queue, 6,s: 6,045,116 msg/sec boost::lockfree::queue, 6,i: 6,173,912 msg/sec boost::lockfree::queue, 7,s: 5,915,614 msg/sec boost::lockfree::queue, 7,i: 6,051,191 msg/sec boost::lockfree::queue, 8,s: 5,434,184 msg/sec boost::lockfree::queue, 8,i: 5,617,421 msg/sec moodycamel::ReaderWriterQueue, 1,s: 429,225,030 msg/sec moodycamel::ReaderWriterQueue, 1,i: 432,117,057 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,333,994 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,979,262 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,971,714 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,260,388 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,070,680 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,337,904 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,341,697 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,956,625 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,331,071 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,617,876 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,376,286 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,797,078 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,138,222 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,949,060 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,232,671 msg/sec moodycamel::ConcurrentQueue, 8,i: 39,422,408 msg/sec pthread_spinlock, 1,s: 28,905,162 msg/sec pthread_spinlock, 1,i: 25,355,718 msg/sec pthread_spinlock, 2,s: 16,136,023 msg/sec pthread_spinlock, 2,i: 16,889,600 msg/sec pthread_spinlock, 3,s: 8,391,444 msg/sec pthread_spinlock, 3,i: 11,985,428 msg/sec pthread_spinlock, 4,s: 6,531,058 msg/sec pthread_spinlock, 4,i: 9,283,766 msg/sec pthread_spinlock, 5,s: 8,717,182 msg/sec pthread_spinlock, 5,i: 9,044,600 msg/sec pthread_spinlock, 6,s: 8,512,491 msg/sec pthread_spinlock, 6,i: 8,388,988 msg/sec pthread_spinlock, 7,s: 8,003,816 msg/sec pthread_spinlock, 7,i: 7,547,219 msg/sec pthread_spinlock, 8,s: 6,645,706 msg/sec pthread_spinlock, 8,i: 6,858,700 msg/sec std::mutex, 1,s: 6,703,368 msg/sec std::mutex, 1,i: 7,437,787 msg/sec std::mutex, 2,s: 6,176,851 msg/sec std::mutex, 2,i: 5,808,509 msg/sec std::mutex, 3,s: 4,868,464 msg/sec std::mutex, 3,i: 5,494,367 msg/sec std::mutex, 4,s: 6,162,700 msg/sec std::mutex, 4,i: 6,197,962 msg/sec std::mutex, 5,s: 6,034,719 msg/sec std::mutex, 5,i: 5,969,821 msg/sec std::mutex, 6,s: 5,846,109 msg/sec std::mutex, 6,i: 5,846,822 msg/sec std::mutex, 7,s: 5,802,389 msg/sec std::mutex, 7,i: 5,772,915 msg/sec std::mutex, 8,s: 5,715,765 msg/sec std::mutex, 8,i: 5,651,043 msg/sec tbb::spin_mutex, 1,s: 37,773,636 msg/sec tbb::spin_mutex, 1,i: 37,744,098 msg/sec tbb::spin_mutex, 2,s: 21,118,936 msg/sec tbb::spin_mutex, 2,i: 18,611,659 msg/sec tbb::spin_mutex, 3,s: 7,619,599 msg/sec tbb::spin_mutex, 3,i: 11,063,451 msg/sec tbb::spin_mutex, 4,s: 3,145,871 msg/sec tbb::spin_mutex, 4,i: 6,308,734 msg/sec tbb::spin_mutex, 5,s: 5,517,480 msg/sec tbb::spin_mutex, 5,i: 5,762,983 msg/sec tbb::spin_mutex, 6,s: 5,327,188 msg/sec tbb::spin_mutex, 6,i: 4,428,127 msg/sec tbb::spin_mutex, 7,s: 4,873,189 msg/sec tbb::spin_mutex, 7,i: 4,289,514 msg/sec tbb::spin_mutex, 8,s: 4,225,321 msg/sec tbb::spin_mutex, 8,i: 4,158,927 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,991,413 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,329,816 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,820,244 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,964,561 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,499,430 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,793,436 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,990,609 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,319,388 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,489,665 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,615,345 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,763,857 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,739,366 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,896,275 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,149,226 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,899,913 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,514,694 msg/sec xenium::michael_scott_queue, 1,s: 10,143,512 msg/sec xenium::michael_scott_queue, 1,i: 9,944,549 msg/sec xenium::michael_scott_queue, 2,s: 8,469,610 msg/sec xenium::michael_scott_queue, 2,i: 8,483,751 msg/sec xenium::michael_scott_queue, 3,s: 7,225,055 msg/sec xenium::michael_scott_queue, 3,i: 7,620,552 msg/sec xenium::michael_scott_queue, 4,s: 6,411,894 msg/sec xenium::michael_scott_queue, 4,i: 6,386,622 msg/sec xenium::michael_scott_queue, 5,s: 6,328,265 msg/sec xenium::michael_scott_queue, 5,i: 6,645,077 msg/sec xenium::michael_scott_queue, 6,s: 6,481,000 msg/sec xenium::michael_scott_queue, 6,i: 6,886,599 msg/sec xenium::michael_scott_queue, 7,s: 6,294,590 msg/sec xenium::michael_scott_queue, 7,i: 6,515,132 msg/sec xenium::michael_scott_queue, 8,s: 6,006,090 msg/sec xenium::michael_scott_queue, 8,i: 6,167,802 msg/sec xenium::ramalhete_queue, 1,s: 27,547,497 msg/sec xenium::ramalhete_queue, 1,i: 28,376,101 msg/sec xenium::ramalhete_queue, 2,s: 23,516,773 msg/sec xenium::ramalhete_queue, 2,i: 23,349,887 msg/sec xenium::ramalhete_queue, 3,s: 29,313,307 msg/sec xenium::ramalhete_queue, 3,i: 28,411,546 msg/sec xenium::ramalhete_queue, 4,s: 33,811,844 msg/sec xenium::ramalhete_queue, 4,i: 33,387,049 msg/sec xenium::ramalhete_queue, 5,s: 32,080,330 msg/sec xenium::ramalhete_queue, 5,i: 36,091,521 msg/sec xenium::ramalhete_queue, 6,s: 34,067,301 msg/sec xenium::ramalhete_queue, 6,i: 40,156,775 msg/sec xenium::ramalhete_queue, 7,s: 35,202,216 msg/sec xenium::ramalhete_queue, 7,i: 41,157,371 msg/sec xenium::ramalhete_queue, 8,s: 35,447,116 msg/sec xenium::ramalhete_queue, 8,i: 43,670,519 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,113,533 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,895,500 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,921,119 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,754,302 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,606,499 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,906,408 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,584,383 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,142,465 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,405,238 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,421,156 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,099,783 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,468,290 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,226,688 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,196,507 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,379,135 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,346,725 msg/sec AtomicQueue, 1,s: 59,471,746 msg/sec AtomicQueue, 1,i: 56,349,626 msg/sec AtomicQueue, 2,s: 12,237,629 msg/sec AtomicQueue, 2,i: 11,767,420 msg/sec AtomicQueue, 3,s: 10,776,983 msg/sec AtomicQueue, 3,i: 9,899,327 msg/sec AtomicQueue, 4,s: 8,190,808 msg/sec AtomicQueue, 4,i: 8,214,452 msg/sec AtomicQueue, 5,s: 8,018,694 msg/sec AtomicQueue, 5,i: 8,063,382 msg/sec AtomicQueue, 6,s: 7,837,117 msg/sec AtomicQueue, 6,i: 7,610,747 msg/sec AtomicQueue, 7,s: 7,173,459 msg/sec AtomicQueue, 7,i: 7,985,459 msg/sec AtomicQueue, 8,s: 6,333,146 msg/sec AtomicQueue, 8,i: 7,448,458 msg/sec AtomicQueueB, 1,s: 43,974,751 msg/sec AtomicQueueB, 1,i: 43,644,545 msg/sec AtomicQueueB, 2,s: 11,726,744 msg/sec AtomicQueueB, 2,i: 11,449,003 msg/sec AtomicQueueB, 3,s: 10,979,187 msg/sec AtomicQueueB, 3,i: 10,163,005 msg/sec AtomicQueueB, 4,s: 8,081,883 msg/sec AtomicQueueB, 4,i: 7,966,526 msg/sec AtomicQueueB, 5,s: 7,600,250 msg/sec AtomicQueueB, 5,i: 7,810,694 msg/sec AtomicQueueB, 6,s: 7,133,404 msg/sec AtomicQueueB, 6,i: 7,595,044 msg/sec AtomicQueueB, 7,s: 6,848,300 msg/sec AtomicQueueB, 7,i: 7,744,167 msg/sec AtomicQueueB, 8,s: 6,283,597 msg/sec AtomicQueueB, 8,i: 7,214,447 msg/sec OptimistAtomicQueue, 1,s: 778,233,887 msg/sec OptimistAtomicQueue, 1,i: 561,372,544 msg/sec OptimistAtomicQueue, 2,s: 32,615,906 msg/sec OptimistAtomicQueue, 2,i: 32,643,447 msg/sec OptimistAtomicQueue, 3,s: 36,678,107 msg/sec OptimistAtomicQueue, 3,i: 37,422,585 msg/sec OptimistAtomicQueue, 4,s: 39,285,067 msg/sec OptimistAtomicQueue, 4,i: 39,346,111 msg/sec OptimistAtomicQueue, 5,s: 39,715,429 msg/sec OptimistAtomicQueue, 5,i: 47,369,879 msg/sec OptimistAtomicQueue, 6,s: 42,188,768 msg/sec OptimistAtomicQueue, 6,i: 49,880,355 msg/sec OptimistAtomicQueue, 7,s: 45,279,307 msg/sec OptimistAtomicQueue, 7,i: 52,989,310 msg/sec OptimistAtomicQueue, 8,s: 46,222,360 msg/sec OptimistAtomicQueue, 8,i: 48,877,580 msg/sec OptimistAtomicQueueB, 1,s: 542,474,756 msg/sec OptimistAtomicQueueB, 1,i: 141,748,030 msg/sec OptimistAtomicQueueB, 2,s: 31,549,494 msg/sec OptimistAtomicQueueB, 2,i: 32,319,683 msg/sec OptimistAtomicQueueB, 3,s: 36,307,986 msg/sec OptimistAtomicQueueB, 3,i: 36,974,883 msg/sec OptimistAtomicQueueB, 4,s: 38,721,742 msg/sec OptimistAtomicQueueB, 4,i: 38,761,529 msg/sec OptimistAtomicQueueB, 5,s: 41,016,921 msg/sec OptimistAtomicQueueB, 5,i: 45,448,669 msg/sec OptimistAtomicQueueB, 6,s: 41,211,939 msg/sec OptimistAtomicQueueB, 6,i: 49,239,401 msg/sec OptimistAtomicQueueB, 7,s: 42,729,281 msg/sec OptimistAtomicQueueB, 7,i: 50,656,792 msg/sec OptimistAtomicQueueB, 8,s: 44,434,262 msg/sec OptimistAtomicQueueB, 8,i: 47,989,573 msg/sec AtomicQueue2, 1,s: 22,884,251 msg/sec AtomicQueue2, 1,i: 22,881,658 msg/sec AtomicQueue2, 2,s: 11,748,427 msg/sec AtomicQueue2, 2,i: 11,409,988 msg/sec AtomicQueue2, 3,s: 9,415,373 msg/sec AtomicQueue2, 3,i: 9,473,280 msg/sec AtomicQueue2, 4,s: 8,034,882 msg/sec AtomicQueue2, 4,i: 8,008,146 msg/sec AtomicQueue2, 5,s: 7,891,217 msg/sec AtomicQueue2, 5,i: 8,015,564 msg/sec AtomicQueue2, 6,s: 7,735,812 msg/sec AtomicQueue2, 6,i: 7,541,801 msg/sec AtomicQueue2, 7,s: 7,114,705 msg/sec AtomicQueue2, 7,i: 7,918,297 msg/sec AtomicQueue2, 8,s: 6,383,134 msg/sec AtomicQueue2, 8,i: 7,378,215 msg/sec AtomicQueueB2, 1,s: 36,478,398 msg/sec AtomicQueueB2, 1,i: 32,618,914 msg/sec AtomicQueueB2, 2,s: 11,386,597 msg/sec AtomicQueueB2, 2,i: 11,099,071 msg/sec AtomicQueueB2, 3,s: 9,707,295 msg/sec AtomicQueueB2, 3,i: 9,559,627 msg/sec AtomicQueueB2, 4,s: 7,917,640 msg/sec AtomicQueueB2, 4,i: 7,946,842 msg/sec AtomicQueueB2, 5,s: 7,539,839 msg/sec AtomicQueueB2, 5,i: 7,724,105 msg/sec AtomicQueueB2, 6,s: 7,275,790 msg/sec AtomicQueueB2, 6,i: 7,405,157 msg/sec AtomicQueueB2, 7,s: 6,864,703 msg/sec AtomicQueueB2, 7,i: 7,713,002 msg/sec AtomicQueueB2, 8,s: 6,262,270 msg/sec AtomicQueueB2, 8,i: 7,069,073 msg/sec OptimistAtomicQueue2, 1,s: 422,468,077 msg/sec OptimistAtomicQueue2, 1,i: 43,152,383 msg/sec OptimistAtomicQueue2, 2,s: 25,316,651 msg/sec OptimistAtomicQueue2, 2,i: 24,079,998 msg/sec OptimistAtomicQueue2, 3,s: 31,406,091 msg/sec OptimistAtomicQueue2, 3,i: 29,962,362 msg/sec OptimistAtomicQueue2, 4,s: 33,188,729 msg/sec OptimistAtomicQueue2, 4,i: 33,124,585 msg/sec OptimistAtomicQueue2, 5,s: 37,000,707 msg/sec OptimistAtomicQueue2, 5,i: 40,235,782 msg/sec OptimistAtomicQueue2, 6,s: 40,133,122 msg/sec OptimistAtomicQueue2, 6,i: 49,362,043 msg/sec OptimistAtomicQueue2, 7,s: 42,883,266 msg/sec OptimistAtomicQueue2, 7,i: 48,182,064 msg/sec OptimistAtomicQueue2, 8,s: 43,977,306 msg/sec OptimistAtomicQueue2, 8,i: 48,380,472 msg/sec OptimistAtomicQueueB2, 1,s: 77,872,966 msg/sec OptimistAtomicQueueB2, 1,i: 33,941,094 msg/sec OptimistAtomicQueueB2, 2,s: 27,196,788 msg/sec OptimistAtomicQueueB2, 2,i: 27,597,168 msg/sec OptimistAtomicQueueB2, 3,s: 29,776,657 msg/sec OptimistAtomicQueueB2, 3,i: 34,057,706 msg/sec OptimistAtomicQueueB2, 4,s: 33,245,398 msg/sec OptimistAtomicQueueB2, 4,i: 32,113,342 msg/sec OptimistAtomicQueueB2, 5,s: 34,559,514 msg/sec OptimistAtomicQueueB2, 5,i: 39,745,393 msg/sec OptimistAtomicQueueB2, 6,s: 37,241,806 msg/sec OptimistAtomicQueueB2, 6,i: 42,252,868 msg/sec OptimistAtomicQueueB2, 7,s: 40,038,784 msg/sec OptimistAtomicQueueB2, 7,i: 45,632,386 msg/sec OptimistAtomicQueueB2, 8,s: 42,017,606 msg/sec OptimistAtomicQueueB2, 8,i: 45,900,913 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000157 sec/round-trip moodycamel::ConcurrentQueue: 0.000000236 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000257 sec/round-trip tbb::concurrent_bounded_queue: 0.000000286 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000186 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [343] 28m:40s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,454,730 msg/sec boost::lockfree::spsc_queue, 1,i: 68,593,408 msg/sec boost::lockfree::queue, 1,s: 6,789,321 msg/sec boost::lockfree::queue, 1,i: 6,880,515 msg/sec boost::lockfree::queue, 2,s: 7,640,809 msg/sec boost::lockfree::queue, 2,i: 7,553,189 msg/sec boost::lockfree::queue, 3,s: 7,336,474 msg/sec boost::lockfree::queue, 3,i: 7,601,849 msg/sec boost::lockfree::queue, 4,s: 6,423,977 msg/sec boost::lockfree::queue, 4,i: 6,823,864 msg/sec boost::lockfree::queue, 5,s: 6,433,322 msg/sec boost::lockfree::queue, 5,i: 6,493,775 msg/sec boost::lockfree::queue, 6,s: 5,989,652 msg/sec boost::lockfree::queue, 6,i: 6,139,254 msg/sec boost::lockfree::queue, 7,s: 6,109,663 msg/sec boost::lockfree::queue, 7,i: 6,027,666 msg/sec boost::lockfree::queue, 8,s: 5,493,722 msg/sec boost::lockfree::queue, 8,i: 5,589,711 msg/sec moodycamel::ReaderWriterQueue, 1,s: 97,763,704 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,998,484 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,028,198 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,923,607 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,865,480 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,229,305 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,807,764 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,612,579 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,942,176 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,004,369 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,116,141 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,154,724 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,459,184 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,201,484 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,993,537 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,096,973 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,255,202 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,246,970 msg/sec pthread_spinlock, 1,s: 28,815,789 msg/sec pthread_spinlock, 1,i: 25,325,967 msg/sec pthread_spinlock, 2,s: 16,084,780 msg/sec pthread_spinlock, 2,i: 16,917,394 msg/sec pthread_spinlock, 3,s: 8,321,987 msg/sec pthread_spinlock, 3,i: 12,064,036 msg/sec pthread_spinlock, 4,s: 6,483,033 msg/sec pthread_spinlock, 4,i: 9,166,437 msg/sec pthread_spinlock, 5,s: 8,591,224 msg/sec pthread_spinlock, 5,i: 9,635,450 msg/sec pthread_spinlock, 6,s: 8,354,792 msg/sec pthread_spinlock, 6,i: 8,511,597 msg/sec pthread_spinlock, 7,s: 7,672,907 msg/sec pthread_spinlock, 7,i: 7,944,587 msg/sec pthread_spinlock, 8,s: 6,822,297 msg/sec pthread_spinlock, 8,i: 6,846,624 msg/sec std::mutex, 1,s: 5,777,819 msg/sec std::mutex, 1,i: 7,351,929 msg/sec std::mutex, 2,s: 6,402,004 msg/sec std::mutex, 2,i: 6,167,823 msg/sec std::mutex, 3,s: 5,072,196 msg/sec std::mutex, 3,i: 5,138,728 msg/sec std::mutex, 4,s: 5,722,791 msg/sec std::mutex, 4,i: 5,421,583 msg/sec std::mutex, 5,s: 5,634,936 msg/sec std::mutex, 5,i: 6,060,141 msg/sec std::mutex, 6,s: 5,872,539 msg/sec std::mutex, 6,i: 5,867,791 msg/sec std::mutex, 7,s: 5,814,571 msg/sec std::mutex, 7,i: 5,776,624 msg/sec std::mutex, 8,s: 5,652,998 msg/sec std::mutex, 8,i: 5,662,382 msg/sec tbb::spin_mutex, 1,s: 37,632,817 msg/sec tbb::spin_mutex, 1,i: 33,324,414 msg/sec tbb::spin_mutex, 2,s: 21,140,971 msg/sec tbb::spin_mutex, 2,i: 18,448,202 msg/sec tbb::spin_mutex, 3,s: 8,733,247 msg/sec tbb::spin_mutex, 3,i: 11,070,146 msg/sec tbb::spin_mutex, 4,s: 3,153,127 msg/sec tbb::spin_mutex, 4,i: 6,313,606 msg/sec tbb::spin_mutex, 5,s: 5,553,011 msg/sec tbb::spin_mutex, 5,i: 5,782,464 msg/sec tbb::spin_mutex, 6,s: 5,238,595 msg/sec tbb::spin_mutex, 6,i: 4,434,143 msg/sec tbb::spin_mutex, 7,s: 4,859,560 msg/sec tbb::spin_mutex, 7,i: 4,337,807 msg/sec tbb::spin_mutex, 8,s: 4,241,644 msg/sec tbb::spin_mutex, 8,i: 4,154,062 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,226,257 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,735,852 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,785,605 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,821,194 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,349,028 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,620,121 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,343,761 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,248,344 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,732,140 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,781,280 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,710,836 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,956,050 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,805,411 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,065,244 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,903,513 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,100,757 msg/sec xenium::michael_scott_queue, 1,s: 10,017,743 msg/sec xenium::michael_scott_queue, 1,i: 10,083,908 msg/sec xenium::michael_scott_queue, 2,s: 8,504,089 msg/sec xenium::michael_scott_queue, 2,i: 8,555,495 msg/sec xenium::michael_scott_queue, 3,s: 7,171,102 msg/sec xenium::michael_scott_queue, 3,i: 7,548,375 msg/sec xenium::michael_scott_queue, 4,s: 6,347,080 msg/sec xenium::michael_scott_queue, 4,i: 6,332,226 msg/sec xenium::michael_scott_queue, 5,s: 6,311,751 msg/sec xenium::michael_scott_queue, 5,i: 6,708,718 msg/sec xenium::michael_scott_queue, 6,s: 6,533,359 msg/sec xenium::michael_scott_queue, 6,i: 6,707,606 msg/sec xenium::michael_scott_queue, 7,s: 6,327,018 msg/sec xenium::michael_scott_queue, 7,i: 6,520,985 msg/sec xenium::michael_scott_queue, 8,s: 6,057,204 msg/sec xenium::michael_scott_queue, 8,i: 6,293,227 msg/sec xenium::ramalhete_queue, 1,s: 31,382,223 msg/sec xenium::ramalhete_queue, 1,i: 31,655,154 msg/sec xenium::ramalhete_queue, 2,s: 23,650,783 msg/sec xenium::ramalhete_queue, 2,i: 23,309,525 msg/sec xenium::ramalhete_queue, 3,s: 29,290,019 msg/sec xenium::ramalhete_queue, 3,i: 28,424,766 msg/sec xenium::ramalhete_queue, 4,s: 33,751,756 msg/sec xenium::ramalhete_queue, 4,i: 33,400,795 msg/sec xenium::ramalhete_queue, 5,s: 31,949,999 msg/sec xenium::ramalhete_queue, 5,i: 36,036,420 msg/sec xenium::ramalhete_queue, 6,s: 33,997,902 msg/sec xenium::ramalhete_queue, 6,i: 39,657,322 msg/sec xenium::ramalhete_queue, 7,s: 35,250,493 msg/sec xenium::ramalhete_queue, 7,i: 41,898,405 msg/sec xenium::ramalhete_queue, 8,s: 35,500,144 msg/sec xenium::ramalhete_queue, 8,i: 43,906,399 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,995,792 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,812,004 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,098,497 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,965,984 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,539,530 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,850,808 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,636,809 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,189,036 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,012,339 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,437,910 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,828,517 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,456,530 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,183,259 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,279,583 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,408,972 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,321,692 msg/sec AtomicQueue, 1,s: 59,744,796 msg/sec AtomicQueue, 1,i: 56,669,218 msg/sec AtomicQueue, 2,s: 12,367,222 msg/sec AtomicQueue, 2,i: 11,716,199 msg/sec AtomicQueue, 3,s: 10,789,896 msg/sec AtomicQueue, 3,i: 9,952,661 msg/sec AtomicQueue, 4,s: 8,184,969 msg/sec AtomicQueue, 4,i: 8,217,074 msg/sec AtomicQueue, 5,s: 8,028,741 msg/sec AtomicQueue, 5,i: 7,999,324 msg/sec AtomicQueue, 6,s: 7,818,639 msg/sec AtomicQueue, 6,i: 7,615,468 msg/sec AtomicQueue, 7,s: 7,077,613 msg/sec AtomicQueue, 7,i: 7,973,576 msg/sec AtomicQueue, 8,s: 6,318,115 msg/sec AtomicQueue, 8,i: 7,440,967 msg/sec AtomicQueueB, 1,s: 56,491,023 msg/sec AtomicQueueB, 1,i: 43,703,594 msg/sec AtomicQueueB, 2,s: 11,847,379 msg/sec AtomicQueueB, 2,i: 11,513,637 msg/sec AtomicQueueB, 3,s: 11,038,772 msg/sec AtomicQueueB, 3,i: 10,211,054 msg/sec AtomicQueueB, 4,s: 8,043,377 msg/sec AtomicQueueB, 4,i: 8,026,731 msg/sec AtomicQueueB, 5,s: 7,658,557 msg/sec AtomicQueueB, 5,i: 7,830,530 msg/sec AtomicQueueB, 6,s: 7,363,662 msg/sec AtomicQueueB, 6,i: 7,529,529 msg/sec AtomicQueueB, 7,s: 6,844,105 msg/sec AtomicQueueB, 7,i: 7,742,422 msg/sec AtomicQueueB, 8,s: 6,226,253 msg/sec AtomicQueueB, 8,i: 7,157,767 msg/sec OptimistAtomicQueue, 1,s: 722,338,107 msg/sec OptimistAtomicQueue, 1,i: 734,301,595 msg/sec OptimistAtomicQueue, 2,s: 32,628,036 msg/sec OptimistAtomicQueue, 2,i: 32,737,843 msg/sec OptimistAtomicQueue, 3,s: 36,679,126 msg/sec OptimistAtomicQueue, 3,i: 37,365,991 msg/sec OptimistAtomicQueue, 4,s: 39,284,466 msg/sec OptimistAtomicQueue, 4,i: 39,380,095 msg/sec OptimistAtomicQueue, 5,s: 42,424,826 msg/sec OptimistAtomicQueue, 5,i: 46,186,055 msg/sec OptimistAtomicQueue, 6,s: 42,411,839 msg/sec OptimistAtomicQueue, 6,i: 50,472,093 msg/sec OptimistAtomicQueue, 7,s: 45,310,490 msg/sec OptimistAtomicQueue, 7,i: 52,928,411 msg/sec OptimistAtomicQueue, 8,s: 46,379,436 msg/sec OptimistAtomicQueue, 8,i: 49,275,156 msg/sec OptimistAtomicQueueB, 1,s: 647,655,914 msg/sec OptimistAtomicQueueB, 1,i: 77,710,386 msg/sec OptimistAtomicQueueB, 2,s: 32,197,679 msg/sec OptimistAtomicQueueB, 2,i: 32,403,668 msg/sec OptimistAtomicQueueB, 3,s: 36,261,288 msg/sec OptimistAtomicQueueB, 3,i: 36,755,328 msg/sec OptimistAtomicQueueB, 4,s: 38,723,135 msg/sec OptimistAtomicQueueB, 4,i: 38,676,115 msg/sec OptimistAtomicQueueB, 5,s: 40,348,006 msg/sec OptimistAtomicQueueB, 5,i: 45,941,580 msg/sec OptimistAtomicQueueB, 6,s: 40,681,617 msg/sec OptimistAtomicQueueB, 6,i: 49,152,088 msg/sec OptimistAtomicQueueB, 7,s: 41,952,258 msg/sec OptimistAtomicQueueB, 7,i: 51,445,675 msg/sec OptimistAtomicQueueB, 8,s: 44,205,013 msg/sec OptimistAtomicQueueB, 8,i: 48,120,533 msg/sec AtomicQueue2, 1,s: 23,105,498 msg/sec AtomicQueue2, 1,i: 23,046,054 msg/sec AtomicQueue2, 2,s: 11,725,338 msg/sec AtomicQueue2, 2,i: 11,406,488 msg/sec AtomicQueue2, 3,s: 9,429,458 msg/sec AtomicQueue2, 3,i: 9,442,053 msg/sec AtomicQueue2, 4,s: 8,133,367 msg/sec AtomicQueue2, 4,i: 8,070,624 msg/sec AtomicQueue2, 5,s: 7,897,607 msg/sec AtomicQueue2, 5,i: 8,025,906 msg/sec AtomicQueue2, 6,s: 7,826,834 msg/sec AtomicQueue2, 6,i: 7,538,360 msg/sec AtomicQueue2, 7,s: 7,165,984 msg/sec AtomicQueue2, 7,i: 7,918,644 msg/sec AtomicQueue2, 8,s: 6,385,302 msg/sec AtomicQueue2, 8,i: 7,405,869 msg/sec AtomicQueueB2, 1,s: 36,311,264 msg/sec AtomicQueueB2, 1,i: 32,622,862 msg/sec AtomicQueueB2, 2,s: 11,455,112 msg/sec AtomicQueueB2, 2,i: 11,107,660 msg/sec AtomicQueueB2, 3,s: 9,620,810 msg/sec AtomicQueueB2, 3,i: 9,519,333 msg/sec AtomicQueueB2, 4,s: 7,855,360 msg/sec AtomicQueueB2, 4,i: 7,745,255 msg/sec AtomicQueueB2, 5,s: 7,556,464 msg/sec AtomicQueueB2, 5,i: 7,606,281 msg/sec AtomicQueueB2, 6,s: 7,251,285 msg/sec AtomicQueueB2, 6,i: 7,430,419 msg/sec AtomicQueueB2, 7,s: 6,882,209 msg/sec AtomicQueueB2, 7,i: 7,678,834 msg/sec AtomicQueueB2, 8,s: 6,346,349 msg/sec AtomicQueueB2, 8,i: 7,107,185 msg/sec OptimistAtomicQueue2, 1,s: 31,762,330 msg/sec OptimistAtomicQueue2, 1,i: 31,971,705 msg/sec OptimistAtomicQueue2, 2,s: 29,488,402 msg/sec OptimistAtomicQueue2, 2,i: 27,379,216 msg/sec OptimistAtomicQueue2, 3,s: 33,763,345 msg/sec OptimistAtomicQueue2, 3,i: 31,500,673 msg/sec OptimistAtomicQueue2, 4,s: 33,137,188 msg/sec OptimistAtomicQueue2, 4,i: 33,167,846 msg/sec OptimistAtomicQueue2, 5,s: 36,830,993 msg/sec OptimistAtomicQueue2, 5,i: 40,981,844 msg/sec OptimistAtomicQueue2, 6,s: 40,122,040 msg/sec OptimistAtomicQueue2, 6,i: 49,275,977 msg/sec OptimistAtomicQueue2, 7,s: 42,735,651 msg/sec OptimistAtomicQueue2, 7,i: 51,317,528 msg/sec OptimistAtomicQueue2, 8,s: 44,106,636 msg/sec OptimistAtomicQueue2, 8,i: 48,694,201 msg/sec OptimistAtomicQueueB2, 1,s: 78,463,050 msg/sec OptimistAtomicQueueB2, 1,i: 33,917,171 msg/sec OptimistAtomicQueueB2, 2,s: 27,174,513 msg/sec OptimistAtomicQueueB2, 2,i: 23,180,185 msg/sec OptimistAtomicQueueB2, 3,s: 29,706,745 msg/sec OptimistAtomicQueueB2, 3,i: 29,392,280 msg/sec OptimistAtomicQueueB2, 4,s: 33,214,591 msg/sec OptimistAtomicQueueB2, 4,i: 32,070,949 msg/sec OptimistAtomicQueueB2, 5,s: 34,656,372 msg/sec OptimistAtomicQueueB2, 5,i: 39,410,390 msg/sec OptimistAtomicQueueB2, 6,s: 37,576,143 msg/sec OptimistAtomicQueueB2, 6,i: 42,151,527 msg/sec OptimistAtomicQueueB2, 7,s: 40,251,179 msg/sec OptimistAtomicQueueB2, 7,i: 43,219,556 msg/sec OptimistAtomicQueueB2, 8,s: 42,200,685 msg/sec OptimistAtomicQueueB2, 8,i: 45,809,895 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000111 sec/round-trip moodycamel::ConcurrentQueue: 0.000000243 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000364 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000225 sec/round-trip AtomicQueue: 0.000000169 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [344] 27m:20s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,184,875 msg/sec boost::lockfree::spsc_queue, 1,i: 70,144,515 msg/sec boost::lockfree::queue, 1,s: 7,963,864 msg/sec boost::lockfree::queue, 1,i: 6,845,927 msg/sec boost::lockfree::queue, 2,s: 7,497,129 msg/sec boost::lockfree::queue, 2,i: 7,495,009 msg/sec boost::lockfree::queue, 3,s: 7,408,913 msg/sec boost::lockfree::queue, 3,i: 7,596,270 msg/sec boost::lockfree::queue, 4,s: 6,424,690 msg/sec boost::lockfree::queue, 4,i: 6,757,646 msg/sec boost::lockfree::queue, 5,s: 6,495,639 msg/sec boost::lockfree::queue, 5,i: 6,473,261 msg/sec boost::lockfree::queue, 6,s: 5,965,564 msg/sec boost::lockfree::queue, 6,i: 6,108,907 msg/sec boost::lockfree::queue, 7,s: 5,939,674 msg/sec boost::lockfree::queue, 7,i: 6,044,783 msg/sec boost::lockfree::queue, 8,s: 5,446,831 msg/sec boost::lockfree::queue, 8,i: 5,619,790 msg/sec moodycamel::ReaderWriterQueue, 1,s: 57,726,120 msg/sec moodycamel::ReaderWriterQueue, 1,i: 57,255,647 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,946,756 msg/sec moodycamel::ConcurrentQueue, 1,i: 20,316,477 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,035,919 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,814,184 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,180,234 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,846,168 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,443,941 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,301,085 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,316,222 msg/sec moodycamel::ConcurrentQueue, 5,i: 46,727,868 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,313,778 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,712,160 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,929,129 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,349,437 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,366,300 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,907,621 msg/sec pthread_spinlock, 1,s: 29,208,467 msg/sec pthread_spinlock, 1,i: 25,305,744 msg/sec pthread_spinlock, 2,s: 15,967,749 msg/sec pthread_spinlock, 2,i: 17,021,484 msg/sec pthread_spinlock, 3,s: 8,370,920 msg/sec pthread_spinlock, 3,i: 12,045,547 msg/sec pthread_spinlock, 4,s: 6,551,391 msg/sec pthread_spinlock, 4,i: 9,261,403 msg/sec pthread_spinlock, 5,s: 8,705,558 msg/sec pthread_spinlock, 5,i: 9,415,881 msg/sec pthread_spinlock, 6,s: 8,299,113 msg/sec pthread_spinlock, 6,i: 8,492,152 msg/sec pthread_spinlock, 7,s: 7,640,482 msg/sec pthread_spinlock, 7,i: 7,884,571 msg/sec pthread_spinlock, 8,s: 6,715,139 msg/sec pthread_spinlock, 8,i: 7,278,545 msg/sec std::mutex, 1,s: 7,484,000 msg/sec std::mutex, 1,i: 7,425,892 msg/sec std::mutex, 2,s: 6,071,054 msg/sec std::mutex, 2,i: 5,908,464 msg/sec std::mutex, 3,s: 5,946,667 msg/sec std::mutex, 3,i: 5,993,650 msg/sec std::mutex, 4,s: 6,269,198 msg/sec std::mutex, 4,i: 6,211,160 msg/sec std::mutex, 5,s: 6,124,078 msg/sec std::mutex, 5,i: 6,063,272 msg/sec std::mutex, 6,s: 5,916,721 msg/sec std::mutex, 6,i: 5,916,779 msg/sec std::mutex, 7,s: 5,821,967 msg/sec std::mutex, 7,i: 5,792,769 msg/sec std::mutex, 8,s: 5,666,702 msg/sec std::mutex, 8,i: 5,699,110 msg/sec tbb::spin_mutex, 1,s: 37,610,909 msg/sec tbb::spin_mutex, 1,i: 33,113,090 msg/sec tbb::spin_mutex, 2,s: 21,114,207 msg/sec tbb::spin_mutex, 2,i: 18,389,202 msg/sec tbb::spin_mutex, 3,s: 8,765,844 msg/sec tbb::spin_mutex, 3,i: 10,201,926 msg/sec tbb::spin_mutex, 4,s: 3,141,560 msg/sec tbb::spin_mutex, 4,i: 6,353,431 msg/sec tbb::spin_mutex, 5,s: 5,217,947 msg/sec tbb::spin_mutex, 5,i: 5,717,983 msg/sec tbb::spin_mutex, 6,s: 5,341,758 msg/sec tbb::spin_mutex, 6,i: 4,375,904 msg/sec tbb::spin_mutex, 7,s: 4,875,112 msg/sec tbb::spin_mutex, 7,i: 4,255,012 msg/sec tbb::spin_mutex, 8,s: 4,261,792 msg/sec tbb::spin_mutex, 8,i: 4,115,539 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,266,724 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,544,826 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,971,883 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,176,710 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,347,316 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,397,361 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,003,137 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,256,459 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,567,849 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,379,747 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,591,435 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,709,428 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,659,223 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,074,798 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,744,894 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,961,460 msg/sec xenium::michael_scott_queue, 1,s: 9,125,003 msg/sec xenium::michael_scott_queue, 1,i: 8,964,468 msg/sec xenium::michael_scott_queue, 2,s: 8,307,564 msg/sec xenium::michael_scott_queue, 2,i: 8,469,075 msg/sec xenium::michael_scott_queue, 3,s: 7,260,195 msg/sec xenium::michael_scott_queue, 3,i: 7,542,995 msg/sec xenium::michael_scott_queue, 4,s: 6,358,386 msg/sec xenium::michael_scott_queue, 4,i: 6,362,446 msg/sec xenium::michael_scott_queue, 5,s: 6,334,853 msg/sec xenium::michael_scott_queue, 5,i: 6,698,251 msg/sec xenium::michael_scott_queue, 6,s: 6,588,656 msg/sec xenium::michael_scott_queue, 6,i: 6,956,035 msg/sec xenium::michael_scott_queue, 7,s: 6,281,123 msg/sec xenium::michael_scott_queue, 7,i: 6,479,792 msg/sec xenium::michael_scott_queue, 8,s: 6,012,670 msg/sec xenium::michael_scott_queue, 8,i: 6,187,671 msg/sec xenium::ramalhete_queue, 1,s: 32,626,285 msg/sec xenium::ramalhete_queue, 1,i: 32,668,360 msg/sec xenium::ramalhete_queue, 2,s: 23,482,024 msg/sec xenium::ramalhete_queue, 2,i: 23,328,244 msg/sec xenium::ramalhete_queue, 3,s: 29,125,744 msg/sec xenium::ramalhete_queue, 3,i: 28,466,285 msg/sec xenium::ramalhete_queue, 4,s: 33,849,529 msg/sec xenium::ramalhete_queue, 4,i: 33,494,064 msg/sec xenium::ramalhete_queue, 5,s: 32,103,111 msg/sec xenium::ramalhete_queue, 5,i: 37,022,042 msg/sec xenium::ramalhete_queue, 6,s: 34,155,361 msg/sec xenium::ramalhete_queue, 6,i: 38,785,289 msg/sec xenium::ramalhete_queue, 7,s: 35,181,830 msg/sec xenium::ramalhete_queue, 7,i: 41,337,505 msg/sec xenium::ramalhete_queue, 8,s: 35,521,668 msg/sec xenium::ramalhete_queue, 8,i: 44,017,783 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,863,117 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,196,561 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,286,664 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,571,127 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,735,178 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,748,378 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,668,421 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,368,468 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,930,791 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,359,063 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,087,098 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,378,999 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,137,732 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,991,876 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,394,362 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,351,288 msg/sec AtomicQueue, 1,s: 58,037,159 msg/sec AtomicQueue, 1,i: 56,635,248 msg/sec AtomicQueue, 2,s: 12,398,705 msg/sec AtomicQueue, 2,i: 11,886,499 msg/sec AtomicQueue, 3,s: 10,801,770 msg/sec AtomicQueue, 3,i: 9,901,532 msg/sec AtomicQueue, 4,s: 8,209,537 msg/sec AtomicQueue, 4,i: 8,193,977 msg/sec AtomicQueue, 5,s: 8,019,774 msg/sec AtomicQueue, 5,i: 8,096,541 msg/sec AtomicQueue, 6,s: 7,826,910 msg/sec AtomicQueue, 6,i: 7,603,054 msg/sec AtomicQueue, 7,s: 7,168,295 msg/sec AtomicQueue, 7,i: 7,970,261 msg/sec AtomicQueue, 8,s: 6,330,290 msg/sec AtomicQueue, 8,i: 7,515,466 msg/sec AtomicQueueB, 1,s: 58,512,616 msg/sec AtomicQueueB, 1,i: 83,539,470 msg/sec AtomicQueueB, 2,s: 11,759,132 msg/sec AtomicQueueB, 2,i: 11,508,004 msg/sec AtomicQueueB, 3,s: 10,976,345 msg/sec AtomicQueueB, 3,i: 10,256,627 msg/sec AtomicQueueB, 4,s: 8,067,627 msg/sec AtomicQueueB, 4,i: 8,015,599 msg/sec AtomicQueueB, 5,s: 7,647,017 msg/sec AtomicQueueB, 5,i: 7,848,012 msg/sec AtomicQueueB, 6,s: 7,286,871 msg/sec AtomicQueueB, 6,i: 7,533,657 msg/sec AtomicQueueB, 7,s: 6,815,300 msg/sec AtomicQueueB, 7,i: 7,680,473 msg/sec AtomicQueueB, 8,s: 6,222,578 msg/sec AtomicQueueB, 8,i: 7,153,931 msg/sec OptimistAtomicQueue, 1,s: 789,511,809 msg/sec OptimistAtomicQueue, 1,i: 531,957,902 msg/sec OptimistAtomicQueue, 2,s: 32,111,332 msg/sec OptimistAtomicQueue, 2,i: 32,193,485 msg/sec OptimistAtomicQueue, 3,s: 36,628,928 msg/sec OptimistAtomicQueue, 3,i: 37,251,050 msg/sec OptimistAtomicQueue, 4,s: 39,248,666 msg/sec OptimistAtomicQueue, 4,i: 39,385,783 msg/sec OptimistAtomicQueue, 5,s: 42,295,138 msg/sec OptimistAtomicQueue, 5,i: 46,540,287 msg/sec OptimistAtomicQueue, 6,s: 42,202,616 msg/sec OptimistAtomicQueue, 6,i: 50,448,914 msg/sec OptimistAtomicQueue, 7,s: 44,000,666 msg/sec OptimistAtomicQueue, 7,i: 52,956,727 msg/sec OptimistAtomicQueue, 8,s: 46,419,014 msg/sec OptimistAtomicQueue, 8,i: 49,008,177 msg/sec OptimistAtomicQueueB, 1,s: 144,814,895 msg/sec OptimistAtomicQueueB, 1,i: 77,550,702 msg/sec OptimistAtomicQueueB, 2,s: 32,202,706 msg/sec OptimistAtomicQueueB, 2,i: 31,905,050 msg/sec OptimistAtomicQueueB, 3,s: 36,166,948 msg/sec OptimistAtomicQueueB, 3,i: 36,915,330 msg/sec OptimistAtomicQueueB, 4,s: 38,621,064 msg/sec OptimistAtomicQueueB, 4,i: 38,642,920 msg/sec OptimistAtomicQueueB, 5,s: 41,281,272 msg/sec OptimistAtomicQueueB, 5,i: 45,191,039 msg/sec OptimistAtomicQueueB, 6,s: 41,167,631 msg/sec OptimistAtomicQueueB, 6,i: 49,037,250 msg/sec OptimistAtomicQueueB, 7,s: 41,946,090 msg/sec OptimistAtomicQueueB, 7,i: 51,434,029 msg/sec OptimistAtomicQueueB, 8,s: 44,259,985 msg/sec OptimistAtomicQueueB, 8,i: 47,775,997 msg/sec AtomicQueue2, 1,s: 22,933,562 msg/sec AtomicQueue2, 1,i: 22,884,758 msg/sec AtomicQueue2, 2,s: 11,749,623 msg/sec AtomicQueue2, 2,i: 11,387,114 msg/sec AtomicQueue2, 3,s: 9,435,796 msg/sec AtomicQueue2, 3,i: 9,452,707 msg/sec AtomicQueue2, 4,s: 8,047,413 msg/sec AtomicQueue2, 4,i: 8,033,304 msg/sec AtomicQueue2, 5,s: 7,944,690 msg/sec AtomicQueue2, 5,i: 7,999,176 msg/sec AtomicQueue2, 6,s: 7,823,396 msg/sec AtomicQueue2, 6,i: 7,537,925 msg/sec AtomicQueue2, 7,s: 7,124,890 msg/sec AtomicQueue2, 7,i: 7,940,472 msg/sec AtomicQueue2, 8,s: 6,381,562 msg/sec AtomicQueue2, 8,i: 7,348,403 msg/sec AtomicQueueB2, 1,s: 36,242,031 msg/sec AtomicQueueB2, 1,i: 32,621,756 msg/sec AtomicQueueB2, 2,s: 11,302,369 msg/sec AtomicQueueB2, 2,i: 11,071,812 msg/sec AtomicQueueB2, 3,s: 9,662,772 msg/sec AtomicQueueB2, 3,i: 9,634,372 msg/sec AtomicQueueB2, 4,s: 7,918,589 msg/sec AtomicQueueB2, 4,i: 7,882,226 msg/sec AtomicQueueB2, 5,s: 7,424,528 msg/sec AtomicQueueB2, 5,i: 7,695,222 msg/sec AtomicQueueB2, 6,s: 7,260,264 msg/sec AtomicQueueB2, 6,i: 7,414,673 msg/sec AtomicQueueB2, 7,s: 6,891,947 msg/sec AtomicQueueB2, 7,i: 7,721,724 msg/sec AtomicQueueB2, 8,s: 6,269,281 msg/sec AtomicQueueB2, 8,i: 7,087,373 msg/sec OptimistAtomicQueue2, 1,s: 510,767,554 msg/sec OptimistAtomicQueue2, 1,i: 29,512,238 msg/sec OptimistAtomicQueue2, 2,s: 26,443,748 msg/sec OptimistAtomicQueue2, 2,i: 24,018,400 msg/sec OptimistAtomicQueue2, 3,s: 30,320,304 msg/sec OptimistAtomicQueue2, 3,i: 30,000,767 msg/sec OptimistAtomicQueue2, 4,s: 33,155,964 msg/sec OptimistAtomicQueue2, 4,i: 33,176,448 msg/sec OptimistAtomicQueue2, 5,s: 37,117,120 msg/sec OptimistAtomicQueue2, 5,i: 40,333,607 msg/sec OptimistAtomicQueue2, 6,s: 40,152,110 msg/sec OptimistAtomicQueue2, 6,i: 49,226,736 msg/sec OptimistAtomicQueue2, 7,s: 43,202,548 msg/sec OptimistAtomicQueue2, 7,i: 51,399,153 msg/sec OptimistAtomicQueue2, 8,s: 43,750,178 msg/sec OptimistAtomicQueue2, 8,i: 47,828,566 msg/sec OptimistAtomicQueueB2, 1,s: 76,122,760 msg/sec OptimistAtomicQueueB2, 1,i: 33,869,329 msg/sec OptimistAtomicQueueB2, 2,s: 28,910,070 msg/sec OptimistAtomicQueueB2, 2,i: 24,594,280 msg/sec OptimistAtomicQueueB2, 3,s: 30,166,576 msg/sec OptimistAtomicQueueB2, 3,i: 30,764,382 msg/sec OptimistAtomicQueueB2, 4,s: 33,118,959 msg/sec OptimistAtomicQueueB2, 4,i: 32,686,693 msg/sec OptimistAtomicQueueB2, 5,s: 34,673,367 msg/sec OptimistAtomicQueueB2, 5,i: 39,291,765 msg/sec OptimistAtomicQueueB2, 6,s: 37,352,017 msg/sec OptimistAtomicQueueB2, 6,i: 42,410,624 msg/sec OptimistAtomicQueueB2, 7,s: 40,195,408 msg/sec OptimistAtomicQueueB2, 7,i: 45,481,807 msg/sec OptimistAtomicQueueB2, 8,s: 42,501,175 msg/sec OptimistAtomicQueueB2, 8,i: 44,775,886 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000131 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000258 sec/round-trip std::mutex: 0.000000452 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000292 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000227 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000143 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000178 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000154 sec/round-trip [345] 26m:1s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,699,016 msg/sec boost::lockfree::spsc_queue, 1,i: 69,641,042 msg/sec boost::lockfree::queue, 1,s: 6,815,184 msg/sec boost::lockfree::queue, 1,i: 6,843,663 msg/sec boost::lockfree::queue, 2,s: 7,450,489 msg/sec boost::lockfree::queue, 2,i: 7,394,517 msg/sec boost::lockfree::queue, 3,s: 7,328,638 msg/sec boost::lockfree::queue, 3,i: 7,541,021 msg/sec boost::lockfree::queue, 4,s: 6,421,152 msg/sec boost::lockfree::queue, 4,i: 6,779,937 msg/sec boost::lockfree::queue, 5,s: 6,386,145 msg/sec boost::lockfree::queue, 5,i: 6,514,080 msg/sec boost::lockfree::queue, 6,s: 5,994,260 msg/sec boost::lockfree::queue, 6,i: 6,088,866 msg/sec boost::lockfree::queue, 7,s: 5,909,806 msg/sec boost::lockfree::queue, 7,i: 6,065,378 msg/sec boost::lockfree::queue, 8,s: 5,454,918 msg/sec boost::lockfree::queue, 8,i: 5,514,590 msg/sec moodycamel::ReaderWriterQueue, 1,s: 119,385,340 msg/sec moodycamel::ReaderWriterQueue, 1,i: 98,794,014 msg/sec moodycamel::ConcurrentQueue, 1,s: 29,345,095 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,867,822 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,324,999 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,438,128 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,702,938 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,587,801 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,313,788 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,997,518 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,263,146 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,376,511 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,532,160 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,442,559 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,854,737 msg/sec moodycamel::ConcurrentQueue, 7,i: 37,715,681 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,154,167 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,638,575 msg/sec pthread_spinlock, 1,s: 29,022,894 msg/sec pthread_spinlock, 1,i: 25,330,974 msg/sec pthread_spinlock, 2,s: 15,369,109 msg/sec pthread_spinlock, 2,i: 17,190,153 msg/sec pthread_spinlock, 3,s: 8,314,131 msg/sec pthread_spinlock, 3,i: 12,045,329 msg/sec pthread_spinlock, 4,s: 6,494,019 msg/sec pthread_spinlock, 4,i: 8,994,568 msg/sec pthread_spinlock, 5,s: 8,675,294 msg/sec pthread_spinlock, 5,i: 9,298,253 msg/sec pthread_spinlock, 6,s: 8,360,118 msg/sec pthread_spinlock, 6,i: 8,559,885 msg/sec pthread_spinlock, 7,s: 7,676,435 msg/sec pthread_spinlock, 7,i: 7,676,004 msg/sec pthread_spinlock, 8,s: 6,667,871 msg/sec pthread_spinlock, 8,i: 7,371,104 msg/sec std::mutex, 1,s: 6,757,182 msg/sec std::mutex, 1,i: 6,180,338 msg/sec std::mutex, 2,s: 5,564,249 msg/sec std::mutex, 2,i: 5,665,199 msg/sec std::mutex, 3,s: 4,955,303 msg/sec std::mutex, 3,i: 6,058,627 msg/sec std::mutex, 4,s: 6,259,755 msg/sec std::mutex, 4,i: 6,388,853 msg/sec std::mutex, 5,s: 6,005,967 msg/sec std::mutex, 5,i: 6,154,091 msg/sec std::mutex, 6,s: 5,925,808 msg/sec std::mutex, 6,i: 6,007,319 msg/sec std::mutex, 7,s: 5,771,349 msg/sec std::mutex, 7,i: 5,840,397 msg/sec std::mutex, 8,s: 5,721,995 msg/sec std::mutex, 8,i: 5,737,065 msg/sec tbb::spin_mutex, 1,s: 38,208,980 msg/sec tbb::spin_mutex, 1,i: 33,046,905 msg/sec tbb::spin_mutex, 2,s: 21,163,034 msg/sec tbb::spin_mutex, 2,i: 18,478,750 msg/sec tbb::spin_mutex, 3,s: 7,255,499 msg/sec tbb::spin_mutex, 3,i: 10,721,225 msg/sec tbb::spin_mutex, 4,s: 3,184,912 msg/sec tbb::spin_mutex, 4,i: 6,341,874 msg/sec tbb::spin_mutex, 5,s: 5,144,405 msg/sec tbb::spin_mutex, 5,i: 5,485,442 msg/sec tbb::spin_mutex, 6,s: 5,323,156 msg/sec tbb::spin_mutex, 6,i: 4,345,510 msg/sec tbb::spin_mutex, 7,s: 4,678,502 msg/sec tbb::spin_mutex, 7,i: 4,354,565 msg/sec tbb::spin_mutex, 8,s: 4,241,083 msg/sec tbb::spin_mutex, 8,i: 4,056,429 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,074,462 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,167,918 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,765,142 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,757,594 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,526,041 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,628,048 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,117,895 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,543,754 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,666,688 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,524,669 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,735,245 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,678,963 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,835,028 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,705,748 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,029,484 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,074,759 msg/sec xenium::michael_scott_queue, 1,s: 10,145,948 msg/sec xenium::michael_scott_queue, 1,i: 10,012,981 msg/sec xenium::michael_scott_queue, 2,s: 8,494,579 msg/sec xenium::michael_scott_queue, 2,i: 8,517,099 msg/sec xenium::michael_scott_queue, 3,s: 7,253,617 msg/sec xenium::michael_scott_queue, 3,i: 7,625,442 msg/sec xenium::michael_scott_queue, 4,s: 6,335,174 msg/sec xenium::michael_scott_queue, 4,i: 6,323,523 msg/sec xenium::michael_scott_queue, 5,s: 6,254,811 msg/sec xenium::michael_scott_queue, 5,i: 6,614,925 msg/sec xenium::michael_scott_queue, 6,s: 6,546,720 msg/sec xenium::michael_scott_queue, 6,i: 6,694,592 msg/sec xenium::michael_scott_queue, 7,s: 6,277,700 msg/sec xenium::michael_scott_queue, 7,i: 6,459,332 msg/sec xenium::michael_scott_queue, 8,s: 5,995,049 msg/sec xenium::michael_scott_queue, 8,i: 6,125,922 msg/sec xenium::ramalhete_queue, 1,s: 27,606,707 msg/sec xenium::ramalhete_queue, 1,i: 27,073,487 msg/sec xenium::ramalhete_queue, 2,s: 23,494,338 msg/sec xenium::ramalhete_queue, 2,i: 23,250,852 msg/sec xenium::ramalhete_queue, 3,s: 29,205,192 msg/sec xenium::ramalhete_queue, 3,i: 28,645,914 msg/sec xenium::ramalhete_queue, 4,s: 33,940,178 msg/sec xenium::ramalhete_queue, 4,i: 33,502,686 msg/sec xenium::ramalhete_queue, 5,s: 32,062,295 msg/sec xenium::ramalhete_queue, 5,i: 35,984,801 msg/sec xenium::ramalhete_queue, 6,s: 34,079,300 msg/sec xenium::ramalhete_queue, 6,i: 38,880,402 msg/sec xenium::ramalhete_queue, 7,s: 35,214,909 msg/sec xenium::ramalhete_queue, 7,i: 41,214,226 msg/sec xenium::ramalhete_queue, 8,s: 35,604,081 msg/sec xenium::ramalhete_queue, 8,i: 44,071,938 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,723,627 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,106,532 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,970,115 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,250,397 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,588,958 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,891,657 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,593,335 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,228,813 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,563,099 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,233,371 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,987,468 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,415,329 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,244,865 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,288,339 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,371,299 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,582,289 msg/sec AtomicQueue, 1,s: 59,124,616 msg/sec AtomicQueue, 1,i: 57,058,063 msg/sec AtomicQueue, 2,s: 12,279,471 msg/sec AtomicQueue, 2,i: 11,703,309 msg/sec AtomicQueue, 3,s: 10,799,969 msg/sec AtomicQueue, 3,i: 9,938,299 msg/sec AtomicQueue, 4,s: 8,195,749 msg/sec AtomicQueue, 4,i: 8,216,051 msg/sec AtomicQueue, 5,s: 7,965,650 msg/sec AtomicQueue, 5,i: 7,997,653 msg/sec AtomicQueue, 6,s: 7,710,688 msg/sec AtomicQueue, 6,i: 7,592,581 msg/sec AtomicQueue, 7,s: 7,225,487 msg/sec AtomicQueue, 7,i: 7,802,804 msg/sec AtomicQueue, 8,s: 6,342,953 msg/sec AtomicQueue, 8,i: 7,460,544 msg/sec AtomicQueueB, 1,s: 44,300,339 msg/sec AtomicQueueB, 1,i: 43,308,040 msg/sec AtomicQueueB, 2,s: 11,887,566 msg/sec AtomicQueueB, 2,i: 11,524,467 msg/sec AtomicQueueB, 3,s: 11,057,093 msg/sec AtomicQueueB, 3,i: 10,059,728 msg/sec AtomicQueueB, 4,s: 8,044,897 msg/sec AtomicQueueB, 4,i: 8,103,902 msg/sec AtomicQueueB, 5,s: 7,697,639 msg/sec AtomicQueueB, 5,i: 7,840,982 msg/sec AtomicQueueB, 6,s: 7,276,704 msg/sec AtomicQueueB, 6,i: 7,529,315 msg/sec AtomicQueueB, 7,s: 6,873,364 msg/sec AtomicQueueB, 7,i: 7,744,218 msg/sec AtomicQueueB, 8,s: 6,247,824 msg/sec AtomicQueueB, 8,i: 7,168,601 msg/sec OptimistAtomicQueue, 1,s: 764,948,235 msg/sec OptimistAtomicQueue, 1,i: 511,534,855 msg/sec OptimistAtomicQueue, 2,s: 32,634,510 msg/sec OptimistAtomicQueue, 2,i: 32,686,799 msg/sec OptimistAtomicQueue, 3,s: 36,672,172 msg/sec OptimistAtomicQueue, 3,i: 37,426,367 msg/sec OptimistAtomicQueue, 4,s: 39,303,315 msg/sec OptimistAtomicQueue, 4,i: 39,343,839 msg/sec OptimistAtomicQueue, 5,s: 42,380,645 msg/sec OptimistAtomicQueue, 5,i: 46,250,353 msg/sec OptimistAtomicQueue, 6,s: 42,348,621 msg/sec OptimistAtomicQueue, 6,i: 50,432,657 msg/sec OptimistAtomicQueue, 7,s: 45,194,647 msg/sec OptimistAtomicQueue, 7,i: 52,071,611 msg/sec OptimistAtomicQueue, 8,s: 46,398,603 msg/sec OptimistAtomicQueue, 8,i: 49,641,519 msg/sec OptimistAtomicQueueB, 1,s: 136,441,739 msg/sec OptimistAtomicQueueB, 1,i: 80,151,089 msg/sec OptimistAtomicQueueB, 2,s: 32,242,733 msg/sec OptimistAtomicQueueB, 2,i: 32,261,338 msg/sec OptimistAtomicQueueB, 3,s: 36,328,214 msg/sec OptimistAtomicQueueB, 3,i: 36,835,163 msg/sec OptimistAtomicQueueB, 4,s: 38,721,751 msg/sec OptimistAtomicQueueB, 4,i: 38,568,910 msg/sec OptimistAtomicQueueB, 5,s: 41,044,120 msg/sec OptimistAtomicQueueB, 5,i: 45,209,595 msg/sec OptimistAtomicQueueB, 6,s: 40,581,903 msg/sec OptimistAtomicQueueB, 6,i: 48,923,938 msg/sec OptimistAtomicQueueB, 7,s: 42,225,142 msg/sec OptimistAtomicQueueB, 7,i: 51,573,357 msg/sec OptimistAtomicQueueB, 8,s: 44,028,110 msg/sec OptimistAtomicQueueB, 8,i: 47,912,819 msg/sec AtomicQueue2, 1,s: 22,914,724 msg/sec AtomicQueue2, 1,i: 22,850,308 msg/sec AtomicQueue2, 2,s: 11,904,550 msg/sec AtomicQueue2, 2,i: 11,426,509 msg/sec AtomicQueue2, 3,s: 9,428,126 msg/sec AtomicQueue2, 3,i: 9,395,344 msg/sec AtomicQueue2, 4,s: 8,119,343 msg/sec AtomicQueue2, 4,i: 8,115,976 msg/sec AtomicQueue2, 5,s: 7,925,564 msg/sec AtomicQueue2, 5,i: 8,010,851 msg/sec AtomicQueue2, 6,s: 7,712,036 msg/sec AtomicQueue2, 6,i: 7,516,155 msg/sec AtomicQueue2, 7,s: 7,161,367 msg/sec AtomicQueue2, 7,i: 7,831,551 msg/sec AtomicQueue2, 8,s: 6,380,573 msg/sec AtomicQueue2, 8,i: 7,400,472 msg/sec AtomicQueueB2, 1,s: 36,037,316 msg/sec AtomicQueueB2, 1,i: 32,642,406 msg/sec AtomicQueueB2, 2,s: 11,374,909 msg/sec AtomicQueueB2, 2,i: 11,122,830 msg/sec AtomicQueueB2, 3,s: 9,581,024 msg/sec AtomicQueueB2, 3,i: 9,578,040 msg/sec AtomicQueueB2, 4,s: 7,989,332 msg/sec AtomicQueueB2, 4,i: 7,884,625 msg/sec AtomicQueueB2, 5,s: 7,389,439 msg/sec AtomicQueueB2, 5,i: 7,718,945 msg/sec AtomicQueueB2, 6,s: 7,330,328 msg/sec AtomicQueueB2, 6,i: 7,427,174 msg/sec AtomicQueueB2, 7,s: 6,878,701 msg/sec AtomicQueueB2, 7,i: 7,691,854 msg/sec AtomicQueueB2, 8,s: 6,307,600 msg/sec AtomicQueueB2, 8,i: 6,989,616 msg/sec OptimistAtomicQueue2, 1,s: 33,051,783 msg/sec OptimistAtomicQueue2, 1,i: 29,827,371 msg/sec OptimistAtomicQueue2, 2,s: 24,297,830 msg/sec OptimistAtomicQueue2, 2,i: 22,763,893 msg/sec OptimistAtomicQueue2, 3,s: 29,900,795 msg/sec OptimistAtomicQueue2, 3,i: 29,587,590 msg/sec OptimistAtomicQueue2, 4,s: 33,655,407 msg/sec OptimistAtomicQueue2, 4,i: 33,576,188 msg/sec OptimistAtomicQueue2, 5,s: 37,389,046 msg/sec OptimistAtomicQueue2, 5,i: 40,958,104 msg/sec OptimistAtomicQueue2, 6,s: 40,159,589 msg/sec OptimistAtomicQueue2, 6,i: 49,106,512 msg/sec OptimistAtomicQueue2, 7,s: 42,611,657 msg/sec OptimistAtomicQueue2, 7,i: 48,174,066 msg/sec OptimistAtomicQueue2, 8,s: 44,090,083 msg/sec OptimistAtomicQueue2, 8,i: 48,217,860 msg/sec OptimistAtomicQueueB2, 1,s: 78,761,292 msg/sec OptimistAtomicQueueB2, 1,i: 33,918,140 msg/sec OptimistAtomicQueueB2, 2,s: 27,180,777 msg/sec OptimistAtomicQueueB2, 2,i: 26,082,513 msg/sec OptimistAtomicQueueB2, 3,s: 32,020,650 msg/sec OptimistAtomicQueueB2, 3,i: 33,197,229 msg/sec OptimistAtomicQueueB2, 4,s: 33,106,832 msg/sec OptimistAtomicQueueB2, 4,i: 32,261,542 msg/sec OptimistAtomicQueueB2, 5,s: 34,706,860 msg/sec OptimistAtomicQueueB2, 5,i: 39,406,843 msg/sec OptimistAtomicQueueB2, 6,s: 37,576,168 msg/sec OptimistAtomicQueueB2, 6,i: 42,221,187 msg/sec OptimistAtomicQueueB2, 7,s: 40,112,660 msg/sec OptimistAtomicQueueB2, 7,i: 43,280,756 msg/sec OptimistAtomicQueueB2, 8,s: 42,022,994 msg/sec OptimistAtomicQueueB2, 8,i: 45,309,732 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000149 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000285 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000361 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000186 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [346] 24m:42s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,979,404 msg/sec boost::lockfree::spsc_queue, 1,i: 68,500,060 msg/sec boost::lockfree::queue, 1,s: 6,843,054 msg/sec boost::lockfree::queue, 1,i: 6,899,603 msg/sec boost::lockfree::queue, 2,s: 7,560,770 msg/sec boost::lockfree::queue, 2,i: 7,564,828 msg/sec boost::lockfree::queue, 3,s: 7,410,336 msg/sec boost::lockfree::queue, 3,i: 7,543,560 msg/sec boost::lockfree::queue, 4,s: 6,417,324 msg/sec boost::lockfree::queue, 4,i: 6,778,324 msg/sec boost::lockfree::queue, 5,s: 6,398,164 msg/sec boost::lockfree::queue, 5,i: 6,467,680 msg/sec boost::lockfree::queue, 6,s: 5,982,307 msg/sec boost::lockfree::queue, 6,i: 6,106,880 msg/sec boost::lockfree::queue, 7,s: 5,918,376 msg/sec boost::lockfree::queue, 7,i: 6,111,709 msg/sec boost::lockfree::queue, 8,s: 5,452,499 msg/sec boost::lockfree::queue, 8,i: 5,522,520 msg/sec moodycamel::ReaderWriterQueue, 1,s: 472,026,249 msg/sec moodycamel::ReaderWriterQueue, 1,i: 472,833,415 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,453,329 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,595,127 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,901,303 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,108,920 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,258,411 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,471,216 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,554,296 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,912,748 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,162,735 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,129,078 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,266,867 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,839,732 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,083,083 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,170,676 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,269,398 msg/sec moodycamel::ConcurrentQueue, 8,i: 33,145,049 msg/sec pthread_spinlock, 1,s: 29,109,865 msg/sec pthread_spinlock, 1,i: 25,346,580 msg/sec pthread_spinlock, 2,s: 15,524,187 msg/sec pthread_spinlock, 2,i: 16,836,414 msg/sec pthread_spinlock, 3,s: 8,305,708 msg/sec pthread_spinlock, 3,i: 12,025,671 msg/sec pthread_spinlock, 4,s: 6,569,122 msg/sec pthread_spinlock, 4,i: 9,229,821 msg/sec pthread_spinlock, 5,s: 8,650,040 msg/sec pthread_spinlock, 5,i: 9,643,817 msg/sec pthread_spinlock, 6,s: 8,217,415 msg/sec pthread_spinlock, 6,i: 8,668,396 msg/sec pthread_spinlock, 7,s: 7,684,003 msg/sec pthread_spinlock, 7,i: 7,421,414 msg/sec pthread_spinlock, 8,s: 6,973,105 msg/sec pthread_spinlock, 8,i: 6,819,714 msg/sec std::mutex, 1,s: 6,581,391 msg/sec std::mutex, 1,i: 6,390,713 msg/sec std::mutex, 2,s: 5,340,141 msg/sec std::mutex, 2,i: 5,449,986 msg/sec std::mutex, 3,s: 5,195,371 msg/sec std::mutex, 3,i: 5,664,912 msg/sec std::mutex, 4,s: 6,195,491 msg/sec std::mutex, 4,i: 6,324,657 msg/sec std::mutex, 5,s: 6,092,313 msg/sec std::mutex, 5,i: 5,970,513 msg/sec std::mutex, 6,s: 5,971,116 msg/sec std::mutex, 6,i: 5,867,204 msg/sec std::mutex, 7,s: 5,834,291 msg/sec std::mutex, 7,i: 5,831,357 msg/sec std::mutex, 8,s: 5,756,612 msg/sec std::mutex, 8,i: 5,705,940 msg/sec tbb::spin_mutex, 1,s: 37,925,565 msg/sec tbb::spin_mutex, 1,i: 37,717,636 msg/sec tbb::spin_mutex, 2,s: 21,048,498 msg/sec tbb::spin_mutex, 2,i: 18,366,244 msg/sec tbb::spin_mutex, 3,s: 8,589,006 msg/sec tbb::spin_mutex, 3,i: 10,174,117 msg/sec tbb::spin_mutex, 4,s: 3,186,216 msg/sec tbb::spin_mutex, 4,i: 6,342,652 msg/sec tbb::spin_mutex, 5,s: 5,125,725 msg/sec tbb::spin_mutex, 5,i: 5,758,389 msg/sec tbb::spin_mutex, 6,s: 5,342,709 msg/sec tbb::spin_mutex, 6,i: 4,343,546 msg/sec tbb::spin_mutex, 7,s: 4,879,895 msg/sec tbb::spin_mutex, 7,i: 4,253,548 msg/sec tbb::spin_mutex, 8,s: 4,250,008 msg/sec tbb::spin_mutex, 8,i: 4,083,658 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,428,157 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,482,342 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,819,443 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,775,257 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,026,563 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,572,918 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,339,888 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,332,534 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,622,542 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,204,009 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,985,965 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,441,888 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,005,422 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,624,856 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,085,983 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,720,135 msg/sec xenium::michael_scott_queue, 1,s: 9,509,598 msg/sec xenium::michael_scott_queue, 1,i: 9,582,189 msg/sec xenium::michael_scott_queue, 2,s: 8,331,063 msg/sec xenium::michael_scott_queue, 2,i: 8,479,600 msg/sec xenium::michael_scott_queue, 3,s: 7,114,413 msg/sec xenium::michael_scott_queue, 3,i: 7,501,861 msg/sec xenium::michael_scott_queue, 4,s: 6,322,080 msg/sec xenium::michael_scott_queue, 4,i: 6,374,019 msg/sec xenium::michael_scott_queue, 5,s: 6,300,041 msg/sec xenium::michael_scott_queue, 5,i: 6,741,352 msg/sec xenium::michael_scott_queue, 6,s: 6,487,436 msg/sec xenium::michael_scott_queue, 6,i: 6,720,717 msg/sec xenium::michael_scott_queue, 7,s: 6,321,010 msg/sec xenium::michael_scott_queue, 7,i: 6,577,861 msg/sec xenium::michael_scott_queue, 8,s: 5,993,578 msg/sec xenium::michael_scott_queue, 8,i: 6,042,169 msg/sec xenium::ramalhete_queue, 1,s: 32,104,388 msg/sec xenium::ramalhete_queue, 1,i: 32,061,235 msg/sec xenium::ramalhete_queue, 2,s: 23,603,319 msg/sec xenium::ramalhete_queue, 2,i: 23,295,724 msg/sec xenium::ramalhete_queue, 3,s: 29,293,590 msg/sec xenium::ramalhete_queue, 3,i: 28,424,600 msg/sec xenium::ramalhete_queue, 4,s: 33,880,193 msg/sec xenium::ramalhete_queue, 4,i: 33,518,017 msg/sec xenium::ramalhete_queue, 5,s: 32,165,974 msg/sec xenium::ramalhete_queue, 5,i: 36,031,332 msg/sec xenium::ramalhete_queue, 6,s: 34,091,315 msg/sec xenium::ramalhete_queue, 6,i: 39,014,270 msg/sec xenium::ramalhete_queue, 7,s: 34,970,470 msg/sec xenium::ramalhete_queue, 7,i: 42,233,186 msg/sec xenium::ramalhete_queue, 8,s: 35,341,683 msg/sec xenium::ramalhete_queue, 8,i: 44,120,703 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,759,453 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,098,513 msg/sec xenium::vyukov_bounded_queue, 2,s: 22,285,905 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,604,403 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,682,866 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,742,591 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,572,332 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,357,871 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,842,065 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,358,810 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,723,451 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,637,370 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,232,535 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,301,147 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,404,089 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,321,493 msg/sec AtomicQueue, 1,s: 233,980,578 msg/sec AtomicQueue, 1,i: 56,596,720 msg/sec AtomicQueue, 2,s: 12,244,237 msg/sec AtomicQueue, 2,i: 11,720,953 msg/sec AtomicQueue, 3,s: 10,760,360 msg/sec AtomicQueue, 3,i: 9,901,190 msg/sec AtomicQueue, 4,s: 8,180,814 msg/sec AtomicQueue, 4,i: 8,169,256 msg/sec AtomicQueue, 5,s: 8,003,002 msg/sec AtomicQueue, 5,i: 8,077,374 msg/sec AtomicQueue, 6,s: 7,768,023 msg/sec AtomicQueue, 6,i: 7,600,471 msg/sec AtomicQueue, 7,s: 7,096,318 msg/sec AtomicQueue, 7,i: 7,970,055 msg/sec AtomicQueue, 8,s: 6,367,906 msg/sec AtomicQueue, 8,i: 7,452,482 msg/sec AtomicQueueB, 1,s: 57,850,893 msg/sec AtomicQueueB, 1,i: 43,003,983 msg/sec AtomicQueueB, 2,s: 11,885,801 msg/sec AtomicQueueB, 2,i: 11,460,861 msg/sec AtomicQueueB, 3,s: 11,004,824 msg/sec AtomicQueueB, 3,i: 10,112,548 msg/sec AtomicQueueB, 4,s: 8,061,067 msg/sec AtomicQueueB, 4,i: 8,004,822 msg/sec AtomicQueueB, 5,s: 7,585,270 msg/sec AtomicQueueB, 5,i: 7,752,736 msg/sec AtomicQueueB, 6,s: 7,491,438 msg/sec AtomicQueueB, 6,i: 7,496,716 msg/sec AtomicQueueB, 7,s: 6,895,296 msg/sec AtomicQueueB, 7,i: 7,758,146 msg/sec AtomicQueueB, 8,s: 6,201,322 msg/sec AtomicQueueB, 8,i: 7,149,733 msg/sec OptimistAtomicQueue, 1,s: 729,702,237 msg/sec OptimistAtomicQueue, 1,i: 552,344,363 msg/sec OptimistAtomicQueue, 2,s: 32,650,955 msg/sec OptimistAtomicQueue, 2,i: 32,668,321 msg/sec OptimistAtomicQueue, 3,s: 36,621,328 msg/sec OptimistAtomicQueue, 3,i: 37,316,360 msg/sec OptimistAtomicQueue, 4,s: 39,305,592 msg/sec OptimistAtomicQueue, 4,i: 39,372,266 msg/sec OptimistAtomicQueue, 5,s: 42,451,002 msg/sec OptimistAtomicQueue, 5,i: 46,279,182 msg/sec OptimistAtomicQueue, 6,s: 42,663,880 msg/sec OptimistAtomicQueue, 6,i: 49,831,662 msg/sec OptimistAtomicQueue, 7,s: 44,157,491 msg/sec OptimistAtomicQueue, 7,i: 52,945,818 msg/sec OptimistAtomicQueue, 8,s: 46,344,371 msg/sec OptimistAtomicQueue, 8,i: 49,241,690 msg/sec OptimistAtomicQueueB, 1,s: 176,555,410 msg/sec OptimistAtomicQueueB, 1,i: 75,869,612 msg/sec OptimistAtomicQueueB, 2,s: 32,265,487 msg/sec OptimistAtomicQueueB, 2,i: 32,165,070 msg/sec OptimistAtomicQueueB, 3,s: 36,303,050 msg/sec OptimistAtomicQueueB, 3,i: 36,878,834 msg/sec OptimistAtomicQueueB, 4,s: 38,627,128 msg/sec OptimistAtomicQueueB, 4,i: 38,614,740 msg/sec OptimistAtomicQueueB, 5,s: 40,276,148 msg/sec OptimistAtomicQueueB, 5,i: 45,446,370 msg/sec OptimistAtomicQueueB, 6,s: 41,441,083 msg/sec OptimistAtomicQueueB, 6,i: 48,571,775 msg/sec OptimistAtomicQueueB, 7,s: 41,983,350 msg/sec OptimistAtomicQueueB, 7,i: 51,378,300 msg/sec OptimistAtomicQueueB, 8,s: 44,455,883 msg/sec OptimistAtomicQueueB, 8,i: 48,049,987 msg/sec AtomicQueue2, 1,s: 22,863,466 msg/sec AtomicQueue2, 1,i: 22,852,194 msg/sec AtomicQueue2, 2,s: 11,768,600 msg/sec AtomicQueue2, 2,i: 11,384,310 msg/sec AtomicQueue2, 3,s: 9,712,299 msg/sec AtomicQueue2, 3,i: 9,468,564 msg/sec AtomicQueue2, 4,s: 8,001,421 msg/sec AtomicQueue2, 4,i: 8,051,150 msg/sec AtomicQueue2, 5,s: 7,942,209 msg/sec AtomicQueue2, 5,i: 8,054,206 msg/sec AtomicQueue2, 6,s: 7,783,171 msg/sec AtomicQueue2, 6,i: 7,521,251 msg/sec AtomicQueue2, 7,s: 7,114,654 msg/sec AtomicQueue2, 7,i: 7,899,620 msg/sec AtomicQueue2, 8,s: 6,384,479 msg/sec AtomicQueue2, 8,i: 7,353,234 msg/sec AtomicQueueB2, 1,s: 36,122,977 msg/sec AtomicQueueB2, 1,i: 36,049,664 msg/sec AtomicQueueB2, 2,s: 11,426,295 msg/sec AtomicQueueB2, 2,i: 11,093,049 msg/sec AtomicQueueB2, 3,s: 9,652,422 msg/sec AtomicQueueB2, 3,i: 9,605,869 msg/sec AtomicQueueB2, 4,s: 7,966,972 msg/sec AtomicQueueB2, 4,i: 7,920,395 msg/sec AtomicQueueB2, 5,s: 7,630,231 msg/sec AtomicQueueB2, 5,i: 7,760,762 msg/sec AtomicQueueB2, 6,s: 7,350,327 msg/sec AtomicQueueB2, 6,i: 7,473,323 msg/sec AtomicQueueB2, 7,s: 6,835,874 msg/sec AtomicQueueB2, 7,i: 7,692,789 msg/sec AtomicQueueB2, 8,s: 6,270,873 msg/sec AtomicQueueB2, 8,i: 7,102,534 msg/sec OptimistAtomicQueue2, 1,s: 468,291,513 msg/sec OptimistAtomicQueue2, 1,i: 32,142,012 msg/sec OptimistAtomicQueue2, 2,s: 25,486,907 msg/sec OptimistAtomicQueue2, 2,i: 24,012,535 msg/sec OptimistAtomicQueue2, 3,s: 30,319,219 msg/sec OptimistAtomicQueue2, 3,i: 29,996,117 msg/sec OptimistAtomicQueue2, 4,s: 35,152,352 msg/sec OptimistAtomicQueue2, 4,i: 33,251,034 msg/sec OptimistAtomicQueue2, 5,s: 37,015,027 msg/sec OptimistAtomicQueue2, 5,i: 40,152,152 msg/sec OptimistAtomicQueue2, 6,s: 40,117,021 msg/sec OptimistAtomicQueue2, 6,i: 48,683,031 msg/sec OptimistAtomicQueue2, 7,s: 43,344,199 msg/sec OptimistAtomicQueue2, 7,i: 48,194,946 msg/sec OptimistAtomicQueue2, 8,s: 43,894,601 msg/sec OptimistAtomicQueue2, 8,i: 49,856,437 msg/sec OptimistAtomicQueueB2, 1,s: 76,205,045 msg/sec OptimistAtomicQueueB2, 1,i: 33,876,538 msg/sec OptimistAtomicQueueB2, 2,s: 26,925,209 msg/sec OptimistAtomicQueueB2, 2,i: 23,920,602 msg/sec OptimistAtomicQueueB2, 3,s: 30,273,030 msg/sec OptimistAtomicQueueB2, 3,i: 29,582,275 msg/sec OptimistAtomicQueueB2, 4,s: 33,259,545 msg/sec OptimistAtomicQueueB2, 4,i: 33,050,881 msg/sec OptimistAtomicQueueB2, 5,s: 34,464,985 msg/sec OptimistAtomicQueueB2, 5,i: 39,298,956 msg/sec OptimistAtomicQueueB2, 6,s: 37,701,608 msg/sec OptimistAtomicQueueB2, 6,i: 42,215,404 msg/sec OptimistAtomicQueueB2, 7,s: 40,799,513 msg/sec OptimistAtomicQueueB2, 7,i: 43,101,064 msg/sec OptimistAtomicQueueB2, 8,s: 42,240,759 msg/sec OptimistAtomicQueueB2, 8,i: 45,835,752 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000133 sec/round-trip moodycamel::ConcurrentQueue: 0.000000234 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000461 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000202 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000179 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [347] 23m:23s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,574,359 msg/sec boost::lockfree::spsc_queue, 1,i: 65,388,433 msg/sec boost::lockfree::queue, 1,s: 6,821,975 msg/sec boost::lockfree::queue, 1,i: 6,846,907 msg/sec boost::lockfree::queue, 2,s: 7,541,581 msg/sec boost::lockfree::queue, 2,i: 7,512,401 msg/sec boost::lockfree::queue, 3,s: 7,380,135 msg/sec boost::lockfree::queue, 3,i: 7,562,041 msg/sec boost::lockfree::queue, 4,s: 6,424,585 msg/sec boost::lockfree::queue, 4,i: 6,892,331 msg/sec boost::lockfree::queue, 5,s: 6,384,308 msg/sec boost::lockfree::queue, 5,i: 6,470,824 msg/sec boost::lockfree::queue, 6,s: 5,959,683 msg/sec boost::lockfree::queue, 6,i: 6,106,791 msg/sec boost::lockfree::queue, 7,s: 5,811,753 msg/sec boost::lockfree::queue, 7,i: 5,913,396 msg/sec boost::lockfree::queue, 8,s: 5,465,354 msg/sec boost::lockfree::queue, 8,i: 5,478,589 msg/sec moodycamel::ReaderWriterQueue, 1,s: 87,868,321 msg/sec moodycamel::ReaderWriterQueue, 1,i: 47,290,604 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,036,390 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,984,061 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,952,108 msg/sec moodycamel::ConcurrentQueue, 2,i: 17,214,427 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,214,456 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,524,861 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,483,079 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,057,917 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,217,628 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,809,022 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,306,226 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,223,383 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,920,497 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,063,603 msg/sec moodycamel::ConcurrentQueue, 8,s: 52,371,804 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,831,033 msg/sec pthread_spinlock, 1,s: 29,136,593 msg/sec pthread_spinlock, 1,i: 25,276,940 msg/sec pthread_spinlock, 2,s: 16,134,341 msg/sec pthread_spinlock, 2,i: 16,830,074 msg/sec pthread_spinlock, 3,s: 8,343,770 msg/sec pthread_spinlock, 3,i: 11,970,348 msg/sec pthread_spinlock, 4,s: 6,514,883 msg/sec pthread_spinlock, 4,i: 8,749,064 msg/sec pthread_spinlock, 5,s: 8,770,303 msg/sec pthread_spinlock, 5,i: 8,835,189 msg/sec pthread_spinlock, 6,s: 8,315,516 msg/sec pthread_spinlock, 6,i: 8,464,392 msg/sec pthread_spinlock, 7,s: 7,966,363 msg/sec pthread_spinlock, 7,i: 7,729,554 msg/sec pthread_spinlock, 8,s: 6,652,440 msg/sec pthread_spinlock, 8,i: 7,528,044 msg/sec std::mutex, 1,s: 7,266,268 msg/sec std::mutex, 1,i: 6,648,841 msg/sec std::mutex, 2,s: 4,941,366 msg/sec std::mutex, 2,i: 5,399,392 msg/sec std::mutex, 3,s: 5,057,567 msg/sec std::mutex, 3,i: 5,658,873 msg/sec std::mutex, 4,s: 5,042,873 msg/sec std::mutex, 4,i: 6,342,911 msg/sec std::mutex, 5,s: 6,169,960 msg/sec std::mutex, 5,i: 6,102,241 msg/sec std::mutex, 6,s: 6,070,690 msg/sec std::mutex, 6,i: 6,030,946 msg/sec std::mutex, 7,s: 5,945,295 msg/sec std::mutex, 7,i: 5,932,529 msg/sec std::mutex, 8,s: 5,715,560 msg/sec std::mutex, 8,i: 5,747,522 msg/sec tbb::spin_mutex, 1,s: 37,661,511 msg/sec tbb::spin_mutex, 1,i: 32,941,397 msg/sec tbb::spin_mutex, 2,s: 20,978,206 msg/sec tbb::spin_mutex, 2,i: 18,634,795 msg/sec tbb::spin_mutex, 3,s: 7,370,788 msg/sec tbb::spin_mutex, 3,i: 10,056,306 msg/sec tbb::spin_mutex, 4,s: 2,990,899 msg/sec tbb::spin_mutex, 4,i: 6,278,598 msg/sec tbb::spin_mutex, 5,s: 5,445,071 msg/sec tbb::spin_mutex, 5,i: 5,717,009 msg/sec tbb::spin_mutex, 6,s: 5,291,589 msg/sec tbb::spin_mutex, 6,i: 4,372,056 msg/sec tbb::spin_mutex, 7,s: 4,832,044 msg/sec tbb::spin_mutex, 7,i: 4,336,812 msg/sec tbb::spin_mutex, 8,s: 3,827,640 msg/sec tbb::spin_mutex, 8,i: 4,184,419 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,240,099 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,214,462 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,489,449 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,675,141 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,392,623 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,556,429 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,124,316 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,493,416 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,546,537 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,611,011 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,823,931 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,636,688 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,834,491 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,814,966 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,060,503 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,085,006 msg/sec xenium::michael_scott_queue, 1,s: 9,107,186 msg/sec xenium::michael_scott_queue, 1,i: 9,058,554 msg/sec xenium::michael_scott_queue, 2,s: 8,486,712 msg/sec xenium::michael_scott_queue, 2,i: 8,451,051 msg/sec xenium::michael_scott_queue, 3,s: 7,300,378 msg/sec xenium::michael_scott_queue, 3,i: 7,519,296 msg/sec xenium::michael_scott_queue, 4,s: 6,268,550 msg/sec xenium::michael_scott_queue, 4,i: 6,276,457 msg/sec xenium::michael_scott_queue, 5,s: 6,304,364 msg/sec xenium::michael_scott_queue, 5,i: 6,642,560 msg/sec xenium::michael_scott_queue, 6,s: 6,500,351 msg/sec xenium::michael_scott_queue, 6,i: 6,974,928 msg/sec xenium::michael_scott_queue, 7,s: 6,310,225 msg/sec xenium::michael_scott_queue, 7,i: 6,573,390 msg/sec xenium::michael_scott_queue, 8,s: 5,962,936 msg/sec xenium::michael_scott_queue, 8,i: 6,122,266 msg/sec xenium::ramalhete_queue, 1,s: 31,945,970 msg/sec xenium::ramalhete_queue, 1,i: 31,779,322 msg/sec xenium::ramalhete_queue, 2,s: 23,588,619 msg/sec xenium::ramalhete_queue, 2,i: 23,352,615 msg/sec xenium::ramalhete_queue, 3,s: 29,315,574 msg/sec xenium::ramalhete_queue, 3,i: 28,541,219 msg/sec xenium::ramalhete_queue, 4,s: 33,838,221 msg/sec xenium::ramalhete_queue, 4,i: 33,420,745 msg/sec xenium::ramalhete_queue, 5,s: 32,130,068 msg/sec xenium::ramalhete_queue, 5,i: 36,265,068 msg/sec xenium::ramalhete_queue, 6,s: 33,951,512 msg/sec xenium::ramalhete_queue, 6,i: 38,571,226 msg/sec xenium::ramalhete_queue, 7,s: 34,823,449 msg/sec xenium::ramalhete_queue, 7,i: 40,859,010 msg/sec xenium::ramalhete_queue, 8,s: 35,445,941 msg/sec xenium::ramalhete_queue, 8,i: 43,839,263 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,307,058 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,917,287 msg/sec xenium::vyukov_bounded_queue, 2,s: 24,817,033 msg/sec xenium::vyukov_bounded_queue, 2,i: 26,161,941 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,641,758 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,632,012 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,602,178 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,413,214 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,751,497 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,316,347 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,098,082 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,470,474 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,280,366 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,025,462 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,418,454 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,232,366 msg/sec AtomicQueue, 1,s: 59,561,103 msg/sec AtomicQueue, 1,i: 56,559,210 msg/sec AtomicQueue, 2,s: 12,334,869 msg/sec AtomicQueue, 2,i: 11,761,230 msg/sec AtomicQueue, 3,s: 10,760,826 msg/sec AtomicQueue, 3,i: 9,924,514 msg/sec AtomicQueue, 4,s: 8,238,350 msg/sec AtomicQueue, 4,i: 8,222,315 msg/sec AtomicQueue, 5,s: 8,015,122 msg/sec AtomicQueue, 5,i: 8,130,079 msg/sec AtomicQueue, 6,s: 7,946,768 msg/sec AtomicQueue, 6,i: 7,591,982 msg/sec AtomicQueue, 7,s: 7,073,050 msg/sec AtomicQueue, 7,i: 7,981,493 msg/sec AtomicQueue, 8,s: 6,347,059 msg/sec AtomicQueue, 8,i: 7,435,501 msg/sec AtomicQueueB, 1,s: 43,851,206 msg/sec AtomicQueueB, 1,i: 93,256,936 msg/sec AtomicQueueB, 2,s: 11,573,741 msg/sec AtomicQueueB, 2,i: 11,389,493 msg/sec AtomicQueueB, 3,s: 10,878,722 msg/sec AtomicQueueB, 3,i: 10,286,198 msg/sec AtomicQueueB, 4,s: 8,092,493 msg/sec AtomicQueueB, 4,i: 8,103,877 msg/sec AtomicQueueB, 5,s: 7,661,307 msg/sec AtomicQueueB, 5,i: 7,859,644 msg/sec AtomicQueueB, 6,s: 7,365,688 msg/sec AtomicQueueB, 6,i: 7,515,946 msg/sec AtomicQueueB, 7,s: 6,866,075 msg/sec AtomicQueueB, 7,i: 7,722,455 msg/sec AtomicQueueB, 8,s: 6,279,569 msg/sec AtomicQueueB, 8,i: 7,166,122 msg/sec OptimistAtomicQueue, 1,s: 753,729,169 msg/sec OptimistAtomicQueue, 1,i: 590,190,212 msg/sec OptimistAtomicQueue, 2,s: 32,634,700 msg/sec OptimistAtomicQueue, 2,i: 32,634,934 msg/sec OptimistAtomicQueue, 3,s: 36,648,204 msg/sec OptimistAtomicQueue, 3,i: 37,374,254 msg/sec OptimistAtomicQueue, 4,s: 39,280,457 msg/sec OptimistAtomicQueue, 4,i: 39,418,022 msg/sec OptimistAtomicQueue, 5,s: 41,716,692 msg/sec OptimistAtomicQueue, 5,i: 47,267,401 msg/sec OptimistAtomicQueue, 6,s: 42,727,862 msg/sec OptimistAtomicQueue, 6,i: 50,494,565 msg/sec OptimistAtomicQueue, 7,s: 44,467,691 msg/sec OptimistAtomicQueue, 7,i: 52,908,633 msg/sec OptimistAtomicQueue, 8,s: 46,401,183 msg/sec OptimistAtomicQueue, 8,i: 49,485,261 msg/sec OptimistAtomicQueueB, 1,s: 78,035,457 msg/sec OptimistAtomicQueueB, 1,i: 76,584,697 msg/sec OptimistAtomicQueueB, 2,s: 32,268,979 msg/sec OptimistAtomicQueueB, 2,i: 32,040,000 msg/sec OptimistAtomicQueueB, 3,s: 36,219,155 msg/sec OptimistAtomicQueueB, 3,i: 36,942,423 msg/sec OptimistAtomicQueueB, 4,s: 38,706,323 msg/sec OptimistAtomicQueueB, 4,i: 38,539,647 msg/sec OptimistAtomicQueueB, 5,s: 40,464,583 msg/sec OptimistAtomicQueueB, 5,i: 45,521,167 msg/sec OptimistAtomicQueueB, 6,s: 40,982,586 msg/sec OptimistAtomicQueueB, 6,i: 49,091,216 msg/sec OptimistAtomicQueueB, 7,s: 41,909,672 msg/sec OptimistAtomicQueueB, 7,i: 51,326,850 msg/sec OptimistAtomicQueueB, 8,s: 44,244,752 msg/sec OptimistAtomicQueueB, 8,i: 48,314,335 msg/sec AtomicQueue2, 1,s: 22,866,021 msg/sec AtomicQueue2, 1,i: 22,873,604 msg/sec AtomicQueue2, 2,s: 11,852,250 msg/sec AtomicQueue2, 2,i: 11,491,408 msg/sec AtomicQueue2, 3,s: 9,315,265 msg/sec AtomicQueue2, 3,i: 9,495,168 msg/sec AtomicQueue2, 4,s: 8,090,071 msg/sec AtomicQueue2, 4,i: 8,103,074 msg/sec AtomicQueue2, 5,s: 7,949,107 msg/sec AtomicQueue2, 5,i: 8,028,130 msg/sec AtomicQueue2, 6,s: 7,633,584 msg/sec AtomicQueue2, 6,i: 7,534,709 msg/sec AtomicQueue2, 7,s: 7,158,558 msg/sec AtomicQueue2, 7,i: 7,886,062 msg/sec AtomicQueue2, 8,s: 6,392,929 msg/sec AtomicQueue2, 8,i: 7,285,530 msg/sec AtomicQueueB2, 1,s: 35,820,125 msg/sec AtomicQueueB2, 1,i: 32,628,669 msg/sec AtomicQueueB2, 2,s: 11,394,036 msg/sec AtomicQueueB2, 2,i: 11,079,839 msg/sec AtomicQueueB2, 3,s: 9,586,424 msg/sec AtomicQueueB2, 3,i: 9,517,185 msg/sec AtomicQueueB2, 4,s: 7,948,147 msg/sec AtomicQueueB2, 4,i: 7,898,607 msg/sec AtomicQueueB2, 5,s: 7,498,675 msg/sec AtomicQueueB2, 5,i: 7,739,208 msg/sec AtomicQueueB2, 6,s: 7,284,807 msg/sec AtomicQueueB2, 6,i: 7,428,770 msg/sec AtomicQueueB2, 7,s: 6,877,403 msg/sec AtomicQueueB2, 7,i: 7,719,750 msg/sec AtomicQueueB2, 8,s: 6,296,554 msg/sec AtomicQueueB2, 8,i: 7,042,775 msg/sec OptimistAtomicQueue2, 1,s: 465,811,963 msg/sec OptimistAtomicQueue2, 1,i: 33,156,680 msg/sec OptimistAtomicQueue2, 2,s: 24,801,470 msg/sec OptimistAtomicQueue2, 2,i: 24,030,520 msg/sec OptimistAtomicQueue2, 3,s: 30,317,258 msg/sec OptimistAtomicQueue2, 3,i: 29,944,239 msg/sec OptimistAtomicQueue2, 4,s: 33,227,617 msg/sec OptimistAtomicQueue2, 4,i: 33,310,692 msg/sec OptimistAtomicQueue2, 5,s: 37,282,896 msg/sec OptimistAtomicQueue2, 5,i: 40,088,646 msg/sec OptimistAtomicQueue2, 6,s: 40,405,512 msg/sec OptimistAtomicQueue2, 6,i: 49,421,118 msg/sec OptimistAtomicQueue2, 7,s: 42,659,502 msg/sec OptimistAtomicQueue2, 7,i: 51,515,034 msg/sec OptimistAtomicQueue2, 8,s: 43,975,934 msg/sec OptimistAtomicQueue2, 8,i: 48,642,312 msg/sec OptimistAtomicQueueB2, 1,s: 74,753,592 msg/sec OptimistAtomicQueueB2, 1,i: 33,871,963 msg/sec OptimistAtomicQueueB2, 2,s: 27,245,829 msg/sec OptimistAtomicQueueB2, 2,i: 23,121,110 msg/sec OptimistAtomicQueueB2, 3,s: 32,313,807 msg/sec OptimistAtomicQueueB2, 3,i: 29,005,649 msg/sec OptimistAtomicQueueB2, 4,s: 33,385,759 msg/sec OptimistAtomicQueueB2, 4,i: 32,124,645 msg/sec OptimistAtomicQueueB2, 5,s: 34,570,255 msg/sec OptimistAtomicQueueB2, 5,i: 39,031,468 msg/sec OptimistAtomicQueueB2, 6,s: 37,729,755 msg/sec OptimistAtomicQueueB2, 6,i: 42,339,235 msg/sec OptimistAtomicQueueB2, 7,s: 40,123,691 msg/sec OptimistAtomicQueueB2, 7,i: 45,527,622 msg/sec OptimistAtomicQueueB2, 8,s: 42,639,293 msg/sec OptimistAtomicQueueB2, 8,i: 45,431,933 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000322 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000242 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000469 sec/round-trip tbb::spin_mutex: 0.000000295 sec/round-trip tbb::concurrent_bounded_queue: 0.000000300 sec/round-trip xenium::michael_scott_queue: 0.000000362 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000201 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000175 sec/round-trip OptimistAtomicQueue: 0.000000154 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000189 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [348] 22m:3s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 65,161,537 msg/sec boost::lockfree::spsc_queue, 1,i: 65,123,305 msg/sec boost::lockfree::queue, 1,s: 6,919,924 msg/sec boost::lockfree::queue, 1,i: 6,940,835 msg/sec boost::lockfree::queue, 2,s: 7,702,774 msg/sec boost::lockfree::queue, 2,i: 7,619,063 msg/sec boost::lockfree::queue, 3,s: 7,399,677 msg/sec boost::lockfree::queue, 3,i: 7,550,968 msg/sec boost::lockfree::queue, 4,s: 6,424,830 msg/sec boost::lockfree::queue, 4,i: 6,824,047 msg/sec boost::lockfree::queue, 5,s: 6,372,629 msg/sec boost::lockfree::queue, 5,i: 6,494,937 msg/sec boost::lockfree::queue, 6,s: 5,990,907 msg/sec boost::lockfree::queue, 6,i: 6,195,471 msg/sec boost::lockfree::queue, 7,s: 5,845,510 msg/sec boost::lockfree::queue, 7,i: 5,958,018 msg/sec boost::lockfree::queue, 8,s: 5,432,139 msg/sec boost::lockfree::queue, 8,i: 5,680,483 msg/sec moodycamel::ReaderWriterQueue, 1,s: 454,210,990 msg/sec moodycamel::ReaderWriterQueue, 1,i: 452,084,828 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,799,832 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,583,025 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,635,331 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,190,993 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,987,657 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,341,504 msg/sec moodycamel::ConcurrentQueue, 4,s: 31,369,738 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,364,744 msg/sec moodycamel::ConcurrentQueue, 5,s: 30,378,705 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,867,706 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,073,893 msg/sec moodycamel::ConcurrentQueue, 6,i: 34,324,722 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,922,319 msg/sec moodycamel::ConcurrentQueue, 7,i: 52,773,019 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,219,688 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,256,579 msg/sec pthread_spinlock, 1,s: 29,010,931 msg/sec pthread_spinlock, 1,i: 25,327,054 msg/sec pthread_spinlock, 2,s: 15,585,414 msg/sec pthread_spinlock, 2,i: 17,008,907 msg/sec pthread_spinlock, 3,s: 8,300,925 msg/sec pthread_spinlock, 3,i: 12,033,332 msg/sec pthread_spinlock, 4,s: 6,488,514 msg/sec pthread_spinlock, 4,i: 9,234,491 msg/sec pthread_spinlock, 5,s: 8,742,652 msg/sec pthread_spinlock, 5,i: 9,619,022 msg/sec pthread_spinlock, 6,s: 8,294,363 msg/sec pthread_spinlock, 6,i: 9,040,007 msg/sec pthread_spinlock, 7,s: 7,719,418 msg/sec pthread_spinlock, 7,i: 7,992,700 msg/sec pthread_spinlock, 8,s: 6,928,505 msg/sec pthread_spinlock, 8,i: 6,840,056 msg/sec std::mutex, 1,s: 5,797,404 msg/sec std::mutex, 1,i: 7,612,473 msg/sec std::mutex, 2,s: 6,184,420 msg/sec std::mutex, 2,i: 5,574,842 msg/sec std::mutex, 3,s: 4,595,591 msg/sec std::mutex, 3,i: 5,156,002 msg/sec std::mutex, 4,s: 5,168,900 msg/sec std::mutex, 4,i: 6,001,404 msg/sec std::mutex, 5,s: 6,050,271 msg/sec std::mutex, 5,i: 6,173,395 msg/sec std::mutex, 6,s: 5,986,713 msg/sec std::mutex, 6,i: 5,962,803 msg/sec std::mutex, 7,s: 5,870,793 msg/sec std::mutex, 7,i: 5,855,314 msg/sec std::mutex, 8,s: 5,736,340 msg/sec std::mutex, 8,i: 5,746,173 msg/sec tbb::spin_mutex, 1,s: 37,809,901 msg/sec tbb::spin_mutex, 1,i: 32,989,041 msg/sec tbb::spin_mutex, 2,s: 21,158,840 msg/sec tbb::spin_mutex, 2,i: 18,354,329 msg/sec tbb::spin_mutex, 3,s: 7,986,681 msg/sec tbb::spin_mutex, 3,i: 10,248,884 msg/sec tbb::spin_mutex, 4,s: 3,257,020 msg/sec tbb::spin_mutex, 4,i: 6,338,299 msg/sec tbb::spin_mutex, 5,s: 5,524,983 msg/sec tbb::spin_mutex, 5,i: 5,726,909 msg/sec tbb::spin_mutex, 6,s: 5,359,030 msg/sec tbb::spin_mutex, 6,i: 4,364,840 msg/sec tbb::spin_mutex, 7,s: 4,665,669 msg/sec tbb::spin_mutex, 7,i: 4,389,140 msg/sec tbb::spin_mutex, 8,s: 4,230,068 msg/sec tbb::spin_mutex, 8,i: 4,190,288 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,802,900 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,049,213 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,481,162 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,342,534 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,594,072 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,489,970 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,620,837 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,580,149 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,888,908 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,598,398 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,896,828 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,667,749 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,871,826 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,843,103 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,782,848 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,472,242 msg/sec xenium::michael_scott_queue, 1,s: 10,149,928 msg/sec xenium::michael_scott_queue, 1,i: 9,920,185 msg/sec xenium::michael_scott_queue, 2,s: 8,410,426 msg/sec xenium::michael_scott_queue, 2,i: 8,502,153 msg/sec xenium::michael_scott_queue, 3,s: 7,284,386 msg/sec xenium::michael_scott_queue, 3,i: 7,524,686 msg/sec xenium::michael_scott_queue, 4,s: 6,272,998 msg/sec xenium::michael_scott_queue, 4,i: 6,333,123 msg/sec xenium::michael_scott_queue, 5,s: 6,290,758 msg/sec xenium::michael_scott_queue, 5,i: 6,649,812 msg/sec xenium::michael_scott_queue, 6,s: 6,495,260 msg/sec xenium::michael_scott_queue, 6,i: 6,973,007 msg/sec xenium::michael_scott_queue, 7,s: 6,298,838 msg/sec xenium::michael_scott_queue, 7,i: 6,442,793 msg/sec xenium::michael_scott_queue, 8,s: 6,053,118 msg/sec xenium::michael_scott_queue, 8,i: 6,140,071 msg/sec xenium::ramalhete_queue, 1,s: 32,532,812 msg/sec xenium::ramalhete_queue, 1,i: 32,412,295 msg/sec xenium::ramalhete_queue, 2,s: 23,522,146 msg/sec xenium::ramalhete_queue, 2,i: 23,384,774 msg/sec xenium::ramalhete_queue, 3,s: 29,117,959 msg/sec xenium::ramalhete_queue, 3,i: 28,475,075 msg/sec xenium::ramalhete_queue, 4,s: 33,825,717 msg/sec xenium::ramalhete_queue, 4,i: 33,454,128 msg/sec xenium::ramalhete_queue, 5,s: 32,183,736 msg/sec xenium::ramalhete_queue, 5,i: 36,222,682 msg/sec xenium::ramalhete_queue, 6,s: 33,945,508 msg/sec xenium::ramalhete_queue, 6,i: 38,803,450 msg/sec xenium::ramalhete_queue, 7,s: 35,198,902 msg/sec xenium::ramalhete_queue, 7,i: 41,570,926 msg/sec xenium::ramalhete_queue, 8,s: 35,472,189 msg/sec xenium::ramalhete_queue, 8,i: 44,414,585 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,468,926 msg/sec xenium::vyukov_bounded_queue, 1,i: 122,210,346 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,063,311 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,613,424 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,592,324 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,568,109 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,559,149 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,287,518 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,774,438 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,304,240 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,961,785 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,480,076 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,260,437 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,937,032 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,478,738 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,356,384 msg/sec AtomicQueue, 1,s: 62,615,755 msg/sec AtomicQueue, 1,i: 57,221,054 msg/sec AtomicQueue, 2,s: 12,305,928 msg/sec AtomicQueue, 2,i: 11,754,287 msg/sec AtomicQueue, 3,s: 10,776,410 msg/sec AtomicQueue, 3,i: 9,982,247 msg/sec AtomicQueue, 4,s: 8,199,644 msg/sec AtomicQueue, 4,i: 8,232,226 msg/sec AtomicQueue, 5,s: 8,041,737 msg/sec AtomicQueue, 5,i: 8,123,055 msg/sec AtomicQueue, 6,s: 7,841,096 msg/sec AtomicQueue, 6,i: 7,608,131 msg/sec AtomicQueue, 7,s: 7,176,861 msg/sec AtomicQueue, 7,i: 7,993,271 msg/sec AtomicQueue, 8,s: 6,353,264 msg/sec AtomicQueue, 8,i: 7,351,029 msg/sec AtomicQueueB, 1,s: 56,743,349 msg/sec AtomicQueueB, 1,i: 43,060,736 msg/sec AtomicQueueB, 2,s: 11,816,051 msg/sec AtomicQueueB, 2,i: 11,501,258 msg/sec AtomicQueueB, 3,s: 11,040,966 msg/sec AtomicQueueB, 3,i: 10,075,317 msg/sec AtomicQueueB, 4,s: 8,099,467 msg/sec AtomicQueueB, 4,i: 8,082,426 msg/sec AtomicQueueB, 5,s: 7,539,866 msg/sec AtomicQueueB, 5,i: 7,817,970 msg/sec AtomicQueueB, 6,s: 7,217,059 msg/sec AtomicQueueB, 6,i: 7,594,093 msg/sec AtomicQueueB, 7,s: 6,955,933 msg/sec AtomicQueueB, 7,i: 7,755,335 msg/sec AtomicQueueB, 8,s: 6,224,882 msg/sec AtomicQueueB, 8,i: 7,180,476 msg/sec OptimistAtomicQueue, 1,s: 829,842,979 msg/sec OptimistAtomicQueue, 1,i: 590,304,484 msg/sec OptimistAtomicQueue, 2,s: 32,191,612 msg/sec OptimistAtomicQueue, 2,i: 32,425,945 msg/sec OptimistAtomicQueue, 3,s: 36,657,850 msg/sec OptimistAtomicQueue, 3,i: 37,299,292 msg/sec OptimistAtomicQueue, 4,s: 39,290,908 msg/sec OptimistAtomicQueue, 4,i: 39,370,713 msg/sec OptimistAtomicQueue, 5,s: 42,481,949 msg/sec OptimistAtomicQueue, 5,i: 48,327,049 msg/sec OptimistAtomicQueue, 6,s: 42,233,460 msg/sec OptimistAtomicQueue, 6,i: 49,709,628 msg/sec OptimistAtomicQueue, 7,s: 45,173,418 msg/sec OptimistAtomicQueue, 7,i: 52,925,512 msg/sec OptimistAtomicQueue, 8,s: 46,396,624 msg/sec OptimistAtomicQueue, 8,i: 49,301,404 msg/sec OptimistAtomicQueueB, 1,s: 473,989,977 msg/sec OptimistAtomicQueueB, 1,i: 121,332,902 msg/sec OptimistAtomicQueueB, 2,s: 32,162,823 msg/sec OptimistAtomicQueueB, 2,i: 31,917,236 msg/sec OptimistAtomicQueueB, 3,s: 36,248,905 msg/sec OptimistAtomicQueueB, 3,i: 36,833,494 msg/sec OptimistAtomicQueueB, 4,s: 38,620,933 msg/sec OptimistAtomicQueueB, 4,i: 38,668,049 msg/sec OptimistAtomicQueueB, 5,s: 41,057,162 msg/sec OptimistAtomicQueueB, 5,i: 46,086,153 msg/sec OptimistAtomicQueueB, 6,s: 41,005,289 msg/sec OptimistAtomicQueueB, 6,i: 49,063,721 msg/sec OptimistAtomicQueueB, 7,s: 41,780,305 msg/sec OptimistAtomicQueueB, 7,i: 48,309,635 msg/sec OptimistAtomicQueueB, 8,s: 44,695,301 msg/sec OptimistAtomicQueueB, 8,i: 48,276,869 msg/sec AtomicQueue2, 1,s: 23,149,500 msg/sec AtomicQueue2, 1,i: 23,186,963 msg/sec AtomicQueue2, 2,s: 11,950,272 msg/sec AtomicQueue2, 2,i: 11,474,839 msg/sec AtomicQueue2, 3,s: 9,435,450 msg/sec AtomicQueue2, 3,i: 9,344,431 msg/sec AtomicQueue2, 4,s: 8,121,239 msg/sec AtomicQueue2, 4,i: 8,075,604 msg/sec AtomicQueue2, 5,s: 7,899,554 msg/sec AtomicQueue2, 5,i: 8,045,931 msg/sec AtomicQueue2, 6,s: 7,650,477 msg/sec AtomicQueue2, 6,i: 7,520,258 msg/sec AtomicQueue2, 7,s: 7,114,896 msg/sec AtomicQueue2, 7,i: 7,891,080 msg/sec AtomicQueue2, 8,s: 6,378,032 msg/sec AtomicQueue2, 8,i: 7,325,752 msg/sec AtomicQueueB2, 1,s: 35,966,360 msg/sec AtomicQueueB2, 1,i: 36,253,839 msg/sec AtomicQueueB2, 2,s: 11,475,012 msg/sec AtomicQueueB2, 2,i: 11,137,018 msg/sec AtomicQueueB2, 3,s: 9,675,849 msg/sec AtomicQueueB2, 3,i: 9,549,225 msg/sec AtomicQueueB2, 4,s: 7,947,841 msg/sec AtomicQueueB2, 4,i: 7,774,453 msg/sec AtomicQueueB2, 5,s: 7,479,533 msg/sec AtomicQueueB2, 5,i: 7,672,822 msg/sec AtomicQueueB2, 6,s: 7,160,289 msg/sec AtomicQueueB2, 6,i: 7,435,988 msg/sec AtomicQueueB2, 7,s: 6,957,844 msg/sec AtomicQueueB2, 7,i: 7,690,515 msg/sec AtomicQueueB2, 8,s: 6,263,665 msg/sec AtomicQueueB2, 8,i: 7,072,204 msg/sec OptimistAtomicQueue2, 1,s: 440,501,709 msg/sec OptimistAtomicQueue2, 1,i: 402,929,783 msg/sec OptimistAtomicQueue2, 2,s: 24,796,022 msg/sec OptimistAtomicQueue2, 2,i: 25,678,323 msg/sec OptimistAtomicQueue2, 3,s: 30,323,621 msg/sec OptimistAtomicQueue2, 3,i: 30,072,579 msg/sec OptimistAtomicQueue2, 4,s: 34,895,717 msg/sec OptimistAtomicQueue2, 4,i: 33,148,299 msg/sec OptimistAtomicQueue2, 5,s: 37,281,693 msg/sec OptimistAtomicQueue2, 5,i: 40,349,942 msg/sec OptimistAtomicQueue2, 6,s: 40,060,186 msg/sec OptimistAtomicQueue2, 6,i: 49,245,647 msg/sec OptimistAtomicQueue2, 7,s: 42,713,140 msg/sec OptimistAtomicQueue2, 7,i: 48,216,658 msg/sec OptimistAtomicQueue2, 8,s: 44,018,162 msg/sec OptimistAtomicQueue2, 8,i: 48,538,709 msg/sec OptimistAtomicQueueB2, 1,s: 79,077,891 msg/sec OptimistAtomicQueueB2, 1,i: 33,939,350 msg/sec OptimistAtomicQueueB2, 2,s: 27,468,931 msg/sec OptimistAtomicQueueB2, 2,i: 25,689,456 msg/sec OptimistAtomicQueueB2, 3,s: 30,056,072 msg/sec OptimistAtomicQueueB2, 3,i: 29,615,437 msg/sec OptimistAtomicQueueB2, 4,s: 33,428,130 msg/sec OptimistAtomicQueueB2, 4,i: 32,575,113 msg/sec OptimistAtomicQueueB2, 5,s: 34,666,337 msg/sec OptimistAtomicQueueB2, 5,i: 39,206,536 msg/sec OptimistAtomicQueueB2, 6,s: 37,475,534 msg/sec OptimistAtomicQueueB2, 6,i: 42,381,396 msg/sec OptimistAtomicQueueB2, 7,s: 40,086,624 msg/sec OptimistAtomicQueueB2, 7,i: 45,611,160 msg/sec OptimistAtomicQueueB2, 8,s: 42,537,329 msg/sec OptimistAtomicQueueB2, 8,i: 46,315,026 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000146 sec/round-trip moodycamel::ConcurrentQueue: 0.000000231 sec/round-trip pthread_spinlock: 0.000000298 sec/round-trip std::mutex: 0.000000468 sec/round-trip tbb::spin_mutex: 0.000000287 sec/round-trip tbb::concurrent_bounded_queue: 0.000000281 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000258 sec/round-trip xenium::vyukov_bounded_queue: 0.000000208 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000185 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [349] 20m:44s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,618,082 msg/sec boost::lockfree::spsc_queue, 1,i: 70,710,874 msg/sec boost::lockfree::queue, 1,s: 6,950,990 msg/sec boost::lockfree::queue, 1,i: 6,946,840 msg/sec boost::lockfree::queue, 2,s: 7,584,619 msg/sec boost::lockfree::queue, 2,i: 7,450,683 msg/sec boost::lockfree::queue, 3,s: 7,415,201 msg/sec boost::lockfree::queue, 3,i: 7,568,296 msg/sec boost::lockfree::queue, 4,s: 6,425,582 msg/sec boost::lockfree::queue, 4,i: 6,815,980 msg/sec boost::lockfree::queue, 5,s: 6,402,311 msg/sec boost::lockfree::queue, 5,i: 6,502,774 msg/sec boost::lockfree::queue, 6,s: 5,993,788 msg/sec boost::lockfree::queue, 6,i: 6,108,672 msg/sec boost::lockfree::queue, 7,s: 5,927,723 msg/sec boost::lockfree::queue, 7,i: 5,940,045 msg/sec boost::lockfree::queue, 8,s: 5,458,261 msg/sec boost::lockfree::queue, 8,i: 5,673,719 msg/sec moodycamel::ReaderWriterQueue, 1,s: 62,970,286 msg/sec moodycamel::ReaderWriterQueue, 1,i: 66,287,622 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,055,546 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,031,137 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,838,620 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,829,439 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,551,446 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,839,963 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,650,453 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,019,798 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,187,094 msg/sec moodycamel::ConcurrentQueue, 5,i: 30,211,783 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,827,388 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,212,017 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,985,160 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,759,241 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,366,154 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,209,703 msg/sec pthread_spinlock, 1,s: 28,629,935 msg/sec pthread_spinlock, 1,i: 25,371,896 msg/sec pthread_spinlock, 2,s: 15,603,762 msg/sec pthread_spinlock, 2,i: 17,119,936 msg/sec pthread_spinlock, 3,s: 8,305,122 msg/sec pthread_spinlock, 3,i: 11,995,000 msg/sec pthread_spinlock, 4,s: 6,471,590 msg/sec pthread_spinlock, 4,i: 9,038,449 msg/sec pthread_spinlock, 5,s: 8,703,050 msg/sec pthread_spinlock, 5,i: 9,376,126 msg/sec pthread_spinlock, 6,s: 8,304,960 msg/sec pthread_spinlock, 6,i: 8,512,583 msg/sec pthread_spinlock, 7,s: 7,922,416 msg/sec pthread_spinlock, 7,i: 7,668,852 msg/sec pthread_spinlock, 8,s: 6,917,541 msg/sec pthread_spinlock, 8,i: 6,830,436 msg/sec std::mutex, 1,s: 6,997,711 msg/sec std::mutex, 1,i: 6,179,811 msg/sec std::mutex, 2,s: 6,186,523 msg/sec std::mutex, 2,i: 5,811,992 msg/sec std::mutex, 3,s: 5,281,232 msg/sec std::mutex, 3,i: 4,916,155 msg/sec std::mutex, 4,s: 5,183,431 msg/sec std::mutex, 4,i: 6,229,080 msg/sec std::mutex, 5,s: 5,583,710 msg/sec std::mutex, 5,i: 5,979,769 msg/sec std::mutex, 6,s: 5,831,560 msg/sec std::mutex, 6,i: 5,756,831 msg/sec std::mutex, 7,s: 5,717,598 msg/sec std::mutex, 7,i: 5,705,621 msg/sec std::mutex, 8,s: 5,638,575 msg/sec std::mutex, 8,i: 5,607,581 msg/sec tbb::spin_mutex, 1,s: 37,719,864 msg/sec tbb::spin_mutex, 1,i: 37,534,468 msg/sec tbb::spin_mutex, 2,s: 21,249,408 msg/sec tbb::spin_mutex, 2,i: 18,445,864 msg/sec tbb::spin_mutex, 3,s: 8,415,846 msg/sec tbb::spin_mutex, 3,i: 10,279,815 msg/sec tbb::spin_mutex, 4,s: 3,154,334 msg/sec tbb::spin_mutex, 4,i: 6,267,454 msg/sec tbb::spin_mutex, 5,s: 5,252,491 msg/sec tbb::spin_mutex, 5,i: 5,655,441 msg/sec tbb::spin_mutex, 6,s: 5,256,585 msg/sec tbb::spin_mutex, 6,i: 4,343,406 msg/sec tbb::spin_mutex, 7,s: 4,852,639 msg/sec tbb::spin_mutex, 7,i: 4,307,285 msg/sec tbb::spin_mutex, 8,s: 3,824,397 msg/sec tbb::spin_mutex, 8,i: 4,081,780 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,297,280 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,240,638 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,649,430 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,825,254 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,251,146 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,633,177 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,155,108 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,526,972 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,636,106 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,599,312 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,749,481 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,698,401 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,877,936 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,834,228 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,082,049 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,081,557 msg/sec xenium::michael_scott_queue, 1,s: 9,306,868 msg/sec xenium::michael_scott_queue, 1,i: 9,319,934 msg/sec xenium::michael_scott_queue, 2,s: 8,547,087 msg/sec xenium::michael_scott_queue, 2,i: 8,574,953 msg/sec xenium::michael_scott_queue, 3,s: 7,456,405 msg/sec xenium::michael_scott_queue, 3,i: 7,551,674 msg/sec xenium::michael_scott_queue, 4,s: 6,335,384 msg/sec xenium::michael_scott_queue, 4,i: 6,321,975 msg/sec xenium::michael_scott_queue, 5,s: 6,318,824 msg/sec xenium::michael_scott_queue, 5,i: 6,626,998 msg/sec xenium::michael_scott_queue, 6,s: 6,529,405 msg/sec xenium::michael_scott_queue, 6,i: 6,965,151 msg/sec xenium::michael_scott_queue, 7,s: 6,338,386 msg/sec xenium::michael_scott_queue, 7,i: 6,461,207 msg/sec xenium::michael_scott_queue, 8,s: 5,992,012 msg/sec xenium::michael_scott_queue, 8,i: 6,132,618 msg/sec xenium::ramalhete_queue, 1,s: 32,619,457 msg/sec xenium::ramalhete_queue, 1,i: 32,037,316 msg/sec xenium::ramalhete_queue, 2,s: 23,583,027 msg/sec xenium::ramalhete_queue, 2,i: 23,399,143 msg/sec xenium::ramalhete_queue, 3,s: 29,123,901 msg/sec xenium::ramalhete_queue, 3,i: 28,454,027 msg/sec xenium::ramalhete_queue, 4,s: 33,734,445 msg/sec xenium::ramalhete_queue, 4,i: 33,505,087 msg/sec xenium::ramalhete_queue, 5,s: 31,993,763 msg/sec xenium::ramalhete_queue, 5,i: 35,840,307 msg/sec xenium::ramalhete_queue, 6,s: 34,029,260 msg/sec xenium::ramalhete_queue, 6,i: 38,631,847 msg/sec xenium::ramalhete_queue, 7,s: 35,196,290 msg/sec xenium::ramalhete_queue, 7,i: 41,262,407 msg/sec xenium::ramalhete_queue, 8,s: 35,535,940 msg/sec xenium::ramalhete_queue, 8,i: 44,067,913 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,299,717 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,674,002 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,865,127 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,872,583 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,702,481 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,003,311 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,659,093 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,160,822 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,616,204 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,306,001 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,910,219 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,193,587 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,165,705 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,282,510 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,385,355 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,217,451 msg/sec AtomicQueue, 1,s: 57,771,714 msg/sec AtomicQueue, 1,i: 56,648,965 msg/sec AtomicQueue, 2,s: 12,246,780 msg/sec AtomicQueue, 2,i: 11,844,165 msg/sec AtomicQueue, 3,s: 10,831,089 msg/sec AtomicQueue, 3,i: 9,953,642 msg/sec AtomicQueue, 4,s: 8,183,936 msg/sec AtomicQueue, 4,i: 8,178,355 msg/sec AtomicQueue, 5,s: 8,052,065 msg/sec AtomicQueue, 5,i: 8,119,425 msg/sec AtomicQueue, 6,s: 7,782,057 msg/sec AtomicQueue, 6,i: 7,619,544 msg/sec AtomicQueue, 7,s: 7,148,095 msg/sec AtomicQueue, 7,i: 7,983,661 msg/sec AtomicQueue, 8,s: 6,352,313 msg/sec AtomicQueue, 8,i: 7,468,729 msg/sec AtomicQueueB, 1,s: 43,769,840 msg/sec AtomicQueueB, 1,i: 43,047,482 msg/sec AtomicQueueB, 2,s: 11,831,350 msg/sec AtomicQueueB, 2,i: 11,461,943 msg/sec AtomicQueueB, 3,s: 11,022,999 msg/sec AtomicQueueB, 3,i: 10,244,429 msg/sec AtomicQueueB, 4,s: 8,031,273 msg/sec AtomicQueueB, 4,i: 7,901,947 msg/sec AtomicQueueB, 5,s: 7,523,359 msg/sec AtomicQueueB, 5,i: 7,825,553 msg/sec AtomicQueueB, 6,s: 7,420,967 msg/sec AtomicQueueB, 6,i: 7,506,813 msg/sec AtomicQueueB, 7,s: 6,801,032 msg/sec AtomicQueueB, 7,i: 7,727,453 msg/sec AtomicQueueB, 8,s: 6,258,972 msg/sec AtomicQueueB, 8,i: 7,025,260 msg/sec OptimistAtomicQueue, 1,s: 775,658,893 msg/sec OptimistAtomicQueue, 1,i: 602,266,690 msg/sec OptimistAtomicQueue, 2,s: 32,218,328 msg/sec OptimistAtomicQueue, 2,i: 32,731,079 msg/sec OptimistAtomicQueue, 3,s: 36,659,224 msg/sec OptimistAtomicQueue, 3,i: 37,418,046 msg/sec OptimistAtomicQueue, 4,s: 39,284,126 msg/sec OptimistAtomicQueue, 4,i: 39,408,770 msg/sec OptimistAtomicQueue, 5,s: 42,399,709 msg/sec OptimistAtomicQueue, 5,i: 46,573,102 msg/sec OptimistAtomicQueue, 6,s: 42,628,791 msg/sec OptimistAtomicQueue, 6,i: 50,410,066 msg/sec OptimistAtomicQueue, 7,s: 44,412,762 msg/sec OptimistAtomicQueue, 7,i: 49,443,864 msg/sec OptimistAtomicQueue, 8,s: 46,248,915 msg/sec OptimistAtomicQueue, 8,i: 49,503,061 msg/sec OptimistAtomicQueueB, 1,s: 77,695,687 msg/sec OptimistAtomicQueueB, 1,i: 186,426,509 msg/sec OptimistAtomicQueueB, 2,s: 31,763,158 msg/sec OptimistAtomicQueueB, 2,i: 32,317,454 msg/sec OptimistAtomicQueueB, 3,s: 36,289,414 msg/sec OptimistAtomicQueueB, 3,i: 36,727,674 msg/sec OptimistAtomicQueueB, 4,s: 38,717,622 msg/sec OptimistAtomicQueueB, 4,i: 38,687,179 msg/sec OptimistAtomicQueueB, 5,s: 41,059,797 msg/sec OptimistAtomicQueueB, 5,i: 45,080,035 msg/sec OptimistAtomicQueueB, 6,s: 40,810,094 msg/sec OptimistAtomicQueueB, 6,i: 49,065,050 msg/sec OptimistAtomicQueueB, 7,s: 41,947,335 msg/sec OptimistAtomicQueueB, 7,i: 48,046,257 msg/sec OptimistAtomicQueueB, 8,s: 44,215,204 msg/sec OptimistAtomicQueueB, 8,i: 48,032,544 msg/sec AtomicQueue2, 1,s: 22,905,893 msg/sec AtomicQueue2, 1,i: 23,069,765 msg/sec AtomicQueue2, 2,s: 11,932,057 msg/sec AtomicQueue2, 2,i: 11,620,884 msg/sec AtomicQueue2, 3,s: 9,345,630 msg/sec AtomicQueue2, 3,i: 9,426,924 msg/sec AtomicQueue2, 4,s: 8,028,267 msg/sec AtomicQueue2, 4,i: 8,074,311 msg/sec AtomicQueue2, 5,s: 7,890,555 msg/sec AtomicQueue2, 5,i: 8,031,090 msg/sec AtomicQueue2, 6,s: 7,795,791 msg/sec AtomicQueue2, 6,i: 7,522,349 msg/sec AtomicQueue2, 7,s: 7,094,816 msg/sec AtomicQueue2, 7,i: 7,882,151 msg/sec AtomicQueue2, 8,s: 6,401,721 msg/sec AtomicQueue2, 8,i: 7,355,741 msg/sec AtomicQueueB2, 1,s: 35,985,258 msg/sec AtomicQueueB2, 1,i: 32,652,123 msg/sec AtomicQueueB2, 2,s: 11,431,809 msg/sec AtomicQueueB2, 2,i: 11,224,924 msg/sec AtomicQueueB2, 3,s: 9,625,232 msg/sec AtomicQueueB2, 3,i: 9,506,915 msg/sec AtomicQueueB2, 4,s: 7,947,192 msg/sec AtomicQueueB2, 4,i: 7,786,360 msg/sec AtomicQueueB2, 5,s: 7,389,967 msg/sec AtomicQueueB2, 5,i: 7,711,388 msg/sec AtomicQueueB2, 6,s: 7,230,391 msg/sec AtomicQueueB2, 6,i: 7,448,928 msg/sec AtomicQueueB2, 7,s: 6,916,166 msg/sec AtomicQueueB2, 7,i: 7,728,365 msg/sec AtomicQueueB2, 8,s: 6,314,743 msg/sec AtomicQueueB2, 8,i: 7,120,824 msg/sec OptimistAtomicQueue2, 1,s: 495,394,319 msg/sec OptimistAtomicQueue2, 1,i: 35,457,747 msg/sec OptimistAtomicQueue2, 2,s: 24,825,944 msg/sec OptimistAtomicQueue2, 2,i: 24,517,498 msg/sec OptimistAtomicQueue2, 3,s: 30,320,146 msg/sec OptimistAtomicQueue2, 3,i: 29,948,425 msg/sec OptimistAtomicQueue2, 4,s: 33,944,572 msg/sec OptimistAtomicQueue2, 4,i: 33,137,330 msg/sec OptimistAtomicQueue2, 5,s: 37,198,958 msg/sec OptimistAtomicQueue2, 5,i: 40,713,461 msg/sec OptimistAtomicQueue2, 6,s: 40,042,338 msg/sec OptimistAtomicQueue2, 6,i: 49,283,052 msg/sec OptimistAtomicQueue2, 7,s: 42,710,381 msg/sec OptimistAtomicQueue2, 7,i: 51,659,944 msg/sec OptimistAtomicQueue2, 8,s: 43,781,800 msg/sec OptimistAtomicQueue2, 8,i: 48,360,816 msg/sec OptimistAtomicQueueB2, 1,s: 75,844,053 msg/sec OptimistAtomicQueueB2, 1,i: 33,865,198 msg/sec OptimistAtomicQueueB2, 2,s: 27,137,249 msg/sec OptimistAtomicQueueB2, 2,i: 23,179,613 msg/sec OptimistAtomicQueueB2, 3,s: 29,775,268 msg/sec OptimistAtomicQueueB2, 3,i: 30,948,342 msg/sec OptimistAtomicQueueB2, 4,s: 33,416,937 msg/sec OptimistAtomicQueueB2, 4,i: 33,053,689 msg/sec OptimistAtomicQueueB2, 5,s: 34,804,298 msg/sec OptimistAtomicQueueB2, 5,i: 39,435,643 msg/sec OptimistAtomicQueueB2, 6,s: 37,774,679 msg/sec OptimistAtomicQueueB2, 6,i: 42,331,451 msg/sec OptimistAtomicQueueB2, 7,s: 40,799,445 msg/sec OptimistAtomicQueueB2, 7,i: 43,115,568 msg/sec OptimistAtomicQueueB2, 8,s: 42,183,596 msg/sec OptimistAtomicQueueB2, 8,i: 45,263,016 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000244 sec/round-trip pthread_spinlock: 0.000000245 sec/round-trip std::mutex: 0.000000460 sec/round-trip tbb::spin_mutex: 0.000000255 sec/round-trip tbb::concurrent_bounded_queue: 0.000000302 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000262 sec/round-trip xenium::vyukov_bounded_queue: 0.000000203 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000149 sec/round-trip [350] 19m:24s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,475,163 msg/sec boost::lockfree::spsc_queue, 1,i: 68,480,626 msg/sec boost::lockfree::queue, 1,s: 8,067,853 msg/sec boost::lockfree::queue, 1,i: 7,805,387 msg/sec boost::lockfree::queue, 2,s: 7,563,955 msg/sec boost::lockfree::queue, 2,i: 7,531,085 msg/sec boost::lockfree::queue, 3,s: 7,383,523 msg/sec boost::lockfree::queue, 3,i: 7,572,825 msg/sec boost::lockfree::queue, 4,s: 6,416,776 msg/sec boost::lockfree::queue, 4,i: 6,835,209 msg/sec boost::lockfree::queue, 5,s: 6,386,741 msg/sec boost::lockfree::queue, 5,i: 6,451,166 msg/sec boost::lockfree::queue, 6,s: 5,963,084 msg/sec boost::lockfree::queue, 6,i: 6,146,069 msg/sec boost::lockfree::queue, 7,s: 5,901,632 msg/sec boost::lockfree::queue, 7,i: 6,061,883 msg/sec boost::lockfree::queue, 8,s: 5,521,432 msg/sec boost::lockfree::queue, 8,i: 5,590,112 msg/sec moodycamel::ReaderWriterQueue, 1,s: 446,188,993 msg/sec moodycamel::ReaderWriterQueue, 1,i: 474,066,151 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,138,582 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,665,814 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,277,506 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,954,840 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,472,129 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,702,209 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,395,969 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,417,041 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,475,404 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,224,442 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,383,772 msg/sec moodycamel::ConcurrentQueue, 6,i: 47,288,131 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,984,212 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,554,850 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,256,866 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,269,343 msg/sec pthread_spinlock, 1,s: 29,166,837 msg/sec pthread_spinlock, 1,i: 25,411,828 msg/sec pthread_spinlock, 2,s: 15,591,981 msg/sec pthread_spinlock, 2,i: 16,883,135 msg/sec pthread_spinlock, 3,s: 8,361,672 msg/sec pthread_spinlock, 3,i: 12,221,434 msg/sec pthread_spinlock, 4,s: 6,525,069 msg/sec pthread_spinlock, 4,i: 9,186,266 msg/sec pthread_spinlock, 5,s: 8,752,657 msg/sec pthread_spinlock, 5,i: 10,189,785 msg/sec pthread_spinlock, 6,s: 8,527,115 msg/sec pthread_spinlock, 6,i: 9,006,050 msg/sec pthread_spinlock, 7,s: 7,566,111 msg/sec pthread_spinlock, 7,i: 8,127,803 msg/sec pthread_spinlock, 8,s: 6,712,608 msg/sec pthread_spinlock, 8,i: 6,925,118 msg/sec std::mutex, 1,s: 6,009,230 msg/sec std::mutex, 1,i: 7,156,936 msg/sec std::mutex, 2,s: 5,423,827 msg/sec std::mutex, 2,i: 5,779,108 msg/sec std::mutex, 3,s: 5,001,713 msg/sec std::mutex, 3,i: 5,135,298 msg/sec std::mutex, 4,s: 6,047,562 msg/sec std::mutex, 4,i: 6,202,066 msg/sec std::mutex, 5,s: 5,963,765 msg/sec std::mutex, 5,i: 6,048,526 msg/sec std::mutex, 6,s: 5,849,280 msg/sec std::mutex, 6,i: 5,725,762 msg/sec std::mutex, 7,s: 5,746,510 msg/sec std::mutex, 7,i: 5,716,814 msg/sec std::mutex, 8,s: 5,644,651 msg/sec std::mutex, 8,i: 5,658,760 msg/sec tbb::spin_mutex, 1,s: 37,582,805 msg/sec tbb::spin_mutex, 1,i: 32,804,034 msg/sec tbb::spin_mutex, 2,s: 21,061,163 msg/sec tbb::spin_mutex, 2,i: 18,971,886 msg/sec tbb::spin_mutex, 3,s: 7,361,150 msg/sec tbb::spin_mutex, 3,i: 10,498,420 msg/sec tbb::spin_mutex, 4,s: 3,041,525 msg/sec tbb::spin_mutex, 4,i: 6,287,046 msg/sec tbb::spin_mutex, 5,s: 5,238,788 msg/sec tbb::spin_mutex, 5,i: 5,738,441 msg/sec tbb::spin_mutex, 6,s: 5,276,978 msg/sec tbb::spin_mutex, 6,i: 4,370,732 msg/sec tbb::spin_mutex, 7,s: 4,487,551 msg/sec tbb::spin_mutex, 7,i: 4,298,451 msg/sec tbb::spin_mutex, 8,s: 4,257,435 msg/sec tbb::spin_mutex, 8,i: 4,059,435 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,307,840 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,539,571 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,902,246 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,663,227 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,008,282 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,655,837 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,327,531 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,231,800 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,809,010 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,161,835 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,991,799 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,410,587 msg/sec tbb::concurrent_bounded_queue, 7,s: 8,051,080 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,661,668 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,070,689 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,762,811 msg/sec xenium::michael_scott_queue, 1,s: 9,481,223 msg/sec xenium::michael_scott_queue, 1,i: 9,493,247 msg/sec xenium::michael_scott_queue, 2,s: 8,469,586 msg/sec xenium::michael_scott_queue, 2,i: 8,448,325 msg/sec xenium::michael_scott_queue, 3,s: 7,338,321 msg/sec xenium::michael_scott_queue, 3,i: 7,520,907 msg/sec xenium::michael_scott_queue, 4,s: 6,363,101 msg/sec xenium::michael_scott_queue, 4,i: 6,364,927 msg/sec xenium::michael_scott_queue, 5,s: 6,328,326 msg/sec xenium::michael_scott_queue, 5,i: 6,764,481 msg/sec xenium::michael_scott_queue, 6,s: 6,471,581 msg/sec xenium::michael_scott_queue, 6,i: 6,911,146 msg/sec xenium::michael_scott_queue, 7,s: 6,387,834 msg/sec xenium::michael_scott_queue, 7,i: 6,520,267 msg/sec xenium::michael_scott_queue, 8,s: 5,981,750 msg/sec xenium::michael_scott_queue, 8,i: 6,154,608 msg/sec xenium::ramalhete_queue, 1,s: 32,296,620 msg/sec xenium::ramalhete_queue, 1,i: 31,784,102 msg/sec xenium::ramalhete_queue, 2,s: 23,635,827 msg/sec xenium::ramalhete_queue, 2,i: 23,441,557 msg/sec xenium::ramalhete_queue, 3,s: 29,348,561 msg/sec xenium::ramalhete_queue, 3,i: 28,526,248 msg/sec xenium::ramalhete_queue, 4,s: 33,846,368 msg/sec xenium::ramalhete_queue, 4,i: 33,560,939 msg/sec xenium::ramalhete_queue, 5,s: 32,200,851 msg/sec xenium::ramalhete_queue, 5,i: 38,380,652 msg/sec xenium::ramalhete_queue, 6,s: 34,036,365 msg/sec xenium::ramalhete_queue, 6,i: 39,173,502 msg/sec xenium::ramalhete_queue, 7,s: 35,109,581 msg/sec xenium::ramalhete_queue, 7,i: 40,875,016 msg/sec xenium::ramalhete_queue, 8,s: 35,479,843 msg/sec xenium::ramalhete_queue, 8,i: 44,078,280 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,226,815 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,127,683 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,704,867 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,481,914 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,726,608 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,661,450 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,520,245 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,300,263 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,989,096 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,213,803 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,111,487 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,739,768 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,193,528 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,315,570 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,395,404 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,550,134 msg/sec AtomicQueue, 1,s: 62,965,589 msg/sec AtomicQueue, 1,i: 56,827,069 msg/sec AtomicQueue, 2,s: 12,165,848 msg/sec AtomicQueue, 2,i: 11,727,111 msg/sec AtomicQueue, 3,s: 10,809,993 msg/sec AtomicQueue, 3,i: 10,003,142 msg/sec AtomicQueue, 4,s: 8,164,199 msg/sec AtomicQueue, 4,i: 8,208,378 msg/sec AtomicQueue, 5,s: 8,030,624 msg/sec AtomicQueue, 5,i: 8,149,689 msg/sec AtomicQueue, 6,s: 7,825,339 msg/sec AtomicQueue, 6,i: 7,609,837 msg/sec AtomicQueue, 7,s: 7,129,917 msg/sec AtomicQueue, 7,i: 7,979,058 msg/sec AtomicQueue, 8,s: 6,350,094 msg/sec AtomicQueue, 8,i: 7,489,039 msg/sec AtomicQueueB, 1,s: 43,845,916 msg/sec AtomicQueueB, 1,i: 43,044,705 msg/sec AtomicQueueB, 2,s: 11,704,662 msg/sec AtomicQueueB, 2,i: 11,394,251 msg/sec AtomicQueueB, 3,s: 10,966,062 msg/sec AtomicQueueB, 3,i: 10,211,965 msg/sec AtomicQueueB, 4,s: 8,084,503 msg/sec AtomicQueueB, 4,i: 8,059,915 msg/sec AtomicQueueB, 5,s: 7,536,328 msg/sec AtomicQueueB, 5,i: 7,758,300 msg/sec AtomicQueueB, 6,s: 7,293,115 msg/sec AtomicQueueB, 6,i: 7,517,234 msg/sec AtomicQueueB, 7,s: 6,893,108 msg/sec AtomicQueueB, 7,i: 7,702,309 msg/sec AtomicQueueB, 8,s: 6,198,963 msg/sec AtomicQueueB, 8,i: 7,151,570 msg/sec OptimistAtomicQueue, 1,s: 680,850,020 msg/sec OptimistAtomicQueue, 1,i: 519,701,358 msg/sec OptimistAtomicQueue, 2,s: 32,207,558 msg/sec OptimistAtomicQueue, 2,i: 32,202,887 msg/sec OptimistAtomicQueue, 3,s: 36,640,880 msg/sec OptimistAtomicQueue, 3,i: 37,361,290 msg/sec OptimistAtomicQueue, 4,s: 39,290,582 msg/sec OptimistAtomicQueue, 4,i: 39,374,938 msg/sec OptimistAtomicQueue, 5,s: 42,340,671 msg/sec OptimistAtomicQueue, 5,i: 48,638,206 msg/sec OptimistAtomicQueue, 6,s: 42,581,981 msg/sec OptimistAtomicQueue, 6,i: 50,416,463 msg/sec OptimistAtomicQueue, 7,s: 44,023,121 msg/sec OptimistAtomicQueue, 7,i: 52,952,323 msg/sec OptimistAtomicQueue, 8,s: 46,335,821 msg/sec OptimistAtomicQueue, 8,i: 48,864,543 msg/sec OptimistAtomicQueueB, 1,s: 77,857,357 msg/sec OptimistAtomicQueueB, 1,i: 76,588,922 msg/sec OptimistAtomicQueueB, 2,s: 32,233,366 msg/sec OptimistAtomicQueueB, 2,i: 32,169,192 msg/sec OptimistAtomicQueueB, 3,s: 36,282,699 msg/sec OptimistAtomicQueueB, 3,i: 36,957,275 msg/sec OptimistAtomicQueueB, 4,s: 38,694,165 msg/sec OptimistAtomicQueueB, 4,i: 38,479,269 msg/sec OptimistAtomicQueueB, 5,s: 40,428,169 msg/sec OptimistAtomicQueueB, 5,i: 45,229,241 msg/sec OptimistAtomicQueueB, 6,s: 41,019,347 msg/sec OptimistAtomicQueueB, 6,i: 48,951,422 msg/sec OptimistAtomicQueueB, 7,s: 42,626,926 msg/sec OptimistAtomicQueueB, 7,i: 51,539,458 msg/sec OptimistAtomicQueueB, 8,s: 44,371,443 msg/sec OptimistAtomicQueueB, 8,i: 47,874,854 msg/sec AtomicQueue2, 1,s: 22,916,954 msg/sec AtomicQueue2, 1,i: 22,854,292 msg/sec AtomicQueue2, 2,s: 11,767,283 msg/sec AtomicQueue2, 2,i: 11,582,187 msg/sec AtomicQueue2, 3,s: 9,403,360 msg/sec AtomicQueue2, 3,i: 9,420,044 msg/sec AtomicQueue2, 4,s: 8,041,089 msg/sec AtomicQueue2, 4,i: 8,050,631 msg/sec AtomicQueue2, 5,s: 7,942,771 msg/sec AtomicQueue2, 5,i: 8,019,444 msg/sec AtomicQueue2, 6,s: 7,820,831 msg/sec AtomicQueue2, 6,i: 7,555,545 msg/sec AtomicQueue2, 7,s: 7,080,574 msg/sec AtomicQueue2, 7,i: 7,895,544 msg/sec AtomicQueue2, 8,s: 6,421,685 msg/sec AtomicQueue2, 8,i: 7,356,230 msg/sec AtomicQueueB2, 1,s: 36,212,272 msg/sec AtomicQueueB2, 1,i: 36,112,337 msg/sec AtomicQueueB2, 2,s: 11,325,852 msg/sec AtomicQueueB2, 2,i: 11,106,701 msg/sec AtomicQueueB2, 3,s: 9,640,908 msg/sec AtomicQueueB2, 3,i: 9,510,887 msg/sec AtomicQueueB2, 4,s: 7,953,666 msg/sec AtomicQueueB2, 4,i: 7,835,184 msg/sec AtomicQueueB2, 5,s: 7,357,237 msg/sec AtomicQueueB2, 5,i: 7,718,461 msg/sec AtomicQueueB2, 6,s: 7,258,976 msg/sec AtomicQueueB2, 6,i: 7,449,868 msg/sec AtomicQueueB2, 7,s: 6,914,374 msg/sec AtomicQueueB2, 7,i: 7,718,758 msg/sec AtomicQueueB2, 8,s: 6,248,015 msg/sec AtomicQueueB2, 8,i: 7,107,012 msg/sec OptimistAtomicQueue2, 1,s: 33,806,587 msg/sec OptimistAtomicQueue2, 1,i: 29,659,602 msg/sec OptimistAtomicQueue2, 2,s: 25,272,266 msg/sec OptimistAtomicQueue2, 2,i: 24,022,455 msg/sec OptimistAtomicQueue2, 3,s: 30,297,716 msg/sec OptimistAtomicQueue2, 3,i: 29,520,205 msg/sec OptimistAtomicQueue2, 4,s: 33,382,339 msg/sec OptimistAtomicQueue2, 4,i: 33,219,099 msg/sec OptimistAtomicQueue2, 5,s: 37,536,098 msg/sec OptimistAtomicQueue2, 5,i: 40,182,365 msg/sec OptimistAtomicQueue2, 6,s: 39,888,515 msg/sec OptimistAtomicQueue2, 6,i: 49,334,635 msg/sec OptimistAtomicQueue2, 7,s: 43,159,880 msg/sec OptimistAtomicQueue2, 7,i: 47,793,514 msg/sec OptimistAtomicQueue2, 8,s: 44,073,748 msg/sec OptimistAtomicQueue2, 8,i: 48,435,190 msg/sec OptimistAtomicQueueB2, 1,s: 75,905,401 msg/sec OptimistAtomicQueueB2, 1,i: 33,908,160 msg/sec OptimistAtomicQueueB2, 2,s: 28,905,123 msg/sec OptimistAtomicQueueB2, 2,i: 26,041,800 msg/sec OptimistAtomicQueueB2, 3,s: 29,657,778 msg/sec OptimistAtomicQueueB2, 3,i: 29,085,903 msg/sec OptimistAtomicQueueB2, 4,s: 33,359,238 msg/sec OptimistAtomicQueueB2, 4,i: 32,896,377 msg/sec OptimistAtomicQueueB2, 5,s: 34,477,056 msg/sec OptimistAtomicQueueB2, 5,i: 39,284,714 msg/sec OptimistAtomicQueueB2, 6,s: 36,916,700 msg/sec OptimistAtomicQueueB2, 6,i: 42,436,136 msg/sec OptimistAtomicQueueB2, 7,s: 40,170,735 msg/sec OptimistAtomicQueueB2, 7,i: 42,980,610 msg/sec OptimistAtomicQueueB2, 8,s: 42,464,240 msg/sec OptimistAtomicQueueB2, 8,i: 45,911,273 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000335 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000148 sec/round-trip moodycamel::ConcurrentQueue: 0.000000237 sec/round-trip pthread_spinlock: 0.000000240 sec/round-trip std::mutex: 0.000000513 sec/round-trip tbb::spin_mutex: 0.000000295 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000374 sec/round-trip xenium::ramalhete_queue: 0.000000265 sec/round-trip xenium::vyukov_bounded_queue: 0.000000216 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000148 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000184 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [351] 18m:4s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,015,981 msg/sec boost::lockfree::spsc_queue, 1,i: 69,362,701 msg/sec boost::lockfree::queue, 1,s: 6,922,525 msg/sec boost::lockfree::queue, 1,i: 6,927,385 msg/sec boost::lockfree::queue, 2,s: 7,532,741 msg/sec boost::lockfree::queue, 2,i: 7,449,906 msg/sec boost::lockfree::queue, 3,s: 7,378,967 msg/sec boost::lockfree::queue, 3,i: 7,582,010 msg/sec boost::lockfree::queue, 4,s: 6,425,982 msg/sec boost::lockfree::queue, 4,i: 6,807,111 msg/sec boost::lockfree::queue, 5,s: 6,469,764 msg/sec boost::lockfree::queue, 5,i: 6,460,922 msg/sec boost::lockfree::queue, 6,s: 6,012,755 msg/sec boost::lockfree::queue, 6,i: 6,085,481 msg/sec boost::lockfree::queue, 7,s: 6,053,009 msg/sec boost::lockfree::queue, 7,i: 5,933,145 msg/sec boost::lockfree::queue, 8,s: 5,487,696 msg/sec boost::lockfree::queue, 8,i: 5,542,552 msg/sec moodycamel::ReaderWriterQueue, 1,s: 531,578,839 msg/sec moodycamel::ReaderWriterQueue, 1,i: 535,677,170 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,218,881 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,893,533 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,522,425 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,982,520 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,607,522 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,735,127 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,683,607 msg/sec moodycamel::ConcurrentQueue, 4,i: 41,955,998 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,248,149 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,849,233 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,250,709 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,443,056 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,156,742 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,459,823 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,189,422 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,802,504 msg/sec pthread_spinlock, 1,s: 28,849,015 msg/sec pthread_spinlock, 1,i: 25,373,709 msg/sec pthread_spinlock, 2,s: 15,438,639 msg/sec pthread_spinlock, 2,i: 17,120,880 msg/sec pthread_spinlock, 3,s: 8,389,149 msg/sec pthread_spinlock, 3,i: 12,009,863 msg/sec pthread_spinlock, 4,s: 6,485,163 msg/sec pthread_spinlock, 4,i: 9,225,434 msg/sec pthread_spinlock, 5,s: 8,780,685 msg/sec pthread_spinlock, 5,i: 9,561,677 msg/sec pthread_spinlock, 6,s: 8,333,041 msg/sec pthread_spinlock, 6,i: 8,565,884 msg/sec pthread_spinlock, 7,s: 7,986,997 msg/sec pthread_spinlock, 7,i: 7,724,555 msg/sec pthread_spinlock, 8,s: 6,690,438 msg/sec pthread_spinlock, 8,i: 6,933,815 msg/sec std::mutex, 1,s: 6,429,492 msg/sec std::mutex, 1,i: 6,617,318 msg/sec std::mutex, 2,s: 5,206,908 msg/sec std::mutex, 2,i: 5,436,302 msg/sec std::mutex, 3,s: 5,887,055 msg/sec std::mutex, 3,i: 6,058,694 msg/sec std::mutex, 4,s: 6,253,685 msg/sec std::mutex, 4,i: 6,362,778 msg/sec std::mutex, 5,s: 6,011,081 msg/sec std::mutex, 5,i: 5,845,045 msg/sec std::mutex, 6,s: 5,964,337 msg/sec std::mutex, 6,i: 5,798,841 msg/sec std::mutex, 7,s: 5,832,486 msg/sec std::mutex, 7,i: 5,780,138 msg/sec std::mutex, 8,s: 5,799,969 msg/sec std::mutex, 8,i: 5,713,166 msg/sec tbb::spin_mutex, 1,s: 37,663,824 msg/sec tbb::spin_mutex, 1,i: 37,731,962 msg/sec tbb::spin_mutex, 2,s: 21,223,830 msg/sec tbb::spin_mutex, 2,i: 18,463,216 msg/sec tbb::spin_mutex, 3,s: 9,100,793 msg/sec tbb::spin_mutex, 3,i: 10,195,458 msg/sec tbb::spin_mutex, 4,s: 3,301,438 msg/sec tbb::spin_mutex, 4,i: 6,310,517 msg/sec tbb::spin_mutex, 5,s: 5,475,913 msg/sec tbb::spin_mutex, 5,i: 5,854,993 msg/sec tbb::spin_mutex, 6,s: 5,361,338 msg/sec tbb::spin_mutex, 6,i: 4,368,556 msg/sec tbb::spin_mutex, 7,s: 4,847,563 msg/sec tbb::spin_mutex, 7,i: 4,335,634 msg/sec tbb::spin_mutex, 8,s: 4,250,255 msg/sec tbb::spin_mutex, 8,i: 4,150,147 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,513,681 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,119,163 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,828,965 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,817,455 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,402,888 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,992,981 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,099,304 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,380,823 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,774,921 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,747,323 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,778,712 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,025,769 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,739,945 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,104,015 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,650,443 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,300,496 msg/sec xenium::michael_scott_queue, 1,s: 9,361,201 msg/sec xenium::michael_scott_queue, 1,i: 9,360,434 msg/sec xenium::michael_scott_queue, 2,s: 8,461,218 msg/sec xenium::michael_scott_queue, 2,i: 8,533,121 msg/sec xenium::michael_scott_queue, 3,s: 7,316,496 msg/sec xenium::michael_scott_queue, 3,i: 7,531,660 msg/sec xenium::michael_scott_queue, 4,s: 6,319,051 msg/sec xenium::michael_scott_queue, 4,i: 6,306,859 msg/sec xenium::michael_scott_queue, 5,s: 6,277,163 msg/sec xenium::michael_scott_queue, 5,i: 6,679,373 msg/sec xenium::michael_scott_queue, 6,s: 6,505,807 msg/sec xenium::michael_scott_queue, 6,i: 6,752,191 msg/sec xenium::michael_scott_queue, 7,s: 6,327,149 msg/sec xenium::michael_scott_queue, 7,i: 6,548,960 msg/sec xenium::michael_scott_queue, 8,s: 6,019,760 msg/sec xenium::michael_scott_queue, 8,i: 6,072,751 msg/sec xenium::ramalhete_queue, 1,s: 32,096,493 msg/sec xenium::ramalhete_queue, 1,i: 32,048,309 msg/sec xenium::ramalhete_queue, 2,s: 23,730,596 msg/sec xenium::ramalhete_queue, 2,i: 23,245,815 msg/sec xenium::ramalhete_queue, 3,s: 29,090,349 msg/sec xenium::ramalhete_queue, 3,i: 28,365,308 msg/sec xenium::ramalhete_queue, 4,s: 33,635,728 msg/sec xenium::ramalhete_queue, 4,i: 33,426,277 msg/sec xenium::ramalhete_queue, 5,s: 32,161,694 msg/sec xenium::ramalhete_queue, 5,i: 36,153,810 msg/sec xenium::ramalhete_queue, 6,s: 33,939,282 msg/sec xenium::ramalhete_queue, 6,i: 39,251,697 msg/sec xenium::ramalhete_queue, 7,s: 35,208,915 msg/sec xenium::ramalhete_queue, 7,i: 42,129,023 msg/sec xenium::ramalhete_queue, 8,s: 35,537,356 msg/sec xenium::ramalhete_queue, 8,i: 43,929,728 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,781,974 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,088,128 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,255,380 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,428,347 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,568,767 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,762,782 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,601,387 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,171,783 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,002,316 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,247,861 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,059,479 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,494,519 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,206,795 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,158,739 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,412,866 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,380,449 msg/sec AtomicQueue, 1,s: 59,231,806 msg/sec AtomicQueue, 1,i: 56,298,677 msg/sec AtomicQueue, 2,s: 12,345,578 msg/sec AtomicQueue, 2,i: 11,765,200 msg/sec AtomicQueue, 3,s: 10,808,455 msg/sec AtomicQueue, 3,i: 9,915,960 msg/sec AtomicQueue, 4,s: 8,231,691 msg/sec AtomicQueue, 4,i: 8,217,409 msg/sec AtomicQueue, 5,s: 8,001,354 msg/sec AtomicQueue, 5,i: 8,112,671 msg/sec AtomicQueue, 6,s: 7,689,245 msg/sec AtomicQueue, 6,i: 7,607,934 msg/sec AtomicQueue, 7,s: 7,158,258 msg/sec AtomicQueue, 7,i: 7,989,842 msg/sec AtomicQueue, 8,s: 6,378,252 msg/sec AtomicQueue, 8,i: 7,447,623 msg/sec AtomicQueueB, 1,s: 43,839,495 msg/sec AtomicQueueB, 1,i: 44,009,427 msg/sec AtomicQueueB, 2,s: 11,787,299 msg/sec AtomicQueueB, 2,i: 11,463,982 msg/sec AtomicQueueB, 3,s: 10,987,671 msg/sec AtomicQueueB, 3,i: 10,123,276 msg/sec AtomicQueueB, 4,s: 8,101,115 msg/sec AtomicQueueB, 4,i: 7,923,515 msg/sec AtomicQueueB, 5,s: 7,644,136 msg/sec AtomicQueueB, 5,i: 7,832,773 msg/sec AtomicQueueB, 6,s: 7,265,481 msg/sec AtomicQueueB, 6,i: 7,508,493 msg/sec AtomicQueueB, 7,s: 6,852,859 msg/sec AtomicQueueB, 7,i: 7,760,784 msg/sec AtomicQueueB, 8,s: 6,274,956 msg/sec AtomicQueueB, 8,i: 7,146,908 msg/sec OptimistAtomicQueue, 1,s: 808,846,516 msg/sec OptimistAtomicQueue, 1,i: 519,283,124 msg/sec OptimistAtomicQueue, 2,s: 32,627,241 msg/sec OptimistAtomicQueue, 2,i: 32,704,050 msg/sec OptimistAtomicQueue, 3,s: 36,652,983 msg/sec OptimistAtomicQueue, 3,i: 37,046,817 msg/sec OptimistAtomicQueue, 4,s: 39,259,581 msg/sec OptimistAtomicQueue, 4,i: 39,359,708 msg/sec OptimistAtomicQueue, 5,s: 42,366,377 msg/sec OptimistAtomicQueue, 5,i: 47,231,904 msg/sec OptimistAtomicQueue, 6,s: 42,588,191 msg/sec OptimistAtomicQueue, 6,i: 49,805,030 msg/sec OptimistAtomicQueue, 7,s: 45,161,637 msg/sec OptimistAtomicQueue, 7,i: 49,067,678 msg/sec OptimistAtomicQueue, 8,s: 46,381,463 msg/sec OptimistAtomicQueue, 8,i: 49,450,998 msg/sec OptimistAtomicQueueB, 1,s: 111,788,390 msg/sec OptimistAtomicQueueB, 1,i: 76,569,717 msg/sec OptimistAtomicQueueB, 2,s: 32,148,009 msg/sec OptimistAtomicQueueB, 2,i: 32,072,258 msg/sec OptimistAtomicQueueB, 3,s: 36,132,108 msg/sec OptimistAtomicQueueB, 3,i: 36,798,154 msg/sec OptimistAtomicQueueB, 4,s: 38,580,354 msg/sec OptimistAtomicQueueB, 4,i: 38,525,371 msg/sec OptimistAtomicQueueB, 5,s: 41,215,896 msg/sec OptimistAtomicQueueB, 5,i: 45,275,274 msg/sec OptimistAtomicQueueB, 6,s: 40,499,397 msg/sec OptimistAtomicQueueB, 6,i: 49,068,652 msg/sec OptimistAtomicQueueB, 7,s: 42,000,530 msg/sec OptimistAtomicQueueB, 7,i: 50,774,584 msg/sec OptimistAtomicQueueB, 8,s: 44,511,361 msg/sec OptimistAtomicQueueB, 8,i: 47,924,546 msg/sec AtomicQueue2, 1,s: 22,886,633 msg/sec AtomicQueue2, 1,i: 22,895,292 msg/sec AtomicQueue2, 2,s: 12,028,131 msg/sec AtomicQueue2, 2,i: 11,359,115 msg/sec AtomicQueue2, 3,s: 9,348,248 msg/sec AtomicQueue2, 3,i: 9,431,126 msg/sec AtomicQueue2, 4,s: 8,010,497 msg/sec AtomicQueue2, 4,i: 8,049,191 msg/sec AtomicQueue2, 5,s: 7,897,254 msg/sec AtomicQueue2, 5,i: 8,059,161 msg/sec AtomicQueue2, 6,s: 7,790,043 msg/sec AtomicQueue2, 6,i: 7,533,630 msg/sec AtomicQueue2, 7,s: 7,091,305 msg/sec AtomicQueue2, 7,i: 7,878,440 msg/sec AtomicQueue2, 8,s: 6,374,904 msg/sec AtomicQueue2, 8,i: 7,389,316 msg/sec AtomicQueueB2, 1,s: 32,662,092 msg/sec AtomicQueueB2, 1,i: 32,649,624 msg/sec AtomicQueueB2, 2,s: 11,417,208 msg/sec AtomicQueueB2, 2,i: 11,096,589 msg/sec AtomicQueueB2, 3,s: 9,640,063 msg/sec AtomicQueueB2, 3,i: 9,574,676 msg/sec AtomicQueueB2, 4,s: 7,919,131 msg/sec AtomicQueueB2, 4,i: 7,834,070 msg/sec AtomicQueueB2, 5,s: 7,523,307 msg/sec AtomicQueueB2, 5,i: 7,783,330 msg/sec AtomicQueueB2, 6,s: 7,243,828 msg/sec AtomicQueueB2, 6,i: 7,469,504 msg/sec AtomicQueueB2, 7,s: 6,845,198 msg/sec AtomicQueueB2, 7,i: 7,739,645 msg/sec AtomicQueueB2, 8,s: 6,335,032 msg/sec AtomicQueueB2, 8,i: 7,085,028 msg/sec OptimistAtomicQueue2, 1,s: 447,648,764 msg/sec OptimistAtomicQueue2, 1,i: 32,608,987 msg/sec OptimistAtomicQueue2, 2,s: 24,266,695 msg/sec OptimistAtomicQueue2, 2,i: 24,012,772 msg/sec OptimistAtomicQueue2, 3,s: 30,319,813 msg/sec OptimistAtomicQueue2, 3,i: 30,478,509 msg/sec OptimistAtomicQueue2, 4,s: 33,156,068 msg/sec OptimistAtomicQueue2, 4,i: 33,317,170 msg/sec OptimistAtomicQueue2, 5,s: 37,014,728 msg/sec OptimistAtomicQueue2, 5,i: 40,719,360 msg/sec OptimistAtomicQueue2, 6,s: 40,177,715 msg/sec OptimistAtomicQueue2, 6,i: 49,231,264 msg/sec OptimistAtomicQueue2, 7,s: 42,607,396 msg/sec OptimistAtomicQueue2, 7,i: 51,432,713 msg/sec OptimistAtomicQueue2, 8,s: 44,146,537 msg/sec OptimistAtomicQueue2, 8,i: 48,650,964 msg/sec OptimistAtomicQueueB2, 1,s: 77,150,646 msg/sec OptimistAtomicQueueB2, 1,i: 33,877,355 msg/sec OptimistAtomicQueueB2, 2,s: 28,215,220 msg/sec OptimistAtomicQueueB2, 2,i: 23,185,618 msg/sec OptimistAtomicQueueB2, 3,s: 29,725,169 msg/sec OptimistAtomicQueueB2, 3,i: 29,036,819 msg/sec OptimistAtomicQueueB2, 4,s: 33,450,868 msg/sec OptimistAtomicQueueB2, 4,i: 32,670,496 msg/sec OptimistAtomicQueueB2, 5,s: 34,787,609 msg/sec OptimistAtomicQueueB2, 5,i: 39,102,337 msg/sec OptimistAtomicQueueB2, 6,s: 37,673,013 msg/sec OptimistAtomicQueueB2, 6,i: 42,330,592 msg/sec OptimistAtomicQueueB2, 7,s: 40,313,460 msg/sec OptimistAtomicQueueB2, 7,i: 45,460,380 msg/sec OptimistAtomicQueueB2, 8,s: 42,327,322 msg/sec OptimistAtomicQueueB2, 8,i: 46,394,177 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000332 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000240 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000513 sec/round-trip tbb::spin_mutex: 0.000000284 sec/round-trip tbb::concurrent_bounded_queue: 0.000000294 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000153 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000187 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [352] 16m:45s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,534,265 msg/sec boost::lockfree::spsc_queue, 1,i: 67,921,584 msg/sec boost::lockfree::queue, 1,s: 6,832,993 msg/sec boost::lockfree::queue, 1,i: 6,781,508 msg/sec boost::lockfree::queue, 2,s: 7,740,101 msg/sec boost::lockfree::queue, 2,i: 7,604,205 msg/sec boost::lockfree::queue, 3,s: 7,425,834 msg/sec boost::lockfree::queue, 3,i: 7,568,046 msg/sec boost::lockfree::queue, 4,s: 6,425,670 msg/sec boost::lockfree::queue, 4,i: 6,758,248 msg/sec boost::lockfree::queue, 5,s: 6,389,618 msg/sec boost::lockfree::queue, 5,i: 6,461,566 msg/sec boost::lockfree::queue, 6,s: 6,013,089 msg/sec boost::lockfree::queue, 6,i: 6,128,899 msg/sec boost::lockfree::queue, 7,s: 5,833,899 msg/sec boost::lockfree::queue, 7,i: 5,924,591 msg/sec boost::lockfree::queue, 8,s: 5,476,188 msg/sec boost::lockfree::queue, 8,i: 5,591,586 msg/sec moodycamel::ReaderWriterQueue, 1,s: 505,850,796 msg/sec moodycamel::ReaderWriterQueue, 1,i: 506,936,732 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,545,820 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,273,713 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,506,942 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,603,548 msg/sec moodycamel::ConcurrentQueue, 3,s: 17,028,608 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,525,423 msg/sec moodycamel::ConcurrentQueue, 4,s: 31,416,893 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,509,465 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,334,284 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,782,985 msg/sec moodycamel::ConcurrentQueue, 6,s: 46,369,516 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,117,357 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,234,285 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,184,750 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,413,764 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,527,256 msg/sec pthread_spinlock, 1,s: 28,570,681 msg/sec pthread_spinlock, 1,i: 25,313,918 msg/sec pthread_spinlock, 2,s: 15,444,414 msg/sec pthread_spinlock, 2,i: 17,052,428 msg/sec pthread_spinlock, 3,s: 8,426,424 msg/sec pthread_spinlock, 3,i: 12,053,185 msg/sec pthread_spinlock, 4,s: 6,480,045 msg/sec pthread_spinlock, 4,i: 9,178,459 msg/sec pthread_spinlock, 5,s: 8,749,870 msg/sec pthread_spinlock, 5,i: 9,455,949 msg/sec pthread_spinlock, 6,s: 8,232,107 msg/sec pthread_spinlock, 6,i: 8,908,510 msg/sec pthread_spinlock, 7,s: 7,512,993 msg/sec pthread_spinlock, 7,i: 7,616,887 msg/sec pthread_spinlock, 8,s: 6,730,742 msg/sec pthread_spinlock, 8,i: 7,188,471 msg/sec std::mutex, 1,s: 6,293,844 msg/sec std::mutex, 1,i: 6,207,511 msg/sec std::mutex, 2,s: 5,244,675 msg/sec std::mutex, 2,i: 5,542,009 msg/sec std::mutex, 3,s: 4,970,127 msg/sec std::mutex, 3,i: 6,048,274 msg/sec std::mutex, 4,s: 6,242,899 msg/sec std::mutex, 4,i: 6,256,989 msg/sec std::mutex, 5,s: 6,087,524 msg/sec std::mutex, 5,i: 6,064,088 msg/sec std::mutex, 6,s: 5,865,047 msg/sec std::mutex, 6,i: 5,917,647 msg/sec std::mutex, 7,s: 5,739,056 msg/sec std::mutex, 7,i: 5,751,242 msg/sec std::mutex, 8,s: 5,632,019 msg/sec std::mutex, 8,i: 5,701,690 msg/sec tbb::spin_mutex, 1,s: 37,988,796 msg/sec tbb::spin_mutex, 1,i: 37,901,253 msg/sec tbb::spin_mutex, 2,s: 21,122,678 msg/sec tbb::spin_mutex, 2,i: 20,748,915 msg/sec tbb::spin_mutex, 3,s: 8,267,864 msg/sec tbb::spin_mutex, 3,i: 11,178,671 msg/sec tbb::spin_mutex, 4,s: 3,292,120 msg/sec tbb::spin_mutex, 4,i: 6,350,962 msg/sec tbb::spin_mutex, 5,s: 5,384,859 msg/sec tbb::spin_mutex, 5,i: 5,814,962 msg/sec tbb::spin_mutex, 6,s: 5,249,478 msg/sec tbb::spin_mutex, 6,i: 4,388,729 msg/sec tbb::spin_mutex, 7,s: 4,538,722 msg/sec tbb::spin_mutex, 7,i: 4,383,328 msg/sec tbb::spin_mutex, 8,s: 4,246,878 msg/sec tbb::spin_mutex, 8,i: 4,075,228 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,202,848 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,509,864 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,935,715 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,092,444 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,187,396 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,431,016 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,024,820 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,137,879 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,583,769 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,372,578 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,639,202 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,758,143 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,688,972 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,138,458 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,776,297 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,923,412 msg/sec xenium::michael_scott_queue, 1,s: 9,483,734 msg/sec xenium::michael_scott_queue, 1,i: 9,497,745 msg/sec xenium::michael_scott_queue, 2,s: 8,474,889 msg/sec xenium::michael_scott_queue, 2,i: 8,515,064 msg/sec xenium::michael_scott_queue, 3,s: 7,427,478 msg/sec xenium::michael_scott_queue, 3,i: 7,659,553 msg/sec xenium::michael_scott_queue, 4,s: 6,301,886 msg/sec xenium::michael_scott_queue, 4,i: 6,327,385 msg/sec xenium::michael_scott_queue, 5,s: 6,278,363 msg/sec xenium::michael_scott_queue, 5,i: 6,641,038 msg/sec xenium::michael_scott_queue, 6,s: 6,463,359 msg/sec xenium::michael_scott_queue, 6,i: 6,925,056 msg/sec xenium::michael_scott_queue, 7,s: 6,301,531 msg/sec xenium::michael_scott_queue, 7,i: 6,534,455 msg/sec xenium::michael_scott_queue, 8,s: 5,975,940 msg/sec xenium::michael_scott_queue, 8,i: 6,172,214 msg/sec xenium::ramalhete_queue, 1,s: 32,946,600 msg/sec xenium::ramalhete_queue, 1,i: 32,175,716 msg/sec xenium::ramalhete_queue, 2,s: 23,580,733 msg/sec xenium::ramalhete_queue, 2,i: 23,333,578 msg/sec xenium::ramalhete_queue, 3,s: 29,303,295 msg/sec xenium::ramalhete_queue, 3,i: 28,476,022 msg/sec xenium::ramalhete_queue, 4,s: 33,819,610 msg/sec xenium::ramalhete_queue, 4,i: 33,562,693 msg/sec xenium::ramalhete_queue, 5,s: 32,143,133 msg/sec xenium::ramalhete_queue, 5,i: 38,511,224 msg/sec xenium::ramalhete_queue, 6,s: 33,928,784 msg/sec xenium::ramalhete_queue, 6,i: 38,884,252 msg/sec xenium::ramalhete_queue, 7,s: 35,031,995 msg/sec xenium::ramalhete_queue, 7,i: 41,105,131 msg/sec xenium::ramalhete_queue, 8,s: 35,611,816 msg/sec xenium::ramalhete_queue, 8,i: 44,088,252 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,934,970 msg/sec xenium::vyukov_bounded_queue, 1,i: 63,178,868 msg/sec xenium::vyukov_bounded_queue, 2,s: 26,804,465 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,952,967 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,621,177 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,169,948 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,618,830 msg/sec xenium::vyukov_bounded_queue, 4,i: 11,941,869 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,888,915 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,335,980 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,983,021 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,401,186 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,164,203 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,077,697 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,428,122 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,204,365 msg/sec AtomicQueue, 1,s: 58,234,902 msg/sec AtomicQueue, 1,i: 56,702,415 msg/sec AtomicQueue, 2,s: 12,226,067 msg/sec AtomicQueue, 2,i: 11,823,651 msg/sec AtomicQueue, 3,s: 10,730,014 msg/sec AtomicQueue, 3,i: 9,869,875 msg/sec AtomicQueue, 4,s: 8,124,141 msg/sec AtomicQueue, 4,i: 8,213,912 msg/sec AtomicQueue, 5,s: 8,048,411 msg/sec AtomicQueue, 5,i: 8,128,672 msg/sec AtomicQueue, 6,s: 7,738,512 msg/sec AtomicQueue, 6,i: 7,600,505 msg/sec AtomicQueue, 7,s: 7,174,217 msg/sec AtomicQueue, 7,i: 7,972,399 msg/sec AtomicQueue, 8,s: 6,329,927 msg/sec AtomicQueue, 8,i: 7,355,157 msg/sec AtomicQueueB, 1,s: 43,858,553 msg/sec AtomicQueueB, 1,i: 44,041,134 msg/sec AtomicQueueB, 2,s: 11,842,421 msg/sec AtomicQueueB, 2,i: 11,409,197 msg/sec AtomicQueueB, 3,s: 10,885,919 msg/sec AtomicQueueB, 3,i: 10,075,877 msg/sec AtomicQueueB, 4,s: 8,058,079 msg/sec AtomicQueueB, 4,i: 8,073,739 msg/sec AtomicQueueB, 5,s: 7,581,952 msg/sec AtomicQueueB, 5,i: 7,839,204 msg/sec AtomicQueueB, 6,s: 7,348,930 msg/sec AtomicQueueB, 6,i: 7,518,121 msg/sec AtomicQueueB, 7,s: 6,917,742 msg/sec AtomicQueueB, 7,i: 7,712,877 msg/sec AtomicQueueB, 8,s: 6,235,308 msg/sec AtomicQueueB, 8,i: 7,155,673 msg/sec OptimistAtomicQueue, 1,s: 692,571,015 msg/sec OptimistAtomicQueue, 1,i: 520,193,860 msg/sec OptimistAtomicQueue, 2,s: 32,127,190 msg/sec OptimistAtomicQueue, 2,i: 32,186,236 msg/sec OptimistAtomicQueue, 3,s: 36,646,142 msg/sec OptimistAtomicQueue, 3,i: 37,383,999 msg/sec OptimistAtomicQueue, 4,s: 39,246,127 msg/sec OptimistAtomicQueue, 4,i: 39,396,841 msg/sec OptimistAtomicQueue, 5,s: 42,355,299 msg/sec OptimistAtomicQueue, 5,i: 46,262,253 msg/sec OptimistAtomicQueue, 6,s: 41,821,793 msg/sec OptimistAtomicQueue, 6,i: 50,296,370 msg/sec OptimistAtomicQueue, 7,s: 44,326,586 msg/sec OptimistAtomicQueue, 7,i: 49,424,235 msg/sec OptimistAtomicQueue, 8,s: 46,434,229 msg/sec OptimistAtomicQueue, 8,i: 50,073,548 msg/sec OptimistAtomicQueueB, 1,s: 77,951,092 msg/sec OptimistAtomicQueueB, 1,i: 76,431,642 msg/sec OptimistAtomicQueueB, 2,s: 32,216,370 msg/sec OptimistAtomicQueueB, 2,i: 31,851,278 msg/sec OptimistAtomicQueueB, 3,s: 36,301,328 msg/sec OptimistAtomicQueueB, 3,i: 36,965,087 msg/sec OptimistAtomicQueueB, 4,s: 38,792,780 msg/sec OptimistAtomicQueueB, 4,i: 38,621,954 msg/sec OptimistAtomicQueueB, 5,s: 40,890,600 msg/sec OptimistAtomicQueueB, 5,i: 46,278,027 msg/sec OptimistAtomicQueueB, 6,s: 41,099,941 msg/sec OptimistAtomicQueueB, 6,i: 49,035,561 msg/sec OptimistAtomicQueueB, 7,s: 42,184,287 msg/sec OptimistAtomicQueueB, 7,i: 48,308,936 msg/sec OptimistAtomicQueueB, 8,s: 44,348,225 msg/sec OptimistAtomicQueueB, 8,i: 48,292,456 msg/sec AtomicQueue2, 1,s: 23,093,880 msg/sec AtomicQueue2, 1,i: 23,117,397 msg/sec AtomicQueue2, 2,s: 11,778,969 msg/sec AtomicQueue2, 2,i: 11,411,526 msg/sec AtomicQueue2, 3,s: 9,821,401 msg/sec AtomicQueue2, 3,i: 9,515,554 msg/sec AtomicQueue2, 4,s: 8,083,850 msg/sec AtomicQueue2, 4,i: 8,087,910 msg/sec AtomicQueue2, 5,s: 7,824,569 msg/sec AtomicQueue2, 5,i: 8,066,088 msg/sec AtomicQueue2, 6,s: 7,549,490 msg/sec AtomicQueue2, 6,i: 7,508,348 msg/sec AtomicQueue2, 7,s: 7,079,859 msg/sec AtomicQueue2, 7,i: 7,884,670 msg/sec AtomicQueue2, 8,s: 6,412,144 msg/sec AtomicQueue2, 8,i: 7,391,707 msg/sec AtomicQueueB2, 1,s: 36,263,886 msg/sec AtomicQueueB2, 1,i: 32,603,639 msg/sec AtomicQueueB2, 2,s: 11,454,360 msg/sec AtomicQueueB2, 2,i: 11,099,706 msg/sec AtomicQueueB2, 3,s: 9,578,617 msg/sec AtomicQueueB2, 3,i: 9,535,659 msg/sec AtomicQueueB2, 4,s: 7,948,811 msg/sec AtomicQueueB2, 4,i: 7,880,061 msg/sec AtomicQueueB2, 5,s: 7,483,787 msg/sec AtomicQueueB2, 5,i: 7,739,695 msg/sec AtomicQueueB2, 6,s: 7,293,956 msg/sec AtomicQueueB2, 6,i: 7,440,997 msg/sec AtomicQueueB2, 7,s: 6,923,422 msg/sec AtomicQueueB2, 7,i: 7,724,080 msg/sec AtomicQueueB2, 8,s: 6,269,646 msg/sec AtomicQueueB2, 8,i: 7,118,881 msg/sec OptimistAtomicQueue2, 1,s: 294,835,875 msg/sec OptimistAtomicQueue2, 1,i: 26,396,847 msg/sec OptimistAtomicQueue2, 2,s: 22,486,449 msg/sec OptimistAtomicQueue2, 2,i: 24,698,029 msg/sec OptimistAtomicQueue2, 3,s: 30,326,926 msg/sec OptimistAtomicQueue2, 3,i: 29,981,151 msg/sec OptimistAtomicQueue2, 4,s: 33,255,484 msg/sec OptimistAtomicQueue2, 4,i: 33,276,403 msg/sec OptimistAtomicQueue2, 5,s: 36,966,740 msg/sec OptimistAtomicQueue2, 5,i: 40,560,128 msg/sec OptimistAtomicQueue2, 6,s: 40,045,717 msg/sec OptimistAtomicQueue2, 6,i: 49,330,604 msg/sec OptimistAtomicQueue2, 7,s: 42,832,487 msg/sec OptimistAtomicQueue2, 7,i: 48,156,466 msg/sec OptimistAtomicQueue2, 8,s: 43,754,570 msg/sec OptimistAtomicQueue2, 8,i: 48,482,315 msg/sec OptimistAtomicQueueB2, 1,s: 76,877,108 msg/sec OptimistAtomicQueueB2, 1,i: 59,940,579 msg/sec OptimistAtomicQueueB2, 2,s: 26,867,660 msg/sec OptimistAtomicQueueB2, 2,i: 24,168,447 msg/sec OptimistAtomicQueueB2, 3,s: 29,688,126 msg/sec OptimistAtomicQueueB2, 3,i: 29,052,776 msg/sec OptimistAtomicQueueB2, 4,s: 32,852,509 msg/sec OptimistAtomicQueueB2, 4,i: 33,096,889 msg/sec OptimistAtomicQueueB2, 5,s: 34,586,455 msg/sec OptimistAtomicQueueB2, 5,i: 39,374,290 msg/sec OptimistAtomicQueueB2, 6,s: 37,757,753 msg/sec OptimistAtomicQueueB2, 6,i: 42,179,029 msg/sec OptimistAtomicQueueB2, 7,s: 40,978,726 msg/sec OptimistAtomicQueueB2, 7,i: 43,205,582 msg/sec OptimistAtomicQueueB2, 8,s: 42,315,008 msg/sec OptimistAtomicQueueB2, 8,i: 45,613,741 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000132 sec/round-trip moodycamel::ConcurrentQueue: 0.000000239 sec/round-trip pthread_spinlock: 0.000000302 sec/round-trip std::mutex: 0.000000466 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000263 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000150 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [353] 15m:26s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,801,293 msg/sec boost::lockfree::spsc_queue, 1,i: 68,976,415 msg/sec boost::lockfree::queue, 1,s: 7,895,815 msg/sec boost::lockfree::queue, 1,i: 6,790,006 msg/sec boost::lockfree::queue, 2,s: 7,700,252 msg/sec boost::lockfree::queue, 2,i: 7,617,283 msg/sec boost::lockfree::queue, 3,s: 7,351,646 msg/sec boost::lockfree::queue, 3,i: 7,564,857 msg/sec boost::lockfree::queue, 4,s: 6,426,017 msg/sec boost::lockfree::queue, 4,i: 6,765,691 msg/sec boost::lockfree::queue, 5,s: 6,417,426 msg/sec boost::lockfree::queue, 5,i: 6,449,146 msg/sec boost::lockfree::queue, 6,s: 5,964,759 msg/sec boost::lockfree::queue, 6,i: 6,134,301 msg/sec boost::lockfree::queue, 7,s: 5,981,893 msg/sec boost::lockfree::queue, 7,i: 5,925,140 msg/sec boost::lockfree::queue, 8,s: 5,650,642 msg/sec boost::lockfree::queue, 8,i: 5,567,178 msg/sec moodycamel::ReaderWriterQueue, 1,s: 466,347,381 msg/sec moodycamel::ReaderWriterQueue, 1,i: 71,245,811 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,792,109 msg/sec moodycamel::ConcurrentQueue, 1,i: 24,371,110 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,107,989 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,098,837 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,547,125 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,120,439 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,444,431 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,220,740 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,369,161 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,908,774 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,261,456 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,816,360 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,187,368 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,632,503 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,255,252 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,212,711 msg/sec pthread_spinlock, 1,s: 28,956,795 msg/sec pthread_spinlock, 1,i: 25,422,699 msg/sec pthread_spinlock, 2,s: 15,636,166 msg/sec pthread_spinlock, 2,i: 17,962,490 msg/sec pthread_spinlock, 3,s: 8,250,042 msg/sec pthread_spinlock, 3,i: 12,015,435 msg/sec pthread_spinlock, 4,s: 6,596,600 msg/sec pthread_spinlock, 4,i: 9,280,829 msg/sec pthread_spinlock, 5,s: 8,744,282 msg/sec pthread_spinlock, 5,i: 9,274,292 msg/sec pthread_spinlock, 6,s: 8,317,409 msg/sec pthread_spinlock, 6,i: 8,371,177 msg/sec pthread_spinlock, 7,s: 7,610,785 msg/sec pthread_spinlock, 7,i: 7,407,767 msg/sec pthread_spinlock, 8,s: 6,713,920 msg/sec pthread_spinlock, 8,i: 6,808,909 msg/sec std::mutex, 1,s: 7,378,355 msg/sec std::mutex, 1,i: 7,441,662 msg/sec std::mutex, 2,s: 5,076,923 msg/sec std::mutex, 2,i: 5,478,420 msg/sec std::mutex, 3,s: 5,285,256 msg/sec std::mutex, 3,i: 4,664,628 msg/sec std::mutex, 4,s: 6,320,654 msg/sec std::mutex, 4,i: 6,208,231 msg/sec std::mutex, 5,s: 6,094,035 msg/sec std::mutex, 5,i: 6,110,703 msg/sec std::mutex, 6,s: 5,949,724 msg/sec std::mutex, 6,i: 5,947,101 msg/sec std::mutex, 7,s: 5,828,275 msg/sec std::mutex, 7,i: 5,808,500 msg/sec std::mutex, 8,s: 5,716,040 msg/sec std::mutex, 8,i: 5,671,298 msg/sec tbb::spin_mutex, 1,s: 37,622,459 msg/sec tbb::spin_mutex, 1,i: 32,868,585 msg/sec tbb::spin_mutex, 2,s: 21,292,266 msg/sec tbb::spin_mutex, 2,i: 18,679,194 msg/sec tbb::spin_mutex, 3,s: 8,164,016 msg/sec tbb::spin_mutex, 3,i: 11,017,653 msg/sec tbb::spin_mutex, 4,s: 3,232,495 msg/sec tbb::spin_mutex, 4,i: 6,215,317 msg/sec tbb::spin_mutex, 5,s: 5,510,445 msg/sec tbb::spin_mutex, 5,i: 5,860,330 msg/sec tbb::spin_mutex, 6,s: 5,288,502 msg/sec tbb::spin_mutex, 6,i: 4,328,869 msg/sec tbb::spin_mutex, 7,s: 4,647,991 msg/sec tbb::spin_mutex, 7,i: 4,334,803 msg/sec tbb::spin_mutex, 8,s: 4,228,567 msg/sec tbb::spin_mutex, 8,i: 4,197,229 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,559,506 msg/sec tbb::concurrent_bounded_queue, 1,i: 13,035,270 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,121,361 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,910,047 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,180,910 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,476,246 msg/sec tbb::concurrent_bounded_queue, 4,s: 9,993,625 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,197,858 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,545,848 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,364,091 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,618,350 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,757,908 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,563,859 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,136,243 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,712,535 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,878,144 msg/sec xenium::michael_scott_queue, 1,s: 10,027,020 msg/sec xenium::michael_scott_queue, 1,i: 9,783,345 msg/sec xenium::michael_scott_queue, 2,s: 8,462,732 msg/sec xenium::michael_scott_queue, 2,i: 8,412,665 msg/sec xenium::michael_scott_queue, 3,s: 7,199,969 msg/sec xenium::michael_scott_queue, 3,i: 7,624,488 msg/sec xenium::michael_scott_queue, 4,s: 6,287,584 msg/sec xenium::michael_scott_queue, 4,i: 6,314,579 msg/sec xenium::michael_scott_queue, 5,s: 6,308,439 msg/sec xenium::michael_scott_queue, 5,i: 6,638,475 msg/sec xenium::michael_scott_queue, 6,s: 6,479,956 msg/sec xenium::michael_scott_queue, 6,i: 6,919,672 msg/sec xenium::michael_scott_queue, 7,s: 6,245,220 msg/sec xenium::michael_scott_queue, 7,i: 6,499,904 msg/sec xenium::michael_scott_queue, 8,s: 6,056,183 msg/sec xenium::michael_scott_queue, 8,i: 6,243,875 msg/sec xenium::ramalhete_queue, 1,s: 31,017,969 msg/sec xenium::ramalhete_queue, 1,i: 30,532,436 msg/sec xenium::ramalhete_queue, 2,s: 23,342,354 msg/sec xenium::ramalhete_queue, 2,i: 23,154,679 msg/sec xenium::ramalhete_queue, 3,s: 29,308,837 msg/sec xenium::ramalhete_queue, 3,i: 28,542,820 msg/sec xenium::ramalhete_queue, 4,s: 33,759,255 msg/sec xenium::ramalhete_queue, 4,i: 33,480,465 msg/sec xenium::ramalhete_queue, 5,s: 32,001,602 msg/sec xenium::ramalhete_queue, 5,i: 35,741,570 msg/sec xenium::ramalhete_queue, 6,s: 34,027,195 msg/sec xenium::ramalhete_queue, 6,i: 38,878,133 msg/sec xenium::ramalhete_queue, 7,s: 35,064,213 msg/sec xenium::ramalhete_queue, 7,i: 41,158,940 msg/sec xenium::ramalhete_queue, 8,s: 35,418,121 msg/sec xenium::ramalhete_queue, 8,i: 43,987,218 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,625,145 msg/sec xenium::vyukov_bounded_queue, 1,i: 106,556,768 msg/sec xenium::vyukov_bounded_queue, 2,s: 28,048,269 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,320,938 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,622,988 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,778,793 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,609,581 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,236,656 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,339,720 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,172,973 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,916,021 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,182,374 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,231,544 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,124,601 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,380,974 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,204,443 msg/sec AtomicQueue, 1,s: 60,432,019 msg/sec AtomicQueue, 1,i: 56,394,306 msg/sec AtomicQueue, 2,s: 12,368,176 msg/sec AtomicQueue, 2,i: 11,756,274 msg/sec AtomicQueue, 3,s: 10,816,216 msg/sec AtomicQueue, 3,i: 9,831,456 msg/sec AtomicQueue, 4,s: 8,191,251 msg/sec AtomicQueue, 4,i: 8,183,773 msg/sec AtomicQueue, 5,s: 8,057,507 msg/sec AtomicQueue, 5,i: 7,991,875 msg/sec AtomicQueue, 6,s: 7,675,662 msg/sec AtomicQueue, 6,i: 7,631,233 msg/sec AtomicQueue, 7,s: 7,112,538 msg/sec AtomicQueue, 7,i: 7,987,045 msg/sec AtomicQueue, 8,s: 6,334,949 msg/sec AtomicQueue, 8,i: 7,462,334 msg/sec AtomicQueueB, 1,s: 43,772,065 msg/sec AtomicQueueB, 1,i: 43,059,205 msg/sec AtomicQueueB, 2,s: 11,807,255 msg/sec AtomicQueueB, 2,i: 11,460,627 msg/sec AtomicQueueB, 3,s: 11,047,596 msg/sec AtomicQueueB, 3,i: 10,101,008 msg/sec AtomicQueueB, 4,s: 8,045,053 msg/sec AtomicQueueB, 4,i: 7,948,415 msg/sec AtomicQueueB, 5,s: 7,578,972 msg/sec AtomicQueueB, 5,i: 7,828,202 msg/sec AtomicQueueB, 6,s: 7,314,511 msg/sec AtomicQueueB, 6,i: 7,522,725 msg/sec AtomicQueueB, 7,s: 6,869,804 msg/sec AtomicQueueB, 7,i: 7,747,640 msg/sec AtomicQueueB, 8,s: 6,240,301 msg/sec AtomicQueueB, 8,i: 7,147,853 msg/sec OptimistAtomicQueue, 1,s: 700,304,509 msg/sec OptimistAtomicQueue, 1,i: 705,582,480 msg/sec OptimistAtomicQueue, 2,s: 32,164,314 msg/sec OptimistAtomicQueue, 2,i: 32,708,040 msg/sec OptimistAtomicQueue, 3,s: 36,665,333 msg/sec OptimistAtomicQueue, 3,i: 37,418,455 msg/sec OptimistAtomicQueue, 4,s: 39,284,109 msg/sec OptimistAtomicQueue, 4,i: 39,402,971 msg/sec OptimistAtomicQueue, 5,s: 41,656,715 msg/sec OptimistAtomicQueue, 5,i: 46,280,223 msg/sec OptimistAtomicQueue, 6,s: 42,145,881 msg/sec OptimistAtomicQueue, 6,i: 50,213,777 msg/sec OptimistAtomicQueue, 7,s: 44,095,898 msg/sec OptimistAtomicQueue, 7,i: 53,031,576 msg/sec OptimistAtomicQueue, 8,s: 46,413,163 msg/sec OptimistAtomicQueue, 8,i: 48,847,379 msg/sec OptimistAtomicQueueB, 1,s: 174,069,001 msg/sec OptimistAtomicQueueB, 1,i: 76,634,149 msg/sec OptimistAtomicQueueB, 2,s: 32,110,731 msg/sec OptimistAtomicQueueB, 2,i: 32,230,662 msg/sec OptimistAtomicQueueB, 3,s: 36,275,025 msg/sec OptimistAtomicQueueB, 3,i: 36,874,677 msg/sec OptimistAtomicQueueB, 4,s: 38,648,422 msg/sec OptimistAtomicQueueB, 4,i: 38,460,942 msg/sec OptimistAtomicQueueB, 5,s: 41,189,870 msg/sec OptimistAtomicQueueB, 5,i: 45,377,018 msg/sec OptimistAtomicQueueB, 6,s: 41,160,697 msg/sec OptimistAtomicQueueB, 6,i: 49,158,797 msg/sec OptimistAtomicQueueB, 7,s: 41,786,229 msg/sec OptimistAtomicQueueB, 7,i: 51,499,824 msg/sec OptimistAtomicQueueB, 8,s: 44,108,100 msg/sec OptimistAtomicQueueB, 8,i: 47,780,416 msg/sec AtomicQueue2, 1,s: 22,905,737 msg/sec AtomicQueue2, 1,i: 22,991,439 msg/sec AtomicQueue2, 2,s: 11,874,064 msg/sec AtomicQueue2, 2,i: 11,409,190 msg/sec AtomicQueue2, 3,s: 9,497,232 msg/sec AtomicQueue2, 3,i: 9,350,154 msg/sec AtomicQueue2, 4,s: 8,089,758 msg/sec AtomicQueue2, 4,i: 8,042,650 msg/sec AtomicQueue2, 5,s: 7,935,512 msg/sec AtomicQueue2, 5,i: 8,003,175 msg/sec AtomicQueue2, 6,s: 7,689,115 msg/sec AtomicQueue2, 6,i: 7,524,580 msg/sec AtomicQueue2, 7,s: 7,106,833 msg/sec AtomicQueue2, 7,i: 7,884,552 msg/sec AtomicQueue2, 8,s: 6,369,904 msg/sec AtomicQueue2, 8,i: 7,203,391 msg/sec AtomicQueueB2, 1,s: 35,869,545 msg/sec AtomicQueueB2, 1,i: 32,707,533 msg/sec AtomicQueueB2, 2,s: 11,357,063 msg/sec AtomicQueueB2, 2,i: 11,094,711 msg/sec AtomicQueueB2, 3,s: 9,689,772 msg/sec AtomicQueueB2, 3,i: 9,540,982 msg/sec AtomicQueueB2, 4,s: 7,960,874 msg/sec AtomicQueueB2, 4,i: 7,787,819 msg/sec AtomicQueueB2, 5,s: 7,550,487 msg/sec AtomicQueueB2, 5,i: 7,768,829 msg/sec AtomicQueueB2, 6,s: 7,284,830 msg/sec AtomicQueueB2, 6,i: 7,470,158 msg/sec AtomicQueueB2, 7,s: 6,895,765 msg/sec AtomicQueueB2, 7,i: 7,683,322 msg/sec AtomicQueueB2, 8,s: 6,288,141 msg/sec AtomicQueueB2, 8,i: 6,953,909 msg/sec OptimistAtomicQueue2, 1,s: 32,612,299 msg/sec OptimistAtomicQueue2, 1,i: 32,252,731 msg/sec OptimistAtomicQueue2, 2,s: 29,422,830 msg/sec OptimistAtomicQueue2, 2,i: 24,422,921 msg/sec OptimistAtomicQueue2, 3,s: 32,918,399 msg/sec OptimistAtomicQueue2, 3,i: 30,157,517 msg/sec OptimistAtomicQueue2, 4,s: 33,231,281 msg/sec OptimistAtomicQueue2, 4,i: 33,296,155 msg/sec OptimistAtomicQueue2, 5,s: 37,228,114 msg/sec OptimistAtomicQueue2, 5,i: 40,305,817 msg/sec OptimistAtomicQueue2, 6,s: 40,234,112 msg/sec OptimistAtomicQueue2, 6,i: 49,175,689 msg/sec OptimistAtomicQueue2, 7,s: 42,582,436 msg/sec OptimistAtomicQueue2, 7,i: 48,182,331 msg/sec OptimistAtomicQueue2, 8,s: 44,695,138 msg/sec OptimistAtomicQueue2, 8,i: 48,440,842 msg/sec OptimistAtomicQueueB2, 1,s: 75,643,287 msg/sec OptimistAtomicQueueB2, 1,i: 40,709,860 msg/sec OptimistAtomicQueueB2, 2,s: 27,239,455 msg/sec OptimistAtomicQueueB2, 2,i: 25,954,383 msg/sec OptimistAtomicQueueB2, 3,s: 29,715,586 msg/sec OptimistAtomicQueueB2, 3,i: 29,416,806 msg/sec OptimistAtomicQueueB2, 4,s: 32,959,749 msg/sec OptimistAtomicQueueB2, 4,i: 32,616,142 msg/sec OptimistAtomicQueueB2, 5,s: 34,628,440 msg/sec OptimistAtomicQueueB2, 5,i: 39,423,783 msg/sec OptimistAtomicQueueB2, 6,s: 37,740,563 msg/sec OptimistAtomicQueueB2, 6,i: 42,285,773 msg/sec OptimistAtomicQueueB2, 7,s: 40,180,390 msg/sec OptimistAtomicQueueB2, 7,i: 45,632,939 msg/sec OptimistAtomicQueueB2, 8,s: 42,381,669 msg/sec OptimistAtomicQueueB2, 8,i: 45,812,744 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000131 sec/round-trip boost::lockfree::queue: 0.000000319 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000152 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000249 sec/round-trip std::mutex: 0.000000518 sec/round-trip tbb::spin_mutex: 0.000000307 sec/round-trip tbb::concurrent_bounded_queue: 0.000000298 sec/round-trip xenium::michael_scott_queue: 0.000000383 sec/round-trip xenium::ramalhete_queue: 0.000000270 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [354] 14m:6s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,318,849 msg/sec boost::lockfree::spsc_queue, 1,i: 67,820,877 msg/sec boost::lockfree::queue, 1,s: 6,886,502 msg/sec boost::lockfree::queue, 1,i: 6,847,839 msg/sec boost::lockfree::queue, 2,s: 7,588,144 msg/sec boost::lockfree::queue, 2,i: 7,573,408 msg/sec boost::lockfree::queue, 3,s: 7,388,204 msg/sec boost::lockfree::queue, 3,i: 7,618,274 msg/sec boost::lockfree::queue, 4,s: 6,430,278 msg/sec boost::lockfree::queue, 4,i: 6,750,486 msg/sec boost::lockfree::queue, 5,s: 6,443,361 msg/sec boost::lockfree::queue, 5,i: 6,467,883 msg/sec boost::lockfree::queue, 6,s: 5,990,642 msg/sec boost::lockfree::queue, 6,i: 6,084,543 msg/sec boost::lockfree::queue, 7,s: 6,064,064 msg/sec boost::lockfree::queue, 7,i: 6,084,466 msg/sec boost::lockfree::queue, 8,s: 5,483,702 msg/sec boost::lockfree::queue, 8,i: 5,609,281 msg/sec moodycamel::ReaderWriterQueue, 1,s: 472,830,844 msg/sec moodycamel::ReaderWriterQueue, 1,i: 466,233,885 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,130,916 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,800,233 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,001,707 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,797,496 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,454,240 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,609,639 msg/sec moodycamel::ConcurrentQueue, 4,s: 43,357,352 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,145,965 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,215,775 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,142,859 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,115,004 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,010,826 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,856,951 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,542,436 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,208,371 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,554,693 msg/sec pthread_spinlock, 1,s: 29,093,068 msg/sec pthread_spinlock, 1,i: 29,202,916 msg/sec pthread_spinlock, 2,s: 15,526,307 msg/sec pthread_spinlock, 2,i: 17,173,131 msg/sec pthread_spinlock, 3,s: 8,315,375 msg/sec pthread_spinlock, 3,i: 12,068,499 msg/sec pthread_spinlock, 4,s: 6,524,425 msg/sec pthread_spinlock, 4,i: 8,885,381 msg/sec pthread_spinlock, 5,s: 8,705,789 msg/sec pthread_spinlock, 5,i: 9,278,409 msg/sec pthread_spinlock, 6,s: 8,260,268 msg/sec pthread_spinlock, 6,i: 8,451,965 msg/sec pthread_spinlock, 7,s: 7,527,100 msg/sec pthread_spinlock, 7,i: 7,670,048 msg/sec pthread_spinlock, 8,s: 6,718,052 msg/sec pthread_spinlock, 8,i: 7,229,304 msg/sec std::mutex, 1,s: 7,143,001 msg/sec std::mutex, 1,i: 6,340,935 msg/sec std::mutex, 2,s: 5,203,414 msg/sec std::mutex, 2,i: 5,432,818 msg/sec std::mutex, 3,s: 4,605,893 msg/sec std::mutex, 3,i: 5,870,997 msg/sec std::mutex, 4,s: 5,585,122 msg/sec std::mutex, 4,i: 6,263,205 msg/sec std::mutex, 5,s: 6,101,802 msg/sec std::mutex, 5,i: 6,216,913 msg/sec std::mutex, 6,s: 6,003,966 msg/sec std::mutex, 6,i: 5,972,452 msg/sec std::mutex, 7,s: 5,888,264 msg/sec std::mutex, 7,i: 5,902,491 msg/sec std::mutex, 8,s: 5,780,093 msg/sec std::mutex, 8,i: 5,742,078 msg/sec tbb::spin_mutex, 1,s: 37,873,639 msg/sec tbb::spin_mutex, 1,i: 32,925,362 msg/sec tbb::spin_mutex, 2,s: 21,127,731 msg/sec tbb::spin_mutex, 2,i: 18,344,649 msg/sec tbb::spin_mutex, 3,s: 8,427,493 msg/sec tbb::spin_mutex, 3,i: 10,341,435 msg/sec tbb::spin_mutex, 4,s: 3,126,412 msg/sec tbb::spin_mutex, 4,i: 6,407,625 msg/sec tbb::spin_mutex, 5,s: 5,504,827 msg/sec tbb::spin_mutex, 5,i: 5,754,364 msg/sec tbb::spin_mutex, 6,s: 5,364,034 msg/sec tbb::spin_mutex, 6,i: 4,420,765 msg/sec tbb::spin_mutex, 7,s: 4,869,225 msg/sec tbb::spin_mutex, 7,i: 4,321,533 msg/sec tbb::spin_mutex, 8,s: 4,221,123 msg/sec tbb::spin_mutex, 8,i: 4,078,535 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,276,061 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,175,723 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,890,128 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,473,597 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,458,742 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,686,486 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,543,187 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,584,135 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,916,449 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,646,575 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,915,177 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,685,123 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,870,068 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,838,600 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,786,059 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,482,677 msg/sec xenium::michael_scott_queue, 1,s: 9,500,604 msg/sec xenium::michael_scott_queue, 1,i: 9,519,091 msg/sec xenium::michael_scott_queue, 2,s: 8,409,594 msg/sec xenium::michael_scott_queue, 2,i: 8,394,025 msg/sec xenium::michael_scott_queue, 3,s: 7,121,931 msg/sec xenium::michael_scott_queue, 3,i: 7,590,693 msg/sec xenium::michael_scott_queue, 4,s: 6,256,087 msg/sec xenium::michael_scott_queue, 4,i: 6,392,565 msg/sec xenium::michael_scott_queue, 5,s: 6,289,893 msg/sec xenium::michael_scott_queue, 5,i: 6,672,663 msg/sec xenium::michael_scott_queue, 6,s: 6,449,007 msg/sec xenium::michael_scott_queue, 6,i: 6,713,491 msg/sec xenium::michael_scott_queue, 7,s: 6,333,777 msg/sec xenium::michael_scott_queue, 7,i: 6,434,971 msg/sec xenium::michael_scott_queue, 8,s: 5,975,647 msg/sec xenium::michael_scott_queue, 8,i: 6,069,730 msg/sec xenium::ramalhete_queue, 1,s: 32,388,978 msg/sec xenium::ramalhete_queue, 1,i: 32,806,179 msg/sec xenium::ramalhete_queue, 2,s: 24,411,165 msg/sec xenium::ramalhete_queue, 2,i: 23,604,489 msg/sec xenium::ramalhete_queue, 3,s: 29,259,143 msg/sec xenium::ramalhete_queue, 3,i: 28,510,463 msg/sec xenium::ramalhete_queue, 4,s: 33,832,763 msg/sec xenium::ramalhete_queue, 4,i: 33,461,769 msg/sec xenium::ramalhete_queue, 5,s: 32,217,220 msg/sec xenium::ramalhete_queue, 5,i: 35,763,905 msg/sec xenium::ramalhete_queue, 6,s: 33,908,930 msg/sec xenium::ramalhete_queue, 6,i: 38,835,978 msg/sec xenium::ramalhete_queue, 7,s: 34,970,683 msg/sec xenium::ramalhete_queue, 7,i: 40,834,714 msg/sec xenium::ramalhete_queue, 8,s: 35,452,106 msg/sec xenium::ramalhete_queue, 8,i: 43,691,519 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,010,272 msg/sec xenium::vyukov_bounded_queue, 1,i: 121,611,726 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,256,577 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,971,151 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,713,873 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,787,597 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,537,868 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,285,854 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,851,900 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,264,135 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,986,224 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,477,196 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,158,570 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,954,884 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,429,618 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,512,684 msg/sec AtomicQueue, 1,s: 62,033,639 msg/sec AtomicQueue, 1,i: 56,858,141 msg/sec AtomicQueue, 2,s: 12,282,045 msg/sec AtomicQueue, 2,i: 11,764,138 msg/sec AtomicQueue, 3,s: 10,797,458 msg/sec AtomicQueue, 3,i: 9,942,227 msg/sec AtomicQueue, 4,s: 8,201,161 msg/sec AtomicQueue, 4,i: 8,220,954 msg/sec AtomicQueue, 5,s: 8,029,035 msg/sec AtomicQueue, 5,i: 8,150,820 msg/sec AtomicQueue, 6,s: 7,821,501 msg/sec AtomicQueue, 6,i: 7,615,264 msg/sec AtomicQueue, 7,s: 7,078,131 msg/sec AtomicQueue, 7,i: 7,960,412 msg/sec AtomicQueue, 8,s: 6,347,417 msg/sec AtomicQueue, 8,i: 7,491,072 msg/sec AtomicQueueB, 1,s: 51,534,664 msg/sec AtomicQueueB, 1,i: 43,064,426 msg/sec AtomicQueueB, 2,s: 11,769,814 msg/sec AtomicQueueB, 2,i: 11,468,530 msg/sec AtomicQueueB, 3,s: 11,038,906 msg/sec AtomicQueueB, 3,i: 10,253,233 msg/sec AtomicQueueB, 4,s: 8,014,589 msg/sec AtomicQueueB, 4,i: 7,988,697 msg/sec AtomicQueueB, 5,s: 7,652,256 msg/sec AtomicQueueB, 5,i: 7,789,141 msg/sec AtomicQueueB, 6,s: 7,398,842 msg/sec AtomicQueueB, 6,i: 7,541,381 msg/sec AtomicQueueB, 7,s: 6,844,072 msg/sec AtomicQueueB, 7,i: 7,693,501 msg/sec AtomicQueueB, 8,s: 6,200,830 msg/sec AtomicQueueB, 8,i: 7,199,973 msg/sec OptimistAtomicQueue, 1,s: 735,488,805 msg/sec OptimistAtomicQueue, 1,i: 703,763,321 msg/sec OptimistAtomicQueue, 2,s: 32,179,043 msg/sec OptimistAtomicQueue, 2,i: 32,572,940 msg/sec OptimistAtomicQueue, 3,s: 36,615,429 msg/sec OptimistAtomicQueue, 3,i: 37,339,281 msg/sec OptimistAtomicQueue, 4,s: 39,248,090 msg/sec OptimistAtomicQueue, 4,i: 39,373,556 msg/sec OptimistAtomicQueue, 5,s: 42,436,950 msg/sec OptimistAtomicQueue, 5,i: 47,495,866 msg/sec OptimistAtomicQueue, 6,s: 42,759,373 msg/sec OptimistAtomicQueue, 6,i: 50,392,562 msg/sec OptimistAtomicQueue, 7,s: 44,999,587 msg/sec OptimistAtomicQueue, 7,i: 49,121,398 msg/sec OptimistAtomicQueue, 8,s: 46,401,807 msg/sec OptimistAtomicQueue, 8,i: 49,229,884 msg/sec OptimistAtomicQueueB, 1,s: 77,883,165 msg/sec OptimistAtomicQueueB, 1,i: 76,655,347 msg/sec OptimistAtomicQueueB, 2,s: 32,202,225 msg/sec OptimistAtomicQueueB, 2,i: 32,264,678 msg/sec OptimistAtomicQueueB, 3,s: 36,228,061 msg/sec OptimistAtomicQueueB, 3,i: 36,866,950 msg/sec OptimistAtomicQueueB, 4,s: 38,591,463 msg/sec OptimistAtomicQueueB, 4,i: 38,551,780 msg/sec OptimistAtomicQueueB, 5,s: 41,103,907 msg/sec OptimistAtomicQueueB, 5,i: 46,050,568 msg/sec OptimistAtomicQueueB, 6,s: 40,491,134 msg/sec OptimistAtomicQueueB, 6,i: 49,212,401 msg/sec OptimistAtomicQueueB, 7,s: 42,572,331 msg/sec OptimistAtomicQueueB, 7,i: 51,401,824 msg/sec OptimistAtomicQueueB, 8,s: 44,449,783 msg/sec OptimistAtomicQueueB, 8,i: 47,518,341 msg/sec AtomicQueue2, 1,s: 22,907,610 msg/sec AtomicQueue2, 1,i: 22,817,297 msg/sec AtomicQueue2, 2,s: 11,850,230 msg/sec AtomicQueue2, 2,i: 11,646,892 msg/sec AtomicQueue2, 3,s: 9,418,030 msg/sec AtomicQueue2, 3,i: 9,415,567 msg/sec AtomicQueue2, 4,s: 8,039,572 msg/sec AtomicQueue2, 4,i: 8,059,785 msg/sec AtomicQueue2, 5,s: 7,940,780 msg/sec AtomicQueue2, 5,i: 7,937,571 msg/sec AtomicQueue2, 6,s: 7,781,986 msg/sec AtomicQueue2, 6,i: 7,522,799 msg/sec AtomicQueue2, 7,s: 7,144,787 msg/sec AtomicQueue2, 7,i: 7,889,287 msg/sec AtomicQueue2, 8,s: 6,380,187 msg/sec AtomicQueue2, 8,i: 7,362,010 msg/sec AtomicQueueB2, 1,s: 36,450,859 msg/sec AtomicQueueB2, 1,i: 32,663,358 msg/sec AtomicQueueB2, 2,s: 11,447,840 msg/sec AtomicQueueB2, 2,i: 11,116,084 msg/sec AtomicQueueB2, 3,s: 9,718,295 msg/sec AtomicQueueB2, 3,i: 9,587,345 msg/sec AtomicQueueB2, 4,s: 7,964,111 msg/sec AtomicQueueB2, 4,i: 7,859,385 msg/sec AtomicQueueB2, 5,s: 7,574,055 msg/sec AtomicQueueB2, 5,i: 7,662,629 msg/sec AtomicQueueB2, 6,s: 7,302,635 msg/sec AtomicQueueB2, 6,i: 7,458,738 msg/sec AtomicQueueB2, 7,s: 6,844,300 msg/sec AtomicQueueB2, 7,i: 7,724,199 msg/sec AtomicQueueB2, 8,s: 6,264,101 msg/sec AtomicQueueB2, 8,i: 7,104,459 msg/sec OptimistAtomicQueue2, 1,s: 454,412,951 msg/sec OptimistAtomicQueue2, 1,i: 29,658,743 msg/sec OptimistAtomicQueue2, 2,s: 24,262,337 msg/sec OptimistAtomicQueue2, 2,i: 24,211,427 msg/sec OptimistAtomicQueue2, 3,s: 30,311,495 msg/sec OptimistAtomicQueue2, 3,i: 29,932,428 msg/sec OptimistAtomicQueue2, 4,s: 33,091,015 msg/sec OptimistAtomicQueue2, 4,i: 33,140,917 msg/sec OptimistAtomicQueue2, 5,s: 37,113,607 msg/sec OptimistAtomicQueue2, 5,i: 41,169,969 msg/sec OptimistAtomicQueue2, 6,s: 40,439,391 msg/sec OptimistAtomicQueue2, 6,i: 49,239,733 msg/sec OptimistAtomicQueue2, 7,s: 42,731,518 msg/sec OptimistAtomicQueue2, 7,i: 51,469,723 msg/sec OptimistAtomicQueue2, 8,s: 44,038,793 msg/sec OptimistAtomicQueue2, 8,i: 48,610,828 msg/sec OptimistAtomicQueueB2, 1,s: 74,409,358 msg/sec OptimistAtomicQueueB2, 1,i: 33,872,304 msg/sec OptimistAtomicQueueB2, 2,s: 27,318,825 msg/sec OptimistAtomicQueueB2, 2,i: 23,217,417 msg/sec OptimistAtomicQueueB2, 3,s: 29,710,427 msg/sec OptimistAtomicQueueB2, 3,i: 29,574,327 msg/sec OptimistAtomicQueueB2, 4,s: 33,566,154 msg/sec OptimistAtomicQueueB2, 4,i: 32,680,455 msg/sec OptimistAtomicQueueB2, 5,s: 34,575,466 msg/sec OptimistAtomicQueueB2, 5,i: 39,398,215 msg/sec OptimistAtomicQueueB2, 6,s: 37,505,534 msg/sec OptimistAtomicQueueB2, 6,i: 42,266,415 msg/sec OptimistAtomicQueueB2, 7,s: 40,462,756 msg/sec OptimistAtomicQueueB2, 7,i: 43,102,741 msg/sec OptimistAtomicQueueB2, 8,s: 42,174,760 msg/sec OptimistAtomicQueueB2, 8,i: 45,194,436 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000165 sec/round-trip moodycamel::ConcurrentQueue: 0.000000244 sec/round-trip pthread_spinlock: 0.000000247 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000283 sec/round-trip xenium::michael_scott_queue: 0.000000362 sec/round-trip xenium::ramalhete_queue: 0.000000259 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000155 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [355] 12m:47s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 66,569,896 msg/sec boost::lockfree::spsc_queue, 1,i: 65,975,391 msg/sec boost::lockfree::queue, 1,s: 6,877,948 msg/sec boost::lockfree::queue, 1,i: 6,881,091 msg/sec boost::lockfree::queue, 2,s: 7,631,519 msg/sec boost::lockfree::queue, 2,i: 7,556,763 msg/sec boost::lockfree::queue, 3,s: 7,409,401 msg/sec boost::lockfree::queue, 3,i: 7,537,504 msg/sec boost::lockfree::queue, 4,s: 6,418,873 msg/sec boost::lockfree::queue, 4,i: 6,821,541 msg/sec boost::lockfree::queue, 5,s: 6,389,315 msg/sec boost::lockfree::queue, 5,i: 6,517,921 msg/sec boost::lockfree::queue, 6,s: 5,984,809 msg/sec boost::lockfree::queue, 6,i: 6,095,675 msg/sec boost::lockfree::queue, 7,s: 5,841,964 msg/sec boost::lockfree::queue, 7,i: 5,953,025 msg/sec boost::lockfree::queue, 8,s: 5,516,595 msg/sec boost::lockfree::queue, 8,i: 5,542,103 msg/sec moodycamel::ReaderWriterQueue, 1,s: 55,866,289 msg/sec moodycamel::ReaderWriterQueue, 1,i: 54,577,211 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,568,674 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,667,685 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,187,395 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,754,167 msg/sec moodycamel::ConcurrentQueue, 3,s: 40,903,892 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,846,360 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,310,643 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,738,464 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,293,833 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,214,482 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,788,977 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,864,413 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,040,414 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,189,563 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,207,202 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,582,825 msg/sec pthread_spinlock, 1,s: 28,884,296 msg/sec pthread_spinlock, 1,i: 25,207,686 msg/sec pthread_spinlock, 2,s: 15,420,164 msg/sec pthread_spinlock, 2,i: 17,074,676 msg/sec pthread_spinlock, 3,s: 8,363,629 msg/sec pthread_spinlock, 3,i: 12,147,699 msg/sec pthread_spinlock, 4,s: 6,526,711 msg/sec pthread_spinlock, 4,i: 9,026,585 msg/sec pthread_spinlock, 5,s: 8,775,911 msg/sec pthread_spinlock, 5,i: 9,307,167 msg/sec pthread_spinlock, 6,s: 8,348,088 msg/sec pthread_spinlock, 6,i: 9,061,362 msg/sec pthread_spinlock, 7,s: 7,600,298 msg/sec pthread_spinlock, 7,i: 8,054,177 msg/sec pthread_spinlock, 8,s: 6,775,929 msg/sec pthread_spinlock, 8,i: 7,002,657 msg/sec std::mutex, 1,s: 7,316,504 msg/sec std::mutex, 1,i: 7,590,907 msg/sec std::mutex, 2,s: 5,955,400 msg/sec std::mutex, 2,i: 6,130,545 msg/sec std::mutex, 3,s: 6,033,126 msg/sec std::mutex, 3,i: 6,083,355 msg/sec std::mutex, 4,s: 6,210,935 msg/sec std::mutex, 4,i: 6,204,466 msg/sec std::mutex, 5,s: 5,944,385 msg/sec std::mutex, 5,i: 6,077,996 msg/sec std::mutex, 6,s: 5,839,294 msg/sec std::mutex, 6,i: 5,965,307 msg/sec std::mutex, 7,s: 5,784,195 msg/sec std::mutex, 7,i: 5,791,407 msg/sec std::mutex, 8,s: 5,650,764 msg/sec std::mutex, 8,i: 5,745,869 msg/sec tbb::spin_mutex, 1,s: 37,620,245 msg/sec tbb::spin_mutex, 1,i: 32,941,835 msg/sec tbb::spin_mutex, 2,s: 21,076,269 msg/sec tbb::spin_mutex, 2,i: 18,959,884 msg/sec tbb::spin_mutex, 3,s: 7,904,595 msg/sec tbb::spin_mutex, 3,i: 11,231,755 msg/sec tbb::spin_mutex, 4,s: 3,189,428 msg/sec tbb::spin_mutex, 4,i: 6,346,231 msg/sec tbb::spin_mutex, 5,s: 5,392,688 msg/sec tbb::spin_mutex, 5,i: 5,726,259 msg/sec tbb::spin_mutex, 6,s: 5,346,715 msg/sec tbb::spin_mutex, 6,i: 4,364,219 msg/sec tbb::spin_mutex, 7,s: 4,875,627 msg/sec tbb::spin_mutex, 7,i: 4,347,374 msg/sec tbb::spin_mutex, 8,s: 3,874,514 msg/sec tbb::spin_mutex, 8,i: 4,079,022 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,362,953 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,470,045 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,693,187 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,835,234 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,575,275 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,528,836 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,089,426 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,415,840 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,673,958 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,728,621 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,847,721 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,958,747 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,821,858 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,148,759 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,615,544 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,312,384 msg/sec xenium::michael_scott_queue, 1,s: 9,348,124 msg/sec xenium::michael_scott_queue, 1,i: 9,378,054 msg/sec xenium::michael_scott_queue, 2,s: 8,553,938 msg/sec xenium::michael_scott_queue, 2,i: 8,569,178 msg/sec xenium::michael_scott_queue, 3,s: 7,368,701 msg/sec xenium::michael_scott_queue, 3,i: 7,558,691 msg/sec xenium::michael_scott_queue, 4,s: 6,351,481 msg/sec xenium::michael_scott_queue, 4,i: 6,363,005 msg/sec xenium::michael_scott_queue, 5,s: 6,311,548 msg/sec xenium::michael_scott_queue, 5,i: 6,688,790 msg/sec xenium::michael_scott_queue, 6,s: 6,528,368 msg/sec xenium::michael_scott_queue, 6,i: 6,739,978 msg/sec xenium::michael_scott_queue, 7,s: 6,304,416 msg/sec xenium::michael_scott_queue, 7,i: 6,498,088 msg/sec xenium::michael_scott_queue, 8,s: 6,028,382 msg/sec xenium::michael_scott_queue, 8,i: 6,098,197 msg/sec xenium::ramalhete_queue, 1,s: 31,967,861 msg/sec xenium::ramalhete_queue, 1,i: 32,287,261 msg/sec xenium::ramalhete_queue, 2,s: 24,009,452 msg/sec xenium::ramalhete_queue, 2,i: 23,343,741 msg/sec xenium::ramalhete_queue, 3,s: 29,135,224 msg/sec xenium::ramalhete_queue, 3,i: 28,452,836 msg/sec xenium::ramalhete_queue, 4,s: 33,899,655 msg/sec xenium::ramalhete_queue, 4,i: 33,487,981 msg/sec xenium::ramalhete_queue, 5,s: 32,519,350 msg/sec xenium::ramalhete_queue, 5,i: 37,436,839 msg/sec xenium::ramalhete_queue, 6,s: 34,292,719 msg/sec xenium::ramalhete_queue, 6,i: 39,245,015 msg/sec xenium::ramalhete_queue, 7,s: 35,456,784 msg/sec xenium::ramalhete_queue, 7,i: 40,807,624 msg/sec xenium::ramalhete_queue, 8,s: 35,455,167 msg/sec xenium::ramalhete_queue, 8,i: 43,375,023 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,789,086 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,949,639 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,804,692 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,402,879 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,821,597 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,923,486 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,471,507 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,361,387 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,742,620 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,354,208 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,054,156 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,220,544 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,229,718 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,385,374 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,432,030 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,255,699 msg/sec AtomicQueue, 1,s: 218,392,503 msg/sec AtomicQueue, 1,i: 139,094,531 msg/sec AtomicQueue, 2,s: 12,288,136 msg/sec AtomicQueue, 2,i: 11,749,156 msg/sec AtomicQueue, 3,s: 10,824,015 msg/sec AtomicQueue, 3,i: 9,943,496 msg/sec AtomicQueue, 4,s: 8,155,716 msg/sec AtomicQueue, 4,i: 8,186,701 msg/sec AtomicQueue, 5,s: 8,023,277 msg/sec AtomicQueue, 5,i: 8,085,177 msg/sec AtomicQueue, 6,s: 7,683,642 msg/sec AtomicQueue, 6,i: 7,621,956 msg/sec AtomicQueue, 7,s: 7,137,874 msg/sec AtomicQueue, 7,i: 7,984,694 msg/sec AtomicQueue, 8,s: 6,326,808 msg/sec AtomicQueue, 8,i: 7,464,148 msg/sec AtomicQueueB, 1,s: 50,788,686 msg/sec AtomicQueueB, 1,i: 43,077,044 msg/sec AtomicQueueB, 2,s: 11,778,543 msg/sec AtomicQueueB, 2,i: 11,515,016 msg/sec AtomicQueueB, 3,s: 10,943,407 msg/sec AtomicQueueB, 3,i: 10,226,101 msg/sec AtomicQueueB, 4,s: 8,094,962 msg/sec AtomicQueueB, 4,i: 8,015,813 msg/sec AtomicQueueB, 5,s: 7,562,528 msg/sec AtomicQueueB, 5,i: 7,813,568 msg/sec AtomicQueueB, 6,s: 7,411,457 msg/sec AtomicQueueB, 6,i: 7,585,009 msg/sec AtomicQueueB, 7,s: 6,870,656 msg/sec AtomicQueueB, 7,i: 7,738,093 msg/sec AtomicQueueB, 8,s: 6,299,590 msg/sec AtomicQueueB, 8,i: 7,171,704 msg/sec OptimistAtomicQueue, 1,s: 774,636,990 msg/sec OptimistAtomicQueue, 1,i: 535,262,705 msg/sec OptimistAtomicQueue, 2,s: 32,157,460 msg/sec OptimistAtomicQueue, 2,i: 32,223,340 msg/sec OptimistAtomicQueue, 3,s: 36,649,887 msg/sec OptimistAtomicQueue, 3,i: 37,436,958 msg/sec OptimistAtomicQueue, 4,s: 39,269,259 msg/sec OptimistAtomicQueue, 4,i: 39,402,097 msg/sec OptimistAtomicQueue, 5,s: 37,568,030 msg/sec OptimistAtomicQueue, 5,i: 46,540,030 msg/sec OptimistAtomicQueue, 6,s: 42,436,455 msg/sec OptimistAtomicQueue, 6,i: 50,212,286 msg/sec OptimistAtomicQueue, 7,s: 45,105,199 msg/sec OptimistAtomicQueue, 7,i: 53,110,323 msg/sec OptimistAtomicQueue, 8,s: 46,420,089 msg/sec OptimistAtomicQueue, 8,i: 49,187,450 msg/sec OptimistAtomicQueueB, 1,s: 169,149,950 msg/sec OptimistAtomicQueueB, 1,i: 77,526,551 msg/sec OptimistAtomicQueueB, 2,s: 31,669,299 msg/sec OptimistAtomicQueueB, 2,i: 31,663,001 msg/sec OptimistAtomicQueueB, 3,s: 36,034,383 msg/sec OptimistAtomicQueueB, 3,i: 36,725,501 msg/sec OptimistAtomicQueueB, 4,s: 38,703,405 msg/sec OptimistAtomicQueueB, 4,i: 38,639,872 msg/sec OptimistAtomicQueueB, 5,s: 41,169,196 msg/sec OptimistAtomicQueueB, 5,i: 45,447,602 msg/sec OptimistAtomicQueueB, 6,s: 40,737,239 msg/sec OptimistAtomicQueueB, 6,i: 49,222,132 msg/sec OptimistAtomicQueueB, 7,s: 42,134,237 msg/sec OptimistAtomicQueueB, 7,i: 47,654,210 msg/sec OptimistAtomicQueueB, 8,s: 44,360,606 msg/sec OptimistAtomicQueueB, 8,i: 47,899,273 msg/sec AtomicQueue2, 1,s: 22,918,584 msg/sec AtomicQueue2, 1,i: 22,881,408 msg/sec AtomicQueue2, 2,s: 11,817,493 msg/sec AtomicQueue2, 2,i: 11,396,594 msg/sec AtomicQueue2, 3,s: 9,483,676 msg/sec AtomicQueue2, 3,i: 9,395,765 msg/sec AtomicQueue2, 4,s: 8,074,762 msg/sec AtomicQueue2, 4,i: 8,037,852 msg/sec AtomicQueue2, 5,s: 7,885,217 msg/sec AtomicQueue2, 5,i: 8,021,606 msg/sec AtomicQueue2, 6,s: 7,837,966 msg/sec AtomicQueue2, 6,i: 7,516,592 msg/sec AtomicQueue2, 7,s: 7,111,262 msg/sec AtomicQueue2, 7,i: 7,900,411 msg/sec AtomicQueue2, 8,s: 6,363,942 msg/sec AtomicQueue2, 8,i: 7,331,441 msg/sec AtomicQueueB2, 1,s: 35,852,953 msg/sec AtomicQueueB2, 1,i: 32,624,195 msg/sec AtomicQueueB2, 2,s: 11,469,690 msg/sec AtomicQueueB2, 2,i: 11,094,977 msg/sec AtomicQueueB2, 3,s: 9,481,558 msg/sec AtomicQueueB2, 3,i: 9,558,985 msg/sec AtomicQueueB2, 4,s: 7,909,664 msg/sec AtomicQueueB2, 4,i: 7,816,484 msg/sec AtomicQueueB2, 5,s: 7,585,981 msg/sec AtomicQueueB2, 5,i: 7,726,036 msg/sec AtomicQueueB2, 6,s: 7,286,574 msg/sec AtomicQueueB2, 6,i: 7,436,930 msg/sec AtomicQueueB2, 7,s: 6,849,238 msg/sec AtomicQueueB2, 7,i: 7,706,235 msg/sec AtomicQueueB2, 8,s: 6,274,109 msg/sec AtomicQueueB2, 8,i: 7,101,777 msg/sec OptimistAtomicQueue2, 1,s: 515,103,809 msg/sec OptimistAtomicQueue2, 1,i: 74,683,681 msg/sec OptimistAtomicQueue2, 2,s: 24,401,617 msg/sec OptimistAtomicQueue2, 2,i: 25,040,608 msg/sec OptimistAtomicQueue2, 3,s: 30,321,424 msg/sec OptimistAtomicQueue2, 3,i: 29,958,518 msg/sec OptimistAtomicQueue2, 4,s: 33,363,698 msg/sec OptimistAtomicQueue2, 4,i: 33,424,493 msg/sec OptimistAtomicQueue2, 5,s: 36,980,594 msg/sec OptimistAtomicQueue2, 5,i: 39,947,310 msg/sec OptimistAtomicQueue2, 6,s: 40,300,618 msg/sec OptimistAtomicQueue2, 6,i: 49,354,600 msg/sec OptimistAtomicQueue2, 7,s: 42,645,664 msg/sec OptimistAtomicQueue2, 7,i: 48,262,731 msg/sec OptimistAtomicQueue2, 8,s: 43,967,914 msg/sec OptimistAtomicQueue2, 8,i: 48,451,738 msg/sec OptimistAtomicQueueB2, 1,s: 77,433,686 msg/sec OptimistAtomicQueueB2, 1,i: 33,883,208 msg/sec OptimistAtomicQueueB2, 2,s: 27,850,056 msg/sec OptimistAtomicQueueB2, 2,i: 22,525,130 msg/sec OptimistAtomicQueueB2, 3,s: 29,731,189 msg/sec OptimistAtomicQueueB2, 3,i: 29,366,378 msg/sec OptimistAtomicQueueB2, 4,s: 33,261,801 msg/sec OptimistAtomicQueueB2, 4,i: 32,589,154 msg/sec OptimistAtomicQueueB2, 5,s: 34,611,150 msg/sec OptimistAtomicQueueB2, 5,i: 39,321,938 msg/sec OptimistAtomicQueueB2, 6,s: 37,144,479 msg/sec OptimistAtomicQueueB2, 6,i: 42,179,480 msg/sec OptimistAtomicQueueB2, 7,s: 40,124,968 msg/sec OptimistAtomicQueueB2, 7,i: 45,656,967 msg/sec OptimistAtomicQueueB2, 8,s: 42,369,690 msg/sec OptimistAtomicQueueB2, 8,i: 46,485,017 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000328 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000145 sec/round-trip moodycamel::ConcurrentQueue: 0.000000241 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000287 sec/round-trip tbb::concurrent_bounded_queue: 0.000000287 sec/round-trip xenium::michael_scott_queue: 0.000000372 sec/round-trip xenium::ramalhete_queue: 0.000000268 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000182 sec/round-trip OptimistAtomicQueue2: 0.000000175 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [356] 11m:28s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,934,618 msg/sec boost::lockfree::spsc_queue, 1,i: 67,908,385 msg/sec boost::lockfree::queue, 1,s: 8,037,989 msg/sec boost::lockfree::queue, 1,i: 8,024,188 msg/sec boost::lockfree::queue, 2,s: 7,357,397 msg/sec boost::lockfree::queue, 2,i: 7,529,540 msg/sec boost::lockfree::queue, 3,s: 7,400,268 msg/sec boost::lockfree::queue, 3,i: 7,528,346 msg/sec boost::lockfree::queue, 4,s: 6,428,797 msg/sec boost::lockfree::queue, 4,i: 7,051,963 msg/sec boost::lockfree::queue, 5,s: 6,433,103 msg/sec boost::lockfree::queue, 5,i: 6,477,264 msg/sec boost::lockfree::queue, 6,s: 5,963,294 msg/sec boost::lockfree::queue, 6,i: 6,106,797 msg/sec boost::lockfree::queue, 7,s: 6,025,737 msg/sec boost::lockfree::queue, 7,i: 6,097,926 msg/sec boost::lockfree::queue, 8,s: 5,464,870 msg/sec boost::lockfree::queue, 8,i: 5,575,122 msg/sec moodycamel::ReaderWriterQueue, 1,s: 78,796,605 msg/sec moodycamel::ReaderWriterQueue, 1,i: 75,971,165 msg/sec moodycamel::ConcurrentQueue, 1,s: 28,703,087 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,709,586 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,146,497 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,751,849 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,074,965 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,991,914 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,484,385 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,255,617 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,297,526 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,919,845 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,506,742 msg/sec moodycamel::ConcurrentQueue, 6,i: 20,238,784 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,884,356 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,351,254 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,228,960 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,992,140 msg/sec pthread_spinlock, 1,s: 29,165,322 msg/sec pthread_spinlock, 1,i: 25,378,602 msg/sec pthread_spinlock, 2,s: 15,606,812 msg/sec pthread_spinlock, 2,i: 16,867,490 msg/sec pthread_spinlock, 3,s: 8,346,374 msg/sec pthread_spinlock, 3,i: 12,007,348 msg/sec pthread_spinlock, 4,s: 6,499,769 msg/sec pthread_spinlock, 4,i: 9,315,576 msg/sec pthread_spinlock, 5,s: 8,730,704 msg/sec pthread_spinlock, 5,i: 8,961,216 msg/sec pthread_spinlock, 6,s: 8,625,296 msg/sec pthread_spinlock, 6,i: 8,969,805 msg/sec pthread_spinlock, 7,s: 7,605,969 msg/sec pthread_spinlock, 7,i: 8,010,088 msg/sec pthread_spinlock, 8,s: 6,662,755 msg/sec pthread_spinlock, 8,i: 7,485,457 msg/sec std::mutex, 1,s: 6,723,860 msg/sec std::mutex, 1,i: 7,759,187 msg/sec std::mutex, 2,s: 6,081,396 msg/sec std::mutex, 2,i: 5,920,214 msg/sec std::mutex, 3,s: 6,145,577 msg/sec std::mutex, 3,i: 6,262,465 msg/sec std::mutex, 4,s: 6,290,440 msg/sec std::mutex, 4,i: 6,133,505 msg/sec std::mutex, 5,s: 5,660,030 msg/sec std::mutex, 5,i: 5,986,560 msg/sec std::mutex, 6,s: 6,110,462 msg/sec std::mutex, 6,i: 5,988,520 msg/sec std::mutex, 7,s: 5,962,755 msg/sec std::mutex, 7,i: 5,974,850 msg/sec std::mutex, 8,s: 5,779,623 msg/sec std::mutex, 8,i: 5,835,954 msg/sec tbb::spin_mutex, 1,s: 37,875,782 msg/sec tbb::spin_mutex, 1,i: 33,163,850 msg/sec tbb::spin_mutex, 2,s: 21,360,551 msg/sec tbb::spin_mutex, 2,i: 18,296,135 msg/sec tbb::spin_mutex, 3,s: 8,557,554 msg/sec tbb::spin_mutex, 3,i: 10,147,173 msg/sec tbb::spin_mutex, 4,s: 3,059,515 msg/sec tbb::spin_mutex, 4,i: 6,309,876 msg/sec tbb::spin_mutex, 5,s: 5,472,182 msg/sec tbb::spin_mutex, 5,i: 5,739,344 msg/sec tbb::spin_mutex, 6,s: 5,383,496 msg/sec tbb::spin_mutex, 6,i: 4,317,135 msg/sec tbb::spin_mutex, 7,s: 4,481,857 msg/sec tbb::spin_mutex, 7,i: 4,333,622 msg/sec tbb::spin_mutex, 8,s: 3,825,190 msg/sec tbb::spin_mutex, 8,i: 4,206,612 msg/sec tbb::concurrent_bounded_queue, 1,s: 11,129,682 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,113,024 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,816,058 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,792,340 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,754,971 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,479,047 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,348,706 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,231,675 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,658,555 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,797,018 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,735,566 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,968,151 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,826,367 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,950,407 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,872,456 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,129,047 msg/sec xenium::michael_scott_queue, 1,s: 9,223,621 msg/sec xenium::michael_scott_queue, 1,i: 9,210,233 msg/sec xenium::michael_scott_queue, 2,s: 8,518,803 msg/sec xenium::michael_scott_queue, 2,i: 8,575,957 msg/sec xenium::michael_scott_queue, 3,s: 7,294,568 msg/sec xenium::michael_scott_queue, 3,i: 7,562,738 msg/sec xenium::michael_scott_queue, 4,s: 6,258,115 msg/sec xenium::michael_scott_queue, 4,i: 6,356,875 msg/sec xenium::michael_scott_queue, 5,s: 6,301,279 msg/sec xenium::michael_scott_queue, 5,i: 6,633,285 msg/sec xenium::michael_scott_queue, 6,s: 6,446,411 msg/sec xenium::michael_scott_queue, 6,i: 6,952,564 msg/sec xenium::michael_scott_queue, 7,s: 6,350,690 msg/sec xenium::michael_scott_queue, 7,i: 6,523,530 msg/sec xenium::michael_scott_queue, 8,s: 6,010,051 msg/sec xenium::michael_scott_queue, 8,i: 6,109,230 msg/sec xenium::ramalhete_queue, 1,s: 31,634,387 msg/sec xenium::ramalhete_queue, 1,i: 31,972,459 msg/sec xenium::ramalhete_queue, 2,s: 23,505,146 msg/sec xenium::ramalhete_queue, 2,i: 23,334,749 msg/sec xenium::ramalhete_queue, 3,s: 29,163,459 msg/sec xenium::ramalhete_queue, 3,i: 28,447,491 msg/sec xenium::ramalhete_queue, 4,s: 33,791,805 msg/sec xenium::ramalhete_queue, 4,i: 33,482,211 msg/sec xenium::ramalhete_queue, 5,s: 31,950,252 msg/sec xenium::ramalhete_queue, 5,i: 35,941,302 msg/sec xenium::ramalhete_queue, 6,s: 34,201,813 msg/sec xenium::ramalhete_queue, 6,i: 39,010,982 msg/sec xenium::ramalhete_queue, 7,s: 34,866,848 msg/sec xenium::ramalhete_queue, 7,i: 40,917,092 msg/sec xenium::ramalhete_queue, 8,s: 35,454,889 msg/sec xenium::ramalhete_queue, 8,i: 43,631,420 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,540,416 msg/sec xenium::vyukov_bounded_queue, 1,i: 117,683,429 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,969,573 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,978,592 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,656,211 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,782,932 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,644,424 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,355,879 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,919,195 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,256,941 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,144,862 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,454,283 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,128,967 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,868,453 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,388,778 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,245,640 msg/sec AtomicQueue, 1,s: 220,660,789 msg/sec AtomicQueue, 1,i: 196,805,008 msg/sec AtomicQueue, 2,s: 12,228,951 msg/sec AtomicQueue, 2,i: 11,721,112 msg/sec AtomicQueue, 3,s: 10,778,975 msg/sec AtomicQueue, 3,i: 9,930,460 msg/sec AtomicQueue, 4,s: 8,172,412 msg/sec AtomicQueue, 4,i: 8,180,081 msg/sec AtomicQueue, 5,s: 7,991,191 msg/sec AtomicQueue, 5,i: 8,060,018 msg/sec AtomicQueue, 6,s: 7,812,901 msg/sec AtomicQueue, 6,i: 7,614,100 msg/sec AtomicQueue, 7,s: 7,123,755 msg/sec AtomicQueue, 7,i: 7,958,888 msg/sec AtomicQueue, 8,s: 6,357,114 msg/sec AtomicQueue, 8,i: 7,444,520 msg/sec AtomicQueueB, 1,s: 43,891,426 msg/sec AtomicQueueB, 1,i: 42,986,493 msg/sec AtomicQueueB, 2,s: 11,887,637 msg/sec AtomicQueueB, 2,i: 11,450,047 msg/sec AtomicQueueB, 3,s: 11,040,087 msg/sec AtomicQueueB, 3,i: 10,283,808 msg/sec AtomicQueueB, 4,s: 8,090,700 msg/sec AtomicQueueB, 4,i: 8,079,018 msg/sec AtomicQueueB, 5,s: 7,497,007 msg/sec AtomicQueueB, 5,i: 7,899,631 msg/sec AtomicQueueB, 6,s: 7,288,489 msg/sec AtomicQueueB, 6,i: 7,534,622 msg/sec AtomicQueueB, 7,s: 6,867,849 msg/sec AtomicQueueB, 7,i: 7,717,002 msg/sec AtomicQueueB, 8,s: 6,226,757 msg/sec AtomicQueueB, 8,i: 7,204,698 msg/sec OptimistAtomicQueue, 1,s: 808,902,784 msg/sec OptimistAtomicQueue, 1,i: 651,770,983 msg/sec OptimistAtomicQueue, 2,s: 32,652,587 msg/sec OptimistAtomicQueue, 2,i: 32,205,973 msg/sec OptimistAtomicQueue, 3,s: 36,618,645 msg/sec OptimistAtomicQueue, 3,i: 37,420,575 msg/sec OptimistAtomicQueue, 4,s: 39,252,438 msg/sec OptimistAtomicQueue, 4,i: 39,373,761 msg/sec OptimistAtomicQueue, 5,s: 41,810,234 msg/sec OptimistAtomicQueue, 5,i: 46,333,240 msg/sec OptimistAtomicQueue, 6,s: 42,302,693 msg/sec OptimistAtomicQueue, 6,i: 50,242,483 msg/sec OptimistAtomicQueue, 7,s: 45,293,030 msg/sec OptimistAtomicQueue, 7,i: 51,906,552 msg/sec OptimistAtomicQueue, 8,s: 46,425,978 msg/sec OptimistAtomicQueue, 8,i: 48,897,972 msg/sec OptimistAtomicQueueB, 1,s: 88,796,577 msg/sec OptimistAtomicQueueB, 1,i: 158,407,058 msg/sec OptimistAtomicQueueB, 2,s: 32,162,288 msg/sec OptimistAtomicQueueB, 2,i: 32,249,313 msg/sec OptimistAtomicQueueB, 3,s: 36,307,077 msg/sec OptimistAtomicQueueB, 3,i: 36,944,719 msg/sec OptimistAtomicQueueB, 4,s: 38,679,920 msg/sec OptimistAtomicQueueB, 4,i: 38,618,390 msg/sec OptimistAtomicQueueB, 5,s: 40,778,939 msg/sec OptimistAtomicQueueB, 5,i: 45,251,491 msg/sec OptimistAtomicQueueB, 6,s: 40,572,218 msg/sec OptimistAtomicQueueB, 6,i: 48,537,243 msg/sec OptimistAtomicQueueB, 7,s: 42,768,704 msg/sec OptimistAtomicQueueB, 7,i: 51,419,983 msg/sec OptimistAtomicQueueB, 8,s: 44,237,734 msg/sec OptimistAtomicQueueB, 8,i: 48,131,387 msg/sec AtomicQueue2, 1,s: 22,870,151 msg/sec AtomicQueue2, 1,i: 22,826,505 msg/sec AtomicQueue2, 2,s: 12,112,420 msg/sec AtomicQueue2, 2,i: 11,406,011 msg/sec AtomicQueue2, 3,s: 9,606,398 msg/sec AtomicQueue2, 3,i: 9,482,983 msg/sec AtomicQueue2, 4,s: 8,093,785 msg/sec AtomicQueue2, 4,i: 8,078,786 msg/sec AtomicQueue2, 5,s: 7,927,936 msg/sec AtomicQueue2, 5,i: 8,010,438 msg/sec AtomicQueue2, 6,s: 7,808,074 msg/sec AtomicQueue2, 6,i: 7,526,912 msg/sec AtomicQueue2, 7,s: 7,151,607 msg/sec AtomicQueue2, 7,i: 7,892,112 msg/sec AtomicQueue2, 8,s: 6,387,159 msg/sec AtomicQueue2, 8,i: 7,255,293 msg/sec AtomicQueueB2, 1,s: 35,983,633 msg/sec AtomicQueueB2, 1,i: 32,608,244 msg/sec AtomicQueueB2, 2,s: 11,442,578 msg/sec AtomicQueueB2, 2,i: 11,141,552 msg/sec AtomicQueueB2, 3,s: 9,658,804 msg/sec AtomicQueueB2, 3,i: 9,579,654 msg/sec AtomicQueueB2, 4,s: 7,810,173 msg/sec AtomicQueueB2, 4,i: 7,913,351 msg/sec AtomicQueueB2, 5,s: 7,461,032 msg/sec AtomicQueueB2, 5,i: 7,747,439 msg/sec AtomicQueueB2, 6,s: 7,188,894 msg/sec AtomicQueueB2, 6,i: 7,435,764 msg/sec AtomicQueueB2, 7,s: 6,931,011 msg/sec AtomicQueueB2, 7,i: 7,693,980 msg/sec AtomicQueueB2, 8,s: 6,277,287 msg/sec AtomicQueueB2, 8,i: 7,123,284 msg/sec OptimistAtomicQueue2, 1,s: 501,040,849 msg/sec OptimistAtomicQueue2, 1,i: 29,498,072 msg/sec OptimistAtomicQueue2, 2,s: 24,268,582 msg/sec OptimistAtomicQueue2, 2,i: 24,013,112 msg/sec OptimistAtomicQueue2, 3,s: 30,313,570 msg/sec OptimistAtomicQueue2, 3,i: 29,964,553 msg/sec OptimistAtomicQueue2, 4,s: 33,216,648 msg/sec OptimistAtomicQueue2, 4,i: 33,124,336 msg/sec OptimistAtomicQueue2, 5,s: 37,460,056 msg/sec OptimistAtomicQueue2, 5,i: 40,592,468 msg/sec OptimistAtomicQueue2, 6,s: 40,276,939 msg/sec OptimistAtomicQueue2, 6,i: 49,341,370 msg/sec OptimistAtomicQueue2, 7,s: 42,829,526 msg/sec OptimistAtomicQueue2, 7,i: 51,523,669 msg/sec OptimistAtomicQueue2, 8,s: 44,081,496 msg/sec OptimistAtomicQueue2, 8,i: 49,036,942 msg/sec OptimistAtomicQueueB2, 1,s: 76,685,937 msg/sec OptimistAtomicQueueB2, 1,i: 33,866,601 msg/sec OptimistAtomicQueueB2, 2,s: 27,160,267 msg/sec OptimistAtomicQueueB2, 2,i: 25,294,306 msg/sec OptimistAtomicQueueB2, 3,s: 29,652,194 msg/sec OptimistAtomicQueueB2, 3,i: 31,260,486 msg/sec OptimistAtomicQueueB2, 4,s: 33,256,272 msg/sec OptimistAtomicQueueB2, 4,i: 32,819,140 msg/sec OptimistAtomicQueueB2, 5,s: 34,630,024 msg/sec OptimistAtomicQueueB2, 5,i: 39,478,606 msg/sec OptimistAtomicQueueB2, 6,s: 37,787,647 msg/sec OptimistAtomicQueueB2, 6,i: 42,317,934 msg/sec OptimistAtomicQueueB2, 7,s: 40,083,143 msg/sec OptimistAtomicQueueB2, 7,i: 43,016,230 msg/sec OptimistAtomicQueueB2, 8,s: 42,143,650 msg/sec OptimistAtomicQueueB2, 8,i: 45,830,142 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000135 sec/round-trip boost::lockfree::queue: 0.000000315 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000117 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000245 sec/round-trip std::mutex: 0.000000465 sec/round-trip tbb::spin_mutex: 0.000000271 sec/round-trip tbb::concurrent_bounded_queue: 0.000000304 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000205 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000156 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000175 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [357] 10m:9s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,776,500 msg/sec boost::lockfree::spsc_queue, 1,i: 71,593,586 msg/sec boost::lockfree::queue, 1,s: 6,865,370 msg/sec boost::lockfree::queue, 1,i: 6,850,379 msg/sec boost::lockfree::queue, 2,s: 7,685,373 msg/sec boost::lockfree::queue, 2,i: 7,576,637 msg/sec boost::lockfree::queue, 3,s: 7,372,000 msg/sec boost::lockfree::queue, 3,i: 7,535,563 msg/sec boost::lockfree::queue, 4,s: 6,414,682 msg/sec boost::lockfree::queue, 4,i: 6,825,355 msg/sec boost::lockfree::queue, 5,s: 6,452,289 msg/sec boost::lockfree::queue, 5,i: 6,497,062 msg/sec boost::lockfree::queue, 6,s: 5,982,410 msg/sec boost::lockfree::queue, 6,i: 6,114,561 msg/sec boost::lockfree::queue, 7,s: 5,983,036 msg/sec boost::lockfree::queue, 7,i: 5,998,325 msg/sec boost::lockfree::queue, 8,s: 5,474,458 msg/sec boost::lockfree::queue, 8,i: 5,646,486 msg/sec moodycamel::ReaderWriterQueue, 1,s: 459,445,809 msg/sec moodycamel::ReaderWriterQueue, 1,i: 440,721,328 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,022,061 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,731,453 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,020,218 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,393,012 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,609,755 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,837,304 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,476,725 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,841,142 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,176,757 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,712,692 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,242,802 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,215,618 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,990,348 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,097,663 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,006,595 msg/sec moodycamel::ConcurrentQueue, 8,i: 19,964,579 msg/sec pthread_spinlock, 1,s: 29,085,361 msg/sec pthread_spinlock, 1,i: 25,304,733 msg/sec pthread_spinlock, 2,s: 16,105,634 msg/sec pthread_spinlock, 2,i: 16,964,355 msg/sec pthread_spinlock, 3,s: 8,397,357 msg/sec pthread_spinlock, 3,i: 12,153,342 msg/sec pthread_spinlock, 4,s: 6,493,042 msg/sec pthread_spinlock, 4,i: 8,991,059 msg/sec pthread_spinlock, 5,s: 8,619,570 msg/sec pthread_spinlock, 5,i: 9,583,768 msg/sec pthread_spinlock, 6,s: 8,541,371 msg/sec pthread_spinlock, 6,i: 8,446,731 msg/sec pthread_spinlock, 7,s: 7,518,454 msg/sec pthread_spinlock, 7,i: 7,916,630 msg/sec pthread_spinlock, 8,s: 6,662,149 msg/sec pthread_spinlock, 8,i: 6,998,592 msg/sec std::mutex, 1,s: 6,849,493 msg/sec std::mutex, 1,i: 6,701,777 msg/sec std::mutex, 2,s: 5,457,688 msg/sec std::mutex, 2,i: 6,269,625 msg/sec std::mutex, 3,s: 6,124,724 msg/sec std::mutex, 3,i: 6,077,572 msg/sec std::mutex, 4,s: 6,243,359 msg/sec std::mutex, 4,i: 6,284,353 msg/sec std::mutex, 5,s: 6,114,269 msg/sec std::mutex, 5,i: 6,107,771 msg/sec std::mutex, 6,s: 5,909,361 msg/sec std::mutex, 6,i: 5,882,339 msg/sec std::mutex, 7,s: 5,809,268 msg/sec std::mutex, 7,i: 5,826,788 msg/sec std::mutex, 8,s: 5,721,975 msg/sec std::mutex, 8,i: 5,704,068 msg/sec tbb::spin_mutex, 1,s: 38,023,244 msg/sec tbb::spin_mutex, 1,i: 32,957,705 msg/sec tbb::spin_mutex, 2,s: 21,205,322 msg/sec tbb::spin_mutex, 2,i: 18,510,336 msg/sec tbb::spin_mutex, 3,s: 7,328,140 msg/sec tbb::spin_mutex, 3,i: 10,181,322 msg/sec tbb::spin_mutex, 4,s: 3,134,043 msg/sec tbb::spin_mutex, 4,i: 6,278,863 msg/sec tbb::spin_mutex, 5,s: 5,476,228 msg/sec tbb::spin_mutex, 5,i: 5,703,850 msg/sec tbb::spin_mutex, 6,s: 5,318,644 msg/sec tbb::spin_mutex, 6,i: 4,359,628 msg/sec tbb::spin_mutex, 7,s: 4,851,020 msg/sec tbb::spin_mutex, 7,i: 4,311,888 msg/sec tbb::spin_mutex, 8,s: 4,252,672 msg/sec tbb::spin_mutex, 8,i: 4,081,037 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,296,707 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,183,047 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,469,592 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,673,349 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,346,003 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,587,885 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,416,561 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,247,624 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,670,146 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,775,518 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,813,210 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,021,421 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,911,249 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,058,331 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,892,460 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,137,811 msg/sec xenium::michael_scott_queue, 1,s: 9,114,663 msg/sec xenium::michael_scott_queue, 1,i: 9,043,723 msg/sec xenium::michael_scott_queue, 2,s: 8,495,794 msg/sec xenium::michael_scott_queue, 2,i: 8,452,286 msg/sec xenium::michael_scott_queue, 3,s: 7,281,249 msg/sec xenium::michael_scott_queue, 3,i: 7,648,599 msg/sec xenium::michael_scott_queue, 4,s: 6,274,281 msg/sec xenium::michael_scott_queue, 4,i: 6,418,791 msg/sec xenium::michael_scott_queue, 5,s: 6,319,419 msg/sec xenium::michael_scott_queue, 5,i: 6,627,964 msg/sec xenium::michael_scott_queue, 6,s: 6,506,779 msg/sec xenium::michael_scott_queue, 6,i: 6,800,772 msg/sec xenium::michael_scott_queue, 7,s: 6,288,370 msg/sec xenium::michael_scott_queue, 7,i: 6,489,952 msg/sec xenium::michael_scott_queue, 8,s: 6,007,314 msg/sec xenium::michael_scott_queue, 8,i: 6,105,066 msg/sec xenium::ramalhete_queue, 1,s: 32,034,914 msg/sec xenium::ramalhete_queue, 1,i: 32,556,747 msg/sec xenium::ramalhete_queue, 2,s: 23,533,374 msg/sec xenium::ramalhete_queue, 2,i: 23,297,736 msg/sec xenium::ramalhete_queue, 3,s: 29,157,106 msg/sec xenium::ramalhete_queue, 3,i: 28,470,724 msg/sec xenium::ramalhete_queue, 4,s: 33,765,722 msg/sec xenium::ramalhete_queue, 4,i: 33,483,473 msg/sec xenium::ramalhete_queue, 5,s: 32,187,688 msg/sec xenium::ramalhete_queue, 5,i: 36,094,334 msg/sec xenium::ramalhete_queue, 6,s: 33,950,409 msg/sec xenium::ramalhete_queue, 6,i: 38,770,819 msg/sec xenium::ramalhete_queue, 7,s: 35,112,969 msg/sec xenium::ramalhete_queue, 7,i: 41,242,859 msg/sec xenium::ramalhete_queue, 8,s: 35,584,898 msg/sec xenium::ramalhete_queue, 8,i: 44,089,438 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,815,601 msg/sec xenium::vyukov_bounded_queue, 1,i: 62,841,159 msg/sec xenium::vyukov_bounded_queue, 2,s: 19,473,852 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,897,125 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,649,910 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,818,002 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,553,986 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,202,680 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,914,607 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,339,076 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,975,054 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,200,080 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,267,507 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,040,977 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,398,358 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,215,280 msg/sec AtomicQueue, 1,s: 59,920,614 msg/sec AtomicQueue, 1,i: 56,592,786 msg/sec AtomicQueue, 2,s: 12,109,637 msg/sec AtomicQueue, 2,i: 11,738,238 msg/sec AtomicQueue, 3,s: 10,765,015 msg/sec AtomicQueue, 3,i: 9,809,707 msg/sec AtomicQueue, 4,s: 8,171,303 msg/sec AtomicQueue, 4,i: 8,187,370 msg/sec AtomicQueue, 5,s: 8,025,536 msg/sec AtomicQueue, 5,i: 8,101,606 msg/sec AtomicQueue, 6,s: 7,769,318 msg/sec AtomicQueue, 6,i: 7,626,098 msg/sec AtomicQueue, 7,s: 7,094,228 msg/sec AtomicQueue, 7,i: 7,952,090 msg/sec AtomicQueue, 8,s: 6,326,379 msg/sec AtomicQueue, 8,i: 7,493,017 msg/sec AtomicQueueB, 1,s: 88,214,841 msg/sec AtomicQueueB, 1,i: 61,398,312 msg/sec AtomicQueueB, 2,s: 11,811,645 msg/sec AtomicQueueB, 2,i: 11,307,287 msg/sec AtomicQueueB, 3,s: 10,990,662 msg/sec AtomicQueueB, 3,i: 10,116,676 msg/sec AtomicQueueB, 4,s: 8,059,596 msg/sec AtomicQueueB, 4,i: 8,084,912 msg/sec AtomicQueueB, 5,s: 7,518,193 msg/sec AtomicQueueB, 5,i: 7,785,328 msg/sec AtomicQueueB, 6,s: 7,323,438 msg/sec AtomicQueueB, 6,i: 7,490,201 msg/sec AtomicQueueB, 7,s: 6,824,295 msg/sec AtomicQueueB, 7,i: 7,742,513 msg/sec AtomicQueueB, 8,s: 6,275,913 msg/sec AtomicQueueB, 8,i: 7,148,437 msg/sec OptimistAtomicQueue, 1,s: 750,260,856 msg/sec OptimistAtomicQueue, 1,i: 507,910,580 msg/sec OptimistAtomicQueue, 2,s: 32,572,840 msg/sec OptimistAtomicQueue, 2,i: 32,332,110 msg/sec OptimistAtomicQueue, 3,s: 36,659,761 msg/sec OptimistAtomicQueue, 3,i: 37,320,172 msg/sec OptimistAtomicQueue, 4,s: 39,259,111 msg/sec OptimistAtomicQueue, 4,i: 39,406,078 msg/sec OptimistAtomicQueue, 5,s: 42,547,655 msg/sec OptimistAtomicQueue, 5,i: 48,427,551 msg/sec OptimistAtomicQueue, 6,s: 42,918,851 msg/sec OptimistAtomicQueue, 6,i: 49,799,488 msg/sec OptimistAtomicQueue, 7,s: 45,087,174 msg/sec OptimistAtomicQueue, 7,i: 49,110,270 msg/sec OptimistAtomicQueue, 8,s: 46,454,410 msg/sec OptimistAtomicQueue, 8,i: 49,449,675 msg/sec OptimistAtomicQueueB, 1,s: 128,889,564 msg/sec OptimistAtomicQueueB, 1,i: 192,092,862 msg/sec OptimistAtomicQueueB, 2,s: 32,158,519 msg/sec OptimistAtomicQueueB, 2,i: 32,271,318 msg/sec OptimistAtomicQueueB, 3,s: 36,276,731 msg/sec OptimistAtomicQueueB, 3,i: 36,804,595 msg/sec OptimistAtomicQueueB, 4,s: 38,642,499 msg/sec OptimistAtomicQueueB, 4,i: 38,605,836 msg/sec OptimistAtomicQueueB, 5,s: 40,719,825 msg/sec OptimistAtomicQueueB, 5,i: 45,237,383 msg/sec OptimistAtomicQueueB, 6,s: 40,582,367 msg/sec OptimistAtomicQueueB, 6,i: 49,096,561 msg/sec OptimistAtomicQueueB, 7,s: 41,914,406 msg/sec OptimistAtomicQueueB, 7,i: 51,532,778 msg/sec OptimistAtomicQueueB, 8,s: 44,363,753 msg/sec OptimistAtomicQueueB, 8,i: 48,198,678 msg/sec AtomicQueue2, 1,s: 22,864,060 msg/sec AtomicQueue2, 1,i: 22,876,106 msg/sec AtomicQueue2, 2,s: 11,697,551 msg/sec AtomicQueue2, 2,i: 11,398,089 msg/sec AtomicQueue2, 3,s: 9,867,214 msg/sec AtomicQueue2, 3,i: 9,349,216 msg/sec AtomicQueue2, 4,s: 7,995,106 msg/sec AtomicQueue2, 4,i: 8,062,730 msg/sec AtomicQueue2, 5,s: 7,955,888 msg/sec AtomicQueue2, 5,i: 8,036,204 msg/sec AtomicQueue2, 6,s: 7,776,107 msg/sec AtomicQueue2, 6,i: 7,526,391 msg/sec AtomicQueue2, 7,s: 7,121,312 msg/sec AtomicQueue2, 7,i: 7,876,153 msg/sec AtomicQueue2, 8,s: 6,372,508 msg/sec AtomicQueue2, 8,i: 7,349,499 msg/sec AtomicQueueB2, 1,s: 35,890,458 msg/sec AtomicQueueB2, 1,i: 32,626,695 msg/sec AtomicQueueB2, 2,s: 11,388,767 msg/sec AtomicQueueB2, 2,i: 11,087,221 msg/sec AtomicQueueB2, 3,s: 9,665,726 msg/sec AtomicQueueB2, 3,i: 9,611,323 msg/sec AtomicQueueB2, 4,s: 7,953,617 msg/sec AtomicQueueB2, 4,i: 7,904,193 msg/sec AtomicQueueB2, 5,s: 7,406,536 msg/sec AtomicQueueB2, 5,i: 7,620,777 msg/sec AtomicQueueB2, 6,s: 7,322,443 msg/sec AtomicQueueB2, 6,i: 7,399,303 msg/sec AtomicQueueB2, 7,s: 6,877,311 msg/sec AtomicQueueB2, 7,i: 7,712,967 msg/sec AtomicQueueB2, 8,s: 6,338,624 msg/sec AtomicQueueB2, 8,i: 7,102,147 msg/sec OptimistAtomicQueue2, 1,s: 433,464,076 msg/sec OptimistAtomicQueue2, 1,i: 431,131,440 msg/sec OptimistAtomicQueue2, 2,s: 24,269,366 msg/sec OptimistAtomicQueue2, 2,i: 24,022,688 msg/sec OptimistAtomicQueue2, 3,s: 30,341,144 msg/sec OptimistAtomicQueue2, 3,i: 29,954,798 msg/sec OptimistAtomicQueue2, 4,s: 33,230,970 msg/sec OptimistAtomicQueue2, 4,i: 33,275,349 msg/sec OptimistAtomicQueue2, 5,s: 37,332,986 msg/sec OptimistAtomicQueue2, 5,i: 43,357,072 msg/sec OptimistAtomicQueue2, 6,s: 40,110,318 msg/sec OptimistAtomicQueue2, 6,i: 48,794,540 msg/sec OptimistAtomicQueue2, 7,s: 43,047,078 msg/sec OptimistAtomicQueue2, 7,i: 47,880,397 msg/sec OptimistAtomicQueue2, 8,s: 43,966,570 msg/sec OptimistAtomicQueue2, 8,i: 48,437,825 msg/sec OptimistAtomicQueueB2, 1,s: 67,269,898 msg/sec OptimistAtomicQueueB2, 1,i: 33,927,386 msg/sec OptimistAtomicQueueB2, 2,s: 28,951,837 msg/sec OptimistAtomicQueueB2, 2,i: 26,019,062 msg/sec OptimistAtomicQueueB2, 3,s: 29,818,181 msg/sec OptimistAtomicQueueB2, 3,i: 29,938,014 msg/sec OptimistAtomicQueueB2, 4,s: 33,406,879 msg/sec OptimistAtomicQueueB2, 4,i: 33,147,594 msg/sec OptimistAtomicQueueB2, 5,s: 34,587,767 msg/sec OptimistAtomicQueueB2, 5,i: 39,390,339 msg/sec OptimistAtomicQueueB2, 6,s: 37,218,494 msg/sec OptimistAtomicQueueB2, 6,i: 42,418,185 msg/sec OptimistAtomicQueueB2, 7,s: 40,753,734 msg/sec OptimistAtomicQueueB2, 7,i: 43,001,260 msg/sec OptimistAtomicQueueB2, 8,s: 42,345,118 msg/sec OptimistAtomicQueueB2, 8,i: 45,990,027 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000453 sec/round-trip tbb::spin_mutex: 0.000000293 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000373 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000149 sec/round-trip OptimistAtomicQueueB: 0.000000140 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000172 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [358] 8m:50s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,294,029 msg/sec boost::lockfree::spsc_queue, 1,i: 70,987,471 msg/sec boost::lockfree::queue, 1,s: 7,987,394 msg/sec boost::lockfree::queue, 1,i: 7,990,007 msg/sec boost::lockfree::queue, 2,s: 7,607,567 msg/sec boost::lockfree::queue, 2,i: 7,423,879 msg/sec boost::lockfree::queue, 3,s: 7,365,140 msg/sec boost::lockfree::queue, 3,i: 7,486,869 msg/sec boost::lockfree::queue, 4,s: 6,425,267 msg/sec boost::lockfree::queue, 4,i: 6,797,239 msg/sec boost::lockfree::queue, 5,s: 6,399,388 msg/sec boost::lockfree::queue, 5,i: 6,540,824 msg/sec boost::lockfree::queue, 6,s: 5,969,999 msg/sec boost::lockfree::queue, 6,i: 6,095,795 msg/sec boost::lockfree::queue, 7,s: 5,908,422 msg/sec boost::lockfree::queue, 7,i: 6,059,439 msg/sec boost::lockfree::queue, 8,s: 5,542,613 msg/sec boost::lockfree::queue, 8,i: 5,573,185 msg/sec moodycamel::ReaderWriterQueue, 1,s: 56,300,860 msg/sec moodycamel::ReaderWriterQueue, 1,i: 59,157,675 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,255,531 msg/sec moodycamel::ConcurrentQueue, 1,i: 22,586,142 msg/sec moodycamel::ConcurrentQueue, 2,s: 48,675,054 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,462,429 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,771,772 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,824,327 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,166,352 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,051,224 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,133,009 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,406,223 msg/sec moodycamel::ConcurrentQueue, 6,s: 45,080,624 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,543,372 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,961,410 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,732,604 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,224,263 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,005,595 msg/sec pthread_spinlock, 1,s: 29,087,300 msg/sec pthread_spinlock, 1,i: 29,157,326 msg/sec pthread_spinlock, 2,s: 16,311,190 msg/sec pthread_spinlock, 2,i: 16,945,062 msg/sec pthread_spinlock, 3,s: 8,351,923 msg/sec pthread_spinlock, 3,i: 11,966,950 msg/sec pthread_spinlock, 4,s: 6,471,784 msg/sec pthread_spinlock, 4,i: 8,948,640 msg/sec pthread_spinlock, 5,s: 8,742,990 msg/sec pthread_spinlock, 5,i: 9,535,032 msg/sec pthread_spinlock, 6,s: 8,292,765 msg/sec pthread_spinlock, 6,i: 8,529,917 msg/sec pthread_spinlock, 7,s: 7,544,412 msg/sec pthread_spinlock, 7,i: 7,695,384 msg/sec pthread_spinlock, 8,s: 6,838,558 msg/sec pthread_spinlock, 8,i: 6,906,388 msg/sec std::mutex, 1,s: 6,939,662 msg/sec std::mutex, 1,i: 6,430,877 msg/sec std::mutex, 2,s: 4,886,681 msg/sec std::mutex, 2,i: 6,009,211 msg/sec std::mutex, 3,s: 5,350,881 msg/sec std::mutex, 3,i: 6,024,172 msg/sec std::mutex, 4,s: 5,782,807 msg/sec std::mutex, 4,i: 6,183,372 msg/sec std::mutex, 5,s: 5,977,951 msg/sec std::mutex, 5,i: 5,883,804 msg/sec std::mutex, 6,s: 5,864,403 msg/sec std::mutex, 6,i: 5,885,216 msg/sec std::mutex, 7,s: 5,698,401 msg/sec std::mutex, 7,i: 5,695,844 msg/sec std::mutex, 8,s: 5,649,745 msg/sec std::mutex, 8,i: 5,644,090 msg/sec tbb::spin_mutex, 1,s: 37,950,966 msg/sec tbb::spin_mutex, 1,i: 37,617,547 msg/sec tbb::spin_mutex, 2,s: 21,069,047 msg/sec tbb::spin_mutex, 2,i: 18,298,220 msg/sec tbb::spin_mutex, 3,s: 8,310,617 msg/sec tbb::spin_mutex, 3,i: 10,240,125 msg/sec tbb::spin_mutex, 4,s: 3,294,727 msg/sec tbb::spin_mutex, 4,i: 6,257,201 msg/sec tbb::spin_mutex, 5,s: 5,456,536 msg/sec tbb::spin_mutex, 5,i: 5,697,286 msg/sec tbb::spin_mutex, 6,s: 5,279,739 msg/sec tbb::spin_mutex, 6,i: 4,340,423 msg/sec tbb::spin_mutex, 7,s: 4,874,895 msg/sec tbb::spin_mutex, 7,i: 4,268,713 msg/sec tbb::spin_mutex, 8,s: 4,240,207 msg/sec tbb::spin_mutex, 8,i: 4,158,006 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,351,407 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,286,791 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,614,470 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,931,275 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,599,140 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,772,127 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,019,752 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,353,936 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,450,182 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,616,864 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,938,625 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,719,331 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,967,897 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,112,972 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,888,870 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,425,340 msg/sec xenium::michael_scott_queue, 1,s: 9,455,252 msg/sec xenium::michael_scott_queue, 1,i: 9,596,721 msg/sec xenium::michael_scott_queue, 2,s: 8,469,233 msg/sec xenium::michael_scott_queue, 2,i: 8,434,761 msg/sec xenium::michael_scott_queue, 3,s: 7,374,903 msg/sec xenium::michael_scott_queue, 3,i: 7,553,529 msg/sec xenium::michael_scott_queue, 4,s: 6,316,102 msg/sec xenium::michael_scott_queue, 4,i: 6,350,769 msg/sec xenium::michael_scott_queue, 5,s: 6,262,885 msg/sec xenium::michael_scott_queue, 5,i: 6,612,434 msg/sec xenium::michael_scott_queue, 6,s: 6,515,572 msg/sec xenium::michael_scott_queue, 6,i: 6,922,198 msg/sec xenium::michael_scott_queue, 7,s: 6,344,386 msg/sec xenium::michael_scott_queue, 7,i: 6,503,265 msg/sec xenium::michael_scott_queue, 8,s: 5,997,517 msg/sec xenium::michael_scott_queue, 8,i: 6,244,303 msg/sec xenium::ramalhete_queue, 1,s: 31,876,602 msg/sec xenium::ramalhete_queue, 1,i: 31,914,102 msg/sec xenium::ramalhete_queue, 2,s: 23,594,666 msg/sec xenium::ramalhete_queue, 2,i: 23,380,278 msg/sec xenium::ramalhete_queue, 3,s: 28,991,070 msg/sec xenium::ramalhete_queue, 3,i: 28,444,216 msg/sec xenium::ramalhete_queue, 4,s: 33,713,039 msg/sec xenium::ramalhete_queue, 4,i: 33,436,430 msg/sec xenium::ramalhete_queue, 5,s: 32,099,508 msg/sec xenium::ramalhete_queue, 5,i: 38,204,413 msg/sec xenium::ramalhete_queue, 6,s: 34,054,946 msg/sec xenium::ramalhete_queue, 6,i: 39,033,343 msg/sec xenium::ramalhete_queue, 7,s: 35,001,274 msg/sec xenium::ramalhete_queue, 7,i: 40,838,703 msg/sec xenium::ramalhete_queue, 8,s: 35,570,423 msg/sec xenium::ramalhete_queue, 8,i: 43,902,774 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,408,157 msg/sec xenium::vyukov_bounded_queue, 1,i: 117,506,562 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,862,067 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,457,868 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,695,889 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,759,390 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,584,669 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,108,885 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,052,532 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,332,157 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,876,246 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,270,079 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,198,405 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,121,986 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,382,229 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,259,575 msg/sec AtomicQueue, 1,s: 66,592,017 msg/sec AtomicQueue, 1,i: 56,657,685 msg/sec AtomicQueue, 2,s: 12,357,435 msg/sec AtomicQueue, 2,i: 11,772,406 msg/sec AtomicQueue, 3,s: 10,805,060 msg/sec AtomicQueue, 3,i: 9,883,032 msg/sec AtomicQueue, 4,s: 8,214,240 msg/sec AtomicQueue, 4,i: 8,196,510 msg/sec AtomicQueue, 5,s: 8,047,322 msg/sec AtomicQueue, 5,i: 8,078,960 msg/sec AtomicQueue, 6,s: 7,837,385 msg/sec AtomicQueue, 6,i: 7,605,301 msg/sec AtomicQueue, 7,s: 7,107,618 msg/sec AtomicQueue, 7,i: 7,964,875 msg/sec AtomicQueue, 8,s: 6,368,513 msg/sec AtomicQueue, 8,i: 7,454,965 msg/sec AtomicQueueB, 1,s: 43,839,262 msg/sec AtomicQueueB, 1,i: 43,827,431 msg/sec AtomicQueueB, 2,s: 11,784,333 msg/sec AtomicQueueB, 2,i: 11,502,434 msg/sec AtomicQueueB, 3,s: 10,922,567 msg/sec AtomicQueueB, 3,i: 10,133,710 msg/sec AtomicQueueB, 4,s: 8,023,727 msg/sec AtomicQueueB, 4,i: 8,056,178 msg/sec AtomicQueueB, 5,s: 7,542,574 msg/sec AtomicQueueB, 5,i: 7,813,685 msg/sec AtomicQueueB, 6,s: 7,344,946 msg/sec AtomicQueueB, 6,i: 7,583,210 msg/sec AtomicQueueB, 7,s: 6,892,017 msg/sec AtomicQueueB, 7,i: 7,747,122 msg/sec AtomicQueueB, 8,s: 6,314,308 msg/sec AtomicQueueB, 8,i: 7,210,072 msg/sec OptimistAtomicQueue, 1,s: 706,128,168 msg/sec OptimistAtomicQueue, 1,i: 515,521,182 msg/sec OptimistAtomicQueue, 2,s: 32,153,066 msg/sec OptimistAtomicQueue, 2,i: 32,019,847 msg/sec OptimistAtomicQueue, 3,s: 36,658,667 msg/sec OptimistAtomicQueue, 3,i: 37,379,993 msg/sec OptimistAtomicQueue, 4,s: 39,284,317 msg/sec OptimistAtomicQueue, 4,i: 39,380,236 msg/sec OptimistAtomicQueue, 5,s: 41,843,621 msg/sec OptimistAtomicQueue, 5,i: 46,211,717 msg/sec OptimistAtomicQueue, 6,s: 42,180,097 msg/sec OptimistAtomicQueue, 6,i: 50,444,003 msg/sec OptimistAtomicQueue, 7,s: 45,320,375 msg/sec OptimistAtomicQueue, 7,i: 49,429,913 msg/sec OptimistAtomicQueue, 8,s: 46,410,966 msg/sec OptimistAtomicQueue, 8,i: 48,799,458 msg/sec OptimistAtomicQueueB, 1,s: 151,190,184 msg/sec OptimistAtomicQueueB, 1,i: 125,619,839 msg/sec OptimistAtomicQueueB, 2,s: 32,141,859 msg/sec OptimistAtomicQueueB, 2,i: 32,178,172 msg/sec OptimistAtomicQueueB, 3,s: 36,282,606 msg/sec OptimistAtomicQueueB, 3,i: 36,906,581 msg/sec OptimistAtomicQueueB, 4,s: 38,623,648 msg/sec OptimistAtomicQueueB, 4,i: 38,559,328 msg/sec OptimistAtomicQueueB, 5,s: 41,013,181 msg/sec OptimistAtomicQueueB, 5,i: 45,337,053 msg/sec OptimistAtomicQueueB, 6,s: 40,741,631 msg/sec OptimistAtomicQueueB, 6,i: 48,664,422 msg/sec OptimistAtomicQueueB, 7,s: 42,288,151 msg/sec OptimistAtomicQueueB, 7,i: 48,007,634 msg/sec OptimistAtomicQueueB, 8,s: 44,609,144 msg/sec OptimistAtomicQueueB, 8,i: 47,839,974 msg/sec AtomicQueue2, 1,s: 22,945,427 msg/sec AtomicQueue2, 1,i: 22,840,055 msg/sec AtomicQueue2, 2,s: 11,947,562 msg/sec AtomicQueue2, 2,i: 11,669,573 msg/sec AtomicQueue2, 3,s: 9,775,261 msg/sec AtomicQueue2, 3,i: 9,466,171 msg/sec AtomicQueue2, 4,s: 8,085,884 msg/sec AtomicQueue2, 4,i: 8,047,688 msg/sec AtomicQueue2, 5,s: 7,901,451 msg/sec AtomicQueue2, 5,i: 8,038,404 msg/sec AtomicQueue2, 6,s: 7,803,927 msg/sec AtomicQueue2, 6,i: 7,528,726 msg/sec AtomicQueue2, 7,s: 7,120,329 msg/sec AtomicQueue2, 7,i: 7,905,214 msg/sec AtomicQueue2, 8,s: 6,405,114 msg/sec AtomicQueue2, 8,i: 7,276,715 msg/sec AtomicQueueB2, 1,s: 36,297,800 msg/sec AtomicQueueB2, 1,i: 32,638,008 msg/sec AtomicQueueB2, 2,s: 11,439,618 msg/sec AtomicQueueB2, 2,i: 11,101,009 msg/sec AtomicQueueB2, 3,s: 9,630,787 msg/sec AtomicQueueB2, 3,i: 9,615,335 msg/sec AtomicQueueB2, 4,s: 7,912,959 msg/sec AtomicQueueB2, 4,i: 7,835,780 msg/sec AtomicQueueB2, 5,s: 7,476,941 msg/sec AtomicQueueB2, 5,i: 7,745,929 msg/sec AtomicQueueB2, 6,s: 7,216,949 msg/sec AtomicQueueB2, 6,i: 7,439,156 msg/sec AtomicQueueB2, 7,s: 6,881,855 msg/sec AtomicQueueB2, 7,i: 7,704,062 msg/sec AtomicQueueB2, 8,s: 6,336,540 msg/sec AtomicQueueB2, 8,i: 7,074,856 msg/sec OptimistAtomicQueue2, 1,s: 491,652,840 msg/sec OptimistAtomicQueue2, 1,i: 29,557,417 msg/sec OptimistAtomicQueue2, 2,s: 24,268,136 msg/sec OptimistAtomicQueue2, 2,i: 24,012,400 msg/sec OptimistAtomicQueue2, 3,s: 30,317,555 msg/sec OptimistAtomicQueue2, 3,i: 29,959,363 msg/sec OptimistAtomicQueue2, 4,s: 33,316,146 msg/sec OptimistAtomicQueue2, 4,i: 33,212,095 msg/sec OptimistAtomicQueue2, 5,s: 37,065,751 msg/sec OptimistAtomicQueue2, 5,i: 40,932,584 msg/sec OptimistAtomicQueue2, 6,s: 40,082,307 msg/sec OptimistAtomicQueue2, 6,i: 49,351,682 msg/sec OptimistAtomicQueue2, 7,s: 43,332,483 msg/sec OptimistAtomicQueue2, 7,i: 51,588,034 msg/sec OptimistAtomicQueue2, 8,s: 44,226,985 msg/sec OptimistAtomicQueue2, 8,i: 48,204,167 msg/sec OptimistAtomicQueueB2, 1,s: 77,074,642 msg/sec OptimistAtomicQueueB2, 1,i: 33,872,332 msg/sec OptimistAtomicQueueB2, 2,s: 27,154,635 msg/sec OptimistAtomicQueueB2, 2,i: 23,223,349 msg/sec OptimistAtomicQueueB2, 3,s: 29,777,188 msg/sec OptimistAtomicQueueB2, 3,i: 29,070,977 msg/sec OptimistAtomicQueueB2, 4,s: 32,794,590 msg/sec OptimistAtomicQueueB2, 4,i: 32,727,389 msg/sec OptimistAtomicQueueB2, 5,s: 34,278,798 msg/sec OptimistAtomicQueueB2, 5,i: 40,040,032 msg/sec OptimistAtomicQueueB2, 6,s: 37,663,573 msg/sec OptimistAtomicQueueB2, 6,i: 42,314,625 msg/sec OptimistAtomicQueueB2, 7,s: 40,864,690 msg/sec OptimistAtomicQueueB2, 7,i: 43,078,328 msg/sec OptimistAtomicQueueB2, 8,s: 42,376,474 msg/sec OptimistAtomicQueueB2, 8,i: 45,946,037 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000321 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000157 sec/round-trip moodycamel::ConcurrentQueue: 0.000000224 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000463 sec/round-trip tbb::spin_mutex: 0.000000269 sec/round-trip tbb::concurrent_bounded_queue: 0.000000288 sec/round-trip xenium::michael_scott_queue: 0.000000367 sec/round-trip xenium::ramalhete_queue: 0.000000273 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000168 sec/round-trip AtomicQueueB: 0.000000176 sec/round-trip OptimistAtomicQueue: 0.000000157 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000180 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [359] 7m:31s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 70,018,967 msg/sec boost::lockfree::spsc_queue, 1,i: 67,654,265 msg/sec boost::lockfree::queue, 1,s: 6,844,276 msg/sec boost::lockfree::queue, 1,i: 6,857,992 msg/sec boost::lockfree::queue, 2,s: 7,608,123 msg/sec boost::lockfree::queue, 2,i: 7,516,763 msg/sec boost::lockfree::queue, 3,s: 7,479,204 msg/sec boost::lockfree::queue, 3,i: 7,592,531 msg/sec boost::lockfree::queue, 4,s: 6,427,273 msg/sec boost::lockfree::queue, 4,i: 6,844,333 msg/sec boost::lockfree::queue, 5,s: 6,476,006 msg/sec boost::lockfree::queue, 5,i: 6,476,798 msg/sec boost::lockfree::queue, 6,s: 6,015,646 msg/sec boost::lockfree::queue, 6,i: 6,094,682 msg/sec boost::lockfree::queue, 7,s: 5,975,366 msg/sec boost::lockfree::queue, 7,i: 6,052,516 msg/sec boost::lockfree::queue, 8,s: 5,494,356 msg/sec boost::lockfree::queue, 8,i: 5,605,421 msg/sec moodycamel::ReaderWriterQueue, 1,s: 190,685,408 msg/sec moodycamel::ReaderWriterQueue, 1,i: 56,249,119 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,626,559 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,737,635 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,353,997 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,739,984 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,651,867 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,785,428 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,264,033 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,419,284 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,055,476 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,746,095 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,564,298 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,300,733 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,929,285 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,579,035 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,345,819 msg/sec moodycamel::ConcurrentQueue, 8,i: 36,306,859 msg/sec pthread_spinlock, 1,s: 29,202,181 msg/sec pthread_spinlock, 1,i: 25,463,360 msg/sec pthread_spinlock, 2,s: 15,516,378 msg/sec pthread_spinlock, 2,i: 16,999,409 msg/sec pthread_spinlock, 3,s: 8,349,184 msg/sec pthread_spinlock, 3,i: 12,048,017 msg/sec pthread_spinlock, 4,s: 6,395,961 msg/sec pthread_spinlock, 4,i: 8,769,250 msg/sec pthread_spinlock, 5,s: 8,720,927 msg/sec pthread_spinlock, 5,i: 9,474,631 msg/sec pthread_spinlock, 6,s: 8,465,499 msg/sec pthread_spinlock, 6,i: 9,134,906 msg/sec pthread_spinlock, 7,s: 7,585,120 msg/sec pthread_spinlock, 7,i: 8,055,215 msg/sec pthread_spinlock, 8,s: 6,845,360 msg/sec pthread_spinlock, 8,i: 7,474,603 msg/sec std::mutex, 1,s: 6,182,700 msg/sec std::mutex, 1,i: 6,991,824 msg/sec std::mutex, 2,s: 5,743,094 msg/sec std::mutex, 2,i: 5,511,329 msg/sec std::mutex, 3,s: 4,930,040 msg/sec std::mutex, 3,i: 4,801,802 msg/sec std::mutex, 4,s: 6,203,999 msg/sec std::mutex, 4,i: 6,350,993 msg/sec std::mutex, 5,s: 6,080,016 msg/sec std::mutex, 5,i: 5,688,433 msg/sec std::mutex, 6,s: 5,947,800 msg/sec std::mutex, 6,i: 5,902,857 msg/sec std::mutex, 7,s: 5,871,701 msg/sec std::mutex, 7,i: 5,840,713 msg/sec std::mutex, 8,s: 5,775,851 msg/sec std::mutex, 8,i: 5,724,384 msg/sec tbb::spin_mutex, 1,s: 37,777,912 msg/sec tbb::spin_mutex, 1,i: 37,327,460 msg/sec tbb::spin_mutex, 2,s: 21,144,566 msg/sec tbb::spin_mutex, 2,i: 18,434,475 msg/sec tbb::spin_mutex, 3,s: 8,178,899 msg/sec tbb::spin_mutex, 3,i: 11,127,362 msg/sec tbb::spin_mutex, 4,s: 3,248,143 msg/sec tbb::spin_mutex, 4,i: 6,231,028 msg/sec tbb::spin_mutex, 5,s: 5,394,884 msg/sec tbb::spin_mutex, 5,i: 5,843,242 msg/sec tbb::spin_mutex, 6,s: 5,331,352 msg/sec tbb::spin_mutex, 6,i: 4,409,846 msg/sec tbb::spin_mutex, 7,s: 4,825,491 msg/sec tbb::spin_mutex, 7,i: 4,355,092 msg/sec tbb::spin_mutex, 8,s: 4,254,927 msg/sec tbb::spin_mutex, 8,i: 4,081,340 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,594,771 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,556,545 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,546,673 msg/sec tbb::concurrent_bounded_queue, 2,i: 14,155,481 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,576,695 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,708,830 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,107,593 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,381,772 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,825,413 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,713,227 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,869,335 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,901,058 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,782,763 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,142,364 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,646,388 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,320,947 msg/sec xenium::michael_scott_queue, 1,s: 9,452,830 msg/sec xenium::michael_scott_queue, 1,i: 9,747,401 msg/sec xenium::michael_scott_queue, 2,s: 8,467,641 msg/sec xenium::michael_scott_queue, 2,i: 8,626,730 msg/sec xenium::michael_scott_queue, 3,s: 7,279,322 msg/sec xenium::michael_scott_queue, 3,i: 7,533,085 msg/sec xenium::michael_scott_queue, 4,s: 6,227,668 msg/sec xenium::michael_scott_queue, 4,i: 6,343,175 msg/sec xenium::michael_scott_queue, 5,s: 6,294,611 msg/sec xenium::michael_scott_queue, 5,i: 6,631,911 msg/sec xenium::michael_scott_queue, 6,s: 6,497,889 msg/sec xenium::michael_scott_queue, 6,i: 6,710,797 msg/sec xenium::michael_scott_queue, 7,s: 6,285,370 msg/sec xenium::michael_scott_queue, 7,i: 6,456,821 msg/sec xenium::michael_scott_queue, 8,s: 5,973,361 msg/sec xenium::michael_scott_queue, 8,i: 6,033,452 msg/sec xenium::ramalhete_queue, 1,s: 32,031,075 msg/sec xenium::ramalhete_queue, 1,i: 32,414,538 msg/sec xenium::ramalhete_queue, 2,s: 24,476,232 msg/sec xenium::ramalhete_queue, 2,i: 23,294,033 msg/sec xenium::ramalhete_queue, 3,s: 29,243,502 msg/sec xenium::ramalhete_queue, 3,i: 28,448,952 msg/sec xenium::ramalhete_queue, 4,s: 33,775,233 msg/sec xenium::ramalhete_queue, 4,i: 33,443,266 msg/sec xenium::ramalhete_queue, 5,s: 31,900,557 msg/sec xenium::ramalhete_queue, 5,i: 36,253,527 msg/sec xenium::ramalhete_queue, 6,s: 33,960,793 msg/sec xenium::ramalhete_queue, 6,i: 40,073,603 msg/sec xenium::ramalhete_queue, 7,s: 35,361,422 msg/sec xenium::ramalhete_queue, 7,i: 41,506,505 msg/sec xenium::ramalhete_queue, 8,s: 35,543,334 msg/sec xenium::ramalhete_queue, 8,i: 43,863,493 msg/sec xenium::vyukov_bounded_queue, 1,s: 118,842,195 msg/sec xenium::vyukov_bounded_queue, 1,i: 116,643,155 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,251,508 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,867,621 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,676,782 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,994,528 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,655,601 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,166,207 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,929,292 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,380,763 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,896,186 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,265,393 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,223,996 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,946,522 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,410,242 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,511,185 msg/sec AtomicQueue, 1,s: 57,785,932 msg/sec AtomicQueue, 1,i: 56,361,735 msg/sec AtomicQueue, 2,s: 12,199,130 msg/sec AtomicQueue, 2,i: 11,723,356 msg/sec AtomicQueue, 3,s: 10,766,667 msg/sec AtomicQueue, 3,i: 9,934,484 msg/sec AtomicQueue, 4,s: 8,197,721 msg/sec AtomicQueue, 4,i: 8,205,933 msg/sec AtomicQueue, 5,s: 8,028,209 msg/sec AtomicQueue, 5,i: 8,069,529 msg/sec AtomicQueue, 6,s: 7,774,768 msg/sec AtomicQueue, 6,i: 7,597,320 msg/sec AtomicQueue, 7,s: 7,056,526 msg/sec AtomicQueue, 7,i: 7,977,638 msg/sec AtomicQueue, 8,s: 6,343,378 msg/sec AtomicQueue, 8,i: 7,323,638 msg/sec AtomicQueueB, 1,s: 43,065,114 msg/sec AtomicQueueB, 1,i: 44,558,653 msg/sec AtomicQueueB, 2,s: 11,822,887 msg/sec AtomicQueueB, 2,i: 11,463,072 msg/sec AtomicQueueB, 3,s: 11,047,135 msg/sec AtomicQueueB, 3,i: 10,178,195 msg/sec AtomicQueueB, 4,s: 8,031,414 msg/sec AtomicQueueB, 4,i: 7,996,861 msg/sec AtomicQueueB, 5,s: 7,541,656 msg/sec AtomicQueueB, 5,i: 7,871,168 msg/sec AtomicQueueB, 6,s: 7,366,358 msg/sec AtomicQueueB, 6,i: 7,601,766 msg/sec AtomicQueueB, 7,s: 6,853,116 msg/sec AtomicQueueB, 7,i: 7,712,787 msg/sec AtomicQueueB, 8,s: 6,226,734 msg/sec AtomicQueueB, 8,i: 7,145,874 msg/sec OptimistAtomicQueue, 1,s: 762,436,724 msg/sec OptimistAtomicQueue, 1,i: 555,863,596 msg/sec OptimistAtomicQueue, 2,s: 32,186,333 msg/sec OptimistAtomicQueue, 2,i: 32,240,843 msg/sec OptimistAtomicQueue, 3,s: 36,612,287 msg/sec OptimistAtomicQueue, 3,i: 37,394,574 msg/sec OptimistAtomicQueue, 4,s: 39,272,690 msg/sec OptimistAtomicQueue, 4,i: 39,402,651 msg/sec OptimistAtomicQueue, 5,s: 42,402,990 msg/sec OptimistAtomicQueue, 5,i: 48,565,440 msg/sec OptimistAtomicQueue, 6,s: 42,712,033 msg/sec OptimistAtomicQueue, 6,i: 50,393,296 msg/sec OptimistAtomicQueue, 7,s: 44,302,163 msg/sec OptimistAtomicQueue, 7,i: 53,058,409 msg/sec OptimistAtomicQueue, 8,s: 46,343,733 msg/sec OptimistAtomicQueue, 8,i: 48,869,920 msg/sec OptimistAtomicQueueB, 1,s: 195,342,850 msg/sec OptimistAtomicQueueB, 1,i: 77,667,028 msg/sec OptimistAtomicQueueB, 2,s: 32,239,446 msg/sec OptimistAtomicQueueB, 2,i: 31,766,054 msg/sec OptimistAtomicQueueB, 3,s: 36,126,549 msg/sec OptimistAtomicQueueB, 3,i: 36,669,262 msg/sec OptimistAtomicQueueB, 4,s: 38,663,071 msg/sec OptimistAtomicQueueB, 4,i: 38,522,249 msg/sec OptimistAtomicQueueB, 5,s: 40,414,636 msg/sec OptimistAtomicQueueB, 5,i: 46,052,026 msg/sec OptimistAtomicQueueB, 6,s: 41,276,545 msg/sec OptimistAtomicQueueB, 6,i: 49,159,262 msg/sec OptimistAtomicQueueB, 7,s: 41,693,488 msg/sec OptimistAtomicQueueB, 7,i: 51,302,463 msg/sec OptimistAtomicQueueB, 8,s: 44,220,773 msg/sec OptimistAtomicQueueB, 8,i: 47,586,812 msg/sec AtomicQueue2, 1,s: 22,863,211 msg/sec AtomicQueue2, 1,i: 22,902,891 msg/sec AtomicQueue2, 2,s: 11,976,862 msg/sec AtomicQueue2, 2,i: 11,635,131 msg/sec AtomicQueue2, 3,s: 9,617,703 msg/sec AtomicQueue2, 3,i: 9,492,784 msg/sec AtomicQueue2, 4,s: 8,125,960 msg/sec AtomicQueue2, 4,i: 8,111,888 msg/sec AtomicQueue2, 5,s: 7,922,628 msg/sec AtomicQueue2, 5,i: 7,913,930 msg/sec AtomicQueue2, 6,s: 7,634,754 msg/sec AtomicQueue2, 6,i: 7,530,552 msg/sec AtomicQueue2, 7,s: 7,151,724 msg/sec AtomicQueue2, 7,i: 7,917,478 msg/sec AtomicQueue2, 8,s: 6,398,067 msg/sec AtomicQueue2, 8,i: 7,374,480 msg/sec AtomicQueueB2, 1,s: 35,934,971 msg/sec AtomicQueueB2, 1,i: 32,632,609 msg/sec AtomicQueueB2, 2,s: 11,484,113 msg/sec AtomicQueueB2, 2,i: 11,110,189 msg/sec AtomicQueueB2, 3,s: 9,580,173 msg/sec AtomicQueueB2, 3,i: 9,472,982 msg/sec AtomicQueueB2, 4,s: 7,926,965 msg/sec AtomicQueueB2, 4,i: 7,848,506 msg/sec AtomicQueueB2, 5,s: 7,465,903 msg/sec AtomicQueueB2, 5,i: 7,731,767 msg/sec AtomicQueueB2, 6,s: 7,184,250 msg/sec AtomicQueueB2, 6,i: 7,439,462 msg/sec AtomicQueueB2, 7,s: 6,899,007 msg/sec AtomicQueueB2, 7,i: 7,712,752 msg/sec AtomicQueueB2, 8,s: 6,264,264 msg/sec AtomicQueueB2, 8,i: 7,090,099 msg/sec OptimistAtomicQueue2, 1,s: 441,438,785 msg/sec OptimistAtomicQueue2, 1,i: 78,770,099 msg/sec OptimistAtomicQueue2, 2,s: 29,256,281 msg/sec OptimistAtomicQueue2, 2,i: 24,020,814 msg/sec OptimistAtomicQueue2, 3,s: 30,313,257 msg/sec OptimistAtomicQueue2, 3,i: 30,145,117 msg/sec OptimistAtomicQueue2, 4,s: 35,882,577 msg/sec OptimistAtomicQueue2, 4,i: 33,154,562 msg/sec OptimistAtomicQueue2, 5,s: 37,011,875 msg/sec OptimistAtomicQueue2, 5,i: 40,049,721 msg/sec OptimistAtomicQueue2, 6,s: 40,241,486 msg/sec OptimistAtomicQueue2, 6,i: 49,246,317 msg/sec OptimistAtomicQueue2, 7,s: 43,158,072 msg/sec OptimistAtomicQueue2, 7,i: 48,267,556 msg/sec OptimistAtomicQueue2, 8,s: 44,391,752 msg/sec OptimistAtomicQueue2, 8,i: 48,492,221 msg/sec OptimistAtomicQueueB2, 1,s: 75,792,186 msg/sec OptimistAtomicQueueB2, 1,i: 33,885,788 msg/sec OptimistAtomicQueueB2, 2,s: 27,901,882 msg/sec OptimistAtomicQueueB2, 2,i: 27,321,087 msg/sec OptimistAtomicQueueB2, 3,s: 29,687,022 msg/sec OptimistAtomicQueueB2, 3,i: 29,053,884 msg/sec OptimistAtomicQueueB2, 4,s: 33,642,199 msg/sec OptimistAtomicQueueB2, 4,i: 32,052,717 msg/sec OptimistAtomicQueueB2, 5,s: 34,569,975 msg/sec OptimistAtomicQueueB2, 5,i: 38,914,256 msg/sec OptimistAtomicQueueB2, 6,s: 37,676,365 msg/sec OptimistAtomicQueueB2, 6,i: 42,264,774 msg/sec OptimistAtomicQueueB2, 7,s: 40,137,968 msg/sec OptimistAtomicQueueB2, 7,i: 43,153,122 msg/sec OptimistAtomicQueueB2, 8,s: 42,206,157 msg/sec OptimistAtomicQueueB2, 8,i: 45,146,526 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000134 sec/round-trip boost::lockfree::queue: 0.000000323 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000140 sec/round-trip moodycamel::ConcurrentQueue: 0.000000233 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000457 sec/round-trip tbb::spin_mutex: 0.000000285 sec/round-trip tbb::concurrent_bounded_queue: 0.000000290 sec/round-trip xenium::michael_scott_queue: 0.000000369 sec/round-trip xenium::ramalhete_queue: 0.000000267 sec/round-trip xenium::vyukov_bounded_queue: 0.000000220 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000178 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000183 sec/round-trip OptimistAtomicQueue2: 0.000000171 sec/round-trip OptimistAtomicQueueB2: 0.000000152 sec/round-trip [360] 6m:12s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,279,331 msg/sec boost::lockfree::spsc_queue, 1,i: 70,952,471 msg/sec boost::lockfree::queue, 1,s: 6,910,127 msg/sec boost::lockfree::queue, 1,i: 6,832,043 msg/sec boost::lockfree::queue, 2,s: 7,548,161 msg/sec boost::lockfree::queue, 2,i: 7,460,065 msg/sec boost::lockfree::queue, 3,s: 7,446,885 msg/sec boost::lockfree::queue, 3,i: 7,503,257 msg/sec boost::lockfree::queue, 4,s: 6,428,981 msg/sec boost::lockfree::queue, 4,i: 6,853,727 msg/sec boost::lockfree::queue, 5,s: 6,454,790 msg/sec boost::lockfree::queue, 5,i: 6,528,416 msg/sec boost::lockfree::queue, 6,s: 6,014,695 msg/sec boost::lockfree::queue, 6,i: 6,107,663 msg/sec boost::lockfree::queue, 7,s: 5,850,213 msg/sec boost::lockfree::queue, 7,i: 6,031,527 msg/sec boost::lockfree::queue, 8,s: 5,439,004 msg/sec boost::lockfree::queue, 8,i: 5,697,533 msg/sec moodycamel::ReaderWriterQueue, 1,s: 476,329,689 msg/sec moodycamel::ReaderWriterQueue, 1,i: 496,002,468 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,946,083 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,746,144 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,762,537 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,870,350 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,275,260 msg/sec moodycamel::ConcurrentQueue, 3,i: 15,904,183 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,138,718 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,977,739 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,377,454 msg/sec moodycamel::ConcurrentQueue, 5,i: 33,063,537 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,444,944 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,142,254 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,013,331 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,021,551 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,346,204 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,169,417 msg/sec pthread_spinlock, 1,s: 29,184,350 msg/sec pthread_spinlock, 1,i: 25,466,040 msg/sec pthread_spinlock, 2,s: 15,597,996 msg/sec pthread_spinlock, 2,i: 16,900,832 msg/sec pthread_spinlock, 3,s: 8,288,848 msg/sec pthread_spinlock, 3,i: 12,009,384 msg/sec pthread_spinlock, 4,s: 6,512,070 msg/sec pthread_spinlock, 4,i: 9,045,186 msg/sec pthread_spinlock, 5,s: 8,701,510 msg/sec pthread_spinlock, 5,i: 8,806,339 msg/sec pthread_spinlock, 6,s: 8,444,422 msg/sec pthread_spinlock, 6,i: 8,990,370 msg/sec pthread_spinlock, 7,s: 7,549,656 msg/sec pthread_spinlock, 7,i: 7,885,420 msg/sec pthread_spinlock, 8,s: 6,651,514 msg/sec pthread_spinlock, 8,i: 6,940,486 msg/sec std::mutex, 1,s: 7,396,986 msg/sec std::mutex, 1,i: 6,727,526 msg/sec std::mutex, 2,s: 5,791,362 msg/sec std::mutex, 2,i: 6,206,769 msg/sec std::mutex, 3,s: 6,105,216 msg/sec std::mutex, 3,i: 5,850,793 msg/sec std::mutex, 4,s: 5,413,927 msg/sec std::mutex, 4,i: 6,356,880 msg/sec std::mutex, 5,s: 5,921,075 msg/sec std::mutex, 5,i: 6,138,727 msg/sec std::mutex, 6,s: 6,085,754 msg/sec std::mutex, 6,i: 5,978,477 msg/sec std::mutex, 7,s: 5,923,897 msg/sec std::mutex, 7,i: 5,963,251 msg/sec std::mutex, 8,s: 5,741,580 msg/sec std::mutex, 8,i: 5,741,265 msg/sec tbb::spin_mutex, 1,s: 37,668,162 msg/sec tbb::spin_mutex, 1,i: 32,690,899 msg/sec tbb::spin_mutex, 2,s: 21,155,103 msg/sec tbb::spin_mutex, 2,i: 19,021,586 msg/sec tbb::spin_mutex, 3,s: 7,523,950 msg/sec tbb::spin_mutex, 3,i: 10,756,058 msg/sec tbb::spin_mutex, 4,s: 3,203,842 msg/sec tbb::spin_mutex, 4,i: 6,351,447 msg/sec tbb::spin_mutex, 5,s: 5,521,626 msg/sec tbb::spin_mutex, 5,i: 5,785,210 msg/sec tbb::spin_mutex, 6,s: 5,357,318 msg/sec tbb::spin_mutex, 6,i: 4,322,349 msg/sec tbb::spin_mutex, 7,s: 4,884,015 msg/sec tbb::spin_mutex, 7,i: 4,369,166 msg/sec tbb::spin_mutex, 8,s: 4,245,229 msg/sec tbb::spin_mutex, 8,i: 4,167,989 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,077,025 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,694,323 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,328,008 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,466,476 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,570,349 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,476,551 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,468,275 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,607,681 msg/sec tbb::concurrent_bounded_queue, 5,s: 10,015,302 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,638,417 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,876,062 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,663,835 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,881,956 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,796,796 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,786,059 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,495,556 msg/sec xenium::michael_scott_queue, 1,s: 9,568,369 msg/sec xenium::michael_scott_queue, 1,i: 9,562,420 msg/sec xenium::michael_scott_queue, 2,s: 8,557,125 msg/sec xenium::michael_scott_queue, 2,i: 8,495,951 msg/sec xenium::michael_scott_queue, 3,s: 7,310,590 msg/sec xenium::michael_scott_queue, 3,i: 7,568,142 msg/sec xenium::michael_scott_queue, 4,s: 6,233,714 msg/sec xenium::michael_scott_queue, 4,i: 6,320,414 msg/sec xenium::michael_scott_queue, 5,s: 6,289,347 msg/sec xenium::michael_scott_queue, 5,i: 6,651,734 msg/sec xenium::michael_scott_queue, 6,s: 6,472,520 msg/sec xenium::michael_scott_queue, 6,i: 6,906,488 msg/sec xenium::michael_scott_queue, 7,s: 6,300,313 msg/sec xenium::michael_scott_queue, 7,i: 6,540,504 msg/sec xenium::michael_scott_queue, 8,s: 6,050,357 msg/sec xenium::michael_scott_queue, 8,i: 6,071,631 msg/sec xenium::ramalhete_queue, 1,s: 32,337,329 msg/sec xenium::ramalhete_queue, 1,i: 32,478,460 msg/sec xenium::ramalhete_queue, 2,s: 23,518,489 msg/sec xenium::ramalhete_queue, 2,i: 23,366,262 msg/sec xenium::ramalhete_queue, 3,s: 29,242,418 msg/sec xenium::ramalhete_queue, 3,i: 28,510,147 msg/sec xenium::ramalhete_queue, 4,s: 33,840,881 msg/sec xenium::ramalhete_queue, 4,i: 33,452,069 msg/sec xenium::ramalhete_queue, 5,s: 32,140,811 msg/sec xenium::ramalhete_queue, 5,i: 36,094,894 msg/sec xenium::ramalhete_queue, 6,s: 34,078,890 msg/sec xenium::ramalhete_queue, 6,i: 39,641,033 msg/sec xenium::ramalhete_queue, 7,s: 35,140,975 msg/sec xenium::ramalhete_queue, 7,i: 41,368,892 msg/sec xenium::ramalhete_queue, 8,s: 35,565,002 msg/sec xenium::ramalhete_queue, 8,i: 43,929,925 msg/sec xenium::vyukov_bounded_queue, 1,s: 122,030,997 msg/sec xenium::vyukov_bounded_queue, 1,i: 108,588,533 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,943,315 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,345,914 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,679,029 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,991,224 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,559,728 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,186,384 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,070,627 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,263,156 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,164,172 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,412,070 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,293,731 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,900,982 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,441,975 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,348,128 msg/sec AtomicQueue, 1,s: 60,696,661 msg/sec AtomicQueue, 1,i: 56,827,630 msg/sec AtomicQueue, 2,s: 12,273,326 msg/sec AtomicQueue, 2,i: 11,743,386 msg/sec AtomicQueue, 3,s: 10,857,240 msg/sec AtomicQueue, 3,i: 9,894,497 msg/sec AtomicQueue, 4,s: 8,178,983 msg/sec AtomicQueue, 4,i: 8,187,190 msg/sec AtomicQueue, 5,s: 8,026,846 msg/sec AtomicQueue, 5,i: 8,130,313 msg/sec AtomicQueue, 6,s: 7,832,088 msg/sec AtomicQueue, 6,i: 7,599,575 msg/sec AtomicQueue, 7,s: 7,051,376 msg/sec AtomicQueue, 7,i: 8,000,890 msg/sec AtomicQueue, 8,s: 6,326,910 msg/sec AtomicQueue, 8,i: 7,436,544 msg/sec AtomicQueueB, 1,s: 127,835,756 msg/sec AtomicQueueB, 1,i: 42,984,862 msg/sec AtomicQueueB, 2,s: 11,888,747 msg/sec AtomicQueueB, 2,i: 11,521,481 msg/sec AtomicQueueB, 3,s: 10,913,626 msg/sec AtomicQueueB, 3,i: 10,128,221 msg/sec AtomicQueueB, 4,s: 8,102,774 msg/sec AtomicQueueB, 4,i: 7,935,110 msg/sec AtomicQueueB, 5,s: 7,747,319 msg/sec AtomicQueueB, 5,i: 7,838,063 msg/sec AtomicQueueB, 6,s: 7,471,476 msg/sec AtomicQueueB, 6,i: 7,519,902 msg/sec AtomicQueueB, 7,s: 6,934,318 msg/sec AtomicQueueB, 7,i: 7,741,176 msg/sec AtomicQueueB, 8,s: 6,284,555 msg/sec AtomicQueueB, 8,i: 7,146,344 msg/sec OptimistAtomicQueue, 1,s: 799,222,995 msg/sec OptimistAtomicQueue, 1,i: 525,464,744 msg/sec OptimistAtomicQueue, 2,s: 32,649,006 msg/sec OptimistAtomicQueue, 2,i: 32,698,344 msg/sec OptimistAtomicQueue, 3,s: 36,668,406 msg/sec OptimistAtomicQueue, 3,i: 37,147,230 msg/sec OptimistAtomicQueue, 4,s: 39,282,568 msg/sec OptimistAtomicQueue, 4,i: 39,404,548 msg/sec OptimistAtomicQueue, 5,s: 42,411,906 msg/sec OptimistAtomicQueue, 5,i: 46,328,734 msg/sec OptimistAtomicQueue, 6,s: 42,328,811 msg/sec OptimistAtomicQueue, 6,i: 49,801,559 msg/sec OptimistAtomicQueue, 7,s: 45,270,525 msg/sec OptimistAtomicQueue, 7,i: 53,065,375 msg/sec OptimistAtomicQueue, 8,s: 46,493,439 msg/sec OptimistAtomicQueue, 8,i: 50,016,869 msg/sec OptimistAtomicQueueB, 1,s: 103,368,671 msg/sec OptimistAtomicQueueB, 1,i: 76,605,516 msg/sec OptimistAtomicQueueB, 2,s: 32,204,764 msg/sec OptimistAtomicQueueB, 2,i: 32,307,947 msg/sec OptimistAtomicQueueB, 3,s: 36,319,047 msg/sec OptimistAtomicQueueB, 3,i: 36,887,662 msg/sec OptimistAtomicQueueB, 4,s: 38,549,248 msg/sec OptimistAtomicQueueB, 4,i: 38,407,948 msg/sec OptimistAtomicQueueB, 5,s: 41,038,295 msg/sec OptimistAtomicQueueB, 5,i: 45,463,082 msg/sec OptimistAtomicQueueB, 6,s: 40,671,186 msg/sec OptimistAtomicQueueB, 6,i: 49,006,889 msg/sec OptimistAtomicQueueB, 7,s: 42,062,633 msg/sec OptimistAtomicQueueB, 7,i: 48,219,778 msg/sec OptimistAtomicQueueB, 8,s: 44,276,229 msg/sec OptimistAtomicQueueB, 8,i: 48,037,084 msg/sec AtomicQueue2, 1,s: 23,336,417 msg/sec AtomicQueue2, 1,i: 23,130,177 msg/sec AtomicQueue2, 2,s: 11,980,766 msg/sec AtomicQueue2, 2,i: 11,690,709 msg/sec AtomicQueue2, 3,s: 9,417,566 msg/sec AtomicQueue2, 3,i: 9,387,315 msg/sec AtomicQueue2, 4,s: 8,030,314 msg/sec AtomicQueue2, 4,i: 8,053,770 msg/sec AtomicQueue2, 5,s: 7,890,397 msg/sec AtomicQueue2, 5,i: 7,999,587 msg/sec AtomicQueue2, 6,s: 7,877,015 msg/sec AtomicQueue2, 6,i: 7,526,382 msg/sec AtomicQueue2, 7,s: 7,118,600 msg/sec AtomicQueue2, 7,i: 7,891,063 msg/sec AtomicQueue2, 8,s: 6,396,651 msg/sec AtomicQueue2, 8,i: 7,374,858 msg/sec AtomicQueueB2, 1,s: 36,196,162 msg/sec AtomicQueueB2, 1,i: 32,604,192 msg/sec AtomicQueueB2, 2,s: 11,452,609 msg/sec AtomicQueueB2, 2,i: 11,152,433 msg/sec AtomicQueueB2, 3,s: 9,650,588 msg/sec AtomicQueueB2, 3,i: 9,607,545 msg/sec AtomicQueueB2, 4,s: 7,959,438 msg/sec AtomicQueueB2, 4,i: 7,714,071 msg/sec AtomicQueueB2, 5,s: 7,516,350 msg/sec AtomicQueueB2, 5,i: 7,672,002 msg/sec AtomicQueueB2, 6,s: 7,188,105 msg/sec AtomicQueueB2, 6,i: 7,420,743 msg/sec AtomicQueueB2, 7,s: 6,898,051 msg/sec AtomicQueueB2, 7,i: 7,670,154 msg/sec AtomicQueueB2, 8,s: 6,279,417 msg/sec AtomicQueueB2, 8,i: 7,088,676 msg/sec OptimistAtomicQueue2, 1,s: 396,153,664 msg/sec OptimistAtomicQueue2, 1,i: 31,897,594 msg/sec OptimistAtomicQueue2, 2,s: 26,188,957 msg/sec OptimistAtomicQueue2, 2,i: 24,023,585 msg/sec OptimistAtomicQueue2, 3,s: 30,321,484 msg/sec OptimistAtomicQueue2, 3,i: 31,878,686 msg/sec OptimistAtomicQueue2, 4,s: 33,182,395 msg/sec OptimistAtomicQueue2, 4,i: 33,192,207 msg/sec OptimistAtomicQueue2, 5,s: 37,770,423 msg/sec OptimistAtomicQueue2, 5,i: 40,310,761 msg/sec OptimistAtomicQueue2, 6,s: 40,278,496 msg/sec OptimistAtomicQueue2, 6,i: 49,020,434 msg/sec OptimistAtomicQueue2, 7,s: 42,779,904 msg/sec OptimistAtomicQueue2, 7,i: 51,712,616 msg/sec OptimistAtomicQueue2, 8,s: 43,984,658 msg/sec OptimistAtomicQueue2, 8,i: 48,309,326 msg/sec OptimistAtomicQueueB2, 1,s: 77,728,992 msg/sec OptimistAtomicQueueB2, 1,i: 33,864,200 msg/sec OptimistAtomicQueueB2, 2,s: 26,842,633 msg/sec OptimistAtomicQueueB2, 2,i: 25,033,334 msg/sec OptimistAtomicQueueB2, 3,s: 29,665,961 msg/sec OptimistAtomicQueueB2, 3,i: 29,103,282 msg/sec OptimistAtomicQueueB2, 4,s: 33,104,677 msg/sec OptimistAtomicQueueB2, 4,i: 31,658,347 msg/sec OptimistAtomicQueueB2, 5,s: 34,281,257 msg/sec OptimistAtomicQueueB2, 5,i: 39,090,264 msg/sec OptimistAtomicQueueB2, 6,s: 37,279,297 msg/sec OptimistAtomicQueueB2, 6,i: 42,602,439 msg/sec OptimistAtomicQueueB2, 7,s: 40,126,370 msg/sec OptimistAtomicQueueB2, 7,i: 43,328,996 msg/sec OptimistAtomicQueueB2, 8,s: 42,131,850 msg/sec OptimistAtomicQueueB2, 8,i: 45,323,686 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000320 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000121 sec/round-trip moodycamel::ConcurrentQueue: 0.000000235 sec/round-trip pthread_spinlock: 0.000000245 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000291 sec/round-trip tbb::concurrent_bounded_queue: 0.000000281 sec/round-trip xenium::michael_scott_queue: 0.000000370 sec/round-trip xenium::ramalhete_queue: 0.000000266 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000177 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000141 sec/round-trip AtomicQueue2: 0.000000174 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000174 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [361] 4m:53s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 68,166,326 msg/sec boost::lockfree::spsc_queue, 1,i: 68,041,655 msg/sec boost::lockfree::queue, 1,s: 6,932,880 msg/sec boost::lockfree::queue, 1,i: 6,883,832 msg/sec boost::lockfree::queue, 2,s: 7,401,558 msg/sec boost::lockfree::queue, 2,i: 7,357,882 msg/sec boost::lockfree::queue, 3,s: 7,357,411 msg/sec boost::lockfree::queue, 3,i: 7,507,185 msg/sec boost::lockfree::queue, 4,s: 6,422,748 msg/sec boost::lockfree::queue, 4,i: 6,787,943 msg/sec boost::lockfree::queue, 5,s: 6,447,479 msg/sec boost::lockfree::queue, 5,i: 6,437,698 msg/sec boost::lockfree::queue, 6,s: 5,969,801 msg/sec boost::lockfree::queue, 6,i: 6,096,214 msg/sec boost::lockfree::queue, 7,s: 6,051,300 msg/sec boost::lockfree::queue, 7,i: 6,111,300 msg/sec boost::lockfree::queue, 8,s: 5,390,176 msg/sec boost::lockfree::queue, 8,i: 5,586,414 msg/sec moodycamel::ReaderWriterQueue, 1,s: 503,355,430 msg/sec moodycamel::ReaderWriterQueue, 1,i: 97,081,058 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,536,289 msg/sec moodycamel::ConcurrentQueue, 1,i: 26,509,724 msg/sec moodycamel::ConcurrentQueue, 2,s: 14,851,668 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,957,146 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,876,695 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,523,138 msg/sec moodycamel::ConcurrentQueue, 4,s: 30,089,388 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,084,333 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,272,754 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,270,104 msg/sec moodycamel::ConcurrentQueue, 6,s: 46,174,782 msg/sec moodycamel::ConcurrentQueue, 6,i: 19,198,099 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,835,049 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,156,899 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,115,567 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,372,270 msg/sec pthread_spinlock, 1,s: 28,750,496 msg/sec pthread_spinlock, 1,i: 25,437,866 msg/sec pthread_spinlock, 2,s: 16,130,159 msg/sec pthread_spinlock, 2,i: 16,775,751 msg/sec pthread_spinlock, 3,s: 8,386,808 msg/sec pthread_spinlock, 3,i: 11,996,519 msg/sec pthread_spinlock, 4,s: 6,554,331 msg/sec pthread_spinlock, 4,i: 9,170,958 msg/sec pthread_spinlock, 5,s: 8,694,150 msg/sec pthread_spinlock, 5,i: 9,074,858 msg/sec pthread_spinlock, 6,s: 8,573,618 msg/sec pthread_spinlock, 6,i: 8,405,582 msg/sec pthread_spinlock, 7,s: 7,616,581 msg/sec pthread_spinlock, 7,i: 7,588,307 msg/sec pthread_spinlock, 8,s: 6,666,009 msg/sec pthread_spinlock, 8,i: 6,999,517 msg/sec std::mutex, 1,s: 6,895,890 msg/sec std::mutex, 1,i: 6,919,514 msg/sec std::mutex, 2,s: 6,027,563 msg/sec std::mutex, 2,i: 6,021,151 msg/sec std::mutex, 3,s: 5,997,004 msg/sec std::mutex, 3,i: 6,010,949 msg/sec std::mutex, 4,s: 6,214,945 msg/sec std::mutex, 4,i: 6,239,617 msg/sec std::mutex, 5,s: 6,027,467 msg/sec std::mutex, 5,i: 5,744,548 msg/sec std::mutex, 6,s: 5,851,274 msg/sec std::mutex, 6,i: 5,957,844 msg/sec std::mutex, 7,s: 5,779,622 msg/sec std::mutex, 7,i: 5,786,890 msg/sec std::mutex, 8,s: 5,687,583 msg/sec std::mutex, 8,i: 5,646,163 msg/sec tbb::spin_mutex, 1,s: 37,623,669 msg/sec tbb::spin_mutex, 1,i: 33,075,253 msg/sec tbb::spin_mutex, 2,s: 20,941,416 msg/sec tbb::spin_mutex, 2,i: 18,136,294 msg/sec tbb::spin_mutex, 3,s: 7,417,261 msg/sec tbb::spin_mutex, 3,i: 11,219,829 msg/sec tbb::spin_mutex, 4,s: 3,124,212 msg/sec tbb::spin_mutex, 4,i: 6,334,502 msg/sec tbb::spin_mutex, 5,s: 5,485,232 msg/sec tbb::spin_mutex, 5,i: 5,811,689 msg/sec tbb::spin_mutex, 6,s: 5,355,056 msg/sec tbb::spin_mutex, 6,i: 4,297,214 msg/sec tbb::spin_mutex, 7,s: 4,840,557 msg/sec tbb::spin_mutex, 7,i: 4,349,647 msg/sec tbb::spin_mutex, 8,s: 4,266,604 msg/sec tbb::spin_mutex, 8,i: 4,174,161 msg/sec tbb::concurrent_bounded_queue, 1,s: 14,346,423 msg/sec tbb::concurrent_bounded_queue, 1,i: 14,488,034 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,953,693 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,920,981 msg/sec tbb::concurrent_bounded_queue, 3,s: 12,069,845 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,607,191 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,285,822 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,291,615 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,728,950 msg/sec tbb::concurrent_bounded_queue, 5,i: 10,189,378 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,825,993 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,407,605 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,900,229 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,601,913 msg/sec tbb::concurrent_bounded_queue, 8,s: 7,040,432 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,766,894 msg/sec xenium::michael_scott_queue, 1,s: 9,592,945 msg/sec xenium::michael_scott_queue, 1,i: 9,611,770 msg/sec xenium::michael_scott_queue, 2,s: 8,508,543 msg/sec xenium::michael_scott_queue, 2,i: 8,648,634 msg/sec xenium::michael_scott_queue, 3,s: 7,207,638 msg/sec xenium::michael_scott_queue, 3,i: 7,560,352 msg/sec xenium::michael_scott_queue, 4,s: 6,315,954 msg/sec xenium::michael_scott_queue, 4,i: 6,295,926 msg/sec xenium::michael_scott_queue, 5,s: 6,270,222 msg/sec xenium::michael_scott_queue, 5,i: 6,634,906 msg/sec xenium::michael_scott_queue, 6,s: 6,491,412 msg/sec xenium::michael_scott_queue, 6,i: 6,992,084 msg/sec xenium::michael_scott_queue, 7,s: 6,272,620 msg/sec xenium::michael_scott_queue, 7,i: 6,542,455 msg/sec xenium::michael_scott_queue, 8,s: 5,998,114 msg/sec xenium::michael_scott_queue, 8,i: 6,084,573 msg/sec xenium::ramalhete_queue, 1,s: 31,518,850 msg/sec xenium::ramalhete_queue, 1,i: 31,462,924 msg/sec xenium::ramalhete_queue, 2,s: 23,857,472 msg/sec xenium::ramalhete_queue, 2,i: 23,315,340 msg/sec xenium::ramalhete_queue, 3,s: 29,191,860 msg/sec xenium::ramalhete_queue, 3,i: 28,461,717 msg/sec xenium::ramalhete_queue, 4,s: 33,824,536 msg/sec xenium::ramalhete_queue, 4,i: 33,499,931 msg/sec xenium::ramalhete_queue, 5,s: 32,230,325 msg/sec xenium::ramalhete_queue, 5,i: 36,081,728 msg/sec xenium::ramalhete_queue, 6,s: 34,096,279 msg/sec xenium::ramalhete_queue, 6,i: 38,975,235 msg/sec xenium::ramalhete_queue, 7,s: 35,166,946 msg/sec xenium::ramalhete_queue, 7,i: 41,232,349 msg/sec xenium::ramalhete_queue, 8,s: 35,543,896 msg/sec xenium::ramalhete_queue, 8,i: 43,723,050 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,714,646 msg/sec xenium::vyukov_bounded_queue, 1,i: 120,619,237 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,925,134 msg/sec xenium::vyukov_bounded_queue, 2,i: 25,124,599 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,728,096 msg/sec xenium::vyukov_bounded_queue, 3,i: 16,028,871 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,531,802 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,395,251 msg/sec xenium::vyukov_bounded_queue, 5,s: 11,051,739 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,358,751 msg/sec xenium::vyukov_bounded_queue, 6,s: 10,028,990 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,177,164 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,304,887 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,317,676 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,416,088 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,551,312 msg/sec AtomicQueue, 1,s: 62,890,817 msg/sec AtomicQueue, 1,i: 56,537,942 msg/sec AtomicQueue, 2,s: 12,312,377 msg/sec AtomicQueue, 2,i: 11,733,100 msg/sec AtomicQueue, 3,s: 10,757,824 msg/sec AtomicQueue, 3,i: 9,933,351 msg/sec AtomicQueue, 4,s: 8,157,851 msg/sec AtomicQueue, 4,i: 8,206,119 msg/sec AtomicQueue, 5,s: 8,055,639 msg/sec AtomicQueue, 5,i: 8,132,031 msg/sec AtomicQueue, 6,s: 7,896,136 msg/sec AtomicQueue, 6,i: 7,610,847 msg/sec AtomicQueue, 7,s: 7,071,383 msg/sec AtomicQueue, 7,i: 7,967,757 msg/sec AtomicQueue, 8,s: 6,318,032 msg/sec AtomicQueue, 8,i: 7,447,844 msg/sec AtomicQueueB, 1,s: 89,732,769 msg/sec AtomicQueueB, 1,i: 44,377,497 msg/sec AtomicQueueB, 2,s: 11,861,450 msg/sec AtomicQueueB, 2,i: 11,457,596 msg/sec AtomicQueueB, 3,s: 11,035,307 msg/sec AtomicQueueB, 3,i: 10,187,596 msg/sec AtomicQueueB, 4,s: 8,063,830 msg/sec AtomicQueueB, 4,i: 8,029,246 msg/sec AtomicQueueB, 5,s: 7,678,841 msg/sec AtomicQueueB, 5,i: 7,809,604 msg/sec AtomicQueueB, 6,s: 7,402,382 msg/sec AtomicQueueB, 6,i: 7,539,654 msg/sec AtomicQueueB, 7,s: 6,883,219 msg/sec AtomicQueueB, 7,i: 7,731,641 msg/sec AtomicQueueB, 8,s: 6,204,006 msg/sec AtomicQueueB, 8,i: 7,182,610 msg/sec OptimistAtomicQueue, 1,s: 741,250,968 msg/sec OptimistAtomicQueue, 1,i: 573,558,686 msg/sec OptimistAtomicQueue, 2,s: 32,147,790 msg/sec OptimistAtomicQueue, 2,i: 32,191,681 msg/sec OptimistAtomicQueue, 3,s: 36,618,745 msg/sec OptimistAtomicQueue, 3,i: 37,331,911 msg/sec OptimistAtomicQueue, 4,s: 39,274,694 msg/sec OptimistAtomicQueue, 4,i: 39,410,356 msg/sec OptimistAtomicQueue, 5,s: 41,680,280 msg/sec OptimistAtomicQueue, 5,i: 46,378,013 msg/sec OptimistAtomicQueue, 6,s: 42,705,801 msg/sec OptimistAtomicQueue, 6,i: 50,247,561 msg/sec OptimistAtomicQueue, 7,s: 44,336,219 msg/sec OptimistAtomicQueue, 7,i: 49,113,103 msg/sec OptimistAtomicQueue, 8,s: 46,253,605 msg/sec OptimistAtomicQueue, 8,i: 49,144,473 msg/sec OptimistAtomicQueueB, 1,s: 176,763,680 msg/sec OptimistAtomicQueueB, 1,i: 77,849,125 msg/sec OptimistAtomicQueueB, 2,s: 32,270,281 msg/sec OptimistAtomicQueueB, 2,i: 32,324,824 msg/sec OptimistAtomicQueueB, 3,s: 36,249,574 msg/sec OptimistAtomicQueueB, 3,i: 36,896,822 msg/sec OptimistAtomicQueueB, 4,s: 38,728,824 msg/sec OptimistAtomicQueueB, 4,i: 38,811,013 msg/sec OptimistAtomicQueueB, 5,s: 40,637,236 msg/sec OptimistAtomicQueueB, 5,i: 45,317,613 msg/sec OptimistAtomicQueueB, 6,s: 40,706,686 msg/sec OptimistAtomicQueueB, 6,i: 49,226,789 msg/sec OptimistAtomicQueueB, 7,s: 41,622,172 msg/sec OptimistAtomicQueueB, 7,i: 51,359,450 msg/sec OptimistAtomicQueueB, 8,s: 44,355,102 msg/sec OptimistAtomicQueueB, 8,i: 48,709,807 msg/sec AtomicQueue2, 1,s: 22,836,031 msg/sec AtomicQueue2, 1,i: 22,829,132 msg/sec AtomicQueue2, 2,s: 11,807,535 msg/sec AtomicQueue2, 2,i: 11,435,326 msg/sec AtomicQueue2, 3,s: 9,681,657 msg/sec AtomicQueue2, 3,i: 9,503,648 msg/sec AtomicQueue2, 4,s: 8,070,300 msg/sec AtomicQueue2, 4,i: 8,117,502 msg/sec AtomicQueue2, 5,s: 7,906,487 msg/sec AtomicQueue2, 5,i: 8,064,398 msg/sec AtomicQueue2, 6,s: 7,827,317 msg/sec AtomicQueue2, 6,i: 7,536,047 msg/sec AtomicQueue2, 7,s: 7,148,465 msg/sec AtomicQueue2, 7,i: 7,908,857 msg/sec AtomicQueue2, 8,s: 6,403,419 msg/sec AtomicQueue2, 8,i: 7,335,295 msg/sec AtomicQueueB2, 1,s: 36,090,439 msg/sec AtomicQueueB2, 1,i: 32,647,392 msg/sec AtomicQueueB2, 2,s: 11,413,987 msg/sec AtomicQueueB2, 2,i: 11,126,491 msg/sec AtomicQueueB2, 3,s: 9,666,853 msg/sec AtomicQueueB2, 3,i: 9,463,031 msg/sec AtomicQueueB2, 4,s: 7,915,248 msg/sec AtomicQueueB2, 4,i: 7,838,700 msg/sec AtomicQueueB2, 5,s: 7,407,206 msg/sec AtomicQueueB2, 5,i: 7,794,421 msg/sec AtomicQueueB2, 6,s: 7,153,583 msg/sec AtomicQueueB2, 6,i: 7,465,279 msg/sec AtomicQueueB2, 7,s: 6,888,704 msg/sec AtomicQueueB2, 7,i: 7,710,024 msg/sec AtomicQueueB2, 8,s: 6,297,183 msg/sec AtomicQueueB2, 8,i: 7,112,945 msg/sec OptimistAtomicQueue2, 1,s: 476,744,407 msg/sec OptimistAtomicQueue2, 1,i: 29,879,255 msg/sec OptimistAtomicQueue2, 2,s: 24,265,872 msg/sec OptimistAtomicQueue2, 2,i: 24,013,761 msg/sec OptimistAtomicQueue2, 3,s: 30,490,991 msg/sec OptimistAtomicQueue2, 3,i: 30,238,467 msg/sec OptimistAtomicQueue2, 4,s: 33,288,520 msg/sec OptimistAtomicQueue2, 4,i: 33,113,362 msg/sec OptimistAtomicQueue2, 5,s: 37,022,041 msg/sec OptimistAtomicQueue2, 5,i: 40,507,109 msg/sec OptimistAtomicQueue2, 6,s: 40,266,997 msg/sec OptimistAtomicQueue2, 6,i: 49,346,086 msg/sec OptimistAtomicQueue2, 7,s: 43,227,290 msg/sec OptimistAtomicQueue2, 7,i: 51,258,857 msg/sec OptimistAtomicQueue2, 8,s: 43,980,731 msg/sec OptimistAtomicQueue2, 8,i: 49,421,762 msg/sec OptimistAtomicQueueB2, 1,s: 76,478,369 msg/sec OptimistAtomicQueueB2, 1,i: 33,860,499 msg/sec OptimistAtomicQueueB2, 2,s: 27,313,339 msg/sec OptimistAtomicQueueB2, 2,i: 25,720,304 msg/sec OptimistAtomicQueueB2, 3,s: 29,705,695 msg/sec OptimistAtomicQueueB2, 3,i: 30,406,881 msg/sec OptimistAtomicQueueB2, 4,s: 32,426,232 msg/sec OptimistAtomicQueueB2, 4,i: 32,156,598 msg/sec OptimistAtomicQueueB2, 5,s: 34,231,465 msg/sec OptimistAtomicQueueB2, 5,i: 39,072,977 msg/sec OptimistAtomicQueueB2, 6,s: 37,256,471 msg/sec OptimistAtomicQueueB2, 6,i: 42,429,931 msg/sec OptimistAtomicQueueB2, 7,s: 40,202,318 msg/sec OptimistAtomicQueueB2, 7,i: 43,070,025 msg/sec OptimistAtomicQueueB2, 8,s: 41,862,553 msg/sec OptimistAtomicQueueB2, 8,i: 45,606,203 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000318 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000144 sec/round-trip moodycamel::ConcurrentQueue: 0.000000227 sec/round-trip pthread_spinlock: 0.000000250 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000252 sec/round-trip tbb::concurrent_bounded_queue: 0.000000285 sec/round-trip xenium::michael_scott_queue: 0.000000371 sec/round-trip xenium::ramalhete_queue: 0.000000269 sec/round-trip xenium::vyukov_bounded_queue: 0.000000219 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000180 sec/round-trip OptimistAtomicQueue: 0.000000158 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000181 sec/round-trip OptimistAtomicQueue2: 0.000000176 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [362] 3m:34s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,534,540 msg/sec boost::lockfree::spsc_queue, 1,i: 67,055,423 msg/sec boost::lockfree::queue, 1,s: 6,895,463 msg/sec boost::lockfree::queue, 1,i: 6,858,389 msg/sec boost::lockfree::queue, 2,s: 7,594,007 msg/sec boost::lockfree::queue, 2,i: 7,547,170 msg/sec boost::lockfree::queue, 3,s: 7,404,893 msg/sec boost::lockfree::queue, 3,i: 7,543,747 msg/sec boost::lockfree::queue, 4,s: 6,422,458 msg/sec boost::lockfree::queue, 4,i: 6,768,437 msg/sec boost::lockfree::queue, 5,s: 6,383,937 msg/sec boost::lockfree::queue, 5,i: 6,497,070 msg/sec boost::lockfree::queue, 6,s: 6,027,175 msg/sec boost::lockfree::queue, 6,i: 6,109,065 msg/sec boost::lockfree::queue, 7,s: 6,029,063 msg/sec boost::lockfree::queue, 7,i: 5,965,517 msg/sec boost::lockfree::queue, 8,s: 5,519,615 msg/sec boost::lockfree::queue, 8,i: 5,697,274 msg/sec moodycamel::ReaderWriterQueue, 1,s: 138,079,002 msg/sec moodycamel::ReaderWriterQueue, 1,i: 85,698,739 msg/sec moodycamel::ConcurrentQueue, 1,s: 25,152,936 msg/sec moodycamel::ConcurrentQueue, 1,i: 21,699,219 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,718,920 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,529,988 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,392,101 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,278,448 msg/sec moodycamel::ConcurrentQueue, 4,s: 16,583,235 msg/sec moodycamel::ConcurrentQueue, 4,i: 16,514,510 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,377,097 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,728,088 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,482,394 msg/sec moodycamel::ConcurrentQueue, 6,i: 45,505,733 msg/sec moodycamel::ConcurrentQueue, 7,s: 47,368,115 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,674,777 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,256,886 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,455,775 msg/sec pthread_spinlock, 1,s: 29,151,241 msg/sec pthread_spinlock, 1,i: 25,504,485 msg/sec pthread_spinlock, 2,s: 15,549,345 msg/sec pthread_spinlock, 2,i: 17,135,730 msg/sec pthread_spinlock, 3,s: 8,272,784 msg/sec pthread_spinlock, 3,i: 11,973,313 msg/sec pthread_spinlock, 4,s: 6,492,348 msg/sec pthread_spinlock, 4,i: 8,908,179 msg/sec pthread_spinlock, 5,s: 8,702,764 msg/sec pthread_spinlock, 5,i: 9,500,270 msg/sec pthread_spinlock, 6,s: 8,563,657 msg/sec pthread_spinlock, 6,i: 8,547,316 msg/sec pthread_spinlock, 7,s: 7,463,596 msg/sec pthread_spinlock, 7,i: 7,732,304 msg/sec pthread_spinlock, 8,s: 6,634,791 msg/sec pthread_spinlock, 8,i: 6,859,773 msg/sec std::mutex, 1,s: 7,050,647 msg/sec std::mutex, 1,i: 6,098,968 msg/sec std::mutex, 2,s: 5,577,002 msg/sec std::mutex, 2,i: 5,530,882 msg/sec std::mutex, 3,s: 5,104,099 msg/sec std::mutex, 3,i: 5,532,835 msg/sec std::mutex, 4,s: 6,203,701 msg/sec std::mutex, 4,i: 6,224,294 msg/sec std::mutex, 5,s: 6,075,409 msg/sec std::mutex, 5,i: 6,168,567 msg/sec std::mutex, 6,s: 5,828,670 msg/sec std::mutex, 6,i: 5,933,432 msg/sec std::mutex, 7,s: 5,781,159 msg/sec std::mutex, 7,i: 5,810,021 msg/sec std::mutex, 8,s: 5,685,223 msg/sec std::mutex, 8,i: 5,684,626 msg/sec tbb::spin_mutex, 1,s: 37,839,430 msg/sec tbb::spin_mutex, 1,i: 33,143,112 msg/sec tbb::spin_mutex, 2,s: 21,068,149 msg/sec tbb::spin_mutex, 2,i: 18,486,189 msg/sec tbb::spin_mutex, 3,s: 8,517,650 msg/sec tbb::spin_mutex, 3,i: 10,256,168 msg/sec tbb::spin_mutex, 4,s: 3,170,267 msg/sec tbb::spin_mutex, 4,i: 6,321,945 msg/sec tbb::spin_mutex, 5,s: 5,280,141 msg/sec tbb::spin_mutex, 5,i: 5,857,518 msg/sec tbb::spin_mutex, 6,s: 5,319,539 msg/sec tbb::spin_mutex, 6,i: 4,328,477 msg/sec tbb::spin_mutex, 7,s: 4,857,383 msg/sec tbb::spin_mutex, 7,i: 4,328,567 msg/sec tbb::spin_mutex, 8,s: 4,226,233 msg/sec tbb::spin_mutex, 8,i: 4,093,751 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,002,259 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,903,217 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,163,612 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,849,604 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,470,609 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,561,354 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,397,628 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,286,656 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,731,812 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,778,104 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,820,272 msg/sec tbb::concurrent_bounded_queue, 6,i: 9,132,838 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,956,207 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,963,921 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,893,862 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,127,320 msg/sec xenium::michael_scott_queue, 1,s: 9,416,178 msg/sec xenium::michael_scott_queue, 1,i: 9,418,987 msg/sec xenium::michael_scott_queue, 2,s: 8,637,879 msg/sec xenium::michael_scott_queue, 2,i: 8,521,244 msg/sec xenium::michael_scott_queue, 3,s: 7,254,763 msg/sec xenium::michael_scott_queue, 3,i: 7,603,721 msg/sec xenium::michael_scott_queue, 4,s: 6,216,111 msg/sec xenium::michael_scott_queue, 4,i: 6,338,412 msg/sec xenium::michael_scott_queue, 5,s: 6,299,180 msg/sec xenium::michael_scott_queue, 5,i: 6,724,987 msg/sec xenium::michael_scott_queue, 6,s: 6,509,815 msg/sec xenium::michael_scott_queue, 6,i: 6,974,081 msg/sec xenium::michael_scott_queue, 7,s: 6,333,828 msg/sec xenium::michael_scott_queue, 7,i: 6,578,295 msg/sec xenium::michael_scott_queue, 8,s: 5,963,922 msg/sec xenium::michael_scott_queue, 8,i: 6,089,216 msg/sec xenium::ramalhete_queue, 1,s: 32,339,527 msg/sec xenium::ramalhete_queue, 1,i: 33,212,406 msg/sec xenium::ramalhete_queue, 2,s: 24,367,321 msg/sec xenium::ramalhete_queue, 2,i: 24,026,474 msg/sec xenium::ramalhete_queue, 3,s: 29,177,748 msg/sec xenium::ramalhete_queue, 3,i: 28,421,990 msg/sec xenium::ramalhete_queue, 4,s: 33,908,284 msg/sec xenium::ramalhete_queue, 4,i: 33,570,654 msg/sec xenium::ramalhete_queue, 5,s: 32,059,055 msg/sec xenium::ramalhete_queue, 5,i: 38,487,732 msg/sec xenium::ramalhete_queue, 6,s: 34,062,724 msg/sec xenium::ramalhete_queue, 6,i: 38,821,892 msg/sec xenium::ramalhete_queue, 7,s: 35,192,516 msg/sec xenium::ramalhete_queue, 7,i: 41,270,368 msg/sec xenium::ramalhete_queue, 8,s: 35,593,268 msg/sec xenium::ramalhete_queue, 8,i: 43,898,691 msg/sec xenium::vyukov_bounded_queue, 1,s: 121,444,153 msg/sec xenium::vyukov_bounded_queue, 1,i: 72,972,558 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,731,873 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,718,671 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,627,346 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,806,815 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,474,013 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,504,502 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,774,317 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,266,986 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,972,493 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,411,631 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,140,212 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,308,432 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,387,508 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,322,947 msg/sec AtomicQueue, 1,s: 57,948,987 msg/sec AtomicQueue, 1,i: 56,712,325 msg/sec AtomicQueue, 2,s: 12,274,262 msg/sec AtomicQueue, 2,i: 11,735,016 msg/sec AtomicQueue, 3,s: 10,774,652 msg/sec AtomicQueue, 3,i: 10,017,663 msg/sec AtomicQueue, 4,s: 8,149,887 msg/sec AtomicQueue, 4,i: 8,213,646 msg/sec AtomicQueue, 5,s: 8,008,200 msg/sec AtomicQueue, 5,i: 8,092,843 msg/sec AtomicQueue, 6,s: 7,735,037 msg/sec AtomicQueue, 6,i: 7,603,200 msg/sec AtomicQueue, 7,s: 7,097,242 msg/sec AtomicQueue, 7,i: 7,978,031 msg/sec AtomicQueue, 8,s: 6,347,754 msg/sec AtomicQueue, 8,i: 7,474,471 msg/sec AtomicQueueB, 1,s: 45,920,050 msg/sec AtomicQueueB, 1,i: 43,041,845 msg/sec AtomicQueueB, 2,s: 11,764,916 msg/sec AtomicQueueB, 2,i: 11,433,155 msg/sec AtomicQueueB, 3,s: 11,020,046 msg/sec AtomicQueueB, 3,i: 10,170,583 msg/sec AtomicQueueB, 4,s: 8,071,053 msg/sec AtomicQueueB, 4,i: 8,008,584 msg/sec AtomicQueueB, 5,s: 7,592,598 msg/sec AtomicQueueB, 5,i: 7,675,221 msg/sec AtomicQueueB, 6,s: 7,326,411 msg/sec AtomicQueueB, 6,i: 7,527,587 msg/sec AtomicQueueB, 7,s: 6,858,393 msg/sec AtomicQueueB, 7,i: 7,749,259 msg/sec AtomicQueueB, 8,s: 6,279,275 msg/sec AtomicQueueB, 8,i: 7,159,645 msg/sec OptimistAtomicQueue, 1,s: 512,361,030 msg/sec OptimistAtomicQueue, 1,i: 510,281,600 msg/sec OptimistAtomicQueue, 2,s: 32,209,219 msg/sec OptimistAtomicQueue, 2,i: 32,692,817 msg/sec OptimistAtomicQueue, 3,s: 36,628,537 msg/sec OptimistAtomicQueue, 3,i: 37,392,660 msg/sec OptimistAtomicQueue, 4,s: 39,284,266 msg/sec OptimistAtomicQueue, 4,i: 39,405,810 msg/sec OptimistAtomicQueue, 5,s: 41,771,121 msg/sec OptimistAtomicQueue, 5,i: 46,240,820 msg/sec OptimistAtomicQueue, 6,s: 41,941,759 msg/sec OptimistAtomicQueue, 6,i: 49,775,429 msg/sec OptimistAtomicQueue, 7,s: 44,427,482 msg/sec OptimistAtomicQueue, 7,i: 52,094,223 msg/sec OptimistAtomicQueue, 8,s: 46,411,877 msg/sec OptimistAtomicQueue, 8,i: 49,246,335 msg/sec OptimistAtomicQueueB, 1,s: 78,055,984 msg/sec OptimistAtomicQueueB, 1,i: 260,257,123 msg/sec OptimistAtomicQueueB, 2,s: 32,241,194 msg/sec OptimistAtomicQueueB, 2,i: 32,075,517 msg/sec OptimistAtomicQueueB, 3,s: 36,260,568 msg/sec OptimistAtomicQueueB, 3,i: 36,850,082 msg/sec OptimistAtomicQueueB, 4,s: 38,661,638 msg/sec OptimistAtomicQueueB, 4,i: 38,532,630 msg/sec OptimistAtomicQueueB, 5,s: 40,398,198 msg/sec OptimistAtomicQueueB, 5,i: 45,264,843 msg/sec OptimistAtomicQueueB, 6,s: 40,421,516 msg/sec OptimistAtomicQueueB, 6,i: 49,273,890 msg/sec OptimistAtomicQueueB, 7,s: 42,482,675 msg/sec OptimistAtomicQueueB, 7,i: 51,456,032 msg/sec OptimistAtomicQueueB, 8,s: 44,860,723 msg/sec OptimistAtomicQueueB, 8,i: 47,992,125 msg/sec AtomicQueue2, 1,s: 22,831,415 msg/sec AtomicQueue2, 1,i: 22,843,566 msg/sec AtomicQueue2, 2,s: 11,781,786 msg/sec AtomicQueue2, 2,i: 11,571,884 msg/sec AtomicQueue2, 3,s: 9,446,376 msg/sec AtomicQueue2, 3,i: 9,458,042 msg/sec AtomicQueue2, 4,s: 7,993,443 msg/sec AtomicQueue2, 4,i: 7,979,235 msg/sec AtomicQueue2, 5,s: 7,953,265 msg/sec AtomicQueue2, 5,i: 8,033,855 msg/sec AtomicQueue2, 6,s: 7,811,978 msg/sec AtomicQueue2, 6,i: 7,522,854 msg/sec AtomicQueue2, 7,s: 7,159,646 msg/sec AtomicQueue2, 7,i: 7,879,848 msg/sec AtomicQueue2, 8,s: 6,360,632 msg/sec AtomicQueue2, 8,i: 7,348,033 msg/sec AtomicQueueB2, 1,s: 36,383,645 msg/sec AtomicQueueB2, 1,i: 32,604,164 msg/sec AtomicQueueB2, 2,s: 11,475,207 msg/sec AtomicQueueB2, 2,i: 11,104,373 msg/sec AtomicQueueB2, 3,s: 9,514,865 msg/sec AtomicQueueB2, 3,i: 9,634,412 msg/sec AtomicQueueB2, 4,s: 7,901,290 msg/sec AtomicQueueB2, 4,i: 7,923,122 msg/sec AtomicQueueB2, 5,s: 7,508,802 msg/sec AtomicQueueB2, 5,i: 7,699,092 msg/sec AtomicQueueB2, 6,s: 7,362,914 msg/sec AtomicQueueB2, 6,i: 7,458,762 msg/sec AtomicQueueB2, 7,s: 6,910,312 msg/sec AtomicQueueB2, 7,i: 7,708,802 msg/sec AtomicQueueB2, 8,s: 6,300,377 msg/sec AtomicQueueB2, 8,i: 7,028,531 msg/sec OptimistAtomicQueue2, 1,s: 536,502,633 msg/sec OptimistAtomicQueue2, 1,i: 29,501,897 msg/sec OptimistAtomicQueue2, 2,s: 26,334,584 msg/sec OptimistAtomicQueue2, 2,i: 24,291,364 msg/sec OptimistAtomicQueue2, 3,s: 30,316,236 msg/sec OptimistAtomicQueue2, 3,i: 30,000,730 msg/sec OptimistAtomicQueue2, 4,s: 33,210,677 msg/sec OptimistAtomicQueue2, 4,i: 33,160,751 msg/sec OptimistAtomicQueue2, 5,s: 37,169,949 msg/sec OptimistAtomicQueue2, 5,i: 40,716,389 msg/sec OptimistAtomicQueue2, 6,s: 40,496,120 msg/sec OptimistAtomicQueue2, 6,i: 49,148,437 msg/sec OptimistAtomicQueue2, 7,s: 43,273,159 msg/sec OptimistAtomicQueue2, 7,i: 48,182,172 msg/sec OptimistAtomicQueue2, 8,s: 43,806,282 msg/sec OptimistAtomicQueue2, 8,i: 48,939,211 msg/sec OptimistAtomicQueueB2, 1,s: 77,754,180 msg/sec OptimistAtomicQueueB2, 1,i: 33,874,001 msg/sec OptimistAtomicQueueB2, 2,s: 26,826,707 msg/sec OptimistAtomicQueueB2, 2,i: 23,189,384 msg/sec OptimistAtomicQueueB2, 3,s: 29,742,939 msg/sec OptimistAtomicQueueB2, 3,i: 28,999,087 msg/sec OptimistAtomicQueueB2, 4,s: 33,295,591 msg/sec OptimistAtomicQueueB2, 4,i: 32,947,521 msg/sec OptimistAtomicQueueB2, 5,s: 34,702,738 msg/sec OptimistAtomicQueueB2, 5,i: 38,873,792 msg/sec OptimistAtomicQueueB2, 6,s: 37,034,766 msg/sec OptimistAtomicQueueB2, 6,i: 42,481,668 msg/sec OptimistAtomicQueueB2, 7,s: 40,089,588 msg/sec OptimistAtomicQueueB2, 7,i: 45,296,793 msg/sec OptimistAtomicQueueB2, 8,s: 42,354,873 msg/sec OptimistAtomicQueueB2, 8,i: 45,157,462 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000133 sec/round-trip boost::lockfree::queue: 0.000000313 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000122 sec/round-trip moodycamel::ConcurrentQueue: 0.000000238 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000462 sec/round-trip tbb::spin_mutex: 0.000000254 sec/round-trip tbb::concurrent_bounded_queue: 0.000000299 sec/round-trip xenium::michael_scott_queue: 0.000000366 sec/round-trip xenium::ramalhete_queue: 0.000000271 sec/round-trip xenium::vyukov_bounded_queue: 0.000000221 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000151 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000177 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip [363] 2m:14s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 71,086,095 msg/sec boost::lockfree::spsc_queue, 1,i: 71,246,013 msg/sec boost::lockfree::queue, 1,s: 6,872,100 msg/sec boost::lockfree::queue, 1,i: 6,908,595 msg/sec boost::lockfree::queue, 2,s: 7,651,344 msg/sec boost::lockfree::queue, 2,i: 7,462,969 msg/sec boost::lockfree::queue, 3,s: 7,417,474 msg/sec boost::lockfree::queue, 3,i: 7,616,885 msg/sec boost::lockfree::queue, 4,s: 6,420,764 msg/sec boost::lockfree::queue, 4,i: 6,789,362 msg/sec boost::lockfree::queue, 5,s: 6,414,847 msg/sec boost::lockfree::queue, 5,i: 6,512,192 msg/sec boost::lockfree::queue, 6,s: 5,997,258 msg/sec boost::lockfree::queue, 6,i: 6,175,097 msg/sec boost::lockfree::queue, 7,s: 5,978,454 msg/sec boost::lockfree::queue, 7,i: 6,035,319 msg/sec boost::lockfree::queue, 8,s: 5,439,939 msg/sec boost::lockfree::queue, 8,i: 5,560,524 msg/sec moodycamel::ReaderWriterQueue, 1,s: 522,601,604 msg/sec moodycamel::ReaderWriterQueue, 1,i: 109,586,525 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,545,370 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,684,436 msg/sec moodycamel::ConcurrentQueue, 2,s: 15,055,422 msg/sec moodycamel::ConcurrentQueue, 2,i: 15,213,960 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,012,911 msg/sec moodycamel::ConcurrentQueue, 3,i: 16,531,343 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,428,277 msg/sec moodycamel::ConcurrentQueue, 4,i: 43,048,683 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,309,884 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,347,300 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,331,201 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,811,760 msg/sec moodycamel::ConcurrentQueue, 7,s: 46,998,349 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,921,925 msg/sec moodycamel::ConcurrentQueue, 8,s: 18,256,676 msg/sec moodycamel::ConcurrentQueue, 8,i: 20,992,508 msg/sec pthread_spinlock, 1,s: 29,005,279 msg/sec pthread_spinlock, 1,i: 25,418,563 msg/sec pthread_spinlock, 2,s: 15,904,652 msg/sec pthread_spinlock, 2,i: 16,888,275 msg/sec pthread_spinlock, 3,s: 8,368,875 msg/sec pthread_spinlock, 3,i: 12,124,892 msg/sec pthread_spinlock, 4,s: 6,492,018 msg/sec pthread_spinlock, 4,i: 9,044,396 msg/sec pthread_spinlock, 5,s: 8,690,487 msg/sec pthread_spinlock, 5,i: 9,047,528 msg/sec pthread_spinlock, 6,s: 8,490,924 msg/sec pthread_spinlock, 6,i: 8,676,989 msg/sec pthread_spinlock, 7,s: 7,619,798 msg/sec pthread_spinlock, 7,i: 7,740,849 msg/sec pthread_spinlock, 8,s: 6,947,147 msg/sec pthread_spinlock, 8,i: 7,272,393 msg/sec std::mutex, 1,s: 7,497,227 msg/sec std::mutex, 1,i: 7,734,537 msg/sec std::mutex, 2,s: 5,496,865 msg/sec std::mutex, 2,i: 5,633,407 msg/sec std::mutex, 3,s: 4,966,039 msg/sec std::mutex, 3,i: 6,262,407 msg/sec std::mutex, 4,s: 6,358,504 msg/sec std::mutex, 4,i: 6,382,309 msg/sec std::mutex, 5,s: 6,264,547 msg/sec std::mutex, 5,i: 6,105,207 msg/sec std::mutex, 6,s: 5,720,133 msg/sec std::mutex, 6,i: 6,139,082 msg/sec std::mutex, 7,s: 5,934,283 msg/sec std::mutex, 7,i: 5,939,260 msg/sec std::mutex, 8,s: 5,768,463 msg/sec std::mutex, 8,i: 5,784,584 msg/sec tbb::spin_mutex, 1,s: 38,156,286 msg/sec tbb::spin_mutex, 1,i: 33,413,202 msg/sec tbb::spin_mutex, 2,s: 21,131,231 msg/sec tbb::spin_mutex, 2,i: 18,418,662 msg/sec tbb::spin_mutex, 3,s: 8,112,057 msg/sec tbb::spin_mutex, 3,i: 10,095,863 msg/sec tbb::spin_mutex, 4,s: 3,199,786 msg/sec tbb::spin_mutex, 4,i: 6,295,747 msg/sec tbb::spin_mutex, 5,s: 5,360,998 msg/sec tbb::spin_mutex, 5,i: 5,630,445 msg/sec tbb::spin_mutex, 6,s: 5,337,420 msg/sec tbb::spin_mutex, 6,i: 4,419,711 msg/sec tbb::spin_mutex, 7,s: 4,802,331 msg/sec tbb::spin_mutex, 7,i: 4,367,892 msg/sec tbb::spin_mutex, 8,s: 4,242,963 msg/sec tbb::spin_mutex, 8,i: 4,084,528 msg/sec tbb::concurrent_bounded_queue, 1,s: 13,194,371 msg/sec tbb::concurrent_bounded_queue, 1,i: 11,132,298 msg/sec tbb::concurrent_bounded_queue, 2,s: 12,570,940 msg/sec tbb::concurrent_bounded_queue, 2,i: 12,933,189 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,224,235 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,280,391 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,087,194 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,238,329 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,593,725 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,369,328 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,680,492 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,759,906 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,675,993 msg/sec tbb::concurrent_bounded_queue, 7,i: 8,140,254 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,716,052 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,953,333 msg/sec xenium::michael_scott_queue, 1,s: 10,128,388 msg/sec xenium::michael_scott_queue, 1,i: 9,830,637 msg/sec xenium::michael_scott_queue, 2,s: 8,404,847 msg/sec xenium::michael_scott_queue, 2,i: 8,421,095 msg/sec xenium::michael_scott_queue, 3,s: 7,124,178 msg/sec xenium::michael_scott_queue, 3,i: 7,512,424 msg/sec xenium::michael_scott_queue, 4,s: 6,368,028 msg/sec xenium::michael_scott_queue, 4,i: 6,353,888 msg/sec xenium::michael_scott_queue, 5,s: 6,286,060 msg/sec xenium::michael_scott_queue, 5,i: 6,676,912 msg/sec xenium::michael_scott_queue, 6,s: 6,477,609 msg/sec xenium::michael_scott_queue, 6,i: 6,701,812 msg/sec xenium::michael_scott_queue, 7,s: 6,300,308 msg/sec xenium::michael_scott_queue, 7,i: 6,429,761 msg/sec xenium::michael_scott_queue, 8,s: 5,991,974 msg/sec xenium::michael_scott_queue, 8,i: 6,079,911 msg/sec xenium::ramalhete_queue, 1,s: 31,476,456 msg/sec xenium::ramalhete_queue, 1,i: 32,192,558 msg/sec xenium::ramalhete_queue, 2,s: 23,538,332 msg/sec xenium::ramalhete_queue, 2,i: 23,312,462 msg/sec xenium::ramalhete_queue, 3,s: 29,059,645 msg/sec xenium::ramalhete_queue, 3,i: 28,423,541 msg/sec xenium::ramalhete_queue, 4,s: 33,851,347 msg/sec xenium::ramalhete_queue, 4,i: 33,451,673 msg/sec xenium::ramalhete_queue, 5,s: 32,142,539 msg/sec xenium::ramalhete_queue, 5,i: 35,999,878 msg/sec xenium::ramalhete_queue, 6,s: 33,935,934 msg/sec xenium::ramalhete_queue, 6,i: 39,706,248 msg/sec xenium::ramalhete_queue, 7,s: 35,064,120 msg/sec xenium::ramalhete_queue, 7,i: 40,953,342 msg/sec xenium::ramalhete_queue, 8,s: 35,584,985 msg/sec xenium::ramalhete_queue, 8,i: 43,946,245 msg/sec xenium::vyukov_bounded_queue, 1,s: 119,582,330 msg/sec xenium::vyukov_bounded_queue, 1,i: 99,818,654 msg/sec xenium::vyukov_bounded_queue, 2,s: 27,711,215 msg/sec xenium::vyukov_bounded_queue, 2,i: 28,358,798 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,622,122 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,759,715 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,552,340 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,391,332 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,465,876 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,333,133 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,988,750 msg/sec xenium::vyukov_bounded_queue, 6,i: 11,268,618 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,195,916 msg/sec xenium::vyukov_bounded_queue, 7,i: 10,310,396 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,429,603 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,315,325 msg/sec AtomicQueue, 1,s: 59,691,165 msg/sec AtomicQueue, 1,i: 56,290,191 msg/sec AtomicQueue, 2,s: 12,297,275 msg/sec AtomicQueue, 2,i: 11,781,191 msg/sec AtomicQueue, 3,s: 10,780,558 msg/sec AtomicQueue, 3,i: 9,960,399 msg/sec AtomicQueue, 4,s: 8,190,380 msg/sec AtomicQueue, 4,i: 8,141,166 msg/sec AtomicQueue, 5,s: 8,047,978 msg/sec AtomicQueue, 5,i: 7,977,904 msg/sec AtomicQueue, 6,s: 7,691,485 msg/sec AtomicQueue, 6,i: 7,623,769 msg/sec AtomicQueue, 7,s: 7,092,129 msg/sec AtomicQueue, 7,i: 7,930,322 msg/sec AtomicQueue, 8,s: 6,320,184 msg/sec AtomicQueue, 8,i: 7,325,195 msg/sec AtomicQueueB, 1,s: 43,835,226 msg/sec AtomicQueueB, 1,i: 43,775,084 msg/sec AtomicQueueB, 2,s: 11,811,417 msg/sec AtomicQueueB, 2,i: 11,479,323 msg/sec AtomicQueueB, 3,s: 10,884,494 msg/sec AtomicQueueB, 3,i: 10,223,911 msg/sec AtomicQueueB, 4,s: 7,967,443 msg/sec AtomicQueueB, 4,i: 8,076,339 msg/sec AtomicQueueB, 5,s: 7,708,362 msg/sec AtomicQueueB, 5,i: 7,831,201 msg/sec AtomicQueueB, 6,s: 7,354,409 msg/sec AtomicQueueB, 6,i: 7,576,027 msg/sec AtomicQueueB, 7,s: 6,854,193 msg/sec AtomicQueueB, 7,i: 7,749,040 msg/sec AtomicQueueB, 8,s: 6,229,896 msg/sec AtomicQueueB, 8,i: 7,199,602 msg/sec OptimistAtomicQueue, 1,s: 706,793,701 msg/sec OptimistAtomicQueue, 1,i: 687,462,877 msg/sec OptimistAtomicQueue, 2,s: 32,654,592 msg/sec OptimistAtomicQueue, 2,i: 32,079,908 msg/sec OptimistAtomicQueue, 3,s: 36,610,062 msg/sec OptimistAtomicQueue, 3,i: 37,312,448 msg/sec OptimistAtomicQueue, 4,s: 39,269,328 msg/sec OptimistAtomicQueue, 4,i: 39,394,620 msg/sec OptimistAtomicQueue, 5,s: 42,311,725 msg/sec OptimistAtomicQueue, 5,i: 47,333,570 msg/sec OptimistAtomicQueue, 6,s: 42,340,394 msg/sec OptimistAtomicQueue, 6,i: 49,741,695 msg/sec OptimistAtomicQueue, 7,s: 45,192,365 msg/sec OptimistAtomicQueue, 7,i: 49,372,026 msg/sec OptimistAtomicQueue, 8,s: 46,394,227 msg/sec OptimistAtomicQueue, 8,i: 49,836,812 msg/sec OptimistAtomicQueueB, 1,s: 100,799,846 msg/sec OptimistAtomicQueueB, 1,i: 77,746,287 msg/sec OptimistAtomicQueueB, 2,s: 32,201,287 msg/sec OptimistAtomicQueueB, 2,i: 31,723,523 msg/sec OptimistAtomicQueueB, 3,s: 36,099,758 msg/sec OptimistAtomicQueueB, 3,i: 36,735,247 msg/sec OptimistAtomicQueueB, 4,s: 38,617,919 msg/sec OptimistAtomicQueueB, 4,i: 38,686,652 msg/sec OptimistAtomicQueueB, 5,s: 41,147,889 msg/sec OptimistAtomicQueueB, 5,i: 45,398,434 msg/sec OptimistAtomicQueueB, 6,s: 40,821,273 msg/sec OptimistAtomicQueueB, 6,i: 49,076,685 msg/sec OptimistAtomicQueueB, 7,s: 42,819,515 msg/sec OptimistAtomicQueueB, 7,i: 51,383,632 msg/sec OptimistAtomicQueueB, 8,s: 44,193,265 msg/sec OptimistAtomicQueueB, 8,i: 48,324,462 msg/sec AtomicQueue2, 1,s: 23,373,710 msg/sec AtomicQueue2, 1,i: 23,395,296 msg/sec AtomicQueue2, 2,s: 11,688,042 msg/sec AtomicQueue2, 2,i: 11,571,484 msg/sec AtomicQueue2, 3,s: 9,388,251 msg/sec AtomicQueue2, 3,i: 9,412,247 msg/sec AtomicQueue2, 4,s: 8,027,916 msg/sec AtomicQueue2, 4,i: 8,015,642 msg/sec AtomicQueue2, 5,s: 7,903,478 msg/sec AtomicQueue2, 5,i: 8,044,860 msg/sec AtomicQueue2, 6,s: 7,844,750 msg/sec AtomicQueue2, 6,i: 7,532,264 msg/sec AtomicQueue2, 7,s: 7,089,979 msg/sec AtomicQueue2, 7,i: 7,892,919 msg/sec AtomicQueue2, 8,s: 6,389,721 msg/sec AtomicQueue2, 8,i: 7,406,435 msg/sec AtomicQueueB2, 1,s: 35,980,764 msg/sec AtomicQueueB2, 1,i: 32,626,501 msg/sec AtomicQueueB2, 2,s: 11,379,847 msg/sec AtomicQueueB2, 2,i: 11,188,862 msg/sec AtomicQueueB2, 3,s: 9,589,437 msg/sec AtomicQueueB2, 3,i: 9,616,845 msg/sec AtomicQueueB2, 4,s: 7,958,778 msg/sec AtomicQueueB2, 4,i: 7,800,976 msg/sec AtomicQueueB2, 5,s: 7,473,211 msg/sec AtomicQueueB2, 5,i: 7,730,197 msg/sec AtomicQueueB2, 6,s: 7,273,611 msg/sec AtomicQueueB2, 6,i: 7,436,967 msg/sec AtomicQueueB2, 7,s: 6,854,969 msg/sec AtomicQueueB2, 7,i: 7,696,293 msg/sec AtomicQueueB2, 8,s: 6,246,084 msg/sec AtomicQueueB2, 8,i: 7,083,029 msg/sec OptimistAtomicQueue2, 1,s: 32,747,865 msg/sec OptimistAtomicQueue2, 1,i: 30,699,871 msg/sec OptimistAtomicQueue2, 2,s: 29,099,701 msg/sec OptimistAtomicQueue2, 2,i: 24,800,976 msg/sec OptimistAtomicQueue2, 3,s: 29,929,461 msg/sec OptimistAtomicQueue2, 3,i: 30,430,692 msg/sec OptimistAtomicQueue2, 4,s: 33,138,565 msg/sec OptimistAtomicQueue2, 4,i: 33,702,233 msg/sec OptimistAtomicQueue2, 5,s: 37,770,116 msg/sec OptimistAtomicQueue2, 5,i: 42,364,303 msg/sec OptimistAtomicQueue2, 6,s: 40,196,146 msg/sec OptimistAtomicQueue2, 6,i: 49,086,010 msg/sec OptimistAtomicQueue2, 7,s: 42,843,627 msg/sec OptimistAtomicQueue2, 7,i: 48,252,362 msg/sec OptimistAtomicQueue2, 8,s: 44,483,754 msg/sec OptimistAtomicQueue2, 8,i: 48,464,292 msg/sec OptimistAtomicQueueB2, 1,s: 78,698,097 msg/sec OptimistAtomicQueueB2, 1,i: 33,950,262 msg/sec OptimistAtomicQueueB2, 2,s: 28,859,286 msg/sec OptimistAtomicQueueB2, 2,i: 24,393,301 msg/sec OptimistAtomicQueueB2, 3,s: 29,671,701 msg/sec OptimistAtomicQueueB2, 3,i: 29,123,284 msg/sec OptimistAtomicQueueB2, 4,s: 32,856,003 msg/sec OptimistAtomicQueueB2, 4,i: 33,021,804 msg/sec OptimistAtomicQueueB2, 5,s: 34,644,291 msg/sec OptimistAtomicQueueB2, 5,i: 39,456,251 msg/sec OptimistAtomicQueueB2, 6,s: 37,355,040 msg/sec OptimistAtomicQueueB2, 6,i: 42,273,635 msg/sec OptimistAtomicQueueB2, 7,s: 40,729,467 msg/sec OptimistAtomicQueueB2, 7,i: 43,270,701 msg/sec OptimistAtomicQueueB2, 8,s: 42,036,829 msg/sec OptimistAtomicQueueB2, 8,i: 45,376,038 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000316 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000120 sec/round-trip moodycamel::ConcurrentQueue: 0.000000213 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000288 sec/round-trip tbb::concurrent_bounded_queue: 0.000000289 sec/round-trip xenium::michael_scott_queue: 0.000000376 sec/round-trip xenium::ramalhete_queue: 0.000000264 sec/round-trip xenium::vyukov_bounded_queue: 0.000000218 sec/round-trip AtomicQueue: 0.000000166 sec/round-trip AtomicQueueB: 0.000000181 sec/round-trip OptimistAtomicQueue: 0.000000152 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000179 sec/round-trip OptimistAtomicQueue2: 0.000000173 sec/round-trip OptimistAtomicQueueB2: 0.000000151 sec/round-trip [364] 0m:55s to go... ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 67,750,219 msg/sec boost::lockfree::spsc_queue, 1,i: 67,069,437 msg/sec boost::lockfree::queue, 1,s: 6,966,803 msg/sec boost::lockfree::queue, 1,i: 6,879,743 msg/sec boost::lockfree::queue, 2,s: 7,440,809 msg/sec boost::lockfree::queue, 2,i: 7,500,720 msg/sec boost::lockfree::queue, 3,s: 7,382,176 msg/sec boost::lockfree::queue, 3,i: 7,586,248 msg/sec boost::lockfree::queue, 4,s: 6,425,566 msg/sec boost::lockfree::queue, 4,i: 6,761,397 msg/sec boost::lockfree::queue, 5,s: 6,418,001 msg/sec boost::lockfree::queue, 5,i: 6,422,572 msg/sec boost::lockfree::queue, 6,s: 5,978,465 msg/sec boost::lockfree::queue, 6,i: 6,106,882 msg/sec boost::lockfree::queue, 7,s: 6,034,946 msg/sec boost::lockfree::queue, 7,i: 6,046,371 msg/sec boost::lockfree::queue, 8,s: 5,469,832 msg/sec boost::lockfree::queue, 8,i: 5,616,984 msg/sec moodycamel::ReaderWriterQueue, 1,s: 220,583,349 msg/sec moodycamel::ReaderWriterQueue, 1,i: 90,160,858 msg/sec moodycamel::ConcurrentQueue, 1,s: 24,867,725 msg/sec moodycamel::ConcurrentQueue, 1,i: 25,841,691 msg/sec moodycamel::ConcurrentQueue, 2,s: 16,537,222 msg/sec moodycamel::ConcurrentQueue, 2,i: 16,753,426 msg/sec moodycamel::ConcurrentQueue, 3,s: 16,388,884 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,015,154 msg/sec moodycamel::ConcurrentQueue, 4,s: 17,008,839 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,066,791 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,400,454 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,279,956 msg/sec moodycamel::ConcurrentQueue, 6,s: 17,801,874 msg/sec moodycamel::ConcurrentQueue, 6,i: 32,671,804 msg/sec moodycamel::ConcurrentQueue, 7,s: 18,095,775 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,241,394 msg/sec moodycamel::ConcurrentQueue, 8,s: 51,686,956 msg/sec moodycamel::ConcurrentQueue, 8,i: 21,428,354 msg/sec pthread_spinlock, 1,s: 28,916,129 msg/sec pthread_spinlock, 1,i: 29,164,348 msg/sec pthread_spinlock, 2,s: 15,434,870 msg/sec pthread_spinlock, 2,i: 16,898,804 msg/sec pthread_spinlock, 3,s: 8,401,539 msg/sec pthread_spinlock, 3,i: 12,023,865 msg/sec pthread_spinlock, 4,s: 6,520,068 msg/sec pthread_spinlock, 4,i: 8,851,234 msg/sec pthread_spinlock, 5,s: 8,717,120 msg/sec pthread_spinlock, 5,i: 9,302,070 msg/sec pthread_spinlock, 6,s: 8,286,477 msg/sec pthread_spinlock, 6,i: 8,997,813 msg/sec pthread_spinlock, 7,s: 7,523,101 msg/sec pthread_spinlock, 7,i: 7,652,072 msg/sec pthread_spinlock, 8,s: 6,653,500 msg/sec pthread_spinlock, 8,i: 6,913,743 msg/sec std::mutex, 1,s: 5,983,935 msg/sec std::mutex, 1,i: 7,624,797 msg/sec std::mutex, 2,s: 5,944,659 msg/sec std::mutex, 2,i: 5,994,253 msg/sec std::mutex, 3,s: 6,128,789 msg/sec std::mutex, 3,i: 6,173,869 msg/sec std::mutex, 4,s: 6,232,073 msg/sec std::mutex, 4,i: 6,254,042 msg/sec std::mutex, 5,s: 6,073,179 msg/sec std::mutex, 5,i: 6,245,181 msg/sec std::mutex, 6,s: 5,987,020 msg/sec std::mutex, 6,i: 5,989,741 msg/sec std::mutex, 7,s: 5,868,621 msg/sec std::mutex, 7,i: 5,884,516 msg/sec std::mutex, 8,s: 5,712,825 msg/sec std::mutex, 8,i: 5,688,689 msg/sec tbb::spin_mutex, 1,s: 37,516,211 msg/sec tbb::spin_mutex, 1,i: 37,839,260 msg/sec tbb::spin_mutex, 2,s: 21,226,067 msg/sec tbb::spin_mutex, 2,i: 18,397,950 msg/sec tbb::spin_mutex, 3,s: 8,225,024 msg/sec tbb::spin_mutex, 3,i: 10,358,365 msg/sec tbb::spin_mutex, 4,s: 3,196,759 msg/sec tbb::spin_mutex, 4,i: 6,273,178 msg/sec tbb::spin_mutex, 5,s: 5,529,784 msg/sec tbb::spin_mutex, 5,i: 5,811,568 msg/sec tbb::spin_mutex, 6,s: 5,238,600 msg/sec tbb::spin_mutex, 6,i: 4,394,621 msg/sec tbb::spin_mutex, 7,s: 4,849,478 msg/sec tbb::spin_mutex, 7,i: 4,342,243 msg/sec tbb::spin_mutex, 8,s: 4,249,879 msg/sec tbb::spin_mutex, 8,i: 4,087,261 msg/sec tbb::concurrent_bounded_queue, 1,s: 12,174,015 msg/sec tbb::concurrent_bounded_queue, 1,i: 12,814,895 msg/sec tbb::concurrent_bounded_queue, 2,s: 13,338,373 msg/sec tbb::concurrent_bounded_queue, 2,i: 13,343,262 msg/sec tbb::concurrent_bounded_queue, 3,s: 11,740,032 msg/sec tbb::concurrent_bounded_queue, 3,i: 11,618,788 msg/sec tbb::concurrent_bounded_queue, 4,s: 10,584,087 msg/sec tbb::concurrent_bounded_queue, 4,i: 10,567,683 msg/sec tbb::concurrent_bounded_queue, 5,s: 9,848,623 msg/sec tbb::concurrent_bounded_queue, 5,i: 9,583,791 msg/sec tbb::concurrent_bounded_queue, 6,s: 8,858,010 msg/sec tbb::concurrent_bounded_queue, 6,i: 8,738,108 msg/sec tbb::concurrent_bounded_queue, 7,s: 7,878,452 msg/sec tbb::concurrent_bounded_queue, 7,i: 7,805,878 msg/sec tbb::concurrent_bounded_queue, 8,s: 6,784,795 msg/sec tbb::concurrent_bounded_queue, 8,i: 7,453,051 msg/sec xenium::michael_scott_queue, 1,s: 9,576,072 msg/sec xenium::michael_scott_queue, 1,i: 9,598,514 msg/sec xenium::michael_scott_queue, 2,s: 8,430,988 msg/sec xenium::michael_scott_queue, 2,i: 8,505,180 msg/sec xenium::michael_scott_queue, 3,s: 7,224,811 msg/sec xenium::michael_scott_queue, 3,i: 7,544,054 msg/sec xenium::michael_scott_queue, 4,s: 6,355,479 msg/sec xenium::michael_scott_queue, 4,i: 6,331,536 msg/sec xenium::michael_scott_queue, 5,s: 6,304,097 msg/sec xenium::michael_scott_queue, 5,i: 6,578,355 msg/sec xenium::michael_scott_queue, 6,s: 6,567,007 msg/sec xenium::michael_scott_queue, 6,i: 7,005,447 msg/sec xenium::michael_scott_queue, 7,s: 6,338,427 msg/sec xenium::michael_scott_queue, 7,i: 6,480,186 msg/sec xenium::michael_scott_queue, 8,s: 5,987,458 msg/sec xenium::michael_scott_queue, 8,i: 6,109,508 msg/sec xenium::ramalhete_queue, 1,s: 30,695,299 msg/sec xenium::ramalhete_queue, 1,i: 30,429,841 msg/sec xenium::ramalhete_queue, 2,s: 23,629,518 msg/sec xenium::ramalhete_queue, 2,i: 23,298,658 msg/sec xenium::ramalhete_queue, 3,s: 29,168,209 msg/sec xenium::ramalhete_queue, 3,i: 28,426,677 msg/sec xenium::ramalhete_queue, 4,s: 33,860,313 msg/sec xenium::ramalhete_queue, 4,i: 33,449,319 msg/sec xenium::ramalhete_queue, 5,s: 32,250,296 msg/sec xenium::ramalhete_queue, 5,i: 38,309,923 msg/sec xenium::ramalhete_queue, 6,s: 34,041,887 msg/sec xenium::ramalhete_queue, 6,i: 38,926,660 msg/sec xenium::ramalhete_queue, 7,s: 35,216,282 msg/sec xenium::ramalhete_queue, 7,i: 41,625,337 msg/sec xenium::ramalhete_queue, 8,s: 35,529,757 msg/sec xenium::ramalhete_queue, 8,i: 43,724,726 msg/sec xenium::vyukov_bounded_queue, 1,s: 120,202,659 msg/sec xenium::vyukov_bounded_queue, 1,i: 65,366,864 msg/sec xenium::vyukov_bounded_queue, 2,s: 18,076,523 msg/sec xenium::vyukov_bounded_queue, 2,i: 24,605,341 msg/sec xenium::vyukov_bounded_queue, 3,s: 15,609,573 msg/sec xenium::vyukov_bounded_queue, 3,i: 15,788,654 msg/sec xenium::vyukov_bounded_queue, 4,s: 12,511,864 msg/sec xenium::vyukov_bounded_queue, 4,i: 12,142,380 msg/sec xenium::vyukov_bounded_queue, 5,s: 10,894,446 msg/sec xenium::vyukov_bounded_queue, 5,i: 11,304,924 msg/sec xenium::vyukov_bounded_queue, 6,s: 9,958,735 msg/sec xenium::vyukov_bounded_queue, 6,i: 12,489,665 msg/sec xenium::vyukov_bounded_queue, 7,s: 9,269,627 msg/sec xenium::vyukov_bounded_queue, 7,i: 9,921,103 msg/sec xenium::vyukov_bounded_queue, 8,s: 8,440,503 msg/sec xenium::vyukov_bounded_queue, 8,i: 8,333,989 msg/sec AtomicQueue, 1,s: 63,859,192 msg/sec AtomicQueue, 1,i: 56,425,247 msg/sec AtomicQueue, 2,s: 12,288,265 msg/sec AtomicQueue, 2,i: 11,716,583 msg/sec AtomicQueue, 3,s: 10,777,343 msg/sec AtomicQueue, 3,i: 9,901,244 msg/sec AtomicQueue, 4,s: 8,189,508 msg/sec AtomicQueue, 4,i: 8,176,190 msg/sec AtomicQueue, 5,s: 8,030,159 msg/sec AtomicQueue, 5,i: 8,104,078 msg/sec AtomicQueue, 6,s: 7,901,632 msg/sec AtomicQueue, 6,i: 7,603,624 msg/sec AtomicQueue, 7,s: 7,085,659 msg/sec AtomicQueue, 7,i: 8,002,306 msg/sec AtomicQueue, 8,s: 6,356,669 msg/sec AtomicQueue, 8,i: 7,356,506 msg/sec AtomicQueueB, 1,s: 43,802,597 msg/sec AtomicQueueB, 1,i: 43,012,794 msg/sec AtomicQueueB, 2,s: 11,832,751 msg/sec AtomicQueueB, 2,i: 11,482,966 msg/sec AtomicQueueB, 3,s: 10,992,771 msg/sec AtomicQueueB, 3,i: 10,206,933 msg/sec AtomicQueueB, 4,s: 8,055,047 msg/sec AtomicQueueB, 4,i: 8,069,695 msg/sec AtomicQueueB, 5,s: 7,584,213 msg/sec AtomicQueueB, 5,i: 7,832,566 msg/sec AtomicQueueB, 6,s: 7,380,423 msg/sec AtomicQueueB, 6,i: 7,523,578 msg/sec AtomicQueueB, 7,s: 6,918,455 msg/sec AtomicQueueB, 7,i: 7,659,068 msg/sec AtomicQueueB, 8,s: 6,215,148 msg/sec AtomicQueueB, 8,i: 7,150,175 msg/sec OptimistAtomicQueue, 1,s: 740,703,979 msg/sec OptimistAtomicQueue, 1,i: 521,977,061 msg/sec OptimistAtomicQueue, 2,s: 32,140,929 msg/sec OptimistAtomicQueue, 2,i: 32,064,087 msg/sec OptimistAtomicQueue, 3,s: 36,643,805 msg/sec OptimistAtomicQueue, 3,i: 37,302,186 msg/sec OptimistAtomicQueue, 4,s: 39,301,817 msg/sec OptimistAtomicQueue, 4,i: 39,390,436 msg/sec OptimistAtomicQueue, 5,s: 42,408,892 msg/sec OptimistAtomicQueue, 5,i: 47,406,126 msg/sec OptimistAtomicQueue, 6,s: 42,026,041 msg/sec OptimistAtomicQueue, 6,i: 50,423,032 msg/sec OptimistAtomicQueue, 7,s: 45,319,743 msg/sec OptimistAtomicQueue, 7,i: 52,052,661 msg/sec OptimistAtomicQueue, 8,s: 46,487,428 msg/sec OptimistAtomicQueue, 8,i: 49,661,132 msg/sec OptimistAtomicQueueB, 1,s: 157,826,725 msg/sec OptimistAtomicQueueB, 1,i: 76,419,887 msg/sec OptimistAtomicQueueB, 2,s: 32,216,863 msg/sec OptimistAtomicQueueB, 2,i: 32,177,292 msg/sec OptimistAtomicQueueB, 3,s: 36,222,876 msg/sec OptimistAtomicQueueB, 3,i: 36,842,492 msg/sec OptimistAtomicQueueB, 4,s: 38,664,626 msg/sec OptimistAtomicQueueB, 4,i: 38,456,194 msg/sec OptimistAtomicQueueB, 5,s: 40,921,117 msg/sec OptimistAtomicQueueB, 5,i: 46,031,864 msg/sec OptimistAtomicQueueB, 6,s: 41,269,756 msg/sec OptimistAtomicQueueB, 6,i: 49,174,003 msg/sec OptimistAtomicQueueB, 7,s: 42,189,840 msg/sec OptimistAtomicQueueB, 7,i: 48,331,751 msg/sec OptimistAtomicQueueB, 8,s: 44,365,969 msg/sec OptimistAtomicQueueB, 8,i: 48,007,506 msg/sec AtomicQueue2, 1,s: 23,237,665 msg/sec AtomicQueue2, 1,i: 22,849,953 msg/sec AtomicQueue2, 2,s: 11,772,612 msg/sec AtomicQueue2, 2,i: 11,415,076 msg/sec AtomicQueue2, 3,s: 9,345,259 msg/sec AtomicQueue2, 3,i: 9,409,234 msg/sec AtomicQueue2, 4,s: 8,007,153 msg/sec AtomicQueue2, 4,i: 8,083,426 msg/sec AtomicQueue2, 5,s: 7,905,325 msg/sec AtomicQueue2, 5,i: 7,982,366 msg/sec AtomicQueue2, 6,s: 7,760,030 msg/sec AtomicQueue2, 6,i: 7,550,646 msg/sec AtomicQueue2, 7,s: 7,138,190 msg/sec AtomicQueue2, 7,i: 7,919,740 msg/sec AtomicQueue2, 8,s: 6,390,222 msg/sec AtomicQueue2, 8,i: 7,362,105 msg/sec AtomicQueueB2, 1,s: 36,394,553 msg/sec AtomicQueueB2, 1,i: 36,207,023 msg/sec AtomicQueueB2, 2,s: 11,414,344 msg/sec AtomicQueueB2, 2,i: 11,061,121 msg/sec AtomicQueueB2, 3,s: 9,647,766 msg/sec AtomicQueueB2, 3,i: 9,526,151 msg/sec AtomicQueueB2, 4,s: 7,943,704 msg/sec AtomicQueueB2, 4,i: 7,826,472 msg/sec AtomicQueueB2, 5,s: 7,462,971 msg/sec AtomicQueueB2, 5,i: 7,745,790 msg/sec AtomicQueueB2, 6,s: 7,295,837 msg/sec AtomicQueueB2, 6,i: 7,446,787 msg/sec AtomicQueueB2, 7,s: 6,830,780 msg/sec AtomicQueueB2, 7,i: 7,753,488 msg/sec AtomicQueueB2, 8,s: 6,306,594 msg/sec AtomicQueueB2, 8,i: 7,082,920 msg/sec OptimistAtomicQueue2, 1,s: 377,552,645 msg/sec OptimistAtomicQueue2, 1,i: 31,864,340 msg/sec OptimistAtomicQueue2, 2,s: 29,499,915 msg/sec OptimistAtomicQueue2, 2,i: 23,656,011 msg/sec OptimistAtomicQueue2, 3,s: 30,448,060 msg/sec OptimistAtomicQueue2, 3,i: 31,608,459 msg/sec OptimistAtomicQueue2, 4,s: 33,227,711 msg/sec OptimistAtomicQueue2, 4,i: 33,351,004 msg/sec OptimistAtomicQueue2, 5,s: 37,462,861 msg/sec OptimistAtomicQueue2, 5,i: 40,755,219 msg/sec OptimistAtomicQueue2, 6,s: 40,113,613 msg/sec OptimistAtomicQueue2, 6,i: 49,140,029 msg/sec OptimistAtomicQueue2, 7,s: 42,820,335 msg/sec OptimistAtomicQueue2, 7,i: 51,450,121 msg/sec OptimistAtomicQueue2, 8,s: 44,329,629 msg/sec OptimistAtomicQueue2, 8,i: 48,736,697 msg/sec OptimistAtomicQueueB2, 1,s: 77,258,000 msg/sec OptimistAtomicQueueB2, 1,i: 33,915,332 msg/sec OptimistAtomicQueueB2, 2,s: 27,838,221 msg/sec OptimistAtomicQueueB2, 2,i: 23,173,898 msg/sec OptimistAtomicQueueB2, 3,s: 29,686,914 msg/sec OptimistAtomicQueueB2, 3,i: 30,714,729 msg/sec OptimistAtomicQueueB2, 4,s: 33,271,391 msg/sec OptimistAtomicQueueB2, 4,i: 32,347,105 msg/sec OptimistAtomicQueueB2, 5,s: 34,667,696 msg/sec OptimistAtomicQueueB2, 5,i: 39,299,212 msg/sec OptimistAtomicQueueB2, 6,s: 37,252,096 msg/sec OptimistAtomicQueueB2, 6,i: 42,397,954 msg/sec OptimistAtomicQueueB2, 7,s: 40,977,756 msg/sec OptimistAtomicQueueB2, 7,i: 45,584,299 msg/sec OptimistAtomicQueueB2, 8,s: 42,526,590 msg/sec OptimistAtomicQueueB2, 8,i: 45,036,222 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000132 sec/round-trip boost::lockfree::queue: 0.000000314 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000127 sec/round-trip moodycamel::ConcurrentQueue: 0.000000225 sec/round-trip pthread_spinlock: 0.000000301 sec/round-trip std::mutex: 0.000000464 sec/round-trip tbb::spin_mutex: 0.000000290 sec/round-trip tbb::concurrent_bounded_queue: 0.000000280 sec/round-trip xenium::michael_scott_queue: 0.000000384 sec/round-trip xenium::ramalhete_queue: 0.000000275 sec/round-trip xenium::vyukov_bounded_queue: 0.000000223 sec/round-trip AtomicQueue: 0.000000167 sec/round-trip AtomicQueueB: 0.000000183 sec/round-trip OptimistAtomicQueue: 0.000000159 sec/round-trip OptimistAtomicQueueB: 0.000000142 sec/round-trip AtomicQueue2: 0.000000176 sec/round-trip AtomicQueueB2: 0.000000176 sec/round-trip OptimistAtomicQueue2: 0.000000170 sec/round-trip OptimistAtomicQueueB2: 0.000000150 sec/round-trip max0x7ba-atomic_queue-40624b8/results/results-28.20200704T034247.txt000066400000000000000000035640741525237550500240250ustar00rootroot00000000000000[1/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 35,035,989 msg/sec boost::lockfree::spsc_queue, 1,i: 35,612,264 msg/sec boost::lockfree::queue, 1,s: 1,993,862 msg/sec boost::lockfree::queue, 1,i: 2,901,991 msg/sec boost::lockfree::queue, 2,s: 2,471,643 msg/sec boost::lockfree::queue, 2,i: 2,551,343 msg/sec boost::lockfree::queue, 3,s: 2,320,474 msg/sec boost::lockfree::queue, 3,i: 2,345,860 msg/sec boost::lockfree::queue, 4,s: 1,980,369 msg/sec boost::lockfree::queue, 4,i: 2,246,942 msg/sec boost::lockfree::queue, 5,s: 2,122,294 msg/sec boost::lockfree::queue, 5,i: 1,941,476 msg/sec boost::lockfree::queue, 6,s: 2,066,366 msg/sec boost::lockfree::queue, 6,i: 2,166,269 msg/sec boost::lockfree::queue, 7,s: 1,962,047 msg/sec boost::lockfree::queue, 7,i: 1,825,542 msg/sec boost::lockfree::queue, 8,s: 1,140,052 msg/sec boost::lockfree::queue, 8,i: 1,262,687 msg/sec boost::lockfree::queue, 9,s: 598,423 msg/sec boost::lockfree::queue, 9,i: 1,107,776 msg/sec boost::lockfree::queue,10,s: 794,783 msg/sec boost::lockfree::queue,10,i: 910,078 msg/sec boost::lockfree::queue,11,s: 525,308 msg/sec boost::lockfree::queue,11,i: 508,449 msg/sec boost::lockfree::queue,12,s: 537,233 msg/sec boost::lockfree::queue,12,i: 543,505 msg/sec boost::lockfree::queue,13,s: 517,321 msg/sec boost::lockfree::queue,13,i: 512,787 msg/sec boost::lockfree::queue,14,s: 520,630 msg/sec boost::lockfree::queue,14,i: 508,394 msg/sec moodycamel::ReaderWriterQueue, 1,s: 30,401,388 msg/sec moodycamel::ReaderWriterQueue, 1,i: 32,059,063 msg/sec moodycamel::ConcurrentQueue, 1,s: 9,009,581 msg/sec moodycamel::ConcurrentQueue, 1,i: 9,709,897 msg/sec moodycamel::ConcurrentQueue, 2,s: 3,106,244 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,981,227 msg/sec moodycamel::ConcurrentQueue, 3,s: 4,039,871 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,254,131 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,762,551 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,027,951 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,797,784 msg/sec moodycamel::ConcurrentQueue, 5,i: 7,059,296 msg/sec moodycamel::ConcurrentQueue, 6,s: 10,174,043 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,709,103 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,637,010 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,400,669 msg/sec moodycamel::ConcurrentQueue, 8,s: 17,630,065 msg/sec moodycamel::ConcurrentQueue, 8,i: 6,019,518 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,324,396 msg/sec moodycamel::ConcurrentQueue, 9,i: 11,683,400 msg/sec moodycamel::ConcurrentQueue,10,s: 5,320,292 msg/sec moodycamel::ConcurrentQueue,10,i: 8,488,685 msg/sec moodycamel::ConcurrentQueue,11,s: 14,918,929 msg/sec moodycamel::ConcurrentQueue,11,i: 10,179,177 msg/sec moodycamel::ConcurrentQueue,12,s: 5,279,814 msg/sec moodycamel::ConcurrentQueue,12,i: 19,466,504 msg/sec moodycamel::ConcurrentQueue,13,s: 10,152,737 msg/sec moodycamel::ConcurrentQueue,13,i: 10,537,010 msg/sec moodycamel::ConcurrentQueue,14,s: 6,895,560 msg/sec moodycamel::ConcurrentQueue,14,i: 5,466,922 msg/sec pthread_spinlock, 1,s: 5,990,585 msg/sec pthread_spinlock, 1,i: 6,067,057 msg/sec pthread_spinlock, 2,s: 4,110,803 msg/sec pthread_spinlock, 2,i: 4,490,012 msg/sec pthread_spinlock, 3,s: 3,409,974 msg/sec pthread_spinlock, 3,i: 3,249,950 msg/sec pthread_spinlock, 4,s: 2,763,933 msg/sec pthread_spinlock, 4,i: 2,638,732 msg/sec pthread_spinlock, 5,s: 2,366,396 msg/sec pthread_spinlock, 5,i: 2,152,245 msg/sec pthread_spinlock, 6,s: 2,161,994 msg/sec pthread_spinlock, 6,i: 1,834,442 msg/sec pthread_spinlock, 7,s: 1,639,929 msg/sec pthread_spinlock, 7,i: 1,846,804 msg/sec pthread_spinlock, 8,s: 1,209,594 msg/sec pthread_spinlock, 8,i: 1,263,919 msg/sec pthread_spinlock, 9,s: 1,017,558 msg/sec pthread_spinlock, 9,i: 1,131,201 msg/sec pthread_spinlock,10,s: 899,718 msg/sec pthread_spinlock,10,i: 531,071 msg/sec pthread_spinlock,11,s: 530,808 msg/sec pthread_spinlock,11,i: 607,960 msg/sec pthread_spinlock,12,s: 673,961 msg/sec pthread_spinlock,12,i: 622,484 msg/sec pthread_spinlock,13,s: 528,892 msg/sec pthread_spinlock,13,i: 795,762 msg/sec pthread_spinlock,14,s: 618,422 msg/sec pthread_spinlock,14,i: 586,504 msg/sec std::mutex, 1,s: 6,457,086 msg/sec std::mutex, 1,i: 6,470,881 msg/sec std::mutex, 2,s: 4,357,993 msg/sec std::mutex, 2,i: 4,383,191 msg/sec std::mutex, 3,s: 2,644,692 msg/sec std::mutex, 3,i: 2,901,266 msg/sec std::mutex, 4,s: 2,719,193 msg/sec std::mutex, 4,i: 2,865,929 msg/sec std::mutex, 5,s: 3,520,765 msg/sec std::mutex, 5,i: 3,558,099 msg/sec std::mutex, 6,s: 4,391,650 msg/sec std::mutex, 6,i: 4,558,038 msg/sec std::mutex, 7,s: 5,575,274 msg/sec std::mutex, 7,i: 5,823,872 msg/sec std::mutex, 8,s: 6,919,665 msg/sec std::mutex, 8,i: 6,334,009 msg/sec std::mutex, 9,s: 6,675,754 msg/sec std::mutex, 9,i: 5,523,797 msg/sec std::mutex,10,s: 6,593,358 msg/sec std::mutex,10,i: 4,889,002 msg/sec std::mutex,11,s: 6,388,162 msg/sec std::mutex,11,i: 5,228,647 msg/sec std::mutex,12,s: 6,470,921 msg/sec std::mutex,12,i: 5,241,233 msg/sec std::mutex,13,s: 6,914,538 msg/sec std::mutex,13,i: 5,371,839 msg/sec std::mutex,14,s: 7,214,091 msg/sec std::mutex,14,i: 5,520,495 msg/sec tbb::spin_mutex, 1,s: 23,447,460 msg/sec tbb::spin_mutex, 1,i: 23,837,514 msg/sec tbb::spin_mutex, 2,s: 13,012,986 msg/sec tbb::spin_mutex, 2,i: 13,438,745 msg/sec tbb::spin_mutex, 3,s: 9,009,014 msg/sec tbb::spin_mutex, 3,i: 9,244,330 msg/sec tbb::spin_mutex, 4,s: 7,177,422 msg/sec tbb::spin_mutex, 4,i: 7,036,823 msg/sec tbb::spin_mutex, 5,s: 4,602,027 msg/sec tbb::spin_mutex, 5,i: 4,407,310 msg/sec tbb::spin_mutex, 6,s: 2,974,273 msg/sec tbb::spin_mutex, 6,i: 3,257,914 msg/sec tbb::spin_mutex, 7,s: 2,704,861 msg/sec tbb::spin_mutex, 7,i: 2,606,730 msg/sec tbb::spin_mutex, 8,s: 1,274,518 msg/sec tbb::spin_mutex, 8,i: 1,419,605 msg/sec tbb::spin_mutex, 9,s: 757,163 msg/sec tbb::spin_mutex, 9,i: 874,849 msg/sec tbb::spin_mutex,10,s: 594,751 msg/sec tbb::spin_mutex,10,i: 624,753 msg/sec tbb::spin_mutex,11,s: 575,596 msg/sec tbb::spin_mutex,11,i: 799,775 msg/sec tbb::spin_mutex,12,s: 538,768 msg/sec tbb::spin_mutex,12,i: 625,638 msg/sec tbb::spin_mutex,13,s: 460,292 msg/sec tbb::spin_mutex,13,i: 585,803 msg/sec tbb::spin_mutex,14,s: 441,403 msg/sec tbb::spin_mutex,14,i: 452,645 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,428,685 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,543,099 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,285,123 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,313,086 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,166,531 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,240,151 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,675,105 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,523,756 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,100,194 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,098,252 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,752,095 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,671,833 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,396,411 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,429,287 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,286,480 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,928,276 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,199,761 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,458,118 msg/sec tbb::concurrent_bounded_queue,10,s: 1,234,255 msg/sec tbb::concurrent_bounded_queue,10,i: 1,295,515 msg/sec tbb::concurrent_bounded_queue,11,s: 1,267,203 msg/sec tbb::concurrent_bounded_queue,11,i: 1,175,647 msg/sec tbb::concurrent_bounded_queue,12,s: 1,313,287 msg/sec tbb::concurrent_bounded_queue,12,i: 1,219,225 msg/sec tbb::concurrent_bounded_queue,13,s: 1,360,186 msg/sec tbb::concurrent_bounded_queue,13,i: 1,188,843 msg/sec tbb::concurrent_bounded_queue,14,s: 1,110,913 msg/sec tbb::concurrent_bounded_queue,14,i: 1,040,379 msg/sec xenium::michael_scott_queue, 1,s: 2,253,667 msg/sec xenium::michael_scott_queue, 1,i: 2,882,316 msg/sec xenium::michael_scott_queue, 2,s: 2,209,621 msg/sec xenium::michael_scott_queue, 2,i: 2,818,225 msg/sec xenium::michael_scott_queue, 3,s: 2,264,966 msg/sec xenium::michael_scott_queue, 3,i: 2,445,470 msg/sec xenium::michael_scott_queue, 4,s: 2,078,986 msg/sec xenium::michael_scott_queue, 4,i: 2,203,092 msg/sec xenium::michael_scott_queue, 5,s: 1,885,084 msg/sec xenium::michael_scott_queue, 5,i: 1,996,934 msg/sec xenium::michael_scott_queue, 6,s: 1,682,443 msg/sec xenium::michael_scott_queue, 6,i: 1,829,370 msg/sec xenium::michael_scott_queue, 7,s: 1,548,966 msg/sec xenium::michael_scott_queue, 7,i: 1,503,378 msg/sec xenium::michael_scott_queue, 8,s: 723,252 msg/sec xenium::michael_scott_queue, 8,i: 1,127,365 msg/sec xenium::michael_scott_queue, 9,s: 857,849 msg/sec xenium::michael_scott_queue, 9,i: 989,900 msg/sec xenium::michael_scott_queue,10,s: 494,792 msg/sec xenium::michael_scott_queue,10,i: 525,031 msg/sec xenium::michael_scott_queue,11,s: 502,549 msg/sec xenium::michael_scott_queue,11,i: 512,418 msg/sec xenium::michael_scott_queue,12,s: 520,995 msg/sec xenium::michael_scott_queue,12,i: 782,423 msg/sec xenium::michael_scott_queue,13,s: 566,053 msg/sec xenium::michael_scott_queue,13,i: 512,469 msg/sec xenium::michael_scott_queue,14,s: 500,843 msg/sec xenium::michael_scott_queue,14,i: 505,677 msg/sec xenium::ramalhete_queue, 1,s: 11,433,370 msg/sec xenium::ramalhete_queue, 1,i: 3,909,209 msg/sec xenium::ramalhete_queue, 2,s: 6,525,009 msg/sec xenium::ramalhete_queue, 2,i: 6,250,432 msg/sec xenium::ramalhete_queue, 3,s: 7,344,044 msg/sec xenium::ramalhete_queue, 3,i: 7,299,642 msg/sec xenium::ramalhete_queue, 4,s: 7,313,570 msg/sec xenium::ramalhete_queue, 4,i: 7,981,947 msg/sec xenium::ramalhete_queue, 5,s: 7,515,932 msg/sec xenium::ramalhete_queue, 5,i: 7,925,311 msg/sec xenium::ramalhete_queue, 6,s: 7,807,454 msg/sec xenium::ramalhete_queue, 6,i: 8,404,175 msg/sec xenium::ramalhete_queue, 7,s: 8,125,067 msg/sec xenium::ramalhete_queue, 7,i: 8,428,511 msg/sec xenium::ramalhete_queue, 8,s: 7,493,226 msg/sec xenium::ramalhete_queue, 8,i: 8,145,734 msg/sec xenium::ramalhete_queue, 9,s: 8,112,336 msg/sec xenium::ramalhete_queue, 9,i: 7,835,997 msg/sec xenium::ramalhete_queue,10,s: 7,961,251 msg/sec xenium::ramalhete_queue,10,i: 8,151,706 msg/sec xenium::ramalhete_queue,11,s: 8,259,570 msg/sec xenium::ramalhete_queue,11,i: 8,705,595 msg/sec xenium::ramalhete_queue,12,s: 8,305,098 msg/sec xenium::ramalhete_queue,12,i: 8,161,131 msg/sec xenium::ramalhete_queue,13,s: 9,223,936 msg/sec xenium::ramalhete_queue,13,i: 7,808,987 msg/sec xenium::ramalhete_queue,14,s: 10,046,308 msg/sec xenium::ramalhete_queue,14,i: 8,336,342 msg/sec xenium::vyukov_bounded_queue, 1,s: 33,832,010 msg/sec xenium::vyukov_bounded_queue, 1,i: 56,418,720 msg/sec xenium::vyukov_bounded_queue, 2,s: 3,770,720 msg/sec xenium::vyukov_bounded_queue, 2,i: 3,847,926 msg/sec xenium::vyukov_bounded_queue, 3,s: 3,856,723 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,632,362 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,761,797 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,986,301 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,560,667 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,724,284 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,118,725 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,422,049 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,031,709 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,966,678 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,370,118 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,361,585 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,251,451 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,448,377 msg/sec xenium::vyukov_bounded_queue,10,s: 1,094,684 msg/sec xenium::vyukov_bounded_queue,10,i: 1,346,000 msg/sec xenium::vyukov_bounded_queue,11,s: 1,111,722 msg/sec xenium::vyukov_bounded_queue,11,i: 1,298,402 msg/sec xenium::vyukov_bounded_queue,12,s: 1,102,472 msg/sec xenium::vyukov_bounded_queue,12,i: 1,214,602 msg/sec xenium::vyukov_bounded_queue,13,s: 1,000,385 msg/sec xenium::vyukov_bounded_queue,13,i: 1,146,986 msg/sec xenium::vyukov_bounded_queue,14,s: 801,728 msg/sec xenium::vyukov_bounded_queue,14,i: 1,070,103 msg/sec AtomicQueue, 1,s: 11,629,323 msg/sec AtomicQueue, 1,i: 11,841,031 msg/sec AtomicQueue, 2,s: 3,672,899 msg/sec AtomicQueue, 2,i: 4,022,617 msg/sec AtomicQueue, 3,s: 2,606,838 msg/sec AtomicQueue, 3,i: 3,181,054 msg/sec AtomicQueue, 4,s: 2,586,501 msg/sec AtomicQueue, 4,i: 2,537,031 msg/sec AtomicQueue, 5,s: 2,297,012 msg/sec AtomicQueue, 5,i: 2,556,556 msg/sec AtomicQueue, 6,s: 1,855,182 msg/sec AtomicQueue, 6,i: 1,933,643 msg/sec AtomicQueue, 7,s: 1,620,047 msg/sec AtomicQueue, 7,i: 1,778,233 msg/sec AtomicQueue, 8,s: 1,137,803 msg/sec AtomicQueue, 8,i: 1,446,449 msg/sec AtomicQueue, 9,s: 1,310,290 msg/sec AtomicQueue, 9,i: 1,256,952 msg/sec AtomicQueue,10,s: 1,015,466 msg/sec AtomicQueue,10,i: 1,066,288 msg/sec AtomicQueue,11,s: 945,373 msg/sec AtomicQueue,11,i: 509,498 msg/sec AtomicQueue,12,s: 490,905 msg/sec AtomicQueue,12,i: 537,719 msg/sec AtomicQueue,13,s: 513,389 msg/sec AtomicQueue,13,i: 520,322 msg/sec AtomicQueue,14,s: 495,942 msg/sec AtomicQueue,14,i: 531,810 msg/sec AtomicQueueB, 1,s: 11,920,180 msg/sec AtomicQueueB, 1,i: 12,354,177 msg/sec AtomicQueueB, 2,s: 3,259,195 msg/sec AtomicQueueB, 2,i: 4,233,676 msg/sec AtomicQueueB, 3,s: 2,575,342 msg/sec AtomicQueueB, 3,i: 2,719,478 msg/sec AtomicQueueB, 4,s: 2,411,232 msg/sec AtomicQueueB, 4,i: 2,696,338 msg/sec AtomicQueueB, 5,s: 2,280,647 msg/sec AtomicQueueB, 5,i: 2,468,480 msg/sec AtomicQueueB, 6,s: 1,991,733 msg/sec AtomicQueueB, 6,i: 1,951,777 msg/sec AtomicQueueB, 7,s: 1,635,000 msg/sec AtomicQueueB, 7,i: 1,805,513 msg/sec AtomicQueueB, 8,s: 498,481 msg/sec AtomicQueueB, 8,i: 1,386,463 msg/sec AtomicQueueB, 9,s: 570,728 msg/sec AtomicQueueB, 9,i: 1,058,588 msg/sec AtomicQueueB,10,s: 855,849 msg/sec AtomicQueueB,10,i: 951,401 msg/sec AtomicQueueB,11,s: 536,915 msg/sec AtomicQueueB,11,i: 535,906 msg/sec AtomicQueueB,12,s: 512,544 msg/sec AtomicQueueB,12,i: 514,411 msg/sec AtomicQueueB,13,s: 494,557 msg/sec AtomicQueueB,13,i: 527,360 msg/sec AtomicQueueB,14,s: 512,824 msg/sec AtomicQueueB,14,i: 814,153 msg/sec OptimistAtomicQueue, 1,s: 175,353,948 msg/sec OptimistAtomicQueue, 1,i: 84,070,366 msg/sec OptimistAtomicQueue, 2,s: 9,147,799 msg/sec OptimistAtomicQueue, 2,i: 9,076,137 msg/sec OptimistAtomicQueue, 3,s: 10,152,955 msg/sec OptimistAtomicQueue, 3,i: 8,994,148 msg/sec OptimistAtomicQueue, 4,s: 9,578,750 msg/sec OptimistAtomicQueue, 4,i: 13,302,301 msg/sec OptimistAtomicQueue, 5,s: 12,629,429 msg/sec OptimistAtomicQueue, 5,i: 9,745,245 msg/sec OptimistAtomicQueue, 6,s: 10,014,493 msg/sec OptimistAtomicQueue, 6,i: 9,976,225 msg/sec OptimistAtomicQueue, 7,s: 13,102,998 msg/sec OptimistAtomicQueue, 7,i: 13,198,202 msg/sec OptimistAtomicQueue, 8,s: 11,069,977 msg/sec OptimistAtomicQueue, 8,i: 11,196,358 msg/sec OptimistAtomicQueue, 9,s: 11,208,738 msg/sec OptimistAtomicQueue, 9,i: 11,381,006 msg/sec OptimistAtomicQueue,10,s: 10,994,868 msg/sec OptimistAtomicQueue,10,i: 10,994,906 msg/sec OptimistAtomicQueue,11,s: 10,764,337 msg/sec OptimistAtomicQueue,11,i: 10,956,917 msg/sec OptimistAtomicQueue,12,s: 9,921,793 msg/sec OptimistAtomicQueue,12,i: 10,601,264 msg/sec OptimistAtomicQueue,13,s: 9,027,381 msg/sec OptimistAtomicQueue,13,i: 10,420,707 msg/sec OptimistAtomicQueue,14,s: 8,836,783 msg/sec OptimistAtomicQueue,14,i: 10,913,541 msg/sec OptimistAtomicQueueB, 1,s: 26,208,754 msg/sec OptimistAtomicQueueB, 1,i: 37,600,186 msg/sec OptimistAtomicQueueB, 2,s: 8,578,115 msg/sec OptimistAtomicQueueB, 2,i: 9,844,118 msg/sec OptimistAtomicQueueB, 3,s: 8,919,416 msg/sec OptimistAtomicQueueB, 3,i: 9,641,053 msg/sec OptimistAtomicQueueB, 4,s: 10,543,166 msg/sec OptimistAtomicQueueB, 4,i: 9,244,512 msg/sec OptimistAtomicQueueB, 5,s: 9,997,748 msg/sec OptimistAtomicQueueB, 5,i: 12,242,762 msg/sec OptimistAtomicQueueB, 6,s: 12,786,652 msg/sec OptimistAtomicQueueB, 6,i: 13,243,493 msg/sec OptimistAtomicQueueB, 7,s: 12,916,205 msg/sec OptimistAtomicQueueB, 7,i: 12,885,597 msg/sec OptimistAtomicQueueB, 8,s: 9,197,006 msg/sec OptimistAtomicQueueB, 8,i: 7,860,310 msg/sec OptimistAtomicQueueB, 9,s: 10,831,839 msg/sec OptimistAtomicQueueB, 9,i: 11,242,353 msg/sec OptimistAtomicQueueB,10,s: 11,071,297 msg/sec OptimistAtomicQueueB,10,i: 11,095,580 msg/sec OptimistAtomicQueueB,11,s: 10,794,794 msg/sec OptimistAtomicQueueB,11,i: 11,033,785 msg/sec OptimistAtomicQueueB,12,s: 10,497,683 msg/sec OptimistAtomicQueueB,12,i: 11,123,776 msg/sec OptimistAtomicQueueB,13,s: 9,532,752 msg/sec OptimistAtomicQueueB,13,i: 11,029,837 msg/sec OptimistAtomicQueueB,14,s: 8,549,249 msg/sec OptimistAtomicQueueB,14,i: 10,911,752 msg/sec AtomicQueue2, 1,s: 9,150,853 msg/sec AtomicQueue2, 1,i: 9,175,471 msg/sec AtomicQueue2, 2,s: 3,116,353 msg/sec AtomicQueue2, 2,i: 4,054,832 msg/sec AtomicQueue2, 3,s: 2,411,250 msg/sec AtomicQueue2, 3,i: 3,208,722 msg/sec AtomicQueue2, 4,s: 2,358,303 msg/sec AtomicQueue2, 4,i: 2,536,709 msg/sec AtomicQueue2, 5,s: 2,262,313 msg/sec AtomicQueue2, 5,i: 2,292,004 msg/sec AtomicQueue2, 6,s: 1,976,767 msg/sec AtomicQueue2, 6,i: 1,907,523 msg/sec AtomicQueue2, 7,s: 1,584,156 msg/sec AtomicQueue2, 7,i: 1,826,465 msg/sec AtomicQueue2, 8,s: 1,143,715 msg/sec AtomicQueue2, 8,i: 1,572,406 msg/sec AtomicQueue2, 9,s: 498,373 msg/sec AtomicQueue2, 9,i: 506,534 msg/sec AtomicQueue2,10,s: 521,615 msg/sec AtomicQueue2,10,i: 1,075,409 msg/sec AtomicQueue2,11,s: 496,862 msg/sec AtomicQueue2,11,i: 516,726 msg/sec AtomicQueue2,12,s: 507,112 msg/sec AtomicQueue2,12,i: 518,924 msg/sec AtomicQueue2,13,s: 518,957 msg/sec AtomicQueue2,13,i: 508,203 msg/sec AtomicQueue2,14,s: 501,506 msg/sec AtomicQueue2,14,i: 515,528 msg/sec AtomicQueueB2, 1,s: 8,970,839 msg/sec AtomicQueueB2, 1,i: 9,175,069 msg/sec AtomicQueueB2, 2,s: 3,152,897 msg/sec AtomicQueueB2, 2,i: 4,125,542 msg/sec AtomicQueueB2, 3,s: 2,633,688 msg/sec AtomicQueueB2, 3,i: 3,180,962 msg/sec AtomicQueueB2, 4,s: 2,514,303 msg/sec AtomicQueueB2, 4,i: 2,427,058 msg/sec AtomicQueueB2, 5,s: 2,057,967 msg/sec AtomicQueueB2, 5,i: 2,119,345 msg/sec AtomicQueueB2, 6,s: 1,918,428 msg/sec AtomicQueueB2, 6,i: 1,934,060 msg/sec AtomicQueueB2, 7,s: 1,620,195 msg/sec AtomicQueueB2, 7,i: 1,811,199 msg/sec AtomicQueueB2, 8,s: 1,076,062 msg/sec AtomicQueueB2, 8,i: 1,586,825 msg/sec AtomicQueueB2, 9,s: 1,009,707 msg/sec AtomicQueueB2, 9,i: 1,055,772 msg/sec AtomicQueueB2,10,s: 517,382 msg/sec AtomicQueueB2,10,i: 501,326 msg/sec AtomicQueueB2,11,s: 516,808 msg/sec AtomicQueueB2,11,i: 503,471 msg/sec AtomicQueueB2,12,s: 507,082 msg/sec AtomicQueueB2,12,i: 531,645 msg/sec AtomicQueueB2,13,s: 716,073 msg/sec AtomicQueueB2,13,i: 510,322 msg/sec AtomicQueueB2,14,s: 535,077 msg/sec AtomicQueueB2,14,i: 515,782 msg/sec OptimistAtomicQueue2, 1,s: 66,432,874 msg/sec OptimistAtomicQueue2, 1,i: 104,972,244 msg/sec OptimistAtomicQueue2, 2,s: 7,900,179 msg/sec OptimistAtomicQueue2, 2,i: 7,348,358 msg/sec OptimistAtomicQueue2, 3,s: 7,506,843 msg/sec OptimistAtomicQueue2, 3,i: 8,252,790 msg/sec OptimistAtomicQueue2, 4,s: 8,731,785 msg/sec OptimistAtomicQueue2, 4,i: 8,622,626 msg/sec OptimistAtomicQueue2, 5,s: 8,952,717 msg/sec OptimistAtomicQueue2, 5,i: 11,529,787 msg/sec OptimistAtomicQueue2, 6,s: 12,943,385 msg/sec OptimistAtomicQueue2, 6,i: 13,171,545 msg/sec OptimistAtomicQueue2, 7,s: 13,297,885 msg/sec OptimistAtomicQueue2, 7,i: 13,326,118 msg/sec OptimistAtomicQueue2, 8,s: 10,455,740 msg/sec OptimistAtomicQueue2, 8,i: 10,806,027 msg/sec OptimistAtomicQueue2, 9,s: 10,666,492 msg/sec OptimistAtomicQueue2, 9,i: 10,808,074 msg/sec OptimistAtomicQueue2,10,s: 10,540,610 msg/sec OptimistAtomicQueue2,10,i: 9,614,157 msg/sec OptimistAtomicQueue2,11,s: 10,814,503 msg/sec OptimistAtomicQueue2,11,i: 10,429,218 msg/sec OptimistAtomicQueue2,12,s: 10,410,349 msg/sec OptimistAtomicQueue2,12,i: 10,424,046 msg/sec OptimistAtomicQueue2,13,s: 8,999,945 msg/sec OptimistAtomicQueue2,13,i: 10,583,462 msg/sec OptimistAtomicQueue2,14,s: 8,569,765 msg/sec OptimistAtomicQueue2,14,i: 10,862,168 msg/sec OptimistAtomicQueueB2, 1,s: 23,693,577 msg/sec OptimistAtomicQueueB2, 1,i: 23,779,665 msg/sec OptimistAtomicQueueB2, 2,s: 10,535,330 msg/sec OptimistAtomicQueueB2, 2,i: 10,158,880 msg/sec OptimistAtomicQueueB2, 3,s: 8,019,179 msg/sec OptimistAtomicQueueB2, 3,i: 11,451,234 msg/sec OptimistAtomicQueueB2, 4,s: 11,050,432 msg/sec OptimistAtomicQueueB2, 4,i: 12,525,702 msg/sec OptimistAtomicQueueB2, 5,s: 11,265,034 msg/sec OptimistAtomicQueueB2, 5,i: 11,939,223 msg/sec OptimistAtomicQueueB2, 6,s: 11,840,519 msg/sec OptimistAtomicQueueB2, 6,i: 12,265,694 msg/sec OptimistAtomicQueueB2, 7,s: 10,871,901 msg/sec OptimistAtomicQueueB2, 7,i: 12,517,637 msg/sec OptimistAtomicQueueB2, 8,s: 9,760,426 msg/sec OptimistAtomicQueueB2, 8,i: 10,143,389 msg/sec OptimistAtomicQueueB2, 9,s: 9,804,621 msg/sec OptimistAtomicQueueB2, 9,i: 10,228,473 msg/sec OptimistAtomicQueueB2,10,s: 9,976,300 msg/sec OptimistAtomicQueueB2,10,i: 10,215,273 msg/sec OptimistAtomicQueueB2,11,s: 9,907,436 msg/sec OptimistAtomicQueueB2,11,i: 10,150,548 msg/sec OptimistAtomicQueueB2,12,s: 9,225,005 msg/sec OptimistAtomicQueueB2,12,i: 10,471,776 msg/sec OptimistAtomicQueueB2,13,s: 8,618,990 msg/sec OptimistAtomicQueueB2,13,i: 10,303,331 msg/sec OptimistAtomicQueueB2,14,s: 7,892,234 msg/sec OptimistAtomicQueueB2,14,i: 10,282,999 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000269 sec/round-trip boost::lockfree::queue: 0.000000797 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000342 sec/round-trip moodycamel::ConcurrentQueue: 0.000000510 sec/round-trip pthread_spinlock: 0.000000623 sec/round-trip std::mutex: 0.000002181 sec/round-trip tbb::spin_mutex: 0.000000575 sec/round-trip tbb::concurrent_bounded_queue: 0.000000580 sec/round-trip xenium::michael_scott_queue: 0.000000733 sec/round-trip xenium::ramalhete_queue: 0.000000507 sec/round-trip xenium::vyukov_bounded_queue: 0.000000436 sec/round-trip AtomicQueue: 0.000000254 sec/round-trip AtomicQueueB: 0.000000345 sec/round-trip OptimistAtomicQueue: 0.000000295 sec/round-trip OptimistAtomicQueueB: 0.000000327 sec/round-trip AtomicQueue2: 0.000000312 sec/round-trip AtomicQueueB2: 0.000000426 sec/round-trip OptimistAtomicQueue2: 0.000000324 sec/round-trip OptimistAtomicQueueB2: 0.000000345 sec/round-trip [2/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 30,929,338 msg/sec boost::lockfree::spsc_queue, 1,i: 31,255,429 msg/sec boost::lockfree::queue, 1,s: 3,147,679 msg/sec boost::lockfree::queue, 1,i: 3,154,311 msg/sec boost::lockfree::queue, 2,s: 2,133,768 msg/sec boost::lockfree::queue, 2,i: 2,107,439 msg/sec boost::lockfree::queue, 3,s: 2,010,698 msg/sec boost::lockfree::queue, 3,i: 2,257,455 msg/sec boost::lockfree::queue, 4,s: 2,213,686 msg/sec boost::lockfree::queue, 4,i: 2,245,989 msg/sec boost::lockfree::queue, 5,s: 2,063,863 msg/sec boost::lockfree::queue, 5,i: 2,278,907 msg/sec boost::lockfree::queue, 6,s: 2,081,807 msg/sec boost::lockfree::queue, 6,i: 2,065,874 msg/sec boost::lockfree::queue, 7,s: 2,005,252 msg/sec boost::lockfree::queue, 7,i: 1,900,825 msg/sec boost::lockfree::queue, 8,s: 668,240 msg/sec boost::lockfree::queue, 8,i: 1,110,591 msg/sec boost::lockfree::queue, 9,s: 565,664 msg/sec boost::lockfree::queue, 9,i: 1,022,557 msg/sec boost::lockfree::queue,10,s: 625,730 msg/sec boost::lockfree::queue,10,i: 684,952 msg/sec boost::lockfree::queue,11,s: 554,630 msg/sec boost::lockfree::queue,11,i: 517,401 msg/sec boost::lockfree::queue,12,s: 516,753 msg/sec boost::lockfree::queue,12,i: 533,601 msg/sec boost::lockfree::queue,13,s: 542,422 msg/sec boost::lockfree::queue,13,i: 524,374 msg/sec boost::lockfree::queue,14,s: 514,133 msg/sec boost::lockfree::queue,14,i: 521,104 msg/sec moodycamel::ReaderWriterQueue, 1,s: 157,299,787 msg/sec moodycamel::ReaderWriterQueue, 1,i: 159,436,057 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,263,237 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,175,301 msg/sec moodycamel::ConcurrentQueue, 2,s: 3,533,365 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,587,355 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,268,079 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,639,034 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,821,467 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,968,977 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,647,415 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,143,553 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,349,393 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,956,984 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,719,425 msg/sec moodycamel::ConcurrentQueue, 7,i: 7,054,637 msg/sec moodycamel::ConcurrentQueue, 8,s: 4,481,171 msg/sec moodycamel::ConcurrentQueue, 8,i: 11,635,181 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,325,215 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,135,458 msg/sec moodycamel::ConcurrentQueue,10,s: 4,727,037 msg/sec moodycamel::ConcurrentQueue,10,i: 5,336,043 msg/sec moodycamel::ConcurrentQueue,11,s: 5,370,830 msg/sec moodycamel::ConcurrentQueue,11,i: 5,483,813 msg/sec moodycamel::ConcurrentQueue,12,s: 5,049,117 msg/sec moodycamel::ConcurrentQueue,12,i: 5,484,802 msg/sec moodycamel::ConcurrentQueue,13,s: 4,843,804 msg/sec moodycamel::ConcurrentQueue,13,i: 5,512,139 msg/sec moodycamel::ConcurrentQueue,14,s: 7,047,278 msg/sec moodycamel::ConcurrentQueue,14,i: 5,265,419 msg/sec pthread_spinlock, 1,s: 6,196,661 msg/sec pthread_spinlock, 1,i: 5,676,707 msg/sec pthread_spinlock, 2,s: 4,659,321 msg/sec pthread_spinlock, 2,i: 4,573,757 msg/sec pthread_spinlock, 3,s: 3,343,183 msg/sec pthread_spinlock, 3,i: 2,781,719 msg/sec pthread_spinlock, 4,s: 2,493,097 msg/sec pthread_spinlock, 4,i: 2,582,133 msg/sec pthread_spinlock, 5,s: 2,212,594 msg/sec pthread_spinlock, 5,i: 2,100,237 msg/sec pthread_spinlock, 6,s: 1,835,954 msg/sec pthread_spinlock, 6,i: 1,979,622 msg/sec pthread_spinlock, 7,s: 1,877,385 msg/sec pthread_spinlock, 7,i: 1,729,976 msg/sec pthread_spinlock, 8,s: 1,081,210 msg/sec pthread_spinlock, 8,i: 1,302,784 msg/sec pthread_spinlock, 9,s: 838,550 msg/sec pthread_spinlock, 9,i: 547,901 msg/sec pthread_spinlock,10,s: 800,899 msg/sec pthread_spinlock,10,i: 567,488 msg/sec pthread_spinlock,11,s: 763,877 msg/sec pthread_spinlock,11,i: 558,749 msg/sec pthread_spinlock,12,s: 505,284 msg/sec pthread_spinlock,12,i: 524,014 msg/sec pthread_spinlock,13,s: 502,741 msg/sec pthread_spinlock,13,i: 537,450 msg/sec pthread_spinlock,14,s: 545,547 msg/sec pthread_spinlock,14,i: 518,024 msg/sec std::mutex, 1,s: 507,976 msg/sec std::mutex, 1,i: 5,026,888 msg/sec std::mutex, 2,s: 4,201,979 msg/sec std::mutex, 2,i: 4,227,127 msg/sec std::mutex, 3,s: 2,701,018 msg/sec std::mutex, 3,i: 2,876,403 msg/sec std::mutex, 4,s: 2,710,788 msg/sec std::mutex, 4,i: 2,856,555 msg/sec std::mutex, 5,s: 3,521,814 msg/sec std::mutex, 5,i: 3,563,573 msg/sec std::mutex, 6,s: 4,494,833 msg/sec std::mutex, 6,i: 4,866,715 msg/sec std::mutex, 7,s: 5,923,751 msg/sec std::mutex, 7,i: 5,966,273 msg/sec std::mutex, 8,s: 6,512,327 msg/sec std::mutex, 8,i: 6,075,885 msg/sec std::mutex, 9,s: 5,787,493 msg/sec std::mutex, 9,i: 4,928,867 msg/sec std::mutex,10,s: 5,604,117 msg/sec std::mutex,10,i: 4,548,737 msg/sec std::mutex,11,s: 5,481,661 msg/sec std::mutex,11,i: 4,702,772 msg/sec std::mutex,12,s: 5,512,804 msg/sec std::mutex,12,i: 4,766,503 msg/sec std::mutex,13,s: 5,606,924 msg/sec std::mutex,13,i: 5,036,847 msg/sec std::mutex,14,s: 5,721,283 msg/sec std::mutex,14,i: 5,056,981 msg/sec tbb::spin_mutex, 1,s: 22,893,982 msg/sec tbb::spin_mutex, 1,i: 23,026,197 msg/sec tbb::spin_mutex, 2,s: 13,987,459 msg/sec tbb::spin_mutex, 2,i: 14,208,618 msg/sec tbb::spin_mutex, 3,s: 8,258,866 msg/sec tbb::spin_mutex, 3,i: 9,827,149 msg/sec tbb::spin_mutex, 4,s: 7,794,311 msg/sec tbb::spin_mutex, 4,i: 7,186,179 msg/sec tbb::spin_mutex, 5,s: 4,747,402 msg/sec tbb::spin_mutex, 5,i: 2,901,099 msg/sec tbb::spin_mutex, 6,s: 3,124,468 msg/sec tbb::spin_mutex, 6,i: 3,253,194 msg/sec tbb::spin_mutex, 7,s: 2,579,440 msg/sec tbb::spin_mutex, 7,i: 2,267,994 msg/sec tbb::spin_mutex, 8,s: 1,333,478 msg/sec tbb::spin_mutex, 8,i: 1,090,239 msg/sec tbb::spin_mutex, 9,s: 929,831 msg/sec tbb::spin_mutex, 9,i: 810,727 msg/sec tbb::spin_mutex,10,s: 679,084 msg/sec tbb::spin_mutex,10,i: 791,657 msg/sec tbb::spin_mutex,11,s: 489,539 msg/sec tbb::spin_mutex,11,i: 738,025 msg/sec tbb::spin_mutex,12,s: 496,606 msg/sec tbb::spin_mutex,12,i: 625,757 msg/sec tbb::spin_mutex,13,s: 567,090 msg/sec tbb::spin_mutex,13,i: 508,766 msg/sec tbb::spin_mutex,14,s: 455,885 msg/sec tbb::spin_mutex,14,i: 489,702 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,147,459 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,049,380 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,944,672 msg/sec tbb::concurrent_bounded_queue, 2,i: 4,944,651 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,112,097 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,109,718 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,657,568 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,614,100 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,893,417 msg/sec tbb::concurrent_bounded_queue, 5,i: 2,968,997 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,623,200 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,693,080 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,460,385 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,367,691 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,183,675 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,909,038 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,196,589 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,532,145 msg/sec tbb::concurrent_bounded_queue,10,s: 1,252,605 msg/sec tbb::concurrent_bounded_queue,10,i: 1,229,273 msg/sec tbb::concurrent_bounded_queue,11,s: 1,112,023 msg/sec tbb::concurrent_bounded_queue,11,i: 1,184,694 msg/sec tbb::concurrent_bounded_queue,12,s: 1,213,600 msg/sec tbb::concurrent_bounded_queue,12,i: 1,158,486 msg/sec tbb::concurrent_bounded_queue,13,s: 1,213,714 msg/sec tbb::concurrent_bounded_queue,13,i: 1,163,299 msg/sec tbb::concurrent_bounded_queue,14,s: 1,012,748 msg/sec tbb::concurrent_bounded_queue,14,i: 1,028,311 msg/sec xenium::michael_scott_queue, 1,s: 3,636,481 msg/sec xenium::michael_scott_queue, 1,i: 3,553,753 msg/sec xenium::michael_scott_queue, 2,s: 2,124,678 msg/sec xenium::michael_scott_queue, 2,i: 2,302,754 msg/sec xenium::michael_scott_queue, 3,s: 2,296,309 msg/sec xenium::michael_scott_queue, 3,i: 2,657,200 msg/sec xenium::michael_scott_queue, 4,s: 1,915,451 msg/sec xenium::michael_scott_queue, 4,i: 2,202,070 msg/sec xenium::michael_scott_queue, 5,s: 1,893,261 msg/sec xenium::michael_scott_queue, 5,i: 1,950,092 msg/sec xenium::michael_scott_queue, 6,s: 1,745,719 msg/sec xenium::michael_scott_queue, 6,i: 1,787,966 msg/sec xenium::michael_scott_queue, 7,s: 1,650,812 msg/sec xenium::michael_scott_queue, 7,i: 1,736,925 msg/sec xenium::michael_scott_queue, 8,s: 1,020,061 msg/sec xenium::michael_scott_queue, 8,i: 1,093,775 msg/sec xenium::michael_scott_queue, 9,s: 821,103 msg/sec xenium::michael_scott_queue, 9,i: 505,704 msg/sec xenium::michael_scott_queue,10,s: 533,088 msg/sec xenium::michael_scott_queue,10,i: 912,079 msg/sec xenium::michael_scott_queue,11,s: 500,271 msg/sec xenium::michael_scott_queue,11,i: 506,796 msg/sec xenium::michael_scott_queue,12,s: 510,097 msg/sec xenium::michael_scott_queue,12,i: 510,305 msg/sec xenium::michael_scott_queue,13,s: 502,562 msg/sec xenium::michael_scott_queue,13,i: 504,311 msg/sec xenium::michael_scott_queue,14,s: 676,612 msg/sec xenium::michael_scott_queue,14,i: 773,655 msg/sec xenium::ramalhete_queue, 1,s: 4,134,657 msg/sec xenium::ramalhete_queue, 1,i: 9,175,494 msg/sec xenium::ramalhete_queue, 2,s: 6,335,325 msg/sec xenium::ramalhete_queue, 2,i: 6,011,754 msg/sec xenium::ramalhete_queue, 3,s: 7,674,008 msg/sec xenium::ramalhete_queue, 3,i: 7,583,183 msg/sec xenium::ramalhete_queue, 4,s: 9,375,973 msg/sec xenium::ramalhete_queue, 4,i: 8,819,347 msg/sec xenium::ramalhete_queue, 5,s: 11,062,673 msg/sec xenium::ramalhete_queue, 5,i: 10,386,222 msg/sec xenium::ramalhete_queue, 6,s: 9,263,177 msg/sec xenium::ramalhete_queue, 6,i: 8,010,003 msg/sec xenium::ramalhete_queue, 7,s: 8,061,739 msg/sec xenium::ramalhete_queue, 7,i: 8,244,528 msg/sec xenium::ramalhete_queue, 8,s: 7,234,907 msg/sec xenium::ramalhete_queue, 8,i: 8,259,374 msg/sec xenium::ramalhete_queue, 9,s: 7,660,785 msg/sec xenium::ramalhete_queue, 9,i: 7,510,338 msg/sec xenium::ramalhete_queue,10,s: 8,305,609 msg/sec xenium::ramalhete_queue,10,i: 8,168,906 msg/sec xenium::ramalhete_queue,11,s: 8,177,669 msg/sec xenium::ramalhete_queue,11,i: 8,064,448 msg/sec xenium::ramalhete_queue,12,s: 8,291,886 msg/sec xenium::ramalhete_queue,12,i: 8,138,196 msg/sec xenium::ramalhete_queue,13,s: 8,955,685 msg/sec xenium::ramalhete_queue,13,i: 8,565,755 msg/sec xenium::ramalhete_queue,14,s: 10,690,884 msg/sec xenium::ramalhete_queue,14,i: 8,708,966 msg/sec xenium::vyukov_bounded_queue, 1,s: 27,999,643 msg/sec xenium::vyukov_bounded_queue, 1,i: 55,764,209 msg/sec xenium::vyukov_bounded_queue, 2,s: 4,795,472 msg/sec xenium::vyukov_bounded_queue, 2,i: 4,587,452 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,242,116 msg/sec xenium::vyukov_bounded_queue, 3,i: 3,873,931 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,676,603 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,054,814 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,538,540 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,570,392 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,289,332 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,319,773 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,210,179 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,100,094 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,361,558 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,179,408 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,123,395 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,884,941 msg/sec xenium::vyukov_bounded_queue,10,s: 1,065,828 msg/sec xenium::vyukov_bounded_queue,10,i: 1,374,906 msg/sec xenium::vyukov_bounded_queue,11,s: 1,061,089 msg/sec xenium::vyukov_bounded_queue,11,i: 1,194,156 msg/sec xenium::vyukov_bounded_queue,12,s: 776,471 msg/sec xenium::vyukov_bounded_queue,12,i: 1,124,109 msg/sec xenium::vyukov_bounded_queue,13,s: 1,026,819 msg/sec xenium::vyukov_bounded_queue,13,i: 1,049,763 msg/sec xenium::vyukov_bounded_queue,14,s: 842,344 msg/sec xenium::vyukov_bounded_queue,14,i: 542,306 msg/sec AtomicQueue, 1,s: 12,067,239 msg/sec AtomicQueue, 1,i: 11,600,073 msg/sec AtomicQueue, 2,s: 3,345,735 msg/sec AtomicQueue, 2,i: 4,136,497 msg/sec AtomicQueue, 3,s: 2,580,890 msg/sec AtomicQueue, 3,i: 2,760,403 msg/sec AtomicQueue, 4,s: 2,349,501 msg/sec AtomicQueue, 4,i: 2,356,451 msg/sec AtomicQueue, 5,s: 2,256,021 msg/sec AtomicQueue, 5,i: 2,211,493 msg/sec AtomicQueue, 6,s: 2,048,082 msg/sec AtomicQueue, 6,i: 2,095,178 msg/sec AtomicQueue, 7,s: 1,822,897 msg/sec AtomicQueue, 7,i: 1,702,448 msg/sec AtomicQueue, 8,s: 1,300,616 msg/sec AtomicQueue, 8,i: 1,320,441 msg/sec AtomicQueue, 9,s: 1,258,730 msg/sec AtomicQueue, 9,i: 1,165,714 msg/sec AtomicQueue,10,s: 874,527 msg/sec AtomicQueue,10,i: 501,373 msg/sec AtomicQueue,11,s: 821,024 msg/sec AtomicQueue,11,i: 512,785 msg/sec AtomicQueue,12,s: 512,407 msg/sec AtomicQueue,12,i: 515,980 msg/sec AtomicQueue,13,s: 519,621 msg/sec AtomicQueue,13,i: 515,720 msg/sec AtomicQueue,14,s: 520,594 msg/sec AtomicQueue,14,i: 503,444 msg/sec AtomicQueueB, 1,s: 18,879,957 msg/sec AtomicQueueB, 1,i: 11,856,445 msg/sec AtomicQueueB, 2,s: 3,339,297 msg/sec AtomicQueueB, 2,i: 3,930,777 msg/sec AtomicQueueB, 3,s: 2,751,457 msg/sec AtomicQueueB, 3,i: 3,090,949 msg/sec AtomicQueueB, 4,s: 2,388,214 msg/sec AtomicQueueB, 4,i: 2,295,714 msg/sec AtomicQueueB, 5,s: 2,115,844 msg/sec AtomicQueueB, 5,i: 2,004,832 msg/sec AtomicQueueB, 6,s: 1,846,663 msg/sec AtomicQueueB, 6,i: 2,012,273 msg/sec AtomicQueueB, 7,s: 1,632,850 msg/sec AtomicQueueB, 7,i: 1,828,827 msg/sec AtomicQueueB, 8,s: 1,282,084 msg/sec AtomicQueueB, 8,i: 1,397,298 msg/sec AtomicQueueB, 9,s: 1,102,886 msg/sec AtomicQueueB, 9,i: 1,178,861 msg/sec AtomicQueueB,10,s: 502,243 msg/sec AtomicQueueB,10,i: 530,285 msg/sec AtomicQueueB,11,s: 519,874 msg/sec AtomicQueueB,11,i: 502,979 msg/sec AtomicQueueB,12,s: 525,129 msg/sec AtomicQueueB,12,i: 508,582 msg/sec AtomicQueueB,13,s: 518,383 msg/sec AtomicQueueB,13,i: 854,414 msg/sec AtomicQueueB,14,s: 520,267 msg/sec AtomicQueueB,14,i: 509,806 msg/sec OptimistAtomicQueue, 1,s: 162,747,355 msg/sec OptimistAtomicQueue, 1,i: 142,619,923 msg/sec OptimistAtomicQueue, 2,s: 7,699,136 msg/sec OptimistAtomicQueue, 2,i: 9,163,413 msg/sec OptimistAtomicQueue, 3,s: 8,250,800 msg/sec OptimistAtomicQueue, 3,i: 8,919,798 msg/sec OptimistAtomicQueue, 4,s: 9,419,826 msg/sec OptimistAtomicQueue, 4,i: 12,611,113 msg/sec OptimistAtomicQueue, 5,s: 11,849,288 msg/sec OptimistAtomicQueue, 5,i: 12,817,391 msg/sec OptimistAtomicQueue, 6,s: 12,201,470 msg/sec OptimistAtomicQueue, 6,i: 13,356,568 msg/sec OptimistAtomicQueue, 7,s: 13,290,751 msg/sec OptimistAtomicQueue, 7,i: 13,973,985 msg/sec OptimistAtomicQueue, 8,s: 10,487,267 msg/sec OptimistAtomicQueue, 8,i: 10,524,995 msg/sec OptimistAtomicQueue, 9,s: 10,411,715 msg/sec OptimistAtomicQueue, 9,i: 10,540,976 msg/sec OptimistAtomicQueue,10,s: 10,530,647 msg/sec OptimistAtomicQueue,10,i: 10,948,428 msg/sec OptimistAtomicQueue,11,s: 10,604,256 msg/sec OptimistAtomicQueue,11,i: 10,939,400 msg/sec OptimistAtomicQueue,12,s: 9,742,922 msg/sec OptimistAtomicQueue,12,i: 10,658,494 msg/sec OptimistAtomicQueue,13,s: 9,500,897 msg/sec OptimistAtomicQueue,13,i: 10,947,366 msg/sec OptimistAtomicQueue,14,s: 8,751,480 msg/sec OptimistAtomicQueue,14,i: 11,022,369 msg/sec OptimistAtomicQueueB, 1,s: 28,617,590 msg/sec OptimistAtomicQueueB, 1,i: 28,797,516 msg/sec OptimistAtomicQueueB, 2,s: 10,837,677 msg/sec OptimistAtomicQueueB, 2,i: 10,960,322 msg/sec OptimistAtomicQueueB, 3,s: 10,844,543 msg/sec OptimistAtomicQueueB, 3,i: 10,850,842 msg/sec OptimistAtomicQueueB, 4,s: 8,776,970 msg/sec OptimistAtomicQueueB, 4,i: 9,682,548 msg/sec OptimistAtomicQueueB, 5,s: 9,080,446 msg/sec OptimistAtomicQueueB, 5,i: 13,121,474 msg/sec OptimistAtomicQueueB, 6,s: 12,792,739 msg/sec OptimistAtomicQueueB, 6,i: 13,204,065 msg/sec OptimistAtomicQueueB, 7,s: 13,378,411 msg/sec OptimistAtomicQueueB, 7,i: 13,665,298 msg/sec OptimistAtomicQueueB, 8,s: 10,536,730 msg/sec OptimistAtomicQueueB, 8,i: 10,678,089 msg/sec OptimistAtomicQueueB, 9,s: 10,351,824 msg/sec OptimistAtomicQueueB, 9,i: 10,461,352 msg/sec OptimistAtomicQueueB,10,s: 10,501,544 msg/sec OptimistAtomicQueueB,10,i: 10,695,234 msg/sec OptimistAtomicQueueB,11,s: 10,691,051 msg/sec OptimistAtomicQueueB,11,i: 11,018,452 msg/sec OptimistAtomicQueueB,12,s: 9,742,236 msg/sec OptimistAtomicQueueB,12,i: 10,637,593 msg/sec OptimistAtomicQueueB,13,s: 9,631,992 msg/sec OptimistAtomicQueueB,13,i: 11,130,931 msg/sec OptimistAtomicQueueB,14,s: 8,736,548 msg/sec OptimistAtomicQueueB,14,i: 11,058,647 msg/sec AtomicQueue2, 1,s: 9,348,300 msg/sec AtomicQueue2, 1,i: 9,347,606 msg/sec AtomicQueue2, 2,s: 3,606,491 msg/sec AtomicQueue2, 2,i: 3,422,759 msg/sec AtomicQueue2, 3,s: 2,914,706 msg/sec AtomicQueue2, 3,i: 2,650,206 msg/sec AtomicQueue2, 4,s: 2,283,272 msg/sec AtomicQueue2, 4,i: 2,745,802 msg/sec AtomicQueue2, 5,s: 2,028,794 msg/sec AtomicQueue2, 5,i: 2,044,420 msg/sec AtomicQueue2, 6,s: 1,880,992 msg/sec AtomicQueue2, 6,i: 1,978,341 msg/sec AtomicQueue2, 7,s: 1,767,987 msg/sec AtomicQueue2, 7,i: 1,723,996 msg/sec AtomicQueue2, 8,s: 1,360,081 msg/sec AtomicQueue2, 8,i: 1,513,675 msg/sec AtomicQueue2, 9,s: 1,122,183 msg/sec AtomicQueue2, 9,i: 1,295,696 msg/sec AtomicQueue2,10,s: 856,964 msg/sec AtomicQueue2,10,i: 1,018,331 msg/sec AtomicQueue2,11,s: 497,015 msg/sec AtomicQueue2,11,i: 814,471 msg/sec AtomicQueue2,12,s: 500,185 msg/sec AtomicQueue2,12,i: 841,272 msg/sec AtomicQueue2,13,s: 513,266 msg/sec AtomicQueue2,13,i: 521,119 msg/sec AtomicQueue2,14,s: 509,725 msg/sec AtomicQueue2,14,i: 853,987 msg/sec AtomicQueueB2, 1,s: 13,897,974 msg/sec AtomicQueueB2, 1,i: 13,865,837 msg/sec AtomicQueueB2, 2,s: 3,401,194 msg/sec AtomicQueueB2, 2,i: 3,698,488 msg/sec AtomicQueueB2, 3,s: 2,748,611 msg/sec AtomicQueueB2, 3,i: 2,800,454 msg/sec AtomicQueueB2, 4,s: 2,481,086 msg/sec AtomicQueueB2, 4,i: 2,651,429 msg/sec AtomicQueueB2, 5,s: 2,190,192 msg/sec AtomicQueueB2, 5,i: 2,151,648 msg/sec AtomicQueueB2, 6,s: 1,875,577 msg/sec AtomicQueueB2, 6,i: 1,997,392 msg/sec AtomicQueueB2, 7,s: 1,863,257 msg/sec AtomicQueueB2, 7,i: 1,712,532 msg/sec AtomicQueueB2, 8,s: 1,286,746 msg/sec AtomicQueueB2, 8,i: 1,429,703 msg/sec AtomicQueueB2, 9,s: 770,473 msg/sec AtomicQueueB2, 9,i: 1,117,878 msg/sec AtomicQueueB2,10,s: 877,203 msg/sec AtomicQueueB2,10,i: 501,364 msg/sec AtomicQueueB2,11,s: 503,338 msg/sec AtomicQueueB2,11,i: 513,777 msg/sec AtomicQueueB2,12,s: 813,597 msg/sec AtomicQueueB2,12,i: 509,835 msg/sec AtomicQueueB2,13,s: 502,327 msg/sec AtomicQueueB2,13,i: 529,868 msg/sec AtomicQueueB2,14,s: 499,919 msg/sec AtomicQueueB2,14,i: 502,323 msg/sec OptimistAtomicQueue2, 1,s: 67,141,342 msg/sec OptimistAtomicQueue2, 1,i: 67,194,574 msg/sec OptimistAtomicQueue2, 2,s: 7,551,190 msg/sec OptimistAtomicQueue2, 2,i: 7,725,921 msg/sec OptimistAtomicQueue2, 3,s: 7,578,497 msg/sec OptimistAtomicQueue2, 3,i: 8,762,511 msg/sec OptimistAtomicQueue2, 4,s: 11,402,288 msg/sec OptimistAtomicQueue2, 4,i: 12,234,474 msg/sec OptimistAtomicQueue2, 5,s: 8,256,529 msg/sec OptimistAtomicQueue2, 5,i: 9,239,096 msg/sec OptimistAtomicQueue2, 6,s: 12,468,879 msg/sec OptimistAtomicQueue2, 6,i: 12,914,349 msg/sec OptimistAtomicQueue2, 7,s: 12,777,706 msg/sec OptimistAtomicQueue2, 7,i: 12,759,766 msg/sec OptimistAtomicQueue2, 8,s: 9,550,456 msg/sec OptimistAtomicQueue2, 8,i: 10,319,104 msg/sec OptimistAtomicQueue2, 9,s: 9,553,404 msg/sec OptimistAtomicQueue2, 9,i: 9,961,145 msg/sec OptimistAtomicQueue2,10,s: 10,423,853 msg/sec OptimistAtomicQueue2,10,i: 10,376,199 msg/sec OptimistAtomicQueue2,11,s: 10,534,066 msg/sec OptimistAtomicQueue2,11,i: 10,719,239 msg/sec OptimistAtomicQueue2,12,s: 9,587,874 msg/sec OptimistAtomicQueue2,12,i: 10,420,921 msg/sec OptimistAtomicQueue2,13,s: 9,145,462 msg/sec OptimistAtomicQueue2,13,i: 10,579,902 msg/sec OptimistAtomicQueue2,14,s: 8,133,348 msg/sec OptimistAtomicQueue2,14,i: 10,281,114 msg/sec OptimistAtomicQueueB2, 1,s: 11,595,666 msg/sec OptimistAtomicQueueB2, 1,i: 25,158,496 msg/sec OptimistAtomicQueueB2, 2,s: 8,307,151 msg/sec OptimistAtomicQueueB2, 2,i: 8,505,270 msg/sec OptimistAtomicQueueB2, 3,s: 7,614,053 msg/sec OptimistAtomicQueueB2, 3,i: 8,376,544 msg/sec OptimistAtomicQueueB2, 4,s: 8,001,716 msg/sec OptimistAtomicQueueB2, 4,i: 8,753,213 msg/sec OptimistAtomicQueueB2, 5,s: 8,799,161 msg/sec OptimistAtomicQueueB2, 5,i: 8,928,505 msg/sec OptimistAtomicQueueB2, 6,s: 10,176,479 msg/sec OptimistAtomicQueueB2, 6,i: 13,123,186 msg/sec OptimistAtomicQueueB2, 7,s: 12,748,581 msg/sec OptimistAtomicQueueB2, 7,i: 13,402,293 msg/sec OptimistAtomicQueueB2, 8,s: 9,261,621 msg/sec OptimistAtomicQueueB2, 8,i: 9,940,167 msg/sec OptimistAtomicQueueB2, 9,s: 9,516,124 msg/sec OptimistAtomicQueueB2, 9,i: 9,639,037 msg/sec OptimistAtomicQueueB2,10,s: 9,801,623 msg/sec OptimistAtomicQueueB2,10,i: 9,758,246 msg/sec OptimistAtomicQueueB2,11,s: 8,787,228 msg/sec OptimistAtomicQueueB2,11,i: 9,715,704 msg/sec OptimistAtomicQueueB2,12,s: 8,945,066 msg/sec OptimistAtomicQueueB2,12,i: 10,046,770 msg/sec OptimistAtomicQueueB2,13,s: 8,549,755 msg/sec OptimistAtomicQueueB2,13,i: 10,459,869 msg/sec OptimistAtomicQueueB2,14,s: 7,994,455 msg/sec OptimistAtomicQueueB2,14,i: 10,098,476 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000409 sec/round-trip boost::lockfree::queue: 0.000000784 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000244 sec/round-trip moodycamel::ConcurrentQueue: 0.000000460 sec/round-trip pthread_spinlock: 0.000000812 sec/round-trip std::mutex: 0.000002595 sec/round-trip tbb::spin_mutex: 0.000000749 sec/round-trip tbb::concurrent_bounded_queue: 0.000000598 sec/round-trip xenium::michael_scott_queue: 0.000000745 sec/round-trip xenium::ramalhete_queue: 0.000000500 sec/round-trip xenium::vyukov_bounded_queue: 0.000000459 sec/round-trip AtomicQueue: 0.000000308 sec/round-trip AtomicQueueB: 0.000000402 sec/round-trip OptimistAtomicQueue: 0.000000360 sec/round-trip OptimistAtomicQueueB: 0.000000338 sec/round-trip AtomicQueue2: 0.000000364 sec/round-trip AtomicQueueB2: 0.000000441 sec/round-trip OptimistAtomicQueue2: 0.000000387 sec/round-trip OptimistAtomicQueueB2: 0.000000359 sec/round-trip [3/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 27,527,260 msg/sec boost::lockfree::spsc_queue, 1,i: 27,526,742 msg/sec boost::lockfree::queue, 1,s: 3,013,805 msg/sec boost::lockfree::queue, 1,i: 3,033,187 msg/sec boost::lockfree::queue, 2,s: 2,372,615 msg/sec boost::lockfree::queue, 2,i: 2,525,887 msg/sec boost::lockfree::queue, 3,s: 2,377,429 msg/sec boost::lockfree::queue, 3,i: 2,331,809 msg/sec boost::lockfree::queue, 4,s: 2,279,219 msg/sec boost::lockfree::queue, 4,i: 2,369,155 msg/sec boost::lockfree::queue, 5,s: 2,304,957 msg/sec boost::lockfree::queue, 5,i: 2,045,733 msg/sec boost::lockfree::queue, 6,s: 2,142,991 msg/sec boost::lockfree::queue, 6,i: 2,181,709 msg/sec boost::lockfree::queue, 7,s: 1,973,951 msg/sec boost::lockfree::queue, 7,i: 1,991,175 msg/sec boost::lockfree::queue, 8,s: 509,461 msg/sec boost::lockfree::queue, 8,i: 1,245,585 msg/sec boost::lockfree::queue, 9,s: 710,705 msg/sec boost::lockfree::queue, 9,i: 1,061,969 msg/sec boost::lockfree::queue,10,s: 885,560 msg/sec boost::lockfree::queue,10,i: 933,903 msg/sec boost::lockfree::queue,11,s: 533,859 msg/sec boost::lockfree::queue,11,i: 854,164 msg/sec boost::lockfree::queue,12,s: 587,650 msg/sec boost::lockfree::queue,12,i: 520,060 msg/sec boost::lockfree::queue,13,s: 517,763 msg/sec boost::lockfree::queue,13,i: 519,569 msg/sec boost::lockfree::queue,14,s: 511,363 msg/sec boost::lockfree::queue,14,i: 520,351 msg/sec moodycamel::ReaderWriterQueue, 1,s: 143,040,612 msg/sec moodycamel::ReaderWriterQueue, 1,i: 144,590,480 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,129,958 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,096,360 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,370,262 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,796,141 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,724,152 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,973,639 msg/sec moodycamel::ConcurrentQueue, 4,s: 4,634,692 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,086,650 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,452,191 msg/sec moodycamel::ConcurrentQueue, 5,i: 14,759,014 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,630,754 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,894,978 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,260,467 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,824,321 msg/sec moodycamel::ConcurrentQueue, 8,s: 9,483,308 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,621,353 msg/sec moodycamel::ConcurrentQueue, 9,s: 4,871,070 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,119,670 msg/sec moodycamel::ConcurrentQueue,10,s: 4,949,146 msg/sec moodycamel::ConcurrentQueue,10,i: 5,179,907 msg/sec moodycamel::ConcurrentQueue,11,s: 4,926,514 msg/sec moodycamel::ConcurrentQueue,11,i: 7,988,928 msg/sec moodycamel::ConcurrentQueue,12,s: 4,998,918 msg/sec moodycamel::ConcurrentQueue,12,i: 5,801,434 msg/sec moodycamel::ConcurrentQueue,13,s: 4,939,650 msg/sec moodycamel::ConcurrentQueue,13,i: 5,017,688 msg/sec moodycamel::ConcurrentQueue,14,s: 6,749,935 msg/sec moodycamel::ConcurrentQueue,14,i: 5,488,674 msg/sec pthread_spinlock, 1,s: 5,584,877 msg/sec pthread_spinlock, 1,i: 5,442,108 msg/sec pthread_spinlock, 2,s: 3,214,511 msg/sec pthread_spinlock, 2,i: 4,475,519 msg/sec pthread_spinlock, 3,s: 2,884,546 msg/sec pthread_spinlock, 3,i: 2,843,046 msg/sec pthread_spinlock, 4,s: 2,578,953 msg/sec pthread_spinlock, 4,i: 2,220,428 msg/sec pthread_spinlock, 5,s: 2,129,328 msg/sec pthread_spinlock, 5,i: 2,400,722 msg/sec pthread_spinlock, 6,s: 1,999,770 msg/sec pthread_spinlock, 6,i: 2,028,996 msg/sec pthread_spinlock, 7,s: 1,644,217 msg/sec pthread_spinlock, 7,i: 1,701,542 msg/sec pthread_spinlock, 8,s: 1,111,874 msg/sec pthread_spinlock, 8,i: 1,254,202 msg/sec pthread_spinlock, 9,s: 1,027,162 msg/sec pthread_spinlock, 9,i: 536,023 msg/sec pthread_spinlock,10,s: 531,246 msg/sec pthread_spinlock,10,i: 530,212 msg/sec pthread_spinlock,11,s: 511,265 msg/sec pthread_spinlock,11,i: 552,653 msg/sec pthread_spinlock,12,s: 761,390 msg/sec pthread_spinlock,12,i: 535,848 msg/sec pthread_spinlock,13,s: 773,053 msg/sec pthread_spinlock,13,i: 525,824 msg/sec pthread_spinlock,14,s: 507,904 msg/sec pthread_spinlock,14,i: 539,089 msg/sec std::mutex, 1,s: 611,380 msg/sec std::mutex, 1,i: 6,447,179 msg/sec std::mutex, 2,s: 4,663,366 msg/sec std::mutex, 2,i: 4,617,124 msg/sec std::mutex, 3,s: 3,060,408 msg/sec std::mutex, 3,i: 2,894,273 msg/sec std::mutex, 4,s: 2,819,203 msg/sec std::mutex, 4,i: 2,808,575 msg/sec std::mutex, 5,s: 3,606,259 msg/sec std::mutex, 5,i: 3,653,522 msg/sec std::mutex, 6,s: 4,569,913 msg/sec std::mutex, 6,i: 4,744,428 msg/sec std::mutex, 7,s: 6,176,540 msg/sec std::mutex, 7,i: 6,133,789 msg/sec std::mutex, 8,s: 6,901,625 msg/sec std::mutex, 8,i: 5,820,809 msg/sec std::mutex, 9,s: 6,392,642 msg/sec std::mutex, 9,i: 4,856,263 msg/sec std::mutex,10,s: 6,098,580 msg/sec std::mutex,10,i: 4,614,151 msg/sec std::mutex,11,s: 6,039,174 msg/sec std::mutex,11,i: 5,003,659 msg/sec std::mutex,12,s: 6,419,655 msg/sec std::mutex,12,i: 5,057,998 msg/sec std::mutex,13,s: 6,301,464 msg/sec std::mutex,13,i: 5,237,003 msg/sec std::mutex,14,s: 6,361,504 msg/sec std::mutex,14,i: 5,207,403 msg/sec tbb::spin_mutex, 1,s: 22,676,228 msg/sec tbb::spin_mutex, 1,i: 22,842,102 msg/sec tbb::spin_mutex, 2,s: 13,439,440 msg/sec tbb::spin_mutex, 2,i: 15,252,722 msg/sec tbb::spin_mutex, 3,s: 9,282,762 msg/sec tbb::spin_mutex, 3,i: 8,683,053 msg/sec tbb::spin_mutex, 4,s: 6,658,112 msg/sec tbb::spin_mutex, 4,i: 5,449,914 msg/sec tbb::spin_mutex, 5,s: 4,249,689 msg/sec tbb::spin_mutex, 5,i: 4,148,741 msg/sec tbb::spin_mutex, 6,s: 3,284,317 msg/sec tbb::spin_mutex, 6,i: 4,003,632 msg/sec tbb::spin_mutex, 7,s: 1,988,055 msg/sec tbb::spin_mutex, 7,i: 2,160,598 msg/sec tbb::spin_mutex, 8,s: 1,014,456 msg/sec tbb::spin_mutex, 8,i: 1,299,875 msg/sec tbb::spin_mutex, 9,s: 797,484 msg/sec tbb::spin_mutex, 9,i: 873,176 msg/sec tbb::spin_mutex,10,s: 553,158 msg/sec tbb::spin_mutex,10,i: 822,489 msg/sec tbb::spin_mutex,11,s: 474,228 msg/sec tbb::spin_mutex,11,i: 747,117 msg/sec tbb::spin_mutex,12,s: 494,164 msg/sec tbb::spin_mutex,12,i: 663,439 msg/sec tbb::spin_mutex,13,s: 519,160 msg/sec tbb::spin_mutex,13,i: 534,094 msg/sec tbb::spin_mutex,14,s: 488,075 msg/sec tbb::spin_mutex,14,i: 473,629 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,169,914 msg/sec tbb::concurrent_bounded_queue, 1,i: 3,239,387 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,658,480 msg/sec tbb::concurrent_bounded_queue, 2,i: 4,787,952 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,959,497 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,090,321 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,610,107 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,693,106 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,142,989 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,215,383 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,646,007 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,877,544 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,411,166 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,584,803 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,289,460 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,526,298 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,234,868 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,402,760 msg/sec tbb::concurrent_bounded_queue,10,s: 1,202,792 msg/sec tbb::concurrent_bounded_queue,10,i: 1,287,742 msg/sec tbb::concurrent_bounded_queue,11,s: 1,166,555 msg/sec tbb::concurrent_bounded_queue,11,i: 1,197,778 msg/sec tbb::concurrent_bounded_queue,12,s: 1,176,849 msg/sec tbb::concurrent_bounded_queue,12,i: 1,150,289 msg/sec tbb::concurrent_bounded_queue,13,s: 1,135,632 msg/sec tbb::concurrent_bounded_queue,13,i: 1,138,613 msg/sec tbb::concurrent_bounded_queue,14,s: 1,145,608 msg/sec tbb::concurrent_bounded_queue,14,i: 867,271 msg/sec xenium::michael_scott_queue, 1,s: 3,843,772 msg/sec xenium::michael_scott_queue, 1,i: 3,865,102 msg/sec xenium::michael_scott_queue, 2,s: 2,782,502 msg/sec xenium::michael_scott_queue, 2,i: 2,665,802 msg/sec xenium::michael_scott_queue, 3,s: 2,494,839 msg/sec xenium::michael_scott_queue, 3,i: 2,471,706 msg/sec xenium::michael_scott_queue, 4,s: 2,134,673 msg/sec xenium::michael_scott_queue, 4,i: 2,258,656 msg/sec xenium::michael_scott_queue, 5,s: 1,985,422 msg/sec xenium::michael_scott_queue, 5,i: 2,064,210 msg/sec xenium::michael_scott_queue, 6,s: 1,591,706 msg/sec xenium::michael_scott_queue, 6,i: 1,709,831 msg/sec xenium::michael_scott_queue, 7,s: 1,528,083 msg/sec xenium::michael_scott_queue, 7,i: 1,591,171 msg/sec xenium::michael_scott_queue, 8,s: 513,617 msg/sec xenium::michael_scott_queue, 8,i: 1,190,722 msg/sec xenium::michael_scott_queue, 9,s: 760,719 msg/sec xenium::michael_scott_queue, 9,i: 932,076 msg/sec xenium::michael_scott_queue,10,s: 848,025 msg/sec xenium::michael_scott_queue,10,i: 503,511 msg/sec xenium::michael_scott_queue,11,s: 498,335 msg/sec xenium::michael_scott_queue,11,i: 518,507 msg/sec xenium::michael_scott_queue,12,s: 496,547 msg/sec xenium::michael_scott_queue,12,i: 770,086 msg/sec xenium::michael_scott_queue,13,s: 596,227 msg/sec xenium::michael_scott_queue,13,i: 504,175 msg/sec xenium::michael_scott_queue,14,s: 510,469 msg/sec xenium::michael_scott_queue,14,i: 503,658 msg/sec xenium::ramalhete_queue, 1,s: 6,767,739 msg/sec xenium::ramalhete_queue, 1,i: 6,795,088 msg/sec xenium::ramalhete_queue, 2,s: 4,857,860 msg/sec xenium::ramalhete_queue, 2,i: 6,616,220 msg/sec xenium::ramalhete_queue, 3,s: 8,010,197 msg/sec xenium::ramalhete_queue, 3,i: 7,614,584 msg/sec xenium::ramalhete_queue, 4,s: 7,034,502 msg/sec xenium::ramalhete_queue, 4,i: 7,527,654 msg/sec xenium::ramalhete_queue, 5,s: 7,996,556 msg/sec xenium::ramalhete_queue, 5,i: 8,055,035 msg/sec xenium::ramalhete_queue, 6,s: 7,976,381 msg/sec xenium::ramalhete_queue, 6,i: 8,056,205 msg/sec xenium::ramalhete_queue, 7,s: 8,082,634 msg/sec xenium::ramalhete_queue, 7,i: 8,366,505 msg/sec xenium::ramalhete_queue, 8,s: 7,812,776 msg/sec xenium::ramalhete_queue, 8,i: 8,934,784 msg/sec xenium::ramalhete_queue, 9,s: 7,843,741 msg/sec xenium::ramalhete_queue, 9,i: 7,448,400 msg/sec xenium::ramalhete_queue,10,s: 8,073,199 msg/sec xenium::ramalhete_queue,10,i: 8,188,800 msg/sec xenium::ramalhete_queue,11,s: 8,183,732 msg/sec xenium::ramalhete_queue,11,i: 7,716,692 msg/sec xenium::ramalhete_queue,12,s: 8,317,359 msg/sec xenium::ramalhete_queue,12,i: 8,285,762 msg/sec xenium::ramalhete_queue,13,s: 8,833,453 msg/sec xenium::ramalhete_queue,13,i: 8,424,793 msg/sec xenium::ramalhete_queue,14,s: 9,168,872 msg/sec xenium::ramalhete_queue,14,i: 7,901,255 msg/sec xenium::vyukov_bounded_queue, 1,s: 16,368,909 msg/sec xenium::vyukov_bounded_queue, 1,i: 14,687,055 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,945,308 msg/sec xenium::vyukov_bounded_queue, 2,i: 8,836,409 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,414,706 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,633,163 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,990,392 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,969,391 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,534,361 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,675,542 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,373,897 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,309,181 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,105,436 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,022,992 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,326,558 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,658,752 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,251,077 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,535,518 msg/sec xenium::vyukov_bounded_queue,10,s: 1,121,185 msg/sec xenium::vyukov_bounded_queue,10,i: 1,531,230 msg/sec xenium::vyukov_bounded_queue,11,s: 1,058,173 msg/sec xenium::vyukov_bounded_queue,11,i: 1,139,103 msg/sec xenium::vyukov_bounded_queue,12,s: 1,110,989 msg/sec xenium::vyukov_bounded_queue,12,i: 1,101,306 msg/sec xenium::vyukov_bounded_queue,13,s: 1,088,278 msg/sec xenium::vyukov_bounded_queue,13,i: 1,069,028 msg/sec xenium::vyukov_bounded_queue,14,s: 840,736 msg/sec xenium::vyukov_bounded_queue,14,i: 1,018,905 msg/sec AtomicQueue, 1,s: 21,485,834 msg/sec AtomicQueue, 1,i: 21,453,869 msg/sec AtomicQueue, 2,s: 4,324,602 msg/sec AtomicQueue, 2,i: 4,540,218 msg/sec AtomicQueue, 3,s: 3,196,766 msg/sec AtomicQueue, 3,i: 3,462,268 msg/sec AtomicQueue, 4,s: 2,366,505 msg/sec AtomicQueue, 4,i: 2,620,983 msg/sec AtomicQueue, 5,s: 2,166,118 msg/sec AtomicQueue, 5,i: 2,267,764 msg/sec AtomicQueue, 6,s: 1,993,380 msg/sec AtomicQueue, 6,i: 2,179,981 msg/sec AtomicQueue, 7,s: 1,903,958 msg/sec AtomicQueue, 7,i: 1,818,526 msg/sec AtomicQueue, 8,s: 1,090,124 msg/sec AtomicQueue, 8,i: 1,513,888 msg/sec AtomicQueue, 9,s: 1,049,824 msg/sec AtomicQueue, 9,i: 1,101,467 msg/sec AtomicQueue,10,s: 1,064,465 msg/sec AtomicQueue,10,i: 1,105,040 msg/sec AtomicQueue,11,s: 993,829 msg/sec AtomicQueue,11,i: 504,215 msg/sec AtomicQueue,12,s: 510,313 msg/sec AtomicQueue,12,i: 511,307 msg/sec AtomicQueue,13,s: 737,723 msg/sec AtomicQueue,13,i: 892,564 msg/sec AtomicQueue,14,s: 496,970 msg/sec AtomicQueue,14,i: 565,677 msg/sec AtomicQueueB, 1,s: 15,252,418 msg/sec AtomicQueueB, 1,i: 16,696,916 msg/sec AtomicQueueB, 2,s: 3,089,592 msg/sec AtomicQueueB, 2,i: 3,315,137 msg/sec AtomicQueueB, 3,s: 2,893,818 msg/sec AtomicQueueB, 3,i: 3,276,093 msg/sec AtomicQueueB, 4,s: 2,411,546 msg/sec AtomicQueueB, 4,i: 2,518,992 msg/sec AtomicQueueB, 5,s: 2,129,851 msg/sec AtomicQueueB, 5,i: 2,416,644 msg/sec AtomicQueueB, 6,s: 2,046,699 msg/sec AtomicQueueB, 6,i: 2,107,192 msg/sec AtomicQueueB, 7,s: 1,746,807 msg/sec AtomicQueueB, 7,i: 1,823,287 msg/sec AtomicQueueB, 8,s: 544,813 msg/sec AtomicQueueB, 8,i: 1,381,867 msg/sec AtomicQueueB, 9,s: 800,806 msg/sec AtomicQueueB, 9,i: 1,262,760 msg/sec AtomicQueueB,10,s: 918,740 msg/sec AtomicQueueB,10,i: 896,143 msg/sec AtomicQueueB,11,s: 511,768 msg/sec AtomicQueueB,11,i: 502,107 msg/sec AtomicQueueB,12,s: 517,734 msg/sec AtomicQueueB,12,i: 513,852 msg/sec AtomicQueueB,13,s: 501,202 msg/sec AtomicQueueB,13,i: 506,857 msg/sec AtomicQueueB,14,s: 521,267 msg/sec AtomicQueueB,14,i: 515,207 msg/sec OptimistAtomicQueue, 1,s: 176,888,677 msg/sec OptimistAtomicQueue, 1,i: 60,479,721 msg/sec OptimistAtomicQueue, 2,s: 9,765,218 msg/sec OptimistAtomicQueue, 2,i: 11,352,927 msg/sec OptimistAtomicQueue, 3,s: 9,616,804 msg/sec OptimistAtomicQueue, 3,i: 11,712,456 msg/sec OptimistAtomicQueue, 4,s: 12,198,931 msg/sec OptimistAtomicQueue, 4,i: 13,175,336 msg/sec OptimistAtomicQueue, 5,s: 13,003,325 msg/sec OptimistAtomicQueue, 5,i: 13,068,601 msg/sec OptimistAtomicQueue, 6,s: 13,940,407 msg/sec OptimistAtomicQueue, 6,i: 14,000,610 msg/sec OptimistAtomicQueue, 7,s: 13,276,354 msg/sec OptimistAtomicQueue, 7,i: 13,910,284 msg/sec OptimistAtomicQueue, 8,s: 10,448,607 msg/sec OptimistAtomicQueue, 8,i: 11,045,565 msg/sec OptimistAtomicQueue, 9,s: 10,402,251 msg/sec OptimistAtomicQueue, 9,i: 10,693,231 msg/sec OptimistAtomicQueue,10,s: 10,598,644 msg/sec OptimistAtomicQueue,10,i: 10,539,029 msg/sec OptimistAtomicQueue,11,s: 10,398,952 msg/sec OptimistAtomicQueue,11,i: 10,546,908 msg/sec OptimistAtomicQueue,12,s: 10,248,887 msg/sec OptimistAtomicQueue,12,i: 10,606,472 msg/sec OptimistAtomicQueue,13,s: 9,149,127 msg/sec OptimistAtomicQueue,13,i: 11,044,159 msg/sec OptimistAtomicQueue,14,s: 8,722,190 msg/sec OptimistAtomicQueue,14,i: 10,773,386 msg/sec OptimistAtomicQueueB, 1,s: 28,906,692 msg/sec OptimistAtomicQueueB, 1,i: 217,639,296 msg/sec OptimistAtomicQueueB, 2,s: 8,615,143 msg/sec OptimistAtomicQueueB, 2,i: 8,153,587 msg/sec OptimistAtomicQueueB, 3,s: 12,919,421 msg/sec OptimistAtomicQueueB, 3,i: 13,579,933 msg/sec OptimistAtomicQueueB, 4,s: 12,416,640 msg/sec OptimistAtomicQueueB, 4,i: 13,103,692 msg/sec OptimistAtomicQueueB, 5,s: 12,486,045 msg/sec OptimistAtomicQueueB, 5,i: 13,457,293 msg/sec OptimistAtomicQueueB, 6,s: 13,156,588 msg/sec OptimistAtomicQueueB, 6,i: 13,730,898 msg/sec OptimistAtomicQueueB, 7,s: 12,948,751 msg/sec OptimistAtomicQueueB, 7,i: 13,741,748 msg/sec OptimistAtomicQueueB, 8,s: 10,871,514 msg/sec OptimistAtomicQueueB, 8,i: 11,077,463 msg/sec OptimistAtomicQueueB, 9,s: 10,508,312 msg/sec OptimistAtomicQueueB, 9,i: 10,809,254 msg/sec OptimistAtomicQueueB,10,s: 10,805,191 msg/sec OptimistAtomicQueueB,10,i: 10,912,502 msg/sec OptimistAtomicQueueB,11,s: 10,532,702 msg/sec OptimistAtomicQueueB,11,i: 10,561,432 msg/sec OptimistAtomicQueueB,12,s: 10,329,817 msg/sec OptimistAtomicQueueB,12,i: 10,903,155 msg/sec OptimistAtomicQueueB,13,s: 9,202,800 msg/sec OptimistAtomicQueueB,13,i: 10,904,706 msg/sec OptimistAtomicQueueB,14,s: 8,651,911 msg/sec OptimistAtomicQueueB,14,i: 10,917,729 msg/sec AtomicQueue2, 1,s: 8,056,031 msg/sec AtomicQueue2, 1,i: 8,154,574 msg/sec AtomicQueue2, 2,s: 3,028,159 msg/sec AtomicQueue2, 2,i: 4,148,585 msg/sec AtomicQueue2, 3,s: 2,704,988 msg/sec AtomicQueue2, 3,i: 3,255,472 msg/sec AtomicQueue2, 4,s: 2,364,601 msg/sec AtomicQueue2, 4,i: 2,577,599 msg/sec AtomicQueue2, 5,s: 2,117,121 msg/sec AtomicQueue2, 5,i: 2,310,003 msg/sec AtomicQueue2, 6,s: 1,976,828 msg/sec AtomicQueue2, 6,i: 1,931,149 msg/sec AtomicQueue2, 7,s: 1,713,306 msg/sec AtomicQueue2, 7,i: 1,774,337 msg/sec AtomicQueue2, 8,s: 1,069,199 msg/sec AtomicQueue2, 8,i: 1,334,872 msg/sec AtomicQueue2, 9,s: 1,112,235 msg/sec AtomicQueue2, 9,i: 500,777 msg/sec AtomicQueue2,10,s: 498,320 msg/sec AtomicQueue2,10,i: 1,036,039 msg/sec AtomicQueue2,11,s: 508,344 msg/sec AtomicQueue2,11,i: 822,079 msg/sec AtomicQueue2,12,s: 529,920 msg/sec AtomicQueue2,12,i: 505,263 msg/sec AtomicQueue2,13,s: 520,989 msg/sec AtomicQueue2,13,i: 504,419 msg/sec AtomicQueue2,14,s: 514,345 msg/sec AtomicQueue2,14,i: 805,467 msg/sec AtomicQueueB2, 1,s: 12,568,476 msg/sec AtomicQueueB2, 1,i: 12,658,842 msg/sec AtomicQueueB2, 2,s: 3,063,395 msg/sec AtomicQueueB2, 2,i: 3,872,517 msg/sec AtomicQueueB2, 3,s: 2,973,917 msg/sec AtomicQueueB2, 3,i: 2,600,349 msg/sec AtomicQueueB2, 4,s: 2,372,340 msg/sec AtomicQueueB2, 4,i: 2,747,887 msg/sec AtomicQueueB2, 5,s: 2,058,146 msg/sec AtomicQueueB2, 5,i: 2,274,187 msg/sec AtomicQueueB2, 6,s: 1,952,844 msg/sec AtomicQueueB2, 6,i: 1,995,686 msg/sec AtomicQueueB2, 7,s: 1,806,245 msg/sec AtomicQueueB2, 7,i: 1,785,783 msg/sec AtomicQueueB2, 8,s: 692,393 msg/sec AtomicQueueB2, 8,i: 1,441,624 msg/sec AtomicQueueB2, 9,s: 549,204 msg/sec AtomicQueueB2, 9,i: 1,037,067 msg/sec AtomicQueueB2,10,s: 510,783 msg/sec AtomicQueueB2,10,i: 537,170 msg/sec AtomicQueueB2,11,s: 523,660 msg/sec AtomicQueueB2,11,i: 506,105 msg/sec AtomicQueueB2,12,s: 514,540 msg/sec AtomicQueueB2,12,i: 514,900 msg/sec AtomicQueueB2,13,s: 500,175 msg/sec AtomicQueueB2,13,i: 530,580 msg/sec AtomicQueueB2,14,s: 545,461 msg/sec AtomicQueueB2,14,i: 525,211 msg/sec OptimistAtomicQueue2, 1,s: 51,437,823 msg/sec OptimistAtomicQueue2, 1,i: 48,484,369 msg/sec OptimistAtomicQueue2, 2,s: 6,494,279 msg/sec OptimistAtomicQueue2, 2,i: 7,345,477 msg/sec OptimistAtomicQueue2, 3,s: 11,836,601 msg/sec OptimistAtomicQueue2, 3,i: 11,988,945 msg/sec OptimistAtomicQueue2, 4,s: 12,357,955 msg/sec OptimistAtomicQueue2, 4,i: 12,733,129 msg/sec OptimistAtomicQueue2, 5,s: 12,233,629 msg/sec OptimistAtomicQueue2, 5,i: 13,054,270 msg/sec OptimistAtomicQueue2, 6,s: 12,587,477 msg/sec OptimistAtomicQueue2, 6,i: 13,135,625 msg/sec OptimistAtomicQueue2, 7,s: 12,196,722 msg/sec OptimistAtomicQueue2, 7,i: 13,150,484 msg/sec OptimistAtomicQueue2, 8,s: 10,412,486 msg/sec OptimistAtomicQueue2, 8,i: 10,299,705 msg/sec OptimistAtomicQueue2, 9,s: 10,001,897 msg/sec OptimistAtomicQueue2, 9,i: 9,998,470 msg/sec OptimistAtomicQueue2,10,s: 10,358,330 msg/sec OptimistAtomicQueue2,10,i: 9,872,341 msg/sec OptimistAtomicQueue2,11,s: 10,366,219 msg/sec OptimistAtomicQueue2,11,i: 10,154,401 msg/sec OptimistAtomicQueue2,12,s: 10,245,023 msg/sec OptimistAtomicQueue2,12,i: 10,229,527 msg/sec OptimistAtomicQueue2,13,s: 9,217,093 msg/sec OptimistAtomicQueue2,13,i: 9,944,791 msg/sec OptimistAtomicQueue2,14,s: 8,574,969 msg/sec OptimistAtomicQueue2,14,i: 10,674,667 msg/sec OptimistAtomicQueueB2, 1,s: 25,048,114 msg/sec OptimistAtomicQueueB2, 1,i: 24,872,488 msg/sec OptimistAtomicQueueB2, 2,s: 7,889,022 msg/sec OptimistAtomicQueueB2, 2,i: 7,897,391 msg/sec OptimistAtomicQueueB2, 3,s: 7,766,523 msg/sec OptimistAtomicQueueB2, 3,i: 8,806,036 msg/sec OptimistAtomicQueueB2, 4,s: 8,358,579 msg/sec OptimistAtomicQueueB2, 4,i: 9,107,258 msg/sec OptimistAtomicQueueB2, 5,s: 12,803,975 msg/sec OptimistAtomicQueueB2, 5,i: 13,270,039 msg/sec OptimistAtomicQueueB2, 6,s: 13,085,084 msg/sec OptimistAtomicQueueB2, 6,i: 13,722,187 msg/sec OptimistAtomicQueueB2, 7,s: 12,777,397 msg/sec OptimistAtomicQueueB2, 7,i: 13,416,078 msg/sec OptimistAtomicQueueB2, 8,s: 10,053,144 msg/sec OptimistAtomicQueueB2, 8,i: 10,342,894 msg/sec OptimistAtomicQueueB2, 9,s: 10,068,048 msg/sec OptimistAtomicQueueB2, 9,i: 9,558,106 msg/sec OptimistAtomicQueueB2,10,s: 9,754,564 msg/sec OptimistAtomicQueueB2,10,i: 9,769,188 msg/sec OptimistAtomicQueueB2,11,s: 9,824,427 msg/sec OptimistAtomicQueueB2,11,i: 9,933,756 msg/sec OptimistAtomicQueueB2,12,s: 9,167,603 msg/sec OptimistAtomicQueueB2,12,i: 9,484,642 msg/sec OptimistAtomicQueueB2,13,s: 8,537,472 msg/sec OptimistAtomicQueueB2,13,i: 9,961,825 msg/sec OptimistAtomicQueueB2,14,s: 7,794,173 msg/sec OptimistAtomicQueueB2,14,i: 10,243,082 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000313 sec/round-trip boost::lockfree::queue: 0.000000781 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000319 sec/round-trip moodycamel::ConcurrentQueue: 0.000000501 sec/round-trip pthread_spinlock: 0.000000661 sec/round-trip std::mutex: 0.000001870 sec/round-trip tbb::spin_mutex: 0.000000568 sec/round-trip tbb::concurrent_bounded_queue: 0.000000565 sec/round-trip xenium::michael_scott_queue: 0.000000752 sec/round-trip xenium::ramalhete_queue: 0.000000538 sec/round-trip xenium::vyukov_bounded_queue: 0.000000457 sec/round-trip AtomicQueue: 0.000000275 sec/round-trip AtomicQueueB: 0.000000366 sec/round-trip OptimistAtomicQueue: 0.000000288 sec/round-trip OptimistAtomicQueueB: 0.000000340 sec/round-trip AtomicQueue2: 0.000000325 sec/round-trip AtomicQueueB2: 0.000000430 sec/round-trip OptimistAtomicQueue2: 0.000000315 sec/round-trip OptimistAtomicQueueB2: 0.000000354 sec/round-trip [4/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 27,202,135 msg/sec boost::lockfree::spsc_queue, 1,i: 27,392,641 msg/sec boost::lockfree::queue, 1,s: 3,292,838 msg/sec boost::lockfree::queue, 1,i: 3,335,118 msg/sec boost::lockfree::queue, 2,s: 2,604,146 msg/sec boost::lockfree::queue, 2,i: 2,033,872 msg/sec boost::lockfree::queue, 3,s: 2,040,885 msg/sec boost::lockfree::queue, 3,i: 2,361,428 msg/sec boost::lockfree::queue, 4,s: 2,229,131 msg/sec boost::lockfree::queue, 4,i: 2,258,232 msg/sec boost::lockfree::queue, 5,s: 2,287,323 msg/sec boost::lockfree::queue, 5,i: 2,262,376 msg/sec boost::lockfree::queue, 6,s: 2,208,900 msg/sec boost::lockfree::queue, 6,i: 2,098,582 msg/sec boost::lockfree::queue, 7,s: 2,039,329 msg/sec boost::lockfree::queue, 7,i: 1,746,450 msg/sec boost::lockfree::queue, 8,s: 1,210,976 msg/sec boost::lockfree::queue, 8,i: 1,351,057 msg/sec boost::lockfree::queue, 9,s: 566,645 msg/sec boost::lockfree::queue, 9,i: 1,146,501 msg/sec boost::lockfree::queue,10,s: 974,352 msg/sec boost::lockfree::queue,10,i: 1,044,751 msg/sec boost::lockfree::queue,11,s: 540,170 msg/sec boost::lockfree::queue,11,i: 527,907 msg/sec boost::lockfree::queue,12,s: 500,873 msg/sec boost::lockfree::queue,12,i: 534,052 msg/sec boost::lockfree::queue,13,s: 498,626 msg/sec boost::lockfree::queue,13,i: 798,768 msg/sec boost::lockfree::queue,14,s: 546,232 msg/sec boost::lockfree::queue,14,i: 531,140 msg/sec moodycamel::ReaderWriterQueue, 1,s: 209,014,640 msg/sec moodycamel::ReaderWriterQueue, 1,i: 219,094,341 msg/sec moodycamel::ConcurrentQueue, 1,s: 6,700,573 msg/sec moodycamel::ConcurrentQueue, 1,i: 6,203,349 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,766,129 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,410,918 msg/sec moodycamel::ConcurrentQueue, 3,s: 4,686,119 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,798,153 msg/sec moodycamel::ConcurrentQueue, 4,s: 4,487,792 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,662,838 msg/sec moodycamel::ConcurrentQueue, 5,s: 12,775,466 msg/sec moodycamel::ConcurrentQueue, 5,i: 5,912,489 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,695,365 msg/sec moodycamel::ConcurrentQueue, 6,i: 14,452,456 msg/sec moodycamel::ConcurrentQueue, 7,s: 12,057,760 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,285,940 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,028,657 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,978,402 msg/sec moodycamel::ConcurrentQueue, 9,s: 35,353,993 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,354,660 msg/sec moodycamel::ConcurrentQueue,10,s: 19,322,680 msg/sec moodycamel::ConcurrentQueue,10,i: 20,019,976 msg/sec moodycamel::ConcurrentQueue,11,s: 10,313,421 msg/sec moodycamel::ConcurrentQueue,11,i: 19,576,853 msg/sec moodycamel::ConcurrentQueue,12,s: 4,854,650 msg/sec moodycamel::ConcurrentQueue,12,i: 12,786,592 msg/sec moodycamel::ConcurrentQueue,13,s: 16,666,947 msg/sec moodycamel::ConcurrentQueue,13,i: 9,957,370 msg/sec moodycamel::ConcurrentQueue,14,s: 6,874,305 msg/sec moodycamel::ConcurrentQueue,14,i: 4,102,221 msg/sec pthread_spinlock, 1,s: 6,557,193 msg/sec pthread_spinlock, 1,i: 6,400,035 msg/sec pthread_spinlock, 2,s: 3,419,254 msg/sec pthread_spinlock, 2,i: 4,677,388 msg/sec pthread_spinlock, 3,s: 3,413,884 msg/sec pthread_spinlock, 3,i: 3,212,474 msg/sec pthread_spinlock, 4,s: 2,828,424 msg/sec pthread_spinlock, 4,i: 2,245,522 msg/sec pthread_spinlock, 5,s: 2,306,015 msg/sec pthread_spinlock, 5,i: 2,303,254 msg/sec pthread_spinlock, 6,s: 2,081,945 msg/sec pthread_spinlock, 6,i: 1,908,054 msg/sec pthread_spinlock, 7,s: 1,852,534 msg/sec pthread_spinlock, 7,i: 1,882,971 msg/sec pthread_spinlock, 8,s: 1,041,310 msg/sec pthread_spinlock, 8,i: 1,109,840 msg/sec pthread_spinlock, 9,s: 891,495 msg/sec pthread_spinlock, 9,i: 989,130 msg/sec pthread_spinlock,10,s: 857,884 msg/sec pthread_spinlock,10,i: 555,040 msg/sec pthread_spinlock,11,s: 516,465 msg/sec pthread_spinlock,11,i: 516,857 msg/sec pthread_spinlock,12,s: 539,761 msg/sec pthread_spinlock,12,i: 535,486 msg/sec pthread_spinlock,13,s: 550,254 msg/sec pthread_spinlock,13,i: 507,254 msg/sec pthread_spinlock,14,s: 496,059 msg/sec pthread_spinlock,14,i: 568,868 msg/sec std::mutex, 1,s: 5,998,841 msg/sec std::mutex, 1,i: 6,204,525 msg/sec std::mutex, 2,s: 4,806,594 msg/sec std::mutex, 2,i: 4,632,910 msg/sec std::mutex, 3,s: 3,103,725 msg/sec std::mutex, 3,i: 2,904,093 msg/sec std::mutex, 4,s: 2,869,218 msg/sec std::mutex, 4,i: 2,875,687 msg/sec std::mutex, 5,s: 3,639,699 msg/sec std::mutex, 5,i: 3,625,379 msg/sec std::mutex, 6,s: 4,466,328 msg/sec std::mutex, 6,i: 4,452,528 msg/sec std::mutex, 7,s: 5,690,224 msg/sec std::mutex, 7,i: 5,845,120 msg/sec std::mutex, 8,s: 7,113,838 msg/sec std::mutex, 8,i: 6,023,541 msg/sec std::mutex, 9,s: 6,406,657 msg/sec std::mutex, 9,i: 5,578,618 msg/sec std::mutex,10,s: 5,995,601 msg/sec std::mutex,10,i: 5,252,701 msg/sec std::mutex,11,s: 5,649,054 msg/sec std::mutex,11,i: 5,221,177 msg/sec std::mutex,12,s: 5,512,961 msg/sec std::mutex,12,i: 5,358,202 msg/sec std::mutex,13,s: 5,344,856 msg/sec std::mutex,13,i: 5,374,831 msg/sec std::mutex,14,s: 5,426,672 msg/sec std::mutex,14,i: 5,336,649 msg/sec tbb::spin_mutex, 1,s: 24,038,922 msg/sec tbb::spin_mutex, 1,i: 23,794,817 msg/sec tbb::spin_mutex, 2,s: 14,313,879 msg/sec tbb::spin_mutex, 2,i: 12,855,291 msg/sec tbb::spin_mutex, 3,s: 9,317,425 msg/sec tbb::spin_mutex, 3,i: 8,958,334 msg/sec tbb::spin_mutex, 4,s: 6,206,867 msg/sec tbb::spin_mutex, 4,i: 6,278,793 msg/sec tbb::spin_mutex, 5,s: 4,319,873 msg/sec tbb::spin_mutex, 5,i: 4,663,532 msg/sec tbb::spin_mutex, 6,s: 2,702,364 msg/sec tbb::spin_mutex, 6,i: 3,540,685 msg/sec tbb::spin_mutex, 7,s: 1,891,534 msg/sec tbb::spin_mutex, 7,i: 1,882,021 msg/sec tbb::spin_mutex, 8,s: 1,018,435 msg/sec tbb::spin_mutex, 8,i: 1,103,330 msg/sec tbb::spin_mutex, 9,s: 1,053,201 msg/sec tbb::spin_mutex, 9,i: 945,435 msg/sec tbb::spin_mutex,10,s: 743,810 msg/sec tbb::spin_mutex,10,i: 840,813 msg/sec tbb::spin_mutex,11,s: 546,853 msg/sec tbb::spin_mutex,11,i: 625,564 msg/sec tbb::spin_mutex,12,s: 578,196 msg/sec tbb::spin_mutex,12,i: 593,027 msg/sec tbb::spin_mutex,13,s: 536,209 msg/sec tbb::spin_mutex,13,i: 448,081 msg/sec tbb::spin_mutex,14,s: 455,909 msg/sec tbb::spin_mutex,14,i: 393,905 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,878,826 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,446,644 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,621,376 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,610,603 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,134,156 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,109,415 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,196,099 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,583,916 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,217,965 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,255,387 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,730,499 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,824,588 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,353,407 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,510,402 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,321,668 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,914,786 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,195,975 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,538,263 msg/sec tbb::concurrent_bounded_queue,10,s: 1,188,623 msg/sec tbb::concurrent_bounded_queue,10,i: 1,337,064 msg/sec tbb::concurrent_bounded_queue,11,s: 1,235,819 msg/sec tbb::concurrent_bounded_queue,11,i: 1,224,038 msg/sec tbb::concurrent_bounded_queue,12,s: 1,095,735 msg/sec tbb::concurrent_bounded_queue,12,i: 1,213,090 msg/sec tbb::concurrent_bounded_queue,13,s: 1,264,678 msg/sec tbb::concurrent_bounded_queue,13,i: 1,231,218 msg/sec tbb::concurrent_bounded_queue,14,s: 1,087,533 msg/sec tbb::concurrent_bounded_queue,14,i: 1,029,707 msg/sec xenium::michael_scott_queue, 1,s: 2,487,784 msg/sec xenium::michael_scott_queue, 1,i: 2,259,713 msg/sec xenium::michael_scott_queue, 2,s: 2,432,993 msg/sec xenium::michael_scott_queue, 2,i: 3,005,396 msg/sec xenium::michael_scott_queue, 3,s: 2,385,446 msg/sec xenium::michael_scott_queue, 3,i: 2,424,281 msg/sec xenium::michael_scott_queue, 4,s: 2,061,791 msg/sec xenium::michael_scott_queue, 4,i: 2,052,734 msg/sec xenium::michael_scott_queue, 5,s: 2,016,922 msg/sec xenium::michael_scott_queue, 5,i: 2,026,294 msg/sec xenium::michael_scott_queue, 6,s: 1,536,137 msg/sec xenium::michael_scott_queue, 6,i: 1,778,366 msg/sec xenium::michael_scott_queue, 7,s: 1,584,958 msg/sec xenium::michael_scott_queue, 7,i: 1,510,727 msg/sec xenium::michael_scott_queue, 8,s: 1,107,377 msg/sec xenium::michael_scott_queue, 8,i: 1,628,919 msg/sec xenium::michael_scott_queue, 9,s: 1,002,878 msg/sec xenium::michael_scott_queue, 9,i: 1,380,436 msg/sec xenium::michael_scott_queue,10,s: 682,221 msg/sec xenium::michael_scott_queue,10,i: 904,885 msg/sec xenium::michael_scott_queue,11,s: 511,985 msg/sec xenium::michael_scott_queue,11,i: 865,551 msg/sec xenium::michael_scott_queue,12,s: 843,656 msg/sec xenium::michael_scott_queue,12,i: 510,734 msg/sec xenium::michael_scott_queue,13,s: 500,499 msg/sec xenium::michael_scott_queue,13,i: 504,602 msg/sec xenium::michael_scott_queue,14,s: 540,556 msg/sec xenium::michael_scott_queue,14,i: 703,998 msg/sec xenium::ramalhete_queue, 1,s: 12,408,083 msg/sec xenium::ramalhete_queue, 1,i: 15,904,098 msg/sec xenium::ramalhete_queue, 2,s: 5,594,648 msg/sec xenium::ramalhete_queue, 2,i: 7,381,284 msg/sec xenium::ramalhete_queue, 3,s: 6,968,241 msg/sec xenium::ramalhete_queue, 3,i: 6,879,424 msg/sec xenium::ramalhete_queue, 4,s: 7,561,335 msg/sec xenium::ramalhete_queue, 4,i: 8,043,967 msg/sec xenium::ramalhete_queue, 5,s: 7,810,905 msg/sec xenium::ramalhete_queue, 5,i: 10,518,144 msg/sec xenium::ramalhete_queue, 6,s: 11,493,195 msg/sec xenium::ramalhete_queue, 6,i: 11,506,774 msg/sec xenium::ramalhete_queue, 7,s: 10,711,445 msg/sec xenium::ramalhete_queue, 7,i: 10,040,263 msg/sec xenium::ramalhete_queue, 8,s: 6,620,873 msg/sec xenium::ramalhete_queue, 8,i: 8,211,893 msg/sec xenium::ramalhete_queue, 9,s: 8,058,929 msg/sec xenium::ramalhete_queue, 9,i: 7,646,880 msg/sec xenium::ramalhete_queue,10,s: 8,317,305 msg/sec xenium::ramalhete_queue,10,i: 8,079,285 msg/sec xenium::ramalhete_queue,11,s: 8,299,015 msg/sec xenium::ramalhete_queue,11,i: 8,140,490 msg/sec xenium::ramalhete_queue,12,s: 8,245,027 msg/sec xenium::ramalhete_queue,12,i: 8,327,192 msg/sec xenium::ramalhete_queue,13,s: 8,733,981 msg/sec xenium::ramalhete_queue,13,i: 8,133,793 msg/sec xenium::ramalhete_queue,14,s: 11,162,830 msg/sec xenium::ramalhete_queue,14,i: 8,205,317 msg/sec xenium::vyukov_bounded_queue, 1,s: 16,360,746 msg/sec xenium::vyukov_bounded_queue, 1,i: 14,673,927 msg/sec xenium::vyukov_bounded_queue, 2,s: 4,267,491 msg/sec xenium::vyukov_bounded_queue, 2,i: 8,724,241 msg/sec xenium::vyukov_bounded_queue, 3,s: 3,718,889 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,662,420 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,710,853 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,973,642 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,486,373 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,554,750 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,175,164 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,260,603 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,185,597 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,934,765 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,503,499 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,627,087 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,322,196 msg/sec xenium::vyukov_bounded_queue, 9,i: 2,248,042 msg/sec xenium::vyukov_bounded_queue,10,s: 1,220,980 msg/sec xenium::vyukov_bounded_queue,10,i: 1,955,009 msg/sec xenium::vyukov_bounded_queue,11,s: 1,156,702 msg/sec xenium::vyukov_bounded_queue,11,i: 1,333,516 msg/sec xenium::vyukov_bounded_queue,12,s: 1,131,842 msg/sec xenium::vyukov_bounded_queue,12,i: 1,408,766 msg/sec xenium::vyukov_bounded_queue,13,s: 1,026,255 msg/sec xenium::vyukov_bounded_queue,13,i: 1,195,092 msg/sec xenium::vyukov_bounded_queue,14,s: 1,004,846 msg/sec xenium::vyukov_bounded_queue,14,i: 1,077,338 msg/sec AtomicQueue, 1,s: 8,058,966 msg/sec AtomicQueue, 1,i: 18,547,523 msg/sec AtomicQueue, 2,s: 4,648,662 msg/sec AtomicQueue, 2,i: 5,150,399 msg/sec AtomicQueue, 3,s: 2,690,464 msg/sec AtomicQueue, 3,i: 3,132,859 msg/sec AtomicQueue, 4,s: 2,329,000 msg/sec AtomicQueue, 4,i: 2,491,431 msg/sec AtomicQueue, 5,s: 2,151,394 msg/sec AtomicQueue, 5,i: 2,386,947 msg/sec AtomicQueue, 6,s: 2,017,584 msg/sec AtomicQueue, 6,i: 1,916,339 msg/sec AtomicQueue, 7,s: 1,583,307 msg/sec AtomicQueue, 7,i: 1,735,534 msg/sec AtomicQueue, 8,s: 708,117 msg/sec AtomicQueue, 8,i: 1,683,338 msg/sec AtomicQueue, 9,s: 523,909 msg/sec AtomicQueue, 9,i: 1,554,831 msg/sec AtomicQueue,10,s: 520,893 msg/sec AtomicQueue,10,i: 1,369,336 msg/sec AtomicQueue,11,s: 584,966 msg/sec AtomicQueue,11,i: 1,031,609 msg/sec AtomicQueue,12,s: 690,508 msg/sec AtomicQueue,12,i: 507,691 msg/sec AtomicQueue,13,s: 522,374 msg/sec AtomicQueue,13,i: 518,887 msg/sec AtomicQueue,14,s: 741,848 msg/sec AtomicQueue,14,i: 525,745 msg/sec AtomicQueueB, 1,s: 13,274,353 msg/sec AtomicQueueB, 1,i: 13,334,905 msg/sec AtomicQueueB, 2,s: 3,575,421 msg/sec AtomicQueueB, 2,i: 3,931,616 msg/sec AtomicQueueB, 3,s: 2,695,626 msg/sec AtomicQueueB, 3,i: 3,190,620 msg/sec AtomicQueueB, 4,s: 2,344,268 msg/sec AtomicQueueB, 4,i: 2,464,634 msg/sec AtomicQueueB, 5,s: 2,046,268 msg/sec AtomicQueueB, 5,i: 1,970,020 msg/sec AtomicQueueB, 6,s: 1,824,985 msg/sec AtomicQueueB, 6,i: 1,864,205 msg/sec AtomicQueueB, 7,s: 1,752,366 msg/sec AtomicQueueB, 7,i: 1,775,488 msg/sec AtomicQueueB, 8,s: 681,844 msg/sec AtomicQueueB, 8,i: 1,521,716 msg/sec AtomicQueueB, 9,s: 529,372 msg/sec AtomicQueueB, 9,i: 1,442,184 msg/sec AtomicQueueB,10,s: 716,806 msg/sec AtomicQueueB,10,i: 1,251,131 msg/sec AtomicQueueB,11,s: 670,194 msg/sec AtomicQueueB,11,i: 1,277,870 msg/sec AtomicQueueB,12,s: 576,292 msg/sec AtomicQueueB,12,i: 1,063,110 msg/sec AtomicQueueB,13,s: 586,905 msg/sec AtomicQueueB,13,i: 503,439 msg/sec AtomicQueueB,14,s: 524,986 msg/sec AtomicQueueB,14,i: 521,964 msg/sec OptimistAtomicQueue, 1,s: 243,768,846 msg/sec OptimistAtomicQueue, 1,i: 240,654,550 msg/sec OptimistAtomicQueue, 2,s: 10,835,240 msg/sec OptimistAtomicQueue, 2,i: 11,615,996 msg/sec OptimistAtomicQueue, 3,s: 12,954,575 msg/sec OptimistAtomicQueue, 3,i: 13,129,768 msg/sec OptimistAtomicQueue, 4,s: 13,183,281 msg/sec OptimistAtomicQueue, 4,i: 13,393,919 msg/sec OptimistAtomicQueue, 5,s: 13,110,331 msg/sec OptimistAtomicQueue, 5,i: 13,600,284 msg/sec OptimistAtomicQueue, 6,s: 13,329,620 msg/sec OptimistAtomicQueue, 6,i: 13,938,470 msg/sec OptimistAtomicQueue, 7,s: 13,517,334 msg/sec OptimistAtomicQueue, 7,i: 13,904,064 msg/sec OptimistAtomicQueue, 8,s: 9,660,670 msg/sec OptimistAtomicQueue, 8,i: 11,279,540 msg/sec OptimistAtomicQueue, 9,s: 8,568,879 msg/sec OptimistAtomicQueue, 9,i: 11,491,478 msg/sec OptimistAtomicQueue,10,s: 8,478,614 msg/sec OptimistAtomicQueue,10,i: 10,365,269 msg/sec OptimistAtomicQueue,11,s: 8,090,073 msg/sec OptimistAtomicQueue,11,i: 11,487,743 msg/sec OptimistAtomicQueue,12,s: 8,211,770 msg/sec OptimistAtomicQueue,12,i: 10,857,978 msg/sec OptimistAtomicQueue,13,s: 8,453,659 msg/sec OptimistAtomicQueue,13,i: 11,039,478 msg/sec OptimistAtomicQueue,14,s: 8,849,349 msg/sec OptimistAtomicQueue,14,i: 11,312,544 msg/sec OptimistAtomicQueueB, 1,s: 34,742,941 msg/sec OptimistAtomicQueueB, 1,i: 41,369,372 msg/sec OptimistAtomicQueueB, 2,s: 12,305,857 msg/sec OptimistAtomicQueueB, 2,i: 11,956,283 msg/sec OptimistAtomicQueueB, 3,s: 13,372,456 msg/sec OptimistAtomicQueueB, 3,i: 12,544,529 msg/sec OptimistAtomicQueueB, 4,s: 13,044,402 msg/sec OptimistAtomicQueueB, 4,i: 13,658,184 msg/sec OptimistAtomicQueueB, 5,s: 14,100,467 msg/sec OptimistAtomicQueueB, 5,i: 14,486,100 msg/sec OptimistAtomicQueueB, 6,s: 12,893,842 msg/sec OptimistAtomicQueueB, 6,i: 13,769,126 msg/sec OptimistAtomicQueueB, 7,s: 13,814,349 msg/sec OptimistAtomicQueueB, 7,i: 14,021,597 msg/sec OptimistAtomicQueueB, 8,s: 9,934,815 msg/sec OptimistAtomicQueueB, 8,i: 9,769,073 msg/sec OptimistAtomicQueueB, 9,s: 8,519,884 msg/sec OptimistAtomicQueueB, 9,i: 11,536,671 msg/sec OptimistAtomicQueueB,10,s: 8,159,587 msg/sec OptimistAtomicQueueB,10,i: 10,548,932 msg/sec OptimistAtomicQueueB,11,s: 8,387,859 msg/sec OptimistAtomicQueueB,11,i: 10,889,040 msg/sec OptimistAtomicQueueB,12,s: 8,280,326 msg/sec OptimistAtomicQueueB,12,i: 10,601,691 msg/sec OptimistAtomicQueueB,13,s: 8,464,777 msg/sec OptimistAtomicQueueB,13,i: 10,904,866 msg/sec OptimistAtomicQueueB,14,s: 8,582,738 msg/sec OptimistAtomicQueueB,14,i: 10,981,770 msg/sec AtomicQueue2, 1,s: 16,095,565 msg/sec AtomicQueue2, 1,i: 7,420,671 msg/sec AtomicQueue2, 2,s: 3,275,128 msg/sec AtomicQueue2, 2,i: 4,094,942 msg/sec AtomicQueue2, 3,s: 3,031,301 msg/sec AtomicQueue2, 3,i: 2,889,402 msg/sec AtomicQueue2, 4,s: 2,347,290 msg/sec AtomicQueue2, 4,i: 2,550,810 msg/sec AtomicQueue2, 5,s: 2,233,705 msg/sec AtomicQueue2, 5,i: 2,439,298 msg/sec AtomicQueue2, 6,s: 1,985,218 msg/sec AtomicQueue2, 6,i: 1,879,531 msg/sec AtomicQueue2, 7,s: 1,666,891 msg/sec AtomicQueue2, 7,i: 1,669,442 msg/sec AtomicQueue2, 8,s: 501,760 msg/sec AtomicQueue2, 8,i: 1,666,078 msg/sec AtomicQueue2, 9,s: 497,832 msg/sec AtomicQueue2, 9,i: 1,480,503 msg/sec AtomicQueue2,10,s: 735,018 msg/sec AtomicQueue2,10,i: 1,359,455 msg/sec AtomicQueue2,11,s: 566,226 msg/sec AtomicQueue2,11,i: 1,154,297 msg/sec AtomicQueue2,12,s: 778,696 msg/sec AtomicQueue2,12,i: 916,971 msg/sec AtomicQueue2,13,s: 493,468 msg/sec AtomicQueue2,13,i: 565,488 msg/sec AtomicQueue2,14,s: 535,665 msg/sec AtomicQueue2,14,i: 818,272 msg/sec AtomicQueueB2, 1,s: 9,846,546 msg/sec AtomicQueueB2, 1,i: 12,402,368 msg/sec AtomicQueueB2, 2,s: 2,957,271 msg/sec AtomicQueueB2, 2,i: 3,751,889 msg/sec AtomicQueueB2, 3,s: 2,960,147 msg/sec AtomicQueueB2, 3,i: 2,570,800 msg/sec AtomicQueueB2, 4,s: 2,352,863 msg/sec AtomicQueueB2, 4,i: 2,642,354 msg/sec AtomicQueueB2, 5,s: 2,107,192 msg/sec AtomicQueueB2, 5,i: 2,274,433 msg/sec AtomicQueueB2, 6,s: 1,955,047 msg/sec AtomicQueueB2, 6,i: 2,080,603 msg/sec AtomicQueueB2, 7,s: 1,651,523 msg/sec AtomicQueueB2, 7,i: 1,759,431 msg/sec AtomicQueueB2, 8,s: 843,324 msg/sec AtomicQueueB2, 8,i: 1,644,832 msg/sec AtomicQueueB2, 9,s: 815,627 msg/sec AtomicQueueB2, 9,i: 1,377,069 msg/sec AtomicQueueB2,10,s: 656,693 msg/sec AtomicQueueB2,10,i: 1,360,371 msg/sec AtomicQueueB2,11,s: 498,285 msg/sec AtomicQueueB2,11,i: 512,846 msg/sec AtomicQueueB2,12,s: 499,964 msg/sec AtomicQueueB2,12,i: 927,325 msg/sec AtomicQueueB2,13,s: 523,049 msg/sec AtomicQueueB2,13,i: 521,030 msg/sec AtomicQueueB2,14,s: 514,848 msg/sec AtomicQueueB2,14,i: 551,700 msg/sec OptimistAtomicQueue2, 1,s: 77,229,041 msg/sec OptimistAtomicQueue2, 1,i: 109,265,798 msg/sec OptimistAtomicQueue2, 2,s: 6,463,801 msg/sec OptimistAtomicQueue2, 2,i: 9,145,644 msg/sec OptimistAtomicQueue2, 3,s: 8,634,483 msg/sec OptimistAtomicQueue2, 3,i: 12,012,007 msg/sec OptimistAtomicQueue2, 4,s: 12,224,916 msg/sec OptimistAtomicQueue2, 4,i: 12,678,139 msg/sec OptimistAtomicQueue2, 5,s: 12,020,635 msg/sec OptimistAtomicQueue2, 5,i: 13,316,977 msg/sec OptimistAtomicQueue2, 6,s: 12,310,054 msg/sec OptimistAtomicQueue2, 6,i: 12,305,517 msg/sec OptimistAtomicQueue2, 7,s: 12,799,220 msg/sec OptimistAtomicQueue2, 7,i: 13,069,695 msg/sec OptimistAtomicQueue2, 8,s: 9,376,178 msg/sec OptimistAtomicQueue2, 8,i: 9,208,166 msg/sec OptimistAtomicQueue2, 9,s: 8,385,275 msg/sec OptimistAtomicQueue2, 9,i: 9,365,433 msg/sec OptimistAtomicQueue2,10,s: 7,937,062 msg/sec OptimistAtomicQueue2,10,i: 9,656,699 msg/sec OptimistAtomicQueue2,11,s: 7,933,953 msg/sec OptimistAtomicQueue2,11,i: 9,519,754 msg/sec OptimistAtomicQueue2,12,s: 7,765,955 msg/sec OptimistAtomicQueue2,12,i: 10,383,957 msg/sec OptimistAtomicQueue2,13,s: 8,241,465 msg/sec OptimistAtomicQueue2,13,i: 10,340,547 msg/sec OptimistAtomicQueue2,14,s: 8,394,488 msg/sec OptimistAtomicQueue2,14,i: 10,484,239 msg/sec OptimistAtomicQueueB2, 1,s: 17,897,706 msg/sec OptimistAtomicQueueB2, 1,i: 20,734,145 msg/sec OptimistAtomicQueueB2, 2,s: 10,591,700 msg/sec OptimistAtomicQueueB2, 2,i: 10,659,859 msg/sec OptimistAtomicQueueB2, 3,s: 11,905,491 msg/sec OptimistAtomicQueueB2, 3,i: 11,648,866 msg/sec OptimistAtomicQueueB2, 4,s: 11,741,399 msg/sec OptimistAtomicQueueB2, 4,i: 12,174,319 msg/sec OptimistAtomicQueueB2, 5,s: 11,142,803 msg/sec OptimistAtomicQueueB2, 5,i: 12,601,231 msg/sec OptimistAtomicQueueB2, 6,s: 12,386,299 msg/sec OptimistAtomicQueueB2, 6,i: 13,116,612 msg/sec OptimistAtomicQueueB2, 7,s: 12,381,923 msg/sec OptimistAtomicQueueB2, 7,i: 12,940,883 msg/sec OptimistAtomicQueueB2, 8,s: 8,749,812 msg/sec OptimistAtomicQueueB2, 8,i: 10,350,338 msg/sec OptimistAtomicQueueB2, 9,s: 7,747,074 msg/sec OptimistAtomicQueueB2, 9,i: 9,442,215 msg/sec OptimistAtomicQueueB2,10,s: 7,562,289 msg/sec OptimistAtomicQueueB2,10,i: 9,186,103 msg/sec OptimistAtomicQueueB2,11,s: 7,511,877 msg/sec OptimistAtomicQueueB2,11,i: 9,162,366 msg/sec OptimistAtomicQueueB2,12,s: 7,681,288 msg/sec OptimistAtomicQueueB2,12,i: 9,946,189 msg/sec OptimistAtomicQueueB2,13,s: 7,844,510 msg/sec OptimistAtomicQueueB2,13,i: 10,397,082 msg/sec OptimistAtomicQueueB2,14,s: 8,088,192 msg/sec OptimistAtomicQueueB2,14,i: 9,758,770 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000301 sec/round-trip boost::lockfree::queue: 0.000000775 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000245 sec/round-trip moodycamel::ConcurrentQueue: 0.000000478 sec/round-trip pthread_spinlock: 0.000000799 sec/round-trip std::mutex: 0.000001859 sec/round-trip tbb::spin_mutex: 0.000000595 sec/round-trip tbb::concurrent_bounded_queue: 0.000000605 sec/round-trip xenium::michael_scott_queue: 0.000000755 sec/round-trip xenium::ramalhete_queue: 0.000000514 sec/round-trip xenium::vyukov_bounded_queue: 0.000000474 sec/round-trip AtomicQueue: 0.000000250 sec/round-trip AtomicQueueB: 0.000000359 sec/round-trip OptimistAtomicQueue: 0.000000303 sec/round-trip OptimistAtomicQueueB: 0.000000333 sec/round-trip AtomicQueue2: 0.000000319 sec/round-trip AtomicQueueB2: 0.000000428 sec/round-trip OptimistAtomicQueue2: 0.000000327 sec/round-trip OptimistAtomicQueueB2: 0.000000354 sec/round-trip [5/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 27,525,003 msg/sec boost::lockfree::spsc_queue, 1,i: 27,681,832 msg/sec boost::lockfree::queue, 1,s: 3,021,932 msg/sec boost::lockfree::queue, 1,i: 2,996,205 msg/sec boost::lockfree::queue, 2,s: 2,221,478 msg/sec boost::lockfree::queue, 2,i: 2,469,859 msg/sec boost::lockfree::queue, 3,s: 2,004,237 msg/sec boost::lockfree::queue, 3,i: 2,396,780 msg/sec boost::lockfree::queue, 4,s: 2,034,152 msg/sec boost::lockfree::queue, 4,i: 2,311,187 msg/sec boost::lockfree::queue, 5,s: 2,072,111 msg/sec boost::lockfree::queue, 5,i: 2,327,835 msg/sec boost::lockfree::queue, 6,s: 2,037,042 msg/sec boost::lockfree::queue, 6,i: 2,193,800 msg/sec boost::lockfree::queue, 7,s: 2,085,528 msg/sec boost::lockfree::queue, 7,i: 2,102,120 msg/sec boost::lockfree::queue, 8,s: 1,142,361 msg/sec boost::lockfree::queue, 8,i: 1,494,740 msg/sec boost::lockfree::queue, 9,s: 667,627 msg/sec boost::lockfree::queue, 9,i: 1,208,736 msg/sec boost::lockfree::queue,10,s: 753,005 msg/sec boost::lockfree::queue,10,i: 533,592 msg/sec boost::lockfree::queue,11,s: 496,163 msg/sec boost::lockfree::queue,11,i: 1,068,640 msg/sec boost::lockfree::queue,12,s: 745,454 msg/sec boost::lockfree::queue,12,i: 546,873 msg/sec boost::lockfree::queue,13,s: 502,087 msg/sec boost::lockfree::queue,13,i: 524,717 msg/sec boost::lockfree::queue,14,s: 492,724 msg/sec boost::lockfree::queue,14,i: 544,063 msg/sec moodycamel::ReaderWriterQueue, 1,s: 182,729,966 msg/sec moodycamel::ReaderWriterQueue, 1,i: 189,879,703 msg/sec moodycamel::ConcurrentQueue, 1,s: 6,351,642 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,614,916 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,607,965 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,830,142 msg/sec moodycamel::ConcurrentQueue, 3,s: 4,915,843 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,935,052 msg/sec moodycamel::ConcurrentQueue, 4,s: 10,296,185 msg/sec moodycamel::ConcurrentQueue, 4,i: 21,071,736 msg/sec moodycamel::ConcurrentQueue, 5,s: 6,079,672 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,973,285 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,132,369 msg/sec moodycamel::ConcurrentQueue, 6,i: 23,392,026 msg/sec moodycamel::ConcurrentQueue, 7,s: 21,812,271 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,706,514 msg/sec moodycamel::ConcurrentQueue, 8,s: 12,161,144 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,932,914 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,538,898 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,429,392 msg/sec moodycamel::ConcurrentQueue,10,s: 5,456,605 msg/sec moodycamel::ConcurrentQueue,10,i: 5,484,491 msg/sec moodycamel::ConcurrentQueue,11,s: 5,617,913 msg/sec moodycamel::ConcurrentQueue,11,i: 5,064,078 msg/sec moodycamel::ConcurrentQueue,12,s: 5,127,729 msg/sec moodycamel::ConcurrentQueue,12,i: 8,619,403 msg/sec moodycamel::ConcurrentQueue,13,s: 9,406,558 msg/sec moodycamel::ConcurrentQueue,13,i: 18,323,951 msg/sec moodycamel::ConcurrentQueue,14,s: 12,928,078 msg/sec moodycamel::ConcurrentQueue,14,i: 11,288,958 msg/sec pthread_spinlock, 1,s: 5,247,437 msg/sec pthread_spinlock, 1,i: 4,518,684 msg/sec pthread_spinlock, 2,s: 2,858,509 msg/sec pthread_spinlock, 2,i: 3,824,758 msg/sec pthread_spinlock, 3,s: 3,401,521 msg/sec pthread_spinlock, 3,i: 3,013,206 msg/sec pthread_spinlock, 4,s: 2,698,814 msg/sec pthread_spinlock, 4,i: 2,348,578 msg/sec pthread_spinlock, 5,s: 2,377,059 msg/sec pthread_spinlock, 5,i: 2,104,838 msg/sec pthread_spinlock, 6,s: 1,882,568 msg/sec pthread_spinlock, 6,i: 1,915,873 msg/sec pthread_spinlock, 7,s: 1,809,465 msg/sec pthread_spinlock, 7,i: 1,696,638 msg/sec pthread_spinlock, 8,s: 1,028,049 msg/sec pthread_spinlock, 8,i: 1,318,565 msg/sec pthread_spinlock, 9,s: 628,589 msg/sec pthread_spinlock, 9,i: 953,315 msg/sec pthread_spinlock,10,s: 601,955 msg/sec pthread_spinlock,10,i: 555,711 msg/sec pthread_spinlock,11,s: 802,499 msg/sec pthread_spinlock,11,i: 547,483 msg/sec pthread_spinlock,12,s: 498,428 msg/sec pthread_spinlock,12,i: 511,422 msg/sec pthread_spinlock,13,s: 489,375 msg/sec pthread_spinlock,13,i: 612,227 msg/sec pthread_spinlock,14,s: 470,322 msg/sec pthread_spinlock,14,i: 741,361 msg/sec std::mutex, 1,s: 6,312,963 msg/sec std::mutex, 1,i: 6,368,933 msg/sec std::mutex, 2,s: 4,638,050 msg/sec std::mutex, 2,i: 4,453,026 msg/sec std::mutex, 3,s: 2,961,265 msg/sec std::mutex, 3,i: 2,931,296 msg/sec std::mutex, 4,s: 2,834,371 msg/sec std::mutex, 4,i: 2,864,549 msg/sec std::mutex, 5,s: 3,614,757 msg/sec std::mutex, 5,i: 3,578,750 msg/sec std::mutex, 6,s: 4,647,426 msg/sec std::mutex, 6,i: 4,681,693 msg/sec std::mutex, 7,s: 6,029,993 msg/sec std::mutex, 7,i: 6,136,261 msg/sec std::mutex, 8,s: 6,612,041 msg/sec std::mutex, 8,i: 6,098,936 msg/sec std::mutex, 9,s: 6,006,483 msg/sec std::mutex, 9,i: 5,142,588 msg/sec std::mutex,10,s: 5,630,666 msg/sec std::mutex,10,i: 5,120,290 msg/sec std::mutex,11,s: 5,083,394 msg/sec std::mutex,11,i: 4,974,329 msg/sec std::mutex,12,s: 4,926,723 msg/sec std::mutex,12,i: 5,020,189 msg/sec std::mutex,13,s: 4,704,476 msg/sec std::mutex,13,i: 5,202,525 msg/sec std::mutex,14,s: 4,684,005 msg/sec std::mutex,14,i: 5,194,192 msg/sec tbb::spin_mutex, 1,s: 22,993,327 msg/sec tbb::spin_mutex, 1,i: 23,158,427 msg/sec tbb::spin_mutex, 2,s: 15,379,399 msg/sec tbb::spin_mutex, 2,i: 15,412,008 msg/sec tbb::spin_mutex, 3,s: 9,375,612 msg/sec tbb::spin_mutex, 3,i: 9,378,911 msg/sec tbb::spin_mutex, 4,s: 6,359,976 msg/sec tbb::spin_mutex, 4,i: 6,642,971 msg/sec tbb::spin_mutex, 5,s: 5,234,628 msg/sec tbb::spin_mutex, 5,i: 4,623,101 msg/sec tbb::spin_mutex, 6,s: 3,448,492 msg/sec tbb::spin_mutex, 6,i: 2,981,624 msg/sec tbb::spin_mutex, 7,s: 2,379,987 msg/sec tbb::spin_mutex, 7,i: 1,831,706 msg/sec tbb::spin_mutex, 8,s: 1,409,638 msg/sec tbb::spin_mutex, 8,i: 1,259,421 msg/sec tbb::spin_mutex, 9,s: 848,645 msg/sec tbb::spin_mutex, 9,i: 1,123,225 msg/sec tbb::spin_mutex,10,s: 612,459 msg/sec tbb::spin_mutex,10,i: 687,533 msg/sec tbb::spin_mutex,11,s: 553,578 msg/sec tbb::spin_mutex,11,i: 726,227 msg/sec tbb::spin_mutex,12,s: 538,731 msg/sec tbb::spin_mutex,12,i: 603,962 msg/sec tbb::spin_mutex,13,s: 575,137 msg/sec tbb::spin_mutex,13,i: 529,107 msg/sec tbb::spin_mutex,14,s: 398,001 msg/sec tbb::spin_mutex,14,i: 497,544 msg/sec tbb::concurrent_bounded_queue, 1,s: 6,390,144 msg/sec tbb::concurrent_bounded_queue, 1,i: 6,265,748 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,138,388 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,305,000 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,972,954 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,267,047 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,344,049 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,441,325 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,952,850 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,257,612 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,902,773 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,791,554 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,644,689 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,667,620 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,260,433 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,367,531 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,123,980 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,574,221 msg/sec tbb::concurrent_bounded_queue,10,s: 1,081,666 msg/sec tbb::concurrent_bounded_queue,10,i: 1,519,376 msg/sec tbb::concurrent_bounded_queue,11,s: 1,070,598 msg/sec tbb::concurrent_bounded_queue,11,i: 1,414,191 msg/sec tbb::concurrent_bounded_queue,12,s: 1,017,186 msg/sec tbb::concurrent_bounded_queue,12,i: 1,247,881 msg/sec tbb::concurrent_bounded_queue,13,s: 1,014,009 msg/sec tbb::concurrent_bounded_queue,13,i: 1,276,499 msg/sec tbb::concurrent_bounded_queue,14,s: 1,106,737 msg/sec tbb::concurrent_bounded_queue,14,i: 1,005,163 msg/sec xenium::michael_scott_queue, 1,s: 2,249,978 msg/sec xenium::michael_scott_queue, 1,i: 2,812,867 msg/sec xenium::michael_scott_queue, 2,s: 2,414,457 msg/sec xenium::michael_scott_queue, 2,i: 2,804,506 msg/sec xenium::michael_scott_queue, 3,s: 2,607,980 msg/sec xenium::michael_scott_queue, 3,i: 2,720,671 msg/sec xenium::michael_scott_queue, 4,s: 2,131,170 msg/sec xenium::michael_scott_queue, 4,i: 2,059,676 msg/sec xenium::michael_scott_queue, 5,s: 1,834,725 msg/sec xenium::michael_scott_queue, 5,i: 1,968,238 msg/sec xenium::michael_scott_queue, 6,s: 1,734,229 msg/sec xenium::michael_scott_queue, 6,i: 1,730,000 msg/sec xenium::michael_scott_queue, 7,s: 1,767,420 msg/sec xenium::michael_scott_queue, 7,i: 1,576,005 msg/sec xenium::michael_scott_queue, 8,s: 1,106,271 msg/sec xenium::michael_scott_queue, 8,i: 1,437,092 msg/sec xenium::michael_scott_queue, 9,s: 557,617 msg/sec xenium::michael_scott_queue, 9,i: 1,138,828 msg/sec xenium::michael_scott_queue,10,s: 857,131 msg/sec xenium::michael_scott_queue,10,i: 1,061,611 msg/sec xenium::michael_scott_queue,11,s: 492,724 msg/sec xenium::michael_scott_queue,11,i: 570,244 msg/sec xenium::michael_scott_queue,12,s: 521,928 msg/sec xenium::michael_scott_queue,12,i: 511,383 msg/sec xenium::michael_scott_queue,13,s: 744,551 msg/sec xenium::michael_scott_queue,13,i: 560,611 msg/sec xenium::michael_scott_queue,14,s: 507,910 msg/sec xenium::michael_scott_queue,14,i: 696,580 msg/sec xenium::ramalhete_queue, 1,s: 3,955,642 msg/sec xenium::ramalhete_queue, 1,i: 8,944,420 msg/sec xenium::ramalhete_queue, 2,s: 7,536,436 msg/sec xenium::ramalhete_queue, 2,i: 6,161,221 msg/sec xenium::ramalhete_queue, 3,s: 6,396,119 msg/sec xenium::ramalhete_queue, 3,i: 7,639,203 msg/sec xenium::ramalhete_queue, 4,s: 7,405,813 msg/sec xenium::ramalhete_queue, 4,i: 7,911,477 msg/sec xenium::ramalhete_queue, 5,s: 8,399,821 msg/sec xenium::ramalhete_queue, 5,i: 8,504,554 msg/sec xenium::ramalhete_queue, 6,s: 8,449,445 msg/sec xenium::ramalhete_queue, 6,i: 10,453,324 msg/sec xenium::ramalhete_queue, 7,s: 10,484,479 msg/sec xenium::ramalhete_queue, 7,i: 11,026,282 msg/sec xenium::ramalhete_queue, 8,s: 7,132,312 msg/sec xenium::ramalhete_queue, 8,i: 8,380,137 msg/sec xenium::ramalhete_queue, 9,s: 7,810,299 msg/sec xenium::ramalhete_queue, 9,i: 7,798,777 msg/sec xenium::ramalhete_queue,10,s: 7,920,159 msg/sec xenium::ramalhete_queue,10,i: 8,019,469 msg/sec xenium::ramalhete_queue,11,s: 8,744,059 msg/sec xenium::ramalhete_queue,11,i: 8,578,042 msg/sec xenium::ramalhete_queue,12,s: 8,253,384 msg/sec xenium::ramalhete_queue,12,i: 8,071,258 msg/sec xenium::ramalhete_queue,13,s: 9,129,731 msg/sec xenium::ramalhete_queue,13,i: 8,309,677 msg/sec xenium::ramalhete_queue,14,s: 10,430,972 msg/sec xenium::ramalhete_queue,14,i: 8,286,816 msg/sec xenium::vyukov_bounded_queue, 1,s: 32,916,566 msg/sec xenium::vyukov_bounded_queue, 1,i: 40,772,575 msg/sec xenium::vyukov_bounded_queue, 2,s: 6,113,035 msg/sec xenium::vyukov_bounded_queue, 2,i: 8,116,477 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,425,436 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,504,248 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,926,423 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,203,042 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,579,846 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,650,546 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,149,522 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,319,843 msg/sec xenium::vyukov_bounded_queue, 7,s: 2,974,080 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,879,888 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,368,759 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,800,348 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,173,272 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,588,251 msg/sec xenium::vyukov_bounded_queue,10,s: 1,143,715 msg/sec xenium::vyukov_bounded_queue,10,i: 1,918,729 msg/sec xenium::vyukov_bounded_queue,11,s: 1,064,988 msg/sec xenium::vyukov_bounded_queue,11,i: 1,371,902 msg/sec xenium::vyukov_bounded_queue,12,s: 677,591 msg/sec xenium::vyukov_bounded_queue,12,i: 1,286,120 msg/sec xenium::vyukov_bounded_queue,13,s: 985,934 msg/sec xenium::vyukov_bounded_queue,13,i: 1,145,671 msg/sec xenium::vyukov_bounded_queue,14,s: 870,953 msg/sec xenium::vyukov_bounded_queue,14,i: 500,208 msg/sec AtomicQueue, 1,s: 21,949,164 msg/sec AtomicQueue, 1,i: 26,527,345 msg/sec AtomicQueue, 2,s: 3,640,893 msg/sec AtomicQueue, 2,i: 3,536,399 msg/sec AtomicQueue, 3,s: 2,725,290 msg/sec AtomicQueue, 3,i: 3,214,508 msg/sec AtomicQueue, 4,s: 2,379,263 msg/sec AtomicQueue, 4,i: 2,402,296 msg/sec AtomicQueue, 5,s: 2,154,756 msg/sec AtomicQueue, 5,i: 2,147,344 msg/sec AtomicQueue, 6,s: 1,983,294 msg/sec AtomicQueue, 6,i: 2,156,162 msg/sec AtomicQueue, 7,s: 1,846,706 msg/sec AtomicQueue, 7,i: 1,777,540 msg/sec AtomicQueue, 8,s: 721,820 msg/sec AtomicQueue, 8,i: 1,654,636 msg/sec AtomicQueue, 9,s: 512,510 msg/sec AtomicQueue, 9,i: 1,402,268 msg/sec AtomicQueue,10,s: 775,433 msg/sec AtomicQueue,10,i: 1,410,346 msg/sec AtomicQueue,11,s: 682,266 msg/sec AtomicQueue,11,i: 1,234,998 msg/sec AtomicQueue,12,s: 750,635 msg/sec AtomicQueue,12,i: 1,181,305 msg/sec AtomicQueue,13,s: 516,529 msg/sec AtomicQueue,13,i: 564,817 msg/sec AtomicQueue,14,s: 518,258 msg/sec AtomicQueue,14,i: 516,963 msg/sec AtomicQueueB, 1,s: 14,981,279 msg/sec AtomicQueueB, 1,i: 15,044,849 msg/sec AtomicQueueB, 2,s: 3,550,477 msg/sec AtomicQueueB, 2,i: 4,065,274 msg/sec AtomicQueueB, 3,s: 2,820,226 msg/sec AtomicQueueB, 3,i: 2,774,276 msg/sec AtomicQueueB, 4,s: 2,398,045 msg/sec AtomicQueueB, 4,i: 2,558,963 msg/sec AtomicQueueB, 5,s: 2,262,161 msg/sec AtomicQueueB, 5,i: 2,450,990 msg/sec AtomicQueueB, 6,s: 2,207,219 msg/sec AtomicQueueB, 6,i: 2,200,771 msg/sec AtomicQueueB, 7,s: 1,750,163 msg/sec AtomicQueueB, 7,i: 1,821,814 msg/sec AtomicQueueB, 8,s: 499,947 msg/sec AtomicQueueB, 8,i: 1,674,841 msg/sec AtomicQueueB, 9,s: 506,243 msg/sec AtomicQueueB, 9,i: 1,445,851 msg/sec AtomicQueueB,10,s: 528,768 msg/sec AtomicQueueB,10,i: 1,195,760 msg/sec AtomicQueueB,11,s: 669,103 msg/sec AtomicQueueB,11,i: 1,150,184 msg/sec AtomicQueueB,12,s: 732,314 msg/sec AtomicQueueB,12,i: 511,727 msg/sec AtomicQueueB,13,s: 513,199 msg/sec AtomicQueueB,13,i: 556,906 msg/sec AtomicQueueB,14,s: 483,041 msg/sec AtomicQueueB,14,i: 839,670 msg/sec OptimistAtomicQueue, 1,s: 120,734,709 msg/sec OptimistAtomicQueue, 1,i: 73,275,294 msg/sec OptimistAtomicQueue, 2,s: 8,920,328 msg/sec OptimistAtomicQueue, 2,i: 11,405,219 msg/sec OptimistAtomicQueue, 3,s: 11,836,801 msg/sec OptimistAtomicQueue, 3,i: 9,546,005 msg/sec OptimistAtomicQueue, 4,s: 9,740,171 msg/sec OptimistAtomicQueue, 4,i: 13,255,329 msg/sec OptimistAtomicQueue, 5,s: 12,285,943 msg/sec OptimistAtomicQueue, 5,i: 12,538,350 msg/sec OptimistAtomicQueue, 6,s: 9,538,854 msg/sec OptimistAtomicQueue, 6,i: 11,891,599 msg/sec OptimistAtomicQueue, 7,s: 11,972,690 msg/sec OptimistAtomicQueue, 7,i: 14,031,096 msg/sec OptimistAtomicQueue, 8,s: 9,745,826 msg/sec OptimistAtomicQueue, 8,i: 9,683,388 msg/sec OptimistAtomicQueue, 9,s: 8,642,197 msg/sec OptimistAtomicQueue, 9,i: 10,243,462 msg/sec OptimistAtomicQueue,10,s: 8,243,144 msg/sec OptimistAtomicQueue,10,i: 10,450,445 msg/sec OptimistAtomicQueue,11,s: 8,295,426 msg/sec OptimistAtomicQueue,11,i: 10,675,538 msg/sec OptimistAtomicQueue,12,s: 8,306,922 msg/sec OptimistAtomicQueue,12,i: 10,758,248 msg/sec OptimistAtomicQueue,13,s: 8,441,518 msg/sec OptimistAtomicQueue,13,i: 10,998,714 msg/sec OptimistAtomicQueue,14,s: 8,692,225 msg/sec OptimistAtomicQueue,14,i: 11,434,556 msg/sec OptimistAtomicQueueB, 1,s: 461,920,680 msg/sec OptimistAtomicQueueB, 1,i: 33,466,020 msg/sec OptimistAtomicQueueB, 2,s: 9,345,630 msg/sec OptimistAtomicQueueB, 2,i: 9,839,241 msg/sec OptimistAtomicQueueB, 3,s: 8,925,740 msg/sec OptimistAtomicQueueB, 3,i: 9,246,294 msg/sec OptimistAtomicQueueB, 4,s: 9,723,540 msg/sec OptimistAtomicQueueB, 4,i: 10,070,664 msg/sec OptimistAtomicQueueB, 5,s: 10,079,007 msg/sec OptimistAtomicQueueB, 5,i: 11,708,435 msg/sec OptimistAtomicQueueB, 6,s: 12,613,943 msg/sec OptimistAtomicQueueB, 6,i: 13,540,704 msg/sec OptimistAtomicQueueB, 7,s: 13,055,486 msg/sec OptimistAtomicQueueB, 7,i: 13,812,060 msg/sec OptimistAtomicQueueB, 8,s: 9,375,951 msg/sec OptimistAtomicQueueB, 8,i: 11,022,714 msg/sec OptimistAtomicQueueB, 9,s: 8,607,126 msg/sec OptimistAtomicQueueB, 9,i: 10,998,067 msg/sec OptimistAtomicQueueB,10,s: 8,489,318 msg/sec OptimistAtomicQueueB,10,i: 10,295,344 msg/sec OptimistAtomicQueueB,11,s: 7,981,145 msg/sec OptimistAtomicQueueB,11,i: 10,584,752 msg/sec OptimistAtomicQueueB,12,s: 8,210,171 msg/sec OptimistAtomicQueueB,12,i: 11,962,418 msg/sec OptimistAtomicQueueB,13,s: 8,565,979 msg/sec OptimistAtomicQueueB,13,i: 11,097,336 msg/sec OptimistAtomicQueueB,14,s: 8,743,403 msg/sec OptimistAtomicQueueB,14,i: 10,894,239 msg/sec AtomicQueue2, 1,s: 8,915,402 msg/sec AtomicQueue2, 1,i: 9,252,108 msg/sec AtomicQueue2, 2,s: 4,404,007 msg/sec AtomicQueue2, 2,i: 4,296,173 msg/sec AtomicQueue2, 3,s: 2,604,604 msg/sec AtomicQueue2, 3,i: 3,262,109 msg/sec AtomicQueue2, 4,s: 2,360,476 msg/sec AtomicQueue2, 4,i: 2,725,462 msg/sec AtomicQueue2, 5,s: 2,146,426 msg/sec AtomicQueue2, 5,i: 2,327,874 msg/sec AtomicQueue2, 6,s: 1,965,023 msg/sec AtomicQueue2, 6,i: 2,133,189 msg/sec AtomicQueue2, 7,s: 1,739,666 msg/sec AtomicQueue2, 7,i: 1,904,525 msg/sec AtomicQueue2, 8,s: 837,056 msg/sec AtomicQueue2, 8,i: 1,627,899 msg/sec AtomicQueue2, 9,s: 505,848 msg/sec AtomicQueue2, 9,i: 1,567,894 msg/sec AtomicQueue2,10,s: 539,656 msg/sec AtomicQueue2,10,i: 1,329,852 msg/sec AtomicQueue2,11,s: 591,737 msg/sec AtomicQueue2,11,i: 1,159,874 msg/sec AtomicQueue2,12,s: 497,083 msg/sec AtomicQueue2,12,i: 1,028,542 msg/sec AtomicQueue2,13,s: 522,961 msg/sec AtomicQueue2,13,i: 523,433 msg/sec AtomicQueue2,14,s: 517,662 msg/sec AtomicQueue2,14,i: 525,196 msg/sec AtomicQueueB2, 1,s: 9,701,409 msg/sec AtomicQueueB2, 1,i: 9,618,230 msg/sec AtomicQueueB2, 2,s: 3,137,601 msg/sec AtomicQueueB2, 2,i: 4,056,010 msg/sec AtomicQueueB2, 3,s: 2,575,467 msg/sec AtomicQueueB2, 3,i: 2,598,997 msg/sec AtomicQueueB2, 4,s: 2,361,772 msg/sec AtomicQueueB2, 4,i: 2,246,248 msg/sec AtomicQueueB2, 5,s: 2,033,646 msg/sec AtomicQueueB2, 5,i: 2,335,378 msg/sec AtomicQueueB2, 6,s: 2,061,868 msg/sec AtomicQueueB2, 6,i: 2,232,058 msg/sec AtomicQueueB2, 7,s: 1,813,064 msg/sec AtomicQueueB2, 7,i: 1,871,937 msg/sec AtomicQueueB2, 8,s: 678,951 msg/sec AtomicQueueB2, 8,i: 1,649,383 msg/sec AtomicQueueB2, 9,s: 772,272 msg/sec AtomicQueueB2, 9,i: 1,455,800 msg/sec AtomicQueueB2,10,s: 585,024 msg/sec AtomicQueueB2,10,i: 1,383,261 msg/sec AtomicQueueB2,11,s: 654,562 msg/sec AtomicQueueB2,11,i: 1,155,131 msg/sec AtomicQueueB2,12,s: 539,044 msg/sec AtomicQueueB2,12,i: 1,064,915 msg/sec AtomicQueueB2,13,s: 582,232 msg/sec AtomicQueueB2,13,i: 509,461 msg/sec AtomicQueueB2,14,s: 537,423 msg/sec AtomicQueueB2,14,i: 511,003 msg/sec OptimistAtomicQueue2, 1,s: 106,067,570 msg/sec OptimistAtomicQueue2, 1,i: 115,352,197 msg/sec OptimistAtomicQueue2, 2,s: 6,564,561 msg/sec OptimistAtomicQueue2, 2,i: 8,799,143 msg/sec OptimistAtomicQueue2, 3,s: 7,946,946 msg/sec OptimistAtomicQueue2, 3,i: 8,329,161 msg/sec OptimistAtomicQueue2, 4,s: 8,630,872 msg/sec OptimistAtomicQueue2, 4,i: 8,942,297 msg/sec OptimistAtomicQueue2, 5,s: 8,902,566 msg/sec OptimistAtomicQueue2, 5,i: 11,648,298 msg/sec OptimistAtomicQueue2, 6,s: 12,845,386 msg/sec OptimistAtomicQueue2, 6,i: 13,001,058 msg/sec OptimistAtomicQueue2, 7,s: 13,333,810 msg/sec OptimistAtomicQueue2, 7,i: 13,543,302 msg/sec OptimistAtomicQueue2, 8,s: 9,564,072 msg/sec OptimistAtomicQueue2, 8,i: 10,751,833 msg/sec OptimistAtomicQueue2, 9,s: 8,531,885 msg/sec OptimistAtomicQueue2, 9,i: 9,614,354 msg/sec OptimistAtomicQueue2,10,s: 8,115,818 msg/sec OptimistAtomicQueue2,10,i: 10,036,703 msg/sec OptimistAtomicQueue2,11,s: 8,123,372 msg/sec OptimistAtomicQueue2,11,i: 9,859,478 msg/sec OptimistAtomicQueue2,12,s: 7,767,832 msg/sec OptimistAtomicQueue2,12,i: 10,247,838 msg/sec OptimistAtomicQueue2,13,s: 8,288,982 msg/sec OptimistAtomicQueue2,13,i: 10,492,720 msg/sec OptimistAtomicQueue2,14,s: 8,518,635 msg/sec OptimistAtomicQueue2,14,i: 11,042,106 msg/sec OptimistAtomicQueueB2, 1,s: 18,556,026 msg/sec OptimistAtomicQueueB2, 1,i: 18,772,305 msg/sec OptimistAtomicQueueB2, 2,s: 11,455,002 msg/sec OptimistAtomicQueueB2, 2,i: 11,619,595 msg/sec OptimistAtomicQueueB2, 3,s: 9,799,528 msg/sec OptimistAtomicQueueB2, 3,i: 11,144,303 msg/sec OptimistAtomicQueueB2, 4,s: 10,662,989 msg/sec OptimistAtomicQueueB2, 4,i: 8,799,986 msg/sec OptimistAtomicQueueB2, 5,s: 10,081,426 msg/sec OptimistAtomicQueueB2, 5,i: 12,847,384 msg/sec OptimistAtomicQueueB2, 6,s: 11,654,857 msg/sec OptimistAtomicQueueB2, 6,i: 12,589,450 msg/sec OptimistAtomicQueueB2, 7,s: 9,014,859 msg/sec OptimistAtomicQueueB2, 7,i: 12,972,266 msg/sec OptimistAtomicQueueB2, 8,s: 8,841,728 msg/sec OptimistAtomicQueueB2, 8,i: 10,324,191 msg/sec OptimistAtomicQueueB2, 9,s: 7,720,291 msg/sec OptimistAtomicQueueB2, 9,i: 8,881,380 msg/sec OptimistAtomicQueueB2,10,s: 7,612,095 msg/sec OptimistAtomicQueueB2,10,i: 9,503,931 msg/sec OptimistAtomicQueueB2,11,s: 7,595,739 msg/sec OptimistAtomicQueueB2,11,i: 10,896,155 msg/sec OptimistAtomicQueueB2,12,s: 7,690,386 msg/sec OptimistAtomicQueueB2,12,i: 9,838,469 msg/sec OptimistAtomicQueueB2,13,s: 7,926,554 msg/sec OptimistAtomicQueueB2,13,i: 10,404,724 msg/sec OptimistAtomicQueueB2,14,s: 7,979,042 msg/sec OptimistAtomicQueueB2,14,i: 9,603,209 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000275 sec/round-trip boost::lockfree::queue: 0.000000811 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000243 sec/round-trip moodycamel::ConcurrentQueue: 0.000000451 sec/round-trip pthread_spinlock: 0.000000661 sec/round-trip std::mutex: 0.000001902 sec/round-trip tbb::spin_mutex: 0.000000568 sec/round-trip tbb::concurrent_bounded_queue: 0.000000571 sec/round-trip xenium::michael_scott_queue: 0.000000770 sec/round-trip xenium::ramalhete_queue: 0.000000519 sec/round-trip xenium::vyukov_bounded_queue: 0.000000461 sec/round-trip AtomicQueue: 0.000000265 sec/round-trip AtomicQueueB: 0.000000371 sec/round-trip OptimistAtomicQueue: 0.000000283 sec/round-trip OptimistAtomicQueueB: 0.000000334 sec/round-trip AtomicQueue2: 0.000000315 sec/round-trip AtomicQueueB2: 0.000000433 sec/round-trip OptimistAtomicQueue2: 0.000000325 sec/round-trip OptimistAtomicQueueB2: 0.000000361 sec/round-trip [6/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 25,202,413 msg/sec boost::lockfree::spsc_queue, 1,i: 25,464,243 msg/sec boost::lockfree::queue, 1,s: 3,203,668 msg/sec boost::lockfree::queue, 1,i: 3,214,202 msg/sec boost::lockfree::queue, 2,s: 2,191,748 msg/sec boost::lockfree::queue, 2,i: 2,426,598 msg/sec boost::lockfree::queue, 3,s: 2,319,793 msg/sec boost::lockfree::queue, 3,i: 2,342,471 msg/sec boost::lockfree::queue, 4,s: 2,315,092 msg/sec boost::lockfree::queue, 4,i: 2,169,218 msg/sec boost::lockfree::queue, 5,s: 2,137,607 msg/sec boost::lockfree::queue, 5,i: 2,255,481 msg/sec boost::lockfree::queue, 6,s: 2,072,321 msg/sec boost::lockfree::queue, 6,i: 2,018,213 msg/sec boost::lockfree::queue, 7,s: 1,934,549 msg/sec boost::lockfree::queue, 7,i: 2,009,144 msg/sec boost::lockfree::queue, 8,s: 1,252,341 msg/sec boost::lockfree::queue, 8,i: 1,398,434 msg/sec boost::lockfree::queue, 9,s: 989,790 msg/sec boost::lockfree::queue, 9,i: 1,119,480 msg/sec boost::lockfree::queue,10,s: 954,722 msg/sec boost::lockfree::queue,10,i: 1,249,404 msg/sec boost::lockfree::queue,11,s: 803,088 msg/sec boost::lockfree::queue,11,i: 1,032,890 msg/sec boost::lockfree::queue,12,s: 504,397 msg/sec boost::lockfree::queue,12,i: 554,155 msg/sec boost::lockfree::queue,13,s: 505,915 msg/sec boost::lockfree::queue,13,i: 511,429 msg/sec boost::lockfree::queue,14,s: 520,169 msg/sec boost::lockfree::queue,14,i: 557,147 msg/sec moodycamel::ReaderWriterQueue, 1,s: 233,626,090 msg/sec moodycamel::ReaderWriterQueue, 1,i: 236,961,339 msg/sec moodycamel::ConcurrentQueue, 1,s: 7,324,993 msg/sec moodycamel::ConcurrentQueue, 1,i: 6,128,136 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,817,972 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,722,048 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,836,276 msg/sec moodycamel::ConcurrentQueue, 3,i: 12,949,698 msg/sec moodycamel::ConcurrentQueue, 4,s: 9,570,068 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,324,778 msg/sec moodycamel::ConcurrentQueue, 5,s: 18,058,864 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,100,858 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,528,724 msg/sec moodycamel::ConcurrentQueue, 6,i: 10,870,242 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,402,356 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,736,311 msg/sec moodycamel::ConcurrentQueue, 8,s: 4,526,651 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,976,100 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,118,746 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,262,911 msg/sec moodycamel::ConcurrentQueue,10,s: 8,907,226 msg/sec moodycamel::ConcurrentQueue,10,i: 5,436,463 msg/sec moodycamel::ConcurrentQueue,11,s: 4,638,098 msg/sec moodycamel::ConcurrentQueue,11,i: 5,333,742 msg/sec moodycamel::ConcurrentQueue,12,s: 21,365,859 msg/sec moodycamel::ConcurrentQueue,12,i: 8,843,604 msg/sec moodycamel::ConcurrentQueue,13,s: 9,277,834 msg/sec moodycamel::ConcurrentQueue,13,i: 27,789,293 msg/sec moodycamel::ConcurrentQueue,14,s: 6,966,308 msg/sec moodycamel::ConcurrentQueue,14,i: 5,308,765 msg/sec pthread_spinlock, 1,s: 6,005,332 msg/sec pthread_spinlock, 1,i: 5,918,534 msg/sec pthread_spinlock, 2,s: 2,839,333 msg/sec pthread_spinlock, 2,i: 4,226,320 msg/sec pthread_spinlock, 3,s: 3,320,780 msg/sec pthread_spinlock, 3,i: 3,534,098 msg/sec pthread_spinlock, 4,s: 2,576,716 msg/sec pthread_spinlock, 4,i: 2,777,885 msg/sec pthread_spinlock, 5,s: 2,378,164 msg/sec pthread_spinlock, 5,i: 2,268,931 msg/sec pthread_spinlock, 6,s: 2,012,501 msg/sec pthread_spinlock, 6,i: 2,018,149 msg/sec pthread_spinlock, 7,s: 1,871,554 msg/sec pthread_spinlock, 7,i: 1,808,716 msg/sec pthread_spinlock, 8,s: 1,086,939 msg/sec pthread_spinlock, 8,i: 1,201,329 msg/sec pthread_spinlock, 9,s: 880,411 msg/sec pthread_spinlock, 9,i: 826,114 msg/sec pthread_spinlock,10,s: 596,180 msg/sec pthread_spinlock,10,i: 902,231 msg/sec pthread_spinlock,11,s: 520,001 msg/sec pthread_spinlock,11,i: 854,642 msg/sec pthread_spinlock,12,s: 527,644 msg/sec pthread_spinlock,12,i: 507,100 msg/sec pthread_spinlock,13,s: 585,628 msg/sec pthread_spinlock,13,i: 769,911 msg/sec pthread_spinlock,14,s: 527,699 msg/sec pthread_spinlock,14,i: 579,186 msg/sec std::mutex, 1,s: 6,503,428 msg/sec std::mutex, 1,i: 6,558,679 msg/sec std::mutex, 2,s: 4,532,674 msg/sec std::mutex, 2,i: 4,708,004 msg/sec std::mutex, 3,s: 2,997,333 msg/sec std::mutex, 3,i: 2,968,798 msg/sec std::mutex, 4,s: 2,846,328 msg/sec std::mutex, 4,i: 2,884,086 msg/sec std::mutex, 5,s: 3,669,066 msg/sec std::mutex, 5,i: 3,611,501 msg/sec std::mutex, 6,s: 4,499,053 msg/sec std::mutex, 6,i: 4,510,314 msg/sec std::mutex, 7,s: 4,914,107 msg/sec std::mutex, 7,i: 5,125,323 msg/sec std::mutex, 8,s: 6,181,545 msg/sec std::mutex, 8,i: 5,347,368 msg/sec std::mutex, 9,s: 5,484,913 msg/sec std::mutex, 9,i: 5,292,719 msg/sec std::mutex,10,s: 6,028,170 msg/sec std::mutex,10,i: 5,313,839 msg/sec std::mutex,11,s: 5,889,812 msg/sec std::mutex,11,i: 5,297,806 msg/sec std::mutex,12,s: 5,543,275 msg/sec std::mutex,12,i: 5,453,675 msg/sec std::mutex,13,s: 5,517,050 msg/sec std::mutex,13,i: 5,437,617 msg/sec std::mutex,14,s: 5,562,730 msg/sec std::mutex,14,i: 5,387,022 msg/sec tbb::spin_mutex, 1,s: 22,975,005 msg/sec tbb::spin_mutex, 1,i: 23,011,714 msg/sec tbb::spin_mutex, 2,s: 12,795,104 msg/sec tbb::spin_mutex, 2,i: 14,093,204 msg/sec tbb::spin_mutex, 3,s: 8,887,975 msg/sec tbb::spin_mutex, 3,i: 9,222,178 msg/sec tbb::spin_mutex, 4,s: 7,138,023 msg/sec tbb::spin_mutex, 4,i: 5,581,118 msg/sec tbb::spin_mutex, 5,s: 2,153,878 msg/sec tbb::spin_mutex, 5,i: 4,709,038 msg/sec tbb::spin_mutex, 6,s: 3,511,488 msg/sec tbb::spin_mutex, 6,i: 3,367,012 msg/sec tbb::spin_mutex, 7,s: 2,356,780 msg/sec tbb::spin_mutex, 7,i: 2,139,448 msg/sec tbb::spin_mutex, 8,s: 1,335,689 msg/sec tbb::spin_mutex, 8,i: 1,332,374 msg/sec tbb::spin_mutex, 9,s: 1,067,469 msg/sec tbb::spin_mutex, 9,i: 844,297 msg/sec tbb::spin_mutex,10,s: 691,325 msg/sec tbb::spin_mutex,10,i: 818,770 msg/sec tbb::spin_mutex,11,s: 560,963 msg/sec tbb::spin_mutex,11,i: 720,588 msg/sec tbb::spin_mutex,12,s: 560,925 msg/sec tbb::spin_mutex,12,i: 564,397 msg/sec tbb::spin_mutex,13,s: 548,897 msg/sec tbb::spin_mutex,13,i: 620,612 msg/sec tbb::spin_mutex,14,s: 479,437 msg/sec tbb::spin_mutex,14,i: 484,394 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,208,672 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,332,795 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,214,358 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,276,992 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,132,070 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,295,340 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,338,620 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,301,652 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,039,466 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,133,990 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,702,139 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,744,507 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,469,142 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,746,344 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,206,017 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,319,721 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,103,140 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,536,304 msg/sec tbb::concurrent_bounded_queue,10,s: 1,076,717 msg/sec tbb::concurrent_bounded_queue,10,i: 1,960,986 msg/sec tbb::concurrent_bounded_queue,11,s: 989,605 msg/sec tbb::concurrent_bounded_queue,11,i: 1,327,002 msg/sec tbb::concurrent_bounded_queue,12,s: 999,949 msg/sec tbb::concurrent_bounded_queue,12,i: 1,179,864 msg/sec tbb::concurrent_bounded_queue,13,s: 991,810 msg/sec tbb::concurrent_bounded_queue,13,i: 1,240,709 msg/sec tbb::concurrent_bounded_queue,14,s: 767,521 msg/sec tbb::concurrent_bounded_queue,14,i: 1,091,947 msg/sec xenium::michael_scott_queue, 1,s: 3,843,788 msg/sec xenium::michael_scott_queue, 1,i: 3,805,043 msg/sec xenium::michael_scott_queue, 2,s: 2,608,776 msg/sec xenium::michael_scott_queue, 2,i: 2,860,329 msg/sec xenium::michael_scott_queue, 3,s: 2,373,794 msg/sec xenium::michael_scott_queue, 3,i: 2,551,417 msg/sec xenium::michael_scott_queue, 4,s: 2,055,309 msg/sec xenium::michael_scott_queue, 4,i: 2,073,055 msg/sec xenium::michael_scott_queue, 5,s: 1,889,989 msg/sec xenium::michael_scott_queue, 5,i: 1,841,339 msg/sec xenium::michael_scott_queue, 6,s: 1,777,022 msg/sec xenium::michael_scott_queue, 6,i: 1,849,770 msg/sec xenium::michael_scott_queue, 7,s: 1,581,157 msg/sec xenium::michael_scott_queue, 7,i: 1,583,461 msg/sec xenium::michael_scott_queue, 8,s: 1,173,396 msg/sec xenium::michael_scott_queue, 8,i: 1,590,527 msg/sec xenium::michael_scott_queue, 9,s: 514,559 msg/sec xenium::michael_scott_queue, 9,i: 1,100,908 msg/sec xenium::michael_scott_queue,10,s: 930,457 msg/sec xenium::michael_scott_queue,10,i: 504,360 msg/sec xenium::michael_scott_queue,11,s: 499,704 msg/sec xenium::michael_scott_queue,11,i: 505,258 msg/sec xenium::michael_scott_queue,12,s: 494,367 msg/sec xenium::michael_scott_queue,12,i: 531,837 msg/sec xenium::michael_scott_queue,13,s: 750,534 msg/sec xenium::michael_scott_queue,13,i: 512,391 msg/sec xenium::michael_scott_queue,14,s: 502,974 msg/sec xenium::michael_scott_queue,14,i: 511,406 msg/sec xenium::ramalhete_queue, 1,s: 11,554,509 msg/sec xenium::ramalhete_queue, 1,i: 3,622,718 msg/sec xenium::ramalhete_queue, 2,s: 6,666,229 msg/sec xenium::ramalhete_queue, 2,i: 5,633,360 msg/sec xenium::ramalhete_queue, 3,s: 7,033,660 msg/sec xenium::ramalhete_queue, 3,i: 6,724,299 msg/sec xenium::ramalhete_queue, 4,s: 7,619,490 msg/sec xenium::ramalhete_queue, 4,i: 7,808,716 msg/sec xenium::ramalhete_queue, 5,s: 7,967,493 msg/sec xenium::ramalhete_queue, 5,i: 8,488,750 msg/sec xenium::ramalhete_queue, 6,s: 8,086,104 msg/sec xenium::ramalhete_queue, 6,i: 10,619,687 msg/sec xenium::ramalhete_queue, 7,s: 11,352,303 msg/sec xenium::ramalhete_queue, 7,i: 11,440,270 msg/sec xenium::ramalhete_queue, 8,s: 7,335,169 msg/sec xenium::ramalhete_queue, 8,i: 8,231,226 msg/sec xenium::ramalhete_queue, 9,s: 7,953,496 msg/sec xenium::ramalhete_queue, 9,i: 7,647,142 msg/sec xenium::ramalhete_queue,10,s: 8,019,825 msg/sec xenium::ramalhete_queue,10,i: 8,873,905 msg/sec xenium::ramalhete_queue,11,s: 8,519,107 msg/sec xenium::ramalhete_queue,11,i: 7,863,954 msg/sec xenium::ramalhete_queue,12,s: 8,632,745 msg/sec xenium::ramalhete_queue,12,i: 8,416,739 msg/sec xenium::ramalhete_queue,13,s: 8,949,363 msg/sec xenium::ramalhete_queue,13,i: 8,640,871 msg/sec xenium::ramalhete_queue,14,s: 11,160,357 msg/sec xenium::ramalhete_queue,14,i: 8,499,142 msg/sec xenium::vyukov_bounded_queue, 1,s: 13,926,343 msg/sec xenium::vyukov_bounded_queue, 1,i: 9,509,325 msg/sec xenium::vyukov_bounded_queue, 2,s: 6,038,879 msg/sec xenium::vyukov_bounded_queue, 2,i: 9,990,169 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,201,989 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,253,893 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,745,838 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,811,879 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,475,038 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,551,411 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,209,103 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,166,438 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,099,970 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,784,557 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,387,645 msg/sec xenium::vyukov_bounded_queue, 8,i: 1,703,619 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,229,287 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,593,473 msg/sec xenium::vyukov_bounded_queue,10,s: 1,111,058 msg/sec xenium::vyukov_bounded_queue,10,i: 1,516,445 msg/sec xenium::vyukov_bounded_queue,11,s: 1,069,084 msg/sec xenium::vyukov_bounded_queue,11,i: 1,608,655 msg/sec xenium::vyukov_bounded_queue,12,s: 520,849 msg/sec xenium::vyukov_bounded_queue,12,i: 1,256,139 msg/sec xenium::vyukov_bounded_queue,13,s: 1,017,977 msg/sec xenium::vyukov_bounded_queue,13,i: 1,141,721 msg/sec xenium::vyukov_bounded_queue,14,s: 770,879 msg/sec xenium::vyukov_bounded_queue,14,i: 500,506 msg/sec AtomicQueue, 1,s: 10,973,886 msg/sec AtomicQueue, 1,i: 11,104,261 msg/sec AtomicQueue, 2,s: 3,190,554 msg/sec AtomicQueue, 2,i: 4,226,882 msg/sec AtomicQueue, 3,s: 2,793,166 msg/sec AtomicQueue, 3,i: 2,766,675 msg/sec AtomicQueue, 4,s: 2,189,691 msg/sec AtomicQueue, 4,i: 2,495,799 msg/sec AtomicQueue, 5,s: 2,070,448 msg/sec AtomicQueue, 5,i: 2,370,499 msg/sec AtomicQueue, 6,s: 2,050,767 msg/sec AtomicQueue, 6,i: 2,065,027 msg/sec AtomicQueue, 7,s: 1,694,201 msg/sec AtomicQueue, 7,i: 1,730,778 msg/sec AtomicQueue, 8,s: 709,718 msg/sec AtomicQueue, 8,i: 1,462,178 msg/sec AtomicQueue, 9,s: 550,123 msg/sec AtomicQueue, 9,i: 1,208,672 msg/sec AtomicQueue,10,s: 500,884 msg/sec AtomicQueue,10,i: 1,497,940 msg/sec AtomicQueue,11,s: 559,940 msg/sec AtomicQueue,11,i: 1,239,130 msg/sec AtomicQueue,12,s: 808,122 msg/sec AtomicQueue,12,i: 1,059,392 msg/sec AtomicQueue,13,s: 782,507 msg/sec AtomicQueue,13,i: 824,439 msg/sec AtomicQueue,14,s: 525,324 msg/sec AtomicQueue,14,i: 549,044 msg/sec AtomicQueueB, 1,s: 12,625,335 msg/sec AtomicQueueB, 1,i: 13,308,563 msg/sec AtomicQueueB, 2,s: 3,614,933 msg/sec AtomicQueueB, 2,i: 3,488,185 msg/sec AtomicQueueB, 3,s: 2,867,061 msg/sec AtomicQueueB, 3,i: 2,994,124 msg/sec AtomicQueueB, 4,s: 2,385,546 msg/sec AtomicQueueB, 4,i: 2,337,689 msg/sec AtomicQueueB, 5,s: 2,092,255 msg/sec AtomicQueueB, 5,i: 2,255,950 msg/sec AtomicQueueB, 6,s: 1,803,645 msg/sec AtomicQueueB, 6,i: 1,924,968 msg/sec AtomicQueueB, 7,s: 1,541,936 msg/sec AtomicQueueB, 7,i: 1,830,558 msg/sec AtomicQueueB, 8,s: 822,864 msg/sec AtomicQueueB, 8,i: 1,436,588 msg/sec AtomicQueueB, 9,s: 772,260 msg/sec AtomicQueueB, 9,i: 1,462,982 msg/sec AtomicQueueB,10,s: 663,809 msg/sec AtomicQueueB,10,i: 1,283,726 msg/sec AtomicQueueB,11,s: 638,751 msg/sec AtomicQueueB,11,i: 1,198,971 msg/sec AtomicQueueB,12,s: 498,971 msg/sec AtomicQueueB,12,i: 848,921 msg/sec AtomicQueueB,13,s: 532,536 msg/sec AtomicQueueB,13,i: 522,050 msg/sec AtomicQueueB,14,s: 542,622 msg/sec AtomicQueueB,14,i: 505,258 msg/sec OptimistAtomicQueue, 1,s: 121,130,351 msg/sec OptimistAtomicQueue, 1,i: 96,063,041 msg/sec OptimistAtomicQueue, 2,s: 7,148,233 msg/sec OptimistAtomicQueue, 2,i: 11,894,834 msg/sec OptimistAtomicQueue, 3,s: 11,459,275 msg/sec OptimistAtomicQueue, 3,i: 11,675,518 msg/sec OptimistAtomicQueue, 4,s: 8,515,955 msg/sec OptimistAtomicQueue, 4,i: 10,038,903 msg/sec OptimistAtomicQueue, 5,s: 12,767,931 msg/sec OptimistAtomicQueue, 5,i: 13,150,022 msg/sec OptimistAtomicQueue, 6,s: 13,646,236 msg/sec OptimistAtomicQueue, 6,i: 13,900,066 msg/sec OptimistAtomicQueue, 7,s: 13,303,087 msg/sec OptimistAtomicQueue, 7,i: 13,772,120 msg/sec OptimistAtomicQueue, 8,s: 9,664,379 msg/sec OptimistAtomicQueue, 8,i: 9,936,379 msg/sec OptimistAtomicQueue, 9,s: 8,690,415 msg/sec OptimistAtomicQueue, 9,i: 10,120,817 msg/sec OptimistAtomicQueue,10,s: 8,499,867 msg/sec OptimistAtomicQueue,10,i: 10,484,205 msg/sec OptimistAtomicQueue,11,s: 8,234,783 msg/sec OptimistAtomicQueue,11,i: 10,447,261 msg/sec OptimistAtomicQueue,12,s: 8,099,656 msg/sec OptimistAtomicQueue,12,i: 10,343,359 msg/sec OptimistAtomicQueue,13,s: 8,394,640 msg/sec OptimistAtomicQueue,13,i: 10,863,988 msg/sec OptimistAtomicQueue,14,s: 8,617,479 msg/sec OptimistAtomicQueue,14,i: 10,946,270 msg/sec OptimistAtomicQueueB, 1,s: 38,468,512 msg/sec OptimistAtomicQueueB, 1,i: 40,967,781 msg/sec OptimistAtomicQueueB, 2,s: 11,989,506 msg/sec OptimistAtomicQueueB, 2,i: 12,822,911 msg/sec OptimistAtomicQueueB, 3,s: 13,031,622 msg/sec OptimistAtomicQueueB, 3,i: 12,498,798 msg/sec OptimistAtomicQueueB, 4,s: 12,777,527 msg/sec OptimistAtomicQueueB, 4,i: 13,437,415 msg/sec OptimistAtomicQueueB, 5,s: 12,860,097 msg/sec OptimistAtomicQueueB, 5,i: 13,216,038 msg/sec OptimistAtomicQueueB, 6,s: 12,886,560 msg/sec OptimistAtomicQueueB, 6,i: 12,954,284 msg/sec OptimistAtomicQueueB, 7,s: 12,558,685 msg/sec OptimistAtomicQueueB, 7,i: 13,427,527 msg/sec OptimistAtomicQueueB, 8,s: 9,907,250 msg/sec OptimistAtomicQueueB, 8,i: 9,874,741 msg/sec OptimistAtomicQueueB, 9,s: 8,533,726 msg/sec OptimistAtomicQueueB, 9,i: 10,070,665 msg/sec OptimistAtomicQueueB,10,s: 8,296,431 msg/sec OptimistAtomicQueueB,10,i: 10,275,166 msg/sec OptimistAtomicQueueB,11,s: 8,355,599 msg/sec OptimistAtomicQueueB,11,i: 10,721,436 msg/sec OptimistAtomicQueueB,12,s: 8,164,541 msg/sec OptimistAtomicQueueB,12,i: 11,017,943 msg/sec OptimistAtomicQueueB,13,s: 8,474,793 msg/sec OptimistAtomicQueueB,13,i: 10,629,746 msg/sec OptimistAtomicQueueB,14,s: 8,546,540 msg/sec OptimistAtomicQueueB,14,i: 11,275,014 msg/sec AtomicQueue2, 1,s: 9,917,454 msg/sec AtomicQueue2, 1,i: 22,145,181 msg/sec AtomicQueue2, 2,s: 4,579,097 msg/sec AtomicQueue2, 2,i: 4,537,732 msg/sec AtomicQueue2, 3,s: 2,619,583 msg/sec AtomicQueue2, 3,i: 2,562,500 msg/sec AtomicQueue2, 4,s: 2,289,254 msg/sec AtomicQueue2, 4,i: 2,558,410 msg/sec AtomicQueue2, 5,s: 2,081,379 msg/sec AtomicQueue2, 5,i: 2,409,163 msg/sec AtomicQueue2, 6,s: 1,912,680 msg/sec AtomicQueue2, 6,i: 1,997,829 msg/sec AtomicQueue2, 7,s: 1,636,650 msg/sec AtomicQueue2, 7,i: 1,776,365 msg/sec AtomicQueue2, 8,s: 523,058 msg/sec AtomicQueue2, 8,i: 1,568,623 msg/sec AtomicQueue2, 9,s: 933,513 msg/sec AtomicQueue2, 9,i: 1,344,764 msg/sec AtomicQueue2,10,s: 808,929 msg/sec AtomicQueue2,10,i: 1,502,601 msg/sec AtomicQueue2,11,s: 726,438 msg/sec AtomicQueue2,11,i: 1,144,725 msg/sec AtomicQueue2,12,s: 737,960 msg/sec AtomicQueue2,12,i: 1,142,817 msg/sec AtomicQueue2,13,s: 873,797 msg/sec AtomicQueue2,13,i: 500,529 msg/sec AtomicQueue2,14,s: 572,587 msg/sec AtomicQueue2,14,i: 842,779 msg/sec AtomicQueueB2, 1,s: 7,469,063 msg/sec AtomicQueueB2, 1,i: 7,460,755 msg/sec AtomicQueueB2, 2,s: 2,931,096 msg/sec AtomicQueueB2, 2,i: 3,508,847 msg/sec AtomicQueueB2, 3,s: 2,785,525 msg/sec AtomicQueueB2, 3,i: 2,761,220 msg/sec AtomicQueueB2, 4,s: 2,299,251 msg/sec AtomicQueueB2, 4,i: 2,494,351 msg/sec AtomicQueueB2, 5,s: 2,087,252 msg/sec AtomicQueueB2, 5,i: 2,334,674 msg/sec AtomicQueueB2, 6,s: 1,917,449 msg/sec AtomicQueueB2, 6,i: 1,909,846 msg/sec AtomicQueueB2, 7,s: 1,783,895 msg/sec AtomicQueueB2, 7,i: 1,567,566 msg/sec AtomicQueueB2, 8,s: 776,234 msg/sec AtomicQueueB2, 8,i: 1,609,794 msg/sec AtomicQueueB2, 9,s: 559,110 msg/sec AtomicQueueB2, 9,i: 1,372,982 msg/sec AtomicQueueB2,10,s: 667,884 msg/sec AtomicQueueB2,10,i: 1,102,944 msg/sec AtomicQueueB2,11,s: 508,265 msg/sec AtomicQueueB2,11,i: 1,085,804 msg/sec AtomicQueueB2,12,s: 560,375 msg/sec AtomicQueueB2,12,i: 1,012,368 msg/sec AtomicQueueB2,13,s: 494,596 msg/sec AtomicQueueB2,13,i: 549,153 msg/sec AtomicQueueB2,14,s: 546,988 msg/sec AtomicQueueB2,14,i: 539,762 msg/sec OptimistAtomicQueue2, 1,s: 82,718,601 msg/sec OptimistAtomicQueue2, 1,i: 150,785,406 msg/sec OptimistAtomicQueue2, 2,s: 7,593,405 msg/sec OptimistAtomicQueue2, 2,i: 7,352,945 msg/sec OptimistAtomicQueue2, 3,s: 7,737,842 msg/sec OptimistAtomicQueue2, 3,i: 7,688,242 msg/sec OptimistAtomicQueue2, 4,s: 8,170,076 msg/sec OptimistAtomicQueue2, 4,i: 12,615,837 msg/sec OptimistAtomicQueue2, 5,s: 11,654,666 msg/sec OptimistAtomicQueue2, 5,i: 8,899,542 msg/sec OptimistAtomicQueue2, 6,s: 9,878,454 msg/sec OptimistAtomicQueue2, 6,i: 13,118,999 msg/sec OptimistAtomicQueue2, 7,s: 12,935,561 msg/sec OptimistAtomicQueue2, 7,i: 12,948,662 msg/sec OptimistAtomicQueue2, 8,s: 9,315,106 msg/sec OptimistAtomicQueue2, 8,i: 9,319,697 msg/sec OptimistAtomicQueue2, 9,s: 8,237,921 msg/sec OptimistAtomicQueue2, 9,i: 9,604,647 msg/sec OptimistAtomicQueue2,10,s: 7,799,079 msg/sec OptimistAtomicQueue2,10,i: 9,094,392 msg/sec OptimistAtomicQueue2,11,s: 7,694,331 msg/sec OptimistAtomicQueue2,11,i: 9,611,230 msg/sec OptimistAtomicQueue2,12,s: 7,948,039 msg/sec OptimistAtomicQueue2,12,i: 9,432,024 msg/sec OptimistAtomicQueue2,13,s: 7,928,721 msg/sec OptimistAtomicQueue2,13,i: 10,305,221 msg/sec OptimistAtomicQueue2,14,s: 8,242,832 msg/sec OptimistAtomicQueue2,14,i: 9,935,675 msg/sec OptimistAtomicQueueB2, 1,s: 25,278,835 msg/sec OptimistAtomicQueueB2, 1,i: 25,466,930 msg/sec OptimistAtomicQueueB2, 2,s: 10,516,530 msg/sec OptimistAtomicQueueB2, 2,i: 10,558,997 msg/sec OptimistAtomicQueueB2, 3,s: 12,338,971 msg/sec OptimistAtomicQueueB2, 3,i: 11,555,903 msg/sec OptimistAtomicQueueB2, 4,s: 10,782,558 msg/sec OptimistAtomicQueueB2, 4,i: 8,916,677 msg/sec OptimistAtomicQueueB2, 5,s: 12,469,988 msg/sec OptimistAtomicQueueB2, 5,i: 13,032,162 msg/sec OptimistAtomicQueueB2, 6,s: 12,423,957 msg/sec OptimistAtomicQueueB2, 6,i: 12,421,006 msg/sec OptimistAtomicQueueB2, 7,s: 11,821,197 msg/sec OptimistAtomicQueueB2, 7,i: 12,977,344 msg/sec OptimistAtomicQueueB2, 8,s: 8,853,566 msg/sec OptimistAtomicQueueB2, 8,i: 10,573,756 msg/sec OptimistAtomicQueueB2, 9,s: 7,889,389 msg/sec OptimistAtomicQueueB2, 9,i: 9,464,507 msg/sec OptimistAtomicQueueB2,10,s: 7,578,059 msg/sec OptimistAtomicQueueB2,10,i: 9,535,619 msg/sec OptimistAtomicQueueB2,11,s: 7,549,178 msg/sec OptimistAtomicQueueB2,11,i: 9,393,485 msg/sec OptimistAtomicQueueB2,12,s: 7,601,429 msg/sec OptimistAtomicQueueB2,12,i: 9,909,266 msg/sec OptimistAtomicQueueB2,13,s: 7,868,709 msg/sec OptimistAtomicQueueB2,13,i: 9,835,219 msg/sec OptimistAtomicQueueB2,14,s: 8,027,025 msg/sec OptimistAtomicQueueB2,14,i: 10,425,912 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000412 sec/round-trip boost::lockfree::queue: 0.000000831 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000262 sec/round-trip moodycamel::ConcurrentQueue: 0.000000472 sec/round-trip pthread_spinlock: 0.000000662 sec/round-trip std::mutex: 0.000002020 sec/round-trip tbb::spin_mutex: 0.000000590 sec/round-trip tbb::concurrent_bounded_queue: 0.000000579 sec/round-trip xenium::michael_scott_queue: 0.000000768 sec/round-trip xenium::ramalhete_queue: 0.000000527 sec/round-trip xenium::vyukov_bounded_queue: 0.000000443 sec/round-trip AtomicQueue: 0.000000249 sec/round-trip AtomicQueueB: 0.000000346 sec/round-trip OptimistAtomicQueue: 0.000000306 sec/round-trip OptimistAtomicQueueB: 0.000000331 sec/round-trip AtomicQueue2: 0.000000329 sec/round-trip AtomicQueueB2: 0.000000406 sec/round-trip OptimistAtomicQueue2: 0.000000331 sec/round-trip OptimistAtomicQueueB2: 0.000000360 sec/round-trip [7/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 24,325,893 msg/sec boost::lockfree::spsc_queue, 1,i: 24,541,982 msg/sec boost::lockfree::queue, 1,s: 3,000,445 msg/sec boost::lockfree::queue, 1,i: 2,852,980 msg/sec boost::lockfree::queue, 2,s: 2,294,159 msg/sec boost::lockfree::queue, 2,i: 2,437,740 msg/sec boost::lockfree::queue, 3,s: 2,439,719 msg/sec boost::lockfree::queue, 3,i: 2,367,235 msg/sec boost::lockfree::queue, 4,s: 2,303,667 msg/sec boost::lockfree::queue, 4,i: 2,287,793 msg/sec boost::lockfree::queue, 5,s: 2,257,512 msg/sec boost::lockfree::queue, 5,i: 2,287,397 msg/sec boost::lockfree::queue, 6,s: 2,104,861 msg/sec boost::lockfree::queue, 6,i: 1,961,395 msg/sec boost::lockfree::queue, 7,s: 1,945,216 msg/sec boost::lockfree::queue, 7,i: 1,764,427 msg/sec boost::lockfree::queue, 8,s: 499,936 msg/sec boost::lockfree::queue, 8,i: 1,218,579 msg/sec boost::lockfree::queue, 9,s: 721,312 msg/sec boost::lockfree::queue, 9,i: 1,058,447 msg/sec boost::lockfree::queue,10,s: 782,835 msg/sec boost::lockfree::queue,10,i: 716,474 msg/sec boost::lockfree::queue,11,s: 505,645 msg/sec boost::lockfree::queue,11,i: 516,356 msg/sec boost::lockfree::queue,12,s: 501,448 msg/sec boost::lockfree::queue,12,i: 519,165 msg/sec boost::lockfree::queue,13,s: 512,379 msg/sec boost::lockfree::queue,13,i: 519,329 msg/sec boost::lockfree::queue,14,s: 509,179 msg/sec boost::lockfree::queue,14,i: 517,368 msg/sec moodycamel::ReaderWriterQueue, 1,s: 165,477,477 msg/sec moodycamel::ReaderWriterQueue, 1,i: 171,411,174 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,642,585 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,469,644 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,175,507 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,949,613 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,396,454 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,937,629 msg/sec moodycamel::ConcurrentQueue, 4,s: 11,939,629 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,582,888 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,041,052 msg/sec moodycamel::ConcurrentQueue, 5,i: 17,355,162 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,811,029 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,936,378 msg/sec moodycamel::ConcurrentQueue, 7,s: 11,559,764 msg/sec moodycamel::ConcurrentQueue, 7,i: 7,031,310 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,547,454 msg/sec moodycamel::ConcurrentQueue, 8,i: 6,050,404 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,192,661 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,202,812 msg/sec moodycamel::ConcurrentQueue,10,s: 5,342,120 msg/sec moodycamel::ConcurrentQueue,10,i: 5,532,349 msg/sec moodycamel::ConcurrentQueue,11,s: 4,900,734 msg/sec moodycamel::ConcurrentQueue,11,i: 5,078,982 msg/sec moodycamel::ConcurrentQueue,12,s: 4,954,263 msg/sec moodycamel::ConcurrentQueue,12,i: 5,428,287 msg/sec moodycamel::ConcurrentQueue,13,s: 5,280,893 msg/sec moodycamel::ConcurrentQueue,13,i: 5,490,769 msg/sec moodycamel::ConcurrentQueue,14,s: 6,946,315 msg/sec moodycamel::ConcurrentQueue,14,i: 5,422,286 msg/sec pthread_spinlock, 1,s: 4,756,691 msg/sec pthread_spinlock, 1,i: 4,735,951 msg/sec pthread_spinlock, 2,s: 4,049,981 msg/sec pthread_spinlock, 2,i: 3,999,007 msg/sec pthread_spinlock, 3,s: 3,023,109 msg/sec pthread_spinlock, 3,i: 3,360,173 msg/sec pthread_spinlock, 4,s: 2,599,230 msg/sec pthread_spinlock, 4,i: 2,559,423 msg/sec pthread_spinlock, 5,s: 2,275,234 msg/sec pthread_spinlock, 5,i: 2,220,911 msg/sec pthread_spinlock, 6,s: 2,080,800 msg/sec pthread_spinlock, 6,i: 2,260,670 msg/sec pthread_spinlock, 7,s: 2,017,613 msg/sec pthread_spinlock, 7,i: 1,762,410 msg/sec pthread_spinlock, 8,s: 690,787 msg/sec pthread_spinlock, 8,i: 1,499,893 msg/sec pthread_spinlock, 9,s: 1,051,986 msg/sec pthread_spinlock, 9,i: 507,992 msg/sec pthread_spinlock,10,s: 505,829 msg/sec pthread_spinlock,10,i: 574,556 msg/sec pthread_spinlock,11,s: 595,727 msg/sec pthread_spinlock,11,i: 654,343 msg/sec pthread_spinlock,12,s: 552,805 msg/sec pthread_spinlock,12,i: 570,462 msg/sec pthread_spinlock,13,s: 534,255 msg/sec pthread_spinlock,13,i: 511,742 msg/sec pthread_spinlock,14,s: 444,181 msg/sec pthread_spinlock,14,i: 734,164 msg/sec std::mutex, 1,s: 5,335,031 msg/sec std::mutex, 1,i: 5,334,500 msg/sec std::mutex, 2,s: 4,700,323 msg/sec std::mutex, 2,i: 4,568,251 msg/sec std::mutex, 3,s: 2,977,724 msg/sec std::mutex, 3,i: 3,063,468 msg/sec std::mutex, 4,s: 2,883,372 msg/sec std::mutex, 4,i: 2,967,206 msg/sec std::mutex, 5,s: 3,696,186 msg/sec std::mutex, 5,i: 3,733,570 msg/sec std::mutex, 6,s: 4,626,648 msg/sec std::mutex, 6,i: 4,891,290 msg/sec std::mutex, 7,s: 5,996,156 msg/sec std::mutex, 7,i: 6,063,567 msg/sec std::mutex, 8,s: 6,990,398 msg/sec std::mutex, 8,i: 6,173,574 msg/sec std::mutex, 9,s: 6,601,482 msg/sec std::mutex, 9,i: 4,998,598 msg/sec std::mutex,10,s: 6,246,187 msg/sec std::mutex,10,i: 4,848,622 msg/sec std::mutex,11,s: 6,357,439 msg/sec std::mutex,11,i: 5,044,960 msg/sec std::mutex,12,s: 6,537,253 msg/sec std::mutex,12,i: 5,096,212 msg/sec std::mutex,13,s: 6,824,203 msg/sec std::mutex,13,i: 5,251,349 msg/sec std::mutex,14,s: 6,942,226 msg/sec std::mutex,14,i: 5,264,266 msg/sec tbb::spin_mutex, 1,s: 25,116,903 msg/sec tbb::spin_mutex, 1,i: 25,406,844 msg/sec tbb::spin_mutex, 2,s: 13,975,032 msg/sec tbb::spin_mutex, 2,i: 10,740,507 msg/sec tbb::spin_mutex, 3,s: 9,502,954 msg/sec tbb::spin_mutex, 3,i: 8,266,643 msg/sec tbb::spin_mutex, 4,s: 4,303,429 msg/sec tbb::spin_mutex, 4,i: 4,260,185 msg/sec tbb::spin_mutex, 5,s: 2,272,301 msg/sec tbb::spin_mutex, 5,i: 4,649,700 msg/sec tbb::spin_mutex, 6,s: 3,475,850 msg/sec tbb::spin_mutex, 6,i: 2,918,819 msg/sec tbb::spin_mutex, 7,s: 2,534,117 msg/sec tbb::spin_mutex, 7,i: 2,078,654 msg/sec tbb::spin_mutex, 8,s: 1,236,711 msg/sec tbb::spin_mutex, 8,i: 1,214,943 msg/sec tbb::spin_mutex, 9,s: 838,428 msg/sec tbb::spin_mutex, 9,i: 919,764 msg/sec tbb::spin_mutex,10,s: 564,711 msg/sec tbb::spin_mutex,10,i: 783,533 msg/sec tbb::spin_mutex,11,s: 541,028 msg/sec tbb::spin_mutex,11,i: 750,731 msg/sec tbb::spin_mutex,12,s: 448,789 msg/sec tbb::spin_mutex,12,i: 614,473 msg/sec tbb::spin_mutex,13,s: 422,759 msg/sec tbb::spin_mutex,13,i: 506,852 msg/sec tbb::spin_mutex,14,s: 397,544 msg/sec tbb::spin_mutex,14,i: 547,935 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,292,911 msg/sec tbb::concurrent_bounded_queue, 1,i: 4,835,284 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,746,707 msg/sec tbb::concurrent_bounded_queue, 2,i: 4,909,364 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,039,951 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,107,631 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,635,191 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,651,592 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,074,206 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,229,647 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,668,380 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,824,932 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,570,504 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,623,979 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,279,180 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,996,444 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,165,824 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,327,332 msg/sec tbb::concurrent_bounded_queue,10,s: 1,172,405 msg/sec tbb::concurrent_bounded_queue,10,i: 1,285,674 msg/sec tbb::concurrent_bounded_queue,11,s: 1,118,510 msg/sec tbb::concurrent_bounded_queue,11,i: 1,211,998 msg/sec tbb::concurrent_bounded_queue,12,s: 1,167,813 msg/sec tbb::concurrent_bounded_queue,12,i: 1,186,151 msg/sec tbb::concurrent_bounded_queue,13,s: 1,320,175 msg/sec tbb::concurrent_bounded_queue,13,i: 1,193,343 msg/sec tbb::concurrent_bounded_queue,14,s: 761,795 msg/sec tbb::concurrent_bounded_queue,14,i: 1,019,533 msg/sec xenium::michael_scott_queue, 1,s: 3,296,949 msg/sec xenium::michael_scott_queue, 1,i: 2,292,149 msg/sec xenium::michael_scott_queue, 2,s: 3,344,585 msg/sec xenium::michael_scott_queue, 2,i: 2,782,942 msg/sec xenium::michael_scott_queue, 3,s: 2,198,588 msg/sec xenium::michael_scott_queue, 3,i: 2,320,842 msg/sec xenium::michael_scott_queue, 4,s: 2,011,858 msg/sec xenium::michael_scott_queue, 4,i: 2,136,872 msg/sec xenium::michael_scott_queue, 5,s: 1,944,621 msg/sec xenium::michael_scott_queue, 5,i: 1,958,246 msg/sec xenium::michael_scott_queue, 6,s: 1,788,673 msg/sec xenium::michael_scott_queue, 6,i: 1,839,846 msg/sec xenium::michael_scott_queue, 7,s: 1,731,245 msg/sec xenium::michael_scott_queue, 7,i: 1,784,947 msg/sec xenium::michael_scott_queue, 8,s: 1,087,455 msg/sec xenium::michael_scott_queue, 8,i: 1,258,882 msg/sec xenium::michael_scott_queue, 9,s: 629,540 msg/sec xenium::michael_scott_queue, 9,i: 504,240 msg/sec xenium::michael_scott_queue,10,s: 512,680 msg/sec xenium::michael_scott_queue,10,i: 505,195 msg/sec xenium::michael_scott_queue,11,s: 504,633 msg/sec xenium::michael_scott_queue,11,i: 506,473 msg/sec xenium::michael_scott_queue,12,s: 521,519 msg/sec xenium::michael_scott_queue,12,i: 503,079 msg/sec xenium::michael_scott_queue,13,s: 504,714 msg/sec xenium::michael_scott_queue,13,i: 522,419 msg/sec xenium::michael_scott_queue,14,s: 504,936 msg/sec xenium::michael_scott_queue,14,i: 505,989 msg/sec xenium::ramalhete_queue, 1,s: 10,188,231 msg/sec xenium::ramalhete_queue, 1,i: 16,554,622 msg/sec xenium::ramalhete_queue, 2,s: 6,775,666 msg/sec xenium::ramalhete_queue, 2,i: 6,844,509 msg/sec xenium::ramalhete_queue, 3,s: 5,681,860 msg/sec xenium::ramalhete_queue, 3,i: 7,589,960 msg/sec xenium::ramalhete_queue, 4,s: 11,687,397 msg/sec xenium::ramalhete_queue, 4,i: 11,353,636 msg/sec xenium::ramalhete_queue, 5,s: 11,247,027 msg/sec xenium::ramalhete_queue, 5,i: 8,315,916 msg/sec xenium::ramalhete_queue, 6,s: 8,156,802 msg/sec xenium::ramalhete_queue, 6,i: 8,143,206 msg/sec xenium::ramalhete_queue, 7,s: 8,401,354 msg/sec xenium::ramalhete_queue, 7,i: 8,203,845 msg/sec xenium::ramalhete_queue, 8,s: 7,039,662 msg/sec xenium::ramalhete_queue, 8,i: 8,282,959 msg/sec xenium::ramalhete_queue, 9,s: 8,114,234 msg/sec xenium::ramalhete_queue, 9,i: 7,333,234 msg/sec xenium::ramalhete_queue,10,s: 7,522,365 msg/sec xenium::ramalhete_queue,10,i: 7,881,797 msg/sec xenium::ramalhete_queue,11,s: 8,239,115 msg/sec xenium::ramalhete_queue,11,i: 8,307,887 msg/sec xenium::ramalhete_queue,12,s: 8,783,091 msg/sec xenium::ramalhete_queue,12,i: 8,024,498 msg/sec xenium::ramalhete_queue,13,s: 9,767,663 msg/sec xenium::ramalhete_queue,13,i: 8,578,655 msg/sec xenium::ramalhete_queue,14,s: 10,390,333 msg/sec xenium::ramalhete_queue,14,i: 8,236,635 msg/sec xenium::vyukov_bounded_queue, 1,s: 13,913,898 msg/sec xenium::vyukov_bounded_queue, 1,i: 9,326,949 msg/sec xenium::vyukov_bounded_queue, 2,s: 9,782,240 msg/sec xenium::vyukov_bounded_queue, 2,i: 10,319,122 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,517,729 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,460,383 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,813,649 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,298,310 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,697,617 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,924,131 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,396,395 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,319,134 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,064,764 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,105,548 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,462,679 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,292,737 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,274,862 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,530,347 msg/sec xenium::vyukov_bounded_queue,10,s: 1,127,775 msg/sec xenium::vyukov_bounded_queue,10,i: 1,590,136 msg/sec xenium::vyukov_bounded_queue,11,s: 1,033,875 msg/sec xenium::vyukov_bounded_queue,11,i: 1,333,208 msg/sec xenium::vyukov_bounded_queue,12,s: 1,129,392 msg/sec xenium::vyukov_bounded_queue,12,i: 1,223,821 msg/sec xenium::vyukov_bounded_queue,13,s: 1,008,482 msg/sec xenium::vyukov_bounded_queue,13,i: 1,163,579 msg/sec xenium::vyukov_bounded_queue,14,s: 856,478 msg/sec xenium::vyukov_bounded_queue,14,i: 1,052,173 msg/sec AtomicQueue, 1,s: 9,354,606 msg/sec AtomicQueue, 1,i: 85,486,744 msg/sec AtomicQueue, 2,s: 4,135,240 msg/sec AtomicQueue, 2,i: 3,811,733 msg/sec AtomicQueue, 3,s: 2,667,628 msg/sec AtomicQueue, 3,i: 2,830,799 msg/sec AtomicQueue, 4,s: 2,486,631 msg/sec AtomicQueue, 4,i: 2,528,910 msg/sec AtomicQueue, 5,s: 2,369,313 msg/sec AtomicQueue, 5,i: 2,266,508 msg/sec AtomicQueue, 6,s: 1,958,165 msg/sec AtomicQueue, 6,i: 1,980,919 msg/sec AtomicQueue, 7,s: 1,765,600 msg/sec AtomicQueue, 7,i: 1,726,651 msg/sec AtomicQueue, 8,s: 1,062,498 msg/sec AtomicQueue, 8,i: 1,554,861 msg/sec AtomicQueue, 9,s: 1,084,964 msg/sec AtomicQueue, 9,i: 1,114,390 msg/sec AtomicQueue,10,s: 834,842 msg/sec AtomicQueue,10,i: 1,052,263 msg/sec AtomicQueue,11,s: 1,035,636 msg/sec AtomicQueue,11,i: 1,059,570 msg/sec AtomicQueue,12,s: 891,450 msg/sec AtomicQueue,12,i: 522,646 msg/sec AtomicQueue,13,s: 519,528 msg/sec AtomicQueue,13,i: 518,041 msg/sec AtomicQueue,14,s: 520,953 msg/sec AtomicQueue,14,i: 519,430 msg/sec AtomicQueueB, 1,s: 11,928,200 msg/sec AtomicQueueB, 1,i: 11,848,662 msg/sec AtomicQueueB, 2,s: 3,154,596 msg/sec AtomicQueueB, 2,i: 3,577,304 msg/sec AtomicQueueB, 3,s: 2,714,663 msg/sec AtomicQueueB, 3,i: 3,294,293 msg/sec AtomicQueueB, 4,s: 2,415,196 msg/sec AtomicQueueB, 4,i: 2,504,775 msg/sec AtomicQueueB, 5,s: 2,212,541 msg/sec AtomicQueueB, 5,i: 2,285,916 msg/sec AtomicQueueB, 6,s: 1,993,881 msg/sec AtomicQueueB, 6,i: 2,007,239 msg/sec AtomicQueueB, 7,s: 1,899,313 msg/sec AtomicQueueB, 7,i: 1,818,764 msg/sec AtomicQueueB, 8,s: 707,798 msg/sec AtomicQueueB, 8,i: 1,460,828 msg/sec AtomicQueueB, 9,s: 1,098,644 msg/sec AtomicQueueB, 9,i: 1,033,658 msg/sec AtomicQueueB,10,s: 902,274 msg/sec AtomicQueueB,10,i: 1,009,485 msg/sec AtomicQueueB,11,s: 515,363 msg/sec AtomicQueueB,11,i: 508,289 msg/sec AtomicQueueB,12,s: 503,785 msg/sec AtomicQueueB,12,i: 513,796 msg/sec AtomicQueueB,13,s: 522,103 msg/sec AtomicQueueB,13,i: 514,826 msg/sec AtomicQueueB,14,s: 499,361 msg/sec AtomicQueueB,14,i: 521,503 msg/sec OptimistAtomicQueue, 1,s: 115,286,594 msg/sec OptimistAtomicQueue, 1,i: 100,293,597 msg/sec OptimistAtomicQueue, 2,s: 7,529,583 msg/sec OptimistAtomicQueue, 2,i: 8,246,969 msg/sec OptimistAtomicQueue, 3,s: 11,660,265 msg/sec OptimistAtomicQueue, 3,i: 12,661,923 msg/sec OptimistAtomicQueue, 4,s: 11,823,644 msg/sec OptimistAtomicQueue, 4,i: 13,240,948 msg/sec OptimistAtomicQueue, 5,s: 12,856,502 msg/sec OptimistAtomicQueue, 5,i: 11,795,710 msg/sec OptimistAtomicQueue, 6,s: 13,413,645 msg/sec OptimistAtomicQueue, 6,i: 13,901,265 msg/sec OptimistAtomicQueue, 7,s: 13,649,662 msg/sec OptimistAtomicQueue, 7,i: 14,188,897 msg/sec OptimistAtomicQueue, 8,s: 11,144,309 msg/sec OptimistAtomicQueue, 8,i: 11,239,279 msg/sec OptimistAtomicQueue, 9,s: 10,696,268 msg/sec OptimistAtomicQueue, 9,i: 11,047,223 msg/sec OptimistAtomicQueue,10,s: 10,720,333 msg/sec OptimistAtomicQueue,10,i: 10,983,364 msg/sec OptimistAtomicQueue,11,s: 10,511,408 msg/sec OptimistAtomicQueue,11,i: 11,207,642 msg/sec OptimistAtomicQueue,12,s: 10,792,007 msg/sec OptimistAtomicQueue,12,i: 10,478,949 msg/sec OptimistAtomicQueue,13,s: 9,796,002 msg/sec OptimistAtomicQueue,13,i: 11,261,392 msg/sec OptimistAtomicQueue,14,s: 8,990,625 msg/sec OptimistAtomicQueue,14,i: 10,835,236 msg/sec OptimistAtomicQueueB, 1,s: 28,497,215 msg/sec OptimistAtomicQueueB, 1,i: 31,160,702 msg/sec OptimistAtomicQueueB, 2,s: 11,027,537 msg/sec OptimistAtomicQueueB, 2,i: 10,917,630 msg/sec OptimistAtomicQueueB, 3,s: 10,941,489 msg/sec OptimistAtomicQueueB, 3,i: 13,191,450 msg/sec OptimistAtomicQueueB, 4,s: 13,131,320 msg/sec OptimistAtomicQueueB, 4,i: 13,256,811 msg/sec OptimistAtomicQueueB, 5,s: 12,783,951 msg/sec OptimistAtomicQueueB, 5,i: 12,567,887 msg/sec OptimistAtomicQueueB, 6,s: 13,206,334 msg/sec OptimistAtomicQueueB, 6,i: 13,572,714 msg/sec OptimistAtomicQueueB, 7,s: 13,318,236 msg/sec OptimistAtomicQueueB, 7,i: 13,961,261 msg/sec OptimistAtomicQueueB, 8,s: 10,632,682 msg/sec OptimistAtomicQueueB, 8,i: 11,053,279 msg/sec OptimistAtomicQueueB, 9,s: 10,727,705 msg/sec OptimistAtomicQueueB, 9,i: 11,067,524 msg/sec OptimistAtomicQueueB,10,s: 10,482,383 msg/sec OptimistAtomicQueueB,10,i: 11,012,003 msg/sec OptimistAtomicQueueB,11,s: 10,695,407 msg/sec OptimistAtomicQueueB,11,i: 11,518,370 msg/sec OptimistAtomicQueueB,12,s: 10,892,900 msg/sec OptimistAtomicQueueB,12,i: 11,545,225 msg/sec OptimistAtomicQueueB,13,s: 9,483,548 msg/sec OptimistAtomicQueueB,13,i: 10,810,073 msg/sec OptimistAtomicQueueB,14,s: 9,142,896 msg/sec OptimistAtomicQueueB,14,i: 11,067,792 msg/sec AtomicQueue2, 1,s: 9,286,309 msg/sec AtomicQueue2, 1,i: 9,300,136 msg/sec AtomicQueue2, 2,s: 3,022,509 msg/sec AtomicQueue2, 2,i: 3,476,993 msg/sec AtomicQueue2, 3,s: 2,751,967 msg/sec AtomicQueue2, 3,i: 3,162,315 msg/sec AtomicQueue2, 4,s: 2,301,047 msg/sec AtomicQueue2, 4,i: 2,675,782 msg/sec AtomicQueue2, 5,s: 2,277,983 msg/sec AtomicQueue2, 5,i: 2,241,890 msg/sec AtomicQueue2, 6,s: 1,970,394 msg/sec AtomicQueue2, 6,i: 1,934,876 msg/sec AtomicQueue2, 7,s: 1,731,498 msg/sec AtomicQueue2, 7,i: 1,716,347 msg/sec AtomicQueue2, 8,s: 1,104,900 msg/sec AtomicQueue2, 8,i: 1,547,785 msg/sec AtomicQueue2, 9,s: 1,035,334 msg/sec AtomicQueue2, 9,i: 1,272,592 msg/sec AtomicQueue2,10,s: 1,057,097 msg/sec AtomicQueue2,10,i: 1,105,910 msg/sec AtomicQueue2,11,s: 1,071,411 msg/sec AtomicQueue2,11,i: 1,053,057 msg/sec AtomicQueue2,12,s: 499,015 msg/sec AtomicQueue2,12,i: 510,845 msg/sec AtomicQueue2,13,s: 503,767 msg/sec AtomicQueue2,13,i: 507,211 msg/sec AtomicQueue2,14,s: 525,596 msg/sec AtomicQueue2,14,i: 536,782 msg/sec AtomicQueueB2, 1,s: 13,073,777 msg/sec AtomicQueueB2, 1,i: 13,263,920 msg/sec AtomicQueueB2, 2,s: 3,666,948 msg/sec AtomicQueueB2, 2,i: 4,471,488 msg/sec AtomicQueueB2, 3,s: 2,423,230 msg/sec AtomicQueueB2, 3,i: 2,745,835 msg/sec AtomicQueueB2, 4,s: 2,424,109 msg/sec AtomicQueueB2, 4,i: 2,540,289 msg/sec AtomicQueueB2, 5,s: 2,095,666 msg/sec AtomicQueueB2, 5,i: 2,322,884 msg/sec AtomicQueueB2, 6,s: 1,973,061 msg/sec AtomicQueueB2, 6,i: 1,899,395 msg/sec AtomicQueueB2, 7,s: 1,713,217 msg/sec AtomicQueueB2, 7,i: 1,820,596 msg/sec AtomicQueueB2, 8,s: 1,233,766 msg/sec AtomicQueueB2, 8,i: 1,362,873 msg/sec AtomicQueueB2, 9,s: 711,757 msg/sec AtomicQueueB2, 9,i: 1,164,165 msg/sec AtomicQueueB2,10,s: 763,069 msg/sec AtomicQueueB2,10,i: 504,590 msg/sec AtomicQueueB2,11,s: 510,019 msg/sec AtomicQueueB2,11,i: 536,022 msg/sec AtomicQueueB2,12,s: 516,445 msg/sec AtomicQueueB2,12,i: 520,095 msg/sec AtomicQueueB2,13,s: 520,880 msg/sec AtomicQueueB2,13,i: 519,017 msg/sec AtomicQueueB2,14,s: 504,532 msg/sec AtomicQueueB2,14,i: 518,023 msg/sec OptimistAtomicQueue2, 1,s: 51,233,552 msg/sec OptimistAtomicQueue2, 1,i: 48,519,726 msg/sec OptimistAtomicQueue2, 2,s: 6,293,556 msg/sec OptimistAtomicQueue2, 2,i: 6,998,914 msg/sec OptimistAtomicQueue2, 3,s: 8,272,938 msg/sec OptimistAtomicQueue2, 3,i: 12,559,722 msg/sec OptimistAtomicQueue2, 4,s: 12,439,661 msg/sec OptimistAtomicQueue2, 4,i: 12,395,891 msg/sec OptimistAtomicQueue2, 5,s: 9,490,921 msg/sec OptimistAtomicQueue2, 5,i: 10,448,435 msg/sec OptimistAtomicQueue2, 6,s: 12,715,162 msg/sec OptimistAtomicQueue2, 6,i: 13,539,912 msg/sec OptimistAtomicQueue2, 7,s: 13,274,681 msg/sec OptimistAtomicQueue2, 7,i: 13,698,051 msg/sec OptimistAtomicQueue2, 8,s: 10,608,762 msg/sec OptimistAtomicQueue2, 8,i: 10,776,560 msg/sec OptimistAtomicQueue2, 9,s: 10,741,270 msg/sec OptimistAtomicQueue2, 9,i: 9,652,202 msg/sec OptimistAtomicQueue2,10,s: 10,306,208 msg/sec OptimistAtomicQueue2,10,i: 10,287,706 msg/sec OptimistAtomicQueue2,11,s: 10,406,270 msg/sec OptimistAtomicQueue2,11,i: 10,083,565 msg/sec OptimistAtomicQueue2,12,s: 10,263,794 msg/sec OptimistAtomicQueue2,12,i: 10,259,903 msg/sec OptimistAtomicQueue2,13,s: 9,487,454 msg/sec OptimistAtomicQueue2,13,i: 10,387,019 msg/sec OptimistAtomicQueue2,14,s: 8,610,201 msg/sec OptimistAtomicQueue2,14,i: 10,344,464 msg/sec OptimistAtomicQueueB2, 1,s: 25,217,699 msg/sec OptimistAtomicQueueB2, 1,i: 25,478,767 msg/sec OptimistAtomicQueueB2, 2,s: 7,799,300 msg/sec OptimistAtomicQueueB2, 2,i: 10,687,293 msg/sec OptimistAtomicQueueB2, 3,s: 9,818,840 msg/sec OptimistAtomicQueueB2, 3,i: 10,585,800 msg/sec OptimistAtomicQueueB2, 4,s: 8,226,075 msg/sec OptimistAtomicQueueB2, 4,i: 8,726,053 msg/sec OptimistAtomicQueueB2, 5,s: 11,517,269 msg/sec OptimistAtomicQueueB2, 5,i: 12,533,175 msg/sec OptimistAtomicQueueB2, 6,s: 12,036,049 msg/sec OptimistAtomicQueueB2, 6,i: 12,271,615 msg/sec OptimistAtomicQueueB2, 7,s: 12,271,751 msg/sec OptimistAtomicQueueB2, 7,i: 12,494,386 msg/sec OptimistAtomicQueueB2, 8,s: 9,803,257 msg/sec OptimistAtomicQueueB2, 8,i: 10,474,173 msg/sec OptimistAtomicQueueB2, 9,s: 9,918,586 msg/sec OptimistAtomicQueueB2, 9,i: 10,106,925 msg/sec OptimistAtomicQueueB2,10,s: 10,222,053 msg/sec OptimistAtomicQueueB2,10,i: 10,550,756 msg/sec OptimistAtomicQueueB2,11,s: 10,145,728 msg/sec OptimistAtomicQueueB2,11,i: 10,522,760 msg/sec OptimistAtomicQueueB2,12,s: 10,032,624 msg/sec OptimistAtomicQueueB2,12,i: 10,286,490 msg/sec OptimistAtomicQueueB2,13,s: 9,104,903 msg/sec OptimistAtomicQueueB2,13,i: 10,452,967 msg/sec OptimistAtomicQueueB2,14,s: 8,399,478 msg/sec OptimistAtomicQueueB2,14,i: 10,414,430 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000303 sec/round-trip boost::lockfree::queue: 0.000000805 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000285 sec/round-trip moodycamel::ConcurrentQueue: 0.000000463 sec/round-trip pthread_spinlock: 0.000000637 sec/round-trip std::mutex: 0.000002212 sec/round-trip tbb::spin_mutex: 0.000000650 sec/round-trip tbb::concurrent_bounded_queue: 0.000000607 sec/round-trip xenium::michael_scott_queue: 0.000000753 sec/round-trip xenium::ramalhete_queue: 0.000000500 sec/round-trip xenium::vyukov_bounded_queue: 0.000000444 sec/round-trip AtomicQueue: 0.000000268 sec/round-trip AtomicQueueB: 0.000000371 sec/round-trip OptimistAtomicQueue: 0.000000306 sec/round-trip OptimistAtomicQueueB: 0.000000337 sec/round-trip AtomicQueue2: 0.000000331 sec/round-trip AtomicQueueB2: 0.000000418 sec/round-trip OptimistAtomicQueue2: 0.000000337 sec/round-trip OptimistAtomicQueueB2: 0.000000348 sec/round-trip [8/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 28,413,351 msg/sec boost::lockfree::spsc_queue, 1,i: 27,979,082 msg/sec boost::lockfree::queue, 1,s: 2,912,874 msg/sec boost::lockfree::queue, 1,i: 2,724,249 msg/sec boost::lockfree::queue, 2,s: 2,459,955 msg/sec boost::lockfree::queue, 2,i: 2,491,684 msg/sec boost::lockfree::queue, 3,s: 2,349,787 msg/sec boost::lockfree::queue, 3,i: 2,350,910 msg/sec boost::lockfree::queue, 4,s: 2,223,499 msg/sec boost::lockfree::queue, 4,i: 2,141,694 msg/sec boost::lockfree::queue, 5,s: 2,219,583 msg/sec boost::lockfree::queue, 5,i: 2,245,487 msg/sec boost::lockfree::queue, 6,s: 2,039,993 msg/sec boost::lockfree::queue, 6,i: 2,153,656 msg/sec boost::lockfree::queue, 7,s: 2,007,457 msg/sec boost::lockfree::queue, 7,i: 2,073,517 msg/sec boost::lockfree::queue, 8,s: 832,770 msg/sec boost::lockfree::queue, 8,i: 1,141,735 msg/sec boost::lockfree::queue, 9,s: 788,890 msg/sec boost::lockfree::queue, 9,i: 1,037,164 msg/sec boost::lockfree::queue,10,s: 679,221 msg/sec boost::lockfree::queue,10,i: 548,869 msg/sec boost::lockfree::queue,11,s: 694,681 msg/sec boost::lockfree::queue,11,i: 519,761 msg/sec boost::lockfree::queue,12,s: 520,364 msg/sec boost::lockfree::queue,12,i: 511,160 msg/sec boost::lockfree::queue,13,s: 607,473 msg/sec boost::lockfree::queue,13,i: 534,505 msg/sec boost::lockfree::queue,14,s: 486,056 msg/sec boost::lockfree::queue,14,i: 789,696 msg/sec moodycamel::ReaderWriterQueue, 1,s: 232,345,827 msg/sec moodycamel::ReaderWriterQueue, 1,i: 235,212,846 msg/sec moodycamel::ConcurrentQueue, 1,s: 6,906,832 msg/sec moodycamel::ConcurrentQueue, 1,i: 6,936,940 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,731,637 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,518,412 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,476,881 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,040,915 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,802,004 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,019,745 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,890,666 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,830,392 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,121,292 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,991,911 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,200,611 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,831,974 msg/sec moodycamel::ConcurrentQueue, 8,s: 16,361,689 msg/sec moodycamel::ConcurrentQueue, 8,i: 18,526,789 msg/sec moodycamel::ConcurrentQueue, 9,s: 17,789,599 msg/sec moodycamel::ConcurrentQueue, 9,i: 4,767,624 msg/sec moodycamel::ConcurrentQueue,10,s: 5,059,750 msg/sec moodycamel::ConcurrentQueue,10,i: 20,264,075 msg/sec moodycamel::ConcurrentQueue,11,s: 5,025,233 msg/sec moodycamel::ConcurrentQueue,11,i: 5,100,453 msg/sec moodycamel::ConcurrentQueue,12,s: 5,374,922 msg/sec moodycamel::ConcurrentQueue,12,i: 5,347,955 msg/sec moodycamel::ConcurrentQueue,13,s: 25,507,081 msg/sec moodycamel::ConcurrentQueue,13,i: 5,706,508 msg/sec moodycamel::ConcurrentQueue,14,s: 21,880,481 msg/sec moodycamel::ConcurrentQueue,14,i: 5,664,445 msg/sec pthread_spinlock, 1,s: 6,058,120 msg/sec pthread_spinlock, 1,i: 5,965,537 msg/sec pthread_spinlock, 2,s: 4,374,464 msg/sec pthread_spinlock, 2,i: 4,204,326 msg/sec pthread_spinlock, 3,s: 2,604,550 msg/sec pthread_spinlock, 3,i: 3,393,335 msg/sec pthread_spinlock, 4,s: 2,824,343 msg/sec pthread_spinlock, 4,i: 2,713,111 msg/sec pthread_spinlock, 5,s: 2,541,391 msg/sec pthread_spinlock, 5,i: 2,492,257 msg/sec pthread_spinlock, 6,s: 1,994,305 msg/sec pthread_spinlock, 6,i: 1,962,915 msg/sec pthread_spinlock, 7,s: 1,923,093 msg/sec pthread_spinlock, 7,i: 1,589,962 msg/sec pthread_spinlock, 8,s: 736,690 msg/sec pthread_spinlock, 8,i: 980,348 msg/sec pthread_spinlock, 9,s: 545,596 msg/sec pthread_spinlock, 9,i: 1,036,818 msg/sec pthread_spinlock,10,s: 539,522 msg/sec pthread_spinlock,10,i: 513,567 msg/sec pthread_spinlock,11,s: 543,209 msg/sec pthread_spinlock,11,i: 534,845 msg/sec pthread_spinlock,12,s: 533,990 msg/sec pthread_spinlock,12,i: 686,251 msg/sec pthread_spinlock,13,s: 502,706 msg/sec pthread_spinlock,13,i: 820,609 msg/sec pthread_spinlock,14,s: 555,316 msg/sec pthread_spinlock,14,i: 503,367 msg/sec std::mutex, 1,s: 5,175,742 msg/sec std::mutex, 1,i: 6,110,856 msg/sec std::mutex, 2,s: 4,395,537 msg/sec std::mutex, 2,i: 4,189,518 msg/sec std::mutex, 3,s: 3,011,160 msg/sec std::mutex, 3,i: 2,945,193 msg/sec std::mutex, 4,s: 2,887,765 msg/sec std::mutex, 4,i: 2,772,304 msg/sec std::mutex, 5,s: 3,531,471 msg/sec std::mutex, 5,i: 3,505,709 msg/sec std::mutex, 6,s: 4,492,680 msg/sec std::mutex, 6,i: 4,735,232 msg/sec std::mutex, 7,s: 6,050,673 msg/sec std::mutex, 7,i: 5,982,941 msg/sec std::mutex, 8,s: 6,418,502 msg/sec std::mutex, 8,i: 5,474,822 msg/sec std::mutex, 9,s: 5,990,312 msg/sec std::mutex, 9,i: 4,902,812 msg/sec std::mutex,10,s: 5,721,356 msg/sec std::mutex,10,i: 4,629,476 msg/sec std::mutex,11,s: 5,700,595 msg/sec std::mutex,11,i: 4,751,589 msg/sec std::mutex,12,s: 5,817,078 msg/sec std::mutex,12,i: 4,936,919 msg/sec std::mutex,13,s: 5,920,492 msg/sec std::mutex,13,i: 5,072,502 msg/sec std::mutex,14,s: 6,020,004 msg/sec std::mutex,14,i: 5,151,645 msg/sec tbb::spin_mutex, 1,s: 23,992,313 msg/sec tbb::spin_mutex, 1,i: 24,409,412 msg/sec tbb::spin_mutex, 2,s: 7,466,066 msg/sec tbb::spin_mutex, 2,i: 11,804,735 msg/sec tbb::spin_mutex, 3,s: 8,063,144 msg/sec tbb::spin_mutex, 3,i: 7,244,512 msg/sec tbb::spin_mutex, 4,s: 4,323,964 msg/sec tbb::spin_mutex, 4,i: 3,503,017 msg/sec tbb::spin_mutex, 5,s: 4,079,007 msg/sec tbb::spin_mutex, 5,i: 4,615,732 msg/sec tbb::spin_mutex, 6,s: 2,391,981 msg/sec tbb::spin_mutex, 6,i: 3,210,803 msg/sec tbb::spin_mutex, 7,s: 2,450,570 msg/sec tbb::spin_mutex, 7,i: 2,450,907 msg/sec tbb::spin_mutex, 8,s: 1,373,240 msg/sec tbb::spin_mutex, 8,i: 1,278,605 msg/sec tbb::spin_mutex, 9,s: 781,206 msg/sec tbb::spin_mutex, 9,i: 815,305 msg/sec tbb::spin_mutex,10,s: 690,142 msg/sec tbb::spin_mutex,10,i: 754,817 msg/sec tbb::spin_mutex,11,s: 534,254 msg/sec tbb::spin_mutex,11,i: 588,952 msg/sec tbb::spin_mutex,12,s: 328,981 msg/sec tbb::spin_mutex,12,i: 626,771 msg/sec tbb::spin_mutex,13,s: 507,956 msg/sec tbb::spin_mutex,13,i: 558,339 msg/sec tbb::spin_mutex,14,s: 436,334 msg/sec tbb::spin_mutex,14,i: 378,340 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,622,111 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,702,085 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,537,892 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,566,762 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,157,315 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,104,782 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,246,006 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,649,956 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,195,794 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,224,627 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,576,157 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,751,173 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,485,454 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,654,531 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,325,831 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,902,426 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,299,469 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,412,663 msg/sec tbb::concurrent_bounded_queue,10,s: 1,183,514 msg/sec tbb::concurrent_bounded_queue,10,i: 1,282,224 msg/sec tbb::concurrent_bounded_queue,11,s: 1,300,805 msg/sec tbb::concurrent_bounded_queue,11,i: 1,276,791 msg/sec tbb::concurrent_bounded_queue,12,s: 1,107,969 msg/sec tbb::concurrent_bounded_queue,12,i: 1,257,478 msg/sec tbb::concurrent_bounded_queue,13,s: 1,309,249 msg/sec tbb::concurrent_bounded_queue,13,i: 1,138,724 msg/sec tbb::concurrent_bounded_queue,14,s: 772,808 msg/sec tbb::concurrent_bounded_queue,14,i: 1,098,743 msg/sec xenium::michael_scott_queue, 1,s: 3,587,769 msg/sec xenium::michael_scott_queue, 1,i: 3,704,007 msg/sec xenium::michael_scott_queue, 2,s: 2,353,489 msg/sec xenium::michael_scott_queue, 2,i: 2,757,977 msg/sec xenium::michael_scott_queue, 3,s: 2,288,636 msg/sec xenium::michael_scott_queue, 3,i: 2,243,830 msg/sec xenium::michael_scott_queue, 4,s: 1,978,098 msg/sec xenium::michael_scott_queue, 4,i: 2,193,114 msg/sec xenium::michael_scott_queue, 5,s: 1,844,087 msg/sec xenium::michael_scott_queue, 5,i: 1,906,081 msg/sec xenium::michael_scott_queue, 6,s: 1,782,997 msg/sec xenium::michael_scott_queue, 6,i: 1,746,504 msg/sec xenium::michael_scott_queue, 7,s: 1,635,234 msg/sec xenium::michael_scott_queue, 7,i: 1,733,852 msg/sec xenium::michael_scott_queue, 8,s: 549,482 msg/sec xenium::michael_scott_queue, 8,i: 1,343,064 msg/sec xenium::michael_scott_queue, 9,s: 939,466 msg/sec xenium::michael_scott_queue, 9,i: 509,299 msg/sec xenium::michael_scott_queue,10,s: 503,153 msg/sec xenium::michael_scott_queue,10,i: 504,992 msg/sec xenium::michael_scott_queue,11,s: 535,446 msg/sec xenium::michael_scott_queue,11,i: 752,080 msg/sec xenium::michael_scott_queue,12,s: 513,380 msg/sec xenium::michael_scott_queue,12,i: 503,939 msg/sec xenium::michael_scott_queue,13,s: 528,612 msg/sec xenium::michael_scott_queue,13,i: 503,782 msg/sec xenium::michael_scott_queue,14,s: 534,159 msg/sec xenium::michael_scott_queue,14,i: 503,441 msg/sec xenium::ramalhete_queue, 1,s: 6,814,553 msg/sec xenium::ramalhete_queue, 1,i: 6,763,761 msg/sec xenium::ramalhete_queue, 2,s: 6,853,643 msg/sec xenium::ramalhete_queue, 2,i: 6,987,681 msg/sec xenium::ramalhete_queue, 3,s: 6,407,423 msg/sec xenium::ramalhete_queue, 3,i: 7,483,694 msg/sec xenium::ramalhete_queue, 4,s: 7,077,154 msg/sec xenium::ramalhete_queue, 4,i: 7,506,274 msg/sec xenium::ramalhete_queue, 5,s: 7,563,949 msg/sec xenium::ramalhete_queue, 5,i: 8,380,030 msg/sec xenium::ramalhete_queue, 6,s: 8,048,958 msg/sec xenium::ramalhete_queue, 6,i: 8,319,635 msg/sec xenium::ramalhete_queue, 7,s: 8,103,363 msg/sec xenium::ramalhete_queue, 7,i: 11,128,627 msg/sec xenium::ramalhete_queue, 8,s: 7,168,812 msg/sec xenium::ramalhete_queue, 8,i: 8,397,283 msg/sec xenium::ramalhete_queue, 9,s: 8,505,487 msg/sec xenium::ramalhete_queue, 9,i: 8,345,713 msg/sec xenium::ramalhete_queue,10,s: 7,903,645 msg/sec xenium::ramalhete_queue,10,i: 7,562,364 msg/sec xenium::ramalhete_queue,11,s: 7,939,188 msg/sec xenium::ramalhete_queue,11,i: 8,233,956 msg/sec xenium::ramalhete_queue,12,s: 8,324,582 msg/sec xenium::ramalhete_queue,12,i: 8,415,390 msg/sec xenium::ramalhete_queue,13,s: 9,319,160 msg/sec xenium::ramalhete_queue,13,i: 8,207,173 msg/sec xenium::ramalhete_queue,14,s: 10,219,091 msg/sec xenium::ramalhete_queue,14,i: 7,987,100 msg/sec xenium::vyukov_bounded_queue, 1,s: 30,637,622 msg/sec xenium::vyukov_bounded_queue, 1,i: 44,619,254 msg/sec xenium::vyukov_bounded_queue, 2,s: 3,698,951 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,486,067 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,431,933 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,749,454 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,701,910 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,947,790 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,422,492 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,616,159 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,383,761 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,163,299 msg/sec xenium::vyukov_bounded_queue, 7,s: 2,987,302 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,242,623 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,436,799 msg/sec xenium::vyukov_bounded_queue, 8,i: 1,627,194 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,287,777 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,720,639 msg/sec xenium::vyukov_bounded_queue,10,s: 1,133,045 msg/sec xenium::vyukov_bounded_queue,10,i: 1,481,803 msg/sec xenium::vyukov_bounded_queue,11,s: 1,215,724 msg/sec xenium::vyukov_bounded_queue,11,i: 998,866 msg/sec xenium::vyukov_bounded_queue,12,s: 494,928 msg/sec xenium::vyukov_bounded_queue,12,i: 1,075,988 msg/sec xenium::vyukov_bounded_queue,13,s: 938,218 msg/sec xenium::vyukov_bounded_queue,13,i: 510,781 msg/sec xenium::vyukov_bounded_queue,14,s: 500,138 msg/sec xenium::vyukov_bounded_queue,14,i: 1,097,710 msg/sec AtomicQueue, 1,s: 35,174,444 msg/sec AtomicQueue, 1,i: 24,830,992 msg/sec AtomicQueue, 2,s: 3,202,278 msg/sec AtomicQueue, 2,i: 4,209,248 msg/sec AtomicQueue, 3,s: 2,747,593 msg/sec AtomicQueue, 3,i: 2,581,337 msg/sec AtomicQueue, 4,s: 2,462,913 msg/sec AtomicQueue, 4,i: 2,411,119 msg/sec AtomicQueue, 5,s: 2,142,040 msg/sec AtomicQueue, 5,i: 2,143,587 msg/sec AtomicQueue, 6,s: 1,864,534 msg/sec AtomicQueue, 6,i: 1,953,862 msg/sec AtomicQueue, 7,s: 1,645,785 msg/sec AtomicQueue, 7,i: 1,716,832 msg/sec AtomicQueue, 8,s: 1,466,724 msg/sec AtomicQueue, 8,i: 1,580,986 msg/sec AtomicQueue, 9,s: 1,014,865 msg/sec AtomicQueue, 9,i: 1,170,906 msg/sec AtomicQueue,10,s: 1,031,559 msg/sec AtomicQueue,10,i: 906,180 msg/sec AtomicQueue,11,s: 497,226 msg/sec AtomicQueue,11,i: 519,609 msg/sec AtomicQueue,12,s: 472,731 msg/sec AtomicQueue,12,i: 516,858 msg/sec AtomicQueue,13,s: 747,141 msg/sec AtomicQueue,13,i: 528,722 msg/sec AtomicQueue,14,s: 676,768 msg/sec AtomicQueue,14,i: 508,474 msg/sec AtomicQueueB, 1,s: 21,089,399 msg/sec AtomicQueueB, 1,i: 19,590,425 msg/sec AtomicQueueB, 2,s: 3,331,927 msg/sec AtomicQueueB, 2,i: 3,859,532 msg/sec AtomicQueueB, 3,s: 2,617,359 msg/sec AtomicQueueB, 3,i: 2,822,382 msg/sec AtomicQueueB, 4,s: 2,598,935 msg/sec AtomicQueueB, 4,i: 2,673,456 msg/sec AtomicQueueB, 5,s: 2,305,764 msg/sec AtomicQueueB, 5,i: 2,361,843 msg/sec AtomicQueueB, 6,s: 2,096,249 msg/sec AtomicQueueB, 6,i: 2,047,218 msg/sec AtomicQueueB, 7,s: 1,634,700 msg/sec AtomicQueueB, 7,i: 1,772,309 msg/sec AtomicQueueB, 8,s: 522,788 msg/sec AtomicQueueB, 8,i: 1,271,180 msg/sec AtomicQueueB, 9,s: 676,014 msg/sec AtomicQueueB, 9,i: 1,100,815 msg/sec AtomicQueueB,10,s: 853,954 msg/sec AtomicQueueB,10,i: 511,579 msg/sec AtomicQueueB,11,s: 500,152 msg/sec AtomicQueueB,11,i: 516,002 msg/sec AtomicQueueB,12,s: 500,208 msg/sec AtomicQueueB,12,i: 512,684 msg/sec AtomicQueueB,13,s: 515,668 msg/sec AtomicQueueB,13,i: 515,498 msg/sec AtomicQueueB,14,s: 510,400 msg/sec AtomicQueueB,14,i: 526,295 msg/sec OptimistAtomicQueue, 1,s: 120,973,107 msg/sec OptimistAtomicQueue, 1,i: 105,661,308 msg/sec OptimistAtomicQueue, 2,s: 7,944,785 msg/sec OptimistAtomicQueue, 2,i: 7,518,154 msg/sec OptimistAtomicQueue, 3,s: 8,862,889 msg/sec OptimistAtomicQueue, 3,i: 12,587,667 msg/sec OptimistAtomicQueue, 4,s: 11,847,619 msg/sec OptimistAtomicQueue, 4,i: 12,451,887 msg/sec OptimistAtomicQueue, 5,s: 11,408,938 msg/sec OptimistAtomicQueue, 5,i: 12,590,311 msg/sec OptimistAtomicQueue, 6,s: 13,666,306 msg/sec OptimistAtomicQueue, 6,i: 13,925,541 msg/sec OptimistAtomicQueue, 7,s: 14,314,352 msg/sec OptimistAtomicQueue, 7,i: 14,175,193 msg/sec OptimistAtomicQueue, 8,s: 10,649,169 msg/sec OptimistAtomicQueue, 8,i: 10,630,406 msg/sec OptimistAtomicQueue, 9,s: 10,238,063 msg/sec OptimistAtomicQueue, 9,i: 10,079,638 msg/sec OptimistAtomicQueue,10,s: 10,314,469 msg/sec OptimistAtomicQueue,10,i: 10,091,370 msg/sec OptimistAtomicQueue,11,s: 10,587,384 msg/sec OptimistAtomicQueue,11,i: 10,476,571 msg/sec OptimistAtomicQueue,12,s: 9,771,497 msg/sec OptimistAtomicQueue,12,i: 10,436,572 msg/sec OptimistAtomicQueue,13,s: 9,429,914 msg/sec OptimistAtomicQueue,13,i: 10,385,667 msg/sec OptimistAtomicQueue,14,s: 9,020,284 msg/sec OptimistAtomicQueue,14,i: 10,197,717 msg/sec OptimistAtomicQueueB, 1,s: 25,817,739 msg/sec OptimistAtomicQueueB, 1,i: 25,699,986 msg/sec OptimistAtomicQueueB, 2,s: 9,300,289 msg/sec OptimistAtomicQueueB, 2,i: 9,437,476 msg/sec OptimistAtomicQueueB, 3,s: 10,054,610 msg/sec OptimistAtomicQueueB, 3,i: 8,836,429 msg/sec OptimistAtomicQueueB, 4,s: 8,849,188 msg/sec OptimistAtomicQueueB, 4,i: 9,753,832 msg/sec OptimistAtomicQueueB, 5,s: 11,051,987 msg/sec OptimistAtomicQueueB, 5,i: 10,402,417 msg/sec OptimistAtomicQueueB, 6,s: 12,859,881 msg/sec OptimistAtomicQueueB, 6,i: 13,161,253 msg/sec OptimistAtomicQueueB, 7,s: 13,548,691 msg/sec OptimistAtomicQueueB, 7,i: 12,739,948 msg/sec OptimistAtomicQueueB, 8,s: 10,262,709 msg/sec OptimistAtomicQueueB, 8,i: 10,506,851 msg/sec OptimistAtomicQueueB, 9,s: 9,867,778 msg/sec OptimistAtomicQueueB, 9,i: 10,397,897 msg/sec OptimistAtomicQueueB,10,s: 10,296,990 msg/sec OptimistAtomicQueueB,10,i: 10,630,830 msg/sec OptimistAtomicQueueB,11,s: 10,555,659 msg/sec OptimistAtomicQueueB,11,i: 10,797,416 msg/sec OptimistAtomicQueueB,12,s: 10,254,888 msg/sec OptimistAtomicQueueB,12,i: 10,534,536 msg/sec OptimistAtomicQueueB,13,s: 9,623,302 msg/sec OptimistAtomicQueueB,13,i: 10,537,663 msg/sec OptimistAtomicQueueB,14,s: 8,715,934 msg/sec OptimistAtomicQueueB,14,i: 10,676,893 msg/sec AtomicQueue2, 1,s: 8,351,708 msg/sec AtomicQueue2, 1,i: 8,357,217 msg/sec AtomicQueue2, 2,s: 2,846,249 msg/sec AtomicQueue2, 2,i: 3,702,137 msg/sec AtomicQueue2, 3,s: 2,431,119 msg/sec AtomicQueue2, 3,i: 2,891,479 msg/sec AtomicQueue2, 4,s: 2,333,170 msg/sec AtomicQueue2, 4,i: 2,654,808 msg/sec AtomicQueue2, 5,s: 2,031,076 msg/sec AtomicQueue2, 5,i: 2,139,108 msg/sec AtomicQueue2, 6,s: 1,983,948 msg/sec AtomicQueue2, 6,i: 1,804,619 msg/sec AtomicQueue2, 7,s: 1,799,356 msg/sec AtomicQueue2, 7,i: 1,822,614 msg/sec AtomicQueue2, 8,s: 1,054,447 msg/sec AtomicQueue2, 8,i: 1,623,276 msg/sec AtomicQueue2, 9,s: 1,220,734 msg/sec AtomicQueue2, 9,i: 1,237,607 msg/sec AtomicQueue2,10,s: 695,948 msg/sec AtomicQueue2,10,i: 501,175 msg/sec AtomicQueue2,11,s: 500,142 msg/sec AtomicQueue2,11,i: 513,526 msg/sec AtomicQueue2,12,s: 526,259 msg/sec AtomicQueue2,12,i: 514,907 msg/sec AtomicQueue2,13,s: 505,237 msg/sec AtomicQueue2,13,i: 503,750 msg/sec AtomicQueue2,14,s: 544,557 msg/sec AtomicQueue2,14,i: 507,740 msg/sec AtomicQueueB2, 1,s: 9,033,726 msg/sec AtomicQueueB2, 1,i: 11,298,367 msg/sec AtomicQueueB2, 2,s: 2,866,217 msg/sec AtomicQueueB2, 2,i: 3,002,529 msg/sec AtomicQueueB2, 3,s: 2,351,790 msg/sec AtomicQueueB2, 3,i: 2,655,695 msg/sec AtomicQueueB2, 4,s: 2,381,317 msg/sec AtomicQueueB2, 4,i: 2,714,817 msg/sec AtomicQueueB2, 5,s: 2,052,941 msg/sec AtomicQueueB2, 5,i: 2,338,510 msg/sec AtomicQueueB2, 6,s: 2,219,699 msg/sec AtomicQueueB2, 6,i: 2,104,923 msg/sec AtomicQueueB2, 7,s: 1,894,045 msg/sec AtomicQueueB2, 7,i: 1,801,423 msg/sec AtomicQueueB2, 8,s: 899,433 msg/sec AtomicQueueB2, 8,i: 1,383,618 msg/sec AtomicQueueB2, 9,s: 613,724 msg/sec AtomicQueueB2, 9,i: 1,119,618 msg/sec AtomicQueueB2,10,s: 799,492 msg/sec AtomicQueueB2,10,i: 1,062,752 msg/sec AtomicQueueB2,11,s: 558,530 msg/sec AtomicQueueB2,11,i: 830,159 msg/sec AtomicQueueB2,12,s: 548,423 msg/sec AtomicQueueB2,12,i: 534,199 msg/sec AtomicQueueB2,13,s: 509,168 msg/sec AtomicQueueB2,13,i: 724,319 msg/sec AtomicQueueB2,14,s: 536,821 msg/sec AtomicQueueB2,14,i: 796,084 msg/sec OptimistAtomicQueue2, 1,s: 84,387,424 msg/sec OptimistAtomicQueue2, 1,i: 145,066,343 msg/sec OptimistAtomicQueue2, 2,s: 8,663,615 msg/sec OptimistAtomicQueue2, 2,i: 9,546,663 msg/sec OptimistAtomicQueue2, 3,s: 7,954,318 msg/sec OptimistAtomicQueue2, 3,i: 10,344,503 msg/sec OptimistAtomicQueue2, 4,s: 12,046,807 msg/sec OptimistAtomicQueue2, 4,i: 11,625,336 msg/sec OptimistAtomicQueue2, 5,s: 8,740,823 msg/sec OptimistAtomicQueue2, 5,i: 8,969,563 msg/sec OptimistAtomicQueue2, 6,s: 12,000,155 msg/sec OptimistAtomicQueue2, 6,i: 13,010,659 msg/sec OptimistAtomicQueue2, 7,s: 12,988,373 msg/sec OptimistAtomicQueue2, 7,i: 12,229,586 msg/sec OptimistAtomicQueue2, 8,s: 10,074,239 msg/sec OptimistAtomicQueue2, 8,i: 10,101,789 msg/sec OptimistAtomicQueue2, 9,s: 9,881,460 msg/sec OptimistAtomicQueue2, 9,i: 9,737,752 msg/sec OptimistAtomicQueue2,10,s: 10,148,000 msg/sec OptimistAtomicQueue2,10,i: 9,575,927 msg/sec OptimistAtomicQueue2,11,s: 9,798,677 msg/sec OptimistAtomicQueue2,11,i: 9,886,794 msg/sec OptimistAtomicQueue2,12,s: 10,140,088 msg/sec OptimistAtomicQueue2,12,i: 9,899,165 msg/sec OptimistAtomicQueue2,13,s: 9,445,320 msg/sec OptimistAtomicQueue2,13,i: 10,328,828 msg/sec OptimistAtomicQueue2,14,s: 8,460,704 msg/sec OptimistAtomicQueue2,14,i: 10,087,316 msg/sec OptimistAtomicQueueB2, 1,s: 11,449,784 msg/sec OptimistAtomicQueueB2, 1,i: 11,400,233 msg/sec OptimistAtomicQueueB2, 2,s: 6,780,600 msg/sec OptimistAtomicQueueB2, 2,i: 10,381,831 msg/sec OptimistAtomicQueueB2, 3,s: 11,818,822 msg/sec OptimistAtomicQueueB2, 3,i: 10,486,556 msg/sec OptimistAtomicQueueB2, 4,s: 10,769,910 msg/sec OptimistAtomicQueueB2, 4,i: 11,844,101 msg/sec OptimistAtomicQueueB2, 5,s: 12,040,481 msg/sec OptimistAtomicQueueB2, 5,i: 11,608,161 msg/sec OptimistAtomicQueueB2, 6,s: 11,821,794 msg/sec OptimistAtomicQueueB2, 6,i: 12,387,937 msg/sec OptimistAtomicQueueB2, 7,s: 12,665,368 msg/sec OptimistAtomicQueueB2, 7,i: 13,152,529 msg/sec OptimistAtomicQueueB2, 8,s: 9,417,093 msg/sec OptimistAtomicQueueB2, 8,i: 9,949,932 msg/sec OptimistAtomicQueueB2, 9,s: 9,624,698 msg/sec OptimistAtomicQueueB2, 9,i: 9,435,102 msg/sec OptimistAtomicQueueB2,10,s: 9,866,970 msg/sec OptimistAtomicQueueB2,10,i: 9,600,802 msg/sec OptimistAtomicQueueB2,11,s: 9,995,659 msg/sec OptimistAtomicQueueB2,11,i: 9,998,300 msg/sec OptimistAtomicQueueB2,12,s: 9,732,087 msg/sec OptimistAtomicQueueB2,12,i: 9,807,258 msg/sec OptimistAtomicQueueB2,13,s: 8,362,441 msg/sec OptimistAtomicQueueB2,13,i: 9,548,427 msg/sec OptimistAtomicQueueB2,14,s: 7,822,476 msg/sec OptimistAtomicQueueB2,14,i: 9,860,730 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000507 sec/round-trip boost::lockfree::queue: 0.000001071 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000394 sec/round-trip moodycamel::ConcurrentQueue: 0.000000686 sec/round-trip pthread_spinlock: 0.000001111 sec/round-trip std::mutex: 0.000003033 sec/round-trip tbb::spin_mutex: 0.000000897 sec/round-trip tbb::concurrent_bounded_queue: 0.000000902 sec/round-trip xenium::michael_scott_queue: 0.000001227 sec/round-trip xenium::ramalhete_queue: 0.000000788 sec/round-trip xenium::vyukov_bounded_queue: 0.000000653 sec/round-trip AtomicQueue: 0.000000462 sec/round-trip AtomicQueueB: 0.000000555 sec/round-trip OptimistAtomicQueue: 0.000000441 sec/round-trip OptimistAtomicQueueB: 0.000000491 sec/round-trip AtomicQueue2: 0.000000544 sec/round-trip AtomicQueueB2: 0.000000701 sec/round-trip OptimistAtomicQueue2: 0.000000490 sec/round-trip OptimistAtomicQueueB2: 0.000000547 sec/round-trip [9/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 23,046,282 msg/sec boost::lockfree::spsc_queue, 1,i: 23,071,735 msg/sec boost::lockfree::queue, 1,s: 2,696,154 msg/sec boost::lockfree::queue, 1,i: 3,025,072 msg/sec boost::lockfree::queue, 2,s: 2,545,737 msg/sec boost::lockfree::queue, 2,i: 2,516,334 msg/sec boost::lockfree::queue, 3,s: 2,309,771 msg/sec boost::lockfree::queue, 3,i: 2,321,805 msg/sec boost::lockfree::queue, 4,s: 2,229,640 msg/sec boost::lockfree::queue, 4,i: 2,249,611 msg/sec boost::lockfree::queue, 5,s: 2,180,765 msg/sec boost::lockfree::queue, 5,i: 2,022,483 msg/sec boost::lockfree::queue, 6,s: 1,967,158 msg/sec boost::lockfree::queue, 6,i: 1,971,264 msg/sec boost::lockfree::queue, 7,s: 1,968,585 msg/sec boost::lockfree::queue, 7,i: 1,890,730 msg/sec boost::lockfree::queue, 8,s: 675,286 msg/sec boost::lockfree::queue, 8,i: 1,208,798 msg/sec boost::lockfree::queue, 9,s: 517,213 msg/sec boost::lockfree::queue, 9,i: 519,101 msg/sec boost::lockfree::queue,10,s: 570,619 msg/sec boost::lockfree::queue,10,i: 534,437 msg/sec boost::lockfree::queue,11,s: 511,013 msg/sec boost::lockfree::queue,11,i: 514,406 msg/sec boost::lockfree::queue,12,s: 483,550 msg/sec boost::lockfree::queue,12,i: 569,924 msg/sec boost::lockfree::queue,13,s: 507,375 msg/sec boost::lockfree::queue,13,i: 518,257 msg/sec boost::lockfree::queue,14,s: 528,966 msg/sec boost::lockfree::queue,14,i: 702,669 msg/sec moodycamel::ReaderWriterQueue, 1,s: 12,713,140 msg/sec moodycamel::ReaderWriterQueue, 1,i: 18,113,766 msg/sec moodycamel::ConcurrentQueue, 1,s: 8,577,942 msg/sec moodycamel::ConcurrentQueue, 1,i: 7,739,146 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,314,920 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,630,005 msg/sec moodycamel::ConcurrentQueue, 3,s: 6,195,627 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,666,884 msg/sec moodycamel::ConcurrentQueue, 4,s: 11,505,484 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,786,968 msg/sec moodycamel::ConcurrentQueue, 5,s: 6,769,514 msg/sec moodycamel::ConcurrentQueue, 5,i: 16,962,458 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,512,682 msg/sec moodycamel::ConcurrentQueue, 6,i: 7,126,832 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,893,043 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,126,395 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,152,113 msg/sec moodycamel::ConcurrentQueue, 8,i: 6,090,310 msg/sec moodycamel::ConcurrentQueue, 9,s: 11,303,586 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,808,762 msg/sec moodycamel::ConcurrentQueue,10,s: 5,380,259 msg/sec moodycamel::ConcurrentQueue,10,i: 5,441,943 msg/sec moodycamel::ConcurrentQueue,11,s: 5,017,284 msg/sec moodycamel::ConcurrentQueue,11,i: 5,425,161 msg/sec moodycamel::ConcurrentQueue,12,s: 5,484,682 msg/sec moodycamel::ConcurrentQueue,12,i: 5,320,895 msg/sec moodycamel::ConcurrentQueue,13,s: 5,242,744 msg/sec moodycamel::ConcurrentQueue,13,i: 4,923,706 msg/sec moodycamel::ConcurrentQueue,14,s: 6,729,779 msg/sec moodycamel::ConcurrentQueue,14,i: 5,280,031 msg/sec pthread_spinlock, 1,s: 6,315,638 msg/sec pthread_spinlock, 1,i: 5,126,934 msg/sec pthread_spinlock, 2,s: 4,338,411 msg/sec pthread_spinlock, 2,i: 4,266,490 msg/sec pthread_spinlock, 3,s: 3,096,873 msg/sec pthread_spinlock, 3,i: 3,341,849 msg/sec pthread_spinlock, 4,s: 2,880,084 msg/sec pthread_spinlock, 4,i: 2,635,830 msg/sec pthread_spinlock, 5,s: 2,321,117 msg/sec pthread_spinlock, 5,i: 2,149,142 msg/sec pthread_spinlock, 6,s: 1,935,229 msg/sec pthread_spinlock, 6,i: 2,202,251 msg/sec pthread_spinlock, 7,s: 1,970,737 msg/sec pthread_spinlock, 7,i: 1,747,556 msg/sec pthread_spinlock, 8,s: 1,055,012 msg/sec pthread_spinlock, 8,i: 668,668 msg/sec pthread_spinlock, 9,s: 549,416 msg/sec pthread_spinlock, 9,i: 506,224 msg/sec pthread_spinlock,10,s: 915,786 msg/sec pthread_spinlock,10,i: 500,345 msg/sec pthread_spinlock,11,s: 543,821 msg/sec pthread_spinlock,11,i: 532,182 msg/sec pthread_spinlock,12,s: 521,663 msg/sec pthread_spinlock,12,i: 849,693 msg/sec pthread_spinlock,13,s: 629,002 msg/sec pthread_spinlock,13,i: 545,740 msg/sec pthread_spinlock,14,s: 536,898 msg/sec pthread_spinlock,14,i: 535,258 msg/sec std::mutex, 1,s: 5,146,759 msg/sec std::mutex, 1,i: 5,965,199 msg/sec std::mutex, 2,s: 4,549,253 msg/sec std::mutex, 2,i: 4,273,140 msg/sec std::mutex, 3,s: 2,978,882 msg/sec std::mutex, 3,i: 2,832,188 msg/sec std::mutex, 4,s: 2,816,710 msg/sec std::mutex, 4,i: 2,802,916 msg/sec std::mutex, 5,s: 3,540,170 msg/sec std::mutex, 5,i: 3,486,009 msg/sec std::mutex, 6,s: 4,557,973 msg/sec std::mutex, 6,i: 4,644,247 msg/sec std::mutex, 7,s: 5,626,403 msg/sec std::mutex, 7,i: 6,076,118 msg/sec std::mutex, 8,s: 6,933,861 msg/sec std::mutex, 8,i: 5,929,208 msg/sec std::mutex, 9,s: 6,206,530 msg/sec std::mutex, 9,i: 4,860,239 msg/sec std::mutex,10,s: 6,196,980 msg/sec std::mutex,10,i: 4,645,752 msg/sec std::mutex,11,s: 6,108,156 msg/sec std::mutex,11,i: 4,983,861 msg/sec std::mutex,12,s: 6,173,826 msg/sec std::mutex,12,i: 4,928,790 msg/sec std::mutex,13,s: 6,473,295 msg/sec std::mutex,13,i: 5,047,824 msg/sec std::mutex,14,s: 6,865,298 msg/sec std::mutex,14,i: 5,240,939 msg/sec tbb::spin_mutex, 1,s: 21,358,465 msg/sec tbb::spin_mutex, 1,i: 21,443,932 msg/sec tbb::spin_mutex, 2,s: 15,004,044 msg/sec tbb::spin_mutex, 2,i: 13,519,601 msg/sec tbb::spin_mutex, 3,s: 8,834,472 msg/sec tbb::spin_mutex, 3,i: 8,979,679 msg/sec tbb::spin_mutex, 4,s: 6,372,709 msg/sec tbb::spin_mutex, 4,i: 3,908,227 msg/sec tbb::spin_mutex, 5,s: 3,770,574 msg/sec tbb::spin_mutex, 5,i: 5,182,195 msg/sec tbb::spin_mutex, 6,s: 3,629,427 msg/sec tbb::spin_mutex, 6,i: 3,215,105 msg/sec tbb::spin_mutex, 7,s: 2,382,840 msg/sec tbb::spin_mutex, 7,i: 2,397,143 msg/sec tbb::spin_mutex, 8,s: 1,205,559 msg/sec tbb::spin_mutex, 8,i: 1,376,594 msg/sec tbb::spin_mutex, 9,s: 806,892 msg/sec tbb::spin_mutex, 9,i: 722,634 msg/sec tbb::spin_mutex,10,s: 637,597 msg/sec tbb::spin_mutex,10,i: 793,861 msg/sec tbb::spin_mutex,11,s: 609,219 msg/sec tbb::spin_mutex,11,i: 632,037 msg/sec tbb::spin_mutex,12,s: 509,888 msg/sec tbb::spin_mutex,12,i: 599,737 msg/sec tbb::spin_mutex,13,s: 383,437 msg/sec tbb::spin_mutex,13,i: 519,624 msg/sec tbb::spin_mutex,14,s: 381,049 msg/sec tbb::spin_mutex,14,i: 402,658 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,177,476 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,322,355 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,843,729 msg/sec tbb::concurrent_bounded_queue, 2,i: 4,901,231 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,040,923 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,121,747 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,397,602 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,635,436 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,762,217 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,132,465 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,611,004 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,697,722 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,415,205 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,658,313 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,246,641 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,959,008 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,177,457 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,408,035 msg/sec tbb::concurrent_bounded_queue,10,s: 1,235,362 msg/sec tbb::concurrent_bounded_queue,10,i: 1,306,247 msg/sec tbb::concurrent_bounded_queue,11,s: 1,262,319 msg/sec tbb::concurrent_bounded_queue,11,i: 1,252,895 msg/sec tbb::concurrent_bounded_queue,12,s: 1,347,095 msg/sec tbb::concurrent_bounded_queue,12,i: 1,229,179 msg/sec tbb::concurrent_bounded_queue,13,s: 1,246,231 msg/sec tbb::concurrent_bounded_queue,13,i: 1,160,625 msg/sec tbb::concurrent_bounded_queue,14,s: 1,190,180 msg/sec tbb::concurrent_bounded_queue,14,i: 1,086,502 msg/sec xenium::michael_scott_queue, 1,s: 2,313,198 msg/sec xenium::michael_scott_queue, 1,i: 4,202,322 msg/sec xenium::michael_scott_queue, 2,s: 2,795,383 msg/sec xenium::michael_scott_queue, 2,i: 2,625,836 msg/sec xenium::michael_scott_queue, 3,s: 2,344,052 msg/sec xenium::michael_scott_queue, 3,i: 2,387,831 msg/sec xenium::michael_scott_queue, 4,s: 1,989,551 msg/sec xenium::michael_scott_queue, 4,i: 2,362,300 msg/sec xenium::michael_scott_queue, 5,s: 1,747,172 msg/sec xenium::michael_scott_queue, 5,i: 1,960,304 msg/sec xenium::michael_scott_queue, 6,s: 1,766,262 msg/sec xenium::michael_scott_queue, 6,i: 1,839,010 msg/sec xenium::michael_scott_queue, 7,s: 1,635,156 msg/sec xenium::michael_scott_queue, 7,i: 1,772,863 msg/sec xenium::michael_scott_queue, 8,s: 1,028,074 msg/sec xenium::michael_scott_queue, 8,i: 1,206,375 msg/sec xenium::michael_scott_queue, 9,s: 541,853 msg/sec xenium::michael_scott_queue, 9,i: 503,028 msg/sec xenium::michael_scott_queue,10,s: 531,904 msg/sec xenium::michael_scott_queue,10,i: 789,148 msg/sec xenium::michael_scott_queue,11,s: 519,831 msg/sec xenium::michael_scott_queue,11,i: 507,764 msg/sec xenium::michael_scott_queue,12,s: 501,342 msg/sec xenium::michael_scott_queue,12,i: 777,557 msg/sec xenium::michael_scott_queue,13,s: 721,434 msg/sec xenium::michael_scott_queue,13,i: 596,552 msg/sec xenium::michael_scott_queue,14,s: 529,242 msg/sec xenium::michael_scott_queue,14,i: 501,353 msg/sec xenium::ramalhete_queue, 1,s: 3,879,363 msg/sec xenium::ramalhete_queue, 1,i: 15,736,766 msg/sec xenium::ramalhete_queue, 2,s: 6,620,213 msg/sec xenium::ramalhete_queue, 2,i: 6,159,641 msg/sec xenium::ramalhete_queue, 3,s: 6,878,595 msg/sec xenium::ramalhete_queue, 3,i: 7,550,056 msg/sec xenium::ramalhete_queue, 4,s: 7,997,427 msg/sec xenium::ramalhete_queue, 4,i: 7,964,650 msg/sec xenium::ramalhete_queue, 5,s: 8,412,886 msg/sec xenium::ramalhete_queue, 5,i: 8,317,904 msg/sec xenium::ramalhete_queue, 6,s: 8,205,210 msg/sec xenium::ramalhete_queue, 6,i: 8,298,644 msg/sec xenium::ramalhete_queue, 7,s: 8,452,500 msg/sec xenium::ramalhete_queue, 7,i: 8,513,822 msg/sec xenium::ramalhete_queue, 8,s: 7,428,052 msg/sec xenium::ramalhete_queue, 8,i: 8,429,190 msg/sec xenium::ramalhete_queue, 9,s: 8,292,113 msg/sec xenium::ramalhete_queue, 9,i: 8,136,058 msg/sec xenium::ramalhete_queue,10,s: 8,064,064 msg/sec xenium::ramalhete_queue,10,i: 7,940,843 msg/sec xenium::ramalhete_queue,11,s: 7,888,119 msg/sec xenium::ramalhete_queue,11,i: 8,300,590 msg/sec xenium::ramalhete_queue,12,s: 8,023,273 msg/sec xenium::ramalhete_queue,12,i: 8,491,872 msg/sec xenium::ramalhete_queue,13,s: 9,115,907 msg/sec xenium::ramalhete_queue,13,i: 8,525,143 msg/sec xenium::ramalhete_queue,14,s: 9,998,063 msg/sec xenium::ramalhete_queue,14,i: 8,290,876 msg/sec xenium::vyukov_bounded_queue, 1,s: 30,927,418 msg/sec xenium::vyukov_bounded_queue, 1,i: 55,465,772 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,873,638 msg/sec xenium::vyukov_bounded_queue, 2,i: 9,415,733 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,487,271 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,613,106 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,821,391 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,821,081 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,389,903 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,502,145 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,238,527 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,192,362 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,067,272 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,876,328 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,310,476 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,495,727 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,208,160 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,547,228 msg/sec xenium::vyukov_bounded_queue,10,s: 1,082,224 msg/sec xenium::vyukov_bounded_queue,10,i: 1,387,148 msg/sec xenium::vyukov_bounded_queue,11,s: 1,051,235 msg/sec xenium::vyukov_bounded_queue,11,i: 1,183,369 msg/sec xenium::vyukov_bounded_queue,12,s: 1,035,010 msg/sec xenium::vyukov_bounded_queue,12,i: 1,149,893 msg/sec xenium::vyukov_bounded_queue,13,s: 479,926 msg/sec xenium::vyukov_bounded_queue,13,i: 509,553 msg/sec xenium::vyukov_bounded_queue,14,s: 488,537 msg/sec xenium::vyukov_bounded_queue,14,i: 537,577 msg/sec AtomicQueue, 1,s: 10,095,725 msg/sec AtomicQueue, 1,i: 9,751,864 msg/sec AtomicQueue, 2,s: 4,092,831 msg/sec AtomicQueue, 2,i: 4,154,775 msg/sec AtomicQueue, 3,s: 2,568,790 msg/sec AtomicQueue, 3,i: 3,153,972 msg/sec AtomicQueue, 4,s: 2,386,802 msg/sec AtomicQueue, 4,i: 2,452,988 msg/sec AtomicQueue, 5,s: 2,000,160 msg/sec AtomicQueue, 5,i: 2,237,869 msg/sec AtomicQueue, 6,s: 1,985,947 msg/sec AtomicQueue, 6,i: 1,924,633 msg/sec AtomicQueue, 7,s: 1,624,426 msg/sec AtomicQueue, 7,i: 1,716,058 msg/sec AtomicQueue, 8,s: 966,533 msg/sec AtomicQueue, 8,i: 1,446,172 msg/sec AtomicQueue, 9,s: 768,843 msg/sec AtomicQueue, 9,i: 1,145,506 msg/sec AtomicQueue,10,s: 777,743 msg/sec AtomicQueue,10,i: 499,701 msg/sec AtomicQueue,11,s: 772,114 msg/sec AtomicQueue,11,i: 841,827 msg/sec AtomicQueue,12,s: 522,900 msg/sec AtomicQueue,12,i: 516,103 msg/sec AtomicQueue,13,s: 513,578 msg/sec AtomicQueue,13,i: 509,585 msg/sec AtomicQueue,14,s: 525,643 msg/sec AtomicQueue,14,i: 525,309 msg/sec AtomicQueueB, 1,s: 12,338,285 msg/sec AtomicQueueB, 1,i: 13,102,084 msg/sec AtomicQueueB, 2,s: 3,721,829 msg/sec AtomicQueueB, 2,i: 3,207,308 msg/sec AtomicQueueB, 3,s: 2,841,705 msg/sec AtomicQueueB, 3,i: 2,660,303 msg/sec AtomicQueueB, 4,s: 2,256,181 msg/sec AtomicQueueB, 4,i: 2,386,565 msg/sec AtomicQueueB, 5,s: 2,092,832 msg/sec AtomicQueueB, 5,i: 2,153,233 msg/sec AtomicQueueB, 6,s: 1,928,918 msg/sec AtomicQueueB, 6,i: 1,869,463 msg/sec AtomicQueueB, 7,s: 1,676,500 msg/sec AtomicQueueB, 7,i: 1,833,213 msg/sec AtomicQueueB, 8,s: 753,715 msg/sec AtomicQueueB, 8,i: 1,245,527 msg/sec AtomicQueueB, 9,s: 673,006 msg/sec AtomicQueueB, 9,i: 516,611 msg/sec AtomicQueueB,10,s: 502,393 msg/sec AtomicQueueB,10,i: 889,122 msg/sec AtomicQueueB,11,s: 520,031 msg/sec AtomicQueueB,11,i: 522,741 msg/sec AtomicQueueB,12,s: 499,927 msg/sec AtomicQueueB,12,i: 776,049 msg/sec AtomicQueueB,13,s: 512,080 msg/sec AtomicQueueB,13,i: 513,366 msg/sec AtomicQueueB,14,s: 558,096 msg/sec AtomicQueueB,14,i: 513,989 msg/sec OptimistAtomicQueue, 1,s: 191,014,473 msg/sec OptimistAtomicQueue, 1,i: 95,345,329 msg/sec OptimistAtomicQueue, 2,s: 7,690,913 msg/sec OptimistAtomicQueue, 2,i: 11,187,461 msg/sec OptimistAtomicQueue, 3,s: 11,122,924 msg/sec OptimistAtomicQueue, 3,i: 10,762,050 msg/sec OptimistAtomicQueue, 4,s: 10,768,363 msg/sec OptimistAtomicQueue, 4,i: 13,502,160 msg/sec OptimistAtomicQueue, 5,s: 12,021,682 msg/sec OptimistAtomicQueue, 5,i: 10,454,281 msg/sec OptimistAtomicQueue, 6,s: 9,779,642 msg/sec OptimistAtomicQueue, 6,i: 13,544,475 msg/sec OptimistAtomicQueue, 7,s: 14,159,925 msg/sec OptimistAtomicQueue, 7,i: 14,148,752 msg/sec OptimistAtomicQueue, 8,s: 10,294,226 msg/sec OptimistAtomicQueue, 8,i: 11,089,018 msg/sec OptimistAtomicQueue, 9,s: 9,988,839 msg/sec OptimistAtomicQueue, 9,i: 10,460,009 msg/sec OptimistAtomicQueue,10,s: 10,178,023 msg/sec OptimistAtomicQueue,10,i: 10,467,915 msg/sec OptimistAtomicQueue,11,s: 10,510,277 msg/sec OptimistAtomicQueue,11,i: 10,623,958 msg/sec OptimistAtomicQueue,12,s: 10,245,042 msg/sec OptimistAtomicQueue,12,i: 10,441,082 msg/sec OptimistAtomicQueue,13,s: 9,528,071 msg/sec OptimistAtomicQueue,13,i: 9,722,710 msg/sec OptimistAtomicQueue,14,s: 8,889,424 msg/sec OptimistAtomicQueue,14,i: 10,067,551 msg/sec OptimistAtomicQueueB, 1,s: 20,957,983 msg/sec OptimistAtomicQueueB, 1,i: 21,689,135 msg/sec OptimistAtomicQueueB, 2,s: 7,918,458 msg/sec OptimistAtomicQueueB, 2,i: 8,664,366 msg/sec OptimistAtomicQueueB, 3,s: 9,319,029 msg/sec OptimistAtomicQueueB, 3,i: 11,572,152 msg/sec OptimistAtomicQueueB, 4,s: 11,987,920 msg/sec OptimistAtomicQueueB, 4,i: 13,108,758 msg/sec OptimistAtomicQueueB, 5,s: 12,116,200 msg/sec OptimistAtomicQueueB, 5,i: 12,852,874 msg/sec OptimistAtomicQueueB, 6,s: 9,927,830 msg/sec OptimistAtomicQueueB, 6,i: 12,127,322 msg/sec OptimistAtomicQueueB, 7,s: 13,744,907 msg/sec OptimistAtomicQueueB, 7,i: 13,911,046 msg/sec OptimistAtomicQueueB, 8,s: 10,163,349 msg/sec OptimistAtomicQueueB, 8,i: 10,473,994 msg/sec OptimistAtomicQueueB, 9,s: 10,701,978 msg/sec OptimistAtomicQueueB, 9,i: 10,750,727 msg/sec OptimistAtomicQueueB,10,s: 10,480,237 msg/sec OptimistAtomicQueueB,10,i: 10,367,179 msg/sec OptimistAtomicQueueB,11,s: 10,538,057 msg/sec OptimistAtomicQueueB,11,i: 10,735,134 msg/sec OptimistAtomicQueueB,12,s: 10,499,331 msg/sec OptimistAtomicQueueB,12,i: 11,105,559 msg/sec OptimistAtomicQueueB,13,s: 9,848,750 msg/sec OptimistAtomicQueueB,13,i: 10,977,089 msg/sec OptimistAtomicQueueB,14,s: 9,070,468 msg/sec OptimistAtomicQueueB,14,i: 11,070,040 msg/sec AtomicQueue2, 1,s: 8,473,439 msg/sec AtomicQueue2, 1,i: 8,673,554 msg/sec AtomicQueue2, 2,s: 3,230,168 msg/sec AtomicQueue2, 2,i: 3,379,892 msg/sec AtomicQueue2, 3,s: 2,370,797 msg/sec AtomicQueue2, 3,i: 3,132,620 msg/sec AtomicQueue2, 4,s: 2,428,785 msg/sec AtomicQueue2, 4,i: 2,706,207 msg/sec AtomicQueue2, 5,s: 2,161,417 msg/sec AtomicQueue2, 5,i: 2,129,652 msg/sec AtomicQueue2, 6,s: 1,876,976 msg/sec AtomicQueue2, 6,i: 1,882,375 msg/sec AtomicQueue2, 7,s: 1,653,496 msg/sec AtomicQueue2, 7,i: 1,794,790 msg/sec AtomicQueue2, 8,s: 1,518,118 msg/sec AtomicQueue2, 8,i: 1,466,255 msg/sec AtomicQueue2, 9,s: 938,290 msg/sec AtomicQueue2, 9,i: 1,119,426 msg/sec AtomicQueue2,10,s: 1,027,633 msg/sec AtomicQueue2,10,i: 1,097,502 msg/sec AtomicQueue2,11,s: 833,517 msg/sec AtomicQueue2,11,i: 503,184 msg/sec AtomicQueue2,12,s: 491,970 msg/sec AtomicQueue2,12,i: 536,594 msg/sec AtomicQueue2,13,s: 507,410 msg/sec AtomicQueue2,13,i: 520,175 msg/sec AtomicQueue2,14,s: 523,814 msg/sec AtomicQueue2,14,i: 510,597 msg/sec AtomicQueueB2, 1,s: 9,538,814 msg/sec AtomicQueueB2, 1,i: 11,470,808 msg/sec AtomicQueueB2, 2,s: 2,741,293 msg/sec AtomicQueueB2, 2,i: 3,634,629 msg/sec AtomicQueueB2, 3,s: 2,830,121 msg/sec AtomicQueueB2, 3,i: 2,480,655 msg/sec AtomicQueueB2, 4,s: 2,425,236 msg/sec AtomicQueueB2, 4,i: 2,591,717 msg/sec AtomicQueueB2, 5,s: 2,081,449 msg/sec AtomicQueueB2, 5,i: 2,143,878 msg/sec AtomicQueueB2, 6,s: 1,886,104 msg/sec AtomicQueueB2, 6,i: 2,318,698 msg/sec AtomicQueueB2, 7,s: 1,758,884 msg/sec AtomicQueueB2, 7,i: 1,823,733 msg/sec AtomicQueueB2, 8,s: 977,686 msg/sec AtomicQueueB2, 8,i: 1,371,858 msg/sec AtomicQueueB2, 9,s: 710,896 msg/sec AtomicQueueB2, 9,i: 1,110,471 msg/sec AtomicQueueB2,10,s: 863,087 msg/sec AtomicQueueB2,10,i: 515,539 msg/sec AtomicQueueB2,11,s: 546,071 msg/sec AtomicQueueB2,11,i: 508,463 msg/sec AtomicQueueB2,12,s: 516,955 msg/sec AtomicQueueB2,12,i: 516,677 msg/sec AtomicQueueB2,13,s: 498,054 msg/sec AtomicQueueB2,13,i: 526,300 msg/sec AtomicQueueB2,14,s: 524,552 msg/sec AtomicQueueB2,14,i: 527,349 msg/sec OptimistAtomicQueue2, 1,s: 47,096,031 msg/sec OptimistAtomicQueue2, 1,i: 54,472,262 msg/sec OptimistAtomicQueue2, 2,s: 7,254,714 msg/sec OptimistAtomicQueue2, 2,i: 7,511,884 msg/sec OptimistAtomicQueue2, 3,s: 7,655,249 msg/sec OptimistAtomicQueue2, 3,i: 8,682,184 msg/sec OptimistAtomicQueue2, 4,s: 8,768,483 msg/sec OptimistAtomicQueue2, 4,i: 8,847,997 msg/sec OptimistAtomicQueue2, 5,s: 12,466,925 msg/sec OptimistAtomicQueue2, 5,i: 13,003,182 msg/sec OptimistAtomicQueue2, 6,s: 12,119,361 msg/sec OptimistAtomicQueue2, 6,i: 12,778,326 msg/sec OptimistAtomicQueue2, 7,s: 12,608,390 msg/sec OptimistAtomicQueue2, 7,i: 13,184,091 msg/sec OptimistAtomicQueue2, 8,s: 10,135,514 msg/sec OptimistAtomicQueue2, 8,i: 10,364,687 msg/sec OptimistAtomicQueue2, 9,s: 10,093,245 msg/sec OptimistAtomicQueue2, 9,i: 9,442,642 msg/sec OptimistAtomicQueue2,10,s: 10,321,534 msg/sec OptimistAtomicQueue2,10,i: 10,140,061 msg/sec OptimistAtomicQueue2,11,s: 10,482,814 msg/sec OptimistAtomicQueue2,11,i: 10,259,331 msg/sec OptimistAtomicQueue2,12,s: 10,412,244 msg/sec OptimistAtomicQueue2,12,i: 9,821,299 msg/sec OptimistAtomicQueue2,13,s: 9,058,388 msg/sec OptimistAtomicQueue2,13,i: 9,598,297 msg/sec OptimistAtomicQueue2,14,s: 8,285,768 msg/sec OptimistAtomicQueue2,14,i: 10,028,394 msg/sec OptimistAtomicQueueB2, 1,s: 25,033,873 msg/sec OptimistAtomicQueueB2, 1,i: 25,073,927 msg/sec OptimistAtomicQueueB2, 2,s: 10,275,461 msg/sec OptimistAtomicQueueB2, 2,i: 10,872,409 msg/sec OptimistAtomicQueueB2, 3,s: 11,747,202 msg/sec OptimistAtomicQueueB2, 3,i: 9,664,105 msg/sec OptimistAtomicQueueB2, 4,s: 8,185,990 msg/sec OptimistAtomicQueueB2, 4,i: 9,278,499 msg/sec OptimistAtomicQueueB2, 5,s: 11,020,850 msg/sec OptimistAtomicQueueB2, 5,i: 12,055,159 msg/sec OptimistAtomicQueueB2, 6,s: 10,587,947 msg/sec OptimistAtomicQueueB2, 6,i: 12,361,958 msg/sec OptimistAtomicQueueB2, 7,s: 9,199,726 msg/sec OptimistAtomicQueueB2, 7,i: 12,867,344 msg/sec OptimistAtomicQueueB2, 8,s: 9,874,206 msg/sec OptimistAtomicQueueB2, 8,i: 9,940,224 msg/sec OptimistAtomicQueueB2, 9,s: 9,664,073 msg/sec OptimistAtomicQueueB2, 9,i: 9,723,190 msg/sec OptimistAtomicQueueB2,10,s: 9,376,510 msg/sec OptimistAtomicQueueB2,10,i: 9,532,388 msg/sec OptimistAtomicQueueB2,11,s: 8,932,240 msg/sec OptimistAtomicQueueB2,11,i: 9,650,200 msg/sec OptimistAtomicQueueB2,12,s: 9,450,659 msg/sec OptimistAtomicQueueB2,12,i: 9,435,657 msg/sec OptimistAtomicQueueB2,13,s: 8,581,291 msg/sec OptimistAtomicQueueB2,13,i: 9,359,157 msg/sec OptimistAtomicQueueB2,14,s: 7,921,656 msg/sec OptimistAtomicQueueB2,14,i: 9,832,271 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000452 sec/round-trip boost::lockfree::queue: 0.000001064 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000500 sec/round-trip moodycamel::ConcurrentQueue: 0.000000719 sec/round-trip pthread_spinlock: 0.000001384 sec/round-trip std::mutex: 0.000003134 sec/round-trip tbb::spin_mutex: 0.000000967 sec/round-trip tbb::concurrent_bounded_queue: 0.000000913 sec/round-trip xenium::michael_scott_queue: 0.000001228 sec/round-trip xenium::ramalhete_queue: 0.000000803 sec/round-trip xenium::vyukov_bounded_queue: 0.000000668 sec/round-trip AtomicQueue: 0.000000480 sec/round-trip AtomicQueueB: 0.000000569 sec/round-trip OptimistAtomicQueue: 0.000000459 sec/round-trip OptimistAtomicQueueB: 0.000000503 sec/round-trip AtomicQueue2: 0.000000556 sec/round-trip AtomicQueueB2: 0.000000694 sec/round-trip OptimistAtomicQueue2: 0.000000562 sec/round-trip OptimistAtomicQueueB2: 0.000000528 sec/round-trip [10/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 22,598,044 msg/sec boost::lockfree::spsc_queue, 1,i: 22,964,628 msg/sec boost::lockfree::queue, 1,s: 2,939,769 msg/sec boost::lockfree::queue, 1,i: 2,791,763 msg/sec boost::lockfree::queue, 2,s: 2,276,628 msg/sec boost::lockfree::queue, 2,i: 2,444,525 msg/sec boost::lockfree::queue, 3,s: 2,268,245 msg/sec boost::lockfree::queue, 3,i: 2,152,828 msg/sec boost::lockfree::queue, 4,s: 2,211,333 msg/sec boost::lockfree::queue, 4,i: 2,285,383 msg/sec boost::lockfree::queue, 5,s: 2,168,316 msg/sec boost::lockfree::queue, 5,i: 2,270,463 msg/sec boost::lockfree::queue, 6,s: 1,924,440 msg/sec boost::lockfree::queue, 6,i: 2,182,324 msg/sec boost::lockfree::queue, 7,s: 2,028,569 msg/sec boost::lockfree::queue, 7,i: 2,079,479 msg/sec boost::lockfree::queue, 8,s: 650,536 msg/sec boost::lockfree::queue, 8,i: 1,334,455 msg/sec boost::lockfree::queue, 9,s: 702,304 msg/sec boost::lockfree::queue, 9,i: 512,704 msg/sec boost::lockfree::queue,10,s: 674,496 msg/sec boost::lockfree::queue,10,i: 853,739 msg/sec boost::lockfree::queue,11,s: 666,748 msg/sec boost::lockfree::queue,11,i: 513,756 msg/sec boost::lockfree::queue,12,s: 757,798 msg/sec boost::lockfree::queue,12,i: 517,665 msg/sec boost::lockfree::queue,13,s: 484,741 msg/sec boost::lockfree::queue,13,i: 749,920 msg/sec boost::lockfree::queue,14,s: 503,496 msg/sec boost::lockfree::queue,14,i: 506,274 msg/sec moodycamel::ReaderWriterQueue, 1,s: 15,545,610 msg/sec moodycamel::ReaderWriterQueue, 1,i: 18,884,018 msg/sec moodycamel::ConcurrentQueue, 1,s: 8,505,142 msg/sec moodycamel::ConcurrentQueue, 1,i: 6,985,961 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,898,851 msg/sec moodycamel::ConcurrentQueue, 2,i: 7,440,008 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,430,843 msg/sec moodycamel::ConcurrentQueue, 3,i: 7,015,353 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,930,329 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,328,840 msg/sec moodycamel::ConcurrentQueue, 5,s: 15,748,766 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,076,358 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,037,612 msg/sec moodycamel::ConcurrentQueue, 6,i: 5,822,626 msg/sec moodycamel::ConcurrentQueue, 7,s: 5,584,805 msg/sec moodycamel::ConcurrentQueue, 7,i: 5,989,404 msg/sec moodycamel::ConcurrentQueue, 8,s: 8,469,984 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,840,347 msg/sec moodycamel::ConcurrentQueue, 9,s: 4,799,734 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,399,885 msg/sec moodycamel::ConcurrentQueue,10,s: 4,748,648 msg/sec moodycamel::ConcurrentQueue,10,i: 5,392,168 msg/sec moodycamel::ConcurrentQueue,11,s: 21,281,016 msg/sec moodycamel::ConcurrentQueue,11,i: 5,515,803 msg/sec moodycamel::ConcurrentQueue,12,s: 5,404,334 msg/sec moodycamel::ConcurrentQueue,12,i: 9,450,513 msg/sec moodycamel::ConcurrentQueue,13,s: 4,810,024 msg/sec moodycamel::ConcurrentQueue,13,i: 16,743,014 msg/sec moodycamel::ConcurrentQueue,14,s: 13,765,950 msg/sec moodycamel::ConcurrentQueue,14,i: 5,155,240 msg/sec pthread_spinlock, 1,s: 4,629,508 msg/sec pthread_spinlock, 1,i: 4,306,958 msg/sec pthread_spinlock, 2,s: 4,139,044 msg/sec pthread_spinlock, 2,i: 4,521,104 msg/sec pthread_spinlock, 3,s: 2,700,439 msg/sec pthread_spinlock, 3,i: 3,150,729 msg/sec pthread_spinlock, 4,s: 2,608,870 msg/sec pthread_spinlock, 4,i: 2,553,365 msg/sec pthread_spinlock, 5,s: 2,229,583 msg/sec pthread_spinlock, 5,i: 2,248,414 msg/sec pthread_spinlock, 6,s: 1,926,254 msg/sec pthread_spinlock, 6,i: 1,853,381 msg/sec pthread_spinlock, 7,s: 1,768,752 msg/sec pthread_spinlock, 7,i: 1,536,216 msg/sec pthread_spinlock, 8,s: 1,094,085 msg/sec pthread_spinlock, 8,i: 919,275 msg/sec pthread_spinlock, 9,s: 821,453 msg/sec pthread_spinlock, 9,i: 1,044,310 msg/sec pthread_spinlock,10,s: 544,751 msg/sec pthread_spinlock,10,i: 559,270 msg/sec pthread_spinlock,11,s: 512,237 msg/sec pthread_spinlock,11,i: 600,292 msg/sec pthread_spinlock,12,s: 542,464 msg/sec pthread_spinlock,12,i: 534,192 msg/sec pthread_spinlock,13,s: 694,627 msg/sec pthread_spinlock,13,i: 719,244 msg/sec pthread_spinlock,14,s: 373,441 msg/sec pthread_spinlock,14,i: 507,720 msg/sec std::mutex, 1,s: 5,829,968 msg/sec std::mutex, 1,i: 6,725,936 msg/sec std::mutex, 2,s: 4,307,134 msg/sec std::mutex, 2,i: 4,245,960 msg/sec std::mutex, 3,s: 2,905,199 msg/sec std::mutex, 3,i: 2,925,901 msg/sec std::mutex, 4,s: 2,787,680 msg/sec std::mutex, 4,i: 2,754,656 msg/sec std::mutex, 5,s: 3,503,037 msg/sec std::mutex, 5,i: 3,480,902 msg/sec std::mutex, 6,s: 4,472,374 msg/sec std::mutex, 6,i: 4,571,170 msg/sec std::mutex, 7,s: 5,955,228 msg/sec std::mutex, 7,i: 6,111,265 msg/sec std::mutex, 8,s: 6,438,236 msg/sec std::mutex, 8,i: 5,770,449 msg/sec std::mutex, 9,s: 5,879,047 msg/sec std::mutex, 9,i: 5,145,525 msg/sec std::mutex,10,s: 5,263,205 msg/sec std::mutex,10,i: 5,014,503 msg/sec std::mutex,11,s: 4,951,215 msg/sec std::mutex,11,i: 4,960,080 msg/sec std::mutex,12,s: 4,662,177 msg/sec std::mutex,12,i: 4,961,098 msg/sec std::mutex,13,s: 4,496,056 msg/sec std::mutex,13,i: 5,059,089 msg/sec std::mutex,14,s: 4,471,558 msg/sec std::mutex,14,i: 5,019,292 msg/sec tbb::spin_mutex, 1,s: 25,115,942 msg/sec tbb::spin_mutex, 1,i: 25,341,675 msg/sec tbb::spin_mutex, 2,s: 12,898,480 msg/sec tbb::spin_mutex, 2,i: 13,196,752 msg/sec tbb::spin_mutex, 3,s: 8,965,270 msg/sec tbb::spin_mutex, 3,i: 8,462,936 msg/sec tbb::spin_mutex, 4,s: 6,421,320 msg/sec tbb::spin_mutex, 4,i: 6,805,252 msg/sec tbb::spin_mutex, 5,s: 3,887,150 msg/sec tbb::spin_mutex, 5,i: 4,455,650 msg/sec tbb::spin_mutex, 6,s: 3,516,368 msg/sec tbb::spin_mutex, 6,i: 3,218,339 msg/sec tbb::spin_mutex, 7,s: 2,206,516 msg/sec tbb::spin_mutex, 7,i: 2,027,206 msg/sec tbb::spin_mutex, 8,s: 1,176,045 msg/sec tbb::spin_mutex, 8,i: 1,007,464 msg/sec tbb::spin_mutex, 9,s: 1,038,962 msg/sec tbb::spin_mutex, 9,i: 839,660 msg/sec tbb::spin_mutex,10,s: 688,330 msg/sec tbb::spin_mutex,10,i: 751,506 msg/sec tbb::spin_mutex,11,s: 522,887 msg/sec tbb::spin_mutex,11,i: 645,645 msg/sec tbb::spin_mutex,12,s: 544,118 msg/sec tbb::spin_mutex,12,i: 593,109 msg/sec tbb::spin_mutex,13,s: 444,060 msg/sec tbb::spin_mutex,13,i: 524,182 msg/sec tbb::spin_mutex,14,s: 437,480 msg/sec tbb::spin_mutex,14,i: 495,833 msg/sec tbb::concurrent_bounded_queue, 1,s: 6,055,719 msg/sec tbb::concurrent_bounded_queue, 1,i: 6,202,102 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,634,833 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,563,645 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,127,725 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,058,911 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,298,163 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,367,429 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,011,968 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,033,213 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,558,291 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,448,135 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,521,368 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,331,329 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,254,643 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,218,925 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,124,243 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,985,600 msg/sec tbb::concurrent_bounded_queue,10,s: 1,090,275 msg/sec tbb::concurrent_bounded_queue,10,i: 1,902,543 msg/sec tbb::concurrent_bounded_queue,11,s: 1,050,166 msg/sec tbb::concurrent_bounded_queue,11,i: 1,505,297 msg/sec tbb::concurrent_bounded_queue,12,s: 1,075,529 msg/sec tbb::concurrent_bounded_queue,12,i: 1,227,541 msg/sec tbb::concurrent_bounded_queue,13,s: 952,655 msg/sec tbb::concurrent_bounded_queue,13,i: 1,234,408 msg/sec tbb::concurrent_bounded_queue,14,s: 717,951 msg/sec tbb::concurrent_bounded_queue,14,i: 1,061,584 msg/sec xenium::michael_scott_queue, 1,s: 3,635,270 msg/sec xenium::michael_scott_queue, 1,i: 3,696,254 msg/sec xenium::michael_scott_queue, 2,s: 2,778,019 msg/sec xenium::michael_scott_queue, 2,i: 2,731,241 msg/sec xenium::michael_scott_queue, 3,s: 2,277,724 msg/sec xenium::michael_scott_queue, 3,i: 2,523,473 msg/sec xenium::michael_scott_queue, 4,s: 2,174,612 msg/sec xenium::michael_scott_queue, 4,i: 2,276,770 msg/sec xenium::michael_scott_queue, 5,s: 1,882,516 msg/sec xenium::michael_scott_queue, 5,i: 1,960,915 msg/sec xenium::michael_scott_queue, 6,s: 1,747,952 msg/sec xenium::michael_scott_queue, 6,i: 1,715,424 msg/sec xenium::michael_scott_queue, 7,s: 1,607,304 msg/sec xenium::michael_scott_queue, 7,i: 1,629,487 msg/sec xenium::michael_scott_queue, 8,s: 498,697 msg/sec xenium::michael_scott_queue, 8,i: 1,410,708 msg/sec xenium::michael_scott_queue, 9,s: 677,689 msg/sec xenium::michael_scott_queue, 9,i: 1,253,688 msg/sec xenium::michael_scott_queue,10,s: 551,716 msg/sec xenium::michael_scott_queue,10,i: 1,017,804 msg/sec xenium::michael_scott_queue,11,s: 496,075 msg/sec xenium::michael_scott_queue,11,i: 558,541 msg/sec xenium::michael_scott_queue,12,s: 529,935 msg/sec xenium::michael_scott_queue,12,i: 510,355 msg/sec xenium::michael_scott_queue,13,s: 508,676 msg/sec xenium::michael_scott_queue,13,i: 503,840 msg/sec xenium::michael_scott_queue,14,s: 501,421 msg/sec xenium::michael_scott_queue,14,i: 701,347 msg/sec xenium::ramalhete_queue, 1,s: 13,000,381 msg/sec xenium::ramalhete_queue, 1,i: 16,480,979 msg/sec xenium::ramalhete_queue, 2,s: 6,389,291 msg/sec xenium::ramalhete_queue, 2,i: 7,171,488 msg/sec xenium::ramalhete_queue, 3,s: 6,417,590 msg/sec xenium::ramalhete_queue, 3,i: 6,709,108 msg/sec xenium::ramalhete_queue, 4,s: 7,396,436 msg/sec xenium::ramalhete_queue, 4,i: 7,862,930 msg/sec xenium::ramalhete_queue, 5,s: 10,786,710 msg/sec xenium::ramalhete_queue, 5,i: 10,277,672 msg/sec xenium::ramalhete_queue, 6,s: 10,648,144 msg/sec xenium::ramalhete_queue, 6,i: 8,229,277 msg/sec xenium::ramalhete_queue, 7,s: 8,035,698 msg/sec xenium::ramalhete_queue, 7,i: 8,285,196 msg/sec xenium::ramalhete_queue, 8,s: 7,540,257 msg/sec xenium::ramalhete_queue, 8,i: 8,417,869 msg/sec xenium::ramalhete_queue, 9,s: 8,127,107 msg/sec xenium::ramalhete_queue, 9,i: 7,678,182 msg/sec xenium::ramalhete_queue,10,s: 8,578,875 msg/sec xenium::ramalhete_queue,10,i: 8,254,422 msg/sec xenium::ramalhete_queue,11,s: 7,991,877 msg/sec xenium::ramalhete_queue,11,i: 7,887,968 msg/sec xenium::ramalhete_queue,12,s: 8,504,042 msg/sec xenium::ramalhete_queue,12,i: 8,824,693 msg/sec xenium::ramalhete_queue,13,s: 9,377,786 msg/sec xenium::ramalhete_queue,13,i: 8,472,465 msg/sec xenium::ramalhete_queue,14,s: 10,137,177 msg/sec xenium::ramalhete_queue,14,i: 8,568,759 msg/sec xenium::vyukov_bounded_queue, 1,s: 56,332,830 msg/sec xenium::vyukov_bounded_queue, 1,i: 58,031,841 msg/sec xenium::vyukov_bounded_queue, 2,s: 5,781,110 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,867,713 msg/sec xenium::vyukov_bounded_queue, 3,s: 3,959,080 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,566,350 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,526,724 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,145,129 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,609,384 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,698,043 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,218,342 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,481,877 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,120,480 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,007,044 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,278,721 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,399,402 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,178,959 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,509,523 msg/sec xenium::vyukov_bounded_queue,10,s: 1,286,499 msg/sec xenium::vyukov_bounded_queue,10,i: 1,759,021 msg/sec xenium::vyukov_bounded_queue,11,s: 1,047,922 msg/sec xenium::vyukov_bounded_queue,11,i: 1,297,720 msg/sec xenium::vyukov_bounded_queue,12,s: 685,368 msg/sec xenium::vyukov_bounded_queue,12,i: 1,162,762 msg/sec xenium::vyukov_bounded_queue,13,s: 767,981 msg/sec xenium::vyukov_bounded_queue,13,i: 1,070,135 msg/sec xenium::vyukov_bounded_queue,14,s: 535,522 msg/sec xenium::vyukov_bounded_queue,14,i: 1,015,254 msg/sec AtomicQueue, 1,s: 21,696,813 msg/sec AtomicQueue, 1,i: 38,018,322 msg/sec AtomicQueue, 2,s: 3,705,196 msg/sec AtomicQueue, 2,i: 3,869,260 msg/sec AtomicQueue, 3,s: 2,543,215 msg/sec AtomicQueue, 3,i: 2,657,411 msg/sec AtomicQueue, 4,s: 2,337,726 msg/sec AtomicQueue, 4,i: 2,487,808 msg/sec AtomicQueue, 5,s: 2,111,096 msg/sec AtomicQueue, 5,i: 2,101,527 msg/sec AtomicQueue, 6,s: 2,015,721 msg/sec AtomicQueue, 6,i: 1,917,217 msg/sec AtomicQueue, 7,s: 1,772,183 msg/sec AtomicQueue, 7,i: 1,695,475 msg/sec AtomicQueue, 8,s: 527,403 msg/sec AtomicQueue, 8,i: 1,790,395 msg/sec AtomicQueue, 9,s: 586,879 msg/sec AtomicQueue, 9,i: 1,523,086 msg/sec AtomicQueue,10,s: 559,330 msg/sec AtomicQueue,10,i: 1,248,582 msg/sec AtomicQueue,11,s: 695,993 msg/sec AtomicQueue,11,i: 1,208,366 msg/sec AtomicQueue,12,s: 512,864 msg/sec AtomicQueue,12,i: 492,930 msg/sec AtomicQueue,13,s: 499,396 msg/sec AtomicQueue,13,i: 533,476 msg/sec AtomicQueue,14,s: 499,257 msg/sec AtomicQueue,14,i: 543,415 msg/sec AtomicQueueB, 1,s: 11,312,440 msg/sec AtomicQueueB, 1,i: 11,450,000 msg/sec AtomicQueueB, 2,s: 2,828,641 msg/sec AtomicQueueB, 2,i: 3,784,074 msg/sec AtomicQueueB, 3,s: 2,739,575 msg/sec AtomicQueueB, 3,i: 3,182,646 msg/sec AtomicQueueB, 4,s: 2,347,472 msg/sec AtomicQueueB, 4,i: 2,670,526 msg/sec AtomicQueueB, 5,s: 2,008,574 msg/sec AtomicQueueB, 5,i: 2,242,001 msg/sec AtomicQueueB, 6,s: 1,938,814 msg/sec AtomicQueueB, 6,i: 2,006,128 msg/sec AtomicQueueB, 7,s: 1,669,639 msg/sec AtomicQueueB, 7,i: 1,716,002 msg/sec AtomicQueueB, 8,s: 536,558 msg/sec AtomicQueueB, 8,i: 1,505,958 msg/sec AtomicQueueB, 9,s: 580,208 msg/sec AtomicQueueB, 9,i: 1,324,061 msg/sec AtomicQueueB,10,s: 546,263 msg/sec AtomicQueueB,10,i: 1,158,252 msg/sec AtomicQueueB,11,s: 537,877 msg/sec AtomicQueueB,11,i: 1,070,970 msg/sec AtomicQueueB,12,s: 513,252 msg/sec AtomicQueueB,12,i: 1,097,971 msg/sec AtomicQueueB,13,s: 791,156 msg/sec AtomicQueueB,13,i: 513,804 msg/sec AtomicQueueB,14,s: 507,687 msg/sec AtomicQueueB,14,i: 555,758 msg/sec OptimistAtomicQueue, 1,s: 171,589,458 msg/sec OptimistAtomicQueue, 1,i: 99,634,158 msg/sec OptimistAtomicQueue, 2,s: 8,912,447 msg/sec OptimistAtomicQueue, 2,i: 9,561,955 msg/sec OptimistAtomicQueue, 3,s: 9,668,389 msg/sec OptimistAtomicQueue, 3,i: 8,963,386 msg/sec OptimistAtomicQueue, 4,s: 8,298,306 msg/sec OptimistAtomicQueue, 4,i: 11,906,280 msg/sec OptimistAtomicQueue, 5,s: 12,380,691 msg/sec OptimistAtomicQueue, 5,i: 12,788,791 msg/sec OptimistAtomicQueue, 6,s: 13,625,848 msg/sec OptimistAtomicQueue, 6,i: 13,204,959 msg/sec OptimistAtomicQueue, 7,s: 12,879,123 msg/sec OptimistAtomicQueue, 7,i: 13,498,806 msg/sec OptimistAtomicQueue, 8,s: 9,715,403 msg/sec OptimistAtomicQueue, 8,i: 11,771,196 msg/sec OptimistAtomicQueue, 9,s: 8,359,523 msg/sec OptimistAtomicQueue, 9,i: 9,772,643 msg/sec OptimistAtomicQueue,10,s: 8,222,212 msg/sec OptimistAtomicQueue,10,i: 11,379,025 msg/sec OptimistAtomicQueue,11,s: 7,834,891 msg/sec OptimistAtomicQueue,11,i: 9,675,612 msg/sec OptimistAtomicQueue,12,s: 7,846,542 msg/sec OptimistAtomicQueue,12,i: 10,419,161 msg/sec OptimistAtomicQueue,13,s: 8,130,565 msg/sec OptimistAtomicQueue,13,i: 10,716,344 msg/sec OptimistAtomicQueue,14,s: 8,578,577 msg/sec OptimistAtomicQueue,14,i: 10,997,454 msg/sec OptimistAtomicQueueB, 1,s: 38,299,198 msg/sec OptimistAtomicQueueB, 1,i: 40,014,002 msg/sec OptimistAtomicQueueB, 2,s: 11,975,701 msg/sec OptimistAtomicQueueB, 2,i: 8,669,010 msg/sec OptimistAtomicQueueB, 3,s: 10,654,026 msg/sec OptimistAtomicQueueB, 3,i: 12,785,008 msg/sec OptimistAtomicQueueB, 4,s: 12,817,605 msg/sec OptimistAtomicQueueB, 4,i: 11,519,254 msg/sec OptimistAtomicQueueB, 5,s: 12,790,199 msg/sec OptimistAtomicQueueB, 5,i: 12,457,937 msg/sec OptimistAtomicQueueB, 6,s: 13,142,696 msg/sec OptimistAtomicQueueB, 6,i: 13,807,422 msg/sec OptimistAtomicQueueB, 7,s: 13,566,588 msg/sec OptimistAtomicQueueB, 7,i: 13,667,236 msg/sec OptimistAtomicQueueB, 8,s: 9,303,879 msg/sec OptimistAtomicQueueB, 8,i: 9,530,459 msg/sec OptimistAtomicQueueB, 9,s: 8,285,943 msg/sec OptimistAtomicQueueB, 9,i: 11,280,686 msg/sec OptimistAtomicQueueB,10,s: 7,884,267 msg/sec OptimistAtomicQueueB,10,i: 11,223,124 msg/sec OptimistAtomicQueueB,11,s: 7,862,278 msg/sec OptimistAtomicQueueB,11,i: 10,330,609 msg/sec OptimistAtomicQueueB,12,s: 7,993,443 msg/sec OptimistAtomicQueueB,12,i: 10,471,683 msg/sec OptimistAtomicQueueB,13,s: 7,941,637 msg/sec OptimistAtomicQueueB,13,i: 10,431,137 msg/sec OptimistAtomicQueueB,14,s: 8,341,824 msg/sec OptimistAtomicQueueB,14,i: 10,785,258 msg/sec AtomicQueue2, 1,s: 9,185,393 msg/sec AtomicQueue2, 1,i: 9,220,754 msg/sec AtomicQueue2, 2,s: 4,224,560 msg/sec AtomicQueue2, 2,i: 4,545,531 msg/sec AtomicQueue2, 3,s: 3,396,358 msg/sec AtomicQueue2, 3,i: 3,238,753 msg/sec AtomicQueue2, 4,s: 2,497,530 msg/sec AtomicQueue2, 4,i: 2,403,203 msg/sec AtomicQueue2, 5,s: 2,042,616 msg/sec AtomicQueue2, 5,i: 2,370,252 msg/sec AtomicQueue2, 6,s: 2,073,671 msg/sec AtomicQueue2, 6,i: 2,156,961 msg/sec AtomicQueue2, 7,s: 1,748,182 msg/sec AtomicQueue2, 7,i: 1,769,074 msg/sec AtomicQueue2, 8,s: 501,483 msg/sec AtomicQueue2, 8,i: 1,629,971 msg/sec AtomicQueue2, 9,s: 511,576 msg/sec AtomicQueue2, 9,i: 1,516,270 msg/sec AtomicQueue2,10,s: 743,628 msg/sec AtomicQueue2,10,i: 1,440,559 msg/sec AtomicQueue2,11,s: 555,283 msg/sec AtomicQueue2,11,i: 1,002,466 msg/sec AtomicQueue2,12,s: 498,816 msg/sec AtomicQueue2,12,i: 1,094,694 msg/sec AtomicQueue2,13,s: 490,420 msg/sec AtomicQueue2,13,i: 548,973 msg/sec AtomicQueue2,14,s: 518,978 msg/sec AtomicQueue2,14,i: 528,136 msg/sec AtomicQueueB2, 1,s: 8,330,368 msg/sec AtomicQueueB2, 1,i: 12,460,818 msg/sec AtomicQueueB2, 2,s: 3,396,811 msg/sec AtomicQueueB2, 2,i: 3,577,020 msg/sec AtomicQueueB2, 3,s: 2,424,922 msg/sec AtomicQueueB2, 3,i: 2,535,160 msg/sec AtomicQueueB2, 4,s: 2,126,512 msg/sec AtomicQueueB2, 4,i: 2,434,325 msg/sec AtomicQueueB2, 5,s: 2,169,657 msg/sec AtomicQueueB2, 5,i: 2,143,404 msg/sec AtomicQueueB2, 6,s: 1,993,775 msg/sec AtomicQueueB2, 6,i: 2,000,612 msg/sec AtomicQueueB2, 7,s: 1,769,204 msg/sec AtomicQueueB2, 7,i: 1,785,814 msg/sec AtomicQueueB2, 8,s: 493,184 msg/sec AtomicQueueB2, 8,i: 1,535,437 msg/sec AtomicQueueB2, 9,s: 758,370 msg/sec AtomicQueueB2, 9,i: 1,539,567 msg/sec AtomicQueueB2,10,s: 564,923 msg/sec AtomicQueueB2,10,i: 1,324,739 msg/sec AtomicQueueB2,11,s: 835,226 msg/sec AtomicQueueB2,11,i: 1,263,752 msg/sec AtomicQueueB2,12,s: 643,834 msg/sec AtomicQueueB2,12,i: 1,041,088 msg/sec AtomicQueueB2,13,s: 469,700 msg/sec AtomicQueueB2,13,i: 517,248 msg/sec AtomicQueueB2,14,s: 510,992 msg/sec AtomicQueueB2,14,i: 525,906 msg/sec OptimistAtomicQueue2, 1,s: 57,289,288 msg/sec OptimistAtomicQueue2, 1,i: 47,822,327 msg/sec OptimistAtomicQueue2, 2,s: 5,962,543 msg/sec OptimistAtomicQueue2, 2,i: 7,431,799 msg/sec OptimistAtomicQueue2, 3,s: 7,359,997 msg/sec OptimistAtomicQueue2, 3,i: 8,295,199 msg/sec OptimistAtomicQueue2, 4,s: 12,151,212 msg/sec OptimistAtomicQueue2, 4,i: 12,165,641 msg/sec OptimistAtomicQueue2, 5,s: 12,226,162 msg/sec OptimistAtomicQueue2, 5,i: 11,529,253 msg/sec OptimistAtomicQueue2, 6,s: 12,513,623 msg/sec OptimistAtomicQueue2, 6,i: 12,703,344 msg/sec OptimistAtomicQueue2, 7,s: 13,130,637 msg/sec OptimistAtomicQueue2, 7,i: 13,383,566 msg/sec OptimistAtomicQueue2, 8,s: 9,355,160 msg/sec OptimistAtomicQueue2, 8,i: 10,912,444 msg/sec OptimistAtomicQueue2, 9,s: 8,234,087 msg/sec OptimistAtomicQueue2, 9,i: 9,229,256 msg/sec OptimistAtomicQueue2,10,s: 7,679,671 msg/sec OptimistAtomicQueue2,10,i: 9,463,319 msg/sec OptimistAtomicQueue2,11,s: 7,848,841 msg/sec OptimistAtomicQueue2,11,i: 9,881,031 msg/sec OptimistAtomicQueue2,12,s: 7,982,001 msg/sec OptimistAtomicQueue2,12,i: 9,926,516 msg/sec OptimistAtomicQueue2,13,s: 7,982,182 msg/sec OptimistAtomicQueue2,13,i: 10,264,000 msg/sec OptimistAtomicQueue2,14,s: 8,383,827 msg/sec OptimistAtomicQueue2,14,i: 10,449,763 msg/sec OptimistAtomicQueueB2, 1,s: 18,570,962 msg/sec OptimistAtomicQueueB2, 1,i: 18,656,989 msg/sec OptimistAtomicQueueB2, 2,s: 10,830,791 msg/sec OptimistAtomicQueueB2, 2,i: 10,920,879 msg/sec OptimistAtomicQueueB2, 3,s: 11,893,541 msg/sec OptimistAtomicQueueB2, 3,i: 12,180,743 msg/sec OptimistAtomicQueueB2, 4,s: 12,393,749 msg/sec OptimistAtomicQueueB2, 4,i: 12,723,075 msg/sec OptimistAtomicQueueB2, 5,s: 12,329,462 msg/sec OptimistAtomicQueueB2, 5,i: 12,323,277 msg/sec OptimistAtomicQueueB2, 6,s: 12,093,853 msg/sec OptimistAtomicQueueB2, 6,i: 12,728,158 msg/sec OptimistAtomicQueueB2, 7,s: 13,041,084 msg/sec OptimistAtomicQueueB2, 7,i: 13,329,377 msg/sec OptimistAtomicQueueB2, 8,s: 8,815,598 msg/sec OptimistAtomicQueueB2, 8,i: 8,704,448 msg/sec OptimistAtomicQueueB2, 9,s: 7,619,961 msg/sec OptimistAtomicQueueB2, 9,i: 8,894,675 msg/sec OptimistAtomicQueueB2,10,s: 7,418,116 msg/sec OptimistAtomicQueueB2,10,i: 9,209,527 msg/sec OptimistAtomicQueueB2,11,s: 7,552,755 msg/sec OptimistAtomicQueueB2,11,i: 9,625,674 msg/sec OptimistAtomicQueueB2,12,s: 7,680,672 msg/sec OptimistAtomicQueueB2,12,i: 9,841,072 msg/sec OptimistAtomicQueueB2,13,s: 7,591,597 msg/sec OptimistAtomicQueueB2,13,i: 9,843,720 msg/sec OptimistAtomicQueueB2,14,s: 7,890,520 msg/sec OptimistAtomicQueueB2,14,i: 10,142,649 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000314 sec/round-trip boost::lockfree::queue: 0.000000763 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000282 sec/round-trip moodycamel::ConcurrentQueue: 0.000000471 sec/round-trip pthread_spinlock: 0.000000769 sec/round-trip std::mutex: 0.000002134 sec/round-trip tbb::spin_mutex: 0.000000671 sec/round-trip tbb::concurrent_bounded_queue: 0.000000571 sec/round-trip xenium::michael_scott_queue: 0.000000759 sec/round-trip xenium::ramalhete_queue: 0.000000510 sec/round-trip xenium::vyukov_bounded_queue: 0.000000475 sec/round-trip AtomicQueue: 0.000000300 sec/round-trip AtomicQueueB: 0.000000393 sec/round-trip OptimistAtomicQueue: 0.000000328 sec/round-trip OptimistAtomicQueueB: 0.000000357 sec/round-trip AtomicQueue2: 0.000000380 sec/round-trip AtomicQueueB2: 0.000000458 sec/round-trip OptimistAtomicQueue2: 0.000000371 sec/round-trip OptimistAtomicQueueB2: 0.000000353 sec/round-trip [11/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 27,671,410 msg/sec boost::lockfree::spsc_queue, 1,i: 34,534,820 msg/sec boost::lockfree::queue, 1,s: 3,203,977 msg/sec boost::lockfree::queue, 1,i: 3,206,322 msg/sec boost::lockfree::queue, 2,s: 2,374,782 msg/sec boost::lockfree::queue, 2,i: 2,490,340 msg/sec boost::lockfree::queue, 3,s: 2,402,195 msg/sec boost::lockfree::queue, 3,i: 2,354,969 msg/sec boost::lockfree::queue, 4,s: 2,251,488 msg/sec boost::lockfree::queue, 4,i: 2,285,883 msg/sec boost::lockfree::queue, 5,s: 2,062,734 msg/sec boost::lockfree::queue, 5,i: 2,092,203 msg/sec boost::lockfree::queue, 6,s: 2,066,078 msg/sec boost::lockfree::queue, 6,i: 2,213,095 msg/sec boost::lockfree::queue, 7,s: 1,939,159 msg/sec boost::lockfree::queue, 7,i: 2,035,612 msg/sec boost::lockfree::queue, 8,s: 979,694 msg/sec boost::lockfree::queue, 8,i: 1,588,449 msg/sec boost::lockfree::queue, 9,s: 1,031,188 msg/sec boost::lockfree::queue, 9,i: 1,141,482 msg/sec boost::lockfree::queue,10,s: 994,367 msg/sec boost::lockfree::queue,10,i: 1,150,279 msg/sec boost::lockfree::queue,11,s: 1,010,346 msg/sec boost::lockfree::queue,11,i: 1,173,368 msg/sec boost::lockfree::queue,12,s: 1,006,078 msg/sec boost::lockfree::queue,12,i: 1,080,338 msg/sec boost::lockfree::queue,13,s: 942,173 msg/sec boost::lockfree::queue,13,i: 509,250 msg/sec boost::lockfree::queue,14,s: 518,371 msg/sec boost::lockfree::queue,14,i: 515,937 msg/sec moodycamel::ReaderWriterQueue, 1,s: 19,632,905 msg/sec moodycamel::ReaderWriterQueue, 1,i: 24,648,643 msg/sec moodycamel::ConcurrentQueue, 1,s: 12,715,330 msg/sec moodycamel::ConcurrentQueue, 1,i: 13,152,497 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,443,016 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,690,456 msg/sec moodycamel::ConcurrentQueue, 3,s: 11,647,063 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,208,592 msg/sec moodycamel::ConcurrentQueue, 4,s: 12,037,576 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,001,929 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,642,955 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,454,761 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,140,835 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,117,051 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,641,085 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,492,846 msg/sec moodycamel::ConcurrentQueue, 8,s: 4,290,069 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,905,388 msg/sec moodycamel::ConcurrentQueue, 9,s: 10,702,500 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,670,619 msg/sec moodycamel::ConcurrentQueue,10,s: 5,112,831 msg/sec moodycamel::ConcurrentQueue,10,i: 13,220,049 msg/sec moodycamel::ConcurrentQueue,11,s: 4,851,127 msg/sec moodycamel::ConcurrentQueue,11,i: 5,339,959 msg/sec moodycamel::ConcurrentQueue,12,s: 4,473,005 msg/sec moodycamel::ConcurrentQueue,12,i: 4,921,836 msg/sec moodycamel::ConcurrentQueue,13,s: 4,627,926 msg/sec moodycamel::ConcurrentQueue,13,i: 5,445,858 msg/sec moodycamel::ConcurrentQueue,14,s: 15,637,438 msg/sec moodycamel::ConcurrentQueue,14,i: 5,701,692 msg/sec pthread_spinlock, 1,s: 5,415,128 msg/sec pthread_spinlock, 1,i: 7,184,975 msg/sec pthread_spinlock, 2,s: 4,063,948 msg/sec pthread_spinlock, 2,i: 4,202,462 msg/sec pthread_spinlock, 3,s: 3,329,117 msg/sec pthread_spinlock, 3,i: 2,844,619 msg/sec pthread_spinlock, 4,s: 2,659,524 msg/sec pthread_spinlock, 4,i: 2,717,524 msg/sec pthread_spinlock, 5,s: 2,288,348 msg/sec pthread_spinlock, 5,i: 2,081,064 msg/sec pthread_spinlock, 6,s: 1,806,409 msg/sec pthread_spinlock, 6,i: 1,900,322 msg/sec pthread_spinlock, 7,s: 1,669,435 msg/sec pthread_spinlock, 7,i: 1,843,334 msg/sec pthread_spinlock, 8,s: 1,029,304 msg/sec pthread_spinlock, 8,i: 1,383,979 msg/sec pthread_spinlock, 9,s: 544,413 msg/sec pthread_spinlock, 9,i: 904,611 msg/sec pthread_spinlock,10,s: 530,664 msg/sec pthread_spinlock,10,i: 588,392 msg/sec pthread_spinlock,11,s: 541,395 msg/sec pthread_spinlock,11,i: 756,217 msg/sec pthread_spinlock,12,s: 769,150 msg/sec pthread_spinlock,12,i: 607,039 msg/sec pthread_spinlock,13,s: 485,836 msg/sec pthread_spinlock,13,i: 514,298 msg/sec pthread_spinlock,14,s: 526,040 msg/sec pthread_spinlock,14,i: 577,536 msg/sec std::mutex, 1,s: 4,587,714 msg/sec std::mutex, 1,i: 4,508,622 msg/sec std::mutex, 2,s: 4,558,647 msg/sec std::mutex, 2,i: 4,617,879 msg/sec std::mutex, 3,s: 3,058,174 msg/sec std::mutex, 3,i: 2,917,941 msg/sec std::mutex, 4,s: 2,941,800 msg/sec std::mutex, 4,i: 2,764,002 msg/sec std::mutex, 5,s: 3,619,989 msg/sec std::mutex, 5,i: 3,506,752 msg/sec std::mutex, 6,s: 4,540,038 msg/sec std::mutex, 6,i: 4,554,993 msg/sec std::mutex, 7,s: 5,771,670 msg/sec std::mutex, 7,i: 5,961,332 msg/sec std::mutex, 8,s: 7,124,839 msg/sec std::mutex, 8,i: 5,527,855 msg/sec std::mutex, 9,s: 6,348,113 msg/sec std::mutex, 9,i: 4,993,325 msg/sec std::mutex,10,s: 6,337,212 msg/sec std::mutex,10,i: 5,137,742 msg/sec std::mutex,11,s: 5,835,816 msg/sec std::mutex,11,i: 5,245,129 msg/sec std::mutex,12,s: 5,468,693 msg/sec std::mutex,12,i: 5,214,926 msg/sec std::mutex,13,s: 5,323,862 msg/sec std::mutex,13,i: 5,131,774 msg/sec std::mutex,14,s: 5,124,414 msg/sec std::mutex,14,i: 5,249,094 msg/sec tbb::spin_mutex, 1,s: 23,299,681 msg/sec tbb::spin_mutex, 1,i: 23,627,202 msg/sec tbb::spin_mutex, 2,s: 10,618,901 msg/sec tbb::spin_mutex, 2,i: 9,905,957 msg/sec tbb::spin_mutex, 3,s: 7,541,395 msg/sec tbb::spin_mutex, 3,i: 7,969,460 msg/sec tbb::spin_mutex, 4,s: 6,362,353 msg/sec tbb::spin_mutex, 4,i: 6,521,944 msg/sec tbb::spin_mutex, 5,s: 5,103,633 msg/sec tbb::spin_mutex, 5,i: 4,381,485 msg/sec tbb::spin_mutex, 6,s: 3,567,737 msg/sec tbb::spin_mutex, 6,i: 2,706,124 msg/sec tbb::spin_mutex, 7,s: 1,891,337 msg/sec tbb::spin_mutex, 7,i: 2,560,681 msg/sec tbb::spin_mutex, 8,s: 1,422,591 msg/sec tbb::spin_mutex, 8,i: 1,303,817 msg/sec tbb::spin_mutex, 9,s: 906,294 msg/sec tbb::spin_mutex, 9,i: 1,082,655 msg/sec tbb::spin_mutex,10,s: 720,152 msg/sec tbb::spin_mutex,10,i: 879,975 msg/sec tbb::spin_mutex,11,s: 600,603 msg/sec tbb::spin_mutex,11,i: 723,342 msg/sec tbb::spin_mutex,12,s: 540,366 msg/sec tbb::spin_mutex,12,i: 649,493 msg/sec tbb::spin_mutex,13,s: 422,864 msg/sec tbb::spin_mutex,13,i: 542,055 msg/sec tbb::spin_mutex,14,s: 449,294 msg/sec tbb::spin_mutex,14,i: 562,153 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,557,365 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,626,007 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,984,332 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,098,293 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,151,364 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,200,630 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,790,879 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,749,947 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,289,722 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,282,476 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,891,396 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,821,117 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,540,661 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,530,301 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,140,203 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,204,945 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,078,565 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,082,377 msg/sec tbb::concurrent_bounded_queue,10,s: 1,006,496 msg/sec tbb::concurrent_bounded_queue,10,i: 1,762,226 msg/sec tbb::concurrent_bounded_queue,11,s: 1,050,382 msg/sec tbb::concurrent_bounded_queue,11,i: 1,422,860 msg/sec tbb::concurrent_bounded_queue,12,s: 1,062,460 msg/sec tbb::concurrent_bounded_queue,12,i: 1,324,272 msg/sec tbb::concurrent_bounded_queue,13,s: 1,023,172 msg/sec tbb::concurrent_bounded_queue,13,i: 1,272,592 msg/sec tbb::concurrent_bounded_queue,14,s: 806,038 msg/sec tbb::concurrent_bounded_queue,14,i: 1,045,879 msg/sec xenium::michael_scott_queue, 1,s: 4,553,407 msg/sec xenium::michael_scott_queue, 1,i: 4,510,845 msg/sec xenium::michael_scott_queue, 2,s: 2,600,825 msg/sec xenium::michael_scott_queue, 2,i: 2,184,814 msg/sec xenium::michael_scott_queue, 3,s: 2,273,555 msg/sec xenium::michael_scott_queue, 3,i: 2,220,856 msg/sec xenium::michael_scott_queue, 4,s: 2,051,246 msg/sec xenium::michael_scott_queue, 4,i: 2,117,801 msg/sec xenium::michael_scott_queue, 5,s: 1,871,314 msg/sec xenium::michael_scott_queue, 5,i: 1,886,528 msg/sec xenium::michael_scott_queue, 6,s: 1,718,808 msg/sec xenium::michael_scott_queue, 6,i: 1,832,476 msg/sec xenium::michael_scott_queue, 7,s: 1,698,825 msg/sec xenium::michael_scott_queue, 7,i: 1,742,527 msg/sec xenium::michael_scott_queue, 8,s: 1,098,993 msg/sec xenium::michael_scott_queue, 8,i: 1,485,376 msg/sec xenium::michael_scott_queue, 9,s: 981,377 msg/sec xenium::michael_scott_queue, 9,i: 1,108,093 msg/sec xenium::michael_scott_queue,10,s: 513,705 msg/sec xenium::michael_scott_queue,10,i: 922,010 msg/sec xenium::michael_scott_queue,11,s: 547,194 msg/sec xenium::michael_scott_queue,11,i: 523,662 msg/sec xenium::michael_scott_queue,12,s: 484,824 msg/sec xenium::michael_scott_queue,12,i: 881,958 msg/sec xenium::michael_scott_queue,13,s: 524,882 msg/sec xenium::michael_scott_queue,13,i: 502,985 msg/sec xenium::michael_scott_queue,14,s: 524,125 msg/sec xenium::michael_scott_queue,14,i: 509,717 msg/sec xenium::ramalhete_queue, 1,s: 11,897,966 msg/sec xenium::ramalhete_queue, 1,i: 3,738,733 msg/sec xenium::ramalhete_queue, 2,s: 5,329,759 msg/sec xenium::ramalhete_queue, 2,i: 6,928,077 msg/sec xenium::ramalhete_queue, 3,s: 7,051,448 msg/sec xenium::ramalhete_queue, 3,i: 7,311,304 msg/sec xenium::ramalhete_queue, 4,s: 7,250,921 msg/sec xenium::ramalhete_queue, 4,i: 7,799,893 msg/sec xenium::ramalhete_queue, 5,s: 7,916,983 msg/sec xenium::ramalhete_queue, 5,i: 8,178,272 msg/sec xenium::ramalhete_queue, 6,s: 8,033,372 msg/sec xenium::ramalhete_queue, 6,i: 8,253,825 msg/sec xenium::ramalhete_queue, 7,s: 8,445,610 msg/sec xenium::ramalhete_queue, 7,i: 8,410,493 msg/sec xenium::ramalhete_queue, 8,s: 7,561,268 msg/sec xenium::ramalhete_queue, 8,i: 8,102,457 msg/sec xenium::ramalhete_queue, 9,s: 8,279,095 msg/sec xenium::ramalhete_queue, 9,i: 8,170,933 msg/sec xenium::ramalhete_queue,10,s: 8,610,027 msg/sec xenium::ramalhete_queue,10,i: 8,043,921 msg/sec xenium::ramalhete_queue,11,s: 7,930,832 msg/sec xenium::ramalhete_queue,11,i: 8,285,890 msg/sec xenium::ramalhete_queue,12,s: 8,288,113 msg/sec xenium::ramalhete_queue,12,i: 8,545,543 msg/sec xenium::ramalhete_queue,13,s: 8,369,803 msg/sec xenium::ramalhete_queue,13,i: 7,786,817 msg/sec xenium::ramalhete_queue,14,s: 10,576,191 msg/sec xenium::ramalhete_queue,14,i: 8,297,846 msg/sec xenium::vyukov_bounded_queue, 1,s: 30,953,194 msg/sec xenium::vyukov_bounded_queue, 1,i: 57,928,838 msg/sec xenium::vyukov_bounded_queue, 2,s: 4,064,526 msg/sec xenium::vyukov_bounded_queue, 2,i: 4,193,920 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,908,996 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,636,323 msg/sec xenium::vyukov_bounded_queue, 4,s: 4,064,910 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,748,520 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,554,087 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,656,925 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,360,900 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,117,449 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,021,078 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,823,197 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,650,007 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,687,310 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,258,346 msg/sec xenium::vyukov_bounded_queue, 9,i: 2,357,968 msg/sec xenium::vyukov_bounded_queue,10,s: 1,213,433 msg/sec xenium::vyukov_bounded_queue,10,i: 1,558,344 msg/sec xenium::vyukov_bounded_queue,11,s: 1,079,428 msg/sec xenium::vyukov_bounded_queue,11,i: 1,475,165 msg/sec xenium::vyukov_bounded_queue,12,s: 1,114,407 msg/sec xenium::vyukov_bounded_queue,12,i: 1,346,596 msg/sec xenium::vyukov_bounded_queue,13,s: 1,044,435 msg/sec xenium::vyukov_bounded_queue,13,i: 1,189,833 msg/sec xenium::vyukov_bounded_queue,14,s: 733,165 msg/sec xenium::vyukov_bounded_queue,14,i: 999,486 msg/sec AtomicQueue, 1,s: 15,064,869 msg/sec AtomicQueue, 1,i: 11,263,081 msg/sec AtomicQueue, 2,s: 2,941,771 msg/sec AtomicQueue, 2,i: 3,432,408 msg/sec AtomicQueue, 3,s: 2,450,572 msg/sec AtomicQueue, 3,i: 2,590,835 msg/sec AtomicQueue, 4,s: 2,492,788 msg/sec AtomicQueue, 4,i: 2,647,262 msg/sec AtomicQueue, 5,s: 2,227,328 msg/sec AtomicQueue, 5,i: 2,429,232 msg/sec AtomicQueue, 6,s: 1,938,034 msg/sec AtomicQueue, 6,i: 1,982,467 msg/sec AtomicQueue, 7,s: 1,565,730 msg/sec AtomicQueue, 7,i: 1,838,396 msg/sec AtomicQueue, 8,s: 542,424 msg/sec AtomicQueue, 8,i: 1,127,002 msg/sec AtomicQueue, 9,s: 824,273 msg/sec AtomicQueue, 9,i: 1,514,973 msg/sec AtomicQueue,10,s: 515,102 msg/sec AtomicQueue,10,i: 1,046,865 msg/sec AtomicQueue,11,s: 490,756 msg/sec AtomicQueue,11,i: 1,244,921 msg/sec AtomicQueue,12,s: 735,553 msg/sec AtomicQueue,12,i: 1,053,541 msg/sec AtomicQueue,13,s: 549,688 msg/sec AtomicQueue,13,i: 500,881 msg/sec AtomicQueue,14,s: 510,608 msg/sec AtomicQueue,14,i: 525,753 msg/sec AtomicQueueB, 1,s: 11,855,584 msg/sec AtomicQueueB, 1,i: 11,936,793 msg/sec AtomicQueueB, 2,s: 3,529,072 msg/sec AtomicQueueB, 2,i: 3,849,926 msg/sec AtomicQueueB, 3,s: 2,751,953 msg/sec AtomicQueueB, 3,i: 2,789,875 msg/sec AtomicQueueB, 4,s: 2,299,881 msg/sec AtomicQueueB, 4,i: 2,742,834 msg/sec AtomicQueueB, 5,s: 2,133,812 msg/sec AtomicQueueB, 5,i: 2,082,746 msg/sec AtomicQueueB, 6,s: 1,834,794 msg/sec AtomicQueueB, 6,i: 1,791,099 msg/sec AtomicQueueB, 7,s: 1,691,418 msg/sec AtomicQueueB, 7,i: 1,807,519 msg/sec AtomicQueueB, 8,s: 681,480 msg/sec AtomicQueueB, 8,i: 1,472,112 msg/sec AtomicQueueB, 9,s: 614,138 msg/sec AtomicQueueB, 9,i: 1,433,519 msg/sec AtomicQueueB,10,s: 746,156 msg/sec AtomicQueueB,10,i: 1,327,308 msg/sec AtomicQueueB,11,s: 554,429 msg/sec AtomicQueueB,11,i: 1,080,389 msg/sec AtomicQueueB,12,s: 666,891 msg/sec AtomicQueueB,12,i: 552,071 msg/sec AtomicQueueB,13,s: 548,378 msg/sec AtomicQueueB,13,i: 556,052 msg/sec AtomicQueueB,14,s: 499,879 msg/sec AtomicQueueB,14,i: 564,758 msg/sec OptimistAtomicQueue, 1,s: 149,635,396 msg/sec OptimistAtomicQueue, 1,i: 81,819,056 msg/sec OptimistAtomicQueue, 2,s: 9,416,096 msg/sec OptimistAtomicQueue, 2,i: 10,886,316 msg/sec OptimistAtomicQueue, 3,s: 10,850,148 msg/sec OptimistAtomicQueue, 3,i: 11,814,896 msg/sec OptimistAtomicQueue, 4,s: 9,690,605 msg/sec OptimistAtomicQueue, 4,i: 13,510,082 msg/sec OptimistAtomicQueue, 5,s: 12,477,912 msg/sec OptimistAtomicQueue, 5,i: 12,945,810 msg/sec OptimistAtomicQueue, 6,s: 12,209,481 msg/sec OptimistAtomicQueue, 6,i: 13,301,059 msg/sec OptimistAtomicQueue, 7,s: 12,760,326 msg/sec OptimistAtomicQueue, 7,i: 13,520,157 msg/sec OptimistAtomicQueue, 8,s: 9,516,373 msg/sec OptimistAtomicQueue, 8,i: 9,215,134 msg/sec OptimistAtomicQueue, 9,s: 8,158,687 msg/sec OptimistAtomicQueue, 9,i: 10,962,810 msg/sec OptimistAtomicQueue,10,s: 7,891,969 msg/sec OptimistAtomicQueue,10,i: 11,369,077 msg/sec OptimistAtomicQueue,11,s: 7,986,934 msg/sec OptimistAtomicQueue,11,i: 10,194,191 msg/sec OptimistAtomicQueue,12,s: 7,973,913 msg/sec OptimistAtomicQueue,12,i: 10,362,644 msg/sec OptimistAtomicQueue,13,s: 8,110,457 msg/sec OptimistAtomicQueue,13,i: 10,338,375 msg/sec OptimistAtomicQueue,14,s: 8,377,846 msg/sec OptimistAtomicQueue,14,i: 10,026,150 msg/sec OptimistAtomicQueueB, 1,s: 18,005,087 msg/sec OptimistAtomicQueueB, 1,i: 18,043,450 msg/sec OptimistAtomicQueueB, 2,s: 7,971,878 msg/sec OptimistAtomicQueueB, 2,i: 8,211,681 msg/sec OptimistAtomicQueueB, 3,s: 8,566,563 msg/sec OptimistAtomicQueueB, 3,i: 10,243,581 msg/sec OptimistAtomicQueueB, 4,s: 12,996,987 msg/sec OptimistAtomicQueueB, 4,i: 11,605,398 msg/sec OptimistAtomicQueueB, 5,s: 12,596,724 msg/sec OptimistAtomicQueueB, 5,i: 13,132,785 msg/sec OptimistAtomicQueueB, 6,s: 14,031,787 msg/sec OptimistAtomicQueueB, 6,i: 13,844,333 msg/sec OptimistAtomicQueueB, 7,s: 13,051,971 msg/sec OptimistAtomicQueueB, 7,i: 12,603,221 msg/sec OptimistAtomicQueueB, 8,s: 9,634,726 msg/sec OptimistAtomicQueueB, 8,i: 11,144,967 msg/sec OptimistAtomicQueueB, 9,s: 8,130,084 msg/sec OptimistAtomicQueueB, 9,i: 11,296,904 msg/sec OptimistAtomicQueueB,10,s: 7,957,037 msg/sec OptimistAtomicQueueB,10,i: 9,612,331 msg/sec OptimistAtomicQueueB,11,s: 7,897,019 msg/sec OptimistAtomicQueueB,11,i: 9,978,658 msg/sec OptimistAtomicQueueB,12,s: 7,977,111 msg/sec OptimistAtomicQueueB,12,i: 10,390,632 msg/sec OptimistAtomicQueueB,13,s: 8,036,484 msg/sec OptimistAtomicQueueB,13,i: 10,281,218 msg/sec OptimistAtomicQueueB,14,s: 8,263,602 msg/sec OptimistAtomicQueueB,14,i: 10,963,983 msg/sec AtomicQueue2, 1,s: 9,356,428 msg/sec AtomicQueue2, 1,i: 9,340,147 msg/sec AtomicQueue2, 2,s: 4,309,157 msg/sec AtomicQueue2, 2,i: 3,574,792 msg/sec AtomicQueue2, 3,s: 2,933,801 msg/sec AtomicQueue2, 3,i: 3,090,459 msg/sec AtomicQueue2, 4,s: 2,480,146 msg/sec AtomicQueue2, 4,i: 2,456,369 msg/sec AtomicQueue2, 5,s: 2,019,949 msg/sec AtomicQueue2, 5,i: 2,237,975 msg/sec AtomicQueue2, 6,s: 1,864,493 msg/sec AtomicQueue2, 6,i: 2,155,658 msg/sec AtomicQueue2, 7,s: 1,601,978 msg/sec AtomicQueue2, 7,i: 1,734,072 msg/sec AtomicQueue2, 8,s: 502,944 msg/sec AtomicQueue2, 8,i: 1,634,047 msg/sec AtomicQueue2, 9,s: 777,500 msg/sec AtomicQueue2, 9,i: 1,539,500 msg/sec AtomicQueue2,10,s: 498,554 msg/sec AtomicQueue2,10,i: 1,358,592 msg/sec AtomicQueue2,11,s: 725,731 msg/sec AtomicQueue2,11,i: 1,173,244 msg/sec AtomicQueue2,12,s: 750,001 msg/sec AtomicQueue2,12,i: 1,028,479 msg/sec AtomicQueue2,13,s: 533,310 msg/sec AtomicQueue2,13,i: 517,967 msg/sec AtomicQueue2,14,s: 486,127 msg/sec AtomicQueue2,14,i: 549,715 msg/sec AtomicQueueB2, 1,s: 10,686,413 msg/sec AtomicQueueB2, 1,i: 10,791,862 msg/sec AtomicQueueB2, 2,s: 2,896,354 msg/sec AtomicQueueB2, 2,i: 2,960,352 msg/sec AtomicQueueB2, 3,s: 2,540,397 msg/sec AtomicQueueB2, 3,i: 3,150,205 msg/sec AtomicQueueB2, 4,s: 2,302,037 msg/sec AtomicQueueB2, 4,i: 2,678,709 msg/sec AtomicQueueB2, 5,s: 2,204,355 msg/sec AtomicQueueB2, 5,i: 2,258,024 msg/sec AtomicQueueB2, 6,s: 1,895,270 msg/sec AtomicQueueB2, 6,i: 2,208,679 msg/sec AtomicQueueB2, 7,s: 1,910,156 msg/sec AtomicQueueB2, 7,i: 1,698,973 msg/sec AtomicQueueB2, 8,s: 499,478 msg/sec AtomicQueueB2, 8,i: 1,611,891 msg/sec AtomicQueueB2, 9,s: 486,573 msg/sec AtomicQueueB2, 9,i: 1,324,282 msg/sec AtomicQueueB2,10,s: 660,879 msg/sec AtomicQueueB2,10,i: 1,207,450 msg/sec AtomicQueueB2,11,s: 560,874 msg/sec AtomicQueueB2,11,i: 1,077,069 msg/sec AtomicQueueB2,12,s: 524,586 msg/sec AtomicQueueB2,12,i: 1,142,815 msg/sec AtomicQueueB2,13,s: 512,921 msg/sec AtomicQueueB2,13,i: 581,899 msg/sec AtomicQueueB2,14,s: 486,913 msg/sec AtomicQueueB2,14,i: 564,884 msg/sec OptimistAtomicQueue2, 1,s: 51,683,539 msg/sec OptimistAtomicQueue2, 1,i: 49,906,967 msg/sec OptimistAtomicQueue2, 2,s: 5,809,820 msg/sec OptimistAtomicQueue2, 2,i: 6,334,160 msg/sec OptimistAtomicQueue2, 3,s: 11,431,008 msg/sec OptimistAtomicQueue2, 3,i: 10,748,142 msg/sec OptimistAtomicQueue2, 4,s: 11,803,829 msg/sec OptimistAtomicQueue2, 4,i: 9,837,252 msg/sec OptimistAtomicQueue2, 5,s: 10,019,218 msg/sec OptimistAtomicQueue2, 5,i: 12,111,154 msg/sec OptimistAtomicQueue2, 6,s: 11,737,368 msg/sec OptimistAtomicQueue2, 6,i: 9,160,367 msg/sec OptimistAtomicQueue2, 7,s: 12,238,816 msg/sec OptimistAtomicQueue2, 7,i: 13,365,474 msg/sec OptimistAtomicQueue2, 8,s: 9,158,534 msg/sec OptimistAtomicQueue2, 8,i: 10,351,929 msg/sec OptimistAtomicQueue2, 9,s: 7,840,378 msg/sec OptimistAtomicQueue2, 9,i: 9,435,339 msg/sec OptimistAtomicQueue2,10,s: 7,720,911 msg/sec OptimistAtomicQueue2,10,i: 9,667,193 msg/sec OptimistAtomicQueue2,11,s: 7,600,358 msg/sec OptimistAtomicQueue2,11,i: 9,683,407 msg/sec OptimistAtomicQueue2,12,s: 7,615,179 msg/sec OptimistAtomicQueue2,12,i: 9,669,589 msg/sec OptimistAtomicQueue2,13,s: 7,768,507 msg/sec OptimistAtomicQueue2,13,i: 10,172,662 msg/sec OptimistAtomicQueue2,14,s: 8,308,372 msg/sec OptimistAtomicQueue2,14,i: 10,103,349 msg/sec OptimistAtomicQueueB2, 1,s: 23,782,489 msg/sec OptimistAtomicQueueB2, 1,i: 23,702,624 msg/sec OptimistAtomicQueueB2, 2,s: 9,873,868 msg/sec OptimistAtomicQueueB2, 2,i: 9,955,919 msg/sec OptimistAtomicQueueB2, 3,s: 9,701,168 msg/sec OptimistAtomicQueueB2, 3,i: 11,446,259 msg/sec OptimistAtomicQueueB2, 4,s: 11,683,772 msg/sec OptimistAtomicQueueB2, 4,i: 11,887,688 msg/sec OptimistAtomicQueueB2, 5,s: 12,451,021 msg/sec OptimistAtomicQueueB2, 5,i: 12,893,665 msg/sec OptimistAtomicQueueB2, 6,s: 11,763,702 msg/sec OptimistAtomicQueueB2, 6,i: 12,146,848 msg/sec OptimistAtomicQueueB2, 7,s: 12,375,970 msg/sec OptimistAtomicQueueB2, 7,i: 12,916,998 msg/sec OptimistAtomicQueueB2, 8,s: 8,194,607 msg/sec OptimistAtomicQueueB2, 8,i: 10,048,856 msg/sec OptimistAtomicQueueB2, 9,s: 7,399,252 msg/sec OptimistAtomicQueueB2, 9,i: 8,888,054 msg/sec OptimistAtomicQueueB2,10,s: 7,408,420 msg/sec OptimistAtomicQueueB2,10,i: 9,324,022 msg/sec OptimistAtomicQueueB2,11,s: 7,321,826 msg/sec OptimistAtomicQueueB2,11,i: 9,888,772 msg/sec OptimistAtomicQueueB2,12,s: 7,307,994 msg/sec OptimistAtomicQueueB2,12,i: 9,575,286 msg/sec OptimistAtomicQueueB2,13,s: 7,399,742 msg/sec OptimistAtomicQueueB2,13,i: 9,170,951 msg/sec OptimistAtomicQueueB2,14,s: 7,895,830 msg/sec OptimistAtomicQueueB2,14,i: 9,913,849 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000341 sec/round-trip boost::lockfree::queue: 0.000000788 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000320 sec/round-trip moodycamel::ConcurrentQueue: 0.000000460 sec/round-trip pthread_spinlock: 0.000001427 sec/round-trip std::mutex: 0.000002112 sec/round-trip tbb::spin_mutex: 0.000000742 sec/round-trip tbb::concurrent_bounded_queue: 0.000000602 sec/round-trip xenium::michael_scott_queue: 0.000000785 sec/round-trip xenium::ramalhete_queue: 0.000000494 sec/round-trip xenium::vyukov_bounded_queue: 0.000000483 sec/round-trip AtomicQueue: 0.000000307 sec/round-trip AtomicQueueB: 0.000000377 sec/round-trip OptimistAtomicQueue: 0.000000332 sec/round-trip OptimistAtomicQueueB: 0.000000333 sec/round-trip AtomicQueue2: 0.000000362 sec/round-trip AtomicQueueB2: 0.000000437 sec/round-trip OptimistAtomicQueue2: 0.000000352 sec/round-trip OptimistAtomicQueueB2: 0.000000364 sec/round-trip [12/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 24,360,395 msg/sec boost::lockfree::spsc_queue, 1,i: 29,005,478 msg/sec boost::lockfree::queue, 1,s: 3,028,183 msg/sec boost::lockfree::queue, 1,i: 2,333,607 msg/sec boost::lockfree::queue, 2,s: 2,247,502 msg/sec boost::lockfree::queue, 2,i: 2,432,789 msg/sec boost::lockfree::queue, 3,s: 2,015,909 msg/sec boost::lockfree::queue, 3,i: 2,320,279 msg/sec boost::lockfree::queue, 4,s: 2,025,046 msg/sec boost::lockfree::queue, 4,i: 2,220,807 msg/sec boost::lockfree::queue, 5,s: 2,153,040 msg/sec boost::lockfree::queue, 5,i: 2,168,577 msg/sec boost::lockfree::queue, 6,s: 2,159,787 msg/sec boost::lockfree::queue, 6,i: 2,014,103 msg/sec boost::lockfree::queue, 7,s: 1,972,286 msg/sec boost::lockfree::queue, 7,i: 1,685,532 msg/sec boost::lockfree::queue, 8,s: 786,850 msg/sec boost::lockfree::queue, 8,i: 1,407,483 msg/sec boost::lockfree::queue, 9,s: 667,951 msg/sec boost::lockfree::queue, 9,i: 1,071,132 msg/sec boost::lockfree::queue,10,s: 518,600 msg/sec boost::lockfree::queue,10,i: 508,647 msg/sec boost::lockfree::queue,11,s: 545,966 msg/sec boost::lockfree::queue,11,i: 831,300 msg/sec boost::lockfree::queue,12,s: 499,674 msg/sec boost::lockfree::queue,12,i: 529,498 msg/sec boost::lockfree::queue,13,s: 520,812 msg/sec boost::lockfree::queue,13,i: 514,358 msg/sec boost::lockfree::queue,14,s: 556,267 msg/sec boost::lockfree::queue,14,i: 507,791 msg/sec moodycamel::ReaderWriterQueue, 1,s: 25,119,339 msg/sec moodycamel::ReaderWriterQueue, 1,i: 29,970,713 msg/sec moodycamel::ConcurrentQueue, 1,s: 9,633,299 msg/sec moodycamel::ConcurrentQueue, 1,i: 10,350,704 msg/sec moodycamel::ConcurrentQueue, 2,s: 3,909,324 msg/sec moodycamel::ConcurrentQueue, 2,i: 6,697,371 msg/sec moodycamel::ConcurrentQueue, 3,s: 10,755,819 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,225,822 msg/sec moodycamel::ConcurrentQueue, 4,s: 12,261,351 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,115,442 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,393,444 msg/sec moodycamel::ConcurrentQueue, 5,i: 16,202,420 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,215,366 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,065,332 msg/sec moodycamel::ConcurrentQueue, 7,s: 17,187,621 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,258,816 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,509,580 msg/sec moodycamel::ConcurrentQueue, 8,i: 6,271,581 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,405,118 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,437,629 msg/sec moodycamel::ConcurrentQueue,10,s: 4,890,707 msg/sec moodycamel::ConcurrentQueue,10,i: 5,135,627 msg/sec moodycamel::ConcurrentQueue,11,s: 5,515,228 msg/sec moodycamel::ConcurrentQueue,11,i: 5,622,046 msg/sec moodycamel::ConcurrentQueue,12,s: 5,404,806 msg/sec moodycamel::ConcurrentQueue,12,i: 5,157,457 msg/sec moodycamel::ConcurrentQueue,13,s: 4,804,346 msg/sec moodycamel::ConcurrentQueue,13,i: 5,623,757 msg/sec moodycamel::ConcurrentQueue,14,s: 7,024,533 msg/sec moodycamel::ConcurrentQueue,14,i: 14,518,564 msg/sec pthread_spinlock, 1,s: 6,206,471 msg/sec pthread_spinlock, 1,i: 5,691,682 msg/sec pthread_spinlock, 2,s: 3,788,920 msg/sec pthread_spinlock, 2,i: 4,204,504 msg/sec pthread_spinlock, 3,s: 3,311,302 msg/sec pthread_spinlock, 3,i: 3,119,877 msg/sec pthread_spinlock, 4,s: 2,572,045 msg/sec pthread_spinlock, 4,i: 2,643,457 msg/sec pthread_spinlock, 5,s: 2,484,790 msg/sec pthread_spinlock, 5,i: 2,210,380 msg/sec pthread_spinlock, 6,s: 2,052,467 msg/sec pthread_spinlock, 6,i: 1,783,286 msg/sec pthread_spinlock, 7,s: 1,857,485 msg/sec pthread_spinlock, 7,i: 1,775,650 msg/sec pthread_spinlock, 8,s: 1,083,952 msg/sec pthread_spinlock, 8,i: 1,114,387 msg/sec pthread_spinlock, 9,s: 718,604 msg/sec pthread_spinlock, 9,i: 865,503 msg/sec pthread_spinlock,10,s: 552,024 msg/sec pthread_spinlock,10,i: 525,232 msg/sec pthread_spinlock,11,s: 563,132 msg/sec pthread_spinlock,11,i: 604,433 msg/sec pthread_spinlock,12,s: 662,121 msg/sec pthread_spinlock,12,i: 802,480 msg/sec pthread_spinlock,13,s: 664,135 msg/sec pthread_spinlock,13,i: 528,944 msg/sec pthread_spinlock,14,s: 542,678 msg/sec pthread_spinlock,14,i: 601,784 msg/sec std::mutex, 1,s: 5,423,211 msg/sec std::mutex, 1,i: 5,475,021 msg/sec std::mutex, 2,s: 4,398,868 msg/sec std::mutex, 2,i: 4,443,413 msg/sec std::mutex, 3,s: 3,156,199 msg/sec std::mutex, 3,i: 3,018,228 msg/sec std::mutex, 4,s: 2,963,753 msg/sec std::mutex, 4,i: 2,890,066 msg/sec std::mutex, 5,s: 3,535,360 msg/sec std::mutex, 5,i: 3,645,702 msg/sec std::mutex, 6,s: 4,527,970 msg/sec std::mutex, 6,i: 4,583,745 msg/sec std::mutex, 7,s: 6,082,360 msg/sec std::mutex, 7,i: 6,073,297 msg/sec std::mutex, 8,s: 6,881,616 msg/sec std::mutex, 8,i: 5,413,460 msg/sec std::mutex, 9,s: 6,197,944 msg/sec std::mutex, 9,i: 5,194,542 msg/sec std::mutex,10,s: 5,740,342 msg/sec std::mutex,10,i: 4,935,549 msg/sec std::mutex,11,s: 5,658,522 msg/sec std::mutex,11,i: 4,898,720 msg/sec std::mutex,12,s: 5,145,376 msg/sec std::mutex,12,i: 4,932,274 msg/sec std::mutex,13,s: 5,108,770 msg/sec std::mutex,13,i: 5,136,548 msg/sec std::mutex,14,s: 4,999,445 msg/sec std::mutex,14,i: 5,156,917 msg/sec tbb::spin_mutex, 1,s: 22,124,446 msg/sec tbb::spin_mutex, 1,i: 22,509,157 msg/sec tbb::spin_mutex, 2,s: 12,579,370 msg/sec tbb::spin_mutex, 2,i: 13,721,521 msg/sec tbb::spin_mutex, 3,s: 9,035,005 msg/sec tbb::spin_mutex, 3,i: 9,242,309 msg/sec tbb::spin_mutex, 4,s: 6,875,699 msg/sec tbb::spin_mutex, 4,i: 6,870,150 msg/sec tbb::spin_mutex, 5,s: 4,656,400 msg/sec tbb::spin_mutex, 5,i: 4,844,211 msg/sec tbb::spin_mutex, 6,s: 2,738,113 msg/sec tbb::spin_mutex, 6,i: 3,834,769 msg/sec tbb::spin_mutex, 7,s: 2,328,744 msg/sec tbb::spin_mutex, 7,i: 2,568,648 msg/sec tbb::spin_mutex, 8,s: 1,471,223 msg/sec tbb::spin_mutex, 8,i: 1,494,801 msg/sec tbb::spin_mutex, 9,s: 664,685 msg/sec tbb::spin_mutex, 9,i: 1,057,760 msg/sec tbb::spin_mutex,10,s: 594,685 msg/sec tbb::spin_mutex,10,i: 743,530 msg/sec tbb::spin_mutex,11,s: 455,753 msg/sec tbb::spin_mutex,11,i: 668,178 msg/sec tbb::spin_mutex,12,s: 449,066 msg/sec tbb::spin_mutex,12,i: 574,121 msg/sec tbb::spin_mutex,13,s: 398,369 msg/sec tbb::spin_mutex,13,i: 540,191 msg/sec tbb::spin_mutex,14,s: 373,862 msg/sec tbb::spin_mutex,14,i: 483,012 msg/sec tbb::concurrent_bounded_queue, 1,s: 4,625,402 msg/sec tbb::concurrent_bounded_queue, 1,i: 4,945,259 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,561,474 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,627,292 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,391,484 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,360,873 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,634,155 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,466,978 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,093,959 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,341,203 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,890,687 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,072,604 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,518,002 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,770,486 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,170,824 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,213,841 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,110,542 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,536,238 msg/sec tbb::concurrent_bounded_queue,10,s: 1,097,415 msg/sec tbb::concurrent_bounded_queue,10,i: 1,766,164 msg/sec tbb::concurrent_bounded_queue,11,s: 976,978 msg/sec tbb::concurrent_bounded_queue,11,i: 1,302,715 msg/sec tbb::concurrent_bounded_queue,12,s: 1,066,708 msg/sec tbb::concurrent_bounded_queue,12,i: 1,310,784 msg/sec tbb::concurrent_bounded_queue,13,s: 1,105,613 msg/sec tbb::concurrent_bounded_queue,13,i: 1,114,071 msg/sec tbb::concurrent_bounded_queue,14,s: 966,229 msg/sec tbb::concurrent_bounded_queue,14,i: 1,090,624 msg/sec xenium::michael_scott_queue, 1,s: 2,130,252 msg/sec xenium::michael_scott_queue, 1,i: 3,708,185 msg/sec xenium::michael_scott_queue, 2,s: 2,968,433 msg/sec xenium::michael_scott_queue, 2,i: 2,738,697 msg/sec xenium::michael_scott_queue, 3,s: 2,212,866 msg/sec xenium::michael_scott_queue, 3,i: 2,413,791 msg/sec xenium::michael_scott_queue, 4,s: 2,062,901 msg/sec xenium::michael_scott_queue, 4,i: 2,363,494 msg/sec xenium::michael_scott_queue, 5,s: 1,950,486 msg/sec xenium::michael_scott_queue, 5,i: 1,872,119 msg/sec xenium::michael_scott_queue, 6,s: 1,784,446 msg/sec xenium::michael_scott_queue, 6,i: 1,759,967 msg/sec xenium::michael_scott_queue, 7,s: 1,605,662 msg/sec xenium::michael_scott_queue, 7,i: 1,834,610 msg/sec xenium::michael_scott_queue, 8,s: 1,040,829 msg/sec xenium::michael_scott_queue, 8,i: 1,563,782 msg/sec xenium::michael_scott_queue, 9,s: 506,385 msg/sec xenium::michael_scott_queue, 9,i: 1,097,743 msg/sec xenium::michael_scott_queue,10,s: 834,565 msg/sec xenium::michael_scott_queue,10,i: 1,008,442 msg/sec xenium::michael_scott_queue,11,s: 517,988 msg/sec xenium::michael_scott_queue,11,i: 1,013,622 msg/sec xenium::michael_scott_queue,12,s: 503,564 msg/sec xenium::michael_scott_queue,12,i: 506,457 msg/sec xenium::michael_scott_queue,13,s: 501,549 msg/sec xenium::michael_scott_queue,13,i: 503,608 msg/sec xenium::michael_scott_queue,14,s: 534,481 msg/sec xenium::michael_scott_queue,14,i: 505,077 msg/sec xenium::ramalhete_queue, 1,s: 10,471,180 msg/sec xenium::ramalhete_queue, 1,i: 15,816,592 msg/sec xenium::ramalhete_queue, 2,s: 5,146,448 msg/sec xenium::ramalhete_queue, 2,i: 6,663,396 msg/sec xenium::ramalhete_queue, 3,s: 6,337,955 msg/sec xenium::ramalhete_queue, 3,i: 7,026,653 msg/sec xenium::ramalhete_queue, 4,s: 7,693,951 msg/sec xenium::ramalhete_queue, 4,i: 8,010,501 msg/sec xenium::ramalhete_queue, 5,s: 7,834,732 msg/sec xenium::ramalhete_queue, 5,i: 8,247,778 msg/sec xenium::ramalhete_queue, 6,s: 8,071,074 msg/sec xenium::ramalhete_queue, 6,i: 8,480,199 msg/sec xenium::ramalhete_queue, 7,s: 10,238,170 msg/sec xenium::ramalhete_queue, 7,i: 8,544,198 msg/sec xenium::ramalhete_queue, 8,s: 7,496,467 msg/sec xenium::ramalhete_queue, 8,i: 8,804,230 msg/sec xenium::ramalhete_queue, 9,s: 7,981,182 msg/sec xenium::ramalhete_queue, 9,i: 8,277,377 msg/sec xenium::ramalhete_queue,10,s: 8,198,135 msg/sec xenium::ramalhete_queue,10,i: 8,294,817 msg/sec xenium::ramalhete_queue,11,s: 8,460,119 msg/sec xenium::ramalhete_queue,11,i: 8,359,714 msg/sec xenium::ramalhete_queue,12,s: 7,847,622 msg/sec xenium::ramalhete_queue,12,i: 8,402,125 msg/sec xenium::ramalhete_queue,13,s: 9,190,883 msg/sec xenium::ramalhete_queue,13,i: 8,619,266 msg/sec xenium::ramalhete_queue,14,s: 10,693,560 msg/sec xenium::ramalhete_queue,14,i: 8,776,403 msg/sec xenium::vyukov_bounded_queue, 1,s: 31,181,676 msg/sec xenium::vyukov_bounded_queue, 1,i: 55,569,134 msg/sec xenium::vyukov_bounded_queue, 2,s: 8,174,456 msg/sec xenium::vyukov_bounded_queue, 2,i: 8,022,228 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,138,747 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,346,923 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,958,887 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,994,544 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,429,613 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,510,082 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,244,237 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,332,777 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,012,023 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,804,279 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,339,783 msg/sec xenium::vyukov_bounded_queue, 8,i: 1,928,340 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,148,993 msg/sec xenium::vyukov_bounded_queue, 9,i: 2,260,710 msg/sec xenium::vyukov_bounded_queue,10,s: 1,055,576 msg/sec xenium::vyukov_bounded_queue,10,i: 1,443,360 msg/sec xenium::vyukov_bounded_queue,11,s: 1,013,092 msg/sec xenium::vyukov_bounded_queue,11,i: 1,357,132 msg/sec xenium::vyukov_bounded_queue,12,s: 1,047,725 msg/sec xenium::vyukov_bounded_queue,12,i: 1,151,926 msg/sec xenium::vyukov_bounded_queue,13,s: 775,376 msg/sec xenium::vyukov_bounded_queue,13,i: 1,119,460 msg/sec xenium::vyukov_bounded_queue,14,s: 778,502 msg/sec xenium::vyukov_bounded_queue,14,i: 513,811 msg/sec AtomicQueue, 1,s: 11,538,299 msg/sec AtomicQueue, 1,i: 11,503,553 msg/sec AtomicQueue, 2,s: 3,068,305 msg/sec AtomicQueue, 2,i: 3,446,812 msg/sec AtomicQueue, 3,s: 2,658,040 msg/sec AtomicQueue, 3,i: 3,208,496 msg/sec AtomicQueue, 4,s: 2,459,497 msg/sec AtomicQueue, 4,i: 2,679,893 msg/sec AtomicQueue, 5,s: 2,208,084 msg/sec AtomicQueue, 5,i: 2,286,263 msg/sec AtomicQueue, 6,s: 1,977,600 msg/sec AtomicQueue, 6,i: 1,809,028 msg/sec AtomicQueue, 7,s: 1,676,954 msg/sec AtomicQueue, 7,i: 1,794,249 msg/sec AtomicQueue, 8,s: 690,881 msg/sec AtomicQueue, 8,i: 1,719,787 msg/sec AtomicQueue, 9,s: 525,101 msg/sec AtomicQueue, 9,i: 1,417,208 msg/sec AtomicQueue,10,s: 536,720 msg/sec AtomicQueue,10,i: 1,313,193 msg/sec AtomicQueue,11,s: 499,992 msg/sec AtomicQueue,11,i: 1,161,331 msg/sec AtomicQueue,12,s: 731,260 msg/sec AtomicQueue,12,i: 988,546 msg/sec AtomicQueue,13,s: 475,966 msg/sec AtomicQueue,13,i: 552,079 msg/sec AtomicQueue,14,s: 564,603 msg/sec AtomicQueue,14,i: 533,583 msg/sec AtomicQueueB, 1,s: 11,794,316 msg/sec AtomicQueueB, 1,i: 12,011,849 msg/sec AtomicQueueB, 2,s: 3,915,002 msg/sec AtomicQueueB, 2,i: 3,983,828 msg/sec AtomicQueueB, 3,s: 2,482,518 msg/sec AtomicQueueB, 3,i: 2,680,303 msg/sec AtomicQueueB, 4,s: 2,194,149 msg/sec AtomicQueueB, 4,i: 2,425,708 msg/sec AtomicQueueB, 5,s: 2,313,330 msg/sec AtomicQueueB, 5,i: 2,188,582 msg/sec AtomicQueueB, 6,s: 1,916,767 msg/sec AtomicQueueB, 6,i: 1,947,684 msg/sec AtomicQueueB, 7,s: 2,042,370 msg/sec AtomicQueueB, 7,i: 1,867,433 msg/sec AtomicQueueB, 8,s: 514,319 msg/sec AtomicQueueB, 8,i: 1,547,636 msg/sec AtomicQueueB, 9,s: 708,632 msg/sec AtomicQueueB, 9,i: 1,345,892 msg/sec AtomicQueueB,10,s: 759,557 msg/sec AtomicQueueB,10,i: 1,438,676 msg/sec AtomicQueueB,11,s: 580,311 msg/sec AtomicQueueB,11,i: 1,243,899 msg/sec AtomicQueueB,12,s: 487,609 msg/sec AtomicQueueB,12,i: 1,062,146 msg/sec AtomicQueueB,13,s: 545,791 msg/sec AtomicQueueB,13,i: 587,627 msg/sec AtomicQueueB,14,s: 511,501 msg/sec AtomicQueueB,14,i: 531,003 msg/sec OptimistAtomicQueue, 1,s: 211,221,310 msg/sec OptimistAtomicQueue, 1,i: 201,352,437 msg/sec OptimistAtomicQueue, 2,s: 7,944,810 msg/sec OptimistAtomicQueue, 2,i: 7,236,313 msg/sec OptimistAtomicQueue, 3,s: 10,506,830 msg/sec OptimistAtomicQueue, 3,i: 12,437,428 msg/sec OptimistAtomicQueue, 4,s: 11,337,516 msg/sec OptimistAtomicQueue, 4,i: 12,506,849 msg/sec OptimistAtomicQueue, 5,s: 13,119,928 msg/sec OptimistAtomicQueue, 5,i: 13,285,611 msg/sec OptimistAtomicQueue, 6,s: 12,343,719 msg/sec OptimistAtomicQueue, 6,i: 12,094,177 msg/sec OptimistAtomicQueue, 7,s: 13,301,484 msg/sec OptimistAtomicQueue, 7,i: 13,984,183 msg/sec OptimistAtomicQueue, 8,s: 9,360,883 msg/sec OptimistAtomicQueue, 8,i: 11,813,916 msg/sec OptimistAtomicQueue, 9,s: 8,256,166 msg/sec OptimistAtomicQueue, 9,i: 9,805,021 msg/sec OptimistAtomicQueue,10,s: 7,925,387 msg/sec OptimistAtomicQueue,10,i: 10,083,143 msg/sec OptimistAtomicQueue,11,s: 7,910,023 msg/sec OptimistAtomicQueue,11,i: 9,655,162 msg/sec OptimistAtomicQueue,12,s: 7,971,207 msg/sec OptimistAtomicQueue,12,i: 10,518,185 msg/sec OptimistAtomicQueue,13,s: 8,157,427 msg/sec OptimistAtomicQueue,13,i: 10,629,061 msg/sec OptimistAtomicQueue,14,s: 8,274,523 msg/sec OptimistAtomicQueue,14,i: 10,590,815 msg/sec OptimistAtomicQueueB, 1,s: 53,318,349 msg/sec OptimistAtomicQueueB, 1,i: 29,181,724 msg/sec OptimistAtomicQueueB, 2,s: 11,216,683 msg/sec OptimistAtomicQueueB, 2,i: 11,964,658 msg/sec OptimistAtomicQueueB, 3,s: 13,652,568 msg/sec OptimistAtomicQueueB, 3,i: 13,834,992 msg/sec OptimistAtomicQueueB, 4,s: 13,297,777 msg/sec OptimistAtomicQueueB, 4,i: 12,607,251 msg/sec OptimistAtomicQueueB, 5,s: 12,893,045 msg/sec OptimistAtomicQueueB, 5,i: 13,291,366 msg/sec OptimistAtomicQueueB, 6,s: 13,558,901 msg/sec OptimistAtomicQueueB, 6,i: 14,096,151 msg/sec OptimistAtomicQueueB, 7,s: 13,984,920 msg/sec OptimistAtomicQueueB, 7,i: 13,757,875 msg/sec OptimistAtomicQueueB, 8,s: 9,512,512 msg/sec OptimistAtomicQueueB, 8,i: 9,502,769 msg/sec OptimistAtomicQueueB, 9,s: 8,155,537 msg/sec OptimistAtomicQueueB, 9,i: 9,817,677 msg/sec OptimistAtomicQueueB,10,s: 8,108,319 msg/sec OptimistAtomicQueueB,10,i: 11,483,247 msg/sec OptimistAtomicQueueB,11,s: 8,009,596 msg/sec OptimistAtomicQueueB,11,i: 10,141,035 msg/sec OptimistAtomicQueueB,12,s: 7,883,362 msg/sec OptimistAtomicQueueB,12,i: 10,174,156 msg/sec OptimistAtomicQueueB,13,s: 8,051,300 msg/sec OptimistAtomicQueueB,13,i: 10,447,190 msg/sec OptimistAtomicQueueB,14,s: 8,215,872 msg/sec OptimistAtomicQueueB,14,i: 9,918,327 msg/sec AtomicQueue2, 1,s: 8,292,833 msg/sec AtomicQueue2, 1,i: 8,293,588 msg/sec AtomicQueue2, 2,s: 4,083,953 msg/sec AtomicQueue2, 2,i: 4,007,011 msg/sec AtomicQueue2, 3,s: 3,010,272 msg/sec AtomicQueue2, 3,i: 3,203,355 msg/sec AtomicQueue2, 4,s: 2,374,694 msg/sec AtomicQueue2, 4,i: 2,518,376 msg/sec AtomicQueue2, 5,s: 2,204,611 msg/sec AtomicQueue2, 5,i: 2,473,517 msg/sec AtomicQueue2, 6,s: 1,700,174 msg/sec AtomicQueue2, 6,i: 1,817,433 msg/sec AtomicQueue2, 7,s: 1,788,412 msg/sec AtomicQueue2, 7,i: 1,845,211 msg/sec AtomicQueue2, 8,s: 499,917 msg/sec AtomicQueue2, 8,i: 1,631,379 msg/sec AtomicQueue2, 9,s: 492,465 msg/sec AtomicQueue2, 9,i: 1,464,158 msg/sec AtomicQueue2,10,s: 546,886 msg/sec AtomicQueue2,10,i: 1,348,459 msg/sec AtomicQueue2,11,s: 687,095 msg/sec AtomicQueue2,11,i: 665,773 msg/sec AtomicQueue2,12,s: 503,023 msg/sec AtomicQueue2,12,i: 871,658 msg/sec AtomicQueue2,13,s: 524,404 msg/sec AtomicQueue2,13,i: 551,968 msg/sec AtomicQueue2,14,s: 510,259 msg/sec AtomicQueue2,14,i: 535,627 msg/sec AtomicQueueB2, 1,s: 11,950,033 msg/sec AtomicQueueB2, 1,i: 12,048,587 msg/sec AtomicQueueB2, 2,s: 3,018,588 msg/sec AtomicQueueB2, 2,i: 3,527,997 msg/sec AtomicQueueB2, 3,s: 2,491,570 msg/sec AtomicQueueB2, 3,i: 2,691,385 msg/sec AtomicQueueB2, 4,s: 2,382,561 msg/sec AtomicQueueB2, 4,i: 2,239,499 msg/sec AtomicQueueB2, 5,s: 2,153,045 msg/sec AtomicQueueB2, 5,i: 2,136,934 msg/sec AtomicQueueB2, 6,s: 1,863,644 msg/sec AtomicQueueB2, 6,i: 1,842,315 msg/sec AtomicQueueB2, 7,s: 1,739,676 msg/sec AtomicQueueB2, 7,i: 1,672,255 msg/sec AtomicQueueB2, 8,s: 543,412 msg/sec AtomicQueueB2, 8,i: 1,433,657 msg/sec AtomicQueueB2, 9,s: 507,932 msg/sec AtomicQueueB2, 9,i: 1,397,373 msg/sec AtomicQueueB2,10,s: 714,242 msg/sec AtomicQueueB2,10,i: 1,511,963 msg/sec AtomicQueueB2,11,s: 645,484 msg/sec AtomicQueueB2,11,i: 1,150,601 msg/sec AtomicQueueB2,12,s: 541,826 msg/sec AtomicQueueB2,12,i: 528,958 msg/sec AtomicQueueB2,13,s: 587,604 msg/sec AtomicQueueB2,13,i: 577,041 msg/sec AtomicQueueB2,14,s: 554,992 msg/sec AtomicQueueB2,14,i: 532,449 msg/sec OptimistAtomicQueue2, 1,s: 72,862,807 msg/sec OptimistAtomicQueue2, 1,i: 108,313,232 msg/sec OptimistAtomicQueue2, 2,s: 9,587,841 msg/sec OptimistAtomicQueue2, 2,i: 9,697,529 msg/sec OptimistAtomicQueue2, 3,s: 10,780,088 msg/sec OptimistAtomicQueue2, 3,i: 12,196,067 msg/sec OptimistAtomicQueue2, 4,s: 11,981,194 msg/sec OptimistAtomicQueue2, 4,i: 12,459,180 msg/sec OptimistAtomicQueue2, 5,s: 11,916,362 msg/sec OptimistAtomicQueue2, 5,i: 10,582,492 msg/sec OptimistAtomicQueue2, 6,s: 8,751,017 msg/sec OptimistAtomicQueue2, 6,i: 9,056,223 msg/sec OptimistAtomicQueue2, 7,s: 12,320,845 msg/sec OptimistAtomicQueue2, 7,i: 13,337,629 msg/sec OptimistAtomicQueue2, 8,s: 9,013,551 msg/sec OptimistAtomicQueue2, 8,i: 8,755,074 msg/sec OptimistAtomicQueue2, 9,s: 8,034,976 msg/sec OptimistAtomicQueue2, 9,i: 9,053,912 msg/sec OptimistAtomicQueue2,10,s: 7,583,100 msg/sec OptimistAtomicQueue2,10,i: 9,487,463 msg/sec OptimistAtomicQueue2,11,s: 7,555,602 msg/sec OptimistAtomicQueue2,11,i: 9,554,002 msg/sec OptimistAtomicQueue2,12,s: 7,712,612 msg/sec OptimistAtomicQueue2,12,i: 9,713,595 msg/sec OptimistAtomicQueue2,13,s: 7,844,492 msg/sec OptimistAtomicQueue2,13,i: 9,704,574 msg/sec OptimistAtomicQueue2,14,s: 8,207,751 msg/sec OptimistAtomicQueue2,14,i: 10,400,042 msg/sec OptimistAtomicQueueB2, 1,s: 23,616,442 msg/sec OptimistAtomicQueueB2, 1,i: 22,676,149 msg/sec OptimistAtomicQueueB2, 2,s: 8,087,721 msg/sec OptimistAtomicQueueB2, 2,i: 6,652,799 msg/sec OptimistAtomicQueueB2, 3,s: 12,071,728 msg/sec OptimistAtomicQueueB2, 3,i: 12,252,306 msg/sec OptimistAtomicQueueB2, 4,s: 10,654,970 msg/sec OptimistAtomicQueueB2, 4,i: 12,287,750 msg/sec OptimistAtomicQueueB2, 5,s: 11,607,119 msg/sec OptimistAtomicQueueB2, 5,i: 11,332,422 msg/sec OptimistAtomicQueueB2, 6,s: 12,109,343 msg/sec OptimistAtomicQueueB2, 6,i: 12,612,070 msg/sec OptimistAtomicQueueB2, 7,s: 12,488,255 msg/sec OptimistAtomicQueueB2, 7,i: 12,815,360 msg/sec OptimistAtomicQueueB2, 8,s: 8,236,632 msg/sec OptimistAtomicQueueB2, 8,i: 10,461,565 msg/sec OptimistAtomicQueueB2, 9,s: 7,453,924 msg/sec OptimistAtomicQueueB2, 9,i: 8,467,337 msg/sec OptimistAtomicQueueB2,10,s: 7,352,487 msg/sec OptimistAtomicQueueB2,10,i: 9,088,858 msg/sec OptimistAtomicQueueB2,11,s: 7,327,304 msg/sec OptimistAtomicQueueB2,11,i: 9,605,957 msg/sec OptimistAtomicQueueB2,12,s: 7,422,993 msg/sec OptimistAtomicQueueB2,12,i: 9,793,160 msg/sec OptimistAtomicQueueB2,13,s: 7,578,687 msg/sec OptimistAtomicQueueB2,13,i: 9,982,572 msg/sec OptimistAtomicQueueB2,14,s: 7,919,705 msg/sec OptimistAtomicQueueB2,14,i: 9,949,282 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000299 sec/round-trip boost::lockfree::queue: 0.000000757 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000208 sec/round-trip moodycamel::ConcurrentQueue: 0.000000449 sec/round-trip pthread_spinlock: 0.000000886 sec/round-trip std::mutex: 0.000002295 sec/round-trip tbb::spin_mutex: 0.000000681 sec/round-trip tbb::concurrent_bounded_queue: 0.000000628 sec/round-trip xenium::michael_scott_queue: 0.000000811 sec/round-trip xenium::ramalhete_queue: 0.000000522 sec/round-trip xenium::vyukov_bounded_queue: 0.000000468 sec/round-trip AtomicQueue: 0.000000293 sec/round-trip AtomicQueueB: 0.000000399 sec/round-trip OptimistAtomicQueue: 0.000000325 sec/round-trip OptimistAtomicQueueB: 0.000000341 sec/round-trip AtomicQueue2: 0.000000358 sec/round-trip AtomicQueueB2: 0.000000410 sec/round-trip OptimistAtomicQueue2: 0.000000381 sec/round-trip OptimistAtomicQueueB2: 0.000000359 sec/round-trip [13/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 27,125,620 msg/sec boost::lockfree::spsc_queue, 1,i: 27,288,425 msg/sec boost::lockfree::queue, 1,s: 3,126,278 msg/sec boost::lockfree::queue, 1,i: 3,175,941 msg/sec boost::lockfree::queue, 2,s: 2,262,945 msg/sec boost::lockfree::queue, 2,i: 2,488,359 msg/sec boost::lockfree::queue, 3,s: 2,389,677 msg/sec boost::lockfree::queue, 3,i: 2,243,356 msg/sec boost::lockfree::queue, 4,s: 2,014,424 msg/sec boost::lockfree::queue, 4,i: 2,035,265 msg/sec boost::lockfree::queue, 5,s: 2,072,822 msg/sec boost::lockfree::queue, 5,i: 1,977,864 msg/sec boost::lockfree::queue, 6,s: 1,969,746 msg/sec boost::lockfree::queue, 6,i: 2,150,946 msg/sec boost::lockfree::queue, 7,s: 2,036,673 msg/sec boost::lockfree::queue, 7,i: 2,073,053 msg/sec boost::lockfree::queue, 8,s: 524,106 msg/sec boost::lockfree::queue, 8,i: 1,196,101 msg/sec boost::lockfree::queue, 9,s: 681,188 msg/sec boost::lockfree::queue, 9,i: 506,854 msg/sec boost::lockfree::queue,10,s: 525,124 msg/sec boost::lockfree::queue,10,i: 846,521 msg/sec boost::lockfree::queue,11,s: 529,227 msg/sec boost::lockfree::queue,11,i: 528,747 msg/sec boost::lockfree::queue,12,s: 542,322 msg/sec boost::lockfree::queue,12,i: 506,827 msg/sec boost::lockfree::queue,13,s: 512,347 msg/sec boost::lockfree::queue,13,i: 535,974 msg/sec boost::lockfree::queue,14,s: 509,291 msg/sec boost::lockfree::queue,14,i: 532,771 msg/sec moodycamel::ReaderWriterQueue, 1,s: 191,367,753 msg/sec moodycamel::ReaderWriterQueue, 1,i: 190,386,673 msg/sec moodycamel::ConcurrentQueue, 1,s: 6,196,786 msg/sec moodycamel::ConcurrentQueue, 1,i: 7,129,497 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,364,026 msg/sec moodycamel::ConcurrentQueue, 2,i: 6,079,987 msg/sec moodycamel::ConcurrentQueue, 3,s: 6,586,041 msg/sec moodycamel::ConcurrentQueue, 3,i: 18,242,902 msg/sec moodycamel::ConcurrentQueue, 4,s: 10,819,956 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,295,042 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,626,098 msg/sec moodycamel::ConcurrentQueue, 5,i: 5,927,404 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,452,321 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,548,009 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,247,466 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,943,194 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,391,590 msg/sec moodycamel::ConcurrentQueue, 8,i: 6,058,188 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,532,049 msg/sec moodycamel::ConcurrentQueue, 9,i: 13,338,991 msg/sec moodycamel::ConcurrentQueue,10,s: 5,570,738 msg/sec moodycamel::ConcurrentQueue,10,i: 5,664,935 msg/sec moodycamel::ConcurrentQueue,11,s: 5,167,817 msg/sec moodycamel::ConcurrentQueue,11,i: 5,110,502 msg/sec moodycamel::ConcurrentQueue,12,s: 4,902,237 msg/sec moodycamel::ConcurrentQueue,12,i: 5,252,863 msg/sec moodycamel::ConcurrentQueue,13,s: 5,204,695 msg/sec moodycamel::ConcurrentQueue,13,i: 5,510,725 msg/sec moodycamel::ConcurrentQueue,14,s: 32,018,554 msg/sec moodycamel::ConcurrentQueue,14,i: 4,946,177 msg/sec pthread_spinlock, 1,s: 6,452,856 msg/sec pthread_spinlock, 1,i: 5,995,329 msg/sec pthread_spinlock, 2,s: 3,472,385 msg/sec pthread_spinlock, 2,i: 4,186,118 msg/sec pthread_spinlock, 3,s: 3,614,912 msg/sec pthread_spinlock, 3,i: 2,921,119 msg/sec pthread_spinlock, 4,s: 2,758,770 msg/sec pthread_spinlock, 4,i: 2,834,329 msg/sec pthread_spinlock, 5,s: 2,164,011 msg/sec pthread_spinlock, 5,i: 2,192,418 msg/sec pthread_spinlock, 6,s: 2,012,016 msg/sec pthread_spinlock, 6,i: 1,995,825 msg/sec pthread_spinlock, 7,s: 1,891,648 msg/sec pthread_spinlock, 7,i: 1,886,081 msg/sec pthread_spinlock, 8,s: 1,106,857 msg/sec pthread_spinlock, 8,i: 1,010,433 msg/sec pthread_spinlock, 9,s: 1,006,843 msg/sec pthread_spinlock, 9,i: 510,927 msg/sec pthread_spinlock,10,s: 544,061 msg/sec pthread_spinlock,10,i: 946,634 msg/sec pthread_spinlock,11,s: 858,980 msg/sec pthread_spinlock,11,i: 553,755 msg/sec pthread_spinlock,12,s: 525,473 msg/sec pthread_spinlock,12,i: 526,805 msg/sec pthread_spinlock,13,s: 509,215 msg/sec pthread_spinlock,13,i: 531,289 msg/sec pthread_spinlock,14,s: 531,707 msg/sec pthread_spinlock,14,i: 541,045 msg/sec std::mutex, 1,s: 4,828,823 msg/sec std::mutex, 1,i: 6,167,018 msg/sec std::mutex, 2,s: 4,352,160 msg/sec std::mutex, 2,i: 4,258,412 msg/sec std::mutex, 3,s: 2,646,132 msg/sec std::mutex, 3,i: 2,909,826 msg/sec std::mutex, 4,s: 2,696,218 msg/sec std::mutex, 4,i: 2,900,790 msg/sec std::mutex, 5,s: 3,471,474 msg/sec std::mutex, 5,i: 3,580,302 msg/sec std::mutex, 6,s: 4,423,066 msg/sec std::mutex, 6,i: 4,572,508 msg/sec std::mutex, 7,s: 5,894,870 msg/sec std::mutex, 7,i: 5,903,403 msg/sec std::mutex, 8,s: 6,885,025 msg/sec std::mutex, 8,i: 6,341,226 msg/sec std::mutex, 9,s: 6,334,856 msg/sec std::mutex, 9,i: 4,852,072 msg/sec std::mutex,10,s: 6,217,216 msg/sec std::mutex,10,i: 4,625,254 msg/sec std::mutex,11,s: 6,131,742 msg/sec std::mutex,11,i: 4,783,183 msg/sec std::mutex,12,s: 6,368,239 msg/sec std::mutex,12,i: 5,015,426 msg/sec std::mutex,13,s: 6,501,735 msg/sec std::mutex,13,i: 5,020,321 msg/sec std::mutex,14,s: 6,608,240 msg/sec std::mutex,14,i: 5,116,409 msg/sec tbb::spin_mutex, 1,s: 23,479,166 msg/sec tbb::spin_mutex, 1,i: 23,387,194 msg/sec tbb::spin_mutex, 2,s: 14,269,360 msg/sec tbb::spin_mutex, 2,i: 10,774,928 msg/sec tbb::spin_mutex, 3,s: 8,057,450 msg/sec tbb::spin_mutex, 3,i: 6,548,025 msg/sec tbb::spin_mutex, 4,s: 6,909,159 msg/sec tbb::spin_mutex, 4,i: 6,769,239 msg/sec tbb::spin_mutex, 5,s: 3,851,401 msg/sec tbb::spin_mutex, 5,i: 4,664,839 msg/sec tbb::spin_mutex, 6,s: 4,014,101 msg/sec tbb::spin_mutex, 6,i: 2,323,032 msg/sec tbb::spin_mutex, 7,s: 1,902,813 msg/sec tbb::spin_mutex, 7,i: 2,394,524 msg/sec tbb::spin_mutex, 8,s: 1,139,089 msg/sec tbb::spin_mutex, 8,i: 888,151 msg/sec tbb::spin_mutex, 9,s: 824,153 msg/sec tbb::spin_mutex, 9,i: 745,726 msg/sec tbb::spin_mutex,10,s: 646,883 msg/sec tbb::spin_mutex,10,i: 787,587 msg/sec tbb::spin_mutex,11,s: 533,642 msg/sec tbb::spin_mutex,11,i: 733,679 msg/sec tbb::spin_mutex,12,s: 385,979 msg/sec tbb::spin_mutex,12,i: 583,313 msg/sec tbb::spin_mutex,13,s: 486,536 msg/sec tbb::spin_mutex,13,i: 582,230 msg/sec tbb::spin_mutex,14,s: 343,378 msg/sec tbb::spin_mutex,14,i: 476,260 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,765,544 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,759,800 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,267,151 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,101,901 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,041,453 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,179,266 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,651,012 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,539,775 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,134,459 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,223,079 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,819,786 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,842,340 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,458,730 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,614,805 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,292,391 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,571,328 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,238,817 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,395,874 msg/sec tbb::concurrent_bounded_queue,10,s: 1,184,761 msg/sec tbb::concurrent_bounded_queue,10,i: 1,361,923 msg/sec tbb::concurrent_bounded_queue,11,s: 1,227,539 msg/sec tbb::concurrent_bounded_queue,11,i: 1,241,578 msg/sec tbb::concurrent_bounded_queue,12,s: 1,331,404 msg/sec tbb::concurrent_bounded_queue,12,i: 1,280,445 msg/sec tbb::concurrent_bounded_queue,13,s: 1,246,429 msg/sec tbb::concurrent_bounded_queue,13,i: 1,186,415 msg/sec tbb::concurrent_bounded_queue,14,s: 1,019,993 msg/sec tbb::concurrent_bounded_queue,14,i: 1,038,376 msg/sec xenium::michael_scott_queue, 1,s: 3,514,528 msg/sec xenium::michael_scott_queue, 1,i: 3,732,630 msg/sec xenium::michael_scott_queue, 2,s: 2,283,947 msg/sec xenium::michael_scott_queue, 2,i: 3,178,463 msg/sec xenium::michael_scott_queue, 3,s: 2,197,277 msg/sec xenium::michael_scott_queue, 3,i: 2,285,512 msg/sec xenium::michael_scott_queue, 4,s: 2,033,896 msg/sec xenium::michael_scott_queue, 4,i: 2,042,324 msg/sec xenium::michael_scott_queue, 5,s: 1,754,071 msg/sec xenium::michael_scott_queue, 5,i: 1,942,967 msg/sec xenium::michael_scott_queue, 6,s: 1,818,145 msg/sec xenium::michael_scott_queue, 6,i: 1,811,472 msg/sec xenium::michael_scott_queue, 7,s: 1,524,719 msg/sec xenium::michael_scott_queue, 7,i: 1,712,936 msg/sec xenium::michael_scott_queue, 8,s: 1,152,844 msg/sec xenium::michael_scott_queue, 8,i: 1,237,570 msg/sec xenium::michael_scott_queue, 9,s: 863,523 msg/sec xenium::michael_scott_queue, 9,i: 504,826 msg/sec xenium::michael_scott_queue,10,s: 503,875 msg/sec xenium::michael_scott_queue,10,i: 503,621 msg/sec xenium::michael_scott_queue,11,s: 494,006 msg/sec xenium::michael_scott_queue,11,i: 526,066 msg/sec xenium::michael_scott_queue,12,s: 504,588 msg/sec xenium::michael_scott_queue,12,i: 505,119 msg/sec xenium::michael_scott_queue,13,s: 497,397 msg/sec xenium::michael_scott_queue,13,i: 743,136 msg/sec xenium::michael_scott_queue,14,s: 562,314 msg/sec xenium::michael_scott_queue,14,i: 501,838 msg/sec xenium::ramalhete_queue, 1,s: 12,432,930 msg/sec xenium::ramalhete_queue, 1,i: 16,121,406 msg/sec xenium::ramalhete_queue, 2,s: 6,352,812 msg/sec xenium::ramalhete_queue, 2,i: 6,106,418 msg/sec xenium::ramalhete_queue, 3,s: 5,918,666 msg/sec xenium::ramalhete_queue, 3,i: 7,106,591 msg/sec xenium::ramalhete_queue, 4,s: 7,884,428 msg/sec xenium::ramalhete_queue, 4,i: 7,668,398 msg/sec xenium::ramalhete_queue, 5,s: 7,792,252 msg/sec xenium::ramalhete_queue, 5,i: 8,401,600 msg/sec xenium::ramalhete_queue, 6,s: 8,189,478 msg/sec xenium::ramalhete_queue, 6,i: 8,570,729 msg/sec xenium::ramalhete_queue, 7,s: 8,108,225 msg/sec xenium::ramalhete_queue, 7,i: 8,502,050 msg/sec xenium::ramalhete_queue, 8,s: 7,570,571 msg/sec xenium::ramalhete_queue, 8,i: 8,132,227 msg/sec xenium::ramalhete_queue, 9,s: 7,308,191 msg/sec xenium::ramalhete_queue, 9,i: 7,860,345 msg/sec xenium::ramalhete_queue,10,s: 8,485,355 msg/sec xenium::ramalhete_queue,10,i: 8,181,211 msg/sec xenium::ramalhete_queue,11,s: 8,020,834 msg/sec xenium::ramalhete_queue,11,i: 8,521,455 msg/sec xenium::ramalhete_queue,12,s: 7,893,389 msg/sec xenium::ramalhete_queue,12,i: 7,948,937 msg/sec xenium::ramalhete_queue,13,s: 8,997,543 msg/sec xenium::ramalhete_queue,13,i: 8,363,357 msg/sec xenium::ramalhete_queue,14,s: 9,575,723 msg/sec xenium::ramalhete_queue,14,i: 8,530,450 msg/sec xenium::vyukov_bounded_queue, 1,s: 29,633,269 msg/sec xenium::vyukov_bounded_queue, 1,i: 58,918,128 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,139,506 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,595,439 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,453,970 msg/sec xenium::vyukov_bounded_queue, 3,i: 5,064,399 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,777,015 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,069,930 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,553,778 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,643,787 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,339,923 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,376,113 msg/sec xenium::vyukov_bounded_queue, 7,s: 2,970,543 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,903,067 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,339,834 msg/sec xenium::vyukov_bounded_queue, 8,i: 1,514,956 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,320,792 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,664,209 msg/sec xenium::vyukov_bounded_queue,10,s: 1,025,767 msg/sec xenium::vyukov_bounded_queue,10,i: 1,296,930 msg/sec xenium::vyukov_bounded_queue,11,s: 1,168,131 msg/sec xenium::vyukov_bounded_queue,11,i: 1,217,785 msg/sec xenium::vyukov_bounded_queue,12,s: 1,049,093 msg/sec xenium::vyukov_bounded_queue,12,i: 1,206,218 msg/sec xenium::vyukov_bounded_queue,13,s: 1,065,657 msg/sec xenium::vyukov_bounded_queue,13,i: 1,106,158 msg/sec xenium::vyukov_bounded_queue,14,s: 768,352 msg/sec xenium::vyukov_bounded_queue,14,i: 1,090,548 msg/sec AtomicQueue, 1,s: 18,895,022 msg/sec AtomicQueue, 1,i: 9,758,614 msg/sec AtomicQueue, 2,s: 3,253,248 msg/sec AtomicQueue, 2,i: 3,755,980 msg/sec AtomicQueue, 3,s: 2,685,463 msg/sec AtomicQueue, 3,i: 3,258,837 msg/sec AtomicQueue, 4,s: 2,345,988 msg/sec AtomicQueue, 4,i: 2,677,163 msg/sec AtomicQueue, 5,s: 2,362,891 msg/sec AtomicQueue, 5,i: 2,199,871 msg/sec AtomicQueue, 6,s: 1,839,875 msg/sec AtomicQueue, 6,i: 2,022,787 msg/sec AtomicQueue, 7,s: 1,339,017 msg/sec AtomicQueue, 7,i: 1,737,337 msg/sec AtomicQueue, 8,s: 1,212,979 msg/sec AtomicQueue, 8,i: 1,511,623 msg/sec AtomicQueue, 9,s: 1,089,270 msg/sec AtomicQueue, 9,i: 1,200,419 msg/sec AtomicQueue,10,s: 825,695 msg/sec AtomicQueue,10,i: 1,002,791 msg/sec AtomicQueue,11,s: 521,801 msg/sec AtomicQueue,11,i: 516,501 msg/sec AtomicQueue,12,s: 505,413 msg/sec AtomicQueue,12,i: 506,605 msg/sec AtomicQueue,13,s: 516,178 msg/sec AtomicQueue,13,i: 518,138 msg/sec AtomicQueue,14,s: 520,236 msg/sec AtomicQueue,14,i: 520,271 msg/sec AtomicQueueB, 1,s: 15,834,175 msg/sec AtomicQueueB, 1,i: 15,918,548 msg/sec AtomicQueueB, 2,s: 3,388,710 msg/sec AtomicQueueB, 2,i: 4,211,491 msg/sec AtomicQueueB, 3,s: 2,771,417 msg/sec AtomicQueueB, 3,i: 2,710,561 msg/sec AtomicQueueB, 4,s: 2,456,235 msg/sec AtomicQueueB, 4,i: 2,624,740 msg/sec AtomicQueueB, 5,s: 2,129,042 msg/sec AtomicQueueB, 5,i: 2,400,502 msg/sec AtomicQueueB, 6,s: 2,116,201 msg/sec AtomicQueueB, 6,i: 2,045,544 msg/sec AtomicQueueB, 7,s: 1,776,767 msg/sec AtomicQueueB, 7,i: 1,750,322 msg/sec AtomicQueueB, 8,s: 1,260,715 msg/sec AtomicQueueB, 8,i: 1,307,365 msg/sec AtomicQueueB, 9,s: 877,009 msg/sec AtomicQueueB, 9,i: 1,245,506 msg/sec AtomicQueueB,10,s: 732,227 msg/sec AtomicQueueB,10,i: 1,052,969 msg/sec AtomicQueueB,11,s: 504,686 msg/sec AtomicQueueB,11,i: 883,094 msg/sec AtomicQueueB,12,s: 527,075 msg/sec AtomicQueueB,12,i: 516,854 msg/sec AtomicQueueB,13,s: 528,399 msg/sec AtomicQueueB,13,i: 505,782 msg/sec AtomicQueueB,14,s: 507,610 msg/sec AtomicQueueB,14,i: 522,573 msg/sec OptimistAtomicQueue, 1,s: 147,742,063 msg/sec OptimistAtomicQueue, 1,i: 145,413,853 msg/sec OptimistAtomicQueue, 2,s: 7,990,754 msg/sec OptimistAtomicQueue, 2,i: 8,921,861 msg/sec OptimistAtomicQueue, 3,s: 9,475,044 msg/sec OptimistAtomicQueue, 3,i: 11,551,952 msg/sec OptimistAtomicQueue, 4,s: 11,747,028 msg/sec OptimistAtomicQueue, 4,i: 13,413,029 msg/sec OptimistAtomicQueue, 5,s: 13,359,712 msg/sec OptimistAtomicQueue, 5,i: 13,714,880 msg/sec OptimistAtomicQueue, 6,s: 13,815,554 msg/sec OptimistAtomicQueue, 6,i: 13,871,397 msg/sec OptimistAtomicQueue, 7,s: 13,606,785 msg/sec OptimistAtomicQueue, 7,i: 13,894,650 msg/sec OptimistAtomicQueue, 8,s: 10,233,348 msg/sec OptimistAtomicQueue, 8,i: 10,857,789 msg/sec OptimistAtomicQueue, 9,s: 10,519,964 msg/sec OptimistAtomicQueue, 9,i: 10,732,938 msg/sec OptimistAtomicQueue,10,s: 10,569,628 msg/sec OptimistAtomicQueue,10,i: 10,620,710 msg/sec OptimistAtomicQueue,11,s: 10,695,991 msg/sec OptimistAtomicQueue,11,i: 11,087,764 msg/sec OptimistAtomicQueue,12,s: 9,893,719 msg/sec OptimistAtomicQueue,12,i: 11,007,136 msg/sec OptimistAtomicQueue,13,s: 9,203,504 msg/sec OptimistAtomicQueue,13,i: 11,106,821 msg/sec OptimistAtomicQueue,14,s: 8,129,727 msg/sec OptimistAtomicQueue,14,i: 10,921,457 msg/sec OptimistAtomicQueueB, 1,s: 108,772,238 msg/sec OptimistAtomicQueueB, 1,i: 28,837,968 msg/sec OptimistAtomicQueueB, 2,s: 10,912,874 msg/sec OptimistAtomicQueueB, 2,i: 8,745,944 msg/sec OptimistAtomicQueueB, 3,s: 8,737,196 msg/sec OptimistAtomicQueueB, 3,i: 9,539,330 msg/sec OptimistAtomicQueueB, 4,s: 11,295,869 msg/sec OptimistAtomicQueueB, 4,i: 10,854,509 msg/sec OptimistAtomicQueueB, 5,s: 12,840,717 msg/sec OptimistAtomicQueueB, 5,i: 13,077,557 msg/sec OptimistAtomicQueueB, 6,s: 12,741,868 msg/sec OptimistAtomicQueueB, 6,i: 13,624,084 msg/sec OptimistAtomicQueueB, 7,s: 13,760,341 msg/sec OptimistAtomicQueueB, 7,i: 13,972,027 msg/sec OptimistAtomicQueueB, 8,s: 11,034,348 msg/sec OptimistAtomicQueueB, 8,i: 11,259,025 msg/sec OptimistAtomicQueueB, 9,s: 10,520,755 msg/sec OptimistAtomicQueueB, 9,i: 10,171,528 msg/sec OptimistAtomicQueueB,10,s: 10,478,439 msg/sec OptimistAtomicQueueB,10,i: 10,862,938 msg/sec OptimistAtomicQueueB,11,s: 10,653,413 msg/sec OptimistAtomicQueueB,11,i: 11,009,660 msg/sec OptimistAtomicQueueB,12,s: 10,371,184 msg/sec OptimistAtomicQueueB,12,i: 11,403,517 msg/sec OptimistAtomicQueueB,13,s: 9,409,915 msg/sec OptimistAtomicQueueB,13,i: 11,147,663 msg/sec OptimistAtomicQueueB,14,s: 8,529,578 msg/sec OptimistAtomicQueueB,14,i: 11,092,698 msg/sec AtomicQueue2, 1,s: 9,089,461 msg/sec AtomicQueue2, 1,i: 9,100,958 msg/sec AtomicQueue2, 2,s: 3,242,372 msg/sec AtomicQueue2, 2,i: 3,324,963 msg/sec AtomicQueue2, 3,s: 2,441,531 msg/sec AtomicQueue2, 3,i: 2,730,175 msg/sec AtomicQueue2, 4,s: 2,324,194 msg/sec AtomicQueue2, 4,i: 2,483,106 msg/sec AtomicQueue2, 5,s: 2,291,622 msg/sec AtomicQueue2, 5,i: 2,316,183 msg/sec AtomicQueue2, 6,s: 1,946,437 msg/sec AtomicQueue2, 6,i: 1,820,453 msg/sec AtomicQueue2, 7,s: 1,668,311 msg/sec AtomicQueue2, 7,i: 1,683,991 msg/sec AtomicQueue2, 8,s: 1,115,462 msg/sec AtomicQueue2, 8,i: 1,527,134 msg/sec AtomicQueue2, 9,s: 1,131,927 msg/sec AtomicQueue2, 9,i: 1,279,731 msg/sec AtomicQueue2,10,s: 1,054,553 msg/sec AtomicQueue2,10,i: 884,903 msg/sec AtomicQueue2,11,s: 871,428 msg/sec AtomicQueue2,11,i: 504,406 msg/sec AtomicQueue2,12,s: 506,569 msg/sec AtomicQueue2,12,i: 874,915 msg/sec AtomicQueue2,13,s: 516,844 msg/sec AtomicQueue2,13,i: 526,092 msg/sec AtomicQueue2,14,s: 496,011 msg/sec AtomicQueue2,14,i: 825,463 msg/sec AtomicQueueB2, 1,s: 8,075,082 msg/sec AtomicQueueB2, 1,i: 14,202,455 msg/sec AtomicQueueB2, 2,s: 3,629,748 msg/sec AtomicQueueB2, 2,i: 3,189,097 msg/sec AtomicQueueB2, 3,s: 2,570,606 msg/sec AtomicQueueB2, 3,i: 3,083,268 msg/sec AtomicQueueB2, 4,s: 2,310,297 msg/sec AtomicQueueB2, 4,i: 2,410,908 msg/sec AtomicQueueB2, 5,s: 2,232,415 msg/sec AtomicQueueB2, 5,i: 2,434,559 msg/sec AtomicQueueB2, 6,s: 1,749,020 msg/sec AtomicQueueB2, 6,i: 1,954,440 msg/sec AtomicQueueB2, 7,s: 1,790,659 msg/sec AtomicQueueB2, 7,i: 1,723,766 msg/sec AtomicQueueB2, 8,s: 999,938 msg/sec AtomicQueueB2, 8,i: 1,442,448 msg/sec AtomicQueueB2, 9,s: 911,565 msg/sec AtomicQueueB2, 9,i: 1,234,686 msg/sec AtomicQueueB2,10,s: 835,895 msg/sec AtomicQueueB2,10,i: 1,191,683 msg/sec AtomicQueueB2,11,s: 484,384 msg/sec AtomicQueueB2,11,i: 523,403 msg/sec AtomicQueueB2,12,s: 509,383 msg/sec AtomicQueueB2,12,i: 504,302 msg/sec AtomicQueueB2,13,s: 504,717 msg/sec AtomicQueueB2,13,i: 509,347 msg/sec AtomicQueueB2,14,s: 509,113 msg/sec AtomicQueueB2,14,i: 513,839 msg/sec OptimistAtomicQueue2, 1,s: 13,352,047 msg/sec OptimistAtomicQueue2, 1,i: 145,881,703 msg/sec OptimistAtomicQueue2, 2,s: 9,273,442 msg/sec OptimistAtomicQueue2, 2,i: 8,057,061 msg/sec OptimistAtomicQueue2, 3,s: 8,671,121 msg/sec OptimistAtomicQueue2, 3,i: 12,393,154 msg/sec OptimistAtomicQueue2, 4,s: 11,394,658 msg/sec OptimistAtomicQueue2, 4,i: 12,598,909 msg/sec OptimistAtomicQueue2, 5,s: 11,589,152 msg/sec OptimistAtomicQueue2, 5,i: 12,724,899 msg/sec OptimistAtomicQueue2, 6,s: 12,485,143 msg/sec OptimistAtomicQueue2, 6,i: 13,354,172 msg/sec OptimistAtomicQueue2, 7,s: 13,219,784 msg/sec OptimistAtomicQueue2, 7,i: 13,198,337 msg/sec OptimistAtomicQueue2, 8,s: 10,290,908 msg/sec OptimistAtomicQueue2, 8,i: 10,636,895 msg/sec OptimistAtomicQueue2, 9,s: 10,449,579 msg/sec OptimistAtomicQueue2, 9,i: 10,583,199 msg/sec OptimistAtomicQueue2,10,s: 10,774,810 msg/sec OptimistAtomicQueue2,10,i: 10,770,844 msg/sec OptimistAtomicQueue2,11,s: 10,677,620 msg/sec OptimistAtomicQueue2,11,i: 10,656,838 msg/sec OptimistAtomicQueue2,12,s: 10,245,845 msg/sec OptimistAtomicQueue2,12,i: 10,905,131 msg/sec OptimistAtomicQueue2,13,s: 9,296,131 msg/sec OptimistAtomicQueue2,13,i: 10,951,419 msg/sec OptimistAtomicQueue2,14,s: 8,328,169 msg/sec OptimistAtomicQueue2,14,i: 10,669,881 msg/sec OptimistAtomicQueueB2, 1,s: 25,237,590 msg/sec OptimistAtomicQueueB2, 1,i: 25,625,930 msg/sec OptimistAtomicQueueB2, 2,s: 9,641,873 msg/sec OptimistAtomicQueueB2, 2,i: 7,081,956 msg/sec OptimistAtomicQueueB2, 3,s: 7,435,746 msg/sec OptimistAtomicQueueB2, 3,i: 7,898,617 msg/sec OptimistAtomicQueueB2, 4,s: 8,186,240 msg/sec OptimistAtomicQueueB2, 4,i: 8,596,983 msg/sec OptimistAtomicQueueB2, 5,s: 11,762,212 msg/sec OptimistAtomicQueueB2, 5,i: 12,814,397 msg/sec OptimistAtomicQueueB2, 6,s: 11,873,485 msg/sec OptimistAtomicQueueB2, 6,i: 9,289,285 msg/sec OptimistAtomicQueueB2, 7,s: 12,151,176 msg/sec OptimistAtomicQueueB2, 7,i: 13,088,010 msg/sec OptimistAtomicQueueB2, 8,s: 9,805,121 msg/sec OptimistAtomicQueueB2, 8,i: 10,224,288 msg/sec OptimistAtomicQueueB2, 9,s: 9,674,001 msg/sec OptimistAtomicQueueB2, 9,i: 9,636,365 msg/sec OptimistAtomicQueueB2,10,s: 9,795,651 msg/sec OptimistAtomicQueueB2,10,i: 9,090,560 msg/sec OptimistAtomicQueueB2,11,s: 9,829,598 msg/sec OptimistAtomicQueueB2,11,i: 10,393,881 msg/sec OptimistAtomicQueueB2,12,s: 9,811,264 msg/sec OptimistAtomicQueueB2,12,i: 10,106,437 msg/sec OptimistAtomicQueueB2,13,s: 8,898,048 msg/sec OptimistAtomicQueueB2,13,i: 10,367,723 msg/sec OptimistAtomicQueueB2,14,s: 8,132,133 msg/sec OptimistAtomicQueueB2,14,i: 10,399,884 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000409 sec/round-trip boost::lockfree::queue: 0.000001132 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000424 sec/round-trip moodycamel::ConcurrentQueue: 0.000000779 sec/round-trip pthread_spinlock: 0.000001286 sec/round-trip std::mutex: 0.000003009 sec/round-trip tbb::spin_mutex: 0.000001031 sec/round-trip tbb::concurrent_bounded_queue: 0.000000987 sec/round-trip xenium::michael_scott_queue: 0.000001222 sec/round-trip xenium::ramalhete_queue: 0.000000887 sec/round-trip xenium::vyukov_bounded_queue: 0.000000672 sec/round-trip AtomicQueue: 0.000000408 sec/round-trip AtomicQueueB: 0.000000551 sec/round-trip OptimistAtomicQueue: 0.000000420 sec/round-trip OptimistAtomicQueueB: 0.000000500 sec/round-trip AtomicQueue2: 0.000000535 sec/round-trip AtomicQueueB2: 0.000000683 sec/round-trip OptimistAtomicQueue2: 0.000000508 sec/round-trip OptimistAtomicQueueB2: 0.000000572 sec/round-trip [14/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 25,061,358 msg/sec boost::lockfree::spsc_queue, 1,i: 25,599,082 msg/sec boost::lockfree::queue, 1,s: 2,872,021 msg/sec boost::lockfree::queue, 1,i: 3,056,504 msg/sec boost::lockfree::queue, 2,s: 2,399,340 msg/sec boost::lockfree::queue, 2,i: 2,211,812 msg/sec boost::lockfree::queue, 3,s: 2,481,333 msg/sec boost::lockfree::queue, 3,i: 2,361,868 msg/sec boost::lockfree::queue, 4,s: 2,351,938 msg/sec boost::lockfree::queue, 4,i: 2,361,730 msg/sec boost::lockfree::queue, 5,s: 2,227,954 msg/sec boost::lockfree::queue, 5,i: 2,341,598 msg/sec boost::lockfree::queue, 6,s: 2,161,166 msg/sec boost::lockfree::queue, 6,i: 2,189,438 msg/sec boost::lockfree::queue, 7,s: 2,018,855 msg/sec boost::lockfree::queue, 7,i: 2,158,493 msg/sec boost::lockfree::queue, 8,s: 547,876 msg/sec boost::lockfree::queue, 8,i: 1,245,450 msg/sec boost::lockfree::queue, 9,s: 797,245 msg/sec boost::lockfree::queue, 9,i: 1,192,378 msg/sec boost::lockfree::queue,10,s: 713,270 msg/sec boost::lockfree::queue,10,i: 506,300 msg/sec boost::lockfree::queue,11,s: 502,099 msg/sec boost::lockfree::queue,11,i: 556,902 msg/sec boost::lockfree::queue,12,s: 539,465 msg/sec boost::lockfree::queue,12,i: 596,202 msg/sec boost::lockfree::queue,13,s: 520,438 msg/sec boost::lockfree::queue,13,i: 505,201 msg/sec boost::lockfree::queue,14,s: 528,693 msg/sec boost::lockfree::queue,14,i: 519,807 msg/sec moodycamel::ReaderWriterQueue, 1,s: 176,583,193 msg/sec moodycamel::ReaderWriterQueue, 1,i: 176,010,476 msg/sec moodycamel::ConcurrentQueue, 1,s: 6,159,590 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,031,299 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,126,737 msg/sec moodycamel::ConcurrentQueue, 2,i: 4,941,378 msg/sec moodycamel::ConcurrentQueue, 3,s: 14,817,840 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,988,536 msg/sec moodycamel::ConcurrentQueue, 4,s: 11,053,595 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,863,260 msg/sec moodycamel::ConcurrentQueue, 5,s: 15,223,317 msg/sec moodycamel::ConcurrentQueue, 5,i: 7,148,280 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,281,889 msg/sec moodycamel::ConcurrentQueue, 6,i: 16,840,504 msg/sec moodycamel::ConcurrentQueue, 7,s: 15,757,765 msg/sec moodycamel::ConcurrentQueue, 7,i: 15,845,910 msg/sec moodycamel::ConcurrentQueue, 8,s: 4,839,694 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,675,871 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,014,037 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,467,989 msg/sec moodycamel::ConcurrentQueue,10,s: 5,174,896 msg/sec moodycamel::ConcurrentQueue,10,i: 15,290,332 msg/sec moodycamel::ConcurrentQueue,11,s: 5,328,063 msg/sec moodycamel::ConcurrentQueue,11,i: 18,898,150 msg/sec moodycamel::ConcurrentQueue,12,s: 20,222,500 msg/sec moodycamel::ConcurrentQueue,12,i: 5,415,361 msg/sec moodycamel::ConcurrentQueue,13,s: 4,807,430 msg/sec moodycamel::ConcurrentQueue,13,i: 5,119,347 msg/sec moodycamel::ConcurrentQueue,14,s: 7,161,734 msg/sec moodycamel::ConcurrentQueue,14,i: 22,871,174 msg/sec pthread_spinlock, 1,s: 5,546,697 msg/sec pthread_spinlock, 1,i: 5,506,115 msg/sec pthread_spinlock, 2,s: 4,683,162 msg/sec pthread_spinlock, 2,i: 3,408,984 msg/sec pthread_spinlock, 3,s: 3,289,809 msg/sec pthread_spinlock, 3,i: 3,307,077 msg/sec pthread_spinlock, 4,s: 2,501,226 msg/sec pthread_spinlock, 4,i: 2,680,376 msg/sec pthread_spinlock, 5,s: 2,343,554 msg/sec pthread_spinlock, 5,i: 2,443,839 msg/sec pthread_spinlock, 6,s: 1,961,477 msg/sec pthread_spinlock, 6,i: 1,972,750 msg/sec pthread_spinlock, 7,s: 1,742,472 msg/sec pthread_spinlock, 7,i: 1,707,171 msg/sec pthread_spinlock, 8,s: 1,014,945 msg/sec pthread_spinlock, 8,i: 1,197,052 msg/sec pthread_spinlock, 9,s: 1,052,220 msg/sec pthread_spinlock, 9,i: 508,226 msg/sec pthread_spinlock,10,s: 512,366 msg/sec pthread_spinlock,10,i: 877,979 msg/sec pthread_spinlock,11,s: 509,495 msg/sec pthread_spinlock,11,i: 573,739 msg/sec pthread_spinlock,12,s: 646,612 msg/sec pthread_spinlock,12,i: 544,661 msg/sec pthread_spinlock,13,s: 548,618 msg/sec pthread_spinlock,13,i: 602,394 msg/sec pthread_spinlock,14,s: 545,761 msg/sec pthread_spinlock,14,i: 515,306 msg/sec std::mutex, 1,s: 6,246,375 msg/sec std::mutex, 1,i: 6,858,037 msg/sec std::mutex, 2,s: 4,512,480 msg/sec std::mutex, 2,i: 4,361,978 msg/sec std::mutex, 3,s: 2,911,634 msg/sec std::mutex, 3,i: 3,037,561 msg/sec std::mutex, 4,s: 2,866,520 msg/sec std::mutex, 4,i: 2,887,298 msg/sec std::mutex, 5,s: 3,677,725 msg/sec std::mutex, 5,i: 3,709,137 msg/sec std::mutex, 6,s: 4,698,945 msg/sec std::mutex, 6,i: 4,735,086 msg/sec std::mutex, 7,s: 6,201,509 msg/sec std::mutex, 7,i: 6,248,120 msg/sec std::mutex, 8,s: 7,221,265 msg/sec std::mutex, 8,i: 6,227,273 msg/sec std::mutex, 9,s: 6,407,246 msg/sec std::mutex, 9,i: 5,115,513 msg/sec std::mutex,10,s: 6,206,931 msg/sec std::mutex,10,i: 5,042,206 msg/sec std::mutex,11,s: 5,619,879 msg/sec std::mutex,11,i: 5,020,283 msg/sec std::mutex,12,s: 5,353,413 msg/sec std::mutex,12,i: 5,038,387 msg/sec std::mutex,13,s: 5,298,007 msg/sec std::mutex,13,i: 5,126,420 msg/sec std::mutex,14,s: 5,038,612 msg/sec std::mutex,14,i: 5,261,073 msg/sec tbb::spin_mutex, 1,s: 22,827,124 msg/sec tbb::spin_mutex, 1,i: 23,027,547 msg/sec tbb::spin_mutex, 2,s: 13,556,757 msg/sec tbb::spin_mutex, 2,i: 14,675,408 msg/sec tbb::spin_mutex, 3,s: 9,022,236 msg/sec tbb::spin_mutex, 3,i: 8,481,493 msg/sec tbb::spin_mutex, 4,s: 4,842,832 msg/sec tbb::spin_mutex, 4,i: 7,534,346 msg/sec tbb::spin_mutex, 5,s: 5,128,569 msg/sec tbb::spin_mutex, 5,i: 5,037,248 msg/sec tbb::spin_mutex, 6,s: 3,823,325 msg/sec tbb::spin_mutex, 6,i: 2,769,624 msg/sec tbb::spin_mutex, 7,s: 2,565,793 msg/sec tbb::spin_mutex, 7,i: 2,658,221 msg/sec tbb::spin_mutex, 8,s: 1,507,169 msg/sec tbb::spin_mutex, 8,i: 1,041,531 msg/sec tbb::spin_mutex, 9,s: 712,414 msg/sec tbb::spin_mutex, 9,i: 694,693 msg/sec tbb::spin_mutex,10,s: 709,233 msg/sec tbb::spin_mutex,10,i: 799,913 msg/sec tbb::spin_mutex,11,s: 447,560 msg/sec tbb::spin_mutex,11,i: 699,215 msg/sec tbb::spin_mutex,12,s: 469,563 msg/sec tbb::spin_mutex,12,i: 549,122 msg/sec tbb::spin_mutex,13,s: 420,363 msg/sec tbb::spin_mutex,13,i: 545,536 msg/sec tbb::spin_mutex,14,s: 345,809 msg/sec tbb::spin_mutex,14,i: 460,301 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,145,605 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,340,039 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,307,760 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,271,771 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,556,718 msg/sec tbb::concurrent_bounded_queue, 3,i: 3,689,114 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,462,302 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,347,983 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,819,645 msg/sec tbb::concurrent_bounded_queue, 5,i: 2,884,841 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,597,675 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,732,323 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,381,904 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,545,036 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,370,079 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,771,398 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,323,453 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,459,266 msg/sec tbb::concurrent_bounded_queue,10,s: 1,219,235 msg/sec tbb::concurrent_bounded_queue,10,i: 1,289,533 msg/sec tbb::concurrent_bounded_queue,11,s: 1,240,377 msg/sec tbb::concurrent_bounded_queue,11,i: 1,236,294 msg/sec tbb::concurrent_bounded_queue,12,s: 1,179,494 msg/sec tbb::concurrent_bounded_queue,12,i: 1,184,326 msg/sec tbb::concurrent_bounded_queue,13,s: 1,191,435 msg/sec tbb::concurrent_bounded_queue,13,i: 1,211,777 msg/sec tbb::concurrent_bounded_queue,14,s: 932,039 msg/sec tbb::concurrent_bounded_queue,14,i: 1,054,996 msg/sec xenium::michael_scott_queue, 1,s: 2,813,917 msg/sec xenium::michael_scott_queue, 1,i: 3,372,794 msg/sec xenium::michael_scott_queue, 2,s: 2,364,013 msg/sec xenium::michael_scott_queue, 2,i: 2,673,514 msg/sec xenium::michael_scott_queue, 3,s: 2,000,056 msg/sec xenium::michael_scott_queue, 3,i: 2,345,821 msg/sec xenium::michael_scott_queue, 4,s: 2,111,703 msg/sec xenium::michael_scott_queue, 4,i: 2,283,029 msg/sec xenium::michael_scott_queue, 5,s: 1,733,058 msg/sec xenium::michael_scott_queue, 5,i: 1,889,048 msg/sec xenium::michael_scott_queue, 6,s: 1,787,984 msg/sec xenium::michael_scott_queue, 6,i: 1,797,619 msg/sec xenium::michael_scott_queue, 7,s: 1,628,700 msg/sec xenium::michael_scott_queue, 7,i: 1,735,884 msg/sec xenium::michael_scott_queue, 8,s: 1,044,287 msg/sec xenium::michael_scott_queue, 8,i: 1,519,341 msg/sec xenium::michael_scott_queue, 9,s: 534,837 msg/sec xenium::michael_scott_queue, 9,i: 1,214,556 msg/sec xenium::michael_scott_queue,10,s: 714,330 msg/sec xenium::michael_scott_queue,10,i: 891,671 msg/sec xenium::michael_scott_queue,11,s: 511,454 msg/sec xenium::michael_scott_queue,11,i: 505,904 msg/sec xenium::michael_scott_queue,12,s: 493,839 msg/sec xenium::michael_scott_queue,12,i: 516,286 msg/sec xenium::michael_scott_queue,13,s: 502,206 msg/sec xenium::michael_scott_queue,13,i: 508,102 msg/sec xenium::michael_scott_queue,14,s: 508,461 msg/sec xenium::michael_scott_queue,14,i: 511,349 msg/sec xenium::ramalhete_queue, 1,s: 15,362,914 msg/sec xenium::ramalhete_queue, 1,i: 15,546,899 msg/sec xenium::ramalhete_queue, 2,s: 5,993,203 msg/sec xenium::ramalhete_queue, 2,i: 5,889,245 msg/sec xenium::ramalhete_queue, 3,s: 6,566,950 msg/sec xenium::ramalhete_queue, 3,i: 7,347,577 msg/sec xenium::ramalhete_queue, 4,s: 7,523,943 msg/sec xenium::ramalhete_queue, 4,i: 8,091,977 msg/sec xenium::ramalhete_queue, 5,s: 8,062,960 msg/sec xenium::ramalhete_queue, 5,i: 8,073,926 msg/sec xenium::ramalhete_queue, 6,s: 7,865,103 msg/sec xenium::ramalhete_queue, 6,i: 8,302,113 msg/sec xenium::ramalhete_queue, 7,s: 7,778,687 msg/sec xenium::ramalhete_queue, 7,i: 8,135,340 msg/sec xenium::ramalhete_queue, 8,s: 7,114,207 msg/sec xenium::ramalhete_queue, 8,i: 8,423,621 msg/sec xenium::ramalhete_queue, 9,s: 8,168,556 msg/sec xenium::ramalhete_queue, 9,i: 7,948,132 msg/sec xenium::ramalhete_queue,10,s: 7,878,470 msg/sec xenium::ramalhete_queue,10,i: 7,350,047 msg/sec xenium::ramalhete_queue,11,s: 7,726,604 msg/sec xenium::ramalhete_queue,11,i: 7,707,089 msg/sec xenium::ramalhete_queue,12,s: 8,430,662 msg/sec xenium::ramalhete_queue,12,i: 8,344,709 msg/sec xenium::ramalhete_queue,13,s: 9,295,097 msg/sec xenium::ramalhete_queue,13,i: 8,526,916 msg/sec xenium::ramalhete_queue,14,s: 10,921,799 msg/sec xenium::ramalhete_queue,14,i: 8,558,573 msg/sec xenium::vyukov_bounded_queue, 1,s: 32,867,721 msg/sec xenium::vyukov_bounded_queue, 1,i: 55,743,898 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,845,267 msg/sec xenium::vyukov_bounded_queue, 2,i: 9,702,552 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,788,707 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,844,531 msg/sec xenium::vyukov_bounded_queue, 4,s: 4,014,156 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,189,113 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,527,843 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,316,072 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,233,626 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,296,718 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,050,106 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,054,111 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,456,922 msg/sec xenium::vyukov_bounded_queue, 8,i: 1,650,747 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,207,866 msg/sec xenium::vyukov_bounded_queue, 9,i: 2,252,521 msg/sec xenium::vyukov_bounded_queue,10,s: 1,119,583 msg/sec xenium::vyukov_bounded_queue,10,i: 1,533,365 msg/sec xenium::vyukov_bounded_queue,11,s: 1,031,870 msg/sec xenium::vyukov_bounded_queue,11,i: 1,368,576 msg/sec xenium::vyukov_bounded_queue,12,s: 1,030,921 msg/sec xenium::vyukov_bounded_queue,12,i: 1,120,912 msg/sec xenium::vyukov_bounded_queue,13,s: 900,492 msg/sec xenium::vyukov_bounded_queue,13,i: 1,191,450 msg/sec xenium::vyukov_bounded_queue,14,s: 726,492 msg/sec xenium::vyukov_bounded_queue,14,i: 515,612 msg/sec AtomicQueue, 1,s: 37,791,552 msg/sec AtomicQueue, 1,i: 9,893,269 msg/sec AtomicQueue, 2,s: 3,144,529 msg/sec AtomicQueue, 2,i: 3,244,325 msg/sec AtomicQueue, 3,s: 3,124,169 msg/sec AtomicQueue, 3,i: 3,581,321 msg/sec AtomicQueue, 4,s: 2,425,923 msg/sec AtomicQueue, 4,i: 2,716,079 msg/sec AtomicQueue, 5,s: 2,081,200 msg/sec AtomicQueue, 5,i: 2,216,396 msg/sec AtomicQueue, 6,s: 2,037,241 msg/sec AtomicQueue, 6,i: 2,167,765 msg/sec AtomicQueue, 7,s: 1,900,348 msg/sec AtomicQueue, 7,i: 1,938,007 msg/sec AtomicQueue, 8,s: 573,063 msg/sec AtomicQueue, 8,i: 1,615,294 msg/sec AtomicQueue, 9,s: 517,313 msg/sec AtomicQueue, 9,i: 1,524,702 msg/sec AtomicQueue,10,s: 539,754 msg/sec AtomicQueue,10,i: 1,372,481 msg/sec AtomicQueue,11,s: 544,416 msg/sec AtomicQueue,11,i: 1,102,138 msg/sec AtomicQueue,12,s: 689,375 msg/sec AtomicQueue,12,i: 1,094,577 msg/sec AtomicQueue,13,s: 813,154 msg/sec AtomicQueue,13,i: 1,001,643 msg/sec AtomicQueue,14,s: 495,846 msg/sec AtomicQueue,14,i: 568,295 msg/sec AtomicQueueB, 1,s: 19,725,341 msg/sec AtomicQueueB, 1,i: 16,836,572 msg/sec AtomicQueueB, 2,s: 3,892,085 msg/sec AtomicQueueB, 2,i: 4,076,456 msg/sec AtomicQueueB, 3,s: 2,749,581 msg/sec AtomicQueueB, 3,i: 3,335,368 msg/sec AtomicQueueB, 4,s: 2,412,159 msg/sec AtomicQueueB, 4,i: 2,666,992 msg/sec AtomicQueueB, 5,s: 2,101,706 msg/sec AtomicQueueB, 5,i: 2,293,753 msg/sec AtomicQueueB, 6,s: 1,873,629 msg/sec AtomicQueueB, 6,i: 1,972,879 msg/sec AtomicQueueB, 7,s: 1,804,544 msg/sec AtomicQueueB, 7,i: 1,827,501 msg/sec AtomicQueueB, 8,s: 499,793 msg/sec AtomicQueueB, 8,i: 1,228,201 msg/sec AtomicQueueB, 9,s: 500,295 msg/sec AtomicQueueB, 9,i: 1,537,458 msg/sec AtomicQueueB,10,s: 742,296 msg/sec AtomicQueueB,10,i: 1,409,802 msg/sec AtomicQueueB,11,s: 516,569 msg/sec AtomicQueueB,11,i: 607,767 msg/sec AtomicQueueB,12,s: 499,953 msg/sec AtomicQueueB,12,i: 1,037,337 msg/sec AtomicQueueB,13,s: 578,365 msg/sec AtomicQueueB,13,i: 520,712 msg/sec AtomicQueueB,14,s: 507,404 msg/sec AtomicQueueB,14,i: 804,174 msg/sec OptimistAtomicQueue, 1,s: 227,772,153 msg/sec OptimistAtomicQueue, 1,i: 249,906,092 msg/sec OptimistAtomicQueue, 2,s: 10,680,340 msg/sec OptimistAtomicQueue, 2,i: 8,290,628 msg/sec OptimistAtomicQueue, 3,s: 12,591,200 msg/sec OptimistAtomicQueue, 3,i: 12,275,840 msg/sec OptimistAtomicQueue, 4,s: 13,028,718 msg/sec OptimistAtomicQueue, 4,i: 13,581,897 msg/sec OptimistAtomicQueue, 5,s: 13,222,065 msg/sec OptimistAtomicQueue, 5,i: 13,222,162 msg/sec OptimistAtomicQueue, 6,s: 13,036,913 msg/sec OptimistAtomicQueue, 6,i: 13,738,049 msg/sec OptimistAtomicQueue, 7,s: 10,927,795 msg/sec OptimistAtomicQueue, 7,i: 13,732,838 msg/sec OptimistAtomicQueue, 8,s: 9,984,027 msg/sec OptimistAtomicQueue, 8,i: 11,865,416 msg/sec OptimistAtomicQueue, 9,s: 8,258,472 msg/sec OptimistAtomicQueue, 9,i: 9,776,529 msg/sec OptimistAtomicQueue,10,s: 8,283,907 msg/sec OptimistAtomicQueue,10,i: 10,370,131 msg/sec OptimistAtomicQueue,11,s: 8,237,674 msg/sec OptimistAtomicQueue,11,i: 10,564,078 msg/sec OptimistAtomicQueue,12,s: 8,214,746 msg/sec OptimistAtomicQueue,12,i: 11,785,406 msg/sec OptimistAtomicQueue,13,s: 8,425,069 msg/sec OptimistAtomicQueue,13,i: 11,650,001 msg/sec OptimistAtomicQueue,14,s: 8,623,831 msg/sec OptimistAtomicQueue,14,i: 11,217,561 msg/sec OptimistAtomicQueueB, 1,s: 35,178,654 msg/sec OptimistAtomicQueueB, 1,i: 34,784,220 msg/sec OptimistAtomicQueueB, 2,s: 13,244,281 msg/sec OptimistAtomicQueueB, 2,i: 12,729,741 msg/sec OptimistAtomicQueueB, 3,s: 13,741,109 msg/sec OptimistAtomicQueueB, 3,i: 13,117,748 msg/sec OptimistAtomicQueueB, 4,s: 12,858,280 msg/sec OptimistAtomicQueueB, 4,i: 13,152,819 msg/sec OptimistAtomicQueueB, 5,s: 13,520,212 msg/sec OptimistAtomicQueueB, 5,i: 13,603,410 msg/sec OptimistAtomicQueueB, 6,s: 13,561,860 msg/sec OptimistAtomicQueueB, 6,i: 13,789,866 msg/sec OptimistAtomicQueueB, 7,s: 13,720,688 msg/sec OptimistAtomicQueueB, 7,i: 14,264,523 msg/sec OptimistAtomicQueueB, 8,s: 9,682,515 msg/sec OptimistAtomicQueueB, 8,i: 11,551,005 msg/sec OptimistAtomicQueueB, 9,s: 8,630,236 msg/sec OptimistAtomicQueueB, 9,i: 10,069,363 msg/sec OptimistAtomicQueueB,10,s: 8,190,028 msg/sec OptimistAtomicQueueB,10,i: 10,389,231 msg/sec OptimistAtomicQueueB,11,s: 8,253,071 msg/sec OptimistAtomicQueueB,11,i: 10,526,555 msg/sec OptimistAtomicQueueB,12,s: 8,274,323 msg/sec OptimistAtomicQueueB,12,i: 10,590,180 msg/sec OptimistAtomicQueueB,13,s: 8,396,841 msg/sec OptimistAtomicQueueB,13,i: 10,994,556 msg/sec OptimistAtomicQueueB,14,s: 8,658,757 msg/sec OptimistAtomicQueueB,14,i: 10,723,142 msg/sec AtomicQueue2, 1,s: 112,250,995 msg/sec AtomicQueue2, 1,i: 44,410,229 msg/sec AtomicQueue2, 2,s: 4,030,643 msg/sec AtomicQueue2, 2,i: 3,901,263 msg/sec AtomicQueue2, 3,s: 3,111,017 msg/sec AtomicQueue2, 3,i: 3,360,339 msg/sec AtomicQueue2, 4,s: 2,315,124 msg/sec AtomicQueue2, 4,i: 2,723,336 msg/sec AtomicQueue2, 5,s: 2,141,950 msg/sec AtomicQueue2, 5,i: 2,218,882 msg/sec AtomicQueue2, 6,s: 1,761,709 msg/sec AtomicQueue2, 6,i: 2,083,533 msg/sec AtomicQueue2, 7,s: 1,808,658 msg/sec AtomicQueue2, 7,i: 1,727,815 msg/sec AtomicQueue2, 8,s: 545,155 msg/sec AtomicQueue2, 8,i: 1,601,605 msg/sec AtomicQueue2, 9,s: 725,621 msg/sec AtomicQueue2, 9,i: 1,204,216 msg/sec AtomicQueue2,10,s: 536,841 msg/sec AtomicQueue2,10,i: 1,392,119 msg/sec AtomicQueue2,11,s: 670,179 msg/sec AtomicQueue2,11,i: 1,234,177 msg/sec AtomicQueue2,12,s: 496,244 msg/sec AtomicQueue2,12,i: 1,015,801 msg/sec AtomicQueue2,13,s: 537,711 msg/sec AtomicQueue2,13,i: 500,623 msg/sec AtomicQueue2,14,s: 535,316 msg/sec AtomicQueue2,14,i: 524,503 msg/sec AtomicQueueB2, 1,s: 8,536,565 msg/sec AtomicQueueB2, 1,i: 8,578,872 msg/sec AtomicQueueB2, 2,s: 2,919,205 msg/sec AtomicQueueB2, 2,i: 3,746,708 msg/sec AtomicQueueB2, 3,s: 2,498,114 msg/sec AtomicQueueB2, 3,i: 2,544,204 msg/sec AtomicQueueB2, 4,s: 2,405,721 msg/sec AtomicQueueB2, 4,i: 2,598,068 msg/sec AtomicQueueB2, 5,s: 2,098,959 msg/sec AtomicQueueB2, 5,i: 2,423,222 msg/sec AtomicQueueB2, 6,s: 2,051,253 msg/sec AtomicQueueB2, 6,i: 2,029,016 msg/sec AtomicQueueB2, 7,s: 1,889,719 msg/sec AtomicQueueB2, 7,i: 1,821,363 msg/sec AtomicQueueB2, 8,s: 695,524 msg/sec AtomicQueueB2, 8,i: 1,605,203 msg/sec AtomicQueueB2, 9,s: 611,684 msg/sec AtomicQueueB2, 9,i: 1,521,395 msg/sec AtomicQueueB2,10,s: 749,050 msg/sec AtomicQueueB2,10,i: 1,414,368 msg/sec AtomicQueueB2,11,s: 698,187 msg/sec AtomicQueueB2,11,i: 1,083,573 msg/sec AtomicQueueB2,12,s: 717,773 msg/sec AtomicQueueB2,12,i: 510,253 msg/sec AtomicQueueB2,13,s: 623,866 msg/sec AtomicQueueB2,13,i: 1,022,099 msg/sec AtomicQueueB2,14,s: 527,258 msg/sec AtomicQueueB2,14,i: 547,318 msg/sec OptimistAtomicQueue2, 1,s: 58,426,701 msg/sec OptimistAtomicQueue2, 1,i: 56,982,452 msg/sec OptimistAtomicQueue2, 2,s: 6,997,296 msg/sec OptimistAtomicQueue2, 2,i: 7,517,663 msg/sec OptimistAtomicQueue2, 3,s: 8,124,559 msg/sec OptimistAtomicQueue2, 3,i: 8,533,081 msg/sec OptimistAtomicQueue2, 4,s: 9,488,371 msg/sec OptimistAtomicQueue2, 4,i: 11,716,797 msg/sec OptimistAtomicQueue2, 5,s: 12,938,890 msg/sec OptimistAtomicQueue2, 5,i: 11,449,940 msg/sec OptimistAtomicQueue2, 6,s: 9,395,802 msg/sec OptimistAtomicQueue2, 6,i: 9,399,430 msg/sec OptimistAtomicQueue2, 7,s: 11,782,812 msg/sec OptimistAtomicQueue2, 7,i: 13,742,283 msg/sec OptimistAtomicQueue2, 8,s: 9,685,429 msg/sec OptimistAtomicQueue2, 8,i: 9,358,576 msg/sec OptimistAtomicQueue2, 9,s: 8,657,912 msg/sec OptimistAtomicQueue2, 9,i: 11,330,468 msg/sec OptimistAtomicQueue2,10,s: 8,132,782 msg/sec OptimistAtomicQueue2,10,i: 9,792,170 msg/sec OptimistAtomicQueue2,11,s: 7,946,093 msg/sec OptimistAtomicQueue2,11,i: 9,850,686 msg/sec OptimistAtomicQueue2,12,s: 7,991,854 msg/sec OptimistAtomicQueue2,12,i: 9,850,189 msg/sec OptimistAtomicQueue2,13,s: 8,141,580 msg/sec OptimistAtomicQueue2,13,i: 10,501,786 msg/sec OptimistAtomicQueue2,14,s: 8,332,019 msg/sec OptimistAtomicQueue2,14,i: 9,979,142 msg/sec OptimistAtomicQueueB2, 1,s: 27,116,940 msg/sec OptimistAtomicQueueB2, 1,i: 25,269,194 msg/sec OptimistAtomicQueueB2, 2,s: 10,662,872 msg/sec OptimistAtomicQueueB2, 2,i: 9,870,677 msg/sec OptimistAtomicQueueB2, 3,s: 12,074,997 msg/sec OptimistAtomicQueueB2, 3,i: 12,559,877 msg/sec OptimistAtomicQueueB2, 4,s: 11,341,970 msg/sec OptimistAtomicQueueB2, 4,i: 12,075,754 msg/sec OptimistAtomicQueueB2, 5,s: 9,872,529 msg/sec OptimistAtomicQueueB2, 5,i: 9,056,847 msg/sec OptimistAtomicQueueB2, 6,s: 8,849,023 msg/sec OptimistAtomicQueueB2, 6,i: 9,152,401 msg/sec OptimistAtomicQueueB2, 7,s: 10,795,997 msg/sec OptimistAtomicQueueB2, 7,i: 12,455,918 msg/sec OptimistAtomicQueueB2, 8,s: 8,461,457 msg/sec OptimistAtomicQueueB2, 8,i: 9,039,852 msg/sec OptimistAtomicQueueB2, 9,s: 8,052,605 msg/sec OptimistAtomicQueueB2, 9,i: 11,263,412 msg/sec OptimistAtomicQueueB2,10,s: 7,637,187 msg/sec OptimistAtomicQueueB2,10,i: 9,499,792 msg/sec OptimistAtomicQueueB2,11,s: 7,517,532 msg/sec OptimistAtomicQueueB2,11,i: 9,674,423 msg/sec OptimistAtomicQueueB2,12,s: 7,469,669 msg/sec OptimistAtomicQueueB2,12,i: 9,815,498 msg/sec OptimistAtomicQueueB2,13,s: 7,827,440 msg/sec OptimistAtomicQueueB2,13,i: 9,995,805 msg/sec OptimistAtomicQueueB2,14,s: 8,233,717 msg/sec OptimistAtomicQueueB2,14,i: 10,858,481 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000277 sec/round-trip boost::lockfree::queue: 0.000000774 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000299 sec/round-trip moodycamel::ConcurrentQueue: 0.000000475 sec/round-trip pthread_spinlock: 0.000000647 sec/round-trip std::mutex: 0.000001938 sec/round-trip tbb::spin_mutex: 0.000000569 sec/round-trip tbb::concurrent_bounded_queue: 0.000000609 sec/round-trip xenium::michael_scott_queue: 0.000000802 sec/round-trip xenium::ramalhete_queue: 0.000000533 sec/round-trip xenium::vyukov_bounded_queue: 0.000000470 sec/round-trip AtomicQueue: 0.000000281 sec/round-trip AtomicQueueB: 0.000000360 sec/round-trip OptimistAtomicQueue: 0.000000292 sec/round-trip OptimistAtomicQueueB: 0.000000339 sec/round-trip AtomicQueue2: 0.000000330 sec/round-trip AtomicQueueB2: 0.000000420 sec/round-trip OptimistAtomicQueue2: 0.000000329 sec/round-trip OptimistAtomicQueueB2: 0.000000359 sec/round-trip [15/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 27,021,032 msg/sec boost::lockfree::spsc_queue, 1,i: 27,161,510 msg/sec boost::lockfree::queue, 1,s: 3,160,307 msg/sec boost::lockfree::queue, 1,i: 3,134,689 msg/sec boost::lockfree::queue, 2,s: 2,283,394 msg/sec boost::lockfree::queue, 2,i: 2,444,205 msg/sec boost::lockfree::queue, 3,s: 2,323,899 msg/sec boost::lockfree::queue, 3,i: 2,362,788 msg/sec boost::lockfree::queue, 4,s: 1,927,815 msg/sec boost::lockfree::queue, 4,i: 2,233,591 msg/sec boost::lockfree::queue, 5,s: 2,294,065 msg/sec boost::lockfree::queue, 5,i: 2,095,492 msg/sec boost::lockfree::queue, 6,s: 2,106,743 msg/sec boost::lockfree::queue, 6,i: 2,239,840 msg/sec boost::lockfree::queue, 7,s: 2,096,085 msg/sec boost::lockfree::queue, 7,i: 2,127,121 msg/sec boost::lockfree::queue, 8,s: 1,278,585 msg/sec boost::lockfree::queue, 8,i: 1,317,139 msg/sec boost::lockfree::queue, 9,s: 859,710 msg/sec boost::lockfree::queue, 9,i: 1,046,726 msg/sec boost::lockfree::queue,10,s: 565,767 msg/sec boost::lockfree::queue,10,i: 506,677 msg/sec boost::lockfree::queue,11,s: 501,121 msg/sec boost::lockfree::queue,11,i: 560,848 msg/sec boost::lockfree::queue,12,s: 513,581 msg/sec boost::lockfree::queue,12,i: 513,035 msg/sec boost::lockfree::queue,13,s: 732,158 msg/sec boost::lockfree::queue,13,i: 509,051 msg/sec boost::lockfree::queue,14,s: 536,295 msg/sec boost::lockfree::queue,14,i: 513,131 msg/sec moodycamel::ReaderWriterQueue, 1,s: 21,673,730 msg/sec moodycamel::ReaderWriterQueue, 1,i: 23,289,727 msg/sec moodycamel::ConcurrentQueue, 1,s: 8,108,308 msg/sec moodycamel::ConcurrentQueue, 1,i: 6,563,437 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,480,168 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,983,874 msg/sec moodycamel::ConcurrentQueue, 3,s: 6,118,038 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,803,923 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,071,098 msg/sec moodycamel::ConcurrentQueue, 4,i: 15,291,014 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,390,333 msg/sec moodycamel::ConcurrentQueue, 5,i: 18,182,449 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,588,067 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,106,495 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,644,498 msg/sec moodycamel::ConcurrentQueue, 7,i: 7,134,498 msg/sec moodycamel::ConcurrentQueue, 8,s: 9,586,316 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,820,091 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,325,995 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,100,348 msg/sec moodycamel::ConcurrentQueue,10,s: 5,205,260 msg/sec moodycamel::ConcurrentQueue,10,i: 5,490,088 msg/sec moodycamel::ConcurrentQueue,11,s: 16,185,999 msg/sec moodycamel::ConcurrentQueue,11,i: 5,453,898 msg/sec moodycamel::ConcurrentQueue,12,s: 5,101,651 msg/sec moodycamel::ConcurrentQueue,12,i: 18,419,049 msg/sec moodycamel::ConcurrentQueue,13,s: 16,457,988 msg/sec moodycamel::ConcurrentQueue,13,i: 5,108,918 msg/sec moodycamel::ConcurrentQueue,14,s: 21,549,934 msg/sec moodycamel::ConcurrentQueue,14,i: 20,356,183 msg/sec pthread_spinlock, 1,s: 6,744,181 msg/sec pthread_spinlock, 1,i: 6,656,816 msg/sec pthread_spinlock, 2,s: 3,962,104 msg/sec pthread_spinlock, 2,i: 4,690,252 msg/sec pthread_spinlock, 3,s: 3,241,711 msg/sec pthread_spinlock, 3,i: 3,337,747 msg/sec pthread_spinlock, 4,s: 2,770,689 msg/sec pthread_spinlock, 4,i: 2,510,609 msg/sec pthread_spinlock, 5,s: 2,260,641 msg/sec pthread_spinlock, 5,i: 2,142,371 msg/sec pthread_spinlock, 6,s: 2,040,556 msg/sec pthread_spinlock, 6,i: 1,905,156 msg/sec pthread_spinlock, 7,s: 1,673,879 msg/sec pthread_spinlock, 7,i: 1,606,771 msg/sec pthread_spinlock, 8,s: 1,052,844 msg/sec pthread_spinlock, 8,i: 1,409,021 msg/sec pthread_spinlock, 9,s: 873,305 msg/sec pthread_spinlock, 9,i: 509,313 msg/sec pthread_spinlock,10,s: 503,356 msg/sec pthread_spinlock,10,i: 548,768 msg/sec pthread_spinlock,11,s: 541,408 msg/sec pthread_spinlock,11,i: 688,148 msg/sec pthread_spinlock,12,s: 538,275 msg/sec pthread_spinlock,12,i: 528,894 msg/sec pthread_spinlock,13,s: 521,800 msg/sec pthread_spinlock,13,i: 888,711 msg/sec pthread_spinlock,14,s: 511,358 msg/sec pthread_spinlock,14,i: 563,497 msg/sec std::mutex, 1,s: 5,974,705 msg/sec std::mutex, 1,i: 6,121,690 msg/sec std::mutex, 2,s: 4,703,979 msg/sec std::mutex, 2,i: 4,744,576 msg/sec std::mutex, 3,s: 2,923,605 msg/sec std::mutex, 3,i: 3,420,067 msg/sec std::mutex, 4,s: 3,082,528 msg/sec std::mutex, 4,i: 3,137,460 msg/sec std::mutex, 5,s: 3,572,771 msg/sec std::mutex, 5,i: 3,537,085 msg/sec std::mutex, 6,s: 4,521,175 msg/sec std::mutex, 6,i: 4,540,323 msg/sec std::mutex, 7,s: 5,075,537 msg/sec std::mutex, 7,i: 5,801,715 msg/sec std::mutex, 8,s: 6,494,187 msg/sec std::mutex, 8,i: 5,989,899 msg/sec std::mutex, 9,s: 6,132,808 msg/sec std::mutex, 9,i: 5,090,804 msg/sec std::mutex,10,s: 6,104,870 msg/sec std::mutex,10,i: 4,728,558 msg/sec std::mutex,11,s: 5,954,371 msg/sec std::mutex,11,i: 4,963,385 msg/sec std::mutex,12,s: 6,360,501 msg/sec std::mutex,12,i: 5,091,335 msg/sec std::mutex,13,s: 6,348,658 msg/sec std::mutex,13,i: 5,240,274 msg/sec std::mutex,14,s: 6,818,247 msg/sec std::mutex,14,i: 5,267,426 msg/sec tbb::spin_mutex, 1,s: 24,071,920 msg/sec tbb::spin_mutex, 1,i: 24,153,397 msg/sec tbb::spin_mutex, 2,s: 14,340,055 msg/sec tbb::spin_mutex, 2,i: 14,480,942 msg/sec tbb::spin_mutex, 3,s: 9,281,348 msg/sec tbb::spin_mutex, 3,i: 9,280,602 msg/sec tbb::spin_mutex, 4,s: 6,980,174 msg/sec tbb::spin_mutex, 4,i: 6,615,239 msg/sec tbb::spin_mutex, 5,s: 3,977,328 msg/sec tbb::spin_mutex, 5,i: 4,486,505 msg/sec tbb::spin_mutex, 6,s: 3,373,065 msg/sec tbb::spin_mutex, 6,i: 3,235,779 msg/sec tbb::spin_mutex, 7,s: 2,253,356 msg/sec tbb::spin_mutex, 7,i: 2,146,814 msg/sec tbb::spin_mutex, 8,s: 1,035,948 msg/sec tbb::spin_mutex, 8,i: 1,380,754 msg/sec tbb::spin_mutex, 9,s: 725,940 msg/sec tbb::spin_mutex, 9,i: 936,883 msg/sec tbb::spin_mutex,10,s: 653,019 msg/sec tbb::spin_mutex,10,i: 867,598 msg/sec tbb::spin_mutex,11,s: 429,966 msg/sec tbb::spin_mutex,11,i: 611,675 msg/sec tbb::spin_mutex,12,s: 458,958 msg/sec tbb::spin_mutex,12,i: 642,145 msg/sec tbb::spin_mutex,13,s: 411,933 msg/sec tbb::spin_mutex,13,i: 518,511 msg/sec tbb::spin_mutex,14,s: 375,656 msg/sec tbb::spin_mutex,14,i: 488,893 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,239,897 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,223,862 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,122,223 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,431,490 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,044,703 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,213,430 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,476,688 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,689,727 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,024,937 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,140,923 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,749,654 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,922,896 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,557,279 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,507,129 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,293,241 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,988,355 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,235,903 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,396,799 msg/sec tbb::concurrent_bounded_queue,10,s: 1,205,448 msg/sec tbb::concurrent_bounded_queue,10,i: 1,327,816 msg/sec tbb::concurrent_bounded_queue,11,s: 1,188,355 msg/sec tbb::concurrent_bounded_queue,11,i: 1,247,318 msg/sec tbb::concurrent_bounded_queue,12,s: 1,317,141 msg/sec tbb::concurrent_bounded_queue,12,i: 1,209,902 msg/sec tbb::concurrent_bounded_queue,13,s: 1,315,142 msg/sec tbb::concurrent_bounded_queue,13,i: 1,143,545 msg/sec tbb::concurrent_bounded_queue,14,s: 1,099,687 msg/sec tbb::concurrent_bounded_queue,14,i: 1,066,112 msg/sec xenium::michael_scott_queue, 1,s: 2,262,096 msg/sec xenium::michael_scott_queue, 1,i: 4,121,028 msg/sec xenium::michael_scott_queue, 2,s: 2,302,637 msg/sec xenium::michael_scott_queue, 2,i: 3,024,472 msg/sec xenium::michael_scott_queue, 3,s: 2,312,323 msg/sec xenium::michael_scott_queue, 3,i: 2,450,387 msg/sec xenium::michael_scott_queue, 4,s: 2,124,075 msg/sec xenium::michael_scott_queue, 4,i: 2,203,708 msg/sec xenium::michael_scott_queue, 5,s: 1,958,886 msg/sec xenium::michael_scott_queue, 5,i: 1,995,827 msg/sec xenium::michael_scott_queue, 6,s: 1,620,239 msg/sec xenium::michael_scott_queue, 6,i: 1,688,595 msg/sec xenium::michael_scott_queue, 7,s: 1,426,820 msg/sec xenium::michael_scott_queue, 7,i: 1,669,886 msg/sec xenium::michael_scott_queue, 8,s: 990,014 msg/sec xenium::michael_scott_queue, 8,i: 1,367,989 msg/sec xenium::michael_scott_queue, 9,s: 610,294 msg/sec xenium::michael_scott_queue, 9,i: 505,881 msg/sec xenium::michael_scott_queue,10,s: 510,735 msg/sec xenium::michael_scott_queue,10,i: 545,962 msg/sec xenium::michael_scott_queue,11,s: 502,657 msg/sec xenium::michael_scott_queue,11,i: 504,736 msg/sec xenium::michael_scott_queue,12,s: 742,418 msg/sec xenium::michael_scott_queue,12,i: 519,800 msg/sec xenium::michael_scott_queue,13,s: 502,304 msg/sec xenium::michael_scott_queue,13,i: 504,868 msg/sec xenium::michael_scott_queue,14,s: 515,599 msg/sec xenium::michael_scott_queue,14,i: 506,196 msg/sec xenium::ramalhete_queue, 1,s: 7,438,337 msg/sec xenium::ramalhete_queue, 1,i: 7,395,343 msg/sec xenium::ramalhete_queue, 2,s: 6,122,544 msg/sec xenium::ramalhete_queue, 2,i: 6,311,183 msg/sec xenium::ramalhete_queue, 3,s: 6,319,238 msg/sec xenium::ramalhete_queue, 3,i: 7,447,933 msg/sec xenium::ramalhete_queue, 4,s: 7,993,299 msg/sec xenium::ramalhete_queue, 4,i: 8,155,814 msg/sec xenium::ramalhete_queue, 5,s: 7,895,733 msg/sec xenium::ramalhete_queue, 5,i: 8,023,707 msg/sec xenium::ramalhete_queue, 6,s: 8,427,731 msg/sec xenium::ramalhete_queue, 6,i: 8,481,999 msg/sec xenium::ramalhete_queue, 7,s: 8,321,044 msg/sec xenium::ramalhete_queue, 7,i: 8,528,113 msg/sec xenium::ramalhete_queue, 8,s: 8,191,375 msg/sec xenium::ramalhete_queue, 8,i: 8,702,956 msg/sec xenium::ramalhete_queue, 9,s: 7,794,537 msg/sec xenium::ramalhete_queue, 9,i: 8,151,616 msg/sec xenium::ramalhete_queue,10,s: 8,108,596 msg/sec xenium::ramalhete_queue,10,i: 7,751,640 msg/sec xenium::ramalhete_queue,11,s: 7,773,576 msg/sec xenium::ramalhete_queue,11,i: 8,165,200 msg/sec xenium::ramalhete_queue,12,s: 7,766,004 msg/sec xenium::ramalhete_queue,12,i: 7,773,462 msg/sec xenium::ramalhete_queue,13,s: 9,014,395 msg/sec xenium::ramalhete_queue,13,i: 7,805,778 msg/sec xenium::ramalhete_queue,14,s: 10,805,478 msg/sec xenium::ramalhete_queue,14,i: 8,083,541 msg/sec xenium::vyukov_bounded_queue, 1,s: 14,758,152 msg/sec xenium::vyukov_bounded_queue, 1,i: 16,048,784 msg/sec xenium::vyukov_bounded_queue, 2,s: 4,181,373 msg/sec xenium::vyukov_bounded_queue, 2,i: 3,960,265 msg/sec xenium::vyukov_bounded_queue, 3,s: 3,802,591 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,546,210 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,995,970 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,862,449 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,465,384 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,585,586 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,305,735 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,295,403 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,082,844 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,045,704 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,558,252 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,465,245 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,277,466 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,867,126 msg/sec xenium::vyukov_bounded_queue,10,s: 1,181,315 msg/sec xenium::vyukov_bounded_queue,10,i: 1,468,924 msg/sec xenium::vyukov_bounded_queue,11,s: 1,199,641 msg/sec xenium::vyukov_bounded_queue,11,i: 1,310,907 msg/sec xenium::vyukov_bounded_queue,12,s: 1,033,333 msg/sec xenium::vyukov_bounded_queue,12,i: 1,225,886 msg/sec xenium::vyukov_bounded_queue,13,s: 1,186,397 msg/sec xenium::vyukov_bounded_queue,13,i: 1,125,417 msg/sec xenium::vyukov_bounded_queue,14,s: 1,029,673 msg/sec xenium::vyukov_bounded_queue,14,i: 1,110,162 msg/sec AtomicQueue, 1,s: 20,107,344 msg/sec AtomicQueue, 1,i: 20,499,105 msg/sec AtomicQueue, 2,s: 4,421,377 msg/sec AtomicQueue, 2,i: 4,554,752 msg/sec AtomicQueue, 3,s: 2,726,998 msg/sec AtomicQueue, 3,i: 2,658,744 msg/sec AtomicQueue, 4,s: 2,516,145 msg/sec AtomicQueue, 4,i: 2,677,214 msg/sec AtomicQueue, 5,s: 2,288,008 msg/sec AtomicQueue, 5,i: 2,385,889 msg/sec AtomicQueue, 6,s: 1,922,595 msg/sec AtomicQueue, 6,i: 1,839,166 msg/sec AtomicQueue, 7,s: 1,683,425 msg/sec AtomicQueue, 7,i: 1,732,187 msg/sec AtomicQueue, 8,s: 1,313,364 msg/sec AtomicQueue, 8,i: 1,567,894 msg/sec AtomicQueue, 9,s: 1,010,406 msg/sec AtomicQueue, 9,i: 1,219,112 msg/sec AtomicQueue,10,s: 1,008,349 msg/sec AtomicQueue,10,i: 1,167,693 msg/sec AtomicQueue,11,s: 1,043,471 msg/sec AtomicQueue,11,i: 509,965 msg/sec AtomicQueue,12,s: 527,260 msg/sec AtomicQueue,12,i: 505,612 msg/sec AtomicQueue,13,s: 782,162 msg/sec AtomicQueue,13,i: 580,904 msg/sec AtomicQueue,14,s: 527,201 msg/sec AtomicQueue,14,i: 513,828 msg/sec AtomicQueueB, 1,s: 12,817,150 msg/sec AtomicQueueB, 1,i: 13,141,093 msg/sec AtomicQueueB, 2,s: 3,064,683 msg/sec AtomicQueueB, 2,i: 4,044,259 msg/sec AtomicQueueB, 3,s: 2,638,001 msg/sec AtomicQueueB, 3,i: 2,872,622 msg/sec AtomicQueueB, 4,s: 2,450,375 msg/sec AtomicQueueB, 4,i: 2,413,302 msg/sec AtomicQueueB, 5,s: 2,300,699 msg/sec AtomicQueueB, 5,i: 2,545,450 msg/sec AtomicQueueB, 6,s: 1,957,790 msg/sec AtomicQueueB, 6,i: 1,787,703 msg/sec AtomicQueueB, 7,s: 1,616,882 msg/sec AtomicQueueB, 7,i: 1,855,494 msg/sec AtomicQueueB, 8,s: 593,835 msg/sec AtomicQueueB, 8,i: 1,083,058 msg/sec AtomicQueueB, 9,s: 827,109 msg/sec AtomicQueueB, 9,i: 1,119,289 msg/sec AtomicQueueB,10,s: 498,850 msg/sec AtomicQueueB,10,i: 518,048 msg/sec AtomicQueueB,11,s: 537,309 msg/sec AtomicQueueB,11,i: 770,443 msg/sec AtomicQueueB,12,s: 524,716 msg/sec AtomicQueueB,12,i: 528,049 msg/sec AtomicQueueB,13,s: 524,226 msg/sec AtomicQueueB,13,i: 515,638 msg/sec AtomicQueueB,14,s: 511,877 msg/sec AtomicQueueB,14,i: 510,444 msg/sec OptimistAtomicQueue, 1,s: 399,240,582 msg/sec OptimistAtomicQueue, 1,i: 398,247,344 msg/sec OptimistAtomicQueue, 2,s: 8,102,394 msg/sec OptimistAtomicQueue, 2,i: 7,613,861 msg/sec OptimistAtomicQueue, 3,s: 8,568,535 msg/sec OptimistAtomicQueue, 3,i: 11,419,230 msg/sec OptimistAtomicQueue, 4,s: 12,452,981 msg/sec OptimistAtomicQueue, 4,i: 10,477,082 msg/sec OptimistAtomicQueue, 5,s: 13,436,230 msg/sec OptimistAtomicQueue, 5,i: 13,944,639 msg/sec OptimistAtomicQueue, 6,s: 12,662,775 msg/sec OptimistAtomicQueue, 6,i: 13,251,865 msg/sec OptimistAtomicQueue, 7,s: 13,436,536 msg/sec OptimistAtomicQueue, 7,i: 13,645,904 msg/sec OptimistAtomicQueue, 8,s: 10,639,288 msg/sec OptimistAtomicQueue, 8,i: 10,625,829 msg/sec OptimistAtomicQueue, 9,s: 10,269,818 msg/sec OptimistAtomicQueue, 9,i: 10,346,820 msg/sec OptimistAtomicQueue,10,s: 10,417,408 msg/sec OptimistAtomicQueue,10,i: 10,427,982 msg/sec OptimistAtomicQueue,11,s: 10,697,318 msg/sec OptimistAtomicQueue,11,i: 10,987,558 msg/sec OptimistAtomicQueue,12,s: 10,940,589 msg/sec OptimistAtomicQueue,12,i: 11,041,011 msg/sec OptimistAtomicQueue,13,s: 10,175,107 msg/sec OptimistAtomicQueue,13,i: 10,857,558 msg/sec OptimistAtomicQueue,14,s: 8,980,163 msg/sec OptimistAtomicQueue,14,i: 10,777,089 msg/sec OptimistAtomicQueueB, 1,s: 22,524,795 msg/sec OptimistAtomicQueueB, 1,i: 24,437,850 msg/sec OptimistAtomicQueueB, 2,s: 8,445,630 msg/sec OptimistAtomicQueueB, 2,i: 7,986,080 msg/sec OptimistAtomicQueueB, 3,s: 10,692,384 msg/sec OptimistAtomicQueueB, 3,i: 12,791,074 msg/sec OptimistAtomicQueueB, 4,s: 12,725,464 msg/sec OptimistAtomicQueueB, 4,i: 12,739,450 msg/sec OptimistAtomicQueueB, 5,s: 11,913,699 msg/sec OptimistAtomicQueueB, 5,i: 12,955,120 msg/sec OptimistAtomicQueueB, 6,s: 13,175,045 msg/sec OptimistAtomicQueueB, 6,i: 10,293,833 msg/sec OptimistAtomicQueueB, 7,s: 12,658,063 msg/sec OptimistAtomicQueueB, 7,i: 13,436,464 msg/sec OptimistAtomicQueueB, 8,s: 10,420,135 msg/sec OptimistAtomicQueueB, 8,i: 10,536,411 msg/sec OptimistAtomicQueueB, 9,s: 10,359,037 msg/sec OptimistAtomicQueueB, 9,i: 10,403,774 msg/sec OptimistAtomicQueueB,10,s: 10,560,193 msg/sec OptimistAtomicQueueB,10,i: 10,581,018 msg/sec OptimistAtomicQueueB,11,s: 9,752,265 msg/sec OptimistAtomicQueueB,11,i: 10,802,291 msg/sec OptimistAtomicQueueB,12,s: 10,815,716 msg/sec OptimistAtomicQueueB,12,i: 11,224,521 msg/sec OptimistAtomicQueueB,13,s: 9,843,356 msg/sec OptimistAtomicQueueB,13,i: 10,512,080 msg/sec OptimistAtomicQueueB,14,s: 8,695,486 msg/sec OptimistAtomicQueueB,14,i: 10,549,982 msg/sec AtomicQueue2, 1,s: 6,014,132 msg/sec AtomicQueue2, 1,i: 8,745,366 msg/sec AtomicQueue2, 2,s: 3,250,096 msg/sec AtomicQueue2, 2,i: 3,265,187 msg/sec AtomicQueue2, 3,s: 2,511,306 msg/sec AtomicQueue2, 3,i: 3,090,929 msg/sec AtomicQueue2, 4,s: 2,471,126 msg/sec AtomicQueue2, 4,i: 2,611,308 msg/sec AtomicQueue2, 5,s: 2,314,446 msg/sec AtomicQueue2, 5,i: 2,168,524 msg/sec AtomicQueue2, 6,s: 1,864,945 msg/sec AtomicQueue2, 6,i: 1,944,494 msg/sec AtomicQueue2, 7,s: 1,899,620 msg/sec AtomicQueue2, 7,i: 1,776,275 msg/sec AtomicQueue2, 8,s: 1,096,150 msg/sec AtomicQueue2, 8,i: 1,359,035 msg/sec AtomicQueue2, 9,s: 1,102,828 msg/sec AtomicQueue2, 9,i: 1,131,642 msg/sec AtomicQueue2,10,s: 1,007,899 msg/sec AtomicQueue2,10,i: 500,874 msg/sec AtomicQueue2,11,s: 499,375 msg/sec AtomicQueue2,11,i: 521,729 msg/sec AtomicQueue2,12,s: 508,259 msg/sec AtomicQueue2,12,i: 507,066 msg/sec AtomicQueue2,13,s: 734,413 msg/sec AtomicQueue2,13,i: 605,075 msg/sec AtomicQueue2,14,s: 713,578 msg/sec AtomicQueue2,14,i: 608,516 msg/sec AtomicQueueB2, 1,s: 9,097,102 msg/sec AtomicQueueB2, 1,i: 14,565,648 msg/sec AtomicQueueB2, 2,s: 2,909,571 msg/sec AtomicQueueB2, 2,i: 3,322,715 msg/sec AtomicQueueB2, 3,s: 2,569,729 msg/sec AtomicQueueB2, 3,i: 2,541,234 msg/sec AtomicQueueB2, 4,s: 2,330,474 msg/sec AtomicQueueB2, 4,i: 2,457,290 msg/sec AtomicQueueB2, 5,s: 2,177,053 msg/sec AtomicQueueB2, 5,i: 2,101,535 msg/sec AtomicQueueB2, 6,s: 1,965,414 msg/sec AtomicQueueB2, 6,i: 1,908,650 msg/sec AtomicQueueB2, 7,s: 1,662,749 msg/sec AtomicQueueB2, 7,i: 1,821,213 msg/sec AtomicQueueB2, 8,s: 900,207 msg/sec AtomicQueueB2, 8,i: 1,118,734 msg/sec AtomicQueueB2, 9,s: 1,043,795 msg/sec AtomicQueueB2, 9,i: 1,066,076 msg/sec AtomicQueueB2,10,s: 870,119 msg/sec AtomicQueueB2,10,i: 502,499 msg/sec AtomicQueueB2,11,s: 537,331 msg/sec AtomicQueueB2,11,i: 823,489 msg/sec AtomicQueueB2,12,s: 492,385 msg/sec AtomicQueueB2,12,i: 517,817 msg/sec AtomicQueueB2,13,s: 759,935 msg/sec AtomicQueueB2,13,i: 594,068 msg/sec AtomicQueueB2,14,s: 508,926 msg/sec AtomicQueueB2,14,i: 502,233 msg/sec OptimistAtomicQueue2, 1,s: 66,398,284 msg/sec OptimistAtomicQueue2, 1,i: 57,850,571 msg/sec OptimistAtomicQueue2, 2,s: 6,025,718 msg/sec OptimistAtomicQueue2, 2,i: 6,846,812 msg/sec OptimistAtomicQueue2, 3,s: 8,834,311 msg/sec OptimistAtomicQueue2, 3,i: 11,450,724 msg/sec OptimistAtomicQueue2, 4,s: 11,653,997 msg/sec OptimistAtomicQueue2, 4,i: 8,854,673 msg/sec OptimistAtomicQueue2, 5,s: 13,027,397 msg/sec OptimistAtomicQueue2, 5,i: 13,218,620 msg/sec OptimistAtomicQueue2, 6,s: 12,827,986 msg/sec OptimistAtomicQueue2, 6,i: 13,275,955 msg/sec OptimistAtomicQueue2, 7,s: 12,496,784 msg/sec OptimistAtomicQueue2, 7,i: 13,248,587 msg/sec OptimistAtomicQueue2, 8,s: 10,329,998 msg/sec OptimistAtomicQueue2, 8,i: 10,421,002 msg/sec OptimistAtomicQueue2, 9,s: 10,335,787 msg/sec OptimistAtomicQueue2, 9,i: 9,266,128 msg/sec OptimistAtomicQueue2,10,s: 10,124,307 msg/sec OptimistAtomicQueue2,10,i: 9,488,889 msg/sec OptimistAtomicQueue2,11,s: 10,509,777 msg/sec OptimistAtomicQueue2,11,i: 9,735,395 msg/sec OptimistAtomicQueue2,12,s: 10,052,475 msg/sec OptimistAtomicQueue2,12,i: 9,868,863 msg/sec OptimistAtomicQueue2,13,s: 9,195,577 msg/sec OptimistAtomicQueue2,13,i: 10,061,874 msg/sec OptimistAtomicQueue2,14,s: 8,751,950 msg/sec OptimistAtomicQueue2,14,i: 10,171,765 msg/sec OptimistAtomicQueueB2, 1,s: 23,929,284 msg/sec OptimistAtomicQueueB2, 1,i: 23,925,557 msg/sec OptimistAtomicQueueB2, 2,s: 7,079,490 msg/sec OptimistAtomicQueueB2, 2,i: 8,306,045 msg/sec OptimistAtomicQueueB2, 3,s: 8,838,480 msg/sec OptimistAtomicQueueB2, 3,i: 8,240,719 msg/sec OptimistAtomicQueueB2, 4,s: 7,776,622 msg/sec OptimistAtomicQueueB2, 4,i: 8,796,020 msg/sec OptimistAtomicQueueB2, 5,s: 11,588,744 msg/sec OptimistAtomicQueueB2, 5,i: 12,935,746 msg/sec OptimistAtomicQueueB2, 6,s: 8,892,875 msg/sec OptimistAtomicQueueB2, 6,i: 12,726,272 msg/sec OptimistAtomicQueueB2, 7,s: 12,548,309 msg/sec OptimistAtomicQueueB2, 7,i: 12,797,698 msg/sec OptimistAtomicQueueB2, 8,s: 9,786,479 msg/sec OptimistAtomicQueueB2, 8,i: 10,018,291 msg/sec OptimistAtomicQueueB2, 9,s: 9,838,761 msg/sec OptimistAtomicQueueB2, 9,i: 9,532,181 msg/sec OptimistAtomicQueueB2,10,s: 9,920,805 msg/sec OptimistAtomicQueueB2,10,i: 9,465,922 msg/sec OptimistAtomicQueueB2,11,s: 9,748,887 msg/sec OptimistAtomicQueueB2,11,i: 9,546,236 msg/sec OptimistAtomicQueueB2,12,s: 9,782,960 msg/sec OptimistAtomicQueueB2,12,i: 9,743,526 msg/sec OptimistAtomicQueueB2,13,s: 8,708,299 msg/sec OptimistAtomicQueueB2,13,i: 10,246,741 msg/sec OptimistAtomicQueueB2,14,s: 8,432,844 msg/sec OptimistAtomicQueueB2,14,i: 10,237,484 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000405 sec/round-trip boost::lockfree::queue: 0.000000983 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000428 sec/round-trip moodycamel::ConcurrentQueue: 0.000000626 sec/round-trip pthread_spinlock: 0.000001058 sec/round-trip std::mutex: 0.000002864 sec/round-trip tbb::spin_mutex: 0.000000779 sec/round-trip tbb::concurrent_bounded_queue: 0.000000833 sec/round-trip xenium::michael_scott_queue: 0.000001044 sec/round-trip xenium::ramalhete_queue: 0.000000719 sec/round-trip xenium::vyukov_bounded_queue: 0.000000618 sec/round-trip AtomicQueue: 0.000000375 sec/round-trip AtomicQueueB: 0.000000482 sec/round-trip OptimistAtomicQueue: 0.000000385 sec/round-trip OptimistAtomicQueueB: 0.000000447 sec/round-trip AtomicQueue2: 0.000000472 sec/round-trip AtomicQueueB2: 0.000000597 sec/round-trip OptimistAtomicQueue2: 0.000000459 sec/round-trip OptimistAtomicQueueB2: 0.000000495 sec/round-trip [16/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 22,969,588 msg/sec boost::lockfree::spsc_queue, 1,i: 23,332,751 msg/sec boost::lockfree::queue, 1,s: 2,847,145 msg/sec boost::lockfree::queue, 1,i: 2,993,253 msg/sec boost::lockfree::queue, 2,s: 2,579,495 msg/sec boost::lockfree::queue, 2,i: 2,660,080 msg/sec boost::lockfree::queue, 3,s: 2,309,269 msg/sec boost::lockfree::queue, 3,i: 2,388,910 msg/sec boost::lockfree::queue, 4,s: 2,260,246 msg/sec boost::lockfree::queue, 4,i: 2,188,372 msg/sec boost::lockfree::queue, 5,s: 2,032,977 msg/sec boost::lockfree::queue, 5,i: 2,214,643 msg/sec boost::lockfree::queue, 6,s: 2,012,552 msg/sec boost::lockfree::queue, 6,i: 2,024,191 msg/sec boost::lockfree::queue, 7,s: 2,063,899 msg/sec boost::lockfree::queue, 7,i: 1,818,188 msg/sec boost::lockfree::queue, 8,s: 607,057 msg/sec boost::lockfree::queue, 8,i: 1,134,399 msg/sec boost::lockfree::queue, 9,s: 734,131 msg/sec boost::lockfree::queue, 9,i: 504,256 msg/sec boost::lockfree::queue,10,s: 499,710 msg/sec boost::lockfree::queue,10,i: 893,376 msg/sec boost::lockfree::queue,11,s: 576,289 msg/sec boost::lockfree::queue,11,i: 532,849 msg/sec boost::lockfree::queue,12,s: 522,294 msg/sec boost::lockfree::queue,12,i: 513,899 msg/sec boost::lockfree::queue,13,s: 503,947 msg/sec boost::lockfree::queue,13,i: 536,958 msg/sec boost::lockfree::queue,14,s: 507,467 msg/sec boost::lockfree::queue,14,i: 542,487 msg/sec moodycamel::ReaderWriterQueue, 1,s: 29,766,414 msg/sec moodycamel::ReaderWriterQueue, 1,i: 30,431,698 msg/sec moodycamel::ConcurrentQueue, 1,s: 9,256,765 msg/sec moodycamel::ConcurrentQueue, 1,i: 8,732,279 msg/sec moodycamel::ConcurrentQueue, 2,s: 6,127,771 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,702,011 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,927,079 msg/sec moodycamel::ConcurrentQueue, 3,i: 14,473,002 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,757,549 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,877,696 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,860,639 msg/sec moodycamel::ConcurrentQueue, 5,i: 16,872,956 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,994,791 msg/sec moodycamel::ConcurrentQueue, 6,i: 12,203,472 msg/sec moodycamel::ConcurrentQueue, 7,s: 10,494,605 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,801,328 msg/sec moodycamel::ConcurrentQueue, 8,s: 10,329,419 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,386,292 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,171,538 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,139,864 msg/sec moodycamel::ConcurrentQueue,10,s: 5,062,080 msg/sec moodycamel::ConcurrentQueue,10,i: 4,890,183 msg/sec moodycamel::ConcurrentQueue,11,s: 4,929,252 msg/sec moodycamel::ConcurrentQueue,11,i: 5,326,377 msg/sec moodycamel::ConcurrentQueue,12,s: 23,092,234 msg/sec moodycamel::ConcurrentQueue,12,i: 5,583,949 msg/sec moodycamel::ConcurrentQueue,13,s: 10,456,083 msg/sec moodycamel::ConcurrentQueue,13,i: 8,199,581 msg/sec moodycamel::ConcurrentQueue,14,s: 6,714,714 msg/sec moodycamel::ConcurrentQueue,14,i: 11,602,922 msg/sec pthread_spinlock, 1,s: 6,155,454 msg/sec pthread_spinlock, 1,i: 5,298,391 msg/sec pthread_spinlock, 2,s: 4,400,871 msg/sec pthread_spinlock, 2,i: 4,188,807 msg/sec pthread_spinlock, 3,s: 2,548,628 msg/sec pthread_spinlock, 3,i: 3,071,912 msg/sec pthread_spinlock, 4,s: 2,491,327 msg/sec pthread_spinlock, 4,i: 2,527,309 msg/sec pthread_spinlock, 5,s: 2,198,173 msg/sec pthread_spinlock, 5,i: 2,289,193 msg/sec pthread_spinlock, 6,s: 1,944,184 msg/sec pthread_spinlock, 6,i: 2,009,921 msg/sec pthread_spinlock, 7,s: 1,621,459 msg/sec pthread_spinlock, 7,i: 1,638,129 msg/sec pthread_spinlock, 8,s: 1,088,952 msg/sec pthread_spinlock, 8,i: 1,113,300 msg/sec pthread_spinlock, 9,s: 976,259 msg/sec pthread_spinlock, 9,i: 523,893 msg/sec pthread_spinlock,10,s: 570,682 msg/sec pthread_spinlock,10,i: 531,149 msg/sec pthread_spinlock,11,s: 791,224 msg/sec pthread_spinlock,11,i: 523,037 msg/sec pthread_spinlock,12,s: 569,477 msg/sec pthread_spinlock,12,i: 614,716 msg/sec pthread_spinlock,13,s: 599,175 msg/sec pthread_spinlock,13,i: 553,514 msg/sec pthread_spinlock,14,s: 520,111 msg/sec pthread_spinlock,14,i: 575,900 msg/sec std::mutex, 1,s: 6,225,047 msg/sec std::mutex, 1,i: 6,223,054 msg/sec std::mutex, 2,s: 4,629,445 msg/sec std::mutex, 2,i: 4,579,750 msg/sec std::mutex, 3,s: 3,075,503 msg/sec std::mutex, 3,i: 2,878,943 msg/sec std::mutex, 4,s: 2,835,180 msg/sec std::mutex, 4,i: 2,791,790 msg/sec std::mutex, 5,s: 3,488,883 msg/sec std::mutex, 5,i: 3,460,424 msg/sec std::mutex, 6,s: 4,463,711 msg/sec std::mutex, 6,i: 4,509,798 msg/sec std::mutex, 7,s: 5,503,670 msg/sec std::mutex, 7,i: 5,837,191 msg/sec std::mutex, 8,s: 6,840,127 msg/sec std::mutex, 8,i: 6,246,866 msg/sec std::mutex, 9,s: 6,317,999 msg/sec std::mutex, 9,i: 4,827,927 msg/sec std::mutex,10,s: 6,428,981 msg/sec std::mutex,10,i: 4,686,063 msg/sec std::mutex,11,s: 6,346,838 msg/sec std::mutex,11,i: 4,875,979 msg/sec std::mutex,12,s: 6,123,458 msg/sec std::mutex,12,i: 4,996,300 msg/sec std::mutex,13,s: 6,562,561 msg/sec std::mutex,13,i: 5,021,564 msg/sec std::mutex,14,s: 6,744,873 msg/sec std::mutex,14,i: 5,227,946 msg/sec tbb::spin_mutex, 1,s: 21,648,419 msg/sec tbb::spin_mutex, 1,i: 21,803,363 msg/sec tbb::spin_mutex, 2,s: 10,446,400 msg/sec tbb::spin_mutex, 2,i: 12,516,352 msg/sec tbb::spin_mutex, 3,s: 8,908,775 msg/sec tbb::spin_mutex, 3,i: 9,573,166 msg/sec tbb::spin_mutex, 4,s: 6,673,239 msg/sec tbb::spin_mutex, 4,i: 4,523,997 msg/sec tbb::spin_mutex, 5,s: 4,937,323 msg/sec tbb::spin_mutex, 5,i: 4,616,140 msg/sec tbb::spin_mutex, 6,s: 3,147,448 msg/sec tbb::spin_mutex, 6,i: 3,412,669 msg/sec tbb::spin_mutex, 7,s: 2,456,453 msg/sec tbb::spin_mutex, 7,i: 1,842,060 msg/sec tbb::spin_mutex, 8,s: 1,033,009 msg/sec tbb::spin_mutex, 8,i: 1,331,703 msg/sec tbb::spin_mutex, 9,s: 803,067 msg/sec tbb::spin_mutex, 9,i: 849,556 msg/sec tbb::spin_mutex,10,s: 675,852 msg/sec tbb::spin_mutex,10,i: 719,907 msg/sec tbb::spin_mutex,11,s: 454,807 msg/sec tbb::spin_mutex,11,i: 651,220 msg/sec tbb::spin_mutex,12,s: 395,416 msg/sec tbb::spin_mutex,12,i: 576,119 msg/sec tbb::spin_mutex,13,s: 566,566 msg/sec tbb::spin_mutex,13,i: 577,232 msg/sec tbb::spin_mutex,14,s: 439,083 msg/sec tbb::spin_mutex,14,i: 458,725 msg/sec tbb::concurrent_bounded_queue, 1,s: 4,920,720 msg/sec tbb::concurrent_bounded_queue, 1,i: 4,824,454 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,025,441 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,054,907 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,171,629 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,233,357 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,438,705 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,709,331 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,054,857 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,263,160 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,848,307 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,809,169 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,459,472 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,716,686 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,309,137 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,638,776 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,289,432 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,309,739 msg/sec tbb::concurrent_bounded_queue,10,s: 1,213,854 msg/sec tbb::concurrent_bounded_queue,10,i: 1,306,272 msg/sec tbb::concurrent_bounded_queue,11,s: 1,257,430 msg/sec tbb::concurrent_bounded_queue,11,i: 1,212,529 msg/sec tbb::concurrent_bounded_queue,12,s: 1,257,127 msg/sec tbb::concurrent_bounded_queue,12,i: 1,143,504 msg/sec tbb::concurrent_bounded_queue,13,s: 1,025,286 msg/sec tbb::concurrent_bounded_queue,13,i: 1,078,188 msg/sec tbb::concurrent_bounded_queue,14,s: 907,192 msg/sec tbb::concurrent_bounded_queue,14,i: 1,030,770 msg/sec xenium::michael_scott_queue, 1,s: 1,770,874 msg/sec xenium::michael_scott_queue, 1,i: 3,925,672 msg/sec xenium::michael_scott_queue, 2,s: 2,303,862 msg/sec xenium::michael_scott_queue, 2,i: 2,817,172 msg/sec xenium::michael_scott_queue, 3,s: 2,617,556 msg/sec xenium::michael_scott_queue, 3,i: 2,478,348 msg/sec xenium::michael_scott_queue, 4,s: 2,013,455 msg/sec xenium::michael_scott_queue, 4,i: 2,256,380 msg/sec xenium::michael_scott_queue, 5,s: 1,910,801 msg/sec xenium::michael_scott_queue, 5,i: 2,003,707 msg/sec xenium::michael_scott_queue, 6,s: 1,724,068 msg/sec xenium::michael_scott_queue, 6,i: 1,704,907 msg/sec xenium::michael_scott_queue, 7,s: 1,638,997 msg/sec xenium::michael_scott_queue, 7,i: 1,642,903 msg/sec xenium::michael_scott_queue, 8,s: 951,245 msg/sec xenium::michael_scott_queue, 8,i: 1,060,815 msg/sec xenium::michael_scott_queue, 9,s: 499,989 msg/sec xenium::michael_scott_queue, 9,i: 501,718 msg/sec xenium::michael_scott_queue,10,s: 494,632 msg/sec xenium::michael_scott_queue,10,i: 503,126 msg/sec xenium::michael_scott_queue,11,s: 512,407 msg/sec xenium::michael_scott_queue,11,i: 506,279 msg/sec xenium::michael_scott_queue,12,s: 751,256 msg/sec xenium::michael_scott_queue,12,i: 788,021 msg/sec xenium::michael_scott_queue,13,s: 504,801 msg/sec xenium::michael_scott_queue,13,i: 514,050 msg/sec xenium::michael_scott_queue,14,s: 522,058 msg/sec xenium::michael_scott_queue,14,i: 546,191 msg/sec xenium::ramalhete_queue, 1,s: 3,243,963 msg/sec xenium::ramalhete_queue, 1,i: 10,577,062 msg/sec xenium::ramalhete_queue, 2,s: 5,880,419 msg/sec xenium::ramalhete_queue, 2,i: 6,324,957 msg/sec xenium::ramalhete_queue, 3,s: 7,749,999 msg/sec xenium::ramalhete_queue, 3,i: 7,639,299 msg/sec xenium::ramalhete_queue, 4,s: 7,681,475 msg/sec xenium::ramalhete_queue, 4,i: 8,101,496 msg/sec xenium::ramalhete_queue, 5,s: 7,747,142 msg/sec xenium::ramalhete_queue, 5,i: 8,317,697 msg/sec xenium::ramalhete_queue, 6,s: 8,276,071 msg/sec xenium::ramalhete_queue, 6,i: 8,551,530 msg/sec xenium::ramalhete_queue, 7,s: 8,275,657 msg/sec xenium::ramalhete_queue, 7,i: 8,168,460 msg/sec xenium::ramalhete_queue, 8,s: 8,192,679 msg/sec xenium::ramalhete_queue, 8,i: 8,670,700 msg/sec xenium::ramalhete_queue, 9,s: 8,141,377 msg/sec xenium::ramalhete_queue, 9,i: 8,019,167 msg/sec xenium::ramalhete_queue,10,s: 7,786,972 msg/sec xenium::ramalhete_queue,10,i: 8,116,270 msg/sec xenium::ramalhete_queue,11,s: 8,396,422 msg/sec xenium::ramalhete_queue,11,i: 8,361,890 msg/sec xenium::ramalhete_queue,12,s: 8,809,404 msg/sec xenium::ramalhete_queue,12,i: 8,361,768 msg/sec xenium::ramalhete_queue,13,s: 9,286,819 msg/sec xenium::ramalhete_queue,13,i: 8,639,187 msg/sec xenium::ramalhete_queue,14,s: 11,297,169 msg/sec xenium::ramalhete_queue,14,i: 8,303,344 msg/sec xenium::vyukov_bounded_queue, 1,s: 14,765,026 msg/sec xenium::vyukov_bounded_queue, 1,i: 6,620,293 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,838,262 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,783,971 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,582,903 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,318,531 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,777,541 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,883,143 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,435,511 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,533,585 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,433,750 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,114,542 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,048,380 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,100,517 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,361,119 msg/sec xenium::vyukov_bounded_queue, 8,i: 1,733,032 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,246,453 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,692,920 msg/sec xenium::vyukov_bounded_queue,10,s: 1,107,684 msg/sec xenium::vyukov_bounded_queue,10,i: 1,364,572 msg/sec xenium::vyukov_bounded_queue,11,s: 1,152,124 msg/sec xenium::vyukov_bounded_queue,11,i: 1,316,416 msg/sec xenium::vyukov_bounded_queue,12,s: 1,097,120 msg/sec xenium::vyukov_bounded_queue,12,i: 1,096,955 msg/sec xenium::vyukov_bounded_queue,13,s: 984,189 msg/sec xenium::vyukov_bounded_queue,13,i: 1,000,316 msg/sec xenium::vyukov_bounded_queue,14,s: 518,672 msg/sec xenium::vyukov_bounded_queue,14,i: 511,630 msg/sec AtomicQueue, 1,s: 16,989,604 msg/sec AtomicQueue, 1,i: 18,392,170 msg/sec AtomicQueue, 2,s: 3,278,666 msg/sec AtomicQueue, 2,i: 3,590,733 msg/sec AtomicQueue, 3,s: 2,570,809 msg/sec AtomicQueue, 3,i: 2,732,154 msg/sec AtomicQueue, 4,s: 2,482,969 msg/sec AtomicQueue, 4,i: 2,708,661 msg/sec AtomicQueue, 5,s: 2,088,103 msg/sec AtomicQueue, 5,i: 2,299,056 msg/sec AtomicQueue, 6,s: 1,914,834 msg/sec AtomicQueue, 6,i: 1,947,384 msg/sec AtomicQueue, 7,s: 1,808,456 msg/sec AtomicQueue, 7,i: 1,852,528 msg/sec AtomicQueue, 8,s: 1,041,760 msg/sec AtomicQueue, 8,i: 1,429,702 msg/sec AtomicQueue, 9,s: 646,956 msg/sec AtomicQueue, 9,i: 518,134 msg/sec AtomicQueue,10,s: 501,365 msg/sec AtomicQueue,10,i: 519,864 msg/sec AtomicQueue,11,s: 509,375 msg/sec AtomicQueue,11,i: 513,486 msg/sec AtomicQueue,12,s: 515,345 msg/sec AtomicQueue,12,i: 509,121 msg/sec AtomicQueue,13,s: 679,938 msg/sec AtomicQueue,13,i: 503,122 msg/sec AtomicQueue,14,s: 489,111 msg/sec AtomicQueue,14,i: 547,442 msg/sec AtomicQueueB, 1,s: 14,587,411 msg/sec AtomicQueueB, 1,i: 14,638,950 msg/sec AtomicQueueB, 2,s: 4,088,418 msg/sec AtomicQueueB, 2,i: 3,775,930 msg/sec AtomicQueueB, 3,s: 2,383,683 msg/sec AtomicQueueB, 3,i: 2,670,931 msg/sec AtomicQueueB, 4,s: 2,317,862 msg/sec AtomicQueueB, 4,i: 2,401,393 msg/sec AtomicQueueB, 5,s: 2,120,382 msg/sec AtomicQueueB, 5,i: 2,249,069 msg/sec AtomicQueueB, 6,s: 1,934,235 msg/sec AtomicQueueB, 6,i: 2,177,203 msg/sec AtomicQueueB, 7,s: 1,780,663 msg/sec AtomicQueueB, 7,i: 1,552,736 msg/sec AtomicQueueB, 8,s: 514,552 msg/sec AtomicQueueB, 8,i: 1,501,723 msg/sec AtomicQueueB, 9,s: 661,823 msg/sec AtomicQueueB, 9,i: 1,041,720 msg/sec AtomicQueueB,10,s: 717,972 msg/sec AtomicQueueB,10,i: 1,020,657 msg/sec AtomicQueueB,11,s: 790,789 msg/sec AtomicQueueB,11,i: 989,698 msg/sec AtomicQueueB,12,s: 517,821 msg/sec AtomicQueueB,12,i: 504,322 msg/sec AtomicQueueB,13,s: 506,797 msg/sec AtomicQueueB,13,i: 514,799 msg/sec AtomicQueueB,14,s: 506,666 msg/sec AtomicQueueB,14,i: 510,833 msg/sec OptimistAtomicQueue, 1,s: 389,795,045 msg/sec OptimistAtomicQueue, 1,i: 429,583,640 msg/sec OptimistAtomicQueue, 2,s: 7,646,657 msg/sec OptimistAtomicQueue, 2,i: 8,272,524 msg/sec OptimistAtomicQueue, 3,s: 8,066,359 msg/sec OptimistAtomicQueue, 3,i: 8,896,695 msg/sec OptimistAtomicQueue, 4,s: 11,547,622 msg/sec OptimistAtomicQueue, 4,i: 9,456,194 msg/sec OptimistAtomicQueue, 5,s: 12,594,695 msg/sec OptimistAtomicQueue, 5,i: 13,348,992 msg/sec OptimistAtomicQueue, 6,s: 13,579,684 msg/sec OptimistAtomicQueue, 6,i: 13,651,089 msg/sec OptimistAtomicQueue, 7,s: 13,867,852 msg/sec OptimistAtomicQueue, 7,i: 14,135,310 msg/sec OptimistAtomicQueue, 8,s: 10,620,756 msg/sec OptimistAtomicQueue, 8,i: 10,824,875 msg/sec OptimistAtomicQueue, 9,s: 10,543,826 msg/sec OptimistAtomicQueue, 9,i: 10,588,200 msg/sec OptimistAtomicQueue,10,s: 10,333,867 msg/sec OptimistAtomicQueue,10,i: 9,731,565 msg/sec OptimistAtomicQueue,11,s: 10,351,762 msg/sec OptimistAtomicQueue,11,i: 10,663,763 msg/sec OptimistAtomicQueue,12,s: 10,467,834 msg/sec OptimistAtomicQueue,12,i: 10,488,882 msg/sec OptimistAtomicQueue,13,s: 9,269,678 msg/sec OptimistAtomicQueue,13,i: 10,207,917 msg/sec OptimistAtomicQueue,14,s: 8,765,429 msg/sec OptimistAtomicQueue,14,i: 10,247,400 msg/sec OptimistAtomicQueueB, 1,s: 29,178,979 msg/sec OptimistAtomicQueueB, 1,i: 84,891,738 msg/sec OptimistAtomicQueueB, 2,s: 10,932,418 msg/sec OptimistAtomicQueueB, 2,i: 10,150,514 msg/sec OptimistAtomicQueueB, 3,s: 12,943,480 msg/sec OptimistAtomicQueueB, 3,i: 13,193,814 msg/sec OptimistAtomicQueueB, 4,s: 13,424,094 msg/sec OptimistAtomicQueueB, 4,i: 12,855,346 msg/sec OptimistAtomicQueueB, 5,s: 13,243,553 msg/sec OptimistAtomicQueueB, 5,i: 13,351,424 msg/sec OptimistAtomicQueueB, 6,s: 9,093,391 msg/sec OptimistAtomicQueueB, 6,i: 13,349,701 msg/sec OptimistAtomicQueueB, 7,s: 13,103,931 msg/sec OptimistAtomicQueueB, 7,i: 13,582,653 msg/sec OptimistAtomicQueueB, 8,s: 10,403,856 msg/sec OptimistAtomicQueueB, 8,i: 10,705,755 msg/sec OptimistAtomicQueueB, 9,s: 10,392,007 msg/sec OptimistAtomicQueueB, 9,i: 10,645,890 msg/sec OptimistAtomicQueueB,10,s: 10,730,190 msg/sec OptimistAtomicQueueB,10,i: 10,727,742 msg/sec OptimistAtomicQueueB,11,s: 10,539,511 msg/sec OptimistAtomicQueueB,11,i: 10,263,438 msg/sec OptimistAtomicQueueB,12,s: 10,272,614 msg/sec OptimistAtomicQueueB,12,i: 10,529,839 msg/sec OptimistAtomicQueueB,13,s: 9,605,642 msg/sec OptimistAtomicQueueB,13,i: 10,358,323 msg/sec OptimistAtomicQueueB,14,s: 8,377,712 msg/sec OptimistAtomicQueueB,14,i: 10,555,629 msg/sec AtomicQueue2, 1,s: 8,400,606 msg/sec AtomicQueue2, 1,i: 8,418,279 msg/sec AtomicQueue2, 2,s: 3,113,710 msg/sec AtomicQueue2, 2,i: 4,014,895 msg/sec AtomicQueue2, 3,s: 2,949,613 msg/sec AtomicQueue2, 3,i: 3,013,839 msg/sec AtomicQueue2, 4,s: 2,375,425 msg/sec AtomicQueue2, 4,i: 2,198,966 msg/sec AtomicQueue2, 5,s: 1,922,906 msg/sec AtomicQueue2, 5,i: 2,230,193 msg/sec AtomicQueue2, 6,s: 1,877,528 msg/sec AtomicQueue2, 6,i: 1,958,572 msg/sec AtomicQueue2, 7,s: 1,696,571 msg/sec AtomicQueue2, 7,i: 1,799,637 msg/sec AtomicQueue2, 8,s: 1,001,813 msg/sec AtomicQueue2, 8,i: 1,439,228 msg/sec AtomicQueue2, 9,s: 715,140 msg/sec AtomicQueue2, 9,i: 1,007,402 msg/sec AtomicQueue2,10,s: 500,885 msg/sec AtomicQueue2,10,i: 512,766 msg/sec AtomicQueue2,11,s: 803,498 msg/sec AtomicQueue2,11,i: 510,530 msg/sec AtomicQueue2,12,s: 502,625 msg/sec AtomicQueue2,12,i: 525,563 msg/sec AtomicQueue2,13,s: 509,566 msg/sec AtomicQueue2,13,i: 516,712 msg/sec AtomicQueue2,14,s: 678,319 msg/sec AtomicQueue2,14,i: 545,474 msg/sec AtomicQueueB2, 1,s: 11,987,150 msg/sec AtomicQueueB2, 1,i: 12,001,620 msg/sec AtomicQueueB2, 2,s: 2,948,880 msg/sec AtomicQueueB2, 2,i: 3,129,138 msg/sec AtomicQueueB2, 3,s: 2,751,847 msg/sec AtomicQueueB2, 3,i: 2,761,226 msg/sec AtomicQueueB2, 4,s: 2,385,333 msg/sec AtomicQueueB2, 4,i: 2,731,442 msg/sec AtomicQueueB2, 5,s: 2,079,404 msg/sec AtomicQueueB2, 5,i: 2,323,291 msg/sec AtomicQueueB2, 6,s: 1,857,031 msg/sec AtomicQueueB2, 6,i: 2,030,575 msg/sec AtomicQueueB2, 7,s: 1,401,411 msg/sec AtomicQueueB2, 7,i: 1,670,175 msg/sec AtomicQueueB2, 8,s: 720,796 msg/sec AtomicQueueB2, 8,i: 526,017 msg/sec AtomicQueueB2, 9,s: 510,197 msg/sec AtomicQueueB2, 9,i: 1,063,999 msg/sec AtomicQueueB2,10,s: 887,215 msg/sec AtomicQueueB2,10,i: 505,492 msg/sec AtomicQueueB2,11,s: 519,140 msg/sec AtomicQueueB2,11,i: 513,855 msg/sec AtomicQueueB2,12,s: 516,889 msg/sec AtomicQueueB2,12,i: 534,101 msg/sec AtomicQueueB2,13,s: 503,399 msg/sec AtomicQueueB2,13,i: 506,283 msg/sec AtomicQueueB2,14,s: 651,410 msg/sec AtomicQueueB2,14,i: 528,638 msg/sec OptimistAtomicQueue2, 1,s: 70,619,742 msg/sec OptimistAtomicQueue2, 1,i: 67,134,771 msg/sec OptimistAtomicQueue2, 2,s: 7,672,147 msg/sec OptimistAtomicQueue2, 2,i: 6,552,831 msg/sec OptimistAtomicQueue2, 3,s: 8,074,018 msg/sec OptimistAtomicQueue2, 3,i: 10,240,160 msg/sec OptimistAtomicQueue2, 4,s: 9,728,315 msg/sec OptimistAtomicQueue2, 4,i: 8,468,924 msg/sec OptimistAtomicQueue2, 5,s: 8,681,280 msg/sec OptimistAtomicQueue2, 5,i: 8,834,971 msg/sec OptimistAtomicQueue2, 6,s: 12,231,593 msg/sec OptimistAtomicQueue2, 6,i: 12,965,502 msg/sec OptimistAtomicQueue2, 7,s: 9,265,424 msg/sec OptimistAtomicQueue2, 7,i: 12,918,155 msg/sec OptimistAtomicQueue2, 8,s: 10,220,973 msg/sec OptimistAtomicQueue2, 8,i: 10,314,220 msg/sec OptimistAtomicQueue2, 9,s: 10,171,054 msg/sec OptimistAtomicQueue2, 9,i: 9,962,326 msg/sec OptimistAtomicQueue2,10,s: 10,089,602 msg/sec OptimistAtomicQueue2,10,i: 9,897,675 msg/sec OptimistAtomicQueue2,11,s: 10,508,498 msg/sec OptimistAtomicQueue2,11,i: 10,036,990 msg/sec OptimistAtomicQueue2,12,s: 10,023,157 msg/sec OptimistAtomicQueue2,12,i: 9,757,255 msg/sec OptimistAtomicQueue2,13,s: 9,207,054 msg/sec OptimistAtomicQueue2,13,i: 9,623,780 msg/sec OptimistAtomicQueue2,14,s: 8,639,393 msg/sec OptimistAtomicQueue2,14,i: 9,859,961 msg/sec OptimistAtomicQueueB2, 1,s: 23,994,908 msg/sec OptimistAtomicQueueB2, 1,i: 23,946,336 msg/sec OptimistAtomicQueueB2, 2,s: 8,670,558 msg/sec OptimistAtomicQueueB2, 2,i: 8,990,369 msg/sec OptimistAtomicQueueB2, 3,s: 11,479,771 msg/sec OptimistAtomicQueueB2, 3,i: 10,759,767 msg/sec OptimistAtomicQueueB2, 4,s: 10,376,251 msg/sec OptimistAtomicQueueB2, 4,i: 11,133,763 msg/sec OptimistAtomicQueueB2, 5,s: 10,157,224 msg/sec OptimistAtomicQueueB2, 5,i: 12,287,611 msg/sec OptimistAtomicQueueB2, 6,s: 12,070,939 msg/sec OptimistAtomicQueueB2, 6,i: 12,720,954 msg/sec OptimistAtomicQueueB2, 7,s: 12,601,771 msg/sec OptimistAtomicQueueB2, 7,i: 12,561,676 msg/sec OptimistAtomicQueueB2, 8,s: 9,313,223 msg/sec OptimistAtomicQueueB2, 8,i: 9,523,522 msg/sec OptimistAtomicQueueB2, 9,s: 9,481,510 msg/sec OptimistAtomicQueueB2, 9,i: 9,496,850 msg/sec OptimistAtomicQueueB2,10,s: 9,865,501 msg/sec OptimistAtomicQueueB2,10,i: 9,301,023 msg/sec OptimistAtomicQueueB2,11,s: 9,944,939 msg/sec OptimistAtomicQueueB2,11,i: 9,797,386 msg/sec OptimistAtomicQueueB2,12,s: 9,818,844 msg/sec OptimistAtomicQueueB2,12,i: 10,167,762 msg/sec OptimistAtomicQueueB2,13,s: 8,818,130 msg/sec OptimistAtomicQueueB2,13,i: 9,619,711 msg/sec OptimistAtomicQueueB2,14,s: 7,694,749 msg/sec OptimistAtomicQueueB2,14,i: 9,643,846 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000354 sec/round-trip boost::lockfree::queue: 0.000000743 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000344 sec/round-trip moodycamel::ConcurrentQueue: 0.000000442 sec/round-trip pthread_spinlock: 0.000000975 sec/round-trip std::mutex: 0.000002016 sec/round-trip tbb::spin_mutex: 0.000000796 sec/round-trip tbb::concurrent_bounded_queue: 0.000000588 sec/round-trip xenium::michael_scott_queue: 0.000000765 sec/round-trip xenium::ramalhete_queue: 0.000000523 sec/round-trip xenium::vyukov_bounded_queue: 0.000000475 sec/round-trip AtomicQueue: 0.000000316 sec/round-trip AtomicQueueB: 0.000000405 sec/round-trip OptimistAtomicQueue: 0.000000334 sec/round-trip OptimistAtomicQueueB: 0.000000352 sec/round-trip AtomicQueue2: 0.000000374 sec/round-trip AtomicQueueB2: 0.000000428 sec/round-trip OptimistAtomicQueue2: 0.000000366 sec/round-trip OptimistAtomicQueueB2: 0.000000362 sec/round-trip [17/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 29,097,667 msg/sec boost::lockfree::spsc_queue, 1,i: 29,657,221 msg/sec boost::lockfree::queue, 1,s: 3,242,166 msg/sec boost::lockfree::queue, 1,i: 2,688,419 msg/sec boost::lockfree::queue, 2,s: 2,516,241 msg/sec boost::lockfree::queue, 2,i: 2,189,067 msg/sec boost::lockfree::queue, 3,s: 2,231,947 msg/sec boost::lockfree::queue, 3,i: 2,307,804 msg/sec boost::lockfree::queue, 4,s: 2,189,942 msg/sec boost::lockfree::queue, 4,i: 2,272,604 msg/sec boost::lockfree::queue, 5,s: 1,990,671 msg/sec boost::lockfree::queue, 5,i: 1,962,653 msg/sec boost::lockfree::queue, 6,s: 1,993,662 msg/sec boost::lockfree::queue, 6,i: 1,907,123 msg/sec boost::lockfree::queue, 7,s: 2,044,973 msg/sec boost::lockfree::queue, 7,i: 1,942,611 msg/sec boost::lockfree::queue, 8,s: 533,649 msg/sec boost::lockfree::queue, 8,i: 1,145,961 msg/sec boost::lockfree::queue, 9,s: 828,782 msg/sec boost::lockfree::queue, 9,i: 903,337 msg/sec boost::lockfree::queue,10,s: 543,656 msg/sec boost::lockfree::queue,10,i: 505,800 msg/sec boost::lockfree::queue,11,s: 504,825 msg/sec boost::lockfree::queue,11,i: 533,201 msg/sec boost::lockfree::queue,12,s: 573,378 msg/sec boost::lockfree::queue,12,i: 796,589 msg/sec boost::lockfree::queue,13,s: 530,264 msg/sec boost::lockfree::queue,13,i: 512,586 msg/sec boost::lockfree::queue,14,s: 526,242 msg/sec boost::lockfree::queue,14,i: 513,129 msg/sec moodycamel::ReaderWriterQueue, 1,s: 154,366,725 msg/sec moodycamel::ReaderWriterQueue, 1,i: 162,499,370 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,326,918 msg/sec moodycamel::ConcurrentQueue, 1,i: 6,043,236 msg/sec moodycamel::ConcurrentQueue, 2,s: 3,370,278 msg/sec moodycamel::ConcurrentQueue, 2,i: 4,539,967 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,203,192 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,250,364 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,256,479 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,475,329 msg/sec moodycamel::ConcurrentQueue, 5,s: 24,290,350 msg/sec moodycamel::ConcurrentQueue, 5,i: 11,617,367 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,202,954 msg/sec moodycamel::ConcurrentQueue, 6,i: 5,934,481 msg/sec moodycamel::ConcurrentQueue, 7,s: 5,986,160 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,848,037 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,151,116 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,854,180 msg/sec moodycamel::ConcurrentQueue, 9,s: 4,910,418 msg/sec moodycamel::ConcurrentQueue, 9,i: 4,537,336 msg/sec moodycamel::ConcurrentQueue,10,s: 5,219,253 msg/sec moodycamel::ConcurrentQueue,10,i: 5,608,729 msg/sec moodycamel::ConcurrentQueue,11,s: 5,560,064 msg/sec moodycamel::ConcurrentQueue,11,i: 9,554,399 msg/sec moodycamel::ConcurrentQueue,12,s: 5,263,637 msg/sec moodycamel::ConcurrentQueue,12,i: 5,797,206 msg/sec moodycamel::ConcurrentQueue,13,s: 5,077,118 msg/sec moodycamel::ConcurrentQueue,13,i: 5,393,398 msg/sec moodycamel::ConcurrentQueue,14,s: 6,667,505 msg/sec moodycamel::ConcurrentQueue,14,i: 5,774,606 msg/sec pthread_spinlock, 1,s: 6,118,969 msg/sec pthread_spinlock, 1,i: 5,732,861 msg/sec pthread_spinlock, 2,s: 3,372,598 msg/sec pthread_spinlock, 2,i: 4,188,971 msg/sec pthread_spinlock, 3,s: 3,432,372 msg/sec pthread_spinlock, 3,i: 3,359,070 msg/sec pthread_spinlock, 4,s: 2,589,149 msg/sec pthread_spinlock, 4,i: 2,667,661 msg/sec pthread_spinlock, 5,s: 2,245,020 msg/sec pthread_spinlock, 5,i: 2,157,699 msg/sec pthread_spinlock, 6,s: 2,155,653 msg/sec pthread_spinlock, 6,i: 2,071,411 msg/sec pthread_spinlock, 7,s: 1,738,562 msg/sec pthread_spinlock, 7,i: 1,693,360 msg/sec pthread_spinlock, 8,s: 1,109,986 msg/sec pthread_spinlock, 8,i: 1,067,377 msg/sec pthread_spinlock, 9,s: 618,598 msg/sec pthread_spinlock, 9,i: 503,542 msg/sec pthread_spinlock,10,s: 554,266 msg/sec pthread_spinlock,10,i: 990,758 msg/sec pthread_spinlock,11,s: 501,017 msg/sec pthread_spinlock,11,i: 549,347 msg/sec pthread_spinlock,12,s: 774,678 msg/sec pthread_spinlock,12,i: 475,489 msg/sec pthread_spinlock,13,s: 510,054 msg/sec pthread_spinlock,13,i: 536,838 msg/sec pthread_spinlock,14,s: 560,023 msg/sec pthread_spinlock,14,i: 552,413 msg/sec std::mutex, 1,s: 551,473 msg/sec std::mutex, 1,i: 5,330,134 msg/sec std::mutex, 2,s: 4,419,786 msg/sec std::mutex, 2,i: 4,381,380 msg/sec std::mutex, 3,s: 3,127,937 msg/sec std::mutex, 3,i: 2,975,079 msg/sec std::mutex, 4,s: 3,003,678 msg/sec std::mutex, 4,i: 2,893,942 msg/sec std::mutex, 5,s: 3,568,590 msg/sec std::mutex, 5,i: 3,510,422 msg/sec std::mutex, 6,s: 4,479,596 msg/sec std::mutex, 6,i: 4,647,583 msg/sec std::mutex, 7,s: 5,934,328 msg/sec std::mutex, 7,i: 5,926,891 msg/sec std::mutex, 8,s: 6,916,478 msg/sec std::mutex, 8,i: 6,019,881 msg/sec std::mutex, 9,s: 6,151,130 msg/sec std::mutex, 9,i: 4,854,456 msg/sec std::mutex,10,s: 6,090,154 msg/sec std::mutex,10,i: 4,499,671 msg/sec std::mutex,11,s: 5,868,122 msg/sec std::mutex,11,i: 4,722,090 msg/sec std::mutex,12,s: 5,850,791 msg/sec std::mutex,12,i: 4,807,513 msg/sec std::mutex,13,s: 6,115,002 msg/sec std::mutex,13,i: 4,960,924 msg/sec std::mutex,14,s: 6,122,012 msg/sec std::mutex,14,i: 5,104,534 msg/sec tbb::spin_mutex, 1,s: 22,669,852 msg/sec tbb::spin_mutex, 1,i: 22,604,418 msg/sec tbb::spin_mutex, 2,s: 12,500,381 msg/sec tbb::spin_mutex, 2,i: 12,976,949 msg/sec tbb::spin_mutex, 3,s: 7,781,581 msg/sec tbb::spin_mutex, 3,i: 8,590,967 msg/sec tbb::spin_mutex, 4,s: 6,578,022 msg/sec tbb::spin_mutex, 4,i: 6,875,229 msg/sec tbb::spin_mutex, 5,s: 4,514,547 msg/sec tbb::spin_mutex, 5,i: 4,507,958 msg/sec tbb::spin_mutex, 6,s: 1,922,531 msg/sec tbb::spin_mutex, 6,i: 3,464,756 msg/sec tbb::spin_mutex, 7,s: 2,297,440 msg/sec tbb::spin_mutex, 7,i: 2,096,775 msg/sec tbb::spin_mutex, 8,s: 938,474 msg/sec tbb::spin_mutex, 8,i: 827,052 msg/sec tbb::spin_mutex, 9,s: 810,421 msg/sec tbb::spin_mutex, 9,i: 936,182 msg/sec tbb::spin_mutex,10,s: 659,130 msg/sec tbb::spin_mutex,10,i: 799,737 msg/sec tbb::spin_mutex,11,s: 525,061 msg/sec tbb::spin_mutex,11,i: 649,599 msg/sec tbb::spin_mutex,12,s: 460,402 msg/sec tbb::spin_mutex,12,i: 629,731 msg/sec tbb::spin_mutex,13,s: 406,712 msg/sec tbb::spin_mutex,13,i: 501,687 msg/sec tbb::spin_mutex,14,s: 418,084 msg/sec tbb::spin_mutex,14,i: 462,204 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,455,621 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,284,441 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,271,926 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,198,012 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,932,014 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,085,732 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,166,447 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,292,050 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,703,116 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,005,360 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,801,907 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,887,507 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,438,499 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,557,312 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,322,110 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,829,185 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,230,699 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,387,928 msg/sec tbb::concurrent_bounded_queue,10,s: 1,219,147 msg/sec tbb::concurrent_bounded_queue,10,i: 1,278,134 msg/sec tbb::concurrent_bounded_queue,11,s: 1,103,946 msg/sec tbb::concurrent_bounded_queue,11,i: 1,209,473 msg/sec tbb::concurrent_bounded_queue,12,s: 1,204,044 msg/sec tbb::concurrent_bounded_queue,12,i: 1,210,962 msg/sec tbb::concurrent_bounded_queue,13,s: 1,145,549 msg/sec tbb::concurrent_bounded_queue,13,i: 1,067,704 msg/sec tbb::concurrent_bounded_queue,14,s: 907,513 msg/sec tbb::concurrent_bounded_queue,14,i: 1,067,588 msg/sec xenium::michael_scott_queue, 1,s: 3,712,508 msg/sec xenium::michael_scott_queue, 1,i: 3,781,415 msg/sec xenium::michael_scott_queue, 2,s: 2,476,404 msg/sec xenium::michael_scott_queue, 2,i: 2,541,327 msg/sec xenium::michael_scott_queue, 3,s: 2,457,286 msg/sec xenium::michael_scott_queue, 3,i: 2,568,842 msg/sec xenium::michael_scott_queue, 4,s: 2,166,776 msg/sec xenium::michael_scott_queue, 4,i: 2,181,898 msg/sec xenium::michael_scott_queue, 5,s: 1,862,959 msg/sec xenium::michael_scott_queue, 5,i: 2,057,786 msg/sec xenium::michael_scott_queue, 6,s: 1,680,766 msg/sec xenium::michael_scott_queue, 6,i: 1,930,985 msg/sec xenium::michael_scott_queue, 7,s: 1,653,669 msg/sec xenium::michael_scott_queue, 7,i: 1,729,021 msg/sec xenium::michael_scott_queue, 8,s: 1,021,881 msg/sec xenium::michael_scott_queue, 8,i: 1,278,345 msg/sec xenium::michael_scott_queue, 9,s: 802,519 msg/sec xenium::michael_scott_queue, 9,i: 600,815 msg/sec xenium::michael_scott_queue,10,s: 515,118 msg/sec xenium::michael_scott_queue,10,i: 509,620 msg/sec xenium::michael_scott_queue,11,s: 504,935 msg/sec xenium::michael_scott_queue,11,i: 509,512 msg/sec xenium::michael_scott_queue,12,s: 522,215 msg/sec xenium::michael_scott_queue,12,i: 505,253 msg/sec xenium::michael_scott_queue,13,s: 506,157 msg/sec xenium::michael_scott_queue,13,i: 504,504 msg/sec xenium::michael_scott_queue,14,s: 500,320 msg/sec xenium::michael_scott_queue,14,i: 503,776 msg/sec xenium::ramalhete_queue, 1,s: 8,694,663 msg/sec xenium::ramalhete_queue, 1,i: 8,729,595 msg/sec xenium::ramalhete_queue, 2,s: 5,407,562 msg/sec xenium::ramalhete_queue, 2,i: 5,827,076 msg/sec xenium::ramalhete_queue, 3,s: 5,979,003 msg/sec xenium::ramalhete_queue, 3,i: 6,591,009 msg/sec xenium::ramalhete_queue, 4,s: 11,196,013 msg/sec xenium::ramalhete_queue, 4,i: 10,651,109 msg/sec xenium::ramalhete_queue, 5,s: 10,419,407 msg/sec xenium::ramalhete_queue, 5,i: 11,465,916 msg/sec xenium::ramalhete_queue, 6,s: 10,510,203 msg/sec xenium::ramalhete_queue, 6,i: 9,630,026 msg/sec xenium::ramalhete_queue, 7,s: 8,450,383 msg/sec xenium::ramalhete_queue, 7,i: 8,561,366 msg/sec xenium::ramalhete_queue, 8,s: 6,766,005 msg/sec xenium::ramalhete_queue, 8,i: 8,345,615 msg/sec xenium::ramalhete_queue, 9,s: 8,290,944 msg/sec xenium::ramalhete_queue, 9,i: 7,927,770 msg/sec xenium::ramalhete_queue,10,s: 7,909,735 msg/sec xenium::ramalhete_queue,10,i: 8,184,967 msg/sec xenium::ramalhete_queue,11,s: 8,835,820 msg/sec xenium::ramalhete_queue,11,i: 8,661,159 msg/sec xenium::ramalhete_queue,12,s: 8,635,154 msg/sec xenium::ramalhete_queue,12,i: 8,202,133 msg/sec xenium::ramalhete_queue,13,s: 9,039,905 msg/sec xenium::ramalhete_queue,13,i: 8,325,898 msg/sec xenium::ramalhete_queue,14,s: 10,818,634 msg/sec xenium::ramalhete_queue,14,i: 8,897,627 msg/sec xenium::vyukov_bounded_queue, 1,s: 36,650,027 msg/sec xenium::vyukov_bounded_queue, 1,i: 55,596,556 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,591,917 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,886,610 msg/sec xenium::vyukov_bounded_queue, 3,s: 3,879,436 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,925,294 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,754,783 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,964,430 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,403,794 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,527,370 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,428,478 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,310,445 msg/sec xenium::vyukov_bounded_queue, 7,s: 2,976,656 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,916,285 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,290,819 msg/sec xenium::vyukov_bounded_queue, 8,i: 1,582,762 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,103,213 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,576,728 msg/sec xenium::vyukov_bounded_queue,10,s: 1,086,003 msg/sec xenium::vyukov_bounded_queue,10,i: 1,329,428 msg/sec xenium::vyukov_bounded_queue,11,s: 732,921 msg/sec xenium::vyukov_bounded_queue,11,i: 1,214,356 msg/sec xenium::vyukov_bounded_queue,12,s: 516,987 msg/sec xenium::vyukov_bounded_queue,12,i: 1,175,580 msg/sec xenium::vyukov_bounded_queue,13,s: 1,009,974 msg/sec xenium::vyukov_bounded_queue,13,i: 1,018,448 msg/sec xenium::vyukov_bounded_queue,14,s: 490,043 msg/sec xenium::vyukov_bounded_queue,14,i: 517,077 msg/sec AtomicQueue, 1,s: 11,085,206 msg/sec AtomicQueue, 1,i: 11,328,839 msg/sec AtomicQueue, 2,s: 3,097,826 msg/sec AtomicQueue, 2,i: 3,326,175 msg/sec AtomicQueue, 3,s: 2,540,987 msg/sec AtomicQueue, 3,i: 2,404,176 msg/sec AtomicQueue, 4,s: 2,403,686 msg/sec AtomicQueue, 4,i: 2,780,407 msg/sec AtomicQueue, 5,s: 2,179,385 msg/sec AtomicQueue, 5,i: 2,337,400 msg/sec AtomicQueue, 6,s: 2,034,929 msg/sec AtomicQueue, 6,i: 2,033,662 msg/sec AtomicQueue, 7,s: 1,645,322 msg/sec AtomicQueue, 7,i: 1,774,996 msg/sec AtomicQueue, 8,s: 1,166,348 msg/sec AtomicQueue, 8,i: 1,650,173 msg/sec AtomicQueue, 9,s: 872,548 msg/sec AtomicQueue, 9,i: 1,101,179 msg/sec AtomicQueue,10,s: 907,679 msg/sec AtomicQueue,10,i: 932,791 msg/sec AtomicQueue,11,s: 516,721 msg/sec AtomicQueue,11,i: 853,008 msg/sec AtomicQueue,12,s: 540,168 msg/sec AtomicQueue,12,i: 502,335 msg/sec AtomicQueue,13,s: 498,154 msg/sec AtomicQueue,13,i: 514,398 msg/sec AtomicQueue,14,s: 512,103 msg/sec AtomicQueue,14,i: 517,195 msg/sec AtomicQueueB, 1,s: 12,287,288 msg/sec AtomicQueueB, 1,i: 13,097,251 msg/sec AtomicQueueB, 2,s: 2,960,572 msg/sec AtomicQueueB, 2,i: 3,562,331 msg/sec AtomicQueueB, 3,s: 2,610,153 msg/sec AtomicQueueB, 3,i: 3,299,095 msg/sec AtomicQueueB, 4,s: 2,604,252 msg/sec AtomicQueueB, 4,i: 2,614,714 msg/sec AtomicQueueB, 5,s: 2,161,020 msg/sec AtomicQueueB, 5,i: 2,307,590 msg/sec AtomicQueueB, 6,s: 1,798,472 msg/sec AtomicQueueB, 6,i: 1,967,097 msg/sec AtomicQueueB, 7,s: 1,794,608 msg/sec AtomicQueueB, 7,i: 1,788,915 msg/sec AtomicQueueB, 8,s: 541,655 msg/sec AtomicQueueB, 8,i: 1,432,697 msg/sec AtomicQueueB, 9,s: 716,776 msg/sec AtomicQueueB, 9,i: 1,170,896 msg/sec AtomicQueueB,10,s: 801,714 msg/sec AtomicQueueB,10,i: 514,518 msg/sec AtomicQueueB,11,s: 516,983 msg/sec AtomicQueueB,11,i: 519,419 msg/sec AtomicQueueB,12,s: 530,298 msg/sec AtomicQueueB,12,i: 504,188 msg/sec AtomicQueueB,13,s: 502,543 msg/sec AtomicQueueB,13,i: 849,920 msg/sec AtomicQueueB,14,s: 691,304 msg/sec AtomicQueueB,14,i: 523,617 msg/sec OptimistAtomicQueue, 1,s: 322,273,325 msg/sec OptimistAtomicQueue, 1,i: 308,638,164 msg/sec OptimistAtomicQueue, 2,s: 8,131,806 msg/sec OptimistAtomicQueue, 2,i: 7,872,846 msg/sec OptimistAtomicQueue, 3,s: 9,046,437 msg/sec OptimistAtomicQueue, 3,i: 13,024,848 msg/sec OptimistAtomicQueue, 4,s: 12,650,609 msg/sec OptimistAtomicQueue, 4,i: 12,599,832 msg/sec OptimistAtomicQueue, 5,s: 12,317,079 msg/sec OptimistAtomicQueue, 5,i: 13,423,290 msg/sec OptimistAtomicQueue, 6,s: 13,092,575 msg/sec OptimistAtomicQueue, 6,i: 13,245,682 msg/sec OptimistAtomicQueue, 7,s: 13,615,911 msg/sec OptimistAtomicQueue, 7,i: 13,909,166 msg/sec OptimistAtomicQueue, 8,s: 10,243,668 msg/sec OptimistAtomicQueue, 8,i: 10,691,380 msg/sec OptimistAtomicQueue, 9,s: 10,343,581 msg/sec OptimistAtomicQueue, 9,i: 10,394,665 msg/sec OptimistAtomicQueue,10,s: 10,306,844 msg/sec OptimistAtomicQueue,10,i: 10,025,762 msg/sec OptimistAtomicQueue,11,s: 10,266,441 msg/sec OptimistAtomicQueue,11,i: 10,393,075 msg/sec OptimistAtomicQueue,12,s: 9,925,357 msg/sec OptimistAtomicQueue,12,i: 10,716,937 msg/sec OptimistAtomicQueue,13,s: 9,302,832 msg/sec OptimistAtomicQueue,13,i: 10,501,592 msg/sec OptimistAtomicQueue,14,s: 8,703,327 msg/sec OptimistAtomicQueue,14,i: 10,349,525 msg/sec OptimistAtomicQueueB, 1,s: 29,015,155 msg/sec OptimistAtomicQueueB, 1,i: 29,447,931 msg/sec OptimistAtomicQueueB, 2,s: 9,131,407 msg/sec OptimistAtomicQueueB, 2,i: 10,167,788 msg/sec OptimistAtomicQueueB, 3,s: 12,381,976 msg/sec OptimistAtomicQueueB, 3,i: 12,655,208 msg/sec OptimistAtomicQueueB, 4,s: 11,412,875 msg/sec OptimistAtomicQueueB, 4,i: 12,917,418 msg/sec OptimistAtomicQueueB, 5,s: 13,478,408 msg/sec OptimistAtomicQueueB, 5,i: 13,372,075 msg/sec OptimistAtomicQueueB, 6,s: 13,941,437 msg/sec OptimistAtomicQueueB, 6,i: 13,769,233 msg/sec OptimistAtomicQueueB, 7,s: 13,207,805 msg/sec OptimistAtomicQueueB, 7,i: 13,280,314 msg/sec OptimistAtomicQueueB, 8,s: 10,274,495 msg/sec OptimistAtomicQueueB, 8,i: 10,454,499 msg/sec OptimistAtomicQueueB, 9,s: 10,114,407 msg/sec OptimistAtomicQueueB, 9,i: 10,208,305 msg/sec OptimistAtomicQueueB,10,s: 10,027,315 msg/sec OptimistAtomicQueueB,10,i: 10,186,170 msg/sec OptimistAtomicQueueB,11,s: 10,423,254 msg/sec OptimistAtomicQueueB,11,i: 10,814,954 msg/sec OptimistAtomicQueueB,12,s: 10,464,490 msg/sec OptimistAtomicQueueB,12,i: 10,813,061 msg/sec OptimistAtomicQueueB,13,s: 9,704,536 msg/sec OptimistAtomicQueueB,13,i: 10,610,538 msg/sec OptimistAtomicQueueB,14,s: 8,542,728 msg/sec OptimistAtomicQueueB,14,i: 9,728,188 msg/sec AtomicQueue2, 1,s: 10,647,308 msg/sec AtomicQueue2, 1,i: 10,897,341 msg/sec AtomicQueue2, 2,s: 2,828,684 msg/sec AtomicQueue2, 2,i: 3,628,845 msg/sec AtomicQueue2, 3,s: 2,531,902 msg/sec AtomicQueue2, 3,i: 3,023,885 msg/sec AtomicQueue2, 4,s: 2,341,538 msg/sec AtomicQueue2, 4,i: 2,469,427 msg/sec AtomicQueue2, 5,s: 2,231,637 msg/sec AtomicQueue2, 5,i: 2,193,660 msg/sec AtomicQueue2, 6,s: 1,892,371 msg/sec AtomicQueue2, 6,i: 1,977,763 msg/sec AtomicQueue2, 7,s: 1,880,965 msg/sec AtomicQueue2, 7,i: 1,795,511 msg/sec AtomicQueue2, 8,s: 904,606 msg/sec AtomicQueue2, 8,i: 1,194,915 msg/sec AtomicQueue2, 9,s: 725,279 msg/sec AtomicQueue2, 9,i: 500,286 msg/sec AtomicQueue2,10,s: 520,179 msg/sec AtomicQueue2,10,i: 519,946 msg/sec AtomicQueue2,11,s: 509,330 msg/sec AtomicQueue2,11,i: 506,268 msg/sec AtomicQueue2,12,s: 505,039 msg/sec AtomicQueue2,12,i: 511,041 msg/sec AtomicQueue2,13,s: 520,389 msg/sec AtomicQueue2,13,i: 508,200 msg/sec AtomicQueue2,14,s: 484,859 msg/sec AtomicQueue2,14,i: 519,060 msg/sec AtomicQueueB2, 1,s: 12,613,441 msg/sec AtomicQueueB2, 1,i: 12,813,418 msg/sec AtomicQueueB2, 2,s: 3,391,686 msg/sec AtomicQueueB2, 2,i: 3,044,647 msg/sec AtomicQueueB2, 3,s: 2,533,515 msg/sec AtomicQueueB2, 3,i: 2,907,688 msg/sec AtomicQueueB2, 4,s: 2,293,251 msg/sec AtomicQueueB2, 4,i: 2,605,954 msg/sec AtomicQueueB2, 5,s: 2,148,187 msg/sec AtomicQueueB2, 5,i: 2,207,180 msg/sec AtomicQueueB2, 6,s: 1,905,350 msg/sec AtomicQueueB2, 6,i: 2,017,099 msg/sec AtomicQueueB2, 7,s: 1,764,118 msg/sec AtomicQueueB2, 7,i: 1,804,003 msg/sec AtomicQueueB2, 8,s: 700,550 msg/sec AtomicQueueB2, 8,i: 1,321,716 msg/sec AtomicQueueB2, 9,s: 499,997 msg/sec AtomicQueueB2, 9,i: 1,092,445 msg/sec AtomicQueueB2,10,s: 788,850 msg/sec AtomicQueueB2,10,i: 498,745 msg/sec AtomicQueueB2,11,s: 537,575 msg/sec AtomicQueueB2,11,i: 537,431 msg/sec AtomicQueueB2,12,s: 510,213 msg/sec AtomicQueueB2,12,i: 506,635 msg/sec AtomicQueueB2,13,s: 533,008 msg/sec AtomicQueueB2,13,i: 530,179 msg/sec AtomicQueueB2,14,s: 514,726 msg/sec AtomicQueueB2,14,i: 540,902 msg/sec OptimistAtomicQueue2, 1,s: 103,853,865 msg/sec OptimistAtomicQueue2, 1,i: 143,693,486 msg/sec OptimistAtomicQueue2, 2,s: 6,560,439 msg/sec OptimistAtomicQueue2, 2,i: 6,552,789 msg/sec OptimistAtomicQueue2, 3,s: 9,939,939 msg/sec OptimistAtomicQueue2, 3,i: 11,927,772 msg/sec OptimistAtomicQueue2, 4,s: 11,846,192 msg/sec OptimistAtomicQueue2, 4,i: 10,897,283 msg/sec OptimistAtomicQueue2, 5,s: 8,789,009 msg/sec OptimistAtomicQueue2, 5,i: 12,681,340 msg/sec OptimistAtomicQueue2, 6,s: 12,323,867 msg/sec OptimistAtomicQueue2, 6,i: 12,884,596 msg/sec OptimistAtomicQueue2, 7,s: 12,891,622 msg/sec OptimistAtomicQueue2, 7,i: 13,192,346 msg/sec OptimistAtomicQueue2, 8,s: 10,214,948 msg/sec OptimistAtomicQueue2, 8,i: 10,248,621 msg/sec OptimistAtomicQueue2, 9,s: 10,226,054 msg/sec OptimistAtomicQueue2, 9,i: 9,661,887 msg/sec OptimistAtomicQueue2,10,s: 10,061,475 msg/sec OptimistAtomicQueue2,10,i: 9,517,417 msg/sec OptimistAtomicQueue2,11,s: 10,162,021 msg/sec OptimistAtomicQueue2,11,i: 9,798,499 msg/sec OptimistAtomicQueue2,12,s: 9,800,482 msg/sec OptimistAtomicQueue2,12,i: 10,053,263 msg/sec OptimistAtomicQueue2,13,s: 9,066,607 msg/sec OptimistAtomicQueue2,13,i: 9,845,208 msg/sec OptimistAtomicQueue2,14,s: 8,456,920 msg/sec OptimistAtomicQueue2,14,i: 10,224,645 msg/sec OptimistAtomicQueueB2, 1,s: 12,560,644 msg/sec OptimistAtomicQueueB2, 1,i: 12,638,605 msg/sec OptimistAtomicQueueB2, 2,s: 7,922,199 msg/sec OptimistAtomicQueueB2, 2,i: 8,573,753 msg/sec OptimistAtomicQueueB2, 3,s: 8,070,923 msg/sec OptimistAtomicQueueB2, 3,i: 9,883,051 msg/sec OptimistAtomicQueueB2, 4,s: 8,469,732 msg/sec OptimistAtomicQueueB2, 4,i: 8,685,145 msg/sec OptimistAtomicQueueB2, 5,s: 11,862,693 msg/sec OptimistAtomicQueueB2, 5,i: 12,232,699 msg/sec OptimistAtomicQueueB2, 6,s: 11,731,798 msg/sec OptimistAtomicQueueB2, 6,i: 10,335,569 msg/sec OptimistAtomicQueueB2, 7,s: 9,031,594 msg/sec OptimistAtomicQueueB2, 7,i: 13,193,566 msg/sec OptimistAtomicQueueB2, 8,s: 9,882,326 msg/sec OptimistAtomicQueueB2, 8,i: 9,981,414 msg/sec OptimistAtomicQueueB2, 9,s: 9,896,935 msg/sec OptimistAtomicQueueB2, 9,i: 9,499,086 msg/sec OptimistAtomicQueueB2,10,s: 9,916,322 msg/sec OptimistAtomicQueueB2,10,i: 9,597,590 msg/sec OptimistAtomicQueueB2,11,s: 9,097,932 msg/sec OptimistAtomicQueueB2,11,i: 9,772,919 msg/sec OptimistAtomicQueueB2,12,s: 9,526,950 msg/sec OptimistAtomicQueueB2,12,i: 9,596,315 msg/sec OptimistAtomicQueueB2,13,s: 8,422,719 msg/sec OptimistAtomicQueueB2,13,i: 9,220,914 msg/sec OptimistAtomicQueueB2,14,s: 7,869,662 msg/sec OptimistAtomicQueueB2,14,i: 9,806,806 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000405 sec/round-trip boost::lockfree::queue: 0.000000745 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000236 sec/round-trip moodycamel::ConcurrentQueue: 0.000000497 sec/round-trip pthread_spinlock: 0.000000775 sec/round-trip std::mutex: 0.000002199 sec/round-trip tbb::spin_mutex: 0.000000627 sec/round-trip tbb::concurrent_bounded_queue: 0.000000590 sec/round-trip xenium::michael_scott_queue: 0.000000773 sec/round-trip xenium::ramalhete_queue: 0.000000537 sec/round-trip xenium::vyukov_bounded_queue: 0.000000472 sec/round-trip AtomicQueue: 0.000000304 sec/round-trip AtomicQueueB: 0.000000390 sec/round-trip OptimistAtomicQueue: 0.000000294 sec/round-trip OptimistAtomicQueueB: 0.000000331 sec/round-trip AtomicQueue2: 0.000000347 sec/round-trip AtomicQueueB2: 0.000000462 sec/round-trip OptimistAtomicQueue2: 0.000000382 sec/round-trip OptimistAtomicQueueB2: 0.000000370 sec/round-trip [18/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 27,521,462 msg/sec boost::lockfree::spsc_queue, 1,i: 27,541,166 msg/sec boost::lockfree::queue, 1,s: 3,180,994 msg/sec boost::lockfree::queue, 1,i: 3,187,352 msg/sec boost::lockfree::queue, 2,s: 2,295,826 msg/sec boost::lockfree::queue, 2,i: 2,396,960 msg/sec boost::lockfree::queue, 3,s: 2,250,567 msg/sec boost::lockfree::queue, 3,i: 2,198,767 msg/sec boost::lockfree::queue, 4,s: 2,247,197 msg/sec boost::lockfree::queue, 4,i: 2,305,711 msg/sec boost::lockfree::queue, 5,s: 2,064,928 msg/sec boost::lockfree::queue, 5,i: 2,233,183 msg/sec boost::lockfree::queue, 6,s: 2,185,109 msg/sec boost::lockfree::queue, 6,i: 2,010,666 msg/sec boost::lockfree::queue, 7,s: 1,910,556 msg/sec boost::lockfree::queue, 7,i: 1,988,465 msg/sec boost::lockfree::queue, 8,s: 982,039 msg/sec boost::lockfree::queue, 8,i: 1,159,023 msg/sec boost::lockfree::queue, 9,s: 504,883 msg/sec boost::lockfree::queue, 9,i: 1,031,364 msg/sec boost::lockfree::queue,10,s: 863,049 msg/sec boost::lockfree::queue,10,i: 955,912 msg/sec boost::lockfree::queue,11,s: 707,709 msg/sec boost::lockfree::queue,11,i: 533,144 msg/sec boost::lockfree::queue,12,s: 519,778 msg/sec boost::lockfree::queue,12,i: 520,436 msg/sec boost::lockfree::queue,13,s: 516,450 msg/sec boost::lockfree::queue,13,i: 526,808 msg/sec boost::lockfree::queue,14,s: 682,209 msg/sec boost::lockfree::queue,14,i: 608,716 msg/sec moodycamel::ReaderWriterQueue, 1,s: 162,056,956 msg/sec moodycamel::ReaderWriterQueue, 1,i: 157,763,907 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,784,544 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,156,462 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,556,118 msg/sec moodycamel::ConcurrentQueue, 2,i: 6,085,037 msg/sec moodycamel::ConcurrentQueue, 3,s: 6,554,059 msg/sec moodycamel::ConcurrentQueue, 3,i: 7,235,119 msg/sec moodycamel::ConcurrentQueue, 4,s: 15,618,059 msg/sec moodycamel::ConcurrentQueue, 4,i: 15,945,096 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,975,325 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,859,553 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,459,023 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,677,005 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,731,129 msg/sec moodycamel::ConcurrentQueue, 7,i: 19,714,572 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,237,931 msg/sec moodycamel::ConcurrentQueue, 8,i: 16,992,772 msg/sec moodycamel::ConcurrentQueue, 9,s: 4,772,934 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,227,270 msg/sec moodycamel::ConcurrentQueue,10,s: 17,495,972 msg/sec moodycamel::ConcurrentQueue,10,i: 16,907,341 msg/sec moodycamel::ConcurrentQueue,11,s: 5,208,382 msg/sec moodycamel::ConcurrentQueue,11,i: 24,245,876 msg/sec moodycamel::ConcurrentQueue,12,s: 6,823,747 msg/sec moodycamel::ConcurrentQueue,12,i: 5,223,601 msg/sec moodycamel::ConcurrentQueue,13,s: 4,823,542 msg/sec moodycamel::ConcurrentQueue,13,i: 5,612,768 msg/sec moodycamel::ConcurrentQueue,14,s: 29,687,953 msg/sec moodycamel::ConcurrentQueue,14,i: 34,892,095 msg/sec pthread_spinlock, 1,s: 5,702,990 msg/sec pthread_spinlock, 1,i: 8,535,650 msg/sec pthread_spinlock, 2,s: 4,373,658 msg/sec pthread_spinlock, 2,i: 4,675,406 msg/sec pthread_spinlock, 3,s: 3,312,271 msg/sec pthread_spinlock, 3,i: 3,303,568 msg/sec pthread_spinlock, 4,s: 2,679,502 msg/sec pthread_spinlock, 4,i: 2,498,214 msg/sec pthread_spinlock, 5,s: 2,277,934 msg/sec pthread_spinlock, 5,i: 2,391,308 msg/sec pthread_spinlock, 6,s: 2,098,969 msg/sec pthread_spinlock, 6,i: 1,827,011 msg/sec pthread_spinlock, 7,s: 1,683,260 msg/sec pthread_spinlock, 7,i: 1,795,961 msg/sec pthread_spinlock, 8,s: 1,024,218 msg/sec pthread_spinlock, 8,i: 1,012,565 msg/sec pthread_spinlock, 9,s: 855,129 msg/sec pthread_spinlock, 9,i: 518,811 msg/sec pthread_spinlock,10,s: 514,868 msg/sec pthread_spinlock,10,i: 1,025,270 msg/sec pthread_spinlock,11,s: 499,037 msg/sec pthread_spinlock,11,i: 839,375 msg/sec pthread_spinlock,12,s: 548,003 msg/sec pthread_spinlock,12,i: 519,506 msg/sec pthread_spinlock,13,s: 517,810 msg/sec pthread_spinlock,13,i: 528,041 msg/sec pthread_spinlock,14,s: 517,501 msg/sec pthread_spinlock,14,i: 501,742 msg/sec std::mutex, 1,s: 5,366,408 msg/sec std::mutex, 1,i: 6,707,021 msg/sec std::mutex, 2,s: 4,848,378 msg/sec std::mutex, 2,i: 4,658,063 msg/sec std::mutex, 3,s: 3,116,676 msg/sec std::mutex, 3,i: 2,965,436 msg/sec std::mutex, 4,s: 2,903,297 msg/sec std::mutex, 4,i: 2,917,644 msg/sec std::mutex, 5,s: 3,628,237 msg/sec std::mutex, 5,i: 3,610,473 msg/sec std::mutex, 6,s: 4,648,573 msg/sec std::mutex, 6,i: 4,728,747 msg/sec std::mutex, 7,s: 6,225,813 msg/sec std::mutex, 7,i: 6,240,176 msg/sec std::mutex, 8,s: 6,580,293 msg/sec std::mutex, 8,i: 6,093,337 msg/sec std::mutex, 9,s: 6,219,565 msg/sec std::mutex, 9,i: 4,974,697 msg/sec std::mutex,10,s: 5,930,510 msg/sec std::mutex,10,i: 4,600,120 msg/sec std::mutex,11,s: 5,915,150 msg/sec std::mutex,11,i: 4,822,028 msg/sec std::mutex,12,s: 5,964,078 msg/sec std::mutex,12,i: 4,936,792 msg/sec std::mutex,13,s: 5,884,896 msg/sec std::mutex,13,i: 5,017,883 msg/sec std::mutex,14,s: 6,028,379 msg/sec std::mutex,14,i: 5,065,778 msg/sec tbb::spin_mutex, 1,s: 22,583,690 msg/sec tbb::spin_mutex, 1,i: 22,816,302 msg/sec tbb::spin_mutex, 2,s: 13,574,806 msg/sec tbb::spin_mutex, 2,i: 13,594,391 msg/sec tbb::spin_mutex, 3,s: 8,918,689 msg/sec tbb::spin_mutex, 3,i: 9,785,897 msg/sec tbb::spin_mutex, 4,s: 6,698,704 msg/sec tbb::spin_mutex, 4,i: 6,664,070 msg/sec tbb::spin_mutex, 5,s: 4,216,085 msg/sec tbb::spin_mutex, 5,i: 5,071,552 msg/sec tbb::spin_mutex, 6,s: 3,006,907 msg/sec tbb::spin_mutex, 6,i: 2,940,026 msg/sec tbb::spin_mutex, 7,s: 1,828,583 msg/sec tbb::spin_mutex, 7,i: 2,077,413 msg/sec tbb::spin_mutex, 8,s: 1,023,154 msg/sec tbb::spin_mutex, 8,i: 767,030 msg/sec tbb::spin_mutex, 9,s: 795,866 msg/sec tbb::spin_mutex, 9,i: 760,766 msg/sec tbb::spin_mutex,10,s: 668,448 msg/sec tbb::spin_mutex,10,i: 690,007 msg/sec tbb::spin_mutex,11,s: 612,826 msg/sec tbb::spin_mutex,11,i: 613,336 msg/sec tbb::spin_mutex,12,s: 388,001 msg/sec tbb::spin_mutex,12,i: 564,211 msg/sec tbb::spin_mutex,13,s: 392,848 msg/sec tbb::spin_mutex,13,i: 612,189 msg/sec tbb::spin_mutex,14,s: 438,240 msg/sec tbb::spin_mutex,14,i: 445,917 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,311,849 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,873,886 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,204,283 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,229,494 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,890,100 msg/sec tbb::concurrent_bounded_queue, 3,i: 3,560,222 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,677,989 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,652,227 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,025,958 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,300,239 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,767,624 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,915,814 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,552,193 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,727,226 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,357,444 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,972,968 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,191,640 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,453,286 msg/sec tbb::concurrent_bounded_queue,10,s: 1,217,591 msg/sec tbb::concurrent_bounded_queue,10,i: 1,295,303 msg/sec tbb::concurrent_bounded_queue,11,s: 1,235,838 msg/sec tbb::concurrent_bounded_queue,11,i: 1,250,815 msg/sec tbb::concurrent_bounded_queue,12,s: 1,269,297 msg/sec tbb::concurrent_bounded_queue,12,i: 1,248,029 msg/sec tbb::concurrent_bounded_queue,13,s: 1,181,094 msg/sec tbb::concurrent_bounded_queue,13,i: 1,156,097 msg/sec tbb::concurrent_bounded_queue,14,s: 1,101,892 msg/sec tbb::concurrent_bounded_queue,14,i: 976,737 msg/sec xenium::michael_scott_queue, 1,s: 2,322,595 msg/sec xenium::michael_scott_queue, 1,i: 2,128,536 msg/sec xenium::michael_scott_queue, 2,s: 1,987,279 msg/sec xenium::michael_scott_queue, 2,i: 2,613,033 msg/sec xenium::michael_scott_queue, 3,s: 2,194,685 msg/sec xenium::michael_scott_queue, 3,i: 2,251,560 msg/sec xenium::michael_scott_queue, 4,s: 2,076,471 msg/sec xenium::michael_scott_queue, 4,i: 2,116,644 msg/sec xenium::michael_scott_queue, 5,s: 1,966,815 msg/sec xenium::michael_scott_queue, 5,i: 2,145,286 msg/sec xenium::michael_scott_queue, 6,s: 1,657,326 msg/sec xenium::michael_scott_queue, 6,i: 1,794,074 msg/sec xenium::michael_scott_queue, 7,s: 1,578,052 msg/sec xenium::michael_scott_queue, 7,i: 1,602,222 msg/sec xenium::michael_scott_queue, 8,s: 1,148,404 msg/sec xenium::michael_scott_queue, 8,i: 1,259,966 msg/sec xenium::michael_scott_queue, 9,s: 928,840 msg/sec xenium::michael_scott_queue, 9,i: 1,157,058 msg/sec xenium::michael_scott_queue,10,s: 828,593 msg/sec xenium::michael_scott_queue,10,i: 571,234 msg/sec xenium::michael_scott_queue,11,s: 500,988 msg/sec xenium::michael_scott_queue,11,i: 507,842 msg/sec xenium::michael_scott_queue,12,s: 518,547 msg/sec xenium::michael_scott_queue,12,i: 516,769 msg/sec xenium::michael_scott_queue,13,s: 498,506 msg/sec xenium::michael_scott_queue,13,i: 526,355 msg/sec xenium::michael_scott_queue,14,s: 720,875 msg/sec xenium::michael_scott_queue,14,i: 845,423 msg/sec xenium::ramalhete_queue, 1,s: 11,324,749 msg/sec xenium::ramalhete_queue, 1,i: 3,675,471 msg/sec xenium::ramalhete_queue, 2,s: 6,433,524 msg/sec xenium::ramalhete_queue, 2,i: 8,133,186 msg/sec xenium::ramalhete_queue, 3,s: 10,963,393 msg/sec xenium::ramalhete_queue, 3,i: 10,913,098 msg/sec xenium::ramalhete_queue, 4,s: 9,985,751 msg/sec xenium::ramalhete_queue, 4,i: 11,311,730 msg/sec xenium::ramalhete_queue, 5,s: 10,448,989 msg/sec xenium::ramalhete_queue, 5,i: 9,152,442 msg/sec xenium::ramalhete_queue, 6,s: 8,274,858 msg/sec xenium::ramalhete_queue, 6,i: 8,355,557 msg/sec xenium::ramalhete_queue, 7,s: 8,064,854 msg/sec xenium::ramalhete_queue, 7,i: 10,850,343 msg/sec xenium::ramalhete_queue, 8,s: 7,790,325 msg/sec xenium::ramalhete_queue, 8,i: 8,521,504 msg/sec xenium::ramalhete_queue, 9,s: 8,100,927 msg/sec xenium::ramalhete_queue, 9,i: 7,476,644 msg/sec xenium::ramalhete_queue,10,s: 8,339,348 msg/sec xenium::ramalhete_queue,10,i: 8,179,490 msg/sec xenium::ramalhete_queue,11,s: 8,219,504 msg/sec xenium::ramalhete_queue,11,i: 8,468,367 msg/sec xenium::ramalhete_queue,12,s: 8,099,006 msg/sec xenium::ramalhete_queue,12,i: 8,118,479 msg/sec xenium::ramalhete_queue,13,s: 8,669,610 msg/sec xenium::ramalhete_queue,13,i: 8,041,748 msg/sec xenium::ramalhete_queue,14,s: 10,878,436 msg/sec xenium::ramalhete_queue,14,i: 8,588,775 msg/sec xenium::vyukov_bounded_queue, 1,s: 33,175,911 msg/sec xenium::vyukov_bounded_queue, 1,i: 38,743,017 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,322,957 msg/sec xenium::vyukov_bounded_queue, 2,i: 8,349,783 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,372,840 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,882,881 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,973,775 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,104,933 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,491,016 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,684,380 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,393,363 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,323,644 msg/sec xenium::vyukov_bounded_queue, 7,s: 2,895,165 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,837,895 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,384,094 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,666,308 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,261,263 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,523,303 msg/sec xenium::vyukov_bounded_queue,10,s: 1,173,792 msg/sec xenium::vyukov_bounded_queue,10,i: 1,456,806 msg/sec xenium::vyukov_bounded_queue,11,s: 1,122,390 msg/sec xenium::vyukov_bounded_queue,11,i: 1,267,442 msg/sec xenium::vyukov_bounded_queue,12,s: 1,147,447 msg/sec xenium::vyukov_bounded_queue,12,i: 1,160,870 msg/sec xenium::vyukov_bounded_queue,13,s: 856,249 msg/sec xenium::vyukov_bounded_queue,13,i: 1,081,424 msg/sec xenium::vyukov_bounded_queue,14,s: 966,137 msg/sec xenium::vyukov_bounded_queue,14,i: 1,086,741 msg/sec AtomicQueue, 1,s: 17,012,235 msg/sec AtomicQueue, 1,i: 9,606,294 msg/sec AtomicQueue, 2,s: 3,215,181 msg/sec AtomicQueue, 2,i: 3,675,482 msg/sec AtomicQueue, 3,s: 3,242,504 msg/sec AtomicQueue, 3,i: 3,159,639 msg/sec AtomicQueue, 4,s: 2,680,954 msg/sec AtomicQueue, 4,i: 2,579,896 msg/sec AtomicQueue, 5,s: 2,202,890 msg/sec AtomicQueue, 5,i: 2,427,214 msg/sec AtomicQueue, 6,s: 1,969,980 msg/sec AtomicQueue, 6,i: 2,193,952 msg/sec AtomicQueue, 7,s: 2,052,080 msg/sec AtomicQueue, 7,i: 1,735,322 msg/sec AtomicQueue, 8,s: 1,023,896 msg/sec AtomicQueue, 8,i: 1,649,388 msg/sec AtomicQueue, 9,s: 1,039,948 msg/sec AtomicQueue, 9,i: 1,076,817 msg/sec AtomicQueue,10,s: 857,906 msg/sec AtomicQueue,10,i: 515,737 msg/sec AtomicQueue,11,s: 510,698 msg/sec AtomicQueue,11,i: 502,777 msg/sec AtomicQueue,12,s: 527,520 msg/sec AtomicQueue,12,i: 511,756 msg/sec AtomicQueue,13,s: 506,060 msg/sec AtomicQueue,13,i: 787,277 msg/sec AtomicQueue,14,s: 505,252 msg/sec AtomicQueue,14,i: 915,959 msg/sec AtomicQueueB, 1,s: 11,991,928 msg/sec AtomicQueueB, 1,i: 12,202,264 msg/sec AtomicQueueB, 2,s: 2,844,041 msg/sec AtomicQueueB, 2,i: 4,008,082 msg/sec AtomicQueueB, 3,s: 2,788,040 msg/sec AtomicQueueB, 3,i: 3,146,741 msg/sec AtomicQueueB, 4,s: 2,341,528 msg/sec AtomicQueueB, 4,i: 2,597,325 msg/sec AtomicQueueB, 5,s: 2,220,383 msg/sec AtomicQueueB, 5,i: 2,397,506 msg/sec AtomicQueueB, 6,s: 1,923,851 msg/sec AtomicQueueB, 6,i: 2,159,333 msg/sec AtomicQueueB, 7,s: 2,184,936 msg/sec AtomicQueueB, 7,i: 1,753,141 msg/sec AtomicQueueB, 8,s: 710,940 msg/sec AtomicQueueB, 8,i: 1,307,044 msg/sec AtomicQueueB, 9,s: 738,109 msg/sec AtomicQueueB, 9,i: 1,164,633 msg/sec AtomicQueueB,10,s: 504,620 msg/sec AtomicQueueB,10,i: 553,944 msg/sec AtomicQueueB,11,s: 506,741 msg/sec AtomicQueueB,11,i: 534,363 msg/sec AtomicQueueB,12,s: 500,849 msg/sec AtomicQueueB,12,i: 509,317 msg/sec AtomicQueueB,13,s: 526,546 msg/sec AtomicQueueB,13,i: 500,476 msg/sec AtomicQueueB,14,s: 514,710 msg/sec AtomicQueueB,14,i: 850,197 msg/sec OptimistAtomicQueue, 1,s: 201,726,875 msg/sec OptimistAtomicQueue, 1,i: 203,640,879 msg/sec OptimistAtomicQueue, 2,s: 8,138,251 msg/sec OptimistAtomicQueue, 2,i: 9,480,163 msg/sec OptimistAtomicQueue, 3,s: 8,954,036 msg/sec OptimistAtomicQueue, 3,i: 9,764,593 msg/sec OptimistAtomicQueue, 4,s: 9,011,276 msg/sec OptimistAtomicQueue, 4,i: 9,816,855 msg/sec OptimistAtomicQueue, 5,s: 12,242,605 msg/sec OptimistAtomicQueue, 5,i: 13,510,583 msg/sec OptimistAtomicQueue, 6,s: 13,662,458 msg/sec OptimistAtomicQueue, 6,i: 13,891,095 msg/sec OptimistAtomicQueue, 7,s: 13,035,107 msg/sec OptimistAtomicQueue, 7,i: 13,771,033 msg/sec OptimistAtomicQueue, 8,s: 10,553,772 msg/sec OptimistAtomicQueue, 8,i: 10,861,497 msg/sec OptimistAtomicQueue, 9,s: 10,364,614 msg/sec OptimistAtomicQueue, 9,i: 10,620,046 msg/sec OptimistAtomicQueue,10,s: 10,198,364 msg/sec OptimistAtomicQueue,10,i: 10,389,212 msg/sec OptimistAtomicQueue,11,s: 10,751,370 msg/sec OptimistAtomicQueue,11,i: 10,908,919 msg/sec OptimistAtomicQueue,12,s: 10,544,202 msg/sec OptimistAtomicQueue,12,i: 11,167,593 msg/sec OptimistAtomicQueue,13,s: 9,689,261 msg/sec OptimistAtomicQueue,13,i: 10,639,227 msg/sec OptimistAtomicQueue,14,s: 8,598,043 msg/sec OptimistAtomicQueue,14,i: 11,405,748 msg/sec OptimistAtomicQueueB, 1,s: 27,563,378 msg/sec OptimistAtomicQueueB, 1,i: 28,088,125 msg/sec OptimistAtomicQueueB, 2,s: 10,975,175 msg/sec OptimistAtomicQueueB, 2,i: 11,865,067 msg/sec OptimistAtomicQueueB, 3,s: 11,542,177 msg/sec OptimistAtomicQueueB, 3,i: 12,643,984 msg/sec OptimistAtomicQueueB, 4,s: 12,962,126 msg/sec OptimistAtomicQueueB, 4,i: 12,922,151 msg/sec OptimistAtomicQueueB, 5,s: 12,687,606 msg/sec OptimistAtomicQueueB, 5,i: 13,316,757 msg/sec OptimistAtomicQueueB, 6,s: 13,336,585 msg/sec OptimistAtomicQueueB, 6,i: 13,649,375 msg/sec OptimistAtomicQueueB, 7,s: 12,849,152 msg/sec OptimistAtomicQueueB, 7,i: 13,456,892 msg/sec OptimistAtomicQueueB, 8,s: 10,481,816 msg/sec OptimistAtomicQueueB, 8,i: 10,793,013 msg/sec OptimistAtomicQueueB, 9,s: 10,413,661 msg/sec OptimistAtomicQueueB, 9,i: 10,524,523 msg/sec OptimistAtomicQueueB,10,s: 10,544,503 msg/sec OptimistAtomicQueueB,10,i: 10,511,061 msg/sec OptimistAtomicQueueB,11,s: 10,920,443 msg/sec OptimistAtomicQueueB,11,i: 11,086,659 msg/sec OptimistAtomicQueueB,12,s: 10,063,604 msg/sec OptimistAtomicQueueB,12,i: 10,938,233 msg/sec OptimistAtomicQueueB,13,s: 9,338,546 msg/sec OptimistAtomicQueueB,13,i: 10,917,210 msg/sec OptimistAtomicQueueB,14,s: 8,849,650 msg/sec OptimistAtomicQueueB,14,i: 11,186,976 msg/sec AtomicQueue2, 1,s: 8,612,790 msg/sec AtomicQueue2, 1,i: 8,628,841 msg/sec AtomicQueue2, 2,s: 3,885,857 msg/sec AtomicQueue2, 2,i: 4,251,633 msg/sec AtomicQueue2, 3,s: 2,597,561 msg/sec AtomicQueue2, 3,i: 3,123,948 msg/sec AtomicQueue2, 4,s: 2,543,250 msg/sec AtomicQueue2, 4,i: 2,871,539 msg/sec AtomicQueue2, 5,s: 2,160,161 msg/sec AtomicQueue2, 5,i: 2,422,692 msg/sec AtomicQueue2, 6,s: 1,939,529 msg/sec AtomicQueue2, 6,i: 2,005,547 msg/sec AtomicQueue2, 7,s: 1,725,791 msg/sec AtomicQueue2, 7,i: 1,776,226 msg/sec AtomicQueue2, 8,s: 1,197,448 msg/sec AtomicQueue2, 8,i: 1,543,280 msg/sec AtomicQueue2, 9,s: 1,208,711 msg/sec AtomicQueue2, 9,i: 1,178,096 msg/sec AtomicQueue2,10,s: 907,811 msg/sec AtomicQueue2,10,i: 503,431 msg/sec AtomicQueue2,11,s: 503,459 msg/sec AtomicQueue2,11,i: 508,797 msg/sec AtomicQueue2,12,s: 516,812 msg/sec AtomicQueue2,12,i: 509,536 msg/sec AtomicQueue2,13,s: 523,576 msg/sec AtomicQueue2,13,i: 510,649 msg/sec AtomicQueue2,14,s: 690,274 msg/sec AtomicQueue2,14,i: 513,256 msg/sec AtomicQueueB2, 1,s: 8,908,108 msg/sec AtomicQueueB2, 1,i: 11,156,871 msg/sec AtomicQueueB2, 2,s: 3,138,342 msg/sec AtomicQueueB2, 2,i: 3,961,903 msg/sec AtomicQueueB2, 3,s: 2,622,907 msg/sec AtomicQueueB2, 3,i: 3,109,984 msg/sec AtomicQueueB2, 4,s: 2,346,194 msg/sec AtomicQueueB2, 4,i: 2,452,347 msg/sec AtomicQueueB2, 5,s: 2,210,912 msg/sec AtomicQueueB2, 5,i: 2,131,263 msg/sec AtomicQueueB2, 6,s: 1,976,881 msg/sec AtomicQueueB2, 6,i: 1,989,074 msg/sec AtomicQueueB2, 7,s: 1,765,068 msg/sec AtomicQueueB2, 7,i: 1,922,994 msg/sec AtomicQueueB2, 8,s: 779,394 msg/sec AtomicQueueB2, 8,i: 1,229,186 msg/sec AtomicQueueB2, 9,s: 717,817 msg/sec AtomicQueueB2, 9,i: 1,057,296 msg/sec AtomicQueueB2,10,s: 915,127 msg/sec AtomicQueueB2,10,i: 913,862 msg/sec AtomicQueueB2,11,s: 562,736 msg/sec AtomicQueueB2,11,i: 503,908 msg/sec AtomicQueueB2,12,s: 498,500 msg/sec AtomicQueueB2,12,i: 517,411 msg/sec AtomicQueueB2,13,s: 690,785 msg/sec AtomicQueueB2,13,i: 571,881 msg/sec AtomicQueueB2,14,s: 510,166 msg/sec AtomicQueueB2,14,i: 514,283 msg/sec OptimistAtomicQueue2, 1,s: 92,275,006 msg/sec OptimistAtomicQueue2, 1,i: 99,958,932 msg/sec OptimistAtomicQueue2, 2,s: 7,122,430 msg/sec OptimistAtomicQueue2, 2,i: 7,531,357 msg/sec OptimistAtomicQueue2, 3,s: 8,230,154 msg/sec OptimistAtomicQueue2, 3,i: 12,093,696 msg/sec OptimistAtomicQueue2, 4,s: 10,450,665 msg/sec OptimistAtomicQueue2, 4,i: 11,893,429 msg/sec OptimistAtomicQueue2, 5,s: 12,575,046 msg/sec OptimistAtomicQueue2, 5,i: 13,086,362 msg/sec OptimistAtomicQueue2, 6,s: 12,274,781 msg/sec OptimistAtomicQueue2, 6,i: 9,389,594 msg/sec OptimistAtomicQueue2, 7,s: 10,927,851 msg/sec OptimistAtomicQueue2, 7,i: 13,227,621 msg/sec OptimistAtomicQueue2, 8,s: 10,824,198 msg/sec OptimistAtomicQueue2, 8,i: 11,031,293 msg/sec OptimistAtomicQueue2, 9,s: 10,626,566 msg/sec OptimistAtomicQueue2, 9,i: 10,025,939 msg/sec OptimistAtomicQueue2,10,s: 10,455,874 msg/sec OptimistAtomicQueue2,10,i: 9,797,866 msg/sec OptimistAtomicQueue2,11,s: 10,069,604 msg/sec OptimistAtomicQueue2,11,i: 9,971,374 msg/sec OptimistAtomicQueue2,12,s: 9,711,239 msg/sec OptimistAtomicQueue2,12,i: 9,872,644 msg/sec OptimistAtomicQueue2,13,s: 9,144,879 msg/sec OptimistAtomicQueue2,13,i: 10,382,367 msg/sec OptimistAtomicQueue2,14,s: 8,655,750 msg/sec OptimistAtomicQueue2,14,i: 10,553,104 msg/sec OptimistAtomicQueueB2, 1,s: 22,486,810 msg/sec OptimistAtomicQueueB2, 1,i: 22,768,284 msg/sec OptimistAtomicQueueB2, 2,s: 8,454,247 msg/sec OptimistAtomicQueueB2, 2,i: 7,154,718 msg/sec OptimistAtomicQueueB2, 3,s: 9,765,984 msg/sec OptimistAtomicQueueB2, 3,i: 8,866,814 msg/sec OptimistAtomicQueueB2, 4,s: 8,358,266 msg/sec OptimistAtomicQueueB2, 4,i: 8,838,464 msg/sec OptimistAtomicQueueB2, 5,s: 11,818,711 msg/sec OptimistAtomicQueueB2, 5,i: 9,310,021 msg/sec OptimistAtomicQueueB2, 6,s: 9,198,551 msg/sec OptimistAtomicQueueB2, 6,i: 11,141,630 msg/sec OptimistAtomicQueueB2, 7,s: 12,574,932 msg/sec OptimistAtomicQueueB2, 7,i: 12,639,522 msg/sec OptimistAtomicQueueB2, 8,s: 9,960,065 msg/sec OptimistAtomicQueueB2, 8,i: 10,137,290 msg/sec OptimistAtomicQueueB2, 9,s: 9,979,054 msg/sec OptimistAtomicQueueB2, 9,i: 9,830,355 msg/sec OptimistAtomicQueueB2,10,s: 9,783,563 msg/sec OptimistAtomicQueueB2,10,i: 9,563,752 msg/sec OptimistAtomicQueueB2,11,s: 9,397,095 msg/sec OptimistAtomicQueueB2,11,i: 9,645,886 msg/sec OptimistAtomicQueueB2,12,s: 9,494,361 msg/sec OptimistAtomicQueueB2,12,i: 9,861,249 msg/sec OptimistAtomicQueueB2,13,s: 8,475,196 msg/sec OptimistAtomicQueueB2,13,i: 10,026,504 msg/sec OptimistAtomicQueueB2,14,s: 7,855,027 msg/sec OptimistAtomicQueueB2,14,i: 10,370,246 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000417 sec/round-trip boost::lockfree::queue: 0.000001135 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000474 sec/round-trip moodycamel::ConcurrentQueue: 0.000000741 sec/round-trip pthread_spinlock: 0.000001276 sec/round-trip std::mutex: 0.000003180 sec/round-trip tbb::spin_mutex: 0.000001050 sec/round-trip tbb::concurrent_bounded_queue: 0.000000967 sec/round-trip xenium::michael_scott_queue: 0.000001255 sec/round-trip xenium::ramalhete_queue: 0.000000870 sec/round-trip xenium::vyukov_bounded_queue: 0.000000672 sec/round-trip AtomicQueue: 0.000000458 sec/round-trip AtomicQueueB: 0.000000588 sec/round-trip OptimistAtomicQueue: 0.000000421 sec/round-trip OptimistAtomicQueueB: 0.000000498 sec/round-trip AtomicQueue2: 0.000000524 sec/round-trip AtomicQueueB2: 0.000000674 sec/round-trip OptimistAtomicQueue2: 0.000000526 sec/round-trip OptimistAtomicQueueB2: 0.000000572 sec/round-trip [19/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 23,481,250 msg/sec boost::lockfree::spsc_queue, 1,i: 23,709,174 msg/sec boost::lockfree::queue, 1,s: 2,744,189 msg/sec boost::lockfree::queue, 1,i: 2,875,190 msg/sec boost::lockfree::queue, 2,s: 2,550,892 msg/sec boost::lockfree::queue, 2,i: 2,436,593 msg/sec boost::lockfree::queue, 3,s: 2,296,167 msg/sec boost::lockfree::queue, 3,i: 2,030,409 msg/sec boost::lockfree::queue, 4,s: 2,214,916 msg/sec boost::lockfree::queue, 4,i: 2,318,177 msg/sec boost::lockfree::queue, 5,s: 2,285,365 msg/sec boost::lockfree::queue, 5,i: 2,257,671 msg/sec boost::lockfree::queue, 6,s: 2,019,749 msg/sec boost::lockfree::queue, 6,i: 2,054,653 msg/sec boost::lockfree::queue, 7,s: 1,964,619 msg/sec boost::lockfree::queue, 7,i: 1,765,132 msg/sec boost::lockfree::queue, 8,s: 836,267 msg/sec boost::lockfree::queue, 8,i: 1,047,796 msg/sec boost::lockfree::queue, 9,s: 542,417 msg/sec boost::lockfree::queue, 9,i: 1,063,736 msg/sec boost::lockfree::queue,10,s: 724,569 msg/sec boost::lockfree::queue,10,i: 1,033,773 msg/sec boost::lockfree::queue,11,s: 510,688 msg/sec boost::lockfree::queue,11,i: 515,195 msg/sec boost::lockfree::queue,12,s: 663,953 msg/sec boost::lockfree::queue,12,i: 789,407 msg/sec boost::lockfree::queue,13,s: 500,262 msg/sec boost::lockfree::queue,13,i: 521,233 msg/sec boost::lockfree::queue,14,s: 505,353 msg/sec boost::lockfree::queue,14,i: 715,774 msg/sec moodycamel::ReaderWriterQueue, 1,s: 173,940,711 msg/sec moodycamel::ReaderWriterQueue, 1,i: 252,335,804 msg/sec moodycamel::ConcurrentQueue, 1,s: 7,327,672 msg/sec moodycamel::ConcurrentQueue, 1,i: 7,259,482 msg/sec moodycamel::ConcurrentQueue, 2,s: 3,299,332 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,180,938 msg/sec moodycamel::ConcurrentQueue, 3,s: 4,242,518 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,111,462 msg/sec moodycamel::ConcurrentQueue, 4,s: 12,204,049 msg/sec moodycamel::ConcurrentQueue, 4,i: 14,531,944 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,304,420 msg/sec moodycamel::ConcurrentQueue, 5,i: 11,547,695 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,330,268 msg/sec moodycamel::ConcurrentQueue, 6,i: 16,661,074 msg/sec moodycamel::ConcurrentQueue, 7,s: 11,692,022 msg/sec moodycamel::ConcurrentQueue, 7,i: 17,468,358 msg/sec moodycamel::ConcurrentQueue, 8,s: 4,562,881 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,609,962 msg/sec moodycamel::ConcurrentQueue, 9,s: 4,899,949 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,180,300 msg/sec moodycamel::ConcurrentQueue,10,s: 5,557,720 msg/sec moodycamel::ConcurrentQueue,10,i: 9,637,981 msg/sec moodycamel::ConcurrentQueue,11,s: 4,631,325 msg/sec moodycamel::ConcurrentQueue,11,i: 16,707,585 msg/sec moodycamel::ConcurrentQueue,12,s: 4,976,447 msg/sec moodycamel::ConcurrentQueue,12,i: 5,350,398 msg/sec moodycamel::ConcurrentQueue,13,s: 27,266,980 msg/sec moodycamel::ConcurrentQueue,13,i: 9,177,670 msg/sec moodycamel::ConcurrentQueue,14,s: 7,196,772 msg/sec moodycamel::ConcurrentQueue,14,i: 26,433,778 msg/sec pthread_spinlock, 1,s: 6,155,789 msg/sec pthread_spinlock, 1,i: 5,028,064 msg/sec pthread_spinlock, 2,s: 4,103,864 msg/sec pthread_spinlock, 2,i: 3,509,060 msg/sec pthread_spinlock, 3,s: 3,229,140 msg/sec pthread_spinlock, 3,i: 3,404,700 msg/sec pthread_spinlock, 4,s: 2,753,110 msg/sec pthread_spinlock, 4,i: 2,590,478 msg/sec pthread_spinlock, 5,s: 2,270,806 msg/sec pthread_spinlock, 5,i: 2,130,103 msg/sec pthread_spinlock, 6,s: 1,926,432 msg/sec pthread_spinlock, 6,i: 1,910,977 msg/sec pthread_spinlock, 7,s: 1,720,624 msg/sec pthread_spinlock, 7,i: 1,771,955 msg/sec pthread_spinlock, 8,s: 1,154,761 msg/sec pthread_spinlock, 8,i: 1,128,435 msg/sec pthread_spinlock, 9,s: 862,615 msg/sec pthread_spinlock, 9,i: 1,013,281 msg/sec pthread_spinlock,10,s: 815,756 msg/sec pthread_spinlock,10,i: 639,702 msg/sec pthread_spinlock,11,s: 497,072 msg/sec pthread_spinlock,11,i: 775,134 msg/sec pthread_spinlock,12,s: 762,711 msg/sec pthread_spinlock,12,i: 590,533 msg/sec pthread_spinlock,13,s: 518,304 msg/sec pthread_spinlock,13,i: 762,387 msg/sec pthread_spinlock,14,s: 531,007 msg/sec pthread_spinlock,14,i: 512,824 msg/sec std::mutex, 1,s: 547,586 msg/sec std::mutex, 1,i: 5,832,166 msg/sec std::mutex, 2,s: 4,440,658 msg/sec std::mutex, 2,i: 4,399,523 msg/sec std::mutex, 3,s: 3,014,295 msg/sec std::mutex, 3,i: 2,839,278 msg/sec std::mutex, 4,s: 2,806,775 msg/sec std::mutex, 4,i: 2,767,091 msg/sec std::mutex, 5,s: 3,511,814 msg/sec std::mutex, 5,i: 3,447,609 msg/sec std::mutex, 6,s: 4,566,364 msg/sec std::mutex, 6,i: 4,591,006 msg/sec std::mutex, 7,s: 6,071,252 msg/sec std::mutex, 7,i: 6,060,323 msg/sec std::mutex, 8,s: 6,532,494 msg/sec std::mutex, 8,i: 5,899,492 msg/sec std::mutex, 9,s: 5,820,065 msg/sec std::mutex, 9,i: 5,177,918 msg/sec std::mutex,10,s: 5,373,839 msg/sec std::mutex,10,i: 5,132,291 msg/sec std::mutex,11,s: 5,078,907 msg/sec std::mutex,11,i: 5,128,496 msg/sec std::mutex,12,s: 4,943,990 msg/sec std::mutex,12,i: 5,103,651 msg/sec std::mutex,13,s: 4,727,868 msg/sec std::mutex,13,i: 5,155,320 msg/sec std::mutex,14,s: 4,609,743 msg/sec std::mutex,14,i: 5,182,342 msg/sec tbb::spin_mutex, 1,s: 23,029,768 msg/sec tbb::spin_mutex, 1,i: 23,228,460 msg/sec tbb::spin_mutex, 2,s: 11,103,517 msg/sec tbb::spin_mutex, 2,i: 9,894,657 msg/sec tbb::spin_mutex, 3,s: 9,518,975 msg/sec tbb::spin_mutex, 3,i: 8,713,883 msg/sec tbb::spin_mutex, 4,s: 7,289,202 msg/sec tbb::spin_mutex, 4,i: 6,989,091 msg/sec tbb::spin_mutex, 5,s: 4,406,845 msg/sec tbb::spin_mutex, 5,i: 4,058,899 msg/sec tbb::spin_mutex, 6,s: 3,524,184 msg/sec tbb::spin_mutex, 6,i: 4,200,007 msg/sec tbb::spin_mutex, 7,s: 1,534,161 msg/sec tbb::spin_mutex, 7,i: 2,236,887 msg/sec tbb::spin_mutex, 8,s: 1,122,268 msg/sec tbb::spin_mutex, 8,i: 1,190,762 msg/sec tbb::spin_mutex, 9,s: 729,293 msg/sec tbb::spin_mutex, 9,i: 925,941 msg/sec tbb::spin_mutex,10,s: 719,452 msg/sec tbb::spin_mutex,10,i: 686,083 msg/sec tbb::spin_mutex,11,s: 641,797 msg/sec tbb::spin_mutex,11,i: 612,713 msg/sec tbb::spin_mutex,12,s: 559,997 msg/sec tbb::spin_mutex,12,i: 571,725 msg/sec tbb::spin_mutex,13,s: 466,430 msg/sec tbb::spin_mutex,13,i: 441,924 msg/sec tbb::spin_mutex,14,s: 392,604 msg/sec tbb::spin_mutex,14,i: 473,804 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,557,002 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,620,768 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,901,949 msg/sec tbb::concurrent_bounded_queue, 2,i: 4,964,101 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,943,725 msg/sec tbb::concurrent_bounded_queue, 3,i: 3,996,728 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,447,732 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,441,669 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,980,719 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,035,843 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,535,266 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,940,280 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,476,181 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,642,349 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,193,723 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,246,476 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,052,607 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,963,055 msg/sec tbb::concurrent_bounded_queue,10,s: 963,985 msg/sec tbb::concurrent_bounded_queue,10,i: 1,849,948 msg/sec tbb::concurrent_bounded_queue,11,s: 989,238 msg/sec tbb::concurrent_bounded_queue,11,i: 1,337,831 msg/sec tbb::concurrent_bounded_queue,12,s: 1,031,650 msg/sec tbb::concurrent_bounded_queue,12,i: 1,536,817 msg/sec tbb::concurrent_bounded_queue,13,s: 1,062,865 msg/sec tbb::concurrent_bounded_queue,13,i: 1,100,088 msg/sec tbb::concurrent_bounded_queue,14,s: 1,026,139 msg/sec tbb::concurrent_bounded_queue,14,i: 962,517 msg/sec xenium::michael_scott_queue, 1,s: 3,751,432 msg/sec xenium::michael_scott_queue, 1,i: 4,129,218 msg/sec xenium::michael_scott_queue, 2,s: 3,672,290 msg/sec xenium::michael_scott_queue, 2,i: 3,599,129 msg/sec xenium::michael_scott_queue, 3,s: 2,824,672 msg/sec xenium::michael_scott_queue, 3,i: 2,427,196 msg/sec xenium::michael_scott_queue, 4,s: 1,927,243 msg/sec xenium::michael_scott_queue, 4,i: 2,188,932 msg/sec xenium::michael_scott_queue, 5,s: 1,746,406 msg/sec xenium::michael_scott_queue, 5,i: 1,775,774 msg/sec xenium::michael_scott_queue, 6,s: 1,686,910 msg/sec xenium::michael_scott_queue, 6,i: 1,837,414 msg/sec xenium::michael_scott_queue, 7,s: 1,636,013 msg/sec xenium::michael_scott_queue, 7,i: 1,754,067 msg/sec xenium::michael_scott_queue, 8,s: 717,649 msg/sec xenium::michael_scott_queue, 8,i: 1,483,203 msg/sec xenium::michael_scott_queue, 9,s: 674,119 msg/sec xenium::michael_scott_queue, 9,i: 1,220,365 msg/sec xenium::michael_scott_queue,10,s: 782,274 msg/sec xenium::michael_scott_queue,10,i: 1,049,248 msg/sec xenium::michael_scott_queue,11,s: 881,384 msg/sec xenium::michael_scott_queue,11,i: 1,025,932 msg/sec xenium::michael_scott_queue,12,s: 655,650 msg/sec xenium::michael_scott_queue,12,i: 601,659 msg/sec xenium::michael_scott_queue,13,s: 510,175 msg/sec xenium::michael_scott_queue,13,i: 532,960 msg/sec xenium::michael_scott_queue,14,s: 503,284 msg/sec xenium::michael_scott_queue,14,i: 524,520 msg/sec xenium::ramalhete_queue, 1,s: 6,331,262 msg/sec xenium::ramalhete_queue, 1,i: 11,370,767 msg/sec xenium::ramalhete_queue, 2,s: 5,121,269 msg/sec xenium::ramalhete_queue, 2,i: 5,853,527 msg/sec xenium::ramalhete_queue, 3,s: 6,049,197 msg/sec xenium::ramalhete_queue, 3,i: 6,696,972 msg/sec xenium::ramalhete_queue, 4,s: 7,535,929 msg/sec xenium::ramalhete_queue, 4,i: 7,923,927 msg/sec xenium::ramalhete_queue, 5,s: 8,094,937 msg/sec xenium::ramalhete_queue, 5,i: 8,103,181 msg/sec xenium::ramalhete_queue, 6,s: 7,933,877 msg/sec xenium::ramalhete_queue, 6,i: 10,933,313 msg/sec xenium::ramalhete_queue, 7,s: 11,410,513 msg/sec xenium::ramalhete_queue, 7,i: 11,334,207 msg/sec xenium::ramalhete_queue, 8,s: 7,417,950 msg/sec xenium::ramalhete_queue, 8,i: 8,332,071 msg/sec xenium::ramalhete_queue, 9,s: 8,308,496 msg/sec xenium::ramalhete_queue, 9,i: 7,610,355 msg/sec xenium::ramalhete_queue,10,s: 8,313,300 msg/sec xenium::ramalhete_queue,10,i: 8,125,663 msg/sec xenium::ramalhete_queue,11,s: 8,637,006 msg/sec xenium::ramalhete_queue,11,i: 8,080,621 msg/sec xenium::ramalhete_queue,12,s: 8,261,380 msg/sec xenium::ramalhete_queue,12,i: 8,501,725 msg/sec xenium::ramalhete_queue,13,s: 8,550,440 msg/sec xenium::ramalhete_queue,13,i: 7,970,570 msg/sec xenium::ramalhete_queue,14,s: 10,541,034 msg/sec xenium::ramalhete_queue,14,i: 8,057,278 msg/sec xenium::vyukov_bounded_queue, 1,s: 24,516,931 msg/sec xenium::vyukov_bounded_queue, 1,i: 29,725,631 msg/sec xenium::vyukov_bounded_queue, 2,s: 8,326,005 msg/sec xenium::vyukov_bounded_queue, 2,i: 6,175,121 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,472,578 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,635,528 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,788,784 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,874,913 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,597,468 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,536,137 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,196,690 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,316,528 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,062,238 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,984,409 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,363,393 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,748,524 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,184,574 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,592,299 msg/sec xenium::vyukov_bounded_queue,10,s: 1,042,077 msg/sec xenium::vyukov_bounded_queue,10,i: 1,680,420 msg/sec xenium::vyukov_bounded_queue,11,s: 1,064,528 msg/sec xenium::vyukov_bounded_queue,11,i: 1,430,844 msg/sec xenium::vyukov_bounded_queue,12,s: 1,060,421 msg/sec xenium::vyukov_bounded_queue,12,i: 1,200,049 msg/sec xenium::vyukov_bounded_queue,13,s: 696,768 msg/sec xenium::vyukov_bounded_queue,13,i: 1,115,721 msg/sec xenium::vyukov_bounded_queue,14,s: 499,930 msg/sec xenium::vyukov_bounded_queue,14,i: 528,992 msg/sec AtomicQueue, 1,s: 29,151,702 msg/sec AtomicQueue, 1,i: 25,570,233 msg/sec AtomicQueue, 2,s: 3,191,330 msg/sec AtomicQueue, 2,i: 3,280,890 msg/sec AtomicQueue, 3,s: 2,709,181 msg/sec AtomicQueue, 3,i: 2,804,981 msg/sec AtomicQueue, 4,s: 2,470,614 msg/sec AtomicQueue, 4,i: 2,499,974 msg/sec AtomicQueue, 5,s: 2,124,844 msg/sec AtomicQueue, 5,i: 2,156,478 msg/sec AtomicQueue, 6,s: 1,899,246 msg/sec AtomicQueue, 6,i: 1,984,725 msg/sec AtomicQueue, 7,s: 1,738,493 msg/sec AtomicQueue, 7,i: 1,811,661 msg/sec AtomicQueue, 8,s: 510,943 msg/sec AtomicQueue, 8,i: 1,504,840 msg/sec AtomicQueue, 9,s: 540,914 msg/sec AtomicQueue, 9,i: 1,440,931 msg/sec AtomicQueue,10,s: 599,868 msg/sec AtomicQueue,10,i: 1,361,703 msg/sec AtomicQueue,11,s: 621,289 msg/sec AtomicQueue,11,i: 1,238,447 msg/sec AtomicQueue,12,s: 727,638 msg/sec AtomicQueue,12,i: 1,023,713 msg/sec AtomicQueue,13,s: 671,912 msg/sec AtomicQueue,13,i: 1,051,068 msg/sec AtomicQueue,14,s: 556,803 msg/sec AtomicQueue,14,i: 552,712 msg/sec AtomicQueueB, 1,s: 14,228,967 msg/sec AtomicQueueB, 1,i: 14,326,750 msg/sec AtomicQueueB, 2,s: 3,260,798 msg/sec AtomicQueueB, 2,i: 3,785,425 msg/sec AtomicQueueB, 3,s: 2,548,365 msg/sec AtomicQueueB, 3,i: 2,713,646 msg/sec AtomicQueueB, 4,s: 2,324,783 msg/sec AtomicQueueB, 4,i: 2,470,649 msg/sec AtomicQueueB, 5,s: 2,123,524 msg/sec AtomicQueueB, 5,i: 2,278,368 msg/sec AtomicQueueB, 6,s: 1,835,481 msg/sec AtomicQueueB, 6,i: 2,023,881 msg/sec AtomicQueueB, 7,s: 1,699,053 msg/sec AtomicQueueB, 7,i: 1,850,542 msg/sec AtomicQueueB, 8,s: 702,206 msg/sec AtomicQueueB, 8,i: 1,680,613 msg/sec AtomicQueueB, 9,s: 565,952 msg/sec AtomicQueueB, 9,i: 1,394,744 msg/sec AtomicQueueB,10,s: 512,151 msg/sec AtomicQueueB,10,i: 1,394,926 msg/sec AtomicQueueB,11,s: 541,537 msg/sec AtomicQueueB,11,i: 1,235,536 msg/sec AtomicQueueB,12,s: 498,435 msg/sec AtomicQueueB,12,i: 565,129 msg/sec AtomicQueueB,13,s: 521,715 msg/sec AtomicQueueB,13,i: 857,638 msg/sec AtomicQueueB,14,s: 718,437 msg/sec AtomicQueueB,14,i: 504,482 msg/sec OptimistAtomicQueue, 1,s: 147,968,225 msg/sec OptimistAtomicQueue, 1,i: 80,788,134 msg/sec OptimistAtomicQueue, 2,s: 8,860,652 msg/sec OptimistAtomicQueue, 2,i: 7,595,639 msg/sec OptimistAtomicQueue, 3,s: 12,067,129 msg/sec OptimistAtomicQueue, 3,i: 10,837,808 msg/sec OptimistAtomicQueue, 4,s: 13,222,348 msg/sec OptimistAtomicQueue, 4,i: 13,080,786 msg/sec OptimistAtomicQueue, 5,s: 12,299,122 msg/sec OptimistAtomicQueue, 5,i: 10,702,286 msg/sec OptimistAtomicQueue, 6,s: 12,528,186 msg/sec OptimistAtomicQueue, 6,i: 13,435,086 msg/sec OptimistAtomicQueue, 7,s: 13,959,237 msg/sec OptimistAtomicQueue, 7,i: 14,183,989 msg/sec OptimistAtomicQueue, 8,s: 9,590,101 msg/sec OptimistAtomicQueue, 8,i: 9,537,850 msg/sec OptimistAtomicQueue, 9,s: 8,379,275 msg/sec OptimistAtomicQueue, 9,i: 9,810,370 msg/sec OptimistAtomicQueue,10,s: 7,927,881 msg/sec OptimistAtomicQueue,10,i: 11,070,274 msg/sec OptimistAtomicQueue,11,s: 7,809,733 msg/sec OptimistAtomicQueue,11,i: 10,271,234 msg/sec OptimistAtomicQueue,12,s: 8,027,394 msg/sec OptimistAtomicQueue,12,i: 10,787,187 msg/sec OptimistAtomicQueue,13,s: 8,059,914 msg/sec OptimistAtomicQueue,13,i: 10,576,092 msg/sec OptimistAtomicQueue,14,s: 8,206,781 msg/sec OptimistAtomicQueue,14,i: 10,236,311 msg/sec OptimistAtomicQueueB, 1,s: 33,482,543 msg/sec OptimistAtomicQueueB, 1,i: 34,077,228 msg/sec OptimistAtomicQueueB, 2,s: 11,385,257 msg/sec OptimistAtomicQueueB, 2,i: 11,886,581 msg/sec OptimistAtomicQueueB, 3,s: 10,271,957 msg/sec OptimistAtomicQueueB, 3,i: 8,810,932 msg/sec OptimistAtomicQueueB, 4,s: 12,137,036 msg/sec OptimistAtomicQueueB, 4,i: 13,198,875 msg/sec OptimistAtomicQueueB, 5,s: 13,644,820 msg/sec OptimistAtomicQueueB, 5,i: 11,956,664 msg/sec OptimistAtomicQueueB, 6,s: 12,624,801 msg/sec OptimistAtomicQueueB, 6,i: 12,053,158 msg/sec OptimistAtomicQueueB, 7,s: 14,080,905 msg/sec OptimistAtomicQueueB, 7,i: 13,972,321 msg/sec OptimistAtomicQueueB, 8,s: 9,550,781 msg/sec OptimistAtomicQueueB, 8,i: 11,384,790 msg/sec OptimistAtomicQueueB, 9,s: 8,378,071 msg/sec OptimistAtomicQueueB, 9,i: 11,143,876 msg/sec OptimistAtomicQueueB,10,s: 8,011,297 msg/sec OptimistAtomicQueueB,10,i: 10,182,772 msg/sec OptimistAtomicQueueB,11,s: 8,032,835 msg/sec OptimistAtomicQueueB,11,i: 10,529,912 msg/sec OptimistAtomicQueueB,12,s: 8,175,146 msg/sec OptimistAtomicQueueB,12,i: 10,767,508 msg/sec OptimistAtomicQueueB,13,s: 8,291,431 msg/sec OptimistAtomicQueueB,13,i: 10,573,898 msg/sec OptimistAtomicQueueB,14,s: 8,064,684 msg/sec OptimistAtomicQueueB,14,i: 10,146,312 msg/sec AtomicQueue2, 1,s: 8,472,407 msg/sec AtomicQueue2, 1,i: 9,670,859 msg/sec AtomicQueue2, 2,s: 4,533,583 msg/sec AtomicQueue2, 2,i: 4,638,834 msg/sec AtomicQueue2, 3,s: 3,402,752 msg/sec AtomicQueue2, 3,i: 2,592,625 msg/sec AtomicQueue2, 4,s: 2,528,051 msg/sec AtomicQueue2, 4,i: 2,587,727 msg/sec AtomicQueue2, 5,s: 2,080,393 msg/sec AtomicQueue2, 5,i: 2,340,680 msg/sec AtomicQueue2, 6,s: 1,896,858 msg/sec AtomicQueue2, 6,i: 2,067,029 msg/sec AtomicQueue2, 7,s: 1,731,895 msg/sec AtomicQueue2, 7,i: 1,757,202 msg/sec AtomicQueue2, 8,s: 688,849 msg/sec AtomicQueue2, 8,i: 1,640,890 msg/sec AtomicQueue2, 9,s: 524,681 msg/sec AtomicQueue2, 9,i: 1,455,394 msg/sec AtomicQueue2,10,s: 587,556 msg/sec AtomicQueue2,10,i: 1,357,594 msg/sec AtomicQueue2,11,s: 546,633 msg/sec AtomicQueue2,11,i: 1,135,434 msg/sec AtomicQueue2,12,s: 682,440 msg/sec AtomicQueue2,12,i: 912,043 msg/sec AtomicQueue2,13,s: 536,607 msg/sec AtomicQueue2,13,i: 997,453 msg/sec AtomicQueue2,14,s: 547,721 msg/sec AtomicQueue2,14,i: 526,672 msg/sec AtomicQueueB2, 1,s: 12,137,825 msg/sec AtomicQueueB2, 1,i: 12,532,372 msg/sec AtomicQueueB2, 2,s: 4,090,141 msg/sec AtomicQueueB2, 2,i: 3,900,964 msg/sec AtomicQueueB2, 3,s: 2,854,754 msg/sec AtomicQueueB2, 3,i: 3,354,557 msg/sec AtomicQueueB2, 4,s: 2,390,764 msg/sec AtomicQueueB2, 4,i: 2,364,283 msg/sec AtomicQueueB2, 5,s: 2,122,655 msg/sec AtomicQueueB2, 5,i: 2,153,952 msg/sec AtomicQueueB2, 6,s: 1,881,574 msg/sec AtomicQueueB2, 6,i: 1,887,351 msg/sec AtomicQueueB2, 7,s: 1,791,671 msg/sec AtomicQueueB2, 7,i: 1,889,244 msg/sec AtomicQueueB2, 8,s: 693,369 msg/sec AtomicQueueB2, 8,i: 1,636,532 msg/sec AtomicQueueB2, 9,s: 548,629 msg/sec AtomicQueueB2, 9,i: 1,151,071 msg/sec AtomicQueueB2,10,s: 616,497 msg/sec AtomicQueueB2,10,i: 1,434,695 msg/sec AtomicQueueB2,11,s: 695,950 msg/sec AtomicQueueB2,11,i: 1,104,904 msg/sec AtomicQueueB2,12,s: 693,974 msg/sec AtomicQueueB2,12,i: 501,828 msg/sec AtomicQueueB2,13,s: 466,664 msg/sec AtomicQueueB2,13,i: 544,770 msg/sec AtomicQueueB2,14,s: 504,747 msg/sec AtomicQueueB2,14,i: 536,160 msg/sec OptimistAtomicQueue2, 1,s: 85,933,050 msg/sec OptimistAtomicQueue2, 1,i: 84,280,177 msg/sec OptimistAtomicQueue2, 2,s: 6,843,233 msg/sec OptimistAtomicQueue2, 2,i: 7,867,295 msg/sec OptimistAtomicQueue2, 3,s: 7,417,352 msg/sec OptimistAtomicQueue2, 3,i: 8,748,169 msg/sec OptimistAtomicQueue2, 4,s: 8,710,166 msg/sec OptimistAtomicQueue2, 4,i: 10,345,596 msg/sec OptimistAtomicQueue2, 5,s: 12,797,692 msg/sec OptimistAtomicQueue2, 5,i: 12,658,852 msg/sec OptimistAtomicQueue2, 6,s: 12,632,344 msg/sec OptimistAtomicQueue2, 6,i: 13,552,709 msg/sec OptimistAtomicQueue2, 7,s: 12,804,473 msg/sec OptimistAtomicQueue2, 7,i: 13,062,360 msg/sec OptimistAtomicQueue2, 8,s: 9,198,755 msg/sec OptimistAtomicQueue2, 8,i: 10,834,162 msg/sec OptimistAtomicQueue2, 9,s: 8,191,503 msg/sec OptimistAtomicQueue2, 9,i: 9,092,846 msg/sec OptimistAtomicQueue2,10,s: 7,699,475 msg/sec OptimistAtomicQueue2,10,i: 9,419,650 msg/sec OptimistAtomicQueue2,11,s: 7,758,053 msg/sec OptimistAtomicQueue2,11,i: 11,400,679 msg/sec OptimistAtomicQueue2,12,s: 7,968,993 msg/sec OptimistAtomicQueue2,12,i: 10,440,101 msg/sec OptimistAtomicQueue2,13,s: 8,094,273 msg/sec OptimistAtomicQueue2,13,i: 9,676,631 msg/sec OptimistAtomicQueue2,14,s: 7,939,789 msg/sec OptimistAtomicQueue2,14,i: 10,428,357 msg/sec OptimistAtomicQueueB2, 1,s: 21,568,323 msg/sec OptimistAtomicQueueB2, 1,i: 18,749,963 msg/sec OptimistAtomicQueueB2, 2,s: 11,085,946 msg/sec OptimistAtomicQueueB2, 2,i: 10,169,351 msg/sec OptimistAtomicQueueB2, 3,s: 9,830,902 msg/sec OptimistAtomicQueueB2, 3,i: 11,127,087 msg/sec OptimistAtomicQueueB2, 4,s: 9,169,347 msg/sec OptimistAtomicQueueB2, 4,i: 10,946,462 msg/sec OptimistAtomicQueueB2, 5,s: 10,230,402 msg/sec OptimistAtomicQueueB2, 5,i: 12,114,891 msg/sec OptimistAtomicQueueB2, 6,s: 12,019,506 msg/sec OptimistAtomicQueueB2, 6,i: 12,897,956 msg/sec OptimistAtomicQueueB2, 7,s: 12,051,925 msg/sec OptimistAtomicQueueB2, 7,i: 12,733,441 msg/sec OptimistAtomicQueueB2, 8,s: 8,672,301 msg/sec OptimistAtomicQueueB2, 8,i: 8,815,969 msg/sec OptimistAtomicQueueB2, 9,s: 7,561,604 msg/sec OptimistAtomicQueueB2, 9,i: 8,947,468 msg/sec OptimistAtomicQueueB2,10,s: 7,368,501 msg/sec OptimistAtomicQueueB2,10,i: 9,136,823 msg/sec OptimistAtomicQueueB2,11,s: 7,297,266 msg/sec OptimistAtomicQueueB2,11,i: 9,460,361 msg/sec OptimistAtomicQueueB2,12,s: 7,460,324 msg/sec OptimistAtomicQueueB2,12,i: 9,654,879 msg/sec OptimistAtomicQueueB2,13,s: 7,740,012 msg/sec OptimistAtomicQueueB2,13,i: 10,243,212 msg/sec OptimistAtomicQueueB2,14,s: 7,903,411 msg/sec OptimistAtomicQueueB2,14,i: 10,367,135 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000298 sec/round-trip boost::lockfree::queue: 0.000000732 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000340 sec/round-trip moodycamel::ConcurrentQueue: 0.000000491 sec/round-trip pthread_spinlock: 0.000000876 sec/round-trip std::mutex: 0.000002011 sec/round-trip tbb::spin_mutex: 0.000000747 sec/round-trip tbb::concurrent_bounded_queue: 0.000000574 sec/round-trip xenium::michael_scott_queue: 0.000000775 sec/round-trip xenium::ramalhete_queue: 0.000000496 sec/round-trip xenium::vyukov_bounded_queue: 0.000000510 sec/round-trip AtomicQueue: 0.000000328 sec/round-trip AtomicQueueB: 0.000000392 sec/round-trip OptimistAtomicQueue: 0.000000335 sec/round-trip OptimistAtomicQueueB: 0.000000342 sec/round-trip AtomicQueue2: 0.000000375 sec/round-trip AtomicQueueB2: 0.000000432 sec/round-trip OptimistAtomicQueue2: 0.000000349 sec/round-trip OptimistAtomicQueueB2: 0.000000367 sec/round-trip [20/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 22,430,957 msg/sec boost::lockfree::spsc_queue, 1,i: 25,981,383 msg/sec boost::lockfree::queue, 1,s: 3,243,610 msg/sec boost::lockfree::queue, 1,i: 3,268,157 msg/sec boost::lockfree::queue, 2,s: 2,309,268 msg/sec boost::lockfree::queue, 2,i: 2,443,373 msg/sec boost::lockfree::queue, 3,s: 2,409,470 msg/sec boost::lockfree::queue, 3,i: 2,096,875 msg/sec boost::lockfree::queue, 4,s: 2,269,219 msg/sec boost::lockfree::queue, 4,i: 2,014,030 msg/sec boost::lockfree::queue, 5,s: 2,237,576 msg/sec boost::lockfree::queue, 5,i: 1,970,222 msg/sec boost::lockfree::queue, 6,s: 1,806,196 msg/sec boost::lockfree::queue, 6,i: 2,127,574 msg/sec boost::lockfree::queue, 7,s: 1,823,125 msg/sec boost::lockfree::queue, 7,i: 1,855,982 msg/sec boost::lockfree::queue, 8,s: 537,575 msg/sec boost::lockfree::queue, 8,i: 1,311,381 msg/sec boost::lockfree::queue, 9,s: 764,765 msg/sec boost::lockfree::queue, 9,i: 1,055,951 msg/sec boost::lockfree::queue,10,s: 521,410 msg/sec boost::lockfree::queue,10,i: 520,668 msg/sec boost::lockfree::queue,11,s: 514,838 msg/sec boost::lockfree::queue,11,i: 521,172 msg/sec boost::lockfree::queue,12,s: 510,144 msg/sec boost::lockfree::queue,12,i: 508,429 msg/sec boost::lockfree::queue,13,s: 589,335 msg/sec boost::lockfree::queue,13,i: 517,984 msg/sec boost::lockfree::queue,14,s: 468,835 msg/sec boost::lockfree::queue,14,i: 547,836 msg/sec moodycamel::ReaderWriterQueue, 1,s: 148,871,775 msg/sec moodycamel::ReaderWriterQueue, 1,i: 149,301,452 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,167,879 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,593,798 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,123,227 msg/sec moodycamel::ConcurrentQueue, 2,i: 6,813,886 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,057,858 msg/sec moodycamel::ConcurrentQueue, 3,i: 7,159,088 msg/sec moodycamel::ConcurrentQueue, 4,s: 12,039,485 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,649,841 msg/sec moodycamel::ConcurrentQueue, 5,s: 6,422,228 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,393,945 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,837,202 msg/sec moodycamel::ConcurrentQueue, 6,i: 18,640,995 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,077,105 msg/sec moodycamel::ConcurrentQueue, 7,i: 26,165,080 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,304,852 msg/sec moodycamel::ConcurrentQueue, 8,i: 10,111,829 msg/sec moodycamel::ConcurrentQueue, 9,s: 9,654,223 msg/sec moodycamel::ConcurrentQueue, 9,i: 10,750,573 msg/sec moodycamel::ConcurrentQueue,10,s: 5,206,549 msg/sec moodycamel::ConcurrentQueue,10,i: 5,316,476 msg/sec moodycamel::ConcurrentQueue,11,s: 21,627,097 msg/sec moodycamel::ConcurrentQueue,11,i: 5,421,007 msg/sec moodycamel::ConcurrentQueue,12,s: 5,361,449 msg/sec moodycamel::ConcurrentQueue,12,i: 5,437,267 msg/sec moodycamel::ConcurrentQueue,13,s: 5,053,552 msg/sec moodycamel::ConcurrentQueue,13,i: 5,395,823 msg/sec moodycamel::ConcurrentQueue,14,s: 35,758,948 msg/sec moodycamel::ConcurrentQueue,14,i: 30,256,347 msg/sec pthread_spinlock, 1,s: 6,170,989 msg/sec pthread_spinlock, 1,i: 5,863,671 msg/sec pthread_spinlock, 2,s: 4,736,775 msg/sec pthread_spinlock, 2,i: 4,482,251 msg/sec pthread_spinlock, 3,s: 3,305,067 msg/sec pthread_spinlock, 3,i: 3,239,893 msg/sec pthread_spinlock, 4,s: 2,777,773 msg/sec pthread_spinlock, 4,i: 2,728,682 msg/sec pthread_spinlock, 5,s: 2,312,752 msg/sec pthread_spinlock, 5,i: 2,164,562 msg/sec pthread_spinlock, 6,s: 1,972,539 msg/sec pthread_spinlock, 6,i: 1,846,371 msg/sec pthread_spinlock, 7,s: 2,018,246 msg/sec pthread_spinlock, 7,i: 1,749,386 msg/sec pthread_spinlock, 8,s: 1,075,728 msg/sec pthread_spinlock, 8,i: 1,230,454 msg/sec pthread_spinlock, 9,s: 703,767 msg/sec pthread_spinlock, 9,i: 1,152,617 msg/sec pthread_spinlock,10,s: 506,184 msg/sec pthread_spinlock,10,i: 534,699 msg/sec pthread_spinlock,11,s: 528,410 msg/sec pthread_spinlock,11,i: 506,723 msg/sec pthread_spinlock,12,s: 519,887 msg/sec pthread_spinlock,12,i: 524,941 msg/sec pthread_spinlock,13,s: 510,244 msg/sec pthread_spinlock,13,i: 545,226 msg/sec pthread_spinlock,14,s: 543,056 msg/sec pthread_spinlock,14,i: 833,012 msg/sec std::mutex, 1,s: 5,625,915 msg/sec std::mutex, 1,i: 5,893,317 msg/sec std::mutex, 2,s: 4,163,207 msg/sec std::mutex, 2,i: 4,162,864 msg/sec std::mutex, 3,s: 2,587,289 msg/sec std::mutex, 3,i: 2,887,676 msg/sec std::mutex, 4,s: 2,733,031 msg/sec std::mutex, 4,i: 2,991,344 msg/sec std::mutex, 5,s: 3,532,997 msg/sec std::mutex, 5,i: 3,628,892 msg/sec std::mutex, 6,s: 4,517,620 msg/sec std::mutex, 6,i: 4,610,690 msg/sec std::mutex, 7,s: 5,504,110 msg/sec std::mutex, 7,i: 5,943,929 msg/sec std::mutex, 8,s: 6,904,589 msg/sec std::mutex, 8,i: 6,008,393 msg/sec std::mutex, 9,s: 6,538,951 msg/sec std::mutex, 9,i: 5,092,850 msg/sec std::mutex,10,s: 6,096,124 msg/sec std::mutex,10,i: 4,793,738 msg/sec std::mutex,11,s: 6,171,138 msg/sec std::mutex,11,i: 5,005,228 msg/sec std::mutex,12,s: 6,219,609 msg/sec std::mutex,12,i: 5,127,775 msg/sec std::mutex,13,s: 6,494,151 msg/sec std::mutex,13,i: 5,237,104 msg/sec std::mutex,14,s: 6,699,425 msg/sec std::mutex,14,i: 5,236,803 msg/sec tbb::spin_mutex, 1,s: 23,558,003 msg/sec tbb::spin_mutex, 1,i: 23,719,757 msg/sec tbb::spin_mutex, 2,s: 13,609,415 msg/sec tbb::spin_mutex, 2,i: 13,292,116 msg/sec tbb::spin_mutex, 3,s: 7,537,774 msg/sec tbb::spin_mutex, 3,i: 8,515,502 msg/sec tbb::spin_mutex, 4,s: 6,231,503 msg/sec tbb::spin_mutex, 4,i: 6,516,113 msg/sec tbb::spin_mutex, 5,s: 4,733,678 msg/sec tbb::spin_mutex, 5,i: 5,029,296 msg/sec tbb::spin_mutex, 6,s: 3,592,807 msg/sec tbb::spin_mutex, 6,i: 3,011,927 msg/sec tbb::spin_mutex, 7,s: 2,369,775 msg/sec tbb::spin_mutex, 7,i: 2,000,095 msg/sec tbb::spin_mutex, 8,s: 1,177,392 msg/sec tbb::spin_mutex, 8,i: 1,174,287 msg/sec tbb::spin_mutex, 9,s: 693,794 msg/sec tbb::spin_mutex, 9,i: 818,533 msg/sec tbb::spin_mutex,10,s: 614,800 msg/sec tbb::spin_mutex,10,i: 831,244 msg/sec tbb::spin_mutex,11,s: 547,449 msg/sec tbb::spin_mutex,11,i: 825,839 msg/sec tbb::spin_mutex,12,s: 366,134 msg/sec tbb::spin_mutex,12,i: 651,452 msg/sec tbb::spin_mutex,13,s: 473,674 msg/sec tbb::spin_mutex,13,i: 574,190 msg/sec tbb::spin_mutex,14,s: 474,478 msg/sec tbb::spin_mutex,14,i: 474,405 msg/sec tbb::concurrent_bounded_queue, 1,s: 6,017,317 msg/sec tbb::concurrent_bounded_queue, 1,i: 6,090,640 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,490,543 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,498,509 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,080,884 msg/sec tbb::concurrent_bounded_queue, 3,i: 3,975,275 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,221,269 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,326,891 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,989,721 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,001,075 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,679,840 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,493,625 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,527,628 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,510,653 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,301,639 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,593,689 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,225,021 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,453,260 msg/sec tbb::concurrent_bounded_queue,10,s: 1,224,816 msg/sec tbb::concurrent_bounded_queue,10,i: 1,293,190 msg/sec tbb::concurrent_bounded_queue,11,s: 1,198,377 msg/sec tbb::concurrent_bounded_queue,11,i: 1,236,673 msg/sec tbb::concurrent_bounded_queue,12,s: 1,252,836 msg/sec tbb::concurrent_bounded_queue,12,i: 1,240,973 msg/sec tbb::concurrent_bounded_queue,13,s: 1,288,444 msg/sec tbb::concurrent_bounded_queue,13,i: 1,110,149 msg/sec tbb::concurrent_bounded_queue,14,s: 622,855 msg/sec tbb::concurrent_bounded_queue,14,i: 1,000,913 msg/sec xenium::michael_scott_queue, 1,s: 3,263,417 msg/sec xenium::michael_scott_queue, 1,i: 3,829,558 msg/sec xenium::michael_scott_queue, 2,s: 2,653,861 msg/sec xenium::michael_scott_queue, 2,i: 2,815,132 msg/sec xenium::michael_scott_queue, 3,s: 2,216,112 msg/sec xenium::michael_scott_queue, 3,i: 2,432,938 msg/sec xenium::michael_scott_queue, 4,s: 2,109,112 msg/sec xenium::michael_scott_queue, 4,i: 2,416,437 msg/sec xenium::michael_scott_queue, 5,s: 1,877,776 msg/sec xenium::michael_scott_queue, 5,i: 1,928,720 msg/sec xenium::michael_scott_queue, 6,s: 1,634,221 msg/sec xenium::michael_scott_queue, 6,i: 1,683,144 msg/sec xenium::michael_scott_queue, 7,s: 1,579,291 msg/sec xenium::michael_scott_queue, 7,i: 1,599,900 msg/sec xenium::michael_scott_queue, 8,s: 1,110,708 msg/sec xenium::michael_scott_queue, 8,i: 1,097,047 msg/sec xenium::michael_scott_queue, 9,s: 848,255 msg/sec xenium::michael_scott_queue, 9,i: 998,325 msg/sec xenium::michael_scott_queue,10,s: 543,225 msg/sec xenium::michael_scott_queue,10,i: 502,004 msg/sec xenium::michael_scott_queue,11,s: 499,180 msg/sec xenium::michael_scott_queue,11,i: 510,731 msg/sec xenium::michael_scott_queue,12,s: 508,610 msg/sec xenium::michael_scott_queue,12,i: 504,307 msg/sec xenium::michael_scott_queue,13,s: 511,159 msg/sec xenium::michael_scott_queue,13,i: 848,913 msg/sec xenium::michael_scott_queue,14,s: 528,383 msg/sec xenium::michael_scott_queue,14,i: 504,605 msg/sec xenium::ramalhete_queue, 1,s: 3,798,632 msg/sec xenium::ramalhete_queue, 1,i: 15,667,252 msg/sec xenium::ramalhete_queue, 2,s: 5,927,487 msg/sec xenium::ramalhete_queue, 2,i: 5,983,278 msg/sec xenium::ramalhete_queue, 3,s: 6,943,697 msg/sec xenium::ramalhete_queue, 3,i: 6,966,015 msg/sec xenium::ramalhete_queue, 4,s: 7,319,959 msg/sec xenium::ramalhete_queue, 4,i: 7,051,241 msg/sec xenium::ramalhete_queue, 5,s: 7,621,901 msg/sec xenium::ramalhete_queue, 5,i: 8,439,710 msg/sec xenium::ramalhete_queue, 6,s: 8,079,795 msg/sec xenium::ramalhete_queue, 6,i: 8,246,206 msg/sec xenium::ramalhete_queue, 7,s: 7,914,151 msg/sec xenium::ramalhete_queue, 7,i: 8,645,496 msg/sec xenium::ramalhete_queue, 8,s: 7,403,778 msg/sec xenium::ramalhete_queue, 8,i: 8,145,196 msg/sec xenium::ramalhete_queue, 9,s: 8,222,772 msg/sec xenium::ramalhete_queue, 9,i: 7,571,028 msg/sec xenium::ramalhete_queue,10,s: 8,122,436 msg/sec xenium::ramalhete_queue,10,i: 8,120,135 msg/sec xenium::ramalhete_queue,11,s: 8,008,250 msg/sec xenium::ramalhete_queue,11,i: 8,048,074 msg/sec xenium::ramalhete_queue,12,s: 8,320,745 msg/sec xenium::ramalhete_queue,12,i: 8,112,312 msg/sec xenium::ramalhete_queue,13,s: 8,803,015 msg/sec xenium::ramalhete_queue,13,i: 8,324,840 msg/sec xenium::ramalhete_queue,14,s: 11,057,784 msg/sec xenium::ramalhete_queue,14,i: 8,356,046 msg/sec xenium::vyukov_bounded_queue, 1,s: 31,231,616 msg/sec xenium::vyukov_bounded_queue, 1,i: 31,328,046 msg/sec xenium::vyukov_bounded_queue, 2,s: 4,212,431 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,981,734 msg/sec xenium::vyukov_bounded_queue, 3,s: 3,975,873 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,692,085 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,678,648 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,701,977 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,436,941 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,648,841 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,156,272 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,257,650 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,136,130 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,060,561 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,504,630 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,487,070 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,197,162 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,535,423 msg/sec xenium::vyukov_bounded_queue,10,s: 1,169,347 msg/sec xenium::vyukov_bounded_queue,10,i: 1,714,761 msg/sec xenium::vyukov_bounded_queue,11,s: 1,089,384 msg/sec xenium::vyukov_bounded_queue,11,i: 1,339,259 msg/sec xenium::vyukov_bounded_queue,12,s: 1,173,766 msg/sec xenium::vyukov_bounded_queue,12,i: 1,257,813 msg/sec xenium::vyukov_bounded_queue,13,s: 757,438 msg/sec xenium::vyukov_bounded_queue,13,i: 1,093,808 msg/sec xenium::vyukov_bounded_queue,14,s: 928,628 msg/sec xenium::vyukov_bounded_queue,14,i: 1,006,502 msg/sec AtomicQueue, 1,s: 9,202,529 msg/sec AtomicQueue, 1,i: 74,719,269 msg/sec AtomicQueue, 2,s: 3,354,683 msg/sec AtomicQueue, 2,i: 4,087,655 msg/sec AtomicQueue, 3,s: 2,653,149 msg/sec AtomicQueue, 3,i: 2,768,455 msg/sec AtomicQueue, 4,s: 2,431,671 msg/sec AtomicQueue, 4,i: 2,672,844 msg/sec AtomicQueue, 5,s: 2,311,912 msg/sec AtomicQueue, 5,i: 2,308,441 msg/sec AtomicQueue, 6,s: 1,941,266 msg/sec AtomicQueue, 6,i: 1,842,974 msg/sec AtomicQueue, 7,s: 1,725,052 msg/sec AtomicQueue, 7,i: 1,756,367 msg/sec AtomicQueue, 8,s: 1,143,850 msg/sec AtomicQueue, 8,i: 1,684,851 msg/sec AtomicQueue, 9,s: 1,060,548 msg/sec AtomicQueue, 9,i: 1,270,190 msg/sec AtomicQueue,10,s: 1,149,701 msg/sec AtomicQueue,10,i: 1,143,287 msg/sec AtomicQueue,11,s: 995,287 msg/sec AtomicQueue,11,i: 1,072,622 msg/sec AtomicQueue,12,s: 533,992 msg/sec AtomicQueue,12,i: 500,393 msg/sec AtomicQueue,13,s: 513,221 msg/sec AtomicQueue,13,i: 887,016 msg/sec AtomicQueue,14,s: 471,569 msg/sec AtomicQueue,14,i: 541,199 msg/sec AtomicQueueB, 1,s: 16,437,741 msg/sec AtomicQueueB, 1,i: 17,020,968 msg/sec AtomicQueueB, 2,s: 3,386,174 msg/sec AtomicQueueB, 2,i: 3,671,584 msg/sec AtomicQueueB, 3,s: 3,028,761 msg/sec AtomicQueueB, 3,i: 2,659,414 msg/sec AtomicQueueB, 4,s: 2,567,749 msg/sec AtomicQueueB, 4,i: 2,713,320 msg/sec AtomicQueueB, 5,s: 2,162,031 msg/sec AtomicQueueB, 5,i: 2,221,703 msg/sec AtomicQueueB, 6,s: 1,933,197 msg/sec AtomicQueueB, 6,i: 2,119,629 msg/sec AtomicQueueB, 7,s: 1,586,582 msg/sec AtomicQueueB, 7,i: 1,843,488 msg/sec AtomicQueueB, 8,s: 1,045,598 msg/sec AtomicQueueB, 8,i: 1,437,303 msg/sec AtomicQueueB, 9,s: 662,731 msg/sec AtomicQueueB, 9,i: 1,073,122 msg/sec AtomicQueueB,10,s: 499,252 msg/sec AtomicQueueB,10,i: 507,941 msg/sec AtomicQueueB,11,s: 501,368 msg/sec AtomicQueueB,11,i: 514,812 msg/sec AtomicQueueB,12,s: 503,146 msg/sec AtomicQueueB,12,i: 491,428 msg/sec AtomicQueueB,13,s: 517,388 msg/sec AtomicQueueB,13,i: 512,208 msg/sec AtomicQueueB,14,s: 541,496 msg/sec AtomicQueueB,14,i: 527,878 msg/sec OptimistAtomicQueue, 1,s: 148,546,286 msg/sec OptimistAtomicQueue, 1,i: 147,780,406 msg/sec OptimistAtomicQueue, 2,s: 6,829,052 msg/sec OptimistAtomicQueue, 2,i: 8,066,436 msg/sec OptimistAtomicQueue, 3,s: 8,601,167 msg/sec OptimistAtomicQueue, 3,i: 9,133,980 msg/sec OptimistAtomicQueue, 4,s: 8,682,377 msg/sec OptimistAtomicQueue, 4,i: 9,302,435 msg/sec OptimistAtomicQueue, 5,s: 12,615,886 msg/sec OptimistAtomicQueue, 5,i: 13,645,945 msg/sec OptimistAtomicQueue, 6,s: 12,850,400 msg/sec OptimistAtomicQueue, 6,i: 13,608,265 msg/sec OptimistAtomicQueue, 7,s: 14,062,007 msg/sec OptimistAtomicQueue, 7,i: 14,058,264 msg/sec OptimistAtomicQueue, 8,s: 11,485,787 msg/sec OptimistAtomicQueue, 8,i: 11,511,834 msg/sec OptimistAtomicQueue, 9,s: 10,928,431 msg/sec OptimistAtomicQueue, 9,i: 11,296,434 msg/sec OptimistAtomicQueue,10,s: 10,894,853 msg/sec OptimistAtomicQueue,10,i: 10,874,550 msg/sec OptimistAtomicQueue,11,s: 11,224,275 msg/sec OptimistAtomicQueue,11,i: 11,305,039 msg/sec OptimistAtomicQueue,12,s: 10,941,323 msg/sec OptimistAtomicQueue,12,i: 11,386,196 msg/sec OptimistAtomicQueue,13,s: 9,472,838 msg/sec OptimistAtomicQueue,13,i: 11,033,455 msg/sec OptimistAtomicQueue,14,s: 8,825,604 msg/sec OptimistAtomicQueue,14,i: 10,893,939 msg/sec OptimistAtomicQueueB, 1,s: 28,233,252 msg/sec OptimistAtomicQueueB, 1,i: 28,499,443 msg/sec OptimistAtomicQueueB, 2,s: 10,401,438 msg/sec OptimistAtomicQueueB, 2,i: 10,287,388 msg/sec OptimistAtomicQueueB, 3,s: 9,696,517 msg/sec OptimistAtomicQueueB, 3,i: 9,402,212 msg/sec OptimistAtomicQueueB, 4,s: 9,725,519 msg/sec OptimistAtomicQueueB, 4,i: 12,068,413 msg/sec OptimistAtomicQueueB, 5,s: 14,048,999 msg/sec OptimistAtomicQueueB, 5,i: 13,523,654 msg/sec OptimistAtomicQueueB, 6,s: 13,010,560 msg/sec OptimistAtomicQueueB, 6,i: 13,546,652 msg/sec OptimistAtomicQueueB, 7,s: 13,406,127 msg/sec OptimistAtomicQueueB, 7,i: 13,533,936 msg/sec OptimistAtomicQueueB, 8,s: 10,738,919 msg/sec OptimistAtomicQueueB, 8,i: 11,351,917 msg/sec OptimistAtomicQueueB, 9,s: 10,761,735 msg/sec OptimistAtomicQueueB, 9,i: 10,905,918 msg/sec OptimistAtomicQueueB,10,s: 10,770,865 msg/sec OptimistAtomicQueueB,10,i: 10,830,991 msg/sec OptimistAtomicQueueB,11,s: 10,730,598 msg/sec OptimistAtomicQueueB,11,i: 11,136,504 msg/sec OptimistAtomicQueueB,12,s: 10,957,469 msg/sec OptimistAtomicQueueB,12,i: 10,550,953 msg/sec OptimistAtomicQueueB,13,s: 9,544,924 msg/sec OptimistAtomicQueueB,13,i: 11,015,315 msg/sec OptimistAtomicQueueB,14,s: 8,719,551 msg/sec OptimistAtomicQueueB,14,i: 11,267,625 msg/sec AtomicQueue2, 1,s: 9,154,247 msg/sec AtomicQueue2, 1,i: 9,187,858 msg/sec AtomicQueue2, 2,s: 4,132,320 msg/sec AtomicQueue2, 2,i: 4,228,758 msg/sec AtomicQueue2, 3,s: 2,996,456 msg/sec AtomicQueue2, 3,i: 2,865,884 msg/sec AtomicQueue2, 4,s: 2,326,565 msg/sec AtomicQueue2, 4,i: 2,710,555 msg/sec AtomicQueue2, 5,s: 2,203,687 msg/sec AtomicQueue2, 5,i: 2,198,296 msg/sec AtomicQueue2, 6,s: 1,994,293 msg/sec AtomicQueue2, 6,i: 1,936,096 msg/sec AtomicQueue2, 7,s: 1,663,763 msg/sec AtomicQueue2, 7,i: 1,828,269 msg/sec AtomicQueue2, 8,s: 1,174,946 msg/sec AtomicQueue2, 8,i: 1,660,558 msg/sec AtomicQueue2, 9,s: 1,096,207 msg/sec AtomicQueue2, 9,i: 1,164,946 msg/sec AtomicQueue2,10,s: 1,022,817 msg/sec AtomicQueue2,10,i: 1,146,843 msg/sec AtomicQueue2,11,s: 766,968 msg/sec AtomicQueue2,11,i: 504,911 msg/sec AtomicQueue2,12,s: 510,804 msg/sec AtomicQueue2,12,i: 529,725 msg/sec AtomicQueue2,13,s: 518,977 msg/sec AtomicQueue2,13,i: 510,798 msg/sec AtomicQueue2,14,s: 504,407 msg/sec AtomicQueue2,14,i: 524,648 msg/sec AtomicQueueB2, 1,s: 11,391,309 msg/sec AtomicQueueB2, 1,i: 12,676,130 msg/sec AtomicQueueB2, 2,s: 2,756,209 msg/sec AtomicQueueB2, 2,i: 4,092,634 msg/sec AtomicQueueB2, 3,s: 2,488,373 msg/sec AtomicQueueB2, 3,i: 3,048,982 msg/sec AtomicQueueB2, 4,s: 2,197,120 msg/sec AtomicQueueB2, 4,i: 2,463,308 msg/sec AtomicQueueB2, 5,s: 2,144,494 msg/sec AtomicQueueB2, 5,i: 2,034,545 msg/sec AtomicQueueB2, 6,s: 2,082,663 msg/sec AtomicQueueB2, 6,i: 2,055,847 msg/sec AtomicQueueB2, 7,s: 1,637,143 msg/sec AtomicQueueB2, 7,i: 1,763,293 msg/sec AtomicQueueB2, 8,s: 1,320,775 msg/sec AtomicQueueB2, 8,i: 1,519,368 msg/sec AtomicQueueB2, 9,s: 637,974 msg/sec AtomicQueueB2, 9,i: 1,137,627 msg/sec AtomicQueueB2,10,s: 781,496 msg/sec AtomicQueueB2,10,i: 1,026,313 msg/sec AtomicQueueB2,11,s: 835,313 msg/sec AtomicQueueB2,11,i: 510,211 msg/sec AtomicQueueB2,12,s: 508,009 msg/sec AtomicQueueB2,12,i: 518,627 msg/sec AtomicQueueB2,13,s: 731,254 msg/sec AtomicQueueB2,13,i: 529,489 msg/sec AtomicQueueB2,14,s: 517,330 msg/sec AtomicQueueB2,14,i: 508,034 msg/sec OptimistAtomicQueue2, 1,s: 82,656,787 msg/sec OptimistAtomicQueue2, 1,i: 90,672,910 msg/sec OptimistAtomicQueue2, 2,s: 6,227,397 msg/sec OptimistAtomicQueue2, 2,i: 7,326,928 msg/sec OptimistAtomicQueue2, 3,s: 8,292,833 msg/sec OptimistAtomicQueue2, 3,i: 8,284,345 msg/sec OptimistAtomicQueue2, 4,s: 10,527,747 msg/sec OptimistAtomicQueue2, 4,i: 8,710,070 msg/sec OptimistAtomicQueue2, 5,s: 8,682,590 msg/sec OptimistAtomicQueue2, 5,i: 8,996,388 msg/sec OptimistAtomicQueue2, 6,s: 12,825,176 msg/sec OptimistAtomicQueue2, 6,i: 12,274,611 msg/sec OptimistAtomicQueue2, 7,s: 12,544,852 msg/sec OptimistAtomicQueue2, 7,i: 12,939,853 msg/sec OptimistAtomicQueue2, 8,s: 10,859,650 msg/sec OptimistAtomicQueue2, 8,i: 10,773,543 msg/sec OptimistAtomicQueue2, 9,s: 10,629,912 msg/sec OptimistAtomicQueue2, 9,i: 10,654,526 msg/sec OptimistAtomicQueue2,10,s: 10,842,898 msg/sec OptimistAtomicQueue2,10,i: 10,395,874 msg/sec OptimistAtomicQueue2,11,s: 10,816,823 msg/sec OptimistAtomicQueue2,11,i: 10,361,074 msg/sec OptimistAtomicQueue2,12,s: 10,103,145 msg/sec OptimistAtomicQueue2,12,i: 10,153,012 msg/sec OptimistAtomicQueue2,13,s: 9,103,587 msg/sec OptimistAtomicQueue2,13,i: 10,671,414 msg/sec OptimistAtomicQueue2,14,s: 8,669,009 msg/sec OptimistAtomicQueue2,14,i: 10,274,918 msg/sec OptimistAtomicQueueB2, 1,s: 24,387,569 msg/sec OptimistAtomicQueueB2, 1,i: 25,319,313 msg/sec OptimistAtomicQueueB2, 2,s: 10,906,965 msg/sec OptimistAtomicQueueB2, 2,i: 10,913,282 msg/sec OptimistAtomicQueueB2, 3,s: 12,003,972 msg/sec OptimistAtomicQueueB2, 3,i: 12,179,889 msg/sec OptimistAtomicQueueB2, 4,s: 11,541,454 msg/sec OptimistAtomicQueueB2, 4,i: 9,727,768 msg/sec OptimistAtomicQueueB2, 5,s: 10,915,937 msg/sec OptimistAtomicQueueB2, 5,i: 11,580,304 msg/sec OptimistAtomicQueueB2, 6,s: 11,688,144 msg/sec OptimistAtomicQueueB2, 6,i: 12,228,964 msg/sec OptimistAtomicQueueB2, 7,s: 11,245,446 msg/sec OptimistAtomicQueueB2, 7,i: 9,072,248 msg/sec OptimistAtomicQueueB2, 8,s: 7,756,541 msg/sec OptimistAtomicQueueB2, 8,i: 10,403,229 msg/sec OptimistAtomicQueueB2, 9,s: 10,004,591 msg/sec OptimistAtomicQueueB2, 9,i: 10,193,468 msg/sec OptimistAtomicQueueB2,10,s: 10,177,470 msg/sec OptimistAtomicQueueB2,10,i: 9,765,561 msg/sec OptimistAtomicQueueB2,11,s: 10,089,852 msg/sec OptimistAtomicQueueB2,11,i: 10,137,148 msg/sec OptimistAtomicQueueB2,12,s: 9,591,120 msg/sec OptimistAtomicQueueB2,12,i: 10,119,217 msg/sec OptimistAtomicQueueB2,13,s: 8,349,108 msg/sec OptimistAtomicQueueB2,13,i: 10,099,052 msg/sec OptimistAtomicQueueB2,14,s: 7,912,502 msg/sec OptimistAtomicQueueB2,14,i: 10,041,025 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000429 sec/round-trip boost::lockfree::queue: 0.000001151 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000435 sec/round-trip moodycamel::ConcurrentQueue: 0.000000789 sec/round-trip pthread_spinlock: 0.000001446 sec/round-trip std::mutex: 0.000003119 sec/round-trip tbb::spin_mutex: 0.000000985 sec/round-trip tbb::concurrent_bounded_queue: 0.000000993 sec/round-trip xenium::michael_scott_queue: 0.000001221 sec/round-trip xenium::ramalhete_queue: 0.000000860 sec/round-trip xenium::vyukov_bounded_queue: 0.000000679 sec/round-trip AtomicQueue: 0.000000403 sec/round-trip AtomicQueueB: 0.000000556 sec/round-trip OptimistAtomicQueue: 0.000000435 sec/round-trip OptimistAtomicQueueB: 0.000000507 sec/round-trip AtomicQueue2: 0.000000532 sec/round-trip AtomicQueueB2: 0.000000711 sec/round-trip OptimistAtomicQueue2: 0.000000533 sec/round-trip OptimistAtomicQueueB2: 0.000000566 sec/round-trip [21/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 22,601,661 msg/sec boost::lockfree::spsc_queue, 1,i: 22,834,230 msg/sec boost::lockfree::queue, 1,s: 2,955,991 msg/sec boost::lockfree::queue, 1,i: 3,164,233 msg/sec boost::lockfree::queue, 2,s: 2,020,556 msg/sec boost::lockfree::queue, 2,i: 2,049,009 msg/sec boost::lockfree::queue, 3,s: 2,424,741 msg/sec boost::lockfree::queue, 3,i: 2,413,694 msg/sec boost::lockfree::queue, 4,s: 2,468,139 msg/sec boost::lockfree::queue, 4,i: 2,313,857 msg/sec boost::lockfree::queue, 5,s: 2,208,490 msg/sec boost::lockfree::queue, 5,i: 2,131,425 msg/sec boost::lockfree::queue, 6,s: 2,080,461 msg/sec boost::lockfree::queue, 6,i: 2,099,709 msg/sec boost::lockfree::queue, 7,s: 2,001,153 msg/sec boost::lockfree::queue, 7,i: 2,103,468 msg/sec boost::lockfree::queue, 8,s: 531,465 msg/sec boost::lockfree::queue, 8,i: 1,367,050 msg/sec boost::lockfree::queue, 9,s: 727,973 msg/sec boost::lockfree::queue, 9,i: 1,045,381 msg/sec boost::lockfree::queue,10,s: 510,368 msg/sec boost::lockfree::queue,10,i: 1,010,949 msg/sec boost::lockfree::queue,11,s: 540,541 msg/sec boost::lockfree::queue,11,i: 514,057 msg/sec boost::lockfree::queue,12,s: 503,539 msg/sec boost::lockfree::queue,12,i: 553,790 msg/sec boost::lockfree::queue,13,s: 522,495 msg/sec boost::lockfree::queue,13,i: 531,134 msg/sec boost::lockfree::queue,14,s: 539,425 msg/sec boost::lockfree::queue,14,i: 515,141 msg/sec moodycamel::ReaderWriterQueue, 1,s: 22,434,890 msg/sec moodycamel::ReaderWriterQueue, 1,i: 22,560,987 msg/sec moodycamel::ConcurrentQueue, 1,s: 10,964,886 msg/sec moodycamel::ConcurrentQueue, 1,i: 8,765,002 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,780,649 msg/sec moodycamel::ConcurrentQueue, 2,i: 4,838,153 msg/sec moodycamel::ConcurrentQueue, 3,s: 4,273,637 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,715,850 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,440,145 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,724,868 msg/sec moodycamel::ConcurrentQueue, 5,s: 11,669,739 msg/sec moodycamel::ConcurrentQueue, 5,i: 11,907,724 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,122,441 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,278,301 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,753,351 msg/sec moodycamel::ConcurrentQueue, 7,i: 7,304,881 msg/sec moodycamel::ConcurrentQueue, 8,s: 10,031,622 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,804,829 msg/sec moodycamel::ConcurrentQueue, 9,s: 4,873,575 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,079,583 msg/sec moodycamel::ConcurrentQueue,10,s: 5,341,167 msg/sec moodycamel::ConcurrentQueue,10,i: 17,741,555 msg/sec moodycamel::ConcurrentQueue,11,s: 4,832,254 msg/sec moodycamel::ConcurrentQueue,11,i: 9,261,870 msg/sec moodycamel::ConcurrentQueue,12,s: 5,330,556 msg/sec moodycamel::ConcurrentQueue,12,i: 5,480,852 msg/sec moodycamel::ConcurrentQueue,13,s: 5,220,188 msg/sec moodycamel::ConcurrentQueue,13,i: 5,605,263 msg/sec moodycamel::ConcurrentQueue,14,s: 6,786,657 msg/sec moodycamel::ConcurrentQueue,14,i: 16,293,622 msg/sec pthread_spinlock, 1,s: 5,827,802 msg/sec pthread_spinlock, 1,i: 5,896,118 msg/sec pthread_spinlock, 2,s: 4,259,861 msg/sec pthread_spinlock, 2,i: 3,998,991 msg/sec pthread_spinlock, 3,s: 3,511,069 msg/sec pthread_spinlock, 3,i: 3,532,746 msg/sec pthread_spinlock, 4,s: 2,586,684 msg/sec pthread_spinlock, 4,i: 2,816,601 msg/sec pthread_spinlock, 5,s: 2,542,321 msg/sec pthread_spinlock, 5,i: 2,152,804 msg/sec pthread_spinlock, 6,s: 1,944,362 msg/sec pthread_spinlock, 6,i: 2,075,837 msg/sec pthread_spinlock, 7,s: 1,765,400 msg/sec pthread_spinlock, 7,i: 1,789,485 msg/sec pthread_spinlock, 8,s: 734,445 msg/sec pthread_spinlock, 8,i: 1,442,865 msg/sec pthread_spinlock, 9,s: 712,072 msg/sec pthread_spinlock, 9,i: 1,043,662 msg/sec pthread_spinlock,10,s: 821,469 msg/sec pthread_spinlock,10,i: 540,259 msg/sec pthread_spinlock,11,s: 518,800 msg/sec pthread_spinlock,11,i: 529,964 msg/sec pthread_spinlock,12,s: 543,201 msg/sec pthread_spinlock,12,i: 759,178 msg/sec pthread_spinlock,13,s: 524,740 msg/sec pthread_spinlock,13,i: 514,401 msg/sec pthread_spinlock,14,s: 532,501 msg/sec pthread_spinlock,14,i: 624,328 msg/sec std::mutex, 1,s: 5,779,199 msg/sec std::mutex, 1,i: 5,838,929 msg/sec std::mutex, 2,s: 4,674,600 msg/sec std::mutex, 2,i: 4,568,167 msg/sec std::mutex, 3,s: 2,994,634 msg/sec std::mutex, 3,i: 2,967,842 msg/sec std::mutex, 4,s: 2,805,660 msg/sec std::mutex, 4,i: 2,904,826 msg/sec std::mutex, 5,s: 3,580,378 msg/sec std::mutex, 5,i: 3,653,327 msg/sec std::mutex, 6,s: 4,621,358 msg/sec std::mutex, 6,i: 4,743,999 msg/sec std::mutex, 7,s: 6,030,195 msg/sec std::mutex, 7,i: 6,059,330 msg/sec std::mutex, 8,s: 6,560,230 msg/sec std::mutex, 8,i: 5,878,551 msg/sec std::mutex, 9,s: 5,859,658 msg/sec std::mutex, 9,i: 5,235,855 msg/sec std::mutex,10,s: 5,416,765 msg/sec std::mutex,10,i: 5,098,563 msg/sec std::mutex,11,s: 5,200,991 msg/sec std::mutex,11,i: 5,102,506 msg/sec std::mutex,12,s: 4,934,409 msg/sec std::mutex,12,i: 5,088,227 msg/sec std::mutex,13,s: 4,877,626 msg/sec std::mutex,13,i: 5,183,209 msg/sec std::mutex,14,s: 4,647,697 msg/sec std::mutex,14,i: 5,280,499 msg/sec tbb::spin_mutex, 1,s: 24,111,952 msg/sec tbb::spin_mutex, 1,i: 24,693,834 msg/sec tbb::spin_mutex, 2,s: 13,785,916 msg/sec tbb::spin_mutex, 2,i: 14,204,525 msg/sec tbb::spin_mutex, 3,s: 8,244,099 msg/sec tbb::spin_mutex, 3,i: 9,381,293 msg/sec tbb::spin_mutex, 4,s: 6,325,645 msg/sec tbb::spin_mutex, 4,i: 6,212,855 msg/sec tbb::spin_mutex, 5,s: 4,602,223 msg/sec tbb::spin_mutex, 5,i: 4,713,200 msg/sec tbb::spin_mutex, 6,s: 3,463,440 msg/sec tbb::spin_mutex, 6,i: 3,407,818 msg/sec tbb::spin_mutex, 7,s: 2,674,218 msg/sec tbb::spin_mutex, 7,i: 2,481,666 msg/sec tbb::spin_mutex, 8,s: 1,603,044 msg/sec tbb::spin_mutex, 8,i: 1,562,477 msg/sec tbb::spin_mutex, 9,s: 779,314 msg/sec tbb::spin_mutex, 9,i: 859,081 msg/sec tbb::spin_mutex,10,s: 714,130 msg/sec tbb::spin_mutex,10,i: 818,424 msg/sec tbb::spin_mutex,11,s: 538,194 msg/sec tbb::spin_mutex,11,i: 669,460 msg/sec tbb::spin_mutex,12,s: 513,375 msg/sec tbb::spin_mutex,12,i: 551,897 msg/sec tbb::spin_mutex,13,s: 523,302 msg/sec tbb::spin_mutex,13,i: 478,420 msg/sec tbb::spin_mutex,14,s: 442,793 msg/sec tbb::spin_mutex,14,i: 526,088 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,059,227 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,385,832 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,358,095 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,441,857 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,363,413 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,251,117 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,800,828 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,235,916 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,089,324 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,254,363 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,537,503 msg/sec tbb::concurrent_bounded_queue, 6,i: 3,042,741 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,558,884 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,713,360 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,242,375 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,262,707 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,011,540 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,007,931 msg/sec tbb::concurrent_bounded_queue,10,s: 1,073,478 msg/sec tbb::concurrent_bounded_queue,10,i: 1,523,088 msg/sec tbb::concurrent_bounded_queue,11,s: 904,674 msg/sec tbb::concurrent_bounded_queue,11,i: 1,572,988 msg/sec tbb::concurrent_bounded_queue,12,s: 1,008,852 msg/sec tbb::concurrent_bounded_queue,12,i: 1,532,327 msg/sec tbb::concurrent_bounded_queue,13,s: 1,010,900 msg/sec tbb::concurrent_bounded_queue,13,i: 1,232,769 msg/sec tbb::concurrent_bounded_queue,14,s: 915,367 msg/sec tbb::concurrent_bounded_queue,14,i: 1,071,640 msg/sec xenium::michael_scott_queue, 1,s: 3,328,194 msg/sec xenium::michael_scott_queue, 1,i: 2,329,846 msg/sec xenium::michael_scott_queue, 2,s: 3,510,365 msg/sec xenium::michael_scott_queue, 2,i: 3,135,109 msg/sec xenium::michael_scott_queue, 3,s: 2,397,406 msg/sec xenium::michael_scott_queue, 3,i: 2,550,996 msg/sec xenium::michael_scott_queue, 4,s: 2,044,811 msg/sec xenium::michael_scott_queue, 4,i: 2,196,408 msg/sec xenium::michael_scott_queue, 5,s: 1,962,871 msg/sec xenium::michael_scott_queue, 5,i: 2,076,663 msg/sec xenium::michael_scott_queue, 6,s: 1,743,891 msg/sec xenium::michael_scott_queue, 6,i: 1,773,186 msg/sec xenium::michael_scott_queue, 7,s: 1,687,470 msg/sec xenium::michael_scott_queue, 7,i: 1,707,668 msg/sec xenium::michael_scott_queue, 8,s: 1,191,961 msg/sec xenium::michael_scott_queue, 8,i: 1,516,643 msg/sec xenium::michael_scott_queue, 9,s: 710,621 msg/sec xenium::michael_scott_queue, 9,i: 1,111,086 msg/sec xenium::michael_scott_queue,10,s: 1,027,468 msg/sec xenium::michael_scott_queue,10,i: 1,118,414 msg/sec xenium::michael_scott_queue,11,s: 507,370 msg/sec xenium::michael_scott_queue,11,i: 1,028,229 msg/sec xenium::michael_scott_queue,12,s: 509,975 msg/sec xenium::michael_scott_queue,12,i: 505,982 msg/sec xenium::michael_scott_queue,13,s: 499,825 msg/sec xenium::michael_scott_queue,13,i: 516,256 msg/sec xenium::michael_scott_queue,14,s: 501,984 msg/sec xenium::michael_scott_queue,14,i: 510,376 msg/sec xenium::ramalhete_queue, 1,s: 6,874,915 msg/sec xenium::ramalhete_queue, 1,i: 6,660,339 msg/sec xenium::ramalhete_queue, 2,s: 5,771,627 msg/sec xenium::ramalhete_queue, 2,i: 6,795,254 msg/sec xenium::ramalhete_queue, 3,s: 6,595,078 msg/sec xenium::ramalhete_queue, 3,i: 6,902,140 msg/sec xenium::ramalhete_queue, 4,s: 7,054,558 msg/sec xenium::ramalhete_queue, 4,i: 7,121,626 msg/sec xenium::ramalhete_queue, 5,s: 7,634,755 msg/sec xenium::ramalhete_queue, 5,i: 7,788,568 msg/sec xenium::ramalhete_queue, 6,s: 7,946,125 msg/sec xenium::ramalhete_queue, 6,i: 8,188,138 msg/sec xenium::ramalhete_queue, 7,s: 8,288,552 msg/sec xenium::ramalhete_queue, 7,i: 8,121,316 msg/sec xenium::ramalhete_queue, 8,s: 7,739,438 msg/sec xenium::ramalhete_queue, 8,i: 8,417,874 msg/sec xenium::ramalhete_queue, 9,s: 8,233,499 msg/sec xenium::ramalhete_queue, 9,i: 8,097,259 msg/sec xenium::ramalhete_queue,10,s: 7,898,866 msg/sec xenium::ramalhete_queue,10,i: 8,288,748 msg/sec xenium::ramalhete_queue,11,s: 8,381,783 msg/sec xenium::ramalhete_queue,11,i: 8,235,453 msg/sec xenium::ramalhete_queue,12,s: 8,081,389 msg/sec xenium::ramalhete_queue,12,i: 8,178,842 msg/sec xenium::ramalhete_queue,13,s: 9,028,745 msg/sec xenium::ramalhete_queue,13,i: 8,038,980 msg/sec xenium::ramalhete_queue,14,s: 11,095,531 msg/sec xenium::ramalhete_queue,14,i: 8,638,484 msg/sec xenium::vyukov_bounded_queue, 1,s: 56,732,891 msg/sec xenium::vyukov_bounded_queue, 1,i: 57,639,213 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,308,155 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,278,808 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,490,587 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,527,170 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,909,732 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,086,900 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,729,479 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,698,305 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,418,073 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,137,991 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,046,675 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,891,490 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,469,164 msg/sec xenium::vyukov_bounded_queue, 8,i: 1,639,355 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,187,226 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,665,918 msg/sec xenium::vyukov_bounded_queue,10,s: 1,072,238 msg/sec xenium::vyukov_bounded_queue,10,i: 1,907,357 msg/sec xenium::vyukov_bounded_queue,11,s: 1,105,906 msg/sec xenium::vyukov_bounded_queue,11,i: 1,406,693 msg/sec xenium::vyukov_bounded_queue,12,s: 1,076,961 msg/sec xenium::vyukov_bounded_queue,12,i: 1,381,193 msg/sec xenium::vyukov_bounded_queue,13,s: 1,019,738 msg/sec xenium::vyukov_bounded_queue,13,i: 1,216,268 msg/sec xenium::vyukov_bounded_queue,14,s: 751,674 msg/sec xenium::vyukov_bounded_queue,14,i: 1,122,701 msg/sec AtomicQueue, 1,s: 30,339,296 msg/sec AtomicQueue, 1,i: 26,503,753 msg/sec AtomicQueue, 2,s: 3,265,445 msg/sec AtomicQueue, 2,i: 4,557,878 msg/sec AtomicQueue, 3,s: 2,815,398 msg/sec AtomicQueue, 3,i: 3,075,752 msg/sec AtomicQueue, 4,s: 2,436,335 msg/sec AtomicQueue, 4,i: 2,742,789 msg/sec AtomicQueue, 5,s: 2,202,903 msg/sec AtomicQueue, 5,i: 2,405,007 msg/sec AtomicQueue, 6,s: 1,967,512 msg/sec AtomicQueue, 6,i: 1,987,027 msg/sec AtomicQueue, 7,s: 1,606,280 msg/sec AtomicQueue, 7,i: 1,836,976 msg/sec AtomicQueue, 8,s: 758,255 msg/sec AtomicQueue, 8,i: 1,701,484 msg/sec AtomicQueue, 9,s: 824,547 msg/sec AtomicQueue, 9,i: 1,512,399 msg/sec AtomicQueue,10,s: 550,540 msg/sec AtomicQueue,10,i: 1,325,329 msg/sec AtomicQueue,11,s: 631,463 msg/sec AtomicQueue,11,i: 1,317,111 msg/sec AtomicQueue,12,s: 676,006 msg/sec AtomicQueue,12,i: 1,010,541 msg/sec AtomicQueue,13,s: 499,986 msg/sec AtomicQueue,13,i: 509,495 msg/sec AtomicQueue,14,s: 494,927 msg/sec AtomicQueue,14,i: 560,047 msg/sec AtomicQueueB, 1,s: 15,438,504 msg/sec AtomicQueueB, 1,i: 15,432,273 msg/sec AtomicQueueB, 2,s: 4,395,539 msg/sec AtomicQueueB, 2,i: 3,949,902 msg/sec AtomicQueueB, 3,s: 2,804,844 msg/sec AtomicQueueB, 3,i: 3,300,278 msg/sec AtomicQueueB, 4,s: 2,480,119 msg/sec AtomicQueueB, 4,i: 2,838,158 msg/sec AtomicQueueB, 5,s: 2,315,661 msg/sec AtomicQueueB, 5,i: 2,299,812 msg/sec AtomicQueueB, 6,s: 1,968,630 msg/sec AtomicQueueB, 6,i: 1,938,514 msg/sec AtomicQueueB, 7,s: 2,016,242 msg/sec AtomicQueueB, 7,i: 1,667,196 msg/sec AtomicQueueB, 8,s: 828,401 msg/sec AtomicQueueB, 8,i: 1,673,159 msg/sec AtomicQueueB, 9,s: 495,736 msg/sec AtomicQueueB, 9,i: 1,046,290 msg/sec AtomicQueueB,10,s: 743,518 msg/sec AtomicQueueB,10,i: 1,305,429 msg/sec AtomicQueueB,11,s: 808,310 msg/sec AtomicQueueB,11,i: 1,226,993 msg/sec AtomicQueueB,12,s: 678,032 msg/sec AtomicQueueB,12,i: 944,378 msg/sec AtomicQueueB,13,s: 528,286 msg/sec AtomicQueueB,13,i: 512,992 msg/sec AtomicQueueB,14,s: 505,018 msg/sec AtomicQueueB,14,i: 514,039 msg/sec OptimistAtomicQueue, 1,s: 125,305,407 msg/sec OptimistAtomicQueue, 1,i: 69,943,091 msg/sec OptimistAtomicQueue, 2,s: 8,441,083 msg/sec OptimistAtomicQueue, 2,i: 9,756,139 msg/sec OptimistAtomicQueue, 3,s: 12,428,134 msg/sec OptimistAtomicQueue, 3,i: 9,021,262 msg/sec OptimistAtomicQueue, 4,s: 9,200,838 msg/sec OptimistAtomicQueue, 4,i: 12,300,492 msg/sec OptimistAtomicQueue, 5,s: 13,425,942 msg/sec OptimistAtomicQueue, 5,i: 12,840,698 msg/sec OptimistAtomicQueue, 6,s: 13,050,833 msg/sec OptimistAtomicQueue, 6,i: 13,649,161 msg/sec OptimistAtomicQueue, 7,s: 13,659,899 msg/sec OptimistAtomicQueue, 7,i: 14,149,054 msg/sec OptimistAtomicQueue, 8,s: 9,745,260 msg/sec OptimistAtomicQueue, 8,i: 9,556,001 msg/sec OptimistAtomicQueue, 9,s: 8,568,427 msg/sec OptimistAtomicQueue, 9,i: 10,052,721 msg/sec OptimistAtomicQueue,10,s: 8,168,461 msg/sec OptimistAtomicQueue,10,i: 10,042,313 msg/sec OptimistAtomicQueue,11,s: 7,968,129 msg/sec OptimistAtomicQueue,11,i: 10,106,880 msg/sec OptimistAtomicQueue,12,s: 7,989,893 msg/sec OptimistAtomicQueue,12,i: 10,578,319 msg/sec OptimistAtomicQueue,13,s: 8,541,622 msg/sec OptimistAtomicQueue,13,i: 11,017,941 msg/sec OptimistAtomicQueue,14,s: 8,698,430 msg/sec OptimistAtomicQueue,14,i: 10,657,425 msg/sec OptimistAtomicQueueB, 1,s: 26,574,279 msg/sec OptimistAtomicQueueB, 1,i: 37,389,522 msg/sec OptimistAtomicQueueB, 2,s: 11,653,925 msg/sec OptimistAtomicQueueB, 2,i: 11,260,650 msg/sec OptimistAtomicQueueB, 3,s: 11,442,878 msg/sec OptimistAtomicQueueB, 3,i: 13,050,252 msg/sec OptimistAtomicQueueB, 4,s: 13,128,614 msg/sec OptimistAtomicQueueB, 4,i: 13,210,959 msg/sec OptimistAtomicQueueB, 5,s: 13,507,193 msg/sec OptimistAtomicQueueB, 5,i: 13,818,193 msg/sec OptimistAtomicQueueB, 6,s: 13,161,674 msg/sec OptimistAtomicQueueB, 6,i: 13,432,568 msg/sec OptimistAtomicQueueB, 7,s: 13,150,552 msg/sec OptimistAtomicQueueB, 7,i: 13,268,567 msg/sec OptimistAtomicQueueB, 8,s: 9,734,777 msg/sec OptimistAtomicQueueB, 8,i: 11,195,416 msg/sec OptimistAtomicQueueB, 9,s: 8,395,837 msg/sec OptimistAtomicQueueB, 9,i: 10,005,953 msg/sec OptimistAtomicQueueB,10,s: 8,016,979 msg/sec OptimistAtomicQueueB,10,i: 9,862,414 msg/sec OptimistAtomicQueueB,11,s: 7,945,273 msg/sec OptimistAtomicQueueB,11,i: 11,339,459 msg/sec OptimistAtomicQueueB,12,s: 7,995,136 msg/sec OptimistAtomicQueueB,12,i: 10,874,178 msg/sec OptimistAtomicQueueB,13,s: 8,167,469 msg/sec OptimistAtomicQueueB,13,i: 10,267,865 msg/sec OptimistAtomicQueueB,14,s: 8,538,346 msg/sec OptimistAtomicQueueB,14,i: 10,491,183 msg/sec AtomicQueue2, 1,s: 10,083,106 msg/sec AtomicQueue2, 1,i: 20,019,953 msg/sec AtomicQueue2, 2,s: 4,450,045 msg/sec AtomicQueue2, 2,i: 4,341,325 msg/sec AtomicQueue2, 3,s: 2,609,587 msg/sec AtomicQueue2, 3,i: 3,147,231 msg/sec AtomicQueue2, 4,s: 2,351,840 msg/sec AtomicQueue2, 4,i: 2,779,578 msg/sec AtomicQueue2, 5,s: 2,167,379 msg/sec AtomicQueue2, 5,i: 2,350,775 msg/sec AtomicQueue2, 6,s: 1,990,379 msg/sec AtomicQueue2, 6,i: 2,013,439 msg/sec AtomicQueue2, 7,s: 1,716,793 msg/sec AtomicQueue2, 7,i: 1,809,899 msg/sec AtomicQueue2, 8,s: 972,079 msg/sec AtomicQueue2, 8,i: 1,692,471 msg/sec AtomicQueue2, 9,s: 510,289 msg/sec AtomicQueue2, 9,i: 1,459,347 msg/sec AtomicQueue2,10,s: 639,294 msg/sec AtomicQueue2,10,i: 1,263,715 msg/sec AtomicQueue2,11,s: 723,612 msg/sec AtomicQueue2,11,i: 1,287,595 msg/sec AtomicQueue2,12,s: 517,576 msg/sec AtomicQueue2,12,i: 558,094 msg/sec AtomicQueue2,13,s: 499,860 msg/sec AtomicQueue2,13,i: 1,050,871 msg/sec AtomicQueue2,14,s: 546,915 msg/sec AtomicQueue2,14,i: 514,710 msg/sec AtomicQueueB2, 1,s: 9,174,727 msg/sec AtomicQueueB2, 1,i: 9,304,920 msg/sec AtomicQueueB2, 2,s: 2,900,537 msg/sec AtomicQueueB2, 2,i: 3,871,156 msg/sec AtomicQueueB2, 3,s: 2,565,566 msg/sec AtomicQueueB2, 3,i: 2,611,724 msg/sec AtomicQueueB2, 4,s: 2,404,593 msg/sec AtomicQueueB2, 4,i: 2,656,248 msg/sec AtomicQueueB2, 5,s: 2,077,564 msg/sec AtomicQueueB2, 5,i: 2,396,409 msg/sec AtomicQueueB2, 6,s: 2,050,768 msg/sec AtomicQueueB2, 6,i: 2,034,798 msg/sec AtomicQueueB2, 7,s: 1,759,108 msg/sec AtomicQueueB2, 7,i: 1,752,527 msg/sec AtomicQueueB2, 8,s: 678,069 msg/sec AtomicQueueB2, 8,i: 1,570,452 msg/sec AtomicQueueB2, 9,s: 506,200 msg/sec AtomicQueueB2, 9,i: 1,487,727 msg/sec AtomicQueueB2,10,s: 531,065 msg/sec AtomicQueueB2,10,i: 1,236,118 msg/sec AtomicQueueB2,11,s: 668,555 msg/sec AtomicQueueB2,11,i: 1,222,594 msg/sec AtomicQueueB2,12,s: 753,560 msg/sec AtomicQueueB2,12,i: 515,812 msg/sec AtomicQueueB2,13,s: 520,641 msg/sec AtomicQueueB2,13,i: 553,855 msg/sec AtomicQueueB2,14,s: 524,316 msg/sec AtomicQueueB2,14,i: 522,281 msg/sec OptimistAtomicQueue2, 1,s: 84,266,979 msg/sec OptimistAtomicQueue2, 1,i: 89,953,159 msg/sec OptimistAtomicQueue2, 2,s: 6,927,751 msg/sec OptimistAtomicQueue2, 2,i: 7,306,160 msg/sec OptimistAtomicQueue2, 3,s: 8,163,024 msg/sec OptimistAtomicQueue2, 3,i: 8,196,832 msg/sec OptimistAtomicQueue2, 4,s: 8,376,803 msg/sec OptimistAtomicQueue2, 4,i: 8,971,038 msg/sec OptimistAtomicQueue2, 5,s: 12,775,743 msg/sec OptimistAtomicQueue2, 5,i: 12,863,692 msg/sec OptimistAtomicQueue2, 6,s: 13,110,763 msg/sec OptimistAtomicQueue2, 6,i: 13,410,245 msg/sec OptimistAtomicQueue2, 7,s: 12,805,255 msg/sec OptimistAtomicQueue2, 7,i: 13,104,503 msg/sec OptimistAtomicQueue2, 8,s: 9,394,372 msg/sec OptimistAtomicQueue2, 8,i: 11,008,961 msg/sec OptimistAtomicQueue2, 9,s: 8,440,698 msg/sec OptimistAtomicQueue2, 9,i: 9,971,339 msg/sec OptimistAtomicQueue2,10,s: 8,017,154 msg/sec OptimistAtomicQueue2,10,i: 9,248,732 msg/sec OptimistAtomicQueue2,11,s: 7,609,441 msg/sec OptimistAtomicQueue2,11,i: 10,504,853 msg/sec OptimistAtomicQueue2,12,s: 7,815,431 msg/sec OptimistAtomicQueue2,12,i: 9,598,992 msg/sec OptimistAtomicQueue2,13,s: 7,999,045 msg/sec OptimistAtomicQueue2,13,i: 10,111,514 msg/sec OptimistAtomicQueue2,14,s: 8,205,260 msg/sec OptimistAtomicQueue2,14,i: 10,138,086 msg/sec OptimistAtomicQueueB2, 1,s: 25,944,060 msg/sec OptimistAtomicQueueB2, 1,i: 22,702,927 msg/sec OptimistAtomicQueueB2, 2,s: 10,549,806 msg/sec OptimistAtomicQueueB2, 2,i: 11,622,771 msg/sec OptimistAtomicQueueB2, 3,s: 9,850,237 msg/sec OptimistAtomicQueueB2, 3,i: 8,434,459 msg/sec OptimistAtomicQueueB2, 4,s: 8,457,884 msg/sec OptimistAtomicQueueB2, 4,i: 8,722,008 msg/sec OptimistAtomicQueueB2, 5,s: 8,609,155 msg/sec OptimistAtomicQueueB2, 5,i: 12,634,606 msg/sec OptimistAtomicQueueB2, 6,s: 13,147,060 msg/sec OptimistAtomicQueueB2, 6,i: 12,782,840 msg/sec OptimistAtomicQueueB2, 7,s: 12,484,959 msg/sec OptimistAtomicQueueB2, 7,i: 12,289,300 msg/sec OptimistAtomicQueueB2, 8,s: 8,549,171 msg/sec OptimistAtomicQueueB2, 8,i: 10,713,723 msg/sec OptimistAtomicQueueB2, 9,s: 7,804,342 msg/sec OptimistAtomicQueueB2, 9,i: 9,339,147 msg/sec OptimistAtomicQueueB2,10,s: 7,405,614 msg/sec OptimistAtomicQueueB2,10,i: 10,748,888 msg/sec OptimistAtomicQueueB2,11,s: 7,362,010 msg/sec OptimistAtomicQueueB2,11,i: 9,458,126 msg/sec OptimistAtomicQueueB2,12,s: 7,561,302 msg/sec OptimistAtomicQueueB2,12,i: 9,665,584 msg/sec OptimistAtomicQueueB2,13,s: 7,591,729 msg/sec OptimistAtomicQueueB2,13,i: 9,447,600 msg/sec OptimistAtomicQueueB2,14,s: 7,696,711 msg/sec OptimistAtomicQueueB2,14,i: 9,917,987 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000291 sec/round-trip boost::lockfree::queue: 0.000000792 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000292 sec/round-trip moodycamel::ConcurrentQueue: 0.000000480 sec/round-trip pthread_spinlock: 0.000000636 sec/round-trip std::mutex: 0.000002111 sec/round-trip tbb::spin_mutex: 0.000000664 sec/round-trip tbb::concurrent_bounded_queue: 0.000000594 sec/round-trip xenium::michael_scott_queue: 0.000000762 sec/round-trip xenium::ramalhete_queue: 0.000000519 sec/round-trip xenium::vyukov_bounded_queue: 0.000000443 sec/round-trip AtomicQueue: 0.000000262 sec/round-trip AtomicQueueB: 0.000000372 sec/round-trip OptimistAtomicQueue: 0.000000306 sec/round-trip OptimistAtomicQueueB: 0.000000335 sec/round-trip AtomicQueue2: 0.000000324 sec/round-trip AtomicQueueB2: 0.000000406 sec/round-trip OptimistAtomicQueue2: 0.000000336 sec/round-trip OptimistAtomicQueueB2: 0.000000355 sec/round-trip [22/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 24,869,000 msg/sec boost::lockfree::spsc_queue, 1,i: 24,753,136 msg/sec boost::lockfree::queue, 1,s: 3,120,796 msg/sec boost::lockfree::queue, 1,i: 3,134,831 msg/sec boost::lockfree::queue, 2,s: 2,381,721 msg/sec boost::lockfree::queue, 2,i: 2,555,467 msg/sec boost::lockfree::queue, 3,s: 2,261,359 msg/sec boost::lockfree::queue, 3,i: 2,353,559 msg/sec boost::lockfree::queue, 4,s: 2,230,901 msg/sec boost::lockfree::queue, 4,i: 1,959,040 msg/sec boost::lockfree::queue, 5,s: 2,106,878 msg/sec boost::lockfree::queue, 5,i: 2,237,240 msg/sec boost::lockfree::queue, 6,s: 2,093,462 msg/sec boost::lockfree::queue, 6,i: 2,036,685 msg/sec boost::lockfree::queue, 7,s: 1,904,302 msg/sec boost::lockfree::queue, 7,i: 1,843,686 msg/sec boost::lockfree::queue, 8,s: 1,295,778 msg/sec boost::lockfree::queue, 8,i: 1,217,114 msg/sec boost::lockfree::queue, 9,s: 703,820 msg/sec boost::lockfree::queue, 9,i: 1,065,029 msg/sec boost::lockfree::queue,10,s: 503,249 msg/sec boost::lockfree::queue,10,i: 948,295 msg/sec boost::lockfree::queue,11,s: 689,171 msg/sec boost::lockfree::queue,11,i: 503,399 msg/sec boost::lockfree::queue,12,s: 504,865 msg/sec boost::lockfree::queue,12,i: 529,647 msg/sec boost::lockfree::queue,13,s: 499,811 msg/sec boost::lockfree::queue,13,i: 544,547 msg/sec boost::lockfree::queue,14,s: 524,453 msg/sec boost::lockfree::queue,14,i: 504,470 msg/sec moodycamel::ReaderWriterQueue, 1,s: 142,441,604 msg/sec moodycamel::ReaderWriterQueue, 1,i: 143,468,476 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,084,843 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,570,225 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,068,794 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,744,037 msg/sec moodycamel::ConcurrentQueue, 3,s: 12,718,979 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,496,213 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,481,477 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,094,955 msg/sec moodycamel::ConcurrentQueue, 5,s: 12,103,222 msg/sec moodycamel::ConcurrentQueue, 5,i: 5,700,217 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,000,972 msg/sec moodycamel::ConcurrentQueue, 6,i: 13,673,522 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,232,844 msg/sec moodycamel::ConcurrentQueue, 7,i: 11,021,028 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,476,707 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,845,542 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,308,909 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,738,839 msg/sec moodycamel::ConcurrentQueue,10,s: 5,098,456 msg/sec moodycamel::ConcurrentQueue,10,i: 5,601,865 msg/sec moodycamel::ConcurrentQueue,11,s: 5,316,310 msg/sec moodycamel::ConcurrentQueue,11,i: 14,784,262 msg/sec moodycamel::ConcurrentQueue,12,s: 5,468,286 msg/sec moodycamel::ConcurrentQueue,12,i: 5,372,358 msg/sec moodycamel::ConcurrentQueue,13,s: 5,056,836 msg/sec moodycamel::ConcurrentQueue,13,i: 17,334,650 msg/sec moodycamel::ConcurrentQueue,14,s: 7,105,535 msg/sec moodycamel::ConcurrentQueue,14,i: 5,514,237 msg/sec pthread_spinlock, 1,s: 6,088,035 msg/sec pthread_spinlock, 1,i: 6,015,128 msg/sec pthread_spinlock, 2,s: 3,897,826 msg/sec pthread_spinlock, 2,i: 3,922,116 msg/sec pthread_spinlock, 3,s: 3,182,089 msg/sec pthread_spinlock, 3,i: 3,417,448 msg/sec pthread_spinlock, 4,s: 2,568,662 msg/sec pthread_spinlock, 4,i: 2,508,122 msg/sec pthread_spinlock, 5,s: 2,284,350 msg/sec pthread_spinlock, 5,i: 2,106,242 msg/sec pthread_spinlock, 6,s: 2,167,738 msg/sec pthread_spinlock, 6,i: 1,922,198 msg/sec pthread_spinlock, 7,s: 1,969,791 msg/sec pthread_spinlock, 7,i: 1,841,439 msg/sec pthread_spinlock, 8,s: 1,116,435 msg/sec pthread_spinlock, 8,i: 1,150,334 msg/sec pthread_spinlock, 9,s: 525,669 msg/sec pthread_spinlock, 9,i: 541,483 msg/sec pthread_spinlock,10,s: 503,235 msg/sec pthread_spinlock,10,i: 565,367 msg/sec pthread_spinlock,11,s: 814,019 msg/sec pthread_spinlock,11,i: 845,908 msg/sec pthread_spinlock,12,s: 527,692 msg/sec pthread_spinlock,12,i: 506,324 msg/sec pthread_spinlock,13,s: 532,873 msg/sec pthread_spinlock,13,i: 543,143 msg/sec pthread_spinlock,14,s: 541,566 msg/sec pthread_spinlock,14,i: 516,393 msg/sec std::mutex, 1,s: 566,862 msg/sec std::mutex, 1,i: 6,623,019 msg/sec std::mutex, 2,s: 4,375,828 msg/sec std::mutex, 2,i: 4,457,753 msg/sec std::mutex, 3,s: 2,777,895 msg/sec std::mutex, 3,i: 2,815,175 msg/sec std::mutex, 4,s: 2,743,002 msg/sec std::mutex, 4,i: 2,828,639 msg/sec std::mutex, 5,s: 3,563,111 msg/sec std::mutex, 5,i: 3,540,696 msg/sec std::mutex, 6,s: 4,390,393 msg/sec std::mutex, 6,i: 4,472,356 msg/sec std::mutex, 7,s: 5,729,235 msg/sec std::mutex, 7,i: 5,770,276 msg/sec std::mutex, 8,s: 7,067,173 msg/sec std::mutex, 8,i: 5,999,242 msg/sec std::mutex, 9,s: 6,623,594 msg/sec std::mutex, 9,i: 5,104,363 msg/sec std::mutex,10,s: 6,566,469 msg/sec std::mutex,10,i: 4,825,926 msg/sec std::mutex,11,s: 6,758,794 msg/sec std::mutex,11,i: 5,081,842 msg/sec std::mutex,12,s: 7,071,927 msg/sec std::mutex,12,i: 5,127,098 msg/sec std::mutex,13,s: 7,270,498 msg/sec std::mutex,13,i: 5,484,670 msg/sec std::mutex,14,s: 7,102,487 msg/sec std::mutex,14,i: 5,294,783 msg/sec tbb::spin_mutex, 1,s: 22,607,505 msg/sec tbb::spin_mutex, 1,i: 23,483,213 msg/sec tbb::spin_mutex, 2,s: 14,700,337 msg/sec tbb::spin_mutex, 2,i: 15,461,111 msg/sec tbb::spin_mutex, 3,s: 8,733,552 msg/sec tbb::spin_mutex, 3,i: 7,462,843 msg/sec tbb::spin_mutex, 4,s: 5,143,391 msg/sec tbb::spin_mutex, 4,i: 3,802,024 msg/sec tbb::spin_mutex, 5,s: 3,685,405 msg/sec tbb::spin_mutex, 5,i: 5,319,642 msg/sec tbb::spin_mutex, 6,s: 3,486,107 msg/sec tbb::spin_mutex, 6,i: 2,550,309 msg/sec tbb::spin_mutex, 7,s: 2,128,601 msg/sec tbb::spin_mutex, 7,i: 1,861,248 msg/sec tbb::spin_mutex, 8,s: 1,292,556 msg/sec tbb::spin_mutex, 8,i: 1,071,380 msg/sec tbb::spin_mutex, 9,s: 926,744 msg/sec tbb::spin_mutex, 9,i: 837,918 msg/sec tbb::spin_mutex,10,s: 741,122 msg/sec tbb::spin_mutex,10,i: 861,134 msg/sec tbb::spin_mutex,11,s: 528,154 msg/sec tbb::spin_mutex,11,i: 714,058 msg/sec tbb::spin_mutex,12,s: 453,360 msg/sec tbb::spin_mutex,12,i: 741,818 msg/sec tbb::spin_mutex,13,s: 360,477 msg/sec tbb::spin_mutex,13,i: 598,892 msg/sec tbb::spin_mutex,14,s: 408,890 msg/sec tbb::spin_mutex,14,i: 406,221 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,509,417 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,573,592 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,913,118 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,047,725 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,132,924 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,266,393 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,492,789 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,429,343 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,903,735 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,100,598 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,747,584 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,936,523 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,518,309 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,603,456 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,275,398 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,960,818 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,236,485 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,294,022 msg/sec tbb::concurrent_bounded_queue,10,s: 1,139,270 msg/sec tbb::concurrent_bounded_queue,10,i: 1,235,643 msg/sec tbb::concurrent_bounded_queue,11,s: 1,275,296 msg/sec tbb::concurrent_bounded_queue,11,i: 1,214,218 msg/sec tbb::concurrent_bounded_queue,12,s: 1,331,654 msg/sec tbb::concurrent_bounded_queue,12,i: 1,222,905 msg/sec tbb::concurrent_bounded_queue,13,s: 1,209,774 msg/sec tbb::concurrent_bounded_queue,13,i: 1,181,598 msg/sec tbb::concurrent_bounded_queue,14,s: 1,111,518 msg/sec tbb::concurrent_bounded_queue,14,i: 1,008,638 msg/sec xenium::michael_scott_queue, 1,s: 3,838,681 msg/sec xenium::michael_scott_queue, 1,i: 3,885,891 msg/sec xenium::michael_scott_queue, 2,s: 2,733,356 msg/sec xenium::michael_scott_queue, 2,i: 2,878,209 msg/sec xenium::michael_scott_queue, 3,s: 2,412,324 msg/sec xenium::michael_scott_queue, 3,i: 2,550,246 msg/sec xenium::michael_scott_queue, 4,s: 2,045,434 msg/sec xenium::michael_scott_queue, 4,i: 2,247,894 msg/sec xenium::michael_scott_queue, 5,s: 1,904,774 msg/sec xenium::michael_scott_queue, 5,i: 1,991,589 msg/sec xenium::michael_scott_queue, 6,s: 1,612,216 msg/sec xenium::michael_scott_queue, 6,i: 1,715,238 msg/sec xenium::michael_scott_queue, 7,s: 1,509,481 msg/sec xenium::michael_scott_queue, 7,i: 1,627,445 msg/sec xenium::michael_scott_queue, 8,s: 989,081 msg/sec xenium::michael_scott_queue, 8,i: 1,140,077 msg/sec xenium::michael_scott_queue, 9,s: 883,861 msg/sec xenium::michael_scott_queue, 9,i: 1,059,463 msg/sec xenium::michael_scott_queue,10,s: 527,340 msg/sec xenium::michael_scott_queue,10,i: 521,219 msg/sec xenium::michael_scott_queue,11,s: 503,579 msg/sec xenium::michael_scott_queue,11,i: 856,739 msg/sec xenium::michael_scott_queue,12,s: 518,602 msg/sec xenium::michael_scott_queue,12,i: 517,102 msg/sec xenium::michael_scott_queue,13,s: 502,527 msg/sec xenium::michael_scott_queue,13,i: 503,852 msg/sec xenium::michael_scott_queue,14,s: 506,623 msg/sec xenium::michael_scott_queue,14,i: 780,854 msg/sec xenium::ramalhete_queue, 1,s: 11,002,005 msg/sec xenium::ramalhete_queue, 1,i: 3,847,260 msg/sec xenium::ramalhete_queue, 2,s: 5,836,403 msg/sec xenium::ramalhete_queue, 2,i: 6,391,844 msg/sec xenium::ramalhete_queue, 3,s: 6,438,254 msg/sec xenium::ramalhete_queue, 3,i: 7,345,287 msg/sec xenium::ramalhete_queue, 4,s: 7,158,437 msg/sec xenium::ramalhete_queue, 4,i: 8,207,476 msg/sec xenium::ramalhete_queue, 5,s: 8,568,678 msg/sec xenium::ramalhete_queue, 5,i: 8,524,376 msg/sec xenium::ramalhete_queue, 6,s: 8,305,428 msg/sec xenium::ramalhete_queue, 6,i: 11,226,844 msg/sec xenium::ramalhete_queue, 7,s: 11,351,951 msg/sec xenium::ramalhete_queue, 7,i: 11,444,208 msg/sec xenium::ramalhete_queue, 8,s: 8,281,148 msg/sec xenium::ramalhete_queue, 8,i: 8,266,027 msg/sec xenium::ramalhete_queue, 9,s: 8,076,705 msg/sec xenium::ramalhete_queue, 9,i: 7,952,305 msg/sec xenium::ramalhete_queue,10,s: 8,075,673 msg/sec xenium::ramalhete_queue,10,i: 7,914,298 msg/sec xenium::ramalhete_queue,11,s: 8,241,584 msg/sec xenium::ramalhete_queue,11,i: 8,166,221 msg/sec xenium::ramalhete_queue,12,s: 8,647,061 msg/sec xenium::ramalhete_queue,12,i: 8,357,750 msg/sec xenium::ramalhete_queue,13,s: 9,094,837 msg/sec xenium::ramalhete_queue,13,i: 8,525,224 msg/sec xenium::ramalhete_queue,14,s: 10,240,963 msg/sec xenium::ramalhete_queue,14,i: 8,307,878 msg/sec xenium::vyukov_bounded_queue, 1,s: 34,227,899 msg/sec xenium::vyukov_bounded_queue, 1,i: 50,506,734 msg/sec xenium::vyukov_bounded_queue, 2,s: 8,215,682 msg/sec xenium::vyukov_bounded_queue, 2,i: 8,532,364 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,415,789 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,755,144 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,909,525 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,099,804 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,540,586 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,462,210 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,158,300 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,306,588 msg/sec xenium::vyukov_bounded_queue, 7,s: 2,954,257 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,840,070 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,417,521 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,201,804 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,224,348 msg/sec xenium::vyukov_bounded_queue, 9,i: 2,035,753 msg/sec xenium::vyukov_bounded_queue,10,s: 1,261,720 msg/sec xenium::vyukov_bounded_queue,10,i: 1,461,766 msg/sec xenium::vyukov_bounded_queue,11,s: 1,146,569 msg/sec xenium::vyukov_bounded_queue,11,i: 1,276,057 msg/sec xenium::vyukov_bounded_queue,12,s: 503,160 msg/sec xenium::vyukov_bounded_queue,12,i: 1,279,000 msg/sec xenium::vyukov_bounded_queue,13,s: 1,023,714 msg/sec xenium::vyukov_bounded_queue,13,i: 1,120,448 msg/sec xenium::vyukov_bounded_queue,14,s: 859,748 msg/sec xenium::vyukov_bounded_queue,14,i: 1,004,308 msg/sec AtomicQueue, 1,s: 13,240,771 msg/sec AtomicQueue, 1,i: 13,326,276 msg/sec AtomicQueue, 2,s: 3,601,200 msg/sec AtomicQueue, 2,i: 4,201,809 msg/sec AtomicQueue, 3,s: 2,678,407 msg/sec AtomicQueue, 3,i: 2,869,050 msg/sec AtomicQueue, 4,s: 2,429,697 msg/sec AtomicQueue, 4,i: 2,639,431 msg/sec AtomicQueue, 5,s: 2,152,157 msg/sec AtomicQueue, 5,i: 2,186,275 msg/sec AtomicQueue, 6,s: 1,895,803 msg/sec AtomicQueue, 6,i: 1,939,556 msg/sec AtomicQueue, 7,s: 1,761,576 msg/sec AtomicQueue, 7,i: 1,764,651 msg/sec AtomicQueue, 8,s: 1,071,737 msg/sec AtomicQueue, 8,i: 1,570,408 msg/sec AtomicQueue, 9,s: 1,131,857 msg/sec AtomicQueue, 9,i: 1,274,678 msg/sec AtomicQueue,10,s: 1,070,270 msg/sec AtomicQueue,10,i: 1,078,901 msg/sec AtomicQueue,11,s: 500,852 msg/sec AtomicQueue,11,i: 511,065 msg/sec AtomicQueue,12,s: 506,804 msg/sec AtomicQueue,12,i: 510,859 msg/sec AtomicQueue,13,s: 514,007 msg/sec AtomicQueue,13,i: 527,978 msg/sec AtomicQueue,14,s: 499,942 msg/sec AtomicQueue,14,i: 530,579 msg/sec AtomicQueueB, 1,s: 13,934,466 msg/sec AtomicQueueB, 1,i: 13,965,177 msg/sec AtomicQueueB, 2,s: 3,210,629 msg/sec AtomicQueueB, 2,i: 3,707,539 msg/sec AtomicQueueB, 3,s: 2,681,431 msg/sec AtomicQueueB, 3,i: 3,209,775 msg/sec AtomicQueueB, 4,s: 2,424,673 msg/sec AtomicQueueB, 4,i: 2,771,921 msg/sec AtomicQueueB, 5,s: 2,195,252 msg/sec AtomicQueueB, 5,i: 2,206,146 msg/sec AtomicQueueB, 6,s: 1,856,068 msg/sec AtomicQueueB, 6,i: 2,018,891 msg/sec AtomicQueueB, 7,s: 1,723,401 msg/sec AtomicQueueB, 7,i: 1,736,617 msg/sec AtomicQueueB, 8,s: 1,003,558 msg/sec AtomicQueueB, 8,i: 1,166,927 msg/sec AtomicQueueB, 9,s: 897,125 msg/sec AtomicQueueB, 9,i: 1,055,322 msg/sec AtomicQueueB,10,s: 811,174 msg/sec AtomicQueueB,10,i: 511,927 msg/sec AtomicQueueB,11,s: 538,768 msg/sec AtomicQueueB,11,i: 528,722 msg/sec AtomicQueueB,12,s: 505,111 msg/sec AtomicQueueB,12,i: 517,474 msg/sec AtomicQueueB,13,s: 511,176 msg/sec AtomicQueueB,13,i: 508,373 msg/sec AtomicQueueB,14,s: 544,082 msg/sec AtomicQueueB,14,i: 509,394 msg/sec OptimistAtomicQueue, 1,s: 183,847,004 msg/sec OptimistAtomicQueue, 1,i: 156,210,834 msg/sec OptimistAtomicQueue, 2,s: 7,623,146 msg/sec OptimistAtomicQueue, 2,i: 7,498,402 msg/sec OptimistAtomicQueue, 3,s: 8,119,803 msg/sec OptimistAtomicQueue, 3,i: 9,082,919 msg/sec OptimistAtomicQueue, 4,s: 8,968,461 msg/sec OptimistAtomicQueue, 4,i: 12,091,428 msg/sec OptimistAtomicQueue, 5,s: 11,991,950 msg/sec OptimistAtomicQueue, 5,i: 13,297,118 msg/sec OptimistAtomicQueue, 6,s: 12,652,569 msg/sec OptimistAtomicQueue, 6,i: 13,620,155 msg/sec OptimistAtomicQueue, 7,s: 12,763,011 msg/sec OptimistAtomicQueue, 7,i: 13,354,116 msg/sec OptimistAtomicQueue, 8,s: 10,457,772 msg/sec OptimistAtomicQueue, 8,i: 10,833,035 msg/sec OptimistAtomicQueue, 9,s: 10,545,828 msg/sec OptimistAtomicQueue, 9,i: 10,263,724 msg/sec OptimistAtomicQueue,10,s: 10,835,838 msg/sec OptimistAtomicQueue,10,i: 10,861,352 msg/sec OptimistAtomicQueue,11,s: 10,942,610 msg/sec OptimistAtomicQueue,11,i: 11,157,242 msg/sec OptimistAtomicQueue,12,s: 10,544,316 msg/sec OptimistAtomicQueue,12,i: 11,009,780 msg/sec OptimistAtomicQueue,13,s: 9,722,089 msg/sec OptimistAtomicQueue,13,i: 10,644,405 msg/sec OptimistAtomicQueue,14,s: 9,421,125 msg/sec OptimistAtomicQueue,14,i: 11,168,123 msg/sec OptimistAtomicQueueB, 1,s: 19,329,584 msg/sec OptimistAtomicQueueB, 1,i: 30,567,945 msg/sec OptimistAtomicQueueB, 2,s: 9,521,891 msg/sec OptimistAtomicQueueB, 2,i: 8,049,860 msg/sec OptimistAtomicQueueB, 3,s: 8,979,376 msg/sec OptimistAtomicQueueB, 3,i: 9,398,434 msg/sec OptimistAtomicQueueB, 4,s: 9,023,922 msg/sec OptimistAtomicQueueB, 4,i: 12,128,423 msg/sec OptimistAtomicQueueB, 5,s: 12,246,244 msg/sec OptimistAtomicQueueB, 5,i: 10,911,596 msg/sec OptimistAtomicQueueB, 6,s: 12,616,784 msg/sec OptimistAtomicQueueB, 6,i: 13,714,846 msg/sec OptimistAtomicQueueB, 7,s: 13,339,725 msg/sec OptimistAtomicQueueB, 7,i: 13,763,660 msg/sec OptimistAtomicQueueB, 8,s: 10,727,845 msg/sec OptimistAtomicQueueB, 8,i: 10,715,417 msg/sec OptimistAtomicQueueB, 9,s: 10,710,727 msg/sec OptimistAtomicQueueB, 9,i: 10,490,155 msg/sec OptimistAtomicQueueB,10,s: 10,786,278 msg/sec OptimistAtomicQueueB,10,i: 10,592,221 msg/sec OptimistAtomicQueueB,11,s: 10,792,600 msg/sec OptimistAtomicQueueB,11,i: 10,973,550 msg/sec OptimistAtomicQueueB,12,s: 10,592,766 msg/sec OptimistAtomicQueueB,12,i: 10,783,741 msg/sec OptimistAtomicQueueB,13,s: 9,356,353 msg/sec OptimistAtomicQueueB,13,i: 10,452,880 msg/sec OptimistAtomicQueueB,14,s: 8,716,177 msg/sec OptimistAtomicQueueB,14,i: 10,191,694 msg/sec AtomicQueue2, 1,s: 8,989,694 msg/sec AtomicQueue2, 1,i: 9,043,870 msg/sec AtomicQueue2, 2,s: 3,231,231 msg/sec AtomicQueue2, 2,i: 4,066,096 msg/sec AtomicQueue2, 3,s: 2,548,886 msg/sec AtomicQueue2, 3,i: 3,074,493 msg/sec AtomicQueue2, 4,s: 2,403,011 msg/sec AtomicQueue2, 4,i: 2,636,749 msg/sec AtomicQueue2, 5,s: 2,190,221 msg/sec AtomicQueue2, 5,i: 2,389,927 msg/sec AtomicQueue2, 6,s: 1,877,928 msg/sec AtomicQueue2, 6,i: 1,911,447 msg/sec AtomicQueue2, 7,s: 1,663,016 msg/sec AtomicQueue2, 7,i: 1,866,244 msg/sec AtomicQueue2, 8,s: 1,088,815 msg/sec AtomicQueue2, 8,i: 1,629,589 msg/sec AtomicQueue2, 9,s: 1,048,131 msg/sec AtomicQueue2, 9,i: 1,354,105 msg/sec AtomicQueue2,10,s: 619,311 msg/sec AtomicQueue2,10,i: 1,029,032 msg/sec AtomicQueue2,11,s: 516,211 msg/sec AtomicQueue2,11,i: 519,921 msg/sec AtomicQueue2,12,s: 508,309 msg/sec AtomicQueue2,12,i: 513,802 msg/sec AtomicQueue2,13,s: 512,963 msg/sec AtomicQueue2,13,i: 518,278 msg/sec AtomicQueue2,14,s: 516,784 msg/sec AtomicQueue2,14,i: 794,099 msg/sec AtomicQueueB2, 1,s: 9,734,771 msg/sec AtomicQueueB2, 1,i: 9,986,439 msg/sec AtomicQueueB2, 2,s: 3,783,554 msg/sec AtomicQueueB2, 2,i: 4,027,098 msg/sec AtomicQueueB2, 3,s: 2,898,912 msg/sec AtomicQueueB2, 3,i: 2,617,508 msg/sec AtomicQueueB2, 4,s: 2,440,329 msg/sec AtomicQueueB2, 4,i: 2,430,089 msg/sec AtomicQueueB2, 5,s: 2,221,525 msg/sec AtomicQueueB2, 5,i: 2,239,386 msg/sec AtomicQueueB2, 6,s: 2,078,336 msg/sec AtomicQueueB2, 6,i: 2,077,302 msg/sec AtomicQueueB2, 7,s: 1,820,272 msg/sec AtomicQueueB2, 7,i: 1,822,072 msg/sec AtomicQueueB2, 8,s: 501,236 msg/sec AtomicQueueB2, 8,i: 1,010,506 msg/sec AtomicQueueB2, 9,s: 895,606 msg/sec AtomicQueueB2, 9,i: 1,069,182 msg/sec AtomicQueueB2,10,s: 876,820 msg/sec AtomicQueueB2,10,i: 1,069,385 msg/sec AtomicQueueB2,11,s: 517,401 msg/sec AtomicQueueB2,11,i: 522,626 msg/sec AtomicQueueB2,12,s: 513,180 msg/sec AtomicQueueB2,12,i: 502,585 msg/sec AtomicQueueB2,13,s: 500,653 msg/sec AtomicQueueB2,13,i: 514,160 msg/sec AtomicQueueB2,14,s: 507,102 msg/sec AtomicQueueB2,14,i: 511,445 msg/sec OptimistAtomicQueue2, 1,s: 53,715,898 msg/sec OptimistAtomicQueue2, 1,i: 61,485,588 msg/sec OptimistAtomicQueue2, 2,s: 6,689,096 msg/sec OptimistAtomicQueue2, 2,i: 7,396,639 msg/sec OptimistAtomicQueue2, 3,s: 7,690,193 msg/sec OptimistAtomicQueue2, 3,i: 8,045,472 msg/sec OptimistAtomicQueue2, 4,s: 7,729,367 msg/sec OptimistAtomicQueue2, 4,i: 12,217,518 msg/sec OptimistAtomicQueue2, 5,s: 11,879,646 msg/sec OptimistAtomicQueue2, 5,i: 12,924,697 msg/sec OptimistAtomicQueue2, 6,s: 12,902,140 msg/sec OptimistAtomicQueue2, 6,i: 13,350,407 msg/sec OptimistAtomicQueue2, 7,s: 12,667,482 msg/sec OptimistAtomicQueue2, 7,i: 13,300,600 msg/sec OptimistAtomicQueue2, 8,s: 10,347,452 msg/sec OptimistAtomicQueue2, 8,i: 10,653,162 msg/sec OptimistAtomicQueue2, 9,s: 10,413,114 msg/sec OptimistAtomicQueue2, 9,i: 10,271,954 msg/sec OptimistAtomicQueue2,10,s: 10,516,894 msg/sec OptimistAtomicQueue2,10,i: 10,225,044 msg/sec OptimistAtomicQueue2,11,s: 10,593,077 msg/sec OptimistAtomicQueue2,11,i: 10,300,533 msg/sec OptimistAtomicQueue2,12,s: 10,766,843 msg/sec OptimistAtomicQueue2,12,i: 10,197,838 msg/sec OptimistAtomicQueue2,13,s: 9,574,727 msg/sec OptimistAtomicQueue2,13,i: 10,477,923 msg/sec OptimistAtomicQueue2,14,s: 8,542,297 msg/sec OptimistAtomicQueue2,14,i: 10,672,036 msg/sec OptimistAtomicQueueB2, 1,s: 25,484,162 msg/sec OptimistAtomicQueueB2, 1,i: 25,300,572 msg/sec OptimistAtomicQueueB2, 2,s: 9,377,362 msg/sec OptimistAtomicQueueB2, 2,i: 10,529,158 msg/sec OptimistAtomicQueueB2, 3,s: 12,202,588 msg/sec OptimistAtomicQueueB2, 3,i: 11,714,328 msg/sec OptimistAtomicQueueB2, 4,s: 10,790,371 msg/sec OptimistAtomicQueueB2, 4,i: 11,625,193 msg/sec OptimistAtomicQueueB2, 5,s: 9,419,732 msg/sec OptimistAtomicQueueB2, 5,i: 10,287,270 msg/sec OptimistAtomicQueueB2, 6,s: 11,351,031 msg/sec OptimistAtomicQueueB2, 6,i: 12,272,488 msg/sec OptimistAtomicQueueB2, 7,s: 11,591,200 msg/sec OptimistAtomicQueueB2, 7,i: 12,123,257 msg/sec OptimistAtomicQueueB2, 8,s: 10,239,964 msg/sec OptimistAtomicQueueB2, 8,i: 10,250,438 msg/sec OptimistAtomicQueueB2, 9,s: 10,232,083 msg/sec OptimistAtomicQueueB2, 9,i: 10,136,807 msg/sec OptimistAtomicQueueB2,10,s: 10,320,311 msg/sec OptimistAtomicQueueB2,10,i: 10,121,115 msg/sec OptimistAtomicQueueB2,11,s: 10,357,971 msg/sec OptimistAtomicQueueB2,11,i: 10,001,270 msg/sec OptimistAtomicQueueB2,12,s: 9,669,466 msg/sec OptimistAtomicQueueB2,12,i: 9,862,387 msg/sec OptimistAtomicQueueB2,13,s: 8,570,159 msg/sec OptimistAtomicQueueB2,13,i: 10,170,569 msg/sec OptimistAtomicQueueB2,14,s: 7,934,858 msg/sec OptimistAtomicQueueB2,14,i: 9,741,256 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000281 sec/round-trip boost::lockfree::queue: 0.000000827 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000234 sec/round-trip moodycamel::ConcurrentQueue: 0.000000488 sec/round-trip pthread_spinlock: 0.000000643 sec/round-trip std::mutex: 0.000002005 sec/round-trip tbb::spin_mutex: 0.000000561 sec/round-trip tbb::concurrent_bounded_queue: 0.000000586 sec/round-trip xenium::michael_scott_queue: 0.000000742 sec/round-trip xenium::ramalhete_queue: 0.000000516 sec/round-trip xenium::vyukov_bounded_queue: 0.000000448 sec/round-trip AtomicQueue: 0.000000231 sec/round-trip AtomicQueueB: 0.000000344 sec/round-trip OptimistAtomicQueue: 0.000000301 sec/round-trip OptimistAtomicQueueB: 0.000000325 sec/round-trip AtomicQueue2: 0.000000313 sec/round-trip AtomicQueueB2: 0.000000419 sec/round-trip OptimistAtomicQueue2: 0.000000318 sec/round-trip OptimistAtomicQueueB2: 0.000000361 sec/round-trip [23/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 21,589,958 msg/sec boost::lockfree::spsc_queue, 1,i: 23,540,619 msg/sec boost::lockfree::queue, 1,s: 3,229,927 msg/sec boost::lockfree::queue, 1,i: 3,179,903 msg/sec boost::lockfree::queue, 2,s: 2,297,871 msg/sec boost::lockfree::queue, 2,i: 2,038,277 msg/sec boost::lockfree::queue, 3,s: 2,094,632 msg/sec boost::lockfree::queue, 3,i: 2,348,750 msg/sec boost::lockfree::queue, 4,s: 2,303,565 msg/sec boost::lockfree::queue, 4,i: 2,314,918 msg/sec boost::lockfree::queue, 5,s: 2,291,003 msg/sec boost::lockfree::queue, 5,i: 2,273,282 msg/sec boost::lockfree::queue, 6,s: 1,737,937 msg/sec boost::lockfree::queue, 6,i: 2,028,499 msg/sec boost::lockfree::queue, 7,s: 1,981,855 msg/sec boost::lockfree::queue, 7,i: 1,999,276 msg/sec boost::lockfree::queue, 8,s: 890,179 msg/sec boost::lockfree::queue, 8,i: 1,200,226 msg/sec boost::lockfree::queue, 9,s: 780,876 msg/sec boost::lockfree::queue, 9,i: 1,014,324 msg/sec boost::lockfree::queue,10,s: 517,823 msg/sec boost::lockfree::queue,10,i: 513,097 msg/sec boost::lockfree::queue,11,s: 696,380 msg/sec boost::lockfree::queue,11,i: 506,781 msg/sec boost::lockfree::queue,12,s: 678,365 msg/sec boost::lockfree::queue,12,i: 896,318 msg/sec boost::lockfree::queue,13,s: 828,819 msg/sec boost::lockfree::queue,13,i: 552,997 msg/sec boost::lockfree::queue,14,s: 477,711 msg/sec boost::lockfree::queue,14,i: 545,315 msg/sec moodycamel::ReaderWriterQueue, 1,s: 152,951,073 msg/sec moodycamel::ReaderWriterQueue, 1,i: 158,579,227 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,293,716 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,249,966 msg/sec moodycamel::ConcurrentQueue, 2,s: 3,204,551 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,884,746 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,183,613 msg/sec moodycamel::ConcurrentQueue, 3,i: 17,571,884 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,696,944 msg/sec moodycamel::ConcurrentQueue, 4,i: 13,507,235 msg/sec moodycamel::ConcurrentQueue, 5,s: 11,675,814 msg/sec moodycamel::ConcurrentQueue, 5,i: 5,865,428 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,273,798 msg/sec moodycamel::ConcurrentQueue, 6,i: 17,913,005 msg/sec moodycamel::ConcurrentQueue, 7,s: 5,568,775 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,205,652 msg/sec moodycamel::ConcurrentQueue, 8,s: 10,173,491 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,920,635 msg/sec moodycamel::ConcurrentQueue, 9,s: 32,091,761 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,677,495 msg/sec moodycamel::ConcurrentQueue,10,s: 5,680,530 msg/sec moodycamel::ConcurrentQueue,10,i: 5,825,610 msg/sec moodycamel::ConcurrentQueue,11,s: 5,168,812 msg/sec moodycamel::ConcurrentQueue,11,i: 5,247,125 msg/sec moodycamel::ConcurrentQueue,12,s: 4,849,184 msg/sec moodycamel::ConcurrentQueue,12,i: 8,933,021 msg/sec moodycamel::ConcurrentQueue,13,s: 13,064,403 msg/sec moodycamel::ConcurrentQueue,13,i: 5,233,354 msg/sec moodycamel::ConcurrentQueue,14,s: 6,534,926 msg/sec moodycamel::ConcurrentQueue,14,i: 5,408,675 msg/sec pthread_spinlock, 1,s: 6,404,035 msg/sec pthread_spinlock, 1,i: 8,397,909 msg/sec pthread_spinlock, 2,s: 3,618,665 msg/sec pthread_spinlock, 2,i: 4,058,580 msg/sec pthread_spinlock, 3,s: 3,157,314 msg/sec pthread_spinlock, 3,i: 3,312,054 msg/sec pthread_spinlock, 4,s: 2,467,779 msg/sec pthread_spinlock, 4,i: 2,446,132 msg/sec pthread_spinlock, 5,s: 2,368,037 msg/sec pthread_spinlock, 5,i: 2,292,935 msg/sec pthread_spinlock, 6,s: 2,038,187 msg/sec pthread_spinlock, 6,i: 2,039,170 msg/sec pthread_spinlock, 7,s: 1,940,317 msg/sec pthread_spinlock, 7,i: 1,618,577 msg/sec pthread_spinlock, 8,s: 1,071,400 msg/sec pthread_spinlock, 8,i: 1,147,304 msg/sec pthread_spinlock, 9,s: 1,003,900 msg/sec pthread_spinlock, 9,i: 924,857 msg/sec pthread_spinlock,10,s: 553,075 msg/sec pthread_spinlock,10,i: 510,125 msg/sec pthread_spinlock,11,s: 522,922 msg/sec pthread_spinlock,11,i: 513,177 msg/sec pthread_spinlock,12,s: 537,794 msg/sec pthread_spinlock,12,i: 503,754 msg/sec pthread_spinlock,13,s: 539,996 msg/sec pthread_spinlock,13,i: 567,801 msg/sec pthread_spinlock,14,s: 524,364 msg/sec pthread_spinlock,14,i: 515,918 msg/sec std::mutex, 1,s: 6,363,654 msg/sec std::mutex, 1,i: 6,410,680 msg/sec std::mutex, 2,s: 4,352,363 msg/sec std::mutex, 2,i: 4,513,106 msg/sec std::mutex, 3,s: 2,697,984 msg/sec std::mutex, 3,i: 2,948,967 msg/sec std::mutex, 4,s: 2,744,458 msg/sec std::mutex, 4,i: 2,901,988 msg/sec std::mutex, 5,s: 3,610,149 msg/sec std::mutex, 5,i: 3,692,163 msg/sec std::mutex, 6,s: 4,469,816 msg/sec std::mutex, 6,i: 4,735,124 msg/sec std::mutex, 7,s: 5,667,273 msg/sec std::mutex, 7,i: 5,931,973 msg/sec std::mutex, 8,s: 6,921,078 msg/sec std::mutex, 8,i: 5,853,747 msg/sec std::mutex, 9,s: 6,444,536 msg/sec std::mutex, 9,i: 5,666,892 msg/sec std::mutex,10,s: 6,531,007 msg/sec std::mutex,10,i: 4,990,013 msg/sec std::mutex,11,s: 6,346,639 msg/sec std::mutex,11,i: 5,125,232 msg/sec std::mutex,12,s: 6,590,461 msg/sec std::mutex,12,i: 5,080,199 msg/sec std::mutex,13,s: 6,776,672 msg/sec std::mutex,13,i: 5,294,908 msg/sec std::mutex,14,s: 7,055,329 msg/sec std::mutex,14,i: 5,336,104 msg/sec tbb::spin_mutex, 1,s: 24,150,868 msg/sec tbb::spin_mutex, 1,i: 24,292,126 msg/sec tbb::spin_mutex, 2,s: 11,879,564 msg/sec tbb::spin_mutex, 2,i: 12,105,218 msg/sec tbb::spin_mutex, 3,s: 9,050,236 msg/sec tbb::spin_mutex, 3,i: 8,922,606 msg/sec tbb::spin_mutex, 4,s: 5,990,303 msg/sec tbb::spin_mutex, 4,i: 5,956,786 msg/sec tbb::spin_mutex, 5,s: 4,859,386 msg/sec tbb::spin_mutex, 5,i: 4,516,645 msg/sec tbb::spin_mutex, 6,s: 3,237,146 msg/sec tbb::spin_mutex, 6,i: 3,311,332 msg/sec tbb::spin_mutex, 7,s: 1,860,472 msg/sec tbb::spin_mutex, 7,i: 2,432,273 msg/sec tbb::spin_mutex, 8,s: 1,235,348 msg/sec tbb::spin_mutex, 8,i: 1,132,894 msg/sec tbb::spin_mutex, 9,s: 835,137 msg/sec tbb::spin_mutex, 9,i: 980,945 msg/sec tbb::spin_mutex,10,s: 575,383 msg/sec tbb::spin_mutex,10,i: 770,122 msg/sec tbb::spin_mutex,11,s: 519,930 msg/sec tbb::spin_mutex,11,i: 771,648 msg/sec tbb::spin_mutex,12,s: 397,831 msg/sec tbb::spin_mutex,12,i: 644,886 msg/sec tbb::spin_mutex,13,s: 388,675 msg/sec tbb::spin_mutex,13,i: 426,025 msg/sec tbb::spin_mutex,14,s: 436,207 msg/sec tbb::spin_mutex,14,i: 456,467 msg/sec tbb::concurrent_bounded_queue, 1,s: 6,273,434 msg/sec tbb::concurrent_bounded_queue, 1,i: 6,219,987 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,528,605 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,409,632 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,160,080 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,190,964 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,469,825 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,556,461 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,883,443 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,071,269 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,616,806 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,777,808 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,501,422 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,576,654 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,411,411 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,829,629 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,262,051 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,644,226 msg/sec tbb::concurrent_bounded_queue,10,s: 1,168,870 msg/sec tbb::concurrent_bounded_queue,10,i: 1,361,719 msg/sec tbb::concurrent_bounded_queue,11,s: 1,247,799 msg/sec tbb::concurrent_bounded_queue,11,i: 1,251,906 msg/sec tbb::concurrent_bounded_queue,12,s: 1,257,092 msg/sec tbb::concurrent_bounded_queue,12,i: 1,205,118 msg/sec tbb::concurrent_bounded_queue,13,s: 1,295,548 msg/sec tbb::concurrent_bounded_queue,13,i: 1,161,687 msg/sec tbb::concurrent_bounded_queue,14,s: 1,227,964 msg/sec tbb::concurrent_bounded_queue,14,i: 1,037,071 msg/sec xenium::michael_scott_queue, 1,s: 3,054,839 msg/sec xenium::michael_scott_queue, 1,i: 4,512,243 msg/sec xenium::michael_scott_queue, 2,s: 2,803,652 msg/sec xenium::michael_scott_queue, 2,i: 2,738,555 msg/sec xenium::michael_scott_queue, 3,s: 2,274,546 msg/sec xenium::michael_scott_queue, 3,i: 2,363,730 msg/sec xenium::michael_scott_queue, 4,s: 2,031,581 msg/sec xenium::michael_scott_queue, 4,i: 2,269,591 msg/sec xenium::michael_scott_queue, 5,s: 1,996,913 msg/sec xenium::michael_scott_queue, 5,i: 2,088,618 msg/sec xenium::michael_scott_queue, 6,s: 1,795,043 msg/sec xenium::michael_scott_queue, 6,i: 1,645,946 msg/sec xenium::michael_scott_queue, 7,s: 1,532,396 msg/sec xenium::michael_scott_queue, 7,i: 1,623,049 msg/sec xenium::michael_scott_queue, 8,s: 506,043 msg/sec xenium::michael_scott_queue, 8,i: 1,114,124 msg/sec xenium::michael_scott_queue, 9,s: 766,894 msg/sec xenium::michael_scott_queue, 9,i: 1,043,722 msg/sec xenium::michael_scott_queue,10,s: 502,677 msg/sec xenium::michael_scott_queue,10,i: 505,279 msg/sec xenium::michael_scott_queue,11,s: 796,513 msg/sec xenium::michael_scott_queue,11,i: 501,913 msg/sec xenium::michael_scott_queue,12,s: 784,649 msg/sec xenium::michael_scott_queue,12,i: 527,397 msg/sec xenium::michael_scott_queue,13,s: 515,800 msg/sec xenium::michael_scott_queue,13,i: 509,690 msg/sec xenium::michael_scott_queue,14,s: 502,680 msg/sec xenium::michael_scott_queue,14,i: 512,183 msg/sec xenium::ramalhete_queue, 1,s: 11,344,509 msg/sec xenium::ramalhete_queue, 1,i: 16,649,455 msg/sec xenium::ramalhete_queue, 2,s: 5,838,175 msg/sec xenium::ramalhete_queue, 2,i: 5,779,752 msg/sec xenium::ramalhete_queue, 3,s: 7,682,911 msg/sec xenium::ramalhete_queue, 3,i: 7,397,904 msg/sec xenium::ramalhete_queue, 4,s: 11,544,061 msg/sec xenium::ramalhete_queue, 4,i: 11,112,221 msg/sec xenium::ramalhete_queue, 5,s: 10,307,648 msg/sec xenium::ramalhete_queue, 5,i: 8,226,140 msg/sec xenium::ramalhete_queue, 6,s: 10,756,505 msg/sec xenium::ramalhete_queue, 6,i: 10,836,487 msg/sec xenium::ramalhete_queue, 7,s: 8,109,161 msg/sec xenium::ramalhete_queue, 7,i: 8,783,919 msg/sec xenium::ramalhete_queue, 8,s: 7,539,178 msg/sec xenium::ramalhete_queue, 8,i: 8,100,862 msg/sec xenium::ramalhete_queue, 9,s: 8,157,305 msg/sec xenium::ramalhete_queue, 9,i: 7,521,849 msg/sec xenium::ramalhete_queue,10,s: 7,332,561 msg/sec xenium::ramalhete_queue,10,i: 8,228,093 msg/sec xenium::ramalhete_queue,11,s: 8,187,881 msg/sec xenium::ramalhete_queue,11,i: 7,962,284 msg/sec xenium::ramalhete_queue,12,s: 8,006,946 msg/sec xenium::ramalhete_queue,12,i: 7,663,185 msg/sec xenium::ramalhete_queue,13,s: 9,101,531 msg/sec xenium::ramalhete_queue,13,i: 8,588,546 msg/sec xenium::ramalhete_queue,14,s: 10,121,815 msg/sec xenium::ramalhete_queue,14,i: 8,447,153 msg/sec xenium::vyukov_bounded_queue, 1,s: 56,278,566 msg/sec xenium::vyukov_bounded_queue, 1,i: 57,807,084 msg/sec xenium::vyukov_bounded_queue, 2,s: 3,909,064 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,097,851 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,011,433 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,781,634 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,806,715 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,869,191 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,533,205 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,720,437 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,398,086 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,386,477 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,068,312 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,102,057 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,423,821 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,454,084 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,240,071 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,465,546 msg/sec xenium::vyukov_bounded_queue,10,s: 1,303,226 msg/sec xenium::vyukov_bounded_queue,10,i: 1,364,792 msg/sec xenium::vyukov_bounded_queue,11,s: 1,070,907 msg/sec xenium::vyukov_bounded_queue,11,i: 1,193,085 msg/sec xenium::vyukov_bounded_queue,12,s: 1,307,326 msg/sec xenium::vyukov_bounded_queue,12,i: 1,196,197 msg/sec xenium::vyukov_bounded_queue,13,s: 887,629 msg/sec xenium::vyukov_bounded_queue,13,i: 1,039,660 msg/sec xenium::vyukov_bounded_queue,14,s: 500,465 msg/sec xenium::vyukov_bounded_queue,14,i: 1,028,044 msg/sec AtomicQueue, 1,s: 25,850,893 msg/sec AtomicQueue, 1,i: 25,981,136 msg/sec AtomicQueue, 2,s: 2,996,628 msg/sec AtomicQueue, 2,i: 3,729,181 msg/sec AtomicQueue, 3,s: 2,792,027 msg/sec AtomicQueue, 3,i: 2,234,209 msg/sec AtomicQueue, 4,s: 2,194,670 msg/sec AtomicQueue, 4,i: 2,677,686 msg/sec AtomicQueue, 5,s: 2,252,714 msg/sec AtomicQueue, 5,i: 2,353,024 msg/sec AtomicQueue, 6,s: 1,963,679 msg/sec AtomicQueue, 6,i: 2,033,949 msg/sec AtomicQueue, 7,s: 1,368,888 msg/sec AtomicQueue, 7,i: 1,840,096 msg/sec AtomicQueue, 8,s: 1,244,154 msg/sec AtomicQueue, 8,i: 1,573,613 msg/sec AtomicQueue, 9,s: 1,222,134 msg/sec AtomicQueue, 9,i: 1,219,466 msg/sec AtomicQueue,10,s: 1,010,771 msg/sec AtomicQueue,10,i: 502,102 msg/sec AtomicQueue,11,s: 491,294 msg/sec AtomicQueue,11,i: 504,452 msg/sec AtomicQueue,12,s: 494,778 msg/sec AtomicQueue,12,i: 518,932 msg/sec AtomicQueue,13,s: 512,095 msg/sec AtomicQueue,13,i: 879,609 msg/sec AtomicQueue,14,s: 499,372 msg/sec AtomicQueue,14,i: 563,040 msg/sec AtomicQueueB, 1,s: 15,620,790 msg/sec AtomicQueueB, 1,i: 15,624,448 msg/sec AtomicQueueB, 2,s: 3,329,324 msg/sec AtomicQueueB, 2,i: 4,158,068 msg/sec AtomicQueueB, 3,s: 2,899,104 msg/sec AtomicQueueB, 3,i: 3,049,965 msg/sec AtomicQueueB, 4,s: 2,311,123 msg/sec AtomicQueueB, 4,i: 2,544,919 msg/sec AtomicQueueB, 5,s: 2,178,438 msg/sec AtomicQueueB, 5,i: 2,120,184 msg/sec AtomicQueueB, 6,s: 1,962,931 msg/sec AtomicQueueB, 6,i: 1,704,523 msg/sec AtomicQueueB, 7,s: 1,697,423 msg/sec AtomicQueueB, 7,i: 1,719,085 msg/sec AtomicQueueB, 8,s: 1,105,241 msg/sec AtomicQueueB, 8,i: 1,261,219 msg/sec AtomicQueueB, 9,s: 839,438 msg/sec AtomicQueueB, 9,i: 1,049,291 msg/sec AtomicQueueB,10,s: 550,936 msg/sec AtomicQueueB,10,i: 1,003,261 msg/sec AtomicQueueB,11,s: 509,633 msg/sec AtomicQueueB,11,i: 549,593 msg/sec AtomicQueueB,12,s: 516,558 msg/sec AtomicQueueB,12,i: 517,068 msg/sec AtomicQueueB,13,s: 515,669 msg/sec AtomicQueueB,13,i: 507,248 msg/sec AtomicQueueB,14,s: 501,855 msg/sec AtomicQueueB,14,i: 823,065 msg/sec OptimistAtomicQueue, 1,s: 212,901,154 msg/sec OptimistAtomicQueue, 1,i: 224,037,268 msg/sec OptimistAtomicQueue, 2,s: 10,938,482 msg/sec OptimistAtomicQueue, 2,i: 11,931,110 msg/sec OptimistAtomicQueue, 3,s: 11,772,891 msg/sec OptimistAtomicQueue, 3,i: 11,290,158 msg/sec OptimistAtomicQueue, 4,s: 9,783,727 msg/sec OptimistAtomicQueue, 4,i: 10,901,912 msg/sec OptimistAtomicQueue, 5,s: 13,000,488 msg/sec OptimistAtomicQueue, 5,i: 13,322,461 msg/sec OptimistAtomicQueue, 6,s: 13,269,810 msg/sec OptimistAtomicQueue, 6,i: 13,595,829 msg/sec OptimistAtomicQueue, 7,s: 13,167,402 msg/sec OptimistAtomicQueue, 7,i: 13,297,370 msg/sec OptimistAtomicQueue, 8,s: 10,844,636 msg/sec OptimistAtomicQueue, 8,i: 11,313,601 msg/sec OptimistAtomicQueue, 9,s: 10,835,296 msg/sec OptimistAtomicQueue, 9,i: 11,176,369 msg/sec OptimistAtomicQueue,10,s: 11,052,315 msg/sec OptimistAtomicQueue,10,i: 11,149,104 msg/sec OptimistAtomicQueue,11,s: 10,499,299 msg/sec OptimistAtomicQueue,11,i: 10,857,599 msg/sec OptimistAtomicQueue,12,s: 10,907,944 msg/sec OptimistAtomicQueue,12,i: 11,094,238 msg/sec OptimistAtomicQueue,13,s: 9,867,285 msg/sec OptimistAtomicQueue,13,i: 10,816,518 msg/sec OptimistAtomicQueue,14,s: 8,861,112 msg/sec OptimistAtomicQueue,14,i: 10,568,160 msg/sec OptimistAtomicQueueB, 1,s: 27,950,870 msg/sec OptimistAtomicQueueB, 1,i: 28,288,181 msg/sec OptimistAtomicQueueB, 2,s: 10,873,372 msg/sec OptimistAtomicQueueB, 2,i: 8,856,122 msg/sec OptimistAtomicQueueB, 3,s: 11,194,381 msg/sec OptimistAtomicQueueB, 3,i: 10,906,336 msg/sec OptimistAtomicQueueB, 4,s: 11,461,529 msg/sec OptimistAtomicQueueB, 4,i: 9,291,241 msg/sec OptimistAtomicQueueB, 5,s: 10,631,856 msg/sec OptimistAtomicQueueB, 5,i: 12,179,303 msg/sec OptimistAtomicQueueB, 6,s: 13,266,894 msg/sec OptimistAtomicQueueB, 6,i: 13,523,291 msg/sec OptimistAtomicQueueB, 7,s: 12,734,484 msg/sec OptimistAtomicQueueB, 7,i: 13,426,942 msg/sec OptimistAtomicQueueB, 8,s: 10,889,257 msg/sec OptimistAtomicQueueB, 8,i: 11,034,347 msg/sec OptimistAtomicQueueB, 9,s: 10,317,271 msg/sec OptimistAtomicQueueB, 9,i: 10,896,909 msg/sec OptimistAtomicQueueB,10,s: 10,734,905 msg/sec OptimistAtomicQueueB,10,i: 10,939,877 msg/sec OptimistAtomicQueueB,11,s: 11,189,125 msg/sec OptimistAtomicQueueB,11,i: 10,806,405 msg/sec OptimistAtomicQueueB,12,s: 10,878,485 msg/sec OptimistAtomicQueueB,12,i: 11,402,863 msg/sec OptimistAtomicQueueB,13,s: 9,514,634 msg/sec OptimistAtomicQueueB,13,i: 11,057,470 msg/sec OptimistAtomicQueueB,14,s: 8,817,259 msg/sec OptimistAtomicQueueB,14,i: 10,302,596 msg/sec AtomicQueue2, 1,s: 9,151,220 msg/sec AtomicQueue2, 1,i: 9,165,247 msg/sec AtomicQueue2, 2,s: 4,474,012 msg/sec AtomicQueue2, 2,i: 4,803,110 msg/sec AtomicQueue2, 3,s: 3,203,498 msg/sec AtomicQueue2, 3,i: 3,190,339 msg/sec AtomicQueue2, 4,s: 2,272,422 msg/sec AtomicQueue2, 4,i: 2,601,392 msg/sec AtomicQueue2, 5,s: 2,214,248 msg/sec AtomicQueue2, 5,i: 2,431,075 msg/sec AtomicQueue2, 6,s: 2,064,405 msg/sec AtomicQueue2, 6,i: 1,935,778 msg/sec AtomicQueue2, 7,s: 1,641,612 msg/sec AtomicQueue2, 7,i: 1,768,340 msg/sec AtomicQueue2, 8,s: 1,186,708 msg/sec AtomicQueue2, 8,i: 1,555,304 msg/sec AtomicQueue2, 9,s: 1,298,490 msg/sec AtomicQueue2, 9,i: 1,212,652 msg/sec AtomicQueue2,10,s: 1,027,981 msg/sec AtomicQueue2,10,i: 1,088,570 msg/sec AtomicQueue2,11,s: 826,740 msg/sec AtomicQueue2,11,i: 563,268 msg/sec AtomicQueue2,12,s: 499,264 msg/sec AtomicQueue2,12,i: 506,718 msg/sec AtomicQueue2,13,s: 516,245 msg/sec AtomicQueue2,13,i: 820,200 msg/sec AtomicQueue2,14,s: 508,606 msg/sec AtomicQueue2,14,i: 529,664 msg/sec AtomicQueueB2, 1,s: 14,263,361 msg/sec AtomicQueueB2, 1,i: 14,951,085 msg/sec AtomicQueueB2, 2,s: 3,198,441 msg/sec AtomicQueueB2, 2,i: 3,312,329 msg/sec AtomicQueueB2, 3,s: 2,644,442 msg/sec AtomicQueueB2, 3,i: 2,660,856 msg/sec AtomicQueueB2, 4,s: 2,373,306 msg/sec AtomicQueueB2, 4,i: 2,341,586 msg/sec AtomicQueueB2, 5,s: 2,237,218 msg/sec AtomicQueueB2, 5,i: 2,316,768 msg/sec AtomicQueueB2, 6,s: 1,930,871 msg/sec AtomicQueueB2, 6,i: 2,153,240 msg/sec AtomicQueueB2, 7,s: 1,757,382 msg/sec AtomicQueueB2, 7,i: 1,676,718 msg/sec AtomicQueueB2, 8,s: 1,103,449 msg/sec AtomicQueueB2, 8,i: 1,424,146 msg/sec AtomicQueueB2, 9,s: 618,445 msg/sec AtomicQueueB2, 9,i: 1,164,956 msg/sec AtomicQueueB2,10,s: 808,291 msg/sec AtomicQueueB2,10,i: 896,630 msg/sec AtomicQueueB2,11,s: 523,088 msg/sec AtomicQueueB2,11,i: 516,330 msg/sec AtomicQueueB2,12,s: 514,675 msg/sec AtomicQueueB2,12,i: 518,536 msg/sec AtomicQueueB2,13,s: 485,598 msg/sec AtomicQueueB2,13,i: 506,805 msg/sec AtomicQueueB2,14,s: 521,713 msg/sec AtomicQueueB2,14,i: 540,616 msg/sec OptimistAtomicQueue2, 1,s: 100,168,429 msg/sec OptimistAtomicQueue2, 1,i: 121,798,251 msg/sec OptimistAtomicQueue2, 2,s: 6,115,423 msg/sec OptimistAtomicQueue2, 2,i: 7,743,517 msg/sec OptimistAtomicQueue2, 3,s: 7,687,575 msg/sec OptimistAtomicQueue2, 3,i: 7,835,351 msg/sec OptimistAtomicQueue2, 4,s: 8,349,854 msg/sec OptimistAtomicQueue2, 4,i: 8,698,373 msg/sec OptimistAtomicQueue2, 5,s: 11,499,279 msg/sec OptimistAtomicQueue2, 5,i: 12,503,842 msg/sec OptimistAtomicQueue2, 6,s: 12,224,636 msg/sec OptimistAtomicQueue2, 6,i: 9,075,921 msg/sec OptimistAtomicQueue2, 7,s: 12,354,821 msg/sec OptimistAtomicQueue2, 7,i: 13,263,313 msg/sec OptimistAtomicQueue2, 8,s: 10,349,163 msg/sec OptimistAtomicQueue2, 8,i: 10,789,251 msg/sec OptimistAtomicQueue2, 9,s: 10,399,264 msg/sec OptimistAtomicQueue2, 9,i: 10,728,445 msg/sec OptimistAtomicQueue2,10,s: 10,775,309 msg/sec OptimistAtomicQueue2,10,i: 9,952,594 msg/sec OptimistAtomicQueue2,11,s: 10,876,631 msg/sec OptimistAtomicQueue2,11,i: 10,342,989 msg/sec OptimistAtomicQueue2,12,s: 10,603,060 msg/sec OptimistAtomicQueue2,12,i: 10,206,656 msg/sec OptimistAtomicQueue2,13,s: 9,209,610 msg/sec OptimistAtomicQueue2,13,i: 10,847,058 msg/sec OptimistAtomicQueue2,14,s: 8,461,807 msg/sec OptimistAtomicQueue2,14,i: 10,888,504 msg/sec OptimistAtomicQueueB2, 1,s: 17,953,419 msg/sec OptimistAtomicQueueB2, 1,i: 17,875,121 msg/sec OptimistAtomicQueueB2, 2,s: 10,741,857 msg/sec OptimistAtomicQueueB2, 2,i: 10,612,241 msg/sec OptimistAtomicQueueB2, 3,s: 10,971,753 msg/sec OptimistAtomicQueueB2, 3,i: 11,856,275 msg/sec OptimistAtomicQueueB2, 4,s: 12,396,754 msg/sec OptimistAtomicQueueB2, 4,i: 12,750,010 msg/sec OptimistAtomicQueueB2, 5,s: 11,317,159 msg/sec OptimistAtomicQueueB2, 5,i: 11,846,193 msg/sec OptimistAtomicQueueB2, 6,s: 11,994,526 msg/sec OptimistAtomicQueueB2, 6,i: 12,876,468 msg/sec OptimistAtomicQueueB2, 7,s: 12,120,686 msg/sec OptimistAtomicQueueB2, 7,i: 12,662,548 msg/sec OptimistAtomicQueueB2, 8,s: 10,047,536 msg/sec OptimistAtomicQueueB2, 8,i: 10,121,645 msg/sec OptimistAtomicQueueB2, 9,s: 10,027,819 msg/sec OptimistAtomicQueueB2, 9,i: 10,189,913 msg/sec OptimistAtomicQueueB2,10,s: 9,917,555 msg/sec OptimistAtomicQueueB2,10,i: 10,025,050 msg/sec OptimistAtomicQueueB2,11,s: 10,208,096 msg/sec OptimistAtomicQueueB2,11,i: 10,255,139 msg/sec OptimistAtomicQueueB2,12,s: 9,650,825 msg/sec OptimistAtomicQueueB2,12,i: 10,003,052 msg/sec OptimistAtomicQueueB2,13,s: 8,556,216 msg/sec OptimistAtomicQueueB2,13,i: 10,292,617 msg/sec OptimistAtomicQueueB2,14,s: 8,024,868 msg/sec OptimistAtomicQueueB2,14,i: 10,273,118 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000388 sec/round-trip boost::lockfree::queue: 0.000001083 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000390 sec/round-trip moodycamel::ConcurrentQueue: 0.000000728 sec/round-trip pthread_spinlock: 0.000001212 sec/round-trip std::mutex: 0.000002862 sec/round-trip tbb::spin_mutex: 0.000000942 sec/round-trip tbb::concurrent_bounded_queue: 0.000000956 sec/round-trip xenium::michael_scott_queue: 0.000001143 sec/round-trip xenium::ramalhete_queue: 0.000000797 sec/round-trip xenium::vyukov_bounded_queue: 0.000000651 sec/round-trip AtomicQueue: 0.000000388 sec/round-trip AtomicQueueB: 0.000000520 sec/round-trip OptimistAtomicQueue: 0.000000410 sec/round-trip OptimistAtomicQueueB: 0.000000476 sec/round-trip AtomicQueue2: 0.000000518 sec/round-trip AtomicQueueB2: 0.000000652 sec/round-trip OptimistAtomicQueue2: 0.000000510 sec/round-trip OptimistAtomicQueueB2: 0.000000537 sec/round-trip [24/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 23,979,980 msg/sec boost::lockfree::spsc_queue, 1,i: 24,402,453 msg/sec boost::lockfree::queue, 1,s: 2,852,648 msg/sec boost::lockfree::queue, 1,i: 2,947,442 msg/sec boost::lockfree::queue, 2,s: 2,241,980 msg/sec boost::lockfree::queue, 2,i: 2,528,396 msg/sec boost::lockfree::queue, 3,s: 2,362,721 msg/sec boost::lockfree::queue, 3,i: 2,344,287 msg/sec boost::lockfree::queue, 4,s: 2,327,758 msg/sec boost::lockfree::queue, 4,i: 2,228,499 msg/sec boost::lockfree::queue, 5,s: 2,217,329 msg/sec boost::lockfree::queue, 5,i: 2,047,844 msg/sec boost::lockfree::queue, 6,s: 2,137,678 msg/sec boost::lockfree::queue, 6,i: 2,102,518 msg/sec boost::lockfree::queue, 7,s: 1,986,651 msg/sec boost::lockfree::queue, 7,i: 1,924,355 msg/sec boost::lockfree::queue, 8,s: 497,109 msg/sec boost::lockfree::queue, 8,i: 1,459,046 msg/sec boost::lockfree::queue, 9,s: 794,446 msg/sec boost::lockfree::queue, 9,i: 1,418,228 msg/sec boost::lockfree::queue,10,s: 879,072 msg/sec boost::lockfree::queue,10,i: 1,050,896 msg/sec boost::lockfree::queue,11,s: 591,799 msg/sec boost::lockfree::queue,11,i: 883,271 msg/sec boost::lockfree::queue,12,s: 536,326 msg/sec boost::lockfree::queue,12,i: 535,763 msg/sec boost::lockfree::queue,13,s: 520,289 msg/sec boost::lockfree::queue,13,i: 511,882 msg/sec boost::lockfree::queue,14,s: 508,745 msg/sec boost::lockfree::queue,14,i: 512,448 msg/sec moodycamel::ReaderWriterQueue, 1,s: 15,438,480 msg/sec moodycamel::ReaderWriterQueue, 1,i: 254,602,528 msg/sec moodycamel::ConcurrentQueue, 1,s: 7,697,253 msg/sec moodycamel::ConcurrentQueue, 1,i: 6,571,994 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,668,123 msg/sec moodycamel::ConcurrentQueue, 2,i: 14,490,929 msg/sec moodycamel::ConcurrentQueue, 3,s: 15,916,262 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,334,676 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,144,315 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,928,524 msg/sec moodycamel::ConcurrentQueue, 5,s: 14,072,511 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,810,989 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,358,981 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,811,030 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,925,295 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,740,038 msg/sec moodycamel::ConcurrentQueue, 8,s: 10,812,684 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,521,791 msg/sec moodycamel::ConcurrentQueue, 9,s: 4,733,341 msg/sec moodycamel::ConcurrentQueue, 9,i: 27,489,515 msg/sec moodycamel::ConcurrentQueue,10,s: 5,538,861 msg/sec moodycamel::ConcurrentQueue,10,i: 5,507,079 msg/sec moodycamel::ConcurrentQueue,11,s: 10,630,707 msg/sec moodycamel::ConcurrentQueue,11,i: 11,962,649 msg/sec moodycamel::ConcurrentQueue,12,s: 4,968,228 msg/sec moodycamel::ConcurrentQueue,12,i: 8,400,331 msg/sec moodycamel::ConcurrentQueue,13,s: 16,939,627 msg/sec moodycamel::ConcurrentQueue,13,i: 5,618,781 msg/sec moodycamel::ConcurrentQueue,14,s: 11,228,708 msg/sec moodycamel::ConcurrentQueue,14,i: 5,274,442 msg/sec pthread_spinlock, 1,s: 5,615,971 msg/sec pthread_spinlock, 1,i: 5,417,899 msg/sec pthread_spinlock, 2,s: 4,374,028 msg/sec pthread_spinlock, 2,i: 4,189,882 msg/sec pthread_spinlock, 3,s: 2,659,741 msg/sec pthread_spinlock, 3,i: 3,456,951 msg/sec pthread_spinlock, 4,s: 2,087,992 msg/sec pthread_spinlock, 4,i: 2,419,490 msg/sec pthread_spinlock, 5,s: 2,234,374 msg/sec pthread_spinlock, 5,i: 2,141,910 msg/sec pthread_spinlock, 6,s: 1,788,718 msg/sec pthread_spinlock, 6,i: 2,276,326 msg/sec pthread_spinlock, 7,s: 1,599,184 msg/sec pthread_spinlock, 7,i: 1,704,976 msg/sec pthread_spinlock, 8,s: 1,009,179 msg/sec pthread_spinlock, 8,i: 1,062,273 msg/sec pthread_spinlock, 9,s: 517,636 msg/sec pthread_spinlock, 9,i: 539,077 msg/sec pthread_spinlock,10,s: 509,998 msg/sec pthread_spinlock,10,i: 850,101 msg/sec pthread_spinlock,11,s: 517,095 msg/sec pthread_spinlock,11,i: 761,621 msg/sec pthread_spinlock,12,s: 615,162 msg/sec pthread_spinlock,12,i: 764,868 msg/sec pthread_spinlock,13,s: 498,046 msg/sec pthread_spinlock,13,i: 505,111 msg/sec pthread_spinlock,14,s: 541,968 msg/sec pthread_spinlock,14,i: 493,904 msg/sec std::mutex, 1,s: 444,795 msg/sec std::mutex, 1,i: 442,267 msg/sec std::mutex, 2,s: 4,485,155 msg/sec std::mutex, 2,i: 4,313,484 msg/sec std::mutex, 3,s: 2,931,306 msg/sec std::mutex, 3,i: 3,281,131 msg/sec std::mutex, 4,s: 2,974,080 msg/sec std::mutex, 4,i: 2,918,447 msg/sec std::mutex, 5,s: 3,507,491 msg/sec std::mutex, 5,i: 3,442,832 msg/sec std::mutex, 6,s: 4,511,481 msg/sec std::mutex, 6,i: 4,588,200 msg/sec std::mutex, 7,s: 5,901,172 msg/sec std::mutex, 7,i: 6,042,742 msg/sec std::mutex, 8,s: 6,919,962 msg/sec std::mutex, 8,i: 6,332,092 msg/sec std::mutex, 9,s: 6,372,404 msg/sec std::mutex, 9,i: 5,365,098 msg/sec std::mutex,10,s: 5,996,805 msg/sec std::mutex,10,i: 5,267,763 msg/sec std::mutex,11,s: 5,621,812 msg/sec std::mutex,11,i: 5,053,796 msg/sec std::mutex,12,s: 5,505,742 msg/sec std::mutex,12,i: 5,272,823 msg/sec std::mutex,13,s: 5,426,712 msg/sec std::mutex,13,i: 5,235,965 msg/sec std::mutex,14,s: 5,373,404 msg/sec std::mutex,14,i: 5,255,271 msg/sec tbb::spin_mutex, 1,s: 22,997,948 msg/sec tbb::spin_mutex, 1,i: 23,191,529 msg/sec tbb::spin_mutex, 2,s: 12,356,220 msg/sec tbb::spin_mutex, 2,i: 13,957,318 msg/sec tbb::spin_mutex, 3,s: 9,102,461 msg/sec tbb::spin_mutex, 3,i: 9,206,341 msg/sec tbb::spin_mutex, 4,s: 7,087,402 msg/sec tbb::spin_mutex, 4,i: 7,066,431 msg/sec tbb::spin_mutex, 5,s: 4,441,386 msg/sec tbb::spin_mutex, 5,i: 5,086,322 msg/sec tbb::spin_mutex, 6,s: 3,346,592 msg/sec tbb::spin_mutex, 6,i: 3,584,247 msg/sec tbb::spin_mutex, 7,s: 2,092,193 msg/sec tbb::spin_mutex, 7,i: 2,363,178 msg/sec tbb::spin_mutex, 8,s: 1,491,516 msg/sec tbb::spin_mutex, 8,i: 1,155,196 msg/sec tbb::spin_mutex, 9,s: 1,040,459 msg/sec tbb::spin_mutex, 9,i: 934,885 msg/sec tbb::spin_mutex,10,s: 518,195 msg/sec tbb::spin_mutex,10,i: 744,129 msg/sec tbb::spin_mutex,11,s: 616,866 msg/sec tbb::spin_mutex,11,i: 661,659 msg/sec tbb::spin_mutex,12,s: 599,454 msg/sec tbb::spin_mutex,12,i: 573,446 msg/sec tbb::spin_mutex,13,s: 463,167 msg/sec tbb::spin_mutex,13,i: 477,900 msg/sec tbb::spin_mutex,14,s: 481,580 msg/sec tbb::spin_mutex,14,i: 431,750 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,767,026 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,610,797 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,018,674 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,086,543 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,210,060 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,249,507 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,706,217 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,271,654 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,061,804 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,237,369 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,780,548 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,720,225 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,505,253 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,510,774 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,154,116 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,297,725 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,052,821 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,541,647 msg/sec tbb::concurrent_bounded_queue,10,s: 915,462 msg/sec tbb::concurrent_bounded_queue,10,i: 1,748,336 msg/sec tbb::concurrent_bounded_queue,11,s: 1,039,749 msg/sec tbb::concurrent_bounded_queue,11,i: 1,323,618 msg/sec tbb::concurrent_bounded_queue,12,s: 1,048,610 msg/sec tbb::concurrent_bounded_queue,12,i: 1,263,213 msg/sec tbb::concurrent_bounded_queue,13,s: 1,097,645 msg/sec tbb::concurrent_bounded_queue,13,i: 1,188,379 msg/sec tbb::concurrent_bounded_queue,14,s: 1,072,319 msg/sec tbb::concurrent_bounded_queue,14,i: 1,147,702 msg/sec xenium::michael_scott_queue, 1,s: 4,418,776 msg/sec xenium::michael_scott_queue, 1,i: 3,959,478 msg/sec xenium::michael_scott_queue, 2,s: 3,349,446 msg/sec xenium::michael_scott_queue, 2,i: 3,366,913 msg/sec xenium::michael_scott_queue, 3,s: 2,290,080 msg/sec xenium::michael_scott_queue, 3,i: 2,284,600 msg/sec xenium::michael_scott_queue, 4,s: 2,219,089 msg/sec xenium::michael_scott_queue, 4,i: 2,233,466 msg/sec xenium::michael_scott_queue, 5,s: 1,888,529 msg/sec xenium::michael_scott_queue, 5,i: 1,923,646 msg/sec xenium::michael_scott_queue, 6,s: 1,768,621 msg/sec xenium::michael_scott_queue, 6,i: 1,839,462 msg/sec xenium::michael_scott_queue, 7,s: 1,678,512 msg/sec xenium::michael_scott_queue, 7,i: 1,693,913 msg/sec xenium::michael_scott_queue, 8,s: 1,118,158 msg/sec xenium::michael_scott_queue, 8,i: 1,467,089 msg/sec xenium::michael_scott_queue, 9,s: 573,689 msg/sec xenium::michael_scott_queue, 9,i: 1,155,285 msg/sec xenium::michael_scott_queue,10,s: 497,723 msg/sec xenium::michael_scott_queue,10,i: 1,017,969 msg/sec xenium::michael_scott_queue,11,s: 522,179 msg/sec xenium::michael_scott_queue,11,i: 510,304 msg/sec xenium::michael_scott_queue,12,s: 503,936 msg/sec xenium::michael_scott_queue,12,i: 777,288 msg/sec xenium::michael_scott_queue,13,s: 822,913 msg/sec xenium::michael_scott_queue,13,i: 549,255 msg/sec xenium::michael_scott_queue,14,s: 549,288 msg/sec xenium::michael_scott_queue,14,i: 504,345 msg/sec xenium::ramalhete_queue, 1,s: 4,011,823 msg/sec xenium::ramalhete_queue, 1,i: 9,076,056 msg/sec xenium::ramalhete_queue, 2,s: 5,669,178 msg/sec xenium::ramalhete_queue, 2,i: 7,277,200 msg/sec xenium::ramalhete_queue, 3,s: 6,552,557 msg/sec xenium::ramalhete_queue, 3,i: 6,414,754 msg/sec xenium::ramalhete_queue, 4,s: 7,989,768 msg/sec xenium::ramalhete_queue, 4,i: 7,703,804 msg/sec xenium::ramalhete_queue, 5,s: 8,042,838 msg/sec xenium::ramalhete_queue, 5,i: 7,723,136 msg/sec xenium::ramalhete_queue, 6,s: 8,244,161 msg/sec xenium::ramalhete_queue, 6,i: 8,476,304 msg/sec xenium::ramalhete_queue, 7,s: 9,643,565 msg/sec xenium::ramalhete_queue, 7,i: 10,747,981 msg/sec xenium::ramalhete_queue, 8,s: 7,705,922 msg/sec xenium::ramalhete_queue, 8,i: 8,345,133 msg/sec xenium::ramalhete_queue, 9,s: 7,756,078 msg/sec xenium::ramalhete_queue, 9,i: 8,087,523 msg/sec xenium::ramalhete_queue,10,s: 7,520,357 msg/sec xenium::ramalhete_queue,10,i: 7,839,813 msg/sec xenium::ramalhete_queue,11,s: 7,900,704 msg/sec xenium::ramalhete_queue,11,i: 8,619,764 msg/sec xenium::ramalhete_queue,12,s: 8,737,409 msg/sec xenium::ramalhete_queue,12,i: 8,309,004 msg/sec xenium::ramalhete_queue,13,s: 9,234,970 msg/sec xenium::ramalhete_queue,13,i: 8,202,928 msg/sec xenium::ramalhete_queue,14,s: 10,504,522 msg/sec xenium::ramalhete_queue,14,i: 8,513,610 msg/sec xenium::vyukov_bounded_queue, 1,s: 14,858,388 msg/sec xenium::vyukov_bounded_queue, 1,i: 16,215,903 msg/sec xenium::vyukov_bounded_queue, 2,s: 6,359,102 msg/sec xenium::vyukov_bounded_queue, 2,i: 8,442,694 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,411,473 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,397,545 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,980,022 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,955,681 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,519,447 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,849,997 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,287,623 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,362,997 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,080,417 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,139,051 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,450,487 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,660,478 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,293,344 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,784,878 msg/sec xenium::vyukov_bounded_queue,10,s: 1,107,550 msg/sec xenium::vyukov_bounded_queue,10,i: 1,973,106 msg/sec xenium::vyukov_bounded_queue,11,s: 1,073,549 msg/sec xenium::vyukov_bounded_queue,11,i: 1,613,235 msg/sec xenium::vyukov_bounded_queue,12,s: 1,121,424 msg/sec xenium::vyukov_bounded_queue,12,i: 1,340,869 msg/sec xenium::vyukov_bounded_queue,13,s: 1,023,533 msg/sec xenium::vyukov_bounded_queue,13,i: 1,144,575 msg/sec xenium::vyukov_bounded_queue,14,s: 1,003,531 msg/sec xenium::vyukov_bounded_queue,14,i: 502,238 msg/sec AtomicQueue, 1,s: 10,231,203 msg/sec AtomicQueue, 1,i: 10,426,853 msg/sec AtomicQueue, 2,s: 2,888,822 msg/sec AtomicQueue, 2,i: 3,898,182 msg/sec AtomicQueue, 3,s: 3,204,261 msg/sec AtomicQueue, 3,i: 3,379,199 msg/sec AtomicQueue, 4,s: 2,431,908 msg/sec AtomicQueue, 4,i: 2,457,858 msg/sec AtomicQueue, 5,s: 2,150,569 msg/sec AtomicQueue, 5,i: 2,288,062 msg/sec AtomicQueue, 6,s: 1,928,846 msg/sec AtomicQueue, 6,i: 1,981,270 msg/sec AtomicQueue, 7,s: 1,767,065 msg/sec AtomicQueue, 7,i: 1,796,607 msg/sec AtomicQueue, 8,s: 693,288 msg/sec AtomicQueue, 8,i: 1,560,267 msg/sec AtomicQueue, 9,s: 778,073 msg/sec AtomicQueue, 9,i: 1,517,114 msg/sec AtomicQueue,10,s: 629,096 msg/sec AtomicQueue,10,i: 1,353,154 msg/sec AtomicQueue,11,s: 471,438 msg/sec AtomicQueue,11,i: 1,152,425 msg/sec AtomicQueue,12,s: 517,272 msg/sec AtomicQueue,12,i: 524,084 msg/sec AtomicQueue,13,s: 523,175 msg/sec AtomicQueue,13,i: 529,932 msg/sec AtomicQueue,14,s: 447,298 msg/sec AtomicQueue,14,i: 513,037 msg/sec AtomicQueueB, 1,s: 14,351,184 msg/sec AtomicQueueB, 1,i: 14,392,054 msg/sec AtomicQueueB, 2,s: 3,691,459 msg/sec AtomicQueueB, 2,i: 3,611,184 msg/sec AtomicQueueB, 3,s: 2,725,865 msg/sec AtomicQueueB, 3,i: 2,879,900 msg/sec AtomicQueueB, 4,s: 2,428,292 msg/sec AtomicQueueB, 4,i: 2,347,052 msg/sec AtomicQueueB, 5,s: 2,015,644 msg/sec AtomicQueueB, 5,i: 2,162,663 msg/sec AtomicQueueB, 6,s: 2,039,647 msg/sec AtomicQueueB, 6,i: 2,102,790 msg/sec AtomicQueueB, 7,s: 1,751,935 msg/sec AtomicQueueB, 7,i: 1,637,312 msg/sec AtomicQueueB, 8,s: 739,300 msg/sec AtomicQueueB, 8,i: 1,667,698 msg/sec AtomicQueueB, 9,s: 939,670 msg/sec AtomicQueueB, 9,i: 1,293,686 msg/sec AtomicQueueB,10,s: 549,774 msg/sec AtomicQueueB,10,i: 1,444,846 msg/sec AtomicQueueB,11,s: 552,378 msg/sec AtomicQueueB,11,i: 1,122,632 msg/sec AtomicQueueB,12,s: 594,093 msg/sec AtomicQueueB,12,i: 1,093,951 msg/sec AtomicQueueB,13,s: 707,190 msg/sec AtomicQueueB,13,i: 509,388 msg/sec AtomicQueueB,14,s: 492,263 msg/sec AtomicQueueB,14,i: 586,850 msg/sec OptimistAtomicQueue, 1,s: 210,156,542 msg/sec OptimistAtomicQueue, 1,i: 204,201,781 msg/sec OptimistAtomicQueue, 2,s: 8,604,235 msg/sec OptimistAtomicQueue, 2,i: 10,171,356 msg/sec OptimistAtomicQueue, 3,s: 11,875,930 msg/sec OptimistAtomicQueue, 3,i: 12,085,366 msg/sec OptimistAtomicQueue, 4,s: 13,001,940 msg/sec OptimistAtomicQueue, 4,i: 13,417,584 msg/sec OptimistAtomicQueue, 5,s: 12,485,967 msg/sec OptimistAtomicQueue, 5,i: 11,989,177 msg/sec OptimistAtomicQueue, 6,s: 10,021,254 msg/sec OptimistAtomicQueue, 6,i: 13,391,935 msg/sec OptimistAtomicQueue, 7,s: 13,409,400 msg/sec OptimistAtomicQueue, 7,i: 13,566,622 msg/sec OptimistAtomicQueue, 8,s: 9,452,312 msg/sec OptimistAtomicQueue, 8,i: 10,932,399 msg/sec OptimistAtomicQueue, 9,s: 8,102,279 msg/sec OptimistAtomicQueue, 9,i: 9,584,996 msg/sec OptimistAtomicQueue,10,s: 7,755,919 msg/sec OptimistAtomicQueue,10,i: 9,885,219 msg/sec OptimistAtomicQueue,11,s: 7,961,182 msg/sec OptimistAtomicQueue,11,i: 9,766,271 msg/sec OptimistAtomicQueue,12,s: 7,678,745 msg/sec OptimistAtomicQueue,12,i: 10,037,522 msg/sec OptimistAtomicQueue,13,s: 7,891,823 msg/sec OptimistAtomicQueue,13,i: 10,384,582 msg/sec OptimistAtomicQueue,14,s: 7,931,500 msg/sec OptimistAtomicQueue,14,i: 11,309,695 msg/sec OptimistAtomicQueueB, 1,s: 34,360,914 msg/sec OptimistAtomicQueueB, 1,i: 33,422,034 msg/sec OptimistAtomicQueueB, 2,s: 11,527,038 msg/sec OptimistAtomicQueueB, 2,i: 11,057,019 msg/sec OptimistAtomicQueueB, 3,s: 11,986,291 msg/sec OptimistAtomicQueueB, 3,i: 11,882,903 msg/sec OptimistAtomicQueueB, 4,s: 12,776,265 msg/sec OptimistAtomicQueueB, 4,i: 12,980,108 msg/sec OptimistAtomicQueueB, 5,s: 12,521,358 msg/sec OptimistAtomicQueueB, 5,i: 10,778,008 msg/sec OptimistAtomicQueueB, 6,s: 13,069,597 msg/sec OptimistAtomicQueueB, 6,i: 13,356,313 msg/sec OptimistAtomicQueueB, 7,s: 13,276,897 msg/sec OptimistAtomicQueueB, 7,i: 13,412,368 msg/sec OptimistAtomicQueueB, 8,s: 9,410,107 msg/sec OptimistAtomicQueueB, 8,i: 9,184,483 msg/sec OptimistAtomicQueueB, 9,s: 8,129,275 msg/sec OptimistAtomicQueueB, 9,i: 9,686,644 msg/sec OptimistAtomicQueueB,10,s: 7,898,097 msg/sec OptimistAtomicQueueB,10,i: 9,750,656 msg/sec OptimistAtomicQueueB,11,s: 7,773,342 msg/sec OptimistAtomicQueueB,11,i: 10,413,832 msg/sec OptimistAtomicQueueB,12,s: 8,012,226 msg/sec OptimistAtomicQueueB,12,i: 9,872,963 msg/sec OptimistAtomicQueueB,13,s: 7,929,957 msg/sec OptimistAtomicQueueB,13,i: 10,364,793 msg/sec OptimistAtomicQueueB,14,s: 7,855,188 msg/sec OptimistAtomicQueueB,14,i: 10,205,105 msg/sec AtomicQueue2, 1,s: 9,218,202 msg/sec AtomicQueue2, 1,i: 9,245,297 msg/sec AtomicQueue2, 2,s: 4,130,500 msg/sec AtomicQueue2, 2,i: 3,971,805 msg/sec AtomicQueue2, 3,s: 3,263,684 msg/sec AtomicQueue2, 3,i: 3,316,697 msg/sec AtomicQueue2, 4,s: 2,504,985 msg/sec AtomicQueue2, 4,i: 2,752,845 msg/sec AtomicQueue2, 5,s: 2,283,024 msg/sec AtomicQueue2, 5,i: 2,264,922 msg/sec AtomicQueue2, 6,s: 1,980,446 msg/sec AtomicQueue2, 6,i: 2,042,779 msg/sec AtomicQueue2, 7,s: 1,752,742 msg/sec AtomicQueue2, 7,i: 1,885,072 msg/sec AtomicQueue2, 8,s: 861,451 msg/sec AtomicQueue2, 8,i: 1,681,701 msg/sec AtomicQueue2, 9,s: 527,366 msg/sec AtomicQueue2, 9,i: 1,428,536 msg/sec AtomicQueue2,10,s: 736,455 msg/sec AtomicQueue2,10,i: 1,267,701 msg/sec AtomicQueue2,11,s: 725,841 msg/sec AtomicQueue2,11,i: 1,089,325 msg/sec AtomicQueue2,12,s: 491,866 msg/sec AtomicQueue2,12,i: 1,104,102 msg/sec AtomicQueue2,13,s: 534,209 msg/sec AtomicQueue2,13,i: 568,170 msg/sec AtomicQueue2,14,s: 505,148 msg/sec AtomicQueue2,14,i: 543,797 msg/sec AtomicQueueB2, 1,s: 9,428,671 msg/sec AtomicQueueB2, 1,i: 9,280,833 msg/sec AtomicQueueB2, 2,s: 3,028,274 msg/sec AtomicQueueB2, 2,i: 3,643,347 msg/sec AtomicQueueB2, 3,s: 2,490,824 msg/sec AtomicQueueB2, 3,i: 2,931,873 msg/sec AtomicQueueB2, 4,s: 2,412,410 msg/sec AtomicQueueB2, 4,i: 2,372,848 msg/sec AtomicQueueB2, 5,s: 2,213,129 msg/sec AtomicQueueB2, 5,i: 2,202,612 msg/sec AtomicQueueB2, 6,s: 1,917,107 msg/sec AtomicQueueB2, 6,i: 1,854,304 msg/sec AtomicQueueB2, 7,s: 1,713,835 msg/sec AtomicQueueB2, 7,i: 1,787,973 msg/sec AtomicQueueB2, 8,s: 507,364 msg/sec AtomicQueueB2, 8,i: 1,592,528 msg/sec AtomicQueueB2, 9,s: 548,261 msg/sec AtomicQueueB2, 9,i: 1,476,015 msg/sec AtomicQueueB2,10,s: 752,234 msg/sec AtomicQueueB2,10,i: 1,120,351 msg/sec AtomicQueueB2,11,s: 682,175 msg/sec AtomicQueueB2,11,i: 877,845 msg/sec AtomicQueueB2,12,s: 529,030 msg/sec AtomicQueueB2,12,i: 544,400 msg/sec AtomicQueueB2,13,s: 500,279 msg/sec AtomicQueueB2,13,i: 518,235 msg/sec AtomicQueueB2,14,s: 469,414 msg/sec AtomicQueueB2,14,i: 562,585 msg/sec OptimistAtomicQueue2, 1,s: 69,332,704 msg/sec OptimistAtomicQueue2, 1,i: 71,622,952 msg/sec OptimistAtomicQueue2, 2,s: 6,065,670 msg/sec OptimistAtomicQueue2, 2,i: 6,252,299 msg/sec OptimistAtomicQueue2, 3,s: 7,755,346 msg/sec OptimistAtomicQueue2, 3,i: 11,373,389 msg/sec OptimistAtomicQueue2, 4,s: 11,451,276 msg/sec OptimistAtomicQueue2, 4,i: 9,562,434 msg/sec OptimistAtomicQueue2, 5,s: 11,776,130 msg/sec OptimistAtomicQueue2, 5,i: 11,135,638 msg/sec OptimistAtomicQueue2, 6,s: 12,324,329 msg/sec OptimistAtomicQueue2, 6,i: 8,427,196 msg/sec OptimistAtomicQueue2, 7,s: 8,972,407 msg/sec OptimistAtomicQueue2, 7,i: 9,201,193 msg/sec OptimistAtomicQueue2, 8,s: 8,969,907 msg/sec OptimistAtomicQueue2, 8,i: 8,934,261 msg/sec OptimistAtomicQueue2, 9,s: 7,897,507 msg/sec OptimistAtomicQueue2, 9,i: 8,787,715 msg/sec OptimistAtomicQueue2,10,s: 7,628,810 msg/sec OptimistAtomicQueue2,10,i: 10,603,924 msg/sec OptimistAtomicQueue2,11,s: 7,562,867 msg/sec OptimistAtomicQueue2,11,i: 9,522,258 msg/sec OptimistAtomicQueue2,12,s: 7,773,005 msg/sec OptimistAtomicQueue2,12,i: 9,566,451 msg/sec OptimistAtomicQueue2,13,s: 8,143,698 msg/sec OptimistAtomicQueue2,13,i: 10,654,273 msg/sec OptimistAtomicQueue2,14,s: 8,319,107 msg/sec OptimistAtomicQueue2,14,i: 9,586,762 msg/sec OptimistAtomicQueueB2, 1,s: 22,526,510 msg/sec OptimistAtomicQueueB2, 1,i: 22,611,517 msg/sec OptimistAtomicQueueB2, 2,s: 9,760,196 msg/sec OptimistAtomicQueueB2, 2,i: 6,565,091 msg/sec OptimistAtomicQueueB2, 3,s: 11,397,486 msg/sec OptimistAtomicQueueB2, 3,i: 11,378,306 msg/sec OptimistAtomicQueueB2, 4,s: 10,671,857 msg/sec OptimistAtomicQueueB2, 4,i: 11,882,829 msg/sec OptimistAtomicQueueB2, 5,s: 12,150,616 msg/sec OptimistAtomicQueueB2, 5,i: 12,154,840 msg/sec OptimistAtomicQueueB2, 6,s: 12,423,789 msg/sec OptimistAtomicQueueB2, 6,i: 12,817,579 msg/sec OptimistAtomicQueueB2, 7,s: 12,204,803 msg/sec OptimistAtomicQueueB2, 7,i: 12,891,780 msg/sec OptimistAtomicQueueB2, 8,s: 8,324,629 msg/sec OptimistAtomicQueueB2, 8,i: 10,169,350 msg/sec OptimistAtomicQueueB2, 9,s: 7,530,958 msg/sec OptimistAtomicQueueB2, 9,i: 9,047,440 msg/sec OptimistAtomicQueueB2,10,s: 7,361,953 msg/sec OptimistAtomicQueueB2,10,i: 9,331,051 msg/sec OptimistAtomicQueueB2,11,s: 7,141,749 msg/sec OptimistAtomicQueueB2,11,i: 9,279,117 msg/sec OptimistAtomicQueueB2,12,s: 7,323,557 msg/sec OptimistAtomicQueueB2,12,i: 9,616,427 msg/sec OptimistAtomicQueueB2,13,s: 7,417,746 msg/sec OptimistAtomicQueueB2,13,i: 9,448,639 msg/sec OptimistAtomicQueueB2,14,s: 7,490,258 msg/sec OptimistAtomicQueueB2,14,i: 9,646,813 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000325 sec/round-trip boost::lockfree::queue: 0.000000745 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000253 sec/round-trip moodycamel::ConcurrentQueue: 0.000000434 sec/round-trip pthread_spinlock: 0.000000871 sec/round-trip std::mutex: 0.000002018 sec/round-trip tbb::spin_mutex: 0.000000750 sec/round-trip tbb::concurrent_bounded_queue: 0.000000581 sec/round-trip xenium::michael_scott_queue: 0.000000766 sec/round-trip xenium::ramalhete_queue: 0.000000502 sec/round-trip xenium::vyukov_bounded_queue: 0.000000472 sec/round-trip AtomicQueue: 0.000000311 sec/round-trip AtomicQueueB: 0.000000385 sec/round-trip OptimistAtomicQueue: 0.000000332 sec/round-trip OptimistAtomicQueueB: 0.000000349 sec/round-trip AtomicQueue2: 0.000000365 sec/round-trip AtomicQueueB2: 0.000000450 sec/round-trip OptimistAtomicQueue2: 0.000000335 sec/round-trip OptimistAtomicQueueB2: 0.000000376 sec/round-trip [25/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 25,394,638 msg/sec boost::lockfree::spsc_queue, 1,i: 31,413,628 msg/sec boost::lockfree::queue, 1,s: 2,987,722 msg/sec boost::lockfree::queue, 1,i: 2,866,418 msg/sec boost::lockfree::queue, 2,s: 2,443,665 msg/sec boost::lockfree::queue, 2,i: 2,479,001 msg/sec boost::lockfree::queue, 3,s: 2,280,696 msg/sec boost::lockfree::queue, 3,i: 2,338,534 msg/sec boost::lockfree::queue, 4,s: 2,208,574 msg/sec boost::lockfree::queue, 4,i: 2,093,536 msg/sec boost::lockfree::queue, 5,s: 2,064,904 msg/sec boost::lockfree::queue, 5,i: 2,211,138 msg/sec boost::lockfree::queue, 6,s: 2,070,443 msg/sec boost::lockfree::queue, 6,i: 2,126,715 msg/sec boost::lockfree::queue, 7,s: 2,029,392 msg/sec boost::lockfree::queue, 7,i: 1,896,338 msg/sec boost::lockfree::queue, 8,s: 476,300 msg/sec boost::lockfree::queue, 8,i: 1,406,683 msg/sec boost::lockfree::queue, 9,s: 570,591 msg/sec boost::lockfree::queue, 9,i: 1,130,370 msg/sec boost::lockfree::queue,10,s: 714,591 msg/sec boost::lockfree::queue,10,i: 863,648 msg/sec boost::lockfree::queue,11,s: 536,254 msg/sec boost::lockfree::queue,11,i: 525,227 msg/sec boost::lockfree::queue,12,s: 541,268 msg/sec boost::lockfree::queue,12,i: 536,974 msg/sec boost::lockfree::queue,13,s: 520,271 msg/sec boost::lockfree::queue,13,i: 584,375 msg/sec boost::lockfree::queue,14,s: 444,801 msg/sec boost::lockfree::queue,14,i: 578,550 msg/sec moodycamel::ReaderWriterQueue, 1,s: 223,189,950 msg/sec moodycamel::ReaderWriterQueue, 1,i: 222,797,267 msg/sec moodycamel::ConcurrentQueue, 1,s: 6,469,288 msg/sec moodycamel::ConcurrentQueue, 1,i: 6,951,556 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,433,592 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,988,155 msg/sec moodycamel::ConcurrentQueue, 3,s: 4,637,983 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,798,784 msg/sec moodycamel::ConcurrentQueue, 4,s: 6,732,518 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,136,390 msg/sec moodycamel::ConcurrentQueue, 5,s: 6,100,615 msg/sec moodycamel::ConcurrentQueue, 5,i: 7,035,114 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,847,941 msg/sec moodycamel::ConcurrentQueue, 6,i: 5,711,664 msg/sec moodycamel::ConcurrentQueue, 7,s: 25,204,338 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,270,570 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,034,402 msg/sec moodycamel::ConcurrentQueue, 8,i: 11,991,486 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,161,307 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,492,376 msg/sec moodycamel::ConcurrentQueue,10,s: 23,405,328 msg/sec moodycamel::ConcurrentQueue,10,i: 5,382,568 msg/sec moodycamel::ConcurrentQueue,11,s: 5,058,249 msg/sec moodycamel::ConcurrentQueue,11,i: 14,500,802 msg/sec moodycamel::ConcurrentQueue,12,s: 5,301,301 msg/sec moodycamel::ConcurrentQueue,12,i: 5,451,687 msg/sec moodycamel::ConcurrentQueue,13,s: 9,186,503 msg/sec moodycamel::ConcurrentQueue,13,i: 5,395,761 msg/sec moodycamel::ConcurrentQueue,14,s: 38,395,853 msg/sec moodycamel::ConcurrentQueue,14,i: 6,011,830 msg/sec pthread_spinlock, 1,s: 5,897,063 msg/sec pthread_spinlock, 1,i: 8,437,442 msg/sec pthread_spinlock, 2,s: 3,499,282 msg/sec pthread_spinlock, 2,i: 4,356,400 msg/sec pthread_spinlock, 3,s: 3,024,716 msg/sec pthread_spinlock, 3,i: 3,076,637 msg/sec pthread_spinlock, 4,s: 2,959,824 msg/sec pthread_spinlock, 4,i: 2,719,661 msg/sec pthread_spinlock, 5,s: 2,133,646 msg/sec pthread_spinlock, 5,i: 2,006,193 msg/sec pthread_spinlock, 6,s: 2,061,695 msg/sec pthread_spinlock, 6,i: 2,068,422 msg/sec pthread_spinlock, 7,s: 1,811,122 msg/sec pthread_spinlock, 7,i: 1,609,666 msg/sec pthread_spinlock, 8,s: 1,056,447 msg/sec pthread_spinlock, 8,i: 935,058 msg/sec pthread_spinlock, 9,s: 942,230 msg/sec pthread_spinlock, 9,i: 1,035,443 msg/sec pthread_spinlock,10,s: 513,392 msg/sec pthread_spinlock,10,i: 518,285 msg/sec pthread_spinlock,11,s: 813,061 msg/sec pthread_spinlock,11,i: 838,749 msg/sec pthread_spinlock,12,s: 540,933 msg/sec pthread_spinlock,12,i: 558,518 msg/sec pthread_spinlock,13,s: 500,434 msg/sec pthread_spinlock,13,i: 518,184 msg/sec pthread_spinlock,14,s: 619,275 msg/sec pthread_spinlock,14,i: 542,047 msg/sec std::mutex, 1,s: 5,969,680 msg/sec std::mutex, 1,i: 5,956,557 msg/sec std::mutex, 2,s: 4,211,520 msg/sec std::mutex, 2,i: 4,297,944 msg/sec std::mutex, 3,s: 2,575,706 msg/sec std::mutex, 3,i: 2,784,497 msg/sec std::mutex, 4,s: 2,601,420 msg/sec std::mutex, 4,i: 2,754,418 msg/sec std::mutex, 5,s: 3,392,974 msg/sec std::mutex, 5,i: 3,430,780 msg/sec std::mutex, 6,s: 4,370,258 msg/sec std::mutex, 6,i: 4,450,707 msg/sec std::mutex, 7,s: 5,564,545 msg/sec std::mutex, 7,i: 5,920,154 msg/sec std::mutex, 8,s: 6,865,092 msg/sec std::mutex, 8,i: 5,411,200 msg/sec std::mutex, 9,s: 5,872,522 msg/sec std::mutex, 9,i: 4,663,175 msg/sec std::mutex,10,s: 5,561,138 msg/sec std::mutex,10,i: 4,696,218 msg/sec std::mutex,11,s: 5,036,338 msg/sec std::mutex,11,i: 4,666,608 msg/sec std::mutex,12,s: 4,829,290 msg/sec std::mutex,12,i: 4,773,583 msg/sec std::mutex,13,s: 4,692,941 msg/sec std::mutex,13,i: 4,798,091 msg/sec std::mutex,14,s: 4,676,912 msg/sec std::mutex,14,i: 4,802,037 msg/sec tbb::spin_mutex, 1,s: 22,354,262 msg/sec tbb::spin_mutex, 1,i: 22,611,622 msg/sec tbb::spin_mutex, 2,s: 12,073,738 msg/sec tbb::spin_mutex, 2,i: 12,445,138 msg/sec tbb::spin_mutex, 3,s: 9,226,665 msg/sec tbb::spin_mutex, 3,i: 9,432,672 msg/sec tbb::spin_mutex, 4,s: 6,033,946 msg/sec tbb::spin_mutex, 4,i: 6,938,567 msg/sec tbb::spin_mutex, 5,s: 4,325,517 msg/sec tbb::spin_mutex, 5,i: 5,272,607 msg/sec tbb::spin_mutex, 6,s: 3,491,624 msg/sec tbb::spin_mutex, 6,i: 3,219,810 msg/sec tbb::spin_mutex, 7,s: 2,464,268 msg/sec tbb::spin_mutex, 7,i: 2,229,269 msg/sec tbb::spin_mutex, 8,s: 1,287,709 msg/sec tbb::spin_mutex, 8,i: 1,333,351 msg/sec tbb::spin_mutex, 9,s: 960,817 msg/sec tbb::spin_mutex, 9,i: 866,939 msg/sec tbb::spin_mutex,10,s: 768,309 msg/sec tbb::spin_mutex,10,i: 822,415 msg/sec tbb::spin_mutex,11,s: 478,302 msg/sec tbb::spin_mutex,11,i: 659,150 msg/sec tbb::spin_mutex,12,s: 527,030 msg/sec tbb::spin_mutex,12,i: 503,415 msg/sec tbb::spin_mutex,13,s: 483,661 msg/sec tbb::spin_mutex,13,i: 520,617 msg/sec tbb::spin_mutex,14,s: 420,503 msg/sec tbb::spin_mutex,14,i: 509,916 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,711,611 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,796,562 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,781,244 msg/sec tbb::concurrent_bounded_queue, 2,i: 4,855,829 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,811,997 msg/sec tbb::concurrent_bounded_queue, 3,i: 3,547,555 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,313,401 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,506,640 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,029,448 msg/sec tbb::concurrent_bounded_queue, 5,i: 2,983,429 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,693,859 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,779,702 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,555,041 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,725,917 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,219,253 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,557,296 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,101,560 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,089,554 msg/sec tbb::concurrent_bounded_queue,10,s: 888,982 msg/sec tbb::concurrent_bounded_queue,10,i: 1,427,441 msg/sec tbb::concurrent_bounded_queue,11,s: 852,994 msg/sec tbb::concurrent_bounded_queue,11,i: 1,464,014 msg/sec tbb::concurrent_bounded_queue,12,s: 1,104,462 msg/sec tbb::concurrent_bounded_queue,12,i: 1,319,980 msg/sec tbb::concurrent_bounded_queue,13,s: 1,125,433 msg/sec tbb::concurrent_bounded_queue,13,i: 1,164,673 msg/sec tbb::concurrent_bounded_queue,14,s: 1,240,984 msg/sec tbb::concurrent_bounded_queue,14,i: 905,112 msg/sec xenium::michael_scott_queue, 1,s: 3,695,012 msg/sec xenium::michael_scott_queue, 1,i: 4,074,189 msg/sec xenium::michael_scott_queue, 2,s: 2,889,143 msg/sec xenium::michael_scott_queue, 2,i: 3,044,213 msg/sec xenium::michael_scott_queue, 3,s: 2,308,054 msg/sec xenium::michael_scott_queue, 3,i: 2,270,628 msg/sec xenium::michael_scott_queue, 4,s: 2,011,336 msg/sec xenium::michael_scott_queue, 4,i: 2,265,693 msg/sec xenium::michael_scott_queue, 5,s: 1,777,674 msg/sec xenium::michael_scott_queue, 5,i: 1,940,238 msg/sec xenium::michael_scott_queue, 6,s: 1,687,597 msg/sec xenium::michael_scott_queue, 6,i: 1,876,161 msg/sec xenium::michael_scott_queue, 7,s: 1,668,847 msg/sec xenium::michael_scott_queue, 7,i: 1,637,430 msg/sec xenium::michael_scott_queue, 8,s: 713,702 msg/sec xenium::michael_scott_queue, 8,i: 1,468,827 msg/sec xenium::michael_scott_queue, 9,s: 452,869 msg/sec xenium::michael_scott_queue, 9,i: 1,116,956 msg/sec xenium::michael_scott_queue,10,s: 511,348 msg/sec xenium::michael_scott_queue,10,i: 512,863 msg/sec xenium::michael_scott_queue,11,s: 513,001 msg/sec xenium::michael_scott_queue,11,i: 506,808 msg/sec xenium::michael_scott_queue,12,s: 503,804 msg/sec xenium::michael_scott_queue,12,i: 508,724 msg/sec xenium::michael_scott_queue,13,s: 522,240 msg/sec xenium::michael_scott_queue,13,i: 503,218 msg/sec xenium::michael_scott_queue,14,s: 498,987 msg/sec xenium::michael_scott_queue,14,i: 506,756 msg/sec xenium::ramalhete_queue, 1,s: 8,618,824 msg/sec xenium::ramalhete_queue, 1,i: 8,710,606 msg/sec xenium::ramalhete_queue, 2,s: 6,040,315 msg/sec xenium::ramalhete_queue, 2,i: 7,329,222 msg/sec xenium::ramalhete_queue, 3,s: 6,697,357 msg/sec xenium::ramalhete_queue, 3,i: 7,484,067 msg/sec xenium::ramalhete_queue, 4,s: 9,007,243 msg/sec xenium::ramalhete_queue, 4,i: 7,401,241 msg/sec xenium::ramalhete_queue, 5,s: 7,594,487 msg/sec xenium::ramalhete_queue, 5,i: 7,839,259 msg/sec xenium::ramalhete_queue, 6,s: 8,330,495 msg/sec xenium::ramalhete_queue, 6,i: 8,085,181 msg/sec xenium::ramalhete_queue, 7,s: 7,856,495 msg/sec xenium::ramalhete_queue, 7,i: 8,217,881 msg/sec xenium::ramalhete_queue, 8,s: 8,127,769 msg/sec xenium::ramalhete_queue, 8,i: 8,347,402 msg/sec xenium::ramalhete_queue, 9,s: 7,314,694 msg/sec xenium::ramalhete_queue, 9,i: 8,050,751 msg/sec xenium::ramalhete_queue,10,s: 7,679,106 msg/sec xenium::ramalhete_queue,10,i: 7,449,541 msg/sec xenium::ramalhete_queue,11,s: 8,268,517 msg/sec xenium::ramalhete_queue,11,i: 8,142,821 msg/sec xenium::ramalhete_queue,12,s: 8,449,677 msg/sec xenium::ramalhete_queue,12,i: 8,311,219 msg/sec xenium::ramalhete_queue,13,s: 9,328,454 msg/sec xenium::ramalhete_queue,13,i: 8,405,692 msg/sec xenium::ramalhete_queue,14,s: 10,075,035 msg/sec xenium::ramalhete_queue,14,i: 8,057,684 msg/sec xenium::vyukov_bounded_queue, 1,s: 57,639,864 msg/sec xenium::vyukov_bounded_queue, 1,i: 57,724,888 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,078,312 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,633,490 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,282,854 msg/sec xenium::vyukov_bounded_queue, 3,i: 3,959,385 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,769,311 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,174,249 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,403,432 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,531,317 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,309,069 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,238,115 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,158,286 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,123,487 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,422,911 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,620,748 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,135,345 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,906,546 msg/sec xenium::vyukov_bounded_queue,10,s: 1,092,340 msg/sec xenium::vyukov_bounded_queue,10,i: 1,899,791 msg/sec xenium::vyukov_bounded_queue,11,s: 1,002,105 msg/sec xenium::vyukov_bounded_queue,11,i: 1,390,008 msg/sec xenium::vyukov_bounded_queue,12,s: 586,792 msg/sec xenium::vyukov_bounded_queue,12,i: 1,169,864 msg/sec xenium::vyukov_bounded_queue,13,s: 722,054 msg/sec xenium::vyukov_bounded_queue,13,i: 1,137,609 msg/sec xenium::vyukov_bounded_queue,14,s: 752,452 msg/sec xenium::vyukov_bounded_queue,14,i: 1,026,308 msg/sec AtomicQueue, 1,s: 15,606,998 msg/sec AtomicQueue, 1,i: 16,222,081 msg/sec AtomicQueue, 2,s: 3,733,135 msg/sec AtomicQueue, 2,i: 4,091,669 msg/sec AtomicQueue, 3,s: 2,866,661 msg/sec AtomicQueue, 3,i: 2,715,366 msg/sec AtomicQueue, 4,s: 2,284,323 msg/sec AtomicQueue, 4,i: 2,557,784 msg/sec AtomicQueue, 5,s: 2,121,411 msg/sec AtomicQueue, 5,i: 2,195,560 msg/sec AtomicQueue, 6,s: 1,800,361 msg/sec AtomicQueue, 6,i: 1,981,894 msg/sec AtomicQueue, 7,s: 1,710,397 msg/sec AtomicQueue, 7,i: 1,776,936 msg/sec AtomicQueue, 8,s: 696,635 msg/sec AtomicQueue, 8,i: 1,678,837 msg/sec AtomicQueue, 9,s: 457,147 msg/sec AtomicQueue, 9,i: 1,327,042 msg/sec AtomicQueue,10,s: 787,441 msg/sec AtomicQueue,10,i: 1,321,361 msg/sec AtomicQueue,11,s: 596,374 msg/sec AtomicQueue,11,i: 1,109,103 msg/sec AtomicQueue,12,s: 510,414 msg/sec AtomicQueue,12,i: 1,190,400 msg/sec AtomicQueue,13,s: 793,645 msg/sec AtomicQueue,13,i: 909,845 msg/sec AtomicQueue,14,s: 498,739 msg/sec AtomicQueue,14,i: 525,522 msg/sec AtomicQueueB, 1,s: 19,085,438 msg/sec AtomicQueueB, 1,i: 19,486,154 msg/sec AtomicQueueB, 2,s: 3,200,886 msg/sec AtomicQueueB, 2,i: 3,994,443 msg/sec AtomicQueueB, 3,s: 2,672,235 msg/sec AtomicQueueB, 3,i: 2,703,149 msg/sec AtomicQueueB, 4,s: 2,361,593 msg/sec AtomicQueueB, 4,i: 2,581,642 msg/sec AtomicQueueB, 5,s: 2,096,665 msg/sec AtomicQueueB, 5,i: 2,302,849 msg/sec AtomicQueueB, 6,s: 1,955,066 msg/sec AtomicQueueB, 6,i: 2,013,138 msg/sec AtomicQueueB, 7,s: 1,400,922 msg/sec AtomicQueueB, 7,i: 1,653,957 msg/sec AtomicQueueB, 8,s: 711,630 msg/sec AtomicQueueB, 8,i: 1,592,021 msg/sec AtomicQueueB, 9,s: 531,844 msg/sec AtomicQueueB, 9,i: 1,428,161 msg/sec AtomicQueueB,10,s: 529,053 msg/sec AtomicQueueB,10,i: 1,301,563 msg/sec AtomicQueueB,11,s: 778,956 msg/sec AtomicQueueB,11,i: 1,251,163 msg/sec AtomicQueueB,12,s: 702,455 msg/sec AtomicQueueB,12,i: 1,062,573 msg/sec AtomicQueueB,13,s: 502,972 msg/sec AtomicQueueB,13,i: 531,032 msg/sec AtomicQueueB,14,s: 508,819 msg/sec AtomicQueueB,14,i: 505,765 msg/sec OptimistAtomicQueue, 1,s: 248,662,197 msg/sec OptimistAtomicQueue, 1,i: 69,726,931 msg/sec OptimistAtomicQueue, 2,s: 10,054,746 msg/sec OptimistAtomicQueue, 2,i: 11,030,163 msg/sec OptimistAtomicQueue, 3,s: 10,436,888 msg/sec OptimistAtomicQueue, 3,i: 11,502,284 msg/sec OptimistAtomicQueue, 4,s: 12,089,110 msg/sec OptimistAtomicQueue, 4,i: 12,428,156 msg/sec OptimistAtomicQueue, 5,s: 12,130,671 msg/sec OptimistAtomicQueue, 5,i: 13,211,478 msg/sec OptimistAtomicQueue, 6,s: 13,325,876 msg/sec OptimistAtomicQueue, 6,i: 13,292,593 msg/sec OptimistAtomicQueue, 7,s: 13,604,308 msg/sec OptimistAtomicQueue, 7,i: 13,809,601 msg/sec OptimistAtomicQueue, 8,s: 9,797,230 msg/sec OptimistAtomicQueue, 8,i: 11,703,146 msg/sec OptimistAtomicQueue, 9,s: 9,133,481 msg/sec OptimistAtomicQueue, 9,i: 9,650,228 msg/sec OptimistAtomicQueue,10,s: 8,631,640 msg/sec OptimistAtomicQueue,10,i: 11,154,721 msg/sec OptimistAtomicQueue,11,s: 8,599,063 msg/sec OptimistAtomicQueue,11,i: 10,393,557 msg/sec OptimistAtomicQueue,12,s: 8,548,388 msg/sec OptimistAtomicQueue,12,i: 10,476,045 msg/sec OptimistAtomicQueue,13,s: 8,668,353 msg/sec OptimistAtomicQueue,13,i: 10,657,604 msg/sec OptimistAtomicQueue,14,s: 8,766,812 msg/sec OptimistAtomicQueue,14,i: 11,226,533 msg/sec OptimistAtomicQueueB, 1,s: 28,889,427 msg/sec OptimistAtomicQueueB, 1,i: 29,632,560 msg/sec OptimistAtomicQueueB, 2,s: 12,161,090 msg/sec OptimistAtomicQueueB, 2,i: 11,560,867 msg/sec OptimistAtomicQueueB, 3,s: 13,314,972 msg/sec OptimistAtomicQueueB, 3,i: 13,730,964 msg/sec OptimistAtomicQueueB, 4,s: 11,993,408 msg/sec OptimistAtomicQueueB, 4,i: 13,086,790 msg/sec OptimistAtomicQueueB, 5,s: 13,285,693 msg/sec OptimistAtomicQueueB, 5,i: 10,426,357 msg/sec OptimistAtomicQueueB, 6,s: 10,385,349 msg/sec OptimistAtomicQueueB, 6,i: 13,430,828 msg/sec OptimistAtomicQueueB, 7,s: 12,960,470 msg/sec OptimistAtomicQueueB, 7,i: 10,260,978 msg/sec OptimistAtomicQueueB, 8,s: 9,760,481 msg/sec OptimistAtomicQueueB, 8,i: 11,320,787 msg/sec OptimistAtomicQueueB, 9,s: 9,305,597 msg/sec OptimistAtomicQueueB, 9,i: 10,151,635 msg/sec OptimistAtomicQueueB,10,s: 8,570,408 msg/sec OptimistAtomicQueueB,10,i: 10,001,357 msg/sec OptimistAtomicQueueB,11,s: 8,595,874 msg/sec OptimistAtomicQueueB,11,i: 10,770,162 msg/sec OptimistAtomicQueueB,12,s: 8,762,454 msg/sec OptimistAtomicQueueB,12,i: 11,237,557 msg/sec OptimistAtomicQueueB,13,s: 8,864,029 msg/sec OptimistAtomicQueueB,13,i: 11,194,790 msg/sec OptimistAtomicQueueB,14,s: 8,866,289 msg/sec OptimistAtomicQueueB,14,i: 11,199,016 msg/sec AtomicQueue2, 1,s: 11,143,697 msg/sec AtomicQueue2, 1,i: 11,180,045 msg/sec AtomicQueue2, 2,s: 4,784,885 msg/sec AtomicQueue2, 2,i: 4,782,635 msg/sec AtomicQueue2, 3,s: 2,623,778 msg/sec AtomicQueue2, 3,i: 2,929,129 msg/sec AtomicQueue2, 4,s: 2,241,247 msg/sec AtomicQueue2, 4,i: 2,407,828 msg/sec AtomicQueue2, 5,s: 2,255,097 msg/sec AtomicQueue2, 5,i: 2,220,399 msg/sec AtomicQueue2, 6,s: 1,893,611 msg/sec AtomicQueue2, 6,i: 1,942,243 msg/sec AtomicQueue2, 7,s: 1,758,896 msg/sec AtomicQueue2, 7,i: 1,636,794 msg/sec AtomicQueue2, 8,s: 566,269 msg/sec AtomicQueue2, 8,i: 1,583,337 msg/sec AtomicQueue2, 9,s: 558,627 msg/sec AtomicQueue2, 9,i: 1,408,414 msg/sec AtomicQueue2,10,s: 606,154 msg/sec AtomicQueue2,10,i: 1,212,134 msg/sec AtomicQueue2,11,s: 822,117 msg/sec AtomicQueue2,11,i: 1,157,882 msg/sec AtomicQueue2,12,s: 742,772 msg/sec AtomicQueue2,12,i: 1,018,020 msg/sec AtomicQueue2,13,s: 500,986 msg/sec AtomicQueue2,13,i: 525,220 msg/sec AtomicQueue2,14,s: 694,303 msg/sec AtomicQueue2,14,i: 516,779 msg/sec AtomicQueueB2, 1,s: 9,569,124 msg/sec AtomicQueueB2, 1,i: 9,492,397 msg/sec AtomicQueueB2, 2,s: 2,936,679 msg/sec AtomicQueueB2, 2,i: 3,832,939 msg/sec AtomicQueueB2, 3,s: 2,792,564 msg/sec AtomicQueueB2, 3,i: 2,622,741 msg/sec AtomicQueueB2, 4,s: 2,446,238 msg/sec AtomicQueueB2, 4,i: 2,699,057 msg/sec AtomicQueueB2, 5,s: 2,107,821 msg/sec AtomicQueueB2, 5,i: 2,125,383 msg/sec AtomicQueueB2, 6,s: 1,958,099 msg/sec AtomicQueueB2, 6,i: 1,895,252 msg/sec AtomicQueueB2, 7,s: 1,791,144 msg/sec AtomicQueueB2, 7,i: 1,747,366 msg/sec AtomicQueueB2, 8,s: 500,367 msg/sec AtomicQueueB2, 8,i: 1,422,592 msg/sec AtomicQueueB2, 9,s: 569,344 msg/sec AtomicQueueB2, 9,i: 1,566,955 msg/sec AtomicQueueB2,10,s: 839,907 msg/sec AtomicQueueB2,10,i: 1,439,308 msg/sec AtomicQueueB2,11,s: 533,817 msg/sec AtomicQueueB2,11,i: 1,100,198 msg/sec AtomicQueueB2,12,s: 752,594 msg/sec AtomicQueueB2,12,i: 499,226 msg/sec AtomicQueueB2,13,s: 503,319 msg/sec AtomicQueueB2,13,i: 814,134 msg/sec AtomicQueueB2,14,s: 882,437 msg/sec AtomicQueueB2,14,i: 519,462 msg/sec OptimistAtomicQueue2, 1,s: 114,531,915 msg/sec OptimistAtomicQueue2, 1,i: 166,577,270 msg/sec OptimistAtomicQueue2, 2,s: 8,167,125 msg/sec OptimistAtomicQueue2, 2,i: 7,225,563 msg/sec OptimistAtomicQueue2, 3,s: 7,489,692 msg/sec OptimistAtomicQueue2, 3,i: 8,058,326 msg/sec OptimistAtomicQueue2, 4,s: 7,971,689 msg/sec OptimistAtomicQueue2, 4,i: 8,593,542 msg/sec OptimistAtomicQueue2, 5,s: 8,585,460 msg/sec OptimistAtomicQueue2, 5,i: 8,654,431 msg/sec OptimistAtomicQueue2, 6,s: 10,408,708 msg/sec OptimistAtomicQueue2, 6,i: 12,963,454 msg/sec OptimistAtomicQueue2, 7,s: 12,889,373 msg/sec OptimistAtomicQueue2, 7,i: 13,274,985 msg/sec OptimistAtomicQueue2, 8,s: 9,880,868 msg/sec OptimistAtomicQueue2, 8,i: 10,300,841 msg/sec OptimistAtomicQueue2, 9,s: 8,965,499 msg/sec OptimistAtomicQueue2, 9,i: 9,579,305 msg/sec OptimistAtomicQueue2,10,s: 8,484,912 msg/sec OptimistAtomicQueue2,10,i: 10,295,681 msg/sec OptimistAtomicQueue2,11,s: 7,916,378 msg/sec OptimistAtomicQueue2,11,i: 10,310,608 msg/sec OptimistAtomicQueue2,12,s: 8,295,352 msg/sec OptimistAtomicQueue2,12,i: 10,443,951 msg/sec OptimistAtomicQueue2,13,s: 8,597,510 msg/sec OptimistAtomicQueue2,13,i: 10,929,540 msg/sec OptimistAtomicQueue2,14,s: 9,051,236 msg/sec OptimistAtomicQueue2,14,i: 11,593,058 msg/sec OptimistAtomicQueueB2, 1,s: 20,932,174 msg/sec OptimistAtomicQueueB2, 1,i: 19,496,440 msg/sec OptimistAtomicQueueB2, 2,s: 10,414,769 msg/sec OptimistAtomicQueueB2, 2,i: 9,007,319 msg/sec OptimistAtomicQueueB2, 3,s: 10,721,628 msg/sec OptimistAtomicQueueB2, 3,i: 11,097,102 msg/sec OptimistAtomicQueueB2, 4,s: 11,295,847 msg/sec OptimistAtomicQueueB2, 4,i: 12,008,926 msg/sec OptimistAtomicQueueB2, 5,s: 10,683,591 msg/sec OptimistAtomicQueueB2, 5,i: 11,752,420 msg/sec OptimistAtomicQueueB2, 6,s: 11,118,396 msg/sec OptimistAtomicQueueB2, 6,i: 9,550,391 msg/sec OptimistAtomicQueueB2, 7,s: 12,562,290 msg/sec OptimistAtomicQueueB2, 7,i: 13,201,806 msg/sec OptimistAtomicQueueB2, 8,s: 9,414,891 msg/sec OptimistAtomicQueueB2, 8,i: 10,587,928 msg/sec OptimistAtomicQueueB2, 9,s: 8,634,618 msg/sec OptimistAtomicQueueB2, 9,i: 9,193,780 msg/sec OptimistAtomicQueueB2,10,s: 8,141,137 msg/sec OptimistAtomicQueueB2,10,i: 10,688,023 msg/sec OptimistAtomicQueueB2,11,s: 7,928,515 msg/sec OptimistAtomicQueueB2,11,i: 9,947,466 msg/sec OptimistAtomicQueueB2,12,s: 7,965,233 msg/sec OptimistAtomicQueueB2,12,i: 10,232,719 msg/sec OptimistAtomicQueueB2,13,s: 8,301,551 msg/sec OptimistAtomicQueueB2,13,i: 9,541,107 msg/sec OptimistAtomicQueueB2,14,s: 8,660,766 msg/sec OptimistAtomicQueueB2,14,i: 10,382,371 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000353 sec/round-trip boost::lockfree::queue: 0.000000755 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000207 sec/round-trip moodycamel::ConcurrentQueue: 0.000000461 sec/round-trip pthread_spinlock: 0.000000811 sec/round-trip std::mutex: 0.000002483 sec/round-trip tbb::spin_mutex: 0.000000745 sec/round-trip tbb::concurrent_bounded_queue: 0.000000589 sec/round-trip xenium::michael_scott_queue: 0.000000747 sec/round-trip xenium::ramalhete_queue: 0.000000506 sec/round-trip xenium::vyukov_bounded_queue: 0.000000473 sec/round-trip AtomicQueue: 0.000000310 sec/round-trip AtomicQueueB: 0.000000392 sec/round-trip OptimistAtomicQueue: 0.000000360 sec/round-trip OptimistAtomicQueueB: 0.000000338 sec/round-trip AtomicQueue2: 0.000000376 sec/round-trip AtomicQueueB2: 0.000000432 sec/round-trip OptimistAtomicQueue2: 0.000000383 sec/round-trip OptimistAtomicQueueB2: 0.000000354 sec/round-trip [26/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 24,015,959 msg/sec boost::lockfree::spsc_queue, 1,i: 28,152,548 msg/sec boost::lockfree::queue, 1,s: 3,076,630 msg/sec boost::lockfree::queue, 1,i: 2,890,761 msg/sec boost::lockfree::queue, 2,s: 2,250,232 msg/sec boost::lockfree::queue, 2,i: 2,418,133 msg/sec boost::lockfree::queue, 3,s: 1,766,944 msg/sec boost::lockfree::queue, 3,i: 1,910,235 msg/sec boost::lockfree::queue, 4,s: 2,241,421 msg/sec boost::lockfree::queue, 4,i: 2,211,162 msg/sec boost::lockfree::queue, 5,s: 2,174,659 msg/sec boost::lockfree::queue, 5,i: 2,191,907 msg/sec boost::lockfree::queue, 6,s: 2,024,426 msg/sec boost::lockfree::queue, 6,i: 2,093,538 msg/sec boost::lockfree::queue, 7,s: 1,787,147 msg/sec boost::lockfree::queue, 7,i: 1,861,444 msg/sec boost::lockfree::queue, 8,s: 516,770 msg/sec boost::lockfree::queue, 8,i: 1,345,940 msg/sec boost::lockfree::queue, 9,s: 738,126 msg/sec boost::lockfree::queue, 9,i: 1,111,352 msg/sec boost::lockfree::queue,10,s: 569,889 msg/sec boost::lockfree::queue,10,i: 518,867 msg/sec boost::lockfree::queue,11,s: 498,387 msg/sec boost::lockfree::queue,11,i: 544,142 msg/sec boost::lockfree::queue,12,s: 501,895 msg/sec boost::lockfree::queue,12,i: 550,895 msg/sec boost::lockfree::queue,13,s: 567,514 msg/sec boost::lockfree::queue,13,i: 526,531 msg/sec boost::lockfree::queue,14,s: 501,397 msg/sec boost::lockfree::queue,14,i: 551,146 msg/sec moodycamel::ReaderWriterQueue, 1,s: 23,372,824 msg/sec moodycamel::ReaderWriterQueue, 1,i: 36,641,521 msg/sec moodycamel::ConcurrentQueue, 1,s: 7,781,730 msg/sec moodycamel::ConcurrentQueue, 1,i: 8,211,943 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,508,430 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,617,291 msg/sec moodycamel::ConcurrentQueue, 3,s: 4,458,713 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,929,599 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,659,559 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,984,381 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,871,219 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,709,143 msg/sec moodycamel::ConcurrentQueue, 6,s: 10,141,606 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,488,182 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,376,888 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,686,566 msg/sec moodycamel::ConcurrentQueue, 8,s: 14,366,772 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,708,520 msg/sec moodycamel::ConcurrentQueue, 9,s: 4,479,809 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,517,546 msg/sec moodycamel::ConcurrentQueue,10,s: 7,941,170 msg/sec moodycamel::ConcurrentQueue,10,i: 5,339,838 msg/sec moodycamel::ConcurrentQueue,11,s: 4,755,663 msg/sec moodycamel::ConcurrentQueue,11,i: 5,478,187 msg/sec moodycamel::ConcurrentQueue,12,s: 27,300,920 msg/sec moodycamel::ConcurrentQueue,12,i: 17,382,519 msg/sec moodycamel::ConcurrentQueue,13,s: 5,202,943 msg/sec moodycamel::ConcurrentQueue,13,i: 5,676,705 msg/sec moodycamel::ConcurrentQueue,14,s: 6,573,163 msg/sec moodycamel::ConcurrentQueue,14,i: 12,221,990 msg/sec pthread_spinlock, 1,s: 5,696,434 msg/sec pthread_spinlock, 1,i: 5,706,233 msg/sec pthread_spinlock, 2,s: 2,902,836 msg/sec pthread_spinlock, 2,i: 3,789,936 msg/sec pthread_spinlock, 3,s: 3,237,981 msg/sec pthread_spinlock, 3,i: 3,171,087 msg/sec pthread_spinlock, 4,s: 2,623,785 msg/sec pthread_spinlock, 4,i: 2,408,170 msg/sec pthread_spinlock, 5,s: 2,541,167 msg/sec pthread_spinlock, 5,i: 2,446,829 msg/sec pthread_spinlock, 6,s: 2,043,623 msg/sec pthread_spinlock, 6,i: 1,883,035 msg/sec pthread_spinlock, 7,s: 1,664,293 msg/sec pthread_spinlock, 7,i: 1,677,980 msg/sec pthread_spinlock, 8,s: 1,007,255 msg/sec pthread_spinlock, 8,i: 894,377 msg/sec pthread_spinlock, 9,s: 521,656 msg/sec pthread_spinlock, 9,i: 995,535 msg/sec pthread_spinlock,10,s: 522,638 msg/sec pthread_spinlock,10,i: 546,929 msg/sec pthread_spinlock,11,s: 514,942 msg/sec pthread_spinlock,11,i: 537,727 msg/sec pthread_spinlock,12,s: 576,778 msg/sec pthread_spinlock,12,i: 771,105 msg/sec pthread_spinlock,13,s: 558,557 msg/sec pthread_spinlock,13,i: 732,509 msg/sec pthread_spinlock,14,s: 538,476 msg/sec pthread_spinlock,14,i: 746,568 msg/sec std::mutex, 1,s: 4,147,220 msg/sec std::mutex, 1,i: 6,206,520 msg/sec std::mutex, 2,s: 4,391,276 msg/sec std::mutex, 2,i: 4,270,823 msg/sec std::mutex, 3,s: 3,137,765 msg/sec std::mutex, 3,i: 3,011,234 msg/sec std::mutex, 4,s: 2,962,264 msg/sec std::mutex, 4,i: 2,845,878 msg/sec std::mutex, 5,s: 3,534,496 msg/sec std::mutex, 5,i: 3,573,677 msg/sec std::mutex, 6,s: 4,607,869 msg/sec std::mutex, 6,i: 4,614,731 msg/sec std::mutex, 7,s: 6,084,882 msg/sec std::mutex, 7,i: 6,123,645 msg/sec std::mutex, 8,s: 6,577,040 msg/sec std::mutex, 8,i: 5,966,252 msg/sec std::mutex, 9,s: 5,781,766 msg/sec std::mutex, 9,i: 4,961,866 msg/sec std::mutex,10,s: 5,343,055 msg/sec std::mutex,10,i: 4,872,792 msg/sec std::mutex,11,s: 4,983,393 msg/sec std::mutex,11,i: 4,860,808 msg/sec std::mutex,12,s: 4,825,800 msg/sec std::mutex,12,i: 4,801,029 msg/sec std::mutex,13,s: 4,738,902 msg/sec std::mutex,13,i: 4,992,741 msg/sec std::mutex,14,s: 4,603,704 msg/sec std::mutex,14,i: 4,974,831 msg/sec tbb::spin_mutex, 1,s: 24,101,203 msg/sec tbb::spin_mutex, 1,i: 24,146,649 msg/sec tbb::spin_mutex, 2,s: 12,718,006 msg/sec tbb::spin_mutex, 2,i: 13,038,046 msg/sec tbb::spin_mutex, 3,s: 10,474,300 msg/sec tbb::spin_mutex, 3,i: 9,523,340 msg/sec tbb::spin_mutex, 4,s: 6,352,528 msg/sec tbb::spin_mutex, 4,i: 6,310,412 msg/sec tbb::spin_mutex, 5,s: 4,043,020 msg/sec tbb::spin_mutex, 5,i: 4,869,506 msg/sec tbb::spin_mutex, 6,s: 2,582,260 msg/sec tbb::spin_mutex, 6,i: 3,471,016 msg/sec tbb::spin_mutex, 7,s: 2,343,807 msg/sec tbb::spin_mutex, 7,i: 2,382,800 msg/sec tbb::spin_mutex, 8,s: 1,355,338 msg/sec tbb::spin_mutex, 8,i: 1,078,008 msg/sec tbb::spin_mutex, 9,s: 781,949 msg/sec tbb::spin_mutex, 9,i: 879,311 msg/sec tbb::spin_mutex,10,s: 666,693 msg/sec tbb::spin_mutex,10,i: 615,394 msg/sec tbb::spin_mutex,11,s: 614,045 msg/sec tbb::spin_mutex,11,i: 675,938 msg/sec tbb::spin_mutex,12,s: 511,689 msg/sec tbb::spin_mutex,12,i: 522,672 msg/sec tbb::spin_mutex,13,s: 472,097 msg/sec tbb::spin_mutex,13,i: 479,270 msg/sec tbb::spin_mutex,14,s: 384,494 msg/sec tbb::spin_mutex,14,i: 531,239 msg/sec tbb::concurrent_bounded_queue, 1,s: 2,741,938 msg/sec tbb::concurrent_bounded_queue, 1,i: 3,208,596 msg/sec tbb::concurrent_bounded_queue, 2,s: 3,847,197 msg/sec tbb::concurrent_bounded_queue, 2,i: 3,889,270 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,590,684 msg/sec tbb::concurrent_bounded_queue, 3,i: 3,534,420 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,008,191 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,095,720 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,600,081 msg/sec tbb::concurrent_bounded_queue, 5,i: 2,827,760 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,534,367 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,772,784 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,465,922 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,370,692 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,146,400 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,211,735 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,077,390 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,076,988 msg/sec tbb::concurrent_bounded_queue,10,s: 1,060,959 msg/sec tbb::concurrent_bounded_queue,10,i: 1,394,527 msg/sec tbb::concurrent_bounded_queue,11,s: 1,015,368 msg/sec tbb::concurrent_bounded_queue,11,i: 1,567,105 msg/sec tbb::concurrent_bounded_queue,12,s: 1,028,463 msg/sec tbb::concurrent_bounded_queue,12,i: 1,385,112 msg/sec tbb::concurrent_bounded_queue,13,s: 1,015,085 msg/sec tbb::concurrent_bounded_queue,13,i: 1,151,995 msg/sec tbb::concurrent_bounded_queue,14,s: 1,055,539 msg/sec tbb::concurrent_bounded_queue,14,i: 1,032,998 msg/sec xenium::michael_scott_queue, 1,s: 4,910,235 msg/sec xenium::michael_scott_queue, 1,i: 4,922,580 msg/sec xenium::michael_scott_queue, 2,s: 3,479,445 msg/sec xenium::michael_scott_queue, 2,i: 3,073,297 msg/sec xenium::michael_scott_queue, 3,s: 2,228,932 msg/sec xenium::michael_scott_queue, 3,i: 2,352,133 msg/sec xenium::michael_scott_queue, 4,s: 2,019,237 msg/sec xenium::michael_scott_queue, 4,i: 2,060,680 msg/sec xenium::michael_scott_queue, 5,s: 1,794,320 msg/sec xenium::michael_scott_queue, 5,i: 1,995,817 msg/sec xenium::michael_scott_queue, 6,s: 1,830,527 msg/sec xenium::michael_scott_queue, 6,i: 1,880,312 msg/sec xenium::michael_scott_queue, 7,s: 1,682,920 msg/sec xenium::michael_scott_queue, 7,i: 1,670,801 msg/sec xenium::michael_scott_queue, 8,s: 1,157,603 msg/sec xenium::michael_scott_queue, 8,i: 1,331,212 msg/sec xenium::michael_scott_queue, 9,s: 878,564 msg/sec xenium::michael_scott_queue, 9,i: 1,218,503 msg/sec xenium::michael_scott_queue,10,s: 745,544 msg/sec xenium::michael_scott_queue,10,i: 505,620 msg/sec xenium::michael_scott_queue,11,s: 547,181 msg/sec xenium::michael_scott_queue,11,i: 505,887 msg/sec xenium::michael_scott_queue,12,s: 507,788 msg/sec xenium::michael_scott_queue,12,i: 507,555 msg/sec xenium::michael_scott_queue,13,s: 528,815 msg/sec xenium::michael_scott_queue,13,i: 506,976 msg/sec xenium::michael_scott_queue,14,s: 513,306 msg/sec xenium::michael_scott_queue,14,i: 549,410 msg/sec xenium::ramalhete_queue, 1,s: 15,402,205 msg/sec xenium::ramalhete_queue, 1,i: 15,420,800 msg/sec xenium::ramalhete_queue, 2,s: 5,991,310 msg/sec xenium::ramalhete_queue, 2,i: 6,793,089 msg/sec xenium::ramalhete_queue, 3,s: 6,786,606 msg/sec xenium::ramalhete_queue, 3,i: 7,604,292 msg/sec xenium::ramalhete_queue, 4,s: 7,529,049 msg/sec xenium::ramalhete_queue, 4,i: 7,457,836 msg/sec xenium::ramalhete_queue, 5,s: 8,172,567 msg/sec xenium::ramalhete_queue, 5,i: 8,218,460 msg/sec xenium::ramalhete_queue, 6,s: 8,487,350 msg/sec xenium::ramalhete_queue, 6,i: 11,625,041 msg/sec xenium::ramalhete_queue, 7,s: 10,487,598 msg/sec xenium::ramalhete_queue, 7,i: 8,396,315 msg/sec xenium::ramalhete_queue, 8,s: 6,987,745 msg/sec xenium::ramalhete_queue, 8,i: 8,148,434 msg/sec xenium::ramalhete_queue, 9,s: 8,268,604 msg/sec xenium::ramalhete_queue, 9,i: 8,338,022 msg/sec xenium::ramalhete_queue,10,s: 8,392,111 msg/sec xenium::ramalhete_queue,10,i: 8,093,464 msg/sec xenium::ramalhete_queue,11,s: 7,983,964 msg/sec xenium::ramalhete_queue,11,i: 7,793,851 msg/sec xenium::ramalhete_queue,12,s: 7,842,082 msg/sec xenium::ramalhete_queue,12,i: 7,669,745 msg/sec xenium::ramalhete_queue,13,s: 8,737,535 msg/sec xenium::ramalhete_queue,13,i: 8,418,526 msg/sec xenium::ramalhete_queue,14,s: 10,678,035 msg/sec xenium::ramalhete_queue,14,i: 8,786,562 msg/sec xenium::vyukov_bounded_queue, 1,s: 57,377,704 msg/sec xenium::vyukov_bounded_queue, 1,i: 56,833,801 msg/sec xenium::vyukov_bounded_queue, 2,s: 4,230,786 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,026,211 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,496,356 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,652,216 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,734,438 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,346,643 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,546,196 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,644,466 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,181,214 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,322,498 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,108,311 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,174,207 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,331,885 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,723,442 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,210,278 msg/sec xenium::vyukov_bounded_queue, 9,i: 2,120,945 msg/sec xenium::vyukov_bounded_queue,10,s: 1,042,704 msg/sec xenium::vyukov_bounded_queue,10,i: 1,465,629 msg/sec xenium::vyukov_bounded_queue,11,s: 1,006,180 msg/sec xenium::vyukov_bounded_queue,11,i: 1,329,160 msg/sec xenium::vyukov_bounded_queue,12,s: 625,859 msg/sec xenium::vyukov_bounded_queue,12,i: 1,153,603 msg/sec xenium::vyukov_bounded_queue,13,s: 764,632 msg/sec xenium::vyukov_bounded_queue,13,i: 1,041,079 msg/sec xenium::vyukov_bounded_queue,14,s: 524,728 msg/sec xenium::vyukov_bounded_queue,14,i: 1,120,263 msg/sec AtomicQueue, 1,s: 19,380,973 msg/sec AtomicQueue, 1,i: 19,975,675 msg/sec AtomicQueue, 2,s: 4,252,806 msg/sec AtomicQueue, 2,i: 4,245,969 msg/sec AtomicQueue, 3,s: 2,667,174 msg/sec AtomicQueue, 3,i: 2,694,117 msg/sec AtomicQueue, 4,s: 2,335,820 msg/sec AtomicQueue, 4,i: 2,481,836 msg/sec AtomicQueue, 5,s: 2,195,294 msg/sec AtomicQueue, 5,i: 2,166,187 msg/sec AtomicQueue, 6,s: 1,957,257 msg/sec AtomicQueue, 6,i: 1,981,855 msg/sec AtomicQueue, 7,s: 1,717,982 msg/sec AtomicQueue, 7,i: 1,654,904 msg/sec AtomicQueue, 8,s: 499,239 msg/sec AtomicQueue, 8,i: 1,720,083 msg/sec AtomicQueue, 9,s: 531,649 msg/sec AtomicQueue, 9,i: 1,472,801 msg/sec AtomicQueue,10,s: 752,292 msg/sec AtomicQueue,10,i: 1,301,217 msg/sec AtomicQueue,11,s: 494,283 msg/sec AtomicQueue,11,i: 1,086,178 msg/sec AtomicQueue,12,s: 517,488 msg/sec AtomicQueue,12,i: 541,843 msg/sec AtomicQueue,13,s: 527,028 msg/sec AtomicQueue,13,i: 512,738 msg/sec AtomicQueue,14,s: 492,487 msg/sec AtomicQueue,14,i: 545,091 msg/sec AtomicQueueB, 1,s: 11,912,893 msg/sec AtomicQueueB, 1,i: 11,591,966 msg/sec AtomicQueueB, 2,s: 3,318,486 msg/sec AtomicQueueB, 2,i: 3,348,730 msg/sec AtomicQueueB, 3,s: 2,631,714 msg/sec AtomicQueueB, 3,i: 2,934,408 msg/sec AtomicQueueB, 4,s: 2,258,210 msg/sec AtomicQueueB, 4,i: 2,302,538 msg/sec AtomicQueueB, 5,s: 2,125,580 msg/sec AtomicQueueB, 5,i: 2,218,335 msg/sec AtomicQueueB, 6,s: 1,919,295 msg/sec AtomicQueueB, 6,i: 1,828,968 msg/sec AtomicQueueB, 7,s: 1,552,423 msg/sec AtomicQueueB, 7,i: 1,841,153 msg/sec AtomicQueueB, 8,s: 718,598 msg/sec AtomicQueueB, 8,i: 1,554,824 msg/sec AtomicQueueB, 9,s: 519,001 msg/sec AtomicQueueB, 9,i: 1,581,164 msg/sec AtomicQueueB,10,s: 542,195 msg/sec AtomicQueueB,10,i: 1,433,221 msg/sec AtomicQueueB,11,s: 521,644 msg/sec AtomicQueueB,11,i: 1,149,804 msg/sec AtomicQueueB,12,s: 510,465 msg/sec AtomicQueueB,12,i: 536,958 msg/sec AtomicQueueB,13,s: 530,362 msg/sec AtomicQueueB,13,i: 563,488 msg/sec AtomicQueueB,14,s: 543,272 msg/sec AtomicQueueB,14,i: 497,728 msg/sec OptimistAtomicQueue, 1,s: 174,129,826 msg/sec OptimistAtomicQueue, 1,i: 84,930,960 msg/sec OptimistAtomicQueue, 2,s: 7,254,616 msg/sec OptimistAtomicQueue, 2,i: 7,547,256 msg/sec OptimistAtomicQueue, 3,s: 8,766,151 msg/sec OptimistAtomicQueue, 3,i: 11,219,809 msg/sec OptimistAtomicQueue, 4,s: 11,997,338 msg/sec OptimistAtomicQueue, 4,i: 11,108,544 msg/sec OptimistAtomicQueue, 5,s: 9,372,643 msg/sec OptimistAtomicQueue, 5,i: 9,545,644 msg/sec OptimistAtomicQueue, 6,s: 9,446,462 msg/sec OptimistAtomicQueue, 6,i: 13,714,949 msg/sec OptimistAtomicQueue, 7,s: 14,139,527 msg/sec OptimistAtomicQueue, 7,i: 13,964,245 msg/sec OptimistAtomicQueue, 8,s: 9,423,620 msg/sec OptimistAtomicQueue, 8,i: 9,317,090 msg/sec OptimistAtomicQueue, 9,s: 8,369,137 msg/sec OptimistAtomicQueue, 9,i: 11,279,994 msg/sec OptimistAtomicQueue,10,s: 8,098,335 msg/sec OptimistAtomicQueue,10,i: 10,149,579 msg/sec OptimistAtomicQueue,11,s: 8,111,926 msg/sec OptimistAtomicQueue,11,i: 11,642,631 msg/sec OptimistAtomicQueue,12,s: 8,017,594 msg/sec OptimistAtomicQueue,12,i: 9,920,145 msg/sec OptimistAtomicQueue,13,s: 8,236,658 msg/sec OptimistAtomicQueue,13,i: 10,550,143 msg/sec OptimistAtomicQueue,14,s: 8,455,286 msg/sec OptimistAtomicQueue,14,i: 11,117,837 msg/sec OptimistAtomicQueueB, 1,s: 41,644,997 msg/sec OptimistAtomicQueueB, 1,i: 41,652,686 msg/sec OptimistAtomicQueueB, 2,s: 11,397,770 msg/sec OptimistAtomicQueueB, 2,i: 12,405,346 msg/sec OptimistAtomicQueueB, 3,s: 12,720,231 msg/sec OptimistAtomicQueueB, 3,i: 12,468,092 msg/sec OptimistAtomicQueueB, 4,s: 12,667,380 msg/sec OptimistAtomicQueueB, 4,i: 12,391,164 msg/sec OptimistAtomicQueueB, 5,s: 12,524,012 msg/sec OptimistAtomicQueueB, 5,i: 13,151,556 msg/sec OptimistAtomicQueueB, 6,s: 12,916,478 msg/sec OptimistAtomicQueueB, 6,i: 13,708,490 msg/sec OptimistAtomicQueueB, 7,s: 13,523,982 msg/sec OptimistAtomicQueueB, 7,i: 13,982,584 msg/sec OptimistAtomicQueueB, 8,s: 9,666,945 msg/sec OptimistAtomicQueueB, 8,i: 11,677,713 msg/sec OptimistAtomicQueueB, 9,s: 8,378,218 msg/sec OptimistAtomicQueueB, 9,i: 10,110,891 msg/sec OptimistAtomicQueueB,10,s: 8,060,682 msg/sec OptimistAtomicQueueB,10,i: 9,764,119 msg/sec OptimistAtomicQueueB,11,s: 7,986,686 msg/sec OptimistAtomicQueueB,11,i: 10,283,612 msg/sec OptimistAtomicQueueB,12,s: 8,075,698 msg/sec OptimistAtomicQueueB,12,i: 10,447,841 msg/sec OptimistAtomicQueueB,13,s: 8,133,521 msg/sec OptimistAtomicQueueB,13,i: 10,740,277 msg/sec OptimistAtomicQueueB,14,s: 8,617,115 msg/sec OptimistAtomicQueueB,14,i: 10,828,514 msg/sec AtomicQueue2, 1,s: 9,980,914 msg/sec AtomicQueue2, 1,i: 9,454,361 msg/sec AtomicQueue2, 2,s: 4,517,216 msg/sec AtomicQueue2, 2,i: 4,168,593 msg/sec AtomicQueue2, 3,s: 2,702,167 msg/sec AtomicQueue2, 3,i: 2,941,048 msg/sec AtomicQueue2, 4,s: 2,237,278 msg/sec AtomicQueue2, 4,i: 2,783,088 msg/sec AtomicQueue2, 5,s: 2,151,963 msg/sec AtomicQueue2, 5,i: 2,162,513 msg/sec AtomicQueue2, 6,s: 1,772,136 msg/sec AtomicQueue2, 6,i: 1,829,146 msg/sec AtomicQueue2, 7,s: 1,713,944 msg/sec AtomicQueue2, 7,i: 1,836,165 msg/sec AtomicQueue2, 8,s: 502,883 msg/sec AtomicQueue2, 8,i: 1,483,786 msg/sec AtomicQueue2, 9,s: 764,646 msg/sec AtomicQueue2, 9,i: 1,637,918 msg/sec AtomicQueue2,10,s: 560,476 msg/sec AtomicQueue2,10,i: 1,341,981 msg/sec AtomicQueue2,11,s: 714,576 msg/sec AtomicQueue2,11,i: 1,192,571 msg/sec AtomicQueue2,12,s: 768,688 msg/sec AtomicQueue2,12,i: 1,035,232 msg/sec AtomicQueue2,13,s: 515,074 msg/sec AtomicQueue2,13,i: 1,087,423 msg/sec AtomicQueue2,14,s: 547,932 msg/sec AtomicQueue2,14,i: 512,388 msg/sec AtomicQueueB2, 1,s: 11,868,840 msg/sec AtomicQueueB2, 1,i: 11,837,426 msg/sec AtomicQueueB2, 2,s: 3,041,657 msg/sec AtomicQueueB2, 2,i: 3,863,720 msg/sec AtomicQueueB2, 3,s: 2,830,531 msg/sec AtomicQueueB2, 3,i: 3,043,798 msg/sec AtomicQueueB2, 4,s: 2,692,341 msg/sec AtomicQueueB2, 4,i: 2,575,855 msg/sec AtomicQueueB2, 5,s: 2,052,192 msg/sec AtomicQueueB2, 5,i: 2,218,387 msg/sec AtomicQueueB2, 6,s: 1,896,567 msg/sec AtomicQueueB2, 6,i: 1,798,058 msg/sec AtomicQueueB2, 7,s: 1,679,602 msg/sec AtomicQueueB2, 7,i: 1,827,579 msg/sec AtomicQueueB2, 8,s: 531,372 msg/sec AtomicQueueB2, 8,i: 1,590,625 msg/sec AtomicQueueB2, 9,s: 531,684 msg/sec AtomicQueueB2, 9,i: 1,526,597 msg/sec AtomicQueueB2,10,s: 543,095 msg/sec AtomicQueueB2,10,i: 1,318,704 msg/sec AtomicQueueB2,11,s: 594,700 msg/sec AtomicQueueB2,11,i: 1,132,115 msg/sec AtomicQueueB2,12,s: 503,611 msg/sec AtomicQueueB2,12,i: 1,073,508 msg/sec AtomicQueueB2,13,s: 442,994 msg/sec AtomicQueueB2,13,i: 574,266 msg/sec AtomicQueueB2,14,s: 557,523 msg/sec AtomicQueueB2,14,i: 529,121 msg/sec OptimistAtomicQueue2, 1,s: 43,821,943 msg/sec OptimistAtomicQueue2, 1,i: 52,249,814 msg/sec OptimistAtomicQueue2, 2,s: 6,533,921 msg/sec OptimistAtomicQueue2, 2,i: 10,117,510 msg/sec OptimistAtomicQueue2, 3,s: 10,439,015 msg/sec OptimistAtomicQueue2, 3,i: 10,103,726 msg/sec OptimistAtomicQueue2, 4,s: 10,564,548 msg/sec OptimistAtomicQueue2, 4,i: 8,825,013 msg/sec OptimistAtomicQueue2, 5,s: 12,166,653 msg/sec OptimistAtomicQueue2, 5,i: 12,537,836 msg/sec OptimistAtomicQueue2, 6,s: 12,335,364 msg/sec OptimistAtomicQueue2, 6,i: 13,300,686 msg/sec OptimistAtomicQueue2, 7,s: 12,926,843 msg/sec OptimistAtomicQueue2, 7,i: 13,398,969 msg/sec OptimistAtomicQueue2, 8,s: 8,983,141 msg/sec OptimistAtomicQueue2, 8,i: 10,489,274 msg/sec OptimistAtomicQueue2, 9,s: 8,279,659 msg/sec OptimistAtomicQueue2, 9,i: 9,230,815 msg/sec OptimistAtomicQueue2,10,s: 7,794,689 msg/sec OptimistAtomicQueue2,10,i: 9,312,665 msg/sec OptimistAtomicQueue2,11,s: 7,560,539 msg/sec OptimistAtomicQueue2,11,i: 9,344,409 msg/sec OptimistAtomicQueue2,12,s: 7,868,788 msg/sec OptimistAtomicQueue2,12,i: 9,944,637 msg/sec OptimistAtomicQueue2,13,s: 7,996,347 msg/sec OptimistAtomicQueue2,13,i: 10,239,330 msg/sec OptimistAtomicQueue2,14,s: 8,396,245 msg/sec OptimistAtomicQueue2,14,i: 10,790,125 msg/sec OptimistAtomicQueueB2, 1,s: 20,029,636 msg/sec OptimistAtomicQueueB2, 1,i: 19,225,416 msg/sec OptimistAtomicQueueB2, 2,s: 10,882,600 msg/sec OptimistAtomicQueueB2, 2,i: 10,532,954 msg/sec OptimistAtomicQueueB2, 3,s: 11,828,571 msg/sec OptimistAtomicQueueB2, 3,i: 11,890,356 msg/sec OptimistAtomicQueueB2, 4,s: 11,818,139 msg/sec OptimistAtomicQueueB2, 4,i: 11,199,117 msg/sec OptimistAtomicQueueB2, 5,s: 12,193,588 msg/sec OptimistAtomicQueueB2, 5,i: 12,631,201 msg/sec OptimistAtomicQueueB2, 6,s: 12,589,104 msg/sec OptimistAtomicQueueB2, 6,i: 12,942,063 msg/sec OptimistAtomicQueueB2, 7,s: 13,261,805 msg/sec OptimistAtomicQueueB2, 7,i: 13,835,002 msg/sec OptimistAtomicQueueB2, 8,s: 8,549,491 msg/sec OptimistAtomicQueueB2, 8,i: 8,927,577 msg/sec OptimistAtomicQueueB2, 9,s: 7,706,103 msg/sec OptimistAtomicQueueB2, 9,i: 9,220,650 msg/sec OptimistAtomicQueueB2,10,s: 7,418,372 msg/sec OptimistAtomicQueueB2,10,i: 9,566,609 msg/sec OptimistAtomicQueueB2,11,s: 7,363,495 msg/sec OptimistAtomicQueueB2,11,i: 9,287,795 msg/sec OptimistAtomicQueueB2,12,s: 7,463,101 msg/sec OptimistAtomicQueueB2,12,i: 9,503,455 msg/sec OptimistAtomicQueueB2,13,s: 7,751,569 msg/sec OptimistAtomicQueueB2,13,i: 9,794,825 msg/sec OptimistAtomicQueueB2,14,s: 8,163,274 msg/sec OptimistAtomicQueueB2,14,i: 10,010,922 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000319 sec/round-trip boost::lockfree::queue: 0.000000757 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000328 sec/round-trip moodycamel::ConcurrentQueue: 0.000000471 sec/round-trip pthread_spinlock: 0.000000782 sec/round-trip std::mutex: 0.000002222 sec/round-trip tbb::spin_mutex: 0.000000718 sec/round-trip tbb::concurrent_bounded_queue: 0.000000572 sec/round-trip xenium::michael_scott_queue: 0.000000763 sec/round-trip xenium::ramalhete_queue: 0.000000510 sec/round-trip xenium::vyukov_bounded_queue: 0.000000471 sec/round-trip AtomicQueue: 0.000000276 sec/round-trip AtomicQueueB: 0.000000404 sec/round-trip OptimistAtomicQueue: 0.000000333 sec/round-trip OptimistAtomicQueueB: 0.000000339 sec/round-trip AtomicQueue2: 0.000000376 sec/round-trip AtomicQueueB2: 0.000000406 sec/round-trip OptimistAtomicQueue2: 0.000000376 sec/round-trip OptimistAtomicQueueB2: 0.000000360 sec/round-trip [27/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 26,831,484 msg/sec boost::lockfree::spsc_queue, 1,i: 26,960,123 msg/sec boost::lockfree::queue, 1,s: 2,726,951 msg/sec boost::lockfree::queue, 1,i: 2,955,123 msg/sec boost::lockfree::queue, 2,s: 2,161,852 msg/sec boost::lockfree::queue, 2,i: 2,245,894 msg/sec boost::lockfree::queue, 3,s: 2,098,688 msg/sec boost::lockfree::queue, 3,i: 2,018,883 msg/sec boost::lockfree::queue, 4,s: 2,119,709 msg/sec boost::lockfree::queue, 4,i: 2,367,654 msg/sec boost::lockfree::queue, 5,s: 2,191,373 msg/sec boost::lockfree::queue, 5,i: 2,272,271 msg/sec boost::lockfree::queue, 6,s: 1,949,203 msg/sec boost::lockfree::queue, 6,i: 2,198,194 msg/sec boost::lockfree::queue, 7,s: 1,979,420 msg/sec boost::lockfree::queue, 7,i: 2,129,043 msg/sec boost::lockfree::queue, 8,s: 1,146,932 msg/sec boost::lockfree::queue, 8,i: 1,222,366 msg/sec boost::lockfree::queue, 9,s: 1,003,203 msg/sec boost::lockfree::queue, 9,i: 1,063,571 msg/sec boost::lockfree::queue,10,s: 800,396 msg/sec boost::lockfree::queue,10,i: 502,079 msg/sec boost::lockfree::queue,11,s: 522,381 msg/sec boost::lockfree::queue,11,i: 517,581 msg/sec boost::lockfree::queue,12,s: 502,320 msg/sec boost::lockfree::queue,12,i: 541,793 msg/sec boost::lockfree::queue,13,s: 527,859 msg/sec boost::lockfree::queue,13,i: 518,403 msg/sec boost::lockfree::queue,14,s: 516,059 msg/sec boost::lockfree::queue,14,i: 715,667 msg/sec moodycamel::ReaderWriterQueue, 1,s: 190,003,700 msg/sec moodycamel::ReaderWriterQueue, 1,i: 189,756,450 msg/sec moodycamel::ConcurrentQueue, 1,s: 6,132,772 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,939,665 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,254,240 msg/sec moodycamel::ConcurrentQueue, 2,i: 4,662,480 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,348,171 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,455,744 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,788,010 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,228,818 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,298,079 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,769,139 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,710,351 msg/sec moodycamel::ConcurrentQueue, 6,i: 24,160,723 msg/sec moodycamel::ConcurrentQueue, 7,s: 5,415,473 msg/sec moodycamel::ConcurrentQueue, 7,i: 15,156,970 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,008,572 msg/sec moodycamel::ConcurrentQueue, 8,i: 15,903,425 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,005,404 msg/sec moodycamel::ConcurrentQueue, 9,i: 4,669,184 msg/sec moodycamel::ConcurrentQueue,10,s: 5,216,795 msg/sec moodycamel::ConcurrentQueue,10,i: 13,701,068 msg/sec moodycamel::ConcurrentQueue,11,s: 5,216,837 msg/sec moodycamel::ConcurrentQueue,11,i: 5,464,080 msg/sec moodycamel::ConcurrentQueue,12,s: 16,825,126 msg/sec moodycamel::ConcurrentQueue,12,i: 9,327,775 msg/sec moodycamel::ConcurrentQueue,13,s: 4,555,975 msg/sec moodycamel::ConcurrentQueue,13,i: 5,543,430 msg/sec moodycamel::ConcurrentQueue,14,s: 7,341,904 msg/sec moodycamel::ConcurrentQueue,14,i: 5,790,473 msg/sec pthread_spinlock, 1,s: 5,748,078 msg/sec pthread_spinlock, 1,i: 8,029,393 msg/sec pthread_spinlock, 2,s: 3,947,831 msg/sec pthread_spinlock, 2,i: 4,207,546 msg/sec pthread_spinlock, 3,s: 3,375,897 msg/sec pthread_spinlock, 3,i: 3,410,026 msg/sec pthread_spinlock, 4,s: 2,844,668 msg/sec pthread_spinlock, 4,i: 2,602,950 msg/sec pthread_spinlock, 5,s: 2,040,754 msg/sec pthread_spinlock, 5,i: 2,236,076 msg/sec pthread_spinlock, 6,s: 2,004,431 msg/sec pthread_spinlock, 6,i: 2,071,054 msg/sec pthread_spinlock, 7,s: 1,831,648 msg/sec pthread_spinlock, 7,i: 1,816,905 msg/sec pthread_spinlock, 8,s: 802,439 msg/sec pthread_spinlock, 8,i: 507,415 msg/sec pthread_spinlock, 9,s: 501,385 msg/sec pthread_spinlock, 9,i: 1,035,424 msg/sec pthread_spinlock,10,s: 560,097 msg/sec pthread_spinlock,10,i: 508,949 msg/sec pthread_spinlock,11,s: 504,794 msg/sec pthread_spinlock,11,i: 513,594 msg/sec pthread_spinlock,12,s: 509,913 msg/sec pthread_spinlock,12,i: 564,323 msg/sec pthread_spinlock,13,s: 513,408 msg/sec pthread_spinlock,13,i: 463,691 msg/sec pthread_spinlock,14,s: 537,394 msg/sec pthread_spinlock,14,i: 553,160 msg/sec std::mutex, 1,s: 5,428,219 msg/sec std::mutex, 1,i: 6,706,067 msg/sec std::mutex, 2,s: 4,959,039 msg/sec std::mutex, 2,i: 4,717,020 msg/sec std::mutex, 3,s: 3,016,535 msg/sec std::mutex, 3,i: 2,947,479 msg/sec std::mutex, 4,s: 2,831,398 msg/sec std::mutex, 4,i: 3,112,235 msg/sec std::mutex, 5,s: 3,633,726 msg/sec std::mutex, 5,i: 3,689,550 msg/sec std::mutex, 6,s: 4,653,736 msg/sec std::mutex, 6,i: 4,658,503 msg/sec std::mutex, 7,s: 5,105,237 msg/sec std::mutex, 7,i: 5,635,920 msg/sec std::mutex, 8,s: 6,600,865 msg/sec std::mutex, 8,i: 5,793,536 msg/sec std::mutex, 9,s: 6,288,672 msg/sec std::mutex, 9,i: 5,020,322 msg/sec std::mutex,10,s: 5,897,632 msg/sec std::mutex,10,i: 4,789,968 msg/sec std::mutex,11,s: 6,024,051 msg/sec std::mutex,11,i: 4,918,100 msg/sec std::mutex,12,s: 5,880,809 msg/sec std::mutex,12,i: 4,955,409 msg/sec std::mutex,13,s: 5,939,555 msg/sec std::mutex,13,i: 5,144,024 msg/sec std::mutex,14,s: 6,096,945 msg/sec std::mutex,14,i: 5,198,062 msg/sec tbb::spin_mutex, 1,s: 23,490,241 msg/sec tbb::spin_mutex, 1,i: 23,853,886 msg/sec tbb::spin_mutex, 2,s: 12,877,786 msg/sec tbb::spin_mutex, 2,i: 12,134,769 msg/sec tbb::spin_mutex, 3,s: 9,459,173 msg/sec tbb::spin_mutex, 3,i: 8,691,911 msg/sec tbb::spin_mutex, 4,s: 7,133,908 msg/sec tbb::spin_mutex, 4,i: 6,921,794 msg/sec tbb::spin_mutex, 5,s: 4,545,662 msg/sec tbb::spin_mutex, 5,i: 4,622,459 msg/sec tbb::spin_mutex, 6,s: 3,747,012 msg/sec tbb::spin_mutex, 6,i: 3,878,834 msg/sec tbb::spin_mutex, 7,s: 2,455,038 msg/sec tbb::spin_mutex, 7,i: 2,617,766 msg/sec tbb::spin_mutex, 8,s: 1,450,619 msg/sec tbb::spin_mutex, 8,i: 1,322,416 msg/sec tbb::spin_mutex, 9,s: 1,136,499 msg/sec tbb::spin_mutex, 9,i: 1,014,043 msg/sec tbb::spin_mutex,10,s: 627,366 msg/sec tbb::spin_mutex,10,i: 920,905 msg/sec tbb::spin_mutex,11,s: 517,986 msg/sec tbb::spin_mutex,11,i: 669,403 msg/sec tbb::spin_mutex,12,s: 438,381 msg/sec tbb::spin_mutex,12,i: 534,025 msg/sec tbb::spin_mutex,13,s: 453,796 msg/sec tbb::spin_mutex,13,i: 601,727 msg/sec tbb::spin_mutex,14,s: 435,557 msg/sec tbb::spin_mutex,14,i: 478,437 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,027,381 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,355,064 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,783,678 msg/sec tbb::concurrent_bounded_queue, 2,i: 4,993,599 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,047,779 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,192,621 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,461,115 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,098,729 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,067,439 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,031,057 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,670,414 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,927,680 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,474,276 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,658,164 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,298,475 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,045,576 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,197,032 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,416,350 msg/sec tbb::concurrent_bounded_queue,10,s: 1,188,323 msg/sec tbb::concurrent_bounded_queue,10,i: 1,288,490 msg/sec tbb::concurrent_bounded_queue,11,s: 1,195,688 msg/sec tbb::concurrent_bounded_queue,11,i: 1,206,282 msg/sec tbb::concurrent_bounded_queue,12,s: 1,189,798 msg/sec tbb::concurrent_bounded_queue,12,i: 1,203,114 msg/sec tbb::concurrent_bounded_queue,13,s: 801,629 msg/sec tbb::concurrent_bounded_queue,13,i: 1,029,746 msg/sec tbb::concurrent_bounded_queue,14,s: 732,910 msg/sec tbb::concurrent_bounded_queue,14,i: 1,067,035 msg/sec xenium::michael_scott_queue, 1,s: 2,159,470 msg/sec xenium::michael_scott_queue, 1,i: 3,803,366 msg/sec xenium::michael_scott_queue, 2,s: 2,511,822 msg/sec xenium::michael_scott_queue, 2,i: 2,320,960 msg/sec xenium::michael_scott_queue, 3,s: 2,357,732 msg/sec xenium::michael_scott_queue, 3,i: 2,694,565 msg/sec xenium::michael_scott_queue, 4,s: 2,054,328 msg/sec xenium::michael_scott_queue, 4,i: 1,962,956 msg/sec xenium::michael_scott_queue, 5,s: 1,862,495 msg/sec xenium::michael_scott_queue, 5,i: 1,974,995 msg/sec xenium::michael_scott_queue, 6,s: 1,658,520 msg/sec xenium::michael_scott_queue, 6,i: 1,834,074 msg/sec xenium::michael_scott_queue, 7,s: 1,627,899 msg/sec xenium::michael_scott_queue, 7,i: 1,755,417 msg/sec xenium::michael_scott_queue, 8,s: 1,006,481 msg/sec xenium::michael_scott_queue, 8,i: 1,015,176 msg/sec xenium::michael_scott_queue, 9,s: 890,885 msg/sec xenium::michael_scott_queue, 9,i: 995,374 msg/sec xenium::michael_scott_queue,10,s: 501,210 msg/sec xenium::michael_scott_queue,10,i: 505,609 msg/sec xenium::michael_scott_queue,11,s: 508,478 msg/sec xenium::michael_scott_queue,11,i: 509,805 msg/sec xenium::michael_scott_queue,12,s: 501,516 msg/sec xenium::michael_scott_queue,12,i: 517,728 msg/sec xenium::michael_scott_queue,13,s: 507,809 msg/sec xenium::michael_scott_queue,13,i: 502,438 msg/sec xenium::michael_scott_queue,14,s: 520,796 msg/sec xenium::michael_scott_queue,14,i: 508,666 msg/sec xenium::ramalhete_queue, 1,s: 7,437,341 msg/sec xenium::ramalhete_queue, 1,i: 7,479,417 msg/sec xenium::ramalhete_queue, 2,s: 5,248,046 msg/sec xenium::ramalhete_queue, 2,i: 6,120,544 msg/sec xenium::ramalhete_queue, 3,s: 6,517,169 msg/sec xenium::ramalhete_queue, 3,i: 6,624,725 msg/sec xenium::ramalhete_queue, 4,s: 6,453,166 msg/sec xenium::ramalhete_queue, 4,i: 7,629,729 msg/sec xenium::ramalhete_queue, 5,s: 7,920,137 msg/sec xenium::ramalhete_queue, 5,i: 7,917,740 msg/sec xenium::ramalhete_queue, 6,s: 7,757,186 msg/sec xenium::ramalhete_queue, 6,i: 8,599,308 msg/sec xenium::ramalhete_queue, 7,s: 8,363,372 msg/sec xenium::ramalhete_queue, 7,i: 8,355,309 msg/sec xenium::ramalhete_queue, 8,s: 6,833,001 msg/sec xenium::ramalhete_queue, 8,i: 7,774,890 msg/sec xenium::ramalhete_queue, 9,s: 8,182,177 msg/sec xenium::ramalhete_queue, 9,i: 8,039,896 msg/sec xenium::ramalhete_queue,10,s: 8,479,013 msg/sec xenium::ramalhete_queue,10,i: 8,159,086 msg/sec xenium::ramalhete_queue,11,s: 8,095,204 msg/sec xenium::ramalhete_queue,11,i: 8,194,883 msg/sec xenium::ramalhete_queue,12,s: 8,062,972 msg/sec xenium::ramalhete_queue,12,i: 8,573,960 msg/sec xenium::ramalhete_queue,13,s: 9,486,214 msg/sec xenium::ramalhete_queue,13,i: 8,513,532 msg/sec xenium::ramalhete_queue,14,s: 11,483,491 msg/sec xenium::ramalhete_queue,14,i: 8,157,970 msg/sec xenium::vyukov_bounded_queue, 1,s: 15,049,497 msg/sec xenium::vyukov_bounded_queue, 1,i: 14,993,722 msg/sec xenium::vyukov_bounded_queue, 2,s: 4,901,972 msg/sec xenium::vyukov_bounded_queue, 2,i: 5,564,780 msg/sec xenium::vyukov_bounded_queue, 3,s: 3,958,128 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,625,856 msg/sec xenium::vyukov_bounded_queue, 4,s: 4,034,806 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,215,405 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,605,613 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,558,519 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,277,061 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,271,142 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,057,667 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,231,505 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,481,563 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,552,008 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,198,275 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,553,775 msg/sec xenium::vyukov_bounded_queue,10,s: 1,089,910 msg/sec xenium::vyukov_bounded_queue,10,i: 1,668,972 msg/sec xenium::vyukov_bounded_queue,11,s: 1,106,079 msg/sec xenium::vyukov_bounded_queue,11,i: 1,199,129 msg/sec xenium::vyukov_bounded_queue,12,s: 688,819 msg/sec xenium::vyukov_bounded_queue,12,i: 1,120,159 msg/sec xenium::vyukov_bounded_queue,13,s: 1,022,352 msg/sec xenium::vyukov_bounded_queue,13,i: 1,192,473 msg/sec xenium::vyukov_bounded_queue,14,s: 709,312 msg/sec xenium::vyukov_bounded_queue,14,i: 1,093,290 msg/sec AtomicQueue, 1,s: 19,087,378 msg/sec AtomicQueue, 1,i: 19,523,591 msg/sec AtomicQueue, 2,s: 4,239,666 msg/sec AtomicQueue, 2,i: 4,050,882 msg/sec AtomicQueue, 3,s: 3,132,463 msg/sec AtomicQueue, 3,i: 3,529,716 msg/sec AtomicQueue, 4,s: 2,584,629 msg/sec AtomicQueue, 4,i: 2,797,820 msg/sec AtomicQueue, 5,s: 2,270,663 msg/sec AtomicQueue, 5,i: 2,322,901 msg/sec AtomicQueue, 6,s: 2,102,942 msg/sec AtomicQueue, 6,i: 1,990,791 msg/sec AtomicQueue, 7,s: 1,812,735 msg/sec AtomicQueue, 7,i: 1,868,692 msg/sec AtomicQueue, 8,s: 1,414,315 msg/sec AtomicQueue, 8,i: 1,598,818 msg/sec AtomicQueue, 9,s: 1,095,601 msg/sec AtomicQueue, 9,i: 1,288,923 msg/sec AtomicQueue,10,s: 1,005,626 msg/sec AtomicQueue,10,i: 954,876 msg/sec AtomicQueue,11,s: 503,708 msg/sec AtomicQueue,11,i: 510,564 msg/sec AtomicQueue,12,s: 513,103 msg/sec AtomicQueue,12,i: 515,746 msg/sec AtomicQueue,13,s: 513,849 msg/sec AtomicQueue,13,i: 520,800 msg/sec AtomicQueue,14,s: 500,456 msg/sec AtomicQueue,14,i: 874,503 msg/sec AtomicQueueB, 1,s: 14,423,547 msg/sec AtomicQueueB, 1,i: 14,476,641 msg/sec AtomicQueueB, 2,s: 3,515,766 msg/sec AtomicQueueB, 2,i: 3,350,609 msg/sec AtomicQueueB, 3,s: 2,692,995 msg/sec AtomicQueueB, 3,i: 3,167,824 msg/sec AtomicQueueB, 4,s: 2,646,735 msg/sec AtomicQueueB, 4,i: 2,469,575 msg/sec AtomicQueueB, 5,s: 2,272,697 msg/sec AtomicQueueB, 5,i: 2,285,816 msg/sec AtomicQueueB, 6,s: 2,006,394 msg/sec AtomicQueueB, 6,i: 1,959,201 msg/sec AtomicQueueB, 7,s: 1,801,461 msg/sec AtomicQueueB, 7,i: 1,866,342 msg/sec AtomicQueueB, 8,s: 869,770 msg/sec AtomicQueueB, 8,i: 1,531,471 msg/sec AtomicQueueB, 9,s: 627,828 msg/sec AtomicQueueB, 9,i: 1,131,117 msg/sec AtomicQueueB,10,s: 880,536 msg/sec AtomicQueueB,10,i: 863,456 msg/sec AtomicQueueB,11,s: 507,551 msg/sec AtomicQueueB,11,i: 527,782 msg/sec AtomicQueueB,12,s: 533,126 msg/sec AtomicQueueB,12,i: 540,894 msg/sec AtomicQueueB,13,s: 532,360 msg/sec AtomicQueueB,13,i: 510,770 msg/sec AtomicQueueB,14,s: 695,050 msg/sec AtomicQueueB,14,i: 521,340 msg/sec OptimistAtomicQueue, 1,s: 120,384,136 msg/sec OptimistAtomicQueue, 1,i: 56,698,745 msg/sec OptimistAtomicQueue, 2,s: 8,915,134 msg/sec OptimistAtomicQueue, 2,i: 10,722,615 msg/sec OptimistAtomicQueue, 3,s: 9,302,364 msg/sec OptimistAtomicQueue, 3,i: 9,470,593 msg/sec OptimistAtomicQueue, 4,s: 10,059,698 msg/sec OptimistAtomicQueue, 4,i: 9,128,632 msg/sec OptimistAtomicQueue, 5,s: 11,346,852 msg/sec OptimistAtomicQueue, 5,i: 13,043,611 msg/sec OptimistAtomicQueue, 6,s: 12,741,218 msg/sec OptimistAtomicQueue, 6,i: 13,909,154 msg/sec OptimistAtomicQueue, 7,s: 14,007,821 msg/sec OptimistAtomicQueue, 7,i: 14,166,518 msg/sec OptimistAtomicQueue, 8,s: 10,881,186 msg/sec OptimistAtomicQueue, 8,i: 10,753,704 msg/sec OptimistAtomicQueue, 9,s: 11,033,354 msg/sec OptimistAtomicQueue, 9,i: 10,801,173 msg/sec OptimistAtomicQueue,10,s: 10,833,960 msg/sec OptimistAtomicQueue,10,i: 10,970,190 msg/sec OptimistAtomicQueue,11,s: 10,938,724 msg/sec OptimistAtomicQueue,11,i: 11,249,594 msg/sec OptimistAtomicQueue,12,s: 10,756,036 msg/sec OptimistAtomicQueue,12,i: 10,928,583 msg/sec OptimistAtomicQueue,13,s: 9,866,482 msg/sec OptimistAtomicQueue,13,i: 10,701,358 msg/sec OptimistAtomicQueue,14,s: 9,028,089 msg/sec OptimistAtomicQueue,14,i: 10,715,762 msg/sec OptimistAtomicQueueB, 1,s: 29,081,228 msg/sec OptimistAtomicQueueB, 1,i: 29,110,067 msg/sec OptimistAtomicQueueB, 2,s: 9,565,779 msg/sec OptimistAtomicQueueB, 2,i: 10,265,247 msg/sec OptimistAtomicQueueB, 3,s: 11,621,583 msg/sec OptimistAtomicQueueB, 3,i: 12,348,315 msg/sec OptimistAtomicQueueB, 4,s: 12,656,803 msg/sec OptimistAtomicQueueB, 4,i: 11,676,183 msg/sec OptimistAtomicQueueB, 5,s: 12,458,805 msg/sec OptimistAtomicQueueB, 5,i: 13,416,294 msg/sec OptimistAtomicQueueB, 6,s: 13,855,624 msg/sec OptimistAtomicQueueB, 6,i: 14,144,692 msg/sec OptimistAtomicQueueB, 7,s: 13,683,456 msg/sec OptimistAtomicQueueB, 7,i: 12,912,551 msg/sec OptimistAtomicQueueB, 8,s: 10,477,865 msg/sec OptimistAtomicQueueB, 8,i: 10,829,899 msg/sec OptimistAtomicQueueB, 9,s: 10,179,600 msg/sec OptimistAtomicQueueB, 9,i: 10,690,352 msg/sec OptimistAtomicQueueB,10,s: 10,609,364 msg/sec OptimistAtomicQueueB,10,i: 10,488,083 msg/sec OptimistAtomicQueueB,11,s: 10,507,555 msg/sec OptimistAtomicQueueB,11,i: 10,821,763 msg/sec OptimistAtomicQueueB,12,s: 10,991,974 msg/sec OptimistAtomicQueueB,12,i: 11,102,324 msg/sec OptimistAtomicQueueB,13,s: 9,562,526 msg/sec OptimistAtomicQueueB,13,i: 10,426,964 msg/sec OptimistAtomicQueueB,14,s: 8,573,512 msg/sec OptimistAtomicQueueB,14,i: 10,545,704 msg/sec AtomicQueue2, 1,s: 9,045,782 msg/sec AtomicQueue2, 1,i: 9,145,008 msg/sec AtomicQueue2, 2,s: 3,294,338 msg/sec AtomicQueue2, 2,i: 3,589,235 msg/sec AtomicQueue2, 3,s: 2,717,160 msg/sec AtomicQueue2, 3,i: 2,619,905 msg/sec AtomicQueue2, 4,s: 2,331,001 msg/sec AtomicQueue2, 4,i: 2,442,675 msg/sec AtomicQueue2, 5,s: 2,126,095 msg/sec AtomicQueue2, 5,i: 2,358,963 msg/sec AtomicQueue2, 6,s: 2,109,526 msg/sec AtomicQueue2, 6,i: 2,163,119 msg/sec AtomicQueue2, 7,s: 1,821,408 msg/sec AtomicQueue2, 7,i: 1,769,008 msg/sec AtomicQueue2, 8,s: 1,018,805 msg/sec AtomicQueue2, 8,i: 1,387,835 msg/sec AtomicQueue2, 9,s: 1,119,177 msg/sec AtomicQueue2, 9,i: 1,213,593 msg/sec AtomicQueue2,10,s: 507,340 msg/sec AtomicQueue2,10,i: 525,405 msg/sec AtomicQueue2,11,s: 497,918 msg/sec AtomicQueue2,11,i: 510,329 msg/sec AtomicQueue2,12,s: 500,224 msg/sec AtomicQueue2,12,i: 509,383 msg/sec AtomicQueue2,13,s: 513,565 msg/sec AtomicQueue2,13,i: 504,337 msg/sec AtomicQueue2,14,s: 506,799 msg/sec AtomicQueue2,14,i: 538,873 msg/sec AtomicQueueB2, 1,s: 8,308,427 msg/sec AtomicQueueB2, 1,i: 11,768,138 msg/sec AtomicQueueB2, 2,s: 3,639,016 msg/sec AtomicQueueB2, 2,i: 3,731,462 msg/sec AtomicQueueB2, 3,s: 2,574,318 msg/sec AtomicQueueB2, 3,i: 3,226,046 msg/sec AtomicQueueB2, 4,s: 2,397,820 msg/sec AtomicQueueB2, 4,i: 2,666,376 msg/sec AtomicQueueB2, 5,s: 2,095,881 msg/sec AtomicQueueB2, 5,i: 2,053,425 msg/sec AtomicQueueB2, 6,s: 2,064,068 msg/sec AtomicQueueB2, 6,i: 1,863,486 msg/sec AtomicQueueB2, 7,s: 1,721,439 msg/sec AtomicQueueB2, 7,i: 1,764,517 msg/sec AtomicQueueB2, 8,s: 556,696 msg/sec AtomicQueueB2, 8,i: 1,437,168 msg/sec AtomicQueueB2, 9,s: 591,302 msg/sec AtomicQueueB2, 9,i: 1,179,996 msg/sec AtomicQueueB2,10,s: 921,257 msg/sec AtomicQueueB2,10,i: 503,930 msg/sec AtomicQueueB2,11,s: 501,241 msg/sec AtomicQueueB2,11,i: 511,235 msg/sec AtomicQueueB2,12,s: 514,013 msg/sec AtomicQueueB2,12,i: 504,354 msg/sec AtomicQueueB2,13,s: 521,248 msg/sec AtomicQueueB2,13,i: 527,829 msg/sec AtomicQueueB2,14,s: 521,594 msg/sec AtomicQueueB2,14,i: 507,381 msg/sec OptimistAtomicQueue2, 1,s: 70,309,514 msg/sec OptimistAtomicQueue2, 1,i: 71,595,349 msg/sec OptimistAtomicQueue2, 2,s: 6,780,332 msg/sec OptimistAtomicQueue2, 2,i: 6,867,074 msg/sec OptimistAtomicQueue2, 3,s: 11,383,976 msg/sec OptimistAtomicQueue2, 3,i: 11,156,481 msg/sec OptimistAtomicQueue2, 4,s: 10,615,549 msg/sec OptimistAtomicQueue2, 4,i: 12,540,138 msg/sec OptimistAtomicQueue2, 5,s: 9,813,204 msg/sec OptimistAtomicQueue2, 5,i: 9,393,836 msg/sec OptimistAtomicQueue2, 6,s: 13,170,567 msg/sec OptimistAtomicQueue2, 6,i: 13,658,790 msg/sec OptimistAtomicQueue2, 7,s: 12,899,994 msg/sec OptimistAtomicQueue2, 7,i: 13,233,642 msg/sec OptimistAtomicQueue2, 8,s: 10,549,675 msg/sec OptimistAtomicQueue2, 8,i: 10,191,031 msg/sec OptimistAtomicQueue2, 9,s: 9,938,943 msg/sec OptimistAtomicQueue2, 9,i: 9,731,545 msg/sec OptimistAtomicQueue2,10,s: 10,151,554 msg/sec OptimistAtomicQueue2,10,i: 10,202,407 msg/sec OptimistAtomicQueue2,11,s: 10,622,592 msg/sec OptimistAtomicQueue2,11,i: 10,158,012 msg/sec OptimistAtomicQueue2,12,s: 10,191,979 msg/sec OptimistAtomicQueue2,12,i: 10,106,358 msg/sec OptimistAtomicQueue2,13,s: 9,231,561 msg/sec OptimistAtomicQueue2,13,i: 10,245,630 msg/sec OptimistAtomicQueue2,14,s: 8,664,993 msg/sec OptimistAtomicQueue2,14,i: 10,325,076 msg/sec OptimistAtomicQueueB2, 1,s: 11,507,091 msg/sec OptimistAtomicQueueB2, 1,i: 11,487,913 msg/sec OptimistAtomicQueueB2, 2,s: 7,568,901 msg/sec OptimistAtomicQueueB2, 2,i: 10,442,024 msg/sec OptimistAtomicQueueB2, 3,s: 11,602,938 msg/sec OptimistAtomicQueueB2, 3,i: 10,306,773 msg/sec OptimistAtomicQueueB2, 4,s: 8,010,513 msg/sec OptimistAtomicQueueB2, 4,i: 8,645,984 msg/sec OptimistAtomicQueueB2, 5,s: 8,689,820 msg/sec OptimistAtomicQueueB2, 5,i: 9,005,517 msg/sec OptimistAtomicQueueB2, 6,s: 8,917,193 msg/sec OptimistAtomicQueueB2, 6,i: 9,390,970 msg/sec OptimistAtomicQueueB2, 7,s: 8,997,751 msg/sec OptimistAtomicQueueB2, 7,i: 10,612,607 msg/sec OptimistAtomicQueueB2, 8,s: 10,263,255 msg/sec OptimistAtomicQueueB2, 8,i: 9,929,181 msg/sec OptimistAtomicQueueB2, 9,s: 9,914,769 msg/sec OptimistAtomicQueueB2, 9,i: 9,813,641 msg/sec OptimistAtomicQueueB2,10,s: 9,955,444 msg/sec OptimistAtomicQueueB2,10,i: 10,000,428 msg/sec OptimistAtomicQueueB2,11,s: 10,075,080 msg/sec OptimistAtomicQueueB2,11,i: 10,257,165 msg/sec OptimistAtomicQueueB2,12,s: 9,700,800 msg/sec OptimistAtomicQueueB2,12,i: 9,795,807 msg/sec OptimistAtomicQueueB2,13,s: 8,893,310 msg/sec OptimistAtomicQueueB2,13,i: 9,944,304 msg/sec OptimistAtomicQueueB2,14,s: 7,951,649 msg/sec OptimistAtomicQueueB2,14,i: 9,811,298 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000477 sec/round-trip boost::lockfree::queue: 0.000001138 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000525 sec/round-trip moodycamel::ConcurrentQueue: 0.000000767 sec/round-trip pthread_spinlock: 0.000001177 sec/round-trip std::mutex: 0.000002134 sec/round-trip tbb::spin_mutex: 0.000000716 sec/round-trip tbb::concurrent_bounded_queue: 0.000000595 sec/round-trip xenium::michael_scott_queue: 0.000000744 sec/round-trip xenium::ramalhete_queue: 0.000000497 sec/round-trip xenium::vyukov_bounded_queue: 0.000000471 sec/round-trip AtomicQueue: 0.000000243 sec/round-trip AtomicQueueB: 0.000000363 sec/round-trip OptimistAtomicQueue: 0.000000302 sec/round-trip OptimistAtomicQueueB: 0.000000321 sec/round-trip AtomicQueue2: 0.000000307 sec/round-trip AtomicQueueB2: 0.000000406 sec/round-trip OptimistAtomicQueue2: 0.000000325 sec/round-trip OptimistAtomicQueueB2: 0.000000357 sec/round-trip [28/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 24,939,977 msg/sec boost::lockfree::spsc_queue, 1,i: 32,619,762 msg/sec boost::lockfree::queue, 1,s: 3,033,714 msg/sec boost::lockfree::queue, 1,i: 3,100,131 msg/sec boost::lockfree::queue, 2,s: 2,714,547 msg/sec boost::lockfree::queue, 2,i: 2,704,860 msg/sec boost::lockfree::queue, 3,s: 2,320,297 msg/sec boost::lockfree::queue, 3,i: 2,464,122 msg/sec boost::lockfree::queue, 4,s: 2,363,498 msg/sec boost::lockfree::queue, 4,i: 1,970,060 msg/sec boost::lockfree::queue, 5,s: 2,211,152 msg/sec boost::lockfree::queue, 5,i: 1,913,080 msg/sec boost::lockfree::queue, 6,s: 1,970,253 msg/sec boost::lockfree::queue, 6,i: 1,886,699 msg/sec boost::lockfree::queue, 7,s: 1,861,808 msg/sec boost::lockfree::queue, 7,i: 1,893,314 msg/sec boost::lockfree::queue, 8,s: 998,433 msg/sec boost::lockfree::queue, 8,i: 1,147,220 msg/sec boost::lockfree::queue, 9,s: 828,894 msg/sec boost::lockfree::queue, 9,i: 1,063,512 msg/sec boost::lockfree::queue,10,s: 495,183 msg/sec boost::lockfree::queue,10,i: 522,452 msg/sec boost::lockfree::queue,11,s: 496,899 msg/sec boost::lockfree::queue,11,i: 525,125 msg/sec boost::lockfree::queue,12,s: 520,349 msg/sec boost::lockfree::queue,12,i: 520,264 msg/sec boost::lockfree::queue,13,s: 487,489 msg/sec boost::lockfree::queue,13,i: 547,851 msg/sec boost::lockfree::queue,14,s: 508,374 msg/sec boost::lockfree::queue,14,i: 522,813 msg/sec moodycamel::ReaderWriterQueue, 1,s: 189,872,299 msg/sec moodycamel::ReaderWriterQueue, 1,i: 190,539,703 msg/sec moodycamel::ConcurrentQueue, 1,s: 6,123,714 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,597,326 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,746,462 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,170,705 msg/sec moodycamel::ConcurrentQueue, 3,s: 4,885,205 msg/sec moodycamel::ConcurrentQueue, 3,i: 14,276,330 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,912,552 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,343,025 msg/sec moodycamel::ConcurrentQueue, 5,s: 17,852,664 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,828,783 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,788,815 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,613,873 msg/sec moodycamel::ConcurrentQueue, 7,s: 14,516,825 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,457,208 msg/sec moodycamel::ConcurrentQueue, 8,s: 15,888,028 msg/sec moodycamel::ConcurrentQueue, 8,i: 11,234,133 msg/sec moodycamel::ConcurrentQueue, 9,s: 21,218,594 msg/sec moodycamel::ConcurrentQueue, 9,i: 10,087,845 msg/sec moodycamel::ConcurrentQueue,10,s: 5,354,469 msg/sec moodycamel::ConcurrentQueue,10,i: 5,517,488 msg/sec moodycamel::ConcurrentQueue,11,s: 5,097,144 msg/sec moodycamel::ConcurrentQueue,11,i: 5,452,589 msg/sec moodycamel::ConcurrentQueue,12,s: 10,265,826 msg/sec moodycamel::ConcurrentQueue,12,i: 7,800,989 msg/sec moodycamel::ConcurrentQueue,13,s: 4,747,323 msg/sec moodycamel::ConcurrentQueue,13,i: 5,208,292 msg/sec moodycamel::ConcurrentQueue,14,s: 12,040,990 msg/sec moodycamel::ConcurrentQueue,14,i: 5,738,132 msg/sec pthread_spinlock, 1,s: 5,085,459 msg/sec pthread_spinlock, 1,i: 5,190,896 msg/sec pthread_spinlock, 2,s: 4,017,465 msg/sec pthread_spinlock, 2,i: 4,343,797 msg/sec pthread_spinlock, 3,s: 3,342,151 msg/sec pthread_spinlock, 3,i: 3,269,391 msg/sec pthread_spinlock, 4,s: 2,544,845 msg/sec pthread_spinlock, 4,i: 2,623,414 msg/sec pthread_spinlock, 5,s: 2,248,949 msg/sec pthread_spinlock, 5,i: 2,179,714 msg/sec pthread_spinlock, 6,s: 1,877,524 msg/sec pthread_spinlock, 6,i: 1,927,033 msg/sec pthread_spinlock, 7,s: 1,825,506 msg/sec pthread_spinlock, 7,i: 1,660,403 msg/sec pthread_spinlock, 8,s: 1,087,037 msg/sec pthread_spinlock, 8,i: 1,215,887 msg/sec pthread_spinlock, 9,s: 738,277 msg/sec pthread_spinlock, 9,i: 896,994 msg/sec pthread_spinlock,10,s: 528,596 msg/sec pthread_spinlock,10,i: 491,033 msg/sec pthread_spinlock,11,s: 814,796 msg/sec pthread_spinlock,11,i: 524,296 msg/sec pthread_spinlock,12,s: 519,353 msg/sec pthread_spinlock,12,i: 528,607 msg/sec pthread_spinlock,13,s: 513,780 msg/sec pthread_spinlock,13,i: 531,713 msg/sec pthread_spinlock,14,s: 531,977 msg/sec pthread_spinlock,14,i: 459,938 msg/sec std::mutex, 1,s: 5,748,615 msg/sec std::mutex, 1,i: 6,239,920 msg/sec std::mutex, 2,s: 4,367,327 msg/sec std::mutex, 2,i: 4,574,274 msg/sec std::mutex, 3,s: 2,805,434 msg/sec std::mutex, 3,i: 2,853,428 msg/sec std::mutex, 4,s: 2,789,792 msg/sec std::mutex, 4,i: 2,882,538 msg/sec std::mutex, 5,s: 3,590,877 msg/sec std::mutex, 5,i: 3,576,313 msg/sec std::mutex, 6,s: 4,469,347 msg/sec std::mutex, 6,i: 4,455,905 msg/sec std::mutex, 7,s: 4,837,222 msg/sec std::mutex, 7,i: 5,115,610 msg/sec std::mutex, 8,s: 5,496,087 msg/sec std::mutex, 8,i: 4,675,007 msg/sec std::mutex, 9,s: 5,256,584 msg/sec std::mutex, 9,i: 4,517,060 msg/sec std::mutex,10,s: 5,246,499 msg/sec std::mutex,10,i: 4,715,131 msg/sec std::mutex,11,s: 6,013,721 msg/sec std::mutex,11,i: 4,962,171 msg/sec std::mutex,12,s: 5,825,714 msg/sec std::mutex,12,i: 5,014,226 msg/sec std::mutex,13,s: 6,122,925 msg/sec std::mutex,13,i: 5,204,450 msg/sec std::mutex,14,s: 6,289,716 msg/sec std::mutex,14,i: 5,285,638 msg/sec tbb::spin_mutex, 1,s: 22,934,378 msg/sec tbb::spin_mutex, 1,i: 22,911,140 msg/sec tbb::spin_mutex, 2,s: 13,880,341 msg/sec tbb::spin_mutex, 2,i: 14,777,628 msg/sec tbb::spin_mutex, 3,s: 9,037,441 msg/sec tbb::spin_mutex, 3,i: 8,926,462 msg/sec tbb::spin_mutex, 4,s: 7,001,660 msg/sec tbb::spin_mutex, 4,i: 4,431,984 msg/sec tbb::spin_mutex, 5,s: 4,943,437 msg/sec tbb::spin_mutex, 5,i: 5,016,079 msg/sec tbb::spin_mutex, 6,s: 2,738,312 msg/sec tbb::spin_mutex, 6,i: 3,477,789 msg/sec tbb::spin_mutex, 7,s: 2,187,773 msg/sec tbb::spin_mutex, 7,i: 2,581,421 msg/sec tbb::spin_mutex, 8,s: 1,073,349 msg/sec tbb::spin_mutex, 8,i: 1,101,387 msg/sec tbb::spin_mutex, 9,s: 968,436 msg/sec tbb::spin_mutex, 9,i: 1,045,835 msg/sec tbb::spin_mutex,10,s: 582,097 msg/sec tbb::spin_mutex,10,i: 737,456 msg/sec tbb::spin_mutex,11,s: 482,342 msg/sec tbb::spin_mutex,11,i: 706,695 msg/sec tbb::spin_mutex,12,s: 382,115 msg/sec tbb::spin_mutex,12,i: 595,267 msg/sec tbb::spin_mutex,13,s: 451,560 msg/sec tbb::spin_mutex,13,i: 590,343 msg/sec tbb::spin_mutex,14,s: 390,115 msg/sec tbb::spin_mutex,14,i: 471,574 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,202,060 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,601,880 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,039,376 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,255,723 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,551,040 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,128,681 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,428,852 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,611,482 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,970,490 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,258,270 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,720,392 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,800,258 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,445,504 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,540,371 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,346,027 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,046,774 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,180,829 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,397,084 msg/sec tbb::concurrent_bounded_queue,10,s: 1,174,737 msg/sec tbb::concurrent_bounded_queue,10,i: 1,298,686 msg/sec tbb::concurrent_bounded_queue,11,s: 1,249,899 msg/sec tbb::concurrent_bounded_queue,11,i: 1,215,332 msg/sec tbb::concurrent_bounded_queue,12,s: 1,273,141 msg/sec tbb::concurrent_bounded_queue,12,i: 1,210,214 msg/sec tbb::concurrent_bounded_queue,13,s: 1,102,903 msg/sec tbb::concurrent_bounded_queue,13,i: 1,151,147 msg/sec tbb::concurrent_bounded_queue,14,s: 1,014,378 msg/sec tbb::concurrent_bounded_queue,14,i: 1,032,246 msg/sec xenium::michael_scott_queue, 1,s: 2,608,437 msg/sec xenium::michael_scott_queue, 1,i: 3,762,639 msg/sec xenium::michael_scott_queue, 2,s: 3,255,258 msg/sec xenium::michael_scott_queue, 2,i: 2,880,125 msg/sec xenium::michael_scott_queue, 3,s: 2,238,829 msg/sec xenium::michael_scott_queue, 3,i: 2,385,985 msg/sec xenium::michael_scott_queue, 4,s: 2,177,855 msg/sec xenium::michael_scott_queue, 4,i: 2,269,999 msg/sec xenium::michael_scott_queue, 5,s: 2,076,258 msg/sec xenium::michael_scott_queue, 5,i: 2,017,397 msg/sec xenium::michael_scott_queue, 6,s: 1,800,516 msg/sec xenium::michael_scott_queue, 6,i: 1,849,399 msg/sec xenium::michael_scott_queue, 7,s: 1,658,137 msg/sec xenium::michael_scott_queue, 7,i: 1,740,876 msg/sec xenium::michael_scott_queue, 8,s: 1,033,275 msg/sec xenium::michael_scott_queue, 8,i: 1,108,270 msg/sec xenium::michael_scott_queue, 9,s: 866,772 msg/sec xenium::michael_scott_queue, 9,i: 1,051,668 msg/sec xenium::michael_scott_queue,10,s: 731,773 msg/sec xenium::michael_scott_queue,10,i: 504,699 msg/sec xenium::michael_scott_queue,11,s: 503,861 msg/sec xenium::michael_scott_queue,11,i: 512,722 msg/sec xenium::michael_scott_queue,12,s: 512,788 msg/sec xenium::michael_scott_queue,12,i: 505,074 msg/sec xenium::michael_scott_queue,13,s: 515,756 msg/sec xenium::michael_scott_queue,13,i: 513,534 msg/sec xenium::michael_scott_queue,14,s: 504,066 msg/sec xenium::michael_scott_queue,14,i: 504,646 msg/sec xenium::ramalhete_queue, 1,s: 3,845,438 msg/sec xenium::ramalhete_queue, 1,i: 9,907,007 msg/sec xenium::ramalhete_queue, 2,s: 7,758,663 msg/sec xenium::ramalhete_queue, 2,i: 7,240,242 msg/sec xenium::ramalhete_queue, 3,s: 6,878,834 msg/sec xenium::ramalhete_queue, 3,i: 7,710,682 msg/sec xenium::ramalhete_queue, 4,s: 7,182,386 msg/sec xenium::ramalhete_queue, 4,i: 7,680,832 msg/sec xenium::ramalhete_queue, 5,s: 7,927,422 msg/sec xenium::ramalhete_queue, 5,i: 8,263,217 msg/sec xenium::ramalhete_queue, 6,s: 8,124,652 msg/sec xenium::ramalhete_queue, 6,i: 8,217,257 msg/sec xenium::ramalhete_queue, 7,s: 7,822,116 msg/sec xenium::ramalhete_queue, 7,i: 8,695,245 msg/sec xenium::ramalhete_queue, 8,s: 7,242,104 msg/sec xenium::ramalhete_queue, 8,i: 8,289,603 msg/sec xenium::ramalhete_queue, 9,s: 8,323,706 msg/sec xenium::ramalhete_queue, 9,i: 7,937,048 msg/sec xenium::ramalhete_queue,10,s: 7,855,797 msg/sec xenium::ramalhete_queue,10,i: 8,530,657 msg/sec xenium::ramalhete_queue,11,s: 8,423,581 msg/sec xenium::ramalhete_queue,11,i: 8,030,250 msg/sec xenium::ramalhete_queue,12,s: 8,251,704 msg/sec xenium::ramalhete_queue,12,i: 8,404,162 msg/sec xenium::ramalhete_queue,13,s: 9,011,136 msg/sec xenium::ramalhete_queue,13,i: 8,601,637 msg/sec xenium::ramalhete_queue,14,s: 9,835,164 msg/sec xenium::ramalhete_queue,14,i: 8,897,733 msg/sec xenium::vyukov_bounded_queue, 1,s: 33,846,501 msg/sec xenium::vyukov_bounded_queue, 1,i: 53,605,294 msg/sec xenium::vyukov_bounded_queue, 2,s: 8,331,680 msg/sec xenium::vyukov_bounded_queue, 2,i: 9,331,491 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,558,816 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,744,795 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,955,986 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,000,661 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,431,924 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,642,318 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,333,606 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,329,362 msg/sec xenium::vyukov_bounded_queue, 7,s: 2,817,560 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,865,339 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,476,621 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,532,752 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,465,567 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,556,315 msg/sec xenium::vyukov_bounded_queue,10,s: 1,168,040 msg/sec xenium::vyukov_bounded_queue,10,i: 1,411,323 msg/sec xenium::vyukov_bounded_queue,11,s: 1,072,451 msg/sec xenium::vyukov_bounded_queue,11,i: 1,278,325 msg/sec xenium::vyukov_bounded_queue,12,s: 1,008,926 msg/sec xenium::vyukov_bounded_queue,12,i: 1,218,116 msg/sec xenium::vyukov_bounded_queue,13,s: 1,013,943 msg/sec xenium::vyukov_bounded_queue,13,i: 1,130,078 msg/sec xenium::vyukov_bounded_queue,14,s: 858,582 msg/sec xenium::vyukov_bounded_queue,14,i: 1,064,066 msg/sec AtomicQueue, 1,s: 47,326,440 msg/sec AtomicQueue, 1,i: 20,214,408 msg/sec AtomicQueue, 2,s: 4,416,279 msg/sec AtomicQueue, 2,i: 3,552,523 msg/sec AtomicQueue, 3,s: 2,436,510 msg/sec AtomicQueue, 3,i: 3,246,268 msg/sec AtomicQueue, 4,s: 2,446,704 msg/sec AtomicQueue, 4,i: 2,588,659 msg/sec AtomicQueue, 5,s: 2,340,489 msg/sec AtomicQueue, 5,i: 2,364,176 msg/sec AtomicQueue, 6,s: 1,866,479 msg/sec AtomicQueue, 6,i: 1,977,368 msg/sec AtomicQueue, 7,s: 1,696,488 msg/sec AtomicQueue, 7,i: 1,774,596 msg/sec AtomicQueue, 8,s: 1,115,891 msg/sec AtomicQueue, 8,i: 1,311,208 msg/sec AtomicQueue, 9,s: 1,175,377 msg/sec AtomicQueue, 9,i: 1,348,571 msg/sec AtomicQueue,10,s: 1,040,953 msg/sec AtomicQueue,10,i: 979,605 msg/sec AtomicQueue,11,s: 518,716 msg/sec AtomicQueue,11,i: 504,005 msg/sec AtomicQueue,12,s: 489,012 msg/sec AtomicQueue,12,i: 531,811 msg/sec AtomicQueue,13,s: 503,960 msg/sec AtomicQueue,13,i: 517,711 msg/sec AtomicQueue,14,s: 537,204 msg/sec AtomicQueue,14,i: 511,898 msg/sec AtomicQueueB, 1,s: 12,488,423 msg/sec AtomicQueueB, 1,i: 13,060,559 msg/sec AtomicQueueB, 2,s: 3,227,756 msg/sec AtomicQueueB, 2,i: 3,973,416 msg/sec AtomicQueueB, 3,s: 2,716,541 msg/sec AtomicQueueB, 3,i: 2,791,754 msg/sec AtomicQueueB, 4,s: 2,290,556 msg/sec AtomicQueueB, 4,i: 2,776,993 msg/sec AtomicQueueB, 5,s: 2,116,120 msg/sec AtomicQueueB, 5,i: 2,316,631 msg/sec AtomicQueueB, 6,s: 2,132,521 msg/sec AtomicQueueB, 6,i: 2,170,998 msg/sec AtomicQueueB, 7,s: 1,726,365 msg/sec AtomicQueueB, 7,i: 1,768,919 msg/sec AtomicQueueB, 8,s: 1,076,147 msg/sec AtomicQueueB, 8,i: 1,604,824 msg/sec AtomicQueueB, 9,s: 725,829 msg/sec AtomicQueueB, 9,i: 1,067,734 msg/sec AtomicQueueB,10,s: 834,904 msg/sec AtomicQueueB,10,i: 561,306 msg/sec AtomicQueueB,11,s: 516,779 msg/sec AtomicQueueB,11,i: 516,072 msg/sec AtomicQueueB,12,s: 505,771 msg/sec AtomicQueueB,12,i: 511,280 msg/sec AtomicQueueB,13,s: 540,143 msg/sec AtomicQueueB,13,i: 506,320 msg/sec AtomicQueueB,14,s: 743,597 msg/sec AtomicQueueB,14,i: 753,282 msg/sec OptimistAtomicQueue, 1,s: 328,677,407 msg/sec OptimistAtomicQueue, 1,i: 211,449,433 msg/sec OptimistAtomicQueue, 2,s: 7,811,066 msg/sec OptimistAtomicQueue, 2,i: 8,229,110 msg/sec OptimistAtomicQueue, 3,s: 8,493,774 msg/sec OptimistAtomicQueue, 3,i: 9,126,629 msg/sec OptimistAtomicQueue, 4,s: 9,467,687 msg/sec OptimistAtomicQueue, 4,i: 10,018,927 msg/sec OptimistAtomicQueue, 5,s: 12,046,141 msg/sec OptimistAtomicQueue, 5,i: 13,068,396 msg/sec OptimistAtomicQueue, 6,s: 9,548,887 msg/sec OptimistAtomicQueue, 6,i: 13,348,895 msg/sec OptimistAtomicQueue, 7,s: 13,302,055 msg/sec OptimistAtomicQueue, 7,i: 13,620,590 msg/sec OptimistAtomicQueue, 8,s: 11,006,674 msg/sec OptimistAtomicQueue, 8,i: 11,058,543 msg/sec OptimistAtomicQueue, 9,s: 10,903,692 msg/sec OptimistAtomicQueue, 9,i: 10,998,893 msg/sec OptimistAtomicQueue,10,s: 10,563,471 msg/sec OptimistAtomicQueue,10,i: 10,812,900 msg/sec OptimistAtomicQueue,11,s: 11,000,086 msg/sec OptimistAtomicQueue,11,i: 10,918,710 msg/sec OptimistAtomicQueue,12,s: 10,618,087 msg/sec OptimistAtomicQueue,12,i: 10,995,384 msg/sec OptimistAtomicQueue,13,s: 9,705,342 msg/sec OptimistAtomicQueue,13,i: 11,007,024 msg/sec OptimistAtomicQueue,14,s: 8,952,202 msg/sec OptimistAtomicQueue,14,i: 10,876,681 msg/sec OptimistAtomicQueueB, 1,s: 29,143,912 msg/sec OptimistAtomicQueueB, 1,i: 29,227,720 msg/sec OptimistAtomicQueueB, 2,s: 10,886,819 msg/sec OptimistAtomicQueueB, 2,i: 10,971,528 msg/sec OptimistAtomicQueueB, 3,s: 12,181,920 msg/sec OptimistAtomicQueueB, 3,i: 12,825,140 msg/sec OptimistAtomicQueueB, 4,s: 13,467,321 msg/sec OptimistAtomicQueueB, 4,i: 13,286,064 msg/sec OptimistAtomicQueueB, 5,s: 12,197,411 msg/sec OptimistAtomicQueueB, 5,i: 13,276,256 msg/sec OptimistAtomicQueueB, 6,s: 12,582,845 msg/sec OptimistAtomicQueueB, 6,i: 13,094,732 msg/sec OptimistAtomicQueueB, 7,s: 12,763,705 msg/sec OptimistAtomicQueueB, 7,i: 13,580,945 msg/sec OptimistAtomicQueueB, 8,s: 10,876,722 msg/sec OptimistAtomicQueueB, 8,i: 10,813,250 msg/sec OptimistAtomicQueueB, 9,s: 10,941,972 msg/sec OptimistAtomicQueueB, 9,i: 10,605,228 msg/sec OptimistAtomicQueueB,10,s: 10,983,340 msg/sec OptimistAtomicQueueB,10,i: 10,622,740 msg/sec OptimistAtomicQueueB,11,s: 10,873,945 msg/sec OptimistAtomicQueueB,11,i: 11,237,441 msg/sec OptimistAtomicQueueB,12,s: 10,883,795 msg/sec OptimistAtomicQueueB,12,i: 10,957,078 msg/sec OptimistAtomicQueueB,13,s: 9,901,275 msg/sec OptimistAtomicQueueB,13,i: 11,009,062 msg/sec OptimistAtomicQueueB,14,s: 8,987,715 msg/sec OptimistAtomicQueueB,14,i: 10,474,697 msg/sec AtomicQueue2, 1,s: 9,021,025 msg/sec AtomicQueue2, 1,i: 9,023,544 msg/sec AtomicQueue2, 2,s: 3,010,267 msg/sec AtomicQueue2, 2,i: 3,690,628 msg/sec AtomicQueue2, 3,s: 2,565,200 msg/sec AtomicQueue2, 3,i: 2,572,477 msg/sec AtomicQueue2, 4,s: 2,365,472 msg/sec AtomicQueue2, 4,i: 2,575,149 msg/sec AtomicQueue2, 5,s: 2,211,936 msg/sec AtomicQueue2, 5,i: 2,262,105 msg/sec AtomicQueue2, 6,s: 1,872,115 msg/sec AtomicQueue2, 6,i: 2,129,278 msg/sec AtomicQueue2, 7,s: 1,812,682 msg/sec AtomicQueue2, 7,i: 1,755,788 msg/sec AtomicQueue2, 8,s: 1,056,871 msg/sec AtomicQueue2, 8,i: 1,232,523 msg/sec AtomicQueue2, 9,s: 1,045,188 msg/sec AtomicQueue2, 9,i: 1,162,780 msg/sec AtomicQueue2,10,s: 753,941 msg/sec AtomicQueue2,10,i: 508,167 msg/sec AtomicQueue2,11,s: 861,106 msg/sec AtomicQueue2,11,i: 499,869 msg/sec AtomicQueue2,12,s: 521,515 msg/sec AtomicQueue2,12,i: 512,544 msg/sec AtomicQueue2,13,s: 507,698 msg/sec AtomicQueue2,13,i: 518,563 msg/sec AtomicQueue2,14,s: 501,692 msg/sec AtomicQueue2,14,i: 525,273 msg/sec AtomicQueueB2, 1,s: 11,451,289 msg/sec AtomicQueueB2, 1,i: 11,250,724 msg/sec AtomicQueueB2, 2,s: 3,556,636 msg/sec AtomicQueueB2, 2,i: 4,036,320 msg/sec AtomicQueueB2, 3,s: 3,108,185 msg/sec AtomicQueueB2, 3,i: 3,230,444 msg/sec AtomicQueueB2, 4,s: 2,472,432 msg/sec AtomicQueueB2, 4,i: 2,557,194 msg/sec AtomicQueueB2, 5,s: 2,133,274 msg/sec AtomicQueueB2, 5,i: 2,346,872 msg/sec AtomicQueueB2, 6,s: 1,980,696 msg/sec AtomicQueueB2, 6,i: 1,943,079 msg/sec AtomicQueueB2, 7,s: 1,788,944 msg/sec AtomicQueueB2, 7,i: 1,785,381 msg/sec AtomicQueueB2, 8,s: 506,899 msg/sec AtomicQueueB2, 8,i: 1,403,429 msg/sec AtomicQueueB2, 9,s: 613,648 msg/sec AtomicQueueB2, 9,i: 1,183,205 msg/sec AtomicQueueB2,10,s: 845,782 msg/sec AtomicQueueB2,10,i: 507,975 msg/sec AtomicQueueB2,11,s: 497,622 msg/sec AtomicQueueB2,11,i: 523,008 msg/sec AtomicQueueB2,12,s: 540,326 msg/sec AtomicQueueB2,12,i: 525,980 msg/sec AtomicQueueB2,13,s: 516,116 msg/sec AtomicQueueB2,13,i: 526,691 msg/sec AtomicQueueB2,14,s: 520,876 msg/sec AtomicQueueB2,14,i: 503,133 msg/sec OptimistAtomicQueue2, 1,s: 50,570,829 msg/sec OptimistAtomicQueue2, 1,i: 50,058,290 msg/sec OptimistAtomicQueue2, 2,s: 5,875,944 msg/sec OptimistAtomicQueue2, 2,i: 6,911,481 msg/sec OptimistAtomicQueue2, 3,s: 8,241,227 msg/sec OptimistAtomicQueue2, 3,i: 11,021,311 msg/sec OptimistAtomicQueue2, 4,s: 12,195,195 msg/sec OptimistAtomicQueue2, 4,i: 12,380,594 msg/sec OptimistAtomicQueue2, 5,s: 13,111,299 msg/sec OptimistAtomicQueue2, 5,i: 13,233,739 msg/sec OptimistAtomicQueue2, 6,s: 12,870,932 msg/sec OptimistAtomicQueue2, 6,i: 13,556,089 msg/sec OptimistAtomicQueue2, 7,s: 13,168,244 msg/sec OptimistAtomicQueue2, 7,i: 13,645,296 msg/sec OptimistAtomicQueue2, 8,s: 10,826,942 msg/sec OptimistAtomicQueue2, 8,i: 10,824,219 msg/sec OptimistAtomicQueue2, 9,s: 10,688,241 msg/sec OptimistAtomicQueue2, 9,i: 10,026,511 msg/sec OptimistAtomicQueue2,10,s: 10,434,324 msg/sec OptimistAtomicQueue2,10,i: 10,193,398 msg/sec OptimistAtomicQueue2,11,s: 10,683,999 msg/sec OptimistAtomicQueue2,11,i: 10,499,799 msg/sec OptimistAtomicQueue2,12,s: 10,548,192 msg/sec OptimistAtomicQueue2,12,i: 10,443,971 msg/sec OptimistAtomicQueue2,13,s: 9,219,959 msg/sec OptimistAtomicQueue2,13,i: 10,370,249 msg/sec OptimistAtomicQueue2,14,s: 8,857,958 msg/sec OptimistAtomicQueue2,14,i: 8,932,452 msg/sec OptimistAtomicQueueB2, 1,s: 24,795,632 msg/sec OptimistAtomicQueueB2, 1,i: 25,334,909 msg/sec OptimistAtomicQueueB2, 2,s: 6,924,047 msg/sec OptimistAtomicQueueB2, 2,i: 7,234,174 msg/sec OptimistAtomicQueueB2, 3,s: 7,827,268 msg/sec OptimistAtomicQueueB2, 3,i: 7,765,868 msg/sec OptimistAtomicQueueB2, 4,s: 7,989,366 msg/sec OptimistAtomicQueueB2, 4,i: 8,458,666 msg/sec OptimistAtomicQueueB2, 5,s: 11,601,649 msg/sec OptimistAtomicQueueB2, 5,i: 12,887,415 msg/sec OptimistAtomicQueueB2, 6,s: 12,393,956 msg/sec OptimistAtomicQueueB2, 6,i: 12,469,328 msg/sec OptimistAtomicQueueB2, 7,s: 11,981,696 msg/sec OptimistAtomicQueueB2, 7,i: 12,883,038 msg/sec OptimistAtomicQueueB2, 8,s: 9,855,757 msg/sec OptimistAtomicQueueB2, 8,i: 10,137,386 msg/sec OptimistAtomicQueueB2, 9,s: 10,196,326 msg/sec OptimistAtomicQueueB2, 9,i: 10,109,106 msg/sec OptimistAtomicQueueB2,10,s: 10,159,329 msg/sec OptimistAtomicQueueB2,10,i: 9,979,594 msg/sec OptimistAtomicQueueB2,11,s: 9,708,295 msg/sec OptimistAtomicQueueB2,11,i: 9,908,375 msg/sec OptimistAtomicQueueB2,12,s: 9,824,727 msg/sec OptimistAtomicQueueB2,12,i: 9,851,266 msg/sec OptimistAtomicQueueB2,13,s: 8,738,103 msg/sec OptimistAtomicQueueB2,13,i: 9,968,877 msg/sec OptimistAtomicQueueB2,14,s: 8,108,857 msg/sec OptimistAtomicQueueB2,14,i: 9,778,899 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000475 sec/round-trip boost::lockfree::queue: 0.000001133 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000355 sec/round-trip moodycamel::ConcurrentQueue: 0.000000670 sec/round-trip pthread_spinlock: 0.000001220 sec/round-trip std::mutex: 0.000002873 sec/round-trip tbb::spin_mutex: 0.000000910 sec/round-trip tbb::concurrent_bounded_queue: 0.000000925 sec/round-trip xenium::michael_scott_queue: 0.000001140 sec/round-trip xenium::ramalhete_queue: 0.000000801 sec/round-trip xenium::vyukov_bounded_queue: 0.000000671 sec/round-trip AtomicQueue: 0.000000381 sec/round-trip AtomicQueueB: 0.000000539 sec/round-trip OptimistAtomicQueue: 0.000000420 sec/round-trip OptimistAtomicQueueB: 0.000000475 sec/round-trip AtomicQueue2: 0.000000504 sec/round-trip AtomicQueueB2: 0.000000621 sec/round-trip OptimistAtomicQueue2: 0.000000494 sec/round-trip OptimistAtomicQueueB2: 0.000000536 sec/round-trip [29/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 23,875,366 msg/sec boost::lockfree::spsc_queue, 1,i: 24,160,325 msg/sec boost::lockfree::queue, 1,s: 1,934,482 msg/sec boost::lockfree::queue, 1,i: 2,652,937 msg/sec boost::lockfree::queue, 2,s: 2,461,828 msg/sec boost::lockfree::queue, 2,i: 2,212,105 msg/sec boost::lockfree::queue, 3,s: 2,382,140 msg/sec boost::lockfree::queue, 3,i: 2,285,613 msg/sec boost::lockfree::queue, 4,s: 2,217,471 msg/sec boost::lockfree::queue, 4,i: 2,303,383 msg/sec boost::lockfree::queue, 5,s: 2,163,856 msg/sec boost::lockfree::queue, 5,i: 2,080,436 msg/sec boost::lockfree::queue, 6,s: 1,876,405 msg/sec boost::lockfree::queue, 6,i: 2,131,064 msg/sec boost::lockfree::queue, 7,s: 2,043,758 msg/sec boost::lockfree::queue, 7,i: 2,029,426 msg/sec boost::lockfree::queue, 8,s: 687,955 msg/sec boost::lockfree::queue, 8,i: 1,138,646 msg/sec boost::lockfree::queue, 9,s: 869,419 msg/sec boost::lockfree::queue, 9,i: 1,123,082 msg/sec boost::lockfree::queue,10,s: 706,567 msg/sec boost::lockfree::queue,10,i: 531,311 msg/sec boost::lockfree::queue,11,s: 700,676 msg/sec boost::lockfree::queue,11,i: 834,529 msg/sec boost::lockfree::queue,12,s: 552,117 msg/sec boost::lockfree::queue,12,i: 898,118 msg/sec boost::lockfree::queue,13,s: 524,381 msg/sec boost::lockfree::queue,13,i: 518,405 msg/sec boost::lockfree::queue,14,s: 532,898 msg/sec boost::lockfree::queue,14,i: 518,902 msg/sec moodycamel::ReaderWriterQueue, 1,s: 27,374,239 msg/sec moodycamel::ReaderWriterQueue, 1,i: 27,735,976 msg/sec moodycamel::ConcurrentQueue, 1,s: 9,166,089 msg/sec moodycamel::ConcurrentQueue, 1,i: 9,123,333 msg/sec moodycamel::ConcurrentQueue, 2,s: 4,481,004 msg/sec moodycamel::ConcurrentQueue, 2,i: 6,262,437 msg/sec moodycamel::ConcurrentQueue, 3,s: 10,853,306 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,079,963 msg/sec moodycamel::ConcurrentQueue, 4,s: 15,119,154 msg/sec moodycamel::ConcurrentQueue, 4,i: 5,431,161 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,209,580 msg/sec moodycamel::ConcurrentQueue, 5,i: 5,532,608 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,283,994 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,361,395 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,183,344 msg/sec moodycamel::ConcurrentQueue, 7,i: 20,879,093 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,098,032 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,652,935 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,237,141 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,289,371 msg/sec moodycamel::ConcurrentQueue,10,s: 7,605,273 msg/sec moodycamel::ConcurrentQueue,10,i: 7,831,786 msg/sec moodycamel::ConcurrentQueue,11,s: 5,289,309 msg/sec moodycamel::ConcurrentQueue,11,i: 29,158,576 msg/sec moodycamel::ConcurrentQueue,12,s: 14,024,704 msg/sec moodycamel::ConcurrentQueue,12,i: 5,618,063 msg/sec moodycamel::ConcurrentQueue,13,s: 5,151,867 msg/sec moodycamel::ConcurrentQueue,13,i: 5,513,082 msg/sec moodycamel::ConcurrentQueue,14,s: 43,489,396 msg/sec moodycamel::ConcurrentQueue,14,i: 4,638,340 msg/sec pthread_spinlock, 1,s: 6,425,425 msg/sec pthread_spinlock, 1,i: 5,232,866 msg/sec pthread_spinlock, 2,s: 4,019,817 msg/sec pthread_spinlock, 2,i: 3,221,244 msg/sec pthread_spinlock, 3,s: 2,552,526 msg/sec pthread_spinlock, 3,i: 2,783,684 msg/sec pthread_spinlock, 4,s: 2,248,221 msg/sec pthread_spinlock, 4,i: 2,702,549 msg/sec pthread_spinlock, 5,s: 1,983,329 msg/sec pthread_spinlock, 5,i: 2,031,456 msg/sec pthread_spinlock, 6,s: 1,956,045 msg/sec pthread_spinlock, 6,i: 1,997,381 msg/sec pthread_spinlock, 7,s: 1,951,696 msg/sec pthread_spinlock, 7,i: 1,738,470 msg/sec pthread_spinlock, 8,s: 1,049,151 msg/sec pthread_spinlock, 8,i: 1,276,619 msg/sec pthread_spinlock, 9,s: 521,890 msg/sec pthread_spinlock, 9,i: 537,019 msg/sec pthread_spinlock,10,s: 563,652 msg/sec pthread_spinlock,10,i: 511,868 msg/sec pthread_spinlock,11,s: 771,513 msg/sec pthread_spinlock,11,i: 778,761 msg/sec pthread_spinlock,12,s: 576,963 msg/sec pthread_spinlock,12,i: 526,515 msg/sec pthread_spinlock,13,s: 676,170 msg/sec pthread_spinlock,13,i: 565,563 msg/sec pthread_spinlock,14,s: 484,113 msg/sec pthread_spinlock,14,i: 568,546 msg/sec std::mutex, 1,s: 6,180,384 msg/sec std::mutex, 1,i: 6,183,430 msg/sec std::mutex, 2,s: 4,334,811 msg/sec std::mutex, 2,i: 4,253,768 msg/sec std::mutex, 3,s: 3,013,792 msg/sec std::mutex, 3,i: 2,871,550 msg/sec std::mutex, 4,s: 2,967,193 msg/sec std::mutex, 4,i: 2,850,248 msg/sec std::mutex, 5,s: 3,592,603 msg/sec std::mutex, 5,i: 3,546,076 msg/sec std::mutex, 6,s: 4,607,397 msg/sec std::mutex, 6,i: 4,626,874 msg/sec std::mutex, 7,s: 5,644,209 msg/sec std::mutex, 7,i: 6,046,836 msg/sec std::mutex, 8,s: 7,070,911 msg/sec std::mutex, 8,i: 5,388,801 msg/sec std::mutex, 9,s: 6,101,536 msg/sec std::mutex, 9,i: 4,931,443 msg/sec std::mutex,10,s: 5,803,197 msg/sec std::mutex,10,i: 4,782,185 msg/sec std::mutex,11,s: 5,274,347 msg/sec std::mutex,11,i: 4,781,381 msg/sec std::mutex,12,s: 5,039,582 msg/sec std::mutex,12,i: 4,876,079 msg/sec std::mutex,13,s: 5,127,241 msg/sec std::mutex,13,i: 4,935,458 msg/sec std::mutex,14,s: 5,029,367 msg/sec std::mutex,14,i: 5,101,839 msg/sec tbb::spin_mutex, 1,s: 22,965,569 msg/sec tbb::spin_mutex, 1,i: 23,082,038 msg/sec tbb::spin_mutex, 2,s: 8,688,312 msg/sec tbb::spin_mutex, 2,i: 12,670,710 msg/sec tbb::spin_mutex, 3,s: 9,099,636 msg/sec tbb::spin_mutex, 3,i: 8,589,656 msg/sec tbb::spin_mutex, 4,s: 7,108,042 msg/sec tbb::spin_mutex, 4,i: 6,402,824 msg/sec tbb::spin_mutex, 5,s: 4,990,085 msg/sec tbb::spin_mutex, 5,i: 4,163,268 msg/sec tbb::spin_mutex, 6,s: 3,249,027 msg/sec tbb::spin_mutex, 6,i: 2,504,920 msg/sec tbb::spin_mutex, 7,s: 1,719,136 msg/sec tbb::spin_mutex, 7,i: 1,932,255 msg/sec tbb::spin_mutex, 8,s: 1,168,659 msg/sec tbb::spin_mutex, 8,i: 1,045,354 msg/sec tbb::spin_mutex, 9,s: 829,674 msg/sec tbb::spin_mutex, 9,i: 961,960 msg/sec tbb::spin_mutex,10,s: 503,884 msg/sec tbb::spin_mutex,10,i: 723,409 msg/sec tbb::spin_mutex,11,s: 588,602 msg/sec tbb::spin_mutex,11,i: 620,874 msg/sec tbb::spin_mutex,12,s: 477,668 msg/sec tbb::spin_mutex,12,i: 589,058 msg/sec tbb::spin_mutex,13,s: 499,767 msg/sec tbb::spin_mutex,13,i: 525,902 msg/sec tbb::spin_mutex,14,s: 359,806 msg/sec tbb::spin_mutex,14,i: 415,239 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,072,372 msg/sec tbb::concurrent_bounded_queue, 1,i: 3,017,910 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,949,890 msg/sec tbb::concurrent_bounded_queue, 2,i: 4,999,044 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,297,006 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,303,577 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,890,751 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,708,981 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,018,073 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,303,234 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,809,272 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,832,077 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,516,572 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,494,532 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,226,290 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,563,127 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,144,092 msg/sec tbb::concurrent_bounded_queue, 9,i: 2,133,918 msg/sec tbb::concurrent_bounded_queue,10,s: 1,096,864 msg/sec tbb::concurrent_bounded_queue,10,i: 1,915,423 msg/sec tbb::concurrent_bounded_queue,11,s: 1,044,033 msg/sec tbb::concurrent_bounded_queue,11,i: 1,440,970 msg/sec tbb::concurrent_bounded_queue,12,s: 1,108,265 msg/sec tbb::concurrent_bounded_queue,12,i: 1,214,314 msg/sec tbb::concurrent_bounded_queue,13,s: 1,088,732 msg/sec tbb::concurrent_bounded_queue,13,i: 1,402,150 msg/sec tbb::concurrent_bounded_queue,14,s: 1,255,046 msg/sec tbb::concurrent_bounded_queue,14,i: 1,218,762 msg/sec xenium::michael_scott_queue, 1,s: 3,699,395 msg/sec xenium::michael_scott_queue, 1,i: 2,137,322 msg/sec xenium::michael_scott_queue, 2,s: 2,038,020 msg/sec xenium::michael_scott_queue, 2,i: 2,720,970 msg/sec xenium::michael_scott_queue, 3,s: 2,353,308 msg/sec xenium::michael_scott_queue, 3,i: 2,553,776 msg/sec xenium::michael_scott_queue, 4,s: 1,963,388 msg/sec xenium::michael_scott_queue, 4,i: 2,219,811 msg/sec xenium::michael_scott_queue, 5,s: 1,911,350 msg/sec xenium::michael_scott_queue, 5,i: 1,898,113 msg/sec xenium::michael_scott_queue, 6,s: 1,662,736 msg/sec xenium::michael_scott_queue, 6,i: 1,747,203 msg/sec xenium::michael_scott_queue, 7,s: 1,577,404 msg/sec xenium::michael_scott_queue, 7,i: 1,661,900 msg/sec xenium::michael_scott_queue, 8,s: 555,796 msg/sec xenium::michael_scott_queue, 8,i: 1,260,447 msg/sec xenium::michael_scott_queue, 9,s: 682,914 msg/sec xenium::michael_scott_queue, 9,i: 1,044,780 msg/sec xenium::michael_scott_queue,10,s: 780,598 msg/sec xenium::michael_scott_queue,10,i: 921,053 msg/sec xenium::michael_scott_queue,11,s: 530,529 msg/sec xenium::michael_scott_queue,11,i: 509,108 msg/sec xenium::michael_scott_queue,12,s: 508,270 msg/sec xenium::michael_scott_queue,12,i: 866,810 msg/sec xenium::michael_scott_queue,13,s: 526,552 msg/sec xenium::michael_scott_queue,13,i: 513,888 msg/sec xenium::michael_scott_queue,14,s: 525,496 msg/sec xenium::michael_scott_queue,14,i: 505,587 msg/sec xenium::ramalhete_queue, 1,s: 16,029,700 msg/sec xenium::ramalhete_queue, 1,i: 15,921,578 msg/sec xenium::ramalhete_queue, 2,s: 10,891,091 msg/sec xenium::ramalhete_queue, 2,i: 6,911,654 msg/sec xenium::ramalhete_queue, 3,s: 5,944,848 msg/sec xenium::ramalhete_queue, 3,i: 7,669,450 msg/sec xenium::ramalhete_queue, 4,s: 7,308,769 msg/sec xenium::ramalhete_queue, 4,i: 7,373,972 msg/sec xenium::ramalhete_queue, 5,s: 7,701,390 msg/sec xenium::ramalhete_queue, 5,i: 8,156,955 msg/sec xenium::ramalhete_queue, 6,s: 8,548,327 msg/sec xenium::ramalhete_queue, 6,i: 8,426,109 msg/sec xenium::ramalhete_queue, 7,s: 7,986,679 msg/sec xenium::ramalhete_queue, 7,i: 8,666,588 msg/sec xenium::ramalhete_queue, 8,s: 7,680,012 msg/sec xenium::ramalhete_queue, 8,i: 8,005,209 msg/sec xenium::ramalhete_queue, 9,s: 7,719,682 msg/sec xenium::ramalhete_queue, 9,i: 7,110,063 msg/sec xenium::ramalhete_queue,10,s: 8,202,128 msg/sec xenium::ramalhete_queue,10,i: 7,965,201 msg/sec xenium::ramalhete_queue,11,s: 8,146,204 msg/sec xenium::ramalhete_queue,11,i: 7,750,336 msg/sec xenium::ramalhete_queue,12,s: 8,199,119 msg/sec xenium::ramalhete_queue,12,i: 8,571,020 msg/sec xenium::ramalhete_queue,13,s: 9,273,604 msg/sec xenium::ramalhete_queue,13,i: 8,265,777 msg/sec xenium::ramalhete_queue,14,s: 10,780,072 msg/sec xenium::ramalhete_queue,14,i: 8,214,642 msg/sec xenium::vyukov_bounded_queue, 1,s: 29,697,947 msg/sec xenium::vyukov_bounded_queue, 1,i: 51,398,284 msg/sec xenium::vyukov_bounded_queue, 2,s: 8,075,221 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,689,938 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,440,222 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,815,335 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,913,609 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,066,543 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,332,066 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,528,864 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,141,288 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,240,377 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,052,838 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,935,632 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,352,337 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,466,111 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,196,803 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,660,238 msg/sec xenium::vyukov_bounded_queue,10,s: 1,065,422 msg/sec xenium::vyukov_bounded_queue,10,i: 1,424,951 msg/sec xenium::vyukov_bounded_queue,11,s: 1,084,781 msg/sec xenium::vyukov_bounded_queue,11,i: 1,373,129 msg/sec xenium::vyukov_bounded_queue,12,s: 630,659 msg/sec xenium::vyukov_bounded_queue,12,i: 1,027,496 msg/sec xenium::vyukov_bounded_queue,13,s: 504,069 msg/sec xenium::vyukov_bounded_queue,13,i: 1,086,209 msg/sec xenium::vyukov_bounded_queue,14,s: 491,006 msg/sec xenium::vyukov_bounded_queue,14,i: 1,027,725 msg/sec AtomicQueue, 1,s: 10,771,048 msg/sec AtomicQueue, 1,i: 10,847,253 msg/sec AtomicQueue, 2,s: 3,494,748 msg/sec AtomicQueue, 2,i: 4,050,520 msg/sec AtomicQueue, 3,s: 2,695,764 msg/sec AtomicQueue, 3,i: 2,889,021 msg/sec AtomicQueue, 4,s: 2,220,424 msg/sec AtomicQueue, 4,i: 2,457,862 msg/sec AtomicQueue, 5,s: 2,041,648 msg/sec AtomicQueue, 5,i: 2,122,439 msg/sec AtomicQueue, 6,s: 1,825,672 msg/sec AtomicQueue, 6,i: 1,926,864 msg/sec AtomicQueue, 7,s: 1,855,152 msg/sec AtomicQueue, 7,i: 1,801,074 msg/sec AtomicQueue, 8,s: 680,652 msg/sec AtomicQueue, 8,i: 1,545,319 msg/sec AtomicQueue, 9,s: 579,848 msg/sec AtomicQueue, 9,i: 1,437,834 msg/sec AtomicQueue,10,s: 552,416 msg/sec AtomicQueue,10,i: 1,295,718 msg/sec AtomicQueue,11,s: 495,836 msg/sec AtomicQueue,11,i: 1,055,296 msg/sec AtomicQueue,12,s: 516,066 msg/sec AtomicQueue,12,i: 1,005,455 msg/sec AtomicQueue,13,s: 662,235 msg/sec AtomicQueue,13,i: 539,731 msg/sec AtomicQueue,14,s: 514,913 msg/sec AtomicQueue,14,i: 528,919 msg/sec AtomicQueueB, 1,s: 13,737,708 msg/sec AtomicQueueB, 1,i: 14,826,245 msg/sec AtomicQueueB, 2,s: 3,295,306 msg/sec AtomicQueueB, 2,i: 3,677,358 msg/sec AtomicQueueB, 3,s: 2,594,100 msg/sec AtomicQueueB, 3,i: 2,969,683 msg/sec AtomicQueueB, 4,s: 2,436,759 msg/sec AtomicQueueB, 4,i: 2,627,611 msg/sec AtomicQueueB, 5,s: 2,031,091 msg/sec AtomicQueueB, 5,i: 2,210,523 msg/sec AtomicQueueB, 6,s: 1,875,015 msg/sec AtomicQueueB, 6,i: 1,836,817 msg/sec AtomicQueueB, 7,s: 1,674,100 msg/sec AtomicQueueB, 7,i: 1,799,199 msg/sec AtomicQueueB, 8,s: 693,118 msg/sec AtomicQueueB, 8,i: 1,599,662 msg/sec AtomicQueueB, 9,s: 504,575 msg/sec AtomicQueueB, 9,i: 1,078,057 msg/sec AtomicQueueB,10,s: 680,985 msg/sec AtomicQueueB,10,i: 1,021,604 msg/sec AtomicQueueB,11,s: 507,798 msg/sec AtomicQueueB,11,i: 1,129,348 msg/sec AtomicQueueB,12,s: 687,814 msg/sec AtomicQueueB,12,i: 1,134,736 msg/sec AtomicQueueB,13,s: 502,564 msg/sec AtomicQueueB,13,i: 536,005 msg/sec AtomicQueueB,14,s: 530,577 msg/sec AtomicQueueB,14,i: 531,819 msg/sec OptimistAtomicQueue, 1,s: 242,950,692 msg/sec OptimistAtomicQueue, 1,i: 245,155,537 msg/sec OptimistAtomicQueue, 2,s: 9,860,727 msg/sec OptimistAtomicQueue, 2,i: 6,852,337 msg/sec OptimistAtomicQueue, 3,s: 11,536,074 msg/sec OptimistAtomicQueue, 3,i: 12,427,338 msg/sec OptimistAtomicQueue, 4,s: 12,749,022 msg/sec OptimistAtomicQueue, 4,i: 9,567,001 msg/sec OptimistAtomicQueue, 5,s: 12,455,560 msg/sec OptimistAtomicQueue, 5,i: 12,880,471 msg/sec OptimistAtomicQueue, 6,s: 12,313,994 msg/sec OptimistAtomicQueue, 6,i: 12,893,794 msg/sec OptimistAtomicQueue, 7,s: 12,249,198 msg/sec OptimistAtomicQueue, 7,i: 13,823,663 msg/sec OptimistAtomicQueue, 8,s: 9,397,814 msg/sec OptimistAtomicQueue, 8,i: 10,900,341 msg/sec OptimistAtomicQueue, 9,s: 8,238,769 msg/sec OptimistAtomicQueue, 9,i: 9,692,997 msg/sec OptimistAtomicQueue,10,s: 8,150,838 msg/sec OptimistAtomicQueue,10,i: 10,108,478 msg/sec OptimistAtomicQueue,11,s: 8,186,293 msg/sec OptimistAtomicQueue,11,i: 10,365,199 msg/sec OptimistAtomicQueue,12,s: 8,081,675 msg/sec OptimistAtomicQueue,12,i: 10,751,908 msg/sec OptimistAtomicQueue,13,s: 8,348,758 msg/sec OptimistAtomicQueue,13,i: 10,688,046 msg/sec OptimistAtomicQueue,14,s: 8,318,965 msg/sec OptimistAtomicQueue,14,i: 10,629,635 msg/sec OptimistAtomicQueueB, 1,s: 57,607,099 msg/sec OptimistAtomicQueueB, 1,i: 33,929,739 msg/sec OptimistAtomicQueueB, 2,s: 11,315,144 msg/sec OptimistAtomicQueueB, 2,i: 11,028,055 msg/sec OptimistAtomicQueueB, 3,s: 13,478,257 msg/sec OptimistAtomicQueueB, 3,i: 12,606,113 msg/sec OptimistAtomicQueueB, 4,s: 12,717,148 msg/sec OptimistAtomicQueueB, 4,i: 12,829,597 msg/sec OptimistAtomicQueueB, 5,s: 12,870,465 msg/sec OptimistAtomicQueueB, 5,i: 12,666,752 msg/sec OptimistAtomicQueueB, 6,s: 11,821,728 msg/sec OptimistAtomicQueueB, 6,i: 13,529,534 msg/sec OptimistAtomicQueueB, 7,s: 12,710,255 msg/sec OptimistAtomicQueueB, 7,i: 13,917,250 msg/sec OptimistAtomicQueueB, 8,s: 9,611,197 msg/sec OptimistAtomicQueueB, 8,i: 9,217,992 msg/sec OptimistAtomicQueueB, 9,s: 8,037,599 msg/sec OptimistAtomicQueueB, 9,i: 9,332,548 msg/sec OptimistAtomicQueueB,10,s: 7,666,387 msg/sec OptimistAtomicQueueB,10,i: 9,894,293 msg/sec OptimistAtomicQueueB,11,s: 7,957,849 msg/sec OptimistAtomicQueueB,11,i: 10,067,345 msg/sec OptimistAtomicQueueB,12,s: 7,708,761 msg/sec OptimistAtomicQueueB,12,i: 9,980,331 msg/sec OptimistAtomicQueueB,13,s: 7,725,882 msg/sec OptimistAtomicQueueB,13,i: 10,131,101 msg/sec OptimistAtomicQueueB,14,s: 7,978,334 msg/sec OptimistAtomicQueueB,14,i: 10,409,087 msg/sec AtomicQueue2, 1,s: 17,210,038 msg/sec AtomicQueue2, 1,i: 9,114,009 msg/sec AtomicQueue2, 2,s: 4,150,700 msg/sec AtomicQueue2, 2,i: 3,845,463 msg/sec AtomicQueue2, 3,s: 2,472,697 msg/sec AtomicQueue2, 3,i: 3,025,194 msg/sec AtomicQueue2, 4,s: 2,227,626 msg/sec AtomicQueue2, 4,i: 2,451,933 msg/sec AtomicQueue2, 5,s: 2,014,206 msg/sec AtomicQueue2, 5,i: 2,116,309 msg/sec AtomicQueue2, 6,s: 1,926,729 msg/sec AtomicQueue2, 6,i: 2,005,640 msg/sec AtomicQueue2, 7,s: 1,627,175 msg/sec AtomicQueue2, 7,i: 1,701,970 msg/sec AtomicQueue2, 8,s: 715,681 msg/sec AtomicQueue2, 8,i: 1,535,742 msg/sec AtomicQueue2, 9,s: 586,170 msg/sec AtomicQueue2, 9,i: 1,374,261 msg/sec AtomicQueue2,10,s: 747,030 msg/sec AtomicQueue2,10,i: 1,398,473 msg/sec AtomicQueue2,11,s: 510,751 msg/sec AtomicQueue2,11,i: 1,123,191 msg/sec AtomicQueue2,12,s: 702,473 msg/sec AtomicQueue2,12,i: 1,079,340 msg/sec AtomicQueue2,13,s: 505,083 msg/sec AtomicQueue2,13,i: 564,567 msg/sec AtomicQueue2,14,s: 513,472 msg/sec AtomicQueue2,14,i: 537,855 msg/sec AtomicQueueB2, 1,s: 8,011,120 msg/sec AtomicQueueB2, 1,i: 8,098,739 msg/sec AtomicQueueB2, 2,s: 2,792,639 msg/sec AtomicQueueB2, 2,i: 3,582,520 msg/sec AtomicQueueB2, 3,s: 2,892,981 msg/sec AtomicQueueB2, 3,i: 3,142,257 msg/sec AtomicQueueB2, 4,s: 2,311,949 msg/sec AtomicQueueB2, 4,i: 2,493,426 msg/sec AtomicQueueB2, 5,s: 2,238,826 msg/sec AtomicQueueB2, 5,i: 2,321,378 msg/sec AtomicQueueB2, 6,s: 1,854,456 msg/sec AtomicQueueB2, 6,i: 2,000,264 msg/sec AtomicQueueB2, 7,s: 1,352,736 msg/sec AtomicQueueB2, 7,i: 1,624,715 msg/sec AtomicQueueB2, 8,s: 734,970 msg/sec AtomicQueueB2, 8,i: 1,496,032 msg/sec AtomicQueueB2, 9,s: 684,889 msg/sec AtomicQueueB2, 9,i: 1,538,213 msg/sec AtomicQueueB2,10,s: 585,020 msg/sec AtomicQueueB2,10,i: 1,284,402 msg/sec AtomicQueueB2,11,s: 536,205 msg/sec AtomicQueueB2,11,i: 1,118,544 msg/sec AtomicQueueB2,12,s: 492,851 msg/sec AtomicQueueB2,12,i: 1,118,917 msg/sec AtomicQueueB2,13,s: 502,873 msg/sec AtomicQueueB2,13,i: 563,952 msg/sec AtomicQueueB2,14,s: 516,966 msg/sec AtomicQueueB2,14,i: 748,570 msg/sec OptimistAtomicQueue2, 1,s: 93,170,815 msg/sec OptimistAtomicQueue2, 1,i: 121,429,312 msg/sec OptimistAtomicQueue2, 2,s: 6,412,886 msg/sec OptimistAtomicQueue2, 2,i: 6,850,452 msg/sec OptimistAtomicQueue2, 3,s: 7,928,365 msg/sec OptimistAtomicQueue2, 3,i: 10,029,884 msg/sec OptimistAtomicQueue2, 4,s: 10,952,251 msg/sec OptimistAtomicQueue2, 4,i: 12,734,246 msg/sec OptimistAtomicQueue2, 5,s: 11,123,531 msg/sec OptimistAtomicQueue2, 5,i: 12,345,025 msg/sec OptimistAtomicQueue2, 6,s: 12,097,689 msg/sec OptimistAtomicQueue2, 6,i: 12,455,143 msg/sec OptimistAtomicQueue2, 7,s: 12,126,123 msg/sec OptimistAtomicQueue2, 7,i: 13,278,011 msg/sec OptimistAtomicQueue2, 8,s: 9,048,589 msg/sec OptimistAtomicQueue2, 8,i: 8,744,398 msg/sec OptimistAtomicQueue2, 9,s: 7,878,186 msg/sec OptimistAtomicQueue2, 9,i: 8,933,841 msg/sec OptimistAtomicQueue2,10,s: 7,270,803 msg/sec OptimistAtomicQueue2,10,i: 9,188,627 msg/sec OptimistAtomicQueue2,11,s: 7,306,288 msg/sec OptimistAtomicQueue2,11,i: 9,000,096 msg/sec OptimistAtomicQueue2,12,s: 7,796,865 msg/sec OptimistAtomicQueue2,12,i: 9,260,823 msg/sec OptimistAtomicQueue2,13,s: 8,212,287 msg/sec OptimistAtomicQueue2,13,i: 9,983,718 msg/sec OptimistAtomicQueue2,14,s: 8,211,362 msg/sec OptimistAtomicQueue2,14,i: 9,778,168 msg/sec OptimistAtomicQueueB2, 1,s: 17,689,465 msg/sec OptimistAtomicQueueB2, 1,i: 17,742,815 msg/sec OptimistAtomicQueueB2, 2,s: 9,665,852 msg/sec OptimistAtomicQueueB2, 2,i: 10,384,458 msg/sec OptimistAtomicQueueB2, 3,s: 11,989,557 msg/sec OptimistAtomicQueueB2, 3,i: 10,684,355 msg/sec OptimistAtomicQueueB2, 4,s: 10,938,916 msg/sec OptimistAtomicQueueB2, 4,i: 10,959,205 msg/sec OptimistAtomicQueueB2, 5,s: 7,964,167 msg/sec OptimistAtomicQueueB2, 5,i: 11,924,232 msg/sec OptimistAtomicQueueB2, 6,s: 11,679,181 msg/sec OptimistAtomicQueueB2, 6,i: 12,240,689 msg/sec OptimistAtomicQueueB2, 7,s: 12,777,591 msg/sec OptimistAtomicQueueB2, 7,i: 12,415,980 msg/sec OptimistAtomicQueueB2, 8,s: 7,948,672 msg/sec OptimistAtomicQueueB2, 8,i: 9,514,703 msg/sec OptimistAtomicQueueB2, 9,s: 7,314,675 msg/sec OptimistAtomicQueueB2, 9,i: 8,665,726 msg/sec OptimistAtomicQueueB2,10,s: 7,399,321 msg/sec OptimistAtomicQueueB2,10,i: 8,876,772 msg/sec OptimistAtomicQueueB2,11,s: 7,191,631 msg/sec OptimistAtomicQueueB2,11,i: 8,836,911 msg/sec OptimistAtomicQueueB2,12,s: 7,063,191 msg/sec OptimistAtomicQueueB2,12,i: 9,334,446 msg/sec OptimistAtomicQueueB2,13,s: 7,785,223 msg/sec OptimistAtomicQueueB2,13,i: 9,971,935 msg/sec OptimistAtomicQueueB2,14,s: 8,089,951 msg/sec OptimistAtomicQueueB2,14,i: 9,039,241 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000298 sec/round-trip boost::lockfree::queue: 0.000000750 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000319 sec/round-trip moodycamel::ConcurrentQueue: 0.000000494 sec/round-trip pthread_spinlock: 0.000000864 sec/round-trip std::mutex: 0.000001972 sec/round-trip tbb::spin_mutex: 0.000000738 sec/round-trip tbb::concurrent_bounded_queue: 0.000000608 sec/round-trip xenium::michael_scott_queue: 0.000000790 sec/round-trip xenium::ramalhete_queue: 0.000000522 sec/round-trip xenium::vyukov_bounded_queue: 0.000000498 sec/round-trip AtomicQueue: 0.000000305 sec/round-trip AtomicQueueB: 0.000000386 sec/round-trip OptimistAtomicQueue: 0.000000331 sec/round-trip OptimistAtomicQueueB: 0.000000334 sec/round-trip AtomicQueue2: 0.000000365 sec/round-trip AtomicQueueB2: 0.000000424 sec/round-trip OptimistAtomicQueue2: 0.000000373 sec/round-trip OptimistAtomicQueueB2: 0.000000355 sec/round-trip [30/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 33,789,391 msg/sec boost::lockfree::spsc_queue, 1,i: 33,773,219 msg/sec boost::lockfree::queue, 1,s: 3,047,043 msg/sec boost::lockfree::queue, 1,i: 2,820,790 msg/sec boost::lockfree::queue, 2,s: 2,554,914 msg/sec boost::lockfree::queue, 2,i: 2,570,909 msg/sec boost::lockfree::queue, 3,s: 2,315,155 msg/sec boost::lockfree::queue, 3,i: 2,475,624 msg/sec boost::lockfree::queue, 4,s: 2,331,926 msg/sec boost::lockfree::queue, 4,i: 2,080,005 msg/sec boost::lockfree::queue, 5,s: 2,038,242 msg/sec boost::lockfree::queue, 5,i: 2,233,666 msg/sec boost::lockfree::queue, 6,s: 1,971,182 msg/sec boost::lockfree::queue, 6,i: 2,140,861 msg/sec boost::lockfree::queue, 7,s: 1,982,780 msg/sec boost::lockfree::queue, 7,i: 1,917,228 msg/sec boost::lockfree::queue, 8,s: 1,056,022 msg/sec boost::lockfree::queue, 8,i: 1,436,108 msg/sec boost::lockfree::queue, 9,s: 534,214 msg/sec boost::lockfree::queue, 9,i: 1,070,490 msg/sec boost::lockfree::queue,10,s: 806,939 msg/sec boost::lockfree::queue,10,i: 1,110,937 msg/sec boost::lockfree::queue,11,s: 795,913 msg/sec boost::lockfree::queue,11,i: 557,649 msg/sec boost::lockfree::queue,12,s: 528,869 msg/sec boost::lockfree::queue,12,i: 766,317 msg/sec boost::lockfree::queue,13,s: 770,905 msg/sec boost::lockfree::queue,13,i: 541,020 msg/sec boost::lockfree::queue,14,s: 508,792 msg/sec boost::lockfree::queue,14,i: 510,032 msg/sec moodycamel::ReaderWriterQueue, 1,s: 25,255,395 msg/sec moodycamel::ReaderWriterQueue, 1,i: 19,470,827 msg/sec moodycamel::ConcurrentQueue, 1,s: 12,695,169 msg/sec moodycamel::ConcurrentQueue, 1,i: 11,905,325 msg/sec moodycamel::ConcurrentQueue, 2,s: 6,081,544 msg/sec moodycamel::ConcurrentQueue, 2,i: 21,840,508 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,705,250 msg/sec moodycamel::ConcurrentQueue, 3,i: 7,295,550 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,767,103 msg/sec moodycamel::ConcurrentQueue, 4,i: 6,003,930 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,992,371 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,337,796 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,262,578 msg/sec moodycamel::ConcurrentQueue, 6,i: 5,578,010 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,656,049 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,926,602 msg/sec moodycamel::ConcurrentQueue, 8,s: 4,652,726 msg/sec moodycamel::ConcurrentQueue, 8,i: 5,605,740 msg/sec moodycamel::ConcurrentQueue, 9,s: 4,919,669 msg/sec moodycamel::ConcurrentQueue, 9,i: 4,923,829 msg/sec moodycamel::ConcurrentQueue,10,s: 10,011,503 msg/sec moodycamel::ConcurrentQueue,10,i: 5,411,170 msg/sec moodycamel::ConcurrentQueue,11,s: 16,654,348 msg/sec moodycamel::ConcurrentQueue,11,i: 30,337,177 msg/sec moodycamel::ConcurrentQueue,12,s: 9,608,078 msg/sec moodycamel::ConcurrentQueue,12,i: 5,493,126 msg/sec moodycamel::ConcurrentQueue,13,s: 11,254,079 msg/sec moodycamel::ConcurrentQueue,13,i: 5,593,201 msg/sec moodycamel::ConcurrentQueue,14,s: 6,731,459 msg/sec moodycamel::ConcurrentQueue,14,i: 10,164,027 msg/sec pthread_spinlock, 1,s: 5,608,626 msg/sec pthread_spinlock, 1,i: 5,529,396 msg/sec pthread_spinlock, 2,s: 4,074,476 msg/sec pthread_spinlock, 2,i: 4,310,602 msg/sec pthread_spinlock, 3,s: 3,257,886 msg/sec pthread_spinlock, 3,i: 3,315,629 msg/sec pthread_spinlock, 4,s: 2,572,645 msg/sec pthread_spinlock, 4,i: 2,498,127 msg/sec pthread_spinlock, 5,s: 2,053,549 msg/sec pthread_spinlock, 5,i: 2,120,840 msg/sec pthread_spinlock, 6,s: 1,845,329 msg/sec pthread_spinlock, 6,i: 2,001,593 msg/sec pthread_spinlock, 7,s: 1,778,980 msg/sec pthread_spinlock, 7,i: 1,670,165 msg/sec pthread_spinlock, 8,s: 1,110,792 msg/sec pthread_spinlock, 8,i: 1,129,303 msg/sec pthread_spinlock, 9,s: 826,189 msg/sec pthread_spinlock, 9,i: 548,397 msg/sec pthread_spinlock,10,s: 833,508 msg/sec pthread_spinlock,10,i: 500,739 msg/sec pthread_spinlock,11,s: 551,828 msg/sec pthread_spinlock,11,i: 579,810 msg/sec pthread_spinlock,12,s: 499,888 msg/sec pthread_spinlock,12,i: 783,144 msg/sec pthread_spinlock,13,s: 524,665 msg/sec pthread_spinlock,13,i: 807,341 msg/sec pthread_spinlock,14,s: 613,391 msg/sec pthread_spinlock,14,i: 617,589 msg/sec std::mutex, 1,s: 5,852,568 msg/sec std::mutex, 1,i: 6,157,302 msg/sec std::mutex, 2,s: 4,611,754 msg/sec std::mutex, 2,i: 4,503,969 msg/sec std::mutex, 3,s: 3,000,978 msg/sec std::mutex, 3,i: 2,951,960 msg/sec std::mutex, 4,s: 2,872,279 msg/sec std::mutex, 4,i: 2,885,458 msg/sec std::mutex, 5,s: 3,699,048 msg/sec std::mutex, 5,i: 3,654,152 msg/sec std::mutex, 6,s: 4,729,608 msg/sec std::mutex, 6,i: 4,740,068 msg/sec std::mutex, 7,s: 6,145,128 msg/sec std::mutex, 7,i: 6,226,017 msg/sec std::mutex, 8,s: 6,600,418 msg/sec std::mutex, 8,i: 6,251,537 msg/sec std::mutex, 9,s: 5,897,492 msg/sec std::mutex, 9,i: 5,203,333 msg/sec std::mutex,10,s: 5,593,114 msg/sec std::mutex,10,i: 5,091,454 msg/sec std::mutex,11,s: 5,121,893 msg/sec std::mutex,11,i: 5,087,640 msg/sec std::mutex,12,s: 4,799,283 msg/sec std::mutex,12,i: 5,124,357 msg/sec std::mutex,13,s: 4,704,684 msg/sec std::mutex,13,i: 5,160,965 msg/sec std::mutex,14,s: 4,519,319 msg/sec std::mutex,14,i: 5,140,261 msg/sec tbb::spin_mutex, 1,s: 22,758,129 msg/sec tbb::spin_mutex, 1,i: 22,873,599 msg/sec tbb::spin_mutex, 2,s: 13,479,948 msg/sec tbb::spin_mutex, 2,i: 13,577,164 msg/sec tbb::spin_mutex, 3,s: 9,982,383 msg/sec tbb::spin_mutex, 3,i: 9,620,454 msg/sec tbb::spin_mutex, 4,s: 6,652,443 msg/sec tbb::spin_mutex, 4,i: 6,538,831 msg/sec tbb::spin_mutex, 5,s: 4,235,345 msg/sec tbb::spin_mutex, 5,i: 5,184,608 msg/sec tbb::spin_mutex, 6,s: 2,627,610 msg/sec tbb::spin_mutex, 6,i: 3,479,795 msg/sec tbb::spin_mutex, 7,s: 2,459,902 msg/sec tbb::spin_mutex, 7,i: 2,522,870 msg/sec tbb::spin_mutex, 8,s: 1,135,313 msg/sec tbb::spin_mutex, 8,i: 1,077,261 msg/sec tbb::spin_mutex, 9,s: 796,781 msg/sec tbb::spin_mutex, 9,i: 989,318 msg/sec tbb::spin_mutex,10,s: 719,521 msg/sec tbb::spin_mutex,10,i: 811,951 msg/sec tbb::spin_mutex,11,s: 617,102 msg/sec tbb::spin_mutex,11,i: 747,498 msg/sec tbb::spin_mutex,12,s: 403,579 msg/sec tbb::spin_mutex,12,i: 609,750 msg/sec tbb::spin_mutex,13,s: 430,548 msg/sec tbb::spin_mutex,13,i: 563,621 msg/sec tbb::spin_mutex,14,s: 452,842 msg/sec tbb::spin_mutex,14,i: 455,951 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,215,737 msg/sec tbb::concurrent_bounded_queue, 1,i: 3,145,387 msg/sec tbb::concurrent_bounded_queue, 2,s: 3,706,341 msg/sec tbb::concurrent_bounded_queue, 2,i: 3,694,771 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,475,746 msg/sec tbb::concurrent_bounded_queue, 3,i: 3,564,107 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,303,314 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,291,142 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,034,226 msg/sec tbb::concurrent_bounded_queue, 5,i: 2,917,806 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,675,778 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,748,385 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,366,510 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,442,632 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,109,918 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,956,516 msg/sec tbb::concurrent_bounded_queue, 9,s: 768,399 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,608,644 msg/sec tbb::concurrent_bounded_queue,10,s: 916,348 msg/sec tbb::concurrent_bounded_queue,10,i: 1,457,840 msg/sec tbb::concurrent_bounded_queue,11,s: 1,074,399 msg/sec tbb::concurrent_bounded_queue,11,i: 1,223,211 msg/sec tbb::concurrent_bounded_queue,12,s: 1,195,620 msg/sec tbb::concurrent_bounded_queue,12,i: 1,087,518 msg/sec tbb::concurrent_bounded_queue,13,s: 672,137 msg/sec tbb::concurrent_bounded_queue,13,i: 1,071,405 msg/sec tbb::concurrent_bounded_queue,14,s: 568,180 msg/sec tbb::concurrent_bounded_queue,14,i: 1,047,686 msg/sec xenium::michael_scott_queue, 1,s: 2,347,670 msg/sec xenium::michael_scott_queue, 1,i: 3,743,478 msg/sec xenium::michael_scott_queue, 2,s: 2,638,010 msg/sec xenium::michael_scott_queue, 2,i: 2,470,497 msg/sec xenium::michael_scott_queue, 3,s: 2,310,640 msg/sec xenium::michael_scott_queue, 3,i: 2,429,899 msg/sec xenium::michael_scott_queue, 4,s: 2,094,940 msg/sec xenium::michael_scott_queue, 4,i: 2,177,412 msg/sec xenium::michael_scott_queue, 5,s: 1,702,595 msg/sec xenium::michael_scott_queue, 5,i: 1,966,871 msg/sec xenium::michael_scott_queue, 6,s: 1,760,872 msg/sec xenium::michael_scott_queue, 6,i: 1,808,097 msg/sec xenium::michael_scott_queue, 7,s: 1,696,839 msg/sec xenium::michael_scott_queue, 7,i: 1,677,306 msg/sec xenium::michael_scott_queue, 8,s: 1,048,171 msg/sec xenium::michael_scott_queue, 8,i: 1,234,845 msg/sec xenium::michael_scott_queue, 9,s: 652,679 msg/sec xenium::michael_scott_queue, 9,i: 1,188,874 msg/sec xenium::michael_scott_queue,10,s: 745,940 msg/sec xenium::michael_scott_queue,10,i: 936,059 msg/sec xenium::michael_scott_queue,11,s: 503,787 msg/sec xenium::michael_scott_queue,11,i: 982,591 msg/sec xenium::michael_scott_queue,12,s: 546,123 msg/sec xenium::michael_scott_queue,12,i: 844,654 msg/sec xenium::michael_scott_queue,13,s: 778,033 msg/sec xenium::michael_scott_queue,13,i: 520,604 msg/sec xenium::michael_scott_queue,14,s: 500,772 msg/sec xenium::michael_scott_queue,14,i: 508,835 msg/sec xenium::ramalhete_queue, 1,s: 12,062,437 msg/sec xenium::ramalhete_queue, 1,i: 15,330,392 msg/sec xenium::ramalhete_queue, 2,s: 9,097,174 msg/sec xenium::ramalhete_queue, 2,i: 10,220,960 msg/sec xenium::ramalhete_queue, 3,s: 7,846,356 msg/sec xenium::ramalhete_queue, 3,i: 7,077,974 msg/sec xenium::ramalhete_queue, 4,s: 7,307,547 msg/sec xenium::ramalhete_queue, 4,i: 7,787,436 msg/sec xenium::ramalhete_queue, 5,s: 8,531,406 msg/sec xenium::ramalhete_queue, 5,i: 8,356,187 msg/sec xenium::ramalhete_queue, 6,s: 11,843,149 msg/sec xenium::ramalhete_queue, 6,i: 11,589,174 msg/sec xenium::ramalhete_queue, 7,s: 10,523,674 msg/sec xenium::ramalhete_queue, 7,i: 10,764,019 msg/sec xenium::ramalhete_queue, 8,s: 7,311,533 msg/sec xenium::ramalhete_queue, 8,i: 8,481,859 msg/sec xenium::ramalhete_queue, 9,s: 8,347,077 msg/sec xenium::ramalhete_queue, 9,i: 8,016,398 msg/sec xenium::ramalhete_queue,10,s: 8,461,823 msg/sec xenium::ramalhete_queue,10,i: 8,110,295 msg/sec xenium::ramalhete_queue,11,s: 8,579,131 msg/sec xenium::ramalhete_queue,11,i: 8,434,678 msg/sec xenium::ramalhete_queue,12,s: 8,671,483 msg/sec xenium::ramalhete_queue,12,i: 8,571,354 msg/sec xenium::ramalhete_queue,13,s: 9,007,905 msg/sec xenium::ramalhete_queue,13,i: 8,153,159 msg/sec xenium::ramalhete_queue,14,s: 10,731,848 msg/sec xenium::ramalhete_queue,14,i: 8,515,168 msg/sec xenium::vyukov_bounded_queue, 1,s: 32,673,447 msg/sec xenium::vyukov_bounded_queue, 1,i: 55,682,325 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,775,144 msg/sec xenium::vyukov_bounded_queue, 2,i: 8,153,564 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,496,574 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,485,289 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,999,169 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,811,831 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,476,820 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,501,862 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,281,325 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,366,820 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,109,397 msg/sec xenium::vyukov_bounded_queue, 7,i: 3,168,692 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,429,756 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,177,874 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,210,270 msg/sec xenium::vyukov_bounded_queue, 9,i: 2,129,644 msg/sec xenium::vyukov_bounded_queue,10,s: 1,177,014 msg/sec xenium::vyukov_bounded_queue,10,i: 1,332,870 msg/sec xenium::vyukov_bounded_queue,11,s: 1,107,530 msg/sec xenium::vyukov_bounded_queue,11,i: 1,376,613 msg/sec xenium::vyukov_bounded_queue,12,s: 1,020,551 msg/sec xenium::vyukov_bounded_queue,12,i: 1,281,090 msg/sec xenium::vyukov_bounded_queue,13,s: 646,758 msg/sec xenium::vyukov_bounded_queue,13,i: 1,203,077 msg/sec xenium::vyukov_bounded_queue,14,s: 691,689 msg/sec xenium::vyukov_bounded_queue,14,i: 535,338 msg/sec AtomicQueue, 1,s: 17,402,305 msg/sec AtomicQueue, 1,i: 18,081,740 msg/sec AtomicQueue, 2,s: 3,470,396 msg/sec AtomicQueue, 2,i: 3,434,044 msg/sec AtomicQueue, 3,s: 2,677,458 msg/sec AtomicQueue, 3,i: 2,786,723 msg/sec AtomicQueue, 4,s: 2,462,238 msg/sec AtomicQueue, 4,i: 2,723,570 msg/sec AtomicQueue, 5,s: 2,223,762 msg/sec AtomicQueue, 5,i: 2,294,880 msg/sec AtomicQueue, 6,s: 1,950,505 msg/sec AtomicQueue, 6,i: 1,961,902 msg/sec AtomicQueue, 7,s: 1,648,394 msg/sec AtomicQueue, 7,i: 1,914,063 msg/sec AtomicQueue, 8,s: 884,640 msg/sec AtomicQueue, 8,i: 1,716,038 msg/sec AtomicQueue, 9,s: 838,688 msg/sec AtomicQueue, 9,i: 1,168,128 msg/sec AtomicQueue,10,s: 555,156 msg/sec AtomicQueue,10,i: 1,365,907 msg/sec AtomicQueue,11,s: 781,380 msg/sec AtomicQueue,11,i: 1,229,289 msg/sec AtomicQueue,12,s: 763,116 msg/sec AtomicQueue,12,i: 533,809 msg/sec AtomicQueue,13,s: 512,112 msg/sec AtomicQueue,13,i: 1,051,905 msg/sec AtomicQueue,14,s: 517,111 msg/sec AtomicQueue,14,i: 522,691 msg/sec AtomicQueueB, 1,s: 13,896,306 msg/sec AtomicQueueB, 1,i: 14,254,826 msg/sec AtomicQueueB, 2,s: 3,402,344 msg/sec AtomicQueueB, 2,i: 3,992,731 msg/sec AtomicQueueB, 3,s: 2,995,220 msg/sec AtomicQueueB, 3,i: 2,749,090 msg/sec AtomicQueueB, 4,s: 2,600,719 msg/sec AtomicQueueB, 4,i: 2,721,400 msg/sec AtomicQueueB, 5,s: 2,148,253 msg/sec AtomicQueueB, 5,i: 2,332,522 msg/sec AtomicQueueB, 6,s: 2,043,450 msg/sec AtomicQueueB, 6,i: 2,086,331 msg/sec AtomicQueueB, 7,s: 1,707,871 msg/sec AtomicQueueB, 7,i: 1,858,462 msg/sec AtomicQueueB, 8,s: 520,294 msg/sec AtomicQueueB, 8,i: 1,622,819 msg/sec AtomicQueueB, 9,s: 553,914 msg/sec AtomicQueueB, 9,i: 1,429,605 msg/sec AtomicQueueB,10,s: 727,209 msg/sec AtomicQueueB,10,i: 1,361,305 msg/sec AtomicQueueB,11,s: 568,771 msg/sec AtomicQueueB,11,i: 1,191,779 msg/sec AtomicQueueB,12,s: 499,707 msg/sec AtomicQueueB,12,i: 508,110 msg/sec AtomicQueueB,13,s: 516,137 msg/sec AtomicQueueB,13,i: 504,092 msg/sec AtomicQueueB,14,s: 506,041 msg/sec AtomicQueueB,14,i: 536,759 msg/sec OptimistAtomicQueue, 1,s: 176,200,156 msg/sec OptimistAtomicQueue, 1,i: 82,406,717 msg/sec OptimistAtomicQueue, 2,s: 7,040,528 msg/sec OptimistAtomicQueue, 2,i: 7,829,132 msg/sec OptimistAtomicQueue, 3,s: 8,267,689 msg/sec OptimistAtomicQueue, 3,i: 9,758,687 msg/sec OptimistAtomicQueue, 4,s: 9,465,265 msg/sec OptimistAtomicQueue, 4,i: 9,907,124 msg/sec OptimistAtomicQueue, 5,s: 10,729,943 msg/sec OptimistAtomicQueue, 5,i: 13,308,383 msg/sec OptimistAtomicQueue, 6,s: 13,040,987 msg/sec OptimistAtomicQueue, 6,i: 13,186,202 msg/sec OptimistAtomicQueue, 7,s: 10,107,001 msg/sec OptimistAtomicQueue, 7,i: 13,857,142 msg/sec OptimistAtomicQueue, 8,s: 9,892,337 msg/sec OptimistAtomicQueue, 8,i: 11,194,475 msg/sec OptimistAtomicQueue, 9,s: 9,186,283 msg/sec OptimistAtomicQueue, 9,i: 10,253,075 msg/sec OptimistAtomicQueue,10,s: 8,313,192 msg/sec OptimistAtomicQueue,10,i: 10,388,863 msg/sec OptimistAtomicQueue,11,s: 8,090,200 msg/sec OptimistAtomicQueue,11,i: 10,474,889 msg/sec OptimistAtomicQueue,12,s: 8,289,996 msg/sec OptimistAtomicQueue,12,i: 10,835,883 msg/sec OptimistAtomicQueue,13,s: 8,461,154 msg/sec OptimistAtomicQueue,13,i: 11,201,064 msg/sec OptimistAtomicQueue,14,s: 8,629,120 msg/sec OptimistAtomicQueue,14,i: 12,177,433 msg/sec OptimistAtomicQueueB, 1,s: 34,874,529 msg/sec OptimistAtomicQueueB, 1,i: 33,633,609 msg/sec OptimistAtomicQueueB, 2,s: 12,653,165 msg/sec OptimistAtomicQueueB, 2,i: 12,389,346 msg/sec OptimistAtomicQueueB, 3,s: 13,346,111 msg/sec OptimistAtomicQueueB, 3,i: 13,381,034 msg/sec OptimistAtomicQueueB, 4,s: 12,286,299 msg/sec OptimistAtomicQueueB, 4,i: 13,337,762 msg/sec OptimistAtomicQueueB, 5,s: 12,940,469 msg/sec OptimistAtomicQueueB, 5,i: 13,738,640 msg/sec OptimistAtomicQueueB, 6,s: 13,837,140 msg/sec OptimistAtomicQueueB, 6,i: 13,878,363 msg/sec OptimistAtomicQueueB, 7,s: 13,425,974 msg/sec OptimistAtomicQueueB, 7,i: 13,744,803 msg/sec OptimistAtomicQueueB, 8,s: 9,518,626 msg/sec OptimistAtomicQueueB, 8,i: 11,025,159 msg/sec OptimistAtomicQueueB, 9,s: 8,732,665 msg/sec OptimistAtomicQueueB, 9,i: 10,284,481 msg/sec OptimistAtomicQueueB,10,s: 8,353,219 msg/sec OptimistAtomicQueueB,10,i: 10,741,389 msg/sec OptimistAtomicQueueB,11,s: 8,291,490 msg/sec OptimistAtomicQueueB,11,i: 10,582,414 msg/sec OptimistAtomicQueueB,12,s: 8,420,447 msg/sec OptimistAtomicQueueB,12,i: 10,899,147 msg/sec OptimistAtomicQueueB,13,s: 8,472,377 msg/sec OptimistAtomicQueueB,13,i: 11,033,803 msg/sec OptimistAtomicQueueB,14,s: 8,827,694 msg/sec OptimistAtomicQueueB,14,i: 11,094,282 msg/sec AtomicQueue2, 1,s: 8,864,801 msg/sec AtomicQueue2, 1,i: 16,646,428 msg/sec AtomicQueue2, 2,s: 3,072,898 msg/sec AtomicQueue2, 2,i: 2,903,869 msg/sec AtomicQueue2, 3,s: 3,077,180 msg/sec AtomicQueue2, 3,i: 3,176,340 msg/sec AtomicQueue2, 4,s: 2,359,328 msg/sec AtomicQueue2, 4,i: 2,893,203 msg/sec AtomicQueue2, 5,s: 2,043,173 msg/sec AtomicQueue2, 5,i: 2,268,973 msg/sec AtomicQueue2, 6,s: 1,928,658 msg/sec AtomicQueue2, 6,i: 2,093,665 msg/sec AtomicQueue2, 7,s: 1,752,701 msg/sec AtomicQueue2, 7,i: 1,759,840 msg/sec AtomicQueue2, 8,s: 700,604 msg/sec AtomicQueue2, 8,i: 1,651,694 msg/sec AtomicQueue2, 9,s: 523,670 msg/sec AtomicQueue2, 9,i: 1,522,933 msg/sec AtomicQueue2,10,s: 645,380 msg/sec AtomicQueue2,10,i: 1,423,078 msg/sec AtomicQueue2,11,s: 539,737 msg/sec AtomicQueue2,11,i: 1,058,639 msg/sec AtomicQueue2,12,s: 519,971 msg/sec AtomicQueue2,12,i: 1,138,096 msg/sec AtomicQueue2,13,s: 547,641 msg/sec AtomicQueue2,13,i: 554,495 msg/sec AtomicQueue2,14,s: 533,556 msg/sec AtomicQueue2,14,i: 533,326 msg/sec AtomicQueueB2, 1,s: 11,370,904 msg/sec AtomicQueueB2, 1,i: 11,485,860 msg/sec AtomicQueueB2, 2,s: 3,084,742 msg/sec AtomicQueueB2, 2,i: 3,990,186 msg/sec AtomicQueueB2, 3,s: 2,768,463 msg/sec AtomicQueueB2, 3,i: 2,854,638 msg/sec AtomicQueueB2, 4,s: 2,478,963 msg/sec AtomicQueueB2, 4,i: 2,763,650 msg/sec AtomicQueueB2, 5,s: 2,042,729 msg/sec AtomicQueueB2, 5,i: 2,083,643 msg/sec AtomicQueueB2, 6,s: 1,910,546 msg/sec AtomicQueueB2, 6,i: 1,766,699 msg/sec AtomicQueueB2, 7,s: 1,776,180 msg/sec AtomicQueueB2, 7,i: 1,751,776 msg/sec AtomicQueueB2, 8,s: 703,775 msg/sec AtomicQueueB2, 8,i: 1,649,868 msg/sec AtomicQueueB2, 9,s: 501,268 msg/sec AtomicQueueB2, 9,i: 1,435,208 msg/sec AtomicQueueB2,10,s: 671,128 msg/sec AtomicQueueB2,10,i: 1,356,537 msg/sec AtomicQueueB2,11,s: 656,173 msg/sec AtomicQueueB2,11,i: 1,295,858 msg/sec AtomicQueueB2,12,s: 736,484 msg/sec AtomicQueueB2,12,i: 1,050,734 msg/sec AtomicQueueB2,13,s: 522,458 msg/sec AtomicQueueB2,13,i: 1,050,332 msg/sec AtomicQueueB2,14,s: 499,773 msg/sec AtomicQueueB2,14,i: 514,863 msg/sec OptimistAtomicQueue2, 1,s: 71,027,864 msg/sec OptimistAtomicQueue2, 1,i: 72,528,809 msg/sec OptimistAtomicQueue2, 2,s: 6,992,521 msg/sec OptimistAtomicQueue2, 2,i: 7,597,569 msg/sec OptimistAtomicQueue2, 3,s: 8,079,977 msg/sec OptimistAtomicQueue2, 3,i: 8,705,165 msg/sec OptimistAtomicQueue2, 4,s: 8,554,496 msg/sec OptimistAtomicQueue2, 4,i: 12,234,468 msg/sec OptimistAtomicQueue2, 5,s: 12,897,950 msg/sec OptimistAtomicQueue2, 5,i: 9,107,106 msg/sec OptimistAtomicQueue2, 6,s: 9,226,004 msg/sec OptimistAtomicQueue2, 6,i: 9,641,424 msg/sec OptimistAtomicQueue2, 7,s: 13,573,813 msg/sec OptimistAtomicQueue2, 7,i: 13,954,602 msg/sec OptimistAtomicQueue2, 8,s: 9,692,168 msg/sec OptimistAtomicQueue2, 8,i: 9,118,324 msg/sec OptimistAtomicQueue2, 9,s: 8,383,995 msg/sec OptimistAtomicQueue2, 9,i: 9,530,908 msg/sec OptimistAtomicQueue2,10,s: 8,015,103 msg/sec OptimistAtomicQueue2,10,i: 9,883,215 msg/sec OptimistAtomicQueue2,11,s: 8,011,636 msg/sec OptimistAtomicQueue2,11,i: 9,994,182 msg/sec OptimistAtomicQueue2,12,s: 8,108,636 msg/sec OptimistAtomicQueue2,12,i: 10,573,060 msg/sec OptimistAtomicQueue2,13,s: 8,373,240 msg/sec OptimistAtomicQueue2,13,i: 10,658,016 msg/sec OptimistAtomicQueue2,14,s: 8,335,327 msg/sec OptimistAtomicQueue2,14,i: 10,403,721 msg/sec OptimistAtomicQueueB2, 1,s: 23,275,509 msg/sec OptimistAtomicQueueB2, 1,i: 22,927,901 msg/sec OptimistAtomicQueueB2, 2,s: 10,434,096 msg/sec OptimistAtomicQueueB2, 2,i: 9,633,029 msg/sec OptimistAtomicQueueB2, 3,s: 11,604,828 msg/sec OptimistAtomicQueueB2, 3,i: 12,305,682 msg/sec OptimistAtomicQueueB2, 4,s: 12,047,205 msg/sec OptimistAtomicQueueB2, 4,i: 12,701,964 msg/sec OptimistAtomicQueueB2, 5,s: 12,593,131 msg/sec OptimistAtomicQueueB2, 5,i: 12,617,044 msg/sec OptimistAtomicQueueB2, 6,s: 12,089,189 msg/sec OptimistAtomicQueueB2, 6,i: 12,172,084 msg/sec OptimistAtomicQueueB2, 7,s: 10,630,667 msg/sec OptimistAtomicQueueB2, 7,i: 13,099,318 msg/sec OptimistAtomicQueueB2, 8,s: 8,785,032 msg/sec OptimistAtomicQueueB2, 8,i: 8,778,383 msg/sec OptimistAtomicQueueB2, 9,s: 7,647,424 msg/sec OptimistAtomicQueueB2, 9,i: 9,217,977 msg/sec OptimistAtomicQueueB2,10,s: 7,778,368 msg/sec OptimistAtomicQueueB2,10,i: 10,038,833 msg/sec OptimistAtomicQueueB2,11,s: 7,590,538 msg/sec OptimistAtomicQueueB2,11,i: 10,862,912 msg/sec OptimistAtomicQueueB2,12,s: 7,672,225 msg/sec OptimistAtomicQueueB2,12,i: 10,069,262 msg/sec OptimistAtomicQueueB2,13,s: 7,928,028 msg/sec OptimistAtomicQueueB2,13,i: 10,184,141 msg/sec OptimistAtomicQueueB2,14,s: 8,154,046 msg/sec OptimistAtomicQueueB2,14,i: 10,248,479 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000277 sec/round-trip boost::lockfree::queue: 0.000000766 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000291 sec/round-trip moodycamel::ConcurrentQueue: 0.000000482 sec/round-trip pthread_spinlock: 0.000000644 sec/round-trip std::mutex: 0.000001893 sec/round-trip tbb::spin_mutex: 0.000000566 sec/round-trip tbb::concurrent_bounded_queue: 0.000000596 sec/round-trip xenium::michael_scott_queue: 0.000000744 sec/round-trip xenium::ramalhete_queue: 0.000000517 sec/round-trip xenium::vyukov_bounded_queue: 0.000000479 sec/round-trip AtomicQueue: 0.000000267 sec/round-trip AtomicQueueB: 0.000000375 sec/round-trip OptimistAtomicQueue: 0.000000284 sec/round-trip OptimistAtomicQueueB: 0.000000327 sec/round-trip AtomicQueue2: 0.000000315 sec/round-trip AtomicQueueB2: 0.000000430 sec/round-trip OptimistAtomicQueue2: 0.000000327 sec/round-trip OptimistAtomicQueueB2: 0.000000359 sec/round-trip [31/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 28,312,717 msg/sec boost::lockfree::spsc_queue, 1,i: 32,026,879 msg/sec boost::lockfree::queue, 1,s: 2,834,135 msg/sec boost::lockfree::queue, 1,i: 2,888,779 msg/sec boost::lockfree::queue, 2,s: 2,373,526 msg/sec boost::lockfree::queue, 2,i: 2,456,203 msg/sec boost::lockfree::queue, 3,s: 2,362,959 msg/sec boost::lockfree::queue, 3,i: 2,447,870 msg/sec boost::lockfree::queue, 4,s: 2,267,798 msg/sec boost::lockfree::queue, 4,i: 2,182,128 msg/sec boost::lockfree::queue, 5,s: 2,172,946 msg/sec boost::lockfree::queue, 5,i: 2,047,276 msg/sec boost::lockfree::queue, 6,s: 2,104,040 msg/sec boost::lockfree::queue, 6,i: 2,149,783 msg/sec boost::lockfree::queue, 7,s: 2,018,790 msg/sec boost::lockfree::queue, 7,i: 1,993,886 msg/sec boost::lockfree::queue, 8,s: 1,019,603 msg/sec boost::lockfree::queue, 8,i: 1,184,776 msg/sec boost::lockfree::queue, 9,s: 839,848 msg/sec boost::lockfree::queue, 9,i: 944,940 msg/sec boost::lockfree::queue,10,s: 533,040 msg/sec boost::lockfree::queue,10,i: 744,453 msg/sec boost::lockfree::queue,11,s: 640,323 msg/sec boost::lockfree::queue,11,i: 508,053 msg/sec boost::lockfree::queue,12,s: 499,227 msg/sec boost::lockfree::queue,12,i: 511,988 msg/sec boost::lockfree::queue,13,s: 501,214 msg/sec boost::lockfree::queue,13,i: 501,373 msg/sec boost::lockfree::queue,14,s: 502,136 msg/sec boost::lockfree::queue,14,i: 734,028 msg/sec moodycamel::ReaderWriterQueue, 1,s: 141,925,441 msg/sec moodycamel::ReaderWriterQueue, 1,i: 145,707,273 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,419,827 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,629,729 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,603,492 msg/sec moodycamel::ConcurrentQueue, 2,i: 6,091,254 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,762,704 msg/sec moodycamel::ConcurrentQueue, 3,i: 6,009,330 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,872,377 msg/sec moodycamel::ConcurrentQueue, 4,i: 17,855,350 msg/sec moodycamel::ConcurrentQueue, 5,s: 5,930,361 msg/sec moodycamel::ConcurrentQueue, 5,i: 6,768,828 msg/sec moodycamel::ConcurrentQueue, 6,s: 6,656,314 msg/sec moodycamel::ConcurrentQueue, 6,i: 13,583,529 msg/sec moodycamel::ConcurrentQueue, 7,s: 11,409,212 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,517,136 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,375,930 msg/sec moodycamel::ConcurrentQueue, 8,i: 6,243,880 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,553,820 msg/sec moodycamel::ConcurrentQueue, 9,i: 5,675,103 msg/sec moodycamel::ConcurrentQueue,10,s: 5,357,176 msg/sec moodycamel::ConcurrentQueue,10,i: 5,694,046 msg/sec moodycamel::ConcurrentQueue,11,s: 5,250,888 msg/sec moodycamel::ConcurrentQueue,11,i: 5,280,398 msg/sec moodycamel::ConcurrentQueue,12,s: 9,567,927 msg/sec moodycamel::ConcurrentQueue,12,i: 5,448,869 msg/sec moodycamel::ConcurrentQueue,13,s: 5,057,474 msg/sec moodycamel::ConcurrentQueue,13,i: 5,603,121 msg/sec moodycamel::ConcurrentQueue,14,s: 7,089,256 msg/sec moodycamel::ConcurrentQueue,14,i: 29,423,437 msg/sec pthread_spinlock, 1,s: 5,231,653 msg/sec pthread_spinlock, 1,i: 5,083,030 msg/sec pthread_spinlock, 2,s: 3,814,296 msg/sec pthread_spinlock, 2,i: 4,207,290 msg/sec pthread_spinlock, 3,s: 3,038,581 msg/sec pthread_spinlock, 3,i: 3,370,438 msg/sec pthread_spinlock, 4,s: 2,403,075 msg/sec pthread_spinlock, 4,i: 2,474,187 msg/sec pthread_spinlock, 5,s: 2,179,444 msg/sec pthread_spinlock, 5,i: 2,084,256 msg/sec pthread_spinlock, 6,s: 1,978,746 msg/sec pthread_spinlock, 6,i: 2,078,621 msg/sec pthread_spinlock, 7,s: 1,862,684 msg/sec pthread_spinlock, 7,i: 1,854,344 msg/sec pthread_spinlock, 8,s: 1,005,246 msg/sec pthread_spinlock, 8,i: 1,265,717 msg/sec pthread_spinlock, 9,s: 511,875 msg/sec pthread_spinlock, 9,i: 538,179 msg/sec pthread_spinlock,10,s: 510,026 msg/sec pthread_spinlock,10,i: 524,019 msg/sec pthread_spinlock,11,s: 497,439 msg/sec pthread_spinlock,11,i: 510,205 msg/sec pthread_spinlock,12,s: 830,356 msg/sec pthread_spinlock,12,i: 501,134 msg/sec pthread_spinlock,13,s: 578,370 msg/sec pthread_spinlock,13,i: 514,752 msg/sec pthread_spinlock,14,s: 486,822 msg/sec pthread_spinlock,14,i: 561,605 msg/sec std::mutex, 1,s: 6,144,978 msg/sec std::mutex, 1,i: 6,332,224 msg/sec std::mutex, 2,s: 4,553,524 msg/sec std::mutex, 2,i: 4,465,208 msg/sec std::mutex, 3,s: 3,050,648 msg/sec std::mutex, 3,i: 2,759,468 msg/sec std::mutex, 4,s: 2,787,890 msg/sec std::mutex, 4,i: 2,761,597 msg/sec std::mutex, 5,s: 3,499,927 msg/sec std::mutex, 5,i: 3,560,490 msg/sec std::mutex, 6,s: 4,526,534 msg/sec std::mutex, 6,i: 4,549,499 msg/sec std::mutex, 7,s: 5,567,039 msg/sec std::mutex, 7,i: 5,968,497 msg/sec std::mutex, 8,s: 6,483,938 msg/sec std::mutex, 8,i: 6,060,885 msg/sec std::mutex, 9,s: 5,830,975 msg/sec std::mutex, 9,i: 4,905,286 msg/sec std::mutex,10,s: 5,748,937 msg/sec std::mutex,10,i: 4,450,885 msg/sec std::mutex,11,s: 5,615,562 msg/sec std::mutex,11,i: 4,731,522 msg/sec std::mutex,12,s: 5,632,848 msg/sec std::mutex,12,i: 4,863,316 msg/sec std::mutex,13,s: 5,776,725 msg/sec std::mutex,13,i: 5,106,852 msg/sec std::mutex,14,s: 5,833,724 msg/sec std::mutex,14,i: 5,075,663 msg/sec tbb::spin_mutex, 1,s: 21,467,425 msg/sec tbb::spin_mutex, 1,i: 21,734,997 msg/sec tbb::spin_mutex, 2,s: 15,116,089 msg/sec tbb::spin_mutex, 2,i: 11,170,929 msg/sec tbb::spin_mutex, 3,s: 8,707,904 msg/sec tbb::spin_mutex, 3,i: 9,164,044 msg/sec tbb::spin_mutex, 4,s: 6,423,276 msg/sec tbb::spin_mutex, 4,i: 5,953,938 msg/sec tbb::spin_mutex, 5,s: 5,136,327 msg/sec tbb::spin_mutex, 5,i: 5,348,363 msg/sec tbb::spin_mutex, 6,s: 3,611,816 msg/sec tbb::spin_mutex, 6,i: 3,592,535 msg/sec tbb::spin_mutex, 7,s: 2,180,150 msg/sec tbb::spin_mutex, 7,i: 2,276,998 msg/sec tbb::spin_mutex, 8,s: 1,182,780 msg/sec tbb::spin_mutex, 8,i: 1,547,271 msg/sec tbb::spin_mutex, 9,s: 713,979 msg/sec tbb::spin_mutex, 9,i: 897,173 msg/sec tbb::spin_mutex,10,s: 570,731 msg/sec tbb::spin_mutex,10,i: 757,496 msg/sec tbb::spin_mutex,11,s: 446,480 msg/sec tbb::spin_mutex,11,i: 626,882 msg/sec tbb::spin_mutex,12,s: 436,545 msg/sec tbb::spin_mutex,12,i: 657,641 msg/sec tbb::spin_mutex,13,s: 470,518 msg/sec tbb::spin_mutex,13,i: 519,484 msg/sec tbb::spin_mutex,14,s: 418,438 msg/sec tbb::spin_mutex,14,i: 519,152 msg/sec tbb::concurrent_bounded_queue, 1,s: 5,070,362 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,751,928 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,310,109 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,301,611 msg/sec tbb::concurrent_bounded_queue, 3,s: 4,044,165 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,156,604 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,671,217 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,583,064 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,203,196 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,288,752 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,938,835 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,867,205 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,396,166 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,636,749 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,356,403 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,912,404 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,284,758 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,425,141 msg/sec tbb::concurrent_bounded_queue,10,s: 1,210,274 msg/sec tbb::concurrent_bounded_queue,10,i: 1,305,027 msg/sec tbb::concurrent_bounded_queue,11,s: 1,263,416 msg/sec tbb::concurrent_bounded_queue,11,i: 1,266,776 msg/sec tbb::concurrent_bounded_queue,12,s: 1,400,692 msg/sec tbb::concurrent_bounded_queue,12,i: 1,260,698 msg/sec tbb::concurrent_bounded_queue,13,s: 1,163,003 msg/sec tbb::concurrent_bounded_queue,13,i: 1,150,325 msg/sec tbb::concurrent_bounded_queue,14,s: 1,110,835 msg/sec tbb::concurrent_bounded_queue,14,i: 1,052,426 msg/sec xenium::michael_scott_queue, 1,s: 2,417,995 msg/sec xenium::michael_scott_queue, 1,i: 3,816,620 msg/sec xenium::michael_scott_queue, 2,s: 2,672,577 msg/sec xenium::michael_scott_queue, 2,i: 2,833,408 msg/sec xenium::michael_scott_queue, 3,s: 2,297,922 msg/sec xenium::michael_scott_queue, 3,i: 2,326,171 msg/sec xenium::michael_scott_queue, 4,s: 2,035,972 msg/sec xenium::michael_scott_queue, 4,i: 1,827,185 msg/sec xenium::michael_scott_queue, 5,s: 1,818,734 msg/sec xenium::michael_scott_queue, 5,i: 1,904,510 msg/sec xenium::michael_scott_queue, 6,s: 1,657,954 msg/sec xenium::michael_scott_queue, 6,i: 1,725,568 msg/sec xenium::michael_scott_queue, 7,s: 1,585,241 msg/sec xenium::michael_scott_queue, 7,i: 1,480,852 msg/sec xenium::michael_scott_queue, 8,s: 1,025,676 msg/sec xenium::michael_scott_queue, 8,i: 502,656 msg/sec xenium::michael_scott_queue, 9,s: 733,332 msg/sec xenium::michael_scott_queue, 9,i: 896,170 msg/sec xenium::michael_scott_queue,10,s: 507,453 msg/sec xenium::michael_scott_queue,10,i: 920,354 msg/sec xenium::michael_scott_queue,11,s: 520,528 msg/sec xenium::michael_scott_queue,11,i: 809,091 msg/sec xenium::michael_scott_queue,12,s: 538,933 msg/sec xenium::michael_scott_queue,12,i: 534,154 msg/sec xenium::michael_scott_queue,13,s: 527,347 msg/sec xenium::michael_scott_queue,13,i: 697,539 msg/sec xenium::michael_scott_queue,14,s: 570,591 msg/sec xenium::michael_scott_queue,14,i: 509,447 msg/sec xenium::ramalhete_queue, 1,s: 7,429,659 msg/sec xenium::ramalhete_queue, 1,i: 7,435,137 msg/sec xenium::ramalhete_queue, 2,s: 7,540,890 msg/sec xenium::ramalhete_queue, 2,i: 6,873,399 msg/sec xenium::ramalhete_queue, 3,s: 7,386,816 msg/sec xenium::ramalhete_queue, 3,i: 7,482,165 msg/sec xenium::ramalhete_queue, 4,s: 7,962,792 msg/sec xenium::ramalhete_queue, 4,i: 7,675,334 msg/sec xenium::ramalhete_queue, 5,s: 7,719,107 msg/sec xenium::ramalhete_queue, 5,i: 8,316,730 msg/sec xenium::ramalhete_queue, 6,s: 8,539,119 msg/sec xenium::ramalhete_queue, 6,i: 8,494,548 msg/sec xenium::ramalhete_queue, 7,s: 7,894,229 msg/sec xenium::ramalhete_queue, 7,i: 8,720,428 msg/sec xenium::ramalhete_queue, 8,s: 7,264,524 msg/sec xenium::ramalhete_queue, 8,i: 8,326,915 msg/sec xenium::ramalhete_queue, 9,s: 7,652,417 msg/sec xenium::ramalhete_queue, 9,i: 7,685,589 msg/sec xenium::ramalhete_queue,10,s: 8,375,266 msg/sec xenium::ramalhete_queue,10,i: 7,775,213 msg/sec xenium::ramalhete_queue,11,s: 8,621,637 msg/sec xenium::ramalhete_queue,11,i: 8,133,186 msg/sec xenium::ramalhete_queue,12,s: 8,102,709 msg/sec xenium::ramalhete_queue,12,i: 8,384,328 msg/sec xenium::ramalhete_queue,13,s: 9,332,535 msg/sec xenium::ramalhete_queue,13,i: 8,417,330 msg/sec xenium::ramalhete_queue,14,s: 11,189,288 msg/sec xenium::ramalhete_queue,14,i: 8,795,313 msg/sec xenium::vyukov_bounded_queue, 1,s: 29,617,007 msg/sec xenium::vyukov_bounded_queue, 1,i: 54,850,700 msg/sec xenium::vyukov_bounded_queue, 2,s: 7,997,920 msg/sec xenium::vyukov_bounded_queue, 2,i: 7,432,738 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,372,941 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,122,402 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,799,228 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,784,360 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,351,028 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,568,722 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,232,814 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,158,872 msg/sec xenium::vyukov_bounded_queue, 7,s: 2,935,592 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,934,802 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,337,104 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,317,962 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,158,197 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,327,094 msg/sec xenium::vyukov_bounded_queue,10,s: 1,092,275 msg/sec xenium::vyukov_bounded_queue,10,i: 1,556,290 msg/sec xenium::vyukov_bounded_queue,11,s: 1,079,557 msg/sec xenium::vyukov_bounded_queue,11,i: 1,228,300 msg/sec xenium::vyukov_bounded_queue,12,s: 1,286,193 msg/sec xenium::vyukov_bounded_queue,12,i: 1,123,093 msg/sec xenium::vyukov_bounded_queue,13,s: 853,671 msg/sec xenium::vyukov_bounded_queue,13,i: 1,069,872 msg/sec xenium::vyukov_bounded_queue,14,s: 433,322 msg/sec xenium::vyukov_bounded_queue,14,i: 986,798 msg/sec AtomicQueue, 1,s: 26,147,864 msg/sec AtomicQueue, 1,i: 25,305,417 msg/sec AtomicQueue, 2,s: 2,774,121 msg/sec AtomicQueue, 2,i: 4,042,223 msg/sec AtomicQueue, 3,s: 2,688,372 msg/sec AtomicQueue, 3,i: 2,706,148 msg/sec AtomicQueue, 4,s: 2,459,896 msg/sec AtomicQueue, 4,i: 2,519,541 msg/sec AtomicQueue, 5,s: 2,173,519 msg/sec AtomicQueue, 5,i: 2,239,379 msg/sec AtomicQueue, 6,s: 1,949,207 msg/sec AtomicQueue, 6,i: 2,052,168 msg/sec AtomicQueue, 7,s: 1,628,702 msg/sec AtomicQueue, 7,i: 1,776,147 msg/sec AtomicQueue, 8,s: 1,270,514 msg/sec AtomicQueue, 8,i: 1,518,439 msg/sec AtomicQueue, 9,s: 999,780 msg/sec AtomicQueue, 9,i: 1,128,933 msg/sec AtomicQueue,10,s: 885,263 msg/sec AtomicQueue,10,i: 902,042 msg/sec AtomicQueue,11,s: 549,352 msg/sec AtomicQueue,11,i: 519,206 msg/sec AtomicQueue,12,s: 511,835 msg/sec AtomicQueue,12,i: 710,528 msg/sec AtomicQueue,13,s: 511,988 msg/sec AtomicQueue,13,i: 509,273 msg/sec AtomicQueue,14,s: 796,746 msg/sec AtomicQueue,14,i: 507,921 msg/sec AtomicQueueB, 1,s: 12,745,684 msg/sec AtomicQueueB, 1,i: 18,451,486 msg/sec AtomicQueueB, 2,s: 3,909,086 msg/sec AtomicQueueB, 2,i: 3,782,488 msg/sec AtomicQueueB, 3,s: 2,668,580 msg/sec AtomicQueueB, 3,i: 2,842,734 msg/sec AtomicQueueB, 4,s: 2,273,411 msg/sec AtomicQueueB, 4,i: 2,503,834 msg/sec AtomicQueueB, 5,s: 1,961,892 msg/sec AtomicQueueB, 5,i: 2,168,822 msg/sec AtomicQueueB, 6,s: 1,779,693 msg/sec AtomicQueueB, 6,i: 2,033,243 msg/sec AtomicQueueB, 7,s: 2,036,249 msg/sec AtomicQueueB, 7,i: 1,867,975 msg/sec AtomicQueueB, 8,s: 509,132 msg/sec AtomicQueueB, 8,i: 1,301,521 msg/sec AtomicQueueB, 9,s: 846,561 msg/sec AtomicQueueB, 9,i: 1,131,247 msg/sec AtomicQueueB,10,s: 528,963 msg/sec AtomicQueueB,10,i: 506,566 msg/sec AtomicQueueB,11,s: 483,922 msg/sec AtomicQueueB,11,i: 554,791 msg/sec AtomicQueueB,12,s: 536,543 msg/sec AtomicQueueB,12,i: 533,756 msg/sec AtomicQueueB,13,s: 510,069 msg/sec AtomicQueueB,13,i: 519,670 msg/sec AtomicQueueB,14,s: 508,536 msg/sec AtomicQueueB,14,i: 520,939 msg/sec OptimistAtomicQueue, 1,s: 176,002,540 msg/sec OptimistAtomicQueue, 1,i: 83,823,647 msg/sec OptimistAtomicQueue, 2,s: 6,408,754 msg/sec OptimistAtomicQueue, 2,i: 7,675,137 msg/sec OptimistAtomicQueue, 3,s: 8,770,280 msg/sec OptimistAtomicQueue, 3,i: 9,366,911 msg/sec OptimistAtomicQueue, 4,s: 9,769,370 msg/sec OptimistAtomicQueue, 4,i: 9,970,808 msg/sec OptimistAtomicQueue, 5,s: 9,365,113 msg/sec OptimistAtomicQueue, 5,i: 9,382,935 msg/sec OptimistAtomicQueue, 6,s: 12,420,094 msg/sec OptimistAtomicQueue, 6,i: 13,510,978 msg/sec OptimistAtomicQueue, 7,s: 13,117,411 msg/sec OptimistAtomicQueue, 7,i: 14,008,198 msg/sec OptimistAtomicQueue, 8,s: 10,538,853 msg/sec OptimistAtomicQueue, 8,i: 10,752,720 msg/sec OptimistAtomicQueue, 9,s: 10,581,961 msg/sec OptimistAtomicQueue, 9,i: 10,661,566 msg/sec OptimistAtomicQueue,10,s: 10,255,552 msg/sec OptimistAtomicQueue,10,i: 10,659,665 msg/sec OptimistAtomicQueue,11,s: 10,294,662 msg/sec OptimistAtomicQueue,11,i: 10,445,597 msg/sec OptimistAtomicQueue,12,s: 9,970,403 msg/sec OptimistAtomicQueue,12,i: 10,561,450 msg/sec OptimistAtomicQueue,13,s: 9,519,050 msg/sec OptimistAtomicQueue,13,i: 10,432,644 msg/sec OptimistAtomicQueue,14,s: 8,807,285 msg/sec OptimistAtomicQueue,14,i: 10,240,714 msg/sec OptimistAtomicQueueB, 1,s: 27,861,930 msg/sec OptimistAtomicQueueB, 1,i: 28,043,742 msg/sec OptimistAtomicQueueB, 2,s: 11,037,666 msg/sec OptimistAtomicQueueB, 2,i: 11,443,525 msg/sec OptimistAtomicQueueB, 3,s: 12,737,064 msg/sec OptimistAtomicQueueB, 3,i: 13,025,901 msg/sec OptimistAtomicQueueB, 4,s: 13,733,282 msg/sec OptimistAtomicQueueB, 4,i: 12,901,482 msg/sec OptimistAtomicQueueB, 5,s: 12,015,037 msg/sec OptimistAtomicQueueB, 5,i: 12,568,177 msg/sec OptimistAtomicQueueB, 6,s: 12,806,013 msg/sec OptimistAtomicQueueB, 6,i: 13,748,702 msg/sec OptimistAtomicQueueB, 7,s: 13,415,196 msg/sec OptimistAtomicQueueB, 7,i: 13,993,842 msg/sec OptimistAtomicQueueB, 8,s: 10,374,300 msg/sec OptimistAtomicQueueB, 8,i: 10,606,674 msg/sec OptimistAtomicQueueB, 9,s: 10,299,150 msg/sec OptimistAtomicQueueB, 9,i: 10,507,541 msg/sec OptimistAtomicQueueB,10,s: 10,404,925 msg/sec OptimistAtomicQueueB,10,i: 10,479,743 msg/sec OptimistAtomicQueueB,11,s: 10,645,116 msg/sec OptimistAtomicQueueB,11,i: 10,602,448 msg/sec OptimistAtomicQueueB,12,s: 10,615,837 msg/sec OptimistAtomicQueueB,12,i: 10,639,000 msg/sec OptimistAtomicQueueB,13,s: 9,791,088 msg/sec OptimistAtomicQueueB,13,i: 11,106,520 msg/sec OptimistAtomicQueueB,14,s: 8,671,320 msg/sec OptimistAtomicQueueB,14,i: 10,690,006 msg/sec AtomicQueue2, 1,s: 8,436,436 msg/sec AtomicQueue2, 1,i: 8,877,960 msg/sec AtomicQueue2, 2,s: 3,624,808 msg/sec AtomicQueue2, 2,i: 3,935,093 msg/sec AtomicQueue2, 3,s: 2,544,616 msg/sec AtomicQueue2, 3,i: 2,972,248 msg/sec AtomicQueue2, 4,s: 2,279,263 msg/sec AtomicQueue2, 4,i: 2,476,770 msg/sec AtomicQueue2, 5,s: 2,031,849 msg/sec AtomicQueue2, 5,i: 2,196,185 msg/sec AtomicQueue2, 6,s: 1,941,064 msg/sec AtomicQueue2, 6,i: 1,946,425 msg/sec AtomicQueue2, 7,s: 1,711,523 msg/sec AtomicQueue2, 7,i: 1,726,628 msg/sec AtomicQueue2, 8,s: 561,273 msg/sec AtomicQueue2, 8,i: 1,403,998 msg/sec AtomicQueue2, 9,s: 499,731 msg/sec AtomicQueue2, 9,i: 1,154,898 msg/sec AtomicQueue2,10,s: 1,009,653 msg/sec AtomicQueue2,10,i: 515,410 msg/sec AtomicQueue2,11,s: 497,515 msg/sec AtomicQueue2,11,i: 516,344 msg/sec AtomicQueue2,12,s: 479,471 msg/sec AtomicQueue2,12,i: 519,369 msg/sec AtomicQueue2,13,s: 531,179 msg/sec AtomicQueue2,13,i: 918,171 msg/sec AtomicQueue2,14,s: 500,477 msg/sec AtomicQueue2,14,i: 524,204 msg/sec AtomicQueueB2, 1,s: 11,927,106 msg/sec AtomicQueueB2, 1,i: 11,927,212 msg/sec AtomicQueueB2, 2,s: 3,112,424 msg/sec AtomicQueueB2, 2,i: 3,372,818 msg/sec AtomicQueueB2, 3,s: 2,622,074 msg/sec AtomicQueueB2, 3,i: 3,164,290 msg/sec AtomicQueueB2, 4,s: 2,274,786 msg/sec AtomicQueueB2, 4,i: 2,274,268 msg/sec AtomicQueueB2, 5,s: 2,099,279 msg/sec AtomicQueueB2, 5,i: 2,311,721 msg/sec AtomicQueueB2, 6,s: 1,859,410 msg/sec AtomicQueueB2, 6,i: 2,048,768 msg/sec AtomicQueueB2, 7,s: 1,478,583 msg/sec AtomicQueueB2, 7,i: 1,599,075 msg/sec AtomicQueueB2, 8,s: 479,497 msg/sec AtomicQueueB2, 8,i: 1,380,972 msg/sec AtomicQueueB2, 9,s: 771,349 msg/sec AtomicQueueB2, 9,i: 1,189,108 msg/sec AtomicQueueB2,10,s: 498,586 msg/sec AtomicQueueB2,10,i: 893,849 msg/sec AtomicQueueB2,11,s: 542,978 msg/sec AtomicQueueB2,11,i: 849,851 msg/sec AtomicQueueB2,12,s: 590,183 msg/sec AtomicQueueB2,12,i: 518,928 msg/sec AtomicQueueB2,13,s: 529,768 msg/sec AtomicQueueB2,13,i: 849,523 msg/sec AtomicQueueB2,14,s: 565,517 msg/sec AtomicQueueB2,14,i: 521,637 msg/sec OptimistAtomicQueue2, 1,s: 49,433,499 msg/sec OptimistAtomicQueue2, 1,i: 47,795,147 msg/sec OptimistAtomicQueue2, 2,s: 7,461,607 msg/sec OptimistAtomicQueue2, 2,i: 7,288,637 msg/sec OptimistAtomicQueue2, 3,s: 7,728,869 msg/sec OptimistAtomicQueue2, 3,i: 11,245,270 msg/sec OptimistAtomicQueue2, 4,s: 8,248,594 msg/sec OptimistAtomicQueue2, 4,i: 9,013,246 msg/sec OptimistAtomicQueue2, 5,s: 8,472,535 msg/sec OptimistAtomicQueue2, 5,i: 11,873,555 msg/sec OptimistAtomicQueue2, 6,s: 12,589,347 msg/sec OptimistAtomicQueue2, 6,i: 12,656,088 msg/sec OptimistAtomicQueue2, 7,s: 12,953,182 msg/sec OptimistAtomicQueue2, 7,i: 13,232,212 msg/sec OptimistAtomicQueue2, 8,s: 9,702,978 msg/sec OptimistAtomicQueue2, 8,i: 10,101,420 msg/sec OptimistAtomicQueue2, 9,s: 10,153,566 msg/sec OptimistAtomicQueue2, 9,i: 9,909,493 msg/sec OptimistAtomicQueue2,10,s: 10,368,810 msg/sec OptimistAtomicQueue2,10,i: 10,032,542 msg/sec OptimistAtomicQueue2,11,s: 10,238,860 msg/sec OptimistAtomicQueue2,11,i: 10,200,417 msg/sec OptimistAtomicQueue2,12,s: 9,917,550 msg/sec OptimistAtomicQueue2,12,i: 10,554,783 msg/sec OptimistAtomicQueue2,13,s: 9,090,295 msg/sec OptimistAtomicQueue2,13,i: 10,149,543 msg/sec OptimistAtomicQueue2,14,s: 8,593,005 msg/sec OptimistAtomicQueue2,14,i: 10,210,188 msg/sec OptimistAtomicQueueB2, 1,s: 24,575,394 msg/sec OptimistAtomicQueueB2, 1,i: 25,491,493 msg/sec OptimistAtomicQueueB2, 2,s: 7,742,266 msg/sec OptimistAtomicQueueB2, 2,i: 8,033,429 msg/sec OptimistAtomicQueueB2, 3,s: 9,120,705 msg/sec OptimistAtomicQueueB2, 3,i: 9,692,921 msg/sec OptimistAtomicQueueB2, 4,s: 8,214,426 msg/sec OptimistAtomicQueueB2, 4,i: 8,983,167 msg/sec OptimistAtomicQueueB2, 5,s: 8,550,844 msg/sec OptimistAtomicQueueB2, 5,i: 12,611,699 msg/sec OptimistAtomicQueueB2, 6,s: 11,548,222 msg/sec OptimistAtomicQueueB2, 6,i: 12,882,159 msg/sec OptimistAtomicQueueB2, 7,s: 11,561,291 msg/sec OptimistAtomicQueueB2, 7,i: 13,165,317 msg/sec OptimistAtomicQueueB2, 8,s: 9,735,523 msg/sec OptimistAtomicQueueB2, 8,i: 10,106,605 msg/sec OptimistAtomicQueueB2, 9,s: 9,436,024 msg/sec OptimistAtomicQueueB2, 9,i: 9,829,011 msg/sec OptimistAtomicQueueB2,10,s: 9,925,375 msg/sec OptimistAtomicQueueB2,10,i: 9,939,898 msg/sec OptimistAtomicQueueB2,11,s: 9,594,134 msg/sec OptimistAtomicQueueB2,11,i: 9,532,057 msg/sec OptimistAtomicQueueB2,12,s: 9,639,497 msg/sec OptimistAtomicQueueB2,12,i: 9,776,876 msg/sec OptimistAtomicQueueB2,13,s: 8,495,357 msg/sec OptimistAtomicQueueB2,13,i: 9,741,837 msg/sec OptimistAtomicQueueB2,14,s: 7,622,867 msg/sec OptimistAtomicQueueB2,14,i: 9,316,557 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000456 sec/round-trip boost::lockfree::queue: 0.000001042 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000552 sec/round-trip moodycamel::ConcurrentQueue: 0.000000700 sec/round-trip pthread_spinlock: 0.000001899 sec/round-trip std::mutex: 0.000003202 sec/round-trip tbb::spin_mutex: 0.000001069 sec/round-trip tbb::concurrent_bounded_queue: 0.000000885 sec/round-trip xenium::michael_scott_queue: 0.000001225 sec/round-trip xenium::ramalhete_queue: 0.000000819 sec/round-trip xenium::vyukov_bounded_queue: 0.000000685 sec/round-trip AtomicQueue: 0.000000480 sec/round-trip AtomicQueueB: 0.000000573 sec/round-trip OptimistAtomicQueue: 0.000000459 sec/round-trip OptimistAtomicQueueB: 0.000000502 sec/round-trip AtomicQueue2: 0.000000556 sec/round-trip AtomicQueueB2: 0.000000661 sec/round-trip OptimistAtomicQueue2: 0.000000527 sec/round-trip OptimistAtomicQueueB2: 0.000000535 sec/round-trip [32/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 22,722,437 msg/sec boost::lockfree::spsc_queue, 1,i: 22,633,434 msg/sec boost::lockfree::queue, 1,s: 2,710,645 msg/sec boost::lockfree::queue, 1,i: 2,544,982 msg/sec boost::lockfree::queue, 2,s: 2,164,304 msg/sec boost::lockfree::queue, 2,i: 2,350,886 msg/sec boost::lockfree::queue, 3,s: 1,879,829 msg/sec boost::lockfree::queue, 3,i: 2,115,980 msg/sec boost::lockfree::queue, 4,s: 2,255,426 msg/sec boost::lockfree::queue, 4,i: 1,985,984 msg/sec boost::lockfree::queue, 5,s: 2,027,573 msg/sec boost::lockfree::queue, 5,i: 2,037,187 msg/sec boost::lockfree::queue, 6,s: 2,224,931 msg/sec boost::lockfree::queue, 6,i: 2,018,927 msg/sec boost::lockfree::queue, 7,s: 2,145,549 msg/sec boost::lockfree::queue, 7,i: 1,931,130 msg/sec boost::lockfree::queue, 8,s: 1,029,361 msg/sec boost::lockfree::queue, 8,i: 1,531,638 msg/sec boost::lockfree::queue, 9,s: 737,788 msg/sec boost::lockfree::queue, 9,i: 1,466,335 msg/sec boost::lockfree::queue,10,s: 500,593 msg/sec boost::lockfree::queue,10,i: 1,036,144 msg/sec boost::lockfree::queue,11,s: 942,095 msg/sec boost::lockfree::queue,11,i: 592,763 msg/sec boost::lockfree::queue,12,s: 504,159 msg/sec boost::lockfree::queue,12,i: 526,220 msg/sec boost::lockfree::queue,13,s: 479,449 msg/sec boost::lockfree::queue,13,i: 567,073 msg/sec boost::lockfree::queue,14,s: 537,858 msg/sec boost::lockfree::queue,14,i: 503,078 msg/sec moodycamel::ReaderWriterQueue, 1,s: 31,762,247 msg/sec moodycamel::ReaderWriterQueue, 1,i: 32,060,361 msg/sec moodycamel::ConcurrentQueue, 1,s: 9,102,174 msg/sec moodycamel::ConcurrentQueue, 1,i: 9,379,725 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,938,178 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,928,712 msg/sec moodycamel::ConcurrentQueue, 3,s: 11,217,365 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,430,355 msg/sec moodycamel::ConcurrentQueue, 4,s: 5,225,539 msg/sec moodycamel::ConcurrentQueue, 4,i: 12,409,615 msg/sec moodycamel::ConcurrentQueue, 5,s: 15,202,970 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,880,500 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,531,898 msg/sec moodycamel::ConcurrentQueue, 6,i: 7,126,836 msg/sec moodycamel::ConcurrentQueue, 7,s: 6,758,979 msg/sec moodycamel::ConcurrentQueue, 7,i: 6,462,709 msg/sec moodycamel::ConcurrentQueue, 8,s: 5,070,524 msg/sec moodycamel::ConcurrentQueue, 8,i: 10,675,816 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,351,383 msg/sec moodycamel::ConcurrentQueue, 9,i: 13,562,868 msg/sec moodycamel::ConcurrentQueue,10,s: 5,112,646 msg/sec moodycamel::ConcurrentQueue,10,i: 5,512,749 msg/sec moodycamel::ConcurrentQueue,11,s: 5,084,785 msg/sec moodycamel::ConcurrentQueue,11,i: 11,949,284 msg/sec moodycamel::ConcurrentQueue,12,s: 5,081,411 msg/sec moodycamel::ConcurrentQueue,12,i: 8,945,186 msg/sec moodycamel::ConcurrentQueue,13,s: 5,281,086 msg/sec moodycamel::ConcurrentQueue,13,i: 14,005,707 msg/sec moodycamel::ConcurrentQueue,14,s: 7,207,607 msg/sec moodycamel::ConcurrentQueue,14,i: 5,711,633 msg/sec pthread_spinlock, 1,s: 5,363,875 msg/sec pthread_spinlock, 1,i: 5,220,308 msg/sec pthread_spinlock, 2,s: 4,279,727 msg/sec pthread_spinlock, 2,i: 4,163,191 msg/sec pthread_spinlock, 3,s: 3,304,077 msg/sec pthread_spinlock, 3,i: 3,255,977 msg/sec pthread_spinlock, 4,s: 2,759,421 msg/sec pthread_spinlock, 4,i: 2,546,285 msg/sec pthread_spinlock, 5,s: 2,452,085 msg/sec pthread_spinlock, 5,i: 2,400,108 msg/sec pthread_spinlock, 6,s: 2,117,795 msg/sec pthread_spinlock, 6,i: 1,840,785 msg/sec pthread_spinlock, 7,s: 1,655,879 msg/sec pthread_spinlock, 7,i: 1,586,003 msg/sec pthread_spinlock, 8,s: 509,350 msg/sec pthread_spinlock, 8,i: 936,573 msg/sec pthread_spinlock, 9,s: 562,611 msg/sec pthread_spinlock, 9,i: 553,108 msg/sec pthread_spinlock,10,s: 489,327 msg/sec pthread_spinlock,10,i: 852,010 msg/sec pthread_spinlock,11,s: 509,231 msg/sec pthread_spinlock,11,i: 594,681 msg/sec pthread_spinlock,12,s: 585,659 msg/sec pthread_spinlock,12,i: 524,723 msg/sec pthread_spinlock,13,s: 507,288 msg/sec pthread_spinlock,13,i: 564,270 msg/sec pthread_spinlock,14,s: 545,590 msg/sec pthread_spinlock,14,i: 530,772 msg/sec std::mutex, 1,s: 513,334 msg/sec std::mutex, 1,i: 6,159,079 msg/sec std::mutex, 2,s: 4,680,157 msg/sec std::mutex, 2,i: 4,492,324 msg/sec std::mutex, 3,s: 3,146,558 msg/sec std::mutex, 3,i: 2,863,537 msg/sec std::mutex, 4,s: 2,882,046 msg/sec std::mutex, 4,i: 2,809,882 msg/sec std::mutex, 5,s: 3,607,653 msg/sec std::mutex, 5,i: 3,520,256 msg/sec std::mutex, 6,s: 4,555,806 msg/sec std::mutex, 6,i: 4,611,098 msg/sec std::mutex, 7,s: 5,907,602 msg/sec std::mutex, 7,i: 6,003,790 msg/sec std::mutex, 8,s: 6,961,586 msg/sec std::mutex, 8,i: 5,789,807 msg/sec std::mutex, 9,s: 6,288,051 msg/sec std::mutex, 9,i: 5,237,733 msg/sec std::mutex,10,s: 5,882,015 msg/sec std::mutex,10,i: 5,120,329 msg/sec std::mutex,11,s: 5,796,343 msg/sec std::mutex,11,i: 4,958,540 msg/sec std::mutex,12,s: 5,162,349 msg/sec std::mutex,12,i: 5,026,799 msg/sec std::mutex,13,s: 5,147,716 msg/sec std::mutex,13,i: 5,094,932 msg/sec std::mutex,14,s: 5,013,617 msg/sec std::mutex,14,i: 5,119,310 msg/sec tbb::spin_mutex, 1,s: 21,210,988 msg/sec tbb::spin_mutex, 1,i: 21,863,703 msg/sec tbb::spin_mutex, 2,s: 15,102,464 msg/sec tbb::spin_mutex, 2,i: 15,054,754 msg/sec tbb::spin_mutex, 3,s: 9,855,473 msg/sec tbb::spin_mutex, 3,i: 10,087,549 msg/sec tbb::spin_mutex, 4,s: 7,386,120 msg/sec tbb::spin_mutex, 4,i: 6,545,477 msg/sec tbb::spin_mutex, 5,s: 5,297,504 msg/sec tbb::spin_mutex, 5,i: 4,316,239 msg/sec tbb::spin_mutex, 6,s: 2,995,923 msg/sec tbb::spin_mutex, 6,i: 3,768,186 msg/sec tbb::spin_mutex, 7,s: 1,737,596 msg/sec tbb::spin_mutex, 7,i: 2,793,915 msg/sec tbb::spin_mutex, 8,s: 1,420,151 msg/sec tbb::spin_mutex, 8,i: 1,582,946 msg/sec tbb::spin_mutex, 9,s: 864,421 msg/sec tbb::spin_mutex, 9,i: 851,687 msg/sec tbb::spin_mutex,10,s: 719,745 msg/sec tbb::spin_mutex,10,i: 671,494 msg/sec tbb::spin_mutex,11,s: 541,811 msg/sec tbb::spin_mutex,11,i: 635,286 msg/sec tbb::spin_mutex,12,s: 548,322 msg/sec tbb::spin_mutex,12,i: 521,590 msg/sec tbb::spin_mutex,13,s: 456,560 msg/sec tbb::spin_mutex,13,i: 507,779 msg/sec tbb::spin_mutex,14,s: 394,147 msg/sec tbb::spin_mutex,14,i: 400,949 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,213,877 msg/sec tbb::concurrent_bounded_queue, 1,i: 6,055,108 msg/sec tbb::concurrent_bounded_queue, 2,s: 5,276,461 msg/sec tbb::concurrent_bounded_queue, 2,i: 5,418,654 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,990,783 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,062,255 msg/sec tbb::concurrent_bounded_queue, 4,s: 2,964,563 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,311,636 msg/sec tbb::concurrent_bounded_queue, 5,s: 3,019,684 msg/sec tbb::concurrent_bounded_queue, 5,i: 3,177,939 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,548,478 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,695,791 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,335,907 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,544,677 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,219,806 msg/sec tbb::concurrent_bounded_queue, 8,i: 2,062,591 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,100,326 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,981,499 msg/sec tbb::concurrent_bounded_queue,10,s: 886,747 msg/sec tbb::concurrent_bounded_queue,10,i: 1,671,817 msg/sec tbb::concurrent_bounded_queue,11,s: 988,917 msg/sec tbb::concurrent_bounded_queue,11,i: 1,288,669 msg/sec tbb::concurrent_bounded_queue,12,s: 905,349 msg/sec tbb::concurrent_bounded_queue,12,i: 1,431,365 msg/sec tbb::concurrent_bounded_queue,13,s: 953,641 msg/sec tbb::concurrent_bounded_queue,13,i: 1,425,158 msg/sec tbb::concurrent_bounded_queue,14,s: 674,994 msg/sec tbb::concurrent_bounded_queue,14,i: 1,041,833 msg/sec xenium::michael_scott_queue, 1,s: 4,218,380 msg/sec xenium::michael_scott_queue, 1,i: 4,259,942 msg/sec xenium::michael_scott_queue, 2,s: 2,639,406 msg/sec xenium::michael_scott_queue, 2,i: 3,154,849 msg/sec xenium::michael_scott_queue, 3,s: 2,275,167 msg/sec xenium::michael_scott_queue, 3,i: 2,627,674 msg/sec xenium::michael_scott_queue, 4,s: 2,205,324 msg/sec xenium::michael_scott_queue, 4,i: 2,230,553 msg/sec xenium::michael_scott_queue, 5,s: 1,874,153 msg/sec xenium::michael_scott_queue, 5,i: 1,851,440 msg/sec xenium::michael_scott_queue, 6,s: 1,728,255 msg/sec xenium::michael_scott_queue, 6,i: 1,568,666 msg/sec xenium::michael_scott_queue, 7,s: 1,694,275 msg/sec xenium::michael_scott_queue, 7,i: 1,562,161 msg/sec xenium::michael_scott_queue, 8,s: 840,805 msg/sec xenium::michael_scott_queue, 8,i: 1,296,490 msg/sec xenium::michael_scott_queue, 9,s: 696,457 msg/sec xenium::michael_scott_queue, 9,i: 1,121,904 msg/sec xenium::michael_scott_queue,10,s: 731,078 msg/sec xenium::michael_scott_queue,10,i: 1,039,531 msg/sec xenium::michael_scott_queue,11,s: 729,428 msg/sec xenium::michael_scott_queue,11,i: 911,519 msg/sec xenium::michael_scott_queue,12,s: 504,623 msg/sec xenium::michael_scott_queue,12,i: 533,179 msg/sec xenium::michael_scott_queue,13,s: 512,198 msg/sec xenium::michael_scott_queue,13,i: 510,575 msg/sec xenium::michael_scott_queue,14,s: 501,747 msg/sec xenium::michael_scott_queue,14,i: 527,746 msg/sec xenium::ramalhete_queue, 1,s: 3,908,368 msg/sec xenium::ramalhete_queue, 1,i: 15,781,130 msg/sec xenium::ramalhete_queue, 2,s: 6,855,523 msg/sec xenium::ramalhete_queue, 2,i: 9,037,926 msg/sec xenium::ramalhete_queue, 3,s: 8,590,480 msg/sec xenium::ramalhete_queue, 3,i: 7,631,617 msg/sec xenium::ramalhete_queue, 4,s: 7,649,715 msg/sec xenium::ramalhete_queue, 4,i: 7,605,075 msg/sec xenium::ramalhete_queue, 5,s: 7,867,845 msg/sec xenium::ramalhete_queue, 5,i: 7,737,888 msg/sec xenium::ramalhete_queue, 6,s: 7,673,481 msg/sec xenium::ramalhete_queue, 6,i: 7,603,204 msg/sec xenium::ramalhete_queue, 7,s: 7,896,504 msg/sec xenium::ramalhete_queue, 7,i: 8,444,083 msg/sec xenium::ramalhete_queue, 8,s: 7,084,666 msg/sec xenium::ramalhete_queue, 8,i: 8,250,989 msg/sec xenium::ramalhete_queue, 9,s: 8,242,023 msg/sec xenium::ramalhete_queue, 9,i: 7,750,909 msg/sec xenium::ramalhete_queue,10,s: 8,460,178 msg/sec xenium::ramalhete_queue,10,i: 8,380,452 msg/sec xenium::ramalhete_queue,11,s: 8,308,349 msg/sec xenium::ramalhete_queue,11,i: 7,866,565 msg/sec xenium::ramalhete_queue,12,s: 8,215,432 msg/sec xenium::ramalhete_queue,12,i: 7,987,369 msg/sec xenium::ramalhete_queue,13,s: 9,274,351 msg/sec xenium::ramalhete_queue,13,i: 8,564,298 msg/sec xenium::ramalhete_queue,14,s: 11,287,099 msg/sec xenium::ramalhete_queue,14,i: 8,668,436 msg/sec xenium::vyukov_bounded_queue, 1,s: 30,685,106 msg/sec xenium::vyukov_bounded_queue, 1,i: 30,135,806 msg/sec xenium::vyukov_bounded_queue, 2,s: 4,180,957 msg/sec xenium::vyukov_bounded_queue, 2,i: 5,841,698 msg/sec xenium::vyukov_bounded_queue, 3,s: 4,478,431 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,385,458 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,722,397 msg/sec xenium::vyukov_bounded_queue, 4,i: 3,853,025 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,378,886 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,357,504 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,288,703 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,129,846 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,058,523 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,984,778 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,318,307 msg/sec xenium::vyukov_bounded_queue, 8,i: 1,842,686 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,196,075 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,517,586 msg/sec xenium::vyukov_bounded_queue,10,s: 1,134,788 msg/sec xenium::vyukov_bounded_queue,10,i: 1,548,499 msg/sec xenium::vyukov_bounded_queue,11,s: 1,054,317 msg/sec xenium::vyukov_bounded_queue,11,i: 1,206,688 msg/sec xenium::vyukov_bounded_queue,12,s: 664,856 msg/sec xenium::vyukov_bounded_queue,12,i: 1,147,667 msg/sec xenium::vyukov_bounded_queue,13,s: 758,087 msg/sec xenium::vyukov_bounded_queue,13,i: 1,092,629 msg/sec xenium::vyukov_bounded_queue,14,s: 855,759 msg/sec xenium::vyukov_bounded_queue,14,i: 1,044,556 msg/sec AtomicQueue, 1,s: 18,119,012 msg/sec AtomicQueue, 1,i: 18,160,989 msg/sec AtomicQueue, 2,s: 2,785,139 msg/sec AtomicQueue, 2,i: 3,208,090 msg/sec AtomicQueue, 3,s: 2,442,651 msg/sec AtomicQueue, 3,i: 3,170,705 msg/sec AtomicQueue, 4,s: 2,365,691 msg/sec AtomicQueue, 4,i: 2,436,170 msg/sec AtomicQueue, 5,s: 2,210,780 msg/sec AtomicQueue, 5,i: 2,236,670 msg/sec AtomicQueue, 6,s: 1,853,921 msg/sec AtomicQueue, 6,i: 1,946,385 msg/sec AtomicQueue, 7,s: 1,782,916 msg/sec AtomicQueue, 7,i: 1,874,529 msg/sec AtomicQueue, 8,s: 1,095,759 msg/sec AtomicQueue, 8,i: 1,486,395 msg/sec AtomicQueue, 9,s: 614,405 msg/sec AtomicQueue, 9,i: 1,338,560 msg/sec AtomicQueue,10,s: 641,045 msg/sec AtomicQueue,10,i: 1,301,563 msg/sec AtomicQueue,11,s: 643,280 msg/sec AtomicQueue,11,i: 1,210,710 msg/sec AtomicQueue,12,s: 755,469 msg/sec AtomicQueue,12,i: 1,223,669 msg/sec AtomicQueue,13,s: 752,164 msg/sec AtomicQueue,13,i: 517,529 msg/sec AtomicQueue,14,s: 551,592 msg/sec AtomicQueue,14,i: 507,449 msg/sec AtomicQueueB, 1,s: 14,430,688 msg/sec AtomicQueueB, 1,i: 15,612,715 msg/sec AtomicQueueB, 2,s: 3,333,345 msg/sec AtomicQueueB, 2,i: 3,360,277 msg/sec AtomicQueueB, 3,s: 2,602,882 msg/sec AtomicQueueB, 3,i: 3,116,170 msg/sec AtomicQueueB, 4,s: 2,287,124 msg/sec AtomicQueueB, 4,i: 2,584,680 msg/sec AtomicQueueB, 5,s: 2,036,582 msg/sec AtomicQueueB, 5,i: 2,142,755 msg/sec AtomicQueueB, 6,s: 1,908,387 msg/sec AtomicQueueB, 6,i: 1,952,744 msg/sec AtomicQueueB, 7,s: 1,638,859 msg/sec AtomicQueueB, 7,i: 1,790,233 msg/sec AtomicQueueB, 8,s: 701,972 msg/sec AtomicQueueB, 8,i: 1,521,071 msg/sec AtomicQueueB, 9,s: 498,524 msg/sec AtomicQueueB, 9,i: 1,467,024 msg/sec AtomicQueueB,10,s: 560,086 msg/sec AtomicQueueB,10,i: 1,339,881 msg/sec AtomicQueueB,11,s: 624,275 msg/sec AtomicQueueB,11,i: 1,173,124 msg/sec AtomicQueueB,12,s: 686,416 msg/sec AtomicQueueB,12,i: 1,052,469 msg/sec AtomicQueueB,13,s: 512,129 msg/sec AtomicQueueB,13,i: 538,475 msg/sec AtomicQueueB,14,s: 553,608 msg/sec AtomicQueueB,14,i: 530,684 msg/sec OptimistAtomicQueue, 1,s: 131,218,230 msg/sec OptimistAtomicQueue, 1,i: 123,695,194 msg/sec OptimistAtomicQueue, 2,s: 7,308,855 msg/sec OptimistAtomicQueue, 2,i: 9,725,824 msg/sec OptimistAtomicQueue, 3,s: 10,695,153 msg/sec OptimistAtomicQueue, 3,i: 12,485,061 msg/sec OptimistAtomicQueue, 4,s: 12,288,137 msg/sec OptimistAtomicQueue, 4,i: 10,933,339 msg/sec OptimistAtomicQueue, 5,s: 8,932,051 msg/sec OptimistAtomicQueue, 5,i: 11,217,989 msg/sec OptimistAtomicQueue, 6,s: 12,445,197 msg/sec OptimistAtomicQueue, 6,i: 13,082,917 msg/sec OptimistAtomicQueue, 7,s: 9,778,505 msg/sec OptimistAtomicQueue, 7,i: 13,948,070 msg/sec OptimistAtomicQueue, 8,s: 9,377,563 msg/sec OptimistAtomicQueue, 8,i: 9,457,462 msg/sec OptimistAtomicQueue, 9,s: 8,356,731 msg/sec OptimistAtomicQueue, 9,i: 11,617,885 msg/sec OptimistAtomicQueue,10,s: 7,937,505 msg/sec OptimistAtomicQueue,10,i: 9,913,249 msg/sec OptimistAtomicQueue,11,s: 7,899,920 msg/sec OptimistAtomicQueue,11,i: 9,979,185 msg/sec OptimistAtomicQueue,12,s: 7,993,592 msg/sec OptimistAtomicQueue,12,i: 10,295,832 msg/sec OptimistAtomicQueue,13,s: 8,046,161 msg/sec OptimistAtomicQueue,13,i: 10,855,485 msg/sec OptimistAtomicQueue,14,s: 8,253,587 msg/sec OptimistAtomicQueue,14,i: 10,785,643 msg/sec OptimistAtomicQueueB, 1,s: 33,859,955 msg/sec OptimistAtomicQueueB, 1,i: 45,686,270 msg/sec OptimistAtomicQueueB, 2,s: 11,776,690 msg/sec OptimistAtomicQueueB, 2,i: 10,947,983 msg/sec OptimistAtomicQueueB, 3,s: 12,706,295 msg/sec OptimistAtomicQueueB, 3,i: 12,570,378 msg/sec OptimistAtomicQueueB, 4,s: 11,906,588 msg/sec OptimistAtomicQueueB, 4,i: 12,346,618 msg/sec OptimistAtomicQueueB, 5,s: 11,452,146 msg/sec OptimistAtomicQueueB, 5,i: 9,635,456 msg/sec OptimistAtomicQueueB, 6,s: 9,031,510 msg/sec OptimistAtomicQueueB, 6,i: 9,850,525 msg/sec OptimistAtomicQueueB, 7,s: 13,427,176 msg/sec OptimistAtomicQueueB, 7,i: 14,022,510 msg/sec OptimistAtomicQueueB, 8,s: 9,431,402 msg/sec OptimistAtomicQueueB, 8,i: 10,636,390 msg/sec OptimistAtomicQueueB, 9,s: 8,316,813 msg/sec OptimistAtomicQueueB, 9,i: 11,493,604 msg/sec OptimistAtomicQueueB,10,s: 8,057,991 msg/sec OptimistAtomicQueueB,10,i: 10,072,253 msg/sec OptimistAtomicQueueB,11,s: 7,839,097 msg/sec OptimistAtomicQueueB,11,i: 10,397,666 msg/sec OptimistAtomicQueueB,12,s: 8,018,974 msg/sec OptimistAtomicQueueB,12,i: 10,594,775 msg/sec OptimistAtomicQueueB,13,s: 8,065,375 msg/sec OptimistAtomicQueueB,13,i: 10,951,996 msg/sec OptimistAtomicQueueB,14,s: 8,040,833 msg/sec OptimistAtomicQueueB,14,i: 10,648,920 msg/sec AtomicQueue2, 1,s: 9,221,722 msg/sec AtomicQueue2, 1,i: 9,203,948 msg/sec AtomicQueue2, 2,s: 4,072,097 msg/sec AtomicQueue2, 2,i: 4,482,203 msg/sec AtomicQueue2, 3,s: 3,140,857 msg/sec AtomicQueue2, 3,i: 3,242,915 msg/sec AtomicQueue2, 4,s: 2,400,228 msg/sec AtomicQueue2, 4,i: 2,677,887 msg/sec AtomicQueue2, 5,s: 2,075,101 msg/sec AtomicQueue2, 5,i: 2,309,137 msg/sec AtomicQueue2, 6,s: 2,096,743 msg/sec AtomicQueue2, 6,i: 2,001,954 msg/sec AtomicQueue2, 7,s: 1,760,757 msg/sec AtomicQueue2, 7,i: 1,843,220 msg/sec AtomicQueue2, 8,s: 497,167 msg/sec AtomicQueue2, 8,i: 1,612,312 msg/sec AtomicQueue2, 9,s: 501,358 msg/sec AtomicQueue2, 9,i: 1,369,859 msg/sec AtomicQueue2,10,s: 801,286 msg/sec AtomicQueue2,10,i: 1,268,765 msg/sec AtomicQueue2,11,s: 679,683 msg/sec AtomicQueue2,11,i: 1,116,813 msg/sec AtomicQueue2,12,s: 737,325 msg/sec AtomicQueue2,12,i: 1,115,181 msg/sec AtomicQueue2,13,s: 549,024 msg/sec AtomicQueue2,13,i: 499,682 msg/sec AtomicQueue2,14,s: 518,121 msg/sec AtomicQueue2,14,i: 538,991 msg/sec AtomicQueueB2, 1,s: 12,329,609 msg/sec AtomicQueueB2, 1,i: 12,039,898 msg/sec AtomicQueueB2, 2,s: 3,573,397 msg/sec AtomicQueueB2, 2,i: 4,350,812 msg/sec AtomicQueueB2, 3,s: 2,902,581 msg/sec AtomicQueueB2, 3,i: 2,694,067 msg/sec AtomicQueueB2, 4,s: 2,165,829 msg/sec AtomicQueueB2, 4,i: 2,483,357 msg/sec AtomicQueueB2, 5,s: 2,080,739 msg/sec AtomicQueueB2, 5,i: 2,243,438 msg/sec AtomicQueueB2, 6,s: 1,872,728 msg/sec AtomicQueueB2, 6,i: 1,789,511 msg/sec AtomicQueueB2, 7,s: 1,828,159 msg/sec AtomicQueueB2, 7,i: 1,773,854 msg/sec AtomicQueueB2, 8,s: 499,967 msg/sec AtomicQueueB2, 8,i: 1,592,647 msg/sec AtomicQueueB2, 9,s: 527,187 msg/sec AtomicQueueB2, 9,i: 1,464,120 msg/sec AtomicQueueB2,10,s: 557,765 msg/sec AtomicQueueB2,10,i: 1,471,934 msg/sec AtomicQueueB2,11,s: 547,445 msg/sec AtomicQueueB2,11,i: 1,237,097 msg/sec AtomicQueueB2,12,s: 759,824 msg/sec AtomicQueueB2,12,i: 1,155,658 msg/sec AtomicQueueB2,13,s: 821,405 msg/sec AtomicQueueB2,13,i: 1,058,050 msg/sec AtomicQueueB2,14,s: 494,119 msg/sec AtomicQueueB2,14,i: 513,070 msg/sec OptimistAtomicQueue2, 1,s: 96,977,711 msg/sec OptimistAtomicQueue2, 1,i: 56,542,805 msg/sec OptimistAtomicQueue2, 2,s: 6,031,802 msg/sec OptimistAtomicQueue2, 2,i: 7,542,391 msg/sec OptimistAtomicQueue2, 3,s: 8,046,828 msg/sec OptimistAtomicQueue2, 3,i: 12,096,420 msg/sec OptimistAtomicQueue2, 4,s: 11,458,317 msg/sec OptimistAtomicQueue2, 4,i: 8,480,089 msg/sec OptimistAtomicQueue2, 5,s: 8,722,300 msg/sec OptimistAtomicQueue2, 5,i: 12,903,432 msg/sec OptimistAtomicQueue2, 6,s: 12,158,995 msg/sec OptimistAtomicQueue2, 6,i: 13,359,772 msg/sec OptimistAtomicQueue2, 7,s: 13,079,342 msg/sec OptimistAtomicQueue2, 7,i: 12,517,269 msg/sec OptimistAtomicQueue2, 8,s: 8,646,158 msg/sec OptimistAtomicQueue2, 8,i: 8,306,345 msg/sec OptimistAtomicQueue2, 9,s: 7,781,010 msg/sec OptimistAtomicQueue2, 9,i: 9,120,739 msg/sec OptimistAtomicQueue2,10,s: 7,744,439 msg/sec OptimistAtomicQueue2,10,i: 9,251,256 msg/sec OptimistAtomicQueue2,11,s: 7,628,291 msg/sec OptimistAtomicQueue2,11,i: 9,790,593 msg/sec OptimistAtomicQueue2,12,s: 7,726,994 msg/sec OptimistAtomicQueue2,12,i: 10,155,899 msg/sec OptimistAtomicQueue2,13,s: 7,841,123 msg/sec OptimistAtomicQueue2,13,i: 9,950,413 msg/sec OptimistAtomicQueue2,14,s: 8,089,045 msg/sec OptimistAtomicQueue2,14,i: 9,291,214 msg/sec OptimistAtomicQueueB2, 1,s: 14,250,199 msg/sec OptimistAtomicQueueB2, 1,i: 14,217,174 msg/sec OptimistAtomicQueueB2, 2,s: 8,452,189 msg/sec OptimistAtomicQueueB2, 2,i: 7,604,807 msg/sec OptimistAtomicQueueB2, 3,s: 9,014,248 msg/sec OptimistAtomicQueueB2, 3,i: 10,801,865 msg/sec OptimistAtomicQueueB2, 4,s: 10,169,538 msg/sec OptimistAtomicQueueB2, 4,i: 9,353,078 msg/sec OptimistAtomicQueueB2, 5,s: 11,003,204 msg/sec OptimistAtomicQueueB2, 5,i: 11,599,801 msg/sec OptimistAtomicQueueB2, 6,s: 10,888,638 msg/sec OptimistAtomicQueueB2, 6,i: 12,550,699 msg/sec OptimistAtomicQueueB2, 7,s: 11,541,919 msg/sec OptimistAtomicQueueB2, 7,i: 12,864,380 msg/sec OptimistAtomicQueueB2, 8,s: 8,699,222 msg/sec OptimistAtomicQueueB2, 8,i: 10,294,000 msg/sec OptimistAtomicQueueB2, 9,s: 7,452,426 msg/sec OptimistAtomicQueueB2, 9,i: 8,792,797 msg/sec OptimistAtomicQueueB2,10,s: 7,533,323 msg/sec OptimistAtomicQueueB2,10,i: 9,430,615 msg/sec OptimistAtomicQueueB2,11,s: 7,282,886 msg/sec OptimistAtomicQueueB2,11,i: 9,365,607 msg/sec OptimistAtomicQueueB2,12,s: 7,354,718 msg/sec OptimistAtomicQueueB2,12,i: 9,619,507 msg/sec OptimistAtomicQueueB2,13,s: 7,358,863 msg/sec OptimistAtomicQueueB2,13,i: 9,250,286 msg/sec OptimistAtomicQueueB2,14,s: 7,646,522 msg/sec OptimistAtomicQueueB2,14,i: 9,480,352 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000331 sec/round-trip boost::lockfree::queue: 0.000000726 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000248 sec/round-trip moodycamel::ConcurrentQueue: 0.000000492 sec/round-trip pthread_spinlock: 0.000000899 sec/round-trip std::mutex: 0.000001873 sec/round-trip tbb::spin_mutex: 0.000000668 sec/round-trip tbb::concurrent_bounded_queue: 0.000000565 sec/round-trip xenium::michael_scott_queue: 0.000000762 sec/round-trip xenium::ramalhete_queue: 0.000000517 sec/round-trip xenium::vyukov_bounded_queue: 0.000000503 sec/round-trip AtomicQueue: 0.000000315 sec/round-trip AtomicQueueB: 0.000000390 sec/round-trip OptimistAtomicQueue: 0.000000334 sec/round-trip OptimistAtomicQueueB: 0.000000349 sec/round-trip AtomicQueue2: 0.000000372 sec/round-trip AtomicQueueB2: 0.000000403 sec/round-trip OptimistAtomicQueue2: 0.000000368 sec/round-trip OptimistAtomicQueueB2: 0.000000363 sec/round-trip [33/33] ---- Running throughput benchmarks (higher is better) ---- boost::lockfree::spsc_queue, 1,s: 28,019,359 msg/sec boost::lockfree::spsc_queue, 1,i: 28,267,846 msg/sec boost::lockfree::queue, 1,s: 3,240,958 msg/sec boost::lockfree::queue, 1,i: 3,203,535 msg/sec boost::lockfree::queue, 2,s: 2,560,164 msg/sec boost::lockfree::queue, 2,i: 2,277,248 msg/sec boost::lockfree::queue, 3,s: 2,416,411 msg/sec boost::lockfree::queue, 3,i: 2,387,621 msg/sec boost::lockfree::queue, 4,s: 2,192,889 msg/sec boost::lockfree::queue, 4,i: 2,077,892 msg/sec boost::lockfree::queue, 5,s: 1,995,363 msg/sec boost::lockfree::queue, 5,i: 2,187,761 msg/sec boost::lockfree::queue, 6,s: 2,126,965 msg/sec boost::lockfree::queue, 6,i: 2,039,546 msg/sec boost::lockfree::queue, 7,s: 1,861,187 msg/sec boost::lockfree::queue, 7,i: 1,990,552 msg/sec boost::lockfree::queue, 8,s: 1,189,498 msg/sec boost::lockfree::queue, 8,i: 1,269,746 msg/sec boost::lockfree::queue, 9,s: 890,479 msg/sec boost::lockfree::queue, 9,i: 1,148,344 msg/sec boost::lockfree::queue,10,s: 902,760 msg/sec boost::lockfree::queue,10,i: 1,028,979 msg/sec boost::lockfree::queue,11,s: 502,219 msg/sec boost::lockfree::queue,11,i: 832,270 msg/sec boost::lockfree::queue,12,s: 546,912 msg/sec boost::lockfree::queue,12,i: 527,797 msg/sec boost::lockfree::queue,13,s: 523,579 msg/sec boost::lockfree::queue,13,i: 757,655 msg/sec boost::lockfree::queue,14,s: 561,299 msg/sec boost::lockfree::queue,14,i: 503,677 msg/sec moodycamel::ReaderWriterQueue, 1,s: 162,220,575 msg/sec moodycamel::ReaderWriterQueue, 1,i: 162,098,178 msg/sec moodycamel::ConcurrentQueue, 1,s: 5,503,108 msg/sec moodycamel::ConcurrentQueue, 1,i: 5,795,221 msg/sec moodycamel::ConcurrentQueue, 2,s: 5,468,748 msg/sec moodycamel::ConcurrentQueue, 2,i: 5,758,450 msg/sec moodycamel::ConcurrentQueue, 3,s: 5,318,398 msg/sec moodycamel::ConcurrentQueue, 3,i: 5,888,511 msg/sec moodycamel::ConcurrentQueue, 4,s: 9,397,770 msg/sec moodycamel::ConcurrentQueue, 4,i: 13,328,838 msg/sec moodycamel::ConcurrentQueue, 5,s: 6,708,128 msg/sec moodycamel::ConcurrentQueue, 5,i: 19,765,646 msg/sec moodycamel::ConcurrentQueue, 6,s: 5,710,606 msg/sec moodycamel::ConcurrentQueue, 6,i: 6,740,604 msg/sec moodycamel::ConcurrentQueue, 7,s: 10,738,019 msg/sec moodycamel::ConcurrentQueue, 7,i: 21,162,509 msg/sec moodycamel::ConcurrentQueue, 8,s: 4,943,986 msg/sec moodycamel::ConcurrentQueue, 8,i: 6,251,086 msg/sec moodycamel::ConcurrentQueue, 9,s: 5,559,972 msg/sec moodycamel::ConcurrentQueue, 9,i: 4,931,355 msg/sec moodycamel::ConcurrentQueue,10,s: 5,179,954 msg/sec moodycamel::ConcurrentQueue,10,i: 9,413,243 msg/sec moodycamel::ConcurrentQueue,11,s: 4,716,714 msg/sec moodycamel::ConcurrentQueue,11,i: 5,404,845 msg/sec moodycamel::ConcurrentQueue,12,s: 5,300,586 msg/sec moodycamel::ConcurrentQueue,12,i: 5,565,397 msg/sec moodycamel::ConcurrentQueue,13,s: 5,158,171 msg/sec moodycamel::ConcurrentQueue,13,i: 12,341,408 msg/sec moodycamel::ConcurrentQueue,14,s: 6,536,264 msg/sec moodycamel::ConcurrentQueue,14,i: 5,562,285 msg/sec pthread_spinlock, 1,s: 6,472,767 msg/sec pthread_spinlock, 1,i: 6,466,565 msg/sec pthread_spinlock, 2,s: 3,496,113 msg/sec pthread_spinlock, 2,i: 4,598,966 msg/sec pthread_spinlock, 3,s: 3,465,316 msg/sec pthread_spinlock, 3,i: 3,234,386 msg/sec pthread_spinlock, 4,s: 2,809,879 msg/sec pthread_spinlock, 4,i: 2,629,354 msg/sec pthread_spinlock, 5,s: 2,060,492 msg/sec pthread_spinlock, 5,i: 2,450,167 msg/sec pthread_spinlock, 6,s: 2,173,398 msg/sec pthread_spinlock, 6,i: 1,829,004 msg/sec pthread_spinlock, 7,s: 1,806,243 msg/sec pthread_spinlock, 7,i: 1,818,281 msg/sec pthread_spinlock, 8,s: 855,767 msg/sec pthread_spinlock, 8,i: 1,356,085 msg/sec pthread_spinlock, 9,s: 1,024,361 msg/sec pthread_spinlock, 9,i: 949,600 msg/sec pthread_spinlock,10,s: 510,552 msg/sec pthread_spinlock,10,i: 506,290 msg/sec pthread_spinlock,11,s: 535,853 msg/sec pthread_spinlock,11,i: 500,215 msg/sec pthread_spinlock,12,s: 583,802 msg/sec pthread_spinlock,12,i: 835,189 msg/sec pthread_spinlock,13,s: 543,708 msg/sec pthread_spinlock,13,i: 536,218 msg/sec pthread_spinlock,14,s: 481,538 msg/sec pthread_spinlock,14,i: 558,640 msg/sec std::mutex, 1,s: 6,353,392 msg/sec std::mutex, 1,i: 6,400,064 msg/sec std::mutex, 2,s: 4,380,271 msg/sec std::mutex, 2,i: 4,690,255 msg/sec std::mutex, 3,s: 3,225,519 msg/sec std::mutex, 3,i: 2,958,851 msg/sec std::mutex, 4,s: 2,922,423 msg/sec std::mutex, 4,i: 2,951,762 msg/sec std::mutex, 5,s: 3,797,099 msg/sec std::mutex, 5,i: 3,708,237 msg/sec std::mutex, 6,s: 4,563,954 msg/sec std::mutex, 6,i: 4,613,796 msg/sec std::mutex, 7,s: 5,455,164 msg/sec std::mutex, 7,i: 5,837,275 msg/sec std::mutex, 8,s: 6,630,716 msg/sec std::mutex, 8,i: 5,661,008 msg/sec std::mutex, 9,s: 6,109,816 msg/sec std::mutex, 9,i: 5,027,348 msg/sec std::mutex,10,s: 6,099,585 msg/sec std::mutex,10,i: 4,804,035 msg/sec std::mutex,11,s: 6,038,659 msg/sec std::mutex,11,i: 4,964,180 msg/sec std::mutex,12,s: 6,274,792 msg/sec std::mutex,12,i: 5,099,827 msg/sec std::mutex,13,s: 6,436,522 msg/sec std::mutex,13,i: 5,209,541 msg/sec std::mutex,14,s: 6,572,148 msg/sec std::mutex,14,i: 5,287,661 msg/sec tbb::spin_mutex, 1,s: 23,528,194 msg/sec tbb::spin_mutex, 1,i: 23,319,930 msg/sec tbb::spin_mutex, 2,s: 15,096,205 msg/sec tbb::spin_mutex, 2,i: 12,145,291 msg/sec tbb::spin_mutex, 3,s: 9,602,886 msg/sec tbb::spin_mutex, 3,i: 8,855,230 msg/sec tbb::spin_mutex, 4,s: 6,000,803 msg/sec tbb::spin_mutex, 4,i: 6,996,690 msg/sec tbb::spin_mutex, 5,s: 5,637,630 msg/sec tbb::spin_mutex, 5,i: 4,891,100 msg/sec tbb::spin_mutex, 6,s: 3,393,669 msg/sec tbb::spin_mutex, 6,i: 2,961,378 msg/sec tbb::spin_mutex, 7,s: 2,298,533 msg/sec tbb::spin_mutex, 7,i: 1,875,231 msg/sec tbb::spin_mutex, 8,s: 1,478,306 msg/sec tbb::spin_mutex, 8,i: 1,375,698 msg/sec tbb::spin_mutex, 9,s: 858,473 msg/sec tbb::spin_mutex, 9,i: 989,307 msg/sec tbb::spin_mutex,10,s: 571,935 msg/sec tbb::spin_mutex,10,i: 738,542 msg/sec tbb::spin_mutex,11,s: 625,715 msg/sec tbb::spin_mutex,11,i: 738,571 msg/sec tbb::spin_mutex,12,s: 377,631 msg/sec tbb::spin_mutex,12,i: 710,098 msg/sec tbb::spin_mutex,13,s: 419,481 msg/sec tbb::spin_mutex,13,i: 585,596 msg/sec tbb::spin_mutex,14,s: 485,149 msg/sec tbb::spin_mutex,14,i: 558,349 msg/sec tbb::concurrent_bounded_queue, 1,s: 3,015,761 msg/sec tbb::concurrent_bounded_queue, 1,i: 5,335,381 msg/sec tbb::concurrent_bounded_queue, 2,s: 4,821,319 msg/sec tbb::concurrent_bounded_queue, 2,i: 4,970,554 msg/sec tbb::concurrent_bounded_queue, 3,s: 3,732,928 msg/sec tbb::concurrent_bounded_queue, 3,i: 4,026,642 msg/sec tbb::concurrent_bounded_queue, 4,s: 3,650,157 msg/sec tbb::concurrent_bounded_queue, 4,i: 3,635,367 msg/sec tbb::concurrent_bounded_queue, 5,s: 2,846,717 msg/sec tbb::concurrent_bounded_queue, 5,i: 2,861,525 msg/sec tbb::concurrent_bounded_queue, 6,s: 2,592,792 msg/sec tbb::concurrent_bounded_queue, 6,i: 2,798,142 msg/sec tbb::concurrent_bounded_queue, 7,s: 2,524,860 msg/sec tbb::concurrent_bounded_queue, 7,i: 2,429,317 msg/sec tbb::concurrent_bounded_queue, 8,s: 1,032,645 msg/sec tbb::concurrent_bounded_queue, 8,i: 1,973,550 msg/sec tbb::concurrent_bounded_queue, 9,s: 1,200,157 msg/sec tbb::concurrent_bounded_queue, 9,i: 1,364,598 msg/sec tbb::concurrent_bounded_queue,10,s: 1,163,686 msg/sec tbb::concurrent_bounded_queue,10,i: 1,260,936 msg/sec tbb::concurrent_bounded_queue,11,s: 1,183,275 msg/sec tbb::concurrent_bounded_queue,11,i: 1,218,219 msg/sec tbb::concurrent_bounded_queue,12,s: 1,181,367 msg/sec tbb::concurrent_bounded_queue,12,i: 1,081,924 msg/sec tbb::concurrent_bounded_queue,13,s: 1,096,004 msg/sec tbb::concurrent_bounded_queue,13,i: 1,164,910 msg/sec tbb::concurrent_bounded_queue,14,s: 716,052 msg/sec tbb::concurrent_bounded_queue,14,i: 1,069,367 msg/sec xenium::michael_scott_queue, 1,s: 2,513,510 msg/sec xenium::michael_scott_queue, 1,i: 3,981,666 msg/sec xenium::michael_scott_queue, 2,s: 2,974,214 msg/sec xenium::michael_scott_queue, 2,i: 3,063,053 msg/sec xenium::michael_scott_queue, 3,s: 2,258,288 msg/sec xenium::michael_scott_queue, 3,i: 2,614,187 msg/sec xenium::michael_scott_queue, 4,s: 2,094,262 msg/sec xenium::michael_scott_queue, 4,i: 2,251,263 msg/sec xenium::michael_scott_queue, 5,s: 1,924,123 msg/sec xenium::michael_scott_queue, 5,i: 1,901,648 msg/sec xenium::michael_scott_queue, 6,s: 1,664,398 msg/sec xenium::michael_scott_queue, 6,i: 1,803,485 msg/sec xenium::michael_scott_queue, 7,s: 1,619,861 msg/sec xenium::michael_scott_queue, 7,i: 1,730,073 msg/sec xenium::michael_scott_queue, 8,s: 1,042,034 msg/sec xenium::michael_scott_queue, 8,i: 1,382,140 msg/sec xenium::michael_scott_queue, 9,s: 487,023 msg/sec xenium::michael_scott_queue, 9,i: 509,920 msg/sec xenium::michael_scott_queue,10,s: 502,051 msg/sec xenium::michael_scott_queue,10,i: 815,326 msg/sec xenium::michael_scott_queue,11,s: 490,195 msg/sec xenium::michael_scott_queue,11,i: 821,700 msg/sec xenium::michael_scott_queue,12,s: 543,920 msg/sec xenium::michael_scott_queue,12,i: 889,727 msg/sec xenium::michael_scott_queue,13,s: 704,218 msg/sec xenium::michael_scott_queue,13,i: 502,044 msg/sec xenium::michael_scott_queue,14,s: 518,151 msg/sec xenium::michael_scott_queue,14,i: 506,185 msg/sec xenium::ramalhete_queue, 1,s: 8,478,227 msg/sec xenium::ramalhete_queue, 1,i: 10,743,251 msg/sec xenium::ramalhete_queue, 2,s: 5,048,106 msg/sec xenium::ramalhete_queue, 2,i: 5,590,745 msg/sec xenium::ramalhete_queue, 3,s: 7,157,482 msg/sec xenium::ramalhete_queue, 3,i: 6,860,915 msg/sec xenium::ramalhete_queue, 4,s: 7,263,407 msg/sec xenium::ramalhete_queue, 4,i: 7,732,312 msg/sec xenium::ramalhete_queue, 5,s: 7,636,150 msg/sec xenium::ramalhete_queue, 5,i: 8,293,267 msg/sec xenium::ramalhete_queue, 6,s: 8,080,140 msg/sec xenium::ramalhete_queue, 6,i: 8,256,972 msg/sec xenium::ramalhete_queue, 7,s: 8,097,466 msg/sec xenium::ramalhete_queue, 7,i: 8,106,106 msg/sec xenium::ramalhete_queue, 8,s: 7,740,224 msg/sec xenium::ramalhete_queue, 8,i: 8,500,382 msg/sec xenium::ramalhete_queue, 9,s: 7,842,287 msg/sec xenium::ramalhete_queue, 9,i: 7,748,313 msg/sec xenium::ramalhete_queue,10,s: 8,102,552 msg/sec xenium::ramalhete_queue,10,i: 8,032,423 msg/sec xenium::ramalhete_queue,11,s: 8,105,282 msg/sec xenium::ramalhete_queue,11,i: 7,650,290 msg/sec xenium::ramalhete_queue,12,s: 8,482,134 msg/sec xenium::ramalhete_queue,12,i: 8,411,610 msg/sec xenium::ramalhete_queue,13,s: 9,199,452 msg/sec xenium::ramalhete_queue,13,i: 8,399,040 msg/sec xenium::ramalhete_queue,14,s: 11,041,506 msg/sec xenium::ramalhete_queue,14,i: 7,888,409 msg/sec xenium::vyukov_bounded_queue, 1,s: 34,206,851 msg/sec xenium::vyukov_bounded_queue, 1,i: 39,629,353 msg/sec xenium::vyukov_bounded_queue, 2,s: 5,928,644 msg/sec xenium::vyukov_bounded_queue, 2,i: 8,628,486 msg/sec xenium::vyukov_bounded_queue, 3,s: 3,321,190 msg/sec xenium::vyukov_bounded_queue, 3,i: 4,753,243 msg/sec xenium::vyukov_bounded_queue, 4,s: 3,989,841 msg/sec xenium::vyukov_bounded_queue, 4,i: 4,099,277 msg/sec xenium::vyukov_bounded_queue, 5,s: 3,525,556 msg/sec xenium::vyukov_bounded_queue, 5,i: 3,662,883 msg/sec xenium::vyukov_bounded_queue, 6,s: 3,284,993 msg/sec xenium::vyukov_bounded_queue, 6,i: 3,268,276 msg/sec xenium::vyukov_bounded_queue, 7,s: 3,015,447 msg/sec xenium::vyukov_bounded_queue, 7,i: 2,975,846 msg/sec xenium::vyukov_bounded_queue, 8,s: 1,686,894 msg/sec xenium::vyukov_bounded_queue, 8,i: 2,277,479 msg/sec xenium::vyukov_bounded_queue, 9,s: 1,563,911 msg/sec xenium::vyukov_bounded_queue, 9,i: 1,656,014 msg/sec xenium::vyukov_bounded_queue,10,s: 1,394,114 msg/sec xenium::vyukov_bounded_queue,10,i: 1,332,683 msg/sec xenium::vyukov_bounded_queue,11,s: 1,117,607 msg/sec xenium::vyukov_bounded_queue,11,i: 1,344,541 msg/sec xenium::vyukov_bounded_queue,12,s: 502,641 msg/sec xenium::vyukov_bounded_queue,12,i: 1,158,818 msg/sec xenium::vyukov_bounded_queue,13,s: 1,078,559 msg/sec xenium::vyukov_bounded_queue,13,i: 1,164,172 msg/sec xenium::vyukov_bounded_queue,14,s: 772,829 msg/sec xenium::vyukov_bounded_queue,14,i: 1,086,127 msg/sec AtomicQueue, 1,s: 10,767,111 msg/sec AtomicQueue, 1,i: 10,992,297 msg/sec AtomicQueue, 2,s: 3,006,933 msg/sec AtomicQueue, 2,i: 4,342,977 msg/sec AtomicQueue, 3,s: 2,689,712 msg/sec AtomicQueue, 3,i: 3,230,730 msg/sec AtomicQueue, 4,s: 2,571,394 msg/sec AtomicQueue, 4,i: 2,736,949 msg/sec AtomicQueue, 5,s: 2,312,820 msg/sec AtomicQueue, 5,i: 2,428,956 msg/sec AtomicQueue, 6,s: 1,943,600 msg/sec AtomicQueue, 6,i: 1,894,643 msg/sec AtomicQueue, 7,s: 1,713,380 msg/sec AtomicQueue, 7,i: 1,798,721 msg/sec AtomicQueue, 8,s: 1,074,154 msg/sec AtomicQueue, 8,i: 1,285,425 msg/sec AtomicQueue, 9,s: 1,218,817 msg/sec AtomicQueue, 9,i: 1,105,035 msg/sec AtomicQueue,10,s: 975,041 msg/sec AtomicQueue,10,i: 1,054,820 msg/sec AtomicQueue,11,s: 939,985 msg/sec AtomicQueue,11,i: 516,075 msg/sec AtomicQueue,12,s: 768,916 msg/sec AtomicQueue,12,i: 513,494 msg/sec AtomicQueue,13,s: 505,781 msg/sec AtomicQueue,13,i: 527,490 msg/sec AtomicQueue,14,s: 526,843 msg/sec AtomicQueue,14,i: 517,992 msg/sec AtomicQueueB, 1,s: 12,975,688 msg/sec AtomicQueueB, 1,i: 13,983,837 msg/sec AtomicQueueB, 2,s: 3,100,475 msg/sec AtomicQueueB, 2,i: 3,519,085 msg/sec AtomicQueueB, 3,s: 3,026,919 msg/sec AtomicQueueB, 3,i: 2,692,774 msg/sec AtomicQueueB, 4,s: 2,352,480 msg/sec AtomicQueueB, 4,i: 2,749,055 msg/sec AtomicQueueB, 5,s: 2,145,947 msg/sec AtomicQueueB, 5,i: 2,333,485 msg/sec AtomicQueueB, 6,s: 1,953,456 msg/sec AtomicQueueB, 6,i: 1,879,456 msg/sec AtomicQueueB, 7,s: 1,781,743 msg/sec AtomicQueueB, 7,i: 1,604,767 msg/sec AtomicQueueB, 8,s: 985,105 msg/sec AtomicQueueB, 8,i: 1,443,367 msg/sec AtomicQueueB, 9,s: 608,430 msg/sec AtomicQueueB, 9,i: 1,227,061 msg/sec AtomicQueueB,10,s: 922,629 msg/sec AtomicQueueB,10,i: 1,024,775 msg/sec AtomicQueueB,11,s: 514,490 msg/sec AtomicQueueB,11,i: 525,974 msg/sec AtomicQueueB,12,s: 500,318 msg/sec AtomicQueueB,12,i: 511,901 msg/sec AtomicQueueB,13,s: 543,337 msg/sec AtomicQueueB,13,i: 511,841 msg/sec AtomicQueueB,14,s: 513,127 msg/sec AtomicQueueB,14,i: 504,927 msg/sec OptimistAtomicQueue, 1,s: 188,250,613 msg/sec OptimistAtomicQueue, 1,i: 169,902,836 msg/sec OptimistAtomicQueue, 2,s: 7,654,735 msg/sec OptimistAtomicQueue, 2,i: 9,207,081 msg/sec OptimistAtomicQueue, 3,s: 9,382,665 msg/sec OptimistAtomicQueue, 3,i: 9,180,154 msg/sec OptimistAtomicQueue, 4,s: 8,918,057 msg/sec OptimistAtomicQueue, 4,i: 9,647,639 msg/sec OptimistAtomicQueue, 5,s: 12,461,825 msg/sec OptimistAtomicQueue, 5,i: 12,946,114 msg/sec OptimistAtomicQueue, 6,s: 13,674,200 msg/sec OptimistAtomicQueue, 6,i: 13,587,540 msg/sec OptimistAtomicQueue, 7,s: 13,276,405 msg/sec OptimistAtomicQueue, 7,i: 13,689,905 msg/sec OptimistAtomicQueue, 8,s: 10,515,697 msg/sec OptimistAtomicQueue, 8,i: 10,416,634 msg/sec OptimistAtomicQueue, 9,s: 10,645,157 msg/sec OptimistAtomicQueue, 9,i: 10,306,134 msg/sec OptimistAtomicQueue,10,s: 10,317,997 msg/sec OptimistAtomicQueue,10,i: 10,319,174 msg/sec OptimistAtomicQueue,11,s: 10,717,837 msg/sec OptimistAtomicQueue,11,i: 10,518,808 msg/sec OptimistAtomicQueue,12,s: 10,444,817 msg/sec OptimistAtomicQueue,12,i: 10,741,266 msg/sec OptimistAtomicQueue,13,s: 9,644,869 msg/sec OptimistAtomicQueue,13,i: 10,100,562 msg/sec OptimistAtomicQueue,14,s: 8,875,572 msg/sec OptimistAtomicQueue,14,i: 11,023,613 msg/sec OptimistAtomicQueueB, 1,s: 45,820,667 msg/sec OptimistAtomicQueueB, 1,i: 43,809,816 msg/sec OptimistAtomicQueueB, 2,s: 9,961,688 msg/sec OptimistAtomicQueueB, 2,i: 10,234,941 msg/sec OptimistAtomicQueueB, 3,s: 11,807,711 msg/sec OptimistAtomicQueueB, 3,i: 11,985,074 msg/sec OptimistAtomicQueueB, 4,s: 12,470,659 msg/sec OptimistAtomicQueueB, 4,i: 13,071,834 msg/sec OptimistAtomicQueueB, 5,s: 12,819,479 msg/sec OptimistAtomicQueueB, 5,i: 13,326,735 msg/sec OptimistAtomicQueueB, 6,s: 12,824,833 msg/sec OptimistAtomicQueueB, 6,i: 13,888,962 msg/sec OptimistAtomicQueueB, 7,s: 13,619,401 msg/sec OptimistAtomicQueueB, 7,i: 13,798,192 msg/sec OptimistAtomicQueueB, 8,s: 10,533,024 msg/sec OptimistAtomicQueueB, 8,i: 10,646,669 msg/sec OptimistAtomicQueueB, 9,s: 10,576,278 msg/sec OptimistAtomicQueueB, 9,i: 9,905,710 msg/sec OptimistAtomicQueueB,10,s: 10,408,905 msg/sec OptimistAtomicQueueB,10,i: 10,303,504 msg/sec OptimistAtomicQueueB,11,s: 10,687,626 msg/sec OptimistAtomicQueueB,11,i: 10,940,233 msg/sec OptimistAtomicQueueB,12,s: 11,101,561 msg/sec OptimistAtomicQueueB,12,i: 11,225,912 msg/sec OptimistAtomicQueueB,13,s: 10,201,227 msg/sec OptimistAtomicQueueB,13,i: 10,918,672 msg/sec OptimistAtomicQueueB,14,s: 9,200,833 msg/sec OptimistAtomicQueueB,14,i: 10,095,360 msg/sec AtomicQueue2, 1,s: 8,757,755 msg/sec AtomicQueue2, 1,i: 8,757,775 msg/sec AtomicQueue2, 2,s: 3,981,341 msg/sec AtomicQueue2, 2,i: 4,216,728 msg/sec AtomicQueue2, 3,s: 2,849,166 msg/sec AtomicQueue2, 3,i: 3,314,442 msg/sec AtomicQueue2, 4,s: 2,361,970 msg/sec AtomicQueue2, 4,i: 2,537,688 msg/sec AtomicQueue2, 5,s: 2,259,050 msg/sec AtomicQueue2, 5,i: 2,389,938 msg/sec AtomicQueue2, 6,s: 1,946,395 msg/sec AtomicQueue2, 6,i: 2,059,002 msg/sec AtomicQueue2, 7,s: 1,777,163 msg/sec AtomicQueue2, 7,i: 1,786,909 msg/sec AtomicQueue2, 8,s: 1,075,078 msg/sec AtomicQueue2, 8,i: 1,595,898 msg/sec AtomicQueue2, 9,s: 1,036,495 msg/sec AtomicQueue2, 9,i: 1,201,382 msg/sec AtomicQueue2,10,s: 817,655 msg/sec AtomicQueue2,10,i: 1,088,090 msg/sec AtomicQueue2,11,s: 926,628 msg/sec AtomicQueue2,11,i: 519,264 msg/sec AtomicQueue2,12,s: 758,525 msg/sec AtomicQueue2,12,i: 881,371 msg/sec AtomicQueue2,13,s: 549,242 msg/sec AtomicQueue2,13,i: 520,923 msg/sec AtomicQueue2,14,s: 503,996 msg/sec AtomicQueue2,14,i: 526,932 msg/sec AtomicQueueB2, 1,s: 10,794,915 msg/sec AtomicQueueB2, 1,i: 10,875,707 msg/sec AtomicQueueB2, 2,s: 2,866,494 msg/sec AtomicQueueB2, 2,i: 3,133,243 msg/sec AtomicQueueB2, 3,s: 2,554,153 msg/sec AtomicQueueB2, 3,i: 2,614,276 msg/sec AtomicQueueB2, 4,s: 2,385,800 msg/sec AtomicQueueB2, 4,i: 2,622,761 msg/sec AtomicQueueB2, 5,s: 2,204,560 msg/sec AtomicQueueB2, 5,i: 2,403,808 msg/sec AtomicQueueB2, 6,s: 1,887,790 msg/sec AtomicQueueB2, 6,i: 2,043,277 msg/sec AtomicQueueB2, 7,s: 1,895,351 msg/sec AtomicQueueB2, 7,i: 1,803,929 msg/sec AtomicQueueB2, 8,s: 955,403 msg/sec AtomicQueueB2, 8,i: 1,160,502 msg/sec AtomicQueueB2, 9,s: 867,968 msg/sec AtomicQueueB2, 9,i: 1,010,956 msg/sec AtomicQueueB2,10,s: 519,557 msg/sec AtomicQueueB2,10,i: 1,008,877 msg/sec AtomicQueueB2,11,s: 536,361 msg/sec AtomicQueueB2,11,i: 517,702 msg/sec AtomicQueueB2,12,s: 491,452 msg/sec AtomicQueueB2,12,i: 531,101 msg/sec AtomicQueueB2,13,s: 510,593 msg/sec AtomicQueueB2,13,i: 509,227 msg/sec AtomicQueueB2,14,s: 487,386 msg/sec AtomicQueueB2,14,i: 732,791 msg/sec OptimistAtomicQueue2, 1,s: 54,406,510 msg/sec OptimistAtomicQueue2, 1,i: 93,378,917 msg/sec OptimistAtomicQueue2, 2,s: 8,105,118 msg/sec OptimistAtomicQueue2, 2,i: 7,971,874 msg/sec OptimistAtomicQueue2, 3,s: 9,539,641 msg/sec OptimistAtomicQueue2, 3,i: 10,393,961 msg/sec OptimistAtomicQueue2, 4,s: 8,907,674 msg/sec OptimistAtomicQueue2, 4,i: 8,539,613 msg/sec OptimistAtomicQueue2, 5,s: 8,774,199 msg/sec OptimistAtomicQueue2, 5,i: 12,409,228 msg/sec OptimistAtomicQueue2, 6,s: 12,204,736 msg/sec OptimistAtomicQueue2, 6,i: 13,245,223 msg/sec OptimistAtomicQueue2, 7,s: 12,401,312 msg/sec OptimistAtomicQueue2, 7,i: 13,246,887 msg/sec OptimistAtomicQueue2, 8,s: 10,178,751 msg/sec OptimistAtomicQueue2, 8,i: 10,255,073 msg/sec OptimistAtomicQueue2, 9,s: 10,184,305 msg/sec OptimistAtomicQueue2, 9,i: 9,928,373 msg/sec OptimistAtomicQueue2,10,s: 10,367,103 msg/sec OptimistAtomicQueue2,10,i: 9,912,847 msg/sec OptimistAtomicQueue2,11,s: 10,151,311 msg/sec OptimistAtomicQueue2,11,i: 9,822,532 msg/sec OptimistAtomicQueue2,12,s: 10,047,315 msg/sec OptimistAtomicQueue2,12,i: 9,954,711 msg/sec OptimistAtomicQueue2,13,s: 9,706,747 msg/sec OptimistAtomicQueue2,13,i: 9,793,465 msg/sec OptimistAtomicQueue2,14,s: 8,615,120 msg/sec OptimistAtomicQueue2,14,i: 9,687,443 msg/sec OptimistAtomicQueueB2, 1,s: 24,657,588 msg/sec OptimistAtomicQueueB2, 1,i: 24,905,771 msg/sec OptimistAtomicQueueB2, 2,s: 9,876,137 msg/sec OptimistAtomicQueueB2, 2,i: 9,129,591 msg/sec OptimistAtomicQueueB2, 3,s: 11,956,657 msg/sec OptimistAtomicQueueB2, 3,i: 11,368,268 msg/sec OptimistAtomicQueueB2, 4,s: 12,026,899 msg/sec OptimistAtomicQueueB2, 4,i: 11,522,332 msg/sec OptimistAtomicQueueB2, 5,s: 12,399,480 msg/sec OptimistAtomicQueueB2, 5,i: 12,287,429 msg/sec OptimistAtomicQueueB2, 6,s: 11,062,600 msg/sec OptimistAtomicQueueB2, 6,i: 9,220,347 msg/sec OptimistAtomicQueueB2, 7,s: 9,046,991 msg/sec OptimistAtomicQueueB2, 7,i: 12,616,730 msg/sec OptimistAtomicQueueB2, 8,s: 9,966,493 msg/sec OptimistAtomicQueueB2, 8,i: 10,236,879 msg/sec OptimistAtomicQueueB2, 9,s: 10,253,048 msg/sec OptimistAtomicQueueB2, 9,i: 10,050,175 msg/sec OptimistAtomicQueueB2,10,s: 10,231,364 msg/sec OptimistAtomicQueueB2,10,i: 10,040,657 msg/sec OptimistAtomicQueueB2,11,s: 10,076,777 msg/sec OptimistAtomicQueueB2,11,i: 9,981,495 msg/sec OptimistAtomicQueueB2,12,s: 9,901,287 msg/sec OptimistAtomicQueueB2,12,i: 9,870,342 msg/sec OptimistAtomicQueueB2,13,s: 8,904,886 msg/sec OptimistAtomicQueueB2,13,i: 9,911,409 msg/sec OptimistAtomicQueueB2,14,s: 8,320,316 msg/sec OptimistAtomicQueueB2,14,i: 9,716,388 msg/sec ---- Running ping-pong benchmarks (lower is better) ---- boost::lockfree::spsc_queue: 0.000000299 sec/round-trip boost::lockfree::queue: 0.000000773 sec/round-trip moodycamel::ReaderWriterQueue: 0.000000219 sec/round-trip moodycamel::ConcurrentQueue: 0.000000427 sec/round-trip pthread_spinlock: 0.000000796 sec/round-trip std::mutex: 0.000001909 sec/round-trip tbb::spin_mutex: 0.000000584 sec/round-trip tbb::concurrent_bounded_queue: 0.000000634 sec/round-trip xenium::michael_scott_queue: 0.000000757 sec/round-trip xenium::ramalhete_queue: 0.000000508 sec/round-trip xenium::vyukov_bounded_queue: 0.000000464 sec/round-trip AtomicQueue: 0.000000257 sec/round-trip AtomicQueueB: 0.000000362 sec/round-trip OptimistAtomicQueue: 0.000000306 sec/round-trip OptimistAtomicQueueB: 0.000000335 sec/round-trip AtomicQueue2: 0.000000332 sec/round-trip AtomicQueueB2: 0.000000415 sec/round-trip OptimistAtomicQueue2: 0.000000334 sec/round-trip OptimistAtomicQueueB2: 0.000000367 sec/round-trip max0x7ba-atomic_queue-40624b8/scripts/000077500000000000000000000000001525237550500175725ustar00rootroot00000000000000max0x7ba-atomic_queue-40624b8/scripts/benchmark.sh000077500000000000000000000022201525237550500220570ustar00rootroot00000000000000#!/bin/bash set -e # Exit on errors. sched_rt=/proc/sys/kernel/sched_rt_runtime_us orig_sched_rt=/tmp/${sched_rt##*/}.txt function prologue { sudo hugeadm --pool-pages-min 1GB:1 || : # Ignore failures. sudo cpupower frequency-set --related --governor performance >/dev/null || : # Ignore failures. # Disable real-time throttling. Save its original value. if [[ -e ${sched_rt} ]]; then local tmp_orig_sched_rt=${orig_sched_rt}.${BASHPID}~ [[ -e ${orig_sched_rt} ]] || cat ${sched_rt} > ${tmp_orig_sched_rt} echo -1 | { sudo tee ${sched_rt} >/dev/null [[ ! -e ${tmp_orig_sched_rt} ]] || mv -f ${tmp_orig_sched_rt} ${orig_sched_rt} } fi } function epilogue { sudo cpupower frequency-set --related --governor powersave >/dev/null || : # Ignore failures. # Restore original real-time throttling value. if [[ -f ${orig_sched_rt} ]]; then sudo tee ${sched_rt} >/dev/null <${orig_sched_rt} && rm ${orig_sched_rt} fi } function benchmark { trap epilogue EXIT prologue (set -e; exec "$@") } if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then benchmark "$@" fi max0x7ba-atomic_queue-40624b8/scripts/latency_to_json.py000077500000000000000000000007471525237550500233510ustar00rootroot00000000000000#!/usr/bin/env python # Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. import sys import pandas as pd import json from parse_output import * results = list(parse_output(sys.stdin)) df = as_latency_df(results) output = dict() # name: min, max, mean, stdev for name, data in df.groupby('queue'): s = data["sec/round-trip"].describe() output[name] = [int(s[f] * 1e9) for f in ['min', 'max', 'mean', 'std']] json.dump(output, sys.stdout) max0x7ba-atomic_queue-40624b8/scripts/parse_output.py000077500000000000000000000016211525237550500227010ustar00rootroot00000000000000#!/usr/bin/env python # Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. import re import pandas as pd _parser = re.compile("\s*(.+):\s+([,.0-9]+)\s+(\S+)") def parse_output(f): for line in f: m = _parser.match(line) if m: queue = m.group(1) units = m.group(3) value = float(m.group(2).replace(',', '')) yield queue, units, value def extract_name_threads(name_theads): name, threads, si = name_theads.split(',') return name, int(threads) def as_scalability_df(results): return pd.DataFrame.from_records(((*extract_name_threads(r[0]), r[2]) for r in results if r[1] == 'msg/sec'), columns=['queue', 'threads', 'msg/sec']) def as_latency_df(results): return pd.DataFrame.from_records(((r[0], r[2]) for r in results if r[1] == 'sec/round-trip'), columns=['queue', 'sec/round-trip']) max0x7ba-atomic_queue-40624b8/scripts/run-benchmarks-for.sh000077500000000000000000000013371525237550500236400ustar00rootroot00000000000000#!/bin/bash # Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. lb="/usr/bin/stdbuf --output=L" minutes=${1:-10} $lb echo "Running benchmarks for ${minutes} minutes." end_time=$(($(date +%s) + minutes * 60)) now=$(date --utc +%Y%m%dT%H%M%S) cpucount=$(grep -c ^processor /proc/cpuinfo) exe="$(dirname "$0")/../benchmarks" source "$(dirname "$0")/benchmark.sh" function benchmark() { i=0 while((1)); do remaining=$((end_time - $(date +%s))) ((remaining <= 0)) && break ((++i)) $lb echo "[$i] $((remaining / 60))m:$((remaining % 60))s to go..." sudo chrt -f 50 "$exe" done } prologue benchmark | tee results-${cpucount}.${now}.txt epilogue max0x7ba-atomic_queue-40624b8/scripts/run-benchmarks.sh000077500000000000000000000007631525237550500230560ustar00rootroot00000000000000#!/bin/bash -x # Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. now=$(date --utc +%Y%m%dT%H%M%S) cpucount=$(grep -c ^processor /proc/cpuinfo) exe="$(dirname "$0")/../benchmarks" source "$(dirname "$0")/benchmark.sh" function benchmark() { lb="/usr/bin/stdbuf -oL" let N=${N:-33} for((i=1;i<=N;++i)); do $lb echo -n "[$i/$N] " sudo chrt -f 50 "$exe" done } prologue benchmark | tee results-${cpucount}.${now}.txt epilogue max0x7ba-atomic_queue-40624b8/scripts/scalability_to_json.py000077500000000000000000000011531525237550500242020ustar00rootroot00000000000000#!/usr/bin/env python # Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. import sys import pandas as pd import json from collections import defaultdict from parse_output import * results = list(parse_output(sys.stdin)) df = as_scalability_df(results) output = defaultdict(list) # name: thread, min, max, mean, stdev for (name, threads), data in df.groupby(['queue', 'threads']): s = data["msg/sec"].describe(percentiles=None) threads = int(threads) output[name].append([threads, *[int(s[f]) for f in ['min', 'max', 'mean', 'std']]]) json.dump(output, sys.stdout) max0x7ba-atomic_queue-40624b8/scripts/stats.py000077500000000000000000000030401525237550500213020ustar00rootroot00000000000000#!/usr/bin/env python # Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. import sys import re import math import csv import numpy as np from scipy import stats from pprint import pprint from collections import defaultdict results=defaultdict(lambda: defaultdict(list)) r = re.compile("\s*(.+):\s+([,.0-9]+)\s+(\S+)") for line in sys.stdin: m = r.match(line) if m: results[m.group(1)][m.group(3)].append(float(m.group(2).replace(',', ''))) def format_msg_sec(d, media, benchmark): return "{:11,.0f} {} (median: {:11,.0f}, mean: {:11,.0f} stdev: {:11,.0f})".format(d.minmax[1], benchmark, median, d.mean, math.sqrt(d.variance)) def format_round_trip(d, media, benchmark): return "{:11.9f} {} (median: {:11,.0f}, mean: {:11.9f} stdev: {:11.9f})".format(d.minmax[0], benchmark, median, d.mean, math.sqrt(d.variance)) fmt = { 'msg/sec': format_msg_sec, 'sec/round-trip': format_round_trip } csv_file = csv.writer(open("results.csv", "w"), csv.excel_tab) csv_file.writerow(["name", "min", "max", "mean", "stdev"]) for benchmark in ['msg/sec', 'sec/round-trip']: queues = sorted(results.keys()) for queue in queues: qr = results[queue] runs = qr.get(benchmark, None) if not runs: continue d = stats.describe(runs) median = np.median(runs) desc = fmt[benchmark](d, median, benchmark) print("{:>40s}: {}".format(queue, desc)) csv_file.writerow([queue, d.minmax[0], d.minmax[1], d.mean, math.sqrt(d.variance)]) max0x7ba-atomic_queue-40624b8/scripts/util.sh000077500000000000000000000064651525237550500211210ustar00rootroot00000000000000#!/bin/bash function raise { local cR="\e[31m" cD="\e[0m" printf "${cR}ERROR in %s:${cD} %s\n" "${FUNCNAME[1]}" "$1" >&2 exit 1 } function cxx-symbol-to-filename { local -n s="$2" s=${1//[![:alnum:]_]/-} s=${s//@(anonymous-namespace-|atomic_queue-|void-)} s=${s//false/F} s=${s//true/T} s=${s//short_int/short} s=${s//unsigned_int/unsigned} s=${s//long_int/long} s=${s//+(-)/-} s=${s/#-} s=${s/%-} } function disassemble-symbol {( set -eu shopt -s extglob local re_symbol="$1" obj="$2" local out="$(/bin/realpath -s "$2")" cxx_symbol cxx_symbol2 local out_prefix="$(dirname "$out")" local re_filter_out='^[[:space:]]*$|^Disassembly of section |^/[^:]+:[[:space:]]+file format' local objdump=(objdump --{disassembler-color,visualize-jumps}=color -Mintel -C) (( ${S:-0} < 1 )) || objdump+=(-lS) # S=1 includes source code. nm -jUC "$obj" | egrep -e "$re_symbol" | while read cxx_symbol; do cxx-symbol-to-filename "$cxx_symbol" cxx_symbol2 out="${out_prefix}/${cxx_symbol2}.S" ( (( ${V:-0} < 1 )) || set -x; ${objdump[@]} --disassemble="$cxx_symbol" "$obj" ) | egrep -ve "$re_filter_out" > "$out" echo "$out: ${cxx_symbol}" done )} function create_system_config_mk {( set -eu cat < /dev/null && echo -n lld || echo -n bfd) EOF )} # cd ~/src/atomic_queue; source ./scripts/util.sh; benchmark ryzen_5825u # cd ~/src/atomic_queue; source ./scripts/util.sh; N=2 benchmark ryzen_5825u_4 function benchmark {( set -eu local commit="$(git rev-parse --short HEAD)" local N=${N:-1} local benchmark_cmd=(make -R -j8 T=2 TOOLSET=gcc-14) local -A ryzen_5825u=( [smt1]=0-15 [smt0]=0-15:2 ) local -A ryzen_5825u_4=( [smt1]=0-3 [smt0]=0-7:2 ) local -A ryzen_5950x=( [smt1]=0-31 [smt0]=0-15 ) for target in clean "run_tests all"; do ${benchmark_cmd[@]} $target done local cpu_name="$1" name cpu_list target local -n cpu_lists=$1 for name in "${!cpu_lists[@]}"; do taskset -c "${cpu_lists[$name]}" time ${benchmark_cmd[@]} run_benchmarks_n N=$N TAG=${commit}.${cpu_name}.${name} done )} # cd ~/src/atomic_queue; source ./scripts/util.sh; format_benchmark results/adea692.ryzen_5825u.*.33.txt # cd ~/src/atomic_queue; source ./scripts/util.sh; format_benchmark results/632bae1.ryzen_5950x.*.33.txt function format_benchmark {( set -eu local prefix=(cc smt) r m for r in "$@"; do [[ "$r" =~ results/([^.]+)\.([^.]+)\.smt([01])\. ]] || raise "$r" # local commit=${BASH_REMATCH[1]} local cpu_name=${BASH_REMATCH[2]} local -i smt=${BASH_REMATCH[3]} for m in scalability latency; do printf "// %s\n%s_%s_%s: " "$r" ${prefix[$smt]} $m $cpu_name scripts/${m}_to_json.py < "$r" printf ",\n\n" done done )} function enable_thp { sudo bash <<-EOF echo 1 > /proc/sys/vm/overcommit_memory echo always > /sys/kernel/mm/transparent_hugepage/enabled echo always > /sys/kernel/mm/transparent_hugepage/defrag EOF } max0x7ba-atomic_queue-40624b8/src/000077500000000000000000000000001525237550500166725ustar00rootroot00000000000000max0x7ba-atomic_queue-40624b8/src/CMakeLists.txt000066400000000000000000000025211525237550500214320ustar00rootroot00000000000000CMAKE_MINIMUM_REQUIRED( VERSION 3.25 ) if ( ATOMIC_QUEUE_BUILD_EXAMPLES ) add_executable( atomic_queue_example ${CMAKE_CURRENT_SOURCE_DIR}/example.cc ) target_link_libraries( atomic_queue_example atomic_queue ) add_test( NAME atomic_queue_example COMMAND atomic_queue_example ) endif() if ( ATOMIC_QUEUE_BUILD_TESTS ) find_package(Boost REQUIRED COMPONENTS unit_test_framework) add_executable( atomic_queue_tests ${CMAKE_CURRENT_SOURCE_DIR}/tests.cc ) target_link_libraries( atomic_queue_tests atomic_queue Boost::unit_test_framework ) add_test( NAME atomic_queue_tests COMMAND atomic_queue_tests --log_level=unit_scope --report_level=short ) endif() if ( ATOMIC_QUEUE_BUILD_BENCHMARKS_MIN ) find_package(Boost REQUIRED COMPONENTS headers) add_executable( atomic_queue_benchmarks_min ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks_min.cc ${CMAKE_CURRENT_SOURCE_DIR}/huge_pages.cc ${CMAKE_CURRENT_SOURCE_DIR}/cpu_base_frequency.cc ) target_link_libraries( atomic_queue_benchmarks_min atomic_queue Boost::headers ) add_test( NAME atomic_queue_benchmarks_min COMMAND atomic_queue_benchmarks_min ) endif() max0x7ba-atomic_queue-40624b8/src/benchmarks.cc000066400000000000000000001036501525237550500213230ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include "atomic_queue/atomic_queue.h" #include "atomic_queue/barrier.h" #include "atomic_queue/atomic_queue_mutex.h" #include #include #if ! ATOMIC_QUEUE_BENCHMARKS_MIN #include #include #include #include #include #include #include "moodycamel.h" #endif // ATOMIC_QUEUE_BENCHMARKS_MIN #include "cpu_base_frequency.h" #include "huge_pages.h" #include "benchmarks.h" #include #include #include #include #include #include #include #include #include #include #include //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using std::uint64_t; using std::int64_t; using std::printf; using std::fprintf; using namespace ::atomic_queue; namespace A = ::atomic_queue; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int constexpr N_MSG = 1'000'000; int constexpr RUNS = 3; struct Options : EnvBits64 { using EnvBits64::EnvBits64; ATOMIC_QUEUE_INLINE constexpr auto minimal() const noexcept { return value & 1; }; ATOMIC_QUEUE_INLINE constexpr auto no_ping_pong() const noexcept { return value & 2; }; ATOMIC_QUEUE_INLINE constexpr auto no_throughput() const noexcept { return value & 4; }; ATOMIC_QUEUE_INLINE constexpr auto no_variant_a() const noexcept { return value & 8; }; ATOMIC_QUEUE_INLINE constexpr auto no_variant_b() const noexcept { return value & 16; }; ATOMIC_QUEUE_INLINE constexpr auto no_variant_1() const noexcept { return value & 32; }; ATOMIC_QUEUE_INLINE constexpr auto no_variant_2() const noexcept { return value & 64; }; ATOMIC_QUEUE_INLINE constexpr auto no_spsc() const noexcept { return value & 128; }; }; struct Params { Options options{"AQB"}; int n_msg = EnvBits64{"AQN", N_MSG, 1, INT_MAX}.value; std::vector hw_thread_ids; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Similar to boost::type<>. template struct Type { using type = T; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using sum_t = unsigned long long; using isum_t = long long; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct Range { P p, q; auto begin() const noexcept { return p; } auto end() const noexcept { return q; } }; template Range

as_range(P p, P q) noexcept { return {p, q}; } template Range

as_range(P p, size_t n) noexcept { return {p, p + n}; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // #define ATOMIC_QUEUE_RDTSC 0 #ifndef ATOMIC_QUEUE_RDTSC # if __x86_64__ || _M_X64 || __i386__ || _M_IX86 # define ATOMIC_QUEUE_RDTSC 1 # else # define ATOMIC_QUEUE_RDTSC 0 # endif #endif #if ATOMIC_QUEUE_RDTSC using cycles_t = decltype(__rdtsc()); char const clock_name[] = "RDTSC"; ATOMIC_QUEUE_SINLINE cycles_t cycles() noexcept { // If software requires RDTSC to be executed only after all previous instructions have executed and all previous loads are // globally visible, it can execute LFENCE immediately before RDTSC. _mm_lfence(); return __rdtsc(); } #else using cycles_t = uint64_t; char const clock_name[] = "CLOCK_MONOTONIC_RAW"; ATOMIC_QUEUE_SINLINE cycles_t cycles() noexcept { timespec t; clock_gettime(CLOCK_MONOTONIC_RAW, &t); constexpr cycles_t n_nsec = 1'000'000'000; return as_unsigned(t.tv_sec) * n_nsec + as_unsigned(t.tv_nsec); // Never sign-extend anything here. } #endif static_assert(std::is_unsigned::value, "Invalid cycles_t."); using icycles_t = std::make_signed::type; // Signed integers convert into double with one AVX instruction, unlike unsigned. cycles_t constexpr CYCLES_MAX = -1; double TSC_TO_SECONDS = 1e9; // Updated in main. ATOMIC_QUEUE_SINLINE double to_seconds(icycles_t cycles) noexcept { return cycles / TSC_TO_SECONDS; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct BoostSpScAdapter : Queue { using T = typename Queue::value_type; ATOMIC_QUEUE_INLINE void push(T element) { while(!this->Queue::push(element)) spin_loop_pause(); } ATOMIC_QUEUE_INLINE T pop() { T element; while(!this->Queue::pop(element)) spin_loop_pause(); return element; } }; template struct BoostQueueAdapter : BoostSpScAdapter { using T = typename Queue::value_type; ATOMIC_QUEUE_INLINE void push(T element) { while(!this->Queue::bounded_push(element)) spin_loop_pause(); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct region_guard_traits{ struct region_guard { constexpr region_guard() noexcept = default; }; }; template using region_guard_t = typename region_guard_traits::region_guard; #if ! ATOMIC_QUEUE_BENCHMARKS_MIN using Reclaimer = xenium::reclamation::new_epoch_based<>; template struct XeniumQueueAdapter : Queue { using T = typename Queue::value_type; ATOMIC_QUEUE_INLINE T pop() { T element; while(!this->Queue::try_pop(element)) spin_loop_pause(); return element; } }; template struct region_guard_traits> { using region_guard = typename xenium::michael_scott_queue::region_guard; }; template struct region_guard_traits> { using region_guard = typename xenium::ramalhete_queue::region_guard; }; #endif // ATOMIC_QUEUE_BENCHMARKS_MIN //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct TbbAdapter : RetryDecorator { ATOMIC_QUEUE_INLINE TbbAdapter() { this->set_capacity(Capacity); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using Allocator = HugePageAllocator; using BoostAllocator = boost::lockfree::allocator; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // According to my benchmarking, it looks like the best performance is achieved with the following parameters: // * For SPSC: SPSC=true, MINIMIZE_CONTENTION=false, MAXIMIZE_THROUGHPUT=false. // * For MPMC: SPSC=false, MINIMIZE_CONTENTION=true, MAXIMIZE_THROUGHPUT=true. // However, I am not sure that conflating these 3 parameters into 1 would be the right thing for every scenario. template struct QueueTypes { using T = unsigned; // For atomic elements only. using AtomicQueue = RetryDecorator>; using OptimistAtomicQueue = A::AtomicQueue; using AtomicQueueB = RetryDecorator, C>>; using OptimistAtomicQueueB = CapacityArgAdaptor, C>; // For non-atomic elements. using AtomicQueue2 = RetryDecorator>; using OptimistAtomicQueue2 = A::AtomicQueue2; using AtomicQueueB2 = RetryDecorator, C>>; using OptimistAtomicQueueB2 = CapacityArgAdaptor, C>; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct Times { std::atomic t[2] = {}; ATOMIC_QUEUE_INLINE void set(unsigned i) noexcept { t[i].store(cycles(), X); } ATOMIC_QUEUE_INLINE cycles_t get(unsigned i) const noexcept { return t[i].load(X); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct ThreadState { alignas(CACHE_LINE_SIZE) Times times; std::atomic sum = {}; std::thread thread; }; using ThreadStates = std::vector>; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct SharedState { // These remain constant. alignas(CACHE_LINE_SIZE) unsigned const n_producer_msg; unsigned n_threads = 0; void* queue0 = 0; void* queue1 = 0; ThreadState* const threads; unsigned const* ATOMIC_QUEUE_RESTRICT hw_thread_ids; // These are modified at the start. alignas(CACHE_LINE_SIZE) Barrier2 barrier; ATOMIC_QUEUE_INLINE SharedState(Params const* params, int n_threads, ThreadState* consumer_sums) noexcept : n_producer_msg((params->n_msg + (n_threads - 1)) / n_threads) , threads(consumer_sums) , hw_thread_ids{params->hw_thread_ids.data()} , barrier{{n_threads * 2u}} { assert(is_suitably_aligned(this)); } ATOMIC_QUEUE_INLINE auto as_thread_range() const noexcept { return as_range(threads, n_threads); } ATOMIC_QUEUE_NOINLINE auto* use_this_thread() noexcept { set_thread_affinity(hw_thread_ids[n_threads]); // Use this thread#0 for the first producer. Pin to the same CPU. return threads + n_threads++; } template ATOMIC_QUEUE_NOINLINE void create_thread(Args... args) { set_default_thread_affinity(hw_thread_ids[n_threads]); auto& thr = threads[n_threads]; thr.thread = std::thread(args..., this, &thr); ++n_threads; } ATOMIC_QUEUE_NOINLINE void join() { for(auto& thr : as_thread_range()) if(thr.thread.joinable()) thr.thread.join(); } ATOMIC_QUEUE_NOINLINE cycles_t total_time() const noexcept { cycles_t first_start_time = CYCLES_MAX; cycles_t last_end_time = 0; for(auto& thr : as_thread_range()) { first_start_time = min_value(first_start_time, thr.times.get(0)); last_end_time = max_value(last_end_time, thr.times.get(1)); } if(ATOMIC_QUEUE_UNLIKELY(first_start_time >= last_end_time)) // Not expected to happen. std::abort(); return last_end_time - first_start_time; } }; struct SharedState2 : SharedState { ThreadState threads2[2]; template constexpr ATOMIC_QUEUE_INLINE SharedState2(Params const* params, unsigned const (&cpus)[2]) : SharedState{params, 1, threads2} { this->hw_thread_ids = cpus; } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template ATOMIC_QUEUE_NOINLINE void throughput_producer(SharedState* ctx0, ThreadState* thread0) { #if ATOMIC_QUEUE_FULL_THROTTLE // Vacate the most desirable i386 registers with the shortest instruction encoding for more frequently accessed objects. // Move these rarely accessed objects into callee-saved [r12,15] registers, which often require 1-byte longer instruction encoding register auto* ctx asm("r14") = ctx0; register auto* thread asm("r15") = thread0; asm("": "+r"(ctx), "+r"(thread)); #else auto* ctx = ctx0; auto* thread = thread0; #endif Queue* const queue = static_cast(ctx->queue0); [[maybe_unused]] region_guard_t guard; ProducerOf producer{*queue}; unsigned n = ctx->n_producer_msg; ctx->barrier.countdown(); thread->times.set(0); do { producer.push(*queue, n); #if ATOMIC_QUEUE_FULL_THROTTLE // memory_order_release doesn't prevent reordering of _subsequent_ loads and stores prior to the memory_order_release store. // gcc-14 reorders decrementing n earlier. This unnecessary eager reordering butchers branch fusion for dec + jne. // Hint the compiler to delay decrementing n prior to this point. asm(""::"r"(n)); #endif } while(ATOMIC_QUEUE_LIKELY(--n)); thread->times.set(1); } template ATOMIC_QUEUE_NOINLINE void throughput_consumer(SharedState* ctx0, ThreadState* thread0) { #if ATOMIC_QUEUE_FULL_THROTTLE // Vacate the most desirable i386 registers with the shortest instruction encoding for more frequently accessed objects. // Move these rarely accessed objects into callee-saved [r12,15] registers, which often require 1-byte longer instruction encoding register sum_t sum asm("r13") = 1; // Allocate the most undesirable r13 for the sum, to avoid allocating r13 for anything else. register auto* ctx asm("r14") = ctx0; register auto* thread asm("r15") = thread0; asm("": "+r"(sum), "+r"(ctx), "+r"(thread)); #else sum_t sum = 1; auto* ctx = ctx0; auto* thread = thread0; #endif Queue* const queue = static_cast(ctx->queue0); [[maybe_unused]] region_guard_t guard; ConsumerOf consumer{*queue}; unsigned n; ctx->barrier.countdown(); thread->times.set(0); do { n = consumer.pop(*queue); #if ATOMIC_QUEUE_FULL_THROTTLE asm("":"+r"(sum)); #endif sum += n; // Includes stop value. } while(ATOMIC_QUEUE_LIKELY(n != 1)); thread->sum.store(sum, X); // Set sums are +1 biased. thread->times.set(1); } template ATOMIC_QUEUE_INLINE cycles_t time_throughput_once(Params const* params, int n_threads, bool alternative_placement, ThreadState* consumer_sums) { auto ctx = HugePages::instance->create_unique_ptr(params, n_threads, consumer_sums); auto queue = HugePages::instance->create_unique_ptr(ContextOf{n_threads, n_threads}); ctx->queue0 = queue.get(); auto* producer0 = ctx->use_this_thread(); // Use this thread#0 for the first producer. if(alternative_placement) { for(int i = 0; i < n_threads; ++i) { if(i) // This thread#0 is the first producer. ctx->create_thread(throughput_producer); ctx->create_thread(throughput_consumer); } } else { for(int i = 1; i < n_threads; ++i) // This thread#0 is the first producer. ctx->create_thread(throughput_producer); for(int i = 0; i < n_threads; ++i) ctx->create_thread(throughput_consumer); } throughput_producer(ctx.get(), producer0); // Use this thread#0 for the first producer. ctx->join(); return ctx->total_time(); } template ATOMIC_QUEUE_NOINLINE void time_throughput(char const* name, Params const* params, int n_thread_min, int n_thread_max) { for(auto n_threads = n_thread_min; n_threads <= n_thread_max; ++n_threads) { int const n_producer_msg = (params->n_msg + (n_threads - 1)) / n_threads; int const n_msg = n_producer_msg * n_threads; isum_t const expected_sum = (n_producer_msg + 1) * .5 * n_producer_msg; double const expected_avg_sum_inv = 1. / expected_sum; for(bool alternative_placement : {false, true}) { // auto const n_producer_msg = n_msg / n_threads; cycles_t n_cycles_best = CYCLES_MAX; for(unsigned run = RUNS; run--; HugePages::instance->check_huge_pages_leaks(name)) { ThreadStates threads(n_threads * 2); cycles_t n_cycles = time_throughput_once(params, n_threads, alternative_placement, threads.data()); n_cycles_best = min_value(n_cycles_best, n_cycles); // Calculate the checksum. sum_t total_sum = 0; unsigned consumer_idx = 0; for(auto& thr : threads) { auto consumer_sum = thr.sum.load(X); // Set sums are +1 biased. if(consumer_sum--) { total_sum += consumer_sum; // Verify that no consumer was starved. auto consumer_sum_frac = as_signed(consumer_sum) * expected_avg_sum_inv; // Verify that the consumer received at least 10% of its expected average consumer sum. if(consumer_sum_frac < .1) fprintf(stderr, "%s: producers: %u: consumer %u received too few messages: %.2lf%% of expected.\n", name, n_threads, consumer_idx, consumer_sum_frac); ++consumer_idx; } } // Verify that all messages were received exactly once: no duplicates, no omissions. if(isum_t total_sum_diff = total_sum - expected_sum * n_threads) fprintf(stderr, "%s: wrong checksum error: producers: %u, expected_sum: %'lld, diff: %'lld.\n", name, n_threads, expected_sum * n_threads, total_sum_diff); } double n_seconds_best = to_seconds(n_cycles_best); double msg_per_sec = n_msg / n_seconds_best; printf("%32s,%2u,%c: %'14.0f msg/sec\n", name, n_threads, alternative_placement ? 'i' : 's', msg_per_sec); } } } template ATOMIC_QUEUE_INLINE void time_throughput_mpmc(char const* name, Params const* params, Type, int n_thread_min = 1) { int const n_thread_max = params->hw_thread_ids.size() / 2; time_throughput(name, params, n_thread_min, n_thread_max); } template ATOMIC_QUEUE_INLINE void time_throughput_spsc(char const* name, Params const* params, Type) { time_throughput(name, params, 1, 1); // 1 producer and 1 consumer only. } ATOMIC_QUEUE_NOINLINE void run_throughput_benchmarks(Params const* params) { printf("---- Running throughput benchmarks with up to %zu CPUs, %'d messages, best of %d runs (higher is better) ----\n", params->hw_thread_ids.size() & -2, params->n_msg, RUNS); unsigned constexpr C = 128 * 1024; // Capacity. // The reference. if(ATOMIC_QUEUE_LIKELY(!params->options.no_spsc())) time_throughput_spsc("boost::lockfree::spsc_queue", params, Type>>>{}); using SPSC = QueueTypes; using MPMC = QueueTypes; // Enable MAXIMIZE_THROUGHPUT for 2 or more producers/consumers. if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_1())) { if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_a())) { if(ATOMIC_QUEUE_LIKELY(!params->options.no_spsc())) time_throughput_spsc("AtomicQueue", params, Type{}); time_throughput_mpmc("AtomicQueue", params, Type{}, 2); if(ATOMIC_QUEUE_LIKELY(!params->options.no_spsc())) time_throughput_spsc("OptimistAtomicQueue", params, Type{}); time_throughput_mpmc("OptimistAtomicQueue", params, Type{}, 2); } if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_b())) { if(ATOMIC_QUEUE_LIKELY(!params->options.no_spsc())) time_throughput_spsc("AtomicQueueB", params, Type{}); time_throughput_mpmc("AtomicQueueB", params, Type{}, 2); if(ATOMIC_QUEUE_LIKELY(!params->options.no_spsc())) time_throughput_spsc("OptimistAtomicQueueB", params, Type{}); time_throughput_mpmc("OptimistAtomicQueueB", params, Type{}, 2); } } if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_2())) { if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_a())) { if(ATOMIC_QUEUE_LIKELY(!params->options.no_spsc())) time_throughput_spsc("AtomicQueue2", params, Type{}); time_throughput_mpmc("AtomicQueue2", params, Type{}, 2); if(ATOMIC_QUEUE_LIKELY(!params->options.no_spsc())) time_throughput_spsc("OptimistAtomicQueue2", params, Type{}); time_throughput_mpmc("OptimistAtomicQueue2", params, Type{}, 2); } if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_b())) { if(ATOMIC_QUEUE_LIKELY(!params->options.no_spsc())) time_throughput_spsc("AtomicQueueB2", params, Type{}); time_throughput_mpmc("AtomicQueueB2", params, Type{}, 2); if(ATOMIC_QUEUE_LIKELY(!params->options.no_spsc())) time_throughput_spsc("OptimistAtomicQueueB2", params, Type{}); time_throughput_mpmc("OptimistAtomicQueueB2", params, Type{}, 2); } } if(ATOMIC_QUEUE_LIKELY(!params->options.minimal())) { #if ! ATOMIC_QUEUE_BENCHMARKS_MIN time_throughput_spsc("moodycamel::ReaderWriterQueue", params, Type>{}); time_throughput_mpmc("moodycamel::ConcurrentQueue", params, Type>{}); time_throughput_mpmc("tbb::concurrent_bounded_queue", params, Type, C>>{}); time_throughput_mpmc("xenium::michael_scott_queue", params, Type>>>{}); time_throughput_mpmc("xenium::ramalhete_queue", params, Type>>>{}); time_throughput_mpmc("xenium::vyukov_bounded_queue", params, Type, C>>>{}); #endif // ATOMIC_QUEUE_BENCHMARKS_MIN unsigned constexpr BLQ_C_MAX = 0x10000 - 2; unsigned constexpr BLQ_C = min_value(C, BLQ_C_MAX); time_throughput_mpmc("boost::lockfree::queue", params, Type>>>{}); time_throughput_mpmc("std::mutex", params, Type>>{}); #if ! ATOMIC_QUEUE_BENCHMARKS_MIN time_throughput_mpmc("pthread_spinlock", params, Type>>{}); time_throughput_mpmc("tbb::spin_mutex", params, Type>>{}); #endif // ATOMIC_QUEUE_BENCHMARKS_MIN // time_throughput_mpmc("TicketSpinlock", params, Type>>{}); // run_throughput_mpmc_benchmark("UnfairSpinlock", params, Type>>{}); // run_throughput_mpmc_benchmark>>("SpinlockHle"); // run_throughput_mpmc_benchmark("adaptive_mutex", params, Type>>{}); // run_throughput_mpmc_benchmark("tbb::speculative_spin_mutex", params, // Type>>{}); } std::puts("\n"); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template ATOMIC_QUEUE_NOINLINE void ping_pong_receiver(SharedState* ctx0, ThreadState* thread0) { #if ATOMIC_QUEUE_FULL_THROTTLE // Vacate the most desirable i386 registers with the shortest instruction encoding for more frequently accessed objects. // Move these rarely accessed objects into callee-saved [r12,15] registers, which often require 1-byte longer instruction encoding register auto* ctx asm("r14") = ctx0; register auto* thread asm("r15") = thread0; asm("":"+r"(ctx), "+r"(thread)); #else auto* ctx = ctx0; auto* thread = thread0; #endif // C++ strict-aliasing rules assume that q1 and q2 may alias. Specify explicitly these pointers never alias. Queue* ATOMIC_QUEUE_RESTRICT q1 = static_cast(ctx->queue0); Queue* ATOMIC_QUEUE_RESTRICT q2 = static_cast(ctx->queue1); [[maybe_unused]] region_guard_t guard; ConsumerOf consumer_q1{*q1}; ProducerOf producer_q2{*q2}; ctx->barrier.countdown(); thread->times.set(0); unsigned n; do { n = consumer_q1.pop(*q1) - 1; producer_q2.push(*q2, n); } while(ATOMIC_QUEUE_LIKELY(n > 1)); thread->times.set(1); } template ATOMIC_QUEUE_NOINLINE void ping_pong_sender(SharedState* ctx0, ThreadState* thread0) { #if ATOMIC_QUEUE_FULL_THROTTLE // Vacate the most desirable i386 registers with the shortest instruction encoding for more frequently accessed objects. // Move these rarely accessed objects into callee-saved [r12,15] registers, which often require 1-byte longer instruction encoding register auto* ctx asm("r14") = ctx0; register auto* thread asm("r15") = thread0; asm("":"+r"(ctx), "+r"(thread)); #else auto* ctx = ctx0; auto* thread = thread0; #endif // C++ strict-aliasing rules assume that q1 and q2 may alias. Specify explicitly these pointers never alias. Queue* ATOMIC_QUEUE_RESTRICT q1 = static_cast(ctx->queue0); Queue* ATOMIC_QUEUE_RESTRICT q2 = static_cast(ctx->queue1); [[maybe_unused]] region_guard_t guard; ProducerOf producer_q1{*q1}; ConsumerOf consumer_q2{*q2}; unsigned n = ctx->n_producer_msg; ctx->barrier.countdown(); thread->times.set(0); do { producer_q1.push(*q1, n); n = consumer_q2.pop(*q2); } while(ATOMIC_QUEUE_LIKELY(n-- > 1)); thread->times.set(1); } template ATOMIC_QUEUE_INLINE cycles_t time_ping_pong_once(Params const* params, unsigned const (&cpus)[2]) { auto ctx = HugePages::instance->create_unique_ptr(params, cpus); auto sender0 = ctx->use_this_thread(); // This thread#0 is the sender. ContextOf const queue_ctx{1, 1}; auto q1 = HugePages::instance->create_unique_ptr(queue_ctx); auto q2 = HugePages::instance->create_unique_ptr(queue_ctx); ctx->queue0 = q1.get(); ctx->queue1 = q2.get(); ctx->create_thread(ping_pong_receiver); ping_pong_sender(ctx.get(), sender0); ctx->join(); return ctx->total_time(); } template ATOMIC_QUEUE_NOINLINE void time_ping_pong(char const* name, Params const* params) { // Select the best times of RUNS runs. cycles_t n_cycles_best = CYCLES_MAX; // Ping-pong between the first available CPU and every othery next power-of-2 to find its SMT sibling, if any. auto& hw_thread_ids = params->hw_thread_ids; unsigned const n_cpus = hw_thread_ids.size(); for(unsigned cpu2 = 1; cpu2 < n_cpus; cpu2 *= 2) { unsigned const cpus[2] = {hw_thread_ids[0], hw_thread_ids[cpu2]}; for(unsigned run = RUNS; run--; HugePages::instance->check_huge_pages_leaks(name)) { auto n_cycles = time_ping_pong_once(params, cpus); n_cycles_best = min_value(n_cycles_best, n_cycles); } } auto sec_round_trip = to_seconds(n_cycles_best * 2) / params->n_msg; printf("%32s: %.9f sec/round-trip\n", name, sec_round_trip); } void run_ping_pong_benchmarks(Params const* params) { printf("---- Running ping-pong benchmarks with 2 CPUs, %'d messages, best of %d runs (lower is better) ----\n", params->n_msg, RUNS); // This benchmark doesn't require queue capacity greater than 1, however, capacity of 1 elides // some instructions completely because of (x % 1) is always 0. Use something greater than 1 to // preclude aggressive optimizations. constexpr unsigned C = 8; // Capacity. // The reference. time_ping_pong>>>( "boost::lockfree::spsc_queue", params); // Use MAXIMIZE_THROUGHPUT=false for better latency. using SPSC = QueueTypes; if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_1())) { if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_a())) { time_ping_pong("AtomicQueue", params); time_ping_pong("OptimistAtomicQueue", params); } if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_b())) { time_ping_pong("AtomicQueueB", params); time_ping_pong("OptimistAtomicQueueB", params); } } if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_2())) { if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_a())) { time_ping_pong("AtomicQueue2", params); time_ping_pong("OptimistAtomicQueue2", params); } if(ATOMIC_QUEUE_LIKELY(!params->options.no_variant_b())) { time_ping_pong("AtomicQueueB2", params); time_ping_pong("OptimistAtomicQueueB2", params); } } if(ATOMIC_QUEUE_LIKELY(!params->options.minimal())) { #if ! ATOMIC_QUEUE_BENCHMARKS_MIN time_ping_pong>("moodycamel::ReaderWriterQueue", params); time_ping_pong>("moodycamel::ConcurrentQueue", params); time_ping_pong, C>>("tbb::concurrent_bounded_queue", params); time_ping_pong>>>("xenium::michael_scott_queue", params); time_ping_pong>>>("xenium::ramalhete_queue", params); time_ping_pong, C>>>("xenium::vyukov_bounded_queue", params); #endif // ATOMIC_QUEUE_BENCHMARKS_MIN time_ping_pong>>>( "boost::lockfree::queue", params); time_ping_pong>>("std::mutex", params); #if ! ATOMIC_QUEUE_BENCHMARKS_MIN time_ping_pong>>("pthread_spinlock", params); time_ping_pong>>("tbb::spin_mutex", params); #endif // ATOMIC_QUEUE_BENCHMARKS_MIN // run_ping_pong_benchmark>>("adaptive_mutex", params); // run_ping_pong_benchmark>>("tbb::speculative_spin_mutex", params); // time_ping_pong>>("TicketSpinlock", hp, hw_thread_ids); // run_ping_pong_benchmark>>("UnfairSpinlock", hp, hw_thread_ids); // run_ping_pong_benchmark>>("SpinlockHle"); } std::puts("\n"); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int main() { Params params; std::setlocale(LC_NUMERIC, ""); // Enable thousand separator, if set in user's locale. CpuInfo cpu_info; cpu_info.log(clock_name); #if ATOMIC_QUEUE_RDTSC TSC_TO_SECONDS *= cpu_info.ghz; #endif if(cpu_info.cores.size() < 2) throw std::runtime_error("A CPU with at least 2 hardware threads is required."); params.hw_thread_ids = cpu_info.hw_thread_ids(); // Sorted by hw_thread_id. set_thread_affinity(params.hw_thread_ids[0]); // Pin the main thread#0 to CPU#0 prior to allocating memory. size_t constexpr MB = 1024 * 1024; HugePages hp(HugePages::PAGE_1GB, 32 * MB); // Try allocating a 1GB huge page to minimize TLB misses. HugePages::instance = &hp; if(!params.options.no_ping_pong()) run_ping_pong_benchmarks(¶ms); if(!params.options.no_throughput()) run_throughput_benchmarks(¶ms); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// max0x7ba-atomic_queue-40624b8/src/benchmarks.h000066400000000000000000000053731525237550500211700ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #ifndef ATOMIC_QUEUE_BENCHMARKS_H_INCLUDED #define ATOMIC_QUEUE_BENCHMARKS_H_INCLUDED #include "atomic_queue/defs.h" #include //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace atomic_queue { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct Context { int producers; int consumers; }; template typename T::ContextType context_of_(int); template NoContext context_of_(long); template using ContextOf = decltype(context_of_(0)); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct NoToken { template ATOMIC_QUEUE_INLINE constexpr NoToken(Args&&...) noexcept {} template ATOMIC_QUEUE_INLINE static void push(Queue& q, T&& element) noexcept { q.push(std::forward(element)); } template ATOMIC_QUEUE_INLINE static auto pop(Queue& q) noexcept { return q.pop(); } }; template typename T::Producer producer_of_(int); template NoToken producer_of_(long); template using ProducerOf = decltype(producer_of_(1)); template typename T::Consumer consumer_of_(int); template NoToken consumer_of_(long); template using ConsumerOf = decltype(consumer_of_(1)); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct CapacityArgAdaptor : Queue { ATOMIC_QUEUE_INLINE CapacityArgAdaptor() : Queue(Capacity) {} }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct RetryDecorator : Queue { using T = typename Queue::value_type; using Queue::Queue; ATOMIC_QUEUE_INLINE void push(T element) noexcept { while(ATOMIC_QUEUE_UNLIKELY(!this->try_push(element))) spin_loop_pause(); } ATOMIC_QUEUE_INLINE T pop() noexcept { T element; while(ATOMIC_QUEUE_UNLIKELY(!this->try_pop(element))) spin_loop_pause(); return element; } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // atomic_queue //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif // ATOMIC_QUEUE_BENCHMARKS_H_INCLUDED max0x7ba-atomic_queue-40624b8/src/benchmarks_min.cc000066400000000000000000000003541525237550500221630ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #define ATOMIC_QUEUE_BENCHMARKS_MIN 1 #include "benchmarks.cc" max0x7ba-atomic_queue-40624b8/src/cpu_base_frequency.cc000066400000000000000000000204711525237550500230470ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include "cpu_base_frequency.h" #include "atomic_queue/defs.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace atomic_queue; using std::printf; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct CpuSet : cpu_set_t { CpuSet() noexcept { CPU_ZERO(this); } bool is_set(int cpu) const noexcept { return CPU_ISSET(cpu, this); } unsigned size() const noexcept { return CPU_COUNT(this); } static CpuSet get_available() { CpuSet cpus; cpu_set_t& c = cpus; if(int err = ::pthread_getaffinity_np(::pthread_self(), sizeof c, &c)) throw std::system_error(err, std::system_category(), "pthread_getaffinity_np"); return cpus; } void filter(std::vector& c) const { c.erase( std::remove_if(c.begin(), c.end(), [p = c.data(), this](auto& cpu_info) { return !is_set(&cpu_info - p); }), c.end() ); if(size() != c.size()) throw std::runtime_error("CpuSet::filter invariant broken."); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// double const MIPS_TO_GIPS = 1e3; inline double bogomips_to_ghz(double bogomips, double n_cpu_cores, double n_siblings) noexcept { auto n_threads_per_cpu_core = n_siblings / n_cpu_cores; // 2 for SMT, 1 otherwise. return bogomips / (MIPS_TO_GIPS * n_threads_per_cpu_core); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct CpuInfoParser { // The key-value separator is colon-space (: ). // Strip any whitespace off keys and values. std::regex const re_kv{R"(\s*([^:]+?)\s*:\s+(.+?)\s*)"}; std::ifstream cpuinfo{"/proc/cpuinfo"}; std::string line; std::cmatch kv; auto& next() { return getline(cpuinfo, line); } auto parse() { return regex_match(line.c_str(), kv, re_kv); } template bool operator==(char const(&key)[N]) const noexcept { auto& k = kv[1]; auto n = k.length(); return n == N - 1 && !::strncasecmp(k.first, key, n); // BogoMIPS and bogomips are the same thing. } operator std::string() const { return kv[2]; } operator unsigned() const { return std::stoul(kv[2]); } operator double() const { return std::stod(kv[2]); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// CpuInfo::CpuInfo() { double bogomips = MIPS_TO_GIPS, n_cpu_cores = bogomips, n_siblings = bogomips; for(CpuInfoParser kv; kv.next();) { if(!kv.parse()) continue; if(kv == "processor") cores.push_back({kv, 0, 0}); else if(kv == "physical id") cores.back().socket_id = kv; else if(kv == "core id") cores.back().core_id = kv; // These come from CPU#0 only. // Doesn't handle non-homogeneous CPUs (e.g. ARM big.LITTLE). else if(cores.size() <= 1) { if(kv == "model name") model_name.assign(kv); else if(kv == "bogomips") bogomips = kv; else if(kv == "cpu cores") n_cpu_cores = kv; else if(kv == "siblings") n_siblings = kv; } } ghz = bogomips_to_ghz(bogomips, n_cpu_cores, n_siblings); if(std::thread::hardware_concurrency() != cores.size()) throw std::runtime_error("CpuInfo::cores invariant broken."); CpuSet::get_available().filter(cores); } void CpuInfo::log(char const* clock_name) const noexcept { if(!model_name.empty()) printf("CPU Model: %s, ", model_name.c_str()); printf("base GHz: %.1lf, clock: %s, ", ghz, clock_name); printf("%zu available CPUs: ", cores.size()); char sep = '['; for(auto& cpu : cores) { printf("%c%u", sep, cpu.hw_thread_id); sep = ','; } printf("].\n"); } std::vector CpuInfo::hw_thread_ids() const { std::vector u(cores.size()); for(unsigned i = 0, j = u.size(); i < j; ++i) u[i] = cores[i].hw_thread_id; return u; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace { void set_thread_affinity_(cpu_set_t const& cpuset) { // TODO: Investigate whether setting the thread affinity after starting the thread can cause the // thread stack to be on a remote NUMA node. auto thread = ::pthread_self(); if(int err = ::pthread_setaffinity_np(thread, sizeof cpuset, &cpuset)) throw std::system_error(err, std::system_category(), "pthread_setaffinity_np"); } int default_thread_affinity = -1; auto const real_pthread_create = reinterpret_cast(::dlsym(RTLD_NEXT, "pthread_create")); } // namespace void atomic_queue::set_thread_affinity(unsigned hw_thread_id) { // TODO: Investigate whether setting the thread affinity after starting the thread can cause the // thread stack to be on a remote NUMA node. cpu_set_t cpuset; CPU_ZERO(&cpuset); CPU_SET(hw_thread_id, &cpuset); set_thread_affinity_(cpuset); } // void atomic_queue::reset_thread_affinity() { // cpu_set_t cpuset; // CPU_ZERO(&cpuset); // for(unsigned i = 0, j = std::thread::hardware_concurrency(); i < j; ++i) // CPU_SET(i, &cpuset); // set_thread_affinity_(cpuset); // } void atomic_queue::set_default_thread_affinity(unsigned hw_thread_id) noexcept { default_thread_affinity = hw_thread_id; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int pthread_create(pthread_t* newthread, pthread_attr_t const* attr, void*(*start_routine)(void*), void* arg) { if(!real_pthread_create) std::abort(); cpu_set_t cpuset; pthread_attr_t attr2; pthread_attr_t *pattr = const_cast(attr); if(default_thread_affinity >= 0) { CPU_ZERO(&cpuset); CPU_SET(default_thread_affinity, &cpuset); if(!pattr) { if(::pthread_attr_init(&attr2)) std::abort(); pattr = &attr2; } if(::pthread_attr_setaffinity_np(pattr, sizeof cpuset, &cpuset)) std::abort(); } int r = real_pthread_create(newthread, pattr, start_routine, arg); if(pattr == &attr2) ::pthread_attr_destroy(&attr2); return r; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// EnvBits64::EnvBits64(char const* env_name, U default_bits) : value{default_bits} { if(char const* value_beg = std::getenv(env_name)) { // strtoull auto-detects base-8, base-10, base-16 from the prefix. But not base-2. // Enable parsing base-2 values with 0b prefix. int const base2 = 2 * (value_beg[0] == '0' && value_beg[1] == 'b'); value_beg += base2; char* value_end = 0; value = std::strtoull(value_beg, &value_end, base2); if(!value_end || *value_end || (ULLONG_MAX == value && ERANGE == errno)) throw std::out_of_range(env_name); } } EnvBits64::EnvBits64(char const* env_name, U default_bits, U min, U max) : EnvBits64(env_name, default_bits) { if(value < min || value > max) throw std::out_of_range(env_name); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// max0x7ba-atomic_queue-40624b8/src/cpu_base_frequency.h000066400000000000000000000034321525237550500227070ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #ifndef CPU_BASE_FREQUENCY_H_INCLUDED #define CPU_BASE_FREQUENCY_H_INCLUDED // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include #include //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace atomic_queue { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct CoreInfo { unsigned hw_thread_id; unsigned socket_id; unsigned core_id; }; struct CpuInfo { std::string model_name; double ghz; std::vector cores; CpuInfo(); void log(char const* clock_name) const noexcept; std::vector hw_thread_ids() const; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void set_thread_affinity(unsigned hw_thread_id); // void reset_thread_affinity(); void set_default_thread_affinity(unsigned hw_thread_id) noexcept; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct EnvBits64 { using U = unsigned long long; U value; EnvBits64(char const* env_name, U default_bits=0); EnvBits64(char const* env_name, U default_bits, U min, U max); }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace atomic_queue //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif // CPU_BASE_FREQUENCY_H_INCLUDED max0x7ba-atomic_queue-40624b8/src/example.cc000066400000000000000000000067261525237550500206470ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include "atomic_queue/atomic_queue.h" #include #include int main() { int constexpr N_PRODUCERS = 1; // Number of producer threads. int constexpr N_CONSUMERS = 2; // Number of consumer threads. enum { N_PRODUCER_MSG = 1'000'000 }; // Each producer pushes this many elements into the queue. unsigned constexpr CAPACITY = 1024; // Queue capacity. Since there are more consumers than producers the queue doesn't need to be large. using Element = unsigned; // Queue element type. Element constexpr NIL = -1; // Atomic elements require a special value that cannot be pushed/popped. using Queue = atomic_queue::AtomicQueueB, NIL>; // A queue with a heap-allocated buffer. // Create a queue object shared between producer and consumer threads. Queue q{CAPACITY}; // Start the consumer threads. uint64_t sums[N_CONSUMERS]; std::thread consumers[N_CONSUMERS]; for(auto& consumer : consumers) consumer = std::thread([&q, &sum = sums[&consumer - consumers]]() { uint64_t s = 0; // New object with automatic storage duration. Not aliased or false-shared by construction. while(Element n = q.pop()) // Break the loop when 0 is pop'ed. s += n; // Store into sum only once because it is element of sums array, false-sharing the same cache line with other threads. // Updating sum in the loop above saturates the inter-core bus with cache coherence protocol messages. sum = s; }); // Start the producer threads. std::thread producers[N_PRODUCERS]; for(auto& producer : producers) producer = std::thread([&q]() { // Each producer pushes range [1, N] elements into the queue. // Ascending order [1, N] requires comparing with N at each loop iteration. Ascending order isn't necessary here. // Push elements in descending order, range [N, 1] with step -1, so that CPU decrement instruction sets zero/equal flag // when 0 is reached, which breaks the loop without having to compare n with N at each iteration. for(Element n = N_PRODUCER_MSG; n; --n) q.push(n); }); // Wait till producers have terminated. for(auto& producer : producers) producer.join(); // Tell consumers to terminate by pushing one 0 element for each consumer. for(int i = N_CONSUMERS; i--;) q.push(0); // Wait till consumers have terminated. for(auto& consumer : consumers) consumer.join(); // When all consumers have terminated the queue is empty. // Sum up consumer's received elements sums. uint64_t total_sum = 0; for(auto& sum : sums) { total_sum += sum; if(!sum) // Verify that each consumer received at least one element. std::cerr << "WARNING: consumer " << (&sum - sums) << " received no elements.\n"; } // Verify that each element has been pop'ed exactly once; not corrupted, dropped or duplicated. uint64_t constexpr expected_total_sum = (N_PRODUCER_MSG + 1) * .5 * (N_PRODUCER_MSG * N_PRODUCERS); if(int64_t total_sum_diff = total_sum - expected_total_sum) { std::cerr << "ERROR: unexpected total_sum difference " << total_sum_diff << '\n'; return EXIT_FAILURE; } } max0x7ba-atomic_queue-40624b8/src/huge_pages.cc000066400000000000000000000102271525237550500213120ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #include "huge_pages.h" #include #include #include #include #include #ifndef MAP_HUGE_SHIFT #define MAP_HUGE_SHIFT 26 #endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using std::fprintf; using std::fputs; static void default_advise_hugeadm_1GB() noexcept { fputs("Warning: Failed to allocate 1GB huge pages. Run \"sudo hugeadm --pool-pages-min 1GB:1 --pool-pages-max 1GB:1\".\n", stderr); } static void default_advise_hugeadm_2MB() noexcept { fputs("Warning: Failed to allocate 2MB huge pages. Run \"sudo hugeadm --pool-pages-min 2MB:16 --pool-pages-max 2MB:16\".\n", stderr); } atomic_queue::HugePages::WarnFn* atomic_queue::HugePages::warn_no_1GB_pages = default_advise_hugeadm_1GB; atomic_queue::HugePages::WarnFn* atomic_queue::HugePages::warn_no_2MB_pages = default_advise_hugeadm_2MB; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// size_t const default_page_size = ::sysconf(_SC_PAGESIZE); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// atomic_queue::HugePages::HugePages(Type t, size_t size) { void* p; size_t total_size; #if ! MAP_HUGETLB t = PAGE_DEFAULT; #endif for(;;) { unsigned flags = 0; size_t page_size = default_page_size; #if MAP_HUGETLB if(t != PAGE_DEFAULT) { page_size = 1u << t; flags = (t << MAP_HUGE_SHIFT) | MAP_HUGETLB; } #endif total_size = (size + (page_size - 1)) & ~(page_size - 1); // Round up to the page size. p = ::mmap(nullptr, total_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | flags, -1, 0); if(p != MAP_FAILED) break; // Try using smaller page sizes. if(t == PAGE_1GB) { t = PAGE_2MB; if(warn_no_1GB_pages) { warn_no_1GB_pages(); warn_no_1GB_pages = 0; // Warn once. } } else if(t == PAGE_2MB) { t = PAGE_DEFAULT; if(warn_no_2MB_pages) { warn_no_2MB_pages(); warn_no_2MB_pages = 0; // Warn once. } } else throw std::system_error(errno, std::system_category(), "mmap"); } if(::mlock(p, total_size)) fprintf(stderr, "Warning: mlock error: (%d)%s.\n", errno, strerror(errno)); beg_ = static_cast(p); cur_ = beg_; end_ = beg_ + total_size; } atomic_queue::HugePages::~HugePages() noexcept { if(beg_) ::munmap(beg_, end_ - beg_); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void* atomic_queue::HugePages::allocate(size_t size, std::nothrow_t) noexcept { if(static_cast(end_ - cur_) < size) return 0; void* p = cur_; cur_ += size; return p; } void* atomic_queue::HugePages::allocate(size_t size) { void* p = this->allocate(size, std::nothrow_t{}); if(!p) throw std::bad_alloc(); return p; } void atomic_queue::HugePages::deallocate(void* p, size_t size) noexcept { auto q = cur_ - size; if(q == p) // Can only deallocate the last allocation at the end. cur_ = q; else std::abort(); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void atomic_queue::HugePages::check_huge_pages_leaks(char const* name) noexcept { if(!empty()) { fprintf(stderr, "%s: %zu bytes of HugePages memory leaked.\n", name, used()); reset(); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// atomic_queue::HugePages* atomic_queue::HugePages::instance = 0; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// max0x7ba-atomic_queue-40624b8/src/huge_pages.h000066400000000000000000000104031525237550500211500ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #ifndef HUGE_PAGES_H_INCLUDED #define HUGE_PAGES_H_INCLUDED #include "atomic_queue/defs.h" #include #include #include #include //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace atomic_queue { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// class HugePages { unsigned char* cur_; unsigned char* end_; unsigned char* beg_; public: using WarnFn = void(); static WarnFn* warn_no_1GB_pages; static WarnFn* warn_no_2MB_pages; static HugePages* instance; struct Deleter { template ATOMIC_QUEUE_INLINE void operator()(T* p) const { instance->destroy(p); } }; template using unique_ptr = std::unique_ptr; enum Type { PAGE_DEFAULT = 0, PAGE_2MB = 21, PAGE_1GB = 30 }; HugePages(Type t, size_t total_size); ~HugePages() noexcept; HugePages(HugePages const&) = delete; HugePages& operator=(HugePages const&) = delete; ATOMIC_QUEUE_INLINE HugePages(HugePages&& b) noexcept : cur_(b.cur_) , end_(b.end_) , beg_(b.beg_) { b.beg_ = 0; } ATOMIC_QUEUE_INLINE HugePages& operator=(HugePages&& b) noexcept { b.swap(*this); return *this; } void* allocate(size_t size, std::nothrow_t) noexcept; void* allocate(size_t size); void deallocate(void* p, size_t size) noexcept; void check_huge_pages_leaks(char const* name) noexcept; ATOMIC_QUEUE_INLINE void reset() noexcept { cur_ = beg_; } ATOMIC_QUEUE_INLINE bool empty() const noexcept { return cur_ == beg_; } ATOMIC_QUEUE_INLINE size_t available() const noexcept { return end_ - cur_; } ATOMIC_QUEUE_INLINE size_t capacity() const noexcept { return end_ - beg_; } ATOMIC_QUEUE_INLINE size_t used() const noexcept { return cur_ - beg_; } template ATOMIC_QUEUE_INLINE T* create(Args&&... args) { return new(this->allocate(sizeof(T))) T{std::forward(args)...}; } template ATOMIC_QUEUE_INLINE unique_ptr create_unique_ptr(Args&&... args) { return unique_ptr{create(std::forward(args)...)}; } template ATOMIC_QUEUE_INLINE unique_ptr create_unique_ptr(NoContext, Args&&... args) { return unique_ptr{create(std::forward(args)...)}; } template ATOMIC_QUEUE_INLINE void destroy(T* p) { void* q = p; p->~T(); this->deallocate(q, sizeof(T)); } ATOMIC_QUEUE_INLINE void swap(HugePages& b) noexcept { using std::swap; swap(cur_, b.cur_); swap(end_, b.end_); swap(beg_, b.beg_); } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct HugePageAllocator { // A stateless allocator. template struct rebind { using other = HugePageAllocator; }; using value_type = T; HugePageAllocator() noexcept = default; template ATOMIC_QUEUE_INLINE HugePageAllocator(HugePageAllocator) noexcept {} ATOMIC_QUEUE_INLINE T* allocate(size_t n) const { T* p = static_cast(HugePages::instance->allocate(n * sizeof(T))); assert(is_suitably_aligned(p)); return p; } ATOMIC_QUEUE_INLINE void deallocate(T* p, size_t n) const { HugePages::instance->deallocate(p, n * sizeof(T)); } template bool operator==(HugePageAllocator) const { return true; } template bool operator!=(HugePageAllocator) const { return false; } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // atomic_queue //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif // HUGE_PAGES_H_INCLUDED max0x7ba-atomic_queue-40624b8/src/moodycamel.h000066400000000000000000000055241525237550500212020ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ #ifndef MOODYCAMEL_H_INCLUDED #define MOODYCAMEL_H_INCLUDED // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #include "benchmarks.h" #include #include #include "atomic_queue/defs.h" //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace atomic_queue { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct MoodyCamelQueue : moodycamel::ConcurrentQueue { using producer_token_t = typename moodycamel::ConcurrentQueue::producer_token_t; using consumer_token_t = typename moodycamel::ConcurrentQueue::consumer_token_t; using ContextType = Context; struct Producer { producer_token_t t_; ATOMIC_QUEUE_INLINE Producer(MoodyCamelQueue& q) noexcept : t_(q) {} ATOMIC_QUEUE_INLINE void push(MoodyCamelQueue& q, T element) { q.push(t_, element); } }; struct Consumer { consumer_token_t t_; ATOMIC_QUEUE_INLINE Consumer(MoodyCamelQueue& q) noexcept : t_(q) {} ATOMIC_QUEUE_INLINE T pop(MoodyCamelQueue& q) { return q.pop(t_); } }; ATOMIC_QUEUE_INLINE MoodyCamelQueue(Context context) : moodycamel::ConcurrentQueue(Capacity, context.producers, 0) {} ATOMIC_QUEUE_INLINE void push(producer_token_t& tok, T element) noexcept { while(!this->try_enqueue(tok, element)) spin_loop_pause(); } ATOMIC_QUEUE_INLINE T pop(consumer_token_t& tok) noexcept { T element; while(!this->try_dequeue(tok, element)) spin_loop_pause(); return element; } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct MoodyCamelReaderWriterQueue : moodycamel::ReaderWriterQueue { ATOMIC_QUEUE_INLINE MoodyCamelReaderWriterQueue() : moodycamel::ReaderWriterQueue(Capacity) {} ATOMIC_QUEUE_INLINE void push(T element) noexcept { while(!this->try_enqueue(element)) spin_loop_pause(); } ATOMIC_QUEUE_INLINE T pop() noexcept { T element; while(!this->try_dequeue(element)) spin_loop_pause(); return element; } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace atomic_queue //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif // MOODYCAMEL_H_INCLUDED max0x7ba-atomic_queue-40624b8/src/tests.cc000066400000000000000000000425531525237550500203540ustar00rootroot00000000000000/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ // Copyright (c) 2019 Maxim Egorushkin. MIT License. See the full licence in file LICENSE. #define BOOST_TEST_MODULE atomic_queue #include #include "atomic_queue/atomic_queue.h" #include "atomic_queue/barrier.h" #include "benchmarks.h" #include #include #include #include #include #include //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using namespace ::atomic_queue; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// enum { N_STRESS_MSG = 1'000'000 }; enum { STOP_MSG = -1 }; enum { CAPACITY = 4096 }; using stress_queues = boost::mpl::list< AtomicQueue, AtomicQueue2, AtomicQueue, AtomicQueue2, CapacityArgAdaptor, CAPACITY>, CapacityArgAdaptor, CAPACITY>, CapacityArgAdaptor, 0u, true, false, true>, CAPACITY>, CapacityArgAdaptor, true, false, true>, CAPACITY>, RetryDecorator>, RetryDecorator>, RetryDecorator>, RetryDecorator>, RetryDecorator, CAPACITY>>, RetryDecorator, CAPACITY>>, RetryDecorator, 0u, true, false, true>, CAPACITY>>, RetryDecorator, true, false, true>, CAPACITY>> >; // Check that all push'es are ever pop'ed once with multiple producer and multiple consumers. BOOST_AUTO_TEST_CASE_TEMPLATE(stress, Queue, stress_queues) { enum { PRODUCERS = Queue::is_spsc() ? 1 : 3, CONSUMERS = Queue::is_spsc() ? 1 : 3 }; using T = typename Queue::value_type; Queue q; Barrier2 barrier = {{PRODUCERS + CONSUMERS}}; std::thread producers[PRODUCERS]; for(auto& producer : producers) producer = std::thread([&q, &barrier]() { barrier.countdown(); for(T n = N_STRESS_MSG; n; --n) q.push(n); }); uint64_t results[CONSUMERS]; std::thread consumers[CONSUMERS]; for(auto& consumer : consumers) consumer = std::thread([&q, &barrier, &r = results[&consumer - consumers]]() { barrier.countdown(); uint64_t result = 0; for(T n; (n = q.pop()) != static_cast(STOP_MSG);) result += n; r = result; }); for(auto& t : producers) t.join(); for(int i = CONSUMERS; i--;) q.push(STOP_MSG); for(auto& t : consumers) t.join(); constexpr uint64_t expected_result = (N_STRESS_MSG + 1) * .5 * (+N_STRESS_MSG * +PRODUCERS); constexpr uint64_t consumer_result_min = expected_result / CONSUMERS / 10; uint64_t result = 0; for(auto& r : results) { BOOST_WARN_GT(r, consumer_result_min); // Make sure a consumer didn't starve. False positives are possible here. result += r; } int64_t result_diff = result - expected_result; BOOST_CHECK_EQUAL(result_diff, 0); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template struct test_stateful_allocator : std::allocator { State state; test_stateful_allocator() = delete; // disambiguate constructor with std::nullptr_t // std::in_place available since C++17 test_stateful_allocator(std::nullptr_t, const State& s) noexcept : state(s) {} test_stateful_allocator(const test_stateful_allocator& other) noexcept : std::allocator(other), state(other.state) {} template test_stateful_allocator(const test_stateful_allocator& other) noexcept : state(other.state) {} test_stateful_allocator& operator=(const test_stateful_allocator& other) noexcept { state = other.state; return *this; } ~test_stateful_allocator() noexcept = default; template struct rebind { using other = test_stateful_allocator; }; }; // Required by boost-test template std::ostream& operator<<(std::ostream& os, const test_stateful_allocator& allocator) { return os << allocator.state; } template bool operator==(const test_stateful_allocator& lhs, const test_stateful_allocator& rhs) { return lhs.state == rhs.state; } template bool operator!=(const test_stateful_allocator& lhs, const test_stateful_allocator& rhs) { return !(lhs.state == rhs.state); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using move_only_element_queues = boost::mpl::list< AtomicQueue2, CAPACITY>, CapacityArgAdaptor>, CAPACITY> >; BOOST_AUTO_TEST_CASE_TEMPLATE(move_only_element, Queue, move_only_element_queues) { Queue q; BOOST_CHECK(q.was_empty()); BOOST_CHECK_EQUAL(q.was_size(), 0u); std::unique_ptr p{new int{1}}; BOOST_REQUIRE(q.try_push(std::move(p))); BOOST_CHECK(!p); BOOST_CHECK(!q.was_empty()); BOOST_CHECK_EQUAL(q.was_size(), 1u); p.reset(new int{2}); q.push(std::move(p)); BOOST_REQUIRE(!p); BOOST_CHECK(!q.was_empty()); BOOST_CHECK_EQUAL(q.was_size(), 2u); BOOST_REQUIRE(q.try_pop(p)); BOOST_REQUIRE(p.get()); BOOST_CHECK_EQUAL(*p, 1); BOOST_CHECK(!q.was_empty()); BOOST_CHECK_EQUAL(q.was_size(), 1u); p = q.pop(); BOOST_REQUIRE(p.get()); BOOST_CHECK_EQUAL(*p, 2); BOOST_CHECK(q.was_empty()); BOOST_CHECK_EQUAL(q.was_size(), 0u); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// BOOST_AUTO_TEST_CASE(allocator_constructor_only_b) { using allocator_type = test_stateful_allocator; const auto allocator = allocator_type(nullptr, "Capybara"); AtomicQueueB q(2, allocator); BOOST_CHECK_EQUAL(q.get_allocator(), allocator); auto q2 = std::move(q); BOOST_CHECK_EQUAL(q2.get_allocator(), allocator); } BOOST_AUTO_TEST_CASE(allocator_constructor_only_b2) { using allocator_type = test_stateful_allocator, std::string>; const auto allocator = allocator_type(nullptr, "Fox"); AtomicQueueB2, allocator_type> q(2, allocator); BOOST_CHECK_EQUAL(q.get_allocator(), allocator); auto q2 = std::move(q); BOOST_CHECK_EQUAL(q2.get_allocator(), allocator); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct ConstructorError {}; struct ThrowingElement { static unsigned n_live; // Number of currently alive instances. static unsigned n_attempts; // Number of default-constructions attempted. static unsigned throw_at; // Throw on the throw_at'th attempt. ThrowingElement() { if(++n_attempts == throw_at) throw ConstructorError{}; ++n_live; } ~ThrowingElement() noexcept { --n_live; } ThrowingElement(ThrowingElement const&) = delete; ThrowingElement& operator=(ThrowingElement const&) = delete; }; unsigned ThrowingElement::n_live; unsigned ThrowingElement::n_attempts; unsigned ThrowingElement::throw_at; template struct CountingAllocator { using value_type = T; static size_t n_allocated_bytes, n_allocated_bytes_max; CountingAllocator() noexcept = default; template CountingAllocator(CountingAllocator const&) noexcept {} T* allocate(size_t n) { auto p = static_cast(::operator new(n)); n_allocated_bytes += n; n_allocated_bytes_max = max_value(n_allocated_bytes, n_allocated_bytes_max); return p; } void deallocate(T* p, size_t n) noexcept { ::operator delete(p); n_allocated_bytes -= n; } template friend bool operator==(CountingAllocator const&, CountingAllocator const&) noexcept { return true; } template friend bool operator!=(CountingAllocator const&, CountingAllocator const&) noexcept { return false; } }; template size_t CountingAllocator::n_allocated_bytes; template size_t CountingAllocator::n_allocated_bytes_max; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } // namespace //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// BOOST_AUTO_TEST_CASE(constructor_strong_exception_safety) { using Queue = AtomicQueueB2>; using StorageAllocator = std::allocator_traits::rebind_alloc; auto constexpr CAPACITY = Queue::round_up_capacity(8); static_assert(CAPACITY >= 8, "Invalid CAPACITY."); auto constexpr n_required_bytes = CAPACITY * (sizeof(Queue::value_type) + sizeof(AtomicState)); static_assert(n_required_bytes >= CAPACITY * 2, "Invalid n_required_bytes."); // An exception thrown while constructing the elements must leave no constructed elements alive and leak no memory. for(auto throw_at : {1u, CAPACITY/2, CAPACITY}) { BOOST_CHECK_LE(throw_at, CAPACITY); ThrowingElement::throw_at = throw_at; ThrowingElement::n_live = 0; ThrowingElement::n_attempts = 0; StorageAllocator::n_allocated_bytes = 0; StorageAllocator::n_allocated_bytes_max = 0; BOOST_CHECK_THROW(Queue q{CAPACITY}, ConstructorError); BOOST_CHECK_EQUAL(ThrowingElement::n_attempts, throw_at); // Expected number of elements must have been constructed. BOOST_CHECK_EQUAL(ThrowingElement::n_live, 0); // Successfully constructed elements must have been destroyed. BOOST_CHECK_EQUAL(StorageAllocator::n_allocated_bytes_max, n_required_bytes); // States and elements arrays must have been allocated. BOOST_CHECK_EQUAL(StorageAllocator::n_allocated_bytes, 0); // States and elements arrays must have been deallocated. } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using move_constructor_assignment_queues = boost::mpl::list< CapacityArgAdaptor, 2>, CapacityArgAdaptor>, 2> >; BOOST_AUTO_TEST_CASE_TEMPLATE(move_constructor_assignment, Queue, move_constructor_assignment_queues) { Queue q; auto const capacity = q.capacity(); BOOST_CHECK_GE(capacity, 2); Queue q2 = std::move(q); BOOST_CHECK(!q.capacity()); BOOST_CHECK_EQUAL(q2.capacity(), capacity); q = std::move(q2); BOOST_CHECK_EQUAL(q.capacity(), capacity); BOOST_CHECK(!q2.capacity()); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// BOOST_AUTO_TEST_CASE(try_push_pop) { using Queue = atomic_queue::AtomicQueueB2< /* T = */ float, /* A = */ std::allocator, /* MAXIMIZE_THROUGHPUT */ true, /* TOTAL_ORDER = */ true, /* SPSC = */ true >; constexpr unsigned CAPACITY = CACHE_LINE_SIZE * CACHE_LINE_SIZE; Queue q(CAPACITY); BOOST_CHECK_EQUAL(q.capacity(), CAPACITY); BOOST_CHECK(q.was_empty()); BOOST_CHECK(!q.was_full()); BOOST_CHECK_EQUAL(q.was_size(), 0u); // try_pop on empty queue must fail. float v = -1; BOOST_CHECK(!q.try_pop(v)); BOOST_CHECK_EQUAL(v, -1); for(unsigned i = 1; i <= CAPACITY; ++i) BOOST_CHECK(q.try_push(i)); BOOST_CHECK(!q.was_empty()); BOOST_CHECK(q.was_full()); BOOST_CHECK_EQUAL(q.was_size(), CAPACITY); for(unsigned i = 1; i <= CAPACITY; ++i) BOOST_CHECK(!q.try_push(i)); BOOST_CHECK(!q.was_empty()); BOOST_CHECK(q.was_full()); BOOST_CHECK_EQUAL(q.was_size(), CAPACITY); for(unsigned i = 1; i <= CAPACITY; ++i) { BOOST_CHECK(q.try_pop(v)); BOOST_CHECK_EQUAL(v, static_cast(i)); } BOOST_CHECK(q.was_empty()); BOOST_CHECK(!q.was_full()); BOOST_CHECK_EQUAL(q.was_size(), 0u); // try_pop on empty queue must fail again. v = -1; BOOST_CHECK(!q.try_pop(v)); BOOST_CHECK_EQUAL(v, -1); } BOOST_AUTO_TEST_CASE(size) { atomic_queue::RetryDecorator> q(10); BOOST_CHECK_EQUAL(q.capacity(), CACHE_LINE_SIZE * CACHE_LINE_SIZE); BOOST_CHECK(q.was_empty()); BOOST_CHECK(!q.was_full()); } // BOOST_AUTO_TEST_CASE(exper) { // BOOST_CHECK_EQUAL(sizeof(std::thread), 1); // } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// BOOST_AUTO_TEST_CASE(power_of_2) { using atomic_queue::details::round_up_to_power_of_2; static_assert(round_up_to_power_of_2(0u) == 0u, ""); static_assert(round_up_to_power_of_2(1u) == 1u, ""); static_assert(round_up_to_power_of_2(2u) == 2u, ""); static_assert(round_up_to_power_of_2(3u) == 4u, ""); static_assert(round_up_to_power_of_2(127u) == 128u, ""); static_assert(round_up_to_power_of_2(128u) == 128u, ""); static_assert(round_up_to_power_of_2(129u) == 256u, ""); static_assert(round_up_to_power_of_2(0x40000000u - 1) == 0x40000000u, ""); static_assert(round_up_to_power_of_2(0x40000000u ) == 0x40000000u, ""); static_assert(round_up_to_power_of_2(0x40000000u + 1) == 0x80000000u, ""); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// auto const bits0 = details::IndexBits<0>{}; auto const bits1 = details::IndexBits<1>{}; auto const bits2 = details::IndexBits<2>{}; auto const bits3 = details::IndexBits<3>{}; auto const bits4 = details::IndexBits<4>{}; using remap_index_fns = boost::mpl::list< details::RemapXor, #ifdef __BMI__ details::RemapBmi, #endif details::RemapAnd >; BOOST_AUTO_TEST_CASE_TEMPLATE(remap_index, Remap, remap_index_fns) { details::Remap0 remap; // BITS=0 does no remapping. for(unsigned i = 256; i--;) BOOST_CHECK_EQUAL(remap(bits0, i), i); // Swap bit 0 with bit 1. BOOST_CHECK_EQUAL(remap(bits1, 0b00u), 0b00u); BOOST_CHECK_EQUAL(remap(bits1, 0b01u), 0b10u); BOOST_CHECK_EQUAL(remap(bits1, 0b10u), 0b01u); BOOST_CHECK_EQUAL(remap(bits1, 0b11u), 0b11u); // High bits are preserved. BOOST_CHECK_EQUAL(remap(bits1, 0b100u), 0b100u); BOOST_CHECK_EQUAL(remap(bits1, 0b101u), 0b110u); // Swap bits [0:1] with bits [2:3]. BOOST_CHECK_EQUAL(remap(bits2, 0b0001u), 0b0100u); BOOST_CHECK_EQUAL(remap(bits2, 0b0100u), 0b0001u); BOOST_CHECK_EQUAL(remap(bits2, 0b0110u), 0b1001u); BOOST_CHECK_EQUAL(remap(bits2, 0b1111u), 0b1111u); // Swap bits [0:2] with bits [3:5]. BOOST_CHECK_EQUAL(remap(bits3, 0b000'001u), 0b001'000u); BOOST_CHECK_EQUAL(remap(bits3, 0b001'000u), 0b000'001u); // remap_index is its own inverse: applying it twice yields the original index. unsigned constexpr size = 1024; unsigned constexpr poison_unused_msb = -size; for(unsigned i = size; i--;) { BOOST_CHECK_EQUAL(remap(bits1, remap(bits1, i, size)), i); BOOST_CHECK_EQUAL(remap(bits2, remap(bits2, i, size)), i); BOOST_CHECK_EQUAL(remap(bits3, remap(bits3, i, size)), i); BOOST_CHECK_EQUAL(remap(bits4, remap(bits4, i, size)), i); BOOST_CHECK_EQUAL(remap(bits1, remap(bits1, i | poison_unused_msb, size)), i); BOOST_CHECK_EQUAL(remap(bits2, remap(bits2, i | poison_unused_msb, size)), i); BOOST_CHECK_EQUAL(remap(bits3, remap(bits3, i | poison_unused_msb, size)), i); BOOST_CHECK_EQUAL(remap(bits4, remap(bits4, i | poison_unused_msb, size)), i); } // remap_index is a bijection over any power-of-2 range that covers the swapped bits. constexpr unsigned N = 256; // 8-bit index. std::bitset seen; BOOST_REQUIRE(seen.none()); for(unsigned i = N; i--;) { auto j = remap(bits3, i); // Swap bits [0:2] with bits [3:5] in the 8-bit index. BOOST_CHECK_LT(j, N); seen.set(j); } BOOST_CHECK_EQUAL(seen.count(), N); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////