2025-05-02 14:59.08: New job: test ocaml-multicore/picos https://github.com/ocaml-multicore/picos.git#refs/heads/awaitable-stack (59dd836f342b4a6b6bd6ab9d8c29fa2b62b530e4) (linux-x86_64:alpine-3.21-5.3_opam-2.3)
Base: ocaml/opam:alpine-3.21-ocaml-5.3@sha256:e2ee63eda00d030de85e2df8292477e3b768ff41108d47f21b9146fd8250d962
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ocaml-multicore/picos.git" -b "awaitable-stack" && cd "picos" && git reset --hard 59dd836f
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:alpine-3.21-ocaml-5.3@sha256:e2ee63eda00d030de85e2df8292477e3b768ff41108d47f21b9146fd8250d962
# alpine-3.21-5.3_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /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 35eb2f107a989a2d623b0bbe170696398fcb9b1e || git fetch origin master) && git reset -q --hard 35eb2f107a989a2d623b0bbe170696398fcb9b1e && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 picos_std.opam picos_mux.opam picos_meta.opam picos_lwt.opam picos_io_cohttp.opam picos_io.opam picos_aux.opam picos.opam ./
RUN opam pin add -yn picos_std.dev './' && \
opam pin add -yn picos_mux.dev './' && \
opam pin add -yn picos_meta.dev './' && \
opam pin add -yn picos_lwt.dev './' && \
opam pin add -yn picos_io_cohttp.dev './' && \
opam pin add -yn picos_io.dev './' && \
opam pin add -yn picos_aux.dev './' && \
opam pin add -yn picos.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="alcotest.1.9.0 angstrom.0.16.1 asn1-combinators.0.3.2 astring.0.8.5 backoff.0.1.1 base.v0.17.1 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 bos.0.2.1 ca-certs.1.0.1 camlp-streams.5.0.1 cmdliner.1.3.0 cohttp.6.1.0 cohttp-lwt.6.1.0 cohttp-lwt-unix.6.1.0 conduit.8.0.0 conduit-lwt.8.0.0 conduit-lwt-unix.8.0.0 conf-gmp.5 conf-gmp-powm-sec.4 conf-npm.1 conf-pkg-config.4 containers.3.15 cppo.1.8.0 csexp.1.5.2 digestif.1.3.0 domain-local-await.1.0.1 domain-name.0.4.1 domain_shims.0.1.0 dscheck.0.5.0 dune.3.18.2 dune-configurator.3.18.2 duration.0.2.1 either.1.0.0 eqaf.0.10 fmt.0.10.0 fpath.0.7.3 gen.1.1 gmap.0.3.0 http.6.1.0 ipaddr.5.6.0 ipaddr-sexp.5.6.0 js_of_ocaml.6.0.1 js_of_ocaml-compiler.6.0.1 kdf.1.0.0 logs.0.8.0 lwt.5.9.1 macaddr.5.6.0 magic-mime.1.3.1 mdx.2.5.0 menhir.20240715 menhirCST.20240715 menhirLib.20240715 menhirSdk.20240715 mirage-crypto.2.0.0 mirage-crypto-ec.2.0.0 mirage-crypto-pk.2.0.0 mirage-crypto-rng.2.0.0 mtime.2.1.0 multicore-bench.0.1.7 multicore-magic.2.3.1 multicore-magic-dscheck.2.3.1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.0 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 ohex.0.2.0 oseq.0.5.1 ppx_derivers.1.2.1 ppx_sexp_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 psq.0.2.1 ptime.1.2.0 qcheck-core.0.25 qcheck-multicoretests-util.0.8 qcheck-stm.0.8 re.1.12.0 result.1.5 rresult.0.7.0 sedlex.3.4 seq.base sexplib0.v0.17.0 stdlib-shims.0.3.0 stringext.1.6.0 thread-local-storage.0.2 thread-table.1.0.0 topkg.1.0.8 tsort.2.2.0 uri.4.4.0 uri-sexp.4.4.0 uutf.1.0.4 x509.1.0.6 yojson.2.2.2 zarith.1.14"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y picos_std.dev picos_mux.dev picos_meta.dev picos_lwt.dev picos_io_cohttp.dev picos_io.dev picos_aux.dev picos.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
2025-05-02 14:59.08: Using cache hint "ocaml-multicore/picos-ocaml/opam:alpine-3.21-ocaml-5.3@sha256:e2ee63eda00d030de85e2df8292477e3b768ff41108d47f21b9146fd8250d962-alpine-3.21-5.3_opam-2.3-8e5da39e506bfcaf4197344d95cb0181"
2025-05-02 14:59.08: Using OBuilder spec:
((from ocaml/opam:alpine-3.21-ocaml-5.3@sha256:e2ee63eda00d030de85e2df8292477e3b768ff41108d47f21b9146fd8250d962)
(comment alpine-3.21-5.3_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.3 /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 35eb2f107a989a2d623b0bbe170696398fcb9b1e || git fetch origin master) && git reset -q --hard 35eb2f107a989a2d623b0bbe170696398fcb9b1e && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src picos_std.opam picos_mux.opam picos_meta.opam picos_lwt.opam picos_io_cohttp.opam picos_io.opam picos_aux.opam picos.opam)
(dst ./))
(run (network host)
(shell "opam pin add -yn picos_std.dev './' && \
\nopam pin add -yn picos_mux.dev './' && \
\nopam pin add -yn picos_meta.dev './' && \
\nopam pin add -yn picos_lwt.dev './' && \
\nopam pin add -yn picos_io_cohttp.dev './' && \
\nopam pin add -yn picos_io.dev './' && \
\nopam pin add -yn picos_aux.dev './' && \
\nopam pin add -yn picos.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "alcotest.1.9.0 angstrom.0.16.1 asn1-combinators.0.3.2 astring.0.8.5 backoff.0.1.1 base.v0.17.1 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 bos.0.2.1 ca-certs.1.0.1 camlp-streams.5.0.1 cmdliner.1.3.0 cohttp.6.1.0 cohttp-lwt.6.1.0 cohttp-lwt-unix.6.1.0 conduit.8.0.0 conduit-lwt.8.0.0 conduit-lwt-unix.8.0.0 conf-gmp.5 conf-gmp-powm-sec.4 conf-npm.1 conf-pkg-config.4 containers.3.15 cppo.1.8.0 csexp.1.5.2 digestif.1.3.0 domain-local-await.1.0.1 domain-name.0.4.1 domain_shims.0.1.0 dscheck.0.5.0 dune.3.18.2 dune-configurator.3.18.2 duration.0.2.1 either.1.0.0 eqaf.0.10 fmt.0.10.0 fpath.0.7.3 gen.1.1 gmap.0.3.0 http.6.1.0 ipaddr.5.6.0 ipaddr-sexp.5.6.0 js_of_ocaml.6.0.1 js_of_ocaml-compiler.6.0.1 kdf.1.0.0 logs.0.8.0 lwt.5.9.1 macaddr.5.6.0 magic-mime.1.3.1 mdx.2.5.0 menhir.20240715 menhirCST.20240715 menhirLib.20240715 menhirSdk.20240715 mirage-crypto.2.0.0 mirage-crypto-ec.2.0.0 mirage-crypto-pk.2.0.0 mirage-crypto-rng.2.0.0 mtime.2.1.0 multicore-bench.0.1.7 multicore-magic.2.3.1 multicore-magic-dscheck.2.3.1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.0 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 ohex.0.2.0 oseq.0.5.1 ppx_derivers.1.2.1 ppx_sexp_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 psq.0.2.1 ptime.1.2.0 qcheck-core.0.25 qcheck-multicoretests-util.0.8 qcheck-stm.0.8 re.1.12.0 result.1.5 rresult.0.7.0 sedlex.3.4 seq.base sexplib0.v0.17.0 stdlib-shims.0.3.0 stringext.1.6.0 thread-local-storage.0.2 thread-table.1.0.0 topkg.1.0.8 tsort.2.2.0 uri.4.4.0 uri-sexp.4.4.0 uutf.1.0.4 x509.1.0.6 yojson.2.2.2 zarith.1.14")
(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.3 --depext-only -y picos_std.dev picos_mux.dev picos_meta.dev picos_lwt.dev picos_io_cohttp.dev picos_io.dev picos_aux.dev picos.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"))
)
2025-05-02 14:59.08: Waiting for resource in pool OCluster
2025-05-02 17:38.52: Waiting for worker…
2025-05-02 17:42.06: Got resource from pool OCluster
Building on x86-bm-c2.sw.ocaml.org
All commits already cached
HEAD is now at 59dd836 Add bounded blocking `Stack`
(from ocaml/opam:alpine-3.21-ocaml-5.3@sha256:e2ee63eda00d030de85e2df8292477e3b768ff41108d47f21b9146fd8250d962)
2025-05-02 17:42.06 ---> using "f154ab12a6d575cd956c81477efd0302c0ef4dccea7e9c1952fd02140b057756" from cache
/: (comment alpine-3.21-5.3_opam-2.3)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-05-02 17:42.06 ---> using "6310931d2bf5fef99ec3c0d979621049ed21e3351bd07029cd06bddb57173709" 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] Initialised
2025-05-02 17:42.06 ---> using "675c7208637c697a7a3366c064d560f88c87ccaec86349f5914d7ac40053bae7" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-134-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-05-02 17:42.06 ---> using "6021679194ffece7289cd5c5b221b2f3071db6c856a010fda1808be99b3a5c12" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-05-02 17:42.06 ---> using "91e9c49728c8d128b944322e480ab1d9f5be9d0ae301c2ee057902eeb7ca9559" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 35eb2f107a989a2d623b0bbe170696398fcb9b1e || git fetch origin master) && git reset -q --hard 35eb2f107a989a2d623b0bbe170696398fcb9b1e && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
da74d7829f..35eb2f107a master -> origin/master
35eb2f107a Merge pull request #27838 from maiste/release-dune-3.18.2
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+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.
# To update the current shell environment, run: eval $(opam env)
2025-05-02 17:42.06 ---> using "fc382f7cff9096e37cecd7a0aff4d66187d0ab98ddc5a5afcd94d21f25dc8b7c" from cache
/src: (copy (src picos_std.opam picos_mux.opam picos_meta.opam picos_lwt.opam picos_io_cohttp.opam picos_io.opam picos_aux.opam picos.opam)
(dst ./))
2025-05-02 17:42.06 ---> using "5ae966c791301036dfe3f17710cffaea7fd2e2e1e172ef1093b91165b2086fa5" from cache
/src: (run (network host)
(shell "opam pin add -yn picos_std.dev './' && \
\nopam pin add -yn picos_mux.dev './' && \
\nopam pin add -yn picos_meta.dev './' && \
\nopam pin add -yn picos_lwt.dev './' && \
\nopam pin add -yn picos_io_cohttp.dev './' && \
\nopam pin add -yn picos_io.dev './' && \
\nopam pin add -yn picos_aux.dev './' && \
\nopam pin add -yn picos.dev './'"))
[picos_std.dev] synchronised (file:///src)
picos_std is now pinned to file:///src (version dev)
[picos_mux.dev] synchronised (file:///src)
picos_mux is now pinned to file:///src (version dev)
[picos_meta.dev] synchronised (file:///src)
picos_meta is now pinned to file:///src (version dev)
[picos_lwt.dev] synchronised (file:///src)
picos_lwt is now pinned to file:///src (version dev)
[picos_io_cohttp.dev] synchronised (file:///src)
picos_io_cohttp is now pinned to file:///src (version dev)
[picos_io.dev] synchronised (file:///src)
picos_io is now pinned to file:///src (version dev)
[picos_aux.dev] synchronised (file:///src)
picos_aux is now pinned to file:///src (version dev)
[picos.dev] synchronised (file:///src)
picos is now pinned to file:///src (version dev)
2025-05-02 17:42.06 ---> using "a73123454014eebbdb5e74d26350bf6cb3b1135ae2320d4e68267d1945446a0f" from cache
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-05-02 17:42.06 ---> using "fc319d764c093d2e09b564b86501acfbcfd923b22aec955c8d0ec4eaca6fb346" from cache
/src: (env DEPS "alcotest.1.9.0 angstrom.0.16.1 asn1-combinators.0.3.2 astring.0.8.5 backoff.0.1.1 base.v0.17.1 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 bos.0.2.1 ca-certs.1.0.1 camlp-streams.5.0.1 cmdliner.1.3.0 cohttp.6.1.0 cohttp-lwt.6.1.0 cohttp-lwt-unix.6.1.0 conduit.8.0.0 conduit-lwt.8.0.0 conduit-lwt-unix.8.0.0 conf-gmp.5 conf-gmp-powm-sec.4 conf-npm.1 conf-pkg-config.4 containers.3.15 cppo.1.8.0 csexp.1.5.2 digestif.1.3.0 domain-local-await.1.0.1 domain-name.0.4.1 domain_shims.0.1.0 dscheck.0.5.0 dune.3.18.2 dune-configurator.3.18.2 duration.0.2.1 either.1.0.0 eqaf.0.10 fmt.0.10.0 fpath.0.7.3 gen.1.1 gmap.0.3.0 http.6.1.0 ipaddr.5.6.0 ipaddr-sexp.5.6.0 js_of_ocaml.6.0.1 js_of_ocaml-compiler.6.0.1 kdf.1.0.0 logs.0.8.0 lwt.5.9.1 macaddr.5.6.0 magic-mime.1.3.1 mdx.2.5.0 menhir.20240715 menhirCST.20240715 menhirLib.20240715 menhirSdk.20240715 mirage-crypto.2.0.0 mirage-crypto-ec.2.0.0 mirage-crypto-pk.2.0.0 mirage-crypto-rng.2.0.0 mtime.2.1.0 multicore-bench.0.1.7 multicore-magic.2.3.1 multicore-magic-dscheck.2.3.1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.0 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 ohex.0.2.0 oseq.0.5.1 ppx_derivers.1.2.1 ppx_sexp_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 psq.0.2.1 ptime.1.2.0 qcheck-core.0.25 qcheck-multicoretests-util.0.8 qcheck-stm.0.8 re.1.12.0 result.1.5 rresult.0.7.0 sedlex.3.4 seq.base sexplib0.v0.17.0 stdlib-shims.0.3.0 stringext.1.6.0 thread-local-storage.0.2 thread-table.1.0.0 topkg.1.0.8 tsort.2.2.0 uri.4.4.0 uri-sexp.4.4.0 uutf.1.0.4 x509.1.0.6 yojson.2.2.2 zarith.1.14")
/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.3 --depext-only -y picos_std.dev picos_mux.dev picos_meta.dev picos_lwt.dev picos_io_cohttp.dev picos_io.dev picos_aux.dev picos.dev $DEPS"))
+ /usr/bin/sudo "apk" "update"
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/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.21.3-426-g4551b62e81e [https://dl-cdn.alpinelinux.org/alpine/v3.21/main]
- v3.21.3-426-g4551b62e81e [https://dl-cdn.alpinelinux.org/alpine/v3.21/community]
- v20250108-7122-gdc9603691bc [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v20250108-7123-g3b4e6d2cce3 [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v20250108-7090-gf28c5b6a416 [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 58117 distinct packages available
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[picos.dev] synchronised (file:///src)
[picos_aux.dev] synchronised (file:///src)
[picos_io.dev] synchronised (file:///src)
[picos_io_cohttp.dev] synchronised (file:///src)
[picos_lwt.dev] synchronised (file:///src)
[picos_meta.dev] synchronised (file:///src)
[picos_mux.dev] synchronised (file:///src)
[picos_std.dev] synchronised (file:///src)
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[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-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following system packages will first need to be installed:
gmp-dev npm
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
+ /usr/bin/sudo "apk" "add" "gmp-dev" "npm"
- (1/9) Installing libgmpxx (6.3.0-r2)
- (2/9) Installing gmp-dev (6.3.0-r2)
- (3/9) Installing ada-libs (2.9.2-r1)
- (4/9) Installing icu-data-en (74.2-r0)
- Executing icu-data-en-74.2-r0.post-install
- *
- * If you need ICU with non-English locales and legacy charset support, install
- * package icu-data-full.
- *
- (5/9) Installing icu-libs (74.2-r0)
- (6/9) Installing simdjson (3.10.1-r0)
- (7/9) Installing simdutf (5.6.3-r0)
- (8/9) Installing nodejs (22.13.1-r0)
- (9/9) Installing npm (10.9.1-r0)
- Executing busybox-1.37.0-r12.trigger
- OK: 373 MiB in 111 packages
2025-05-02 17:42.06 ---> using "a05102ac8118d2a92607166367436cf7ee3c196a107e826fb43330f2909fa6dd" from cache
/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 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[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-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains 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 99 packages
- install alcotest 1.9.0
- install angstrom 0.16.1
- install asn1-combinators 0.3.2
- install astring 0.8.5
- install backoff 0.1.1
- install base v0.17.1
- install base-bytes base
- install base64 3.5.1
- install bigstringaf 0.10.0
- install bos 0.2.1
- install ca-certs 1.0.1
- install camlp-streams 5.0.1
- install cmdliner 1.3.0
- install cohttp 6.1.0
- install cohttp-lwt 6.1.0
- install cohttp-lwt-unix 6.1.0
- install conduit 8.0.0
- install conduit-lwt 8.0.0
- install conduit-lwt-unix 8.0.0
- install conf-gmp 5
- install conf-gmp-powm-sec 4
- install conf-npm 1
- install conf-pkg-config 4
- install containers 3.15
- install cppo 1.8.0
- install csexp 1.5.2
- install digestif 1.3.0
- install domain-local-await 1.0.1
- install domain-name 0.4.1
- install domain_shims 0.1.0
- install dscheck 0.5.0
- install dune 3.18.2
- install dune-configurator 3.18.2
- install duration 0.2.1
- install either 1.0.0
- install eqaf 0.10
- install fmt 0.10.0
- install fpath 0.7.3
- install gen 1.1
- install gmap 0.3.0
- install http 6.1.0
- install ipaddr 5.6.0
- install ipaddr-sexp 5.6.0
- install js_of_ocaml 6.0.1
- install js_of_ocaml-compiler 6.0.1
- install kdf 1.0.0
- install logs 0.8.0
- install lwt 5.9.1
- install macaddr 5.6.0
- install magic-mime 1.3.1
- install mdx 2.5.0
- install menhir 20240715
- install menhirCST 20240715
- install menhirLib 20240715
- install menhirSdk 20240715
- install mirage-crypto 2.0.0
- install mirage-crypto-ec 2.0.0
- install mirage-crypto-pk 2.0.0
- install mirage-crypto-rng 2.0.0
- install mtime 2.1.0
- install multicore-bench 0.1.7
- install multicore-magic 2.3.1
- install multicore-magic-dscheck 2.3.1
- install ocaml-compiler-libs v0.17.0
- install ocaml-syntax-shims 1.0.0
- install ocaml-version 4.0.0
- install ocaml_intrinsics_kernel v0.17.1
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install ocplib-endian 1.2
- install ohex 0.2.0
- install oseq 0.5.1
- install ppx_derivers 1.2.1
- install ppx_sexp_conv v0.17.0
- install ppxlib 0.35.0
- install ppxlib_jane v0.17.2
- install psq 0.2.1
- install ptime 1.2.0
- install qcheck-core 0.25
- install qcheck-multicoretests-util 0.8
- install qcheck-stm 0.8
- install re 1.12.0
- install result 1.5
- install rresult 0.7.0
- install sedlex 3.4
- install seq base
- install sexplib0 v0.17.0
- install stdlib-shims 0.3.0
- install stringext 1.6.0
- install thread-local-storage 0.2
- install thread-table 1.0.0
- install topkg 1.0.8
- install tsort 2.2.0
- install uri 4.4.0
- install uri-sexp 4.4.0
- install uutf 1.0.4
- install x509 1.0.6
- install yojson 2.2.2
- install zarith 1.14
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved asn1-combinators.0.3.2 (cached)
-> retrieved angstrom.0.16.1 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved alcotest.1.9.0 (cached)
-> retrieved backoff.0.1.1 (cached)
-> retrieved base.v0.17.1 (cached)
-> retrieved base64.3.5.1 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved camlp-streams.5.0.1 (cached)
-> retrieved ca-certs.1.0.1 (cached)
-> retrieved bos.0.2.1 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved conf-gmp.5 (cached)
-> retrieved conf-gmp-powm-sec.4 (cached)
-> retrieved conduit.8.0.0, conduit-lwt.8.0.0, conduit-lwt-unix.8.0.0 (cached)
-> retrieved cohttp.6.1.0, cohttp-lwt.6.1.0, cohttp-lwt-unix.6.1.0, http.6.1.0 (cached)
-> retrieved containers.3.15 (cached)
-> installed conf-gmp.5
-> installed conf-npm.1
-> installed conf-pkg-config.4
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> installed conf-gmp-powm-sec.4
-> retrieved domain-local-await.1.0.1 (cached)
-> retrieved domain-name.0.4.1 (cached)
-> retrieved domain_shims.0.1.0 (cached)
-> retrieved dscheck.0.5.0 (cached)
-> retrieved duration.0.2.1 (cached)
-> retrieved either.1.0.0 (cached)
-> retrieved eqaf.0.10 (cached)
-> retrieved fmt.0.10.0 (cached)
-> retrieved fpath.0.7.3 (cached)
-> retrieved gen.1.1 (cached)
-> retrieved gmap.0.3.0 (cached)
-> retrieved ipaddr.5.6.0, ipaddr-sexp.5.6.0, macaddr.5.6.0 (cached)
-> retrieved digestif.1.3.0 (cached)
-> retrieved kdf.1.0.0 (cached)
-> retrieved logs.0.8.0 (cached)
-> retrieved dune.3.18.2, dune-configurator.3.18.2 (cached)
-> retrieved js_of_ocaml.6.0.1, js_of_ocaml-compiler.6.0.1 (cached)
-> retrieved lwt.5.9.1 (cached)
-> retrieved magic-mime.1.3.1 (cached)
-> retrieved mdx.2.5.0 (cached)
-> retrieved menhir.20240715, menhirCST.20240715, menhirLib.20240715, menhirSdk.20240715 (cached)
-> installed cmdliner.1.3.0
-> retrieved mtime.2.1.0 (cached)
-> retrieved multicore-bench.0.1.7 (cached)
-> retrieved multicore-magic.2.3.1, multicore-magic-dscheck.2.3.1 (cached)
-> retrieved ocaml-compiler-libs.v0.17.0 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocaml-version.4.0.0 (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved ohex.0.2.0 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved oseq.0.5.1 (cached)
-> retrieved ppx_sexp_conv.v0.17.0 (cached)
-> retrieved ppxlib_jane.v0.17.2 (cached)
-> retrieved psq.0.2.1 (cached)
-> retrieved ptime.1.2.0 (cached)
-> retrieved qcheck-core.0.25 (cached)
-> retrieved qcheck-multicoretests-util.0.8, qcheck-stm.0.8 (cached)
-> retrieved ppxlib.0.35.0 (cached)
-> retrieved mirage-crypto.2.0.0, mirage-crypto-ec.2.0.0, mirage-crypto-pk.2.0.0, mirage-crypto-rng.2.0.0 (cached)
-> retrieved re.1.12.0 (cached)
-> retrieved result.1.5 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved rresult.0.7.0 (cached)
-> retrieved sedlex.3.4 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved stringext.1.6.0 (cached)
-> retrieved thread-local-storage.0.2 (cached)
-> retrieved thread-table.1.0.0 (cached)
-> retrieved tsort.2.2.0 (cached)
-> retrieved uutf.1.0.4 (cached)
-> retrieved topkg.1.0.8 (cached)
-> retrieved x509.1.0.6 (cached)
-> retrieved uri.4.4.0, uri-sexp.4.4.0 (cached)
-> retrieved yojson.2.2.2 (cached)
-> retrieved zarith.1.14 (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocamlbuild.0.16.1
-> installed zarith.1.14
-> installed topkg.1.0.8
-> installed rresult.0.7.0
-> installed mtime.2.1.0
-> installed uutf.1.0.4
-> installed fmt.0.10.0
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed dune.3.18.2
-> installed backoff.0.1.1
-> installed csexp.1.5.2
-> installed asn1-combinators.0.3.2
-> installed base64.3.5.1
-> installed camlp-streams.5.0.1
-> installed domain-name.0.4.1
-> installed domain_shims.0.1.0
-> installed duration.0.2.1
-> installed either.1.0.0
-> installed eqaf.0.10
-> installed gen.1.1
-> installed gmap.0.3.0
-> installed cppo.1.8.0
-> installed http.6.1.0
-> installed macaddr.5.6.0
-> installed magic-mime.1.3.1
-> installed menhirCST.20240715
-> installed menhirLib.20240715
-> installed menhirSdk.20240715
-> installed multicore-magic.2.3.1
-> installed ocaml-version.4.0.0
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed ohex.0.2.0
-> installed oseq.0.5.1
-> installed ppx_derivers.1.2.1
-> installed psq.0.2.1
-> installed ocaml-syntax-shims.1.0.0
-> installed re.1.12.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed result.1.5
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed stringext.1.6.0
-> installed thread-local-storage.0.2
-> installed thread-table.1.0.0
-> installed tsort.2.2.0
-> installed yojson.2.2.2
-> installed qcheck-core.0.25
-> installed ocplib-endian.1.2
-> installed ipaddr.5.6.0
-> installed domain-local-await.1.0.1
-> installed digestif.1.3.0
-> installed qcheck-multicoretests-util.0.8
-> installed alcotest.1.9.0
-> installed multicore-bench.0.1.7
-> installed qcheck-stm.0.8
-> installed dune-configurator.3.18.2
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed containers.3.15
-> installed mirage-crypto.2.0.0
-> installed dscheck.0.5.0
-> installed multicore-magic-dscheck.2.3.1
-> installed kdf.1.0.0
-> installed uri.4.4.0
-> installed lwt.5.9.1
-> installed base.v0.17.1
-> installed menhir.20240715
-> installed ppxlib.0.35.0
-> installed ppxlib_jane.v0.17.2
-> installed sedlex.3.4
-> installed ppx_sexp_conv.v0.17.0
-> installed uri-sexp.4.4.0
-> installed ipaddr-sexp.5.6.0
-> installed js_of_ocaml-compiler.6.0.1
-> installed logs.0.8.0
-> installed mirage-crypto-rng.2.0.0
-> installed mirage-crypto-pk.2.0.0
-> installed conduit.8.0.0
-> installed cohttp.6.1.0
-> installed mdx.2.5.0
-> installed bos.0.2.1
-> installed conduit-lwt.8.0.0
-> installed cohttp-lwt.6.1.0
-> installed mirage-crypto-ec.2.0.0
-> installed x509.1.0.6
-> installed ca-certs.1.0.1
-> installed conduit-lwt-unix.8.0.0
-> installed cohttp-lwt-unix.6.1.0
-> installed js_of_ocaml.6.0.1
Done.
# To update the current shell environment, run: eval $(opam env)
2025-05-02 17:42.06 ---> using "a243a23bb38fc765a1f131767ffc538b309f7d171e2ed3e480a7a3c38256d7b4" from cache
/src: (copy (src .) (dst /src))
2025-05-02 17:42.06 ---> saved as "c0fcd3b6323f535b31d07f0822e216105d142c9925d0fab0bcd6bc61f372ef79"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/example && ./guards.exe)
Testing with scheduler: fifos ~quota:25
Ran guarded case statement examples.
(cd _build/default/test && ./test_server_and_client.exe)
Using blocking sockets and fibers on OCaml 5:
Recursive server running
Server listening
Client B running
Client B connected
Client B wrote 100
Server accepting
Server accepted client
Server read 100
Server wrote 50
Client A running
Client A connected
Client A wrote 100
Server accepting
Server accepted client
Server read 100
Server wrote 50
Client B read 50
Server accepting
Client A read 50
Server and Client test: OK
(cd _build/default/test && ./test_io.exe)
Testing `Picos_io'.
This run has ID `9PB4I2IC'.
[OK] Unix 0 openfile and read.
[OK] Unix 1 sleepf.
[OK] Unix 2 select empty timeout.
[OK] Unix 3 select empty ∞.
[OK] Unix 4 select.
[OK] Unix 5 system.
Full test results in `/src/_build/default/test/_build/_tests/Picos_io'.
Test Successful in 0.496s. 6 tests run.
(cd _build/default/test && ./test_lwt_unix.exe)
Testing `Picos_lwt'.
This run has ID `1Q0AIJP2'.
[OK] Basics 0
Full test results in `/src/_build/default/test/_build/_tests/Picos_lwt'.
Test Successful in 0.050s. 1 test run.
(cd _build/default/test && ./test_finally.exe)
Testing `Picos_finally'.
This run has ID `ZG7YYPPV'.
[OK] move 0 is lazy.
[OK] borrow 0 returns resource.
Full test results in `/src/_build/default/test/_build/_tests/Picos_finally'.
Test Successful in 0.017s. 2 tests run.
(cd _build/default/test && ./test_io_cohttp.exe)
Uri: //127.0.0.1:49381/hello-io-cohttp
Method: POST
host: 127.0.0.1:49381
user-agent: ocaml-cohttp/v6.1.0
content-length: 17
Body: It's-a-Me, Picos!
(cd _build/default/test && ./test_picos_lwt_unix_with_cohttp.exe)
Uri: //127.0.0.1:8000/hello-lwt
Method: GET
host: 127.0.0.1:8000
user-agent: ocaml-cohttp/v6.1.0
content-length: 0
Body:
(cd _build/default/test && ./test_io_with_lwt.exe)
Testing `Picos_io_with_lwt'.
This run has ID `TF9X6TMU'.
[OK] Unix 0 system.
Full test results in `/src/_build/default/test/_build/_tests/Picos_io_with_lwt'.
Test Successful in 2.117s. 1 test run.
(cd _build/default/test && ./test_structured.exe)
Testing `Picos_structured'.
This run has ID `O05X0YXD'.
[OK] Bundle 0 fork after terminate.
[OK] Bundle 1 fork after escape.
[OK] Bundle 2 exception in child terminates.
[OK] Bundle 3 cancelation awaits children.
[OK] Bundle 4 block raises when forbidden.
[OK] Bundle 5 block raises Sys_error when fiber finishes.
[OK] Bundle 6 termination nests.
[OK] Bundle 7 promise cancelation does not terminate.
[OK] Bundle 8 error in promise terminates.
[OK] Bundle 9 can wait promises.
[OK] Bundle 10 can select promises.
[OK] Run 0 any and all errors.
[OK] Run 1 any and all returns.
[OK] Run 2 race any.
Full test results in `/src/_build/default/test/_build/_tests/Picos_structured'.
Test Successful in 1.054s. 14 tests run.
(cd _build/default/test && ./test_sync.exe -- '^Mutex and Condition$' 0)
Testing `Picos_sync'.
This run has ID `DDU688DI'.
[OK] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.491s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Mutex and Condition$' 1)
Testing `Picos_sync'.
This run has ID `F76BJ8UC'.
[SKIP] Mutex and Condition 0 basics.
[OK] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.016s. 1 test run.
(cd _build/default/test && ./test_select.exe)
Testing `Picos_select'.
This run has ID `3EC2KVJX'.
[OK] Intr 0
Full test results in `/src/_build/default/test/_build/_tests/Picos_select'.
Test Successful in 2.981s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Mutex and Condition$' 2)
Testing `Picos_sync'.
This run has ID `EI4DZOF9'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[OK] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 2.385s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Lock and Lock.Condition$' 0)
Testing `Picos_sync'.
This run has ID `FTS8RKZL'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[OK] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.041s. 1 test run.
(cd _build/default/test && ./test_picos_dscheck.exe)
Testing `Picos DSCheck'.
This run has ID `JWKW928F'.
[OK] Trigger 0 basic contract.
[OK] Computation 0 basic contract.
[OK] Computation 1 removes triggers.
Full test results in `/src/_build/default/test/_build/_tests/Picos DSCheck'.
Test Successful in 2.520s. 3 tests run.
(cd _build/default/test && ./test_mpmcq_dscheck.exe)
Testing `Picos_mpmcq DSCheck'.
This run has ID `ES2L0G8R'.
[OK] Multiple pushes and pops 0
Full test results in `/src/_build/default/test/_build/_tests/Picos_mpmcq DSCheck'.
Test Successful in 6.010s. 1 test run.
(cd _build/default/test && /usr/bin/node test_js_of_ocaml.bc.js)
Hello, from js_of_ocaml with Picos!
(cd _build/default/bench && ./main.exe -brief 'Picos Computation')
Picos Computation:
attach detach pairs over time/1 worker:
1.30 M/s
attach detach pairs over time/2 workers:
1.22 M/s
attach detach pairs over time/4 workers:
0.96 M/s
attach detach pairs over time/trivial:
0.79 M/s
time per attach detach pair/1 worker:
766.29 ns
time per attach detach pair/2 workers:
1632.82 ns
time per attach detach pair/4 workers:
4174.06 ns
time per attach detach pair/trivial:
1264.56 ns
(cd _build/default/bench && ./main.exe -brief 'Picos Current')
Picos Current:
ops over time/1 worker:
5.97 M/s
ops over time/2 workers:
5.48 M/s
ops over time/4 workers:
6.31 M/s
time per op/1 worker:
167.51 ns
time per op/2 workers:
365.18 ns
time per op/4 workers:
634.06 ns
(cd _build/default/bench && ./main.exe -brief 'Picos FLS (excluding Current)')
Picos FLS (excluding Current):
gets over time/1 worker:
45.10 M/s
gets over time/2 workers:
194.29 M/s
gets over time/4 workers:
199.44 M/s
sets over time/1 worker:
45.14 M/s
sets over time/2 workers:
52.92 M/s
sets over time/4 workers:
122.17 M/s
time per get/1 worker:
22.17 ns
time per get/2 workers:
10.29 ns
time per get/4 workers:
20.06 ns
time per set/1 worker:
22.15 ns
time per set/2 workers:
37.79 ns
time per set/4 workers:
32.74 ns
(cd _build/default/test && ./test_schedulers.exe)
Testing with scheduler: multififos ~quota:54 ~n_domains:23
Fairness of 100 fibers performing at least 10000 yields:
sd: 0.429272 -- ideally 0
mean: 2.148725 -- ideally 1
median: 2.123150 -- ideally 1
Testing `Picos schedulers'.
This run has ID `LASNC1KC'.
[OK] Trivial main returns 0
[OK] Scheduler completes main computation 0
[OK] Current 0
[OK] Cancel_after 0 basic.
[OK] Cancel_after 1 long timeout.
[OK] Operation on canceled fiber raises 0
[OK] Cross scheduler wakeup 0
[OK] Fatal exception terminates scheduler 0
Full test results in `/src/_build/default/test/_build/_tests/Picos schedulers'.
Test Successful in 26.563s. 8 tests run.
Thread 138 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 200 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 183 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 126 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 137 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 193 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 217 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 178 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 160 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 155 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 179 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 129 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
Thread 157 killed on uncaught exception Failure("fatal")
Raised at Dune__exe__Test_schedulers.test_fatal.fatal_exn_handler in file "test/test_schedulers.ml", line 117, characters 6-15
Called from Thread.create.(fun) in file "thread.ml", line 48, characters 8-14
(cd _build/default/test && ./test_sync.exe -- '^Lock and Lock.Condition$' 1)
Testing `Picos_sync'.
This run has ID `QO9JYGID'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[OK] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 23.272s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Lock and Lock.Condition$' 2)
Testing `Picos_sync'.
This run has ID `TCJHXP0W'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[OK] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.021s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Lock and Lock.Condition$' 3)
Testing `Picos_sync'.
This run has ID `GFRO0M2F'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[OK] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.013s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Rwlock and Rwlock.Condition$' 0)
Testing `Picos_sync'.
This run has ID `OQ5WL1VT'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[OK] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.002s. 1 test run.
(cd _build/default/bench && ./main.exe -brief 'Picos TLS')
Picos TLS:
gets over time/1 worker:
76.26 M/s
gets over time/2 workers:
138.14 M/s
gets over time/4 workers:
90.38 M/s
sets over time/1 worker:
39.04 M/s
sets over time/2 workers:
74.80 M/s
sets over time/4 workers:
73.11 M/s
time per get/1 worker:
13.11 ns
time per get/2 workers:
14.48 ns
time per get/4 workers:
44.26 ns
time per set/1 worker:
25.62 ns
time per set/2 workers:
26.74 ns
time per set/4 workers:
54.71 ns
(cd _build/default/bench && ./main.exe -brief 'Picos DLS')
Picos DLS:
gets over time/1 worker:
59.79 M/s
gets over time/2 workers:
55.57 M/s
gets over time/4 workers:
107.49 M/s
sets over time/1 worker:
30.86 M/s
sets over time/2 workers:
37.00 M/s
sets over time/4 workers:
154.06 M/s
time per get/1 worker:
16.72 ns
time per get/2 workers:
35.99 ns
time per get/4 workers:
37.21 ns
time per set/1 worker:
32.41 ns
time per set/2 workers:
54.06 ns
time per set/4 workers:
25.96 ns
(cd _build/default/test && ./test_sync.exe -- '^Rwlock and Rwlock.Condition$' 1)
Testing `Picos_sync'.
This run has ID `IJIWUN3Q'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[OK] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 8.286s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Rwlock and Rwlock.Condition$' 2)
Testing `Picos_sync'.
This run has ID `CF0OCZE7'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[OK] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.036s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Rwlock and Rwlock.Condition$' 3)
Testing `Picos_sync'.
This run has ID `2C8L2M05'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[OK] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.002s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Rwlock and Rwlock.Condition$' 4)
Testing `Picos_sync'.
This run has ID `PNRC1ZKK'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[OK] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.005s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Rwlock and Rwlock.Condition$' 5)
Testing `Picos_sync'.
This run has ID `T8FMVY5D'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[OK] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.003s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Rwlock and Rwlock.Condition$' 6)
Testing `Picos_sync'.
This run has ID `N460ZPXJ'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[OK] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.006s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Semaphore$ 0)
Testing `Picos_sync'.
This run has ID `U3U2T5JK'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[OK] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.013s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Semaphore$ 1)
Testing `Picos_sync'.
This run has ID `S5P3UI13'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[OK] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.808s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Sem$ 0)
Testing `Picos_sync'.
This run has ID `K618KU94'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[OK] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.004s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Sem$ 1)
Testing `Picos_sync'.
This run has ID `MK2ZRNZO'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[OK] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 1.337s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Sem$ 2)
Testing `Picos_sync'.
This run has ID `7VQDY3K0'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[OK] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.045s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Sem$ 3)
Testing `Picos_sync'.
This run has ID `RHZF1BRU'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[OK] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.001s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Lazy$ 0)
Testing `Picos_sync'.
This run has ID `B3N43COB'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[OK] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.001s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Lazy$ 1)
Testing `Picos_sync'.
This run has ID `XV5NXFA5'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.
ondition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[OK] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.001s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Event$ 0)
Testing `Picos_sync'.
This run has ID `M90BZG0Y'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[OK] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.101s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Barrier$ 0)
Testing `Picos_sync'.
This run has ID `97L6QLAV'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[OK] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.003s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- ^Barrier$ 1)
Testing `Picos_sync'.
This run has ID `G3K96KKF'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[OK] Barrier 1 poisoning.
[SKIP] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.011s. 1 test run.
(cd _build/default/test && ./test_sync.exe -- '^Non-cancelable ops$' 0)
Testing `Picos_sync'.
This run has ID `4O9O8NH3'.
[SKIP] Mutex and Condition 0 basics.
[SKIP] Mutex and Condition 1 errors.
[SKIP] Mutex and Condition 2 cancelation.
[SKIP] Lock and Lock.Condition 0 basics.
[SKIP] Lock and Lock.Condition 1 cancelation.
[SKIP] Lock and Lock.Condition 2 poisoning.
[SKIP] Lock and Lock.Condition 3 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 0 basics.
[SKIP] Rwlock and Rwlock.Condition 1 cancelation.
[SKIP] Rwlock and Rwlock.Condition 2 poisoning.
[SKIP] Rwlock and Rwlock.Condition 3 freezing.
[SKIP] Rwlock and Rwlock.Condition 4 try_acquire.
[SKIP] Rwlock and Rwlock.Condition 5 try_acquire_shared.
[SKIP] Rwlock and Rwlock.Condition 6 sharing.
[SKIP] Semaphore 0 basics.
[SKIP] Semaphore 1 stress.
[SKIP] Sem 0 basics.
[SKIP] Sem 1 stress.
[SKIP] Sem 2 poisoning.
[SKIP] Sem 3 try_acquire.
[SKIP] Lazy 0 basics.
[SKIP] Lazy 1 cancelation.
[SKIP] Event 0 basics.
[SKIP] Barrier 0 basics.
[SKIP] Barrier 1 poisoning.
[OK] Non-cancelable ops 0 are not canceled.
Full test results in `/src/_build/default/test/_build/_tests/Picos_sync'.
Test Successful in 0.015s. 1 test run.
(cd _build/default/test && ./test_picos.exe)
Testing `Picos'.
This run has ID `OFAYBKB1'.
[OK] Trigger 0 basics.
[OK] Computation 0 basics.
[OK] Computation 1 tx.
[OK] Computation 2 signals in order.
[OK] Fiber.FLS 0 basics.
[OK] Cancel 0
[OK] Cancel after 0
Full test results in `/src/_build/default/test/_build/_tests/Picos'.
Test Successful in 49.002s. 7 tests run.
(cd _build/default/bench && ./main.exe -brief 'Yield with Picos_std_sync')
Yield with Picos_std_sync:
locked yields over time/1024 fibers with Lock:
0.68 M/s
locked yields over time/1024 fibers with Rwlock:
0.20 M/s
locked yields over time/1024 fibers with Sem:
0.61 M/s
locked yields over time/1024 fibers with Sem 2:
1.25 M/s
locked yields over time/1024 fibers with Sem 3:
0.91 M/s
locked yields over time/1024 fibers with Sem 4:
0.92 M/s
locked yields over time/1 fiber with Lock:
3.46 M/s
locked yields over time/1 fiber with Rwlock:
4.35 M/s
locked yields over time/1 fiber with Sem:
2.88 M/s
locked yields over time/1 fiber with Sem 2:
4.00 M/s
locked yields over time/1 fiber with Sem 3:
4.22 M/s
locked yields over time/1 fiber with Sem 4:
1.92 M/s
locked yields over time/256 fibers with Lock:
0.40 M/s
locked yields over time/256 fibers with Rwlock:
0.23 M/s
locked yields over time/256 fibers with Sem:
0.44 M/s
locked yields over time/256 fibers with Sem 2:
1.01 M/s
locked yields over time/256 fibers with Sem 3:
1.31 M/s
locked yields over time/256 fibers with Sem 4:
1.42 M/s
locked yields over time/2 domains with Lock:
1.02 M/s
locked yields over time/2 domains with Rwlock:
0.99 M/s
locked yields over time/2 domains with Sem:
0.85 M/s
locked yields over time/2 domains with Sem 2:
4.92 M/s
locked yields over time/2 domains with Sem 3:
4.04 M/s
locked yields over time/2 domains with Sem 4:
4.98 M/s
locked yields over time/2 fibers with Lock:
0.77 M/s
locked yields over time/2 fibers with Rwlock:
0.79 M/s
locked yields over time/2 fibers with Sem:
0.24 M/s
locked yields over time/2 fibers with Sem 2:
3.14 M/s
locked yields over time/2 fibers with Sem 3:
4.27 M/s
locked yields over time/2 fibers with Sem 4:
4.20 M/s
locked yields over time/3 domains with Lock:
0.99 M/s
locked yields over time/3 domains with Rwlock:
0.96 M/s
locked yields over time/3 domains with Sem:
1.23 M/s
locked yields over time/3 domains with Sem 2:
2.93 M/s
locked yields over time/3 domains with Sem 3:
1.72 M/s
locked yields over time/3 domains with Sem 4:
6.25 M/s
locked yields over time/3 fibers with Lock:
0.28 M/s
locked yields over time/3 fibers with Rwlock:
0.57 M/s
locked yields over time/3 fibers with Sem:
0.47 M/s
locked yields over time/3 fibers with Sem 2:
1.32 M/s
locked yields over time/3 fibers with Sem 3:
1.24 M/s
locked yields over time/3 fibers with Sem 4:
3.99 M/s
locked yields over time/4 domains with Lock:
1.09 M/s
locked yields over time/4 domains with Rwlock:
1.02 M/s
locked yields over time/4 domains with Sem:
1.19 M/s
locked yields over time/4 domains with Sem 2:
2.58 M/s
locked yields over time/4 domains with Sem 3:
4.61 M/s
locked yields over time/4 domains with Sem 4:
9.06 M/s
locked yields over time/4 fibers with Lock:
0.25 M/s
locked yields over time/4 fibers with Rwlock:
0.44 M/s
locked yields over time/4 fibers with Sem:
0.31 M/s
locked yields over time/4 fibers with Sem 2:
0.49 M/s
locked yields over time/4 fibers with Sem 3:
1.65 M/s
locked yields over time/4 fibers with Sem 4:
3.53 M/s
locked yields over time/512 fibers with Lock:
0.73 M/s
locked yields over time/512 fibers with Rwlock:
0.24 M/s
locked yields over time/512 fibers with Sem:
0.31 M/s
locked yields over time/512 fibers with Sem 2:
1.08 M/s
locked yields over time/512 fibers with Sem 3:
1.05 M/s
locked yields over time/512 fibers with Sem 4:
1.22 M/s
locked yields over time/8 domains with Lock:
1.14 M/s
locked yields over time/8 domains with Rwlock:
1.11 M/s
locked yields over time/8 domains with Sem:
1.35 M/s
locked yields over time/8 domains with Sem 2:
1.62 M/s
locked yields over time/8 domains with Sem 3:
3.10 M/s
locked yields over time/8 domains with Sem 4:
4.91 M/s
locked yields over time/8 fibers with Lock:
0.16 M/s
locked yields over time/8 fibers with Rwlock:
0.37 M/s
locked yields over time/8 fibers with Sem:
0.55 M/s
locked yields over time/8 fibers with Sem 2:
1.32 M/s
locked yields over time/8 fibers with Sem 3:
1.03 M/s
locked yields over time/8 fibers with Sem 4:
1.57 M/s
time per locked yield/1024 fibers with Lock:
1474.93 ns
time per locked yield/1024 fibers with Rwlock:
5105.54 ns
time per locked yield/1024 fibers with Sem:
1627.50 ns
time per locked yield/1024 fibers with Sem 2:
800.22 ns
time per locked yield/1024 fibers with Sem 3:
1093.81 ns
time per locked yield/1024 fibers with Sem 4:
1089.37 ns
time per locked yield/1 fiber with Lock:
289.29 ns
time per locked yield/1 fiber with Rwlock:
229.91 ns
time per locked yield/1 fiber with Sem:
347.06 ns
time per locked yield/1 fiber with Sem 2:
250.23 ns
time per locked yield/1 fiber with Sem 3:
236.81 ns
time per locked yield/1 fiber with Sem 4:
520.36 ns
time per locked yield/256 fibers with Lock:
2508.05 ns
time per locked yield/256 fibers with Rwlock:
4327.52 ns
time per locked yield/256 fibers with Sem:
2294.55 ns
time per locked yield/256 fibers with Sem 2:
991.02 ns
time per locked yield/256 fibers with Sem 3:
761.29 ns
time per locked yield/256 fibers with Sem 4:
705.41 ns
time per locked yield/2 domains with Lock:
1968.49 ns
time per locked yield/2 domains with Rwlock:
2024.07 ns
time per locked yield/2 domains with Sem:
2349.55 ns
time per locked yield/2 domains with Sem 2:
406.16 ns
time per locked yield/2 domains with Sem 3:
495.02 ns
time per locked yield/2 domains with Sem 4:
401.82 ns
time per locked yield/2 fibers with Lock:
1302.48 ns
time per locked yield/2 fibers with Rwlock:
1273.41 ns
time per locked yield/2 fibers with Sem:
4173.05 ns
time per locked yield/2 fibers with Sem 2:
318.70 ns
time per locked yield/2 fibers with Sem 3:
234.41 ns
time per locked yield/2 fibers with Sem 4:
237.98 ns
time per locked yield/3 domains with Lock:
3034.27 ns
time per locked yield/3 domains with Rwlock:
3140.04 ns
time per locked yield/3 domains with Sem:
2464.03 ns
time per locked yield/3 domains with Sem 2:
1024.67 ns
time per locked yield/3 domains with Sem 3:
1742.38 ns
time per locked yield/3 domains with Sem 4:
479.69 ns
time per locked yield/3 fibers with Lock:
3620.96 ns
time per locked yield/3 fibers with Rwlock:
1764.91 ns
time per locked yield/3 fibers with Sem:
2131.83 ns
time per locked yield/3 fibers with Sem 2:
758.27 ns
time per locked yield/3 fibers with Sem 3:
803.29 ns
time per locked yield/3 fibers with Sem 4:
250.64 ns
time per locked yield/4 domains with Lock:
3662.12 ns
time per locked yield/4 domains with Rwlock:
3931.11 ns
time per locked yield/4 domains with Sem:
3348.05 ns
time per locked yield/4 domains with Sem 2:
1552.89 ns
time per locked yield/4 domains with Sem 3:
867.48 ns
time per locked yield/4 domains with Sem 4:
441.37 ns
time per locked yield/4 fibers with Lock:
4066.06 ns
time per locked yield/4 fibers with Rwlock:
2248.61 ns
time per locked yield/4 fibers with Sem:
3204.83 ns
time per locked yield/4 fibers with Sem 2:
2061.12 ns
time per locked yield/4 fibers with Sem 3:
606.85 ns
time per locked yield/4 fibers with Sem 4:
283.37 ns
time per locked yield/512 fibers with Lock:
1370.18 ns
time per locked yield/512 fibers with Rwlock:
4195.12 ns
time per locked yield/512 fibers with Sem:
3236.61 ns
time per locked yield/512 fibers with Sem 2:
927.46 ns
time per locked yield/512 fibers with Sem 3:
955.65 ns
time per locked yield/512 fibers with Sem 4:
822.28 ns
time per locked yield/8 domains with Lock:
7006.64 ns
time per locked yield/8 domains with Rwlock:
7222.03 ns
time per locked yield/8 domains with Sem:
5927.89 ns
time per locked yield/8 domains with Sem 2:
4953.04 ns
time per locked yield/8 domains with Sem 3:
2579.43 ns
time per locked yield/8 domains with Sem 4:
1629.13 ns
time per locked yield/8 fibers with Lock:
6336.76 ns
time per locked yield/8 fibers with Rwlock:
2696.42 ns
time per locked yield/8 fibers with Sem:
1807.97 ns
time per locked yield/8 fibers with Sem 2:
758.50 ns
time per locked yield/8 fibers with Sem 3:
973.79 ns
time per locked yield/8 fibers with Sem 4:
637.98 ns
(cd _build/default/bench && ./main.exe -brief 'Picos Spawn')
Picos Spawn:
spawns over time/with packed computation:
5.30 M/s
time per spawn/with packed computation:
188.74 ns
(cd _build/default/bench && ./main.exe -brief 'Picos Yield')
Picos Yield:
time per yield/10000 fibers:
282.78 ns
time per yield/1000 fibers:
206.10 ns
time per yield/100 fibers:
184.57 ns
time per yield/10 fibers:
148.03 ns
time per yield/1 fiber:
186.27 ns
yields over time/10000 fibers:
3.54 M/s
yields over time/1000 fibers:
4.85 M/s
yields over time/100 fibers:
5.42 M/s
yields over time/10 fibers:
6.76 M/s
yields over time/1 fiber:
5.37 M/s
(cd _build/default/bench && ./main.exe -brief 'Picos Cancel_after with Picos_select')
Picos Cancel_after with Picos_select:
async round-trips over time/1 worker:
0.23 M/s
async round-trips over time/2 workers:
0.21 M/s
async round-trips over time/4 workers:
0.52 M/s
round-trips over time/1 worker:
0.06 M/s
round-trips over time/2 workers:
0.09 M/s
round-trips over time/4 workers:
0.20 M/s
time per async round-trip/1 worker:
4391.30 ns
time per async round-trip/2 workers:
9682.99 ns
time per async round-trip/4 workers:
7654.42 ns
time per round-trip/1 worker:
17194.94 ns
time per round-trip/2 workers:
21476.68 ns
time per round-trip/4 workers:
20134.29 ns
(cd _build/default/bench && ./main.exe -brief 'Ref with Picos_std_sync')
Ref with Picos_std_sync:
ops over time/cas int with Lock:
27.19 M/s
ops over time/cas int with Rwlock:
16.23 M/s
ops over time/cas int with Sem:
21.12 M/s
ops over time/get with Lock:
29.47 M/s
ops over time/get with Rwlock:
31.31 M/s
ops over time/get with Sem:
27.91 M/s
ops over time/incr with Lock:
29.48 M/s
ops over time/incr with Rwlock:
30.57 M/s
ops over time/incr with Sem:
25.57 M/s
ops over time/push & pop with Lock:
21.43 M/s
ops over time/push & pop with Rwlock:
17.32 M/s
ops over time/push & pop with Sem:
19.37 M/s
ops over time/swap with Lock:
24.72 M/s
ops over time/swap with Rwlock:
27.62 M/s
ops over time/swap with Sem:
24.42 M/s
ops over time/xchg int with Lock:
27.01 M/s
ops over time/xchg int with Rwlock:
22.88 M/s
ops over time/xchg int with Sem:
23.68 M/s
time per op/cas int with Lock:
36.78 ns
time per op/cas int with Rwlock:
61.62 ns
time per op/cas int with Sem:
47.35 ns
time per op/get with Lock:
33.93 ns
time per op/get with Rwlock:
31.94 ns
time per op/get with Sem:
35.83 ns
time per op/incr with Lock:
33.92 ns
time per op/incr with Rwlock:
32.71 ns
time per op/incr with Sem:
39.11 ns
time per op/push & pop with Lock:
46.66 ns
time per op/push & pop with Rwlock:
57.73 ns
time per op/push & pop with Sem:
51.63 ns
time per op/swap with Lock:
40.45 ns
time per op/swap with Rwlock:
36.20 ns
time per op/swap with Sem:
40.95 ns
time per op/xchg int with Lock:
37.03 ns
time per op/xchg int with Rwlock:
43.71 ns
time per op/xchg int with Sem:
42.23 ns
(cd _build/default/bench && ./main.exe -brief Picos_mpmcq)
Picos_mpmcq:
messages over time/1 nb adder, 1 nb taker:
25.48 M/s
messages over time/1 nb adder, 2 nb takers:
13.63 M/s
messages over time/1 nb adder, 4 nb takers:
8.95 M/s
messages over time/2 nb adders, 1 nb taker:
16.94 M/s
messages over time/2 nb adders, 2 nb takers:
16.59 M/s
messages over time/2 nb adders, 4 nb takers:
15.68 M/s
messages over time/4 nb adders, 1 nb taker:
5.91 M/s
messages over time/4 nb adders, 2 nb takers:
8.68 M/s
messages over time/4 nb adders, 4 nb takers:
13.73 M/s
messages over time/one domain:
15.50 M/s
time per message/1 nb adder, 1 nb taker:
78.48 ns
time per message/1 nb adder, 2 nb takers:
220.14 ns
time per message/1 nb adder, 4 nb takers:
558.63 ns
time per message/2 nb adders, 1 nb taker:
177.10 ns
time per message/2 nb adders, 2 nb takers:
241.04 ns
time per message/2 nb adders, 4 nb takers:
382.59 ns
time per message/4 nb adders, 1 nb taker:
846.26 ns
time per message/4 nb adders, 2 nb takers:
691.04 ns
time per message/4 nb adders, 4 nb takers:
582.77 ns
time per message/one domain:
64.53 ns
(cd _build/default/test && ./test_rwlock.exe)
random seed: 1449051134579809935
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Rwlock sequential
[ ] 0 0 0 0 / 32 0.0s Rwlock sequential (generating)
[✓] 32 0 0 32 / 32 0.0s Rwlock sequential
[ ] 0 0 0 0 / 32 0.0s Rwlock parallel
[ ] 1 0 0 1 / 32 1.4s Rwlock parallel
[ ] 2 0 0 2 / 32 2.4s Rwlock parallel
[ ] 3 0 0 3 / 32 3.5s Rwlock parallel
[ ] 4 0 0 4 / 32 4.2s Rwlock parallel
[ ] 5 0 0 5 / 32 5.4s Rwlock parallel
[ ] 6 0 0 6 / 32 6.6s Rwlock parallel
[ ] 7 0 0 7 / 32 8.3s Rwlock parallel
[ ] 8 0 0 8 / 32 9.2s Rwlock parallel
[ ] 9 0 0 9 / 32 9.7s Rwlock parallel
[ ] 10 0 0 10 / 32 10.4s Rwlock parallel
[ ] 11 0 0 11 / 32 11.1s Rwlock parallel
[ ] 12 0 0 12 / 32 11.9s Rwlock parallel
[ ] 13 0 0 13 / 32 12.8s Rwlock parallel
[ ] 14 0 0 14 / 32 13.7s Rwlock parallel
[ ] 15 0 0 15 / 32 14.6s Rwlock parallel
[ ] 16 0 0 16 / 32 15.8s Rwlock parallel
[ ] 17 0 0 17 / 32 17.0s Rwlock parallel
[ ] 18 0 0 18 / 32 17.9s Rwlock parallel
[ ] 19 0 0 19 / 32 18.4s Rwlock parallel
[ ] 20 0 0 20 / 32 19.6s Rwlock parallel
[ ] 21 0 0 21 / 32 20.6s Rwlock parallel
[ ] 22 0 0 22 / 32 21.2s Rwlock parallel
[ ] 23 0 0 23 / 32 21.7s Rwlock parallel
[ ] 24 0 0 24 / 32 22.0s Rwlock parallel
[ ] 25 0 0 25 / 32 22.4s Rwlock parallel
[ ] 26 0 0 26 / 32 23.2s Rwlock parallel
[ ] 27 0 0 27 / 32 23.9s Rwlock parallel
[ ] 28 0 0 28 / 32 24.5s Rwlock parallel
[ ] 29 0 0 29 / 32 25.0s Rwlock parallel
[ ] 30 0 0 30 / 32 25.2s Rwlock parallel
[ ] 31 0 0 31 / 32 25.5s Rwlock parallel
[ ] 32 0 0 32 / 32 25.8s Rwlock parallel
[✓] 32 0 0 32 / 32 25.8s Rwlock parallel
================================================================================
success (ran 2 tests)
random seed: 536222154897840387
generated error fail pass / total time test name
[ ] 0 0 0 0 / 42 0.0s Rwlock sequential
[✓] 42 0 0 42 / 42 0.0s Rwlock sequential
[ ] 0 0 0 0 / 42 0.0s Rwlock parallel
[ ] 1 0 0 1 / 42 0.5s Rwlock parallel
[ ] 2 0 0 2 / 42 1.0s Rwlock parallel
[ ] 3 0 0 3 / 42 1.4s Rwlock parallel
[ ] 4 0 0 4 / 42 1.7s Rwlock parallel
[ ] 5 0 0 5 / 42 2.3s Rwlock parallel
[ ] 6 0 0 6 / 42 3.0s Rwlock parallel
[ ] 7 0 0 7 / 42 3.6s Rwlock parallel
[ ] 8 0 0 8 / 42 4.2s Rwlock parallel
[ ] 9 0 0 9 / 42 4.8s Rwlock parallel
[ ] 10 0 0 10 / 42 5.4s Rwlock parallel
[ ] 11 0 0 11 / 42 6.0s Rwlock parallel
[ ] 12 0 0 12 / 42 6.5s Rwlock parallel
[ ] 13 0 0 13 / 42 7.1s Rwlock parallel
[ ] 14 0 0 14 / 42 7.8s Rwlock parallel
[ ] 15 0 0 15 / 42 8.1s Rwlock parallel
[ ] 16 0 0 16 / 42 8.3s Rwlock parallel
[ ] 17 0 0 17 / 42 8.6s Rwlock parallel
[ ] 18 0 0 18 / 42 8.9s Rwlock parallel
[ ] 19 0 0 19 / 42 9.9s Rwlock parallel
[ ] 20 0 0 20 / 42 10.3s Rwlock parallel
[ ] 21 0 0 21 / 42 11.0s Rwlock parallel
[ ] 22 0 0 22 / 42 11.4s Rwlock parallel
[ ] 23 0 0 23 / 42 11.9s Rwlock parallel
[ ] 24 0 0 24 / 42 12.3s Rwlock parallel
[ ] 25 0 0 25 / 42 12.6s Rwlock parallel
[ ] 27 0 0 27 / 42 12.8s Rwlock parallel
[ ] 32 0 0 32 / 42 12.9s Rwlock parallel
[ ] 35 0 0 35 / 42 13.1s Rwlock parallel
[ ] 36 0 0 36 / 42 13.5s Rwlock parallel
[ ] 37 0 0 37 / 42 13.7s Rwlock parallel
[ ] 38 0 0 38 / 42 13.8s Rwlock parallel
[ ] 39 0 0 39 / 42 14.2s Rwlock parallel
[ ] 40 0 0 40 / 42 14.4s Rwlock parallel
[ ] 41 0 0 41 / 42 14.5s Rwlock parallel
[ ] 42 0 0 42 / 42 14.7s Rwlock parallel
[✓] 42 0 0 42 / 42 14.7s Rwlock parallel
================================================================================
success (ran 2 tests)
random seed: 2228362237905231414
generated error fail pass / total time test name
[ ] 0 0 0 0 / 35 0.0s Rwlock sequential
[✓] 35 0 0 35 / 35 0.0s Rwlock sequential
[ ] 0 0 0 0 / 35 0.0s Rwlock parallel
[ ] 1 0 0 1 / 35 0.2s Rwlock parallel
[ ] 2 0 0 2 / 35 0.3s Rwlock parallel
[ ] 3 0 0 3 / 35 0.5s Rwlock parallel
[ ] 5 0 0 5 / 35 0.7s Rwlock parallel
[ ] 6 0 0 6 / 35 0.9s Rwlock parallel
[ ] 7 0 0 7 / 35 1.0s Rwlock parallel
[ ] 8 0 0 8 / 35 1.2s Rwlock parallel
[ ] 9 0 0 9 / 35 1.6s Rwlock parallel
[ ] 10 0 0 10 / 35 1.8s Rwlock parallel
[ ] 11 0 0 11 / 35 2.1s Rwlock parallel
[ ] 12 0 0 12 / 35 2.3s Rwlock parallel
[ ] 13 0 0 13 / 35 2.9s Rwlock parallel
[ ] 14 0 0 14 / 35 3.6s Rwlock parallel
[ ] 15 0 0 15 / 35 3.9s Rwlock parallel
[ ] 16 0 0 16 / 35 4.5s Rwlock parallel
[ ] 19 0 0 19 / 35 4.7s Rwlock parallel
[ ] 20 0 0 20 / 35 4.8s Rwlock parallel
[ ] 22 0 0 22 / 35 4.9s Rwlock parallel
[ ] 23 0 0 23 / 35 5.0s Rwlock parallel
[ ] 24 0 0 24 / 35 5.4s Rwlock parallel
[ ] 25 0 0 25 / 35 5.7s Rwlock parallel
[ ] 26 0 0 26 / 35 6.0s Rwlock parallel
[ ] 27 0 0 27 / 35 6.2s Rwlock parallel
[ ] 28 0 0 28 / 35 6.4s Rwlock parallel
[ ] 29 0 0 29 / 35 6.7s Rwlock parallel
[ ] 30 0 0 30 / 35 6.9s Rwlock parallel
[ ] 31 0 0 31 / 35 7.2s Rwlock parallel
[ ] 32 0 0 32 / 35 7.4s Rwlock parallel
[ ] 34 0 0 34 / 35 7.8s Rwlock parallel
[ ] 35 0 0 35 / 35 8.4s Rwlock parallel
[✓] 35 0 0 35 / 35 8.4s Rwlock parallel
================================================================================
success (ran 2 tests)
random seed: 3729376128765460632
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Rwlock sequential
[✓] 32 0 0 32 / 32 0.0s Rwlock sequential
[ ] 0 0 0 0 / 32 0.0s Rwlock parallel
[ ] 1 0 0 1 / 32 0.1s Rwlock parallel
[ ] 4 0 0 4 / 32 0.7s Rwlock parallel
[ ] 6 0 0 6 / 32 0.9s Rwlock parallel
[ ] 7 0 0 7 / 32 1.3s Rwlock parallel
[ ] 13 0 0 13 / 32 1.6s Rwlock parallel
[ ] 20 0 0 20 / 32 1.7s Rwlock parallel
[ ] 26 0 0 26 / 32 1.9s Rwlock parallel
[ ] 28 0 0 28 / 32 2.6s Rwlock parallel
[ ] 30 0 0 30 / 32 2.7s Rwlock parallel
[ ] 32 0 0 32 / 32 2.8s Rwlock parallel
[✓] 32 0 0 32 / 32 2.8s Rwlock parallel
================================================================================
success (ran 2 tests)
random seed: 917165031123475928
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Rwlock sequential
[✓] 32 0 0 32 / 32 0.0s Rwlock sequential
[ ] 0 0 0 0 / 32 0.0s Rwlock parallel
[ ] 3 0 0 3 / 32 0.1s Rwlock parallel
[ ] 10 0 0 10 / 32 0.2s Rwlock parallel
[ ] 15 0 0 15 / 32 0.3s Rwlock parallel
[ ] 18 0 0 18 / 32 0.5s Rwlock parallel
[ ] 20 0 0 20 / 32 0.8s Rwlock parallel
[ ] 25 0 0 25 / 32 1.0s Rwlock parallel
[ ] 30 0 0 30 / 32 1.1s Rwlock parallel
[✓] 32 0 0 32 / 32 1.2s Rwlock parallel
================================================================================
success (ran 2 tests)
random seed: 2652523770956298973
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Rwlock sequential
[✓] 32 0 0 32 / 32 0.0s Rwlock sequential
[ ] 0 0 0 0 / 32 0.0s Rwlock parallel
[ ] 2 0 0 2 / 32 0.0s Rwlock parallel
[ ] 5 0 0 5 / 32 0.3s Rwlock parallel
[ ] 11 0 0 11 / 32 0.4s Rwlock parallel
[ ] 18 0 0 18 / 32 0.5s Rwlock parallel
[ ] 24 0 0 24 / 32 0.6s Rwlock parallel
[ ] 31 0 0 31 / 32 0.7s Rwlock parallel
[✓] 32 0 0 32 / 32 0.7s Rwlock parallel
================================================================================
success (ran 2 tests)
random seed: 662134684562498007
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Rwlock sequential
[✓] 32 0 0 32 / 32 0.0s Rwlock sequential
[ ] 0 0 0 0 / 32 0.0s Rwlock parallel
[ ] 3 0 0 3 / 32 0.1s Rwlock parallel
[ ] 8 0 0 8 / 32 0.3s Rwlock parallel
[ ] 14 0 0 14 / 32 0.5s Rwlock parallel
[ ] 16 0 0 16 / 32 0.7s Rwlock parallel
[ ] 20 0 0 20 / 32 0.8s Rwlock parallel
[ ] 23 0 0 23 / 32 0.9s Rwlock parallel
[✓] 32 0 0 32 / 32 1.0s Rwlock parallel
================================================================================
success (ran 2 tests)
random seed: 2980773955999321411
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Rwlock sequential
[✓] 32 0 0 32 / 32 0.0s Rwlock sequential
[ ] 0 0 0 0 / 32 0.0s Rwlock parallel
[ ] 1 0 0 1 / 32 0.0s Rwlock parallel
[ ] 5 0 0 5 / 32 0.3s Rwlock parallel
[ ] 6 0 0 6 / 32 0.4s Rwlock parallel
[ ] 8 0 0 8 / 32 0.6s Rwlock parallel
[ ] 10 0 0 10 / 32 1.4s Rwlock parallel
[ ] 11 0 0 11 / 32 1.7s Rwlock parallel
[ ] 12 0 0 12 / 32 1.8s Rwlock parallel
[ ] 13 0 0 13 / 32 2.0s Rwlock parallel
[ ] 16 0 0 16 / 32 2.2s Rwlock parallel
[ ] 18 0 0 18 / 32 2.3s Rwlock parallel
[ ] 21 0 0 21 / 32 2.7s Rwlock parallel
[ ] 27 0 0 27 / 32 2.8s Rwlock parallel
[ ] 28 0 0 28 / 32 3.0s Rwlock parallel
[✓] 32 0 0 32 / 32 3.1s Rwlock parallel
================================================================================
success (ran 2 tests)
random seed: 1619066478569995721
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Rwlock sequential
[✓] 32 0 0 32 / 32 0.0s Rwlock sequential
[ ] 0 0 0 0 / 32 0.0s Rwlock parallel
[ ] 3 0 0 3 / 32 0.0s Rwlock parallel
[ ] 10 0 0 10 / 32 0.2s Rwlock parallel
[ ] 13 0 0 13 / 32 0.5s Rwlock parallel
[ ] 14 0 0 14 / 32 0.7s Rwlock parallel
[ ] 15 0 0 15 / 32 1.1s Rwlock parallel
[ ] 16 0 0 16 / 32 1.2s Rwlock parallel
[ ] 17 0 0 17 / 32 1.4s Rwlock parallel
[ ] 22 0 0 22 / 32 1.8s Rwlock parallel
[ ] 24 0 0 24 / 32 1.9s Rwlock parallel
[ ] 27 0 0 27 / 32 2.3s Rwlock parallel
[ ] 32 0 0 32 / 32 2.5s Rwlock parallel
[✓] 32 0 0 32 / 32 2.5s Rwlock parallel
================================================================================
success (ran 2 tests)
(cd _build/default/test && ./test_sem.exe)
random seed: 597313140149208746
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Sem sequential
[ ] 0 0 0 0 / 32 0.0s Sem sequential (generating)
[✓] 32 0 0 32 / 32 0.0s Sem sequential
[ ] 0 0 0 0 / 32 0.0s Sem parallel
[ ] 1 0 0 1 / 32 0.9s Sem parallel
[ ] 2 0 0 2 / 32 1.9s Sem parallel
[ ] 3 0 0 3 / 32 2.8s Sem parallel
[ ] 4 0 0 4 / 32 3.9s Sem parallel
[ ] 5 0 0 5 / 32 4.8s Sem parallel
[ ] 6 0 0 6 / 32 5.7s Sem parallel
[ ] 7 0 0 7 / 32 6.9s Sem parallel
[ ] 8 0 0 8 / 32 7.7s Sem parallel
[ ] 9 0 0 9 / 32 8.3s Sem parallel
[ ] 10 0 0 10 / 32 8.9s Sem parallel
[ ] 11 0 0 11 / 32 9.8s Sem parallel
[ ] 12 0 0 12 / 32 10.9s Sem parallel
[ ] 13 0 0 13 / 32 11.9s Sem parallel
[ ] 14 0 0 14 / 32 12.7s Sem parallel
[ ] 15 0 0 15 / 32 13.3s Sem parallel
[ ] 16 0 0 16 / 32 14.2s Sem parallel
[ ] 17 0 0 17 / 32 15.4s Sem parallel
[ ] 18 0 0 18 / 32 16.3s Sem parallel
[ ] 19 0 0 19 / 32 17.1s Sem parallel
[ ] 20 0 0 20 / 32 17.7s Sem parallel
[ ] 21 0 0 21 / 32 18.6s Sem parallel
[ ] 22 0 0 22 / 32 19.3s Sem parallel
[ ] 23 0 0 23 / 32 20.1s Sem parallel
[ ] 24 0 0 24 / 32 21.3s Sem parallel
[ ] 25 0 0 25 / 32 21.7s Sem parallel
[ ] 26 0 0 26 / 32 22.1s Sem parallel
[ ] 27 0 0 27 / 32 22.6s Sem parallel
[ ] 28 0 0 28 / 32 24.0s Sem parallel
[ ] 29 0 0 29 / 32 24.5s Sem parallel
[ ] 30 0 0 30 / 32 24.7s Sem parallel
[ ] 31 0 0 31 / 32 25.1s Sem parallel
[ ] 32 0 0 32 / 32 25.4s Sem parallel
[✓] 32 0 0 32 / 32 25.4s Sem parallel
================================================================================
success (ran 2 tests)
random seed: 2182830960352110662
generated error fail pass / total time test name
[ ] 0 0 0 0 / 43 0.0s Sem sequential
[✓] 43 0 0 43 / 43 0.0s Sem sequential
[ ] 0 0 0 0 / 43 0.0s Sem parallel
[ ] 1 0 0 1 / 43 0.7s Sem parallel
[ ] 2 0 0 2 / 43 1.1s Sem parallel
[ ] 3 0 0 3 / 43 1.5s Sem parallel
[ ] 4 0 0 4 / 43 1.7s Sem parallel
[ ] 5 0 0 5 / 43 1.8s Sem parallel
[ ] 6 0 0 6 / 43 2.2s Sem parallel
[ ] 7 0 0 7 / 43 2.4s Sem parallel
[ ] 8 0 0 8 / 43 2.9s Sem parallel
[ ] 9 0 0 9 / 43 3.2s Sem parallel
[ ] 10 0 0 10 / 43 3.7s Sem parallel
[ ] 11 0 0 11 / 43 4.3s Sem parallel
[ ] 12 0 0 12 / 43 5.5s Sem parallel
[ ] 13 0 0 13 / 43 6.2s Sem parallel
[ ] 14 0 0 14 / 43 6.7s Sem parallel
[ ] 15 0 0 15 / 43 7.3s Sem parallel
[ ] 16 0 0 16 / 43 7.9s Sem parallel
[ ] 17 0 0 17 / 43 8.3s Sem parallel
[ ] 18 0 0 18 / 43 8.8s Sem parallel
[ ] 19 0 0 19 / 43 9.3s Sem parallel
[ ] 20 0 0 20 / 43 9.7s Sem parallel
[ ] 21 0 0 21 / 43 10.1s Sem parallel
[ ] 22 0 0 22 / 43 10.3s Sem parallel
[ ] 23 0 0 23 / 43 10.9s Sem parallel
[ ] 24 0 0 24 / 43 11.4s Sem parallel
[ ] 25 0 0 25 / 43 11.7s Sem parallel
[ ] 26 0 0 26 / 43 12.2s Sem parallel
[ ] 27 0 0 27 / 43 12.5s Sem parallel
[ ] 28 0 0 28 / 43 12.7s Sem parallel
[ ] 32 0 0 32 / 43 12.8s Sem parallel
[ ] 35 0 0 35 / 43 12.9s Sem parallel
[ ] 40 0 0 40 / 43 13.1s Sem parallel
[ ] 43 0 0 43 / 43 13.2s Sem parallel
[✓] 43 0 0 43 / 43 13.2s Sem parallel
================================================================================
success (ran 2 tests)
random seed: 1933191938010100095
generated error fail pass / total time test name
[ ] 0 0 0 0 / 41 0.0s Sem sequential
[✓] 41 0 0 41 / 41 0.0s Sem sequential
[ ] 0 0 0 0 / 41 0.0s Sem parallel
[ ] 2 0 0 2 / 41 0.2s Sem parallel
[ ] 4 0 0 4 / 41 0.3s Sem parallel
[ ] 5 0 0 5 / 41 0.4s Sem parallel
[ ] 7 0 0 7 / 41 0.8s Sem parallel
[ ] 9 0 0 9 / 41 1.0s Sem parallel
[ ] 12 0 0 12 / 41 1.1s Sem parallel
[ ] 14 0 0 14 / 41 1.2s Sem parallel
[ ] 15 0 0 15 / 41 1.4s Sem parallel
[ ] 16 0 0 16 / 41 1.5s Sem parallel
[ ] 17 0 0 17 / 41 1.8s Sem parallel
[ ] 18 0 0 18 / 41 1.9s Sem parallel
[ ] 19 0 0 19 / 41 2.1s Sem parallel
[ ] 21 0 0 21 / 41 2.4s Sem parallel
[ ] 22 0 0 22 / 41 2.5s Sem parallel
[ ] 23 0 0 23 / 41 2.8s Sem parallel
[ ] 24 0 0 24 / 41 3.4s Sem parallel
[ ] 25 0 0 25 / 41 3.8s Sem parallel
[ ] 26 0 0 26 / 41 4.0s Sem parallel
[ ] 27 0 0 27 / 41 4.2s Sem parallel
[ ] 28 0 0 28 / 41 4.5s Sem parallel
[ ] 29 0 0 29 / 41 5.0s Sem parallel
[ ] 30 0 0 30 / 41 5.2s Sem parallel
[ ] 31 0 0 31 / 41 5.5s Sem parallel
[ ] 32 0 0 32 / 41 5.9s Sem parallel
[ ] 33 0 0 33 / 41 6.2s Sem parallel
[ ] 34 0 0 34 / 41 6.6s Sem parallel
[ ] 35 0 0 35 / 41 6.9s Sem parallel
[ ] 36 0 0 36 / 41 7.0s Sem parallel
[ ] 37 0 0 37 / 41 7.5s Sem parallel
[ ] 38 0 0 38 / 41 7.6s Sem parallel
[ ] 40 0 0 40 / 41 7.8s Sem parallel
[ ] 41 0 0 41 / 41 8.0s Sem parallel
[✓] 41 0 0 41 / 41 8.0s Sem parallel
================================================================================
success (ran 2 tests)
random seed: 2587085857257523675
generated error fail pass / total time test name
[ ] 0 0 0 0 / 33 0.0s Sem sequential
[✓] 33 0 0 33 / 33 0.0s Sem sequential
[ ] 0 0 0 0 / 33 0.0s Sem parallel
[ ] 1 0 0 1 / 33 0.1s Sem parallel
[ ] 2 0 0 2 / 33 0.5s Sem parallel
[ ] 3 0 0 3 / 33 0.7s Sem parallel
[ ] 4 0 0 4 / 33 1.1s Sem parallel
[ ] 6 0 0 6 / 33 1.2s Sem parallel
[ ] 7 0 0 7 / 33 1.6s Sem parallel
[ ] 9 0 0 9 / 33 1.7s Sem parallel
[ ] 10 0 0 10 / 33 2.0s Sem parallel
[ ] 11 0 0 11 / 33 2.1s Sem parallel
[ ] 13 0 0 13 / 33 2.3s Sem parallel
[ ] 15 0 0 15 / 33 2.4s Sem parallel
[ ] 18 0 0 18 / 33 2.7s Sem parallel
[ ] 20 0 0 20 / 33 3.0s Sem parallel
[ ] 21 0 0 21 / 33 3.1s Sem parallel
[ ] 23 0 0 23 / 33 3.3s Sem parallel
[ ] 24 0 0 24 / 33 3.4s Sem parallel
[ ] 26 0 0 26 / 33 3.6s Sem parallel
[ ] 31 0 0 31 / 33 3.7s Sem parallel
[ ] 33 0 0 33 / 33 3.9s Sem parallel
[✓] 33 0 0 33 / 33 3.9s Sem parallel
================================================================================
success (ran 2 tests)
random seed: 3875080645156038259
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Sem sequential
[✓] 32 0 0 32 / 32 0.0s Sem sequential
[ ] 0 0 0 0 / 32 0.0s Sem parallel
[ ] 3 0 0 3 / 32 0.9s Sem parallel
[ ] 4 0 0 4 / 32 1.1s Sem parallel
[ ] 8 0 0 8 / 32 1.3s Sem parallel
[ ] 12 0 0 12 / 32 1.4s Sem parallel
[ ] 14 0 0 14 / 32 1.6s Sem parallel
[ ] 15 0 0 15 / 32 1.7s Sem parallel
[ ] 17 0 0 17 / 32 2.1s Sem parallel
[ ] 20 0 0 20 / 32 2.4s Sem parallel
[ ] 23 0 0 23 / 32 2.5s Sem parallel
[ ] 27 0 0 27 / 32 2.7s Sem parallel
[ ] 28 0 0 28 / 32 3.0s Sem parallel
[✓] 32 0 0 32 / 32 3.1s Sem parallel
================================================================================
success (ran 2 tests)
random seed: 769815891783018138
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Sem sequential
[✓] 32 0 0 32 / 32 0.0s Sem sequential
[ ] 0 0 0 0 / 32 0.0s Sem parallel
[ ] 1 0 0 1 / 32 0.0s Sem parallel
[ ] 8 0 0 8 / 32 0.2s Sem parallel
[ ] 9 0 0 9 / 32 0.4s Sem parallel
[ ] 14 0 0 14 / 32 0.5s Sem parallel
[ ] 15 0 0 15 / 32 0.7s Sem parallel
[ ] 17 0 0 17 / 32 1.1s Sem parallel
[ ] 22 0 0 22 / 32 1.2s Sem parallel
[ ] 24 0 0 24 / 32 1.3s Sem parallel
[ ] 26 0 0 26 / 32 1.6s Sem parallel
[ ] 27 0 0 27 / 32 1.8s Sem parallel
[ ] 28 0 0 28 / 32 2.0s Sem parallel
[ ] 29 0 0 29 / 32 2.3s Sem parallel
[ ] 30 0 0 30 / 32 2.6s Sem parallel
[ ] 32 0 0 32 / 32 2.7s Sem parallel
[✓] 32 0 0 32 / 32 2.7s Sem parallel
================================================================================
success (ran 2 tests)
random seed: 2435769416138771682
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Sem sequential
[✓] 32 0 0 32 / 32 0.0s Sem sequential
[ ] 0 0 0 0 / 32 0.0s Sem parallel
[ ] 4 0 0 4 / 32 0.2s Sem parallel
[ ] 7 0 0 7 / 32 0.3s Sem parallel
[ ] 9 0 0 9 / 32 0.4s Sem parallel
[ ] 11 0 0 11 / 32 0.5s Sem parallel
[ ] 13 0 0 13 / 32 0.7s Sem parallel
[ ] 15 0 0 15 / 32 0.9s Sem parallel
[ ] 20 0 0 20 / 32 1.2s Sem parallel
[ ] 22 0 0 22 / 32 1.3s Sem parallel
[ ] 25 0 0 25 / 32 1.5s Sem parallel
[ ] 28 0 0 28 / 32 1.6s Sem parallel
[✓] 32 0 0 32 / 32 1.7s Sem parallel
================================================================================
success (ran 2 tests)
random seed: 2292473537528242811
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Sem sequential
[✓] 32 0 0 32 / 32 0.0s Sem sequential
[ ] 0 0 0 0 / 32 0.0s Sem parallel
[ ] 2 0 0 2 / 32 0.0s Sem parallel
[ ] 11 0 0 11 / 32 0.1s Sem parallel
[ ] 20 0 0 20 / 32 0.2s Sem parallel
[ ] 25 0 0 25 / 32 0.3s Sem parallel
[ ] 27 0 0 27 / 32 0.7s Sem parallel
[ ] 32 0 0 32 / 32 0.9s Sem parallel
[✓] 32 0 0 32 / 32 0.9s Sem parallel
================================================================================
success (ran 2 tests)
random seed: 956888883630605810
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Sem sequential
[✓] 32 0 0 32 / 32 0.0s Sem sequential
[ ] 0 0 0 0 / 32 0.0s Sem parallel
[ ] 2 0 0 2 / 32 0.1s Sem parallel
[ ] 4 0 0 4 / 32 0.4s Sem parallel
[ ] 6 0 0 6 / 32 0.6s Sem parallel
[ ] 8 0 0 8 / 32 0.8s Sem parallel
[ ] 9 0 0 9 / 32 0.9s Sem parallel
[ ] 11 0 0 11 / 32 1.0s Sem parallel
[ ] 19 0 0 19 / 32 1.1s Sem parallel
[ ] 26 0 0 26 / 32 1.2s Sem parallel
[ ] 30 0 0 30 / 32 1.3s Sem parallel
[ ] 31 0 0 31 / 32 1.5s Sem parallel
[✓] 32 0 0 32 / 32 1.5s Sem parallel
================================================================================
success (ran 2 tests)
(cd _build/default/bench && ./main.exe -brief Picos_mpscq)
Picos_mpscq:
messages over time/1 nb adder, 1 nb taker:
13.46 M/s
messages over time/2 nb adders, 1 nb taker:
24.81 M/s
messages over time/4 nb adders, 1 nb taker:
11.58 M/s
messages over time/one domain:
14.39 M/s
time per message/1 nb adder, 1 nb taker:
148.54 ns
time per message/2 nb adders, 1 nb taker:
120.90 ns
time per message/4 nb adders, 1 nb taker:
431.71 ns
time per message/one domain:
69.47 ns
(cd _build/default/test && ./test_mpscq.exe)
random seed: 2871895795019082052
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpscq sequential
[ ] 0 0 0 0 / 32 0.0s Mpscq sequential (generating)
[✓] 32 0 0 32 / 32 0.0s Mpscq sequential
[ ] 0 0 0 0 / 32 0.0s Mpscq parallel
[ ] 1 0 0 1 / 32 1.5s Mpscq parallel
[ ] 2 0 0 2 / 32 3.2s Mpscq parallel
[ ] 3 0 0 3 / 32 5.0s Mpscq parallel
[ ] 4 0 0 4 / 32 6.4s Mpscq parallel
[ ] 5 0 0 5 / 32 8.3s Mpscq parallel
[ ] 6 0 0 6 / 32 9.5s Mpscq parallel
[ ] 7 0 0 7 / 32 10.4s Mpscq parallel
[ ] 8 0 0 8 / 32 12.5s Mpscq parallel
[ ] 9 0 0 9 / 32 14.0s Mpscq parallel
[ ] 10 0 0 10 / 32 15.5s Mpscq parallel
[ ] 11 0 0 11 / 32 17.3s Mpscq parallel
[ ] 12 0 0 12 / 32 19.5s Mpscq parallel
[ ] 13 0 0 13 / 32 20.8s Mpscq parallel
[ ] 14 0 0 14 / 32 22.4s Mpscq parallel
[ ] 15 0 0 15 / 32 23.3s Mpscq parallel
[ ] 16 0 0 16 / 32 24.6s Mpscq parallel
[ ] 17 0 0 17 / 32 25.5s Mpscq parallel
[ ] 18 0 0 18 / 32 25.7s Mpscq parallel
[ ] 19 0 0 19 / 32 26.3s Mpscq parallel
[ ] 20 0 0 20 / 32 26.9s Mpscq parallel
[ ] 21 0 0 21 / 32 27.7s Mpscq parallel
[ ] 22 0 0 22 / 32 28.3s Mpscq parallel
[ ] 23 0 0 23 / 32 28.8s Mpscq parallel
[ ] 24 0 0 24 / 32 29.6s Mpscq parallel
[ ] 25 0 0 25 / 32 32.0s Mpscq parallel
[ ] 26 0 0 26 / 32 32.8s Mpscq parallel
[ ] 27 0 0 27 / 32 33.6s Mpscq parallel
[ ] 28 0 0 28 / 32 34.5s Mpscq parallel
[ ] 29 0 0 29 / 32 35.0s Mpscq parallel
[ ] 30 0 0 30 / 32 35.6s Mpscq parallel
[ ] 31 0 0 31 / 32 36.4s Mpscq parallel
[ ] 32 0 0 32 / 32 38.0s Mpscq parallel
[✓] 32 0 0 32 / 32 38.0s Mpscq parallel
================================================================================
success (ran 2 tests)
random seed: 1843282507029226208
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpscq sequential
[✓] 32 0 0 32 / 32 0.0s Mpscq sequential
[ ] 0 0 0 0 / 32 0.0s Mpscq parallel
[ ] 1 0 0 1 / 32 0.8s Mpscq parallel
[ ] 2 0 0 2 / 32 1.1s Mpscq parallel
[ ] 5 0 0 5 / 32 1.2s Mpscq parallel
[ ] 7 0 0 7 / 32 1.4s Mpscq parallel
[ ] 12 0 0 12 / 32 1.5s Mpscq parallel
[ ] 14 0 0 14 / 32 1.6s Mpscq parallel
[ ] 16 0 0 16 / 32 1.8s Mpscq parallel
[ ] 18 0 0 18 / 32 2.4s Mpscq parallel
[ ] 19 0 0 19 / 32 2.5s Mpscq parallel
[ ] 20 0 0 20 / 32 2.6s Mpscq parallel
[ ] 23 0 0 23 / 32 2.8s Mpscq parallel
[ ] 24 0 0 24 / 32 3.3s Mpscq parallel
[ ] 25 0 0 25 / 32 3.4s Mpscq parallel
[ ] 27 0 0 27 / 32 3.6s Mpscq parallel
[ ] 28 0 0 28 / 32 3.8s Mpscq parallel
[ ] 29 0 0 29 / 32 4.1s Mpscq parallel
[ ] 30 0 0 30 / 32 4.3s Mpscq parallel
[ ] 31 0 0 31 / 32 4.5s Mpscq parallel
[ ] 32 0 0 32 / 32 4.9s Mpscq parallel
[✓] 32 0 0 32 / 32 4.9s Mpscq parallel
================================================================================
success (ran 2 tests)
random seed: 1078794492867112275
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpscq sequential
[✓] 32 0 0 32 / 32 0.0s Mpscq sequential
[ ] 0 0 0 0 / 32 0.0s Mpscq parallel
[ ] 1 0 0 1 / 32 0.5s Mpscq parallel
[ ] 2 0 0 2 / 32 0.8s Mpscq parallel
[ ] 3 0 0 3 / 32 1.6s Mpscq parallel
[ ] 4 0 0 4 / 32 2.3s Mpscq parallel
[ ] 5 0 0 5 / 32 3.0s Mpscq parallel
[ ] 6 0 0 6 / 32 3.1s Mpscq parallel
[ ] 7 0 0 7 / 32 3.3s Mpscq parallel
[ ] 9 0 0 9 / 32 3.6s Mpscq parallel
[ ] 10 0 0 10 / 32 4.3s Mpscq parallel
[ ] 11 0 0 11 / 32 5.1s Mpscq parallel
[ ] 12 0 0 12 / 32 5.7s Mpscq parallel
[ ] 14 0 0 14 / 32 5.8s Mpscq parallel
[ ] 17 0 0 17 / 32 5.9s Mpscq parallel
[ ] 19 0 0 19 / 32 6.0s Mpscq parallel
[ ] 22 0 0 22 / 32 6.2s Mpscq parallel
[ ] 25 0 0 25 / 32 6.4s Mpscq parallel
[ ] 26 0 0 26 / 32 6.6s Mpscq parallel
[ ] 27 0 0 27 / 32 6.9s Mpscq parallel
[ ] 28 0 0 28 / 32 7.0s Mpscq parallel
[ ] 29 0 0 29 / 32 7.5s Mpscq parallel
[ ] 30 0 0 30 / 32 7.7s Mpscq parallel
[ ] 31 0 0 31 / 32 7.8s Mpscq parallel
[ ] 32 0 0 32 / 32 8.0s Mpscq parallel
[✓] 32 0 0 32 / 32 8.0s Mpscq parallel
================================================================================
success (ran 2 tests)
random seed: 1448389492318699150
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpscq sequential
[✓] 32 0 0 32 / 32 0.0s Mpscq sequential
[ ] 0 0 0 0 / 32 0.0s Mpscq parallel
[ ] 1 0 0 1 / 32 0.1s Mpscq parallel
[ ] 4 0 0 4 / 32 0.6s Mpscq parallel
[ ] 8 0 0 8 / 32 3.5s Mpscq parallel
[ ] 13 0 0 13 / 32 3.6s Mpscq parallel
[ ] 15 0 0 15 / 32 3.8s Mpscq parallel
[ ] 17 0 0 17 / 32 3.9s Mpscq parallel
[ ] 22 0 0 22 / 32 4.1s Mpscq parallel
[ ] 27 0 0 27 / 32 4.3s Mpscq parallel
[✓] 32 0 0 32 / 32 4.3s Mpscq parallel
================================================================================
success (ran 2 tests)
random seed: 848815168501772842
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpscq sequential
[✓] 32 0 0 32 / 32 0.0s Mpscq sequential
[ ] 0 0 0 0 / 32 0.0s Mpscq parallel
[ ] 2 0 0 2 / 32 0.5s Mpscq parallel
[ ] 10 0 0 10 / 32 0.6s Mpscq parallel
[ ] 12 0 0 12 / 32 0.9s Mpscq parallel
[ ] 14 0 0 14 / 32 1.2s Mpscq parallel
[ ] 15 0 0 15 / 32 1.7s Mpscq parallel
[ ] 16 0 0 16 / 32 1.9s Mpscq parallel
[ ] 18 0 0 18 / 32 2.1s Mpscq parallel
[ ] 20 0 0 20 / 32 2.2s Mpscq parallel
[ ] 22 0 0 22 / 32 2.4s Mpscq parallel
[ ] 24 0 0 24 / 32 2.5s Mpscq parallel
[ ] 28 0 0 28 / 32 2.6s Mpscq parallel
[ ] 30 0 0 30 / 32 2.8s Mpscq parallel
[ ] 31 0 0 31 / 32 3.0s Mpscq parallel
[✓] 32 0 0 32 / 32 3.0s Mpscq parallel
================================================================================
success (ran 2 tests)
random seed: 736695132685851557
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpscq sequential
[✓] 32 0 0 32 / 32 0.0s Mpscq sequential
[ ] 0 0 0 0 / 32 0.0s Mpscq parallel
[ ] 1 0 0 1 / 32 0.2s Mpscq parallel
[ ] 4 0 0 4 / 32 0.3s Mpscq parallel
[ ] 9 0 0 9 / 32 0.4s Mpscq parallel
[ ] 13 0 0 13 / 32 0.6s Mpscq parallel
[ ] 18 0 0 18 / 32 0.7s Mpscq parallel
[ ] 20 0 0 20 / 32 0.8s Mpscq parallel
[ ] 24 0 0 24 / 32 1.0s Mpscq parallel
[ ] 27 0 0 27 / 32 1.6s Mpscq parallel
[ ] 30 0 0 30 / 32 1.7s Mpscq parallel
[✓] 32 0 0 32 / 32 1.8s Mpscq parallel
================================================================================
success (ran 2 tests)
random seed: 1078150769445146647
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpscq sequential
[✓] 32 0 0 32 / 32 0.0s Mpscq sequential
[ ] 0 0 0 0 / 32 0.0s Mpscq parallel
[ ] 2 0 0 2 / 32 0.1s Mpscq parallel
[ ] 4 0 0 4 / 32 0.2s Mpscq parallel
[ ] 6 0 0 6 / 32 0.3s Mpscq parallel
[ ] 9 0 0 9 / 32 0.6s Mpscq parallel
[ ] 12 0 0 12 / 32 0.8s Mpscq parallel
[ ] 16 0 0 16 / 32 1.0s Mpscq parallel
[ ] 24 0 0 24 / 32 1.1s Mpscq parallel
[ ] 25 0 0 25 / 32 1.4s Mpscq parallel
[ ] 29 0 0 29 / 32 1.8s Mpscq parallel
[✓] 32 0 0 32 / 32 1.9s Mpscq parallel
================================================================================
success (ran 2 tests)
(cd _build/default/test && ./test_lock.exe)
random seed: 1872325810124992838
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Lock sequential
[ ] 0 0 0 0 / 32 0.0s Lock sequential (generating)
[✓] 32 0 0 32 / 32 0.0s Lock sequential
[ ] 0 0 0 0 / 32 0.0s Lock parallel
[ ] 1 0 0 1 / 32 1.3s Lock parallel
[ ] 2 0 0 2 / 32 2.2s Lock parallel
[ ] 3 0 0 3 / 32 3.7s Lock parallel
[ ] 4 0 0 4 / 32 4.5s Lock parallel
[ ] 5 0 0 5 / 32 5.5s Lock parallel
[ ] 6 0 0 6 / 32 6.7s Lock parallel
[ ] 7 0 0 7 / 32 7.7s Lock parallel
[ ] 8 0 0 8 / 32 8.5s Lock parallel
[ ] 9 0 0 9 / 32 8.9s Lock parallel
[ ] 10 0 0 10 / 32 9.9s Lock parallel
[ ] 11 0 0 11 / 32 11.0s Lock parallel
[ ] 12 0 0 12 / 32 13.4s Lock parallel
[ ] 13 0 0 13 / 32 14.3s Lock parallel
[ ] 14 0 0 14 / 32 15.0s Lock parallel
[ ] 15 0 0 15 / 32 15.8s Lock parallel
[ ] 16 0 0 16 / 32 16.6s Lock parallel
[ ] 17 0 0 17 / 32 17.3s Lock parallel
[ ] 18 0 0 18 / 32 18.0s Lock parallel
[ ] 19 0 0 19 / 32 18.7s Lock parallel
[ ] 20 0 0 20 / 32 19.5s Lock parallel
[ ] 21 0 0 21 / 32 20.5s Lock parallel
[ ] 22 0 0 22 / 32 21.0s Lock parallel
[ ] 23 0 0 23 / 32 21.7s Lock parallel
[ ] 24 0 0 24 / 32 22.2s Lock parallel
[ ] 25 0 0 25 / 32 22.9s Lock parallel
[ ] 26 0 0 26 / 32 23.8s Lock parallel
[ ] 27 0 0 27 / 32 24.2s Lock parallel
[ ] 28 0 0 28 / 32 24.7s Lock parallel
[ ] 29 0 0 29 / 32 25.1s Lock parallel
[ ] 30 0 0 30 / 32 25.4s Lock parallel
[ ] 31 0 0 31 / 32 25.7s Lock parallel
[ ] 32 0 0 32 / 32 26.2s Lock parallel
[✓] 32 0 0 32 / 32 26.2s Lock parallel
================================================================================
success (ran 2 tests)
random seed: 3509414406555310725
generated error fail pass / total time test name
[ ] 0 0 0 0 / 41 0.0s Lock sequential
[✓] 41 0 0 41 / 41 0.0s Lock sequential
[ ] 0 0 0 0 / 41 0.0s Lock parallel
[ ] 1 0 0 1 / 41 0.4s Lock parallel
[ ] 2 0 0 2 / 41 0.9s Lock parallel
[ ] 3 0 0 3 / 41 1.0s Lock parallel
[ ] 4 0 0 4 / 41 1.2s Lock parallel
[ ] 5 0 0 5 / 41 1.4s Lock parallel
[ ] 6 0 0 6 / 41 1.8s Lock parallel
[ ] 7 0 0 7 / 41 2.2s Lock parallel
[ ] 8 0 0 8 / 41 3.1s Lock parallel
[ ] 9 0 0 9 / 41 3.7s Lock parallel
[ ] 10 0 0 10 / 41 4.2s Lock parallel
[ ] 11 0 0 11 / 41 5.6s Lock parallel
[ ] 12 0 0 12 / 41 6.0s Lock parallel
[ ] 13 0 0 13 / 41 6.5s Lock parallel
[ ] 14 0 0 14 / 41 7.2s Lock parallel
[ ] 15 0 0 15 / 41 7.7s Lock parallel
[ ] 16 0 0 16 / 41 8.0s Lock parallel
[ ] 17 0 0 17 / 41 8.3s Lock parallel
[ ] 18 0 0 18 / 41 8.5s Lock parallel
[ ] 19 0 0 19 / 41 8.8s Lock parallel
[ ] 20 0 0 20 / 41 9.2s Lock parallel
[ ] 21 0 0 21 / 41 9.4s Lock parallel
[ ] 22 0 0 22 / 41 9.7s Lock parallel
[ ] 23 0 0 23 / 41 10.4s Lock parallel
[ ] 24 0 0 24 / 41 10.9s Lock parallel
[ ] 25 0 0 25 / 41 11.4s Lock parallel
[ ] 26 0 0 26 / 41 11.8s Lock parallel
[ ] 27 0 0 27 / 41 12.0s Lock parallel
[ ] 28 0 0 28 / 41 12.2s Lock parallel
[ ] 32 0 0 32 / 41 12.4s Lock parallel
[ ] 34 0 0 34 / 41 12.5s Lock parallel
[ ] 37 0 0 37 / 41 12.6s Lock parallel
[ ] 39 0 0 39 / 41 12.8s Lock parallel
[ ] 40 0 0 40 / 41 12.9s Lock parallel
[ ] 41 0 0 41 / 41 13.0s Lock parallel
[✓] 41 0 0 41 / 41 13.0s Lock parallel
================================================================================
success (ran 2 tests)
random seed: 4162681663088526821
generated error fail pass / total time test name
[ ] 0 0 0 0 / 38 0.0s Lock sequential
[✓] 38 0 0 38 / 38 0.0s Lock sequential
[ ] 0 0 0 0 / 38 0.0s Lock parallel
[ ] 1 0 0 1 / 38 0.2s Lock parallel
[ ] 2 0 0 2 / 38 0.3s Lock parallel
[ ] 3 0 0 3 / 38 0.5s Lock parallel
[ ] 5 0 0 5 / 38 0.6s Lock parallel
[ ] 9 0 0 9 / 38 0.8s Lock parallel
[ ] 10 0 0 10 / 38 0.9s Lock parallel
[ ] 11 0 0 11 / 38 1.1s Lock parallel
[ ] 12 0 0 12 / 38 1.2s Lock parallel
[ ] 13 0 0 13 / 38 1.5s Lock parallel
[ ] 14 0 0 14 / 38 1.6s Lock parallel
[ ] 15 0 0 15 / 38 1.8s Lock parallel
[ ] 18 0 0 18 / 38 2.2s Lock parallel
[ ] 19 0 0 19 / 38 2.5s Lock parallel
[ ] 20 0 0 20 / 38 3.1s Lock parallel
[ ] 21 0 0 21 / 38 3.5s Lock parallel
[ ] 22 0 0 22 / 38 3.8s Lock parallel
[ ] 23 0 0 23 / 38 4.0s Lock parallel
[ ] 24 0 0 24 / 38 4.4s Lock parallel
[ ] 25 0 0 25 / 38 4.7s Lock parallel
[ ] 26 0 0 26 / 38 5.1s Lock parallel
[ ] 27 0 0 27 / 38 5.4s Lock parallel
[ ] 28 0 0 28 / 38 6.0s Lock parallel
[ ] 29 0 0 29 / 38 6.2s Lock parallel
[ ] 30 0 0 30 / 38 6.4s Lock parallel
[ ] 31 0 0 31 / 38 6.5s Lock parallel
[ ] 32 0 0 32 / 38 6.8s Lock parallel
[ ] 33 0 0 33 / 38 7.0s Lock parallel
[ ] 34 0 0 34 / 38 7.3s Lock parallel
[ ] 35 0 0 35 / 38 7.6s Lock parallel
[ ] 36 0 0 36 / 38 7.8s Lock parallel
[ ] 37 0 0 37 / 38 8.3s Lock parallel
[ ] 38 0 0 38 / 38 8.6s Lock parallel
[✓] 38 0 0 38 / 38 8.6s Lock parallel
================================================================================
success (ran 2 tests)
random seed: 3787573533624041559
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Lock sequential
[✓] 32 0 0 32 / 32 0.0s Lock sequential
[ ] 0 0 0 0 / 32 0.0s Lock parallel
[ ] 1 0 0 1 / 32 0.1s Lock parallel
[ ] 3 0 0 3 / 32 0.6s Lock parallel
[ ] 5 0 0 5 / 32 0.7s Lock parallel
[ ] 8 0 0 8 / 32 1.0s Lock parallel
[ ] 9 0 0 9 / 32 1.1s Lock parallel
[ ] 10 0 0 10 / 32 1.4s Lock parallel
[ ] 12 0 0 12 / 32 1.5s Lock parallel
[ ] 14 0 0 14 / 32 1.6s Lock parallel
[ ] 16 0 0 16 / 32 1.8s Lock parallel
[ ] 17 0 0 17 / 32 2.0s Lock parallel
[ ] 18 0 0 18 / 32 2.2s Lock parallel
[ ] 19 0 0 19 / 32 2.3s Lock parallel
[ ] 23 0 0 23 / 32 2.4s Lock parallel
[ ] 26 0 0 26 / 32 2.6s Lock parallel
[✓] 32 0 0 32 / 32 2.7s Lock parallel
================================================================================
success (ran 2 tests)
random seed: 2579619654134668884
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Lock sequential
[✓] 32 0 0 32 / 32 0.0s Lock sequential
[ ] 0 0 0 0 / 32 0.0s Lock parallel
[ ] 1 0 0 1 / 32 0.0s Lock parallel
[ ] 3 0 0 3 / 32 0.2s Lock parallel
[ ] 6 0 0 6 / 32 0.3s Lock parallel
[ ] 10 0 0 10 / 32 0.4s Lock parallel
[ ] 14 0 0 14 / 32 1.0s Lock parallel
[ ] 15 0 0 15 / 32 1.2s Lock parallel
[ ] 18 0 0 18 / 32 1.3s Lock parallel
[ ] 24 0 0 24 / 32 1.4s Lock parallel
[ ] 25 0 0 25 / 32 1.7s Lock parallel
[ ] 26 0 0 26 / 32 2.1s Lock parallel
[✓] 32 0 0 32 / 32 2.2s Lock parallel
================================================================================
success (ran 2 tests)
random seed: 1690044646195978566
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Lock sequential
[✓] 32 0 0 32 / 32 0.0s Lock sequential
[ ] 0 0 0 0 / 32 0.0s Lock parallel
[ ] 1 0 0 1 / 32 0.0s Lock parallel
[ ] 7 0 0 7 / 32 0.1s Lock parallel
[ ] 14 0 0 14 / 32 0.3s Lock parallel
[ ] 19 0 0 19 / 32 0.4s Lock parallel
[ ] 25 0 0 25 / 32 0.5s Lock parallel
[ ] 29 0 0 29 / 32 0.6s Lock parallel
[✓] 32 0 0 32 / 32 0.7s Lock parallel
================================================================================
success (ran 2 tests)
random seed: 2504166234176269630
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Lock sequential
[✓] 32 0 0 32 / 32 0.0s Lock sequential
[ ] 0 0 0 0 / 32 0.0s Lock parallel
[ ] 2 0 0 2 / 32 0.1s Lock parallel
[ ] 6 0 0 6 / 32 0.2s Lock parallel
[ ] 12 0 0 12 / 32 0.3s Lock parallel
[ ] 17 0 0 17 / 32 0.6s Lock parallel
[ ] 24 0 0 24 / 32 0.7s Lock parallel
[ ] 31 0 0 31 / 32 0.9s Lock parallel
[✓] 32 0 0 32 / 32 1.0s Lock parallel
================================================================================
success (ran 2 tests)
random seed: 515133279433014009
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Lock sequential
[✓] 32 0 0 32 / 32 0.0s Lock sequential
[ ] 0 0 0 0 / 32 0.0s Lock parallel
[ ] 1 0 0 1 / 32 0.4s Lock parallel
[ ] 5 0 0 5 / 32 0.8s Lock parallel
[ ] 7 0 0 7 / 32 1.3s Lock parallel
[ ] 8 0 0 8 / 32 1.6s Lock parallel
[ ] 9 0 0 9 / 32 1.8s Lock parallel
[ ] 10 0 0 10 / 32 2.0s Lock parallel
[ ] 11 0 0 11 / 32 2.1s Lock parallel
[ ] 14 0 0 14 / 32 2.3s Lock parallel
[ ] 16 0 0 16 / 32 2.4s Lock parallel
[ ] 19 0 0 19 / 32 2.5s Lock parallel
[ ] 22 0 0 22 / 32 2.7s Lock parallel
[ ] 25 0 0 25 / 32 2.8s Lock parallel
[ ] 30 0 0 30 / 32 2.9s Lock parallel
[✓] 32 0 0 32 / 32 3.0s Lock parallel
================================================================================
success (ran 2 tests)
random seed: 1617436116571856975
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Lock sequential
[✓] 32 0 0 32 / 32 0.0s Lock sequential
[ ] 0 0 0 0 / 32 0.0s Lock parallel
[ ] 3 0 0 3 / 32 0.1s Lock parallel
[ ] 8 0 0 8 / 32 0.2s Lock parallel
[ ] 12 0 0 12 / 32 0.3s Lock parallel
[ ] 19 0 0 19 / 32 0.6s Lock parallel
[ ] 24 0 0 24 / 32 1.0s Lock parallel
[ ] 25 0 0 25 / 32 1.1s Lock parallel
[ ] 28 0 0 28 / 32 1.5s Lock parallel
[ ] 31 0 0 31 / 32 1.8s Lock parallel
[✓] 32 0 0 32 / 32 1.9s Lock parallel
================================================================================
success (ran 2 tests)
random seed: 828761690755566799
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Lock sequential
[✓] 32 0 0 32 / 32 0.0s Lock sequential
[ ] 0 0 0 0 / 32 0.0s Lock parallel
[ ] 1 0 0 1 / 32 0.1s Lock parallel
[ ] 2 0 0 2 / 32 0.2s Lock parallel
[ ] 5 0 0 5 / 32 0.4s Lock parallel
[ ] 8 0 0 8 / 32 0.6s Lock parallel
[ ] 10 0 0 10 / 32 0.7s Lock parallel
[ ] 11 0 0 11 / 32 1.0s Lock parallel
[ ] 14 0 0 14 / 32 1.4s Lock parallel
[ ] 17 0 0 17 / 32 1.5s Lock parallel
[ ] 23 0 0 23 / 32 1.7s Lock parallel
[ ] 25 0 0 25 / 32 1.8s Lock parallel
[ ] 30 0 0 30 / 32 1.9s Lock parallel
[✓] 32 0 0 32 / 32 1.9s Lock parallel
================================================================================
success (ran 2 tests)
(cd _build/default/test && ./test_mpmcq.exe)
random seed: 2548372829385283956
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 32 0.0s Mpmcq sequential (generating)
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 32 0.0s Mpmcq parallel
[ ] 1 0 0 1 / 32 1.1s Mpmcq parallel
[ ] 2 0 0 2 / 32 2.0s Mpmcq parallel
[ ] 3 0 0 3 / 32 3.2s Mpmcq parallel
[ ] 4 0 0 4 / 32 3.9s Mpmcq parallel
[ ] 5 0 0 5 / 32 4.7s Mpmcq parallel
[ ] 6 0 0 6 / 32 5.7s Mpmcq parallel
[ ] 7 0 0 7 / 32 7.1s Mpmcq parallel
[ ] 8 0 0 8 / 32 8.1s Mpmcq parallel
[ ] 9 0 0 9 / 32 8.7s Mpmcq parallel
[ ] 10 0 0 10 / 32 9.4s Mpmcq parallel
[ ] 11 0 0 11 / 32 10.6s Mpmcq parallel
[ ] 12 0 0 12 / 32 11.8s Mpmcq parallel
[ ] 13 0 0 13 / 32 12.9s Mpmcq parallel
[ ] 14 0 0 14 / 32 13.6s Mpmcq parallel
[ ] 15 0 0 15 / 32 14.4s Mpmcq parallel
[ ] 16 0 0 16 / 32 15.2s Mpmcq parallel
[ ] 17 0 0 17 / 32 16.1s Mpmcq parallel
[ ] 18 0 0 18 / 32 16.8s Mpmcq parallel
[ ] 19 0 0 19 / 32 17.6s Mpmcq parallel
[ ] 20 0 0 20 / 32 18.4s Mpmcq parallel
[ ] 21 0 0 21 / 32 19.1s Mpmcq parallel
[ ] 22 0 0 22 / 32 19.9s Mpmcq parallel
[ ] 23 0 0 23 / 32 20.6s Mpmcq parallel
[ ] 24 0 0 24 / 32 21.4s Mpmcq parallel
[ ] 25 0 0 25 / 32 21.9s Mpmcq parallel
[ ] 26 0 0 26 / 32 22.4s Mpmcq parallel
[ ] 27 0 0 27 / 32 23.3s Mpmcq parallel
[ ] 28 0 0 28 / 32 24.0s Mpmcq parallel
[ ] 29 0 0 29 / 32 24.6s Mpmcq parallel
[ ] 30 0 0 30 / 32 24.9s Mpmcq parallel
[ ] 31 0 0 31 / 32 25.2s Mpmcq parallel
[ ] 32 0 0 32 / 32 25.6s Mpmcq parallel
[✓] 32 0 0 32 / 32 25.6s Mpmcq parallel
================================================================================
success (ran 2 tests)
random seed: 1386144087922987701
generated error fail pass / total time test name
[ ] 0 0 0 0 / 42 0.0s Mpmcq sequential
[✓] 42 0 0 42 / 42 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 42 0.0s Mpmcq parallel
[ ] 1 0 0 1 / 42 0.3s Mpmcq parallel
[ ] 2 0 0 2 / 42 0.6s Mpmcq parallel
[ ] 3 0 0 3 / 42 1.0s Mpmcq parallel
[ ] 4 0 0 4 / 42 1.3s Mpmcq parallel
[ ] 5 0 0 5 / 42 1.5s Mpmcq parallel
[ ] 6 0 0 6 / 42 1.6s Mpmcq parallel
[ ] 7 0 0 7 / 42 2.1s Mpmcq parallel
[ ] 9 0 0 9 / 42 2.4s Mpmcq parallel
[ ] 10 0 0 10 / 42 2.9s Mpmcq parallel
[ ] 11 0 0 11 / 42 3.2s Mpmcq parallel
[ ] 12 0 0 12 / 42 3.9s Mpmcq parallel
[ ] 13 0 0 13 / 42 4.4s Mpmcq parallel
[ ] 14 0 0 14 / 42 4.9s Mpmcq parallel
[ ] 15 0 0 15 / 42 5.5s Mpmcq parallel
[ ] 16 0 0 16 / 42 6.2s Mpmcq parallel
[ ] 17 0 0 17 / 42 6.6s Mpmcq parallel
[ ] 18 0 0 18 / 42 7.1s Mpmcq parallel
[ ] 19 0 0 19 / 42 7.7s Mpmcq parallel
[ ] 20 0 0 20 / 42 8.1s Mpmcq parallel
[ ] 21 0 0 21 / 42 8.7s Mpmcq parallel
[ ] 22 0 0 22 / 42 8.9s Mpmcq parallel
[ ] 23 0 0 23 / 42 9.2s Mpmcq parallel
[ ] 24 0 0 24 / 42 9.4s Mpmcq parallel
[ ] 25 0 0 25 / 42 9.7s Mpmcq parallel
[ ] 26 0 0 26 / 42 9.9s Mpmcq parallel
[ ] 27 0 0 27 / 42 10.1s Mpmcq parallel
[ ] 28 0 0 28 / 42 10.3s Mpmcq parallel
[ ] 29 0 0 29 / 42 10.8s Mpmcq parallel
[ ] 30 0 0 30 / 42 11.2s Mpmcq parallel
[ ] 31 0 0 31 / 42 11.4s Mpmcq parallel
[ ] 32 0 0 32 / 42 11.7s Mpmcq parallel
[ ] 33 0 0 33 / 42 12.1s Mpmcq parallel
[ ] 34 0 0 34 / 42 12.4s Mpmcq parallel
[ ] 35 0 0 35 / 42 12.6s Mpmcq parallel
[ ] 39 0 0 39 / 42 12.9s Mpmcq parallel
[ ] 40 0 0 40 / 42 13.0s Mpmcq parallel
[ ] 42 0 0 42 / 42 13.2s Mpmcq parallel
[✓] 42 0 0 42 / 42 13.2s Mpmcq parallel
================================================================================
success (ran 2 tests)
random seed: 1569516384111060825
generated error fail pass / total time test name
[ ] 0 0 0 0 / 40 0.0s Mpmcq sequential
[✓] 40 0 0 40 / 40 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 40 0.0s Mpmcq parallel
[ ] 1 0 0 1 / 40 0.1s Mpmcq parallel
[ ] 2 0 0 2 / 40 0.7s Mpmcq parallel
[ ] 3 0 0 3 / 40 1.2s Mpmcq parallel
[ ] 4 0 0 4 / 40 1.3s Mpmcq parallel
[ ] 6 0 0 6 / 40 1.5s Mpmcq parallel
[ ] 8 0 0 8 / 40 2.0s Mpmcq parallel
[ ] 9 0 0 9 / 40 2.3s Mpmcq parallel
[ ] 10 0 0 10 / 40 2.7s Mpmcq parallel
[ ] 11 0 0 11 / 40 3.0s Mpmcq parallel
[ ] 12 0 0 12 / 40 3.5s Mpmcq parallel
[ ] 13 0 0 13 / 40 4.1s Mpmcq parallel
[ ] 14 0 0 14 / 40 4.5s Mpmcq parallel
[ ] 15 0 0 15 / 40 5.0s Mpmcq parallel
[ ] 16 0 0 16 / 40 5.2s Mpmcq parallel
[ ] 17 0 0 17 / 40 5.4s Mpmcq parallel
[ ] 18 0 0 18 / 40 5.6s Mpmcq parallel
[ ] 19 0 0 19 / 40 5.9s Mpmcq parallel
[ ] 20 0 0 20 / 40 6.0s Mpmcq parallel
[ ] 22 0 0 22 / 40 6.2s Mpmcq parallel
[ ] 23 0 0 23 / 40 6.4s Mpmcq parallel
[ ] 24 0 0 24 / 40 6.5s Mpmcq parallel
[ ] 25 0 0 25 / 40 6.7s Mpmcq parallel
[ ] 27 0 0 27 / 40 7.0s Mpmcq parallel
[ ] 28 0 0 28 / 40 7.4s Mpmcq parallel
[ ] 29 0 0 29 / 40 7.5s Mpmcq parallel
[ ] 30 0 0 30 / 40 7.7s Mpmcq parallel
[ ] 31 0 0 31 / 40 7.8s Mpmcq parallel
[ ] 32 0 0 32 / 40 8.1s Mpmcq parallel
[ ] 33 0 0 33 / 40 8.3s Mpmcq parallel
[ ] 34 0 0 34 / 40 8.5s Mpmcq parallel
[ ] 35 0 0 35 / 40 8.8s Mpmcq parallel
[ ] 36 0 0 36 / 40 8.9s Mpmcq parallel
[ ] 38 0 0 38 / 40 9.0s Mpmcq parallel
[✓] 40 0 0 40 / 40 9.1s Mpmcq parallel
================================================================================
success (ran 2 tests)
random seed: 464834045330834624
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpmcq sequential
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 32 0.0s Mpmcq parallel
[ ] 2 0 0 2 / 32 0.6s Mpmcq parallel
[ ] 3 0 0 3 / 32 0.8s Mpmcq parallel
[ ] 4 0 0 4 / 32 1.0s Mpmcq parallel
[ ] 8 0 0 8 / 32 1.1s Mpmcq parallel
[ ] 9 0 0 9 / 32 1.6s Mpmcq parallel
[ ] 10 0 0 10 / 32 1.8s Mpmcq parallel
[ ] 11 0 0 11 / 32 1.9s Mpmcq parallel
[ ] 12 0 0 12 / 32 2.0s Mpmcq parallel
[ ] 18 0 0 18 / 32 2.1s Mpmcq parallel
[ ] 25 0 0 25 / 32 2.2s Mpmcq parallel
[ ] 27 0 0 27 / 32 2.5s Mpmcq parallel
[✓] 32 0 0 32 / 32 2.5s Mpmcq parallel
================================================================================
success (ran 2 tests)
random seed: 1299056517739501429
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpmcq sequential
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 32 0.0s Mpmcq parallel
[ ] 1 0 0 1 / 32 0.0s Mpmcq parallel
[ ] 4 0 0 4 / 32 0.3s Mpmcq parallel
[ ] 9 0 0 9 / 32 0.4s Mpmcq parallel
[ ] 10 0 0 10 / 32 0.7s Mpmcq parallel
[ ] 11 0 0 11 / 32 0.9s Mpmcq parallel
[ ] 13 0 0 13 / 32 1.1s Mpmcq parallel
[ ] 16 0 0 16 / 32 1.2s Mpmcq parallel
[ ] 19 0 0 19 / 32 1.4s Mpmcq parallel
[ ] 21 0 0 21 / 32 1.6s Mpmcq parallel
[ ] 23 0 0 23 / 32 2.0s Mpmcq parallel
[ ] 27 0 0 27 / 32 2.1s Mpmcq parallel
[ ] 29 0 0 29 / 32 2.3s Mpmcq parallel
[✓] 32 0 0 32 / 32 2.4s Mpmcq parallel
================================================================================
success (ran 2 tests)
random seed: 2053026464710625931
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpmcq sequential
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 32 0.0s Mpmcq parallel
[ ] 4 0 0 4 / 32 0.1s Mpmcq parallel
[ ] 11 0 0 11 / 32 0.2s Mpmcq parallel
[ ] 13 0 0 13 / 32 0.3s Mpmcq parallel
[ ] 19 0 0 19 / 32 0.5s Mpmcq parallel
[ ] 27 0 0 27 / 32 0.6s Mpmcq parallel
[✓] 32 0 0 32 / 32 0.6s Mpmcq parallel
================================================================================
success (ran 2 tests)
random seed: 4225421424317941694
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpmcq sequential
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 32 0.0s Mpmcq parallel
[ ] 1 0 0 1 / 32 0.1s Mpmcq parallel
[ ] 4 0 0 4 / 32 0.3s Mpmcq parallel
[ ] 10 0 0 10 / 32 0.8s Mpmcq parallel
[ ] 12 0 0 12 / 32 1.2s Mpmcq parallel
[ ] 17 0 0 17 / 32 1.3s Mpmcq parallel
[ ] 24 0 0 24 / 32 1.4s Mpmcq parallel
[ ] 28 0 0 28 / 32 2.1s Mpmcq parallel
[ ] 29 0 0 29 / 32 2.2s Mpmcq parallel
[ ] 30 0 0 30 / 32 2.5s Mpmcq parallel
[ ] 31 0 0 31 / 32 2.7s Mpmcq parallel
[ ] 32 0 0 32 / 32 2.8s Mpmcq parallel
[✓] 32 0 0 32 / 32 2.8s Mpmcq parallel
================================================================================
success (ran 2 tests)
random seed: 4297044178628710843
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpmcq sequential
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 32 0.0s Mpmcq parallel
[ ] 2 0 0 2 / 32 0.3s Mpmcq parallel
[ ] 4 0 0 4 / 32 0.4s Mpmcq parallel
[ ] 7 0 0 7 / 32 0.6s Mpmcq parallel
[ ] 10 0 0 10 / 32 0.7s Mpmcq parallel
[ ] 12 0 0 12 / 32 0.9s Mpmcq parallel
[ ] 13 0 0 13 / 32 1.0s Mpmcq parallel
[ ] 14 0 0 14 / 32 1.3s Mpmcq parallel
[ ] 16 0 0 16 / 32 1.4s Mpmcq parallel
[ ] 23 0 0 23 / 32 1.5s Mpmcq parallel
[ ] 25 0 0 25 / 32 1.8s Mpmcq parallel
[ ] 28 0 0 28 / 32 2.1s Mpmcq parallel
[✓] 32 0 0 32 / 32 2.1s Mpmcq parallel
================================================================================
success (ran 2 tests)
random seed: 2839756895765272361
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mpmcq sequential
[✓] 32 0 0 32 / 32 0.0s Mpmcq sequential
[ ] 0 0 0 0 / 32 0.0s Mpmcq parallel
[ ] 1 0 0 1 / 32 0.1s Mpmcq parallel
[ ] 3 0 0 3 / 32 0.3s Mpmcq parallel
[ ] 4 0 0 4 / 32 0.8s Mpmcq parallel
[ ] 8 0 0 8 / 32 0.9s Mpmcq parallel
[ ] 10 0 0 10 / 32 1.1s Mpmcq parallel
[ ] 13 0 0 13 / 32 1.4s Mpmcq parallel
[ ] 19 0 0 19 / 32 1.7s Mpmcq parallel
[ ] 21 0 0 21 / 32 2.0s Mpmcq parallel
[ ] 28 0 0 28 / 32 2.2s Mpmcq parallel
[ ] 30 0 0 30 / 32 2.3s Mpmcq parallel
[ ] 31 0 0 31 / 32 2.7s Mpmcq parallel
[✓] 32 0 0 32 / 32 2.7s Mpmcq parallel
================================================================================
success (ran 2 tests)
(cd _build/default/test && ./test_htbl.exe)
random seed: 2162134382378214713
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Htbl sequential
[ ] 0 0 0 0 / 32 0.0s Htbl sequential (generating)
[✓] 32 0 0 32 / 32 0.0s Htbl sequential
[ ] 0 0 0 0 / 32 0.0s Htbl parallel
[ ] 1 0 0 1 / 32 1.0s Htbl parallel
[ ] 2 0 0 2 / 32 1.8s Htbl parallel
[ ] 3 0 0 3 / 32 3.0s Htbl parallel
[ ] 4 0 0 4 / 32 4.1s Htbl parallel
[ ] 5 0 0 5 / 32 4.9s Htbl parallel
[ ] 6 0 0 6 / 32 5.9s Htbl parallel
[ ] 7 0 0 7 / 32 6.7s Htbl parallel
[ ] 8 0 0 8 / 32 7.5s Htbl parallel
[ ] 9 0 0 9 / 32 8.1s Htbl parallel
[ ] 10 0 0 10 / 32 8.6s Htbl parallel
[ ] 11 0 0 11 / 32 9.4s Htbl parallel
[ ] 12 0 0 12 / 32 10.3s Htbl parallel
[ ] 13 0 0 13 / 32 11.3s Htbl parallel
[ ] 14 0 0 14 / 32 12.3s Htbl parallel
[ ] 15 0 0 15 / 32 13.4s Htbl parallel
[ ] 16 0 0 16 / 32 14.1s Htbl parallel
[ ] 17 0 0 17 / 32 15.0s Htbl parallel
[ ] 18 0 0 18 / 32 16.3s Htbl parallel
[ ] 19 0 0 19 / 32 17.0s Htbl parallel
[ ] 20 0 0 20 / 32 18.1s Htbl parallel
[ ] 21 0 0 21 / 32 18.8s Htbl parallel
[ ] 22 0 0 22 / 32 19.6s Htbl parallel
[ ] 23 0 0 23 / 32 20.9s Htbl parallel
[ ] 24 0 0 24 / 32 21.7s Htbl parallel
[ ] 25 0 0 25 / 32 22.3s Htbl parallel
[ ] 26 0 0 26 / 32 22.9s Htbl parallel
[ ] 27 0 0 27 / 32 23.8s Htbl parallel
[ ] 28 0 0 28 / 32 24.4s Htbl parallel
[ ] 29 0 0 29 / 32 24.7s Htbl parallel
[ ] 30 0 0 30 / 32 25.4s Htbl parallel
[ ] 31 0 0 31 / 32 25.6s Htbl parallel
[ ] 32 0 0 32 / 32 25.8s Htbl parallel
[✓] 32 0 0 32 / 32 25.8s Htbl parallel
================================================================================
success (ran 2 tests)
random seed: 2409270241546876574
generated error fail pass / total time test name
[ ] 0 0 0 0 / 42 0.0s Htbl sequential
[✓] 42 0 0 42 / 42 0.0s Htbl sequential
[ ] 0 0 0 0 / 42 0.0s Htbl parallel
[ ] 1 0 0 1 / 42 0.4s Htbl parallel
[ ] 2 0 0 2 / 42 0.8s Htbl parallel
[ ] 3 0 0 3 / 42 1.2s Htbl parallel
[ ] 4 0 0 4 / 42 1.3s Htbl parallel
[ ] 5 0 0 5 / 42 1.5s Htbl parallel
[ ] 6 0 0 6 / 42 2.0s Htbl parallel
[ ] 7 0 0 7 / 42 2.1s Htbl parallel
[ ] 8 0 0 8 / 42 2.3s Htbl parallel
[ ] 9 0 0 9 / 42 2.7s Htbl parallel
[ ] 10 0 0 10 / 42 3.0s Htbl parallel
[ ] 11 0 0 11 / 42 3.5s Htbl parallel
[ ] 12 0 0 12 / 42 4.0s Htbl parallel
[ ] 13 0 0 13 / 42 4.6s Htbl parallel
[ ] 14 0 0 14 / 42 5.2s Htbl parallel
[ ] 15 0 0 15 / 42 5.8s Htbl parallel
[ ] 16 0 0 16 / 42 6.2s Htbl parallel
[ ] 17 0 0 17 / 42 6.6s Htbl parallel
[ ] 18 0 0 18 / 42 7.2s Htbl parallel
[ ] 19 0 0 19 / 42 7.7s Htbl parallel
[ ] 20 0 0 20 / 42 8.2s Htbl parallel
[ ] 21 0 0 21 / 42 8.5s Htbl parallel
[ ] 22 0 0 22 / 42 8.7s Htbl parallel
[ ] 23 0 0 23 / 42 9.0s Htbl parallel
[ ] 24 0 0 24 / 42 9.2s Htbl parallel
[ ] 25 0 0 25 / 42 9.5s Htbl parallel
[ ] 26 0 0 26 / 42 9.7s Htbl parallel
[ ] 27 0 0 27 / 42 10.1s Htbl parallel
[ ] 28 0 0 28 / 42 10.3s Htbl parallel
[ ] 29 0 0 29 / 42 10.8s Htbl parallel
[ ] 30 0 0 30 / 42 11.3s Htbl parallel
[ ] 31 0 0 31 / 42 11.8s Htbl parallel
[ ] 32 0 0 32 / 42 12.2s Htbl parallel
[ ] 33 0 0 33 / 42 12.4s Htbl parallel
[ ] 34 0 0 34 / 42 12.5s Htbl parallel
[ ] 35 0 0 35 / 42 12.6s Htbl parallel
[ ] 38 0 0 38 / 42 12.7s Htbl parallel
[✓] 42 0 0 42 / 42 12.8s Htbl parallel
================================================================================
success (ran 2 tests)
random seed: 859179642735759969
generated error fail pass / total time test name
[ ] 0 0 0 0 / 40 0.0s Htbl sequential
[✓] 40 0 0 40 / 40 0.0s Htbl sequential
[ ] 0 0 0 0 / 40 0.0s Htbl parallel
[ ] 1 0 0 1 / 40 0.0s Htbl parallel
[ ] 4 0 0 4 / 40 0.2s Htbl parallel
[ ] 6 0 0 6 / 40 0.4s Htbl parallel
[ ] 8 0 0 8 / 40 0.6s Htbl parallel
[ ] 10 0 0 10 / 40 0.8s Htbl parallel
[ ] 11 0 0 11 / 40 0.9s Htbl parallel
[ ] 12 0 0 12 / 40 1.0s Htbl parallel
[ ] 13 0 0 13 / 40 1.1s Htbl parallel
[ ] 16 0 0 16 / 40 1.3s Htbl parallel
[ ] 17 0 0 17 / 40 1.7s Htbl parallel
[ ] 18 0 0 18 / 40 1.8s Htbl parallel
[ ] 19 0 0 19 / 40 1.9s Htbl parallel
[ ] 20 0 0 20 / 40 2.0s Htbl parallel
[ ] 22 0 0 22 / 40 3.1s Htbl parallel
[ ] 23 0 0 23 / 40 3.5s Htbl parallel
[ ] 24 0 0 24 / 40 3.6s Htbl parallel
[ ] 25 0 0 25 / 40 3.9s Htbl parallel
[ ] 26 0 0 26 / 40 4.1s Htbl parallel
[ ] 27 0 0 27 / 40 4.2s Htbl parallel
[ ] 28 0 0 28 / 40 4.6s Htbl parallel
[ ] 29 0 0 29 / 40 5.1s Htbl parallel
[ ] 30 0 0 30 / 40 5.4s Htbl parallel
[ ] 31 0 0 31 / 40 5.8s Htbl parallel
[ ] 32 0 0 32 / 40 6.2s Htbl parallel
[ ] 33 0 0 33 / 40 6.3s Htbl parallel
[ ] 35 0 0 35 / 40 6.6s Htbl parallel
[ ] 36 0 0 36 / 40 7.1s Htbl parallel
[ ] 38 0 0 38 / 40 7.4s Htbl parallel
[ ] 39 0 0 39 / 40 7.6s Htbl parallel
[ ] 40 0 0 40 / 40 7.7s Htbl parallel
[✓] 40 0 0 40 / 40 7.7s Htbl parallel
================================================================================
success (ran 2 tests)
random seed: 4412515950573843269
generated error fail pass / total time test name
[ ] 0 0 0 0 / 33 0.0s Htbl sequential
[✓] 33 0 0 33 / 33 0.0s Htbl sequential
[ ] 0 0 0 0 / 33 0.0s Htbl parallel
[ ] 1 0 0 1 / 33 0.2s Htbl parallel
[ ] 2 0 0 2 / 33 0.4s Htbl parallel
[ ] 3 0 0 3 / 33 0.8s Htbl parallel
[ ] 4 0 0 4 / 33 0.9s Htbl parallel
[ ] 5 0 0 5 / 33 1.5s Htbl parallel
[ ] 7 0 0 7 / 33 1.7s Htbl parallel
[ ] 13 0 0 13 / 33 1.9s Htbl parallel
[ ] 15 0 0 15 / 33 2.0s Htbl parallel
[ ] 16 0 0 16 / 33 2.6s Htbl parallel
[ ] 17 0 0 17 / 33 2.8s Htbl parallel
[ ] 20 0 0 20 / 33 3.0s Htbl parallel
[ ] 23 0 0 23 / 33 3.1s Htbl parallel
[ ] 26 0 0 26 / 33 3.5s Htbl parallel
[ ] 28 0 0 28 / 33 3.7s Htbl parallel
[ ] 30 0 0 30 / 33 4.0s Htbl parallel
[ ] 32 0 0 32 / 33 4.3s Htbl parallel
[✓] 33 0 0 33 / 33 4.3s Htbl parallel
================================================================================
success (ran 2 tests)
random seed: 4131332609966588530
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Htbl sequential
[✓] 32 0 0 32 / 32 0.0s Htbl sequential
[ ] 0 0 0 0 / 32 0.0s Htbl parallel
[ ] 7 0 0 7 / 32 0.3s Htbl parallel
[ ] 11 0 0 11 / 32 0.5s Htbl parallel
[ ] 12 0 0 12 / 32 0.7s Htbl parallel
[ ] 13 0 0 13 / 32 0.8s Htbl parallel
[ ] 16 0 0 16 / 32 0.9s Htbl parallel
[ ] 17 0 0 17 / 32 1.1s Htbl parallel
[ ] 26 0 0 26 / 32 1.4s Htbl parallel
[ ] 28 0 0 28 / 32 1.5s Htbl parallel
[ ] 30 0 0 30 / 32 1.7s Htbl parallel
[✓] 32 0 0 32 / 32 1.7s Htbl parallel
================================================================================
success (ran 2 tests)
random seed: 1269757272960167778
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Htbl sequential
[✓] 32 0 0 32 / 32 0.0s Htbl sequential
[ ] 0 0 0 0 / 32 0.0s Htbl parallel
[ ] 4 0 0 4 / 32 0.1s Htbl parallel
[ ] 11 0 0 11 / 32 0.2s Htbl parallel
[ ] 13 0 0 13 / 32 0.5s Htbl parallel
[ ] 19 0 0 19 / 32 0.6s Htbl parallel
[ ] 27 0 0 27 / 32 0.7s Htbl parallel
[✓] 32 0 0 32 / 32 0.8s Htbl parallel
================================================================================
success (ran 2 tests)
random seed: 3679174788443422089
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Htbl sequential
[✓] 32 0 0 32 / 32 0.0s Htbl sequential
[ ] 0 0 0 0 / 32 0.0s Htbl parallel
[ ] 1 0 0 1 / 32 0.0s Htbl parallel
[ ] 4 0 0 4 / 32 0.5s Htbl parallel
[ ] 5 0 0 5 / 32 0.7s Htbl parallel
[ ] 15 0 0 15 / 32 0.8s Htbl parallel
[ ] 21 0 0 21 / 32 1.0s Htbl parallel
[ ] 27 0 0 27 / 32 1.1s Htbl parallel
[ ] 28 0 0 28 / 32 1.3s Htbl parallel
[ ] 29 0 0 29 / 32 1.7s Htbl parallel
[✓] 32 0 0 32 / 32 1.8s Htbl parallel
================================================================================
success (ran 2 tests)
random seed: 629539278011655429
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Htbl sequential
[✓] 32 0 0 32 / 32 0.0s Htbl sequential
[ ] 0 0 0 0 / 32 0.0s Htbl parallel
[ ] 5 0 0 5 / 32 0.2s Htbl parallel
[ ] 7 0 0 7 / 32 0.7s Htbl parallel
[ ] 8 0 0 8 / 32 1.0s Htbl parallel
[ ] 9 0 0 9 / 32 1.2s Htbl parallel
[ ] 10 0 0 10 / 32 1.4s Htbl parallel
[ ] 12 0 0 12 / 32 1.5s Htbl parallel
[ ] 14 0 0 14 / 32 1.7s Htbl parallel
[ ] 16 0 0 16 / 32 1.8s Htbl parallel
[ ] 17 0 0 17 / 32 1.9s Htbl parallel
[ ] 19 0 0 19 / 32 2.0s Htbl parallel
[ ] 22 0 0 22 / 32 2.2s Htbl parallel
[ ] 27 0 0 27 / 32 2.4s Htbl parallel
[ ] 31 0 0 31 / 32 2.8s Htbl parallel
[✓] 32 0 0 32 / 32 2.8s Htbl parallel
================================================================================
success (ran 2 tests)
random seed: 521676061482660057
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Htbl sequential
[✓] 32 0 0 32 / 32 0.0s Htbl sequential
[ ] 0 0 0 0 / 32 0.0s Htbl parallel
[ ] 9 0 0 9 / 32 0.2s Htbl parallel
[ ] 12 0 0 12 / 32 0.3s Htbl parallel
[ ] 20 0 0 20 / 32 0.4s Htbl parallel
[ ] 24 0 0 24 / 32 0.8s Htbl parallel
[ ] 25 0 0 25 / 32 1.0s Htbl parallel
[ ] 27 0 0 27 / 32 1.1s Htbl parallel
[ ] 30 0 0 30 / 32 1.2s Htbl parallel
[✓] 32 0 0 32 / 32 1.3s Htbl parallel
================================================================================
success (ran 2 tests)
random seed: 63484064148400964
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Htbl sequential
[✓] 32 0 0 32 / 32 0.0s Htbl sequential
[ ] 0 0 0 0 / 32 0.0s Htbl parallel
[ ] 1 0 0 1 / 32 0.5s Htbl parallel
[ ] 4 0 0 4 / 32 0.6s Htbl parallel
[ ] 5 0 0 5 / 32 1.1s Htbl parallel
[ ] 11 0 0 11 / 32 1.2s Htbl parallel
[ ] 19 0 0 19 / 32 1.3s Htbl parallel
[ ] 21 0 0 21 / 32 1.5s Htbl parallel
[ ] 23 0 0 23 / 32 1.9s Htbl parallel
[ ] 25 0 0 25 / 32 2.2s Htbl parallel
[ ] 32 0 0 32 / 32 2.3s Htbl parall
l
[✓] 32 0 0 32 / 32 2.3s Htbl parallel
================================================================================
success (ran 2 tests)
(cd _build/default/test && ./test_mutex.exe)
random seed: 2406433791180975351
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex sequential (generating)
[✓] 32 0 0 32 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex parallel
[ ] 1 0 0 1 / 32 1.5s Mutex parallel
[ ] 2 0 0 2 / 32 2.5s Mutex parallel
[ ] 3 0 0 3 / 32 3.4s Mutex parallel
[ ] 4 0 0 4 / 32 4.2s Mutex parallel
[ ] 5 0 0 5 / 32 5.2s Mutex parallel
[ ] 6 0 0 6 / 32 6.1s Mutex parallel
[ ] 7 0 0 7 / 32 7.0s Mutex parallel
[ ] 8 0 0 8 / 32 7.8s Mutex parallel
[ ] 9 0 0 9 / 32 8.4s Mutex parallel
[ ] 10 0 0 10 / 32 8.9s Mutex parallel
[ ] 11 0 0 11 / 32 9.7s Mutex parallel
[ ] 12 0 0 12 / 32 10.8s Mutex parallel
[ ] 13 0 0 13 / 32 11.8s Mutex parallel
[ ] 14 0 0 14 / 32 12.8s Mutex parallel
[ ] 15 0 0 15 / 32 13.5s Mutex parallel
[ ] 16 0 0 16 / 32 14.2s Mutex parallel
[ ] 17 0 0 17 / 32 15.3s Mutex parallel
[ ] 18 0 0 18 / 32 16.6s Mutex parallel
[ ] 19 0 0 19 / 32 17.3s Mutex parallel
[ ] 20 0 0 20 / 32 18.4s Mutex parallel
[ ] 21 0 0 21 / 32 19.3s Mutex parallel
[ ] 22 0 0 22 / 32 20.3s Mutex parallel
[ ] 23 0 0 23 / 32 20.8s Mutex parallel
[ ] 24 0 0 24 / 32 21.8s Mutex parallel
[ ] 25 0 0 25 / 32 22.3s Mutex parallel
[ ] 26 0 0 26 / 32 23.0s Mutex parallel
[ ] 27 0 0 27 / 32 24.0s Mutex parallel
[ ] 28 0 0 28 / 32 24.5s Mutex parallel
[ ] 29 0 0 29 / 32 24.9s Mutex parallel
[ ] 30 0 0 30 / 32 25.1s Mutex parallel
[ ] 31 0 0 31 / 32 25.4s Mutex parallel
[ ] 32 0 0 32 / 32 25.9s Mutex parallel
[✓] 32 0 0 32 / 32 25.9s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 23490573407384725
generated error fail pass / total time test name
[ ] 0 0 0 0 / 42 0.0s Mutex sequential
[✓] 42 0 0 42 / 42 0.0s Mutex sequential
[ ] 0 0 0 0 / 42 0.0s Mutex parallel
[ ] 1 0 0 1 / 42 0.4s Mutex parallel
[ ] 2 0 0 2 / 42 0.7s Mutex parallel
[ ] 3 0 0 3 / 42 1.0s Mutex parallel
[ ] 4 0 0 4 / 42 1.3s Mutex parallel
[ ] 5 0 0 5 / 42 1.5s Mutex parallel
[ ] 6 0 0 6 / 42 1.9s Mutex parallel
[ ] 7 0 0 7 / 42 2.1s Mutex parallel
[ ] 8 0 0 8 / 42 2.8s Mutex parallel
[ ] 9 0 0 9 / 42 3.4s Mutex parallel
[ ] 10 0 0 10 / 42 4.0s Mutex parallel
[ ] 11 0 0 11 / 42 4.6s Mutex parallel
[ ] 12 0 0 12 / 42 5.2s Mutex parallel
[ ] 13 0 0 13 / 42 5.7s Mutex parallel
[ ] 14 0 0 14 / 42 6.2s Mutex parallel
[ ] 15 0 0 15 / 42 6.7s Mutex parallel
[ ] 16 0 0 16 / 42 7.3s Mutex parallel
[ ] 17 0 0 17 / 42 7.9s Mutex parallel
[ ] 18 0 0 18 / 42 8.5s Mutex parallel
[ ] 19 0 0 19 / 42 8.7s Mutex parallel
[ ] 20 0 0 20 / 42 8.9s Mutex parallel
[ ] 21 0 0 21 / 42 9.2s Mutex parallel
[ ] 22 0 0 22 / 42 9.5s Mutex parallel
[ ] 23 0 0 23 / 42 9.7s Mutex parallel
[ ] 24 0 0 24 / 42 9.9s Mutex parallel
[ ] 25 0 0 25 / 42 10.1s Mutex parallel
[ ] 26 0 0 26 / 42 10.7s Mutex parallel
[ ] 27 0 0 27 / 42 11.0s Mutex parallel
[ ] 28 0 0 28 / 42 11.3s Mutex parallel
[ ] 29 0 0 29 / 42 11.6s Mutex parallel
[ ] 30 0 0 30 / 42 12.0s Mutex parallel
[ ] 31 0 0 31 / 42 12.3s Mutex parallel
[ ] 33 0 0 33 / 42 12.4s Mutex parallel
[ ] 36 0 0 36 / 42 12.6s Mutex parallel
[ ] 37 0 0 37 / 42 12.8s Mutex parallel
[ ] 39 0 0 39 / 42 13.1s Mutex parallel
[ ] 40 0 0 40 / 42 13.2s Mutex parallel
[ ] 41 0 0 41 / 42 13.3s Mutex parallel
[✓] 42 0 0 42 / 42 13.3s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 2851603602984416554
generated error fail pass / total time test name
[ ] 0 0 0 0 / 39 0.0s Mutex sequential
[✓] 39 0 0 39 / 39 0.0s Mutex sequential
[ ] 0 0 0 0 / 39 0.0s Mutex parallel
[ ] 1 0 0 1 / 39 0.2s Mutex parallel
[ ] 2 0 0 2 / 39 0.4s Mutex parallel
[ ] 3 0 0 3 / 39 0.5s Mutex parallel
[ ] 5 0 0 5 / 39 0.6s Mutex parallel
[ ] 6 0 0 6 / 39 1.1s Mutex parallel
[ ] 8 0 0 8 / 39 1.3s Mutex parallel
[ ] 10 0 0 10 / 39 1.7s Mutex parallel
[ ] 12 0 0 12 / 39 1.8s Mutex parallel
[ ] 13 0 0 13 / 39 2.2s Mutex parallel
[ ] 14 0 0 14 / 39 2.3s Mutex parallel
[ ] 16 0 0 16 / 39 2.9s Mutex parallel
[ ] 17 0 0 17 / 39 3.3s Mutex parallel
[ ] 18 0 0 18 / 39 3.5s Mutex parallel
[ ] 19 0 0 19 / 39 4.1s Mutex parallel
[ ] 20 0 0 20 / 39 4.6s Mutex parallel
[ ] 21 0 0 21 / 39 4.8s Mutex parallel
[ ] 22 0 0 22 / 39 5.1s Mutex parallel
[ ] 23 0 0 23 / 39 5.2s Mutex parallel
[ ] 24 0 0 24 / 39 5.4s Mutex parallel
[ ] 25 0 0 25 / 39 5.5s Mutex parallel
[ ] 26 0 0 26 / 39 5.8s Mutex parallel
[ ] 27 0 0 27 / 39 6.0s Mutex parallel
[ ] 29 0 0 29 / 39 6.2s Mutex parallel
[ ] 30 0 0 30 / 39 6.4s Mutex parallel
[ ] 31 0 0 31 / 39 6.5s Mutex parallel
[ ] 32 0 0 32 / 39 6.7s Mutex parallel
[ ] 33 0 0 33 / 39 7.2s Mutex parallel
[ ] 34 0 0 34 / 39 7.4s Mutex parallel
[ ] 35 0 0 35 / 39 7.6s Mutex parallel
[ ] 36 0 0 36 / 39 7.8s Mutex parallel
[ ] 37 0 0 37 / 39 8.0s Mutex parallel
[ ] 38 0 0 38 / 39 8.4s Mutex parallel
[ ] 39 0 0 39 / 39 8.6s Mutex parallel
[✓] 39 0 0 39 / 39 8.6s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 1749833348661860427
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mutex sequential
[✓] 32 0 0 32 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex parallel
[ ] 3 0 0 3 / 32 0.1s Mutex parallel
[ ] 6 0 0 6 / 32 0.5s Mutex parallel
[ ] 7 0 0 7 / 32 0.9s Mutex parallel
[ ] 8 0 0 8 / 32 1.1s Mutex parallel
[ ] 11 0 0 11 / 32 1.2s Mutex parallel
[ ] 13 0 0 13 / 32 1.3s Mutex parallel
[ ] 14 0 0 14 / 32 1.5s Mutex parallel
[ ] 16 0 0 16 / 32 1.6s Mutex parallel
[ ] 18 0 0 18 / 32 1.9s Mutex parallel
[ ] 20 0 0 20 / 32 2.1s Mutex parallel
[ ] 21 0 0 21 / 32 2.5s Mutex parallel
[ ] 28 0 0 28 / 32 2.6s Mutex parallel
[✓] 32 0 0 32 / 32 2.7s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 2145900855063069194
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mutex sequential
[✓] 32 0 0 32 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex parallel
[ ] 2 0 0 2 / 32 0.0s Mutex parallel
[ ] 7 0 0 7 / 32 0.1s Mutex parallel
[ ] 11 0 0 11 / 32 0.3s Mutex parallel
[ ] 13 0 0 13 / 32 0.4s Mutex parallel
[ ] 14 0 0 14 / 32 0.9s Mutex parallel
[ ] 16 0 0 16 / 32 1.1s Mutex parallel
[ ] 19 0 0 19 / 32 1.3s Mutex parallel
[ ] 24 0 0 24 / 32 1.4s Mutex parallel
[ ] 29 0 0 29 / 32 1.5s Mutex parallel
[ ] 31 0 0 31 / 32 1.8s Mutex parallel
[✓] 32 0 0 32 / 32 1.8s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 2902242122347297520
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mutex sequential
[✓] 32 0 0 32 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex parallel
[ ] 7 0 0 7 / 32 0.1s Mutex parallel
[ ] 12 0 0 12 / 32 0.5s Mutex parallel
[ ] 15 0 0 15 / 32 0.6s Mutex parallel
[ ] 20 0 0 20 / 32 0.8s Mutex parallel
[ ] 24 0 0 24 / 32 0.9s Mutex parallel
[ ] 30 0 0 30 / 32 1.0s Mutex parallel
[✓] 32 0 0 32 / 32 1.0s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 3287460486517744504
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mutex sequential
[✓] 32 0 0 32 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex parallel
[ ] 8 0 0 8 / 32 0.1s Mutex parallel
[ ] 13 0 0 13 / 32 0.2s Mutex parallel
[ ] 17 0 0 17 / 32 0.6s Mutex parallel
[ ] 22 0 0 22 / 32 0.7s Mutex parallel
[ ] 24 0 0 24 / 32 0.9s Mutex parallel
[ ] 31 0 0 31 / 32 1.0s Mutex parallel
[✓] 32 0 0 32 / 32 1.0s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 1991341927751691284
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mutex sequential
[✓] 32 0 0 32 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex parallel
[ ] 3 0 0 3 / 32 0.2s Mutex parallel
[ ] 10 0 0 10 / 32 0.3s Mutex parallel
[ ] 12 0 0 12 / 32 0.5s Mutex parallel
[ ] 13 0 0 13 / 32 0.8s Mutex parallel
[ ] 17 0 0 17 / 32 0.9s Mutex parallel
[ ] 23 0 0 23 / 32 1.2s Mutex parallel
[ ] 25 0 0 25 / 32 1.6s Mutex parallel
[ ] 26 0 0 26 / 32 1.7s Mutex parallel
[ ] 28 0 0 28 / 32 1.9s Mutex parallel
[ ] 30 0 0 30 / 32 2.0s Mutex parallel
[✓] 32 0 0 32 / 32 2.1s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 2551862544031462887
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mutex sequential
[✓] 32 0 0 32 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex parallel
[ ] 1 0 0 1 / 32 0.0s Mutex parallel
[ ] 4 0 0 4 / 32 0.2s Mutex parallel
[ ] 6 0 0 6 / 32 0.3s Mutex parallel
[ ] 9 0 0 9 / 32 0.5s Mutex parallel
[ ] 12 0 0 12 / 32 0.6s Mutex parallel
[ ] 15 0 0 15 / 32 0.8s Mutex parallel
[ ] 17 0 0 17 / 32 0.9s Mutex parallel
[ ] 20 0 0 20 / 32 1.1s Mutex parallel
[ ] 23 0 0 23 / 32 1.2s Mutex parallel
[ ] 25 0 0 25 / 32 1.3s Mutex parallel
[ ] 31 0 0 31 / 32 1.4s Mutex parallel
[✓] 32 0 0 32 / 32 1.4s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 3242045387884866680
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mutex sequential
[✓] 32 0 0 32 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex parallel
[ ] 8 0 0 8 / 32 0.2s Mutex parallel
[ ] 10 0 0 10 / 32 0.6s Mutex parallel
[ ] 16 0 0 16 / 32 0.7s Mutex parallel
[ ] 21 0 0 21 / 32 1.0s Mutex parallel
[ ] 25 0 0 25 / 32 1.2s Mutex parallel
[ ] 29 0 0 29 / 32 1.3s Mutex parallel
[ ] 30 0 0 30 / 32 1.4s Mutex parallel
[✓] 32 0 0 32 / 32 1.5s Mutex parallel
================================================================================
success (ran 2 tests)
random seed: 2193988043067389047
generated error fail pass / total time test name
[ ] 0 0 0 0 / 32 0.0s Mutex sequential
[✓] 32 0 0 32 / 32 0.0s Mutex sequential
[ ] 0 0 0 0 / 32 0.0s Mutex parallel
[ ] 1 0 0 1 / 32 0.0s Mutex parallel
[ ] 2 0 0 2 / 32 0.4s Mutex parallel
[ ] 3 0 0 3 / 32 0.5s Mutex parallel
[ ] 5 0 0 5 / 32 0.6s Mutex parallel
[ ] 7 0 0 7 / 32 1.0s Mutex parallel
[ ] 11 0 0 11 / 32 1.1s Mutex parallel
[ ] 19 0 0 19 / 32 1.3s Mutex parallel
[ ] 20 0 0 20 / 32 1.4s Mutex parallel
[ ] 25 0 0 25 / 32 1.5s Mutex parallel
[ ] 26 0 0 26 / 32 1.8s Mutex parallel
[ ] 30 0 0 30 / 32 2.0s Mutex parallel
[✓] 32 0 0 32 / 32 2.1s Mutex parallel
================================================================================
success (ran 2 tests)
(cd _build/default/bench && ./main.exe -brief Picos_htbl)
Picos_htbl:
operations over time/1 worker, 10% reads:
9.93 M/s
operations over time/1 worker, 50% reads:
10.81 M/s
operations over time/1 worker, 90% reads:
14.89 M/s
operations over time/2 workers, 10% reads:
12.88 M/s
operations over time/2 workers, 50% reads:
16.71 M/s
operations over time/2 workers, 90% reads:
32.91 M/s
operations over time/4 workers, 10% reads:
26.39 M/s
operations over time/4 workers, 50% reads:
29.76 M/s
operations over time/4 workers, 90% reads:
50.94 M/s
operations over time/8 workers, 10% reads:
46.74 M/s
operations over time/8 workers, 50% reads:
49.14 M/s
operations over time/8 workers, 90% reads:
78.57 M/s
time per operation/1 worker, 10% reads:
100.73 ns
time per operation/1 worker, 50% reads:
92.48 ns
time per operation/1 worker, 90% reads:
67.17 ns
time per operation/2 workers, 10% reads:
155.33 ns
time per operation/2 workers, 50% reads:
119.72 ns
time per operation/2 workers, 90% reads:
60.76 ns
time per operation/4 workers, 10% reads:
151.58 ns
time per operation/4 workers, 50% reads:
134.39 ns
time per operation/4 workers, 90% reads:
78.52 ns
time per operation/8 workers, 10% reads:
171.17 ns
time per operation/8 workers, 50% reads:
162.80 ns
time per operation/8 workers, 90% reads:
101.82 ns
(cd _build/default/bench && ./main.exe -brief 'Hashtbl with Picos_std_sync')
Hashtbl with Picos_std_sync:
operations over time/1 worker, 10% reads with Lock:
10.92 M/s
operations over time/1 worker, 10% reads with Rwlock:
6.41 M/s
operations over time/1 worker, 10% reads with Sem:
7.51 M/s
operations over time/1 worker, 100% reads with Lock:
8.55 M/s
operations over time/1 worker, 100% reads with Rwlock:
7.77 M/s
operations over time/1 worker, 100% reads with Sem:
9.03 M/s
operations over time/1 worker, 50% reads with Lock:
7.49 M/s
operations over time/1 worker, 50% reads with Rwlock:
7.01 M/s
operations over time/1 worker, 50% reads with Sem:
11.27 M/s
operations over time/1 worker, 90% reads with Lock:
8.33 M/s
operations over time/1 worker, 90% reads with Rwlock:
7.00 M/s
operations over time/1 worker, 90% reads with Sem:
10.93 M/s
operations over time/1 worker, 95% reads with Lock:
8.31 M/s
operations over time/1 worker, 95% reads with Rwlock:
7.30 M/s
operations over time/1 worker, 95% reads with Sem:
11.09 M/s
operations over time/2 workers, 10% reads with Lock:
3.22 M/s
operations over time/2 workers, 10% reads with Rwlock:
4.96 M/s
operations over time/2 workers, 10% reads with Sem:
4.09 M/s
operations over time/2 workers, 100% reads with Lock:
6.84 M/s
operations over time/2 workers, 100% reads with Rwlock:
12.66 M/s
operations over time/2 workers, 100% reads with Sem:
5.82 M/s
operations over time/2 workers, 50% reads with Lock:
3.53 M/s
operations over time/2 workers, 50% reads with Rwlock:
3.99 M/s
operations over time/2 workers, 50% reads with Sem:
3.42 M/s
operations over time/2 workers, 90% reads with Lock:
4.91 M/s
operations over time/2 workers, 90% reads with Rwlock:
2.65 M/s
operations over time/2 workers, 90% reads with Sem:
5.26 M/s
operations over time/2 workers, 95% reads with Lock:
5.80 M/s
operations over time/2 workers, 95% reads with Rwlock:
8.30 M/s
operations over time/2 workers, 95% reads with Sem:
5.45 M/s
operations over time/4 workers, 10% reads with Lock:
3.55 M/s
operations over time/4 workers, 10% reads with Rwlock:
3.51 M/s
operations over time/4 workers, 10% reads with Sem:
2.00 M/s
operations over time/4 workers, 100% reads with Lock:
4.67 M/s
operations over time/4 workers, 100% reads with Rwlock:
4.08 M/s
operations over time/4 workers, 100% reads with Sem:
3.08 M/s
operations over time/4 workers, 50% reads with Lock:
3.39 M/s
operations over time/4 workers, 50% reads with Rwlock:
3.72 M/s
operations over time/4 workers, 50% reads with Sem:
1.38 M/s
operations over time/4 workers, 90% reads with Lock:
4.14 M/s
operations over time/4 workers, 90% reads with Rwlock:
2.59 M/s
operations over time/4 workers, 90% reads with Sem:
3.03 M/s
operations over time/4 workers, 95% reads with Lock:
4.16 M/s
operations over time/4 workers, 95% reads with Rwlock:
3.09 M/s
operations over time/4 workers, 95% reads with Sem:
1.80 M/s
operations over time/8 workers, 10% reads with Lock:
2.69 M/s
operations over time/8 workers, 10% reads with Rwlock:
1.68 M/s
operations over time/8 workers, 10% reads with Sem:
1.82 M/s
operations over time/8 workers, 100% reads with Lock:
3.55 M/s
operations over time/8 workers, 100% reads with Rwlock:
15.87 M/s
operations over time/8 workers, 100% reads with Sem:
2.72 M/s
operations over time/8 workers, 50% reads with Lock:
2.33 M/s
operations over time/8 workers, 50% reads with Rwlock:
1.55 M/s
operations over time/8 workers, 50% reads with Sem:
3.16 M/s
operations over time/8 workers, 90% reads with Lock:
3.26 M/s
operations over time/8 workers, 90% reads with Rwlock:
5.65 M/s
operations over time/8 workers, 90% reads with Sem:
3.22 M/s
operations over time/8 workers, 95% reads with Lock:
3.42 M/s
operations over time/8 workers, 95% reads with Rwlock:
4.74 M/s
operations over time/8 workers, 95% reads with Sem:
2.84 M/s
time per operation/1 worker, 10% reads with Lock:
91.58 ns
time per operation/1 worker, 10% reads with Rwlock:
155.93 ns
time per operation/1 worker, 10% reads with Sem:
133.12 ns
time per operation/1 worker, 100% reads with Lock:
116.94 ns
time per operation/1 worker, 100% reads with Rwlock:
128.68 ns
time per operation/1 worker, 100% reads with Sem:
110.70 ns
time per operation/1 worker, 50% reads with Lock:
133.57 ns
time per operation/1 worker, 50% reads with Rwlock:
142.71 ns
time per operation/1 worker, 50% reads with Sem:
88.74 ns
time per operation/1 worker, 90% reads with Lock:
120.00 ns
time per operation/1 worker, 90% reads with Rwlock:
142.83 ns
time per operation/1 worker, 90% reads with Sem:
91.53 ns
time per operation/1 worker, 95% reads with Lock:
120.34 ns
time per operation/1 worker, 95% reads with Rwlock:
137.07 ns
time per operation/1 worker, 95% reads with Sem:
90.13 ns
time per operation/2 workers, 10% reads with Lock:
621.49 ns
time per operation/2 workers, 10% reads with Rwlock:
403.12 ns
time per operation/2 workers, 10% reads with Sem:
488.58 ns
time per operation/2 workers, 100% reads with Lock:
292.61 ns
time per operation/2 workers, 100% reads with Rwlock:
157.96 ns
time per operation/2 workers, 100% reads with Sem:
343.70 ns
time per operation/2 workers, 50% reads with Lock:
566.31 ns
time per operation/2 workers, 50% reads with Rwlock:
500.86 ns
time per operation/2 workers, 50% reads with Sem:
585.51 ns
time per operation/2 workers, 90% reads with Lock:
407.69 ns
time per operation/2 workers, 90% reads with Rwlock:
755.60 ns
time per operation/2 workers, 90% reads with Sem:
380.17 ns
time per operation/2 workers, 95% reads with Lock:
344.87 ns
time per operation/2 workers, 95% reads with Rwlock:
240.99 ns
time per operation/2 workers, 95% reads with Sem:
366.68 ns
time per operation/4 workers, 10% reads with Lock:
1127.34 ns
time per operation/4 workers, 10% reads with Rwlock:
1139.20 ns
time per operation/4 workers, 10% reads with Sem:
1998.73 ns
time per operation/4 workers, 100% reads with Lock:
856.97 ns
time per operation/4 workers, 100% reads with Rwlock:
979.95 ns
time per operation/4 workers, 100% reads with Sem:
1299.84 ns
time per operation/4 workers, 50% reads with Lock:
1180.13 ns
time per operation/4 workers, 50% reads with Rwlock:
1074.33 ns
time per operation/4 workers, 50% reads with Sem:
2894.40 ns
time per operation/4 workers, 90% reads with Lock:
965.87 ns
time per operation/4 workers, 90% reads with Rwlock:
1545.47 ns
time per operation/4 workers, 90% reads with Sem:
1319.49 ns
time per operation/4 workers, 95% reads with Lock:
961.61 ns
time per operation/4 workers, 95% reads with Rwlock:
1293.33 ns
time per operation/4 workers, 95% reads with Sem:
2218.50 ns
time per operation/8 workers, 10% reads with Lock:
2969.49 ns
time per operation/8 workers, 10% reads with Rwlock:
4770.35 ns
time per operation/8 workers, 10% reads with Sem:
4396.76 ns
time per operation/8 workers, 100% reads with Lock:
2251.99 ns
time per operation/8 workers, 100% reads with Rwlock:
503.97 ns
time per operation/8 workers, 100% reads with Sem:
2944.69 ns
time per operation/8 workers, 50% reads with Lock:
3437.67 ns
time per operation/8 workers, 50% reads with Rwlock:
5167.11 ns
time per operation/8 workers, 50% reads with Sem:
2528.57 ns
time per operation/8 workers, 90% reads with Lock:
2457.12 ns
time per operation/8 workers, 90% reads with Rwlock:
1415.07 ns
time per operation/8 workers, 90% reads with Sem:
2483.17 ns
time per operation/8 workers, 95% reads with Lock:
2337.02 ns
time per operation/8 workers, 95% reads with Rwlock:
1689.14 ns
time per operation/8 workers, 95% reads with Sem:
2820.58 ns
(cd _build/default/bench && ./main.exe -brief Picos_stdio)
Picos_stdio:
blocking reads over time/1 worker:
0.12 M/s
blocking reads over time/2 workers:
0.21 M/s
blocking reads over time/4 workers:
0.28 M/s
non-blocking reads over time/1 worker:
0.91 M/s
non-blocking reads over time/2 workers:
1.75 M/s
non-blocking reads over time/4 workers:
3.43 M/s
time per blocking read/1 worker:
8484.90 ns
time per blocking read/2 workers:
9394.63 ns
time per blocking read/4 workers:
14258.32 ns
time per non-blocking read/1 worker:
1097.18 ns
time per non-blocking read/2 workers:
1143.25 ns
time per non-blocking read/4 workers:
1166.80 ns
(cd _build/default/bench && ./main.exe -brief 'Picos_sync Stream')
Picos_sync Stream:
messages over time/1 nb pusher, 1 nb reader:
5.63 M/s
messages over time/2 nb pushers, 1 nb reader:
3.37 M/s
messages over time/4 nb pushers, 1 nb reader:
5.01 M/s
messages over time/one domain:
6.25 M/s
time per message/1 nb pusher, 1 nb reader:
354.98 ns
time per message/2 nb pushers, 1 nb reader:
891.53 ns
time per message/4 nb pushers, 1 nb reader:
997.40 ns
time per message/one domain:
160.05 ns
(cd _build/default/bench && ./main.exe -brief Fib)
Fib:
spawns over time/1 mfifo, fib 20:
0.55 M/s
spawns over time/1 rando, fib 20:
0.47 M/s
spawns over time/2 mfifos, fib 20:
1.39 M/s
spawns over time/2 randos, fib 20:
0.71 M/s
spawns over time/4 mfifos, fib 20:
2.25 M/s
spawns over time/4 randos, fib 20:
1.11 M/s
spawns over time/8 mfifos, fib 20:
2.55 M/s
spawns over time/8 randos, fib 20:
1.06 M/s
time per spawn/1 mfifo, fib 20:
1814.10 ns
time per spawn/1 rando, fib 20:
2109.02 ns
time per spawn/2 mfifos, fib 20:
1438.91 ns
time per spawn/2 randos, fib 20:
2833.32 ns
time per spawn/4 mfifos, fib 20:
1775.41 ns
time per spawn/4 randos, fib 20:
3602.67 ns
time per spawn/8 mfifos, fib 20:
3135.30 ns
time per spawn/8 randos, fib 20:
7578.17 ns
(cd _build/default/bench && ./main.exe -brief 'Picos binaries')
Picos binaries:
binary size/picos:
95.08 kB
binary size/picos.domain:
5.16 kB
binary size/picos.thread:
4.60 kB
binary size/picos_aux.htbl:
58.28 kB
binary size/picos_aux.mpmcq:
17.18 kB
binary size/picos_aux.mpscq:
20.56 kB
binary size/picos_aux.rc:
20.22 kB
binary size/picos_io:
116.29 kB
binary size/picos_io.fd:
10.81 kB
binary size/picos_io.select:
65.20 kB
binary size/picos_io_cohttp:
48.64 kB
binary size/picos_lwt:
30.12 kB
binary size/picos_lwt.unix:
16.20 kB
binary size/picos_mux.fifo:
30.44 kB
binary size/picos_mux.multififo:
65.86 kB
binary size/picos_mux.random:
53.16 kB
binary size/picos_mux.thread:
26.88 kB
binary size/picos_std.awaitable:
36.58 kB
binary size/picos_std.event:
26.30 kB
binary size/picos_std.finally:
20.88 kB
binary size/picos_std.structured:
93.88 kB
binary size/picos_std.sync:
222.79 kB
(cd _build/default/bench && ./main.exe -brief 'Bounded_q with Picos_std_sync')
Bounded_q with Picos_std_sync:
messages over time/1 adder, 1 taker with Lock:
3.17 M/s
messages over time/1 adder, 2 takers with Lock:
1.42 M/s
messages over time/1 adder, 4 takers with Lock:
0.19 M/s
messages over time/2 adders, 1 taker with Lock:
2.82 M/s
messages over time/2 adders, 2 takers with Lock:
1.68 M/s
messages over time/2 adders, 4 takers with Lock:
1.12 M/s
messages over time/4 adders, 1 taker with Lock:
2.71 M/s
messages over time/4 adders, 2 takers with Lock:
1.86 M/s
messages over time/4 adders, 4 takers with Lock:
1.31 M/s
messages over time/one domain with Lock:
9.05 M/s
time per message/1 adder, 1 taker with Lock:
653.67 ns
time per message/1 adder, 2 takers with Lock:
2113.43 ns
time per message/1 adder, 4 takers with Lock:
26818.06 ns
time per message/2 adders, 1 taker with Lock:
1062.38 ns
time per message/2 adders, 2 takers with Lock:
2383.96 ns
time per message/2 adders, 4 takers with Lock:
5384.37 ns
time per message/4 adders, 1 taker with Lock:
1844.28 ns
time per message/4 adders, 2 takers with Lock:
3228.62 ns
time per message/4 adders, 4 takers with Lock:
6104.11 ns
time per message/one domain with Lock:
110.52 ns
(cd _build/default/bench && ./main.exe -brief 'Memory usage')
Memory usage:
stack and heap used/Fun.protect:
80.00 B
stack and heap used/fiber in a bundle:
232.00 B
stack and heap used/fiber in a flock:
248.00 B
stack and heap used/fiber with shared computation & latch:
232.00 B
stack and heap used/finally:
40.00 B
stack and heap used/instantiate:
96.00 B
stack and heap used/join_after bundle:
264.00 B
stack and heap used/join_after flock:
264.00 B
stack and heap used/lastly:
32.00 B
stack and heap used/promise in a bundle:
352.00 B
stack and heap used/promise in a flock:
368.00 B
(cd _build/default/bench && ./main.exe -brief Stack)
Stack:
messages over time/1 nb adder, 1 nb taker:
21.88 M/s
messages over time/1 nb adder, 2 nb takers:
15.67 M/s
messages over time/1 nb adder, 4 nb takers:
17.46 M/s
messages over time/2 nb adders, 1 nb taker:
10.63 M/s
messages over time/2 nb adders, 2 nb takers:
11.36 M/s
messages over time/2 nb adders, 4 nb takers:
7.24 M/s
messages over time/4 nb adders, 1 nb taker:
9.05 M/s
messages over time/4 nb adders, 2 nb takers:
14.78 M/s
messages over time/4 nb adders, 4 nb takers:
11.85 M/s
messages over time/one domain:
14.01 M/s
time per message/1 nb adder, 1 nb taker:
91.39 ns
time per message/1 nb adder, 2 nb takers:
191.50 ns
time per message/1 nb adder, 4 nb takers:
286.37 ns
time per message/2 nb adders, 1 nb taker:
282.27 ns
time per message/2 nb adders, 2 nb takers:
352.02 ns
time per message/2 nb adders, 4 nb takers:
829.19 ns
time per message/4 nb adders, 1 nb taker:
552.70 ns
time per message/4 nb adders, 2 nb takers:
405.98 ns
time per message/4 nb adders, 4 nb takers:
675.38 ns
time per message/one domain:
71.40 ns
2025-05-02 17:43.54 ---> saved as "65654090dcd7e7e8fe55c49b542c35b80d9cf7dbb0a23b229d77552db43eba61"
Job succeeded
2025-05-02 17:43.55: Job succeeded