Organisationsocaml-multicoresaturn93ff3f ()alpine-3.20-4.14_opam-2.2

alpine-3.20-4.14_opam-2.2

Link Copied
Code Copied

Logs

2024-10-11 08:13.00: New job: test ocaml-multicore/saturn https://github.com/ocaml-multicore/saturn.git#refs/heads/optimize-michael-scott-queue (93ff3f7952b4e59b488a4087b28728dca309e61b) (linux-x86_64:alpine-3.20-4.14_opam-2.2)
Base: ocaml/opam:alpine-3.20-ocaml-4.14@sha256:ca93b07e1eb7c90d165c476bfe152845a1cd570bea9665dd8cde9699b2445d06
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/ocaml-multicore/saturn.git" -b "optimize-michael-scott-queue" && cd "saturn" && git reset --hard 93ff3f79
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:alpine-3.20-ocaml-4.14@sha256:ca93b07e1eb7c90d165c476bfe152845a1cd570bea9665dd8cde9699b2445d06
# alpine-3.20-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 82ebbd52a07bc65404a2443fc4804bd36e534c83 || git fetch origin master) && git reset -q --hard 82ebbd52a07bc65404a2443fc4804bd36e534c83 && 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.6 multicore-magic.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 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-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-11 08:13.00: Using cache hint "ocaml-multicore/saturn-ocaml/opam:alpine-3.20-ocaml-4.14@sha256:ca93b07e1eb7c90d165c476bfe152845a1cd570bea9665dd8cde9699b2445d06-alpine-3.20-4.14_opam-2.2-45f70ae70fb667bea401cb95a5834c07"
2024-10-11 08:13.00: Using OBuilder spec:
((from ocaml/opam:alpine-3.20-ocaml-4.14@sha256:ca93b07e1eb7c90d165c476bfe152845a1cd570bea9665dd8cde9699b2445d06)
 (comment alpine-3.20-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 82ebbd52a07bc65404a2443fc4804bd36e534c83 || git fetch origin master) && git reset -q --hard 82ebbd52a07bc65404a2443fc4804bd36e534c83 && 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.6 multicore-magic.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 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-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-11 08:13.00: Waiting for resource in pool OCluster
2024-10-11 09:31.20: Waiting for worker…
2024-10-11 09:35.17: Got resource from pool OCluster
Building on x86-bm-c3.sw.ocaml.org
All commits already cached
HEAD is now at 93ff3f7 No need to `fix_tail` at this point


(from ocaml/opam:alpine-3.20-ocaml-4.14@sha256:ca93b07e1eb7c90d165c476bfe152845a1cd570bea9665dd8cde9699b2445d06)
2024-10-11 09:35.28 ---> using "985d1785f83b4891ff973f84322b6ae3a9d90575d816ad52456fbbac4db24296" from cache


/: (comment alpine-3.20-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-11 09:35.28 ---> using "424ecb4fd76a71bc03eabfc1f3af4742e1e505d3d9b8035ad2d7e45690e0728a" from cache


/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 255 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=255 --global
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file:///home/opam/opam-repository
2024-10-11 09:35.28 ---> using "0b027b6c04c06f5c7e242bd7839cb2838576f0029b13d9031bce3f8a4a1f5acb" from cache


/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-11 09:35.28 ---> using "88660f6f9449daae8f546084b825a4aabecb6972d8728585f1a2ebc26836a734" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2024-10-11 09:35.28 ---> using "3793e4d28aace89f51f56ac0e27bd5409a2e90b3abb095a596c196cfe87e1cd2" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "cd ~/opam-repository && (git cat-file -e 82ebbd52a07bc65404a2443fc4804bd36e534c83 || git fetch origin master) && git reset -q --hard 82ebbd52a07bc65404a2443fc4804bd36e534c83 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
 * branch                  master     -> FETCH_HEAD
   75006f8c5e..1a07d7f3b0  master     -> origin/master
82ebbd52a0 Merge pull request #26721 from polytypic/release-multicore-bench-0.1.6


<><> 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-11 09:36.43 ---> saved as "7d652efcaecf47b66f5edadd2768957b70ed6b591e9c680e9245a080eb4ca140"


/src: (copy (src saturn_lockfree.opam saturn.opam) (dst ./))
2024-10-11 09:36.43 ---> saved as "b01356c592c4c81cac3d2300671e9afb6414f07852e5df31ff654da2c177cff8"


/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-11 09:36.49 ---> saved as "2af2256ad0b0ee109754ef13a996b3e834964c819635fa73e4c495e23c3c72fa"


/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.6 multicore-magic.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 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-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 "apk" "update"
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
- v3.20.3-159-g093e185483c [https://dl-cdn.alpinelinux.org/alpine/v3.20/main]
- v3.20.3-163-g75b315f18d8 [https://dl-cdn.alpinelinux.org/alpine/v3.20/community]
- v20240923-1525-gef5aa6fb841 [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v20240923-1529-gbc6730f3e3d [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v20240923-1507-ge0e28efc57d [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 55511 distinct packages available


<><> 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-11 09:37.09 ---> saved as "efcf876cfdbead0ea6468ce4309078fee457aeb42eb72644b19f82eb36e0929f"


/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 35 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.6
  - install multicore-magic            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 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-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 csexp.1.5.2  (cached)
-> retrieved domain-local-await.1.0.1  (cached)
-> retrieved alcotest.1.8.0  (cached)
-> retrieved containers.3.14  (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 mtime.2.1.0  (cached)
-> retrieved multicore-bench.0.1.6  (cached)
-> retrieved multicore-magic.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 qcheck-multicoretests-util.0.4, qcheck-stm.0.4  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved re.1.12.0  (cached)
-> retrieved stdlib-shims.0.3.0  (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)
-> retrieved yojson.2.2.2  (cached)
-> retrieved dune.3.16.0, dune-configurator.3.16.0  (cached)
-> installed cmdliner.1.3.0
-> 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 re.1.12.0
-> installed stdlib-shims.0.3.0
-> installed thread-table.1.0.0
-> installed tsort.2.1.0
-> installed yojson.2.2.2
-> installed qcheck-core.0.22
-> installed domain-local-await.1.0.1
-> installed qcheck-multicoretests-util.0.4
-> installed alcotest.1.8.0
-> installed multicore-bench.0.1.6
-> installed ounit2.2.2.7
-> installed qcheck-stm.0.4
-> installed qcheck-alcotest.0.22
-> installed dune-configurator.3.16.0
-> installed qcheck-ounit.0.22
-> installed qcheck.0.22
-> installed containers.3.14
-> installed dscheck.0.5.0
Done.
# Run eval $(opam env) to update the current shell environment
2024-10-11 09:38.06 ---> saved as "9bc8c86f600f9ba45b2bcf902d2f122b80d14b4a888dd706dad4657cc4ad9e78"


/src: (copy (src .) (dst /src))
2024-10-11 09:38.06 ---> saved as "81bc3c208a69b37a7def15ad9c1921e93e920c147909ef0503e87b4774a4108f"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(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: 125836166
generated error fail pass / total     time test name
[] 1000    0    0 1000 / 1000     0.0s Saturn_lockfree.Spsc_queue sequential
================================================================================
success (ran 1 tests)
generated error fail pass / total     time test name
[] 1000    0    0 1000 / 1000     0.0s Saturn_lockfree.Spsc_queue_unsafe sequential
================================================================================
success (ran 1 tests)
(cd _build/default/test/mpsc_queue && ./stm_mpsc_queue.exe)
random seed: 204446422
generated error fail pass / total     time test name
[] 1000    0    0 1000 / 1000     0.0s Saturn_lockfree.Mpsc_queue sequential
================================================================================
success (ran 1 tests)
(cd _build/default/test/ws_deque && ./stm_ws_deque.exe)
random seed: 226158675
generated error fail pass / total     time test name
[] 1000    0    0 1000 / 1000     0.0s Saturn_lockfree.Ws_deque sequential
================================================================================
success (ran 1 tests)
(cd _build/default/test/treiber_stack && ./qcheck_treiber_stack.exe)
qcheck random seed: 260281155
Testing `Treiber_stack'.
This run has ID `HDDHNF99'.


  [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 0.067s. 6 tests run.
(cd _build/default/test/michael_scott_queue && ./qcheck_michael_scott_queue.exe)
qcheck random seed: 457034869
Testing `Michael_scott_queue'.
This run has ID `OK4OAHLW'.


  [OK]          test_sequential            0   push.
  [OK]          test_sequential            1   push_pop_opt_until_empty.
  [OK]          test_sequential            2   fifo.
  [OK]          test_sequential            3   fifo_peek_opt.
  [OK]          one_cons_one_prod          0   parallel_fifo.
  [OK]          one_cons_one_prod          1   parallel_peek.
  [OK]          two_domains                0   parallel_pop_opt_push.
  [OK]          two_domains                1   parallel_pop_opt_push_random.


Full test results in `/src/_build/default/test/michael_scott_queue/_build/_tests/Michael_scott_queue'.
Test Successful in 0.085s. 8 tests run.
(cd _build/default/test/ws_deque && ./qcheck_ws_deque.exe)
qcheck random seed: 296562898
Testing `Ws_deque'.
This run has ID `35TQASL3'.


  [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 0.190s. 6 tests run.
(cd _build/default/test/spsc_queue && ./qcheck_spsc_queue.exe)
qcheck random seed: 500006233
Testing `Spsc_queues'.
This run has ID `M6T9RD37'.


  [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 0.636s. 16 tests run.
(cd _build/default/test/mpsc_queue && ./qcheck_mpsc_queue.exe)
qcheck random seed: 457599323
Testing `Mpsc_queue'.
This run has ID `O90WLSOL'.


  [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 1.886s. 22 tests run.
(cd _build/default/test/skiplist && ./qcheck_skiplist.exe)
qcheck random seed: 183452732
Testing `QCheck Skiplist'.
This run has ID `VF7O6LLO'.


  [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 1.967s. 7 tests run.
(cd _build/default/bench && ./main.exe -brief)
Saturn Relaxed_queue:
  messages over time/1 adder, 1 taker (cas):
    14.80 M/s
  messages over time/1 adder, 1 taker (not lf):
    12.90 M/s
  messages over time/1 adder, 1 taker (spin):
    11.69 M/s
  messages over time/1 adder, 2 takers (cas):
    13.25 M/s
  messages over time/1 adder, 2 takers (not lf):
    12.78 M/s
  messages over time/1 adder, 2 takers (spin):
    12.14 M/s
  messages over time/2 adders, 1 taker (cas):
    14.08 M/s
  messages over time/2 adders, 1 taker (not lf):
    13.92 M/s
  messages over time/2 adders, 1 taker (spin):
    11.12 M/s
  messages over time/2 adders, 2 takers (cas):
    11.90 M/s
  messages over time/2 adders, 2 takers (not lf):
    13.43 M/s
  messages over time/2 adders, 2 takers (spin):
    10.33 M/s
  time per message/1 adder, 1 taker (cas):
    135.16 ns
  time per message/1 adder, 1 taker (not lf):
    155.01 ns
  time per message/1 adder, 1 taker (spin):
    171.02 ns
  time per message/1 adder, 2 takers (cas):
    226.44 ns
  time per message/1 adder, 2 takers (not lf):
    234.81 ns
  time per message/1 adder, 2 takers (spin):
    247.22 ns
  time per message/2 adders, 1 taker (cas):
    213.00 ns
  time per message/2 adders, 1 taker (not lf):
    215.53 ns
  time per message/2 adders, 1 taker (spin):
    269.78 ns
  time per message/2 adders, 2 takers (cas):
    336.19 ns
  time per message/2 adders, 2 takers (not lf):
    297.85 ns
  time per message/2 adders, 2 takers (spin):
    387.20 ns
Saturn_lockfree Queue:
  messages over time/1 nb adder, 1 nb taker:
    33.22 M/s
  messages over time/1 nb adder, 2 nb takers:
    20.84 M/s
  messages over time/2 nb adders, 1 nb taker:
    22.35 M/s
  messages over time/2 nb adders, 2 nb takers:
    26.08 M/s
  messages over time/one domain:
    12.93 M/s
  time per message/1 nb adder, 1 nb taker:
    60.20 ns
  time per message/1 nb adder, 2 nb takers:
    143.97 ns
  time per message/2 nb adders, 1 nb taker:
    134.21 ns
  time per message/2 nb adders, 2 nb takers:
    153.38 ns
  time per message/one domain:
    77.32 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.09 M/s
  messages over time/2 workers, capacity 32768:
    15.35 M/s
  messages over time/2 workers, capacity 32768 (unsafe):
    30.71 M/s
  messages over time/2 workers, capacity 4096:
    18.47 M/s
  messages over time/2 workers, capacity 4096 (unsafe):
    22.77 M/s
  messages over time/2 workers, capacity 512:
    10.52 M/s
  messages over time/2 workers, capacity 512 (unsafe):
    14.88 M/s
  messages over time/2 workers, capacity 64:
    2.72 M/s
  messages over time/2 workers, capacity 64 (unsafe):
    3.91 M/s
  messages over time/2 workers, capacity 8:
    0.60 M/s
  messages over time/2 workers, capacity 8 (unsafe):
    0.62 M/s
  time per message/2 workers, capacity 1:
    26270.20 ns
  time per message/2 workers, capacity 1 (unsafe):
    23301.87 ns
  time per message/2 workers, capacity 32768:
    130.27 ns
  time per message/2 workers, capacity 32768 (unsafe):
    65.12 ns
  time per message/2 workers, capacity 4096:
    108.28 ns
  time per message/2 workers, capacity 4096 (unsafe):
    87.82 ns
  time per message/2 workers, capacity 512:
    190.19 ns
  time per message/2 workers, capacity 512 (unsafe):
    134.41 ns
  time per message/2 workers, capacity 64:
    735.18 ns
  time per message/2 workers, capacity 64 (unsafe):
    511.07 ns
  time per message/2 workers, capacity 8:
    3345.04 ns
  time per message/2 workers, capacity 8 (unsafe):
    3212.72 ns
Saturn_lockfree Size:
  operations over time/1 worker:
    14.94 M/s
  operations over time/2 workers:
    14.80 M/s
  operations over time/4 workers:
    16.72 M/s
  time per operation/1 worker:
    66.95 ns
  time per operation/2 workers:
    135.17 ns
  time per operation/4 workers:
    239.29 ns
Saturn_lockfree Skiplist:
  operations over time/1 workers, 10% mem 45% add 45% rem:
    0.90 M/s
  operations over time/1 workers, 50% mem 25% add 25% rem:
    1.42 M/s
  operations over time/1 workers, 90% mem 5% add 5% rem:
    1.48 M/s
  operations over time/2 workers, 10% mem 45% add 45% rem:
    0.85 M/s
  operations over time/2 workers, 50% mem 25% add 25% rem:
    1.46 M/s
  operations over time/2 workers, 90% mem 5% add 5% rem:
    1.07 M/s
  operations over time/4 workers, 10% mem 45% add 45% rem:
    1.14 M/s
  operations over time/4 workers, 50% mem 25% add 25% rem:
    0.88 M/s
  operations over time/4 workers, 90% mem 5% add 5% rem:
    1.16 M/s
  time per operation/1 workers, 10% mem 45% add 45% rem:
    1108.27 ns
  time per operation/1 workers, 50% mem 25% add 25% rem:
    706.51 ns
  time per operation/1 workers, 90% mem 5% add 5% rem:
    673.40 ns
  time per operation/2 workers, 10% mem 45% add 45% rem:
    2352.53 ns
  time per operation/2 workers, 50% mem 25% add 25% rem:
    1373.10 ns
  time per operation/2 workers, 90% mem 5% add 5% rem:
    1874.62 ns
  time per operation/4 workers, 10% mem 45% add 45% rem:
    3520.84 ns
  time per operation/4 workers, 50% mem 25% add 25% rem:
    4533.49 ns
  time per operation/4 workers, 90% mem 5% add 5% rem:
    3452.87 ns
Saturn_lockfree Stack:
  messages over time/1 adder, 1 taker:
    48.13 M/s
  messages over time/1 adder, 2 takers:
    31.97 M/s
  messages over time/2 adders, 1 taker:
    36.23 M/s
  messages over time/2 adders, 2 takers:
    30.28 M/s
  messages over time/one domain:
    26.42 M/s
  time per message/1 adder, 1 taker:
    41.56 ns
  time per message/1 adder, 2 takers:
    93.84 ns
  time per message/2 adders, 1 taker:
    82.80 ns
  time per message/2 adders, 2 takers:
    132.09 ns
  time per message/one domain:
    37.84 ns
Saturn_lockfree Work_stealing_deque:
  messages over time/1 adder, 1 taker:
    10.84 M/s
  messages over time/1 adder, 2 takers:
    11.55 M/s
  messages over time/1 adder, 4 takers:
    13.12 M/s
  messages over time/one domain (FIFO):
    9.28 M/s
  messages over time/one domain (LIFO):
    9.58 M/s
  spawns over time/1 worker:
    7.81 M/s
  spawns over time/2 workers:
    8.60 M/s
  spawns over time/4 workers:
    9.67 M/s
  spawns over time/8 workers:
    8.86 M/s
  time per message/1 adder, 1 taker:
    184.60 ns
  time per message/1 adder, 2 takers:
    259.66 ns
  time per message/1 adder, 4 takers:
    381.15 ns
  time per message/one domain (FIFO):
    107.73 ns
  time per message/one domain (LIFO):
    104.39 ns
  time per spawn/1 worker:
    128.12 ns
  time per spawn/2 workers:
    232.65 ns
  time per spawn/4 workers:
    413.82 ns
  time per spawn/8 workers:
    902.53 ns
(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 = 99979, stolen = 21)
(cd _build/default/test/mpmc_relaxed_queue && ./test_mpmc_relaxed_queue.exe)
Testing `Mpmc_queue'.
This run has ID `O2CPSOCB'.


  [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 110.038s. 9 tests run.
(cd _build/default/test/michael_scott_queue && ./stm_michael_scott_queue.exe)
random seed: 256429058
generated error fail pass / total     time test name
[]  500    0    0  500 /  500     0.0s Saturn_lockfree.Michael_scott_queue sequential
[]  500    0    0  500 /  500   169.3s Saturn_lockfree.Michael_scott_queue concurrent
================================================================================
success (ran 2 tests)
(cd _build/default/test/treiber_stack && ./stm_treiber_stack.exe)
random seed: 145373121
generated error fail pass / total     time test name
[]  500    0    0  500 /  500     0.0s Saturn_lockfree.Treiber_stack sequential
[]  500    0    0  500 /  500   173.1s Saturn_lockfree.Treiber_stack concurrent
================================================================================
success (ran 2 tests)
(cd _build/default/test/skiplist && ./stm_skiplist.exe)
random seed: 248550616
generated error fail pass / total     time test name
[] 1000    0    0 1000 / 1000     0.0s Lockfree.Skiplist sequential
[ ]  360    0    0  360 / 1000   124.6s Lockf[] 1000    0    0 1000 / 1000   233.7s Lockfree.Skiplist concurrent
================================================================================
success (ran 2 tests)
(cd _build/default/test/size && ./stm_size.exe)
random seed: 493637626
generated error fail pass / total     time test name
[] 1000    0    0 1000 / 1000     0.0s Saturn_lockfree.Size sequential
[] 1000    0    0 1000 / 1000   240.0s Saturn_lockfree.Size concurrent
================================================================================
success (ran 2 tests)
2024-10-11 09:42.07 ---> saved as "2cabe821a30542cbfc31f661116df1a7868ddbd74f7db15d5b19248c2850cc30"
Job succeeded
2024-10-11 09:42.08: Job succeeded