2024-10-18 17:20.57: New job: test ocaml-multicore/saturn https://github.com/ocaml-multicore/saturn.git#refs/heads/lock-free-bounded-queue (72af6bf75f888ac95eb037f35504de4be8f491e8) (linux-x86_64:ubuntu-22.04-4.14_opam-2.2)
Base: ocaml/opam:ubuntu-22.04-ocaml-4.14@sha256:6b1b6252d79dbbb6a7d4701753406a461c483c753aefd7afcf4b4e1a53dea694
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ocaml-multicore/saturn.git" -b "lock-free-bounded-queue" && cd "saturn" && git reset --hard 72af6bf7
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:ubuntu-22.04-ocaml-4.14@sha256:6b1b6252d79dbbb6a7d4701753406a461c483c753aefd7afcf4b4e1a53dea694
# ubuntu-22.04-4.14_opam-2.2
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e b8e118d3efb119e22f2e979ec1c6aa3e5aacdeff || git fetch origin master) && git reset -q --hard b8e118d3efb119e22f2e979ec1c6aa3e5aacdeff && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 saturn_lockfree.opam saturn.opam ./
RUN opam pin add -yn saturn_lockfree.dev './' && \
opam pin add -yn saturn.dev './'
ENV DEPS="alcotest.1.8.0 astring.0.8.5 backoff.0.1.1 base-bigarray.base base-threads.base base-unix.base cmdliner.1.3.0 containers.3.14 csexp.1.5.2 domain-local-await.1.0.1 domain_shims.0.1.0 dscheck.0.5.0 dune.3.16.0 dune-configurator.3.16.0 either.1.0.0 fmt.0.9.0 host-arch-x86_64.1 host-system-other.1 mtime.2.1.0 multicore-bench.0.1.7 multicore-magic.2.3.0 multicore-magic-dscheck.2.3.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.15.0 ocamlfind.1.9.6 oseq.0.5.1 ounit2.2.2.7 picos.0.5.0 qcheck.0.22 qcheck-alcotest.0.22 qcheck-core.0.22 qcheck-multicoretests-util.0.4 qcheck-ounit.0.22 qcheck-stm.0.4 re.1.12.0 seq.base stdlib-shims.0.3.0 thread-local-storage.0.2 thread-table.1.0.0 topkg.1.0.7 tsort.2.1.0 uutf.1.0.3 yojson.2.2.2"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.2 --depext-only -y saturn_lockfree.dev saturn.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK
2024-10-18 17:20.57: Using cache hint "ocaml-multicore/saturn-ocaml/opam:ubuntu-22.04-ocaml-4.14@sha256:6b1b6252d79dbbb6a7d4701753406a461c483c753aefd7afcf4b4e1a53dea694-ubuntu-22.04-4.14_opam-2.2-ac3cb0c5f51dbc1b1e8c7a96c12b9029"
2024-10-18 17:20.57: Using OBuilder spec:
((from ocaml/opam:ubuntu-22.04-ocaml-4.14@sha256:6b1b6252d79dbbb6a7d4701753406a461c483c753aefd7afcf4b4e1a53dea694)
(comment ubuntu-22.04-4.14_opam-2.2)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(workdir /src)
(run (shell "sudo chown opam /src"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e b8e118d3efb119e22f2e979ec1c6aa3e5aacdeff || git fetch origin master) && git reset -q --hard b8e118d3efb119e22f2e979ec1c6aa3e5aacdeff && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src saturn_lockfree.opam saturn.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn saturn_lockfree.dev './' && \
\nopam pin add -yn saturn.dev './'"))
(env DEPS "alcotest.1.8.0 astring.0.8.5 backoff.0.1.1 base-bigarray.base base-threads.base base-unix.base cmdliner.1.3.0 containers.3.14 csexp.1.5.2 domain-local-await.1.0.1 domain_shims.0.1.0 dscheck.0.5.0 dune.3.16.0 dune-configurator.3.16.0 either.1.0.0 fmt.0.9.0 host-arch-x86_64.1 host-system-other.1 mtime.2.1.0 multicore-bench.0.1.7 multicore-magic.2.3.0 multicore-magic-dscheck.2.3.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.15.0 ocamlfind.1.9.6 oseq.0.5.1 ounit2.2.2.7 picos.0.5.0 qcheck.0.22 qcheck-alcotest.0.22 qcheck-core.0.22 qcheck-multicoretests-util.0.4 qcheck-ounit.0.22 qcheck-stm.0.4 re.1.12.0 seq.base stdlib-shims.0.3.0 thread-local-storage.0.2 thread-table.1.0.0 topkg.1.0.7 tsort.2.1.0 uutf.1.0.3 yojson.2.2.2")
(env CI true)
(env OCAMLCI true)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.2 --depext-only -y saturn_lockfree.dev saturn.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(copy (src .) (dst /src))
(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)
2024-10-18 17:20.57: Waiting for resource in pool OCluster
2024-10-18 17:20.57: Waiting for worker…
2024-10-18 17:20.57: Got resource from pool OCluster
Building on x86-bm-c8.sw.ocaml.org
All commits already cached
HEAD is now at 72af6bf A lock-free bounded queue
(from ocaml/opam:ubuntu-22.04-ocaml-4.14@sha256:6b1b6252d79dbbb6a7d4701753406a461c483c753aefd7afcf4b4e1a53dea694)
Unable to find image 'ocaml/opam:ubuntu-22.04-ocaml-4.14@sha256:6b1b6252d79dbbb6a7d4701753406a461c483c753aefd7afcf4b4e1a53dea694' locally
docker.io/ocaml/opam@sha256:6b1b6252d79dbbb6a7d4701753406a461c483c753aefd7afcf4b4e1a53dea694: Pulling from ocaml/opam
bad30315ecb1: Pulling fs layer
bad30315ecb1: Verifying Checksum
bad30315ecb1: Download complete
bad30315ecb1: Pull complete
Digest: sha256:6b1b6252d79dbbb6a7d4701753406a461c483c753aefd7afcf4b4e1a53dea694
Status: Downloaded newer image for ocaml/opam@sha256:6b1b6252d79dbbb6a7d4701753406a461c483c753aefd7afcf4b4e1a53dea694
2024-10-18 17:23.10 ---> saved as "8aa29f6cd018ba7bffc1c043bacb0bc534d582c4b2e51b514f0ad34103bd4d6e"
/: (comment ubuntu-22.04-4.14_opam-2.2)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
2024-10-18 17:23.10 ---> saved as "7217230f1fbf8682a1bccaae7261be1fdfe7b92f325a8134d09a39ac09781847"
/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then from built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.
This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [y/n] y
[NOTE] The 'jobs' option was reset, its value was 39 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=39 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file:///home/opam/opam-repository
2024-10-18 17:24.45 ---> saved as "4a3d3d3ae22473442dddfd174ddf2f327bb4f87d8bd3e06493db43b55b3d12cb"
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-122-generic
The OCaml toplevel, version 4.14.2
2.2.1
2024-10-18 17:24.45 ---> saved as "b89e224bf930cbb3744638caccc88d4c1cd09fae35f61847e68c59518a56bf7d"
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2024-10-18 17:24.46 ---> saved as "0c2de74c70c2db061e6810668ba032f6bd5286a2758694d67bdf2a92903c8df6"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e b8e118d3efb119e22f2e979ec1c6aa3e5aacdeff || git fetch origin master) && git reset -q --hard b8e118d3efb119e22f2e979ec1c6aa3e5aacdeff && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
75006f8c5e..b8e118d3ef master -> origin/master
b8e118d3ef Merge pull request #26758 from polytypic/release-multicore-bench-0.1.7
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file:///home/opam/opam-repository
Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# Run eval $(opam env) to update the current shell environment
2024-10-18 17:26.12 ---> saved as "d9999a36221ffc81d57d8a078d20a4a004b5470f0b4dcfcb5d15407ca1eb8f1b"
/src: (copy (src saturn_lockfree.opam saturn.opam) (dst ./))
2024-10-18 17:26.12 ---> saved as "c3fadd759fca64df77c065735019c6370388625283747cb1890f289529862dd4"
/src: (run (network host)
(shell "opam pin add -yn saturn_lockfree.dev './' && \
\nopam pin add -yn saturn.dev './'"))
[saturn_lockfree.dev] synchronised (file:///src)
saturn_lockfree is now pinned to file:///src (version dev)
[saturn.dev] synchronised (file:///src)
saturn is now pinned to file:///src (version dev)
2024-10-18 17:26.19 ---> saved as "ec67e71f2a123e23ac96497f813a0555f4037dd099c81e53db691984dfdf09f7"
/src: (env DEPS "alcotest.1.8.0 astring.0.8.5 backoff.0.1.1 base-bigarray.base base-threads.base base-unix.base cmdliner.1.3.0 containers.3.14 csexp.1.5.2 domain-local-await.1.0.1 domain_shims.0.1.0 dscheck.0.5.0 dune.3.16.0 dune-configurator.3.16.0 either.1.0.0 fmt.0.9.0 host-arch-x86_64.1 host-system-other.1 mtime.2.1.0 multicore-bench.0.1.7 multicore-magic.2.3.0 multicore-magic-dscheck.2.3.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.15.0 ocamlfind.1.9.6 oseq.0.5.1 ounit2.2.2.7 picos.0.5.0 qcheck.0.22 qcheck-alcotest.0.22 qcheck-core.0.22 qcheck-multicoretests-util.0.4 qcheck-ounit.0.22 qcheck-stm.0.4 re.1.12.0 seq.base stdlib-shims.0.3.0 thread-local-storage.0.2 thread-table.1.0.0 topkg.1.0.7 tsort.2.1.0 uutf.1.0.3 yojson.2.2.2")
/src: (env CI true)
/src: (env OCAMLCI true)
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.2 --depext-only -y saturn_lockfree.dev saturn.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
- Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
- Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
- Get:4 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [3200 kB]
- Get:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [2372 kB]
- Get:6 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1162 kB]
- Get:7 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
- Get:8 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1451 kB]
- Get:9 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [3278 kB]
- Get:10 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [2648 kB]
- Get:11 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [33.7 kB]
- Get:12 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [81.4 kB]
- Fetched 14.6 MB in 2s (6471 kB/s)
- Reading package lists...
-
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[saturn.dev] synchronised (no changes)
[saturn_lockfree.dev] synchronised (no changes)
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[NOTE] Package host-system-other is already installed (current version is 1).
[NOTE] Package host-arch-x86_64 is already installed (current version is 1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
2024-10-18 17:26.51 ---> saved as "d4894fc5e2679c1039f292e92aa330ae3247295fdf1426d59de520f93b239606"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[NOTE] Package host-system-other is already installed (current version is 1).
[NOTE] Package host-arch-x86_64 is already installed (current version is 1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 38 packages
- install alcotest 1.8.0
- install astring 0.8.5
- install backoff 0.1.1
- install cmdliner 1.3.0
- install containers 3.14
- install csexp 1.5.2
- install domain-local-await 1.0.1
- install domain_shims 0.1.0
- install dscheck 0.5.0
- install dune 3.16.0
- install dune-configurator 3.16.0
- install either 1.0.0
- install fmt 0.9.0
- install mtime 2.1.0
- install multicore-bench 0.1.7
- install multicore-magic 2.3.0
- install multicore-magic-dscheck 2.3.0
- install ocaml-syntax-shims 1.0.0
- install ocamlbuild 0.15.0
- install ocamlfind 1.9.6
- install oseq 0.5.1
- install ounit2 2.2.7
- install picos 0.5.0
- install qcheck 0.22
- install qcheck-alcotest 0.22
- install qcheck-core 0.22
- install qcheck-multicoretests-util 0.4
- install qcheck-ounit 0.22
- install qcheck-stm 0.4
- install re 1.12.0
- install seq base
- install stdlib-shims 0.3.0
- install thread-local-storage 0.2
- install thread-table 1.0.0
- install topkg 1.0.7
- install tsort 2.1.0
- install uutf 1.0.3
- install yojson 2.2.2
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved backoff.0.1.1 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved alcotest.1.8.0 (cached)
-> retrieved containers.3.14 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved domain-local-await.1.0.1 (cached)
-> retrieved domain_shims.0.1.0 (cached)
-> retrieved dscheck.0.5.0 (cached)
-> retrieved either.1.0.0 (cached)
-> retrieved fmt.0.9.0 (cached)
-> retrieved multicore-bench.0.1.7 (cached)
-> retrieved mtime.2.1.0 (cached)
-> retrieved multicore-magic.2.3.0, multicore-magic-dscheck.2.3.0 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocamlbuild.0.15.0 (cached)
-> retrieved ocamlfind.1.9.6 (cached)
-> retrieved oseq.0.5.1 (cached)
-> retrieved ounit2.2.2.7 (cached)
-> retrieved qcheck.0.22, qcheck-alcotest.0.22, qcheck-core.0.22, qcheck-ounit.0.22 (cached)
-> retrieved picos.0.5.0 (cached)
-> retrieved dune.3.16.0, dune-configurator.3.16.0 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved qcheck-multicoretests-util.0.4, qcheck-stm.0.4 (cached)
-> retrieved re.1.12.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved thread-local-storage.0.2 (cached)
-> retrieved thread-table.1.0.0 (cached)
-> retrieved tsort.2.1.0 (cached)
-> retrieved uutf.1.0.3 (cached)
-> retrieved topkg.1.0.7 (cached)
-> installed cmdliner.1.3.0
-> retrieved yojson.2.2.2 (cached)
-> installed ocamlbuild.0.15.0
-> installed ocamlfind.1.9.6
-> installed topkg.1.0.7
-> installed mtime.2.1.0
-> installed uutf.1.0.3
-> installed fmt.0.9.0
-> installed astring.0.8.5
-> installed dune.3.16.0
-> installed domain_shims.0.1.0
-> installed csexp.1.5.2
-> installed backoff.0.1.1
-> installed either.1.0.0
-> installed multicore-magic.2.3.0
-> installed ocaml-syntax-shims.1.0.0
-> installed oseq.0.5.1
-> installed stdlib-shims.0.3.0
-> installed thread-local-storage.0.2
-> installed thread-table.1.0.0
-> installed tsort.2.1.0
-> installed qcheck-core.0.22
-> installed re.1.12.0
-> installed domain-local-await.1.0.1
-> installed picos.0.5.0
-> installed qcheck-multicoretests-util.0.4
-> installed yojson.2.2.2
-> installed qcheck-stm.0.4
-> installed ounit2.2.2.7
-> installed qcheck-ounit.0.22
-> installed multicore-bench.0.1.7
-> installed dune-configurator.3.16.0
-> installed alcotest.1.8.0
-> installed qcheck.0.22
-> installed qcheck-alcotest.0.22
-> installed containers.3.14
-> installed dscheck.0.5.0
-> installed multicore-magic-dscheck.2.3.0
Done.
# Run eval $(opam env) to update the current shell environment
2024-10-18 17:28.29 ---> saved as "c26188d6fd174d807a9de9295f316657f81494c4f8f6d882fbfbd87e95b9e603"
/src: (copy (src .) (dst /src))
2024-10-18 17:28.29 ---> saved as "c3e73a047161b572a10e55e3da62805660b119d18a9c6fa971eae681e1534e8e"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/test/mpsc_queue && ./stm_mpsc_queue.exe)
random seed: 4202023211468644101
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Mpsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 3604650782224536048
generated error fail pass / total time test name
[✓] 64 0 0 64 / 64 0.0s Saturn_lockfree.Mpsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 2111720682931123905
generated error fail pass / total time test name
[✓] 128 0 0 128 / 128 0.0s Saturn_lockfree.Mpsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 1074436151742720138
generated error fail pass / total time test name
[✓] 256 0 0 256 / 256 0.0s Saturn_lockfree.Mpsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 2336628209733602020
generated error fail pass / total time test name
[✓] 512 0 0 512 / 512 0.0s Saturn_lockfree.Mpsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 3149060841511957840
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Mpsc_queue sequential
================================================================================
success (ran 1 tests)
(cd _build/default/test/spsc_queue && ./test_spsc_queue.exe)
test_Spsc_queue_empty: ok
test_Spsc_queue_full: ok
test_Spsc_queue_parallel: ok (transferred = 100)
test_Spsc_queue_unsafe_empty: ok
test_Spsc_queue_unsafe_full: ok
test_Spsc_queue_unsafe_parallel: ok (transferred = 100)
(cd _build/default/test/spsc_queue && ./stm_spsc_queue.exe)
random seed: 3770919721380841720
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Spsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 1247363888362772137
generated error fail pass / total time test name
[✓] 64 0 0 64 / 64 0.0s Saturn_lockfree.Spsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 3735363806687637040
generated error fail pass / total time test name
[✓] 128 0 0 128 / 128 0.0s Saturn_lockfree.Spsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 2255945244043958767
generated error fail pass / total time test name
[✓] 256 0 0 256 / 256 0.0s Saturn_lockfree.Spsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 348399933885463973
generated error fail pass / total time test name
[✓] 512 0 0 512 / 512 0.0s Saturn_lockfree.Spsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 2394790720206189153
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Spsc_queue sequential
================================================================================
success (ran 1 tests)
random seed: 2086165483261732436
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Spsc_queue_unsafe sequential
================================================================================
success (ran 1 tests)
random seed: 1285946202878774792
generated error fail pass / total time test name
[✓] 64 0 0 64 / 64 0.0s Saturn_lockfree.Spsc_queue_unsafe sequential
================================================================================
success (ran 1 tests)
random seed: 241896893317033982
generated error fail pass / total time test name
[✓] 128 0 0 128 / 128 0.0s Saturn_lockfree.Spsc_queue_unsafe sequential
================================================================================
success (ran 1 tests)
random seed: 1341897847716656887
generated error fail pass / total time test name
[✓] 256 0 0 256 / 256 0.0s Saturn_lockfree.Spsc_queue_unsafe sequential
================================================================================
success (ran 1 tests)
random seed: 3106783361050502249
generated error fail pass / total time test name
[✓] 512 0 0 512 / 512 0.0s Saturn_lockfree.Spsc_queue_unsafe sequential
================================================================================
success (ran 1 tests)
random seed: 1267392407044696338
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Spsc_queue_unsafe sequential
================================================================================
success (ran 1 tests)
(cd _build/default/test/ws_deque && ./stm_ws_deque.exe)
random seed: 4036119258754031833
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Ws_deque sequential
================================================================================
success (ran 1 tests)
random seed: 1951559099566683951
generated error fail pass / total time test name
[✓] 64 0 0 64 / 64 0.0s Saturn_lockfree.Ws_deque sequential
================================================================================
success (ran 1 tests)
random seed: 1172066418985317270
generated error fail pass / total time test name
[✓] 128 0 0 128 / 128 0.0s Saturn_lockfree.Ws_deque sequential
================================================================================
success (ran 1 tests)
random seed: 3273144142271896904
generated error fail pass / total time test name
[✓] 256 0 0 256 / 256 0.0s Saturn_lockfree.Ws_deque sequential
================================================================================
success (ran 1 tests)
random seed: 2751924558917153827
generated error fail pass / total time test name
[✓] 512 0 0 512 / 512 0.0s Saturn_lockfree.Ws_deque sequential
================================================================================
success (ran 1 tests)
random seed: 4027400564743874383
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Ws_deque sequential
================================================================================
success (ran 1 tests)
(cd _build/default/test/treiber_stack && ./qcheck_treiber_stack.exe)
qcheck random seed: 283250269
Testing `Treiber_stack'.
This run has ID `QQ6KWS46'.
[OK] test_sequential 0 push.
[OK] test_sequential 1 push_pop_until_empty.
[OK] test_sequential 2 lifo.
[OK] one_cons_one_prod 0 parallel.
[OK] two_domains 0 parallel_pop_push.
[OK] two_domains 1 parallel_pop_push_random.
Full test results in `/src/_build/default/test/treiber_stack/_build/_tests/Treiber_stack'.
Test Successful in 2.717s. 6 tests run.
(cd _build/default/test/ws_deque && ./qcheck_ws_deque.exe)
qcheck random seed: 548377646
Testing `Ws_deque'.
This run has ID `FU3XYO3Q'.
[OK] one_producer 0 pops_are_in_order.
[OK] one_producer 1 pop_on_empty_deque_rai...
[OK] one_producer_one_stealer 0 steals_are_in_order.
[OK] one_producer_one_stealer 1 parallel_pushes_and_st...
[OK] one_producer_one_stealer 2 parallel_pops_and_steals.
[OK] one_producer_two_stealers 0 parallel_steals.
Full test results in `/src/_build/default/test/ws_deque/_build/_tests/Ws_deque'.
Test Successful in 3.798s. 6 tests run.
(cd _build/default/test/michael_scott_queue && ./qcheck_michael_scott_queue.exe)
qcheck random seed: 798812993
Testing `Michael_scott_queue'.
This run has ID `ULSLCUFF'.
[OK] test_sequential_safe 0 push.
[OK] test_sequential_safe 1 push_pop_opt_until_empty.
[OK] test_sequential_safe 2 fifo.
[OK] test_sequential_safe 3 fifo_peek_opt.
[OK] one_cons_one_prod_safe 0 parallel_fifo.
[OK] one_cons_one_prod_safe 1 parallel_peek.
[OK] two_domains_safe 0 parallel_pop_opt_push.
[OK] two_domains_safe 1 parallel_pop_opt_push_r...
[OK] test_sequential_unsafe 0 push.
[OK] test_sequential_unsafe 1 push_pop_opt_until_empty.
[OK] test_sequential_unsafe 2 fifo.
[OK] test_sequential_unsafe 3 fifo_peek_opt.
[OK] one_cons_one_prod_unsafe 0 parallel_fifo.
[OK] one_cons_one_prod_unsafe 1 parallel_peek.
[OK] two_domains_unsafe 0 parallel_pop_opt_push.
[OK] two_domains_unsafe 1 parallel_pop_opt_push_r...
Full test results in `/src/_build/default/test/michael_scott_queue/_build/_tests/Michael_scott_queue'.
Test Successful in 5.950s. 16 tests run.
(cd _build/default/test/spsc_queue && ./qcheck_spsc_queue.exe)
qcheck random seed: 98764866
Testing `Spsc_queues'.
This run has ID `15SAMC86'.
[OK] Spsc_queue 0 seq_pop_opt_push.
[OK] Spsc_queue 1 seq_pop_push.
[OK] Spsc_queue 2 seq_pop_try_push.
[OK] Spsc_queue 3 par_pop_push.
[OK] Spsc_queue 4 push_full.
[OK] Spsc_queue 5 seq_peek_opt.
[OK] Spsc_queue 6 seq_peek.
[OK] Spsc_queue 7 par_peek_opt.
[OK] Spsc_queue_unsafe 0 seq_pop_opt_push.
[OK] Spsc_queue_unsafe 1 seq_pop_push.
[OK] Spsc_queue_unsafe 2 seq_pop_try_push.
[OK] Spsc_queue_unsafe 3 par_pop_push.
[OK] Spsc_queue_unsafe 4 push_full.
[OK] Spsc_queue_unsafe 5 seq_peek_opt.
[OK] Spsc_queue_unsafe 6 seq_peek.
[OK] Spsc_queue_unsafe 7 par_peek_opt.
Full test results in `/src/_build/default/test/spsc_queue/_build/_tests/Spsc_queues'.
Test Successful in 5.631s. 16 tests run.
(cd _build/default/test/mpsc_queue && ./qcheck_mpsc_queue.exe)
qcheck random seed: 624253547
Testing `Mpsc_queue'.
This run has ID `DQYL1PE4'.
[OK] one_consumer 0 push_head_pop_opt.
[OK] one_consumer 1 push_head_pop.
[OK] one_consumer 2 push_head_peek_opt.
[OK] one_consumer 3 push_head_peek.
[OK] one_consumer 4 pop_opt_empty.
[OK] one_consumer 5 pop_empty.
[OK] one_consumer 6 peek_opt_empty.
[OK] one_consumer 7 peek_empty.
[OK] one_consumer 8 push_head_not_empty.
[OK] one_consumer 9 close_push_head.
[OK] one_consumer 10 close_is_empty.
[OK] one_consumer 11 close_pop_opt.
[OK] one_consumer 12 pop_opt_order.
[OK] one_consumer 13 seq_push_pop_opt.
[OK] one_producer 0 push_not_empty.
[OK] one_producer 1 closing_prevents_pushing.
[OK] one_cons_one_prod 0 seq_push_pop_opt_peek_opt.
[OK] one_cons_one_prod 1 par_push_pop.
[OK] one_cons_one_prod 2 par_push_push_head.
[OK] one_cons_one_prod 3 par_pop_opt_push2.
[OK] one_cons_two_prod 0 par_push.
[OK] one_cons_two_prod 1 par_push_close_pop_opt.
Full test results in `/src/_build/default/test/mpsc_queue/_build/_tests/Mpsc_queue'.
Test Successful in 7.784s. 22 tests run.
(cd _build/default/test/ws_deque && ./test_ws_deque.exe)
test_exit: ok
test_push_and_pop: ok
test_push_and_steal: ok
test_concurrent_workload: ok (pushed = 100000, popped = 99915, stolen = 85)
(cd _build/default/bench && ./main.exe -brief)
Saturn Relaxed_queue:
messages over time/1 adder, 1 taker (cas):
13.64 M/s
messages over time/1 adder, 1 taker (not lf):
13.34 M/s
messages over time/1 adder, 1 taker (spin):
13.18 M/s
messages over time/1 adder, 2 takers (cas):
13.77 M/s
messages over time/1 adder, 2 takers (not lf):
13.42 M/s
messages over time/1 adder, 2 takers (spin):
11.32 M/s
messages over time/2 adders, 1 taker (cas):
14.14 M/s
messages over time/2 adders, 1 taker (not lf):
13.81 M/s
messages over time/2 adders, 1 taker (spin):
11.01 M/s
messages over time/2 adders, 2 takers (cas):
13.38 M/s
messages over time/2 adders, 2 takers (not lf):
13.03 M/s
messages over time/2 adders, 2 takers (spin):
11.68 M/s
time per message/1 adder, 1 taker (cas):
146.64 ns
time per message/1 adder, 1 taker (not lf):
149.94 ns
time per message/1 adder, 1 taker (spin):
151.76 ns
time per message/1 adder, 2 takers (cas):
217.85 ns
time per message/1 adder, 2 takers (not lf):
223.58 ns
time per message/1 adder, 2 takers (spin):
265.08 ns
time per message/2 adders, 1 taker (cas):
212.19 ns
time per message/2 adders, 1 taker (not lf):
217.25 ns
time per message/2 adders, 1 taker (spin):
272.54 ns
time per message/2 adders, 2 takers (cas):
298.92 ns
time per message/2 adders, 2 takers (not lf):
307.07 ns
time per message/2 adders, 2 takers (spin):
342.35 ns
Saturn_lockfree Cue:
messages over time/1 nb adder, 1 nb taker:
22.71 M/s
messages over time/1 nb adder, 2 nb takers:
20.41 M/s
messages over time/2 nb adders, 1 nb taker:
24.47 M/s
messages over time/2 nb adders, 2 nb takers:
19.38 M/s
messages over time/one domain:
13.95 M/s
time per message/1 nb adder, 1 nb taker:
88.08 ns
time per message/1 nb adder, 2 nb takers:
146.98 ns
time per message/2 nb adders, 1 nb taker:
122.60 ns
time per message/2 nb adders, 2 nb takers:
206.40 ns
time per message/one domain:
71.70 ns
Saturn_lockfree Queue:
messages over time/1 nb adder, 1 nb taker:
22.00 M/s
messages over time/1 nb adder, 2 nb takers:
18.39 M/s
messages over time/2 nb adders, 1 nb taker:
25.08 M/s
messages over time/2 nb adders, 2 nb takers:
22.75 M/s
messages over time/one domain:
14.94 M/s
time per message/1 nb adder, 1 nb taker:
90.91 ns
time per message/1 nb adder, 2 nb takers:
163.12 ns
time per message/2 nb adders, 1 nb taker:
119.63 ns
time per message/2 nb adders, 2 nb takers:
175.80 ns
time per message/one domain:
66.93 ns
Saturn_lockfree Single_prod_single_cons_queue:
messages over time/2 workers, capacity 1:
0.08 M/s
messages over time/2 workers, capacity 1 (unsafe):
0.08 M/s
messages over time/2 workers, capacity 32768:
18.72 M/s
messages over time/2 workers, capacity 32768 (unsafe):
36.40 M/s
messages over time/2 workers, capacity 4096:
18.31 M/s
messages over time/2 workers, capacity 4096 (unsafe):
26.36 M/s
messages over time/2 workers, capacity 512:
13.06 M/s
messages over time/2 workers, capacity 512 (unsafe):
17.06 M/s
messages over time/2 workers, capacity 64:
4.17 M/s
messages over time/2 workers, capacity 64 (unsafe):
3.75 M/s
messages over time/2 workers, capacity 8:
0.58 M/s
messages over time/2 workers, capacity 8 (unsafe):
0.64 M/s
time per message/2 workers, capacity 1:
26276.93 ns
time per message/2 workers, capacity 1 (unsafe):
25803.64 ns
time per message/2 workers, capacity 32768:
106.82 ns
time per message/2 workers, capacity 32768 (unsafe):
54.94 ns
time per message/2 workers, capacity 4096:
109.25 ns
time per message/2 workers, capacity 4096 (unsafe):
75.88 ns
time per message/2 workers, capacity 512:
153.14 ns
time per message/2 workers, capacity 512 (unsafe):
117.23 ns
time per message/2 workers, capacity 64:
480.01 ns
time per message/2 workers, capacity 64 (unsafe):
533.80 ns
time per message/2 workers, capacity 8:
3451.90 ns
time per message/2 workers, capacity 8 (unsafe):
3123.58 ns
Saturn_lockfree Size:
operations over time/1 worker:
25.23 M/s
operations over time/2 workers:
25.19 M/s
operations over time/4 workers:
21.75 M/s
time per operation/1 worker:
39.64 ns
time per operation/2 workers:
79.39 ns
time per operation/4 workers:
183.88 ns
Saturn_lockfree Skiplist:
operations over time/1 workers, 10% mem 45% add 45% rem:
1.09 M/s
operations over time/1 workers, 50% mem 25% add 25% rem:
0.82 M/s
operations over time/1 workers, 90% mem 5% add 5% rem:
1.71 M/s
operations over time/2 workers, 10% mem 45% add 45% rem:
0.81 M/s
operations over time/2 workers, 50% mem 25% add 25% rem:
1.19 M/s
operations over time/2 workers, 90% mem 5% add 5% rem:
1.69 M/s
operations over time/4 workers, 10% mem 45% add 45% rem:
0.57 M/s
operations over time/4 workers, 50% mem 25% add 25% rem:
1.12 M/s
operations over time/4 workers, 90% mem 5% add 5% rem:
0.88 M/s
time per operation/1 workers, 10% mem 45% add 45% rem:
921.24 ns
time per operation/1 workers, 50% mem 25% add 25% rem:
1220.69 ns
time per operation/1 workers, 90% mem 5% add 5% rem:
584.06 ns
time per operation/2 workers, 10% mem 45% add 45% rem:
2483.69 ns
time per operation/2 workers, 50% mem 25% add 25% rem:
1674.12 ns
time per operation/2 workers, 90% mem 5% add 5% rem:
1184.14 ns
time per operation/4 workers, 10% mem 45% add 45% rem:
7030.95 ns
time per operation/4 workers, 50% mem 25% add 25% rem:
3556.22 ns
time per operation/4 workers, 90% mem 5% add 5% rem:
4565.29 ns
Saturn_lockfree Stack:
messages over time/1 adder, 1 taker:
31.63 M/s
messages over time/1 adder, 2 takers:
28.52 M/s
messages over time/2 adders, 1 taker:
34.32 M/s
messages over time/2 adders, 2 takers:
30.37 M/s
messages over time/one domain:
17.75 M/s
time per message/1 adder, 1 taker:
63.22 ns
time per message/1 adder, 2 takers:
105.20 ns
time per message/2 adders, 1 taker:
87.42 ns
time per message/2 adders, 2 takers:
131.70 ns
time per message/one domain:
56.32 ns
Saturn_lockfree Work_stealing_deque:
messages over time/1 adder, 1 taker:
11.22 M/s
messages over time/1 adder, 2 takers:
11.58 M/s
messages over time/1 adder, 4 takers:
10.16 M/s
messages over time/one domain (FIFO):
9.66 M/s
messages over time/one domain (LIFO):
9.34 M/s
spawns over time/1 worker:
3.59 M/s
spawns over time/2 workers:
5.18 M/s
spawns over time/4 workers:
5.03 M/s
spawns over time/8 workers:
4.81 M/s
time per message/1 adder, 1 taker:
178.29 ns
time per message/1 adder, 2 takers:
259.12 ns
time per message/1 adder, 4 takers:
492.30 ns
time per message/one domain (FIFO):
103.47 ns
time per message/one domain (LIFO):
107.10 ns
time per spawn/1 worker:
278.91 ns
time per spawn/2 workers:
386.24 ns
time per spawn/4 workers:
794.95 ns
time per spawn/8 workers:
1663.08 ns
(cd _build/default/test/skiplist && ./qcheck_skiplist.exe)
qcheck random seed: 135238690
Testing `QCheck Skiplist'.
This run has ID `HPPG7THM'.
[OK] test_sequential 0 add.
[OK] test_sequential 1 add_remove.
[OK] test_sequential 2 add_find.
[OK] test_sequential 3 add_remove_find.
[OK] tests_two_domains 0 parallel_add.
[OK] tests_two_domains 1 parallel_add_remove.
[OK] tests_two_domains 2 parallel_add_remove_same_list.
Full test results in `/src/_build/default/test/skiplist/_build/_tests/QCheck Skiplist'.
Test Successful in 54.186s. 7 tests run.
(cd _build/default/test/cue && ./stm_cue.exe --verbose)
random seed: 4343494116684028718
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Cue sequential
[✓] 32 0 0 32 / 32 22.6s Saturn_lockfree.Cue concurrent
================================================================================
success (ran 2 tests)
random seed: 2050733313991628434
generated error fail pass / total time test name
[✓] 52 0 0 52 / 52 0.0s Saturn_lockfree.Cue sequential
[✓] 52 0 0 52 / 52 25.5s Saturn_lockfree.Cue concurrent
================================================================================
success (ran 2 tests)
random seed: 907417459822301150
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Cue sequential
[✓] 32 0 0 32 / 32 16.5s Saturn_lockfree.Cue concurrent
================================================================================
success (ran 2 tests)
(cd _build/default/test/skiplist && ./stm_skiplist.exe)
random seed: 2244760833118822771
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Lockfree.Skiplist sequential
[✓] 32 0 0 32 / 32 27.0s Lockfree.Skiplist concurrent
================================================================================
success (ran 2 tests)
random seed: 2291269545018009582
generated error fail pass / total time test name
[✓] 39 0 0 39 / 39 0.0s Lockfree.Skiplist sequential
[✓] 39 0 0 39 / 39 24.1s Lockfree.Skiplist concurrent
================================================================================
success (ran 2 tests)
random seed: 624752846670953651
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Lockfree.Skiplist sequential
[✓] 32 0 0 32 / 32 21.0s Lockfree.Skiplist concurrent
================================================================================
success (ran 2 tests)
(cd _build/default/test/treiber_stack && ./stm_treiber_stack.exe)
random seed: 1042891509830008359
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Treiber_stack sequential
[✓] 32 0 0 32 / 32 21.7s Saturn_lockfree.Treiber_stack concurrent
================================================================================
success (ran 2 tests)
random seed: 1401391408563696408
generated error fail pass / total time test name
[✓] 56 0 0 56 / 56 0.0s Saturn_lockfree.Treiber_stack sequential
[✓] 56 0 0 56 / 56 30.5s Saturn_lockfree.Treiber_stack concurrent
================================================================================
success (ran 2 tests)
random seed: 2332226675484224506
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Treiber_stack sequential
[✓] 32 0 0 32 / 32 27.1s Saturn_lockfree.Treiber_stack concurrent
================================================================================
success (ran 2 tests)
(cd _build/default/test/size && ./stm_size.exe)
random seed: 4384439092166655911
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Size sequential
[✓] 32 0 0 32 / 32 24.3s Saturn_lockfree.Size concurrent
================================================================================
success (ran 2 tests)
random seed: 4275054394756644925
generated error fail pass / total time test name
[✓] 46 0 0 46 / 46 0.0s Saturn_lockfree.Size sequential
[✓] 46 0 0 46 / 46 28.0s Saturn_lockfree.Size concurrent
================================================================================
success (ran 2 tests)
random seed: 2053026487826678128
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.Size sequential
[✓] 32 0 0 32 / 32 28.0s Saturn_lockfree.Size concurrent
================================================================================
success (ran 2 tests)
(cd _build/default/test/mpmc_relaxed_queue && ./test_mpmc_relaxed_queue.exe)
Testing `Mpmc_queue'.
This run has ID `ARH5O13F'.
[OK] single-thread 0 is it a queue.
[OK] validate items 0 1 prod. 1 cons.
[OK] validate indices under load 0 4 prod. 4 cons.
[OK] validate indices under load 1 8 prod. 1 cons.
[OK] validate indices under load 2 1 prod. 8 cons.
[OK] single-thread-CAS-intf 0 is it a queue.
[OK] validate items-CAS-intf 0 1 prod. 1 cons.
[OK] single-thread-spinning 0 is it a queue.
[OK] validate-items-spinning 0 1 prod. 1 cons.
Full test results in `/src/_build/default/test/mpmc_relaxed_queue/_build/_tests/Mpmc_queue'.
Test Successful in 124.116s. 9 tests run.
(cd _build/default/test/michael_scott_queue && ./stm_michael_scott_queue.exe)
random seed: 2295020643993537902
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.michael_scott_queue_safe sequential
[✓] 32 0 0 32 / 32 20.7s Saturn_lockfree.michael_scott_queue_safe concurrent
================================================================================
success (ran 2 tests)
random seed: 4145231462559974984
generated error fail pass / total time test name
[✓] 60 0 0 60 / 60 0.0s Saturn_lockfree.michael_scott_queue_safe sequential
[✓] 60 0 0 60 / 60 31.7s Saturn_lockfree.michael_scott_queue_safe concurrent
================================================================================
success (ran 2 tests)
random seed: 2509557336625133735
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.michael_scott_queue_safe sequential
[✓] 32 0 0 32 / 32 22.3s Saturn_lockfree.michael_scott_queue_safe concurrent
================================================================================
success (ran 2 tests)
random seed: 3381419972266750122
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.michael_scott_queue_unsafe sequential
[ ] 10 0 0 10 / 32 9.5s Saturn_l
[✓] 32 0 0 32 / 32 37.4s Saturn_lockfree.michael_scott_queue_unsafe concurrent
================================================================================
success (ran 2 tests)
random seed: 3665708740246601466
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.michael_scott_queue_unsafe sequential
[✓] 32 0 0 32 / 32 17.8s Saturn_lockfree.michael_scott_queue_unsafe concurrent
================================================================================
success (ran 2 tests)
random seed: 445468549917507053
generated error fail pass / total time test name
[✓] 32 0 0 32 / 32 0.0s Saturn_lockfree.michael_scott_queue_unsafe sequential
[✓] 32 0 0 32 / 32 8.3s Saturn_lockfree.michael_scott_queue_unsafe concurrent
================================================================================
success (ran 2 tests)
2024-10-18 17:30.51 ---> saved as "cd55978c618873d77e994747b880e94401e8ee56428e313a1e6ba0e58c7ab63b"
Job succeeded
2024-10-18 17:30.51: Job succeeded